Closed shuimushan closed 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).
Thanks for your reply!
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