alicevision / Meshroom

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

[request] Calibrate meshroom scans to real world measurements #1769

Open MiloMindbender opened 2 years ago

MiloMindbender commented 2 years ago

Is your feature request related to a problem? Please describe.

Unless I missed it, meshroom outputs it's meshes in dimensionless units. It's easy enough to scale the output manually to be approximately correct, but what if you need measurements that are reasonably accurate?

The main use of this is when I'm scanning objects of different sizes such as cars, buildings, statues and want to be able to later combine them into a street scene where all the objects are the proper real-world sizes/measurements.

If you are working with architecture or something like the layout of a film set, having everything in real world units is essential. It is also very useful to have real world coordinates for the position of the camera in each photo.

The other use is for calibrating rigs of multiple cameras where you want to know the relationship of one camera to another. If you use such a rig to take a bunch of pictures, meshroom will generate SFM data you could use to figure the offsets between cameras, but I need this information to be in real world units like mm to be useful.

Describe the solution you'd like Would like to have an option to put a checkerboard Aruco or April tag of known size in the scene. Meshroom would detect this and adjust the coordinates into real world units.

If this calibration pattern was placed flat on the ground, meshroom could also use it to orient the axis of the scan to the proper "up" direction.

Describe alternatives you've considered I've considered doing this manually by putting references in the scene when scanning, finding them in the output mesh and measuring/rescaling in a program like blender. But this is time consuming and error prone if you are making many scans.

msanta commented 2 years ago

You could use CCTags to scale the model. See https://github.com/alicevision/meshroom/wiki/CCTAG-scaling