CN108475433B - 用于大规模确定rgbd相机姿势的方法和系统 - Google Patents

用于大规模确定rgbd相机姿势的方法和系统 Download PDF

Info

Publication number
CN108475433B
CN108475433B CN201680079092.4A CN201680079092A CN108475433B CN 108475433 B CN108475433 B CN 108475433B CN 201680079092 A CN201680079092 A CN 201680079092A CN 108475433 B CN108475433 B CN 108475433B
Authority
CN
China
Prior art keywords
relative
pose
image frames
poses
image
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
CN201680079092.4A
Other languages
English (en)
Other versions
CN108475433A (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.)
Magic Leap Inc
Original Assignee
Magic Leap Inc
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 Magic Leap Inc filed Critical Magic Leap Inc
Priority to CN202111418174.6A priority Critical patent/CN114119751A/zh
Publication of CN108475433A publication Critical patent/CN108475433A/zh
Application granted granted Critical
Publication of CN108475433B publication Critical patent/CN108475433B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/10Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20224Image subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

一种确定相机姿势的方法,其包括:使用相机捕获多个图像帧,计算每组图像帧对之间的相对姿势以提供相对姿势集合和未分类的相对姿势集合,以及检测并移除错误分类的相对姿势以提供剩余的相对姿势集合。该方法还包括使用剩余的相对姿势集合来确定全局姿势,并且计算错误分类的相对姿势的至少一部分和未分类的相对姿势集合的至少一部分的扩展的相对姿势以提供扩展的相对姿势集合和扩展的未分类的相对姿势集合。该方法进一步包括检测并移除扩展的错误分类的相对姿势以提供剩余的扩展的相对姿势集合,并且使用剩余的相对姿势集合和剩余的扩展的相对姿势集合来确定多个图像帧的更新的全局姿势。

Description

