The poor ATE on ScanNet
Hi @Willyzw , thank you so much for your excellent work!!!
When I eval ScanNet scene0059_00, I get poor ATE result (61.61cm)
I'm sure that my dataset has been preprocessed using your provided script ''preprocess_scannet.py'', and the config & environment are same to README. The final result is as follows:
Could you give me some advice? Thank you and best wishes!!!
The traj.txt from preprocess_scannet.py is as follows traj.txt
When I deleted all 0 rows (invalid GTs) in traj.txt and the corresponding rows of data in traj_full.txt, the ATE results became normal! But there is still a obvious gap with the paper result. The specific gaps are shown below:
ATE: 0.6 cm PSNR: 1 point SSIM: 2 points LPIPS: 2.5 points
Could you give me some advice? Thank you and best wishes!!!
The traj.txt from preprocess_scannet.py is as follows traj.txt
(hislam2) gx@DESKTOP-UJ6NTN6:~/HISLAM2 (3)$ CUDA_LAUNCH_BLOCKING=1 python demo.py --imagedir data/scene0059_00/color --calib calib/scannet.txt --config config/scannet_config.yaml --output outputs/scene0059 \
Processing keyframe 2 gs 0: 100%|█████████████████████████████████████████████████████████| 1024/1024 [00:29<00:00, 34.62it/s] Traceback (most recent call last): File "/home/gx/HISLAM2 (3)/demo.py", line 135, in traj = hi2.terminate() File "/home/gx/HISLAM2 (3)/hislam2/hi2.py", line 117, in terminate d_covis = self.video.distance_covis(torch.arange(1, self.video.counter.value-1, device='cuda')) File "/home/gx/HISLAM2 (3)/hislam2/depth_video.py", line 218, in distance_covis d = d * (1. / self.disps[ii].median()) File "/home/gx/anaconda3/envs/hislam2/lib/python3.9/site-packages/torch/_tensor.py", line 40, in wrapped return f(*args, **kwargs) File "/home/gx/anaconda3/envs/hislam2/lib/python3.9/site-packages/torch/_tensor.py", line 913, in rdiv return self.reciprocal() * other RuntimeError: CUDA error: invalid configuration argument Compile with TORCH_USE_CUDA_DSA to enable device-side assertions.
[W CudaIPCTypes.cpp:15] Producer process has been terminated before all shared CUDA tensors released. See Note [Sharing CUDA tensors]
The error message above is what I encountered when running the scene0059_00 dataset. I observed that the scene0059_00 dataset only has 1024 images, and the image quality is very low. Is it because of this reason that not enough keyframes are captured, making it difficult to initialize the map? Thank you for your answer.
Hi @galahies , sorry I never meet this question. Maybe check that the images are load in the correct order?
Hi @galahies , sorry I never meet this question. Maybe check that the images are load in the correct order?
HI,This seems to be a problem with the config file. When I use scannet_config.yaml as my config file, the above error message will appear, but when I use replica_config.yaml, the program can initialize the Gaussian map normally, but there will be problems with the subsequent parts. Can you provide your config file for me to refer to, thank you for your answer, thank you very much
Hi @galahies , sorry I never meet this question. Maybe check that the images are load in the correct order?
HI,This seems to be a problem with the config file. When I use scannet_config.yaml as my config file, the above error message will appear, but when I use replica_config.yaml, the program can initialize the Gaussian map normally, but there will be problems with the subsequent parts. Can you provide your config file for me to refer to, thank you for your answer, thank you very much
The traj.txt from preprocess_scannet.py is as follows traj.txt
(hislam2) gx@DESKTOP-UJ6NTN6:~/HISLAM2 (3)$ CUDA_LAUNCH_BLOCKING=1 python demo.py --imagedir data/scene0059_00/color --calib calib/scannet.txt --config config/scannet_config.yaml --output outputs/scene0059 \
Processing keyframe 2 gs 0: 100%|█████████████████████████████████████████████████████████| 1024/1024 [00:29<00:00, 34.62it/s] Traceback (most recent call last): File "/home/gx/HISLAM2 (3)/demo.py", line 135, in traj = hi2.terminate() File "/home/gx/HISLAM2 (3)/hislam2/hi2.py", line 117, in terminate d_covis = self.video.distance_covis(torch.arange(1, self.video.counter.value-1, device='cuda')) File "/home/gx/HISLAM2 (3)/hislam2/depth_video.py", line 218, in distance_covis d = d * (1. / self.disps[ii].median()) File "/home/gx/anaconda3/envs/hislam2/lib/python3.9/site-packages/torch/_tensor.py", line 40, in wrapped return f(*args, **kwargs) File "/home/gx/anaconda3/envs/hislam2/lib/python3.9/site-packages/torch/_tensor.py", line 913, in rdiv return self.reciprocal() * other RuntimeError: CUDA error: invalid configuration argument Compile with TORCH_USE_CUDA_DSA to enable device-side assertions.
[W CudaIPCTypes.cpp:15] Producer process has been terminated before all shared CUDA tensors released. See Note [Sharing CUDA tensors]
The error message above is what I encountered when running the scene0059_00 dataset. I observed that the scene0059_00 dataset only has 1024 images, and the image quality is very low. Is it because of this reason that not enough keyframes are captured, making it difficult to initialize the map? Thank you for your answer.
I got the same problem, can we discuss a bit about it?
Hi @galahies , sorry I never meet this question. Maybe check that the images are load in the correct order?
HI,This seems to be a problem with the config file. When I use scannet_config.yaml as my config file, the above error message will appear, but when I use replica_config.yaml, the program can initialize the Gaussian map normally, but there will be problems with the subsequent parts. Can you provide your config file for me to refer to, thank you for your answer, thank you very much
Hi @galahies , I use the scannet_config.txt provided by author.
In fact, my scene0059_00 dataset have 1807 images but not 1024. I don't know why we are different. Here are the first and last frames.
I hope this helps.
Hi @galahies , sorry I never meet this question. Maybe check that the images are load in the correct order?
HI,This seems to be a problem with the config file. When I use scannet_config.yaml as my config file, the above error message will appear, but when I use replica_config.yaml, the program can initialize the Gaussian map normally, but there will be problems with the subsequent parts. Can you provide your config file for me to refer to, thank you for your answer, thank you very much
Hi @galahies , I use the scannet_config.txt provided by author.
In fact, my scene0059_00 dataset have 1807 images but not 1024. I don't know why we are different. Here are the first and last frames.
I hope this helps.
Thank you very much for your answer, this problem has been troubling me for a long time. I used the C++ version of the SensReader tool to process the scene0059_00 dataset, and only 1024 images were processed. Can I have your contact information, I want to seek some help from you on data set processing, my WeChat is: gxsama1105, my QQ is: 2360768211, I am very grateful for your help, if it's convenient, I think we can exchange contact information and learn together Wish you success in your research