CN115280363A - 用相机阵列生成和/或使用3维信息的系统和方法 - Google Patents

用相机阵列生成和/或使用3维信息的系统和方法 Download PDF

Info

Publication number
CN115280363A
CN115280363A CN202080090311.5A CN202080090311A CN115280363A CN 115280363 A CN115280363 A CN 115280363A CN 202080090311 A CN202080090311 A CN 202080090311A CN 115280363 A CN115280363 A CN 115280363A
Authority
CN
China
Prior art keywords
cameras
voxel
scene
voxels
spectral data
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.)
Pending
Application number
CN202080090311.5A
Other languages
English (en)
Inventor
S.李
R.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.)
Prospect Machinery Pte Ltd
Original Assignee
Prospect Machinery Pte 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
Priority claimed from AU2019904127A external-priority patent/AU2019904127A0/en
Application filed by Prospect Machinery Pte Ltd filed Critical Prospect Machinery Pte Ltd
Publication of CN115280363A publication Critical patent/CN115280363A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/003Reconstruction from projections, e.g. tomography
    • G06T11/006Inverse problem, transformation from projection-space into object-space, e.g. transform methods, back-projection, algebraic methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/003Reconstruction from projections, e.g. tomography
    • G06T11/008Specific post-processing after tomographic reconstruction, e.g. voxelisation, metal artifact correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/16Image acquisition using multiple overlapping images; Image stitching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G01C11/02Picture taking arrangements specially adapted for photogrammetry or photographic surveying, e.g. controlling overlapping of pictures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01JMEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
    • G01J3/00Spectrometry; Spectrophotometry; Monochromators; Measuring colours
    • G01J3/28Investigating the spectrum
    • G01J3/2823Imaging spectrometer
    • G01J2003/2826Multispectral imaging, e.g. filter imaging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/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/10Image acquisition modality
    • G06T2207/10032Satellite or aerial image; Remote sensing
    • G06T2207/10036Multispectral image; Hyperspectral image
    • 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/30248Vehicle exterior or interior
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Remote Sensing (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本公开针对可用于使用至少部分地从相机阵列获得的数据来确定场景信息(例如,3D场景信息)的系统和/或方法。某些实施例可用于使用相机阵列创建深度的场景测量(以及该深度的准确性概率)。某些实施例的一个目的可以是确定场景的元素的深度,其中从可能正在穿过场景的相机阵列观察场景。某些实施例可用于确定开放的可导航空间,并计算可能占用该空间的部分的对象的轨迹。在某些实施例中,场景信息可用于生成体素的虚拟空间,其中该方法然后通过比较包括光谱响应在内的各种测量来确定体素空间的占用。

Description

用相机阵列生成和/或使用3维信息的系统和方法
交叉引用
本申请要求于2019年11月1日提交的题为“Systems and Methods for Generateand/or Using 3-Dimensional Information with Camera Arrays”的美国临时申请序列号62/929,336、以及于2019年11月1日提交的题为“Systems and Methods for Generateand/or Using 3-Dimensional Information with Camera Arrays”的澳大利亚临时申请号2019904127的优先权。这些申请中的每一个都通过引用整体并入本文。
技术领域
本公开一般涉及可用于使用至少部分地从相机阵列获得的数据来确定场景信息的设备、系统和/或方法。该场景信息可以是3D信息。
背景技术
计算上易于处理(tractable)的3D场景信息对于许多应用都很有用,例如,在传统道路和高速公路上安全自主驾驶车辆。
创建此类3D场景信息的一种方式是使用一个或多个激光器,潜在地会频闪(strobing)以覆盖3D空间,并测量接收反射激光脉冲的时间延迟-这种设备通常称为激光雷达(LiDAR)。该方案有许多缺点-很难在远距离上实现横向精度(角分辨率是固定的,因此误差会随着距离而增加),当环境中存在许多有源激光器时(常见的情况是交通充满了配备激光雷达的车辆),激光脉冲潜在地会干扰,返回的脉冲需要来自目标表面在响应方向上的合理反射率;并且雨、灰尘和雪通过潜在的多重反射使场景变得混乱而造成困难,并打破了光脉冲会沿直线行进到目标并返回的假设。此外,激光雷达不会捕获目标表面的视觉外观(通常包含在可见电磁光谱的红-绿-蓝(RGB)部分中),从而限制了一些处理和分析。
创建3D场景信息的另一种替代方式是使用雷达。然而,雷达的角分辨率比激光雷达更有限,并且反射更依赖于目标表面特性-(金属反射良好,但人体吸收雷达)。
通过适当的处理,可以使用光学相机系统来生成3D场景信息。捕获图像对的双目相机可用于基于双目视差导出3D场景信息,特别是深度信息。通常,双目视差方法匹配具有已知物理分离或基线的相机捕获的图像对中的局部区域。根据视差,可以基于光学(假设光沿直线行进)和几何原理来确定匹配区域的深度。双目视差方法在平原区域容易出错,在这些区域几乎没有或没有纹理可以在两个单独的视图之间进行准确匹配。双目视差还受到一些对象周围的模糊性的影响,其中部分场景被一个或两个相机遮挡。
现有技术中已知使用协同工作的多个相机以从不同位置查看场景的光学相机系统-这些系统通常简称为相机阵列。这些阵列从整个场景的不同方向/位置捕获一组2D图像。可以使用与双目相机相似的原理,基于来自相机阵列中不同相机的图像对之间匹配的局部区域的视差,来获得深度图。相机阵列系统的一种实现方式是微透镜阵列。这使用在直接位于图像传感器芯片顶部的固定网格中设置的小镜头的阵列。该系统结构紧凑,但相机对之间的基线必然受到微透镜阵列的尺寸和分辨率的限制,从而限制了深度和角度(空间)分辨率的精度。
本公开旨在克服和/或改进现有技术的至少一个或多个缺点,这将从本文的讨论中变得明显。本公开还提供如本文所讨论的其他优点和/或改进。
发明内容
本公开的某些实施例针对能够生成场景的3D表示的设备、系统和/或方法。某些实施例针对被配置为生成场景的3D表示的设备、系统和/或方法。
某些实施例针对能够生成场景的3D表示并重复该处理以便生成场景的3D视频数据流的设备、系统和/或方法。某些实施例针对被配置为生成场景的3D表示并重复该处理以便生成场景的3D视频数据流的设备、系统和/或方法。
某些实施例针对能够生成场景的3D表示、或者通过实时快速重复该处理来生成展开场景的3D视频数据流的设备、系统和/或方法。某些实施例针对被配置为生成场景的3D表示或通过实时快速重复该处理来生成展开场景的3D视频数据流的设备、系统和/或方法。
包括多个相机的相机阵列被引导到场景并且从相机阵列收集的信息至少部分地用于生成作为体素空间的场景模型。处理引擎可以接收来自一个或多个相机的光谱数据。处理引擎确定由体素表示的场景的一部分被表面物理占用的概率。体素被物理占用的概率基于由体素表示的场景的一部分包含从该体素向阵列中的相机反射光的表面的概率。由体素表示的场景的一部分包含可观察表面的概率的确定是通过评估来自相机阵列中的多个相机的光谱数据的一部分来确定的。
某些实施例针对通过从多个相机获得视觉空间的采样并将所得的3D视频流呈现为3D点云流来解决该问题的设备、系统和/或方法。
某些实施例针对一种用于使用相机阵列生成具有准确深度估计的三维视频流的系统,该系统包括:至少一个相机阵列,包括多个相机(至少4、5、6、8、10、12、14、16或多个相机),其中每个相机包括对电磁光谱敏感的传感器,并安装在阵列中大致固定且已知的位置(即,相对于其他相机);确保阵列中的每个相机与阵列中的其他相机同时(或基本同时)拍摄其帧的机制;以及图像处理系统,其从阵列中获取多个图像(或多个图像的大部分)并计算:对准每个图像(或图像的大部分)的标准化;包括3D场景(或3D场景的一部分)的一组体素;确定每个体素(或体素的大部分)在空间中特定3D位置处被占用的概率的体素深度计算;以及来自图像处理系统的输出,为场景逐帧产生3D深度图(或3D点云),该场景由颜色值和每个体素(或大部分体素)在特定位置被占用的概率组成。
在第一方面,本公开的某些实施例涉及一种能够产生体素空间的系统,包括:相机阵列;处理引擎,能够:接收从相机阵列收集的光谱数据;通过确定场景的一部分被表面占用的一个或多个概率,至少部分地使用收集到的光谱数据来生成体素空间;其中,体素空间代表物理空间。在某些实施例中,系统及其组件可以“配置为”而不是本段中使用的“能够”。
在第二方面,本公开的某些实施例涉及一种能够产生体素空间的系统,包括:由多个相机组成的相机阵列;所述多个相机包括能够从场景的两个或更多个视场收集光谱数据的两个或更多个相机;处理引擎,能够:接收从相机阵列收集的光谱数据;通过为多个体素中的一个或多个体素确定由一个或多个体素表示的场景的一部分被表面占用的一个或多个概率,至少部分地使用所收集的光谱数据来生成包括多个体素的体素空间;将场景的一部分聚合成多个场景,以生成体素空间;其中,体素空间代表至少部分地基于从两个或更多个视场收集的光谱数据的物理空间。
在某些实施例中,多个相机包括两个或更多个相机,它们能够从场景的三个或更多个视场、从场景的五个或更多个视场、或者从场景的十个或更多个视场收集光谱数据。在某些实施例中,多个相机包括能够从场景的五个或更多个视场、或者从场景的十个或更多个视场收集光谱数据的五个或更多个相机。在某些实施例中,系统及其组件可以“配置为”而不是本段中使用的“能够”。
在第三方面,本公开的某些实施例涉及一种能够产生多个体素的系统,包括:由多个相机组成的相机阵列;所述多个相机包括能够从场景的两个或更多个视场收集光谱数据的两个或更多个相机;处理引擎,能够:接收从相机阵列收集的光谱数据;通过为多个体素中的一个或多个体素确定由一个或多个体素表示的场景的一部分被表面占用的一个或多个概率,至少部分地使用收集的光谱数据来生成多个体素;将场景的一部分聚合成多个场景以生成多个体素;其中,所述多个体素代表至少部分地基于从所述两个或更多个视场收集的光谱数据的物理空间。
在某些实施例中,多个相机包括两个或更多个相机,它们能够从场景的三个或更多个视场、从场景的五个或更多个视场、或者从场景的十个或更多个视场收集光谱数据。在某些实施例中,多个相机包括能够从场景的五个或更多个视场、或者从场景的十个或更多个视场收集光谱数据的五个或更多个相机。在某些实施例中,系统及其组件可以“配置为”而不是本段中使用的“能够”。
某些实施例涉及一种能够产生体素空间的系统,包括:由多个相机组成的相机阵列;所述多个相机包括能够从两个或更多个视场收集光谱数据的两个或更多个相机;处理引擎,能够:从相机阵列接收光谱数据,并通过为多个体素中的一个或多个体素确定包括一个或多个透明度值并产生一个或多个光谱值的一个或多个光谱信号,至少部分地使用光谱数据,来生成多个体素;将一个或多个光谱值聚合成多个光谱信号以生成体素空间;其中,体素空间代表物理空间。在某些实施例中,多个相机包括两个或更多个相机,它们能够从场景的三个或更多个视场、从场景的五个或更多个视场、或者从场景的十个或更多个视场收集光谱数据。在某些实施例中,多个相机包括能够从场景的五个或更多个视场或者从场景的十个或更多个视场收集光谱数据的五个或更多个相机。在某些实施例中,系统及其组件可以“配置为”而不是本段中使用的“能够”。
某些实施例针对能够产生多个体素的系统,包括:由多个相机组成的相机阵列;所述多个相机包括能够从两个或更多个视场收集光谱数据的两个或更多个相机;处理引擎,能够:从相机阵列接收光谱数据,并通过为多个体素中的一个或多个体素确定包括一个或多个透明度值并产生一个或多个光谱值的一个或多个光谱信号,至少部分地使用光谱数据,来生成多个体素;将一个或多个光谱值聚合成多个光谱信号以生成多个体素;其中,多个体素代表物理空间。在某些实施例中,多个相机包括两个或更多个相机,它们能够从场景的三个或更多个视场、从场景的五个或更多个视场、或者从场景的十个或更多个视场收集光谱数据。在某些实施例中,多个相机包括能够从场景的五个或更多个视场、或者从场景的十个或更多个视场收集光谱数据的五个或更多个相机。在某些实施例中,系统及其组件可以“配置为”而不是本段中使用的“能够”。
某些实施例涉及一种能够产生体素空间的系统,包括:相机阵列,包括能够从视场收集光谱数据的多个相机,其中多个相机的视场至少部分重叠;处理设备,能够接收从相机阵列收集的光谱数据,处理设备能够将收集的光谱数据转换成包括多个体素的体素空间,并且处理设备能够为多个体素中的一个或多个体素确定包括透明度的光谱信号;其中,体素空间代表物理空间。在某些实施例中,系统及其组件可以“配置为”而不是本段中使用的“能够”。
某些实施例针对一种用于生成表示物理空间的场景的体素空间的方法,包括:布置由包括两个或更多个相机的多个相机组成的相机阵列,相机阵列的两个或更多个相机被配置为从物理空间的一个或多个视图收集光谱数据;使用相机阵列的多个相机从物理空间的一个或多个视图收集光谱数据,所收集的光谱数据是物理空间的两个或多个视场的光谱数据;将收集到的光谱数据从相机阵列传输到处理引擎,通过至少部分地使用收集的光谱数据来生成多个体素,通过为多个体素中的一个或多个体素确定所述一个或多个体素所标识的场景的一部分被表面占用的一个或多个概率,而在处理引擎中生成场景;以及将多个体素聚合到体素空间中;其中,场景的体素空间代表至少部分地基于从两个或更多个视场收集的光谱数据的物理空间。在某些实施例中,多个相机包括两个或更多个相机,它们能够从场景的三个或更多个视场、从场景的五个或更多个视场、或者从场景的十个或更多个视场收集光谱数据。在某些实施例中,多个相机包括能够从场景的五个或更多个视场、或者从场景的十个或更多个视场收集光谱数据的五个或更多个相机。在某些实施例中,该方法中使用的系统及其组件可以“配置为”而不是本段中使用的“能够”。
某些实施例涉及一种能够生成代表物理空间的三维流式体素空间的系统,包括:由多个相机组成的相机阵列;所述多个相机包括能够从场景的两个或更多个视场收集光谱数据的两个或更多个相机,其中至少一个相机安装在所述相机阵列内的已知位置;相机阵列被配置成使得至少第一相机收集至少第一组光谱数据,并且至少第二相机基本上同时收集至少第二组光谱数据;处理引擎,其能够:从相机阵列接收至少第一组光谱数据和至少第二组光谱数据;执行将至少第一组光谱数据和至少第二组光谱数据对准以产生至少一组对准的光谱数据的标准化;通过对于体素空间的一个或多个体素确定一个或多个体素包含表面的概率,至少部分地使用至少一组对准的光谱数据来生成至少一个体素空间;将至少一个体素空间聚合成多个体素空间,并使用多个体素空间生成三维流式体素空间;其中,三维流式体素空间是物理空间的逐帧三维表示。在某些实施例中,多个相机包括两个或更多个相机,它们能够从场景的三个或更多个视场、从场景的五个或更多个视场、或者从场景的十个或更多个视场收集光谱数据。在某些实施例中,多个相机包括能够从场景的五个或更多个视场、或者从场景的十个或更多个视场收集光谱数据的五个或更多个相机。在某些实施例中,系统及其组件可以“配置为”而不是本段中使用的“能够”。
本发明内容不旨在限制在此公开的实施例,并且在本说明书中公开了其他实施例。此外,一个实施例的限制可以与其他实施例的限制相结合以形成另外的实施例。
附图说明
图1是根据某些实施例的用于创建场景的3维表示的顶层系统图,包括相机阵列和处理引擎。
图2是根据某些实施例的在相机阵列中使用的相机的示意性组件图。
图3是根据某些实施例的由相机阵列观察到的示例性真实世界场景的图示,其示出了感兴趣的3D体积可以数字地表示为多个体素(即,“体素空间”)。
图4是根据某些实施例的体素空间中的体素/以及它们与来自相机阵列中的相机的图像的关系和/或到图像中的投影的图示。
图5是根据某些实施例的用于创建3维视频流的示例性方法的顶层流程图。
图6是根据某些实施例的示例性体素评估处理的流程图。
图7是根据某些实施例的3D点合并处理的流程图。
图8是根据某些实施例的体素、3D点云和聚合点云的图示。
图9是根据某些实施例的示例性车辆和可能的相机阵列配置的图示。
图10是根据某些实施例的进一步示例性相机配置的图示。
图11是根据某些实施例的示例性拜耳滤光器布置的图示。
图12是根据某些实施例的示例性相机阵列配置的图示。
图13示出了根据某些实施例的道路场景的模拟图像。
图14示出了根据某些实施例的道路场景的模拟图像。
具体实施方式
以下描述是关于可以共享共同特性和特征的若干实施例提供的。应当理解,一个实施例的一个或多个特征可以与其他实施例的一个或多个特征组合。此外,某些实施例中的单个特征或特征组合可以构成附加实施例。本文公开的具体结构和功能细节不应被解释为限制性的,而仅仅是作为教导本领域技术人员以各种方式采用所公开的实施例和这些实施例的变体的代表性基础。
包括详细描述中使用的主题词仅是为了便于读者参考,而不应用于限制在整个公开或权利要求中发现的主题。不应使用主题词来解释权利要求的范围或权利要求的限制。
本公开的某些实施例可用于许多领域。例如,以下非限制性示例性应用中的一种或多种:越野车辆(例如,汽车、公共汽车、摩托车、卡车、拖拉机、叉车、起重机、反铲挖掘机、推土机);道路车辆(例如汽车、公共汽车、摩托车、卡车);基于轨道的车辆(例如机车);空中交通工具(例如飞机、无人机);个人(例如,矿工、士兵、战士、飞行员)、两栖车辆(例如,船、汽车、公共汽车);和船只(例如,轮船、气垫船、潜艇。此外,非限制性示例性应用可以是操作员驱动的、半自主的和/或自主的。
术语“场景”是指通过以下方式感知的现实世界的子集:(1)视野和相机的分辨率以及与一个或多个相机相关联的相机成像系统;或(2)联合视场和多个相机的分辨率以及与一个或多个相机相关联的多个相机成像系统。在某些实施例中,相机可以包括1、2、3或4个镜头。在某些实施例中,相机可以包括至少1、2、3或4个镜头。在某些实施例中,相机可以包括1到4个镜头。在某些实施例中,相机成像系统可以包括至少2、3、4、5、10、15、20、25、30、35或40个镜头。在某些实施例中,相机镜头可包括2至4、3至4、4至6、5至10、7-10、11至20、31至30、或31至50个镜头。在某些实施例中,相机成像系统可以包括至少4、5、10、15或20个相机。在某些实施例中,相机镜头可包括4至6、5至10、7-10、11至20、31至30、或31至50个镜头。在某些实施例中,相机镜头可包括100-200、200-1000、10000或更多的镜头。
术语“3D空间”是指几何表示,其中几何中的一个或多个点的地点至少部分地由三个参数定义,这些参数指示从原点基准到一个或多个点的距离,例如,在从原点开始的三个方向,其中这些方向可以基本上正交,或者作为替代示例,使用由径向距离、极角和方位角组成的球坐标系。
术语“3D场景信息”是指关于3D空间的信息,其表示相对静态时间段的场景,其中关于3D空间中的一个或多个点的信息包括场景中的点的地点、连同关于从一个或多个相机成像系统的视点看到的该点的外观的光谱信息、可选地连同一组关于点的元数据,其中元数据可以包括以下一项或多项:点的光谱发射、点的纹理、来自该点附近区域的光谱数据、该点处全部或部分存在的对象类型以及潜在的其他数据。
术语“体素空间”意指3D空间,其中该空间至少部分地被分解为多个3D元素(“体素”)。在某些实施例中,体素是不重叠的。在某些实施例中,体素可以是重叠的。在某些实施例中,至少60%、70%、80%、90%或95%的体素是不重叠的。在某些实施例中,不超过5%、10%、15%、20%、25%或30%的体素可以重叠。可以定义体素的形状,例如,体素的形状可以是长方体、立方体、球体、卵形体或它们的组合。在某些实施例中,体素空间可以由不同体素形状的组合构成,例如长方体、立方体、球体或卵形体。在某些实施例中,体素可以布置在垂直于或基本垂直于相机阵列的轴的平面中,并且体素空间可以垂直和/或水平延伸,以包括基本上同时处于阵列中相机的视野中的3D场景的一部分。在某些实施例中,体素可以布置成使得两个或更多个体素之间可能存在间隙(换言之,3D中的孔)。在某些实施例中,体素可以布置成在两个或更多个体素之间创建重叠。
术语“相邻体素”是指靠近特定体素的一个或多个体素。例如,体素紧邻特定体素,或在特定体素附近,或与特定体素离开不超过居间体素的数目(例如,1、2、3、4、10、20或100个体素)。
术语“相机”是指将电磁光谱的一部分中的传入电磁信号聚焦到该设备上的设备。例如,相机可以包括图像传感器、滤光器阵列和传感器元件(或多个传感器元件),它们通过滤光器阵列将电磁光谱的一部分中的传入电磁信号聚焦到图像传感器上。作为替代示例,相机可以包括图像传感器和将传入的电磁信号聚焦到图像传感器上的透镜元件(或多个透镜元件)。例如,透镜元件可以是光学透镜、衍射光栅透镜或它们的组合。
术语“传感器元件”是指在相机的图像传感器内、与该图像传感器相关联或与之通信的接收器,该图像传感器测量到达其表面的入射电磁光谱的强度。
术语“图像传感器”是指空间布置的多个传感器元件。在某些实施例中,多个传感器元件可以布置成平面的或基本上平面的关系。在某些实施例中,多个传感器元件可以以规则图案布置(例如,传感器元件可以基本上等距间隔开)。在某些实施例中,多个传感器元件可以不规则图案布置(例如,传感器元件可以以不同距离间隔开)。在某些实施例中,多个传感器元件可以规则图案和不规则图案布置(例如,至少两个传感器元件可以基本上等距间隔开,并且至少两个传感器元件可以以不同距离间隔开,基本上等距间隔开)。在某些实施例中,传感器元件可以以至少1、2、3或4个平面关系或基本上平面关系布置。预期传感器元件的其他空间关系。
术语“滤光器阵列”是指滤光器或一组滤光器,它们位于图像传感器中的传感器元件附近,使得该滤光器或该组滤光器传递到达它的一部分电磁光谱并且因此,传感器元件响应并测量该部分光谱的强度。滤光器阵列的示例是拜耳滤光器,它以RG-GB图案过滤光(例如,排列在简单的2x2方形相邻传感器元件组中)。
术语“体素投影”是指图像传感器内的至少一个体素和至少一个2D区域之间的映射,通过使用相机镜头或多个镜头的光学特性、连同体素相对于相机的距离和/或朝向,在体素和该区域之间投射虚拟光线来计算该映射。在某些实施例中,映射可以是一对一的。在某些实施例中,至少一个体素可能不是一对一映射。
术语“体素投影光谱数据”是指可以由图像传感器区域内的传感器元件测量的光谱数据,在给定体素相对于传感器的位置的3D几何形状的情况下,体素的至少一部分投影到该区域上。
术语“光谱数据相似性度量”是指一种或多种方法,通过关联至少一部分源之间的光谱数据相似性的定量度量,来比较多个源之间的光谱数据。此类度量的示例包括以下一项或多项:欧几里得距离与平均值的标准偏差;中位数或几何中位数;与平均值的距离之和;中位数或几何中位数;标准化相关,傅里叶谱特性的差异;绝对差之和;平方差之和;标准化互相关和其他合适的指标。
术语“表面”是指场景中的元件,其在光谱带的至少一部分中发射和/或反射电磁信号,并且这种信号的至少一部分行进穿过场景的至少一部分。在某些实施例中,这种信号的至少一部分可以不受阻碍地(并且以直线)行进穿过场景的至少一部分。
术语“光谱数据”或“光谱响应”是指从图像传感器中选定的多个传感器元件产生的信号的测量强度,其中传感器元件测量多个光谱带中的入射强度。光谱数据的一个示例是颜色。颜色可以由电磁光谱中可见光的红、绿和蓝波段中的电磁信号强度来表示,其中滤光器以RG-GB或类似的拜耳图案排列。替代系统也可以使用电磁光谱中的不可见波段或可见光谱中的替代波段。例如,一些滤光器可能在紫外波段或红外波段中。在某些实施例中,光谱带可以包括以下中的一种或多种:可见光、紫外光和红外光。此外,光谱数据可以表示收集的预定数量的传感器元件的输出,这些传感器元件能够(或配置为)响应至少一个电磁光谱带,并且可以包括基本上同时采样多个带的那些,并且在物理上处于彼此接近,并且这样的光谱数据可以用作光谱签名,这可以为确定相似性提供基础。
术语“相对静态时间段”是指场景中的大多数对象相对于相机及其与相机的距离没有太大移动的时间段。如关于该术语所使用的,在某些实施例中,时间段可以是大约0.0001秒、0.01、0.05、0.1秒、0.2秒、1秒或10秒。如关于该术语所使用的,时间段可以在0.0001秒和10秒、0.0001秒和0.01秒、0.01秒和1秒、0.05秒和5秒、0.1秒和1秒、0.2秒和2秒之间、1秒和4秒,或在某些实施例中为0.1秒和10秒。如关于该术语所使用的,在某些实施例中,大多数可以是场景中对象的至少70%、80%、85%、90%、95%或100%。如关于该术语所使用的,在某些实施例中,对象相对于相机的移动可以小于对象到相机的距离的0.1%、0.2%、0.5%、1%、2%、5%或10%。
术语“同时帧”是指在相对静态时间段内由多个相机中的一个或多个相机拍摄的一组图像(例如2、3、4、6、9、16、20、32、64或其他数量)。在某些实施例中,由多个相机中的一个或多个相机在相对静态时间段内拍摄的一组图像可以是至少2、3、4、6、9、16、20、32或64张。在实施例中,多个相机中的所有一个或多个相机可以具有相同的同时帧速率。在某些实施例中,多个相机中的一个或多个相机可以具有不同的同时帧速率。
术语“多个同时帧”是指在相对静态时间段内拍摄的一组同时帧(例如2、3、4或5)。在某些实施例中,该组同时帧可以是至少2、3、4或5个。
术语“几何中位数”是指点被构造为位于该空间中的一组数据点中的多维空间中的位置,使得(从因此构造的中点)到部分数据点的欧几里得距离之和被最小化。在某些实施例中,该部分数据点可以是主要部分或每个数据点。在某些实施例中,数据点的部分可以是数据点的至少80%、90%、95%、98%、99%或100%。
术语“漫反射”是指电磁波从表面反射,使得入射在表面上的光线在多个视角处被散射,使得反射中的光谱数据基本上由表面的材料确定。
术语“镜面反射”是指光(即电磁波)从表面反射,使得入射在表面上的光线基本上以一个角度反射,并且反射中的光谱数据基本上由照明辐射而不是由反射表面的材质确定。
术语“平滑度约束”是这样的假设,在场景中,来自表面的光谱数据响应对在空间上穿过表面时的响应的一阶和/或更高阶导数施加限制。
术语“3D视频流”意指3D场景信息随时间的序列,其中3D场景信息的一部分表示至少部分地与先前场景重叠的场景。例如,3D视频流可以是至少部分重叠并且在时间段内已被捕获的3D点云序列。作为替代示例,3D视频流可以是查看至少部分重叠并且在时间段内已被捕获的场景的一部分的深度图序列。在某些实施例中,3D场景信息的一部分可以意味着至少部分地与先前场景重叠的大部分场景。在某些实施例中,3D场景信息的一部分可以意味着每个场景至少部分地与先前场景重叠。在某些实施例中,3D场景信息的一部分可以意味着场景的至少50%、60%、70%、80%、90%、95%、98%、99%或100%与先前场景至少部分重叠。
术语“3D点云”是指3D场景信息,其中场景中的点可以从在相对静态时间段期间在场景上定义的体素空间中选择。可以基于以下一项或多项将一个(或多个)点定义为代表体素:1.质心、最近的顶点、相似的代表点(或多个点)或它们的组合;2.距一个或多个点的半径或其他隐含的空间范围);3.与该体素相关联的元数据,其中该元数据可以包括该体素被反射具有特定光谱特性的电磁信号的表面占用的概率。
术语“3D点云视频”是指3D点云序列,其中序列中的3D点云可以按时间顺序排列。
术语“聚合点云”是指可以从在3D空间中至少部分重叠的多个3D点云(通过标准化坐标系和至少部分重叠的点)导出的3D点云(因此表示底层物理场景的重叠标识)。组成3D点云可以基于以下一项或多项:在不同时间点拍摄;可由位于不同位置的不同物理相机阵列拍摄;并且可以由沿不同轨迹移动的不同物理相机阵列拍摄。
术语“基线”是指用于捕获第一图像的相机的光学中心与用于捕获第二图像的相机的光学中心之间的距离。
术语“视差”是指场景中特征的投影在一个图像上的位置、与场景中相同特征的投影在第二图像上的位置之间的距离。
术语“双目”是指形成或使用由基线分隔的一对图像。
术语“相机阵列”是指多个相机;其中一个或多个相机具有重叠的视场并且相机的数量是至少3、5、8或10个。在某些实施例中,重叠的视场可以是基本上重叠的视场。如在该术语中使用的,基本重叠的视场意味着视场的至少50%、60%、70%、80%、90%或95%重叠。在某些实施例中,一个或多个相机的至少25%、50%、75%或100%具有重叠的视场。在某些实施例中,相机阵列可以具有至少4、5、6、7、8、9、10、11或12个相机。在某些实施例中,相机阵列可以具有12到30个相机之间,或者可以具有30到100个相机之间,或者可以具有100到1000个相机之间。
术语“显著对象”是指多个相邻体素,它们包含表面,使得:
a.体素的集合一起形成对可能被预定义为显著的形状的近似(例如,交通灯、交通标志、人或建筑物或建筑物顶部或跑道上不需要的对象、或其他飞机的近似形状);或者
b.表面出现在场景中可能被预定义为显著的位置(例如交通灯的已知位置,或运动方向上并在已知道路的位置范围内的对象);或者
c.表面作为连贯的整体移动,这样当在多个3D点云中观察时,表面看起来就像连贯的物理对象。
术语“无限大掩模”是指二进制2D图像掩模,其像素表示场景中可能距离相机的区域。距离可能取决于上下文。例如,在自动驾驶系统中,距离可能意味着大于50m、100m、200m、400m、600m、1000m或更多。例如,在个人使用的可穿戴设备中,距离可能意味着5m、10m、20m、50m、100m、500m或更多。例如,在基于飞机的系统中,距离可能意味着500m、1000m、2km、5km或更远。
术语“长距离”是指远离相机阵列的距离。例如,在自动驾驶系统中,长距离可能大于50m、100m、200m、400m、600m、1000m或更多。例如,在个人使用的可穿戴设备中,长距离可能是5m、10m、20m、50m、100m、500m或更多。例如,在基于飞行器的系统中,长距离可以是500m、1000m、2km、5km、10km或更多。
术语“无源光学系统”是指不需要将光或光图案发射到场景中即可操作的系统。无源光学系统可以利用不被视为系统一部分的辅助照明源来辅助各种情况和/或环境条件,例如在弱光下(例如在夜间)的车辆的前灯。
术语“实时”意味着处理速度可能足够快,以至于结果信息可用于基本上在操作时做出决定。例如,在自主驾驶系统中,车辆、火车或飞机的实时处理可能在10秒、1秒、100毫秒、10毫秒、1毫秒、100纳秒或更短的时间内执行。在某些实施例中,可以在100纳秒到10秒、100纳秒到1秒、100纳秒到100毫秒、1毫秒到10秒、1毫秒到1秒、或1毫秒到100毫秒之间执行实时处理。
术语“实时帧速率”是指处理系统以相机阵列拍摄图像序列的速率产生3D点云的序列的能力。例如,在处理图像数据时,实时帧速率可以是每秒1、10、30、60或100帧。在某些实施例中,在处理图像数据时,实时帧速率可以是每秒至少1、10、30、60或100帧。在某些实施例中,在处理图像数据时,实时帧速率可以在每秒1到100、1到60、1到30、1到10、10到100、10到60、30到100、30到60、或60到100帧之间。
术语“小的无关粒子遮挡”是指出于系统特定应用的目的,一个或多个瞬态对象可以忽略或基本上忽略。例如,在沿着道路驾驶标准汽车的情况下,雨滴可能不需要避免,也可能不会表示安全威胁。因此,在本应用中,雨滴可能被视为小的无关粒子遮挡。其他类似的示例包括以下一种或多种:雪、冰雹、灰尘、漂浮在空中的单片叶子、和昆虫。
术语“调节”是指减少、增加或调整,并且可以响应特定数据、信息或中间计算结果。例如,可以基于被认为与该决策相关的附加信息来调节决策阈值。
术语“处理引擎”是指用于执行处理的设备或组件,例如计算机系统、嵌入式微处理器系统、FPGA系统、ASIC系统或其组合。处理引擎可以包括用于计算、存储器存储和/或通信的组件。图1图示了处理引擎的示例,并在本文其他地方进行了描述。
关于体素或体素空间使用的术语“生成”在本公开中定义为:对于体素空间中的一个或多个体素,确定关于由一个或多个体素表示的场景的一部分的信息。例如,“生成体素空间”可以是对于体素空间中的一个或多个体素,确定由一个或多个体素表示的场景的一部分被表面占用。术语生成的其他使用示例包括:生成多个体素、生成三维流式体素空间、或生成至少一个体素空间。实际上,如在本公开中使用的“生成”体素空间意味着:生成包括体素空间的一个或多个体素的信息内容。
某些示例性优点
除了本文公开的其他优点之外,在某些示例性实施例中可能存在以下优点中的一个或多个:
一个优点可以是可以以实时帧速率或基本上实时的帧速率计算准确的3D视频流,以实现更高级别系统的导航决策。此类导航决策的示例包括但不限于轨迹选择、碰撞避免、道路跟踪、驾驶风险评估、安全速度确定、驾驶员辅助、驾驶员警报、安全距离跟踪、个人空间导航或其组合。
另一个优点可能是不需要或较少需要其他传感器(例如雷达和/或激光雷达)。这种对其他传感器需求的减少大大降低了在车辆、机器人和/或飞机中实现自主导航的成本和/或复杂性,同时还改进了准确性。然而,在某些实施例中,可以添加其他传感器(例如超声波、雷达和/或激光雷达)来补充系统。
某些实施例的另一个优点可能是不需要或很少需要不同传感器系统之间的复杂集成。这大大降低了在车辆、机器人和/或飞机中实施自主导航的成本和/或复杂性,同时还改进了准确性。在本公开中预期,不同传感器系统之间的集成也可以包括在某些实施例中。
某些实施例的另一个优点是它减少了粒子遮挡(例如,以下一种或多种:雨、雪、灰尘和昆虫)对系统的影响,限制替代方案的噪声,特别是激光雷达,因为使用对常规可见光谱中和附近的许多光谱范围敏感的传感器元件造成的2D图像中此类遮挡的可见影响是最小的。
某些实施例的另一个优点可以是可以在没有对象分类的情况下计算显著对象轨迹。某些实施例仍可允许使用人工智能(AI)或其他方法来识别和/或分类对象。这种对对象分类需求的减少至少部分是一个优点,因为这种分类处理方案通常可以使用神经网络完成,需要对大量数据集进行广泛学习,并引入错误的可能性,这些错误在呈现不寻常并且不在训练集中的数据时可能很严重。
某些实施例的另一个优点可以是可以以实时帧速率或基本实时帧速率计算准确的3D视频流,跟踪场景中的对象以在实时情况下实现街道、公园、私人或公共空间或建筑物的安全和监视,3D信息可允许跟踪人员、识别动作和活动、协助检测异常行为、确定空间中人员或车辆流动的信息、确定碰撞或滑倒等警报、监控人群的规模,或监控人群的流动或人群中拥挤的可能性。
从2D图像数据计算深度信息,例如3D场景信息,是本领域的一个问题。也就是说,根据2D图像数据可能不清楚场景中特定点处的深度确定,例如,因为当从给定的一组相机观看时,真实3D世界中实质不同的场景可能产生相同的表示,或基本上相同的表示(即外观)。例如,为了说明,如果场景的一部分具有复杂的深度轮廓,但在一组2D图像中的外观是一致的,则为该场景的这一部分确定的3D场景信息可能无法正确捕获原始场景的复杂深度轮廓。因此,解决方案经常面临优化许多(有时是无限的)可能的3D场景配置的挑战,这些配置可能会产生作为输入提供的给定的一组2D图像。优化可能需要成本函数,并且成本函数可能包括正则化项。成本函数可能会尝试平衡不同的输入数据和约束,以找到场景中某个点的深度的合理解决方案。正则化函数可以进一步用于平滑解,以便在可用的观察数据较低的情况下,解可能是明智的选择,并避免被噪声或虚假观察数据分散注意力。然而,成本函数和正则化项可能基于关于场景的假设和启发式。这些假设和启发式可能会导致3D场景信息不准确。此外,许多正则化成本函数导致在本领域中表征为NP-完整的问题,因此实际上难以在合理的时间内解决。本公开的示例性实施例直接解决这些歧义中的一个或多个,并且提供更好地匹配真实场景并且具有减少的计算要求的解决方案。
系统图
某些实施例涉及使用无源光学系统实时或基本实时地产生场景的3D场景信息。
某些实施例提供了一种光学相机解决方案,该解决方案可以使用固定阵列中的相机来构建,这些相机同时从不同位置观察场景。可以比较场景的两个视图之间的最终差异(视差)以计算深度信息。这可以通过移动一个图像的单个像素以匹配另一图像上的像素来实现。必要的移动程度(视差)至少部分取决于从相机到导致所讨论的特定像素对的对象的距离,并且还至少部分取决于两个相机之间的距离(基线)。例如,较宽的基线可能会导致更高的远程精度,但可能会出现最小距离增加的问题,因为视图可能不会在相机附近重叠。
示例性相机阵列
图1示出了某些示例性实施例的系统图100。该系统包括相机阵列110和处理引擎115。
相机阵列110包括以M宽和N深的阵列布置的一组相机。阵列的水平行用虚线125、135、145表示。本文详细描述了诸如120、130、140之类的相机。虽然图1示出了规则阵列,但是存在阵列不规则的实施例,其中行可能不包含相同数量的元素,其中元素根据它们的光谱灵敏度而不同,或者甚至在阵列不在单个垂直平面中。例如,相机可以以圆形图案、锯齿形图案、分散图案布置,并且一些相机可以在三个维度中的一个或多个维度上偏移(但仍然是固定的)。图12示出了相机阵列配置的各种示例,包括A)2x 2相机的矩形阵列,B)3x 2相机的矩形阵列,C)3x 3相机的矩形阵列,D)4x 4相机的矩形阵列,E)12个围绕矩形周长设置的配置,F)12个围绕矩形周长设置的配置,另外6个相机围绕较小同心矩形的周长设置,G)垂直方向的2x5相机的矩形阵列,H)水平方向的6x 2相机的矩形阵列,I)围绕圆周设置的8个相机的配置,J)围绕圆周设置的13个相机的配置,另外8个相机围绕较小的同心圆的周长设置。基于用例或车辆设计的进一步配置在图9和图10中作为示例给出,并且在本公开的其他地方详细描述。
在某些实施例中,相机阵列中的相机的相对位置和方向是已知的,并且相机阵列中的相机具有硬件同步触发器,用于跨阵列捕获同时帧。在某些实施例中,相机阵列可以包括相关电路,以确保从相机阵列110中的相机同步捕获图像。
处理引擎115包括用于与相机阵列110中的相机通信的接收单元150。接收单元经由通信总线151与处理器单元160和存储器单元170连接。处理器单元160可以是通用的CPU或GPU或者可以是定制的硬件,例如专门设计用于执行所需处理的FPGA或ASIC。存储单元170可以包括易失性和/或非易失性存储器。它可以存储用于处理单元160的指令、以及经由通信总线152从接收单元160接收到的图像数据。处理单元160还可以经由通信总线162连接到数据存储器190。处理单元160也经由163连接到外部通信单元180。通信单元180用于输出3D视频流以供外部系统使用。通信单元180还可以从外部源接收数据,包括位置数据、地图数据和/或先前记录的关于场景的3D数据。
相机阵列110中的相机可以连接到处理单元115。相机具有由121、131、141指示的通信信道,以接受控制和/或同步信号并输出图像数据。在某些实施例中,通信信道可以利用有线通信方法,例如USB、IEEE1394、GMSL和/或以太网。在某些实施例通信中,信道可以利用无线通信,例如WIFI、蓝牙或5G。在某些实施例中,通信信道可以利用有线和无线通信方法。来自相机阵列110中的相机的图像的同步捕获可能是有用的,并且可以由通信通道121、131、141启用。
示例性相机系统
图2描述了用于相机阵列110中的相机的示例性相机系统200的细节。相机系统包括由光学元件201、202组成的镜头模块210。还有光圈220、快门221和传感器223。在某些实施例中,传感器223可以覆盖有滤光器阵列,例如能够捕获彩色和/或多光谱图像的拜耳滤光器222。传感器223可以对电磁光谱的一部分敏感,包括潜在的以下一种或多种:可见光、红外线和紫外线光谱。
传感器223连接到相机图像处理单元240,该相机图像处理单元240可以对传感器223捕获的原始图像数据执行图像处理。在某些实施例中,图像处理步骤可以包括以下中的一项或多项:去拜耳化、补偿镜头失真和颜色调整。在某些实施例中,镜头失真处理使图像变形,使得图像符合针孔相机模型。处理后的图像可以经由通信总线252传递到通信单元250。处理后的图像数据可以经由260发送到处理引擎115。通信单元250还可以从处理引擎115接收控制和/或同步信号。控制和/或同步信号被传递到相机控制单元230。相机控制单元230经由控制线234、233、232、231处理相机控制信号,从而能够调整镜头系统210的一个或多个组件:光圈220、快门221和传感器223。此类控制可用于调整以下一项或多项:成像参数(例如增益)、曝光时间、黑电平偏移和滤光器设置。相机控制单元230还可以协调以下一项或多项的激活:光圈220、快门221和传感器223以捕获图像。相机控制单元230可以经由通信单元250接收同步信号,该同步信号确保相机阵列110中的相机被同步以同时捕获图像。
拜耳滤光器222可用于逐个像素地通过或阻挡电磁光谱的特定频带。图11A示出了在拜耳滤光器222中使用的拜耳图案的示例,其中滤光器元件在可以与图像传感器223上的传感器元件(也称为像素)的网格匹配或对准的网格中。以这种方式,可以选择到达传感器223中的某些像素的电磁光谱的波段。滤光器元件的网格1110以具有类型“a”1111、“b”1112和“c”1113的元件的图案布置。例如,在红-蓝-绿或“RGB”滤光器中,显示为“a”1111的元件通过绿光,显示为“b”的元件通过红光,显示为“c”的滤光器元件将通过蓝光。
图11B中示出了另一种滤光器阵列布置,其中电磁光谱的四个不同波段可以选择性地通过或阻挡,如四种类型的滤光器元件“a”1121、“b”1122、“c”1123和“d”1134的布置所示。
图11C中示出了第二备选滤光器阵列布置,其中电磁光谱的八个不同波段可以选择性地通过或阻挡,如八种类型的滤光器元件“a”、“b”、“c”、“d”、“e”、“f”、“g”和“h”的布置所示。
在滤光器元件中通过或阻挡的电磁光谱波段被设计为在确定表面时提供信息。波段的设计可考虑以下一项或多项:环境、场景中预期的元件类型、以及场景中元件的镜面反射特性(包括属性,诸如光谱反射或漫反射、纹理、和/或特定电磁波段的材料特性)。即使一些传感器元件与它们的一些相邻元件具有相同的滤光器,由于它们的小空间分离,与它们各自的光谱响应相结合的小物理分离仍然捕获有关目标表面的潜在有用信息。在一些实施例中,空间和光谱信息的这种集体输出一起形成这些像素所指向的表面的电磁签名,并且当用这样的图像传感器成像时可以共同称为表面点的光谱响应。在某些实施例中,传感器的连续响应(随着时间的推移)可用于估计明显的图像运动;在本领域中通常称为“光流”。光流值描述了由特定像素在图像传感器表面上沿二维方向采样的图像的表观运动(通常对于具有按行和列排列的元素的传统矩形传感器阵列,“光流”值是水平方向左或右的像素数,垂直方向上或下的像素数、场景的投影在很短的时间内移动穿过传感器阵列-最简单的是传感器阵列拍摄的由一秒钟的若干分之几分开的连续帧)。这样的光流数据可以包括在光谱数据中,并且可以用于比较来自不同相机的投影场景数据的相似性测试。
示例性说明场景
图3示出了典型的道路场景300。用线312、313示出了道路310,线312、313标记了道路310的中心线的道路标记315的边缘。在该场景中,道路上有两辆汽车320、330。还示出了位于路边的树木340、350和标志360。相机阵列110被示为定向为观察场景。相机阵列110可以位于车辆(未示出)上并且本身可以沿着道路行驶。虚线矩形棱柱标记体素空间370的范围,体素空间370位于相机阵列110的视图中,可以使用来自相机阵列110的相机的图像为其生成3D数据。
示例性体素和图像
体素空间370被分割成3维体素。在图4中,根据某些实施例,体素空间370被示为分割成诸如411、412的立方体素。在某些实施例中,可以使用立方体素,尽管同样可以使用长方体、椭球体、球体或其他3维元素来分割体素空间,这些3维元素可能不都是相同的形状,可能不会共同覆盖空间的所有的物理体积(即元素之间可能有间隙),或者相邻元素之间可能有一定比例的重叠。在特定实施例中,体素空间的表示可以使用三维阵列保持在存储器170中,其中元素在X、Y和Z方向320上被寻址。
在另一个实施例中,体素的表示被保持在稀疏数据结构中,例如在链表、双链表、散列表或稀疏数组中。
在某些实施例中,可以动态地确定体素空间的范围和/或形状。体素空间范围和/或形状可以响应于场景的内容(例如检测到的前景对象)和/或场景中的某些元素的先验知识(例如道路的路径)来确定。
在某些实施例中,体素大小可以根据体素空间中的位置而变化,使得一定距离处的体素大于靠近相机阵列的体素,从而在相机阵列110附近实现更高的3D分辨率。在某些实施例中,一些体素可以在某些条件下被划分为更小的体素,例如,原始的立方体形状的体素可以被分成8个大小近似均匀的更小的立方体形状的体素。在某些实施例中,近距离中的体素,例如体素空间中的最近的20%、30%、40%或50%的体素可以如此划分并用于在更接近相机阵列的区域中生成更高分辨率的3D信息。在某些实施例中,体素大小可以动态地响应于场景的内容,例如检测到的前景对象或场景中某些元素的先验知识,例如道路的路径。在已知体素包括前景对象的情况下,体素可能被分割成更精细的部分以在该感兴趣区域中提供更大的分辨率。同样,如果场景的体素占用表明存在未与原始体素网格或形状对准的物理表面,则系统可以用不同的体素形状和/或对准方式对部分或全部体素空间重新分段,以更好地进行拟合场景中的表观表面(从而制作更高保真度的场景模型)。
在某些实施例中,诸如415的体素的大小可以是可变的,并且可以基于以下中的一项或多项进行调整:具有纹理的区域、具有显著对象的区域、具有遮挡的区域、具有平坦外观的区域、具有低纹理的区域、具有小或不规则特征的区域、与图像特征对准、以及与场景中的元素对准。
此外,在图4中,示出了两个观察到的图像420和430,其中,例如,可以从相机阵列110中的相机130捕获图像420,并且可以从相机140捕获图像430。在由5×3相机组成的相机阵列110中,可以存在15个这样的二维图像。
图像420、430是从空间中稍微不同的点对场景300的观察,因此可以通过图像的不同部分观察给定体素。考虑以深色阴影突出显示的体素415,虚线421和422示出了体素415在二维图像420上的投影,虚线形状423示出了图像420上的投影范围。类似地,虚线431和432示出了体素415到图像430的投影,虚线形状434是图像420上的投影范围。
图像420、430可以数字形式存储为离散像素的阵列,例如424和434。如图所示,2D图像中的像素与投影的3D体素的边界不对准,并且一些像素,例如424和434,仅由体素415的投影部分覆盖。
如果体素被场景300中的诸如汽车320之类的元素的表面占用,则从该体素观察到的光可能是一致的。例如,如果体素415位于汽车320的表面,则像素422和像素432的光谱值可能相似,因为它们都观察到来自汽车320上可观察表面的相同区域的光(为了说明的目的而忽略镜面反射这会导致不同相机的不同外观)。可以根据投影在像素上的重叠比例,对投影423和433中的像素的光谱值进行加权。
对于相机阵列110中的相机和体素空间中的体素,给定相机阵列110的已知测量值、相机阵列110中的相机的已知的内在和/或外在参数、以及与体素空间中的体素的已知关系,可以计算从体素到像素位置的映射、以及每个像素的权重。在一些实施例中,体素和图像位置之间的映射以及像素权重被预先计算并存储以供重复使用,从而实现图像数据的有效处理。
示例性主要处理
图5示出了根据某些实施例的顶层流程图。从510开始,示例性系统和/或方法可以继续执行初始校准520。
在该示例中,初始校准520涉及校准相机阵列110中的相机,以便后续阶段可以使用经过校准和登记的图像进行操作以标准化它们的视点。在本公开的其他地方详细描述了初始校准520。
在初始校准520之后,流程进行到获取图像530的步骤。在该步骤中,处理引擎115首先操作相机阵列110以从相机阵列110中的相机捕获一组同时捕获的图像。相机阵列110可以提供去拜耳化的图像到处理引擎115。
在获取图像530之后,流程进行到校准更新540。步骤校准更新在先前步骤中接收的评估的图像,并执行可以在线执行的校准检查和/或更新。在一些实施例中,场景300中的已知元素,例如道路标记315、标志360或建筑物或专用校准标记,可用于以下一项或多项:检查校准参数的准确性,重新估计校准参数,并执行校准参数的增量更新。在一些实施例中,可以匹配图像中的特征点,并且可以从以下一项或多项中获知准确的位置变化:里程计、GPS、3G和其他独立源,并且可以用于确定更新的校准参数。更新的校准参数可以包括以下中的一项或多项:图像响应参数、内在参数和外在参数,它们可以被存储以便它们可以在以后的步骤中使用。
在校准更新540之后,流程进行到无限平面处理550。
无限平面处理550生成无限大掩模。在该示例中,无限大掩模是与来自相机阵列110中的相机的图像具有相同或基本相同维度的二元掩模。无限大掩模指示图像观察大约无限远距离处场景中的元素的位置,这超出了体素空间370的最远范围。由于相机阵列中的相机指向主要平行的方向并且主要具有相同的方向,并且由于图像已经针对常规几何和彩色镜头失真进行了去扭曲和校正以呈现场景的理想针孔相机视图,无穷远处的点在来自相机阵列中的相机的图像中投射已知像素位置;除非场景中发生元素遮挡。因此,如果这些特定图像位置处的像素在来自相机阵列的至少一些相机上匹配,则可以假设这些像素是从无穷远处投影的,或者有效地形成了极远的范围。在场景300中,与行135和行145中的相机(它们的视点可能被诸如路上的汽车320、330的元素遮挡)相比,相机阵列110的上边行125中的相机位于道路310上的较高位置,并且具有地平线的视点。因此,在每行的基础上执行无穷远处理可能是有益的,例如,使用来自阵列的相机的各种组合(即,在无限平面处理的每个应用期间不一定使用所有相机)。
在这个示例中,无限平面处理操作如下:
Figure BDA0003712213140000231
Figure BDA0003712213140000241
一旦生成无限大掩模,就将其存储在存储器单元170中以供后续处理步骤使用。
两个像素的相似性可以通过光谱数据相似性度量来确定,例如计算为对应颜色或光谱数据的差异的最大值。考虑到系统中存在噪声和错误,相似性的阈值可用于确定相似性是否足够高。在一些实施例中,可以使用固定阈值。在某些实施例中,对于RBG中的图像,每个通道具有256个级别,相似性可以是绝对差的简单总和,并且可以将5或更少的阈值取为足够相似,以保证将某个体素标记为由对象的表面占用。在某些实施例中,可以使用1、2、3、4、5、6、10、20、50或更大的阈值来确定相似性。在一些实施例中,可以比较更多类型的光谱信息,例如光流数据以及一个或多个颜色通道响应,以确定相似性的度量。在一些实施例中,阈值可以动态设置并且可以至少部分地基于以下中的一项或多项来确定:相机系统的噪声分布、校准精度的估计、相机阵列110中的相机位置、一天中的时间、已知的环境条件(即正在下雨)和图像中的像素位置。
在无限平面处理550之后,流程进行到体素评估560。在这个步骤中,来自相机阵列110的图像和无限大掩模可以用于确定体素的占用状态或占用状态的概率,并且如果被占用,则代表颜色或光谱数据分配给体素。在本公开的其他地方更详细地描述了体素评估560。
在体素评估560之后,流程进行到3D点合并570。在这个步骤中,观察到被占用的体素可以被转换成可以与先前捕获的3D点云数据对准和合并的3D点云。3D点合并570在本公开的其他地方描述。
在3D点合并570之后流程返回以获取图像530并因此从相机阵列110获取更新的图像数据并继续重复该处理。随着相机阵列110移动通过场景300,综合3D点云数据可以随时间累积,并且可以生成进行中的3D视频流。
初始处理
返回到步骤初始校准520的细节。初始校准可以离线执行,例如,作为系统的制造或维修的一部分。例如,可以使用一个或多个测试图表和/或对象来执行初始校准,这些测试图表和/或对象可以位于相机阵列的视场中的各个位置,或者可能只是在场景中的位置被精确知道的标记元素。初始校准520的一个方面可以是确定调整相机阵列中的相机以获得一致的颜色或光谱数据响应所需的图像响应参数。这可能是有用的,因为可以在像素级别比较从相机阵列110中的相机捕获的图像。初始校准的另一方面可以是测量相机的内在参数,这些参数可能包括以下一项或多项:焦距、光学中心、偏斜系数和径向失真系数。相机校准的另一方面可以是测量每个相机的外在参数,其准确地描述相机阵列110中的相机的相对位置和方向。可以存储包括图像响应参数、内部参数和/或外在参数的校准参数,以便它们可以在后面的步骤中使用。
体素评估
图6对于返回到步骤体素评估560的细节是有用的。该步骤旨在针对体素空间中的体素识别体素是否包含可观察表面。如果判断体素包含可观察表面,则可以将体素的内部表示标记为占用,并且代表性颜色或光谱数据将与该体素相关联。如果判断体素不包含可观察表面,则将其标记为空,并为代表性颜色或光谱数据记录空。体素的空状态指示体素可能在自由空间中或由于它与相机阵列110之间的遮挡而可能不可观察。
体素评估从610开始,直接进行以选择第一体素620,它与665和670一起形成循环以在体素空间中的体素上迭代。在一些实施例中,可以从相机阵列110附近开始按深度顺序处理体素。这允许对由于遮挡而可能不可观察并且可以为了效率而跳过的体素的处理。处理流程继续选择第一相机图像625,其与步骤645和660一起在相机阵列110中的相机上形成循环。
从选择的第一相机图像625控制移动到步骤无限大掩模设置635,其评估是否为对应于体素的像素位置设置无限大掩模。首先,可以确定由体素在图像424上的投影所包含的图像420上的一组像素位置。在某些实施例中,可以预先计算从体素到像素位置(反之亦然)的映射,并且可以将其存储在查找表或类似的数据结构中以提高计算速度。在一些实施例中,给定相机阵列110的已知测量值、相机阵列110中相机的已知内在和外在参数、以及与体素空间中的体素的已知关系,可以计算从体素到像素位置的映射。
体素空间之外的场景元素通过其可见的体素可以被推断为空的。如果相机阵列中的相机的像素位置设置了其对应的无限大掩模,则处理移动到清除体素650。在清除体素650处,体素的内部表示可以用空状态更新,并且颜色或光谱数据可以设置为空。处理然后继续步骤665更多的体素?。
返回到无限大掩模设置635,如果没有像素位置被设置其对应的无限大掩模,则该处理移动到评估相似性640。
在评估相似性640,该处理可以再次根据体素投影考虑与当前选择的相机图像中的体素对应的图像像素,并且可以将这些像素值与对应于其他相机图像中的体素的图像像素进行比较。在对应于体素的像素相似的情况下,体素可能表示包含可观察对象表面的场景的一部分。如果对应于体素的图像像素对于相机图像的子集不相似,则该体素表示场景的一部分,该部分是空的(并且相机正在看到体素之外的表面)或被某个前景对象隐藏并且当前无法从阵列110中的一个、一些或所有相机观察到。
评估相似性640计算用于相机图像对体素的观察的代表性体素投影光谱数据。在某些实施例中,可以使用预先计算的映射像素和/或权重将代表性体素投影光谱数据计算为加权平均值。在某些实施例中,代表性体素投影光谱数据可以使用稳健统计估计量对从相机阵列中的相机映射到体素的像素进行计算。在某些实施例中,稳健统计估计量可以是中位数或几何中位数。在某些实施例中,稳健统计估计量可以是修剪过的平均值。使用稳健统计估计量可以帮助避免代表性体素投影光谱数据被光谱数据中的异常值歪斜,例如可能由来自物理表面的镜面反射和/或一个或多个相机遭受的遮挡引起的。
接下来,可以在相机之间比较代表性体素投影光谱数据,以确定图像子集的普遍一致性。相似性可以通过光谱数据相似性度量来确定。光谱数据相似性测量可以包括像素位置处的明显图像运动估计;这种数据在本领域中通常称为“光流”。
这在下面的伪代码中进一步描述。
Figure BDA0003712213140000271
考虑到系统中存在噪声和错误,相似性的光谱数据容差可用于确定相似性是否足够高。即使在场景中存在小的不相关粒子遮挡的情况下,使用合适的光谱数据相似性度量以及合适的容差和阈值也能够确定相似性。
在一些实施例中,光谱数据容差可以是固定值,例如,光谱数据容差可以具有1、2、3、4、5、6、10、20、50或更大的值。
在一些实施例中,光谱数据容差可以动态设置并且可以至少部分地基于以下中的一项或多项来确定:相机系统的噪声分布、校准精度的估计、阵列内的相对相机位置、已知的环境条件(例如,它是夜间或正在下雨)、以及像素位置。在一些实施例中,光谱数据容差可以动态地设置并且可以至少部分地基于以下中的一项或多项来确定:相机系统的噪声分布和校准精度的估计。
在一些实施例中,光谱数据容差可以动态变化并且可以基于由该方法的先前迭代确定的体素占用的概率估计;例如,当在实时上下文中使用时,由于时间接近,先前帧和早期数据处理的特性是可用且相关的。
在替代实施例中,光谱数据容差可以通过关于已经处理的体素的已知信息来调节。例如,如果在某个3D体素处发现了强占用信号,则可以调整用于沿会聚在该强烈识别体素处的光线登记占用体素的光谱值容差,以偏置中间体素以使其标记为透明。类似地,特别是如果存在噪声(雨、雪等),特定3D体素上的几乎匹配协议可能会被提升到“占用”状态,如果其仍然处于沿着穿过它的光线范围的最高投票位置的话,并且这些光线共同登记微弱的信号,这些信号一起可能被视为具有附加噪声的表面的证据。
在替代实施例中,光谱数据容差可以通过关于被观察空间的已知先验信息来调节,所述先验信息尤其包括从先前已经多次观察到的登记点云导出的信息。这意味着在一些实施例中,登记处理可以在该处理的早期发生(如果有足够的信息这样做),并且在这种情况下,体素空间被预登记到坐标系中。在这样的实施例中,关于预期是固定的某些体素的知识(因为它们具有作为先验已知显著对象的一部分的表面)可以通过增加通常固定在适当位置的元素(例如树、墙壁、建筑物、路面、交通标志和信号等)保持固定在适当位置的可能性,同时允许场景中固定的显著对象可能发生一些不可预见的变化,提供显著调节判断处理的信息。
在替代实施例中,可以基于显著对象的帧到帧表面以经典方式表现的可能性来调节光谱数据容差(它们根据它们的内部欧几里得几何学连贯地移动——即它们不会分裂和/或是刚体)并且可能它们的行为符合物理定律。这种物理平滑约束为确定体素提供了额外的信息,并且可以加速该处理并改进其可靠性。
在替代实施例中,可以基于为相邻体素确定的光谱数据可能性,来调节光谱数据容差。
在评估相似性640之后,控制移至步骤更多相机?645,如果存在更多的相机图像要迭代,则处理继续到选择下一相机图像660,其中选择来自相机阵列110中的下一相机的图像,则继续到步骤635。或者,如果来自相机阵列110中的相机的图像已被评估,然后该处理移动到更新体素655。
在步骤更新体素655处,检查为相机图像累积的投票。如果记录投票的最大数量低于阈值,则体素被认为是空白空间或被某个前景对象隐藏。然后用状态空白更新体素的内部表示,并为代表性光谱数据记录空值。如果记录投票的最大数量等于或超过阈值,则认为体素包含可观察表面,并且体素的内部表示被更新为具有被占用的状态,并且其光谱数据从来自组成相机图像的像素的几何中位数复制。在一些实施例中,可以使用从由来自不同相机图像的单独光谱数据测量贡献的多个光谱数据中选择概要光谱数据(即,颜色和/或光流信息)的替代方式(即,不仅仅是几何中位数)。
在替代实施例中,步骤评估相似性640计算体素包含表面的概率,并且步骤更新体素655将阈值应用于概率,以确定体素状态为被占用还是未被占用。
从更新体素655开始,处理转移到更多体素?665,并且如果有更多的体素要处理,则进行到选择下一个体素670,在此识别下一个要评估的体素。然而,如果体素已经被处理,则控制移动到690并且体素评估560处理结束。
在另一个实施例中,可以在没有去拜耳化的情况下对原始图像执行处理,并且可以使用原始图像数据执行相似性测试。
在另一个实施例中,图像可以是未经去拜耳化的原始格式。可以在每个通道的基础上进行预先计算的映射和加权,因为光谱数据样本的一个或多个或每个通道在空间上移位。并且可以执行评估像素步骤,分别计算一个或多个或每个光谱通道的代表性光谱值。
在另一个实施例中,图像和像素相似性测试可以在诸如YUV、YCbCr、HSV的颜色空间中执行。
在另一个实施例中,可以使用特殊的拜耳滤光器,该滤光器能够对场景中的元素进行高度区分,同时最大化捕获的光。
在另一个实施例中,具有单独光谱响应特性(允许入射在传感器元件上的电磁辐射光谱上的单值或多值响应)的相邻像素的集合可以共同被认为产生光谱响应,其中各个响应被堆叠在一起以形成更大的光谱信息向量,并将这个总响应特性用作确定图像区域之间相似性的基础。
在另一个实施例中,图像可以通过用于离散小波变换的离散余弦变换来编码,并且对编码数据执行处理和相似性测试。
在另一个实施例中,可以一起处理多个同时帧,即在不同连续时间捕获的多组图像,以确定体素状态。这为确定体素状态提供了一组额外的图像数据,并减少了噪声的影响。例如,在处理相机阵列移动的相对静态场景时,该技术提供了一种无需在阵列中添加额外相机即可捕获更多场景图像的方法。在获取图像530中,从阵列相机110捕获额外的图像集。了解在捕获时间相机阵列的姿态(位置和方向)的相对变化是有用的。通常,可以使用生成里程计的视觉方法,例如光流或同步跟踪和映射算法。或者,可以使用来自陀螺仪传感器和车辆里程计的数据。继续到步骤评估相似性640,处理捕获的图像,但是考虑到连续相机捕获之间的相机位置的相对变化来确定像素的映射和加权。
示例性3D点合并
现在返回参考图7中的步骤3D点合并570的细节。
从710开始,处理移动到步骤体素到点720。在该步骤中,可以处理体素的内部表示,并且对于具有被占用状态的每个体素,可以进行新3D点的记录,包括以下一项或多项:其相对于相机阵列110的3D位置,其取自体素的光谱数据、和可确定的其他相关联的元数据。其他相关联的元数据可以包括以下一项或多项:体素状态的置信度、分组信息和时间戳。可以使用基于相机阵列110中相机的已知内在和外在参数以及与体素空间中的体素的已知关系的已知变换,来执行确定新3D点的3D位置。因此,从体素到点720,可以在空间中确定一组新的3D点。这些点是相对于在捕获图像时相机阵列110的位置。
从步骤体素到点720,该处理移动到估计变换730。在该步骤和接下来的步骤对准变换740中,可以确定变换,该变换将由步骤体素到点720确定的新3D点标准化和对准到具有聚合点云中的存储的3D点云数据的点720。这可能包括更改新3D点的参考系。
在估计偏移730步骤中,可以使用关于相机阵列110的移动的可用信息来估计所需的变换。在一些实施例中,可以使用来自GPS和/或5G服务的位置数据。或者,可以使用来自陀螺仪传感器和/或车辆里程计的数据。或者,可以使用生成里程计的视觉方法,例如光流和/或同步跟踪和映射算法。
在估计变换730之后,处理移动到对准变换740。在该步骤中,通过优化缩放和对准新3D点数据与聚合点云中存储的3D点云数据,来进一步标准化新3D点数据。来自新3D点数据的点样本可以与聚合点云中的最近点相关联,并且可以为关联点计算聚合距离度量。可以估计减少聚合距离度量的变换参数,并将变换应用于新的3D点数据。可以应用对变换参数估计的约束(包括诸如车辆速度和轨迹之类的项目)以降低计算复杂性。该处理在实时约束内重复以应用于车辆导航决策,并且可以在实时约束之外进一步重复以用于后续应用,以改进聚合点云。
在对准变换740之后,处理移动到更新点云750。在这个步骤中,新的3D点可以与现有的聚合点云数据集成。根据以下一项或多项检查新的3D点是否与聚合点云中的点匹配:3D位置、光谱数据、光流数据和其他元数据。如果匹配新点,则可以更新存储的3D点数据中的匹配点。如果未找到匹配项,则可以将新的3D点添加到存储的3D点云中。
在某些实施例中,已经与相对于场景移动的显著对象相关联的3D点不被添加到聚合点云存储的3D点云中。
图8A图示了场景815,包括静止的树811、道路810、正在移动的汽车812,并且还指示相机阵列110。随着相机阵列110移动通过场景815,新的3D点被确定,如先前在步骤体素到点720中并如图8B所示。在图8B中,参考系320被指示为体素空间370和在822处指示的新3D点对应于汽车812上的表面的检测以及在821处指示的对应于树811上的表面的其他新3D点。图8C示出了先前的聚合点云,其参考系在850处指示并且一些3D点在830处对应于树811。在图8D中,显示了步骤更新点云750的结果,显示了具有参考系320和850的聚合点云845,两者都指示两个参考系之间的变换是已知的。另外,3D点840已经用来自新的3D点数据的信息进行了更新。值得注意的是,在该图示中,由822指示的新3D点数据尚未添加到聚合点云,因为它与相对于场景815移动的移动显著对象(在这种情况下为汽车812)相关联。
随着相机阵列在场景中移动,新的3D点可能会添加到聚合点云中,因此聚合点云会增长以覆盖更多场景。此外,新的3D点可能位于聚合点云中现有的3D点之间,因此聚合点云中3D点的密度会增加。对聚合点云密度的定义限制决定了是否应应用下采样。
在某些实施例中,附加的相机阵列可以定位在各种方向上并且具有围绕车辆的各种朝向。例如,附加的相机阵列可以指向车辆的侧面或车辆的后部。
图9A示出了车辆910,在这种情况下是具有位于挡风玻璃上方的相机阵列的汽车。图9B示出了卡车920,其具有围绕卡车的发动机罩和驾驶室定位的一组相机,形成相机阵列。图9C示出了火车930,其具有围绕火车的前部定位的一组相机,形成相机阵列。图9D示出了具有位于头盔前部的相机阵列的安全头盔。图9E示出了具有沿机翼、机尾和前部定位的相机的飞机,相机形成相机阵列。
图10A再次示出了具有位于挡风玻璃上方的相机阵列1011的汽车1010。图10B示出了具有汽车1010和诸如1021、1022之类的相机以近似网格形式围绕汽车前部定位的替代配置,形成相机阵列。图10C示出了汽车1010和位于汽车的前部附近诸如1031之类的相机的替代配置,相机定位成便于考虑汽车设计和制造限制,并且不是近似网格,形成相机阵列。将相机放置在汽车的现有部件中可能很方便,例如前灯、侧后视镜和/或挡风玻璃后面。图10D示出了具有汽车1010和诸如1041之类的相机的替代配置,相机例如1041位于汽车的侧面并形成相机阵列。图10E示出了汽车1010和相机阵列1051的俯视图以及观察区域1052的指示。图10F示出了汽车1010和包括位于汽车的前、后、左和右的1061、1062的四个相机阵列的俯视图,并且示出了包括1062和1064的观察区域。图10G示出了汽车1010的俯视图,其具有相机阵列1071和观察区域1072以及第二相机阵列1073及其具有与1072不同的覆盖范围的观察区域1074。
图13在1310(图13A)处示出了道路场景的模拟图像。使用模拟道路场景的4个这样的图像,每个图像取自不同的位置,生成在1320(图13B)所示的3D场景信息。树木的树叶缺乏清晰度和前景中汽车周围的清晰度差,这与使用模拟道路场景的16幅图像生成的1330(图13C)中的结果形成对比。在1330中,前景汽车周围的清晰度得到了改进,树叶的清晰度也得到了改进。
在图14中的1410处(图14A)示出了道路场景的另一个模拟图像,在这种情况下具有更逼真的纹理。使用模拟道路场景的15个这样的图像,每个图像取自不同的位置,生成在1420(图14B)所示的3D场景信息。稳健统计估计量的使用使得在图13的示例中明显的噪声能够在汽车、树木和树木的细叶的3D场景信息中以良好的清晰度被消除。因此,证明了该方法在与足够数量的相机视图一起使用时的有效性。
对道路场景(未示出)的捕获视频的分析用于验证具有多个相机视图将改进3D场景信息质量的断言。分析表明,在该数据集中,立体相机配置发现40%的像素在100或更少像素处有另一个匹配像素,这意味着如果仅使用2个图像(即传统立体系统),则存在高度模糊性。相比之下,利用来自15个相机的数据的方法在相同距离处具有接近零的匹配像素,因此表明,如果拍摄场景的更多图像并且可以进行稳健的统计测量(这些测量,例如中位数,只有在3次或更多独立测量时才有可能,并且通常在5次或更多时变得有效),课避免很多模糊性。
在图14中的1440(图14D)示出了从一组16张数码照片生成的方法的结果的示例,该组模拟使用16个相机的相机阵列操作的系统。在1430(图14C)显示了16张数码照片之一。在1440处是从软件捕获的图像,该图像显示了已使用该方法生成的生成的3D场景信息的视图,并且示出了相同的场景但来自不同的视角。如1440中所见,汽车和周围的灌木丛似乎从地面升起,地面水平且平坦,因此我们可以观察到场景的深度信息已被正确捕获。另请注意,自由空间中没有漂浮的不透明体素,表明该方法已正确抑制了可能在某些图像中的某些位置之间发生的虚假光谱匹配。
用于各个相机阵列的处理引擎可以将3D点贡献给共同的聚合点云,从而不断地建立和/或维护场景的知识。在某些实施例中,单个阵列上的相机可以被配置成动态地倾斜以控制它们在场景中的组合分辨率区域-将它们的像素聚焦在靠近或替代地远离阵列的体积上。这种动态移动可用于响应于阵列所附接的车辆行驶的总速度来调整阵列的分辨率距离。
在某些实施例中,3D点云将相机阵列的初始位置作为其参考系的原点和朝向。
在某些实施例中,所使用的参考系可以基于从GPS或5G数据获取的全球位置参考,这实现了以下一项或多项:要集成到系统中的3D点数据的外部源、地图数据、道路知识、地标知识、用于校准更新的参考对象知识、准确的卫星图像等。
在某些实施例中,包括3D点云数据、对象数据和/或其他场景信息的场景知识可以从系统传输到场景数据的外部存储库。该数据可以与其他车辆共享,为他们提供3D场景的高级知识。积累的知识可用于其他目的,包括以下一项或多项:协助路线规划、协助基础设施规划机构和随着时间的推移监测环境。在某些实施例中,场景知识可以通过对等网络传输到附近的车辆。
再次考虑图3,场景300包含静止元素,包括道路310、树木340、350和标志360。对于场景的这些元素,3D点云数据可以与之前捕获的3D点云数据一致。场景300的其他元素,例如汽车320、330可能正在移动。
与这些元素相关联的3D点可以相对于静止元素的那些点移动。对象点集由一组局部3D点组成,这些点被观察到作为显著对象以共同的方向和速度移动。显著对象中点的共同运动将点集与映射场景的其他3D点区分开来。属于显著对象的3D点形成近似场景中相应对象的概率形状。
其他线索可用于通知显著对象中3D点的分组,包括以下一项或多项:相邻3D点之间的光谱数据相似性、帧与帧匹配的3D点的运动、对象形状、光谱数据分布、和根据之前的观察估计的轨迹。
然后,可以使得有关显著对象的数据流可用于决策系统(计算最佳轨迹、路径和避免碰撞)或沉浸系统(人类或机器将展开的场景视为可导航的3D场景)。
在某些实施例中,被跟踪元素的预测轨迹可用于预测被跟踪对象占用的体素作为可集成到体素评估560的决策处理中的先前数据点。
在某些实施例中,通过对一系列时间观察的时间过滤、或通过提供体素占用的先验概率,先前捕获的体素数据或先前确定的聚合点云数据可用于支持体素评估560的决策处理。
在某些实施例中,3D点云可以通过实时定位进一步对准,其中相机阵列的参考点可以在参考结构内确定,使得代替相对3D点云,系统在点的任意参考系中提供3D点云,它也将相机阵列本身定位在3D点云中。来自相同场景上的相机阵列的先前运行的、或来自从第3方导出的3D点云的、或来自从第3方导出的区域的3D地图的先前的3D点云数据或图像数据然后能够被集成。
3D点云表示使用一个相机阵列捕获的单个时间时刻(严格在相对静态时间段期间)。3D点云类似于2D视频的单个图像帧。在某些实施例中,可以实时捕获3D点云连同包括位置和/或朝向的元数据。可以根据GPS、加速度计、陀螺仪事件或它们的组合来计算位置和/或朝向。捕获后,3D点云可用于实时或基本实时的决策。3D点云可以排队等待额外的处理(例如,在汽车空闲和/或静止时间期间),例如登记细化,其中可以随后添加额外的元数据,包括例如一个或多个细化参数的分层。
在某些实施例中,可以使用多个相机阵列在相同的相对静态时间或基本相同的相对静态时间捕获3D点云,并将它们的点云组合。这与聚合点云不同,后者结合了在不同时间捕获的点云。
一系列3D点云是3D点云视频。3D点云视频可以正向或反向顺序观看。此外,可以从不同的视点观看3D点云视频,并沿着六个自由度移动。此外,可以使用预先计算的位置朝向元数据和/或细化参数实时对准地,同时查看多个3D点云。
为3D点云视频存储许多点云可能需要使用空间和/或时间压缩技术。
所要求保护的主题的其他优点将从以下描述所要求保护的主题的某些实施例的示例中变得明显。
1A.示例1A。一种使用相机阵列生成具有准确深度估计的三维视频流的系统,包括:至少一个相机阵列,由多个相机(至少4、5、6、8、10、12、14或16个相机)组成,其中至少大部分相机包括对电磁光谱敏感的传感器,并且安装在阵列中大致固定且已知的位置;确保阵列中的至少大部分相机与阵列中的其他相机同时(或基本同时)拍摄其帧的机制;以及图像处理系统,其从阵列中的相机获取多个图像(或多个图像的大部分)并计算:对准每个图像(或图像的大部分)的标准化;包括3D场景(或3D场景的一部分)的一组体素;确定每个体素(或体素的大部分)在空间中特定3D位置被占用的概率的体素深度计算;以及图像处理系统的输出,该系统逐帧产生场景的3D深度图(或3D点云),该场景由每个体素(或体素的大部分)被占用的概率和可选的其他数据组成。
2A.示例1的系统,其中图像处理系统计算进一步的图像处理步骤,由此体素被成组关联在一起以在每个时间点(或点的大部分)形成场景中命名特征的概率表面;以及来自图像处理系统的输出,包括将像素关联到包括场景中的概率表面的组中。
3A.示例1A或2A的系统,其中相机在可见光谱和/或红外光谱和/或紫外光谱中是敏感的,并且其中特定光谱灵敏度可以在阵列中的相机之间变化;以及来自图像处理系统的输出,其中颜色值在可见光谱和/或红外光谱和/或紫外光谱中的颜色空间中。
4A.示例1A至3A中的任一个的系统,其中阵列中的相机可以不在单个平面中对准,而是在3个维度中的任何一个或所有维度中的固定位置处偏移。
5A.示例1A至4A中任一个的系统,其中体素占用计算使用一种方法,该方法包括:将体素面的反向投影到在每个相机(或相机的大部分)的2D传感器空间中对准的图像;计算两个或多个相机图像上每个体素(或体素的大部分)的反向投影的光谱响应(颜色)的一致性;以及基于所述一致性的计算,对场景中特定深度处的体素被该光谱响应的实体对象占用进行概率确定。
6A.示例5A的系统,其中一致性的计算包括计算跨越来自五个或更多相机图像的光谱响应之间的稳健统计估计。
7A.示例1A至6A中任一项的系统,其中概率确定包括来自相邻体素的信息以帮助计算,特别是将目标体素后面的体素标记为从特定相机观察时被遮挡,并且将目标体素前面的体素标记为透明的。
8A.示例1A至7A中的任一个的系统,其中概率确定包括关于在先前帧中的先前识别的对象或点簇的信息,该对象或点在体素的邻域内。
9A.示例1A至8A中任一个的系统,其中可以通过增加或减小体素宽度、高度和/或深度,来调整体素的大小以改进概率计算的可靠性。
10A.示例1A至9A中任一项的系统,其中一致性计算使用光谱和空间测量的组合。
11A.示例1A至10A中任一项的系统,其中一致性计算使用传感器元件的光谱和空间特性的组合。
12A.示例1A至11A中任一项的系统,其中一致性计算使用光谱测量和表观图像运动测量的组合。
13A.示例1A至12A中任一项的系统,其中所述体素占用计算包括:
从体素面到每个标准化相机图像或大部分标准化相机图像的反向投影;
每个此类投影(或此类投影的大部分)中的光谱比较;为投影分析每个相机(或大部分相机)的光谱变化;基于投影之间的光谱变化,对观察到的光谱从源体素面的深度处的体素发出的可能性进行概率评估;和将深度概率分配给源体素,指定它在该深度被物理表面占用的概率。
14A.示例1A至13A中任一项的系统,其中源体素大小被改变以提高深度概率的可靠性。
15A.示例1A至14A中任一项的系统,其中相机阵列随着时间移动,然后合并每个图像帧(或图像帧的大部分),如同它们是观察场景的附加相机阵列一样,从而将计算中使用的传感器的有效数量成为双倍、三倍等。
16A.示例1A至14A中任一项的系统,其中先前计算的体素与当前计算的体素组对准,并且先前的体素有助于计算当前体素的概率。
17A.示例1A至16A中任一项的系统,其中将基本相同的相机图像部分指定为发生在无限平面处,并且其中从基于被指定为发生在无限平面处的相机图像部分的计算中去除投影。
18A.示例1A至17A中任一项的系统,其中体素到每个传感器(或大部分传感器)中的像素位置的映射矩阵被预先计算并用作查找表以减少系统的处理时间。
19A.示例1A至18A中任一项的系统,其中用于镜头不失真的像素映射被包括或结合在预先计算的查找表中。
20A.示例1A至19A中任一项的系统,其中实时处理在时间限制内发生,并且在车辆空闲或静止时发生附加处理。
21A.示例1A至20A中任一项的系统,其中阵列中的相机能够在计算机决策系统的命令下在阵列内移动(平移和/或旋转),使得相机的方向相对于各种质量目标指标优化。
22A.示例1A至21A中任一项的系统,其中质量目标度量是引导相机像素阵列使得它们的测量精度针对阵列前面的特定距离优化的要求。
23A.一种使用示例1A至22A中的任一系统来生成具有精确深度估计的三维视频流的方法。
1B.一种能够(或被配置为产生)产生体素空间的系统,包括:相机阵列;能够(或被配置为接收)的处理引擎:接收从相机阵列收集的光谱数据;通过确定场景的一部分被表面占用的一个或多个概率,至少部分地使用收集到的光谱数据来生成体素空间;其中,体素空间代表物理空间。
2B.一种能够产生(或被配置为产生)体素空间的系统,包括:由多个相机组成的相机阵列;多个相机包括两个或更多相机,能够(或配置用于)从场景的两个或多个视场收集光谱数据;处理引擎,能够(或配置为):接收从相机阵列收集的光谱数据;通过为多个体素中的一个或多个体素确定由一个或多个体素表示的场景的一部分被表面占用的一个或多个概率,至少部分地使用所收集的光谱数据来生成包括所述多个体素的所述体素空间;将部分场景聚合成多个场景,以生成体素空间;其中,体素空间代表至少部分基于从两个或更多个视场收集的光谱数据的物理空间。
3B.一种能够(或被配置为产生)产生多个体素的系统,包括:由多个相机组成的相机阵列;多个相机包括两个或更多相机,能够(或配置用于)从场景的两个或多个视场收集光谱数据;处理引擎,能够(或配置为):接收从相机阵列收集的光谱数据;通过为多个体素中的一个或多个体素确定由一个或多个体素表示的场景的一部分被表面占用的一个或多个概率,至少部分地使用收集的光谱数据来生成多个体素;将场景的一部分聚合成多个场景以生成多个体素;其中,所述多个体素代表至少部分地基于从所述两个或更多个视场收集的光谱数据的物理空间。
4B.示例1B至3B中任一项的系统,其中相机阵列由多个相机组成。
5B.示例1B至4B中任一项的系统,其中所述多个相机包括能够(或被配置用于)从场景的两个或更多个视场收集光谱数据的两个或更多个相机。
6B.示例1B至5B中任一项的系统,其中处理引擎能够(或被配置为聚合)将场景的一部分聚合成多个场景以生成体素空间。
7B.示例1B至6B中任一项的系统,其中两个或更多个相机的两个或更多个视场至少部分重叠。
8B.示例1B至7B中任一项的系统,其中光谱数据包括一个或多个光谱信号。
9B.示例1B至8B中任一项的系统,其中所述一个或多个光谱信号包括一个或多个透明度值。
10B.示例1B至9B中任一项的系统,其中处理引擎能够(或被配置为使用)至少部分地使用一个或多个光谱信号来产生一个或多个光谱值。
11B.示例1B至10B中的一个或多个的系统,其中相机阵列由多个相机组成并且多个相机包括至少4个相机。
12B.示例1B至11B中任一项的系统,其中所述多个相机被配置到相机阵列中的固定且已知的位置。
13B.示例1B至12B中任一项的系统,其中相机阵列被配置为使得相机阵列中的至少两个相机在基本上相同的时间或同时拍摄包含场景的至少一部分的光谱数据的图像.
14B.示例1B至13B中任一项的系统,其中相机阵列中的大部分相机被配置为在基本上相同的时间或同时拍摄包含场景的至少一部分的光谱数据的图像。
15B.示例1B至14B中任一项的系统,其中所述相机阵列中的每个相机被配置为与所述相机阵列中的其他相机基本上同时或同时拍摄包含所述场景的至少一部分的光谱数据的图像。
16B.示例1B至15B中任一项的系统,其中所述相机阵列中的至少两个或更多个相机被配置为在相对静态时间段内拍摄包含所述场景的至少一部分的光谱数据的多个图像,其中所述时间段在0.01秒到1秒之间。
17B.示例1B至16B中任一项的系统,其中相机阵列中的至少两个或更多个相机被配置为在相对静态时间段内具有2至16之间的同时帧计数。
18B.示例1B至17B中任一项的系统,其中相机阵列中的至少两个或更多个相机被配置为在相对静态时间段内具有2至4之间的多个同时帧计数。
19B.示例1B至18B中任一项的系统,其中所述多个相机被配置为收集以下中的一个或多个中的光谱数据:可见光谱、红外光谱和紫外光谱。
20B.示例1B至19B中任一项的系统,其中所述多个相机的光谱灵敏度对于所述多个相机中的至少一个相机是不同的。
21B.示例1B至20B中任一项的系统,其中所述相机阵列中的所述多个相机具有基本平面对准。
22B.示例1B至21B中任一项的系统,其中所述相机阵列中的所述多个相机具有非平面对准。
23B.示例1B至22B中任一项的系统,其中处理引擎被配置为使用包括以下的方法来计算体素占有率:将一个或多个体素面反向投影到一个或多个相机的2D传感器空间中对准收集的光谱数据;计算在所收集的两个或多个光谱数据之间、一个或多个体素的反向投影的光谱响应的一致性;基于所述一致性的计算,对场景中特定深度处的一个或多个体素中的特定体素被该光谱响应的实体对象占用进行概率确定。
24B.示例23B的系统,其中一致性的计算包括计算跨越来自五个或更多相机图像的光谱响应之间的稳健统计估计。
25B.示例1B至24B中任一项的系统,其中一个或多个体素的特定体素的一个或多个概率确定还包括来自一个或多个相邻体素的信息,其中该信息指示一个或多个相邻体素被遮挡或透明。
26B.示例1B至25B中任一项的系统,其中一个或多个体素的特定体素的一个或多个概率确定进一步包括关于来自一个或多个相邻的先前收集的光谱数据中的先前识别的对象或点簇的信息体素。
27B.示例1B至26B中任一项的系统,其中处理引擎能够(或被配置为)调整体素的大小,以便通过执行以下一项或多项来改变一个或多个概率确定:增加或减少体素宽度,增加或减少体素高度,增加或减少体素深度。
28B.示例1B至27B中任一项的系统,其中一致性计算使用光谱和空间测量的组合。
29B.示例1B至28B中任一项的系统,其中体素占用计算包括:
从至少一个体素面反向投影到至少一个标准化收集的光谱数据;在至少一个这样的投影中进行光谱比较;分析用于所述投影的至少一个相机之间的光谱变化;基于投影之间的光谱变化,对观察到的光谱从至少一个源体素面的深度处的至少一个体素发出的可能性进行概率评估;和将深度概率分配给所述至少一个源体素,指定它在该深度被物理表面占用的概率。
30B.示例1B至29B中任一项的系统,其中先前计算的至少一个体素与当前计算的至少一个体素对准,以帮助计算至少一个当前体素的概率。
31B.示例1B至30B中任一个的系统,其中在所收集的光谱数据中的两个或更多个中的基本上相同的体素投影被指定为发生在无限平面处并且从计算中去除。
32B.示例1B至31B中任一项的系统,其中预先计算至少一个体素到至少一个传感器中的像素位置的映射矩阵,并将其用作查找表以减少系统的处理时间。
33B.示例1B至32B中任一项的系统,其中用于至少一个相机镜头不失真的至少一个像素映射被并入到预先计算的查找表中。
34B.示例1B至33B中任一项的系统,其中所述多个相机包括能够从场景的五个或更多个视场收集光谱数据的两个或更多个相机。
35B.示例1B至33B中任一项的系统,其中所述多个相机包括被配置为从场景的五个或更多个视场收集光谱数据的两个或更多个相机。
36B.示例1B至33B中任一项的系统,其中所述多个相机包括能够从场景的五个或更多个视场收集光谱数据的五个或更多个相机。
37B.示例1B至33B中任一项的系统,其中所述多个相机包括倍配置为从场景的五个或更多个视场收集光谱数据的五个或更多个相机。
1C.一种能够产生体素空间的系统,包括:由多个相机组成的相机阵列;所述多个相机包括能够从两个或更多个视场收集光谱数据的两个或更多个相机;处理引擎,其能够:从相机阵列接收光谱数据,并通过为多个体素中的一个或多个体素确定包括一个或多个透明度值并产生一个或多个光谱值的一个或多个光谱信号,至少部分地使用光谱数据,来生成多个体素;将一个或多个光谱值聚合成多个光谱信号以生成体素空间;其中,体素空间代表物理空间。
2C.一种被配置为产生体素空间的系统,包括:由多个相机组成的相机阵列;所述多个相机包括两个或更多个相机,所述相机被配置用于从两个或更多个视场收集光谱数据;处理引擎,被配置为:从相机阵列接收光谱数据,并通过为多个体素中的一个或多个体素确定包括一个或多个透明度值并产生一个或多个光谱值的一个或多个光谱信号,至少部分地使用光谱数据,来生成多个体素;将一个或多个光谱值聚合成多个光谱信号以生成体素空间;其中,体素空间代表物理空间。
3C.一种能够产生多个体素的系统,包括:由多个相机组成的相机阵列;所述多个相机包括能够从两个或更多个视场收集光谱数据的两个或更多个相机;处理引擎,能够:从相机阵列接收光谱数据,并通过为多个体素中的一个或多个体素确定包括一个或多个透明度值并产生一个或多个光谱值的一个或多个光谱信号,至少部分地使用光谱数据,来生成多个体素;将一个或多个光谱值聚合成多个光谱信号以生成多个体素;其中,多个体素代表物理空间。
4C.一种被配置为产生多个体素的系统,包括:由多个相机组成的相机阵列;所述多个相机包括两个或更多个相机,被配置用于从两个或更多个视场收集光谱数据;处理引擎,被配置为:从相机阵列接收光谱数据,并通过为多个体素中的一个或多个体素确定包括一个或多个透明度值并产生一个或多个光谱值的一个或多个光谱信号,至少部分地使用光谱数据,来生成多个体素;将一个或多个光谱值聚合成多个光谱信号以生成多个体素;其中,多个体素代表物理空间。
5C.一种能够产生体素空间的系统,包括:相机阵列,包括能够从视场收集光谱数据的多个相机,其中所述多个相机的视场至少部分重叠;处理装置,能够接收从相机阵列收集的光谱数据,处理装置能够将收集的光谱数据转换成包括多个体素的体素空间,并且处理装置能够为多个体素中的一个或多个体素确定包括透明度的光谱信号;其中,体素空间代表物理空间。
6C.一种被配置为产生体素空间的系统,包括:相机阵列,包括多个相机,所述相机被配置用于从视场收集光谱数据,其中所述多个相机的视场至少部分重叠;处理装置,其被配置为接收从相机阵列收集的光谱数据,该处理装置被配置为将收集的光谱数据转换为包括多个体素的体素空间,并且该处理装置被配置为多个体素中的一个或多个体素确定包括透明度的光谱信号;其中,体素空间代表物理空间。
7C.一种用于生成表示物理空间的场景的体素空间的方法,包括:布置由包括两个或更多个相机的多个相机组成的相机阵列,所述相机阵列的两个或更多个相机被配置为收集来自物理空间的一个或多个视图的光谱数据;使用相机阵列的多个相机从物理空间的一个或多个视图收集光谱数据,所收集的光谱数据是物理空间的两个或多个视场的光谱数据;将收集到的光谱数据从相机阵列传输到处理引擎,通过为多个体素中的一个或多个体素确定由一个或多个体素表示的场景的一部分被表面占用的一个或多个概率,至少部分地使用所收集的光谱数据来生成所述多个体素;将多个体素聚合到体素空间中;其中,场景的体素空间代表至少部分基于从两个或更多个视场收集的光谱数据的物理空间。
8C.一种能够生成代表物理空间的三维流式体素空间的系统,包括:由多个相机组成的相机阵列;所述多个相机包括能够从场景的两个或更多个视场收集光谱数据的两个或更多个相机,其中至少一个相机安装在所述相机阵列内的已知位置;相机阵列被配置成使得至少第一相机收集至少第一组光谱数据并且至少第二相机基本上同时收集至少第二组光谱数据;处理引擎,能够:从相机阵列接收至少第一组光谱数据和至少第二组光谱数据;执行将至少第一组光谱数据和至少第二组光谱数据对准以产生至少一个对准的光谱数据集的标准化;通过为体素空间的一个或多个体素确定一个或多个深度计算以至少部分地确定一个或多个体素在至少一个体素空间中占用特定的三维位置的概率,至少部分地使用至少一组对准的光谱数据来生成至少一个体素空间;将至少一个体素空间聚合成多个体素空间,并使用多个体素空间生成三维流式体素空间;其中,三维流式体素空间是物理空间的逐帧三维表示。
9C.一种被配置为生成代表物理空间的三维流式体素空间的系统,包括:由多个相机组成的相机阵列;所述多个相机包括两个或更多个相机,所述两个或更多个相机被配置用于从场景的两个或更多个视场收集光谱数据,其中至少一个相机安装在所述相机阵列内的已知位置;相机阵列被配置成使得至少第一相机收集至少第一组光谱数据并且至少第二相机基本上同时收集至少第二组光谱数据;处理引擎,被配置为:从相机阵列接收至少第一组光谱数据和至少第二组光谱数据;执行将至少第一组光谱数据和至少第二组光谱数据对准的标准化,以产生至少一个对准的光谱数据集;通过为体素空间的一个或多个体素确定一个或多个深度计算以至少部分地确定一个或多个体素在至少一个体素空间中占用特定的三维位置的概率,至少部分地使用至少一组对准的光谱数据来生成至少一个体素空间;将至少一个体素空间聚合成多个体素空间,并使用多个体素空间生成三维流式体素空间;其中,三维流式体素空间是物理空间的逐帧三维表示。
本文对现有技术文件的任何描述,或从这些文件衍生或基于这些文件的陈述,并不承认这些文件或衍生陈述是相关技术的公知常识的一部分。
尽管本文中已经示出和描述了某些实施例,但是对于本领域技术人员来说显而易见的是,这些实施例仅作为示例提供。
在某些实施例的上述描述中,为了清楚起见使用了特定术语。然而,本公开不旨在限于如此选择的特定术语,并且应理解,每个特定术语包括以类似方式操作以实现类似技术目的的其他技术等同物。诸如“左”和右”、“前”和“后”、“上”和“下”等术语用作提供参考点的方便用语,不应解释为限制性用语。
在本说明书中,“包含”一词应理解为“开放”意义,即“包括”的意义,因此不限于其“封闭”意义,即“仅由其组成”的意义。相应的含义应归属于它们出现的相应词“包含”、“包含”和“包含”。
应当理解,本公开不限于所公开的实施例,而是旨在涵盖包括在本公开的精神和范围内的各种修改和等效布置。此外,上述各种实施例可以结合其他实施例来实施,例如,一个实施例的方面可以与另一实施例的方面组合以实现其他实施例。此外,给定实施例的独立特征可以构成附加实施例。

