CN115115708B - 一种图像位姿的计算方法及系统 - Google Patents

一种图像位姿的计算方法及系统 Download PDF

Info

Publication number
CN115115708B
CN115115708B CN202211006265.3A CN202211006265A CN115115708B CN 115115708 B CN115115708 B CN 115115708B CN 202211006265 A CN202211006265 A CN 202211006265A CN 115115708 B CN115115708 B CN 115115708B
Authority
CN
China
Prior art keywords
point
image
points
weight
matching
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211006265.3A
Other languages
English (en)
Other versions
CN115115708A (zh
Inventor
彭文星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202211006265.3A priority Critical patent/CN115115708B/zh
Publication of CN115115708A publication Critical patent/CN115115708A/zh
Application granted granted Critical
Publication of CN115115708B publication Critical patent/CN115115708B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本申请提供一种图像位姿的计算方法及系统,涉及图像处理技术领域,可以提高图像位姿计算的准确性。其中,方法用于计算第一图像的图像位姿,第一图像中的多个2D点与空间中的多个第一3D点一一对应形成多组匹配点对。步骤1,基于多个第一3D点对应的多个权重从多组匹配点对中随机选择N组目标匹配点对,N为正整数,每个第一3D点具有对应的权重,多个权重不完全相同。步骤2,将N组目标匹配点对作为输入,运行PnP算法计算得到第一位姿。步骤3,若第一位姿满足质量条件,则继续执行步骤1及其后续步骤。若第一位姿不满足质量条件,输出第一位姿。

Description

一种图像位姿的计算方法及系统
技术领域
本申请涉及图像处理技术领域,尤其涉及一种图像位姿的计算方法及系统。
背景技术
图像位姿是指相机的在拍摄图像时的位置和姿态。图像位姿可用于增强现实技术(Augmented Reality,AR)导航、三维重建等场景。现有技术中,可将需要计算图像位姿的图像(可称为待处理图像)中的二维(2 Dimensions,2D)特征点和空间中的三维(3Dimensions,3D)点的匹配关系作为输入,并使用随机抽样一致性算法(Random SampleConsensus,RANSAC)和PnP (Perspective-n-Point)框架来计算得到待处理图像的图像位姿。
然而,发明人在实施本申请实施例的过程中发现,现有技术中采用RANSAC和PnP框架计算图像位姿的方案至少存在如下问题:2D特征点和3D点的匹配关系中,准确的匹配关系的数量会影响图像位姿计算的准确性。若准确的匹配关系的数量较少,采用RANSAC和PnP框架通常无法快速的计算得到准确的图像位姿。
发明内容
有鉴于此,本申请提供了一种图像位姿的计算方法及系统,可以提高采用RANSAC和PnP框架计算图像位姿的准确性。
第一方面,本申请实施例提供了一种图像位姿的计算方法,方法用于计算第一图像的图像位姿,第一图像中的多个2D点与空间中的多个第一3D点一一对应形成多组匹配点对。该方法包括:步骤1,基于多个第一3D点对应的多个权重从多组匹配点对中随机选择N组目标匹配点对,N为正整数,每个第一3D点具有对应的权重,多个权重不完全相同。步骤2,将N组目标匹配点对作为输入,运行PnP算法计算得到第一位姿。步骤3,按照第一位姿对多个第一3D点投影,计算投影的内点率和/或第一重投影误差;若内点率小于第一预设值和/或第一重投影误差大于第二预设值,则继续执行步骤1及其后续步骤;若内点率大于第一预设值和/或第一重投影误差小于第二预设值,输出第一位姿。
综上,本申请实施例提供的图像位姿的计算方法,每次基于多个第一3D点对应的多个权重来随机选择用于计算图像位姿的目标匹配点对,而不是按照均匀分布随机选择,从而各组匹配点对被选中的概率会存在差异。并且,第一3D点的权重与其可信度呈正相关关系。即,可信度越高,权重越高。从而可以使各个组匹配点对被选中的概率与其包括的第一3D点的可信度正相关。在每轮迭代的过程中,更有可能选中包括可信度高的匹配点对并用于计算图像位姿。如此,则在迭代少次之后,即可计算得到满足质量要求的图像位姿。
在一种可能的设计方式中,在基于多个第一3D点对应的多个权重从多组匹配点对中随机选择N组目标匹配点对之前,上述方法还包括:计算多个第一3D点与第一位置的距离的平均值,以及计算多个第一3D点与第一位置的距离的方差,第一位置为相机在拍摄第一图像时的位置。基于平均值和方差构建正态分布函数。计算正态分布函数中,第二3D点与第一位置的距离对应的第一函数值,以及计算正态分布函数中,第三3D点与第一位置的距离对应的第二函数值,第二3D点和第三3D点为多个第一3D点中两个不同的3D点。基于第一函数值和第二函数值确定第二3D点的权重和第三3D点的权重,第一函数值大于第二函数值,第二3D点的权重大于第三3D点的权重,第一函数值小于第二函数值,第二3D点的权重小于第三3D点的权重。
大量3D点的观测深度(即距离第一位置的距离)都应该是集中在正态分布的均值附近的,而只有少量3D点的观测深度远离正态分布的均值。换言之,3D点的观测深度靠近均值的可能性是较高的,而远离均值的可能性是较低的。基于此,若3D点靠近平均深度(即距离的平均值),则认为该3D点大概率是准确的,可以为其设置较高的质量权重。3D点远离平均深度,则认为该3D点大概率是不准确的,可以为其设置较低的质量权重。
在一种可能的设计方式中,上述基于第一函数值和第二函数值确定第二3D点的权重和第三3D点的权重,包括:确定第二3D点的权重为第一函数值,以及确定第三3D点的权重为第二函数值。
在一种可能的设计方式中,第一图像为图像序列中的第k帧图像,k为大于2的整数,图像序列中包括在预设空间连续拍摄的至少三帧图像,至少三帧图像用于构建预设空间的3D点云。在基于多个第一3D点对应的多个权重从多组匹配点对中随机选择N组目标匹配点对之前,上述方法还包括:处理图像序列中的第一帧图像至第k-1帧图像,构建得到多个第四3D点,并记录各个第四3D点被构建的累计次数,多个第四3D点中包括多个第一3D点,多个第一3D点包括第二3D点和第三3D点。基于第二3D点对应的第一累计次数和第三3D点对应的第二累计次数确定第二3D点的权重和第三3D点的权重,第一累计次数大于第二累计次数,第二3D点的权重大于第三3D点的权重,第一累计次数小于第二累计次数,第二3D点的权重小于第三3D点的权重。
同一3D点被观测到的次数(即被构建的次数)越多,则该3D点的可信度越高。例如,P1被观测到的次数为1次,P2被观测到的次数为3次,则P1极有可能是偶然确定的一个3D点,而P2被多次观测到,大概率不会是偶然点,其可信度比P1的可信度更高。基于3D点被观测到的次数设置权重,则可以为可信度高的3D点设置更高的权重,从而提高在每次迭代过程中选择出可信度高的3D点的可能性。
在一种可能的设计方式中,上述基于第二3D点对应的第一累计次数和第三3D点对应的第二累计次数确定第二3D点的权重和第三3D点的权重,包括:确定第二3D点的权重为第一累计次数,以及确定第三3D点的权重为第二累计次数。
在一种可能的设计方式中,第一图像为图像序列中的第k帧图像,k为大于2的整数,图像序列中包括在预设空间连续拍摄的至少三帧图像,至少三帧图像用于构建预设空间的3D点云。在基于多个第一3D点对应的多个权重从多组匹配点对中随机选择N组目标匹配点对之前,上述方法还包括:处理图像序列中的第一帧图像至第k-1帧图像,构建得到多个第四3D点,并记录各个第四3D点的第二重投影误差,多个第四3D点中包括多个第一3D点,多个第一3D点包括第二3D点和第三3D点。基于第二3D点的第二重投影误差和第三3D点的第二重投影误差确定第二3D点的权重和第三3D点的权重,第二3D点的第二重投影误差大于第三3D点的第二重投影误差,第二3D点的权重小于第三3D点的权重,第二3D点的第二重投影误差小于第三3D点的第二重投影误差,第二3D点的权重大于第三3D点的权重。
3D点的重投影误差越小,则该3D点的准确度越高。基于该重投影误差设置权重,可使设置的权重与3D点的准确度相匹配,从而提高在每次迭代过程中选择出准确度高的3D点的可能性。
在一种可能的设计方式中,上述基于第二3D点的第二重投影误差和第三3D点的第二重投影误差确定第二3D点的权重和第三3D点的权重,包括:确定第二3D点的权重为第二3D点的第二重投影误差的倒数,确定第三3D点的权重为第三3D点的第二重投影误差的倒数。
在一种可能的设计方式中,上述基于多个第一3D点对应的多个权重从多组匹配点 对中随机选择N组目标匹配点对,包括:任一匹配点对被选为目标匹配点对的概率为
Figure 115577DEST_PATH_IMAGE001
,其中,Wi为匹配点对中包括的第一3D点的权重,n为多个第一3D点的数量。
在一种可能的设计方式中,N为大于或等于3的正整数。
第二方面,本申请实施例提供一种通信系统,通信系统包括第一设备和第二设备,第一设备用于拍摄第一图像,第二设备包括存储器和一个或多个处理器,存储器与处理器耦合;其中,存储器中存储有计算机程序代码,计算机程序代码包括计算机指令,当计算机指令被处理器执行时,使得第二设备执行如第一方面及其任一种可能的设计方式所述的方法。
第三方面,本申请提供一种计算机存储介质,该计算机存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得电子设备执行如第一方面及其任一种可能的设计方式所述的方法。
第四方面,本申请提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如第一方面及其任一种可能的设计方式所述的方法。
可以理解地,上述提供的第二方面所述的通信系统,第三方面所述的计算机存储介质,第四方面所述的计算机程序产品所能达到的有益效果,可参考第一方面及其任一种可能的设计方式中的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的计算图像位姿的原理图之一;
图2为本申请实施例提供的计算图像位姿的原理图之二;
图3为本申请实施例提供的三维重建的实现流程图之一;
图4为本申请实施例提供的计算图像位姿的原理图之三;
图5为本申请实施例提供的计算图像位姿的原理图之四;
图6为本申请实施例提供的三维重建的实现流程图之二;
图7为本申请实施例提供的三维重建的实现流程图之三;
图8为本申请实施例提供的三维重建的实现流程图之四;
图9为本申请实施例提供的计算图像位姿的原理图之五;
图10为本申请实施例提供的三维重建的实现流程图之五;
图11为本申请实施例提供的三维重建的实现流程图之六;
图12为本申请实施例提供的AR导航的实现流程图。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在对本申请实施例说明之前,先在此说明本申请实施例中涉及的技术术语:
1、图像位姿。
图像位姿也可以称为相机位姿,图像位姿是指相机在拍摄图像时的位置和姿态。具体是指相机在拍摄图像时、相机坐标系相较于世界坐标系的位置和姿态的变化。其中,位置的变化包括沿世界坐标系的各个轴(如x轴、y轴、z轴)的位移,位置的变化可以用平移向量t来表示。姿态的变化包括绕世界坐标系的各个轴(如x轴、y轴、z轴)的角度变化,即俯仰角、偏航角、滚动角的变化,姿态的变化可以用旋转矩阵R来表示。
示例性的,参见图1,世界坐标系为(Ow,Xw,Yw,Zw),当前的相机坐标系为(Oc,Xc,Yc,Zc),则相机在(Oc,Xc,Yc,Zc)拍摄的图像的图像位姿为从(Ow,Xw,Yw,Zw)到(Oc,Xc,Yc,Zc)之间位置的变化t和姿态的变化R。
在连续拍摄多张图像的过程中,若相机产生了运动,则相机坐标系会随之变化,相应的,图像位姿也会变化。需要说明的是,世界坐标系可以为任一指定的坐标系。
应注意,本文中的相机可以是独立的电子设备。或者,相机也可以是集成在电子设备,如手机、平板中的相机模块。
2、PnP。
PnP是给定待处理图像中2D特征点pi(如p1,p2,p3……)在相机坐标系下的坐标,和与2D特征点对应的3D点Pi(如P1,P2,P3……)在世界坐标系中的坐标,以及相机内参,计算待处理图像的图像位姿。其中,相机内参通常用矩阵表示,用于描述相机焦距、光轴和图像交点的位置等属性。
示例性的,待处理图像中2D特征点pi用图2中空心圆圈表示,其在相机坐标系中的坐标为[u,v]T,齐次坐标表示为[u,v,1]T ;与2D特征点对应的3D点Pi用图2中的实心圆圈表示,其在世界坐标系中的坐标为[Xw,Yw,Zw] T,齐次坐标表示为[Xw,Yw,Zw,1] T。相机内参矩阵为K,求解图像位姿t和R。
一组2D-3D匹配关系(即一个2D特征点和对应的3D点构成的匹配点对)的投影变换方程可以表示为如下方程1:
Figure 301839DEST_PATH_IMAGE002
方程1
其中,Zc表示相机坐标系下的深度值。
将上述方程1展开可得到如下方程2:
Figure 228207DEST_PATH_IMAGE003
方程2
其中,fij表示
Figure 308158DEST_PATH_IMAGE004
得到的变换矩阵中的一个元素。
将上述方程2写成方程组的形式,可得到如下方程组1:
Figure 520834DEST_PATH_IMAGE005
方程组1
将上述方程组1消去Zc,可得到如下方程组2:
Figure 319026DEST_PATH_IMAGE006
方程组2
也就是说,一组2D-3D匹配关系对应方程组2中的两个方程,共12个(即f11-f34)未知数。因此需要至少6组2D-3D匹配关系才能求取t和R。
至此,需要说明的是,上述示例中仅说明了需要6组2D-3D匹配关系来求解t和R的实现原理。但是,本领域技术人员应该理解的是,采用优化的PnP算法,可以仅需要3组2D-3D匹配关系即可求解得到t和R。换言之,采用PnP算法需要N组2D-3D匹配关系(如下文中的N组匹配关系1)来求解t和R,其中,N为大于或等于3的整数。
3、RANSAC。
RANSAC是通过反复选择数据集去估计出模型,一直迭代到估计出认为比较好的模型。
以采用PnP求解图像位姿t和R的场景为例,则数据集是指N组2D特征点和3D点,模型是指t和R。即:将RANSAC用于PnP求解图像位姿t和R的场景,可以反复选择(如随机选择)N组2D特征点和3D点对来求解t和R,直至得到比较好的t和R才结束计算。实际中,2D特征点和3D点对的对应关系可能并不准确,通过反复选择2D特征点和3D点对来求解t和R,则可以避免因将对应关系不准确的2D特征点和3D点用于计算,而导致求解得到的t和R不合理。从而可以提升图像位姿计算的准确性。
示例性的,假设2D特征点pi和3D点Pi一一对应,即p1与P1对应,p2与P2对应,p3与P3对应……。第一次可以选择(p5,P5),(p8,P8),(p9,P9)共3组2D特征点和3D点对来求解t和R。在第一次计算得到t和R后,评估t和R的质量,若质量不满足要求,则可以第二次选择2D特征点和3D点对,如选择(p3,P3),(p6,P6),(p7,P7)来求解t和R。在第二计算得到t和R后,评估t和R的质量,若质量不满足要求,则可以第三次选择2D特征点和3D点对……以此类推,至此计算得到的t和R满足质量要求,则结束计算。
在一些实施例中,参见图3,使用RANSAC和PnP框架来求解图像位姿,每一轮迭代过程中,按照均匀分布从多组待选的2D-3D匹配关系中随机选择N组2D-3D匹配关系。那么,每组2D-3D匹配关系被选中的概率是相同的。也就是说,准确的2D-3D匹配关系,与不准确的2D-3D匹配关系被选中的概率是相同的。若不准确的2D-3D匹配关系较多,则每一轮迭代过程中选中不准确的2D-3D匹配关系的概率将较大。从而可能导致需要迭代多轮才能计算得到满足质量要求的图像位姿,或者在超过预设迭代次数后依然无法得到满足质量要求的图像位姿。
基于此,本申请实施例提供了一种图像位姿的计算方法,可以为每个3D点赋予质量权重,质量权重越高,表示3D点的可信度越高,从而包括该3D点的2D-3D匹配关系准确的可能性越高。然后,在使用RANSAC和PnP框架来求解图像位姿的每一轮迭代过程中,基于每个3D点的质量权重,从多组待选的2D-3D匹配关系(如下文中的多组匹配关系1、多组匹配关系3等)中随机选择N组2D-3D匹配关系,并用于计算图像位姿。那么,待选的2D-3D匹配关系中包括的3D点的质量权重越高,该组2D-3D匹配关系被选中的概率则更高。从而在每轮迭代的过程中,更有可能选中准确的2D-3D匹配关系。如此,则在迭代少次之后,即可计算得到满足质量要求的图像位姿。
在一些实施例中,上述图像位姿的计算方法可以应用于包括第一设备和第二设备的通信系统中。第一设备用于拍摄得到待处理图像。第一设备可以是手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmentedreality,AR)\虚拟现实(virtual reality,VR)设备等支持图像拍摄的设备,本申请实施例对该设备的具体形态不作特殊限制。第二设备用于计算待处理图像的图像位姿。第二设备可以是服务器、云端设备、手机、平板电脑、笔记本电脑、上网本等具有一定的运算能力的设备。
在另一些实施例中,上述图像位姿的计算方法可以应用于第三设备,第三设备既可以用于拍摄待处理图像,也可以用于计算待处理图像的图像位姿。示例性的,第三设备可以是手机、平板电脑、笔记本电脑、上网本等支持图像拍摄,且具有一定运算能力的设备。
下面将结合附图详细说明本申请方案。在下文中,主要以计算图像位姿,用于三维重建为例来说明。在三维重建,如采用运动恢复结构(Structure from motion,SFM)实现三维重建的过程中,可以对预设空间拍摄多张图像,得到图像序列,然后根据图像序列来构建该预设空间内的3D点云,从而实现对该预设空间的重构。其中,预设空间可以是商场、电影院、办公室等需要三维重构的空间。
参见图3,在三维重建的过程中,针对图像序列中的第1帧图像和第2帧图像,需要依次完成特征提取301、特征匹配302、种子点重建303以及三角化304等处理,得到若干个空间点在世界坐标系中的三维坐标,即得到3D点。
需要说明的是,在本文三维重建的过程中,以第一设备在拍摄上述第1帧图像时的相机坐标系作为世界坐标系,那么第1帧图像的图像位姿应为0,即位置和姿态均未发生变化,第2帧及其后续各帧图像的图像位姿为第一设备在拍摄相应帧图像时的相机坐标系相较于第一设备在拍摄第1帧图像时的相机坐标系的位置的变化和姿态的变化。
特征提取301是指从第1帧图像和第2帧图像中提取特征点(即2D特征点)。其中,可采用尺度不变特征变换算法(Scale Invariant Feature Transform,SIFT)、快速特征点提取和描述算法(Oriented FAST and Rotated BRIEF ,ORB)或者加速稳健特征算法(Speeded-Up Robust Features,SURF)等特征提取算法来完成特征点提取。特征点可以是图像中的角点、边缘点、暗区的亮点及亮区的暗点等特征点。下文中关于特征提取的实现也与从第1帧图像和第2帧图像中提取特征点类似,后文中将不再赘述。
特征匹配302是指将第1帧图像中的特征点与第2帧图像中的特征点匹配,得到若干组特征点对。一组特征点对包括第1帧图像中一个特征点的二维坐标和第2帧图像中一个特征点的二维坐标。示例性的,参见图4,一帧图像(如第1帧图像)中,船帆的最高点在A1位置,相机运动后拍摄到另一帧图像(如第2帧图像)中,船帆的最高点变为A2位置。那么,A1和A2可构成一组特征点对。关于确定两张图像中匹配点对的具体实现,可参见相关现有技术中的说明,本文中不多赘述。
种子点重建303是指确定第2帧图像的图像位姿。由于此时还无法确定空间中的3D 点,第2帧图像的图像位姿无法使用PnP算法计算得到。在一些实施例中,可以使用对极几何 约束
Figure 783505DEST_PATH_IMAGE007
求取出本质矩阵E,其中,T表示转置计算。
Figure 858908DEST_PATH_IMAGE008
由第1帧图像和第2帧图像 的若干组特征点对中,第1帧图像中若干特征点的二维坐标组成。
Figure 383431DEST_PATH_IMAGE009
由第1帧图像和第2帧 图像的若干组特征点对中,第2帧图像中若干特征点的二维坐标组成。并且,每组匹配点对 包括的两个特征点的二维坐标在
Figure 527973DEST_PATH_IMAGE010
Figure 796143DEST_PATH_IMAGE011
中的位置对应。然后分解本质矩阵E则可以得到 第2帧图像的图像位姿。关于采用对极几何约束求解图像位姿的具体实现,可参见相关现有 技术中的说明,本文中不多赘述。
三角化304是指采用线性三角形法(Linear triangulation methods,可简称为三角法)来计算空间点在世界坐标系中的三维坐标。三角法可以通过空间点在两帧图像中的二维坐标以及两帧图像的图像位姿,求解该空间点在世界坐标系(如拍摄第1帧图像时的相机坐标系)中的三维坐标。
示例性的,图5所示图像1中的p1和图像2中的p2为两帧图像中的一组特征点对,在已知图像1和图像2的图像位姿,p1在图像1中的二维坐标,以及p2在图像2中的二维坐标的情况下,通过三角化可以计算得到空间点P在世界坐标系中的三维坐标。
那么,在已知第1帧图像和第2帧图像的图像位姿,以及在确定第1帧图像和第2帧图像的若干组特征点对之后,通过三角化可以计算得到若干空间点在世界坐标系中的三维坐标,即可以确定若干3D点。
在本文中,为方便说明,将一组特征点对包括的两个特征点分别与计算出的3D点记为一组2D-3D匹配关系。例如,将图5中的p1与P记为一组2D-3D匹配关系,将图5中的p2与P记为一组2D-3D匹配关系。
继续参见图3,在一些实施例中,在通过三角化得到若干3D点后,还可以对每个3D点执行光束平差法 (Bundle Adjustment, BA)优化305。BA优化305是指剔除重投影误差较大的3D点,而保留重投影误差较小的3D点。在针对第1帧图像和第2帧图像,确定出若干3D点之后,针对任一3D点,可以采用如下过程来计算重投影误差:按照第1帧图像的图像位姿将该3D点投影,得到该3D点在第1帧图像上的投影点。计算第1帧图像中与该3D点构成匹配关系的特征点,和该3D点在第1帧图像上的投影点之间的距离,得到投影误差1。按照第2帧图像的图像位姿将该3D点投影,得到该3D点在第2帧图像上的投影点。计算第2帧图像中与该3D点构成匹配关系的特征点,和该3D点在第2帧图像上的投影点之间的距离,得到投影误差2。根据投影误差1和投影误差2计算该3D点的重投影误差。例如,将投影误差1和投影误差2的平均值、最大值作为该3D点的重投影误差。在计算出重投影误差后,将该重投影误差与预设误差值比较。若重投影误差小于该预设误差值,则保留该3D点。反之,若重投影误差小于该预设误差值,则剔除该3D点。
示例性的,以第1帧图像是图5所示的图像1,第2帧图像是图5所示的图像2,图像1中的p1和图像2中的p2分别与图5中的P构成一组2D-3D匹配关系(即p1-P,p2-P)为例,按照图像1的图像位姿(如为0)将P投影,得到图5所示的投影点p1’,即p1’为P在第1帧图像上的投影点。计算p1’和p1之间的距离d1,即得到投影误差1。按照图像2的图像位姿将P投影,得到图5所示的投影点p2’,即p2’为P在第2帧图像上的投影点。计算p2’和p2之间的距离d2,即得到投影误差2。计算投影误差1和投影误差2的平均值d’,即得到P的重投影误差。若d’小于预设误差值则保留,否则剔除。
针对若干个3D点,均完成BA优化,则可以得到优化后的3D点。优化后的3D点是重投影误差较小的3D点,其准确性较高,可用于后续采用PnP算法确定第2帧图像之后的图像的图像位姿,还可以作为预设空间中的3D点。应理解,在重投影误差较大的3D点被剔除后,则包括该3D点的2D-3D匹配关系自然也无需保留。下文中,将主要以本实施例,即三维重建的过程中包括BA优化为例来说明。
至此,则完成了针对第1帧图像和第2帧图像的处理。示例性的,在完成第1帧图像和第2帧图像的处理之后,可以记录如下表1所示的处理结果:
表1
Figure 585108DEST_PATH_IMAGE012
上表1中,pi(如p11、p12……p25)表示图像上的特征点,Pi表示3D点。
接下来,参见图6,针对图像序列中的第k(k>2,k为整数)帧图像,三维重建的过程包括特征匹配601和位姿计算602,经过特征匹配601和位姿计算602可得到第k帧图像的图像位姿。
特征匹配601是指构建第k帧图像中的特征点,与3D点云中3D点的匹配关系,得到第k帧图像的特征点与3D点的多组2D-3D匹配关系。为了区别前文中针对第1帧图像和第2帧图像确定的多组2D-3D匹配关系,可以将针对第3帧图像确定的多组2D-3D匹配关系记为多组匹配关系1。
需要说明的是,随着三维重建的过程不断持续,即对图像序列中更多帧图像完成三维重建的处理,会构建得到更多的3D点,从而3D点云中包括的3D点也会不断变化。例如,针对第1帧图像和第2帧图像完成三维重建的处理后,可以得到如上表1所示的3D点云。即得到包括P1、P2、P3、P4以及P5共5个3D点的点云。而在针对第3帧图像完成三维重建的处理后,可能得到P6以及P7共2个新的3D点,则3D点云中包括的3D点会更新为P1、P2、P3、P4、P5、P6以及P7。那么,k不同,则3D点云中包括的3D点不同,特征匹配601中可用于匹配的3D点也不同。
位姿计算602是指根据多组匹配关系1、相机内参以及多组匹配关系1包括的3D点的质量权重,并采用RANSAC和PnP框架计算第k帧图像的图像位姿。
进一步的,参见图7,特征匹配601进一步包括图像检索701。在图像检索701的过程中,计算第k帧图像与第1帧图像至第k-1帧图像分别的相似度,根据相似度从第1帧图像至第k-1帧图像中选择与第k帧图像相似的图像(如可记为图7所示的匹配图像)。例如,选择与第k帧图像的相似度最高的图像作为匹配图像。
通常情况下,相邻两帧图像的相似度是较高的。基于此,在另一些实施例中,也可以直接将第k-1帧图像确定为匹配图像。从而可以简化确定匹配图像的运算。
继续参见图7,特征匹配601还包括特征提取702。在特征提取702的过程中,从匹配图像中提取出特征点(如可记为图7所示的匹配图像的特征点),以及从第k帧图像中提取出特征点(如可记为图7所示的第k帧图像的特征点)。应理解,匹配图像的特征点的数量和第k帧图像的特征点的数量都可以有多个。
继续参见图7,特征匹配601还包括特征匹配703。在特征匹配703的过程中,首先将匹配图像的特征点和第k帧图像的特征点匹配,得到多组匹配点对。每组匹配点对中包括匹配图像的一个特征点和第k帧图像的一个特征点。
并且,在针对每一帧图像完成三维重建的处理过程中,都可以通过三角化确定多个3D点以及2D-3D匹配关系。关于第k帧图像三角化的具体实现,可参见下文中的相关说明,此处暂不做说明。同时,匹配图像为第1帧图像至第k-1帧图像中的某一帧图像,则在针对第k帧图像完成三维重建的处理时,自然已经确定了匹配图像的2D-3D匹配关系(可记为匹配关系2)。在特征匹配703的过程中,得到多组匹配点对后,针对每一组匹配点对,从多组匹配关系2中查找该组匹配点对中匹配图像的特征点。若查找到,则确定具有该匹配图像的特征点的目标匹配关系,目标匹配关系即为包括该组匹配点对中匹配图像的特征点的匹配关系2。并将该组匹配点对中第k帧图像的特征点与目标匹配关系中的3D点构成一组匹配关系1。
示例性的,k=3,即当前针对第3帧图像完成三维重建的处理,并且匹配图像是上表1中的第2帧图像,则多组匹配关系2包括:p21-P1,p22-P2,p23-P3,p24-P4以及p25-P5,一组匹配点对由第2帧图像中的特征点p22与第3帧图像中的特征点p31组成,则可以从多组匹配关系2中查找到包括p22的目标匹配关系为p22-P2。从而可以确定p31与P2构成一组匹配关系1。
又示例性的,k=4,即当前针对第4帧图像完成三维重建的处理,并且匹配图像是第3帧图像,一组匹配关系2为p31-P2,一组匹配点对由第3帧图像中的特征点p31与第4帧图像中的特征点p41组成。很显然,p31-P2中包括匹配点对中第3帧图像中的特征点p31,从而可以确定匹配点对中第4帧图像中的特征点p41与P2构成一组匹配关系1。
应理解,若多组匹配关系2中均未查找该组匹配点对中匹配图像的特征点,则表明无法确定与该组匹配点对中第k帧图像的特征点构成匹配关系1的3D点。
进一步的,参见图8,位姿计算602进一步包括匹配关系选择801。本申请实施例中, 采用RANSAC和PnP框架来计算图像位姿。并且,在每一轮匹配关系选择801的过程中,按照多 组匹配关系1包括的3D点的质量权重,从多组匹配关系1中随机选择N组匹配关系1,N≥3,N 为正整数。任一组匹配关系1中3D点的质量权重记为Wi,则该组匹配关系1被选中的概率为
Figure 155897DEST_PATH_IMAGE001
,其中n为匹配关系1的组数。关于3D点的质量权重的设置,可参见下文中的相关说 明,此处暂不做过多说明。
示例性的,多组匹配关系1包括p31-P1,p32-P3,p33-P4以及p34-P7,则多组匹配关系1包括的3D点有P1、P3、P4和P7,若P1、P3、P4和P7分别的质量权重为1,3,4以及7,则多组匹配关系1中p31-P1被选中的概率为1/(1+3+4+7)=1/15,p32-P3每次被选中的概率为3/(1+3+4+7)=1/5,p33-P4每次被选中的概率为4/(1+3+4+7)=4/15,p34-P7每次被选中的概率为7/(1+3+4+7)=1/2。
也就是说,在多组匹配关系1中,3D点的质量权重越高,则该组匹配关系1每次被选中的可能性就越大。
而若每次按照均匀分布随机从多组匹配关系1中选择N组匹配关系1,则任一组匹配关系1被选中的概率都是相同的。例如,共有4组匹配关系1,则每组匹配关系1被选中的概率均为1/4。很显然,与每次按照均匀分布随机从多组匹配关系1选择N组匹配关系1的方案相比:本申请实施例中每次按照质量权重随机从多组匹配关系1中选择N组匹配关系1,则可以在匹配关系1中包括的3D点的质量权重越高,该匹配关系1被选中的可能性越高。本轮迭代过程中则更有可能选择出质量较高的N组匹配关系1来计算图像位姿,从而提高仅少次迭代后即得到满足条件的图像位姿的可能性。
继续参见图8,位姿计算602还包括位姿计算802。在位姿计算802的过程中,使用本轮选择出的N组匹配关系1以及相机内参作为PnP算法的输入,计算图像位姿。
继续参见图8,位姿计算602还包括质量检测803。在质量检测803的过程中,可以检测本轮计算得到的图像位姿是否满足质量条件。若满足质量条件,则输出本轮计算得到的图像位姿,针对第k帧图像的位姿计算结束;若不满足质量条件,则继续下一轮匹配关系选择801,位姿计算802以及质量检测803。
在一些实施例中,在计算得到图像位姿后,针对多组匹配关系1中的每组匹配关系1,可以按照本轮计算得到的图像位姿对该组匹配关系1中的3D点投影,得到投影点。然后计算该投影点与该组匹配关系1中特征点之间的距离,得到投影误差。示例性的,参见图9,第k帧图像中的特征点pi与3D点Pi构成一组匹配关系1,在本轮计算得到图像位姿后,可以按照图像位姿对Pi投影,得到投影点pi’。计算pi’与pi之间的距离d,即得到投影误差。对应多组匹配关系1,则可以得到多个投影误差。上述检测图像位姿是否满足质量条件具体可以是检测多个投影误差是否满足质量条件。
示例性的,当多个投影误差满足内点率大于第一预设值,则确定满足质量条件。即,质量条件为内点率大于第一预设值,如90%,95%等。内点率是指小于第一误差值的投影误差的数量占投影误差的总数量的比值。当多个投影误差满足内点率大于第一预设值,表明占比超过第一预设值的3D点可以投影到与之具有匹配关系1的特征点的邻近位置,投影结果较准确,进而表明图像位姿较准确。
又示例性的,当多个投影误差满足重投影误差小于第二预设值,则确定满足质量条件。即,质量条件为重投影误差小于第二预设值。重投影误差可以是多个投影误差的平均值,也可以是多个投影误差中的最大值等。当多个投影误差满足重投影误差小于第二预设值,表明各个3D点都可以投影到与之具有匹配关系1的特征点的邻近位置,投影结果较准确,进而表明图像位姿较准确。
上述单独以内点率和重投影误差说明了质量检测的具体实现,实际中也可以将两者结合。即,当内点率大于第一预设值,重投影误差小于第二预设值,则确定满足质量条件。
需要说明的是,前述主要说明了通过多个投影误差来实现质量检测的方式,实际实施时,并不以此为限,本领域技术人员可根据实际需求灵活选择质量检测的具体方式。示例性的,还可以获取第k帧图像的惯性测量单元(Inertial Measurement Unit,IMU)数据。第k帧图像的IMU数据包括第一设备在拍摄该图像时,相机的加速度信号和角速度信号。将本轮计算得到的图像位姿与IMU数据指示的图像位姿相比较,从而确定此次计算得到的图像位姿是否满足质量条件。
另外,在每完成一轮匹配关系选择801、位姿计算802以及质量检测803之后,则迭代次数会加一。通常情况下,迭代次数不能超过预设次数阈值,如100次。因此,当迭代次数达到预设次数阈值,即使仍不满足质量条件,也会结束位姿计算的步骤。但是该情况下无法得到满足质量条件的图像位姿。
为了便于进一步对上述位姿计算602的理解,下面以一个完整的示例来说明位姿计算602的具体实现。参见图10,位姿计算602的输入包括多组匹配关系1以及相机内参,其具体实现包括:
S1000、确定多组匹配关系1包括的3D点的质量权重。关于3D点的质量权重的确定,可参见下文中的相关说明,此处暂不做过多说明。
S1001、设置初始迭代次数为1。
S1002、判断迭代次数是否小于迭代次数阈值。若是,则执行S1003;若否,则执行S1009。
S1003、按照质量权重从多组匹配关系1中选择N组匹配关系1。可参见前文关于匹配关系选择801的说明。
S1004、根据N组匹配关系1以及相机内参,并采用PnP算法计算图像位姿。可参见前文关于位姿计算802的说明。
S1005、根据图像位姿计算多组匹配关系1包括的3D点的内点率和重投影误差。可参见前文关于质量检测803的说明。
S1006、更新图像位姿及其最大内点率和最小重投影误差。
在每一轮迭代过程中计算出内点率和重投影误差后,判断本轮计算得到的内点率是否为针对第k帧图像计算得到的最大内点率,以及判断本轮计算得到的重投影误差是否为针对第k帧图像计算得到的最小重投影误差。若为最大内点率,且为最小重投影误差,则记录本轮计算得到的图像位姿,并记录本轮计算得到的内点率为最大内点率,以及记录本轮计算得到的重投影误差为最小重投影误差。
S1007、判断最大内点率是否大于第一预设值,最小重投影误差是否小于第二预设值。若最大内点率大于第一预设值,且最小重投影误差小于第二预设值,则位姿计算成功;若最大内点率小于第一预设值,和/或,最小重投影误差大于第二预设值,则执行S1008。可参见前文关于质量检测803的说明。
其中,位姿计算成功,则可以输出最大内点率和最小重投影误差对应的图像位姿。
S1008、将迭代次数加一,并重复执行S1002及其后续步骤,以完成下一轮迭代。
S1009、判断最大内点率是否大于第一预设值,最小重投影误差是否小于第二预设值。若最大内点率大于第一预设值,且最小重投影误差小于第二预设值,则位姿计算成功;若最大内点率小于第一预设值,和/或,最小重投影误差大于第二预设值,则位姿计算失败。
本实施例中,在迭代次数大于迭代次数阈值后,再次判断最大内点率是否大于第一预设值,最小重投影误差是否小于第二预设值,从而可以再次确认图像位姿是否满足质量条件,降低出错的可能。
当然,在另一些实施例中,也可以省略S1006和S1009的步骤,并且S1002可以更新为如下S1002’:判断迭代次数是否小于迭代次数阈值。若是,则执行S1003;若否,则位姿计算失败。以及,S1007可以更新为如下S1007’:判断本轮计算得到的内点率是否大于第一预设值,以及判断本轮计算得到的重投影误差是否小于第二预设值,若本轮计算得到的内点率大于第一预设值,且本轮计算得到的重投影误差小于第二预设值,则位姿计算成功,输出本轮计算得到的图像位姿;若最大内点率小于第一预设值,和/或,最小重投影误差大于第二预设值,则执行S1008。
在得到第k帧图像的图像位姿后,参见图11,针对图像序列中的第k(k>2,k为整数)帧图像,其三维重建的过程还包括三角化1101和BA优化1102,经过三角化1101和BA优化1102可构建得到新增的3D点,从而得到包括更多3D点的3D点云。
三角化1101是指根据第k帧图像的图像位姿及其特征点,以及第k帧图像之前的m帧图像的图像位姿及其特征点来构建3D点。其中,1≤m,m为整数,例如,m=1,2或者3等。在本文中,主要以m=2为例来说明,即根据第k帧图像的图像位姿及其特征点,以及第k-2帧图像和第k-1帧图像的图像位姿及其特征点来构建3D点。
示例性的,可以将第k帧图像的特征点与第k-1帧图像的特征点匹配,得到若干组特征点对。然后,在已知第k帧图像和第k-1帧图像的图像位姿,以及在已知第k帧图像与第k-1帧图像之间的若干组特征点对的基础上,采用三角法则可构建得到一些3D点。以及,可以将第k帧图像的特征点与第k-2帧图像的特征点匹配,得到若干组特征点对。然后,在已知第k帧图像和第k-2帧图像的图像位姿,以及在已知第k帧图像与第k-2帧图像之间的若干组特征点对的基础上,采用三角法则可构建得到另一些3D点。
同样的,一组特征点对中包括的第k帧图像的特征点和第k-1帧图像(或者第k-2帧图像)的特征点可分别与计算出的3D点构成一组2D-3D匹配关系。为了便于区分,可以将第k帧图像的特征点和第k-1帧图像(或者第k-2帧图像)的特征点分别与计算出的3D点构成的2D-3D匹配关系记为匹配关系3。
BA优化1102是指计算匹配关系3中3D点的重投影误差,根据重投影误差筛选3D点。可参见前文针对第1帧图像和第2帧图像的三维重建的处理过程中,BA优化的具体实现,此处不再赘述。示例性的,将第k-1帧图像或者第k-2帧图像视为图5所示的图像1,将第k帧图像视为图5所示的图像2。经过BA优化1102,则可以提出掉重投影误差较大的3D点,以及保留重投影误差较小的3D点。若保留下来的3D点中有新增的3D点,则可以添加到3D点云中。示例性的,针对第k帧图像的三维重建的处理过程中,经过BA优化1102确定出新增的3D点有P6、P7和P8,则可以将P6、P7和P8添加到已有的3D点云中。例如,已有的3D点云中包括如前文表1所示的P1、P2、P3、P4以及P5共5个3D点,则更新后的3D点云中可以包括P1、P2、P3、P4、P5、P6、P7以及P8共8个3D点。
可见,随着k值不断增加,则可以更新得到包括更多3D点的3D点云,最终得到预设空间内的大量3D点,完成对预设空间的三维重建。
在本申请实施例中,在采用RANSAC和PnP框架来求解图像位姿的每一轮迭代过程中,需要基于多组匹配关系1包括的3D点的质量权重,从多组匹配关系1中选择N组匹配关系1,并用于计算图像位姿。因此,需要在匹配关系选择801之前,确定多组匹配关系1中包括的3D点的质量权重。本申请实施例这里将介绍几种确定3D点的质量权重的具体方式:
在一些实施例中,基于第1帧图像至第k-1帧图像的处理过程中,3D点被观测到的次数确定质量权重。其中,3D点被观测到的次数是指在第1帧图像至第k-1帧图像的处理过程中,通过三角化确定出某一3D点的次数。
示例性的,从对第1帧图像到第5帧图像的处理过程中,通过三角化确定出的3D点及更新得到的3D点被观测到的次数如下表2所示:
表2
Figure 663102DEST_PATH_IMAGE013
上表2显示,在针对第1帧图像和第2帧图像完成三维重建的处理过程中,通过三角化确定出3D点P1和P2,则P1和P2被观测到的次数均为1。然后,在针对第3帧图像完成三维重建的处理过程中,通过三角化确定出3D点P2和P3,则P1被观测到的次数仍为1,P2被观测到的次数更新为2,P3被观测到的次数为1。然后,在针对第4帧图像完成三维重建的处理过程中,通过三角化确定出3D点P2、P3、P4和P5,则P1被观测到的次数仍为1,P2被观测到的次数更新为3,P3被观测到的次数更新为2,P4和P5倍被观测到的次数均为1。然后,在针对第5帧图像完成三维重建的处理过程中,通过三角化确定出3D点P3、P4和P6,则P1被观测到的次数仍为1,P2被观测到的次数仍为3,P3被观测到的次数更新为3,P4被观测到的次数更新为2,P5倍被观测到的次数仍为1,P6被观测到的次数为1。
同一3D点被观测到的次数越多,则该3D点的可信度越高。例如,在完成对第5帧图像的处理后,得到的3D点被观测到的次数如上表2中最后一行最后一列所示,其中P1被观测到的次数为1次,P2被观测到的次数为3次,则P1极有可能是偶然确定的一个3D点,而P2被多次观测到,大概率不会是偶然点,其可信度比P1的可信度更高。基于次,在本实施例中,可以在针对每一帧图像的三角化完成后,记录3D点被观测到的次数,如上表2中最后一列所示。
那么,随着不断针对更多的图像帧进行处理,各个3D点被观测到的次数会发生更新。然后,在针对第k帧图像完成三维重建的处理过程中,可以基于针对第k-1帧图像的三角化完成后,更新得到的各个3D点被观测到的次数来设置多组匹配关系1包括的3D点的质量权重。
在一种具体的实现方式中,针对多组匹配关系1包括的任一3D点,可以将该3D点被观测到的次数设置为质量权重。示例性的,k=6,即当前针对第6帧图像完成三维重建的处理,并且在完成对第5帧图像的处理后,得到的3D点被观测到的次数如上表2中最后一行最后一列所示,即P1(1次),P2(3次),P3(3次)、P4(2次)、P5(1次)、P6(1次)。多组匹配关系1包括p61-P2,p62-P3,p63-P4,p64-P5以及p65-P6,则可以设置多组匹配关系1中包括的3D点,即P2、P3、P4、P5、P6分别的质量权重为3、3、2、1、1。那么,在针对第6帧图像完成位姿计算602的过程中,每一轮迭代中匹配关系选择601时,多组匹配关系1中p61-P2被选中的概率为3/(3+3+2+1+1)=0.3,p62-P3被选中的概率为3/(3+3+2+1+1)=0.3,p63-P4被选中的概率为2/(3+3+2+1+1)=0.2,p64-P5被选中的概率为1/(3+3+2+1+1)=0.1,以及p65-P6被选中的概率为1/(3+3+2+1+1)=0.1。很显然,匹配关系1中包括的3D点被观测到的次数越多,则其被选中的概率越大。
进一步的,在三维重建的处理过程包括BA优化的实施例中,若在BA优化的过程中3D点被剔除,则其被观测到的次数也会被删除。仍以上表2为例,虽然在针对第5帧图像完成三维重建的处理过程中,通过三角化确定出P6,但是在BA优化的过程中确定出P6的重投影误差较大,将P6剔除了。相应的,在剔除P6时,也会同步删除P6被观测到的次数。
在另一些实施例中,基于第1帧图像至第k-1帧图像的处理过程中,BA优化后保留的3D点的重投影误差设置质量权重。其中,重投影误差是在BA优化的过程中计算得到的。在本实施例中,在针对每一帧图像完成三维重建的处理过程中,可以记录BA优化时计算得到的3D点的重投影误差。应理解,若3D点的重投影误差较大,则会被删除,相应的,该3D点的重投影误差也会被删除。
示例性的,从对第1帧图像到第5帧图像的处理过程中,通过BA优化保留的3D点及其重投影误差如下表3所示:
表3
Figure 203805DEST_PATH_IMAGE014
上表3显示,在针对第1帧图像和第2帧图像完成三维重建的处理过程中,通过BA优化保留的3D点有P1和P2,并且在BA优化时计算得到P1和P2分别的重投影误差为s10和s20。然后,在针对第3帧图像完成三维重建的处理过程中,通过BA优化保留的3D点有P2和P3,并且在BA优化时计算得到P2和P3的重投影误差分别为s21和s30。然后,在针对第4帧图像完成三维重建的处理过程中,通过BA优化保留的3D点有P2、P3、P4和P5,并且在BA优化时计算得到P2、P3、P4和P5的重投影误差分别为s22、s31、s40 和s50。然后,在针对第5帧图像完成三维重建的处理过程中,通过BA优化保留的3D点有P3、P4和P6,并且在BA优化时计算得到P3、P4和P6的重投影误差分别为s32、s41 和s60。
至此,需要说明的是,在针对不同帧图像完成三维重建的处理过程中,BA优化后可能保留有相同的3D点,从而会记录同一3D点的多个重投影误差,如上表3的最后一列中针对3D点P2记录有3个重投影误差,分别为s20、s21和s22。针对这种情况,针对多组匹配关系1中包括的3D点,则可以基于最新的重投影误差设置该3D点的质量权重。例如,基于重投影误差s22设置P2的质量权重。
3D点的重投影误差越小,则该3D点的准确度越高。例如,上表3中针对3D点P3计算得到的最新的重投影误差为s32,针对3D点P6计算得到的最新的重投影误差为s60,若s32=0.1,s60=0.6,则表示P6的误差较大,P1的误差较小。基于该重投影误差设置质量权重,可使设置的质量权重与3D点的准确度相匹配。示例性的,重投影误差越大,则质量权重越小。
在一种具体的实现方式中,针对多组匹配关系1包括的任一3D点,可以将该3D点最新的重投影误差的倒数设置为质量权重。示例性的,k=6,即当前针对第6帧图像完成三维重建的处理,并且在针对第1帧图像至第5帧图像完成三维重建的处理过程中,通过BA优化保留的3D点及其重投影误差如上表3所示。多组匹配关系1包括p61-P2,p62-P3,p63-P4,p64-P5以及p65-P6,则可以设置多组匹配关系1中包括的3D点,即P2、P3、P4、P5、P6分别的质量权重为1/s22、1/s32、1/s41、1/s50、1/s60。
应理解,在三维重建的过程中,前述基于3D点被观测到的次数或者基于3D点的重投影误差设置质量权重的方式,随着不断的对更多帧图像进行处理,则3D点被观测到的次数或者3D点的重投影误差会不断的变化。因此,在每次针对第k帧图像执行位姿计算602的过程中,都需要重新设置质量权重。
在另一些实施例中,基于多组匹配关系1包括的多个3D点的观测深度设置质量权重。其中,3D点的观测深度是指3D点与拍摄第k帧图像时的相机之间的距离。通常情况下,一帧图像中可以拍摄到的3D点的观测深度是呈正态分布的。也就是说,大量3D点的观测深度都应该是集中在正态分布的均值附近的,而只有少量的3D的观测深度远离正态分布的均值。换言之,3D点的观测深度靠近均值的可能性是较高的,而远离均值的可能性是较低的。
基于此,在本实施例中,可以多组匹配关系1包括的多个3D点的观测深度的平均深度作为均值,以多组匹配关系1包括的多个3D点的观测深度的方差作为方差,构建正态分布函数。然后在设置质量权重时,针对任一匹配关系1中的3D点,可以计算正态分布函数中该3D点的观测深度对应的函数值,将该函数值作为该3D点的质量权重。即,3D点靠近平均深度,则认为该3D点大概率是准确的,可以为其设置较高的质量权重。3D点远离平均深度,则认为该3D点大概率是不准确的,可以为其设置较低的质量权重。
前文实施例中,主要以三维重建的场景为例,说明了基于质量权重来选择匹配关系以计算图像位姿的具体实现。当然,在其他需要计算图像位姿的场景中,如AR导航的场景中或者使用视觉定位系统(vision positioning system,VPS)求取图像位姿的场景中,也可以基于质量权重来选择匹配关系以计算图像位姿。
下面以三维重建完成后,使用三维重建得到的数据来实现AR导航的场景为例,简要说明基于质量权重选择匹配关系以计算图像位姿的实现过程:众多的AR游戏都需要在商场、游戏厅等室内环境中完成,然而,全球定位系统(Global Positioning System,GPS)在室内环境的定位效果很差。基于此,在AR游戏过程中,通常会计算AR设备拍摄的图像的图像位姿,即确定AR设备当前相较于世界坐标系的t和R,从而实现对AR设备的定位,基于该定位则可以进一步完成AR游戏的导航。这就是AR导航的场景。
在对预设空间(如商场、游戏厅等)完成三维重建后,可得到预设空间的3D点云。并且,在三维重建的过程中,可以确定图像序列中每一帧图像中的特征点与3D点云中包括的3D点的对应关系,即2D-3D匹配关系。也就是说,在三维重建完成后,可以存储以下离线数据:预设空间的3D点云、图像序列包括的多帧图像以及图像序列中每帧图像对应的2D-3D匹配关系。
然后,在AR导航的过程中,AR设备(即第一设备)可以拍摄预设空间中实时的环境图像。在拍摄到环境图像后,可以基于环境图像和三维重建后得到的离线数据来完成对环境图像的图像位姿的计算。具体的,参见图12,计算环境图像的图像位姿的实现过程包括:图像检索1201、特征提取1202、特征匹配1203、匹配关系选择1204、位姿计算1205以及质量检测1206。上述各个过程与参见前文中针对第k帧图像的特征匹配过程(如特征匹配601)和位姿计算过程(如位姿计算602)的实现过程类似,具体可参见前文图6-图8及其相关的文字说明。主要的区别仅在于:其一,在计算环境图像的图像位姿时,待处理的图像是实时的环境图像。而在计算第k帧图像的图像位姿时,待处理的图像是图像序列中的第k帧图像。其二,在计算环境图像的图像位姿时,图像检索1201是从离线数据中图像序列包括的所有图像中确定相似度高的匹配图像。而在计算第k帧图像的图像位姿时,图像检索701则是从第1帧图像至第k-1帧图像中确定相似度高的匹配图像。其三,在计算环境图像的图像位姿时,匹配关系3是指环境图像中的特征点和3D点的匹配关系。而在计算第k帧图像的图像位姿时,匹配关系1是指第k帧图像中的特征点和3D点的匹配关系。
在匹配关系选择1204中,可以根据3D点的质量权重从多组匹配关系3中选择N组匹配关系3。
在一些实施例中,可以基于三维重建结束时,即针对图像序列中最后一帧图像的处理完成后,3D点被观测到的次数确定质量权重。示例性的,在三维重建的过程中,可按照类似前文表2所示记录各个3D点被观测到的次数,以此类推,直至针对图像序列中最后一帧图像的处理完成,则可以得到三维重建结束时各个3D点被观测到的次数。
应注意,三维重建结束后,各个3D点被观测到的次数则固定了,后续在AR导航的过程中,则可以基于各个3D点固定的被观测到的次数来设置固定的质量权重。然后在针对各张实时的环境图像计算图像位姿时,都基于固定的质量权重来选择N组匹配关系3。而在三维重建的过程中,随着k的变化,即不断的对图像序列中更多帧图像处理,各个3D点被观测到的次数会发生变化。因此,在三维重建的过程中,各个3D点的质量权重也是动态变化的。
在另一些实施例中,可以基于三维重建结束时,3D点云中各个3D点的重投影误差设置质量权重。示例性的,在三维重建的过程中,可按照类似前文表3所示记录各个3D点的重投影误差,以此类推,直至针对图像序列中最后一帧图像的处理完成,则可以得到三维重建结束时各个3D点的重投影误差。
类似的,三维重建结束后,各个3D点的重投影误差也就固定了,后续在AR导航的过程中,则可以基于各个3D点固定的重投影误差来设置固定的质量权重。而在三维重建的过程中,各个3D点的重投影误差会发生变化,因此,在三维重建的过程中,各个3D点的质量权重也是动态变化的。
在另一些实施例中,可以基于多组匹配关系3包括的多个3D点的观测深度设置质量权重。在本实施例中,可以多组匹配关系3包括的多个3D点的观测深度的平均深度作为均值,以多组匹配关系3包括的多个3D点的观测深度的方差作为方差,构建正态分布函数。然后在设置质量权重时,针对任一匹配关系3中的3D点,可以计算正态分布函数中该3D点的观测深度对应的函数值,将该函数值作为该3D点的质量权重。即,3D点靠近平均深度,则认为该3D点大概率是准确的,可以为其设置较高的质量权重。3D点远离平均深度,则认为该3D点大概率是不准确的,可以为其设置较低的质量权重。
综上所述,采用本申请方案,在采用RANSAC和PnP框架计算第一图像的图像位姿时,每一次迭代的过程中,可以基于多个第一3D点对应的多个权重从多组匹配点对中随机选择N组目标匹配点对,N为正整数,每个第一3D点具有对应的权重,多个权重不完全相同。其中,第一图像可以是前文中的第k帧图像,多组匹配点对可以是前文中的多组匹配关系1,多个第一3D点可以是多组匹配关系1包括的多个3D点,N组目标匹配点对可以是N组匹配关系1。或者,第一图像可以是前文中的环境图像,多组匹配点对可以是前文中的多组匹配关系3,多个第一3D点可以是多组匹配关系3包括的多个3D点,N组目标匹配点对可以是N组匹配关系3。在选取出N组目标匹配点对之后,将N组目标匹配点对作为输入,运行PnP算法计算得到第一位姿(如前文位姿计算802计算得到的第k帧图像的图像位姿,或者位姿计算1205计算得到的环境图像的图像位姿)。按照第一位姿对多个第一3D点投影,计算投影的内点率和/或第一重投影误差。其中,第一重投影误差是指多个第一3D点均按照第一位姿投影后的投影误差的平均值或者最大值。若内点率小于第一预设值和/或第一重投影误差大于第二预设值,则继续下一轮选择目标匹配点。若内点率大于第一预设值和/或第一重投影误差小于第二预设值,则将本轮计算得到的第一位姿输出为第一图像的图像位姿。
在一些实施例中,上述多个第一3D点的多个权重可以基于三维重建过程中记录的各个3D点被观测到的次数(也可以称为被构建的累计次数)。在三维重建的过程中,任一3D点(可记为第四3D点)被观测到一次,则次数加一,不同的3D点分别计数。例如,P1和P2分别从0开始计数,P1每被观测到一次,则P1被观测到的次数加一;P2每被观测到一次,则P2被观测到的次数加一。
进一步的,为被观测到的次数更多的第一3D点,设置更高的质量权重。也就是说,针对多个第一3D点中的任意两个3D点(可为第二3D点和第三3D点),若第二3D点被观测到的次数(可记为第一累计次数)大于第二3D点被观测到的次数(可记为第二累计次数),则设置第二3D点的权重大于第三3D点的权重;若第二3D点被观测到的次数小于第二3D点被观测到的次数,则设置第二3D点的权重小于第三3D点的权重;若第二3D点被观测到的次数等于第二3D点被观测到的次数,则设置第二3D点的权重等于第三3D点的权重。示例性的,可以将各个第一3D点被观测到的次数设置为其权重。
在一些实施例中,上述多个第一3D点的多个权重可以基于三维重建过程中记录的各个3D点的第二重投影误差来设置。其中,第二重投影误差是指单个3D点的投影误差,如前文BA优化过程中针对各个3D点计算得到的投影误差。在三维重建的过程中,针对任一3D点(可记为第四3D点)在BA优化过程中计算一次重投影误差,则记录一次其重投影误差。针对同一3D点,若在多次BA优化过程中计算出多次重投影误差,则可以用新的重投影误差覆盖历史的重投影误差。
进一步的,为第二重投影误差更低的第一3D点,设置更高的质量权重。也就是说,针对多个第一3D点中的任意两个3D点(可为第二3D点和第三3D点),若第二3D点的第二重投影误差大于第二3D点的第二重投影误差,则设置第二3D点的权重小于第三3D点的权重;若第二3D点的第二重投影误差小于第二3D点的第二重投影误差,则设置第二3D点的权重大于第三3D点的权重;若第二3D点的第二重投影误差等于第二3D点的第二重投影误差,则设置第二3D点的权重等于第三3D点的权重。示例性的,可以将各个第一3D点的第二重投影误差的倒数设置为其权重。
在一些实施例中,上述多个第一3D点的多个权重可以基于多个第一3D点分别与第一位置的距离来设置,第一位置为相机在拍摄第一图像时所在的位置。那么,任一3D点与第一位置的距离即为前文中的观测深度。
进一步的,可以计算多个第一3D点与第一位置的距离的平均值(即前文的平均深度),以及计算多个第一3D点与第一位置的距离的方差。基于平均值和方差构建正态分布函数。然后,基于正态分布函数中,多个第一3D点分别与第一位置的距离对应的函数值来设置质量权重。以多个第一3D点中的任意两个3D点(同样可为第二3D点和第三3D点)为例,计算正态分布函数中,第二3D点与第一位置的距离对应的第一函数值,以及计算正态分布函数中,第三3D点与第一位置的距离对应的第二函数值。若第一函数值大于第二函数值,则设置第二3D点的权重大于第三3D点的权重。若第一函数值小于第二函数值,则设置第二3D点的权重小于第三3D点的权重。若第一函数值等于第二函数值,则设置第二3D点的权重等于第三3D点的权重。示例性的,可以将正态分布函数中,各个第一3D点与第一位置的距离对应的函数值确定为该第一3D点的权重。
需要在此说明的是,前文中分别单独说明了基于3D点被观测到的次数、重投影误差以及观测深度设置权重的具体实现。实际实施时,也可以将其中的两者或者三者结合使用。示例性的,可以重点参考被观测到的次数,并以重投影误差作为辅助来设置权重。
本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的方法。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在装置上运行时,使得装置执行上述相关方法步骤实现上述实施例中的方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的方法。
其中,本实施例提供的装置、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。

