一种融合深度学习和几何推理的单目视觉里程计方法

文档序号:25308500发布日期:2021-06-04 15:04阅读:253来源:国知局
一种融合深度学习和几何推理的单目视觉里程计方法

1.本发明涉及视觉信息实时定位领域,具体是指一种融合深度学习和几何推理的单目视觉里程计方法。


背景技术:

2.在自动驾驶等智能领域中,汽车需要实时地获取自身的位置信息,然后才能进行决策分析,实现精准导航,目前主要依靠于卫星导航定位技术来实现位置信息的获取,但是在一些特殊场景下这存在很大问题,比如在野外隧道、树木遮挡、网络连接不畅等情形下,卫星定位会出现较大偏差,导致无法实现进一步的分析决策。
3.视觉里程计是用于获取物体在运动过程中实时位姿的技术,它能够仅依靠摄像头当前捕捉到的视觉图像信息,结合上一步的位姿,推算出当前的实时位姿,这样就可以在不依靠其他外部信息输入的情况下,实现对自身的实时定位,彻底摆脱了外界复杂环境因素的干扰,可以有效地应对突发场景,在自动驾驶领域具有广阔的应用前景,尤其是对于保障安全具有重要意义。
4.但是,现有的视觉里程计技术,一类是采用传统的方式,通过在两幅图像上选取特征点并进行匹配,建立起两幅图像之间的对应像素关系,再依据单孔相机成像的极线约束条件,通过几何求解的方式计算出相机的位姿变换参数,包括旋转和位移参数,从而计算出当前的位姿,在这类方法中,特征点的选取和精确匹配就成了关键,而且当图像中物体出现遮挡或者存在运动物体时,会变得更加难以处理,另一类是采用深度学习技术,借助于卷积神经网络强大的特征提取和抽象概括能力,根据图像序列直接预测出当前的位姿信息,但是,在这类方法中,虽然充分地抽取了图像中的信息,而且具有一定的泛化能力,对遮挡和运动物体具有一定的容错性,但是,在泛化能力提高的同时,也丢掉了原本应该严格存在的几何约束关系,从而导致最终的估计结果不准确,而且整个系统中各个模块深度耦合,增加了训练和测试的难度。


技术实现要素:

5.基于以上问题,本发明提供了一种融合深度学习和几何推理的单目视觉里程计方法,融合了深度学习技术和传统几何推理的优点,并且整个系统各模块间完全解耦,极大简化了整个系统的训练、测试以及升级维护的成本和复杂度。
6.为解决以上技术问题,本发明采用的技术方案如下:
7.一种融合深度学习和几何推理的单目视觉里程计方法,包括如下步骤:
8.步骤一、采集单目视觉图像序列数据;
9.步骤二、利用单目图像深度预测网络获取单目视觉深度图像;
10.步骤三、利用光流预测网络获取相邻单目视觉图像之间的光流图像;
11.步骤四、根据光流图像,利用几何推力预测模块计算得到两帧单目视觉图像之间的光流一致性信息,并根据光流一致性信息以及设定的阈值,选择出两幅单目视觉图像中
最佳的n对匹配像素点;
12.步骤五、根据匹配像素点,结合单目视觉深度图像,建立起3d到2d的映射关系,根据pnp算法求解得到相机的旋转和位移参数,结合前一时刻相机的位姿,更新得到当前时刻的相机位姿。
13.进一步,所述步骤二具体包括:
14.s21、将单目视觉图像序列数据分为训练集和测试集;
15.s22、获取一幅输入图像之后,首先通过四层卷积网络进行特征提取,每一层卷积网络均使用步长为1的卷积,并配合padding操作,在每一层卷积网络之后,使用步长为2的最大池化操作,将图像相对于上一层缩放2倍,在空间分辨率缩放的同时,在深度维度上增加一倍,在卷积池化的过程当中,使用relu做为激活函数,最后得到多尺度的特征图像;
16.s23、在得到多尺度的特征图像后,通过一个自下而上的带跳跃连接的卷积网络,来进行最终单目视觉深度图像的生成。
17.进一步,所述步骤s23具体包括:
18.首先,根据第四层特征图像,通过卷积之后,生成一个粗略的深度图像,此时该粗略的深度图像的分辨率是原始图像的1/8;紧接着,将生成的粗略的深度图像进行上采样,用于生成分辨率为原始图像的1/4的深度预测图,以此类推,最终生成一个和原始图像分辨率一致的单目视觉深度图像。
19.进一步,所述步骤三具体包括:
20.s31、设计图像金字塔网络用于提取两帧单目视觉图像之间的特征信息。
21.s32、在得到两帧单目视觉图像的金字塔特征图像f1~f6之后,先从分辨率最低的特征图像f6开始,将两帧单目视觉图像的特征图像首先输入到m模块中,通过m模块的处理,生成一个粗略的光流图像x
m
,再将粗略的光流图像x
m
和当前时刻单目视觉图像的特征图像输入到r模块中进行正则化处理,最终得到在这一级单目视觉图像上所对应的光流图x
s

