1.一种基于深度学习的点云语义分割方法,其特征在于包括如下步骤:
s1)根据先验信息对场景作出初步的聚类分割,将不感兴趣点云设置为背景类别,获得潜在感兴趣类别的若干点云簇,再对若干点云簇进一步精炼优化,最终得到候选点云簇;
s1-1)地面拟合分割
根据地面的先验信息,地面被平面模型表达,拟合多个平面nseg;
选取若干高度值较低的种子点,拟合出平面,计算每个点与拟合平面的垂直距离并根据阈值thdist判断该点是否属于平面,属于平面的点被作为新种子点再次拟合平面;重复上述过程niter次;最后将nseg平面拼接在一起来获取整个地面;
s1-2)基于激光雷达环的快速聚类分割
按照一定顺序存储的激光雷达传感器中的每个点,每个点都属于其中一个环;
处在同一个环上的点之间的距离若小于阈值thring,就被聚为一类;处在不同环上的点之间的距离若小于阈值thprop,就被聚为一类;最终每个点都具有一个聚类标签,得到若干点云簇;
s1-3)候选点云簇精炼
当点云簇中点的个数小于阈值thnum时,这个点云簇就被置为背景类;
拟合过滤后的点云簇的最小外接三维包围框,并将这个包围框扩大一个固定距离,合并更多的点云给点云簇;
s2)将s1)阶段得到的若干点云簇做坐标转换和数据扩增处理,再送入语义分割的神经网络中提取点云特征,通过监督学习训练神经网络;
s2-1)数据预处理
选取每个点云簇的局部坐标系,任取其三维包围框的底部顶点作为原点,xyz轴为包围框的边,建立右手直角坐标系;将点云簇翻转并绕z轴旋转扩增,将原始数据及扩增数据一起送入神经网络;
s2-2)基于深度学习的语义分割
每个点云簇被采样到一个固定点数n,若点云数量num大于n则该点云簇被随机采样至n,若点云数量num小于n则该点云簇的部分点被重复采样直至总点数为n;
使用pointnet++网络中的点云特征提取模块,使用三层特征传播层(分别降采样至128,32,1),两层全连接层和一层随机失活层(随机保持概率设为0.7);
每个点的特征向量为p={x,y,z,i,n},其中x,y,z为点云簇局部坐标系下每个点的坐标,i为激光雷达测量的点的反射强度,
s2-3)通过监督学习训练神经网络
采用无人驾驶场景的kittiraw数据集,采用监督学习对模型进行训练,并根据s2-1)中的方法对训练数据扩增;
使用focalloss为网络的误差,fl(pt)=-α(1-pt)γlog(pt);其中,pt为网络预测的每个点的类别概率,α设为0.25,γ设为2;
获取训练误差后,网络将沿梯度方向进行传播,更新网络参数,迭代至收敛。