基于在线学习深度预测网络的实时稠密单目SLAM方法与系统技术方案

技术编号:17781184 阅读:60 留言:0更新日期:2018-04-22 10:32
本发明专利技术公开了一种基于在线学习深度预测网络的实时稠密单目SLAM方法:通过最小化高梯度点的光度误差优化得到关键帧的相机姿态,并且采用三角测量法预测高梯度点的深度得到当前帧的半稠密地图;选择在线训练图片对,采用逐块随机梯度下降法在线训练更新CNN网络模型,并利用训练后CNN网络模型对当前帧图片进行深度预测得到稠密地图;根据所述当前帧的半稠密地图和预测稠密地图进行深度尺度回归,得到当前帧深度信息的绝对尺度因子;采用NCC得分投票方法根据所述两种投影结果选择所述当前帧的各像素深度预测值得到预测深度图,并对所述预测深度图进行高斯融合得到最终深度图。本发明专利技术还提供了相应的基于在线学习深度预测网络的实时稠密单目SLAM系统。

【技术实现步骤摘要】
基于在线学习深度预测网络的实时稠密单目SLAM方法与系统
本专利技术属于计算机视觉三维重建
,更具体地,涉及一种基于在线学习深度预测网络的实时稠密单目SLAM方法与系统。
技术介绍
即时定位与地图重建技术(SimultaneousLocalizationAndMapping,SLAM)可以实时的预测传感器的位姿并且重建出周围环境的3D地图,因此在无人机避障以及增强现实等领域发挥着重要的作用。其中,仅仅依靠单个摄像头作为输入传感器的SLAM系统被称为单目SLAM系统。单目SLAM具有低功耗、硬件门槛低以及操作简单等特性,被研究人员广泛使用。但是,现有流行的单目SLAM系统,无论是基于特征方法的PTAM(ParallelTrackingAndMappingForSmallARWorkspaces)和ORB-SLAM(Orb-slam:AVersatileAndAccurateMonocularSlamSystem),还是采用直接法的LSD-SLAM(Lsd-slam:Large-scaleDirectMonocularSlam),都存在两个主要的问题:(1)只能构建出场景的稀疏或者半稠密的地图,因为只有少数关键点或是高梯度点的深度可以计算出来;(2)具有尺度不确定性,存在尺度飘移的现象。近几年,用于单目图片深度估计的深度卷积神经网络(ConvolutionalNeuralNetwork,CNN)已经取得了巨大的进步,其主要原理是在大量的训练数据之中学习物体的深度和形状、纹理、场景语义以及场景上下文等之间的内在联系,从而准确预测输入到网络之中图片的深度信息。将CNN与单目SLAM结合不但可以提高建图的完整率,还可以获得绝对的尺度信息,因此弥补了单目SLAM的缺陷与不足。目前,最成功将两者结合的系统被称为CNN-SLAM(Cnn-slam:RealtimeDenseMonocularSlamWithLearnedDepthPrediction),该系统把CNN深度预测的结果作为SLAM关键帧的初始深度值,然后采用像素匹配、三角测量和图优化的方法对关键帧中高梯度点的深度进行优化,从而获得稠密的3D重建结果,并使尺度信息更加接近真实尺度。虽然取得了一定的效果,但是该系统仍存在以下问题:(1)只有少数高梯度像素点的深度值被优化,大部分低梯度像素点的深度值没有变化,造成重建效果不理想,特别是对于未知场景;(2)利用CNN输出之中高梯度像素点的深度信息来预测尺度信息不够准确,造成初始化不够充分,会增大SLAM系统建图和追踪的误差。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了一种将在线学习深度预测网络与单目SLAM相结合的方法与系统,其目的在于充分利用深度卷积神经网络的优势实现对于单目SLAM系统关键帧的稠密深度估计,并根据结果恢复场景真实尺度信息,由此解决传统单目SLAM缺少尺度信息和不能实现稠密建图的技术问题。为实现上述目的,按照本专利技术的一个方面,提供了一种基于在线学习深度预测网络的实时稠密单目SLAM方法,包括:(1)从单目视觉传感器通过旋转和平移运动采集的图片序列中选择关键帧,通过最小化高梯度点的光度误差优化得到关键帧的相机姿态,并且采用三角测量法预测高梯度点的深度得到当前帧的半稠密地图;(2)根据所述关键帧选择在线训练图片对,采用逐块随机梯度下降法根据所述在线训练图片对来在线训练更新CNN网络模型,并利用训练后CNN网络模型对当前帧图片进行深度预测得到稠密地图;(3)根据所述当前帧的半稠密地图和预测稠密地图进行深度尺度回归,得到当前帧深度信息的绝对尺度因子;(4)根据相机姿态将所述预测稠密地图通过位姿变换投影到上一关键帧中,并根据所述绝对尺度因子将所述半稠密地图投影到上一关键帧中,采用NCC得分投票方法根据所述两种投影结果选择所述当前帧的各像素深度预测值得到预测深度图,并对所述预测深度图进行高斯融合得到最终深度图。本专利技术的一个实施例中,所述根据所述关键帧选择在线训练图片,具体为:采用如下约束条件在关键帧前后帧图片中筛选图片帧与所述关键帧构成图片对:第一,相机运动约束:两帧图片之间水平方向上的位移满足|tx|>0.9*T,其中T代表两帧图片之间的基线距离;第二,视差约束:对于每一对图片,采用光流法计算图片间的垂直方向的平均视差Disavg,只有当Disavg小于预设阈值δ时才会将该对图片保存为候选训练图片;第三,多样性约束:同一个关键帧只能产生一对训练图片;第四,训练池容量约束:每当训练图片对的数量到达设定阈值V时,就将训练池中的图片送入到网络,对网络进行在线训练,保存训练得到的网络模型,同时清空训练池继续进行训练数据的筛选。本专利技术的一个实施例中,采用逐块随机梯度下降法根据所述在线训练图片来在线训练更新CNN网络模型,具体为:将ResNet-50之中的卷积层分为5个块,其中每一个块具体表示为conv1,conv2_x,conv3_x,conv4_x,conv5_x;conv1由一个单一的7X7的全卷积层组成;conv2_x由一个3X3的卷积层和3个瓶颈构建块共10层组成;conv3_x由4个瓶颈构建块共12层组成;conv4_x由6个瓶颈构建块共18层组成:conv5_x由3个瓶颈构建块共9层组成,五个部分加起来构成了ResNet-50的50层结构;在每一次在线学习和更新的过程之中,每一次迭代k,只更新一个部分的参数Wi(i=1,2,3,4,5),保持剩余4个部分网络层参数不变,而在下一次迭代中,更新第i块参数,其中i=(i+1)%5;其他层参数保持不变,整个在线学习和更新的迭代一直在进行,直到预设停止条件被满足。本专利技术的一个实施例中,所述在线训练更新CNN网络模型为选择性更新,具体为:计算每一批输入到CNN网络模型之中图片的训练损失函数,一旦一批图片的所有图片的损失函数都大于预先设定的阈值Lhigh,将启动在线学习和更新的进程,在线学习和更新的进程将会一直进行,直到训练图片的损失函数降到阈值Llow之下,或者是迭代的次数达到了预先设定的阈值。本专利技术的一个实施例中,所述深度尺度回归方法为:RANSAC算法或最小二乘算法。本专利技术的一个实施例中,所述将所述预测稠密地图通过位姿变换投影到上一关键帧中,并根据所述绝对尺度因子将所述半稠密地图投影到上一关键帧中,采用NCC得分投票方法根据所述两种投影结果选择所述当前帧的各像素深度预测值得到预测深度图,具体为:将关键帧i之中的每一个像素点p,根据CNN预测的稠密地图Dcnn(p)和位姿变换将该像素点投影到与之相距最近的关键帧i-1中,投影的结果表示为p′cnn;将关键帧i之中的像素点p做另外一个投影,映射到关键帧i-1中记为p′sd,投影是基于半稠密地图的结果Dsp(p)和绝对的尺度因子;分别在关键帧i-1中投影点p′cnn和p′sd附近选取小的区域,并且分别计算区域R(p)与Rcnn(p′)之间的归一化互相关系数NCCcnn和区域R(p)与Rsd(p′)之间归一化互相关系数NCCsd,如果NCCcnn小于NCCsd,那么表明半稠密深度图的深度预测结果要好于CNN的结果,选择Dsp(p)作为像素点p的最终深度预测值,否则选择Rcnn本文档来自技高网
...
基于在线学习深度预测网络的实时稠密单目SLAM方法与系统

