JP2022523478A - マルチビュー視覚データからの損傷検出 - Google Patents
マルチビュー視覚データからの損傷検出 Download PDFInfo
- Publication number
- JP2022523478A JP2022523478A JP2021541722A JP2021541722A JP2022523478A JP 2022523478 A JP2022523478 A JP 2022523478A JP 2021541722 A JP2021541722 A JP 2021541722A JP 2021541722 A JP2021541722 A JP 2021541722A JP 2022523478 A JP2022523478 A JP 2022523478A
- Authority
- JP
- Japan
- Prior art keywords
- image
- images
- damage
- data
- 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 33
- 238000001514 detection method Methods 0.000 title description 67
- 238000000034 method Methods 0.000 claims description 130
- 238000013528 artificial neural network Methods 0.000 claims description 37
- 238000003860 storage Methods 0.000 claims description 13
- 230000004931 aggregating effect Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 abstract description 2
- 238000013507 mapping Methods 0.000 description 53
- 238000004458 analytical method Methods 0.000 description 40
- 230000033001 locomotion Effects 0.000 description 32
- 239000002131 composite material Substances 0.000 description 26
- 238000004422 calculation algorithm Methods 0.000 description 22
- 230000000875 corresponding effect Effects 0.000 description 18
- 230000005484 gravity Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 17
- 230000003190 augmentative effect Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 239000013598 vector Substances 0.000 description 13
- 230000002776 aggregation Effects 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 12
- 238000011156 evaluation Methods 0.000 description 12
- 208000026940 Microvillus inclusion disease Diseases 0.000 description 11
- 238000004220 aggregation Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 11
- 238000010801 machine learning Methods 0.000 description 11
- 230000006641 stabilisation Effects 0.000 description 10
- 238000011105 stabilization Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000002452 interceptive effect Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 230000002829 reductive effect Effects 0.000 description 8
- 210000000887 face Anatomy 0.000 description 6
- 239000003086 colorant Substances 0.000 description 5
- 230000007613 environmental effect Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000002594 fluoroscopy Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000001755 vocal effect Effects 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 2
- 238000013481 data capture Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004438 eyesight Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000004313 glare Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000010146 3D printing Methods 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 241000238097 Callinectes sapidus Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000005054 agglomeration Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000009987 spinning Methods 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
- 238000005728 strengthening 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 Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (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
複数の画像を分析して、オブジェクトモデルを決定することができる。オブジェクトモデルは複数のコンポーネントを有して良く、画像のそれぞれは1つ以上のコンポーネントに対応して良い。コンポーネント状態情報は、画像に基づいて1つまたは複数のコンポーネントについて決定されて良い。コンポーネントの状態情報は、コンポーネントに対応するオブジェクト部分が被った損傷を示し良い【選択図】図12
Description
この出願は、2019年1月22日に出願された「マルチビュー視覚データからの自動車両損傷検出」と題された米国仮特許出願第62/795,421号(代理人包袋番号FYSNP054P)への35U.S.C.120に基づく優先権を主張し、参照してその全体をすべての目的のためのここに組み込む。
この特許文書の開示の一部には、著作権保護の対象となる資料が含まれている。著作権者は、米国特許商標庁の特許ファイルまたは記録に記載されている特許文書または特許開示のいずれかによる複製に異議を唱えることはないけれども、それ以外の場合はすべての著作権を留保する。
本開示は、一般に、オブジェクトの損傷の検出、より具体的には、マルチビューデータに基づく損傷の自動検出に関する。
車両は、種々の機会に損傷がないか検査する必要がある。たとえば、事故後に車両を検査して、保険金請求や警察の報告を評価またはサポートすることができる。他の例として、車両は、車両のレンタルの前後、または車両を売買する前に検査されて良い。
従来のアプローチを使用した車両検査は、主に手動のプロセスである。通常、人は車両の周りを歩き回り、損傷や状態を手動で記録する。このプロセスは時間がかかり、多大なコストがかかる。手作業による検査結果も人によって異なる。たとえば、人は多かれ少なかれ損傷の評価の経験があるかもしれない。結果のばらつきは、たとえば車両の売買時や保険金請求の評価時に、信頼の欠如と潜在的な経済的損失をもたらす可能性がある。
種々の実施例によれば、本明細書に記載の技術およびメカニズムは、オブジェクトへの損傷を検出するためのシステム、デバイス、方法、および機械可読媒体を提供する。いくつかの実装形態において、オブジェクトの第1の複数の画像から、指定されたオブジェクトのオブジェクトモデルを決定することができる。第1の複数の画像のそれぞれは、それぞれの視点からキャプチャされて良い。オブジェクトモデルは、複数のオブジェクトモデルコンポーネントを含んで良い。各画像は、1つまたは複数のオブジェクトモデルコンポーネントに対応していて良い。オブジェクトモデルコンポーネントのそれぞれは、指定されたオブジェクトのそれぞれの部分に対応して良い。それぞれのコンポーネントの状態情報は、複数の画像に基づいて、1つまたは複数のオブジェクトモデルコンポーネントについて決定されて良い。コンポーネントの状態情報は、オブジェクトモデルコンポーネントに対応するそれぞれのオブジェクト部分が被る損傷の特性を示して良い。コンポーネントの状態情報は、ストレージデバイスに保存されて良い。
いくつかの実装形態において、オブジェクトモデルは、指定されたオブジェクトの3次元スケルトンを含んで良い。オブジェクトモデルを決定することは、ニューラルネットワークを適用して、複数の画像のそれぞれの1つについて1つまたは複数の2次元スケルトンジョイントを推定することを含んで良い。代替的には、または追加的に、オブジェクトモデルを決定することは、複数の画像のうちの指定されたもののポーズ情報を推定することを含んで良く、ポーズ情報は、指定された画像の指定されたオブジェクトに対するカメラの位置および角度を含んで良い。代替的に、または追加的に、オブジェクトモデルを決定することは、二次元スケルトンジョイントおよびポーズ情報に基づいて、指定されたオブジェクトの三次元スケルトンを決定することを含んで良い。オブジェクトモデルコンポーネントは、指定されたオブジェクトの3次元スケルトンに少なくとも部分的に基づいて決定されて良い。
種々の実施例によれば、オブジェクトモデルコンポーネントの指定された1つは、画像の指定されたサブセットおよびオブジェクトの指定された部分に対応して良い。オブジェクトの指定された部分のマルチビュー表現は、画像の指定されたサブセットに基づいて、コンピューティングデバイスで構築されて良い。マルチビュー表現は、1つまたは複数の方向にナビゲートされて良い。特性は、それぞれのオブジェクト部分への推定損傷確率、それぞれのオブジェクト部分への推定損傷の重大度、およびそれぞれのオブジェクト部分への推定タイプの損傷のうちの1つまたは複数であって良い。
いくつかの実施例において、集約されたオブジェクト条件情報は、コンポーネント条件情報に基づいて決定されて良い。集約されたオブジェクトの状態情報は、オブジェクト全体の損傷を示して良い。集約されたオブジェクト状態情報に基づいて、オブジェクトへの損傷の視覚的(ビジュアル)表現を含み得るオブジェクトの標準ビューを決定して良い。オブジェクトへの損傷の視覚的表現は、ヒートマップであって良い。オブジェクトの標準ビューは、オブジェクトのトップダウンビュー、1つまたは複数の方向にナビゲート可能なオブジェクトのマルチビュー表現、およびオブジェクトの3次元モデルの1つ、または複数を含んで良い。
種々の実施例によれば、コンポーネントの状態情報を決定することは、それぞれのオブジェクトモデルコンポーネントに対応する画像のサブセットにニューラルネットワークを適用することを含んで良い。ニューラルネットワークは、コンピューティングデバイスの深度センサからキャプチャされた深度情報を入力として受け取って良い。コンポーネントの状態情報を決定するには、それぞれのオブジェクトモデルコンポーネントに対応する個別の画像に対して計算されたニューラルネットワークの結果を集約する必要がある。
いくつかの実装形態において、カメラを介して1つまたは複数の追加の画像をキャプチャするためのライブ記録ガイダンスが提供されて良い。特性は、統計的推定を含んで良く、また、統計的推定の統計的不確かさを減少させるために、ライブ記録ガイダンスが提供されて良い。
いくつかの実施例において、指定されたオブジェクトのマルチビュー表現は、複数の画像に基づいてコンピューティングデバイスで構築されて良い。マルチビュー表現は、1つまたは複数の方向にナビゲートできて良い。
いくつかの実装形態において、オブジェクトは車両であって良く、オブジェクトモデルは車両の三次元スケルトンを含んで良い。オブジェクトモデルコンポーネントは、左側の車両ドア、右側の車両ドア、およびフロントガラスのそれぞれを含んで良い。
含まれる図面は、例示を目的とするものであり、ここに開示された画像処理のためのこの発明のシステム、装置、方法、およびコンピュータプログラム製品の可能な構造および操作の例を提供するためにのみ役立つ。これらの図面は、開示された実装の精神および範囲から逸脱することなく、当業者によって行われ得る形態および詳細の変更を制限するものではない。
1つまたは複数の実施例に従って実行される損傷検出方法の一例を示している。
1つまたは複数の実施例に従って生成された損傷表現の例を示している。
種々の実施例に従って実行された、損傷検出データキャプチャ方法の一例を示している。
種々の実施例に従って実行された、コンポーネントレベルの損傷検出の方法を示している。
1つまたは複数の実施例に従って実行される、オブジェクトレベルの損傷検出方法を示している。
1つまたは複数の実施例に従って実行される損傷検出集約方法の一例を示している。
1つまたは複数の実施例に従って実行される損傷検出集約方法の特定の例を示している。
1つまたは複数の実施例に従って実行される、透視図画像の幾何学的分析を実行するための方法の一例を示す。
1つまたは複数の実施例に従って実行される、透視図画像からトップダウンビューへのマッピングを実行するための方法の一例を示している。
1つまたは複数の実施例に従って実行される、トップダウンビューから透視画像へのマッピングを実行するための方法の一例を示している。
1つまたは複数の実施例に従って実行される、オブジェクト被覆率を分析するための方法を示している。
1つまたは複数の実施例に従って生成された、車両のトップダウン画像から透視図(遠近法)フレームへの20点のマッピングの例を示している。
1つまたは複数の実施例に従って処理された画像を示している。
1つまたは複数の実施例に従って処理された画像を示している。
1つまたは複数の実施例に従って処理された画像を示している。
1つまたは複数の実施例に従って処理された、損傷が検出された透視図画像の例を示している。
1つまたは複数の実施例に従って処理された、損傷が検出された透視図画像の例を示している。
1つまたは複数の実施例に従って損傷がマッピングされ、処理された3Dモデルの2D画像の特定の例を示している。
1つまたは複数の実施例による、損傷がマッピングされ、ヒートマップとして表されたトップダウン画像の一例を示している。
1つまたは複数の実施例に従って処理された透視図画像の特定の例を示している。
1つまたは複数の実施例に従って分析された、透視図画像の3Dモデルの一例を示している。
1つまたは複数の実施例に従って処理された、損傷がマッピングされ、ヒートマップとして表されたトップダウン画像の一例を示している。
1つまたは複数の実施例に従って処理された、透視図画像にマッピングされたトップダウン画像の特定の例を示している。
1つまたは複数の実施例に従って構成されたMVIDMR取得システムの例を示している。
1つまたは複数の実施例に従って実行される、MVIDMRを生成するための方法の一例を示している。
3次元(3D)モデルに融合された複数のカメラビューの一例を示している。
MVIDMRでのコンテンツとコンテキストの分離の一例を示している。
凹面ビューと凸面ビューの例を示しています。どちらのビューもバックカメラキャプチャスタイルを使用している。
凹面ビューと凸面ビューの例を示しています。どちらのビューもバックカメラキャプチャスタイルを使用している。
1つ、または、複数の実施例に従って生成された、後ろ向きの凹状MVIDMRの一例を示している。
1つ、または、複数の実施例に従って生成された、後ろ向きの凹状MVIDMRの一例を示している。
1つ、または、複数の実施例に従って生成された前面、凹面および凸面のMVIDMRの例を示している。
1つ、または、複数の実施例に従って生成された前面、凹面および凸面のMVIDMRの例を示している。
1つまたは複数の実施例に従って実行される、ライブ画像データを使用してターゲットに関連付けられた仮想データを生成するための方法の一例を示している。
1つまたは複数の実施例に従って実行される、MVIDMRを生成するための方法の一例を示している。
MVIDMRで使用される画像をキャプチャするための拡張現実(AR)画像キャプチャトラックを生成するいくつかの態様を示している。
MVIDMRで使用される画像をキャプチャするための拡張現実(AR)画像キャプチャトラックを生成するいくつかの態様を示している。
モバイルデバイスのMVIDMRで使用される画像をキャプチャするための拡張現実(AR)画像キャプチャトラックを生成する一例を示している。
MVIDMRで使用される画像をキャプチャするためのステータスインジケータを含む拡張現実(AR)画像キャプチャトラックを生成する例を示している。
MVIDMRで使用される画像をキャプチャするためのステータスインジケータを含む拡張現実(AR)画像キャプチャトラックを生成する例を示している。
種々の実施例に従って構成されたコンピュータシステムの特定の例を示している。
種々の実施例によれば、ここに記載の技術およびメカニズムを使用して、車両などのオブジェクトへの損傷を識別および表すことができる。損傷検出技術は、訓練を受けていない個人が採用して良い。たとえば、個人がオブジェクトのマルチビューデータを収集し、システムが損傷を自動的に検出して良い。
種々の実施例によれば、種々のタイプの損傷が検出されて良い。車両の場合、そのようなデータは、これに限定されないけれども、引っかき傷、へこみ、パンクしたタイヤ、ガラスのひび割れ、ガラスの破片、またはその他のそのような損傷を含む。
いくつかの実装形態において、ユーザは、損傷検出プロセスを反映する方法でマルチビューデータを収集するように案内されて良い。例えば、システムが損傷が存在する可能性があることを検出した場合、システムは、損傷したオブジェクトの部分の追加の画像を撮影するようにユーザを案内して良い。
種々の実施例によれば、ここに記載された技術およびメカニズムを使用して、複数のキャプチャにわたって一貫している損傷推定値を作成して良い。このように、損傷の推定値は、カメラを使用する個人に依存せず、個人の専門知識に依存しない方法で構築されて良い。このようにして、システムは人間の介入を必要とせずに、瞬時に損傷を自動的に検出できる。
車両への損傷の検出に関して例として種々の技術およびメカニズムがここで記載されているけれども、これらの技術およびメカニズムは、ある範囲のオブジェクトへの損傷を検出するために広く適用可能である。このようなオブジェクトは、住宅、アパート、ホテルの部屋、不動産、動産、設備、宝飾品、家具、オフィス、人、動物などを含むけれども、これらに限定されない。
図1は、損傷検出の方法100を示している。種々の実施例によれば、方法100は、スマートフォンなどのモバイルコンピューティングデバイスで実行することができる。スマートフォンがリモートサーバーと通信していて良い。代替的に、または、追加的に、方法100の一部またはすべては、サーバなどのリモートコンピューティングデバイスで実行されて良い。方法100は、種々のタイプのオブジェクトのいずれかへの損傷を検出するために使用されて良い。しかしながら、例示の目的で、ここに検討される多くの例は、車両を参照して説明される。
102において、オブジェクトのマルチビューデータがキャプチャされる。種々の実施例によれば、マルチビューデータは、種々の視点からキャプチャされた画像を含んで良い。たとえば、ユーザは車両の周りを歩き回り、種々の角度から画像をキャプチャして良い。一部の構成において、マルチビューデータに種々のタイプのセンサからのデータが含まれて良い。例えば、マルチビューデータは、複数のカメラからのデータを含んで良い。他の例として、マルチビューデータは、深度センサからのデータを含んで良い。他の例として、マルチビューデータは、慣性測定ユニット(IMU)から収集されたデータを含んで良い。IMUデータは、位置情報、加速度情報、回転情報、または、1つまたは複数の加速度計またはジャイロスコープから収集された他のそのようなデータを含んで良い。
具体的な実施例において、マルチビューデータを集約して、マルチビュー表現を構築して良い。マルチビューデータ収集、マルチビュー表現の構築、およびその他の機能に関する追加の詳細は、同時係属中の同一出願人の2018年3月23日出願の米国特許出願第15/934,624号(Holzer等)「インタラクティブマルチビュー画像データセットのビデオへの変換」に説明されており、参照してその全体をすべての目的のためにここに組み込む。
104において、キャプチャされたマルチビューデータに基づいてオブジェクトへの損傷が検出される。いくつかの実装形態において、損傷は、ニューラルネットワークでマルチビューデータの一部またはすべてを評価することによって、マルチビューデータの一部またはすべてを参照データと比較することによって、および/または損傷検出のための他の関連する操作によって検出されて良い。損傷検出に関する追加の詳細は、この出願を通じて検討される。
106において、検出された損傷の表現は、記憶媒体に記憶されるか、またはネットワークを介して送信される。種々の実施例によれば、この表現は、種々の情報のいくつか、または、すべてを含んで良い。たとえば、表現は、推定ドル値が含まれて良い。他の例として、表現は、損傷の視覚的描写を含んで良い。さらに他の例として、損傷した部品のリストが提供されて良い。代替的には、または、追加的に、損傷した部品を3DーCADモデルにおいて強調表示して良い。
いくつかの実施例において、損傷の視覚的描写は、実際の損傷の画像を含んで良い。例えば、損傷が104において識別されると、オブジェクトの損傷された部分の画像を含むマルチビューデータの1つまたは複数の部分が選択および/またはトリミング(クロッピング)されて良い。
いくつかの実装形態において、損傷の視覚的描写は、損傷の抽象的なレンダリングを含んで良い。抽象レンダリングは、カラースケールを使用して損傷の確率や重大度を示すヒートマップを含んで良い。代替的に、または、追加的に、抽象的なレンダリングは、トップダウンビューまたは他の変換を使用して損傷を表して良い。オブジェクトの視覚的変形に損傷を提示することにより、オブジェクトの種々の側面への損傷(またはその欠如)を標準化された方法で提示して良い。
図2は、1つまたは複数の実施例に従って生成された損傷表現の例を示している。図2に示されている損傷の表現は、車両のトップダウンビューのほかに、他の視点からのビューを含む。車両の損傷は、種々の方法でトップダウンビューに表示されて良く、たとえば、赤色で表示されて良い。さらに、損傷表現は、損傷が現れる部分など、車両の部分の透視図(perspective view)画像を含んで良い。
図3は、損傷検出データキャプチャの方法300を示している。種々の実施例によれば、方法300は、スマートフォンなどのモバイルコンピューティングデバイスにおいて実行されて良い。スマートフォンがリモートサーバーと通信接続されて良い。方法300は、種々のタイプのオブジェクトのいずれかへの損傷を検出するために使用して良い。しかしながら、例示の目的で、ここで検討される多くの例は、車両を参照して説明される。
オブジェクトの損傷検出のために入力データをキャプチャするための要求は、302で受信される。いくつかの実装形態において、入力データをキャプチャするための要求は、スマートフォンなどのモバイルコンピューティングデバイスで受信されて良い。具体的な実施例において、対象は、自動車、トラック、またはスポーツ多目的車などの車両であって良い。
損傷検出のためのオブジェクトモデルは、304で決定される。種々の実施例によれば、オブジェクトモデルは、損傷の評価および/またはオブジェクトの画像の収集に使用するための参照データを含んで良い。例えば、オブジェクトモデルは、比較のために類似のオブジェクトの1つまたは複数の参照画像を含んで良い。他の例として、オブジェクトモデルは訓練されたニューラルネットワークを含んで良い。さらに他の例として、オブジェクトモデルは、より早い時点でキャプチャされた同じオブジェクトの1つまたは複数の参照画像を含んで良い。さらに他の例として、オブジェクトモデルは、3Dモデル(CADモデルなど)または対応する車両の3Dメッシュ再構成を含んで良い。
いくつかの実施例において、オブジェクトモデルは、ユーザ入力に基づいて決定されて良い。例えば、ユーザは、一般的な車両、または特に自動車、トラック、またはスポーツ多目的車をオブジェクトタイプとして識別して良い。
いくつかの実装形態において、オブジェクトモデルは、方法300の一部としてキャプチャされたデータに基づいて自動的に決定されて良い。この場合、オブジェクトモデルは、306での1つまたは複数の画像のキャプチャ後に決定されて良い。
306において、オブジェクトの画像がキャプチャされる。種々の実施例によれば、オブジェクトの画像をキャプチャすることは、1つまたは複数の種々のセンサからデータを受信することを含んで良い。このようなセンサは、1つまたは複数のカメラ、深度センサ、加速度計、および/またはジャイロスコープを含むけれども、これらに限定されない。センサデータは、視覚データ、運動データ、および/または方向データを含んで良いけれども、これらに限定されない。一部の構成では、オブジェクトの複数の画像がキャプチャされて良い。代替的に、または、追加的に、ビデオ場面(footage)をキャプチャして良い。
種々の実施例によれば、コンピューティングデバイスに配置されたカメラまたは他のセンサは、種々の方法のいずれかでコンピューティングデバイスと通信可能に結合されて良い。例えば、携帯電話またはラップトップの場合、カメラは、コンピューティングデバイス内に物理的に配置されて良い。他の例として、いくつかの構成において、カメラまたは他のセンサがケーブルを介してコンピューティングデバイスに接続されて良い。さらに他の例として、カメラまたは他のセンサは、有線または無線の通信リンクを介してコンピューティングデバイスと通信して良い。
種々の実施例によれば、ここで使用される場合、「深度センサ」という用語は、深度情報を決定するために使用されて良い種々のセンサタイプのいずれかを指すために使用されて良い。例えば、深度センサは、赤外光周波数で動作するプロジェクターおよびカメラを含んで良い。他の例として、深度センサは、可視光周波数で動作するプロジェクターおよびカメラを含んで良い。例えば、ラインレーザーまたは光パターンプロジェクターは、可視光パターンをオブジェクトまたは表面に投影して良く、これは、その後、可視光カメラによって検出されて良い。
キャプチャされた1つまたは複数の画像の1つまたは複数の特徴は、308において抽出される。いくつかの実装形態において、オブジェクトの1つまたは複数の特徴を抽出することは、種々の視点からオブジェクトを提示するマルチビューキャプチャを構築することを含んで良い。マルチビューキャプチャがすでに構築されている場合、マルチビューキャプチャは、306においてキャプチャされた新しい画像に基づいて更新されて良い。代替的に、または、追加的に、特徴抽出は、オブジェクト認識、コンポーネントの識別、方向の検出、または他のそのようなステップなどの1つ以上の操作の実行を含んで良い。
310において、抽出された特徴がオブジェクトモデルと比較される。種々の実施例によれば、抽出された特徴をオブジェクトモデルと比較することは、キャプチャされた1つまたは複数の画像が損傷比較を実行するのに十分であるかどうかを決定するのに適した任意の比較を行うことを含んで良い。そのような操作は、これらに限定されないけれども、キャプチャされた画像へのニューラルネットワークの適用、キャプチャされた画像または複数の参照画像との比較、および/または、図4および5を参照して検討される操作のいずれかを実行することを含む。
オブジェクトの追加の画像をキャプチャするかどうかに関して、312で決定が行われる。いくつかの実装形態において、決定は、すでにキャプチャされた1つまたは複数の画像の分析に少なくとも部分的に基づいて行われて良い。
いくつかの実施例において、予備的な損傷分析は、キャプチャされた1つまたは複数の画像を入力として使用して実施されて良い。損傷分析が決定的でない場合は、追加の画像がキャプチャされて良い。損傷分析を実施するための技術は、図4および5に示される方法400および500に関してさらに詳細に検討あれる。
いくつかの実施例において、システムは、キャプチャされた1つまたは複数の画像を分析して、オブジェクトの十分な部分が損傷分析をサポートするのに十分詳細にキャプチャされているかどうかを判断して良い。例えば、システムは、1つまたは複数のキャプチャ画像を分析して、オブジェクトがすべての側面から描かれているかどうかを判断することができる。他の例として、システムは、1つまたは複数のキャプチャ画像を分析して、オブジェクトの各パネルまたは部分が十分な量の詳細で表示されているかどうかを判断することができる。さらに他の例として、システムは、1つまたは複数のキャプチャ画像を分析して、オブジェクトの各パネルまたは部分が十分な数の視点から表示されているかどうかを判断することができる。
追加の画像をキャプチャすることが決定された場合、つぎに、314において、追加の画像をキャプチャするための画像収集ガイダンスが決定される。いくつかの実装形態において、画像収集ガイダンスは、312で行われた決定を変更するのを支援することができる追加の画像をキャプチャするための任意の適切な指示を含んで良いる。そのようなガイダンスは、追加の画像をターゲット視点からキャプチャするための、または、オブジェクトの指定された部分の付加的な画像をキャプチャするための、または、明快性または詳細性の種々のレベルでの付加的な画像をキャプチャするための指示を含んで良い。たとえば、損傷の可能性が検出された場合、損傷した場所の詳細をキャプチャするためにフィードバックが提供されて良い。
316において、画像収集のフィードバックが実現される。種々の実施例によれば、画像収集フィードバックは、追加の画像を収集する際にユーザを支援するための任意の適切な指示または情報を含んで良い。このようなガイダンスは、ターゲットのカメラ位置、向き、またはズームレベルで画像を収集するための指示を含んで良いけれども、これらに限定されません。代替的に、または追加的に、ユーザは、指定された数の画像またはオブジェクトの指定された部分の画像をキャプチャするための指示を提示されて良い。
例えば、ユーザは、ターゲットの視点から追加の画像をキャプチャする際にユーザを支援するためのグラフィカルガイドを提示されて良い。他の例として、追加の画像をキャプチャする際にユーザをガイドするために、ユーザに書面または口頭の指示が提示されて良い。記録ガイダンスおよび他の関連機能を決定および提供するための追加の技術は、「マルチビューインタラクティブデジタルメディア表現を生成する際の記録ガイダンスの提供」と題された、同時係属中の本出願人の出願に係る2018年5月30日に提出された米国特許出願第15/992,546号(Holzer等)に記載されている。
オブジェクトの追加の画像をキャプチャしないと決定された場合、つぎに、318において、キャプチャされた1つまたは複数の画像が保存される。いくつかの実装形態において、キャプチャされた画像は、図4および5の方法400および500に関して説明されるように、記憶装置に記憶され、損傷検出を実行するために使用されて良い。代替的に、または、付加的に、当該画像は、ネットワークインターフェースを介して、離間した場所に転送されて良い。
図4は、コンポーネントレベルの損傷検出の方法400を示している。種々の実施例によれば、方法400は、スマートフォンなどのモバイルコンピューティングデバイスにおいて実行されて良い。スマートフォンがリモートサーバーと通信により接続されて良い。方法400は、種々のタイプのオブジェクトのいずれかへの損傷を検出するために使用することができる。しかしながら、例示の目的で、ここで検討される多くの例は、車両を参照して説明される。
スケルトンは、402において、入力データから抽出される。種々の実施例によれば、入力データは、図3に示される方法300に関して検討されるように収集された視覚データを含んで良い。代替的に、または、追加的に、入力データは、以前に収集された視覚データを含んで良く、これは、例えば、記録ガイダンスを使用せずに収集された視覚データである。
いくつかの実装形態において、入力データは、種々の視点からキャプチャされたオブジェクトの1つまたは複数の画像を含んで良い。代替的に、または、追加的に、入力データは、オブジェクトのビデオデータを含んで良い。視覚データに加えて、入力データは、IMUデータなどの他のタイプのデータも含んで良い。
種々の実施例によれば、スケルトン検出は、種々の技術のうちの1つまたは複数を含んで良い。このような手法は、機械学習を使用した2Dスケルトン検出、3Dポーズ推定、および1つ以上の2Dスケルトンおよび/またはポーズからのスケルトンの3D再構成を含んで良いけれども、これに限定されない。スケルトン検出およびその他の機能に関する追加の詳細は、2017年2月7日に出願された「クライアントサーバー通信を介したスケルトン検出および追跡」というタイトルの同時係属中の本出願人の出願に係る米国特許出願第15/427,026号(Holzer等)に記載されており、参照してその全体をすべての目的のためにここに組み込む。
オブジェクトに関連付けられ較正画像データは、404において識別される。種々の実施例によれば、較正画像データは、より早い時点での同様のオブジェクトまたは同じオブジェクトの1つまたは複数の参照画像を含んで良い。代替的に、または、追加的に、較正画像データは、オブジェクトへの損傷を識別するために使用されるニューラルネットワークを含んで良い。
スケルトンコンポーネントは、406において、損傷検出のために選択される。いくつかの実装形態において、スケルトンコンポーネントは、オブジェクトのパネルを表して良い。たとえば、車両の場合、スケルトンコンポーネントは、ドアパネル、窓、またはヘッドライトを表して良い。スケルトンコンポーネントは、順次、ランダム、並列、またはオブジェクト上の位置など、任意の適切な順序で選択して良い。
種々の実施例によれば、損傷検出のためにスケルトンコンポーネントが選択される場合、スケルトンコンポーネントのマルチビューキャプチャが構築されて良い。スケルトンコンポーネントのマルチビューキャプチャを構築するには、種々の視点からスケルトンコンポーネントをキャプチャする入力データにおいて種々の画像を識別する必要がある。次に、識別された画像を選択、トリミング、および組み合わせて、スケルトンコンポーネントに固有のマルチビューキャプチャを生成して良い。
スケルトンコンポーネントの視点は、404において、損傷検出のために選択される。いくつかの実装形態において、スケルトンコンポーネントのマルチビューキャプチャに含まれる各視点は、独立して分析されて良い。代替的は、または、追加的に、例えば、オブジェクトへの損傷を識別するように訓練された機械学習モデルへの入力データとして種々の視点を提供することによって、複数の視点を同時に分析して良い。具体的な実施例において、入力データは、他のタイプのデータ、例えば、3D視覚データ、あるいは、深度センサまたは他のタイプのセンサを使用してキャプチャされたデータを含んで良い。
種々の実施例によれば、402~410でのスケルトン分析の1つまたは複数の代替案を使用することができる。例えば、オブジェクト部品(例えば、車両部品)検出器を使用して、オブジェクト部品を直接推定して良い。他の例として、ニューラルネットワークなどのアルゴリズムを使用して、入力画像を、コンポーネントが定義されている車両などのオブジェクトのトップダウンビューに(またはその逆に)マッピングして良い。さらに他の例として、入力画像のピクセルを特定のコンポーネントとして分類するニューラルネットワークなどのアルゴリズムを使用して、コンポーネントを識別して良い。さらに他の例として、コンポーネントレベルの検出器を使用して、オブジェクトの特定のコンポーネントを識別することができる。さらに他の代替案として、車両の3D再構成が計算されて良く、コンポーネント分類アルゴリズムがその3Dモデル上で実行されて良い。結果の分類は、各画像に逆投影できる。さらに他の代替手段として、単一のコンポーネントを識別するために、車両の3D再構成を計算し、車両の既存の3D CADモデルに適合させることができる。
410において、較正画像データが選択された視点と比較され、選択されたスケルトンコンポーネントへの損傷が検出される。種々の実施例によれば、比較は、入力データにニューラルネットワークを適用することを含んで良い。代替的は、または、追加的に、選択された視点と、より早い時点でキャプチャされたオブジェクトの1つまたは複数の参照画像との間の画像比較を実行して良い。
412において、分析のために追加の視点を選択するかどうかに関して決定が行われる。種々の実施例によれば、利用可能なすべての視点が分析されるまで、追加の視点を選択して良い。代替的には、選択されたスケルトンコンポーネントへの損傷の可能性が、指定された程度の確実性で識別されるまで、視点を選択して良い。
選択されたスケルトンコンポーネントの損傷検出結果は414で集約される。種々の実施例によれば、損傷検出結果は、種々の視点から、パネルごとに単一の損傷検出結果になり、スケルトンコンポーネントの損傷結果をもたらす。例えば、車両ドアなどの車両パネルへの損傷の確率および/または重大度を示すヒートマップを作成して良い。種々の実施例によれば、種々のタイプの凝集アプローチを使用して良い。例えば、種々の視点について410で決定された結果は平均化されて良い。他の例として、種々の結果を使用して、トップダウンビューなどの一般的な表現に「投票」して良い。次に、投票がパネルまたはオブジェクト部分に対して十分に一貫している場合、損害が報告されて良い。
416において、分析のために追加のスケルトンコンポーネントを選択するかどうかに関して、決定が行われる。いくつかの実装態様において、使用可能なすべてのスケルトンコンポーネントが分析されるまで、追加のスケルトンコンポーネントが選択されて良い。
オブジェクトの損傷検出結果は414において集約される。種々の実施例によれば、種々のコンポーネントの損傷検出結果は、オブジェクト全体の単一の損傷検出結果に集約されて良い。たとえば、集約された損傷結果の作成には、図11に示すように、トップダウンビューの作成が含まれて良い。他の例として、集約された損傷結果の作成には、図11において示されているように、損傷として識別されたオブジェクトの部分の標準化された、または適切な視点の識別が含まれて良い。さらに他の例として、集約された損傷結果を作成するには、損傷した部分をマルチビュー表現でタグ付けする必要がる。さらに他の例として、集約された損傷結果を作成するには、マルチビュー表現にヒートマップをオーバーレイする必要がある。さらに他の例として、集約された損傷結果を作成するには、影響を受けるパーツを選択してユーザに提示する必要がある。提示は、リストとして、3D CADモデルで強調表示された要素として、または、その他の適切な方法で行ってよい。
具体的な実施例において、ここに記載の技術およびメカニズムは、追加の入力を提供するために人間が関与して良い。たとえば、人間は損傷結果を確認したり、不確定な損傷検出結果を解決したり、プレゼンテーションビューに含める損傷結果画像を選択したりして良い。他の例として、人間のレビューを使用して、計算された結果が正しく、必要に応じて調整されることを保証するために、1つまたは複数のニューラルネットワークをトレーニングして良い。
図5は、1つまたは複数の実施例に従って実行される、オブジェクトレベルの損傷検出方法500を示している。方法500は、スマートフォンなどのモバイルコンピューティングデバイスにおいて実行されて良い。スマートフォンがリモートサーバーと通信で接続されて良い。方法500は、種々のタイプのオブジェクトのいずれかへの損傷を検出するために使用して良い。
オブジェクトに関連付けられた評価画像データは、502において、識別される。種々の実施例によれば、評価画像データは、種々の視点からキャプチャされた単一の画像を含んで良い。ここで検討されるように、単一の画像は、IMUデータなどの画像以外のデータを含んで良く、マルチビューキャプチャに集約されて良い。
504において、オブジェクトに関連付けられたオブジェクトモデルが、識別されます。一部の実装において、オブジェクトモデルは、オブジェクトの2Dまたは3Dの標準化されたメッシュ、モデル、または抽象化された表現を含んで良い。例えば、評価画像データを分析して、表されるオブジェクトのタイプを決定して良い。次に、そのタイプのオブジェクトの標準化されたモデルを取得して良い。代替的は、または、追加的に、ユーザは、使用するオブジェクトタイプまたはオブジェクトモデルを選択して良い。オブジェクトモデルは、オブジェクトのトップダウンビューを含んで良い。
506において、オブジェクトに関連付けられた較正画像データが、識別される。種々の実施例によれば、較正画像データは、1つまたは複数の参照画像を含んで良い。参照画像は、より早い時点でキャプチャされたオブジェクトの1つまたは複数の画像を含んで良い。代替的は、または、追加的に、参照画像は、類似のオブジェクトの1つまたは複数の画像を含んで良い。例えば、参照画像は、分析されている画像内の車と同じタイプの車の画像を含んで良い。
いくつかの実装形態において、較正画像データは、損傷を識別するように訓練されたニューラルネットワークを含んで良い。例えば、較正画像データは、評価データに含まれる視覚データのタイプからの損傷を分析するように訓練されて良い。
508において、較正データが、オブジェクトモデルにマッピングされる。いくつかの実装形態において、較正データをオブジェクトモデルにマッピングすることは、較正画像からオブジェクトのトップダウンビューにオブジェクトの透視図をマッピングすることを含んで良い。
510において、評価画像データが、オブジェクトモデルにマッピングされる。いくつかの実装形態において、評価画像データをオブジェクトモデルにマッピングすることは、画像データのピクセルとオブジェクトモデル内の点との間のピクセルごとの対応を決定することを含んで良い。このようなマッピングを実行するには、画像に関連付けられたIMUデータから画像のカメラの位置と向きを決定する必要がある。
いくつかの実施例において、画像とトップダウンビューとの間の高密度のピクセルごとのマッピングは、510において、推定されて良い。代替的は、または、追加的に、画像の中心の位置は、トップダウンビューに関して推定されて良い。たとえば、ディープネットなどの機械学習アルゴリズムを使用して、画像のピクセルをトップダウンビューの座標にマッピングして良い。他の例として、オブジェクトの3Dスケルトンのジョイントを推定し、マッピングを定義するために使用して良い。さらに他の例として、コンポーネントレベルの検出器を使用して、オブジェクトの特定のコンポーネントを識別して良い。
いくつかの実施例において、画像内の1つまたは複数のオブジェクト部分の位置を推定して良い。これらの場所を使用して、画像からトップダウンビューにデータをマッピングして良い。たとえば、オブジェクトパーツはピクセル単位で分類できます。他の例として、対象部品の中心位置を決定することができる。他の例として、オブジェクトの3Dスケルトンのジョイントを推定し、マッピングを定義するために使用して良い。さらに他の例として、コンポーネントレベルの検出器を特定のオブジェクトコンポーネントに使用して良い。
いくつかの実装形態において、画像はニューラルネットワークを介してバッチでマッピングされて良い。たとえば、ニューラルネットワークは、種々の視点からキャプチャされたオブジェクトの画像のセットを入力として受け取って良い。次に、ニューラルネットワークは、入力画像のセットに基づいて、オブジェクト全体への損傷を検出して良い。
マップされた評価画像データは、512において、マップされた較正画像データと比較され、差異が識別される。種々の実施例によれば、データは、全体としてマルチビュー表現上でニューラルネットワークを実行することによって比較されて良い。代替的に、または追加的に、評価および画像データを画像ごとに比較することができる。
514において差異が識別されたと判断された場合、516において、識別された差異の表現が決定される。種々の実施例によれば、識別された差異の表現は、全体としてのオブジェクトのヒートマップを含んで良い。たとえば、損傷を示す車両のトップダウンビューのヒートマップを図2に示す。代替的には、損傷した1つまたは複数のコンポーネントを分離して、個別に表示して良い。
518において、検出された損傷の表現は、記憶媒体に記憶されるか、またはネットワークを介して送信される。一部の実装において、表現に推定ドル値が含まれて良い。代替的は、または、追加的に、表現は、損傷の視覚的描写を含んで良い。代替的は、または、追加的に、影響を受ける部品をリストとして表示したり、3DCADモデルで強調表示したりして良い。
具体的な実施例において、全体的なオブジェクト表現の損傷検出は、オブジェクトの1つまたは複数のコンポーネントの損傷表現と組み合わせて良い。例えば、初期の損傷推定がコンポーネントへの損傷の可能性が高いことを示している場合、損傷検出はコンポーネントのクローズアップで実行されて良い。
図6は、1つまたは複数の実施例に従って実行される、オブジェクトへの検出された損傷を集約するための方法600を示している。種々の実施例によれば、方法600は、スマートフォンなどのモバイルコンピューティングデバイスにおいて実行されて良い。スマートフォンがリモートサーバーと通信により接続されて良い。代替的に、または追加的に、方法600の一部またはすべては、サーバなどのリモートコンピューティングデバイスで実行されて良い。方法600は、種々のタイプのオブジェクトのいずれかへの損傷を検出するために使用されて良い。しかしながら、例示の目的で、ここで検討される多くの例は、車両を参照して説明される。
606において、オブジェクトへの損傷を検出するための要求が、受信される。いくつかの実装形態において、損傷を検出するための要求は、スマートフォンなどのモバイルコンピューティングデバイスで受信されて良い。具体的な実施例において、対象は、自動車、トラック、またはスポーツ多目的車などの車両であって良い。
いくつかの実装形態において、損傷を検出するための要求は、入力データを含むか、または参照する場合がある。入力データは、種々の視点からキャプチャされたオブジェクトの1つまたは複数の画像を含んで良い。代替的は、または、追加的に、入力データは、オブジェクトのビデオデータを含んで良い。視覚データに加えて、入力データに、IMUデータなどの他のタイプのデータを含んで良い。
画像は、604において、損傷集約分析のために選択される。種々の実施例によれば、画像は、携帯電話などのモバイルコンピューティングデバイスにおいてキャプチャされて良い。場合によっては、画像はマルチビューキャプチャのビューであって良い。マルチビューキャプチャは、種々の視点からキャプチャされたオブジェクトの種々の画像を含んで良い。例えば、同じオブジェクトの種々の画像が、オブジェクトに対して種々の角度および高さからキャプチャされて良い。
いくつかの実装形態でにおいて、画像は任意の適切な順序で選択されて良い。例えば、画像は、順次、並行して、または他の何らかの順序で分析されて良い。他の例として、画像は、モバイルコンピューティングデバイスによってキャプチャされたときに、またはキャプチャされた順序でライブにより分析されて良い。
具体的な実施例において、分析のための画像を選択することは、画像をキャプチャすることを含み得る。種々の実施例によれば、オブジェクトの画像をキャプチャすることは、1つまたは複数の種々のセンサからデータを受信することを含み得る。このようなセンサは、1つまたは複数のカメラ、深度センサ、加速度計、および/またはジャイロスコープを含むけれども、これらに限定されない。センサデータは、視覚データ、運動データ、および/または方向データを含んで良いけれども、これらに限定されない。いくつかの構成において、オブジェクトの複数の画像がキャプチャされて良い。代替的は、または、追加的に、ビデオ映像をキャプチャして良い。
606において、オブジェクトへの損傷が検出される。種々の実施例によれば、損傷は、選択された画像にニューラルネットワークを適用することによって検出されて良い。ニューラルネットワークは、画像に含まれるオブジェクトへの損傷を特定して良い。具体的な実施例において、損傷はヒートマップとして表すことができる。損傷情報は、損傷の種類や重大度を特定して良い。たとえば、損傷情報は、損傷を軽度、中程度、または重度として識別して良い。他の例として、損傷情報は、損傷をへこみまたは引っかき傷として識別して良い。
選択された透視図画像の標準ビューへのマッピングは、608において決定され、検出された損傷は610で標準ビューにマッピングされる。いくつかの実施例において、標準ビューはユーザ入力に基づいて決定されて良い。例えば、ユーザは、一般的な車両、または特に自動車、トラック、またはスポーツ多目的車をオブジェクトタイプとして識別して良い。
具体的な実施例において、標準ビューは、透視図画像で表されるオブジェクトに対してオブジェクト認識を実行することによって決定することができる。次に、オブジェクトタイプを使用して、その特定のオブジェクトタイプの標準画像を選択できる。代替的には、透視図で表されるオブジェクトに固有の標準ビューを取得して良い。たとえば、損傷が発生する前のより早い時点で、オブジェクトに対してトップダウンビュー、2Dスケルトン、または3Dモデルを構築して良い。
いくつかの実施例において、損傷マッピングは、選択された透視図画像の標準ビューへのマッピングを使用して、606において検出された損傷を標準ビューにマッピングすることによって実行されて良い。たとえば、ヒートマップの色は、パースビュー(透視図)から標準ビューの対応する場所にマッピングできる。他の例として、損傷の重大度および/またはタイプ情報は、同様の方法で透視図から標準図にマッピングされて良い。
一部の実装例において、標準ビューは、オブジェクトの上面と側面を示すオブジェクトのトップダウンビューであって良い。次に、マッピング手順は、画像内の各ポイントをトップダウンビューの対応するポイントにマッピングすることができる。代替的に、または追加的に、マッピング手順は、トップダウンビューの各ポイントを透視図画像の対応するポイントにマッピングして良い。
いくつかの実施例において、ニューラルネットワークは、画像の2Dスケルトンジョイントを推定して良い。次に、事前定義されたマッピングを使用して、透視図画像から標準画像(例えば、トップダウンビュー)にマッピングして良い。たとえば、事前定義されたマッピングは、2Dジョイントによって決定された三角形に基づいて定義して良い。
いくつかの実装形態において、ニューラルネットワークは、3Dモデル(CADモデルなど)と選択された透視図画像との間のマッピングを予測して良い。次に、損傷を3Dモデルのテクスチャマップにマッピングして集約して良い。具体的な実施例において、、構築およびマッピングされた3Dモデルは、次に、グラウンドトゥルース(正解)3Dモデルと比較されて良い。
種々の実施例によれば、グラウンドトゥルース3Dモデルは、表されるタイプのすべてのオブジェクトの標準3Dモデルであって良く、または損傷が検出される前にキャプチャされた透視図画像の初期セットに基づいて構築されて良い。再構築された3Dモデルと予想される3Dモデルとの比較は、集約された損傷推定時に追加の入力ソースまたは重みとして使用されて良い。そのような技術は、ライブ、事前に記録された、またはガイド付きの画像選択および分析と組み合わせて使用して良い。
種々の実施例によれば、スケルトン検出は、種々の技術のうちの1つまたは複数を含んで良い。このような手法は、機械学習を使用した2Dスケルトン検出、3Dポーズ推定、および1つ以上の2Dスケルトンおよび/またはポーズからのスケルトンの3D再構成を含んで良い。スケルトン検出および他の特徴に関する追加の詳細は、2017年2月7日に出願された「クライアントサーバー通信を介したスケルトン検出および追跡」というタイトルの同時係属中の本出願人の出願に係る米国特許出願第15/427,026号(Holzer等)に検討されており、その全体はすべての目的のために参照してここに組み込まれる。
616において、損傷情報は、標準ビューに集約される。種々の実施例によれば、標準ビューでの損傷の集約は、操作610においてマッピングされた損傷を他の透視図画像にマッピングされた損傷と組み合わせることを含み得る。たとえば、種々の透視図画像からの同じコンポーネントの損傷値は、合計、平均化、またはその他の方法で組み合わせて良い。
いくつかの実装形態において、標準ビューでの損傷の集約は、標準ビューでのヒートマップまたはその他の視覚的表現の作成を含んで良い。たとえば、オブジェクトの一部への損傷は、標準ビューでオブジェクトのその部分の色を変更することで表すことができる。
種々の実施例によれば、標準ビューでの損傷の集約は、損傷を1つまたは複数の透視図画像にマッピングして戻すことを含んで良い。例えば、オブジェクトの一部への損傷は、いくつかの透視図画像からの損傷検出情報を集約することによって決定されて良い。次に、その集約された情報は、透視図画像にマッピングされて戻されて良い。マッピングされた後、集約された情報は、独立した画像および/またはオブジェクトのマルチビューキャプチャにレイヤーまたはオーバーレイとして含まれて良い。
損傷確率情報は、614において、選択された画像に基づいて更新される。種々の実施例によれば、損傷確率情報は、検出された損傷が確認される確実性の程度を識別して良い。例えば、所定の透視図において、オブジェクト部分の特定の画像がオブジェクトへの損傷を描写するのか、それとも反射光源からのグレアを描写するのかを確実に決定することが難しい場合がある。したがって、検出された損傷には、確率または他の確実性の指標が割り当てられて良い。ただし、同じオブジェクト部分の種々の透視図を分析すると、確率は0または1に近い値に解決されて良い。
具体的な実施例において、標準ビューでの集約された損傷情報の確率情報は、どのビューから損傷が検出されたかに基づいて更新して良い。たとえば、複数の視点から検出された場合、損傷の可能性が高くなって良い。他の例として、損傷の可能性は、1つまたは複数のクローズアップビューから検出された場合に増加して良い。他の例として、損傷が1つの視点でのみ検出され、他の視点では検出されない場合、損傷の可能性が低下して良い。さらに他の例として、異なる結果を使用して、共通の表現に「投票」することができる。
追加の画像をキャプチャすることが決定された場合、616において、追加の視点キャプチャのガイダンスが提供される。いくつかの実装形態において、画像収集ガイダンスは、不確実性を解決するのを支援できる追加の画像をキャプチャするための任意の適切な指示を含んで良い。そのようなガイダンスは、標的の視点から追加の画像をキャプチャする、オブジェクトの指定された部分の追加の画像をキャプチャする、または種々のレベルの明瞭さ、または、詳細で追加の画像をキャプチャするための指示を含んで良い。たとえば、損傷の可能性が検出された場合、損傷した場所の詳細をキャプチャするためにフィードバックが提供されて良い。
いくつかの実装形態において、動作614に関して検討したように、損傷確率情報を解決するために、追加の視点キャプチャのためのガイダンスが提供されて良い。例えば、特定のオブジェクトコンポーネントについて損傷確率情報が非常に高い(例えば、90+%)または非常に低い場合(たとえば、10-%)、追加の視点キャプチャは不要であって良い。ただし、損傷確率情報が比較的不確定である場合(たとえば、50%)、追加の画像をキャプチャすると、損傷確率を解決するのに役立つであろう。
具体的な実施例において、追加の画像のガイダンスを提供するかどうかを決定するための閾値は、種々の考慮事項のいずれかに基づいて戦略的に決定して良い。例えば、閾値は、以前にキャプチャされたオブジェクトまたはオブジェクトコンポーネントの画像の数に基づいて決定されて良い。他の例として、閾値はシステム管理者によって指定されて良い。
種々の実施例によれば、画像収集フィードバックは、追加の画像を収集する際にユーザを支援するための任意の適切な指示または情報を含で良い。このようなガイダンスは、ターゲットのカメラ位置、向き、またはズームレベルで画像を収集するための指示を含んで良いけれども、これらに限定されない。代替的は、または、追加的に、ユーザは、指定された数の画像またはオブジェクトの指定された部分の画像をキャプチャするための指示を提示されて良い。
例えば、ユーザは、ターゲットの視点から追加の画像をキャプチャする際にユーザを支援するためのグラフィカルガイドを提示されて良い。他の例として、追加の画像をキャプチャする際にユーザをガイドするために、ユーザに書面または口頭の指示が提示されて良い。記録ガイダンスおよび他の関連機能を決定および提供するための追加の技術は、2018年5月30日に出願され、「マルチビューインタラクティブデジタルメディア表現を生成する際の記録ガイダンスの提供」と題された、同時係属中の本出願人に係る米国特許出願第15/992,546号(Holzer等)に記載されている。
618において、分析のために追加の画像を選択するかどうかに関して決定がなされる。いくつかの実装形態において、決定は、すでにキャプチャされた1つまたは複数の画像の分析に少なくとも部分的に基づいて行われて良い。損傷分析が決定的でない場合は、分析のために追加の画像をキャプチャして良い。代替的には、利用可能な各画像を分析して良い。
いくつかの実施例において、システムは、キャプチャされた1つまたは複数の画像を分析して、オブジェクトの十分な部分が損傷分析をサポートするのに十分詳細にキャプチャされているかどうかを判断して良い。例えば、システムは、1または複数のキャプチャ画像を分析して、オブジェクトがすべての側面から描かれているかどうかを判断して良い。他の例として、システムは、1または複数のキャプチャ画像を分析して、オブジェクトの各パネルまたは部分が十分な量の詳細で表示されているかどうかを判断して良い。さらに他の例として、システムは、1または複数のキャプチャ画像を分析して、オブジェクトの各パネルまたは部分が十分な数の視点から表示されているかどうかを判断して良い。
分析のために追加の画像を選択しないことが決定されると、660において、損傷情報が保存される。例えば、損傷情報は、記憶装置に記憶されて良い。代替的は、または、追加的に、画像は、ネットワークインターフェースを介して遠隔地に送信されて良い。
具体的な実施例において、図6に示される操作は、示される順序とは異なる順序で実行されて良い。例えば、オブジェクトへの損傷は、画像を610において標準ビューにマッピングした後、606において、検出して良い。このようにして、損傷検出手順は、画像に反映されるオブジェクトの特定の部分に合わせて調整することができる。
いくつかの実装形態において、図6に示される方法は、図6に示される操作以外の1つまたは複数の操作を含んで良い。例えば、606に関して検討される損傷検出操作は、選択された画像において含まれているオブジェクトまたはオブジェクトコンポーネントを識別するための、1つまたは複数の手順を含んで良い。そのような手順は、例えば、オブジェクトコンポーネントを識別するように訓練されるニューラルネットワークを含んで良い。
図7は、1つまたは複数の実施例に従って実行される、検出された、オブジェクトに対する損傷を集約するための方法700を示している。種々の実施例によれば、方法700は、スマートフォンなどのモバイルコンピューティングデバイスにおいて実行されて良い。スマートフォンがリモートサーバーと通信により接続されて良い。方法700は、種々のタイプのうちの任意のタイプのオブジェクトへの損傷を検出するために使用して良い。しかしながら、例示の目的で、ここで検討される多くの例は、車両を参照して説明される。
図7は、損傷検出のライブ集約を実行するために使用して良い。損傷検出のライブ集約を実行することにより、システムは、車のどの部分が損傷していて、どの部分が損傷していないかについて、より適切な推定値を取得できる。さらに、これに基づいて、システムは、見積もりを改善するために、より多くのデータをキャプチャするようにユーザを直接ガイドできる。種々の実施例によれば、図7に関を参照して検討される1つまたは複数の動作は、図6に関して論じられた対応する動作と実質的に類似するであろう。
オブジェクトへの損傷を検出するための要求は、702において受信される。いくつかの実装形態において、損傷を検出するための要求は、スマートフォンなどのモバイルコンピューティングデバイスで受信されて良い。具体的な実施例において、オブジェクトは、自動車、トラック、またはスポーツ多目的車などの車両であって良い。
いくつかの実装形態において、損傷を検出するための要求は、入力データを含むか、または参照して良い。入力データは、種々の視点からキャプチャされたオブジェクトの1つまたは複数の画像を含んで良い。代替的に、または、追加手的に、入力データは、オブジェクトのビデオデータを含んで良い。視覚データに加えて、入力データは、IMUデータなどの他のタイプのデータを含んで良い。
マルチビュー画像に基づくオブジェクトの3D表現は、704において、決定される。種々の実施例によれば、マルチビュー表現は、704で事前に決定され、検索されて良い。代替的には、マルチビュー表現は、704において作成されて良い。例えば、マルチビュー表現は、モバイルコンピューティングデバイスで収集された入力データに基づいて作成されて良い。
いくつかの実装形態において、マルチビュー表現は、オブジェクトの360度ビューであって良い。代替的には、マルチビュー表現は、オブジェクトの部分的な表現であって良い。種々の実施例によれば、マルチビュー表現を使用して、オブジェクトの3D表現を構築することができる。例えば、3Dスケルトン検出は、複数の画像を含むマルチビュー表現に対して実行されて良い。
706において、損傷分析のために画像をキャプチャするための記録ガイダンスが提供される。いくつかの実装形態において、記録ガイダンスは、カメラを1つまたは複数の特定の位置に配置するようにユーザを案内して良い。次に、これらの位置から画像をキャプチャして良い。記録ガイダンスは、種々の方法のいずれかで提供されて良い。例えば、ユーザは、同様のオブジェクトの事前に記録されたマルチビューキャプチャ内の1つまたは複数の透視図画像と位置合わせするようにカメラを配置するように案内されて良い。他の例として、ユーザは、3次元モデルの1つまたは複数の透視図と位置合わせするようにカメラを配置するように案内され良い。
損傷分析を実行するための画像は、708において、キャプチャされる。種々の実施例によれば、記録ガイダンスは、損傷の検出および集約のためのライブセッションの一部として提供されて良い。記録ガイダンスは、モバイルコンピューティングデバイスでのライブカメラビューを3D表現に合わせるために使用して良い。
いくつかの実装形態において、記録ガイダンスを使用して、特定の方法でオブジェクトの特定の部分をキャプチャするようにユーザをガイドすることができる。例えば、記録ガイダンスを使用して、車両の左正面ドアのクローズアップをキャプチャするようにユーザを案内することができる。
キャプチャされた画像からの損傷情報は、710において、決定される。種々の実施例によれば、損傷は、選択された画像にニューラルネットワークを適用することによって検出されて良い。ニューラルネットワークは、画像に含まれるオブジェクトへの損傷を特定して良い。具体的な実施例において、損傷はヒートマップとして表すことができる。損傷情報は、損傷の種類や重大度を特定して良い。たとえば、損傷情報は、損傷を軽度、中程度、または重度として識別して良い。他の例として、損傷情報は、損傷をへこみまたは引っかき傷として識別して良い。
損傷情報は、712において、標準ビューにマッピングされる。種々の実施例によれば、モバイルデバイスおよび/またはカメラ位置合わせ情報を使用して、損傷検出データを3D表現にマッピングすることができる。代替的に、または追加的で、3D表現を使用して、検出された損傷をトップダウンビューにマッピングして良い。例えば、事前に記録されたマルチビューキャプチャ、所定の3Dモデル、または動的に決定された3Dモデルを使用して、1つまたは複数の透視図画像から標準ビューへのマッピングを作成して良い。
損傷情報は、714において、標準ビューに集約される。いくつかの実装形態において、標準ビューに損傷を集約することは、標準ビューにヒートマップまたは他の視覚的表現を作成することを含んで良い。たとえば、オブジェクトの一部への損傷は、標準ビューでオブジェクトのその部分の色を変更することで表して良い。
種々の実施例によれば、標準ビューでの損傷の集約は、損傷を1つまたは複数の透視図画像にマッピングして戻すことを含んで良い。例えば、オブジェクトの一部への損傷は、いくつかの透視図画像からの損傷検出情報を集約することによって決定されて良い。次に、その集約された情報は、透視図画像にマッピングされて戻されて良い。マッピングされた後、集約された情報は、独立した画像および/またはオブジェクトのマルチビューキャプチャにレイヤーまたはオーバーレイとして含まれて良い。
716において、分析のために追加の画像をキャプチャするかどうかに関して決定がなされる。種々の実施例によれば、検出された損傷についての確実性の程度が指定された閾値を上回ったり下回ったりするのに十分なデータがキャプチャされるまで、分析のために追加の画像をキャプチャして良い。代替的には、デバイスが記録を停止するまで、分析のために追加の画像をキャプチャして良い。
分析のために追加の画像を選択しないと決定された場合、718において、損傷情報が保存される。例えば、損傷情報は、記憶装置に記憶されて良い。代替的に、または、追加手的に、画像は、ネットワークインターフェースを介して遠隔地に送信されて良い。
具体的な実施例において、図7に示される操作は、示される順序とは異なる順序で実行されて良い。例えば、オブジェクトへの損傷は、画像を712において標準ビューにマッピングした後、710において、検出して良い。このようにして、損傷検出手順は、画像に反映されるオブジェクトの特定の部分に合わせて調整することができる。
いくつかの実装形態において、図7に示される方法は、図7に示される操作以外の1つまたは複数の操作を含んで良い。例えば、710に関して説明される損傷検出操作は、選択した画像において含まれるオブジェクトまたはオブジェクトコンポーネントを識別するための1つまたは複数の手順を含んで良い。そのような手順は、例えば、オブジェクトコンポーネントを識別するように訓練されたニューラルネットワークを含んで良い。
図8は、1つまたは複数の実施例に従って実行される、透視図画像の幾何学的分析を実行するための方法800の一例を示す。方法800は、任意の適切なコンピューティングデバイス上で実行することができる。例えば、方法800は、スマートフォンなどのモバイルコンピューティングデバイス上で実行されて良い。代替的に、または追加的に、方法800は、モバイルコンピューティングデバイスと通信するリモートサーバー上で実行されて良い。
オブジェクトのトップダウンマッピングを構築するための要求は、802において、受信される。種々の実施例によれば、要求は、ユーザインターフェースで受信されて良い。804において、1つまたは複数の視点からキャプチャされたオブジェクトのビデオまたは画像セットが識別される。ビデオまたは画像セットは、ここでは「ソースデータ」と呼ばれる。種々の実施例によれば、ソースデータは、オブジェクトの360度のビューを含んで良い。代替的には、ソースデータは、360度未満のカバレッジを持つビューを含んで良い。
いくつかの実施例において、ソースデータは、カメラからキャプチャされたデータを含んで良い。例えば、カメラは、携帯電話などのモバイルコンピューティングデバイス上に配置されて良い。他の例として、1つまたは複数の従来のカメラを使用して、そのような情報を取り込んで良い。
いくつかの実装形態において、ソースデータは、慣性測定ユニット(IMU)から収集されたデータを含んで良い。IMUデータは、カメラの位置、カメラアングル、デバイスの速度、デバイスの加速度、または加速度計やその他のセンサから収集された種々のデータなどの情報を含んで良い。
オブジェクトは、806において、識別される。いくつかの実装形態において、オブジェクトは、ユーザ入力に基づいて識別されて良い。例えば、ユーザは、ドロップダウンメニューなどのユーザインターフェースコンポーネントを介して、オブジェクトを車両または人として識別することができる。
いくつかの実施例において、オブジェクトは、画像認識に基づいて識別されて良い。例えば、ソースデータを分析して、ソースデータのオブジェクトが車両、人、または別のそのようなオブジェクトであると決定することができる。ソースデータは、種々の画像データを含んで良い。しかしながら、マルチビューキャプチャの場合、ソースデータが種々の視点から特定のオブジェクトに焦点を合わせる場合、画像認識手順は、種々の視点ビュー間の共通性を識別して、ソースデータの対象であるオブジェクトを、ソースデータのいくつかの部分には存在するけれども他の部分には存在しない他のオブジェクトから、分離して良い。
808において、2Dメッシュの頂点と面がオブジェクトのトップダウンビューで定義される。種々の実施例によれば、各面は、平面であると近似することができるオブジェクト表面の一部を表すことができる。たとえば、車両がソースデータにキャプチャされている場合、ドアと屋根はわずかに湾曲しているにもかかわらずほぼ平面であるため、車両のドアパネルまたは屋根は2Dメッシュの面として表されて良い。
いくつかの実施例において、2Dメッシュの頂点および面は、ソースデータを分析することによって識別されて良い。代替的に、または追加的に、206におけるオブジェクトの識別は、所定の2Dメッシュの検索を可能にて良い。たとえば、車両オブジェクトは、要求に応じて取得できるデフォルトの2Dメッシュに関連付けられて良い。
可視性角度は、810において、オブジェクトの各頂点について決定される。種々の実施例によれば、可視性角度は、頂点が見えるカメラに対するオブジェクト角度の範囲を示す。いくつかの実施例において、2Dメッシュの可視角は、ソースデータを分析することによって識別されて良い。代替的に、または追加的に、806でのオブジェクトの識別は、所定の2Dメッシュと共に所定の可視角度の検索を可能にして良い。たとえば、車両オブジェクトは、要求に応じて取得できる可視性角度が関連付けられたデフォルトの2Dメッシュに関連付けられて良い。
オブジェクトの3Dスケルトンは、812において、構築される。種々の実施例によれば、3Dスケルトンの構築は、種々の操作のいずれかを含で良い。たとえば、2Dスケルトン検出は、機械学習手順を使用してすべてのフレームで実行されて良い。他の例として、3Dカメラ姿勢推定を実行して、特定のフレームのオブジェクトに対するカメラの位置および角度を決定して良い。さらに他の例として、3Dスケルトンは、2Dスケルトンおよび/またはポーズから再構築されて良い。スケルトン検出に関する追加の詳細は、2017年2月7日に出願された「クライアントサーバー通信を介したスケルトン検出および追跡」と題された、係属中の本出願人に係る米国特許出願第15/427,026号(Holzer等)に記載されており、その内容は、参照して、全体として、そしてあらゆる目的のためにここみ組み込む。
図9は、1つまたは複数の実施例に従って実行される、透視画像からトップダウンビューへのマッピングを実行するための方法900の一例を示している。いくつかの実施例において、方法900は、透視図で表されるオブジェクトの各ピクセルを、そのクラスのオブジェクトの事前定義されたトップダウンビューの対応する点にマッピングするために実行されて良い。
方法900は、任意の適切なコンピューティングデバイス上で実行されて良い。例えば、方法900は、スマートフォンなどのモバイルコンピューティングデバイス上で実行されて良い。代替的に、または追加的に、方法900は、モバイルコンピューティングデバイスと通信するリモートサーバー上で実行されて良い。
オブジェクトのトップダウンマッピングを構築するための要求は、902において、受信される。種々の実施例によれば、要求は、図8に示される方法800に関して検討されるに、幾何学的分析の実行後に生成されて良い。この要求は、トップダウンマッピングを実行する1または複数の画像を特定して良い。
画像からトップダウンへのマッピングのための3Dメッシュは、904において、識別される。3Dメッシュは、オブジェクトの3次元表現を提供し、実際の透視図画像とトップダウンビューとの間の介在表現として機能して良い。
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に示される操作のうちの1つまたは複数は省略されて良い。たとえば、ピクセルを912で背景ピクセルとして設定するのではなく、無視することができる。いくつかの実装形態において、1つ以上の操作を図9に示す順序とは異なる順序で実行して良い。たとえば、ピクセル値は、ピクセル分析中に累積的に集計されて良い。他の例として、ピクセル値は並行して決定されて良い。
図10は、1つまたは複数の実施例に従って実行される、トップダウンビューから透視画像へのマッピングを実行するための方法1000の一例を示している。種々の実施例によれば、トップダウンから画像へのマッピングは、透視画像においてトップダウン画像から位置点を見つけることを指す。
方法1000は、任意の適切なコンピューティングデバイス上で実行することができる。例えば、方法1000は、スマートフォンなどのモバイルコンピューティングデバイス上で実行することができる。代替的に、または追加的に、方法1000は、モバイルコンピューティングデバイスと通信するリモートサーバー上で実行されて良い。
1002において、パースペクティブフレームに対してトップダウンから画像へのマッピングを実行する要求が受信される。1004において、透視画像からトップダウンマッピングについて2Dメッシュと3Dメッシュが識別される。3Dメッシュは、ここでは、3Dスケルトンとも呼ばれる。
1006において、トップダウン画像のポイントが分析のために選択される。種々の実施例によれば、点は任意の適切な順序で選択されて良い。例えば、点は順次選択されて良い。他の例として、位置などの特性に基づいて点を選択して良い。たとえば、トップダウン画像の次の面に移動する前に、指定された面内でポイントを選択できる。
1008において、ポイントと2Dメッシュの交点が識別される。次に、1010において、交差面がフレームに表示されているかどうかについて、決定が行われる。種々の実施例によれば、決定は、交差面の頂点について予備ステップで決定された1つまたは複数の可視性範囲をチェックすることによって部分的に行うことができる。交差面が表示されていない場合、ポイントは破棄されて良い。
交点面が可視であれば、1012において、交点の座標が決定される。種々の実施例によれば、座標点を決定することは、例えば、交差面の頂点に関して点の重心座標を抽出することを含んで良い。
3Dオブジェクトメッシュ上の対応する位置は、1014において、で決定される。種々の実施例によれば、位置は、オブジェクト3Dメッシュ内の対応する交差面の頂点の重みとして重心座標を適用することによって決定されて良い。
1016において、点は、メッシュから透視フレームに投影される。一部の実装態様において、点の投影は、フレームのカメラポーズやオブジェクトの3Dメッシュの評価を含んで良い。例えば、カメラのポーズを使用して、カメラの角度および/または位置を決定して、点の投影を容易にすることができる。
図11は、1つまたは複数の実施例に従って実行される、オブジェクト被覆率を分析するための方法を示している。種々の実施例によれば、方法1100は、スマートフォンなどのモバイルコンピューティングデバイスにおいて実行して良い。スマートフォンがリモートサーバーと通信により接続されて良い。方法1100は、画像のセットおよび/または種々のタイプのオブジェクトのいずれかのマルチビュー表現におけるカバレッジを検出するために使用されて良い。しかしながら、例示の目的で、ここで検討される多くの例は、車両を参照して説明される。
オブジェクトのカバレッジを決定するための要求は、1102において、受信される。いくつかの実装形態において、カバレッジを決定するための要求は、スマートフォンなどのモバイルコンピューティングデバイスで受信されて良い。具体的な実施例において、対象は、自動車、トラック、またはスポーツ多目的車などの車両であって良い。
いくつかの実装形態において、カバレッジを決定するための要求は、入力データを含むか、または参照することができる。入力データは、種々の視点からキャプチャされたオブジェクトの1つまたは複数の画像が含んで良い。代替的に、または、追加手的に、入力データは、オブジェクトのビデオデータを含んで良い。視覚データに加えて、入力データには、IMUデータなどの他のタイプのデータも含まれて良い。
1つまたは複数の画像は1104で前処理される。種々の実施例によれば、1つまたは複数の画像は、スケルトン検出、オブジェクト認識、または3Dメッシュ再構成などの操作を実行するために前処理されて良い。いくつかの操作については、複数の透視図画像からの入力データが使用されて良い。
いくつかの実装形態において、スケルトン検出は、種々の技術のうちの1つまたは複数を含んで良い。このような手法は、機械学習を使用した2Dスケルトン検出、3Dポーズ推定、および1つ以上の2Dスケルトンおよび/またはポーズからのスケルトンの3D再構築を含むけれども、これらに限定されない。スケルトン検出およびその他の特徴に関する追加の詳細は、2017年2月7日に出願された「クライアントサーバー通信を介したスケルトン検出および追跡」というタイトルの同時係属中の本出願人の出願に係る米国特許出願第15/427,026号(Holzer等)に記載されており、その全体はすべての目的のために参照してここに組み込む。
種々の実施例によれば、3Dメッシュなどのオブジェクトの3D表現は、潜在的に関連するテクスチャマップとともに再構築されて良い。代替的には、3D表現は、トップダウンマッピングへのマッピングが定義されている3Dスケルトンに基づくメッシュであって良い。3Dメッシュ表現を生成するとき、それらのフレームに対応するカメラの推定された3Dポーズに基づいて、フレームごとのセグメンテーションおよび/または空間カービングが実行されて良い。3Dスケルトンの場合、このような操作は、特定のフレームの3Dスケルトンを直接推定するニューラルネットワークを使用して、または各フレームの2Dスケルトンジョイント位置を推定し、すべてのカメラ視点のポーズを使用して3Dスケルトンを三角測量するニューラルネットワークを使用して実行されて良い。
種々の実施例によれば、標準の3Dモデルは、表されるタイプのすべてのオブジェクトに使用され得るか、または損傷が検出される前にキャプチャされた透視図画像の初期セットに基づいて構築され得る。そのような技術は、ライブ、事前に記録された、またはガイド付きの画像選択および分析と組み合わせて使用することができる。
画像は、1106において、オブジェクトカバレッジ分析のために選択される。種々の実施例によれば、画像は、携帯電話などのモバイルコンピューティングデバイスでキャプチャされて良い。場合によっては、画像はマルチビューキャプチャのビューであって良い。マルチビューキャプチャは、種々の視点からキャプチャされたオブジェクトの種々の画像を含んで良い。例えば、同じオブジェクトの種々の画像が、オブジェクトに対して種々の角度および高さからキャプチャされて良い。
いくつかの実装形態において、画像は任意の適切な順序で選択されて良い。例えば、画像は、順次、並行して、または他の何らかの順序で分析されて良い。他の例として、画像は、モバイルコンピューティングデバイスによってキャプチャされたときに、またはキャプチャされた順序でライブで分析されて良い。
具体的な実施例において、分析のための画像を選択することは、画像をキャプチャすることを含み得る。種々の実施例によれば、オブジェクトの画像をキャプチャすることは、1つまたは複数の種々のセンサからデータを受信することを含み得る。このようなセンサは、1つまたは複数のカメラ、深度センサ、加速度計、および/またはジャイロスコープを含むけれども、これらに限定されない。センサデータは、視覚データ、運動データ、および/または方向データを含んで良いけれども、これらに限定されない。いくつかの構成において、オブジェクトの複数の画像がキャプチャされて良い。代替的に、または、追加手的に、ビデオ映像をキャプチャして良い。
選択された透視図画像の標準ビューへのマッピングは、1108において、決定される。いくつかの実施例において、標準ビューは、ユーザ入力に基づいて決定されて良い。例えば、ユーザは、一般的な車両、または特に自動車、トラック、またはスポーツ多目的車をオブジェクトタイプとして識別することができる。
いくつかの実装形態において、標準ビューは、オブジェクトの上面と側面を示すオブジェクトのトップダウンビューであって良い。次に、マッピング手順は、画像内の各ポイントをトップダウンビューの対応するポイントにマッピングすることができる。代替的に、または追加的に、マッピング手順は、トップダウンビューの各ポイントを透視図画像の対応するポイントにマッピングすることができる。
種々の実施例によれば、標準的なビューは、オブジェクト認識を実行することによって決定されて良い。次に、オブジェクトタイプを使用して、その特定のオブジェクトタイプの標準画像を選択できる。代替的には、透視図で表されるオブジェクトに固有の標準ビューを取得して良い。たとえば、オブジェクトに対してトップダウンビュー、2Dスケルトン、または3Dモデルを構築して良い。
いくつかの実施例において、ニューラルネットワークは、画像の2Dスケルトンジョイントを推定することができる。次に、事前定義されたマッピングを使用して、透視図画像から標準画像(例えば、トップダウンビュー)にマッピングすることができる。たとえば、事前定義されたマッピングは、2Dジョイントによって決定された三角形に基づいて定義できる。
いくつかの実装形態において、ニューラルネットワークは、3Dモデル(CADモデルなど)と、選択された透視図画像との間のマッピングを予測することができる。次に、カバレッジを3Dモデルのテクスチャマップにマッピングして集約することができる。
選択された画像の対象範囲は、1110において、決定される。種々の実施例によれば、対象範囲は、透視図画像がマッピングされた標準ビューの部分を分析することによって決定することができる。
他の例として、オブジェクトまたはオブジェクトのトップダウン画像は、いくつかのコンポーネントまたは部分に分割されて良い。たとえば、車両は、ドア、フロントガラス、ホイール、およびその他のそのような部品に分割することができる。透視図画像の少なくとも一部がマッピングされている各部分について、その部分が画像によって十分に覆われているかどうかの決定を行うことができる。この決定は、オブジェクトコンポーネントのいずれかのサブ部分が指定された数のマップされたピクセルを欠いているかどうかを決定するなどの操作を含んで良い。
具体的な実施例において、オブジェクトカバレッジは、マッピングされたピクセルの一部またはすべてを含む領域を識別することによって決定することができる。次に、識別された領域を使用して、種々の画像全体のカバレッジを集約できる。
いくつかの実施例において、グリッドまたは他の一連のガイドラインをトップダウンビューに重ねることができる。グリッドは、同一の長方形または他の形状で構成されていて良い。代替的には、グリッドは種々のサイズの部分で構成されて良い。たとえば、図14に示す画像では、ヘッドライトなど、より大きなバリエーションと詳細を含むオブジェクトの部分は、比較的小さなグリッド部分に関連付けられている。
いくつかの実装形態において、グリッド密度は種々の考慮事項間のトレードオフを表して良い。たとえば、グリッドが細かすぎると、透視図画像マッピングのノイズが原因で、グリッドセルにピクセルがマッピングされていないため、多くのグリッドセルが透視図画像に表示されていないものとして誤って識別されるため、フォールスネガティブエラーが発生する可能性がある。ただし、グリッドが粗すぎると、大きなグリッド部分のサブ部分が適切に表現されていなくても、比較的多くのピクセルが大きなグリッド部分にマッピングされる可能性があるため、誤検知エラーが発生する可能性がある。
具体的な実施例において、グリッド部分のサイズは、画像解像度、コンピューティングデバイスの処理能力、画像の数、オブジェクトの詳細レベル、特定のオブジェクト部分の特徴サイズなどの特性、または、他の考慮事項に基づいて戦略的に決定することができる。
具体的な実施例において、カバレッジ評価の指標は、各グリッド部分について選択された画像について決定されて良い。カバレッジ評価の表示は、1つ以上のコンポーネントを含んで良い。例えば、カバレッジ評価の表示は、所与のグリッド部分が選択された画像で表される確率を識別する確率値のなどの一次値を含んで良い。他の例として、カバレッジ評価の表示は、一次値を取り巻く不確実性の程度を識別する不確実性値または標準誤差値などの二次値を含んで良い。カバレッジの表示に含まれる値は、連続値、離散値、またはバイナリ値としてモデル化して良い。
具体的な実施例において、不確実性値または標準誤差値を使用して、種々のフレームにわたって集約することができる。たとえば、特定の画像からの右前ドアのカバレッジに関する信頼度が低いと、不確実性の値が高くなり、右前ドアの総カバレッジを決定する際に、特定の画像に起因する重みが低くなる可能性がある。
いくつかの実装形態において、選択された画像および所与のグリッド部分のカバレッジ評価の表示は、種々の考慮事項のいずれかによって影響を受ける可能性がある。例えば、所与のグリッド部分は、選択された画像が所与のグリッド部分にマッピングされる比較的多数のピクセルを含む場合、選択された画像における比較的高い範囲の確率に関連付けられ得る。他の例として、ピクセルが含まれる画像または画像部分がオブジェクトに比較的近い距離からキャプチャされた場合、ピクセルは、カバレッジ推定への影響に関してアップウェイトされ得る。さらに他の例として、ピクセルが含まれる画像または画像部分が斜めの角度からキャプチャされた場合、ピクセルは、カバレッジ推定への影響に関してダウンウェイトされ得る。対照的に、ピクセルが含まれる画像または画像部分が90度に近い角度からキャプチャされた場合、ピクセルは、カバレッジ推定への影響に関してアップウェイトされる可能性がある。
具体的な実施例において、グリッドの確率値および不確実性値は、グリッドセルに割り当てられたピクセル値の数および確率などの要因に依存し得る。たとえば、Nピクセルが関連するスコアとともにグリッドセルに入る場合、カバレッジの確率はNピクセルの平均確率スコアとしてモデル化でき、不確実性の値はNピクセルの標準偏差としてモデル化できる。他の例として、Nピクセルが関連するスコアとともにグリッドセルに入る場合、カバレッジの確率はNピクセルの平均確率スコアのN倍としてモデル化でき、不確実性値はNピクセルの標準偏差としてモデル化できる。
1112において、分析のために追加の画像を選択するかどうかに関して決定がなされる。種々の実施例によれば、各画像は、順番に、並行して、または任意の適切な順序で分析されて良い。代替的に、または追加的に、画像は、1つまたは複数のコンポーネントレベルおよび/または集約カバレッジレベルが指定された閾値に達するまで分析されて良い。
集約されたカバレッジ推定値は、1114において、選択されたオブジェクトについて決定される。いくつかの実施例において、集約されたカバレッジ推定値を決定することは、種々の画像について1108で決定された種々のピクセルマッピングをオブジェクトの標準ビューにオーバーレイすることを含んで良い。次に、操作1110に関して説明したのと同じタイプの技法を、オーバーレイされた標準ビュー画像に対して実行することができる。しかしながら、そのような技術は、ピクセルマッピングがノイズを伴う可能性があるという欠点に悩まされる可能性があり、そのため、種々の画像は、同じオブジェクト部分にいくつかのピクセルがランダムにマッピングされる可能性がある。
種々の実施例によれば、集約されたカバレッジ推定値を決定することは、種々の画像について1110で決定されたカバレッジエリアを組み合わせることを含んで良い。例えば、各グリッド部分について、任意の画像が指定された閾値を超える確率でグリッド部分をキャプチャするかどうかに関して決定を行うことができる。他の例として、画像レベルのカバレッジ推定値を集約するために、各グリッド部分についてカバレッジ表示の加重平均を決定することができる。
いくつかの実装形態において、集約されたカバレッジ推定値を決定するには、種々のオブジェクトコンポーネントを評価する必要がある。コンポーネントが十分なレベルの詳細または明快さでキャプチャされているかどうかに関して、各コンポーネントに対して決定を行うことができる。例えば、ホイールまたはドアなどのオブジェクトコンポーネントに関連付けられた種々のグリッド部分を組み合わせて、コンポーネント全体のカバレッジ表示を決定することができる。他の例として、グリッドレベルのヒートマップを特定のオブジェクトコンポーネント上で平滑化して、コンポーネントレベルのオブジェクトカバレッジ推定値を決定することができる。
いくつかの実装形態において、集約されたカバレッジ推定値を決定することは、オブジェクトレベルのカバレッジ推定値を決定することを含んで良い。例えば、すべての透視図からのマッピングされたピクセルが、オブジェクトのすべての部分または指定された部分にわたって十分に密であるかどうかに関して決定を行うことができる。
いくつかの実装形態において、集約されたカバレッジ推定値を決定することは、オブジェクトの一部が指定された視点からまたは指定された距離でキャプチャされたかどうかを決定することを含で良い。例えば、指定された距離範囲および/または指定された角度範囲外の距離からキャプチャされたオブジェクト部分の画像または画像部分は、画像カバレッジを決定するときに、ダウンウェイトされるか、または無視されて良い。
いくつかの実装形態において、集約されたカバレッジ推定値はヒートマップとして実装されて良い。ヒートマップはグリッドレベルにある場合もあれば、平滑化されている場合もあります。
いくつかの実施例において、集約されたカバレッジ推定値は、1つまたは複数の方法で変調して良い。例えば、カバレッジ推定値は、指定されたカバレッジ範囲内、下、または上でキャプチャされた視覚データに対して特別に計算されて良い。他の例として、カバレッジ推定値は、カメラに対するオブジェクト表面の指定された角距離内、下、または上でキャプチャされた視覚データに対して特別に計算さて良い。
具体的な実施例において、変調されたカバレッジ推定値は、調整可能な方法で生成および格納されて良い。例えば、ユーザは、ユーザインターフェースでスライダーアフォーダンスをスライドさせて、カバレッジを評価するための最小距離、最大距離、最小角度、および/または最大角度を調整することができる。
追加の画像をキャプチャするかどうかに関して、1116において、決定が行われる。追加の画像をキャプチャすることが決定された場合、1118において、追加の視点キャプチャのガイダンスが提供される。1120において、記録ガイダンスに基づいて1つまたは複数の画像がキャプチャされる。いくつかの実装形態において、画像収集ガイダンスは、カバレッジを改善するのを助けることができる追加の画像をキャプチャするための任意の適切な指示を含んで良い。そのようなガイダンスは、標的の視点から追加の画像をキャプチャするための指示、オブジェクトの指定された部分の追加の画像をキャプチャするための指示、または種々のレベルの明瞭さ、または詳細さで追加の画像をキャプチャするための指示を含んで良い。たとえば、オブジェクトの特定の部分のカバレッジが不十分または欠落している場合、カバレッジが不足しているオブジェクト部分で追加の詳細をキャプチャするためにフィードバックが提供されて良い。
いくつかの実装形態において、操作1110および1114に関して説明したように、オブジェクトのカバレッジを改善するために、追加の視点キャプチャのガイダンスが提供されて良い。例えば、オブジェクトまたはオブジェクト部分のカバレッジが非常に高い場合、追加の視点キャプチャが不要である。ただし、オブジェクトまたはオブジェクトの一部のカバレッジが低い場合は、追加の画像をキャプチャするとカバレッジが向上するであろう。
具体的な実施例において、追加の画像のガイダンスを提供するかどうかを決定するための1つまたは複数の閾値は、種々の考慮事項のいずれかに基づいて戦略的に決定されて良い。例えば、閾値は、以前にキャプチャされたオブジェクトまたはオブジェクトコンポーネントの画像の数に基づいて決定されて良い。他の例として、閾値はシステム管理者によって指定されて良い。さらに他の例として、指定された視点のセットのそれぞれからの画像がキャプチャされるまで、追加の画像がキャプチャされて良い。
種々の実施例によれば、画像収集フィードバックは、追加の画像を収集する際にユーザを支援するための任意の適切な指示または情報を含んで良い。このようなガイダンスには、ターゲットのカメラ位置、向き、またはズームレベルで画像を収集するための指示が含まれて良いけれども、これらに限定されない。代替的に、または、追加手的に、ユーザは、指定された数の画像またはオブジェクトの指定された部分の画像をキャプチャするための指示を提示されて良い。
例えば、ユーザは、ターゲットの視点から追加の画像をキャプチャする際にユーザを支援するためのグラフィカルガイドを提示されて良い。他の例として、追加の画像をキャプチャする際にユーザをガイドするために、ユーザに書面または口頭の指示が提示されて良い。記録ガイダンスおよび他の関連機能を決定および提供するための追加の技術は、2018年5月30日に出願された「マルチビューインタラクティブデジタルメディア表現を生成する際の記録ガイダンスの提供」と題された、同時係属中の本出願人の出願に係る米国特許出願第15/992,546号(Holzer等)に記載されている。
いくつかの実施例において、システムは、キャプチャされた1つまたは複数の画像を分析して、オブジェクトの十分な部分が損傷分析をサポートするのに十分詳細にキャプチャされているかどうかを判断することができる。例えば、システムは、キャプチャ画像または複数の画像を分析して、オブジェクトがすべての側面から描かれているかどうかを判断することができる。他の例として、システムは、キャプチャ画像または複数の画像を分析して、オブジェクトの各パネルまたは部分が十分な量の詳細で表示されているかどうかを判断することができる。さらに他の例として、システムは、キャプチャ画像または複数の画像を分析して、オブジェクトの各パネルまたは部分が十分な数の視点から表示されているかどうかを判断することができる。
分析のために追加の画像を選択しないことが決定されると、1122において、カバレッジ情報が格納される。例えば、カバレッジ情報は、記憶装置に記憶されて良い。代替的に、または、追加手的に、画像は、ネットワークインターフェースを介して遠隔地に送信されて良い。
いくつかの実装形態において、図11に示される方法は、図11に示される操作以外の1つまたは複数の操作を含んで良い。例えば、方法1100は、選択された画像に含まれるオブジェクトまたはオブジェクトコンポーネントを識別するための1つまたは複数の手順を含んで良い。そのような手順は、例えば、オブジェクトコンポーネントを識別するように訓練されたニューラルネットワークを含んで良い。
具体的な実施例において、ここに説明される技術およびメカニズムは、損傷検出分析と併せて使用することができる。種々の実施例によれば、損傷は、選択された画像にニューラルネットワークを適用することによって検出されて良い。ニューラルネットワークは、画像に含まれるオブジェクトへの損傷を特定して良い。具体的な実施例において、損傷はヒートマップとして表すことができる。損傷情報は、損傷の種類や重大度を特定して良い。たとえば、損傷情報は、損傷を軽度、中程度、または重度として識別して良い。他の例として、損傷情報は、損傷をへこみまたは引っかき傷として識別することができる。検出された損傷は、透視図(パースビュー)から標準ビューにマッピングできる。
種々の実施例によれば、損傷情報は、標準的なビューに集約されて良い。標準ビューでの損傷の集計は、1つの透視図にマップされた損傷を他の透視図画像にマップされた損傷と組み合わせることを含んで良い。たとえば、種々の透視図画像からの同じコンポーネントの損傷値は、合計、平均化、またはその他の方法で組み合わせることができる。
種々の実施例によれば、損傷確率情報を決定することができる。損傷確率情報は、検出された損傷が確認される確実性の程度を特定して良い。例えば、所定の透視図では、オブジェクト部分の特定の画像がオブジェクトへの損傷を描写するのか、それとも反射光源からのグレアを描写するのかを確実に決定することが難しい場合がある。したがって、検出された損傷には、確率または他の確実性の指標が割り当てられて良い。ただし、同じオブジェクト部分の種々の透視図を分析すると、確率は0または1に近い値に解決される場合がある。
図12は、車両のトップダウン画像から透視図フレームへの20ポイントのマッピングの例を示している。図12において、ポイント1 1202などの赤のポイントは、透視フレームに表示されていると識別され、正しくマッピングされる。他方、ポイント8 1204のような青のポイントは、透視図に表示されないため、マッピングされない。
図16~23は、1つまたは複数の実施例による、ここに説明される技術およびメカニズムと併せて生成、分析、または提示されて良い種々の画像およびユーザインターフェースを示している。図16は、損傷が検出された透視図画像を示す。検出された損傷はヒートマップで表されている。図17は、他の透視図画像を示している。図18は、損傷がマッピングされた3Dモデルの2D画像を示している。損傷は図18に赤で表されている。図19は、損傷がマッピングされ、ヒートマップとして表されたトップダウン画像を示している。図20は、他の透視図画像を示している。図21は、透視図画像の3Dモデルを示している。図21では、オブジェクトの種々の表面が種々の色で表されている。図22は、損傷がマッピングされ、ヒートマップとして表されているトップダウン画像を示している。
図23は、透視図画像にマッピングされた他のトップダウン画像を示している。図23において、右側の中央の画像が入力画像であり、右側の上部の画像が入力画像の各ピクセルの色分けされた位置を示し、左側の画像が、入力画像におけるピクセルがどのようにトップダウンビューにマッピングされるかを示す。入力画像のピクセルの状態を示している。右側の下部画像は、リアフロントガラスや下部リアドアパネルなど、色分けされたオブジェクトコンポーネントを示している。
ここで説明される種々の実施例は、一般に、単一の表現、MVIDMRを作成する目的で、位置情報データと共に複数の画像とビデオとの間の空間的関係を分析するためのシステムおよび方法に関する。この表現により、データの冗長性が排除され、インタラクティブで臨場的なアクティブな視聴体験がユーザに提供される。種々の実施例によれば、アクティブは、画面に表示される視覚情報の視点を制御する能力をユーザに提供するという文脈で説明される。
特定の例示的な実施例では、拡張現実(AR)は、MVIDMRで使用される複数の画像をキャプチャする際にユーザを支援するために使用される。たとえば、仮想ガイドを携帯電話からのライブ画像データに挿入できる。仮想ガイドは、ユーザがMVIDMRの作成に役立つ望ましいパスに沿ってモバイルデバイスをガイドするのに役立つ。AR画像の仮想ガイドは、モバイルデバイスの動きに対応できる。モバイルデバイスの動きは、多数の種々のソースから決定でき、これらソースは慣性測定ユニットや画像データを含むけれども、これらに限定されない。
種々の側面は、また、全般的に、MVIDMRを生成するときにフィードバックを提供するためのシステムおよび方法に関連している。例えば、オブジェクト認識は、MVIDMRに存在するオブジェクトを認識するために使用され手良い。次に、1つまたは複数の視覚的インジケータなどのフィードバックを提供して、オブジェクトの高品質のMVIDMRを収集するために追加のMVIDMRデータを収集する際にユーザを案内することができる。他の例として、360度のMVIDMRをキャプチャするときの終点など、MVIDMRのターゲットビューを決定することができる。次に、1つまたは複数の視覚的インジケータなどのフィードバックを提供して、ターゲットビューに到達するために追加のMVIDMRデータを収集する際にユーザを案内することができる。
図24は、1つまたは複数の実施例に従って構成されたMVIDMR取得システム2400の例を示している。MVIDMR取得システム2400は、MVIDMRを生成するために使用することができるフローシーケンスで示されている。種々の実施例によれば、MVIDMRを生成するために使用されるデータは、種々のソースから得られて良い。
具体的には、データを使用して、MVIDMRを生成することができ、このデータは、例えば、2次元(2D)画像2404であるけれども、これに限定されない。これらの2D画像には、アプリケーションに応じて、複数の画像シーケンス、ビデオデータなどのカラー画像データストリーム、または画像の種々の形式の複数の画像を含めることができる。図7A~11Bに関して以下でより詳細に説明されるように、画像キャプチャプロセス中に、ARシステムを使用することができる。ARシステムは、ライブ画像データを受信して仮想データで補強することができる。具体的には、仮想データは、ユーザが画像キャプチャデバイスの動きを指示するのを助けるためのガイドを含むことができる。
MVIDMRを生成するために使用することができる他のデータソースは、環境情報2406を含む。この環境情報2406は、加速度計、ジャイロスコープ、磁力計、GPS、WiFi、IMU様システム(慣性測定ユニットシステム)、その他を含む。MVIDMRを生成するために使用することができる、さらに他のデータソースは、深度画像2408を含んで良い。これらの深度画像は、深度、3D、または視差画像データストリームなどを含んでよく、ステレオカメラ、飛行時間型カメラ、三次元カメラなどによってキャプチャすることができるが、これらに限定されない。
いくつかの実施例において、データは、センサ融合ブロック2410で一緒に融合することができる。いくつかの実施例において、MVIDMRは、深度画像2408が提供されることなく、2D画像2404および環境情報2406の両方を含むデータの組み合わせを生成することができる。他の実施例において、深度画像2408および環境情報2406は、センサ融合ブロック2410で一緒に使用することができる。画像データの種々の組み合わせを、アプリケーションおよび利用可能なデータに応じて、2406において環境情報とともに使用することができる。
いくつかの実施例において、センサ融合ブロック2410で一緒に融合されたデータは、次に、コンテンツモデリング2412およびコンテキストモデリング2414に使用される。画像に特徴づけられる主題は、コンテンツおよびコンテキストに分離することができる。コンテンツは関心のあるオブジェクトとして描写でき、コンテキストは関心のあるオブジェクトを取り巻く風景として描写できる。種々の実施例によれば、コンテンツは、関心のあるオブジェクトを描写する3次元モデルであって良いけれども、コンテンツは、いくつかの実施例では2次元画像であって良い。さらに、いくつかの実施例において、コンテキストは、関心のあるオブジェクトを取り巻く風景を描写する2次元モデルであって良い。多くの例において、コンテキストは、関心のあるオブジェクトを取り巻く風景の2次元ビューを提供することができるけれども、コンテキストは、また、いくつかの実施例において3次元の側面を含んで良い。たとえば、コンテキストは、円筒形の「キャンバス」に沿った「平坦な」画像として表すことができ、「平坦な」画像は円筒形の表面に表示される。さらに、いくつかの例において、周囲の風景でいくつかのオブジェクトが3次元オブジェクトとして識別される場合など、3次元コンテキストモデルが含まれる場合がある。種々の実施例によれば、コンテンツモデリング2412およびコンテキストモデリング2414によって提供されるモデルは、画像および位置情報データを組み合わせることによって生成することができる。
種々の実施例によれば、MVIDMRのコンテキストおよびコンテンツは、特定の関心のあるオブジェクトに基づいて決定される。いくつかの実施例において、関心のあるオブジェクトは、画像および位置情報データの処理に基づいて自動的に選択される。たとえば、一連の画像でドミナントオブジェクトが検出された場合、このオブジェクトをコンテンツとして選択できる。他の例において、図24に示すように、ユーザ指定のターゲット2402を選択できる。ただし、いくつかのアプリケーションにおいては、ユーザ指定のターゲットなしでMVIDMRを生成できることに留意されたい。
いくつかの実施例において、1つまたは複数のエンハンスメントアルゴリズムをエンハンスメントアルゴリズムブロック2416に適用することができる。特定の例示的な実施例では、使用されるキャプチャモードのタイプに関係なく、MVIDMRデータのキャプチャ中に種々のアルゴリズムを使用することができる。これらのアルゴリズムは、ユーザエクスペリエンスを向上させるために使用できる。たとえば、自動フレーム選択、安定化、ビュー補間、フィルター、および/または圧縮は、MVIDMRデータのキャプチャ中に使用できる。いくつかの実施例において、これらの強調アルゴリズムは、データの取得後に画像データに適用することができる。他の例では、これらの拡張アルゴリズムは、MVIDMRデータのキャプチャ中に画像データに適用できる。
種々の実施例によれば、自動フレーム選択を使用して、より素晴らしいMVIDMRを作成することができる。具体的には、フレーム間の遷移がよりスムーズまたはより均一になるように、フレームが自動的に選択される。この自動フレーム選択では、いくつかのアプリケーションにおいてブレや露出オーバーの検出を組み込むことができる。また、ポーズをより均一にサンプリングして、より均等に分散させることもできる。
いくつかの実施例において、安定化は、ビデオに使用されるのと同様の方法でMVIDMRに使用することができる。具体的には、MVIDMRのキーフレームは、スムーズな遷移、コンテンツへのフォーカスの改善/強化などの改善を生み出すために安定化できる。ただし、ビデオとは異なり、IMU情報、深度情報、コンピュータビジョン技術、安定化する領域の直接選択、顔検出などを使用する等、MVIDMRの安定化の追加ソースが多数ある。
たとえば、IMU情報は安定化に非常に役立つ。具体的には、IMU情報は、画像のキャプチャ中に発生する可能性のあるカメラの揺れの推定値を提供するけれども、大まかな推定値やノイズの多い推定値になることもある。この推定値は、そのようなカメラの揺れの影響を除去、キャンセル、および/または低減するために使用できる。
いくつかの実施例において、利用可能な場合、深度情報を使用して、MVIDMRの安定化を提供することができる。MVIDMRの関心のあるポイントは、2次元ではなく、3次元であるため、これらの関心のあるポイントはより制約され、検索スペースが減少するにつれて、これらのポイントの追跡/マッチングが簡素化される。さらに、関心のあるポイントの記述子は、色と深さの両方の情報を使用できるため、より識別力が高くなる。さらに、自動または半自動のコンテンツ選択により、深度情報を簡単に提供できる。たとえば、ユーザが画像の特定のピクセルを選択すると、この選択を展開して、画像に接する表面全体を塗りつぶすことができる。さらに、深さに基づく前景/背景の区別を使用して、コンテンツを自動的に選択することもできる。種々の実施例によれば、コンテキストが変化した場合でも、コンテンツは比較的安定/可視のままであるであろう。
種々の実施例によれば、コンピュータビジョン技術を使用して、MVIDMRの安定化を提供することもできる。たとえば、キーポイントを検出して追跡できます。ただし、動的シーンや視差のある静的シーンなどの特定のシーンでは、すべてを安定させることができる単純なワープは存在しない。その結果、シーンの特定の側面が安定化により多くの注目を受け、シーンの他の側面があまり注目されないというトレードオフがある。MVIDMRは特定の対象オブジェクトに焦点を合わせることが多いため、一部の例では、対象オブジェクトが最大限に安定するように、MVIDMRにコンテンツの重みを付けることができる。
MVIDMRの安定化を改善する他の方法には、画面の領域を直接選択することが含まれます。たとえば、ユーザがタップして画面の領域に焦点を合わせ、次に凸状のMVIDMRを記録すると、タップされた領域を最大限に安定させることができる。これにより、安定化アルゴリズムを特定の領域または対象のオブジェクトに集中させることができる。
いくつかの実施例において、顔検出を使用して安定化を提供することができる。たとえば、正面カメラで録画する場合、ユーザがシーンの対象となる可能性が高くなる。したがって、顔検出を使用して、その領域の周りの重みを安定させることができる。顔検出が十分に正確である場合、一般的なキーポイントを使用するのではなく、顔の特徴自体(目、鼻、口など)を安定させる領域として使用できる。他の例では、ユーザは、キーポイントのソースとして使用する画像の領域を選択できる。
種々の実施例によれば、ビュー補間を使用して、視聴体験を改善することができる。具体的には、安定化されたフレーム間の突然の「ジャンプ」を回避するために、合成の中間ビューをその場でレンダリングできる。これは、上述のようにコンテンツ加重キーポイントトラックとIMU情報、および、より高密度のピクセル間一致によって通知できる。深度情報が利用可能な場合、不一致のピクセルに起因する歪みが少なくなる可能性があり、それによってプロセスが簡素化される。上述のように、いくつかの実施例において、MVIDMRのキャプチャ中にビュー補間を適用することができる。他の実施例では、ビュー補間は、MVIDMR生成中に適用することができる。
いくつかの実施例において、MVIDMRのキャプチャまたは生成中にフィルタを使用して、視聴体験を向上させることもできる。多くの人気のある写真共有サービスが静的な2次元画像に適用できる美的フィルターを提供するのと同様に、美的フィルターも同様に周囲の画像に適用できる。ただし、MVIDMR表現は2次元画像よりも表現力があり、3次元情報はMVIDMRで利用できるため、これらのフィルターを拡張して、2次元写真では明確に定義されていない効果を含めることができる。たとえば、MVIDMRでは、コンテンツを鮮明に保ちながら、モーションブラーを背景(つまりコンテキスト)に追加できます。他の例では、ドロップシャドウをMVIDMRの対象オブジェクトに追加できる。
種々の実施例によれば、圧縮は、また、強化アルゴリズム2416として使用されて良い。具体的には、圧縮は、データのアップロードおよびダウンロードのコストを削減することによって、ユーザ体験を強化するために使用されて良い。MVIDMRは空間情報を使用するため、MVIDMRの望ましい品質を維持しながら、通常のビデオよりもはるかに少ないデータをMVIDMRに送信できる。具体的には、IMU、キーポイントトラック、およびユーザ入力を上述のビュー補間と組み合わせると、MVIDMRのアップロードまたはダウンロード中にデバイスとの間で転送する必要のあるデータの量をすべて減らすことができる。たとえば、対象のオブジェクトを適切に識別できる場合は、コンテンツとコンテキストに応じて可変圧縮スタイルを選択できる。この可変圧縮スタイルは、いくつかの例において、背景情報(つまりコンテキスト)の低品質の解像度と前景情報(つまりコンテンツ)の高品質の解像度を含んで良い。このような例において、コンテンツに必要なレベルの品質を維持しながら、コンテキスト品質の一部を犠牲にすることで、送信されるデータの量を減らすことができる。
この実施例において、MVIDMR 2418は、任意の拡張アルゴリズムが適用された後に生成される。MVIDMRは、マルチビューのインタラクティブなデジタルメディア表現を提供できる。種々の実施例によれば、MVIDMRは、コンテンツの3次元モデルおよびコンテキストの2次元モデルを含むことができる。ただし、一部の例では、コンテキストは、円筒形または他の形状の表面などの表面に沿って投影された風景または背景の「フラット」ビューを表すことができるため、コンテキストは純粋に2次元ではない。さらに他の例では、コンテキストは3次元の側面を含むことができる。
種々の実施例によれば、MVIDMRは、従来の二次元画像またはビデオに勝る多くの利点を提供する。これらの利点のいくつかは次のとおりである。すなわち、動く風景、動く取得デバイス、またはその両方に対処する能力;シーンの一部を3次元でモデル化する機能;不要で冗長な情報を削除し、出力データセットのメモリフットプリントを削減する機能;コンテンツとコンテキストを区別する機能;ユーザエクスペリエンスを向上させるために、コンテンツとコンテキストの区別を使用する機能;メモリフットプリントを改善するためにコンテンツとコンテキストの区別を使用する機能(例としては、コンテンツの高品質の圧縮とコンテキストの低品質の圧縮があります);特別な機能記述子をMVIDMRに関連付ける機能(これにより、MVIDMRに高度な効率と精度でインデックスを付けることができる);MVIDMRの視点を相互作用および変更するユーザの機能である。具体的な例示的実施例において、上述の特性は、MVIDMR表現にネイティブに組み込むことができ、種々のアプリケーションで使用するための機能を提供する。たとえば、MVIDMRを使用して、eコマース、ビジュアル検索、3D印刷、ファイル共有、ユーザインタラクション、エンターテインメントなどの種々の分野を強化できる。
種々の例示的な実施例によれば、MVIDMR2418が生成されると、追加の画像データの取得2420のためのユーザフィードバックを提供することができる。具体的には、コンテンツまたはコンテキストのより正確なモデルを提供するためにMVIDMRが追加のビューを必要とすると判断された場合、ユーザは追加のビューを提供するように求められることがある。これらの追加のビューがMVIDMR取得システム2400によって受信されると、これらの追加のビューは、システム2400によって処理され、MVIDMRに組み込まれることができる。
図25は、MVIDMR 2500を生成するためのプロセスフロー図の例を示す。この例において、複数の画像が2502で取得される。種々の実施例によれば、複数の画像は、2次元(2D)画像またはデータストリームを含んで良い。これらの2D画像は、MVIDMRの生成に使用できる位置情報を含んで良い。いくつかの実施例において、複数の画像は、深度画像を含むことができる。深度画像は、種々の例の位置情報を含んで良い。
いくつかの実施例において、複数の画像がキャプチャされるとき、ユーザに出力される画像は、仮想データで増強することができる。例えば、複数の画像は、モバイルデバイス上のカメラシステムを使用してキャプチャすることができる。モバイルデバイス上のディスプレイに出力されるライブ画像データは、ライブ画像データにレンダリングされるガイドおよびステータスインジケータなどの仮想データを含むことができる。ガイドは、ユーザがモバイルデバイスの動きをガイドするのに役立つ。ステータスインジケータは、MVIDMRの生成に必要な画像のどの部分がキャプチャされたかを示すことができる。仮想データは、MVIDMRを生成する目的でキャプチャされた画像データに含まれなくて良い。
種々の実施例によれば、2502で得られる複数の画像は、種々のソースおよび特性を含んで良い。例えば、複数の画像は、複数のユーザから取得して良い。これらの画像は、コンサートで取得された2D画像またはビデオなど、同じイベントの異なるユーザからインターネットから収集された画像のコレクションであって良い。いくつかの実施例において、複数の画像は、異なる時間情報を有する画像を含んで良い。具体的には、同じ対象物の異なる時間に画像を撮影することができる。たとえば、特定の彫像の複数の画像を、異なる時間帯、異なる季節などで取得できる。他の例では、複数の画像で移動するオブジェクトを表すことができる。たとえば、画像は、道路に沿って移動する車両や空を移動する飛行機など、風景の中を移動する対象物を含んで良い。他の例では、画像は、踊っている人、走っている人、ぐるぐる回っている人など、同様に動いている関心のあるオブジェクトを含んで良い。
いくつかの実施例において、複数の画像は、2504でコンテンツおよびコンテキストモデルに融合される。種々の実施例によれば、画像に特徴づけられる主題は、コンテンツおよびコンテキストに分離することができる。コンテンツは関心のあるオブジェクトとして描写でき、コンテキストは関心のあるオブジェクトを取り巻く風景として描写できる。種々の実施例によれば、コンテンツは、関心のあるオブジェクトを描写する3次元モデルであって良く、コンテンツは、いくつかの実施例では2次元画像であって良い。
この例示的実施例によれば、1つまたは複数の拡張アルゴリズムを2506でコンテンツおよびコンテキストモデルに適用することができる。これらのアルゴリズムを使用して、ユーザ体験を拡張することができる。たとえば、自動フレーム選択、安定化、ビュー補間、フィルター、および/または圧縮などの拡張アルゴリズムを使用できる。いくつかの実施例において、これらの強調アルゴリズムは、画像のキャプチャ中に画像データに適用することができる。他の例では、これらの強調アルゴリズムは、データの取得後に画像データに適用することができる。
この実施例において、MVIDMRは、2508でコンテンツおよびコンテキストモデルから生成される。MVIDMRは、マルチビューインタラクティブデジタルメディア表現を提供することができる。種々の実施例によれば、MVIDMRは、コンテンツの3次元モデルおよびコンテキストの2次元モデルを含むことができる。種々の実施例によれば、キャプチャのモードおよび画像の視点に応じて、MVIDMRモデルは特定の特性を含むことができる。たとえば、MVIDMRの種々のスタイルの例には、局所的に凹状のMVIDMR、局所的に凸状のMVIDMR、および局所的に平坦なMVIDMRが含まれる。ただし、MVIDMRは、アプリケーションに応じて、ビューと特性の組み合わせを含んで良いことに留意されたい。
図26は、臨場感のあるエクスペリエンスを作成するために3次元(3D)モデルに融合できる複数のカメラビューの例を示している。種々の実施例によれば、複数の画像を種々の視点からキャプチャし、融合してMVIDMRを提供することができる。いくつかの実施例において、3つのカメラ2612、2614、および2616は、それぞれ、対象物2680の近くの位置2622、2624、および2626に配置される。風景は、対象物2610などの対象物2608を取り囲むことができる。それぞれのカメラ2612、2614、および2616からの2604、および2606は、重複する主題を含む。具体的には、各ビュー2602、2604、および2606は、関心のあるオブジェクト2608と、オブジェクト2610を取り巻く風景の種々の程度の可視性を含む。例えば、ビュー2602は、オブジェクト2610を取り巻く風景の一部をなすシリンダーの前にある関心のあるオブジェクト2608のビューを含む。ビュー2606は、円柱の片側に関心のあるオブジェクト2608を示し、ビュー2604は、円柱のビューなしで関心のあるオブジェクトを示す。
いくつかの実施例において、種々のビュー2602、2604、および2616は、それぞれ、それらの関連する位置2622、2624、および2626とともに、MVIDMRを生成するために使用できる対象オブジェクト2680および周囲のコンテキストに関する豊富な情報源を提供する。たとえば、一緒に分析すると、種々のビュー2602、2604、および2626は、関心のあるオブジェクトの種々の側面、および関心のあるオブジェクトと風景との関係についての情報を提供する。種々の実施例によれば、この情報を使用して、関心のあるオブジェクト2608をコンテンツおよびコンテキストとしての風景に解析することができる。さらに、これらの視点によって生成された画像に種々のアルゴリズムを適用して、MVIDMRを表示するときに臨場感のあるインタラクティブなエクスペリエンスを作成できる。
図27は、MVIDMRでのコンテンツとコンテキストの分離の一例を示している。種々の実施例によれば、MVIDMRは、シーン2700のマルチビューインタラクティブデジタルメディア表現である。図27を参照して、シーン2700に位置するユーザ2702が示されている。ユーザ2702は、関心のあるオブジェクト、例えば彫像の画像をキャプチャしている。ユーザがキャプチャした画像は、MVIDMRの生成に使用できるデジタル視覚データを構成する。
本開示の種々の実施例によれば、MVIDMRに含まれるデジタル視覚データは、意味的および/または実際的に、コンテンツ2704およびコンテキスト2706に分離することができる。具体的な実施例によれば、コンテンツ2704は、関心のあるオブジェクト、人、またはシーンを含んで良いけれども、コンテキスト2706が、コンテンツ2704を取り巻くシーンの残りの要素を表す。いくつかの実施例において、MVIDMRは、コンテンツ2704を3次元データとして表し、コンテキスト2706を、二次元のパノラマの背景として表して良い。他の例において、MVIDMRは、コンテンツ2704とコンテキスト2706の両方を2次元パノラマシーンとして表すことができる。さらに他の例において、コンテンツ2704およびコンテキスト2706は、3次元のコンポーネントまたは態様を含んで良い。具体的な実施例において、MVIDMRがコンテンツ2704およびコンテキスト2706を描写する方法は、画像を取得するために使用されるキャプチャモードに依存する。
いくつかの実施例において、これに限定されないけれども、オブジェクト、人、または、オブジェクトまたは人の一部のみが見える場合に、オブジェクト、人、または、オブジェクトまたは人の一部を記録すると、または、広い平坦領域を記録すると、または、の記録、およびシーンの記録。キャプチャされたデータは無限大にあるように見える場合にシーンを記録すると(すなわち、カメラの近くに被写体がいない)、コンテンツ2704およびコンテキスト2706は同じである可能性がある。これらの例では、生成されたMVIDMRは、パノラマなどの他のタイプのデジタルメディアと同様のいくつかの特性を持っている可能性がある。しかしながら、種々の実施例によれば、MVIDMRは、これらの既存のタイプのデジタルメディアからそれらを区別する追加の機能を含む。たとえば、MVIDMRは移動するデータを表すことができる。さらに、MVIDMRは、特定の円筒形、球形、または並進運動に限定されない。種々のモーションを使用して、カメラまたはその他のキャプチャデバイスで画像データをキャプチャできる。さらに、ステッチされたパノラマとは異なり、MVIDMRは同じオブジェクトの種々の側面を表示できる。
図28A~28Bは、それぞれ凹面ビューと凸面ビューの例を示している。両方のビューでバックカメラキャプチャスタイルが使用されている。具体的には、カメラ付き携帯電話を使用する場合、これらのビューでは、携帯電話の背面にあるカメラを使用し、ユーザの反対側を向く。具体的な実施例において、凹面および凸面のビューは、コンテンツおよびコンテキストがMVIDMRでどのように指定されるかに影響を与える可能性がある。
図28Aを参照すると、ユーザが垂直軸2808に沿って立っている凹面ビュー2800の一例が示されている。この例では、ユーザは、画像キャプチャ中にカメラ位置2802が軸2808を離れないようにカメラを保持している。しかしながら、ユーザが軸2808を中心に旋回すると、カメラは、ユーザの周りのシーンのパノラマビューをキャプチャし、凹面ビューを形成する。この実施例において、対象のオブジェクト2804および遠方の風景2806は、画像がキャプチャされる方法のために、すべて同様に見られる。この例では、凹面ビューのすべてのオブジェクトが無限大に表示されるため、コンテンツはこのビューのコンテキストと等しくなる。
図28Bを参照すると、関心のあるオブジェクト2824の画像をキャプチャするときにユーザが位置を変更する凸面ビュー2820の一例が示されている。この例では、ユーザは、関心のあるオブジェクト2824の周りを移動し、異なる側から写真を撮る。得られた画像のそれぞれは、関心のある対象のビュー、および遠方の風景2826の背景を含む。この例では、関心のある対象2824は、コンテンツ、および遠方の風景2826は、この凸状ビューのコンテキストを表す。
図29A~30Bは、MVIDMRの種々のキャプチャモードの例を示している。種々のモーションを使用してMVIDMRをキャプチャでき、特定のタイプのモーションに制限されないけれども、3つの一般的なタイプのモーションを使用して、MVIDMRと組み合わせて説明される特定の機能またはビューをキャプチャできる。これらの3つのタイプのモーションは、それぞれ、局所的に凹状のMVIDMR、局所的に凸状のMVIDMR、および局所的に平坦なMVIDMRを生成できる。いくつかの実施例において、MVIDMRは、同じMVIDMR内の種々のタイプの動きを含んで良い。
図29Aを参照すると、キャプチャされている後ろ向きの凹状のMVIDMRの例が示される。種々の実施例によれば、局所的に凹状のMVIDMRは、カメラまたは他のキャプチャデバイスの視野角が発散するものである。一次元では、これは、球形の360パノラマ(純粋な回転)をキャプチャするために必要なモーションに例えることができるけれども、モーションは、ビューが外側を向く任意の湾曲したスイープモーションに一般化できる。この例において、(おそらく動的な)コンテキストを見ている静止した視聴者のエクスペリエンスである。
いくつかの実施例において、ユーザ2902は、後ろ向きカメラ2906を使用して、世界2900に向かって、およびユーザ2902から離れて画像をキャプチャしている。種々の例で説明するように、後ろ向きカメラは、カメラがうーざに対して向こう側を向いているデバイスを指し、例えば、スマートフォンの背面にあるカメラである。カメラは、ビュー2904a、2904b、および2904cがキャプチャ領域2909の種々の部分をキャプチャするように、凹状の動き2908で移動させられる。
図29Bを参照して、キャプチャされている背面の凸型MVIDMRの例を示す。種々の実施例によれば、局所凸MVIDMRは、視角が単一の対象物に向かって収束するものである。いくつかの実施例において、局所凸MVIDMRは、観察者が同じオブジェクトの複数の側面を見ることができるように、点の周りを周回する経験を提供することができる。「関心のあるオブジェクト」である可能性のあるこのオブジェクトは、MVIDMRからセグメント化してコンテンツにすることができ、周囲のデータをセグメント化してコンテキストにすることができる。以前のテクノロジーでは、メディア共有環境でこのタイプの表示角度を認識できなかった。
いくつかの実施例において、ユーザ2902は、後ろ向きカメラ2914を使用して、世界290に向かって、およびユーザ2902から離れて画像をキャプチャしている。カメラは、ビュー2912a、2912b、および2912cが種々の部分をキャプチャするように、凸状運動2910で移動される。上記のように、世界2900は、いくつかの例において関心のあるオブジェクトを含むことができ、凸状運動2910は、このオブジェクトの周りを周回することができる。ビュー2912a、2912b、および2912cには、これらの例でこのオブジェクトの種々の側面のビューを含めることができる。
図30Aを参照して、キャプチャされている正面向きの凹状のMVIDMRの例が示される。種々の例で説明されているように、前面カメラとは、スマートフォンの前面にあるカメラなど、ユーザの方を向いているカメラを備えたデバイスを指す。たとえば、正面カメラは一般的に「自分撮り」(つまり、ユーザの自画像)を撮影するために使用される。
いくつかの実施例において、カメラ3020は、ユーザ3002に面している。カメラは、ビュー3018a、3018b、および3018cが角度の意味で互いに発散するように、凹状の動き3006に従う。キャプチャ領域3017は、周囲にユーザを含む凹状の形状に従う。
図30Bを参照して、キャプチャされている正面向きの凸型MVIDMRの例を示す。いくつかの実施例において、カメラ3026はユーザ3002に面している。カメラは、ビュー3024a、3024b、および3024cがユーザ3002に向かって収束するように凸状運動3022に従う。上述のように、種々のモードを使用して、MVIDMRの画像をキャプチャすることができる。局所的に凹状、局所的に凸状、および局所的に線形の動きを含むこれらのモードは、別々の画像のキャプチャ中またはシーンの連続記録中に使用することがでる。このような記録では、1回のセッションで一連の画像をキャプチャできる。
いくつかの実施例において、拡張現実システムは、携帯電話などのモバイルデバイス上に実装することができる。具体的には、モバイルデバイスのディスプレイに出力されるライブカメラデータは、仮想オブジェクトで補強することができる。仮想オブジェクトは、ライブカメラデータにレンダリングできる。いくつかの実施例において、仮想オブジェクトは、MVIDMRのために画像がキャプチャされているときにユーザフィードバックを提供することができる。
図31および32は、拡張現実を使用してMVIDMRで画像をキャプチャするためのプロセスフローの例を示す。3102において、ライブ画像データをカメラシステムから受信することができる。たとえば、ライブ画像データは、スマートフォンなどのハンドヘルドモバイルデバイス上の1つまたは複数のカメラから受信できる。画像データは、カメラセンサからキャプチャされたピクセルデータを含んで良い。ピクセルデータはフレームごとに異なる。いくつかの実施例において、ピクセルデータは2次元であって良い。他の実施例において、深度データをピクセルデータに含めて良い。
3104において、センサデータを受信できる。たとえば、モバイルデバイスは、加速度計とジャイロスコープを備えたIMUを含んで良い。センサデータを使用して、重力ベクトルに対するデバイスの傾斜方向など、モバイルデバイスの方向を決定できる。したがって、重力ベクトルに対するライブ2D画像データの方向も決定できる。さらに、ユーザが適用した加速度を重力による加速度から分離できる場合、時間の関数としてモバイルデバイスの位置の変化を決定できるかもしれない。
具体的な実施例において、カメラ参照フレームを決定することができる。カメラ参照フレームでは、1つの軸がカメラレンズに垂直な線に揃えられる。携帯電話の加速度計を使用して、カメラの参照フレームを地球の参照フレームに関連付けることができる。地球基準フレームは、軸の1つが地球の重力ベクトルと位置合わせされている3D座標系を提供できる。カメラフレームと地球基準フレームの関係は、ヨー、ロール、チルト/ピッチで表すことができまる。通常、ヨー、ロール、ピッチの3つのうち少なくとも2つは、スマートフォンのジャイロスコープや加速度計などのモバイルデバイスで利用可能なセンサから入手できる。
スマートフォンやタブレットの加速度計などのセンサからのヨーロールチルト情報と、ピクセルデータを含むカメラからのデータの組み合わせを使用して、カメラの視野内の2Dピクセル配置を実世界の3D参照フレームに関係づけることができる。いくつかの実施例において、絵の各々の2Dピクセルデータは、あたかも、カメラが、地球の重力中心を通る軸に垂直な水平面上に保持され、レンズの表面に垂直に、レンズの中心を通るピクセルデータの中心にマッピングされるように、参照フレームに変換することができる。この参照フレームは、地球基準フレームと呼ぶことができる。ピクセルデータのこの較正を使用して、地球基準フレームの3D空間で定義された曲線またはオブジェクトを、ピクセルデータ(2Dピクセルデータ)に関連付けられた平面にマッピングできる。深度データ、つまりカメラからピクセルまでの距離が利用できる場合、次に、この情報を変換に利用することもできる。
代替の実施例において、オブジェクトが定義される3D参照フレームは、地球基準フレームである必要はない。いくつかの実施例において、オブジェクトが描画され、次に参照の2Dピクセルフレームにレンダリングされる3D参照は、地球基準フレームに対して定義することができる。他の実施例において、3D参照フレームは、ピクセルデータで識別されたオブジェクトまたは表面に対して定義されて良く、次いで、ピクセルデータは、この3D参照フレームに対して較正されて良い。
一例として、オブジェクトまたは表面は、ピクセルデータで識別されるいくつかの追跡点によって定義することができる。次に、カメラが移動すると、センサデータと追跡ポイントの新しい位置を使用して、3D参照フレームの方向の変化をフレームごとに決定できる。この情報は、ライブ画像データ内の仮想データおよび/または仮想データをMVIDMRにレンダリングするために使用できる。
図31に戻ると、3106において、ターゲットに関連付けられた仮想データが、ライブ画像データにおいて生成できる。たとえば、ターゲットは十字線にすることができます。一般に、ターゲットは任意の形状または形状の組み合わせとしてレンダリングできる。いくつかの実施例において、入力インターフェースを介して、ユーザは、ターゲットの位置を調整して良い。例えば、ライブ画像データが出力されるディスプレイ上でタッチスクリーンを使用して、ユーザは、合成画像内の特定の位置にターゲットを配置して良い。合成画像は、1つまたは複数の仮想オブジェクトでレンダリングされたライブ画像データの組み合わせを含んで良い。
たとえば、ターゲットは、顔や人物など、画像に表示されるオブジェクトの上に配置できる。次に、ユーザは、ターゲットが目的の場所にあることを示すインターフェースを介して追加の入力を提供できる。たとえば、ユーザは、ターゲットがディスプレイに表示される場所の近くにあるタッチスクリーンをタップして良い。次に、ターゲットの下の画像内のオブジェクトを選択して良い。他の例として、インターフェースのマイクを使用して、画像内のターゲットの位置を指示する音声コマンドを受信し(たとえば、左に移動、右に移動など)、ターゲットが目的の場所にあることを確認できる(たとえば、ターゲットを選択)。
いくつかの例において、オブジェクト認識を利用できる。オブジェクト認識は、画像内の可能なオブジェクトを識別できる。次に、ライブ画像は、識別されたオブジェクトをマークするターゲットなどのいくつかのインジケータで補強できる。たとえば、人、人の一部(顔など)、車、車輪などのオブジェクトを画像にマークすることができる。人は、インターフェースを介して、例えばタッチスクリーンインターフェースを介して、マークされたオブジェクトの1つを選択して良い。他の実施例におおいて、人は、オブジェクトを選択するための音声コマンドを提供して良い。たとえば、「顔を選択」や「車を選択」などと言って良い。
3108において、オブジェクトの選択を受け取って良い。オブジェクトの選択を使用して、画像データ内の領域を決定し、追跡ポイントを特定できる。画像データ内の領域がターゲット上にある場合、追跡ポイントは、ライブ画像データに表示されるオブジェクトに関連付けることができる。
3110において、選択したオブジェクトに関連する追跡ポイントを特定できる。オブジェクトが選択されると、オブジェクトの追跡ポイントをフレームごとに識別できる。したがって、カメラが向きを変えたり変更したりした場合、新しいフレーム内の追跡ポイントの位置を特定し、ターゲットをライブ画像にレンダリングして、画像内の追跡対象オブジェクトの上にとどまるように見せることができる。この機能については、以下で詳しく説明する。具体的な実施例において、オブジェクトの検出および/または認識は、例えば、追跡点の位置の識別を容易にするために、各フレームまたはほとんどのフレームに使用することができる。
いくつかの実施例において、オブジェクトを追跡することは、2D画像空間内のフレームからフレームへの1つまたは複数の点を追跡することを指して良い。1つまたは複数のポイントを画像内の領域に関連付けることができる。1つまたは複数のポイントまたは領域をオブジェクトに関連付けることができる。ただし、画像内でオブジェクトを識別する必要はない。たとえば、2D画像空間内のオブジェクトの境界を知る必要はない。さらに、オブジェクトのタイプを特定する必要はない。たとえば、オブジェクトが車であるか、人であるか、またはピクセルデータに表示される他の何かであるかを判断する必要はない。代わりに、連続するフレームに現れる他の画像特性に基づいて、1つまたは複数のポイントを追跡することができる。例えば、エッジ追跡、コーナー追跡、または形状追跡を使用して、フレームからフレームへの1つまたは複数の点を追跡することができる。
2D画像空間で説明されている方法でオブジェクトを追跡する利点の1つは、画像に表示される1つまたは複数のオブジェクトの3D再構成を実行する必要がないことである。3D再構成ステップは、「運動からの構造(SFM:structure from motion)」や「同時ローカリゼーションおよびマッピング(SLAM:simultaneous localization and mapping)」などの操作を含んで良い。3D再構成は、複数の画像のポイントの測定、カメラのポーズとポイントの位置の最適化を含む。このプロセスを回避すると、計算時間が大幅に節約される。たとえば、SLAM/SFMの計算を回避すると、画像内のオブジェクトが移動しているときにメソッドを適用できるようになる。通常、SLAM/SFMの計算は静的な環境を想定している。
3112において、物理世界の3D座標系を、地球基準フレームなどの画像に関連付けることができる。これは、上述のように、2Dピクセルデータに関連付けられたカメラ参照フレームに関連付けることができる。いくつかの実施例において、ターゲットが3D座標系の原点にあるように、関連する3D座標系が選択されたターゲットに固定されるように、2D画像データを較正することができる。
次に、3114において、2Dまたは3Dの軌道またはパスを、3D座標系で定義することができる。たとえば、円弧や放物線などの軌道またはパスは、地球基準フレームの重力ベクトルに垂直な描画平面にマッピングできる。上述のように、IMUから提供される情報などのカメラの向きに基づいて、2Dピクセルデータを含むカメラ参照フレームを地球基準フレームにマッピングすることができる。マッピングを使用して、3D座標系で定義された曲線をライブ画像データから2Dピクセルデータにレンダリングできる。次に、ライブ画像データと、軌跡またはパスである仮想オブジェクトとを含む合成画像をディスプレイに出力することができる。
全般的には、曲線や面などの仮想オブジェクトは、地球基準フレームやカメラの向きに関連するその他の座標系などの3D座標系で定義できる。次に、仮想オブジェクトをライブ画像データに関連付けられた2Dピクセルデータにレンダリングして、合成画像を作成できる。合成画像はディスプレイに出力して良い。
いくつかの実施例において、曲線または表面は、人または車などのオブジェクトの3Dモデルに関連付けることができる。他の実施例において、曲線または表面をテキストに関連付けることができる。したがって、テキストメッセージをライブ画像データにレンダリングすることができる。他の実施例において、テクスチャは、3Dモデルの表面に割り当てることができる。合成画像を作成すると、これらのテクスチャをライブ画像データに関連付けられた2Dピクセルデータにレンダリングできる。
曲線が地球基準フレームなどの3D座標系の描画平面にレンダリングされると、決定された1つ以上のトラッキングポイントを描画平面に投影できる。他の例として、追跡された点に関連付けられた図心を作図平面に投影することができる。次に、作図平面に投影された1つまたは複数の点を基準にして曲線を定義できる。たとえば、ターゲットの場所に基づいて、描画平面上でポイントを決定できる。次に、この点を、描画平面に描画された所定の半径の円または円弧の中心として使用できる。
3114において、関連する座標系に基づいて、ARシステムの一部として曲線をライブ画像データにレンダリングできる。一般的には、複数の曲線、線、または表面を含む1つまたは複数の仮想オブジェクトをライブ画像データにレンダリングすることができる。そして、ライブ画像データと仮想オブジェクトを含む合成画像をリアルタイムでディスプレイに出力することができる。
いくつかの実施例において、ライブ画像データにレンダリングされた1つまたは複数の仮想オブジェクトを使用して、MVIDMRを作成するために使用される画像をユーザがキャプチャするのを支援することができる。例えば、ユーザは、ライブ画像データで識別された実際のオブジェクトのMVIDMRを作成したいという希望を示すことができる。必要なMVIDMRは、45度、90度、180度、または360度などの角度範囲にまたがることができる。次に、仮想オブジェクトをガイドとしてレンダリングし、ガイドをライブ画像データに挿入することができる。ガイドは、カメラを移動するパスとパスに沿った進行状況を示すことができる。ガイドの挿入は、3112の座標系に従ってライブ画像データのピクセルデータを修正することを含んで良い。
先の例において、実際のオブジェクトは、ライブ画像データに表示される何らかのオブジェクトでって良い。実際のオブジェクトの場合、3Dモデルは構築されなくて良い。代わりに、ピクセル位置またはピクセル領域を2Dピクセルデータの実際のオブジェクトに関連付けて良い。実オブジェクトのこの定義は、物理空間で実オブジェクトの3Dモデルを構築しようとするよりもはるかに計算コストが低くなる。
線や表面などの仮想オブジェクトは、3D空間でモデル化できる。仮想オブジェクトは事前に定義できる。したがって、仮想オブジェクトの形状をリアルタイムで構築する必要がない。これは計算コストが高い。画像に表示される可能性のある実際のオブジェクトは、事前にわかっていない。したがって、実際のオブジェクトの3Dモデルは通常利用できない。したがって、合成画像には、追跡ポイントまたは領域を3D座標系でモデル化されてレンダリングされる実オブジェクトと仮想オブジェクトに割り当てることにより、2D画像空間でのみ定義される「実」オブジェクトを含め、こののち、ライブ画像データにレンダリングして良い。
図31に戻ると、3116において、1つ以上の仮想オブジェクトを含むAR画像を出力できる。ライブ画像データのピクセルデータは、特定のフレームレートで受信できる。具体的な実施例において、増強されたフレームは、それが受信したのと同じフレームレートで出力することができる。他の実施例において、それは、低減されたフレームレートで出力することができる。フレームレートを下げると、計算要件を減らすことができる。たとえば、毎秒30フレームで受信したライブデータは、毎秒15フレームで出力できる。他の実施例において、AR画像は、480pの代わりに240pなどの低解像度で出力することができる。解像度の低下は、計算要件を軽減するためにも使用できる。
3118において、ライブ画像データから1つまたは複数の画像を選択し、MVIDMRで使用するために保存することができる。いくつかの実施例では、格納された画像は、1つまたは複数の仮想オブジェクトを含むことができる。したがって、仮想オブジェクトをMVIDMRの一部にすることができる。他の実施例において、仮想オブジェクトは、ARシステムの一部としてのみ出力される。ただし、MVIDMRで使用するために保存されている画像データは、仮想オブジェクトを含まなくて良い。
さらに他の実施例において、ARシステムの一部としてディスプレイに出力される仮想オブジェクトの一部を格納することができる。たとえば、ARシステムを使用して、MVIDMR画像キャプチャプロセス中にガイドをレンダリングし、MVIDMRに関連付けられたラベルをレンダリングできる。ラベルは、MVIDMRの画像データに保存できる。ただし、ガイドは保管されなくて良い。仮想オブジェクトを追加せずにイメージを保存するには、コピーを作成する必要がある場合がある。コピーは仮想データで変更してからディスプレイに出力し、オリジナルを保存するか、変更前にオリジナルを保存することができる。
図32において、図31の方法が継続されている。3222において、新しい画像データを受信できる。3224において、新しいIMUデータ(または一般的にはセンサデータ)を受信できる。IMUデータは、カメラの現在の向きを表すことができる。3226において、以前の画像データで識別された追跡点の位置は、新しい画像データで識別されて良い。
カメラが傾いたり動いたりしてしまうことがある。したがって、トラッキングポイントはピクセルデータの他の場所に表示されることもある。上述のように、追跡点を使用して、ライブ画像データに現れる実際のオブジェクトを定義することができる。したがって、新しい画像データ内の追跡ポイントの位置を特定することにより、実際のオブジェクトを画像から画像へと追跡することができる。フレームごとのIMUデータの違いと、フレームが記録される速度の知識を使用して、フレームごとのライブ画像データ内の追跡ポイントの位置の変化を判断するのに役立てることができる。
ライブ画像データに表示される実際のオブジェクトに関連付けられた追跡ポイントは、時間の経過とともに変化する可能性がある。カメラが実際のオブジェクトの周りを移動すると、実際のオブジェクトの新しい部分が表示され、実際のオブジェクトの他の部分が遮られるため、実際のオブジェクトで識別された一部のトラッキングポイントが表示されなくなる場合がある。したがって、3226において、追跡点が画像内にまだ見えるかどうかの決定がなされて良い。さらに、対象となるオブジェクトの新しい部分が見えてきたかどうかについての決定を行うことができる。新しい追跡ポイントを新しい部分に追加して、フレーム間で実際のオブジェクトを継続的に追跡できるようにすることができる。
3228において、座標系を画像に関連付けることができる。たとえば、センサデータから決定されたカメラの向きを使用して、前述のようにピクセルデータを地球の参照フレームに合わせて調整できる。3230において、オブジェクト上に現在配置されている追跡ポイントと座標系に基づいて、ターゲット位置を決定できる。ターゲットは、ライブ画像データで追跡される実際のオブジェクトの上に配置できる。上述のように、画像内で識別される追跡点の数および位置は、カメラの位置がカメラに対して変化するにつれて、時間とともに変化する可能性がある。したがって、2Dピクセルデータ内のターゲットの位置が変わる可能性がある。ターゲットを表す仮想オブジェクトをライブ画像データにレンダリングできる。具体的な実施例において、座標系は、追跡データから位置を識別し、IMU(または他の)データから方向を識別することに基づいて定義することができる。
3232において、ライブ画像データ内のトラック位置を決定することができる。トラックは、MVIDMRの画像キャプチャプロセス中に物理空間でのカメラの位置と向きに関連するフィードバックを提供するために使用できる。一例として、上述のように、トラックは、地面に平行であるなど、重力ベクトルに垂直である描画平面にレンダリングすることができる。さらに、トラックは、ライブ画像データに表示される実際のオブジェクトの上に配置された、仮想オブジェクトであるターゲットの位置を基準にしてレンダリングすることができる。したがって、トラックはオブジェクトを囲んでいるか、部分的に囲んでいるように見える。上述のように、ターゲットの位置は、画像に現れる実際のオブジェクトに関連付けられた追跡ポイントの現在のセットから決定することができる。ターゲットの位置は、選択した描画面に投影できる。
3234において、キャプチャインジケータのステータスを確認できる。キャプチャインジケータを使用して、MVIDMRで使用される画像データのどの部分がキャプチャされたかに関するフィードバックを提供できる。たとえば、ステータスインジケータは、MVIDMRで使用する画像の角度範囲の半分がキャプチャされたことを示している場合がある。他の実施例において、ステータスインジケータを使用して、カメラが所望のパスをたどっており、物理的空間において所望の向きを維持しているかどうかに関するフィードバックを提供することができる。したがって、ステータスインジケータは、カメラの現在のパスまたは向きが望ましいか望ましくないかを示すことができる。カメラの現在のパスまたは向きが望ましくない場合、ステータスインジケータは、カメラをよりゆっくりと動かす、キャプチャプロセスを最初からやり直す、特定の方向に、カメラを傾けるなど、および/または特定の方向にカメラを移動する等の必要な修正のタイプを示すように構成でき、ただし、これに限定されない。
3236において、キャプチャインジケータの位置を決定することができる。この場所を使用して、キャプチャインジケータをライブ画像にレンダリングし、合成画像を生成できる。いくつかの実施例において、キャプチャインジケータの位置は、実オブジェクトの上および左などの現在の追跡点のセットによって示されるように、画像内の実オブジェクトの位置に対して決定することができる。3238において、合成画像、すなわち、仮想オブジェクトで増強されたライブ画像を生成することができる。合成画像は、ターゲット、トラック、および1つ以上のステータスインジケータをそれぞれ決定された場所に含んで良い。3240において、MVIDMRで使用する目的でキャプチャされた画像データをキャプチャできる。上述のように、格納された画像データは、仮想オブジェクトのない生画像データであるか、または仮想オブジェクトを含むであろう。
3242において、MVIDMRを生成するために必要な画像が、所望の角度範囲にわたるMVIDMRなどの選択されたパラメータに従ってキャプチャされたかどうかに関してチェックを行うことができる。キャプチャが完了していない場合、新しい画像データを受信し、メソッドを3222に戻して良い。キャプチャが完了すると、仮想オブジェクトをライブ画像データにレンダリングして、MVIDMRのキャプチャプロセスの完了を示すことができ、MVIDMRを作成できる。キャプチャプロセスに関連付けられている一部の仮想オブジェクトは、レンダリングされなくなる場合がある。たとえば、必要な画像がキャプチャされると、キャプチャプロセス中にカメラをガイドするために使用されるトラックがライブ画像データに生成されなくなる場合がある。
図33Aおよび33Bは、MVIDMRにおいて使用される画像をキャプチャするための拡張現実(AR)画像キャプチャトラックを生成する態様を示している。図33Aにおいて、ディスプレイ3316を備えたモバイルデバイス3314が示されている。モバイルデバイスは、視野3300を備えた少なくとも1つのカメラ(図示せず)を含んで良い。人である実オブジェクト3302が、カメラの視野3300で選択される。ターゲット(図示せず)である仮想オブジェクトが、実オブジェクトの選択を支援するために使用された可能性がある。例えば、モバイルデバイス3314のタッチスクリーンディスプレイ上のターゲットは、オブジェクト3302の上に配置され、次いで選択された可能性がある。
カメラは、視野3300の光をキャプチャする画像センサを含んで良い。画像センサからのデータは、ピクセルデータに変換できる。ピクセルデータは、合成画像を生成するために、ディスプレイ3316に出力する前に修正できる。変更は、拡張現実(AR)システムの一部としてピクセルデータ内の仮想オブジェクトのレンダリングを含んで良い。
ピクセルデータおよびオブジェクト3302の選択を使用して、オブジェクト上の追跡点を決定することができる。トラッキングポイントは、画像空間でオブジェクトを定義できる。オブジェクト3302に取り付けることができる、3305、3306、および3308などの追跡点の現在のセットの位置が示されている。モバイルデバイス3314上のカメラの位置および向きとして、キャプチャされたピクセルデータ内のオブジェクト3302の形状および位置を変更することができる。したがって、ピクセルデータ内の追跡ポイントの位置が変わる可能性がある。したがって、以前に定義された追跡点は、画像データの第1の場所から第2の場所に移動して良い。また、オブジェクトの一部が遮られると、追跡ポイントが画像から消えることがある。
モバイルデバイス3314からのセンサデータを使用して、地球基準フレーム3D座標系3304を画像データに関連付けることができる。重力ベクトルの方向は、矢印3310によって示されている。上記のように、具体的な実施例において、2D画像データは、地球基準フレームに対して較正することができる。重力ベクトルを表す矢印は、ライブ画像データにはレンダリングされない。ただし、必要に応じて、重力を表すインジケータを合成画像にレンダリングして良い。
重力ベクトルに垂直な平面を決定できる。平面の位置は、3305、3306、3308などの画像内の追跡ポイントを使用して決定できる。この情報を使用して、円である曲線が平面に描画される。円は2D画像データにレンダリングされ、ARシステムの一部として出力される。ディスプレイ3316に示されているように、円は、オブジェクト3302を取り囲んでいるように見える。いくつかの実施例において、円は、MVIDMRで使用される画像をキャプチャするためのガイドとして使用することができる。
モバイルデバイス3314上のカメラが傾斜などの何らかの態様で回転すると、オブジェクトの形状がディスプレイ3316上で変化する。しかし、カメラの新しい向きは、重力ベクトルの方向を含む空間で決定することができる。したがって、重力ベクトルに垂直な平面を決定することができる。平面の位置、したがって画像内の曲線の位置は、オブジェクト3302に関連付けられた追跡点から決定されたオブジェクトの重心に基づくことができる。したがって、曲線は、地面に平行のままであるように見える、すなわち、カメラ3314が動くとき、重力ベクトルに垂直であるように見えることになる。ただし、オブジェクトの位置とライブ画像での見かけの形状が変化すると、曲線の位置が画像内の1つの場所から他の場所へと移動する可能性がある。
図33Bにおいて、カメラ(図示せず)と、カメラから画像データを出力するためのディスプレイ3336とを含むモバイルデバイス3334が示されている。カップ3322は、カメラのカメラ3320の視野に示されている。3324および3326などの追跡点は、オブジェクト3322に関連付けられている。これらの追跡点は、画像空間内のオブジェクト3322を定義することができる。モバイルデバイス3334からのIMUデータを使用して、参照フレームが画像データに関連付けられている。上述のように、いくつかの実施例において、ピクセルデータは、参照フレームに対して較正することができる。参照フレームは3D軸3324によって示され、重力ベクトルの方向は矢印3328によって示される。
上述のように、参照フレームに対する平面を決定することができる。この例において、平面はフレームに垂直ではなく、重力ベクトルに関連付けられた軸の方向に平行である。この平面は、オブジェクト3330の上部を通過するMVIDMRのパスを禁止するために使用される。一般的に、任意の平面を参照フレームで決定し、ガイドとして使用される曲線を、選択した平面へとレンダリングすることができる。
追跡点の位置を使用して、いくつかの実施例において、参照内の選択された平面上のオブジェクト3322の重心を決定することができる。円などの曲線3330は、図心(セントロイド)を基準にしてレンダリングできる。この例では、選択した平面内のオブジェクト3322の周りに円がレンダリングされる。
曲線3330は、特定のパスに沿ってカメラを案内するためのトラックとして機能することができ、パスに沿ってキャプチャされた画像をMVIDMRに変換することができる。いくつかの実施例では、パスに沿ったカメラの位置を決定することができる。次に、パスに沿ったカメラの現在の位置を示すインジケータを生成できる。この例では、現在の場所は矢印3332で示されている。
パスに沿ったカメラの位置は、物理空間に直接マッピングされない場合がある。つまり、物理空間でのカメラの実際の位置を必ずしも決定する必要はない。たとえば、角度の変化は、IMUデータとオプションとしてカメラのフレームレートから推定できる。角度変化は、パス3330に沿って移動した距離の比率が、物理的空間で移動した距離と1対1の比率ではない、曲線に沿って移動した距離にマッピングすることができる。他の例において、パス3330を横断するための合計時間を推定することができ、次に、画像が記録されている間の時間の長さを追跡することができる。合計時間に対する記録時間の比率を使用して、パス3330に沿った進行状況を示すことができる。
円弧であるパス3330および矢印3332は、ライブ2D画像データに関連付けられた3D座標系におけるそれらの位置に従って、仮想オブジェクトとしてライブ画像データにレンダリングされる。カップ3322、円3330、および矢印3332は、ディスプレイ3336に出力されて示されている。カップ3322に対するディスプレイ3336に示される曲線3330および矢印3332の方向は、カメラの向きが変更された場合、例えば、カメラが傾いている場合、変化して良い。
具体的な実施例において、画像データ内のオブジェクト3322のサイズを変更して良い。たとえば、デジタルズームを使用して、オブジェクトのサイズを大きくしたり小さくしたりできる。他の例において、モバイルデバイス3334などでカメラをオブジェクト3322に近づけたり遠ざけたりすることによって、オブジェクトのサイズを大きくしたり小さくしたりすることができる。
オブジェクトのサイズが変化すると、追跡ポイント間の距離が変化する可能性がある。つまり、追跡ポイント間のピクセル距離が増加または減少する可能性がある。距離の変更を使用して、スケーリング係数を提供できる。いくつかの実施例において、オブジェクトのサイズが変化するにつれて、ARシステムは、曲線3330および/または矢印3332のサイズをスケーリングするように構成することができ、この結果、オブジェクトに対する曲線のサイズを維持することができる。
他の実施例において、曲線のサイズは固定されたままであって良い。たとえば、曲線の直径は、ピクセルの高さまたは幅の330パーセントなど、画像のピクセルの高さまたは幅に関連付けることができる。したがって、オブジェクト3322は、ズームが使用されるか、またはカメラの位置が変更されると、拡大または縮小するように見える可能性がある。ただし、画像の曲線3330のサイズは比較的固定されたままにすることができる。
図34は、モバイルデバイスのMVIDMRで使用される画像をキャプチャするための拡張現実(AR)画像キャプチャトラックを生成する2番目の例を示している。図34において、3400a、3400b、および3400cの3倍のモバイルデバイスが含まれている。デバイスは、少なくとも1つのカメラ、ディスプレイ、IMU、プロセッサ(CPU)、メモリ、マイクロフォン、オーディオ出力デバイス、通信インターフェース、電源、グラフィックプロセッサ(GPU)、グラフィックメモリ、およびそれらの組み合わせを含んで良い。ディスプレイは、3406a、3406bおよび3406cの3倍の画像で示されている。ディスプレイはタッチスクリーンでオーバーレイされて良い。
3406aにおいて、オブジェクト3408の画像が状態3406aでディスプレイに出力される。オブジェクトは長方形のボックスである。ディスプレイに出力される画像データは、モバイルデバイス上のカメラからのライブ画像データであって良い。カメラは、また、リモートカメラであって良いかもしれない。
いくつかの実施例において、3410などのターゲットをディスプレイにレンダリングすることができる。ターゲットをライブ画像データと組み合わせて、合成画像を作成できる。スマートフォンの入力インターフェースを介して、ユーザはディスプレイ上のターゲットの位置を調整して良い。ターゲットをオブジェクトに配置してから、追加の入力を行ってオブジェクトを選択できる。たとえば、タッチスクリーンはターゲットの場所でタップされて良い。
他の実施例において、オブジェクト認識をライブ画像データに適用して良い。ライブ画像データ内の識別されたオブジェクトの位置を示す種々のマーカーをディスプレイにレンダリングできる。オブジェクトを選択するには、画像に表示されているマーカーの1つの場所でタッチスクリーンをタップするか、他の入力デバイスを使用して認識されたオブジェクトを選択する。
オブジェクトが選択された後、3412、3414、および3416などのいくつかの初期追跡点をオブジェクト上で識別することができる。いくつかの実施例において、追跡点はディスプレイ上に表示されない場合がある。他の実施例において、追跡点をディスプレイにレンダリングすることができる。いくつかの実施例において、追跡点が対象のオブジェクト上に配置されていない場合、ユーザは、追跡点を選択してそれを削除するか、または追跡点がオブジェクト上にあるように移動して良い。
次に、モバイルデバイスの向きを変えることができる。向きは、3404に示されるように、1つまたは複数の角度による回転および並進運動を含んで良い。デバイスの向きの変化および現在の向きは、デバイス上のIMU3402からのIMUデータを介してキャプチャすることができる。
デバイスの向きが変更されると、3412、3414、3416などの1つまたは複数の追跡ポイントが遮られる可能性がある。さらに、現在画像に表示されている表面の形状が変わる可能性がある。フレーム間の変化に基づいて、種々のピクセル位置での動きを決定できる。IMUデータおよび種々のピクセル位置で決定された動きを使用して、オブジェクト3408に関連する表面を予測することができる。カメラの位置が変わると、新しい表面が画像に表示される可能性がある。これらの表面に新しいトラッキングポイントを追加して良い。
上述のように、モバイルデバイスは、MVIDMRで使用される画像をキャプチャするために使用できる。キャプチャを支援するために、ライブ画像データをトラックまたはその他のガイドで補強して、ユーザがモバイルデバイスを正しく移動できるようにすることができる。トラックは、MVIDMRに関連付けられた画像が記録されている間にユーザにフィードバックを提供するインジケータを含んで良い。3406cにおいて、ライブ画像データはパス3422で拡張される。パスの開始と終了は、「開始」と「終了」というテキストで示される。パスに沿った距離は、影付きの領域3418で示される。
矢印3420の付いた円は、パス上の場所を示すために使用される。いくつかの実施例において、パスに対する矢印の位置を変えることができる。たとえば、矢印はパスの上または下に移動したり、パスと整列していない方向を指したりして良い。矢印は、オブジェクトに対するカメラの向き、またはカメラの位置がMVIDMRの生成に望ましいパスから逸脱していると判断された場合に、このようにレンダリングできる。色またはその他のインジケータを使用して、ステータスを示すことができる。たとえば、モバイルデバイスがパスを適切にたどっている場合は矢印や円を緑色に、オブジェクトに対するカメラの位置/向きが最適でない場合は赤色にレンダリングして良い。
図35Aおよび35Bは、MVIDMRで使用される画像をキャプチャするためのステータスインジケータを含む拡張現実(AR)画像キャプチャトラックを生成するさらに他の例を示している。ARシステムによって生成された合成画像は、1つまたは複数の仮想オブジェクトで拡張されたカメラからのライブ画像データで構成できる。例えば、上述のように、ライブ画像データは、モバイルデバイス上のカメラからのものであって良い。
図35Aにおいて、彫像であるオブジェクト3500aが、第1の位置および向きでのカメラからの画像3515に示されている。オブジェクト3500aは、十字線3504aを介して選択することができる。十字線がオブジェクト上に配置され、オブジェクトが選択されると、オブジェクト3500aが画像データ内を移動するときに、十字線が移動し、オブジェクト上に留まることができる。上述のように、画像内のオブジェクトの位置/方向が変化すると、画像内に十字線を配置する場所を決定できる。いくつかの実施例において、十字線の位置は、画像内の点、すなわち追跡点の動きを追跡することによって決定することができる。
具体的な実施例において、他のオブジェクトが追跡されたオブジェクトの前に移動される場合、ターゲット3504aをオブジェクトに関連付けることができない場合がある。たとえば、人がカメラの前を移動したり、手がカメラの前を通過したり、カメラが移動してオブジェクトがカメラの視野に表示されなくなったりすると、追跡されているオブジェクトは表示されなくなり、今まで追跡されていたオブジェクトが見えなくなる。したがって、追跡対象のオブジェクトに関連付けられているターゲットの場所を特定できない場合がある。オブジェクトのビューをブロックした人物がビューに出入りした場合など、オブジェクトが画像に再表示される場合、追跡ポイントを再取得してターゲットを再配置するようにシステムを構成できる。
第1の仮想オブジェクトは、インジケータ3502aとしてレンダリングされる。インジケータ3502aは、MVIDMRの画像のキャプチャの進行状況を示すために使用することができる。2番目の仮想オブジェクトは曲線3510としてレンダリングされる。3番目および4番目の仮想オブジェクトは線3506と3508としてレンダリングされる。5番目の仮想オブジェクトは曲線3512としてレンダリングされる。
曲線3510は、カメラのパスを描写するために使用されて良い。他方、線3506および3508並びに曲線3512は、MVIDMRの角度範囲を示すために使用されて良い。この例において、角度範囲は約90度である。
図35Bにおいて、カメラの位置が図35Aとは異なる。したがって、オブジェクト3500bの異なるビューが画像3525に提示されている。具体的には、カメラビューは、図35Aのビューと比較して、オブジェクトの正面のより多くを示している。ターゲット3504bは、まだオブジェクト3500bに固定されている。ただし、ターゲットはオブジェクトの他の場所、つまり腕に対面する前面に固定されている。
端部に矢印3520を有する曲線3516は、曲線3510に沿った画像キャプチャの進行を示すために使用される。矢印3520の周りの円3518は、矢印の現在の位置をさらに強調している。上述のように、矢印3520の位置および方向を使用して、曲線3510からのカメラ位置および/または方向の偏差についてユーザにフィードバックを提供することができる。この情報に基づいて、ユーザは、画像データをキャプチャしているカメラの位置および/または配向を調整することができる。
線3506および3508は引き続き画像に表示されるけれども、オブジェクト3500bに対して異なる位置に配置される。線は再び角度範囲を示す。3520において、矢印は、線3506と3508との間の約中間にある。したがって、約45度の角度が、オブジェクト3500bの周りにキャプチャされている。
インジケータ3502bは、今、影付き領域3522を含む。影付き領域は、現在キャプチャされているMVIDMR角度範囲の一部を示すことができる。いくつかの実施例において、線3506および3508は、キャプチャされているMVIDMR内の角度範囲の一部のみを示すことができ、全角度範囲は、インジケータ3502bを介して示すことができる。この例において、インジケータ3502bによって示される角度範囲は360度であり、他方、線3506および3508は、この範囲の90度の部分を示している。
図36を参照して、具体的な例を実施するために使用することができるコンピュータシステムの具体的な例が示されている。例えば、コンピュータシステム3600を使用して、上述の種々の実施例によるMVIDMRを提供することができる。種々の実施例によれば、具体的な実施例を実施するのに適したシステム3600は、プロセッサ3601、メモリ3603、インターフェース3611、およびバス3615(例えば、PCIバス)を含む。
システム3600は、光センサ、加速度計、ジャイロスコープ、マイクロフォン、立体視または構造化光カメラを含むカメラなどの1つまたは複数のセンサ3609を含んで良い。上述のように、加速度計およびジャイロスコープは、IMUに組み込んで良い。センサは、デバイスの動きを検出し、デバイスの位置を決定するために使用できる。さらに、センサを使用して、システムに入力を提供して良い。たとえば、マイクを使用して音を検出したり、音声コマンドを入力したりして良い。
1つまたは複数のカメラを含むセンサの場合、カメラシステムは、ネイティブビデオデータをライブビデオフィードとして出力するように構成することができる。ライブビデオフィードを拡張して、モバイルデバイスのディスプレイなどのディスプレイに出力することができます。ネイティブビデオは、時間の関数として一連のフレームを含んで良い。フレームレートは、多くの場合、1秒あたりのフレーム数(fps)として表される。各ビデオフレームは、各ピクセルのカラーまたはグレースケール値を持つピクセルの配列にすることができる。たとえば、ピクセル配列のサイズは512x512ピクセルで、ピクセルごとに3つのカラー値(赤、緑、青)を使用できる。3つの色の値は、ピクセルあたり24、30、36、40ビットなどの種々の量のビットで表すことができる。各ピクセルのRGBカラー値を表すためにより多くのビットが割り当てられると、より多くのカラー値が可能になる。ただし、各画像に関連付けられているデータも増加する。可能な色の数は、色深度と呼ばれことがある。
ライブビデオフィードのビデオフレームは、ハードウェアおよびソフトウェアコンポーネントを含む画像処理システムと通信できる。画像処理システムは、ランダムアクセスメモリ(RAM)やビデオRAM(VRAM)などの非永続メモリを含んで良い。さらに、ビデオデータおよび通信バスを操作するための中央処理装置(CPU)およびグラフィック処理装置(GPU)などのプロセッサ、およびビデオデータを転送するためのインターフェースを提供して良い。さらに、ライブビデオフィード内のビデオデータに対して変換を実行するためのハードウェアおよび/またはソフトウェアを提供して良い。
具体的な実施例において、ビデオ変換コンポーネントは、ネイティブビデオデータから導出され、次に仮想データで増強される合成画像を生成するために必要な機能を実行するように構成された特殊なハードウェア要素を含んで良い。データ暗号化において、特殊なハードウェア要素を使用して、特定のデータ変換、つまり特定のアルゴリズムに関連付けられたデータ暗号化を実行して良い。同様の方法で、特定のビデオデータ変換の全部または一部を実行するために、特殊なハードウェア要素を提供して良い。これらのビデオ変換コンポーネントは、グラフィカル操作を実行するように構成された特殊なハードウェア要素であるGPUから分離できる。ビデオフレームの特定の変換のすべてまたは一部は、CPUによって実行されるソフトウェアを使用して実行することも可能である。
プロセッシングシステムは、各ピクセル位置で最初のRGB値を持つビデオフレームを受信し、各ピクセル位置で2番目のRGB値を決定する操作を適用するように構成して良い。2番目のRGB値は、合成データを含む変換されたビデオフレームに関連付けることができる。合成画像が生成された後、ネイティブビデオフレームおよび/または合成画像は、記憶のために、フラッシュメモリまたはハードドライブなどの永続メモリに送信することができる。さらに、合成画像および/またはネイティブビデオデータをフレームバッファに送信して、1つまたは複数の出力インターフェースに関連付けられたディスプレイに出力することができる。たとえば、ディスプレイは、モバイルデバイスのディスプレイまたはカメラのビューファインダーにして良い。
一般的には、合成画像の生成に使用されるビデオ変換は、ネイティブ解像度または異なる解像度でネイティブビデオデータに適用できる。たとえば、ネイティブビデオデータは、24ビットで24fpsのフレームレートで表されるRGB値を持つ512x512の配列にすることができる。いくつかの実施例において、ビデオ変換は、そのネイティブ解像度でビデオデータを操作し、そのネイティブ解像度でネイティブフレームレートで変換されたビデオデータを出力することを含んで良い。
他の実施例において、プロセスをスピードアップするために、ビデオ変換は、ビデオデータを操作し、変換されたビデオデータをネイティブ解像度とは異なる解像度、色深度、および/またはフレームレートで出力することを含んで良いる。たとえば、ネイティブビデオデータは、24fpsなどの第1のビデオフレームレートにして良い。ただし、ビデオ変換は1フレームおきに実行でき、合成画像は12fpsのフレームレートで出力できる。代替的には、変換されたビデオデータは、変換されたビデオフレームの2つの間を補間することによって、12fpsレートから24fpsレートに補間することができる。
他の例において、ビデオ変換を実行する前に、ネイティブビデオデータの解像度を下げることができる。たとえば、ネイティブ解像度が512x512ピクセルの場合、ピクセル平均化などの方法を使用して256x256ピクセル配列に補間し、変換を256x256配列に適用して良い。変換されたビデオデータは、256x256の低い解像度で出力および/または保存して良い。代替的には、256x256の解像度などで変換されたビデオデータは、ディスプレイやストレージに出力する前に、512x512のネイティブ解像度などのより高い解像度に補間することができる。ビデオ変換を適用する前のネイティブビデオデータの粗大化は、単独で使用しても、より粗いフレームレートと組み合わせて使用しても良い。
上述のように、ネイティブビデオデータにも色深度を設定して良い。ビデオデータに変換を適用する前に、色深度を粗くして良い。たとえば、変換を適用する前に、色深度を40ビットから24ビットに減らすことができる。
上述のように、ライブビデオのネイティブビデオデータを仮想データで拡張して合成画像を作成し、リアルタイムで出力することができる。具体的な実施例において、リアルタイムは、一定量の待ち時間(latency)、すなわち、ネイティブビデオデータがキャプチャされてから、ネイティブビデオデータおよび仮想データの一部を含む合成画像が出力されるまでの時間と関連付けることができる。具体的には、待ち時間は100ミリ秒未満にして良い。他の実施例において、待ち時間は50ミリ秒未満であって良い。他の実施例において、待ち時間は30ミリ秒未満であって良い。さらに他の実施例において、待ち時間は20ミリ秒未満であって良い。さらに他の実施例において、待ち時間は10ミリ秒未満であって良い。
インターフェース3611は、別個の入力および出力インターフェースを含んで良いし、または、両方の操作をサポートする統合されたインターフェースであって良い。入力および出力インターフェースの例には、ディスプレイ、オーディオデバイス、カメラ、タッチスクリーン、ボタン、マイクなどがある。適切なソフトウェアまたはファームウェアの制御下で動作する場合、プロセッサ3601は、最適化などのタスクを担当する。プロセッサ3601の代わりに、またはプロセッサ3601に加えて、グラフィカルプロセッサユニット(GPU)などの種々の特別に構成されたデバイスを使用して良い。完全な実装は、カスタムハードウェアでも実行できる。インターフェース3611は、通常、無線または有線通信インターフェースなどの1つまたは複数の通信インターフェースを介して、ネットワークを介してデータパケットまたはデータセグメントを送受信するように構成される。デバイスがサポートするインターフェースの具体的な例は、イーサネットインターフェース、フレームリレーインターフェース、ケーブルインターフェース、DSLインターフェース、トークンリングインターフェース等を含む。
さらに、ファストイーサネットインターフェース、ギガビットイーサネットインターフェース、ATMインターフェース、HSSIインターフェース、POSインターフェース、FDDIインターフェースなどの種々の非常に高速なインターフェースが提供されて良い。一般的に、これらのインターフェースは、適切なメディアとの通信に適したポートを含んで良い。場合によっては、独立したプロセッサと、場合によっては揮発性RAMも含まれることがある。独立したプロセッサは、パケット交換、メディア制御、管理などの通信集約型タスクを制御できる。
種々の実施例によれば、システム3600は、メモリ3603を使用して、データおよびプログラム命令を格納し、ローカルサイドキャッシュを維持管理する。プログラム命令は、例えば、オペレーティングシステムおよび/または1つまたは複数のアプリケーションの動作を制御することができる。1つまたは複数のメモリは、また、受信したメタデータとバッチ要求されたメタデータを格納するように構成されて良い。
システム3600は、共通のハウジングを備えた単一のデバイスに統合することができる。例えば、システム3600は、カメラシステム、処理システム、フレームバッファ、永続メモリ、出力インターフェース、入力インターフェース、および通信インターフェースを含んで良い。種々の実施例において、単一のデバイスは、スマートフォンのようなモバイルデバイス、GoogleGlass(商標)のような拡張現実およびウェアラブルデバイス、またはMicrosoftHololens(商標)のような複数のカメラを含む仮想現実ヘッドセットであって良い。他の実施例において、システム3600は部分的に統合されて良い。たとえば、カメラシステムはリモートカメラシステムにして良い。他の例として、デスクトップPCのように、ディスプレイを他のコンポーネントから分離して良い。
上述のように、ヘッドマウントディスプレイのようなウェアラブルシステムの場合、ユーザがMVIDMRを記録するのに役立つ仮想ガイドを提供して良い。さらに、ウェアラブルシステムでMVIDMRを表示する方法をユーザに教えるのに役立つ仮想ガイドを提供して良い。たとえば、仮想ガイドは、ヘッドマウントディスプレイに出力される合成画像で提供して良い。これは、投影された画像の周りを歩くなど、ユーザが物理的な空間を何らかの方法で移動することに応じて、MVIDMRを種々の角度から表示できることを示す。他の例として、仮想ガイドを使用して、ユーザの頭の動きが種々の表示機能を可能にすることができることを示すことができる。さらに他の例では、仮想ガイドは、種々の表示機能をインスタンス化するために、手がディスプレイの前を移動できるパスを示して良い。
Claims (20)
- 指定されたオブジェクトについて、当該オブジェクトの第1の複数の画像から、オブジェクトモデルを決定する決定ステップであって、上記第1の複数の画像の各々は、対応する視点からキャプチャされ、上記オブジェクトモデルは、複数のオブジェクトモデルコンポーネントを含み、上記画像の各々は、上記オブジェクトモデルコンポーネントの1つまたは複数に対応し、上記オブジェクトモデルコンポーネントの各々は、上記指定されたオブジェクトの各々の部分に対応する、上記オブジェクトモデル決定ステップと、
上記オブジェクトモデルコンポーネントの1つまたは複数に対して、上記複数の画像に基づいて、対応するコンポーネント状態情報を決定するコンポーネント状態決定ステップであって、上記コンポーネント状態情報は、上記オブジェクトモデルコンポーネントに対応する上記それぞれのオブジェクト部分によって被る損傷の特性を示す、上記コンポーネント状態決定ステップと、
上記コンポーネント状態情報をストレージデバイスに保存するステップとを有することを特徴とする方法。 - 上記オブジェクトモデルは、上記指定されたオブジェクトの3次元スケルトンを含む請求項1に記載の方法。
- 上記オブジェクトモデルの決定は、ニューラルネットワークを適用して、上記複数の画像の対応する1つについて1つまたは複数の2次元スケルトンジョイントを推定することを含む請求項2に記載の方法。
- 上記オブジェクトモデルの決定は、上記複数の画像のうちの指定された1つの画像についてポーズ情報を推定することを含み、上記ポーズ情報は、上記指定された画像の指定されたオブジェクトに対するカメラの位置および角度を含む請求項3に記載の方法。
- 上記オブジェクトモデルの決定は、上記2次元スケルトンジョイントおよび上記ポーズ情報に基づいて、上記指定されたオブジェクトの3次元スケルトンを決定することを含む請求項4に記載の方法。
- 上記オブジェクトモデルコンポーネントは、上記指定されたオブジェクトの上記3次元スケルトンに少なくとも部分的に基づいて決定される請求項2に記載の方法。
- 上記オブジェクトモデルコンポーネントの指定された1つが、上記画像の指定されたサブセットおよび上記オブジェクトの指定された部分に対応し、
上記方法は、さらに、
上記画像の上記指定されたサブセットに基づいて、コンピューティングデバイスで上記オブジェクトの上記指定された部分のマルチビュー表現を構築するステップであって、上記マルチビュー表現は、1つまたは複数の方向にナビゲート可能である、上記ステップを有する請求項1に記載の方法。 - 上記特性が、上記対応するオブジェクト部分への損傷の推定確率、上記対応するオブジェクト部分への損傷の推定重症度、および、上記対応するオブジェクト部分への損傷の推定タイプからなるグループから選択される請求項1に記載の方法。
- 上記コンポーネント状態情報に基づいて集約されたオブジェクト状態情報を決定するステップであって、上記集約されたオブジェクト状態情報は、上記オブジェクト全体への損傷を示す、上記ステップと、
上記集約されたオブジェクト状態情報に基づいて、上記オブジェクトへの損傷の視覚的表現を含む、上記オブジェクトの標準ビューを決定するステップとをさらに有する請求項1に記載の方法。 - 上記オブジェクトへの損傷の視覚的表現がヒートマップである請求項9に記載の方法。
- 上記オブジェクトの上記標準ビューは、上記オブジェクトのトップダウンビュー、一方向または複数の方向にナビゲート可能な上記オブジェクトのマルチビュー表現、および上記オブジェクトの3次元モデルからなるグループから選択される請求項9に記載の方法。
- 上記コンポーネント状態情報の決定は、
上記対応するオブジェクトモデルコンポーネントに対応する画像のサブセットにニューラルネットワークを適用することを含む請求項1に記載の方法。 - 上記ニューラルネットワークは、上記コンピューティングデバイスの上記深度センサからキャプチャされた上記深度情報を入力として受信する請求項12に記載の方法。
- 上記コンポーネント状態情報の決定は、
上記オブジェクトモデルコンポーネントのそれぞれに対応する個別の画像に対して計算されたニューラルネットワーク結果を集約することをさらに含む請求項12に記載の方法。 - カメラを介して1つまたは複数の追加の画像をキャプチャするためのライブ記録ガイダンスを提供するステップであって、上記特性は統計的推定を含み、上記ライブ記録ガイダンスは、上記統計的推定の統計的不確かさを低減するように提供される、上記ステップをされに有する請求項1に記載の方法。
- 上記複数の画像に基づいて、コンピューティングデバイスにおいて、上記指定されたオブジェクトのマルチビュー表現を構築するステップであって、上記マルチビュー表現は、1つまたは複数の方向にナビゲート可能である、上記ステップをさらに有する請求項1に記載の方法。
- 上記オブジェクトが車両であり、上記オブジェクトモデルが上記車両の3次元スケルトンを含み、上記オブジェクトモデルコンポーネントが左車両ドア、右車両ドア、およびフロントガラスのそれぞれを含む請求項1に記載の方法。
- コンピューティングデバイスにおいて、
オブジェクトの第1の複数の画像から、指定されたオブジェクトに対してオブジェクトモデルを決定するように構成されたプロセッサであって、上記第1の複数の画像の各々は、対応する視点からキャプチャされ、上記オブジェクトモデルは、複数のオブジェクトモデルコンポーネントを含み、上記画像の各々は、上記オブジェクトモデルコンポーネントの1つまたは複数に対応し、上記オブジェクトモデルコンポーネントの各々は、上記指定されたオブジェクトの各々の部分に対応する上記プロセッサと、
上記オブジェクトモデルコンポーネントの1つまたは複数に対して、上記複数の画像に基づいて、それぞれ決定されたコンポーネント状態情報を保持するように構成されたメモリであって、上記コンポーネント状態情報は、上記オブジェクトモデルコンポーネントに対応する上記それぞれのオブジェクト部分によって被る損傷の特性を示す、上記メモリと、
上記コンポーネント状態情報を格納するように構成されたストレージデバイスとを有することを特徴とするコンピューティングデバイス。 - 上記オブジェクトモデルは、上記指定されたオブジェクトの3次元スケルトンを含み、上記オブジェクトモデルの決定は、ニューラルネットワークを適用して、上記複数の画像の対応する1つについて1つまたは複数の2次元スケルトンジョイントを推定することを含み、上記オブジェクトモデルの決定は、上記複数の画像のうちの指定された1つの画像についてポーズ情報を推定することを含み、上記ポーズ情報は、上記指定された画像の指定されたオブジェクトに対するカメラの位置および角度を含み、上記オブジェクトモデルの決定は、上記2次元スケルトンジョイントおよび上記ポーズ情報に基づいて、上記指定されたオブジェクトの3次元スケルトンを決定することを含み、上記オブジェクトモデルコンポーネントは、上記指定されたオブジェクトの上記3次元スケルトンに少なくとも部分的に基づいて決定される請求項18に気シアノ請求項2に記載のコンピューティングデバイス。
- 指定されたオブジェクトについて、当該オブジェクトの第1の複数の画像から、オブジェクトモデルを決定する決定ステップであって、上記第1の複数の画像の各々は、対応する視点からキャプチャされ、上記オブジェクトモデルは、複数のオブジェクトモデルコンポーネントを含み、上記画像の各々は、上記オブジェクトモデルコンポーネントの1つまたは複数に対応し、上記オブジェクトモデルコンポーネントの各々は、上記指定されたオブジェクトの各々の部分に対応する、上記オブジェクトモデル決定ステップと、
上記オブジェクトモデルコンポーネントの1つまたは複数に対して、上記複数の画像に基づいて、対応するコンポーネント状態情報を決定するコンポーネント状態決定ステップであって、上記コンポーネント状態情報は、上記オブジェクトモデルコンポーネントに対応する上記それぞれのオブジェクト部分によって被る損傷の特性を示す、上記コンポーネント状態決定ステップと、
上記コンポーネント状態情報をストレージデバイスに保存するステップとを有する方法を実行するための命令を保持する1または複数の非一時的なコンピュータ可読媒体。
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 |
---|---|
JP2022523478A true JP2022523478A (ja) | 2022-04-25 |
Family
ID=71735945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021541722A Pending JP2022523478A (ja) | 2019-01-22 | 2020-01-07 | マルチビュー視覚データからの損傷検出 |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP3915050A4 (ja) |
JP (1) | JP2022523478A (ja) |
CN (1) | CN113518996A (ja) |
AU (1) | AU2020211387A1 (ja) |
CA (1) | CA3126804A1 (ja) |
GB (1) | GB2594657B (ja) |
IL (1) | IL284840B2 (ja) |
WO (1) | WO2020154096A1 (ja) |
Families Citing this family (10)
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 |
US11562474B2 (en) | 2020-01-16 | 2023-01-24 | Fyusion, Inc. | Mobile multi-camera multi-view capture |
US11776142B2 (en) | 2020-01-16 | 2023-10-03 | Fyusion, Inc. | Structuring visual data |
US11605151B2 (en) | 2021-03-02 | 2023-03-14 | Fyusion, Inc. | Vehicle undercarriage imaging |
CN113628286B (zh) * | 2021-08-09 | 2024-03-22 | 咪咕视讯科技有限公司 | 视频色域检测方法、装置、计算设备及计算机存储介质 |
CN116055866B (zh) * | 2022-05-30 | 2023-09-12 | 荣耀终端有限公司 | 一种拍摄方法及相关电子设备 |
CN115170739B (zh) * | 2022-07-11 | 2023-09-01 | 杭州时戳信息科技有限公司 | 基于人工智能的车辆三维设计装置 |
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 CN CN202080017453.9A patent/CN113518996A/zh active Pending
- 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
- 2020-01-07 IL IL284840A patent/IL284840B2/en unknown
- 2020-01-07 WO PCT/US2020/012592 patent/WO2020154096A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
CN113518996A (zh) | 2021-10-19 |
IL284840B2 (en) | 2023-04-01 |
IL284840A (en) | 2021-08-31 |
GB2594657A (en) | 2021-11-03 |
GB2594657B (en) | 2023-05-03 |
IL284840B (en) | 2022-12-01 |
AU2020211387A1 (en) | 2021-08-12 |
CA3126804A1 (en) | 2020-07-30 |
GB202110637D0 (en) | 2021-09-08 |
WO2020154096A1 (en) | 2020-07-30 |
EP3915050A1 (en) | 2021-12-01 |
EP3915050A4 (en) | 2022-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11989822B2 (en) | Damage detection from multi-view visual data | |
US11024093B2 (en) | Live augmented reality guides | |
US11967162B2 (en) | Method and apparatus for 3-D auto tagging | |
JP2022523478A (ja) | マルチビュー視覚データからの損傷検出 | |
US20210312702A1 (en) | Damage detection from multi-view visual data | |
US20200257862A1 (en) | Natural language understanding for visual tagging | |
US11776142B2 (en) | Structuring visual data | |
US11869135B2 (en) | Creating action shot video from multi-view capture data | |
US20210225038A1 (en) | Visual object history | |
US11972556B2 (en) | Mobile multi-camera multi-view capture | |
US11252398B2 (en) | Creating cinematic video from multi-view capture data | |
US20220408019A1 (en) | Viewpoint path modeling | |
WO2022266656A1 (en) | Viewpoint path modeling and stabilization | |
US20210037230A1 (en) | Multiview interactive digital media representation inventory verification | |
US20240221402A1 (en) | Method and apparatus for 3-d auto tagging |