发明内容
本发明实施例提供了一种位姿深度预测方法、视觉里程计方法、装置、设备及介质,以实现位姿深度的快速预测的效果。
第一方面,本发明实施例提供了一种位姿深度预测方法,可以包括:
获取关键图像和当前图像,将关键图像和当前图像输入至已训练完成的位姿深度预测模型中;根据位姿深度预测模型的输出结果,得到当前图像的目标位姿,或是,目标位姿和当前图像的目标深度;其中,位姿深度预测模型包括深度预测网络、位姿预测网络、以及分别与深度预测网络和位姿预测网络连接的特征级联网络,特征级联网络用于从当前图像中提取出具有至少两个尺度信息的当前特征图,且从关键图像中提取出与当前特征图对应的关键特征图。
可选的,位姿预测网络包括至少一个光束法平差模块,在将关键图像和当前图像输入至已训练完成的位姿深度预测模型中之后,还可以包括:
经由特征级联网络提取出具有同一尺度信息的关键特征图和当前特征图,并将具有同一尺度信息的关键特征图和当前特征图作为一组特征匹配对;将每组特征匹配对分别输入至与各组特征匹配对相应的光束法平差模块中,根据各光束法平差模块的输出结果,得到目标位姿。
可选的,将每组特征匹配对分别输入至与各组特征匹配对相应的光束法平差模块中,可以包括:
获取当前图像的初始位姿,将特征匹配对和初始位姿,输入至与特征匹配对相应的光束法平差模块;经由与特征匹配对相应的光束法平差模块将特征匹配对中的当前特征图投影到关键特征图上,得到投影特征图;获取关键图像上的梯度点,根据初始位姿计算关键特征图和投影特征图在梯度点上的整体光度误差;根据整体光度误差计算位姿更新量,并根据初始位姿和位姿更新量,确定光束法平差模块的输出结果。
可选的,将每组特征匹配对分别输入至与各组特征匹配对相应的光束法平差模块中,根据各光束法平差模块的输出结果,得到目标位姿,可以包括:
从各组特征匹配对中筛选出当前特征匹配对和下一特征匹配对,下一特征匹配对的尺度信息大于当前特征匹配对的尺度信息;将当前特征匹配对输入至与当前特征匹配对相应的当前光束法平差模块中,获取当前光束法平差模块输出的中间位姿;将下一特征匹配对和中间位姿,输入至与下一特征匹配对相应的下一光束法平差模块中,以得到目标位姿。
可选的,位姿预测网络还包括平滑处理模块,平滑处理模块的数量和光束法平差模块的数量相一致;在将具有同一尺度信息的关键特征图和当前特征图作为一组特征匹配对之后,还可以包括:
针对各组特征匹配对中的当前关键特征图和下一关键特征图,经由平滑处理模块对当前关键特征图进行上采样处理,并根据上采样处理结果和下一关键特征图生成平滑关键特征图,其中,下一关键特征图的尺度信息大于当前关键特征图的尺度信息;获取与平滑关键特征图对应的平滑当前特征图,根据平滑当前特征图和平滑关键特征图,更新特征匹配对。
可选的,深度预测网络包括深度预测子网络以及至少两个代价体构造模块,代价体构造模块的数量与深度预测子网络的数量相同;在将关键图像和当前图像输入至已训练完成的位姿深度预测模型中之后,还可以包括:
将当前图像作为参考图像,获取与参考图像相邻的相邻图像,及相邻图像和参考图像的位姿,经由特征级联网络从参考图像中提取出参考特征图,经由特征级联网络从相邻图像中提取与参考特征图具有同一尺度信息的相邻特征图;将参考特征图、相邻特征图和位姿作为一组深度匹配对,经由代价体构造模块构造出与深度匹配对相应的匹配代价体,并将参考特征图和匹配代价体,输入至深度预测子网络中;根据各深度预测子网络的输出结果,得到目标深度。
可选的,经由代价体构造模块构造出与深度匹配对相应的匹配代价体,可包括:
代价体构造模块获取与深度预测子网络对应的各深度假设,根据各深度假设和位姿,将相邻特征图投影到参考特征图上,得到投影特征图,并根据投影特征图和参考特征图,构造出与深度匹配对相应的匹配代价体。
可选的,根据投影特征图和参考特征图,构造出与深度匹配对相应的匹配代价体,可以包括:
将投影特征图和参考特征图在预设通道上分别划分为至少两组,得到投影子特征图和参考子特征图;根据隶属于同一组的投影子特征图和参考子特征图计算出方差,并根据各组方差构造出与深度匹配对相应的匹配代价体。
可选的,深度预测子网络包括第一深度预测子网络和第二深度预测子网络,获取与深度预测子网络对应的各深度假设,可以包括:
获取第一深度预测子网络预测出的中间深度,根据中间深度得到与第二深度预测子网络对应的各第二深度假设,第二深度预测子网络对应的尺度信息大于第一深度预测子网络对应的尺度信息。
可选的,中间深度是根据与第一深度预测子网络对应的各第一深度假设确定的,各第一深度假设是在对预设深度范围进行划分之后得到的。
第二方面,本发明实施例提供了一种视觉里程计方法,应用于视觉里程计系统,视觉里程计系统包括位姿深度预测模型,位姿深度预测模型包括深度预测网络、位姿预测网络、以及分别与深度预测网络和位姿预测网络连接的特征级联网络,该方法可以包括:
获取当前图像,经由特征级联网络从当前图像中提取出具有至少两个尺度信息的当前特征图;经由位姿预测网络,根据当前特征图、以及与当前图像对应的关键图像的关键特征图,预测出当前图像的目标位姿;或是,经由位姿预测网络预测出目标位姿,且经由深度预测网络,根据当前特征图、及与当前图像对应的相邻图像的相邻特征图,预测出当前图像的目标深度。
可选的,视觉里程计系统还可以包括判断模块,经由深度预测网络,根据当前特征图、及与当前图像对应的相邻图像的相邻特征图,预测出当前图像的目标深度,可以包括:
先经由判断模块,根据目标位姿计算出当前图像和关键图像间的重叠率,并判断重叠率是否在预设重叠范围内;若否,则将当前图像更新为关键图像,且经由深度预测网络,根据当前特征图、与当前图像对应的相邻图像的相邻特征图,预测出当前图像的目标深度。
可选的,视觉里程计系统还包括初始化模块,在获取当前图像后,还包括:
若经由初始化模块确定视觉里程计系统未完成初始化,则经由位姿预测网络,根据关键图像的待更新深度、当前图像的初始位姿、当前特征图和关键特征图,得到当前图像的目标位姿;经由深度预测网络,根据当前特征图、关键特征图和目标位姿,得到关键图像的已更新深度,将关键图像的已更新深度作为关键图像的待更新深度。
第三方面,本发明实施例还提供了一种位姿深度预测装置,可以包括:
图像输入模块,用于获取关键图像和当前图像,将关键图像和当前图像输入至已训练完成的位姿深度预测模型中;
第一位姿深度预测模块,用于根据位姿深度预测模型的输出结果,得到当前图像的目标位姿,或是,目标位姿和当前图像的目标深度;
其中,位姿深度预测模型包括深度预测网络、位姿预测网络、以及分别与深度预测网络和位姿预测网络连接的特征级联网络,特征级联网络用于从当前图像中提取出具有至少两个尺度信息的当前特征图,且从关键图像中提取出与当前特征图对应的关键特征图。
第四方面,本发明实施例还提供了一种视觉里程计装置,配置于视觉里程计系统,视觉里程计系统包括位姿深度预测模型,位姿深度预测模型包括深度预测网络、位姿预测网络、以及分别与深度预测网络和位姿预测网络连接的特征级联网络,该装置可以包括:
特征图提取模块,用于获取当前图像,经由特征级联网络从当前图像中提取出具有至少两个尺度信息的当前特征图;
第二位姿深度预测模块,用于经由位姿预测网络,根据当前特征图、以及与当前图像对应的关键图像的关键特征图,预测出当前图像的目标位姿;或是,经由位姿预测网络预测出目标位姿,且经由深度预测网络,根据当前特征图、及与当前图像对应的相邻图像的相邻特征图,预测出当前图像的目标深度。
第五方面,本发明实施例还提供了一种设备,该设备可以包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本发明任意实施例所提供的位姿深度预测方法或是视觉里程计方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任意实施例所提供的位姿深度预测方法或是视觉里程计方法。
本发明实施例的技术方案,通过获取关键图像和当前图像,并将关键图像和当前图像输入至已训练完成的位姿深度预测模型中,其中,位姿深度预测模型包括深度预测网络、位姿预测网络、以及分别与深度预测网络和位姿预测网络连接的特征级联网络;根据位姿深度预测模型的输出结果,可以得到当前图像的目标位姿,或是,当前图像的目标位姿和目标深度。上述技术方案,通过特征级联网络将深度预测网络和位姿预测网络融合在一起,二者共享特征级联网络提取出的特征图,由此节省了网络参数,进而提高了目标位姿和目标深度的预测效率。同时,本发明实施例充分利用深度学习的语义信息和传统的几何测量来优化视觉里程计的结果。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在介绍本发明实施例之前,先对本发明实施例的应用场景进行示例性说明:VO系统可以分为特征点法和直接法两大类,其中,特征点法是根据当前图像中提取出的特征点的匹配信息计算出相机的位姿信息,再通过三角测量计算出这些特征点的深度信息,但是,特征点法只能得到稀疏的深度信息,深度预测不够完整;直接法并不提取特征点,其通过极线搜索得到高纹理区域的深度信息,并通过最小化当前图像与其参考图像间的光度误差来优化位姿信息,但是,由于直接法是对图像直接处理,其受环境影响较大,且在弱纹理区域的深度预测精度较低。
随着深度学习的快速发展,一些基于深度学习的深度预测技术和位姿预测技术也相继出现。基于深度学习的深度预测技术大致可分为单视角和多视角两大类,单视角深度预测是从单一视角观察空间,容易从训练数据中过度地学习结构先验信息,因此可能会在之前未见过的场景中表现不佳;多视角立体视觉能够在多个视角观察和获取景物的二维图像,以此完成匹配和深度预测,从不同视角下的二维图像恢复三维场景结构。相应的,基于深度学习的位姿预测技术,大多是基于预先搭建的位姿预测网络直接从当前图像对中得到相对位姿,但是,这样的位姿预测精度不高。进一步,基于深度预测网络和位姿预测网络,可以将二者简单拼接成一个VO系统,但是,这样的VO系统是将定位和建图作为两个独立问题分别解决,其需要两个网络结构,没有很好的将二者融合在一起,预测效率较低。
实施例一
图1是本发明实施例一中提供的一种位姿深度预测方法的流程图。本实施例可适用于基于位姿深度预测模型预测出当前图像的目标位姿,或是当前图像的目标位姿和目标深度的情况。该方法可以由本发明实施例提供的位姿深度预测装置来执行,该装置可以由软件和/或硬件的方式实现,该装置还可以集成在视觉里程计系统中,该系统可以集成在设备上。
参见图1,本发明实施例的方法具体包括如下步骤:
S110、获取关键图像和当前图像,将关键图像和当前图像输入至已训练完成的位姿深度预测模型中,其中,位姿深度预测模型包括深度预测网络、位姿预测网络、以及分别与深度预测网络和位姿预测网络连接的特征级联网络,特征级联网络用于从当前图像中提取出具有至少两个尺度信息的当前特征图,且从关键图像中提取出与当前特征图对应的关键特征图。
其中,关键图像和当前图像是某相机拍摄的视频序列中的两帧图像,也可以某相机直接拍摄的两帧图像,等等;关键图像是当前图像之前的一帧图像,关键图像的深度图和位姿已预先计算得到,由此,当前图像的目标位姿可通过关键图像进行跟踪,目标位姿Ti=[Ri,ti]可以是世界坐标系下的当前图像对应的相机位姿,其可以通过旋转矩阵Ri和平移向量ti表示,可选的,Ri是一个3*3的旋转矩阵,ti是一个三维平移向量。位姿深度预测模型可以包括深度预测网络、位姿预测网络、以及分别与深度预测网络和位姿预测网络连接的特征级联网络,该特征级联网络包括用于提取特征图的卷积层。
具体的,在将关键图像和当前图像输入至已训练完成的位姿深度预测模型时,二者是特征级联网络的输入数据,由此,经由特征级联网络可以利用卷积层从当前图像中提取出多个当前特征图,多个当前特征图具有至少两个尺度信息(即,分辨率),特征级联网络的不同卷积层输出的当前特征图的尺度信息可能相同也可能不同。每个尺度信息下的当前特征图的数量与该尺度信息对应的卷积核的数量有关,比如,若某尺度信息对应的卷积核的数量是C个,则对于一个输入的当前特征图,基于C个卷积核可以提取出C个当前特征图,假设每个当前特征图的维度是H*W,H*W可以体现出该当前特征图的分辨率,则C个H*W的当前特征图可以构成维度是H*W*C的当前特征图。示例性的,如图2和图3中所示的特征级联网络,其由8个卷积层构成,每经过两个卷积层可以将上一层输出的当前特征图的分辨率降低至其1/2以得到这两个卷积层输出的当前特征图,如,在经过前两个卷积层后,得到的特征图的分辨率是输入图像的1/2,再经过两个卷积层后,得到的特征图的分辨率就是输入图像的1/4,依次类推,而且经由特征级联网络提取出的各尺度信息下的当前特征图可以构造出当前特征金字塔(Feature Pyramid),该当前特征金字塔是不同分辨率的当前特征图的集合。类似的,特征级联网络也可以从关键图像图提取出与每个当前特征图分别对应的关键特征图,每个尺度信息下的关键特征图的数量与当前特征图的数量相一致。
深度预测网络因结合了深度学习技术,可以预测出当前图像的目标深度,该目标深度是当前图像的稠密深度图,与此同时,其还利用了特征学习以在一定程度上解决了受环境影响较大、在弱纹理区域容易出现的深度预测精度较低的问题。位姿预测网络可以预测出当前图像的目标位姿,其可以表示出相机在不同时刻的位置信息和朝向信息。需要说明的是,目标位姿可以是绝对位姿,即当前图像在世界坐标系下对应的相机位姿,也可以是相对位姿,即当前图像相对于关键图像间的相机位姿变化,在此未做具体限定。
在此基础上,考虑到VO系统中的定位环节和建图环节互相依赖,由此,可以将特征级联网络同时连接至深度预测网络和位姿预测网络中,这意味着位姿深度预测模型以特征级联网络为中间媒介,将深度预测网络和位姿预测网络融合在一个大网络中,即将二者融合在位姿深度预测模型中,这样一来,基于位姿深度预测模型构建出的VO系统,可以将定位环节和建图环节有效融合在一起,二者共享特征级联网络提取出的特征图,由此节省了网络参数并且提高了预测效率。另外,以当前特征图为例,在经由特征级联网络提取出具有多个尺度信息的当前特征图后,相较于具有一个尺度信息的当前特征图,各尺度信息下的存在差异性的当前特征图可以携带着更多的图像信息,其可以提高后续的深度预测网络和位姿预测网络的预测精度。
S120、根据位姿深度预测模型的输出结果,得到当前图像的目标位姿,或是,目标位姿和当前图像的目标深度。
其中,根据位姿深度预测模型的输出结果,可以预测出当前图像的目标位姿,或是,当前图像的目标位姿和目标深度。也就是说,根据位姿深度预测模型的输出结果可以得到当前图像的目标位姿,且可能得到也可能未得到当前图像的目标深度,这主要取决于目标深度的预测条件。比如,为保证预测精度,可以预测出每帧当前图像的目标位姿和目标深度;再比如,为同时保证预测精度和预测效率,可以预测出每帧当前图像的目标位姿、以及某些帧当前图像的目标深度,这是因为在当前图像和关键图像间的距离较大时,后续的当前图像不再适合于基于目前的关键图像进行跟踪,需要预测出当前图像的目标深度,且将当前图像更新为关键图像。
本发明实施例的技术方案,通过获取关键图像和当前图像,并将关键图像和当前图像输入至已训练完成的位姿深度预测模型中,其中,位姿深度预测模型包括深度预测网络、位姿预测网络、以及分别与深度预测网络和位姿预测网络连接的特征级联网络;根据位姿深度预测模型的输出结果,可以得到当前图像的目标位姿,或是,当前图像的目标位姿和目标深度。上述技术方案,通过特征级联网络将深度预测网络和位姿预测网络融合在一起,二者共享特征级联网络提取出的特征图,由此节省了网络参数,进而提高了目标位姿和目标深度的预测效率。
实施例二
图4是本发明实施例二中提供的一种位姿深度预测方法的流程图。本实施例以上述各技术方案为基础进行优化。在本实施例中,可选的,位姿预测网络包括至少一个光束法平差模块,相应的,在将关键图像和当前图像输入至已训练完成的位姿深度预测模型中之后,还可以包括:经由特征级联网络提取出具有同一尺度信息的关键特征图和当前特征图,并将具有同一尺度信息的关键特征图和当前特征图作为一组特征匹配对;将每组特征匹配对分别输入至与各组特征匹配对相应的光束法平差模块中,根据各光束法平差模块的输出结果,得到目标位姿。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图4,本实施例的方法具体可以包括如下步骤:
S210、获取关键图像和当前图像,将关键图像和当前图像输入至已训练完成的位姿深度预测模型中,经由特征级联网络提取出具有同一尺度信息的关键特征图和当前特征图,并将具有同一尺度信息的关键特征图和当前特征图作为一组特征匹配对,其中,位姿深度预测模型可以包括深度预测网络、位姿预测网络、以及分别与深度预测网络和位姿预测网络连接的特征级联网络,特征级联网络可以用于从当前图像中提取出具有至少两个尺度信息的当前特征图,且从关键图像中提取出与当前特征图对应的关键特征图,位姿预测网络可以包括至少一个光束法平差模块。
其中,位姿预测网络可以包括光束法平差模块(Bundle Adjustment module,BA模块),BA模块的数量可以是一个、两个或是多个,其可以从视觉重建中计算出最优的三维模型和相机参数。需要说明的是,每个BA模块的输入数据可以是经由特征级联网络提取出具有同一尺度信息的当前特征图和关键特征图构成的一组特征匹配对,上述具有同一尺度信息的当前特征图和关键特征图可以是从特征级联网络中直接提取出来的;也可以是在对特征级联网络的提取结果进行处理后得到的,如将相邻的两个尺度信息下的当前特征图进行处理以得到某尺度信息下的当前特征图,且对相邻的两个尺度信息下的关键特征图进行相应处理以得到与某尺度信息下的当前特征图具有同一尺度信息的关键特征图;等等,在此未做具体限定。总而言之,每组特征匹配对中的当前特征图和关键特征图的尺度信息相同。
S220、将每组特征匹配对分别输入至与各组特征匹配对相应的光束法平差模块中,根据各光束法平差模块的输出结果,得到目标位姿。
其中,在将每组特征匹配对分别输入至与各组特征匹配对相应的BA模块中,可以根据各BA模块的输出结果,得到当前图像的目标位姿。在此基础上,若BA模块的数量是一个,则该BA模块的输出结果即为当前图像的目标位姿。若BA模块的数量是两个及其以上,则可以先经由BA模块基于各自的特征匹配对分别计算出目标位姿,再对各BA模块计算出的目标位姿进行融合以得到最终的目标位姿;也可以将上一个尺度信息下的特征匹配对相应的BA模块的计算结果作为下一个尺度信息下的特征匹配对相应的BA模块的初始位姿,依次递进,并将尺度信息最大的特征匹配对相应的BA模块的计算结果作为当前图像的目标位姿;等等,在此未做具体限定。
S230、根据位姿深度预测模型的输出结果,得到当前图像的目标位姿,或是,目标位姿和当前图像的目标深度。
本发明实施例的技术方案,通过将特征级联网络提取出的具有同一尺度信息的关键特征图和当前特征图作为一组特征匹配对后,可以将每组特征匹配对分别输入至与各组特征匹配对相应的光束法平差模块中,以便根据各光束法平差模块的输出结果得到当前图像目标位姿。上述技术方案,有效地将BA模块融入到深度学习中,在较大程度上提高了位姿的预测精度。
一种可选的技术方案,针对某组特征匹配对相应的BA模块,将每组特征匹配对分别输入至与各组特征匹配对相应的光束法平差模块中,可以包括:获取当前图像的初始位姿,该初始位姿可以是绝对位姿或是相对位姿,可以是当前图像的上一帧图像优化后的位姿,可以是BA模块在迭代过程中上一次迭代后的位姿,也可以是上一个BA模块优化后的位姿,等等;将初始位姿和特征匹配对输入至与特征匹配对相应的光束法平差模块中;经由该光束法平差模块将特征匹配对中的当前特征图投影到关键特征图上,得到投影特征图,这一投影过程涉及到当前图像的位姿和关键图像的深度图;获取关键图像上的梯度点,该梯度点可以是关键图像上的全部梯度点,也可以采样得到的部分梯度点;根据初始位姿计算关键特征图和投影特征图在梯度点上的整体光度误差;根据整体光度误差计算位姿更新量,该位姿更新量可以通过李代数表示,并根据初始位姿和位姿更新量,确定光束法平差模块的输出结果,该输出结果是优化后的位姿,例如将李代数表示的位姿更新量转化为位姿更新量,然后作用于初始位姿,确定优化后的位姿。在此基础上,可选的,BA模块可以迭代执行上述过程,上一次迭代优化后的输出结果(位姿)作为该BA模块下一次迭代过程的初始位姿,循环往复,直至满足迭代结束条件,例如,满足预设迭代次数。
一种可选的技术方案,在BA模块的数量是至少两个时,相邻的两个BA模块间相互配合,将每组特征匹配对分别输入至与各组特征匹配对相应的光束法平差模块中,根据各光束法平差模块的输出结果,得到目标位姿,可以包括:从各组特征匹配对中筛选出当前特征匹配对和下一特征匹配对,下一特征匹配对的尺度信息大于当前特征匹配对的尺度信息;将当前特征匹配对输入至与当前特征匹配对相应的当前光束法平差模块中,获取当前光束法平差模块输出的中间位姿;将下一特征匹配对和中间位姿,输入至与下一特征匹配对相应的下一光束法平差模块中,以得到当前图像的目标位姿。需要说明的是,中间位姿可以作为下一BA模块的初始位姿,在根据下一BA模块的输出结果得到目标位姿时,若下一BA模块是尺度信息最大的特征匹配对相应的BA模块,则下一BA模块的输出结果即为目标位姿;否则,下一BA模块的输出结果可以作为再下一BA模块的初始位姿,循环上述过程,直至得到尺度信息最大的特征匹配对相应的BA模块的输出结果,作为当前图像的目标位姿。
在上述任意技术方案的基础上,可选的,位姿预测网络还可以包括平滑处理模块,平滑处理模块的数量和光束法平差模块的数量相一致;相应的,在将具有同一尺度信息的关键特征图和当前特征图作为一组特征匹配对之后,还可以包括:针对各组特征匹配对中的当前关键特征图和下一关键特征图,经由平滑处理模块对当前关键特征图进行上采样处理,并根据上采样处理结果和下一关键特征图生成平滑关键特征图,其中,下一关键特征图的尺度信息大于当前关键特征图的尺度信息;类似的,针对各组特征匹配对中的当前当前特征图和下一当前特征图,经由平滑处理模块对当前当前特征图进行上采样处理,并根据上采样处理结果和下一当前特征图生成平滑当前特征图,其中,下一当前特征图的尺度信息大于当前当前特征图的尺度信息;根据平滑当前特征图和平滑关键特征图,更新特征匹配对。在此基础上,可选的,若特征匹配对的数量是三个及其以上,则可以将原先的下一当前特征图的再下一当前特征图作为下一当前特征图,且将原先的下一当前特征图作为当前特征图,下一关键特征图类似,循环执行上述过程,以使各组特征匹配对的逐组更新。这样设置的好处在于,相较于更新前的特征匹配对中的当前特征图和关键特征图,更新后的特征匹配对中的当前特征图和关键特征图更加平滑,这有利于实现迭代优化,由此提高了目标位姿的预测精度。
为了更好地理解上述步骤的具体实现过程,下面结合具体示例,对本实施例的目标位姿的预测过程进行示例性的说明。示例性的,如图3所示,将当前图像和关键图像输入至特征级联网络中,其中,当前图像是视频序列中的第i帧图像,关键图像是视频序列中的第j帧图像。经由特征级联网络从和依次提取出四组特征匹配对(F1、F2、F3和F4),其中,F1的尺度信息最小,F4的尺度信息最大。进一步,将F1中的当前特征图作为当前当前特征图,且关键特征图作为当前关键特征图,以及将F2中的当前特征图作为下一当前特征图,且关键特征图作为下一关键特征图,经由平滑处理模块对和分别进行上采样处理(upsample),将的上采样处理结果和进行拼接,并对拼接结果进行卷积后得到平滑当前特征图且将的上采样处理结果和进行拼接,并对拼接结果进行卷积后得到平滑关键特征图基于和构成更新后的特征匹配对类似的,将F2中的当前特征图作为当前当前特征图,且关键特征图作为当前关键特征图,以及将F3中的当前特征图作为下一当前特征图,且关键特征图作为下一关键特征图,经由平滑处理模块对和分别进行上采样处理(upsample),将的上采样处理结果和进行拼接,并对拼接结果进行卷积后得到平滑当前特征图且将的上采样处理结果和进行拼接,并对拼接结果进行卷积后得到平滑关键特征图基于和构成更新后的特征匹配对 的处理过程类似,在此不再赘述。
获取初始位姿Ti-1,Ti-1是当前图像的上一帧图像优化后的位姿。针对相应的BA模块,将中的当前特征图关键特征图和Ti-1输入至BA模块中,经由光束法平差模块将投影到上,得到投影特征图进一步,在关键图像上采样4096个高梯度点[u,v],并基于Ti-1分别计算出和在每个高梯度点上的光度误差假设的维度是H*W*C,整体光度误差其中ξ是位姿的李代数表现形式。进一步,利用列文伯格-马尔夸特算法最小化和的E(ξ)得到位姿更新量Δξ,Δξ=(J(ξ)TJ(ξ)+λD(ξ))-1J(ξ)TE(ξ),其中J(ξ)为雅可比矩阵,J(ξ)TJ(ξ)为海森矩阵,D(ξ)为海森矩阵的对角阵,λ为阻尼系数,E(ξ)为基于特征的误差函数。再进一步,根据Ti-1和Δξ得到光束法平差模块的输出结果ξ*,其中ξ*为更新后位姿,Ti-1为更新前位姿,可以理解为将Δξ转换为位姿矩阵,再基于矩阵乘法计算ξ*。进一步,将ξ*作为Ti-1,返回输入至相应的BA模块中进行迭代更新,再次执行上述过程,直至迭代次数达到预设次数,相应的BA模块迭代结束,将最后的迭代结果ξ*更新为Ti-1,将Ti-1以及中的当前特征图和关键特征图输入至相应的BA模块中,再次进行迭代更新。相应的BA模块的处理过程类似,在此不再赘述。这样一来,可以将相应的BA模块输出的最后的迭代结果ξ*作为当前图像的目标位姿。这样设置的好处在于,上述技术方案在深度学习框架下构建了可微的BA模块,在每组特征匹配对层中迭代更新相机位姿,并将上一BA模块的最后的迭代结果作为下一BA模块的初始位姿,由此不断优化以提高目标位姿的预测精度。
实施例三
图5是本发明实施例三中提供的一种位姿深度预测方法的流程图。本实施例以上述各技术方案为基础进行优化。在本实施例中,可选的,深度预测网络包括深度预测子网络以及至少两个代价体构造模块,代价体构造模块的数量与深度预测子网络的数量相同;在将关键图像和当前图像输入至已训练完成的位姿深度预测模型中之后,还可以包括:将当前图像作为参考图像,获取与参考图像相邻的相邻图像,以及相邻图像和参考图像的位姿,经由特征级联网络从参考图像中提取出参考特征图,并经由特征级联网络从相邻图像中提取出与参考特征图具有同一尺度信息的相邻特征图;将参考特征图、相邻特征图和位姿作为一组深度匹配对,经由代价体构造模块构造出与深度匹配对相应的匹配代价体,并将参考特征图和匹配代价体,输入至深度预测子网络中;根据各深度预测子网络的输出结果,得到目标深度。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图5,本实施例的方法具体可以包括如下步骤:
S310、获取关键图像和当前图像,将关键图像和当前图像输入至已训练完成的位姿深度预测模型中,其中,位姿深度预测模型包括深度预测网络、位姿预测网络、以及分别与深度预测网络和位姿预测网络连接的特征级联网络,特征级联网络用于从当前图像中提取出具有至少两个尺度信息的当前特征图,且从关键图像中提取出与当前特征图对应的关键特征图。
S320、将当前图像作为参考图像,获取与参考图像相邻的相邻图像,以及相邻图像和参考图像的位姿,经由特征级联网络从参考图像中提取出参考特征图,并经由特征级联网络从相邻图像中提取出与参考特征图具有同一尺度信息的相邻特征图。
其中,参考图像(reference image,Iref)的数量可以是一个,相邻图像(neighborimage,Inei)的数量可以是至少一个,且各帧相邻图像可以是完全相邻,也可以是间隔相邻。相邻图像可以是在参考图像之前采集到的图像,也可以是参考图像之后采集到的图像。参考图像和相邻图像的位姿可以是相对位姿(即,相邻图像相对于参考图像的位姿),也可以是绝对位姿(即,相邻图像在世界坐标系下的相机位姿)。相邻图像的位姿和参考图像的位姿可以来源于上述任意实施例中的位姿预测网络,也可以来源于外接输入。
经由特征级联网络从参考图像中提取出的参考特征图的数量可以是多个,任意两个参考特征图间的尺度信息可能相同也可能不同。与此同时,经由特征级联网络还可以从相邻图像中提取出与参考特征图具有同一尺度信息的相邻特征图,即同一尺度信息下的参考特征图和相邻特征图的数量相一致。参考特征图和相邻特征图可以是在位姿预测时已经提取出的特征图,例如在位姿预测时已经提取了特征图并保存,在深度预测时获取保存的特征图,此时不需要再次利用特征级联网络提取特征图。也可以是经由特征级联网络重新提取的特征图。
S330、将参考特征图、相邻特征图和位姿作为一组深度匹配对,经由代价体构造模块构造出与深度匹配对相应的匹配代价体,并将参考特征图和匹配代价体,输入至深度预测子网络中,深度预测网络包括深度预测子网络以及至少两个代价体构造模块,代价体构造模块的数量与深度预测子网络的数量相同。
其中,将同一尺度信息下的参考特征图和相邻特征图、以及位姿作为一组深度匹配对,该位姿可以是相对位姿,也可以是绝对位姿。深度预测网络可以包括深度预测子网络和代价体构造模块,经由代价体构造模块可以构造出与深度匹配对相应的匹配代价体(Cost Volume),由此,在将参考特征图和匹配代价体输入至相应的深度预测子网络后,可以预测出某一尺度信息下的深度图。
需要说明的是,深度匹配对的数量是至少两组,每组深度匹配对具有各自的尺度信息。在此基础上,代价体构造模块的数量和深度匹配对的组数相同,这意味着每个匹配代价体是基于某一尺度信息下的深度匹配对构造得到,不同匹配代价体是基于不同尺度信息下的深度匹配对分别构造得到。相应的,深度预测子网络的数量和代价体构造模块的数量相同,这意味着每个深度预测子网络是根据与其对应的深度匹配对和匹配代价体预测出深度图。
S340、根据各深度预测子网络的输出结果,得到目标深度。
其中,在将参考特征图和匹配代价体输入至相应的深度预测子网络后,每个深度预测子网络均可输出各自的深度图,由此,根据各个深度预测子网络分别输出的深度图,可以得到参考图像的目标深度。比如,可以先经由深度预测子网络预测出各自的深度图,在对各深度图进行融合以得到最终的目标深度;也可以将上一个尺度信息下的深度匹配对相应的深度预测子网络输出的深度图,作为下一个尺度信息下的深度匹配对相应的深度预测子网络的初始深度,该初始深度可以用于构造下一个尺度信息下的匹配代价体,然后将下一个尺度信息下的参考特征图和匹配代价体输入到相应的深度预测子网络中得到深度图,该深度图用于构造再下一个尺度信息下的匹配代价体,依次递进,也可以用于直接输入至深度预测子网络中,依次递进,并将尺度信息最大的深度匹配对相应的深度预测子网络输出的深度图作为参考图像的目标深度;等等,在此未做具体限定。
S350、根据位姿深度预测模型的输出结果,得到当前图像的目标位姿,或是,目标位姿和当前图像的目标深度。
本发明实施例的技术方案,通过将当前图像作为参考图像,获取与参考图像相邻的相邻图像,以及相邻图像和参考图像的位姿,将经由特征级联网络提取出的同一尺度信息下的参考特征图和相邻特征图以及位姿作为一组深度匹配对,经由代价体构造模块构造出与深度匹配对相应的匹配代价体,并将参考特征图和匹配代价体,输入至深度预测子网络中;由此,可以根据各深度预测子网络的输出结果,得到参考图像的目标深度。上述技术方案,基于深度学习的语义信息得到了稠密的深度图,且利用了特征学习以在一定程度上解决了受环境影响较大、在弱纹理区域容易出现的深度预测精度较低的问题;同时,多尺度信息下的匹配代价体中融合了多视角几何信息,深度学习的语义信息和多视角几何信息的充分融合,显著提高了目标深度的预测精度。
一种可选的技术方案,针对某尺度信息下的匹配代价体,经由代价体构造模块构造出与深度匹配对相应的匹配代价体,可以包括:代价体构造模块获取与深度预测子网络对应的各深度假设(depth hypothesis),根据各深度假设和位姿,将相邻特征图投影到参考特征图上,得到投影特征图,并根据投影特征图和参考特征图,构造出与深度匹配对相应的匹配代价体。由此,不同尺度信息下的匹配代价体可以基于相应的深度假设和深度匹配对构造得到,该深度假设可以理解为预先设定的某一尺度信息下的深度图,不同深度预测子网络对应的深度假设存在差异性,该差异性可以体现在内容上,也可以体现在数量上。
在此基础上,需要说明的是,一方面,匹配代价体设置的意义在于,其中存储有不同深度假设下的投影特征图和参考特征图间的光度误差,在参考图像的目标深度未知的情况下,以某深度假设为例,先在该深度假设上进行一些列操作得到投影特征图,如果投影特征图和参考特征图比较相似,则匹配代价体比较小,这说明该深度假设的可信度比较高,由此,在对各种深度假设上进行相应操作后,可以确定出可信度比较高的深度假设,这可以作为后续深度预测的先验知识。另一方面,在将相邻特征图投影到参考特征图的这一投影过程中涉及到的相机内参是相邻特征图到参考特征图的相机内参,本领域技术人员应当理解的是,相机内参和分辨率有关,相邻图像到参考图像的相机内参、不同尺度信息下的相邻特征图到参考特征图的相机内参互不相同。另外,相机外参和分辨率无关,相邻图像到参考图像的相机外参、不同尺度信息下的相邻特征图到参考特征图的相机外参均是相同的。
在此基础上,针对某尺度信息下的匹配代价体,根据投影特征图和参考特征图,构造出与深度匹配对相应的匹配代价体,可以包括:将投影特征图和参考特征图在预设通道上分别划分为至少两组,得到投影子特征图和参考子特征图;根据隶属于同一组的投影子特征图和参考子特征图计算出方差,并根据各组方差构造出与深度匹配对相应的匹配代价体。其中,预设通道可以是某一尺度信息下的投影特征图的数量,即该尺度信息下的参考特征图的数量,如上文所述的H*W*C中的C通道,由此得到的投影子特征图和参考子特征图的数量均是至少两组。在根据各组方差构造出与深度匹配对相应的匹配代价体时,可以将各组方差直接拼接在一起或者进一步操作后再拼接在一起。
在上述各技术方案的基础上,可选的,深度预测子网络可以包括第一深度预测子网络和第二深度预测子网络,获取与深度预测子网络对应的各深度假设,可以包括:获取第一深度预测子网络预测出的中间深度,根据中间深度得到与第二深度预测子网络对应的各第二深度假设,第二深度预测子网络对应的尺度信息大于第一深度预测子网络对应的尺度信息。在此基础上,可选的,若未存在第一深度预测子网络的上一深度预测子网络,则与第一深度预测子网络对应的各第一深度假设可以是在对预设深度范围进行划分之后得到的,由此,第一深度预测子网络预测出的中间深度是根据与第一深度预测子网络对应的各第一深度假设确定的。当然,若存在第一深度预测子网络的上一深度预测子网络,则第一深度预测子网络的各第一深度假设是根据上一深度预测子网络预测出的中间深度得到的。
为了更好地理解上述步骤的具体实现过程,下面结合具体示例,对本实施例的深度预测过程进行示例性的说明。示例性的,如图2所示,深度预测网络的输入数据是参考特征图N个连续的相邻特征图(i=1,2,3,…N)、参考图像的位姿Tref和相邻图像的位姿(i=1,2,3,…N)。本实施例中的深度预测网络包括四个代价体构造模块和四个深度预测子网络,n=1,2,3,4,这四个深度预测子网络由粗到精依次预测出参考图像的深度图,其中,与F1对应的深度预测子网络是粗网络(coarse net),其余的深度预测子网络是细网络(refinement net),在实际应用中,细网络的数量可以是一个、两个或是多个,在此以三个细网络为例进行说明。
为了将多视角几何信息编码到深度预测子网络中,基于每个深度预测子网络中的代价体构造模块构造出相应的匹配代价体,而匹配代价体是基于每个深度预测子网络的各深度假设获得的。假设各深度预测子网络中各深度假设的数量是M个,如粗网络中的M=64且细网络中的M=32,考虑到粗网络中没有提前得到的中间深度,由此,粗网络的深度假设可以在固定的预设深度范围[dmin,dmax]内进行等间隔划分后得到的,dmin是最小深度值,dmax是最大深度值,由此,在第一个特征级联F1中,一个像素的第m个深度假设的计算公式如下所示:
其中,M是每个像素点的深度假设的个数。也就是说,在估计F1中某像素的深度假设时,先将该像素的预设深度范围等间隔划分为M份,由此得到预先设定的M个深度假设。在F2、F3或是F4中,考虑到细网络具有提前得到的中间深度,如F2所在的细网络的中间深度是粗网络预测出的,再如F3所在的细网络的中间深度是F2所在的细网络预测出的,由此,可以将深度搜索范围划分的更小,此时,Fn中某像素第m个深度假设的计算公式如下所示:
其中dpre是对上一深度预测子网络预测出的中间深度进行采样后得到的,如中的dpre是对粗网络预测出的D1进行采样后得到的,σ是深度采样间隔。
进一步,以第n个深度预测子网络的某深度假设为例,可以根据相邻图像的位姿以及该深度假设将相邻特征图投影到参考特征图上,得到投影特征图其是根据如下投影方程计算得到:
其中Tref~nei,i是相邻图像到参考图像的相对位姿,是参考图像上的某像素坐标,是第m个深度假设,π是相机投影模型,π-1是相机反投影模型,π和π-1与相机内参有关。在深度假设的数量是M个时,上述投影过程执行M次,基于M个可以组成投影特征图此时,假设和的维度均为H*W*C,那么,的维度仍为H*W*C,而的维度是H*W*C*M。
进一步,基于和构造出第n个深度预测子网络的匹配代价体Cn,考虑到的维度是H*W*C*M,的维度是H*W*C,可以将复制M份得到维度为H*W*C*M的将和在C通道上划分为G组,得到投影子特征图和参考子特征图二者的维度均为H*W*(C/G)*M。第g组的和的均值和方差可以通过如下公式计算得到:
将作为 是Cn中某组(g=1…G)的匹配代价体,进而在的C通道上取平均以消除掉每组中的C/G通道,以使C/G通道的个数为1,这有利于减少参数个数,此时的的维度为H*W*1*M,将各组在M通道上进行拼接最终的Cn,其维度为H*W*GM。
基于上述方案可以分别得到C1、C2、C3和C4,将C1和输入至粗网络中。对于每个细网络(即,第2、3或是4个深度预测子网络),除匹配代价体和参考特征图外,额外再输入上一深度预测子网络预测出的中间深度,值得注意的是,该中间深度只用于构造下一深度预测子网络的深度假设,并不输入到下一深度预测子网络中进行卷积运算。每个深度预测子网络可以采用编码模块—解码模块的结构,还可以将跳转连接应用于编码模块和解码模块中具有同一分辨率的层,由此形成U-net结构。每个深度预测子网络可以具有相同数量的卷积层,第3、4个深度预测子网络的卷积层未画出。在编码模块中,特征图均是每经过两层卷积层降低一次分辨率;在解码模块中,基于反卷积层对特征图进行上采样,每个反卷积层的后面都可以连接有一个卷积层。上述基于多尺度信息下的匹配代价体的由粗到精的网络结构,可以显著提高目标深度的预测精度。
实施例四
图6是本发明实施例四中提供的一种视觉里程计方法的流程图。本实施例可适用于预测出当前图像的目标位姿,或是当前图像的目标位姿和目标深度的情况,即适用于估算相机的帧间运动的情况。该方法可以由本发明实施例提供的视觉里程计装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在视觉里程计系统中,该系统可以集成在设备上。该系统包括位姿深度预测模型,位姿深度预测模型包括深度预测网络、位姿预测网络、以及分别与深度预测网络和位姿预测网络连接的特征级联网络,该位姿深度预测模型可以是上述任意实施例所述的位姿深度预测模型,因此,与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图6,本发明实施例的方法具体包括如下步骤:
S410、获取当前图像,经由特征级联网络从当前图像中提取出具有至少两个尺度信息的当前特征图。
S420、经由位姿预测网络,根据当前特征图、以及与当前图像对应的关键图像的关键特征图,预测出当前图像的目标位姿;或是,经由位姿预测网络预测出目标位姿,且经由深度预测网络,根据当前特征图、以及与当前图像对应的相邻图像的相邻特征图,预测出当前图像的目标深度。
在此基础上,可选的,视觉里程计系统还可以包括判断模块,经由深度预测网络,根据当前特征图、及与当前图像对应的相邻图像的相邻特征图,预测出当前图像的目标深度,可以包括:先经由判断模块,根据当前图像的目标位姿计算出当前图像和关键图像间的重叠率,并判断重叠率是否在预设重叠范围内;若否,则说明当前图像和关键图像间的共同视野区域较小,可以将当前图像更新为关键图像,且经由深度预测网络,根据当前特征图、以及与当前图像对应的相邻图像的相邻特征图,预测出当前图像的目标深度,这有利于节省计算资源,只针对关键图像进行目标深度的预测。需要说明的是,将当前图像更新为关键图像以及预测出当前图像的目标深度,二者没有严格的先后执行顺序,可以先更新为关键图像再预测深度,也可以先预测深度再更新为关键图像。
在上述各技术方案的基础上,可选的,视觉里程计系统还可以包括初始化模块,在获取当前图像之后,该方法还可以包括:若经由初始化模块确定视觉里程计系统未完成初始化,则经由位姿预测网络,根据关键图像的待更新深度、当前图像的初始位姿、当前特征图和关键特征图,得到当前图像的目标位姿;经由深度预测网络,根据当前特征图、关键特征图和目标位姿,得到关键图像的已更新深度,将关键图像的已更新深度作为关键图像的待更新深度。其中,当前图像的初始位姿可以是当前图像的上一帧图像优化后的位姿,可以是绝对位姿,也可以是相对位姿特别地,在初始化阶段,关键图像多为视觉里程计系统的第一帧图像。
本发明实施例的技术方案,通过特征级联网络将深度预测网络和位姿预测网络融合在一起,二者共享特征级联网络提取出的特征图,由此节省了网络参数,提高了目标位姿和目标深度的预测效率、及视觉里程计系统的预测精度。
为了更好地理解上述步骤的具体实现过程,下面结合具体示例,对本实施例的视觉里程计方法进行示例性的说明。示例性的,如图7所示的VO系统的流程图,VO系统可以对视频序列中的每一帧图像进行处理,最终得到每一帧图像的目标位姿以及全部关键图像的稠密深度图。具体的,将每一帧图像依次作为当前图像,对于每帧当前图像,VO系统可以先经由特征级联网络提取出当前图像的当前特征图,然后再经由初始化模块判断VO系统是否完成初始化。若已完成初始化,则经由位姿预测网络预测出当前图像的目标位姿,并经由判断模块确定是否需要将当前图像设置为关键图像。若是则经由深度预测网络进一步预测出当前图像的目标深度,并将当前图像设置为关键图像,当前图像处理完毕;若否,则当前图像处理完成。此时,将当前图像的下一帧图像作为当前图像,再次执行上述方案。
需要说明的是,在VO系统未完成初始化时,需要对其进行初始化,具体初始化过程如下所述:考虑到定位环节是基于关键图像的深度或者局部地图实现的,同时建图环节是基于当前图像之前的若干帧图像的位姿实现的。因此,定位环节和建图环节互相依赖,在目标位姿和目标深度均未知的情况下,可以先初始化一个目标位姿和目标深度。具体的,首先,随机初始化第一帧图像的目标位姿T1和待更新深度D1,初始化的D1上各像素坐标[u,v]下的深度值du,v可以服从高斯分布du,v~N(1,σ2),σ=0.1,初始化的T1可以为单位矩阵。
进一步,将设置为关键图像后续输入的当前图像将通过进行跟踪。具体的,将经由特征级联网络提取出的当前特征图和关键特征图以及D1和的上一帧图像优化后的目标位姿Ti-1输入至位姿预测网络,经由位姿预测网络预测出的Ti。然后,将和Ti输入到深度预测网络中,并基于深度预测网络预测出的的深度图Di以更新D1。接下来的将基于更新后的D1继续跟踪,并基于上述方案再次更新D1。需要说明的是,上述迭代过程的关键图像一直是第一帧图像,而当前图像在不断变化,多次执行的迭代过程对D1和Ti不断进行改善,直至满足初始化结束条件时,初始化结束,该初始化结束条件可以是D1满足预设要求或已输入的个数超过预设帧数等等。
将初始化结束后的第一个当前图像设置为关键图像,并经由位姿预测网络获得当前图像的目标位姿、经深度预测网络根据第一帧图像的特征图和当前图像的特征图,以及当前图像的位姿(如当前图像相对于第一帧图像的位姿)预测出当前图像的目标深度。后续的当前图像的处理过程如同上文阐述的初始化完成后的相关过程,即,后续的当前图像会基于其对应的关键图像进行跟踪,可选的,为了提高预测效率,后续跟踪过程不再对的深度图Dj进行更新。但是,考虑到随着跟踪进行,与间的距离将逐渐变大,二者的重叠率也将逐渐降低,此时若继续跟踪很可能出现不稳定的情况,VO系统有必要重新确定关键图像。可选的,可以通过预设欧式距离系数判断是否需要将当前图像更新为关键图像,其中,R是3*3旋转矩阵,t是1*3平移向量,在D大于预设阈值如0.15时,可以将当前图像设置为关键图像;还可以根据位姿计算出二者的旋转角度,在旋转角度大于预设角度如6°时,将当前图像设置为关键图像。
实施例五
图8为本发明实施例五提供的位姿深度预测装置的结构框图,该装置用于执行上述任意实施例所提供的位姿深度预测方法。该装置与上述各实施例的位姿深度预测方法属于同一个发明构思,在位姿深度预测装置的实施例中未详尽描述的细节内容,可以参考上述位姿深度预测方法的实施例。参见图8,该装置具体可包括:图像输入模块510和第一位姿深度预测模块520。
其中,图像输入模块510,用于获取关键图像和当前图像,将关键图像和当前图像输入至已训练完成的位姿深度预测模型中;
第一位姿深度预测模块520,用于根据位姿深度预测模型的输出结果,得到当前图像的目标位姿,或是,目标位姿和当前图像的目标深度;
其中,位姿深度预测模型包括深度预测网络、位姿预测网络、以及分别与深度预测网络和位姿预测网络连接的特征级联网络,特征级联网络用于从当前图像中提取出具有至少两个尺度信息的当前特征图,且从关键图像中提取出与当前特征图对应的关键特征图。
可选的,在上述装置的基础上,该装置还可包括:
第一特征图提取模块,用于位姿预测网络包括至少一个光束法平差模块,经由特征级联网络提取出具有同一尺度信息的关键特征图和当前特征图,并将具有同一尺度信息的关键特征图和当前特征图作为一组特征匹配对;
位姿预测模块,用于将每组特征匹配对分别输入至与各组特征匹配对相应的光束法平差模块中,根据各光束法平差模块的输出结果,得到目标位姿。
可选的,位姿预测模块,具体可以包括:
转换单元,用于获取当前图像的初始位姿,将特征匹配对和初始位姿,输入至与特征匹配对相应的光束法平差模块;
投影特征图得到单元,用于经由与特征匹配对相应的光束法平差模块将特征匹配对中的当前特征图投影到关键特征图上,得到投影特征图;
整体光度误差计算单元,用于获取关键图像上的梯度点,根据初始位姿计算关键特征图和投影特征图在梯度点上的整体光度误差;
光束法平差模块输出单元,用于根据整体光度误差计算位姿更新量,并根据初始位姿和位姿更新量,确定光束法平差模块的输出结果。
可选的,位姿预测模块,具体可用于:
从各组特征匹配对中筛选出当前特征匹配对和下一特征匹配对,下一特征匹配对的尺度信息大于当前特征匹配对的尺度信息;
将当前特征匹配对输入至与当前特征匹配对相应的当前光束法平差模块中,获取当前光束法平差模块输出的中间位姿;
将下一特征匹配对和中间位姿,输入至与下一特征匹配对相应的下一光束法平差模块中,以得到目标位姿。
可选的,在上述装置的基础上,该装置还可包括:
平滑处理模块,用于位姿预测网络还包括平滑处理模块,平滑处理模块的数量和光束法平差模块的数量相一致,针对各组特征匹配对中的当前关键特征图和下一关键特征图,经由平滑处理模块对当前关键特征图进行上采样处理,并根据上采样处理结果和下一关键特征图生成平滑关键特征图,其中,下一关键特征图的尺度信息大于当前关键特征图的尺度信息;
特征匹配对更新模块,用于获取与平滑关键特征图对应的平滑当前特征图,根据平滑当前特征图和平滑关键特征图,更新特征匹配对。
可选的,在上述装置的基础上,该装置还可包括:
第二特征图提取模块,用于用于深度预测网络包括深度预测子网络以及至少两个代价体构造模块,代价体构造模块的数量与深度预测子网络的数量相同,将当前图像作为参考图像,获取与参考图像相邻的相邻图像,及相邻图像和参考图像的位姿,经由特征级联网络从参考图像中提取出参考特征图,经由特征级联网络从相邻图像中提取出与参考特征图具有同一尺度信息的相邻特征图;
深度预测子网络输入模块,用于将参考特征图、相邻特征图和位姿作为一组深度匹配对,经由代价体构造模块构造出与深度匹配对相应的匹配代价体,并将参考特征图和匹配代价体,输入至深度预测子网络中;
深度预测模块,用于根据各深度预测子网络的输出结果,得到目标深度。
可选的,深度预测子网络输入模块,可以包括:
构造单元,用于代价体构造模块获取与深度预测子网络对应的各深度假设,根据各深度假设和位姿,将相邻特征图投影到参考特征图上,得到投影特征图,并根据投影特征图和参考特征图,构造出与深度匹配对相应的匹配代价体。
可选的,构造单元,具体可以包括:
投影子单元,用于将投影特征图和参考特征图在预设通道上分别划分为至少两组,得到投影子特征图和参考子特征图;
构造子单元,用于根据隶属于同一组的投影子特征图和参考子特征图计算出方差,并根据各组方差构造出与深度匹配对相应的匹配代价体。
可选的,构造单元,具有可以包括:
深度假设获取子单元,用于深度预测子网络包括第一深度预测子网络和第二深度预测子网络,获取第一深度预测子网络预测出的中间深度,根据中间深度得到与第二深度预测子网络对应的各第二深度假设,第二深度预测子网络对应的尺度信息大于第一深度预测子网络对应的尺度信息。
可选的,中间深度是根据与第一深度预测子网络对应的各第一深度假设确定的,各第一深度假设是在对预设深度范围进行划分之后得到的。
本发明实施例五提供的位姿深度预测装置,通过图像输入模块获取关键图像和当前图像,并将关键图像和当前图像输入至已训练完成的位姿深度预测模型中,其中,位姿深度预测模型包括深度预测网络、位姿预测网络、以及分别与深度预测网络和位姿预测网络连接的特征级联网络;第一位姿深度预测模块根据位姿深度预测模型的输出结果,可以得到当前图像的目标位姿,或是,当前图像的目标位姿和目标深度。上述装置,通过特征级联网络将深度预测网络和位姿预测网络融合在一起,二者共享特征级联网络提取出的特征图,由此节省了网络参数,进而提高了目标位姿和目标深度的预测效率。
本发明实施例所提供的位姿深度预测装置可执行本发明任意实施例所提供的位姿深度预测方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述位姿深度预测装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例六
图9为本发明实施例六提供的视觉里程计装置的结构框图,该装置用于执行上述任意实施例所提供的视觉里程计方法。该装置与上述各实施例的视觉里程计方法属于同一个发明构思,在视觉里程计装置的实施例中未详尽描述的细节内容,可以参考上述视觉里程计方法的实施例。参见图9,该装置具体可包括:特征图提取模块610和第二位姿深度预测模块620。
其中,特征图提取模块610,用于获取当前图像,经由特征级联网络从当前图像中提取出具有至少两个尺度信息的当前特征图;
第二位姿深度预测模块620,用于经由位姿预测网络,根据当前特征图、以及与当前图像对应的关键图像的关键特征图,预测出当前图像的目标位姿;或,经由位姿预测网络预测出目标位姿,且经由深度预测网络,根据当前特征图、及与当前图像对应的相邻图像的相邻特征图,预测出当前图像的目标深度。
可选的,第二位姿深度预测模块620,具体可以包括:
重叠率判断单元,用于视觉里程计系统还包括判断模块,先经由判断模块,根据目标位姿计算出当前图像和关键图像间的重叠率,并判断重叠率是否在预设重叠范围内;
目标深度预测单元,用于若否,则将当前图像更新为关键图像,且经由深度预测网络,根据当前特征图、及与当前图像对应的相邻图像的相邻特征图,预测出当前图像的目标深度。
可选的,在上述装置的基础上,该装置还可包括:
目标位姿预测模块,用于视觉里程计系统还包括初始化模块,若经由初始化模块确定视觉里程计系统未完成初始化,则经由位姿预测网络,根据关键图像的待更新深度、当前图像的初始位姿、当前特征图和关键特征图,得到当前图像的目标位姿;
待更新深度更新模块,用于经由深度预测网络,根据当前特征图、关键特征图和目标位姿,得到关键图像的已更新深度,将关键图像的已更新深度作为关键图像的待更新深度。
本发明实施例六提供的视觉里程计装置,通过特征图提取模块获取当前图像,经由特征级联网络从当前图像中提取出具有至少两个尺度信息的当前特征图;进而,第二位姿深度预测模块经由位姿预测网络,根据当前特征图、以及与当前图像对应的关键图像的关键特征图,预测出当前图像的目标位姿;或是,经由位姿预测网络预测出目标位姿,且经由深度预测网络,根据当前特征图、以及与当前图像对应的相邻图像的相邻特征图,预测出当前图像的目标深度。上述装置,通过特征级联网络将深度预测网络和位姿预测网络融合在一起,二者共享特征级联网络提取出的特征图,由此节省了网络参数,进而提高了目标位姿和目标深度的预测效率、以及视觉里程计系统的预测精度。
本发明实施例所提供的视觉里程计装置可执行本发明任意实施例所提供的视觉里程计方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述视觉里程计装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例七
图10为本发明实施例七提供的一种设备的结构示意图,如图10所示,该设备包括存储器710、处理器720、输入装置730和输出装置740。设备中的处理器720的数量可以是一个或多个,图10中以一个处理器720为例;设备中的存储器710、处理器720、输入装置730和输出装置740可以通过总线或其它方式连接,图10中以通过总线750连接为例。
存储器710作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的位姿深度预测方法对应的程序指令/模块(例如,位姿深度预测装置中的图像输入模块510和第一位姿深度预测模块520),或是,如本发明实施例中的视觉里程计方法对应的程序指令/模块(例如,视觉里程计装置中的特征图提取模块610和第二位姿深度预测模块620)。处理器720通过运行存储在存储器710中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的位姿深度预测方法或是视觉里程计方法。
存储器710可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器710可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器710可进一步包括相对于处理器720远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置730可用于接收输入的数字或字符信息,以及产生与装置的用户设置以及功能控制有关的键信号输入。输出装置740可包括显示屏等显示设备。
实施例八
本发明实施例八提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种位姿深度预测方法,该方法包括:
获取关键图像和当前图像,将关键图像和当前图像输入至已训练完成的位姿深度预测模型中;
根据位姿深度预测模型的输出结果,得到当前图像的目标位姿,或是,目标位姿和当前图像的目标深度;
其中,位姿深度预测模型包括深度预测网络、位姿预测网络、以及分别与深度预测网络和位姿预测网络连接的特征级联网络,特征级联网络用于从当前图像中提取出具有至少两个尺度信息的当前特征图,且从关键图像中提取出与当前特征图对应的关键特征图。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的位姿深度预测方法中的相关操作。
实施例九
本发明实施例九提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种视觉里程计方法,应用于视觉里程计系统,视觉里程计系统包括位姿深度预测模型,位姿深度预测模型包括深度预测网络、位姿预测网络、以及分别与深度预测网络和位姿预测网络连接的特征级联网络,方法包括:
获取当前图像,经由特征级联网络从当前图像中提取出具有至少两个尺度信息的当前特征图;
经由位姿预测网络,根据当前特征图、以及与当前图像对应的关键图像的关键特征图,预测出当前图像的目标位姿;或是,经由位姿预测网络预测出目标位姿,且经由深度预测网络,根据当前特征图、及与当前图像对应的相邻图像的相邻特征图,预测出当前图像的目标深度。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的视觉里程计方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。依据这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。