cvg/Hierarchical-Localization

Localization accuracy with different devices for mapping/localization

messileonardo opened this issue · 1 comments

I would like to ask why localization accuracy (referred to tvec) is bad if I do mapping with a device (e.g., reflex camera Nikon D70s) and localization with another one (OAK D S2). In this case I get a tvec error of about 30 cm if I estimate intrinsics from EXIF with refinement. Even if I fix for the OAK D S2 intrinsics got from another 3D mapping did with this camera, the average tvec error is about 6 cm. What is the possible cause of this error?

When I do mapping and localization with the same device instead and I use for localization intrinsics (f, cx, cy, k) estimated from 3D mapping I get an error of about 3 cm (that is very good!).

Any ideas?

Many thanks to who can help me!

  • Intrinsics estimated & refined from a single image (localization) are much less accurate than when refined from multiple ones (mapping). Inaccurate intrinsics reduce the accuracy of the estimated poses.
  • Changes in the imaging parameters (resolution, blur, gamma response) can introduce a small noise in the keypoint detection. 3cm vs 6cm error is a pretty small difference. You could potentially reduce this with our PixSfM https://github.com/cvg/pixel-perfect-sfm