diff --git a/meshroom/pipelines/cameraTrackingWithoutCalibration.mg b/meshroom/pipelines/cameraTrackingWithoutCalibration.mg new file mode 100644 index 00000000..5fb712b8 --- /dev/null +++ b/meshroom/pipelines/cameraTrackingWithoutCalibration.mg @@ -0,0 +1,457 @@ +{ + "header": { + "pipelineVersion": "2.2", + "releaseVersion": "2023.3.0-develop", + "fileVersion": "1.1", + "template": true, + "nodesVersions": { + "CameraInit": "9.0", + "ConvertSfMFormat": "2.0", + "PrepareDenseScene": "3.1", + "MeshFiltering": "3.0", + "Meshing": "7.0", + "FeatureExtraction": "1.3", + "SfMTriangulation": "1.0", + "FeatureMatching": "2.0", + "KeyframeSelection": "5.0", + "ScenePreview": "2.0", + "Texturing": "6.0", + "ImageSegmentation": "1.0", + "DepthMapFilter": "4.0", + "DepthMap": "5.0", + "ImageMatchingMultiSfM": "1.0", + "ApplyCalibration": "1.0", + "ImageMatching": "2.0", + "Publish": "1.3", + "SfMTransfer": "2.1", + "StructureFromMotion": "3.3", + "ExportAnimatedCamera": "2.0", + "MeshDecimate": "1.0" + } + }, + "graph": { + "CameraInit_1": { + "nodeType": "CameraInit", + "position": [ + -200, + 0 + ], + "inputs": {}, + "internalInputs": { + "color": "#575963" + } + }, + "DepthMapFilter_1": { + "nodeType": "DepthMapFilter", + "position": [ + 2400, + 0 + ], + "inputs": { + "input": "{DepthMap_1.input}", + "depthMapsFolder": "{DepthMap_1.output}" + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "DepthMap_1": { + "nodeType": "DepthMap", + "position": [ + 2200, + 0 + ], + "inputs": { + "input": "{PrepareDenseScene_1.input}", + "imagesFolder": "{PrepareDenseScene_1.output}" + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "FeatureExtraction_1": { + "nodeType": "FeatureExtraction", + "position": [ + 200, + 200 + ], + "inputs": { + "input": "{ApplyCalibration_1.output}", + "masksFolder": "{ImageSegmentation_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" + } + }, + "ImageMatchingMultiSfM_1": { + "nodeType": "ImageMatchingMultiSfM", + "position": [ + 1000, + 200 + ], + "inputs": { + "input": "{KeyframeSelection_1.outputSfMDataFrames}", + "inputB": "{StructureFromMotion_2.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" + } + }, + "KeyframeSelection_1": { + "nodeType": "KeyframeSelection", + "position": [ + 200, + 0 + ], + "inputs": { + "inputPaths": [ + "{ApplyCalibration_1.output}" + ], + "maskPaths": [ + "{ImageSegmentation_1.output}" + ] + }, + "internalInputs": { + "color": "#575963" + } + }, + "MeshDecimate_1": { + "nodeType": "MeshDecimate", + "position": [ + 3000, + 0 + ], + "inputs": { + "input": "{MeshFiltering_1.outputMesh}", + "simplificationFactor": 0.05 + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "MeshFiltering_1": { + "nodeType": "MeshFiltering", + "position": [ + 2800, + 0 + ], + "inputs": { + "inputMesh": "{Meshing_1.outputMesh}", + "filterLargeTrianglesFactor": 10.0 + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "PrepareDenseScene_1": { + "nodeType": "PrepareDenseScene", + "position": [ + 2000, + 0 + ], + "inputs": { + "input": "{SfMTriangulation_1.output}", + "masksFolders": [ + "{ImageSegmentation_1.output}" + ], + "maskExtension": "exr" + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "SfMTransfer_1": { + "nodeType": "SfMTransfer", + "position": [ + 1600, + 0 + ], + "inputs": { + "input": "{KeyframeSelection_1.outputSfMDataKeyframes}", + "reference": "{StructureFromMotion_1.output}", + "transferLandmarks": false + }, + "internalInputs": { + "comment": "Transfer pose from final camera tracking into the keyframes-only scene.", + "color": "#3f3138" + } + }, + "SfMTriangulation_1": { + "nodeType": "SfMTriangulation", + "position": [ + 1800, + 0 + ], + "inputs": { + "input": "{SfMTransfer_1.output}", + "featuresFolders": "{StructureFromMotion_2.featuresFolders}", + "matchesFolders": "{StructureFromMotion_2.matchesFolders}" + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "Texturing_1": { + "nodeType": "Texturing", + "position": [ + 3200, + 0 + ], + "inputs": { + "input": "{Meshing_1.output}", + "imagesFolder": "{PrepareDenseScene_1.output}", + "inputMesh": "{MeshDecimate_1.output}" + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "Publish_1": { + "nodeType": "Publish", + "position": [ + 3574, + 166 + ], + "inputs": { + "inputFiles": [ + "{ExportAnimatedCamera_1.output}", + "{Texturing_1.output}", + "{ScenePreview_1.output}", + "" + ] + } + }, + "ExportAnimatedCamera_1": { + "nodeType": "ExportAnimatedCamera", + "position": [ + 1600, + 200 + ], + "inputs": { + "input": "{StructureFromMotion_1.output}", + "exportUndistortedImages": true + }, + "internalInputs": { + "color": "#80766f" + } + }, + "Meshing_1": { + "nodeType": "Meshing", + "position": [ + 2600, + 0 + ], + "inputs": { + "input": "{DepthMapFilter_1.input}", + "depthMapsFolder": "{DepthMapFilter_1.output}", + "estimateSpaceFromSfM": false, + "minStep": 1, + "fullWeight": 10.0, + "saveRawDensePointCloud": true + }, + "internalInputs": { + "color": "#3f3138" + } + }, + "ApplyCalibration_1": { + "nodeType": "ApplyCalibration", + "position": [ + 0, + 0 + ], + "inputs": { + "input": "{CameraInit_1.output}" + }, + "internalInputs": { + "color": "#575963" + } + }, + "ScenePreview_1": { + "nodeType": "ScenePreview", + "position": [ + 3200, + 200 + ], + "inputs": { + "cameras": "{ConvertSfMFormat_1.output}", + "model": "{MeshDecimate_1.output}", + "undistortedImages": "{ExportAnimatedCamera_1.outputUndistorted}", + "masks": "{ImageSegmentation_1.output}" + }, + "internalInputs": { + "color": "#4c594c" + } + }, + "ConvertSfMFormat_1": { + "nodeType": "ConvertSfMFormat", + "position": [ + 3000, + 200 + ], + "inputs": { + "input": "{ExportAnimatedCamera_1.input}", + "fileExt": "json", + "describerTypes": "{StructureFromMotion_1.describerTypes}", + "structure": false, + "observations": false + }, + "internalInputs": { + "color": "#4c594c" + } + }, + "StructureFromMotion_1": { + "nodeType": "StructureFromMotion", + "position": [ + 1400, + 200 + ], + "inputs": { + "input": "{FeatureMatching_3.input}", + "featuresFolders": "{FeatureMatching_3.featuresFolders}", + "matchesFolders": [ + "{FeatureMatching_3.output}", + "{FeatureMatching_2.output}" + ], + "describerTypes": "{FeatureMatching_3.describerTypes}", + "nbFirstUnstableCameras": 0, + "maxImagesPerGroup": 0, + "bundleAdjustmentMaxOutliers": -1, + "minInputTrackLength": 5, + "minNumberOfObservationsForTriangulation": 3, + "minAngleForTriangulation": 1.0, + "minAngleForLandmark": 0.5 + }, + "internalInputs": { + "comment": "Estimate cameras parameters for the complete camera tracking sequence.", + "color": "#80766f" + } + }, + "ImageSegmentation_1": { + "nodeType": "ImageSegmentation", + "position": [ + 0, + 200 + ], + "inputs": { + "input": "{CameraInit_1.output}", + "maskInvert": true + }, + "internalInputs": { + "color": "#575963" + } + }, + "StructureFromMotion_2": { + "nodeType": "StructureFromMotion", + "position": [ + 800, + 0 + ], + "inputs": { + "input": "{FeatureMatching_1.input}", + "featuresFolders": "{FeatureMatching_1.featuresFolders}", + "matchesFolders": [ + "{FeatureMatching_1.output}" + ], + "describerTypes": "{FeatureMatching_1.describerTypes}" + }, + "internalInputs": { + "comment": "Solve all keyframes first.", + "label": "StructureFromMotionKeyframes", + "color": "#575963" + } + }, + "FeatureMatching_2": { + "nodeType": "FeatureMatching", + "position": [ + 1200, + 360 + ], + "inputs": { + "input": "{ImageMatching_2.input}", + "featuresFolders": "{ImageMatching_2.featuresFolders}", + "imagePairsList": "{ImageMatching_2.output}" + }, + "internalInputs": { + "label": "FeatureMatchingAllFrames", + "color": "#80766f" + } + }, + "ImageMatching_2": { + "nodeType": "ImageMatching", + "position": [ + 1000, + 360 + ], + "inputs": { + "input": "{ApplyCalibration_1.output}", + "featuresFolders": [ + "{FeatureExtraction_1.output}" + ], + "method": "Sequential", + "nbNeighbors": 20 + }, + "internalInputs": { + "color": "#80766f" + } + }, + "FeatureMatching_3": { + "nodeType": "FeatureMatching", + "position": [ + 1200, + 200 + ], + "inputs": { + "input": "{ImageMatchingMultiSfM_1.outputCombinedSfM}", + "featuresFolders": "{ImageMatchingMultiSfM_1.featuresFolders}", + "imagePairsList": "{ImageMatchingMultiSfM_1.output}", + "describerTypes": "{FeatureExtraction_1.describerTypes}" + }, + "internalInputs": { + "label": "FeatureMatchingFramesToKeyframes", + "color": "#80766f" + } + } + } +} \ No newline at end of file