首页> 中国专利> 相机位姿的估计方法、装置、可读存储介质及电子设备

相机位姿的估计方法、装置、可读存储介质及电子设备

摘要

本公开实施例公开了一种相机位姿的估计方法、装置、计算机可读存储介质及电子设备,其中,该方法包括:获取目标相机拍摄的相邻的第一图像帧和第二图像帧;确定第一图像帧和第二图像帧各自对应的第一深度图和第二深度图;确定目标相机在拍摄第二图像帧时相对在拍摄第一图像帧时的相对位姿信息;基于第一图像帧、第二图像帧、第一深度图、第二深度图、相对位姿信息和目标相机的内参,确定第二图像帧对应的光度误差;基于光度误差,更新目标相机的相对位姿信息。本公开实施例实现了使更新相对位姿信息所使用的初始值带有真实尺度,因此,更新后的相对位姿信息更加准确,在优化过程中,无需对神经网络进行优化,提高了位姿估计的计算速度。

著录项

  • 公开/公告号CN112907620A

    专利类型发明专利

  • 公开/公告日2021-06-04

    原文格式PDF

  • 申请/专利号CN202110100014.0

  • 发明设计人 张家馨;隋伟;张骞;

    申请日2021-01-25

  • 分类号G06T7/207(20170101);G06T7/70(20170101);G06T7/80(20170101);

  • 代理机构11657 北京思源智汇知识产权代理有限公司;

  • 代理人毛丽琴

  • 地址 100094 北京市海淀区丰豪东路9号院2号楼3层1单元302

  • 入库时间 2023-06-19 11:14:36

说明书

技术领域

本公开涉及计算机技术领域,尤其是一种相机位姿的估计方法、装置、计算机可读存储介质及电子设备。

背景技术

单目视觉里程计是给定单个相机上时间连续的图像序列,估计出相机自身的帧间运动姿态(通常要求实时计算)。其中运动姿态有6个自由度,包括平移和旋转个3个自由度。现有的单目视觉里程计方案主要分为传统算法,深度学习算法,和混合方法三种。

传统方法,包括经典的SLAM(Simultaneous Localization and Mapping,同步定位与建图)框架、ORB-SLAM和DSO(Direct Sparse Odometry)等。传统方法一般在滑动窗口内进行姿态图优化(pose graph optimization)或光束平差(bundle adjustment)。

深度学习方法,通过有监督或自监督的方法训练深度网络,网络的输入是时序上关联的两张图片,网络的输出即这相机在这两个时刻之间的帧间姿态。

混合方法一般用深度学习方法所输出的帧间姿态作为传统方法的初始值,再用传统方法计算帧间姿态。

发明内容

本公开的实施例提供了一种相机位姿的估计方法、装置、计算机可读存储介质及电子设备。

本公开的实施例提供了一种相机位姿的估计方法,该方法包括:获取目标相机拍摄的相邻的第一图像帧和第二图像帧;确定第一图像帧和第二图像帧各自对应的第一深度图和第二深度图;确定目标相机在拍摄第二图像帧时相对在拍摄第一图像帧时的相对位姿信息;基于第一图像帧、第二图像帧、第一深度图、第二深度图、相对位姿信息和目标相机的内参,确定第二图像帧对应的光度误差;基于光度误差,更新目标相机的相对位姿信息。

根据本公开实施例的另一个方面,提供了一种相机位姿的估计装置,该装置包括:获取模块,用于获取目标相机拍摄的相邻的第一图像帧和第二图像帧;第一确定模块,用于确定第一图像帧和第二图像帧各自对应的第一深度图和第二深度图;第二确定模块,用于确定目标相机在拍摄第二图像帧时相对在拍摄第一图像帧时的相对位姿信息;第三确定模块,用于基于第一图像帧、第二图像帧、第一深度图、第二深度图、相对位姿信息和目标相机的内参,确定第二图像帧对应的光度误差;第一更新模块,用于基于光度误差,更新目标相机的相对位姿信息。

