买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种全周期采用CNNs特征检测的视觉SLAM算法_北京航空航天大学_201811087509.9 

申请/专利权人:北京航空航天大学

申请日:2018-09-18

公开(公告)日:2022-07-01

公开(公告)号:CN109341703B

主分类号:G01C21/32

分类号:G01C21/32;G06V10/74;G06V10/764;G06V10/774;G06V10/82;G06K9/62

优先权:

专利状态码:有效-授权

法律状态:2022.07.01#授权;2019.03.12#实质审查的生效;2019.02.15#公开

摘要:本发明公开一种全周期采用CNNs特征检测的视觉SLAM算法,首先在前端,用无监督模型对原始图像数据进行预训练,接着利用预训练的数据通过CNN网络架构把运动和深度的联合表示和局部速度和方向改变关联起来,执行视觉里程计;最后执行路径预测。本发明还使用OverFeat神经网络模型进行回环检测环节,用于消除前端带来的累积误差,构建一个基于深度学习的视觉slam架构。同时构建时间和空间连续性滤波器,对匹配结果进行验证,提高匹配准确率,消除误匹配。本发明在提高视觉里程计精度和闭环检测正确率方面有着巨大的优势和潜力。

主权项:1.一种全周期采用CNNs特征检测的视觉SLAM方法,包括以下步骤:步骤1:使用双目摄像机扫描周围的环境信息;将采集到的多个视频流中一部分作为训练数据集,一部分作为测试数据集;步骤2:通过同步检测的方法对步骤1采集的视频流中训练数据集进行预训练;采用无监督学习模型采用随机梯度下降训练对训练数据集进行预训练,得到运动和深度联合表示的特征信息,随后将运动和深度联合表示的特征信息去白化返回到图像空间;步骤3:使用卷积神经网络训练得到速度的局部改变与方向的局部改变,来执行视觉里程计;将步骤2中无监督学习模型训练得到的特征输入两个相同架构的CNN第一层,用于两个CNN第一层的初始化;两个CNN分别输出速度的局部改变与方向的局部改变,并有两个CNN剩余部分分别将速度的局部改变与方向的局部改变与期望的标签相关联;整个CNN网络共有6层,第一层是5*5的卷积层,分别左右图像学习特征;接下来第二层对左右两个卷积层提取出的特征进行元素相乘;第三层1*1的卷积层,第四层是池化层,第五层是全连接层,最后的输出层是Softmax层;上述两个CNN的输入均为5帧子序列,并且目标输出是局部速度和方向改变的向量表示;局部的速度和方向改变信息的效果和精度通过双目数据集KITTI进行评测;步骤4:利用步骤3得到的速度的局部改变与方向的局部改变信息,恢复出相机的运动路径;步骤5:使用卷积神经网络进行闭环检测,消除路径预测的累积误差;首先,通过将步骤1中采集的训练数据集和测试数据集作为输入,使用在imagenet数据集上预训练好的overfeat卷积神经网络进行特征提取;随后,对从每一张测试数据集中的图片中提取的特征与从每一张训练数据集中提出的特征进行匹配;利用overfeat卷积神经网络各层特征构造混合矩阵:Mki,j=dLkIi,LkIj,i=1,…,R,j=1,…,T其中,Ii代表第i帧训练数据集中的图像输入,Ij代表第j帧测试数据集中的图像输入,LkIi代表与Ii对应的第k层输出,Mki,j代表第k层训练样本i和测试样本j之间的欧氏距离,即描述了两者之间的匹配程度;R与T分别代表训练图像的个数和测试图像的个数;上述混合矩阵每一列存储了第j帧测试图像和所有训练图像之间的平均特征向量差;搜索混合矩阵每列中具有最低特征向量差的元素;

全文数据:一种全周期采用CNNs特征检测的视觉SLAM算法技术领域本发明属于计算机视觉中的同时定位与地图构建slam算法的技术领域,具体涉及一种全周期采用CNNs特征检测的视觉SLAM算法。背景技术SLAMSimultaneousLocalizationandMapping中文名称为“同时定位与地图构建”。SLAM是一个令人着迷的研究领域,在机器人,导航和其他许多应用中有着广泛的应用。视觉SLAM基本上涉及根据视觉传感器信息来估计相机运动并试图构建周围环境的地图,例如来自一个或多个相机的序列帧。当前SLAM问题的研究手段主要是通过在机器人本体上安装多类型传感器来估计机器人本体运动信息和未知环境的特征信息,利用信息融合实现对机器人位姿的精确估计以及场景的空间建模。尽管SLAM采用的传感器有激光和视觉等多种类型,但其处理过程一般包含3个部分:前端视觉里程计,后端优化以及闭环检测。典型视觉SLAM算法以估计摄像机位姿为主要目标,通过多视几何理论来重构3D地图。为提高数据处理速度,部分视觉SLAM算法首先提取稀疏的图像特征,通过特征点之间的匹配实现视觉里程计和闭环检测,如基于SIFTscaleinvariantfeaturetransform特征的视觉SLAM[13]和基于ORBorientedFASTandrotatedBRIEF特征的视觉SLAM。SIFT和ORB特征凭借其较好的鲁棒性和较优的区分能力以及快速的处理速度,在视觉SLAM领域受到广泛应用。人工设计的稀疏图像特征当前有很多局限性,一方面如何设计稀疏图像特征最优地表示图像信息依然是计算机视觉领域未解决的重要问题,另一方面稀疏图像特征在应对光照变化、动态目标运动、摄像机参数改变以及缺少纹理或纹理单一的环境等方面依然有较多挑战。传统的视觉里程计VisualOdometry,VO基本上涉及根据视觉信息来估计运动,例如来自一个或多个相机的序列帧。这些工作中的大多数属性的一个共同特点是它们依靠关键点检测和跟踪以及相机几何结构来估计视觉测距。近年来,基于学习的方法已经在计算机视觉的许多领域显示出令人期待的结果,能够克服传统的视觉slam算法中存在的缺陷稀疏图像特征在应对光照变化、动态目标运动、摄像机参数改变以及缺少纹理或纹理单一的环境等方面有较多的困难。像卷积神经网络CNNs这样的模型被证明在各种视觉任务中非常有效,如分类和定位,深度估计等等。无监督特征学习模型展示了通过乘法交互学习数据中局部变换表示的能力。研究表明经过无监督模型预训练之后的数据,再应用到CNNs网络中,可以较好的过滤噪声和防止“过拟合”。视觉里程计VO负责估计轨迹和地图的初值。VO原理是只考虑了相邻帧图片的联系。误差不可避免的将会随着时间积累,使得整个系统出现累计误差,长期估计的结果将不可靠,或者说,我们无法构建全局一致的轨迹和地图。回环检测模块能够给出相邻帧之外一些时隔更加久远的约束。回环检测的关键,就是如何有效的检测出相机经过同一个地方这件事,关系到我们估计的估计和地图在长时间下的正确性。因此,回环检测对整个SLAM系统的精度和稳健性的提升是非常明显的。而基于外观的这种回环检测本质上是图像相似性匹配的一项任务。通过对两张图像进行特征匹配,来验证是否为同一地点。回环检测的传统方法,是利用“词袋模型”生成字典来做特征匹配。现在,CNNs已经在各种分类任务中显现出最优的性能。现有路标测试结果表明,来自不同层次的CNN的深层特征在描述符匹配方面始终比SIFT执行得更好,表明SIFT或SURF可能不再是匹配任务的首选描述符。因此,我们的发明受到CNN在图像分类方面的出色表现以及它们在特征匹配方面的可行性证据的启发。抛弃传统的词袋模型方法,用基于CNNs的以深度学习技术为代表的层次化图像特征提取方法,来做回环检测。深度学习算法是当前计算机视觉领域主流的识别算法,其依赖多层神经网络学习图像的层次化特征表示,与传统识别方法相比,可以实现更高的特征提取和位置识别的准确率。发明内容针对上述问题,本发明提出一种全周期采用CNNs特征检测的视觉SLAM算法,是一种在SLAM算法运行的前端VO和回环检测都采用卷积神经网络进行处理,实现一个全周期深度学习算法的SLAM系统。本发明全周期采用CNNs特征检测的视觉SLAM算法,包括以下步骤:步骤1:使用双目摄像机扫描周围的环境信息;将采集到的多个视频流中一部分作为训练数据集,一部分作为测试数据集。步骤2:通过同步检测的方法对步骤1采集的视频流中训练数据集进行预训练。步骤3:使用卷积神经网络训练得到速度的局部改变与方向的局部改变,来执行视觉里程计。步骤4:利用步骤3得到的速度的局部改变与方向的局部改变信息,恢复出相机的运动路径。步骤5:使用卷积神经网络进行闭环检测,消除路径预测的累积误差。本发明优点在于:1、本发明全周期采用CNNs特征检测的视觉SLAM算法,将卷积神经网络用于前端,相比传统前端算法,基于学习的方替代繁琐公式计算,无需人工特征提取和匹配,显得简洁直观,并且在线运算速度较快。2、本发明全周期采用CNNs特征检测的视觉SLAM算法,抛弃传统的利用词袋模型进行闭环检测的方法,通过准确的特征匹配,得到比较好的位置识别的效果。3、本发明全周期采用CNNs特征检测的视觉SLAM算法,可以通过神经网络学习图像中的深层次特征,其识别率可以达到更高水平。相较于传统视觉slam算法,可以提高闭环检测准确率,表达图像信息更充分,对光照、季节等环境变化有更强鲁棒性,能够对2帧图像之间的相似性进行计算,从而实现更加简洁的视觉里程计,且利用数据库预训练神经网络完成特征设计的同时,也可同步完成匹配分类器的设计。附图说明图1为本发明全周期采用CNNs特征检测的视觉SLAM算法整体流程图;图2为本发明全周期采用CNNs特征检测的视觉SLAM算法中闭环检测方法流程图。具体实施方式下面结合附图对本发明作进一步详细说明。本发明全周期采用CNNs特征检测的视觉SLAM算法,如图1所示,包括以下步骤:步骤1:扫描周围的环境信息;使用双目摄像机沿在正方形区域移动,对真实场景进行环境图像信息采集,得到的视频流实时的传送到上位机中。双目摄像机移动圈数为1~2圈,构成闭环,方便后续的闭环检测环节对累计误差的补偿。重复进行上述过程,将采集到的多个视频流中一部分作为训练数据集,一部分作为测试数据集。步骤2:通过同步检测的方法对步骤1采集的视频流中训练数据集进行预训练。为了获取相机运动和图像深度信息的组合表示,采用无监督学习模型SAE-D采用随机梯度下降训练对训练数据集进行预训练。基于同步的SAE-D是一个单层的模型,允许通过局部的和Hebbian类型的学习来从训练数据集获取特征。SAE-D模型在训练数据集中随即剪裁的局部双目块上训练,每一个双目块的尺寸为16*16*5space*space*time,得到运动和深度联合表示的特征信息;随后将运动和深度联合表示的特征信息去白化返回到图像空间,完成对训练数据集的预训练。预训练后的训练数据集用于初始化CNN卷积神经网络的第一层。步骤3:使用卷积神经网络CNN训练来执行视觉里程计。卷积神经网络CNN是一种基于监督的学习模型。CNN被训练以将局部深度和运动表示与速度和方向的局部变化相关联,从而学习执行视觉里程计。通过CNN架构把获取的运动和深度的联合表示进行训练与期望的标签方向和速度改变相关联。本发明中将步骤2中SAE-D模型训练得到的特征输入两个相同架构的CNN第一层,用于两个CNN第一层的初始化;两个CNN分别输出速度的局部改变与方向的局部改变,并有两个CNN剩余部分分别将速度的局部改变与方向的局部改变与期望的标签相关联。整个CNN网络共有6层,第一层是5*5的卷积层,分别左右图像学习特征。接下来第二层对左右两个卷积层提取出的特征进行元素相乘。第三层1*1的卷积层,第四层是池化层,第五层是全连接层,最后的输出层是Softmax层。上述两个CNN的输入均为5帧子序列,并且目标输出是局部速度和方向改变的向量表示。局部的速度和方向改变信息的效果和精度可通过双目数据集KITTI进行评测。步骤4:相机运动路径预测对于整个视频流,利用步骤3得到的每5帧子序列的速度和方向改变信息,即可离散的恢复出相机的运动路径。步骤5:使用CNN进行闭环检测,消除路径预测的累积误差;步骤4中得到的局部的速度和方向改变信息不可能完全精准,存在一定的误差。随着误差的不断积累,预测路径从起点到终点会与真实的路径的差距会不断增大。所以需要后续的闭环检测环节来对这些累计误差进行消除,减小预测路径与真实路径的差距。这种算法包括两个部分:使用卷积神经网络进行特征提取;通过比较特征响应对位置匹配假设进行时空滤波。在闭环检测环节同样采用基于CNN的算法进行处理,所应用到的CNN模型与前述CNN模型不同,独立运用在视觉里程计和闭环检测,以此消除步骤4得到的相机运动路径预测的累计误差,实现自主闭环,具体方法为:利用预训练的卷积神经网络进行图像特征提取。本发明采用overfeat卷积神经网络进行图像特征提取。overfeat卷积神经网络在ImageNet2012数据集上进行预训练,该数据集由120万张图像和1000个类组成。overfeat卷积神经网络包括五个卷积阶段和三个完全连接阶段。开头的两个卷积阶段由一个卷积层,一个最大池化层和一个整流ReLU非线性层组成。第三和第四卷积阶段由卷积层,零填充层和ReLU非线性层组成。第五阶段包含一个卷积层,一个零填充层,一个ReLU层和一个Maxpooling层。最后,第六和第七完全连接阶段包含一个完全连接层和一个ReLU层,而第八阶段是包含仅完全连接层的输出层。整个卷积神经网络总共有21层。当图像I被输入到网络中时,它产生一系列的分层激活。本发明中使用LkI,k=1,…,21来表示给定输入图像I第k层的相应输出。每一层的输出的的特征向量LkI中的每一个都是图像I的深度学习表示;通过这些对不同图像相应的特征向量进行比较来执行位置识别。该网络能够处理任何尺寸等于或大于231×231像素的图像,因此overfeat卷积神经网络的输入都使用调整大小为256×256像素的图像。由此,通过将步骤一中采集的训练数据集和测试数据集作为输入,使用预训练好的overfeat卷积神经网络进行特征提取。步骤6:特征匹配生成混合矩阵并进行时空连续性检测。如图2所示,通过overfeat卷积神经网络对从每一张测试数据集中的图片中提取的特征与从每一张训练数据集中提出的特征进行匹配。为比较overfeat卷积神经网络中每层图像的特征在场景识别上的性能差别,进一步利用各层特征构造混合矩阵:Mki,j=dLkIi,LkIj,i=1,…,R,j=1,…,T其中,Ii代表第i帧训练数据集中的图像输入,Ij代表第j帧测试数据集中的图像输入,LkIi代表与Ii对应的第k层输出,Mki,j代表第k层训练样本i和测试样本j之间的欧氏距离,即描述了两者之间的匹配程度;R与T分别代表训练图像的个数和测试图像的个数。上述混合矩阵每一列存储了第j帧测试图像和所有训练图像之间的平均特征向量差。为了找到最强的位置匹配假设,搜索混合矩阵每列中具有最低特征向量差的元素。对于混合矩阵中可能的位置匹配假设,进一步构造空间连续性滤波器和时间连续性滤波器进行综合验证,提高匹配准确率。同时,对各层网络所训练出来的特征性能进行探索,发现网络中间层特征描述对于视角相似的图像匹配效果较好,而中后层对于场景视角变化具有更强的适应性和鲁棒性。有了精准的位置匹配,就可对没有回环的视觉里程计造成的累计误差进行补偿,构建全局一致的轨迹。