Claims (36)

1.一种能够产生体素空间的系统,包括:
-相机阵列;
-处理引擎,能够:
ο接收从所述相机阵列收集的光谱数据;
ο通过确定场景的一部分被表面占用的一个或多个概率,至少部分地使用所收集的光谱数据来生成体素空间;
其中,所述体素空间代表物理空间。
2.一种能够产生体素空间的系统,包括:
-由多个相机组成的相机阵列;
-所述多个相机包括能够从场景的两个或更多个视场收集光谱数据的两个或更多个相机;
-处理引擎,能够:
ο接收从所述相机阵列收集的光谱数据;
ο通过为多个体素中的一个或多个体素确定由一个或多个体素表示的场景的一部分被表面占用的一个或多个概率,至少部分地使用所收集的光谱数据来生成包括所述多个体素的所述体素空间;
ο将所述场景的一部分聚合成多个场景,以生成所述体素空间;
其中,所述体素空间代表至少部分地基于从两个或更多个视场收集的光谱数据的物理空间。
3.一种能够产生多个体素的系统,包括:
-由多个相机组成的相机阵列;
-所述多个相机包括能够从场景的两个或更多个视场收集光谱数据的两个或更多个相机;
-处理引擎,能够:
ο接收从所述相机阵列收集的光谱数据;
ο通过为多个体素中的一个或多个体素确定由一个或多个体素表示的场景的一部分被表面占用的一个或多个概率,至少部分地使用所收集的光谱数据来生成所述多个体素;
ο将所述场景的一部分聚合成多个场景以生成所述多个体素;
其中,所述多个体素代表至少部分地基于从所述两个或更多个视场收集的光谱数据的物理空间。
4.根据权利要求1至3中任一项所述的系统,其中,所述相机阵列由多个相机组成。
5.根据权利要求1至4中任一项所述的系统,其中,所述多个相机包括能够从场景的两个或更多个视场收集光谱数据的两个或更多个相机。
6.根据权利要求1至5中任一项所述的系统,其中,所述处理引擎能够将所述场景的一部分聚合成多个场景以生成所述体素空间。
7.根据权利要求1至6中任一项所述的系统,其中,所述两个或更多个相机的所述两个或更多个视场至少部分重叠。
8.根据权利要求1至7中任一项所述的系统,其中,所述光谱数据包括一个或多个光谱信号。
9.根据权利要求1至8中任一项所述的系统,其中,所述一个或多个光谱信号包括一个或多个透明度值。
10.根据权利要求1至9中任一项所述的系统,其中,所述一个或多个光谱信号包括一个或多个表观图像运动值。
11.根据权利要求1至10中任一项所述的系统,其中,所述处理引擎能够至少部分地使用一个或多个光谱信号来产生一个或多个光谱值。
12.根据权利要求1至11中任一项所述的系统,其中,所述相机阵列由多个相机组成,并且所述多个相机包括至少4个相机。
13.根据权利要求1至12中任一项所述的系统,其中,所述多个相机被配置到所述相机阵列中的固定且已知的位置。
14.根据权利要求1至13中任一项所述的系统,其中,所述相机阵列被配置为使得所述相机阵列中的至少两个相机基本上同时或同时拍摄包含所述场景的至少一部分的光谱数据的图像。
15.根据权利要求1至14中任一项所述的系统,其中,所述相机阵列中的相机的大部分被配置为基本上同时或同时拍摄包含所述场景的至少一部分的光谱数据的图像。
16.根据权利要求1至15中任一项所述的系统,其中,所述相机阵列中的每个相机被配置为与所述相机阵列中的其他相机基本上同时或同时拍摄包含所述场景的至少一部分的光谱数据的图像。
17.根据权利要求1至16中任一项所述的系统,其中,所述相机阵列中的至少两个或更多个相机被配置为在相对静态时间段内拍摄包含所述场景的至少一部分的光谱数据的多个图像,其中所述时间段在0.01秒和1秒之间。
18.根据权利要求1至17中任一项所述的系统,其中,所述相机阵列中的所述至少两个或更多个相机被配置为在所述相对静态时间段内具有2至16之间的同时帧计数。
19.根据权利要求1至18中任一项所述的系统,其中所述相机阵列中的所述至少两个或更多个相机被配置为在所述相对静态时间段内具有2至4之间的多个同时帧计数。
20.根据权利要求1至19中任一项所述的系统,其中,所述多个相机被配置为收集以下中的一个或多个中的光谱数据:可见光谱、红外光谱和紫外光谱。
21.根据权利要求1至20中任一项所述的系统,其中,对于所述多个相机中的至少一个相机,所述多个相机的光谱灵敏度不同。
22.根据权利要求1至21中任一项所述的系统,其中,所述相机阵列中的所述多个相机具有基本平面对准。
23.根据权利要求1至22中任一项所述的系统,其中,所述相机阵列中的所述多个相机具有非平面对准。
24.根据权利要求1至23中任一项所述的系统,其中,所述处理引擎被配置为使用包括以下的方法来计算体素占用:
-将一个或多个体素面反向投影到一个或多个相机的2D传感器空间中对准收集的光谱数据;
-计算在所收集的两个或更多个光谱数据之间、一个或多个体素的反向投影的光谱响应的一致性;
-基于所述一致性的计算,对场景中特定深度处的一个或多个体素中的特定体素被该光谱响应的实体对象占用进行概率确定。
25.根据权利要求24所述的系统,其中,所述一致性的计算包括来自五个或更多个相机的光谱响应之间的稳健统计估计的计算。
26.根据权利要求1至25中任一项所述的系统,其中所述一个或多个体素的特定体素的所述一个或多个概率确定进一步包括:来自一个或多个相邻体素的信息,其中所述信息指示所述一个或多个相邻体素是被遮挡或透明的。
27.根据权利要求1至26中任一项所述的系统,其中所述一个或多个体素中的特定体素的所述一个或多个概率确定进一步包括:关于来自所述一个或多个相邻体素的先前收集的光谱数据中的先前识别的对象或点簇的信息。
28.根据权利要求1至27中任一项所述的系统,其中,所述处理引擎能够调整所述体素的大小,以便通过执行以下一项或多项操作来改变所述一个或多个概率确定:增加或减少体素宽度,增加或减少体素高度,以及增加或减少体素深度。
29.根据权利要求1至28中任一项所述的系统,其中,所述一致性计算使用光谱和空间测量的组合。
30.根据权利要求1至29中任一项所述的系统,其中,所述体素占用计算包括:
-从至少一个体素面反向投影到至少一个标准化收集的光谱数据;
-在至少一个这样的投影中进行光谱比较;
-分析用于所述投影的至少一个相机之间的光谱变化;
-基于投影之间的光谱变化,对观察到的光谱从至少一个源体素面的深度处的至少一个体素发出的可能性进行概率评估;和
-将深度概率分配给所述至少一个源体素,指定它在该深度被物理表面占用的概率。
31.根据权利要求1至30中任一项所述的系统,其中先前计算的至少一个体素与当前计算的至少一个体素对准,以帮助计算所述至少一个当前体素的概率。
32.根据权利要求1至31中任一项所述的系统,其中,在所收集的光谱数据中的两个或更多个中基本相同的体素投影被指定为发生在无限平面处,并且从计算中去除。
33.根据权利要求1至32中任一项所述的系统,其中,预先计算至少一个体素到至少一个传感器中的像素位置的映射的矩阵,并将其用作查找表以减少系统的处理时间。
34.根据权利要求1至33中任一项所述的系统,其中,用于至少一个相机镜头不失真的至少一个像素映射被并入所述预先计算的查找表中。
35.根据权利要求1至34中任一项所述的系统,其中,所述多个相机包括能够从场景的五个或更多个视场收集光谱数据的两个或更多个相机。
36.根据权利要求1至34中任一项所述的系统,其中,所述多个相机包括能够从场景的五个或更多个视场收集光谱数据的五个或更多个相机。
CN202080090311.5A 2019-11-01 2020-10-30 用相机阵列生成和/或使用3维信息的系统和方法 Pending CN115280363A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962929336P 2019-11-01 2019-11-01
AU2019904127 2019-11-01
AU2019904127A AU2019904127A0 (en) 2019-11-01 Systems and methods for generating and/or using 3-dimensional information with camera arrays
US62/929,336 2019-11-01
PCT/AU2020/051189 WO2021081603A1 (en) 2019-11-01 2020-10-30 Systems and methods for generating and/or using 3-dimensional information with camera arrays