根据本公开实施例的另一个方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序用于执行上述相机位姿的估计方法。

根据本公开实施例的另一个方面,提供了一种电子设备,电子设备包括:处理器;用于存储处理器可执行指令的存储器;处理器,用于从存储器中读取可执行指令,并执行指令以实现上述相机位姿的估计方法。

基于本公开上述实施例提供的相机位姿的估计方法、装置、计算机可读存储介质及电子设备,通过确定目标相机拍摄的相邻的第一图像帧和第二图像帧各自对应的第一深度图和第二深度图,以及确定目标相机在拍摄第二图像帧时相对在拍摄第一图像帧时的相对位姿信息,然后基于第一图像帧、第二图像帧、第一深度图、第二深度图、相对位姿信息和目标相机的内参,确定第二图像帧对应的光度误差,最后基于光度误差,更新目标相机的相对位姿信息。从而实现了将第一深度图、第二深度图和相对位姿信息作为初始值对相对位姿信息进行优化,由于初始值带有真实尺度,因此,更新后的相对位姿信息更加准确,在优化过程中,无需对神经网络进行优化,提高了位姿估计的计算速度。

下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。

附图说明

通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1是本公开所适用的系统图。

图2是本公开一示例性实施例提供的相机位姿的估计方法的流程示意图。

图3是本公开另一示例性实施例提供的相机位姿的估计方法的流程示意图。

图4是本公开又一示例性实施例提供的相机位姿的估计方法的流程示意图。

图5是本公开一示例性实施例提供的相机位姿的估计装置的结构示意图。

图6是本公开另一示例性实施例提供的相机位姿的估计装置的结构示意图。

图7是本公开一示例性实施例提供的电子设备的结构图。

具体实施方式

下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。

应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。

本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。

还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。

还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。

另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。

还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

现有的单目视觉里程计方案存在如下缺陷:

传统方法,由于传统方法没有先验信息,对于单目视觉里程计,往往存在尺度漂移的问题,且不能恢复出绝对的尺度。

深度学习方法,虽然可以通过训练中引入尺度信息监督来恢复尺度,但是深度学习方法预测的精度有待提高。

混合方法是目前单目视觉里程计中性能表现最好的方法,但是由于其需要深度学习算法作为初始值,再用传统算法优化深度神经网络,算法流程较为繁琐,计算量较大。

图1示出了可以应用本公开的实施例的相机位姿的估计方法或相机位姿的估计装置的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101,网络102、服务器103和车辆104。其中,终端设备101可以设置在车辆104上。网络102用于在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101通过网络102与服务器103交互,以接收或发送消息等。终端设备101上可以安装有各种通讯客户端应用,例如地图类应用、导航类应用等。

终端设备101可以是各种电子设备,包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等。终端设备101通常设置在车辆104上。

车辆104上可以设置有相机1041,相机1041可以拍摄车辆周边的环境图像。

服务器103可以是提供各种服务的服务器,例如对终端设备101上传的图像进行识别的后台图像服务器。后台图像服务器可以对接收到的图像进行处理,得到处理结果(例如相机1041在不同时刻的相对位姿信息等)。

需要说明的是,本公开的实施例所提供的相机位姿的估计方法可以由服务器103执行,也可以由终端设备101执行,相应地,相机位姿的估计装置可以设置于服务器103中,也可以设置于终端设备101中。

应该理解,图1中的终端设备、网络、服务器以及车辆的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络、服务器和车辆。例如,当相机位姿的估计方法由终端设备执行时,或相机位姿的估计装置设置在终端设备上时,上述系统架构可以只包括车辆和终端设备。再例如,相机可以由人手持进行移动,或者设置在其他类型的移动设备上,此时上述系统架构可以不包括车辆。

图2是本公开一示例性实施例提供的相机位姿的估计方法的流程示意图。本实施例可应用在电子设备(如图1所示的终端设备101或服务器103)上,如图2所示,该方法包括如下步骤:

