CN117501311A - 利用一个或多个摄像机生成和/或使用三维信息的系统和方法 - Google Patents
利用一个或多个摄像机生成和/或使用三维信息的系统和方法 Download PDFInfo
- Publication number
- CN117501311A CN117501311A CN202280043428.7A CN202280043428A CN117501311A CN 117501311 A CN117501311 A CN 117501311A CN 202280043428 A CN202280043428 A CN 202280043428A CN 117501311 A CN117501311 A CN 117501311A
- Authority
- CN
- China
- Prior art keywords
- scene
- cameras
- image
- pixel data
- camera
- 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
Links
- 238000000034 method Methods 0.000 title abstract description 103
- 230000003287 optical effect Effects 0.000 claims description 66
- 239000011159 matrix material Substances 0.000 claims description 60
- 238000004364 calculation method Methods 0.000 claims description 31
- 230000003595 spectral effect Effects 0.000 claims description 28
- 230000003068 static effect Effects 0.000 claims description 17
- 238000005457 optimization Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 description 39
- 230000015654 memory Effects 0.000 description 36
- 238000012545 processing Methods 0.000 description 31
- 238000004891 communication Methods 0.000 description 19
- 238000001228 spectrum Methods 0.000 description 15
- 230000008901 benefit Effects 0.000 description 13
- 238000010276 construction Methods 0.000 description 12
- 238000012937 correction Methods 0.000 description 10
- 238000013507 mapping Methods 0.000 description 7
- 239000013598 vector Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 239000000428 dust Substances 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000001429 visible spectrum Methods 0.000 description 3
- 241000238631 Hexapoda Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000005111 flow chemistry technique Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 244000025254 Cannabis sativa Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 241000533950 Leucojum Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000003702 image correction Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002329 infrared spectrum Methods 0.000 description 1
- 230000003137 locomotive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 150000002739 metals Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000002211 ultraviolet spectrum Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C11/00—Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
- G01C11/02—Picture taking arrangements specially adapted for photogrammetry or photographic surveying, e.g. controlling overlapping of pictures
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C11/00—Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
- G01C11/04—Interpretation of pictures
- G01C11/06—Interpretation of pictures by comparison of two or more pictures of the same area
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C11/00—Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
- G01C11/36—Videogrammetry, i.e. electronic processing of video signals from a single source or from different sources to give parallax or range information
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B30/00—Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/292—Multi-camera tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/243—Image signal generators using stereoscopic image cameras using three or more 2D image sensors
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C11/00—Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
- G01C11/02—Picture taking arrangements specially adapted for photogrammetry or photographic surveying, e.g. controlling overlapping of pictures
- G01C11/025—Picture taking arrangements specially adapted for photogrammetry or photographic surveying, e.g. controlling overlapping of pictures by scanning the object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
- G06T2207/10021—Stereoscopic video; Stereoscopic image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10032—Satellite or aerial image; Remote sensing
- G06T2207/10036—Multispectral image; Hyperspectral image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30232—Surveillance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30236—Traffic on road, railway or crossing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
- G06T2207/30256—Lane; Road marking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
- G06T2207/30261—Obstacle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2215/00—Indexing scheme for image rendering
- G06T2215/16—Using real world measurements to influence rendering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/122—Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/128—Adjusting depth or disparity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/246—Calibration of cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/257—Colour aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N2013/0074—Stereoscopic image analysis
- H04N2013/0081—Depth or disparity estimation from stereoscopic image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N2013/0074—Stereoscopic image analysis
- H04N2013/0085—Motion estimation from stereoscopic image signals
Abstract
本公开涉及设备、系统和/或方法,可用于使用至少部分地从一个或多个摄像机获得的数据来确定来自真实生活场景的场景信息,该一个或多个摄像机可在真实生活场景内、上方或经过真实生活场景移动。在某些实施例中,一些摄像机可以是基本静止的。示例性系统可以被配置成实时或基本实时地生成三维信息,并且可以用于估计真实生活场景中一个或多个物理表面的速度。
Description
技术领域
本公开总体上涉及可用于使用至少部分从一个或多个摄像机获得的数据来确定场景信息的设备、系统和/或方法。场景信息可以是三维(three-dimensional,3D)信息。
背景技术
关于3D环境的场景信息可用于许多应用,包括例如车辆在传统道路和高速公路上的安全自动驾驶,以及例如用于导航、勘测、环境监测、作物监测、矿山勘测以及检查已建结构的完整性。
创建这种场景信息的一种方式是使用一个或多个激光器的设备,这些激光器潜在地会频闪(strobing)以覆盖场景来发射光脉冲,并且测量接收反射脉冲的时间延迟来确定3D场景中的表面与激光源的距离—这种设备通常被称为激光雷达(LiDAR)。该方案有许多缺点,例如:(1)很难在远距离上实现横向精度(角分辨率是固定的,因此误差随距离而增加);(2)当环境中有许多有源激光器时(常见的情况是交通充满了配备有LiDAR的车辆),激光脉冲会潜在地干扰;(3)返回的脉冲需要来自目标物理表面在响应方向上的合理反射率,以及(4)雨、灰尘和雪通过潜在的多重反射场景变得混乱而造成困难,这些反射打破了光脉冲沿直线传播到目标并返回的假设。此外,LiDAR不会捕获目标物理表面的视觉外观(通常包含在可见电磁波谱的红-绿-蓝(Red-Green-Blue,RGB)部分中),从而限制了一些处理和分析。
创建3D场景信息的另一种方法是使用雷达。然而,雷达的角度分辨率比LiDAR更有限,并且反射更依赖于目标的物理表面特征;例如,金属反射良好,但是人体会吸收大部分雷达信号。
通过适当的处理,可以使用光学摄像机系统来生成3D场景信息。捕获图像对的双目摄像机可用于基于双目视差(即,场景中固定特征在两个图像中的位置之间的差异)推导出3D场景信息,特别是深度信息。通常,双目视差方法匹配由具有已知物理分离或基线的摄像机捕获的图像对中的局部区域。根据视差,可以基于光学(假设光沿直线传播)和几何三角测量原理来确定匹配区域的深度。双目视差方法在平原区域容易出错,在平原区域,几乎没有或没有纹理可用于识别两个独立视图之间的精确匹配。双目视差方法也受到对象周围的模糊性的影响,其中这些对象的部分被一个或两个摄像机遮挡。
在本领域中已知使用协同工作两个以上摄像机从不同位置查看场景的光学摄像机系统,这些系统通常简称为摄像机阵列。这些阵列从多个不同的方向和/或位置捕获场景的一组2D图像。然后,可以使用与双目摄像机相似的原理,基于来自摄像机阵列中不同摄像机的图像对之间匹配的局部图像区域的视差来获得深度信息。摄像机阵列系统的一种实现是微透镜阵列,即,设置在位于微型单个摄像机传感器前面的固定网格中的小透镜阵列。然而,这种阵列中摄像机对之间的基线通常受到制造过程的尺寸和分辨率的限制(这使得基线非常小),因此限制了深度和角度分辨率和精度。
另一种方案是使用安装在平台上的摄像机并随时间从摄像机采集一系列图像,该平台在场景(例如,车辆)内移动。因此,这些图像可以表示来自多个位置的场景视图,在这些位置之间,基线可以至少部分地由在捕获图像的时间段内车辆移动的距离来定义。
采用这些方法的先前系统可能产生大量数据,然后必须对这些数据进行管理(通常每个摄像机每秒处理数百万像素值),这可能需要大量的计算资源来从中确定精确的深度和其他期望的场景信息。在一种方案中,三维空间中的采样点和它们在每个摄像机视场中的表观(appearance)之间的映射可能需要为每个摄像机单独确定,并针对在一段时间内拍摄的多个图像“帧”上的运动进行调整。如果需要以高分辨率覆盖场景的大部分,这些采样点的数量可能非常大。对于每一帧(利用当前技术可以容易地以超过60帧/秒的速度捕获),场景中的采样点和来自摄像机的图像数据中的像素之间的映射通常需要大量的计算资源。如果这些图像的大部分用于估计3D场景信息,则总的计算量可能变得无法实现可接受的帧速率。因此,这种系统通常以受限的分辨率或受限的帧速率运行。也许可以预先计算图像数据中的采样点和像素之间的映射(即,在制造期间计算一次或在系统启动时计算一次)以节省计算工作量。然而,在这种情况下,必须在计算机存储器中存储大量的参数,然后将其应用于变换图像数据,如此,以实时速度构建或操作是不切实际的。在任何情况下,高计算要求或需要存储的大量参数使得难以构造可以以合适的实时帧速率传递精确、高分辨率3D场景信息的系统。
本公开旨在克服和/或改善现有技术的至少一个或多个缺点,这将从本文的讨论中变得明显。本公开还提供了如本文所讨论的其他优点和/或改进。
发明内容
本公开的某些实施例涉及针对使用至少部分从在场景内移动的一个或多个摄像机获得的数据来确定场景信息的设备、系统和/或方法。场景信息可以是3D信息。
在某些实施例中,系统可以被配置成实时或基本实时地生成三维信息。
在某些实施例中,系统可以被配置成以实时帧速率或基本实时帧速率生成三维信息。
某些实施例针对使用一个或多个示例性公开系统来生成三维视频信息的方法。
某些实施例针对可用于估计真实生活场景中物理表面的速度的系统。
本公开的某些实施例针对一种用于生成场景的三维信息的系统,包括:一个或多个摄像机,所述一个或多个摄像机配置为被定位以观察所述场景,以及生成代表在相对于所述场景的不同位置拍摄的至少两个图像的像素数据;所述一个或多个摄像机还配置为将至少部分地与至少两个图像相关联的像素数据传输到一个或多个计算机系统;以及所述一个或多个计算机系统配置为:根据所述至少两个图像获取所述相关联的像素数据;以及使用所述相关联的像素数据的至少一部分来确定所述场景中一个或多个物理表面的可能位置。
本公开的某些实施例针对一种用于生成场景的三维信息的系统,包括:一个或多个摄像机,所述一个或多个摄像机配置为被定位以观察所述场景,以及生成代表在相对于所述场景的不同位置拍摄的至少两个图像的像素数据;所述一个或多个摄像机还配置为将至少部分地与所述至少两个图像相关联的像素数据传输到一个或多个计算机系统;以及所述一个或多个计算机系统配置为:根据所述至少两个图像的获取所传输的所述相关联的像素数据;提取所述相关联的像素数据的至少一部分;使用所述相关联的像素数据的至少一部分来生成3D邻域的表示,所述3D邻域至少部分地基于所述3D邻域在至少一个所述图像中的投影来代表所述场景的至少一部分;以及使用所述相关联的像素数据的至少一部分来确定所述场景中的一个或多个物理表面与所述3D邻域相交的可能性。
本公开的某些实施例针对一种用于生成场景的三维信息的系统,包括:一个或多个摄像机,所述一个或多个摄像机配置为被定位以观察所述场景,以及生成代表在相对于所述场景的不同位置拍摄的至少两个图像的像素数据;所述一个或多个摄像机还配置为将至少部分地与所述至少两个图像相关联的像素数据传输到一个或多个计算机系统;以及所述一个或多个计算机系统配置为:获取所传输的像素数据;使用所述像素数据的至少一部分来生成一个或多个3D邻域的一个或多个表示,所述一个或多个3D邻域至少部分代表所述场景的一部分;以及使用所述一个或多个表示确定所述一个或多个3D邻域包含来自所述场景的至少一个物理表面的可能性。
本公开的某些实施例针对一种用于生成场景的三维信息的方法,包括:使用一个或多个摄像机生成在相对于所述场景的不同位置拍摄的至少两个图像,所述一个或多个摄像机被定位以观察所述场景,以及使用所述一个或多个摄像机生成代表在相对于所述场景的不同位置拍摄的至少两个图像的像素数据;将至少部分地与所述两个图像相关联的像素数据从所述一个或多个摄像机传输至一个或多个计算机系统;在所述一个或多个计算机系统处根据所述至少两个图像接收所述相关联的像素数据;以及使用所述相关联的像素数据的至少一部分来确定所述场景中一个或多个物理表面的可能位置。
本公开的某些实施例针对一种用于生成场景的三维信息的方法,包括:使用一个或多个摄像机生成代表在相对于所述场景的不同位置拍摄的至少两个图像的像素数据,所述一个或多个摄像机被定位以观察所述场景;将至少部分地与所述至少两个图像相关联的像素数据从所述一个或多个摄像机传输至一个或多个计算机系统;在所述一个或多个计算机系统处根据所述至少两个图像获取所传输的相关联的像素数据;在所述一个或多个计算机系统中提取所述相关联的像素数据的至少一部分;使用所述相关联的像素数据的至少一部分来生成3D邻域的表示,所述3D邻域至少部分地基于所述3D邻域在至少一个所述图像中的投影来代表所述场景的至少一部分;以及使用所述相关联的像素数据的至少一部分来确定所述场景中的一个或多个物理表面与所述3D邻域相交的可能性。
本公开的某些实施例针对一种用于生成场景的三维信息的方法,包括:使用一个或多个摄像机生成代表在相对于所述场景的不同位置拍摄的至少两个图像的像素数据,所述一个或多个摄像机被定位以观察所述场景;将至少部分地与所述至少两个图像相关联的像素数据从所述一个或多个摄像机传输至一个或多个计算机系统;在所述一个或多个计算机系统处获取所发送的像素数据;使用所述像素数据的至少一部分来生成一个或多个3D邻域的一个或多个表示,所述一个或多个3D邻域至少部分代表所述场景的一部分;以及使用所述一个或多个表示确定所述一个或多个3D邻域包含来自所述场景的至少一个物理表面的可能性。
本公开的某些实施例针对使用本文公开的系统的方法。
附图说明
图1示出了根据某些实施例的用于创建场景的三维表示的的顶层系统示意图,包括摄像机平台和计算机系统。
图2示出了根据某些实施例的摄像机的示意性组件示意图。
图3是由1至4个摄像机观察到的示例性真实世界场景的图示,并且示出了在这种情况下是正面平行平面(fronto parallel plane)的参考表面。
图4是参考表面的替选位置的图示。
图5是图像对的极平面和极线的图示。
图6是图像对的极校正的图示。
图7是用于针对图像对创建一致深度移位扭曲的几何构造的图示。
图8是与源图像对相关的一对扭曲的图示。
图9是用于使用弯曲的参考表面针对图像对创建一致深度移位扭曲的几何构造的图示。
图10是根据某些实施例的示例性用途和可能的摄像机配置的图示。
图11是根据某些实施例的另一些示例性摄像机配置的图示。
图12是根据某些实施例的示例性摄像机配置的图示。
图13示出了示例性过程的流程图。
图14是成本矩阵的图示。
图15是光流处理的补偿的图示。
图16示出了替代示例性过程的流程图。
图17示出了替代示例性过程的流程图。
图18是如何构造3D邻域的图示。
图19是根据某些实施例的示例性摄像机阵列的图示,其中至少一个摄像机是移动的,至少一个摄像机是静止的。
具体实施例
以下描述是关于可以共享共同特性和特征的几个实施例提供的。应当理解,一个实施例的一个或多个特征可以与其他实施例的一个或多个特征相结合。此外,某些实施例中的单个特征或特征的组合可以构成附加实施例。本文公开的具体结构和功能细节不应被解释为限制性的,而仅作为教导本领域技术人员以各种方式采用所公开的实施例和这些实施例的变型的代表性基础。
包括详细描述中使用的主题词仅为了便于读者参考,而不应用于限制在整个公开或权利要求中发现的主题。不应使用主题词来解释权利要求的范围或权利要求的限制。
本公开的某些实施例可用于在许多领域。例如,以下非限制性示例性应用中的一个或多个:越野车(例如,汽车、公共汽车、摩托车、卡车、拖拉机、叉车、起重机、反铲挖土机、推土机);道路车辆(如汽车、公共汽车、摩托车、卡车);基于轨道的车辆(例如机车);空中交通工具(例如,飞机)、太空基交通工具(例如,卫星或卫星群);个人(如矿工、士兵、战士、救援人员、维修工人)、两栖车辆(如船只、汽车、公共汽车);以及水运工具(例如,轮船、气垫船、潜艇)。此外,非限制性示例性应用可以是操作员驱动的、半自主的和/或自主的。
术语“场景”是指通过一个或多个摄像机的视场感知的三维真实世界(即3D物理现实)的子集。在某些实施例中,可以存在至少1、2、3、4、5、10、15、20、25、30、35或40、100、1000或更多个摄像机。在某些实施例中,可以存在2至4、2至8、4至16、16至128、128至1024个摄像机。
术语“对象”是指场景中的元素。例如,场景可以包括以下对象中的一个或多个:人、儿童、汽车、卡车、起重机、采矿卡车、公共汽车、火车、坦克、军用车辆、轮船、快艇、舰、货船、海军舰艇、摩托车、车轮、草丛、灌木、树木、树枝、树叶、岩石、小山、悬崖、河流、道路、道路上的标记、路面上的凹陷、雪花、房屋、办公楼、工业建筑、塔、桥、渡槽、鸟、飞行的鸟、跑道、飞机、无人驾驶飞机、导弹、直升机、门、门把手、架子、存储架、叉车、箱子、建筑物,机场、城镇或城市、河流、山脉、田野、丛林和集装箱。对象可以是移动的元素,也可以是静止的或基本静止的。对象可以被认为是在背景或前景中。
术语“物理表面”是指场景中在电磁波谱的至少一部分中发射和/或反射电磁信号的对象的表面,其中这种信号的至少一部分穿过场景的至少一部分。
术语“3D点”是指场景中点的物理位置,其至少部分地由至少三个参数定义,这些参数指示从原始参考到点的三维距离。例如指示来自原始参考的三个方向上的距离,这些方向可以基本上垂直(至少不是共面或共线),或者,作为替选示例,使用由径向距离、极角和方位角组成的球面坐标系。术语“代表3D点”是指场景中实际点位置的数字表示。
术语“3D邻域”或“邻域”是指场景中的物理3D体积,其在一个或多个方向上的最大线性范围可以被限制为小于指定的阈值。该阈值在不同的方向可以是不同的,例如可以是0.1mm、1mm、5mm、1cm、5cm、10cm、50cm、1m、5m、10m、50m、100m或当考虑由场景表示的物理空间的整体尺寸时的适当大小的其他值。如果3D邻域的坐标位于由该3D邻域描述的3D体积内,则可以认为3D邻域包含一个或多个3D点。本公开中涉及3D邻域的讨论和/或计算也可以应用于单个3D点。术语“代表3D邻域”或“代表邻域”是指场景中3D体积的数字表示。
术语“3D场景信息”、“3D信息”或“场景信息”是指在相对静态的时间段内关于场景的信息。其中,关于场景中的一个或多个3D点、3D邻域和/或场景信息的信息可以可选地不包括或包括下述项中的一项或多项:i)3D邻域的特性位置(非限制性示例可以是邻域中包含的3D点的算术质心或几何质心);ii)关于至少部分包含在来自一个或多个摄像机的视角的3D邻域中的一个或多个3D点、对象或物理表面的表观的光谱信息;iii)至少部分地描述至少部分包含在3D邻域中的3D点、对象或物理表面的数据集合;以及iv)至少部分地描述3D邻域的属性的数据,这些属性可以是用于计算物理表面的可能存在和/或特性,这些物理表面可以至少部分地包含在3D邻域中,或者可以用于后续处理和/或决策系统。数据集合可以包括以下特征中的一个或多个:3D点的纹理;来自3D点附近区域的光谱数据;一个或多个3D点在一个、两个或三个维度中的的瞬时速度(也可以是3D点在一个、两个或三个维度中的一个或多个归纳速度值,例如平均速度);全部或部分存在于3D邻域中的对象或物理表面的类型或分类;以及其他数据。
术语“3D速度数据”是指3D场景信息的至少一部分的速度分量。
术语“传感器元件”是指在一段可控的时间内测量到达其表面的入射电磁波谱的强度的设备。
术语“图像传感器”是指空间布置的多个传感器元件。多个传感器元件可以以平面或基本平面的关系布置。多个传感器元件可以以基本规则的图案布置(例如,传感器元件可以基本等距间隔开)。多个传感器元件可以以不规则间隔的图案布置(例如,传感器元件可以以不同的距离间隔开)。多个传感器元件可以以规则和不规则间隔的图案布置(例如,至少两个传感器元件可以基本上等距间隔开,并且至少两个传感器元件可以以不同的距离间隔开,基本上等距间隔开)。传感器元件可以布置成至少1、2、3或4个平面或基本平面的关系。可以预期图像传感器内的传感器元件的其他空间关系。
术语“滤波器阵列”是指靠近图像传感器中的传感器元件定位的滤波器或滤波器组,将到达传感器元件的电磁波谱限制在有限的频率范围内,因此传感器元件响应并测量大体该部分频谱的强度。滤波器阵列的非限制性示例是拜耳(Bayer)滤波器,其通过布置成2x2矩形网格的4个相邻传感器元件的组以RG-GB模式过滤光。另一个非限制性示例是滤波器,其可以将光的频率限制到传感器元件的大部分。
术语“摄像机”是指包括图像传感器、可选滤波器阵列和透镜(或多个透镜)的设备,该设备至少部分地将输入电磁信号的潜在有限部分引导到图像传感器中的至少一些传感器元件上。透镜可以例如是光学透镜、衍射光栅或其组合。
术语“图像”是指特定摄像机的图像传感器在给定时间或特定时间段内捕获的数据。图像也可以是指可以至少部分地包括其他数据的计算变换的数据,其中,以可映射到通过图像状结构的二维网格的方式存储变换后的数据可能是有利的。非限制性示例包括以下数据中的一项或多项:经滤波的图像数据、经校正的图像数据、光流数据、二次采样图像数据、透明度数据、3D点在2D表面上的投影、3D邻域在2D表面上的投影以及更高维数据在2D表面或网格上的投影。
术语“图像平面”指图像传感器的2-D表面、数据形式的图像传感器的2-D表面的表示、或用于方便教学的2D数学几何构造(非限制性示例可以是其上可以构建更高维数据的数学投影的2D表面)。这种更高维数据的示例可以包括下述项中的一项或多项:3D点、3D邻域、包括具有3个通道的颜色的3D点(RGB-因此是6D),以及具有相关联的至少RGB颜色通道数据和3个独立空间方向中的至少一个速度测量的3D点(因此高达9D)。
本文使用的术语“摄像机中心”或“摄像机光学中心”是指抽象的3D点,在该3D点处从场景中的源进入摄像机的电磁波谱的定向射线相交(如果该定向射线能够以直线无障碍地穿过图像传感器的滤波器阵列、透镜和/或传感器元件)。
本文使用的术语“每个”是指按照指示来执行所提及项或功能的至少95%、96%、97%、98%、99%或100%。示例性项目或功能包括但不限于下述项中的一项或多项:位置、图像、图像对、单元、像素、像素位置、层、元素、代表邻域、邻域、点、代表3D邻域、3D邻域、表面、物理表面、代表3D点和3D点。
参考图像数据的术语“水平”可以用于方便地参考定向。例如,在传统术语中,图像数据可以被认为排列在水平扫描线中。在实践中,图像数据的定向可以同等有效地被认为是垂直的、或者沿着像素行、或者沿着像素列、或者沿着为计算、实现或教学方便而选择的线或曲线(包括不连续的线或曲线)排列。术语“水平”可以理解为指名义上的水平方向,其实际上可能偏离严格的水平方向5%、10%或20%或更多。
本文使用的术语“至少大部分”是指所提及的项或功能的至少60%、70%、80%、85%、95%、96%、97%、98%、99%或100%。示例性的项或功能包括但不限于下述项中的一项或多项:位置、图像、图像对、单元、像素、像素位置、层、元素、点、邻域、代表邻域、表面、物理表面、3D邻域、代表3D邻域、代表3D点和3D点。
术语“光谱数据”是指表示从图像传感器中选定的多个传感器元件产生的电磁信号的测量强度的数据,其中传感器元件可选地由滤波器阵列辅助,以测量电磁波谱的多个部分中的入射强度。光谱数据的一个示例可以是颜色。颜色可以由其中滤光器以RG-GB或类似的拜耳模式布置的情况下的电磁波谱中可见光的红色波段、绿色波段和蓝色波段中的电磁信号的强度来表示。可替选系统也可以使用电磁频谱中的不可见波段或可见频谱中的其他波段。此外,频谱数据可以是预定数量的传感器元件所采集的输出,其中的至少大部分传感器元件配置为响应电磁波谱的至少一个部分,并且这些传感器元件可以包括对电磁波谱的多种成分进行采样的传感器元件。
术语“光流数据”是指描述在图像中的一个或多个位置穿过图像平面的2D图像的表观局部运动的数据。
术语“像素”是指多个数据存储元素中的一个,这些元素彼此具有二维邻域关系,使得它们可以共同映射到二维网格上。像素可以包含在特定时间从可以是图像传感器的一部分的传感器元件采样的电磁光谱数据。像素还可以包含其他数据的计算变换的结果,其中,以可映射到二维网格的方式存储变换的数据(例如,经滤波的图像数据、经校正的图像数据、光流数据、不确定性边界、透明度数据)可能是有利的。
术语“像素数据”或“像素级数据”是指下述项中的一项或多项:在像素位置(例如,由摄像机)感测或计算的光谱数据和/或光流数据,和/或从光谱数据推导出的数据和/或从光流数据推导出的数据和/或从与像素位置相关联的其他数据推导出的数据。
术语“相对静态的时间段”是指一段时间,在此期间,场景中的大多数物理表面和/或对象至少基本上相对于彼此静止,并且在此期间,一个或多个摄像机可以移动通过、越过或经过场景中的物理表面和/或对象。如关于该术语所使用的,在某些实施例中,该时间段可以是大约0.0001秒、0.01秒、0.05秒、0.1秒、0.2秒、1秒或10秒。如关于该术语所使用的,在某些实施例中,该时间段可以小于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秒之间,或者视情况而定的更大范围。如关于该术语所使用的,当场景中的距离和/或对象或摄像机的速度对于应用(例如在卫星和/或基于空间的应用中)具有适当的尺度时,该时间段可以是1分钟、10分钟、100分钟或更长。如关于该术语所使用的,绝大多数可以是指场景中物理表面的至少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个或者视情况而定的更大数量的图像。
术语“几何中值”是指被构造成多维空间中的一组数据点中的位于该空间中的位置的点,该点被构造使得从如此构造的几何中值点到一部分数据点的欧几里德距离之和可以在数学上最小化。在某些实施例中,该部分数据点可以是指大部分数据点。在某些实施例中,该部分数据点可以是数据点的至少60%、70%、80%、90%、95%、98%、99%或100%。
术语“基线”是指用于捕获至少一个第一图像的摄像机的光学中心和用于捕获至少一个第二图像的摄像机的光学中心之间的非零距离。用于捕获至少一个第一图像的摄像机可以与用于捕获至少一个第二图像的摄像机相同或者基本相同,其中,摄像机在捕获至少一个第一图像和捕获至少一个第二图像之间移动了一定距离。
术语“视差”是指场景中特征的一个图像中的像素位置(相对于该图像中的固定原始像素位置)和同一特征的第二图像中的像素位置(相对于第二图像中的固定原始像素位置)之间的数学差异。
术语“双目”是指形成或使用从两个物理上分离的3D位置捕获的一对图像。这可以通过由基线分离的一个以上的摄像机(例如,摄像机对)来完成,或者当一个摄像机在场景内、上方或摄像机穿过场景移动的同时将场景的大部分保持在其视场内时,通过该摄像机拍摄两个或多个在时间上分离的图像来完成,或者通过这些方法的组合来完成。
术语“重叠视场”是指一个或多个摄像机即使在相对静态的时间段内移动时,这些摄像机的至少5%、10%、20%、30%、40%、50%或60%的视场重叠。在某些实施例中,一个或多个摄像机的至少25%、50%、75%或100%具有重叠的视场。在某些实施例中,可以存在至少1、2、3、4、5、6、7、8、9、10、20、50、100个或更多个摄像机。
术语“实时”是指处理可能足够快,使得产生的信息可以基本上在操作时用于做出决策。非限制性示例可以用于下述项中的一项或多项上的应用:汽车、卡车、火车、飞机、直升机、无人驾驶飞机、卫星、拖拉机、船、移动农场或采矿设备、固定起重机或观察点(例如,安全视点)或船,其中,实时处理可以是可以在100分钟、10分钟、1分钟、1秒、100毫秒、10毫秒、1毫秒或视情况而定的其他值内执行的处理。
术语“实时帧速率”是指处理系统以实时速度处理图像数据的能力。在某些实施例中,在处理图像数据时,实时帧速率可以是每秒至少0.1、1、10、30、60、100或更多帧。在某些实施例中,在处理图像数据时,实时帧速率可以在每秒0.1至1、0.1至10、0.1至100、1至100、1至60、1至30、1至10、10至100、10至60、30至100、30至60、60至100或更多帧之间。
术语“摄像机对”是指从多个可用摄像机中选择的一对摄像机。
术语“图像对”是指例如从一个或多个摄像机捕获的一对图像,这对图像可能在相对静态的时间段内的不同时间内被捕获,使得这对图像代表来自由非平凡基线(non-trivial baseline)分离的两个不同视点的场景表观。该基线可以是一个或多个摄像机在安装它们的平台或车辆上的相对位置,捕获不同图像之间经过的时间期间摄像机平台在场景内、场景上方或穿过场景的移动或者两者的组合的结果。图像对也可以是指可以至少部分地包括其他数据的计算变换的数据,其中,以可映射到通过图像状结构的两个2D网格的方式存储变换后的数据可能是有利的。
术语“参考表面”是指在特定时间相对于一个或多个摄像机具有已知几何位置的概念表面,通常不是物理表面,当多个摄像机在相对静态的时间段内在场景内、上方或穿过场景移动时,该概念表面可以用作确定场景中深度时多个摄像机的共同参考。参考表面可以是弯曲的,可以是平面的,或者是它们的组合。
术语“小粒子遮挡”是指为了系统的特定应用的目的,可以忽略或基本上忽略的一个或多个瞬态对象。例如,在沿着道路驾驶标准汽车的情况下,雨滴可能不需要避免,也可能不代表安全威胁。因此,在这种应用中,雨滴可以被认为是小的无关粒子遮挡。其他类似的非限制性示例包括以下一种或多种:雪、冰雹、灰尘、漂浮在空气中的单片叶子或其他较轻的对象、昆虫、子弹、鸟和无人机。
术语“非固有摄像机参数”是指描述摄像机在空间中相对于指定参考系或原点的位置和方向的参数。非固有摄像机参数可以表示为3D平移向量[x,y,z]和3×3旋转矩阵。
术语“固有摄像机参数”是指描述特定摄像机如何将在真实世界中观察到的3D点映射到摄像机图像平面或图像传感器中的参数。因此,固有参数表征摄像机的光学和几何特性。例如,固有摄像机参数可以包括下述项中的一项或多项:视场、焦距、图像中心、径向透镜失真的描述符以及其他失真的描述符。固有参数可以描述摄像机在捕获场景图像时对场景中的3D点、3D邻域、物理表面和其他对象成像并由此产生像素数据的处理。
某些示例性优点
除了本文公开的其他优点之外,在某些示例性实施例中可以存在以下优点中的一个或多个:
一个优点可以是可以以实时帧速率或基本实时帧速率计算精确的3D场景信息流,以促进更高级别的系统的决策。该决策的示例包括但不限于导航决策、轨迹选择、碰撞避免、道路跟随、驾驶风险评估、安全速度确定、驾驶员辅助、驾驶员警报、安全距离跟随、个人空间导航或其组合。
另一个优点可能是不需要或较少需要其他传感器(例如,雷达和/或LiDAR)。这种对其他传感器需求的减少大大降低了在车辆、机器人和/或飞机中实现自主导航的成本和/或复杂性。然而,在某些实施例中,可以添加其他传感器(例如,超声波、雷达和/或LiDAR)来补充系统。
某些实施例的另一个优点可能是不需要或很少需要不同传感器系统之间的集成。这可以大大降低在车辆、机器人和/或飞机中实现自主导航的成本和/或复杂性。本公开预期不同传感器系统之间的集成,然而,不同传感器系统可以包括在某些实施例中。
某些实施例的另一个优点可以是减少了小粒子遮挡(非限制性示例是雨、雪、灰尘和昆虫)对系统性能的负面影响,因为在使用对常规可见光谱中和附近的许多光谱范围敏感的传感器元件造成的2D图像中,这种遮挡的可见影响可以不像在LiDAR或其他替代感测模态中那样严重。
某些实施例的另一个优点可以是,可以布置摄像机,使得摄像机的摄像机中心不限于平面或共线布置,而不影响本文公开的一个或多个系统和/或一个或多个方法的效率。这种缺少视点限制还可以促进有效使用来自在场景中移动的摄像机的图像数据,这是因为摄像机的移动可以不需要跟随平面和/或线性路径,而是可以跟随其他合适的轨迹。这可以将本公开中的系统与本领域中仅在摄像机中心被限制为共面或共线时才能实现计算效率的其他系统和技术区别开来。
此外,由于场景中可能有多个摄像机在移动,这意味着遮挡或部分遮挡来自一些视点的视图的对象可能仅在短时间内遮挡,这可能不会实质性地影响系统的性能。
某些实施例的另一个优点可以是,可以以实时帧速率或基本实时帧速率计算精确的3D场景信息流,便于跟踪场景中的对象以实现下述项中的一项或多项:街道、公园、私人或公共空间或建筑物的安全和监视。实时3D信息可以允许跟踪人、识别动作和活动、帮助检测异常行为、确定空间中人或车辆流动的信息、确定诸如碰撞或滑倒之类的警报、监控人群的规模以及监控人群的流动和/或行为。
某些实施例针对使用无源光学系统来实时或基本实时地产生场景的3D场景信息。
系统示意图
图1示出了示例性系统(100)。图1包括摄像机平台110上的摄像机的示例性配置和示例性计算机系统(115)。在某些实施例中,一个或多个计算机系统执行本文描述或公开的一个或多个方法的一个或多个步骤。在某些实施例中,一个或多个计算机系统提供本公开中描述或示出的功能。在某些实施例中,配置为在一个或多个计算机系统上运行的可执行软件执行本文公开的一个或多个方法的一个或多个步骤和/或提供本文公开的功能。在适当的情况下,对计算机系统的引用可以包括计算设备,反之亦然。
本公开预期适当数量的计算机系统。作为示例而非限制,计算机系统(115)可以是嵌入式计算机系统、片上系统(system-on-chip,SOC)、单板计算机(single-boardcomputer,SBC)系统(例如,模块上计算机(computer-on-module,COM)或模块上系统(system-on-module,SOM))、台式计算机系统、膝上型或笔记本计算机系统、主机、计算机系统网格、个人数字助理(personal digital assistant,PDA)、服务器、平板计算机系统、增强/虚拟现实设备或其组合。在适当的情况下,计算机系统(115)可以包括一个或多个计算机系统、可以是集中的或分布的、可以跨越多个位置、可以跨越多台机器、可以跨越多个数据中心、或者可以驻留在云中,云可以包括一个或多个网络中的一个或多个云组件。在适当的情况下,一个或多个计算机系统(115)可以在没有实质空间或时间限制的情况下执行本文描述或说明的一个或多个方法的一个或多个步骤。作为示例而非限制,一个或多个计算机系统(115)可以实时或以批处理模式执行本文公开的一个或多个方法的一个或多个步骤。
计算机系统(115)可以包括处理器单元(160)、存储器单元(170)、数据存储器(190)、接收单元(150)和外部通信单元(180)。
处理器单元(160)可以包括用于执行指令的硬件,例如构成计算机程序的指令。作为执行指令的示例而非限制,处理器单元(160)可以:从内部寄存器、内部高速缓存、存储器单元(170)或数据存储器(190)中检索指令;解码并执行这些指令;然后将一个或多个结果写入内部寄存器、内部高速缓存(未示出)、存储器单元(170)或数据存储器(190)。处理器单元(160)可以包括一个或多个用于数据、指令或地址的内部高速缓存。本公开预期处理器单元(160)在适当的情况下包括适当数量的适当内部高速缓存。处理器单元(160)可以包括一个或多个指令高速缓存、一个或多个数据高速缓存以及一个或多个转换备用缓存器(translation lookaside buffer,TLB)。指令高速缓存中的指令可以是存储器单元(170)或数据存储器(190)中指令的副本,并且指令高速缓存可以加速处理器单元(160)对那些指令的检索。
存储器(170)可以包括用于存储处理器执行的指令或处理器操作的数据的主存储器。计算机系统(115)可以将指令从数据存储器(190)或另一源(例如,另一计算机系统)加载到存储器单元(170)。处理器单元(160)然后可以将指令从存储器单元(170)加载到内部寄存器或内部高速缓存。为了执行指令,处理器单元(160)可以从内部寄存器或内部高速缓存中检索指令并对指令进行解码。在指令执行期间或执行之后,处理器单元(160)可以将一个或多个结果(可以是中间结果或最终结果)写入内部寄存器或内部高速缓存。然后,处理器单元(160)可以将这些结果中的一个或多个写入存储器单元(170)。处理器单元(160)可以仅执行一个或多个内部寄存器或内部高速缓存或存储器单元(170)(而非数据存储(190)或别处)中的指令,并且仅对一个或多个内部寄存器或内部高速缓存或存储器单元(170)(而非数据存储(190)或别处)中的数据进行操作。一个或多个存储器总线可以将处理器单元(160)耦接到存储器单元(170)。总线(未示出)可以包括一个或多个存储器总线。存储器单元(170)可以包括随机存取存储器(random access memory,RAM)。该RAM可以是易失性存储器,在适当的情况下,该RAM可以是动态RAM(dynamic RAM,DRAM)或静态RAM(static RAM,SRAM)。此外,在适当的情况下,该RAM可以是单端口RAM或多端口RAM。在适当的情况下,存储器单元(170)可以包括一个或多个存储器。
数据存储器(190)可以包括用于数据或指令的大容量存储器。数据存储器(190)可以包括硬盘驱动器(hard disk drive,HDD)、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,USB)驱动器或其组合。在适当的情况下,数据存储(190)可以包括可移动或不可移动(或固定)介质。在适当的情况下,数据存储(190)可以在计算机系统内部或外部。数据存储可以包括只读存储器(read-only memory,ROM)。在适当的情况下,该ROM可以是掩码编程ROM、可编程ROM(programmable ROM,PROM)、可擦除PROM(erasable PROM,EPROM)、电可擦除PROM(electrically erasable PROM,EEPROM)、电可改变ROM(electrically alterable ROM,EAROM)、或闪存或其组合。
在某些实施例中,I/O接口(未示出)可以包括硬件、软件或两者,为计算机系统和一个或多个I/O设备之间的通信提供一个或多个接口。在适当的情况下,计算机系统可以包括一个或多个这些I/O设备。这些I/O设备中的一个或多个可以实现人和计算机系统之间的通信。I/O设备可以包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静态摄像机、手写笔、平板电脑、触摸屏、轨迹球、视频摄像机、另一种合适的I/O设备或其组合。I/O设备可以包括一个或多个传感器。本公开预期任何合适的I/O设备和用于I/O设备的任何合适的I/O接口。在适当的情况下,I/O接口可以包括一个或多个设备或软件驱动器,使得处理器单元(160)能够驱动这些I/O设备中的一个或多个。在适当的情况下,I/O接口可以包括一个或多个I/O接口。
图1示出了某些示例性实施例的系统示意图100。该系统包括摄像平台110和计算机系统115。计算机系统可以配置为执行某些示例性实施例。
在某些实施例中,摄像机平台110上的摄像机的相对位置和/或方向可以是已知的。在某些实施例中,摄像机平台上的摄像机可以具有触发器(未示出),该触发器使得能够在特定时间捕获图像帧,或者至少具有以至少与为应用选择的间隔一样精细的精度记录图像捕获的时间,以满足相对静态时间段的定义。在某些实施例中,摄像机平台可以包括相关电路(未示出),以确保在由外部系统控制的时间从摄像机平台上的摄像机捕获图像。
计算机系统115包括用于与摄像机平台110上的摄像机通信的接收单元150。接收单元可以经由通信总线151与处理器单元160和存储器单元170连接。处理器单元160可以是通用中央处理器(Central Processing Unit,CPU)或图形处理器(Graphics ProcessingUnit,GPU),或者可以是被设计成执行所需处理的定制硬件,例如现场可编程门阵列(Field-ProgrammableGateArray,FPGA)或专用集成芯片(Application SpecificIntegratedCircuit,ASIC)。存储器单元170可以包括易失性存储器和/或非易失性存储器,可以存储用于处理单元160的指令以及经由通信总线152从接收单元160接收的图像数据。处理单元160也可以经由通信总线162连接到数据存储器190。处理单元160也可以经由163连接到外部通信单元180。通信单元180可用于输出3D信息流以供外部系统(未示出)使用。通信单元180还可以从外部源接收数据,该数据包括以下一个或多个:来自一个或多个摄像机与场景相关的图像数据、位置数据、地图数据和先前记录的数据,以及与场景相关的先前记录的3D信息和/或其他数据。
摄像机平台110上的摄像机可以连接到计算机系统115。摄像机可以具有由121、131、141指示的通信信道,以接受控制和/或同步信号并输出图像数据。来自摄像机平台110上的一个或多个摄像机的图像捕获可以由通过通信信道121、131、141发送的信号触发。在某些实施例中,摄像机平台外部的摄像机可以连接到计算机系统(例如,115),并且这些摄像机可以有助于3D场景信息的确定。
示例性摄像机系统
图2描述了可用于平台110上的摄像机的示例性摄像机系统200的细节。摄像机系统包括由光学元件201、202组成的镜头模块210。还可以有光圈220、快门221和传感器223。在某些实施例中,传感器223可以覆盖有滤波器阵列,例如能够捕获彩色和/或多光谱图像的Bayer滤波器222。传感器223可以对电磁波谱的一部分敏感,包括但不限于以下一种或多种:可见光谱、红外线光谱和紫外线光谱。
传感器223可以连接到摄像机图像处理单元240,摄像机图像处理单元240可以对由传感器223捕获的原始图像数据执行图像处理。在某些实施例中,图像处理步骤可以包括下述项中一项或多项:去拜耳化(de-Bayering)、补偿透镜失真或色彩校正。在某些实施例中,处理图像以补偿透镜失真展开图像扭曲,使得图像符合或基本上符合针孔摄像机模型(这种模型在本领域中是公知的)的输出。许多摄像机镜头系统生成具有一定扭曲的图像,例如,鱼眼镜头将场景扭曲成世界的宽全景表示,但透视线是扭曲的。通过补偿镜头失真,场景中的直线在处理后的图像中看起来可以是直的。
经处理的图像可以经由通信总线252传递到通信单元250。处理后的图像数据可以经由260发送到计算机系统115。通信单元250还可以从计算机系统115处接收控制和/或触发信号。控制和/或触发信号可以传递到摄像机控制单元230上。摄像机控制单元230经由控制线234、233、232、231处理摄像机控制信号,使得能够调节镜头系统210的以下组件中的一个或多个:光圈220、快门221和传感器223。这种控制可用于调整下述项中的一项或多项:成像参数(如增益)、曝光时间、白色和/或黑色电平偏移以及滤波器设置。摄像机控制单元230还可以协调以下一项或多项的激活:光圈220、快门221和传感器223,以捕获图像。摄像机控制单元230可以经由通信单元250接收同步信号,该同步信号确保平台110上的摄像机被触发以根据需要捕获图像。
示例性说明场景
图3示出了形象化场景300。用线312、313示出了道路310,线312、313标记道路310的中心线的道路标记315的边缘。在该场景中,道路上有两辆汽车320、330。还示出了位于道路边的树木340、350和标志360。摄像机平台110被示为定向为观察场景。摄像机平台110可以位于车辆(未示出)上。摄像机平台110可以如箭头395所示穿过场景。虚线矩形标记位于摄像机平台110的视图中的参考表面380的位置和方向。参考表面380(本文示为平面)形成用于使用来自摄像机平台110的摄像机的图像来生成3D信息的公共参考。
图4A示出了一种替选布置,其中参考表面481处于水平方向,基本平行于地面并且基本位于与地面相同的水平上。图4B示出了其中参考表面482位于垂直方向但朝向侧面的替选布置。参考表面还可以有其他方向,例如平行于地面并高于路面或垂直于地面并对角地位于车辆的前四分之一部。取决于特定实施例的应用,参考表面的方向会影响深度估计过程的计算成本和/或精度。
即使使用单个摄像机,构造若干个参考表面(或一组参考表面)也可能具有优点。可以选择反映在摄像机阵列操作期间物理表面可能出现的位置的可能性先验已知的参考表面。例如,在自动驾驶汽车的情况下,地面通常可以是水平的,建筑物(在建成区域)通常与道路两侧的垂直面对齐。在某些实施例中,多个参考表面可以与摄像机平台一起使用。图4C示出了设置在车辆420上的前方位置的摄像机平台110,围绕其设置参考表面483、484和485,根据本公开,这些参考表面中的一个或多个可以用作确定深度的基础。图4D示出了以弧形配置的摄像机平台110,以及围绕车辆420设置到其前方和侧面以及左右前方的多个参考表面483、484、485、486和487。图4E示出了另一种可能的布置,其中具有提供360度定向的摄像机平台,并且在该示例中,八个参考表面围绕提供360度覆盖的车辆设置。图4F和图4G示出了具有提供360度定向的摄像机平台和具有围绕车辆有限覆盖的不规则弯曲的参考表面的其它可能的布置。
在某些实施例中,一个或多个摄像机可以与移动平台或车辆相关联。在某些实施例中,一个或多个摄像机中的至少一个摄像机可以与移动平台或车辆相关联,并且一个或多个摄像机中的至少一个其它摄像机可以与场景中的固定结构相关联。
在某些实施例中,一个或多个摄像机中的至少一个摄像机可以与配置为移动的移动平台或车辆相关联,并且一个或多个摄像机中的至少一个其它摄像机可以与固定平台相关联并且配置为是固定的。
在某些实施例中,一个或多个摄像机中的至少一个摄像机可以配置为是移动的,并且一个或多个摄像机中的至少一个其它摄像机可以配置为是静止的。
在某些实施例中,摄像机阵列的至少一个摄像机可以是移动的,并且摄像机阵列的至少其它摄像机可以是静止的。例如,移动摄像机可以与移动的(并且将随车辆移动的)车辆相关联,并且至少一个其它摄像机是静止的(或者基本静止的)并且不随车辆移动。在某些实施例中,摄像机阵列可以由固定到一系列灯柱、电线杆和/或建筑物上的一系列静止的摄像机组成,并且这些静止的(或基本静止的)摄像机与摄像机阵列中移动的摄像机协同工作。
在某些实施例中,至少两个摄像机可以在场景中彼此独立地移动,例如,安装在单独车辆上的摄像机在场景中彼此独立地移动,但是通过合适的通信基础设施,从至少两个摄像机捕获的数据的大部分可以被发送到至少一个图像处理系统。
在某些实施例中,至少两个摄像机在场景中彼此独立地移动,并且至少一个摄像机是静止的(或基本静止的),该至少两个摄像机例如是安装在分离的车辆上的摄像机,这些车辆在场景中彼此独立地移动,至少第三个摄像机固定在附近的建筑物上,并且来自至少两个摄像机和至少一个静止摄像机的数据的至少一部分可以经由合适的通信基础设施被发送到至少一个图像处理系统。
极平面和极线
图5可用于描述场景、图像对、极平面和相关联的极线之间的示例性关系。在该示例中,极平面可以是由三个3D点限定的平面:摄像机中心(或摄像机光学中心)A 510、摄像机中心(或摄像机光学中心)B 511和场景O 512中的感兴趣的3D点。极线是由其中每个图像的相应图像平面与场景中感兴趣的3D点相关联的极平面的交点限定的线对(在这种情况下为O 512)。应注意,图像平面通常基本垂直于极平面,因此,在图5中该图像平面应想象为穿过示意图页面(部分在页面上方,部分在页面下方)。参照图5,示出了观察具有感兴趣的3D点O 512的场景的、摄像机A 510和摄像机B 511的布置。还示出了示出摄像机A 510的视图的图像数据530的表示,以及示出摄像机B 511的视图的图像数据531的表示。如图所示,摄像机A 510和摄像机B 511可以具有不同的方向(例如,平移、倾斜和/或旋转)和/或不同的固有参数(例如,焦距、变焦),因此摄像机A510和摄像机B 511的图像数据530、531可以相对于彼此以及相对于极平面呈现旋转和/或拉伸。虚线540示出极平面与摄像机A510的图像平面530相交,并且类似地,541标记极平面与摄像机B 511的图像平面540相交的位置。考虑到物理表面在场景中的外观位于3D点O 512,可以在图像530中的550处在极线540上观察到物理表面,并且类似地可以在图像531中的551处在极线541上观察到物理表面。此外,在图像531中的552处(而不是551处),也在极线541上的观察将指示在513处(而不是512处)的物理表面的位置。在该示例中,摄像机A510和摄像机B 511可以是不同的摄像机,或者摄像机B511可以是与移动到新位置(在相对静态的时间段内)的摄像机A510相同的摄像机。
极线校正
参照图6A,左边的图像610是由图像对中的摄像机A 510捕获的图像数据,(图6B中)右边的图像611是由图像对中的摄像机B 511捕获的图像数据(其中,摄像机A和摄像机B可以是由于摄像机平台110的移动而在场景中移动的相同物理摄像机)。左图像的极限(例如612)和右图像的极限(例如613)可以取决于在进行捕获的精确时间摄像机在场景中定位的两个视点的相对位置。图像610和611的极线可以根据在摄像机校准和摄像机的已知运动(若存在)的过程中所确定的固有摄像机参数和非固有摄像机参数来确定。用于平台上固定位置的多个摄像机以及随时间移动的摄像机的摄像机校准技术是本领域已知的。然后可以使用图像扭曲来变换图像数据,使得极线变成水平的,并且因此,沿着水平扫描线的图像数据可以处于对于后续处理来说更有用的布置中(即,水平移位和偏移可以在后续处理阶段中处理像素数据的方式)。图6C示出了图6A的图像的极线扭曲的结果,并且图6D示出了图6B的图像的极线扭曲的结果。例如,在图6C中示出了具有极线的图像620,其中,包括622的极线现在是水平,并且图像621(如图6D所示)也具有例如623的极线。此外,可以生成经扭曲的图像620和621,使得来自相同或基本相同的极平面的极线622和623可以存储在它们各自图像中相同或基本相同的行位置。
一致深度移位图像(Consistent Depth Shift Images)的构造
本文还公开了用于生成一致深度移位图像对的示例性几何构造。在图7A中的示例性位置示出了单个极平面内的构造(极平面可以是示意图本身的平面799),该极平面投影到一致深度移位图像790中的单个扫描线720上,在上下文允许的情况下也称为校正图像(如图7B所示)。单个扫描线720在图7A中也示出为摄像机的图像平面和极平面799之间的虚线交点。该构造过程可以在围绕摄像机中心710、715之间的线以其他角度定向的其他极平面上重复(以这种方式,连接710和715的线可以是唯一包含在所有或基本上所有极平面中的线)。对这些随后在不同高度与图像平面790相交并因此沿着不同水平扫描线布置的其他极平面重复该过程,创建二维图像,其水平扫描线可以基本上从提取自原始图像的图像数据中基本上沿着极线推导出(在图7B中,例如在720、721处示出,并通过扩展示出其他水平虚线)。
图7A是示出观察场景的摄像机A 710和摄像机B 715的布置(其中,摄像机A和摄像机B可以是由于摄像机平台110的移动而在场景中移动的相同物理摄像机,其中,没有摄像机或者一个或多个摄像机可以附接到摄像机平台110)。粗虚线720(图7A左侧)表示摄像机710的图像中的极线,另一粗虚线725(图7A右侧)表示摄像机715的图像中的极线。点划线表示参考表面750(如图7A所示),是参考表面和极平面(799)的交点。还示出了在构造的偏移751、752和753处的其他表面,并将这些其他表面称为导出的参考表面。在摄像机710的极线720上,可以在730观察到物理表面。物理表面可以被推断为位于从摄像机710投影穿过730并进入场景的线740上。例如,在731处,可以由摄像机715在极线725上观察物理表面。然后,通过投影线745并使用三角测量,如果在像素730(由摄像机710捕获)和像素731(由摄像机715捕获)之间可以发现足够的一致性,则可以推断物理表面位于线740和745相交的3D点760处。导出的参考表面751可以以相对于参考表面750的已知偏移来定位。线740与导出的参考表面751在3D点770处相交,并且穿过770和摄像机715绘制的线746与摄像机715的极线725在3D点731处相交。作为替选示例,如果在摄像机715中不是在像素731处而是在像素732处观察到与730一致的接近像素,这表明物理表面可能更可能在导出的参考表面751上的3D点770处。继续该构造,线746与参考平面750在761处相交,该3D点可以用作从摄像机710通过761产生的新线741的基础。重复该过程,线741与导出的参考表面751在3D点771处相交,因此定义了新线747及其在摄像机715的极线725上的投影(733)。线740和线747在导出的参考表面752上相交。通过检查由摄像机710在位置730处和摄像机715在位置733处捕获的像素数据之间的充分一致性,可以推断出摄像机710在730处和摄像机715在733处观察到的场景中的物理表面位于导出的参考表面752上的3D点780处。可以继续该构造,还在摄像机715的极线725上生成点,这些点对应于表面753上和更远的场景中潜在的假设物理表面。点731、732、733、734、735和更远的像素可以被设想在极线725上。摄像机715中的相近像素数据一致的向右变化,例如从734到735,可以指示导出的物理表面的深度的增加,以在(在页面上)对齐离摄像机更远的导出表面;向左变化,比如说从734到733,可以指示推导出的物理表面的深度向更靠近摄像机的导出的表面减小。
参照图7B,图像790表示来自摄像机710的图像,当沿着图中用点划线指示的水平极线(例如720、721)观察时,该图像被极线校正扭曲。类似地,图像795表示也由用虚线示出的极线725校正之后的、来自摄像机715的图像。还在图像790示出了中位于极线720上的观察点730。并且类似地在图像795中示出了位于极线725上的观察点731、732、733、734、735。
一般而言,在立体校正中,沿极线的点的间距通常被选择为均匀的。然而,在某些公开的实施例中,极线725上的点731、732、733、734、735等之间的间距可以不均匀,并且可以由摄像机710和715的相对3D位置、参考表面750和到导出的参考表面之一的单个深度偏移(在该示例中示为由798指示的750和751之间的间隙)来确定。通过沿着一条或多条待间隔开的极线排列像素位置,以表示间隔开的参考表面和/或一组导出的参考表面(750、751、752、753等)间的深度的汇合,可以提高计算效率。在参考表面是平面的情况下,实现这一点的间距可以沿着极线725遵循几何级数被示出(如图7B所示),并且可以通过刚刚描述的几何构造或通过基于合适的数学和/或几何原理(例如,解析几何)的其他方法来详细计算。
如构造中所示和描述的,参考表面(例如,750)的所选形状和与所选形状的第一导出的参考表面的分离距离(例如,751和750是简单的平面,并且751可以通过所选间距798与750分开)限定了诸如760、770、780、782和761、771、781等的3D交点的位置,以及其他导出的参考表面751、752、753等的位置和形状。这些3D交点可以被认为是3D邻域的成员。其他图像(图7A中未示出)可以从所示平面的上方、前方下方或后方(这可以依赖于摄像机移动或使用其它摄像机)的位置拍摄(即,不在所示的极平面799上),并且其它图像对可以通过从中选择图像来定义。这些其它图像对可以具有它们自己的极平面、极线和交点,其构造类似于使用相同或基本相同的参考表面和导出的参考表面所描述的构造。这些其它图像对的交点可以不与摄像机对710、715的交点(例如,交点760、770、780、782和761、771、781等)重合。然而,可以发现在其他极平面上生成的与其它图像对的交点,这些交点靠近交点760、770、780、782和761、771、781等,使得可以在交点群周围形成3D范围适当限制的3D邻域,其中,大量的交点可以包含来自相当多图像对的贡献。
从各种摄像机的角度来看,从这些3D邻域中的3D点采样的信息形成了评估在以由此形成的3D邻域表征的3D位置处是否存在物理表面的可能性的基础。
具有弯曲的参考表面的一致深度移位的构造
在某些实施例中,使用可以是延伸穿过3D场景的弯曲2D形式的参考表面可能是有利的。例如,球形、卵形或嵌入场景中的一些其他合适的2D表面。图9A示出了作为弯曲的点划线示出的参考表面950的恒定深度移位的构造。在图9A中的示例性位置示出了单个极平面内的构造(极平面可以是类似于图7A的示意图的2D平面),该极平面投影到校正图像990中的单个扫描线920上(如图9B所示)。同样,类似于图7A,扫描线920可以是所考虑的极平面和摄像机910的图像平面的交线。该构造过程可以在围绕摄像机中心910与915之间的线的其他角度的其他极平面上重复。对其他极平面重复该过程产生2D图像,该2D图像的水平扫描线可以基本上从提取自原始图像的图像数据中基本上沿着极线推导出(例如在图9B中的示例920、921处所示)。如图9A所示,针对弯曲的参考表面的恒定深度移位构造可以类似于针对相对于图7A公开的平坦的参考表面的构造。极线920上的点930(图9B左下侧)在960处投影到参考表面,并从参考表面延伸,与弯曲的导出的参考表面951相交于3D点970处。从3D点970开始,线946向后追溯到摄像机中心915,在3D点961处与参考表面950相交。继续该方法,可以连续确定一系列3D点960、961、962、963、964,这些3D点可以投影回极线925并形成点931、932、933、934和935。一般而言,极线925上的点931、932、933、934和935(图9B右下侧)等之间的间距可以不均匀,并且可以由摄像机910和915的相对3D位置、参考表面950的位置和形状以及导出的单个参考表面的位置和形状来确定(潜在的多个导出的参考表面之间的极平面内的位置之间的剩余深度偏移由遵循这些初始选择之后的构造来定义)。在某些实施例中,可以通过沿着一条或多条待间隔开的极线排列像素位置来提高计算效率,以便表示间隔开的参考表面和/或一组导出的参考表面(950、951、952、953以及更远)上的深度的汇合。
一致深度移位扭曲
一致深度移位扭曲根据一致深度移位图像的构造对图像对中的图像执行图像校正,并且另外可以沿着扫描线执行补偿,使得所得到的校正图像与原始图像相比具有足够高的分辨率。所得到的图像对可以被称为一致深度移位图像对,或者在上下文允许的情况下,被称为校正图像。
参照图8,示出了具有表示原始未校正源图像中的像素位置的平均网格的源图像810(如图8A所示)和811(如图8B所示)的图像对。作为参考,极线用点划线示出,包括例如线812和813。观察点820在图像810中示出,另一观察点830在图像811中示出。用圆831、832、833标记的其它点指示沿着极线的深度移位,这可以由所描述的用于生成一致深度移位图像的几何构造来确定。在图8的下半部分,构造一致深度移位扭曲840(如图8C所示)和841(如图8D所示)。同样地,规则的网格表示空间被划分为元素。在这样的元素中的一个或多个处可以存储摄像机对的相应摄像机的源图像中的源像素的位置。在某些实施例中,源像素的位置可以存储为源图像中图像数据的行和列的整数值。在某些实施例中,源像素的位置可以存储为定点、浮点或能够将位置描述为像素的小数的其他类型。
举例来说,在一致深度移位扭曲840中,在850处有一个元素,如851处所示,该元素包含描述点820在源图像810中的位置的X坐标和Y坐标。从850到820的映射可以通过考虑极线扭曲和在此公开的用于生成一致深度移位图像的几何构造来计算。其它示例包括一致深度移位扭曲841和包含描述点830在源图像811中的位置的X坐标和Y坐标的元素860。在这种情况下,坐标可以存储为具有小数部分的实值,以亚像素级的精度指示源的位置。在某些实施例中,可以将包括一个或多个X坐标、Y坐标和相关联的预先计算的权重的列表存储在一致深度移位扭曲中。
对图像应用扭曲
给定目标图像和扭曲840,将源图像(例如810)扭曲为目标图像的过程是依次考虑目标图像中的至少一部分像素。对于目标图像中的特定像素,参考扭曲840中的等效位置以找到源图像中的一个或多个源像素位置,并且可以对目标像素和源像素的至少大部分重复该过程。来自源图像的源像素位置处的像素数据可以被复制到目标(校正)图像中。在某些实施例中,源像素位置可以被寻址到子像素级别,并且可以用从源图像中该点相邻的像素导出的像素数据来写入目标像素。在某些实施例中,内核可用于对相邻像素进行采样。在某些实施例中,可以使用简单的线性插值或双线性插值来计算表示子像素位置处的源图像的像素数据。在某些实施例中,插值权重或内核权重可以根据源图像中的位置或目标图像中的位置的不同而变化,以确保像素颜色和/或其他像素级数据(例如光流数据和/或所得扭曲图像中的其他数据)的精确分配(即,插值的子像素)。还预期源图像位置附近的目标像素和源像素数据之间的其他关系。
示例性处理
图13示出了根据某些实施例的顶层流程图1300。从1310开始,示例性系统和/或方法可以继续执行校准步骤1320。校准1320包括对摄像机平台110上的摄像机进行校准以使它们的视点归一化,使得后面的步骤可以对被校准和配准的图像进行操作。作为该步骤的一部分,可以确定摄像机的固有摄像机参数和/或非固有摄像机参数,并且可以存储这些参数以用于后面的处理步骤。摄像机校准是一个已知的过程,并且有许多方法可以应用。在校准1320之后,过程前进到获取图像步骤1330。
在获取图像步骤1330中,计算机系统115可以在一段时间内的不同时间操作摄像机来捕获一个或多个图像。摄像机可以向计算机系统115提供去拜耳化的图像。在获取图像1330之后,过程前进到计算一致深度移位扭曲步骤1340。
在计算一致深度移位扭曲步骤1340中,从摄像机在相对静态的时间段内拍摄的图像中选择出图像对。在某些实施例中,将图像对的一种或多种组合存储在如图14B所示的数据结构1490中,可以根据需要从该数据结构中访问图像对。可以基于下述项中的一项或多项来选择图像对:图像对的相对位置、方向、分离用于拍摄图像对的视点的基线、焦距、分辨率、光谱响应以及拍摄图像对的摄像机的其他属性。可以针对所选图像对中的一个或多个图像对中的至少一个图像对确定一致深度移位扭曲1340。可以例如根据参照图6、图7和/或图9描述的方法,从拍摄图像对中的图像的一个或多个摄像机的固有摄像机参数和非固有摄像机参数推导出一致深度移位扭曲1340。扭曲可以采取图8相关的描述的形式。
在某些实施例中,可以定期更新或生成校准,并且当在操作期间生成一致深度移位扭曲1340时,步骤1340可以导入一些、基本上全部或全部该新校准数据。在计算深度移位扭曲1340之后,过程前进到执行光流步骤1350。
在执行光流步骤1350中,处理一个或多个当前图像和一个或多个先前图像(即,同一摄像机在一个或多个较早时间拍摄的图像)以生成光流场,即,表示在一个或多个像素位置处穿过图像平面的图像的表观局部垂直和/或水平图像运动的一组矢量。在某些实施例中,可以针对像素的大部分计算光流场和不确定性边界。这些边界可以使后续处理能够对局部图像数据不允许足够精确地计算图像中的表观运动(这可以例如出现在表现为几乎没有或没有纹理信息的均匀颜色的图像区域中)时来适当调整图像区域。所得到的图像数据现在可以包括像素位置总数的一部分处的光谱数据(根据图像传感器对电磁波谱部分的灵敏度)和光流数据。例如,图像数据可以包括用于常规颜色值(即,RGB)分量和用于光流分量Dx、Dy的通道,光流分量表示2D图像表观在至少一部分像素位置处的表观局部2D移动。在某些实施例中,光流数据可以以不同的形式表示,例如,通过局部图像运动的角度和幅度。用于执行光流的算法在本领域中是已知的,例如Horn-Schunck方法和/或Lucas&Kanade方法。在某些实施例中,光流可以作为摄像机图像处理单元240(如图2所示)中摄像机上处理的一部分来执行。在某些实施例中,可以在计算机系统115中执行光流。在执行光流1350之后,过程继续前进到生成一致深度移位图像1360。
在生成一致深度移位图像步骤1360中,计算机系统115应用一致深度移位扭曲1340来校正已经从摄像机捕获的图像对。如果摄像机的移动是沿着常用方向的预定距离的移动,则图像对可以对应于先前已经在步骤1340中计算了的一致深度移位扭曲的摄像机。在这种情况下,可以预先计算并多次重复使用一致深度移位扭曲的几何计算。可以通过逐步经过如图14B中1490所示的图像对的数据结构来选择所选择的图像对。可以基于下述项中的一项或多项来选择图像对:相对位置、方向、获取图像对的一个或多个摄像机的视点之间的基线、焦距、分辨率、光谱响应以及一个或多个摄像机的其他属性。在某些实施例中,图像对的选择可以依赖于场景的知识,例如先前的假设或外部提供的近物理表面或远物理表面或对象的信息。对于至少一个选定的图像对,通过应用本公开别处描述的相应一致深度移位扭曲来扭曲该图像对的两个图像。所得到的一致深度移位图像对可以与拍摄该图像的一个或多个摄像机以及在相对静态的时间段内的一个或多个摄像机的运动(若存在)相关联地存储,以用于后续步骤。在生成一致深度移位图像1350之后,过程前进到补偿光流步骤1370。
在补偿光流步骤1370中,可以调整光流数据以补偿图像的扭曲。左边的图15示出了具有例如1511的极线的原始图像1510;并且示例像素位置的光流数据被示出为矢量1512。再次参考图15,在右侧示出了由生成一致深度移位图像步骤1360扭曲的图像1520,其中具有现在水平运行的极线,例如1521;并且对于示例像素位置,示出其原始光流矢量1522。由于极线方向的相对变化以及沿极线移动的缩放,在光流矢量被包含在扭曲图像中之前必须对光流矢量进行适当的补偿;在1524处示出了补偿的光流矢量。至少大部分像素位置所需的补偿可以根据几何原理计算,并且可以根据校正图像中的位置的不同而变化。
在某些实施例中,光流数据可以被分解成沿着极线1526的分量和垂直于极线1525的分量(如图15右下所示)。
在某些实施例中,可以预先计算光流数据的补偿,例如,可以将其作为计算深度移位扭曲步骤1330的一部分。在补偿光流1370之后,过程前进到构建成本矩阵步骤1380。
在构造成本矩阵步骤1380中,可以使用在先前步骤中产生的图像数据对来构建三维成本矩阵。图14示出了包括层1410、1420、1430、1440和1450的成本矩阵1400。成本矩阵的层可以由成列的元素的二维网格组成。例如,元素1411、1412、1413和1414形成贯穿成本矩阵1400的层的列。在某些实施例中,层的大部分可以分别与参考表面和一组导出的参考表面相关联;例如,层1410、1420、1430和1440可以分别与图7A中在750、751、752和753处所示的表面相关联。
根据不同图像对(如图7A所示)构造的交点集可以落在场景中的不同位置,并且交点集在图像平面上的投影可以落在相关图像中的不同2D位置。可以围绕3D交点群来构造3D邻域,其中,大量的3D交点可以包含来自相当多图像对的贡献。至少大部分成本矩阵的元素可以与这些3D邻域中的至少一个相关联。例如,成本矩阵元素1411可以表示包含交点760的3D邻域,并且成本矩阵元素1412可以表示包含交点770的3D邻域。
参照图18,摄像机“A”的图像数据被示出为矩形1810。包括来自摄像机A和摄像机B(其中,摄像机A和摄像机B可以是在相对静态的时间段内已经在场景中移动的同一物理摄像机)的图像对的一组极线被示出为沿对角线向上和向右延伸的点划线,包括线1820。例如,如果将摄像机B作为是图7中所示的795,则极线1820例如可以是线725。针对沿着极线1820示出,包括1821的粗破折号指示来自交点(例如图7中的760、761、762、763)投影的极线上的点(例如图7中的点731、732、733、734)。这些点具有来自相关联的校正图像(在这种情况下,像素数据从摄像机A和摄像机B推导出)的相应像素数据。包括摄像机A和摄像机C的另一摄像机对的极线也在图18上示为沿对角线向下和向右延伸的双点划线(包括1830)。同样,为了说明,一组粗破折号(包括1831)表示类似于图7所示的过程构造的极线1830上的交点。同样,这些点具有来自它们相关联的校正图像的相应像素数据(在这种情况下,像素数据来自摄像机A和摄像机C)。为简单起见,图18中没有示出表示其他极线上交点的粗破折号。
例如,在极线1820和1830上,标记1821、1831可以表示基本上位于参考平面(例如,图7A中的750)上的3D交点,并且如1821和1831所示,来自不同图像对的交点可能不精确重合。虽然在图18中仅示出了两个图像对,但是在某些实施例中,可以存在N个图像,即N-1个图像对,这些图像对可以包括图像A,以及因此包括N-1个3D交点,这些3D交点可以被映射到期望的参考表面或导出的参考表面上。考虑到至少一个参考表面(图18是考虑参考平面750的示例),从不同的图像对基本上在该表面上或附近构造的附近交点的集合可以被收集到3D邻域中。圆1811示出了具有两个这样的3D交点的投影的示例3D邻域。应注意,示例邻域1811可以是任何合适的形状,并且为了教学上的方便,本文仅将其表示为圆形。如果有更多的图像可用,可以将额外的交点添加到一个或多个3D邻域。例如,选择4个图像可以使3个这样的交点基本上被收集到如此构造的3D邻域中的每一个之中。选择16个图像可以具有15个3D交点,用于基本包含在每个3D邻域中。
在某些实施例中,3D邻域可以通过将参考平面固定划分为正方形、六边形或其他合适的形状来确定。
在某些实施例中,可以预先计算从3D邻域到图像数据中的像素或一个或多个图像对中的像素的投影。在某些实施例中,可以通过查询诸如查找表之类的合适数据结构来检索映射。
3D邻域中的3D交点邻近意味着它们的共同相关联的光谱数据和/或光流数据可以用于评估物理表面可以存在于代表3D邻域的3D位置的可能性,即,光谱数据和/或光流数据在3D邻域中的3D点的投影之间越一致,物理表面就越有可能存在于3D邻域或穿过3D邻域。
为了构建成本矩阵1400,可以依次考虑成本矩阵的列。从第一层1410中的成本矩阵元素开始,比如元素1411,可以检索与该成本矩阵元素相关联的3D邻域中的3D交点相关联的图像像素数据、光流数据和/或其他相关联的数据。在某些实施例中,代表3D点可以是场景中实际3D点的位置的数字表示,以及没有或一些与该3D点相关联的检索数据。在某些实施例中,代表3D邻域可以是场景中3D邻域的数字表示,以及没有或一些与该3D点相关联的检索数据。可以通过使用从拍摄图像的视点和位置的几何考虑以及所讨论的3D邻域预先计算的查找表来辅助这些数据的选择。该收集的数据可以形成代表3D邻域,然后该3D邻域可以与成本矩阵元素相关联。根据该代表3D邻域可以如别处所描述地确定成本值,并将该成本值与成本矩阵的相关元素一起存储。可以从代表3D邻域中可用的信息中提取或处理附加信息,并且该附加信息还可以与成本矩阵的相关元素一起存储,以便于在后续处理中参考。这种附加数据的非限制性示例可以是代表3D邻域中的3D点的汇总光谱和/或3D速度信息。
在确定成本矩阵的第一层(1410)中的元素1411的成本值之后,可以确定成本元素的列中的下一个元素。给定与用于顶层中的成本矩阵元素的相同图像对和图像像素数据的相同初始位置,可以通过根据期望的成本矩阵元素调整沿着第一校正图像的扫描线的第一像素位置或沿着第二校正图像的扫描线的第二像素位置,来确定成本矩阵的同一列中的后续成本矩阵元素,该期望的成本矩阵元素又可以与场景中的特定3D邻域相关联。对于附加图像对重复该扫描线调整过程以产生代表3D交点,代表3D邻域可以围绕这些代表3D交点形成。可以计算成本值,并且可以将计算结果的至少一部分或至少大部分使用元素1412在层1420上存储在成本矩阵1400中。可以重复该过程以确定成本矩阵1400中元素的大部分的代表3D邻域和成本值。
在某些实施例中,用于计算成本值的、来自代表3D邻域的数据可以包括光谱数据(例如,像素数据、亮度数据、颜色数据、作为RGB分量的数据和/或作为YUV分量的数据)和/或像素光流数据(例如,表观局部瞬时垂直图像运动和表观局部瞬时水平图像运动中的一个或多个)。在某些实施例中,成本值的计算可以依赖于要应用于与邻域中的3D点相关联的至少一些数据的加权。在某些实施例中,加权可以基于邻域中的3D点和可以与3D邻域相关联的所选择或计算的3D参考点之间的距离(这种3D参考点的非限制性示例是邻域中3D点的3D平均值或几何中值,或者3D邻域的质心)。在某些实施例中,一维、二维或三维的速度可用于确定成本值。在某些实施例中,确定成本的计算可以是对代表3D邻域中的收集的数据执行的以下操作中的一个或多个:线性组合、非线性计算、使用预先计算的查找表来返回值,以及使用神经网络。在某些实施例中,除了与矩阵元素自身相关联的代表3D邻域的数据之外,确定矩阵元素成本的计算还可以考虑与相邻矩阵元素相关联的代表3D邻域的数据。
写入成本矩阵的元素中的成本值可以表示在假设场景中存在与该元素相关联的3D邻域的3D位置处的物理表面的情况下的名义成本(nominal cost)。在某些实施例中,成本值可以是大于或等于零的数值。
为了有效地计算成本矩阵(即,最小化计算操作),确保参考表面和来自不同图像对的导出的参考表面基本对齐可能是有用的。
基于几何原理可以看出,如果参考表面和导出的参考表面(750、751、752、753等)对于所有的图像对而言基本相同,则可以基于跨越单个参考表面(例如750)记录每个位置的单个偏移(例如从1821到1831的移位)的映射来构造最小范围的3D邻域,其中,这些图像对的交点(例如,图7A中的760、761、762、763、764、770、771、772、773、780、781、782等)可以包括在3D邻域中并且由此形成与3D邻域相关联的数据集合的基础,该3D邻域然后可以被用于计算成本矩阵的相应元素中的值。以这种方式在3D邻域的一部分中布置交点可能具有优点,因为计算设备随后能够在几乎不访问数字存储器的情况下从校正图像中检索必要的数据,并且由于可能需要较少的操作,能够更有效地计算形成成本矩阵的代表3D邻域。本文公开的几何构造允许使用基本恒定的偏移从校正图像中提取代表3D邻域的数据,从而提取成本矩阵条目,该几何构造可以进一步使得计算设备能够以更少的操作和/或对数字存储器更少的访问来计算成本矩阵条目,并因此更快或更有效地完成成本矩阵值。在某些实施例中,根据可以由像素偏移分隔的至少两个校正图像所提取的相关联的像素数据来计算与交点相关联的数据,其中,这些交点被输入到与在至少一个参考表面上基本对齐的3D场景信息相关联的一个或多个3D邻域的似然计算中。在某些实施例中,像素偏移可以是恒定的或基本恒定的。在某些实施例中,像素偏移中的一部分可以是恒定的或基本恒定的。在某些实施例中,像素偏移的大部分可以是恒定的或基本恒定的。
在没有本文公开的校正处理的情况下,从表示从物理场景中所选的3D邻域发出的光的多个摄像机提取像素数据以计算成本矩阵中的条目的操作可能需要针对每个图像对和每个成本矩阵元素进行唯一的计算,这是因为摄像机的几何定位和/或运动未受到约束。如果这些计算至少是原始像素数据与一组特定参数的线性组合,则计算设备可能必须针对每个成本矩阵元素执行的操作次数可能是使用本公开中概述的方法的N(系统中摄像机的数量)倍,并且对数字存储器的访问的次数是使用本公开中概述的方法的D(成本矩阵堆栈中的平面数量)倍。例如,配置为在其成本矩阵中处理4个图像和1000个候选深度平面的系统可能需要4倍以上的操作和1000倍以上的存储器访问;这会潜在地导致操作明显变慢。使用本文公开的一个或多个校正过程,可以减少操作的次数和/或存储器访问的次数。
尽管有上述优点,但在某些实施例中,围绕公共参考表面(例如750)的基础校正和邻域构造还可能是有益的,因此,针对一个或多个图像对可以独立地确定导出的参考表面751、752、753等。在某些实施例中,表面的间距可以针对一个或多个图像对的不同而变化,而不是固定,以实现跨校正图像对的期望空间分辨率。在某些实施例中,一致深度移位图像的空间分辨率可以是至少100、200、400、800、1000、1500、2000、4000、8000或16000个样本。在某些实施例中,基于独立选择的参考表面的校正图像数据和基于公共参考表面的校正图像数据之间可以存在有效的映射。在某些实施例中,可以通过将基于独立选择的参考表面的校正图像数据存储在合适的相关数据结构中,将该映射结合到构建成本矩阵步骤1380中(以及执行光流步骤1370,如果使用了该步骤的话)。在一些实施例中,相比存储基于公共参考表面的校正图像数据,存储基于独立选择的参考表面的校正图像数据可以在没有不适当的额外计算成本的情况下具有更精确地计算校正图像数据的优点。
在构建成本矩阵步骤1380之后,过程前进到生成3D场景信息步骤1390。在生成3D场景信息1390处,可以使用在先前步骤中构建的成本矩阵来确定可以存储在3D信息数据结构中的3D场景信息。
可以通过使用(一维)动态规划方法,例如1-D动态时间扭曲或1-D扫描线优化,沿着一系列线性方向优化计算最小总成本路径来计算3D信息。线性方向可以是那些基本上沿着成本矩阵的列的垂直切片对齐的方向(图14中的示例列是成本矩阵元素1411、1412、1413、1414的堆栈),并且得到的最佳成本路径可以由与将选择到路径中的那些元素相关联的代表3D邻域构成。由所得到的最优成本路径识别的物理3D邻域可以是基本上沿着场景中至少一个物理表面的轮廓的直线、基本上直的线、弯曲的线、连续的线、不连续的线、基本上连续的线、基本上不连续的线的或其组合(例如,有条状或带状外观)。
在一些实施例中,这种具有最佳总成本的路径可以包括最有可能代表场景中沿着物理表面的路径的所收集的代表3D邻域的集合,从而展示比基本上单独地考虑每个代表3D邻域更准确的深度估计。
在一些实施例中,沿着基本对齐一个或多个极平面(作为所选的一组图像对的结果的那些可用的极平面)的成本矩阵的平面所执行的优化可以提供比根据没有这样对齐的成本矩阵所构造的最佳路径更精确的物理表面表示。一种解释可能是,除了场景中的遮挡情况之外,场景中物理表面上的位置在图像对中的相应像素可以沿着极线找到。作为结果,例如,如果代表3D邻域的收集的数据中的至少一个贡献来自物理表面,则沿着包括该3D邻域的极平面的路径更有可能被识别为最佳路径。
在一些实施例中,计算成本矩阵值的计算量可能大于执行线性深度优化的计算量,因此,下述操作可能是有益的:通过沿着多个方向执行优化来提取更精确的深度估计,以及利用以下事实:在大量这样的最佳路径计算中,如果以独立于相关联的代表3D邻域中的数据被检查的顺序的方式计算成本矩阵值,则成本矩阵值可以被重用而不用被重新计算。在一些实施例中,多条线可以对齐对应于所选择的一个或多个图像对的一个或多个极线。
在一些实施例中,由多个最佳路径计算产生的多个深度估计的组合可以比一个这样的最佳路径计算更有利于更精确的深度估计。例如可以通过允许使用稳健的统计测量来从由至少一个最佳路径计算产生的深度值的集合中产生精确的深度值来实现。
无论以何种方式推导出的至少大部分位置的深度都可以与附加的相关数据一起写入3D信息数据结构,附加的相关数据可以包括汇总的光谱和/或速度信息。
在某些实施例中,3D信息数据结构可以被布置为深度图,该深度图具有元素的2D网格,每个元素基本上代表投影到视图中的场景的一部分。这些元件可以存储深度,并且可以额外地存储光谱数据、光流数据和/或与场景的该部分相关联的其他数据。在某些实施例中,3D信息数据结构可以被布置为点云,即,3D点的集合,这些3D点共同表示场景中物理表面或对象的近似值。点云中的3D点还可以包含相关联的光谱数据、光流数据和/或其他数据。
3D场景信息数据结构或其中包含的信息可以通过通信总线181从计算机系统115输出到外部系统(如图1所示)。
在生成3D场景信息1390之后,过程前进并返回到步骤获取图像1330,该过程可以在未来一段时间内循环继续,或者直到该过程被关闭或以其他方式中断。因此,通过重复步骤1330至步骤1390,可以输出3D场景信息流。示例性处理——无光流的替选方案
在某些实施例中,可以不使用光流数据来生成3D场景信息。参照图16,流程图1600在1610开始处理。步骤1620、1630和1640与在示例性处理和图13中分别描述的1320、1330和1340的一样,并且将不再进一步描述。
除了处理的图像可以不包含光流数据外,生成一致深度移位图像步骤1660的操作与步骤1360(如图13所示)所描述的一样。过程从步骤1660前进到构建成本矩阵步骤1380。
除了构建成本矩阵可以不使用光流数据外,构建成本矩阵步骤1680的操作与步骤1380(如图13所示)所描述的一样,因此,例如,成本值可以不具有来自包括诸如垂直像素运动之类的推导出的信息的光流数据的贡献。过程从构建成本矩阵步骤1680前进到生成3D场景信息步骤1690。
除了可以不使用光流数据来确定3D速度数据之外,生成3D场景信息步骤1690的操作与生成3D场景信息步骤1380(如图13所示)所描述的一样。过程从生成3D场景信息步骤1690再次来到获得图像1640。
示例性处理——在图像扭曲之后执行光流
在某些实施例中,可以在图像扭曲之后执行光流处理。参照图17,流程图1700在1710开始处理。步骤1620、1630和1640与在示例性处理和图13中分别描述的1320、1330和1340一样,并且将不再进一步描述。过程从获取图像步骤1740开始前进到生成一致深度移位图像1760。
除了处理的图像可以不包含光流数据外,生成一致深度移位图像步骤1750的操作与生成一致深度移位图像步骤1360(如图13所示)所描述的一样。过程从步骤1750前进到执行光流步骤1760。
除了可以对由前一步骤产生的一致深度移位图像(即,校正图像)执行光流之外,执行光流步骤1760的操作可以与步骤1380(如图13所示)描述的一样,因此光流可以用于确定校正图像表观的局部表观运动。过程从执行光流步骤1760前进到构建成本矩阵步骤1780。
步骤1780和1790与示例性处理和图13中所描述的一样,并且将不再进一步描述。
在图19中示出了一系列可选的摄像机位置,其中,一个或多个摄像机被示出在移动平台(例如,汽车1976和1977、卡车1970、飞机1920或人1960)上,并且一个或多个其它摄像机被示出安装在场景中的静态对象上(例如,建筑物1940、路标1955、路灯1950、交通灯1956、道路水平元件或猫眼路标(cat’s-eye)1957)。根据某些实施例,使用合适的数字通信机制,安装在一个或多个移动或静止对象上的这些摄像机的至少一部分或至少大部分可以有助于被配置为确定3D场景信息的系统。
根据描述所要求保护的主题的某些实施例的以下示例,所要求保护的主题的进一步优点将变得显而易见。
1A、一种用于生成场景的三维信息的系统,包括:一个或多个摄像机,所述一个或多个摄像机配置为被定位以观察所述场景,以及生成代表在相对于所述场景的不同位置拍摄的至少两个图像的像素数据;
所述一个或多个摄像机还配置为将至少部分地与所述至少两个图像相关联的像素数据传输到一个或多个计算机系统;以及
所述一个或多个计算机系统配置为:
根据所述至少两个图像获取所述相关联的像素数据;以及
使用所述相关联的像素数据的至少一部分来确定所述场景中一个或多个物理表面的可能位置。
2A、一种用于生成场景的三维信息的系统,包括:一个或多个摄像机,所述一个或多个摄像机配置为被定位以观察所述场景,以及生成代表在相对于所述场景的不同位置拍摄的至少两个图像的像素数据;
所述一个或多个摄像机还配置为将至少部分地与所述至少两个图像相关联的像素数据传输到一个或多个计算机系统;以及
所述一个或多个计算机系统配置为:
根据所述至少两个图像获取所传输的所述相关联的像素数据;
提取所述相关联的像素数据的至少一部分;
使用所述相关联的像素数据的至少一部分来生成三维3D邻域的表示,所述3D邻域至少部分地基于所述3D邻域在至少一个所述图像中的投影来代表所述场景的至少一部分;以及
使用所述相关联的像素数据的至少一部分来确定所述场景中的一个或多个物理表面与所述3D邻域相交的可能性。
3A、一种用于生成场景的三维信息的系统,包括:
一个或多个摄像机,所述一个或多个摄像机配置为被定位以观察所述场景,以及生成代表在相对于所述场景的不同位置拍摄的至少两个图像的像素数据;所述一个或多个摄像机还配置为将至少部分地与所述至少两个图像相关联的像素数据传输到一个或多个计算机系统;以及
所述一个或多个计算机系统配置为:
获取所传输的像素数据;
使用所述像素数据的至少一部分生成一个或多个3D邻域的一个或多个表示,所述一个或多个3D邻域至少部分地代表所述场景的至少一部分;以及
使用所述一个或多个表示确定所述一个或多个3D邻域包含来自所述场景的至少一个物理表面的可能性。
4A、根据示例1A至3A中任一项所述的系统,其中,所述一个或多个计算机系统配置为确定一个或多个3D邻域包含来自所述场景的至少一个物理表面的可能性。
5A、根据示例1A至4A中任一项所述的系统,其中,所述一个或多个计算机系统配置为提取所述相关联的像素数据的至少一部分。
6A、根据示例1A至5A中任一项所述的系统,其中,所述一个或多个计算机系统配置为使用所述相关联的像素数据的至少一部分来生成一个或多个代表3D邻域,所述一个或多个代表3D邻域代表所述场景的至少一部分,并且所述一个或多个代表3D邻域至少部分地依赖于一个或多个3D邻域在至少一个所述图像中的投影。
7A、根据示例1A至6A中任一项所述的系统,其中,所述一个或多个计算机系统配置为使用所述相关联的像素数据的至少一部分来生成一个或多个代表3D邻域,所述一个或多个代表3D邻域代表所述场景的至少一部分,并且所述一个或多个代表3D邻域至少部分地依赖于包括所述一个或多个3D邻域在至少一个所述图像中的投影的像素数据。
8A、根据示例1A至7A中任一项所述的系统,其中,所述一个或多个计算机系统配置为使用所述相关联的像素数据的至少一部分,所述相关联的像素数据包括代表所述场景的至少一部分的一个或多个3D邻域在所述至少两个图像中的投影。
9A、根据示例1A或8A中任一项所述的系统,其中,一个或多个3D邻域的所述相关联的像素数据的至少一部分包括下述项中的一项或多项:实质性物理表面的光谱数据以及光谱数据特性。
10A、根据示例1A或9A中任一项所述的系统,其中,所述相关联的像素数据的至少一部分包括光流信息。
11A、根据示例1A或10A中任一项所述的系统,其中,所述相关联的像素数据的至少一部分包括从3D邻域在至少一个所述摄像机的图像中的投影推导出的像素级光谱数据和/或像素级光流信息。
12A、根据示例1A至11A中任一项所述的系统,其中,所述一个或多个计算机系统配置为使用所述相关联的像素数据的至少一部分的至少大部分像素数据来确定一个或多个所述物理表面在空间的三个潜在维度中的至少一个维度中相对于所述一个或多个摄像机的估计速度。
13A、根据示例1A至12A中任一项所述的系统,其中,所述一个或多个摄像机配置为生成代表在相对于所述场景的不同位置拍摄的至少三个图像的像素数据,所述相关联的像素数据的至少一部分是由一个或多个3D邻域在至少一个所述摄像机的图像中的投影确定的像素数据的子集。
14A、根据示例1A至13A中任一项所述的系统,其中,所述一个或多个摄像机配置为生成代表在相对于所述场景的不同位置拍摄的至少四个图像的像素数据,并且所述相关联的像素数据的至少一部分是由一个或多个3D邻域在至少一个所述摄像机的图像中的投影确定的像素数据的子集。
15A、根据示例11A或14A的系统,其中,所述至少四个图像或至少三个图像是在相对静态的时间段内在相对于所述场景的不同位置拍摄的。
16A、根据示例1A至15A中任一项所述的系统,其中,所述相关联的像素数据的至少一部分是由一个或多个3D邻域至少一个3D邻域在至少一个所述图像中的投影确定的所述像素数据的子集。
17A、根据示例1A至16A中任一项所述的系统,其中,所述相关联的像素数据的至少一部分当其投影到代表二维2D表面上时通过两个或多个像素位置之间的2D距离进行加权。
18A、根据示例1A至17A中任一项所述的系统,其中,所述相关联的像素数据的至少一部分当其投影到与至少一个所述图像相关联的至少一个图像平面上时通过两个或多个像素位置之间的2D距离进行加权。
19A、根据示例1A至18A中任一项所述的系统,其中,至少一个代表3D点选自代表3D邻域,并且对所述相关联的像素数据的至少一部分的加权至少部分地依赖于至少一个像素位置与所述至少一个代表3D点在代表2D表面上的投影的接近度。
20A、根据示例1A至19A中任一项所述的系统,其中,在将至少一个代表3D点和选择的参考代表3D点投影到代表二维表面上之后,通过所述至少一个代表3D点和所述选择的参考代表3D点之间的距离来加权所述至少一个代表3D点。
21A、根据示例1A至20A中任一个的所述系统,其中,在将至少一个代表3D点和的参考代表3D点投影到3D物理场景中至其在所述场景中的估计深度之后,通过所述至少一个代表3D点和所述选择的参考代表3D点之间的距离来加权所述至少一个代表3D点。
22A、根据示例1A至21A中任一项所述的系统,其中,没有两个3D邻域重叠。
23A、根据示例1A至22A中任一项所述的系统,其中,3D邻域的大部分不重叠。
24A、根据示例1A至23A中任一项所述的系统,其中,3D邻域总体上覆盖整个所述场景。
25A、根据示例1A至24A中任一项所述的系统,其中,多个3D邻域总体上没有覆盖整个所述场景。
26A、根据示例1A至25A中任一项所述的系统,其中,多个3D邻域基本上沿着至少一条线居中或基本上沿着至少一条线对齐,所述至少一条线在所述一个或多个摄像机捕获所述图像的一个或多个时刻从相对于摄像机中心的3D位置的至少一个固定3D点投影到所述场景中。
27A、根据示例1A至26A中任一项所述的系统,其中,多个3D邻域的至少一部分基本上沿着至少一条线居中,所述至少一条线在所述一个或多个摄像机捕获所述图像的一个或多个时刻从相对于摄像机中心的3D位置固定的至少一个3D点投影到所述场景中。
28A、根据示例1A至27A中任一项所述的系统,其中,多个3D邻域的至少一部分基本上沿着至少一条线对齐,所述至少一条线在所述一个或多个摄像机捕获所述图像的一个或多个时刻从相对于摄像机中心的3D位置固定的至少一个3D点投影到所述场景中。
29A、根据示例1A至28A中任一项所述的系统,其中,多个3D邻域的至少一部分基本上沿着多条线居中,所述多条线在所述一个或多个摄像机捕获所述图像的一个或多个时刻从相对于摄像机中心的3D位置固定的至少一个3D点投影到所述场景中。
30A、根据示例1A至29A中任一项所述的系统,其中,多个3D邻域的至少一部分基本上沿着多条线对齐,所述多条线在所述一个或多个摄像机捕获所述图像的一个或多个时刻从相对于摄像机中心的3D位置固定的至少一个3D点投影到所述场景中。
31A、根据示例1A至30A中任一项所述的系统,其中,从多个3D邻域的至少一部分中收集的数据用于确定所述物理表面至少部分地包含在一个或多个3D邻域内的可能性。
32A、根据示例1A至31A中任一项所述的系统,其中,多个3D邻域的一部分代表穿过所述场景的线。
33A、根据示例1A至32A中任一项所述的系统,其中,线是直的线、基本上直的线、弯曲的线、连续的线、不连续的线、基本上连续的线、基本上不连续的线或其组合,并且所述线基本上沿着所述场景中的至少一个物理表面的轮廓。
34A、根据示例1A至33A中任一项所述的系统,其中,线为条状或带状,并且所述线基本上沿着所述场景中的至少一个物理表面的轮廓。
35A、根据示例1A至34A中任一项所述的系统,其中,成本矩阵值用于优化计算,以获得由最有可能包含物理表面的3D邻域的集合组成的优化成本路径。
36A、根据示例1A至35A中任一项所述的系统,其中,成本矩阵内已计算的可能性计算值至少部分地用于定义后续成本矩阵,所述成本矩阵的列与跨越至少一个图像的至少一条其他线基本对齐。
37A、根据示例1A至36A中任一项所述的系统,其中,3D邻域的一部分内的可能性计算产生数值结果,所述数值结果与处理从图像对的集合推导出的交点的数据的至少一部分的顺序无关。
38A、根据示例1A至37A中任一项所述的系统,其中,针对从所选择的图像对推导出的多条线重复优化计算。
39A、根据示例1A至38A中任一项所述的系统,其中,多条线选自极线。
40A、根据示例1A至39A中任一项所述的系统,其中,多条线中的一部分选自极线。
41A、根据示例1A至40A中任一项所述的系统,其中,根据从由像素偏移分隔的至少两个校正图像提取的相关联的像素数据来计算与交点相关联的数据,所述交点被输入到与在至少一个参考表面上基本对齐的3D场景信息相关联的一个或多个3D邻域的可能性计算中。
42A、根据示例1A至41A中任一项所述的系统,其中,像素偏移是恒定的。
43A、根据示例1A至42A中任一项所述的系统,其中,像素偏移是基本恒定的。
44A、根据示例1A至43A中任一项所述的系统,其中,像素偏移不是恒定的。
45A、根据示例1A至44A中任一项所述的系统,其中,像素偏移不是基本恒定的。
46A、根据示例1A至45A中任一项所述的系统,其中,像素偏移中的一部分是恒定的。
47A、根据示例1A至46A中任一项所述的系统,其中,像素偏移中的一部分是基本恒定的。
48A、根据示例1A至47A中任一项所述的系统,其中,像素偏移中的一部分不是恒定的。
49A、根据示例1A至48A中任一项所述的系统,其中,像素偏移中的一部分不是基本恒定的。
50A、根据示例1A至49A中任一项所述的系统,其中,像素偏移的大部分是恒定的。
51A、根据示例1A至50A中任一项所述的系统,其中,像素偏移的大部分是基本恒定的。
52A、根据示例1A至51A中任一项所述的系统,其中,像素偏移的大部分不是恒定的。
53A、根据示例1A至52A中任一项所述的系统,其中,像素偏移的大部分不是基本恒定的。
54A、根据示例1A至53A中任一项所述的系统,其中,所述系统在所述系统进行操作之前被校准。
55A、根据示例1A至54A中任一项所述的系统,其中,所述系统配置为在所述系统操作期间被校准。
56A、根据示例1A至55A中任一项所述的系统,其中,至少一个摄像机相对于一个或多个固有摄像机参数、一个或多个非固有摄像机参数或其组合被校准。
57A、根据示例1A至56A中任一项所述的系统,其中,一个或多个固有摄像机参数包括下述项中的一项或多项:视场、焦距、图像中心、径向透镜失真补偿和其他失真。
58A、根据示例1A至57A中任一项所述的系统,其中,一个或多个非固有摄像机参数包括下述项中的一项或多项:摄像机位置和摄像机相对于指定参考系在空间中的方向。
59A、根据示例1A至58A中任一项所述的系统,其中,所述一个或多个摄像机包括多个摄像机。
60A、根据示例1A至59A中任一项所述的系统,其中,所述一个或多个摄像机不布置成使得所述一个或多个摄像机的摄像机中心基本共面。
61A、根据示例1A至60A中任一项所述的系统,其中,所述一个或多个摄像机不布置成使得所述一个或多个摄像机的摄像机中心基本共线。
62A、根据示例1A至61A中任一项所述的系统,其中,所述一个或多个摄像机布置在一个或多个平面中。
63A、根据示例1A至62A中任一项所述的系统,其中,所述一个或多个摄像机中的至少一个摄像机产生图像数据,所述图像数据表示其中光谱带与所述一个或多个摄像机中的其它摄像机的光谱带不同的场景。
64A、根据示例1A至63A中任一项所述的系统,其中,所述系统配置为实时生成三维信息。
65A、根据示例1A至64A中任一项所述的系统,其中,所述系统配置为以实时帧速率生成三维信息。
66A、根据示例1A至65A中任一项所述的系统,其中,所述一个或多个摄像机与移动平台或车辆相关联。
67A、根据示例1A至66A中任一项所述的系统,其中,所述一个或多个摄像机中的至少一个摄像机与配置为可移动的移动平台或车辆相关联,并且所述一个或多个摄像机中的至少一个其它摄像机与静止平台相关联并配置为是静止的。
68A、根据示例1A至67A中任一项所述的系统,其中,所述一个或多个摄像机中的至少一个摄像机配置为可移动的,并且所述一个或多个摄像机中的至少一个其它摄像机配置为是静止的。
69A、根据示例1A至68A中任一项所述的系统,其中,所述一个或多个计算机系统配置为确定一个或多个3D邻域的至少一部分的物理表面在空间的三个潜在维度中的至少一个维度中相对于所述一个或多个摄像机的估计速度。
70A、一种系统,配置为通过使用示例1A至69A中的任一系统处理多个3D邻域来确定场景中一个或多个表面的存在,以确定至少一个3D邻域内包括表面的可能性,并将这些结果的至少一部分收集到累积的数据集中。
71A、一种使用示例1A至69A中的任一项所述的生成场景的三维视频信息的方法。
72A、一种使用示例1A至69A中的任一项所述的系统生成场景的三维模型的方法。
73A、一个或多个计算机可读的非暂时性存储介质,包含可操作的软件,当所述软件被执行时操作示例1A至69A中任一任一项所述的系统。
74A、一种系统,包括:一个或多个处理器;以及耦接到所述一个或多个处理器的一个或多个存储器,所述存一个或多个存储器包括可由所述一个或多个处理器执行的指令,所述一个或多个处理器在执行所述指令时可操作以操作示例1A至69A的任一项所述的系统。
本文对现有技术文件的任何描述,或从这些文件衍生或基于这些文件的陈述,并不承认这些文件或衍生陈述是相关技术的公知常识的一部分。
1B、一种用于生成场景的三维信息的方法,包括:
使用一个或多个摄像机生成在相对于所述场景的不同位置拍摄的至少两个图像,所述一个或多个摄像机被定位以观察所述场景,以及生成代表在相对于所述场景的不同位置拍摄的至少两个图像的像素数据;
将至少部分地与所述两个图像相关联的像素数据从所述一个或多个摄像机传输到一个或多个计算机系统;
在所述一个或多个计算机系统处根据所述至少两个图像接收所述相关联的像素数据;以及
使用所述相关联的像素数据的至少一部分来确定所述场景中一个或多个物理表面的可能位置。
2B、一种用于生成场景的三维信息的方法,包括:
使用一个或多个摄像机生成代表在相对于所述场景的不同位置拍摄的至少两个图像的像素数据,所述一个或多个摄像机被定位以观察所述场景;
将至少部分地与所述至少两个图像相关联的像素数据从所述一个或多个摄像机传输到一个或多个计算机系统;
在所述一个或多个计算机系统处根据所述至少两个图像获取所传输的所述相关联的像素数据;
在所述一个或多个计算机系统处提取所述相关联的像素数据的至少一部分;使用所述相关联的像素数据的至少一部分来生成三维3D邻域的表示,所述3D邻域至少部分地基于所述3D邻域在至少一个所述图像中的投影来代表所述场景的至少一部分;以及
使用所述相关联的像素数据的至少一部分来确定所述场景中的一个或多个物理表面与所述3D邻域相交的可能性。
3B、一种用于生成场景的三维信息的方法,包括:
使用一个或多个摄像机生成代表在相对于所述场景的不同位置拍摄的至少两个图像的像素数据,所述一个或多个摄像机被定位以观察所述场景;
将至少部分地与所述至少两个图像相关联的像素数据从所述一个或多个摄像机传输到一个或多个计算机系统;
在所述一个或多个计算机系统处获取所传输的像素数据;
使用所述像素数据的至少一部分来生成一个或多个3D邻域的一个或多个表示,所述一个或多个3D邻域至少部分代表所述场景的至少一部分;以及
使用所述一个或多个表示确定所述一个或多个3D邻域包含来自所述场景的至少一个物理表面的可能性。
4B、根据示例1B至3B中任一项所述的方法,其中,一个或多个3D邻域的所述相关联的像素数据的至少一部分包括下述项中的一项或多项:实质性物理表面的光谱数据以及光谱数据特性。
5B、根据示例1B或4B中任一项所述的方法,其中,所述相关联的像素数据的至少一部分包括光流信息。
6B、根据示例1B或5B中任一项所述的方法,其中,所述相关联的像素数据的至少一部分包括从3D邻域在至少一个所述摄像机的图像中的投影推导出的像素级光谱数据和/或像素级光流信息。
7B、根据示例1B至6B中任一项所述的方法,其中,所述一个或多个计算机系统使用所述相关联的像素数据的至少一部分的至少大部分像素数据来确定一个或多个所述物理表面在空间的三个潜在维度中的至少一个维度中相对于所述一个或多个摄像机的估计速度。
8B、根据示例1B至7B中任一项所述的方法,其中,所述一个或多个摄像机生成代表在相对于所述场景的不同位置拍摄的至少三个图像的像素数据,所述相关联的像素数据的至少一部分是由一个或多个3D邻域在至少一个所述摄像机的图像中的投影确定的像素数据的子集。
9B、根据示例1B至8B中任一项所述的方法,其中,所述一个或多个摄像机生成代表在相对于所述场景的不同位置拍摄的至少四个图像的像素数据,所述相关联的像素数据的至少一部分是由一个或多个3D邻域在至少一个所述摄像机的图像中的投影确定的所述像素数据的子集。
10B、根据示例8B或9B的方法,其中,至少四个图像或至少三个图像是在相对静态的时间段内在相对于所述场景的不同位置拍摄的。
11B、根据示例1B至10B中任一项所述的方法,其中,多个3D邻域总体上没有覆盖整个所述场景。
12B、根据示例1B至11B中任一项所述的方法,其中,多个3D邻域基本上沿着至少一条线居中或基本上沿着至少一条线对齐,所述至少一条线在所述一个或多个摄像机捕获所述图像的时刻从相对于所述摄像机中心的3D位置的至少一个固定3D点投影到所述场景中。
13B、根据示例1B至12B中任一项所述的方法,其中,从多个3D邻域的至少一部分中收集的数据用于确定所述物理表面至少部分地包含在一个或多个3D邻域内的可能性。
14B、根据示例1B至13B中任一项所述的方法,其中,多个3D邻域的一部分代表穿过所述场景的线。
15B、根据示例1B至14B中任一项所述的方法,其中,线是直的线、基本上直的线、弯曲的线、连续的线、不连续的线、基本上连续的线、基本上不连续的线或其组合,并且所述线基本上沿着所述场景中的至少一个物理表面的轮廓。
16B、根据示例1B至15B中任一项所述的方法,其中,线为条状或带状,并且所述线基本上沿着所述场景中的至少一个物理表面的轮廓。
17B、根据示例1B至16B中任一项所述的方法,其中,成本矩阵内已经计算的可能性计算值至少部分地用于定义后续成本矩阵,所述成本矩阵的列与跨越至少一个图像的至少一条其他线基本对齐。
18B、根据示例1B至17B中任一项所述的方法,其中,3D邻域的一部分内的可能性计算产生数值结果,所述数值结果与处理从图像对的集合推导出的交点的数据的至少一部分的顺序无关。
19B、根据示例1B至18B中任一项所述的方法,其中,针对从所选择的图像对推导出的多条线重复优化计算。
20B、根据示例1B至19B中任一项所述的方法,其中,多条线选自极线。
21B、根据示例1B至20B中任一项所述的方法,其中,多条线中的一部分选自极线。
22B、根据示例1B至21B中任一项所述的方法,其中,根据从由像素偏移分隔的至少两个校正图像提取的所述相关联的像素数据来计算与交点相关联的数据,所述交点被输入到与在至少一个参考表面上基本对齐的3D场景信息相关联的一个或多个3D邻域的可能性计算中。
23B、根据示例1B至22B中任一项所述的方法,其中,像素偏移是恒定的。
24B、根据示例1B至23B中任一项所述的方法,其中,像素偏移是基本恒定的。
25B、根据示例1B至24B中任一项所述的方法,其中,像素偏移中的一部分是恒定的。
26B、根据示例1B至25B中任一项所述的方法,其中,像素偏移中的一部分是基本恒定的。
27B、根据示例1B至26B中任一项所述的方法,其中,所述一个或多个摄像机不布置成使得所述一个或多个摄像机的摄像机中心基本共面。
28B、根据示例1B至27B中任一项所述的方法,其中,所述一个或多个摄像机不布置成使得所述一个或多个摄像机的摄像机中心基本共线。
29B、根据示例1B至28B中任一项所述的方法,其中,所述系统配置为实时生成三维信息。
1C、一个或多个计算机可读的非暂时性存储介质,包含可操作的软件,当所述软件被执行时:
根据至少两个图像接收相关联的像素数据,其中,所述至少两个图像是在不同时间在相对于场景的不同位置拍摄的;
从所述至少两个图像中提取所述像素数据的一部分,所述像素数据的一部分包括第一3D邻域的投影,所述第一3D邻域至少部分地代表所述场景的一部分;以及
使用所提取的像素数据的至少一部分来确定所述第一3D邻域包含与所述场景相关联的代表物理表面的可能性。
2C、一种系统,包括:一个或多个处理器;以及耦接到所述一个或多个处理器的一个或多个存储器,所述一个或多个存储器包括可由所述一个或多个处理器执行的指令,所述一个或多个处理器在执行所述指令时可操作以:
根据至少两个图像接收相关联的像素数据,其中,所述至少两个图像是在不同时间在相对于场景的不同位置拍摄的;
从所述至少两个图像中提取所述像素数据的一部分,所述像素数据的一部分包括第一3D邻域的投影,所述第一3D邻域至少部分地代表所述场景的一部分;以及使用所提取的像素数据的至少一部分来确定所述第一3D邻域包含与所述场景相关联的代表物理表面的可能性。
虽然本文已经示出和描述了某些实施例,但是对于本领域技术人员来说明显的是,这些实施例仅作为示例提供。
在某些实施例的前述描述中,为了清楚起见使用了特定的术语。然而,本公开并不旨在限于如此选择的特定术语,并且应当理解,特定术语包括以类似方式操作以实现类似技术目的其他技术等同物。诸如“左”和“右”、“前”和“后”、“上”和“下”等术语被用作提供参考点的方便用语,并且不被解释为限制性术语。
在本说明书中,“包含(comprising)”一词应理解为其“开放”意义,即“包括”的意义,而不限于其“封闭”的意义,即“仅由……组成”的意义。相应的含义应归属于它们出现的相应词“包含(comprise/comprising)”和“被包含(comprised)”。
应当理解,本公开不限于所公开的实施例,并且旨在涵盖包括在本公开的精神和范围内的各种修改和等效布置。此外,上述各种实施例可以结合其他实施例来实现,例如,一个实施例的各个方面可以与另一个实施例的各个方面相结合,以实现其他实施例。此外,给定实施例的独立特征可以构成附加实施例。
Claims (29)
1.一种用于生成场景的三维信息的系统,包括:一个或多个摄像机,所述一个或多个摄像机配置为被定位以观察所述场景,以及生成代表在相对于所述场景的不同位置拍摄的至少两个图像的像素数据;
所述一个或多个摄像机还配置为将至少部分地与所述至少两个图像相关联的像素数据传输到一个或多个计算机系统;以及
所述一个或多个计算机系统配置为:
根据所述至少两个图像获取所述相关联的像素数据;以及
使用所述相关联的像素数据的至少一部分来确定所述场景中一个或多个物理表面的可能位置。
2.一种用于生成场景的三维信息的系统,包括:一个或多个摄像机,所述一个或多个摄像机配置为被定位以观察所述场景,以及生成代表在相对于所述场景的不同位置拍摄的至少两个图像的像素数据;
所述一个或多个摄像机还配置为将至少部分地与所述至少两个图像相关联的像素数据传输到一个或多个计算机系统;以及
所述一个或多个计算机系统配置为:
根据所述至少两个图像获取所传输的所述相关联的像素数据;
提取所述相关联的像素数据的至少一部分;
使用所述相关联的像素数据的至少一部分来生成三维3D邻域的表示,所述3D邻域至少部分地基于所述3D邻域在至少一个所述图像中的投影来代表所述场景的至少一部分;以及
使用所述相关联的像素数据的至少一部分来确定所述场景中的一个或多个物理表面与所述3D邻域相交的可能性。
3.一种用于生成场景的三维信息的系统,包括:
一个或多个摄像机,所述一个或多个摄像机配置为被定位以观察所述场景,以及生成代表在相对于所述场景的不同位置拍摄的至少两个图像的像素数据;
所述一个或多个摄像机还配置为将至少部分地与所述至少两个图像相关联的像素数据传输到一个或多个计算机系统;以及
所述一个或多个计算机系统配置为:
获取所传输的像素数据;
使用所述像素数据的至少一部分生成一个或多个3D邻域的一个或多个表示,所述一个或多个3D邻域至少部分代表所述场景的一部分;以及
使用所述一个或多个表示确定所述一个或多个3D邻域包含来自所述场景的至少一个物理表面的可能性。
4.根据权利要求1至3中任一项所述的系统,其中,一个或多个3D邻域的所述相关联的像素数据的至少一部分包括下述项中的一项或多项:实质性物理表面的光谱数据以及光谱数据特性。
5.根据权利要求1或4所述的系统,其中,所述相关联的像素数据的至少一部分包括光流信息。
6.根据权利要求1或5所述的系统,其中,所述相关联的像素数据的至少一部分包括从3D邻域在至少一个所述摄像机的图像中的投影推导出的像素级光谱数据和/或像素级光流信息。
7.根据权利要求1至6中任一项所述的系统,其中,所述一个或多个计算机系统配置为使用所述相关联的像素数据的至少一部分的至少大部分像素数据来确定一个或多个所述物理表面在空间的三个潜在维度中的至少一个维度中相对于所述一个或多个摄像机的估计速度。
8.根据权利要求1至7中任一项所述的系统,其中,所述一个或多个摄像机配置为生成代表在相对于所述场景的不同位置拍摄的至少三个图像的像素数据,所述相关联的像素数据的至少一部分是由一个或多个3D邻域在至少一个所述摄像机的图像中的投影确定的像素数据的子集。
9.根据权利要求1至8中任一项所述的系统,其中,所述一个或多个摄像机配置为生成代表在相对于所述场景的不同位置拍摄的至少四个图像的像素数据,所述相关联的像素数据的至少一部分是由一个或多个3D邻域在至少一个所述摄像机的图像中的投影确定的像素数据的子集。
10.根据权利要求8或9所述的系统,其中,至少四个图像或至少三个图像是在相对静态的时间段内在相对于所述场景的不同位置拍摄的。
11.根据权利要求1至10中任一项所述的系统,其中,多个3D邻域总体上没有覆盖整个所述场景。
12.根据权利要求1至11中任一项所述的系统,其中,多个3D邻域基本上沿着至少一条线居中或基本上沿着至少一条线对齐,所述至少一条线在所述一个或多个摄像机捕获所述图像的一个或多个时刻从相对于所述摄像机中心的3D位置的至少一个固定3D点投影到所述场景中。
13.根据权利要求1至12中任一项所述的系统,其中,从多个3D邻域的至少一部分中收集的数据用于确定所述物理表面至少部分地包含在一个或多个3D邻域内的可能性。
14.根据权利要求1至13中任一项所述的系统,其中,多个3D邻域的一部分代表穿过所述场景的线。
15.根据权利要求1至14中任一项所述的系统,其中,线是直的线、基本上直的线、弯曲的线、连续的线、不连续的线、基本上连续的线、基本上不连续的线或其组合,并且所述线基本上沿着所述场景中的至少一个物理表面的轮廓。
16.根据权利要求1至15中任一项所述的系统,其中,线为条状或带状,并且所述线基本上沿着所述场景中的至少一个物理表面的轮廓。
17.根据权利要求1至16中任一项所述的系统,其中,成本矩阵内已计算的可能性计算值至少部分地用于定义后续的成本矩阵,所述成本矩阵的列与跨越至少一个图像的至少一条其他线基本对齐。
18.根据权利要求1至17中任一项所述的系统,其中,3D邻域的一部分内的可能性计算产生数值结果,所述数值结果与处理从图像对的集合推导出的交点的数据的至少一部分的顺序无关。
19.根据权利要求1至18中任一项所述的系统,其中,针对从所选择的图像对推导出的多条线重复优化计算。
20.根据权利要求1至19中任一项所述的系统,其中,多条线选自极线。
21.根据权利要求1至20中任一项所述的系统,其中,多条线中的一部分选自极线。
22.根据权利要求1至21中任一项所述的系统,其中,根据从由像素偏移分隔的至少两个校正图像提取的相关联的像素数据来计算与交点相关联的数据,所述交点被输入到与在至少一个参考表面上基本对齐的3D场景信息相关联的一个或多个3D邻域的可能性计算中。
23.根据权利要求1至22中任一项所述的系统,其中,像素偏移是恒定的。
24.根据权利要求1至23中任一项所述的系统,其中,像素偏移是基本恒定的。
25.根据权利要求1至24中任一项所述的系统,其中,像素偏移中的一部分是恒定的。
26.根据权利要求1至25中任一项所述的系统,其中,像素偏移中的一部分是基本恒定的。
27.根据权利要求1至26中任一项所述的系统,其中,所述一个或多个摄像机不布置成使得所述一个或多个摄像机的摄像机中心基本共面。
28.根据权利要求1至27中任一项所述的系统,其中,所述一个或多个摄像机不布置成使得所述一个或多个摄像机的摄像机中心基本共线。
29.根据权利要求1至28中任一项所述的系统,其中,所述系统配置为实时生成所述三维信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2021901292 | 2021-04-30 | ||
AU2021901292A AU2021901292A0 (en) | 2021-04-30 | Systems and methods for generating and/or using 3-dimensional information with one or more cameras | |
PCT/AU2022/050403 WO2022226603A1 (en) | 2021-04-30 | 2022-04-30 | Systems and methods for generating and/or using 3-dimensional information with one or more cameras |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117501311A true CN117501311A (zh) | 2024-02-02 |
Family
ID=83846546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280043428.7A Pending CN117501311A (zh) | 2021-04-30 | 2022-04-30 | 利用一个或多个摄像机生成和/或使用三维信息的系统和方法 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4330917A1 (zh) |
CN (1) | CN117501311A (zh) |
WO (1) | WO2022226603A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024031141A1 (en) * | 2022-08-09 | 2024-02-15 | Visionary Machines Pty Ltd | Systems and methods for generating and/or using 3-dimensional information with one or more moving cameras |
CN116385687B (zh) * | 2023-06-01 | 2023-10-03 | 深圳市友昆标识制造有限公司 | 一种基于vr技术的城市三维虚拟场景构建方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102010031535A1 (de) * | 2010-07-19 | 2012-01-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Bildaufnahmevorrichtung und Verfahren zum Aufnehmen eines Bildes |
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 |
US10007269B1 (en) * | 2017-06-23 | 2018-06-26 | Uber Technologies, Inc. | Collision-avoidance system for autonomous-capable vehicle |
US10854011B2 (en) * | 2018-04-09 | 2020-12-01 | Direct Current Capital LLC | Method for rendering 2D and 3D data within a 3D virtual environment |
CN113840765A (zh) * | 2019-05-29 | 2021-12-24 | 御眼视觉技术有限公司 | 用于车辆导航的系统和方法 |
US20230188696A1 (en) * | 2020-04-24 | 2023-06-15 | Visionary Machines Pty Ltd | Systems And Methods For Generating And/Or Using 3-Dimensional Information With Camera Arrays |
US10949986B1 (en) * | 2020-05-12 | 2021-03-16 | Proprio, Inc. | Methods and systems for imaging a scene, such as a medical scene, and tracking objects within the scene |
-
2022
- 2022-04-30 WO PCT/AU2022/050403 patent/WO2022226603A1/en active Application Filing
- 2022-04-30 CN CN202280043428.7A patent/CN117501311A/zh active Pending
- 2022-04-30 EP EP22794110.1A patent/EP4330917A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4330917A1 (en) | 2024-03-06 |
WO2022226603A1 (en) | 2022-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220043449A1 (en) | Multi-channel sensor simulation for autonomous control systems | |
US10445928B2 (en) | Method and system for generating multidimensional maps of a scene using a plurality of sensors of various types | |
WO2021093240A1 (en) | Method and system for camera-lidar calibration | |
Hebel et al. | Change detection in urban areas by object-based analysis and on-the-fly comparison of multi-view ALS data | |
CN110531376B (zh) | 用于港口无人驾驶车辆的障碍物检测和跟踪方法 | |
US10477178B2 (en) | High-speed and tunable scene reconstruction systems and methods using stereo imagery | |
US20230188696A1 (en) | Systems And Methods For Generating And/Or Using 3-Dimensional Information With Camera Arrays | |
CN116685873A (zh) | 一种面向车路协同的感知信息融合表征及目标检测方法 | |
CN106681353A (zh) | 基于双目视觉与光流融合的无人机避障方法及系统 | |
CN111209825B (zh) | 一种用于动态目标3d检测的方法和装置 | |
CN117501311A (zh) | 利用一个或多个摄像机生成和/或使用三维信息的系统和方法 | |
CN111880191B (zh) | 基于多智能体激光雷达和视觉信息融合的地图生成方法 | |
Stilla et al. | Airborne monitoring of vehicle activity in urban areas | |
CN115032651A (zh) | 一种基于激光雷达与机器视觉融合的目标检测方法 | |
CN109993060A (zh) | 深度摄像头的车辆全向障碍物检测方法 | |
Zhang et al. | Deep learning based object distance measurement method for binocular stereo vision blind area | |
US20220383585A1 (en) | Systems And Methods For Generating And/Or Using 3-Dimensional Information With Camera Arrays | |
CN114648639B (zh) | 一种目标车辆的检测方法、系统及装置 | |
Pfeiffer et al. | Ground truth evaluation of the Stixel representation using laser scanners | |
Chen et al. | Amobile system combining laser scanners and cameras for urban spatial objects extraction | |
CN116648726A (zh) | 用于用摄像机阵列生成和/或使用3维信息的系统和方法 | |
US20240087094A1 (en) | Systems And Methods For Combining Multiple Depth Maps | |
Berrio et al. | Semantic sensor fusion: From camera to sparse LiDAR information | |
Carballo et al. | High density ground maps using low boundary height estimation for autonomous vehicles | |
Li et al. | Radar based obstacle detection in unstructured scene |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |