【自动驾驶】使用同心区域模型改进地面点云快速分割算法

文章目录

      • 1、linefit_ground_segmentation
      • 2、使用Patchwork改进第1部分
      • 3、激光深度聚类算法 depth_clustering

运行环境:Ubuntu18.04, ROS环境运行。
ROS环境配置:https://blog.csdn.net/qq_44830040/article/details/106049992
1、改进程序1,将CZM(同心区域模型)思想替换进去
2、提取程序1中的分割部分,与程序3融合。
3、采用开源数据集进行验证

1、linefit_ground_segmentation

地面点云快速分割算法—linefit_ground_segmentation

  • 项目地址:https://github.com/lorenwel/linefit_ground_segmentation
  • 论文地址
    【自动驾驶】使用同心区域模型改进地面点云快速分割算法_第1张图片

大致介绍:

  • 将雷达点云等间隔为N个段,每个段有个角度a,并且等分为M个Bin。
  • 将当前帧所有点云投影到段中,也就是降维:将p(x,y,z)三维,降到二维p(d, z)。
    【自动驾驶】使用同心区域模型改进地面点云快速分割算法_第2张图片
  • 对每个段拟合直线z = kd + b,这里的k指的的路面的坡度。基于拟合的直线判断点到路面的高度,如果高度小于阈值,则该点是路面点,否则为障碍物点。这种方法可以适用于具有坡度的路面。
    【自动驾驶】使用同心区域模型改进地面点云快速分割算法_第3张图片

参考资料:

  • 数据集与项目注解:https://github.com/HuangCongQing/linefit_ground_segmentation_details
    论文注解:https://blog.csdn.net/lovelyaiq/article/details/118826534

2、使用Patchwork改进第1部分

基于同心区域模型 (CZM) 的区域地面分割方法,称为 Patchwork

  • 项目地址:https://github.com/LimHyungTae/patchwork
  • 论文地址 (发表于ICRA2021,机器人领域的国际顶级会议,CCFB类)
    【自动驾驶】使用同心区域模型改进地面点云快速分割算法_第4张图片

大致介绍:

  • 摘要:
    本文将点云编码到基于同心区域模型的表示中,以一种计算简单的方式为bin分配合适的点云密度。然后在区域内进行平面拟合,来估计每个bin的地面。最后,引入地面似然估计以显著减少误报。
    实现结果在SemanticKITTI和粗糙地形数据集上进行了验证,与最先进的方法相比,我们提出的方法具有良好的性能,与现有的基于平面拟合的方法相比,速度更快

  • 首先,将所有的点根据需要划分成 地面点 和 非地面点。并按照极坐标对点云进行分区,距离原点越近区域面积越小,文章利用min和max值和特定公式进行分区。
    同心区模型图如下:
    【自动驾驶】使用同心区域模型改进地面点云快速分割算法_第5张图片

  • 然后,每个区域找地面,然后地面再拼接在一起。每个区域利用z值进行“生长”,然后得到地面点集。在最靠近车的Z1,利用传感器高度来决定初始点,越离车远,传感器高度值要乘以一个系数。
    我们利用地面似然估计 (GLE) 在垂直度、高度和平整度方面来确定每个bin是否为地面。图片如下。
    【自动驾驶】使用同心区域模型改进地面点云快速分割算法_第6张图片

  • 最后,通过垂直度、高度、平整度三个特征,来进行二分类,使得所有的bin集合成整个路面。
    区域级地平面拟合 R-GPF 图如下:
    【自动驾驶】使用同心区域模型改进地面点云快速分割算法_第7张图片

参考资料:

  • 3DLiDAR传感器进行基于同心区域的区域地面分割和地面似然估计:https://blog.csdn.net/weixin_42905141/article/details/122951210
    patchwork基于多线激光雷达的地面分割方法
    https://zhuanlan.zhihu.com/p/484251201
    点云地面分割算法—— Patchwork论文分析
    https://www.guyuehome.com/38829

3、激光深度聚类算法 depth_clustering

使用 Velodyne 激光雷达传感器生成的点云 , 快速且稳健的深度聚类算法

  • 项目地址:https://github.com/PRBonn/depth_clustering
    【自动驾驶】使用同心区域模型改进地面点云快速分割算法_第8张图片

大致介绍:

  • 环境需要:ubuntu 18.04 ,ros-melodic
  • 然后使用项目中的安装命令进行安装。安装完后编译。
  • 然后下载一些数据图进行测试
    # 安装命令
    sudo apt install libopencv-dev libqglviewer-dev-qt5 freeglut3-dev qtbase5-dev 
    # 数据集下载
    mkdir data/; wget http://www.mrt.kit.edu/z/publ/download/velodyneslam/data/scenario1.zip -O data/moosmann.zip; unzip data/moosmann.zip -d data/; rm data/moosmann.zip
    # 查看运行结果
    ./qt_gui_app 
    
  • ros环境下编译相同,其他bag包和环境等按照ros的操作来。

参考资料:

  • 深度聚类:https://blog.csdn.net/weixin_44876302/article/details/119715528
    使用笔记:https://ivenwang.com/2020/05/16/jule/
    安装运行:https://blog.csdn.net/qq_40216084/article/details/108703496
    ROS运行:https://blog.csdn.net/m0_52118763/article/details/120876198

你可能感兴趣的:(#,机器学习,自动驾驶,算法)