步骤201,获取目标相机拍摄的相邻的第一图像帧和第二图像帧。

在本实施例中,电子设备可以获取目标相机拍摄的相邻的第一图像帧和第二图像帧。其中,目标相机是用来进行位姿估计的相机,第一图像帧和第二图像帧可以是目标相机处于移动状态拍摄的图像,第一图像帧的拍摄时间早于第二图像帧的拍摄时间。例如图1所示的相机1041为目标图像,在车辆104移动的过程中,相机1041持续拍摄图像。

步骤202,确定第一图像帧和第二图像帧各自对应的第一深度图和第二深度图。

在本实施例中,电子设备可以确定第一图像帧和第二图像帧各自对应的第一深度图和第二深度图。作为示例,可以利用现有的运动恢复结构(Structure from Motion)技术确定第一深度图和第二深度图。运动恢复结构是一种能够从多张图像序列中自动地恢复出相机的参数以及场景三维结构的技术。

步骤203,确定目标相机在拍摄第二图像帧时相对在拍摄第一图像帧时的相对位姿信息。

在本实施例中,电子设备可以确定目标相机在拍摄第二图像帧时相对在拍摄第一图像帧时的相对位姿信息。作为示例,可以利用现有的确定帧间姿态的方法(例如SLAM算法)确定上述相对位姿信息。

步骤204,基于第一图像帧、第二图像帧、第一深度图、第二深度图、相对位姿信息和目标相机的内参,确定第二图像帧对应的光度误差。

在本实施例中,电子设备可以基于第一图像帧、第二图像帧、第一深度图、第二深度图、相对位姿信息和目标相机的内参,确定第二图像帧对应的光度误差。通常,目标相机是实时拍摄图像的,计算光度误差也是实时的,因此,第二图像帧对应的光度误差即为当前时刻的光度误差,光度误差表示。上述目标相机的内参可以预先对目标相机进行内参标定得到。

作为示例,可以利用现有的重投影算法,将第一图像帧通过第二深度图、相对位姿信息和目标相机的内参重投影到第二图像帧的像面,得到估计的第二图像帧;再将第二图像帧通过第一深度图、相对位姿信息和目标相机的内参重投影到第一图像帧的像面,得到估计的第一图像帧。将两个估计的第一图像帧和第二图像帧分别与实际的第一图像帧和第二图像帧进行光度误差的计算,得到第二图像帧对应的光度误差。光度误差表示预测的图像与实际图像的差距,可以作为优化相对位姿信息的损失函数。

步骤205,基于光度误差,更新目标相机的相对位姿信息。

在本实施例中,电子设备可以基于光度误差,更新目标相机的相对位姿信息。具体地,可以利用梯度下降法调整相对位姿信息,使光度误差最小化。作为示例,可以利用Adam优化器更新相对位姿信息。Adam优化器对梯度的一阶矩估计和二阶矩估计进行综合考虑,计算出更新步长。其具有实现简单,计算高效,对内存需求少,参数的更新不受梯度的伸缩变换影响等优点。

更新后的相对位姿信息可以准确地表征目标相机在拍摄第一图像帧的时刻和拍摄第二图像帧的时刻的相对姿态。相对位姿信息可以进一步被利用于确定目标相机的绝对姿态,进而实现高精度的单目视觉里程计。

本公开的上述实施例提供的方法,通过确定目标相机拍摄的相邻的第一图像帧和第二图像帧各自对应的第一深度图和第二深度图,以及确定目标相机在拍摄第二图像帧时相对在拍摄第一图像帧时的相对位姿信息,然后基于第一图像帧、第二图像帧、第一深度图、第二深度图、相对位姿信息和目标相机的内参,确定第二图像帧对应的光度误差,最后基于光度误差,更新目标相机的相对位姿信息。从而实现了将第一深度图、第二深度图和相对位姿信息作为初始值对相对位姿信息进行优化,由于初始值带有真实尺度,因此,更新后的相对位姿信息更加准确,在优化过程中,无需对神经网络进行优化,提高了位姿估计的计算速度。