用于大规模确定RGBD相机姿势的方法和系统
相关申请的交叉引用
本申请要求于2016年11月20日提交的标题为“用于大规模RGBD姿势估计的方法和系统(Methods and Systems for Large-Scale RGBD Pose Estimation)”的美国临时专利申请No.62/258,316的优先权,其公开内容通过引用整体并入本文目的。
背景技术
3D重建是3D计算机视觉中最受欢迎的主题之一,在绘图、机器人、虚拟现实、增强现实、建筑、游戏、电影制作等领域具有广泛的应用。3D重建系统可以采用RGB(红-绿-蓝)、RGBD(红-绿-蓝-深度)或仅深度格式的图像作为输入,并生成图像的3D表示,例如3D网格。在3D重建系统的处理过程中,关键组成之一是姿势估计:恢复与每个输入图像相关联的每个相机姿势。相机姿势可以包括相机的焦距、位置和/或旋转方向和角度。
最近,凭借诸如Kinect、Google Tango和Intel Realsense低成本RGBD传感器的可用性,利用这样的可用设备能够轻松捕获RGBD图像并将其用于3D重建。
然而,为了重建高质量的3D网格,准确度要求非常高。相机姿势应该是全局和本地一致的。然而,目前的技术无法为大规模场景的RGBD图像的姿势估计提供鲁棒而准确的端到端框架解决方案。
发明内容
本发明通常涉及用于确定作为时间的函数的相机的位置和方位(即姿势)的方法和系统。更具体地,本发明的实施例提供用于至少部分地基于图像帧之间的相对相机姿势来确定全局参考系中的相机姿势的方法和系统。本发明适用于计算机视觉和3D重建中的各种应用。
根据本发明的实施例,提供了一种确定多个图像帧的相机姿势的方法。该方法包括使用相机捕获多个图像帧,计算每组图像帧对之间的相对姿势以提供相对姿势集合和未分类的相对姿势集合,以及从相对姿势集合中检测并移除错误分类的相对姿势以提供剩余的相对姿势集合。该方法还包括使用剩余的相对姿势集合来确定多个图像帧的全局姿势,并且计算至少一部分错误分类的相对姿势和至少一部分未分类的相对姿势集合的扩展相对姿势以提供扩展相对姿势集合和扩展未分类的相对姿势集合。该方法进一步包括从扩展的相对姿势集合中检测并移除扩展错误分类的相对姿势以提供剩余的扩展的相对姿势集合,并且使用剩余的相对姿势集合和剩余的扩展的相对姿势集合来确定多个图像帧的更新的全局姿势。
根据本发明的另一实施例,提供了一种非瞬态计算机可读存储介质,其包括在计算机可读存储介质上有形地体现的多个计算机可读指令,这些计算机可读指令在由数据处理器执行时确定多个图像帧的相机姿势。多个指令包括使得数据处理器使用相机捕获多个图像帧的指令,使得数据处理器计算每组图像帧对之间的相对姿势以提供相对姿势集合以及未分类的相对姿势集合的指令,以及使得数据处理器从相对姿势集合中检测并移除错误分类的相对姿势以提供剩余的相对姿势集合的指令。该多个指令还包括使得数据处理器使用剩余的相对姿势集合来确定多个图像帧的全局姿势的指令,以及使得数据处理器计算至少一部分错误分类的相对姿势和至少一部分未分类的相对姿势集合的扩展相对姿势以提供扩展相对姿势集合和扩展的未分类的相对姿势集合的指令。多个指令进一步包括使得数据处理器从扩展的相对姿势集合中检测并移除扩展的错误分类的相对姿势以提供剩余的扩展的相对姿势集合的指令,以及使得数据处理器使用剩余的相对姿势集合和剩余的扩展的相对姿势集合来确定多个图像帧的更新的全局姿势的指令。
相对于常规技术通过本发明获得许多益处。例如,本发明的实施例提供了用于确定全局参考系中的相机姿势的方法和系统,其可用于随后的3D重建。此外,本发明的实施例提供了用于确定不仅全局一致而且局域一致的相机姿势的方法和系统。另外,本发明的实施例对于众所周知的困难情况是稳健的,诸如具有重复图案的场景,缺少特征的场景,突然的相机移动和多房间设置。结合下文和附图更详细地描述本发明的这些和其他实施例以及其许多优点和特征。
附图说明
专利或申请文件至少包含一张以彩色执行的附图。当请求并且支付必要费用时,带有彩色附图的本专利或专利申请公开的副本由官方来提供。
构成本公开的一部分的附图示出几个实施例,并且与说明书一起用于解释所公开的原理。
图1是示出根据示例性实施例的用于大规模RGBD姿势估计的系统的框图。
图2是示出根据本发明实施例的执行大规模RGBD姿势估计的方法的简化流程图。
图3是示出根据本发明实施例的用于计算图像帧之间的相对姿势的方法的简化流程图。
图4A是根据本发明实施例的从第一相机姿势捕获并且基于特征描述符利用检测和匹配的特征标记的第一RGB图像帧。
图4B是根据本发明实施例的从第二相机姿势捕获并且基于特征描述符利用检测和匹配的特征标记的第二RGB图像帧。
图4C是根据本发明实施例的利用在3D特征过滤之后产生的特征匹配所标记的图4A中所示的第一RGB图像帧。
图4D是根据本发明实施例的利用在3D特征过滤之后产生的特征匹配标记的图4B中所示的第二RGB图像帧。
图5A示出根据本发明实施例的与两个不同相机姿势相关联的一组点云的透视图。
图5B示出根据本发明实施例的与图5A中所示的两个不同相机姿势相关联的一组点云的平视图。
图5C示出根据本发明实施例的具有优化相对姿势的与图5A中所示的两个不同相机姿势相关联的一组点云的透视图。
图5D示出根据本发明实施例的具有优化相对姿势的与图5C中所示的两个不同相机姿势相关联的一组点云的平视图。
图6A是根据本发明实施例的相对姿势的矩阵表示。
图6B是根据本发明实施例的扩展相对姿势的矩阵表示。
图6C是示出根据本发明实施例的一系列相机姿势和图像帧的示意图。
图7A和图7B是根据本发明实施例的对于两个图像帧的RGB图像。
图7C示出与图7A和图7B中的RGB图像相关联的一组点云的透视图。
图7D示出与图7A和图7B中的RGB图像相关联的一组点云的平面图。
图8示出根据本发明实施例的示出深度图和参考全局坐标的一系列图像姿势的平面图。
图9是示出根据本发明实施例的计算扩展相对姿势的方法的简化流程图。
图10示出根据本发明实施例的示出深度图和参考全局坐标的一系列细化图像姿势的平面图。
图11是示出根据本发明实施例的用于细化姿势的方法的简化流程图。
图12A-图12C是示出根据示例实施例在姿势细化的不同迭代时的3D网格结果的图形表示。
具体实施方式
现在将详细参考示意性实施例,这些实施例的示例示出在附图中。以下描述参考附图,其中除非另有说明,不同附图中的相同编号表示相同或相似的元件。在与本发明一致的示例性实施例的以下描述中阐述的实施方式不代表与本发明一致的所有实施方式。相反,它们仅仅是与本发明相关的方面一致的系统和方法的示例。
图1是示出根据示例性实施例的用于大规模RGBD姿势估计的系统100的框图。该系统可以包括相机101、处理器102和存储器103。一些组件可以是可选的。某些组件可以是本地的、在线的或基于云的。
相机可以捕获多个场景的RGB、RGBD或仅深度信息,并将这些信息传送给处理器。RGB、RGBD或仅深度信息可以是静止形式(formation)(即,图片)或者可以是包括至少一个帧的视频格式。在特定实施例中,相机是例如以预定帧速率捕获帧的RGBD视频相机。相机可以是独立设备或者是包括相机、处理器和存储器的单个设备的一部分。相机也可以是多个相机,例如捕获RGB信息的第一相机和捕获深度信息的第二相机。
存储器可以是存储指令的非瞬态计算机可读存储介质,其中指令在由处理器执行时执行下面描述的方法/步骤。
在一些实施例中,处理器和存储器可以是基于云并且独立于相机。图片或视频可以通过例如手机相机的相机进行捕获,并且可以上传到一个或多个(基于云)的服务器。一个或多个服务器可以包括一个或多个处理器和一个或多个存储器,其实现下面描述的方法/步骤。如在此更全面描述,本发明的实施例接收RGBD输入(例如,视频流)并且对于使用相机捕获的每帧输出相机姿势的世界坐标。使用该信息,每帧可以与每个其他帧相关联,从而导致相机轨迹的可用性,随着帧被捕获,该轨迹描述相机如何在世界中移动。因此,本发明的一些实施例将输入的RGBD视频流转换成作为时间的函数的相机姿势,例如映射到每个帧被捕获的时间,然后可以使用在3D图像重建应用中。关于3D重建和3D网格的附加描述相关地提供在图12A至图12C和2016年9月23日提交的标题为“用于在3D重建中检测与结合结构特征的方法和系统(Methods and Systems for Detecting and Combining StructuralFeatures in 3D Reconstruction)”的美国专利申请No.15/274,823,出于所有目的,其公开内容在此通过引用整体并入。
相机110可以输出RGBD图像以及相机固有参数,包括焦距、相机分辨率、主点、一个或多个失真参数等。再参考图1,除了相机110之外,该系统包括惯性测量单元(IMU)112。IMU可用于收集与每帧相关联的或者作为时间的函数的相机的相对位置和方向有关的数据。IMU数据可以包括角速度、加速度和重力方向。使用这些参数,可以确定参考系中的x/y/z位置以及参考系中的俯仰/偏航/滚转方向。
图2是示出根据本发明实施例的执行大规模RGBD姿势估计的方法的简化流程图。该方法包括多个步骤,其中一些步骤可以是可选的。该方法可以包括实现大规模RGBD姿势估计的框架。
在本公开中,“姿势”(即,位置和方位)可以指在捕获图像或场景时相机的姿势或一系列姿势。该系列姿势可能是依赖于时间和/或依赖于位置的。姿势可以包括位置(例如,在参考系中测量的)和方位(例如,也在可以与该参考系相同的参考系中测量的),其可以分解为旋转方向和旋转角度。
该方法包括计算图像帧之间的相对姿势(210)。计算图像帧之间的相对姿势可以包括如果在RGBD图像对之间存在足够的重叠区域,即如关于图4A至图4D所讨论的两个图像中出现的相同对象或场景的相同部分,则估计每个图像对之间的相对姿势变化。关于图4A/图4B和图5讨论两个相机姿势的示例,其中可以计算与这两个相机姿势相关联的一对RGBD图像之间的相对姿势。在相对姿势计算中,例如在两种情况下可以找到足够的场景重叠:(1)时间上接近的图像帧通常具有足够的场景重叠以确定相对姿势;(2)具有足够特征匹配的图像帧可能具有场景重叠。
整个RGBD序列的相对姿势的示例在图6A中表示为姿势矩阵。以下参照图3更全面地描述与计算相对姿势有关的附加细节。
如关于图3附加详细讨论的那样,相对姿势计算(210)可以建立并恢复图像帧对之间的相对姿势。输入的RGBD图像集合可以是在不同时间拍摄的单独的RGBD图像或由多个连续帧组成的RGBD视频流。本公开中描述的方法/框架可以与两种情况一起工作,但是在不失一般性的情况下,使用RGBD视频流作为示例。
图3是示出根据本发明实施例的用于计算图像帧之间的相对姿势的方法的简化流程图。参考图3,该方法包括基于帧之间的时间间隔的阈值来分类多个图像帧对(310)。例如,阈值可以是2秒,但是本发明不限于该阈值,并且可以使用其他值,例如小于1/15秒、1/10秒、1/6秒、1/5秒、1/2秒、1秒、3秒、4秒、5秒或多于5秒。在实施例中,在彼此的2秒内捕获的一对图像帧被分类为“时间上接近的”图像帧(320)。如果一对图像帧在大于阈值的帧捕获之间被延迟捕获,则这些图像帧对被分类为“时间上远的”帧(330)。一对图像帧的示例是图4A和图4B所示的图像,它们在不同的时间并且根据不同的相机姿势捕获。
对于时间上接近的图像帧,可以假定相机姿势在图像帧之间没有显著变化。因此,由于初始相对姿势应接近最佳相对姿势,所以可以对于时间上接近的图像帧执行相对姿势优化(322)。因此,对于时间上接近的帧,单位矩阵可以直接用作初始化以执行相对姿势优化(322)。作为示例,来自时间上接近的帧的深度数据可以被对准以提供图像帧之间的优化相对姿势。例如,可以利用基于对准的ICP(迭代最近点)与深度数据一起使用来优化相对姿势。参考图6A,时间上接近的图像帧对与矩阵的主对角线相邻。
对于时间上远的图像帧对,由于相机姿势的变化,在图像帧之间找到显著重叠的可能性较小。因此,初始化由步骤332、334和336提供。对于时间上远的图像帧对,该方法包括使用图像帧的RGB数据来执行特征检测和特征匹配(332)以提供具有足够场景重叠的一组候选特征对。特征检测可以通过包括尺度不变特征变换(SIFT)、加速鲁棒特征(SURF)、来自加速段测试的特征(FAST)等的方法来实现。特征匹配可以通过包括基于词汇树的方法或基于Kd树的方法的方法来实现。
图4A是根据本发明实施例的从第一相机姿势捕获并且基于特征描述符利用检测和匹配的特征标记的第一RGB图像帧。图4B是根据本发明实施例的从第二相机姿势捕获并且基于特征描述符利用检测和匹配的特征标记的第二RGB图像帧。图4C是根据本发明实施例的利用在3D特征过滤之后产生的特征匹配所标记的图4A中所示的第一RGB图像帧。图4D是根据本发明实施例的在3D特征过滤之后产生的特征匹配所标记的图4B中所示的第二RGB图像帧,例如图3中步骤336之后。
参考图4A和图4B,在图4和图4B中分别所示的两个图像帧之间匹配的检测/匹配特征由覆盖在RGB图像上的各种颜色的点来表示。一旦检测到特征,就基于其相邻像素针对每个特征计算描述符。然后使用特征描述符来匹配图像帧之间的特征,例如,通过将阈值应用到特征描述符之间的距离。本领域的普通技术人员将认识到许多变化、修改和替代。
举例来说,通过实现特征检测和特征匹配,检测和匹配的特征可以通过图像帧上的点对来标记,每个点定位每个图像帧中的特定特征。参考图4A和图4B,在两个图像帧中检测并匹配由红点410表示的特征。另外,在两个图像帧中也检测并匹配由浅绿色点412表示的第二特征。如图4A和图4B所示,两个图像帧中的红色点410和红色点411包括一侧的暗材料和另一侧的较亮材料。然而,尽管颜色特征相似或相同,但是这些区域位于彼此非常不同的位置处,即图4A中的红点410位于靠近长凳的墙壁上,但是图4B中的红点411位于座椅靠背的边缘上。因此,如图4C和4D所示,一旦已经执行3D特征过滤,特征410和411(以及它们之间的匹配)都不存在。因此,在3D过滤之后,通常会保留初始检测和匹配特征的子集。
如果特征匹配的数量超过预定阈值,例如10个特征匹配(333),则做出确定。如果特征匹配的数量低于阈值,则正在被分析的图像帧对被定义为类型1未分类图像帧对(350)。在图6A中,这些未分类的类型1对以浅灰色示出,并且在这种情况下,因为特征匹配的数量较少,表示不存在相对姿势,以及没有尝试计算图像帧对之间的相对姿势。
该方法还包括,如果特征匹配的数量超过预定阈值,则尝试候选特征对过滤(334),其也可以被称为3D特征过滤。在特征检测和匹配(332)之后获得的特征被反投影到相关联的深度图像上以获得2D特征的对应3D点。在实施例中,在所有反投影的3D特征匹配之上使用随机抽样一致(RANSAC)算法对于候选特征对进行过滤以获得至少具有K(K是预设数量)内点(inlier)匹配的帧对。图4C和图4D示出在使用RANSAC进行候选特征过滤之后匹配的3D特征对,其中K=10。如本领域技术人员清楚的那样,可以使用这里描述的方法来找到最大化帧到帧匹配的特征匹配的最佳集合。
如上所述,分析候选特征对以确定3D特征匹配的数量是否超过第二预定阈值,例如10个3D特征匹配。如果特征匹配的数量低于第二预定阈值,则被分析的图像帧对定义为类型1未分类图像帧对(351)。在图6A中,这些未分类的类型1对以浅灰色示出,表示不存在相对姿势,并且在这种情况下,因为3D特征匹配的数量较少,不尝试计算图像帧对之间的相对姿势。
如果3D特征匹配的数量超过第二阈值,则对过程334之后获得的内点3D特征匹配执行普氏分析(Procrustes Analysis)(336)。在该分析过程中,估计图像对之间的相对变换(即,相对姿势)的最小二乘解。作为示例,图5A和图5B中示出与图像对相关联的一组点云。图5A示出根据本发明实施例的与两个不同相机姿势相关联的一组点云的透视图。相对姿势计算的中间结果示出在图5A中。图5B示出根据本发明实施例的与图5A中所示的两个不同相机姿势相关联的一组点云的平视图。全局参考系505示出在图5A和图5B中。相对姿势计算的中间结果示出在图5A中。这样,图5A和图5B示出了来自两个不同视点的相同的相对姿势:图5A中的透视图或倾斜视图,以及图5B中的俯视图或平面图。在图5A和5B中,相机姿势510对应于捕获灰色点云的相机姿势,并且相机姿势512对应于捕获红色点云的相机姿势。
参考图5A和图5B,灰色点云表示与图4A所示的图像对应的3D深度图,红色点云表示与图4B所示的图像对应的3D深度图。图4C中的墙壁430作为图5中的部分530呈现。另外,与图4C中的桌子434相邻的墙壁432作为图5A中的部分532呈现。使用这些点云,可以在实施例中使用最小二乘解来提供在相对姿势优化期间(322)使用的初始化。还应该注意的是,图4C和图4D中所示的匹配覆盖在图5A和图5B中所示的深度图上,并且可以用于姿势对准过程。
回到对于时间上接近的帧的讨论,单位矩阵可以直接用作提供给相对姿势优化(322)的初始化。在如下所述的对于最近点对的数量的分析之后,普氏分析之后提供的输出也可以用作相对姿势优化过程(322)的输入。
如果在时间上远的图像帧对之间存在足够数量的最近点对,即最近点对的数量大于第三预定阈值,则做出确定。关于确定最近点对的数量的附加描述参照图9提供。如果有足够的数量,则该过程继续进行到过程322。如果没有足够数量的最近点对,则经历分析的帧对被识别为类型1未分类帧对352(例如,深灰色帧对,因为尝试计算图像帧对之间的相对姿势,但在图像帧对之间不存在相对姿势)。
在一些实施例中,确定是否存在足够数量的最近点对以及关于过程322所讨论的优化过程被组合为单个过程,提供包括未分类帧对以及其他帧对之间的有效的相对姿势两者的识别的输出。在这些实施例中,深灰色帧对被识别为具有尝试过的相对姿势计算,但是帧对在相对姿势优化过程的初始部分期间被识别为未分类。本领域的普通技术人员将认识到许多变化、修改和替代。
相对姿势优化过程(322)可以使用数值优化来细化初始相对姿势解(例如,图5A和图5B中所示的相对姿势)以提供优化的相对姿势解(例如,图5C和5D中所示的相对姿势)。优化可以包括利用最近点约束、边界点约束、3D特征约束、IMU旋转约束等进行优化。最近点约束可以测量两个深度图像的对准程度。边界点约束可以测量两个深度图像中对象边界的对准程度。3D特征约束可以处罚(penalize)两帧之间的匹配特征3D距离的差异。IMU旋转约束可以确保一对之间的相对旋转接近IMU测量的相对旋转。
由相对姿势优化(322)产生的相对姿势示于图5C和图5中,其相应地比图5A和图5B中所示的由初始化提供的姿势更精确(在对于时间上接近的姿势的310之后,在对于时间上远的姿势的336或338之后)。
图3中所示的方法的输是多个图像帧对之间的相对旋转和平移(340)。因此,总之,图3示出了用于计算相对姿势的方法(210)。
应该理解的是,图3所示的具体步骤提供了根据本发明实施例的计算图像帧之间的相对姿势的特定方法。根据替代实施例也可以执行其他步骤顺序。例如,本发明的替代实施例可以以不同的顺序执行上面概述的步骤。而且,图3中所示的单独步骤可以包括多个子步骤,其可以以该单独步骤适合的各种顺序执行。此外,取决于特定的应用,可以添加或移除额外的步骤。本领域的普通技术人员将认识到许多变化、修改和替代。
再次参考图2,该方法包括检测错误分类的姿势(212)。如在此所述,图像帧之间的相对姿势被用来执行全局姿势估计。然而,从步骤210计算出的一些相对姿势可能不正确。发明人已经确定大量的错误分类的相对姿势可能导致全局姿势估计过程(步骤214)失败。因此,本发明的实施例提供了一种错误分类的姿势检测过程(步骤212),在该过程中,在步骤210中确定的每个相对姿势被分析以过滤出错误分类的相对姿势,并从具有有效的相对姿势的这些中分离出具有错误分类的相对姿势的图像帧。在本公开中,错误分类的相对姿势可以包括不能或不应该用于姿势估计的姿势。
在多种情况下可能会发生错误分类的相对姿势,包括:(1)重复图案;(2)错误的3D特征过滤(例如,错误的RANSAC匹配);以及(3)相对姿势优化中的局部最小值。例如,图7A和7B示出具有错误分类的相对姿势的图像对。
图7A和图7B是根据本发明的实施例的用于两个图像帧的RGB图像。参考图7A,长凳背部的座椅靠背包括在图像帧中。座椅靠背包括许多以重复图案为特征的垂直条纹。参考图7B,座椅靠背的左侧包含在图像帧中。在特征检测和匹配期间,检测到图7A中的特征710和712。图7B中的特征720和722被检测并匹配到特征710和712。这种不正确的匹配可能是由座椅靠背中的条纹的重复图案造成的。因此,座椅靠背中部附近的特征710和712分别与座椅靠背左侧的特征720和722错误地匹配。这种不正确的匹配可能导致确定一对图像帧具有彼此相对的姿势对准,而实际上,图像帧没有任何重叠区域。如下所述,通过本发明的实施例检测并移除由例如上面讨论的不正确的颜色匹配导致的错误表征的姿势。
根据本发明的实施例,可以使用几种不同的机制来检测和过滤错误分类的姿势,也被称为不准确或不正确的相对姿势,包括旋转和位置(Rotation and Position)、IMU测量、遮挡(Occlusion)、对准点数和逐像素差,下面将更全面地描述其中的每一个。在一些实施方式中,在后续姿势估计过程中使用与错误表征姿势的检测有关的图像帧对传送规则。
旋转和位置。这种机制可以应用于时间上接近的对。因为这些对是在接近的时间戳(假设使用视频流示例)下捕获的,所以每对中应该只有少量的移动。因此,如果计算出的相对旋转或位置太大(例如,超过预定阈值),则时间上接近的对可以被丢弃。
IMU测量。该机制将来自步骤210的估计的相对位置和/或旋转(即,过程步骤340的输出)和从IMU测量计算出的相对位置和/或旋转之间的差值与预定阈值进行比较。IMU提供关于与每个图像帧相关的相机的位置和方位的信息。在一些实施例中,IMU测量可能具有与位置、方位或位置和方位相关的一定程度的不准确性。因此,本发明的实施例结合其他信息利用IMU测量。
可以比较图像帧对的IMU测量(或基于这些测量的信息),并且如果IMU测量之间的差值超过给定图像对的阈值,则给定的图像对可以被识别为具有错误分类的相对姿势,如在图6A或图6B中由橙色(类型4)像素表示的图像对中所示。对于这些图像对,通过将图像帧对分类为具有错误分类的相对姿势,可以在全局姿势估计过程期间忽略相对姿势。
参考图6C,相机姿势660具有该区域的左下象限的位置和方位。相机姿势680具有该区域的右上象限的位置和方位。共同的特征可能存在于两个图像帧662和682中。例如,如果相机正在移动通过类似建筑的复合体的院落,则这两个图像帧由于对这些类似建筑进行成像可能共享相同的元素。因此,相对姿势计算可以确定存在的有效的相对姿势。然而,IMU测量将提供在不同时间的相机的方位有关的信息,这些信息彼此大体上相反。因此,使用IMU测量,这些图像帧的初始相对姿势计算将被更新为指示错误分类的相对姿势已经被确定。本领域的普通技术人员将认识到许多变化、修改和替代。
遮挡。该机制可以检查3D中的图像对的深度图和相机姿势,并通过可见性检查确定它们的相对姿势是否正确。图7C和图7D描述了从叠加图像的两个不同视角确定相互遮挡的深度图的示例。在图7C和图7D中,相对姿势不正确。因此,他们的相对姿势应该被检测为分类错误的姿势并被忽略。
图7C示出了与图7A和图7B中的RGB图像相关联的一组点云的透视图。图7D示出与图7A和图7B中的RGB图像相关联的一组点云的平面图。参考图7C,相机姿势750与捕获灰色点云的相机姿势对应,其与图7A中的RGB图像相关联。相机姿势752与捕获红色点云的相机姿势对应,其与图7B中的RGB图像相关联。深度图之间的对准是基于如关于图7A和图7B所讨论的座椅靠背上的特征的匹配。如图7D所示,具有匹配特征的座椅靠背的部分由重叠部分760示出。如图7A-7D中所示,在图7A、图7C和图7D中示出桌子710后面的后墙的短段755。在图7B、图7C和图7D中示出桌子710后面的后墙的长段757。
如图7D中所示,后墙(短段755和长段757)违反遮挡机制。如果与图7B中的RGB图像相关联的红色深度图是准确的,则与与图7A中的RGB图像相关联的灰度深度图相关联的相机(视点)将不会观察到后墙图案,该后墙图案在物理上位于由红色深度图表示的不透明对象后面。换句话说,如果基于特征匹配的相对姿势是正确的,则短段755和长段757将对准。相反,它们偏移距离D。图6A和图6B中的类型5像素是不能通过该遮挡规则的示例性对。
对准点数。如果对之间的对准深度点的数量小于阈值,则该机制确定相对姿势是错误分类的。具有精确的相对姿势的图像对可能暗示它们的深度图对准地好,并且对准的深度点的数量非常大(例如,超过预定阈值)。
逐像素差。如果相应帧的颜色偏差过大,该机制将相对姿势确定为错误分类。深度图的所有深度点都具有来自相应RGB图像的相关联颜色。示例是图7C和图7D中的深度图以及图7A和图7B中的相应的RGB图像。良好的相对姿势的对准深度点可以具有良好对准颜色。颜色差异可以累积在所有对准的深度点上。通过比较每对深度点之间的颜色差异并对特定数量的点求和,可以量化整体颜色差异。将量化的整体颜色差异与预定阈值进行比较可以确定相对姿势的质量并且用于检测错误分类的姿势。
图6A示出了从步骤210和212的相对姿势计算以及检测和移除(即,标记)产生的相对姿势的矩阵表示。图6B示出了从下面参考步骤216和218描述的扩展的错误表征相对姿势的扩展的相对姿势计算以及检测和移除(即,标记)生成的扩展的相对姿势的矩阵表示。矩阵表示的轴是如下更全面描述的帧号。
图6A和图6B各自示出N×N矩阵,其中N是特定输入图像或图像帧的帧号。每个右上三角形或左下三角形中的每个像素表示一对图像帧,其包括与像素的列号对应的第一图像帧和与该像素的行号对应的第二图像帧。由于主对角线仅将图像帧与自身进行比较,因此沿着主对角线的矩阵的元素没有值。
图6A的右上三角形中的像素颜色(即,值)表示用于确定给定图像帧之间的相对姿势而获得的计算结果。例如,圆圈610突出图像帧号28×10和29×10。在210处计算这两个图像帧对之间的相对姿势作为有效的相对姿势,并且因为在这些图像帧对之间存在有效的相对姿势,所以如下面更全面描述,这些图像帧对以浅绿色表示。圆圈612突出图像帧号1-10×~50-60。对于这些图像帧对,一些图像帧对具有有效的相对姿势(浅绿色),而其他图像帧对具有如关于过程212更全面描述的错误分类的相对姿势(橙色)。
图6A的左下三角形中的像素颜色(即,灰度)表示与右上角三角形中的对应计算的相对姿势相关联的置信度值或级别,其中较亮的像素强度指示相对姿势计算中的较高置信度。根据本发明的实施例,计算中的置信度是一个或多个参数的函数。例如,也可以被称为权重的置信度可以是关于图9所讨论的最近点对的数量的函数,其可以用于图像帧对之间的重叠区域的大小的代表。置信度可以是如通过过程334所确定的图像帧对之间的3D特征匹配的数量的函数。另外,因为扩展有效的相对姿势是基于关于过程210-214讨论的有效的相对姿势的初始确定,所以当强调帧对的扩展有效的相对姿势与帧对的有效的相对姿势相比时,置信度可能较低。
图6C是示出根据本发明实施例的一系列相机姿势和图像帧的示意图。在图6C中,作为时间的函数的一系列相机姿势由代表相机的蓝色三角形示出,该相机正在移动通过与坐标轴655相关联的全局参考系。相关联的深度图也在图6C中示出。在相机姿势660处,相机捕获与图像帧662(棕褐色)相关联的视场,对所示区域的左下角进行成像。在相机姿势670处,相机捕获与图像帧672(红色)相关联的视场,对所示区域的顶部中心进行成像。在相机姿势680处,相机捕获与图像帧682相关联的视场,对所示区域的右上角进行成像。
如图6C所示,相机姿势660是相关联的图像帧662,其与相机姿势670或相机姿势680相关联的图像帧不共享重叠。参考图6A,图像帧对1×30没有有效的相对姿势,指示相对姿势计算导致确定不可能确定图像帧1的相对姿势相对于图像帧30的姿势。相反,相机姿势670和680与共享重叠区域的图像帧672和682相关联。因此,可以基于相关联的图像帧对中存在的共同特征来确定相机姿势670和680之间的相对姿势。
与图像帧672和682类似,在帧对10和28以及帧对10和29中存在足够的重叠和/或共同的信息以将这些图像帧(即,10至28和10至29)相互参考。换句话说,图像帧10和28可以相互参考,例如,与图像帧10相关联的相机姿势是预定姿势(P10)。与图像帧28(P28)相关联的相机姿势可以通过相机的平移和旋转来参考P10,例如,沿着x轴平移100cm并围绕y轴旋转30°。
图6A示出了与相对的帧到帧姿势计算相关联的几个条件:
深灰色(类型1)-未分类-执行计算图像帧对之间相对姿势的尝试,但不存在图像帧对之间的相对姿势
浅灰色(类型1)-未分类-未执行计算图像帧对之间的相对姿势的尝试。图像帧对之间不存在相对姿势
浅绿色(类型2)-存在图像帧对之间的有效的相对姿势
橙色(类型4)-存在(基于IMU测量的)图像帧对之间的错误分类的相对姿势
黑色(类型4)-存在(基于遮挡的)图像帧对之间的错误分类的相对姿势
应该注意的是,尽管在图6A中示出基于IMU测量或遮挡的错误分类,基于其他信息的其他错误分类也包括在类型4类别的范围内。作为示例,旋转和位置、对准点数、逐像素差等。
参考上面的类别,类型1帧对被称为未分类,并且包括如下帧对:已经进行确定相对相机姿势的尝试,但没有找到有效的相对姿势(深灰色)的帧对,以及没有尝试确定相对姿势的尝试(浅灰色)的帧对。作为示例,对于不存在共同特征的帧对可以不进行确定(即,计算)相对姿势的尝试。
再次参考图2,方法200还包括使用相对姿势来估计全局姿势(214)。全局姿势估计214可以在大规模优化框架中进行,其可以计算全局坐标中的所有图像帧的全局姿势。在该过程中,基于包括相对姿势约束、IMU约束、平面约束、平滑度约束等在内的多个约束,利用全局姿势估计来将图像姿势(例如,所有图像姿势)参考到全局坐标,作为大规模优化问题的要素。
相对姿势约束可以确保所得到的全局姿势满足由相对姿势描述的相对变换。IMU约束可以惩罚所得到的全局姿势的旋转与其对应的IMU测量之间的偏差。平面约束可以确保墙表面良好对准。作为示例,对于每个深度图,可以提取平面。参考全局坐标的过程然后执行这些提取的平面的对准。在利用视频流输入的实施例中,平滑度约束可以确保相机移动平滑。本领域的普通技术人员将认识到许多变化、修改和替代。
在全局姿势估计过程中,相机姿势在全局坐标805中被恢复。每个相机姿势及其相关联的RGBD图像以全局一致的方式放置在空间中。如图8所示,从过程212获得图像对之间的大量相对姿势,并且该过程估计沿着捕获路径的原始轨迹的恢复的相机位置。图8还在全局坐标中显示了可视化为点云的相关联的深度图。例如,线可以代表墙,并且当许多图像的这些线被叠加时,清晰(crisp)的线可能意味着图像良好对准并且相关联的姿势估计是准确的,而粗线可能意味着相反。
图8示出根据本发明实施例的示出深度图和参考全局坐标的一系列图像姿势的平面图。在图8中,与多个图像帧相关联的所有深度图810被覆盖并参考到全局参考系805。给定相对姿势和相关联的深度图,执行优化过程以将每个相机姿势参考到全局坐标。每个图像帧的相机姿势820在相机移动通过该区域时作为时间的函数示出。因此,在过程214之后提供图8所示的相机的恢复轨迹及其方位。
在全局坐标中注册RGBD姿势之后,可以如下所述获得所有输入的RGBD图像之间改善的空间关系。
方法200包括例如在过程214中估计全局姿势之后计算扩展的相对姿势(216)。由于附加数据(例如,空间数据)的可用性,有效的相对姿势的数量被扩展到更大数量,所以使用术语扩展的相对姿势。在该过程中,使用可用的空间信息来执行相对姿势的细化,并且输出可以由图6B中所示的扩展的相对姿势的矩阵表示来表示。在过程216中,RGBD姿势被注册在全局坐标中,提供对所有输入RGBD图像之间的空间关系更好的理解。换句话说,先前可以针对时间上接近的对和具有足够特征匹配的对来计算相对姿势。在过程216中,给定在过程214中计算的扩展相对姿势,由于姿势被注册在全局坐标中,因此可以如关于图9所讨论的计算所有空间上接近的对的相对姿势。
在一些实施例中,仅针对在过程214之后无效的帧对来执行过程216-220。例如,该过程只能针对如图6所示的类型1帧对(无有效的相对姿势)和类型4和5帧对(错误分类的相对姿势)来执行。在一些情况下,由于在方法200的这个阶段有更好的初始化可用,所以可以正确地对错误分类的帧对进行分类。
在图3所示的过程中,例如在特征检测和匹配中利用图像帧的RGB信息。与过程210-214相反,过程216-220具有可用的全局姿势估计信息。参考图8,尽管区域830附近的相机姿势可能捕获于不同的时间,例如在相机移动通过环路832之前和之后,但是它们可以紧密对准。对于在空间上接近但在时间上很远的相机姿势,可以尝试对准以确定图像帧之间的有效的相对姿势是否存在。
图9是示出根据本发明实施例的计算扩展相对姿势的方法的简化流程图。参考图9,方法900包括确定图像帧对是否是空间上接近的图像帧(过程910和911)。在这种情况下,空间上接近的帧指的是由它们的视场之间的相交表征的图像帧对,其可以由观看范围和观看方向表征,并且在点对之间重叠来表征。视场也可以被称为视锥(frustum)。
在一些实施例中,确定图像帧对是否是空间上接近的图像帧对,如图9所示,包括执行视锥相交分析(910)。对于除了具有有效的相对姿势的帧对以外的所有图像帧对,将每个帧的视锥与该对中的匹配帧的视锥进行比较。如果存在3D中重叠,则可以确定该组视锥之间存在相交。该相交分析在一些实施例中被有效地执行。
如果两个视锥相交,这并不能保证两个场景中的对象相交。例如,这两个视图可能是墙的不同侧面,因此尽管视锥相交,但两个场景中不一定存在对象。再次参考图6B,通过视场672的右侧与视场682的左侧之间的重叠来说明视锥相交。
如果可以快速执行的910中的相交检查通过,则可以执行更彻底的逐点深度图重叠检查(911)。这也可以被称为确定给定图像帧对是否存在足够数量的最近点对。对于每个图像帧对,确定两个帧中的点对之间的重叠。通过计数接近(例如,在给定阈值下)点对的数量,重叠表面区域可以归因于接近点对的数量。对于第一帧中的每个点(点a,帧1),确定第二帧中最近的点(点b,帧2)。对于第二帧(点b,帧2),确定第一帧中的最近点(点c,帧1)。如果该最近点过程形成一个循环,使得第一帧中的点(点a,帧1)与从第二帧的角度的最近点(点c,帧1)相同,则这个点对被计数。在一些实施例中,接近点对的数量可以用作重叠表面区域的代表。
这些空间上接近的图像帧对然后可以经历扩展相对姿势优化(912)以获得相对旋转和平移的更准确的估计(914)。过程912类似于过程322,过程914类似于过程340,但是在扩展版本中。
应该理解的是,图9所示的具体步骤提供了根据本发明实施例的计算扩展的相对姿势的特定方法。根据替代实施例也可以执行其他步骤顺序。例如,本发明的替代实施例可以以不同的顺序执行上面概述的步骤。而且,图9中所示的单独步骤可以包括多个子步骤,其可以以该单独步骤适合的各种顺序执行。此外,取决于特定的应用,可以添加或移除附加的步骤。本领域的普通技术人员将认识到许多变化、修改和替代。
图6B示出了与扩展相对的帧到帧姿势计算相关联的几个条件:
深灰色(类型1)-未分类图像帧对-执行计算图像帧对之间的相对姿势的尝试,但不存在图像帧对之间的相对姿势
浅灰色(类型1)-未分类图像帧对-未执行计算图像帧对之间的相对姿势的尝试。图像帧对之间不存在相对姿势
浅绿色(类型2)-存在图像帧对之间的有效的相对姿势
深绿色(类型3)-存在图像帧对之间的有效扩展相对姿势
橙色(类型4)-存在(基于IMU测量的)图像帧对之间的错误分类的相对姿势
黑色(类型4)-存在(基于遮挡的)图像帧对之间的错误分类的相对姿势
应该注意的是,图6B包括较大数量的深灰色类型1帧对,因为在过程216中所使用的分类过程期间,利用附加的空间信息,使得能够增加尝试的帧对匹配的数量。
在右上三角形中,类型1像素表示没有找到相对姿势的图像(帧)对,类型2像素表示具有有效的相对姿势的图像(帧)对,类型3像素表示具有有效扩展相对姿势的图像(帧)对,并且类型4像素表示具有错误分类的相对姿势的图像(帧)对。在左下三角形中,像素表示右上三角形中的对应相对姿势的置信水平。更亮的像素指示更可信的相对姿势。
与图6A相比,在执行扩展相对姿势计算之后,有效的相对姿势的密度在图6B中更高。例如,在区域650中,已经添加了具有有效的扩展相对姿势的多个附加帧对。此外,在区域655中,在某些阈值下的时间上不接近的帧已被识别为具有有效的扩展相对姿势。
再次参考图2,该方法包括可能类似于上述过程212的检测附加的错误表征的姿势(218),并且可以包括从新生成的扩展的相对姿势中过滤出错误分类的相对姿势。该方法还包括使用扩展的相对姿势来估计全局姿势(220)。在该过程中,可以使用约束,包括例如先前的全局姿势估计(214)中使用的所有约束加上新的扩展相对姿势约束和结构性形状约束以获得更准确的姿势。
方法200另外包括细化姿势(222),其进一步改善姿势准确性。姿势细化可以增加姿势估计的局域一致性和准确性,如图10所示。
图10示出根据本发明实施例的示出深度图和参考到全局坐标的一系列细化图像姿势的平面图。图10可以与图8进行比较,图8示出了在图像姿势被细化之前的深度图和参考到全局坐标的一系列图像姿势的平面图。如通过比较图8和10可见,由点表示的几何形状,例如墙壁或其他几何特征,在姿势被细化之后更清晰且更简洁,这意味着来自不同帧的对应深度图更好地对准并且相关联的估计姿势更加准确。作为示例,图8中的墙壁840包括一旦姿势已经被细化就不存在于图10中的同一墙壁中的粗糙度。本领域的普通技术人员将认识到许多变化、修改和替代。
姿势细化可以迭代地求解下面(underly)的场景几何形状和相机姿势。通过足够接近的初始化和足够的迭代,几何形状和相机姿势可以收敛到如下所述的基础(ground)真实解。
图11是示出根据本发明实施例的用于细化姿势的方法的简化流程图。虽然这些姿势可能在全局范围内相对准确,但是使用图11所示的方法可以去除局域不准确性。方法1100包括接收未细化的姿势(1110)并且执行体积融合(例如,应用Curless和Levoy算法)以将所有深度图融合成截断的符号距离函数(1112)。在符号距离函数上执行体积孔填充(例如,基于体积扩散的方法)(1114)。方法1220还包括应用步进立方体(marching cubes)(1116)以将符号距离函数转换成三角形网格。在图12A至图12C中示出了在各个细化阶段的示例性3D网格。
针对每个RGBD图像渲染深度图(1118)。在深度图渲染过程中,通过将每个深度图像与所生成的三角形网格对准,即将所有深度图像相互对准,来微调每个RGBD图像的姿势。在一个示例中,对于每个RGBD图像,根据相同的相机姿势来渲染深度图。然而,渲染的深度图和与每个RGBD图像相关联的捕获到的深度图之间可能存在差异,这主要表示估计的姿势和基础真实姿势之间的差异。因此,渲染的深度图和捕获的深度图被对准(1120)。可以针对渲染的深度图实施基于ICP(迭代最近点)的对准以调整估计的姿势。
过程1112至1116可以被认为是更新几何形状,并且过程1118至1122可以被认为是更新相机姿势。本领域的普通技术人员将认识到许多变化、修改和替代。
一旦姿势被细化/更新(1122),关于细化过程的迭代(1124)做出决定。如果迭代被执行,几何形状被再次更新,因为通过使用在过程1122处接收到的细化姿势可以潜在地改善几何形状。改善的几何图形又可用于进一步细化姿势。该循环可以重复N次迭代,并且在一次或多次或每次迭代处进行粗到细的体元分辨率的修改(1130)。在另一个实施例中,可以基于相机姿势的阈值和/或最近迭代之前和之后姿势的差异来确定迭代次数。在足够次数的迭代之后,过程停止(1140)。
应该理解的是,图11所示的具体步骤提供了根据本发明实施例的细化姿势的特定方法。根据替代实施例也可以执行其他步骤顺序。例如,本发明的替代实施例可以以不同的顺序执行上面概述的步骤。而且,图11中所示的单独步骤可以包括多个子步骤,其可以以该单独步骤适合的各种顺序执行。此外,取决于特定的应用,可以添加或移除附加的步骤。本领域的普通技术人员将认识到许多变化、修改和替代。
图12A至图12C示出关于图11所描述的经过三次迭代的改进的几何形状。图12A至图12C中的每个是根据所有输入深度图的经由步进立方体生成的3D网格,其具有来自每次迭代的估计姿势。如果姿势估计准确,则观察到光滑的表面;否则,会观察到粗糙的表面。图12A示出了在一次迭代之后包含许多粗糙表面的捕获图像的表示。随着迭代次数的逐渐增加,图12B和图12C中恢复的原始场景的准确性越高。迭代可以继续,直到姿势在N次迭代后达到非常高的准确性。
再参考图2,总之,本发明的实施例提供了一种确定多个图像帧的相机姿势的方法。该方法包括使用相机(例如,RGBD相机)捕获多个图像帧,并且计算每组图像帧对之间的相对姿势以提供相对姿势集合和未分类姿势集合。相对姿势集合包括类型2(即,有效的相对姿势)和类型4(错误分类的相对姿势)图像帧对,并且未分类的相对姿势集合包括类型1图像帧对。例如,在视频实现中,可以以预定帧速率捕获多个图像帧。多个图像帧可以包括多个图像帧的每个图像帧中的每个像素的颜色数据以及深度数据。
如关于图3所讨论的,计算每组图像帧对之间的相对姿势可以包括执行:对于图像帧对的时间上接近的子集的第一过程,以及对于图像帧对的时间上远的子集的第二过程。第二过程可以包括检测并匹配时间上远的子集中的图像帧对之间的特征。第二过程可以进一步包括执行时间上远的子集中的图像帧对之间的深度匹配。
该方法还包括从相对姿势集合中检测并移除错误分类的相对姿势以提供剩余的相对姿势集合。该剩余的相对姿势集合将包括图像帧对之间的类型2有效的相对姿势,由图6B中的浅绿色对指示。该方法进一步包括使用剩余的相对姿势集合来确定多个图像帧的全局姿势。
另外,该方法包括计算至少一部分错误分类的相对姿势和至少一部分未分类的相对姿势集合的扩展相对姿势以提供扩展的相对姿势集合。该扩展的相对姿势集合将包括具有图像帧对之间的有效扩展相对姿势的类型3帧对,如图6B中的深绿色对所示,以及具有扩展的错误分类的相对姿势的帧对(类型4帧对),由图6B中的橙色和黑色帧对指示。还可以存在包括新的类型1帧对的扩展未分类的相对姿势集合。
该方法进一步包括从扩展的相对姿势集合中检测并移除扩展的错误分类的相对姿势以提供剩余扩展的相对姿势集合,其由图6B中以深绿色示出的类型3剩余扩展的相对姿势示出。该方法还包括使用关于过程214讨论的剩余相对姿势集合和剩余扩展的相对姿势集合来确定多个图像帧的更新的全局姿势。多个图像帧的全局姿势参考全局参考系。
在一些实施例中,该方法还包括通过N次迭代细化更新的全局姿势,该N次迭代可以是预定次数的迭代或者是基于迭代之间的相机姿势差异的阈值的迭代次数。此外,细化更新的全局姿势可以包括对准场景几何图形,场景几何图形从与多个图像帧的不同图像帧相关联的深度图导出。细化更新的全局姿势还可以包括将更新的全局姿势朝向针对每个更新的全局姿势的收敛进行调整。
应该理解的是,图2所示的具体步骤提供了根据本发明实施例的执行大规模RGBD姿势估计的特定方法。根据替代实施例也可以执行其他步骤顺序。例如,本发明的替代实施例可以以不同的顺序执行上面概述的步骤。而且,图2中所示的单独步骤可以包括多个子步骤,其可以以该单独步骤适合的各种顺序执行。此外,取决于特定的应用,可以添加或移除附加的步骤。本领域的普通技术人员将认识到许多变化、修改和替代。
针对用于大规模RGBD估计的方法和系统已经呈现上述描述。阐述所示步骤以解释所示的示例性实施例,并且应当预料到,正在进行的技术发展将改变执行特定功能的方式。因此,这里出于说明而非限制的目的呈现这些示例。例如,这里公开的步骤或过程不限于按照所描述的顺序执行,而是可以以任何顺序执行,并且可以省略一些步骤,与公开的实施例一致。此外,为了描述的方便,功能构建块的边界在此已被任意地定义。只要适当地执行指定的功能和关系,就可以定义替代的边界。基于这里包含的教导,相关领域的技术人员将会清楚替代方案(包括本文所述那些的等效方案、扩展方案、变化、偏离等)。这些替代方案落入所公开实施例的范围和精神内。
尽管在此描述了公开的原理的示例和特征,但是在不脱离所公开的实施例的精神和范围的情况下,可以进行修改、调整以及其他实现。此外,词语“包括(comprising)”、“具有”、“包含”和“包括(including)”以及其他类似形式旨在意义上等同并且是开放性的,这些词语中的任何一个之后的一个或多个项目不是意味着是这些一个项目或多个项目的详尽列表,或者意味着仅限于列出的一个项目或多个项目。还必须注意的是,除非上下文另有明确规定,否则如本文所使用的,单数形式“一”、“一个”和“该”包括复数形式。
此外,一个或多个计算机可读存储介质可以用于实现与本公开一致的实施例。计算机可读存储介质是指其上可以存储由处理器可读的信息或数据的任何类型的物理存储器。因此,计算机可读存储介质可以存储用于由一个或多个处理器执行的指令,包括用于使处理器执行与在此描述的实施例一致的步骤或阶段的指令。术语“计算机可读存储介质”应理解为包括有形物品并排除载波和瞬态信号,即非瞬态的。示例包括RAM、ROM、易失性存储器、非易失性存储器、硬盘驱动器、CD ROM、DVD、闪存驱动器、磁盘以及任何其他已知的物理存储介质。上述模块/单元可以以软件、硬件、固件或软件、硬件和固件的任何组合的形式来实现。例如,模块/单元可以通过执行存储在计算机可读存储器中的软件指令的处理器来实现。
还应该理解,这里描述的示例和实施例仅用于说明的目的,并且鉴于其进行的各种修改或改变将对本领域技术人员进行启示,并且将被包括在本申请的精神和范围内以及所附权利要求的范围内。

