发明内容
鉴于上述分析,本发明提供了一种面向露天矿区的语义地图构建及边界实时提取方法,用以解决现有的自动驾驶技术中对于驾驶区域边界的提取不准确且速度慢的问题,且无法在对图像进行语义分割的同时提取驾驶区域边界的问题。
本发明的一种面向露天矿区的语义地图构建及边界实时提取方法,具体步骤包括:
步骤1、构建语义分割模型:
步骤11、获得同时刻的图片与点云数据;
步骤12、圆柱体栅格化点云数据,获得点云栅格单元和点的圆柱体特征,基于点的圆柱体特征和MLP多层神经网络获得每个点云栅格单元的特征的张量;
步骤13、对点云栅格单元的点进行下采样:
步骤131、将每个点云栅格单元的特征的张量输入非对称残差块;输出稀疏卷积特征的张量;
步骤132、将图片的RGB像素点信息投影到每个点云栅格单元中的点云数据上,获得RGB点云栅格单元;基于RGB点云栅格单元进行多模态焦点卷积下采样:
步骤14、对点云栅格单元的点进行上采样:
步骤141、基于RGB点云栅格单元进行多模态焦点卷积上采样:
步骤142、对获得上采样输出栅格特征进行上采样,获得每个点的下采样和上采样叠加特征的张量;
步骤15、使用步骤12获得的每个点的MLP点特征细化每个点的下采样和上采样点叠加特征的张量;利用损失函数获取每个细化后的点的类别概率,以每个点的最高类别概率作为该点的点标签;
步骤2、构建实时语义地图:
采集无人驾驶车的实时GPS-IMU数据和实时雷达点云数据;
使用步骤1构建的语义分割模型对获取的每帧实时点云数据中每个点的标签,形成关键帧语义点云;
叠加所有关键帧语义点云获得语义地图,生成优化后单帧语义RGB地图;
步骤3、实时提取边界:
基于步骤1的语义分割模型,在生成优化后单帧语义RGB地图时构建栅格地图,对栅格地图的边界进行提取并采取控制点拟合平滑边界获得最终边界。
可选地,实时提取边界前还包括动态障碍物滤除的步骤,具体步骤如下:
对优化后单帧语义RGB地图中的每个点的标签进行判断,排除优化后单帧语义RGB地图中的非地面及动态障碍物点云;
叠加优化后的多帧语义地图的权重获得叠加后语义RGB局部地图:
遍历叠加后语义RGB局部地图,最终获得修正的局部地图点云,构成修正叠加语义地图;
实时提取边界时对修正叠加语义地图进行栅格地图构建,对栅格地图的边界进行提取并采取控制点拟合平滑边界获得最终边界。
可选地,叠加优化后的多帧语义地图的权重获得叠加后语义RGB局部地图的具体步骤为:保存当前单帧语义RGB地图的车辆GPS点以及当前单帧语义RGB地图和其后四个单帧语义RGB地图的点云数据;
以当前单帧语义RGB地图的车辆GPS点为原点,将前述五帧的单帧语义RGB地图的点云数据转换到世界坐标系下进行NDT匹配后叠加;叠加时,分别给第一帧到第五帧语义RGB地图点云数据不同的权重;
保留叠加的前述五帧的单帧语义RGB地图的点云数据在Y轴方向上阈值范围内的叠加点云;
对叠加点云中的第i个点进行KNN投票,通过Kdtree搜索第i个点对应的预设距离的N个点,叠加第i个点周围N个点的标签的数量Numn,label及权值wn,若总值Ki超过阈值τ,则将当前第i个点l的标签ki,labe修改为系数maxkn;
kn=wn*Numlabel,n;
Ki=w1*Numlabel,1+w2*Numlabel,2+…+wn*Numlabel,n>τ;
ki,label=max{w1*Numlabel,1,w2*Numlabel,2,…,wn*Numlabel,n};
遍历叠加点云中的每个点,每个点进行KNN投票获得叠加后语义RGB局部地图。
可选地,将前述五帧的单帧语义RGB地图的点云数据转换到世界坐标系下进行NDT匹配后叠加时,第一帧到第五帧点云数据的权重值由第一帧到第五帧点云数据依次线性增加。
可选地,实时提取边界的具体步骤为:
基于修正叠加语义地图,获取当前修正单帧语义地图与前两帧修正单帧语义地图的车辆GPS点并将其通过旋转平移矩阵转换到世界地图中;通过三帧修正单证语义地图的车辆GPS点的斜率判断行驶区域相对侧的道路边界;
判断所述三帧修正单帧语义地图中既有道路标签,又有挡墙标签的点云栅格位置,在所述三帧修正单帧语义地图中的平面栅格内搜索距离当前帧车辆GPS点最远的行驶区域相对侧边界点并分别保存到左两个边界点和右两个边界点存储器中;
对左右两个边界点存储器中的多个修正单帧语义地图中的道路边界点进行离群点剔除;
通过旋转平移矩阵将去除离散点后的具有左右道路边界信息的当前修正单帧语义地图中的点云转换到世界坐标系下;在世界坐标系下的去除离散点后的单帧RGB地图中,每隔预设距离选择边界拟合控制点进行最小二乘法曲线拟合,得到最终的边界。
可选地,剔除离散点的具体步骤为:
设置初始距离阈值D,初始化左边界点存储器和右边界点存储器;
以第一帧修正单帧语义地图的车辆GPS点为原点,搜索距离该车辆GPS点距离最近的左侧最近点Pointleft与右侧最近点Pointright;以左侧最近点Pointleft与右侧最近点Pointright为两个初始点分别存入左右两个边界点存储器中;
以左侧最近点Pointleft为原点,搜索不超过初始距离阈值D的左侧最近点Pointleft存入左边界点存储器中;以右侧最近点Pointright为原点,搜索不超过初始距离阈值D的右侧最近点存入右侧边界点存储器中;若左侧最近点Pointleft或右侧最近点Pointright为已经遍历过的点或超过阈值的点,则该最近点为离散点,剔除该离散点;
遍历所有道路边界点后结束搜索获得所有左右道路边界点;
基于获得所有左右道路边界点获得最终的边界。
可选地,构建实时语义地图时,使用标定后的无人驾驶车的GNSS/IMU组合导航定位***和激光雷达采集无人驾驶车的实时GPS-IMU数据和实时雷达点云数据。
与现有技术相比,本发明至少可实现如下有益效果之一:
(1)本发明的方法对于非结构化道路进行语义分割,同时使用对点云ρ,θ及z作为输入对点云进行特征提取,提高了非结构化道路边界提取精度;
(2)本发明的方法获得的语义地图使得对图像进行语义分割的同时,还能进行驾驶区域边界提取。
(3)本发明的方法基于语义分割的边界提取架构,在建图时基于语义分割网络中划分的栅格内的点、栅格特征进行分析,通过其特征进行边界提取,并采取控制点拟合平滑边界,提高了边界提取速度。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚、完整,下面结合附图为本发明作进一步的详细说明。应当理解的是,所描述的实施方式仅作为一种例示,并非用于限制本发明。
本发明的一个具体实施例,如图1-9,公开了一种面向露天矿区的语义地图构建及边界实时提取方法,具体步骤包括:
步骤1、构建语义分割模型;
步骤11、使图片与点云数据输出频率一致,获得同一时刻的图片与点云数据;由此使得图片与点云数据的时间同步;
优选地,图片由相机获得,点云数据由激光雷达获得。
步骤12、圆柱体栅格化点云数据,获得点云栅格单元和点的圆柱体特征,基于点的圆柱体特征和MLP多层神经网络获得每个点云栅格单元的特征张量;
如图2所示,将点云数据从笛卡尔坐标系按圆柱体栅格划分,获得圆柱体栅格;将圆柱体栅格点云中的点从笛卡尔坐标系的坐标转为圆柱体坐标;
可选地,基于point-wised目标检测法通过MLP多层神经网络提取圆柱体栅格内的点云的点向特征,具体步骤为:
将点云数据从笛卡尔坐标系按圆柱体栅格划分获得点云栅格单元;获取点云栅格单元内的点的圆柱体特征,表达式为:
z’=z。
其中,x为点在笛卡尔坐标系中的X轴坐标;y为点在笛卡尔坐标系中的Y轴坐标;z为点在笛卡尔坐标系中的Z轴坐标;ρ为点与笛卡尔坐标系中Z轴的水平半径;θ为点相对于X轴-Y轴面的方位角;z’为点与笛卡尔坐标系原点的高度差值;将所有点映射到圆柱栅格内。
同时,将所有点的圆柱体特征ρ、θ和z’输入MLP多层神经网络对点云数据进行基于点的MLP特征提取,将点云的3维点特征升高至Cin维点特征,并通过最大池化层对点云栅格单元内的点做最大池化,获得Cin维的MLP点特征,输出特征Cin,H,W,L的张量,其中,H、W和L分别为点云栅格单元的半径、方位角和高度,Cin为点的维度;
步骤13、对点云栅格单元的点进行下采样;
步骤131、将特征Cin,H,W,L的张量输入非对称残差块;水平三维卷积和垂直三维卷积特征Cin,H,W,L的张量;其中,对于水平三维卷积,依次进行3×1×3卷积核和1×3×3卷积核特征提取;对于垂直三维卷积,依次进行1×3×3卷积核和3×1×3卷积核特征提取;同时升高输入的维度Cin,输出稀疏卷积特征2*Cin,H,W,L的张量;遍历每个点云栅格单元中的每个点。
采用非对称残差块对圆柱体栅格内的点进行特征提取。加强了对栅格内点的表达能力,从而增强网络的鲁棒性,同时相比于传统的3D卷积,非对称残差对特征进行提取降低了计算成本。
步骤132、多模态焦点卷积下采样:
对每个圆柱体栅格进行子流形空洞卷积,即当每个卷积核中心点位置p与不为空的圆柱体栅格输入点位置Pin重叠时,对该每个卷积核中心点进行卷积操作;其中,对每个圆柱体栅格进行子流形空洞卷积Yp,表达式为:
其中,x
p为卷积核中心点位置p处的输入稀疏卷积特征,
w
k为卷积核中位置k的权重,d为空间维度,优选地,空间维度为3;K
d为子流形空洞卷积核权重,优选地,K=3时,K
d=3
3。
对每个圆柱体栅格位置的子流形空洞卷积,每个圆柱体栅格位置的输出形状
为:
其中,P(p,Kd)=(p+k|k∈Kd}。
相邻点重要性选择:
通过转换矩阵将图片转换到点云数据的坐标系,将图片的RGB像素点信息投影到每个点云栅格单元中的点云数据上,为每个点云栅格单元中的每个点赋值RGB像素点信息,获得RGB点云栅格单元;由此使得图像数据和点云数据空间同步;
重要性映射I
p:对RGB点云栅格单元的点进行稀疏卷积特征提取并通过sigmoid函数进行重要性概率计算,获得卷积核中位置k处的三次重要性图
和三次重要性图的中心
其中,稀疏卷积核权重与子流形空洞卷积核权重K
d相同。
重要性映射Ip涉及在卷积核中心点位置p输入的稀疏卷积特征2*Cin,H,W,L的张量,RGB图像信息,从而获取周围的候选栅格输出特征的重要性,由此,能够平衡regularsparse conv和submanifold sparse conv空洞卷积,在减小计算量的同时保证了连通信息不丢失。
选择重要栅格:
当RGB点云栅格单元输出的三次重要性图的中心
大于等于重要性阈值τ时,该RGB点云栅格单元为重要栅格,获取该重要栅格的卷积核的位置:
其中,P
im为重要栅格的卷积核的位置;
为重要栅格的卷积核的输出位置;
为重要栅格生成卷积核权重。
栅格重要性包括重要、相对重要和不重要栅格;不重要栅格为点云栅格单元内无点云数据,相对重要栅格为点云栅格单元内有点云数据,但图像RGB特征提取为背景点云;重要栅格为点云栅格单元内有点云,且RGB特征提取为目标点云。
其中,选中的重要栅格生成卷积核动态输出形状
由三次重要性图/>
决定,表达式为:
最终,基于每个圆柱体栅格位置的输出形状和重要栅格的卷积核的位置,生成卷积核动态卷积输出位置pout:
对卷积核动态卷积输出位置pout进行步长为2的卷积,获得pout输出特征2*Cin,H/2,W/2,L/2的张量;进行四次下采样,依次获得第一次下采样输出特征2*Cin,H/2,W/2,L/2的张量,第二次下采样输出特征4*Cin,H/4,W/4,L/4的张量,第三次下采样输出特征8*Cin,H/8,W/8,L/8的张量,第四次下采样输出特征16*Cin,H/16,W/16,L/16的张量。
步骤14、对点云栅格单元的点进行上采样;
步骤141、多模态焦点卷积上采样:
输入第四次下采样输出特征16*Cin,H/16,W/16,L/16的张量,进行多模态焦点卷积上采样,具体过程同132,首先进行子流形空洞卷积,并基于获得的RGB点云栅格单元获得的三次重要性图获得最终的反卷积形状P‘out;基于该反卷积形状P‘out进行步长为2的反卷积,输出反卷积后的特征8*Cin’,H/8,W/8,L/8的张量;
步骤142、将下采样输出特征中的第三次下采样输出特征8*Cin,H/8,W/8,L/8的张量与反卷积后的特征8*Cin’,H/8,W/8,L/8的张量进行拼接,获得拼接特征16*Cin,H/8,W/8,L/8的张量;将拼接特征16*Cin,H/8,W/8,L/8的张量输入非对称残差块;水平三维卷积和垂直三维卷积拼接特征16*Cin,H/8,W/8,L/8的张量;其中,对于水平三维卷积,依次进行3×1×3卷积核和1×3×3卷积核特征提取;对于垂直三维卷积,依次进行1×3×3卷积核和3×1×3卷积核特征提取;同时降低输入的维度,输出上采样特征8*Cin,H/8,W/8,L/8的张量,获得上采样输出栅格特征;
对上述获得的上采样输出栅格特征再进行三次上采样,获得每个点的下采样和上采样叠加特征Cin,H,W,L的张量。
通过对下采样块和上采样块的叠加,建立了非对称三维多模态焦点卷积网络。
本发明采用非对称残块加强水平和垂直内核,从而增强了圆柱体栅格的鲁棒性。
步骤15、使用步骤12获得的每个点的MLP点特征细化每个点的下采样和上采样叠加特征;利用损失函数获取每个细化后的点的类别概率,以每个点的最高类别概率作为该点的点标签;使用Point-wised细化模块对点标签进行重分类,由此减少为圆柱体栅格划分标签时,标签划分错误导致的信息丢失的问题。
具体地,点标签包括障碍物标签、地面标签和挡墙标签。
步骤2、对无人驾驶车的GNSS/IMU组合导航定位***与激光雷达进行标定;
获取无人驾驶车的GNSS/IMU组合导航定位***与激光雷达的初始旋转平移矩阵;旋转平移矩阵为激光雷达坐标系与GPS车体坐标系的XYZ方向的初始偏差与初始姿态角,其中,姿态角包括偏航角,横滚角和俯仰角;
将激光雷达安装在自动驾驶车的前部和/或尾部,GNSS/IMU组合导航定位***安装在车身上,测量激光雷达位置与车体中心所在位置的XYZ方向的测量偏差;将车辆停放至开阔平坦的路面,在车体前进方向的中心线的前方10米处垂直与该中心线摆放棋盘格标定板,提取棋盘格标定板角点的点特征,根据提取的该角点的点特征拟合棋盘格所在平面,获取GPS车体坐标系和激光雷达坐标系的测量姿态角,根据二者所在位置的XYZ方向的测量偏差及该测量姿态角确定无人驾驶车GPS车体坐标系和激光雷达坐标系的旋转平移转换关系;
基于标定获得的旋转平移转换关系对无人驾驶车的GNSS/IMU组合导航定位***与激光雷达的坐标系进行统一。
步骤3、构建实时语义地图
使用标定后的无人驾驶车的GNSS/IMU组合导航定位***和激光雷达分别采集无人驾驶车的实时GPS-IMU数据和实时雷达点云数据;
根据粗糙度提取输入的每帧实时雷达点云数据的边缘特征与平面特征;保存每帧实时雷达点云数据的边缘特征与平面特征。
可选地,使用雷达里程计对每帧实时雷达点云数据进行特征提取。
使用步骤1构建的语义分割模型对获取的每帧实时点云数据中每个点的标签,形成关键帧语义点云;将关键帧语义点云之间的其他数据删除,用关键帧语义点云进行估计;
通过实时GPS-IMU数据获取当前无人驾驶车的实时位置及位姿信息,使用初始旋转平移矩阵将所有关键帧语义点云转换到世界坐标系下;使用NDT特征匹配效果判断是否优化初始旋转平矩阵参数,若两帧语义点云间NDT匹配得分小于阈值,则使用边缘特征与平面特征进行多个关键帧语义点云之间的匹配,优化初始旋转平矩阵参数。
叠加所有关键帧语义点云获得语义地图,对语义地图进行下采样,生成优化后单帧语义RGB地图。
步骤4、动态障碍物滤除:
步骤41、对优化后单帧语义RGB地图中的每个点的标签进行判断,排除优化后单帧语义RGB地图中的非地面及动态障碍物点云。
步骤42、多帧语义地图权重叠加:
保存当前单帧语义RGB地图的车辆GPS点、以及当前单帧语义RGB地图和其后四个单帧语义RGB地图的点云数据;
以当前单帧语义RGB地图的车辆GPS点为原点,将前述五帧的点云数据转换到世界坐标系下进行NDT匹配后叠加;叠加时,分别给第一帧到第五帧点云数据不同的权重,五个权重值由第一帧到第五帧点云数据依次线性增加;
保留叠加的前述五帧点云数据在Y轴方向上阈值范围内的叠加点云,例如:若雷达安装在车辆顶上,则车身周围点云只能采集到部分噪点,单帧点云有效探测距离为50m,关键帧间距离为2m,则删除Y轴方向10m以内(即:噪点)及40m以外(即:稀疏点云)的点云数据,降低语义分割异常造成的影响;
对叠加点云中的第i个点进行KNN(最邻近节点算法)投票,通过Kdtree搜索第i个点对应的预设距离的N个点,叠加第i个点周围N个点的标签的数量Numn,label及权值wn,若总值Ki超过阈值τ,则将当前第i个点l的标签ki,labe修改为系数maxkn;
kn=wn*Numlabel,n;
Ki=w1*Numlabel,1+w2*Numlabel,2+…+wn*Numlabel,n>τ;
ki,label=max{w1*Numlabel,1,w2*Numlabel,2,…,wn*Numlabel,n};
遍历叠加点云中的每个点,每个点进行KNN(最邻近节点算法)投票获得叠加后语义RGB局部地图。
步骤43、遍历叠加后语义RGB局部地图,最终获得修正的局部地图点云,构成修正叠加语义地图。
步骤5、行驶区域边界提取:
基于步骤1的语义分割模型,在建立修正叠加语义地图时构建栅格地图,对栅格内边界进行提取并采取控制点拟合平滑边界,提高边界提取速度;
1)基于修正叠加语义地图,获取当前修正单帧语义地图与前两帧修正单帧语义地图的车辆GPS点并将其通过旋转平移矩阵转换到世界地图中;通过三帧车辆GPS点的斜率判断行驶区域相对侧的道路边界;三帧车辆GPS点的斜率为车辆在前述三帧修正单帧语义地图中,车辆的GPS点的切线的斜率。
2)判断所述三帧修正单帧语义地图中既有道路标签,又有挡墙标签的点云栅格位置,在所述三帧修正单帧语义地图中的平面栅格内搜索距离当前帧车辆GPS点最远的行驶区域相对侧边界点并分别保存到左右两个点容器中;
3)对左右两个容器中的多个修正单帧语义地图中的道路边界点进行离群点剔除获得左右道路边界点;
剔除离散点的具体步骤为:
A:设置初始距离阈值D,初始化左边界点容器和右边界点容器;
B:以第一帧的车辆GPS点为原点,搜索距离该车辆GPS点距离最近的左侧最近点Pointleft与右侧最近点Pointright为两个初始点存入左右点容器中;
C:以左侧最近点Pointleft为原点,搜索不超过初始距离阈值D的左侧最近点存入左边界点容器中;以右侧最近点Pointright为原点,搜索不超过初始距离阈值D的右侧最近点存入右侧边界点容器中;若左侧最近点或右侧最近点为已经遍历过的点或超过阈值的点,则该最近点为离散点,剔除该离散点;
D:遍历所有道路边界点后结束搜索获得所有左右道路边界点。
4)在世界坐标系下的去除离散点后的单帧RGB地图中,每隔1m选择边界拟合控制点进行最小二乘法曲线拟合,得到最终的边界,将最终边界信息转换回WGS84坐标系并上传到云端数据库进行边界信息的存储,其中,WGS84坐标系是原始GPS的坐标系或地球坐标系或世界坐标系。
可以理解的是,若单帧点云边界选取5个点为控制点,对五个点进行最小二乘法拟合边界:
五个点的世界坐标系坐标:(x1,y1),(x2,y2),(x3,y3),(x4,y4),(x5,y5);
采用多项式拟合获取多项式系数θi从而确定道路边界hθ(x):
hθ(x)=θ0+θ1x1+θ2x2+θ3x3+θ4x4+θ5x5。
其中,xi和yi,分别为世界坐标系坐标中控制点的坐标。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。