cvg / Hierarchical-Localization

Visual localization made easy with hloc
Apache License 2.0
3.11k stars 580 forks source link

About the eval results on aachen of hfnet #163

Closed ghoshaw closed 2 years ago

ghoshaw commented 2 years ago

Hi, I wrote a python script to run the hfnet and save the global and local descriptor as in hloc. Then, as in pipeline_aachen, I block out the extractor of local descriptor using superpoint, and set the feature as the path of my hfnet.h5. And I use the default pairs from nvm and default query pairs used netvlad. It should means NV + HFnet local pipeline. But the results is not very good and far away from the hfnet paper. Is there some error in my pipeline or the hfnet paper has more tricks in 3D model? my result is

42.8 / 53.5 / 70.6 | 9.2 / 13.3 / 28.6 but the paper is

image
sarlinpe commented 2 years ago

The results with hloc should be strictly better. As a reference, in the README we report results for SuperPoint+NN on Aachen:

Methods Aachen day Aachen night Retrieval
SuperPoint + NN 85.4 / 93.3 / 97.2 75.5 / 86.7 / 92.9 NetVLAD top 30

They are strictly better than the NV+SP baseline in the original HF-Net paper, partly due to retrieving a higher number of images (20 instead of 10). In HF-Net we average the descriptors of all observations of each 3D point, but this should not matter much. Note that the ground truth poses of Aachen were updated in the meantime, so there might remain some small inconsistencies.

ghoshaw commented 2 years ago

ok, thanks!