Claims (11)

1.一种图像位姿的计算方法,其特征在于,所述方法用于计算第一图像的图像位姿,所述第一图像中的多个2D点与空间中的多个第一3D点一一对应形成多组匹配点对,所述方法包括:
步骤1,基于所述多个第一3D点对应的多个权重从所述多组匹配点对中随机选择N组目标匹配点对,N为正整数,每个第一3D点具有对应的权重,所述多个权重不完全相同;
步骤2,将所述N组目标匹配点对作为输入,运行PnP算法计算得到第一位姿;
步骤3,按照所述第一位姿对所述多个第一3D点投影,计算投影的内点率和/或第一重投影误差;若内点率小于第一预设值和/或第一重投影误差大于第二预设值,则继续执行步骤1及其后续步骤;若内点率大于第一预设值和/或第一重投影误差小于第二预设值,输出所述第一位姿;
在步骤1之前,所述方法还包括:
计算所述多个第一3D点与第一位置的距离的平均值,所述第一位置为相机在拍摄所述第一图像时的位置;
其中,所述多个第一3D点中任一3D点与所述第一位置的距离越接近所述平均值,则所述权重越高;所述多个第一3D点中任一3D点与所述第一位置的距离越远离所述平均值,则所述权重越低。
2.根据权利要求1所述的方法,其特征在于,在所述计算所述多个第一3D点与第一位置的距离的平均值之后,所述方法还包括:
计算所述多个第一3D点与所述第一位置的距离的方差,所述第一位置为相机在拍摄所述第一图像时的位置;
基于所述平均值和所述方差构建正态分布函数;
计算所述正态分布函数中,第二3D点与所述第一位置的距离对应的第一函数值,以及计算所述正态分布函数中,第三3D点与所述第一位置的距离对应的第二函数值,所述第二3D点和所述第三3D点为所述多个第一3D点中两个不同的3D点;
所述多个第一3D点中任一3D点与所述第一位置的距离越接近所述平均值,则所述权重越高,所述多个第一3D点中任一3D点与所述第一位置的距离越远离所述平均值,则所述权重越小具体为:
所述第一函数值大于所述第二函数值,所述第二3D点的权重大于所述第三3D点的权重,所述第一函数值小于所述第二函数值,所述第二3D点的权重小于所述第三3D点的权重。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一函数值和所述第二函数值确定所述第二3D点的权重和所述第三3D点的权重,包括:
确定所述第二3D点的权重为所述第一函数值,以及确定所述第三3D点的权重为所述第二函数值。
4.根据权利要求1所述的方法,其特征在于,所述第一图像为图像序列中的第k帧图像,k为大于2的整数,图像序列中包括在预设空间连续拍摄的至少三帧图像,所述至少三帧图像用于构建所述预设空间的3D点云;
在所述基于所述多个第一3D点对应的多个权重从所述多组匹配点对中随机选择N组目标匹配点对之前,所述方法还包括:
处理所述图像序列中的第一帧图像至第k-1帧图像,构建得到多个第四3D点,并记录各个所述第四3D点被构建的累计次数,所述多个第四3D点中包括所述多个第一3D点,所述多个第一3D点包括第二3D点和第三3D点;
基于所述第二3D点对应的第一累计次数和所述第三3D点对应的第二累计次数确定所述第二3D点的权重和所述第三3D点的权重,所述第一累计次数大于所述第二累计次数,所述第二3D点的权重大于所述第三3D点的权重,所述第一累计次数小于所述第二累计次数,所述第二3D点的权重小于所述第三3D点的权重。
5.根据权利要求4所述的方法,其特征在于,所述基于所述第二3D点对应的第一累计次数和所述第三3D点对应的第二累计次数确定所述第二3D点的权重和所述第三3D点的权重,包括:
确定所述第二3D点的权重为所述第一累计次数,以及确定所述第三3D点的权重为所述第二累计次数。
6.根据权利要求1所述的方法,其特征在于,所述第一图像为图像序列中的第k帧图像,k为大于2的整数,图像序列中包括在预设空间连续拍摄的至少三帧图像,所述至少三帧图像用于构建所述预设空间的3D点云;
在所述基于所述多个第一3D点对应的多个权重从所述多组匹配点对中随机选择N组目标匹配点对之前,所述方法还包括:
处理所述图像序列中的第一帧图像至第k-1帧图像,构建得到多个第四3D点,并记录各个所述第四3D点的第二重投影误差,所述多个第四3D点中包括所述多个第一3D点,所述多个第一3D点包括第二3D点和第三3D点;
基于所述第二3D点的所述第二重投影误差和所述第三3D点的所述第二重投影误差确定所述第二3D点的权重和所述第三3D点的权重,所述第二3D点的所述第二重投影误差大于所述第三3D点的所述第二重投影误差,所述第二3D点的权重小于所述第三3D点的权重,所述第二3D点的所述第二重投影误差小于所述第三3D点的所述第二重投影误差,所述第二3D点的权重大于所述第三3D点的权重。
7.根据权利要求6所述的方法,其特征在于,所述基于所述第二3D点的所述第二重投影误差和所述第三3D点的所述第二重投影误差确定所述第二3D点的权重和所述第三3D点的权重,包括:
确定所述第二3D点的权重为所述第二3D点的所述第二重投影误差的倒数,确定所述第三3D点的权重为所述第三3D点的所述第二重投影误差的倒数。
8.根据权利要求1所述的方法,其特征在于,所述基于所述多个第一3D点对应的多个权重从所述多组匹配点对中随机选择N组目标匹配点对,包括:
任一所述匹配点对被选为所述目标匹配点对的概率为
Figure 554180DEST_PATH_IMAGE001
,其中,Wi为所述匹配点对中包括的所述第一3D点的权重,n为所述多个第一3D点的数量。
9.根据权利要求1所述的方法,其特征在于,N为大于或等于3的正整数。
10.一种通信系统,其特征在于,所述通信系统包括第一设备和第二设备,所述第一设备用于拍摄第一图像,所述第二设备包括存储器和一个或多个处理器,所述存储器与所述处理器耦合;其中,所述存储器中存储有计算机程序代码,所述计算机程序代码包括计算机指令,当所述计算机指令被所述处理器执行时,使得所述第二设备执行如权利要求1-9中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-9中任一项所述的方法。
CN202211006265.3A 2022-08-22 2022-08-22 一种图像位姿的计算方法及系统 Active CN115115708B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211006265.3A CN115115708B (zh) 2022-08-22 2022-08-22 一种图像位姿的计算方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211006265.3A CN115115708B (zh) 2022-08-22 2022-08-22 一种图像位姿的计算方法及系统

