CN111133473B - 相机姿态确定和跟踪 - Google Patents

相机姿态确定和跟踪 Download PDF

Info

Publication number
CN111133473B
CN111133473B CN201880060621.5A CN201880060621A CN111133473B CN 111133473 B CN111133473 B CN 111133473B CN 201880060621 A CN201880060621 A CN 201880060621A CN 111133473 B CN111133473 B CN 111133473B
Authority
CN
China
Prior art keywords
dvs
camera pose
current
image
map
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
CN201880060621.5A
Other languages
English (en)
Other versions
CN111133473A (zh
Inventor
安柯·古普塔
迈克尔·萨皮恩扎
范妮·丰塔内尔
阿比吉特·Z·本戴尔
普拉纳夫·米斯特里
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN111133473A publication Critical patent/CN111133473A/zh
Application granted granted Critical
Publication of CN111133473B publication Critical patent/CN111133473B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • 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/10004Still image; Photographic 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/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/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Studio Devices (AREA)
  • Navigation (AREA)

Abstract

一种用于确定和跟踪相机姿态的系统,包括:动态视觉传感器(DVS),被配置为生成当前DVS图像的、惯性测量单元(IMU),被配置为生成惯性数据和存储器。存储器被配置为存储已知3维(3D)环境的3D地图。该系统还可以包括耦接到存储器的处理器。处理器被配置为发起操作,所述操作包括基于当前DVS图像、惯性数据、3D地图和先前的相机姿态来确定DVS的当前相机姿态。

Description

相机姿态确定和跟踪
技术领域
本公开涉及在已知的3维(3D)环境中确定和跟踪相机姿态。
背景技术
多种不同的技术依赖于对相机的位置和取向的准确确定,被称为相机的“姿态”或“相机姿态”。机器人和计算机视觉系统例如增强现实和/或虚拟现实系统广泛地依赖于相机姿态。准确确定和跟踪相机姿态的能力允许系统确定3维(3D)虚拟对象相对于相机的位置和取向。
用于确定和跟踪相机姿态的常规系统通常依赖于摄影相机和深度传感器。摄影相机也称为“RGB”(红、绿、蓝)相机。
发明内容
【技术问题】
许多低功率设备(例如移动电话、无人机)和某些可穿戴设备(例如智能眼镜)主要依靠电池功率操作,从而使功耗成为重要考虑因素。摄影相机和深度传感器消耗大量功率,这使得这些传感器的组合不适用于低功率设备。
性能是另一个考虑因素。为了使系统具有响应性和对用户友好,该系统必须能够准确确定并跟踪相机姿态,并以相对较低的延迟进行。全球定位系统(GPS)接收器等技术无法提供足够的准确度来确定相机的姿态。例如,常规的低成本GPS接收器通常仅在几米内才是准确的,这使得此类GPS接收器不适合计算机视觉和/或机器人应用。
【问题的解决方案】
在一个或多个实施例中,一种系统包括配置为生成动态视觉传感器(DVS)图像的DVS、配置为生成惯性数据的惯性测量单元(IMU)以及存储器。存储器被配置为存储已知3维(3D)环境的3D地图。该系统还可以包括耦接到存储器的处理器。处理器被配置为发起操作,所述操作包括基于当前DVS图像、惯性数据、3D地图和先前的相机姿态来确定DVS的当前相机姿态。
在一个或多个实施例中,一种方法包括:使用DVS生成当前DVS图像;使用IMU生成惯性数据;以及使用处理器来从存储器中检索已知3D环境的3D地图的至少一部分。该方法可以包括:使用处理器基于当前DVS图像、惯性数据、3D地图和先前的相机姿态来确定DVS的当前相机姿态。
在一个或多个实施例中,一种计算机程序产品包括其上存储有程序代码的计算机可读存储介质。程序代码能够由处理器执行以执行操作。操作可以包括:生成当前DVS图像;生成惯性数据;以及从存储器中检索已知3D环境的3D地图的至少一部分。操作可以包括:基于当前DVS图像、惯性数据、3D地图和先前的相机姿态来确定DVS的当前相机姿态。
提供本概述部分仅仅是为了介绍某些概念,而不是确定所要求保护的主题的任何关键或必要特征。根据附图和以下详细描述,本发明的许多其他特征和实施例将是清楚的。
根据下面的附图、描述和权利要求,其他技术特征对本领域技术人员而言可以是容易理解的。
在进行下面的详细描述之前,阐述贯穿本专利文件所使用的某些词语和短语的定义可能是有利的。术语“耦接”及其派生词指代两个或更多个元件之间的任何直接或间接的通信,不管这些元件是否彼此物理接触。术语“发送”、“接收”和“通信”及其派生词包括直接通信和间接通信这二者。术语“包含”和“包括”及其派生词意味着在没有限制的情况下的包含。术语“或”是包含性的,意味着和/或。短语“与...相关联”及其派生词意味着包括、被包括在内、与...互连、包含、被包含在内、连接到或与...连接、耦接到或与...耦接、可与...通信、与...协作、交织、并置、接近...、绑定到...或与...绑定、具有、具有...的属性、具有到...的关系或与...的关系等。术语“控制器”意味着控制至少一个操作的任何设备、系统或其部分。可以用硬件或硬件和软件和/或固件的组合来实现这样的控制器。与任何特定控制器相关联的功能可以是集中式或分布式的,不管本地还是远程。当与项目列表一起使用时的短语“...中的至少一项”意味着可以使用列出的项目中的一个或多个项目的不同组合,并且可能仅需要列表中的一个项目。例如,“A、B和C中的至少有一个”包括任意下面的组合:A、B、C、A和B、A和C、B和C以及A和B和C。
此外,以下描述的各种功能可以由一个或多个计算机程序来实现或支持,每个计算机程序由计算机可读程序代码形成并体现在计算机可读介质中。术语“应用”和“程序”指代一个或多个计算机程序、软件组件、指令集、处理、功能、对象、类、实例、相关数据或其适于在合适的计算机可读程序代码中实现的部分。短语“计算机可读程序代码”包括任意类型的计算机代码,包括源代码、目标代码和可执行代码。短语“计算机可读介质”包括能够由计算机访问的任意类型的介质,诸如只读存储器(ROM)、随机访问存储器(RAM)、硬盘驱动器、压缩盘(CD)、数字视频盘(DVD)或任何其他类型的存储器。“非暂时性”计算机可读介质不包括传输暂时性电信号或其他信号的有线、无线、光学或其他通信链路。非暂时性计算机可读介质包括其中能够永久存储数据的介质和其中能够存储数据且随后能够被重写的介质,诸如可重写的光盘或可擦除的存储器设备。
贯穿本专利文献提供了对其他某些词语和短语的定义。本领域普通技术人员应该理解:在许多情况下(如果不是大多数情况),这样的定义适用于这样定义的词语和短语的先前以及将来的使用。
附图说明
附图示出了一个或多个实施例;然而,附图不应被视为将本发明仅限于所示的实施例。通过阅读以下详细描述并参考附图,各个方面和优点将变得清楚。
图1示出了与本文描述的一个或多个实施例一起使用的示例系统。
图2示出了生成重新定位模型的示例方法。
图3示出了在已知的3维(3D)环境内确定初始相机姿态的示例。
图4示出了在已知的3D环境内跟踪相机姿态的示例。
图5示出了在已知的3D环境内确定和跟踪相机姿态的示例方法。
具体实施方式
虽然本公开以限定新颖特征的权利要求作出结论,但是相信根据结合附图对说明书的考虑将更好地理解本文描述的各种特征。出于说明的目的,提供本公开中描述的处理、机器、制造及其任何变型。所描述的任何具体结构和功能细节不应被解释为限制,而仅仅作为权利要求的基础,并且作为用于教导本领域技术人员以各种方式采用在几乎任何适当详述的结构中描述的特征的代表性基础。此外,本公开中使用的术语和短语不旨在是限制性的,而是提供对所描述的特征的可理解性描述。
本公开涉及确定和跟踪相机姿态。根据本公开中描述的创造性布置,系统能够在已知的3维(3D)环境内准确地确定和/或跟踪相机姿态。该系统能够随着时间的推移跟踪相机的姿态,并以准确、节能且计算高效的方式进行跟踪。与其他常规系统相比,该系统还能够以减小的延迟进行操作。
在一个或多个实施例中,该系统利用多个传感器来确定和/或跟踪相机姿态。在特定实施例中,传感器被结合到多传感器组件中。传感器的示例可以包括但不限于动态视觉传感器(DVS)、摄影或红、绿、蓝(RGB)传感器、惯性测量单元(IMU)和全球定位系统(GPS)接收器。包括这些传感器的多传感器组件可以廉价地实现并与系统一起使用。
该系统能够以有限的容量使用RGB传感器。例如,该系统能够在为系统确定初始相机姿态的启动和/或恢复处理期间使用RGB传感器。一旦确定了初始相机姿态,系统便可以去激活RGB传感器,而不是继续使用RGB传感器进行跟踪。在将RGB传感器去激活的情况下,系统能够使用DVS来跟踪相机姿态。通常,DVS能够以比RGB传感器高的频率操作。这允许系统以减小的延迟来跟踪相机姿态,从而为用户提供改进的体验,尤其是在诸如虚拟现实和增强现实之类的应用中。DVS的使用有助于进行低延迟相机跟踪,而无需消耗大量功率的更昂贵的高帧速率RGB传感器。
在一个或多个实施例中,该系统能够使用3D地图和重新定位模型以用于已知的3D环境。出于讨论的目的,本文中可以不时将已知的3D环境称为“场景”。通过使用3D地图和重新定位模型,系统能够在系统启动时和/或从错误状况中恢复时以最小的延迟且无需用户参与来确定相机姿态。此外,系统能够使用这种数据结构在跟踪相机姿态同时减小延迟。
下面参考附图更详细地描述该创造性布置的其他方面。为了图示的简单和清楚起见,附图中所示的元件不必按比例绘制。例如,为了清楚起见,一些元件的尺寸可以相对于其他元件被放大。此外,如果认为合适,则在附图之间重复附图标记以指示对应的,类似的或相似的特征。
图1示出了与本文描述的一个或多个实施例一起使用的示例系统100。系统100是可以用于实现计算机、服务器、便携式计算机(例如膝上型计算机或平板计算机)或其他数据处理系统的计算机硬件的示例。在特定实施例中,系统100可以用于实现外围设备或外围设备的一部分,该外围设备或外围设备的一部分可以与通信地链接至其的另一设备或系统一起使用。使用计算机硬件实现的系统或设备能够执行本文描述的与确定已知3D环境内的相机姿态和/或跟踪相机姿态有关的各种操作。
在图1的示例中,系统100包括至少一个处理器105。处理器105通过接口电路115耦接到存储器110。系统100能够在存储器110内存储计算机可读指令(也称为“程序代码”)。存储器110是计算机可读存储介质的示例。处理器105能够执行经由接口电路115从存储器110访问的程序代码。
存储器110可以包括一个或多个物理存储器设备,例如本地存储器和大容量存储设备。本地存储器指代在程序代码的实际执行期间通常使用的非永久性存储器设备。本地存储器的示例包括随机存取存储器(RAM)和/或适合于处理器在执行程序代码期间使用的各种类型的RAM中的任何一种(例如,动态RAM或“DRAM”或静态RAM或“SRAM”)。大容量存储设备指代永久性数据存储设备。大容量存储设备的示例包括但不限于硬盘驱动器(HDD)、固态驱动器(SSD)、闪存、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或其他合适的存储器。系统100还可以包括一个或多个高速缓冲存储器(未示出),其提供至少一些程序代码的临时存储,以便减少在执行期间必须从大容量存储设备中检索程序代码的次数。
存储器110能够存储程序代码和/或数据。例如,存储器110能够存储各种例程、程序、对象、组件、逻辑、其他合适的指令和/或其他数据结构。出于说明的目的,存储器110存储跟踪程序120、3D地图125、重新定位数据130和重新定位程序135。在本公开内,重新定位数据130和重新定位程序135不时也被统称为“重新定位模型”。存储器110还可以存储操作系统(未示出),该操作系统可以由处理器105执行并且便于程序代码的执行和数据的存储。
系统100能够执行重新定位程序135并且使用重新定位数据130和3D地图125来确定初始相机姿态。系统100能够执行跟踪程序120并且使用3D地图125以在给定先前确定的初始相机姿态(或先前相机姿态)的情况下在已知3D环境内跟踪相机姿态。应当理解,由系统100(例如,处理器105)使用、生成和/或操作的任何数据都是在用作系统一部分时赋予功能的功能数据结构。跟踪程序120、3D地图125,重新定位数据130和重新定位程序135在下面更详细地描述。
接口电路115的示例包括但不限于系统总线和输入/输出(I/O)总线。接口电路115可以使用多种总线架构中的任何一种来实现。总线架构的示例可以包括但不限于增强型工业标准体系结构(EISA)总线、加速图形端口(AGP)、视频电子标准协会(VESA)本地总线、通用串行总线(USB)和外围组件互连高速(PCIe)总线。
系统100可以包括一个或多个传感器。在一个或多个实施例中,传感器可以包括在传感器组件140内。传感器组件140可以是包括一个以上传感器的多传感器组件。在图1的示例中,传感器组件140包括RGB传感器145、DVS 150、IMU 155和可选的GPS接收器160。
在一或多个实施例中,传感器组件140可以被实现为集成单元。例如,RGB传感器145、DVS 150、IMU 155以及可选地GPS接收器160中的每一个可以被安装在单个电路板上并且在相同的物理壳体内实现。在另一个示例中,所提及的传感器可以在两个或更多个不同的电路板上并且在相同的物理壳体内。例如,传感器组件可以被实现为外围设备,该外围设备可以耦接到诸如移动电话之类的另一设备或者诸如智能眼镜、虚拟现实耳机以及增强现实耳机或眼镜之类的可穿戴设备。在其他实施例中,传感器组件140可以被集成到这样的设备中。例如,可以将传感器组件140集成到汽车或其他车辆中。
传感器组件140可以直接或通过中间的I/O控制器耦接到接口电路115。在一个或多个其他实施例中,RGB传感器145、DVS 150、IMU 155以及可选的GPS接收器160被实现为单独的传感器,这些单独的传感器直接地或通过相应的I/O控制器单独地耦接到接口电路115。提供本文所描述的示例传感器配置和传感器组件配置是出于说明的目的,而不旨在限制。
RGB传感器145能够生成RGB图像。RGB图像是2D图像,有时也称为RGB帧。如众所周知的那样,由RGB传感器145生成的RGB图像的像素指示或指定光强度。DVS 150能够检测光强度的改变。例如,DVS 150检测大于预定量或阈值量的光强度改变。对于每个检测到的超过阈值量的光强度改变,DVS 150能够生成事件。例如,DVS 150输出每个此类事件的位置和时间戳。例如,事件可以基于位置而与DVS 150的像素对应,其中每个事件有效地描述像素的感知亮度的改变。此外,事件根据光强度改变的方向可以是正的或负的。在特定实施例中,DVS 150能够将事件作为事件流输出。
在一个或多个实施例中,处理器105能够处理从DVS 150输出的事件以生成DVS图像。例如,DVS 150可以随时间变化输出所描述的事件流。对于给定的时间跨度,处理器105可以将来自每个相应时间跨度的事件组成对应的DVS图像。因此,DVS图像包括在给定时间跨度内从DVS 150输出的事件。处理器105能够向每个DVS图像分配单个时间戳。由于DVS150通常在场景边缘上生成事件,因此所生成的DVS图像看起来与通过在RGB图像上运行边缘检测器而生成的边缘图像类似。
在一个或多个其他实施例中,DVS 150可以被实现为包括处理电路。处理电路可以被配置为从如所描述的事件生成DVS图像。在该情况下,DVS 150能够直接输出DVS图像。出于在本公开内容内进行讨论的目的,认为DVS 150输出DVS图像,而无论这种DVS图像是直接从DVS 150输出还是在诸如处理器105之类的另一处理器的帮助下生成。
在一个或多个实施例中,DVS 150可以使用单个芯片或集成电路来实现。在一个或多个其他实施例中,DVS 150可以被实现为立体声DVS,例如,其中包括两个这种DVS单元。立体声DVS能够向本文所述的图像处理提供增加的鲁棒性。例如,通过使用立体声DVS,系统能够将深度比较项结合到本文结合图5所描述的优化中。
在操作中,DVS 150消耗的功率显著小于RGB传感器145。在一些情况下,例如,DVS150可以消耗RGB传感器145所使用功率的接近14%。DVS 150还能够以比RGB传感器145更高的频率或帧速率进行操作。RGB传感器145具有接近33毫秒的更新速率,而DVS 150具有微秒范围内的更新速率。DVS 150还具有比RGB传感器145高的动态范围,从而允许DVS 150在亮3D环境和暗3D环境二者中操作。
RGB传感器145和DVS 150可以安装在系统100内和/或传感器组件140内以具有重叠的视场。例如,RGB传感器145的视场和DVS 150的视场可以相同或基本相同,使得两者都能够针对已知的3D环境生成图像数据。在一些情况下,RGB传感器145和DVS传感器150能够相互独立地操作。在其他情况下,RGB传感器145和DVS传感器150可以相互协作,使得由RGB传感器145生成的RGB帧在DVS传感器150生成DVS帧的同时或大约同时生成。例如,在一些情况下,RGB传感器145和DVS 150可以以同步的方式操作。传感器组件140内的传感器的操作可以由处理器105在执行存储在存储器110中的程序代码时进行控制。
IMU 155是一种能够测量线性运动和角运动的电子设备。IMU 155可以包括一个或多个加速度计和陀螺仪,以测量线性运动和角运动。在特定实施例中,IMU 155能够测量磁场。在此类实施例中,IMU 155还可以包括一个或多个磁力计。IMU 155输出描述为惯性数据的测量结果。GPS接收器160能够生成指定GPS接收器160的3D位置的GPS数据。GPS数据可以从纬度、经度、高度或相对高度的方面来指定3D位置。GPS接收器160可以被实现为可以用于粗略定位的低功率单元。
在一个或多个实施例中,处理器105能够控制DVS 150的帧速率。例如,处理器105可以基于IMU 155生成的惯性数据来增加帧速率、降低帧速率或使DVS 150的帧速率保持不变。作为说明性且非限制性的示例,响应于处理器105基于惯性数据而检测到随时间的增强运动,处理器105能够控制DVS 150以增加DVS 150的帧速率。响应于基于惯性数据而检测到随时间的减弱运动,处理器105能够控制DVS 150以降低DVS 150的帧速率。响应于基于惯性数据而检测到运动相对恒定或不变,例如在建立的范围内,处理器105能够使DVS 150的帧速率保持不变。
通过如上所述地控制DVS 150的帧速率,系统100能够改变消耗的功率量。与利用RGB固定帧速率处理的其他系统相比,系统100能够使用DVS 150的动态(例如,可变)帧速率来减少系统100执行的计算工作量,从而降低功耗。因此,在检测到相对低的运动的情况下,系统100能够通过DVS 150的较低帧速率来降低功耗。
返回到存储在存储器110中的数据结构,可以将3D地图125实现为数据库或其他数据结构,这些数据库或其他数据结构指定要在其中确定和/或跟踪相机姿态的已知3D环境的3D地图。在特定实施例中,3D地图125包括多个关键帧。每个关键帧可以是RGB图像。关键帧是2D的。3D地图125的关键帧具有重叠的视场。3D地图125内的每个关键帧还可以与用于从其获得RGB图像的已知3D环境的相机姿态(例如,具有6个自由度的3D)相关联。在特定实施例中,对于每个关键帧,仅关键帧的一组稀疏关键点的深度是已知的。3D地图125还可以包括已知3D环境的点云。
在特定实施例中,3D地图125包括元数据。可以包括在3D地图125内的元数据的示例包括但不限于从GPS接收器获得的位置数据。
在一个或多个实施例中,系统100以预先构建的3D地图125开始操作。例如,可以使用离线处理来构建3D地图125,无论该离线处理是由系统100执行的,还是另一个数据处理系统执行的并可供系统100使用。在一方面,系统100能够使用RGB传感器145来收集可以使用运动恢复结构图像处理技术进行处理的RGB图像和/或视频,以生成3D地图125。运动恢复结构是一种摄影测量范围成像技术,用于从可以与局部运动信号耦合的2D图像序列来估计3D结构。在另一方面,不同的系统可以使用从RGB传感器145和/或另一个RGB传感器获得的RGB图像和/或视频,并应用运动恢复结构图像处理来生成3D地图125。无论使用系统100还是另外的数据处理系统,此类系统可以接收GPS数据并将GPS数据合并到3D地图125中作为元数据。
在特定实施例中,系统100能够合成3D地图125的关键帧的DVS图像。系统100能够合并来自在关键帧(例如,RGB图像)中检测到的边缘的信息以及在捕获关键帧时RGB传感器的估计的速度。可以从与关键帧捕获同时获得的惯性数据确定估计的速度。可以使用边缘检测技术来从关键帧检测边缘。这样,可以将3D地图125的一个或多个或所有关键帧与对应的合成DVS图像相关联。通过将合成的DVS图像与关键帧相关联地包括在3D地图125中,系统100能够更准确地比较使用DVS 150捕获的DVS图像与3D地图125,以在操作期间进行相机姿态跟踪。
通常,3D地图125提供了存储已知3D环境或场景的几何形状的有效方式。3D地图125有助于在其中包含的关键帧与从DVS 150获得的用于已知3D环境的DVS图像之间进行直接比较,以有助于该3D环境内的姿态跟踪。因为3D地图125是离线计算的,所以3D地图125可以被存储和重新使用。例如,只要系统100被用在相同的已知3D环境中并且该环境保持相对不变,则系统100不需要在每次开启或激活时都计算3D地图125。
可以从3D地图125构建重新定位模型。例如,重新定位数据130可以被实现为数据库或其他数据结构,这些数据库或其他数据结构指定用于通过训练处理确定的重新定位程序135的参数。学习模块可以用于处理3D地图125以生成重新定位数据130。在一个或多个实施例中,重新定位程序135可以被实现为能够识别图像内的特定对象的一个或多个分类器。学习模块能够对分类器进行训练,以从已知的3D环境中识别感兴趣的特定对象。从训练处理确定的参数可以存储为重新定位数据130。这样,重新定位程序135能够使用从重新定位数据130获得的分类器的参数来处理接收到的RGB图像以识别其中包括的感兴趣对象。因此,尽管3D地图125提供对整个已知3D环境的3D表示,但是重新定位模型能够识别在该已知3D环境内的特定感兴趣的对象并基于检测到这样的对象来确定相机姿态。
作为说明性且非限制性的示例,考虑已知的3D环境是多层建筑物的整个楼层的情况,例如,第3楼层。3D地图125指定该建筑物的整个第3楼层的3D地图。通过比较,重新定位数据130和重新定位程序135能够识别3D环境的2D图像中的特定感兴趣的对象。例如,第3楼层的RGB图像可以由RGB传感器145拍摄并馈送到重新定位程序135。重新定位程序135可以使用来自重新定位数据130的参数来处理RGB图像,以检测RGB图像内的感兴趣的对象,例如特定家具(例如,会议桌或椅子)或特定建筑特征。不同的分类器能够识别已知3D环境中的不同类型的桌子、不同类型的椅子、建筑特征或具有已知位置和取向的其他对象。在已识别出所接收的RGB图像内的已知3D环境的特定对象之后,该系统就具有了2D图像在3D环境内对应的位置的指示,并且能够在已知3D环境内确定RGB传感器145的初始相机姿态。
跟踪程序120能够执行几种不同的操作。在一方面,跟踪程序120能够在使用重新定位数据130和重新定位程序135的同时,基于接收到的RGB图像和可选的DVS图像来确定先前的相机姿态。在另一方面,一旦确定了初始相机姿态,跟踪程序120就能够继续基于DVS图像和3D地图125来跟踪相机姿态。出于讨论的目的,至少在启动和/或从错误状况中恢复之后,在跟踪期间将初始相机姿态用作“先前相机姿态”。
系统100可以可选地包括耦接到接口电路115的一个或多个其他I/O设备165。I/O设备165可以直接地或通过中间的I/O控制器耦接到系统100,例如接口电路115。I/O设备165的示例包括但不限于键盘、显示设备、指向设备、一个或多个通信端口以及网络适配器。网络适配器指代使系统100能够通过中间的专用或公用网络与其他系统、计算机系统、远程打印机和/或远程存储设备形成耦接的电路。调制解调器、电缆调制解调器、以太网卡和无线收发器是可以与系统100一起使用的不同类型的网络适配器的示例。
系统100可以根据所实现的设备和/或系统的特定类型包括比所示更少的组件或图1中未示出的附加组件。另外,所包括的特定操作系统、应用和/或I/O设备可以基于系统类型而改变。此外,一个或多个说明性组件可以结合到另一个组件中,或者以其他方式形成另一个组件的一部分。例如,处理器可以包括至少一些存储器。系统100可以用于实现单个计算机或多个联网或互连的计算机,每个计算机都使用图1的架构或类似的架构来实现。
在一个或多个实施例中,系统100可以被实现为独立设备。该设备可以耦接、附接和/或通信地链接到另一现有设备,例如移动电话、游戏系统、可穿戴设备、虚拟或增强现实耳机或车辆,以将相机姿态信息提供给该设备。可以将相机姿态信息提供给可以耦接到接口电路115的其他组件(未示出)和/或经由I/O设备165提供给其他系统。
在一个或多个其他实施例中,系统100可以被实现为使得传感器组件140耦接或附接到另一现有设备。例如,传感器组件140可以耦接或附接到诸如移动电话、游戏系统、可穿戴设备、虚拟或增强现实耳机或车辆之类的另一现有设备。在该情况下,处理器105、存储器110和/或接口电路115在附接、耦接或通信地链接到传感器组件140的设备内实现。
提供本公开内描述的系统100的不同应用和配置是出于说明而非限制的目的。可以在可以使用相机姿态的各种不同应用中的任何一个应用中利用系统100和/或其各个方面。这种应用可以包括但不限于汽车应用(例如,自动驾驶和/或辅助驾驶)、机器人和计算机视觉(例如,增强现实和/或虚拟现实)。由于DVS 150的高更新速率和DVS 150在弱光条件下操作的能力,本文所描述的实施例可以特别适合于在弱光条件下操作的应用。
图2示出了生成重新定位数据的示例方法200。可以使用结合图1描述的系统或另一数据处理系统来执行方法200。通常,可以基于机器学习分类模型来实现重新定位程序135。可以训练机器学习分类模型以找到接收的或当前的2D RGB图像中的兴趣点与来自3D地图125的3D点之间的对应关系。
在框205中,系统能够将3D地图划分成独特关键点的集合。例如,在框210中,系统从两个或更多个不同的视点渲染3D地图,以生成或渲染2D图像。渲染后的2D图像的数量可以足够大以覆盖整个3D地图。所使用的视点的数量可以是可配置的(例如,可调整的)参数。在框215中,系统能够将在渲染后的2D图像中找到的感兴趣的点背投影到点云。系统从点云中选择背投影的兴趣点的频率最高的点作为独特点。在示例中,具有最高频率的点可以是具有高于阈值频率的频率的任何点。在另一示例中,具有最高频率的点可以是具有“N”个最高频率内的频率的任何点,其中N是整数值。在另一示例中,具有最高频率的点可以是具有在频率的最高指定百分比中的频率的任何点。
在框220中,系统将来自两个或更多个不同视点的点云的独特点渲染为2D图像(例如,RGB图像)。例如,该系统能够在3D地图中选择多种多样的各种视点。该系统还能够使用3D地图和相机姿态,以使用可用的计算机图形技术来渲染包含独特点的2D图像。在框225中,系统可选地从渲染后的包含独特点的2D图像合成DVS图像,以增加高对比度场景的匹配鲁棒性。
在框230中,机器学习模块接收来自点云的独特点、渲染的包含独特点的2D图像、3D地图(例如,关键帧)以及可选地对应的和合成的DVS图像。在框235中,学习模块执行特征提取。在框240中,学习模块对模型参数(例如,分类器的参数)进行训练。在框245中,系统将得到的参数保存为重新定位数据。
训练之后,一旦确定了模型参数,系统便能够使用重新定位模型来确定接收到的RGB图像与3D地图125(例如,3D地图125中的点云)中的点之间的足够数量(例如,最小)的对应关系。然后,在给定RGB图像和3D地图125中的点之间的对应关系的情况下,系统可以使用可用的图像处理技术来确定初始相机姿态。
图3示出了确定已知3D环境内的初始相机姿态的示例。结合图3描述的操作可以由结合图1描述的系统来执行。图3示出了可以由系统执行的启动处理的示例。响应于错误状况,图3所示的处理包括也可以由系统作为恢复处理进行执行。
如图所示,传感器组件140能够将RGB图像305提供给重新定位程序135。在一个或多个实施例中,传感器组件140可以将RGB图像305和DVS图像315提供给重新定位程序135。在提供了RGB图像305和DVS图像315两者的情况下,可以同时或基本同时拍摄两个图像。如所讨论的,RGB传感器145和DVS 150可以具有重叠的视场。这样,RGB图像305和DVS图像315可以是已知3D环境的基本上相同的部分。重新定位程序135能够使用从重新定位数据130获得的参数来处理RGB图像305和可选的DVS图像315,以确定用于RGB传感器145(或用于传感器组件140)的初始相机姿态310。如所提及,如参考图5更详细地描述的,初始相机姿态310可以用作先前的相机姿态,以用于跟踪相机姿态的目的。
图4示出了在已知3D环境内跟踪相机姿态的示例。结合图4描述的操作可以由结合图1描述的系统来执行。图4示出了在执行了启动处理和/或恢复处理之后可以由系统执行的处理的示例。
如图所示,传感器组件140能够将DVS图像405提供给跟踪程序120。在另一方面,传感器组件140还可以将惯性数据和/或GPS数据与DVS图像405提供给跟踪程序120。在图4的示例中,一旦通过启动处理或恢复处理确定了初始相机姿态310,处理器105就能够去激活或关闭RGB传感器145。这样,DVS图像405不包括RGB数据(任何RGB图像)。跟踪程序120能够将DVS图像405与3D地图125进行比较,以基于初始(或先前)相机姿态310确定当前相机姿态410。适当地,随着系统继续操作,跟踪程序120利用当前相机姿态410作为先前的相机姿态,以使用3D地图125处理下一个DVS图像。
如所讨论的,DVS 150能够以比RGB传感器145高的速率进行操作。尽管能够以更高的速率操作以提供减少的延迟,但是与常规的低功率相机传感器(例如,RGB传感器145)相比,DVS 150的数据吞吐量较小。因此,系统100能够以与常规系统相比减小的延迟来准确地跟踪相机姿态,同时还能够以至少部分地由于DVS 150的较低数据吞吐量而增加的计算效率进行操作。
图5示出了确定和跟踪已知3D环境内的相机姿态的示例方法500。结合图5描述的操作可以由结合图1描述的系统来执行。图5的操作可以实时执行。方法500可以在已经实现了用于已知的3D环境的3D地图125、重新定位数据130和重新定位程序135并且可用于系统的状态下开始。
从框505中开始并继续进行到框520,系统执行启动处理。因为系统是使用重新定位模型初始化的,所以该系统能够立即发起和开始操作。相比之下,同时创建地图并跟踪相机姿态的其他常规系统(例如单目SLAM(同时定位和制图)系统)不仅需要更高的计算资源,而且还需要用户合作进行初始化,从而导致启动延迟。
如所讨论的,启动处理也可以用作恢复处理。通常,启动和/或恢复处理涉及使用RGB传感器来确定在跟踪期间用作先前的相机姿态的系统的初始相机姿态。因此,在框505中,如果尚未激活,则系统能够激活RGB传感器。如果尚未激活并且如果要将DVS用于启动和/或恢复,则该系统还能够激活DVS。该系统还可以激活其他传感器,例如IMU和/或GPS(如果尚未激活)。
在框510中,系统生成传感器数据。例如,多传感器组件的传感器能够生成传感器数据。传感器数据可以包括从RGB传感器捕获的RGB图像。传感器数据可以可选地包括由DVS生成的DVS图像。例如,可以将RGB传感器和DVS校准为以协调的方式工作,使得每个相应的传感器同时或大约同时且针对已知的3D环境内相同或基本类似的视场生成RGB图像和DVS图像。如所讨论的,RGB传感器的视场可以与DVS的视场重叠。
在一个或多个实施例中,在框510中生成的传感器数据可以包括附加的传感器数据。例如,在框510中生成的传感器数据可以包括在获得RGB图像和/或DVS图像的同时或大约同时测量的惯性数据。在另一示例中,在框510中生成的传感器数据可以包括在获得RGB图像和/或DVS图像的同时或大约同时获得的GPS数据。
在框515中,系统能够使用重新定位程序和重新定位数据基于框510的传感器数据来确定初始相机姿态。重新定位程序能够使用可用的相机姿态确定技术来确定初始相机姿态。例如,该系统能够使用重新定位模型来检测RGB和/或DVS图像内的感兴趣对象。由于重新定位模型将感兴趣的特征映射到3D地图的点,因此系统能够基于从所接收的图像中识别的感兴趣对象来确定初始相机姿态。在框520中,响应于在框515中确定初始相机姿态,该系统能够去激活RGB传感器。
结合框505至520描述的启动处理有效地利用初始相机姿态来初始化系统。如上所述,由于使用了重新定位数据和重新定位程序,因此启动处理几乎没有或没有启动延迟,因为不需要在启动时生成地图。此外,可以例如在没有用户合作或干预的情况下自动执行启动处理。
从框525中开始并继续进行到框560,系统执行跟踪处理。通常,由于去激活了RGB传感器,因此跟踪处理涉及DVS的使用。跟踪处理还可以利用附加的传感器,例如IMU和/或GPS接收器。
因此,在框525中,系统能够生成传感器数据。在框525中生成的传感器数据不包括任何RGB图像,因为RGB传感器被去激活。例如,在框525中,DVS能够生成DVS图像。如所讨论的,DVS图像可以直接从DVS输出或由耦接到DVS的处理器合成。在任何情况下,DVS图像是已知3D环境或其一部分的图像。
在一个或多个实施例中,在框525中生成的传感器数据可以包括附加的传感器数据。例如,在框525中生成的传感器数据可以包括惯性数据,该惯性数据是在生成DVS图像的同时或大约同时由IMU生成的。在另一示例中,在框525中生成的传感器数据可以包括GPS数据,该GPS数据是在生成DVS图像的同时或大约同时由GPS接收器生成的。
在框530中,系统能够跟踪相机姿态以确定当前相机姿态。在框530中,例如,给定先前的相机姿态,系统能够确定当前的相机姿态。系统可以使用来自框525的传感器数据、3D地图和先前的相机姿态来确定当前相机姿态。如所指出的,至少在启动和/或恢复之后的跟踪的第一次迭代期间,在框515中确定的初始相机姿态可以用作先前的相机姿态,以用于跟踪的目的。当前相机姿态可以是被计算为最可能相机姿态的相机姿态,以说明例如来自DVS和IMU来的传感器测量。
在一个或多个实施例中,由系统执行的跟踪程序能够使用补充信息源来确定当前相机姿态。补充信息源可以包括使用DVS图像计算的光流、给定当前DVS图像的情况下根据3D地图的预期DVS图像以及惯性数据。该系统能够使用非线性优化技术,该技术利用描述的补充数据来估计相机姿态。
在框535中,系统能够及时计算连续或相邻DVS图像之间的稀疏特征点的光流。该系统例如能够执行当前DVS图像与先前DVS图像之间的光流,先前DVS图像可以作为来自DVS的时间序列的DVS图像的一部分被接收。在框540中,系统能够执行特征跟踪。该系统可以执行特征跟踪以确定在先前的DVS图像内找到的一个或多个特征的位置到当前DVS图像(例如,时间上的下一个DVS图像)内的这些特征的位置的改变。
在框545中,系统能够将当前DVS图像与根据3D地图的期望的DVS图像进行比较。该系统能够从3D地图中检索关键帧的小的子集。由于系统具有初始或先前相机姿态,因此该系统能够从3D地图中检索具有先前相机姿态或在先前相机姿势的预定量或度量内的一个或多个关键帧。例如,系统可以从3D地图中检索关于任一侧先前相机姿态的关键帧,因为这样的关键帧将具有与先前相机姿态类似位置和取向的相机姿态。使用检索到的关键帧,系统能够基于惯性数据对来自不同的视点的帧进行合成。系统尝试将当前DVS图像与合成帧进行匹配,以确定匹配。
在框547中,系统能够执行优化操作以确定当前相机姿态。该系统例如能够使从检索到的关键帧计算出的合成帧与当前DVS图像之间的像素强度误差最小化。该系统还可以使从惯性数据和来自光流的DVS特征轨迹导出的其他误差项最小化。例如,系统可以使重投影误差最小化,该重投影误差测量了来自光流的特征轨迹与相机运动匹配的程度。该系统还可以使IMU残余误差最小化,该IMU残余误差测量来自IMU的惯性数据与预测的相机运动匹配的程度。
在一个或多个实施例中,在使用立体声DVS配置的情况下,误差项之一可以是与立体声DVS的深度比较。这个处理有效地融合了补充信息源。系统求解的目标函数是高度非凸的,因此需要紧初始化。先前的相机姿态可以提供该初始化。系统根据所描述的优化结果确定当前的相机姿态。
框530示出了相对于3D地图跟踪由系统生成的当前DVS图像,该3D地图是已知3D环境的全局地图。通过跟踪相对于3D地图的当前DVS图像,该系统避免了小跟踪误差(称为相机姿态漂移)的积累,例如,这种误差可以随时间推移而发生,可以在利用视觉测距法(V0)的其他常规系统中发现。
在框550中,系统可以可选地基于如先前所描述的惯性数据自动调整DVS的帧速率。
在框555中,系统确定是否已检测到错误状况。例如,在一些情况下,系统可能无法收敛到全局最小值。在这种情况下,系统返回错误的姿态作为当前相机姿态。在特定实施例中,在框547的优化之后,系统能够基于目标函数的值来检测错误状况。例如,系统可以使用阈值来评估目标函数。如果目标函数的值超过阈值,则系统确定发生了错误状况。在这种情况下,目标函数的值指示系统预测的相机运动与相机的真实运动不匹配。如果检测到错误状况,则方法500可以循环回到框505以执行恢复处理,其中使用RGB传感器再次确定先前(初始)相机姿态。如果未检测到错误状况,则方法500可以继续到框560。
在框560中,系统能够利用在框530中确定的当前相机姿态来代替先前相机姿态。因此,在通过了跟踪处理的下一个迭代期间,基于跟踪处理的先前迭代的来自框530的当前相机姿态来确定下一个当前相机姿态。在框560之后,方法500循环回到框525以继续跟踪处理。
在一个或多个实施例中,可以随时间更新3D地图。例如,在3D环境中执行新构造或移动了3D环境内的对象的情况下,系统可以自动更新3D地图。作为说明性且非限制性的示例,系统可以检测3D地图与当前图像(无论是DVS图像还是RGB图像)之间的不一致。响应于检测到不一致,系统可以自动启动3D地图生成处理并保存新生成的3D地图,以用于在改变后的3D环境中执行相机姿态跟踪。
本文中所使用的术语仅仅是为了描述特定实施例,而不是旨在进行限制。尽管如此,现在将提出贯穿本文档应用的若干定义。
如本文所定义的,单数形式“一”、“一个”和“该”意在还包括复数形式,除非上下文明确地给出相反的指示。
术语“近似”意指值或量几乎准确或确切、接近但不精确。例如,术语“近似”可以意指所列举的特性、参数或值在确切的特性、参数或值的预定量之内。
如本文所定义的,术语“至少一个”、“一个或多个”和“和/或”是开放式表达,在操作中既是连接的又是分离的,除非另有明确指示。例如,表述“A、B和C中的至少一个”、“A、B或C中的至少一个”、“A、B和C中的一个或多个”、“A、B或C中的一个或多个”以及“A、B和/或C”中的每个表述表示单独的A、单独的B、单独的C、A和B一起、A和C一起、B和C一起、或A、B和C一起。
如本文所定义的,术语“自动”表示没有用户干预。
如本文所定义的,术语“计算机可读存储介质”表示包含或存储由指令执行系统、装置或设备使用或与指令执行系统、装置或设备相关的程序代码的存储介质。如本文所定义的,“计算机可读存储介质”本身不是暂时性传播信号。计算机可读存储介质可以是但不限于:电子存储设备、磁存储设备、光学存储设备、电磁存储设备、半导体存储设备或前述设备的任何合适的组合。如本文所述的不同类型的存储器是计算机可读存储介质的示例。计算机可读存储介质的更具体示例的非详尽列表可以包括:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘等。
如本文所定义的,术语“响应于”表示响应或容易地对动作或事件作出反应。因此,如果“响应于”第一动作执行第二动作,则第一动作的发生与第二动作的发生之间存在因果关系。术语“响应于”指示因果关系。
术语“基本上”意味着不需要严格实现所叙述的特性、参数或值,而是可以在不妨碍特性预期所要提供的效果的量上出现偏差或变化,包括例如公差、测量误差、测量精度限制及本领域技术人员所知的其他因素。
如本文所定义的,术语“一个实施例”、“实施例”、“一个或多个实施例”或类似语言意味着结合该实施例所描述的特定特征、结构或特性被包括在本公开内所描述的至少一个实施例中。因此,贯穿本公开出现的短语“在一个实施例中”、“在实施例中”、“在一个或多个实施例中”以及类似语言可以但不一定全部指代相同的实施例。在本公开内可互换地使用术语“实施例”和“布置”。
如本文所定义的,术语“输出”表示存储在物理存储器元件(例如设备)中、写入显示器或其他外围输出设备、发送或传输到另一系统、输出等。
如本文所定义的,术语“处理器”意指至少一个硬件电路。硬件电路可以被配置为执行包含在程序代码中的指令。硬件电路可以是集成电路。处理器的示例包括但不限于:中央处理单元(CPU)、阵列处理器、矢量处理器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、专用集成电路(ASIC)、可编程逻辑电路和控制器。
如本文所定义的,术语“实时”意味着用户或系统充分地立即感测要进行的特定处理或确定的处理响应性水平,或者使处理器能够跟上一些外部处理的处理响应性水平。
如本文所定义的,术语“用户”意指人类。
本文可以使用术语第一、第二等来描述各种元件。除非另有说明或上下文另有明确说明,否则这些元件不应受这些术语的限制,因为这些术语仅用于将一个元件与另一元件区分开。
计算机程序产品可以包括一种或多种计算机可读存储介质,其上具有使处理器执行本发明的各方面的计算机可读程序指令。在本公开中,术语“程序代码”可与术语“计算机可读程序指令”互换地使用。本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或经由网络(例如,互联网、LAN、WAN和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输线缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或包括边缘服务器的边缘设备。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并对计算机可读程序指令进行转发以存储在相应的计算/处理设备内的计算机可读存储介质中。
用于执行本文描述的发明性布置的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令或以一种或多种编程语言的任何组合编写的源代码或目标代码,编程语言包括面向对象的编程语言和/或程序性编程语言。计算机可读程序指令可以指定状态设置数据。计算机可读程序指令可以作为独立的软件包完全在用户的计算机上执行、部分地在用户的计算机上执行、部分地在用户的计算机上并且部分地在远程计算机上执行,或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括LAN或WAN)连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用互联网服务供应商的互联网)。在一些情况下,为执行本文描述的本发明布置的各个方面,包括例如可编程逻辑电路、FPGA或PLA的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令从而个性化电子电路。
本文参考方法、装置(系统)和计算机程序产品的流程图和/或框图来描述发明性布置的某些方面。应当理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令(例如,程序代码)来实现。
这些计算机可读程序指令可以提供给计算机的处理器、专用计算机或用于生产机器的其他可编程数据处理装置,使得该指令(经由计算机的处理器或其他可编程数据处理装置执行)创建用于实现流程图和/或框图中指定的功能/动作的装置。以这种方式,将处理器可操作地耦合到程序代码指令将处理器的机器转换成用于实施程序代码的指令的专用机器。这些计算机可读程序指令还可以存储在计算机可读存储介质中,计算机可读存储介质可引导计算机、可编程数据处理设备和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括执行在流程图和/或框图的一个或多个框中指定的操作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理设备或其他设备上,以使得一系列操作在计算机、其他可编程设备或其他设备上执行,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明性布置的各个方面的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这方面,流程图或框图中的每个框可以表示模块、段或指令的一部分,其包括用于实现指定的操作的一个或多个可执行指令。在一些备选实现中,框中记录的操作可能以附图中所示顺序之外的顺序发生。例如,连续示出的两个框实际上可能是基本同时执行的,或者所述框在某些时候会以相反的顺序执行,这取决于所涉及到的功能。还将注意到,框图和/或流程图图示的每个框、以及框图和/或流程图图示中框的组合可以由基于专用硬件的系统来实现,该系统执行指定的功能或动作,或执行专用硬件和计算机指令的组合。
可以在所附的权利要求书中找到的所有装置或步骤加功能元件的对应结构、材料、动作和等同物旨在包括与如特别要求保护的其他要求保护的元件相组合地执行该功能的任何结构、材料或动作。
根据本公开的实施例,提供了一种系统。该系统包括:动态视觉传感器(DVS),被配置为生成当前DVS图像;惯性测量单元(IMU),被配置为生成惯性数据;存储器,被配置为存储已知3维(3D)环境的3D地图;以及处理器,耦接到存储器。在本文中,处理器被配置为发起操作,包括基于当前DVS图像、惯性数据、3D地图和先前的相机姿态来确定DVS的当前相机姿态。
在本文中,处理器被配置为发起操作,还包括基于惯性数据来调整与DVS相对应的DVS帧速率。
在本文中,3D地图包括3D点云和具有对应相机姿态的关键帧,并且关键帧是具有重叠视场的红、绿和蓝(RGB)关键帧。
在本文中,确定当前相机姿态包括,通过执行包括当前DVS图像的多个连续DVS图像中的稀疏特征点的光流,跟踪多个连续DVS图像内的特征,以及将当前DVS图像与基于3D地图生成的合成DVS图像进行比较来确定运动。在本文中,基于运动、所跟踪的特征以及将当前DVS图像与合成DVS图像进行比较来确定当前相机姿态。
在本文中,将当前DVS图像与合成DVS图像进行比较包括,基于先前的相机姿态从3D地图中选择关键帧,以及基于所选择的关键帧和惯性数据来生成合成的DVS图像。
在本文中,确定当前相机姿态包括,执行优化以使合成的DVS图像与当前DVS图像之间的像素强度误差最小化。
该系统还包括被配置为生成当前RGB图像的RGB传感器。在本文中,处理器被配置为发起操作,操作还包括使用所学习的重新定位模型来确定先前相机姿态,其中,所学习的重新定位模型将当前RGB图像中的点映射到3D地图中的对应点。
在本文中,处理器被配置为发起操作,操作还包括响应于计算先前相机姿态来去激活RGB传感器。
系统还包括被配置为生成GPS数据的全球定位系统(GPS)接收器,其中当前相机姿态至少部分地基于GPS数据来确定。
本文提供的实施例的描述是出于说明的目的,并不旨在穷举或限于所公开的形式和示例。选择本文所使用的术语来解释本发明布置的原理,对市场中发现的技术的实际应用或技术改进,和/或使本领域普通技术人员能够理解本文公开的实施例。在不脱离所描述的发明性布置的范围和精神的情况下,对于本领域普通技术人员来说,修改和变化可以是显然的。因此,应当参考以下权利要求而不是前述公开内容,以指示这些特征和实现的范围。

