minwoo0611 / HeLiPR-Pointcloud-Toolbox

The HeLiPR Pointcloud Toolbox is a sophisticated software suite tailored for processing and analyzing the HeLiPR (Heterogeneous LiDAR Place Recognition) dataset.
30 stars 1 forks source link

Role of Velocity Data in Aeva LiDAR Point Cloud Accumulation #1

Closed arstek131 closed 7 months ago

arstek131 commented 7 months ago

Hello,

I've been exploring the PointCloudProcessor class, specifically focusing on how it processes and accumulates point cloud data from Aeva LiDAR sensors. I noticed that the class reads velocity data for each point (x, y, z coordinates, reflectivity, velocity, and time offset) but doesn't seem to explicitly use this velocity information in the accumulation process or for motion compensation within the accumulated cloud. Velocity information could theoretically enhance the accumulation process, especially for dynamic scenes. For instance, it could help identify moving objects within the scene and adjust their positions in the accumulated cloud based on their motion during the scan period.

Is the velocity data intended for use in future updates, for instance, for a better accumulation? Thanks

minwoo0611 commented 7 months ago

Hello @arstek131,

Thank you for your inquiry about the PointCloudProcessor class and its handling of velocity data from Aeva LiDAR sensors. The class is designed to be a general-purpose tool for processing various types of point cloud data. In striving for simplicity and generality, we currently do not incorporate specialized accumulators for each LiDAR's unique data, such as reflectivity, velocity, or time offsets. Our approach focuses on accumulating the spatial location (x, y, z) of each point using C++ template grammar, which allows for broad applicability across different point cloud sources.

Incorporating velocity data, along with other sensor-specific features, could indeed enhance the representation of dynamic scenes by allowing for motion compensation and more accurate object tracking within the accumulated point cloud. However, this would require implementing and maintaining separate accumulators for each specific LiDAR model and data type, significantly increasing the complexity and reducing the code's readability and generality.

While we currently do not plan to officially extend the PointCloudProcessor to include these features, the modular design and simplicity of the existing codebase make it possible for users to adapt and extend it according to their specific needs. If velocity data or other sensor-specific features are crucial for your application, we encourage you to modify the accumulation process accordingly. The existing framework should provide a solid foundation for integrating such enhancements.

Thank you for your understanding, and we appreciate your interest in contributing to the development and versatility of point cloud processing tools.

Best regards.