在一些可选的实现方式中,在上述步骤205之后,还可以继续执行如下步骤:

确定当前更新目标相机的相对位姿信息的操作是否符合预设的迭代更新条件。其中,迭代更新条件包括但不限于以下至少一项:迭代次数小于或等于预设次数(例如20次),两次迭代之间的光度误差的差值大于或等于预设差值。

如果符合迭代更新条件,重新确定第二图像帧对应的光度误差,并基于光度误差,更新目标相机的相对位姿信息。即重新执行上述步骤204-步骤205。

如果不符合迭代更新条件,将最近一次更新的相对位姿信息确定为目标相机在拍摄第二图像帧时相对在拍摄第一图像帧时的最终相对位姿信息。

通过迭代更新相对位姿信息,可以使光度误差减小,从而得到高准确性的相对位姿信息。

在一些可选的实现方式中,在步骤205之后,电子设备还可以执行如下步骤:

首先,获取目标相机在拍摄第一图像帧时对应的绝对位姿信息。

其中,第一图像帧对应的绝对位姿信息是上一次计算的绝对位姿信息。绝对位姿信息用于表征目标相机在预设坐标系(例如世界坐标系或以预设地图建立的坐标系)下的位置坐标和拍摄角度。

然后,基于更新后的相对位姿信息和目标相机在拍摄第一图像帧时对应的绝对位姿信息,确定目标相机在拍摄第二图像帧时对应的绝对位姿信息。

具体地,可以按照如下公式确定

其中,i表示第i帧图像,这里即第二图像帧。T

还需要说明的是,当i表示第一帧图像时,i-1帧的绝对位姿信息可以经过初始化得到(例如设为单位矩阵I),

本实现方式由于利用了高精度的更新后的相对位姿信息,因此,可以得到目标相机在第二图像帧的拍摄时刻的高精度的绝对位姿信息,进而可以将该方案利用在单目视觉里程计中,实现实时且精确地确定目标相机的位置和姿态。

进一步参考图3,示出了相机位姿的估计方法的又一个实施例的流程示意图。如图3所示,在上述图2所示实施例的基础上,步骤204可以包括如下步骤:

步骤2041,基于相对位姿信息,确定表示目标相机由第一图像帧的对应时刻至第二图像帧的对应时刻的第一相对位姿矩阵,和表示目标相机由第二图像帧的对应时刻至第一图像帧的对应时刻第二相对位姿矩阵。

通常,上述相对位姿信息可以包括目标相机由第i-1帧的对应时刻至第i帧的对应时刻的相机位移量

步骤2042,基于第二深度图、第二相对位姿矩阵、第一图像帧和内参,生成与第二图像帧对应的第二估计图像帧。

具体地,第二估计图像帧可以基于如下公式得到:

其中,I′

步骤2043,确定第二估计图像帧和第二图像帧之间的第一光度误差。

具体地,第一光度误差可以基于如下公式得到:

其中,

E

E

其中,P

步骤2044,基于第一深度图、第一相对位姿矩阵、第二图像帧和内参,生成与第一图像帧对应的第一估计图像帧。

与上述式(2)相对应,第一估计图像帧可以基于如下公式得到:

其中,I′

步骤2045,确定第一估计图像帧和第一图像帧之间的第二光度误差。

与上述式(3)相对应,第二光度误差可以基于如下公式得到:

其中,

步骤2046,基于第一光度误差与第二光度误差,确定第二图像帧对应的光度误差。

具体地,作为示例,可以将第一光度误差

上述图3对应实施例提供的方法,通过将第二图像帧进行正向重投影和将第一图像帧进行逆向重投影,确定正向的第一光度误差和逆向的第二光度误差,从而使计算得到的光度误差可以更准确地反映预测的图像和实际的图像之间的差距,进而有助于将光度误差作为优化相对位姿信息的损失函数,提高对相对位姿信息进行更新的准确性。