Publications (1)

Publication Number Publication Date
CN115280363A true CN115280363A (zh) 2022-11-01

Family

ID=75714424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080090311.5A Pending CN115280363A (zh) 2019-11-01 2020-10-30 用相机阵列生成和/或使用3维信息的系统和方法

Country Status (4)

Country Link
US (1) US20220383585A1 (zh)
EP (1) EP4052223A4 (zh)
CN (1) CN115280363A (zh)
WO (1) WO2021081603A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220397870A1 (en) * 2021-06-10 2022-12-15 Zebra Technologies Corporation Collision Mitigation Systems and Methods

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111091591B (zh) * 2019-12-23 2023-09-26 阿波罗智联(北京)科技有限公司 一种碰撞检测方法、装置、电子设备及存储介质
US12051152B2 (en) * 2020-01-24 2024-07-30 Outsight Method and system for generating a colored tridimensional map
US20220207769A1 (en) * 2020-12-28 2022-06-30 Shenzhen GOODIX Technology Co., Ltd. Dual distanced sensing method for passive range finding

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6356272B1 (en) * 1996-08-29 2002-03-12 Sanyo Electric Co., Ltd. Texture information giving method, object extracting method, three-dimensional model generating method and apparatus for the same
JP5206366B2 (ja) * 2008-11-27 2013-06-12 カシオ計算機株式会社 3次元データ作成装置
MY185446A (en) * 2011-07-11 2021-05-19 Univ Sains Malaysia A method for predicting a landslide disaster
US8854282B1 (en) * 2011-09-06 2014-10-07 Google Inc. Measurement method
US8988431B2 (en) * 2012-08-08 2015-03-24 Umbra Software Ltd. Conservative cell and portal graph generation
US8619082B1 (en) * 2012-08-21 2013-12-31 Pelican Imaging Corporation Systems and methods for parallax detection and correction in images captured using array cameras that contain occlusions using subsets of images to perform depth estimation
US9083961B2 (en) * 2012-09-28 2015-07-14 Raytheon Company System for correcting RPC camera model pointing errors using 2 sets of stereo image pairs and probabilistic 3-dimensional models
US9305600B2 (en) * 2013-01-24 2016-04-05 Provost Fellows And Scholars Of The College Of The Holy And Undivided Trinity Of Queen Elizabeth, Near Dublin Automated video production system and method
US10062203B2 (en) * 2015-12-18 2018-08-28 Autodesk, Inc. Voxelization of mesh representations
US9813673B2 (en) * 2016-01-20 2017-11-07 Gerard Dirk Smits Holographic video capture and telepresence system
US10460511B2 (en) * 2016-09-23 2019-10-29 Blue Vision Labs UK Limited Method and system for creating a virtual 3D model
US10354444B2 (en) * 2017-07-28 2019-07-16 The Boeing Company Resolution adaptive mesh that is generated using an intermediate implicit representation of a point cloud
CN111033575A (zh) * 2017-08-09 2020-04-17 夏普株式会社 图像处理装置、显示装置、图像发送装置、图像处理方法、控制程序以及记录介质
AU2018384159B2 (en) * 2017-12-14 2021-02-11 Canon Kabushiki Kaisha Generation device, generation method and program for three-dimensional model
GB2569546B (en) * 2017-12-19 2020-10-14 Sony Interactive Entertainment Inc Determining pixel values using reference images
US10977810B2 (en) * 2018-12-06 2021-04-13 8th Wall Inc. Camera motion estimation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220397870A1 (en) * 2021-06-10 2022-12-15 Zebra Technologies Corporation Collision Mitigation Systems and Methods

