yewzijian / RegTR

End-to-end Point Cloud Correspondences with Transformers
MIT License
219 stars 27 forks source link

Question about calculating the overlapping regions of source cloud and target cloud #27

Open CorgiBoyG opened 3 months ago

CorgiBoyG commented 3 months ago

Your work is great, I've recently been debugging your code to compare algorithms, but I've noticed that there seems to be an ambiguity. In pointcloud.py, when you calculate the overlap region between the source and target point clouds, you first fill _tgtcorr, _srccorr with a value of -1, and then calculate the correspondence: _src_corr_is_mutual = np.logical_and(tgt_corr[src_corr] == np.arange(len(src_corr)), srccorr > 0). Shouldn't "_srccorr > 0" be adjusted to "_srccorr >= 0", because the index value starts from 0, and it's correct if for a point in the source point cloud, it has to be indexed to 0 for the target point.

yewzijian commented 3 months ago

Hi, I took a quick look, and seems like you are right. I don’t think it affects the result much, but I will fix this once I verify it more closely. Thanks for pointing this out!

On Wed, 26 Jun 2024 at 2:46 PM, CorgiBoyG @.***> wrote:

Your work is great, I've recently been debugging your code to compare algorithms, but I've noticed that there seems to be an ambiguity. In pointcloud.py, when you calculate the overlap region between the source and target point clouds, you first fill tgt_corr, src_corr with a value of -1, and then calculate the correspondence: src_corr_is_mutual = np.logical_and(tgt_corr[src_corr] == np.arange(len(src_corr)), src_corr > 0). Shouldn't "src_corr > 0" be adjusted to "src_corr >= 0", because the index value starts from 0, and it's correct if for a point in the source point cloud, it has to be indexed to 0 for the target point.

— Reply to this email directly, view it on GitHub https://github.com/yewzijian/RegTR/issues/27, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADIBP6Y35TFHKXAOEYPCG73ZJJPTFAVCNFSM6AAAAABJ5G4RYKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGM3TINBZGMYDONQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

CorgiBoyG commented 3 months ago

Hi, I took a quick look, and seems like you are right. I don’t think it affects the result much, but I will fix this once I verify it more closely. Thanks for pointing this out! On Wed, 26 Jun 2024 at 2:46 PM, CorgiBoyG @.> wrote: Your work is great, I've recently been debugging your code to compare algorithms, but I've noticed that there seems to be an ambiguity. In pointcloud.py, when you calculate the overlap region between the source and target point clouds, you first fill tgt_corr, src_corr with a value of -1, and then calculate the correspondence: src_corr_is_mutual = np.logical_and(tgt_corr[src_corr] == np.arange(len(src_corr)), src_corr > 0). Shouldn't "src_corr > 0" be adjusted to "src_corr >= 0", because the index value starts from 0, and it's correct if for a point in the source point cloud, it has to be indexed to 0 for the target point. — Reply to this email directly, view it on GitHub <#27>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADIBP6Y35TFHKXAOEYPCG73ZJJPTFAVCNFSM6AAAAABJ5G4RYKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGM3TINBZGMYDONQ . You are receiving this because you are subscribed to this thread.Message ID: @.>

Excuse me, thank you for your response and thank you again for the outstanding work you do. The network you designed for point cloud registration is very powerful and inspiring.