在一些可选的实现方式中,步骤202可以如下执行:

将第一图像帧和第二图像帧分别输入预先训练的深度图生成网络,得到第一深度图和第二深度图。

其中,深度图生成网络用于根据输入的图像帧和生成相应的深度图,深度图生成网络可以是基于现有的神经网络结构(例如U-Net网络),利用机器学习方法训练得到的,这里可以称为Depth-CNN。

步骤203可以如下执行:

将第一图像帧和第二图像帧同时输入预先训练的位姿估计网络,得到相对位姿信息。

其中,位姿估计网络用于根据输入的两个图像,确定两个图像对应的相对位姿信息。位姿估计网络可以是基于现有的神经网络(例如Pose-CNN),利用机器学习方法训练得到的。

本实现方式通过利用深度学习的方法确定深度图和相对位姿信息作为优化相对位姿信息的初始数据,从而综合了深度学习的数据拟合能力,相比于依赖多视几何的传统的单目视觉里程计,当目标相机在旋转较多的特殊场景下,可以提高确定相对位姿信息的准确性,有助于提升单目视觉里程计的精度。

在一些可选的实现方式中,如图4所示,深度图生成网络和位姿估计网络预先基于如下步骤训练得到:

步骤401,获取由双目相机拍摄的第一样本图像帧和第二样本图像帧。

步骤402,将第一样本图像帧或第二样本图像帧输入初始深度图生成网络,得到第一样本深度图或第二样本深度图。

其中,初始深度图生成网络可以包括现有的Depth-CNN。

步骤403,将第一样本图像帧和第二样本图像帧输入初始位姿估计网络,得到拍摄第二样本图像帧的镜头相对拍摄第一样本图像帧的镜头的样本相对位姿信息。

其中,初始位姿估计网络可以包括现有的Pose-CNN。上述拍摄第二样本图像帧的镜头和拍摄第一样本图像帧的镜头即为双目相机包括的镜头。

步骤404,基于第一样本图像帧、第二样本图像帧、第一样本深度图或第二样本深度图、样本相对位姿信息和拍摄第一样本图像帧和第二样本图像帧的相机的内参,确定第二样本图像帧对应的光度误差。

具体地,这里设第一样本图像帧为I

步骤405,将第二样本图像帧对应的光度误差作为损失函数,迭代训练初始深度图生成网络和初始位姿估计网络,得到深度图生成网络和位姿估计网络。

具体地,可以利用梯度下降法,调整初始深度图生成网络和初始位姿估计网络的参数,使光度误差逐渐减小至收敛,最终得到深度图生成网络和位姿估计网络。需要说明的是,上述第一样本图像帧和第二样本图像帧只是一次训练所使用的样本图像,实际训练时,需要多对样本图像帧对初始深度图生成网络和初始位姿估计网络进行训练。

还需要说明的是,上述步骤401-步骤405可以由执行步骤201-步骤205的电子设备执行,也可以由其他电子设备执行。

本实现方式在训练深度图生成网络和位姿估计网络时,采用了神经网络自监督训练的方法,无需标注数据,且训练时采用的样本图像为双目相机拍摄的图像,带有真实尺度,因此,在实际使用神经网络进行位姿估计时,使用单目相机拍摄的连续图像帧估计出的相机姿态也带有真实尺度,从而提高了确定相对位姿信息的效率和准确性。

图5是本公开一示例性实施例提供的相机位姿的估计装置的结构示意图。本实施例可应用在电子设备上,如图5所示,相机位姿的估计装置包括:获取模块501,用于获取目标相机拍摄的相邻的第一图像帧和第二图像帧;第一确定模块502,用于确定第一图像帧和第二图像帧各自对应的第一深度图和第二深度图;第二确定模块503,用于确定目标相机在拍摄第二图像帧时相对在拍摄第一图像帧时的相对位姿信息;第三确定模块504,用于基于第一图像帧、第二图像帧、第一深度图、第二深度图、相对位姿信息和目标相机的内参,确定第二图像帧对应的光度误差;第一更新模块505,用于基于光度误差,更新目标相机的相对位姿信息。

