相机位姿的纠正方法、装置、系统、设备和存储介质与流程

文档序号:18323894发布日期:2019-08-03 10:46阅读:391来源:国知局
相机位姿的纠正方法、装置、系统、设备和存储介质与流程

本发明实施例涉及位姿估计领域,尤其涉及一种相机位姿的纠正方法、装置、系统、设备和存储介质。



背景技术:

在计算机视觉研究领域中,通常利用视频帧序列对相机位姿进行估计。slam(simultaneouslocalizationandmapping同时定位与建图)是一种常用技术,它通过追踪传感器(通常为相机)的位姿,来构建传感器的3d轨迹,并对环境进行建图。slam的应用场景广泛,比如机器人导航、自动驾驶、增强现实等。slam系统一般由前端视觉里程计(visualodometry,vo)和后端优化构成,视觉里程计是用于估算相邻图像间相机的运动以及局部地图。后端优化是用于对估算的运动以及回环检测的信息进行优化,获得全局一致的轨迹和地图。

通常,基于相机数目和种类,slam可以分为单目slam、双目slam以及rgbd-slam。其中,单目slam由于成本低、设备尺寸小、可运行在大尺度环境中等优点,受到了越来越多的研究。然而,单目slam在估计相机位姿时无法获得尺度信息,即真实值与观测值之间的比例值,从而导致估计出来的轨迹与真实轨迹之间差一个缩放因子(尺度)。为了解决这一问题,现有技术中是将带有尺度特性的imu(inertialmeasurementunit惯性测量单元)与视觉信息(相机拍摄的图像信息)进行结合,利用结合imu信息带有尺度的单目slam系统可以获得较好的追踪精度以及带有尺度的轨迹估计。

然而,现有技术中是将imu数据预积分后直接输入至滑窗优化等位姿优化模块中,最终的轨迹估计结果非常依赖于位姿优化的结果,但是并没有对imu中陀螺仪和加速度计存在的测量噪声和随机游走噪声进行噪声控制。噪声的存在往往会导致相机轨迹估计结果的准确性降低,而且对于廉价的imu设备,其噪声会更大,使得估计结果更加不可控,甚至还会导致相机轨迹估计出现累积漂移的情况。



技术实现要素:

本发明实施例提供了一种相机位姿的纠正方法、装置、系统、设备和存储介质,以对imu进行噪声控制,降低imu噪声的影响,提高初始位姿估计的准确度和精度,以便提高最终相机位姿估计的准确度和精度。

第一方面,本发明实施例提供了一种相机位姿的纠正方法,包括:

获取相机在当前图像帧对应的初始预积分值和初始位姿中的初始平移向量,其中所述初始预积分值和所述初始平移向量根据imu惯性测量单元采集的信息进行预积分确定;

根据所述相机的图像帧处理信息、所述初始预积分值和所述初始平移向量,计算所述初始平移向量对应的总估计误差,并基于所述总估计误差对所述初始平移向量进行纠正,确定所述当前图像帧对应的目标平移向量。

可选地,在确定所述当前图像帧对应的目标平移向量之后,还包括:

根据所述当前图像帧的初始速度、所述初始平移向量和所述目标平移向量,对所述初始速度的方向进行纠正,确定所述当前图像帧对应的目标速度。

可选地,在确定所述当前图像帧对应的目标平移向量之后,还包括:

根据所述当前图像帧对应的当前目标平移向量以及上一图像帧对应的上一目标平移向量和上一初始速度,对所述当前图像帧对应的初始预积分值进行纠正,确定所述当前图像帧对应的目标预积分值。

可选地,在确定所述当前图像帧对应的目标速度之后,还包括:

根据所述当前图像帧对应的当前目标平移向量、当前目标速度以及上一图像帧对应的上一目标平移向量和上一目标速度,对所述当前图像帧对应的初始预积分值进行纠正,确定所述当前图像帧对应的目标预积分值。

第二方面,本发明实施例还提供了一种相机位姿的纠正装置,包括:

初始信息获取模块,用于获取相机在当前图像帧对应的初始预积分值和初始位姿中的初始平移向量,其中所述初始预积分值和所述初始平移向量根据imu惯性测量单元采集的信息进行预积分确定;

初始平移向量纠正模块,用于根据所述相机的图像帧处理信息、所述初始预积分值和所述初始平移向量,计算所述初始平移向量对应的总估计误差,并基于所述总估计误差对所述初始平移向量进行纠正,确定所述当前图像帧对应的目标平移向量。

第三方面,本发明实施例还提供了一种相机位姿的纠正系统,所述系统包括:预处理模块、初始化模块和位姿纠正模块;其中,

所述预处理模块用于对相机拍摄的图像信息进行检测处理,确定图像帧处理信息,以及对imu惯性测量单元采集的信息进行预积分,确定每个图像帧对应的初始预积分值和初始位姿,其中所述初始位姿包含初始平移向量;

所述初始化模块用于根据所述图像帧处理信息、所述初始预积分值和所述初始位姿进行系统初始化;

所述位姿纠正模块用于实现如本发明任意实施例所提供的相机位姿的纠正方法。

第四方面,本发明实施例还提供了一种设备,所述设备包括:

一个或多个处理器;

存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所提供的相机位姿的纠正方法。

第五方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的相机位姿的纠正方法。

本发明实施例通过获取相机在当前图像帧对应的初始预积分值和初始位姿中的初始平移向量,其中,初始预积分值和初始平移向量均是根据imu惯性测量单元采集的信息进行预积分确定的。利用对相机拍摄的图像进行处理后获得的图像帧处理信息、初始预积分值和初始平移向量,计算出初始平移向量对应的总估计误差,并基于该总估计误差可以对初始平移向量进行纠正,获得纠正后的当前图像帧对应的目标平移向量。本发明通过利用相机的视觉信息对基于imu信息确定的初始平移向量进行纠正,从而可以对imu进行噪声控制,降低了imu噪声对初始平移向量的影响,从而提高了初始平移向量估计的准确度和精度,进而提高了初始位姿的准确度和精度。而且在纠正初始平移向量后,还可以对当前图像帧的初始速度和/或初始预积分值进行纠正,从而也可以提高初始速度和初始预积分值的准确度和精度,以便进一步提高最终相机位姿估计的准确度和精度。

