From 176e2a8c4c0291dea9b4a1e30e8c0c7559fce754 Mon Sep 17 00:00:00 2001 From: Fabien Servant Date: Mon, 3 Feb 2025 09:03:45 +0100 Subject: [PATCH] New tracking experimental pipelines --- .../pipelines/cameraTrackingExperimental.mg | 572 ++++++++++++++++++ ...aTrackingWithoutCalibrationExperimental.mg | 543 +++++++++++++++++ 2 files changed, 1115 insertions(+) create mode 100644 meshroom/pipelines/cameraTrackingExperimental.mg create mode 100644 meshroom/pipelines/cameraTrackingWithoutCalibrationExperimental.mg diff --git a/meshroom/pipelines/cameraTrackingExperimental.mg b/meshroom/pipelines/cameraTrackingExperimental.mg new file mode 100644 index 00000000..09cf8e1e --- /dev/null +++ b/meshroom/pipelines/cameraTrackingExperimental.mg @@ -0,0 +1,572 @@ +{ + "header": { + "releaseVersion": "2025.1.0-develop", + "fileVersion": "2.0", + "template": true, + "nodesVersions": { + "ApplyCalibration": "1.0", + "CameraInit": "12.0", + "CheckerboardDetection": "1.0", + "ConvertSfMFormat": "2.0", + "DepthMap": "5.0", + "DepthMapFilter": "4.0", + "DistortionCalibration": "5.0", + "ExportAnimatedCamera": "2.0", + "ExportDistortion": "2.0", + "FeatureExtraction": "1.3", + "FeatureMatching": "2.0", + "ImageDetectionPrompt": "0.1", + "ImageMatching": "2.0", + "ImageMatchingMultiSfM": "1.0", + "ImageSegmentationBox": "0.1", + "KeyframeSelection": "5.0", + "MeshDecimate": "1.0", + "MeshFiltering": "3.0", + "Meshing": "7.0", + "PrepareDenseScene": "3.1", + "Publish": "1.3", + "RelativePoseEstimating": "3.0", + "ScenePreview": "2.0", + "SfMBootStraping": "3.0", + "SfMExpanding": "2.0", + "SfMTransfer": "2.1", + "SfMTriangulation": "1.0", + "Texturing": "6.0", + "TracksBuilding": "1.0" + } + }, + "graph": { + "ApplyCalibration_1": { + "nodeType": "ApplyCalibration", + "position": [ + 0, + 0 + ], + "inputs": { + "input": "{CameraInit_1.output}", + "calibration": "{DistortionCalibration_1.output}" + }, + "internalInputs": { + "color": "#575963" + } + }, + "CameraInit_1": { + "nodeType": "CameraInit", + "position": [ + -200, + 0 + ], + "inputs": {}, + "internalInputs": { + "color": "#575963" + } + }, + "CameraInit_2": { + "nodeType": "CameraInit", + "position": [ + -600, + -160 + ], + "inputs": {}, + "internalInputs": { + "label": "CameraInitLensGrid", + "color": "#302e2e" + } + }, + "CheckerboardDetection_1": { + "nodeType": "CheckerboardDetection", + "position": [ + -400, + -160 + ], + "inputs": { + "input": "{CameraInit_2.output}", + "useNestedGrids": true, + "exportDebugImages": true + }, + "internalInputs": { + "color": "#302e2e" + } + }, + "ConvertSfMFormat_1": { + "nodeType": "ConvertSfMFormat", + "position": [ + 4140, + 58 + ], + "inputs": { + "input": "{ExportAnimatedCamera_1.input}", + "fileExt": "json", + "describerTypes": "{TracksBuilding_2.describerTypes}", + "structure": false, + "observations": false + }, + "internalInputs": { + "color": "#4c594c" + } + }, + "DepthMapFilter_1": { + "nodeType": "DepthMapFilter", + "position": [ + 3536, + -181 + ], + "inputs": { + "input": "{DepthMap_1.input}", + "depthMapsFolder": "{DepthMap_1.output}" + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "DepthMap_1": { + "nodeType": "DepthMap", + "position": [ + 3336, + -181 + ], + "inputs": { + "input": "{PrepareDenseScene_1.input}", + "imagesFolder": "{PrepareDenseScene_1.output}", + "downscale": 1 + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "DistortionCalibration_1": { + "nodeType": "DistortionCalibration", + "position": [ + -200, + -160 + ], + "inputs": { + "input": "{CheckerboardDetection_1.input}", + "checkerboards": "{CheckerboardDetection_1.output}" + }, + "internalInputs": { + "color": "#302e2e" + } + }, + "ExportAnimatedCamera_1": { + "nodeType": "ExportAnimatedCamera", + "position": [ + 2748, + 22 + ], + "inputs": { + "input": "{SfMExpanding_2.output}", + "exportUndistortedImages": true + }, + "internalInputs": { + "color": "#80766f" + } + }, + "ExportDistortion_1": { + "nodeType": "ExportDistortion", + "position": [ + 0, + -160 + ], + "inputs": { + "input": "{DistortionCalibration_1.output}" + }, + "internalInputs": { + "color": "#302e2e" + } + }, + "FeatureExtraction_1": { + "nodeType": "FeatureExtraction", + "position": [ + 400, + 200 + ], + "inputs": { + "input": "{ApplyCalibration_1.output}", + "masksFolder": "{ImageSegmentationBox_1.output}", + "maskExtension": "exr" + }, + "internalInputs": { + "color": "#575963" + } + }, + "FeatureMatching_1": { + "nodeType": "FeatureMatching", + "position": [ + 600, + 0 + ], + "inputs": { + "input": "{ImageMatching_1.input}", + "featuresFolders": "{ImageMatching_1.featuresFolders}", + "imagePairsList": "{ImageMatching_1.output}", + "describerTypes": "{FeatureExtraction_1.describerTypes}" + }, + "internalInputs": { + "label": "FeatureMatchingKeyframes", + "color": "#575963" + } + }, + "FeatureMatching_2": { + "nodeType": "FeatureMatching", + "position": [ + 1987, + 186 + ], + "inputs": { + "input": "{ImageMatching_2.input}", + "featuresFolders": "{ImageMatching_2.featuresFolders}", + "imagePairsList": "{ImageMatching_2.output}" + }, + "internalInputs": { + "label": "FeatureMatchingAllFrames", + "color": "#80766f" + } + }, + "FeatureMatching_3": { + "nodeType": "FeatureMatching", + "position": [ + 1987, + 26 + ], + "inputs": { + "input": "{ImageMatchingMultiSfM_1.outputCombinedSfM}", + "featuresFolders": "{ImageMatchingMultiSfM_1.featuresFolders}", + "imagePairsList": "{ImageMatchingMultiSfM_1.output}", + "describerTypes": "{FeatureExtraction_1.describerTypes}" + }, + "internalInputs": { + "label": "FeatureMatchingFramesToKeyframes", + "color": "#80766f" + } + }, + "ImageDetectionPrompt_1": { + "nodeType": "ImageDetectionPrompt", + "position": [ + 0, + 200 + ], + "inputs": { + "input": "{CameraInit_1.output}" + }, + "internalInputs": { + "color": "#575963" + } + }, + "ImageMatchingMultiSfM_1": { + "nodeType": "ImageMatchingMultiSfM", + "position": [ + 1787, + 26 + ], + "inputs": { + "input": "{KeyframeSelection_1.outputSfMDataFrames}", + "inputB": "{SfMExpanding_1.output}", + "featuresFolders": [ + "{FeatureExtraction_1.output}" + ], + "method": "VocabularyTree", + "matchingMode": "a/b", + "nbMatches": 20 + }, + "internalInputs": { + "color": "#80766f" + } + }, + "ImageMatching_1": { + "nodeType": "ImageMatching", + "position": [ + 400, + 0 + ], + "inputs": { + "input": "{KeyframeSelection_1.outputSfMDataKeyframes}", + "featuresFolders": [ + "{FeatureExtraction_1.output}" + ], + "method": "Exhaustive" + }, + "internalInputs": { + "label": "ImageMatchingKeyframes", + "color": "#575963" + } + }, + "ImageMatching_2": { + "nodeType": "ImageMatching", + "position": [ + 1787, + 186 + ], + "inputs": { + "input": "{ApplyCalibration_1.output}", + "featuresFolders": [ + "{FeatureExtraction_1.output}" + ], + "method": "Sequential", + "nbNeighbors": 20 + }, + "internalInputs": { + "color": "#80766f" + } + }, + "ImageSegmentationBox_1": { + "nodeType": "ImageSegmentationBox", + "position": [ + 200, + 200 + ], + "inputs": { + "input": "{ImageDetectionPrompt_1.input}", + "bboxFolder": "{ImageDetectionPrompt_1.output}", + "maskInvert": true, + "keepFilename": true + }, + "internalInputs": { + "color": "#575963" + } + }, + "KeyframeSelection_1": { + "nodeType": "KeyframeSelection", + "position": [ + 200, + 0 + ], + "inputs": { + "inputPaths": [ + "{ApplyCalibration_1.output}" + ] + }, + "internalInputs": { + "color": "#575963" + } + }, + "MeshDecimate_1": { + "nodeType": "MeshDecimate", + "position": [ + 4136, + -181 + ], + "inputs": { + "input": "{MeshFiltering_1.outputMesh}", + "simplificationFactor": 0.05 + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "MeshFiltering_1": { + "nodeType": "MeshFiltering", + "position": [ + 3936, + -181 + ], + "inputs": { + "inputMesh": "{Meshing_1.outputMesh}", + "filterLargeTrianglesFactor": 10.0 + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "Meshing_1": { + "nodeType": "Meshing", + "position": [ + 3736, + -181 + ], + "inputs": { + "input": "{DepthMapFilter_1.input}", + "depthMapsFolder": "{DepthMapFilter_1.output}", + "estimateSpaceFromSfM": false, + "minStep": 1, + "fullWeight": 10.0, + "saveRawDensePointCloud": true + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "PrepareDenseScene_1": { + "nodeType": "PrepareDenseScene", + "position": [ + 3136, + -181 + ], + "inputs": { + "input": "{SfMTriangulation_1.output}", + "maskExtension": "exr" + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "Publish_1": { + "nodeType": "Publish", + "position": [ + 4736, + -81 + ], + "inputs": { + "inputFiles": [ + "{ExportAnimatedCamera_1.output}", + "{Texturing_1.output}", + "{ScenePreview_1.output}", + "{ExportDistortion_1.output}" + ] + } + }, + "RelativePoseEstimating_1": { + "nodeType": "RelativePoseEstimating", + "position": [ + 1012, + -1 + ], + "inputs": { + "input": "{TracksBuilding_1.input}", + "tracksFilename": "{TracksBuilding_1.output}", + "countIterations": 50000, + "minInliers": 100 + } + }, + "ScenePreview_1": { + "nodeType": "ScenePreview", + "position": [ + 4357, + 8 + ], + "inputs": { + "cameras": "{ConvertSfMFormat_1.output}", + "model": "{MeshDecimate_1.output}", + "undistortedImages": "{ExportAnimatedCamera_1.outputUndistorted}", + "masks": "{ImageSegmentationBox_1.output}" + }, + "internalInputs": { + "color": "#4c594c" + } + }, + "SfMBootStraping_1": { + "nodeType": "SfMBootStraping", + "position": [ + 1215, + -7 + ], + "inputs": { + "input": "{RelativePoseEstimating_1.input}", + "tracksFilename": "{RelativePoseEstimating_1.tracksFilename}", + "pairs": "{RelativePoseEstimating_1.output}" + } + }, + "SfMExpanding_1": { + "nodeType": "SfMExpanding", + "position": [ + 1412, + -10 + ], + "inputs": { + "input": "{SfMBootStraping_1.output}", + "tracksFilename": "{SfMBootStraping_1.tracksFilename}", + "minAngleForTriangulation": 1.0, + "minAngleForLandmark": 0.5 + } + }, + "SfMExpanding_2": { + "nodeType": "SfMExpanding", + "position": [ + 2469, + 52 + ], + "inputs": { + "input": "{TracksBuilding_2.input}", + "tracksFilename": "{TracksBuilding_2.output}", + "nbFirstUnstableCameras": 0, + "maxImagesPerGroup": 0, + "bundleAdjustmentMaxOutliers": 5000000, + "minNumberOfObservationsForTriangulation": 3, + "minAngleForTriangulation": 1.0, + "minAngleForLandmark": 0.5 + } + }, + "SfMTransfer_1": { + "nodeType": "SfMTransfer", + "position": [ + 2736, + -181 + ], + "inputs": { + "input": "{KeyframeSelection_1.outputSfMDataKeyframes}", + "reference": "{SfMExpanding_2.output}", + "transferLandmarks": false + }, + "internalInputs": { + "comment": "Transfer pose from final camera tracking into the keyframes-only scene.", + "color": "#3f3138" + } + }, + "SfMTriangulation_1": { + "nodeType": "SfMTriangulation", + "position": [ + 2936, + -181 + ], + "inputs": { + "input": "{SfMTransfer_1.output}", + "featuresFolders": "{TracksBuilding_1.featuresFolders}", + "matchesFolders": "{TracksBuilding_1.matchesFolders}", + "minAngleForTriangulation": 1.0, + "minAngleForLandmark": 0.5 + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "Texturing_1": { + "nodeType": "Texturing", + "position": [ + 4389, + -245 + ], + "inputs": { + "input": "{Meshing_1.output}", + "imagesFolder": "{PrepareDenseScene_1.output}", + "inputMesh": "{MeshDecimate_1.output}" + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "TracksBuilding_1": { + "nodeType": "TracksBuilding", + "position": [ + 826, + -2 + ], + "inputs": { + "input": "{FeatureMatching_1.input}", + "featuresFolders": "{FeatureMatching_1.featuresFolders}", + "matchesFolders": [ + "{FeatureMatching_1.output}" + ], + "describerTypes": "{FeatureMatching_1.describerTypes}", + "filterTrackForks": true + } + }, + "TracksBuilding_2": { + "nodeType": "TracksBuilding", + "position": [ + 2280, + 34 + ], + "inputs": { + "input": "{FeatureMatching_3.input}", + "featuresFolders": "{FeatureMatching_3.featuresFolders}", + "matchesFolders": [ + "{FeatureMatching_2.output}", + "{FeatureMatching_3.output}" + ], + "describerTypes": "{FeatureMatching_3.describerTypes}", + "minInputTrackLength": 5, + "filterTrackForks": true + } + } + } +} \ No newline at end of file diff --git a/meshroom/pipelines/cameraTrackingWithoutCalibrationExperimental.mg b/meshroom/pipelines/cameraTrackingWithoutCalibrationExperimental.mg new file mode 100644 index 00000000..8653ac1f --- /dev/null +++ b/meshroom/pipelines/cameraTrackingWithoutCalibrationExperimental.mg @@ -0,0 +1,543 @@ +{ + "header": { + "releaseVersion": "2025.1.0-develop", + "fileVersion": "2.0", + "template": true, + "nodesVersions": { + "ApplyCalibration": "1.0", + "CameraInit": "12.0", + "ConvertDistortion": "1.0", + "ConvertSfMFormat": "2.0", + "DepthMap": "5.0", + "DepthMapFilter": "4.0", + "ExportAnimatedCamera": "2.0", + "ExportDistortion": "2.0", + "FeatureExtraction": "1.3", + "FeatureMatching": "2.0", + "ImageDetectionPrompt": "0.1", + "ImageMatching": "2.0", + "ImageMatchingMultiSfM": "1.0", + "ImageSegmentationBox": "0.1", + "KeyframeSelection": "5.0", + "MeshDecimate": "1.0", + "MeshFiltering": "3.0", + "Meshing": "7.0", + "PrepareDenseScene": "3.1", + "Publish": "1.3", + "RelativePoseEstimating": "3.0", + "ScenePreview": "2.0", + "SfMBootStraping": "3.0", + "SfMExpanding": "2.0", + "SfMTransfer": "2.1", + "SfMTriangulation": "1.0", + "Texturing": "6.0", + "TracksBuilding": "1.0" + } + }, + "graph": { + "ApplyCalibration_1": { + "nodeType": "ApplyCalibration", + "position": [ + 0, + 0 + ], + "inputs": { + "input": "{CameraInit_1.output}" + }, + "internalInputs": { + "color": "#575963" + } + }, + "CameraInit_1": { + "nodeType": "CameraInit", + "position": [ + -200, + 0 + ], + "inputs": {}, + "internalInputs": { + "color": "#575963" + } + }, + "ConvertDistortion_1": { + "nodeType": "ConvertDistortion", + "position": [ + 2561, + 222 + ], + "inputs": { + "input": "{SfMExpanding_2.output}" + }, + "internalInputs": { + "color": "#80766f" + } + }, + "ConvertSfMFormat_1": { + "nodeType": "ConvertSfMFormat", + "position": [ + 3674, + 23 + ], + "inputs": { + "input": "{ExportAnimatedCamera_1.input}", + "fileExt": "json", + "describerTypes": "{TracksBuilding_2.describerTypes}", + "structure": false, + "observations": false + }, + "internalInputs": { + "color": "#4c594c" + } + }, + "DepthMapFilter_1": { + "nodeType": "DepthMapFilter", + "position": [ + 3074, + -177 + ], + "inputs": { + "input": "{DepthMap_1.input}", + "depthMapsFolder": "{DepthMap_1.output}" + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "DepthMap_1": { + "nodeType": "DepthMap", + "position": [ + 2874, + -177 + ], + "inputs": { + "input": "{PrepareDenseScene_1.input}", + "imagesFolder": "{PrepareDenseScene_1.output}", + "downscale": 1 + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "ExportAnimatedCamera_1": { + "nodeType": "ExportAnimatedCamera", + "position": [ + 2754, + 37 + ], + "inputs": { + "input": "{SfMExpanding_2.output}", + "exportUndistortedImages": true + }, + "internalInputs": { + "color": "#80766f" + } + }, + "ExportDistortion_1": { + "nodeType": "ExportDistortion", + "position": [ + 2761, + 222 + ], + "inputs": { + "input": "{ConvertDistortion_1.output}", + "exportLensGridsUndistorted": false + }, + "internalInputs": { + "color": "#80766f" + } + }, + "FeatureExtraction_1": { + "nodeType": "FeatureExtraction", + "position": [ + 400, + 200 + ], + "inputs": { + "input": "{ApplyCalibration_1.output}", + "masksFolder": "{ImageSegmentationBox_1.output}", + "maskExtension": "exr" + }, + "internalInputs": { + "color": "#575963" + } + }, + "FeatureMatching_1": { + "nodeType": "FeatureMatching", + "position": [ + 600, + 0 + ], + "inputs": { + "input": "{ImageMatching_1.input}", + "featuresFolders": "{ImageMatching_1.featuresFolders}", + "imagePairsList": "{ImageMatching_1.output}", + "describerTypes": "{FeatureExtraction_1.describerTypes}" + }, + "internalInputs": { + "label": "FeatureMatchingKeyframes", + "color": "#575963" + } + }, + "FeatureMatching_2": { + "nodeType": "FeatureMatching", + "position": [ + 1874, + 183 + ], + "inputs": { + "input": "{ImageMatching_2.input}", + "featuresFolders": "{ImageMatching_2.featuresFolders}", + "imagePairsList": "{ImageMatching_2.output}" + }, + "internalInputs": { + "label": "FeatureMatchingAllFrames", + "color": "#80766f" + } + }, + "FeatureMatching_3": { + "nodeType": "FeatureMatching", + "position": [ + 1874, + 23 + ], + "inputs": { + "input": "{ImageMatchingMultiSfM_1.outputCombinedSfM}", + "featuresFolders": "{ImageMatchingMultiSfM_1.featuresFolders}", + "imagePairsList": "{ImageMatchingMultiSfM_1.output}", + "describerTypes": "{FeatureExtraction_1.describerTypes}" + }, + "internalInputs": { + "label": "FeatureMatchingFramesToKeyframes", + "color": "#80766f" + } + }, + "ImageDetectionPrompt_1": { + "nodeType": "ImageDetectionPrompt", + "position": [ + 0, + 200 + ], + "inputs": { + "input": "{CameraInit_1.output}" + }, + "internalInputs": { + "color": "#575963" + } + }, + "ImageMatchingMultiSfM_1": { + "nodeType": "ImageMatchingMultiSfM", + "position": [ + 1674, + 23 + ], + "inputs": { + "input": "{KeyframeSelection_1.outputSfMDataFrames}", + "inputB": "{SfMExpanding_1.output}", + "featuresFolders": [ + "{FeatureExtraction_1.output}" + ], + "method": "VocabularyTree", + "matchingMode": "a/b", + "nbMatches": 20 + }, + "internalInputs": { + "color": "#80766f" + } + }, + "ImageMatching_1": { + "nodeType": "ImageMatching", + "position": [ + 400, + 0 + ], + "inputs": { + "input": "{KeyframeSelection_1.outputSfMDataKeyframes}", + "featuresFolders": [ + "{FeatureExtraction_1.output}" + ], + "method": "Exhaustive" + }, + "internalInputs": { + "label": "ImageMatchingKeyframes", + "color": "#575963" + } + }, + "ImageMatching_2": { + "nodeType": "ImageMatching", + "position": [ + 1674, + 183 + ], + "inputs": { + "input": "{ApplyCalibration_1.output}", + "featuresFolders": [ + "{FeatureExtraction_1.output}" + ], + "method": "Sequential", + "nbNeighbors": 20 + }, + "internalInputs": { + "color": "#80766f" + } + }, + "ImageSegmentationBox_1": { + "nodeType": "ImageSegmentationBox", + "position": [ + 200, + 200 + ], + "inputs": { + "input": "{ImageDetectionPrompt_1.input}", + "bboxFolder": "{ImageDetectionPrompt_1.output}", + "maskInvert": true, + "keepFilename": true + }, + "internalInputs": { + "color": "#575963" + } + }, + "KeyframeSelection_1": { + "nodeType": "KeyframeSelection", + "position": [ + 200, + 0 + ], + "inputs": { + "inputPaths": [ + "{ApplyCalibration_1.output}" + ] + }, + "internalInputs": { + "color": "#575963" + } + }, + "MeshDecimate_1": { + "nodeType": "MeshDecimate", + "position": [ + 3674, + -177 + ], + "inputs": { + "input": "{MeshFiltering_1.outputMesh}", + "simplificationFactor": 0.05 + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "MeshFiltering_1": { + "nodeType": "MeshFiltering", + "position": [ + 3474, + -177 + ], + "inputs": { + "inputMesh": "{Meshing_1.outputMesh}", + "filterLargeTrianglesFactor": 10.0 + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "Meshing_1": { + "nodeType": "Meshing", + "position": [ + 3274, + -177 + ], + "inputs": { + "input": "{DepthMapFilter_1.input}", + "depthMapsFolder": "{DepthMapFilter_1.output}", + "estimateSpaceFromSfM": false, + "minStep": 1, + "fullWeight": 10.0, + "saveRawDensePointCloud": true + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "PrepareDenseScene_1": { + "nodeType": "PrepareDenseScene", + "position": [ + 2674, + -177 + ], + "inputs": { + "input": "{SfMTriangulation_1.output}", + "maskExtension": "exr" + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "Publish_1": { + "nodeType": "Publish", + "position": [ + 4274, + -77 + ], + "inputs": { + "inputFiles": [ + "{ExportAnimatedCamera_1.output}", + "{Texturing_1.output}", + "{ScenePreview_1.output}", + "{ExportDistortion_1.output}" + ] + } + }, + "RelativePoseEstimating_1": { + "nodeType": "RelativePoseEstimating", + "position": [ + 1013, + 4 + ], + "inputs": { + "input": "{TracksBuilding_1.input}", + "tracksFilename": "{TracksBuilding_1.output}", + "countIterations": 50000, + "minInliers": 100 + } + }, + "ScenePreview_1": { + "nodeType": "ScenePreview", + "position": [ + 3874, + 23 + ], + "inputs": { + "cameras": "{ConvertSfMFormat_1.output}", + "model": "{MeshDecimate_1.output}", + "undistortedImages": "{ExportAnimatedCamera_1.outputUndistorted}", + "masks": "{ImageSegmentationBox_1.output}" + }, + "internalInputs": { + "color": "#4c594c" + } + }, + "SfMBootStraping_1": { + "nodeType": "SfMBootStraping", + "position": [ + 1216, + -2 + ], + "inputs": { + "input": "{RelativePoseEstimating_1.input}", + "tracksFilename": "{RelativePoseEstimating_1.tracksFilename}", + "pairs": "{RelativePoseEstimating_1.output}" + } + }, + "SfMExpanding_1": { + "nodeType": "SfMExpanding", + "position": [ + 1413, + -5 + ], + "inputs": { + "input": "{SfMBootStraping_1.output}", + "tracksFilename": "{SfMBootStraping_1.tracksFilename}", + "minAngleForTriangulation": 1.0, + "minAngleForLandmark": 0.5 + } + }, + "SfMExpanding_2": { + "nodeType": "SfMExpanding", + "position": [ + 2309.5, + 27.0 + ], + "inputs": { + "input": "{TracksBuilding_2.input}", + "tracksFilename": "{TracksBuilding_2.output}", + "nbFirstUnstableCameras": 0, + "maxImagesPerGroup": 0, + "bundleAdjustmentMaxOutliers": 5000000, + "minNumberOfObservationsForTriangulation": 3, + "minAngleForTriangulation": 1.0, + "minAngleForLandmark": 0.5 + } + }, + "SfMTransfer_1": { + "nodeType": "SfMTransfer", + "position": [ + 2274, + -177 + ], + "inputs": { + "input": "{KeyframeSelection_1.outputSfMDataKeyframes}", + "reference": "{SfMExpanding_2.output}", + "transferLandmarks": false + }, + "internalInputs": { + "comment": "Transfer pose from final camera tracking into the keyframes-only scene.", + "color": "#3f3138" + } + }, + "SfMTriangulation_1": { + "nodeType": "SfMTriangulation", + "position": [ + 2474, + -177 + ], + "inputs": { + "input": "{SfMTransfer_1.output}", + "featuresFolders": "{TracksBuilding_1.featuresFolders}", + "matchesFolders": "{TracksBuilding_1.matchesFolders}", + "minAngleForTriangulation": 1.0, + "minAngleForLandmark": 0.5 + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "Texturing_1": { + "nodeType": "Texturing", + "position": [ + 3874, + -177 + ], + "inputs": { + "input": "{Meshing_1.output}", + "imagesFolder": "{PrepareDenseScene_1.output}", + "inputMesh": "{MeshDecimate_1.output}" + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "TracksBuilding_1": { + "nodeType": "TracksBuilding", + "position": [ + 827, + 3 + ], + "inputs": { + "input": "{FeatureMatching_1.input}", + "featuresFolders": "{FeatureMatching_1.featuresFolders}", + "matchesFolders": [ + "{FeatureMatching_1.output}" + ], + "describerTypes": "{FeatureMatching_1.describerTypes}", + "filterTrackForks": true + } + }, + "TracksBuilding_2": { + "nodeType": "TracksBuilding", + "position": [ + 2103.5, + 24.0 + ], + "inputs": { + "input": "{FeatureMatching_3.input}", + "featuresFolders": "{FeatureMatching_3.featuresFolders}", + "matchesFolders": [ + "{FeatureMatching_2.output}", + "{FeatureMatching_3.output}" + ], + "describerTypes": "{FeatureMatching_3.describerTypes}", + "minInputTrackLength": 5, + "filterTrackForks": true + } + } + } +} \ No newline at end of file