Claims (19)

1.一种确定多个图像帧的相机姿势的方法,所述方法包括:
使用相机捕获所述多个图像帧;
计算每组图像帧对之间的相对姿势以提供相对姿势集合,其中,计算所述相对姿势包括执行:
对于所述图像帧对的第一子集的第一过程,所述图像帧对的第一子集具有小于阈值的所述图像帧对的图像帧之间的时间间隔;以及
对于所述图像帧对的第二子集的第二过程,所述图像帧对的第二子集具有大于所述阈值的所述图像帧对的图像帧之间的时间间隔;
从所述相对姿势集合中检测并移除错误分类的相对姿势以提供剩余的相对姿势集合;
使用所述剩余的相对姿势集合来确定所述多个图像帧的全局姿势;
计算空间上接近的图像帧对的扩展的相对姿势以提供扩展的相对姿势集合;
从所述扩展的相对姿势集合中检测并移除扩展的错误分类的相对姿势以提供剩余的扩展的相对姿势集合;以及
使用所述剩余的相对姿势集合和所述剩余的扩展的相对姿势集合来确定所述多个图像帧的更新的全局姿势。
2.根据权利要求1所述的方法,还包括通过N次迭代细化所述更新的全局姿势。
3.根据权利要求2所述的方法,其中,细化所述更新的全局姿势包括对准从与所述多个图像帧的不同图像帧相关联的深度图导出的场景几何形状。
4.根据权利要求2所述的方法,其中,细化所述更新的全局姿势包括针对每个更新的全局姿势将所述更新的全局姿势朝向收敛调整。
5.根据权利要求2所述的方法,其中,通过N次迭代细化所述更新的全局姿势包括执行预定数量的迭代。
6.根据权利要求2所述的方法,其中,通过N次迭代细化所述更新的全局姿势包括基于迭代之间的相机姿势的差异的阈值来执行预定数量的迭代。
7.根据权利要求1所述的方法,其中,所述相对姿势集合包括有效的相对姿势和错误分类的相对姿势。
8.根据权利要求1所述的方法,其中,所述扩展的相对姿势集合包括有效的扩展的相对姿势和扩展的错误分类的相对姿势。
9.根据权利要求1所述的方法,其中,所述多个图像帧的所述全局姿势参考全局参考系。
10.根据权利要求1所述的方法,其中,所述相机包括RGBD相机。
11.根据权利要求1所述的方法,其中,所述多个图像帧以预定帧速率被捕获。
12.根据权利要求1所述的方法,其中,所述多个图像帧包括所述多个图像帧的每个图像帧中的每个像素的颜色数据和深度数据。
13.根据权利要求1所述的方法,其中,所述第二过程包括检测并匹配所述第二子集中的图像帧对之间的特征。
14.根据权利要求13所述的方法,其中,所述第二过程还包括执行所述第二子集中的图像帧对之间的深度匹配。
15.一种非瞬态的计算机可读存储介质,其包括在所述计算机可读存储介质上有形地体现的多个计算机可读指令,所述计算机可读指令在由数据处理器执行时确定多个图像帧的相机姿势,多个指令包括:
使得所述数据处理器使用相机捕获所述多个图像帧的指令;
使得所述数据处理器计算每组图像帧对之间的相对姿势以提供相对姿势集合的指令,其中,计算所述相对姿势包括执行:
对于所述图像帧对的第一子集的第一过程,所述图像帧对的第一子集具有小于阈值的所述图像帧对的图像帧之间的时间间隔;以及
对于所述图像帧对的第二子集的第二过程,所述图像帧对的第二子集具有大于所述阈值的所述图像帧对的图像帧之间的时间间隔;
使得所述数据处理器从所述相对姿势集合中检测并移除错误分类的相对姿势以提供剩余的相对姿势集合的指令;
使得所述数据处理器使用所述剩余的相对姿势集合来确定所述多个图像帧的全局姿势的指令;
使得所述数据处理器计算空间上接近的图像帧对的扩展的相对姿势以提供扩展的相对姿势集合的指令;
使得所述数据处理器从所述扩展的相对姿势集合中检测并移除扩展的错误分类的相对姿势以提供剩余的扩展的相对姿势集合的指令;以及
使得所述数据处理器使用所述剩余的相对姿势集合和所述剩余的扩展的相对姿势集合来确定所述多个图像帧的更新的全局姿势的指令。
16.根据权利要求15所述的计算机可读存储介质,其中,所述多个指令还包括使得所述数据处理器通过N次迭代细化所述更新的全局姿势的指令。
17.根据权利要求15所述的计算机可读存储介质,其中,所述相对姿势集合包括有效的相对姿势和错误分类的相对姿势。
18.根据权利要求15所述的计算机可读存储介质,其中,所述多个图像帧的所述全局姿势参考全局参考系。
19.根据权利要求15所述的计算机可读存储介质,其中,所述相机包括RGBD相机并且其中所述多个图像帧以预定帧速率被捕获。
CN201680079092.4A 2015-11-20 2016-11-18 用于大规模确定rgbd相机姿势的方法和系统 Active CN108475433B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111418174.6A CN114119751A (zh) 2015-11-20 2016-11-18 用于大规模确定rgbd相机姿势的方法和系统

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562258316P 2015-11-20 2015-11-20
US62/258,316 2015-11-20
PCT/US2016/062792 WO2017087813A1 (en) 2015-11-20 2016-11-18 Methods and systems for large-scale determination of rgbd camera poses

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202111418174.6A Division CN114119751A (zh) 2015-11-20 2016-11-18 用于大规模确定rgbd相机姿势的方法和系统

