limap icon indicating copy to clipboard operation
limap copied to clipboard

Hybrid Localization with Points and Lines

Open MINJEEgi opened this issue 1 year ago • 4 comments

Hello, I would like to run my data through your LIMAP. I'm interested in changing the INPUT of the 'Hybrid Localization with Points and Lines' code to our data instead of using 7Scense. Could you let me know what's needed for that? It would be really appreciated!

MINJEEgi avatar Mar 11 '24 11:03 MINJEEgi

Sorry for the late reply. The main function for the hybrid point-line localization is limap.runners.line_localization (as in https://github.com/cvg/limap/blob/e15088a41ccca945a32624c470450e46663a05b6/runners/7scenes/localization.py#L156). To use your own data you'll have to prepare the corresponding configs, ImageCollection, and point and line correspondences etc. You can reference the script https://github.com/cvg/limap/blob/main/runners/7scenes/localization.py to see how these data should be provided to the function.

MarkYu98 avatar Jul 17 '24 08:07 MarkYu98

Thank you for your reply. I have an additional question regarding the depth map usage mentioned in the paper. The paper discusses using depth maps like those from RGB-D images. Can I choose between using depth images directly or generating depth maps through structure from motion (SfM) methods like COLMAP? Is there any code available that uses only depth images and RGB image data, without relying on COLMAP for depth map generation?

In summary, I want to do E. Line Reconstruction given Depth Maps from the paper.

The readme mentions a "Using auxiliary depth maps" section, which is customized for the Hyperism dataset. In the "Localization with points&lines" section, there's an option to use --use_dense_depth. It also requires running hloc. Is hloc only needed for evaluation? When I run this code with --use_dense_depth, am I correctly using only the depth image? Or should i use fitnmerge.py using ETH3D format or ScanNet format?

MINJEEgi avatar Aug 23 '24 09:08 MINJEEgi

For the second example included for hybrid localization, there seems to be an assertion error:

Traceback (most recent call last): File "/local/kunal/lines_localize/limap/runners/tests/localization.py", line 212, in main() File "/local/kunal/lines_localize/limap/runners/tests/localization.py", line 141, in main np.testing.assert_(e_R < 2.0, f"e_R = {e_R:.3f}deg") File "/home/kunal/anaconda3/envs/lines/lib/python3.9/site-packages/numpy/testing/private/utils.py", line 88, in assert raise AssertionError(smsg) AssertionError: e_R = 9.177deg

kunalchelani avatar Jan 29 '25 12:01 kunalchelani