From f94278c088da2e7f45151e115223f0436c3a2075 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Candice=20Bent=C3=A9jac?= Date: Tue, 29 Oct 2024 14:54:38 +0100 Subject: [PATCH] [pipelines] Fix multi-view photometric stereo template The template has been renamed to fit the automatic name parsing of template files, it has been effectively converted to an actual template and all the nodes have been aligned coherently. --- .../pipelines/MultiView Photometric Stereo.mg | 1158 ----------------- .../pipelines/multi-viewPhotometricStereo.mg | 277 ++++ 2 files changed, 277 insertions(+), 1158 deletions(-) delete mode 100644 meshroom/pipelines/MultiView Photometric Stereo.mg create mode 100644 meshroom/pipelines/multi-viewPhotometricStereo.mg diff --git a/meshroom/pipelines/MultiView Photometric Stereo.mg b/meshroom/pipelines/MultiView Photometric Stereo.mg deleted file mode 100644 index d90ccea878..0000000000 --- a/meshroom/pipelines/MultiView Photometric Stereo.mg +++ /dev/null @@ -1,1158 +0,0 @@ -{ - "header": { - "pipelineVersion": "2.2", - "releaseVersion": "2024.1.0-develop", - "fileVersion": "1.1", - "template": false, - "nodesVersions": { - "CameraInit": "11.0", - "DepthMap": "5.0", - "DepthMapFilter": "4.0", - "FeatureExtraction": "1.3", - "FeatureMatching": "2.0", - "ImageMatching": "2.0", - "LightingCalibration": "1.0", - "MeshFiltering": "3.0", - "Meshing": "7.0", - "PhotometricStereo": "1.0", - "PrepareDenseScene": "3.1", - "SfMFilter": "1.0", - "SfMTransfer": "2.1", - "SphereDetection": "1.0", - "StructureFromMotion": "3.3", - "Texturing": "6.0" - } - }, - "graph": { - "CameraInit_1": { - "nodeType": "CameraInit", - "position": [ - -417, - 203 - ], - "parallelization": { - "blockSize": 0, - "size": 0, - "split": 1 - }, - "uids": { - "0": "961e54591174ec5a2457c66da8eadc0cb03d89ba" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "viewpoints": [], - "intrinsics": [], - "sensorDatabase": "${ALICEVISION_SENSOR_DB}", - "lensCorrectionProfileInfo": "${ALICEVISION_LENS_PROFILE_INFO}", - "lensCorrectionProfileSearchIgnoreCameraModel": true, - "defaultFieldOfView": 45.0, - "groupCameraFallback": "folder", - "rawColorInterpretation": "LibRawWhiteBalancing", - "colorProfileDatabase": "${ALICEVISION_COLOR_PROFILE_DB}", - "errorOnMissingColorProfile": true, - "viewIdMethod": "metadata", - "viewIdRegex": ".*?(\\d+)", - "verboseLevel": "info" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "output": "{cache}/{nodeType}/{uid0}/cameraInit.sfm" - } - }, - "DepthMapFilter_1": { - "nodeType": "DepthMapFilter", - "position": [ - 1179, - 0 - ], - "parallelization": { - "blockSize": 24, - "size": 1, - "split": 1 - }, - "uids": { - "0": "7fcbffdde40134e957f90861ad3e179b8b26dbf6" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "input": "{DepthMap_1.input}", - "depthMapsFolder": "{DepthMap_1.output}", - "minViewAngle": 2.0, - "maxViewAngle": 70.0, - "nNearestCams": 10, - "minNumOfConsistentCams": 3, - "minNumOfConsistentCamsWithLowSimilarity": 4, - "pixToleranceFactor": 2.0, - "pixSizeBall": 0, - "pixSizeBallWithLowSimilarity": 0, - "computeNormalMaps": false, - "verboseLevel": "info" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "output": "{cache}/{nodeType}/{uid0}/", - "depth": "{cache}/{nodeType}/{uid0}/_depthMap.exr", - "sim": "{cache}/{nodeType}/{uid0}/_simMap.exr", - "normal": "{cache}/{nodeType}/{uid0}/_normalMap.exr" - } - }, - "DepthMap_1": { - "nodeType": "DepthMap", - "position": [ - 979, - 0 - ], - "parallelization": { - "blockSize": 12, - "size": 1, - "split": 1 - }, - "uids": { - "0": "1384130f6ded87cf983ebf688188bdf8d6f003bd" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "input": "{PrepareDenseScene_1.input}", - "imagesFolder": "{PrepareDenseScene_1.output}", - "downscale": 2, - "minViewAngle": 2.0, - "maxViewAngle": 70.0, - "tiling": { - "tileBufferWidth": 1024, - "tileBufferHeight": 1024, - "tilePadding": 64, - "autoAdjustSmallImage": true - }, - "chooseTCamsPerTile": true, - "maxTCams": 10, - "sgm": { - "sgmScale": 2, - "sgmStepXY": 2, - "sgmStepZ": -1, - "sgmMaxTCamsPerTile": 4, - "sgmWSH": 4, - "sgmUseSfmSeeds": true, - "sgmSeedsRangeInflate": 0.2, - "sgmDepthThicknessInflate": 0.0, - "sgmMaxSimilarity": 1.0, - "sgmGammaC": 5.5, - "sgmGammaP": 8.0, - "sgmP1": 10.0, - "sgmP2Weighting": 100.0, - "sgmMaxDepths": 1500, - "sgmFilteringAxes": "YX", - "sgmDepthListPerTile": true, - "sgmUseConsistentScale": false - }, - "refine": { - "refineEnabled": true, - "refineScale": 1, - "refineStepXY": 1, - "refineMaxTCamsPerTile": 4, - "refineSubsampling": 10, - "refineHalfNbDepths": 15, - "refineWSH": 3, - "refineSigma": 15.0, - "refineGammaC": 15.5, - "refineGammaP": 8.0, - "refineInterpolateMiddleDepth": false, - "refineUseConsistentScale": false - }, - "colorOptimization": { - "colorOptimizationEnabled": true, - "colorOptimizationNbIterations": 100 - }, - "customPatchPattern": { - "sgmUseCustomPatchPattern": false, - "refineUseCustomPatchPattern": false, - "customPatchPatternSubparts": [], - "customPatchPatternGroupSubpartsPerLevel": false - }, - "intermediateResults": { - "exportIntermediateDepthSimMaps": false, - "exportIntermediateNormalMaps": false, - "exportIntermediateVolumes": false, - "exportIntermediateCrossVolumes": false, - "exportIntermediateTopographicCutVolumes": false, - "exportIntermediateVolume9pCsv": false, - "exportTilePattern": false - }, - "nbGPUs": 0, - "verboseLevel": "info" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "output": "{cache}/{nodeType}/{uid0}/", - "depth": "{cache}/{nodeType}/{uid0}/_depthMap.exr", - "sim": "{cache}/{nodeType}/{uid0}/_simMap.exr", - "tilePattern": "{cache}/{nodeType}/{uid0}/_tilePattern.obj", - "depthSgm": "{cache}/{nodeType}/{uid0}/_depthMap_sgm.exr", - "depthSgmUpscaled": "{cache}/{nodeType}/{uid0}/_depthMap_sgmUpscaled.exr", - "depthRefined": "{cache}/{nodeType}/{uid0}/_depthMap_refinedFused.exr" - } - }, - "FeatureExtraction_1": { - "nodeType": "FeatureExtraction", - "position": [ - -21, - 0 - ], - "parallelization": { - "blockSize": 40, - "size": 1, - "split": 1 - }, - "uids": { - "0": "bf5baa6a716fff20b794233c50bcf0511a891d3c" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "input": "{SfMFilter_1.outputSfMData_selected}", - "masksFolder": "", - "maskExtension": "png", - "maskInvert": false, - "describerTypes": [ - "dspsift" - ], - "describerPreset": "normal", - "maxNbFeatures": 0, - "describerQuality": "normal", - "contrastFiltering": "GridSort", - "relativePeakThreshold": 0.01, - "gridFiltering": true, - "workingColorSpace": "sRGB", - "forceCpuExtraction": true, - "maxThreads": 0, - "verboseLevel": "info" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "output": "{cache}/{nodeType}/{uid0}/" - } - }, - "FeatureMatching_1": { - "nodeType": "FeatureMatching", - "position": [ - 379, - 0 - ], - "parallelization": { - "blockSize": 20, - "size": 1, - "split": 1 - }, - "uids": { - "0": "64714e89ac89c4e62e820b7018d029e2e44168be" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "input": "{ImageMatching_1.input}", - "featuresFolders": "{ImageMatching_1.featuresFolders}", - "imagePairsList": "{ImageMatching_1.output}", - "describerTypes": "{FeatureExtraction_1.describerTypes}", - "photometricMatchingMethod": "ANN_L2", - "geometricEstimator": "acransac", - "geometricFilterType": "fundamental_matrix", - "distanceRatio": 0.8, - "maxIteration": 2048, - "geometricError": 0.0, - "knownPosesGeometricErrorMax": 5.0, - "minRequired2DMotion": -1.0, - "maxMatches": 0, - "savePutativeMatches": false, - "crossMatching": false, - "guidedMatching": false, - "matchFromKnownCameraPoses": false, - "exportDebugFiles": false, - "verboseLevel": "info" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "output": "{cache}/{nodeType}/{uid0}/" - } - }, - "ImageMatching_1": { - "nodeType": "ImageMatching", - "position": [ - 179, - 0 - ], - "parallelization": { - "blockSize": 0, - "size": 1, - "split": 1 - }, - "uids": { - "0": "318dd583377e8b02891a5272cb77ab8c8a03dd0c" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "input": "{FeatureExtraction_1.input}", - "featuresFolders": [ - "{FeatureExtraction_1.output}" - ], - "method": "SequentialAndVocabularyTree", - "tree": "${ALICEVISION_VOCTREE}", - "weights": "", - "minNbImages": 200, - "maxDescriptors": 500, - "nbMatches": 40, - "nbNeighbors": 5, - "verboseLevel": "info" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "output": "{cache}/{nodeType}/{uid0}/imageMatches.txt" - } - }, - "LightingCalibration_1": { - "nodeType": "LightingCalibration", - "position": [ - 1288, - 253 - ], - "parallelization": { - "blockSize": 0, - "size": 1, - "split": 1 - }, - "uids": { - "0": "d6a02cd279f71d7cfa71b7dfb370eee2818e7ad9" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "inputPath": "{SphereDetection_1.input}", - "inputDetection": "{SphereDetection_1.output}", - "saveAsModel": false, - "ellipticEstimation": false, - "method": "brightestPoint", - "verboseLevel": "info" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "outputFile": "{cache}/{nodeType}/{uid0}//lights.json" - } - }, - "MeshFiltering_1": { - "nodeType": "MeshFiltering", - "position": [ - 1579, - 0 - ], - "parallelization": { - "blockSize": 0, - "size": 1, - "split": 1 - }, - "uids": { - "0": "66c8793afd4e065cd120db2b97d193fdd0c4d62b" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "inputMesh": "{Meshing_1.outputMesh}", - "outputMeshFileType": "obj", - "keepLargestMeshOnly": false, - "smoothingSubset": "all", - "smoothingBoundariesNeighbours": 0, - "smoothingIterations": 5, - "smoothingLambda": 1.0, - "filteringSubset": "all", - "filteringIterations": 1, - "filterLargeTrianglesFactor": 60.0, - "filterTrianglesRatio": 0.0, - "verboseLevel": "info" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "outputMesh": "{cache}/{nodeType}/{uid0}/mesh.{outputMeshFileTypeValue}" - } - }, - "Meshing_1": { - "nodeType": "Meshing", - "position": [ - 1379, - 0 - ], - "parallelization": { - "blockSize": 0, - "size": 1, - "split": 1 - }, - "uids": { - "0": "15f7bc52058eb51a68bd22a427b18bf50bd8cec5" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "input": "{DepthMapFilter_1.input}", - "depthMapsFolder": "{DepthMapFilter_1.output}", - "outputMeshFileType": "obj", - "useBoundingBox": false, - "boundingBox": { - "bboxTranslation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "bboxRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "bboxScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 - } - }, - "estimateSpaceFromSfM": true, - "estimateSpaceMinObservations": 3, - "estimateSpaceMinObservationAngle": 10.0, - "maxInputPoints": 50000000, - "maxPoints": 5000000, - "maxPointsPerVoxel": 1000000, - "minStep": 2, - "partitioning": "singleBlock", - "repartition": "multiResolution", - "angleFactor": 15.0, - "simFactor": 15.0, - "minVis": 2, - "pixSizeMarginInitCoef": 2.0, - "pixSizeMarginFinalCoef": 4.0, - "voteMarginFactor": 4.0, - "contributeMarginFactor": 2.0, - "simGaussianSizeInit": 10.0, - "simGaussianSize": 10.0, - "minAngleThreshold": 1.0, - "refineFuse": true, - "helperPointsGridSize": 10, - "densify": false, - "densifyNbFront": 1, - "densifyNbBack": 1, - "densifyScale": 20.0, - "nPixelSizeBehind": 4.0, - "fullWeight": 1.0, - "voteFilteringForWeaklySupportedSurfaces": true, - "addLandmarksToTheDensePointCloud": false, - "invertTetrahedronBasedOnNeighborsNbIterations": 10, - "minSolidAngleRatio": 0.2, - "nbSolidAngleFilteringIterations": 2, - "colorizeOutput": false, - "addMaskHelperPoints": false, - "maskHelperPointsWeight": 1.0, - "maskBorderSize": 4, - "maxNbConnectedHelperPoints": 50, - "saveRawDensePointCloud": false, - "exportDebugTetrahedralization": false, - "seed": 0, - "verboseLevel": "info" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "outputMesh": "{cache}/{nodeType}/{uid0}/mesh.{outputMeshFileTypeValue}", - "output": "{cache}/{nodeType}/{uid0}/densePointCloud.abc" - } - }, - "PhotometricStereo_1": { - "nodeType": "PhotometricStereo", - "position": [ - 1491, - 250 - ], - "parallelization": { - "blockSize": 0, - "size": 1, - "split": 1 - }, - "uids": { - "0": "02ade34b229d605d1289993b64378e52ab3b5b0e" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "inputPath": "{LightingCalibration_1.inputPath}", - "pathToJSONLightFile": "{LightingCalibration_1.outputFile}", - "maskPath": "", - "SHOrder": "0", - "removeAmbient": false, - "isRobust": false, - "downscale": 1, - "verboseLevel": "info" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "outputPath": "{cache}/{nodeType}/{uid0}/", - "outputSfmDataAlbedo": "{cache}/{nodeType}/{uid0}//albedoMaps.sfm", - "outputSfmDataNormal": "{cache}/{nodeType}/{uid0}//normalMaps.sfm", - "outputSfmDataNormalPNG": "{cache}/{nodeType}/{uid0}//normalMapsPNG.sfm", - "normals": "{cache}/{nodeType}/{uid0}/_normals.exr", - "normalsPNG": "{cache}/{nodeType}/{uid0}/_normals.png", - "normalsWorld": "{cache}/{nodeType}/{uid0}/_normals_w.exr", - "albedo": "{cache}/{nodeType}/{uid0}/_albedo.png" - } - }, - "PrepareDenseScene_1": { - "nodeType": "PrepareDenseScene", - "position": [ - 779, - 0 - ], - "parallelization": { - "blockSize": 40, - "size": 1, - "split": 1 - }, - "uids": { - "0": "3463d763b471ca150ef3807279b85089938a7ff3" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "input": "{StructureFromMotion_1.output}", - "imagesFolders": [], - "masksFolders": [], - "maskExtension": "png", - "outputFileType": "exr", - "saveMetadata": true, - "saveMatricesTxtFiles": false, - "evCorrection": false, - "verboseLevel": "info" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "output": "{cache}/{nodeType}/{uid0}/", - "undistorted": "{cache}/{nodeType}/{uid0}/.{outputFileTypeValue}" - } - }, - "PrepareDenseScene_2": { - "nodeType": "PrepareDenseScene", - "position": [ - 2147, - 282 - ], - "parallelization": { - "blockSize": 40, - "size": 1, - "split": 1 - }, - "uids": { - "0": "cb941f1053ccb7f6c2cb42eb238d06500ab5259f" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "input": "{PhotometricStereo_1.outputSfmDataAlbedo}", - "imagesFolders": [], - "masksFolders": [], - "maskExtension": "png", - "outputFileType": "exr", - "saveMetadata": true, - "saveMatricesTxtFiles": false, - "evCorrection": false, - "verboseLevel": "info" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "output": "{cache}/{nodeType}/{uid0}/", - "undistorted": "{cache}/{nodeType}/{uid0}/.{outputFileTypeValue}" - } - }, - "PrepareDenseScene_3": { - "nodeType": "PrepareDenseScene", - "position": [ - 2145, - 412 - ], - "parallelization": { - "blockSize": 40, - "size": 1, - "split": 1 - }, - "uids": { - "0": "bd837101d892068c3f97d192f3fee74d427bd0e4" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "input": "{PhotometricStereo_1.outputSfmDataNormal}", - "imagesFolders": [], - "masksFolders": [], - "maskExtension": "png", - "outputFileType": "exr", - "saveMetadata": true, - "saveMatricesTxtFiles": false, - "evCorrection": false, - "verboseLevel": "info" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "output": "{cache}/{nodeType}/{uid0}/", - "undistorted": "{cache}/{nodeType}/{uid0}/.{outputFileTypeValue}" - } - }, - "PrepareDenseScene_4": { - "nodeType": "PrepareDenseScene", - "position": [ - 2147, - 538 - ], - "parallelization": { - "blockSize": 40, - "size": 1, - "split": 1 - }, - "uids": { - "0": "4bc441f4e0b8ee779d1f2b5c14b1fec412e4acca" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "input": "{PhotometricStereo_1.outputSfmDataNormalPNG}", - "imagesFolders": [], - "masksFolders": [], - "maskExtension": "png", - "outputFileType": "exr", - "saveMetadata": true, - "saveMatricesTxtFiles": false, - "evCorrection": false, - "verboseLevel": "info" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "output": "{cache}/{nodeType}/{uid0}/", - "undistorted": "{cache}/{nodeType}/{uid0}/.{outputFileTypeValue}" - } - }, - "SfMFilter_1": { - "nodeType": "SfMFilter", - "position": [ - -227, - 204 - ], - "parallelization": { - "blockSize": 0, - "size": 1, - "split": 1 - }, - "uids": { - "0": "9e0e6b69f2f386737ebee8a8e042b9d0dcdf67c1" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "inputFile": "{CameraInit_1.output}", - "fileMatchingPattern": ".*/.*ambiant.*" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "outputSfMData_selected": "{cache}/{nodeType}/{uid0}//selectedSfmData.sfm", - "outputSfMData_unselected": "{cache}/{nodeType}/{uid0}//unselectedSfmData.sfm" - } - }, - "SfMTransfer_1": { - "nodeType": "SfMTransfer", - "position": [ - 794, - 208 - ], - "parallelization": { - "blockSize": 0, - "size": 1, - "split": 1 - }, - "uids": { - "0": "b56ad497dd172de96af8cb703b1ccfbc211826a1" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "input": "{SfMFilter_1.outputSfMData_unselected}", - "reference": "{StructureFromMotion_1.output}", - "method": "from_poseid", - "fileMatchingPattern": ".*\\/(.*?)\\.\\w{3}", - "metadataMatchingList": [], - "transferPoses": true, - "transferIntrinsics": true, - "transferLandmarks": true, - "verboseLevel": "info" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "output": "{cache}/{nodeType}/{uid0}/unselectedSfmData.abc", - "outputViewsAndPoses": "{cache}/{nodeType}/{uid0}/cameras.sfm" - } - }, - "SphereDetection_1": { - "nodeType": "SphereDetection", - "position": [ - 1100, - 255 - ], - "parallelization": { - "blockSize": 0, - "size": 1, - "split": 1 - }, - "uids": { - "0": "13f91bad9e2a3386df185b9cbc622608f991b844" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "input": "{SfMTransfer_1.output}", - "modelPath": "${ALICEVISION_SPHERE_DETECTION_MODEL}", - "autoDetect": false, - "minScore": 0.0, - "sphereCenter": { - "x": 0.0, - "y": 0.0 - }, - "sphereRadius": 500.0, - "verboseLevel": "info" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "output": "{cache}/{nodeType}/{uid0}//detection.json" - } - }, - "StructureFromMotion_1": { - "nodeType": "StructureFromMotion", - "position": [ - 579, - 0 - ], - "parallelization": { - "blockSize": 0, - "size": 1, - "split": 1 - }, - "uids": { - "0": "543bcfc99c4c7d374db4ac0f42677bbc7e372a79" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "input": "{FeatureMatching_1.input}", - "featuresFolders": "{FeatureMatching_1.featuresFolders}", - "matchesFolders": [ - "{FeatureMatching_1.output}" - ], - "describerTypes": "{FeatureMatching_1.describerTypes}", - "localizerEstimator": "acransac", - "observationConstraint": "Scale", - "localizerEstimatorMaxIterations": 4096, - "localizerEstimatorError": 0.0, - "lockScenePreviouslyReconstructed": false, - "useLocalBA": true, - "localBAGraphDistance": 1, - "nbFirstUnstableCameras": 30, - "maxImagesPerGroup": 30, - "bundleAdjustmentMaxOutliers": 50, - "maxNumberOfMatches": 0, - "minNumberOfMatches": 0, - "minInputTrackLength": 2, - "minNumberOfObservationsForTriangulation": 2, - "minAngleForTriangulation": 3.0, - "minAngleForLandmark": 2.0, - "maxReprojectionError": 4.0, - "minAngleInitialPair": 5.0, - "maxAngleInitialPair": 40.0, - "useOnlyMatchesFromInputFolder": false, - "useRigConstraint": true, - "rigMinNbCamerasForCalibration": 20, - "lockAllIntrinsics": false, - "minNbCamerasToRefinePrincipalPoint": 3, - "filterTrackForks": false, - "computeStructureColor": true, - "useAutoTransform": true, - "initialPairA": "", - "initialPairB": "", - "interFileExtension": ".abc", - "logIntermediateSteps": false, - "verboseLevel": "info" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "output": "{cache}/{nodeType}/{uid0}/sfm.abc", - "outputViewsAndPoses": "{cache}/{nodeType}/{uid0}/cameras.sfm", - "extraInfoFolder": "{cache}/{nodeType}/{uid0}/" - } - }, - "Texturing_1": { - "nodeType": "Texturing", - "position": [ - 1779, - 0 - ], - "parallelization": { - "blockSize": 0, - "size": 1, - "split": 1 - }, - "uids": { - "0": "b74e59c14e9d0116f95e4c342d273193f18b74dc" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "input": "{Meshing_1.output}", - "imagesFolder": "{DepthMap_1.imagesFolder}", - "normalsFolder": "", - "inputMesh": "{MeshFiltering_1.outputMesh}", - "inputRefMesh": "", - "textureSide": 8192, - "downscale": 2, - "outputMeshFileType": "obj", - "colorMapping": { - "enable": true, - "colorMappingFileType": "exr" - }, - "bumpMapping": { - "enable": true, - "bumpType": "Normal", - "normalFileType": "exr", - "heightFileType": "exr" - }, - "displacementMapping": { - "enable": true, - "displacementMappingFileType": "exr" - }, - "unwrapMethod": "Basic", - "useUDIM": true, - "fillHoles": false, - "padding": 5, - "multiBandDownscale": 4, - "multiBandNbContrib": { - "high": 1, - "midHigh": 5, - "midLow": 10, - "low": 0 - }, - "useScore": true, - "bestScoreThreshold": 0.1, - "angleHardThreshold": 90.0, - "workingColorSpace": "sRGB", - "outputColorSpace": "AUTO", - "correctEV": true, - "forceVisibleByAllVertices": false, - "flipNormals": false, - "visibilityRemappingMethod": "PullPush", - "subdivisionTargetRatio": 0.8, - "verboseLevel": "info" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "output": "{cache}/{nodeType}/{uid0}/", - "outputMesh": "{cache}/{nodeType}/{uid0}/texturedMesh.{outputMeshFileTypeValue}", - "outputMaterial": "{cache}/{nodeType}/{uid0}/texturedMesh.mtl", - "outputTextures": "{cache}/{nodeType}/{uid0}/texture_*.exr" - } - }, - "Texturing_2": { - "nodeType": "Texturing", - "position": [ - 2448, - 240 - ], - "parallelization": { - "blockSize": 0, - "size": 1, - "split": 1 - }, - "uids": { - "0": "2290fe547144a7ae68c7907ba6cb65dc496f2549" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "input": "{Meshing_1.output}", - "imagesFolder": "{PrepareDenseScene_2.output}", - "normalsFolder": "", - "inputMesh": "{MeshFiltering_1.outputMesh}", - "inputRefMesh": "", - "textureSide": 8192, - "downscale": 2, - "outputMeshFileType": "obj", - "colorMapping": { - "enable": true, - "colorMappingFileType": "exr" - }, - "bumpMapping": { - "enable": true, - "bumpType": "Normal", - "normalFileType": "exr", - "heightFileType": "exr" - }, - "displacementMapping": { - "enable": true, - "displacementMappingFileType": "exr" - }, - "unwrapMethod": "Basic", - "useUDIM": true, - "fillHoles": false, - "padding": 5, - "multiBandDownscale": 4, - "multiBandNbContrib": { - "high": 1, - "midHigh": 5, - "midLow": 10, - "low": 0 - }, - "useScore": true, - "bestScoreThreshold": 0.1, - "angleHardThreshold": 90.0, - "workingColorSpace": "sRGB", - "outputColorSpace": "AUTO", - "correctEV": true, - "forceVisibleByAllVertices": false, - "flipNormals": false, - "visibilityRemappingMethod": "PullPush", - "subdivisionTargetRatio": 0.8, - "verboseLevel": "info" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "output": "{cache}/{nodeType}/{uid0}/", - "outputMesh": "{cache}/{nodeType}/{uid0}/texturedMesh.{outputMeshFileTypeValue}", - "outputMaterial": "{cache}/{nodeType}/{uid0}/texturedMesh.mtl", - "outputTextures": "{cache}/{nodeType}/{uid0}/texture_*.exr" - } - }, - "Texturing_3": { - "nodeType": "Texturing", - "position": [ - 2445, - 432 - ], - "parallelization": { - "blockSize": 0, - "size": 1, - "split": 1 - }, - "uids": { - "0": "b1f98e8db0a8bbae0509b7b42ef60d688b9af1f2" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "input": "{Meshing_1.output}", - "imagesFolder": "{PrepareDenseScene_3.output}", - "normalsFolder": "", - "inputMesh": "{MeshFiltering_1.outputMesh}", - "inputRefMesh": "", - "textureSide": 8192, - "downscale": 2, - "outputMeshFileType": "obj", - "colorMapping": { - "enable": true, - "colorMappingFileType": "exr" - }, - "bumpMapping": { - "enable": true, - "bumpType": "Normal", - "normalFileType": "exr", - "heightFileType": "exr" - }, - "displacementMapping": { - "enable": true, - "displacementMappingFileType": "exr" - }, - "unwrapMethod": "Basic", - "useUDIM": true, - "fillHoles": false, - "padding": 5, - "multiBandDownscale": 4, - "multiBandNbContrib": { - "high": 1, - "midHigh": 5, - "midLow": 10, - "low": 0 - }, - "useScore": true, - "bestScoreThreshold": 0.1, - "angleHardThreshold": 90.0, - "workingColorSpace": "sRGB", - "outputColorSpace": "AUTO", - "correctEV": true, - "forceVisibleByAllVertices": false, - "flipNormals": false, - "visibilityRemappingMethod": "PullPush", - "subdivisionTargetRatio": 0.8, - "verboseLevel": "info" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "output": "{cache}/{nodeType}/{uid0}/", - "outputMesh": "{cache}/{nodeType}/{uid0}/texturedMesh.{outputMeshFileTypeValue}", - "outputMaterial": "{cache}/{nodeType}/{uid0}/texturedMesh.mtl", - "outputTextures": "{cache}/{nodeType}/{uid0}/texture_*.exr" - } - }, - "Texturing_4": { - "nodeType": "Texturing", - "position": [ - 2449, - 630 - ], - "parallelization": { - "blockSize": 0, - "size": 1, - "split": 1 - }, - "uids": { - "0": "8116978adf911c883f0b3740eb0876e60d31386c" - }, - "internalFolder": "{cache}/{nodeType}/{uid0}/", - "inputs": { - "input": "{Meshing_1.output}", - "imagesFolder": "{PrepareDenseScene_4.output}", - "normalsFolder": "", - "inputMesh": "{MeshFiltering_1.outputMesh}", - "inputRefMesh": "", - "textureSide": 8192, - "downscale": 2, - "outputMeshFileType": "obj", - "colorMapping": { - "enable": true, - "colorMappingFileType": "exr" - }, - "bumpMapping": { - "enable": true, - "bumpType": "Normal", - "normalFileType": "exr", - "heightFileType": "exr" - }, - "displacementMapping": { - "enable": true, - "displacementMappingFileType": "exr" - }, - "unwrapMethod": "Basic", - "useUDIM": true, - "fillHoles": false, - "padding": 5, - "multiBandDownscale": 4, - "multiBandNbContrib": { - "high": 1, - "midHigh": 5, - "midLow": 10, - "low": 0 - }, - "useScore": true, - "bestScoreThreshold": 0.1, - "angleHardThreshold": 90.0, - "workingColorSpace": "sRGB", - "outputColorSpace": "AUTO", - "correctEV": true, - "forceVisibleByAllVertices": false, - "flipNormals": false, - "visibilityRemappingMethod": "PullPush", - "subdivisionTargetRatio": 0.8, - "verboseLevel": "info" - }, - "internalInputs": { - "invalidation": "", - "comment": "", - "label": "", - "color": "" - }, - "outputs": { - "output": "{cache}/{nodeType}/{uid0}/", - "outputMesh": "{cache}/{nodeType}/{uid0}/texturedMesh.{outputMeshFileTypeValue}", - "outputMaterial": "{cache}/{nodeType}/{uid0}/texturedMesh.mtl", - "outputTextures": "{cache}/{nodeType}/{uid0}/texture_*.exr" - } - } - } -} \ No newline at end of file diff --git a/meshroom/pipelines/multi-viewPhotometricStereo.mg b/meshroom/pipelines/multi-viewPhotometricStereo.mg new file mode 100644 index 0000000000..5553994bbd --- /dev/null +++ b/meshroom/pipelines/multi-viewPhotometricStereo.mg @@ -0,0 +1,277 @@ +{ + "header": { + "pipelineVersion": "2.2", + "releaseVersion": "2024.1.0-develop", + "fileVersion": "2.0", + "template": true, + "nodesVersions": { + "CameraInit": "11.0", + "DepthMap": "5.0", + "DepthMapFilter": "4.0", + "FeatureExtraction": "1.3", + "FeatureMatching": "2.0", + "ImageMatching": "2.0", + "LightingCalibration": "1.0", + "MeshFiltering": "3.0", + "Meshing": "7.0", + "PhotometricStereo": "1.0", + "PrepareDenseScene": "3.1", + "SfMFilter": "1.0", + "SfMTransfer": "2.1", + "SphereDetection": "1.0", + "StructureFromMotion": "3.3", + "Texturing": "6.0" + } + }, + "graph": { + "CameraInit_1": { + "nodeType": "CameraInit", + "position": [ + -400, + 200 + ], + "inputs": { + "rawColorInterpretation": "LibRawWhiteBalancing" + } + }, + "DepthMapFilter_1": { + "nodeType": "DepthMapFilter", + "position": [ + 1200, + 0 + ], + "inputs": { + "input": "{DepthMap_1.input}", + "depthMapsFolder": "{DepthMap_1.output}" + } + }, + "DepthMap_1": { + "nodeType": "DepthMap", + "position": [ + 1000, + 0 + ], + "inputs": { + "input": "{PrepareDenseScene_1.input}", + "imagesFolder": "{PrepareDenseScene_1.output}" + } + }, + "FeatureExtraction_1": { + "nodeType": "FeatureExtraction", + "position": [ + 0, + 0 + ], + "inputs": { + "input": "{SfMFilter_1.outputSfMData_selected}" + } + }, + "FeatureMatching_1": { + "nodeType": "FeatureMatching", + "position": [ + 400, + 0 + ], + "inputs": { + "input": "{ImageMatching_1.input}", + "featuresFolders": "{ImageMatching_1.featuresFolders}", + "imagePairsList": "{ImageMatching_1.output}", + "describerTypes": "{FeatureExtraction_1.describerTypes}", + "maxIteration": 2048 + } + }, + "ImageMatching_1": { + "nodeType": "ImageMatching", + "position": [ + 200, + 0 + ], + "inputs": { + "input": "{FeatureExtraction_1.input}", + "featuresFolders": [ + "{FeatureExtraction_1.output}" + ] + } + }, + "LightingCalibration_1": { + "nodeType": "LightingCalibration", + "position": [ + 1200, + 200 + ], + "inputs": { + "inputPath": "{SphereDetection_1.input}", + "inputDetection": "{SphereDetection_1.output}" + } + }, + "MeshFiltering_1": { + "nodeType": "MeshFiltering", + "position": [ + 1600, + 0 + ], + "inputs": { + "inputMesh": "{Meshing_1.outputMesh}" + } + }, + "Meshing_1": { + "nodeType": "Meshing", + "position": [ + 1400, + 0 + ], + "inputs": { + "input": "{DepthMapFilter_1.input}", + "depthMapsFolder": "{DepthMapFilter_1.output}" + } + }, + "PhotometricStereo_1": { + "nodeType": "PhotometricStereo", + "position": [ + 1400, + 200 + ], + "inputs": { + "inputPath": "{LightingCalibration_1.inputPath}", + "pathToJSONLightFile": "{LightingCalibration_1.outputFile}" + } + }, + "PrepareDenseScene_1": { + "nodeType": "PrepareDenseScene", + "position": [ + 800, + 0 + ], + "inputs": { + "input": "{StructureFromMotion_1.output}" + } + }, + "PrepareDenseScene_2": { + "nodeType": "PrepareDenseScene", + "position": [ + 2200, + 200 + ], + "inputs": { + "input": "{PhotometricStereo_1.outputSfmDataAlbedo}" + } + }, + "PrepareDenseScene_3": { + "nodeType": "PrepareDenseScene", + "position": [ + 2200, + 400 + ], + "inputs": { + "input": "{PhotometricStereo_1.outputSfmDataNormal}" + } + }, + "PrepareDenseScene_4": { + "nodeType": "PrepareDenseScene", + "position": [ + 2200, + 600 + ], + "inputs": { + "input": "{PhotometricStereo_1.outputSfmDataNormalPNG}" + } + }, + "SfMFilter_1": { + "nodeType": "SfMFilter", + "position": [ + -200, + 200 + ], + "inputs": { + "inputFile": "{CameraInit_1.output}", + "fileMatchingPattern": ".*/.*ambiant.*" + } + }, + "SfMTransfer_1": { + "nodeType": "SfMTransfer", + "position": [ + 800, + 200 + ], + "inputs": { + "input": "{SfMFilter_1.outputSfMData_unselected}", + "reference": "{StructureFromMotion_1.output}", + "method": "from_poseid" + } + }, + "SphereDetection_1": { + "nodeType": "SphereDetection", + "position": [ + 1000, + 200 + ], + "inputs": { + "input": "{SfMTransfer_1.output}" + } + }, + "StructureFromMotion_1": { + "nodeType": "StructureFromMotion", + "position": [ + 600, + 0 + ], + "inputs": { + "input": "{FeatureMatching_1.input}", + "featuresFolders": "{FeatureMatching_1.featuresFolders}", + "matchesFolders": [ + "{FeatureMatching_1.output}" + ], + "describerTypes": "{FeatureMatching_1.describerTypes}", + "localizerEstimatorMaxIterations": 4096 + } + }, + "Texturing_1": { + "nodeType": "Texturing", + "position": [ + 1800, + 0 + ], + "inputs": { + "input": "{Meshing_1.output}", + "imagesFolder": "{DepthMap_1.imagesFolder}", + "inputMesh": "{MeshFiltering_1.outputMesh}" + } + }, + "Texturing_2": { + "nodeType": "Texturing", + "position": [ + 2400, + 200 + ], + "inputs": { + "input": "{Meshing_1.output}", + "imagesFolder": "{PrepareDenseScene_2.output}", + "inputMesh": "{MeshFiltering_1.outputMesh}" + } + }, + "Texturing_3": { + "nodeType": "Texturing", + "position": [ + 2400, + 400 + ], + "inputs": { + "input": "{Meshing_1.output}", + "imagesFolder": "{PrepareDenseScene_3.output}", + "inputMesh": "{MeshFiltering_1.outputMesh}" + } + }, + "Texturing_4": { + "nodeType": "Texturing", + "position": [ + 2400, + 600 + ], + "inputs": { + "input": "{Meshing_1.output}", + "imagesFolder": "{PrepareDenseScene_4.output}", + "inputMesh": "{MeshFiltering_1.outputMesh}" + } + } + } +} \ No newline at end of file