附图说明

图1是本发明实施例一提供的一种相机位姿的纠正方法的流程图;

图2是本发明实施例二提供的一种相机位姿的纠正方法的流程图;

图3(a)是本发明实施例二所涉及的一种相邻两张图像帧之间真实的初始速度的变化示例;

图3(b)是本发明实施例二所涉及的一种基于运动学公式计算出的相邻两张图像帧之间的初始速度的变化示例;

图4是本发明实施例二所涉及的一种对初始速度进行纠正的示例;

图5是本发明实施例三提供的一种相机位姿的纠正方法的流程图;

图6是本发明实施例四提供的一种相机位姿的纠正装置的结构示意图;

图7是本发明实施例五提供的一种相机位姿的纠正系统的结构示意图;

图8是本发明实施例六提供的一种设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种相机位姿的纠正方法的流程图,本实施例可适用于对基于imu信息确定的初始平移向量进行纠正的情况,尤其是可以适用于在带有预积分模块的slam系统或者vio(visual-inertialodometry,视觉惯性里程计)系统中,对预积分模块获得的初始平移向量进行纠正的场景。该方法可以由相机位姿的纠正装置来执行,该装置可以由软件和/或硬件的方式来实现,集成于具有相机位姿估计功能的设备中。该方法具体包括以下步骤:

s110、获取相机在当前图像帧对应的初始预积分值和初始位姿中的初始平移向量,其中初始预积分值和初始平移向量根据imu惯性测量单元采集的信息进行预积分确定。

其中,当前图像帧可以是指当前时刻相机拍摄的图像帧。由于相机是运动的,使得相机在世界坐标系中的位姿也实时发生改变,从而需要估计相机在拍摄每张图像帧时对应的相机位姿。imu惯性测量单元可以利用陀螺仪和加速度计来采集带有尺度的相机加速度信息和角速度信息。初始位姿可以是指对imu采集的信息进行预积分操作,获得的初始的相机位姿。初始位姿可以包括相机的初始平移向量和初始旋转矩阵。初始预积分值可以是指对imu采集的信息进行预积分获得的数值,比如,对imu采集的加速度信息进行一次积分获得速度值;对imu采集的加速度信息进行两次积分获得位移值;对imu采集的角速度信息进行积分获得旋转角度值。本实施例中的初始预积分值可以包括第一初始预积分值、第二初始预积分值和第三初始预积分值;其中,第一初始预积分值是当前图像帧与上一图像帧之间的初始的相对位移变化量;第二初始预积分值是当前图像帧与上一图像帧之间的初始的相对速度变化量;第三初始预积分值是当前图像帧与上一图像帧之间的初始的相对旋转角度变化量。

具体地,本实施例可以预先根据imu惯性测量单元采集的信息进行预积分确定相机在当前图像帧对应的初始预积分值和初始位姿。示例性地,基于imu采集的当前图像帧与上一图像帧之间的imu信息进行预积分操作,获得当前图像帧对应的初始预积分值,然后基于运动学公式和初始预积分值确定当前图像帧对应的初始位姿(即初始平移向量和初始旋转矩阵),此时获得的初始位姿中的初始平移向量因imu噪声的影响而存在较大的误差。

示例性地,本实施例可以通过对imu采集的当前图像帧与上一图像帧之间的加速度信息进行预积分,确定当前图像帧对应的第一初始预积分值,如当前图像帧与上一图像帧之间的初始的相对位移变化量,并基于如下运动学公式可以确定当前图像帧对应的初始平移向量:

其中,为当前图像帧j对应的初始平移向量,即当前图像帧j对应的相机坐标系到世界坐标系的位移(由于相机是运动的,从而以相机光心为原点的相机坐标系是不固定的),也可以理解为当前时刻相机在世界坐标系下的位置;为世界坐标系到上一图像帧j-1对应的相机坐标系的旋转矩阵,该旋转矩阵用于坐标系的旋转转换;为上一图像帧j-1对应的目标平移向量;为上一图像帧j-1对应的初始速度;δt为当前图像帧j与上一图像帧j-1之间的时间间隔;gw为在世界坐标系下的重力加速度;为上一图像帧j-1到当前图像帧之间的第一初始预积分值,即相对位移变化量。

其中,本实施例可以基于步骤s110-s120所提供的相机位姿的纠正方式,对上一图像帧j-1对应的初始平移向量进行纠正,从而可以获得上一图像帧对应的目标平移向量

s120、根据相机的图像帧处理信息、初始预积分值和初始平移向量,计算初始平移向量对应的总估计误差,并基于总估计误差对初始平移向量进行纠正,确定当前图像帧对应的目标平移向量。

其中,图像帧处理信息可以是指对相机拍摄的图像进行处理后获得的视觉信息。示例性地,图像帧处理信息可以是指对相机拍摄的图像帧进行特征检测和追踪获得的特征点信息。初始平移向量对应的总估计误差可以包括与图像帧处理信息相关的视觉误差和因imu噪声导致的imu误差。当前图像帧对应的目标平移向量可以是指对初始平移向量进行纠正后获得的更加准确的初始平移向量。

具体地,可以基于相机的图像帧处理信息计算初始平移向量对应的视觉误差,以及基于相机的初始预积分值和运动学公式计算初始平移向量对应的imu误差,从而可以获得初始平移向量对应的总估计误差。通过对该总估计误差进行最小化,以对初始平移向量进行纠正,从而可以获得纠正后的更为准确的初始平移向量,即当前图像帧对应的目标平移向量。本实施例通过利用图像帧处理信息即视觉信息对基于imu信息确定的初始平移向量进行纠正,从而可以对imu进行噪声控制,降低了imu噪声对初始平移向量的影响。

需要说明的是,通过实验验证,利用imu信息获得的初始旋转矩阵比利用视觉信息获得的初始旋转矩阵更加精准,从而利用视觉信息无法进一步提高基于imu信息获得的初始旋转矩阵的准确度和精度,所以本实施例仅利用视觉信息对初始位姿中的初始平移向量进行了纠正,并可以获得更为准确的初始平移向量,从而提高了初始位姿的准确性。