Claims (11)

1.一种用于确定和跟踪相机姿态的方法,包括:
使用动态视觉传感器DVS来生成当前DVS图像;
使用惯性测量单元IMU来生成惯性数据;
使用处理器来从存储器中检索已知三维3D环境的3D地图的至少一部分,其中,所述3D地图包括具有对应相机姿态的关键帧,所述关键帧是具有重叠视场的红、绿和蓝RGB关键帧;以及
使用所述处理器基于所述当前DVS图像、所述惯性数据、所述3D地图和先前相机姿态来确定所述DVS的当前相机姿态,
其中,确定所述当前相机姿态包括:
通过执行包括所述当前DVS图像的多个连续DVS图像中的稀疏特征点的光流来确定运动;
跟踪所述多个连续DVS图像内的特征;以及
将所述当前DVS图像与基于所述3D地图的所述关键帧生成的合成DVS图像进行比较;
其中,基于所述运动、所跟踪的特征以及将所述当前DVS图像与所述合成DVS图像进行比较来确定所述当前相机姿态。
2.根据权利要求1所述的方法,还包括:
基于所述惯性数据来调整所述DVS的帧速率。
3.根据权利要求1所述的方法,其中,将所述当前DVS图像与所述合成DVS图像进行比较包括:
基于所述先前相机姿态来从所述3D地图中选择关键帧;以及
基于所选择的关键帧和所述惯性数据来生成所述合成DVS图像。
4.根据权利要求3所述的方法,其中,确定当前相机姿态包括:执行优化以使所述合成DVS图像与所述当前DVS图像之间的像素强度误差最小化。
5.根据权利要求1所述的方法,还包括:
使用RGB传感器来生成当前RGB图像;以及
使用所学习的重新定位模型来确定所述先前相机姿态,其中,所学习的重新定位模型将所述当前RGB图像中的点映射到所述3D地图中的对应点。
6.根据权利要求5所述的方法,还包括:
响应于计算所述先前相机姿态来去激活所述RGB传感器。
7.根据权利要求1所述的方法,还包括:
使用全球定位传感器GPS来生成GPS数据,其中,基于所述GPS数据来确定所述当前相机姿态。
8.一种用于确定和跟踪相机姿态的装置,所述装置被配置为执行根据权利要求1至7之一所述的方法。
9.一种计算机可读存储介质,在所述计算机可读存储介质上存储有程序代码,所述程序代码能够由计算机硬件执行以发起操作,所述操作包括:
生成当前动态视觉传感器DVS图像;
生成惯性数据;
从存储器中检索已知三维3D环境的3D地图的至少一部分,其中,所述3D地图包括具有对应相机姿态的关键帧,其中所述关键帧是具有重叠视场的红、绿和蓝RGB关键帧;以及
基于所述当前DVS图像、所述惯性数据、所述3D地图和先前相机姿态来确定所述DVS的当前相机姿态,
其中,确定所述当前相机姿态包括:
通过执行包括所述当前DVS图像的多个连续DVS图像中的稀疏特征点的光流来确定运动;
跟踪所述多个连续DVS图像内的特征;以及
将所述当前DVS图像与基于所述3D地图的所述关键帧生成的合成DVS图像进行比较;
其中,基于所述运动、所跟踪的特征以及将所述当前DVS图像与所述合成DVS图像进行比较来确定所述当前相机姿态。
10.根据权利要求9所述的计算机可读存储介质,还包括:
基于所述惯性数据来调整所述DVS的帧速率。
11.根据权利要求9所述的计算机可读存储介质,其中,将所述当前DVS图像与所述合成DVS图像进行比较包括:
基于所述先前相机姿态来从所述3D地图中选择关键帧;以及
基于所选择的关键帧和所述惯性数据来生成所述合成DVS图像。
CN201880060621.5A 2017-09-28 2018-09-28 相机姿态确定和跟踪 Active CN111133473B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762564957P 2017-09-28 2017-09-28
US62/564,957 2017-09-28
US15/962,757 US10839547B2 (en) 2017-09-28 2018-04-25 Camera pose determination and tracking
US15/962,757 2018-04-25
PCT/KR2018/011545 WO2019066563A1 (en) 2017-09-28 2018-09-28 DETERMINATION AND FOLLOW-UP OF CAMERA INSTALLATION

