alicevision / Meshroom

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

[question] Prioritising camera alignment with CCTags #2256

Open HughMacdonald opened 10 months ago

HughMacdonald commented 10 months ago

I've got a scene that is very similar in 8 different directions. If I run it through the standard Photogrammetry pipeline up to StructureFromMotion with default settings, I get each of the 8 groups of cameras in the same place relative to the object, rather than spread around the object. This is because the object and background are so similar from each group of cameras.

However, to correct for this, I also have multiple CCTags on and around the object, which, I had hoped, would enable Meshroom to be able to differentiate between the views, and then use the natural markers to refine the positions. This does not work as expected, unfortunately, and all of my cameras are still bunched up together on the same side of the object.

Is there a way in Meshroom to get it to prioritise a group (cctags, in this case) of features when calculating the camera positions and pairs?

Thanks

fabiencastan commented 10 months ago

Have you tried to make a first sfm only with cctags and then another one with cctags and dspsift?

HughMacdonald commented 10 months ago

I tried that, but when I ran sfm with only cctags, it fails with "No valid initial pair found automatically". I'm not certain how I would define this manually

Twostroke500 commented 5 months ago

I have a similar usecase: scanning a house where the two opposite sides of the building are very similar. Reconstruction with dpsift and/or akaze on various settings for density and quality leads to wrong camera alignment. I would like to use only markers like cctags for camera alignment - is there a tutorial on how to achieve this? Coordinate alignment and scaling are not important for me.

fabiencastan commented 5 months ago

You can have a look at https://github.com/alicevision/Meshroom/wiki/CCTAG-scaling With CCTag you have a limited number of IDs and you need a minimum number of CCTag per image-pairs, so it may not be easy to completely disable dspsift to reconstruct a large building.