需要说明的是,在对当前图像帧对应的初始平移向量进行纠正,获得目标平移向量后,可以对该目标平移向量进行进一步地优化,比如滑窗优化等,以便估计出当前图像帧对应的最终相机位姿。在利用该目标平移向量进行优化时,可以大大加快优化的收敛速度,提高了相机位姿的估计效率。

本实施例的技术方案,通过获取相机在当前图像帧对应的初始预积分值和初始位姿中的初始平移向量,其中,初始预积分值和初始平移向量均是根据imu惯性测量单元采集的信息进行预积分确定的。利用对相机拍摄的图像进行处理后获得的图像帧处理信息、初始预积分值和初始平移向量,计算出初始平移向量对应的总估计误差,并基于该总估计误差可以对初始平移向量进行纠正,获得纠正后的当前图像帧对应的目标平移向量。本发明通过利用相机的视觉信息对基于imu信息确定的初始平移向量进行纠正,从而可以对imu进行噪声控制,降低了imu噪声对初始平移向量的影响,从而提高了初始位姿中初始平移向量估计的准确度和精度,以便提高最终相机位姿估计的准确度和精度。

在上述技术方案的基础上,s120可以包括:根据当前图像帧中的各目标特征点的像素坐标、每个目标特征点在当前图像帧之前的目标图像帧中的三维坐标、当前图像帧与目标图像帧之间的转换矩阵,计算当前图像帧对应的视觉误差,其中,转换矩阵根据初始平移向量和当前图像帧对应的初始旋转矩阵确定;根据当前图像帧对应的初始平移向量、当前图像帧与上一图像帧之间的时间间隔、上一图像帧对应的上一目标平移向量和上一初始速度、以及当前图像帧对应的初始预积分值,计算当前图像帧对应的imu误差;将视觉误差与imu误差进行相加,确定初始平移向量对应的总估计误差;通过调整初始平移向量的大小,对总估计误差进行最小化,并将最小的总估计误差对应的初始平移向量确定为当前图像帧对应的目标平移向量。

其中,当前图像帧中的目标特征点可以是指满足预设筛选条件的特征点。预设筛选条件可以是指当前图像帧中的特征点,在当前图像帧之前的图像帧中出现过该特征点且已保留该特征点的深度信息。示例性地,在slam系统中,对于当前图像帧中的各个特征点而言,可以将出现在滑窗中的关键帧上的该特征点作为目标特征点。目标图像帧可以是指在当前图像帧之前出现过目标特征点且保留了目标特征点的深度信息的图像帧,以便可以获得目标特征点对应的三维坐标。示例性地,在slam系统中,对于每个目标特征点,可以将滑窗内首次出现该目标特征点的关键图像帧确定为该目标特征点对应的目标图像帧,其中,滑窗包含多个关键图像帧和当前图像帧。当前图像帧可以是关键图像帧也可以不是关键图像帧;若当前图像帧为关键图像帧,则在滑窗优化后可以将当前图像帧保留在滑窗内;若当前图像帧为非关键图像帧,则在优化后不会保留在滑窗内。

其中,当前图像帧与目标图像帧之间的转换矩阵可以是指目标图像帧到当前图像帧的转换矩阵,其可以根据目标图像帧到当前图像帧的平移向量和目标图像帧到当前图像帧的旋转矩阵确定。目标图像帧到当前图像帧的平移向量可以根据目标图像帧对应的平移向量(目标图像帧对应的相机坐标系到世界坐标系的平移向量)和当前图像帧对应的初始平移向量(当前图像帧对应的相机坐标系到世界坐标系的初始平移向量)确定。目标图像帧到当前图像帧的旋转矩阵可以根据目标图像帧对应的旋转矩阵(目标图像帧对应的相机坐标系到世界坐标系的旋转矩阵)和当前图像帧对应的初始旋转矩阵(当前图像帧对应的相机坐标系到世界坐标系的初始旋转矩阵)确定。

示例性地,可以基于如下公式,计算当前图像帧对应的视觉误差:

其中,rproj为当前图像帧j对应的视觉误差;为当前图像帧j中的第i个目标特征点的像素坐标;pi为第i个目标特征点在当前图像帧j之前的目标图像帧k中的归一化三维坐标;λi为第i个目标特征点对应的深度值;为目标图像帧k到当前图像帧j的转换矩阵;π表示将三维坐标投影至当前图像帧的二维平面上;ρ为胡贝尔损失函数;c为当前图像帧j中的各目标特征点的集合;f为各目标图像帧的集合。

具体地,本实施例可以基于重投影误差计算当前图像帧对应的视觉误差。通过将目标图像帧中的目标特征点对应的包含深度信息的三维坐标piλi投影至当前图像帧的二维平面上,可以获得该目标特征点对应的二维坐标由于相机的初始位姿存在误差,使得在当前图像帧中获得的目标特征点的像素坐标与二维坐标无法重合,从而可以计算出当前图像帧中的每个目标特征点对应的重投影误差,并将各个目标特征点对应的重投影误差进行相加获得当前图像帧对应的视觉误差。需要说明的是,胡贝尔损失函数ρ是一种使用鲁棒性回归的损失函数,其可以用于降低初始位姿在后续优化过程中异常值的影响,使得优化更快并且最终获得的相机位姿更加准确。

示例性地,可以基于如下公式,计算当前图像帧对应的imu误差:

其中,rimu为当前图像帧j对应的imu误差,为世界坐标系到上一图像帧j-1对应的相机坐标系的第一旋转矩阵;为当前图像帧j对应的初始平移向量,即当前图像帧j对应的相机坐标系到世界坐标系的位移;为上一图像帧j-1对应的上一目标平移向量;δt为当前图像帧j与上一图像帧j-1之间的时间间隔;为上一图像帧在世界坐标系下的上一初始速度;gw为在世界坐标系下的重力加速度;为上一图像帧j-1到当前图像帧之间的初始预积分值。

其中,上一图像帧的上一初始速度可以是指在上一图像帧时所估计出的相机运动速度。

具体地,对于相机拍摄的每个图像帧而言,可以基于上述步骤s110-s120的操作对每个图像帧对应的初始平移向量进行纠正,获得每个图像帧对应的目标平移向量。本实施例可以基于上述的运动学公式来计算当前图像帧对应的imu误差,也就是将上述运动学公式中等号左边的式子减去等号右边的式子,获得的差即为当前图像帧对应的imu误差。需要注意的是,在对当前图像帧对应的初始平移向量进行纠正之前,由于初始平移向量是根据上述运动学公式确定的,从而此时的当前图像帧对应的imu误差为零。

