prs-eth / OverlapPredator

[CVPR 2021, Oral] PREDATOR: Registration of 3D Point Clouds with Low Overlap.
https://shengyuh.github.io/predator/index.html
MIT License
512 stars 73 forks source link

RuntimeError - probably no correspondences found? #38

Closed blukaz closed 2 years ago

blukaz commented 2 years ago

Hi,

thanks a lot for your interesting research work. While running your model I encounter this error: Traceback (most recent call last): File "/data/visioni06/OverlapPredator/scripts/demo.py", line 260, in <module> demo_loader, neighborhood_limits = get_dataloader(dataset=demo_set, File "/data/visioni06/OverlapPredator/datasets/dataloader.py", line 261, in get_dataloader neighborhood_limits = calibrate_neighbors(dataset, dataset.config, collate_fn=collate_fn_descriptor) File "/data/visioni06/OverlapPredator/datasets/dataloader.py", line 209, in calibrate_neighbors batched_input = collate_fn([dataset[i]], config, neighborhood_limits=[hist_n] * 5) File "/data/visioni06/OverlapPredator/datasets/dataloader.py", line 125, in collate_fn_descriptor conv_i = batch_neighbors_kpconv(batched_points, batched_points, batched_lengths, batched_lengths, r, neighborhood_limits[layer]) File "/data/visioni06/OverlapPredator/datasets/dataloader.py", line 66, in batch_neighbors_kpconv neighbors = cpp_neighbors.batch_query(queries, supports, q_batches, s_batches, radius=radius) RuntimeError: Error

My guess that the reason is that no correspondences are found.

If you need more info just let me know.

Thanks!

zgojcic commented 2 years ago

Can you please check that the cpp extensions are correctly compiled (test it with some random data) and that the inputs to line 66 are all populated?

Best Zan

blukaz commented 2 years ago

Hi, thanks for the response. The code works fine, I've trained the model on my custom data (synthetic) without any trouble. Now, I'm trying to infer on real data, and I get the error from above. However, I did some further investigation and found that the problem is in the real data since it contains NaNs. I've just removed the nan values and it works now. Anyway, thanks for the hint!

Best, Bare