-
Notifications
You must be signed in to change notification settings - Fork 719
Description
When I ran the SuperPoint + SuperGlue on aachen, I got the results close to the reported baseline (day: 88.5 / 95.4 / 98.7 night: 86.7 / 92.9 / 100.0).
But when I ran SuperPoint + NN (NetVLAD top-30, NN with mutual check, distance threshold 0.7, covisibility clustering = False), the results were much lower than the reported baseline. 85.6 / 93.1 / 97.0 | 66.3 / 82.7 / 93.9
If I set the covisibility clustering = True, I got the following errors:
[2025/09/01 13:29:13 hloc INFO] Starting localization...
1%|█▍ | 12/922 [00:10<13:49, 1.10it/s]
Traceback (most recent call last):
File "/root/miniconda3/envs/hfnet/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/root/miniconda3/envs/hfnet/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/root/autodl-tmp/Hierarchical-Localization/hloc/pipelines/Aachen/pipeline.py", line 109, in
run(args)
File "/root/autodl-tmp/Hierarchical-Localization/hloc/pipelines/Aachen/pipeline.py", line 71, in run
localize_sfm.main(
File "/root/autodl-tmp/Hierarchical-Localization/hloc/localize_sfm.py", line 181, in main
ret, log = pose_from_cluster(
File "/root/autodl-tmp/Hierarchical-Localization/hloc/localize_sfm.py", line 108, in pose_from_cluster
ret = localizer.localize(kpq, mkp_idxs, mp3d_ids, query_camera, **kwargs)
File "/root/autodl-tmp/Hierarchical-Localization/hloc/localize_sfm.py", line 61, in localize
ret = pycolmap.estimate_and_refine_absolute_pose(
TypeError: estimate_and_refine_absolute_pose(): incompatible function arguments. The following argument types are supported:
1. (points2D: numpy.ndarray[numpy.float64[m, 2]], points3D: numpy.ndarray[numpy.float64[m, 3]], camera: pycolmap._core.Camera, estimation_options: pycolmap._core.AbsolutePoseEstimationOptions = AbsolutePoseEstimationOptions(), refinement_options: pycolmap._core.AbsolutePoseRefinementOptions = AbsolutePoseRefinementOptions(), return_covariance: bool = False) -> Optional[dict]Invoked with: array([], shape=(0, 2), dtype=float16), [], Camera(camera_id=Invalid, model=SIMPLE_RADIAL, width=1600, height=1200, params=[1469.2, 800, 600, -0.0353019] (f, cx, cy, k)); kwargs: estimation_options={'ransac': {'max_error': 12}}, refinement_options={}
How to solve this problem? Thanks.