l1997i / DurLAR

(3DV 2021) A High-fidelity 128-channel LiDAR Dataset with Panoramic Ambient and Reflectivity Imagery for Multi-modal Autonomous Driving Applications
MIT License
29 stars 1 forks source link

Significant Number of Points at Coordinates (0,0,0) in ouster_points .bin Files #10

Closed samuelss1996 closed 2 weeks ago

samuelss1996 commented 1 month ago

I have been exploring the DurLAR dataset, specifically the ouster_points .bin files, and I have noticed that a substantial proportion of the points (approximately 40% for each frame) have their coordinates set to (0,0,0). This appears to be an unusually high percentage and I am concerned that it might indicate an issue with my processing pipeline. Is this the expected behaviour or am I missing something?

Here's my code for reading the .bin files in Python:

def load_binary(file_path):
    data = np.fromfile(file_path, dtype=np.float32)
    data = data.reshape((-1, 4))  # Assuming the format is x, y, z, intensity
    points = data[:, :3]
    intensity = data[:, 3]

    return points, intensity
l1997i commented 4 weeks ago

This issue might be related to the sparsity of the point cloud. You could try visualizing these point clouds first and check if the same problem exists in other frames as well.

gfkri commented 2 weeks ago

The point clouds I analyzed (e.g., DurLAR_20210716_S) consistently contained exactly 262,144 points. This suggests that the data includes all recording positions from the spinning LiDAR, which has 128 vertical beams and a horizontal resolution of 2048 points (128 x 2048 = 262,144). Consequently, the loaded point cloud from the binary file includes all dropouts (e.g., no returns due to range exceeding the maximum range). To clean the data, I recommend filtering out all points with a range smaller than a specified epsilon value. I hope this helps;) BR

l1997i commented 2 weeks ago

The point clouds I analyzed (e.g., DurLAR_20210716_S) consistently contained exactly 262,144 points. This suggests that the data includes all recording positions from the spinning LiDAR, which has 128 vertical beams and a horizontal resolution of 2048 points (128 x 2048 = 262,144). Consequently, the loaded point cloud from the binary file includes all dropouts (e.g., no returns due to range exceeding the maximum range). To clean the data, I recommend filtering out all points with a range smaller than a specified epsilon value. I hope this helps;) BR

Thank you very much for your insights. Filtering out those points as a preprocessing step before training is always a good practice and can help improve the quality of the data.

samuelss1996 commented 2 weeks ago

The point clouds I analyzed (e.g., DurLAR_20210716_S) consistently contained exactly 262,144 points. This suggests that the data includes all recording positions from the spinning LiDAR, which has 128 vertical beams and a horizontal resolution of 2048 points (128 x 2048 = 262,144). Consequently, the loaded point cloud from the binary file includes all dropouts (e.g., no returns due to range exceeding the maximum range). To clean the data, I recommend filtering out all points with a range smaller than a specified epsilon value. I hope this helps;) BR

Makes so much sense. Thank you