在本实施例中,获取模块501可以获取目标相机拍摄的相邻的第一图像帧和第二图像帧。其中,目标相机是用来进行位姿估计的相机,第一图像帧和第二图像帧可以是目标相机处于移动状态拍摄的图像,第一图像帧的拍摄时间早于第二图像帧的拍摄时间。例如图1所示的相机1041为目标图像,在车辆104移动的过程中,相机1041持续拍摄图像。

在本实施例中,第一确定模块502可以确定第一图像帧和第二图像帧各自对应的第一深度图和第二深度图。作为示例,可以利用现有的运动恢复结构技术确定第一深度图和第二深度图。运动恢复结构是一种能够从多张图像序列中自动地恢复出相机的参数以及场景三维结构的技术。

在本实施例中,第二确定模块503可以确定目标相机在拍摄第二图像帧时相对在拍摄第一图像帧时的相对位姿信息。作为示例,可以利用现有的确定帧间姿态的方法(例如SLAM算法)确定上述相对位姿信息。

在本实施例中,第三确定模块504可以基于第一图像帧、第二图像帧、第一深度图、第二深度图、相对位姿信息和目标相机的内参,确定第二图像帧对应的光度误差。通常,目标相机是实时拍摄图像的,计算光度误差也是实时的,因此,第二图像帧对应的光度误差即为当前时刻的光度误差,光度误差表示。上述目标相机的内参可以预先对目标相机进行内参标定得到。

在本实施例中,第一更新模块505可以基于光度误差,更新目标相机的相对位姿信息。具体地,可以利用梯度下降法调整相对位姿信息,使光度误差最小化。作为示例,可以利用Adam优化器更新相对位姿信息。Adam优化器对梯度的一阶矩估计和二阶矩估计进行综合考虑,计算出更新步长。其具有实现简单,计算高效,对内存需求少,参数的更新不受梯度的伸缩变换影响等优点。

更新后的相对位姿信息可以准确地表征目标相机在拍摄第一图像帧的时刻和拍摄第二图像帧的时刻的相对姿态。相对位姿信息可以进一步被利用于确定目标相机的绝对姿态,进而实现高精度的单目视觉里程计。

参照图6,图6是本公开另一示例性实施例提供的相机位姿的估计装置的结构示意图。

在一些可选的实现方式中,该装置还包括:第四确定模块506,用于确定当前更新目标相机的相对位姿信息的操作是否符合预设的迭代更新条件,其中,迭代更新条件包括以下至少一项:迭代次数小于或等于预设次数,两次迭代之间的光度误差的差值大于或等于预设差值;第二更新模块507,用于如果符合迭代更新条件,重新确定第二图像帧对应的光度误差,并基于光度误差,更新目标相机的相对位姿信息;第五确定模块508,用于如果不符合迭代更新条件,将最近一次更新的相对位姿信息确定为目标相机在拍摄第二图像帧时相对在拍摄第一图像帧时的最终相对位姿信息。

在一些可选的实现方式中,装置还包括:第六确定模块509,用于获取目标相机在拍摄第一图像帧时对应的绝对位姿信息;第七确定模块510,用于基于更新后的相对位姿信息和目标相机在拍摄第一图像帧时对应的绝对位姿信息,确定目标相机在拍摄第二图像帧时对应的绝对位姿信息。

