XuyangBai / D3Feat

[TensorFlow] Official implementation of CVPR'20 oral paper - D3Feat: Joint Learning of Dense Detection and Description of 3D Local Features https://arxiv.org/abs/2003.03164
MIT License
261 stars 38 forks source link

How to evaluate ETH dataset #26

Closed mtli77 closed 3 years ago

mtli77 commented 4 years ago

Hi @XuyangBai Sorry for the bother again! I am trying to evaluate the ETH dataset using result which is been tested on the kitti model. I ran the script D3Feat/geometric_registration_eth/ evaluate_eth.py, errors reports here:

multiprocessing.pool.RemoteTraceback: 
"""
Traceback (most recent call last):
  File "/home/ubuntu/.conda/envs/tia36/lib/python3.6/multiprocessing/pool.py", line 119, in worker
    result = (True, func(*args, **kwds))
  File "/home/ubuntu/.conda/envs/tia36/lib/python3.6/multiprocessing/pool.py", line 44, in mapstar
    return list(map(*args))
  File "/disk/tia/D3Feat/geometric_registration_eth/evaluate_eth.py", line 100, in deal_with_one_scene
    os.mkdir(f"/disk/tia/D3Feat/geometric_registration_eth/pred_result/{scene}/")
FileNotFoundError: [Errno 2] No such file or directory: '/disk/tia/D3Feat/geometric_registration_eth/pred_result/wood_summer/'
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/disk/tia/D3Feat/geometric_registration_eth/evaluate_eth.py", line 136, in <module>
    pool.map(func, scene_list)
  File "/home/ubuntu/.conda/envs/tia36/lib/python3.6/multiprocessing/pool.py", line 266, in map
    return self._map_async(func, iterable, mapstar, chunksize).get()
  File "/home/ubuntu/.conda/envs/tia36/lib/python3.6/multiprocessing/pool.py", line 644, in get
    raise self._value
FileNotFoundError: [Errno 2] No such file or directory: '/disk/tia/D3Feat/geometric_registration_eth/pred_result/wood_summer/'

I revised the function deal_with_one_scene and found that the pred_result folder can't be generated.

    if not os.path.exists(f"pred_result/{scene}/"):
        os.mkdir(f"pred_result/{scene}/")

So, how to solve this problem? Thank you very much!

XuyangBai commented 4 years ago

You should first create the folder pred_result manually, then the folder for each scene can be generated.