alicevision / Meshroom

3D Reconstruction Software
http://alicevision.org
Other
11.13k stars 1.08k forks source link

SFMTransfer doesn’t work from CLI #1251

Closed revilotio closed 3 years ago

revilotio commented 3 years ago

Problem The TransferSML works only from within the Meshroom GUI but not in CLI.

My current workflow

  1. Create and export a SFM-File to localize the Camera-Transformations (I am using this as camera-calibration)
  2. Create a new image dataset with the exact same camera-transformations
  3. Use the new dataset in a seperate meshroom file and apply the previously generated camera poses to the current ones using the "SFM-Transfer" - Node: SFM_Transfer_highlighted Kopie This works from within the MeshRoom GUI. When I am using the “–pipeline” option for the CLI however I am getting the following error:
[2/13] SfMTransfer
 - commandLine: aliceVision_utils_sfmTransfer  --input "C:/Users/User/AppData/Local/Temp/MeshroomCache/CameraInit/959340031c2d2c4aef2bdb6aeb8354bcaa1f6f1e/cameraInit.sfm" --reference "D:/Meshroom_saves/MeshroomCache/ConvertSfMFormat/6597f47e351fea0df9591da544d47a65212da8d4/sfm.abc" --method from_filepath --fileMatchingPattern ".*\/(.*?)\.\w{3}" --transferPoses True --transferIntrinsics True --verboseLevel info --output "C:/Users/User/AppData/Local/Temp/MeshroomCache/SfMTransfer/65026c20b769c47d3a991de7b0f6af6599132ed4/cameraInit.abc" --outputViewsAndPoses "C:/Users/User/AppData/Local/Temp/MeshroomCache/SfMTransfer/65026c20b769c47d3a991de7b0f6af6599132ed4/cameras.sfm"
 - logFile: C:/Users/User/AppData/Local/Temp/MeshroomCache/SfMTransfer/65026c20b769c47d3a991de7b0f6af6599132ed4/log
 - elapsed time: 0:00:00.233861
ERROR:root:Error on node computation: Error on node "SfMTransfer_1":
Log:
Program called with the following parameters:
 * fileMatchingPattern = ".*\/(.*?)\.\w{3}"
 * input = "C:/Users/User/AppData/Local/Temp/MeshroomCache/CameraInit/959340031c2d2c4aef2bdb6aeb8354bcaa1f6f1e/cameraInit.sfm"
 * metadataMatchingList =  = [Make, Model, Exif:BodySerialNumber, Exif:LensSerialNumber] (default)
 * method =  Unknown Type "enum EMatchingMethod"
 * output = "C:/Users/User/AppData/Local/Temp/MeshroomCache/SfMTransfer/65026c20b769c47d3a991de7b0f6af6599132ed4/cameraInit.abc"
 * outputViewsAndPoses = "C:/Users/User/AppData/Local/Temp/MeshroomCache/SfMTransfer/65026c20b769c47d3a991de7b0f6af6599132ed4/cameras.sfm"
 * reference = "D:/Meshroom_saves/MeshroomCache/ConvertSfMFormat/6597f47e351fea0df9591da544d47a65212da8d4/sfm.abc"
 * transferIntrinsics = 1
 * transferPoses = 1
 * verboseLevel = "info"

[19:48:48.199569][info] Search similarity transformation.
[19:48:48.199569][error] Failed to find matching Views between the 2 SfmData.

The whole error message: errorMessage.txt

What I am trying to archive I have a camera rig that I use to construct many meshes, thus the construction process must be executed from CLI. On top of that each mesh must have the same transformation system. That is rotation, scale and position of the subsequential ground-planes must align. As a side note I have looked into the using-known-camera-poses workflow but struggled to set it up correctly, which is why I am using this SFMTransfer as workaround. I would appreciate any help on this! Thanks already in advance :)

My Test Image Dataset • 58 Sharp High Quality Images • All viewpoints are being recognized correctly using the default pipeline

Desktop • Windows 10 • Python Version 3.8 • Meshroom Version 2020.1.1 (release version)

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] commented 3 years ago

This issue is closed due to inactivity. Feel free to re-open if new information is available.