本实施例在将视觉误差与imu误差进行相加获得初始平移向量对应的总估计误差之后,可以对初始平移向量的大小进行调整,以便可以获得最小的总估计误差。本实施例通过对总估计误差进行最小化,使得纠正后的初始平移向量的视觉误差与imu误差之和最小,从而利用视觉信息对基于imu信息得到的初始平移向量进行了纠正,提高了相机的初始位姿的准确度,降低了imu噪声的影响。

在上述技术方案的基础上,在步骤s120之后,还可以包括:根据当前图像帧对应的当前目标平移向量以及上一图像帧对应的上一目标平移向量和上一初始速度,对当前图像帧对应的初始预积分值进行纠正,确定当前图像帧对应的目标预积分值。

具体地,由于本实施例对初始平移向量进行了纠正,从而可以基于运动学公式,根据相邻两个图像帧对应的目标平移向量和上一图像帧对应的上一初始速度,对当前图像帧对应的初始预积分值进行纠正,获得纠正后的初始预积分值,即目标预积分值。需要说明的是,本实施例可以基于当前图像帧的初始平移向量计算当前图像帧与上一图像帧之间的相对位移变化量这个第一初始预积分值,从而可以利用纠正后的初始平移向量对第一初始预积分值进行纠正,确定纠正后的第一目标预积分值。本实施例通过对图像帧的初始预积分值进行纠正,可以降低时间连续模型离散化时引入的误差,以便进一步提高位姿估计的准确度和精度。

示例性地,本实施例可以根据当前图像帧对应的当前目标平移向量、上一图像帧对应的上一目标平移向量和上一初始速度以及当前图像帧与上一图像帧之间的时间间隔,对当前图像帧对应的第一初始预积分值进行纠正,确定当前图像帧对应的第一目标预积分值。具体地,可以基于如下公式,确定当前图像帧对应的第一目标预积分值:

其中,为当前图像帧j对应的第一目标预积分值;为世界坐标系到上一图像帧j-1对应的相机坐标系的第一旋转矩阵;为当前图像帧j对应的当前目标平移向量;为当前图像帧j的上一图像帧j-1对应的上一目标平移向量;为上一图像帧j-1对应的上一初始速度;δt为当前图像帧j与上一图像帧j-1之间的时间间隔;gw为在世界坐标系下的重力加速度。

在上述技术方案的基础上,在确定当前图像帧对应的第一目标预积分值之后,还包括:将第一目标预积分值作为约束信息,对目标平移向量和初始位姿中的初始旋转矩阵进行优化,确定优化后的相机位姿。

具体地,本实施例可以基于纠正后的预积分值对初始位姿中的初始旋转矩阵和目标平移向量进行优化,以便可以获得当前图像帧对应的更加准确的相机位姿。示例性地,在slam系统中,可以将当前图像帧对应的初始位姿中的初始旋转矩阵和纠正后的目标平移向量作为滑窗优化中的相机位姿的初始值,并将纠正后获得的预积分值作为约束信息来优化相机位姿,使得当前图像帧的位姿优化结果更加准确,从而可以大大提高相机位姿估计的准确性。

实施例二

图2为本发明实施例二提供的一种相机位姿的纠正方法的流程图,本实施例在上述实施例的基础上,在确定当前图像帧对应的目标平移向量之后,还包括:“根据当前图像帧的初始速度、初始平移向量和目标平移向量,对初始速度的方向进行纠正,确定当前图像帧对应的目标速度”。其中与上述实施例相同或相应的术语的解释在此不再赘述。

参见图2,本实施例提供的相机位姿的纠正方法具体包括以下步骤:

s210、获取相机在当前图像帧对应的初始预积分值和初始位姿中的初始平移向量,其中初始预积分值和初始平移向量根据imu惯性测量单元采集的信息进行预积分确定。

s220、根据相机的图像帧处理信息、初始预积分值和初始平移向量,计算初始平移向量对应的总估计误差,并基于总估计误差对初始平移向量进行纠正,确定当前图像帧对应的目标平移向量。

s230、根据当前图像帧的初始速度、初始平移向量和目标平移向量,对初始速度的方向进行纠正,确定当前图像帧对应的目标速度。

其中,当前图像帧对应的初始速度可以根据imu惯性测量单元采集的信息进行预积分确定。本实施例中的初始速度为矢量,其包括速度大小和速度方向。示例性地,对imu采集的当前图像帧与上一图像帧之间的加速度信息进行预积分,可以获得当前图像帧与上一图像帧之间的相对速度变化量这个第二初始预积分值,并可以基于如下运动学公式,根据第二初始预积分值、上一图像帧的目标速度和当前图像帧与上一图像帧之间的时间间隔确定出当前图像帧的初始速度:

其中,为当前图像帧j对应的初始速度;为世界坐标系到上一图像帧j-1对应的相机坐标系的第一旋转矩阵;为上一图像帧j-1对应的目标速度;δt为当前图像帧j与上一图像帧j-1之间的时间间隔;gw为在世界坐标系下的重力加速度;为当前图像帧j对应的第二初始预积分值。

图3(a)给出了一种相邻两张图像帧之间真实的初始速度的变化示例;图3(b)给出了一种基于运动学公式计算出的相邻两张图像帧之间的初始速度的变化示例。图3(a)和3(b)中的黑色圆形块表示相机拍摄图像帧时所处于的端点位置;黑色矩形块表示两张图像帧之间采集的每个imu数据对应的中间位置;箭头表示速度的方向;是当前图像帧(第j帧)的上一图像帧(第l帧)对应的目标平移向量,可以理解为上一图像帧(第l帧)对应的相机在世界坐标系下的位置;是当前图像帧(第j帧)对应的初始平移向量,可以理解为当前图像帧对应的相机在世界坐标系下的位置;为上一图像帧对应的目标速度;为当前图像帧对应的初始速度。

