PRBonn / OverlapNet

OverlapNet - Loop Closing for 3D LiDAR-based SLAM (chen2020rss)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Question about computing overlap ground truth

chienerh opened this issue · comments

Hi, thanks for your great work!

I have a question while looking into how you generate the ground truth (demo 4).
In the paper, you mentioned that you use P_1 and P_2 and compute the overlap value with equation 3. And the result of it is figure 2 (a).
However, I am still not quite sure how you compute the overlap value ground truth shown in figure (c).
By looking into the com_overlap_yaw() function, you seem to compare the same point cloud with a different pose.
What confuses me is that reference_range and current_range are using the same point cloud, not P_1 and P_2.

It would be great if you could explain more. Thanks!

Hey @chienerh,

Thank you for the feedback. I will carefully review the code and reply to you soon.

Hey @chienerh,

Thank you so much to point the problem out!

You are right. The old script is wrong, which may be caused when we created the demo.

I've already corrected the function and please have a check here

Thank you again for following our work and help us to improve our code!

Best,
Xieyuanli

Hi @Chen-Xieyuanli,

Thanks a lot for the quick responding.
The updated code makes sense for me now.
Thanks for your update!

Hi @Chen-Xieyuanli, following this issue, I see the com_overlap_yaw() function, when you compute the overlap:
overlap = np.count_nonzero( abs(reference_range[reference_range > 0] - current_range[reference_range > 0]) < 1) / valid_num overlaps.append(overlap)
I understood the idea is to account only valid points, so I assume, we should have current_range[current_range > 0] rather than current_range[reference_range > 0] here? Let me know what do you think, thanks.