Open SvenMuc opened 3 years ago
Hi, @SvenMuc,
When we convert the point cloud from rosbag to bin file, we only normalize the intensity value by dividing 255 to make the range is between 0 to 1. We didn't change the x,y,z values.
When feeding the 2d data into the model, we normalize the data by its std and mean. Did you do that?
Yes, the normalization I do. The whole pipeline is running perfectly with the bin files. I added the division by 255 for the intensity as well. No the point cloud inputs are looking well.
But I still get bad results. It seems, that you did some coordinate transformations. The people walking behind the robot are positioned centrally in the projected images in the bin files. In the rosbags they appear at the outer left/right edge of the projection image.
Could you give me some further hints?
Hi, @SvenMuc,
Sorry, but can you try to divide the intensity by 65535. I remember that the range of the ouster intensity is larger than 255. Thanks!
@SvenMuc Could you see if the PLY formatted clouds align with either of the projections you have produced here? The bin
files were derived from the ply
files, which were extracted directly from the rosbags.
Hi, I am running into the same issue as well when trying to reproduce the benchmark using Salsanext. Just wanted to ask, do you convert the pointcloud from rosbag to PLY and then to KITTY .bin or rosbag to KITTY .bin directly? Also which rostopic node is used? /velodyne_points or /os1_cloud_node/points?
Hi, @chijie1998,
Sorry for the late reply! We convert the point cloud directly from the rosbag using /os1_cloud_node/points topic. For the intensity value, we divided it by 65535.
I hope it helps!
Hi, @maskjp Thanks for your reply, could you please provide the code/rosnode for converting and saving the /os1_cloud_node/points rostopic to Kitty .bin files? I tried my own converting method but I am getting some weird inferring results (i am using the 60s rosbag in 00000_00.bag). I am suspecting that it is the conversion from bag to bin which causes the problem because i am able to reproduce the benchmark without any problem using the .bin files provided.
Result by converting from rosbag :
Result using .bin downloaded directly :
Looking forward to your reply :)
Hi, @chijie1998 ,
I upload a script to convert a ply file to a bin file. Please take a look at it.
For rosbag to bin file, it's the same. The key is to divide the intensity value by 65535.
I hope this helps!
If you still have problems, please feel free to contact me.
Best wishes!
Hi @maskjp,
Thank you! Great news, I am able to get the results by convert the ros topic to pcd (Using ros_pcl) and then to .bin with intensity divide by 65535.
Just curious, how do you get the .ply file because I could'nt find any library in ros to this type of conversion. Also, can we do segmentation on the point cloud from velodyne using the same model? Or this model is specifically for Ouster point cloud and need to retrain for velodyne point?
Hi @chijie1998
I believe PCL has function to save point cloud as PLY file. The model can't be used for the Velodyne point cloud. You need to retain a model for Velodyne point or use some domain adaptation method.
Hope this helps!
I'm trying to run the trained SalsaNext model directly on the provided rosbags. But it seems, that the projections results and thus the model output is different between the point cloud stored in the bag and bin files (range of intensity, max distance, etc.).
Into which coordinate system do I have to transform the point cloud to match the bin file format? Did you limit the min/max range? Did you apply any other data processing methods from bag --> bin format?
Spherical Projection of bag file Point Cloud
Spherical Projection of bin file Point Cloud