cvg / Hierarchical-Localization

Visual localization made easy with hloc
Apache License 2.0
3.2k stars 593 forks source link

D2Net+NN performs poorly on the Aachen dataset #27

Closed handsomelcj closed 3 years ago

handsomelcj commented 3 years ago

Hello, first of all thank you for your great efforts. I tried your code on the Aachen dataset, and it performed well on SuperPoint+SuperGlue and SuperPoint+NN, but it was far from your results on D2net+NN. Can you tell me how to set up to use D2Net+NN to get good results on the Aachen dataset? Thanks again for your work.

sarlinpe commented 3 years ago

The results D2Net+NN reported in the README use NetVLAD top 30 (pairs-query-netvlad30.txt) and covisibility clustering (covisibility_clustering=True in localize_sfm.py). The main reason is that D2-Net matches have a lower precision, so more aggressive filtering is needed.

handsomelcj commented 3 years ago

Thank you for your answer. I have tried these settings, but the results are still not good. Specifically, the results of my D2Net+NN are only day: 73.7 / 81.9 / 90.4 and night: 41.8 / 59.2 / 75.5. Could you tell me the possible reason? Thank you very much.

sarlinpe commented 3 years ago

I'll be unable to look at this until at least next Tuesday, sorry for the delay.

handsomelcj commented 3 years ago

Thank you for your attention, I just solved this problem by setting ‘NN’ 'distance_threshold': 0.7 to'distance_threshold': None in match_features.py. Specifically, I achieved the following results: day: 83.9 / 91.3 / 96.5 and night: 78.6 / 88.8 / 100.0, which are close to your results.

sarlinpe commented 3 years ago

Great. I am still surprised that the night results are consistently lower. I'll try to rerun things on my end.

sarlinpe commented 3 years ago

Closing this issue due to inactivity. Feel free to reopen it.