1.一种基于多线激光雷达的3D点云分割方法,其特征在于,包括以下步骤:步骤1,利用多线激光雷达扫描360°范围内的3D点云数据,建立笛卡尔坐标系OXYZ,将
3D点云数据转换到笛卡尔坐标系下,对笛卡尔坐标系下的3D点云数据进行预处理,确定3D点云数据中的感兴趣区域;
步骤2,利用近邻点的统计特性滤除所述感兴趣区域中的悬空障碍点;
步骤3,构建极坐标网格地图,将所述的滤除悬空障碍点后的3D点云数据映射到极坐标网格地图中,然后从极坐标网格地图中的3D点云数据中分割出非地面点云数据;
步骤4,将步骤3得到的非地面点云数据利用八叉树进行体素化,采用基于八叉树体素网格的区域生长方法进行聚类分割。
2.如权利要求1所述的基于多线激光雷达的3D点云分割方法,其特征在于,所述步骤1中,构建所述笛卡尔坐标系OXYZ的具体过程包括:在多线激光雷达位于水平面上处于静止状态时,以所述激光雷达为中心点,以激光雷达的垂直轴线方向为Z轴,以扫描起始平面的水平射线方向为X轴,Y轴是由Z轴和X轴根据右手螺旋定则确定。
3.如权利要求2所述的基于多线激光雷达的3D点云分割方法,其特征在于,所述步骤1中,对所述笛卡尔坐标系下的3D点云数据进行预处理是指保留范围在-20m
50m,-3m
4.如权利要求1所述的基于多线激光雷达的3D点云分割方法,其特征在于,所述步骤2中,利用近邻点的统计特性滤除所述感兴趣区域中的悬空障碍点的过程包括:(2-1)将步骤1得到的感兴趣区域中的3D点云数据以Octree的数据结构进行存储;
(2-2)将3D点云数据分割为三维阵列,将3D点云数据中的每一点依次作为当前点,在半径为L的360°范围内找到该当前点在8邻域内所有的3D点云数据记为近邻点;
(2-3)设置阈值Threshold,比较所述的近邻点的个数与阈值Threshold,若近邻点的个数小于阈值Threshold,则该近邻点对应的当前点为标记为悬空点,并滤除该悬空点。
5.如权利要求1所述的基于多线激光雷达的3D点云分割方法,其特征在于,所述步骤3中,构建所述极坐标网格地图的方法为:以笛卡尔坐标系OXYZ的原点为中心点,以Z轴为中心对称轴,建立半径为R的极坐标网格地图,将网格地图划分为M个等圆周的扇形,每个扇形的圆周角为:Δα=360°/M。
6.如权利要求5所述的基于多线激光雷达的3D点云分割方法,其特征在于,所述步骤3中,在极坐标网格地图下,从步骤2中得到的滤除悬空障碍点的3D点云数据中分割出非地面点云数据的具体方法过程包括:(3-1)在所述极坐标网格地图中每个划分的扇形中,将距离极坐标网格地图中心点5至R米范围内的区域划分为N个栅格,栅格的分辨率为Δd=(R-5)/N;
(3-2)计算落入每个栅格内的3D点云数据的最大高度差和平均高度;
(3-3)设置阈值thresh1和thresh2,依次将所有栅格分别作为当前栅格,判断当前栅格内3D点云数据的最大高度差、平均高度与阈值thresh1、thresh2的大小关系,若最大高度差小于thresh1且平均高度也小于thresh2,则当前栅格标记为地面栅格,否则标记为非地面栅格;(3-4)在以极坐标网格地图中心点为原点半径为20米的圆形区域内,设置阈值thresh3,依次从步骤(3-3)中标记为非地面栅格中选取一个作为当前非地面栅格,若当前非地面栅格3*3邻域内的栅格全部为被标记为地面栅格,且该当前非地面栅格内的3D点云数据个数小于thresh3,则将当前非地面栅格标记为地面栅格;
(3-5)将所有标记为地面栅格内的3D点云数据滤除,剩下3D点云数据的则为非地面3D点云数据。
7.如权利要求1所述的基于多线激光雷达的3D点云分割方法,其特征在于,所述步骤4中,对非地面点云数据进行聚类分割的具体方法过程包括:(4-1)采用八叉树数据结构将步骤3得到的非地面3D点云数据体素化,将3D点云数据分割成叶节点,计算每个叶节点的剩余值,并形成叶节点集V;
(4-2)设定循环次数a=1;
(4-3)将剩余值最小的叶节点作为当前种子节点vi,其中vi∈V,设定种子节点集Sc和当前生长节点集Rc,将该当前种子节点vi从V中取出并放入Sc和Rc中;
(4-4)查找当前种子节点的近邻叶节点vj,设定阈值θth,若vj∈V且vj与vi的法向量夹角小于θth,则将vj从V中取出并放入Rc中;
(4-5)设定阈值rth,若vj的剩余值小于rth,则将vj放入Sc中;
(4-6)将vi从Sc中移除;
(4-7)重复步骤(4-3)、(4-4)、(4-5)、(4-6),直到Sc为空集,将当前生长节点集Rc中的叶节点全部放入至Ra,其中a为循环次数,Ra为第a个分割区域;
(4-8)将a的值加1,重复步骤(4-3)~(4-7),直到V为空集;
(4-9)提取每个分割区域所包含的叶节点中的3D点云数据作为一个障碍物目标,即完成了3D点云数据的聚类分割。
8.如权利要求7所述的基于多线激光雷达的3D点云分割方法,其特征在于,步骤(4-1)中将所述的3D点云数据分割成叶节点的具体步骤包括:(4-1-1)首先在非地面点云数据中分别找出X,Y,Z轴上的最大值xmax、ymax、zmax和最小值xmin、ymin、zmin,利用该6个值确定一个最小立方体,以所述最小立方体作为根节点;
(4-1-2)将根节点分为八个体素,每个体素作为一个子节点进行编码,同时保存每个子节点内的3D点云数据;
(4-1-3)对第i个子节点内的点云数据建立协方差矩阵M,i∈(1,8),通过对M进行特征值分解,得到M的最小特征值的特征向量,即为第i个子节点的法向量ni;
(4-1-4)利用下式计算第i个子节点的剩余值ri:
其中
dj=(pj-pi),
其中,ni为第i个子节点的法向量,pi为第i个子节点中3D点云数据的中心点,pj为第i个子节点中第j个3D点云数据,m为第i个子节点所包含的3D点云数据个数;
(4-1-5)设定阈值T,若ri等于0,则所述子节点设为空节点;
否则,若ri小于阈值T或者pi不大于阈值T,则所述子节点为叶节点;
否则,对所述子节点作为新的根节点,依次重复步骤(4-1-2)、(4-1-3)、(4-1-4)和(4-
1-5),直至所述子节点为叶节点为止;
(4-1-6)对步骤(4-1-5)中的所有叶节点进行一次遍历,将所有的空节点删除,对剩余的所有非空叶节点按照其剩余值从小到大进行排序,组成叶节点集V。