如图3(a)和3(b)所示,由于imu采集频率比相机帧率高,使得imu数据比相机帧多,从而在相邻两个图像帧(即两个端点位置)之间会存在多个imu数据对应的中间位置。图3(b)中的初始速度是基于运动学公式计算出的,其与图3(a)给出的真实的初始速度相比,可以看出:图3(b)中初始速度的方向因imu噪声的影响而存在较大误差,从而本实施例对初始速度的方向也进行了纠正。

具体地,图4给出了一种对初始速度进行纠正的示例。如图4所示,当前图像帧对应的初始平移向量被纠正为目标平移向量后,初始速度的的速度方向也发生了变化,但是速度的方向与相机位置之间的角度是不变的,即相等,从而可以基于当前图像帧的初始速度、初始平移向量计算两者之间的夹角并根据该夹角和目标平移向量确定出当前图像帧对应的目标速度的方向,从而对初始速度的方向进行了纠正,提高了初始速度的准确度。

本实施例的技术方案,通过在对当前图像帧的初始平移向量进行纠正后,可以根据纠正后获得的目标平移向量,对当前图像帧的初始速度的方向进行纠正,从而可以进一步降低imu噪声对速度的影响,提高了初始速度估计的准确度和精度。

在上述技术方案的基础上,s230可以包括:计算当前图像帧的对应的初始速度与初始平移向量之间的旋转向量和夹角;根据旋转向量和夹角,计算初始速度和初始平移向量之间的第二旋转矩阵;根据第二旋转矩阵和当前图像帧对应的目标平移向量,确定目标方向;根据初始速度的大小和目标方向,确定当前图像帧对应的目标速度。

具体地,本实施例可以基于如下公式计算当前图像帧的对应的初始速度与初始平移向量之间的旋转向量和夹角:

其中,n为当前图像帧的对应的初始速度与初始平移向量之间的旋转向量,为当前图像帧的对应的初始平移向量,可以理解为当前图像帧对应的相机在世界坐标系下的位置。

在计算初始速度和初始平移向量之间的第二旋转矩阵时,由于本实施例仅对初始速度的方向进行纠正,并不会纠正初始速度的大小,从而可以通过一个模值为1的第二旋转矩阵来改变速度方向即可。示例性地,本实施例可以基于如下公式确定初始速度和初始平移向量之间的第二旋转矩阵:

其中,为初始速度与初始平移向量之间的第二旋转矩阵;i为单位矩阵;nt为旋转向量n的转置矩阵;n^为旋转向量n的反对称矩阵。

本实施例在对初始平移向量纠正后,速度的方向与相机位置之间的角度是不变的,从而可以基于如下公式对初始速度的方向进行纠正,确定目标方向:

其中,为目标方向,为当前图像帧对应的目标平移向量。

在获得目标方向后,可以利用当前图像帧的初始速度的大小与该目标方向获得纠正后的目标速度,即可以基于公式确定出当前图像帧对应的目标速度

在上述技术方案的基础上,s220可以包括:根据当前图像帧中的各目标特征点的像素坐标、每个目标特征点在当前图像帧之前的目标图像帧中的三维坐标、当前图像帧与目标图像帧之间的转换矩阵,计算当前图像帧对应的视觉误差,其中,转换矩阵根据初始平移向量和当前图像帧对应的初始旋转矩阵确定;根据当前图像帧对应的初始平移向量、当前图像帧与上一图像帧之间的时间间隔、上一图像帧对应的上一目标平移向量和上一目标速度、以及当前图像帧对应的初始预积分值,计算当前图像帧对应的imu误差;将视觉误差与imu误差进行相加,确定初始平移向量对应的总估计误差;通过调整初始平移向量的大小,对总估计误差进行最小化,并将最小的总估计误差对应的初始平移向量确定为当前图像帧对应的目标平移向量。

其中,本实施例可以基于步骤s210-230的操作,对相机拍摄的每个图像帧对应的初始速度的方向进行纠正,从而获得每个图像帧对应的目标速度。本实施例中计算当前图像帧对应的视觉误差的具体方式可以参见上述实施例一中的相关描述。本实施例在计算当前图像帧对应的imu误差时,可以基于对上一图像帧的初始速度纠正后获得上一目标速度来确定出当前图像帧对应的imu误差,相比于直接利用上一图像帧的初始速度来计算imu误差而言,本实施例计算出的imu误差更加精确,提高了初始平移向量的纠正效果,从而进一步提高了初始位姿估计的准确度和精度,以便提高最终相机位姿估计的准确度和精度。

示例性地,本实施例可以如下基于如下公式,计算当前图像帧对应的imu误差:

其中,rimu为当前图像帧j对应的imu误差,为世界坐标系到上一图像帧j-1对应的相机坐标系的第一旋转矩阵;为当前图像帧j对应的初始平移向量,即当前图像帧j对应的相机坐标系到世界坐标系的位移;为上一图像帧j-1对应的上一目标平移向量;δt为当前图像帧j与上一图像帧j-1之间的时间间隔;为上一图像帧在世界坐标系下的上一目标速度;gw为在世界坐标系下的重力加速度;为上一图像帧j-1到当前图像帧之间的初始预积分值。

需要说明的是,在对当前图像帧对应的初始平移向量和初始速度进行纠正,获得目标平移向量和目标速度后,可以对该目标平移向量和目标速度进行进一步地优化,比如滑窗优化等,以便估计出当前图像帧对应的最终相机位姿。在利用目标平移向量和目标速度进行优化时,可以大大加快优化的收敛速度,提高了相机位姿的估计效率。

实施例三

图5为本发明实施例三提供的一种相机位姿的纠正方法的流程图,本实施例在上述实施例的基础上,在确定当前图像帧对应的目标速度之后,还包括:“根据当前图像帧对应的当前目标平移向量、当前目标速度以及上一图像帧对应的上一目标平移向量和上一目标速度,对当前图像帧对应的初始预积分值进行纠正,确定当前图像帧对应的目标预积分值”。其中与上述各实施例相同或相应的术语的解释在此不再赘述。

参见图5,本实施例提供的相机位姿的纠正方法具体包括以下步骤:

s310、获取相机在当前图像帧对应的初始预积分值和初始位姿中的初始平移向量,其中初始预积分值和初始平移向量根据imu惯性测量单元采集的信息进行预积分确定。