22.s33、对各个尺度的特征图都使用步骤s32操作,最终生成一个与原始图像同分辨率的光流图像。
23.进一步,所述步骤s31具体包括:
24.首先,输入相邻两帧单目视觉图像后,会先经过一个6层的卷积神经网络进行图像的初步处理,提取单目视觉图像的相关特征,建立起这两帧单目视觉图像的金字塔特征图像,该金字塔特征图像一共有f1~f6共6级,分辨率以1/2的比率依次降低,同时通道数则相应地依次增加。
25.进一步,所述m模块包括如下步骤:
26.首先,将前一时刻的特征图像生成的粗略的光流图像x进行二倍上采样,得到粗略的光流图像2x;然后,将当前时刻的特征图像f2进行定向变换得到并将其作为人工合成的特征图像f1;计算原始特征图像f1和人工合成的特征图像之间的相关性信息,在得到相关性信息之后,再将相关性信息通过一个卷积层进行抽象处理,最终生成两帧单目视觉图像之间的光流差δx
m
,最后,在粗略的光流图像2x的基础上,加上光流差δx
m
,得到更新后的粗略的光流图像x
m

27.进一步,所述r模块具体包括如下步骤:
28.将原始特征图像f1、人工合成的特征图像和粗略的光流图像x
m
堆叠作为一个整体,通过卷积层处理,生成一个细粒度的光流修正图δx
s
,然后在粗略的光流图像x
m
的基础上,使用细粒度的光流修正图δx
s
进行修正更新,得到最终的光流图x
s

29.进一步,所述几何推力预测模块具体包括如下步骤:
30.s41、利用光流预测网络生成相邻单目视觉图像i
j
、i
i
之间前向和后向的光流图像并计算出前后向光流一致性f',然后选取前后向光流一致性值最小的n对匹配像素点作为求解相机位姿的参考点;
31.s42、若预测的光流图像的强度值大于设定的阈值,则采用求解本质矩阵的方式求解得到相机的旋转和位移参数,若预测的光流图像的强度值小于等于阈值,则采用多点透视成像的方式求解得到相机的旋转和位移参数;
32.s43、结合前一时刻相机的位姿,根据求解得到相机的旋转和位移参数,更新得到当前时刻的相机的具体位置和姿态。
33.进一步,所述步骤s42具体包括:
34.若预测的光流图像的强度值大于设定的阈值,根据极线约束条件求出本质矩阵,将本质矩阵分解得到相机的旋转和位移参数。
35.进一步,所述步骤s42具体包括:
36.若预测的光流图像的强度值小于等于阈值,根据光流图像和单目视觉深度图像,建立3d到2d的映射关系,然后使用pnp算法求解得到相机的旋转和位移参数。
37.与现有技术相比,本发明的有益效果是:
38.1.充分融合了深度学习技术和精确的几何推理知识,在获取到泛化性能更好的深层次抽象特征的同时,也严格遵守了单孔相机成像的基本几何原理,提高了最终结果的精确性;
39.2.本发明中的各个模块是完全的自监督学习网络,不需要任何额外的标注信息,只需要根据收集的图像序列数据即可完成训练,极大地节省了人力物力成本;
40.3.本发明中的各个模块之间是完全解耦的,可以根据实际需求进行拔插替换,大大简化了测试和升级维护的复杂度。
附图说明
41.图1为本实施例的流程图;
42.图2为本实施例中单目图像深度预测网络的结构图;
43.图3为本实施例中光流预测网络的结构图;
44.图4为本实施例中m模块的结构图;
45.图5为本实施例中r模块的结构图。
具体实施方式
46.下面结合附图对本发明作进一步的说明。本发明的实施方式包括但不限于下列实施例。
47.本实施例中包括了如下三个模块,单目图像深度预测网络、光流预测网络和几何
推力预测模块,其中:
48.基于多尺度全分辨率单像素最小重投影误差的自监督单目图像深度预测网络,该模块进行如下操作:
49.(1)采集大样本单目视觉图像序列数据,分为训练集和测试集;
50.(2)建立如图2所示的卷积神经网络模型,获取一幅输入图像之后,首先通过四层卷积网络进行特征提取,每一层卷积网络均使用步长为1的卷积,并配合padding操作保证图像在卷积的过程中分辨率不会发生改变,在每一层卷积网络之后,使用步长为2的最大池化操作,将图像相对于上一层缩放2倍,在空间分辨率缩放的同时,在深度维度上增加一倍,以保证在增大感知野的同时,尽可能保留更多的图像信息,以这种方式,通过四层卷积池化操作,得到多个尺度上的特征图像,在卷积池化的过程当中,使用relu做为激活函数,以增加非线性因素,同时添加dropout操作,防止过拟合;
51.(3)在得到多尺度的特征图像后,通过一个自下而上的带跳跃连接的卷积网络,来进行最终单目视觉深度图像的生成,具体为,首先根据第四层特征图像,通过卷积之后,生成一个粗略的深度图像,此时该粗略的深度图像的分辨率是原始图像的1/8;紧接着,将生成的粗略的深度图像进行上采样,上采样之后恰好和上一层的特征图像分辨率一致,所以会再次加入到上一层的特征图像之中,用于生成分辨率为原始图像的1/4的深度预测图,以此类推,最终生成一个和原始图像分辨率一致的单目视觉深度图像,该单目视觉深度图像结合了不同尺度的深度图像信息,以及不同尺度的特征图像信息,充分利用了所有提取出来的特征,可以得到一个较为准确的深度预测结果。
52.另外,如图3所示,基于金字塔特征和级联流推断正则化的自监督轻量级光流预测网络,该模块进行如下操作:
53.(1)设计图像金字塔网络用于提取两帧单目视觉图像之间的特征信息,首先,输入相邻两帧单目视觉图像后,会先经过一个6层的卷积神经网络进行图像的初步处理,提取单目视觉图像的相关特征,建立起这两帧单目视觉图像的金字塔特征图像,该金字塔特征图像一共有f1~f6共6级,分辨率以1/2的比率依次降低,同时通道数则相应地依次增加,以实现扩大感知野的同时保留更多的图像细节信息;
54.(2)在得到两帧单目视觉图像的金字塔特征图像f1~f6之后,先从分辨率最低的特征图像f6开始,将两帧单目视觉图像的特征图像首先输入到m模块中,通过m模块的处理,生成一个粗略的光流图像x
m
,再将粗略的光流图像x
m
和当前时刻单目视觉图像的特征图像输入到r模块中进行正则化处理,最终得到在这一级单目视觉图像上所对应的光流图x
s

55.其中,如图4所示,m模块包括如下步骤:
56.首先,将前一时刻的特征图像生成的粗略的光流图像x进行二倍上采样,得到粗略的光流图像2x;然后,将当前时刻的特征图像f2进行定向变换得到并将其作为人工合成的特征图像f1;计算原始特征图像f1和人工合成的特征图像之间的相关性信息,在得到相关性信息之后,再将相关性信息通过一个卷积层进行抽象处理,最终生成两帧单目视觉图像之间的光流差δx
m
,最后,在粗略的光流图像2x的基础上,加上光流差δx
m
,得到更新后的粗略的光流图像x
m

57.其中,如图5所示,r模块具体包括如下步骤:
58.将原始特征图像f1、人工合成的特征图像和粗略的光流图像x
m
堆叠作为一个整体,通过卷积层处理,生成一个细粒度的光流修正图δx
s
,然后在粗略的光流图像x
m
的基础上,使用细粒度的光流修正图δx
s
进行修正更新,得到最终的光流图x
s
59.(3)对各个尺度的特征图都使用步骤s32操作,最终生成一个与原始图像同分辨率的光流图像。
60.另外,几何推力预测模块具体包括如下操作:
61.(1)利用光流预测网络生成相邻单目视觉图像i
j
、i
i
之间前向和后向的光流图像并计算出前后向光流一致性f',然后选取前后向光流一致性值最小的n对匹配像素点作为求解相机位姿的参考点;
62.(2)若预测的光流图像的强度值大于设定的阈值,则采用求解本质矩阵的方式求解得到相机的旋转和位移参数,具体为,根据极线约束条件求出本质矩阵,将本质矩阵分解得到相机的旋转和位移参数;
63.若预测的光流图像的强度值小于等于阈值,则采用多点透视成像的方式求解得到相机的旋转和位移参数,具体为,根据光流图像和单目视觉深度图像,建立3d到2d的映射关系,然后使用pnp算法求解得到相机的旋转和位移参数;
64.(3)结合前一时刻相机的位姿,根据求解得到相机的旋转和位移参数,更新得到当前时刻的相机的具体位置和姿态。
65.图1所示的一种融合深度学习和几何推理的单目视觉里程计方法,包括如下步骤:
66.步骤一、采集单目视觉图像序列数据;
67.步骤二、利用单目图像深度预测网络获取单目视觉深度图像;
68.步骤三、利用光流预测网络获取相邻单目视觉图像之间的光流图像;
69.步骤四、根据光流图像,利用几何推力预测模块计算得到两帧单目视觉图像之间的光流一致性信息,并根据光流一致性信息以及设定的阈值,选择出两幅单目视觉图像中最佳的n对匹配像素点;
70.步骤五、根据匹配像素点,结合单目视觉深度图像,建立起3d到2d的映射关系,根据pnp算法求解得到相机的旋转和位移参数,结合前一时刻相机的位姿,更新得到当前时刻的相机位姿。
71.如上即为本发明的实施例。上述实施例以及实施例中的具体参数仅是为了清楚表述发明人的发明验证过程,并非用以限制本发明的专利保护范围,本发明的专利保护范围仍然以其权利要求书为准,凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1