【解決手段】再構成された3Dメッシュを形成するための方法は、場面と関連付けられた捕捉された奥行マップのセットを受信するステップと、捕捉された奥行マップのセットと関連付けられた初期カメラ姿勢整合を行うステップと、捕捉された奥行マップのセットを基準フレーム内にオーバーレイするステップとを含む。本方法はまた、捕捉された奥行マップのオーバーレイされたセット内の1つまたはそれを上回る形状を検出するステップと、初期カメラ姿勢整合を更新し、形状認識カメラ姿勢整合を提供するステップとを含む。本方法はさらに、形状認識立体融合を行うステップと、場面と関連付けられた再構成された3Dメッシュを形成するステップとを含む。
【発明の概要】
【課題を解決するための手段】
【0002】
本発明は、概して、コンピュータ化された3次元(3D)画像再構成の分野に関し、より具体的には、3D再構成内の構造特徴を検出し、組み合わせるための方法およびシステムに関する。
【0003】
本明細書に説明されるように、本発明の実施形態は、従来の技法によって十分に対処されていない問題を解決し、かつ添付の図面とともに考慮されるとき、以下の詳細な説明を参照することによって容易に明らかとなる、付加的特徴を提供することを対象とする。
【0004】
本明細書に開示されるいくつかの実施形態は、形状認識3D再構成を提供するための方法およびシステムを対象とする。いくつかの実装は、形状検出、形状認識姿勢推定、形状認識立体融合アルゴリズム、および同等物等、改良された形状認識技法を組み込む。
【0005】
本発明のある実施形態によると、再構成された3Dメッシュを形成するための方法が、提供される。本方法は、場面と関連付けられた捕捉された奥行マップのセットを受信するステップと、捕捉された奥行マップのセットと関連付けられた初期カメラ姿勢整合を行うステップと、捕捉された奥行マップのセットを基準フレーム内にオーバーレイするステップとを含む。本方法はまた、捕捉された奥行マップのオーバーレイされたセット内の1つまたはそれを上回る形状を検出するステップと、初期カメラ姿勢整合を更新し、形状認識カメラ姿勢整合を提供するステップとを含む。本方法はさらに、形状認識立体融合を行うステップと、場面と関連付けられた再構成された3Dメッシュを形成するステップとを含む。
【0006】
本発明の別の実施形態によると、場面内に存在する形状を検出する方法が、提供される。本方法は、複数の捕捉された奥行マップを含む、点群と関連付けられた垂直方向を判定するステップと、垂直方向に直交する仮想平面を形成するステップとを含む。本方法はまた、点群の点を仮想平面上に投影させるステップと、点群の点に関する投影統計を計算するステップとを含む。本方法はさらに、1つまたはそれを上回る線を計算された投影統計から検出するステップであって、1つまたはそれを上回る線は、垂直壁と関連付けられる、ステップと、場面内に存在する形状を投影統計および1つまたはそれを上回る検出された線から検出するステップとを含む。
【0007】
本発明の具体的実施形態によると、形状認識カメラ姿勢整合を行う方法が、提供される。本方法は、捕捉された奥行マップのセットを受信するステップを含む。捕捉された奥行マップはそれぞれ、物理的カメラ姿勢と関連付けられる。本方法はまた、1つまたはそれを上回る検出された形状を受信するステップを含む。1つまたはそれを上回る検出された形状の各形状は、寸法および場所/配向によって特徴付けられる。本方法はさらに、1つまたはそれを上回る検出された形状毎に3Dメッシュを作成するステップと、各3Dメッシュと関連付けられた1つまたはそれを上回る仮想カメラをローカル基準フレーム内に作成するステップとを含む。加えて、本方法は、1つまたはそれを上回る奥行マップをレンダリングするステップを含む。1つまたはそれを上回るレンダリングされた奥行マップはそれぞれ、各3Dメッシュと関連付けられた各仮想カメラと関連付けられる。さらに、本方法は、1つまたはそれを上回るレンダリングされた奥行マップと捕捉された奥行マップのセットとの間の整合を最適化することによって、物理的カメラ姿勢および1つまたはそれを上回る検出された形状の各形状の場所/配向を共に解くステップを含む。
【0008】
ある実施形態では、形状認識3D再構成方法は、捕捉された奥行マップのセットの姿勢推定を行うステップと、姿勢推定に続いて、整合された姿勢の形状検出を行うステップと、形状認識姿勢推定を検出された形状に行うステップと、整合された姿勢および形状に基づいて、形状認識立体融合を実施し、1つまたはそれを上回る3Dメッシュを生成するステップとのうちの1つまたはそれを上回るステップを含む。
【0009】
従来の技法に優る多数の利点が、本発明によって達成される。例えば、本発明の実施形態は、鮮明かつ鮮鋭な形状および縁を3Dメッシュ内に提供し、その結果、3Dメッシュがより現実的に見え、これは、形状認識3D再構成を使用しては生成されない。故に、本発明の実施形態によって提供される3Dメッシュは、視認者にとってより快適である。別の利点は、3D再構成のプロセスにおける検出された形状の存在の結果として、捕捉された奥行マップのより正確かつロバストな整合が達成されることである。さらに、人工場面の従来の知識を適用し、同時に、場面不均質に対して柔軟性を維持する、エンドツーエンド3D再構成フレームワークが、提供される。本発明のこれらおよび他の実施形態は、その利点および特徴の多くとともに、以下の文章および添付の図と併せてより詳細に説明される。
本明細書は、例えば、以下の項目も提供する。
(項目1)
再構成された3Dメッシュを形成するための方法であって、
1つまたはそれを上回るプロセッサにおいて、場面と関連付けられた捕捉された奥行マップのセットを受信するステップと、
前記1つまたはそれを上回るプロセッサを使用して、前記捕捉された奥行マップのセットと関連付けられた初期カメラ姿勢整合を行うステップと、
前記1つまたはそれを上回るプロセッサを使用して、前記捕捉された奥行マップのセットを基準フレーム内にオーバーレイするステップと、
前記1つまたはそれを上回るプロセッサを使用して、前記捕捉された奥行マップのオーバーレイされたセット内の1つまたはそれを上回る形状を検出するステップと、
前記1つまたはそれを上回るプロセッサを使用して、前記初期カメラ姿勢整合を更新し、形状認識カメラ姿勢整合を提供するステップと、
前記1つまたはそれを上回るプロセッサを使用して、形状認識立体融合を行うステップと、
前記1つまたはそれを上回るプロセッサを使用して、前記場面と関連付けられた再構成された3Dメッシュを形成するステップと
を含む、方法。
(項目2)
前記捕捉された奥行マップのセットは、前記場面に対して異なる位置から得られる、項目1に記載の方法。
(項目3)
前記捕捉された奥行マップのセットは、異なる時間において、前記場面に対して単一位置から得られる、項目1に記載の方法。
(項目4)
前記基準フレームは、前記1つまたはそれを上回る検出された形状のうちの1つの基準フレームを備える、項目1に記載の方法。
(項目5)
前記捕捉された奥行マップのオーバーレイされたセット内の1つまたはそれを上回る形状を検出するステップは、
前記捕捉された奥行マップのオーバーレイされたセットと関連付けられた点群と関連付けられた垂直方向を判定するステップと、
前記垂直方向に直交する仮想平面を形成するステップと、
前記点群の点を前記仮想平面上に投影させるステップと、
前記点群の点に関する投影統計を計算するステップと、
1つまたはそれを上回る線を前記計算された投影統計から検出するステップであって、前記1つまたはそれを上回る線は、垂直壁と関連付けられる、ステップと、
前記1つまたはそれを上回る形状を前記投影統計および前記1つまたはそれを上回る検出された線から検出するステップと
を含む、項目1に記載の方法。
(項目6)
前記検出された1つまたはそれを上回る形状は、壁角または扉枠のうちの少なくとも1つを備える、項目1に記載の方法。
(項目7)
前記形状認識カメラ姿勢整合を提供するステップは、
前記1つまたはそれを上回る検出された形状毎に3Dメッシュを作成するステップであって、前記捕捉された奥行マップのオーバーレイされたセットは、物理的カメラ姿勢と関連付けられ、前記1つまたはそれを上回る検出された形状はそれぞれ、寸法および場所/配向によって特徴付けられる、ステップと、
各3Dメッシュと関連付けられた1つまたはそれを上回る仮想カメラをローカル基準フレーム内に作成するステップと、
1つまたはそれを上回る奥行マップをレンダリングするステップであって、前記1つまたはそれを上回るレンダリングされた奥行マップはそれぞれ、各3Dメッシュと関連付けられた各仮想カメラと関連付けられる、ステップと、
前記1つまたはそれを上回るレンダリングされた奥行マップと前記捕捉された奥行マップのセットとの間の整合を最適化することによって、前記物理的カメラ姿勢および前記1つまたはそれを上回る検出された形状の各形状の場所/配向を共に解くステップと
を含む、項目1に記載の方法。
(項目8)
場面内に存在する形状を検出する方法であって、
1つまたはそれを上回るプロセッサを使用して、複数の捕捉された奥行マップを含む点群と関連付けられた垂直方向を判定するステップと、
前記1つまたはそれを上回るプロセッサを使用して、前記垂直方向に直交する仮想平面を形成するステップと、
前記1つまたはそれを上回るプロセッサを使用して、前記点群の点を前記仮想平面上に投影させるステップと、
前記1つまたはそれを上回るプロセッサを使用して、前記点群の点に関する投影統計を計算するステップと、
前記1つまたはそれを上回るプロセッサを使用して、1つまたはそれを上回る線を前記計算された投影統計から検出するステップであって、前記1つまたはそれを上回る線は、
垂直壁と関連付けられる、ステップと、
前記1つまたはそれを上回るプロセッサを使用して、前記場面内に存在する形状を前記投影統計および前記1つまたはそれを上回る検出された線から検出するステップと
を含む、方法。
(項目9)
前記検出された形状の寸法および位置を判定するステップをさらに含む、項目8に記載の方法。
(項目10)
前記垂直方向を判定するステップは、点法線の使用を含む、項目8に記載の方法。
(項目11)
前記投影統計は、前記仮想平面内の所定のx、y場所上に投影された前記点群の点の数を備える、項目8に記載の方法。
(項目12)
前記投影統計は、前記仮想平面内の所定のx、y場所上に投影された前記点群の点に関する点法線の分布を備える、項目11に記載の方法。
(項目13)
前記投影統計は、前記仮想平面内の所定のx、y場所上に投影された前記点群の点の初期高さを備える、項目11に記載の方法。
(項目14)
前記場面内に存在する検出された形状は、壁角または扉枠のうちの少なくとも1つを備える、項目8に記載の方法。
(項目15)
形状認識カメラ姿勢整合を行う方法であって、
1つまたはそれを上回るプロセッサにおいて、捕捉された奥行マップのセットを受信するステップであって、前記捕捉された奥行マップはそれぞれ、物理的カメラ姿勢と関連付けられる、ステップと、
前記1つまたはそれを上回るプロセッサにおいて、1つまたはそれを上回る検出された形状を受信するステップであって、前記1つまたはそれを上回る検出された形状の各形状は、寸法および場所/配向によって特徴付けられる、ステップと、
前記1つまたはそれを上回るプロセッサを使用して、前記1つまたはそれを上回る検出された形状毎に、3Dメッシュを作成するステップと、
前記1つまたはそれを上回るプロセッサを使用して、各3Dメッシュと関連付けられた1つまたはそれを上回る仮想カメラをローカル基準フレーム内に作成するステップと、
前記1つまたはそれを上回るプロセッサを使用して、1つまたはそれを上回る奥行マップをレンダリングするステップであって、前記1つまたはそれを上回るレンダリングされた奥行マップはそれぞれ、各3Dメッシュと関連付けられた各仮想カメラと関連付けられる、ステップと、
前記1つまたはそれを上回るプロセッサを使用して、前記1つまたはそれを上回るレンダリングされた奥行マップと前記捕捉された奥行マップのセットとの間の整合を最適化することによって、前記物理的カメラ姿勢および前記1つまたはそれを上回る検出された形状の各形状の場所/配向を共に解くステップと
を含む、方法。
(項目16)
前記1つまたはそれを上回るレンダリングされた奥行マップと前記捕捉された奥行マップのセットとの間の整合を最適化するステップは、
前記1つまたはそれを上回るレンダリングされた奥行マップ間の整合を最適化するステップと、
前記1つまたはそれを上回るレンダリングされた奥行マップと前記捕捉された奥行マップのセットとの間の整合を最適化するステップと
を含む、項目15に記載の方法。
(項目17)
前記ローカル基準フレームは、前記1つまたはそれを上回る検出された形状のうちの1つの基準フレームを備える、項目15に記載の方法。
(項目18)
前記1つまたはそれを上回る検出された形状毎の3Dメッシュは、複数の三角形を備え、前記複数の三角形はそれぞれ、前記1つまたはそれを上回る仮想カメラのうちの少なくとも1つの視野内にある、項目15に記載の方法。
(項目19)
前記捕捉された奥行マップのセットは、場面に対して異なる位置から得られる、項目15に記載の方法。
(項目20)
前記捕捉された奥行マップのセットは、異なる時間において、場面に対して単一位置から得られる、項目15に記載の方法。
【発明を実施するための形態】
【0012】
本発明の実施形態は、コンピュータ化された3次元(3D)場面再構成のための方法およびシステムに関し、より具体的には、3D再構成において構造特徴を検出し、組み合わせるための方法およびシステムに関する。
【0013】
以下の説明は、当業者が本発明を成すことおよび使用することを可能にするように提示される。特定のデバイス、技法、および用途の説明は、実施例としてのみ提供される。本明細書で説明される実施例に対する種々の修正は、当業者に容易に明白となり、本明細書で定義される一般的な原則は、本発明の精神および範囲から逸脱することなく、他の実施例および用途に適用されてもよい。このように、本発明の実施形態は、本明細書で説明され、示される実施例に限定されることは意図されておらず、請求項と整合する範囲に合致することが意図されている。
【0014】
「例示的」という言葉は、本明細書では、「実施例または例証としての機能を果たすこと」を意味するために使用される。本明細書で「例示的」として説明される任意の側面または設計は、必ずしも他の側面または設計より好ましい、または有利として解釈されるべきではない。
【0015】
ここで、対象となる技術の側面を詳細に参照するが、これらの実施例は、添付の図面に図示され、図中、類似参照番号は、全体を通して類似要素を参照する。
【0016】
本明細書で開示されるプロセスにおけるステップの特定の順序または階層は、例示的アプローチの実施例であることを理解されたい。設計選好に基づいて、プロセスにおけるステップの特定の順序または階層は、本開示の範囲内に留まりながら並べ替えられてもよいことが理解される。添付の方法の請求項は、サンプル順序における種々のステップの要素を提示し、提示される特定の順序または階層に限定されることを意図しない。
【0017】
本明細書で開示される実施形態は、形状認識3D再構成を提供する方法およびシステムを対象とする。本明細書に説明されるように、本発明のいくつかの実施形態は、形状検出、形状認識姿勢推定、形状認識立体融合アルゴリズム、および同等物等、改良された形状認識技法を組み込む。本発明のある実施形態によると、形状認識3D再構成方法は、奥行画像のセットの姿勢推定を行うステップと、姿勢推定に続いて、整合された姿勢の形状検出を行うステップと、検出された形状に形状認識姿勢推定を行うステップと、整合された姿勢および形状に基づいて、形状認識立体融合を実施し、3Dメッシュを生成するステップとのうちの1つまたはそれを上回るステップを含むことができる。
【0018】
3D再構成は、3Dコンピュータビジョンにおいて最も探求されている主題のうちの1つである。これは、画像(例えば、カラー/グレースケール画像、奥行画像、または同等物)を入力として撮影し、観察される場面を表す3Dメッシュを生成する(例えば、自動的に)。3D再構成は、仮想現実、マッピング、ロボット、ゲーム、映画製作等において多くの用途を有する。
【0019】
実施例として、3D再構成アルゴリズムは、入力画像(例えば、カラー/グレースケール画像、カラー/グレースケール画像+奥行画像、または奥行のみ)を受信し、必要に応じて、入力画像を処理し、捕捉された奥行マップを形成することができる。例えば、受動奥行マップは、マルチビューステレオアルゴリズムを使用して、カラー画像から生成されることができ、能動奥行マップは、構造化光奥行センサ等の能動感知技術を使用して得られることができる。前述の実施例が図示されるが、本発明の実施形態は、任意のタイプの奥行マップを取り扱うように構成されることができる。当業者は、多くの変形例、修正、および代替を認識するであろう。
【0020】
図1は、捕捉された奥行マップの複数のフレームを使用して、場面の3Dメッシュを作成するための方法を図示する、簡略化されたフローチャートである。
図1を参照すると、場面の3Dモデル、例えば、場面と関連付けられた3D表面を表す3D三角形メッシュを捕捉された奥行マップの複数のフレームから作成する方法が、図示される。方法100は、捕捉された奥行マップのセットを受信するステップ(110)を含む。捕捉された奥行マップは、各ピクセルが、ピクセルから奥行画像を得るカメラまでの奥行を表す、関連付けられた奥行値を有する、奥行画像である。ピクセルあたり3つまたはそれを上回るチャネルを有することができる、カラー画像(例えば、赤色、緑色、および青色成分を伴うRGB画像)と比較して、奥行マップは、ピクセルあたり単一チャネル(すなわち、カメラからのピクセル距離)を有することができる。捕捉された奥行マップのセットを受信するプロセスは、入力画像、例えば、RGB画像を処理し、捕捉された奥行マップのフレームとも称される、1つまたはそれを上回る捕捉された奥行マップを生成することを含むことができる。他の実施形態では、捕捉された奥行マップは、飛行時間カメラ、LIDAR、ステレオカメラ、または同等物を使用して得られ、したがって、システムによって受信される。
【0021】
捕捉された奥行マップのセットは、異なるカメラ角度および/または位置からの奥行マップを含む。実施例として、奥行マップストリームは、可動式奥行カメラによって提供されることができる。可動式奥行カメラが、パンおよび/または移動するにつれて、奥行マップは、奥行画像のストリームとして生成される。別の実施例として、静止奥行カメラが、異なる角度および/または異なる位置またはそれらの組み合わせから、場面の一部または全部の複数の奥行マップを収集するために使用され得る。
【0022】
本方法はまた、捕捉された奥行マップのセットと関連付けられたカメラ姿勢を基準フレーム内に整合させるステップ(112)と、捕捉された奥行マップのセットを基準フレーム内にオーバーレイするステップ(112)とを含む。ある実施形態では、姿勢推定のプロセスは、全カメラからの奥行点を整合させ、局所的および大域的に一貫した点群を3D世界座標内に作成するために利用される。世界座標内の同一位置からの奥行点は、可能な限り相互に近接して整合されるべきである。しかしながら、奥行マップ内に存在する不正確度に起因して、姿勢推定は、通常、特に、屋内場面における壁の角、壁の端部、扉枠、および同等物等の構造特徴上において完璧ではなく、これは、それらが生成されたメッシュ内に存在するとき、アーチファクトをこれらの構造特徴上に生じさせる。さらに、これらの不正確度は、アーチファクトがユーザにはるかに顕著となるであろうため、遮蔽物(すなわち、背景オブジェクトを遮るオブジェクト)としてメッシュ境界が見られるときに悪化し得る。
【0023】
各奥行画像と関連付けられたカメラの位置および配向を示す、カメラ姿勢を整合させるために、奥行マップが、オーバーレイされ、隣接および/または重複ピクセルの位置の差異が、低減または最小限にされる。いったん基準フレーム内のピクセルの位置が調節されると、カメラ姿勢は、調節および/または更新され、カメラ姿勢と調節されたピクセル位置を整合させる。したがって、カメラ姿勢は、基準フレーム内に整合される(114)。言い換えると、レンダリングされた奥行マップは、推定されたカメラ姿勢に基づいて、全奥行マップの奥行点を基準フレーム(例えば、3D世界座標系)に投影することによって作成されることができる。
【0024】
本方法はさらに、立体融合を行うステップ(116)と、再構成された3Dメッシュを形成するステップ(118)とを含む。立体融合プロセスは、複数の捕捉された奥行マップを観察される場面の符号付距離関数の離散化バージョンとして立体表現に融合するステップを含むことができる。3Dメッシュ生成は、多角形メッシュを3D空間内の立体表現から抽出するためのマーチングキューブアルゴリズムまたは他の好適な方法の使用を含むことができる。
【0025】
前述のアーチファクトを低減させるために、本発明の実施形態は、形状検出、形状認識姿勢推定、形状認識立体融合アルゴリズム、および同等物等、改良された形状認識技法を組み込む、形状認識3D再構成を行うための方法およびシステムを提供する。
【0026】
屋内構造に関して、それらは、人工的であるため、構造は、典型的には、有機屋外構造と対照的に、規則的形状を有する。加えて、安価な奥行カメラは、各ピクセルと関連付けられた奥行値内に誤差をもたらす、比較的に高レベルの雑音を含有する捕捉された奥行マップを生成し得る。これらの奥行誤差は、カメラ姿勢推定プロセスにおける不正確度につながり得る。これらの誤差は、システムを通して伝搬し、雑音および不正確度を含む誤差を再構成された3Dメッシュ内にもたらし得る。実施例として、壁のうねったまたは歪曲した角、平坦であるべき壁内のうねり、および同等物は、ユーザにとって視覚的に好ましくない。故に、本発明の実施形態を利用することで、再構成された3Dメッシュは、増加した正確度、低減した雑音、および同等物を特徴とし、ユーザに視覚的に好ましい3Dメッシュをもたらす。
【0027】
図1に図示される具体的ステップは、本発明のある実施形態による、捕捉された奥行マップの複数のフレームを使用して場面の3Dメッシュを作成する特定の方法を提供することを理解されたい。ステップの他のシーケンスもまた、代替実施形態に従って行われてもよい。例えば、本発明の代替実施形態は、異なる順序で上記で概略されたステップを行ってもよい。さらに、
図1に図示される個々のステップは、個々のステップに対して必要に応じて種々のシーケンスで行われ得る、複数のサブステップを含んでもよい。さらに、付加的ステップが、特定の用途に応じて、追加または除去されてもよい。当業者は、多くの変形例、修正、および代替を認識するであろう。
【0028】
図2は、本発明のある実施形態による、捕捉された奥行マップの複数のフレームを使用して、場面の3Dメッシュを生成するための方法を図示する、簡略化されたフローチャートである。
図2に図示される方法は、形状認識3D再構成方法およびシステムの使用によって再構成された3Dメッシュを捕捉された奥行マップから生成するためのプロセスと見なされることができる。
【0029】
図2を参照すると、方法200は、捕捉された奥行マップのセットを受信するステップ(210)を含む。
図1に関連して議論されるように、捕捉された奥行マップのセットは、奥行マップ、奥行マップの処理されたバージョンとして受信される、または他の画像から生成され、捕捉された奥行マップのセットを提供することができる。本方法はまた、初期カメラ姿勢推定を行うステップ(212)と、捕捉された奥行マップのセットを基準フレーム内にオーバーレイするステップ(214)とを含む。初期カメラ姿勢推定では、奥行マップが、オーバーレイされ、隣接および/または重複ピクセルの位置の差異が、低減されるかまたは最小限にされる。いったん基準フレーム内のピクセルの位置が調節されると、カメラ姿勢は、調節および/または更新され、カメラ姿勢と調節されるピクセル位置を整合させ、初期カメラ姿勢推定を提供する。
【0030】
捕捉された奥行マップのセットの本初期精緻化の間、カメラ姿勢の初期推定は、ある程度の不正確度を含むことが可能性として考えられる。その結果、オーバーレイされた奥行マップは、特に、構造特徴の領域内において、ある程度の不整合を呈し得る。故に、本発明の実施形態は、形状検出を整合されたカメラ姿勢に適用し、以下により完全に説明されるように、点群の点分布を使用して、顕著な特性を有し得る構造形状を検出する。
図2に図示されるように、本方法は、捕捉された奥行マップのオーバーレイされたセット内の形状を検出するステップ(218)を含む。
【0031】
図3は、本発明のある実施形態による、点群内に存在する形状を検出する方法を図示する、簡略化されたフローチャートである。点群は、捕捉された奥行マップのセットを基準フレーム内にオーバーレイすることによって形成されることができる。捕捉された奥行マップ、レンダリングされた奥行マップ、またはそれらの組み合わせに基づく、点群の形成に関連する付加的説明は、
図9に関連して提供される。
図3に図示される方法は、点群内に存在する扉枠、窓、壁角、壁端部、壁、家具、他の人工構造、および同等物等の構造を検出するために有用である。
【0032】
カメラ姿勢は、判定されることができるが、カメラ姿勢と垂直基準フレームの関係は、既知ではない場合がある。いくつかの実施形態では、基準フレームのz−軸は、重力方向と整合されることができる。故に、方法300は、点法線を使用して、点群と関連付けられた垂直方向を判定するステップ(310)を含む。特に、屋内場面に関して、壁および他の構造特徴の存在は、点群の垂直方向とも称される、点群と関連付けられた垂直方向を判定する際に使用されることができる。例えば、点群内の所与のピクセルに関して、所与のピクセルの近傍のピクセルは、所与のピクセルに関する法線ベクトルを判定するために分析される。本法線ベクトルは、点法線と称される。実施例として、壁の一部を表すピクセルに関して、近隣ピクセルは、概して、平面内にあるであろう。したがって、平面に対する法線ベクトルは、着目ピクセルに関する法線ベクトルを画定するために使用されることができる。
【0033】
点群内のピクセルの一部または全部に関する法線ベクトルを前提として、法線ベクトルに直交する方向は、垂直方向を画定するであろう。言い換えると、法線ベクトルは、概して、平行な水平平面にあって、垂直方向は、これらの平行な水平平面に直交するであろう。
【0034】
いくつかの実施形態では、垂直方向を判定するステップは、垂直方向を推定し、次いで、推定される垂直方向を精緻化するステップを含むが、これらのステップは、所望の垂直方向ベクトルを提供する、単一プロセスに組み合わせられることができる。当業者は、多くの変形例、修正、および代替を認識するであろう。
【0035】
本方法はまた、垂直方向に直交する仮想平面を形成するステップ(312)と、点群内の点を垂直方向に直交する仮想平面上に投影させ、その投影統計を計算するステップ(314)とを含む。重力と整合される垂直方向を前提として、水平表面、例えば、部屋の床を表すであろう、垂直方向に直交する平面を画定することが可能である。垂直方向に直交する本平面は、用語「仮想平面」に加え、投影平面と称され得る。計算される投影統計の実施例は、点分布が仮想平面上の2次元位置毎に収集され得ることである。
【0036】
点群内の点を垂直方向に直交する仮想平面上に投影させることによって、点群内の点は全て、2次元データセットとして表されることができる。本2次元データセットは、点のx−y空間内の位置、x−y位置上に投影された点の高さ範囲、およびx−y位置と関連付けられた点の密度を表すであろう。
【0037】
x−y空間と称され得る、投影平面内の所与の位置に関して、所与の位置上に投影された点の密度は、所与の位置の上方の高さにおいて点群内に存在した点の数を表す。実施例として、壁内に扉を伴う壁を検討すると、壁の下方の位置における点の密度は、高く、扉枠に到達するまで、高密度で継続するであろう。投影平面上への投影は、壁の底部に沿って延びる線をもたらすであろう。扉枠の下方の位置に関する点の密度は、低いであろう(扉枠の上部および扉枠の上方の壁と関連付けられた点のみ)。いったん扉枠の他側に到達すると、密度は、再び増加するであろう。
【0038】
投影平面上への点群の投影後、投影平面内の点の密度は、事実上、場面の間取を提供するであろう。投影平面内の各ピクセルは、特定のピクセル上に投影された特定のピクセルと関連付けられた点の数を示す、グレースケール値を有することができる。点分布を前提として、本方法はまた、線を投影統計から垂直壁として検出するステップ(316)を含む。投影統計は、投影画像の要素と見なされることができる。
【0039】
したがって、本発明の実施形態は、2D仮想平面上の特定のx/y場所上に投影された所定の数の点を含む、1つまたはそれを上回る投影統計を利用する。別の投影統計は、特定のx/y場所上に投影された点に関する点法線の分布である。さらに、別の投影統計は、特定のx/y場所上に投影された点の高さ範囲である。当業者は、多くの変形例、修正、および代替を認識するであろう。
【0040】
投影統計および1つまたはそれを上回る検出された線に基づいて、本方法は、1つまたはそれを上回る形状(例えば、壁角、扉枠、扉、および同等物)を検出するステップ(318)を含む。1つまたはそれを上回る形状は、異なる形状(壁角および扉枠)または形状の複数の実施例(部屋内の異なる部分における2つの壁角)であることができる。本発明者らは、最も規則的な形状が壁と関連付けられると判定した。例えば、壁角は、2つの直交壁の接続であって、壁端部は、壁の端部であって、扉枠は、壁内の開口部である。点分布を分析することによって、これらの構造特徴が、識別および検出される。
【0041】
本方法はまた、1つまたはそれを上回る検出された形状の寸法および位置を判定するステップ(320)を含む。各2次元位置上に投影された点の密度に加えて利用可能である、投影平面の上方の各2次元位置の点高さ分布が、検出された形状の垂直範囲または区域を判定するために使用されることができる。実施例として、2次元位置が、全高が7フィートを上回る、いくつかの点を有する場合、本2次元位置は、扉枠の下方にあって、扉枠の上部まで覆われておらず、次いで、扉枠の上方で凝集する可能性が高い。ヒストグラムが、2次元位置毎に作成されることができ、2次元位置上に投影された点は、投影平面の上方のその高さの関数としてヒストグラムに沿って配置される。
【0042】
いくつかの実施形態では、1つまたはそれを上回る検出された形状の寸法および位置の判定は、各形状の初期寸法および位置の判定であって、これは、形状のタイプに応じてパラメータ化されることになる。例えば、2次元位置、方向、および垂直範囲が、壁の角に関して判定される。扉枠に関して、厚さおよび幅が、判定されることができる。扉に関して、高さおよび幅が、判定されることができる。
【0043】
図3に図示される具体的ステップは、本発明のある実施形態による、点群内に存在する形状を検出する特定の方法を提供することを理解されたい。ステップの他のシーケンスもまた、代替実施形態に従って行われてもよい。例えば、本発明の代替実施形態は、異なる順序で上記で概略されたステップを行ってもよい。さらに、
図3に図示される個々のステップは、個々のステップに対して必要に応じて種々のシーケンスで行われ得る、複数のサブステップを含んでもよい。さらに、付加的ステップが、特定の用途に応じて、追加または除去されてもよい。当業者は、多くの変形例、修正、および代替を認識するであろう。
【0044】
再び
図2を参照すると、点群(すなわち、捕捉された奥行画像のオーバーレイされたセット)内の形状が検出された後、本方法は、形状認識カメラ姿勢整合とも称される、形状認識カメラ姿勢推定を行うステップ(218)を含む。したがって、本発明の実施形態は、点群内で検出された形状の存在によって知らされ、それによって、制約として検出された形状で最適化される、奥行画像のセットのそれぞれと関連付けられたカメラ姿勢を提供する、第2のカメラ姿勢整合プロセスを行う。オーバーレイされた捕捉された奥行マップ間の重複に基づいて、カメラ姿勢を整合させることに加え、実施形態は、オーバーレイされた捕捉された奥行マップと検出された形状との間の重複に基づいて、カメラ姿勢を整合させる。奥行マップを検出された形状に整合させることによって、再構成された3Dメッシュは、追加された制約としての検出された形状の使用の結果として、より優れた正確度を有する。検出された形状を制約として使用することによって、システムを通して伝搬し得る誤差は、低減または排除され、改良された3Dメッシュ正確度をもたらす。
【0045】
図4は、本発明のある実施形態による、形状認識カメラ姿勢整合を形成する方法を図示する、簡略化されたフローチャートである。
図4に関連して議論される方法400は、
図2におけるプロセス218に関連して議論される形状認識カメラ姿勢整合を行う方法であることができる。以下に説明されるように、検出された形状は、カメラ姿勢推定の最適化において使用される。
【0046】
方法400は、捕捉された奥行マップのセットを受信するステップ(410)を含む。捕捉された奥行マップはそれぞれ、物理的カメラ姿勢と関連付けられる。本方法はまた、1つまたはそれを上回る検出された形状を受信するステップ(412)を含む。1つまたはそれを上回る検出された形状の各形状は、寸法および場所/配向によって特徴付けられる。本方法は、1つまたはそれを上回る検出された形状毎に3Dメッシュを作成するステップ(414)を含む。作成された形状メッシュの実施例は、
図6Aおよび
図6Bに見られ得る。
図6Aに図示されるように、壁の端部の3Dメッシュが、示される。
図6Bでは、扉枠の3Dメッシュが、示される。これらの形状は、
図3に関連して議論される方法を使用して検出されることができる。
図6Bに示されるように、扉枠メッシュは、複数の隣接三角形領域から成る。扉枠は、異なる高さ、幅、開口部幅、および同等物を有することができるが、扉枠の側面と上部との間の角度および他の特徴は、概して、規則的かつ予測可能であろう。扉枠または他の構造特徴と関連付けられた3Dメッシュは、
図1におけるプロセス118から生じるメッシュと別個であろう。本明細書に説明されるように、形状認識立体融合は、形状認識再構成3Dメッシュを形成する際、構造特徴と関連付けられたメッシュを利用する。
【0047】
本方法はまた、3Dメッシュ毎に、1つまたはそれを上回る仮想カメラをローカル基準フレーム内に作成するステップ(416)を含む。1つまたはそれを上回る仮想カメラは、検出された形状を参照して、ローカル基準フレーム内に作成される。所与の検出された形状に関して、仮想カメラは、検出された形状の基準フレーム内に位置付けられるであろう。検出された形状の位置および/または配向が調節される場合、仮想カメラは、一定位置を基準フレーム内に維持するように調節するであろう。検出された形状の寸法が変化する、例えば、扉枠厚が減少する場合、扉枠の両側上の仮想カメラは、扉枠厚の減少と連動して、相互により近接して引き寄せられるであろう。したがって、形状に関する3Dメッシュ内の全ての三角形は、少なくとも1つの仮想カメラによって視認されることができる。例えば、壁角に関して、1つの仮想カメラが、全三角形を網羅するために十分である一方、壁端部または扉枠に関して、少なくとも2つの仮想カメラが、典型的には、全三角形を網羅するために必要である。これらの仮想カメラは、それらが仮想カメラと関連付けられた検出された形状を有するため、特殊であることを理解されたい。
【0048】
図6Bを参照すると、扉枠と関連付けられた3Dメッシュが、図示される。扉枠が、
図2に関連して議論されるように検出された後、3Dメッシュが、
図6Bに図示されるように、作成される。3Dメッシュに関する仮想カメラを作成するために、扉枠と関連付けられたレンダリングされた奥行マップが、
図7Aに図示されるように形成される。レンダリングされた奥行マップに基づいて、仮想カメラ710が、所定の位置および配向において作成されることができる。
【0049】
図7Aは、本発明のある実施形態による、扉枠の内部図と関連付けられたレンダリングされた奥行マップおよび関連付けられた仮想カメラを図示する、簡略化された概略図である。
図7Bは、本発明のある実施形態による、扉枠の外部図と関連付けられたレンダリングされた奥行マップおよび関連付けられた仮想カメラを図示する、簡略化された概略図である。レンダリングされた奥行マップは、点群のサブセットである。点群は、奥行マップ(すなわち、奥行マップのフレーム)を組み合わせることによって形成される。点群は、捕捉された奥行マップ、レンダリングされた奥行マップ、または捕捉およびレンダリングされた奥行マップの組み合わせを組み合わせることによって形成されることができる。
図7Aおよび7Bを参照すると、レンダリングされた奥行マップは、構造(すなわち、扉枠)と関連付けられた奥行点のセットを含む。
【0050】
扉枠の内側から見ると、レンダリングされた奥行マップ705は、扉枠を構成するピクセルから扉枠を含む奥行マップの一部のための仮想カメラ710までの距離を表すと見なされることができる。扉枠の外側から見ると、レンダリングされた奥行マップ715は、扉枠を構成するピクセルから扉枠を含む奥行マップの一部のための仮想カメラ720までの距離を表すと見なされることができる。レンダリングされた奥行マップ715の部分717は、いったん扉枠から外に開扉されると、開放扉を表す。
【0051】
図7Aに図示されるように、仮想カメラは、扉枠上に心合された位置であって、かつ所定の距離、例えば、扉枠から2メートルの位置に設置されることができる。したがって、異なる形状毎に、異なるカメラ位置および配向が、利用されることができる。
【0052】
図7Cは、本発明のある実施形態による、2つの壁の角と関連付けられたレンダリングされた奥行マップおよび関連付けられた仮想カメラを図示する、簡略化された概略図である。2つの壁は、図示される実施形態では、90°の角度で交わる。
図7Cに図示されるように、仮想カメラ730は、2つの隣接する壁が交わる角上に心合される。
【0053】
本方法はさらに、検出された形状毎に、奥行マップを各3Dメッシュの各仮想カメラから合成するステップ(418)を含む。言い換えると、検出された形状毎に、各仮想カメラからの奥行マップが、形状に関する3Dメッシュに基づいて合成されるであろう。したがって、実施形態は、各仮想カメラと関連付けられた奥行マップを提供する。
【0054】
図8Aは、本発明のある実施形態による、仮想カメラからレンダリングされた扉枠の内部図のレンダリングされた奥行マップを図示する、簡略化された概略図である。
図8Bは、本発明のある実施形態による、仮想カメラからレンダリングされた扉枠の外部図のレンダリングされた奥行マップを図示する、簡略化された概略図である。これらの奥行マップでは、グレースケールが、奥行値を表すために使用される。
図8Bに示されるように、扉は、奥行マップの左側に開放される。故に、開扉は、扉枠の左側の一部を遮る。扉枠および扉は、2つの異なる形状として処理され得ることを理解されたい。当業者は、多くの変形例、修正、および代替を認識するであろう。
【0055】
図8Aに示される奥行マップは、
図7Aに図示される仮想カメラ710と関連付けられる。
図8Bに示される奥行マップは、
図7Bに図示される仮想カメラ720と関連付けられる。
【0056】
本方法はまた、カメラ姿勢および/または各検出された形状の寸法および位置の共最適化を行うステップ(420)を含む。各検出された形状の位置は、レンダリングされた奥行マップの姿勢と相関する。寸法は、類似する。これらのカメラ姿勢整合は、共最適化の一部として、プロセス414からのレンダリングされた奥行マップおよび捕捉された奥行マップ(例えば、受動または能動)を利用する。姿勢推定/精緻化とも称され得る、共最適化は、ICPベースの整合または他の技法を使用して行われることができる。着目すべきこととして、レンダリングされた奥行マップの姿勢も、随意に、本プロセスの一部として最適化される。
【0057】
さらに、
図4およびプロセス416に関連して提供される説明に対して、形状認識カメラ姿勢整合のプロセスは、以下のステップを含むことができる。
【0058】
ステップ1:各フレーム−フレーム対間の最近傍点対を見つける。
【0059】
ステップ2:各フレーム−形状対間の最近傍点対を見つける。
【0060】
ステップ3:以下の目的関数を用いて、各フレームのR、Tと、各形状のF、G、およびDとを共最適化する。
【0061】
ステップ4:ステップ1から開始し、最適化が収束するまで反復する。
【0063】
目的関数では、第1の項は、捕捉された奥行マップ間の整合に関する。第2の項は、捕捉された奥行マップとレンダリングされた奥行マップ(すなわち、検出された形状)との間の整合に関する。第3および第4の項は、姿勢軌道が平滑であることを確実にすることに関する。
【0064】
上記の方程式では、
iは、指数を各フレームに提供する。
jは、指数を相互フレームに提供する。
mは、指数を各最近傍点対に提供する。
p
i(・)およびq
j(・)は、フレームiからの奥行点pと、フレームjからのその対応する最近傍奥行点qとを表す。
p
i(・)およびh
k(・)は、フレームiからの奥行点pと、形状kからのその対応する最近傍奥行点hとを表す。
R
iおよびT
iは、フレームiの回転および平行移動(すなわち、カメラ姿勢)に関する。
F
kおよびG
kは、形状kの回転および平行移動(すなわち、カメラ姿勢)に関する。
D
kは、形状kの寸法を規定する。
wは、各項の加重を表す。
【0065】
カメラ姿勢の共最適化が行われた後、オリジナル奥行画像は、レンダリングされた奥行マップに整合され、したがって、1つまたはそれを上回る検出された形状にも同様に整合される。したがって、3Dメッシュ再構成のために使用される点群は、特に、顕著な形状および構造に近い領域内において、より正確かつ一貫するようになるであろう。検出された形状の有無別の点群整合の比較が、
図9Aおよび9Bに示される。
図9Aは、オーバーレイされた捕捉された奥行マップを図示する、簡略化された点群略図である。
図9Bは、本発明の実施形態によって提供される形状認識方法を使用して、オーバーレイされた捕捉された奥行マップおよびレンダリングされた奥行マップを図示する、簡略化された点群略図である。点は、
図9Bに示される画像に示されるように、形状認識カメラ姿勢推定とより良好に整合されることが観察され得る。
【0066】
図4に図示される具体的ステップは、本発明のある実施形態による、形状認識カメラ姿勢整合を形成する特定の方法を提供することを理解されたい。ステップの他のシーケンスもまた、代替実施形態に従って行われてもよい。例えば、本発明の代替実施形態は、異なる順序で上記で概略されたステップを行ってもよい。さらに、
図4に図示される個々のステップは、個々のステップに対して必要に応じて種々のシーケンスで行われ得る、複数のサブステップを含んでもよい。さらに、付加的ステップが、特定の用途に応じて、追加または除去されてもよい。当業者は、多くの変形例、修正、および代替を認識するであろう。
【0067】
再び
図2を参照すると、方法200は、形状認識立体融合を行うステップ(220)と、形状認識立体融合技法を使用して、再構成された3Dメッシュを形成するステップ(222)とを含む。形状認識立体融合の実装に関連する付加的説明が、
図5に関連して提供される。
【0068】
本発明のある実施形態による、
図2に図示される具体的ステップは、捕捉された奥行マップの複数のフレームを使用して、場面の3Dメッシュを生成する特定の方法を提供することを理解されたい。ステップの他のシーケンスもまた、代替実施形態に従って行われてもよい。例えば、本発明の代替実施形態は、異なる順序で上記で概略されたステップを行ってもよい。さらに、
図2に図示される個々のステップは、個々のステップに対して必要に応じて種々のシーケンスで行われ得る、複数のサブステップを含んでもよい。さらに、付加的ステップが、特定の用途に応じて、追加または除去されてもよい。当業者は、多くの変形例、修正、および代替を認識するであろう。
【0069】
図5は、本発明のある実施形態による、形状認識立体融合を行う方法を図示する、簡略化されたフローチャートである。本技法を適用する際、検出された形状が、利用され、他の方法におけるものより鮮鋭かつより鮮明な形状メッシュをもたらす。
【0070】
方法500は、最適化された形状寸法を用いて、検出された形状毎に形状メッシュを再作成するステップ(510)を含む。本方法はまた、奥行マップを各形状メッシュの各仮想カメラからレンダリングするステップ(512)と、捕捉された奥行マップおよびレンダリングされた奥行マップを用いて、共立体融合を行うステップ(514)とを含む。
【0071】
共立体融合(514)は、最初に、「複合モデルを距離画像から構築するための立体方法」において導入された、立体融合の基本作業に加えて展開される。より具体的には、ボクセルの3Dグリッドに均一に細分割された3D体積が、最初に、作成され、これは、捕捉された面積の3D物理空間にマップされる。本立体表現の各ボクセルは、実際の表面までの相対的距離を規定する値を保持するであろう。これらの値は、実際の表面の正面では正となり、背後では負となり、したがって、本立体表現は、3D表面、すなわち、値が符号を変化させる場所を暗示的に記述する。立体融合は、捕捉された奥行マップのセットを本立体表現に変換することができる。各ボクセル内の距離値、すなわち、切り捨て符号付距離関数(TSDF)は、以下のように算出される。
【化2】
式中、
vは、ボクセルの位置である。
tsdf(v)は、ボクセルの相対的距離値である。
Proj
i(v)は、捕捉された奥行マップi上のvの投影である。
w
ivは、捕捉された奥行マップi上に投影させるボクセルvのための加重である。
D
i(・)は、捕捉された奥行マップiである。
T
iは、カメラiの位置である。
w
ivは、(1)ボクセルvがカメラiの円錐台の外側にある場合、または(2)
【化3】
が所定の切り捨て距離Mを上回る場合、常時、ゼロに設定されるであろう。他の場合に関して、w
ivは、1または捕捉された奥行マップ内の対応する点の信頼値に設定されることができる。
【0072】
本発明の実施形態に従って行われる形状認識立体融合に関して、切り捨て符号付距離関数が、捕捉された奥行マップおよびレンダリングされた奥行マップ(すなわち、検出された形状)の両方から算出される。
【化4】
式中、
D
i(・)は、レンダリングされた奥行マップsである。
G
iは、仮想カメラの位置sである。
w
svは、同様に、(1)ボクセルvがカメラsの円錐台の外側にある場合、または(2)
【化5】
が所定の切り捨て距離Mを上回る場合、ゼロに設定されるであろう。ゼロではないとき、w
svは、レンダリングされた奥行マップからの点が優勢となるであろうように、捕捉された奥行マップのw
iv(すなわち、1)より大きい値(すなわち、20)に設定される。いくつかの実施形態はまた、検出された形状の境界により近づく点に関して、w
svの値を徐々に減少させる(すなわち、20から1)。境界の周囲の加重の減少は、より鮮鋭である、検出された形状から、捕捉された奥行マップを使用して生成されたオリジナルメッシュへの平滑遷移を作成する。
【0073】
形状認識立体融合後、最終メッシュ内の主要構造(例えば、扉枠、壁角、壁端部等)は、はるかに鮮鋭かつ鮮明になるであろう。
【0074】
図5に図示される具体的ステップは、本発明のある実施形態による、形状認識立体融合を行う特定の方法を提供することを理解されたい。ステップの他のシーケンスもまた、代替実施形態に従って行われてもよい。例えば、本発明の代替実施形態は、異なる順序で上記で概略されたステップを行ってもよい。さらに、
図5に図示される個々のステップは、個々のステップに対して必要に応じて種々のシーケンスで行われ得る、複数のサブステップを含んでもよい。さらに、付加的ステップが、特定の用途に応じて、追加または除去されてもよい。当業者は、多くの変形例、修正、および代替を認識するであろう。
【0075】
図10Aは、
図1に関連して説明される方法を使用して再構成された第1の再構成された3Dメッシュを示す、画像である。
図10Bは、
図2に関連して説明される方法を使用して再構成された第2の再構成された3Dメッシュを示す、画像である。したがって、
図10Aおよび10Bは、それぞれ、形状認識3D再構成技法の有無別の再構成された3Dメッシュの比較を提供する。
【0076】
壁内の扉を表す、
図10Aに示される画像では、再構成された3Dメッシュは、扉脇柱の左縁に沿って、および扉脇柱の右縁に沿って、うねりを含む。
図10Aに示される同一扉を図示する、
図10Bに示される画像では、形状認識3Dメッシュ再構成は、はるかに鮮明かつ正確な出力を生成する。扉脇柱の左縁を検討すると、壁は、視認者に向かって外にたわんで見える。物理的場面を正確に表していない、本たわみは、推定カメラ姿勢における誤差から生じる可能性が最も高い。
【0077】
図10Bに示されるように、扉枠形状からメッシュの残りへの遷移は、より平滑かつより明白に、直線垂直扉脇柱によって画定された。したがって、屋内場面に関して、本発明の実施形態は、視覚的に好ましく、かつ正確な3Dメッシュ再構成を提供する。
【0078】
図11Aは、
図1に関連して説明される方法を使用して再構成された第3の再構成された3Dメッシュを示す、画像である。
図11Bは、
図2に関連して説明される方法を使用して再構成された第4の再構成された3Dメッシュを示す、画像である。したがって、
図11Aおよび11Bは、それぞれ、形状認識3D再構成技法の有無別の再構成された3Dメッシュの比較を提供する。
【0079】
凹所内のブースおよびテーブルを表す、
図11Aに示される画像では、再構成された3Dメッシュは、凹所の左側を構成する壁の端部におけるうねりおよび凹所の右側を構成する壁の端部におけるうねりを含む。加えて、凹所の上方の壁は、うねりおよび非均一性をベンチの上方の壁の左側に呈する。
図11Aに示されるものと同の一凹所、ベンチ、およびテーブルを図示する、
図11Bに示される画像では、形状認識3Dメッシュ再構成は、はるかに鮮明かつ正確な出力を生成する。特に、凹所の右縁を構成する壁は、
図11Aにおいて次の凹所の中に延在して見える。しかしながら、
図11Bでは、左壁の右側は、平坦であって、鮮明な壁端部を伴い、隣接する凹所を明確に分離し、物理的場面を正確に表す。
【0080】
図12は、本発明のある実施形態による、奥行画像を使用して3Dメッシュを再構成するためのシステムを図示する、簡略化された概略図である。本システムは、一連の捕捉された奥行マップを収集するために使用され得る、奥行カメラ1220を含む。本実施例では、第1の奥行マップは、位置1における奥行カメラを用いて、場面1210から捕捉され、第2の奥行マップは、カメラが位置2に位置付けられるときに、場面1210から捕捉される(1222)。
【0081】
捕捉された奥行マップのセットは、奥行カメラと統合される、またはそれと別個であり得る、コンピュータシステム1230に伝送される。コンピュータシステムは、本明細書に説明される算出方法を行い、ディスプレイ1232を通したユーザへの表示のために、場面1210の再構成された3Dメッシュを生成するように動作可能である。再構成された3Dメッシュは、表示、記憶、または同等物のために、I/Oインターフェース1240を通して、他のシステムに伝送されることができる。当業者は、多くの変形例、修正、および代替を認識するであろう。
【0082】
図13は、実施形態を組み込む、実施形態の中に組み込まれる、または本開示内で見出される革新、実施形態、および/または実施例のいずれかを実践するために使用され得る、コンピュータシステムまたは情報処理デバイスのブロック図である。
【0083】
図13は、コンピュータシステム1300のブロック図である。
図13は、単なる例証である。いくつかの実施形態では、コンピュータシステムは、単一コンピュータ装置を含み、サブシステムは、コンピュータ装置のコンポーネントであることができる。他の実施形態では、コンピュータシステムは、複数のコンピュータ装置を含むことができ、それぞれ、内部コンポーネントを伴う、サブシステムである。コンピュータシステム1300およびそのコンポーネントまたはサブシステムのいずれかは、本明細書に説明される方法を行うために構成される、ハードウェアおよび/またはソフトウェア要素を含むことができる。
【0084】
コンピュータシステム1300は、1つまたはそれを上回るデータプロセッサまたは中央処理ユニット(CPU)1305、1つまたはそれを上回るグラフィックプロセッサまたはグラフィカル処理ユニット(GPU)1310、メモリサブシステム1315、記憶サブシステム1320、1つまたはそれを上回る入力/出力(I/O)インターフェース1325、通信インターフェース1330、または同等物等の一般的コンピュータコンポーネントを含んでもよい。コンピュータシステム1300は、前述のコンポーネントを相互接続し、デバイス間通信としてのコネクティビティ等の機能性を提供する、システムバス1335を含むことができる。
【0085】
1つまたはそれを上回るデータプロセッサまたは中央処理ユニット(CPU)1305は、特定用途向け機能性を提供するための論理またはプログラムコードを実行することができる。CPU1305のいくつかの実施例は、1つまたはそれを上回るマイクロプロセッサ(例えば、単一コアおよびマルチコア)またはマイクロコントローラ、1つまたはそれを上回るフィールドゲートプログラマブルアレイ(FPGAS)、および特定用途向け集積回路(ASIC)を含むことができる。本明細書で使用されるように、プロセッサは、同一統合チップ上のマルチコアプロセッサまたは単一回路基板上のまたはネットワーク化される複数の処理ユニットを含む。
【0086】
1つまたはそれを上回るグラフィックプロセッサまたはグラフィカル処理ユニット(GPU)1310は、グラフィックと関連付けられた、またはグラフィック特有の機能性を提供するための論理またはプログラムコードを実行することができる。GPU1310は、従来のビデオカードによって提供されるもの等、任意の従来のグラフィック処理ユニットを含んでもよい。種々の実施形態では、GPU1310は、1つまたはそれを上回るベクトルまたはパラレル処理ユニットを含んでもよい。これらのGPUは、ユーザプログラム可能であって、具体的タイプのデータ(例えば、ビデオデータ)をエンコード/デコードするため、または2Dまたは3D描画動作、テクスチャ化動作、陰影動作、または同等物を加速させるためのハードウェア要素を含んでもよい。1つまたはそれを上回るグラフィックプロセッサまたはグラフィカル処理ユニット(GPU)1310は、任意の数のレジスタ、論理ユニット、算術ユニット、キャッシュ、メモリインターフェース、または同等物を含んでもよい。
【0087】
メモリサブシステム1315は、例えば、機械可読物品、情報記憶デバイス、またはコンピュータ可読記憶媒体を使用して、情報を記憶することができる。いくつかの実施例は、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROMS)、揮発性メモリ、不揮発性メモリ、および他の半導体メモリを含むことができる。メモリサブシステム1315は、データおよびプログラムコード1340を含むことができる。
【0088】
記憶サブシステム1320もまた、機械可読物品、情報記憶デバイス、またはコンピュータ可読記憶媒体を使用して、情報を記憶することができる。記憶サブシステム1320は、記憶媒体1345を使用して、情報を記憶してもよい。記憶サブシステム1320によって使用される記憶媒体1345のいくつかの実施例は、フロッピー(登録商標)ディスク、ハードディスク、光学記憶媒体、例えば、CD−ROMS、DVD、およびバーコード、可撤性記憶デバイス、ネットワーク化記憶デバイス、または同等物を含むことができる。いくつかの実施形態では、データおよびプログラムコード1340の全部または一部は、記憶サブシステム1320を使用して記憶されてもよい。
【0089】
1つまたはそれを上回る入力/出力(I/O)インターフェース1325が、I/O動作を行うことができる。1つまたはそれを上回る入力デバイス1350および/または1つまたはそれを上回る出力デバイス1355は、1つまたはそれを上回るI/Oインターフェース1325に通信可能に結合されてもよい。1つまたはそれを上回る入力デバイス1350は、情報をコンピュータシステム1300のための1つまたはそれを上回るソースから受信することができる。1つまたはそれを上回る入力デバイス1350のいくつかの実施例は、コンピュータマウス、トラックボール、追跡パッド、ジョイスティック、無線遠隔装置、描画タブレット、音声コマンドシステム、眼追跡システム、外部記憶システム、タッチスクリーンとして適切に構成されるモニタ、送受信機として適切に構成される通信インターフェース、または同等物を含んでもよい。種々の実施形態では、1つまたはそれを上回る入力デバイス1350は、コンピュータシステム1300のユーザが、1つまたはそれを上回る非グラフィカルまたはグラフィカルユーザインターフェースと相互作用し、コマンド、ボタンのクリック、または同等物を介して、コメントを入力すること、モニタ/ディスプレイデバイス上に現れるオブジェクト、アイコン、テキスト、ユーザインターフェースウィジェット、または他のユーザインターフェース要素を選択することを可能にしてもよい。
【0090】
1つまたはそれを上回る出力デバイス1355は、情報をコンピュータシステム1300のための1つまたはそれを上回る宛先に出力することができる。1つまたはそれを上回る出力デバイス1355のいくつかの実施例は、プリンタ、ファックス、マウスまたはジョイスティックのためのフィードバックデバイス、外部記憶システム、モニタまたは他のディスプレイデバイス、送受信機として適切に構成される通信インターフェース、または同等物を含むことができる。1つまたはそれを上回る出力デバイス1355は、コンピュータシステム1300のユーザが、オブジェクト、アイコン、テキスト、ユーザインターフェースウィジェット、または他のユーザインターフェース要素を視認することを可能にしてもよい。ディスプレイデバイスまたはモニタは、コンピュータシステム1300と併用されてもよく、情報を表示するために構成される、ハードウェアおよび/またはソフトウェア要素を含むことができる。
【0091】
通信インターフェース1330は、データの送受信を含む、通信動作を行うことができる。通信インターフェース1330のいくつかの実施例は、ネットワーク通信インターフェース(例えば、Ethernet(登録商標)、Wi−Fi等)を含んでもよい。例えば、通信インターフェース1330は、コンピュータネットワーク、USBハブ、または同等物等の通信ネットワーク/外部バス1360に結合されてもよい。コンピュータシステムは、例えば、通信インターフェース1330または内部インターフェースによってともに接続される、複数の同一コンポーネントまたはサブシステムを含むことができる。いくつかの実施形態では、コンピュータシステム、サブシステム、または装置は、ネットワークを経由して通信することができる。そのような事例では、1つのコンピュータは、クライアントと見なされ、別のコンピュータは、サーバと見なされることができ、それぞれ、同一コンピュータシステムの一部であることができる。クライアントおよびサーバはそれぞれ、複数のシステム、サブシステム、またはコンポーネントを含むことができる。
【0092】
コンピュータシステム1300はまた、本明細書に開示される技法を実行する、行う、または別様に実装するために、プロセッサによって実行されるべき1つまたはそれを上回るアプリケーション(例えば、ソフトウェアコンポーネントまたは機能)を含んでもよい。これらのアプリケーションは、データおよびプログラムコード1340として具現化されてもよい。加えて、コンピュータプログラム、実行可能コンピュータコード、人間可読ソースコード、シェーダコード、レンダリングエンジン、または同等物、およびデータ、例えば、画像ファイル、オブジェクトの幾何学的記述、オブジェクトの順序付けされた幾何学的記述、モデルの手続的記述を含む、モデル、場面記述子ファイル、または同等物が、メモリサブシステム1315および/または記憶サブシステム1320内に記憶されてもよい。
【0093】
そのようなプログラムはまた、インターネットを含む、種々のプロトコルに準拠する有線、光学、および/または無線ネットワークを介した伝送のために適合される搬送波信号を使用して、エンコードおよび伝送されてもよい。したがって、本発明のある実施形態によるコンピュータ可読媒体は、そのようなプログラムでエンコードされたデータ信号を使用して作成されてもよい。プログラムコードでエンコードされたコンピュータ可読媒体は、互換性があるデバイスとともにパッケージ化されてもよい、または他のデバイスと別個に提供されてもよい(例えば、インターネットダウンロードを介して)。任意のそのようなコンピュータ可読媒体は、単一コンピュータ製品(例えば、ハードドライブ、CD、またはコンピュータシステム全体)上または内部に常駐してもよく、システムまたはネットワーク内の異なるコンピュータ製品上または内部に存在してもよい。コンピュータシステムは、本明細書で述べられた結果のいずれかをユーザに提供するために、モニタ、プリンタ、または他の好適なディスプレイを含んでもよい。
【0094】
本明細書に説明される方法のいずれかは、ステップを行うように構成されることができる、1つまたはそれを上回るプロセッサを含む、コンピュータシステムを用いて全体的または部分的に行われてもよい。したがって、実施形態は、潜在的に、個別のステップまたはステップの個別の群を行う異なるコンポーネントを用いて、本明細書に説明される方法のいずれかのステップを行うように構成されるコンピュータシステムを対象とすることができる。番号が付与されたステップとして提示されるが、本明細書の方法ステップは、同時または異なる順序で行われることができる。加えて、これらのステップの一部は、他の方法からの他のステップの一部と併用されてもよい。また、ステップの全部または一部は、随意であってもよい。加えて、方法のいずれかのステップのいずれかは、これらのステップを行うためのモジュール、回路、または他の手段を用いて行われることができる。
【0095】
本発明の種々の実施形態を上記で説明したが、それらは、限定ではなく一例のみとして提示されていることを理解されたい。同様に、種々の図面は、本開示のための例示的な構造上または他の構成例を表してもよく、これは、本開示に含まれ得る特徴および機能性を理解するのに役立つように行われる。本開示は、図示された基本設計概念または構成例に制限されず、種々の代替的な基本設計概念および構成を使用して実装することができる。加えて、本開示は、種々の例示的実施形態および実装の観点から上記で説明されるが、個別の実施形態のうちの1つまたはそれを上回るものに説明される種々の特徴および機能性は、それらの適用性において、それらが説明される特定の実施形態に限定されないことを理解されたい。代わりに、それらは単独またはいくつかの組み合わせにおいて、本開示の他の実施形態のうちの1またはそれを上回るものに適用可能であり得、そのような実施形態が説明されるかどうかにかかわらず、そしてそのような特徴が説明されるかどうかにかかわらず、実施形態の一部であるとして提示される。このように、本開示の範疇および範囲は、前述の例示的実施形態のいずれによっても限定されるべきではない。
【0096】
本書では、本明細書で使用されるような「モジュール」という用語は、本明細書で説明される関連機能を果たすためのソフトウェア、ファームウェア、ハードウェア、およびこれらの要素の任意の組み合わせを指す。加えて、論議の目的で、種々のモジュールは、離散モジュールとして説明されるが、当業者には明白となるように、本発明の実施形態による関連機能を果たす単一モジュールを形成するように、2つまたはそれを上回るモジュールが組み合わされてもよい。
【0097】
明確化の目的のために、上記の説明は、異なる機能ユニットおよびプロセッサを参照して本発明の実施形態を説明していることが理解されるであろう。しかしながら、異なる機能ユニット、プロセッサ、またはドメインの間での機能性の任意の好適な分散が、本発明から逸脱することなく使用されてもよいことが明白となるであろう。例えば、別個のプロセッサまたはコントローラによって果たされるように例示される機能性は、同じプロセッサまたはコントローラによって果たされてもよい。したがって、特定の機能ユニットの参照は、厳密な論理または物理構造または編成を示すのではなく、説明された機能性を提供するための好適な手段の参照にすぎないと考えられる。
【0098】
本書で使用される用語および語句およびそれらの変化例は、特に明記されない限り、限定的ではなく非限定的に解釈されるべきである。前述の例として、「含む」という用語は、「限定ではないが、〜を含む」または同等物等を意味するものとして解釈されるべきであり、「実施例」という用語は、その包括的または限定的リストではなく、検討されている項目の例示的事例を提供するために使用され、「従来の」、「伝統的な」、「通常の」、「標準の」、「公知の」等の形容詞、および同様の意味の用語は、説明される項目を、所与の期間に、または所与の時点で利用可能な項目に限定するものとして解釈されるべきではない。しかし、代わりに、これらの用語は、現在または将来の任意の時点で、利用可能であり、公知であり得る、従来、伝統的、通常、または標準の技術を包含すると解釈されるべきである。同様に、「および」という接続詞で連結される項目群は、これらの項目のうちのそれぞれおよびあらゆるものが群に存在することを要求するものとして読まれるべきではなく、特に明記されない限り、むしろ「および/または」として解釈されるべきである。同様に、「または」という接続詞で連結される項目群は、その群の中で相互排他性を要求するものとして解釈されるべきではなく、特に明記されない限り、むしろ「および/または」として解釈されるべきである。さらに、本開示の項目、要素、またはコンポーネントは、単数形で説明または請求される場合があるが、単数形への限定が明示的に記述されない限り、複数形がその範囲内であると考えられる。いくつかの場合における「1つまたはそれを上回る」、「少なくとも」、「しかし〜に制限されない」、または他の類似語句等の拡大する単語および語句の存在は、そのような拡大語句が存在しない場合の事例において、より狭義の事例が意図される、または要求されることを意味すると解釈されるべきではない。
【0099】
また、本明細書に説明される実施例および実施形態は、例証目的のためだけのものであって、それに照らした種々の修正または変更が、当業者に示唆され、本願の精神および範囲および添付の請求項の範囲内に含まれるものとすることを理解されたい。