Publications (2)

Publication Number Publication Date
CN111133473A CN111133473A (zh) 2020-05-08
CN111133473B true CN111133473B (zh) 2024-04-05

Family

ID=65807774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880060621.5A Active CN111133473B (zh) 2017-09-28 2018-09-28 相机姿态确定和跟踪

Country Status (4)

Country Link
US (1) US10839547B2 (zh)
EP (1) EP3639243A4 (zh)
CN (1) CN111133473B (zh)
WO (1) WO2019066563A1 (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11370422B2 (en) * 2015-02-12 2022-06-28 Honda Research Institute Europe Gmbh Method and system in a vehicle for improving prediction results of an advantageous driver assistant system
US10529074B2 (en) 2017-09-28 2020-01-07 Samsung Electronics Co., Ltd. Camera pose and plane estimation using active markers and a dynamic vision sensor
JP2022516074A (ja) 2018-12-27 2022-02-24 マジック リープ, インコーポレイテッド 仮想および拡張現実のためのシステムおよび方法
US10955245B2 (en) * 2019-04-30 2021-03-23 Samsung Electronics Co., Ltd. System and method for low latency, high performance pose fusion
CN110296717B (zh) * 2019-06-21 2020-08-28 上海芯仑光电科技有限公司 一种事件数据流的处理方法及计算设备
KR20210031269A (ko) 2019-09-11 2021-03-19 삼성전자주식회사 영상 인식 모델을 학습하는 전자 장치 및 그 동작 방법
US11328475B2 (en) 2019-10-18 2022-05-10 Magic Leap, Inc. Gravity estimation and bundle adjustment for visual-inertial odometry
US20210185265A1 (en) * 2019-12-13 2021-06-17 Sony Semiconductor Solutions Corporation Methods of sensor mode switching in event based sensor and imaging camera for low power application
US11394905B2 (en) 2019-12-13 2022-07-19 Sony Semiconductor Solutions Corporation Dynamic region of interest and frame rate for event based sensor and imaging camera
TWI732398B (zh) * 2019-12-25 2021-07-01 國立陽明交通大學 基於等距長方投影的全景地圖的處理模組及其處理方法
US11635802B2 (en) * 2020-01-13 2023-04-25 Sony Interactive Entertainment Inc. Combined light intensity based CMOS and event detection sensor for high speed predictive tracking and latency compensation in virtual and augmented reality HMD systems
WO2021155828A1 (en) * 2020-02-05 2021-08-12 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method and system for implementing dynamic input resolution for vslam systems
CN111553279B (zh) * 2020-04-28 2023-05-05 北京百度网讯科技有限公司 兴趣点的表征学习、识别方法、装置、设备及存储介质
CN111709990B (zh) * 2020-05-22 2023-06-20 贵州民族大学 一种相机重定位方法和系统
US11561613B2 (en) 2020-05-29 2023-01-24 Magic Leap, Inc. Determining angular acceleration
US11227402B2 (en) 2020-05-29 2022-01-18 Icatch Technology, Inc. Velocity measuring device
US11748954B2 (en) * 2020-06-01 2023-09-05 Snap Inc. Tracking an augmented reality device
CN111685724B (zh) * 2020-06-09 2023-06-23 广东小天才科技有限公司 眼动检测方法、装置、设备及存储介质
CN111784579B (zh) * 2020-06-28 2024-06-07 北京百度网讯科技有限公司 制图方法及装置
CN111862288B (zh) * 2020-07-29 2024-08-13 北京小米移动软件有限公司 一种位姿渲染方法、装置及介质
US11398048B2 (en) * 2020-07-30 2022-07-26 Apical Limited Estimating camera pose
KR20220015964A (ko) * 2020-07-31 2022-02-08 삼성전자주식회사 시각적 주행 거리 측정 애플리케이션들을 위한 손실된 이미지 특징 복원을 위한 방법 및 시스템
JP2022069057A (ja) * 2020-10-23 2022-05-11 パナソニックホールディングス株式会社 位置推定システム
CN112688991B (zh) * 2020-12-15 2022-11-04 北京百度网讯科技有限公司 用于执行点云扫描操作的方法、相关装置及存储介质
EP4261778A4 (en) * 2020-12-31 2024-02-21 Huawei Digital Power Technologies Co., Ltd. DEVICE RELATED TO POSTURE ESTIMATION METHODS
WO2021178980A1 (en) * 2021-04-28 2021-09-10 Innopeak Technology, Inc Data synchronization and pose prediction in extended reality
US11879984B2 (en) * 2021-05-21 2024-01-23 Booz Allen Hamilton Inc. Systems and methods for determining a position of a sensor device relative to an object
US11677898B2 (en) * 2021-05-25 2023-06-13 Samsung Electronics Co., Ltd. Electronic device for applying effect for moving object to image and method for operating the same
CN113506325B (zh) * 2021-07-15 2024-04-12 清华大学 图像处理方法及装置、电子设备和存储介质
US20230262350A1 (en) * 2022-02-15 2023-08-17 Sony Group Corporation Information processing device and information processing method
EP4387259A1 (en) * 2022-12-13 2024-06-19 Prophesee Row selector for event readout
CN116156142A (zh) * 2023-01-05 2023-05-23 杭州易现先进科技有限公司 Ar视频数据的离线渲染方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO20072616L (no) * 2007-05-22 2008-11-24 Metaio Gmbh Camera pose estimation apparatus and method for augmented reality imaging
CN103218799A (zh) * 2012-01-18 2013-07-24 三星电子株式会社 用于相机跟踪的方法和设备
US8761439B1 (en) * 2011-08-24 2014-06-24 Sri International Method and apparatus for generating three-dimensional pose using monocular visual sensor and inertial measurement unit
WO2014160342A1 (en) * 2013-03-13 2014-10-02 The University Of North Carolina At Chapel Hill Low latency stabilization for head-worn displays
CN104106262A (zh) * 2012-02-08 2014-10-15 微软公司 使用深度相机的头部姿态跟踪
CN104364823A (zh) * 2012-06-14 2015-02-18 高通股份有限公司 视觉辅助惯性相机姿势估计与仅基于视觉的相机姿势估计之间的自适应性切换
CN105513083A (zh) * 2015-12-31 2016-04-20 新浪网技术(中国)有限公司 一种ptam摄像机跟踪方法及装置
GB201604115D0 (en) * 2016-03-10 2016-04-27 Moog Bv Movement tracking and simulation device and method

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3626400B2 (ja) 2000-08-31 2005-03-09 株式会社東芝 ターゲットマーカを用いた対象物の位置計測方法及びロボットシステム
WO2006011153A2 (en) 2004-07-30 2006-02-02 Extreme Reality Ltd. A system and method for 3d space-dimension based image processing
JP4300199B2 (ja) 2005-06-13 2009-07-22 株式会社東芝 移動ロボット、移動ロボットの位置姿勢算出方法、移動ロボットの自律走行システム
US20070285554A1 (en) 2005-10-31 2007-12-13 Dor Givon Apparatus method and system for imaging
US20090295791A1 (en) 2008-05-29 2009-12-03 Microsoft Corporation Three-dimensional environment created from video
EP2157545A1 (en) 2008-08-19 2010-02-24 Sony Computer Entertainment Europe Limited Entertainment device, system and method
US9024972B1 (en) 2009-04-01 2015-05-05 Microsoft Technology Licensing, Llc Augmented reality computing with inertial sensors
US8711206B2 (en) * 2011-01-31 2014-04-29 Microsoft Corporation Mobile camera localization using depth maps
US8937663B2 (en) 2011-04-01 2015-01-20 Microsoft Corporation Camera and sensor augmented reality techniques
WO2013181509A1 (en) * 2012-06-01 2013-12-05 Petari USA, Inc. Method and system for airplane container tracking
US9370302B2 (en) 2014-07-08 2016-06-21 Wesley W. O. Krueger System and method for the measurement of vestibulo-ocular reflex to improve human performance in an occupational environment
US20140369557A1 (en) 2013-06-14 2014-12-18 Qualcomm Incorporated Systems and Methods for Feature-Based Tracking
US9630105B2 (en) 2013-09-30 2017-04-25 Sony Interactive Entertainment Inc. Camera based safety mechanisms for users of head mounted displays
US20150262412A1 (en) * 2014-03-17 2015-09-17 Qualcomm Incorporated Augmented reality lighting with dynamic geometry
US9779508B2 (en) 2014-03-26 2017-10-03 Microsoft Technology Licensing, Llc Real-time three-dimensional reconstruction of a scene from a single camera
WO2016073642A1 (en) 2014-11-04 2016-05-12 The Regents Of The University Of California Visual-inertial sensor fusion for navigation, localization, mapping, and 3d reconstruction
US10725631B2 (en) 2015-04-30 2020-07-28 Pixia Corp. Systems and methods of selecting a view from a plurality of cameras
KR102433931B1 (ko) 2015-07-30 2022-08-19 삼성전자주식회사 움직임 인식 방법 및 움직임 인식 장치
US10291845B2 (en) * 2015-08-17 2019-05-14 Nokia Technologies Oy Method, apparatus, and computer program product for personalized depth of field omnidirectional video
US10073531B2 (en) 2015-10-07 2018-09-11 Google Llc Electronic device pose identification based on imagery and non-image sensor data
US10260862B2 (en) 2015-11-02 2019-04-16 Mitsubishi Electric Research Laboratories, Inc. Pose estimation using sensors
KR102462799B1 (ko) 2015-11-05 2022-11-03 삼성전자주식회사 자세 추정 방법 및 자세 추정 장치
US10198660B2 (en) 2016-01-27 2019-02-05 Samsung Electronics Co. Ltd. Method and apparatus for event sampling of dynamic vision sensor on image formation
US10241214B2 (en) * 2016-03-01 2019-03-26 International Business Machines Corporation Acceleration of real time computer vision processing on UAVs through GPS attitude estimation
US10573018B2 (en) * 2016-07-13 2020-02-25 Intel Corporation Three dimensional scene reconstruction based on contextual analysis
EP3333538B1 (en) * 2016-12-07 2020-09-09 Hexagon Technology Center GmbH Scanner vis
US10698068B2 (en) 2017-03-24 2020-06-30 Samsung Electronics Co., Ltd. System and method for synchronizing tracking points
US10529074B2 (en) 2017-09-28 2020-01-07 Samsung Electronics Co., Ltd. Camera pose and plane estimation using active markers and a dynamic vision sensor

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO20072616L (no) * 2007-05-22 2008-11-24 Metaio Gmbh Camera pose estimation apparatus and method for augmented reality imaging
US8761439B1 (en) * 2011-08-24 2014-06-24 Sri International Method and apparatus for generating three-dimensional pose using monocular visual sensor and inertial measurement unit
CN103218799A (zh) * 2012-01-18 2013-07-24 三星电子株式会社 用于相机跟踪的方法和设备
CN104106262A (zh) * 2012-02-08 2014-10-15 微软公司 使用深度相机的头部姿态跟踪
CN104364823A (zh) * 2012-06-14 2015-02-18 高通股份有限公司 视觉辅助惯性相机姿势估计与仅基于视觉的相机姿势估计之间的自适应性切换
WO2014160342A1 (en) * 2013-03-13 2014-10-02 The University Of North Carolina At Chapel Hill Low latency stabilization for head-worn displays
CN105513083A (zh) * 2015-12-31 2016-04-20 新浪网技术(中国)有限公司 一种ptam摄像机跟踪方法及装置
GB201604115D0 (en) * 2016-03-10 2016-04-27 Moog Bv Movement tracking and simulation device and method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Andrea Censi等.Low-Latency Event-Based Visual Odometry.2014 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION(ICRA).2014,703. *
JULIEN LI-CHEE-MING.MAP-BASED LOCALIZATION FOR UNMANNED AERIAL VEHICLE NAVIGATION.A DISSERTATION SUBMITTED TO THE FACULTY OF GRADUATE STUDIES IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY GRADUATE PROGRAM IN EARTH AND SPACE SCIENCE.2017,161. *

Also Published As

Publication number Publication date
EP3639243A1 (en) 2020-04-22
WO2019066563A1 (en) 2019-04-04
CN111133473A (zh) 2020-05-08
US20190096081A1 (en) 2019-03-28
US10839547B2 (en) 2020-11-17
EP3639243A4 (en) 2020-08-12

Similar Documents

Publication Publication Date Title
CN111133473B (zh) 相机姿态确定和跟踪
US10529074B2 (en) Camera pose and plane estimation using active markers and a dynamic vision sensor
CN107909612B (zh) 一种基于3d点云的视觉即时定位与建图的方法与系统
US10394318B2 (en) Scene analysis for improved eye tracking
EP3248374B1 (en) Method and apparatus for multiple technology depth map acquisition and fusion
EP3175427B1 (en) System and method of pose estimation
EP3570553B1 (en) Computer-implemented method and system of providing haptic feedback
JP6258953B2 (ja) 単眼視覚slamのための高速初期化
CN107852447B (zh) 基于设备运动和场景距离使电子设备处的曝光和增益平衡
CN107784671B (zh) 一种用于视觉即时定位与建图的方法与系统
US10204457B2 (en) Digital camera system with acoustic modeling
WO2019007701A1 (en) LOCATION OF MOBILE DEVICE IN COMPLEX THREE DIMENSIONAL SCENES
US10679376B2 (en) Determining a pose of a handheld object
WO2019183914A1 (en) Dynamic video encoding and view adaptation in wireless computing environments
US20220253131A1 (en) Systems and methods for object tracking using fused data
US10586394B2 (en) Augmented reality depth sensing using dual camera receiver
WO2023140990A1 (en) Visual inertial odometry with machine learning depth
US20200211275A1 (en) Information processing device, information processing method, and recording medium
JP2018536494A5 (zh)
US10529084B2 (en) Image processing method, electronic device, and non-transitory computer readable storage medium
Calloway et al. Three tiered visual-inertial tracking and mapping for augmented reality in urban settings
US11842444B2 (en) Visualization of camera location in a real-time synchronized 3D mesh
US11257245B1 (en) Method and device for detection and tracking of low-texture objects
CN114930116A (zh) 发光二极管(led)阵列的事件驱动型传感器(eds)跟踪
Cho et al. Rotation estimation from cloud tracking

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