Also Published As

Publication number Publication date
EP4052223A1 (en) 2022-09-07
EP4052223A4 (en) 2023-11-01
US20220383585A1 (en) 2022-12-01
WO2021081603A1 (en) 2021-05-06

Similar Documents

Publication Publication Date Title
US10445928B2 (en) Method and system for generating multidimensional maps of a scene using a plurality of sensors of various types
US9715016B2 (en) Real time multi dimensional image fusing
US11113959B2 (en) Crowdsourced detection, identification and sharing of hazardous road objects in HD maps
US20220383585A1 (en) Systems And Methods For Generating And/Or Using 3-Dimensional Information With Camera Arrays
TWI841695B (zh) 用於雷達輔助之單一影像三維深度重建之方法、車載電腦及非暫時性電腦可讀媒體
CN111918053A (zh) 车辆图像验证
Yao et al. Estimating drivable collision-free space from monocular video
CN110325818A (zh) 经由多模融合的联合3d对象检测和取向估计
CN109993060B (zh) 深度摄像头的车辆全向障碍物检测方法
US20200404224A1 (en) Multispectrum, multi-polarization (msmp) filtering for improved perception of difficult to perceive colors
US20230188696A1 (en) Systems And Methods For Generating And/Or Using 3-Dimensional Information With Camera Arrays
CN115032651A (zh) 一种基于激光雷达与机器视觉融合的目标检测方法
US11640675B2 (en) Methods and systems for interpreting traffic scenes
US20240221312A1 (en) Systems and methods for generating and/or using 3-dimensional information with one or more cameras
Rossi et al. On the role of sensor fusion for object detection in future vehicular networks
Sorial et al. Towards a real time obstacle detection system for unmanned surface vehicles
CN111833443A (zh) 自主机器应用中的地标位置重建
Ho et al. Localization on freeways using the horizon line signature
US20240151855A1 (en) Lidar-based object tracking
CN116189138A (zh) 一种基于车路协同的视野盲区行人检测算法
WO2021004813A1 (en) Method and mobile entity for detecting feature points in an image
CN116648726A (zh) 用于用摄像机阵列生成和/或使用3维信息的系统和方法
CN112020722A (zh) 基于三维传感器数据识别路肩
Daraei Tightly-coupled lidar and camera for autonomous vehicles
CN111414848B (zh) 一种全类别3d障碍物检测方法、系统和介质

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