本发明属于图像处理与自动驾驶技术领域,尤其涉及一种自动驾驶场景下基于背景目标检测与三元组损失的场景识别与回环检测方法。
背景技术:
随着近些年来自动驾驶技术的越发完善与其市场的火热程度,对于slam的研究也就具有十分重要的意义。由于目前自动驾驶场景下主要依赖的传感器仍然以视觉传感器为主,且当前市场上用于自动驾驶的视觉传感器仍然多数为单目摄像头,因而对于单目视觉slam的研究更加具有应用价值。
视觉slam其实就是一个只通过视觉传感器—摄像头来对周围环境进行感知的过程。在这个过程中,没有任何的环境先验知识,我们不仅需要估计主体的运动(包括地理位置与相机的位姿等信息),还需要根据摄像头捕捉到的环境信息同时完成建图的任务。在这一过程中,slam的建图极其依赖与后端的优化过程。而回环检测起到了后端优化的触发作用。当检测到路径闭环时,slam系统可以根据闭环对路径漂移进行修正,继而优化整个系统的性能。
传统的典型单目视觉slam,诸如orb-slam等,都是通过对输入图像提取人工设计的图像特征(如surf,sift,orb特征等),然后基于对极几何约束与图优化方法来计算摄像头的相对位移和偏转与地标的位置,从而完成对环境的构图。
然而在这些基于人工特征提取的传统视觉slam技术中,特征提取部分占据了大量的计算资源,想要设计更合适的特征来提高精度的同时又会占用更多的资源。这就导致在保持帧率流畅的同时,很难再进一步提高slam的精度。
而卷积神经网络和深度学习在计算机视觉中的成功应用及其展现出的出众的鲁棒性,为slam提供了新的发展方向。卷积神经网络在图像特征提取与目标识别领域取得的卓越成效,完全可以应用到单目视觉slam领域中。因此,基于深度学习的slam回环检测研究具有十分重要的现实意义。
技术实现要素:
本发明公开了一种自动驾驶场景下基于背景目标检测与三元组损失的场景识别与回环检测方法,其目的是利用室外背景目标检测网络来提取图片中的背景特征,通过提取的背景特征实现图片中的场景匹配,从而实现视觉回环检测。
本发明解决其技术问题所采用的技术方案包括以下步骤:
步骤(1).获取车身摄像机拍摄的室外场景图像;
步骤(2).构建基于fasterr-cnn目标检测网络的背景特征提取网络并进行训练,所述的背景特征提取网络包括vgg主干卷积网络、rpn网络、roi池化层;将步骤(1)获取的室外场景图像输入vgg主干卷积网络,将vgg主干卷积网络的输出作为rpn网络的输入,生成初步提取框,采用非最大值抑制算法对初步提取框进行筛选,将筛选后的提取框中的特征输入到roi池化层,得到室外场景图像的高阶背景特征;
步骤(3).构建一个用于自动生成匹配特征的特征细化网络并进行训练,所述特征细化网络由两个卷积层组成;将步骤(2)获得的高阶背景特征作为特征细化网络的输入,得到细化后的背景特征;
步骤(4).将待匹配的当前室外场景图像输入步骤(2)所述的背景特征提取网络,将得到的高阶背景特征输入到步骤(3)所述的特征细化网络,得到当前室外场景图像细化后的背景特征;计算当前室外场景图像与所有已输入的室外场景图像分别对应的细化后的背景特征之间的l2距离,当l2距离小于阈值时,说明两幅图像相似度接近,匹配成功,即二者描述场景为同一地点,检测到路径闭环。
本发明的有益效果:
本发明通过对特定背景目标识别的网络提取并筛选图像场景中背景相关物体的高阶抽象特征,再通过三元组损失训练自动生成基于l2距离判定的场景特征,从而实现纯视觉的场景识别与回环检测方法。实验结果表明,基于本发明所提出的方法在回环检测方法在性能上接近基于人工特征提取的最新方法并在动态物体抗干扰的能力上优于传统的词袋匹配方法,且在特征提取的速度上与人工特征提取相比具有明显的优势,此外基于三元组损失训练得到的特征相比起直接使用背景物体高阶抽象特征,省去了对相似度匹配函数的设计环节。
附图说明
图1为本发明基于背景目标检测与三元组损失的场景识别与回环检测方法的流程图。
具体实施方式
下面结合附图对本发明方法作进一步说明。
步骤(1).输入车身摄像机拍摄的室外场景图像;
步骤(2).构建基于fasterr-cnn目标检测网络的背景特征提取网络,对步骤(1)中输入的室外场景图像使用背景特征提取网络进行背景相关特征的提取。其中fasterr-cnn网络提取的背景目标设定为天空、建筑、道路、人行道、树木等室外场景下的背景目标。
整个背景特征提取网络由主干网络vggnet,候选框提取网络rpn,非最大值抑制操作nms和兴趣域池化层roipoolinglayer四个部分组成。主干网络vggnet负责提取图像中的全局高级语义特征;候选框提取网络rpn生成初步提取框,通过nms进行筛选;最后将框体内特征输入到roi池化层中进行特征降维。
所构建的背景特征提取网络舍弃fasterr-cnn的全连接层,将rpn网络各个通道的输出通过一个兴趣域池化层(roipoolinglayer)输出固定大小为11×11的输出特征作为输入图片的背景特征。
所述rpn网络的损失函数为:
其中,i是一个anchor的索引,pi表示第i个anchor是背景的概率,
在对所有目标候选框计算损失函数并求和之后,用ncls和nreg归一化,同时引入平衡因子λ;回归损失函数中的ti和
其中,(x,y,w,h)表示预测框的坐标,(xa,ya,wa,ha)表示预测框的坐标,(x*,y*,w*,h*)表示gt框的坐标。
使用roipooling层得到固定大小输出特征的具体方法如下:
首先将roi输入的目标框坐标通过输入图片与特征图大小的比值直接映射到原始特征图上,得到目标框体在原始特征图中的坐标。通过最大池化操作,将vggnet-16总共512个通道中的特征大小都缩放到11×11大小。
步骤(3).构建一个能够自动生成匹配特征的由两个全连接层的特征细化网络。通过三元组损失tripletloss输入回环检测的正负样本进行训练。三元组损失具体实现方法如下所述:
将训练集中的数据分为三类,标准样本anchor,正样本positive,负样本negative,构建成三元组。anchor为训练数据集中随机选取的一个样本,positive为和anchor属于同一类的样本,而negative则为和anchor不同类的样本。
由于在回环检测中,场景样本并非分类数据,场景闭环的判据是当前相机拍摄所处的位置。这里选取的positive样本其实是与anchor样本图像距离小于2米的场景图像,而negative则是超出2米的场景图像或者干脆是不相干的场景图像。
该网络输入为场景图像经过背景特征提取网络之后输出的抽象高阶背景特征。通过两个卷积层,根据式(5)中所示损失函数训练得到的权重值进行运算后,得到输出的抽象场景特征。
式(6)中m为样本总量,i为当前样本,
[x] =lhinge(x)=max(0,x)(7)
步骤(4).基于步骤(3)中由三元组损失训练网络得到的自适应特征,由以下公式计算两幅图片特征之间的l2距离:
其中,n为输入特征的维度,
为了验证本发明所述的算法的优越性能,我们在德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办的自动驾驶数据集kitti数据集(geigera,lenzp,urtasunr.arewereadyforautonomousdriving?thekittivisionbenchmarksuite[c]//2012ieeeconferenceoncomputervisionandpatternrecognition.ieee,2012:3354-3361)上进行了回环检测的实验。
在实验中使用了查准率precision、查全率recall和平均精度均值meanaverageprecision(map)来对实验结果进行评估。相关计算公式如下:
其中tp、fp、fn为truepositive真正例、falsepositive假正例、falsenegative假反例。ap为对p-r曲线的积分。i为分类类别,共m类,map即为m类ap的均值。
本发明所述方法的特征提取速度在0.075到0.09秒之间。远远小于大部分人工特征提取方法所花费的时间(0.4到2秒)。表1给出了本发明所述方法在kitti数据集的00、03和10序列上的整体性能。
表1本发明所述方法在kitti数据集上的整体性能
1.自动驾驶场景下基于背景目标检测与三元组损失的场景识别与回环检测方法,其特征在于,包括以下步骤:
步骤(1).获取车身摄像机拍摄的室外场景图像;
步骤(2).构建基于fasterr-cnn目标检测网络的背景特征提取网络并进行训练,所述的背景特征提取网络包括vgg主干卷积网络、rpn网络、roi池化层;将步骤(1)获取的室外场景图像输入vgg主干卷积网络,将vgg主干卷积网络的输出作为rpn网络的输入,生成初步提取框,采用非最大值抑制算法对初步提取框进行筛选,将筛选后的提取框中的特征输入到roi池化层,得到室外场景图像的高阶背景特征;
步骤(3).构建一个用于自动生成匹配特征的特征细化网络并进行训练,所述特征细化网络由两个卷积层组成;将步骤(2)获得的高阶背景特征作为特征细化网络的输入,得到细化后的背景特征;
步骤(4).将待匹配的当前室外场景图像输入步骤(2)所述的背景特征提取网络,将得到的高阶背景特征输入到步骤(3)所述的特征细化网络,得到当前室外场景图像细化后的背景特征;计算当前室外场景图像与所有已输入的室外场景图像分别对应的细化后的背景特征之间的l2距离,当l2距离小于阈值时,说明两幅图像相似度接近,匹配成功,即二者描述场景为同一地点,检测到路径闭环。
2.如权利要求1所述的自动驾驶场景下基于背景目标检测与三元组损失的场景识别与回环检测方法,其特征在于,所述的步骤(2)具体为:
步骤(2.1).建立基于fasterr-cnn目标检测网络的背景特征提取网络,所述的背景特征提取网络包括vgg主干卷积网络、rpn网络、roi池化层和全卷积层;
步骤(2.2).将步骤(1)获取的室外场景图像输入vgg主干卷积网络,得到室外场景图像的全局特征;
步骤(2.3).将室外场景图像的全局特征输入到rpn网络,将rpn网络各个通道的输出通过一个roi池化层得到固定大小为11×11的输出特征;所述rpn网络的损失函数为:
其中,i是一个anchor的索引,pi表示第i个anchor是背景的概率,
在对所有目标候选框计算损失函数并求和之后,用ncls和nreg归一化,同时引入平衡因子λ;回归损失函数中的ti和
其中,(x,y,w,h)表示预测框的坐标,(xa,ya,wa,ha)表示预测框的坐标,(x*,y*,w*,h*)表示gt框的坐标;
所述的通过一个roi池化层得到固定大小为11×11的输出特征的具体方法为:首先将roi输入的候选框坐标通过输入图片与特征图大小的比值直接映射到原始特征图上,得到目标框体在原始特征图中的坐标,通过最大池化操作,将vggnet-16总共512个通道中的特征大小都缩放到11×11大小,得到11×11×512维的特征。
3.如权利要求1所述的自动驾驶场景下基于背景目标检测与三元组损失的场景识别与回环检测方法,其特征在于,所述的步骤(3)具体为:
步骤(3.1).建立特征细化网络,所述的特征细化网络由两个卷积层组成;
步骤(3.2).将步骤(2)得到的高阶背景特征作为训练数据集对特征细化网络进行训练,将训练数据集中的数据分为三类:标准样本、正样本和负样本,构建成三元组;所述的标准样本为训练数据集中随机选取的一个样本,正样本为和标准样本属于同一类的样本,负样本为和标准样本不同类的样本;在训练过程中,采用的损失函数为:
其中,m为训练数据集中的样本总量,i为当前样本,dia,ip和dia,in分别为标准样本与正样本、标准样本与负样本之间的l2距离,α为设定的l2距离阈值;[*] 为hingeloss损失函数,计算公式如下:
[x] =lhinge(x)=max(0,x)。
4.如权利要求1或3所述的自动驾驶场景下基于背景目标检测与三元组损失的场景识别与回环检测方法,其特征在于,l2距离的计算公式如下:
其中,n为输入特征的维度,
5.如权利要求1所述的自动驾驶场景下基于背景目标检测与三元组损失的场景识别与回环检测方法,其特征在于,步骤(2)所述的高阶背景特征包括天空、建筑、道路、人行道、树木。
技术总结