我想分析一个交通场景。我的源数据是一个像这样的点云(见文章底部的图片)。我希望能够检测道路上的物体(汽车、骑自行车的人等)。因此,首先我需要知道路面在哪里,这样我就可以删除或忽略这些点,或者只是在路面上方进行检测。
检测此类路面的方法有哪些?最简单的情况是一条笔直平坦的道路——我想我可以尝试将一个简单的平面注册到表面的大致位置(我很确定它就从汽车前面开始),因为道路表面不是一个完美的平面,我必须在平面周围允许一些公差。
更困难的场景是弯曲和波浪形(波状?)的路面,它将形成某种3D曲线。。。如有任何意见,我将不胜感激。
一个相对简单的起点:
如果你可以假设路面直接从摄像机前面开始,那么你可以使用区域增长算法来找到一个区域,这样曲率在该区域内不会发生太大变化(从而使用尖锐的边缘来描绘该区域)。这需要首先计算曲率。这可以进行第一次近似;我确信会有遮挡物体和其他人工制品的问题。
http://pointclouds.org/documentation/tutorials/region_growing_segmentation.php#region-增长分割
http://pointclouds.org/documentation/tutorials/normal_estimation.php