在一些可选的实现方式中,第三确定模块504包括:第一确定单元5041,用于基于相对位姿信息,确定表示目标相机由第一图像帧的对应时刻至第二图像帧的对应时刻的第一相对位姿矩阵,和表示目标相机由第二图像帧的对应时刻至第一图像帧的对应时刻第二相对位姿矩阵;第一生成单元5042,用于基于第二深度图、第二相对位姿矩阵、第一图像帧和内参,生成与第二图像帧对应的第二估计图像帧;第二确定单元5043,用于确定第二估计图像帧和第二图像帧之间的第一光度误差;第二生成单元5044,用于基于第一深度图、第一相对位姿矩阵、第二图像帧和内参,生成与第一图像帧对应的第一估计图像帧;第三确定单元5045,用于确定第一估计图像帧和第一图像帧之间的第二光度误差;第四确定单元5046,用于基于第一光度误差与第二光度误差,确定第二图像帧对应的光度误差。

在一些可选的实现方式中,第一确定模块502包括:第三生成单元5021,用于将第一图像帧和第二图像帧分别输入预先训练的深度图生成网络,得到第一深度图和第二深度图;第二确定模块503包括:位姿估计单元5031,用于将第一图像帧和第二图像帧同时输入预先训练的位姿估计网络,得到相对位姿信息。

在一些可选的实现方式中,深度图生成网络和位姿估计网络预先基于如下步骤训练得到:获取由双目相机拍摄的第一样本图像帧和第二样本图像帧;将第一样本图像帧输入初始深度图生成网络,得到样本深度图;将第一样本图像帧和第二样本图像帧输入初始位姿估计网络,得到拍摄第二样本图像帧的镜头相对拍摄第一样本图像帧的镜头的样本相对位姿信息;基于第一样本图像帧、第二样本图像帧、样本深度图、样本相对位姿信息和拍摄第一样本图像帧和第二样本图像帧的相机的内参,确定第二样本图像帧对应的光度误差;将第二样本图像帧对应的光度误差作为损失函数,迭代训练初始深度图生成网络和初始位姿估计网络,得到深度图生成网络和位姿估计网络。

本公开上述实施例提供的相机位姿的估计装置,通过确定目标相机拍摄的相邻的第一图像帧和第二图像帧各自对应的第一深度图和第二深度图,以及确定目标相机在拍摄第二图像帧时相对在拍摄第一图像帧时的相对位姿信息,然后基于第一图像帧、第二图像帧、第一深度图、第二深度图、相对位姿信息和目标相机的内参,确定第二图像帧对应的光度误差,最后基于光度误差,更新目标相机的相对位姿信息。从而实现了将第一深度图、第二深度图和相对位姿信息作为初始值对相对位姿信息进行优化,由于初始值带有真实尺度,因此,更新后的相对位姿信息更加准确,在优化过程中,无需对神经网络进行优化,提高了位姿估计的计算速度。

下面,参考图7来描述根据本公开实施例的电子设备。该电子设备可以是如图1所示的终端设备101和服务器103中的任一个或两者、或与它们独立的单机设备,该单机设备可以与终端设备101和服务器103进行通信,以从它们接收所采集到的输入信号。

图7图示了根据本公开实施例的电子设备的框图。

如图7所示,电子设备700包括一个或多个处理器701和存储器702。

处理器701可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备700中的其他组件以执行期望的功能。

存储器702可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器701可以运行程序指令,以实现上文的本公开的各个实施例的相机位姿的估计方法以及/或者其他期望的功能。在计算机可读存储介质中还可以存储诸如图像帧、相对位姿信息等各种内容。

在一个示例中,电子设备700还可以包括:输入装置703和输出装置704,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。

例如,在该电子设备是终端设备101或服务器103时,该输入装置703可以是相机、鼠标、键盘等设备,用于输入图像帧等内容。在该电子设备是单机设备时,该输入装置703可以是通信网络连接器,用于从终端设备101和服务器103接收所输入的图像帧等内容。

该输出装置704可以向外部输出各种信息,包括确定出的相对位姿信息。该输出设备704可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。

当然,为了简化,图7中仅示出了该电子设备700中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备700还可以包括任何其他适当的组件。

除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的相机位姿的估计方法中的步骤。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的相机位姿的估计方法中的步骤。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。

本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。

还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号