s320、根据相机的图像帧处理信息、初始预积分值和初始平移向量,计算初始平移向量对应的总估计误差,并基于总估计误差对初始平移向量进行纠正,确定当前图像帧对应的目标平移向量。

s330、根据当前图像帧的初始速度、初始平移向量和目标平移向量,对初始速度的方向进行纠正,确定当前图像帧对应的目标速度。

s340、根据当前图像帧对应的当前目标平移向量、当前目标速度以及上一图像帧对应的上一目标平移向量和上一目标速度,对当前图像帧对应的初始预积分值进行纠正,确定当前图像帧对应的目标预积分值。

具体地,在基于步骤s310-s330的操作,将相机拍摄的图像帧对应的初始平移向量和初始速度进行纠正,获得上一图像帧对应的上一目标平移向量和上一目标速度以及当前图像帧对应的当前目标平移向量和当前目标速度后,可以对当前图像帧对应的初始预积分值进行纠正,使得获得更加准确的预积分值,进一步降低了imu噪声对预积分值的影响,以便可以利用更加准确的预积分值对位姿进行优化,进一步提高了位姿估计的准确度和精度。

本实施例中的初始预积分值可以包括第一初始预积分值、第二初始预积分值和第三初始预积分值;其中,第一初始预积分值是当前图像帧与上一图像帧之间的初始的相对位移变化量;第二初始预积分值是当前图像帧与上一图像帧之间的初始的相对速度变化量;第三初始预积分值是当前图像帧与上一图像帧之间的初始的相对旋转角度变化量。需要说明的是,由于本实施例仅对初始平移向量和初始速度进行了纠正,未对初始旋转向量进行纠正,从而本实施例可以基于纠正获得的目标平移向量和目标速度对第一初始预积分值和第二初始预积分值进行纠正,使得获得更加准确的预积分值。

示例性地,s340可以包括:根据当前图像帧对应的当前目标平移向量、上一图像帧对应的上一目标平移向量和上一目标速度以及当前图像帧与上一图像帧之间的时间间隔,对当前图像帧对应的第一初始预积分值进行纠正,确定当前图像帧对应的第一目标预积分值;根据当前图像帧对应的当前目标速度和上一目标速度以及当前图像帧与上一图像帧之间的时间间隔,对当前图像帧对应的第二初始预积分值进行纠正,确定当前图像帧对应的第二目标预积分值。

其中,第一目标预积分值是指纠正后的第一初始预积分值。第二目标预积分值是指纠正后的第二初始预积分值。

示例性地,本实施例可以基于如下公式,确定当前图像帧对应的第一目标预积分值:

其中,为当前图像帧j对应的第一目标预积分值;为世界坐标系到上一图像帧j-1对应的相机坐标系的第一旋转矩阵;为当前图像帧j对应的当前目标平移向量;为当前图像帧j的上一图像帧j-1对应的上一目标平移向量;为上一图像帧j-1对应的上一目标速度;δt为当前图像帧j与上一图像帧j-1之间的时间间隔;gw为在世界坐标系下的重力加速度。

示例性地,本实施例可以基于如下公式,确定当前图像帧对应的第二目标预积分值:

其中,为当前图像帧j对应的第二目标预积分值;为世界坐标系到上一图像帧j-1对应的相机坐标系的第一旋转矩阵;为当前图像帧j对应的当前目标速度;为上一图像帧j-1对应的上一目标速度;δt为当前图像帧j与上一图像帧j-1之间的时间间隔;gw为在世界坐标系下的重力加速度。

本实施例的技术方案可以根据上一图像帧对应的上一目标平移向量和上一目标速度以及当前图像帧对应的当前目标平移向量和当前目标速度,对当前图像帧对应的初始预积分值进行纠正,从而可以使得获得更加准确的预积分值,进一步降低了imu噪声对预积分值的影响,以便可以利用更加准确的预积分值对位姿进行优化,进一步提高了位姿估计的准确度和精度。

在上述技术方案的基础上,在确定当前图像帧对应的目标预积分值之后,还包括:将目标预积分值作为约束信息,对目标平移向量和初始位姿中的初始旋转矩阵进行优化,确定优化后的相机位姿。

具体地,在利用图像帧处理信息对初始平移向量、初始速度以及初始预积分值进行纠正后,可以将纠正获得的目标平移向量、目标速度作为后续位姿优化过程中的相应参数的初始值,并将纠正后获得的目标预积分值作为约束信息,来进行位姿优化,使得优化后的最终位姿更加精准,从而提高了相机位姿估计的准确度和追踪精度。

以下是本发明实施例提供的相机位姿的纠正装置的实施例,该装置与上述各实施例的相机位姿的纠正方法属于同一个发明构思,在相机位姿的纠正装置的实施例中未详尽描述的细节内容,可以参考上述相机位姿的纠正方法的实施例。

实施例四

图6为本发明实施例四提供的一种相机位姿的纠正装置的结构示意图,本实施例可适用于对基于imu信息确定的初始平移向量进行纠正的情况,该装置具体可以包括:初始信息获取模块410和初始平移向量纠正模块420。

其中,初始信息获取模块410,用于获取相机在当前图像帧对应的初始预积分值和初始位姿中的初始平移向量,其中初始预积分值和初始平移向量根据imu惯性测量单元采集的信息进行预积分确定;初始平移向量纠正模块420,用于根据相机的图像帧处理信息、初始预积分值和初始平移向量,计算初始平移向量对应的总估计误差,并基于总估计误差对初始平移向量进行纠正,确定当前图像帧对应的目标平移向量。

可选地,该装置还包括:初始速度纠正模块,用于在确定当前图像帧对应的目标平移向量之后,根据当前图像帧的初始速度、初始平移向量和目标平移向量,对初始速度的方向进行纠正,确定当前图像帧对应的目标速度。

可选地,该装置还包括:第一初始预积分纠正模块,用于在确定当前图像帧对应的目标平移向量之后,根据当前图像帧对应的当前目标平移向量以及上一图像帧对应的上一目标平移向量和上一初始速度,对当前图像帧对应的初始预积分值进行纠正,确定当前图像帧对应的目标预积分值。

可选地,该装置还包括:第二初始预积分纠正模块,用于在确定当前图像帧对应的目标速度之后,还包括:根据当前图像帧对应的当前目标平移向量、当前目标速度以及上一图像帧对应的上一目标平移向量和上一目标速度,对当前图像帧对应的初始预积分值进行纠正,确定当前图像帧对应的目标预积分值。

