(58)【調査した分野】(Int.Cl.,DB名)
前記プロセッサは、低精度の前記低密度深度マップを取得し、前記第1センサと前記第2センサとの間のマッチングにより、低精度の前記低密度深度マップを改良して前記高精度深度マップを取得することで、前記高精度深度マップを生成する、
請求項1に記載のシステム。
前記プロセッサは、低精度の前記低密度深度マップを取得し、前記第1センサと前記第2センサとの間のマッチングにより、低精度の前記低密度深度マップを改良することで前記高精度深度マップを生成し、マッチングされる前記第2センサからの画像が、前記第2センサと前記第1エミッタからのパターンとの間で構造化光を用いて取得される、
請求項1又は2に記載のシステム。
【発明を実施するための形態】
【0008】
一対のセンサを用いるパッシブ型ステレオ画像生成での深度抽出は、両方のカメラで観察される複数の物体区画の相対オフセット(視差として知られる)を計算することを含む。本技術は複数のセンサを用いて説明されるが、カメラ、画像センサ、又はそれらの任意の組み合わせなどの任意の画像キャプチャ機構が用いられ得る。相対オフセットは、画素座標で計算されることが多い。これらの視差を計算すべく、第1センサからの画像の画素が、第2センサからの他の画像の対応する画素にマッチングされる。一様な領域において、2つの画像間で画素をマッチングさせることは、ほとんど不可能ではないにしろ、困難である。本明細書では、一様な領域は、実質的に同様である複数の画像の部分であり、そのためこれらの領域において返される深度マップは、どうにか見られるとしても品質が低い。従って、一様な領域は、ステレオカメラシステムで取得される深度マップの品質を著しく低下させる。
【0009】
代替的に、アクティブ型ステレオは、センサで観察される物体上に一様でないテクスチャを投影することにより、深度マップを向上させる方法である。この方法は、一様な領域を一様でないテクスチャで満たす。一様でないテクスチャは、ユーザがセンサで観察される物体上に投影されたパターンを可視化できないように、赤外線エミッタを用いて一様でないテクスチャを投影することにより、一様な領域のマッチングを著しく容易にさせる。従って、アクティブ型ステレオに用いられるセンサは、赤外線カットセンサである。アクティブ型ステレオにより取得される深度マップの品質は、パッシブ型ステレオよりはるかに優れているが、視差ひいては深度(Z)の精度は、特にエミッタ−センサ構成から1メートルを超えて離れた距離にある物体では、距離とともに低下する。視差及びZの精度が低下する距離は、システム特性に依存する。
【0010】
本明細書で説明される複数の実施形態は、エミッタ及びセンサを含む複数のシステム構成要素の非対称配置を用いて、構造化ステレオを可能にする。
【0011】
複数の構成要素間の光学距離による、深度マップへの相反する影響は除去され得る。複数の実施形態において、正確且つ高密度な深度マップを取得すべく、アクティブ型ステレオ技術及び構造化光技術が組み合わされる。アクティブ型ステレオ技術は、他の技術と比較して、環境条件に対してよりロバストで、より高い出力分解能を有する深度マップを提供する。構造化光(SL)技術は正確とみなされており、それにより、結果として得られる深度マップの精度を確保する。
【0012】
以下の説明及び請求項において、「結合(coupled)」及び「接続(connected)」という用語が、それらの派生語と共に用いられ得る。これらの用語は、互いに対して同義語として意図されるものではないことが理解されるべきである。むしろ、複数の特定の実施形態では、「接続」は、2又はそれより多くの要素が互いと物理的又は電気的に直接接触していることを示すのに用いられ得る。「結合」は、2又はそれより多くの要素が物理的又は電気的に直接接触していることを意味する。しかしながら、「結合」は、2又はそれより多くの要素が互いと直接接触していないが、それでもまだ互いと協働又は相互作用することも意味し得る。
【0013】
いくつかの実施形態は、ハードウェア、ファームウェア、及びソフトウェアのうちの1つ、又はそれらの組み合わせに実装され得る。いくつかの実施形態は、機械可読媒体に格納される命令としても実装され得る。この命令は、コンピューティングプラットフォームにより読み取られ且つ実行されて、本明細書で説明される演算を実行し得る。機械可読媒体は、機械、例えばコンピュータにより可読な形で、情報を格納又は送信するための任意の機構を含み得る。例えば、機械可読媒体はとりわけ、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、あるいは、電気、光、音、又は他の形の伝搬信号、例えば搬送波、赤外線信号、デジタル信号、又は信号を送信及び/又は受信するインタフェースを含み得る。
【0014】
一実施形態は実装又は実施例である。本明細書において、「一実施形態」、「1つの実施形態」、「いくつかの実施形態」、「様々な実施形態」、又は「他の実施形態」への言及は、実施形態と関連して説明される特定の機能、構造、又は特性が、本技術の少なくともいくつかの実施形態に含まれることを意味するものであり、必ずしも全ての実施形態に含まれることを意味するものではない。「一実施形態」、「1つの実施形態」、 又は「いくつかの実施形態」が様々に出現するが、必ずしも全てが同一の実施形態に言及しているわけではない。一実施形態による要素又は態様が、別の実施形態の要素又は態様と組み合わされ得る。
【0015】
本明細書で説明され且つ示される全ての構成要素、機能、構造、特性などが、特定の1又は複数の実施形態に含まれる必要があるわけではない。構成要素、機能、構造、又は特性が含まれ「てよい(may)」、含まれ「るかもしれない(might)」、含まれ「得る(can)」、含まれ「る場合がある(could)」ということを本明細書で述べる場合、例えば、その特定の構成要素、機能、構造、又は特性は、含まれることを必要とされない。明細書又は請求項が「1つの(a又はan)」要素に言及する場合、これは1つの要素だけが存在することを意味するわけではない。明細書又は請求項が「1つの追加の」要素に言及する場合、これは、1より多くの追加の要素が存在することを除外しない。
【0016】
いくつかの実施形態は複数の特定の実装を参照して説明されてきたが、いくつかの実施形態に従って、他の複数の実装が可能であることに留意されたい。さらに、図面に示される及び/又は本明細書で説明される複数の回路要素又は他の複数の機能の配置及び/又は順序は、示される且つ説明される特定の方法で配置される必要はない。多くの他の配置が、いくつかの実施形態に従って可能である。
【0017】
図に示される各システムにおいて、いくつかの場合の複数の要素は、表される複数の要素が異なる及び/又は同様であり得ることを示唆すべく、それぞれ同一の参照番号又は異なる参照番号を有しうる。しかしながら、要素は、異なる複数の実装を有し、本明細書に示される又は説明されるシステムのいくつか又は全てとともに動作できるほど十分に柔軟であり得る。図に示される様々な要素は、同一でも異なってもよい。どちらが第1の要素と称され、どれが第2の要素と呼ばれるかは任意である。
【0018】
図1は、構造化ステレオを含み得るコンピューティングデバイス100のブロック図である。コンピューティングデバイス100は、例えば、とりわけ、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、モバイルデバイス、又はサーバであってよい。コンピューティングデバイス100は、ゲームデバイス、又はゲームシステムの一部であってもよい。コンピューティングデバイス100は、格納された命令を実行するよう構成される中央処理ユニット(CPU)102、及び、CPU102により実行可能な命令を格納するメモリデバイス104を含み得る。CPUは、バス106によりメモリデバイス104に結合され得る。さらに、CPU102は、シングルコアプロセッサ、マルチコアプロセッサ、コンピューティングクラスタ、又は他の任意の数の構成であり得る。さらに、コンピューティングデバイス100は、1より多くのCPU102を含み得る。CPU102により実行される命令は、構造化ステレオを実装するのに用いられ得る。メモリデバイス104は、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、フラッシュメモリ、又は任意の他の適切なメモリシステムを含み得る。例えば、メモリデバイス104は、ダイナミックランダムアクセスメモリ(DRAM)を含み得る。
【0019】
コンピューティングデバイス100は、グラフィックス処理ユニット(GPU)108も含み得る。示されるように、CPU102は、バス106を介してGPU108に結合され得る。GPU108は、コンピューティングデバイス100内で、任意の数のグラフィックス演算を実行するよう構成され得る。例えば、GPU108は、コンピューティングデバイス100のユーザに表示されるグラフィックス画像、グラフィックスフレーム、ビデオ、又は同様のものを描画又は処理するよう構成され得る。いくつかの実施形態では、GPU108は、複数の実行ユニット110を含み、各実行ユニット110は、特定のグラフィックスタスクを実行する、又は特定の種類のワークロードを実行するよう構成される。例えば、GPU108は、非対称に配置された複数のセンサに基づいて深度マップを生成する実行ユニットを含み得る。
【0020】
コンピューティングデバイス100は、画像キャプチャデバイス112を含む。複数の実施形態において、画像キャプチャデバイス112は、カメラ、立体カメラ、赤外線センサ、又は同様のものである。画像キャプチャデバイス112は、画像情報をキャプチャするのに用いられる。コンピューティングデバイス100は、センサハブ114も含み得る。センサハブ114は、深度センサ、画像センサ、赤外線センサ、X線光子計数センサ、又はそれらの任意の組み合わせなど、様々なセンサを含み得る。センサハブ114の深度センサは、センサハブ114の画像センサによりキャプチャされた画像情報と関連した深度情報をキャプチャするのに用いられ得る。いくつかの実施形態では、センサハブ114は、画像キャプチャ機構110の構成要素である。さらに、複数の実施形態において、センサハブ114は、センサデータを画像キャプチャ機構に提供する。センサハブ114の複数のセンサは、電荷結合素子(CCD)画像センサ、相補型金属酸化物半導体(CMOS)画像センサ、システムオンチップ(SoC)画像センサ、光電性薄膜トランジスタを有する画像センサ、又はそれらの任意の組み合わせなどの画像センサを含み得る。いくつかの実施形態において、センサハブ114は、組み込み型サービスハブであっても、組み込み型サービスハブ内に実装されてもよい。
【0021】
画像キャプチャ機構は、エミッタ116も含み得る。深度マップを生成すべく、非対称に配置された複数のセンサとともに用いられ得るエミッタは、一様でないテクスチャを物体上に投影するのに用いられ得る。複数の実施形態において、深度マップは、複数の画素間の差異を分析し、非対称に配置された複数のセンサによる所望の分解能に従って画素をキャプチャすることで生成される。
【0022】
CPU102は、バス106を介して入力/出力(I/O)デバイスインタフェース118に接続され得て、このインタフェースは、コンピューティングデバイス100を1又は複数のI/Oデバイス120に接続するよう構成される。I/Oデバイス120は、例えば、キーボード及びポインティングデバイスを含み得て、ポインティングデバイスは、とりわけタッチパッド又はタッチスクリーンを含み得る。I/Oデバイス120は、コンピューティングデバイス100の内蔵構成要素であっても、コンピューティングデバイス100に外付けで接続されるデバイスであってもよい。
【0023】
CPU102は、バス106を介してディスプレイインタフェース122にもリンクされ得て、このインタフェースは、コンピューティングデバイス100をディスプレイデバイス124に接続するよう構成される。ディスプレイデバイス124は、コンピューティングデバイス100の内蔵構成要素であるディスプレイスクリーンを含み得る。ディスプレイデバイス124は、とりわけコンピュータモニタ、テレビ、又はプロジェクタも含み得て、これは、コンピューティングデバイス100に外付けで接続される。
【0024】
コンピューティングデバイスは、ストレージデバイス126も含む。ストレージデバイス126は、ハードドライブ、光学式ドライブ、サムドライブ、ドライブアレイ、又はそれらの任意の組み合わせなどの物理メモリである。ストレージデバイス126は、リモートストレージドライブも含み得る。ストレージデバイス126は、アプリケーション128も含み得る。アプリケーション128は、ジェスチャ認識など、人とコンピュータの対話型アプリケーションであり得る。従来のRGB画像は、画像を十分に分析してジェスチャ、姿勢、又は顔の表情を認識するのに十分なデータを提供しないので、人とコンピュータの対話型アプリケーションは、物体の深度画像から利益を享受する。コンピューティングデバイス100は、センサハブエンジン130も含み得る。いくつかの場合において、センサハブエンジンは、コンピューティングデバイス100内でセンサハブ114のセンサの機能を可能にするソフトウェアを含む。センサハブエンジン130は、センサハブ114と同様の複数のセンサも含み得る。
【0025】
コンピューティングデバイス100は、ネットワークインタフェースコントローラ(NIC)132も含み得て、これは、コンピューティングデバイス100をネットワーク134にバス106を介して接続するよう構成され得る。ネットワーク134は、とりわけ、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、又はインターネットであってよい。
【0026】
図1のブロック図は、コンピューティングデバイス100が
図1に示される構成要素の全てを含むことを示すよう意図されるものではない。さらに、コンピューティングデバイス100は、特定の実装の詳細に応じて、
図1に示されない任意の数の追加の構成要素を含み得る。
【0027】
上で述べられたように、立体画像生成に用いられる複数の構成要素は非対称に配置される。複数の構成要素は、複数のセンサ及び複数のエミッタを含み得る。そのような配置を通じて、パッシブ型及びアクティブ型ステレオ深度カメラシステムの両方における、光学距離についてのいかなる相反する影響も克服され得る。
【0028】
光学距離は、ベースライン距離としても知られ得る。いくつかの場合において、光学距離は、2つのセンサ間の距離である。光学距離は、センサとエミッタとの間の距離でもあり得る。光学距離は、アクティブ型ステレオシステム及びパッシブ型ステレオシステムの両方のステレオシステムの性能に対して、相反する様々な影響を有する。第1に、光学距離が増すにつれて、2つのセンサからの画像間のマッチングが、オクルージョンのためにより難しくなる。
【0029】
また、様々な深度を持つ物体は、両方のセンサによって異なるように見られ、マッチング領域はあったとしても少ししか残っていないので、マッチングはより困難になる。マッチングは、ステレオ対応としても知られ得て、異なる複数の視点から撮られた同一シーンの2又はそれより多くの画像を用いて実行され得る。点のセットが1つの画像に見られ、これらは別の画像にも見られる、又は特定される。いくつかの場合において、マッチングは、各画像内の特徴を用いて行われる。従って、マッチング又はステレオ対応では、1つの画像に見られる特徴は、別の画像にも見られる、又は特定される。いくつかの場合において、複数の画像は、異なる複数の位置で単一のセンサを用いて取得される。複数の画像は、異なる時点で単一のセンサを用いて取得されてもよい。さらに、複数のセンサが、マッチングのために複数の画像を取得するのに用いられ得る。また、シーン内の物体は、概して1又は複数センサに対して運動中であり得る。
【0030】
第2の相反する影響は、正確な画素分解能視差を仮定すれば、深度測定はより正確であるということである。 画像は各センサからサンプリングされるので、視差は画素精度までしか測定され得ない。従って、視差測定では半画素誤差という仮定が存在する。視差が深度に変換される場合、この誤差は光学距離が増すにつれて低下する。
【0031】
例えば、一対のピンホール及び完全に整合した複数の画像センサを検討してみる。各センサの焦点距離は1画素であり、両方のセンサの画素サイズは1画素であると仮定する。さらに、左センサの光学中心は、絶対座標系の原点にある。
O
l={0、0、0}
【0032】
右カメラの光学中心は、
O
r={d、0、0}
である。
【0033】
点{x、y、z}を検討してみる。左センサで観察されると、この点は次の通りにマッピングされる。
{x
l、y
l}={x/z、y/z}
【0034】
右センサで観察されると、この点は次の通りにマッピングされる。
{x
r、y
r}={x−d/z、y/z}
【0035】
左右のセンサに両方の点のX座標を与えると、深度値(Z)が求められ得る。具体的には、深度は次式になる。
z=d/(d/z)=d/(d/(x
l−x
r))
【0036】
観察されたサンプリング済みの画素値はx
l及びx
lであり、正確な深度値ではないことに留意されたい。両方の画素、並びにx
l及びx
lの位置における組み合わせ誤差εが、計算値に誤差Eをもたらす。
Z+E=d/(d/(x
l−x
r+ε))
【0037】
Eのdへの依存性を計算するために、差分を取ると次式になる。
E(d)=d/(x
l−x
r)−d/(x
l−x
r+ε)=d/(d/z)−d/((d/z)+ε)=εZ
2/(d+εZ)
【0038】
従って、Zの精度は光学距離に対して逆線形に増加する。しかしながら、光学距離を増加させると、マッチング処理が劣化し、これにより誤差の可能性が増加する。
【0039】
物体が傾斜面であると仮定する。物体は、{x
0+t、y
0、z
0+at}の座標に置かれ、サイズk×kのウィンドウがマッチングに用いられる。マッチングが成功するには、左右のカメラの両ウィンドウは類似するように見えるべきである。両ウィンドウは、副画素サンプリング及びノイズに起因して、厳密に同様になることはない。これは、物体の深度傾斜であるaが増加すると、左右のウィンドウ間の相違が増加し、マッチング処理が劣化するからである。ウィンドウの左境界をp、つまりp={x
0、y
0、z
0}、ウィンドウの右境界をq、つまり、q={x
0+k、y
0、z
0+ak}とする。
【0040】
左(l)及び右(r)の両方のカメラにおいて、これらの点の座標は次の通りである。
p
l={x
0/z
0、y
0/z
0}、q
l={(x
0+k)/(z
0+ak)、y
0/(z
0+ak)}
p
r={(x
0+d)/z
0、y
0/z
0}、q
r={(x
0+k+d)/(z
0+ak)、y
0/(z
0+ak)}
【0041】
2つの点、p及びqの間の視差は次の通りである。
p
l−p
r=(x
0/z
0)−(x
0+d)/z
0=d/z
0
q
l−q
r=((x
0+k)/(z
0+ak))−((x
0+k+d)/(z
0+ak))=d/(z
0+ak)
【0042】
aが1(45度の傾斜面)、kが5(小ウィンドウ)であると仮定する。画素サイズが0.0001cm、1mにおいて1mmの画素スケール、dが1cmであり、1メートルの距離において、右ウィンドウは左ウィンドウと比較して(d×(0.5/10000))/0.0001、0.5画素だけ歪められることが分かる。光学距離が増加すると、この歪が増大してマッチング精度が劣化する。これにより、光学中心が増すにつれて、傾斜物体の相対変形が増加することになる。しかしながら、立体画像生成に用いられる複数の構成要素を非対称に配置することで、傾斜物体を矯正することなく、光学中心が増すにつれて正確な深度が取得される。
【0043】
図2は、エミッタ及びセンサの配置200の例である。配置200では、エミッタ202と右センサ206との間の距離と比較すると、エミッタ202は左センサ204により近く配置される。
図2において、エミッタ202、左センサ204、及び右センサ206は、様々な物体及び特徴を含み得るエリア208から情報をキャプチャするのに用いられる。左センサ204及びエミッタ202は、深度マップを生成するのに用いられ得て、この深度マップは、低密度且つ低精度であってよい。概して、深度マップは、特定の視点からの画像内の物体の表面の距離を伝達する情報を含む画像である。しかしながら、単一のセンサは、画像内の各点ごとに単一のデータ値を提供する。単一のデータ値は、完全な深度マップを得るのに十分な情報を提供し得ない。エミッタ202及び左センサにより提供された深度マップは低密度とみなされる。というのは、画像の縁又は画像内の突出物体など、画像の特定の特徴において正確だからである。いくつかの場合では、低密度深度マップは、2つのセンサ間でステレオ対応を行うことで求められる。
【0044】
左センサ204及びエミッタ202により提供された深度マップは低密度深度マップであるため、深度情報を用いる用途に必要な精度を提供しない。従って、低密度深度マップは、最終的な深度マップの初期近似として用いられる。左センサ204をエミッタ202の近くに配置することで、左センサ204はエミッタまで短光学距離を有し、高精度マッチングを可能にする。エミッタ202及びセンサの対は、左センサによりキャプチャされた画像を、所与の距離でエミッタにより投影された既知のパターンにマッチングさせるのに用いられ得る。この技術は、低密度深度マップをキャプチャするのに用いられ、上述されたように、構造化光の手法に類似している。
【0045】
右センサも画像を取得するのに用いられる。右センサからの画像は、左センサ204及びエミッタ202から取得された低密度深度マップを改良するのに用いられる。いくつかの場合において、左右のセンサデータ間のマッチングが、深度マップを改良すべく実行される。さらに、いくつかの場合において、右センサと既知のパターンとの間の構造化光が、深度マップを改良するのに用いられる。改良後に取得された深度マップは、長い光学距離に起因して高精度である。長い光学距離でのマッチング処理は、マッチングが第1フェーズにおいて見られる視差の近くの画素に対して実行されるような改良だけである。
【0046】
図3は、エミッタ及びセンサの配置300の例である。左センサ302が右センサ304の近くにある。エミッタ306は、左センサ302及び右センサ304の両方から一番右寄りにある。
図3において、エミッタ306、左センサ302、及び右センサ304は、様々な物体及び特徴を含み得るエリア308から情報をキャプチャするのに用いられる。互いに近い左センサ302及び右センサ304を有することで、低精度だが高密度の深度マップが提供される。構造化光を介した、右センサ304と遠くにあるエミッタ306との間のマッチングにより、いくつかの画素に対して深度マップを改良したものが提供される。いくつかの場合において、エミッタにより投影された画像の分解能がセンサの分解能より低いので、測定値は全ての画素に対して改良されない。複数の実施形態において、センサとエミッタとの間のコード化された構造化光対応が、深度マップを求めるのに用いられ得る。
【0047】
「低分解能高精度」の深度マップ及び「低精度高密度」の初期マップの補間が適用されて、「高分解能且つ高密度」の深度マップを提供し得る。いくつかの場合において、この補間はスマート補間とみなされ得る。複数の実施形態において、低分解能高精度深度マップは、
図2で説明されるように取得され得る。複数の実施形態において、「低精度高密度」の深度マップは
図3で説明されるように取得され得る。さらに、複数の実施形態において、2つの異なるパターンがエミッタにより放出される。第1パターンは、アクティブ型ステレオ用途に適した低デューティサイクルを有し得る。第2パターンは、構造化光又はコード化された光技術とともに副画素改良に用いられる高周波数パターンであり得る。第2パターンは、アクティブ型ステレオからの初期結果に基づいて改良するためだけに用いられるので、マルチパターン又は動きの問題はない。いくつかの場合において、2つのエミッタが、複数のパターンを放出するのに用いられる。第1エミッタが、比較的短距離にある物体に対して構造化光技術に用いられ得て、第2エミッタが、比較的長距離にある物体に対して構造化光技術に用いられ得る。
【0048】
図4は、構造化ステレオ用の方法400の処理フロー図である。ブロック402において、低精度の低密度深度マップが取得される。いくつかの場合において、低密度深度マップは、エミッタを2つのセンサとともに用いて生成され得る。エミッタは、光学距離を変更すべく第1センサのより近くに配置される。このように、光学距離の相反する影響は、結果として得られる深度マップに影響を与えない。いくつかの場合において、高精度深度マップは、
図2で説明されたように低密度深度マップである。ブロック404において、初期近似として低精度の低密度深度マップを用いる高精度深度マップが生成される。いくつかの場合において、高精度深度マップは、センサとエミッタとの間で構造化光技術を用いて、低精度の低密度深度マップを改良することで生成される。
【0049】
さらに、高精度深度マップは、少なくとも2つのセンサ間のマッチング技術、及びセンサとエミッタとの間の構造化光技術を用いて生成され得る。エミッタは低デューティサイクルの第1パターンを投影し、エミッタは、高密度低精度深度マップの副画素改良のために第2パターンを投影する。
【0050】
ブロック406において、高密度低精度深度マップが取得される。複数の実施形態において、互いに近くに近接して配置される2つのセンサが、高密度深度マップを生成するのに用いられ得る。いくつかの場合において、高密度深度マップは、
図3で説明されたように生成される。2つのセンサからの深度マップは、構造化光技術を用いて改良され得る。ブロック408において、高密度高分解能深度マップは、高精度深度マップ及び高密度低精度深度マップを用いて計算される。いくつかの場合において、高精度深度マップ及び高密度深度マップは、高分解能且つ高密度の深度マップを計算すべく補間される。さらに、高密度高分解能深度マップは、アクティブ型ステレオ技術を用いる高精度深度マップ、及び構造化光技術を用いる高密度低精度深度マップを取得することで計算され得る。結果として、本技術は、ハイブリッド方式のアクティブ型ステレオ及び構造化光の解決手法とみなされ得る。
【0051】
図5は、構造化ステレオ用のコードを格納する有形の非一時的コンピュータ可読媒体500を示すブロック図である。有形の非一時的コンピュータ可読媒体500は、コンピュータバス504を通じてプロセッサ502によりアクセスされ得る。さらに、有形の非一時的コンピュータ可読媒体500は、本明細書で説明される方法を実行するようプロセッサ502に指示するよう構成されたコードを含み得る。
【0052】
本明細書で論じられる様々なソフトウェア構成要素は、
図5に示されるように、1又は複数の有形の非一時的コンピュータ可読媒体500に格納され得る。例えば、低密度マッピングモジュール506は、非対称に配置されたセンサで低密度深度マップを生成するよう構成され得る。低密度マッピングモジュール506により生成された深度マップも、高精度深度マップであり得る。ブロック508において、高密度マッピングモジュールは、非対称に配置されたセンサで高密度深度マップを生成するよう構成され得る。そのような状況において、
図3に示されるように、エミッタが、2つのセンサから距離を置いて配置され得る。高密度マッピングモジュール508により生成された深度マップも、低分解能深度マップであり得る。ブロック510において、補間モジュールが、低密度マッピングモジュール506及び高密度マッピングモジュール508からの深度マップを補間し、高精度且つ高密度な深度マップを取得する。
【0053】
図5のブロック図は、有形の非一時的コンピュータ可読媒体500が、
図5に示される構成要素の全てを含むことを示すよう意図されていない。さらに、有形非一時的コンピュータ可読媒体500は、特定の実装の詳細に応じて、
図5に示されていない任意の数の追加の構成要素を含み得る。
【0054】
複数の実施形態において、本技術は2つの深度推定技術を組み合わせる。アクティブ型ステレオ技術を用いることで、深度マップは環境条件に対してよりロバストになり、より高い出力分解能を有する。構造化光技術を用いることでも、正確とみなされる深度マップが取得される。アクティブ型ステレオは、カメラ又はセンサなどの複数の画像キャプチャ機構及びエミッタを用い得る。第1サブシステムは、少なくともエミッタ及び画像キャプチャ機構を含み、高精度マッチングを可能にすべく複数の構成要素間が短光学距離になるように配置された複数の構成要素を有する。第2サブシステムは、少なくともエミッタ及び画像キャプチャ機構を含み、高精度深度(Z)計算を可能にすべく長光学距離になるように配置された複数の構成要素を有する。いくつかの場合において、エミッタの周りに複数の画像キャプチャ機構を非対称に配置することで、光学距離に差異が生じる。さらに、エミッタ及び画像キャプチャ機構の対が、現在キャプチャされた画像を所与の距離で投影された既知のパターンとマッチングさせるのに用いられ得る。
【0056】
構造化ステレオ用の装置は本明細書で説明される。装置は、エミッタ及び複数のセンサを含む。複数のセンサは、エミッタに対して非対称に配置される。
【0057】
エミッタ及び複数のセンサは、低密度深度マップを生成するのに用いられ得るデータを取得し得て、低密度深度マップは正確な深度マップを取得するようさらに改良され得る。エミッタ及び複数のセンサは、低密度深度マップを生成するのに用いられ得るデータも取得し得て。低密度深度マップは、複数のセンサのうちの1つのセンサとエミッタとの間の短い光学距離の結果であり得る。さらに、エミッタ及び複数のセンサは、低密度深度マップを生成するのに用いられ得るデータを取得し得て、低密度深度マップは、正確な深度マップを取得すべくさらに改良され得る。この改良は、複数のセンサのうちの1つのセンサとエミッタとの間の長い光学距離の結果として取得され得る。また、エミッタ及び複数のセンサは、低精度の高密度深度マップを生成するのに用いられ得るデータを取得し得る。エミッタ及び複数のセンサは、低精度の高密度深度マップを生成するのに用いられ得るデータを取得し得て、高密度深度マップは、複数のセンサのうちの1つのセンサとエミッタとの間の長い光学距離の結果であり得る。エミッタ及び複数のセンサは、低精度の高密度深度マップを生成するのに用いられ得るデータを取得し得て、高密度深度マップは、複数のセンサのうちの1つのセンサとエミッタとの間のより短い光学距離の結果からのデータを用いて改良され得る。さらに、エミッタ及び複数のセンサは、構造化光技術と組み合わされたアクティブ型ステレオ技術に用いられて、高分解能の高密度深度マップを取得し得る。エミッタと複数のセンサとの間の光学距離は、生成される深度マップの種類に応じて調節され得る。装置は第2エミッタを含み得る。
【0059】
構造化ステレオ用のシステムが本明細書で説明される。システムは、エミッタ、複数のセンサ、メモリ、及びプロセッサを含む。エミッタ及び複数のセンサは、システムにおいてエミッタに対して非対称に配置される。命令を格納するメモリは、エミッタ及び複数のセンサに通信可能に結合される。プロセッサは、メモリに通信可能に結合される。プロセッサが命令を実行する場合、プロセッサは高精度深度マップを生成し、且つ高密度深度マップを生成する。プロセッサは、高精度深度マップ及び高密度深度マップを用いて、高分解能且つ高密度の深度マップも計算する。
【0060】
エミッタは、複数のセンサのうちの少なくとも2つのセンサの間にあってよく、エミッタと第1センサとの間の距離は、エミッタと第2センサとの間の距離より短くてよい。複数のセンサのうちの第1センサと第2センサとの間の距離は、第1センサとエミッタとの間の距離、及び第2センサとエミッタとの間の距離より短くてよく、これにより、第1センサ及び第2センサは互いに近く、且つ第1センサ及び第2センサはエミッタから遠い。さらに、プロセッサは、低精度の低密度深度マップを取得し、高精度深度マップを取得すべく複数のセンサの間をマッチングすることで低精度の低密度深度マップを改良することによって高精度深度マップを生成し得る。さらに、プロセッサは、低精度の低密度深度マップを取得し、複数のセンサの間をマッチングすることで低精度の低密度深度マップを改良することによって高精度深度マップを生成し得る。センサからのマッチングされる画像は、センサとエミッタからのパターンとの間で構造化光を用いて取得され得る。このマッチングは、低精度の低密度深度マップを取得するときに見られる視差の近くの画素に対して実行され得る。また、プロセッサは、複数のセンサのうちの第1センサ及び第2センサからのデータで高密度深度マップを生成し得る。第1センサと第2センサとの間の距離は、第1センサとエミッタとの間の距離、及び第2センサとエミッタとの間の距離より短くてよく、これにより、第1センサ及び第2センサは互いに近く、且つ第1センサ及び第2センサはエミッタから遠い。
【0061】
さらに、プロセッサは、複数のセンサのうちの第1センサ及び第2センサからのデータで高密度深度マップを生成し、第1センサ又は第2センサとエミッタとの間をマッチングすることで高密度深度マップを改良し得る。第1センサと第2センサとの間の距離は、第1センサとエミッタとの間の距離、及び第2センサとエミッタとの間の距離より短くてよく、これにより、第1センサ及び第2センサは互いに近く、且つ第1センサ及び第2センサはエミッタから遠い。エミッタは、アクティブ型ステレオ用の低デューティサイクルの第1パターン、及び構造化光で改良するための高周波数の第2パターンを投影し得る。第2エミッタ。エミッタはアクティブ型ステレオ用の低デューティサイクルの第1パターンを投影し得て、第2エミッタは構造化光で改良するための高周波数の第2パターンを投影し得る。複数のセンサは画像センサであってよい。さらに、システムはカメラの構成要素であってよい。
【0063】
ハイブリッド方式のアクティブ型ステレオ及び構造化光のための方法が本明細書で説明される。方法は、低精度の低密度深度マップを取得する段階と、初期近似として低精度の低密度深度マップを用いて高精度深度マップを生成する段階とを含む。方法は、高密度低精度深度マップを取得する段階と、高精度深度マップ及び高密度低精度深度マップを用いて高密度高分解能深度マップを計算する段階も含む。
【0064】
低精度の低密度深度マップは、センサ及びエミッタからのデータを用いて取得され得る。高精度深度マップは、センサとエミッタとの間で構造化光技術を用いて低精度の低密度深度マップを改良することで生成され得る。さらに、高精度深度マップは、少なくとも2つのセンサの間でマッチング技術を用い、且つセンサとエミッタとの間で構造化光技術を用いて生成され得る。高密度低精度深度マップは、少なくとも2つのセンサを用いて取得され得る。さらに、高密度低精度深度マップは、少なくとも2つのセンサを用い、エミッタを用いて少なくとも2つのセンサからのデータを改良して取得され得る。さらに、高精度深度マップは、少なくとも2つのセンサの間でマッチング技術を用い、且つセンサとエミッタとの間で構造化光技術を用いて生成され得る。エミッタは低デューティサイクルの第1パターンを投影し、エミッタは高密度低精度深度マップの副画素改良用の第2パターンを投影する。方法は、低精度の低密度深度マップ及び高密度低精度深度マップを取得するのに用いられるエミッタ及びセンサの非対称配置も含む。高密度高分解能深度マップは、アクティブ型ステレオ技術を用いて高精度深度マップを、及び構造化光技術を用いて高密度低精度深度マップを取得することで計算され得る。さらに、高密度高分解能深度マップは、人とコンピュータの対話型アプリケーションで計算され得る。
【0066】
コードを含む有形の非一時的コンピュータ可読媒体が本明細書で説明される。コードは、高精度深度マップを生成し、高密度深度マップを生成するようプロセッサに指示する。コードは、高精度深度マップ及び高密度深度マップを用いて、高分解能且つ高密度の深度マップも計算するようプロセッサに指示する。
【0067】
高精度深度マップは、センサ及びエミッタからのデータを用いて低精度の低密度深度マップを取得し、低密度深度マップを改良することで生成され得る。さらに、高精度深度マップは、センサとエミッタとの間で構造化光技術を用いて低密度深度マップを改良することで生成され得る。高精度深度マップは、少なくとも2つのセンサの間でマッチング技術を用い、且つセンサとエミッタとの間で構造化光技術を用いて生成され得る。高密度深度マップは、少なくとも2つのセンサを用いて生成され得る。さらに、高密度深度マップは、少なくとも2つのセンサを用い、エミッタを用いて少なくとも2つのセンサからのデータを改良して生成され得る。また、高精度深度マップは、少なくとも2つのセンサの間でマッチング技術を用い、且つセンサとエミッタとの間で構造化光技術を用いて生成され得る。エミッタは低デューティサイクルの第1パターンを投影し、エミッタは高密度深度マップの副画素改良用の第2パターンを投影する。エミッタ及びセンサの非対称配置がデータを取得するのに用いられ、高精度深度マップ及び高密度深度マップを生成し得る。高分解能且つ高密度の深度マップは、アクティブ型ステレオ技術を用いて高精度深度マップを、及び構造化光技術を用いて高密度深度マップを取得することで計算され得る。さらに、高分解能且つ高密度の深度マップは、人とコンピュータの対話型アプリケーションで計算され得る。
【0069】
構造化ステレオ用の装置は、エミッタと、深度データを取得するための手段とを含む。深度データを取得するための手段は、エミッタに対して非対称に配置される。
【0070】
エミッタと、深度データを取得するための手段とは、低密度深度マップを生成するのに用いられ得るデータを取得し得て、低密度深度マップは、正確な深度マップを取得すべくさらに改良され得る。エミッタと、深度データを取得するための手段とは、低密度深度マップを生成するのに用いられ得るデータを取得し得て、低密度深度マップは、エミッタと、深度データを取得するための手段との間の短い光学距離の結果である。エミッタと、深度データを取得するための手段とは、低密度深度マップを生成するのに用いられ得るデータを取得し得て、低密度深度マップは、正確な深度マップを取得すべくさらに改良され得る。この改良は、エミッタと、深度データを取得するための手段との間の長い光学距離の結果として取得され得る。さらに、エミッタと、深度データを取得するための手段とは、低精度の高密度深度マップを生成するのに用いられるデータを取得し得る。エミッタと、深度データを取得するための手段とは、低精度の高密度深度マップを生成するのに用いられるデータを取得し得て、高密度深度マップは、エミッタと、深度データを取得するための手段との間の長い光学距離の結果である。さらに、エミッタと、深度データを取得するための手段とは、低精度の高密度深度マップを生成するのに用いられるデータを取得し得て、高密度深度マップは、エミッタと、深度データを取得するための手段との間のより短い光学距離の結果からのデータを用いて改良され得る。エミッタと、深度データを取得するための手段とは、構造化光技術と組み合わされたアクティブ型ステレオ技術に用いられて、高分解能の高密度深度マップを取得し得る。エミッタと、深度データを取得するための手段との間の光学距離は、生成される深度マップの種類に応じて調節され得る。装置は、第2エミッタも含み得る。
【0071】
前述の例における細目は1又は複数の実施形態のどこでも用いられ得ることが理解されるべきである。例えば、上述されたコンピューティングデバイスの任意選択的な全ての機能も、本明細書で説明される複数の方法、又はコンピュータ可読媒体のいずれかに対して実装され得る。
【0072】
さらに、複数のフロー図及び/又は複数の状態図が、複数の実施形態を説明するために本明細書で用いられているが、本技術は、これらの図面又は対応する本明細書の説明に限定されない。例えば、フローは、それぞれの示されたボックス又は状態を通じて、あるいは本明細書で示され且つ説明されたのとまったく同一の順序で動く必要はない。
【0073】
本技術は、本明細書に列挙された特定の詳細に限定されない。実際、本開示の利益を享受する当業者は、上記の説明及び複数の図面からの多くの他の変形例が、本技術の範囲内で成され得ることを理解するであろう。従って、以下の特許請求の範囲が、それに対する任意の修正を含めて、本技術の範囲を画定する
。
[項目1]
構造化ステレオ用の装置であって、
エミッタと、
複数のセンサと、
を備え、
上記複数のセンサは、上記エミッタに対して非対称に配置される、
装置。
[項目2]
上記エミッタ及び上記複数のセンサは、低密度深度マップを生成するのに用いられるデータを取得し、上記低密度深度マップは、正確な深度マップを取得するようさらに改良される、
項目1に記載の装置。
[項目3]
上記エミッタ及び上記複数のセンサは、低密度深度マップを生成するのに用いられるデータを取得し、上記低密度深度マップは、上記エミッタと、上記複数のセンサのうちの1つのセンサとの間の短い光学距離の結果である、
項目1に記載の装置。
[項目4]
上記エミッタ及び上記複数のセンサは、低密度深度マップを生成するのに用いられるデータを取得し、上記低密度深度マップは正確な深度マップを取得するようさらに改良され、
上記改良は、上記エミッタと、上記複数のセンサの内の1つのセンサとの間の長い光学距離の結果として取得される、
項目1に記載の装置。
[項目5]
上記エミッタ及び上記複数のセンサは、高密度深度マップを低精度で生成するのに用いられるデータを取得する、
項目1に記載の装置。
[項目6]
構造化ステレオ用のシステムであって、
エミッタと、
複数のセンサであって、上記エミッタ及び上記複数のセンサは、上記システムにおいて、上記エミッタに対して非対称に配置される、複数のセンサと、
複数の命令を格納し、且つ上記エミッタ及び上記複数のセンサに通信可能に結合されるメモリと、
上記メモリに通信可能に結合されるプロセッサであって、上記プロセッサが上記複数の命令を実行する場合、上記プロセッサは、
高精度深度マップを生成し、
高密度深度マップを生成し、
上記高精度深度マップ及び上記高密度深度マップを用いて高分解能な高密度深度マップを計算する
プロセッサと、
を備える、
システム。
[項目7]
上記エミッタは、上記複数のセンサのうちの少なくとも2つのセンサの間にあり、上記エミッタと第1センサとの間の距離は、上記エミッタと第2センサとの間の距離より短い、
項目6に記載のシステム。
[項目8]
上記複数のセンサのうちの第1センサと第2センサとの間の距離は、上記第1センサと上記エミッタとの間の距離、及び上記第2センサと上記エミッタとの間の距離より短く、これにより、上記第1センサ及び上記第2センサは互いに近くにあり、上記第1センサ及び上記第2センサは上記エミッタから遠くにある、
項目6に記載のシステム。
[項目9]
上記プロセッサは、低精度の低密度深度マップを取得し、上記複数のセンサの間のマッチングにより、低精度の上記低密度深度マップを改良して上記高精度深度マップを取得することで、上記高精度深度マップを生成する、
項目6に記載のシステム。
[項目10]
上記プロセッサは、低精度の低密度深度マップを取得し、上記複数のセンサの間のマッチングにより、低精度の上記低密度深度マップを改良することで上記高精度深度マップを生成し、マッチングされるセンサからの画像が、上記センサと上記エミッタからのパターンとの間で構造化光を用いて取得される、
項目6に記載のシステム。
[項目11]
ハイブリッド方式のアクティブ型ステレオ及び構造化光のための方法であって、
低精度の低密度深度マップを取得する段階と、
初期近似として、低精度の上記低密度深度マップを用いて高精度深度マップを生成する段階と、
高密度低精度深度マップを取得する段階と、
上記高精度深度マップ及び上記高密度低精度深度マップを用いて、高密度高分解能深度マップを計算する段階と、
を備える、
方法。
[項目12]
センサ及びエミッタからのデータ用いて、低精度の上記低密度深度マップを取得する段階を備える、
項目11に記載の方法。
[項目13]
センサとエミッタとの間で構造化光技術を用いて、低精度の上記低密度深度マップを改良することで、上記高精度深度マップを生成する段階を備える、
項目11に記載の方法。
[項目14]
少なくとも2つのセンサの間でマッチング技術、及びセンサとエミッタとの間で構造化光技術を用いて、上記高精度深度マップを生成する段階を備える、
項目11に記載の方法。
[項目15]
少なくとも2つのセンサを用いて、上記高密度低精度深度マップを取得する段階を備える、
項目11に記載の方法。
[項目16]
有形の非一時的コンピュータ可読媒体であって、
高精度深度マップを生成し、
高密度深度マップを生成し、
上記高精度深度マップ及び上記高密度深度マップを用いて、高分解能な高密度深度マップを計算するよう、プロセッサに指示するコードを備える、
コンピュータ可読媒体。
[項目17]
センサ及びエミッタからのデータを用いて低精度の低密度深度マップを取得し、上記低密度深度マップを改良することで上記高精度深度マップを生成する手順を含む、
項目16に記載のコンピュータ可読媒体。
[項目18]
センサとエミッタとの間で構造化光技術を用いて低密度深度マップを改良することで、上記高精度深度マップを生成する手順を含む、
項目16に記載のコンピュータ可読媒体。
[項目19]
少なくとも2つのセンサの間でマッチング技術、及びセンサとエミッタとの間で構造化光技術を用いて、上記高精度深度マップを生成する手順を含む、
項目16に記載のコンピュータ可読媒体。
[項目20]
少なくとも2つのセンサを用いて上記高密度深度マップを生成する手順を含む、
項目16に記載のコンピュータ可読媒体。
[項目21]
構造化ステレオ用の装置であって、
エミッタと、
深度データを取得する手段と、
を備え、
深度データを取得する上記手段は、上記エミッタに対して非対称に配置される、
装置。
[項目22]
上記エミッタ、及び深度データを取得する上記手段は、低密度深度マップを生成するのに用いられるデータを取得し、上記低密度深度マップは、正確な深度マップを取得するようさらに改良される、
項目21に記載の装置。
[項目23]
上記エミッタ、及び深度データを取得する上記手段は、低密度深度マップを生成するのに用いられるデータを取得し、上記低密度深度マップは、上記エミッタと、深度データを取得する上記手段との間の短い光学距離の結果である、
項目21に記載の装置。
[項目24]
上記エミッタ、及び深度データを取得する上記手段は、低密度深度マップを生成するのに用いられるデータを取得し、上記低密度深度マップは、正確な深度マップを取得するようさらに改良され、上記改良は、上記エミッタと、深度データを取得する上記手段との間の長い光学距離の結果として取得される、
項目21に記載の装置。
[項目25]
上記エミッタ、及び深度データを取得する上記手段は、高密度深度マップを低精度で生成するのに用いられるデータを取得する、
項目21に記載の装置。