zju3dv / DetectorFreeSfM

Code for "Detector-Free Structure from Motion", CVPR 2024
Apache License 2.0
612 stars 39 forks source link

TypeError: verify_matches(): incompatible function arguments. The following argument types are supported: 1. (database_path: str, pairs_path: str, options: pycolmap.TwoViewGeometryOptions = <pycolmap.TwoViewGeometryOptions object at 0x7fc5c1f493b0>) -> None #63

Open 1wangdashuai opened 1 month ago

1wangdashuai commented 1 month ago

Hello When I run this demo, I can't do geometry verification, his error is as follows

[2024/09/29 17:08:45 hloc INFO] Performing geometric verification of the matches... | 0/10 [00:00<?, ?it/s] 0%| | 0/1 [00:09<?, ?it/s] Error executing job with overrides: ['+demo=dfsfm.yaml'] Traceback (most recent call last): File "/root/autodl-tmp/DetectorFreeSfM-main/eval_dataset.py", line 191, in main globals()cfg.type File "/root/autodl-tmp/DetectorFreeSfM-main/eval_dataset.py", line 149, in eval_dataset metric_dict = eval_core(scene_paths, cfg) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/autodl-tmp/DetectorFreeSfM-main/eval_dataset.py", line 59, in eval_core metric_dict = DetectorFreeSfM( ^^^^^^^^^^^^^^^^ File "/root/autodl-tmp/DetectorFreeSfM-main/src/detectorfree_sfm.py", line 126, in DetectorFreeSfM coarse_SfM_runner( File "/root/autodl-tmp/DetectorFreeSfM-main/src/sfm_runner/coarse_sfm_runner.py", line 71, in coarse_SfM_runner reconstruction.main(Path(colmap_output_path), Path(temp_images_path), Path(pair_path), Path(feature_out), Path(match_out), Path(prior_intrin_path) if prior_intrin_path is not None else None, verbose=verbose, colmap_configs=colmap_configs) File "/root/autodl-tmp/DetectorFreeSfM-main/third_party/Hierarchical_Localization/hloc/reconstruction.py", line 174, in main estimation_and_geometric_verification(database, pairs, verbose, max_error=max_error) File "/root/autodl-tmp/DetectorFreeSfM-main/third_party/Hierarchical_Localization/hloc/triangulation.py", line 137, in estimation_and_geometric_verification pycolmap.verify_matches( TypeError: verify_matches(): incompatible function arguments. The following argument types are supported:

  1. (database_path: str, pairs_path: str, options: pycolmap.TwoViewGeometryOptions = <pycolmap.TwoViewGeometryOptions object at 0x7fc5c1f493b0>) -> None

Invoked with: '/root/autodl-tmp/DetectorFreeSfM-main/SfM_dataset/example_dataset/example_scene/DetectorFreeSfM_loftr_official_coarse_onlyscratch_no_intrin/colmap_coarse/database.db', '/root/autodl-tmp/DetectorFreeSfM-main/SfM_dataset/example_dataset/example_scene/DetectorFreeSfM_loftr_official_coarse_onlyscratch_no_intrin/temp_output/pairs.txt'; kwargs: max_num_trials=20000, min_inlier_ratio=0.1

Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.

Can you inform me of the solution

rocketzhong commented 1 month ago

You need an old version of pycolmap. You can try pip install pycolmap==0.6.1