yewzijian / 3DFeatNet

3DFeat-Net: Weakly Supervised Local 3D Features for Point Cloud Registration
MIT License
220 stars 46 forks source link

Non-Maximal Suppression #8

Closed XuyangBai closed 5 years ago

XuyangBai commented 5 years ago

Hi, Thank you for sharing your code. When I read your paper, I got confused about the non-maximal suppression in inference stage. What do you mean by

We apply non-maximal suppression over a fixed radius r_nms around each point, and keep the remaining M points with the highest attention weights.

I know how to do the non maximal suppression in object detection, but I can not understand the steps here. In my understanding, points in the same cluster share the same feature vectors and attention weights, then how can you apply NMS and what's the effect of it?

Thank you for your time !

yewzijian commented 5 years ago

Hi @XuyangBai, thanks for the interest in our paper. During inference, we compute the attention and features for all points (i.e. we assume all points are cluster centers). This can be done since each feature/attention only requires local information to compute. Unfortunately, this also means it requires time proportional to the number of points in the point cloud, which is something we hope to tackle in the future.

XuyangBai commented 5 years ago

Thanks for your clear explanation. It makes sense to me.

XuyangBai commented 5 years ago

Hi, I reopen this issue because I am confused about this sentence

Unfortunately, this also means it requires time proportional to the number of points in the point cloud

Why donot you input all the clusters as a batch to get the attention for all points ? Is it because the memory issue? And how large is the radius for the local patches?

yewzijian commented 5 years ago

Yes, it's because of memory issue. For a 11GB GPU you should be able to handle more than 10000k points at one go without issue though. The radius is by default set at 2.0 (controlled via the --base_scale flag). Note that only up to 64 points is sampled per cluster (again due to GPU memory), so you might want to play around with that if you change the radius.

XuyangBai commented 5 years ago

Thanks a lot !