XuyangBai / PointDSC

[PyTorch] Official implementation of CVPR2021 paper "PointDSC: Robust Point Cloud Registration using Deep Spatial Consistency". https://arxiv.org/abs/2103.05465
243 stars 37 forks source link

A question about the result of 3DRegNet. #12

Closed QWTforGithub closed 2 years ago

QWTforGithub commented 2 years ago

Hi, thank you very much for your well-organized pointDSC code. I noticed the experimental result of 3DRegNet on 3DMatch in your paper. Would you like to provide the code of 3DRegNet on 3DMatch? Thank you very much!

XuyangBai commented 2 years ago

Hi, thanks for your interest. As shown in our paper (Supplementary 7.2) 3DRegNet does not work well on 3DMatch with their registration block so I only use the classification block to produce the inlier probability. Then 3DRegNet becomes a variant of PointCN (Learning to find good correspondence paper) which is the same as the following module (but you should uncomment the InstanceNorm first). I believe you can quickly derive a 3DRegNet model and use our implementation to train it by yourself.

https://github.com/XuyangBai/PointDSC/blob/b009d536ac10b570853833f2178397c154745da9/models/PointDSC.py#L55-L62

QWTforGithub commented 2 years ago

Thank you very much for your reply. I'd like to confirm again: 1) Uncomment # nn.InstanceNorm1d(num_channels) 2) comment Self.blocks [f'NonLocallayer{I}'] = NonLocalBlock(num_channels) Should I do this?

XuyangBai commented 2 years ago

Yes, that setting is what I used during my experiment.

QWTforGithub commented 2 years ago

Hi, thanks for your interest. As shown in our paper (Supplementary 7.2) 3DRegNet does not work well on 3DMatch with their registration block so I only use the classification block to produce the inlier probability. Then 3DRegNet becomes a variant of PointCN (Learning to find good correspondence paper) which is the same as the following module (but you should uncomment the InstanceNorm first). I believe you can quickly derive a 3DRegNet model and use our implementation to train it by yourself.

https://github.com/XuyangBai/PointDSC/blob/b009d536ac10b570853833f2178397c154745da9/models/PointDSC.py#L55-L62

And, I only use classified loss to train the network, i.e. BCE loss in pointDSC?

Yes, that setting is what I used during my experiment.