Publications (2)

Publication Number Publication Date
CN115115708A CN115115708A (zh) 2022-09-27
CN115115708B true CN115115708B (zh) 2023-01-17

Family

ID=83335406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211006265.3A Active CN115115708B (zh) 2022-08-22 2022-08-22 一种图像位姿的计算方法及系统

Country Status (1)

Country Link
CN (1) CN115115708B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109974743A (zh) * 2019-03-14 2019-07-05 中山大学 一种基于gms特征匹配及滑动窗口位姿图优化的rgb-d视觉里程计
CN114494150A (zh) * 2021-12-30 2022-05-13 杭州电子科技大学 一种基于半直接法的单目视觉里程计的设计方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108416385A (zh) * 2018-03-07 2018-08-17 北京工业大学 一种基于改进图像匹配策略的同步定位与建图方法
CN110223348B (zh) * 2019-02-25 2023-05-23 湖南大学 基于rgb-d相机的机器人场景自适应位姿估计方法
CN110120101B (zh) * 2019-04-30 2021-04-02 中国科学院自动化研究所 基于三维视觉的圆柱体增强现实方法、系统、装置
CN111179427A (zh) * 2019-12-24 2020-05-19 深圳市优必选科技股份有限公司 自主移动设备及其控制方法、计算机可读存储介质
CN111210463B (zh) * 2020-01-15 2022-07-15 上海交通大学 基于特征点辅助匹配的虚拟宽视角视觉里程计方法及系统
CN111652934B (zh) * 2020-05-12 2023-04-18 Oppo广东移动通信有限公司 定位方法及地图构建方法、装置、设备、存储介质
US20220114713A1 (en) * 2020-10-14 2022-04-14 Mitsubishi Electric Research Laboratories, Inc. Fusion-Based Digital Image Correlation Framework for Strain Measurement
CN113888452A (zh) * 2021-06-23 2022-01-04 荣耀终端有限公司 图像融合方法、电子设备、存储介质及计算机程序产品
CN113793379A (zh) * 2021-08-12 2021-12-14 视辰信息科技(上海)有限公司 相机姿态求解方法及系统、设备和计算机可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109974743A (zh) * 2019-03-14 2019-07-05 中山大学 一种基于gms特征匹配及滑动窗口位姿图优化的rgb-d视觉里程计
CN114494150A (zh) * 2021-12-30 2022-05-13 杭州电子科技大学 一种基于半直接法的单目视觉里程计的设计方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Re-weighting and 1-Point RANSAC-Based PnP Solution to Handle Outliers;Haoyin Zhou et al;《 IEEE Transactions on Pattern Analysis and Machine Intelligence》;20180923;第41卷(第12期);第3022-3032页 *

