naver / kapture-localization

Provide mapping and localization pipelines based on kapture format
BSD 3-Clause "New" or "Revised" License
269 stars 42 forks source link

Get higher Local SFM results than before #40

Closed shuimushan closed 11 months ago

shuimushan commented 11 months ago

Image retrieval benchmark results for local SFM differ with those I got last year on another device. The local SFM results for AP-GeM-LM18_top20 on Gangnam Station B2 are now:

Model: local_sfm

Found 856 / 916 image positions (93.45 %). Found 856 / 916 image rotations (93.45 %). Localized images: mean=(40.7525m, 42.4062 deg) / median=(0.1973m, 1.8176 deg) All: median=(0.7966m, 2.1938 deg) Min: 0.0068m; 0.0789 deg Max: 3487.0642m; 179.9956 deg

(0.25m, 2.0 deg): 43.01% (0.5m, 5.0 deg): 47.49% (5.0m, 10.0 deg): 50.55%

whereas they used to be:

Model: local_sfm

Found 378 / 916 image positions (41.27 %). Found 378 / 916 image rotations (41.27 %). Localized images: mean=(23.2583m, 33.8776 deg) / median=(0.1011m, 1.5585 deg) All: median=(infm, inf deg) Min: 0.0063m; 0.1690 deg Max: 245.3013m; 179.9680 deg

(0.25m, 2.0 deg): 22.38% (0.5m, 5.0 deg): 25.55% (5.0m, 10.0 deg): 27.18%

And the higher results are got through kapture_colmap_localize_localsfm.py

yocabon commented 11 months ago

Hi, there are two implementations in this repo, and they differ quite a bit. Neither was changed in the last year, but I guess you're mixing the two.

kapture_pycolmap_localsfm.py gather 3D points from query<->map(x topk) then localize. It has the advantage of being faster to run but performs worse then the alternative (that's what we report in the table in this repo)

kapture_colmap_localize_localsfm.py require matches from query<->map(x topk) but also map(x topk) <->map(x topk) [this is what is much slower, there are a lot more matches to compute/store]. This was our initial implementation but the speed was not practical, hence then other implementation (remember the goal here is to compare global features, so the performance do not matter as much).

shuimushan commented 11 months ago

Thanks for your reply!