CN112189335B - 用于低功率移动平台的cmos辅助内向外动态视觉传感器跟踪 - Google Patents

用于低功率移动平台的cmos辅助内向外动态视觉传感器跟踪 Download PDF

Info

Publication number
CN112189335B
CN112189335B CN201980033191.2A CN201980033191A CN112189335B CN 112189335 B CN112189335 B CN 112189335B CN 201980033191 A CN201980033191 A CN 201980033191A CN 112189335 B CN112189335 B CN 112189335B
Authority
CN
China
Prior art keywords
sensor
dvs
output
tracking
pipeline
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
CN201980033191.2A
Other languages
English (en)
Other versions
CN112189335A (zh
Inventor
A.古普塔
M.萨皮恩扎
F.方塔内尔
A.本戴尔
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 CN112189335A publication Critical patent/CN112189335A/zh
Application granted granted Critical
Publication of CN112189335B publication Critical patent/CN112189335B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/16Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using electromagnetic waves other than radio waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S3/00Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received
    • G01S3/78Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received using electromagnetic waves other than radio waves
    • G01S3/781Details
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/147Details of sensors, e.g. sensor lenses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/65Control of camera operation in relation to power supply
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/684Vibration or motion blur correction performed by controlling the image sensor readout, e.g. by controlling the integration time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/40Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled
    • H04N25/42Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled by switching between different modes of operation using different resolutions or aspect ratios, e.g. switching between interlaced and non-interlaced mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/40Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled
    • H04N25/44Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled by partially reading an SSIS array
    • H04N25/443Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled by partially reading an SSIS array by reading pixels from selected 2D regions of the array, e.g. for windowing or digital zooming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/47Image sensors with pixel address output; Event-driven image sensors; Selection of pixels to be read out based on image data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/76Addressed sensors, e.g. MOS or CMOS sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/76Addressed sensors, e.g. MOS or CMOS sensors
    • H04N25/766Addressed sensors, e.g. MOS or CMOS sensors comprising control or output lines used for a plurality of functions, e.g. for pixel output, driving, reset or power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • 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/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Vascular Medicine (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Optics & Photonics (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • User Interface Of Digital Computer (AREA)
  • Studio Devices (AREA)
  • Processing Or Creating Images (AREA)
  • Power Sources (AREA)

Abstract

一种装置,包括:动态视觉传感器(DVS),被配置为输出传感器事件数据的异步流;以及互补金属氧化物半导体(CMOS)图像传感器,被配置为输出图像数据的帧。该装置还包括:混合特征处理机,被配置为接收DVS输出或CMOS图像传感器输出中的一个或多个作为输入,并将跟踪的特征提供给执行内向外设备跟踪的视觉惯性同时定位和绘图(SLAM)管线;以及传感器调度器,被配置为基于一个或多个CMOS控制因子的当前值来关闭CMOS图像传感器。

Description

用于低功率移动平台的CMOS辅助内向外动态视觉传感器跟踪
技术领域
本公开总体上涉及计算机视觉和用于增强现实(AR)的平台。更具体地,本公开涉及用于低功率移动平台的互补金属氧化物半导体(CMOS)辅助动态视觉传感器(DVS)跟踪。
背景技术
增强现实(AR)体验,其将数字控制的AR内容并入到由AR平台提供的操作环境(例如,现实世界环境)的用户视图中,使得当用户在操作环境内移动时,AR内容的位置行为看起来模仿物理对象(例如,看起来“粘”在环境的墙壁上而没有抖动或看起来“陷入”到墙壁中的AR对象)的位置行为,可能要求AR平台基于提供给AR平台(诸如设备相机)的图像传感器数据来生成和连续地更新对其世界的数字理解。
在许多情况下,与维护AR平台的世界理解相关联的处理负载和功耗可能降低AR体验的质量—例如,通过要求将AR装置“束缚(tethered)”(例如,有线的)到更大功率的处理平台、或者AR应用迅速消耗无束缚的(untethered)(例如,无线的)AR平台的可用电池资源。
因此,减少与生成以期望的AR体验为基础的准确和稳定的世界理解相关联的功耗和处理负荷仍然是计算机视觉和增强现实的领域中的改善的技术挑战和机会的来源。
发明内容
本公开提供了用于低功率移动平台的互补金属氧化物半导体(CMOS)辅助动态视觉传感器(DVS)跟踪。
在第一实施例中,一种装置包括:动态视觉传感器(DVS),被配置为输出传感器事件数据的异步流;以及互补金属氧化物半导体(CMOS)图像传感器,被配置为输出图像数据的帧。该装置还包括:混合特征处理机,被配置为接收DVS输出或CMOS图像传感器输出中的一个或多个作为输入,并将跟踪的特征提供给执行内向外设备跟踪的视觉惯性同时定位和绘图(SLAM)管线;以及传感器调度器,被配置为基于一个或多个CMOS控制因子的当前值来关闭CMOS图像传感器。
在第二实施例中,一种方法包括:在装置的混合特征处理机处接收被配置为输出传感器事件数据的异步流的动态视觉传感器(DVS)的输出;在混合特征处理机处接收互补金属氧化物半导体(CMOS)图像传感器的输出,该CMOS图像传感器被配置为输出图像数据的帧;以及由混合特征处理机基于DVS传感器的输出或CMOS图像传感器的输出中的一个或多个来确定跟踪的特征。该方法还包括:将跟踪的特征提供给执行内向外设备跟踪的视觉惯性同时定位和绘图(SLAM)管线;以及由传感器调度器基于一个或多个CMOS控制因子的当前值来关闭CMOS图像传感器。例如,预测模型基于来自视觉惯性SLAM管线的内向外跟踪输出与基于外向内跟踪测量的地面真值的比较进行训练,并且预测模型预测来自视觉惯性SLAM管线的内向外跟踪输出之间相对于地面真值的相对误差。例如,CMOS图像传感器响应于跟踪精度置信度值的当前值下降到阈值以下而关闭。例如,阈值基于装置的功耗历史或功率预算中的一个或多个进行调整。
在第三实施例中,一种非暂时性计算机可读介质包括程序代码,该程序代码在由处理器运行时使得装置:在装置的混合特征处理机处接收被配置为输出传感器事件数据的异步流的动态视觉传感器(DVS)的输出;在混合特征处理机处接收互补金属氧化物半导体(CMOS)图像传感器的输出,该CMOS图像传感器被配置为输出图像数据的帧;以及由混合特征处理机基于DVS传感器的输出或CMOS图像传感器的输出中的一个或多个来确定跟踪的特征。该非暂时性计算机可读介质还包括程序代码,该程序代码在由处理器运行时使得装置:将跟踪的特征提供给执行内向外设备跟踪的视觉惯性同时定位和绘图(SLAM)管线;以及由传感器调度器基于一个或多个CMOS控制因子的当前值来关闭CMOS图像传感器。
在第四实施例中,一种用于基于视觉惯性同时定位和绘图(SLAM)来执行内向外设备跟踪的无束缚的装置包括:动态视觉传感器(DVS),被配置为输出来自第一视场内的传感器事件数据的异步流;惯性测量单元(IMU)传感器,被配置为以预定间隔收集与装置的运动相关联的IMU数据;处理器;以及存储器。此外,存储器包括指令,该指令在由处理器运行时使得该装置:在滑动时间窗口上累积DVS传感器输出,该滑动时间窗口包括预定间隔;将运动校正应用于累积的DVS传感器输出,该运动校正基于在预定间隔内收集的IMU数据;基于运动校正来生成DVS传感器事件的事件帧直方图;以及将DVS传感器事件的事件帧直方图以及IMU数据提供给视觉惯性SLAM管线。例如,该装置是头戴式显示器(HMD)、无人机、智能手机或电子玩具中的至少一个的组件。例如,该装置还包括:互补金属氧化物半导体(CMOS)图像传感器,被配置为输出图像数据的帧;以及传感器调度器,被配置为基于一个或多个CMOS控制因子的当前值来关闭CMOS图像传感器。例如,存储器还包含指令,该指令在由处理器运行时使得该装置:将空间直方图滤波器应用于DVS传感器事件的事件帧直方图,以去除噪声伪像。
在第五实施例中,一种装置包括:动态视觉传感器(DVS),被配置为输出传感器事件数据的异步流;互补金属氧化物半导体(CMOS)图像传感器,被配置为输出图像数据的帧;惯性测量单元(IMU);处理器;以及存储器。该存储器包含指令,该指令在由处理器运行时使得该装置生成带时间戳的帧的语义分割,该带时间戳的帧基于CMOS图像传感器的输出或合成事件帧中的一个或多个,其中该合成事件帧基于时间间隔内的来自DVS的输出和来自IMU的输出,其中,语义分割包括与带时间戳的帧的区域相关联的语义标签。当由处理器运行时,该指令还使得该装置:基于语义分割来确定坐标空间中的简化对象表示;以及基于简化对象表示来更新稳定语义图。
在第六实施例中,一种计算机实施的方法包括在具有处理器和存储器的装置处生成带时间戳的帧的语义分割。带时间戳的帧基于被配置为输出图像数据的帧的CMOS图像传感器的输出或合成图像帧中的一个或多个,该合成图像帧基于被配置为输出传感器事件数据的异步流的动态视觉传感器(DVS)和惯性测量单元的输出,并且语义分割包括与带时间戳的帧的区域相关联的语义标签。该计算机实施的方法还包括:基于语义分割来确定坐标空间中的简化对象表示;以及基于简化对象表示来更新稳定语义图。
在第七实施例中,一种非暂时性计算机可读介质包括程序代码,该程序代码在由处理器运行时使得装置生成带时间戳的帧的语义分割。带时间戳的帧基于被配置为输出图像数据的帧的CMOS图像传感器的输出或合成图像帧中的一个或多个,该合成图像帧基于被配置为输出传感器事件数据的异步流的动态视觉传感器(DVS)和惯性测量单元的输出。此外,语义分割包括与带时间戳的帧的区域相关联的语义标签。当由处理器运行时,该程序代码还使得装置:基于语义分割来确定坐标空间中的简化对象表示;以及基于简化对象表示来更新稳定语义图。
在第八实施例中,一种计算机实施的方法包括:在主平台处从第一设备接收与第一设备的图像传感器相关联的第一姿态数据、以及由第一设备生成的第一语义图,第一语义图包括第一设备的坐标空间中的至少一个简化对象表示。该计算机实施的方法还包括在主平台处从第二设备接收与第二设备的图像传感器相关联的第二姿态数据、以及由第二设备生成的第二语义图,第二语义图包括第二设备的坐标空间中的至少一个简化对象表示。此外,该方法包括:标识第一语义图和第二语义图共有的共享的简化对象表示,以及基于第一姿态数据和第二姿态数据将第一语义图与第二语义图进行组合,其中,第一姿态数据、第一语义图、第二姿态数据和第二语义图与公共时间间隔相关联。
根据以下附图、描述和权利要求,其他技术特征对于本领域技术人员而言可以是显而易见的。
在进行下面的详细描述之前,阐述贯穿本专利文档使用的某些词语和短语的定义可能是有利的。术语“耦合”及其派生词指两个或更多个元件之间的任何直接或间接通信,无论这些元件是否彼此物理接触。术语“发送”、“接收”和“通信”及其派生词包含直接和间接通信。术语“包括”和“包含”及其派生词意味着没有限制的包括。术语“或”是包括性的,意味着和/或。短语“与……相关联”及其派生词意味着包括、被包括在……内、与……互连、包含、被包含在……内、连接或与……连接、耦合或与……耦合、可与……通信、与……协作、交织、并列、接近、结合或与……结合、具有、具有……的性质、有关系或与……有关系等。术语“控制器”意味着控制至少一个操作的任何设备、系统、或其一部分。这样的控制器可以以硬件、或硬件和软件和/或固件的组合来实施。与任何特定控制器相关联的功能可以是集中式或分布式的,无论是本地还是远程地。当与项的列表一起使用时,短语“……中的至少一个”意味着可以使用所列项中的一个或多个的不同组合,并且可以仅需要列表中的一个项。例如,“A、B和C中的至少一个”包括任何以下组合:A、B、C、A和B、A和C、B和C、以及A和B和C
此外,下面描述的各种功能可以由一个或多个计算机程序实施或支持,计算机程序中的每一个由计算机可读程序代码形成并体现在计算机可读介质中。术语“应用”和“程序”是指适于在合适的计算机可读程序代码中实施的一个或多个计算机程序、软件组件、指令集合、过程、功能、对象、类、实例、相关数据、或其一部分。短语“计算机可读程序代码”包括任何类型的计算机代码,包括源代码、目标代码和可运行代码。短语“计算机可读介质”包括能够由计算机访问的任何类型的介质,诸如只读存储器(ROM)、随机存取存储器(RAM)、硬盘驱动器、光盘(CD)、数字视频光盘(DVD)或任何其他类型的存储器。“非暂时性”计算机可读介质不包括传输暂时性电信号或其他信号的有线、无线、光学或其他通信链路。非暂时性计算机可读介质包括其中可以永久存储数据的介质和其中可以存储数据并随后覆写数据的介质,诸如可重写光盘或可擦除存储器设备。
贯穿本专利文档提供了对其他某些词语和短语的定义。本领域普通技术人员应该理解,在许多实例(如果不是大多数实例)中,这样的定义适用于对这样的所定义的词语和短语的先前以及将来的使用。
附图说明
为了更完整地理解本公开及其优点,现在参考结合附图的以下描述,其中:
图1示出了根据本公开的某些实施例的作为低功率AR平台进行操作的设备的示例;
图2示出了根据本公开的某些实施例的服务器的示例;
图3示出了根据本公开的某些实施例的结合基于稳定语义图提供增强现实内容的低功率平台上的CMOS辅助内向外特征跟踪的各方面;
图4示出了根据本公开的某些实施例的动态视觉传感器(“DVS”)的操作的各方面;
图5示出了根据本公开的某些实施例的用于在低功率移动平台上执行CMOS辅助内向外DVS跟踪的系统的示例;
图6示出了根据本公开的某些实施例的用于生成混合特征跟踪的管线的示例的各方面;
图7示出了根据本公开的某些实施例的传感器控制器和调度器的操作的各方面;
图8示出了根据本公开的某些实施例的实施CMOS辅助内向外DVS跟踪的低功率移动平台的某些操作参数随时间的值的示例;
图9示出了根据本公开的某些实施例的用于在低功率移动平台上实施用于增强现实的CMOS辅助内向外DVS跟踪和语义绘图的传感器硬件配置的示例;
图10示出了根据本公开的某些实施例的用于在低功率移动平台上实施用于增强现实的CMOS辅助内向外DVS跟踪和语义绘图的传感器硬件配置的示例;
图11示出了根据本公开的某些实施例的用于在移动平台上执行CMOS辅助内向外DVS跟踪的系统管线的示例;
图12示出了根据本公开的某些实施例的用于实时处理多个DVS传感器的输出的事件帧合成管线的示例;
图13A、图13B和图13C示出了根据本公开的某些实施例的用于利用多个DVS传感器来实施CMOS辅助内向外跟踪的移动平台的硬件配置的示例;
图14示出了根据本公开的某些实施例的用于使用一个或多个DVS传感器来实施用于低功率增强现实(AR)的语义绘图的系统架构的示例;
图15示出了根据本公开的某些实施例的生成带时间戳的帧的语义分割的各方面;
图16示出了根据本公开的某些实施例的结构分类和简化的各方面;
图17示出了根据本公开的某些实施例的结构分类和简化管线的元素。
图18示出了根据本公开的某些实施例的设备内融合模块1800的操作架构的各方面;
图19A、图19B、图19C和图19D示出了根据本公开的某些实施例的内向外设备跟踪和生成稳定语义图的某些方面;
图20示出了根据本公开的某些实施例的用于生成和更新全局稳定语义图的系统架构的示例;
图21示出了根据本公开的某些实施例的用于生成和更新基于多平台的全局稳定语义图的架构的示例;
图22示出了根据本公开的某些实施例的用于执行与全局稳定语义图的生成和更新相关联的设备内操作的架构的示例;
图23A、图23B和图23C提供了根据本公开的某些实施例的主平台处的移动平台的设备分组的各方面的视觉说明;
图24提供了根据本公开的某些实施例的图优化的各方面的视觉说明。
图25示出了利用由根据本公开的某些实施例生成的全局语义图提供的一致的世界理解的AR应用的示例;
图26示出了根据本公开的某些实施例的用于在低功率移动设备上执行CMOS辅助内向外DVS跟踪的方法的一个示例的操作;
图27示出了根据本公开的某些实施例的用于在低功率移动设备上执行CMOS辅助内向外DVS跟踪的方法的操作;
图28示出了根据本公开的某些实施例的用于基于视觉惯性SLAM来执行内向外设备跟踪的方法的示例的操作;
图29示出了根据本公开的某些实施例的用于基于视觉惯性SLAM来执行内向外设备跟踪的方法的操作;
图30示出了根据本公开的某些实施例的用于更新稳定语义图的方法的一个示例的操作;并且
图31示出了根据本公开的某些实施例的用于组合局部语义图作为更新全局语义图的更大过程的一部分的方法的示例的操作。
具体实施方式
下面讨论的图1至图31以及用于描述本专利文档中的本公开的原理的各种实施例仅作为说明,并且不应该以任何方式被解释为限制本公开的范围。本领域技术人员将理解,可以在任何适当布置的处理平台中实施本公开的原理。
图1示出了根据本公开的一些实施例的作为低功率AR平台进行操作的设备100的非限制性示例。根据本公开的各种实施例,设备100可以被实施为用于提供增强现实(AR)体验的智能手机、平板电脑或头戴式设备(HMD)中的一个或多个。在图1中示出的设备100的实施例仅用于说明,并且其他配置是可能的。然而,合适的设备具有各种各样的配置,并且图1不将本公开的范围限制于设备的任何特定实施方式。例如,虽然根据本公开的某些实施例被描述为在移动AR平台上实施,但是根据本公开的实施例不限于此,并且在虚拟现实(VR)平台上实施的实施例在本公开的预期范围内。
如图1的非限制性示例所示,设备100包括通信单元110(可以包括例如射频(RF)收发器、蓝牙收发器或Wi-Fi收发器等)、发送(TX)处理电路115、麦克风120和接收(RX)处理电路125。设备100还包括扬声器130、主处理器140、输入/输出(I/O)接口(IF)145、(多个)输入/输出设备150和存储器160。存储器160包括操作系统(OS)程序161和一个或多个应用162。
应用162可以包括游戏、社交媒体应用、用于对照片以及数字内容的其他项进行地理标记的应用、虚拟现实(VR)应用、增强现实(AR)应用、操作系统、设备安全(例如,防盗和设备跟踪)应用或访问设备100的资源的任何其他应用,设备100的资源包括但不限于扬声器130、麦克风120、输入/输出设备150和附加资源180。根据一些实施例,应用162包括可以消耗或以其他方式利用设备100的视觉传感器的视场中的物理对象的语义图的应用。
通信单元110可以接收传入的RF信号,例如,诸如蓝牙或Wi-Fi信号的近场通信信号。通信单元110可以对传入的RF信号进行下变频,以生成中频(IF)或基带信号。IF或基带信号被传送给RX处理电路125,其通过对基带或IF信号进行滤波、解码或数字化来生成经处理的基带信号。RX处理电路125将经处理的基带信号发送给扬声器130(诸如对于语音数据)或者发送给主处理器140以用于进一步处理(诸如对于网页浏览数据、在线游戏性数据、通知数据或其他消息数据)。此外,通信单元110可以包含网络接口,诸如网卡、或通过软件实施的网络接口。
TX处理电路115从麦克风120接收模拟或数字语音数据,或者从主处理器140接收其他传出的基带数据(诸如网络数据、电子邮件或交互式视频游戏数据)。TX处理电路115对传出的基带数据进行编码、复用或数字化,以生成经处理的基带或IF信号。通信单元110从TX处理电路115接收传出的经处理的基带或IF信号,并且将基带或IF信号上变频为RF信号以用于传输。
主处理器140可以包括一个或多个处理器或者其他处理设备,并运行存储在存储器160中的OS程序161,以便控制设备100的整体操作。例如,根据众所周知的原理,主处理器140可以控制通信单元110、RX处理电路125和TX处理电路115的正向信道信号的接收和反向信道信号的发送。在一些实施例中,主处理器140包括至少一个微处理器或微控制器。根据某些实施例,主处理器140是低功率处理器,诸如包括用于使电池199的消耗最小化或使设备100中的热量积聚最小化的控制逻辑的处理器。
主处理器140还能够运行驻留在存储器160中的其他过程和程序。主处理器140可以根据执行过程的要求将数据移入或移出存储器160。在一些实施例中,主处理器140被配置为基于OS程序161或响应于来自用户或应用162的输入来运行应用162。应用162可以包括专门为设备100的平台开发的应用、或为更早的平台开发的传统应用。主处理器140还被耦合到I/O接口145,该I/O接口145向设备100提供连接到诸如膝上型计算机和手持式计算机的其他设备的能力。I/O接口145是这些附件和主处理器140之间的通信路径。
主处理器140还被耦合到(多个)输入/输出设备150。设备100的操作者可以使用(多个)输入/输出设备150来将数据输入到设备100中。(多个)输入/输出设备150可以包括键盘、触摸屏、(多个)鼠标、轨迹球、或能够充当用户界面以允许用户与设备100交互的其他设备。在一些实施例中,(多个)输入/输出设备150可以包括触摸面板、增强或虚拟现实耳机、(数字)笔传感器、按键或超声输入设备。
(多个)输入/输出设备150可以包括一个或多个屏幕,其可以是液晶显示器、发光二极管(LED)显示器、光学LED(OLED)、有源矩阵OLED(AMOLED)、或能够渲染图形的其他屏幕。
存储器160被耦合到主处理器140。根据某些实施例,存储器160的一部分包括随机存取存储器(RAM),并且存储器160的另一部分包括闪存或其他只读存储器(ROM)。尽管图1示出了设备100的一个示例。可以对图1进行各种改变。
例如,根据某些实施例,设备100还可以包括单独的图形处理单元(GPU)170。
根据某些实施例,设备100包括各种附加资源180,其中如果允许,则该各种附加资源180可以由应用162访问。根据某些实施例,附加资源180包括加速度计或惯性测量单元(IMU)182,其可以检测电子设备沿着一个或多个自由度的移动。在一些实施例中,附加资源180包括设备100的一个或多个动态视觉传感器184以及一个或多个相机186(例如,互补金属氧化物半导体(CMOS)传感器类型相机)。根据各种实施例,(多个)DVS传感器184包括一对动态视觉传感器,其中该一对动态视觉传感器以立体上适当的距离间隔开,以用于估计感兴趣的深度场上的深度。根据一些实施例,(多个)DVS传感器184包括具有重叠或部分重叠的视场的多个DVS传感器。
根据各种实施例,设备100的上述组件由电池199(例如,可再充电锂离子电池)供电,其尺寸、充电容量和负载容量在一些实施例中受设备的形状因子和用户需求的约束。作为非限制性示例,在设备100是智能手机的实施例中,电池199被配置为装配在智能手机的外壳内,并且被配置为不支持导致热量积聚的电流负载(例如,通过在持续时段内以全功率运行图形处理单元)。作为又一示例,在设备100是头戴式设备的实施例中,电池199的尺寸(并且暗示地,充电容量)可能受保持设备100尽可能轻以减少对用户的颈部拉力并促进容易的头部移动的需要的约束。
尽管图1示出了根据本公开的一些实施例的用于对低功率移动平台执行CMOS辅助动态视觉传感器(DVS)跟踪的设备100的一个示例,但是可以对图1进行各种改变。例如,设备100可以以任何合适的布置包括任何数量的组件。通常,包括计算和通信系统的设备具有各种各样的配置,并且图1不将本公开的范围限制于任何特定配置。虽然图1示出了其中可以使用在本专利文档中公开的各种特征的一个操作环境,但是这些特征可以用于任何其他合适的系统中。
图2示出了根据本公开的某些实施例的服务器200的示例。在图2中示出的服务器200的实施例仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他实施例。根据某些实施例,服务器200用作用于维护和更新全局稳定语义图的主平台,或者用作用于维护和向客户端设备(例如,图1中的设备100)提供AR视觉资产的平台。
在图2中示出的示例中,服务器200包括总线系统205,该总线系统205支持至少一个处理设备210、至少一个存储设备215、至少一个通信单元220和至少一个输入/输出(I/O)单元225之间的通信。
处理设备210运行可以被加载到存储器230中的指令。处理设备210可以以任何合适的布置包括任何合适的(多个)数量和(多种)类型的处理器或其他设备。处理设备210的示例类型包括微处理器、微控制器、数字信号处理器、现场可编程门阵列、专用集成电路和分立电路。
存储器230和永久存储装置235是存储设备215的示例,其表示能够存储和促进检索信息(诸如数据、程序代码和/或暂时或永久的其他合适的信息)的任何(多个)结构。存储器230可以表示随机存取存储器或任何其他合适的(多个)易失性或非易失性存储设备。永久存储装置235可以包含支持更长期的数据存储的一个或多个组件或设备,诸如只读存储器、硬盘驱动器、闪存或光盘。根据某些实施例,存储器230为全局稳定语义图或要作为增强现实内容被提供给稳定语义图内的定义位置的视觉资产提供非暂时性存储。
通信单元220支持与其他系统或设备的通信。例如,通信单元220可以包括促进网络102上的通信的网络接口卡或无线收发器。通信单元220可以支持通过任何合适的(多个)物理或无线通信链路的通信。
I/O单元225允许数据的输入和输出。例如,I/O单元225可以提供用于通过键盘、鼠标、小键盘、触摸屏或其他合适的输入设备的用户输入的连接。I/O单元225还可以将输出传送给显示器、打印机或其他合适的输出设备。
图3示出了根据本公开的各种实施例的结合基于稳定语义图提供增强现实内容的低功率平台上的CMOS辅助内向外特征跟踪的各方面。图3中示出的示例仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他示例。
在图3中示出的示例中,在图的上半部中示出了用于低功率AR平台305的操作环境300。如该说明性示例所示的,操作环境300与房间相关联,该房间包括至少三个固定平坦表面:地面310、第一墙壁315和第二墙壁320,它们中的每一个与固定维度以及与彼此和参考方向(例如,重力方向325)的空间关系相关联。
根据某些实施例,低功率AR平台305包括如一对太阳镜的穿戴在用户301的头部上的无束缚的头戴式显示器(例如,图1中的设备100)。在一些实施例中,低功率AR平台305包括透明镜片307,其中用户301可以通过该透明镜片307查看操作环境300中的对象,并且低功率AR平台305可以在该透明镜片307上将AR对象或视觉资产投影到用户301的视场中,以提供增强现实(“AR”)体验。如本公开所使用的,术语“AR体验”包含操作环境的混合视图,包括操作环境的本机(native)视图(例如,相机直拍(“Straight-Out-Of-Camera,SOOC”)的视图或通过透明屏幕的视图)、以及被渲染为具有操作环境内的物理对象的外观的视觉资产或AR对象。
AR体验的质量的一个维度是AR对象的位置行为模仿现实世界物理对象的位置行为的程度。作为一个示例,AR对象看起来相对于锚点抖动或无法保持静止的情况可能与不好的AR体验有关。作为又一示例,AR对象无法粘附到操作环境的平面结构(例如,AR咖啡杯看起来漂浮在现实世界的桌子上方)也可能是不好的AR体验的特性。因此,在一些实施例中,可以通过提供基于操作环境的稳定和准确的世界理解的AR内容来增强AR体验的质量。如本公开所使用的,术语“世界理解”包含操作环境的几何形状和结构特征的图或其他数字表示,其可以由AR应用消耗或利用以定位和确定在AR体验中提供的AR对象的位置行为(例如,使AR对象随着用户向它们移动而增长)。
AR体验的质量的另一个维度是AR平台的操作环境在地理上受用于生成操作环境的世界理解的硬件的约束的程度。例如,生成世界理解的某些方法要求将用户的查看平台(例如,耳机)诸如通过高速数据电缆束缚到台式计算机或其他高功率处理平台。在这样的系统中,操作环境的范围在地理上受将耳机束缚到台式机的电缆的长度的约束。作为第二示例,生成世界理解的位置和姿态分量(例如,确定AR平台在操作环境中的位置和视角)的某些“外向内”方法依赖于操作环境内的外部相机来获得用于确定世界理解的位置和姿态分量的数据。在这种情况下,AR平台的操作环境被限制于包含外部相机的空间。由于这些原因,其他条件不变,更少受地理上约束的AR体验通常比更多受地理上约束的AR体验更优选。
AR体验的质量的质量的又一个维度是提供AR体验对AR平台的硬件的影响。例如,某些耗电的图像传感器或图像传感器的配置(例如,多个CMOS图像传感器)以及用于生成世界理解的计算昂贵的处理逻辑可能转变为一个或多个不期望的硬件特性,包括但不限于短的电池寿命、过多的热量生成、或体积大笨重的装置(例如,用以容纳大电池并耗散处理器热量)。相比之下,功率高效且轻巧的AR平台通常与改善的AR体验相关联。
如图3所示,低功率AR平台305提供了根据本公开的各种实施例的装置的一个示例,其提供AR体验的质量的上述维度中的每一个中的改善。如图3的非限制性示例所示,低功率AR平台305没有被束缚到单独的处理平台来生成世界理解。相反,根据一些实施例,低功率AR平台305在来自CMOS图像传感器的间歇辅助下利用一个或多个动态视觉传感器(DVS)来生成提供操作环境300以及在图3中示出的操作环境300外部的空间的轻量级、可扩展的世界理解的稳定语义图。在一些实施例中,DVS传感器的能量效率和稳定语义图的简单性允许低功率AR平台305生成世界理解而无需(例如,通过连续地运行CMOS图像传感器)在其电池或(例如,通过维护基于点云的世界理解)在处理资源上增加重负载。
如图3的说明性示例所示,低功率AR平台305生成足够一致地标识稳定语义图内的坐标区域(例如,第二墙壁320上的坐标区域330)并将AR内容(例如,时钟340)投影给用户301的世界理解,其中该AR内容看起来为坐标区域330内的第二墙壁320上的时钟。
图4示出了根据本公开的某些实施例的动态视觉传感器(“DVS”)400的操作的各方面。在图4中示出的实施例仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他实施例。
在图4中示出的示例中,DVS 400在某些实施例中是DVS立体对的一个传感器。在一些实施例中,DVS 400是三个或更多个DVS传感器的集合(例如,沿着多个视差角并以多个传感器间距安置的DVS传感器集合)中的一个传感器。在某些实施例中,DVS 400是单个DVS传感器。
根据各种实施例,DVS 400包括镜片组合件405以及光强度传感器(诸如光强度传感器415)的像素化阵列410。在一些实施例中,镜片组合件405包括具有与镜片组合件405和像素化阵列410之间的距离相对应的焦距的光学镜片。在根据本公开的各种实施例中,镜片组合件405包括用于(诸如通过降低f制光圈)调整提供给像素化阵列410的光的整体强度的孔径。
如图4的非限制性示例所示,光强度传感器的像素化阵列410包括基本上覆盖镜片组合件405中的镜片的焦平面中的区域的光强度传感器(例如,光强度传感器415)的阵列。此外,像素化阵列410的每个光强度传感器的输出被映射到空间坐标值。
在一些实施例中,光强度传感器415包括光电传感器,该光电传感器被配置为输出与在光强度传感器415处接收的光的测量强度的改变的方向相对应的信号。根据某些实施例,光强度传感器的输出是二进制信号,例如,对于光的测量强度的增加为“1”,并且对于光的测量强度的降低为“0”。当光强度传感器415处的光的测量强度没有改变时,没有信号被输出。根据某些实施例,由光强度传感器415输出的信号由像素化阵列410或由另一下游组件(诸如图2中的处理器225)时间编码或时间映射到时间值。
参考图4的非限制性示例,在高级别,DVS 400通过镜片组合件405接收光420并通过使用像素化阵列410的组成的光强度传感器的输出将所接收的光转换为异步事件流430来进行操作。
根据各种实施例,异步事件流430包括由像素化阵列410的光强度传感器输出的光强度改变事件的时间编码流。单个光强度改变事件435包括指示在像素化阵列410的特定光强度传感器(例如,像素)处测量的光的测量强度的改变(例如,增加或降低)的数据。例如,在该说明性示例中,光强度改变事件435对应于光强度传感器415处的测量光强度的改变。此外,每个单个光强度改变事件435基于像素化阵列410的每个传感器的公共时间尺度而时间编码或以其他方式映射到事件时间。在一些实施例中,每个单个光强度改变事件435还被映射到空间坐标系(例如,基于像素化阵列410的行和列的坐标系)中的值。
根据某些实施例,通过输出与所接收的光的强度的改变相关联的传感器事件数据的异步流,DVS传感器400比生成传感器的每个像素的数据的帧的图像传感器(例如,互补金属氧化物半导体(CMOS))消耗显著更少的功率。在一些实施例中,与某些CMOS传感器的100-800mW的功率相比,DVS传感器400耗费近似~25-100mW的功率。此外,与在预定成像时段(例如,数字“曝光时间”)内生成图像帧的传感器相反,通过输出改变事件数据的异步流,DVS传感器400对高速事件更敏感,并对暴露于DVS传感器400的场景的整体亮度更不敏感。因此,DVS传感器400可以比CMOS或其他图像帧类型传感器具有更高的动态范围和更少的时延。这样,DVS传感器400可以在用于在低功率AR平台(例如,图1中的设备100)上提供内向外跟踪的设备上被保持处于“开启”状态,而CMOS传感器在一些实施例中根据需要而间歇地打开以初始化跟踪平台并提供附加的视觉数据(例如,当设备非常静止并且来自DVS传感器400的改变事件数据的异步流变慢或变干(dry up)时)。
图5示出了根据本公开的某些实施例的用于在低功率移动平台(例如,图1中的设备100或图3中的低功率AR平台305)上执行CMOS辅助内向外DVS跟踪的系统500的示例。在图5中示出的系统500的实施例仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他实施例。
根据各种实施例,系统500被配置为结合来自CMOS传感器的间歇(例如,CMOS传感器不总是开启)辅助,基于DVS传感器数据来获得用于发展内向外世界理解的数据。这样,通过将CMOS图像传感器的输出选择性地添加到一个或多个DVS传感器的输出,系统500的某些实施例实现了功率效率和环境跟踪的稳健性之间的最优折衷。
在图5中示出的示例中,系统500包括传感器封装501,该传感器封装501包括用于获得用于生成世界理解的视觉数据的传感器,其中该视觉数据包括关于移动平台的位置、姿态和相关场景元素(例如,房间的墙壁)的几何形状的信息。根据各种实施例,传感器封装501包括单件硬件(诸如芯片)。在一些实施例中,传感器封装501包括连接到移动平台的处理器(例如,图1中的主处理器140)的多件硬件。
根据某些实施例,传感器封装501包括一个或多个DVS传感器505(例如,图4中的DVS传感器400),其由移动平台的电池(例如,图1中的电池199)供电,并被配置为向混合特征处理机515输出传感器事件数据的一个或多个异步流。如本公开所使用的,术语“异步流”包含以下事实:一个或多个DVS传感器505在事件发生时(例如,当检测到光的改变时)而不是在预定的图像捕捉时间输出传感器事件。
如图5所示,传感器封装501还包括一个或多个互补金属氧化物半导体(CMOS)图像传感器510。根据各种实施例,CMOS图像传感器510由移动平台的电池(例如,图1中的电池199)供电,并且被配置为从在预定捕捉时间内暴露传感器的所有像素生成图像数据的帧。根据某些实施例,CMOS图像传感器510可以捕捉关于视场中的对象的颜色的视觉数据、以及其中光的强度在预定时间内不改变的帧的区域中的视觉数据。根据某些实施例,通过收集跨传感器的每个像素(仅与其中光值已改变的那些像素相反)的数据,CMOS图像传感器510比DVS传感器505耗费更多能量。在一些情况下,DVS传感器505和CMOS图像传感器510可以具有不同的分辨率和传感器纵横比(例如,一个传感器可以具有正方形像素化阵列,而另一个传感器可以具有根据3:2标准成比例的像素化阵列)。此外,取决于移动平台的配置,DVS传感器505和CMOS图像传感器510可以覆盖不同的视场。例如,在一些实施例中,DVS传感器505和CMOS图像传感器510可以被安置、布置或放置在移动平台上的不同位置处,并且作为它们的位置的结果,具有不同的视角,并隐含地覆盖不同的视场。
根据各种实施例,系统500包括惯性测量单元(IMU)传感器520,其检测和测量移动平台的移动的方向和幅度。在一些实施例中,IMU 520是六自由度IMU,其检测移动平台沿着三个正交的横截轴(用以测量横向和上下移动)以及三个正交的旋转轴(例如,用以测量移动平台的俯仰、横滚和偏航)的移动。此外,IMU传感器可以包括重力传感器,以确定局部重力向量(例如,对象在重力的影响下掉落的方向)作为坐标系的参考轴。尽管在图5中未明确示出,但是在一些实施例中,传感器封装501还可以包括IMU传感器或者其至少一部分或组件。
参考图5的说明性示例,系统500包括混合特征处理机515。根据一些实施例,混合特征处理机515被体现为在移动平台的处理器上运行的软件。根据各种实施例,混合特征处理机515被体现为硬件(例如,图形处理器)、或硬件和软件的组合。在各种实施例中,混合特征处理机515被配置为接收(多个)DVS传感器505的输出或CMOS图像传感器510的输出中的一个或多个作为输入,并且向视觉惯性同时定位和绘图(SLAM)管线525发送、提供或输出跟踪的特征(例如,来自传感器封装501的数据中的所标识的对象的角)。此外,如本公开中的其他地方所描述的,混合特征处理机515将DVS传感器505和CMOS图像传感器510的输出对准并且转换为公共表示。根据一些实施例,公共表示具有单个分辨率、单个纵横比和单个视场中的一个或多个。
在各种实施例中,系统500包括对移动平台执行内向外设备跟踪的视觉惯性SLAM管线525。根据某些实施例,视觉惯性SLAM管线525接收跟踪的特征(具体地,来自混合特征处理机515的特征跟踪)以及来自IMU 520的位置数据,并且输出与移动平台的世界理解相关联的数据。具体地,根据各种实施例,视觉惯性SLAM管线输出相机姿态数据530和场景几何数据535。参考图5的非限制性示例,相机姿态数据530包括指示移动平台的查看方向的坐标值,以用于提供AR体验的目的。换句话说,相机姿态数据530指示移动平台作为用户眼睛的延伸正在观察的方向。根据某些实施例,场景几何数据535包括指示移动平台的操作环境的所标识的表面和其他跟踪的特征所在的坐标位置的数据。根据某些实施例,视觉惯性SLAM管线525以诸如点云的潜在数据密集格式输出场景几何数据535。
取决于表面(例如,操作环境中的可跟踪特征的可用性)和当前光条件,视觉惯性SLAM管线525的输出的稳健性可能波动。如本公开所使用的,术语“稳健性”包含由传感器封装501提供给混合特征处理机515的原始数据足够用于视觉惯性SLAM管线525生成准确的世界理解的置信度量。举例来说,具有光滑的白色墙壁的柔和照明的房间中的视觉惯性SLAM管线525的输出的稳健性将比在具有可辨别特征(例如,橱柜、图片、以及颜色的改变)的明亮照明的房间中更小。根据某些实施例,可以通过向混合特征处理机515提供来自CMOS图像传感器510的附加数据来提高视觉惯性SLAM管线525的输出的稳健性,其中与DVS传感器505相比,该CMOS图像传感器510可以检测颜色并分辨特征而无需所接收的光的强度的改变。然而,在大多数情况下,通过添加CMOS图像数据来改善视觉惯性SLAM管线525的稳健性是以显著增加的功率使用为代价的。
根据某些实施例,系统500包括传感器控制器/调度器540,该传感器控制器/调度器540被配置为协商通过向混合特征处理机515提供来自CMOS图像传感器510的图像数据来改善视觉惯性SLAM管线的稳健性与通过避免CMOS图像传感器510的不必要使用来最小化系统500的功耗之间的折衷。根据各种实施例,传感器控制器/调度器540接收来自视觉惯性SLAM管线525的与一个或多个CMOS控制因子相关联的信息(诸如状态信息)、或者关于移动平台的电池的当前状态和功率预算的信息545,并且基于一个或多个CMOS控制因子的当前值来开启或关闭CMOS图像传感器510。根据某些实施例,CMOS控制因子可以包括但不限于剩余电池电量的当前值、装置的功率预算、特征跟踪的稳健性的表示的当前值、跟踪精度置信度值的当前值、初始化状态、或移动平台的操作模式(例如,当前在移动平台上执行的AR应用的(多种)类型)。
图6示出了根据本公开的各种实施例的用于生成混合特征跟踪的管线600的示例的各方面。在图6中示出的管线600的实施例仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他实施例。
根据各种实施例,参考图6描述的管线600可以被实施为用于(例如,通过图5中的混合特征处理机515)在低功率移动平台上实施CMOS辅助内向外跟踪的系统的一部分。在一些实施例中,生成混合特征跟踪(例如,基于多种类型的视觉数据的特征跟踪)有助于视觉惯性SLAM管线的跟踪输出(例如,图5中的场景几何535)的整体稳健性,在其中DVS传感器和CMOS图像传感器具有互补的检测性质。例如,DVS传感器在困难的照明情况下(例如,低光场景或光饱和的场景)频繁提供比CMOS图像传感器更好的性能。此外,DVS传感器能够从快速移动的场景元素捕捉图像数据,其中该场景元素在CMOS图像中看起来模糊。同时,CMOS图像传感器(例如,图5中的CMOS图像传感器510)的输出可以捕捉跨等效亮度的区域的颜色改变、以及可能不被可靠地包括在DVS传感器的输出中的静态细节。
参考图6的说明性示例,实施混合特征生成的组件(例如,图5中的混合特征处理机515)接收DVS传感器事件605的集合作为第一输入,该DVS传感器事件605被IMU稳定(以补偿捕捉时段内的DVS传感器的移动)以生成一个或多个DVS“帧”610。根据一些实施例,DVS帧610包括在时间窗口上收集的IMU稳定数据的二维直方图。在某些实施例中,直方图示出了DVS传感器的像素,其中所接收的光的强度的改变由DVS传感器在时间窗口期间被检测。
根据各种实施例,生成混合特征跟踪的组件(例如,图5中的混合特征处理机515)接收来自CMOS图像传感器的一个或多个可用图像615作为第二输入。取决于移动平台的条件和功率使用状态,CMOS图像传感器图像615可能不总是可用于特征跟踪,并且仅DVS传感器事件605用于特征跟踪。在一些实施例中,CMOS图像传感器图像615被“原样”用作用于特征跟踪的帧620。根据一些实施例,CMOS图像传感器图像615在作为用于特征跟踪的帧620传递之前被预处理(例如,通过执行到原始传感器输出的文件转换)。
如图6的解释性示例所示,特征跟踪算法(例如,Lukas-Kanade跟踪算法630)被应用于DVS帧610,以标识DVS传感器事件605的集合内的特征(例如,识别的对象的角),并随时间跟踪所标识的特征以生成DVS特征跟踪635。
类似地,根据各种实施例,在CMOS图像传感器数据的帧620可用的情况下,特征跟踪算法被应用于帧620以生成CMOS特征跟踪640。根据各种实施例,在时间对准阶段645,确定是否存在在时间上对准(例如,在模拟时间窗口内被捕捉)到DVS特征跟踪635的任何CMOS特征跟踪640。如果存在在满足预定接近度标准的CMOS特征跟踪640的时间戳终止的DVS特征跟踪635,则将DVS特征跟踪635与CMOS特征跟踪640分组在一起以创建混合特征跟踪650。
在根据本公开的各种实施例中,在DVS特征跟踪635或混合特征跟踪650的DVS分量被提供给视觉惯性SLAM管线660(例如,图5中的视觉惯性SLAM管线525)之前,可以对DVS特征跟踪635或混合特征跟踪650的DVS分量执行空间对准655。
根据某些实施例,在移动平台的(多个)DVS传感器和CMOS图像传感器具有不同的焦距或分辨率的情况下,空间对准655包括确定比例因子以应用于为CMOS特征跟踪640和DVS特征跟踪635提供公共比例,从而在视觉惯性SLAM管线660的图像空间中对准混合特征跟踪650的CMOS和DVS分量。对于焦距(f)和分辨率(w)的给定集合,比例因子(s)可以被计算为:
Figure BDA0002782925230000191
根据某些实施例,在CMOS图像传感器从DVS图像传感器显著偏移(例如,在具有立体DVS传感器的移动平台中)的情况下,空间对准655还需要校正CMOS图像传感器和(多个)DVS图像传感器之间的查看位置的偏移。
图7示出了根据某些实施例的传感器控制器和/或调度器700(例如,图5中的传感器控制器/调度器540)的操作的各方面。虽然流程图描绘了一系列顺序步骤,但是除非明确写明,否则不应该从关于执行的特定次序、步骤或其部分逐次(而不是同时)或以重叠的方式的执行、或在没有出现居间步骤或中间步骤的情况下排他地描绘的步骤的执行的该顺序得出推论。
如本公开中的其他地方所讨论的,与在低功率平台上实施用于增强现实的CMOS辅助内向外跟踪和语义绘图相关联的技术挑战之一是管理利用DVS传感器获得用于更稳健的世界理解的附加的场景特征信息与最小化功耗以延长电池寿命并最小化热量积聚之间的折衷。根据某些实施例,传感器控制器和/或调度器700实施用于通过发出“CMOS开启(CMOSOn)”和“CMOS待机(CMOS Standby)”(或“CMOS非活动(CMOS Inactive)”、“CMOS关闭(CMOSOff)”等)命令705来调节CMOS图像传感器(例如,图5中的CMOS图像传感器510)的操作的控制逻辑。
参考图7的示例,传感器控制器和/或调度器700接收电池状态和功率预算信息710作为输入,其中如本文所述,该电池状态和功率预算信息710用作用于控制CMOS图像传感器的开启/待机状态的因子。传感器控制器和调度器700还接收来自视觉惯性SLAM管线的信息715(例如,指示从DVS传感器数据确定的特征跟踪的当前数量的信息)作为用于控制CMOS的开启/待机状态的因子。在某些实施例中,传感器控制器和调度器700处理所接收的输入,并且输出用于控制CMOS传感器的功耗状态的命令705。在宏观级别,电池状态和功率预算信息710通知传感器控制器和调度器700多少功率可用于或将可用于生成要被提供给视觉惯性SLAM管线的传感器数据,并且来自视觉惯性SLAM管线的信息715通知传感器控制器和调度器700视觉惯性SLAM管线需要或预期需要CMOS图像传感器数据的程度。
根据某些实施例,电池状态和功率预算信息710最低限度包括电池状态信息和指示移动平台的功率预算的信息。在图7的非限制性示例中,电池状态表示移动平台的电池(例如,图1中的电池199)中剩余的电荷量。根据各种实施例,电池状态被表达为值b,其中b是表示电池被充电程度的连续变量(例如,当电池被完全充电时,b=1,以及当没有电池剩下时,b=0)。在一些实施例中,功率预算是作为用户(例如,图3中的用户301)或系统可以调整以调节馈送视觉惯性SLAM管线的传感器可以在任何一个时间消耗多少能量(例如,X mW,其中X是数值)的设置。
参考图7的非限制性示例,来自视觉惯性SLAM管线的信息715最低限度包括关于视觉惯性SLAM管线的初始化状态的信息、以及视觉惯性SLAM管线的当前跟踪精度的一个或多个表示。在某些实施例中,CMOS图像传感器的输出用于初始化SLAM系统(即,视觉惯性SLAM管线),并且传递到视觉惯性SLAM管线的前几帧需要包括CMOS图像传感器数据。因此,在一些实施例中,视觉惯性SLAM管线的初始化状态被表示为离散变量t(例如,当视觉惯性SLAM管线没有被初始化时,t=0,以及当管线被初始化时,t=1)。
在根据本公开的一些实施例中,来自视觉惯性SLAM管线的信息715包括与与视觉惯性SLAM管线的当前跟踪精度相关联的各种因子的当前状态相关联的值,包括但不限于当前被跟踪的特征的数量、视觉惯性SLAM优化函数的值、IMU(例如,图5中的IMU 520)的输出的幅度、以及在CMOS图像传感器的输出中发现的模糊量化。根据某些实施例,由视觉惯性SLAM管线执行的跟踪的精度中的置信度值c的表示被表示为两个或更多个上述因子的向量f,并且给定的f个向量的c的值是基于由传感器控制器和调度器700应用的预测模型来确定的,其中该预测模型将特征向量f映射到跟踪器置信度c的值。
在某些实施例中,可以使用多种可能的技术(诸如线性回归)或机器学习技术(诸如神经网络、随机森林、支持向量机(SVM)或提升(boosting))来填充将因子的向量f与预测的置信度值c关联的预测模型。根据一些实施例,上述机器学习模型中的每一个可以利用可以从训练数据学习的多个参数。在各种实施例中,通过在受控环境中(诸如在运动捕捉系统或实施“外向内”设备跟踪的环境中)运行实施视觉惯性SLAM管线的移动平台来收集训练数据,其中在该受控环境中其位置和姿态可以以相对可靠的精度来确定。在训练时段期间,去往视觉惯性SLAM管线的输入数据是已知的,并且作为地面真值,其中可以将由视觉惯性SLAM管线输出的姿态和位置的计算值与该地面真值进行比较以标识与视觉惯性SLAM管线的输出中的误差相关联的参数。根据各种实施例,训练的预测模型的参数被存储在设备的存储器(例如,图1中的存储器160)中,以用于由传感器控制器和调度器700使用。
根据各种实施例,通过在下面的等式2中阐述的形式的非线性函数传递用于控制CMOS传感器的功率状态的因子的值,传感器控制器和调度器700响应于CMOS控制因子而开启和关闭CMOS传感器:
p(.)=σ(∑i(wi×fi)) (2)
其中fi是用于控制CMOS传感器的功率状态的第i个因子,并且wi是分配给fi的权重,并且p是相对于节省电池资源的需要的、与打开CMOS图像传感器以确保视觉惯性SLAM管线的输出的稳健性的需要相关联的上下文依赖的概率。如关于本公开的图8的示例进一步详细描述的,当传感器控制器和调度器700确定p的值超过预定阈值时,传感器控制器和调度器700发出命令705以开启CMOS图像传感器。类似地,当传感器控制器和调度器700确定p的值已经下降到预定阈值以下时,传感器控制器和调度器700发出命令705以将CMOS图像传感器返回到待机状态。
根据某些实施例,除了当p的值超过预定阈值时打开CMOS控制器之外,传感器控制器和调度器700还可以周期性地打开CMOS图像传感器以获得用于语义分割的图像数据。
图8示出了根据本公开的各种实施例的实施CMOS辅助内向外DVS跟踪的低功率移动平台的某些操作参数随时间的值的示例800。在图8中示出的曲线图800仅用于说明,并且在不脱离本公开的范围的情况下,可以使用具有不同值的其他曲线图。
参考图8的示例,示出了以下参数随时间的值:移动平台功耗805、CMOS图像传感器开启/关闭状态810、DVS传感器开启/关闭状态815、IMU传感器输出820和P(CMOS)825。
根据某些实施例,P(CMOS)825包括相对于最小化移动平台(例如,图1中的设备100或图3中的低功率AR平台305)上的功耗的需要的、向虚拟惯性SLAM管线(例如,图5中的虚拟惯性SLAM管线525)提供来自CMOS传感器的图像数据的需要的概率表示。如该说明性示例所示,当P(CMOS)825的值超过阈值827时,CMOS图像传感器的开启/关闭状态810处于“开启”状态。根据各种实施例,P(CMOS)的值由移动平台上的传感器控制器(例如,图7中的传感器控制器和调度器700)基于一个或多个CMOS控制因子来确定。在该说明性示例中,一个或多个CMOS控制因子包括IMU传感器输出820。如该解释性示例所示,在图8中描绘的大部分时段内,IMU传感器输出820相对平坦,除了总体上与P(CMOS)的增加值和CMOS图像传感器开启/关闭状态810的“开启”状态一致的两个时段。
如图8的非限制性示例所示,DVS传感器开启/关闭状态815的状态框示出了DVS传感器在图8中示出的整个时段保持开启。在仅DVS传感器开启的时段期间,移动平台功耗805(相对于零值807示出)低,并且在CMOS图像传感器开启/关闭状态810示出CMOS图像传感器处于开启状态的时段期间激增(surge)。因此,通过应用控制逻辑来保持CMOS图像传感器处于“关闭”或“待机”状态,根据本公开的某些实施例通过在移动平台上实施CMOS辅助内向外DVS跟踪而减少功耗来显著改善低功率移动平台的功率效率。
根据各种实施例,阈值827是动态的,并且可以响应于移动平台的功率预算的改变或响应于移动平台的运行时间期间的功耗历史而调整。例如,如果P(CMOS)的值在预定时间间隔内超过阈值827多于某个次数,则CMOS传感器控制逻辑(例如,图7中的传感器控制器和调度器700)可以确定需要阈值827的更高值以确保与间歇CMOS辅助相关联的功率效率增益。作为另一个说明性示例,在预定时间段(例如,一分钟)内跟踪系统的平均功耗,并且当跟踪窗口上的平均功耗超过阈值827的值时,将阈值827向上调整以保持系统在功率预算内。类似地,在一些实施例中,在跟踪窗口上的平均功耗显著低于阈值827的情况下,可以向下修改阈值827以允许CMOS传感器的更大利用。此外,在一些实施例中,阈值827可以是静态的。
图9示出了用于在低功率移动平台900上实施用于增强现实的CMOS辅助内向外DVS跟踪和语义绘图的传感器硬件配置的三个示例(指定为a-c)。在图9中示出的示例仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他示例。
根据各种实施例,移动平台900是电子设备(例如,图1中的设备100),被配置为通过至少一个DVS传感器(例如,图4中的DVS传感器400)和至少一个CMOS图像传感器(例如,图5中的CMOS图像传感器510)接收来自与移动平台的姿态相关联的视场的视觉数据,并输出与移动平台的姿态相关联的显示905,其中该显示905包括稳定语义图的元素上的定位在显示905内的AR内容项。简而言之,在某些实施例中,移动平台900提供由看起来为移动平台900的操作环境的查看窗口的显示905表征的AR体验(用户通过该查看窗口看到操作环境)、以及基于操作环境的移动平台900的世界理解安放在显示上的AR内容。
根据一些实施例,移动平台900的传感器硬件包括IMU 910(例如,图5中的惯性测量单元520),该IMU 910在某些实施例中提供用于DVS传感器事件数据的事件帧合成、CMOS传感器数据的图像稳定性的带时间戳的运动数据,和/或用以辅助视觉惯性SLAM管线确定移动平台900的姿态数据(例如,图5中的相机姿态数据530)的信息。
如图9的非限制性示例所示,移动平台900的传感器硬件包括CMOS图像传感器915,该CMOS图像传感器915被配置为输出图像数据的帧。根据某些实施例,来自CMOS图像传感器的图像数据用于辅助开发视觉惯性SLAM管线,以生成与其操作环境的世界理解相关联的信息(例如,图5中的场景几何信息535)。根据一些实施例,移动平台900的传感器硬件包括第一DVS传感器920,该第一DVS传感器920在视觉惯性SLAM管线正在运行时保持处于始终开启状态,并且从DVS特征跟踪(例如,DVS特征跟踪635)获得传感器事件数据,其中该传感器事件数据在必要的情况下可以在空间上被对准到CMOS图像传感器915的输出,并被提供给视觉惯性SLAM管线。在一些实施例中,诸如指定为“a.)”和“b.)”的示例,CMOS图像传感器915和第一DVS传感器920可以被提供在公共硬件上,并且被并置或者放置得足够近以使它们的位置可以被移动平台900视为等效(例如,无需执行它们的输出之间的视差校正)。根据一些实施例,CMOS图像传感器915和第一DVS传感器920在空间上分开,并且作为生成混合特征跟踪的一部分(例如,作为图6中的空间对准655的一部分)校正查看位置的差。根据某些实施例,诸如在示例“c.”中,移动平台900的传感器硬件配置包括第二DVS传感器925,该第二DVS传感器925与第一DVS传感器920组合地形成DVS传感器的立体对,促进确定移动平台900的视场中的跟踪对象的深度和距离信息。
除了参考图9描述的那些配置之外的、移动平台900上的传感器硬件的附加配置是可能的,并且在本公开的范围内。例如,根据一些实施例,移动平台900可以包括移动平台900的显示侧上的一个或多个DVS传感器,以跟踪可能进入第一DVS传感器920或CMOS图像传感器915中的一个或多个的视场的对象。另外,移动平台900的显示侧上的一个或多个DVS传感器可以进行操作以跟踪用户的凝视,或者跟踪面部,以用于确定要呈现给用户作为AR体验的一部分的AR内容。
图10示出了用于在低功率移动平台1000上实施用于增强现实的CMOS辅助内向外DVS跟踪和语义绘图的传感器硬件配置的示例。在图10中示出的示例仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他示例。
参考图10的示例,低功率移动平台1000是头戴式显示器(诸如例如,图1中的设备100或图3中的AR平台305的某些实施例),该头戴式显示器被配置为穿戴在用户的头部1001上,并向用户提供移动平台1000的操作环境的视图,其中该视图包括根据低功率移动平台1000可访问的操作环境的稳定语义图上的位置而渲染的一个或多个AR内容项。
根据某些实施例,移动平台1000的传感器配置包括IMU 1005(例如,图1中的IMU182)。如图10的非限制性示例所示,IMU 1005提供用于DVS传感器事件数据的事件帧合成、CMOS传感器数据的图像稳定性的带时间戳的运动数据,和/或用以辅助视觉惯性SLAM管线确定移动平台1000的姿态数据(例如,图5中的相机姿态数据530)的信息。
在一些实施例中,移动平台1000包括CMOS图像传感器1010,其中该CMOS图像传感器1010沿着移动平台1000的中心线安置并且具有包括第一边界1015a和第二边界1015b之间的角度区域的视场。如图1的说明性示例所示,CMOS图像传感器1010与光学向量1050相关联,该光学向量1050在某些实施例中是三维(“3D”)坐标系中的坐标可以指示或用于确定移动平台1000的当前姿态的向量。
参考图10的非限制性示例,根据各种实施例,移动平台1000包括DVS传感器1020,该DVS传感器1020提供始终开启(always-on)的图像数据源以用于跟踪移动平台1000的操作环境的特征。根据某些实施例,DVS传感器1020的输出与CMOS图像传感器1010的间歇生成的输出进行组合,以生成要被提供给视觉惯性SLAM管线(例如,图6中的视觉惯性SLAM管线660)的混合特征跟踪(例如,图6中的混合特征跟踪650)。
图11示出了根据本公开的各种实施例的用于在包括多个DVS传感器(例如,图4中的DVS传感器400)的移动平台(例如,图9中的移动平台900的某些实施例)上执行CMOS辅助内向外DVS跟踪的系统管线1100的示例。在图11中示出的管线1100的实施例仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他实施例。
根据某些实施例,可以通过为移动平台配备具有重叠视场的多个DVS传感器来扩展与CMOS辅助(而不是使用始终开启的CMOS传感器)内向外设备跟踪相关联的效率增益。利用多个DVS传感器,当跟踪的DVS特征(例如,被跟踪以生成图6中的DVS特征跟踪635的特征点)从一个DVS传感器的视场移动到下一个DVS传感器的视场时,可以跟踪它们。相比之下,在仅使用单个DVS传感器的某些实施例中,如果特征点移出DVS传感器的视场,则它会丢失,并且特征处理机(例如,图5中的混合特征处理机515)需要重新检测特征点,这在跟踪的特征的数量是CMOS控制因子的实施例中不仅在计算上是昂贵的,而且还可能提高CMOS图像传感器的利用率。
另外,通过提供具有多个DVS传感器的移动平台,在具有高度变化的可跟踪特征分布的操作环境中改善了由在移动平台上运行的视觉惯性SLAM管线输出的姿态数据(例如,图5中的相机姿态数据530)和场景几何数据(例如,图5中的场景几何数据535)的稳健性。作为这样的环境的说明性示例,考虑美术馆中的假设的四边形房间,其中三个墙壁为了维持博物馆适当的美学是平滑的并且被粉刷成白色,而绘画或特征点的其他源挂在第四墙壁上。在四个墙壁中的三个看起来完全相同的这样的操作环境中,每当单个DVS传感器视线从第四墙壁移开时,由单个DVS传感器馈送的视觉惯性SLAM管线的输出的稳健性就会下降。相比之下,在移动平台有具有不同但重叠的视场的多个DVS传感器的实施例中,从假设的房间的第四墙壁更一致地提供了视觉惯性SLAM管线。
根据各种实施例,系统平台1100可以被实施为广泛的终端设备的一部分,包括但不限于头戴式显示器(例如,图3中的AR平台305)、无人机、智能手机、平板电脑或电子玩具。在一些实施例中,上述设备中的每一个可以利用与向视觉惯性SLAM管线提供来自多个DVS传感器的图像数据(例如,DVS传感器事件数据、DVS合成帧“图像”数据、DVS“图像”帧数据等)相关联的计算节省和跟踪稳健性。作为说明性示例,考虑无人机执行使得无人机相对于地平面向上倾斜(例如,同时向后上升和加速)的机动。在这样的机动期间,无人机的视场的显著部分可能朝上,朝向蓝天。虽然从无人机的角度来看,蓝天的景象是无人机的行进方向的有用标志,但是蓝天是用于跟踪的特征点的不好的源。通过向无人机提供跨一视角范围的多个DVS传感器,可以增强无人机在倾斜机动期间执行内向外DVS设备跟踪的能力,因为存在DVS传感器从地面或远离天空的其他特征丰富的区域捕捉图像数据的更大可能性。
参考图11的非限制性示例,在某些实施例中,系统管线1100包括传感器块1101,其中传感器块1101的各个传感器被配置为将时间戳分配给它们各自的输出,其中该时间戳被同步和校准到参考时钟1105。根据某些实施例,参考时钟1105是滴答计数器。
如图11的说明性示例所示,传感器块1101还包括惯性测量单元(IMU)1110,该IMU1110提供用于DVS传感器事件数据的事件帧合成、CMOS传感器数据的图像稳定性的带时间戳的运动数据,以及用以辅助确定可以例如由AR应用1199消耗的姿态数据(例如,图5中的相机姿态数据530)的信息。另外,传感器块1101包括CMOS图像传感器1115(例如,图9中的CMOS图像传感器915),该CMOS图像传感器1115可以间歇地(例如,在图7中的传感器控制器和调度器700的控制下)提供视觉惯性SLAM管线图像数据以辅助内向外跟踪。此外,如图11的解释性示例所示,传感器块1101还包括多个DVS传感器DVS-1(1120a)至DVS-N(1120n)。根据各种实施例,N是具有二或更大的值的整数,并且至少部分地基于对指定的AR应用和移动平台的功率资源的跟踪稳健性的所需程度来选择。
根据本公开的一些实施例,系统管线1100包括空间跟踪、绘图和世界理解管线1130,其将传感器块1101的组成传感器的输出提供给事件帧合成管线1135。在根据本公开的一些实施例中,事件帧合成管线1135实时处理DVS传感器的输出,以将来自DVS传感器1120a至1120n的传感器事件数据的异步流转换为具有锐边结构的事件的空间直方图(在本文中也称为“帧”或“事件帧”),其中可以从该锐边结构准确地跟踪空间直方图内的特征。
参考图11的非限制性示例,由事件帧合成管线1135生成的事件帧被输出到世界理解管线1140。根据各种实施例,世界理解管线1140是处理事件帧和其他数据以获得实施平台管线1100的移动平台的操作环境的表示的处理管线(或处理管线的系统),其中该表示可以由AR应用1199用于控制由AR应用1199提供的AR体验的视觉资产的位置行为。根据各种实施例,世界理解管线1140执行以下中的至少一个:生成特征跟踪(例如,图6中的混合特征跟踪650),确定移动平台的姿态,生成关于移动平台的操作环境的几何形状的数据(例如,通过生成图5中的相机姿态数据530和/或场景几何数据535),或者将世界理解的数字表示输出到AR应用1199。在一些实施例中,例如,在热量积聚或电池寿命是次要考虑的实施例中,世界理解的数字表示可能很大并且是数据密集的,诸如移动设备的操作环境的标注和跟踪的特征的点云。在某些实施例中,例如,在最小化功耗和促进协同式AR体验是主要考虑的实施例中,可以将世界理解的更紧凑的数字表示(诸如稳定语义图)输出到AR应用1199。
图12示出了根据本公开的一些实施例的用于实时处理多个DVS传感器(例如,图11中的DVS传感器1120a至1120n)的输出的事件帧合成管线1200的示例。如本公开中的其他地方所记录的,在某些实施例中,DVS传感器的输出是异步事件流。在许多情况下,为了生成可以用于移动AR平台(例如,图3中的AR平台305)中的位置跟踪和绘图的锐边类图像,必须在空间-时间间隔上聚合DVS传感器事件以生成空间直方图或事件帧直方图。在一些实施例中,空间-时间间隔的时间尺寸(在本文中也称为“滑动时间窗口”)需要相对于移动平台的操作条件进行调整或预定,以确保产生锐边类图像。
在一些情况下,如果空间-时间间隔的时间尺寸太小,则边缘结构可能看起来很薄。同样地,如果空间-时间间隔的时间尺寸太大,则边缘结构可能看起来模糊,特别是当一个或多个DVS传感器正经历快速旋转运动时。在这种情况下,可能需要将基于IMU数据的运动校正应用于DVS传感器事件,以减少模糊并锐化边缘。根据某些实施例,事件帧合成管线1200解决了这些问题并且提供了一种算法,其中该算法可以每秒实时处理超过六百万个DVS传感器事件以产生运动补偿的事件帧。
参考图12的非限制性示例,事件帧合成管线1200可以在一些实施例中被实施为硬件(例如,被实施为专用芯片,或者通过现场可编程门阵列(“FPGA”))。在各种实施例中,事件帧合成管线1200可以被实施为在设备(例如,图1中的设备100)上运行的软件,或者被实施为软件或硬件的组合。
在某些实施例中,传感器捕捉模块1205接收包括一个或多个DVS传感器(例如,图11中的传感器块1101的传感器)的传感器1203的集合的输出,并且将它们存储在移动AR平台(例如,图1中的设备100)的存储器上实施的捕捉缓冲器1210中,这使得一条或多条传感器数据(诸如带时间戳的IMU数据)可用于视觉惯性SLAM管线1215。此外,将缓冲的传感器事件数据从捕捉缓冲器1210传递到同步的DVS事件/IMU数据包生成器,以生成时间同步的事件-IMU数据包。
在某些实施例中,可以通过跨参考时间帧收集DVS传感器事件集合并计算单个变换以将每个事件“扭曲(warp)”(或基于IMU数据校正)到参考时间帧来执行DVS传感器事件的运动校正。然而,取决于DVS传感器的数量和数据量,该方法不一定能很好地扩展。因此,为了促进DVS传感器的运动补偿的可扩展性,在根据本公开的某些实施例中,同步的事件-IMU数据包生成器1220创建相同的运动补偿变换可以被应用于其的DVS传感器事件的数据包。
如图12的非限制性示例所示,同步的DVS事件/IMU数据包生成器1220创建时间同步的事件-IMU数据包,其中该时间同步的事件-IMU数据包包含时间戳跨越时间t0和t1处的两个相邻IMU消息之间的间隔的DVS传感器事件
Figure BDA0002782925230000281
对于每个事件-IMU数据包,可以通过对IMU测量进行中点积分来计算围绕生成事件数据包的DVS传感器的光轴的到时间t1的单个变换(假设Rj的纯旋转)。
根据各种实施例,由同步的DVS事件/IMU数据包生成器1220生成的时间同步的DVS事件/IMU数据包被存储在同步缓冲器1225中,在这里它们可用于视觉惯性SLAM管线1215以及补偿、累积和滤波模块1230。在图12的非限制性示例中,同步的DVS事件/IMU数据包生成器1220对DVS传感器事件进行分包,使得对于数据包内的DVS事件集合,可以通过对IMU测量进行中点积分来计算围绕生成事件数据包的DVS传感器的光轴的到时间t1的单个变换(假设纯旋转Rj)。给定Rj(其在某些实施例中是基于带时间戳的IMU数据的旋转矩阵),补偿、累积和滤波模块1230为每个事件-IMU数据包计算单应变换(homographic transformation)以创建运动补偿的DVS事件数据包的超集,其中可以在滑动时间窗口上累积该运动补偿的DVS事件数据包以生成已准备好由视觉惯性SLAM管线1215进行进一步处理的事件帧直方图。
根据某些实施例,补偿、累积和滤波模块1230基于旋转矩阵Rj来计算每个事件数据包的单应变换H。
作为说明性示例,考虑在围绕DVS传感器的光轴的纯旋转Rj之前和之后的与相同场景点X相关联的两个DVS传感器事件e和ej。应用针孔相机假设并忽略DVS传感器中的任何镜头畸变,DVS传感器事件在齐次坐标中的图像平面上的位置在某些实施例中为e
Figure BDA0002782925230000291
KX,并且/>
Figure BDA0002782925230000292
其中/>
Figure BDA0002782925230000293
指示取决于未知比例因子的等式,并且K是相机固有参数的矩阵。因此,得出ej=KRjK-1e,或者ej=Hje,其中Hj=KRj K-1。因此,从IMU计算的旋转矩阵,补偿、累积和滤波模块1230可以获得用于扭曲DVS传感器事件的数据包而不是离散的DVS传感器事件的单应性矩阵Hj
在根据本公开的一些实施例中,补偿、累积和滤波模块1230一次预扭曲几个数据包到数据包集中的最近时间,并且将产生的稀疏部分直方图存储在高速缓存中。每个预扭曲的部分直方图可以被累积为基于以下等式3生成的2D数组:
Ip(u)=∑jkδ(u-u′jk), (3)
其中u'jk是使用单应性矩阵Hj的数据包“j”中的扭曲事件“k”,并且δ是指示符函数,其在u=u'时是单位元素,否则为零。
根据各种实施例,为了促进以高帧速率创建具有锐边的事件帧,运动补偿(例如,通过应用上述的时间同步的事件-IMU数据包的单应变换)的补偿、累积和滤波模块1230在滑动时间窗口上累积DVS事件数据包,其中该滑动时间窗口被确定以在空间直方图或事件帧直方图中累积事件的目标数量(E)。在某些实施例中,补偿、累积和滤波模块1230将噪声滤波和缩放校正应用于事件帧直方图,这可以影响事件帧直方图中的DVS传感器事件的数量的轻微改变。因此,在滤波和缩放后,给定事件帧直方图中的DVS传感器事件的数量为~E。
参考图12的非限制性示例,补偿、累积和滤波模块1230应用空间直方图滤波器以去除事件帧中的噪声伪像。在某些实施例中,空间直方图滤波器去除具有小的频率计数的一个或多个DVS传感器事件和没有空间邻居的DVS传感器事件。根据某些实施例,对于后者,补偿、累积和滤波模块1230对I(u)进行卷积,其中邻居计数内核K=[1 1 1;1 0 1;1 1 1]。
根据各种实施例,补偿、累积和滤波模块1230对上述卷积的结果进行组合和阈值化,以形成用于对噪声事件进行滤波的二进制掩码。参考图12的非限制性示例,补偿、累积和滤波模块1230获得空间直方图(例如,基于下面的等式4的滤波的事件帧:
Figure BDA0002782925230000301
已经在某些实施例中示出了设置常数C1=1、C2=3,以可靠地去除不想要的伪像而不会对场景边缘产生不良影响。在某些实施例中,空间直方图
Figure BDA0002782925230000302
被缩放和裁剪以形成被传递到事件帧缓冲器1235的事件帧,其中在该事件帧缓冲器1235中可以由视觉惯性SLAM管线1215获得并进一步处理该事件帧。
图13A、图13B和图13C示出了根据本公开的一些实施例的用于利用多个DVS传感器来实施CMOS辅助内向外跟踪的移动平台的硬件配置的示例。在图13A至图13C中示出的示例仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他示例。
参考图13A的非限制性示例,在图13A的左侧示出了用作用于执行内向外DVS跟踪的移动平台1300的设备(例如,图1中的设备100或图3中的AR平台305)的第一示例。根据某些实施例,移动平台1300实施用于转换视觉传感器信息(例如,来自一个或多个DVS传感器的事件或从CMOS图像传感器输出的图像帧)的管线(例如,图11中的空间跟踪、绘图和世界理解管线1130),其中该视觉传感器信息用于生成可以用于例如确定由移动平台1300呈现给查看器1301的AR显示中插入的视觉资产的位置性质(例如,位置、尺寸和视角)。
如图13A的说明性示例所示,移动平台1300包括IMU传感器1305,该IMU传感器1305检测和测量移动平台1300的角向运动和横向运动的方向和幅度。移动平台1300还包括覆盖与第一DVS传感器1315和第二DVS传感器1320的视场重叠的视场的至少一个CMOS图像传感器1310。根据各种实施例,CMOS图像传感器1310在传感器控制器和调度器(例如,图7中的传感器控制器和调度器700)的控制下进行操作,以间歇地或仅根据需要操作以补充从第一DVS传感器1315和第二DVS传感器1320获得的图像数据。
在根据本公开的某些实施例中,可以通过使用多个DVS传感器(例如,第一DVS传感器1315和第二DVS传感器1320)来扩展在移动平台1300上实施的视觉惯性SLAM管线的输出的精度。参考图13A的非限制性示例,第一DVS传感器1315与第二DVS传感器1320形成DVS立体对的一半。如由图13A的说明性示例所示的,第一DVS传感器1315与第一光学角1316相关联,并且第二DVS传感器1320与第二光学角1321相关联,并且第一光学角1316和第二光学角1321平行。此外,第一DVS传感器1315的视场与第二DVS传感器1320的视场重叠。这样,移动平台1300能够跨第一DVS传感器1315和第二DVS传感器1320的视场之间的重叠的区域跟踪特征(例如,特征1330)。通过跨具有平行光轴的两个视图同时跟踪特征1330,移动平台1300可以生成与特征1330相关联的深度估计数据,该深度估计数据可以被提供给视觉惯性SLAM管线,从而增强移动平台1300上的内向外CMOS辅助DVS跟踪的空间精确度。
参考图13A的示例,在图13A的右侧示出了用作用于执行内向外DVS跟踪的移动平台1350的设备(例如,图1中的设备100或图3中的AR平台305)的第二示例。根据某些实施例,移动平台1300实施用于转换视觉传感器信息(例如,来自一个或多个DVS传感器的事件或从CMOS图像传感器输出的图像帧)的管线(例如,图11中的空间跟踪、绘图和世界理解管线1130),其中该视觉传感器信息用于生成可以用于例如确定由移动平台1350呈现给查看器1351的AR显示中插入的视觉资产的位置性质(例如,位置、尺寸和/或视角)。
如图13A的说明性示例所示,移动平台1350包括IMU传感器1355,该IMU传感器1355检测和测量移动平台1350的角向运动和横向运动的方向和幅度。移动平台1350还包括覆盖最低限度包括第一DVS传感器1365的视场的至少一个CMOS图像传感器1360。根据各种实施例,CMOS图像传感器1360在传感器控制器和调度器(例如,图7中的传感器控制器和调度器700)的控制下进行操作,以间歇地或仅根据需要操作以补充从第一DVS传感器1365获得的图像数据。
在根据本公开的某些实施例中,可以通过使用多个DVS传感器(例如,第一DVS传感器1365、第二DVS传感器1370和第三DVS传感器1375)来扩展在移动平台1350上实施的视觉惯性SLAM管线的功率效率。参考图13A的非限制性示例,第一DVS传感器1365、第二DVS传感器1370和第三DVS传感器1375中的每一个被安置在移动平台1350上,分别在与第一光学角1366、第二光学角1371和第三光学角1376相关联的位置处。如图13A的说明性示例所示,光学角1366、1371和1376不平行,而是与覆盖180度的近似角距离的三个重叠视场相关联。因此,移动平台1350能够跨第一DVS传感器1365和第三DVS传感器1375的视场之间的重叠的区域跟踪特征(例如,特征1380)。通过在两个DVS传感器的视场中的重叠的区域中同时跟踪特征1380,移动平台1300可以在它移动到第三DVS传感器1375的视场不与第一DVS传感器1365的视场重叠的一部分中时跟踪特征1380,而不必重新获取或重新检测特征1380。由于特征检测可能在某些实施例中在计算上是昂贵的,因此通过向移动平台1350提供具有重叠视图的多个DVS传感器来避免重新检测,在至少一些实施例中转变为减少与在移动平台1350上实施内向外跟踪相关联的功耗。
具体地,在某些实施例中,通过分配特征1380在三维空间中的估计位置,可以在特征1380从由第一DVS传感器覆盖的区域通过第一DVS传感器1365和第三DVS传感器1375之间的重叠的区域移动到仅由第三DVS传感器1375覆盖的区域时跟踪特征1380。根据各种实施例,由于几何形状(例如,物理间距和第一光学角1366与第三光学角1376之间的角度)是已知的,所以通过例如检查特征点1380是否位于第一DVS传感器1365和第三DVS传感器1375的视锥(例如,相机可见的操作环境的三维区域)中的重叠的区域内,移动平台1350可以测试特征点1380是否在与第一DVS传感器1365相邻的DVS传感器(例如,第三DVS传感器1375)的视场中可见。在特征1380落在第一DVS传感器1365和第三DVS传感器1375的视锥中的情况下,视觉惯性SLAM管线基于第一DVS传感器1365和第三DVS传感器1375的输出来跟踪特征。这样,当特征1380从第一DVS传感器1365的视锥中掉出时,特征1380已经利用来自第三DVS传感器的数据进行了跟踪,并因此不需要被重新获取。
虽然图13A描述了具有DVS立体对的移动平台的示例以及具有三个重叠的DVS传感器的移动平台的示例,但是根据本公开的实施例不限于在图13A中提供的示例。可以在实施DVS传感器的不同组合的硬件中实现参考图13A的示例描述的跟踪稳健性和功率效率的改善,其中该硬件包括但不限于具有诸如图13B的示例所示的DVS传感器的多个立体对的移动平台。在一些实施方式中,一对DVS传感器(例如,DVS传感器的立体对)之间的距离可以基于用户的瞳孔间距离1399(例如,人的平均瞳孔间距离)。参考图13B的非限制性示例,示出了包括DVS传感器的三个立体对的DVS HMD,其中每对立体传感器以距离1397a、1397b和1397c隔开。在某些实施例中,距离1397a、1397b和1397c中的每一个都与瞳孔间距离1399相同。另外,在某些实施例中,移动平台可以包括跨一个或多个旋转轴覆盖360度视场的DVS传感器集合,从而进一步最小化重新获取跟踪目标的需要,诸如图13C的示例所示。参考图13C的非限制性示例,示出了具有十六个DVS传感器的DVS HMD的传感器覆盖范围。如该示例所示,DVS传感器1391a至1391p的重叠视场提供了360度的DVS传感器覆盖范围,这在某些实施例中显著增加了为了促进跟踪而连续捕捉至少一个独特的场景元素的似然性。再次,许多变化是可能的并且在本公开的预期范围内。
图14示出了根据本公开的一些实施例的用于使用一个或多个DVS传感器来实施用于低功率增强现实(AR)的语义绘图的架构1400的示例。如本公开中的其他地方所讨论的,由例如有限功率资源(例如,由图1中的电池199保留的有限电荷)、有限处理资源(例如,诸如智能手机的低功率移动平台不具有与台式计算机中的液冷图形处理单元相同的处理能力)和操作因子(例如,要成为可行的AR平台,头戴式显示器(HMD)不能过重或生成大量的热量)施加的约束呈现了在低功率移动设备上实施AR的各种技术挑战。这些技术挑战包括但不限于基于内向外DVS跟踪来开发世界理解的数字表示,其足够稳健和准确以支持积极的AR体验,并且同时不对AR平台的其他资源造成负担。
通过说明性示例,考虑AR平台的操作环境,其中该操作环境包括装饰细节丰富的假设房间(例如,以文艺复兴建筑风格建造的建筑物中的房间)。除了墙壁、天花板和地板的平面外,该假设房间还可以包括可以由DVS传感器和/或CMOS图像传感器捕捉以生成移动平台的操作环境的跟踪特征的视觉纹理的成千上万的附加源(例如,壁柱、造型、马赛克形状、绘画和壁画中的面孔和形态等)。理论上,可以将来自假设房间的视觉纹理的许多源的所有跟踪特征并入到AR平台的世界理解的高度详细的、数据密集的数字表示中。
在不受关于重量、功耗或热量生成的担心约束的某些AR平台中,AR内容项可以被定位在基于包括操作环境的所有或大多数跟踪特征的AR平台环境的这样的高度详细的、数据密集的数字表示而生成的AR显示内。有了足够的处理能力和冷却能力,包括数百万个冗余或非本质特征点的世界理解的数字表示可以被连续更新,并且可以由AR应用消耗。然而,在低功率、轻量级移动平台(例如,图3中的AR平台305)的背景下,尝试基于这样的移动平台的世界理解的数据密集的数字表达来提供AR体验可能产生在移动平台尝试处理移动平台的世界理解的数字表示中的所有数据以设置AR显示内的AR内容项或其他视觉资产的位置行为时,被设备中的热量积聚、过多的电池消耗、或等待时间中的一个或多个降低的AR体验。
根据某些实施例,架构1400生成移动平台的世界理解的数字表示,在本文中也称为语义图或稳定语义图,其将移动平台的操作环境的结构本质提炼为可以使用低功率移动平台的有限资源进行处理以提供AR体验的紧凑的数字表示,其中该AR体验由但不限于AR内容项的稳定的准确位置行为、可扩展性(例如,一个移动平台的稳定语义图可以与另一个移动平台的稳定语义图进行组合)和减少的功耗表征。
参考图14的示例,架构1400在执行内向外CMOS辅助DVS跟踪和语义绘图的移动平台(例如,图3中的AR平台305)上被实施。在图14中示出的架构1400的实施例仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他示例。
根据一些实施例,架构1400包括传感器块1401(例如,图11中的传感器块1101),该传感器块1401包括一套时间同步和校准的传感器,其输出可以用于基于已经被合成为事件帧(例如,通过图12中的事件帧合成管线1200)、带时间戳的CMOS图像帧、或基于DVS传感器数据和CMOS图像帧的组合的帧的DVS传感器数据中的一个或多个来生成带时间戳的帧。
根据某些实施例,传感器块1401包括IMU 1405(例如,图1中的IMU182),该IMU1405检测和测量传感器块1401的角向运动和横向运动的方向和幅度。如图14的非限制性示例所示,传感器块1401还包括一个或多个DVS传感器1410(例如,图4中的DVS传感器400),其中的每一个被配置为响应于来自移动平台(例如,图10中的低功率移动平台1000)托管架构1400的操作环境的视图的检测的光的改变而输出传感器事件数据的异步流。在根据本公开的各种实施例中,架构1400还包括CMOS图像传感器1415(例如,图1中的相机186的某些实施例),该CMOS图像传感器1415被配置为接收来自移动平台的操作环境的光,并基于在CMOS图像传感器1415处接收的光的颜色、位置和强度来输出图像数据的帧。根据各种实施例,IMU传感器1405、DVS传感器1410和CMOS图像传感器1415的输出都以与公共时钟1420同步的时间值带有时间戳。根据某些实施例,公共时钟1420是系统时钟或滴答计数器。
参考图14的示例,架构1400包括事件帧合成管线1425(例如,图12中的事件帧合成管线1200),该事件帧合成管线1425接收IMU传感器1405和DVS传感器1410的输出,并且跨时间窗口累积运动补偿的DVS传感器数据,其中该时间窗口与累积的DVS传感器数据的空间直方图中的锐边的外观相关联。根据各种实施例,事件帧合成管线1425将累积的DVS传感器的空间直方图重新缩放为公共表示和/或对空间直方图执行噪声滤波。如图14所示,在一些实施例中,事件帧合成管线1425将经处理的空间直方图输出到视觉惯性SLAM管线1430。
根据某些实施例,架构1400包括视觉惯性SLAM管线1430(例如,图5中的视觉惯性SLAM管线525),该视觉惯性SLAM管线1430在某些实施例中被配置为接收特征跟踪(例如,图6中的混合特征跟踪650),并输出姿态数据(例如,图5中的相机姿态数据530)或场景几何数据(例如,图5中的场景几何数据535)中的一个或多个。如图14的说明性示例所示,由视觉惯性SLAM管线1430输出的场景几何数据可以是指示移动平台的操作环境中的跟踪点的当前确定的坐标值的点云的形式。在某些实施例中,视觉惯性SLAM管线1430被配置为从CMOS图像传感器1415间歇地(如图中的虚线所指示的)接收图像帧。在各种实施例中,视觉惯性SLAM管线1430还可以包括特征处理机(例如,混合特征处理机515),其中该特征处理机用于生成跟踪特征(例如,图6中的空间和时间对准的DVS特征跟踪或混合特征跟踪650)以作为经预处理的输入提供给视觉惯性SLAM管线1430。
参考图14的示例,架构1400还包括视觉资产1435。根据各种实施例,视觉资产1435包括AR对象或AR内容(例如,语音气泡)的容器,其中该AR内容可以由AR应用1440部分地基于在由融合模块1455输出的稳定语义图中提供的位置信息来渲染。在一些实施例中,视觉资产1435与位置标准(例如,指定AR显示中的视觉资产的表面上的“尺寸”的标准、或指定关于视觉资产相对于稳定语义图的元素的安放的规则的标准(例如,某些对象不应看上去“漂浮”在稳定语义图的地平面上方))。
如图14的说明性示例所示,架构1400包括AR应用1440。根据一些实施例,AR应用1440是向移动平台的用户提供基于操作环境的世界理解(例如,语义绘图)的AR体验的应用,其中该世界理解是基于在移动平台处执行的CMOS辅助内向外跟踪而生成的。AR应用1440可以是但不限于AR游戏、虚拟工作空间(例如,用户在呈现为视觉资产的文档或3D模型上进行协同的应用)、通信应用、或摄影或成像应用。
根据一些实施例,架构1400包括语义分割管线1445,该语义分割管线1445被配置为接收带时间戳的帧,并且标识至少一个语义标签(例如“,地板”或“墙壁#1”)并将其与带时间戳的帧的图像数据的区域关联。根据一些实施例,由语义分割管线1445接收的带时间戳的帧是由CMOS传感器1415输出的图像数据的帧。在某些实施例中,由语义分割管线1445接收的带时间戳的帧是由事件帧合成管线1425从来自DVS传感器1410的传感器事件数据生成的合成事件帧。
参考图14的示例,结构分类和简化管线1450接收视觉惯性SLAM管线1430(例如,跟踪的特征的点云)和语义分割管线1445的输出作为输入,并且处理输入以生成随时间的移动平台的操作环境的语义标注对象和/或感兴趣的表面(例如,地板和墙壁)的一系列一个或多个简化对象表示。根据某些实施例,简化对象表示包括表示相关表面(例如,桌子的顶部的尺寸和位置对于定位AR内容而言比其腿部的曲线更相关)的几何图元(例如,框、平面或棱柱)。通过将移动平台对其操作环境的世界理解简化为简化对象表示的集合,而不是跟踪的特征点的潜在数据密集集合,移动平台的世界理解的数字表示类似地变得不那么数据密集。
参考图14的示例,由结构分类和简化管线1450生成的一系列简化对象表示被提供给融合模块1455。在宏观级别,融合模块1455“平息”或“平滑”由结构分类和简化管线1450提供的简化对象表示的短期变化,以基于分类和简化管线1450的输出内的持久和/或确信地标识的趋势来生成和更新操作环境的世界理解的紧凑的数字表示(例如,稳定语义图)。
作为融合模块1455的功能的各方面的说明性示例,考虑包括正方形桌子的操作环境。在时间t=0,结构分类和简化管线1450输出桌子的第一简化对象表示,其中该桌子包括跨度50厘米的正方形平面并在给定坐标值处标注为“桌子”。在时间t=20ms,结构分类和简化管线1450输出桌子的第二简化对象表示,这次包括跨度49.5厘米的、标注为“桌子”的正方形平面,并且具有时间t=0时的坐标值的右侧1cm的坐标值。类似地,在时间t=40ms,结构分类和简化管线1450输出桌子的第三简化对象表示,这次包括跨度50.5cm的、标注为“桌子”的正方形平面,并且具有时间t=0时的坐标值的左侧0.5cm的坐标值。
在一些实施例中,将结构分类和简化管线1450的输出直接馈送给(多个)AR应用1440作为移动平台的操作环境的世界理解的数字表示可能导致不好的AR体验,因为AR显示中的AR对象的位置行为可以反映结构分类和简化管线1450的瞬时输出的短期变化。例如,响应于时间t=0和t=40ms之间的标注为“桌子”的平面的分配坐标的变化,“安放”在桌子上的AR对象可能看起来来回移动。根据各种实施例,通过随时间融合瞬时几何形状(例如,平面和框的维度和坐标)以创建移动平台的操作环境的一致的稳定语义图,融合模块“平滑”结构分类和简化模块1450的输出的上述变化。
图15示出了根据本公开的某些实施例的生成带时间戳的帧的语义分割(例如,通过图14中的语义分割管线1445)的各方面。在图15中示出的实施例仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他示例。
根据某些实施例,通过将带时间戳的合成的DVS事件帧1505(例如,由图14中的事件帧合成管线1425生成的事件帧)与从CMOS传感器(例如,图14中的CMOS传感器1415)输出的CMOS图像数据1510的带时间戳的帧连结以生成带时间戳的帧1515来执行语义分割。在一些实施例中,带时间戳的合成的DVS事件帧1505的时间戳和CMOS图像数据1510的带时间戳的帧的时间戳满足预定的接近度标准。在一些实施例中,代替包括合成的DVS事件帧和CMOS图像帧的连结,带时间戳的帧1515基于仅一个传感器的输出。根据某些实施例,语义标注的精度在CMOS图像帧可用时被显著改善,并且移动平台的控制逻辑仅对包括来自CMOS图像帧1510的数据的带时间戳的帧1515执行语义分割。在一些实施例中,为了辅助语义分割,移动平台的控制逻辑(例如,图7中的传感器控制器和调度器700)以短暂的周期性间隔打开CMOS图像传感器。
参考图15的说明性示例,带时间戳的帧1515传递通过已被训练以将语义标签与图像数据的区域关联的深度卷积神经网络(CNN)1520。根据某些实施例,图像数据的区域包括带时间戳的帧1515内的像素范围。
如图15的非限制性示例所示,CNN 1520将语义标签分配给包括带时间戳的帧的一些但不是全部像素的区域。标识带时间戳的帧1515的语义标注区域和分配给每个区域的语义标签的数据在某些实施例中被传递到结构分类和简化管线(例如,图14中的结构分类和简化管线1450)。
图16示出了根据本公开的各种实施例的结构分类和简化(如由例如图14中的结构分类和简化管线1450执行)的各方面。在图16中示出的实施例仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他示例。
根据某些实施例,具有移动AR平台的操作环境的三维世界理解对于实施AR应用(例如,图14中的AR应用1440)是至关重要的。虽然至少一段时间内,移动平台可能利用基于由视觉惯性SLAM管线标识和跟踪的特征的地图作为它的世界理解,但实时更新这样的地图可能涉及匹配和更新数千个点的坐标。这在计算上可能是昂贵的,并且可能快速耗尽移动平台的功率资源(例如,图1中的电池199)。根据某些实施例,结构分类和简化提供了一种机制,该机制用于以比点云简单得多的方式来重新表达世界理解的数字表达,并因此在计算上不那么昂贵并且对移动平台的功率资源的需求少得多。
参考图16的示例,结构分类和简化包括使用点云1615和与时间点相关联的相机姿态数据1620来生成简化对象表示(例如,几何图元,诸如边界框1605和平面1610)。根据某些实施例,结构分类和简化包括基于与相同时间点相关联的语义分割数据1625(例如,将语义标签与带时间戳的图像帧中的区域关联的数据)对简化对象表示进行定位(例如,通过使用平面拟合)和归类。
另外,根据某些实施例,作为结构分类和简化的一部分,基于带时间戳的帧的语义标注区域的投影(由投影线1630和1640表示)和点云中的点之间的空间对应为点云1615中的点分配语义标签。如图16的非限制性示例所示,点云1615中的某些点(例如,第一点1645)被标注有“+”,表示它们和与“符号”的语义标签相关联的图像帧的区域的投影的空间接近度。类似地,点云1615中的其他点被标注有“x”,表示它们和与“桌子”的语义标签相关联的图像帧的区域的投影的空间接近度。
图17示出了根据本公开的某些实施例的结构分类和简化管线1700(例如,结构分类和简化管线1450)的元素。根据各种实施例,结构分类和简化管线1700被体现为无束缚的低功率移动平台(例如,图1中的设备100或图3中的AR平台305)上的硬件。在一些实施例中,结构分类和简化管线1700被体现为存储在移动平台的存储器中并由平台的处理器执行的软件。根据各种实施例,通过软件和硬件(例如,图1中的主处理器140和GPU 170)的组合实施结构分类和简化管线1700。
参考图17的非限制性示例,结构分类和简化管线1700接收视觉惯性SLAM管线(例如,图14中的视觉惯性SLAM管线1430)的输出1705和语义图像标签1710(例如,由图15中的卷积神经网络1520确定的语义标签)作为输入。根据某些实施例,视觉惯性SLAM管线的输出1705包括由视觉惯性SLAM管线确定的移动平台的姿态数据(例如,移动平台的DVS传感器或CMOS图像传感器的光学向量)和场景几何数据(例如,图5中的场景几何数据535)。在图17的非限制性示例中,来自视觉惯性SLAM管线的场景几何数据被提供给结构分类和简化管线1700,作为在实施结构分类和简化管线1700的移动平台的操作环境中的跟踪的特征的点云。另外,在各种实施例中,结构分类和简化管线1700从视觉惯性SLAM管线或另一组件(例如,直接从具有重力传感器的IMU)接收标识局部向下向量的重力信息。根据各种实施例,基于重力的向下向量有助于建立将简化对象表示定位到其的坐标系。
如图17的说明性示例所示,结构分类和简化管线1700还接收语义图像标签数据1710,该语义图像标签数据1710在某些实施例中包括将带时间戳的帧(例如,图15中的带时间戳的帧1515)与由卷积神经网络或其他计算机实施的图像识别过程确定的语义标签关联的数据。
在根据本公开的一些实施例中,结构分类和简化管线1700执行平面候选寻找操作1715以在来自视觉惯性SLAM管线的场景几何数据(例如,点云)中寻找平面候选。根据各种实施例,作为平面候选寻找操作1715的一部分,通过采样平面假设并使用一种或多种平面拟合技术(例如,随机样本共识或已被示出为对噪声或潜在噪声数据集有效的“RANSAC”)来评估共识,点云被聚类为有界平面区域。此外,在某些实施例中,点云数据中的每个标识平面通过其法线n和到坐标系的原点的距离d进行参数化。另外,在一些实施例中,作为平面候选寻找操作1715的一部分,结构分类和简化管线1700对中心点c及其作为有界平面(例如,桌子顶部的平坦表面)的平面候选的边界点{b1,b2,…bK}进行参数化。
如图17的解释性示例所示,结构分类和简化管线1700还包括平面分类操作1720。根据各种实施例,在平面分类操作1720中,在操作1715中找到的每个平面候选通过将其法线与重力向量进行比较以确定分类(例如,地面、水平、垂直、其他)来进行分类。虽然在图17的说明性示例中未示出,但是在某些实施例中,作为平面分类操作1720的一部分,还可以基于作为标签投影操作1725的一部分被分配给点云数据的语义标签为分类的平面候选分配语义标签。
根据某些实施例,结构分类和简化管线1700执行标签投影操作1725,其中基于带时间戳的帧的标注区域的投影和点云数据之间的空间对应来标注被提供作为视觉惯性SLAM管线的输出1705中的一个的点云的元素。
参考图17的非限制性示例,结构分类和简化管线1700包括操作1730,其中为其简化对象表示包括边界框的对象确定三维坐标。在操作1730,对与操作环境中的对象相关联的点云内的群集(例如,图16中的点云1615中用“+”符号示出的点)进行聚类,并且确定点云群集的最小三维边界框的维度和空间坐标。根据某些实施例,包围标注点群集的最小3D边界框被找到以产生最终的简化对象表示:{v1,v2,…v8,c,Oid,Cid},其中vj表示框顶点中的一个,并且标识符Oid、Cid表示对象和类别标签。
如图17的解释性示例所示,结构分类和简化管线1700输出标注平面1740和标注框1745的集合,其在生成和更新移动平台的操作环境的稳定语义图时由融合模块(例如,图14中的融合模块1455)考虑。
图18示出了根据本公开的某些实施例的设备内融合模块1800(例如,图14中的融合模块1455)的操作架构的各方面。在图18中示出的设备内融合模块1800的实施例仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他示例。
参考图18的非限制性示例,设备内融合模块1800接收简化对象表示作为输入。在该特定示例中,设备内融合模块接收由结构分类和简化管线(例如,图17中的结构分类和简化管线1700)生成的标注平面1805和标注框1810作为简化对象表示。根据某些实施例,标注平面1805和标注框1810通过几何图元和标签包括移动平台的世界理解的瞬时(例如,与特定瞬间或最低限度短的时间间隔相关联)表示。根据各种实施例,设备内融合模块1800随时间融合世界理解的瞬时表示,以构建移动平台在其中移动和操作的操作环境的一致或稳定的图。
根据某些实施例,某些简化对象表示,诸如标注平面1805和标注框1810,包括与以下五个属性相关联的高级几何图元:位置、定向、程度、置信度计数器和时间戳。在根据本公开的各种实施例中,元素被存储在稀疏的分层数据结构(例如,包括树的节点集合)中以用于快速搜索和检索。树中的每个节点表示特定的空间位置,并且包含可能的元素假设的集合。如本文中更详细地描述的,这些高级图元被不同地合并或从元素集中移除,其中该元素集基于它们与已经由设备内融合模块1800接收的其他元素的关联的数学表达来定义稳定语义图的图元。
如图18的非限制性示例所示,设备内融合模块1800执行一个或多个数据关联操作1820,其中设备内融合模块1800通过获得具有最靠近从图检索的查询的、中心点之间的欧几里德距离||c1-c2||2的元素来查询一个或多个元素假设。如果在该空间位置没有先前的元素,则将新的不稳定元素添加到图。接下来,使用元素特定的距离函数de(·)找到与查询最类似的假设。对于平面,可以使用
Figure BDA0002782925230000411
其中ni是每个相应平面的法线。对于边界框,可以使用/>
Figure BDA0002782925230000412
其中Vj是每个相应框的连结顶点,并且IoU是两个长方体的并集上的交点。
根据各种实施例,数据关联操作1820确定查询元素和树内的元素集之间的距离。在一些实施例中,执行合并操作1825,其中如果最靠近的集比指定距离远,则创建新的元素集。然后将查询元素与具有最小距离的组合并。在这种情况下,设备内融合模块1800维持元素的值的移动平均值。每次将元素添加到元素集时,该集的置信度计数器都递增。置信度计数器达到指定阈值之后,不稳定的图元变得稳定。在各种实施例中,为每个空间位置维持多个假设的这种方法有助于抑制离群值并避免对多个竞争假设进行平均,这导致更稳定的输出。对于每个元素集,仅特定空间位置处具有最高置信度得分的元素集用作稳定语义图1815的元素。
虽然在图18的解释性示例中未单独示出,但是根据各种实施例,设备内融合模块1800执行后处理步骤以“修剪”或管理包括元素的稀疏分层数据结构的数据尺寸。根据某些实施例,修剪和后处理步骤修剪步骤移除太大、太小或太旧的元素。对于在一个特定时间仅在场景中部分可见的那些元素(诸如平面),如果满足以下两个标准,则后处理过程将在3D中重叠的有界平面分组。首先,两个平面之间的平均垂直距离必须小(例如,其中
Figure BDA0002782925230000421
),其次,每个平面内部的近似球体半径拟合之间的重叠必须大于零,(例如,其中/>
Figure BDA0002782925230000422
)。
图19A至图19D在视觉上示出了根据本公开的一些实施例的内向外设备跟踪和生成稳定语义图的某些方面。
参考图19A的非限制性示例,低功率移动AR平台(例如,图1中的设备100或图3中的AR平台305)的操作环境1900的一部分被示出为出现在人眼或在由CMOS图像传感器输出的图像帧中。如该图示所示,操作环境1900包括电视(或监视器)1901、桌子1903、墙壁1905、地板1907和窗户1909,其中通过该窗户1909可以看到树1911。注意,在该解释性示例中,树1911的视图被水平竖框1913a和垂直竖框1913b分解为象限。
参考图19B的非限制性示例,操作环境1900的表示作为由视觉惯性SLAM管线(例如,图14中的视觉惯性SLAM管线1430)输出的瞬时(例如,基于与特定瞬间时刻相关联地收集的DVS传感器事件数据和/或CMOS图像数据)点云1920。根据某些实施例,图19B中的每个“圆点”(例如,“圆点”1925)表示由视觉惯性SLAM管线跟踪的视觉特征的瞬时坐标值。如图19B中的大量“圆点”所暗示的,取决于实施例,点云1920可以呈现操作环境1900的世界理解的表示,其中该表示太数据密集而无法以低功率移动AR平台的有限处理和功率资源进行实时更新和处理。
图19C提供了根据本公开的各种实施例的结构分类和简化管线(例如,图14中的结构分类和简化管线1450)的瞬时输出的视觉化。如图19C的说明性示例所示,根据本公开的各种实施例的结构分类和简化管线可以生成移动平台的操作环境的世界理解的表示,其中该表示比由视觉惯性SLAM管线提供的点云显著不那么数据密集。与将操作环境1900的瞬时表示描绘为数百个点的云的图19B相反,在图19C中,已将操作环境1900描述为在三维坐标系1930中具有位置和维度值的五个简化对象表示的集合(例如,语义标注的几何图元1925a至1925e)。如图19C中的运动箭头(例如,旋转箭头1935)所指示的,简化对象表示的位置和维度坐标可能不稳定,并在不同瞬间跨结构分类和简化管线的输出而变化。例如,具有语义标签“墙壁”的有界平面1925b可以在结构分类和简化管线的第二瞬时输出中从其在结构分类和简化管线的第一瞬时输出中的位置稍微向上移动。
注意针对图19D的非限制性示例,其提供了通过融合(例如,通过图18中的融合模块1800)结构分类和简化管线的瞬时输出而创建和更新的操作环境1900的稳定语义图1950的视觉化。如该说明性示例所示,稳定语义图1950包括操作环境1900的轻量级(例如,非数据密集)数字表示,其包括在三维坐标系中具有稳定的维度和位置坐标值的五个语义标注的几何图元。如本公开所使用的,术语“稳定”包含几何图元的坐标值从结构分类和简化管线的瞬时输出中的坐标值的小的瞬时波动的解耦。通过简单的解释性示例,某人将操作环境1900中的电视移近窗口,则稳定语义图1950中的边界框1955的位置坐标值将由融合模块更新以反映该事实。同时,稳定语义图1950将不响应于结构分类和简化管线的瞬时输出中的坐标值的各个波动而更新。因此,在将AR内容项(例如,指示用户喜欢的电视节目的开始时间的横幅)定位在边界框1955中的AR显示中,AR内容项将在显示中看起来为静态对象,而不是响应于分类和简化管线的输出的变化而“微动”。
虽然迄今为止已经参考在设备内(例如,在单件硬件上,诸如图3中的AR平台305)级别实施跟踪和生成稳定语义图的实施例描述了在低功率移动平台上执行世界理解的轻量级数字表示的内向外跟踪和生成,但是根据本公开的实施例不限于此。根据各种实施例,用于内向外收集视觉数据、简化和分类数据的元素以及融合简化和分类的数据以创建稳定语义图的管线可以被扩展到设备间级别。作为根据本公开的实施例的这样的扩展的非限制性示例,可以在各个移动平台上生成操作环境(或多个操作环境)的局部稳定语义图,然后将其融合以创建移动平台中的每一个可访问的全局稳定语义图,以及为每个移动平台提供增强的稳健性(例如,操作环境的一个平台的局部语义图中的误差可能被在其他移动平台上生成的操作环境的局部语义图“融合掉”)和增强的范围(例如,移动平台可以访问其自身操作环境之外的区域的稳定语义图)的语义图。根据各种实施例,将局部稳定语义图缝合为一致的全局稳定语义图可以促进基于共享的全局稳定语义图的增强的AR体验的实现。这样的增强的AR应用的示例包括但不限于增强现实游戏,其涉及多个移动平台上的多个用户查看和操纵相同的虚拟对象、以及AR消息传递应用,其中用户可以在全局稳定语义图上表示的表面或三维对象上留下消息,其中其他用户可以在他们靠近表面或对象时查看该消息。
图20示出了根据本公开的各种实施例的用于生成和更新全局稳定语义图的系统架构的两个说明性示例。在图20中示出的示例仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他示例。
根据各种实施例,通过周期性地组合在移动设备处生成的局部稳定语义图、并利用融合模块(例如,根据参考图18中的融合模块1800描述的原理进行操作的融合模块)来处理组合的局部图以生成全局稳定语义图,可以生成和更新全局稳定语义图。
参考图20的示例,系统架构2000包括用作共享的操作环境或单独的操作环境(例如,图3中的操作环境300或图19A中的操作环境1900)中的移动AR平台的第一多个设备2005(例如,图1中的设备100的两个或更多个实例)。第一多个设备2005中的每个设备向用作主设备的对等设备2010(例如,具有与第一多个设备2005中的设备类似的功率和处理资源的移动AR平台)周期性地提供其相应操作环境的局部稳定语义图的带时间戳的实例。根据各种实施例,对等设备2010执行设备分组、图优化、或所接收的局部稳定语义图的融合中的一个或多个,以生成和更新全局语义稳定图2015,其中该全局语义稳定图2015在对等设备2010上被更新并被提供给第一多个设备2005中的每个设备。
如图20所示,系统架构2050的第二非限制性示例包括用作共享的操作环境或单独的操作环境(例如,图3中的操作环境300或图19A中的操作环境1900)中的移动AR平台的第二多个设备2055(例如,图3中的AR平台305的两个或更多个实例)。第二多个设备2055中的每个设备向云计算平台2060(例如,GOOGLE CLOUDTM)周期性地提供其操作环境的局部稳定语义图的带时间戳的实例。根据各种实施例,云平台2060执行设备分组、图优化、以及所接收的局部稳定语义图的融合中的一个或多个,以生成和更新全局语义稳定图2065,其中该全局语义稳定图2065在云计算平台2060上被更新并被提供给第二多个设备2055中的每个设备。
虽然在图20的解释性示例中未具体示出,但是其他系统架构也是可能的并且在本公开的预期范围内。作为示例,系统架构2000可以在某些实施例中利用服务器(例如,图2中的服务器200)代替对等设备2010来实施。
图21示出了根据本公开的各种实施例的用于生成和更新基于多平台的全局稳定语义图2110的架构2100的示例。在图21中示出的架构2100的实施例仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他实施例。
参考图21的非限制性示例,架构2100包括主平台2105、以及包括移动AR平台2150a和2150n的一个或多个移动AR平台。根据各种实施例,主平台2105可以被体现在但不限于移动平台(例如,图1中的设备100)、硬件服务器(例如,图2中的服务器200)或云计算服务器(例如,图20中的云计算平台2060)上。如图21所示,移动AR平台2150a和2150n包括能够接收和处理稳定语义图以提供AR显示的联网电子设备,包括但不限于智能手机、平板电脑和头戴式显示器。根据各种实施例,移动AR平台2150a至2150n属于由主平台2105通过初始化阶段标识的一组设备,其中在该初始化阶段中移动AR平台2150a至2150n将它们自己标识为在主平台2105上运行的虚拟服务器。在根据本公开的某些实施例中,尽管可以使用其他协议,但是移动AR平台2150a至2150n使用用户数据报协议(UDP)广播将它们自己标识为主平台2105。另外,移动AR平台2150a至2150n可以经由一个或多个无线通信协议(包括但不限于Wi-Fi或蓝牙协议)彼此通信。
根据各种实施例,一旦被初始化并连接到移动AR平台2150a至2150n中的每一个,主平台2105就从每个移动AR平台周期性地接收示出相应移动AR平台在指定时间的姿态的局部姿态数据2155a至2155n的带时间戳的实例(例如,移动AR平台2150a提供局部姿态数据的实例2155a)和与局部姿态数据的实例相同的时间相关联地生成的局部稳定语义图的带时间戳的实例(例如,移动平台2150n提供局部稳定语义图2160n的实例)。
参考图21的解释性示例,已经从移动平台2150a至2150n中的每一个接收到局部稳定语义图的实例2160a至2160n,主平台2150执行设备分组2115,基于多少公共图元素(例如,与特定桌子相关联的特定几何图元)存在于每个局部稳定语义图中对局部语义图的实例进行分组。根据各种实施例,可以将对全局语义图2110的更新推出到移动AR平台的组。也就是说,看着相同桌子的移动AR平台的组将全部接收对全局稳定语义图2110中的位置和维度坐标的相同更新。根据各种实施例,每个局部稳定语义图由简化对象表示(例如,语义标记的几何图元,诸如坐标系中的平面和边界框)组成。在各种实施例中,设备分组2115包括例如通过使用距离度量(诸如公共元素的坐标值之间的欧几里德距离)匹配元素的描述符(例如,语义标签)来标识局部稳定语义图的公共元素之间的对应关系(例如,在第一局部稳定语义图中的“椅子”和“桌子”的实例之间的欧几里德距离与第二局部稳定语义图中的“椅子”和“桌子”的实例之间的欧几里德距离相对应的情况下,将两个局部稳定语义图分组在一起作为设备分组2115的一部分)。
在某些实施例中,一旦局部稳定语义图的实例被分组,则图优化2120被执行作为组合局部语义图以生成和更新全局稳定语义图2110的第一步骤。根据各种实施例,图优化2125包括利用局部姿态数据2155a至2155n的实例来执行将局部稳定语义图2160a至2160n的实例的坐标系映射到在全局稳定语义图2110中使用的全局坐标系的变换(例如,通过最小二乘优化)。
根据某些实施例,经优化和分组的局部稳定语义图通过融合模块2120(例如,图17中的融合模块1800)被传递,以平滑组合的局部语义图之间的低级变化(例如,几何图元的位置和维度坐标的变化),并从全局稳定语义图2110合并和减去元素。
图22示出了根据本公开的各种实施例的用于执行与全局稳定语义图(例如,图21中的全局稳定语义图2110)的生成和更新相关联的设备内操作的架构2200的示例。在图22中示出的架构2200的实施例仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他实施例。
参考图22的示例,架构2200包括传感器块2201(例如,图11中的传感器块1101),该传感器块2201包括一套时间同步和校准的传感器,其用于基于已经被合成为事件帧(例如,通过图12中的事件帧合成管线1200)、带时间戳的CMOS图像帧、或基于DVS传感器数据和CMOS图像帧的组合的帧的DVS传感器数据中的一个或多个来生成带时间戳的帧。
根据某些实施例,传感器块2201包括IMU传感器2205(例如,图1中的IMU 182),该IMU传感器2205检测和测量传感器块2201或架构2200的角向运动和横向运动的方向和幅度(例如,移动平台托管架构2200)。如图22的非限制性示例所示,传感器块2201还包括一个或多个DVS传感器2210(例如,图4中的DVS传感器400),其中的每一个被配置为响应于来自移动平台(例如,图10中的低功率移动平台1000)托管架构2200的操作环境的视图的检测的光的改变而输出传感器事件数据的异步流。在根据本公开的各种实施例中,架构2200还包括一个或多个CMOS图像传感器2215(例如,图1中的相机186的某些实施例),该一个或多个CMOS图像传感器2215被配置为接收来自移动平台的操作环境的光,并基于在CMOS图像传感器1415处接收的光的颜色、位置和强度来输出图像数据的帧。根据各种实施例,IMU传感器2205、DVS传感器2210和CMOS图像传感器2215的输出都以与公共时钟2220同步的时间值带有时间戳。根据某些实施例,公共时钟2220是系统时钟或滴答计数器。
参考图22的非限制性示例,架构2200包括事件帧合成管线2225(例如,图12中的事件帧合成管线1200),该事件帧合成管线2225接收IMU传感器2205和DVS传感器2210的输出,并且跨时间窗口累积运动补偿的DVS传感器数据,其中该时间窗口与累积的DVS传感器数据的空间直方图中的锐边的外观相关联。根据各种实施例,事件帧合成管线2225将累积的DVS传感器的空间直方图重新缩放为公共表示和/或对空间直方图执行噪声滤波。如图22所示,在一些实施例中,事件帧合成管线2225将经处理的空间直方图输出到视觉惯性SLAM管线2230。
根据某些实施例,架构2200包括视觉惯性SLAM管线2230(例如,图5中的视觉惯性SLAM管线525),该视觉惯性SLAM管线2230在某些实施例中被配置为接收特征跟踪(例如,图6中的混合特征跟踪650),并输出姿态数据(例如,图5中的相机姿态数据530)或场景几何数据(例如,图5中的场景几何数据535)中的一个或多个。如图22的说明性示例所示,由视觉惯性SLAM管线2230输出的场景几何数据可以是指示移动平台的操作环境中的跟踪点的当前确定的坐标值的点云的形式。在某些实施例中,视觉惯性SLAM管线2230被配置为从CMOS图像传感器2215间歇地(如图中的虚线所指示的)接收图像帧。在各种实施例中,视觉惯性SLAM管线2230还可以包括特征处理机(例如,混合特征处理机515),其中该特征处理机用于生成跟踪特征(例如,图6中的空间和时间对准的DVS特征跟踪或混合特征跟踪650)以作为经预处理的输入提供给视觉惯性SLAM管线2230。
根据一些实施例,架构2200包括语义分割管线2245,该语义分割管线2245被配置为接收带时间戳的帧,并且标识至少一个语义标签(例如“,地板”或“墙壁#1”)并将其与带时间戳的帧的图像数据的区域关联。根据一些实施例,由语义分割管线2245接收的带时间戳的帧是由CMOS图像传感器2215输出的图像数据的帧。在某些实施例中,由语义分割管线2245接收的带时间戳的帧是由事件帧合成管线2225从来自DVS传感器2210的传感器事件数据生成的合成事件帧。
参考图22的示例,结构分类和简化管线2250接收视觉惯性SLAM管线2230(例如,跟踪的特征的点云)和语义分割管线2245的输出作为输入,并且处理输入以生成随时间的移动平台的操作环境的语义标注对象和感兴趣的表面(例如,地板和墙壁)的一系列一个或多个简化对象表示。根据某些实施例,简化对象表示包括表示相关表面(例如,桌子的顶部的尺寸和位置对于定位AR内容而言比其腿部的曲线更相关)的几何图元(例如,框、平面或棱柱)。通过将移动平台对其操作环境的世界理解简化为简化对象表示的集合,而不是跟踪的特征点的潜在数据密集集合,移动平台的世界理解的数字表示类似地变得不那么数据密集。
根据各种实施例,架构2200将局部姿态数据2260提供给主平台(例如,图21中的主平台2105)。类似地,在一些实施例中,架构2220直接向主平台提供结构分类和简化管线2250的输出作为局部图2265,而不在移动AR平台处执行任何融合操作。在一些实施例中,例如,取决于在移动平台上运行的设备和应用之间的处理资源的分配,架构2200包括融合模块(在图22中未明确示出)以“平滑”和稳定分类和简化管线2250的输出。在一些实施例中,例如,在功耗是最高优先级的实施例中,可能优选的是在不在任何功率约束下进行操作的处理平台(例如,图2中的服务器200)上执行与生成全局稳定语义图相关联的所有融合操作。
图23A、图23B和图23C提供了根据本公开的各种实施例的主平台(例如,图21中的主平台2105)处的移动平台的设备分组的各方面的视觉说明。在图23A-图23C中示出的设备分组的示例仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他分组。
参考图23A的示例,房间的语义图2300的整体被表示为表示房间内的墙壁、地板和对象的五个几何图元的集合。在该说明性示例中,指定为D1、D2、D3和D4的四个移动AR平台(例如,图1中的设备100)在房间中进行操作,并且其中的每一个已经生成了覆盖房间的一部分的局部语义图(例如,每个移动平台的结构简化和分类管线的输出、或者通过融合每个移动平台的结构简化和分类管线的输出而产生的局部稳定语义图)。每个设备的局部语义图的程度由圆圈2301、2303、2305和2307表示。
如图23A所示,移动AR平台D1的局部语义图包括也存在于D2的局部语义图中的几何元素(例如,边界框的边缘)。因此,主平台将移动AR平台D1和D2分配到第一组2310。此外,在图23A的解释性示例中,移动AR平台D4的局部语义图包括存在于移动AR平台D4的局部语义图中的几何元素(例如,有界平面的边缘)。因此,主平台将指定为D3和D4的移动AR平台分配到第二组2315。在某些实施例中,第一组2310中的局部语义图在主平台处被组合(例如,通过图21中的图优化2120和融合模块2125)。
根据某些实施例,除了对各个移动AR平台的局部语义图进行分组之外,先前生成的组本身可以被分组为设备分组(例如,图21中的设备分组2115)的一部分。
参考图23B的说明性示例,指定为D4的移动AR平台的姿态已经从在图23A中描绘的其初始位置向下和向左移动,并且其局部语义图(由圆圈2305示出)的一部分与指定为D2的设备的局部语义图(由圆圈2303示出)的一部分重叠。因此,第一组2310和第二组2315被合并以形成新的第三组移动AR平台2320。
根据各种实施例,在主平台处执行的设备分组(例如,图21中的设备分组2115)可以是减法的、以及加法的。
参考图23C的示例,指定为D4的移动AR平台的姿态已经从在图23B中描绘的位置向上移动,导致D4的局部语义图(由圆圈2305示出)和指定为D3的移动AR平台的局部语义图(由圆圈2307示出)之间的重叠的丢失。因此,第三组2320响应于姿态的该改变而进行划分,并且形成新的第四组2325。
图24提供了根据本公开的各种实施例的图优化(例如,图21中的图优化2120)的各方面的视觉说明。在图24中示出的图优化的实施例仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他实施例。
参考图24的示例,已经基于由第一移动AR平台2401生成的第一局部语义图2415和由第二移动AR平台2411生成的第二局部语义图2420的公共元素2405之间的确定的对应,将第一移动AR平台2401与第二移动AR平台2411进行了分组(例如,通过图21中的设备分组2115)。根据各种实施例,在第一移动平台2401的局部坐标系中表达第一局部语义图2415。类似地,如图24的说明性示例所示,在第二移动平台2411的局部坐标系中表达第二局部语义图2420。
为了促进将第一局部语义图2415与第二局部语义图2420组合以形成全局语义图2450,主平台的图优化过程(例如,图21中的图优化2120)执行第一相对变换2425以根据全局语义图2450的全局坐标系来重新表达第一局部语义图2415。类似地,根据某些实施例,主平台的图优化过程执行第二相对变换2430,以根据全局语义图2450的全局坐标系来重新表达第二局部语义图2420。
图25示出了利用由根据本公开的实施例生成的全局语义图提供的一致的世界理解的AR应用的示例。在图25中示出的实施例仅用于说明,并且在不脱离本公开的范围的情况下可以使用其他实施例。
参考图25的示例,对第一移动AR平台2501摆姿态,使得其视觉传感器(例如,图4中的DVS传感器400和图5中的CMOS传感器510)指向物理(例如,不是虚拟)桌子2505。此外,在该说明性示例中,第一移动AR平台2501是运行AR应用的第一实例2511的智能手机,其将视觉资产(在这种情况下,球的第一实例2515)定位在第一移动AR平台2501上提供的AR显示中。类似地,第二移动AR平台2551运行在第一移动AR平台上运行的AR应用的第二实例2555。
在该解释性示例中,在第一移动AR平台2501和第二移动AR平台2551上运行的AR应用是“类足球”游戏,其中在图25中示出的两个设备的操作者将其设备相对于桌子2505进行移动以尝试和使得在AR应用中呈现的“球”掉落到桌子2505的指定边缘。换句话说,桌子2505的一个边缘是一个玩家的“目标”,并且桌子2505的相反侧是另一个玩家的“目标”。
因此,给定在图25中示出的AR游戏的目的是将AR“球”推离桌子2505的边缘,那么由AR应用的第一实例2511和AR应用的第二实例2555利用的语义图包括桌子2505的边缘的稳定且一致的坐标是重要的。在某些实施例中,第一移动AR平台2501和第二移动AR平台2551可以各自利用表示桌子2505的顶部的几何图元(例如,有界平面或边界框)的坐标值来生成它们自身的稳定语义图。然而,在某些实施例中,如果AR应用的第一实例2511和AR应用的第二实例2555都基于相同的全局语义图(例如,图21中的全局语义图2110)将“球”定位在其AR显示中,则可以改善通过AR应用提供的AR体验。这是因为,通过基于单个语义图来定位AR内容,避免了由于每个设备的世界理解不一致而导致的游戏性误差的风险。换句话说,由于由设备使用的语义图的不同,AR应用的第一实例2511将“球”2515示出为越过桌子2505的边缘,而第二实例2555将“球”2560示出为仍在玩的情况不会发生。
图26示出了根据本公开的各种实施例的用于在低功率移动设备上执行CMOS辅助内向外DVS跟踪的方法2600的一个示例的操作。虽然流程图描绘了一系列顺序步骤,但是除非明确写明,否则不应该从关于执行的特定次序、步骤或其部分逐次(而不是同时)或以重叠的方式的执行、或在没有出现居间步骤或中间步骤的情况下排他地描绘的步骤的执行的该顺序得出推论。在所描绘的示例中描绘的过程由例如移动设备(即,移动平台)中的处理器电路实施。
参考图26的示例,在方法2600的操作2605,低功率移动设备(例如,图1中的设备100、或图3中的AR平台305)的处理组件(例如,图5中的混合特征处理机515)接收动态视觉传感器(例如,DVS 400)的输出,其中DVS被配置为输出传感器事件数据的异步流(例如,图4中的异步事件流430)。
根据各种实施例,在操作2610,(由例如图5中的混合特征处理机515)接收CMOS图像传感器(例如,图1中的相机186或图14中的CMOS 1415)的输出。在根据本公开的一些实施例中,CMOS图像传感器的输出包括图像数据的帧(例如,图6中的帧620)。
在一些实施例中,在操作2615,低功率AR平台或其混合特征处理机(例如,图6中的混合特征处理机600)基于DVS传感器或CMOS图像传感器中的一个或多个的输出来确定跟踪的特征。根据某些实施例,跟踪的特征可以是已经针对时间对准和空间对准而校正的DVS特征跟踪(例如,DVS特征跟踪635)。在一些实施例中,跟踪的特征是CMOS传感器特征跟踪(例如,图6中的CMOS传感器特征跟踪640)。在根据本公开的各种实施例中,跟踪的特征是基于DVS传感器和CMOS传感器数据的混合特征跟踪(例如,图6中的混合特征跟踪650)。
如图26的非限制性示例所示,在操作2620,将跟踪的特征提供给视觉惯性SLAM管线(例如,用于执行内向外设备跟踪的、图6中的视觉惯性SLAM管线660或图14中的视觉惯性SLAM管线1430)。
根据某些实施例,在方法2600的操作2625,低功率移动平台或其组件(例如,图7中的传感器控制器和调度器700)基于一个或多个CMOS控制因子(例如,图8中的P(CMOS)825的当前值)来关闭CMOS图像传感器。
图27示出了根据本公开的某些实施例的用于在低功率移动设备上执行CMOS辅助内向外DVS跟踪的方法的操作。虽然流程图描绘了一系列顺序步骤,但是除非明确写明,否则不应该从关于执行的特定次序、步骤或其部分逐次(而不是同时)或以重叠的方式的执行、或在没有出现居间步骤或中间步骤的情况下排他地描绘的步骤的执行的该顺序得出推论。在所描绘的示例中描绘的过程由例如移动设备中的处理器电路实施。除了另一种方法(例如,图26中用于执行CMOS辅助DVS跟踪的方法2600)的操作之外,还可以在一些实施例中执行参考图27描述的操作。在某些实施例中,可以作为用于执行CMOS辅助DVS跟踪的其他方法的操作的一部分或代替该操作执行参考图27描述的操作。
在图27中示出的示例中,在操作2705,低功率移动AR平台(例如,图1中的设备100、或图9中的低功率移动平台900)或其组件(例如,图5中的混合特征处理机515)将(多个)DVS传感器和CMOS图像传感器的输出对准以及转换(例如,通过传递特征跟踪通过执行图6中的空间对准655的时间对准阶段645)为公共表示(例如,图6中的混合特征跟踪650)。根据各种实施例,在操作2705生成的公共表示将CMOS图像数据和DVS事件帧对准以及缩放为公共分辨率和纵横比。
根据某些实施例,在操作2710,装置(例如,图10中的低功率移动平台1000)响应于跟踪精度置信度值的当前值(例如c,如参考图7中的传感器控制器和调度器700所述的)下降到阈值以下而关闭CMOS图像传感器。
图28示出了根据本公开的一些实施例的用于基于视觉惯性SLAM来执行内向外设备跟踪的方法2800的示例的操作。虽然流程图描绘了一系列顺序步骤,但是除非明确写明,否则不应该从关于执行的特定次序、步骤或其部分逐次(而不是同时)或以重叠的方式的执行、或在没有出现居间步骤或中间步骤的情况下排他地描绘的步骤的执行的该顺序得出推论。在所描绘的示例中描绘的过程由例如移动设备中的处理器电路实施。
参考图28的示例,在方法2800的操作2805,无束缚的移动AR平台(例如,图13A中的移动平台1300)或其组件(例如,图11中的事件帧合成管线1135或图12中的事件帧合成管线1200)在滑动时间窗口上累积DVS传感器事件(例如,在图12中的运动补偿、累积和滤波模块1230中),其中滑动时间窗口包括也在其上收集IMU传感器数据的预定间隔。
根据某些实施例,在操作2810,移动平台将运动校正(例如,由运动补偿、累积和滤波模块1230应用的运动校正)应用于累积的DVS传感器输出。在一些实施例中,运动校正包括应用于DVS传感器事件和IMU数据的同步数据包(例如,由图12中的同步DVS事件-IMU数据包生成器1220生成的数据包)的单应变换。
如图28的非限制性示例所示,在操作2815,移动平台或其组件(例如,图12中的运动补偿、累积和滤波模块1230)生成事件帧直方图DVS传感器事件,其基于滑动时间窗口上的DVS传感器事件的运动校正的结果。根据各种实施例,基于与事件帧直方图中的锐边的出现相关联的传感器事件的目标数量来选择滑动时间窗口。在一些实施例中,将噪声滤波应用于事件帧直方图以进一步锐化事件帧直方图中的特征。
在根据本公开的一些实施例中,在操作2820,将事件帧直方图和IMU数据提供给视觉惯性SLAM管线(例如,图12中的视觉惯性SLAM管线1215)。根据各种实施例,通过例如将事件帧直方图提供给事件帧缓冲器(例如,图12中的事件帧缓冲器1235)以随后由视觉惯性SLAM管线从缓冲器取出,将事件帧直方图间接地提供给视觉惯性SLAM管线。
图29示出了根据本公开的一些实施例的用于基于视觉惯性SLAM来执行内向外设备跟踪的方法的操作。虽然流程图描绘了一系列顺序步骤,但是除非明确写明,否则不应该从关于执行的特定次序、步骤或其部分逐次(而不是同时)或以重叠的方式的执行、或在没有出现居间步骤或中间步骤的情况下排他地描绘的步骤的执行的该顺序得出推论。在所描绘的示例中描绘的过程由例如移动设备中的处理器电路实施。除了另一种方法(例如,图28中用于基于视觉惯性SLAM来执行内向外设备跟踪的方法2800)的操作之外,还可以在一些实施例中执行参考图29描述的操作。在某些实施例中,可以作为用于基于视觉惯性SLAM来执行内向外设备跟踪的其他方法的操作的一部分或代替该操作执行参考图29描述的操作。
参考图29的示例,在操作2905,移动平台(例如,图13A中的移动平台1350)基于来自第一DVS(例如,图13A中的第一DVS 1365)的DVS传感器事件的事件帧直方图(例如,由图12中的事件帧合成管线1200产生的事件帧直方图)或来自第二DVS(例如,图13A中的第三DVS 1375)的DVS传感器事件的事件帧直方图中的至少一个在第一视场(例如,图13A中的第一DVS 1365和第三DVS 1375之间的重叠的区域)中检测(例如,通过识别和发起对其的跟踪)特征(例如,特征1380)。
根据某些实施例,在操作2910,移动平台在第二视场中继续跟踪特征而无需重新检测特征。
图30示出了根据本公开的一些实施例的用于更新稳定语义图的方法3000的一个示例的操作。虽然流程图描绘了一系列顺序步骤,但是除非明确写明,否则不应该从关于执行的特定次序、步骤或其部分逐次(而不是同时)或以重叠的方式的执行、或在没有出现居间步骤或中间步骤的情况下排他地描绘的步骤的执行的该顺序得出推论。在所描绘的示例中描绘的过程由例如移动设备中的处理器电路实施。
参考图30的示例,在方法3000的操作3005,移动AR平台(例如,图25中的第一移动AR平台2501)生成带时间戳的帧(例如,图15中的带时间戳的帧1515)的语义分割(例如,图16中的语义分割数据1625),其中带时间戳的帧基于CMOS图像传感器的输出(例如,图15中的CMOS图像数据1510的带时间戳的帧)或合成事件帧(例如,图15中的DVS传感器事件帧1505)中的一个或多个,其中该合成事件帧基于时间间隔内的DVS传感器和IMU传感器的输出。根据各种实施例,通过传递带时间戳的帧通过卷积神经网络以将语义标签与帧的像素关联,生成带时间戳的帧的语义分割。
根据各种实施例,在操作3010,至少部分地基于语义分割来生成简化对象表示。例如,在某些实施例中,简化对象表示基于语义分割通过结构分类和简化管线(例如,图14中的结构分类和简化管线1450)到点云(例如,如图16所示)上的投影。
如图30的解释性示例所示,在操作3015,基于简化对象表示来更新稳定语义图(例如,图18中的稳定语义图1815)。根据一些实施例,通过传递简化对象表示通过融合模块(例如,图14中的融合模块1455)以跨与不同时间点相关联的简化对象表示“平滑”或“平静”瞬时变化和其他噪声来执行更新稳定语义图。
图31示出了根据本发明的一些实施例的用于组合局部语义图作为更新全局语义图的更大过程的一部分的方法3100的一个示例的操作。虽然流程图描绘了一系列顺序步骤,但是除非明确写明,否则不应该从关于执行的特定次序、步骤或其部分逐次(而不是同时)或以重叠的方式的执行、或在没有出现居间步骤或中间步骤的情况下排他地描绘的步骤的执行的该顺序得出推论。在所描绘的示例中描绘的过程由例如服务器或电子设备中的处理器电路实施。
参考图31的示例,在操作3105,主平台(例如,图21中的主平台2105或图2中的服务器200)从第一设备(例如,图21中的移动AR平台2150a)接收与图像传感器(例如,图10中的CMOS图像传感器1010)相关联的第一姿态数据、以及与公共时间间隔(例如,在图19C中示出的结构分类和简化管线的瞬时输出)相关联并在第一设备的坐标空间中包括至少一个简化对象表示(例如,图19C中的边界框1925d)的第一语义图。
根据某些实施例,在操作3110,主平台从第二设备(例如,图25中的第二移动AR平台2551)接收第二姿态数据和与公共时间间隔相关联的第二语义图,其中第二语义图在第二设备的坐标空间中包括至少一个简化对象表示(例如,几何图元)。
如图31的说明性示例所示,在操作3115,主平台标识第一语义图和第二语义图共有的共享的简化对象表示(或在某些情况下,标识其一部分,诸如几何图元的共享边缘或角)。根据各种实施例,作为设备分组操作(例如,图21中的设备分组2115)的一部分来执行共享的简化对象表示的标识。
参考图31的非限制性示例,在操作3120,基于第一姿态数据和第二姿态数据来组合第一语义图和第二语义图。根据某些实施例,作为图优化操作(例如,图21中的图优化2120)的一部分执行组合第一语义地图和第二语义地图,以将第一语义地图和第二语义地图中的每一个从其局部坐标系变换为由全局语义图使用的全局坐标系。
本申请中的描述都不应该被解读为暗示任何特定元素、步骤或功能是必须被包括在权利要求范围中的必要元素。专利主题的范围仅由权利要求限定。

Claims (13)

1.一种装置,包括:
动态视觉传感器,被配置为输出传感器事件数据的异步流;
互补金属氧化物半导体图像传感器,被配置为输出图像数据的帧;
混合特征处理机,被配置为接收动态视觉传感器输出或互补金属氧化物半导体图像传感器输出中的一个或多个作为输入,并将跟踪的特征提供给执行内向外设备跟踪的视觉惯性同时定位和绘图管线;
传感器调度器,被配置为基于一个或多个互补金属氧化物半导体控制因子的当前值来关闭所述互补金属氧化物半导体图像传感器,
其中,所述互补金属氧化物半导体控制因子是跟踪精度置信度值的当前值,所述跟踪精度置信度值的当前值基于将所述一个或多个互补金属氧化物半导体控制因子的向量表示应用于预测模型来确定。
2.根据权利要求1所述的装置,其中,所述混合特征处理机被配置为将动态视觉传感器输出和互补金属氧化物半导体图像传感器输出对准以及转换为公共表示。
3.根据权利要求1所述的装置,其中,所述一个或多个互补金属氧化物半导体控制因子包括以下中的一个或多个:剩余电池电量的当前值、所述装置的功率预算、特征跟踪的稳健性的表示的当前值、跟踪精度置信度值的当前值、初始化状态或操作模式。
4.根据权利要求1所述的装置,其中,所述预测模型基于来自所述视觉惯性同时定位和绘图管线的内向外跟踪输出与基于外向内跟踪测量的地面真值的比较进行训练,并且所述预测模型预测来自所述视觉惯性同时定位和绘图管线的内向外跟踪输出之间相对于所述地面真值的相对误差。
5.根据权利要求1所述的装置,其中,所述互补金属氧化物半导体图像传感器响应于所述跟踪精度置信度值的当前值下降到阈值以下而关闭。
6.根据权利要求5所述的装置,其中,所述阈值基于所述装置的功耗历史或功率预算中的一个或多个进行调整。
7.一种方法,包括:
在装置的混合特征处理机处接收被配置为输出传感器事件数据的异步流的动态视觉传感器的输出;
在所述混合特征处理机处接收互补金属氧化物半导体图像传感器的输出,所述互补金属氧化物半导体图像传感器被配置为输出图像数据的帧;
由所述混合特征处理机基于所述动态视觉传感器的输出或所述互补金属氧化物半导体图像传感器的输出中的一个或多个来确定跟踪的特征;
将所述跟踪的特征提供给执行内向外设备跟踪的视觉惯性同时定位和绘图管线;以及
由传感器调度器基于一个或多个互补金属氧化物半导体控制因子的当前值来关闭所述互补金属氧化物半导体图像传感器,
其中,所述互补金属氧化物半导体控制因子是跟踪精度置信度值的当前值,所述跟踪精度置信度值的当前值基于将所述一个或多个互补金属氧化物半导体控制因子的向量表示应用于预测模型来确定。
8.根据权利要求7所述的方法,还包括:
由所述混合特征处理机将所述动态视觉传感器的输出和所述互补金属氧化物半导体图像传感器的输出对准以及转换为公共表示。
9.根据权利要求7所述的方法,其中,所述一个或多个互补金属氧化物半导体控制因子包括以下中的一个或多个:剩余电池电量的当前值、所述装置的功率预算、特征跟踪的稳健性的表示的当前值、跟踪精度置信度值的当前值、初始化状态或操作模式。
10.一种包括程序代码的计算机可读介质,所述程序代码在由处理器运行时使得装置执行权利要求7至9中的任一项。
11.一种用于基于视觉惯性同时定位和绘图来执行内向外设备跟踪的无束缚的装置,包括:
动态视觉传感器,被配置为输出来自第一视场内的传感器事件数据的异步流;
惯性测量单元传感器,被配置为以预定间隔收集与所述装置的运动相关联的惯性测量单元数据;
处理器;以及
存储器,包含指令,所述指令在由所述处理器执行时使得所述装置:
在滑动时间窗口上累积动态视觉传感器输出,所述滑动时间窗口包括所述预定间隔,
将运动校正应用于累积的动态视觉传感器输出,所述运动校正基于在所述预定间隔内收集的惯性测量单元数据,
基于所述运动校正来生成动态视觉传感器事件的事件帧直方图,以及
将所述动态视觉传感器事件的事件帧直方图以及所述惯性测量单元数据提供给视觉惯性同时定位和绘图管线。
12.根据权利要求11所述的装置,还包括:
第二动态视觉传感器,被配置为输出来自第二视场内的传感器事件数据的第二异步流,
其中,所述第二视场的一部分与所述第一视场重叠。
13.根据权利要求12所述的装置,其中,所述存储器包含指令,所述指令在由所述处理器运行时使得所述装置:
在第二滑动时间窗口上累积来自所述第二动态视觉传感器的第二动态视觉传感器事件作为第二动态视觉传感器输出,所述第二滑动时间窗口包括所述预定间隔,
将第二运动校正应用于累积的第二动态视觉传感器输出,所述运动校正基于在所述预定间隔内收集的惯性测量单元数据,
基于所述运动校正来生成所述第二动态视觉传感器事件的第二事件帧直方图,以及
将所述动态视觉传感器事件的第二事件帧直方图以及所述惯性测量单元数据提供给所述视觉惯性同时定位和绘图管线。
CN201980033191.2A 2018-05-18 2019-05-20 用于低功率移动平台的cmos辅助内向外动态视觉传感器跟踪 Active CN112189335B (zh)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201862673402P 2018-05-18 2018-05-18
US201862673771P 2018-05-18 2018-05-18
US62/673,402 2018-05-18
US62/673,771 2018-05-18
US201862678071P 2018-05-30 2018-05-30
US62/678,071 2018-05-30
US201862698740P 2018-07-16 2018-07-16
US62/698,740 2018-07-16
US16/415,813 2019-05-17
US16/415,813 US11202006B2 (en) 2018-05-18 2019-05-17 CMOS-assisted inside-out dynamic vision sensor tracking for low power mobile platforms
PCT/KR2019/006016 WO2019221580A1 (en) 2018-05-18 2019-05-20 Cmos-assisted inside-out dynamic vision sensor tracking for low power mobile platforms

Publications (2)

Publication Number Publication Date
CN112189335A CN112189335A (zh) 2021-01-05
CN112189335B true CN112189335B (zh) 2023-05-23

Family

ID=68533261

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980033191.2A Active CN112189335B (zh) 2018-05-18 2019-05-20 用于低功率移动平台的cmos辅助内向外动态视觉传感器跟踪

Country Status (4)

Country Link
US (4) US10812711B2 (zh)
EP (2) EP3782362A4 (zh)
CN (1) CN112189335B (zh)
WO (2) WO2019221582A1 (zh)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116778368A (zh) 2018-06-25 2023-09-19 苹果公司 使用语义分割的平面检测
US10824864B2 (en) 2018-06-25 2020-11-03 Apple Inc. Plane detection using semantic segmentation
US10957112B2 (en) 2018-08-13 2021-03-23 Magic Leap, Inc. Cross reality system
US11227435B2 (en) 2018-08-13 2022-01-18 Magic Leap, Inc. Cross reality system
RU2698402C1 (ru) * 2018-08-30 2019-08-26 Самсунг Электроникс Ко., Лтд. Способ обучения сверточной нейронной сети для восстановления изображения и система для формирования карты глубины изображения (варианты)
US11818475B2 (en) * 2018-09-28 2023-11-14 Sony Corporation Data processing device, data processing method, and program
WO2020072985A1 (en) 2018-10-05 2020-04-09 Magic Leap, Inc. Rendering location specific virtual content in any location
WO2020101895A1 (en) 2018-11-12 2020-05-22 Magic Leap, Inc. Event-based camera with high-resolution frame output
US11985440B2 (en) 2018-11-12 2024-05-14 Magic Leap, Inc. Depth based dynamic vision sensor
US11902677B2 (en) 2018-11-12 2024-02-13 Magic Leap, Inc. Patch tracking image sensor
CN110139041B (zh) * 2018-11-19 2021-09-28 魔门塔(苏州)科技有限公司 远程多传感信号同步采集方法
CN109729277B (zh) * 2018-11-19 2021-10-01 魔门塔(苏州)科技有限公司 多传感器采集时间戳同步装置
CN113678435A (zh) 2019-02-07 2021-11-19 奇跃公司 具有高时间分辨率的轻型低功耗交叉现实设备
WO2020163662A1 (en) 2019-02-07 2020-08-13 Magic Leap, Inc. Lightweight cross reality device with passive depth extraction
JP2020136958A (ja) * 2019-02-21 2020-08-31 ソニーセミコンダクタソリューションズ株式会社 イベント信号検出センサ及び制御方法
PH12019050076A1 (en) * 2019-05-06 2020-12-02 Samsung Electronics Co Ltd Enhancing device geolocation using 3d map data
CN110296717B (zh) * 2019-06-21 2020-08-28 上海芯仑光电科技有限公司 一种事件数据流的处理方法及计算设备
US11698674B2 (en) 2019-09-09 2023-07-11 Apple Inc. Multimodal inputs for computer-generated reality
CN114616534A (zh) 2019-10-15 2022-06-10 奇跃公司 具有无线指纹的交叉现实系统
CN114600064A (zh) 2019-10-15 2022-06-07 奇跃公司 具有定位服务的交叉现实系统
EP4052086A4 (en) * 2019-10-31 2023-11-15 Magic Leap, Inc. EXTENDED REALITY SYSTEM PROVIDING QUALITY INFORMATION ABOUT PERSISTENT COORDINATE FRAMES
JP2023504775A (ja) 2019-11-12 2023-02-07 マジック リープ, インコーポレイテッド 位置特定サービスおよび共有場所ベースのコンテンツを伴うクロスリアリティシステム
CN114730482A (zh) * 2019-11-27 2022-07-08 Oppo广东移动通信有限公司 关联多人增强现实系统中的设备坐标系
CN114730212A (zh) * 2019-12-05 2022-07-08 Oppo广东移动通信有限公司 用于关联多人ar系统中的设备坐标系的方法和系统
WO2021118962A1 (en) 2019-12-09 2021-06-17 Magic Leap, Inc. Cross reality system with simplified programming of virtual content
US11816757B1 (en) * 2019-12-11 2023-11-14 Meta Platforms Technologies, Llc Device-side capture of data representative of an artificial reality environment
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
US20210185266A1 (en) * 2019-12-13 2021-06-17 Sony Semiconductor Solutions Corporation Methods and systems of low power facial recognition
US11074701B2 (en) 2019-12-13 2021-07-27 Reconstruct Inc. Interior photographic documentation of architectural and industrial environments using 360 panoramic videos
US20230033951A1 (en) * 2019-12-17 2023-02-02 Telefonaktiebolaget Lm Ericsson (Publ) Controlling sensor activation and deactivation for energy efficient localization
CN111083402B (zh) * 2019-12-24 2020-12-01 清华大学 双模态仿生视觉传感器
US11100702B2 (en) 2019-12-27 2021-08-24 Industrial Technology Research Institute 3D image labeling method based on labeling information of 2D image and 3D image labeling device
US11340696B2 (en) * 2020-01-13 2022-05-24 Sony Interactive Entertainment Inc. Event driven sensor (EDS) tracking of light emitting diode (LED) array
CA3166706A1 (en) * 2020-02-07 2021-08-12 Telefonaktiebolaget Lm Ericsson (Publ) Monocular camera activation for localization based on data from depth sensor
WO2021162769A1 (en) 2020-02-10 2021-08-19 Magic Leap, Inc. Body-centric content positioning relative to three-dimensional container in a mixed reality environment
EP4103910A4 (en) 2020-02-13 2024-03-06 Magic Leap, Inc. CROSS-REALLY SYSTEM WITH ACCURATE COMMON MAPS
CN115398484A (zh) 2020-02-13 2022-11-25 奇跃公司 具有用于定位的地理定位信息优先级的交叉现实系统
US11562525B2 (en) 2020-02-13 2023-01-24 Magic Leap, Inc. Cross reality system with map processing using multi-resolution frame descriptors
US11551430B2 (en) 2020-02-26 2023-01-10 Magic Leap, Inc. Cross reality system with fast localization
GB2592683A (en) * 2020-03-06 2021-09-08 Sony Corp A device, computer program and method
WO2021180294A1 (en) * 2020-03-09 2021-09-16 Huawei Technologies Co., Ltd. Imaging device and method for efficient capture of stationary objects
US11900547B2 (en) 2020-04-29 2024-02-13 Magic Leap, Inc. Cross reality system for large scale environments
CN113727079B (zh) * 2020-05-25 2023-03-31 华为技术有限公司 一种图像信号处理方法及装置、电子设备
US11374808B2 (en) 2020-05-29 2022-06-28 Corning Research & Development Corporation Automated logging of patching operations via mixed reality based labeling
US11295135B2 (en) * 2020-05-29 2022-04-05 Corning Research & Development Corporation Asset tracking of communication equipment via mixed reality based labeling
CN111685724B (zh) * 2020-06-09 2023-06-23 广东小天才科技有限公司 眼动检测方法、装置、设备及存储介质
CN111696044B (zh) * 2020-06-16 2022-06-10 清华大学 一种大场景动态视觉观测方法及装置
JPWO2022019049A1 (zh) * 2020-07-20 2022-01-27
WO2022031833A1 (en) 2020-08-04 2022-02-10 Arch Systems Inc. Methods and systems for predictive analysis and/or process control
TW202213978A (zh) * 2020-09-28 2022-04-01 大陸商廣州印芯半導體技術有限公司 影像感測裝置以及影像感測方法
CN112200757A (zh) * 2020-09-29 2021-01-08 北京灵汐科技有限公司 图像处理方法、装置、计算机设备及存储介质
CN112308810B (zh) * 2020-11-05 2022-05-13 广州小鹏自动驾驶科技有限公司 一种地图融合的方法及装置、服务器、存储介质
JP7280860B2 (ja) * 2020-11-17 2023-05-24 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、システム、情報処理方法および情報処理プログラム
US20220159174A1 (en) * 2020-11-18 2022-05-19 Samsung Electronics Co., Ltd. Method of controlling electronic device by recognizing movement in peripheral zone of field of view of camera, and electronic device therefor
KR20220076943A (ko) 2020-12-01 2022-06-08 삼성전자주식회사 비전 센서, 이를 포함하는 이미지 처리 장치 및 비전 센서의 동작 방법
KR20220076944A (ko) * 2020-12-01 2022-06-08 삼성전자주식회사 비전 센서, 이를 포함하는 이미지 처리 장치 및 비전 센서의 동작 방법
FR3116977B1 (fr) * 2020-12-02 2023-11-17 Commissariat Energie Atomique Dispositif de compensation du mouvement d’un capteur événementiel, systèmes et procédés associés
CN112714301B (zh) * 2020-12-21 2023-07-21 北京灵汐科技有限公司 双模态图像信号处理器和图像传感器
CN112529016A (zh) * 2020-12-21 2021-03-19 浙江欣奕华智能科技有限公司 一种图像中特征点的提取方法及提取装置
EP4024005A1 (en) * 2021-01-04 2022-07-06 Aptiv Technologies Limited Method, device, and computer program for determining the change in position and/or orientation of the mobile apparatus
CN112800860B (zh) * 2021-01-08 2023-10-17 中电海康集团有限公司 一种事件相机和视觉相机协同的高速抛撒物检测方法和系统
CN113190022A (zh) * 2021-03-18 2021-07-30 浙江大学 一种基于视觉slam的水下有缆机器人定位系统及其方法
CN113160401B (zh) * 2021-03-29 2023-11-17 东北大学 一种面向物体的视觉slam轻量化语义地图创建方法
CN117136550A (zh) 2021-04-09 2023-11-28 索尼半导体解决方案公司 信息处理装置和信息处理方法
US12022358B2 (en) * 2021-04-13 2024-06-25 Qualcomm Incorporated Self-supervised passive positioning using wireless data
CN113223045B (zh) * 2021-05-19 2024-06-11 北京数研科技发展有限公司 基于动态物体语义分割的视觉与imu传感器融合定位系统
KR20230018044A (ko) * 2021-07-29 2023-02-07 삼성전자주식회사 다이나믹 비전 센서의 시간 지연을 보상하기 위한 전자 장치
US20230042364A1 (en) * 2021-08-05 2023-02-09 Omnivision Technologies, Inc. Image processing method and apparatus implementing the same
WO2023186544A1 (en) * 2022-03-31 2023-10-05 Sony Semiconductor Solutions Corporation Improving vision pipeline robustness with metadata
WO2024004519A1 (ja) * 2022-06-28 2024-01-04 ソニーセミコンダクタソリューションズ株式会社 情報処理装置及び情報処理方法
US20240054730A1 (en) * 2022-08-15 2024-02-15 Zebra Technologies Corporation Phased Capture Assessment and Feedback for Mobile Dimensioning
CN115598025B (zh) * 2022-12-13 2023-03-10 四川亿欣新材料有限公司 图像处理方法及使用该方法的碳酸钙粉质检系统
CN117710710A (zh) * 2024-02-06 2024-03-15 湖南善禧文化股份有限公司 一种深度语义理解的图像匹配方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102656558A (zh) * 2010-10-21 2012-09-05 英特尔公司 虚拟化移动平台中的细粒度的功率管理
CN105049682A (zh) * 2014-04-18 2015-11-11 三星电机株式会社 数字照相系统及用于控制该数字照相系统的方法
CN106062821A (zh) * 2014-03-14 2016-10-26 高通股份有限公司 用于不受限制的slam的基于传感器的相机运动检测
CN107255476A (zh) * 2017-07-06 2017-10-17 青岛海通胜行智能科技有限公司 一种基于惯性数据和视觉特征的室内定位方法和装置

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9674436B2 (en) * 2012-06-18 2017-06-06 Microsoft Technology Licensing, Llc Selective imaging zones of an imaging sensor
KR101925412B1 (ko) * 2012-07-03 2018-12-05 삼성전자주식회사 휴대 단말기의 슬립 모드 제어 방법 및 장치
KR101887988B1 (ko) 2012-07-03 2018-08-14 삼성전자 주식회사 이미지 센서 칩, 이의 동작 방법, 및 이를 포함하는 시스템
US9934611B2 (en) * 2013-09-11 2018-04-03 Qualcomm Incorporated Structural modeling using depth sensors
US20150193971A1 (en) * 2014-01-03 2015-07-09 Motorola Mobility Llc Methods and Systems for Generating a Map including Sparse and Dense Mapping Information
US9560273B2 (en) * 2014-02-21 2017-01-31 Apple Inc. Wearable information system having at least one camera
US9436872B2 (en) 2014-02-24 2016-09-06 Hong Kong Applied Science and Technology Research Institute Company Limited System and method for detecting and tracking multiple parts of an object
US9699381B2 (en) 2014-04-18 2017-07-04 Samsung Electro-Mechanics Co., Ltd. Digital photographing motion compensation system and method
EP3198524B1 (en) 2014-09-22 2023-05-10 Sikorsky Aircraft Corporation Context-based autonomous perception
US20160093273A1 (en) 2014-09-30 2016-03-31 Samsung Electronics Co., Ltd. Dynamic vision sensor with shared pixels and time division multiplexing for higher spatial resolution and better linear separable data
US10726593B2 (en) 2015-09-22 2020-07-28 Fyusion, Inc. Artificially rendering images using viewpoint interpolation and extrapolation
US9952652B2 (en) * 2014-12-04 2018-04-24 Htc Corporation Virtual reality system and method for controlling operation modes of virtual reality system
CN104714650B (zh) 2015-04-02 2017-11-24 三星电子(中国)研发中心 一种信息输入方法和装置
JP2018515197A (ja) 2015-04-29 2018-06-14 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft 腹腔鏡および内視鏡による2d/2.5d画像データにおけるセマンティックセグメンテーションのための方法およびシステム
KR102457724B1 (ko) 2015-09-22 2022-10-24 삼성전자주식회사 영상 처리를 수행하기 위한 방법 및 그 전자 장치
KR102216505B1 (ko) 2015-10-14 2021-02-17 삼성전기주식회사 안면 추적 카메라 모듈 및 방법
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
US10908694B2 (en) * 2016-02-01 2021-02-02 Microsoft Technology Licensing, Llc Object motion tracking with remote device
GB2554633B (en) * 2016-06-24 2020-01-22 Imperial College Sci Tech & Medicine Detecting objects in video data
US10110913B2 (en) 2016-09-30 2018-10-23 Intel Corporation Motion estimation using hybrid video imaging system
US10510160B2 (en) 2016-12-20 2019-12-17 Samsung Electronics Co., Ltd. Multiscale weighted matching and sensor fusion for dynamic vision sensor tracking
US10235565B2 (en) * 2016-12-21 2019-03-19 Volkswagen Ag System and methodologies for occupant monitoring utilizing digital neuromorphic (NM) data and fovea tracking
US10757328B2 (en) * 2016-12-23 2020-08-25 Microsoft Technology Licensing, Llc Eye tracking using video information and electrooculography information
US10445928B2 (en) * 2017-02-11 2019-10-15 Vayavision Ltd. Method and system for generating multidimensional maps of a scene using a plurality of sensors of various types
CN110463165B (zh) * 2017-03-27 2022-05-17 索尼公司 信息处理装置、信息处理方法和记录介质
EP3451288A1 (en) 2017-09-04 2019-03-06 Universität Zürich Visual-inertial odometry with an event camera
US11379996B2 (en) 2017-11-14 2022-07-05 Apple Inc. Deformable object tracking
US10685446B2 (en) * 2018-01-12 2020-06-16 Intel Corporation Method and system of recurrent semantic segmentation for image processing
US10554886B2 (en) * 2018-05-18 2020-02-04 Valve Corporation Power management for optical position tracking devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102656558A (zh) * 2010-10-21 2012-09-05 英特尔公司 虚拟化移动平台中的细粒度的功率管理
CN106062821A (zh) * 2014-03-14 2016-10-26 高通股份有限公司 用于不受限制的slam的基于传感器的相机运动检测
CN105049682A (zh) * 2014-04-18 2015-11-11 三星电机株式会社 数字照相系统及用于控制该数字照相系统的方法
CN107255476A (zh) * 2017-07-06 2017-10-17 青岛海通胜行智能科技有限公司 一种基于惯性数据和视觉特征的室内定位方法和装置

Also Published As

Publication number Publication date
CN112189335A (zh) 2021-01-05
EP3750302A1 (en) 2020-12-16
WO2019221580A1 (en) 2019-11-21
US20200404177A1 (en) 2020-12-24
US20210075964A1 (en) 2021-03-11
WO2019221582A1 (en) 2019-11-21
EP3750302A4 (en) 2021-06-30
US20190355169A1 (en) 2019-11-21
US11558551B2 (en) 2023-01-17
EP3782362A1 (en) 2021-02-24
US11381741B2 (en) 2022-07-05
US10812711B2 (en) 2020-10-20
EP3782362A4 (en) 2021-06-23
US20190356849A1 (en) 2019-11-21
US11202006B2 (en) 2021-12-14

Similar Documents

Publication Publication Date Title
CN112189335B (zh) 用于低功率移动平台的cmos辅助内向外动态视觉传感器跟踪
US10360732B2 (en) Method and system of determining object positions for image processing using wireless network angle of transmission
US11238606B2 (en) Method and system for performing simultaneous localization and mapping using convolutional image transformation
US10055013B2 (en) Dynamic object tracking for user interfaces
CA2940241C (en) Eye gaze tracking based upon adaptive homography mapping
US11854230B2 (en) Physical keyboard tracking
US11143879B2 (en) Semi-dense depth estimation from a dynamic vision sensor (DVS) stereo pair and a pulsed speckle pattern projector
US11375244B2 (en) Dynamic video encoding and view adaptation in wireless computing environments
US11600039B2 (en) Mechanism for improved light estimation
US11353955B1 (en) Systems and methods for using scene understanding for calibrating eye tracking
CN112889068A (zh) 用于图像处理的神经网络对象识别的方法和系统
WO2023279076A1 (en) Eye gaze classification
Yang et al. Visage: A face interpretation engine for smartphone applications
TW202309839A (zh) 基於事件映射的相機設置調整
US11272171B1 (en) Systems and methods for fallback tracking based on real-time tracking performance
US20230115371A1 (en) Efficient vision perception
CN115880348B (zh) 一种人脸深度的确定方法、电子设备及存储介质
WO2023059962A1 (en) Efficient vision perception

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