【技术保护点】
一种基于在线学习深度预测网络的实时稠密单目SLAM方法,其特征在于,包括如下步骤:(1)从单目视觉传感器通过旋转和平移运动采集的图片序列中选择关键帧,通过最小化高梯度点的光度误差优化得到关键帧的相机姿态,并且采用三角测量法预测高梯度点的深度得到当前帧的半稠密地图;(2)根据所述关键帧选择在线训练图片对,采用逐块随机梯度下降法根据所述在线训练图片对来在线训练更新CNN网络模型,并利用训练后CNN网络模型对当前帧图片进行深度预测得到稠密地图;(3)根据所述当前帧的半稠密地图和预测稠密地图进行深度尺度回归,得到当前帧深度信息的绝对尺度因子;(4)根据相机姿态将所述预测稠密地图通过位姿变换投影到上一关键帧中,并根据所述绝对尺度因子将所述半稠密地图投影到上一关键帧中,采用NCC得分投票方法根据所述两种投影结果选择所述当前帧的各像素深度预测值得到预测深度图,并对所述预测深度图进行高斯融合得到最终深度图。

【技术特征摘要】
1.一种基于在线学习深度预测网络的实时稠密单目SLAM方法,其特征在于,包括如下步骤:(1)从单目视觉传感器通过旋转和平移运动采集的图片序列中选择关键帧,通过最小化高梯度点的光度误差优化得到关键帧的相机姿态,并且采用三角测量法预测高梯度点的深度得到当前帧的半稠密地图;(2)根据所述关键帧选择在线训练图片对,采用逐块随机梯度下降法根据所述在线训练图片对来在线训练更新CNN网络模型,并利用训练后CNN网络模型对当前帧图片进行深度预测得到稠密地图;(3)根据所述当前帧的半稠密地图和预测稠密地图进行深度尺度回归,得到当前帧深度信息的绝对尺度因子;(4)根据相机姿态将所述预测稠密地图通过位姿变换投影到上一关键帧中,并根据所述绝对尺度因子将所述半稠密地图投影到上一关键帧中,采用NCC得分投票方法根据所述两种投影结果选择所述当前帧的各像素深度预测值得到预测深度图,并对所述预测深度图进行高斯融合得到最终深度图。2.如权利要求1所述的基于在线学习深度预测网络的实时稠密单目SLAM方法,其特征在于,所述根据所述关键帧选择在线训练图片,具体为:采用如下约束条件在关键帧前后帧图片中筛选图片帧与所述关键帧构成图片对:第一,相机运动约束:两帧图片之间水平方向上的位移满足|tx|>0.9*T,其中T代表两帧图片之间的基线距离;第二,视差约束:对于每一对图片,采用光流法计算图片间的垂直方向的平均视差Disavg,只有当Disavg小于预设阈值δ时才会将该对图片保存为候选训练图片;第三,多样性约束:同一个关键帧只能产生一对训练图片;第四,训练池容量约束:每当训练图片对的数量到达设定阈值V时,就将训练池中的图片送入到网络,对网络进行在线训练,保存训练得到的网络模型,同时清空训练池继续进行训练数据的筛选。3.如权利要求1或2所述的基于在线学习深度预测网络的实时稠密单目SLAM方法,其特征在于,采用逐块随机梯度下降法根据所述在线训练图片来在线训练更新CNN网络模型,具体为:将ResNet-50之中的卷积层分为5个块,其中每一个块具体表示为conv1,conv2_x,conv3_x,conv4_x,conv5_x;conv1由一个单一的7X7的全卷积层组成;conv2_x由一个3X3的卷积层和3个瓶颈构建块共10层组成;conv3_x由4个瓶颈构建块共12层组成;conv4_x由6个瓶颈构建块共18层组成:conv5_x由3个瓶颈构建块共9层组成,五个部分加起来构成了ResNet-50的50层结构;在每一次在线学习和更新的过程之中,每一次迭代k,只更新一个部分的参数Wi(i=1,2,3,4,5),保持剩余4个部分网络层参数不变,而在下一次迭代中,更新第i块参数,其中i=(k+1)%5;其他层参数保持不变,整个在线学习和更新的迭代一直在进行,直到预设停止条件被满足。4.如权利要求1或2所述的基于在线学习深度预测网络的实时稠密单目SLAM方法,其特征在于,所述在线训练更新CNN网络模型为选择性更新,具体为:计算每一批输入到CNN网络模型之中图片的训练损失函数,一旦一批图片的所有图片的损失函数都大于预先设定的阈值Lhigh,将启动在线学习和更新的进程,在线学习和更新的进程将会一直进行,直到训练图片的损失函数降到阈值Llow之下,或者是迭代的次数达到了预先设定的阈值。5.如权利要求1或2所述的基于在线学习深度预测网络的实时稠密单目SLAM方法,其特征在于,所述深度尺度回归方法为:RANSAC算法或最小二乘算法。6.如权利要求1或2所述的基于在线...

【专利技术属性】
技术研发人员:杨欣罗鸿城高杨吴宇豪
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1