权利要求:1.一种全周期采用CNNs特征检测的视觉SLAM算法,包括以下步骤:步骤1:使用双目摄像机扫描周围的环境信息;将采集到的多个视频流中一部分作为训练数据集,一部分作为测试数据集;步骤2:通过同步检测的方法对步骤1采集的视频流中训练数据集进行预训练;步骤3:使用卷积神经网络训练得到速度的局部改变与方向的局部改变,来执行视觉里程计;步骤4:利用步骤3得到的速度的局部改变与方向的局部改变信息,恢复出相机的运动路径;步骤5:使用卷积神经网络进行闭环检测,消除路径预测的累积误差。2.如权利要求1所述一种全周期采用CNNs特征检测的视觉SLAM算法,其特征在于:步骤1中使用双目摄像机沿在环形区域移动,移动圈数为1~2圈,构成闭环。3.如权利要求1所述一种全周期采用CNNs特征检测的视觉SLAM算法,其特征在于:步骤2中采用无监督学习模型采用随机梯度下降训练对训练数据集进行预训练,得到运动和深度联合表示的特征信息,随后将运动和深度联合表示的特征信息去白化返回到图像空间。4.如权利要求1所述一种全周期采用CNNs特征检测的视觉SLAM算法,其特征在于:步骤3中,将步骤2训练得到的特征输入两个相同架构的CNN第一层,通过CNN架构把获取的运动和深度的联合表示进行训练与期望的标签相关联。5.如权利要求1所述一种全周期采用CNNs特征检测的视觉SLAM算法,其特征在于:步骤5中,首先,通过将步骤一中采集的训练数据集和测试数据集作为输入,使用在imagenet数据集上预训练好的overfeat卷积神经网络进行特征提取;随后,对从每一张测试数据集中的图片中提取的特征与从每一张训练数据集中提出的特征进行匹配;利用overfeat卷积神经网络各层特征构造混合矩阵:Mki,j=dLkIi,LkIj,i=1,…,R,j=1,…,T其中,Ii代表第i帧训练数据集中的图像输入,Ij代表第j帧测试数据集中的图像输入,LkIi代表与Ii对应的第k层输出,Mki,j代表第k层训练样本i和测试样本j之间的欧氏距离,即描述了两者之间的匹配程度;R与T分别代表训练图像的个数和测试图像的个数;上述混合矩阵每一列存储了第j帧测试图像和所有训练图像之间的平均特征向量差;搜索混合矩阵每列中具有最低特征向量差的元素;

百度查询: 北京航空航天大学 一种全周期采用CNNs特征检测的视觉SLAM算法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。