CN113014906B - 3d场景重建方法、系统及计算机程序存储介质 - Google Patents
3d场景重建方法、系统及计算机程序存储介质 Download PDFInfo
- Publication number
- CN113014906B CN113014906B CN202110078566.6A CN202110078566A CN113014906B CN 113014906 B CN113014906 B CN 113014906B CN 202110078566 A CN202110078566 A CN 202110078566A CN 113014906 B CN113014906 B CN 113014906B
- Authority
- CN
- China
- Prior art keywords
- scene
- data elements
- light
- media
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 206
- 238000004590 computer program Methods 0.000 title claims description 18
- 239000007787 solid Substances 0.000 claims abstract description 64
- 230000004907 flux Effects 0.000 claims abstract description 9
- 230000008569 process Effects 0.000 claims description 147
- 238000012545 processing Methods 0.000 claims description 109
- 238000003384 imaging method Methods 0.000 claims description 94
- 239000013598 vector Substances 0.000 claims description 74
- 230000005855 radiation Effects 0.000 claims description 66
- 230000006870 function Effects 0.000 claims description 48
- 230000003993 interaction Effects 0.000 claims description 29
- 238000004364 calculation method Methods 0.000 claims description 26
- 230000005540 biological transmission Effects 0.000 claims description 20
- 238000007373 indentation Methods 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 18
- 238000005457 optimization Methods 0.000 claims description 13
- 238000010801 machine learning Methods 0.000 claims description 11
- 238000010521 absorption reaction Methods 0.000 claims description 10
- 239000002131 composite material Substances 0.000 claims description 10
- 239000000463 material Substances 0.000 claims description 10
- 238000005315 distribution function Methods 0.000 claims description 4
- 238000003672 processing method Methods 0.000 claims 18
- 238000013500 data storage Methods 0.000 abstract description 5
- 230000010287 polarization Effects 0.000 description 83
- 238000010586 diagram Methods 0.000 description 70
- 230000004044 response Effects 0.000 description 28
- 230000015654 memory Effects 0.000 description 26
- 230000033001 locomotion Effects 0.000 description 21
- 239000011521 glass Substances 0.000 description 20
- 230000008859 change Effects 0.000 description 19
- 238000011156 evaluation Methods 0.000 description 19
- 238000003860 storage Methods 0.000 description 18
- 241000234479 Narcissus Species 0.000 description 17
- 208000028167 Southeast Asian ovalocytosis Diseases 0.000 description 17
- 238000004422 calculation algorithm Methods 0.000 description 16
- 230000003203 everyday effect Effects 0.000 description 16
- 238000013515 script Methods 0.000 description 16
- 239000002957 persistent organic pollutant Substances 0.000 description 15
- 238000005286 illumination Methods 0.000 description 14
- 230000002829 reductive effect Effects 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 13
- 230000003287 optical effect Effects 0.000 description 13
- 230000008439 repair process Effects 0.000 description 13
- 230000009471 action Effects 0.000 description 12
- 238000007792 addition Methods 0.000 description 11
- 230000001965 increasing effect Effects 0.000 description 11
- 230000037361 pathway Effects 0.000 description 11
- 238000005070 sampling Methods 0.000 description 10
- 238000013459 approach Methods 0.000 description 9
- 230000002354 daily effect Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 239000002184 metal Substances 0.000 description 7
- 229910052751 metal Inorganic materials 0.000 description 7
- 230000003595 spectral effect Effects 0.000 description 7
- 230000009466 transformation Effects 0.000 description 7
- 239000002023 wood Substances 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 230000001976 improved effect Effects 0.000 description 5
- 230000010354 integration Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 238000013178 mathematical model Methods 0.000 description 5
- 238000004091 panning Methods 0.000 description 5
- 238000012512 characterization method Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 230000004807 localization Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000007670 refining Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000005755 formation reaction Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000877 morphologic effect Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000000272 proprioceptive effect Effects 0.000 description 3
- 230000001953 sensory effect Effects 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 238000013179 statistical model Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 240000002769 Morchella esculenta Species 0.000 description 2
- 235000002779 Morchella esculenta Nutrition 0.000 description 2
- 235000008331 Pinus X rigitaeda Nutrition 0.000 description 2
- 235000011613 Pinus brutia Nutrition 0.000 description 2
- 241000018646 Pinus brutia Species 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008033 biological extinction Effects 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012854 evaluation process Methods 0.000 description 2
- 230000001747 exhibiting effect Effects 0.000 description 2
- 239000005357 flat glass Substances 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000000704 physical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000011179 visual inspection Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 101100352780 Drosophila melanogaster poe gene Proteins 0.000 description 1
- 241000196324 Embryophyta Species 0.000 description 1
- 244000068988 Glycine max Species 0.000 description 1
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000002419 bulk glass Substances 0.000 description 1
- 238000004581 coalescence Methods 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000000572 ellipsometry Methods 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000003628 erosive effect Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000004374 forensic analysis Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000010921 in-depth analysis Methods 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000031700 light absorption Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013028 medium composition Substances 0.000 description 1
- 150000002739 metals Chemical class 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 239000011368 organic material Substances 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000000711 polarimetry Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000001454 recorded image Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 210000003462 vein Anatomy 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
-
- 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/557—Depth or shape recovery from multiple images from light fields, e.g. from plenoptic 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/275—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
-
- 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
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/40—Tree coding, e.g. quadtree, octree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
- G06V20/647—Three-dimensional objects by matching two-dimensional images to three-dimensional objects
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- 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/10052—Images from lightfield camera
-
- 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/10141—Special mode during image acquisition
- G06T2207/10148—Varying focus
-
- 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/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Signal Processing (AREA)
- Geometry (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Studio Devices (AREA)
- Control Of Eletrric Generators (AREA)
- Image Generation (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
从对在包含不同类型的媒介的真实场景中的光场的数字图像进行限定的数据生成真实场景的存储式体积场景模型。数字图像由照相机从相反定向的姿势形成,且每个数字图像包含由表示由所述照相机中的光传感检测器接收的光场通量的存储数据限定的图像数据元素。通过场景重建引擎处理数字图像以形成表示真实场景的数字体积场景模型。该体积场景模型(i)包含由表示一个或多个媒介特性的存储数据限定的体积数据元素,且(ii)包含由表示光场的通量的存储数据限定的立体角数据元素。相邻的体积数据元素形成通路,在至少一个通路中的体积数据元素中的至少一者表示局部透光的媒介。将构建的数字体积场景模型数据存储在数字数据存储器中以供后续使用和应用。
Description
本申请是申请号为201780022473.3、申请日为2017年4月11日、发明名称为“日常场景重建引擎”的专利申请的分案申请。
相关申请的交叉引用
本申请要求在2016年4月12日递交的美国临时专利申请No.62/321,564、在2016年6月20日递交的美国临时专利申请No.62/352,379、在2016年8月5日递交的美国临时专利申请No.62/371,494、在2016年11月29日递交的美国临时专利申请No.62/427,603、在2016年12月6日递交的美国临时专利申请No.62/430,804、在2017年2月8日递交的美国临时专利申请No.62/456,397、以及在2016年11月11日递交的美国专利申请No.62/420,797的优先权,上述美国专利申请的全部公开内容通过引用并入在本文中。
技术领域
本发明总体涉及3D成像的领域,更具体地涉及体积场景重建。
背景技术
3D图像为出于各种各样的目的所捕获的现实世界场景的数字3D模型,包括视觉化和信息提取。通过3D成像器获得这些场景,所述3D成像器各式各样地被称为3D传感器、3D照相机、3D扫描仪、VR照相机、360°照相机和深度照相机。它们解决在全球行业中使用的应用中对于3D信息的需求,全球行业包括防护、娱乐、教育、医疗、保健、基础设施、制造和移动。
已发开了多种从场景提取3D信息的方法。许多涉及活跃的光源,诸如激光器,且具有局限性,诸如高功耗和受限的范围。几乎理想的方法是使用来自廉价照相机(通过使用检测器感测光场来形成图像的设备)的两个或更多个图像来产生详细的场景模型。在此将使用术语多视点立体(Multi-View Stereo,MVS),但是它和变型也具有其它名字,诸如摄影测量法、运动恢复结构(Structure-from-Motion,SfM)以及同时定位和映射(SimultaneouslyLocalization And Mapping,SLAM)。在Furukawa参考文件“Multi-View Stereo:ATutorial(多视点立体:教程)”中呈现了多种这类方法。它将MVS定义为图像/几何一致性优化问题。光度一致性和有效优化算法的鲁棒实现被发现对于成功算法来说是至关重要的。
为了提高从图像提取场景模型的鲁棒性,需要改进的光传输模型。这包括光与物质的相互作用的特性,包括透射、反射、折射、散射等。Jarosz的论文“Efficient MonteCarlo Methods for Light Transport in Scattering Media(用于在散射介质中的光传输的有效Monte Carlo方法)”(2008年)提供了对本主题的深入分析。
在MVS的最简单版本中,如果对于两个图像已知照相机的视点和姿势,则可以计算场景中的“地标”3D点的位置,条件是使用某种形式的三角测量在这两个图像(其2D“特征”点)中可找到该点的投影。(特征为在描述子和姿势方面所表达的实体的特性。特征的示例包括斑点、闪烁或建筑。描述子i)可以用于找到字段(实体可以摆姿势的空间)中处于姿势的特征的实例,或ii)可以由字段中处于一姿势的描述性特性形成。)通过组合许多地标来提取表面。这工作,只要特征点确实是固定的地标点在场景中的正确投影且不由某种不依赖于视点的伪影(例如,镜面反射、边缘交叉)引起。这可以被扩展到未得知照相机的视点和姿势的许多图像和情形。解析地标位置和照相机参数的过程被称为光束法平差(BundleAdjustment,BA),但是存在用于具体用途和情形的许多变型和其它名字。Triggs在其论文“Bundle Adjustment–A Modern Synthesis(光束法平差-现代综合论)”(2009年)中全面讨论过该主题。在BA中的重要的副主题是能够没有明确地产生分析性导数的情况下算出解,随着情况变得复杂,这变得越来越难以计算。Brent在书“Algorithms for MinimizationWithout Derivatives(不用导数的极小化算法)”中给出对此的介绍。
尽管在MVS中使用光的两种性质(颜色和强度),但是在与日常场景一起使用时存在较多局限性。这些包括不能够准确地表示场景中的不带纹理的表面、非朗伯体对象和透明对象。(对象为预期并置的介质。对象的示例包括:叶子、小树枝、大树、雾、云和大地。)为了解决此,已发现光的第三性质(偏振)以扩展场景重建能力。在MVS中使用偏振成像被称为偏振恢复形状(Shape from Polarization,SfP)。Wolff专利US5028138公开了基于镜面反射的基础SfP装置和方法。漫反射(如果存在的话)被假设为非偏振的。Barbour专利US5890095公开了一种偏振成像传感器装置和微偏振器阵列。Barbour专利US6810141公开了一种使用SPI传感器提供关于对象的信息(包括关于3D几何体的信息)的通用方法。d’Angelo专利DE102004062461公开了用于基于明暗恢复形状(Shape from Shading,SfS)结合SfP确定几何体的装置和方法。d’Angelo专利DE102006013318公开了用于基于SfS结合SfP以及添加用于点的稀疏集的范围数据的块匹配立体算法来确定几何体的装置和方法。Morel专利WO 2007057578公开了一种用于高度反射对象的SfP的装置。
Koshikawa论文“A Model-Based Recognition of Glossy Objects Using TheirPolarimetrical Properties(使用偏振属性基于模型识别光泽对象)”大体上被视为公开了使用偏振信息确定电介质光泽对象的形状的第一论文。Later,Wolff在其论文“Polarization camera for computer vision with a beam splitter(具有分束器的用于计算机视觉的偏振相机)”中示出了基础偏振照相机的设计。Miyazaki论文“Determiningshapes of transparent objects from two polarization images(从两个偏振图像确定透明对象的形状)”开发了用于透明或反射电介质表面的SfP方法。Atkinson论文“Shapefrom Diffuse Polarization(漫反射偏振恢复形状)”阐述了表面散射的基础物理学以及描述了用于在漫反射和镜面反射的情况下确定偏振恢复形状的方程式。Morel论文“ActiveLighting Applied to Shape from Polarization(应用于偏振恢复形状的主动照明)”描述了一种用于使用集成的圆顶和主动照明的反射性金属表面的SfP系统。它阐述了表面散射的基础物理学以及描述了用于在漫反射和镜面反射的情况下确定偏振恢复形状的方程式。d’Angelo论文“3D Reconstruction by Integration of Photometric and GeometricMethods(通过整合光度学和几何学方法的3D重建)”描述了一种基于稀疏点云和稠密深度图的3D重建的方法。
尽管MVS系统大多数基于解析表面,但是通过使用稠密方法增加模型的维度而发现了改进。Newcombe在其论文“Live Dense Reconstruction with a Single MovingCamera(利用单个移动相机的现场稠密重建)”(2010年)中阐述了该改进。Wurm在论文“OctoMap:A Probabilistic,Flexible,and Compact 3D Map Representation forRobotic Systems(概率性、灵活且紧凑的用于机器人系统的地图表示)”(2010)中阐述了另一方法。
当将MVS方法应用于现实世界场景时,计算需求对于许多应用、尤其对于移动和低功率操作来说会快速地变得不切实际。在MVS之外的领域(诸如在过去已经解决了这类计算问题的医学成像)中,使用八叉树和四叉树数据结构和方法已被发现为有效。当在适度的专用处理器中实施时尤其如此。预期该技术允许将许许多多简单的、便宜的、低功率的处理器应用于计算困难的情况。Meagher在论文“Geometric Modeling Using Octree Encoding(使用八叉树编码的几何学建模)”和论文“The Octree Encoding Method for EfficientSolid Modeling(用于有效的实体建模的八叉树编码方法)”中引入了基础八叉树概念。后来在US4694404中将该基础八叉树概念扩展到正射图像生成。
发明内容
以下简要概述可以提供对本文中所讨论的系统和/或方法的一些方面的基本初步理解。该概述不是本文中所讨论的系统和/或方法的广泛综述。它不旨在标识所有的关键/主要要素或勾画这类系统和/或方法的整个范围。该概述的唯一目的是以简化的形式呈现一些概念,作为后续呈现的更详细的描述的前奏。
在一些实施方式中,在日常场景(例如包含不同类型的媒介,通过这些媒介传输或反射光(例如在可见频率/波长频谱之内和/或之外传播电磁能量))的工作空间内将照相机瞄准不同方向(例如相反定向的姿势)时获取限定数字图像的数据并将该数据直接输入到场景重建引擎。在其它实施方式中,这类数字图像数据先前已被获取且存储,以供场景重建引擎的后续访问。在任一情况下,数字图像包含由表示由照相机中的光传感检测器接收的光场通量的存储式数据限定的图像数据元素。
示例性场景重建引擎处理这类数字图像以形成表示真实场景的数字体积场景模型。该场景模型可以包含由表示一个或多个媒介特性的存储式数据限定的体积数据元素。该场景模型还可以包含由表示感测的光场通量的存储式数据限定的立体角数据元素。相邻的体积数据元素可以在场景模型中形成通路,以及在至少一个通路中的体积数据元素中的至少一者表示局部透光的媒介。
将体积场景模型数据存储在数字数据存储器中以供任何预期的后续应用(例如,提供人类感知的显示、提供用于涉及真实场景的应用的设计数据、以及本领域的技术人员已知的许多其它应用)。
在一些示例性实施方式中,获取的图像数据元素表示成像的真实场景光场的至少一个预定光偏振特性。
在一些示例性实施方式中,一些通路可以占用(i)在获取关联的数据图像时的照相机光感测检测器位置与(ii)表示包含反射表面元素的媒介元素的体积数据元素之间的区域。
在一些示例性实施方式中,一些通路可以包括位于通路的远端的、表示反射媒介表面的体积数据元素,在借助非偏振光观察时,该反射媒介表面为无特征的。
在一些示例性实施方式中,一些通路可以包括位于通路的远端的、表示固体媒介表面上的局部取向梯度(例如,在车辆外皮上由雹灾造成的锯齿状“隆起”)的体积数据元素,在借助非偏振光观察时,该固体媒介表面为无特征的。
在一些示例性实施方式中,场景重建引擎接收用户对至少一个场景重建目标的标识,以及迭代地继续场景重建处理,直到按预定准确度达到所标识的目标。这类迭代处理可以继续,例如直到在场景模型中的至少一些体积数据元素的角度分辨率与平均人眼的角度分辨率(例如,大约1弧分或接近0.0003弧度)一样好或比其更好。
在一些示例性实施方式中,在照相机与感兴趣媒介之间的距离不同的情况下,获取真实场景中的至少一些媒介的数字图像(例如,更小媒介元素(诸如花、树等之上的叶子)的特写图像)。
在一些示例性实施方式中,以空间分类和分级的方式将体积数据元素存储在数字存储器中,以促进场景重建处理和/或重建模型数据的后续应用使用。
在一些示例性实施方式中,按立体角八叉树(Solid-Angle Octree,SAO)格式存储立体角数据元素,以促进场景重建处理和/或重建模型数据的后续应用使用。
在一些示例性实施方式中,一些体积数据元素包括单中心多向光场的表示。
在一些示例性实施方式中,处于至少一些通路的远端的体积数据元素与集中在体积场景模型的中心的立体角数据元素相关联。
在一些示例性实施方式中,在至少一些通路中的在中间位置的体积数据元素与立体角数据元素的多向光场相关联。
在一些示例性实施方式中,场景重建处理采用非导数优化方法来计算用于定位获取的数字图像中的特征点的成本函数的最小值。
在一些示例性实施方式中,场景重建处理包括迭代地通过如下方式对数字体积场景模型的细化:(A)将(i)先前构建的数字体积场景模型的投影数字图像与(ii)真实场景的各自对应形成的数字图像相比较;以及(B)修改先前构建的数字体积场景模型以更密切地符合真实场景的比较数据图像,从而生成新构建的数字体积场景模型。
在一些示例性实施方式中,照相机可以被嵌入在由用户携带的便携式照相机内(例如在眼镜框中)以获取真实场景的数字图像。在这类实施方式中,可以将获取的数字图像数据传送到远程数据处理器,场景重建引擎的至少一部分位于该远程数据处理器处。
示例性实施方式至少包括:(A)所请求保护的功能所在的机器装置,(B)提供改进的场景重建过程的方法步骤的性能,和/或(C)包含可执行程序指令的非易失性计算机程序存储介质,所述可执行程序指令在可兼容的数字处理器上被执行时提供改进的场景重建过程和/或创建改进的场景重建引擎机器。
下文描述示例性实施方式的附加特征和优势。
附图说明
通过参考示例性的、非限制性的、说明性的实施方式结合附图,将更好地且更全面地理解这些特征和优势以及其它特征和优势。
图1示出根据一些示例性实施方式的可以扫描且建模的场景。
图2A为根据一些示例性实施方式的3D成像系统的框图。
图2B为根据一些示例性实施方式的场景重建引擎(配置成使用图像重建场景的体积模型的设备)硬件的框图。
图3为根据一些示例性实施方式的捕获场景的图像且形成场景的体积模型的过程的流程图。
图4A为示出根据一些示例性实施方式的体积场和体积元素(voxel(体元))的几何图。
图4B为示出根据一些示例性实施方式的立体角场和立体角元素(sael,发音“sail”)的几何图。
图5为示出根据一些示例性实施方式的图1中所示的厨房的工作空间-比例平面图的几何图。
图6为示出根据一些示例性实施方式的厨房窗户的一小部分的体元-比例视图的3D图。
图7A为示出根据一些示例性实施方式的厨房场景的模型的平面图的几何图。
图7B为示出根据一些示例性实施方式的厨房场景的模型的平面图的几何图,该厨房按该比例被绘制为小圆点。
图8A为示出根据一些示例性实施方式的用于重建体元的照相机的姿势的几何图。
图8B、图8C、图8D和图8E为示出根据一些示例性实施方式的可占用体元的各种材料的几何图。
图9A为示出根据一些示例性实施方式的可用于表示例如光场或传感器平截头体的单中心单向sael布置的几何图。
图9B为示出根据一些示例性实施方式的可用于表示例如光场或传感器平截头体的单中心多向立体角元素布置的几何图。
图9C为可用于表示例如光场或传感器平截头体的单中心全向立体角元素布置的几何图。
图9D为示出根据一些示例性实施方式的可用于表示例如光场或传感器平截头体的单中心各向同性的立体角元素布置的几何图。
图9E为示出根据一些示例性实施方式的可用于表示例如光场或传感器平截头体的平面中心单向立体角元素布置的几何图。
图9F为示出根据一些示例性实施方式的可用于表示例如光场或传感器平截头体的多中心全向立体角元素布置的几何图。
图10为示出根据一些示例性实施方式的涉及入射(从封闭边界外部行进到该封闭边界内部)光场、响应光场、发射光场和出射(从封闭边界内部行进到该封闭边界外部)光场的双向光交互函数(Bidirectional Light Interaction Function,BLIF)的轴测图。
图11为示出根据一些示例性实施方式的场景重建引擎(Scene ReconstructionEngine,SRE)功能的示意图。
图12为示出根据一些示例性实施方式的数据建模的示意图。
图13为示出根据一些示例性实施方式的光场物理功能的示意图。
图14为示出根据一些示例性实施方式的软件应用程序的功能流程图。
图15为示出根据一些示例性实施方式的计划处理的功能流程图。
图16为示出根据一些示例性实施方式的扫描处理的功能流程图。
图17为示出根据一些示例性实施方式的传感器控制功能的示意图。
图18A为示出根据一些示例性实施方式的场景解算的功能流程图。
图18B为示出根据一些示例性实施方式的用于更新公设场景模型的过程的功能流程图。
图18C为示出根据一些示例性实施方式的用于重建图1的场景中的水仙花瓣的过程的功能流程图。
图18D为示出根据一些示例性实施方式的用于直接解算在图18C中重建的水仙花瓣的中间一个的BLIF的过程的功能流程图。
图19为示出根据一些示例性实施方式的空间处理操作的示意图。
图20为示出根据一些示例性实施方式的光场操作的示意图。
图21为示出根据一些示例性实施方式的立体角八叉树(SAO)(在2D中)的几何图。
图22为示出根据一些示例性实施方式的沿着弧线的立体角八叉树细分部分的几何图。
图23A为示出表面法向矢量的特征对应关系的几何图。
图23B为示出根据一些示例性实施方式的地标点投影到两个图像特征点上用以重建的几何图。
图24为示出根据一些示例性实施方式的作为参数的函数的重建成本的几何图。
图25A为示出根据一些示例性实施方式的在PUSH操作之后产生更新的成本值的示意图。
图25B为示出根据一些示例性实施方式的记录过程的流程图。
图26为示出根据一些示例性实施方式的从用于记录的节点中心移动到最小点的几何图。
图27为示出根据一些示例性实施方式的用于记录的投影中的最小点的移动的几何图。
图28A为示出根据一些示例性实施方式的SAO边界立方体的内弧面的几何图。
图28B为示出根据一些示例性实施方式的用于产生位置不变的SAO的过程的流程图。
图29为示出根据一些示例性实施方式的SAO在四叉树的面上的投影的几何图。
图30为示出根据一些示例性实施方式的在入射SAO产生中的八叉树的投影的几何图。
图31A为示出根据一些示例性实施方式的出射SAO与入射SAO的关系的几何图。
图31B为示出根据一些示例性实施方式的源自于图31A的入射SAO的几何图。
图32为示出根据一些示例性实施方式的在2D中的双向光交互函数(BLIF)SAO的几何图。
图33为示出根据一些示例性实施方式的冰雹损坏评估应用的概念图。
图34为根据一些示例性实施方式的用于冰雹损坏评估(Hail DamageAssessment,HDA)的应用过程的流程图。
图35为根据一些示例性实施方式的HDA检查过程的流程图。
图36A为示出根据一些示例性实施方式的显示器(刺激人类感觉以创建实体(诸如对象和场景)的概念的设备)的坐标系的外部视图的几何图。
图36B为示出根据一些示例性实施方式的显示器坐标系的内部视图的几何图。
图36C为示出根据一些示例性实施方式的显示器坐标系中的正交视图的几何图。
图37为示出根据一些示例性实施方式的节点中心沿着X方向从母节点到子节点的几何运动的几何图。
图38为示出根据一些示例性实施方式的八叉树在X维度上的几何变换的实现方式的示意图。
图39为示出根据一些示例性实施方式的八叉树节点中心到显示器屏幕上的透视投影的几何图。
图40A为示出根据一些示例性实施方式的在透视投影中的跨度和窗口的几何图。
图40B为示出根据一些示例性实施方式的跨度的原点射线和中心的透视几何图。
图40C为示出在细分节点时的跨度区的几何图。
图40D为示出在细分节点之后的跨度和原点的几何图。
图41A为示出根据一些示例性实施方式的源自于PUSH操作的跨度和节点中心值的计算的示意图。
图41B为图41A的继续。
图42为示出根据一些示例性实施方式的场景模型精度的度量(对在场景模型中的元素与其表示的真实场景中的对应元素之间的偏差的测量值)的几何图。
具体实施方式
为了便于引用,连同非限制性示例提供了如下术语:
通路:传输媒介的通道。
前沿:在场景模型边界处的入射光场。
成像偏振计:感测偏振图像的照相机。
光:处于包括可见波段、红外波段和紫外波段的频率的电磁波。
光场:场景中的光流。
媒介:光在其中流动的包括一些物质或不包括物质的体积区域。媒介可以为同质的或异质的。同质媒介的示例包括:真空区、空气和水。异质媒介的示例包括体积区域,其包括镜子的表面(部分为空气、部分为薄片玻璃)、玻璃窗格的表面(部分为空气、部分为传输玻璃)、以及松树枝(部分为空气、部分为有机材料)。光通过包括吸收、反射、透射和散射在媒介中流动。在空间上透光的媒介的示例包括松树枝和玻璃窗格。
工作空间:包括供捕获场景图像的照相机位置的场景区域。
场景重建引擎(SRE)为使用图像重建真实场景的3D模型的数字设备。当今可用的SRE无法有效地重建称为日常场景(“日常”指每日)的重要类型的场景。一般而言,日常场景i)为体积密集的,ii)包括封闭的、有光泽的、局部透光的且无特征的对象(例如白墙),以及iii)包括复杂光场。人们在其日常生活中占用的大多数场景是日复一日的。如今的SRE无法有效地重建日常场景的一个原因是它们不重建光场。为了成功重建有光泽的且局部透光的对象(诸如汽车和瓶子),必须获知对象所浸入的光场。
示例性实施方式包括新型SRE及其使用,该新型SRE提供多种能力,诸如例如按有用等级的场景模型准确度(Scene Model Accuracy,SMA)的日常场景的有效重建。根据特定实施方式的场景重建引擎使用图像形成真实场景的体积场景模型。根据i)占用体积元素的媒介的类型和特性和ii)在体积元素处呈现的光场的类型和特性,场景模型的体积元素表示真实场景的对应区域。在实施方式中使用新颖的场景解算方法来实现高效。在实施方式中使用新颖的空间处理技术来确保来自高度详细的体积场景模型的读写在模型创建期间和之后是高效的,以及来提供该模型以供需要场景的准确体积模型的多个应用使用。一种对于日常场景重建具有重要优势的照相机为程序偏振计。
3D成像系统包括场景重建引擎和照相机。具有三种当前可用的宽广的3D成像技术:飞行时间、多视点对应和光场焦平面。每一者均无法以至少一种方式有效地重建日常场景。飞行时间照相机无法有效地重建距离较远的日常场景。多视点对应的重要缺陷是,它无法在无特征的表面区域中确定形状,因此在表面模型中留下间隙。光场焦平面照相机具有非常低的深度分辨率,因为它们的立体基线非常小(成像芯片的宽度)。这些缺陷将保持主要的性价比瓶颈以及有效地将这些技术归入窄的专业应用。
在图1中所示的场景101为也为日常的真实场景的示例。场景101主要包括厨房区域且包括含有一部分树的区域103、含有一部分橱柜的区域105、含有一部分抽油烟罩的区域107、含有一部分窗户的区域109、含有一部分山的区域111、含有瓶中插花的区域113、和含有一部分天空的区域115。场景101为日常场景,因为它包含非朗伯体的对象,包括局部透明的对象和完全透明的对象。场景101还通过窗户延伸到前沿。
人们在其日常生活中占用的大多数空间是日复一日的。还没有传统的场景重建引擎可以成本高效地、按大多数潜在3D成像应用所需的准确度重建日常场景。本发明的示例性实施方式提供一种场景重建引擎,其可以有效地且准确地形成各种类型的场景,包括那些日常场景。然而,示例性实施方式不限于日常场景,且可以用于对任何真实场景建模。
优选地,场景重建引擎产生场景模型,该场景模型至少部分地具有与人眼可辨的平均值一样好的角度分辨率。人眼具有接近1弧分(0.02°或0.0003弧度,其对应于处于1km距离的0.3m)的角度分辨率。在过去几年中,视觉显示技术已经开始提供创建投射光场的能力,该投射光场几乎与其表示的真实场景中的光场难以区分(如通过肉眼判断)。逆问题(以如由眼睛判断的准确度从分辨率足够的图像重建体积场景模型)还未被其它3D成像技术有效地解决。相比之下,由示例性实施方式重建的场景模型可以接近且超越上述准确度阈值。
图2A为根据一些示例性实施方式的3D成像系统200的框图。3D成像系统200可用于扫描真实场景(诸如例如场景101)以及形成对应的体积场景模型。3D成像系统200包括场景重建引擎(SRE)201、照相机203、应用软件205、数据通信层207、和数据库209。应用软件205可以包括用户界面模型217和工作脚本模块219。3D成像系统200可以被体现在移动可穿戴设备(诸如眼镜)中。
SRE 201包括执行各种图像捕获和图像处理操作、以及对3D成像系统200的全面控制以产生体积场景模型的指令逻辑和/或电路。下文参照图11进一步描述SRE 201。
照相机203可以包括配置成捕获场景的图像的一个或多个照相机。在一些示例性实施方式中,照相机203为偏振式,它捕获场景中的光的偏振特性以及基于捕获的偏振信息产生图像。偏振照相机有时候被称为成像偏振计。在一些示例性实施方式中,照相机203可以包括来自美国佛罗里达州的Photon-X of Orlando公司的PX 3200偏振照相机、来自美国亚拉巴马州的Polaris Sensor Technologies of Huntsville公司的Ursa偏振计、来自美国亚利桑那州的4DTechnology of Tempe公司的PolarCamTM快照微偏振计照相机。在特定示例性实施方式中,照相机203(或附接到该照相机203的平台)可以包括位置传感器(例如GPS传感器)和惯性导航系统中的一者或多者,惯性导航系统可用于通知照相机的位置和/或姿势且包括运动传感器(例如加速计)和旋转传感器(例如陀螺仪)。当照相机203包括一个以上照相机时,照相机可以全部为相同规格的照相机或可以包括不同规格和能力的照相机。在一些实施方式中,两个或更多个照相机(其可以在场景中位于一处或位于不同位置)可以彼此同步地由成像系统操作以扫描该场景。
应用软件205包括用于使用3D成像系统的组件获得场景的图像且生成3D场景模型的指令逻辑。应用软件可以包括用于获得扫描相关输入和待生成的模型、用于生成用于扫描和模型生成的目标和其它命令、和用于使得SRE 201和照相机203执行用于扫描和模型生成的动作的指令。应用软件205也包括用于执行在生成场景模型之后的过程(诸如例如使用生成的场景模型的应用)的指令。参照图14描述应用软件的示例流程。下文参照图33描述使用根据实施方式生成的体积场景模型的示例性应用。
数据通信层207提供3D成像系统的彼此相互通信的组件、3D成像系统的借助局域网或广域网通信而与外部设备进行通信的一个或多个组件、和3D成像系统的一组件的子组件,所述子组件与其它子组件或3D成像系统的其它组件通信。数据通信层207可以包括用于任何通信技术或多个通信技术的组合的接口和/或协议。用于数据通信层的示例性通信技术包括一个或多个通信总线(例如,PCI、PCI Express、SATA、火线、USB、无限带宽等)、和网络技术,诸如以太网(IEEE 802.3)和/或无线通信技术(诸如蓝牙,WiFi(IEEE 802.11),NFC,GSM,CDMA2000,UMTS,LTE,高级LTE(LTE-A),和/或短程、中程和/或远程无线通信技术)。
数据库209为用于存储用于3D成像系统的配置参数、借助扫描捕获的场景图像、历史获取的图像和体积场景模型的库以及当前生成或精修的体积场景模型的数据存储区。数据库209的至少一部分可以在存储器215中。在一些实施方式中,数据库209的多个部分可以分布在存储器215和外部存储设备(例如,借助数据通信层207可访问的云存储或其它远程存储)之间。数据库209可以按对于写入、对于访问和对于检索有效的方式存储特定数据,但不限于特定类型的数据库或数据模型。在一些示例性实施方式中,数据库209使用八叉树和/或四叉树格式来存储体积场景模型。参照图20等进一步描述八叉树和四叉树格式。在一些实施方式中,数据库209可以使用第一类型的数据格式来存储扫描图像,以及使用第二类型的数据格式来存储体积场景模型信息。八叉树可以在空间上分类,因此可以直接访问场景的区域。另外,可以在空间中的特定方向(诸如场景中的特定光线的方向)上有效地访问这些区域。八叉树也是分等级的,因此粗到精算法可以处理处于低级分辨率的信息,直到在算法操作期间需要分辨率较高的信息,这取决于处于粗等级的结果。这也有效地从次级存储器进行访问。仅将分辨率较低的信息保留在初级存储器中,直到实际上需要较高分辨率。
图2B为根据一些示例性实施方式的SRE硬件的框图,以及包括至少一个输入/输出接口211、至少一个处理器213、和存储器215。输入/输出接口211提供一个或多个接口,3D成像系统200或其组件可以通过所述一个或多个接口与用户和/或其它设备交互。输入/输出接口211可以使3D成像系统200与输入设备(例如键盘、触摸屏、语音命令输入、用于指导照相机的运动的控制器等)和/或输出设备(诸如屏幕和/或附加存储器)进行通信。输入/输出接口可以提供与输入设备、输出设备或存储设备中的任一者的有线连接和/或无线连接。
处理器213包括例如下列项中的一者或多者:单核或多核处理器、微处理器(例如中央处理单元或CPU)、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)电路、片上系统(System-On-a-Chip,SOC)(例如集成电路,其包括CPU和其它硬件组件,诸如存储器、联网接口等)。在一些实施方式中,处理器中的每一者或任一者使用指令集架构,诸如x86或高级RISC机(ARM)。处理器213可以执行SRE201、照相机203、应用软件205、数据通信层207、数据库209、输入/输出接口211中的一者或多者的操作。在一些示例性实施方式中,处理器213包括至少三个分布式处理器,从而3D成像系统200包括在SRE 201中的第一处理器、在照相机203中的第二处理器和控制3D成像系统200的处理的第三处理器。
存储器215包括随机存取存储器(Random Access Memory,RAM)(诸如动态RAM(Dynamic RAM,DRAM)或静态RAM(Static RAM,SRAM))、闪存(基于例如NAND或NOR技术)、硬盘、磁光介质、光学介质、高速缓冲存储器、寄存器(例如,其保有指令)、或执行数据和/或指令(例如,在处理器上或由处理器执行的软件)的易失性或非易失性存储的其它类型的设备。存储器可以为易失性存储器或非易失性计算机可读存储介质。在示例性实施方式中,基于3D成像系统的动态性能需求,体积场景模型信息和扫描图像可以被处理器213分布在不同存储器(例如,易失性存储器对比非易失性存储器、高速缓冲存储器对比RAM等)之间。
用户界面模块217实施软件操作以从用户获得输入以及向用户输出信息。界面217可以使用基于浏览器的技术或其它用户界面生成技术来实现。
工作脚本模块219实施操作以接收用于扫描场景和针对该场景的模型生成的目标和初始参数,以及生成一系列操作以在扫描和模型生成中达到预期目标。
尽管图2示出了照相机203与SRE 201及3D成像系统200的其它组件分离的实施方式,但是应当理解,根据本公开的设想实施方式包括照相机在除系统的其余部分外的单独外壳中且借助网络接口进行通信的实施方式、照相机和SRE在公共外壳中(在一些实施方式中,照相机被安装在与实施SRE的操作的芯片相同的电路板上)且借助网络接口与数据库209进行通信的实施方式、照相机203与组件201、组件205至组件215集成在同一外壳中的实施方式等。
图3示出根据一些示例性实施方式的扫描场景且重建场景的体积模型的过程300的流程图。例如,过程300可以由3D成像系统200执行以扫描真实场景101且形成该场景的体积场景模型。至少一个处理器213可以执行如由应用软件205、SRE 201、照相机203和3D成像系统200的其它组件提供的与处理器300相关联的指令。
在进入过程300之后,在操作301,3D成像系统可以向用户呈现用户界面,用于提供关于开启且校准一个或多个照相机、使场景模型初始化和控制过程300的后续操作的输入。例如,用户界面可以由用户界面模块217生成且可以借助输入/输出接口211被显示在输出设备上。用户可以使用借助输入/输出接口211联接到3D成像系统的一个或多个输入设备提供输入。
在操作303,开启且可选地校准一个或多个照相机。在一些实施方式中,执行照相机校准以便确定对于由照相机测量的各种特性(例如几何特性、辐射特性和偏振特性)的响应模型。校准可以作为离线步骤来执行以及可以将校准参数存储在存储器中,其中,照相机和/或3D成像系统可以针对每个照相机访问存储的校准信息以及执行所需的校准(若有的话)。在照相机(或附接到该照相机的平台)包括位置传感器(例如GPS传感器)、运动传感器(例如加速计)和/或旋转传感器(例如陀螺仪)的实施方式中,这些传感器也可以被校准,例如以确定或设定每个照相机的当前位置和/或姿势。下文参照图12中所示的传感器建模模块1205进一步描述照相机校准。
在操作305,可以使场景模型初始化。可以在具有用于场景空间的体积元素的存储器中表示体积场景模型。在启动扫描之前对场景模型的初始化使场景能够以为该特定场景定制的方式来扫描,因此更高效。初始化也可以准备用于存储图像和场景模型的数据结构和/或存储器。
场景模型初始化可以包括用户借助用户界面指定场景的描述。场景描述可以为高级描述,诸如,在准备对图1的场景成像的情况下,指定该场景包括具有台面板、抽油烟罩、插花的瓶子、木质橱柜和玻璃窗的厨房。在图7和图5中所示的平面图可以为提高给3D成像系统的场景描述的示例。场景101的厨房场景的以上示例性描述仅仅为一个示例,将理解,提供给成像系统的场景的描述可以比以上示例性描述更具体或更不具体。可以在文本输入、菜单选择、语音命令等中的一者或多者中将输入描述提供给成像系统。在一些示例性实施方式中,可以按场景的CAD设计的形式来提供场景的输入描述。
初始化也可以包括选择如何存储体积场景模型(例如八叉树或其它格式)、存储位置、文件名、将用于扫描的照相机等。
过程300的后续操作被指向通过表征表示被建模的场景的部分的各自体积元素而迭代地细化场景模型。
在操作307,确定对于场景模型的一个或多个目标、和对应的计划和任务的序列。所述一个或多个目标可以由用户借助用户界面来指定。可以按由用户界面启用的任一种形式来指定目标。
由用户结合对场景101成像所指定的示例性目标可以为具有场景模型,其中,花瓣被确定为预先指定等级的确定性(例如,模型相对于模型的描述的90%确定性),即,具有对应于被花瓣占用的真实场景的体积场景模型体积元素,该真实场景被确定为包括花瓣(或花瓣对应的材料),其中,可信度为90%以上。其它目标标准可以为将关于场景区域的一个或多个方面的不确定性降低到指定阈值以下(例如,在所需模型中的花瓣的厚度在指定厚度的10微米内)和降低覆盖度(例如,在场景空间中的体积元素的特定百分比被解析为在它们中包含的媒介类型)。另一目标标准可以为迭代地细化模型,直到在场景中或场景的一部分的关于一个或多个标准的渐进式改进低于阈值(例如,迭代直到体积元素的至少预定部分改变其媒介类型确定)。
成像系统自动地或结合来自用户的手动输入一起生成包括一个或多个任务的计划以完成这些目标。如上所述,目标可以由满足一个或多个识别标准的需求来指定。计划为设置成满足目标的一系列任务。下文参照图15描述计划处理。任务可以被视为待执行的行动。下文参照图16描述在执行任务期间可发生的扫描处理。
在扫描场景101的示例中,为了满足创建将花瓣确定为预先指定等级的确定性的场景模型的目标,生成的计划可以包括在通过场景空间的特定路径中移动照相机和/或摆动照相机以获得场景空间的初始扫描的第一任务、在特定第二路径中移动照相机和/或摆动照相机以获得如在目标中指定的花的详细扫描的第二任务、以及针对当前体积场景模型测试目标标准且重复第二任务直到满足目标为止的第三任务。任务也可以指定用于图像收集、图像存储和场景模型计算的参数。可以在位置、路径、姿势(方位)、行进距离、速度和/或时间中的任一方面上指定照相机运动。
场景模型的准确度可以通过针对模型中的体积元素将该体积元素中相对于媒介的当前确定及该体积元素的光特性与从对应位置和姿势捕获的图像相比较来确定。图42示出根据一些示例性实施方式的场景模型准确度(SMA)度量标准。在图42的示例中,针对相邻体元的区域中的一些体元(体积元素)指示位置特性。指示在真实场景模型中的体元的中心4201、4211和4221。当在本示例中使用真实场景模型时,该术语是假定的该场景的高度准确的模型。被测试的场景模型(寻找其SMA)包含在真实模型中的体元中心4201、4211和4221所对应的点4205、4215和4225的评估坐标。在两个模型中的对应点之间的距离4203、4213和4223限定(相反的)SMA。在计算距离之前,被测试的模型通常将以如下方式来调整:保持其内部结构同时减小它与真实模型之间的任何全局(系统化)的匹配不良。6-DOF刚性坐标变换例如可以基于针对真实模型的迭代最近点配合操作而应用于被测试的模型。图42的使用空间位置作为建模特性的示例归纳为由SRE建模的任何特性。可以在多个特性的异质组合上限定偏差函数(例如,点状特征的位置偏差加上处于对应体元的光场特性的辐射偏差)。可以使用补偿函数来降低在计算SMA时异常值偏差的效果。应用案例将总是建议一种构建鲁棒偏差函数的方式。
在操作309,通过在场景空间周围移动和/或摆动照相机来草拟场景模型。这可以根据在生成的计划中的任务中的一者或多者来执行。在一些示例性实施方式中,在具有或不具有3D成像系统的提示的情况下,用户可以移动照相机。在一些其它示例性实施方式中,照相机移动可以由3D成像系统控制,其中,例如将照相机安装在安装架或栏杆上,其中,该照相机可以受控地移动或位于UAV(例如,可被控制成在场景空间中自由运作的无人机)中。
在该操作中的重要考虑是以如下方式执行扫描的实施方式的能力:使照相机与场景空间的光场i交互最小化。场景模型的草拟意图形成场景空间的初始场景模型。草拟可以包括在场景空间中移动和/或摆动照相机,以便获取在目标中指定的场景中的每个实体以及围绕目标实体的空间的一个或多个图像。本领域技术人员将理解到,草拟可以包括任何数量的图像捕获和/或模型形成,其中,尽管目标实体的最小数量的图像和场景空间的最小覆盖度足以形成初始场景模型,但是目标实体的更高数量图像和/或覆盖场景空间的更大一部分将产生更全面且更准确的初始场景模型。通常,从草拟获得的高质量初始场景模型会降低场景模型的迭代改进的数量,该迭代改进后续需要获得在指定的目标集合中的模型。
操作311至操作313指向到迭代地细化初始场景模型,直到满足所有指定的目标。在操作311,使场景空间的所选方面经受进一步扫描。例如,可以通过获取图像同时围绕图1中所示的花瓣、叶子或瓶子的小区域转圈而确定花的双向光交互函数(BLIF)。下面参照图10描述BLIF。转圈和扫描参数可以根据从初始指定的目标生成的任务之一。例如,在草拟包括在广阔区域上移动和/或摆动照相机的情况下,细化过程可以包括在围绕感兴趣的特定对象的小轨道中移动照相机。同样地,可以在草拟阶段和细化阶段之间改变扫描参数,其中,草拟可以包括利用宽FOV的扫描,例如,细化过程可以涉及使用小得多的FOV。(例如,感兴趣的对象(Object Of Interest,OOI)视图的特写。)该操作可以包括例如通过将测量的光场参数与统计资料模型相比较来测量材料性质。
在操作309至操作311中的每个操作,可以将获取的图像存储在存储器中。体积场景模型的生成或细化可以与图像获取同时执行。体积场景模型的细化涉及改进场景模型的各自体积元素的评估。下文参照图18A至图18B描述如何改进体积元素的评估的进一步描述。可以按在存储上空间有效且在时间上读写有效的方式将体积场景模型存储在存储器中。图4A至图4C和图9A至图9E示出在保持场景时用于体积场景模型的参数,以及图20及其相关的讨论描述了如何将体积元素及其方面存储在有效数据结构中。
在操作313,确定是否满足指定的一个或多个目标。如果目标被确定为已被满足,则终止过程300。如果确定未满足一个或多个目标,则可以重复操作311至操作313,直到满足所有目标。遵循扫描场景101的当前示例,可以测试当前获取的场景模型以确定是否已满足指定目标,如果不满足,则调整扫描参数,且再次行进到操作311。
在操作313之后,过程300终止。存储在存储器中的场景101的场景模型可以被用在任何应用中。
图4A和图4B示出SRE模型如何出于重建目的而留间隔。这些基础几何实体的领会将有助于理解在一些示例性实施方式中使用的场景模型实体的后续描述。
体积元素407表示在3D空间中的有限位置范围。体积元素被称为速记名字“体元”。体元以封闭表面为边界。体元可以具有任何非退化形状。它不需要为立方的,以及它不需要展现任何特定对称性。体元用其形状和其封闭的体积的量来表征,按立方米或任何其它合适单位来表达。一个或多个体元一起构成体积场405。在示例性实施方式中,SRE(例如SRE201)使用体积场表示占用场景中的区域的媒介(或其不足)。在一些实施方式中,可以使用分层空间构造来实现体积场的提高的处理吞吐量和/或数据规格的减小。下文参看关于八叉树的讨论。
立体角元素403表示3D空间中的角度范围。立体角元素被称为速记名字“sael”。立体角元素以在径向方向上平坦的表面为边界。也就是说,从原点沿着立体角元素的边界表面向外行进的任何线都为直线。尽管在图4B中如此示出,但是不要求立体角元素具有圆锥形状或为对称的。立体角元素可以具有配合一般锥形面的定义的形状,以及用其形状和用其对向的角度单位(通常用球面度来表达)的数量来表征。立体角元素沿着其径向方向、就面积而言是无限的。一个或多个立体角元素一起构成立体角场410。在示例性实施方式中,SRE(例如SRE 201)使用立体角场表示光场在体元处、在不同方向上的辐射率。在关于上述体元相同的叶脉中,可以将分层空间构造用于立体角场的增大的速度和/或减小的数据规格。参看下文参照图21的关于立体角八叉树的讨论。
图5示出在图1中所示的示例性日常场景的平面图。在过程300期间输入到3D成像系统的场景模型的描述可以包括类似于图5的描述(例如,如在本文中所描述,平面图的机器可读草图等)。在示例性实施方式中,用户指定的场景信息、从草拟生成的初始场景模型(例如,参看上文操作309的描述)和/或场景模型的迭代改进版本(例如,参看上文操作311的描述)中的任一者或任一组合可以为图5中表示的场景空间的数字表示。
关于图1中所示的厨房的示例性场景,场景模型500可以包括几个室内实体和室外实体。工作空间517将场景空间划分为两个宽阔区域。工作空间为被用于记录(采样)光场的照相机(物理照相机装置)访问的场景区域。它可以被限定为这类照相机位置的凸包,或用指示所访问位置的其它合适几何构造来限定。工作空间内部的体元具有从周围视点的整个球体(“全部轨道”)观察的可能性,受制于实际视点的密度且受制于工作空间内的媒介的闭塞。工作空间外部的体元具有仅从视点的半球体(一半空间)观察的可能性。这带来如下结果:工作空间外部的不透明的封闭表面(例如,雕像、篮球)无法使用由工作空间内部的照相机所记录的观察来完全重建。
在工作空间内部,插花的瓶子位于弯曲的台面板511上。含有花和瓶子的区域113被指定为用于详细重建的OOI。几个其它实体位于工作空间之外。含有一部分树的区域103位于厨房的有窗的墙之外。窗户505和窗户506位于墙壁中。含有门的窗格之一的一部分的区域109位于有窗的门503中。另一区域105含有一部分橱柜。含有一部分抽油烟罩的区域107位于油烟机507附近。
根据一些示例性实施方式示出了场景重建的三个整体阶段(在本示例中)。首先,通过沿着许多方向近似地摆动513(也可以包括沿着路径移动)照相机以观察和重建光场,SRE(例如SRE 201)“草拟”OOI整体附近的整体场景。在本示例中,人类用户按SRE(例如,如由应用软件205指导的SRE 201)的指导和提示执行摆动。体元522终止通路519和通路521,该通路519和通路521起源于来自场景草拟摆动513的两个照相机视点。接着,SRE通过指导OOI的短照相机轨道弧515来执行在OOI(例如,花瓣、叶子、茎、瓶子)中呈现的媒介的BLIF的初始重建。最后,SRE通过指导OOI的详细扫描来实现OOI的高分辨率重建。细节扫描包括OOI的一个或多个全部或局部轨道509,需要请求许多观察以满足重建工作流程的准确度和/或分辨率目标。下文参照SRE操作呈现更全面的讨论(图14至图18B)。
在一些示例性实施方式中,场景模型(包括日常场景模型)主要包括媒介元素和辐射元素。媒介元素为包含与光场交互的媒介的体元,如由BLIF所描述。辐射元素为光场的辐射元素以及可以用与辐射功率值(辐射率、通量、或任何其它合适量)配对的立体角元素来表示。媒介元素可以为原始的或复杂的。原始的媒介元素为这样的媒介元素:它的BLIF和发射光场通过在给定工作流程中可用于SRE的BLIF模型之一、按照高一致性(例如,在一些应用中,观察到的出射光场(形成的数字图像)和通过该模型预测的出射光场(投射的数字图像)的辐射值之间的小于5%RMS相对偏差)来建模。复杂的媒介元素为这样的媒介元素:它的BLIF因此未被建模。在观察时,复杂的媒介元素或复杂的媒介元素的区域也可以被称为“观察到的但未解释的”或“观察的、未解释的”区域。当更多的观察和/或更新的媒介模型对于SRE变成可用的时,复杂的媒介元素可以变为初始的媒介元素。初始的媒介元素通常可以用比复杂的媒介元素更大的简约性(从奥卡姆剃刀法则的意义上来说)来表示。初始的媒介元素更严密地(暗指“有用地”)回答如下问题:“什么类型的媒介占用空间中的这个体元?”。
如在图1中可观察到,区域109中的厨房窗户在任一侧(玻璃的正面和背面)具有空的空间。图6示出根据一些示例性实施方式的来自体积场景模型的含有厨房窗户玻璃的区域109(在图1和图5中所示)的一部分的表示。图6示出为了准确的表示场景空间中的媒介而如何使用体元。玻璃区域109的一部分的模型601包括块状玻璃媒介元素603、防空气玻璃面元605、和块状空气媒介元素607。面元为表示不同类型的块状媒介区域之间的平面边界的媒介元素,通常折射率不同,当光在边界入射时,这引入反射。反射面(反射媒介)包括一个或多个面元。每个面元部分被玻璃占用609,部分被空气占用613。玻璃和空气在平面边界611相遇。典型的SRE场景将包括玻璃的BLIF的简约模型。防空气玻璃面元将被表示为类型“简单面元”,其中,适当详细描述的BLIF指示折射率和其它相关性质。窗格内部的块状玻璃媒介元素将被表示为类型“简单块状”,其中,物理性质类似于简单玻璃面元的物理性质。
模型601可以被视为“体元的通路”或“媒介元素的通路”,其表示在捕获对应图像的照相机的视场的方向上的多个体元(或媒介元素)。通路例如可以通过区域109中的玻璃从照相机延伸到地平线。通路中的体元和/或媒介元素可以或可以不具有均匀维度。
在图1和图5的示例场景中,在示例性实施方式中,如通过重建目标和记录的观察所通知,更不简约地或更简约地重建不同媒介区域。相比与场景的剩余部分,计算资源的更重的份额致力于将OOI重建为初始的媒介元素。场景的剩余部分可以被表示为复杂的媒介元素,每个复杂的媒介元素具有在对OOI执行的重建计算中使用的出射光场。
图7A为示出在图1中所示的厨房场景的模型的平面图的几何图。场景模型500被场景模型边界704封闭。场景模型边界的尺寸被适当地调整为容纳OOI和其它实体,该其它实体的出射光场显著地影响OOI的入射光场。三条通路709A、709B和709C延伸从厨房窗户503、厨房窗户505和厨房窗户506到场景模型边界704的短距离。在通路结束于场景模型边界的情况下,入射光场限定三个前沿703A、703B和703C。三个前沿中的每一者为由沿着前沿的通路近似地指向内部的辐射元素组成的“表面光场”。厨房内部的通路709D覆盖厨房内部的整个体积。在示例性工作空间中通过照相机没有观察到超出厨房的不透明墙壁701的区域713。中央空间715区域从工作空间517延伸到场景模型边界704。(中央空间为在工作空间与场景模型边界之间的空间。)
图7B为示出在图1中所示的厨房场景的另一模型的平面图的几何图。相比于图7A,场景模型边界705离工作空间很远。在一些示例性场景中,当照相机四处移动以使厨房场景成像时和/或当进行重建处理操作时,场景模型将自然地在空间范围内从图7A中所示的尺寸增长到图7B中所示的尺寸。在表示重建的场景区域时的SRE朝向简约(奥卡姆剃刀法则)的倾向将会倾向于将场景模型边界向外“推”一定距离,其中,视差不是有意义地可观察的(即,其中,媒介元素的多视图重建不是鲁棒性地可实现的)。随着重建推进,场景模型边界也将倾向于围绕工作空间而集中。图7A的场景模型500可以被视为(厨房场景的)重建的较早阶段,而图7B的场景模型501可以被视为重建的较晚阶段。
三条通路719A、719B和719C从工作空间向外延伸到目前远得多的场景模型边界。如同在图7A的较窄场景模型中的前沿一样,前沿717A、前沿717B和前沿717C中的每一者限定表示在场景模型边界704的各自部分入射的光的表面光场。前沿717B的表面光场例如将通常具有比前沿703B的表面光场“更小的视差”,该前沿703B的表面光场为处于在图7A中所示的重建的较早阶段的对应前沿。也就是说,前沿717B的给定小区域将具有在比前沿703B的小区域更窄的方向跨度(朝向厨房窗户503)上取向的辐射元素。在限制内,当场景模型边界离工作空间非常远时(例如,处于重建完全开放空间(诸如室外)的高级阶段),前沿的每个小区域包含沿径向向内指向工作空间的中心的单一的、很窄的辐射元素。在前沿717A中表示图1中示出的含有天空的区域115。相比于在图7A中的中央空间715,中央空间711更大。山707位于中央空间中。某种程度的重建对于组成山的媒介元素来说是可能的,这取决于它们在真实场景中的媒介类型、在观察通路中的大气状况(例如薄雾)、可用的媒介模型和SRE的操作设置。
图8A为示出用于重建模型的一个或多个照相机的姿势的几何图。在图8A的示例中,一个或多个照相机从多个视点使体元801成像。每个视点803、805、807、809、811和813记录针对光场射出体元801的特定辐射元素的出射辐射值(和偏振特性)。重建过程可以使用在相对于感兴趣的体元801显著不同的距离处记录的图像,如针对姿势803和姿势807所示。在重建中使用的光传输的模型(包括BLIF交互)解释了感兴趣的体元与成像视点之间的相对方向和对向立体角的差别。
图8B、图8C、图8D和图8E为示出对于在示例性场景中的体元801可能的各种媒介元素类型的几何图。这些为在SRE的场景重建中涉及的典型的媒介元素。玻璃815媒介元素为简单的玻璃块,如图6中。树817媒介元素表示组成自然构造中的树枝的异质媒介,包括在树的固体媒介(叶子、木材)之间的空气。树媒介元素可以为复杂的媒介元素,因为没有BLIF的“低维度”参数模型配合射出树媒介元素的观察到的光场。低维度参数模型使用合理少量的数学量来表示实体的突出特性。木材819媒介元素为表示防空气的木材表面的面元。如果物理木材媒介在材料组成上是足够异质的使得低维度参数模型可以对其光场交互行为建模,则木材媒介元素可以为简单的。在图8E的示例中,金属821面元的BLIF可以由用于折射率的数值型标量值、用于消光系数的第二数值型标量以及在拉丝金属的情况下用于表面的各向异性的“纹理”的第三数值型标量来表示。确定与体元相关联的光场是否指示特定类型的媒介元素可以通过将与该体元相关联的光场与用于各种媒介类型的BLIF的预定统计模型相比较来进行。媒介建模模块1207保持用于各种媒介类型的BLIF的统计模型。
图9A至图9F示出在场景中可存在的示例性立体角元素布置。图9A示出单中心单向立体角元素布置901。光场中的单一辐射元素的立体角元素为该立体角元素布置的示例。图9B示出立体角元素的单中心多向布置903。光场中的多个辐射元素的立体角元素的集合(这些立体角元素共享公共原点体元)为该立体角元素布置的示例。图9C示出立体角元素的单中心全向布置905。光场中的多个辐射元素的立体角元素的集合(这些立体角元素共享公共原点体元以及一起完全覆盖(密铺)多个方向的球体)为该立体角元素布置的示例。当将每个立体角元素与辐射值配对以产生辐射元素时,单中心全向立体角元素布置被称为“点光场”。图9D示出单中心、全向、各向同性的立体角元素布置907。在各向同性的光场中的辐射元素的立体角元素为该立体角元素布置的示例。因为光场在体元处是各向同性的(在所有方向上的辐射相等),所以点光场可用覆盖多个方面的整个球体的单一的纹理粗糙的辐射元素来表示。在一些SRE实施方式中,这可以被实现为立体角八叉树的根(最粗糙)节点。下文参照图21给出关于立体角八叉树的更多细节。
图9E示出立体角元素的平面中心单向布置911。在照相机的理想化焦平面中的像素对向的立体角元素(每个像素一个立体角元素)的集合为该立体角元素布置类型的示例。每个像素表达其在场景中对向的辐射元素的辐射值。注意,平面中心单向立体角元素布置911为更一般的(非平面)多中心多向类型的立体角元素布置的子类型,当处于体元和配对的辐射值的2D复印本时,该布置也被称为“表面光场”。图9F示出具有多个体积中心和全向立体角元素的立体角元素布置913。点光场的集合(在先前段落中限定)为该立体角元素布置类型的示例。在一些实施方式中,这类点光场的巧妙布置的集合提供了在场景空间的延伸区域中的光场的有用表示。
图10为示出涉及入射光场、发射光场和出射光场的BLIF的轴测图。图10示出可用于表示发生在单一媒介元素处的交互的模型,该媒介元素包括体元1003和相关联的BLIF1005。入射光场1001的辐射元素进入媒介元素。BLIF在入射光场上操作且产生射出媒介元素的响应光场1011。总的出射光场1007为响应光场和(可选的)发射光场1009的联合。发射光场由不受入射光的刺激支配的媒介元素发射。
图11为根据一些示例性实施方式的SRE(诸如例如SRE 201)的框图,其示出了其操作模块中的一些。操作模块1101至1115包括用于在扫描场景和/或场景重建时执行特定功能的指令逻辑,以及可以使用软件、固件、硬件或其任何组合来实施。模块1101至1115中的每个模块可以借助数据通信层(诸如上文所描述的3D成像系统200的数据通信层207)与模块1101至1115中的其它模块或与3D成像系统的其它组件通信。
SRE命令处理模块1101从调用环境接收命令,该调用环境可以包括用户界面或3D成像系统的其它组件。这些命令可以被实现为编译的软件功能调用、被实现为解释的脚本指令、或以任何其它合适形式来实现。
计划处理模块1103形成和执行朝向迭代场景重建目标的计划。可以通过控制SRE的应用软件将场景重建目标提供给计划处理模块1103。根据按用于实现目标的计划所限定的一个或多个任务,计划处理模块1103可以控制扫描处理模块1105、场景解算模块1107和场景显示模块1109。下文参照图15给出关于计划处理模块将目标分解为一系列子命令的细节。在一些实施方式中,应用软件可以分流计划处理功能并直接与模块1105至模块1109交互。在场景扫描开始之前,计划处理模块1103可以执行传感器校准。
扫描处理模块1105驱动一个或多个传感器(例如,一个照相机或共同行动的多个照相机)获取实现场景重建目标所需的传感数据。这可以包括关于传感器姿势和/或其它操作参数的动态指导,这类指导可以借助由控制过程的应用软件所提供的用户界面来供应传感器控制模块1111或通知人类用户的动作。传感器控制模块1111管理各个传感器获取数据并将传感数据导向到消耗该数据的合适模块。传感器控制模块1111可以响应于传感数据而按对于正在进行的扫描的成功完成的需求动态地调整几何、辐射、和偏振自由度。
场景解算模块1107评估假设的场景模型的一个或多个物理特性的值。评估值使假设的场景模型与对应的真实场景的观察之间(或假设的模型与一个或多个其它场景模型之间)的一致性最大化。下文参照图18A至图18B进一步描述场景解算,包括关于建模的特性值的一致性计算和更新的细节。
空间处理模块1113在场景实体的分层细分表示上操作。在一些实施方式中,空间处理模块1113的操作中的一些选择性地使用并行计算元件、专用处理器等的阵列、按提高的效率来执行。这类提高的效率的示例为在场景中的媒介元素之间的光场辐射值的传输。在示例性实施方式中,入射光场生成模块2003(在图20中所示)使用一小组的FPGA核来处理每个入射的辐射元素。当处理多个媒介元素和/或入射的辐射元素时,基于FPGA的示例性实施方式可以并行运行对于数千个辐射元素的光传输计算。这与可同时处理至多几十个入射的辐射元素的传统的基于CPU的实施方式形成鲜明对比。基于GPU的实施方式使并行度为低几千,但是在电力损耗上成本要高很多。当在许多入射和/或出射辐射元素上操作时,类似的效率论证适用于入射到出射光场处理模块2007(在图20中所示)。下文参照图19和随后的附图进一步描述空间处理操作(包括立体角八叉树)。
场景显示模块1109准备场景的视觉表示,以供人类观看。这类表示可以是本质上真实的、本质上分析的、或二者的组合。SRE提供以两种宽模式(真实的和分析的)生成场景的合成图像的场景显示1109功能。如果浸入在场景中,则场景的真实显示合成真实照相机会看到的“第一人”图像,如用处于指定视点的重建体积场景模型的当前状态来表示。通过重建处于像素的场景模型的光场来计算被虚拟照相机的像素接收的光能。这使用场景解算模块1107解算(和集成)处于合成像素的光场的辐射元素来完成。该合成可以并入上文参照传感器建模模块1205所讨论的照相机的建模特性。可以将虚假着色用于合成像素值,只要分配给像素的虚假颜色基于处于该像素的重建辐射能量。场景的分析显示合成表示场景的一部分的图像且不为真实图像(如上所述)。
光场物理处理模块1115作用于测量光场及对该场景模型中的光场方面建模。下面参照图13描述该模块。
数据建模模块1117作用于对包括待扫描的场景和待使用的传感器的各个方面建模。下面参照图12描述数据建模模块1117。
除上述模块1103至模块1117以外,SRE还可以包括其它模块。其它模块可以包括但不限于与数据库交互、分配本地和远程计算资源(例如负载均衡)、优雅地处理操作错误、和事件记录。对于数据库访问,SRE可以使用专用数据结构以高效率读写大量的空间数据。在一些实施方式中可以采用八叉树、四叉树和/或立体角八叉树来存储场景模型中以各种分辨率存在的大量媒介元素和辐射元素。SRE可以使用标准数据库记录和技术来存储通常量小很多的非空间数据,诸如传感器参数、操作设置等。SRE可以服务分析查询(例如,“用具有指定的BLIF XXX的连续一组体元表示什么总体积?”)。
图12为示出根据一些示例性实施方式的SRE的数据建模模块1201(诸如例如SRE201的数据建模模块1117)的框图。数据建模模块1201可以包括场景建模模块1203、传感器建模模块1205、媒介建模模块1207、观察建模模块1209、(特征)核心建模模块1211、解算规则模块1213、合并规则模块1215和操作设置模块1217。
场景建模模块1203包括用于生成场景的初始模型(例如参看图3中的操作307的描述)和用于与其它数据建模模块合作细化初始场景模型的方面的操作。上文参照图5和图7描述了初始场景模型。上文参照图4、图6、图8B至图8E和图9A至图9F描述了对场景建模所用的体元和其它元素。参照图18A至图18B描述场景模型(被称为“假设的场景模型”)的更新/细化。
传感器建模模块1205表示在特定场景的场景重建过程中使用的传感器(例如照相机203)的特性。传感器可以落在两种宽类别:感测光场的照相机、和感测场景的其它特性的传感器。在几何特性、辐射特性和偏振特性中的一者或多者中对每个照相机建模。几何特性可以指示场景空间的给定立体角元素如何映射到照相机的一个或多个空间索引的光感测元素(例如像素感光位点)。辐射特性可以指示处于特定光学波长的辐射值如何在入射时强烈地激励像素。偏振特性可以指示辐射元素的偏振特性(例如,如用斯托克斯矢量表示的椭圆形的偏振态)与其在入射时处于像素的激励强度之间的关系。这三类特性一起限定从感测的辐射元素到由照相机按像素输出的数字值的正向映射。
通过合适地反转该映射,传感器建模模块1205实现从数据像素值到辐射元素的物理上有意义的特性的对应反转映射。这类特性包括观察到的辐射元素的辐射率、频谱带(波长)和偏振态。在一些实施方式中用偏振椭圆形式体系(4元素的斯托克斯矢量)表征光的偏振态。一些实施方式可以对一组由于简化的偏振计架构而减少的偏振特性进行建模。全偏振态的线性组件而非圆形组件的感测为这类的一个示例。无法感测圆形偏振组件可以例如限制准确地重建有机媒介(诸如植物叶子)的能力,这倾向于在反射光中引起显著的圆形偏振。
照相机的上述几何特性、辐射特性和偏振特性用照相机响应模型来表示。传感器建模模块1205可以确定这些响应模型。对于某些照相机,可以按少许自由度(或甚至单一自由度)对响应模型的部分参数化。相反地,可以按许多自由度对响应模型的部分参数化。照相机响应模型的组件的维度(自由度的数量)取决于给定的重建目标在由照相机测量的各种光场特征中可以默许多少不确定性。使用照相机像素上的“微偏振”元素的过滤面罩的偏振计例如可能需要逐个像素独立的4×4穆勒校正矩阵(数以百万计的实数标量),以便按示例目标所需的不确定性测量光场的偏振特性。相比之下,使用旋转偏振过滤器的偏振计可仅需要满足所有像素使用的单一全局4×4穆勒校正矩阵(16个实数标量)。在另一示例中,SRE校正照相机透镜失真,以便使用理想化的“针孔照相机”模型。对于给定透镜,该校正无论何处都涉及从5个到14个或更多实数校正参数。在一些情况下,参数化模型可以为不可用的或不切实际的。在这类情况下,可以采用响应模型的更字面的表示,诸如查找表。
可以在重建流程的不同阶段中灵活地应用上述响应模型。例如,相比于对整个图像的处理步骤,可以具有按各个像素在运行中校正照相机透镜失真的速度优势。
如果未被供应方或其它外部源供给,则通过执行一个或多个校准过程来发现照相机响应模型。几何校准在计算机视觉的领域中是普遍存在的,以及例如通过对棋盘或几何结构已知的其它光学目标成像来执行。辐射校准可以通过对光谱辐射率已知的目标成像来执行。偏振校准可以通过对偏振态已知的目标成像来执行。在全部的三个响应模型中的低不确定性对于重建执行是可预期的,因为重建取决于SRE的基于假设的场景模型的光场预测光场观察的能力。如果响应模型中的一者或多者具有高不确定性,则SRE对于由该传感器记录的观察可以具有较弱的预测能力。
由于示例性实施方式实现了照相机相对于包含其的场景的精确6-DOF定位,因此该场景本身(当静止时)可以用作用于发现辐射响应的一个组分的稳定辐射的目标:从入射辐射到入射照射的映射,其根据照相机的光学配置(例如透镜类型和配置)而在焦平面上改变。在示例性场景中,当场景解算模块1107使姿势参数连同被解算的场景媒介元素和辐射元素的参数一起自由改变时,以高精度解析6-DOF照相机姿势。在本发明中,当观察到的光场相对于姿势改变而呈现出甚至温和的坡度时(许多现有的定位方法需要比较陡峭的坡度),鲁棒性照相机定位是可能的。
也可以以合适方式校准非照相机的传感器。例如,可以校准位置传感器、运动传感器和/或旋转传感器,和/或可以确定这些传感器的初始值,从而可以相对于初始值跟踪后续运动。飞行时间范围传感器例如可以记录场景区域的观察,以便确定其相对于观察同一区域的照相机的初始姿势。场景解算模块1107可以使用初始姿势评估来将场景的模型初始化且然后细化,包括在各个视点处的飞行时间传感器的姿势和照相机的姿势。在另一示例中,当照相机观察场景时,刚性地附接到照相机的惯性导航系统记录其姿势的评估。当照相机随后从另一视点观察场景时,可以使用在新视点处的惯性导航系统的姿势评估来将该新视点处的照相机的姿势评估初始化和/或细化。
媒介建模模块1207注重参与(例如光交互)的媒介类型,主要地但非排除地用其BLIF 1005来表征。媒介建模管理在数据库中存在的媒介库。媒介建模也保持媒介类型的层级。“木材”媒介类型和“塑料”媒介类型均落在“电介质”超类型之下,而“铜”落在“金属”超级类型之下。在场景重建期间,媒介元素可以分解为这些媒介类型中的一者或多者,其中,每个类型具有一个相关联的似然率。
观察建模模块1209注重感测的数据观察。表示由照相机和其它传感器记录的观察。当校准和响应模型属于特定观察而非传感器本身时,表示这些校准和响应模型。这点的一个示例为照相机透镜失真模型,该模型由于动态焦点、光圈和变焦控制而在成像扫描的过程内改变。来自处于特定视点的照相机的观察包括在像素处集成的辐射。用于这类观察的观察模型将包括像素辐射值、照相机在观察时的评估姿势、时间参考信息(例如图像时间戳)、校准值和/或专用于观察(例如,取决于变焦的透镜失真)的响应模型、和校准值和/或不依赖于观察的响应模型。
处于不同等级的观察位置的校准和/或响应模型的链形成嵌套序列。嵌套序列可以使用数据库记录参考量、双向或单向存储器指针或任何其它合适机制来体现。嵌套序列以如下方式实现了各种等级的重建场景模型信息回到原始来源观察的可追溯性:实现产生给定重建结果的数据流的“取证分析”。该信息还使用交替的目标、设置、观察、在先模型等实现了处于各个阶段的重建过程的再次调用。
核心建模模块1211注重用于检测和/或表征来自其记录的观察的场景特征(提取所述场景特征的签名)的模式和/或功能。在计算机视觉中普遍存在的SIFT功能为在示例性实施方式中可使用的特征检测的领域中的示例性核心功能。核心建模管理在数据库中存在的且可用于在给定重建操作中的特征检测的核心功能的库。下文在参照图18B描述在操作1821处检测和使用场景特征时给出了关于场景特征的更多细节。
解算规则模块1213注重场景解算模块1107评估(针对一致性)场景实体的建模特性的假设值所遵循的次序。例如可以并行或以某种优先串行次序评估在图8B至图8E中所示的假设媒介元素类型。在每种假设媒介元素类型的评估内,可以类似地并行或串行评估用于特性值的各种数值范围。这点的一个示例为用于金属面元821的法向矢量的角度自由度的不同范围(箱格)。在前述示例中的假设的串行和/或并行评估的预期序列用解算规则数据结构来表示。解算规则模块213管理解算规则的库(包含在数据库中)。通过由媒介建模模块1207保持的建模媒介类型的层级来部分地确定假设评估次序。下文在参照图18A描述场景解算过程1800时给出了关于模型假设的评估的更多细节。
合并规则模块1215注重较精细的空间元素的合并(聚合、聚结)以形成较粗糙的空间元素。媒介元素和辐射元素为这类空间元素的最好示例。合并规则模块1215管理合并规则的库(包含在数据库中)。合并规则具有两个主要方面。首先,合并规则指示合并操作应当何时发生。在媒介的情况下,可以针对媒介元素指示合并,这些媒介元素的针对位置特性、取向特性、辐射特性和/或偏振特性的值落在跨越所述媒介元素的特定交互容差内。在合并决定中涉及的辐射特性和偏振特性可以为媒介元素的BLIF、响应光场、发射光场、(总)出射光场和/或入射光场的辐射特性和偏振特性。在光场的情况下,可以针对辐射元素指示合并,这些辐射元素的针对位置特性、取向特性、辐射特性和/或偏振特性的值落在跨越所述媒介元素的特定交互容差内。其次,合并规则指示在较精细的空间元素合并时形成的较粗糙的空间元素的形成类型。在媒介元素的情况下,由媒介建模模块1207保持的建模媒介类型的层级部分地决定形成的较粗糙的媒介元素。合并规则模块1215的前文描述在如下情况下保持有效:使用球谐函数(高次谐波合并以形成低次谐波)或空间基础函数的任何其它合适系统使场景中的媒介和光场参数化。
操作设置模块1217操作以提供本地和远程CPU处理循环、GPU计算核、FPGA元件和/或专用计算硬件的分配。SRE可以依赖于用于将特定类型的计算分配到特定处理器的模块1217,以分配计算同时考虑负载均衡等。在一示例中,如果由于在感兴趣的特定场景区域中缺少更新的入射辐射元素信息而重复地给场景解算1107制造瓶颈,则操作设置模块1217可以将附加的FPGA核分配到出射到入射光场处理模块2005(在图20中所示)。在另一示例中,如果突然减小SRE与云之间的网络带宽,则操作设置模块1217可以在使用大份额的本地存储器的成本下开始将云数据库实体缓存在本地存储器中,从而按需消除在取得云实体时的高延迟。
图13为根据一些示例性实施方式的SRE的光场物理处理模块1301(例如诸如SRE201的光场物理处理模块1115)的框图。模块1301包括对在光场与场景中的媒介之间的交互建模的操作,如由BLIF表达。光场物理处理模块包括微表面(菲涅耳)反射模块1302、微表面集成模块1305、体积散射模块1307、发射和吸收模块1309、偏振建模模块1311和光谱建模模块1313。采用自适应采样模块1315,通过将可用的计算资源聚焦到对重建操作影响最大的辐射元素使建模问题易驾驭。在一些实施方式中,光场物理模块使用空间处理(诸如由空间处理模块1113提供的空间处理)(包括可选的专用硬件)来实现具有低电力消耗和/或提高的处理吞吐量的光场操作。下文参照图20表述关于此的更多细节。
光场物理对在媒介与进入该媒介(入射在该媒介上)及离开该媒介(从该媒介射出)的光之间的交互进行建模。当包括所有的或大量的已知现象时,这类交互在真实场景中为复杂的。在示例性实施方式中,光场物理模块使用简化的“光传输”模型来表示这些交互。如上所述,图10示出可用于表示发生在单一媒介元素处的交互的模型。发射光场由不受入射光的刺激支配的媒介元素发射。能源节约指示响应光场的总能量少于入射光场的总能量。
在光传输模型中,射出媒介元素的每个响应辐射元素(的辐射率)为进入该媒介元素或一组起作用的媒介元素的辐射元素(的辐射率)的加权组合(在“光跳跃”(诸如子表面散射)的情况下,其中,光射出一媒介元素,以响应光进入不同的媒介元素)。该组合通常但不总是线性的。权重可以为入射的辐射元素的波长和偏振态的函数,且可以随着时间而改变。如上所述,也可以添加发射项以说明由媒介元素在未被入射光刺激时发射的光。在示例性实施方式中所使用的光传输交互可以用如下方程式来表达:
其中:
x为体元(位置元素);
x′为有助于在x处出射的辐射的体元;
X′为有助于在x处出射的辐射的所有体元;
ω为出射辐射的立体角元素;
ω′为入射辐射的立体角元素;
x→ω和x←ω为由体元x和立体角元素ω限定的立体角元素;
L(x→ω)为在立体角元素x→ω处的出射辐射元素的辐射率;
L(x′←ω′)为在立体角元素x′←ω′处的入射辐射元素的辐射率;
Le(x→ω)为在立体角元素x→ω处的出射辐射元素的发射辐射率;
fl(x→ω,x′←ω′)为具有光跳跃的BLIF,其使在x′←ω′处的入射辐射元素与在x→ω处的出射辐射元素相关;
dω′为由立体角元素ω′对向的立体角(的量);
dx′为由体元x′表示的表面区域(的量);
Ω′4π为入射立体角元素的整个球体(4π球面度)。
以上和以下光传输方程式没有明确地示出对波长、偏振态和时间的依赖性。本领域的技术人员将理解到,这些方程式可以被扩展为对这些依赖性建模。
如上所述,某些媒介呈现出“光跳跃”的现象,其中,媒介元素的响应光场不仅(或根本不)依赖于媒介元素的入射光场、而且还依赖于进入一个或多个其它媒介元素的光场。这类跳跃产生一些类型的媒介的重要场景特性。人类皮肤例如呈现出显著的子表面散射、通用光跳跃的子类别。当未对光跳跃建模时,入射贡献域X′减小到单一体元x,消除了外积分:
其中:
fl(x,ω←ω′)为不具有光跳跃的BLIF,其使在x←ω′处的入射辐射元素与在x→ω处的出射辐射元素相关。
当媒介元素被假设为具有类型面元时,BLIF减小为传统的双向反射分布函数(Bidirectional Reflectance Distribution Function,BRDF):
其中:
fr(x,ω←ω′)为使在x←ω′处的入射辐射元素与在x→ω处的出射辐射元素相关的BRDF;
n为在面元x处的表面法向矢量;
(n·ω′)为平衡在传统BRDF定义中存在的互反因子的余弦透视收缩因子;
Ω′2π为围绕面元的法向矢量集中的入射立体角元素的连续半球体(2π球面度)。
当使光传输通过被建模为空的空间时,辐射在传播的立体角元素(沿着路径)内守恒。也就是说,处于给定体元的入射的辐射元素的辐射率等于处于交互的最近非空媒介元素的对应出射的辐射元素在进入讨论中的体元之前的辐射率。空的空间的媒介元素具有为恒等函数的BLIF:出射光场等于入射光场(以及发射光场在全部的立体角元素中具有零辐射)。在由空的空间中的(非空)媒介区域组成的场景模型中,使用辐射守恒将光沿着仅与空的媒介元素交叉的路径传输。可以利用等效的守恒规则来制定使用其它辐射单位(例如辐射通量)的实施方式。
微表面反射模块1303和微表面集成模块1305一起对处于不同类型的媒介(如用折射率的变化来指示)之间的边界的光场进行建模块。这覆盖场景中的面元的常见情况。微表面反射对在组成宏观面元的每个小型微表面处的总散射交互的反射组分进行建模。每个微表面被建模为可选光滑的镜子。微表面可以为不透明的或(不可忽视地)透光的。微表面反射使用已知的菲涅耳方程对在感兴趣的体元处的感兴趣的各个立体角元素(如由自适应采样1315指示)中的反射辐射与入射辐射的比进行建模,对入射(例如在图10中的1001)和出射(例如在图10中的1007)光场的偏振态建模,如下文参照偏振建模模块1311所描述。
微表面集成模块1305对在宏观上可观察到的面元处存在的微表面的统计分布上的总散射交互进行建模。对于反射组分,这涉及对在组成宏观面元的所有微表面上的出射辐射求和。照相机像素记录这类宏观辐射。
体积散射模块1207对发生在场景中透光媒介处的散射交互进行建模。这包括在这类媒介中的立体角元素处的通常各向异性的散射。按照散射相位函数或其它合适规划来实现体积散射。
当光传播穿过透光媒介且与表面交互时,偏振建模模块1311对光的变化偏振态建模。使用斯托克斯矢量形式体系表示光场的辐射元素的偏振态。在指定的几何参考系中表达该斯托克斯矢量。由不同偏振计记录的偏振读数必须通过将其斯托克斯矢量变换到常见的参考系中来调解。这通过表示坐标系的变化的穆勒矩阵乘法来实现。当在重建期间比较多个像素和/或视点处的观察时,偏振建模按需执行该变换。
偏振建模模块1311也对各种立体角元素中的入射和出射辐射元素在反射时的偏振态之间的关系建模。在偏振菲涅耳方程中表达该关系,这些方程控制s-偏振光和p-偏振光在电介质和金属表面处的反射。对于在一些默认媒介中的电介质和金属表面上入射的光,偏振菲涅耳方程指示反射辐射和透射(折射)辐射与入射辐射如何相关。在利用非偏振照相机观察时,偏振菲涅耳方程连同场景的偏振观察实现了无特征的反射表面的准确重建。
发射和吸收模块1309对在媒介元素处的光的发射和吸收建模。在媒介元素处的发射通过发射光场1009、以采样和/或参数化形式来表示。在给定波长下的吸收用消光系数或指示随着光行进穿过所讨论的媒介时的每单位距离的衰减度的类似量来表示。
光谱建模模块1313对不同波长下(在不同波段中)的光的传输进行建模。总光场包括在一个或多个波段中的光。考虑到观察场景的照相机的光谱特性,光谱建模模块1313按照对于重建操作的需求将光场细分为多个波段。在媒介的BLIF中表示光场与媒介类型的交互的波长依赖性。
自适应采样模块1315确定用于对在场景模型中感兴趣的各个媒介元素处的沿着各个方向的辐射元素进行建模的最佳角度分辨率。该确定通常基于针对媒介元素(的特性)的SMA目标、其假设的BLIF、以及对于进入和离开该媒介元素的辐射元素(的特性)的不确定性评估。在优选实施方式中,自适应采样模块1315确定表示与媒介元素相关联的入射光场和出射光场的立体角八叉树的合适细分(树层级)。有光泽的(高度反射的)表面的BLIF例如在相对于入射辐射元素的镜面反弹方向上具有紧密的“高光波瓣”。当场景解算1107开始计算通过假设的BLIF预测的观察到的辐射元素与对应建模的辐射元素之间的一致性的过程时,自适应采样模块1315确定最重要的媒介元素-入射辐射元素是在相对于假设的表面法向矢量相反的镜面反弹方向上的辐射元素。然后可以使用该信息将可用的计算资源聚焦于为确定的入射辐射元素确定建模的辐射值。在优选实施方式中,这些辐射值的确定借助光场操作模块1923(在图19中所示)来完成。
图14示出根据一些实施方式的使用3D成像系统中的SRE的应用软件的过程1400。例如,过程1400可以由上文参照SRE 201所描述的应用软件205来执行。
在进入过程1400之后,在操作1401,应用软件可以生成和/或提供SRE命令的脚本。如上文参照图11所述,这类命令可以以许多形式来实现。作为借助用户界面(诸如用户界面209)的用户交互的结果,可以通过应用软件组建命令脚本。例如,如上文参照过程300所描述,可以获取关于场景信息、对于重建的一个或多个目标、和扫描和/或重建配置的用户输入。应用软件可以基于获取的用户输入和/或其它方面(诸如历史性能或存储的库和数据)配置重建工作的目标和操作参数。也可以从其它资源取得命令脚本,诸如保存在数据库中的先前存在的命令脚本。
在操作1403,应用程序调用关于准备的命令脚本的SRE。这启动由SRE管理的一系列动作,包括但不限于计划、扫描、解算和显示。在需要人类输入和/或行动的情况下,SRE可以通知应用软件适当地提示用户。这可以使用回调或另一合适机制来实现。这类提示的用户动作的示例发生在用户为了满足某个重建目标而将手持式照相机移动到新视点以进一步记录由3D成像系统(例如场景解算模块1107)请求的图像数据时。提示的用户输入的示例发生在场景解算功能被供给的先前场景模型具有的信息不足以解析占用感兴趣的特定体元的该类型媒介中的歧义性时。在该情况下,应用软件可以提示用户在替选的媒介类型之间选择。
在操作1405,确定SRE是否完成了命令脚本而没有返回错误。如果SRE达到命令脚本的结尾而没有返回错误,则在操作1407,应用程序以在应用域中有用的某种方式(例如,重建的体积场景模型的依赖于应用程序的使用)应用重建结果。在汽车冰雹损害评估中,例如,可以将汽车引擎盖的表面重建保存在数据库中,以供人类检查者进行视觉检查或以供机器学习算法进行冰雹压痕检测。在另一示例性应用中,可以使用按有规律间隔对场景(诸如厨房)的扫描和模型重建来检测遍布空间的易腐坏的物品的状态,从而可以启动新次序。为了更详细描述重建工作,参看下文参照图18C的示例性过程1840的描述。过程1400在操作1407之后终止。
在操作1405,如果SRE返回错误,则在操作1409,可选错误处理功能(例如在应用软件中)可以尝试通过调整目标和/或操作设置来进行补偿。作为改变操作设置的示例,如果在场景中重建OOI时不满足给定的SMA目标,则操作1409可以增加总处理时间和/或针对脚本工作编预算的FPGA核的数量。然后,过程1400继续进行以在这类调整之后再次调用关于命令脚本的SRE(操作1403)。如果错误处理功能在操作1409处无法自动地补偿返回的错误,则在操作1411处可以提示用户编辑该命令脚本。该编辑可以通过与在最初组建脚本时采用的用户交互类似的用户交互来完成。在编辑命令脚本之后,过程1400可以继续前进到操作1401。
图15为根据一些示例性实施方式的计划处理过程1500的流程图。过程1500可以由SRE 201的计划处理模块1103执行。过程1500解析且执行朝向重建目标的计划命令。计划命令可以包括计划目标和操作设置。在一个示例中,计划命令启动将图1中的花和玻璃瓶的BLIF和按体元的媒介元素几何结构的重建(包括成像)到指定的非确定性天花板内。
在进入过程1500之后,在操作1501,获得计划目标。
在操作1503,获得计划设置。计划设置包括上文参照操作设置模块1217所描述的操作设置。
在操作1505,从连接的数据库209获得数据库信息。该数据库信息可以包括计划模版、先前场景模型、和照相机模型。
在操作1507,获得计算资源信息。该计算资源信息关于本地CPU和远程CPU、GPU计算核、FPGA元件、数据存储器(例如核心存储器或硬盘)和/或专用计算硬件(例如,执行专用于加速入射到出射光场处理2005的功能的ASIC)的可用性和执行特性。
在操作1509,生成一系列较低等级的子命令,包括扫描处理操作(例如扫描处理模块1105)、场景解算操作(例如场景解算模块1107)、场景显示(例如,场景显示模块1109)和/或下级计划处理。计划目标、操作设置、可访问数据库和可用计算资源通知演变成子命令的过程。满足整体计划目标可以包括满足子命令目标加上处于计划层面的重建有效性和/或不确定性评估的任何整体测试。在一些实施方式中,满足整体计划目标可以被指定为满足预定的子命令目标的一个子集。对于关于将计划目标分解为子命令的下级目标的更多细节,参看下文参照图18C的示例性过程1840的描述。
预成像的操作检查和任何所需的传感器校准发生在相关场景实体的真实成像之前。扫描处理操作被导向到获取用于操作检查和传感器校准的输入数据。场景解算操作涉及计算来源于特定校准的响应模型。
在该级别执行的面向传感器的操作检查的示例为验证相关传感器(诸如照相机203)被通电、这些传感器通过基础控制和数据获取测试、以及这些传感器具有有效的电流校准。在示例性的面向解算的操作检查中,计划处理操作验证对于场景解算操作的输入被安排为在调用解算操作之前有效地存在。任何丢失的或无效的校准被安排为发生在需要它们的场景感测和/或解算动作之前。涉及对传感器的物理调整的校准(硬校准)必须严格地发生在依赖于该校准的感测操作之前。发现传感器响应模型的校准(软校准)必须严格地发生在依赖于该校准的场景解算之前,但是该校准可以发生在场景实体的感测之后,这些场景实体的感测数据供给到场景解算操作中。
借助连接的数据库,计划处理操作可以访问子命令序列模版的一个或多个库。这些包括实现特定公共或在其它方面有用的目标的通用类子命令序列。在图1和图5中的花和玻璃瓶的360度重建例如可以通过如下近似序列模版来实现:扫描处理1105通过指导在感兴趣的对象附近的几个位置上的“向外摆动”扫描513来草拟场景光场。然后扫描处理1105指导构成感兴趣的对象(花、叶子、茎、瓶子)的每种不同媒介类型的小区域的“从左到右短基线”扫描515。在给定场景光场的草拟模型的情况下,场景解算1107接着通过使辐射与偏振一致性度量最大化来执行每种媒介类型的BLIF的重建。(如果为了达到指定的非确定性天花板需要进一步观察,则扫描处理1105执行一个或多个附加BLIF扫描。)扫描处理随后指导感兴趣对象的高分辨率轨道(或局部轨道)扫描509。此后,扫描解算1107通过使与用于BLIF发现的一致性度量相类似的一致性度量最大化(但是,在几何域而非不依赖姿势的BLIF特性的域之上进行最大化)来重建感兴趣对象的详细几何结构(BLIF的姿势相关特性)。
通常,可以在单一扫描指令的范围内执行某些轻量级场景解算操作1107,其通常涉及空间定位的场景实体。通常在单一扫描的范围之前执行更广泛的场景解算操作1107。这些更广泛的场景解算操作1107通常涉及场景数据的更宽时空分布、大量的场景数据、对重建不确定性的特别严谨的限制、现有场景模型的调和等等。
在生成子命令序列之后,在操作1511,过程1500迭代地处理随后的每组子命令,直到达到计划目标(或遇到错误状况、耗尽时间和/或资源预算等等)。在每次迭代之后或期间,如果达到计划目标(在操作1513),过程1500在操作1515处输出计划目标中寻找的结果并停止迭代。如果在操作1513处未达到计划目标,则在操作1517处更新计划处理命令队列。在操作1517处的该更新可以涉及调整目标和/或子命令的操作设置和/或计划命令本身。也可以引入新的子命令,可以去除现有的子命令,以及可以通过更新操作1517改变子命令的次序。
图16为根据一些示例性实施方式的扫描处理过程1600的流程图。过程1600可以由SRE 201的扫描处理模块1105执行。扫描处理过程1600驱动一个或多个传感器扫描场景,诸如例如上文参照图11所讨论。扫描包括在场景中感测的数据获取。扫描还可以包括可选的场景解算操作(1107)和/或场景显示操作(1109)。扫描完成了某种相对不可分割的感测和/或处理目标,如上述章节中参照图15关于计划子命令排序所讨论。显著地,扫描处理过程1600管理对于操作检查和传感器校准所需的观察的获取。参看参照图18C对于个体扫描的操作范围的示例的示例性过程1840的描述。
如同计划处理命令那样,扫描处理命令(扫描命令)包括扫描目标连同操作设置。扫描处理过程1600生成一系列感测操作以及可选的场景解算(1107)和/或场景显示(1109)操作。扫描目标、操作设置和可访问数据库通知该序列的生成。
在进入过程1600之后,在操作1601,获得扫描目标。对于来源于计划的扫描目标的示例,参看下文参照图18C的示例性过程1840的描述。
在操作1603,获得扫描设置。扫描设置包括上文参照操作设置模块1217所描述的操作设置。
在操作1605,获得数据库信息。该数据库信息可以包括扫描模版、先前场景模型、和照相机模型。
在操作1607,子命令排序功能生成一系列子命令,如上文所讨论。子命令排序功能主要关系到下文参照图17广泛讨论的感测操作。轻量级场景解算操作1107也在子命令排序功能的权限内。这类解算操作1107的示例发生在用于图3中呈现的功能流程中的步骤311中的BLIF发现的图像的反馈指导获取中。当新的多组感测图像变为可用时,一次或多次调用场景解算1107。可以使用BLIF模型一致性的数学导数对比照相机姿势来以减小重建模型的不确定性的方式指导照相机运动。一旦场景解算1107上报满足指定的一致性标准,则提供反馈以终止增加的感测操作。
通过场景解算1107子命令可实现现有传感器响应模型的轻微细化,但是响应模型的总共初始化(或再次初始化)落在扫描处理1105的范围之外且必须以更高处理等级(例如,计划处理1103)来处理。
在操作1609,扫描处理模块1105执行下一组队列子命令。在操作1611,评估扫描目标的满足1611,通常依据针对成像场景的某一部分的SMA重建目标。如果未满足目标,则操作1615以有益于达到扫描目标的方式更新子命令队列。对于更新1615扫描子命令队列的示例,参看下文参照图18C的示例性过程1840的描述。如果成功地满足扫描目标,则在操作1613处输出扫描结果。
图17为根据一些示例性实施方式的传感器控制模块1700的框图。在一些示例性实施方式中,传感器控制模块1700对应于上文所描述的SRE 201的传感器控制模块1111。在一些示例性实施方式中,传感器控制模块1700可以被扫描处理模块(诸如扫描处理1105)用来记录场景的观察。
获取控制模块1701管理用于对场景光场采样的照相机曝光的长度和次数。按需记录多次曝光并对其求平均,以减轻在照相机的感光位点和读出电子器件中的热噪声和其它随时间改变的噪声。当被光场的辐射动态范围要求时,针对合成的HDR成像堆叠多次曝光时间。动态地调整曝光方案以补偿在场景中存在的人造光源的闪烁周期。当采用时分偏振方案时,获取控制模块1701在时间上将照相机曝光同步到偏振滤波器的不同状态。当在时间上复用时,可以将类似的同步方案与其它光学模式一起使用。这点的示例为以多个光圈宽度或以多个光谱(颜色)过滤器波段进行曝光。获取控制模块1701还管理在3D成像系统207的不同传感器之间的暂时同步。在与三脚架安装的照相机从另一视点观察同一OOI相同的时刻,可以例如触发安装在UAV上的照相机曝光。然后可以将两个视点联合地输入到场景解算操作(例如,由场景解算模块1107执行),该场景解算操作在该时刻重建OOI的特性。
模拟控制模块1703管理模拟传感器电子器件的各种增益、偏移和其它可控制设置。
数字控制模块1705管理模拟-数字量化电子器件的数字位深度、数字偏移和其它可控制设置。
光学控制模块1707在给定透镜上可用时管理照相机透镜的可调整方面。这些包括变焦(焦距)、光圈和焦点。光学控制模块1707调整变焦设置以实现FOV的尺寸与光场样品的角度分辨率之间的合适平衡。当草拟场景时,例如,可以使用相对宽的FOV,然后光学控制模块1707可以针对OOI的高分辨率成像使FOV显著变窄。按需调整透镜光圈以便针对记录足够的辐射平衡焦点景深(例如,当提取相对微弱的偏振信号时)。当机电控制不可用时,光学控制模块1707可以完全地或部分地被实现为对人类用户的指导(借助软件应用的用户界面)。
偏振控制模块1711管理用于记录光场的偏振的方案。当使用时分方案时,偏振控制管理偏振滤波器状态的序列和时序。偏振控制还管理在曝光时间交叉时可行的不同嵌套序列、缓解噪声的多次曝光、和偏振采样状态。
运动控制模块1715管理空间中的传感器姿势的可控自由度。在一个示例中,运动控制命令电子摆动/倾斜单元摆出对于在空间区域中的光场的全面采样所需的姿势。在另一示例中,将UAV导向为使汽车绕轨道而行,用于冰雹损坏成像。如同光学控制模块1707那样,该功能可以完全地或部分地被实现为对人类用户的指导。
数据传输控制模块1709管理关于感测场景数据在3D成像系统200中的数据传输层上的传输的设置。数据传输解决关于传输失败的策略(例如,掉下的图像帧的重新传输)、不同传感器之间的相对优先级、数据块大小等。
本体感受传感器控制模块1713与惯性导航系统、惯性测量单元、或提供关于其在场景中的位置和/或取向和/或运动的信息的其它这类传感器交互。本体感受传感器控制按需将本体感受传感器采样与由照相机和其它相关传感器所进行的采样同步。
图18A为根据一些示例性实施方式的场景解算过程1800的流程图。过程1800可以由SRE 201的场景解算模块1107执行。场景解算过程1800可以提供如场景解算命令(解算命令)所导向的创建和/或细化重建的场景模型。场景解算包括如下主要步骤:在步骤1811,对假设的场景模型初始化,然后在操作1819,迭代地更新模型,直到达到在解算命令中指定的目标(在操作1815)。在目标达成时,在操作1817处输出形成的场景模型。
在进入过程1800之后,在操作1801,获得对于场景的一个或多个目标。每个目标可以被称为解算目标。
在操作1803,过程1800获得解算设置。解算设置包括上文参照操作设置模块1217所描述的操作设置。解算设置还包括关于底层数学优化程序的处理预算的信息(例如优化程序迭代的最大允许数量)和/或在解算操作中考虑的空间区域背景的程度(例如在假定同质的媒介区域的特性中的弱预期梯度)。
在操作1805,访问数据库。过程1800可以在操作1807处从合适数据库下载相关场景观察,以及在操作1809处从合适数据库下载先前场景模型。在操作1813,将下载的观察与源自于假设模型的预测相比较。在操作1811,在对假设的场景模型初始化时使用下载的先前模型。
在参与迭代更新(在操作1819)到假设的场景模型之前,过程1800在操作1811处对假设的场景模型初始化到开始状态(配置)。该初始化根据从相关数据库检索的解算目标和检索的(在操作1809)一个或多个先前(先验)场景模型。在一些重建场景中,多个分立的假设在初始化阶段是可行的。在该情况下,更新流程(不一定处于其首次迭代)将探索多个假设。参看下文参照图18B的关于替选的可行场景模型的创建和消除(在操作1833)的讨论。
在操作1819处的迭代更新调整假设的场景模型以便使其与真实场景的观察的一致性最大化。下文参照图18B进一步讨论在操作1819处的场景模型更新。在现有场景模型之间的调和的情况下,过程1800反而计算1813调和的模型之间的一致性。在这类模型调和的示例中,可以针对发生损坏之前的同一引擎盖的模型调和冰雹损坏的汽车引擎盖的模型。在该调和示例中,在操作1813处的一致性计算基于引擎盖模型的本征媒介元素特性(例如,BRDF、法向矢量)之间的偏差而非两个模型的出射光场之间的偏差。
在场景模型中自然可以包括时间。因此,可以重建成像场景的时间动态。这在为供应给解算操作的观察提供时间参考(例如时间戳)时是可能的。在一个示例性场景中,汽车驾驶穿过周围场景。通过访问来自观察汽车的照相机的带时间戳图像(以及可选地通过访问汽车运动的模型),可以重建汽车的物理特性。在另一示例中,在多个时间点重建人脸的变形表面,同时改变其从中立到微笑的表达。场景解算1107通常可以重建场景模型,其中,场景媒介配置(包括BLIF)随着时间而改变,受制于使来自每个空间时间区域的足够多的空间和时间观察视点的观察得以重建(例如,处于多个时刻的体元)。当光场动力学的模型(或采样)可用时,也可以在变化的光场下执行重建。
在每次场景解算迭代时,在操作1813处计算指示假设模型与观察和/或其它场景模型(针对其使该假设模型和解)之间的一致性程度的度量标准。一致性度量标准可以包括模型参数的异质组合。例如,可以将处于假设面元的局部光场的表面法向矢量方向、折射率和球面谐波表示联合地输入到计算一致性度量标准的功能。一致性度量标准还可以包括多种形态(类型)的感测的数据观察。可以将偏振辐射(斯托克斯矢量)图像、来自惯性导航系统的传感器姿势评估、以及来自飞行时间传感器的表面范围评估联合地输入到一致性功能。
在一般的日常重建场景中,按每个体元计算模型一致性。这通过在体元的多次观察上组合体元的预测出射光场1007(例如在投射的数字图像中)与真实光场的对应观察(例如在形成的数字图像中)之间的偏差的按每次观察的测量值来实现,在操作1813处的一致性计算可以使用任何适合于组合按每次观察的偏差的方法,包括但不限于对各个偏差的平方求和。
在图8A的示例中,一个或多个照相机从多个视点使体元801成像。每个视点803、805、807、809、811和813记录针对光场射出体元801的特定辐射元素的出射辐射值(和偏振特性)。假定媒介占用体元801,以及场景解算1107必须针对一个或多个BLIF 1005假设计算模型一致性(在本示例中,光场模型保持恒定)。对于每个视点,给定的BLIF 1005假设通过对入射光场1001操作而预测(建模)期望通过每个视点观察到的出射辐射值。然后在假设的BLIF 1005与如上所述的照相机观察之间计算多视图一致性。评估的BLIF 1005假设可以落在两个或更多个分立类别(例如木材、玻璃或金属)中。
注意,在该算法级上,场景解算模块1107操作可以不明确地涉及体元801的几何特性。输入到一致性计算1813的所有物理信息被包含在体元801的BLIF和周围光场中。分类为面元、块状媒介等不影响计算假设BLIF的辐射(和偏振)一致性的基础力学。
图18B为根据一些示例性实施方式的假设场景更新过程1819的流程图。在一些示例性实施方式中,过程1819可以由参照图18A所描述的更新假设场景模型操作1819来执行。假设场景更新过程1819表示在每次场景解算迭代时对假设场景模型执行的更新1819操作的细节。场景更新1819包括在图18B中所示的内部功能中的一者或多者。内部功能可以以任何合适次序来执行。
过程1819在操作1821处检测和使用观察到的场景的特征。这类特征通常稀疏地发生在场景的观察中(即,在成像的情况下,特征比像素少很多)。在单一观察(例如来自单一视点的图像)中可检测特征。特征检测和表征被预期为具有比全部基于物理现象的场景重建低很多的计算复杂度。特征可以承载唯一签名,对于视点变化是有弹性的,这对于推断场景的结构(尤其在记录观察时的传感器视点姿势)是有用的。在一些示例中,在总辐射(从场景媒介的区域出射)的域中的位置上严格定位的(点状)特征用于6-DOF视点定位。
当将偏振图像观察输入到场景解算模块1107时,两种额外类型的特征变为可用的。第一种是在偏振辐射的域中的点状特征。在许多示例场景中,相比于仅仅总辐射的点状特征,偏振辐射的这些点状特征增大了检测到的不可忽略的特征的总数量。在一些示例中,偏振辐射的点状特征可以源自于由相邻面元法向矢量形成的坡度以及可以被用作用于标记两个偏振图像之间对应特征的局部特征描述符。随着偏振成像变为可用的第二种特征为在偏振辐射的域中的面状特征。如果点状特征被称为位置的特征(它们表达关于相对位置的信息),则面状特征可以被称为取向的特征(它们表达关于相对取向的信息)。在最好示例中,3D成像系统的用户执行典型房间中的空白墙的偏振扫描。该墙完全填满成像偏振计的视野。即使未检测到位置特征,墙本身的偏振辐射签名也是强大的取向特征。在本示例中,使用该取向的偏振特征来评估偏振计相对于墙的取向。评估的取向本身或结合位置和/或其它取向信息然后送入一般场景模型调整模块1823操作中。在利用非偏振照相机观察时,可以在无特征的反射面上检测上述偏振选通特征类型二者。
过程1819在操作1823处可以以提高目标满足的某个度量标准而调整场景模型。在常见示例中,假设模型与观察之间的最小二乘一致性被用作唯一的度量标准。该调整可以通过满足度量标准的导数(作为关于模型解空间的函数)来指导。例如,该调整也可以通过自由导数的随机式和/或启发式方法(诸如模式搜索、随机搜索和/或遗传算法)来进行。在一些情况下,机器学习算法可以指导该调整。自由导数方法可以在涉及采样的观察和/或嘈杂的观察(观察数据呈现出粗糙和/或峭壁)的现实世界场景中是特别有益的。对于借助启发式参数搜索的自由导数调整的示例,参看下文参照图18D的过程1880的描述。
可以使用任何合适的模型优化程序来实现上述调整方案。在一些实施方式中,可以采用空间处理操作(例如参照空间处理模块1113所描述的操作)快速地探索在合适优化框架下的解空间。除了调整假设的场景模型本身外,还可以调整(解算目标的)子目标和解算设置。
在操作1825,适当地按场景区域更新对于场景模型的各种自由度的非确定性评估。在操作1827,适当地更新场景区域的观察状态。区域的观察状态指示来自该区域的光场信息是否已被重建中涉及的照相机记录。正性观察状态必定指示直接视线观察(通过默认媒介)发生。正性观察状态指示由照相机观察到的不可忽略的辐射可以借助已按高一致性重建的区域中的一系列BLIF交互而被追溯到所讨论的区域。在操作1829,更新关于场景区域的重建和/或观察覆盖的拓扑覆盖信息。
过程1819在操作1831处可以将假设的场景模型分解和/或合并为多个子场景。通常如此做是为了将可用的计算资源聚焦到高度感兴趣的区域(将高度感兴趣的区域分解为其自身的子场景)。可以在空间和/或时间上进行分解。相反地,可以将两个或更多个这类子场景合并为统一场景(构成的子场景的超级场景)。采用光束平差优化程序或任何其它合适的优化方法来基于互相的一致性调和子场景。
过程1819在操作1833处可以形成和/或消除替选可行的场景模型。串行和/或并行探索替选方案。在迭代解算过程中的合适接合处,可以消除变得与相关观察和/或其它模型高度不一致(当调和时)的替选方案。在图8A至图8E的示例中,四个较低的图示出了体元801可分解成的假设媒介元素。这些假设限定分立的BLIF替选。4个BLIF的类型(结果)不同。这代替与类型相同的BLIF假设(例如“金属面元”)的区别,同时专门针对该类型的参数值不同(例如,两个假设的金属面元仅在其法向矢量方向上不同)。如上所述,可以通过解算1107功能的底层数学优化例程而串行和/或并行探索4个分立假设。
可以以简洁的数学形式表达上述场景解算操作。使用上文参照光场物理1301功能引入的符号,在单一媒介元素处的一般场景解算操作为如下:
其中:
fl(x→ω,X′←Ω′4π)为具有光跳跃的、应用于有助于响应光场立体角元素x→ω的所有立体角元素X′←Ω′4π的BLIF;
L(X′←Ω′4π)为在立体角元素X′←Ω′4π处的每个辐射元素的辐射率;
Lpredicted(x→ω,fl,L(X′←Ω′4π))为通过BLIF fl和入射光场L(X′←Ω′4π)预测的在立体角元素x→ω处的出射辐射元素的辐射率;
Lobserved为由观察单一体元x和多个体元X的照相机记录的辐射率;
error(Lpredicted-Lobserved)为包括鲁棒性和正则化机制的函数,其产生场景光场的预测的辐射元素与观察到的辐射元素之间的反向一致性测量值。将基于非确定性的加权因子应用于预测的辐射与观察到的辐射之间的差异(残留的偏差)。
当应用于体积区域(多个媒介元素)时,将解算操作扩展为如下:
其中:
Lpredicted(X→ω,fl,L(X′←Ω′4π))为通过BLIF fl和入射光场L(X′←Ω′4π)预测的在所有立体角元素X→ω处的出射辐射元素的辐射率;
X为观察到的媒介元素的区域。
在入射光场已被评估为高可信度的有用情况下,解算操作可以被约束为解算BLIF,同时保持入射光场恒定(在具有跳跃时针对单一媒介元素所示):
相反地,当BLIF已被评估为高可信度时,解算操作可以被约束为解算入射光场,同时保持BLIF恒定(在具有跳跃时针对单一媒介元素所示):
在计算个体误差贡献时以及在决定如何在每次迭代中扰乱模型时所涉及的子操作是复杂的且在文本中、在方程式之前、关于场景解算1107来讨论。
图18C为根据一些示例性实施方式的针对在图1、图5和图7中呈现的厨房场景重建情形的目标驱动SRE工作的流程图。图18C通过呈现对在重建工作中的操作以及SRE跟随的决定点的更多洞悉来补充图3的一般流程图。也严密地指定图18C的示例性工作目标,从而在如下描述中产生数值量化的目标度量标准。常见的“引用”操作(诸如操作检查和标准照相机校准)的描述可以在先前章节中找到,在此不再重复。
在本示例性场景中,重建过程1840开始于操作1841,在此,应用软件205按照重建水仙花(水仙)的花瓣的目标、以预期的空间分辨率和场景模型准确度(SMA)级别为工作编写脚本(形成SRE命令的脚本)。可以按照相对于记录图像的视点中的一者或多者的角度分辨率指定该预期的空间分辨率。在本示例中,按照从在重建模型中被假设为“水仙花瓣”类型的那些媒介元素出射的光场辐射元素的均方差(Mean Squared Error,MSE)指定目标SMA。在本示例中使用能够表征全部偏振椭圆的偏振计。将偏振椭圆参数化为斯托克斯矢量[S0,S1,S2,S3],以及MSE采取如下形式(参考方程式[1]-[7]):
∑observedx→ωerror(spredicted(x→ω,fl,L(x←Ω′4π))-sobserved(x→ω)) [方程式8]
其中:
spredicted为在具有假设BLIF fl和入射光场L(x←Ω′4π)的假设媒介元素的立体角元素x→ω处的出射辐射元素的辐射率的斯托克斯矢量,入射光场的模型可以包括偏振特性,在示例性场景中没有对“光跳跃”建模;
sobserved为由观察真实场景中的对应媒介元素的偏振计记录的辐射率的斯托克斯矢量;
error为产生预测的辐射元素与观察到的辐射元素之间的反向一致性测量的函数。在本示例的偏振情况下,该函数可以被实现为预测的斯托克斯矢量与观察到的斯托克斯矢量之间的偏差(差值)的矢量范数平方(组分的平方和)。
在本示例性场景中预期的SMA为相对于按每球面度每平方米的瓦特的对应观察到的辐射元素的辐射、在假设场景模型中的水仙花瓣媒介元素出射的辐射元素之上计算的5%以下的偏振辐射RMSE(MSE的平方根)。上述方程式[8]产生用于单一假设媒介元素的MSE。用于一组多个媒介元素(诸如假设的组成花瓣的媒介元素的排列)的MSE通过对在该组中的媒介元素上的预测对比观察的偏振辐射偏差求和来计算。
也在操作1841,应用软件205指定数据库,该数据库的内容包括用于成像的偏振计的偏振照相机模型、白天在独户房屋中的一般厨房的先前(先验)模型、和水仙花瓣的先前模型。在草拟操作1847和1851期间以使对比真实场景的初始一致性最大化的方式调整先前模型,该先前模型包括一般水仙花瓣的近似BLIF。示例性调整操作为利用对于其出射辐射元素的球体观察到的辐射值填充先前模型中的媒介元素。通过偏振计测量观察到的辐射值,该偏振计执行在真实场景中的草拟成像。
在操作1843,计划处理模块1103为了在工作脚本中指定的5%RMSE目标而生成一系列扫描和解算命令。给定水仙花瓣OOI重建目标,则计划处理1103从连接的数据库检索合适的计划模版。在本示例中,该模版为“一般日常OOI计划”。该模版指定下级操作1847、1849,、1851、1853、1855和1857的序列。基于整体工作目标,该模版也指定针对一些操作的下级目标。这些下级目标在如下段落中详细说明以及确定沿着一些条件流路径发生的条件逻辑操作1859、1865、1867、1869和1873及相关联的迭代调整操作1861、1863、1871和1875。根据整体工作的5% RMSE目标定制下级目标中的SMA目标。
在操作1845,计划处理1103通过下级步骤开始迭代循环。在操作1857,扫描处理1105指导场景草拟成像的初始“向外摆动”序列(例如,在图5中的项513中的照相机姿势)且然后填充场景媒介元素的出射点光场,如上文参照先前模型初始化所描述。操作1847的下级目标在本示例中为针对在被水仙花瓣占用的假设区域中的每个媒介元素以3°角分辨率评估(重建)入射光场辐射元素。扫描处理1105基于数学模型9(例如仿真重建)和/或历史重建性能(涉及在数据库的先前模型中包含的水仙花瓣的(评估)BLIF)决定对于入射辐射元素分辨率的3°目标。
在操作1849,扫描处理1105指导水仙花瓣的BLIF草拟成像的初始序列(例如,在图5中的项513中的照相机姿势)。BLIF草拟成像被导向到花瓣的区域,这些区域被假定为在媒介组成和/或空间布置(形状)上是同质的。在花瓣的示例性情况下,在这点上的同质性可能要求成像的“花瓣片”具有几乎恒定的颜色和厚度以及该片为可忽略的或具有几乎恒定的曲率。扫描处理1105然后命令1851场景解算1107评估如在方程式[6]中表达的、应用于花瓣片的媒介元素的BLIF参数。针对BLIF解算操作设置3%相对RMSE的下级SMA目标。类似于在先前段落中的3°辐射元素目标,基于数学模型和/或历史性能数据来决定该3%BLIF重建目标。如果场景解算1107无法1865满足3%目标,则扫描处理1105更新1863其内部命令队列,以从附加视点和/或以提高的图像分辨率(例如,放大以使视野变窄)使花瓣片成像。如果未满足3%目标且扫描处理1105已耗尽一些成像和/或处理预算,则计划处理1103更新1861其内部命令队列,以通过指导附加的“向外摆动”成像序列和/或通过以辐射元素的更精细的角分辨率重建入射光场(在花瓣片处)更精确地草拟场景。如果满足3%目标,则控制前进到操作1853。
在操作1853,扫描处理1105指导水仙花瓣的细节成像的序列(例如在图5中的照相机姿势509)。然后扫描处理1105命令1855扫描解算1107细化花瓣媒介元素的草拟重建。针对细化操作设置8%相对RMSE的下级目标。8%目标适用于所有花瓣媒介元素,仅仅是在操作1851的先前描述中分配了3%目标的(更容易重建的)同质片。基于数据模型和/或关于重建性能的历史数据决定8%目标。SRE已预测到,在解算花瓣媒介元素同时保持BLIF(BLIF的BRDF部分)和光场参数恒定时的8% RMSE目标将在允许BLIF和/或光场参数“漂浮”在最终整体场景细化操作1857中时可靠地产生5%最终RMSE。如果场景解算1107无法1869满足8%目标,则扫描处理1105更新1871其内部命令队列,以从附加视点和/或以提高的分辨率使花瓣片成像。如果未满足8%目标且扫描处理1105已耗尽一些成像和/或处理预算,则控制前进到操作1861,如在BLIF草拟操作1849和1851的以上描述中。如果满足8%目标,则控制前进到操作1857。
在操作1857,场景解算1107执行场景模型的全部细化(例如,在一些实施方式中的大规模光束平差)。解算操作1857通常涉及比草拟解算操作1851和1855更多的自由度。例如,允许BLIF参数(BLIF的BRDF部分)和姿势参数(例如花瓣面元法向矢量)同步改变。在一些场景中,也允许使用标准辐射元素和/或其它基础功能(例如球谐函数)参数化的场景光场的多个部分在最终细化操作1857期间改变。如果操作1857无法1859满足关于花瓣媒介元素的5%RMSE的控制工作的SMA目标,则计划处理更新1875其内部命令队列以获取附加的花瓣图像和/或更新1861其内部命令队列,如上文参照操作1849和1851所描述。如果满足5%目标,则过程1840成功退出,以及应用软件将水仙花瓣的重建模型用于一些合适目的。
图18D为根据一些示例性实施方式的在上文图18C的描述中参考操作1855所描述的对于水仙花瓣的媒介元素的具体解算中涉及的操作的流程图。在本示例性场景中采用分层的自由导数解算方法。过程1880给出在某个预期的空间分辨率下对于单一媒介元素(和/或其入射辐射元素和/或出射辐射元素)的BLIF解。在优选实施方式中,过程1880的实例对于在水仙花瓣OOI区域中的许多假设媒介元素(体元)并行运作。
在操作1881,限定分层BLIF细化问题。假设媒介元素的BLIF参数被初始化为在BLIF草拟解算操作1851中发现的值。而且,初始化的是表示每个BLIF参数的数值范围的分层细分的可遍历的树结构(例如,在每个BLIF参数中的二叉树)。在操作1883,设置树中最小开始等级(深度),以防止由于参数范围的过于粗糙的量化而造成的树遍历中的过早失效。在操作1885,树的并行遍历开始于在操作1883处确定的最小深度的开始节点中的每一者。树个各个分支彼此独立地遍历。在一实施方式中可以实现大规模并行,该实施方式例如使用简单的FPGA计算元件执行遍历和节点处理。
在操作1887,在每个树节点处评估BLIF假设的一致性。根据并行遍历,各个节点的一致性彼此独立地评估。根据方程式[8]进行一致性评估。在操作1887中的一致性评估需要满足特定鲁棒性标准1893。在本示例中,一个这类标准为由扫描处理1105提供的水仙花瓣观察产生足够的覆盖(例如,在关于假设BLIF的主要高光波瓣的45°的圆锥体中的3°角分辨率)。另一个示例标准为建模的进入(入射到)媒介元素的场景辐射元素满足类似分辨率和覆盖需求。关于观察到的辐射元素和建模的入射辐射元素的鲁棒性标准均很大程度地根据假设BLIF(例如,高光波瓣的轮廓)。当不满足标准(1893)时,操作1891向扫描处理1105模块请求额外需要的成像视点。当如此指示时,操作1889从场景建模1203模块请求额外的入射辐射元素信息的可用性。这些请求可以采取将实体添加到优选级队列的形式。对于额外的入射辐射元素信息的请求通常启动由光场操作模块1923服务的光传输请求的链。
如果在已满足鲁棒性标准(1893)之后不满足一致性标准(1895),则树遍历停止1897以及丢弃对于该节点的BLIF假设1897。如果满足一致性标准1895,则将节点的BLIF假设添加到有效候选BLIF的列表。一旦已对树穷尽遍历,则在操作1899处输出具有最大一致性(最低建模误差)的候选者,作为对于媒介元素的最有可能的BLIF。如果候选列表为空(没有树节点满足一致性标准),则体元无法满足它为媒介类型“水仙花瓣”的假设。
图19为示出根据示例性实施方式的SRE的空间处理模块1113的框图。空间处理模块1113可以包括设置操作模块1903、几何模块1905、生成模块1907、图像生成模块1909、过滤模块1911、表面提取模块1913、形态操作模块1915、连接模块1917、质量属性模块1919、记录模块1921和光场操作模块1923。空间处理模块1903、1905、1907、1911、1913、1915、1917、1919的操作通常是已知的,以及本领域技术人员理解到这些操作可以以许多方式来实现。这包括软件和硬件。
在一些示例性实施方式中,使用八叉树表示场景中的媒介。在美国专利4,694,404中描述了基础实现方式(例如参看包括图1a、图1b、图1c和图2),该美国专利的全部内容并入在本文中。八叉树的每个节点可以具有任何数量的关联属性值。在美国专利4,694,404中呈现了存储方法(例如包括图17)。本领域技术人员将理解,可以使用等效表示和存储格式。
可以将节点在底部(包括在处理操作期间)添加到八叉树以提高分辨率、以及在顶部添加到八叉树以增大表示的场景的尺寸。可以使用联合布尔集操作组合分离的八叉树以表示更大数据集。因此,可以在单一八叉树中表示以及作为一组组合的八叉树的部分处理可按组处理的一组空间信息(例如来自一次扫描或一组扫描的3D信息)。可以将变化独立地应用于在更大的一组八叉树中的各个八叉树(例如,随着处理进展的微调对准)。本领域的技术人员理解到可以以多种方式组合这些八叉树。
八叉树也可以被用作使用INTERSECT或SUBTRACT布尔集操作或其它操作去除另一个八叉树或另一组八叉树的某一部分的掩膜。半空间八叉树(所有空间在平面的一侧)可以按需在几何上限定且生成,以例如去除一半球体,诸如处于表面上一点的表面法向矢量的反向侧上的半球。不修改原始数据集。
在示例性实施方式中以两种方式中的任一种表示图像。这两种方式可以为传统的像素阵列或在美国专利4,694,404中所描述的四叉树(例如包括图3a和图3b)。本领域的技术人员将理解,具有等效的替选表示和存储方法。包含下至特定等级(且没有一者低于此)的所有节点的四叉树也被称为角锥体。
示例性实施方式表示从光源出射的光、光穿过空间的通道、入射在媒介上的光、光与媒介(包括表面反射的光)的交互、以及从表面或媒介出射的光。在一些示例性实施方式中对此使用“立体角八叉树”或SAO。按其基础形式,SAO使用表示空心球体的八叉树对从球体的中心向外辐射的方向建模,该中心也为SAO的八叉树全集的中心。SAO表示进入或离开该点的光。它反过来可以表示进入或离开周围区域的光。尽管该中心可以与另一数据集中的一点(空间的体积区域中的一点,诸如八叉树节点的中心)相一致,但是它们的坐标系不一定对齐。
立体角用八叉树中的、与球体的中心位于中心点的表面交叉的节点表示。在此可以以多种方式限定交叉。在无普遍性损失的情况下,该球体将被视为具有单位半径。这在图21中以2D示出。点2100为中心、矢量2101为SAO的X轴、以及矢量2102为Y轴(未示出Z轴)。圆2103为单位球体的2D等效表示。SAO的根节点为正方形2104(在3D中为立方体)。SAO全集被分为4个四分圆(在3D中为8个八分圆):在图中的节点a及其3个同级(或对于在3D中的总共8个来说,为7个同级)。点2105为处于该等级的节点的中心。它们反过来被细分为处于下一等级的子节点(节点b、节点c和节点f为示例)。点2106为处于该细分等级的节点中心。细分按需继续到无论任何等级,只要该节点与圆(在3D中的球体)交叉。节点a至节点e(和其它节点)与圆(在3D中的球体)交叉且为P(空间)节点。不交叉节点(诸如f)为E(空)节点。
与圆(光穿过该圆及其中心点)交叉的节点(或在一些规划中,围绕该点的区域)保留P节点且被提供一组表征该光的性质。不与光交叉(或出于其它一些原因不感兴趣)的节点被设为E。可以由例如采样信息(例如图像)从下到上构建、或由一些数学模型从上到下生成、或按需(例如从投射的四叉树)构建SAO。
尽管可以存在终端F(全)节点,但是本发明中的操作通常在P节点上运作,按需创建这些节点和删除这些节点。较低级的节点包含以较高分辨率表示的立体角。经常将子节点中包含的属性值的差的一些测量值存储在母节点中(例如,最小值和最大值、平均值、方差)。采用该方式,如果需要访问和处理子节点,则操作算法的迫切需求可以决定即时性。在一些情况下,在处理期间即时生成八叉树、SAO和四叉树中的较低级的节点。这可以用于支持自适应处理,其中,未来操作根据在执行一些任务时的先前操作的结果。在一些情况下,访问或生成新信息(诸如针对较高分辨率的较低级的这类结构)将是耗时的或由不同过程(有可能远程地,诸如在云中)执行。在这类情况下,操作过程可以生成对于待访问或生成的新信息的请求消息,以供后续处理操作使用,同时当前操作使用可用信息。这类请求可具有优先级。然后分析这类请求,以及基于优先级将这些请求传送到合适的处理单元。
在示例性实施方式中可以表示个体光线。例如,与单位球体交叉的节点可以包含在该球体上具有高精度的一个点或一列点的性质。当无论需要什么样的分辨率来创建(可能即时地)较低级的节点时,它们可用于确定包含光线交叉的子体。
开始于SAO的八分圆,节点的状态(它与单位球体交叉)可以通过计算从原点到该节点的远近拐角的距离(d)来确定。在全集的8个八分圆中将具有8对不同的远近拐角。由于球体具有单位半径,因此可以使用值d2=dx2+dy2+dz2。在一个规划中,如果对于近拐角的值<1且用于远拐角的值≥1,则该节点与单位球体交叉。如果节点不与球体交叉,则该节点为E节点。另一方法是计算对于节点的中心的d2值,然后将其与最小和最大半径2的值相比较。因为用于PUSH操作的距离增量为2的幂,所有可以利用偏移和加法操作有效地计算dx2、dy2和dz2的值(下文参照图25A所阐述)。
在优选实施方式中,使用更复杂的公式选择用于更好节点分布(例如,在单位球体上更相等的表面区域)的P节点。也可以减小节点的密度以减少或防止重叠。例如,节点可以被构造使得在一个等级下的立体角中仅具有一个节点。另外,在一些方法中,可以使用正好4个子节点,通过除以4简化照射分布。根据节点的布置方式,可以在包含照射样本(以及或许其它性质)的非E节点之间允许间隙。可以预先生成SAO并将作为模版存储。本领域的技术人员将理解,可以采用大量的其它方法。(图22示出带有光线的SAO的2D示例。)
在设置操作处理模块1903中,可以使用UNION、INTERSECTION、DIFFERENCE(或SUBTRACTION)和NEGATION的布尔集操作组合八叉树和四叉树。在这类操作中通过调用函数指定属性信息的处理。
在几何处理模块1905中,对八叉树和四叉树执行几何变换(例如旋转、平移、缩放、偏移)。
在生成处理模块1907中,从其它形式的几何表示生成八叉树和四叉树。它实现了确定在原始3D表示中的节点(E、P或F)的状态的机制。这可以一次执行以创建八叉树或按需递增。
图像生成处理模块1909将八叉树的图像计算为传统的像素阵列或为四叉树。图36A示出2D中的图像生成的几何结构。显示坐标系为在原点3605处交汇的X轴3601和Z轴3603。未示出Y轴。外部显示屏3607在X轴(在3D中为由X轴和Y轴形成的平面)上。观看者3609位于具有视点3611的Z轴。外部显示屏3607在X上的尺寸为长度3613(以像素测量)且可以为任何尺寸。
图36B示出该几何结构的内部视图,其中,外部显示器3613在X上的尺寸已被增大到下个更大的2的幂,以限定在内部使用的具有尺寸3615的显示屏3617。例如,如果外部显示屏3607具有1000个像素的宽度3613,则显示屏3617将具有1024个像素的尺寸3615。本领域的普通技术人员可以利用替选方法表示该几何结构。
图36C示出从视点3611的八叉树节点中心3618到显示屏3617上的正交投影3623。节点中心3618具有x值3621和z值3619,它投影到显示屏3617上的在X轴上值为x'3625的点3627上。由于投影3632为正交的,因此x'3625的值等于x 3621。
图37示出2D中的八叉树节点中心的几何结构以及如何执行几何变换以例如从其母节点的节点中心(节点中心3707)计算节点中心x值3709。这针对在X-Y平面中的一般旋转示出,其中,轴3721为X轴且轴3723为Y轴。该机制用于针对图像生成的一般3D旋转,其中,节点中心x和y坐标被投影到显示屏上,以及z值可用作从观看者的深度在屏幕方向上的测量值。除了显示外,在3D中还将其用于一般几何变换。中心位于节点中心点3707的母节点3701被细分为其4个子体(在3D中8个),通常作为对子体之一的PUSH操作的结果。包含节点3701的八叉树的坐标系为I-J-K坐标系,以将其与X-Y-Z坐标系区分。未示出K轴。I方向为I轴3703且J方向为J轴3705。从节点中心3707移动到其子体的节点中心为两个矢量(在3D中为3个)在八叉树的坐标系中的轴方向上的移动的组合。在该情况下,所述矢量为I方向上的i矢量3711和J方向上的j矢量3713。在3D中,在K方向上将使用第三矢量k,但是在此未示出。移动到4个子体(在3D中为8个)涉及添加或减去矢量中的每一者。在3D中,通过三位子编号的三位来确定加法或减法的选择。例如,1位可以指示对于相关联的i矢量、j矢量或k矢量的加法,以及0位指示减法。如所示,该移动对于i和j来说在正方向上,移动到节点中心处于3709的子节点。
所示的几何操作为将八叉树的I-J坐标系中的节点中心旋转到具有X轴3721和Y轴3723的旋转X-Y坐标系中。为了实现这点,针对矢量i和j(以及3D中的k)预先计算在X和Y坐标系(和3D中的Z)中从母节点中心到子节点中心的距离。对于所示情况,在X方向上对于i矢量3711的移动为距离xi 3725。对于j矢量,该距离为xj距离3727。在该情况下,xi为正距离且xj在负方向上。为了计算子节点中心3709的x值,将xi和xj的值添加到母节点中心3707的x值。同样地,向其它子节点的中心的移动将为xi和xj(和3D中的xk)的加法和减法的各种组合。针对在Y(和3D中的Z)方向上距母节点中心的距离计算类似值,提供一般3D旋转。本领域的普通技术人员可以以类似方式实现诸如平移和缩放的几何操作等的操作。
重要的是,用于在X上从母节点中心3707移动到子节点中心3709的i矢量3711的长度刚好为用于移动到下一个细分等级下的子体(诸如节点中心3729)的I方向上的矢量的长度的二倍。这适用于所有细分等级且适用于j矢量3713(和3D中的k矢量)以及适用于Y和Z。因此可以针对用于特定几何操作的八叉树的全集一次性计算差值xi 3725、xj 3727和其它值,然后针对每个附加细分除以2(例如PUSH)。然后,在POP上,当返回到母节点时,可以通过使差值乘以2并倒转加法或减法来恢复中心。因此例如可以使值进入移位寄存器并按需右移或左移。这些操作可以以其它方式来实现,诸如预先计算偏移值、针对8个子体预先计算8个不同和且每个维度使用单个加法器、以及在POP之后使用堆栈恢复值。
这在图38中示出,其中,使用寄存器计算节点中心的x值,作为八叉树节点细分的结果。对于y和z使用类似实现方式。将节点的中心的开始x位置加载到x寄存器3801中。这可以为八叉树全集或任何开始节点。将xi值加载到移位寄存器xi 3803中。同样地,将xj加载到移位寄存器xj 3805中,以及在3D中将xk加载到移位寄存器xk 3807中。在移动到子节点(诸如利用PUSH)时,通过利用加法器3809在三个移位寄存器中添加或减去这些值来修改x寄存器3801中的值。对于这三个寄存器的加法或减法的组合适当地对应于子编号的三位。新值被加载回到x寄存器3801中且可用作变换输出x值3811。为了返回到母值(诸如利用POP操作),可以消除加法和减法操作。当然,在每个移位寄存器的右侧必须分配足够空间以防止精度损失。当然必须保存在细分操作中使用的子节点序列。作为替选,可以将x值保存在堆栈中或可以使用其它机制。
在图39中示出了将其扩展到透视投影。现在将节点中心3618沿着投影矢量3901投射到显示屏3617、投射到显示屏上X值为x'3903的点。x'的值通常将不等于x值3621。它将为Z方向上从视点3611到显示屏的距离、Z方向上从视点到节点中心3618的距离d 3907、距离z3905的函数。可以使用如下类似的三角关系计算x'的值。
x'/d=x/z or x'=xd/z[方程式9]
这需要通用划分操作,该操作需要比较简单的数学操作(诸如整体移位和加法)多得多的硬件和时钟周期。因此期望将透视投影操作重铸为可以利用简单算术实现的形式。
如图40A所示,本发明使用“跨度”执行透视投影。在显示屏3617上,限定窗口4001。它从在窗口底部4003的X值延伸到在窗口顶部4005的X值。如上所述,显示屏3617的按像素的尺寸为2的幂。窗口4001起初是整个屏幕因此开始为2的幂。然后按需将它细分为一半尺寸的子窗口,以围住节点投影。因此每个窗口的尺寸为2的幂。以2D示出窗口4001,但是在3D中为显示屏3617的2D窗口,其中,在各个维度X和Y中的窗口尺寸为2的幂。为了显示,窗口尺寸可以在X和Y上相同。在其它使用中,它们可以保持独立。
光线4021从视点3611到窗口顶部4005。在3D中,这是延伸到Y方向的平面,其形成该窗口在X-Y平面上的上边缘。光线4023从视点到窗口的顶部4003。与节点中心3618交叉且在作为与光线4023的交叉点的跨度底部4011和作为与光线4021的交叉点的跨度顶部4013之间的X方向线段为跨度4009。
如果使跨度在z方向上平移指定量,则跨度4009将增大或减小一定量,该量仅取决于顶部投影光线4021和底部投影光线4023的斜率而非节点4007的节点中心3618的z位置。换言之,对于在z上的相同步骤,跨度的尺寸将改变相同的量,无论它发生在Z上的何处。因此,当从母节点进行步骤时,跨度的变化将为相同的,无论该节点位于何处。如果然后再次细分子节点,则跨度的变化将为从母体到子体的一半。
图40B将利用窗口中心光线4025的概念从视点3611扩展到窗口4001的中心,窗口中心4019将窗口4001划分为两个相等部分。同样地,将跨度分为两个相等部分的点为跨度的中心4022。这用作确定节点的中心3618的X值的参考点,该中心从跨度的中心4022偏移了节点中心偏移4030。因此,知道跨度的点中心4022与节点中心偏移4030提供了节点中心在X上的位置。
如上文针对跨度在X上的尺寸(当使其在z方向上平移时)所述,跨度的中心4022可以同样由Z上的步骤来确定,不管在Z上的位置如何。当如图37所示从母节点的中心移动到子体的中心时,与在X、Y和Z的变化相结合,可以针对每次细分计算跨度在X上的尺寸的变化。同样地,可以通过添加差异而针对八叉树细分再次计算跨度的中心4022,不管在Z上的位置如何。知道跨度的中心4022和在细分之后的X上的中心移动提供了子体的中心相对于中心光线4025的新位置,其中仅利用加法或减法操作。以类似方式,也可以利用加法计算节点4015的边界框与跨度的交叉,因为它在X上距节点中心3618为固定距离。
如上所述,添加或减去以从母中心点移动到子中心点的偏移量在每次细分之后除以2。因此,可以针对具有偏移和加法操作的PUSH和POP计算跨度的中心4022的位置、节点3618的中心、以及边界框的顶部和底部X位置。在计算中常规使用的两个测量在下文为跨度尺寸的四分之一或QSPAN 4029和窗口的四分之一或QWIN 4027。
透视投影过程通过利用PUSH和POP操作遍历八叉树且同时确定当前节点的中心在跨度上相对于跨度的中心4022的位置来运作。连同其在跨度上的边界框的限制一起,将窗口细分并按需上下移动中心光线以将节点保持在该窗口内。在图40C中示出了细分跨度的过程。原始光线4025在跨度的中心4022处与具有范围4009的跨度交叉。跨度通过节点中心3618并在跨度顶部与投影光线4021的顶部交叉以及在底部与投影光线4023的底部交叉。在朝向子体的PUSH上,如果跨度需要被细分,则可能需要新的原始光线4025和跨度的中心4022。对于新的原始光线4025具有三个选择。第一,它可以保持不变。第二,它可以上移到原始跨度的上半部分的中间。或第三,它可以下移到原始跨度的下半部分的中心。
为了确定新跨度和新中心,限定多个区段。节点中心3618在PUSH之后将存在的区段确定原始光线的移动。如所示,区段1 4035集中在当前跨度中心。于是具有两个上区段和两个下区段。在上行方向上,区段2 4033为正X方向上的下一步骤。在上行方向上,区段34031在区段2 4033上方。在负X方向上限定类似的区段:区段2 4037和区段3 4039。
从新计算的X节点偏移(在该情况下为距离NODE_A 4030)得知新节点中心的位置。执行两个比较以确定区段。如果新节点值NODE_A为正,则移动(如果有)在正X方向上且从其减去QSPAN的值。如果NODE_A为负,则移动(如果有)在负X方向上且从其减去QSPAN的值。该结果被称为NODE_B。当然在3D中存在两组值,一组用于X方向且一组用于Y方向。
为了确定区段,仅需要NODE_B的符号。实际上不需要执行加法或减法。幅度比较将足够。在本实施方式中对其计算,因为NODE_B在一些情况下变为下一节点值。
第二比较在NODE_A与跨度的1/8(QSPAN/2)之间。如果NODE_A为正则将其与QSPAN/2比较,如果NODE_A为负则将其与–QSPAN/2比较。结果如下:
超出跨度的节点中心将导致区段3情形。在图40D中示出了跨度细分的结果。可以通过从NODE_A减去QSPAN_N使原点上移4057到新的上原点4051,或通过将QSPAN_N加到NODE_A使原点下移4059到新的下原点4055。与此独立地,可以将跨度分为尺寸减半的跨度,形成三个新跨度之一,在划分4061之后的上跨度、在划分4063之后的无偏移跨度(具有新的无偏移中心4053)、在划分4065之后的下跨度。基于区段执行如下动作:
因此,对于区段=3的情形,执行集中操作而不划分上半跨度和下半跨度。对于区段=2,执行划分并再次集中形成的跨度和窗口。对于区段=0,划分跨度(或窗口),但集中不是必要的。
具有几个附加的控制细分和集中过程的因子。首先,保持边界框的边缘在X上距节点中心的距离的四分之一。这被称为QNODE。它是单个数字(在X上),因为节点中心总是边界框的中心。不需要分离的正偏移和负偏移。将这与QSPAN_N的某一部分(通常一半或四分之一)相比较。如果QNODE大于这个,则边界框被视为相对于跨度来说已很大(在该维度上)。不执行跨度细分(NO_DIVIDE情形)。对于显示窗口细分,如果窗口将移动超出显示屏(NO_SHIFT情形),则不执行集中。
有时,对于PUSH需要附加的划分和/或集中操作。这被称为重复周期。在区段3情形(仅集中)之后或当跨度相对于边界框很大时(QSPAN_N/8>QNODE)触发该重复周期。如果窗口变得过小(例如小于用于显示窗口的像素),则另一比较抑制重复周期。
细分过程可以继续,直到在图像生成的情况下窗口为四叉树中的像素或某个等级。此时,将使用八叉树中的属性值确定待采取的行动(例如,将值写入像素中)。另一方面,如果首先遇到终端八叉树节点,则可以使用其属性值将值写入窗口中。这可以涉及写入组成窗口的像素或在四叉树中处于合适等级的节点中。作为替选,可以启动“全节点推”或FNP,其中使用终端节点创建处于下一个等级的新子体,该新子体具有从其母体继承的合适属性。采用该方式,当在FNP中生成新的八叉树节点时,将细分过程继续进行到一定级别的窗口细分,该细分可能具有属性修改。由于在透视投影中涉及的几何体,八叉树的细分有时候将不引起窗口的细分、或窗口可能需要不止一次地划分。将针对该操作(例如PUSH)暂停合适细分。
图41为针对一个维度(X或Y,所示为X)的实现方式的示意图。在寄存器中包含的值被示出为向每个寄存器内部的左侧。名字之后可以跟随带括号的一项或两项。带括号的一项可以为I、J或K,指示其值的八叉树坐标系的维度。值J例如指示它保持对于在从母体到子体的J方向上的步骤的值。另一种可以具有带括号的“xy”。这指示实际上将为两个这类寄存器,一个用于X维度、一个用于Y维度。带括号的项之后跟随有带括号的数字。这指示这类寄存器的数量。2指示,一个用于X维度、一个用于Y维度。值1指示该寄存器可以被3D系统的X部分和Y部分二者共享。
许多寄存器具有向右分开的一个或两个分区。这些寄存器为移位寄存器,以及当寄存器中的值右移时,空间用于存储最低位。因此,在进行PUSH操作之后,值不损失精度。该分区可以包含指示用于可遇到的八叉树等级(例如最大等级到PUSH)中的每一者的一位位置的“lev”或用于可遇到的窗口等级的数量(例如,用于达到像素的窗口细分的数量或四叉树细分的最大数量)的“wlev”。一些寄存器需要用于二者的空间。wlev值通过显示屏在该维度中的尺寸来确定。1024像素屏幕例如将需要10个额外位以防止精度损失。
透视投影过程通过将八叉树的全集(I、J和K)变换为显示坐标系(X、Y和Z)而开始。这是节点中心3618。这些值被存储在用于X的NODE(节点)寄存器4103中(和用于Y的第二寄存器中)。Z值使用在图38中所示的实现方式且在此未示出。从八叉树全集的节点中心或开始节点到八叉树的坐标系中的子体的矢量为i、j和k。根据在图37中所描述的方法针对第一步骤计算在X、Y和Z上与在i、j和k中的步骤的差值,并将其放在DIF寄存器4111、DIF寄存器4113和DIF寄存器4115中。注意,孤立地,在正交投影中的PUSH之后,可以使用这三个寄存器和加法器4123来更新NODE寄存器4103,如图38所示。附加的一组加法器4117、4119和4121将补偿透视投影。
对于开始节点在节点中心处计算初始跨度值4009。将该值的四分之一(qspan4029)放在QSPAN(“四分之一跨度”)寄存器4125中。针对到其子体的初始节点计算对于i矢量、j矢量和k矢量的初始步骤的跨度的长度差值。将这些差值的四分之一放入QS_DIF(“四分之一跨度差值”)寄存器4131、4133和4135中。类似于图38,可将QS-DIF寄存器与加法器4137一起使用以更新PUSH上的QSPAN寄存器。也可以使用加法器4117、加法器4119和加法器4121针对相关联的DIF值加上或减去QS-DIF值,以补偿位置变化,其中,跨度使中心光线4025与在i、j和k方向上的八叉树PUSH移动交叉。
当细分窗口且新窗口为原始窗口的尺寸一半时,中心光线4025可以保持不变,其中,一半窗口的尺寸上下减小一半。或者,可以将中心光线移动到上半部分的中心或下半部分的中心。这可由选择器4140负责。如果原始中心光线未改变,则保留现有的中心光线NODE_A。如果发生偏移,则通过利用加法器4139添加新的QSPAN值(QSPAN_N)而使旧的中心光线4025移动,形成NODE_B。
在图41B中继续该配置,硬件配置二4150。计算从跨度的中心4022的节点中心偏移4030(值节点)并将其加载到寄存器4151中。计算在Z上从母节点中心移动到子体的差值并将其加载到移位寄存器4153、移位寄存器4155和移位寄存器4157中。将其它与加法器4159一起使用以计算NODE的下一个值(用于Z的NODE_N)。
计算QNODE值并将其放在移位寄存器QNODE 4161中。它为固定值,该固定值在每次PUSH时除以2(右移一位)。使用一位寄存器4163和比较器4171将它与QSPAN_N的一半相比较,以确定是否不应当发生划分(NO_DIVIDE信号)。还使用3位寄存器4165将她与QSPAN_N的八分之一相比较并使用比较器4173相比较。以确定是否应当重复划分(REPEAT信号)。使用寄存器4167将QSPAN_N除以2并使用比较器4175将其与NODE_A相比较。如所示,如果NODE_A大于0,则使用QSPAN_N的正值。否则使其符号相反。输出设置区段=2信号。
对于显示情形,该情形要简单得多,因为它在Z方向上不移动。在WIN寄存器4187中使窗口的中心在屏幕上的位置初始化(一个用于X、一个用于Y)。将窗口值的四分之一QWIN加载到移位寄存器4191中。它与加法器4189一起使用以保持窗口中心。将屏幕的直径(在X和Y上)加载到寄存器4181中。通过比较器4183将这与窗口中心相比较以防止中心偏移超出屏幕边缘。这发生在节点的投影脱离屏幕时。MULT2值为2的幂,其用于保持寄存器4187中的子像素精度。相似的值MULT(也为2的幂)用于保持跨度几何寄存器中的精度。由于寄存器4181中的屏幕直径按像素计,因此通过移位器4185适当地划分WIN值以对其合适地缩放以供比较。使用比较器4193将当前窗口尺寸与像素相比较,从而禁止像素或合适尺寸之下的任何窗口细分。由于对QWIN缩放,因此它必须通过MULT2来缩放。
紧挨着加法器的数字指示在不同情况中将采取的行动。它们如下:
加法器操作1
PUSH:如果子体数位(对于i、j和k)为1,则加法;否则减法
POP:与PUSH相反
否则(不PUSH或POP,仅窗口细分):无操作
加法器操作2
如果NODE_A>0,则减法;否则加法
加法器操作3
UP:+
DOWN:-
否则(不UP或DOWN):无操作
加法器操作4
中心光线4025偏移到上半部分,加法
中心光线4025偏移到下半部分,减法
加法器操作5
PUSH:如果子体数位(对于i、j和k)为1,则减法;否则加法
POP:与PUSH相反
否则(不PUSH或POP):加0(i、j和k)
移位寄存器如下来移位:
寄存器4111、寄存器4113、寄存器4115
如果PUSH(进入lev位),则在周期结束时右移1位
如果POP(来自lev位),则在周期开始时左移1位
寄存器4125
如果窗口划分(进入wlev位),则在周期结束时右移1位
如果窗口合并(来自wlev位),则在周期开始时左移1位
寄存器4131、寄存器4133和寄存器4135(在一个周期中可移2位)
如果PUSH(进入wlev位),则在周期结束时右移1位
如果窗口划分(进入wlev位),则在周期结束时右移1位
如果POP(来自lev位),则在周期开始时左移1位
如果窗口合并(来自wlev位),则在周期开始时左移1位
总之,针对三个维度中的每个维度,可以利用三个寄存器和加法器实现正交投影。针对一个维度,可以使用8个寄存器加上6个加法器实现对于透视投影的几何计算。在使用中,这针对三个维度中的两个维度(X和Y)执行透视变换。对于X和Y来说的总数实际上为12个寄存器,因为无需复制QSPAN和三个QS_DIF寄存器。将三个寄存器加上一个加法器用于第三维度(Z)。对于全部3D实现来说的总数因此为15个寄存器和12个加法器。使用该方法,可以在一个时钟周期中执行对于八叉树PUSH或POP的几何计算。
为了生成在不同位置和取向上的多个八叉树的图像,它们可以在几何上被变换为单一八叉树以供显示或可以将z缓存器的概念扩展到四叉树-z或qz缓存器,其中,在每个四叉树节点中包含z值以在无法实施从前到后的遍历时去除隐藏部分。本领域的技术人员可以设想该显示方法的变型。
对于显示,该方法使用在PUSH和POP操作期间随着八叉树节点的中心而移动的跨度。显示屏可以被看作具有固定的跨度,原因是它在Z上不移动。这对于显示来说便于使用像素阵列或四叉树,其中,窗口尺寸是固定的。对于其它投影使用,诸如下文所描述的那些,可以无需固定的显示。在一些情况下,多个八叉树(包括SAO)被同时跟踪,以及可以按需独立地细分以将当前节点保持在跨度限度内。在这类情况下,跟踪多个跨度,诸如每个八叉树有一个跨度。在一些实现中,可以针对一个八叉树(诸如针对多个子体或后裔)跟踪多个跨度,以提高操作速度。
在过滤处理模块1911中执行对四叉树的图像处理操作和对八叉树的图像处理操作。可以利用一系列的POP和PUSH实现邻域查找,或可以在遍历期间跟踪多个路径,以使相邻信息连续可用而无回溯。
表面提取处理模块1913从八叉树模型提取一组表面元素,诸如三角关系,以备在需要时使用。许多方法可用于执行此,包括“移动立方体”算法。
形态操作处理模块1915对八叉树和四叉树执行形态操作(例如膨胀和侵蚀)。
使用连接处理模块1917识别在某一组条件(例如,常见的一组属性)下空间接触的那些八叉树和四叉树节点。这可以被指定为包括在一点(八叉树或四叉树中的拐角)处、沿着边缘(八叉树或四叉树)、或在一面(八叉树)上的接触。这通常涉及以某种方式标记节点(开始于“种子”节点)、然后遍历到所有连接的邻域并对其标记。在其它情况下,检查所有节点以将所有连接的组分分离为互斥集。
质量属性处理模块1919计算数据集的质量属性(体积、质量、质量中心、表面面积、惯性矩等)。
使用记录处理模块1921细化场景中的3D点的位置,如从在多个图像中找到的2D位置来评估。这在下文参照图23B来讨论。下文参照图20进一步描述光场操作模块1923。
进入包含媒介的体元的光与该媒介交叉。在本发明中,使用分立方向,以及传输方程式[2]变为求和而非积分,且用如下方程式来描述:
图20为示出SRE的光场操作模块1923的框图,该光场操作模块1923为SRE201的空间处理模块1113的一部分。光场操作模块1923可以包括位置不变的光场生成模块2001、入射光场生成模块2003、出射到入射光场处理模块2005、和入射到出射光场处理模块2007。
光场操作模块1923以SAO的形式对光执行操作并计算光与表示为八叉树的媒介(无论来自何种源)的交互。八叉树节点可以包含媒介元素,这些媒介元素将根据存储在节点中或与节点相关联的性质透射或反射或散射光或以一些其它方式改变光。SAO表示从体积空间的某一区域入射或出射、处于该空间中一点的的光。在场景中,从场景外面进入的光被表示为位置不变的SAO。单一位置不变的SAO对于在关联工作空间中的任意位置是有效的。尽管场景可以具有多个子工作空间,每个子工作空间具有各自的位置不变的SAO,但是将仅讨论单个工作空间。为了计算总的点光场SAO,需要补充来自于场景中的光。对于工作空间内的指定点,生成入射光场,然后该入射光场实际上用于覆盖位置不变的SAO的副本。
在与光交互的媒介元素处的入射光场引起响应光场SAO,该响应光场SAO被添加到任何发射光。媒介元素的BLIF用于基于入射SAO生成针对该媒介元素的响应SAO。
位置不变的光场生成模块2001生成从例如从工作空间向外看的图像获取的入射光的位置不变的SAO。通过限定,当从相关联的场景工作空间内的任何位置观看时,用位置不变的SAO表示的对象呈现出无视差。单一位置不变的SAO因此适用于在工作空间内的所有位置。参照图28A对此进一步描述。
光也可以进入呈现出视差的场景。为了表示此,可以使用表面光场。在一个实施方式中,该光用表面光场来表示,该表面光场由在场景边界上或在一些其它合适表面上出射的SAO组成。它们通常按照需求被创建为表示外部光。
入射光场生成模块2003基于场景中的媒介针对场景内的任一点计算光场SAO。如在此所使用,媒介元素中的“媒介”将为空间内的发射光或与光交互的任何事物。它可以被预先确定(例如,地势模型、面元、CAD模型)或可以在处理期间被“发现”。另外,当处理操作继续时,可以对它细化(新媒介,提高的分辨率,更高的质量等)。
如所讨论,位置不变的SAO是表示在其工作空间内的任一点处的入射光的单一SAO。对于点光场SAO,然而,如果前沿内的空间不是完全空的,则必须对它进行修改。对于前沿内部的场景中的任一事物,来自工作空间内部的无视差假设不再有效。为了对此补偿,针对工作空间内的任一指定点生成入射SAO,然后将该入射SAO与位置不变的SAO相结合。可以在工作空间之外生成这类SAO,但是位置不变的SAO不再有效。
针对同心SAO(中心点相同)引入SAO层的概念。当从中心移走时,将SAO布置到照明优先级降低的层内。因此,针对在工作空间中的给定点,对于前沿内的媒介和对象生成优先级最高的SAO,且入射SAO不包括该前沿。位置不变的SAO处于较低优先级,超过入射SAO。将二者合并以形成复合SAO,即针对位置的点光场SAO。入射SAO实际上覆盖位置不变的SAO。不需要创建新的SAO或改变位置不变的SAO。它们可以与采用优先级的入射节点联合在一起(在二者中都存在具有特性的节点的情况下使用)。
位置不变的SAO本身可以由多层组成。优先级较低的层可以对例如太阳建模,以及可以将比太阳更近的、不呈现视差的任何其它事物表示为优先级较高的SAO。
将媒介表示为一个或多个八叉树的媒介元素节点。通过由特定八叉树(所有节点共有)和通过在节点内包含的特定属性所表示的媒介的本性来确定行为。当入射光遇到媒介时,对来源于BLIF交互的响应光建模。八叉树节点可以使光的强度衰减,除了改变它的方向外还改变它的颜色等(其中,适当修改SAO性质)。
入射光场生成模块2003实现针对给定点生成入射SAO的过程。对于在工作空间中的这类点,无论在哪里发现了从给定点阻挡前沿的视野的媒介,它实际上都覆盖位置不变的SAO的常见副本。
在入射光场生成模块2003中使用的算法被投射为集中在指定点上的感兴趣的立体角与全集中的媒介元素之间的交叉操作的形式。这使访问生成SAO所需的区域外的媒介的需求最小化。使用八叉树的分层性质,只有当以较低等级的分辨率指示潜在交叉时,才访问感兴趣的分辨率较高的区域。
来自一个方向的光必须只来自于媒介在该方向上的最近空间区域。如果处理最近区域后面的媒介,则非必要计算和数据库访问发生。使用八叉树的方向性遍历(基于空间排序)。通过在从前到后的八叉树遍历序列中搜索,在这种情况下,从指定点向外,当针对特定八叉树遇到具有不透明媒介的第一节点时,在特定方向上的遍历停止。
出射到入射光场处理模块2005运行以针对空间的一点或代表区域生成入射光场SAO,通常,必须累积场景中的多个出射SAO的贡献。在图31A和图31B中以2D示出该操作。
入射到出射光场处理模块2007的功能是计算从表面上的一位置出射的光,其为内部生成的任何光加上如由该表面反射或折射的入射光的总和。
SAO可以用来表示入射光、发射光和响应光。在另一使用中,SAO用于表示对于媒介元素的BLIF(或其它相关的一个性质或一组性质)。将BLIF系数存储为BLIF SAO节点性质。它们通常被定义为四维(两个入射角和两个出射角)中的一组权重。SAO表示两个角度。因此,剩下的两个角度可以被表示为在每个节点中的一组属性,形成单一SAO。或者它们可以被表示在多个SAO中。可以存储或在处理操作期间即时生成实际的权重。可以采用其它方法,如本领域技术人员所理解。
使用几何处理模块1905(参照图38所描述),针对每个感兴趣的出射方向适当地旋转球形BLIF SAO。例如,将系数乘以在入射光SAO中的对应值并求和。在媒介内生成的任何光也将被添加到出射光。参照图32对此进一步描述。
图22示出具有光线的SAO的2D示例。中心处于点2209的节点以光线2211和光线2212为边界,光线2211和光线2212是立体角的角度限制(在2D平面中)。在SAO内的下一个较低等级(分辨率较高)中,中心处于2210的子节点表示从光线2213到光线2214的立体角。
由SAO节点表示的单位球体的表面区域可以以各种方式来表示,这取决于操作的需求和计算限制。例如,可以将属性附着到SAO的节点,以指示某种区域测量(例如,围绕穿过某个点的光线的锥角)或在操作中使用的方向矢量。本领域的技术人员将理解到,这可以以不同方式来进行。
如上所述,记录处理器1921用于细化场景中的3D点的位置,如在多个图像中发现的2D位置所评估。在此,场景中的3D点被称为“地标”且它们在图像上的2D投影被称为“特征”。另外,当拍摄图像时,照相机的位置和观看方向将被细化。在该过程开始时,多个3D地标点已被识别(大致位于在场景中评估的3D点)并使用唯一标识符来标记。相关联的2D特征在其出现(最少2个)的图像中被定位和标记。照相机参数(位置和观看方向)的粗略评估也是已知的。
这些评估可以通过多种方式来计算。基本上,需要检测对应于3D中同一地标的投影的图像特征。该过程涉及找到这些特征并判断它们是否对应。从这类相应配对以及对照相机姿势的大概了解,本领域技术人员可以对从这些特征发出的光线作三角测量并获得地标的3D位置的粗略评估。
被检测的特征必须有辨识性、能很好地定位,以及当相应地标出现在其它图像中时,这些特征必须能够被再次检测。在此假设已计算出针对如在图23A中的2349中的2D图像中的每个点的表面法向矢量。
对于每个点,我们将每个法向矢量的局部散射矩阵计算为3x3矩阵。
Σi=1..9(Ni Ni T) [方程式10A]
其中,每个Ni为在i=1..9点(在图23A中被绘制为2349中的2350-2358)处的法向矢量(Nx,Ny,Nz)。我们将这些点定义为特征点:该矩阵的行列式为最大值的点。这类点对应于曲率最大的点。行列式对于表面旋转是不变的,因此即使表面已旋转,也可以检测同一点。可以在与网格分辨率成比例的更大邻域(诸如5x5或7x7)上评估描述符,其中,从斯托克斯矢量评估法线。
为了找到特征间的匹配,我们计算表示该点的3D邻域内的表面法线的局部分布的描述符。考虑在图23A中位置2350处检测一点。图示的表面2349不是已知的,但是可以从斯托克斯矢量值获得法线。假设最接近的邻域由点2350的8个邻区(2351-2358)组成,它们中每一者都具有如图所示的法线。描述符是球形直方图2359,其中,箱格由均匀分隔的横向线和纵向线分离。具有类似取向的法线将被分组到同一箱格:在图中,处于2354、2355和2356的法线将被分组到箱格2361,处于2357的法线被分组到箱格2363,处于2350的法线被分组到箱格2362,处于2358的法线被分组到箱格2364,以及处于2351-2352的法线被分组到箱格2365。直方图箱格的值将为3(对于箱格2361)、1(对于箱格2363、2362和2364)、以及2(对于箱格2365)。然后将特征间的相似性表达为球形直方图间的相似性。观察到这些球形直方图独立于颜色或颜色缺失,因此仅根据投射的表面的几何描述。不能直接采用两个法线的球形直方图之间的绝对差或平方差,这是因为这两个视图在取向上不同且一个直方图是同一点的直方图的旋转版本。而是,我们使用球形谐波来计算不变量。如果球形直方图为函数f(纬度,经度)以及其球形谐波系数为F(l,m),其中,l=0..L-1为横向频率且m=-(L-1)..(L-1)为纵向频率,则矢量[F(l,-L+1)……F(l,0)……G(l,L-1)]的幅度对于3D旋转是不变的以及可以针对每个l=0..L-1计算这类不变量。我们计算它们之间的平方差的和,且这是两个描述符之间的不相似的测量值。我们可以在第二视图中选择与第一视图中所考虑的点具有最小不似性的点作为对应点。考虑到上文定义的相似性(不似性)测量,本领域技术人员可以应用来自算法(比如匈牙利算法)的理论的任何匹配算法。如上所述,从每对相应特征,我们可以确定地标位置的粗略评估。
通常,将存在n个地标和m个图像。在图23B中,在全集2310中包含3D记录情况、地标点2323的2D表示。图像2320和图像2321分别在相关联的照相机位置的全集2311和全集2312的边缘(在3D中为面)上。这个两个照相机视点为2324和2325。地标2323的初始位置沿着线2326到视点2324的投影在图像2320中的位置是点2329。然而,在图像2320中检测到地标的位置是2328。在图像2321中,当被检测位置为2330时,在线2327上投射的特征位置为2331。
被检测的特征点2328和特征点2330为图像中的固定位置。地标2323、照相机位置2324和2325、以及照相机全集2311和2312的取向为初始评估。记录的目标是调整它们以使一些定义的成本函数最小化。具有许多测量成本的方式。在此将使用L2-范数成本。这是在图像中的调整的特征位置与检测到的位置之间的2D距离的平方和。当然,这仅用于地标显现为特征的图像。在图23B中,这两个距离为2332和2333。
图24为成本函数的标绘图。Y轴2441是成本,而X轴2440表示可调参数(地标的位置、照相机的位置、照相机视野方向等)。在X轴上的每个参数集具有在曲线2442上的成本。给定起始点(诸如点2443),目标是找出使成本函数最小化的参数集(点2444)。这通常涉及使用迭代方法解算一组非线性方程。该曲线示出了单一最小成本,即全局最小值,而通常可以存在多个局部极小值。这个过程的目标是找出单一最小值。存在许多用于查找其它极小值且最终定位全局最小值的已知方法。
根据变量确定图像交叉点的方程式通常被收集到应用于参数矢量的矩阵中。为了使距离平方和最小化,成本的导数(2D图像距离平方和)通常被设为指示最小值的0。然后采用矩阵方法来确定用于评估在抵达最小值途中使用的下一个参数集的解。该过程为计算密集的且随着参数(地标、特征和照相机)的数量变大而需要相对较长的时间段。在此采用的方法不直接计算导数。
记录处理模块1921通过迭代地将地标点投射到图像上且然后调整参数以使下一次迭代中的成本函数最小化而操作。该模块使用如上所述的图像生成模块1909的透视投影图像生成方法来在表示为四叉树的图像中、在其当前位置上生成地标点的特征位置。在细化投影位置的八叉树和四叉树的一系列PUSH操作中生成这类图像。
对于所有图像来说待最小化的成本为Σd2,其中,d为在每个图像中从该图像中的任何被检测特征点到相关联的投影特征点的距离。以某种分辨率、按像素对其测量。每一者为图像中的距离的x2和y2组分的和(例如,d2=dx2+dy2)。
在图25A中示出了针对X维度的计算。未示出,针对y值执行一组类似的计算,并对值平方求和。对于X维度的过程开始于执行处于初始评估位置的地标到四叉树的投影。对于图像中的每个特征,将在X中从被检测位置到被计算位置的距离作为值dx保存在寄存器2507中。本领域技术人员将理解,在此使用的寄存器可以是任何形式的数据存储器。这个值可以是任何精度,不一定是2的幂。也对初始值求平方并保存在寄存器2508中。
在移位寄存器2509中的边缘的值为初始四叉树节点在X和Y上的、使四叉树节点的中心移动到子节点的中心的边缘距离。将针对母体的x和y位置值加上或减去该边缘距离,以使中心移动到四个子体之一。图25A中的计算的目的是,在四叉树的PUSH之后针对dx和dx2计算新值。举个例子,如果沿着正x方向和正y方向PUSH到子体,则如下计算新值d'和d'2:
dx'=dx+边缘 [方程式11]
dx'2=(dx+边缘)2=dx2+2*dx*边缘+边缘2 [方程式12]
由于四叉树通过利用2的正则细分来构造,因此处于任何等级的节点的边缘(在X和Y中)可以是2的幂。因此可以通过将值1放入移位寄存器2509中的合适位位置并在PUSH时右移1位位置来保持对于边缘的值。同样地,在移位寄存器2510中的边缘2值在合适位位置上为1,然后在PUSH时将其右移两个位置。在POP时使两者左移(寄存器2509左移一个位置,寄存器2510左移两个位置)。如所示,在PUSH时通过加法器2512将边缘加到dx以生成新值。
为了计算新的dx2值,需要2*dx*边缘。如所示,使用偏移器2511计算该值。因为边缘是2的幂,所以偏移器可以用于该乘法。使用额外的左移来负责因数2。如所示,在PUSH时通过加法器2513将此加到旧的dx2值加上边缘2值,以计算新的dx2值。
注意,移位寄存器2509和移位寄存器2510中的值对于y值将是相同的。不需要复制它们。未示出的为对dx2和dy2值求和的加法器。根据特定实现,可以在单个时钟周期内完成在PUSH时对新的d2值的计算。本领域的普通技术人员理解到,可以以各种各样的方式完成该计算。
整个过程是迭代地计算新的参数集,这将使成本朝向最小而向下移动以及在成本变化低于最小值时停止。具有可用于确定每个新的参数集的许多方法。示例性实施方式使用众所周知的过程:鲍威尔(Powell)方法。基本理念是选择一个参数并仅改变它以找到最小成本。然后选择另一个参数并改变,以将成本移动到另一个更低的最小值。针对每个参数都这样做。最后,例如,在生成参数偏差矢量并将其用于确定下一个参数集之前,具有最大变化的参数是固定的。
当改变特定地标点的x,y和z参数(在场景的坐标系中)时,对Σd2的贡献仅仅是针对该地标求和的d2值,该地标独立于其它地标之外。因此,这些坐标可以单独地被修改并孤立地被最小化。如果计算分散在多个处理器上,则可以快速地(也许在单个时钟周期内)计算很多这类改变的迭代。
该过程为图25B中的记录过程2515。在操作2517中将初始评估的地标投射到四叉树上以确定起始特征位置。针对初始成本值,对与被检测特征位置的差值求平方并求和。然后独立地改变地标,其中,在使地标移动的每个参数中按顺序使它们的差值平方和最小化。在操作2519中执行此。
然后对照相机参数执行参数改变。在该情况下,利用在相关联图像中表示的所有地标点来执行。在操作2521中执行此。在操作2523中计算参数变化的结果。该过程继续,直到在操作2527中已达到最小化目标或直到已达到其它一些阈值(例如,最大次数的迭代)。如果未终止,则使用操作2523的结果来计算在更新操作2525中应用的下一个参数矢量。当终止时,操作2529输出细化的地标和照相机参数。
移动由八叉树表示的地标中的坐标值(x、y或z)的方法是利用每次PUSH在仅该维度中步进。这涉及从使用节点中心作为参数位置到在优选方法中使用最小拐角的变化。
在图26中以2D示出这点。坐标轴2601为X轴且轴2602位Y轴。节点2603具有处于点2604的中心。代替使用它作为2个参数(x和y,或在3D中为x、y和z),使用点2653。然后为了移动用于下次迭代的参数,对中心处于2606的子节点执行细分,但是用于参数的新位置为2607。在下次迭代中,如果移动再次为正,则下个子体为中心处于2608的子体,但是新的参数集变化到点2609。因此,仅改变x参数,同时y值是固定的(连同除了x以外的所有参数)。
在图27中以2D示出最小位置而非节点中心的使用。四叉树平面为2760。作为投影跨度的两个四叉树节点为2761和2762。光线2765为窗口顶部光线,光线2764为窗口底部光线。光线2763为原始光线。节点2766具有处于点2767的中心。原始节点x的跨度距离值为2762。现在将用于测量的节点位置移动到最小节点(在x和y上,在3D中为x、y和z)且为点2763。新节点x的距离值为2767。
由于表示地标的八叉树被细分,因此针对每次PUSH将步长改变一半。如果对于包含相关特征的图像的该地标(且仅该地标)的新Σd2小于当前值,则将当前参数集移动到此。如果更高,则使用相同的增量变化、但是在相反方向上。根据该实现,移动到相邻节点可能是必要的。如果用于二者的成本更高,则参数集保持不变(选择具有相同值的子体)以及利用更小增量继续进行另一迭代。该过程继续,直到成本变化降到某个阈值以下。然后,该过程可以利用针对地标的另一维度而继续。
尽管可以针对多个地标点同时执行上述最小化,但是修改与照相机位置和取向相关的参数需要针对在该图像中出现的所有地标计算Σd2值。然而,可以针对多个照相机独立地且同步地执行。
计算成本(例如,直接计算d2)的替选方法是扩大的使用。从多个点重复地扩大具有被检测特征点的原始图像,其中,成本(例如d2)附接到在一定距离之外的每个扩大像素。针对每个图像都这样做。例如可以将过于靠近另一特征的任何特征添加到属性列表中或者放到图像的另一个副本中。然后将图像变换为具有减少的属性(从子节点属性生成的母体属性)的四叉树。如果最小成本超出当前最小值,则可以在更高等级上使用最小值以放弃后续投影遍历,消除不必要的PUSH操作。为了更高精度,可以以比原始图像更高的分辨率计算四叉树,尤其如果以子像素精度定位原始被检测特征。
也可以扩展该概念以涵盖除点以外的地标的使用。例如,平面曲线可以形成地标。它可以移动和旋转,然后投射到相关联的图像平面上。成本将为在扩大四叉树中的值的和,投影体元投射到该扩大四叉树上。这可以被本领域技术人员扩展到其它类型的地标中。
图28A示出刚好由单位立方体2803封闭的位置不变的SAO球体2801,该单位立方体2803具有前向面2805、2807和2809。未示出三个背向面。SAO和边界立方体的中心为点2811。它也是坐标系的轴线。这些轴线为X轴2821、Y轴2819和Z轴2823。这些轴线在三个前向轴的中心离开立方体,这三个前向轴由X轴上的十字2815、Y轴上的十字2813和Z轴上的十字2817来指示。每个球体被分为刚好从中心点投射到立方体的一面上的6个区域。每个面由四叉树表示。
在图28B中描绘位置不变的SAO的构建过程,其示出了生成步骤2861。在步骤2863中,在工作空间内的某个位置上对SAO及其6个四叉树初始化。在步骤2865中,将从工作空间内拍摄的前沿的图像(或以其它某种方式获得的前沿信息)适当地投射到边界立方体的一个或多个面上并写入四叉树中。为此,四叉树被视为处于距工作空间足够的、不出现视差的距离。由于四叉树具有可变分辨率,因此在投影期间使用的距离并不重要。
然后在步骤2867中将在四叉树的较低等级上的属性适当地减少到较高等级中(例如平均值)。作为此的一部分,可以执行插值和过滤以生成例如SAO中的插值节点。然后,在步骤2869中通过将位置不变的SAO投射到四叉树的立方体上来填充它。在步骤2871中,将最初来自图像的属性写入到位置不变的SAO节点中的适当属性中。然后,在步骤2873中将位置不变的SAO输出到场景图中。在特定情况下,可能不需要全部6个四叉树。
在该情况下使用四叉树是将不同图像组合为用于插值、过滤等的前沿信息的便利方法。本领域的普通技术人员可以设想用于实现前沿生成的替选方法,包括不使用四叉树的那些方法。将直接从包含前沿信息的图像处理和写入节点属性。
为此,从SAO的中心到边界立方体的面,执行图像生成模块1909的透视投影方法。在图29中以2D示出此。圆2981(在3D中为球体)为SAO球体。正方形2980为立方体的2D表示。点2979为二者的中心。光线2982为四叉树在正方形(在3D中为立方体)的+X面中的+Y边界。两个四叉树节点为节点2983和节点2985。
八叉树结构被遍历并投射到该面上。代替使用DAO节点中的属性值生成显示值(如在图像生成中所进行),执行相反操作(将四叉树节点写入八叉树节点)。投影以相对于原点从后到前的顺序进行,因此四叉树中的光将首先被传送到SAO的外节点(以及在四叉树节点中被减小或消除)。这与用于显示的常规的从前到后的顺序相反。
在简单实现中,当达到四叉树中的最低等级的节点时(假设最低等级为当前限定的或遇到F节点),将四叉树(SAO节点的中心投射到其中的节点)中的属性值(例如斯托克斯S0、S1、S2)复制到该节点中。这继续,直到对于该面的立体角八叉树的所有节点都已被访问(其中,也许使用掩膜缩短子树遍历)。
可以在已累积所有前沿图像且减少四叉树属性之后或利用前沿的任何新图像执行该过程。如果新值投射到先前已被写入的SAO节点上,则该新值可以替换旧值或可以被组合(例如求平均),或可以采用某个品质因数来进行选择(例如对于一个图像更靠近前沿的照相机)。当最初将前沿图像写入四叉树中时使用类似规则。
将四叉树用于每个面有助于补偿从不同照相机位置投射的像素尺寸的范围。减少(例如,求平均、过滤、插值)来自图像的原始像素以生成四叉树的等级更高(分辨率更低)的节点。也可以计算子值的变化的测量值并将其作为属性与四叉树节点一起存储。
在复杂的实现中,可以与图像的输入同步地执行从图像生成四叉树所需的减少和处理操作。因此可能的是,可以增加可忽略不计的附加处理时间量。
在生成时,如果达到在SAO中所需的最大等级的分辨率以及已达到四叉树的底部(像素)等级,则将来自当前四叉树节点的值写入该节点中。如果期望更高的质量值,则可以使用四叉树中的投影位置来检查四叉树的更大区域以计算一个属性或一组属性,其包括来自相邻四叉树节点的贡献。
在另一方面,如果在八叉树的底部等级之前达到四叉树的底部等级,则停止细分并将四叉树节点值(源自于来自前沿图像的原始像素值)写入SAO的最低节点等级中。
通常期望的是,在立体角八叉树中使用相对较低等级的分辨率来执行投影同时保存后续拾起用于生成或访问等级较低的SAO节点的操作所需的任何信息(如果在执行操作或查询期间被需要、或被请求以供后续使用)。
利用SAO的多分辨率特性。例如,可以将照射的空间变化率的测量值附着到节点(例如,照射梯度)。因此,当照射快速改变(例如在角度上)时,可以访问或创建SAO八叉树/四叉树的较低等级来表示更高的角分辨率。
入射SAO生成操作类似于前沿SAO,除了使用入射SAO的中心作为视点和从前到后的顺序、通过图像生成模块1909的图像生成操作生成6个前沿四叉树。如图30所示,初始为空的入射SAO从在点3091的中心投射到四叉树3090。示出了一个处于某个等级n的四叉树节点3093。在下一细分等级(n+1级)下,示出了节点3098和节点3099。处于遍历的当前阶段的八叉树节点为节点3092。两个边界投影为光线3095和光线3096。从中心光线3097测量跨度。如上所述,四叉树图像可以为使用qz缓存器的具有不同原点和取向的多个投影八叉树的组合。然后以与生成前沿SAO的方式相类似的方式执行将四叉树同样地投射到新SAO上并传送到前沿SAO。
由于从SAO的中心到SAO球体上的样本点的方向是固定的,因此在相反方向(球体到中心点)上的矢量可以为在包含样本位置的每个光场SAO节点中的属性。这可以用于计算待使用的入射照明。
在图31A和图31B中以2D示出了出射到入射光场操作处理模块2005的操作。出射SAO具有处于点3101的中心和单位圆3103(在3D中为球体)。特定的出射SAO节点3105包含表示从中心点3101沿其方向发射的光的属性值。使用与生成入射SAO相同的过程,可以从点3101以从前到后的顺序遍历表示场景中的媒介的一个或多个八叉树中的节点。在该情况下,遇到的第一个不透明的节点为节点3117。投影边界光线为光线3107和光线3108。任务是将光从中心处于点3101的出射SAO传送到与节点3117相关联的入射SAO。
用于节点3117的入射SAO为中心处于3115的SAO。它可以对于节点3117也存在或可以在入射照明首次遇到它时被创建。如所示,中心处于点3115的入射SAO的节点具有处于3113的表示圆(在3D中为球体)。
一个或多个媒介八叉树的坐标系的取向独立于中心处于点3101的出射SAO的坐标系的取向,如通常用于图像生成处理模块1909。在该实现中,所有SAO的坐标系被对齐。因此,与节点3117相关联的入射SAO的坐标系与中心处于点3101的出射SAO的坐标系对齐。入射SAO中将用于表示来自点3101的照射的节点为节点3109。它的中心位于点3111。
为了识别点3109的计算通过保持入射SAO中的节点的位置同时将其中心随着媒介八叉树(在图中的点3115)移动而进行。从出射SAO的中心(在该情况下为点3101)以从前到后的顺序遍历入射SAO节点,因此将找到在正确侧的节点。使用掩膜来去除入射SAO的被阻挡而无法观看且无法接收照射的节点。
入射SAO节点的遍历是繁琐的,原因是它的坐标系通常将不与所附接的八叉树的坐标系对齐。因此,从入射SAO的节点的移动必须不仅解释相对于其自身中心的移动、而且还解释媒介八叉树的节点中心的移动。这通过将由媒介八叉树节点使用的相同偏移用于添加到用于SAO本身的法线偏移的PUSH来实现。尽管这两组偏移在如由媒介八叉树和出射SAO使用的任何特定等级下将为相同的,但是它的计算必须独立地积累二者的偏移的和,这是因为PUSH操作和偏移计算的顺序通常将不同于出射SAO或媒介八叉树的顺序。
当实现用于进行中的特定操作的细分等级时,将来自出射节点(在该情况下为节点3105)的合适照射属性信息传送到入射节点(在该情况下为节点3109)。通过改变出射节点(在该情况下为节点3105)中相关联的属性来合适地解释传送的照射。可以以许多方式执行合适照射传送的表征,诸如通过利用在X和Y维度上的投影节点宽度和高度所确定的投影矩形面积
随着细分继续,图31B示出了如下结果:出射SAO节点3121将其照射沿着窄立体角3123投射到圆3113(在3D中为球体)上的入射SAO节点3125上,表示在中心处于3115的媒介节点上的照射。
在图32中示出BLIF SAO的2D示例。它由SAO中心3215和圆3205(在3D中为球体)限定。表面法向矢量(限定关于其的权重)为矢量3207(在该情况下为Y轴)。在所示情况下,针对方向3211计算出射光。在表面位置上的入射光用位于同一中心点的入射光SAO来表示。在该情况下,从四个方向3201、3203、3209和3213示出光。包含权重的SAO节点位于圆3205(在3D中为球体)上。在方向3211上的出射光将为用于入射方向的权重乘以来自该方向的光的总和。在图中,这是四个入射方向和相关联的四组权重。
在特定情况下,BLIF SAO表面法线方向通常将不对应表面法向矢量。因此使用几何模块1905使BLIF围绕其中心适当旋转以将其法线方向与局部表面法向矢量对齐以及使出射方向与BLIF SAO的出射矢量对齐。在两个SAO中的重叠节点将被相乘并相加以确定在出射方向上的光的特性。对于特定情况,这将需要针对感兴趣的所有出射方向来执行。可以使用SAO掩膜从处理中排除所选方向(例如,进入媒介的方向)。
通常以分层方式执行该操作。例如当在特定角度范围内具有BLIF系数的较大偏差时,将会在这些范围中的仅较低等级的树结构中执行计算。将以等级降低的分辨率更有效地计算方向空间的其它区域。
根据示例性实施方式,可以在车辆的冰雹损坏评估(HDA)中使用3D成像系统200。每年冰雹都对车辆造成重大损坏。例如,在美国每年有大约5,000场重大的冰雹风暴,这损坏大约100万辆车。目前对损坏的评估需要由熟练的检查员进行目视检查,他们必须迅速地聚集在受影响地区中。本发明是一种能够自动地、快速地、一致地、以及可靠地检测和表征车辆冰雹损坏的自动评估系统。
大多数冰雹压痕很浅,深度经常只有毫米的几分之一。此外,压痕本身周边经常具有轻微的缺陷,所有这些导致难以对损坏和维修成本进行人工评估。由于维修各个压痕所需的工作量的不确定性和变化等级,维修车辆的评估成本可能差别很大,这取决于压痕的数量、压痕在车上的位置、以及压痕的尺寸和深度。人工评估的差异导致即使对于同一车辆和损坏的评估成本也有很大差异。减小差异是自动化处理的主要目标。
传统的机器视觉和激光技术难以表征冰雹损坏。主要问题是车辆表面的光泽性质,这是因为它们是高度非朗伯体的。它们经常展示出类似镜子的特性,这些特性连同许多冰雹压痕的浅度致使利用那些方法难以进行精确表征。然而,一些特性(诸如光泽表面)使训练有素的观察者能够在四处移动其视野时破译形成的光图案,以接近损坏且最终评估维修成本。本发明的一些示例性实施方式提供了一种可以从多个视点表征从车辆的表面反射的光且然后解释反射光的系统。分析入射到车辆表面和从车辆表面出射的光。该方法采用偏振成像、光传输的物理现象和数学解算器来生成以3D表示媒介场(几何的/光学的)和光场的场景模型。
在本发明的一些示例性实施方式中,偏振照相机从多个视点获取车辆面板和零件的图像。这可以以许多方式来实现。一个版本将具有通过安装在移动机架上的一组偏振照相机成像的静止车辆,该移动机架会在多个位置上暂停。作为替选,可以使用UAV(诸如四轴飞行器、或许用绳拴住)来运送照相机。这发生在自定义结构内,该自定义结构控制外部照明以及保护车辆和环境免受天气影响。在该结果内部,使用非专业化(例如非偏振)照明。例如,可以使用帐篷内的标准泛光灯。在图33中示出了可行实现方式的技术人员的演示。车辆(诸如车辆3309)驾驶到封闭件3303中以供检查并停止。在本实现方式中,将固定的机架3301用于四轴飞行器携带的照相机和固定的照相机。灯3311向下安装到地面以照亮车辆的侧面。控制光单元3307指示驾驶员进入封闭件、何时停止、以及何时扫描处理完成且车辆应当离开。照相机由四轴飞行器3305携带。
在一些情况下可以使用用于观察自然环境中的光场并对其建模的系统而消除封闭件的使用。
在对车辆成像之后,HDA系统构建车辆表面的模型。这开始于图像处理或将车辆分为多个部分(引擎盖、车顶、门、把手等)的其它方法(包括车辆类型的现有3D模型,如果可用的话)。这之后可用于针对在每个零件或面板上的各个检测到的冰雹压痕确定维修过程和成本。例如,经常可以通过使用专用工具从下侧有技巧地击打压痕来维修该压痕。可以使用车辆面板的下侧的结构知识来确定对特定压痕的访问且改善维修成本的评估。
将从用于每个面板的图像构造的模型与车辆年份、型号、形状、涂料特性等的知识结合以形成数据集以供分析或输入到用于冰雹损坏检测和表征的机器学习系统。
单独使用偏振图像可以提供关于冰雹损坏、其它损坏、碎片等的一些表面信息。这类图像可以用于以逐个像素为基础计算精确的表面取向矢量。如上所述,BLIF给出来自表面一点的处于特定出射方向的出射光,作为应用于落在该点上的全部入射光的权重之和。
对于车辆面板,在特定出射方向上的反射光的强度受表面在反射点的取向影响。但是通常无法单独使用强度观察来确定表面取向。然而,使用偏振测定法,可以解决取向(高达很小的一组不明确的替选)。给定从各个方向的入射光强度,BLIF将在任何出射方向上预期的偏振指定为表面取向的函数。对于非朗伯体表面,这通过提供足以唯一地区分出射方向的信息。在一些BLIF规划中,也并入入射光可能具有的任何偏振。
因此,给定入射光在表面位置上的强度(和偏振,若已知),则可以计算在所有可能方向上的出射光的评估偏振。通过将在图像中实际看到的斯托克斯矢量值与可能值相比较,可以选择处于观察位置的表面的表面法线。可以使用入射光场SAO和BLIF SAO有效地计算出射光的偏振,以供与在一个像素或一组像素中的感测偏振相比较。最接近的匹配指示可能的表面法线方向。
如果表面法线在区域中相对平滑地改变,则集成这些表面法线以从单一图像评估3D表面。突然改变的法线通过由某种形式的边缘引起,该边缘指示终止表面的边界。
除了从各个方向击打表面的照明的一些评估,该方法还需要表面的BLIF的评估。有时可以使用照明和对象的先验知识使BLIF评估过程初始化。对于车辆,可以基于车辆的知识得知BLIF,或可以单独测试已知的一组BLIF以找到最佳配合。
尽管单一图像能力是有用的,但是具有限制。无法直接确定3D中的绝对位置(或来自照相机的范围)以及在发现的表面取向上可能具有一些不明确性。而且,视点很重要。几乎垂直于照相机轴线的表面区域经受低信噪比(Signal-to-Noise Ratio,SNR),导致表面取向信息的损失和重建表面中的空隙(孔)。
解决方案是将偏振的使用推广到多个图像。给定从两个或更多个视点观察的场景偏振,则可以将场景模型映射到数学公式中,该数学公式可以按非线性的最小二乘问题来求解。这用于评估场景光场和表面BLIF。然后可以评估感兴趣的表面的位置和形状。逐步分解由表面元素(面元)和光场组成的场景模型以最终生成与观察最佳匹配的模型(在最小二乘的意义上)。而且,根据照相机视点,可以以逐个体元为基础确定每个面元的绝对位置和取向。
在图34中示出HDA系统过程3401。在偏振图像获取操作3403中,在控制照明的封闭环境中从多个视点获取车辆的一组偏振图像。在操作3405,场景重建引擎(SRE)处理该组图像以确定照相机在每个图像中的位置和姿势。可以使用任何相关的外部信息(例如来自惯性测量单元),以及也可以采用已知的摄影测量法。SRE按所需程度评估场景光场,以确定感兴趣的表面上的入射光。在该过程中使用来自封闭件的出射光的模型,以及在系统设置期间或在后续操作中获取照明。
通过SRE针对表面评估BLIF功能。这基于从看向表面区域的多个视点观察的偏振,该表面区域被假定为相对较平的(曲率可忽略不计)或具有几乎恒定的曲率。知道了评估的表面照明和BLIF,则针对所有相关方向评估出射偏振。SRE针对每个场景体元评估假设的面元存在性(被占用或为空的体元)、子体元的面元位置、以及最佳阐述离开该体元的偏振光的所有观察的面元取向。例如,基于离开被考虑的每个体元的偏振光线之间的辐射一致性评估体元和面元特性。每个形成的面元大致表示投射到最近照相机的单一像素上的表面的区域,该最近照相机通常位于距最远车辆表面点几英尺。针对每个面元计算如下(局部差异)数据:深度、法向矢量和BLIF。
检查车辆表面的每个相关区域以识别潜在异常情况以备进一步分析。在操作3407中由异常检测模块使用该信息来检测异常情况,以及在操作3411中由面板分割模块使用该信息将车辆分离为多个面板以供后续在计算维修时使用。
本领域的技术人员理解到可以使用许多方法来利用该信息检测和表征冰雹损坏。在本发明的优选实施方式中,使用机器学习和/或机器智能来改善在存在其它损坏和碎片时对冰雹损坏的识别。在操作3409,使用HDA预处理模块、感测的法向矢量和3D重建来创建供机器学习使用的数据集。这例如可以为利用附加信息增强的、来自在潜在压痕正上方的视点的合成图像(“冰雹视图”图像)。
该过程开始于确定正被检查的未损坏车辆面板的数学模型。这可以源自于面元的3D位置,这些面元没有显现(如在获取的图像所检测)为任何损坏或碎片的一部分(例如,法线仅缓慢地改变)。如果表面的名义模型基于车辆模型是可用的,则在此可采用该名义模型。接着,针对每个面元,计算所测量或计算的值从期望值的偏离。在法线的情况下,这是在表面的数学模型的该位置上感测的法线从期望法线的偏离(例如点积)。对于偏离严重的感测矢量,计算在局部表面平面中的矢量相对于车辆的坐标系的方向。这给出法向矢量的偏离的幅度和方向。从圆指向内部的较大偏离例如指示压痕的壁。其它信息(诸如该面元与来自数学表面的预期的且面元的空间偏离的反射性质的差异(例如深度))也会附着到每个面元。这可以例如被编码为组合深度、法线和反射率的图像格式。
下一个操作是使数据标准化和"扁平化"。这意味着将多个面元的尺寸调整为均匀尺寸并将它们变换为类似于图像像素阵列的平面阵列。也可以添加局部“上”方向。然后将针对每个压痕计算的撞击的预期方向与相邻压痕相比较以及与假设的冰雹移动方向相比较。于是这形成初始数据集,该初始数据集将被编码为可送入机器智能(MachineIntelligence,MI)和/或用于从由冰雹引起的压痕识别图案的数据库模块的格式。利用相关联的信息突出的形状形成最终在操作3413中被机器智能和/或数据库模块识别为冰雹压痕的图案。
在操作3415中将结果输入到维修计划模型,在此分析压痕信息以生成后续将用于评估成本的维修计划。在此可以使用来自操作3411的面板分割模块的结果来按面板分析异常情况。然后在操作3417中通过输出处理模块将形成的计划和相关信息发送到相关组织,诸如保险公司和修理厂。
HDA检查过程3501用于检查车辆是否有冰雹损坏且在图35中示出。这开始于操作3503,其中,检查行驶到检查站中的车辆。在图示的实施方式中,车辆停止以供检查,但是本领域的技术人员将知道,当在自身动力下或通过一些外部手段移动时,也可以检查车辆。然后在操作3505中获取图像。
SRE使用各种参数来来指导其在场景重建中的操作。操作3507获取与HDA检查相关的设置和目标参数。然后在操作3509中执行重建。然后,在操作3511中通过机器智能和/或数据库模块来分析结果。检查检测到异常情况的区域。异常情况被分类为由冰雹引起的情况或其它某些情况,诸如非冰雹损坏、碎片(诸如焦油等)。进一步表征那些被识别为冰雹压痕的异常情况(例如,尺寸、位置、深度)。
在操作3513中将包括识别的压痕和其它异常情况的车辆的3D模型分布到有关方的系统,可能分布到地理上分布的位置。在操作3515中出于不同目的使用这类信息。例如,保险公司将使用内部方法来计算针对维修将要支付的金额。检查员可以访问3D模型以便深入调查情况,可能包括车辆的原始或合成图像、车辆面板或各个压痕。为了充分理解,可以从任意视点观察3D模型。例如,可以利用模仿现实检查的模拟照明“再次点亮”具有详细说明的表面和反射信息的3D模型。保险公司也可以比较历史记录来确定针对维修所提交的损坏先前是否已被上报。维修公司可以使用相同或类似的信息和能力来提交维修费用。
尽管过程部分、算法等(包括但不限于参考本文中所描述的过程)可以按特定顺序来描述或请求保护,但是这类过程可以配置成按不同次序工作。换言之,在本文件中可以明确描述或请求保护的步骤的任何顺序或次序不一定指示要求按该次序执行这些步骤;而是本文中所描述的过程的步骤可以按任何可能次序来执行。进一步,一些步骤可以同时(或并行)执行,尽管被描述或暗示为非同时发生(例如,因为一个步骤接一个步骤来描述)。此外,过程在其图中的绘制图示不暗示该图示过程排除对其的其它变型和修改,不暗示图示过程或其任一步骤为必需的,以及不暗示图示过程为优选的。
将理解,如在本文中所使用,术语系统、子系统、服务、逻辑电路等可以被实施为软件、硬件、固件等的任何合适组合。也将理解,本文中的存储位置可以为硬盘驱动装置、内存位置、固态驱动、CD-ROM、DVD、磁带备份、存储区域网络(Storage Area Network,SAN)系统和/或任何其它合适的有形计算机可读存储介质的任何合适组合。也将理解,本文中所描述的技术可以通过使处理器处理有形地存储在计算机可读存储介质上的指令来实现。
尽管描述了特定实施方式,但是这些实施方式已通过示例方式来呈现且不意图限制本发明的范围。实际上,本文中所描述的新颖实施方式可以以其它形式来体现;此外,可以进行以本文中所描述的实施方式的形式的各种省略、替换和改变而不脱离本发明的精神。所附权利要求及其等效物意图覆盖如将落在本发明的范围和精神内的这类形式或修改。
Claims (45)
1.一种场景处理方法,包括:
采集在包括场景媒介的场景中流动的场景光的一个或多个所感测的数字图像,其中,(A)所述场景光在所述场景媒介中沿相反的方向流动,(B)通过位于一个或多个照相机姿势处的至少一个照相机感测所述所感测的数字图像,(C)所述所感测的数字图像包括表示所述场景光的特性的所感测的像素数据元素,并且(D)由所述场景媒介和/或所述场景光的至少一部分形成的场景实体包括场景特性,场景表面,场景特征和场景对象中的至少一个;和
使用(a)所述所感测的像素数据元素中的一个或多个,(b)一个或多个初始场景重建数据元素以及(c)表示以平衡状态流入、流出所述场景媒介的至少一部分或在所述场景媒介的至少一部分内的所述场景光的至少一部分的光传输方程式来确定一个或多个更新的场景重建数据元素,
其中,
场景重建数据元素包括:i)表示所述场景媒介的几何属性和材料属性的场景媒介数据元素;ii)表示所述场景光的几何属性和辐射属性的光数据元素;iii)表示所述照相机姿势和照相机模型的照相机数据元素,
初始场景重建数据元素是这样的场景重建数据元素:如果所述场景重建数据元素存在,则将其用作所述确定过程的输入,并且
更新的场景重建数据元素是从所述确定过程输出的场景重建数据元素。
2.如权利要求1所述的场景处理方法,其中:
获取一个或多个所感测的数字图像包括捕获和/或访问一个或多个所感测的数字图像,
确定一个或多个更新的场景重建数据元素包括使用非线性优化和/或使用机器学习,以及
所述场景实体中的至少一个通过使用所述所感测的像素数据元素中的至少一个的所述场景重建数据元素中的至少一个来表示。
3.如权利要求2所述的场景处理方法,还包括:
访问至少一个用户标识的场景重建目标;
重复权利要求2的所述过程,直到满足场景重建目标为止;以及
生成表示至少以下项中的至少一个的输出数据:(aa)至少部分地与所述用户识别的目标相关联的至少一个场景实体;(bb)表示所述照相机姿势的至少一部分和所述照相机模型的至少一部分的至少一个照相机数据元素;以及(cc)表示所述照相机模型的至少一部分的至少一个照相机数据元素,其中所述输出数据至少部分地使用至少一个场景重建数据元素来确定。
4.如权利要求2所述的场景处理方法,其中:
所感测的数字图像中的至少一个是由至少一个照相机感测的基本上全向的图像。
5.如权利要求2所述的场景处理方法,其中,至少一个所述所感测的像素数据元素表示偏振光的多个特性,并且至少部分地使用偏振光的特性来确定所述场景重建数据元素中的至少一个。
6.如权利要求5所述的场景处理方法,其中:
至少部分地使用偏振光的表示对偏振光敏感的至少一个空间定位的场景特征的特性来确定所述至少一个场景重建数据元素。
7.如权利要求6所述的场景处理方法,其中,所述至少一个场景重建数据元素表示对偏振光敏感的所述至少一个空间定位的场景特征,并且至少部分地用于执行以下各项中的任一项或任意组合:
对跨越多个图像的场景特征进行标注,
图像记录,
场景初始化,以及
场景重建。
8.如权利要求5所述的场景处理方法,其中:
所述场景表面是车辆表面,
所述场景特征是对车辆表面的损坏,所述损坏包括压痕、异常和碎片中的至少一种,以及
使用以下项的任何一种或任意组合来确定所述损坏的一个或多个特性:
所述场景重建数据元素中的至少一个,
关联的未损坏的车辆表面的3D模型,
非线性优化,以及
机器学习模型。
9.如权利要求2所述的场景处理方法,其中:
所述场景媒介包括一个或多个体积场景媒介子区域,这些子区域包含同质的媒介或异质的媒介,
所述场景光通过包含吸收、发射、反射、透射和散射中的任何一种或任意组合的现象来与所述场景媒介子区域进行交互,
表示所述场景媒介子区域的几何属性的所述场景媒介数据元素包括值、距离、角度、点、矢量、平面、面元、体元和参考中的至少一个,以及
表示所述场景媒介子区域的材料属性的所述场景媒介数据元素包括值、梯度,双向反射分布函数(BRDF),双向光交互函数(BLIF)和参考中的至少一个。
10.如权利要求2所述的场景处理方法,其中:
所述场景光在至少一个平截头体中流动,
所述场景光通过包括吸收、发射、反射、透射和散射中的任何一种或任意组合的现象来与所述场景媒介交互,
表示所述平截头体的几何属性的所述场景光数据元素包括值、点、体元,方向、角度、矢量、立体角和参考中的至少一个,以及
表示所述平截头体的辐射属性的所述场景光数据元素包括值、梯度、辐射通量,辐射功率和参考中的至少一个。
11.如权利要求2所述的场景处理方法,其中:
所述场景媒介的几何特性中的至少一个形成八叉树,所述八叉树被细分为以空间分类和分层的方式组织的八叉树单元。
12.如权利要求11所述的场景处理方法,其中:
所述场景光的几何特性形成立体角八叉树,
在点处的方向细分为立体角元素,并且
所述立体角元素以空间分类和分层的方式进行组织。
13.如权利要求12所述的场景处理方法,还包括:至少部分地使用立体角八叉树来计算具有透视投影合成图像,其中,所述计算使用移位运算而不使用通用除法运算。
14.如权利要求13所述的场景处理方法,还包括:使用跨度来执行透视投影。
15.如权利要求14所述的场景处理方法,其中:
在所述合成图像的计算过程中,至少一个可排除的八叉树单元被排除在处理之外,
确定至少一个可排除的八叉树单元包括以下项中的任何一种或任意组合:i)使用四叉树或等效数据结构确定闭塞的八叉树单元,该四叉树或等效数据结构能够实现所述场景媒介的“从前到后”的遍历以访问闭塞;以及ii)使用窗口尺寸与在至少部分关于像素尺寸确定的合成图像计算中能够变化的尺寸的比较来确定较小尺寸的八叉树单元,其中,至少部分地关于在显示平面上的透视投影来确定所述窗口尺寸。
16.一种3D数字成像系统,其包括至少一个场景重建引擎,该至少一个场景重建引擎具有连接的至少一个数字信号处理器以与至少一个照相机和数字信号输入/输出通信接口进行数字通信,所述3D数字成像系统被配置为执行场景处理方法,所述场景处理方法包括:
采集在包括场景媒介的场景中流动的场景光的一个或多个所感测的数字图像,其中,(A)所述场景光在所述场景媒介中沿相反的方向流动,(B)通过位于一个或多个照相机姿势处的至少一个照相机感测所述所感测的数字图像,(C)所述所感测的数字图像包括表示所述场景光的特性的所感测的像素数据元素,并且(D)由所述场景媒介和/或所述场景光的至少一部分形成的场景实体包括场景特性,场景表面,场景特征和场景对象中的至少一个;和
使用(a)所述所感测的像素数据元素中的一个或多个,(b)一个或多个初始场景重建数据元素以及(c)表示以平衡状态流入、流出所述场景媒介的至少一部分或在所述场景媒介的至少一部分内的所述场景光的至少一部分的光传输方程式来确定一个或多个更新的场景重建数据元素,
其中,
场景重建数据元素包括:i)表示所述场景媒介的几何属性和材料属性的场景媒介数据元素;ii)表示所述场景光的几何属性和辐射属性的光数据元素;iii)表示所述照相机姿势和照相机模型的照相机数据元素,
初始场景重建数据元素是这样的场景重建数据元素:如果所述场景重建数据元素存在,则将其用作所述确定过程的输入,并且
更新的场景重建数据元素是从所述确定过程输出的场景重建数据元素。
17.如权利要求16所述的3D数字成像系统,其中:
获取一个或多个所感测的数字图像包括捕获和/或访问一个或多个所感测的数字图像,
确定一个或多个更新的场景重建数据元素包括使用非线性优化和/或使用机器学习,以及
所述场景实体中的至少一个通过使用所述所感测的像素数据元素中的至少一个的所述场景重建数据元素中的至少一个来表示。
18.如权利要求17所述的3D数字成像系统,还包括:
访问至少一个用户标识的场景重建目标;
重复权利要求17的所述过程,直到满足场景重建目标为止;以及
生成表示至少以下项中的至少一个的输出数据:(aa)至少部分地与所述用户识别的目标相关联的至少一个场景实体;(bb)表示所述照相机姿势的至少一部分和所述照相机模型的至少一部分的至少一个照相机数据元素;以及(cc)表示所述照相机模型的至少一部分的至少一个照相机数据元素,其中所述输出数据至少部分地使用至少一个场景重建数据元素来确定。
19.如权利要求17所述的3D数字成像系统,其中:
所感测的数字图像中的至少一个是由至少一个照相机感测的基本上全向的图像。
20.如权利要求17所述的3D数字成像系统,其中,至少一个所述所感测的像素数据元素表示偏振光的多个特性,并且至少部分地使用偏振光的特性来确定所述场景重建数据元素中的至少一个。
21.如权利要求20所述的3D数字成像系统,其中:
至少部分地使用偏振光的表示对偏振光敏感的至少一个空间定位的场景特征的特性来确定所述至少一个场景重建数据元素。
22.如权利要求21所述的3D数字成像系统,其中,所述至少一个场景重建数据元素表示对偏振光敏感的所述至少一个空间定位的场景特征,并且至少部分地用于执行以下各项中的任一项或任意组合:
对跨越多个图像的场景特征进行标注,
图像记录,
场景初始化,以及
场景重建。
23.如权利要求20所述的3D数字成像系统,其中:
所述场景表面是车辆表面,
所述场景特征是对车辆表面的损坏,所述损坏包括压痕、异常和碎片中的至少一种,以及
使用以下项的任何一种或任意组合来确定所述损坏的一个或多个特性:
所述场景重建数据元素中的至少一个,
关联的未损坏的车辆表面的3D模型,
非线性优化,以及
机器学习模型。
24.如权利要求17所述的3D数字成像系统,其中:
所述场景媒介包括一个或多个体积场景媒介子区域,这些子区域包含同质的媒介或异质的媒介,
所述场景光通过包含吸收、发射、反射、透射和散射中的任何一种或任意组合的现象来与所述场景媒介子区域进行交互,
表示所述场景媒介子区域的几何属性的所述场景媒介数据元素包括值、距离、角度、点、矢量、平面、面元、体元和参考中的至少一个,以及
表示所述场景媒介子区域的材料属性的所述场景媒介数据元素包括值、梯度,双向反射分布函数(BRDF),双向光交互函数(BLIF)和参考中的至少一个。
25.如权利要求17所述的3D数字成像系统,其中:
所述场景光在至少一个平截头体中流动,
所述场景光通过包括吸收、发射、反射、透射和散射中的任何一种或任意组合的现象来与所述场景媒介交互,
表示所述平截头体的几何属性的所述场景光数据元素包括值、点、体元,方向、角度、矢量、立体角和参考中的至少一个,以及
表示所述平截头体的辐射属性的所述场景光数据元素包括值、梯度、辐射通量,辐射功率和参考中的至少一个。
26.如权利要求17所述的3D数字成像系统,其中:
所述场景媒介的几何特性中的至少一个形成八叉树,所述八叉树被细分为以空间分类和分层的方式组织的八叉树单元。
27.如权利要求26所述的3D数字成像系统,其中:
所述场景光的几何特性形成立体角八叉树,
在点处的方向细分为立体角元素,并且
所述立体角元素以空间分类和分层的方式进行组织。
28.如权利要求27所述的3D数字成像系统,还包括:至少部分地使用立体角八叉树来计算具有透视投影合成图像,其中,所述计算使用移位运算而不使用通用除法运算。
29.如权利要求28所述的3D数字成像系统,还包括:使用跨度来执行透视投影。
30.如权利要求29所述的3D数字成像系统,其中:
在所述合成图像的计算过程中,至少一个可排除的八叉树单元被排除在处理之外,
确定至少一个可排除的八叉树单元包括以下项中的任何一种或任意组合:i)使用四叉树或等效数据结构确定闭塞的八叉树单元,该四叉树或等效数据结构能够实现所述场景媒介的“从前到后”的遍历以访问闭塞;以及ii)使用窗口尺寸与在至少部分关于像素尺寸确定的合成图像计算中能够变化的尺寸的比较来确定较小尺寸的八叉树单元,其中,至少部分地关于在显示平面上的透视投影来确定所述窗口尺寸。
31.一种包含计算机程序指令的有形非易失性计算机程序存储介质,该计算机程序指令配置成在3D成像系统中执行时实现场景处理方法,所述场景处理方法包括:
采集在包括场景媒介的场景中流动的场景光的一个或多个所感测的数字图像,其中,(A)所述场景光在所述场景媒介中沿相反的方向流动,(B)通过位于一个或多个照相机姿势处的至少一个照相机感测所述所感测的数字图像,(C)所述所感测的数字图像包括表示所述场景光的特性的所感测的像素数据元素,并且(D)由所述场景媒介和/或所述场景光的至少一部分形成的场景实体包括场景特性,场景表面,场景特征和场景对象中的至少一个;和
使用(a)所述所感测的像素数据元素中的一个或多个,(b)一个或多个初始场景重建数据元素以及(c)表示以平衡状态流入、流出所述场景媒介的至少一部分或在所述场景媒介的至少一部分内的所述场景光的至少一部分的光传输方程式来确定一个或多个更新的场景重建数据元素,
其中,
场景重建数据元素包括:i)表示所述场景媒介的几何属性和材料属性的场景媒介数据元素;ii)表示所述场景光的几何属性和辐射属性的光数据元素;iii)表示所述照相机姿势和照相机模型的照相机数据元素,
初始场景重建数据元素是这样的场景重建数据元素:如果所述场景重建数据元素存在,则将其用作所述确定过程的输入,并且
更新的场景重建数据元素是从所述确定过程输出的场景重建数据元素。
32.如权利要求31所述的有形非易失性计算机程序存储介质,其中:
获取一个或多个所感测的数字图像包括捕获和/或访问一个或多个所感测的数字图像,
确定一个或多个更新的场景重建数据元素包括使用非线性优化和/或使用机器学习,以及
所述场景实体中的至少一个通过使用所述所感测的像素数据元素中的至少一个的所述场景重建数据元素中的至少一个来表示。
33.如权利要求32所述的有形非易失性计算机程序存储介质,其中,所执行的程序指令实现一种方法,该方法还包括:
访问至少一个用户标识的场景重建目标;
重复权利要求32的所述过程,直到满足场景重建目标为止;以及
生成表示至少以下项中的至少一个的输出数据:(aa)至少部分地与所述用户识别的目标相关联的至少一个场景实体;(bb)表示所述照相机姿势的至少一部分和所述照相机模型的至少一部分的至少一个照相机数据元素;以及(cc)表示所述照相机模型的至少一部分的至少一个照相机数据元素,其中所述输出数据至少部分地使用至少一个场景重建数据元素来确定。
34.如权利要求32所述的有形非易失性计算机程序存储介质,其中:
所感测的数字图像中的至少一个是由至少一个照相机感测的基本上全向的图像。
35.如权利要求32所述的有形非易失性计算机程序存储介质,其中,至少一个所述所感测的像素数据元素表示偏振光的多个特性,并且至少部分地使用偏振光的特性来确定所述场景重建数据元素中的至少一个。
36.如权利要求35所述的有形非易失性计算机程序存储介质,其中:
至少部分地使用偏振光的表示对偏振光敏感的至少一个空间定位的场景特征的特性来确定所述至少一个场景重建数据元素。
37.如权利要求36所述的有形非易失性计算机程序存储介质,其中,所述至少一个场景重建数据元素表示对偏振光敏感的所述至少一个空间定位的场景特征,并且至少部分地用于执行以下各项中的任一项或任意组合:
对跨越多个图像的场景特征进行标注,
图像记录,
场景初始化,以及
场景重建。
38.如权利要求35所述的有形非易失性计算机程序存储介质,其中:
所述场景表面是车辆表面,
所述场景特征是对车辆表面的损坏,所述损坏包括压痕、异常和碎片中的至少一种,以及
使用以下项的任何一种或任意组合来确定所述损坏的一个或多个特性:
所述场景重建数据元素中的至少一个,
关联的未损坏的车辆表面的3D模型,
非线性优化,以及
机器学习模型。
39.如权利要求32所述的有形非易失性计算机程序存储介质,其中:
所述场景媒介包括一个或多个体积场景媒介子区域,这些子区域包含同质的媒介或异质的媒介,
所述场景光通过包含吸收、发射、反射、透射和散射中的任何一种或任意组合的现象来与所述场景媒介子区域进行交互,
表示所述场景媒介子区域的几何属性的所述场景媒介数据元素包括值、距离、角度、点、矢量、平面、面元、体元和参考中的至少一个,以及
表示所述场景媒介子区域的材料属性的所述场景媒介数据元素包括值、梯度,双向反射分布函数(BRDF),双向光交互函数(BLIF)和参考中的至少一个。
40.如权利要求32所述的有形非易失性计算机程序存储介质,其中:
所述场景光在至少一个平截头体中流动,
所述场景光通过包括吸收、发射、反射、透射和散射中的任何一种或任意组合的现象来与所述场景媒介交互,
表示所述平截头体的几何属性的所述场景光数据元素包括值、点、体元,方向、角度、矢量、立体角和参考中的至少一个,以及
表示所述平截头体的辐射属性的所述场景光数据元素包括值、梯度、辐射通量,辐射功率和参考中的至少一个。
41.如权利要求32所述的有形非易失性计算机程序存储介质,其中:
所述场景媒介的几何特性中的至少一个形成八叉树,所述八叉树被细分为以空间分类和分层的方式组织的八叉树单元。
42.如权利要求41所述的有形非易失性计算机程序存储介质,其中:
所述场景光的几何特性形成立体角八叉树,
在点处的方向细分为立体角元素,并且
所述立体角元素以空间分类和分层的方式进行组织。
43.如权利要求42所述的有形非易失性计算机程序存储介质,还包括:至少部分地使用立体角八叉树来计算具有透视投影合成图像,其中,所述计算使用移位运算而不使用通用除法运算。
44.如权利要求43所述的有形非易失性计算机程序存储介质,还包括:使用跨度来执行透视投影。
45.如权利要求44所述的有形非易失性计算机程序存储介质,其中:
在所述合成图像的计算过程中,至少一个可排除的八叉树单元被排除在处理之外,
确定至少一个可排除的八叉树单元包括以下项中的任何一种或任意组合:i)使用四叉树或等效数据结构确定闭塞的八叉树单元,该四叉树或等效数据结构能够实现所述场景媒介的“从前到后”的遍历以访问闭塞;以及ii)使用窗口尺寸与在至少部分关于像素尺寸确定的合成图像计算中能够变化的尺寸的比较来确定较小尺寸的八叉树单元,其中,至少部分地关于在显示平面上的透视投影来确定所述窗口尺寸。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110078566.6A CN113014906B (zh) | 2016-04-12 | 2017-04-11 | 3d场景重建方法、系统及计算机程序存储介质 |
Applications Claiming Priority (17)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662321564P | 2016-04-12 | 2016-04-12 | |
US62/321,564 | 2016-04-12 | ||
US201662352379P | 2016-06-20 | 2016-06-20 | |
US62/352,379 | 2016-06-20 | ||
US201662371494P | 2016-08-05 | 2016-08-05 | |
US62/371,494 | 2016-08-05 | ||
US201662420797P | 2016-11-11 | 2016-11-11 | |
US62/420,797 | 2016-11-11 | ||
US201662427603P | 2016-11-29 | 2016-11-29 | |
US62/427,603 | 2016-11-29 | ||
US201662430804P | 2016-12-06 | 2016-12-06 | |
US62/430,804 | 2016-12-06 | ||
US201762456397P | 2017-02-08 | 2017-02-08 | |
US62/456,397 | 2017-02-08 | ||
CN202110078566.6A CN113014906B (zh) | 2016-04-12 | 2017-04-11 | 3d场景重建方法、系统及计算机程序存储介质 |
PCT/US2017/026994 WO2017180615A1 (en) | 2016-04-12 | 2017-04-11 | Quotidian scene reconstruction engine |
CN201780022473.3A CN109076148B (zh) | 2016-04-12 | 2017-04-11 | 日常场景重建引擎 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780022473.3A Division CN109076148B (zh) | 2016-04-12 | 2017-04-11 | 日常场景重建引擎 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113014906A CN113014906A (zh) | 2021-06-22 |
CN113014906B true CN113014906B (zh) | 2023-06-30 |
Family
ID=60042210
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780022473.3A Active CN109076148B (zh) | 2016-04-12 | 2017-04-11 | 日常场景重建引擎 |
CN202110078566.6A Active CN113014906B (zh) | 2016-04-12 | 2017-04-11 | 3d场景重建方法、系统及计算机程序存储介质 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780022473.3A Active CN109076148B (zh) | 2016-04-12 | 2017-04-11 | 日常场景重建引擎 |
Country Status (7)
Country | Link |
---|---|
US (4) | US10521952B2 (zh) |
EP (1) | EP3443735B1 (zh) |
JP (3) | JP6911045B2 (zh) |
CN (2) | CN109076148B (zh) |
AU (3) | AU2017250112B2 (zh) |
CA (2) | CA3018604C (zh) |
WO (1) | WO2017180615A1 (zh) |
Families Citing this family (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3057067B1 (en) * | 2015-02-16 | 2017-08-23 | Thomson Licensing | Device and method for estimating a glossy part of radiation |
WO2017116860A1 (en) | 2015-12-31 | 2017-07-06 | Unmanned Innovation, Inc. | Unmanned aerial vehicle rooftop inspection system |
US10257393B2 (en) | 2016-02-12 | 2019-04-09 | Contrast, Inc. | Devices and methods for high dynamic range video |
US10264196B2 (en) * | 2016-02-12 | 2019-04-16 | Contrast, Inc. | Systems and methods for HDR video capture with a mobile device |
WO2018022011A1 (en) * | 2016-07-26 | 2018-02-01 | Hewlett-Packard Development Company, L.P. | Indexing voxels for 3d printing |
US10554901B2 (en) | 2016-08-09 | 2020-02-04 | Contrast Inc. | Real-time HDR video for vehicle control |
CN108268120B (zh) * | 2016-12-29 | 2020-07-28 | 同方威视技术股份有限公司 | 基于vr或ar的图像数据处理方法、设备和安检系统 |
US10556585B1 (en) * | 2017-04-13 | 2020-02-11 | Panosense Inc. | Surface normal determination for LIDAR range samples by detecting probe pulse stretching |
US10809795B2 (en) | 2017-05-31 | 2020-10-20 | Occipital, Inc. | Six degree of freedom tracking with scale recovery and obstacle avoidance |
US10803561B2 (en) * | 2017-06-02 | 2020-10-13 | Wisconsin Alumni Research Foundation | Systems, methods, and media for hierarchical progressive point cloud rendering |
US10527711B2 (en) | 2017-07-10 | 2020-01-07 | Aurora Flight Sciences Corporation | Laser speckle system and method for an aircraft |
US11633268B2 (en) * | 2017-07-27 | 2023-04-25 | Align Technology, Inc. | Tooth shading, transparency and glazing |
WO2019045144A1 (ko) | 2017-08-31 | 2019-03-07 | (주)레벨소프트 | 의료용 항법 장치를 위한 의료 영상 처리 장치 및 의료 영상 처리 방법 |
GB2567245A (en) * | 2017-10-09 | 2019-04-10 | Nokia Technologies Oy | Methods and apparatuses for depth rectification processing |
US10803546B2 (en) * | 2017-11-03 | 2020-10-13 | Baidu Usa Llc | Systems and methods for unsupervised learning of geometry from images using depth-normal consistency |
US12108156B2 (en) | 2017-11-30 | 2024-10-01 | Ideaforge Technology Limited | System and method for acquiring images from an aerial vehicle for 2D/3D digital model generation |
US11375111B2 (en) * | 2017-11-30 | 2022-06-28 | Ideaforge Technology Pvt. Ltd. | Method for acquiring images having unidirectional distortion from an aerial vehicle for 3d image reconstruction |
US11441886B2 (en) | 2017-12-11 | 2022-09-13 | California Institute Of Technology | Wireless measurement of linear and angular velocity and acceleration, and position, range, and orientation, via weakly-coupled quasistatic magnetic fields |
JP7059076B2 (ja) * | 2018-03-30 | 2022-04-25 | キヤノン株式会社 | 画像処理装置、その制御方法、プログラム、記録媒体 |
WO2019191709A1 (en) * | 2018-03-30 | 2019-10-03 | Hulu, LLC | Reuse of block tree pattern in video compression |
JP7399879B2 (ja) * | 2018-05-02 | 2023-12-18 | クイッディエント・エルエルシー | ほとんど無制限のディテールを有するシーンを処理するためのコーデック |
US11861458B2 (en) * | 2018-08-21 | 2024-01-02 | Lyft, Inc. | Systems and methods for detecting and recording anomalous vehicle events |
EP3617999B1 (en) * | 2018-09-01 | 2023-04-19 | Tata Consultancy Services Limited | Systems and methods for dense surface reconstruction of an object using graph signal processing |
GB2578769B (en) | 2018-11-07 | 2022-07-20 | Advanced Risc Mach Ltd | Data processing systems |
US11006091B2 (en) | 2018-11-27 | 2021-05-11 | At&T Intellectual Property I, L.P. | Opportunistic volumetric video editing |
CN109862209B (zh) * | 2019-01-04 | 2021-02-26 | 中国矿业大学 | 一种基于光线逆追踪技术还原井下图像的方法 |
GB2583061B (en) * | 2019-02-12 | 2023-03-15 | Advanced Risc Mach Ltd | Data processing systems |
DE102019205962A1 (de) * | 2019-04-25 | 2020-10-29 | Robert Bosch Gmbh | Verfahren zur Generierung von digitalen Bildpaaren als Trainingsdaten für Neuronale Netze |
CN110047139B (zh) * | 2019-04-28 | 2022-07-08 | 南昌航空大学 | 一种指定目标三维重建方法及系统 |
US12155809B2 (en) * | 2019-06-20 | 2024-11-26 | At&T Intellectual Property I, L.P. | Processing system for streaming volumetric video to a client device |
US11686584B2 (en) * | 2019-08-07 | 2023-06-27 | California Institute Of Technology | 3D long-range through-the-wall magnetoquasistatic coupling and application to indoor position sensing |
KR20210029586A (ko) * | 2019-09-06 | 2021-03-16 | 엘지전자 주식회사 | 이미지 내의 특징적 객체에 기반하여 슬램을 수행하는 방법 및 이를 구현하는 로봇과 클라우드 서버 |
WO2021050042A1 (en) | 2019-09-09 | 2021-03-18 | Google Llc | Face authentication embedding migration and drift-compensation |
CN110549319B (zh) * | 2019-09-25 | 2021-11-02 | 中科新松有限公司 | 一种基于机器人末端指点示教的障碍物标定方法 |
WO2021061112A1 (en) | 2019-09-25 | 2021-04-01 | Google Llc | Gain control for face authentication |
US10984513B1 (en) | 2019-09-30 | 2021-04-20 | Google Llc | Automatic generation of all-in-focus images with a mobile camera |
CN112912931B (zh) | 2019-10-04 | 2024-12-06 | 谷歌有限责任公司 | 对使用近红外照明器的多个相机的自动校准 |
CN113544692B (zh) | 2019-10-10 | 2024-09-06 | 谷歌有限责任公司 | 用于面部认证的摄像头同步和图像标记 |
US11032486B2 (en) | 2019-10-11 | 2021-06-08 | Google Llc | Reducing a flicker effect of multiple light sources in an image |
CA3158124A1 (en) * | 2019-10-15 | 2021-04-22 | Alarm.Com Incorporated | Navigation using selected visual landmarks |
US11313892B2 (en) | 2019-11-05 | 2022-04-26 | California Institute Of Technology | Methods and systems for position and orientation sensing in non-line-of-sight environments using combined decoupled quasistatic magnetic and electric fields |
US11551344B2 (en) * | 2019-12-09 | 2023-01-10 | University Of Central Florida Research Foundation, Inc. | Methods of artificial intelligence-assisted infrastructure assessment using mixed reality systems |
CN113240768B (zh) * | 2019-12-18 | 2022-03-15 | 北京城市网邻信息技术有限公司 | 户型图处理方法、系统、装置和计算机可读存储介质 |
US12106501B2 (en) | 2020-01-09 | 2024-10-01 | JUC Holdings Limited | Subsurface imaging and display of 3D digital image and 3D image sequence |
US11917119B2 (en) | 2020-01-09 | 2024-02-27 | Jerry Nims | 2D image capture system and display of 3D digital image |
US12108015B2 (en) | 2020-01-09 | 2024-10-01 | JUC Holdings Limited | 2D digital image capture system, frame speed, and simulating 3D digital image sequence |
JP7591577B2 (ja) | 2020-01-29 | 2024-11-28 | イントリンジック イノベーション エルエルシー | 姿勢の検出および測定のためのシステムおよび方法 |
US11449004B2 (en) | 2020-05-21 | 2022-09-20 | Looking Glass Factory, Inc. | System and method for holographic image display |
US11415935B2 (en) | 2020-06-23 | 2022-08-16 | Looking Glass Factory, Inc. | System and method for holographic communication |
CN112258599B (zh) * | 2020-09-28 | 2025-03-07 | 上海连尚网络科技集团有限公司 | 一种在现场环境中构成图像矩阵的方法与设备 |
CN112446952B (zh) * | 2020-11-06 | 2024-01-26 | 杭州易现先进科技有限公司 | 三维点云法向量的生成方法、装置、电子设备及存储介质 |
US11574395B2 (en) * | 2020-11-25 | 2023-02-07 | Vehicle Service Group, Llc | Damage detection using machine learning |
WO2022119940A1 (en) * | 2020-12-01 | 2022-06-09 | Looking Glass Factory, Inc. | System and method for processing three dimensional images |
EP4030267A1 (de) * | 2021-01-15 | 2022-07-20 | Synthetic Dimension GmbH | Computerassistiertes verfahren zur aufnahme von 3d-tiefendaten, mobiles datenverarbeitungsgerät, und computerprogrammprodukt |
US11094042B1 (en) * | 2021-03-12 | 2021-08-17 | Flyreel, Inc. | Face detection and blurring methods and systems |
CN112950750B (zh) * | 2021-03-18 | 2023-12-08 | 中国科学院西安光学精密机械研究所 | 基于编码掩模与Learned-TSVD算法的无镜头相机图像重建方法 |
CN113205585B (zh) * | 2021-03-25 | 2023-04-28 | 浙江大学 | 动态物体互反射效果绘制方法、装置、系统和存储介质 |
JP2022182119A (ja) * | 2021-05-27 | 2022-12-08 | キヤノン株式会社 | 画像処理装置およびその制御方法、プログラム |
US12256141B2 (en) | 2021-05-28 | 2025-03-18 | Jerry Nims | 2D digital image capture system and simulating 3D digital image and sequence |
CN113554115B (zh) * | 2021-08-12 | 2022-09-13 | 同济大学 | 一种基于不确定学习的三维模型草图检索方法 |
CN113674375B (zh) * | 2021-08-19 | 2023-10-27 | 北京航空航天大学 | 一种用于半透明材质渲染的次表面散射计算方法 |
CN113792357B (zh) * | 2021-09-09 | 2023-09-05 | 重庆大学 | 树木生长模型构建方法及计算机存储介质 |
CN113780450B (zh) * | 2021-09-16 | 2023-07-28 | 郑州云智信安安全技术有限公司 | 基于自编码神经网络的分布式存储方法及系统 |
CN114549614B (zh) * | 2021-12-21 | 2024-11-05 | 北京大学 | 基于深度学习的数字体积相关方法、装置、设备及介质 |
CN114238537B (zh) * | 2021-12-22 | 2022-11-22 | 中大智能科技股份有限公司 | 房屋普查数据分组处理方法及系统 |
US12033218B2 (en) | 2022-01-31 | 2024-07-09 | Vehicle Service Group, Llc | Assessing damages on vehicles |
CN118901083A (zh) | 2022-03-07 | 2024-11-05 | 奎蒂安特有限公司 | 用于广义场景重建的系统和方法 |
US12243167B2 (en) * | 2022-04-27 | 2025-03-04 | Snap Inc. | Three-dimensional mapping using disparate visual datasets |
TWI847355B (zh) * | 2022-10-06 | 2024-07-01 | 杜宇威 | 三維模型的重建方法及運算裝置 |
CN116088585B (zh) * | 2023-04-07 | 2023-06-13 | 中国民用航空飞行学院 | 基于匈牙利算法的多无人机起降次序规划系统和方法 |
CN117671011B (zh) * | 2024-01-31 | 2024-05-28 | 山东大学 | 基于改进orb算法的agv定位精度提升方法及系统 |
CN119131285A (zh) * | 2024-08-08 | 2024-12-13 | 珠海康晋电气股份有限公司 | 一种基于Web端的三维场景搭建及实现系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102918466A (zh) * | 2010-04-01 | 2013-02-06 | 视瑞尔技术公司 | 用于在全息系统中编码包含透明物体的三维场景的方法和装置 |
US8749620B1 (en) * | 2010-02-20 | 2014-06-10 | Lytro, Inc. | 3D light field cameras, images and files, and methods of using, operating, processing and viewing same |
CN104463949A (zh) * | 2014-10-24 | 2015-03-25 | 郑州大学 | 一种基于光场数字重聚焦的快速三维重建方法及其系统 |
Family Cites Families (174)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4694404A (en) | 1984-01-12 | 1987-09-15 | Key Bank N.A. | High-speed image generation of complex solid objects using octree encoding |
US5839112A (en) | 1994-12-28 | 1998-11-17 | Automatic Data Processing | Method and apparatus for displaying and selecting vehicle parts |
US6123733A (en) * | 1996-11-27 | 2000-09-26 | Voxel, Inc. | Method and apparatus for rapidly evaluating digital data processing parameters |
US6259452B1 (en) * | 1997-04-14 | 2001-07-10 | Massachusetts Institute Of Technology | Image drawing system and method with real-time occlusion culling |
US6097394A (en) | 1997-04-28 | 2000-08-01 | Board Of Trustees, Leland Stanford, Jr. University | Method and system for light field rendering |
US6363170B1 (en) | 1998-04-30 | 2002-03-26 | Wisconsin Alumni Research Foundation | Photorealistic scene reconstruction by voxel coloring |
US6373487B1 (en) | 1999-09-17 | 2002-04-16 | Hewlett-Packard Company | Methods and apparatus for constructing a 3D model of a scene from calibrated images of the scene |
US6879946B2 (en) | 1999-11-30 | 2005-04-12 | Pattern Discovery Software Systems Ltd. | Intelligent modeling, transformation and manipulation system |
US6738533B1 (en) | 2000-03-29 | 2004-05-18 | Microsoft Corporation | Minimum sampling rate and minimum sampling curve for image-based rendering |
US6677957B2 (en) | 2001-01-09 | 2004-01-13 | Intel Corporation | Hardware-accelerated visualization of surface light fields |
JP2004521423A (ja) * | 2001-03-12 | 2004-07-15 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 8分木を用いた多数の画像からの3次元表現の生成 |
US6831643B2 (en) | 2001-04-16 | 2004-12-14 | Lucent Technologies Inc. | Method and system for reconstructing 3D interactive walkthroughs of real-world environments |
US6914600B2 (en) * | 2001-06-26 | 2005-07-05 | Hewlett-Packard Development Company, L.P. | Volumetric warping for voxel coloring on an infinite domain |
US6980935B2 (en) * | 2001-07-31 | 2005-12-27 | Schlumberger Technology Corp. | Method, apparatus and system for constructing and maintaining scenegraphs for interactive feature-based geoscience geometric modeling |
EP1554623A2 (en) | 2001-12-19 | 2005-07-20 | Actuality Systems, Inc. | A radiation conditioning system |
JP3962588B2 (ja) * | 2002-01-07 | 2007-08-22 | キヤノン株式会社 | 三次元画像処理方法、三次元画像処理装置、三次元画像処理システムおよび三次元画像処理プログラム |
JP2003331318A (ja) * | 2002-05-14 | 2003-11-21 | Fujitsu Ltd | 物体データ生成装置 |
US6831641B2 (en) * | 2002-06-17 | 2004-12-14 | Mitsubishi Electric Research Labs, Inc. | Modeling and rendering of surface reflectance fields of 3D objects |
US7129943B2 (en) | 2002-11-15 | 2006-10-31 | Microsoft Corporation | System and method for feature-based light field morphing and texture transfer |
US7859530B2 (en) * | 2003-04-30 | 2010-12-28 | Pixar | Subsurface rendering methods and apparatus |
WO2005086766A2 (en) | 2004-03-05 | 2005-09-22 | Actuality Systems, Inc | Optical systems for generating three-dimensional images |
US7633511B2 (en) | 2004-04-01 | 2009-12-15 | Microsoft Corporation | Pop-up light field |
US7292257B2 (en) * | 2004-06-28 | 2007-11-06 | Microsoft Corporation | Interactive viewpoint video system and process |
US7843449B2 (en) * | 2006-09-20 | 2010-11-30 | Apple Inc. | Three-dimensional display system |
US7916934B2 (en) | 2006-04-04 | 2011-03-29 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for acquiring, encoding, decoding and displaying 3D light fields |
US8237708B2 (en) | 2006-08-18 | 2012-08-07 | William Edward Mantzel | Data structure representing a plenoptic function via compressible layered orthographic projections from multiple orientations |
ES2372515B2 (es) | 2008-01-15 | 2012-10-16 | Universidad De La Laguna | Cámara para la adquisición en tiempo real de la información visual de escenas tridimensionales. |
US9094675B2 (en) | 2008-02-29 | 2015-07-28 | Disney Enterprises Inc. | Processing image data from multiple cameras for motion pictures |
US8243071B2 (en) | 2008-02-29 | 2012-08-14 | Microsoft Corporation | Modeling and rendering of heterogeneous translucent materials using the diffusion equation |
US8437537B2 (en) | 2009-03-27 | 2013-05-07 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for estimating 3D pose of specular objects |
US8547374B1 (en) * | 2009-07-24 | 2013-10-01 | Lockheed Martin Corporation | Detection and reconstruction of 3D objects with passive imaging sensors |
HU0900478D0 (en) | 2009-07-31 | 2009-09-28 | Holografika Hologrameloeallito | Method and apparatus for displaying 3d images |
US8497934B2 (en) | 2009-11-25 | 2013-07-30 | Massachusetts Institute Of Technology | Actively addressable aperture light field camera |
WO2011071929A2 (en) | 2009-12-07 | 2011-06-16 | Photon-X, Inc. | 3d visualization system |
US8860833B2 (en) | 2010-03-03 | 2014-10-14 | Adobe Systems Incorporated | Blended rendering of focused plenoptic camera data |
KR101756910B1 (ko) | 2010-05-11 | 2017-07-26 | 삼성전자주식회사 | 감쇠 패턴을 포함하는 마스크를 이용한 광 필드 영상 처리 장치 및 방법 |
US9508191B2 (en) * | 2010-07-23 | 2016-11-29 | Pacific Data Images Llc | Optimal point density using camera proximity for point-based global illumination |
US8659597B2 (en) | 2010-09-27 | 2014-02-25 | Intel Corporation | Multi-view ray tracing using edge detection and shader reuse |
EP2630543B1 (en) | 2010-10-18 | 2019-10-09 | Reach3D Medical LLC. | A STEREOSCOPIC OPTIC Adapter |
KR101670927B1 (ko) | 2010-11-05 | 2016-11-01 | 삼성전자주식회사 | 디스플레이 장치 및 방법 |
US9146403B2 (en) | 2010-12-01 | 2015-09-29 | Massachusetts Institute Of Technology | Content-adaptive parallax barriers for automultiscopic display |
CN106774880B (zh) | 2010-12-22 | 2020-02-21 | Z空间股份有限公司 | 用户控制装置的在空间中的三维跟踪 |
KR101675961B1 (ko) | 2010-12-29 | 2016-11-14 | 삼성전자주식회사 | 적응적 부화소 렌더링 장치 및 방법 |
US8643684B2 (en) | 2011-01-18 | 2014-02-04 | Disney Enterprises, Inc. | Multi-layer plenoptic displays that combine multiple emissive and light modulating planes |
US9179134B2 (en) | 2011-01-18 | 2015-11-03 | Disney Enterprises, Inc. | Multi-layer plenoptic displays that combine multiple emissive and light modulating planes |
JP5331838B2 (ja) | 2011-02-25 | 2013-10-30 | 株式会社東芝 | 固体撮像装置および携帯情報端末 |
WO2013002808A1 (en) | 2011-06-30 | 2013-01-03 | Hewlett-Packard Development Company, L.P. | Glasses-free 3d display for multiple viewers with a resonant subwavelength lens layer |
US8432435B2 (en) * | 2011-08-10 | 2013-04-30 | Seiko Epson Corporation | Ray image modeling for fast catadioptric light field rendering |
CN103119516B (zh) | 2011-09-20 | 2016-09-07 | 松下知识产权经营株式会社 | 光场摄像装置和图像处理装置 |
US8542933B2 (en) | 2011-09-28 | 2013-09-24 | Pelican Imaging Corporation | Systems and methods for decoding light field image files |
US9165401B1 (en) | 2011-10-24 | 2015-10-20 | Disney Enterprises, Inc. | Multi-perspective stereoscopy from light fields |
US9113043B1 (en) | 2011-10-24 | 2015-08-18 | Disney Enterprises, Inc. | Multi-perspective stereoscopy from light fields |
JP6019568B2 (ja) | 2011-11-28 | 2016-11-02 | ソニー株式会社 | 画像処理装置および方法、記録媒体、並びに、プログラム |
US8651678B2 (en) | 2011-11-29 | 2014-02-18 | Massachusetts Institute Of Technology | Polarization fields for dynamic light field display |
KR101953686B1 (ko) | 2011-11-30 | 2019-05-23 | 삼성전자주식회사 | 부화소를 렌더링하는 영상 처리 장치 및 방법 |
US8971612B2 (en) * | 2011-12-15 | 2015-03-03 | Microsoft Corporation | Learning image processing tasks from scene reconstructions |
EP2605217B8 (en) | 2011-12-16 | 2018-10-24 | InterDigital Madison Patent Holdings | Method for modelling a 3D scene and corresponding device |
US20130222369A1 (en) | 2012-02-23 | 2013-08-29 | Charles D. Huston | System and Method for Creating an Environment and for Sharing a Location Based Experience in an Environment |
US9179126B2 (en) | 2012-06-01 | 2015-11-03 | Ostendo Technologies, Inc. | Spatio-temporal light field cameras |
US9201270B2 (en) | 2012-06-01 | 2015-12-01 | Leia Inc. | Directional backlight with a modulation layer |
US8805057B2 (en) | 2012-07-31 | 2014-08-12 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for generating structured light with spatio-temporal patterns for 3D scene reconstruction |
US9860522B2 (en) | 2012-08-04 | 2018-01-02 | Paul Lapstun | Head-mounted light field display |
US9841563B2 (en) | 2012-08-04 | 2017-12-12 | Paul Lapstun | Shuttered waveguide light field display |
US8754829B2 (en) | 2012-08-04 | 2014-06-17 | Paul Lapstun | Scanning light field camera and display |
EP3869797B1 (en) | 2012-08-21 | 2023-07-19 | Adeia Imaging LLC | Method for depth detection in images captured using array cameras |
WO2014043735A1 (en) * | 2012-09-21 | 2014-03-27 | Euclideon Pty Ltd | A computer graphics method for rendering three dimensional scenes |
CN104685860A (zh) | 2012-09-28 | 2015-06-03 | 派力肯影像公司 | 利用虚拟视点从光场生成图像 |
US9894269B2 (en) | 2012-10-31 | 2018-02-13 | Atheer, Inc. | Method and apparatus for background subtraction using focus differences |
US9667846B2 (en) | 2012-11-27 | 2017-05-30 | Nokia Technologies Oy | Plenoptic camera apparatus, a method and a computer program |
US9720245B2 (en) | 2012-11-27 | 2017-08-01 | Disney Enterprises, Inc. | Content-adaptive lenticular prints |
US9092890B2 (en) | 2012-12-20 | 2015-07-28 | Ricoh Company, Ltd. | Occlusion-aware reconstruction of three-dimensional scenes from light field images |
US9857470B2 (en) * | 2012-12-28 | 2018-01-02 | Microsoft Technology Licensing, Llc | Using photometric stereo for 3D environment modeling |
US20140201022A1 (en) * | 2013-01-16 | 2014-07-17 | Andre Balzer | Vehicle damage processing and information system |
US9947128B2 (en) * | 2013-01-29 | 2018-04-17 | Andrew Robert Korb | Methods for improving accuracy, analyzing change detection, and performing data compression for multiple images |
KR102049456B1 (ko) | 2013-04-05 | 2019-11-27 | 삼성전자주식회사 | 광 필드 영상을 생성하는 방법 및 장치 |
US9405124B2 (en) | 2013-04-09 | 2016-08-02 | Massachusetts Institute Of Technology | Methods and apparatus for light field projection |
US9836879B2 (en) | 2013-04-16 | 2017-12-05 | Autodesk, Inc. | Mesh skinning technique |
US9786062B2 (en) | 2013-05-06 | 2017-10-10 | Disney Enterprises, Inc. | Scene reconstruction from high spatio-angular resolution light fields |
US9412172B2 (en) * | 2013-05-06 | 2016-08-09 | Disney Enterprises, Inc. | Sparse light field representation |
US9767580B2 (en) | 2013-05-23 | 2017-09-19 | Indiana University Research And Technology Corporation | Apparatuses, methods, and systems for 2-dimensional and 3-dimensional rendering and display of plenoptic images |
US10027947B2 (en) | 2013-06-05 | 2018-07-17 | Sony Corporation | Image processing apparatus and image processing method |
US9984498B2 (en) | 2013-07-17 | 2018-05-29 | Microsoft Technology Licensing, Llc | Sparse GPU voxelization for 3D surface reconstruction |
US9797715B2 (en) | 2013-07-23 | 2017-10-24 | Landau Gage, Inc. | Gage for verifying profile of part and method of verifying profile of part |
US9880325B2 (en) | 2013-08-14 | 2018-01-30 | Nvidia Corporation | Hybrid optics for near-eye displays |
US9237338B1 (en) | 2013-10-14 | 2016-01-12 | Simulated Percepts, Llc | Apparatus for image display with multi-focal length progressive lens or multiple discrete lenses each having different fixed focal lengths or a variable focal length |
US9569853B2 (en) | 2013-10-25 | 2017-02-14 | Ricoh Company, Ltd. | Processing of light fields by transforming to scale and depth space |
US10242400B1 (en) * | 2013-10-25 | 2019-03-26 | Appliance Computing III, Inc. | User interface for image-based rendering of virtual tours |
US9460515B2 (en) | 2013-10-25 | 2016-10-04 | Ricoh Co., Ltd. | Processing of light fields by transforming to scale and depth space |
KR102156402B1 (ko) | 2013-11-05 | 2020-09-16 | 삼성전자주식회사 | 영상 처리 방법 및 장치 |
US9390505B2 (en) | 2013-12-12 | 2016-07-12 | Qualcomm Incorporated | Method and apparatus for generating plenoptic depth maps |
JP6452360B2 (ja) | 2013-12-19 | 2019-01-16 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理方法およびプログラム |
US9576188B2 (en) | 2013-12-23 | 2017-02-21 | Atheer, Inc. | Method and apparatus for subject identification |
US10397545B2 (en) | 2013-12-23 | 2019-08-27 | University Of Deleware | 3-D light field camera and photography method |
US10244223B2 (en) | 2014-01-10 | 2019-03-26 | Ostendo Technologies, Inc. | Methods for full parallax compressed light field 3D imaging systems |
US9478036B2 (en) | 2014-04-14 | 2016-10-25 | Nokia Technologies Oy | Method, apparatus and computer program product for disparity estimation of plenoptic images |
EP2933779A1 (en) * | 2014-04-15 | 2015-10-21 | Alcatel Lucent | Capturing an environment with objects |
JP6463900B2 (ja) | 2014-04-17 | 2019-02-06 | キヤノン株式会社 | 画像符号化装置及びその制御方法 |
US20150305612A1 (en) * | 2014-04-23 | 2015-10-29 | Mark Hunter | Apparatuses and methods for registering a real-time image feed from an imaging device to a steerable catheter |
US9843787B2 (en) | 2014-04-24 | 2017-12-12 | Qualcomm Incorporated | Generation and use of a 3D radon image |
WO2015167739A1 (en) * | 2014-04-30 | 2015-11-05 | Replay Technologies Inc. | System for and method of generating user-selectable novel views on a viewing device |
US8988317B1 (en) | 2014-06-12 | 2015-03-24 | Lytro, Inc. | Depth determination for light field images |
US9888229B2 (en) | 2014-06-23 | 2018-02-06 | Ricoh Company, Ltd. | Disparity estimation for multiview imaging systems |
US20150373320A1 (en) * | 2014-06-24 | 2015-12-24 | Photon-X | Visual cognition system |
US9769392B1 (en) * | 2014-06-27 | 2017-09-19 | Amazon Technologies, Inc. | Imaging system for addressing specular reflection |
US10169909B2 (en) * | 2014-08-07 | 2019-01-01 | Pixar | Generating a volumetric projection for an object |
US9892548B2 (en) * | 2014-08-08 | 2018-02-13 | Nvidia Corporation | Lighting simulation analysis using light path expressions |
TWI531215B (zh) | 2014-09-10 | 2016-04-21 | 台達電子工業股份有限公司 | 編碼光源與應用其之光場投影裝置 |
JP6385241B2 (ja) | 2014-10-27 | 2018-09-05 | キヤノン株式会社 | 画像処理装置、画像処理方法およびプログラム |
US10356317B2 (en) | 2014-10-30 | 2019-07-16 | Technion Research & Development Foundation Limited | Wide-scale terrestrial light-field imaging of the sky |
US10176592B2 (en) | 2014-10-31 | 2019-01-08 | Fyusion, Inc. | Multi-directional structured image array capture on a 2D graph |
US10275935B2 (en) | 2014-10-31 | 2019-04-30 | Fyusion, Inc. | System and method for infinite synthetic image generation from multi-directional structured image array |
EP3016076A1 (en) | 2014-10-31 | 2016-05-04 | Thomson Licensing | Method and apparatus for removing outliers from a main view of a scene during 3D scene reconstruction |
CN104410784B (zh) | 2014-11-06 | 2019-08-06 | 北京智谷技术服务有限公司 | 光场采集控制方法和装置 |
EP3026629A1 (en) | 2014-11-26 | 2016-06-01 | Thomson Licensing | Method and apparatus for estimating depth of focused plenoptic data |
EP3026884A1 (en) | 2014-11-27 | 2016-06-01 | Thomson Licensing | Plenoptic camera comprising a light emitting device |
ES2578356B1 (es) | 2014-12-22 | 2017-08-04 | Universidad De La Laguna | Método para determinar la amplitud compleja del campo electromagnético asociado a una escena |
KR101844883B1 (ko) | 2014-12-23 | 2018-04-03 | 메타 컴퍼니 | 관심 객체의 임의의 깊이에 있는 동일한 평면으로 시각적 조절과 시각적 수렴을 결합시키는 장치, 방법 및 시스템 |
US9536320B1 (en) | 2014-12-23 | 2017-01-03 | John H. Prince | Multiple coordinated detectors for examination and ranging |
US9797716B2 (en) | 2015-01-09 | 2017-10-24 | Ricoh Company, Ltd. | Estimating surface properties using a plenoptic camera |
WO2016135451A1 (en) | 2015-02-25 | 2016-09-01 | Bae Systems Plc | An image processing method and apparatus for determining depth within an image |
TWI572906B (zh) | 2015-02-25 | 2017-03-01 | 台達電子工業股份有限公司 | 立體光場建立裝置 |
JP6626257B2 (ja) | 2015-03-03 | 2019-12-25 | キヤノン株式会社 | 画像表示装置、撮像装置、画像表示方法、プログラム、記憶媒体 |
US9544514B2 (en) | 2015-03-06 | 2017-01-10 | Ricoh Company, Ltd. | Automatic adjustment of light field imaging systems for resolution enhancement |
EP3070942B1 (en) | 2015-03-17 | 2023-11-22 | InterDigital CE Patent Holdings | Method and apparatus for displaying light field video data |
US9906759B2 (en) | 2015-04-09 | 2018-02-27 | Qualcomm Incorporated | Combined processing and display device package for light field displays |
US9693038B2 (en) | 2015-04-21 | 2017-06-27 | Hand Held Products, Inc. | Systems and methods for imaging |
JP7036599B2 (ja) | 2015-04-23 | 2022-03-15 | オステンド・テクノロジーズ・インコーポレーテッド | 奥行き情報を用いて全方向視差を圧縮したライトフィールドを合成する方法 |
US10373366B2 (en) | 2015-05-14 | 2019-08-06 | Qualcomm Incorporated | Three-dimensional model generation |
GB2538751A (en) | 2015-05-27 | 2016-11-30 | Imp College Of Science Tech And Medicine | Modelling a three-dimensional space |
US9646410B2 (en) | 2015-06-30 | 2017-05-09 | Microsoft Technology Licensing, Llc | Mixed three dimensional scene reconstruction from plural surface models |
US9798894B2 (en) | 2015-07-02 | 2017-10-24 | Xerox Corporation | Secure computer display using inverse computational light field displays |
CN105139445B (zh) | 2015-08-03 | 2018-02-13 | 百度在线网络技术(北京)有限公司 | 场景重建方法及装置 |
KR102415502B1 (ko) | 2015-08-07 | 2022-07-01 | 삼성전자주식회사 | 복수의 사용자를 위한 라이트 필드 렌더링 방법 및 장치 |
EP3131292B1 (en) | 2015-08-14 | 2022-06-15 | InterDigital CE Patent Holdings | Plenoptic camera comprising a shuffled color filter array |
US9557741B1 (en) | 2015-08-24 | 2017-01-31 | Ford Global Technologies, Llc | System and method for autonomous valet parking using plenoptic cameras |
US9955861B2 (en) | 2015-10-16 | 2018-05-01 | Ricoh Company, Ltd. | Construction of an individual eye model using a plenoptic camera |
EP3371691A4 (en) * | 2015-11-03 | 2019-06-12 | President and Fellows of Harvard College | SYSTEMS AND METHOD FOR PROCESSING SPATIALLY ASSOCIATED SEQUENCE DATA FROM A SEQUENCING DEVICE |
US10217292B2 (en) | 2015-11-25 | 2019-02-26 | Intel Corporation | 3D scene reconstruction using shared semantic knowledge |
DE102015121403A1 (de) | 2015-12-09 | 2017-06-14 | Carl Zeiss Microscopy Gmbh | Lichtfeld-bildgebung mit scanoptik |
US9741163B2 (en) | 2015-12-22 | 2017-08-22 | Raytheon Company | 3-D polarimetric imaging using a microfacet scattering model to compensate for structured scene reflections |
US10244227B2 (en) | 2015-12-22 | 2019-03-26 | Google Llc | Capture and render of virtual reality content employing a light field camera array |
US9952422B2 (en) | 2016-01-14 | 2018-04-24 | University Of Vienna | Enhancing the resolution of three dimensional video images formed using a light field microscope |
CN106254859B (zh) | 2016-01-18 | 2018-04-13 | 北京智谷睿拓技术服务有限公司 | 光场显示控制方法和装置、光场显示设备 |
US10429639B2 (en) | 2016-01-31 | 2019-10-01 | Paul Lapstun | Head-mounted light field display |
TWI614533B (zh) | 2016-02-01 | 2018-02-11 | 群睿股份有限公司 | 立體顯示裝置 |
US10194139B2 (en) | 2016-02-22 | 2019-01-29 | Ricoh Company, Ltd. | Disparity-to-depth calibration for plenoptic imaging systems |
US10136116B2 (en) | 2016-03-07 | 2018-11-20 | Ricoh Company, Ltd. | Object segmentation from light field data |
US10055867B2 (en) | 2016-04-25 | 2018-08-21 | Qualcomm Incorporated | Accelerated light field display |
US10257490B2 (en) | 2016-04-28 | 2019-04-09 | Verizon Patent And Licensing Inc. | Methods and systems for creating and providing a real-time volumetric representation of a real-world event |
CN107347129B (zh) | 2016-05-05 | 2020-02-14 | 中强光电股份有限公司 | 光场相机 |
US10877210B2 (en) * | 2016-07-15 | 2020-12-29 | Light Field Lab, Inc. | Energy propagation and transverse anderson localization with two-dimensional, light field and holographic relays |
EP3293959A1 (en) | 2016-09-07 | 2018-03-14 | Thomson Licensing | Plenoptic imaging device equipped with an enhanced optical system |
US10339716B1 (en) | 2016-09-19 | 2019-07-02 | Occipital, Inc. | System and method for dense, large scale scene reconstruction |
CN110286388B (zh) * | 2016-09-20 | 2020-11-03 | 创新科技有限公司 | 激光雷达系统和使用其检测物体的方法及介质 |
US10019831B2 (en) | 2016-10-20 | 2018-07-10 | Zspace, Inc. | Integrating real world conditions into virtual imagery |
KR102647969B1 (ko) | 2016-10-28 | 2024-03-18 | 삼성디스플레이 주식회사 | 광 필드 표시 장치 및 이의 제조 방법 |
US10887581B2 (en) | 2016-11-11 | 2021-01-05 | Disney Enterprises, Inc. | Object reconstruction from dense light fields via depth from gradients |
US10169910B2 (en) * | 2016-11-18 | 2019-01-01 | Disney Enterprises, Inc. | Efficient rendering of heterogeneous polydisperse granular media |
US10509153B2 (en) * | 2016-11-29 | 2019-12-17 | Akonia Holographics Llc | Input coupling |
WO2018107150A1 (en) | 2016-12-09 | 2018-06-14 | Applied Materials, Inc. | Collimated led light field display |
US10120442B2 (en) | 2016-12-21 | 2018-11-06 | Oculus Vr, Llc | Eye tracking using a light field camera on a head-mounted display |
US10417781B1 (en) | 2016-12-30 | 2019-09-17 | X Development Llc | Automated data capture |
US10893262B2 (en) * | 2017-02-07 | 2021-01-12 | Siemens Healthcare Gmbh | Lightfield rendering based on depths from physically-based volume rendering |
US10254846B1 (en) | 2017-03-15 | 2019-04-09 | Meta Company | Systems and methods to facilitate interactions with virtual content in an augmented reality environment |
US10306212B2 (en) | 2017-03-31 | 2019-05-28 | Verizon Patent And Licensing Inc. | Methods and systems for capturing a plurality of three-dimensional sub-frames for use in forming a volumetric frame of a real-world scene |
US10332269B2 (en) | 2017-06-23 | 2019-06-25 | Ricoh Company, Ltd. | Color correction of preview images for plenoptic imaging systems |
US20190072897A1 (en) * | 2017-08-14 | 2019-03-07 | Open Water, Inc. | Applications of diffuse medium imaging |
US10230911B1 (en) | 2017-08-29 | 2019-03-12 | Ricoh Company, Ltd | Preview generation for plenoptic imaging systems |
US10460427B2 (en) | 2017-11-22 | 2019-10-29 | The Government Of The United States Of America, As Represented By The Secretary Of The Navy | Converting imagery and charts to polar projection |
US10354451B2 (en) | 2017-11-29 | 2019-07-16 | Siemens Healthcare Gmbh | Exploration of medical visualization parameters in virtual spaces |
US10375378B2 (en) | 2017-12-12 | 2019-08-06 | Black Sesame International Holding Limited | Dual camera system for real-time depth map generation |
US10424106B1 (en) | 2018-03-09 | 2019-09-24 | Steven Scott Glazer | Scalable computer image synthesis |
US10262451B1 (en) | 2018-04-09 | 2019-04-16 | 8i Limited | View-dependent color compression |
CN115769266A (zh) * | 2020-04-27 | 2023-03-07 | 阿瓦龙全息照相技术股份公司 | 光场体积渲染系统和方法 |
-
2017
- 2017-04-11 US US16/089,064 patent/US10521952B2/en active Active
- 2017-04-11 CN CN201780022473.3A patent/CN109076148B/zh active Active
- 2017-04-11 JP JP2018552040A patent/JP6911045B2/ja active Active
- 2017-04-11 CA CA3018604A patent/CA3018604C/en active Active
- 2017-04-11 EP EP17782971.0A patent/EP3443735B1/en active Active
- 2017-04-11 CN CN202110078566.6A patent/CN113014906B/zh active Active
- 2017-04-11 CA CA3214444A patent/CA3214444A1/en active Pending
- 2017-04-11 AU AU2017250112A patent/AU2017250112B2/en active Active
- 2017-04-11 WO PCT/US2017/026994 patent/WO2017180615A1/en active Application Filing
-
2019
- 2019-11-14 US US16/684,231 patent/US11508115B2/en active Active
-
2020
- 2020-12-17 AU AU2020289841A patent/AU2020289841B2/en active Active
-
2021
- 2021-07-07 JP JP2021112809A patent/JP7413321B2/ja active Active
-
2022
- 2022-10-18 US US17/968,644 patent/US20230059839A1/en not_active Abandoned
-
2023
- 2023-04-03 AU AU2023202040A patent/AU2023202040A1/en active Pending
- 2023-12-27 JP JP2023221354A patent/JP2024041815A/ja active Pending
-
2024
- 2024-01-25 US US18/422,754 patent/US20240169658A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8749620B1 (en) * | 2010-02-20 | 2014-06-10 | Lytro, Inc. | 3D light field cameras, images and files, and methods of using, operating, processing and viewing same |
CN102918466A (zh) * | 2010-04-01 | 2013-02-06 | 视瑞尔技术公司 | 用于在全息系统中编码包含透明物体的三维场景的方法和装置 |
CN104463949A (zh) * | 2014-10-24 | 2015-03-25 | 郑州大学 | 一种基于光场数字重聚焦的快速三维重建方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
US11508115B2 (en) | 2022-11-22 |
CN109076148B (zh) | 2021-02-05 |
US20190130630A1 (en) | 2019-05-02 |
CN109076148A (zh) | 2018-12-21 |
CA3018604C (en) | 2023-11-07 |
AU2020289841A1 (en) | 2021-01-28 |
JP2021182404A (ja) | 2021-11-25 |
AU2020289841B2 (en) | 2023-01-05 |
US20230059839A1 (en) | 2023-02-23 |
US10521952B2 (en) | 2019-12-31 |
AU2017250112B2 (en) | 2020-09-17 |
US20240169658A1 (en) | 2024-05-23 |
JP2024041815A (ja) | 2024-03-27 |
AU2017250112A1 (en) | 2018-10-18 |
CA3018604A1 (en) | 2017-10-19 |
WO2017180615A1 (en) | 2017-10-19 |
CN113014906A (zh) | 2021-06-22 |
CA3214444A1 (en) | 2017-10-19 |
EP3443735B1 (en) | 2024-09-18 |
AU2023202040A1 (en) | 2023-05-04 |
JP7413321B2 (ja) | 2024-01-15 |
JP6911045B2 (ja) | 2021-07-28 |
EP3443735A1 (en) | 2019-02-20 |
JP2019518268A (ja) | 2019-06-27 |
EP3443735A4 (en) | 2019-12-11 |
US20200082597A1 (en) | 2020-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113014906B (zh) | 3d场景重建方法、系统及计算机程序存储介质 | |
Ihrke et al. | Transparent and specular object reconstruction | |
KR20240160160A (ko) | 일반화된 장면 재구성을 위한 시스템 및 방법 | |
US11276244B2 (en) | Fixing holes in a computer generated model of a real-world environment | |
CN105900143B (zh) | 从图像确定镜面反射性 | |
Deng et al. | Reconstructing translucent objects using differentiable rendering | |
US20120299921A1 (en) | Directing indirect illumination to visibly influenced scene regions | |
Bistacchi et al. | Digital outcrop model reconstruction and interpretation | |
CN117765172A (zh) | 一种遥感图像三维重建的方法及装置 | |
Eapen et al. | Narpa: Navigation and rendering pipeline for astronautics | |
Marchand et al. | Evaluating surface mesh reconstruction of open scenes | |
Meister | On creating reference data for performance analysis in image processing | |
Guarnera et al. | BxDF material acquisition, representation, and rendering for VR and design | |
Wong | Lumenhancement: Exploiting appearance for planetary modeling | |
Gunes | 3D GAUSSIAN SPLATTING FOR REAL TIME RADIANCE FIELD RENDERING USING INSTA360 CAMERA | |
Villa | Robust Onboard Vision-Based Navigation and Characterization at Small Celestial Bodies | |
Kinev et al. | Restoration of the optical properties of the scene by means of differentiable rendering | |
Raji et al. | Soft Shadow Diffusion (SSD): Physics-Inspired Learning for 3D Computational Periscopy | |
Huang et al. | Plane-wave Sf S reconstruction of water surface characteristics from Lambertian reflectance data | |
Jethwa | Efficient volumetric reconstruction from multiple calibrated cameras | |
Haindl et al. | Texture Acquisition | |
Baker | Determining specular, diffuse, and ambient color material properties of industrial plant primitives |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |