Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Questions about SIFT+LightGlue #110

Open
Uchan1996 opened this issue Jan 31, 2024 · 3 comments
Open

Questions about SIFT+LightGlue #110

Uchan1996 opened this issue Jan 31, 2024 · 3 comments

Comments

@Uchan1996
Copy link

Thank you for your great work!

I would like to confirm the following things about your SIFT+LightGlue.

  1. Which type of SIFT is used for training of the published SIFT+LightGlue weight, OpenCV or PyColmap?
  2. Is there a performance gap between OpenCV SIFT and PyColmap one for the published SIFT+Lightglue weight.
  3. In the glue-factory implementation, PyColmap SIFT scores are calculated as the combination of DoG (all values are 1?) scores and scales while OpenCV scores as just DoG scores.
    How did you select top-k SIFT keypoints in training of the published SIFT+LightGlue weight and evaluation in your paper?
@Phil26AT
Copy link
Collaborator

Phil26AT commented Feb 1, 2024

HI @Uchan1996

  1. We use the GPU version of pycolmap for training (the wheels from conda are built with CUDA support).
  2. Yes there is a slight gap. pycolmap-SIFT is usually a bit better, mostly because it yields better detections. We still set opencv as the default because it is easier to install. I suggest heading over to gluefactory and benchmarking it on a few datasets.
  3. Yes this is a problem of pycolmap - it does not yield proper SIFT scores. Instead of doing the top-k selection in python, we rely on pycolmap to do it (with the option max_num_features.

duplicate of cvg/glue-factory#63

@Uchan1996
Copy link
Author

Thank you for your detailed answers!

@Uchan1996
Copy link
Author

Uchan1996 commented Feb 5, 2024

@Phil26AT
Sorry, I have additional things to ask.

  1. When I use pycolmap (version>=0.5.0), the variable pred doesn't have the key keypoints_scores in gluefactory/models/extractors/sift.py.
    Then, the following error occurs in gluefactory/utils/export_predictions.py.

ValueError: Missing key {'keypoint_scores0', 'keypoint_scores1'}

  1. Do you perform nms filtering based on scales when using pycolmap SIFT? Currently, the variable pred doesn't have the key keypoint_scores if I use pycolmap (version>=0.5.0). So I have to set nms_radius to None since the function filter_dog_point need the argument pred['keypoint_scores'].

  2. Which version of pycolmap SIFT did you use for training and evaluation for the published weight.

@Uchan1996 Uchan1996 reopened this Feb 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants