-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Describe the problem
I am trying to establish a workflow for 'Augment Reconstruction' using meshroom_batch
with CCTAG markers.
My initial reconstruction pipeline runs successfully with the following command:
./meshroom_batch -p cctag_pipeline.mg \
-i example/images \
--overrides example/markers.json \
--save example/example_save.mg \
--output example
This pipeline uses SfMTransform
to align the model with markers and exports an sfm.json
file. This works perfectly.
However, I am unsure about the correct method for the augmentation step. I tried to modify the pipeline by adding an ImageMatchingMultiSfM
node. I used the sfm.json
from the first run as Input B and added the FeatureExtraction
cache folder from the first run to the featuresFolders list for the new run. This approach leads to errors during computation.
Is this the intended workflow, or is there a better, recommended approach for augmenting a reconstruction that was initially built with CCTAG markers? For instance, should I reconstruct the new images separately and then align them using SfMTransform
with the common CCTAG markers?
Log
The command was executed with verboseLevel: debug
. The process fails during the feature loading stage.
ERROR:root:Error on node computation: Error on node "StructureFromMotion_1":
Log:
[2025-10-10 16:42:50.708453] [0x000070f8ac666000] [trace] Embedded OCIO configuration file: '[...]/Meshroom-2023.3.0/aliceVision/share/aliceVision/config.ocio' found.
Program called with the following parameters:
* bundleAdjustmentMaxOutliers = 50
* computeStructureColor = 1
* describerTypes = "sift,akaze"
* extraInfoFolder = "[...]/Meshroom-2023.3.0/MeshroomCache/StructureFromMotion/7f4a0f8a61411e979dfa7bbedbf1a3b77fd6c2ee"
* featuresFolders = = [[...]/Meshroom-2023.3.0/MeshroomCache/FeatureExtraction/2059875dee47dd54577290a4ed902a439986b50d, [...]/Meshroom-2023.3.0/augment_test/MeshroomCache/FeatureExtraction/29b2666ddea0789af182e36452d7989c9e2bd4e9
]
* filterTrackForks = 0
* initialPairA = ""
* initialPairB = ""
* input = "[...]/Meshroom-2023.3.0/MeshroomCache/ImageMatchingMultiSfM/d60f078b884d912846b94fe444fb75b31b1f353f/combineSfM.sfm"
* interFileExtension = ".abc"
* localBAGraphDistance = 1
* localizerEstimator = Unknown Type "N11aliceVision16robustEstimation16ERobustEstimatorE"
* localizerEstimatorError = 0
* localizerEstimatorMaxIterations = 4096
* lockAllIntrinsics = 1
* lockScenePreviouslyReconstructed = 0
* logIntermediateSteps = 0
* matchesFolders = = [[...]/Meshroom-2023.3.0/MeshroomCache/FeatureMatching/1c7567583175494fe85e11ede92c067c675e1a41, [...]/Meshroom-2023.3.0/augment_test/MeshroomCache/FeatureExtraction/29b2666ddea0789af182e36452d7989c9e2bd4e9
]
* maxAngleInitialPair = 40
* maxCoresAvailable = Unknown Type "j" (default)
* maxImagesPerGroup = 30
* maxMemoryAvailable = 18446744073709551615 (default)
* maxNumberOfMatches = 0
* maxReprojectionError = 4
* minAngleForLandmark = 2
* minAngleForTriangulation = 3
* minAngleInitialPair = 5
* minInputTrackLength = 2
* minNbCamerasToRefinePrincipalPoint = 3
* minNumberOfMatches = 0
* minNumberOfObservationsForTriangulation = 2
* nbFirstUnstableCameras = 30
* observationConstraint = Unknown Type "N11aliceVision3sfm18EFeatureConstraintE"
* output = "[...]/Meshroom-2023.3.0/MeshroomCache/StructureFromMotion/7f4a0f8a61411e979dfa7bbedbf1a3b77fd6c2ee/sfm.abc"
* outputViewsAndPoses = "[...]/Meshroom-2023.3.0/MeshroomCache/StructureFromMotion/7f4a0f8a61411e979dfa7bbedbf1a3b77fd6c2ee/cameras.sfm"
* randomSeed = 5489 (default)
* rigMinNbCamerasForCalibration = 20
* useAutoTransform = 1
* useLocalBA = 1
* useOnlyMatchesFromInputFolder = 0
* useRigConstraint = 1
* verboseLevel = "debug"
Hardware :
Detected core count : 128
OpenMP will use 128 cores
Detected available memory : 481700 Mo
[16:42:50.727824][debug] List of provided feature folders:
.
.
.
[16:42:50.768657][debug] Features filename: Meshroom-2023.3.0/MeshroomCache/FeatureExtraction/2059875dee47dd54577290a4ed902a439986b50d/20559216.akaze.feat
*[16:42:50.768795][debug] Features filename: Meshroom-2023.3.0/MeshroomCache/FeatureExtraction/2059875dee47dd54577290a4ed902a439986b50d/91010663.akaze.feat
*[16:42:50.768887][debug] Features filename: Meshroom-2023.3.0/MeshroomCache/FeatureExtraction/2059875dee47dd54577290a4ed902a439986b50d/510600828.akaze.feat
***[16:42:50.770022][debug] Features filename: Meshroom-2023.3.0/MeshroomCache/FeatureExtraction/2059875dee47dd54577290a4ed902a439986b50d/597010719.akaze.feat
**[16:42:50.773064][error] Invalid features.
Desktop (please complete the following and other pertinent information):
- OS [Ubuntu 24.04]
- Python version [3.9.13]
- Meshroom version: please specify if you are using a release version or your own build
- Binary version [2023.3.0]
Additional context
My ultimate goal is to add new images to a previously computed, marker-aligned reconstruction and have them register correctly within the same coordinate system. Any guidance on the standard procedure for this would be greatly appreciated.