ethz-asl / segmap

A map representation based on 3D segments
BSD 3-Clause "New" or "Revised" License
1.06k stars 394 forks source link

Question regarding ground segmentation #38

Closed miketry0313 closed 7 years ago

miketry0313 commented 7 years ago

Does the latest update involving implementing ground segmentation on point cloud XYZ data? If yes, would you please instruct which source file I can find the related feature?

Thanks a lot for sharing your work!

dotPiano commented 7 years ago

Hi @miketry0313,

@rdube can be more precise when he's back in a couple of weeks. As far as I know, ground segmentation simply consists in removing points with a threshold on Z and happens here: https://github.com/ethz-asl/laser_slam/blob/master/laser_slam_ros/src/laser_slam_worker.cpp#L221

Hope it helps! :)

rdube commented 7 years ago

Hi @miketry0313, @dotPiano was right. In the current implementation and for operating on the KITTI dataset, ground removal is performed by filtering out points below a certain height in sensor frame, as we know the height of the sensor. This is actually happening here: https://github.com/ethz-asl/laser_slam/blob/master/laser_slam/src/laser_track.cpp#L147 and here is one example parameter file for this libpointmatcher filter: https://github.com/ethz-asl/segmatch/blob/master/laser_mapper/launch/kitti/input_filters_outdoor.yaml#L8

We have an implementation of a ground segmentation technique which is not yet open-sourced. @lorenwel did you plan on making your implementation available?

lorenwel commented 7 years ago

I have no immediate plans to make the implementation of ground segmentation public but I can certainly do that if there's demand. It is an implementation of the algorithm proposed by Himmelsbach et al. (2010) in "Fast segmentation of 3D point clouds for ground vehicles"

I would have to write some minimal documentation, since there currently is none (except for code comments). @miketry0313 Let me know if you plan on actually using the ground segmentation and I'll do that. If you just want an understanding of how the ground segmentation algorithm works you can refer to the paper.

miketry0313 commented 7 years ago

Hi @lorenwel, I definitely want to implement your algorithm code since my implementation of a simple ground height threshold filter was not work well on lots of scenario in KITTI dataset. I would be appreciate if you can make it public and minimal documentation will be enough.

Also @rdube @dotPiano thanks a lot! You are really responsive!

lorenwel commented 7 years ago

@miketry0313 I made my code open source. You can find it here: https://github.com/lorenwel/linefit_ground_segmentation

I'll also close this issue.

rdube commented 7 years ago

Many thanks @lorenwel!

miketry0313 commented 7 years ago

@lorenwel Thanks, I'll give it a try.