cvg / pixloc

Back to the Feature: Learning Robust Camera Localization from Pixels to Pose (CVPR 2021)
Apache License 2.0
735 stars 92 forks source link

when run "python3 -m pixloc.run_Aachen --from_poses" meet an error!!! #23

Open ccy-ustb opened 2 years ago

ccy-ustb commented 2 years ago

hello,@Skydes ,When I run Aachen according to the steps you mentioned, I encountered an error as shown below. Can you help me solve it? thank you!!!

caochengyang@caochengyang-Lenovo-Legion-R9000P2021H:~/pixloc$ python3 -m pixloc.run_Aachen --from_poses True [12/02/2021 10:54:15 pixloc INFO] Parsed configuration: experiment: pixloc_megadepth features: preprocessing: resize: 1600 optimizer: num_iters: 50 pad: 1 refinement: num_dbs: 5 min_points_opt: 100 point_selection: inliers normalize_descriptors: true average_observations: true layer_indices:

[12/02/2021 10:54:15 pixloc.localization.model3d INFO] Reading COLMAP model /home/caochengyang/pixloc/outputs/hloc/Aachen/sfm_superpoint+superglue. [12/02/2021 10:54:27 pixloc.utils.io INFO] Imported 824 images from day_time_queries_with_intrinsics.txt [12/02/2021 10:54:27 pixloc.utils.io INFO] Imported 98 images from night_time_queries_with_intrinsics.txt [12/02/2021 10:54:27 pixloc.pixlib.utils.experiments INFO] Loading checkpoint checkpoint_best.tar [12/02/2021 10:54:32 pixloc.localization.localizer INFO] Reading hloc logs... Traceback (most recent call last): File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "/usr/lib/python3.8/runpy.py", line 87, in _run_code exec(code, run_globals) File "/home/caochengyang/pixloc/pixloc/run_Aachen.py", line 77, in main() File "/home/caochengyang/pixloc/pixloc/run_Aachen.py", line 66, in main localizer = PoseLocalizer(paths, conf) File "/home/caochengyang/pixloc/pixloc/localization/localizer.py", line 145, in init with open(paths.log_path, 'rb') as f: AttributeError: 'Paths' object has no attribute 'log_path'

fulkast commented 2 years ago

I was able to run run_CMU.py after incorporating the changes in PR #24. To run on Aachen, feel free to check out the PR branch and update the log_path parameter in run_Aachen.py, like is done here for CMU: https://github.com/ori-drs/pixloc/blob/517691c924e655850d9acac45b84a89164fdf9f1/pixloc/run_CMU.py#L16

ccy-ustb commented 2 years ago

Thank you very much@fulkast, I successfully solved this problem, but this is the result when I run the Aachen dataset with python3 -m pixloc.run_Aachen --from_poses, which does not match the one given in the paper. What is the problem? do you know?

The first two lines are the result of ''running python3 -m pixloc.run_Aachen'' and the third line is the result of running ''python3 -m pixloc.run_Aachen --from_poses''

pixloc_aachen

sarlinpe commented 2 years ago
@caochengyang0828 The expected results are: 64.4 / 69.8 / 77.3 50.0 / 55.1 / 67.3

I am not able to help without more info about your setup: package versions, console output, latest commit hash.

ccy-ustb commented 2 years ago

@Skydes,Thank you for replying to me

Below is the information that you asked for,please let me know if anything looks unexpected. 1.pip freeze on the main libraries shows the following: numpy==1.21.3 torch==1.10.0+cu113 torchvision==0.11.1+cu113 opencv-python==4.5.4.58 I will also attach the full pip freeze output: pip_freeze.txt

2.This is the console output when I run ’python3 -m pixloc.run_Aachen --from_poses’

caochengyang@caochengyang-Lenovo-Legion-R9000P2021H:~/pixloc$ python3 -m pixloc.run_Aachen --from_poses True [12/04/2021 23:13:17 pixloc INFO] Parsed configuration: experiment: pixloc_megadepth features: preprocessing: resize: 1600 optimizer: num_iters: 50 pad: 1 refinement: num_dbs: 5 min_points_opt: 100 point_selection: inliers normalize_descriptors: true average_observations: true layer_indices:

[12/04/2021 23:13:17 pixloc.localization.model3d INFO] Reading COLMAP model /home/caochengyang/pixloc/outputs/hloc/Aachen/sfm_superpoint+superglue. [12/04/2021 23:13:29 pixloc.utils.io INFO] Imported 824 images from day_time_queries_with_intrinsics.txt [12/04/2021 23:13:29 pixloc.utils.io INFO] Imported 98 images from night_time_queries_with_intrinsics.txt [12/04/2021 23:13:29 pixloc.pixlib.utils.experiments INFO] Loading checkpoint checkpoint_best.tar [12/04/2021 23:13:33 pixloc.localization.localizer INFO] Reading hloc logs... [12/04/2021 23:13:42 pixloc.localization.localizer INFO] Starting the localization process... 0%| | 0/922 [00:00<?, ?it/s][12/04/2021 23:13:42 pixloc.localization.localizer INFO] Out of memory 40%|████████████████████████████████████████████████████████████████████████████▊ | 369/922 [13:31<21:05, 2.29s/it]100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 922/922 [33:22<00:00, 2.17s/it] [12/04/2021 23:47:05 pixloc.utils.io INFO] Writing the localization results to/home/caochengyang/pixloc/outputs/results/pixloc_Aachen.txt.

3.This is the latest result I submitted on the benchmark,It's on the last line: aachen05

this is the original file submitted: pixloc_Aachen.txt

bayesyf commented 2 years ago

do you have solve this problem? I just try the Aachen,and add the hloc_logs path, but the results are same as yours