Also Published As

Publication number Publication date
CN115115708A (zh) 2022-09-27

Similar Documents

Publication Publication Date Title
CN109974693B (zh) 无人机定位方法、装置、计算机设备及存储介质
CN110702111B (zh) 使用双事件相机的同时定位与地图创建(slam)
CN110555901B (zh) 动静态场景的定位和建图方法、装置、设备和存储介质
CN107990899B (zh) 一种基于slam的定位方法和系统
EP2715667B1 (en) Planar mapping and tracking for mobile devices
WO2015135323A1 (zh) 一种摄像机跟踪方法及装置
US20130335529A1 (en) Camera pose estimation apparatus and method for augmented reality imaging
CN111127524A (zh) 一种轨迹跟踪与三维重建方法、系统及装置
CN107329962B (zh) 图像检索数据库生成方法、增强现实的方法及装置
CN113048980B (zh) 位姿优化方法、装置、电子设备及存储介质
JP7280385B2 (ja) 視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体
CN111415420B (zh) 空间信息确定方法、装置及电子设备
CN110335351A (zh) 多模态ar处理方法、装置、系统、设备及可读存储介质
CN109902675B (zh) 物体的位姿获取方法、场景重构的方法和装置
CN110825079A (zh) 一种地图构建方法及装置
CN114120301A (zh) 一种位姿确定方法、装置及设备
CN112991441A (zh) 相机定位方法、装置、电子设备及存储介质
CN113610967B (zh) 三维点检测的方法、装置、电子设备及存储介质
CN112258647B (zh) 地图重建方法及装置、计算机可读介质和电子设备
CN114185073A (zh) 一种位姿显示方法、装置及系统
CN115115708B (zh) 一种图像位姿的计算方法及系统
CN114882106A (zh) 位姿确定方法和装置、设备、介质
CN115914841A (zh) 一种被动式光学运动捕捉方法
CN110060343B (zh) 地图构建方法及系统、服务器、计算机可读介质
CN114187344A (zh) 一种地图构建方法、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant