一种基于端到端度量网络的视觉SLAM闭环检测方法

文档序号:24969701发布日期:2021-05-07 22:39阅读:135来源:国知局
一种基于端到端度量网络的视觉SLAM闭环检测方法

本发明涉及同时定位与地图构建领域,具体涉及一种基于端到端度量网络的视觉slam闭环检测方法。



背景技术:

近年来,计算机技术和人工智能的飞速发展,带动了许多新兴产业的发展,机器人产业是其中杰出的代表。机器人的出现,给人们的生产生活带来了极大的便利,极大的提高了人们的生活质量。机器人的良好运行得益于同时定位与地图构建技术的发展,该技术使得机器人能够在完全陌生的环境中,通过自身携带的传感器获取周边环境信息,实现自主定位,尤其是在全球定位系统(gps)无法覆盖的地方,这种技术弥补了gps信号穿透性差的缺陷。在机器人领域受到越来越多的关注。

闭环检测,是整个slam系统中至关重要的一个环节。它作用于整个slam系统的后端。slam系统的前端能够根据传感器数据恢复出机器人的行走轨迹,在恢复轨迹的过程中由于累计误差的存在会造成轨迹的漂移,影响定位的精度。而闭环检测能够通过传感器采集到的数据,判断当前位置是否是机器人曾经到达过的位置,来纠正大量时间尺度上的累积误差,修正轨迹漂移,这对于定位精度的提高以及全局一致性地图的构建起着至关重要的作用。

在视觉slam中,最简单也最流行的方法是将闭环检测看作图片匹配问题来解决。通过比较在当前位置获取的环境图像和之前到过位置的环境图像之间的相似度来确定此处是否发生了闭环。因此,视觉slam中的闭环检测本质上就是图像匹配问题,也被称为地点识别问题,主要可以分为两个关键步骤:特征提取和相似性度量。

在传统的闭环检测方法中,特征提取方法通常采用词袋模型(bow)。基于bow的方法主要利用的人们利用经验手工设计的特征,一方面特征的信息不够全面,无法应对复杂的视角变化和光照变化等场景,另一方面这部分特征多是一些统计特征,计算复杂度高,效率低下。随着深度学习技术的发展,深度学习技术在图像分类、识别、检索等领域取得了一系列优异的成果,而且相关的网络模型可以很方便的迁移到闭环检测问题中作为特征提取模型来使用,因此,越来越多的研究人员开始利用神经网络来提取特征。通过神经网络提取的特征能够更加有效的表征图片本身,而且能够很好的应对复杂场景下的感知混淆和感知偏差问题。但现有的基于深度学习的方法更多的是关注如何提取更加有效的特征,而忽略了相似性度量的重要性,并且这些方法往往将相似性度量和特征提取当作两个相互独立的环节,忽略了相似性度量的效果会受制于特征提取的有效性,同时相似性度量方法又最终决定了闭环检测的效果。因此,这种基于给定特征以及固定相似性度量的闭环检测方法很难突破检测精度和召回率的进一步提高。



技术实现要素:

针对现有技术中的上述不足,本发明提供的一种基于端到端度量网络的视觉slam闭环检测方法解决了现有的闭环检测方法大都将特征提取和相似性度量作为两个环节独立进行使得检测效果不能进一步优化的问题。

为了达到上述发明目的,本发明采用的技术方案为:一种基于端到端度量网络的视觉slam闭环检测方法,包括以下步骤:

s1、对当前时刻的环境图像进行预处理,得到当前时刻的标准化图像;

s2、采用特征提取模型对历史时刻的标准化图像和当前时刻的标准化图像分别进行图像特征提取,得到两个图像的多层特征;

s3、采用两个图像的多层特征构建相似矩阵;

s4、采用卷积神经网络对相似矩阵进行进一步地特征提取,得到相似矩阵的特征图;

s5、构建相似性度量模型,将相似矩阵的特征图输入相似性度量模型进行历史时刻的环境图像与当前时刻的环境图像的相似度计算,并基于相似度,确定当前时刻的环境是否产生闭环。

进一步地:所述步骤s1包括以下分步骤:

s11、调整当前时刻的环境图像的尺寸,读取该图像并将其转换为张量格式图像;

s12、对张量格式图像进行标准化操作,得到当前时刻的标准化图像。

进一步地:步骤s12中标准化操作的具体公式为:

其中,imagestd为当前时刻的标准化图像,x为张量格式图像,μ为张量格式图像的均值,stddev为张量格式图像的标准方差。

进一步地:所述步骤s2中特征提取模型包括:第1卷积模块、第2卷积模块、第3卷积模块、第4卷积模块和第5卷积模块;

所述第1卷积模块、第2卷积模块、第3卷积模块、第4卷积模块和第5卷积模块依次连接;所述第1卷积模块的输入端作为特征提取模型的输入端;所述第5卷积模块的输出端作为特征提取模型的输出端;所述第1卷积模块、第2卷积模块和第5卷积模块均由卷积层和池化层构成;所述第3卷积模块和第4卷积模块由卷积层构成;所述第1卷积模块的卷积核大小为11×11;所述第2卷积模块、第3卷积模块和第4卷积模块的卷积核大小均为5×5;所述第5卷积模块的卷积核大小为3×3;所述第1卷积模块的卷积层的步长为4,所述第2卷积模块、第3卷积模块、第4卷积模块和第5卷积模块的卷积层的步长均为1;所述第1卷积模块的卷积层的卷积核个数为96,所述第2卷积模块的卷积层的卷积核个数为256,所述第3卷积模块的卷积层的卷积核个数为384,所述第4卷积模块的卷积层的卷积核个数为384,所述第5卷积模块的卷积层的卷积核个数为256;所述第1卷积模块、第2卷积模块和第5卷积模块的池化层均为最大池化层,其池化核的大小均为3×3,其步长均为2。

进一步地:所述第1卷积模块、第2卷积模块、第3卷积模块、第4卷积模块和第5卷积模块中的卷积层采用卷积核对输入数据进行特征提取的公式为:

其中,为第l卷积模块的卷积层的第i个神经元上第j个特征图的输出特征,为第l卷积模块的卷积层的卷积核,bj第j个特征图的偏置,relu(·)为激活函数,a为第a个卷积核,m为卷积核的总数。

进一步地:所述第1卷积模块、第2卷积模块和第5卷积模块中的最大池化层进行特征压缩的公式为:

其中,为最大池化层的输出,r为池化核的大小,yi,j为最大池化层的输入,为第i个池化核内的最大值。

进一步地:所述步骤s3中构建相似矩阵的公式为:

其中,smij为相似矩阵,f1,i为当前时刻的图像的多层特征,f2,j为历史时刻的图像的多层特征。

进一步地:所述步骤s4中卷积神经网络包括:第6卷积模块、第7卷积模块和第8卷积模块;

所述第6卷积模块和第7卷积模块均由卷积层和池化层构成;所述第8卷积模块由卷积层构成;所述第6卷积模块、第7卷积模块和第8卷积模块的卷积核尺寸为3×3;所述第6卷积模块的卷积核的数量为64;所述第7卷积模块的卷积核的数量为128;所述第8卷积模块的卷积核的数量为256;所述第6卷积模块和第7卷积模块的池化层均采用最大池化层,其池化核的大小均为3×3。

进一步地:所述步骤s5中相似性度量模型包括:第9卷积模块、第10卷积模块、第11卷积模块、拼接层、第一全连接层、第二全连接层和第三全连接层;

所述第9卷积模块、第10卷积模块、第11卷积模块、拼接层、第一全连接层、第二全连接层和第三全连接层依次连接;所述第9卷积模块的输入端作为相似性度量模型的输入端;所述第三全连接层的输出端作为相似性度量模型的输出端;所述第9卷积模块、第10卷积模块和第11卷积模块的卷积核尺寸均为3×3;所述第一全连接层和第二全连接层均包含1024个神经元。

进一步地:所述步骤s5包括以下分步骤:

s51、构建相似性度量模型,将相似矩阵的特征图输入相似性度量模型中;

s52、采用第9卷积模块、第10卷积模块和第11卷积模块分别对相似矩阵的特征图进行全局最大池化、全局平均池化和全局标准差池化操作,得到第一池化特征图、第二池化特征图和第三池化特征图;

s53、采用拼接层对第一池化特征图、第二池化特征图和第三池化特征图进行拼接组合,得到池化特征向量;

s54、采用第一全连接层、第二全连接层和第三全连接层进行拟合相似函数,对池化特征向量进行回归计算,得到历史时刻的环境图像与当前时刻的环境图像的相似度,基于相似度,确定当前时刻的环境是否产生闭环。

综上,本发明的有益效果为:

1、一种基于端到端度量网络的视觉slam闭环检测方法,与现有的基于深度学习的闭环检测方法相比,利用神经网络代替传统的相似性度量方法,使得特征提取和相似性度量能够以一种端到端的方式进行联合优化,一方面使得提取到的特征对于闭环对和非闭环对更易区分,另一方面使得拟合得到的相似性度量函数能够更加全面的度量两张图像之间的相似度,而不仅仅局限在特征向量的角度或者长度上的相似性,提高了相似性度量的准确性。

2、利用图片对的特征构建相似矩阵,对图像的空间信息加以利用,进一步提高了闭环检测的精度。整个度量网络全部采用卷积层和全连接层构成,可以加快计算速度,进一步减少检测时间,提高检测效率。

附图说明

图1为一种基于端到端度量网络的视觉slam闭环检测方法的流程图;

图2为特征提取模型的结构示意图;

图3为构建的相似矩阵的具体流程图;

图4为相似性度量模型的结构示意图。

具体实施方式

下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

如图1所示,一种基于端到端度量网络的视觉slam闭环检测方法,包括以下步骤:

s1、对当前时刻的环境图像进行预处理,得到当前时刻的标准化图像;

步骤s1包括以下分步骤:

s11、调整当前时刻的环境图像的尺寸,读取该图像并将其转换为张量格式图像;

s12、对张量格式图像进行标准化操作,得到当前时刻的标准化图像。

在本实施例中,预处理过程为:

为了满足卷积神经网络对输入数据的尺度要求,每张rgb环境图像的大小调整为240×320,读取图像并转为240×320×3的张量之后,对每张环境图像采取标准化操作,标准化操作的具体公式为:

其中,imagestd为当前时刻的标准化图像,x为张量格式图像,μ为张量格式图像的均值,取值为[0.485,0.456,0.406],stddev为张量格式图像的标准方差,取值为[0.229,0.224,0.225]。

s2、采用特征提取模型对历史时刻的标准化图像和当前时刻的标准化图像分别进行图像特征提取,得到两个图像的多层特征;

如图2所示,步骤s2中特征提取模型包括:第1卷积模块、第2卷积模块、第3卷积模块、第4卷积模块和第5卷积模块;

所述第1卷积模块、第2卷积模块、第3卷积模块、第4卷积模块和第5卷积模块依次连接;

所述第1卷积模块的输入端作为特征提取模型的输入端;

所述第5卷积模块的输出端作为特征提取模型的输出端;

所述第1卷积模块、第2卷积模块和第5卷积模块均由卷积层和池化层构成;

所述第3卷积模块和第4卷积模块由卷积层构成;

所述第1卷积模块的卷积核大小为11×11;

所述第2卷积模块、第3卷积模块和第4卷积模块的卷积核大小均为5×5;

所述第5卷积模块的卷积核大小为3×3;

所述第1卷积模块的卷积层的步长为4,所述第2卷积模块、第3卷积模块、第4卷积模块和第5卷积模块的卷积层的步长均为1;

所述第1卷积模块的卷积层的卷积核个数为96,所述第2卷积模块的卷积层的卷积核个数为256,所述第3卷积模块的卷积层的卷积核个数为384,所述第4卷积模块的卷积层的卷积核个数为384,所述第5卷积模块的卷积层的卷积核个数为256;

所述第1卷积模块、第2卷积模块和第5卷积模块的池化层均为最大池化层,其池化核的大小均为3×3,步长均为2。

第1卷积模块、第2卷积模块、第3卷积模块、第4卷积模块和第5卷积模块中的卷积层采用卷积核对输入数据进行特征提取的公式为:

其中,为第l卷积模块的卷积层的第i个神经元上第j个特征图的输出特征,为第l卷积模块的卷积层的卷积核,bj第j个特征图的偏置,relu(·)为激活函数,a为第a个卷积核,m为卷积核的总数。

第1卷积模块、第2卷积模块和第5卷积模块中的最大池化层进行特征压缩的公式为:

其中,为最大池化层的输出,r为池化核的大小,yi,j为最大池化层的输入,为第i个池化核内的最大值。

最大池化层实现对特征的压缩,去除冗余信息,并增加了特征的平移不变性。

s3、采用两个图像的多层特征构建相似矩阵;

步骤s3中构建相似矩阵的公式为:

其中,smij为相似矩阵,f1,i为当前时刻的图像的多层特征,f2,j为历史时刻的图像的多层特征。

在本实施例中,经过步骤s2后,得到多层特征的大小为256×14×19,为了对图像的空间信息加以利用,并构建区域到区域之间的相似矩阵,将历史时刻的多层特征和当前时刻的多层特征分别调整为256×266的大小,并分别记为f1,i和f2,j,然后由f1,i和f2,j计算得到相似矩阵smij,大小为266×266,如图3所示,xq、xj这两个字符分别代表两张图片分别调整后的多层特征。

s4、采用卷积神经网络对相似矩阵进行进一步地特征提取,得到相似矩阵的特征图;

相似矩阵作为卷积神经网络的输入,大小调整为1×266×266。提取特征的网络由3个卷积阶段构成。经过卷积神经网络之后,得到相似矩阵的特征图大小为256×26×26。

步骤s4中卷积神经网络包括:第6卷积模块、第7卷积模块和第8卷积模块;

所述第6卷积模块和第7卷积模块均由卷积层和池化层构成;

所述第8卷积模块由卷积层构成;

所述第6卷积模块、第7卷积模块和第8卷积模块的卷积核尺寸为3×3;

所述第6卷积模块的卷积核的数量为64;

所述第7卷积模块的卷积核的数量为128;

所述第8卷积模块的卷积核的数量为256;

所述第6卷积模块和第7卷积模块的池化层均采用最大池化层,其池化核的大小均为3×3。

s5、构建相似性度量模型,将相似矩阵的特征图输入相似性度量模型进行历史时刻的环境图像与当前时刻的环境图像的相似度计算,并基于相似度,确定当前时刻的环境是否产生闭环。

如图4所示,步骤s5中相似性度量模型包括:第9卷积模块、第10卷积模块、第11卷积模块、拼接层、第一全连接层、第二全连接层和第三全连接层;

所述第9卷积模块、第10卷积模块、第11卷积模块、拼接层、第一全连接层、第二全连接层和第三全连接层依次连接;

所述第9卷积模块的输入端作为相似性度量模型的输入端;

所述第三全连接层的输出端作为相似性度量模型的输出端;

所述第9卷积模块、第10卷积模块和第11卷积模块的卷积核尺寸为3×3。

步骤s5包括以下分步骤:

s51、构建相似性度量模型,将相似矩阵的特征图输入相似性度量模型中;

s52、采用第9卷积模块、第10卷积模块和第11卷积模块分别对相似矩阵的特征图进行全局最大池化、全局平均池化和全局标准差池化操作,得到第一池化特征图、第二池化特征图和第三池化特征图,其中,三种池化方式的具体公式如下:

其中,xi,max为第一池化特征图,xi,avg为第二池化特征图,xi,var为第三池化特征图,为第i个通道的特征图,max(·)为取最大值,i为第i个通道,j、k为相似矩阵的特征图的尺寸。

s53、采用拼接层对第一池化特征图、第二池化特征图和第三池化特征图进行拼接组合,得到池化特征向量;

在本实施例中,池化特征向量的大小为1×768。

s54、采用第一全连接层、第二全连接层和第三全连接层进行拟合相似函数,对池化特征向量进行回归计算,得到历史时刻的环境图像与当前时刻的环境图像的相似度,基于相似度,确定当前时刻的环境是否产生闭环。

利用三层全连接层来拟合相似函数。前两层全连接层包含1024个神经元,。采用relu(·)作为激活函数,对卷积层的输出进行加权求和整合出更加抽象的数据特征。第三全连接层只包含一个神经元,采用sigmoid(·)作为激活函数,输出为两张图片的相似性得分。通过设置合适的阈值,当相似性得分大于阈值时,则认为发生了闭环,小于阈值时,则认为不是闭环。在本实施例中,阈值设为0.5。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1