JP2022022133A - 実オブジェクトの3dスキャンニングのための方法 - Google Patents
実オブジェクトの3dスキャンニングのための方法 Download PDFInfo
- Publication number
- JP2022022133A JP2022022133A JP2021117287A JP2021117287A JP2022022133A JP 2022022133 A JP2022022133 A JP 2022022133A JP 2021117287 A JP2021117287 A JP 2021117287A JP 2021117287 A JP2021117287 A JP 2021117287A JP 2022022133 A JP2022022133 A JP 2022022133A
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- box
- camera
- tile
- tiles
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000000007 visual effect Effects 0.000 claims description 11
- 230000003190 augmentative effect Effects 0.000 claims description 10
- 230000033001 locomotion Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 2
- 230000003287 optical effect Effects 0.000 claims description 2
- 238000013500 data storage Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 7
- 210000003171 tumor-infiltrating lymphocyte Anatomy 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 239000003550 marker Substances 0.000 description 5
- 238000011960 computer-aided design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 125000000174 L-prolyl group Chemical group [H]N1C([H])([H])C([H])([H])C([H])([H])[C@@]1([H])C(*)=O 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 238000010146 3D printing Methods 0.000 description 1
- 241000206761 Bacillariophyta Species 0.000 description 1
- 101000666896 Homo sapiens V-type immunoglobulin domain-containing suppressor of T-cell activation Proteins 0.000 description 1
- 102100038282 V-type immunoglobulin domain-containing suppressor of T-cell activation Human genes 0.000 description 1
- 210000001015 abdomen Anatomy 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 235000009508 confectionery Nutrition 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- IJJVMEJXYNJXOJ-UHFFFAOYSA-N fluquinconazole Chemical compound C=1C=C(Cl)C=C(Cl)C=1N1C(=O)C2=CC(F)=CC=C2N=C1N1C=NC=N1 IJJVMEJXYNJXOJ-UHFFFAOYSA-N 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 229910052724 xenon Inorganic materials 0.000 description 1
- FHNFHKCVQCLJFQ-UHFFFAOYSA-N xenon atom Chemical compound [Xe] FHNFHKCVQCLJFQ-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
- G01B11/25—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
- G01B11/2518—Projection by scanning of the object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/08—Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- Image Input (AREA)
Abstract
【課題】実際のオブジェクト(real object)の3Dスキャン方法を提供すること。【解決手段】3D位置を有するカメラを用いて実オブジェクトを3D走査するための方法であって、カメラから、実オブジェクトの画像を受信することaと、仮想3Dボックス内に囲まれた実オブジェクトの画像を拡張現実ビューで画面に表示することbと、CAMでタイルが指されていることを検出することcと、カメラから仮想3Dボックスのフレームを取得し、それによりタイルを検証することdと、カメラの様々な3D位置に対して、上記工程を、実オブジェクトをスキャンするために十分な数のタイルが検証されるまで、繰り返すことと、捕捉したすべてのフレームで、3D再構成アルゴリズムを実施することeと、を含む。【選択図】図1
Description
本発明は、3Dコンテンツ作成の分野に関する。より詳細には、実際のオブジェクト(real object、以下、実オブシェクト)の 3Dスキャンニング方法に関する。以下、3Dスキャンニングとは、実オブジェクトの形状や外観を取得して、仮想的な3Dを作成するプロセスを示す。このプロセスは、3Dデジタル化および3Dキャプチャと同じように呼ばれる。実際のオブジェクトの3Dスキャンニングは、コンピュータ支援設計(CAD)や3D印刷などの分野に適用される。
オブジェクト(日常的なオブジェクトから山波などの地球の表面の一部まで、さまざまなサイズをカバーする)をスキャンするには、写真測量技術を使用することが何十年も前から提案されてきた。写真測量技術は、異なる視点から取得した画像の対応点を自動的に認識して相関させるという原理に基づいている。そのために、ユーザはスキャンするオブジェクトの周りを移動して、できるだけ多くの写真を撮ります。ユーザは、何枚の写真を撮影する必要があるか、写真の取得にどれだけの時間を費やす必要があるか、また、写真をどの位置から撮影する必要があるかを正確には知らない。画像を取得したら、それらを並べ替える。それらのいくつかは有用であると見なされ、十分な詳細、適切な照明、十分なオーバーラップがあり、他のいくつかの写真は無視される。ぼやけている、オーバーラップが多すぎる、または十分でない、または悪い照明条件で撮影されているため、ユーザは、ユーザがそれ以上制御することなく、アルゴリズムに完全に3Dモデルを作成させる。したがって、3Dスキャンニングのこのタスクは、結果の品質が不確かなため、ユーザにとって退屈でイライラすることがある。
非特許文献1などの3Dスキャンニング・アプリケーションは、拡張現実(AR) テクノロジーを利用して、使いやすい方法でオブジェクトをスキャンする。ARテクノロジーにより、カメラでキャプチャした実際のシーンに仮想オブジェクトを重ねることができる。現実世界でのユーザのポーズがARシステムによって更新され、それに応じて仮想オブジェクトのポーズが更新されるため、仮想オブジェクトは現実世界に固定されているように見えまる。
前述の3Dスキャンニング・アプリケーションでは、ユーザは追跡マーカーとして機能するチェッカーボードを紙に印刷し、オブジェクトをチェッカーボードの中央に配置してアプリケーションを開く。トラッキングマーカーを使用すると、アルゴリズムをより迅速に解決できるため、キャプチャ直後に結果を表示できる。ユーザはオブジェクトを追跡マーカーに置き、アプリケーションを起動する。その後、数百のセグメントで構成されたドームに囲まれたオブジェクトが表示される。ユーザは、すべてのセグメントがクリアされるまで、オブジェクトの周りを回転する(または、回転サポート上でオブジェクトを回転させる)。アプリケーションはチェッカーボードを印刷する必要があるため、ユーザはマーカーを持ち歩くか、プリンタを用意する必要があり、非常に不便である。さらに、ドームはトラッキングマーカーの寸法に適合する必要がある(ドームの高さはトラッキングマーカーの長さと同じである)。これは、標準のオフィスプリンタを使用してA3フォーマット以外ではほとんど実行できない。
「Scandy Pro 3DScanner」または「itSeez3D」という名前で市販されている他の3Dスキャンニング・アプリケーションを使用すると、3Dスキャンニングプロセスが非常に簡単になり、印刷媒体は必要ない。これらのアプリケーションでは、「Red/Green/Blue-Depth」を表すRGB-Dカメラと呼ばれる特定のカメラを使用する必要がある。RGB-Dカメラは、カラー画像と(顔のパターンなどの既知のパターンに基づく)深度マップを同時に提供し、画像に写っているオブジェクトの距離を特徴付ける。ただし、RGB-Dカメラはすべてのスマートフォンやタブレットで利用できるわけではなく、最新の一部のスマートフォンやタブレットでのみ利用できる。
EyeCue Vision Techの開発による「Qlone 3D Scanner」(https://www.qlone.pro/)
「ディープラーニングとジオメトリを使用した3Dバウンディング ボックス推定」、Arsalan Mousavian et al、CVPR 2017
「メッシュR-CNN」、Georgia Gkioxari ら、2019 IEEE/CVF International Conference on Computer Vision ICCV
「空間彫刻による形状理論」(Kiriakos N. Kutulakos et al、International Journal of Computer Vision 38(3),199-218,2000)
「明視野顕微鏡における珪藻のオートフォーカス:比較研究」、Pech-Pacheco et al、Proceedings 15th International Conference on Pattern Recognition。ICPR-2000)
したがって、ユーザフレンドリーで、標準のカメラと互換性があり、大きなオブジェクトをスキャンすることが可能な、実オブジェクト(real object)の3Dスキャンニング方法を提供する必要がある。
本発明の目的は、3D位置を有するカメラを用いて実オブジェクトを3D走査するためのコンピュータ実施方法であり、以下のステップを含む:
a)カメラから実オブジェクトの画像を受信する。
b)仮想3Dボックスに囲まれた実オブジェクトの画像を拡張現実ビューで画面に表示し、平面タイルのセットで構成された仮想構造を、実オブジェクトに重ね、および仮想3Dボックスに固定し、各タイルはカメラの所定のポーズに対応する。
c)カメラでタイルが指されていることを検出する。
d)カメラから仮想3Dボックスのフレームを取得し、それによってタイルを検証する。このフレームは、画像上の仮想3Dボックスの投影である。
a)カメラから実オブジェクトの画像を受信する。
b)仮想3Dボックスに囲まれた実オブジェクトの画像を拡張現実ビューで画面に表示し、平面タイルのセットで構成された仮想構造を、実オブジェクトに重ね、および仮想3Dボックスに固定し、各タイルはカメラの所定のポーズに対応する。
c)カメラでタイルが指されていることを検出する。
d)カメラから仮想3Dボックスのフレームを取得し、それによってタイルを検証する。このフレームは、画像上の仮想3Dボックスの投影である。
カメラのさまざまな3D位置について、ステップa)からd)が、実オブジェクトをスキャンするために十分な数のタイルが検証されるまで、繰り返される。
e)捕捉されたすべてのフレームで、3D再構成アルゴリズムを実施する。
e)捕捉されたすべてのフレームで、3D再構成アルゴリズムを実施する。
本発明の追加の特徴および利点は、添付の図面と併せて以下の説明から明らかになる。
図1は、本発明の方法の主なステップを示す。
プロセス全体で、ユーザは拡張ビューと互換性のあるハンドヘルドデバイスのカメラを保持する。例えば、ハンドヘルドデバイスは、取得した画像をスクリーン上に表示するためのスクリーンとカメラとを備えた、スマートフォン又はタブレットであってよい。発明された方法のおかげで、ユーザは、以下で説明するように、ウィザードの視覚的指示に従うことによって、カメラCAMの1つのポーズから別のポーズへと導かれる。
実環境には、スキャン対象のオブジェクトOBJが用意されている。図に示す例では、スキャン対象はテーブルの上に置かれたテディベアである。第1のステップa)では、カメラCAMから実オブジェクトOBJの画像IMを受信する。オブジェクトOBJの姿勢に対するカメラCAMの姿勢は、カメラCAMを較正および登録することによって、すなわち、カメラの内因性パラメータおよび外因性パラメータを決定することによって取得することができる。これらのパラメータを知ることにより、3Dシーンの3Dポイントの対応する捕捉された画像内のピクセルへの変換(回転/平行移動)を計算できる。
この方法の第2のステップb)では、拡張現実ビューにおいて、実オブジェクトOBJの画像IMがリアルタイムで画面に表示される。カメラはキャリブレーションされているため、オブジェクトはオブジェクトOBJを囲む仮想3DボックスVBO(直方体)で囲まれている可能性があり、ユーザがオブジェクトOBJの周りを移動すると、仮想3DボックスVBOの向きがそれに応じて変更される。仮想3DボックスVBOは、ハンドヘルドデバイスによって可能になる拡張ビュー内で実オブジェクトOBJに重ねられる。仮想3DボックスVBOは、拡張現実ビュー内に配置され、スケーリングされて、仮想3DボックスVBOの対称性がオブジェクトOBJの潜在的対称性に適合するようにすることができる。ただし、この条件は、この方法を実行するために不可欠なものではない。
仮想3DボックスVBOを3Dシーンに正確に配置することは、特にタブレットの表面での2Dインタラクションで構成される典型的なユーザ入力考慮する場合、又は、拡張現実ヘッドマウント表示スマートグラスなどのデバイスの場合の不正確な空中での手のジェスチャを考慮する場合に、難しくなる。
さらに、ほとんどの場合、スキャンするオブジェクトは平らな面に置かれることに注意する必要がある。したがって、好ましい実施形態では、ステップa)は、画像IMにおいて、実オブジェクトOBJが位置する水平面PLAを検出し、仮想3DボックスVBOを平面PLA上に配置するようにユーザに指示することを含む。検出された平面の制約を使用することにより、ユーザは、3Dシーンに仮想3DボックスVBOを配置するときに支援される。
飛行機は、iOSデバイスで実行され、および拡張現実アプリケーション専用のARKitソフトウェア開発キットを使用することによって、例えば(および非限定的に)検出され、追跡され、および表示される。
ユーザは、スキャンするオブジェクトOBJに近い平面の可視部分上の点を選択するように求められる。次に、ユーザが定義したポイントの近くに仮想3DボックスVBOが作成され、スキャンするオブジェクトに合わせて変更できる。
直感的なジェスチャを使用することによって、仮想3DボックスVBOを調整できる。スマートフォンを使用している場合は、仮想3DボックスVBOをタッチして画面上で指を動かすだけで翻訳できる。操作を容易にするために、移動は、以前に検出された検出された平面によって制限される。したがって、仮想3DボックスVBOは、表面上で簡単にドラッグして、およびスキャンするオブジェクトの上にオーバーレイすることができる。
図2に示す仮想グリッドは、ボックスが配置されている平面に配置することができ、ユーザをさらに支援することができる。このような視覚的なフィードバックは、スケールと遠近法を提供することで、仮想オブジェクトを現実世界の上に固定するのに役立つ。また、グリッドと実際の平面の位置合わせをチェックすることで、平面が正確に検出されたかどうかを判断するのにも役立つ。
仮想3DボックスVBOは、仮想3DボックスVBOの近く、特にその下にある円弧として表すことができる回転ハンドルを使用して回転することもできる。ユーザが回転ハンドルを円弧の一方または他方にドラッグする。これは、スキャンするオブジェクトOBJ の形状がボックスに近い場合に特に役立つ。この場合、実際の形状と仮想ボックスのエッジをできるだけ揃えて、より適切にフィットさせ、潜在的な対称平面に一致させる必要がある。
仮想3DボックスVBOのサイズも変更できる。スマートフォンの画面を使用する場合、この機能の1つの可能な実施は、顔をタップして押し続けて変更することである。面の色が変わり、立方体の他の部分から切り離され、法線に沿って移動できるようになる。顔を解放すると、顔の新しい位置を考慮してボックスが再構築され、ユーザのジェスチャに応じてボックスが大きくなったり小さくなったりする。
オブジェクトの周りをわずかに移動することで、ユーザは上記のようにボックスを繰り返し調整できるため、捕捉するオブジェクトができるだけ内側に収まるようにしながら、追跡の不可避の不正確さを考慮に入れる余地を残すことができる。
オブジェクトが平面上に配置されていない場合でも、仮想ボックスを作成して調整できるが、プロセスが長くなる可能性がある。実際、有用な制約を提供する物理的な平面がなければ、ユーザはオブジェクトの周りを移動してすべての面を個別に調整する必要がある。たとえば、天井からぶら下がっているランプシェードの場合、ユーザは仮想ボックスをランプシェードの上に大まかに配置してから、ランプシェードのすべてのパーツがボックス内に収まるように移動する必要がある。すべての面をすべてのx、y、z方向に調整する。
拡張ビュー内のオブジェクトを囲む仮想3DボックスVBOを手動で提供する代わりに、仮想3DボックスVBOを自動的に提供できる。
実際、多くの機械学習オブジェクト検出アルゴリズム(たとえば、分類)は、画像で検出されたすべてのオブジェクトの境界矩形を提供できる。ユーザは、再構築するオブジェクトを(タッチ、音声、視線、または単にカメラを向けることによって)選択することができる。仮想3DボックスVBOは、バウンディング長方形の底辺の中央と平面との間の交点に中心を置くことができる。仮想3DボックスVBOの3つの次元のうち2つが既知である。ユーザは1次元(深さ)を調整するだけでよく、おそらくボックスを回転して位置合わせを改善できる。回転は、オブジェクトの周りを移動し、機械学習に依存して仮想 3DボックスVBOを繰り返し調整することで置き換えることもできる。
機械学習の最近の進歩は、3D境界ボックス(非特許文献2の記事で開示されている)を提供することによって、又は、オブジェクトが既知のクラスに属している場合のオブジェクトの形状の近似(記事で開示されているように、非特許文献3)さえも提供することによって、さらに一歩進むことができる。
あるいは、コンピュータビジョンを利用して仮想3DボックスVBOを自動的に提供してもよい。一部の拡張現実ライブラリは、実環境の注目すべき特徴に対応する3Dポイントを検出できるため、多かれ少なかれ密度の高い3Dポイントクラウドになる。十分なポイントがある場合、ユーザが捕捉するオブジェクトをポイントすると、仮想3Dボックス VBOが自動的に計算される。
発明された方法のステップb)の間、一組の平面タイルTILで作成され、仮想3D ボックスVBOに固定されている仮想構造VSTも、例えば図6に示すように拡張現実ビューに表示される。タイルは、平面であり、好ましくは長方形である。タイルTILの配置は、仮想3DボックスVBOの周囲に配置され、各タイルTILは、カメラCAMの所定のポーズに対応する。したがって、カメラの視野内に仮想3DボックスVBO全体を配置しながら、カメラで各タイルをポイントすることによって、ユーザは、良好な3D再構築品質を備えたオブジェクトの高速再構成を有するようにするために、正確に1つの有効な画像を撮影する。
第3のステップc)では、タイルTILがカメラCAMで指されていることが検出される。ユーザは当然、タイルを正しく指し示すことができない(タイルに対して正確に垂直ではない)傾向があるため、ユーザは、タイルTILを正確に指す前に、カメラCAM をわずかに動かしてよい。
タイルTILが指されている場合、仮想3DボックスVBOのフレームが取得され、タイルTILが有効になる(ステップd)。フレームは、イメージIM上の仮想3DボックスVBOの投影である。再構成アルゴリズムによっては、画像に表示される3Dシーン全体ではなく、仮想3DボックスVBOの投影のみが処理されることがある。したがって、スキャンする最大ボリュームは正確に定義され、再構成アルゴリズムは、シーン全体を再構成しようとする代わりに、そのボリューム内の詳細に焦点を合わせることができる。仮想3DボックスVBOは、捕捉されるフレームに投影する。これは、バウンディング ボックスの各コーナポイントをカメラのフレームに投影し、結果として投影されるポイントの座標が既知のフレームサイズに収まることをチェックすることによって、確認することができる。これにより、スキャンするモデルは、捕捉されたフレームに完全に表示することができ、ユーザの狙いが悪いために誤って切り取られることがなくなる。
フレームを取得するために、および、カメラがオブジェクトに対して正しく配置され、方向付けられているかどうかを検出するために、カメラから光線が照射される(cast)。その光線と未検証のタイルが衝突した場合、光線と未検証のタイルの法線方向との角度が計算され、その角度が所定の値より小さければ有効にする。本発明者らは、15度と25度との間に含まれる所定の値が適切であることを見出した。特に、0.95の余弦に対応する約18度の所定の値は、到達するのにイライラすることなく十分な精度を提供するため、特に適している。光線の方向がタイルの法線方向に近いかどうかも、両方向間のドット積によって測定できる。これは、しきい値よりも高くなければならない。法線方向に近い方向でタイルを指すと、捕捉されたフレームがタイルのポーズによって定義された視点に近い視点を表すことが保証されるため、後者の3D再構築に理想的である。
好ましい実施形態では、光線は、所定の時間間隔で周期的に照射される。したがって、ユーザは、スキャン処理中にハンドヘルドデバイスのボタンを押したり、画面に触れたりする必要がなく、ユーザは両手でカメラを保持できるため、取得したフレームの安定性が向上する。光線キャスティングの周期性は、プログレスバーなどのタイマーを画面に表示することによって具体化することができる。
図6に示すように、ターゲットなどの視覚的インジケータは、カメラの光軸に対応する画面の中央に表示される場合がある。ビジュアル インジケータがタイル内にある場合、タイマーが表示される。
次に、実オブジェクトOBJをスキャンするために十分な数のタイルが検証されるまで、カメラCAMのさまざまな3D位置に対してステップa)からd)が繰り返される。次に、ステップe)で、3D再構成アルゴリズムが、捕捉されたすべてのフレームで実施される。好ましい実施形態では、再構成アルゴリズムは、3Dカービングアルゴリズムであり、仮想構造VSTのタイルの位置はそれに応じて決定される。カービングアルゴリズムは、非常に明確なポーズをほとんど必要としない。カービングの原理は、非特許文献4の記事で解説される。各フレームは、3Dモデルを「彫る」ために使用される。
好ましい実施形態では、仮想構造VSTは、図3、図4、および図5に示すように、仮想3DボックスVBOの上部を覆う半球(またはドーム)として配置される。タイルが平面であるため、仮想構造VSTは半球に正確に適合しない。図3は仮想構造の一例を斜視図で示し、図4は仮想構造の上面図を示し、図5は側面図を示す。
仮想構造VST(図4)の上面図を見ると、タイルは、仮想構造VSTの最上点TMPと一致する中心を有する十字を形成するタイルST1の第1のサブセットを含む。十字は仮想3DボックスVBOの側面と位置合わせされる。つまり、中央上部のタイルは仮想3DボックスVBOの上面に平行であり、十字の方向は仮想3DボックスVBOの方向に適合する。タイルの十字状の配置により、ユーザは、コンピュータ支援設計で通常使用される視点に従って、オブジェクトの写真を撮ることができる。つまり、正面、背面、上面、左右の視点である。
タイルST2の第2のサブセットは、仮想構造VSTの下部BOTと最上部ポイントTMPとの間の中間の高さで、仮想構造VSTの周辺に配置される。タイルST2の第2のサブセットのタイルは、タイルST1の第1のサブセットのタイルより大きくてもよい。したがって、フレームの完全なセットを迅速に得るためには、タイルの第2のサブセットST2の限られた数のタイルが必要である。タイルST2の第2サブセットの4つのタイルは、仮想3DボックスVBOの面と位置合わせされるように、タイルST1の第1サブセットの十字に位置合わせされる。
最後に、タイルST3の第3のサブセットが、仮想構造VSTの周辺の底部BOTに配置される。タイルST3の第3のサブセットのタイルは、上述と同じ理由で、タイルST1の第2のサブセットのタイルより大きくてもよい。タイルST3の第3サブセットの4つのタイルは、仮想3DボックスVBOの面と位置合わせされるように、タイルST1の第1サブセットの十字に位置合わせされる。
本発明の好ましい実施形態では、タイルの第1、第2、および第3のサブセット(z軸に沿って最高から最低まで)にそれぞれ5(最上部のタイルを含む)、8、および16のタイルがあり、ドーム内の合計は29枚のタイルである。したがって、ユーザは再構成の品質を犠牲にすることなく、多くの写真を撮る必要はない。
図3からわかるように、タイルST1の第1のサブセット、タイルST2の第2のサブセット、およびタイルST3の第3のサブセットは、一定の極角θだけ互いに離間することができる。一定の極角θは、z軸に沿って整列したタイルの中心間で測定される。タイルST3の第3のサブセットは、仮想3DボックスVBOの中心CTRに対して高くされており、ユーザによるフレームの取得を容易にする。
図4でわかるように、同じサブセットのタイルは、一定の方位角で互いに離れている。タイルの第1、第2、および第3のサブセット内の一定の方位角は、それぞれπ/2、π/4、およびπ/8である。
図5からわかるように、ドームの基礎となる円の半径に対応する仮想構造VSTの半径 rは、仮想3DボックスVBOの最大寸法に設定される。仮想3DボックスVBOの寸法dx、dy、dzを考慮して、r=max(dx、dy、dz)となる。結果として、仮想3DボックスVBOは、オブジェクトのサイズとドームの円の半径に合わせて調整されるため、大きなオブジェクトでもスキャンできる。
図3から図5に開示されている仮想構造VSTのパターンにより、オブジェクトをあらゆる側面から走査して見ることができ、同時に良好な再構成結果が得られる。下部のタイルはオブジェクトが置かれている平面より上にあり、ユーザが不快なポーズを取らなければならないため、垂直ではなくわずかに傾斜している場合があることに注意する。
(彫刻アルゴリズムの代わりに)純粋な写真測量アルゴリズムが選択された場合、そのような位置合わせの制約がなくても、ドームはより高密度でより規則的に見える。
仮想構造VSTの前述の半球形状の代替として、仮想構造は、オブジェクトOBJのカテゴリに対応するパターンとして配置されてよい。オブジェクトのカテゴリは、ステップ a):ユーザが、物品(たとえば、車両または人の顔)のカテゴリのセットの中から、又は、パターン認識によって自動検出されるオブジェクトのカテゴリの中から、3Dオブジェクトの、オブジェクトのカテゴリに関する情報を提供する、ステップ中に決定される。
したがって、オブジェクトの形状に適合する仮想構造VSTでは、オブジェクトの複雑さが考慮される。タイルは、オブジェクトの詳細ができるだけ多く捕捉されるように配置される。これらのタイルは、サイズが異なり、粒度も異なり、いくつかのステップ:第1のタイルセットが、オブジェクトの全体的な形状(たとえば車両)を彫刻するのに理想的なオブジェクトの粗い特徴を捕捉するために提示できること、および、より細かいパターンを有する第2のタイルセットが、オブジェクトのサブコンポーネント(たとえば、外部バックミラー)のより細かい表面の詳細を捕捉するために使用できること、のステップで表示できる。
仮想構造VST(オブジェクトのカテゴリに対応するドームまたはパターン)の種類が何であれ、ユーザはオブジェクトOBJを回転させ、図6に示すように、右隅画像は、ユーザがオブジェクトの周りにいて、(タブレットやスマートフォンなどのハンドヘルドデバイスの)カメラCAMを使用してフレームを捕捉していることを示し、および、中央画像は、ユーザがそのハンドヘルドデバイスのスクリーン上で何を見ているかを示す、ように、タイルは1つずつ検証される。
ポイントされているタイル上の一時的な視覚的フィードバックは、対応するフレームが取得されていることを示す。一時的なフィードバックは、事前に定義された色、またはタイルの点滅である場合がある。タイルが取得されると、一時的な視覚的フィードバックは、たとえば別の色の永続的な視覚的フィードバックに変換される。図6では、画面上でテディベアの頭を含むタイルがすでに取得されているが、ユーザは画面上でテディベアの腹部を含むタイルを取得しようとしている。ユーザに視覚的なフィードバックを提供することによって、再構成アルゴリズムに必要な入力の複雑さはユーザに隠され、代わりに「タイル ハント」の面白いゲームとして表示される。
有利なことに、ユーザがぼやけを避けてできるだけ鮮明な写真を撮らせることによって、画像が再構成アルゴリズムによって確実に使用可能になる。
そのために、第1の変形例によると、事前(フレーム取得前):フレーム取得のステップ中に、カメラCAMの動きの振幅および/またはハンドヘルドデバイスCAMの動きの速度が測定される、ことのチェックが行われる。動きの振幅および/または速度が所定の値を超える場合、フレームの捕捉は禁止される。したがって、フレームは取得されない。安定性は、ジャイロスコープ、加速度計、またはコンパスなどのハンドヘルドデバイスの内部センサを使用して計算できる。安定性は、カメラの方向と照準を合わせているタイルとの交点にある点が、タイルの検証中に所定の位置範囲内にあることを確認することによって計算することもできる。
第2の変形例によると、事後(フレーム取得後):フレームが取得されると、捕捉されたフレームのシャープネスが測定され、フレームが十分にシャープである場合にのみフレームが検証される、ことのチェックが行われる。フレームのシャープネスの評価には、ラプラシアン偏差アルゴリズムを使用することができる。アルゴリズムは、非特許文献5の記事で説明される。
これらの条件は、フレーム自体の品質と同様に、ローカリゼーションによって、後続の再構成アルゴリズムによる高度な利用を可能にするという意味で、自動的に捕捉されたフレームで高いレベルの有効性を可能にする。すべての捕捉フレームは、自信を持って使用され、破棄されることはない。
場合によっては、オブジェクトOBJのすべての側面が見えないか、ユーザがアクセスすることさえできない。これは、オブジェクトが大きすぎてユーザがそのすべての側面 (特に上面図)を見ることができない場合、またはスキャンするオブジェクトが障害物 (壁など)に置かれて移動できない場合に特に当てはまる。そのような場合、部分的な取得を処理できるはずである。
特に、ステップa)では、オブジェクトOBJが対称部分を有するかどうかが決定される。そのために、ユーザは、平面、平面、対称軸または回転軸など、スキャンするオブジェクトの形状に関して、システムに指示を与えることができる。このような指示をオブジェクトに追加することは、画面に投影されたイメージだけでは簡単ではないため、ユーザは、捕捉するオブジェクトに合わせるように仮想3DボックスVBOを適切に調整した後、オブジェクトOBJが対称部分を持っていることを示すように、仮想3DボックスVBOと対話してよい。オブジェクトが一般的な場合(たとえば、椅子、ボトルなど)、ユーザによって提供される他の指示は、スキャンするオブジェクトのクラスである可能性もある。次に、検証されたタイルに基づいておよびオブジェクトの対称性に基づいて、3D 再構成アルゴリズムが実施される。
したがって、図1に戻って、オブジェクトに対称性がある場合、3D再構成アルゴリズムを実施して再構成するために、すべてのタイルを検証する必要はない。
本発明の方法は、場合によりコンピュータネットワークを含み、ハードディスク、ソリッドステートディスクまたはCDーROMなどのコンピュータ可読媒体上に不揮発性の形態で適切なプログラムを格納し、そのマイクロプロセッサ(複数可)とメモリを使用して上記のプログラムを実行する、適切にプログラムされた汎用コンピュータまたは仮想現実システムによって実施することができる。
本発明の例示的な実施形態による方法を実行するのに適したコンピュータCPTを、図7を参照して説明する。図7において、ハンドヘルドデバイスHHDは、実行可能プログラム、すなわち、RAM M1またはROM M2などのメモリデバイスに格納された、またはリモートで格納された、コンピュータ可読命令のセットを実行しながら、上記の方法ステップを実行する中央処理装置CPUを含む。作成された3Dコンテンツは、メモリデバイスの1つに格納されるか、リモートで格納される。
特許請求の範囲に記載された発明は、コンピュータ可読命令および/または本発明のプロセスのデータ構造が格納されているコンピュータ可読媒体の形態によって制限されない。例えば、命令とファイルは、CD、DVD、フラッシュメモリ、RAM、ROM、PROM、EPROM、EEPROM、ハードディスク、またはサーバやコンピュータなど、コンピュータが通信するその他の情報処理デバイスに保存することができる。プログラムとファイルは、同じメモリデバイスまたは異なるメモリデバイスに保存することができる。
さらに、本発明の方法を実行するのに適したコンピュータプログラムは、中央処理ユニットCPU、及びMicrosoft VISTA、Microsoft Windows 10、UNIX、Solaris、LINUX、Apple MAC-OS、及び当業者に知られているその他のシステムなどのオペレーティングシステムと連携して実行されるユーティリティアプリケーション、バックグラウンドデーモン、またはオペレーティングシステムのコンポーネント、あるいはそれらの組み合わせとして提供されてよい。
中央処理ユニットCPUは、米国のIntel社のXenonプロセッサまたは米国のAMD社のOpteronプロセッサ、または米国のFreescale CorporationのFreescale ColdFire、IMX、ARMプロセッサなどの他のプロセッサタイプにすることができる。あるいは、CPUは、米国のIntel CorporationのCore2Duoなどのプロセッサにすることも、当業者が認識するように、FPGA、ASIC、PLD、またはディスクリート論理回路を使用して実装することもできる。さらに、中央処理ユニットは、上記の本発明の処理のコンピュータ可読命令を実行するために協調して動作する複数のプロセッサとして実装することができる。
図7の仮想現実システムは、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネットなどのネットワークとインターフェイスするための米国のIntel CorporationのIntelEthernetPROネットワークインターフェイスカードなどのネットワークインターフェイスNIも含む。
ハンドヘルドデバイスHHDは、環境の画像を取得するためのカメラCAM、取得した画像をユーザに表示するためのスクリーンDY、およびハンドヘルドデバイスHHDの3D方向および3D位置を計算するためのセンサSNSを含む。
本明細書に記載の任意の方法のステップは、処理における特定の論理機能またはステップを実装するための1つまたは複数の実行可能命令を含むモジュール、セグメント、またはコードの一部を表すものとして理解されるべきであり、代替の実施は、本発明の例示的な実施形態の範囲内に含まれる。
Claims (17)
- 1)3D位置を有するカメラ(CAM)を用いて実オブジェクト(OBJ)を3D走査するためのコンピュータ実施方法であって、
a)前記カメラ(CAM)から、前記実オブジェクト(OBJ)の画像(IM)を受信するステップと、
b)仮想3Dボックス(VBO)内に囲まれた前記実オブジェクト(OBJ)の前記画像(IM)を拡張現実ビューで画面に表示するステップであって、平面タイル(TIL)のセットからなる仮想構造(VST)を、前記実オブジェクト(OBJ)に重ね、および、前記仮想3Dボックス(VBO)に固定され、各タイル(TIL)は前記カメラ(CAM)の所定の姿勢に対応する、該ステップと、
c)前記カメラ(CAM)でタイル(TIL)が指されていることを検出するステップと、
d)前記カメラ(CAM)から前記仮想3Dボックス(VBO)のフレームを取得し、それにより前記タイル(TIL)を検証するステップであって、前記フレームは、前記画像(IM)上の前記仮想3Dボックス(VBO)の投影である、該ステップと、
前記カメラ(CAM)のさまざまな3D位置に対して、ステップa)からd)が、前記実オブジェクト(OBJ)をスキャンするために十分な数のタイルが検証されるまで、繰り返されるステップと、
e)捕捉されたすべてのフレームで、3D再構成アルゴリズムを実施するステップと
を含むことを特徴とするコンピュータ実施方法。 - ステップa)は、画像(IM)において、前記実オブジェクト(OBJ)が位置する水平面(PLA)を検出し、前記水平面(PLA)上に前記仮想3Dボックス(VBO)を配置するようにユーザに指示することを含むことを特徴とする請求項1に記載の方法。
- 前記仮想構造(VST)が、前記仮想3Dボックス(VBO)を覆う半球として配置され、前記仮想構造(VST)の半径は、前記仮想3Dボックス(VBO)の最大寸法に設定され、
前記仮想構造(VST)の最上部(TMP)から前記仮想構造(VST)の最下部(BOT)までを含む前記タイルのセット(TIL)は、
- 前記仮想構造(VST)の最上点(TMP)と一致する中心を有する十字を形成し、前記十字は前記仮想3Dボックス(VBO)の側面と位置合わせされている、タイルの第1のサブセット(ST1)と、
- 部分的に前記十字に揃えられた、タイルの第2のサブセット(ST2)と、
- 部分的に前記十字に揃えられた、タイルの第3のサブセット(ST3)と
を含み、
前記タイルの前記第1(ST1)、前記第2(ST2)、および前記第3(ST3)のサブセットは、一定の極角(θ)だけ互いに離れており、
前記タイル(TIL)は、同じサブセット内で一定の方位角(θ1、θ2、θ3)だけ互いに離れており、
前記タイルの第3のサブセット(ST3)は、前記仮想3Dボックス(VBO)の中心 (CTR)に対して高くなっている、
ことを特徴とする請求項1又は2に記載の方法。 - - 前記タイルの前記第1(ST1)、前記第2(ST2)、および前記第3(ST3) のサブセットは、それぞれ、5、8、および16のタイルを含み、
- 前記一定の極角(θ)は、2π/15であり、
- 前記タイルの前記第1(ST1)、前記第2(ST2)、および前記第3(ST3) のサブセット内の前記一定の方位角は、それぞれ、π/2、π/4、およびπ/8であり、
- 前記タイルの前記第3のサブセット(ST3)は、前記仮想3Dボックス(VBO) の中心(CTR)に対してπ/10の角度だけ高くなっている、
ことを特徴とする請求項3に記載の方法。 - ステップa)は、オブジェクトのカテゴリのセットのうち、前記実オブジェクト(OBJ)の前記オブジェクトのカテゴリに関する情報を検出または受信することを含み、前記仮想構造は、前記オブジェクトのカテゴリに対応するパターンとして配置されていることを特徴とする請求項1又は2に記載の方法。
- 最初に、前記実オブジェクト(OBJ)の全体が、前記パターンを使用することによって3Dスキャンされ、次に、前記実オブジェクト(OBJ)のサブコンポーネントが、前記サブコンポーネントに対応する仮想構造として、より細かいパターンを使用することによって3Dスキャンされることを特徴とする請求項5に記載の方法。
- ステップd)は、前記対応するフレームが取得されていることを示すために指示された前記タイル上に一時的な視覚的フィードバックを前記画面に表示することを含み、前記フレームが取得されると、一時的な視覚的フィードバックが永続的な視覚的フィードバックに変換されることを特徴とする請求項1ないし6のいずれか1つに記載の方法。
- ステップd)は、
- 前記カメラの3D位置から、前記カメラ(CAM)の光軸の方向に光線を照射することと、
- 前記光線と検証されていないタイルとの衝突を検出するとき、前記光線と前記検証されていないタイルの法線方向との間の角度を計算することと、
- 前記角度が所定の値よりも小さい場合、前記検証されていないタイルを検証することと、
を含むことを特徴とする請求項1ないし7のいずれか1つに記載の方法。 - 前記所定の値は、15度と25度との間に含まれることを特徴とする請求項8に記載の方法。
- 前記光線は、所定の時間間隔で周期的に照射されることを特徴とする請求項8または9に記載の方法。
- ステップd)は、
- 前記カメラ(CAM)の動きの振幅および/または前記ハンドヘルドデバイス(CAM)の動きの速度を測定することと、
- 前記動きの振幅および/または速度が所定の値を超える場合、前記フレームの捕捉を禁止することと
を含むことを特徴とする請求項1ないし10のいずれか1つに記載の方法。 - ステップd)は、
- 前記捕捉されたフレームのシャープネスを測定することと、
- 前記捕捉されたフレームが十分に鮮明である場合、捕捉されたフレームを検証することと
を含むことを特徴とする請求項1ないし11のいずれか1つに記載の方法。 - ステップa)は、
前記実オブジェクト(OBJ)が対称部分を有するかどうかを決定するサブステップを含み、この場合、互いに異なる前記実オブジェクト(OBJ)の部分に対応するタイルのみを検証し、
前記3D再構成アルゴリズムは、前記捕捉されたフレームに基づいておよび前記実オブジェクトの対称性に基づいて実施されることを特徴とする請求項1ないし12のいずれか1つに記載の方法。 - 前記3D再構成アルゴリズムは、スペースカービングアルゴリズムを含むことを特徴とする請求項1ないし13のいずれか1つに記載の方法。
- スクリーン(DY)およびカメラ(CAM)にインターフェイスされたコンピュータシステムに、請求項1ないし14のいずれか1つに記載の方法を実行させるコンピュータ実行可能命令を含むコンピュータプログラム製品。
- スクリーン(DY)およびカメラ(CAM)にインターフェイスされたコンピュータシステムに、請求項1ないし14のいずれか1つに記載の方法を実行させるコンピュータ実行可能命令を含む非一時的コンピュータ可読データ記憶媒体(M1、M2)。
- メモリ(M1、M2)、スクリーン(DY)およびカメラ(CAM)に結合されたプロセッサ(P)を備えるコンピュータシステムであって、前記メモリは、コンピュータシステムに、請求項1ないし14のいずれか1つに記載の方法を実行させるコンピュータ実行可能命令を記憶したことを特徴とするコンピュータシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20305844.1 | 2020-07-22 | ||
EP20305844.1A EP3944192A1 (en) | 2020-07-22 | 2020-07-22 | Method for 3d scanning of a real object |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022022133A true JP2022022133A (ja) | 2022-02-03 |
JP2022022133A5 JP2022022133A5 (ja) | 2024-07-10 |
Family
ID=71995904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021117287A Pending JP2022022133A (ja) | 2020-07-22 | 2021-07-15 | 実オブジェクトの3dスキャンニングのための方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US12067739B2 (ja) |
EP (1) | EP3944192A1 (ja) |
JP (1) | JP2022022133A (ja) |
CN (1) | CN113971724A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11978165B2 (en) * | 2022-03-31 | 2024-05-07 | Wipro Limited | System and method for generating recommendations for capturing images of real-life objects with essential features |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9996974B2 (en) * | 2013-08-30 | 2018-06-12 | Qualcomm Incorporated | Method and apparatus for representing a physical scene |
US20180124378A1 (en) * | 2016-11-03 | 2018-05-03 | Qualcomm Incorporated | Enhanced depth map images for mobile devices |
WO2019126680A1 (en) * | 2017-12-22 | 2019-06-27 | Magic Leap, Inc. | Method of occlusion rendering using raycast and live depth |
CN113498530A (zh) * | 2018-12-20 | 2021-10-12 | 艾奎菲股份有限公司 | 基于局部视觉信息的对象尺寸标注系统和方法 |
-
2020
- 2020-07-22 EP EP20305844.1A patent/EP3944192A1/en active Pending
-
2021
- 2021-07-15 JP JP2021117287A patent/JP2022022133A/ja active Pending
- 2021-07-15 CN CN202110798689.7A patent/CN113971724A/zh active Pending
- 2021-07-15 US US17/377,014 patent/US12067739B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20220028100A1 (en) | 2022-01-27 |
CN113971724A (zh) | 2022-01-25 |
EP3944192A1 (en) | 2022-01-26 |
US12067739B2 (en) | 2024-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10456918B2 (en) | Information processing apparatus, information processing method, and program | |
WO2011162388A4 (ja) | 点群データ処理装置、点群データ処理システム、点群データ処理方法、および点群データ処理プログラム | |
CN104052976B (zh) | 投影方法及装置 | |
US20110292036A1 (en) | Depth sensor with application interface | |
JP2020182251A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JPWO2011070927A1 (ja) | 点群データ処理装置、点群データ処理方法、および点群データ処理プログラム | |
JP6174968B2 (ja) | 撮像シミュレーション装置 | |
JP6640294B1 (ja) | 複合現実システム、プログラム、携帯端末装置、及び方法 | |
WO2016016496A2 (es) | Procedimiento para identificar el gesto de una mano | |
CN107950019A (zh) | 信息处理装置、信息处理方法和程序 | |
KR101256046B1 (ko) | 공간 제스처 인식을 위한 신체 트래킹 방법 및 시스템 | |
US12047674B2 (en) | System for generating a three-dimensional scene of a physical environment | |
JP2022022133A (ja) | 実オブジェクトの3dスキャンニングのための方法 | |
US11758100B2 (en) | Portable projection mapping device and projection mapping system | |
JP4056891B2 (ja) | 3次元位置・姿勢検出装置、方法、プログラムおよび記録媒体 | |
JP6285980B2 (ja) | 処理装置および投影画像生成方法 | |
JP6632298B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP6643825B2 (ja) | 装置及び方法 | |
JP2011071746A (ja) | 映像出力装置及び映像出力方法 | |
JP2017049662A (ja) | 情報処理装置、その制御方法、プログラム、及び記憶媒体 | |
Kapula et al. | Creating models for 3D printing using Kinect based scanners | |
Haubner et al. | Recognition of dynamic hand gestures with time-of-flight cameras | |
JP2020057430A (ja) | 複合現実システム、プログラム、携帯端末装置、及び方法 | |
Bergamasco et al. | A practical setup for projection-based augmented maps | |
WO2017179307A1 (ja) | 処理装置およびキャリブレーション方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240702 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240702 |