Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inquiry Regarding the Use of the "ring" Field in Point Cloud Segmentation #8

Open
HowieHepburn opened this issue Jan 8, 2025 · 1 comment
Assignees

Comments

@HowieHepburn
Copy link

I would like to express my sincere gratitude for your outstanding contributions to the open-source community. Your project, groundgrid, has been immensely helpful and inspiring, and I truly appreciate the effort and dedication that has gone into its development.

As I was using the project, I came across the use of the "ring" field in point cloud segmentation. Specifically, I noticed that the following code snippet includes certain predefined "ring" values (src/GroundSegmentation.cpp line 189):

const bool ground_point = point.ring == 40 || point.ring == 44 || point.ring == 48 || point.ring == 49 || point.ring == 60 || point.ring == 72;
This raises a few questions that I was hoping you could help clarify:

  1. What is the basis for determining these specific "ring" values?
  2. Does this fixed set of "ring" values imply that the segmentation method is tailored to a specific LiDAR model?
  3. If I were to use a different LiDAR device (from a different manufacturer, with a different number of beams/lines), how should I go about determining the appropriate "ring" values for segmentation?
  4. What potential issues might arise if these "ring" values are inaccurate or not properly adjusted for a different LiDAR model?

Your guidance on these questions would be incredibly helpful for me to better understand and adapt the segmentation method for my specific use case.
Thank you again for your exceptional work and for your time in addressing my queries. I greatly appreciate your support and look forward to hearing from you.

@Nussknacker
Copy link
Collaborator

Hi @HowieHepburn,

Thank you for your interest in our work.
The line you are asking about is simply a remnant of some now-deleted evaluation code, which is also why the variable is set but never read. I will remove it from the code.

The ring field is used in only one instance of the segmentation code (line 240). Its purpose is to filter out laser beams facing an upward direction and thus never hitting the ground. We have found it beneficial for LiDAR models such as the Velodyne VLS-128 or the Ouster OS1-64. If your LiDAR does not supply this field, you can remove this reference as well without sacrificing too much performance.
Additionally, you may find the following comment helpful: #5 (comment) which contains general information about parameter adjustments for other LiDAR sensors.

If you have further questions, please don't hesitate to ask here.

@Nussknacker Nussknacker self-assigned this Jan 9, 2025
dcmlr pushed a commit that referenced this issue Jan 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants