From eb9478c7877ceafeca7dbe5cedcc536003f9b1d9 Mon Sep 17 00:00:00 2001 From: Fabien Servant Date: Fri, 10 Jan 2025 16:09:47 +0100 Subject: [PATCH 1/4] Update sfm pipeline to accept meshes --- meshroom/nodes/aliceVision/RelativePoseEstimating.py | 10 +++++++++- meshroom/nodes/aliceVision/SfmBootstraping.py | 6 ++++++ meshroom/nodes/aliceVision/SfmExpanding.py | 6 ++++++ meshroom/pipelines/nodalCameraTracking.mg | 2 +- .../pipelines/nodalCameraTrackingWithoutCalibration.mg | 2 +- 5 files changed, 23 insertions(+), 3 deletions(-) diff --git a/meshroom/nodes/aliceVision/RelativePoseEstimating.py b/meshroom/nodes/aliceVision/RelativePoseEstimating.py index 94254ffaf6..cf231fe538 100644 --- a/meshroom/nodes/aliceVision/RelativePoseEstimating.py +++ b/meshroom/nodes/aliceVision/RelativePoseEstimating.py @@ -1,4 +1,4 @@ -__version__ = "2.0" +__version__ = "3.0" from meshroom.core import desc from meshroom.core.utils import DESCRIBER_TYPES, VERBOSE_LEVEL @@ -34,6 +34,14 @@ class RelativePoseEstimating(desc.AVCommandLineNode): description="Enforce pure rotation as a model", value=False, ), + desc.IntParam( + name="countIterations", + label="Ransac max iterations", + description="Maximal number of iterations.", + value=1024, + range=(1024, 500000, 1), + advanced=True, + ), desc.ChoiceParam( name="verboseLevel", label="Verbose Level", diff --git a/meshroom/nodes/aliceVision/SfmBootstraping.py b/meshroom/nodes/aliceVision/SfmBootstraping.py index c2eeaefb83..4279ac16a5 100644 --- a/meshroom/nodes/aliceVision/SfmBootstraping.py +++ b/meshroom/nodes/aliceVision/SfmBootstraping.py @@ -25,6 +25,12 @@ class SfMBootStraping(desc.AVCommandLineNode): description="Tracks file.", value="", ), + desc.File( + name="meshFilename", + label="Mesh File", + description="Mesh file (*.obj).", + value="", + ), desc.File( name="pairs", label="Pairs File", diff --git a/meshroom/nodes/aliceVision/SfmExpanding.py b/meshroom/nodes/aliceVision/SfmExpanding.py index f96cefed69..d58d1a3008 100644 --- a/meshroom/nodes/aliceVision/SfmExpanding.py +++ b/meshroom/nodes/aliceVision/SfmExpanding.py @@ -28,6 +28,12 @@ class SfMExpanding(desc.AVCommandLineNode): description="Tracks file.", value="", ), + desc.File( + name="meshFilename", + label="Mesh File", + description="Mesh file (*.obj).", + value="", + ), desc.IntParam( name="localizerEstimatorMaxIterations", label="Localizer Max Ransac Iterations", diff --git a/meshroom/pipelines/nodalCameraTracking.mg b/meshroom/pipelines/nodalCameraTracking.mg index 2e7b6c6b7f..6468654788 100644 --- a/meshroom/pipelines/nodalCameraTracking.mg +++ b/meshroom/pipelines/nodalCameraTracking.mg @@ -18,7 +18,7 @@ "ImageSegmentationBox": "0.1", "NodalSfM": "2.0", "Publish": "1.3", - "RelativePoseEstimating": "2.0", + "RelativePoseEstimating": "3.0", "ScenePreview": "2.0", "TracksBuilding": "1.0" } diff --git a/meshroom/pipelines/nodalCameraTrackingWithoutCalibration.mg b/meshroom/pipelines/nodalCameraTrackingWithoutCalibration.mg index b67064aba8..ba9afc9d30 100644 --- a/meshroom/pipelines/nodalCameraTrackingWithoutCalibration.mg +++ b/meshroom/pipelines/nodalCameraTrackingWithoutCalibration.mg @@ -16,7 +16,7 @@ "ImageSegmentationBox": "0.1", "NodalSfM": "2.0", "Publish": "1.3", - "RelativePoseEstimating": "2.0", + "RelativePoseEstimating": "3.0", "ScenePreview": "2.0", "TracksBuilding": "1.0" } From 616d7598a000ec999be9498b79088889b8f65cef Mon Sep 17 00:00:00 2001 From: Fabien Servant Date: Tue, 14 Jan 2025 10:48:35 +0100 Subject: [PATCH 2/4] add minInliers parameter (optional) --- meshroom/nodes/aliceVision/RelativePoseEstimating.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/meshroom/nodes/aliceVision/RelativePoseEstimating.py b/meshroom/nodes/aliceVision/RelativePoseEstimating.py index cf231fe538..2ec076c07b 100644 --- a/meshroom/nodes/aliceVision/RelativePoseEstimating.py +++ b/meshroom/nodes/aliceVision/RelativePoseEstimating.py @@ -42,6 +42,14 @@ class RelativePoseEstimating(desc.AVCommandLineNode): range=(1024, 500000, 1), advanced=True, ), + desc.IntParam( + name="minInliers", + label="Ransac min inliers", + description="Minimal allowed inliers in two view relationship.", + value=35, + range=(1, 1000, 1), + advanced=True, + ), desc.ChoiceParam( name="verboseLevel", label="Verbose Level", From 6f254ebbb94ee5dff097ba887cadbe1ddd6660dd Mon Sep 17 00:00:00 2001 From: Fabien Servant Date: Tue, 14 Jan 2025 11:18:14 +0100 Subject: [PATCH 3/4] Filters for exportMatches --- meshroom/nodes/aliceVision/ExportMatches.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/meshroom/nodes/aliceVision/ExportMatches.py b/meshroom/nodes/aliceVision/ExportMatches.py index 7e1b7d93d6..5692a18c77 100644 --- a/meshroom/nodes/aliceVision/ExportMatches.py +++ b/meshroom/nodes/aliceVision/ExportMatches.py @@ -50,6 +50,18 @@ class ExportMatches(desc.AVCommandLineNode): label="Matches Folders", description="Folder(s) in which computed matches are stored.", ), + desc.File( + name="filterA", + label="filter A", + description="One item of the pair must match this.", + value="", + ), + desc.File( + name="filterB", + label="filter B", + description="One item of the pair must match this.", + value="", + ), desc.ChoiceParam( name="verboseLevel", label="Verbose Level", From fce6ba107c1b6f2c8ef85a755c6d6d7b99c040b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Candice=20Bent=C3=A9jac?= Date: Fri, 17 Jan 2025 17:09:09 +0100 Subject: [PATCH 4/4] [nodes] Update labels and versions for nodes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update the versions for all the nodes that have been updated to support meshes as inputs and fix the case for some labels. Co-authored-by: Candice Bentéjac --- meshroom/nodes/aliceVision/ExportMatches.py | 6 +++--- meshroom/nodes/aliceVision/RelativePoseEstimating.py | 4 ++-- meshroom/nodes/aliceVision/SfmBootstraping.py | 4 ++-- meshroom/nodes/aliceVision/SfmExpanding.py | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/meshroom/nodes/aliceVision/ExportMatches.py b/meshroom/nodes/aliceVision/ExportMatches.py index 5692a18c77..05e40cd138 100644 --- a/meshroom/nodes/aliceVision/ExportMatches.py +++ b/meshroom/nodes/aliceVision/ExportMatches.py @@ -1,4 +1,4 @@ -__version__ = "1.1" +__version__ = "2.0" from meshroom.core import desc from meshroom.core.utils import DESCRIBER_TYPES, VERBOSE_LEVEL @@ -52,13 +52,13 @@ class ExportMatches(desc.AVCommandLineNode): ), desc.File( name="filterA", - label="filter A", + label="Filter A", description="One item of the pair must match this.", value="", ), desc.File( name="filterB", - label="filter B", + label="Filter B", description="One item of the pair must match this.", value="", ), diff --git a/meshroom/nodes/aliceVision/RelativePoseEstimating.py b/meshroom/nodes/aliceVision/RelativePoseEstimating.py index 2ec076c07b..08fd3c7f00 100644 --- a/meshroom/nodes/aliceVision/RelativePoseEstimating.py +++ b/meshroom/nodes/aliceVision/RelativePoseEstimating.py @@ -36,7 +36,7 @@ class RelativePoseEstimating(desc.AVCommandLineNode): ), desc.IntParam( name="countIterations", - label="Ransac max iterations", + label="Ransac Max Iterations", description="Maximal number of iterations.", value=1024, range=(1024, 500000, 1), @@ -44,7 +44,7 @@ class RelativePoseEstimating(desc.AVCommandLineNode): ), desc.IntParam( name="minInliers", - label="Ransac min inliers", + label="Ransac Min Inliers", description="Minimal allowed inliers in two view relationship.", value=35, range=(1, 1000, 1), diff --git a/meshroom/nodes/aliceVision/SfmBootstraping.py b/meshroom/nodes/aliceVision/SfmBootstraping.py index 4279ac16a5..a2f790ecc4 100644 --- a/meshroom/nodes/aliceVision/SfmBootstraping.py +++ b/meshroom/nodes/aliceVision/SfmBootstraping.py @@ -1,7 +1,7 @@ -__version__ = "2.0" +__version__ = "3.0" from meshroom.core import desc -from meshroom.core.utils import DESCRIBER_TYPES, VERBOSE_LEVEL +from meshroom.core.utils import VERBOSE_LEVEL class SfMBootStraping(desc.AVCommandLineNode): diff --git a/meshroom/nodes/aliceVision/SfmExpanding.py b/meshroom/nodes/aliceVision/SfmExpanding.py index d58d1a3008..03b652e229 100644 --- a/meshroom/nodes/aliceVision/SfmExpanding.py +++ b/meshroom/nodes/aliceVision/SfmExpanding.py @@ -1,7 +1,7 @@ -__version__ = "1.0" +__version__ = "2.0" from meshroom.core import desc -from meshroom.core.utils import DESCRIBER_TYPES, VERBOSE_LEVEL +from meshroom.core.utils import VERBOSE_LEVEL class SfMExpanding(desc.AVCommandLineNode):