可选地,初始平移向量纠正模块420,具体用于:根据当前图像帧中的各目标特征点的像素坐标、每个目标特征点在当前图像帧之前的目标图像帧中的三维坐标、当前图像帧与目标图像帧之间的转换矩阵,计算当前图像帧对应的视觉误差,其中,转换矩阵根据初始平移向量和当前图像帧对应的初始旋转矩阵确定;根据当前图像帧对应的初始平移向量、当前图像帧与上一图像帧之间的时间间隔、上一图像帧对应的上一目标平移向量和上一目标速度、以及当前图像帧对应的初始预积分值,计算当前图像帧对应的imu误差;将视觉误差与imu误差进行相加,确定初始平移向量对应的总估计误差;通过调整初始平移向量的大小,对总估计误差进行最小化,并将最小的总估计误差对应的初始平移向量确定为当前图像帧对应的目标平移向量。

可选地,该装置还包括:目标图像帧确定模块,用于在计算当前图像帧对应的视觉误差之前,对于每个目标特征点,将滑窗内首次出现目标特征点的关键图像帧确定为该目标特征点对应的目标图像帧,其中,滑窗包含多个关键图像帧和当前图像帧。

可选地,基于如下公式,计算当前图像帧对应的视觉误差:

其中,rproj为当前图像帧j对应的视觉误差;为当前图像帧j中的第i个目标特征点的像素坐标;pi为第i个目标特征点在当前图像帧j之前的目标图像帧k中的归一化三维坐标;λi为第i个目标特征点对应的深度值;为目标图像帧k到当前图像帧j的转换矩阵;π表示将三维坐标投影至当前图像帧的二维平面上;ρ为胡贝尔损失函数;c为当前图像帧j中的各目标特征点的集合;f为各目标图像帧的集合。

可选地,基于如下公式,计算当前图像帧对应的imu误差:

其中,rimu为当前图像帧j对应的imu误差,为世界坐标系到上一图像帧j-1对应的相机坐标系的第一旋转矩阵;为当前图像帧j对应的初始平移向量,即当前图像帧j对应的相机坐标系到世界坐标系的位移;为上一图像帧j-1对应的上一目标平移向量;δt为当前图像帧j与上一图像帧j-1之间的时间间隔;为上一图像帧在世界坐标系下的上一目标速度;gw为在世界坐标系下的重力加速度;为上一图像帧j-1到当前图像帧之间的初始预积分值。

可选地,初始速度纠正模块,具体用于:计算当前图像帧的对应的初始速度与初始平移向量之间的旋转向量和夹角;根据旋转向量和夹角,计算初始速度和初始平移向量之间的第二旋转矩阵;根据第二旋转矩阵和当前图像帧对应的目标平移向量,确定目标方向;根据初始速度的大小和目标方向,确定当前图像帧对应的目标速度。

可选地,初始预积分值包括第一初始预积分值和第二初始预积分值;其中,第一初始预积分值是当前图像帧与上一图像帧之间的初始的相对位移变化量;第二初始预积分值是当前图像帧与上一图像帧之间的初始的相对速度变化量;

相应地,第二初始预积分纠正模块,具体用于:根据当前图像帧对应的当前目标平移向量、上一图像帧对应的上一目标平移向量和上一目标速度以及当前图像帧与上一图像帧之间的时间间隔,对当前图像帧对应的第一初始预积分值进行纠正,确定当前图像帧对应的第一目标预积分值;根据当前图像帧对应的当前目标速度和上一目标速度以及当前图像帧与上一图像帧之间的时间间隔,对当前图像帧对应的第二初始预积分值进行纠正,确定当前图像帧对应的第二目标预积分值。

可选地,基于如下公式,确定当前图像帧对应的第一目标预积分值:

其中,为当前图像帧j对应的第一目标预积分值;为世界坐标系到上一图像帧j-1对应的相机坐标系的第一旋转矩阵;为当前图像帧j对应的当前目标平移向量;为当前图像帧j的上一图像帧j-1对应的上一目标平移向量;为上一图像帧j-1对应的上一目标速度;δt为当前图像帧j与上一图像帧j-1之间的时间间隔;gw为在世界坐标系下的重力加速度。

可选地,基于如下公式,确定当前图像帧对应的第二目标预积分值:

其中,为当前图像帧j对应的第二目标预积分值;为世界坐标系到上一图像帧j-1对应的相机坐标系的第一旋转矩阵;为当前图像帧j对应的当前目标速度;为上一图像帧j-1对应的上一目标速度;δt为当前图像帧j与上一图像帧j-1之间的时间间隔;gw为在世界坐标系下的重力加速度。

可选地,该装置还包括:相机位姿优化模块,用于在确定当前图像帧对应的目标预积分值之后,将目标预积分值作为约束信息,对目标平移向量和初始位姿中的初始旋转矩阵进行优化,确定优化后的相机位姿。

本发明实施例所提供的相机位姿的纠正装置可执行本发明任意实施例所提供的相机位姿的纠正方法,具备执行相机位姿的纠正方法相应的功能模块和有益效果。

实施例五

图7是本发明实施例五提供的一种相机位姿的纠正系统的结构示意图。参见图7,该系统包括:预处理模块510、初始化模块520和位姿纠正模块530。

其中,预处理模块510用于对相机拍摄的图像信息进行检测处理,确定图像帧处理信息,以及对imu惯性测量单元采集的信息进行预积分,确定每个图像帧对应的初始预积分值和初始位姿,其中初始位姿包含初始平移向量;初始化模块520用于根据图像帧处理信息、初始预积分值和初始位姿进行系统初始化;位姿纠正模块530用于实现如本发明任意实施例所提供的相机位姿的纠正方法。

其中,预处理模块510可以包括图像帧处理单元和imu预积分单元,其中,图像帧处理单元用于相机拍摄的图像信息进行检测处理,确定图像帧处理信息。imu预积分单元用于对imu惯性测量单元采集的信息进行预积分,确定每个图像帧对应的初始预积分值和初始位姿。

