alicevision / Meshroom

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

How to fix camera pose and not to rescale pose? #2560

Open zhangwenniu opened 1 month ago

zhangwenniu commented 1 month ago

I've been tracking how to import Colmap's output (camera intrinsics and extrinsics) into Meshroom recently. I'm glad to find the Colmap2MeshroomSfmConvertions.py file. When I use this file to convert colmap to cameras.sfm and import camera pose through the ImportKnownPoses node, even if I set the lock in intrinsics and extrinsics to true or "1", the camera pose will still be adjusted by Meshroom. The obvious difference is the scale problem. The camera translation range obtained by Colmap is much larger than the camera pose range obtained by Meshroom after the StructureFromMotion node. What happened during this process? How can I avoid Meshroom adjusting the camera pose result from my Colmap calibration to ensure that the reconstruction result is coordinate system aligned?

image

In the picture, the camera pose of the larger ring is imported through COLMAP, and the camera pose of the smaller ring is estimated by Meshroom after passing through the StructureFromMotion node.

natowi commented 1 month ago

You can run the SfmAlignment node