maudzung / SFA3D

Super Fast and Accurate 3D Object Detection based on 3D LiDAR Point Clouds (The PyTorch implementation)
https://github.com/maudzung/Super-Fast-Accurate-3D-Object-Detection
MIT License
1k stars 271 forks source link

Different intensity range and scale for different lidar? #64

Closed ZhengXinyue closed 2 years ago

ZhengXinyue commented 2 years ago

Hi, thanks for your excellent work and I have successfully made it work with kitti dataset.
But in the ros version, the pointcloud data process is a little different:

gen = []
    for p in pc2.read_points(scan, field_names=("x", "y", "z", "intensity"), skip_nans=True):
        gen.append(np.array([p[0], p[1], p[2], p[3] / 100.0]))
    gen_numpy = np.array(gen, dtype=np.float32)

The intensity is divided by 100.
Is this because the pointcloud in kitti dataset has been divided by 100 when collected and stored? So it also needs this division in the ros version?
I also notice that the range of pointcloud in kitti dataset is [0, 0.99] as is showed in rviz, so does it really needs to be divided by 100? And when training with pointcloud, the code does not do any data augmentation...
Finally, my lidar is not Velodyne-64, it is Ouster OS-1, I find that the intensity range in a scene is from 0 to about 3300, far away from [0, 0,99], what should I do to keep the data distribution consistent? Divide it by the max intensity and then divide it by 100 to make it distributed in [0, 0.99]? I don't know...

maudzung commented 2 years ago

Hi @ZhengXinyue Thanks for your points. I think there's a bug in the ROS implementation. Let me double-check the issue.

rohithsaro commented 2 years ago

@ZhengXinyue Heyy, i am facing the same issue with the Ouster OS-1, just wanted to know whether you solved it ? :)

ZhengXinyue commented 2 years ago

@ZhengXinyue Heyy, i am facing the same issue with the Ouster OS-1, just wanted to know whether you solved it ? :)

No, the author doesn't reply since then. @rohithsaro

AmirpooyaSh commented 1 year ago

@ZhengXinyue Any updates ? I tried to use VLP-16 publishing message into the ROS extension, but it can not detect any object and I believe it's because of that intensity divider value ! I didn't get any response from @AhmedARadwan as well :(.