CN113518996A - 从多视图视觉数据进行损坏检测 - Google Patents
从多视图视觉数据进行损坏检测 Download PDFInfo
- Publication number
- CN113518996A CN113518996A CN202080017453.9A CN202080017453A CN113518996A CN 113518996 A CN113518996 A CN 113518996A CN 202080017453 A CN202080017453 A CN 202080017453A CN 113518996 A CN113518996 A CN 113518996A
- Authority
- CN
- China
- Prior art keywords
- image
- images
- data
- damage
- object model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000000007 visual effect Effects 0.000 title claims description 35
- 238000001514 detection method Methods 0.000 title description 68
- 238000000034 method Methods 0.000 claims description 133
- 238000013528 artificial neural network Methods 0.000 claims description 37
- 230000015654 memory Effects 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 12
- 230000004931 aggregating effect Effects 0.000 claims description 11
- 238000013507 mapping Methods 0.000 description 45
- 238000004458 analytical method Methods 0.000 description 42
- 230000033001 locomotion Effects 0.000 description 31
- 239000002131 composite material Substances 0.000 description 24
- 230000003190 augmentative effect Effects 0.000 description 22
- 238000004422 calculation algorithm Methods 0.000 description 22
- 230000008859 change Effects 0.000 description 20
- 230000000875 corresponding effect Effects 0.000 description 18
- 230000005484 gravity Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 15
- 239000013598 vector Substances 0.000 description 13
- 230000006641 stabilisation Effects 0.000 description 11
- 238000011105 stabilization Methods 0.000 description 11
- 238000010801 machine learning Methods 0.000 description 10
- 230000009466 transformation Effects 0.000 description 10
- 238000011156 evaluation Methods 0.000 description 9
- 230000002452 interceptive effect Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 8
- 230000002829 reductive effect Effects 0.000 description 8
- 210000000887 face Anatomy 0.000 description 7
- 238000009877 rendering Methods 0.000 description 7
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 238000013481 data capture Methods 0.000 description 5
- 230000007613 environmental effect Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 230000003902 lesion Effects 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 230000001755 vocal effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013501 data transformation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004438 eyesight Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000004313 glare Effects 0.000 description 2
- 238000011065 in-situ storage Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000010146 3D printing Methods 0.000 description 1
- 241001628808 Automate Species 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 206010044565 Tremor Diseases 0.000 description 1
- 238000010923 batch production Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 239000006063 cullet Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000007788 roughening Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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
- G06T7/0004—Industrial image inspection
- G06T7/001—Industrial image inspection using an image reference approach
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
- G06F18/2414—Smoothing the distance, e.g. radial basis function networks [RBFN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/08—Insurance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30156—Vehicle coating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Geometry (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
- Investigating Or Analysing Materials By The Use Of Chemical Reactions (AREA)
- Vehicle Cleaning, Maintenance, Repair, Refitting, And Outriggers (AREA)
- Image Processing (AREA)
Abstract
可分析多个图像以确定对象模型。所述对象模型可具有多个组件,且所述图像中的每一者可与所述组件中的一或多者对应。可基于所述图像确定所述组件中的一或多者的组件条件信息。所述组件条件信息可指示由与所述组件对应的对象部分引发的损坏。
Description
相关申请案的交叉参考
本申请案依据35U.S.C.120主张对由霍尔泽(Holzer)等人在2019年1月22日申请的标题为“从多视图视觉数据进行自动车辆损坏检测(AUTOMATIC VEHICLE DAMAGEDETECTION FROM MULTI-VIEW VISUAL DATA)”的第62/795,421号美国临时专利申请案(代理人案号:FYSNP054P)的优先权,所述美国临时专利申请案的全文出于所有目的以引用的方式并入本文中。
版权声明
此专利档案的公开内容的一部分含有受到版权保护的材料。版权所有者不反对由任何人对出现在美国专利商标局(United States Patent and Trademark Office)专利文件或记录中的专利档案或专利公开内容进行传真复制,但无论怎样都在其它方面保留所有版权。
技术领域
本公开大体上涉及对象上损坏的检测,且更明确来说,涉及基于多视图数据进行的自动损坏检测。
背景技术
需要在不同场合检验车辆的损坏。举例来说,可以在事故之后检验车辆以评估或支持保险索赔或警方报告。作为另一实例,可以在车辆租赁之前及之后或在购买或出售车辆之前检验车辆。
使用常规方法进行的车辆检验很大程度上是手动过程。通常,一个人绕着车辆走且手动记录损坏及状况。此过程很耗时,从而导致显著成本。手动检验结果还基于人而变化。举例来说,一个人可能在评估损坏方面或多或少有经验。结果的变化可能会导致缺乏信任及潜在经济损失,例如在购买及出售车辆或在评估保险索赔时。
发明内容
根据各个实施例,本文中描述的技术及机构提供用于检测对象的损坏的***、装置、方法及机器可读媒体。在一些实施方案中,可从对象的第一多个图像确定指定对象的对象模型。所述第一多个图像中的每一者可从相应视角捕获。所述对象模型可包含多个对象模型组件。所述图像中的每一者可与所述对象模型组件中的一或多者对应。所述对象模型组件中的每一者可与所述指定对象的相应部分对应。可基于所述多个图像确定所述对象模型组件中的一或多者的相应组件条件信息。所述组件条件信息可指示由与所述对象模型组件对应的所述相应对象部分引发的损坏的特性。可将所述组件条件信息存储在存储装置上。
在一些实施方案中,所述对象模型可包含所述指定对象的三维骨架。确定所述对象模型可包含应用神经网络以估计所述多个图像中的相应者的一或多个二维骨架关节。替代地或另外,确定所述对象模型可包含估计所述多个图像中的指定者的姿势信息,所述姿势信息可包含相机相对于所述指定图像的所述指定对象的位置及角度。替代地或另外,确定所述对象模型可包含基于所述二维骨架关节及所述姿势信息确定所述指定对象的所述三维骨架。所述对象模型组件可至少部分基于所述指定对象的所述三维骨架确定。
根据各个实施例,所述对象模型组件的指定者可与所述图像的指定子集及所述对象的指定部分对应。可基于所述图像的所述指定子集在计算装置处构造所述对象的所述指定部分的多视图表示。所述多视图表示可在一或多个方向上导航。所述特性可为以下各者中的一或多者:相应对象部分的损坏的估计概率、所述相应对象部分的损坏的估计严重性及所述相应对象部分的损坏的估计类型。
在一些实施例中,可基于所述组件条件信息确定经汇总对象条件信息。所述经汇总对象条件信息可指示所述对象整体的损坏。基于所述经汇总对象条件信息,可确定可包含所述对象的损坏的视觉表示的所述对象的标准视图。所述对象的损坏的所述视觉表示可为热图。所述对象的所述标准视图可包含以下各者中的一或多者:所述对象的自顶向下视图、可在一或多个方向上导航的所述对象的多视图表示及所述对象的三维模型。
根据各个实施例,确定所述组件条件信息可涉及将神经网络应用到与所述相应对象模型组件对应的所述图像的子集。所述神经网络可接收从所述计算装置处的深度传感器捕获的深度信息作为输入。确定所述组件条件信息可涉及汇总针对与所述相应对象模型组件对应的单独图像计算的神经网络结果。
在一些实施方案中,可提供用于经由所述相机捕获一或多个额外图像的现场录制指导。所述特性可包含统计估计,且所述现场录制指导可经提供以便减小所述统计估计的统计不确定性。
在一些实施例中,可基于所述多个图像在所述计算装置处构造所述指定对象的多视图表示。所述多视图表示可在一或多个方向上导航。
在一些实施方案中,所述对象可为车辆,且所述对象模型可包含所述车辆的三维骨架。所述对象模型组件可包含左车门、右车门及挡风玻璃中的每一者。
附图说明
所包含的图是出于说明性目的且仅用于提供用于图像处理的所公开的发明***、设备、方法及计算机程序产品的可能结构及操作的实例。这些图决不限制可由所属领域的技术人员在不背离所公开的实施方案的精神及范围的情况下作出的形式及细节方面的任何变化。
图1说明根据一或多个实施例执行的损坏检测方法的一个实例。
图2说明根据一或多个实施例产生的损坏表示的实例。
图3说明根据各个实施例执行的损坏检测数据捕获方法的一个实例。
图4说明根据各个实施例执行的组件级损坏检测方法。
图5说明根据一或多个实施例执行的对象级损坏检测方法。
图6说明根据一或多个实施例执行的损坏检测汇总方法的一个实例。
图7说明根据一或多个实施例执行的损坏检测汇总方法的特定实例。
图8说明根据一或多个实施例执行的用于执行透视图图像的几何分析的方法的一个实例。
图9说明根据一或多个实施例执行的用于执行透视图像到自顶向下视图映射的方法的一个实例。
图10说明根据一或多个实施例执行的用于执行自顶向下视图到透视图像映射的方法的一个实例。
图11说明根据一或多个实施例执行的用于分析对象覆盖范围的方法。
图12说明根据一或多个实施例产生的从车辆的自顶向下图像到透视框架的20个点的映射的实例。
图13、图14及图15说明根据一或多个实施例处理的图像。
图16及17说明根据一或多个实施例处理的在其上已检测到损坏的实例透视图图像。
图18说明根据一或多个实施例处理的损坏已被映射在其上的3D模型的2D图像的特定实例。
图19说明根据一或多个实施例的损坏已被映射在其上且被表示为热图的自顶向下图像的一个实例。
图20说明根据一或多个实施例处理的透视图图像的特定实例。
图21说明根据一或多个实施例分析的透视图图像的3D模型的一个实例。
图22说明根据一或多个实施例处理的损坏已被映射在其上且被表示为热图的自顶向下图像的一个实例。
图23说明根据一或多个实施例处理的已被映射到透视图图像的自顶向下图像的特定实例。
图24说明根据一或多个实施例配置的MVIDMR获取***的实例。
图25说明根据一或多个实施例执行的用于产生MVIDMR的方法的一个实例。
图26说明一起融合成三维(3D)模型的多个相机视图的一个实例。
图27说明MVIDMR中的内容与上下文分离的一个实例。
图28A到28B说明凹面及凸面视图的实例,其中两个视图都使用后置相机捕获风格。
图29A到29B说明根据一或多个实施例产生的后置凹面MVIDMR的一个实例。
图30A到30B说明根据一或多个实施例产生的前置凹面及凸面MVIDMR的实例。
图31说明根据一或多个实施例执行的用于使用现场图像数据产生与目标相关联的虚拟数据的方法的一个实例。
图32说明根据一或多个实施例执行的用于产生MVIDMR的方法的一个实例。
图33A及33B说明产生扩增现实(AR)图像捕获轨迹以捕获用于MVIDMR中的图像的一些方面。
图34说明产生扩增现实(AR)图像捕获轨迹以捕获用于移动装置上的MVIDMR中的图像的一个实例。
图35A及35B说明产生包含状态指示符的扩增现实(AR)图像捕获轨迹以捕获用于MVIDMR中的图像的实例。
图36说明根据各个实施例配置的计算机***的特定实例。
具体实施方式
根据各个实施例,本文中描述的技术及机构可用于识别及表示对象(例如车辆)的损坏。损坏检测技术可由未受过训练的个人采用。举例来说,个人可收集对象的多视图数据,且***可自动检测损坏。
根据各个实施例,可检测到各种类型的损坏。针对车辆,此类数据可包含(但不限于):刮擦、凹痕、爆胎、破裂的玻璃、碎玻璃或其它此损坏。
在一些实施方案中,用户可经导引以依反映损坏检测过程的方式收集多视图数据。举例来说,当***检测到损坏可能存在时,***可导引用户拍摄受到损坏的对象的部分的额外图像。
根据各个实施例,本文中描述的技术及机构可用于创建在多次捕获内一致的损坏估计。以此方式,损坏估计可以独立于运用相机的个人且不取决于个人的专业知识的方式来构建。以此方式,***可立刻自动检测损坏,而无需人类干预。
尽管在本文中参考检测车辆的损坏通过实例描述各种技术及机构,但这些技术及机构广泛适用于检测一系列对象的损坏。此类对象可包含(但不限于):房屋、公寓、酒店房间、不动产、个人财产、设备、珠宝、家具、办公室、人及动物。
图1说明用于损坏检测的方法100。根据各个实施例,方法100可在移动计算装置(例如智能电话)处执行。智能电话可与远程服务器通信。替代地或另外,一些或所有方法100可在远程计算装置(例如服务器)处执行。方法100可用于检测各种类型的对象中的任何者的损坏。然而,出于说明的目的,本文中论述的许多实例将参考车辆来描述。
在102,捕获对象的多视图数据。根据各个实施例,多视图数据可包含从不同视角捕获的图像。举例来说,用户可绕着车辆走且从不同角度捕获图像。在一些配置中,多视图数据可包含来自各种类型的传感器的数据。举例来说,多视图数据可包含来自多于一个相机的数据。作为另一实例,多视图数据可包含来自深度传感器的数据。作为另一实例,多视图数据可包含从惯性测量单元(IMU)收集的数据。IMU数据可包含位置信息、加速度信息、旋转信息,或者从一或多个加速度计或陀螺仪收集的其它此类数据。
在特定实施例中,多视图数据可经汇总以构建多视图表示。关于多视图数据收集、多视图表示构建及其它特征的额外细节论述于由霍尔泽(Holzer)等人在2018年3月23日申请的共同待决且共同指派的第15/934,624号美国专利申请案“交互式多视图图像数据组到视频的转换(Conversion of an Interactive Multi-view Image Data Set into aVideo)”中,所述美国专利申请案的全文出于所有目的以引用的方式并入本文中。
在104,基于捕获到的多视图数据检测对象的损坏。在一些实施方案中,损坏可通过使用神经网络评估一些或所有多视图数据、通过比较一些或所有多视图数据与参考数据及/或用于损坏检测的任何其它相关操作来检测。关于损坏检测的额外细节在整个申请案内论述。
在106,将检测到的损坏的表示存储在存储媒体上或经由网络传输所述表示。根据各个实施例,表示可包含一些或所有各种信息。举例来说,表示可包含估计美元价值。作为另一实例,表示可包含损坏的视觉描绘。作为又一实例,可提供受损部件列表。替代地或另外,受损部件可在3D CAD模型中突出显示。
在一些实施例中,损坏的视觉描绘可包含实际损坏的图像。举例来说,一旦在104处识别到损坏,就可选择及/或裁切包含对象的受损部分的图像的多视图数据的一或多个部分。
在一些实施方案中,损坏的视觉描绘可包含损坏的抽象再现。抽象再现可包含使用色标展示损坏的概率及/或严重性的热图。替代地或另外,抽象再现可使用自顶向下视图或其它变换表示损坏。通过在对象的视觉变换上呈现损坏,对象的不同侧的损坏(与否)可以标准化方式来呈现。
图2呈现根据一或多个实施例产生的损坏表示的实例。图2中展示的损坏表示包含车辆的自顶向下视图以及来自其它视角的视图。车辆的损坏可以各种方式在自顶向下视图上表示,例如通过红色。另外,损坏表示可包含车辆的部分的透视图图像,例如其中出现损坏的透视图图像。
图3说明损坏检测数据捕获的方法300。根据各个实施例,方法300可在移动计算装置(例如智能电话)处执行。智能电话可与远程服务器通信。方法300可用于检测各种类型的对象中的任何者的损坏。然而,出于说明的目的,本文中论述的许多实例将参考车辆来描述。
在302处接收捕获用于对象的损坏检测的输入数据的请求。在一些实施方案中,可在移动计算装置(例如智能电话)处接收捕获输入数据的请求。在特定实施例中,对象可为车辆,例如汽车、卡车或运动型多功能车。
在304处确定用于损坏检测的对象模型。根据各个实施例,对象模型可包含用于评估对象的损坏及/或收集对象的图像的参考数据。举例来说,对象模型可包含用于比较的类似对象的一或多个参考图像。作为另一实例,对象模型可包含经训练神经网络。作为又一实例,对象模型可包含在较早时间点捕获到的相同对象的一或多个参考图像。作为又一实例,对象模型可包含对应车辆的3D模型(例如CAD模型)或3D网格重建。
在一些实施例中,对象模型可基于用户输入确定。举例来说,用户大体来说可识别车辆,或特定来说可识别汽车、卡车或运动型多功能车,作为对象类型。
在一些实施方案中,对象模型可基于作为方法300的部分捕获到的数据自动确定。在此情况中,对象模型可在于306处捕获一或多个图像之后确定。
在306,捕获对象的图像。根据各个实施例,捕获对象的图像可涉及从各种传感器中的一或多者接收数据。此类传感器可包含(但不限于)一或多个相机、深度传感器、加速度计及/或陀螺仪。传感器数据可包含(但不限于)视觉数据、运动数据及/或定向数据。在一些配置中,可捕获对象的多于一个图像。替代地或另外,可捕获视频片段。
根据各个实施例,定位在计算装置处的相机或其它传感器可以各种方式中的任何者与计算装置通信地耦合。举例来说,在移动电话或膝上型计算机的情况中,相机可被物理地定位于计算装置内。作为另一实例,在一些配置中,相机或其它传感器可经由缆线连接到计算装置。作为又一实例,相机或其它传感器可经由有线或无线通信链路与计算装置通信。
根据各个实施例,如本文中使用,术语“深度传感器”可用于指代可用于确定深度信息的各种传感器类型中的任何者。举例来说,深度传感器可包含以红外光频率操作的投影仪及相机。作为另一实例,深度传感器可包含以可见光频率操作的投影仪及相机。例如,线激光器或光图案投影仪可将可见光图案投影到对象或表面上,接着,所述可见光图案可由可见光相机检测到。
在308处提取捕获到的一或多个图像的一或多个特征。在一些实施方案中,提取对象的一或多个特征可涉及构建从不同视角呈现对象的多视图捕获。如果多视图捕获已被构建,那么多视图捕获可基于在306处捕获的一或多个新图像更新。替代地或另外,特征提取可涉及执行一或多个操作,例如对象辨识、组件识别、定向检测或其它此类步骤。
在310,比较经提取特征与对象模型。根据各个实施例,比较经提取特征与对象模型可涉及进行适于确定捕获到的一或多个图像是否足以执行损坏比较的任何比较。此类操作可包含(但不限于):将神经网络应用到捕获到的一或多个图像、比较捕获到的一或多个图像与一或多个参考图像及/或执行关于图4及5论述的任何操作。
在312处作出关于是否捕获对象的额外图像的确定。在一些实施方案中,可至少部分基于已经捕获到的一或多个图像的分析作出确定。
在一些实施例中,可使用已经捕获到的一或多个图像作为输入来实施初步损坏分析。如果损坏分析是不确定的,那么可捕获额外图像。用于进行损坏分析的技术的额外细节相对于图4及5中展示的方法400及500论述。
在一些实施例中,***可分析捕获到的一或多个图像以确定是否已经捕获到对象的充足部分的充足细节以支持损坏分析。举例来说,***可分析捕获到的一或多个图像以确定对象是否是从所有方面描绘的。作为另一实例,***可分析捕获到的一或多个图像以确定对象的每一面板或部分是否是以足够量的细节展示。作为又一实例,***可分析捕获到的一或多个图像以确定对象的每一面板或部分是否是从足够数目个视角展示。
如果作出捕获额外图像的确定,那么在314,确定用于捕获额外图像的图像收集指导。在一些实施方案中,图像收集指导可包含用于捕获可有助于改变在312处作出的确定的额外图像的任何合适指令。此指导可包含从目标视角捕获额外图像、捕获对象的指定部分的额外图像或以不同清晰度或细节层次捕获额外图像的指示。举例来说,如果检测到可能的损坏,那么可提供反馈以在受损位置捕获额外细节。
在316,提供图像收集反馈。根据各个实施例,图像收集反馈可包含用于帮助用户收集额外图像的任何合适指令或信息。此指导可包含(但不限于)以目标相机位置、定向或缩放级别收集图像的指令。替代地或另外,可向用户呈现捕获对象的指定数目个图像或对象的指定部分的图像的指令。
举例来说,可向用户呈现图形导引件以帮助用户从目标视角捕获额外图像。作为另一实例,可向用户呈现导引用户捕获额外图像的书写或口头指令。用于确定及提供录制指导的额外技术以及其它相关特征描述于由霍尔泽(Holzer)等人在2018年5月30日申请的标题为“在产生多视图交互式数字媒体表示时提供录制指导(Providing RecordingGuidance in Generating a Multi-View Interactive Digital MediaRepresentation)”的共同待决且共同指派的第15/992,546号美国专利申请案中。
当确定不捕获对象的额外图像时,接着在318,存储捕获到的一或多个图像。在一些实施方案中,捕获到的图像可经存储在存储装置上且用于执行损坏检测,如相对于图4及5中的方法400及500论述。替代地或另外,图像可经由网络接口传输到远程位置。
图4说明用于组件级损坏检测的方法400。根据各个实施例,方法400可在移动计算装置(例如智能电话)处执行。智能电话可与远程服务器通信。方法400可用于检测各种类型的对象中的任何者的损坏。然而,出于说明的目的,本文中论述的许多实例将参考车辆来描述。
在402,从输入数据提取骨架。根据各个实施例,输入数据可包含如相对于图3中展示的方法300论述那样收集到的视觉数据。替代地或另外,输入数据可包含先前收集到的视觉数据,例如在不使用录制指导的情况下收集到的视觉数据。
在一些实施方案中,输入数据可包含从不同视角捕获到的对象的一或多个图像。替代地或另外,输入数据可包含对象的视频数据。除了视觉数据之外,输入数据还可包含其它类型的数据,例如IMU数据。
根据各个实施例,骨架检测可涉及各种技术中的一或多者。此类技术可包含(但不限于):使用机器学习的2D骨架检测、3D姿势估计及从一或多个2D骨架及/或姿势进行的骨架的3D重建。关于骨架检测及其它特征的额外细节论述于由霍尔泽(Holzer)等人在2017年2月7日申请的标题为“经由客户端-服务器通信的骨架检测及跟踪(Skeleton Detectionand Tracking via Client-server Communication)”的共同待决且共同指派的第15/427,026号美国专利申请案中,所述美国专利申请案的全文出于所有目的以引用的方式并入本文中。
在404,识别与对象相关联的校准图像数据。根据各个实施例,校准图像数据可包含较早时间点处类似对象或相同对象的一或多个参考图像。替代地或另外,校准图像数据可包含用于识别对象的损坏的神经网络。
在406,选择用于损坏检测的骨架组件。在一些实施方案中,骨架组件可表示对象的面板。在车辆的情况中,例如,骨架组件可表示门板、窗或前照灯。骨架组件可以任何合适顺序选择,例如循序地、随机地、并行地或通过在对象上的位置。
根据各个实施例,当选择用于损坏检测的骨架组件时,可重建骨架组件的多视图捕获。重建骨架组件的多视图捕获可涉及识别输入数据中从不同视角捕获骨架组件的不同图像。接着,可选择、裁切及合并经识别图像以产生特定于骨架组件的多视图捕获。
在404,选择用于损坏检测的骨架组件的视角。在一些实施方案中,可独立地分析包含于骨架组件的多视图捕获中的每一视角。替代地或另外,可例如通过将不同视角作为输入数据提供到经训练以识别对象的损坏的机器学习模型来同时分析多于一个视角。在特定实施例中,输入数据可包含其它类型的数据,例如3D视觉数据或使用深度传感器或其它类型的传感器捕获到的数据。
根据各个实施例,可使用402到410处的骨架分析的一或多个替代例。举例来说,对象部件(例如车辆组件)检测器可用于直接估计对象部件。作为另一实例,算法(例如神经网络)可用于将输入图像映射到组件经定位于其中的对象(例如车辆)的自顶向下视图(且反之亦然)。作为又一实例,将输入图像的像素分类为特定组件的算法(例如神经网络)可用于识别组件。作为又一实例,组件级检测器可用于识别对象的特定组件。作为又一替代例,可计算车辆的3D重建,且组件分类算法可在那个3D模型上运行。接着,可将所得分类反向投影到每一图像中。作为又一替代例,车辆的3D重建可经计算且拟合到车辆的现存3D CAD模型以便识别单个组件。
在410,比较校准图像数据与所选择的视角以检测所选择的骨架组件的损坏。根据各个实施例,比较可涉及将神经网络应用到输入数据。替代地或另外,可执行所选择的视角与在较早时间点捕获到的对象的一或多个参考图像之间的图像比较。
在412处作出关于是否选择额外视角来进行分析的确定。根据各个实施例,可选择额外视角直到所有可用视角都被分析。替代地,可选择视角直到所选择的骨架组件的损坏概率已被识别为指定的确定性程度。
在414处汇总所选择的骨架组件的损坏检测结果。根据各个实施例,从不同视角的损坏检测结果到每面板单个损坏检测结果导致骨架组件的损坏结果。举例来说,可创建展示车辆面板(例如车门)的损坏概率及/或严重性的热图。根据各个实施例,可使用各种类型的汇总方法。举例来说,可对在410处针对不同视角确定的结果求平均。作为另一实例,不同结果可用于对共同表示进行“投票”,例如自顶向下视图。接着,如果对面板或对象部分的投票足够一致,那么可报告损坏。
在416处作出关于是否选择额外骨架组件来进行分析的确定。在一些实施方案中,可选择额外骨架组件直到所有可用骨架组件都被分析。
在414处汇总对象的损坏检测结果。根据各个实施例,可将不同组件的损坏检测结果作为整体汇总到对象的单个损坏检测结果中。举例来说,创建经汇总损坏结果可涉及创建自顶向下视图,如图11中展示。作为另一实例,创建经汇总损坏结果可涉及识别被识别为受损的对象的部分的标准化或适当视角,如图11中展示。作为又一实例,创建经汇总损坏结果可涉及加标签于多视图表示中的受损部分。作为又一实例,创建经汇总损坏结果可涉及在多视图表示上叠加热图。作为又一实例,创建经汇总损坏结果可涉及选择受影响部件并向用户呈现受影响部件。呈现可作为列表完成、作为3D CAD模型中的突出显示的要素完成或以任何其它合适的方式完成。
在特定实施例中,本文中描述的技术及机构可涉及人类提供额外输入。举例来说,人类可检阅损坏结果、解析不确定的损坏检测结果或选择损坏结果图像以包含于呈现视图中。作为另一实例,人类检阅可用于训练一或多个神经网络以确保计算得到的结果是正确的且必要时进行调整。
图5说明根据一或多个实施例执行的对象级损坏检测方法500。方法500可在移动计算装置(例如智能电话)处执行。智能电话可与远程服务器通信。方法500可用于检测各种类型的对象中的任何者的损坏。
在502,识别与对象相关联的评估图像数据。根据各个实施例,评估图像数据可包含从不同视角捕获的单个图像。如本文中论述,可将单个图像汇总到多视图捕获中,其可包含除了图像之外的数据,例如IMU数据。
在504,识别与对象相关联的对象模型。在一些实施方案中,对象模型可包含对象的2D或3D标准化网格、模型或抽象表示。例如,可分析评估图像数据以确定所表示的对象类型。接着,可检索那种类型的对象的标准化模型。替代地或另外,用户可选择要使用的对象类型或对象模型。对象模型可包含对象的自顶向下视图。
在506,识别与对象相关联的校准图像数据。根据各个实施例,校准图像数据可包含一或多个参考图像。参考图像可包含在较早时间点捕获到的对象的一或多个图像。替代地或另外,参考图像可包含类似对象的一或多个图像。举例来说,参考图像可包含与在图像中所分析的汽车相同类型的汽车的图像。
在一些实施方案中,校准图像数据可包含经训练以识别损坏的神经网络。例如,校准图像数据可经训练以从包含于评估数据中的视觉数据类型分析损坏。
在508,将校准数据映射到对象模型。在一些实施方案中,将校准数据映射到对象模型可涉及将对象的透视图从校准图像映射到对象的自顶向下视图。
在510,将评估图像数据映射到对象模型。在一些实施方案中,将评估图像数据映射到对象模型可涉及确定图像数据的像素与对象模型中的点之间的逐像素对应性。执行此映射可涉及从与图像相关联的IMU数据确定相机位置及图像的定向。
在一些实施例中,在510,可估计图像与自顶向下视图之间的密集的每像素映射。替代地或另外,可相对于自顶向下视图估计图像的中心位置。举例来说,机器学习算法(例如深网)可用于将图像像素映射到自顶向下视图中的坐标。作为另一实例,对象的3D骨架的关节可被估计且用于定义映射。作为又一实例,组件级检测器可用于识别对象的特定组件。
在一些实施例中,可估计图像内一或多个对象部件的位置。那些位置可用于将来自图像的数据映射到自顶向下视图。举例来说,可逐像素地对对象部件分类。作为另一实例,可确定对象部件的中心位置。作为另一实例,对象的3D骨架的关节可被估计且用于定义映射。作为又一实例,组件级检测器可用于特定对象组件。
在一些实施方案中,可经由神经网络按批映射图像。举例来说,神经网络可接收从不同视角捕获到的对象的一组图像作为输入。接着,神经网络可基于所述一组输入图像检测对象整体的损坏。
在512,比较经映射评估图像数据与经映射校准图像数据以识别任何差异。根据各个实施例,可通过作为整体在多视图表示上运行神经网络来比较数据。替代地或另外,可逐图像地比较评估数据与图像数据。
如果在514处确定差异被识别到,那么在516确定经识别差异的表示。根据各个实施例,经识别差异的表示可涉及作为整体的对象的热图。举例来说,展示损坏的车辆的自顶向下视图的热图在图2中说明。替代地,可个别地隔离及呈现受到损坏的一或多个组件。
在518,将检测到的损坏的表示存储在存储媒体上或经由网络传输所述表示。在一些实施方案中,表示可包含估计美元价值。替代地或另外,表示可包含损坏的视觉描绘。替代地或另外,可将受到影响的部件呈现为列表及/或在3D CAD模型中突出显示。
在特定实施例中,整体对象表示的损坏检测可与对象的一或多个组件上的损坏表示合并。举例来说,如果初始损坏估计指示组件很可能损坏,那么可对组件的特写执行损坏检测。
图6说明根据一或多个实施例执行的用于汇总对象的检测到的损坏的方法600。根据各个实施例,方法600可在移动计算装置(例如智能电话)处执行。智能电话可与远程服务器通信。替代地或另外,一些或所有方法600可在远程计算装置(例如服务器)处执行。方法600可用于检测各种类型的对象中的任何者的损坏。然而,出于说明的目的,本文中论述的许多实例将参考车辆来描述。
在606处接收检测对象的损坏的请求。在一些实施方案中,可在移动计算装置(例如智能电话)处接收检测损坏的请求。在特定实施例中,对象可为车辆,例如汽车、卡车或运动型多功能车。
在一些实施方案中,检测损坏的请求可包含或参考输入数据。输入数据可包含从不同视角捕获到的对象的一或多个图像。替代地或另外,输入数据可包含对象的视频数据。除了视觉数据之外,输入数据还可包含其它类型的数据,例如IMU数据。
在604处选择用于损坏汇总分析的图像。根据各个实施例,可在移动计算装置(例如智能电话)处捕获图像。在一些例子中,图像可为多视图捕获中的视图。多视图捕获可包含从不同视角捕获到的对象的不同图像。例如,可从相对于对象不同的角度及高度捕获相同对象的不同图像。
在一些实施方案中,可以任何合适顺序选择图像。举例来说,可循序地、并行地或以某一其它顺序分析图像。作为另一实例,可随着图像被移动计算装置捕获或按其捕获顺序而现场分析图像。
在特定实施例中,选择用于分析的图像可涉及捕获图像。根据各个实施例,捕获对象的图像可涉及从各种传感器中的一或多者接收数据。此类传感器可包含(但不限于)一或多个相机、深度传感器、加速度计及/或陀螺仪。传感器数据可包含(但不限于)视觉数据、运动数据及/或定向数据。在一些配置中,可捕获对象的多于一个图像。替代地或另外,可捕获视频片段。
在606,检测对象的损坏。根据各个实施例,可通过将神经网络应用到所选择的图像来检测损坏。神经网络可识别包含于图像中的对象的损坏。在特定实施例中,损坏可表示为热图。损坏信息可识别损坏类型及/或严重性。举例来说,损坏信息可将损坏识别为轻度、中度或严重。作为另一实例,损坏信息可将损坏识别为凹痕或刮擦。
在608处确定所选择的透视图图像到标准视图的映射,且在610处将检测到的损坏映射到标准视图。在一些实施例中,标准视图可基于用户输入确定。举例来说,用户大体来说可识别车辆,或特定来说可识别汽车、卡车或运动型多功能车,作为对象类型。
在特定实施例中,可通过对表示于透视图图像中的对象执行对象辨识来确定标准视图。接着,对象类型可用于选择那种特定对象类型的标准图像。替代地,可检索特定于表示于透视图中的对象的标准视图。举例来说,可在损坏发生之前的较早时间点构建对象的自顶向下视图、2D骨架或3D模型。
在一些实施例中,可通过使用所选择的透视图图像到标准视图的映射来执行损坏映射以将在606处检测到的损坏映射到标准视图。举例来说,可将热图颜色从透视图映射到其在标准视图上的对应位置。作为另一实例,可以类似方式将损坏严重性及/或类型信息从透视图映射到标准视图。
在一些实施方案中,标准视图可为展示对象的顶部及侧的对象的自顶向下视图。接着,映射程序可将图像中的每一点映射到自顶向下视图中的对应点。替代地或另外,映射程序可将自顶向下视图中的每一点映射到透视图图像中的对应点。
在一些实施例中,神经网络可估计图像的2D骨架关节。接着,预定义映射可用于从透视图图像映射到标准图像(例如自顶向下视图)。例如,预定义映射可基于由2D关节确定的三角形定义。
在一些实施方案中,神经网络可预测3D模型(例如CAD模型)与所选择的透视图图像之间的映射。接着,损坏可经映射到3D模型的纹理图且汇总在3D模型的纹理图上。在特定实施例中,接着,可比较经构建及经映射3D模型与地面实况3D模型。
根据各个实施例,地面实况3D模型可为所表示的类型的所有对象的标准3D模型,或可基于在检测到损坏之前捕获到的一组初始透视图图像构建。经重建3D模型与预期3D模型的比较可在汇总损坏估计期间用作额外输入源或权值。此类技术可连同现场预录制或导引图像选择及分析使用。
根据各个实施例,骨架检测可涉及各种技术中的一或多者。此类技术可包含(但不限于):使用机器学习的2D骨架检测、3D姿势估计及从一或多个2D骨架及/或姿势进行的骨架的3D重建。关于骨架检测及其它特征的额外细节论述于由霍尔泽(Holzer)等人在2017年2月7日申请的标题为“经由客户端-服务器通信的骨架检测及跟踪(Skeleton Detectionand Tracking via Client-server Communication)”的共同待决且共同指派的第15/427,026号美国专利申请案中,所述美国专利申请案的全文出于所有目的以引用的方式并入本文中。
在616处将损坏信息汇总在标准视图上。根据各个实施例,将损坏汇总在标准视图上可涉及合并在操作610处映射的损坏与经映射的其它透视图图像的损坏。举例来说,可加总、平均化或以其它方式合并来自不同透视图图像的相同组件的损坏值。
在一些实施方案中,将损坏汇总在标准视图上可涉及在标准视图上创建热图或其它视觉表示。举例来说,可通过改变标准视图中对象的一部分的颜色来表示对象的那个部分的损坏。
根据各个实施例,将损坏汇总在标准视图上可涉及将损坏映射回到一或多个透视图图像。例如,可通过汇总来自若干透视图图像的损坏检测信息来确定对象的一部分的损坏。接着,可将那些经汇总信息映射回到透视图图像。一旦被映射回,经汇总信息就可作为层或叠加包含于对象的独立图像及/或多视图捕获中。
在614处基于所选择的图像更新损坏概率信息。根据各个实施例,损坏概率信息可识别检测到的损坏被确定的确定性程度。例如,在给定透视图中,可能难以确定地确定对象部分的特定图像描绘对象的损坏还是来自经反射光源的眩光。因此,检测到的损坏可经指派一概率或其它确定性指示。然而,概率可使用相同对象部分的不同透视图的分析经解析到接近0或1的值。
在特定实施例中,标准视图中的经汇总损坏信息的概率信息可基于损坏是从哪些视图检测到而更新。举例来说,如果损坏是从多个视角检测到,那么损坏可能性可增加。作为另一实例,如果损坏是从一或多个特写视图检测到,那么损坏可能性可增加。作为另一实例,如果仅在一个视角中检测到损坏而在其它视角中未能检测到损坏,那么损坏可能性可减小。作为又一实例,不同结果可用于对共同表示进行“投票”。
如果作出捕获额外图像的确定,那么在616处,提供用于额外视角捕获的指导。在一些实施方案中,图像收集指导可包含用于捕获可有助于解析不确定性的额外图像的任何合适指令。此指导可包含从目标视角捕获额外图像、捕获对象的指定部分的额外图像或以不同清晰度或细节层次捕获额外图像的指示。举例来说,如果检测到可能的损坏,那么可提供反馈以在受损位置捕获额外细节。
在一些实施方案中,用于额外视角捕获的指导可经提供以便解析损坏概率信息,如相对于操作614论述。举例来说,如果给定对象组件的损坏概率信息很高(例如90+%)或很低(例如10-%),那么额外视角捕获可能是不必要的。然而,如果损坏概率信息是相对不确定的(例如50%),那么捕获额外图像可有助于解析损坏概率。
在特定实施例中,用于确定是否提供额外图像的指导的阈值可基于各种考虑中的任何者战略性地确定。举例来说,阈值可基于先前已捕获到的对象或对象组件的图像数目确定。作为另一实例,阈值可由***管理员指定。
根据各个实施例,图像收集反馈可包含用于帮助用户收集额外图像的任何合适指令或信息。此指导可包含(但不限于)以目标相机位置、定向或缩放级别收集图像的指令。替代地或另外,可向用户呈现捕获对象的指定数目个图像或对象的指定部分的图像的指令。
举例来说,可向用户呈现图形导引件以帮助用户从目标视角捕获额外图像。作为另一实例,可向用户呈现导引用户捕获额外图像的书写或口头指令。用于确定及提供录制指导的额外技术以及其它相关特征描述于由霍尔泽(Holzer)等人在2018年5月30日申请的标题为“在产生多视图交互式数字媒体表示时提供录制指导(Providing RecordingGuidance in Generating a Multi-View Interactive Digital MediaRepresentation)”的共同待决且共同指派的第15/992,546号美国专利申请案中。
在618处作出关于是否选择额外图像来进行分析的确定。在一些实施方案中,可至少部分基于已经捕获到的一或多个图像的分析作出确定。如果损坏分析是不确定的,那么可捕获额外图像来进行分析。替代地,可分析每一可用图像。
在一些实施例中,***可分析捕获到的一或多个图像以确定是否已经捕获到对象的充足部分的充足细节以支持损坏分析。举例来说,***可分析捕获到的一或多个图像以确定对象是否是从所有方面描绘的。作为另一实例,***可分析捕获到的一或多个图像以确定对象的每一面板或部分是否是以足够量的细节展示。作为又一实例,***可分析捕获到的一或多个图像以确定对象的每一面板或部分是否是从足够数目个视角展示。
当确定不选择额外图像来进行分析时,接着在660处,存储损坏信息。举例来说,可将损坏信息存储在存储装置上。替代地或另外,图像可经由网络接口传输到远程位置。
在特定实施例中,图6中展示的操作可按与所展示的不同的顺序执行。举例来说,可在于610处将图像映射到标准视图之后在606处检测到对象的损坏。以此方式,损坏检测程序可经定制到反映于图像中的对象的特定部分。
在一些实施方案中,图6中展示的方法可包含除了图6中展示的操作之外的一或多个操作。举例来说,相对于606论述的损坏检测操作可包含用于识别包含于所选择的图像中的对象或对象组件的一或多个程序。此程序可包含例如经训练以识别对象组件的神经网络。
图7说明根据一或多个实施例执行的用于汇总对象的检测到的损坏的方法700。根据各个实施例,方法700可在移动计算装置(例如智能电话)处执行。智能电话可与远程服务器通信。方法700可用于检测各种类型的对象中的任何者的损坏。然而,出于说明的目的,本文中论述的许多实例将参考车辆来描述。
图7可用于执行现场损坏检测汇总。通过进行现场损坏检测汇总,***可获得关于汽车的哪些部件受到损坏且哪些未受到损坏的更佳估计。另外,基于此,***可导引用户直接捕获更多数据以便改进估计。根据各个实施例,相对于图7论述的一或多个操作可基本上类似于相对于图6论述的对应操作。
在702处接收检测对象的损坏的请求。在一些实施方案中,可在移动计算装置(例如智能电话)处接收检测损坏的请求。在特定实施例中,对象可为车辆,例如汽车、卡车或运动型多功能车。
在一些实施方案中,检测损坏的请求可包含或参考输入数据。输入数据可包含从不同视角捕获到的对象的一或多个图像。替代地或另外,输入数据可包含对象的视频数据。除了视觉数据之外,输入数据还可包含其它类型的数据,例如IMU数据。
在704处确定基于多视图图像的对象的3D表示。根据各个实施例,多视图表示可为预定的且在704处检索。替代地,可在704处创建多视图表示。例如,多视图表示可基于在移动计算装置处收集到的输入数据创建。
在一些实施方案中,多视图表示可为对象的360度视图。替代地,多视图表示可为对象的部分表示。根据各个实施例,多视图表示可用于构建对象的3D表示。举例来说,可对包含多个图像的多视图表示执行3D骨架检测。
在706处,提供用于捕获用于损坏分析的图像的录制指导。在一些实施方案中,录制指导可导引用户将相机定位到一或多个特定位置。接着,可从这些位置捕获图像。录制指导可以各种方式中的任何者提供。举例来说,用户可经导引以定位相机来在类似对象的预录制多视图捕获中与一或多个透视图图像对准。作为另一实例,用户可经导引以定位相机来与三维模型的一或多个透视图对准。
在708处捕获用于执行损坏分析的图像。根据各个实施例,录制指导可经提供作为现场会话的部分以进行损坏检测及汇总。录制指导可用于使移动计算装置处的现场相机视图与3D表示对准。
在一些实施方案中,录制指导可用于导引用户以特定方式捕获对象的特定部分。举例来说,录制指导可用于导引用户捕获车辆的左前门的特写。
在710处确定来自捕获到的图像的损坏信息。根据各个实施例,可通过将神经网络应用到所选择的图像来检测损坏。神经网络可识别包含于图像中的对象的损坏。在特定实施例中,损坏可表示为热图。损坏信息可识别损坏类型及/或严重性。举例来说,损坏信息可将损坏识别为轻度、中度或严重。作为另一实例,损坏信息可将损坏识别为凹痕或刮擦。
在712处将损坏信息映射到标准视图上。根据各个实施例,移动装置及/或相机对准信息可用于将损坏检测数据映射到3D表示上。替代地或另外,3D表示可用于将检测到的损坏映射到自顶向下视图上。举例来说,预录制多视图捕获、预定3D模型或动态确定的3D模型可用于创建从一或多个透视图图像到标准视图的映射。
在714处将损坏信息汇总在标准视图上。在一些实施方案中,将损坏汇总在标准视图上可涉及在标准视图上创建热图或其它视觉表示。举例来说,可通过改变标准视图中对象的一部分的颜色来表示对象的那个部分的损坏。
根据各个实施例,将损坏汇总在标准视图上可涉及将损坏映射回到一或多个透视图图像。例如,可通过汇总来自若干透视图图像的损坏检测信息来确定对象的一部分的损坏。接着,可将那些经汇总信息映射回到透视图图像。一旦被映射回,经汇总信息就可作为层或叠加被包含于对象的独立图像及/或多视图捕获中。
在716处作出关于是否捕获额外图像来进行分析的确定。根据各个实施例,可捕获额外图像以进行分析直到捕获到足够的数据使得关于检测到的损坏的确定性程度下降到高于或低于指定阈值。替代地,可捕获额外图像以进行分析直到装置停止录制。
当确定不选择额外图像来进行分析时,接着在718处,存储损坏信息。举例来说,可将损坏信息存储在存储装置上。替代地或另外,图像可经由网络接口传输到远程位置。
在特定实施例中,图7中展示的操作可按与所展示的不同的顺序执行。举例来说,可在于712处将图像映射到标准视图之后在710处检测到对象的损坏。以此方式,损坏检测程序可经定制到反映于图像中的对象的特定部分。
在一些实施方案中,图7中展示的方法可包含除了图7中展示的操作之外的一或多个操作。举例来说,相对于710论述的损坏检测操作可包含用于识别包含于所选择的图像中的对象或对象组件的一或多个程序。此程序可包含例如经训练以识别对象组件的神经网络。
图8说明根据一或多个实施例执行的用于执行透视图图像的几何分析的方法800的一个实例。可在任何合适的计算装置上执行方法800。举例来说,方法800可在移动计算装置(例如智能电话)上执行。替代地或另外,方法800可在与移动计算装置通信的远程服务器上执行。
在802处接收构建对象的自顶向下映射的请求。根据各个实施例,可在用户接口处接收请求。在804处识别从一或多个视角捕获的对象的视频或图像组。视频或图像组在本文中称为“源数据”。根据各个实施例,源数据可包含对象的360度视图。替代地,源数据可包含具有小于360度覆盖范围的视图。
在一些实施例中,源数据可包含从相机捕获的数据。举例来说,相机可经定位在移动计算装置(例如智能电话)上。作为另一实例,一或多个传统相机可用于捕获此类信息。
在一些实施方案中,源数据可包含从惯性测量单元(IMU)收集的数据。IMU数据可包含信息,例如相机位置、相机角度、装置速度、装置加速度或从加速度计或其它此类传感器收集的各种各样的数据中的任何者。
在806处识别对象。在一些实施方案中,对象可基于用户输入识别。举例来说,用户可经由用户接口组件(例如下拉菜单)将对象识别为车辆或人。
在一些实施例中,对象可基于图像辨识识别。举例来说,源数据可经分析以确定源数据的主体是车辆、人或另一此对象。源数据可包含各种图像数据。然而,在多视图捕获的情况中,源数据从不同视角聚焦于特定对象中,图像辨识程序可识别不同透视图之间的共同点以隔离作为源数据的主体的对象与存在于源数据的一些部分中但不存在于源数据的其它部分中的其它对象。
在808处,2D网格的顶点及面经定义于对象的自顶向下视图中。根据各个实施例,每一面可表示可近似为平面的对象表面的部分。举例来说,当车辆经捕获于源数据中时,车辆的门板或车顶可表示为2D网格中的面,这是因为门及车顶是略微弯曲但近似平面的。
在一些实施例中,2D网格的顶点及面可通过分析源数据来识别。替代地或另外,206处对象的识别可允许预定2D网格的检索。举例来说,车辆对象可与可在请求后检索的默认2D网格相关联。
在810处确定对象的每一顶点的可视角。根据各个实施例,可视角指示相对于关于其顶点是可见的相机的对象角度范围。在一些实施例中,2D网格的可视角可通过分析源数据来识别。替代地或另外,806处对象的识别可允许预定可视角以及预定2D网格的检索。举例来说,车辆对象可与可在请求后检索的默认2D网格以及相关联可视角相关联。
在812处构建对象的3D骨架。根据各个实施例,构建3D骨架可涉及各种操作中的任何者。举例来说,可使用机器学习程序对每个框架执行2D骨架检测。作为另一实例,3D相机姿势估计可经执行以确定相机相对于特定框架的对象的位置及角度。作为又一实例,3D骨架可从2D骨架或姿势重建。关于骨架检测额外细节论述于由霍尔泽(Holzer)等人在2017年2月7日申请的标题为“经由客户端-服务器通信的骨架检测及跟踪(Skeleton Detectionand Tracking via Client-server Communication)”的共同待决且共同指派的第15/427,026号美国专利申请案中,所述美国专利申请案的全文出于所有目的以引用的方式并入本文中。
图9说明根据一或多个实施例执行的用于执行透视图到自顶向下视图映射的方法900的一个实例。在一些实施例中,方法900可经执行以将表示于透视图中的对象的每一像素映射到那一类对象的预定义自顶向下视图中的对应点。
可在任何合适的计算装置上执行方法900。举例来说,方法900可在移动计算装置(例如智能电话)上执行。替代地或另外,方法900可在与移动计算装置通信的远程服务器上执行。
在902处接收构建对象的自顶向下映射的请求。根据各个实施例,请求可在相对于图8中展示的方法800所论述的几何分析执行之后产生。请求可识别将对其执行自顶向下映射的一或多个图像。
在904处识别图像到自顶向下映射的3D网格。3D网格可提供对象的三维表示且用作实际透视图图像与自顶向下视图之间的中介表示。
在906处,选择透视框架中的像素以进行分析。根据各个实施例,可以任何合适顺序选择像素。举例来说,可循序地选择像素。作为另一实例,像素可基于例如位置或颜色等特性来选择。此选择过程可通过将分析聚焦在很可能存在于3D网格中的图像的部分上来促进更快分析。
在908处将像素投影到3D网格上。在一些实施方案中,将像素投影到3D网格上可涉及模拟相机光线经过图像规划中的像素位置且进入3D网格。一旦模拟此相机光线,就可提取相对于相交面的顶点的相交点的重心坐标。
在910处作出关于像素是否与对象3D网格相交的确定。如果像素不与对象3D网格相交,那么在912处像素被设置为属于背景。如果代替地像素与对象3D网格相交,那么在914处识别像素的经映射点。根据各个实施例,经映射点可通过应用重心坐标作为自顶向下图像中的对应相交面的顶点的权值来识别。
在一些实施例中,机器学习方法可用于对单个图像执行图像到自顶向下映射。举例来说,机器学习算法(例如深网)可作为整体在透视图像上运行。机器学习算法可识别自顶向下图像中的每一像素(或其子集)的2D位置。
在一些实施例中,机器学习方法可用于执行自顶向下到图像映射。举例来说,给定透视图像及在自顶向下图像中的所关注点,机器学习算法可在透视图像上运行以识别其点的自顶向下位置。接着,自顶向下图像中的所关注点可经映射到透视图像。
在一些实施例中,将自顶向下图像中的所关注点映射到透视图像可涉及首先选择其自顶向下映射离所关注点最近的透视图像中的点。接着,可内插透视图像中的所选择的点。
图像到自顶向下映射的实例在图13、14及15中展示。车辆组件图像中的像素位置由有色点表示。这些点位置从透视图中的固定位置1302映射到自顶向下视图1306上的对应位置1304。图14展示类似布置,其中透视图中的固定位置1402映射到自顶向下视图1406中的对应位置1404。举例来说,在图13中,颜色编码对应于图像中的点的位置。可反向地执行类似程序以将自顶向下视图映射到透视图。
在一些实施方案中,所关注点可被映射为附近点的加权平均值。举例来说,在图15中,例如1502等任何特定点的映射可取决于例如1504及1506等附近点的值,从透视图中的经映射位置绘制。
返回图9,作为操作906到910的替代,3D骨架关节面的投影可与自顶向下视图中的对应关节及面一起用于直接定义将像素信息从透视图映射到自顶向下视图中且反之亦然的图像变换。
在916处作出关于是否选择额外像素来进行分析的确定。根据各个实施例,分析可继续直到所有像素或合适数目个像素被映射。如相对于操作906论述,可按序、并行地或按任何合适顺序分析像素。
任选地,在918处汇总计算得到的像素值。根据各个实施例,汇总计算像素值可涉及例如将凝聚像素图存储在存储装置或存储器模块上。
根据各个实施例,可省略图9中展示的操作中的一或多者。举例来说,可忽略像素而非在912处将其设置为背景像素。在一些实施方案中,可按不同于图9中展示的顺序的顺序执行一或多个操作。举例来说,可在像素分析期间累积地汇总像素值。作为另一实例,可并行地确定像素值。
图10说明根据一或多个实施例执行的用于执行自顶向下视图到透视图像映射的方法1000的一个实例。根据各个实施例,自顶向下到图像映射是指在透视图像中找出来自自顶向下图像的位置点。
可在任何合适的计算装置上执行方法1000。举例来说,方法1000可在移动计算装置(例如智能电话)上执行。替代地或另外,方法1000可在与移动计算装置通信的远程服务器上执行。
在1002处,接收执行透视框架的自顶向下到图像映射的请求。在1004处,识别2D网格及3D网格以用于透视图像到自顶向下映射。3D网格在本文中还称为3D骨架。
在1006处,选择自顶向下图像中的点以进行分析。根据各个实施例,可以任何合适的顺序选择点。举例来说,可循序地选择点。作为另一实例,点可基于例如位置等特性来选择。举例来说,可在移动到自顶向下图像的下一面之前选择指定面内的点。
在1008处,识别点与2D网格的相交点。接着,在1010处作出关于相交面在框架中是否可见的确定。根据各个实施例,可部分通过检查在用于相交面的顶点的初步步骤中确定的一或多个可视范围来作出确定。如果相交面不可见,那么可丢弃点。
如果相交面可见,那么在1012处确定相交点的坐标。根据各个实施例,确定坐标点可涉及例如提取点相对于相交面的顶点的重心坐标。
在1014处确定3D对象网格上的对应位置。根据各个实施例,位置可通过应用重心坐标作为对象3D网格中的对应相交面的顶点的权值来确定。
在1016处将点从网格投影到透视框架。在一些实施方案中,投影点可涉及评估相机姿势及/或框架的对象3D网格。举例来说,相机姿势可用于确定相机的角度及/或位置以促进点投影。
图11说明根据一或多个实施例执行的用于分析对象覆盖范围的方法。根据各个实施例,方法1100可在移动计算装置(例如智能电话)处执行。智能电话可与远程服务器通信。方法1100可用于检测各种类型的对象中的任何者的一组图像及/或多视图表示中的覆盖范围。然而,出于说明的目的,本文中论述的许多实例将参考车辆来描述。
在1102处接收确定对象的覆盖范围的请求。在一些实施方案中,可在移动计算装置(例如智能电话)处接收确定覆盖范围的请求。在特定实施例中,对象可为车辆,例如汽车、卡车或运动型多功能车。
在一些实施方案中,确定覆盖范围的请求可包含或参考输入数据。输入数据可包含从不同视角捕获到的对象的一或多个图像。替代地或另外,输入数据可包含对象的视频数据。除了视觉数据之外,输入数据还可包含其它类型的数据,例如IMU数据。
在1104处预处理一或多个图像。根据各个实施例,可预处理一或多个图像以便执行操作,例如骨架检测、对象辨识或3D网格重建。针对一些此类操作,可使用来自多于一个透视图图像的输入数据。
在一些实施方案中,骨架检测可涉及各种技术中的一或多者。此类技术可包含(但不限于):使用机器学习的2D骨架检测、3D姿势估计及从一或多个2D骨架及/或姿势进行的骨架的3D重建。关于骨架检测及其它特征的额外细节论述于由霍尔泽(Holzer)等人在2017年2月7日申请的标题为“经由客户端-服务器通信的骨架检测及跟踪(Skeleton Detectionand Tracking via Client-server Communication)”的共同待决且共同指派的第15/427,026号美国专利申请案中,所述美国专利申请案的全文出于所有目的以引用的方式并入本文中。
根据各个实施例,可重建例如3D网格等潜在地具有相关联纹理图的对象的3D表示。替代地,3D表示可为基于具有到所定义的自顶向下映射的映射的3D骨架的网格。当产生3D网格表示时,可执行基于对应于那些框架的相机的经估计3D姿势的每框架分段及/或空间雕刻。在3D骨架的情况中,此类操作可使用直接估计给定框架的3D骨架的神经网络执行或从估计每一框架的2D骨架关节位置及接着使用所有相机视角的姿势来三角化3D骨架的神经网络执行。
根据各个实施例,标准3D模型可用于所表示的类型的所有对象,或可基于在检测到损坏之前捕获到的一组初始透视图图像构建。此类技术可连同现场预录制或导引图像选择及分析使用。
在1106处选择用于对象覆盖范围分析的图像。根据各个实施例,可在移动计算装置(例如智能电话)处捕获图像。在一些例子中,图像可为多视图捕获中的视图。多视图捕获可包含从不同视角捕获到的对象的不同图像。例如,可从相对于对象不同的角度及高度捕获相同对象的不同图像。
在一些实施方案中,可以任何合适的顺序选择图像。举例来说,可循序地、并行地或以某一其它顺序分析图像。作为另一实例,可随着图像被移动计算装置捕获或按其捕获顺序而现场分析图像。
在特定实施例中,选择用于分析的图像可涉及捕获图像。根据各个实施例,捕获对象的图像可涉及从各种传感器中的一或多者接收数据。此类传感器可包含(但不限于)一或多个相机、深度传感器、加速度计及/或陀螺仪。传感器数据可包含(但不限于)视觉数据、运动数据及/或定向数据。在一些配置中,可捕获对象的多于一个图像。替代地或另外,可捕获视频片段。
在1108处确定所选择的透视图图像到标准视图的映射。在一些实施例中,标准视图可基于用户输入确定。举例来说,用户大体来说可识别车辆,或特定来说可识别汽车、卡车或运动型多功能车,作为对象类型。
在一些实施方案中,标准视图可为展示对象的顶部及侧的对象的自顶向下视图。接着,映射程序可将图像中的每一点映射到自顶向下视图中的对应点。替代地或另外,映射程序可将自顶向下视图中的每一点映射到透视图图像中的对应点。
根据各个实施例,标准视图可通过执行对象辨识来确定。接着,对象类型可用于选择那种特定对象类型的标准图像。替代地,可检索特定于表示于透视图中的对象的标准视图。举例来说,可构建对象的自顶向下视图、2D骨架或3D模型。
在一些实施例中,神经网络可估计图像的2D骨架关节。接着,预定义映射可用于从透视图图像映射到标准图像(例如自顶向下视图)。例如,预定义映射可基于由2D关节确定的三角形定义。
在一些实施方案中,神经网络可预测3D模型(例如CAD模型)与所选择的透视图图像之间的映射。接着,覆盖范围可经映射到3D模型的纹理图且汇总在3D模型的纹理图上。
在1110处确定所选择的图像的对象覆盖范围。根据各个实施例,对象覆盖范围可通过分析透视图图像已被映射在其上的标准视图的部分来确定。
作为另一实例,对象或对象的自顶向下图像可被划分成数个组件或部分。车辆例如可被划分成门、挡风玻璃、车轮及其它此类部件。针对透视图图像的至少一部分已被映射到的每一部件,可作出关于部件是否被图像充分覆盖的确定。此确定可涉及例如确定对象组件的任何子部分是否缺少指定数目个经映射像素等操作。
在特定实施例中,对象覆盖范围可通过识别包含一些或所有经映射像素的区来确定。接着,经识别区可用于汇总跨不同图像的覆盖范围。
在一些实施例中,一栅格或另一组的导引线可经叠加在自顶向下视图上。栅格可由相同矩形或其它形状组成。替代地,栅格可由不同大小的部分组成。举例来说,在图14中展示的图像中,对象的包含更大变化及细节的部分(例如前照灯)与相对较小栅格部分相关联。
在一些实施方案中,栅格密度可表示各种考虑之间的折衷。举例来说,如果栅格太精细,那么可能发生假阴性错误,这是因为透视图图像映射中的噪声可意味着许多栅格单元由于没有像素被映射到栅格单元而被不正确地识别为未表示于透视图图像中。然而,如果栅格太粗糙,那么可能发生假阳性错误,这是因为即使是大栅格部分的子部分没有充分表示,相对许多像素也可映射到大栅格部分。
在特定实施例中,栅格部分的大小可基于例如图像分辨率、计算装置处理能力、图像数目、对象中的细节层级、特定对象部分处的特征大小或其它此类考虑等特性而被战略性地确定。
在特定实施例中,可确定每一栅格部分的所选择的图像的覆盖范围评估指示。覆盖范围评估指示可包含一或多个组分。举例来说,覆盖范围评估指示可包含主要值,例如识别给定栅格部分被表示于所选择的图像中的概率的概率值。作为另一实例,覆盖范围评估指示可包含次要值,例如识别包围主要值的不确定性程度的不确定性值或标准误差值。包含于覆盖范围指示中的值可经建模为连续值、离散值或二进制值。
在特定实施例中,不确定性值或标准误差值可用于跨不同框架进行汇总。举例来说,关于来自特定图像的右前门的覆盖范围的低置信度等级将导致高不确定性值,这在确定右前门的汇总覆盖范围时可导致归于特定图像的较低权值。
在一些实施方案中,所选择的图像及给定栅格部分的覆盖范围评估指示可能受各种考虑中的任何者影响。举例来说,如果所选择的图像包含映射到给定栅格部分的相对较高数目个像素,那么给定光栅格部分可与所选择的图像中的相对较高概率的覆盖范围相关联。作为另一实例,如果其中包含像素的图像或图像部分是从离对象相对较近的距离捕获的,那么依据其对覆盖范围估计的影响,像素可被向上加权。作为又一实例,如果其中包含像素的图像或图像部分是从倾斜角度捕获的,那么依据其对覆盖范围估计的影响,像素可被向下加权。相比之下,如果其中包含像素的图像或图像部分是从接近90度的角度捕获的,那么依据其对覆盖范围估计的影响,像素可被向上加权。
在特定实施例中,栅格的概率值及不确定性值可取决于例如指派到栅格单元的像素值的数目及概率等因素。举例来说,如果N个像素以其相关联分数结束于栅格单元中,那么覆盖范围概率可经建模为N个像素的平均概率分数,而不确定性值可经建模为N个像素的标准偏差。作为另一实例,如果N个像素以其相关联分数结束于栅格单元中,那么覆盖范围概率可经建模为N个像素的平均概率分数的N倍,而不确定性值可经建模为N个像素的标准偏差。
在1112处作出关于是否选择额外图像来进行分析的确定。根据各个实施例,可按序、并行地或按任何合适的顺序分析每一图像。替代地或另外,图像可经分析直到一或多个组件级及/或汇总覆盖范围水平满足指定阈值。
在1114处确定所选择的对象的经汇总覆盖范围估计。在一些实施例中,确定经汇总覆盖范围估计可涉及将在1108处确定的不同图像的不同像素映射叠加在对象的标准视图上。接着,可对经叠加标准视图图像执行相对于操作1110论述的相同类型的技术。然而,此类技术可能遭受像素映射可能很嘈杂的缺点,所以不同图像可随机地具有映射到相同对象部分的某一数目个像素。
根据各个实施例,确定经汇总覆盖范围估计可涉及合并在1110处确定的不同图像的覆盖范围区。举例来说,针对每一栅格部分,可作出关于任何图像是否以超过指定阈值的概率捕获到栅格部分的确定。作为另一实例,可确定每一栅格部分的覆盖范围指示的加权平均值以汇总图像级覆盖范围估计。
在一些实施方案中,确定经汇总覆盖范围估计可涉及评估不同对象组件。可针对每一组件作出关于组件是否已以充分的细节层次或清晰度捕获到的确定。举例来说,与例如车轮或门等对象组件相关联的不同栅格部分可经合并以作为整体确定组件的覆盖范围指示。作为另一实例,栅格级热图可关于给定对象组件经平滑化以确定组件级对象覆盖范围估计。
在一些实施方案中,确定经汇总覆盖范围估计可涉及确定对象级覆盖范围估计。举例来说,可作出关于来自所有透视图的经映射像素关于对象的所有或指定部分是否足够密集的确定。
在一些实施方案中,确定经汇总覆盖范围估计可涉及确定对象的一部分是否已从指定视角或在指定距离处捕获到。举例来说,当确定图像覆盖范围时,可向下加权或忽略从指定距离范围及/或指定角度范围外的距离捕获到的对象部分的图像或图像部分。
在一些实施方案中,经汇总覆盖范围估计可经实施为热图。热图可为栅格级,或可被平滑化。
在一些实施例中,经汇总覆盖范围估计可以一或多种方式调制。举例来说,可明确地计算在指定覆盖范围内、下或上捕获到的视觉数据的覆盖范围估计。作为另一实例,可明确地计算在对象表面相对于相机的指定角度距离内、下或上捕获到的视觉数据的覆盖范围估计。
在特定实施例中,经调制覆盖范围估计可以可调整方式产生及存储。举例来说,用户可在用户接口中滑动滑块可供性以调整最小距离、最大距离、最小角度及/或最大角度来评估覆盖范围。
在1116处作出关于是否捕获额外图像的确定。如果作出捕获额外图像的确定,那么在1118处,提供用于额外视角捕获的指导。在1120处基于录制指导捕获一或多个图像。在一些实施方案中,图像收集指导可包含用于捕获可有助于改进覆盖范围的额外图像的任何合适的指令。此指导可包含从目标视角捕获额外图像、捕获对象的指定部分的额外图像或以不同清晰度或细节层次捕获额外图像的指示。举例来说,如果对象的特定部分的覆盖范围不足或缺失,那么反馈可经提供以捕获其覆盖范围缺少的对象部分处的额外细节。
在一些实施方案中,用于额外视角捕获的指导可经提供以便改进对象覆盖范围,如相对于操作1110及1114论述。举例来说,如果对象或对象部分的覆盖范围很高,那么额外视角捕获可为不必要的。然而,如果对象或对象的一部分的覆盖范围很低,那么捕获额外图像可有助于改进覆盖范围。
在特定实施例中,用于确定是否提供额外图像的指导的一或多个阈值可基于各种考虑中的任何者战略性地确定。举例来说,阈值可基于先前已捕获到的对象或对象组件的图像数目确定。作为另一实例,阈值可由***管理员指定。作为又一实例,可捕获额外图像直到已从一组指定透视视角中的每一者捕获图像。
根据各个实施例,图像收集反馈可包含用于帮助用户收集额外图像的任何合适的指令或信息。此指导可包含(但不限于)以目标相机位置、定向或缩放级别收集图像的指令。替代地或另外,可向用户呈现捕获对象的指定数目个图像或对象的指定部分的图像的指令。
举例来说,可向用户呈现图形导引件以帮助用户从目标视角捕获额外图像。作为另一实例,可向用户呈现导引用户捕获额外图像的书写或口头指令。用于确定及提供录制指导的额外技术以及其它相关特征描述于由霍尔泽(Holzer)等人在2018年5月30日申请的标题为“在产生多视图交互式数字媒体表示时提供录制指导(Providing RecordingGuidance in Generating a Multi-View Interactive Digital MediaRepresentation)”的共同待决且共同指派的第15/992,546号美国专利申请案中。
在一些实施例中,***可分析捕获到的一或多个图像以确定是否已经捕获到对象的充足部分的充足细节以支持损坏分析。举例来说,***可分析捕获到的一或多个图像以确定对象是否是从所有方面描绘的。作为另一实例,***可分析捕获到的一或多个图像以确定对象的每一面板或部分是否是以足够量的细节展示。作为又一实例,***可分析捕获到的一或多个图像以确定对象的每一面板或部分是否是从足够数目个视角展示。
当确定不选择额外图像来进行分析时,接着在1122处,存储覆盖范围信息。举例来说,可将覆盖范围信息存储在存储装置上。替代地或另外,图像可经由网络接口传输到远程位置。
在一些实施方案中,图11中展示的方法可包含除了图11中展示的操作之外的一或多个操作。举例来说,方法1100可包含用于识别包含于所选择的图像中的对象或对象组件的一或多个程序。此程序可包含例如经训练以识别对象组件的神经网络。
在特定实施例中,本文中描述的技术及机构可连同损坏检测分析使用。根据各个实施例,可通过将神经网络应用到所选择的图像来检测损坏。神经网络可识别包含于图像中的对象的损坏。在特定实施例中,损坏可表示为热图。损坏信息可识别损坏类型及/或严重性。举例来说,损坏信息可将损坏识别为轻度、中度或严重。作为另一实例,损坏信息可将损坏识别为凹痕或刮擦。接着,可将检测到的损坏从透视图映射到标准视图。
根据各个实施例,损坏信息可经汇总在标准视图上。将损坏汇总在标准视图上可涉及合并经映射的一个透视图的损坏与经映射的其它透视图图像的损坏。举例来说,可加总、平均化或以其它方式合并来自不同透视图图像的相同组件的损坏值。
根据各个实施例,可确定损坏概率信息。损坏概率信息可识别检测到的损坏被确定的确定性程度。例如,在给定透视图中,可能难以确定地确定对象部分的特定图像描绘对象的损坏还是来自经反射光源的眩光。因此,检测到的损坏可经指派一概率或其它确定性指示。然而,概率可使用相同对象部分的不同透视图的分析经解析到接近0或1的值。
图12说明从车辆的自顶向下图像到透视框架的20个点的映射的实例。在图12中,例如点1 1202等红色点被识别为在透视框架中可见且因此被正确地映射,而例如点81204等蓝色点由于其在透视图中不可见而未被映射。
图16到23展示根据一或多个实施例的可连同本文中描述的技术及机构产生、分析或呈现的各个图像及用户接口。图16展示已在其上检测到损坏的透视图图像。检测到的损坏使用热图表示。图17展示不同透视图图像。图18展示损坏已被映射在其上的3D模型的2D图像。损坏在图18中表示为红色。图19展示损坏已被映射在其上且表示为热图的自顶向下图像。图20展示不同透视图图像。图21展示透视图图像的3D模型。在图21中,对象的不同表面由不同颜色表示。图22展示损坏已被映射在其上且表示为热图的自顶向下图像。
图23展示已被映射到透视图图像的不同自顶向下图像。在图23中,右侧中间图像是输入图像、右侧上图像指示输入图像中的每一像素的颜色编码位置,且左侧图像展示输入图像中的像素如何被映射到自顶向下视图上。右侧下图像展示颜色编码对象组件,例如后挡风玻璃及较低后门板。
本文中描述的各个实施例大体上涉及用于为了创建单个表示MVIDMR的目的分析多个图像与视频之间的空间关系以及位置信息数据的***及方法,此消除数据中的冗余且向用户呈现交互式及沉浸式主动观看体验。根据各个实施例,主动描述于向用户提供控制显示于屏幕上的视觉信息的视角的能力的上下文中。
在特定实例实施例中,扩增现实(AR)用于帮助用户捕获用于MVIDMR中的多个图像。举例来说,虚拟导引件可从移动装置经***到现场图像数据中。虚拟导引件可帮助用户沿着对创建MVIDMR有用的期望的路径来导引移动装置。AR图像中的虚拟导引件可响应于移动装置的移动。移动装置的移动可从数个不同源确定,包含(但不限于)惯性测量单元及图像数据。
各个方面大体上还涉及用于在产生MVIDMR时提供反馈的***及方法。举例来说,对象辨识可用于辨识存在于MVIDMR中的对象。接着,例如一或多个视觉指示符等反馈可经提供以导引用户收集额外MVIDMR数据来收集对象的高质量MVIDMR。作为另一实例,可确定MVIDMR的目标视图,例如当捕获360度MVIDMR时的终点。接着,例如一或多个视觉指示符等反馈可经提供以导引用户收集额外MVIDMR数据来达到目标视图。
图24展示根据一或多个实施例配置的MVIDMR获取***2400的实例。MVIDMR获取***2400以可用于产生MVIDMR的流序列描绘。根据各个实施例,用于产生MVIDMR的数据可来自各种源。
特定来说,例如(但不限于)二维(2D)图像2404的数据可用于产生MVIDMR。这些2D图像可取决于应用包含彩色图像数据流(例如多个图像序列、视频数据等)或呈各种图像格式中的任何者的多个图像。如在下文将相对于图7A到11B更详细地描述,在图像捕获过程期间,可使用AR***。AR***可接收现场图像数据并使用虚拟数据扩增现场图像数据。特定来说,虚拟数据可包含用于帮助用户引导图像捕获装置的运动的指南。
可用于产生MVIDMR的另一数据源包含环境信息2406。此环境信息2406可从例如加速度计、陀螺仪、磁力计、GPS、WiFi、类IMU***(惯性测量单元***)等源获得。可用于产生MVIDMR的又一数据源可包含深度图像2408。这些深度图像可包含深度、3D或视差图像数据流及类似物,且可由例如(但不限于)立体相机、飞行时间相机、三维相机等装置捕获。
在一些实施例中,接着,数据可在传感器融合块2410处融合在一起。在一些实施例中,可产生MVIDMR,包含2D图像2404及环境信息2406两者的数据组合,而不提供任何深度图像2408。在其它实施例中,可在传感器融合块2410处一起使用深度图像2408及环境信息2406。在2406处取决于应用及可用数据与环境信息一起使用图像数据的各个组合。
在一些实施例中,接着,在传感器融合块2410处已经融合在一起的数据用于内容建模2412及上下文建模2414。特征化于图像中的主主题可分离为内容及上下文。内容可经描写为所关注对象,且上下文可经描写为所关注对象周围的场景。根据各个实施例,内容可为描绘所关注对象的三维模型,但在一些实施例中,内容可为二维图像。此外,在一些实施例中,上下文可为描绘所关注对象周围的场景的二维模型。尽管在许多实例中上下文可提供所关注对象周围的场景的二维视图,但在一些实施例中上下文还可包含三维方面。例如,上下文可经描绘为沿着圆柱形“画布”的“平坦”图像使得“平坦”图像出现在圆柱体的表面上。另外,一些实例可包含三维上下文模型,例如当一些对象在周围场景中被识别为三维对象时。根据各个实施例,由内容建模2412及上下文建模2414提供的模型可通过合并图像及位置信息数据来产生。
根据各个实施例,MVIDMR的上下文及内容基于指定所关注对象确定。在一些实施例中,所关注对象基于图像及位置信息数据的处理自动选取。例如,如果在一系列图像中检测到主要对象,那么此对象可被选择为内容。在其它实例中,可选取用户指定的目标2402,如在图24中展示。然而,应注意,在一些应用中,可在没有用户指定的目标的情况下,产生MVIDMR。
在一些实施例中,可在增强算法块2416处应用一或多个增强算法。在特定实例实施例中,可在MVIDMR数据捕获期间采用各种算法,无论采用的捕获模式的类型为何。这些算法可用于增强用户体验。例如,可在MVIDMR数据捕获期间使用自动帧选择、稳定化、视图内插、滤波及/或压缩。在一些实施例中,可在数据获取之后将这些增强算法应用到图像数据。在其它实例中,可在MVIDMR数据捕获期间将这些增强算法应用到图像数据。
根据各个实施例,自动框架选择可用于创建更令人愉快的MVIDMR。明确来说,框架经自动选择使得其间的转变将更平滑或更均匀。在一些应用中,此自动框架选择可并入模糊及曝光过度检测以及更一致取样姿势使得其更均匀地分布。
在一些实施例中,稳定化可以类似于用于视频的方式的方式用于MVIDMR。特定来说,MVIDMR中的关键帧可经稳定化以产生改进,例如更平滑的转变、内容上的经改进/经增强焦点等。然而,不同于视频,MVIDMR存在许多额外稳定源,例如通过使用IMU信息、深度信息、计算机视觉技术、将稳定化的区的直接选择、面部检测等。
例如,IMU信息对稳定化可能很有帮助。特定来说,IMU信息提供在图像捕获期间可能发生的相机震颤的估计,尽管有时是粗略或嘈杂估计。此估计可用于移除、消除及/或减小此相机震颤的影响。
在一些实施例中,深度信息(如果可用)可用于提供MVIDMR的稳定化。因为MVIDMR中的所关注点是三维而非二维的,所以这些所关注点更受约束且这些点的跟踪/匹配随着搜索空间减小而被简化。此外,用于所关注点的描述符可使用颜色及深度信息两者,且因此变得更加有区别。另外,可较易向自动或半自动内容选择提供深度信息。例如,当用户选择图像的特定像素时,此选择可经扩展以填充触碰其的整个表面。此外,内容还可通过基于深度使用前景/背景差异来自动选择。根据各个实施例,即使当上下文改变时,内容也可保持相对稳定/可见。
根据各个实施例,计算机视觉技术还可用于为MVIDMR提供稳定化。例如,可检测到及跟踪关键点。然而,在例如具有视差的动态场景或静态场景等特定场景中,不存在可使每件事物都稳定的简单经线。因此,存在折衷,其中场景的特定方面接收较多关注来稳定,且场景的其它方面接收较少关注。因为MVIDMR通常聚焦在特定所关注对象上,所以MVIDMR可经内容加权使得所关注对象在一些实例中最大程度地稳定。
改进MVIDMR中的稳定化的另一方式包含屏幕的区域的直接选择。例如,如果用户敲击屏幕的区域上的焦点,那么录制凸面MVIDMR,被敲击的区可被最大程度地稳定。此允许稳定算法聚焦于特定所关注区或对象上。
在一些实施例中,面部检测可用于提供稳定化。例如,当使用前置相机录制时,通常很可能是用户是场景中的所关注对象。因此,面部检测可用于对关于那个区域的稳定化进行加权。当面部检测足够精确时,面部特征本身(例如眼睛、鼻子及嘴巴)可用作要稳定的区,而非使用通用关键点。在另一实例中,用户可选择将图像区用作关键点的源。
根据各个实施例,视图内插可用于改进观看体验。特定来说,为了避免在稳定帧之间出现突然“跳跃”,可实时再现合成的中间视图。此可通过上文所描述的内容加权关键点轨迹及IMU信息来通知,还可通过更密集像素到像素匹配来通知。如果深度信息可用,那么可能发生由失配像素造成的较少伪影,借此简化过程。如上文描述,在一些实施例中,可在MVIDMR的捕获期间应用视图内插。在其它实施例中,可在MVIDMR产生期间应用视图内插。
在一些实施例中,在MVIDMR的捕获或产生期间还可使用滤镜以增强观看体验。正像许多流行的照片共享服务提供可应用到静态二维图像的审美滤镜那样,审美滤镜可类似地被应用到周围图像。然而,因为MVIDMR表示比二维图像更有表现力且三维信息可用于MVIDMR中,所以这些滤镜可经扩展以包含二维照片中定义不明确的效果。例如,在MVIDMR中,当内容保持清晰时,运动模糊可被添加到背景(即上下文)。在另一实例中,投影可被添加到MVIDMR中的所关注对象。
根据各个实施例,压缩也可被用作增强算法2416。特定来说,压缩可用于通过降低数据上传及下载成本来增强用户体验。因为MVIDMR使用空间信息,所以比典型的视频少得多的数据可经发送用于MVIDMR,同时维持MVIDMR期望的质量。明确来说,IMU、关键点轨迹及用户输入与上文描述的视图内插合并全都可减少在MVIDMR的上传或下载期间必须被传送到装置及必须从装置传送的数据的量。例如,如果所关注对象可被切当地识别,那么可针对内容及上下文选取可变压缩方式。在一些实例中,此可变压缩方式可包含较低质量分辨率的背景信息(即上下文)及较高质量分辨率的前景信息(即内容)。在此类实例中,所传输的数据量可通过牺牲一些上下文质量来减小,同时维持内容的期望质量水平。
在本实施例中,在应用任何增强算法之后产生MVIDMR 2418。MVIDMR可提供多视图交互式数字媒体表示。根据各个实施例,MVIDMR可包含内容的三维模型及上下文的二维模型。然而,在一些实例中,上下文可表示沿着例如圆柱形或其它形状的表面等表面所投影的场景或背景的“平坦”视图,使得上下文不仅仅是二维的。在另外其它实例中,上下文可包含三维方面。
根据各个实施例,MVIDMR提供优于传统二维图像或视频的众多优点。这些优点中的一些包含:应付移动场景、移动获取装置或两者的能力;以三维对场景的部件建模的能力;移除非必要、冗余信息及减小输出数据组的存储器占用面积的能力;在内容与上下文之间作出区分的能力;使用内容与上下文之间的差别来改进用户体验的能力;使用内容与上下文之间的差别来改进存储器占用面积的能力(实例可为高质量压缩的内容及低质量压缩的上下文);使允许MVIDMR以高度效率及准确度加索引的特殊特征描述符与MVIDMR相关联的能力;及使用户与MVIDMR的视角交互且改变所述视角的能力。在特定实例实施例中,上文描述的特性可本机并入于MVIDMR表示中,且提供用于各个应用中的能力。例如,MVIDMR可用于增强例如电子商务、视觉搜索、3D打印、文件共享、用户交互及娱乐等各个领域。
根据各个实例实例,一旦MVIDMR 2418产生,就可提供用于额外图像数据的获取2420的用户反馈。特定来说,如果确定MVIDMR需要额外视图来提供内容或上下文的更准确模型,那么可提示用户提供额外视图。一旦这些额外视图由MVIDMR获取***2400接收到,这些额外视图就可由***2400处理并并入到MVIDMR中。
图25展示用于产生MVIDMR 2500的过程流图的实例。在本实例中,在2502处获得多个图像。根据各个实施例,多个图像可包含二维(2D)图像或数据流。这些2D图像可包含可用于产生MVIDMR的位置信息。在一些实施例中,多个图像可包含深度图像。在各个实例中,深度图像还可包含位置信息。
在一些实施例中,当多个图像被捕获时,输出到用户的图像可使用虚拟数据扩增。举例来说,多个图像可使用移动装置上的相机***捕获。输出到移动装置上的显示器的现场图像数据可包含再现成现场图像数据的虚拟数据,例如导引件及状态指示符。导引件可帮助用户导引移动装置的运动。状态指示符可指示产生MVIDMR所需的图像的哪一部分被捕获。虚拟数据可不包含于出于产生MVIDMR的目的捕获到的图像数据中。
根据各个实施例,在2502处获得的多个图像可包含各种源及特性。例如,多个图像可从多个用户获得。这些图像可为从因特网从相同事件的不同用户采集的图像集合,例如在音乐会上获得的2D图像或视频等。在一些实施例中,多个图像可包含具有不同时间信息的图像。特定来说,可在不同时间拍摄相同所关注对象的图像。例如,特定雕像的多个图像可在一天当中的不同时间、不同季节等获得。在其它实例中,多个图像可表示移动对象。例如,图像可包含移动穿过场景的所关注对象,例如沿着道路行进的车辆或行进穿过天空的飞机。在其它例子中,图像可包含也在移动的所关注对象,例如正在跳舞、跑步、投球等的人。
在一些实施例中,在2504处将多个图像融合到内容及上下文模型中。根据各个实施例,特征化于图像中的主题可分离为内容及上下文。内容可经描写为所关注对象,且上下文可经描写为所关注对象周围的场景。根据各个实施例,内容可为描绘所关注对象的三维模型,且在一些实施例中,内容可为二维图像。
根据本实例实施例,可在2506处将一或多个增强算法应用到内容及上下文模型。这些算法可用于增强用户体验。例如,可使用例如自动帧选择、稳定化、视图内插、滤波及/或压缩等增强算法。在一些实施例中,可在图像捕获期间将这些增强算法应用到图像数据。在其它实例中,可在数据获取之后将这些增强算法应用到图像数据。
在本实施例中,在2508处从内容及上下文模型产生MVIDMR。MVIDMR可提供多视图交互式数字媒体表示。根据各个实施例,MVIDMR可包含内容的三维模型及上下文的二维模型。根据各个实施例,取决于捕获模式及图像的视角,MVIDMR模型可包含特定特性。例如,不同风格的MVIDMR的一些实例包含局部凹面MVIDMR、局部凸面MVIDMR及局部平坦MVIDMR。然而,应注意,MVIDMR可取决于应用包含视图与特性的组合。
图26展示一起融合成三维(3D)模型以创建沉浸式体验的多个相机视图的实例。根据各个实施例,多个图像可从各个视角捕获且被融合在一起以提供MVIDMR。在一些实施例中,三个相机2612、2614及2616分别经定位在所关注对象2608附近的位置2622、2624及2626。场景可包围所关注对象2608,例如对象2610。来自其相应相机2612、2614及2616的视图2602、2604及2606包含重叠主题。明确来说,每一视图2602、2604及2606包含所关注对象2608及包围对象2610的场景的不同可见程度。例如,视图2602包含作为包围对象2610的场景的部分的圆柱体前面的所关注对象2608的视图。视图2606展示到圆柱体的一侧的所关注对象2608,且视图2604展示没有圆柱体的任何视图的情况下的所关注对象。
在一些实施例中,各个视图2602、2604及2616与相应地其相关联位置2622、2624及2626一起提供关于所关注对象2608的丰富的信息源及可用于产生MVIDMR的周围上下文。例如,当一起进行分析时,各个视图2602、2604及2626提供关于所关注对象的不同侧的信息及所关注对象与场景之间的关系。根据各个实施例,此信息可用于将所关注对象2608解析成内容,且场景作为上下文。此外,可将各个算法应用到由这些视角产生的图像以在观看MVIDMR时创建沉浸式、交互式体验。
图27说明MVIDMR中的内容与上下文分离的一个实例。根据各个实施例,MVIDMR是场景2700的多视图交互式数字媒体表示。参考图27,展示位于场景2700中的用户2702。用户2702正捕获所关注对象的图像,例如雕像。由用户捕获到的图像构成可用于产生MVIDMR的数字视觉数据。
根据本公开的各个实施例,包含于MVIDMR中的数字视觉数据可在语义上及/或实际上被分离为内容2704及上下文2706。根据特定实施例,内容2704可包含所关注对象、人或场景,而上下文2706表示包围内容2704的场景的剩余元素。在一些实施例中,MVIDMR可将内容2704表示为三维数据,且将上下文2706表示为二维全景背景。在其它实例中,MVIDMR可将内容2704及上下文2706两者表示为二维全景场景。在另外其它实例中,内容2704及上下文2706可包含三维组件或方面。在特定实施例中,MVIDMR描绘内容2704及上下文2706的方式取决于用于获取图像的捕获模式。
在一些实施例中,例如(但不限于):对象、人或对象或人的部分的录制,在仅对象、人或其部分是可见的情况下,其处捕获到的数据看起来是在无穷远处(即,没有对象靠近相机)的大的平坦区的录制及场景的录制,内容2704及上下文2706可为相同。在这些实例中,所产生的MVIDMR可具有类似于其它类型的数字媒体(例如全景)的一些特性。然而,根据各个实施例,MVIDMR包含将其与这些现存类型的数字媒体区分开的额外特征。例如,MVIDMR可表示移动数据。额外,MVIDMR不限于特定圆柱形、球形或平移移动。各种运动可用于使用相机或其它捕获装置捕获图像数据。此外,不同于缝合的全景,MVIDMR可显示相同对象的不同侧。
图28A到28B分别说明凹面及凸面视图的实例,其中两个视图都使用后置相机捕获风格。特定来说,如果使用手机相机,那么这些视图使用背对着用户的手机背面的相机。在特定实施例中,凹面及凸面视图可影响内容及上下文如何被指定于MVIDMR中。
参考图28A,展示凹面视图2800的一个实例,其中用户正沿着垂直轴2808站立。在此实例中,用户拿着相机,使得相机位置2802在图像捕获期间不会离开轴2808。然而,随着用户围绕轴2808枢转,相机捕获用户周围的场景的全景视图,从而形成凹面视图。在此实施例中,由于图像被捕获的方式而完全类似地观看所关注对象2804及远景2806。在此实例中,凹面视图中的所有对象看起来都在无限远处,所以根据此视图,内容等于上下文。
参考图28B,展示凸面视图2820的一个实例,其中用户在捕获所关注对象2824的图像时改变了位置。在此实例中,用户围绕所关注对象2824移动,从而从相机位置2828、2830及2832从所关注对象的不同侧拍摄照片。所获得的图像中的每一者包含所关注对象的视图及远景2826的背景。在本实例中,在此凸面视图中,所关注对象2824表示内容,且远景2826表示上下文。
图29A到30B说明用于MVIDMR的各种捕获模式的实例。尽管各种运动可用于捕获MVIDMR且不限于任何特定类型的运动,但三种通用类型的运动可用于捕获连同MVIDMR描述的特定特征或视图。这三种类型的运动分别可产生局部凹面MVIDMR、局部凸面MVIDMR及局部平坦MVIDMR。在一些实施例中,MVIDMR可包含相同MVIDMR内的各种类型的运动。
参考图29A,展示后置凹面MVIDMR被捕获到的实例。根据各个实施例,局部凹面MVIDMR是其中相机或其它捕获装置的观看角度发散的MVIDMR。在一个维度上,可将此比作捕获球面360全景(纯旋转)所需的运动,但所述运动可经一般化为其中视图面朝外的任何弯曲扫掠运动。在本实例中,体验是静止的观看者看着(可能是动态的)上下文的体验。
在一些实施例中,用户2902正使用后置相机2906捕获朝向世界2900且远离用户2902的图像。如在各个实例中描述,后置相机是指具有背对着用户的相机的装置,例如智能电话背面的相机。相机以凹面运动2908移动,使得视图2904a、2904b及2904c捕获捕获区2909的各个部分。
参考图29B,展示后置凸面MVIDMR被捕获到的实例。根据各个实施例,局部凸面MVIDMR是其中观看角度朝向单个所关注对象收敛的MVIDMR。在一些实施例中,局部凸面MVIDMR可提供环绕一点的体验,使得观看者可看见同一对象的多个侧。可为“所关注对象”的此对象可从MVIDMR分段以变成内容,且任何周围数据可经分段以变成上下文。先前技术无法辨识媒体共享景观中的此类型的观看角度。
在一些实施例中,用户2902正使用后置相机2914捕获朝向世界2900且远离用户2902的图像。相机以凸面运动2910移动,使得视图2912a、2912b及2912c捕获捕获区2911的各个部分。如上文描述,在一些实例中,世界2900可包含所关注对象,且凸面运动2910可环绕此对象。在这些实例中,视图2912a、2912b及2912c可包含此对象的不同侧的视图。
参考图30A,展示前置凹面MVIDMR被捕获到的实例。如在各个实例中描述,前置相机是指具有面朝用户的相机的装置,例如智能电话前面的相机。例如,前置相机通常用于拍摄“自己”(即,用户的自拍像)。
在一些实施例中,相机3020面向用户3002。相机遵循凹面运动3006使得视图3018a、3018b及3018c在角度意义上彼此分散。捕获区3017遵循在周边包含用户的凹面形状。
参考图30B,展示前置凸面MVIDMR被捕获到的实例。在一些实施例中,相机3026面向用户3002。相机遵循凸面运动3022使得视图3024a、3024b及3024c朝向用户3002收敛。如上文描述,各个模式可用于捕获MVIDMR的图像。可在单独图像捕获期间或在场景的连续录制期间使用包含局部凹面、局部凸面及局部线性运动的这些模式。此类录制可在单个会话期间捕获一系列图像。
在一些实施例中,扩增现实***可经实施于例如手机等移动装置上。特定来说,输出到移动装置上的显示器的现场相机数据可使用虚拟对象来扩增。虚拟对象可经再现成现场相机数据。在一些实施例中,虚拟对象可在用于MVIDMR的图像被捕获到时提供用户反馈。
图31及32说明用于使用扩增现实捕获MVIDMR中的图像的过程流的实例。在3102,可从相机***接收现场图像数据。举例来说,可从例如智能电话等手持式移动装置上的一或多个相机接收现场图像数据。图像数据可包含从相机传感器捕获到的像素数据。像素数据因帧的不同而不同。在一些实施例中,像素数据可为2-D。在其它实施例中,深度数据可与像素数据一起包含。
在3104中,可接收传感器数据。举例来说,移动装置可包含具有加速度计及陀螺仪的IMU。传感器数据可用于确定移动装置的定向,例如装置相对于重力向量的倾斜定向。因此,也可确定现场2-D图像数据相对于重力向量的定向。另外,当用户施加的加速度可与归因于重力的加速度分离时,有可能确定移动装置的位置随时间的变化。
在特定实施例中,可确定相机参考系。在相机参考系中,一个轴与垂直于相机透镜的线对准。在电话上使用加速度计,相机参考系可与地球参考系相关。地球参考系可提供3-D坐标***,其中轴中的一者与地球的重力向量对准。相机系与地球参考系之间的关系可被指示为偏航、侧滚及倾斜/仰俯。通常,偏航、侧滚及仰俯这三者中的至少两者通常可从例如智能电话的陀螺仪及加速度计等移动装置上可用的传感器获得。
来自例如智能电话或平板计算机的加速度计等传感器的偏航-侧滚-倾斜信息与来自相机的包含像素数据的数据的组合可用于使相机视野中的2-D像素布置与真实世界中的3-D参考系相关。在一些实施例中,每一照片的2-D像素数据可经转化为参考系,就像搁置在垂直于通过地球的重力中心的轴的水平平面上的相机被映射到像素数据的中心一样,其中垂直于透镜表面穿过透镜中心绘制一条线。此参考系可称为地球参考系。使用像素数据的此校准,定义于地球参考系中的3-D空间中的曲线或对象可经映射到与像素数据(2-D像素数据)相关联的平面。如果深度数据可用,即,相机到像素的距离。那么此信息也可用于变换。
在替代实施例中,其中定义对象的3-D参考系不必是地球参考系。在一些实施例中,对象经绘制在其中且接着再现成2-D像素参考系的3-D参考可相对于地球参考系而定义。在另一实施例中,3-D参考系可相对于识别于像素数据中的对象或表面定义,及接着,像素数据可经校准到此3-D参考系。
作为实例,对象或表面可由识别于像素数据中的数个跟踪点定义。接着,随着相机移动,使用传感器数据及跟踪点的新位置,可确定3-D参考系的定向因系的不同的变化。此信息可用于以现场图像数据再现虚拟数据及/或将虚拟数据再现成MVIDMR。
返回到图31,在3106中,可在现场图像数据中产生与目标相关联的虚拟数据。举例来说,目标可为交叉瞄准线。一般来说,目标可经再现为任何形状或形状的组合。在一些实施例中,经由输入接口,用户可能能够调整目标的位置。举例来说,使用上面输出现场图像数据的显示器上的触摸屏幕,用户可能能够将目标放置在合成图像中的特定位置处。合成图像可包含使用一或多个虚拟对象再现的现场图像数据的组合。
举例来说,目标可经放置在出现在图像中的对象上,例如人脸或人。接着,用户可经由接口提供指示目标处于所期望位置中的额外输入。举例来说,用户可在接近目标出现在显示器上的位置处敲击触摸屏幕。接着,可选择目标下方图像中的对象。作为另一实例,接口中的麦克风可用于接收语音命令,其引导图像中目标的位置(例如左移、右移等),且接着确认目标何时处于所期望位置中(例如,选择目标)。
在一些例子中,对象辨识可为可用的。对象辨识可识别图像中的可能对象。接着,现场图像可使用标记经识别对象的数个指示符(例如目标)来扩增。举例来说,例如人、人的部分(例如面部)、汽车、车轮等对象可被标记于图像中。经由接口,人可能够例如经由触摸屏幕接口选择经标记对象中的一者。在另一实施例中,人可能能够提供语音命令来选择对象。举例来说,人可能会说比如“选择面部”或“选择汽车”之类的话。
在3108中,可接收对象选择。对象选择可用于确定图像数据内用于识别跟踪点的区。当图像数据中的区超出目标时,跟踪点可与出现在现场图像数据中的对象相关联。
在3110中,可识别与所选择的对象相关的跟踪点。一旦对象被选择,对象上的跟踪点就可以帧到帧为基础进行识别。因此,如果相机平移或改变定向,那么新帧中的跟踪点的位置可被识别且目标可经再现于现场图像中使得其看起来是停在图像中的被跟踪对象上。在下文更详细论述此特征。在特定实施例中,对象检测及/或辨识可用于每一帧或多数帧,例如以促进识别跟踪点的位置。
在一些实施例中,跟踪对象可指代在2-D图像空间中从帧到帧跟踪一或多个点。一或多个点可与图像中的区域相关联。一或多个点或区域可与对象相关联。然而,对象不必被识别于图像中。举例来说,不必知道2-D图像空间中的对象的边界。此外,不必识别对象类型。举例来说,不必作出关于对象是汽车、是人还是出现在像素数据中的其它事物的确定。代替地,可基于出现在连续帧中的其它图像特性跟踪一或多个点。例如,边缘跟踪、拐角跟踪或形状跟踪可用于从帧到帧跟踪一或多个点。
以在2-D图像空间中描述的方式跟踪对象的一个优点是,不必执行出现在图像中的一或多个对象的3-D重建。3-D重建步骤可涉及例如“从运动恢复结构(SFM)”及/或“同时定位及映射(SLAM)”等操作。3-D重建可涉及测量多个图像中的点及相机姿势及点位置的优化。当此过程被避免时,节省了显著计算时间。举例来说,避免SLAM/SFM计算可使在图像中的对象正在移动时能应用方法。通常,SLAM/SFM计算假定是静态环境。
在3112中,物理世界中的3-D坐标***可与图像相关联,例如地球参考系,如上文描述,其可与和2-D像素数据相关联的相机参考系相关。在一些实施例中,2-D图像数据可经校准使得相关联3-D坐标***经锚定到所选择的目标使得目标处于3-D坐标***的原点。
接着,在3114中,可将2-D或3-D迹线或路径定义于3-D坐标***中。举例来说,例如弧或抛物线等迹线或路径可经映射到垂直于地球参考系中的重力向量的绘制平面。如上文描述,基于相机的定向,例如从IMU提供的信息,包含2-D像素数据的相机参考系可经映射到地球参考系。所述映射可用于将定义于3-D坐标***中的曲线再现成来自现场图像数据的2-D像素数据。接着,包含现场图像数据及作为迹线或路径的虚拟对象的合成图像可经输出到显示器。
一般来说,例如曲线或表面等虚拟对象可经定义于3-D坐标***中,例如地球参考系或与相机的定向相关的某一其它坐标***。接着,虚拟对象可经再现成与现场图像数据相关联的2-D像素数据以创建合成图像。合成图像可经输出到显示器。
在一些实施例中,曲线或表面可与例如人或汽车等对象的3-D模型相关联。在另一实施例中,曲线或表面可与文本相关联。因此,文本消息可经再现成现场图像数据。在其它实施例中,纹理可经指派到3-D模型中的表面。当合成图像被创建时,这些纹理可经再现成与现场图像数据相关联的2-D像素数据。
当曲线经再现于例如地球参考系等3-D坐标***中的绘制平面上时,一或多个所确定跟踪点可经投影到绘制平面上。作为另一实例,与被跟踪的点相关联的质心可经投影到绘制平面上。接着,曲线可相对于投影到绘制平面上的一或多个点定义。举例来说,基于目标位置,点可经确定于绘制平面上。接着,点可用作绘制于绘制平面中的某半径的圆或弧的中心。
在3114中,基于相关联坐标***,可作为AR***的部分将曲线再现成现场图像数据。一般来说,包含多个曲线、线或表面的一或多个虚拟对象可经再现成现场图像数据。接着,包含现场图像数据及虚拟对象的合成图像可实时输出到显示器。
在一些实施例中,再现成现场图像数据的一或多个虚拟对象可用于帮助用户捕获用于创建MVIDMR的图像。举例来说,用户可指示期望创建识别于现场图像数据中的真实对象的MVIDMR。所期望MVIDMR可跨越某角度范围,例如45、90、180度或360度。接着,虚拟对象可经再现为导引件,其中导引件被***到现场图像数据中。导引件可指示移动相机所沿的路径及沿着路径的进度。导引件的***可涉及在3112中根据坐标***修改现场图像数据中的像素数据。
在上述实例中,真实对象可为出现在现场图像数据中的某对象。针对真实对象,可不构建3-D模型。代替地,像素位置或像素区可与2-D像素数据中的真实对象相关联。真实对象的此定义计算成本要比尝试在物理空间中构建真实对象的3-D模型便宜得多。
例如线或表面等虚拟对象可经建模于3-D空间中。虚拟对象可先验地定义。因此,不必实时构建虚拟对象的形状,其计算成本很贵。可出现于图像中的真实对象不是先验已知的。因此,真实对象的3-D模型通常不可用。因此,合成图像可包含经由将跟踪点或区指派到真实对象而仅定义于2-D图像空间中的“真实”对象,以及经建模于3-D坐标***中且接着再现成现场图像数据的虚拟对象。
返回到图31,在3116中,可输出具有一或多个虚拟对象的AR图像。可以特定帧速率接收现场图像数据中的像素数据。在特定实施例中,可以与扩增帧被接收到相同的帧速率输出扩增帧。在其它实施例中,其可以减小的帧速率输出。减小的帧速率可减少计算要求。举例来说,以每秒30帧接收到的现场数据可以每秒15帧输出。在另一实施例中,AR图像可以减小的分辨率输出,例如240p而非480p。减小的分辨率也可用于减少计算要求。
在3118中,可从现场图像数据选择一或多个图像并存储以用于MVIDMR中。在一些实施例中,所存储的图像可包含一或多个虚拟对象。因此,虚拟对象可变成MVIDMR的部分。在其它实施例中,虚拟对象仅作为AR***的部分输出。但经存储用于MVIDMR中的图像数据可不包含虚拟对象。
在另外其它实施例中,可存储作为AR***的部分输出到显示器的虚拟对象的一部分。举例来说,AR***可用于在MVIDMR图像捕获过程期间再现导引件并再现与MVIDMR相关联的标记。标记可经存储于用于MVIDMR的图像数据中。然而,可不存储导引件。为了存储没有外加虚拟对象的图像,可能必须作出副本。副本可使用虚拟数据进行修改且接着输出到显示器,且所存储的原件或原件可在其修改前被存储。
在图32中,图31中的方法继续。在3222中,可接收新的图像数据。在3224中,可接收新的IMU数据(或一般来说传感器数据)。IMU数据可表示相机的当前定向。在3226中,经识别于先前图像数据中的跟踪点的位置可经识别于新图像数据中。
相机可能已倾斜及/或移动。因此,跟踪点可出现在像素数据中的不同位置处。如上文描述,跟踪点可用于定义出现在现场图像数据中的真实对象。因此,识别新图像数据中的跟踪点的位置允许从图像到图像跟踪真实对象。从帧到帧的IMU数据的差异及了解帧被录制的速率可用于帮助从帧到帧确定现场图像数据中的跟踪点的位置的变化。
与出现在现场图像数据中的真实对象相关联的跟踪点可随着时间而变化。随着相机在真实对象周围移动,识别于真实对象上的一些跟踪点可随着真实对象的新部分进入视图及真实对象的其它部分被挡住而从视图出去。因此,在3226中,可作出跟踪点在图像中是否仍可见的确定。另外,可作出关于经标定对象的新部分是否已进入视图的确定。新跟踪点可经添加到新部分以允许继续从帧到帧跟踪真实对象。
在3228中,坐标***可与图像相关联。举例来说,使用从传感器数据确定的相机的定向,像素数据可经校准到先前所描述的地球参考系。在3230中,基于当前放置在对象上的跟踪点及坐标***,可确定目标位置。可将目标放置在在现场图像数据中跟踪的真实对象上。如上文描述,识别于图像中的跟踪点的数目及位置可随着时间随着相机的位置相对于相机改变而改变。因此,2-D像素数据中的目标的位置可改变。表示目标的虚拟对象可经再现成现场相机数据。在特定实施例中,坐标***可基于从跟踪数据识别位置及从IMU(或其它)数据识别定向而定义。
在3232中,可确定现场图像数据中的跟踪位置。跟踪可用于提供与在MVIDMR的图像捕获过程期间相机在物理空间中的位置及定向相关联的反馈。作为实例,如上文描述,轨迹可经再现于垂直于重力向量(例如平行于地面)的绘制平面中。此外,轨迹可相对于放置在出现于现场图像数据中的真实对象上的作为虚拟对象的目标的位置而再现。因此,轨迹可能看起来包围或部分包围对象。如上文描述,目标的位置可从与出现在图像中的真实对象相关联的当前组的跟踪点确定。目标的位置可被投影到所选择的绘制平面上。
在3234中,可确定捕获指示符状态。捕获指示符可用于提供关于用于MVIDMR中的图像数据的哪一部分已被捕获到的反馈。举例来说,状态指示符可指示用于MVIDMR中的图像的一半角度范围已被捕获到。在另一实施例中,状态指示符可用于提供关于相机是否遵循所期望路径并维持在物理空间中的所期望定向的反馈。因此,状态指示符可指示相机的当前路径或定向是合意或不合意的。当相机的当前路径或定向是不合意的时,状态指示符可经配置以指示需要哪一类型的校正,例如(但不限于)更慢地移动相机、重新起始捕获过程、使相机在特定方向上倾斜及/或在特定方向上平移相机。
在3236中,可确定捕获指示符位置。位置可用于将捕获指示符再现成现场图像且产生合成图像。在一些实施例中,捕获指示符的位置可相对于由当前组的跟踪点所指示的图像中的真实对象的位置确定,例如真实对象的上方及左侧。在3238中,可产生合成图像,即使用虚拟对象扩增的现场图像。合成图像可包含目标、轨迹及相应地其经确定位置处的一或多个状态指示符。在3240中,可捕获出于在MVIDMR中使用的目的捕获到的图像数据。如上文描述,所存储的图像数据可为不具有虚拟对象的原始图像数据或可包含虚拟对象。
在3242中,可根据所选择的参数(例如跨越所期望角度范围的MVIDMR)作出关于产生MVIDMR所需的图像是否被捕获到的检查。当捕获还没完成时,可接收新的图像数据且方法可返回到3222。当捕获完成时,虚拟对象可经再现成指示用于MVIDMR的捕获过程完成的现场图像数据,且MVIDMR可被创建。与捕获过程相关联的一些虚拟对象可停止被再现。举例来说,一旦所需图像已被捕获,那么用于帮助在捕获过程期间导引相机的轨迹可不再在现场图像数据中产生。
图33A及33B说明产生扩增现实(AR)图像捕获轨迹以捕获用于MVIDMR中的图像的方面。在图33A中,展示具有显示器3316的移动装置3314。移动装置可包含具有视野3300的至少一个相机(未展示)。在相机的视野3300中选择真实对象3302,其是人。作为目标(未展示)的虚拟对象可能已被用于帮助选择真实对象。举例来说,移动装置3314的触摸屏幕显示器上的目标可能已被放置在对象3302上且接着被选择。
相机可包含捕获视野3300中的光的图像传感器。来自图像传感器的数据可经转换成像素数据。像素数据可在其在显示器3316上输出前被修改以产生合成图像。修改可包含将像素数据中的虚拟对象再现为扩增现实(AR)***的部分。
使用像素数据及对象3302的选择,可确定对象上的跟踪点。跟踪点可定义图像空间中的对象。可展示可附接到对象3302的例如3305、3306及3308等一组当前跟踪点的位置。由于相机在移动装置3314上的位置及定向,捕获到的像素数据中的对象3302的形状及位置可改变。因此,像素数据中的跟踪点的位置可改变。因此,先前定义的跟踪点可从图像数据中的第一位置移动到第二位置。而且,跟踪点可由于对象的部分被挡住而从图像消失。
使用来自移动装置3314的传感器数据,地球参考系3-D坐标***3304可与图像数据相关联。重力向量的方向由箭头3310指示。如上文描述,在特定实施例中,2-D图像数据可相对于地球参考系进行校准。表示重力向量的箭头未经再现成现场图像数据。然而,如果期望,那么表示重力的指示符可经再现到合成图像中。
可确定垂直于重力向量的平面。平面的位置可使用图像中的例如3305、3306及3308等跟踪点确定。使用此信息,在平面中绘制是圆的曲线。圆可经再现到2-D图像数据中且作为AR***的部分输出。如在显示器3316上展示,圆看起来是包围对象3302的。在一些实施例中,圆可用作用于捕获用于MVIDMR中的图像的导引件。
如果移动装置3314上的相机以某方式旋转,例如倾斜旋转,那么对象的形状将在显示器3316上发生改变。然而,可在包含重力向量的方向的空间中确定相机的新定向。因此,可确定垂直于重力向量的平面。平面的位置且因此曲线在图像中的位置可基于从与对象3302相关联的跟踪点确定的对象的质心。因此,曲线可能看起来随着相机3314移动而保持平行于地面,即垂直于重力向量。然而,曲线的位置可随着对象的位置及其在现场图像中的外观形状的改变而在图像中的位置之间移动。
在图33B中,展示包含相机(未展示)及用于从输出来自所述相机的图像数据的显示器3336的移动装置3334。展示相机的相机3320视野中的杯子3322。例如3324及3326等跟踪点已与对象3322相关联。这些跟踪点可定义图像空间中的对象3322。使用来自移动装置3334的IMU数据,参考系已与图像数据相关联。如上文描述,在一些实施例中,像素数据可经校准到参考系。参考系由3-D轴3324指示,且重力向量的方向由箭头3328指示。
如上文描述,可确定相对于参考系的平面。在此实例中,平面平行于与重力向量相关联的轴的方向,与垂直于参考系相反。此平面用于规定用于MVIDMR的越过对象3330的顶部的路径。一般来说,任何平面可经确定于参考系中,且接着,用作导引件的曲线可经再现到所选择的平面中。
使用跟踪点的位置,在一些实施例中,可确定对象3322在参考中的所选择的平面上的质心。例如圆等曲线3330可相对于质心再现。在此实例中,圆经再现在所选择的平面中的对象3322周围。
曲线3330可用作用于沿着特定路径导引相机的轨迹,其中沿着路径捕获到的图像可经转换成MVIDMR。在一些实施例中,可确定沿着路径的相机的位置。接着,可产生指示符,其指示沿着路径的相机的当前位置。在此实例中,当前位置由箭头3332指示。
沿着路径的相机的位置可不直接映射到物理空间,即没有必要确定物理空间中相机的实际位置。举例来说,可从IMU数据及任选地相机的帧速率估计角度变化。角度变化可经映射到沿着曲线移动的距离,其中沿着路径3330移动的距离与在物理空间中移动的距离之比并非是一对一比率。在另一实例中,可估计横穿路径3330的总时间,且接着,可跟踪图像在其期间被记录的时间长度。录制时间与总时间之比可用于指示沿着路径3330的进度。
是弧的路径3330及箭头3332根据其在与现场2-D图像数据相关联的3-D坐标***中的位置经再现成作为虚拟对象的现场图像数据。展示输出到显示器3336的杯子3322、圆3330及箭头3332。如果相机的定向发生改变,例如如果相机被倾斜,那么显示器3336上展示的曲线3330及箭头3332相对于杯子3322的定向可改变。
在特定实施例中,可改变图像数据中的对象3322的大小。举例来说,可通过使用数字缩放使对象的大小更大或更小。在另一实例中,可通过例如在移动装置3334上移动相机,以离对象3322更近或更远来使对象的大小更大或更小。
当对象的大小改变时,跟踪点之间的距离可改变,即,跟踪点之间的像素距离可增加或可减小。距离变化可用于提供比例因子。在一些实施例中,随着对象的大小改变,AR***可经配置以按比例缩放曲线3330及/或箭头3332的大小。因此,可维持曲线相对于对象的大小。
在另一实施例中,曲线的大小可保持固定。举例来说,曲线的直径可与图像的像素高度或宽度相关,例如像素高度或宽度的百分之330。因此,对象3322可能由于使用了变焦或相机的位置发生了变化而看起来增大或缩小。然而,图像中的曲线3330的大小可保持相对固定。
图34说明产生扩增现实(AR)图像捕获轨迹以捕获用于移动装置上的MVIDMR中的图像的第二实例。图34包含在三个时间3400a、3400b及3400c的移动装置。所述装置可包含至少一个相机、显示器、IMU、处理器(CPU)、存储器、麦克风、音频输出装置、通信接口、电力供应器、图形处理器(GPU)、图形存储器及其组合。在三个时间3406a、3406b及3406c展示具有图像的显示器。显示器可与触摸屏幕叠加。
在3406a中,对象3408的图像被输出到处于状态3406a的显示器。对象是矩形框。输出到显示器的图像数据可为来自移动装置上的相机的现场图像数据。相机还可为远程相机。
在一些实施例中,例如3410等目标可经再现到显示器。目标可与现场图像数据合并以创建合成图像。经由电话上的输入接口,用户可能能够调整目标在显示器上的位置。目标可经放置在对象上,且接着可作出额外输入来选择对象。举例来说,可在目标的位置处敲击触摸屏幕。
在另一实施例中,对象辨识可经应用到现场图像数据。指示现场图像数据中的经识别对象的位置的各个标记可经再现到显示器。为了选择对象,可在出现在图像中的标记中的一者的位置处敲击触摸屏幕,或另一输入装置可用于选择经辨识对象。
在对象被选择之后,数个初始跟踪点可经识别于对象上,例如3412、3414及3416。在一些实施例中,跟踪点可不出现在显示器上。在另一实施例中,跟踪点可经再现到显示器。在一些实施例中,如果跟踪点未定位在所关注对象上,用户可能能够选择跟踪点且删除跟踪点或移动跟踪点使得跟踪点位于对象上。
接着,移动装置的定向可改变。定向可包含通过一或多个角度及平移运动的旋转,如在3404中展示。可经由来自装置上的IMU 3402的IMU数据捕获装置的定向变化及当前定向。
随着装置的定向发生变化,可能会挡住例如3412、3414及3416等跟踪点中的一或多者。另外,当前出现在图像中的表面的形状可改变。基于帧之间的变化,可确定各个像素位置处的移动。使用IMU数据及在各个像素位置处的经确定移动,可预测与对象3408相关联的表面。随着相机位置改变,新表面可出现在图像中。新的跟踪点可被添加到这些表面。
如上文描述,移动装置可用于捕获用于MVIDMR中的图像。为了有助于捕获,可使用轨迹或其它导引件扩增现场图像数据以帮助用户正确地移动移动装置。轨迹可包含当与MVIDMR相关联的图像被录制时向用户提供反馈的指示符。在3406c中,现场图像数据使用路径3422扩增。路径的开始及结束由文本“开始”及“结束”指示。沿着路径的距离由阴影区域3418指示。
具有箭头3420的圆用于指示路径上的位置。在一些实施例中,箭头相对于路径的位置可改变。举例来说,箭头可在与路径不对准的方向上在路径或点上方或下方移动。当确定相机相对于对象的定向或相机位置从期望用于产生MVIDMR的路径分散时可以此方式再现箭头。颜色或其它指示符可用于指示状态。举例来说,箭头及/或圆可在移动装置恰当地遵循路径时再现为绿色,且当相机相对于对象的位置/定向小于最优时再现为红色。
图35A及35B说明产生包含用于捕获用于MVIDMR中的图像的状态指示符的扩增现实(AR)图像捕获轨迹的又一实例。由AR***产生的合成图像可由来自相机的使用一或多个虚拟对象扩增的现场图像数据组成。举例来说,如上文描述,现场图像数据可来自移动装置上的相机。
在图35A中,在来自处于第一位置及定向的相机的图像3515中展示对象3500a,其是雕像。可经由交叉瞄准线3504a选择对象3500a。一旦交叉瞄准线被放置在对象上且对象被选择,交叉瞄准线就可随着对象3500a在图像数据中移动而移动并保持在对象上。如上文描述,随着对象的位置/定向在图像中改变,可确定将交叉瞄准线放置于图像中的位置。在一些实施例中,交叉瞄准线的位置可经由跟踪图像中点的移动(即跟踪点)来确定。
在特定实施例中,如果另一对象在被跟踪的对象前面移动,那么没有可能使目标3504a与对象相关联。举例来说,如果一个人在相机前面移动,手经过相机前面或相机被移动使得对象不再出现在相机视野中,那么被跟踪的对象将不再是可见的。因此,没有可能确定与被跟踪的对象相关联的目标的位置。在其中对象重新出现在图像中的例子中,例如如果阻挡对象的视图的人进出视图,那么***可经配置以重新获取跟踪点并重新定位目标。
第一虚拟对象被再现为指示符3502a。指示符3502a可用于指示捕获用于MVIDMR的图像的进度。第二虚拟对象被再现为曲线3510。第三及第四虚拟对象被再现为线3506及3508。第五虚拟对象被再现为曲线3512。
曲线3510可用于描绘相机的路径。而线3506及3508及曲线3512可用于指示用于MVIDMR的角度范围。在此实例中,角度范围是约90度。
在图35B中,相机的位置不同于图35A。因此,图像3525中呈现对象3500b的不同视图。特定来说,相机视图展示比图35A中的视图更多的对象的前面。目标3504b仍被附贴到对象3500b。然而,目标被固定在对象上的不同位置中,即在前表面上,与手臂相反。
在端处具有箭头3520的曲线3516用于指示沿着曲线3510的图像捕获的进度。箭头3520周围的圆3518进一步突出显示箭头的当前位置。如上文描述,箭头3520的位置及方向可用于向用户提供关于相机位置及/或定向从曲线3510的偏差的反馈。基于此信息,用户可在相机正捕获图像数据时调整其位置及/或定向。
线3506及3508仍出现在图像中但相对于对象3500b不同地定位。线再次指示角度范围。在3520中,箭头约位于线3506与3508之间的中间。因此,在对象3500b周围已捕获到约45度的角度。
指示符3502b现在包含阴影区域3522。阴影区域可指示当前捕获到的MVIDMR角度范围的一部分。在一些实施例中,线3506及3508仅可指示被捕获到的MVIDMR中的角度范围的一部分,且总角度范围可经由指示符3502b展示。在此实例中,由指示符3502b展示的角度范围是360度,而线3506及3508展示此范围的一部分,90度。
参考图36,展示可用于实施特定实例的计算机***的特定实例。例如,计算机***3600可用于提供根据上文描述的各个实施例的MVIDMR。根据各个实施例,适于实施特定实施例的***3600包含处理器3601、存储器3603、接口3611及总线3615(例如PCI总线)。
***3600可包含一或多个传感器3609,例如光传感器、加速度计、陀螺仪、麦克风、包含立体或结构光相机的相机。如上文描述,加速度计及陀螺仪可经并入于IMU中。传感器可用于检测装置的移动并确定装置的位置。此外,传感器可用于将输入提供到***中。举例来说,麦克风可用于检测声音或输入语音命令。
在包含一或多个相机的传感器的例子中,相机***可经配置以输出原生视频数据作为现场视频馈送。现场视频馈送可经扩增且接着输出到显示器,例如移动装置上的显示器。原生视频可包含随时间而变化的一系列帧。帧速率通常被描述为每秒帧(fps)。每一视频帧可为每一像素的具有彩色或灰度级值的像素阵列。举例来说,像素阵列大小可为512乘512像素,其中每像素三个颜色值(红、绿及蓝)。三个颜色值可通过每像素不同量个位来表示,例如24个位、30个位、36个位、40个位等。当更多位被指派来表示每一像素的RGB颜色值时,大量颜色值是可能的。然而,与每一图像相关联的数据也增加。可能颜色的数目可称为颜色深度。
现场视频馈送中的视频帧可经传递到包含硬件及软件组件的图像处理***。图像处理***可包含非持久性存储器,例如随机存取存储器(RAM)及视频RAM(VRAM)。另外,可提供用于对视频数据进行操作的例如中央处理单元(CPU)及图形处理单元(GPU)等处理器及用于传输视频数据的通信总线及接口。此外,可提供用于对现场视频馈送中的视频数据执行变换的硬件及/或软件。
在特定实施例中,视频变换组件可包含经配置以执行产生从原生视频数据导出且接着使用虚拟数据扩增的合成图像所需的功能的专门硬件元件。在数据加密中,专门硬件元件可用于执行特定数据变换,即与特定算法相关联的数据加密。以类似方式,专门硬件元件可经提供以执行特定视频数据变换的全部或一部分。这些视频变换组件可与GPU分离,GPU是经配置以执行图形操作的专门硬件元件。对视频帧进行的特定变换的全部或一部分还可使用由CPU执行的软件来执行。
处理***可经配置以接收具有每一像素位置处的第一RGB值的视频帧并应用操作来确定每一像素位置处的第二RGB值。第二RGB值可与包含合成数据的经变换视频帧相关联。在合成图像被产生之后,原生视频帧及/或合成图像可经发送到例如快闪存储器或硬驱动等永久存储器以供存储。另外,合成图像及/或原生视频数据可经发送到帧缓冲器以在与输出接口相关联的一或多个显示器上输出。举例来说,显示器可为移动装置上的显示器或相机上的取景器。
一般来说,用于产生合成图像的视频变换可以其原生分辨率或以不同分辨率应用到原生视频数据。举例来说,原生视频数据可为具有由24个位表示的RGB值且帧速率是24fps的512乘512阵列。在一些实施例中,视频变换可涉及以其原生分辨率对视频数据进行操作及以原生帧速率以其原生分辨率输出经变换视频数据。
在其它实施例中,为了加速过程,视频变换可涉及对视频数据进行操作及以不同于原生分辨率的分辨率、颜色深度及/或帧速率输出经变换视频数据。举例来说,原生视频数据可处于第一视频帧速率下,例如24fps。但可对每一其它帧执行视频变换,且合成图像可以12fps的帧速率输出。替代地,经变换视频数据可通过内插于两个经变换视频帧之间来从12fps速率内插到24fps速率。
在另一实例中,在执行视频变换前,可减小原生视频数据的分辨率。举例来说,当原生分辨率是512乘512个像素时,其可使用例如像素平均化等方法经内插到256乘256像素阵列,且接着变换可经应用到256乘256阵列。经变换视频数据可以较低的256乘256分辨率输出及/或存储。替代地,例如具有256乘256分辨率的经变换视频数据可在输出到显示器及/或存储前经内插到较高分辨率,例如512乘512的其原生分辨率。可单独或连同较粗帧速率使用在应用视频变换前的原生视频数据的粗糙化。
如上文提及,原生视频数据还可具有颜色深度。颜色深度还可在将变换应用到视频数据前被粗糙化。举例来说,颜色深度可在应用变换前从40个位减小到24个位。
如上文描述,来自现场视频的原生视频数据可使用虚拟数据扩增以创建合成图像且接着实时输出。在特定实施例中,实时可与特定延时量相关联,即原生视频数据被捕获到的时间与包含原生视频数据的部分及虚拟数据的合成图像被输出的时间之间的时间。特定来说,延时可小于100微秒。在其它实施例中,延时可小于50微秒。在其它实施例中,延时可小于30微秒。在另外其它实施例中,延时可小于20微秒。在另外其它实施例中,延时可小于10微秒。
接口3611可包含单独输入及输出接口,或可为支持两种操作的统一接口。输入及输出接口的实例可包含显示器、音频装置、相机、触摸屏幕、按钮及麦克风。当在适当软件或固件的控制下行动时,处理器3601负责例如优化等此类任务。还可代替处理器3601或除了处理器3601使用各种特殊配置的装置,例如图形处理器单元(GPU)。完整实施方案也可在定制硬件中完成。接口3611通常经配置以经由网络经由一或多个通信接口(例如无线或有线通信接口)发送及接收数据分组或数据分段。装置支持的接口的特定实例包含以太网接口、帧中继接口、缆线接口、DSL接口、令牌环接口及类似物。
另外,可提供各种十分高速的接口,例如快速以太网接口、吉比特以太网接口、ATM接口、HSSI接口、POS接口、FDDI接口及类似物。一般来说,这些接口可包含适于与适当媒体通信的端口。在一些情况中,其还可包含独立处理器,且在一些例子中,包含易失性RAM。独立处理器可控制如分组交换、媒体控制及管理等此类通信密集任务。
根据各个实施例,***3600使用存储器3603存储数据及程序指令并维持本地侧高速缓冲。举例来说,程序指令可控制操作***及/或一或多个应用程序的操作。一或多个存储器还可经配置以存储接收到的元数据并分批处理所请求的元数据。
***3600可经集成到具有共同壳体的单个装置中。举例来说,***3600可包含相机***、处理***、帧缓冲器、永久存储器、输出接口、输入接口及通信接口。在各个实施例中,单个装置可为如智能电话的移动装置、如Google GlassTM的扩增现实及穿戴式装置或包含多个相机的虚拟现实头戴式耳机,如Microsoft HololensTM。在其它实施例中,***3600可为部分集成的。举例来说,相机***可为远程相机***。作为另一实例,显示器可与剩余组件分离,如在桌面PC上那样。
在如头戴式显示器等穿戴式***的情况中,如上文描述,虚拟导引件可经提供以帮助用户录制MVIDMR。另外,虚拟导引件可经提供以帮助教用户在穿戴式***中如何观看MVIDMR。举例来说,虚拟导引件可经提供于输出到头戴式显示器的合成图像中,所述合成图像指示响应于用户在物理空间中以某方式移动(例如绕着经投影图像走)可从不同角度观看MVIDMR。作为另一实例,虚拟导引件可用于指示用户的头部运动可允许不同观看功能。在又一实例中,虚拟导引件可能指示手可在显示器前行进以例示不同观看功能的路径。
Claims (20)
1.一种方法,其包括:
从指定对象的第一多个图像确定所述对象的对象模型,所述第一多个图像中的每一者是从相应视角捕获,所述对象模型包含多个对象模型组件,所述图像中的每一者与所述对象模型组件中的一或多者对应,所述对象模型组件中的每一者与所述指定对象的相应部分对应;
基于所述多个图像确定所述对象模型组件中的一或多者的相应组件条件信息,所述组件条件信息指示由与所述对象模型组件对应的所述相应对象部分引发的损坏的特性;及
将所述组件条件信息存储在存储装置上。
2.根据权利要求1所述的方法,其中所述对象模型包含所述指定对象的三维骨架。
3.根据权利要求2所述的方法,其中确定所述对象模型包含应用神经网络以估计所述多个图像中的相应者的一或多个二维骨架关节。
4.根据权利要求3所述的方法,其中确定所述对象模型包含估计所述多个图像中的指定者的姿势信息,所述姿势信息包含相机相对于所述指定图像的所述指定对象的位置及角度。
5.根据权利要求4所述的方法,其中确定所述对象模型包含基于所述二维骨架关节及所述姿势信息确定所述指定对象的所述三维骨架。
6.根据权利要求2所述的方法,其中所述对象模型组件至少部分基于所述指定对象的所述三维骨架确定。
7.根据权利要求1所述的方法,其中所述对象模型组件的指定者与所述图像的指定子集及所述对象的指定部分对应,所述方法进一步包括:
基于所述图像的所述指定子集在计算装置处构造所述对象的所述指定部分的多视图表示,所述多视图表示可在一或多个方向上导航。
8.根据权利要求1所述的方法,其中所述特性是选自由以下各者组成的群组:相应对象部分的损坏的估计概率、所述相应对象部分的损坏的估计严重性及所述相应对象部分的损坏的估计类型。
9.根据权利要求1所述的方法,所述方法进一步包括:
基于所述组件条件信息确定经汇总对象条件信息,所述经汇总对象条件信息指示所述对象整体的损坏;及
基于所述经汇总对象条件信息,确定包含所述对象的损坏的视觉表示的所述对象的标准视图。
10.根据权利要求9所述的方法,其中所述对象的损坏的所述视觉表示是热图。
11.根据权利要求9所述的方法,其中所述对象的所述标准视图选自由以下各者组成的群组:所述对象的自顶向下视图、可在一或多个方向上导航的所述对象的多视图表示及所述对象的三维模型。
12.根据权利要求1所述的方法,其中确定所述组件条件信息包括:
将神经网络应用到与所述相应对象模型组件对应的所述图像的子集。
13.根据权利要求12所述的方法,其中所述神经网络接收从所述计算装置处的深度传感器捕获的深度信息作为输入。
14.根据权利要求12所述的方法,其中确定所述组件条件信息进一步包括:
汇总针对与所述相应对象模型组件对应的单独图像计算的神经网络结果。
15.根据权利要求1所述的方法,所述方法进一步包括:
提供现场录制指导以经由所述相机捕获一或多个额外图像,其中所述特性包含统计估计,且其中所述现场录制指导经提供以便减小所述统计估计的统计不确定性。
16.根据权利要求1所述的方法,所述方法进一步包括:
基于所述多个图像在所述计算装置处构造所述指定对象的多视图表示,所述多视图表示可在一或多个方向上导航。
17.根据权利要求1所述的方法,其中所述对象是车辆,且其中所述对象模型包含所述车辆的三维骨架,且其中所述对象模型组件包含左车门、右车门及挡风玻璃中的每一者。
18.一种计算装置,其包括:
处理器,其经配置以从指定对象的第一多个图像确定所述对象的对象模型,所述第一多个图像中的每一者是从相应视角捕获,所述对象模型包含多个对象模型组件,所述图像中的每一者与所述对象模型组件中的一或多者对应,所述对象模型组件中的每一者与所述指定对象的相应部分对应;
存储器,其经配置以基于所述多个图像存储为所述对象模型组件中的一或多者确定的相应组件条件信息,所述组件条件信息指示由与所述对象模型组件对应的所述相应对象部分引发的损坏的特性;及
存储装置,其经配置以存储所述组件条件信息。
19.根据权利要求18所述的计算装置,其中所述对象模型包含所述指定对象的三维骨架,其中确定所述对象模型包含应用神经网络以估计所述多个图像中的相应者的一或多个二维骨架关节,其中确定所述对象模型包含估计所述多个图像中的指定者的姿势信息,所述姿势信息包含所述相机相对于所述指定图像的所述指定对象的位置及角度,且其中确定所述对象模型包含基于所述二维骨架关节及所述姿势信息确定所述指定对象的所述三维骨架。
20.一或多种上面存储有用于执行方法的指令的非暂时性计算机可读媒体,所述方法包括:
从指定对象的第一多个图像确定所述对象的对象模型,所述第一多个图像中的每一者是从相应视角捕获,所述对象模型包含多个对象模型组件,所述图像中的每一者与所述对象模型组件中的一或多者对应,所述对象模型组件中的每一者与所述指定对象的相应部分对应;
基于所述多个图像确定所述对象模型组件中的一或多者的相应组件条件信息,所述组件条件信息指示由与所述对象模型组件对应的所述相应对象部分引发的损坏的特性;及
将所述组件条件信息存储在存储装置上。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962795421P | 2019-01-22 | 2019-01-22 | |
US62/795,421 | 2019-01-22 | ||
PCT/US2020/012592 WO2020154096A1 (en) | 2019-01-22 | 2020-01-07 | Damage detection from multi-view visual data |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113518996A true CN113518996A (zh) | 2021-10-19 |
Family
ID=71735945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080017453.9A Pending CN113518996A (zh) | 2019-01-22 | 2020-01-07 | 从多视图视觉数据进行损坏检测 |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP3915050A4 (zh) |
JP (1) | JP2022523478A (zh) |
CN (1) | CN113518996A (zh) |
AU (1) | AU2020211387A1 (zh) |
CA (1) | CA3126804A1 (zh) |
GB (1) | GB2594657B (zh) |
IL (1) | IL284840B2 (zh) |
WO (1) | WO2020154096A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113628286A (zh) * | 2021-08-09 | 2021-11-09 | 咪咕视讯科技有限公司 | 视频色域检测方法、装置、计算设备及计算机存储介质 |
CN115170739A (zh) * | 2022-07-11 | 2022-10-11 | 杭州时戳信息科技有限公司 | 基于人工智能的车辆三维设计装置 |
CN116055866A (zh) * | 2022-05-30 | 2023-05-02 | 荣耀终端有限公司 | 一种拍摄方法及相关电子设备 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10887582B2 (en) | 2019-01-22 | 2021-01-05 | Fyusion, Inc. | Object damage aggregation |
US11176704B2 (en) | 2019-01-22 | 2021-11-16 | Fyusion, Inc. | Object pose estimation in visual data |
US11783443B2 (en) | 2019-01-22 | 2023-10-10 | Fyusion, Inc. | Extraction of standardized images from a single view or multi-view capture |
US11776142B2 (en) | 2020-01-16 | 2023-10-03 | Fyusion, Inc. | Structuring visual data |
US11562474B2 (en) | 2020-01-16 | 2023-01-24 | Fyusion, Inc. | Mobile multi-camera multi-view capture |
US11605151B2 (en) | 2021-03-02 | 2023-03-14 | Fyusion, Inc. | Vehicle undercarriage imaging |
CN117994753B (zh) * | 2024-04-03 | 2024-06-07 | 浙江浙能数字科技有限公司 | 基于视觉的翻车机入口轨道异常检测装置及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11144889B2 (en) * | 2016-04-06 | 2021-10-12 | American International Group, Inc. | Automatic assessment of damage and repair costs in vehicles |
US9886771B1 (en) | 2016-05-20 | 2018-02-06 | Ccc Information Services Inc. | Heat map of vehicle damage |
CN107358596B (zh) * | 2017-04-11 | 2020-09-18 | 阿里巴巴集团控股有限公司 | 一种基于图像的车辆定损方法、装置、电子设备及*** |
WO2018208791A1 (en) * | 2017-05-08 | 2018-11-15 | Aquifi, Inc. | Systems and methods for inspection and defect detection using 3-d scanning |
-
2020
- 2020-01-07 WO PCT/US2020/012592 patent/WO2020154096A1/en unknown
- 2020-01-07 CN CN202080017453.9A patent/CN113518996A/zh active Pending
- 2020-01-07 IL IL284840A patent/IL284840B2/en unknown
- 2020-01-07 JP JP2021541722A patent/JP2022523478A/ja active Pending
- 2020-01-07 AU AU2020211387A patent/AU2020211387A1/en active Pending
- 2020-01-07 GB GB2110637.2A patent/GB2594657B/en active Active
- 2020-01-07 EP EP20744281.5A patent/EP3915050A4/en active Pending
- 2020-01-07 CA CA3126804A patent/CA3126804A1/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113628286A (zh) * | 2021-08-09 | 2021-11-09 | 咪咕视讯科技有限公司 | 视频色域检测方法、装置、计算设备及计算机存储介质 |
CN113628286B (zh) * | 2021-08-09 | 2024-03-22 | 咪咕视讯科技有限公司 | 视频色域检测方法、装置、计算设备及计算机存储介质 |
CN116055866A (zh) * | 2022-05-30 | 2023-05-02 | 荣耀终端有限公司 | 一种拍摄方法及相关电子设备 |
CN116055866B (zh) * | 2022-05-30 | 2023-09-12 | 荣耀终端有限公司 | 一种拍摄方法及相关电子设备 |
CN115170739A (zh) * | 2022-07-11 | 2022-10-11 | 杭州时戳信息科技有限公司 | 基于人工智能的车辆三维设计装置 |
CN115170739B (zh) * | 2022-07-11 | 2023-09-01 | 杭州时戳信息科技有限公司 | 基于人工智能的车辆三维设计装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2020154096A1 (en) | 2020-07-30 |
GB2594657A (en) | 2021-11-03 |
GB2594657B (en) | 2023-05-03 |
IL284840A (en) | 2021-08-31 |
GB202110637D0 (en) | 2021-09-08 |
CA3126804A1 (en) | 2020-07-30 |
EP3915050A1 (en) | 2021-12-01 |
AU2020211387A1 (en) | 2021-08-12 |
IL284840B (en) | 2022-12-01 |
IL284840B2 (en) | 2023-04-01 |
JP2022523478A (ja) | 2022-04-25 |
EP3915050A4 (en) | 2022-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11989822B2 (en) | Damage detection from multi-view visual data | |
CN113518996A (zh) | 从多视图视觉数据进行损坏检测 | |
US20210312702A1 (en) | Damage detection from multi-view visual data | |
US20200257862A1 (en) | Natural language understanding for visual tagging | |
US11024093B2 (en) | Live augmented reality guides | |
US11776142B2 (en) | Structuring visual data | |
US20230419438A1 (en) | Extraction of standardized images from a single-view or multi-view capture | |
US20210225038A1 (en) | Visual object history | |
US10950032B2 (en) | Object capture coverage evaluation | |
US11972556B2 (en) | Mobile multi-camera multi-view capture | |
US11869135B2 (en) | Creating action shot video from multi-view capture data | |
US20220408019A1 (en) | Viewpoint path modeling | |
US20220254008A1 (en) | Multi-view interactive digital media representation capture | |
US20210037230A1 (en) | Multiview interactive digital media representation inventory verification | |
US20220406003A1 (en) | Viewpoint path stabilization | |
US20240257445A1 (en) | Damage detection from multi-view visual data |
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 |