Publications (2)

Publication Number Publication Date
CN108475433A CN108475433A (zh) 2018-08-31
CN108475433B true CN108475433B (zh) 2021-12-14

Family

ID=58717957

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202111418174.6A Pending CN114119751A (zh) 2015-11-20 2016-11-18 用于大规模确定rgbd相机姿势的方法和系统
CN201680079092.4A Active CN108475433B (zh) 2015-11-20 2016-11-18 用于大规模确定rgbd相机姿势的方法和系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202111418174.6A Pending CN114119751A (zh) 2015-11-20 2016-11-18 用于大规模确定rgbd相机姿势的方法和系统

Country Status (9)

Country Link
US (3) US10313639B2 (zh)
EP (1) EP3377853A4 (zh)
JP (2) JP6902028B2 (zh)
KR (1) KR20180086218A (zh)
CN (2) CN114119751A (zh)
AU (2) AU2016355215B2 (zh)
CA (1) CA3005894A1 (zh)
IL (2) IL286156B1 (zh)
WO (1) WO2017087813A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL286156B1 (en) 2015-11-20 2024-03-01 Magic Leap Inc Methods and systems for large-scale determination of RGBD camera displays
US11227405B2 (en) * 2017-06-21 2022-01-18 Apera Ai Inc. Determining positions and orientations of objects
WO2019055260A1 (en) * 2017-09-13 2019-03-21 Xiaochun Nie SYSTEMS AND METHODS FOR CALIBRATING IMAGING SENSORS AND SPATIAL ORIENTATION
US11562505B2 (en) 2018-03-25 2023-01-24 Cognex Corporation System and method for representing and displaying color accuracy in pattern matching by a vision system
CN108921947B (zh) * 2018-07-23 2022-06-21 百度在线网络技术(北京)有限公司 生成电子地图的方法、装置、设备、存储介质以及采集实体
US11103763B2 (en) 2018-09-11 2021-08-31 Real Shot Inc. Basketball shooting game using smart glasses
US11141645B2 (en) 2018-09-11 2021-10-12 Real Shot Inc. Athletic ball game using smart glasses
CN109462746B (zh) * 2018-10-26 2020-11-06 北京双髻鲨科技有限公司 一种图像去抖的方法及装置
US11501104B2 (en) 2018-11-27 2022-11-15 Here Global B.V. Method, apparatus, and system for providing image labeling for cross view alignment
CN109544629B (zh) * 2018-11-29 2021-03-23 南京人工智能高等研究院有限公司 摄像头位姿确定方法和装置以及电子设备
CN113678168B (zh) * 2019-01-28 2023-12-15 弗劳恩霍夫应用研究促进协会 空间中的元素定位
JP2022529367A (ja) * 2019-04-24 2022-06-21 マジック リープ, インコーポレイテッド 姿勢付き単眼ビデオからの周囲推定
WO2021045536A1 (en) 2019-09-04 2021-03-11 Wilus Institute Of Standards And Technology Inc. Video encoding and decoding acceleration utilizing imu sensor data for cloud virtual reality
CN110728717B (zh) * 2019-09-27 2022-07-15 Oppo广东移动通信有限公司 定位方法及装置、设备、存储介质
US11335063B2 (en) * 2020-01-03 2022-05-17 Vangogh Imaging, Inc. Multiple maps for 3D object scanning and reconstruction
JP6928217B1 (ja) * 2020-07-31 2021-09-01 松尾建設株式会社 測定処理装置、方法及びプログラム
CN111983635B (zh) * 2020-08-17 2022-03-29 浙江商汤科技开发有限公司 位姿确定方法及装置、电子设备和存储介质
KR20220122287A (ko) 2021-02-26 2022-09-02 삼성전자주식회사 증강 현실 제공 장치의 포즈 결정 방법 및 장치
US11710272B2 (en) * 2021-03-24 2023-07-25 Disney Enterprises, Inc. Volumetric representation of digital objects from depth renderings
US20220318948A1 (en) * 2021-03-27 2022-10-06 Mitsubishi Electric Research Laboratories, Inc. System and Method of Image Stitching using Robust Camera Pose Estimation

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005004052A2 (en) * 2003-04-18 2005-01-13 Sarnoff Corporation Method and apparatus for automatic registration and visualization of occluded targets using ladar data
CN103415860A (zh) * 2011-01-27 2013-11-27 Metaio有限公司 确定第一和第二图像间的对应关系的方法以及确定摄像机姿态的方法
JP5659305B2 (ja) * 2011-11-07 2015-01-28 株式会社ソニー・コンピュータエンタテインメント 画像生成装置および画像生成方法
CN104350524A (zh) * 2012-05-31 2015-02-11 高通股份有限公司 基于外围信息的姿势估计
CN104504691A (zh) * 2014-12-15 2015-04-08 大连理工大学 基于低秩纹理的摄像机位置和姿态测量方法
CN104517289A (zh) * 2014-12-12 2015-04-15 浙江大学 一种基于混合摄像机的室内场景定位方法
CN104616284A (zh) * 2014-12-09 2015-05-13 中国科学院上海技术物理研究所 彩色深度相机的彩色图像到深度图像的像素级对准算法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4635203A (en) 1984-04-06 1987-01-06 Honeywell Inc. Passive range measurement apparatus and method
US6078701A (en) * 1997-08-01 2000-06-20 Sarnoff Corporation Method and apparatus for performing local to global multiframe alignment to construct mosaic images
JP2003162549A (ja) 2001-11-28 2003-06-06 National Institute Of Advanced Industrial & Technology 統合された形状モデル生成方法及びコンピュータプログラム
EP1736928A1 (en) * 2005-06-20 2006-12-27 Mitsubishi Electric Information Technology Centre Europe B.V. Robust image registration
WO2008075061A2 (en) 2006-12-20 2008-06-26 Mitsubishi Electric Information Technology Centre Europe B.V. Multiple image registration apparatus and method
GB0625455D0 (en) * 2006-12-20 2007-01-31 Mitsubishi Electric Inf Tech Graph-based multiple panorama extraction from unordered image sets
JP5120926B2 (ja) 2007-07-27 2013-01-16 有限会社テクノドリーム二十一 画像処理装置、画像処理方法およびプログラム
US20090060348A1 (en) 2007-08-28 2009-03-05 Donald Martin Monro Determination of Image Similarity
EP2154650A1 (en) 2008-08-12 2010-02-17 IEE INTERNATIONAL ELECTRONICS & ENGINEERING S.A. 3D time-of-flight camera system and position/orientation calibration method therefor
US8587583B2 (en) 2011-01-31 2013-11-19 Microsoft Corporation Three-dimensional environment reconstruction
US8570320B2 (en) 2011-01-31 2013-10-29 Microsoft Corporation Using a three-dimensional environment model in gameplay
US8401242B2 (en) * 2011-01-31 2013-03-19 Microsoft Corporation Real-time camera tracking using depth maps
CN103988226B (zh) 2011-08-31 2017-09-26 Metaio有限公司 用于估计摄像机运动以及用于确定实境三维模型的方法
US9529426B2 (en) 2012-02-08 2016-12-27 Microsoft Technology Licensing, Llc Head pose tracking using a depth camera
US9420265B2 (en) * 2012-06-29 2016-08-16 Mitsubishi Electric Research Laboratories, Inc. Tracking poses of 3D camera using points and planes
US9811880B2 (en) * 2012-11-09 2017-11-07 The Boeing Company Backfilling points in a point cloud
JP2014112055A (ja) * 2012-12-05 2014-06-19 Denso It Laboratory Inc カメラ姿勢の推定方法およびカメラ姿勢の推定システム
US9083960B2 (en) * 2013-01-30 2015-07-14 Qualcomm Incorporated Real-time 3D reconstruction with power efficient depth sensor usage
US20140368504A1 (en) * 2013-06-12 2014-12-18 Microsoft Corporation Scalable volumetric 3d reconstruction
EP2851868A1 (en) 2013-09-20 2015-03-25 ETH Zurich 3D Reconstruction
CN106105192B (zh) 2014-01-03 2021-05-18 英特尔公司 通过深度相机的实时3d重建
US10206645B2 (en) * 2015-09-18 2019-02-19 General Electric Company Multi-perspective interventional imaging using a single imaging system
US9895131B2 (en) * 2015-10-13 2018-02-20 Siemens Healthcare Gmbh Method and system of scanner automation for X-ray tube with 3D camera
IL286156B1 (en) 2015-11-20 2024-03-01 Magic Leap Inc Methods and systems for large-scale determination of RGBD camera displays

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005004052A2 (en) * 2003-04-18 2005-01-13 Sarnoff Corporation Method and apparatus for automatic registration and visualization of occluded targets using ladar data
CN103415860A (zh) * 2011-01-27 2013-11-27 Metaio有限公司 确定第一和第二图像间的对应关系的方法以及确定摄像机姿态的方法
JP5659305B2 (ja) * 2011-11-07 2015-01-28 株式会社ソニー・コンピュータエンタテインメント 画像生成装置および画像生成方法
CN104350524A (zh) * 2012-05-31 2015-02-11 高通股份有限公司 基于外围信息的姿势估计
CN104616284A (zh) * 2014-12-09 2015-05-13 中国科学院上海技术物理研究所 彩色深度相机的彩色图像到深度图像的像素级对准算法
CN104517289A (zh) * 2014-12-12 2015-04-15 浙江大学 一种基于混合摄像机的室内场景定位方法
CN104504691A (zh) * 2014-12-15 2015-04-08 大连理工大学 基于低秩纹理的摄像机位置和姿态测量方法

Also Published As

Publication number Publication date
WO2017087813A1 (en) 2017-05-26
CA3005894A1 (en) 2017-05-26
IL259401A (en) 2018-07-31
JP7300438B2 (ja) 2023-06-29
US20240064391A1 (en) 2024-02-22
CN108475433A (zh) 2018-08-31
IL259401B (en) 2021-09-30
IL286156A (en) 2021-10-31
US20190253674A1 (en) 2019-08-15
KR20180086218A (ko) 2018-07-30
AU2016355215B2 (en) 2022-03-10
US11838606B2 (en) 2023-12-05
CN114119751A (zh) 2022-03-01
AU2022203854A1 (en) 2022-06-23
AU2016355215A1 (en) 2018-06-07
US10313639B2 (en) 2019-06-04
EP3377853A4 (en) 2019-07-17
US20170148155A1 (en) 2017-05-25
NZ742758A (en) 2021-09-24
EP3377853A1 (en) 2018-09-26
JP6902028B2 (ja) 2021-07-14
JP2021047932A (ja) 2021-03-25
JP2018534698A (ja) 2018-11-22
IL286156B1 (en) 2024-03-01

Similar Documents

Publication Publication Date Title
CN108475433B (zh) 用于大规模确定rgbd相机姿势的方法和系统
US11095837B2 (en) Three-dimensional stabilized 360-degree composite image capture
JP6496987B2 (ja) 目標検出方法及び目標検出装置
TWI485650B (zh) 用於多相機校準之方法及配置
KR101121034B1 (ko) 복수의 이미지들로부터 카메라 파라미터를 얻기 위한 시스템과 방법 및 이들의 컴퓨터 프로그램 제품
WO2017041731A1 (en) Markerless multi-user multi-object augmented reality on mobile devices
CN108648194B (zh) 基于cad模型三维目标识别分割和位姿测量方法及装置
US10950032B2 (en) Object capture coverage evaluation
JP6985897B2 (ja) 情報処理装置およびその制御方法、プログラム
Hua et al. Extended guided filtering for depth map upsampling
US11727637B2 (en) Method for generating 3D skeleton using joint-based calibration acquired from multi-view camera
JP7159384B2 (ja) 画像処理装置、画像処理方法、及びプログラム
US20180322671A1 (en) Method and apparatus for visualizing a ball trajectory
Pan et al. Depth map completion by jointly exploiting blurry color images and sparse depth maps
CN110443228B (zh) 一种行人匹配方法、装置、电子设备及存储介质
JP2018063693A (ja) 画像処理装置、画像処理方法およびプログラム
Yu et al. Accurate motion detection in dynamic scenes based on ego-motion estimation and optical flow segmentation combined method
Jorissen et al. Multi-view wide baseline depth estimation robust to sparse input sampling
KR101980899B1 (ko) 직교 소실점을 이용한 단일 영상의 내벽 구조 검출 장치 및 방법
JP2018059767A (ja) 画像処理装置、画像処理方法およびプログラム
JP2011113177A (ja) 被写体3次元モデルを構築する方法およびプログラム
NZ742758B2 (en) Methods and systems for large-scale determination of rgbd camera poses
JP7086761B2 (ja) 画像処理装置、情報処理方法及びプログラム

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