本实施例提供的相机位姿的纠正系统的工作过程为:首先,预处理模块510分别对相机拍摄的图像信息进行检测处理确定图像帧处理信息,以及对imu惯性测量单元采集的信息进行预积分确定每个图像帧对应的初始预积分值和初始位姿,并将图像帧处理信息、初始预积分值和初始位姿输出至初始化模块520。初始化模块520根据预处理模块510的输出结果进行系统初始化,将没有尺度的图像帧处理信息和带有尺度的imu信息进行视觉惯导对齐,从而完成对陀螺仪偏置、重力加速度、尺度、初次速度的初始化。位姿纠正模块530在初始化成功后,对初始平移向量、初始速度和初始预积分值中的至少一个参数进行纠正,以降低imu噪声的影响,并利用纠正后的参数对位姿进行优化,获得优化后的更加准确的相机位姿。

需要注意的是,初始化模块520在基于当前图像帧的信息对系统进行初始化成功后,在估计下一图像帧的相机位姿时无需再进行初始化,除非目标跟踪失败,需要重新进行定位,此时再重新进行初始化。

本实施例中的相机位姿的纠正系统在对初始平移向量、初始速度和初始预积分值进行纠正时,仅仅需要2-3ms的系统运行时间成本,便可以大大提高系统相机位姿估计的精确度。

示例性地,对于slam系统而言,位姿纠正模块530可以包括位姿纠正单元、速度纠正单元、预积分值纠正单元、滑窗优化单元和全局位姿优化单元。其中,位姿纠正单元用于根据相机的图像帧处理信息对基于imu信息确定的初始平移向量进行纠正;速度纠正单元用于根据纠正后的初始平移向量对基于imu信息确定的初始速度进行纠正;预积分值纠正单元用于根据纠正后的初始平移向量和纠正后的初始速度对初始预积分值进行纠正;滑窗优化单元用于根据纠正后的初始平移向量、纠正后的初始速度和纠正后的初始预积分值对相机位姿进行优化、三角测量、边缘化,获得更为准确的位姿和其他状态量。全局位姿优化单元用于优化四个自由度的位姿,获得一个全局一致的位姿估计。其中,全局位姿优化单元还可以包括回环检测子单元,用于检测相机是否到达先前的位置,并把检测到的信息提供给全局位姿优化单元进行相机位姿的优化处理。

当slam系统初始化时,若不存在局部地图,则初始化模块520可以获得一些初始的3d点,用于优化估计的位姿,并根据优化的位姿,对新检测到的2d点3d化(三角测量估计深度,利用这个深度构建3d点),并更新到局部地图中。例如,在未改进的slam系统(位姿纠正模块530中仅包括滑窗优化单元和全局位姿优化单元)中,若系统在初始化时没有局部地图,预处理模块510获得初始位姿,初始化模块520获得一些初始的3d点,用于在滑窗优化单元中优化初始位姿,并更新局部地图的3d点。然而在加入纠正单元的改进的slam系统中,系统初始化时,预处理模块510得到初始位姿,初始化模块520获得一些初始的3d点,这些初始的3d点,一方面用于在纠正单元中纠正预积分值/初始位姿,另一方面用于在滑窗优化单元中进一步优化位姿,并更新局部地图的3d点。

示例性地,对于vio系统而言,位姿纠正模块530可以包括位姿纠正单元、速度纠正单元、预积分值纠正单元、位姿优化单元。其中,位姿纠正单元用于根据相机的图像帧处理信息对基于imu信息确定的初始平移向量进行纠正;速度纠正单元用于根据纠正后的初始平移向量对基于imu信息确定的初始速度进行纠正;预积分值纠正单元用于根据纠正后的初始平移向量和纠正后的初始速度对初始预积分值进行纠正;位姿优化单元用于根据纠正后的初始平移向量、纠正后的初始速度和纠正后的初始预积分值对相机位姿进行优化,获得更为准确的位姿和其他状态量。其中,位姿优化单元可以为但不限于滑窗优化单元或滤波优化单元。位姿优化单元一方面可以根据纠正结果进行位姿优化并输出位姿,另一方面可以根据优化后的相机位姿,对新检测到的2d点3d化,并更新到局部地图中。

本实施例提供的相机位姿的纠正系统,通过基于视觉信息对图像帧对应的初始平移向量、初始速度和初始预积分值中的至少一个参数进行纠正,从而可以降低imu噪声的影响,并利用纠正后的参数对位姿进行优化,获得优化后的更加准确的相机位姿。

实施例六

图8是本发明实施例六提供的一种设备的结构示意图。参见图8,该设备包括:

一个或多个处理器810;

存储器820,用于存储一个或多个程序;

当一个或多个程序被一个或多个处理器810执行,使得一个或多个处理器810实现如上述实施例中任意实施例所提供的相机位姿的纠正方法,该方法包括:

获取相机在当前图像帧对应的初始预积分值和初始位姿中的初始平移向量,其中初始预积分值和初始平移向量根据imu惯性测量单元采集的信息进行预积分确定;

根据相机的图像帧处理信息、初始预积分值和初始平移向量,计算初始平移向量对应的总估计误差,并基于总估计误差对初始平移向量进行纠正,确定当前图像帧对应的目标平移向量。

图8中以一个处理器810为例;服务器中的处理器810和存储器820可以通过总线或其他方式连接,图8中以通过总线连接为例。

存储器820作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的相机位姿的纠正方法对应的程序指令/模块(例如,相机位姿的纠正装置中的初始信息获取模块410和初始平移向量纠正模块420)。处理器810通过运行存储在存储器820中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的相机位姿的纠正方法。

存储器820主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器820可进一步包括相对于处理器810远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

本实施例提出的服务器与上述实施例提出的相机位姿的纠正方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例具备执行相机位姿的纠正方法相同的有益效果。

实施例七

本实施例七提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例的相机位姿的纠正方法,该方法包括:

获取相机在当前图像帧对应的初始预积分值和初始位姿中的初始平移向量,其中初始预积分值和初始平移向量根据imu惯性测量单元采集的信息进行预积分确定;

根据相机的图像帧处理信息、初始预积分值和初始平移向量,计算初始平移向量对应的总估计误差,并基于总估计误差对初始平移向量进行纠正,确定当前图像帧对应的目标平移向量。

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

本领域普通技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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