本発明は、プレノプティックカメラまたは他の任意のライトフィールド取得装置、プレノプティック機能サンプリング装置または統合画像取得装置によって取り込まれたライトフィールド画像を処理することによって深度マップを取得するコンピュータにより実行される方法および装置に関する。他のカメラは、マルチビューシステムを形成する、1つ以上の従来のカメラまたは追加のプレノプティックカメラなどのプレノプティックカメラと組み合わせて使用されてもよい。
プレノプティックカメラは、エピポーラ画像を分析することによってシーンの深さを推定するために使用することができる。プレノプティックカメラにおけるエピポーラ画像において生成されるエピポーラ線の勾配と、シーン(対象ワールド)における対象の実際の深さとの間には、関係がある。したがって、エピポーラ画像の線の傾きを検出することによって、シーンの深度マップを生成することが可能である。この方法は、シーン内のエッジが見つかったセンサの部分に対してのみ計算を実行することができ、したがって、エッジが検出されなかった対象ワールドの領域における計算を回避することができるので、非常に計算効率がよい。このように、本方法は、バッテリによって動作される低コストのプロセッサを有する低コストのモバイルデバイスにおいてさえ、リアルタイムの深度マップを得るために使用することができ、効率的な計算が、バッテリの消耗を迅速に回避するために必要とされる。
本発明は、対象のエッジを識別し、識別されたエッジについてのみ深度を計算することによって、プレノプティックカメラ・カメラ、モバイルデバイス(携帯電話、タブレット、ラップトップ、コンパクトカメラなど)、動作感知入力デバイス、およびリアルタイムビデオ画像を(毎秒60フレーム以上で)処理する3Dカメラにおける3D画像を可能にする、極めて効率的なアルゴリズムを使用する。
エピポーラ画像に生成される線の傾きと、シーン内の対象の実際の深さとの間には関係がある。したがって、エピポーラ画像の線の傾きを検出することによって、シーンの深度マップを生成することが可能である。通常、エピポーラ画像の2次元勾配に基づく方法が、対応する勾配を得るために使用される。4次元勾配に基づく同様の方法(したがって、より計算費用がかかる)を使用することもできる。これらの全てのアプローチとは対照的に、本方法は、エッジについてのみシーンの深さを計算し、計算の必要性を大幅に低減する。
ライトフィールド写真は、暗示的に、3Dシーンの幾何学的形状および反射特性をライトフィールドに取り込む。ライトフィールドは、入射光線がそれらの空間位置(2D:lxおよびly)およびそれらの到来方向(2D:pxおよびpy)によって記述される4次元構造である。本発明では、4Dのライトフィールド(lx、ly、px、py)は、プレノプティックカメラの出力とみなされる。これらの装置は、シーンの深度マップを推定するための潜在的な用途のために、ますます普及してきている。(例えば、いわゆるベイヤーパターンまたは同様のものを使用することによって)センサによって色も捕捉される場合、ライトフィールドは、5D構造(lx、ly、px、py、c)となる。ここで、cは、捕捉された異なる色のチャンネルである。明確さと簡潔さのために、本発明では、ライトフィールドは、色情報のない4D構造であると仮定する。しかし、当業者は、開示された情報を、色情報を捕捉するセンサに拡張することは、重要ではなく、簡単なことであることを理解するであろう。可能な解決策は、深度推定の冗長性を増大させるために、本明細書で提示されるアルゴリズムを各色チャネルに別々に適用することであろう。
ライトフィールドからの深さ推定は、ライトフィールドのアプリケーション、特に3D撮像アプリケーションにおいてますます広がっている。しかし、シーンの3D再構成または深度マップを得るために、ライトフィールドに含まれるデータは、入力された4Dライトフィールド構造を2D画像に変換する追加の後処理を必要とし、2D画像では、プレノプティックカメラによって捕捉された各画素について、実際の対象ワールドにおける深度を計算することが可能である。基本的に、プレノプティック画像では、カメラから異なる距離にある対象は、プレノプティックカメラのセンサ上に異なる照明パターンを生成し、したがって、これらのパターンの適切な処理を実行して、対応する距離、すなわち、これらの対象が対象ワールドで存在する深さを取得することができる。プレノプティックカメラ・イメージング・システムの主な欠点は、空間解像度の損失と、カメラまでの距離が増加するにつれて、急激に、深度推定精度が低下するという事実にある。
シーン内の対象の深さを推定するための別の既知の方法は、ステレオ視によるものである。同じシーンの異なる視点間の画像点の変位を追跡することによって、基本的な三角測量を使用して、シーンの対象の距離を推定することが可能である。ステレオ視は、2つの異なる視点(互いに分離された2つの異なるカメラ)から記録された(または見られた)対象ワールドから対応する点を識別し、それらの変位を計算して、深度マップとしてシーンの幾何学的形状を再構成することを目的とする。
本発明の一実施形態によれば、本明細書に記載のシステムおよび処理方法は、少なくとも1つのライトフィールドプレノプティックカメラおよび1つまたは複数の追加のカメラ(従来のカメラおよびプレノプティックカメラの少なくとも何れか)を備える(ただし、これらに限定されない)マルチビューシステムとして実施される。本発明は、従来技術よりも高い精度で、より長い距離に対して、シーンの高品質の深度マップを生成する。本発明は、水平に整列した従来のカメラからの追加データを用いてプレノプティックカメラからのエピポーラ線を改善することを可能にする(水平エピポーラ線の改善);しかし、このことは本発明の一般性を制限せず、複数のカメラ(それらのうちの少なくとも1つがプレノプティックカメラである場合)を備え、それらの間のあらゆる配置を含み得る。
M×N個の並べられたカメラのうち、N’個のプレノプティック視点(または、等価的に、各マイクロレンズ下のN’個の画素)を有する1つのプレノプティックカメラと、(M×N-1)個の従来のカメラとを有する実施形態を考慮すると、本発明は、以下の主な利点を提供する。
本発明は、プレノプティック・エピポーラ画像に形成されたエピポーラ線が、対応する点を見つけるために使用されるので、各カメラによって記録された点の間のステレオペア対応を求める必要(非常に計算集約的)がなく、最新技術の方法論の計算効率を改善する。
本発明の方法は、計算量が要求されず、さらに、本発明は、現代の並列計算プラットフォームの利点を享受することができる並列化可能なタスクを使用する。
本発明は、その低いコンピューティング所要電力のために、バッテリによって動作される任意の種類のモバイルデバイスに使用することができる。これは、小型化されたカメラの進歩と相まって、新しい世代のモバイルデバイスに特に有用である。2つのカメラを備えることは一般的になりつつあり、マルチビューもすぐに一般的になるであろう。
本発明は、(M×N-1)個の従来のカメラによって捕捉された画像が追加のプレノプティックビューとして追加され、N’+(M×N-1}個の画像によって、画像が形成され、はるかに多くの冗長性およびノイズ耐性を提供する。本発明は、M×N個の従来のマルチビューカメラの従来のマルチビューシステムよりも(N’-1)個だけ多くの画像を有し、従来のプレノプティックカメラよりも{(M×N)-1}個だけ多くのプレノプティックを有し、これらの追加の画像(またはビュー)を有することにより、プレノプティックカメラよりもはるかに広いベースラインを有することが可能である。
ベースラインが小さく、プレノプティックカメラによって捕捉されるビューの数が多いため、閉塞の影響はほとんど無視できる。このように、対象ワールドにおける閉塞による深度推定において生じる不完全性および不連続性に関するステレオおよび従来のマルチビュー視覚システムの欠点が克服される。
開示された発明は、従来のカメラの解像度を維持しながら、プレノプティックカメラの解像度を改善するために、補間(または、同じワールドシーンの異なる解像度の2つの画像間の対応を確立するための任意の他の方法)を使用する。したがって、あらゆるプレノプティックビューの解像度が著しく増大する。
本発明は、プレノプティックカメラをベースとしたシステムの欠点であって、カメラからの遠い距離の深度推定において生じる不正確さに関する欠点を克服する。この改善は、いくつかの可能な異なるアプローチを使用することによって達成される。
・プレノプティックカメラからの深度マップと、(M×N-1)個の従来のカメラの2D画像とを組み合わせる。
・プレノプティックカメラのN’個のプレノプティックビューの各々と、(M×N-1)個の従来のカメラの2D画像とを、N’倍のマルチステレオ構成として組み合わせ、M×N個のカメラアレイの全てをマルチステレオとみなす。これは、従来の対応アルゴリズムを使用することを含んでもよい。
・(M×N-1)個の従来のカメラの2D画像で、プレノプティックカメラのエピポーラ画像を延長する。
開示された発明は、古典的なステレオアルゴリズムを適用することによって、(例えば、閉塞のために)画像の特に困難な領域における深度マップを改善する。第1の深度マップが、前述の組合せのいずれかによって作成されると仮定すると、少なくとも1つの実施形態では、この第1の深度マップの可能な改良は、古典的なステレオアルゴリズムを適用することによって実行してもよく、画像のこれらの困難な領域で取得された第1の深度マップの可能な曖昧さを解決することができる。
本発明は、ステレオペアまたはマルチビューのみを使用して達成することができる再フォーカシング性能を改善する。
上記の議論では、M×N個のカメラの列に1つのプレノプティックカメラしかないと仮定しているが、2つ以上のプレノプティックカメラを有する一般化は簡単である。後述するように、距離を計算するための測定値と画像形成プロセスに2つ以上のプレノプティックカメラ冗長性を有することにより、ノイズ耐性が改善され、さらに、従来のカメラの情報を使用する場合に計算効率が向上する。
本開示は、シーンの深度を推定するためのライトフィールド技術およびマルチビュービューシステムに関する。延長されたエピポーラ線の勾配を推定することによってシーンの深度マップを生成する画像処理手順も、本明細書で開示される。
一実施形態によれば、本発明は、マルチビュー画像システムを使用するリアルタイム深度推定のための装置及び方法に関する。システムは、少なくとも1つのライトフィールドプレノプティックカメラを備え、追加の従来のカメラを含むこともできる。このようなマルチビューシステムは、適切な画像処理手順を用いて、非常に高品質の解像度でシーンの深度マップを作成することができ、現在のプレノプティックカメラおよびマルチカメラシステムの欠点を克服する。本発明は、深度測定及び最大測定可能深度においてより良好な精度を達成し、同時に、深度マップにおいて捕捉され、表現された異なる深度間のより滑らかな遷移、並びに人間の目に対するより良好な知覚、及び、シーンが捕捉された後に画像をデジタル的に再焦点合わせし、芸術的効果を適用する性能を高めるといった付加的な利点も提供する。
本発明の方法は、計算要件に関して極めて効率的であり、その低い計算所要電力のために、バッテリによって動作される任意の種類のモバイル装置で使用することができる。本明細書で説明される方法は、いくつかのプロセッサおよびGPUの少なくとも何れかにおいて、ならびにバッテリで動作するモバイルデバイスのための特定の並列プロセッサにおいて、効率的に並列化することもできる。
本発明の説明のために、定義および頭字語を、以下に考察する。
マイクロレンズアレイ:アレイ状に配置された複数の小型レンズ(マイクロレンズ)。
規則的なマイクロレンズアレイ:製造の不完全性による不均一性を考慮に入れない、規則的に間隔を空けて規則的に構築(アレイの構造全体にわたる均一なピッチ、すべてのレンズについて同じ曲率半径、同じ焦点距離など)されるように設計されたマイクロレンズによって形成されたアレイ。
レンズレットまたはマイクロレンズ:マイクロレンズアレイを形成する各小レンズ。
プレノプティックカメラ:入射光線の空間位置だけでなく到来方向も捕捉する装置。
従来のカメラ:イメージセンサに入射する光線の空間位置のみを捕捉する装置。センサの各画素が、装置のアパーチャ全体から任意の方向に到来する全ての光を積分する。
ライトフィールド:プレノプティックカメラのマイクロレンズ(lx、ly)下の画素(px、py)によって捕捉された光の情報を含む4次元構造(px、py、lx、ly)。
プレノプティックビュー:ある値(px、py)を選択し、ライトフィールド構造のサブセットを撮影することによって形成される2次元画像。マイクロレンズ(lx、ly)ごとに、同じ(px、py)を選択する。
深度:シーンの対象ポイントの平面とカメラの主平面との間の距離であり、両方の平面は光軸に垂直である。
深度マップ:対象ワールドの計算された深度値dzが、追加の次元値として、2次元画像の全ての画素(dx、dy)に加算されて、(dx、dy、dz)を含む2次元画像。
視差マップ:2つの異なる視点から2つのカメラによって捕捉されたときの、対象ワールドにおける3D点の同じ組の画像位置の差。視差は、三角測量によって深度を決定するために使用することができる。
エピポーラ画像:ある値、(px、lx)(垂直エピポーラ画像)、または(py、ly)(水平エピポーラ画像)を選択することによって構成されるライトフィールド構造の2次元スライス。
エピポーラ線:対象・エッジとして検出されたエピポーラ画像内の繋がっている画素のセット。
有効なエピポーラ線:収差、位置ずれ、および製造公差のない理想的なカメラにおいて、対象ワールドのエッジによって生成されると予想される形状と適合する形状のエピポーラ線。
延長エピポーラ線:1つ以上の従来のカメラの1つ以上の画素(対象ワールドの同じ点に対応する)によって延長されたプレノプティックカメラのエピポーラ線の画素のセット。
ベースライン:マルチビューシステムでは、2つの連続するカメラ(プレノプティックカメラまたは従来のカメラまたは任意のカメラ)のアパーチャの中心間の距離。
スマートミニカメラ:照明の変化に合わせた自動的なフレームレートの調整、異なる距離での焦点合わせ、ズームインおよびズームアウトなど、所定の基準に従って取り込まれた画像を変換する能力などの付加的な特徴を有することができるモバイルデバイスのための小型寸法の小型カメラモジュール。一定の基準に従って、捕捉した画像を変形させる。
ステレオ対応(または単なる対応):画像の点を別の画像の点とマッチングさせ、異なる視点から見たときに対象ワールド内の同じ点を識別する技法。このプロセスは、1つの画像のどの部分が別の画像のどの部分に対応するかを明らかにし、ここで、差異は、異なる視点に起因する。
マイクロ画像:プレノプティックカメラの特定のマイクロレンズによってイメージセンサ上に生成された主アパーチャの画像。
FOV:視野。
本発明の一態様によれば、ライトフィールドから深度情報を取得する方法が提供される。この方法は、(プレノプティックカメラなどの)ライトフィールド取得装置によって取得されたライトフィールドから複数の画像(例えば、少なくとも1つの水平エピポーラ画像、少なくとも1つの垂直エピポーラ画像、またはそれらの組合せ)を生成するステップと、エピポーラ画像において、ライトフィールド取得装置によって取得されたシーン内の対象のエッジを検出するエッジ検出ステップと、各エピポーラ画像において、エッジのセットによって形成された有効エピポーラ線を検出するステップと、有効エピポーラ線の勾配を決定するステップと、を含む。
一実施形態では、前記エッジ検出ステップは、エピポーラ画像の各画素について第2の空間導関数を計算するステップと、第2の空間導関数のゼロ交差を検出するステップとを含む。有効なエピポーラ線の勾配を決定するステップは、検出されたエッジに適合する線を適用するステップを含んでもよい。
エピポーラ画像における有効なエピポーラ線の検出は、エピポーラ線を接続されたエッジのセットとして決定するステップと、前記エピポーラ線が有効であるか否かを決定するために前記エピポーラ線を分析するステップとを含んでもよい。前記エピポーラ線は、好ましくは、接続されたエッジ画素のセットとして決定される。一実施形態では、前記エピポーラ線が有効であるか否かを判定するためのエピポーラ線の分析は、少なくとも1つの基準に準拠しているかどうかをチェックすることを含む。一実施形態では、基準は、決定された閾値を超えるエピポーラ線を形成する画素数に関する(例えば、エピポーラ線を形成する画素数は、対応するエピポーラ画像の高さの画素数に少なくとも等しくなければならない)。別の基準は、エピポーラ画像内のエッジ画素の方向の一貫性に関するものでもよい。一実施形態では、上述の基準の組合せが使用される。あるいは、少なくとも1つの基準に準拠しているかどうかをチェックする代わりに、前記エピポーラ線が有効であるかどうかを決定するためのエピポーラ線の分析は、形態素解析、発見的方法、または機械学習アルゴリズムを含んでもよい。一実施形態では、前記エピポーラ線の分析は、エピポーラ画像の上部および下部の少なくとも何れかの画素の1つまたはいくつかの列を廃棄することを含んでもよい。
この方法は、対象のワールド内の位置に勾配を割り当てる勾配マップ生成することも含んでもよい。一実施形態では、勾配マップを生成するステップは、検出されたエッジのみに勾配値を割り当てるステップを含んでもよい。勾配マップを生成するステップは、また、検出されたエッジについて以前に取得された勾配を考慮に入れて、勾配値を勾配マップの位置に割り当てるために充填アルゴリズムを適用することを含んでもよい。この方法は、同じ位置について異なる有効エピポーラ線から得られた冗長勾配の組合せからシングル勾配マップを生成することを含んでもよい。一実施形態では、そのような位置の値の残りに対して高い分散を有する特定の位置に割り当てられた勾配は、廃棄される。
この方法は、対象ワールド内の位置に深度値を割り当てる深度マップを生成することをさらに含んでもよく、前記深度マップは、勾配から深度への変換を深度マップに適用することによって得られる。別の実施形態によれば、この方法は、有効なエピポーラ線の勾配に対応する深度値を取得するステップと、深度値を対象ワールド内の位置に割り当てる深度マップを生成するステップとを含む。
深度マップを生成するステップは、検出されたエッジのみに深度値を割り当てるステップを含んでもよい。深度マップを生成するステップは、検出されたエッジについて予め取得された深度値を考慮に入れて深度値を深度マップの位置に割り当てるために充填アルゴリズムを適用することを含んでもよい。この方法は、単一の深度マップを生成するために、同じ位置について異なるエピポーラ画像から得られた冗長な深度値の組み合わせから単一の深度マップを生成することを含んでもよい。一実施形態では、そのような位置の値の残りに対して高い分散を有する特定の位置に割り当てられた勾配は、廃棄される。
一実施形態では、この方法は、ゼロ交差で得られたサブ画素精度を使用することによって、傾斜マップおよび深度マップの少なくとも何れかの位置の数がマイクロレンズの数よりも多い、傾斜マップおよび深度マップの少なくとも何れかの生成を含む。
一実施形態では、有効なエピポーラ線1本当たり1つの勾配値のみが得られる。この方法は、また、エッジ検出段階の前にフィルタリングされたエピポーラ画像を得るためにエピポーラ画像にフィルタを適用するステップを含んでもよい。一実施形態では、前記ライトフィールド取得装置は、プレノプティックカメラである。
有効なエピポーラ線の検出は、ライトフィールド取得装置からのエピポーラ画像のエピポーラ線を、少なくとも1つの追加の画像取得装置によって取得された画像の追加の情報によって延長して、延長されたエピポーラ線を取得することを含んでもよい。
前記エピポーラ画像は、少なくとも1つの追加の画像取得装置のライトフィールド取得装置に対する相対位置に応じて、付加的情報を追加して、上に、および下の少なくとも何れかに延長することができる。前記付加的情報は、好ましくは、較正プロセスにおいて予め計算された水平オフセットおよび垂直オフセットに従って、エピポーラ画像の上および下の少なくとも何れかの、特定の距離で追加される。一実施形態では、水平エピポーラ画像は、ライトフィールド取得装置と水平に位置合わせされた少なくとも1つの追加の画像取得装置の追加情報を追加して延長される。前記垂直エピポーラ画像は、ライトフィールド取得装置と垂直に位置合わせされた少なくとも1つの追加の画像取得装置の追加情報を追加して、延長してもよい。
前記付加的情報は、少なくとも1つの従来のカメラによって捕捉された画像に含まれるエッジ画素を含んでもよく、前記エッジ画素は、前記エピポーラ線によって表される対象のエッジに対応する。代わりに、または、それに加えて、前記付加的情報は、少なくとも1つの追加のライトフィールド取得装置によって取り込まれた画像に含まれるエピポーラ線を含んでもよく、前記エピポーラ線は、エピポーラ線によって表される対象エッジに対応する。
一実施形態では、この方法は、エピポーラ線に対応するエッジ画素が探索される従来のカメラによって取り込まれた画像内の探索領域を決定することを含む。この方法は、エピポーラ線によって表される対象のエッジに対応する追加のライトフィールド取得装置のエピポーラ線の中央エッジ画素が探索される、追加のライトフィールド取得装置によって捕捉された画像内の探索領域を決定することを含んでもよい。どちらの場合も、探索領域は、一次元ウィンドウ、または二次元ウィンドウであってもよい。前記探索領域のサイズは、好ましくは、ライトフィールド取得装置のみを考慮して、第1の推定深度距離における分散曲線から予想されるライトフィールド取得装置からの深度測定値の不確実性に基づいて選択される。
一実施形態によれば、この方法は、以下のステップを含む。
-ライトフィールド取得装置からのエピポーラ線の線形回帰を計算するステップ。
-従来のカメラで撮影した画像から延長線を取得するステップ。
-従来のカメラの延長線を用いて、ライトフィールド取得装置のエピポーラ画像を延長するステップ。
-エピポーラ線と延長線の交点を計算するステップ。
-交点周辺の探索領域の定義
エピポーラ画像は、好ましくは、較正プロセス中に前もって計算された水平オフセットおよび垂直オフセットを使用して、延長線で延長される。水平オフセットおよび垂直オフセットを得るための較正プロセスは、光軸と位置合わせされたライトフィールド取得装置の共役平面内に発光点を配置するステップと、発光点によって生成された光を含む従来のカメラの画素と垂直に位置合わせされた垂直エピポーラ線を得るために必要なオフセットを計算するステップとを含んでもよい。
延長線を取得するステップは、ライトフィールド取得装置によって取り込まれた画像の垂直座標および水平座標の少なくとも何れかと、従来のカメラ画像の垂直座標および水平座標の少なくとも何れかとの間の等価性を決定することを含んでもよい。一実施形態では、取得装置のイメージセンサの画素の垂直座標および水平座標の少なくとも何れかの間の等価性は、光軸と位置合わせされたライトフィールド取得装置の共役面に発光パターンを配置することによって得られ、取得装置のイメージセンサのそれぞれによって取り込まれた光パターンの垂直サイズおよび水平サイズの少なくとも何れかとの間の関係が算出される。この方法は、エピポーラ線によって表される対象のエッジに一致する従来のカメラ画像内のエッジ画素を見つけるために、対応プロセスを適用することをさらに含んでもよい。
延長エピポーラ線を取得するステップは、エピポーラ線および追加情報に重みを割り当てるステップを含んでもよい。この方法は、ライトフィールド取得装置と少なくとも1つの従来のカメラとを含むマルチビューシステムから全焦点画像を取得することをさらに含んでもよい。全焦点画像を取得するステップは、以下のステップを含む。
-マルチビューシステムから閾値を超える距離に位置する対象については、少なくとも1つの従来のカメラから合焦画像を取得する。
-マルチビューシステムから閾値未満の距離に位置する対象については、ライトフィールド取得装置から再フォーカス画像を取得する。
最終的な全焦点を、閾値未満の距離については、ライトフィールド取得装置の再焦点画像から最も鮮明な対象を取り、閾値を超える距離については、少なくとも1つの従来のカメラから焦点画像を取り込むことによって構成する。
別の実施形態では、この方法は、ライトフィールド取得装置と少なくとも1つの従来のカメラとを含むマルチビューシステムからの画像を再焦点合わせするステップをさらに含む。画像をリフォーカスするステップは、以下を含む。:
- 深度マップの計算.
- マルチビューシステムから閾値未満の距離に位置する対象については、ライトフィールド取得装置からのリフォーカスされた画像を使用する。
- マルチビューシステムから閾値を超える距離に位置する対象については、少なくとも1つの従来のカメラからの距離の合焦範囲を選択し、選択された合焦範囲を超える距離に配置された画像内の対象をぼかす。ぼかしは、ガウスフィルタを使用して実行されることが好ましい。
この方法は、ライトフィールド取得装置および少なくとも1つの追加のライトフィールド取得装置のための勾配マップを生成することを含んでもよい。一実施形態では、異なる生成された勾配マップは、ライトフィールド取得装置間の垂直オフセットおよび水平オフセットを考慮して、シングル勾配マップに結合される。この方法は、ライトフィールド取得装置によって取り込まれたすべてのビューと、従来のカメラによって取り込まれた画像との間のステレオ対応アルゴリズムを使用して、深度マップを生成することを含んでもよい。1つのプレノプティックカメラおよび1つまたは複数の従来のカメラによって形成される実施形態では、この方法は、従来のカメラによって提供される情報を使用して、ライトフィールドカメラのエピポーラ画像において推定される勾配の精度を高めることを含む。
本発明のさらなる態様によれば、ライトフィールドから深度マップを生成するための装置が提供される。この装置は、先に説明した方法のステップを実行するように構成された処理手段を備える。一実施形態では、装置は、プレノプティックカメラなどのライトフィールド取得装置を含んでもよい。別の実施形態では、前記装置は、複数のカメラを含むマルチビューシステムを備えてもよく、複数のカメラのうちの少なくとも1つは、ライトフィールド取得装置である。マルチビューシステムは、少なくとも1つの従来のカメラを含んでもよい。一実施形態では、前記装置は、1つまたは複数のプレノプティックカメラおよび1つまたは複数の従来のカメラを含んでもよい。1つ以上の従来のカメラは、ライトフィールド取得装置と垂直および水平の少なくとも何れかに位置合わせされてもよい。マルチビューシステムは、ライトフィールド取得装置および従来のカメラの2次元アレイを備えてもよい。
好ましくは、前記装置は、スマートフォン、タブレット、ラップトップ、またはコンパクトカメラなどの電子モバイル装置である。処理手段は、水平エピポーラ画像を取得して解析するように構成された第1のCPUと、垂直エピポーラ画像を取得して解析するように構成された第2のCPUとを備えてもよい。別の実施形態では、処理手段は、マルチコアプロセッサを含む。あるいは、またはそれに加えて、処理手段は、グラフィックス処理ユニットを含んでもよい。
本発明のさらに別の態様によれば、プレノプティックカメラによって捕捉された画像から深度マップを生成するか、または1つまたは複数のプレノプティックカメラおよび1つまたは複数の従来のカメラによって捕捉された画像のセットから深度マップを生成するためのコンピュータプログラム製品であって、プロセッサによって実行されると、プロセッサに前述の方法を実行させるコンピュータコード命令を含むコンピュータプログラム製品が提供される。一実施形態では、コンピュータプログラム製品は、コンピュータコード命令が記録された少なくとも1つのコンピュータ可読記憶媒体を含む。
本発明は、ライトフィールドから深度マップを生成するための装置及び方法に関する。ライトフィールドは、複数の種類のデバイスによって捕捉することができる。簡単にするために、まず、プレノプティックカメラのみを考慮する。その後、本方法を、1つ以上のプレノプティックカメラおよび1つ以上の従来のカメラからなるマルチビューシステムに適用する場合について説明する。しかし、本明細書に記載の方法は、他の一体型撮像装置を含む他の任意の装置によって捕捉されるライトフィールドに適用することができる。
従来のカメラは、センサによって捕捉された光線の2次元空間情報のみを捕捉する。さらに、色情報は、いわゆるベイヤー・パターン・センサまたは他の色センサを使用することによって取り込むこともできる。プレノプティックカメラは、この情報だけでなく、光線の到来方向も捕捉する。通常、プレノプティックカメラは、主レンズとセンサとの間にマイクロレンズアレイを配置することによって製造される。各マイクロレンズ(lx、ly)は、主アパーチャの小さな画像をセンサ上に形成している。これらの小さな画像は、マイクロ画像として知られており、任意のマイクロ画像の各画素(px、py)は、主アパーチャの異なる部分から来る光線を捕捉しており、任意のマイクロレンズ下のマイクロ画像のすべては、主レンズアパーチャの画像であり、各マイクロレンズ内の位置(px、py)または(pxn、pyn)の全ての画素は、マイクロレンズの位置とは無関係に、アパーチャ(axn、ayn)の所与の部分から来る光を統合する。対象ワールドからの異なる位置から到来し、位置(axn、ayn)でアパーチャを横切る光は、異なるマイクロレンズに当たるが、常に画素(pxn、pyn)によって積分される。したがって、マイクロ画像内の画素の座標(px、py)は、所与のマイクロレンズへの捕捉された光線の到来方向を決定し、(lx、ly)は2次元空間位置を決定する。すべてのこの情報はライトフィールドとして知られ、4多次元マトリックス、または、色情報が考慮される場合は5多次元マトリックスによって表すことができる。以下では、単色センサのみが考慮される。これらのセンサは、それらが設計された全スペクトルに対する感知された光の強度を捕捉する。しかし、本明細書で説明される本発明は、当業者には明らかであるように、色情報も取り込むセンサに簡単に拡張することができる。これらの種類のセンサに対する本発明の可能な適応は、深度推定の冗長性をさらに増大させるために、本明細書に記載の方法を各色チャネルに別々に適用することができる。
カメラまでの異なる深さ又は距離にあるワールドの対象は、プレノプティックカメラの画像センサによって捕捉された画像上に異なる照明パターンを生成する。図1Aは、主レンズ102と、マイクロレンズアレイ104(行および列に集められた複数のマイクロレンズ105によって形成される)と、強度、色および方向情報を感知するためにマイクロレンズアレイ104の背後に配置されたイメージセンサ106とを備えるプレノプティックカメラ100の模式図二次元図を示す。図1Aに示す実施例では、プレノプティックカメラ100は、マイクロレンズ配列104の共役面に配置された対象点110からの入射光線108を捕捉している。図1Bは、プレノプティックカメラ100のイメージセンサ106によって捕捉された光を表す。グリッドの各セルは、イメージセンサ106上の各マイクロレンズ105によって生成されたマイクロイメージ112を表す。
対象点110の画像がマイクロレンズアレイ104上に合焦されると、対象点110は、プレノプティックカメラ100の主レンズ102を介してMLAの共役面に配置され、マイクロレンズ105上の無限小点のみが照明される(実際には、無限小点ではなく、回折パターン)。さらに、マイクロレンズ105とイメージセンサ106との間の間隔は、マイクロレンズ105のほぼ焦点距離であるので、対応するマイクロイメージ112のすべての画素は、図1Bに示すように、正確に同じ光強度を集める。ここに示される画像センサ平面上の全ての画像において、黒色は、光の欠如を表すために使用され、画素が白色であるほど、それらは、部分的な照明を意味するグレーレベルで照明されている。
一方、対象ワールドのマイクロレンズアレイ104の共役面よりも近いシーンの対象ポイント110は、画像ワールドの焦点がマイクロレンズアレイ104よりも遠く(より右側に向かって)あり、センサ画素によって捕捉されるパターンが異なるので、より多くのマイクロレンズ105を照明する。このシナリオの図は、図2Aに示されており、図2Bは、イメージセンサ106上に生成された対応するパターンを示している。
逆に、マイクロレンズアレイ104の共役面よりも遠い対象点110も、より多くのマイクロレンズ105を照明するが、ここでは、焦点は、マイクロレンズアレイ104の位置よりも主レンズ102に近く、したがって、イメージセンサ106によって捕捉されるパターンは、図3Aおよび図3Bに示されるように、2つの上述の状況とは異なる。マイクロイメージ112のいくつかにおけるグレーレベルは、部分的に照明された画素に対応し、一方、白画素においては、画素の全領域が、対象ワールドにおける対象ポイント110から来る光によって照射されている。
イメージセンサ106によって捕捉されたライトフィールドのこれらの様々なパターンは、ライトフィールドの2次元スライスを撮影することによってエピポーラ画像で表すことができる。図4A~図4Cは、それぞれ、図3A~図3Cのシナリオのそれぞれ1つについて、イメージセンサ106によって取り込まれた画素を再編成することによる、水平エピポーラ画像400(上段)および垂直エピポーラ画像402(下段)の生成プロセスを示す。図4Aは、マイクロレンズアレイの共役面に位置する対象ワールドの点についてセンサ上に生成されたパターンを示す。図4Bは、マイクロレンズアレイの共役面よりもカメラに近い対象ワールドの点に対して生成されたパターンを示す。図4Cは、マイクロレンズアレイの共役面よりもカメラから遠くに位置する対象ワールドの点に対して生成されたパターンを表す。
水平エピポーラ画像400は、ライトフィールドの座標(py、ly)を固定することによって形成され、垂直エピポーラ画像402は、座標(px、lx)を固定することによって形成される。図4A~4Cでは、水平エピポーラ画像400および垂直エピポーラ画像402は、それぞれ、水平中心エピポーラ画像および垂直中心エピポーラ画像であり、これは、エピポーラ画像のために固定された画素py及びpxが、それぞれのマイクロレンズの水平中心および垂直中心の画素だからである。図4A~図4Cは、垂直エピポーラ画像402(下列)および水平エピポーラ画像400(上列)が、取り込まれたライトフィールドから直接形成される様子を示す。
図4Dは、同じ行ly((図4Dの実施例のly=3では、マイクロレンズアレイ104の水平中心マイクロレンズ105)に位置するマイクロレンズ105に対応するマイクロ画像112の高さpy=Yに位置する画素ライン(410、412、414、416、418)を積み重ねることによって形成される水平エピポーラ画像400(図4Aの上の行のズームビュー)の生成プロセスをより詳細に示す。マイクロイメージ112内の画素ライン(410、412、414、416、418)の選択された高さpy=Yが中心高さであるので、水平エピポーラ画像400は、水平中心エピポーラ画像と考えられる。図4Dの各画素ライン(410、412、414、416、418)を形成する個々の画素(px=1、px=2、…)は図示されていない。対照的に、各垂直エピポーラ画像(402)は、同じ列lxに位置するマイクロレンズ105に対応するマイクロイメージ112の所定の幅px=Xに位置する画素ラインを積み重ねることによって形成される。
図4A~図4Dから分かるように、水平エピポーラ画像400および垂直エピポーラ画像402には、エピポーラ線430(白色)が形成されている。図1B~3Bの例に示すように、このエピポーラ線430のすべての照明された画素(白画素)は、対象ワールドの同じ対象点110に対応する。エピポーラ線430は、エッジとして検出されるエピポーラ画像内の接続された照明画素(黒画素ではない)のセットである。さらに、エピポーラ線430の傾きは、マイクロレンズ104上およびイメージセンサ106上に照射されるパターンのタイプに直接関連し、また、対象ワールドにおける対象ポイント対応する深さにも直接関連する。図4Dの例では、エピポーラ線430の傾きは∞であり(横軸に対して角度=90°)、これは、対象ポイント110がマイクロレンズ配列104(図1A)の共役面に配置されるような距離に対応する。勾配が正(角度が90°よりも小さい)である場合、対象ポイント110は主レンズ102に近く(図2A)、勾配が負(角度が90°よりも大きい)である場合、対象ポイント110は主レンズ102から遠い(図3A)。
したがって、このパターンを知ることによって、画素によってサンプリングされたパターンを、サンプリングカメラ100を通してバックトレースし、そのようなパターンを生成する対象ポイント110の正確な深さ(dz)を得ることが可能である。深さと勾配との間の関係は、ライトフィールドを捕捉するために使用されるプレノプティックカメラ100の物理的寸法及び設計(既知である)に依存する。
したがって、エピポーラ線430のある勾配は、現実の3次元ワールドシーンの対象ポイント110のある深さに明確に関連する。
エピポーラ線の推定勾配は、ある対象の深さ情報を含む。勾配および深さは、同じ硬貨の2つの側面である(確定的な方法で勾配から深さを得ることが可能であり、その逆も可能であり、センサ画素が無限小ではないという事実による変換における定量化誤差のみを伴う)。勾配自体は、シーンの異なる対象の相対的な深さに関する情報を得るのに十分である。この相対情報(すなわち、勾配)は、同じ深度(同じ勾配)に位置するシーンの異なる対象を識別するなど、絶対的な深度情報を提供する必要がないいくつかの用途に有用であり得る。したがって、このようなシナリオでは、勾配の計算は十分であり、勾配から深さへの変換を省略することができる。
本発明の方法は、マイクロレンズ配列104上のワールドの照射におけるエッジが存在する領域(または、対象ワールド上の同じエッジであるもの)ついてのみの、深さの計算に基づく。好ましい実施形態では、ある勾配を得るために、エピポーラ線430を形成する照明された画素に線形回帰が適用される。水平400または垂直402エピポーラ画像内のエピポーラ線430を分析するとき、水平(px)または垂直(py)次元に沿って分布された全てのプレノプティックビューは、同じ対象ポイント110がこれらの全てのビューによって捕捉されているので、考慮される。したがって、線形回帰法は、1次元に沿った冗長な情報を利用することによって、統計的ノイズを低減する。
さらに、この方法は、水平方向400および垂直方向402のエピポーラ画像内の同じ対象ポイント110を分析し、同じ対象ポイント110の情報を含む様々なエピポーラ画像(400、402)で得られた深度値を考慮することによって、統計的ノイズをさらに低減する追加ステージを含む(例えば、図1~図4に示すように、対象ワールド内の一意の対象ポイント110が、イメージセンサ106のいくつかの点にいくつかのインプリントを生成し、これらのインプリントがいくつかの垂直方向およびいくつかの水平方向エピポーラ画像に現れる)。
一実施形態では、水平エピポーラ画像400および垂直エピポーラ画像402に形成されたすべてのエピポーラ線430が識別され、対応する勾配が計算される。次いで、対象ポイント110の対応する深さが、装置の物理的寸法を考慮することによって計算される。
エピポーラ線は、いくつかの視点から捕捉された同じ対象点110によって形成されるので、エピポーラ線430当たり1つの勾配および深度値だけが計算される。このため、以下の2つの要因により、データ量が大幅に削減される。
(i)イメージセンサ106によって捕捉された全ての点を処理する他のアプローチと比較して、本方法は、関心のある点、すなわち、エッジとして検出される対象ワールドの領域のみを処理するが、これは、それらがエピポーラ線を生成するからである(エッジのない完全に均一な対象ワールドの領域として、エピポーラ線を生成せず、均一な色を生成するからである)。
(ii)エピポーラ線430を形成する画素毎に1つの値を記憶する代わりに、エピポーラ線430毎に1つの勾配値のみを記憶することが可能である。
したがって、この計算プロセスの出力は、これらの検出された勾配の対応する深度値だけであってもよい。
垂直エピポーラ画像402および水平エピポーラ画像400の両方を分析するときに同じセンサ画素が考慮され、したがって、いくつかの勾配値が対象ワールドの同じ点によって生成された可能性がある。このため、一実施形態によれば、水平エピポーラ画像400および垂直エピポーラ画像402を分析することによって得られる勾配とエピポーラ線430を一つの4次元マトリックスに結合して、出力の信頼性が追加測定の冗長性によって改善されるという事実のために、統計的なノイズを減らす。
計算された勾配は、プレノプティックカメラ100の物理的パラメータを考慮することによって、対応する対象の深さに変換される。一実施形態では、この変換段階は、すべての冗長な勾配を組み合わせた後に実行され、勾配から深度への変換の数を大幅に低減する。
別の実施形態では、予め生成された深さ/勾配の4多次元マトリックスは、2次元の疎な深さ/勾配マップ(対象ワールドにエッジが存在する場合にのみ読み取り値を提供するため、疎な)に結合され、統計的ノイズをさらに低減し、したがって、深度マップの品質を向上させる。
さらに別の実施形態では、水平エピポーラ画像400および垂直エピポーラ画像402内のエピポーラ線430について計算された深さ/勾配は、2次元の疎深さ/勾配マップ直接結合され、したがって、単一の結合段階を実行し、計算効率を向上させる。
一実施形態では、疎深度/勾配マップは、画像充填技法を適用して、すべての画素(dx、dy)について深度/勾配値を取得することによって充填される。
さらに別の実施形態では、図4A~4Dに示すように、水平中心エピポーラ画像(座標をマイクロ画像112内のpy寸法の中心画素に等しくなるように設定することによって形成される)のみ、および/または垂直中心エピポーラ画像(座標pxをマイクロ画像内のpx次元の中心画素に等しくなるように、座標pxを取ることによって形成される)のみが、分析するエピポーラ画像の数を減らすことを目的として考慮され、したがって、統計的冗長性を減らす代わりに、性能が向上する。
本発明の方法は、プレノプティックカメラを備えたモバイル装置(例えば、スマートフォン、タブレット、またはラップトップ)において実施することができる。
図5は、一実施形態による、深度マップを生成するための方法のフロー図を示す。深度マップを生成するために、本方法は、プレノプティックカメラ100によって捕捉されたライトフィールド(501)から水平(502)及び垂直エピポーラ画像(503)を生成する。生成された各水平エピポーラ画像(502)および垂直エピポーラ画像(503)について、エピポーラ画像内の有効なエピポーラ線(510、511)が識別される。次に、これらの有効なエピポーラ線(510、511)の勾配(512、513)が計算され、対応する深度値(514、515)が最終的に得られる。
図5は、有効なエピポーラ線(510、511)を識別し、処理し、捕捉されたライトフィールドを入力として取り込み(501)、すべての水平エピポーラ画像(502)および垂直エピポーラ画像(503)(図5の「EPI」)を処理し、以下のステップを実行するプロセスを説明する。
ステップ502では、各水平エピポーラ画像について、固定された2つの値(py、ly)が得られる。
ステップ504では、lx次元に沿って1次元(またはそれ以上)のフィルタを適用して、ノイズを低減し、フィルタリングされた水平エピポーラ画像を得る。
ステップ506では、各画素(px、lx)について、lx次元に沿った画素の光強度またはコントラストにわたる画素(px、lx)における第2の空間微分を計算する。
ステップ508では、サブ画素精度でエピポーラ線を分析することによって、より具体的には、第2の空間微分のゼロ交差を検出することによって、対象ワールドのエッジを決定する。
ステップ10では、有効なエピポーラ線を形成するように正しく配置されたゼロ交差の1つごとに探索し、無効なエピポーラ線を廃棄する。
ステップ503では、各垂直エピポーラ画像について、固定された2つの値(px、lx)が得られる。
ステップ505では、ノイズを低減するために、ly次元に沿って1次元フィルタを適用し、フィルタリングされた垂直エピポーラ画像を得る。
ステップ507では、各画素(py、ly)について、ly次元に沿って第2の空間微分を計算する。
ステップ509では、サブ画素精度でエピポーラ線を分析することによって、より具体的には、第2の空間微分のゼロ交差を検出することによって、対象ワールドのエッジを決定する。
ステップ511では、有効なエピポーラ線511を形成するように正しく配置されたゼロ交差の1つごとに探索し、無効なエピポーラ線を廃棄する。
水平エピポーラ画像および垂直エピポーラ画像の両方で見出される各有効エピポーラ線(510、511)について、サブ画素精度エッジは、線形回帰法を実行することによって、有効エピポーラ線(510、511)の勾配(512、513)を決定するために使用される(しかし、任意の他のフィッティング技術も使用される。
計算された各勾配に対して、変換勾配から深度値への変換(514、515)が適用される。
最後に、2つの深度マトリックス、すなわち、水平エピポーラ画像502に対する水平深度マトリックス516と、垂直エピポーラ画像503に対する垂直深度マトリックス517とが生成される。
フィルタリングされた水平(504)または垂直エピポーラ画像(505)を得るためのノイズ低減フィルタステップは、処理速度を上げるために任意選択で廃棄されてもよい。
別の実施形態では、水平エピポーラ画像(502)および垂直エピポーラ画像から得られる(503)2つの勾配マトリックスは、単一の勾配マトリックスに結合され、最終的に単一の深度マトリックスを得る。
一実施形態によれば、第2の空間導関数のゼロ交差は、第2の導関数の連続する正負または負正の値によって識別される。更に、サブ画素精度を得るために、これらの点の二次導関数の大きさは、実際のゼロ交差がどこで起こっているかを決定するために考慮される。当業者は、多くの他のエッジ検出方法(例えば、Cannyエッジ検出器オペレータ、曲線フィッティング方法、またはモーメントベースの方法)もこの目的のために適用することができ、本明細書で説明する技法はゼロ交差方法に限定されないことを認識するであろう。しかし、検出されたエッジによって形成される線の勾配を決定するときに可能な限り最大の精度を得ることが非常に重要であり、それが、エッジを決定するためのサブ画素精度が非常に重要である理由である。提案された方法の目標の1つは、計算的に効率的であることである(この要件は、採用されるエッジ検出アルゴリズムを選択するときに考慮されるべきである)。
全ての画素がカメラまでの光源の距離とは無関係に、全く同じ光強度を記録するので、完全に均一な(テクスチャまたは色のコントラストなし)対象ワールドの領域は、エピポーラ線を生成しない。図1~図4に示す全ての実施形態は、エピポーラ画像(400、402)内にエピポーラ線430を生成する1つの放射点光源(対象点110)によって、「暗い」対象ワールドに対応する。
実際の状況では、エピポーラ線430は、コントラストの変化または色の変化によって生成され、それが、エピポーラ線430が対象ワールドのエッジ(色またはコントラストの変化)に対応する理由である。
したがって、エピポーラ線430は、対象のエッジによって生成される。エピポーラ画像の一次導関数(すなわち、画素の強度にわたる)は、勾配(すなわち、光強度またはコントラストが変化する速さ)を提供する。二次導関数は、コントラストがどこで最も速く変化しているかを示す(これは、対象ワールドにおける対象のエッジ対応する)。二次導関数は、所与の画素において必ずしもゼロ交差を有するとは限らないので(例えば、図6Aのエピポーラ画像は、あるグレーレベルを有するなど、画素における光の強度の値に依存するので)、対象のエッジは、サブ画素数精度で決定されている。
プレノプティックカメラ100のまさにその性質および設計上の制約のために、エピポーラ画像内で有効なエピポーラ線(510、511)を形成する画素は、必然的に隣接する位置になければならず(すなわち、有効なエピポーラ線を形成する点が接続されなければならない)、エピポーラ線内で上下、または下上のように、同じ方向に向かうすべての点を有する線を構成しなければならない。
図6A~図6Cは、エピポーラ画像600における有効なエピポーラ線610の例(図6A)と、それぞれのエピポーラ画像(602、604)における無効なエピポーラ線(612、614)のいくつかの例(図6Bおよび図6C)とを示す。好ましい実施形態では、有効なエピポーラ線を形成するためにエピポーラ画像内のエッジを探すときに、隣接する位置のみが考慮される(エッジとして検出された中心画素から始まり、図6A~図6Cの矢印は、エピポーラ線を形成する接続されたエッジ画素を決定するために考慮される隣接する位置を表す)。その結果、図6Aに示されるもののようなエピポーラ線610は有効であると考えられ、一方、図6Bに示されるもののようなエピポーラ線612は、エピポーラ画像602の頂部620の画素および底部622の画素がエピポーラ線612の残りの部分に接続されていないので、無効であると検出される。
一見すると、図6Cに示すようなエピポーラ線614は、有効なエピポーラ線と思われるかもしれない。しかし、プレノプティックカメラ100の性質のために、そのような線は、欠陥のない装置では起こらない(上部630および下部632の画素は、エピポーラ線の残りの部分と同じ方向に従わない)。一実施形態では、こういった種類の線の、こうした端の画素(630、632)は、エピポーラ線の勾配を計算するときに省略することができ、外側の画素が主レンズの収差から生じる可能性があるので、依然として有効なエピポーラ線と見なすことができる。このようにして、我々は、受光パワーと勾配識別性能とを交換して、アパーチャの最も収差のある周辺部分を横切る光線によって形成される端の画素の収差を低減する。また、有効でないエピポーラ線を用いて計算を実行することを回避するために、線全体を無効としてラベル付けすることも可能である。
発見的には、人間が、線の形態を視覚的に検査することによって、有効なエピポーラ線と有効でないエピポーラ線とを区別することは容易である。しかし、コンピュータ上で決定を下すアルゴリズムは簡単ではない。当業者にとって、そのタスクを実行するためのいくつかの異なるアルゴリズムを考えることは困難ではなく、形態を分析する任意のアルゴリズムの特定の実装は、本発明の内容には無関係である。有効なエピポーラ線をどのように識別するか、およびそのタスクを実行するための多くのコンピュータ・ソリューションをどのように開発することができるかは、発見的に定義されている。
一実施形態では、エピポーラ画像の高さと少なくとも同数の照明画素数を有するエピポーラ線のみが有効な線とみなされる。これは、収差が実際に(光学的に又は前の段階で計算的に)補正された装置における勾配計算の精度を高めることができる。
主レンズ102の最も高い収差は、レンズの両端(近軸近似がもはや有効でない中心から遠い領域)で生じる。主レンズ102のこれらの端の部分を通過する全ての光線は、その中心に近いレンズを横切る光線よりも収差が大きい。プレノプティックカメラ100では、これらの光線は、すべてのマイクロイメージ112の端の画素、またはすべてのマイクロレンズ104の端の画素によって捕捉され、これらはまた、エピポーラ画像上部または下部の近くの端の画素640(図6A)である。したがって、一実施形態では、エピポーラ画像の端の画素数640を省略して、光学収差の影響を低減するとともに、検出される深度値の数を増加させることができる(端の画素を廃棄することによって、有効なエピポーラ線の数を増加させる)。したがって、エピポーラ画像の画素の高さよりも少ない画素を有するエピポーラ線も、例えば、図6Bおよび図6Cにおいて、それらの上部(620、630)および下部(622、632)の画素を廃棄するように、有効であると考えることができる。
図6D~6Gは、図6Aのエピポーラ画像600におけるエピポーラ線610の勾配の計算プロセスの一例を表す。この例では、図6Dの表642に示されるように、以下の画素の強度値「I」が考慮されている:黒い画素について0の値、暗いグレー画素について20の値、明るいグレー画素について60の値、および白い画素について100の値(を割り当てる)。図6Eの表644は、以下の式に従って、lx次元に沿った強度Iの画素数iにおける数値的な二次導関数を表す。
ここで、i+1は、後続の画素を表し、i-1は、lx次元にわたって先行する画素を表す。連続する画素間の距離Δlxは常に同じである(Δlx=1の値とみなされる)。
図6Fは、1x次元(水平サブ軸)に沿ったすべての画素px(横軸)についての2次導関数(縦軸)の値を有するグラフ646を示し、連続する正負または負正の値によって識別される2次導関数のゼロ交差650を示す。先に説明したように、対象ワールド内の対象のエッジは、第2の空間微分のゼロ交差650を検出することによって決定される。
図6Gは、図6Aのエピポーラ画像600において、サブ画素精度を有するゼロ交差650を示す。サブ画素精度を理解するために、マイクロレンズlx=2(二次導関数値100を有する)とlx=3(二次導関数値-200を有する)との間の画素px=1について生じたゼロ交差は、ズームインする。両方の2次導関数値を接続する線652は、サブ画素精度でlx=2の内側に位置するゼロ交差650のゼロ縦座標と交差する。図6Gのエピポーラ線610の勾配は、検出されたゼロ交差650に線形回帰656を適用し、線形回帰656の勾配を直接計算することによって得られる。
図6H~図6Jは、図6Bのエピポーラ画像602におけるエピポーラ線612の勾配の計算プロセスの別の例を表す。画素の強度値Iは、図6Hの表653に示され、一方、図6Iの表654は、二次導関数値を表す。ゼロ交差650は計算され、図6Jに点として示される。エピポーラ線612の勾配は、検出されたゼロ交差650に線形回帰658を適用することによって計算される。図6Jのエピポーラ線612の線形回帰658は、画素数620および622からそれぞれ得られるゼロ交差650aおよび650bのために、図6Gのエピポーラ線610の線形回帰656よりも高い勾配を有することに留意されたい。
一実施形態では、すべてのゼロ交差は、線形回帰において考慮される。しかし、別の実施形態では、ゼロ交差のいくつかは、予め廃棄してもよく、エピポーラ線の勾配を得るプロセスでは考慮されなくてもよい。線形回帰法を適用するために使用される残りの点と比較して高い分散を有する点は、より正確な勾配推定を得るために、または異常値を廃棄するために、このプロセスから識別され、除外することができる。例えば、図6Jでは、上部620および底面622画素は、上部620および下部622の画素はエピポーラ線612を生成する残りの画素に接続されていないため(この場合、上部620および下部622の画素は、主レンズ102の異常によって引き起こされた可能性がある)、線形回帰658(図6Gのエピポーラ線610について得られた勾配に類似した勾配を有するエピポーラ線を得る)を計算する際に、エピポーラ画像602の上部画素620によって生じるゼロ交差650aおよびエピポーライメージ602の底面画素622によって生じるゼロ交差650bを廃棄してもよい。
二次導関数644が計算されると、それらが有効なエピポーラ線を定義するか否かが決定される。このプロセスでは、先に説明したように、いくつかの画素に対応する二次導関数のいくつかの値を廃棄してもよい。線形回帰を有効なゼロ交差に適用して、それらの対応する勾配を計算する。逆に、有効でないと識別されたエピポーラ線のすべてについて、さらなる計算を実行する必要はない。
発見的方法、形態素解析、人工知能、または他の任意の方法を使用して、エピポーラ線が有効であるかまたは有効でないかをエピポーラ画像から事前に決定し、さらなる計算を回避することが可能であり、有効でないことを事前に分かっているエピポーラ線の勾配を計算しないことも可能である。
一実施形態では、検出された有効エピポーラ線に線形回帰を適用する場合、誤差見積りも計算することができる。一例として、エピポーラ線の点(すなわち、ゼロ交差)と最終的な推定回帰線との間の距離の和を誤差(すなわち、計算されたエピポーラ線とこのエピポーラ線を計算するために使用された点との間の距離の絶対値の加算)として使用することができる。しかし、任意の他のタイプのエラー計算を定義してもよい。
一実施形態では、最大誤差閾値を使用して、エピポーラ線を廃棄する(そして、アルゴリズムの残りの部分では考慮しない)ことができる。そのために、計算された誤差が最大誤差閾値よりも高い場合、エピポーラ線は有効でないとみなし、計算された誤差が最大誤差閾値よりも低い場合、エピポーラ線は有効であるとみなす。
水平エピポーラ画像400は、例えば、図5の水平エピポーラ画像502の検出された有効エピポーラ線510に示されるように、いくつかのエピポーラ線(Nlxまでのエピポーラ線)を含んでもよい。同様に、垂直エピポーラ画像は、いくつかのエピポーラ線511を含んでもよい。図7Aは、2つの異なるエピポーラ線(図7Eの710および712)を含む水平エピポーラ画像700の例を示す。図7Aは、両方のエピポーラ線に対応するゼロ交差650の線形回帰(756、758)を示す。この例は、光パターンが、ここでは、無限小ではなく特定のサイズを有する対象によって生成されるので、図4および図6に提示されるものよりも現実的なシナリオを表す。それが、イメージセンサ106によって記録された高強度(白画素)が、図7Aのいくつかのマイクロレンズ(1x)を占有する理由である。
エピポーラ画像700の画素の強度値「I」は、図7Bの表720に示され、一方、図7Cの表730は、二次導関数値を表す。
一実施形態では、エピポーラ画像の画素がエッジ画素731としてラベル付けされているか、または検出されているかを考慮する方法は、負の2次導関数を持ち、右側または左側に正の2次導関数を持つ画素を有する画素(px,lx)(図7Cのハイライトされた画素)を見つけることを含む。あるいは、図7D(図7Cの同じテーブル、二次導関数値)に示すように、エピポーラ画像の画素は、正の二次導関数を有し、右側または左側に負の二次導関数を有する画素(図7Dのハイライトされた画素)(px,lx)をエッジ画素731としてラベル付けしてもよい。
エッジ画素731が検出されると、一実施形態によれば、エピポーラ画像内の有効なエピポーラ線を識別する手順が、(図7Cの2次導関数値およびエッジ画素731に対応する)図7Eの例を参照して説明される。
中心画素(px=5)に対応し、エッジ画素731(エッジ画素AおよびJ)としてラベル付けされる中央行px(または垂直エピポーラ画像の場合はpy)に位置する水平エピポーラ画像の各画素lx(lx=1~lx=11)(または垂直エピポーラ画像ではly)について、以下が行われる。
ステップ1
上側の隣接位置(lx、px-1)、(lx+1、px-1)、(lx-1、px-1)においてエッジ画素731としてラベル付けされた画素の検索:エッジ画素B(エッジ画素Aから始まる第1反復)およびエッジ画素K(エッジ画素Jから始まる第1反復)が見出される。
ステップ2
エッジ画素731が見つかった場合、lxおよびpxを新しいエッジ画素731の座標(エッジ画素Aから始まる最初の反復におけるエッジ画素Bの座標:lx=4、px=4;エッジ画素Jから始まる最初の反復におけるエッジ画素Kの座標:lx=8、px=4)で更新し、ステップ1(次に見つかったエッジ画素:エッジ画素Aから反復する際のエッジ画素D、FおよびH;エッジ画素Jから反復する際のエッジ画素MおよびO。エッジ画素Qは、エッジ画素Oに対してlx+2に位置するので、エピポーラ線の一部とはみなされない)を繰り返す。そうでなければ、ステップ3に進む。
ステップ3
下側の隣接位置(lx,px+1)、(lx+1,px+1)、(lx-1,px+1)におけるエッジとしてラベル付けされる画素の検索:エッジ画素C(反復がエッジ画素Aから開始するとき)及びエッジ画素L(エッジ画素Jから反復するとき)。
ステップ4
エッジ画素731が見つかった場合、lxおよびpxを新しいエッジ画素731の座標(エッジ画素Aから始まる最初の反復におけるエッジ画素C:lx=4、px=6;エッジ画素Jから始まる最初の反復におけるエッジ画素L:lx=8、px=6)で更新し、ステップ3(見つかった次のエッジ画素:エッジ画素Aから反復する際のエッジ画素E、GおよびI;エッジ画素Jから反復する際のエッジ画素NおよびP。エッジ画素Rは、エッジ画素Pに対してlx-2に位置するので、エッジ画素Rはエピポーラ線の一部とはみなされない)を繰り返す。そうでなければ、次のステップに進む。
この反復プロセスの結果は、(中心エッジ画素Aに対応する)第1のエピポーラ線710及び(中心エッジ画素Jに対応する)第2のエピポーラ線712である。第1のエピポーラ線710は、9個のエッジ画素(H、F、D、B、A、C、E、G、I)によって形成される。第2のエピポーラ線712は、7つのエッジ画素(O、M、K、J、L、N、P)によって形成される。
説明した反復プロセスにおいて中央行px内の特定のlxについて検出されたエッジ画素731の数に応じて、エピポーラ線は有効または無効とみなすことができる。一実施形態では、検出されるエッジ画素731の数は、少なくともエピポーラ画像の画素の高さ(すなわち、図7Eの例では9)でなければならない。第1のエピポーラ線710は、9画素を有するので、この基準に従うが、第2のエピポーラ線712は、7画素のみで形成されるので、この基準に従わない。別の実施形態では、主レンズ102の光学収差の影響を低減するために、端の画素(px=1、px=9)を省略してもよい(この場合、検出されるエッジ画素731の数は、少なくともエピポーラ画像の画素の高さから2を引いたもの、すなわち図7Eでは7画素であるべきである)。この最後の実施形態では、図7Eのエピポーラ線(710、712)の両方が有効であると考えられる。
エピポーラ線内のすべてのエッジ画素731の方向の一貫性に応じて、エピポーラ線は、(エピポーラ画像内の同じ方向を指す)有効または無効とみなすことができる。例えば、第1のエピポーラ線710では、中央エッジポイントAから始まって、すべての上側エッジ画素(B、D、F、H)が位置lx-1またはlxに位置し、下側エッジ画素(C、E、G、I)がlx+1またはlx位置にあり、第1のエピポーラ線710の一貫した方向を形成する。同じことが、中央エッジポイントJから始まる第2のエピポーラ線712にも当てはまり、すべての上側エッジ画素(K、M、O)は位置lx-1またはlxに位置し、下側エッジ画素(L、N、P)はlx+1またはlx位置にある。
一実施形態では、これらの2つの基準(エピポーラ線について検出されるエッジ画素731の数および方向の一貫性)の両方は、エピポーラ線が有効なものとみなされるために準拠しなければならない。
したがって、図7Eに記載された実施形態によれば、エピポーラ線を有効であると考える。
- 第1に、対象のエッジに対応するエピポーラ画像内の画素(すなわちエッジ画素731)が、2次導関数値を使用して検出される。
- 次に、エピポーラ線を形成する1組の接続されたエッジ画素が得られる。エッジ画素AおよびJから始まる、図7Eで予め定義された反復プロセスのような、異なるアルゴリズムを使用することができる(矢印は、エピポーラ線を形成する接続されたエッジ画素のセットを得るために、隣接するエッジ画素を探す上向きおよび下向きの反復探索方向を示す)。
- 1つまたは複数の基準(例えば、セット内のエッジ画素の数およびセット内のエッジ画素のコヒーレント方向)に基づいて、エピポーラ線は有効または無効とみなされる。
有効なエピポーラ線が検出されると、この線の勾配が計算される。この勾配値は、勾配と距離値との間に直接関係があるので、次に、深度値に直接変換されてもよい。分析されたエピポーラ線の勾配が計算されると、一実施形態によれば、この方法により、プレノプティックカメラによって捕捉されたシーンの対象のエッジの深度値(dz)を含む疎な2次元深度マップが出力される。深度マップの座標(dx、dy)は、対応する対象ポイントの横方向位置(すなわち、対象ワールドの2次元座標)を示し、深度値(dz)は、対象ワールド内の対応する座標(dx、dy)の深度を表す。図8は、異なる深度における3つの対象(802、804、806)を示す疎深度マップのエッジを示し、黒色は、深度値が割り当てられていないことを表し、白いほど深度値が大きく、シーン内の対象はより遠くにあることを表す。
この方法は、前の段階で得られたエピポーラ線の勾配を考慮して、疎深度マップを生成する追加ステージを含んでもよい。疎深度マップは、以前に算出されたエッジ(dx、dy)に、実ワールドの対象の深度値(dz)を割り当てることにより得られる。
一実施形態では、疎深度マップ生成への入力は、2つのマトリックス(水平深度マトリックス516および計算された深度値(dz)およびライトフィールド構造(px、py、lx、ly)の対応する位置に関連する垂直深度マトリックス517)である。疎深度マップ生成への入力は、前のステップで得られた2つの勾配マトリックス(512、513)であり得る。この場合、疎勾配マップが最初に得られ、深度への変換がこの2次元勾配マップにのみ適用され、したがって、計算要件が低減される。
水平深度マトリックス516は、水平エピポーラ画像を分析することによって得られ、一方、垂直深度マトリックス517は、垂直エピポーラ画像から得られる。最新技術におけるこれらのマトリックス(516、517)の各々のサイズは、Npx×Npy×Nlx×Nlyである。ここで、NpxおよびNpyは、水平及び垂直方向のマイクロ画像における画素数であり、NlxおよびNlyは、水平および垂直マイクロレンズの数である。
エピポーラ線の線形回帰を行う場合、1つの勾配値のみを得ることが可能である。したがって、一実施形態では、この段階の入力マトリックスのサイズは、線形回帰法によって生成されるすべてのエピポーラ線についての深度/勾配値のみを格納するように大幅に低減することができ、その結果、水平深度マトリックスのサイズはNpy×Nly×Nlx(水平エピポーラ画像は、最大Nlxのエピポーラ線を含んでもよい)となり、垂直深度マトリックスのサイズはNpx×Nlx×Nly(垂直エピポーラ画像は、最大Nlyのエピポーラ線を含んでもよい)となる。
一実施形態では、2つの深度/勾配マトリックスは、水平中心エピポーラ画像および垂直中心エピポーラ画像(または任意の他のエピポーラ画像)において分析される点のみを含んでもよく、マトリックスのサイズは、それらの両方についてNlx×Nlyである。
エピポーラ画像内の対応する位置において有効なエピポーラ線が検出されていない(エッジが検出されていない)ので、これらのマトリックスの多くの点は、計算された深度値を有さなくてもよい。
得られたあらゆる深度値(dz)を対象ワールドの2次元座標(dx、dy)に割り当て、計算された点の勾配に応じて深度マップ(dx、dy、dz)を得、点の座標(px、py、lx、ly)(すなわちセンサ上の位置)を考慮するために、組み合わせ段階を使用することができる。図1~図4から分かるように、対象ポイント110は、エピポーラ線上の異なる勾配と同様に、センサ上に異なるパターンを生成する。したがって、勾配を計算し、センサ上の位置(px、py、lx、ly)を知ることによって、検出されたエピポーラ線ごとに対応するワールド位置(dx、dy)を見つけることが可能である。
対象ワールドの単一のエッジが、わずかに異なるノイズ、収差、閉塞、または量子化誤差によって影響を受けるいくつかのエピポーラ線を発生させ、異なる勾配、したがって異なる深さを有するエピポーラ線をもたらすことができるので、いくつかの異なる値dzが、同じペア(dx、dy)について取得され得る。また、水平エピポーラ線のいくつかと垂直エピポーラ線のいくつかは、わずかに異なる値dzを生じることがある。
一実施形態では、2次元深度マップ(dx、dy座標毎に単一の値dz)を生成するときに、統計的ノイズを低減するために、すべての冗長深度値(dzの異なる値)が単一の深度マップに結合される。
深度マップ(dx、dy、dz)上に全ての深度値dzを取得する場合、同じ位置(dx、dy)に対していくつかの深度値dzを取得することができる。したがって、最終値を得るために、いくつかの方法を適用することができる。例として、限定されるものではないが、算術平均又は中央値又は他の平均化技術(重み付けされたポンデレーションを有する又は有さない)が、同じ深度マップ位置(dx、dy)に対して得られた全ての深度値(全てdzの値)に適用される。
この冗長性により、統計的ノイズが低減され、深度マップの品質が改善される。さらに、少なくとも1つの実施形態では、エピポーラ線について計算された誤差見積りは、例えば、同じ位置(dx、dy)に投影されたすべての値の中で最も低い誤差を有する値を選択することによって(例えば、エピポーラ線と、そのエピポーラ線の始まりの画素との間のすべての距離の加算、または任意の他の測定値を誤差として考慮することによって)、深度マップの特定の位置(dx、dy)の最終的な深度値(dz)を選択するために考慮することができる。
より多くの深度値が得られると、冗長性が増大し、深度測定値の誤差が最小限に抑えられるので、より正確な深度マップが生成され得る。それにもかかわらず、計算量および実施態様の複雑さを低減するために、アルゴリズムによって考慮される冗長性を低減し、深度マップの品質も低減することがあり得る。
一実施形態では、2次元疎深度マップは、推定深度値を含む水平(または垂直)エピポーラ構造のあるプレノプティックビューを取得することによって、すなわち、ある画素(通常、収差の影響を受けにくいビューであるため、中心画素)に設定されたすべての点(px、py)を取得することによって、直接生成される。この場合、計算の複雑さは低減されるが、代わりに、冗長性がより少なくなり、場合によってはより疎な深度マップ(全てのマイクロレンズについての深度値のみ)が生成される。
一実施形態では、深度マップの解像度は、ゼロ交差境界検出段階で得られるサブ画素精度を利用するために、マイクロレンズの総数よりも大きくすることができる。
勾配値は、識別されたエピポーラ画像エッジ(エピポーラ線)でのみ得られるので、前の段階で得られた疎深度マップは、多数の画素に対してだけでなく、実ワールドの均一性がエピポーラ画像上にエッジを生成しない多数のマイクロレンズに対しても、多くの空位置を含む。一実施形態では、すべてのこの空の位置に対する対応する深度値は、隣接する位置の深度値を考慮することによって得ることができる。密な深度マップを得るためのこの手順は、「深度マップ補間」と呼ぶことができ、画像充填法における多くの従来技術を利用する。
密な深度マップを得るために、疎深度マップを補間するために、いくつかの技法を適用することができる。したがって、これらのアプローチのいくつかは、限定ではなく単なる例であり、領域成長、分割およびマージ、およびクラスタリング技法の少なくとも何れか、ならびに画像処理のための従来技術で知られているいくつかの他のアプローチである。さらに、正則化方法を使用して、深度マップを補完することができる。
図9は、異なる深度にある3つの対象(902、904、906)を示す密な深度マップの例を示す。この図9は、図8で生成された疎深度マップの濃い深度マップをグレーレベルで示し、黒色は深度値が割り当てられていないことを表し、他はシーン内のオブジェクトである。
好ましい実施形態によれば、本発明の方法は、スマートフォン、タブレット、またはラップトップなどの電子モバイル装置において実行される。図10A、10B、および10Cは、プレノプティックカメラ100によって取り込まれた画像1002から深度マップを取得するために、本方法を実行するように構成された処理ユニットまたは処理手段1004を有する電子モバイル装置1000の異なる実施形態を示す。
モバイル装置においてリアルタイムで深度マップを取得するために、本方法を極めて効率的な方法で実施することが非常に推奨される。これを達成するために、現在のマルチコアプロセッサ1006(図10A)に含まれる複数のコアを、モバイル装置からのプロセッサにおいてさえも利用することが可能であり、いくつかのアルゴリズム実行スレッドを、それらの各々が異なる動作を実行することを担当するように作成する。
一実施形態では、第1のCPU1008a(図10B)が水平エピポーラ画像502について説明したステップ(図5参照)を実行する一方で、第2のCPU1008bが垂直エピポーラ画像503に対して同じ動作を実行することを担当するように、2つのCPU実行スレッドが作成される。
計算効率を高めるために、より高度な計算技術を使用することができる。例えば、グラフィックス処理ユニット(図10CのGPU1010)は、モバイル装置に含まれるものであっても、GPUは、動作を同時に実行することができる数百または数千のコアを含むので、使用することができる。したがって、一実施形態では、各エピポーラ画像(垂直および水平)は、アルゴリズムの実行をさらに加速するために、GPU1010の異なるコアで同時に処理される。
既に説明したように、エピポーラ画像に見られるパターンを深度情報に変換するプロセスは、いくつかの画像処理技術の適用を必要とする。エピポーラ画像は、エピポーラ線を含み、エピポーラ線は、線を形成する接続された画素(対象ワールド内の同じ点に対応するいくつかのセンサ画素)である。これらのエピポーラ線の勾配は、マイクロレンズ上に照射されるパターンの形状に直接関連し、より重要なことには、対象ワールドにおけるその点の対応する深度に関連する。プロセスを要約すると、エピポーラ画像、エピポーラ線に見られるパターンは、実物ワールドにおける対象の深度に関する情報を提供する。これらの線は、エッジ検出アルゴリズムを使用して検出してもよく、それらの勾配は、線形回帰法によって測定してもよい。エッジ検出および線形回帰の両方は、サブ画素精度で実行することができる。したがって、一実施形態では、エッジ検出ステップは、エピポーラ画像の各画素について、水平エピポーラ画像400および垂直エピポーラ画像402について、それぞれlxおよびly次元における第2の空間導関数を計算するステップと、第2の空間導関数のゼロ交差を検出するステップと、サブ画素精度で有効エピポーラ線の勾配を決定するステップと、検出されたエッジを形成する点のゼロ交差に適合する線を適用するステップとを含む。以下では、2次空間微分のゼロ交差がそのような画素の領域内で見つかった場合に、画素はエッジ画素とみなされる。
各エピポーラ線からの勾配は、上述のように都合よく処理され、そのようなパターンを生成した対象ワールドの点の実際の深さを提供する値を与える。深度推定のためのこの方法の主な利点の1つは、全ての計算が、画像の比較的小さい部分を表す対象ワールドのエッジが検出されたセンサの画素に対してのみ実行されることであり、センサの全ての1画素に対して計算を実行することを回避することができることである。
しかし、カメラからの距離が大きく、対象ワールドの任意の点からの光線が互いにほぼ平行にカメラレンズに到達する(これらの光線を生成した対象点の視野がどれでも)ため、プレノプティックカメラ内のエピポーラ線の感知された勾配のわずかな変化を生成するために比較的大きな距離変化が必要とされ、すなわち、異なる距離に配置された2つの異なる対象は、実質的に同じ勾配を生成することができる(センサはこの変化を感知するために無限の精度を必要とし、言い換えれば、無限小の画素およびノイズのないワールドだけが勾配の変化を生成するので)。これらの状況では、勾配の正確な推定値を得ることが非常に重要であり、そうでなければ、推定された深さは、ワールドの対象の実際の深さと著しく異なることになる。この意味で、センサは有限画素で離散化されるので、プレノプティックカメラで勾配を測定するときに誤差が常に導入されることに留意されたい。
図11A~11Cは、カメラからある距離に位置する対象の深さを測定するときにプレノプティックカメラ100によって捕捉される水平エピポーラ画像400の3つの異なる実施例を示す。3つの水平エピポーラ画像400の間の差は、たとえ距離が3つの場合において正確に同じであっても、プレノプティックカメラ100の操作者の手が、振動に起因する位置のわずかに異なる変化を生じさせたという事実が、3つのわずかに異なる読み取りを生じさせたことである。理想的には、3つのエピポーラ線は正確に等しくなければならない。しかし、システムに固有のノイズのため、および光がわずかに異なる画素を照明しているため、エピポーラ線のゼロ交差もわずかに異なる位置にあり、それぞれ線形回帰1102、1104、および1106を適用した後に3つの異なる値の勾配を生成する。図11Aおよび図11Cが極端な場合(カメラまでの特定の距離における特定の対象についての最大および最小の可能な勾配測定値)であると仮定すると、不確実性領域は、これらの2つの限界の間で定義され得る。この領域の一例が図11Dに示されており、図11Bの水平エピポーラ画像400は、その対応する線形回帰および極端な値に対応する線形回帰を用いて表されている。この不確実性の範囲内の勾配の1つの正確な値のみが、深さの正確な正しい値を生成するであろう。
この精度の不足により、プレノプティックカメラ100における推定深度の精度は、深度が増加するにつれて低下する。図12は、比較的短い距離および比較的長い距離に位置する対象の距離を測定する場合の、あるプレノプティックカメラ100の不確実性を示す。この図12は、カメラからの異なる距離(2つの点線の垂直線1206および1208)に位置する2つの対象(横軸は距離とともに増加する)の深度を計算するときにプレノプティックカメラ100で得られた深度測定値の統計的分布1202および1204(または、常に同じ距離に位置する対象を有するカメラのわずかに異なる読み取り値から生じる、垂直軸上の可能な変動)の2つの例を示す。横軸は、プレノプティックカメラ100からの深度または距離を表し、縦軸は、常に同じ距離にある対象ワールドの点に対して同じ深度値を提供した測定値の数である。左側の曲線1202は、比較的短い距離に位置する対象を測定する場合の分布を示し、一方、グラフの右側の曲線1204は、同じカメラであるが、ここでは、より長い距離に位置する対象で得られた分布を表す。図12に示すように、推定深さの不確実性は、距離が大きくなるにつれて増大し、推定深さの分散も増大する。これが、単一のプレノプティックカメラが比較的短い距離に対してのみ良好な深度推定を提供する理由である。
本発明の別の実施形態によれば、単一のプレノプティックカメラ・カメラによって提供される容量を増強し、マルチビューシステムを形成する追加のカメラの情報を使用することによって提供される低勾配変動によって導入される大距離の測定の不確実性を大幅に低減する、深度マップを取得するための方法およびシステムが提供される。この改良された実施形態は、後述するように、アレイ状構成の多数のカメラを含む多数の非常に複雑なカメラ構成に適用することができる。1つ以上の従来のカメラ1304を1つ以上のプレノプティックカメラ100と組み合わせて、特定の間隔D(典型的には、モバイル装置においてカメラを使用する場合、数センチメートル)で使用することによって、長い距離の測定の不確実性が低減される。
図13A~13Eは、プレノプティックカメラ100と、ある距離Dにあるいくつかの従来のカメラ1304とを使用する可能なマルチビューシステム構成のいくつかの実施例を示すが、プレノプティックカメラ100と各従来のカメラ1304との間の距離は、従来のカメラ1304ごとに変化し得る。カメラは、例えば、スマートフォンまたはタブレットなどのモバイル装置1300のリアカメラとして組み込まれてもよい。図13Aの実施形態は、距離Dだけ離れた従来のカメラ1304と水平に位置合わせされたプレノプティックカメラ100を表し、図13Bは、従来のカメラ1304と水平に位置合わせされ、第2の従来のカメラ1304とも垂直に位置合わせされたプレノプティックカメラ100を示す。図13Cの実施形態は、2つの従来のカメラ1304と、1つは右側に、1つは左側に、水平に位置合わせされ、第3の従来のカメラ1304と垂直に位置合わせされた、プレノプティックカメラ100を示す。図13Dの例は、各次元において2つの従来のカメラ1304と水平および垂直に位置合わせされたプレノプティックカメラ100を示す。最後に、図13Eは、1つが右側にあり、1つが左側にある、2つの従来のカメラ1304と水平に位置合わせされたプレノプティックカメラ100を組み込んだモバイル装置1300を示す。
しかし、明確さおよび簡潔さのために、限定としてではなく、本明細書では、図13Aの例に示されるように、画像捕捉システムまたはカメラセットアップが、プレノプティックカメラ100と、水平軸上のある距離Dに配置された従来のカメラ1304とを備える実施形態のための改善された方法を説明する。一旦、従来のカメラのための方法が説明されると、いくつかの従来のカメラ1304を使用する実施形態に方法を複製することは、簡単である。垂直エピポーラ画像402を使用することもできるが、改善された方法は、水平エピポーラ画像400についても説明される。
深度情報を得るための改良された方法は、プレノプティックカメラ100について前述した深度推定手順に基づいており、エピポーラ画像に形成されたエピポーラ線の勾配が計算され、最終的に対象ワールドの特定の深度に関連づけられる。しかし、改善されたシステムおよび方法の主な貢献の1つは、プレノプティックカメラ100の追加のビューとして1つまたは複数の従来のカメラ1304によって提供される2D画像の使用である。この新規プレノプティックビューは、プレノプティックカメラ100からある距離に位置する。必要とされる技術を用いて適切に適合させることによって、2D画像は、プレノプティックシステムのベースラインを劇的に延長するために使用することができる。したがって、プレノプティックカメラ100のエピポーラ線も、従来のカメラ1304によって提供される新規プレノプティックビューで延長することができる。この延長手順は、エピポーラ線の勾配を測定するときの精度を改善するために使用される。
従来のカメラ1304の情報は、より高い精度で勾配を測定するために使用される。しかし、この追加情報を使用するためには、従来のカメラ1304の2D画像とプレノプティックカメラ100のプレノプティックビューとの間の等価性を見つける必要がある。これを達成するために、カメラ間の距離、ならびに視野、画素サイズ、センササイズ、マイクロレンズのサイズなどの差を考慮しなければならない。このプロセスは、図14で説明される。図14では、プレノプティックカメラ100から、および従来のカメラ1304からある距離に位置する点が、従来のカメラ1304のイメージセンサ1400内のエッジ画素(cx,cy)1402と、プレノプティックカメラ100のイメージセンサ106内のいくつかの画素およびマイクロイメージ112とを照明する様子が図示されている。これにより、プレノプティックカメラ・カメライメージセンサ106によって捕捉された水平エピポーラ画像400に対する追加の線を含めることが可能になり、前記追加の線は、従来のカメラ画像センサ1400の延長線1406である。この延長線1406は、プレノプティックカメラ100の追加のプレノプティックビューと考えられる。図15に示すように、延長線1406の位置は、(プレノプティックカメラ100と従来のカメラ1304との間の距離Dに直接関係する)垂直距離Bと、(両カメラの共通フィールドが一致する)水平方向オフセット距離Hとの2つのオフセットによって決定される。さらに、プレノプティックカメラ100の行(py、ly)(エピポーラ画像400を形成する)に対応する従来のカメラ画像1412の行cy(延長線1406に対応する)を得ることも必要である。これらの等価性はすべて、両方のカメラの固有パラメータおよびそれらの位置合わせ(相対位置)にのみ依存する。これらを得るための手順を以下に説明する。
上述したプロセスに続いて、従来のカメラ1304から得られた延長線1406は、図15で説明したように、ある距離Dにおけるプレノプティックカメラ100の余分なビューとして使用される。したがって、プレノプティックカメラ100のエピポーラ画像400からのみ得られたエピポーラ線1404の線形回帰1506は、延長線1406まで延長される。(従来のカメラセンサ1400の画素(cx'、cy')に対応する)この交点1504の周りに、領域1512が、従来のカメラ1304の対応するエッジ画素(cx、cy)1402を探索するために定義される。このエッジ画素(cx、cy)1402は、エピポーラ画像400のエピポーラ線1404を形成する画素と同じワールド内の対象のエッジに対応する。ウィンドウ1512内のすべての画素の中からエッジ画素1402を見つけるための処理対応アルゴリズムのこのステップが実行され、前記エッジ画素1402は、エピポーラ線1404を形成する画素に最も類似した画素に対応する。
対応するエッジ画素1402が見つかると、エピポーラ線1404の画素およびエッジ画素1402は、延長エピポーラ線1408を形成する。延長エピポーラ線1408の画素は、線形回帰1508および再計算された勾配を得るために、新しい線形回帰手順を実行するために使用される。新しい勾配を計算するために、サブ画素精度で延長エピポーラ線1408に対応するエッジを計算する手順が、例えば、延長エピポーラ線1408の1x方向(または垂直エピポーラ線のly方向)に沿った2次導関数のゼロ交差を得ることによって使用されてもよい。延長線1406の方向における従来のカメラの点の二次導関数は、Cx方向に沿って適用してもよい。
従来のカメラによって提供される情報のために、延長エピポーラ線1408に関連する線形回帰1508の新しい勾配は、ノイズのないワールドで無限小の画素で得られた理想的な勾配1514にはるかに近く、プレノプティックカメラ100によって提供される画素のみが使用された第1の推定1506よりもはるかに良好である。
プレノプティックカメラの深度推定精度を高めるための手順全体は、図16Aおよび図16Bのフロー図に示すように、2つの段階に要約することができる。エピポーラ画像を延長する手順は、水平エピポーラ画像についてのみ説明されるが、この分析を、従来のカメラが縦軸に配置され、垂直エピポーラ画像が水平エピポーラ画像の代わりに考慮されるシナリオに延長することは簡単である。
カメラの較正に対応する第1の段階1600は、以下の通りである。
1602において、垂直分離Bの決定。ここでは、従来のカメラ映像1412の延長線1406が水平エピポーラ画像400に追加されなければならない(垂直分離Bは、プレノプティックカメラ100と従来のカメラ1304との間の距離Dに依存する)。
1604において、従来のカメラ1304の延長線1406がプレノプティックカメラ100の水平エピポーラ画像400に含まれる場合(水平方向の両方のカメラの共通フィールドに一致させるため)、それらの延長線1406に適用されなければならない水平方向オフセット距離Hの決定。
1606において、視野、画素のサイズ、および両方のカメラの位置を考慮に入れて、プレノプティックカメラの空間位置と従来のカメラの空間位置との間の関係を得る。特に、水平エピポーラ画像400に適用される場合、プレノプティックカメラ100の空間次元lyと従来のカメラ1304の空間次元cyとの間の関係を、垂直視野、画素のサイズ、および両方のカメラの位置に従って取得する。
第2のステージ1610は、勾配計算に対応し、これによって勾配精度が向上する。プレノプティックカメラ100の水平エピポーラ画像400に見られる各エピポーラ線1404について、以下を行う。
1612において、プレノプティックカメラ100のエピポーラ画像400において、エピポーラ線1404の画素と対応する線形回帰1506のみを考慮して、勾配の第1の推定値を計算する。
1614において、プレノプティックカメラ100の水平エピポーラ画像400の垂直座標(ly、py)に対応する従来のカメラ画像1412のcy線(延長線1306)を取得する。この行cyは、プレノプティックカメラ・カメラ画像におけるエピポーラ線のエッジ画素とワールド内の同じ対象に対応する従来のカメラ画像における特定のエッジ画素1402を含む。
1616において、第1の段階1600で先に得られた水平方向オフセット距離Hおよび垂直分離Bに従って、延長線1406を配置することによって、エピポーラ画像400を延長する。
1618において、プレノプティックカメラ線形回帰1506と延長線1406との交点1504を計算し、従来のカメラ画像の対応する画素(cx',cy')を得る。
1620において、従来のカメラの延長線1406のエッジ画素1402が求められる画素(cx',cy')(交点1504)の周りにウィンドウ1512(図17Aおよび17Bにそれぞれ示すように、1次元ウィンドウ1512または2次元ウィンドウ1512'とすることができる。図17Bの例では、2Dウィンドウ1512'は、3つの画素の行c'y-1、行c'y、および行c'y+1によって形成されている)を画定する。
1622において、エピポーラ線1404によって表されるワールドの対象点に最もよく一致する、従来のカメライメージ1412内のエッジ画素1402(cx,cy)を見つけるために、対応法を適用する。エッジ画素1402は、エピポーラ線1404によって表されるエッジ点と対象ワールドの同じ点に対応する従来のカメラ画像1412内の点である。
最後に、1624において、エピポーラ線1404の画素とエッジ画素1402とによって形成される延長エピポーラ線1408に線形回帰法技術を適用し、線形回帰法1508の勾配を算出する。そのために、一実施形態では、線形回帰が、水平エピポーラ画像400のエピポーラ線1404のエッジ画素の1x方向(または垂直エピポーラ画像の場合はly)の2次導関数のゼロ交差と、従来のカメラ画像1412のcx方向(線1406に沿った)に沿ったエッジ画素1402の周りの値の2次導関数のゼロ交差とによって形成される点のセットに適用される。
この手順を、図13B~13E、またはプレノプティックカメラ100および従来のカメラ1304の2次元アレイを備える、本発明によるマルチビューシステムの別の可能な実施形態を表す図18に示されるものなど、他のマルチビューカメラセットアップに延長することは簡単である。限定ではなく例として、プレノプティックカメラが4つの従来のカメラ(図13Dの例のように、プレノプティックカメラの上部に1つ、下部に1つ、左に1つ、右に1つ)によって囲まれる場合、プレノプティックカメラ100によって提供される水平400エピポーラ画像および垂直402エピポーラ画像の両方を、水平エピポーラ画像400および垂直エピポーラ画像402の上部および下部に水平延長線1406を追加して延長することができる。前記延長線1406は、従来のカメラ画像センサ1400によって取り込まれる画像1412の(水平/垂直エピポーラ画像のための)水平/垂直線に対応する。したがって、従来のカメラだけ1つではなく4つを有することによって、測定数を増やすことによってノイズの影響を減らし、追加の冗長性が得られる。水平エピポーラ画像は、延長線1406(右側の第1の従来のカメラ1304については図14および15のように下部に適切な距離で配置された水平線、および左側の第2の従来のカメラ1304については上部に適切な距離で配置された水平線)で延長され、右および左の従来のカメラによって提供される線である。一方、垂直エピポーラ画像は、上部および下部の従来のカメラから垂直延長線1406(適切な距離で配置された従来のカメラ画像1412の垂直線)で延長される。複数の従来のカメラ1304を用いてエピポーラ画像(400、402)を適切に延長するために、垂直間隔Bおよび水平オフセットHは、それらの位置およびそれらの物理的パラメータに応じて、追加の個々の従来のカメラ1304ごとに計算されなければならない。
プレノプティックカメラと従来のカメラとの間の分離は、単一のプレノプティックカメラのベースラインよりもはるかに大きいので、プレノプティックカメラのエピポーラ線エッジ画素のセットに加えて、従来のカメラのエッジ画素1402によって形成される新しい延長されたエピポーラ線1408において顕著な勾配変化を生成するために、比較的大きな距離において、より小さな深さ変動が必要とされることに留意されたい。延長エピポーラ線1408の線形回帰1508の新しい勾配を使用して、対象ワールドにおけるエッジポイントの非常に正確な深度を決定することができる。これは、図14および図15に示すように、従来のカメラのエッジ画素1402が識別され、延長エピポーラ線1408(および対応する線形回帰1508)が生成されると、プレノプティックカメラのエピポーラ線1404からの勾配の不確実性(または同様に、図11A~図11Dの例では勾配1104の周りの勾配1102および1106によって画定される不確実性)が大幅に低減されることを意味する。この不確実性の大幅な低減は、図19Aおよび図19Bに示されている。図19Aは、プレノプティックカメラのみを使用して、ある大きな深さについて得られた分布1902を示し、一方、図19Bは、プレノプティックカメラおよび従来のカメラ情報を考慮して、同じ対象について得られた分布1904を示す。従来のカメラによって提供される情報が使用される場合、分散(したがって、不確実性)がどれほど狭いかに留意されたい。
エピポーラ画像を延長するプロセスの第1の段階1600は、従来のカメラの2D画像を追加のプレノプティックビューとして使用するために、光学系のいくつかの物理的パラメータの知識を必要とする。第1に、従来のカメラの延長線1406とエピポーラ画像400の中心(特に、中心水平線1516)との間の間隔Bは、従来のカメラ1304とプレノプティックカメラ100との間の距離D(2つのカメラ間のベースラインに関連する)に直接関連する。エピポーラ画像400の各行1510は、プレノプティックカメラの異なるプレノプティックビューに対応し、視界はプレノプティックカメラのアパーチャに沿って分配されるので、従来のカメラ映像1412の延長線1406の位置を得ることは簡単である(プレノプティックカメラ100と従来のカメラ1304との間の距離Dに対応する画素における垂直間隔Bにおける追加のビューだけ、図15を参照)。一例として、本発明の一般性を制限することなく、プレノプティックカメラと従来のカメラとの間の典型的な分離は、約5cmとすることができ、プレノプティックビューの数(各マイクロレンズ106下の画素数に等しい)は、通常、約10×10であり、ミニカメラのアパーチャ200は、典型的には、約1mmとすることができる(したがって、プレノプティックビュー間のピッチは、この例では、1/10mmである)。したがって、水平エピポーラ画像400の中心水平線1516と従来のカメラの延長線1406との間の間隔B(プレノプティックカメラの中心プレノプティックビュー間)は、5cmベースライン(両方のカメラ間の間隔)とプレノプティックカメラのプレノプティックビュー間のピッチとの間の分数である。
各プレノプティックビューは、エピポーラ画像内の行として表されるので、エピポーラ画像400の中央行(中央水平線1516)と従来のカメラ延長線1406との間の縦寸法における間隔Bは、図15に示されるように、(エピポーラ画像の連続する行1510間の間隔dが1画素であることを考慮に入れて)実施例では500画素である。
エピポーラ延長手順の第1の段階1600で必要とされる別の物理的パラメータは、水平オフセットHであり、これは、両方のカメラの視野の共通部分が、プレノプティックビュー(上記の例では10×10のカメラ)と位置合わせされた追加のカメラとして線1406を考慮するように整合されることを確実にするように計算される。通常、従来のカメラのセンサは、プレノプティックカメラとはわずかに異なる実ワールドの部分から、それらの間の分離のために、光を受け取っている。さらに、両方のカメラの視野(FOV)は、(たとえ、両方のFOVを全く同じように設計する大部分の場合でも)異なり得、これは、実ワールドの異なる部分も取り込むことを意味する。
従来のカメラ画像センサの水平方向オフセット距離Hは、延長されたエピポーラ線1408の線形回帰1508の勾配を適切に推定するために、これらすべての要因を考慮に入れなければならない。図15から分かるように、延長線1406に適用された不正確な水平方向オフセット距離Hは、延長されたエピポーラ線1408の勾配の誤った推定を生成する。好ましい実施形態では、図20Aに示すように、水平方向オフセット距離Hは、実験的に計算される。この実験は、プレノプティックカメラ100の光軸2004に位置合わせされた発光点2002を配置することからなる。さらに、この発光点2002は、プレノプティックカメラ100のマイクロレンズアレイ104の共役面に対応するプレノプティックカメラ100の主レンズ102に対して距離2006の位置に配置される。その特定のシナリオでは、すべてのプレノプティックビューは、正確に同じパターンを取り込み、エピポーラ画像は、(図4Dおよび図20Bに示されるように)完全に垂直なエピポーラ線430を含む。
一方、従来のカメラ1304はプレノプティックカメラ100からある距離Dだけ離れているので、点2002は、従来のカメラ1304のセンサの中心とは異なるある画素2010を照明する(従来のカメラ映像センサ1400が従来のカメラの光軸と位置合わせされていると仮定するので)。図20Bは、完全に垂直なエピポーラ線430を含むプレノプティックカメラの水平エピポーラ画像400と、照明された画素2010を含む従来のカメラ画像センサ1400の画素2012(cx=1、..、cx=cx_max)の水平線とを示す。両方のカメラが水平に整列されている場合、この線2012はセンサの中心線に対応し、そうでなければ、従来のカメラ1304のイメージセンサ1400上で画素2010を見つけるために、単純な検索が実行されなければならないことに留意されたい。画素2010および水平線2012の位置が特定されると、エピポーラ線430と完全に位置合わせされた画素2010を得るために適用されなければならない水平オフセットHは、図20Bで直接計算することができる。
従来のカメラ映像1400のライン2012の垂直間隔Bおよび水平オフセットHが決定されると、プレノプティックカメラの空間座標(lx,ly)と従来のカメラの空間座標(cx,cy)との間の関係が、エピポーラ画像(400,402)内に見出されるエピポーラ線を適切に延長するために見出されなければならない。水平エピポーラ画像400(py,ly)では、行は、px次元に沿って異なるプレノプティックビューによって取り込まれた同じ空間位置lyを表す(図14の例では、エピポーラ画像400の第1行はpx=1に対応し、最後の行はpx=9に対応する)。したがって、水平エピポーラ画像400に追加しなければならない従来のカメラ映像の延長線1406を適切に選択するためには、lyと従来のカメラ画像1400の縦寸法cyとの間の等価性を見つけなければならない。
好ましい実施形態では、この関係は、図20Aに提示されたものと同様の構成を使用することによって見出すことができるが、発光点2002を使用する代わりに、従来のカメラ1304のより多くの画素2010およびプレノプティックカメラ100のより多くのマイクロレンズを照明するより大きなパターンが使用される。(cx、cy)と(lx、ly)との間の対応は、従来のカメラのセンサ上に生成されたパターンScのサイズ(照明された画素の数)と、プレノプティックカメラのマイクロレンズアレイ上に生成されたパターンSpのサイズ(照明されたマイクロレンズの数)とを特定することによって得られる。両方のサイズを比較することによって、両方の空間座標間の関係が得られるが、それにもかかわらず、水平オフセットHも考慮しなければならない。したがって、従来のカメラ1304をプレノプティックカメラ100の水平軸上に位置合わせすると、次の関係を得ることができる。
cx=lx・Scx/Spx+hor_offset
cy=ly・Scy/Spy+ver_offset
ここで、SpxおよびScxは、それぞれプレノプティックカメラ100および従来のカメラ1304上に生成されたパターンのx次元におけるサイズである。同様に、SpyおよびScyは、それぞれプレノプティックカメラ100および従来のカメラ1304上に生成されたパターンのy次元におけるサイズである。パラメータhor_offsetは、先に得られた水平オフセットHである。一方、パラメータver_offsetは、プレノプティックカメラ100及び従来のカメラ1304が横軸に完全に整列している場合にはゼロである。そうでなければ、図20Aおよび20Bで説明したものと同様の実験(ただし、垂直エピポーラ画像402を用いる)が、縦軸における位置ずれを補償するために垂直オフセットを得るために使用されなければならない。
少なくとも1つの実施形態では、対応するサイズを計算するためにパターンのエッジの2次導関数のゼロ交差を使用することが可能であるので、サイズSpx、Scx、Spy、およびScyを計算するときにサブ画素精度を使用して、これらの関係を見つける手順が実行される。同様に、画素2010のゼロ交差をエピポーラ線430と整列させることによって、サブ画素精度で水平オフセットHを得ることができる。
プロセスのこの時点で、図16Aの第1の段階1600が完了し、異なるカメラが較正される。次に、プレノプティックカメラの勾配の精度を高めるために、第2の段階1610が開始される。
エピポーラ画像内で検出された各エピポーラ線1404について、従来のカメラ画像の延長線1406内の対応するエッジ画素1402を見つけなければならない。少なくとも1つの実施形態では、各エピポーラ線1404の勾配は、まず、(プレノプティックカメラにおいてサブ画素精度で計算された2次導関数の対応するゼロ交差を使用して)対象ワールドのエッジとして識別された点のみを考慮する線形回帰法によって計算され、線形回帰線1506が得られる。その後、対応する延長線1406は、上で説明した理論的根拠、すなわち、lyとcyと垂直オフセットとの間の関係、およびlxとcxと水平オフセットHとの間の関係を使って、従来のカメラ画像1412から識別されなければならない。
次に、水平オフセットH及び間隔Bを考慮して、線1406を延長し、従来のカメラの延長線1306との交点1404を計算する。対応する画素(cx',cy')を得るためには、cxとlxとの間の関係を適用しなければならない。この画素は、エッジ画素1302を探す従来のカメラの延長線1306内の領域1412を決定するために使用される。この点は、対象ワールドにおける、プレノプティック・エピポーラ線1304の画素と同じエッジに対応する。
少なくとも1つの実施形態では、プレノプティックカメラのエピポーラ線1404を形成する画素と対象ワールドの同じエッジに対応する従来のカメラ1304のエッジ画素1402を探すために、任意の数の画素を有する1次元ウィンドウ1512が、線1406内の考慮される領域として使用される。
少なくとも1つの実施形態では、従来のカメラ画像1412の線cy1406に隣接する線を考慮した2次元ウィンドウ1512'を使用することも可能である。少なくとも1つの実施形態では、このウィンドウ1512の幅(および2Dウィンドウ1512'内の高さ)は、プレノプティックカメラのみで特定の深度を推定するときに得られる分散に従って選択される(図11Dの点線1102および1106、ならびに図12の分散曲線1202および1204を参照されたい)。このウィンドウは非対称となることがあり、すなわち、画素(cx',cy')の左側で考慮される画素数は、その画素の右側で考慮される画素数と異なることがある。
従来のカメラ1304の画像1412内のある画素数の1Dウィンドウ1512または2Dウィンドウ1512'が画素1504の周りに定義されると、いくつかの可能な候補のうちのどの画素がエッジ画素1402であるか、すなわち、エピポーラ線1404を形成するエッジ画素に最もよく一致する(すなわち、最も類似した画素)画素に対応する、対象ワールド内の同じ光源によって生成された従来のカメラ1304内の画素であるかを識別する必要がある。2つのカメラからの画像を整合させるために、いくつかの技法を使用することができる(絶対差のSAD-Sum、相関、エントロピー、または偏差の任意の他の定量的測定の)。可能な実施形態では、プレノプティックカメラにおける比較のための基準として、エピポーラ線1404の中央画素を使用する。それは、中央画素を生成する交戦は、プレノプティックカメラ100の主レンズ102の中央部分を横切り、対応するマイクロレンズ104を低角度で横切り、収差が最も小さいためである。。
識別を実行するためのロバストな方法は、単一の画素を比較する代わりにパターンを一致させることであり、その結果、対象ワールドの特定の部分をより容易に識別することができる。これらのパターンは、対象ワールドの隣接する部分に対応する中心画素に隣接する画素をとることによって形成することができる。プレノプティックカメラでは、対象ワールドのこれらの隣接する部分は、隣接するマイクロレンズによってサンプリングされる。一例として、従来のカメラで見つけられるエッジ画素1402が、マイクロイメージ(lx、ly)の中心(px=5,py=5)に位置するエピポーラ線1404の中心画素と、ワールドの同じ対象に対応すると仮定する。次に、画素1402を適切に識別するために、エピポーラ線1404のこの中心画素の周りでマッチングされるべきパターンは、4つの隣接するマイクロイメージ(lx+1,ly)、(lx-1,ly)、(lx、ly)、(lx、ly+1)、(lx、ly-1)から、4つの周囲の中心画素(px=5、py=5)を考慮して定義される。このようにして、5つのプレノプティックカメラ中心視野からの最小収差点(マイクロ画像当たり9×9画素のすべてのマイクロ画像におけるpx=5、py=5)のみが考慮される。プレノプティックカメラ100の参照パターンが画定されると、従来のカメラ1304のイメージセンサ1412において、同数の画素のパターンが画定される。具体的には、ウィンドウ1512内の延長線1406の各画素に対して1つのパターンが定義される。この基準パターンは、異なるサイズを有することもできるし、1Dパターンであってもよい。
一実施形態では、従来のカメラ1304の画素は、プレノプティックカメラ100のマイクロレンズよりもはるかに小さく、したがって、単一のマイクロレンズは、従来のカメラ1304の単一の画素によって統合されたものよりも、対象ワールドのはるかに大きな部分から来る光を統合している(図15を参照)。このようなシナリオでは、従来のカメラのイメージセンサ上に画定されたパターンは、同じ空間領域を適切に識別するためにより多くの画素を含まなければならない(プレノプティックカメラ100の比較的大きなサイズの単一マイクロレンズ105上にその光を投影するワールドの領域は、従来のカメラ1304のより多くの比較的小さな画素上にその光を投影するので)。
もし、両方のカメラ内のセンサが同じサイズ(例えば、両方とも10メガ画素センサ)であり、マイクロ画像112当たりの画素数が、上記の例では、例えば10×10(100画素)ならば、プレノプティックカメラ内のこれらの5つの画素(基準画素(lx,ly)およびその4つの接続された隣接画素)によって形成されるパターンを、従来のカメラ内の500画素のパターン(領域1512内の各画素当たり1つのパターン)と一致させなければならないだろう。従来のカメラのこれらのパターンの各々は、各々が10×10画素の5つの正方形によって形成される。このように、従来のカメラ1画素数対10×10画素数の単なる簡単なる比較に対して、解決策のロバスト性が改善される。しかし、上記の例では、従来のカメラ1304のイメージセンサが40メガ画素センサならば、プレノプティックカメラの中心プレノプティックビューからの5つの中心画素のパターンを、従来のカメラの2000画素のパターン(従来のカメラ映像センサ1412の20×20画素の5つの正方形)と一致させなければならず、このビューでは深度結果の精度が改善される。
パターン・マッチング・アルゴリズム(エントロピー、相関、SAD、。。.)は、最終的に、エピポーラ線1404の中心画素に最もよくマッチする従来のカメラ1304内の画素を生成する。例えば、前の例でSAD(絶対差の和)を使用していた場合、プレノプティックカメラの参照パターンの5つの画素の強度値(i,j)は、例えば、従来のカメラの各候補画素の周りに定義されたパターンの500画素(k、l)の強度値の平均に減算される。これらの減算のすべての絶対値の合計は、ウィンドウ1512内のすべての候補画素について計算され、従来のカメラの領域1512内のすべての候補画素について一意の値が得られる。最終的に選択される画素は、最小の差(最小のSAD値)を有する画素であり、プレノプティックカメラのエピポーラ線を延長するために使用される。
したがって、対応アルゴリズムを適用することによって、従来のカメラのエッジ画素1402が見つけられる。この余分な画素(余分なプレノプティックビューとして機能する)を用いて、延長エピポーラ線1408の線形回帰1508の勾配は、線形回帰技術(または任意の他のフィッティング方法)を、従来のカメラ画像1412において見出されるエッジ画素1402の二次導関数のゼロ交差と、プレノプティックカメラ100のエピポーラ画像400において見出されるエピポーラ線1404を形成する画素の二次導関数のゼロ交差とによって形成される点のセットに適用することによって計算される。プレノプティックカメラ100のエピポーラ画像400および従来のカメラ1304の画像1412において実行される線形回帰およびエッジ検出の両方が、サブ画素精度を使用して計算され得ることに留意されたい。少なくとも1つの実施形態では、延長エピポーラ線1408の線形回帰を計算するとき、従来のカメラ1304で検出されたエッジ画素1402の第2の空間導関数のゼロ交差は、プレノプティックカメラ100で検出されたエピポーラ線1404のエッジ画素の第2の導関数のゼロ交差よりも重要度を割り当てることができる(例えば、エッジ画素1402のゼロ交差の重みを、エピポーラ線1404の残りのゼロ交差点に割り当てられた重みよりも高い値を割り当てることによって)。
少なくとも1つの実施形態では、従来のカメラは、プレノプティックビューと光学的に同等であるように設計することができる。理想的には、これは、水平オフセットHがゼロであり、プレノプティックビューの空間座標(lx、ly)が、従来のカメラの空間座標(cx,cy)と直接同等であることを意味する。このシステムは、プレノプティックカメラと、シフトされたプレノプティックビューと機能的に同等である従来のカメラとによって構成されてもよく、すなわち、従来のカメラの画素の数は、プレノプティックカメラのマイクロレンズの数に等しく、従来のカメラの画素のサイズは、プレノプティックカメラのマイクロレンズのサイズと同じである。さらに、プレノプティックカメラ100の主レンズ102とマイクロレンズ配列104との間の距離2016は、主レンズ2020と従来のカメラ1304のイメージセンサ1400との間の距離2014と、両方の焦点距離と同じであり、両方のカメラについても同じである。この実施形態では、従来のカメラ画素とプレノプティックカメラマイクロレンズとの間の関係(lx、ly)と(cx、cy)との間の関係は単純であり、両カメラ間の距離Dと、両カメラによって捕捉された視野の差のみが、エピポーラ線を延長する前に考慮されなければならない(従来のカメラは、プレノプティックカメラとはシーンの異なる部分を捕捉することができるので、例えば、先にコメントした図20Aおよび20Bの実験に従って、水平方向オフセットHを計算しなければならない)。
本発明はまた、ステレオペアのみ、またはプレノプティックカメラのみを使用して達成することができる再フォーカシング性能を改善する。先に述べたように、任意のイメージング・システムにおいて深度を推定できるようにするための要件は、シーンの関心領域に焦点を合わせなければならず、そうでなければ、ワールド中の異なる空間位置からの情報がセンサ内で混合される。プレノプティックカメラでは、アパーチャが複数の同等のビューに分割されるので(非常に小さいアパーチャ、したがって、フィールドの深度が大きい)、シーンが合焦される深度範囲が効果的に増大される。
この要件は、画像を特定の深さ平面に再フォーカスしたい場合にも適用される。再フォーカシングプロセスは、本質的に、システムのセンサが所望の深さの共役距離に配置されているかのようにビューを組み合わせるために、焦点が合っていることが望まれる深さ平面に応じて、シーンの異なる取り込まれたビューを適切に混合することからなる(例えば、プレノプティックカメラの特定の場合、マイクロレンズアレイの仮想フィルムは、マイクロレンズアレイ平面の前または後に「仮想フィルム」を得るために前方および後方の少なくとも何れかに伝播され得る)。したがって、ビューが異なれば異なるほど、再フォーカシング効果をより現実的に達成することができる。再フォーカシング効果を実行するための別の可能性は、所望の深さと同じ深さ平面に位置しないシーンの部分を(例えばガウスフィルタを用いて)ぼかすことである(実際には、これは、我々が焦点を外すことを望む特定の既知の深さで領域をぼかすことによる焦点ずれである)。これは、シーンの既知の深度マップを考慮して簡単に実行することができる。
上記から明らかなように、再フォーカス性能は深度推定の性能に直接関連し、距離がより確実に推定されるほど、再フォーカス効果がより良好に達成される。この原理は、任意の撮像システムに対して有効である。
図13A~13Eに示される実施形態は、深度推定性能を改善し(推定深度値の不確実性を大幅に低減する)、また、単一のプレノプティックカメラまたは従来のマルチビューシステムと比較して、より長い距離を推定することを可能にする。また、再フォーカシング性能も向上する。
プレノプティックカメラは、カメラから比較的短い距離で深度測定の精度を失い始めるので、プレノプティックカメラにおける再焦点合わせプロセスは、距離が増加するにつれてもはや効果的ではなくなる(スマートフォンの数mmのミニカメラの場合、約1メートルであり、手持ちドカメラの場合、より大きな実用的なレンズでは、それほど効果的ではない)。プレノプティックカメラ100の隣接するプレノプティックビュー間の比較的小さいベースライン(前の例では1mmの10分の1)のために、ある距離を超えると、光線は、無限の距離から来た場合には、ほぼ平行にカメラに到着し、したがって、例えば、2メートルまたは3メートルと無限の距離とを区別することは不可能であり、2メートルまたは3メートルを超えると、再フォーカスは不可能になり、1メートル未満の距離に対してのみ充分に機能する。
図13A以降で説明されるマルチビューシステムは、短い距離に対してプレノプティックカメラ100の良好な性能を効果的に組み合わせ、また、長い距離に対して複数のカメラシステムのより大きなベースラインを利用する。再フォーカシング効果を最大にするために、マルチビューシステムの被写界深度をできるだけ広げることが必要である。
これを達成するために、少なくとも1つの実施形態では、従来のカメラ1304の過焦点距離は、無限遠と距離T(通常、過焦点距離の半分、例えば、1メートル)との間で、すべてが許容可能な鮮鋭度を有するように設計され、プレノプティックカメラ100のEFL(有効焦点距離)(数ミリメートル)に近づく対象の距離を推定するための限界に到達しても、距離からカメラに非常に近い距離Tまでの許容可能な不確実性で距離を測定できるように、プレノプティックカメラ100を相補的に設計する。
一実施形態によれば、本発明は、(非常に近い対象から、対象の距離を徐々に増加させ、最終的にはいくつかの対象について無限遠に到達する)対象ワールドの多くの異なる距離に位置する多くの異なる対象でさえ、シーンの全焦点画像を取得することを可能にする。例であって、限定されるものではないが、一実施形態は、プレノプティックカメラの標準的なリフォーカス方法を適用して、カメラと距離Tとの間に位置する対象にフォーカスされた画像を取得する。最終的な全焦点画像は、各再フォーカス画像の最も鮮明な対象を撮影することによって構成され、一方、距離Tの範囲及び無限遠内のすべての対象が合焦しているので、距離Tよりも遠い範囲に位置する対象については、従来のカメラ1304の画像から単にそれらを撮影する。
同様に、本発明はまた、単一のプレノプティックカメラまたはステレオペアのような従来のシステムを克服して、撮影された後に、写真を特定の深さ平面に再フォーカシングするために使用され得る。先に説明したように、本発明は、マルチビューシステムを使用することによってプレノプティックカメラの距離特定性能を増大させる。これにより、距離Tよりも遠くに位置する対象について精度良く距離を算出することができ、例えば、AからBまでの距離の間の小さな範囲(合焦範囲を定義するためにユーザが選択したAとBである)に合焦するような芸術的な写真効果を生成することができる。Aよりも長くBよりも短い距離の画像は、プレノプティックカメラ100の焦点を外すことによって(A及びBがTよりも小さい場合)、又は従来のカメラ画像を単にデジタルフィルタリング(ぼかしフィルタ)することによって生成することができ、それは、我々は、長い距離に対しても信頼性のある深度マップを有しているので、マルチビューシステムにおいて可能であり、ユーザによって選択された距離の範囲内で焦点を外すことを選択することができる。
記載された全てのアプリケーションはまた、プレノプティックビューの解像度を増加させるために適用され得る超解像方法と互換性がある。さらに、適切な画像処理ルーチンによってプレノプティックカメラと従来のカメラの画像を混合することによって、プレノプティックビューの低解像度を高めることが可能である。
既に説明した利点に加えて、本発明は、現代のミクロン・画素・カメラの焦点合わせに必要なモータ(またはMEMS)の使用を回避することができる(焦点合わせは、従来のカメラでは長い距離に対して、プレノプティックカメラ・カメラでは短い距離に対してデジタル的に実行されるので)。また、コストを下げ、信頼性を高め、ユーザが、写真が取られた後に、全焦点画像を望む場合には、全焦点画像を提供される。しかし、これは本発明の限定ではなく、可変焦点を有するカメラによっても使用することができる。
本発明は、より高品質の3D画像を可能にするより良好な距離計算と同様に、ステレオペアにおける短距離、長距離、および焦点外領域に対してより良好な再焦点合わせを提供する。
簡略化および明確化のために、単一プレノプティックカメラおよびステレオペアの深度推定の性能を向上させるための開示された発明の説明は、プレノプティックカメラと水平に整列された従来のカメラのみを考慮して説明された。それにもかかわらず、当業者は、本発明を、少なくとも1つがプレノプティックカメラである複数のカメラによって形成されるマルチビューシステムに容易に拡張することができる。さらに、これらのカメラの空間分布は、任意であり得(高価な較正または位置合わせ手順を必要とせずに)、本明細書で提案される方法を適応させるためには、小さく簡単な変更のみを行えばよい。
先に説明したように、従来のカメラがプレノプティックカメラと水平に位置合わせされる場合、水平エピポーラ画像は、両方のカメラ間の間隔および両方のセンサ画素間の等価性を考慮して、図14および図15に示すように延長することができる。両方のカメラが縦軸に整列される場合、同様のプロセスが垂直エピポーラ画像に適用され得ることは明らかである。
少なくとも1つの実施形態では、前述の手順は、合計5つのカメラ、1つのプレノプティックカメラ、およびそれを取り囲む4つの従来のカメラによって形成されるシステムを構成する図13Dの例のように、プレノプティックカメラが2つの従来のカメラ(一方はプレノプティックカメラの上にあり、他方はプレノプティックカメラの下にある)と垂直に位置合わせされ、さらに2つの従来のカメラ(一方はプレノプティックカメラの右にあり、他方はプレノプティックカメラの左にある)と水平に位置合わせされるシナリオに、簡単に拡張することができる。この実施形態では、水平エピポーラ画像400および垂直エピポーラ画像402の両方が、前述の方法論を使用して、プレノプティックカメラ100のエピポーラ画像400の上の延長線1406、および下の別の延長線1406で延長される。垂直エピポーラ画像402において、延長線1406は、垂直に整列された従来のカメラ1304の画像1412から取得され、水平エピポーラ画像400は、水平に整列された従来のカメラ1304の画像1412と共に延長される。この構成の明らかな利点は、プレノプティックカメラ・カメラによってもたらされるカメラの非常に近くの対象に対する利点に加えて、ベースラインを改善し、非常に遠い距離に対する性能を追加する一方で、パターン識別(図17Aおよび17Bのウィンドウ処理手順)のための非常に容易な検索で、多数の画像(例示的な実施形態では5つ)からのパターンをマッチングするために従来のカメラによって形成されるマルチビューシステムの重い処理負荷を回避することである。別の簡略化された実施形態は、図13Bに示すように、プレノプティックカメラ、水平方向に整列された従来のカメラ、および垂直方向に整列された第2の従来のカメラを使用してもよく、水平方向400および垂直方向402のエピポーラ画像の両方のベースラインを増加させる。
本発明は、より一般的なシナリオに適用することができる。マトリックスの各位置にカメラを配置できるような空間位置のマトリックスを仮定する。図18は、黒丸は、プレノプティックカメラ、従来のカメラ、またはカメラなしで不明瞭に置換され得る、このマトリックスを示す。本発明は、このマトリックスの任意の可能な構成を使用することができる。当業者には明らかなように、より大きなベースラインを提供する新しい従来のカメラビューでプレノプティックカメラのエピポーラ画像を適切に延長するために、異なる従来のカメラとプレノプティックカメラのセンサ画素間の適切なオフセットおよび等価性を見つけることだけが必要である。プレノプティックカメラ・カメラのエピポーラ画像は、従来のカメラの垂直方向の数と同じ数の線を用いて、垂直方向に延長することができる。例えば、プレノプティックカメラが、水平に位置合わせされた4つの従来のカメラの左側に配置される場合、プレノプティックカメラのエピポーラ画像は、4つの追加の線で延長され、各線は、4つの従来のカメラに対応し、それらの間の物理的間隔に依存する距離だけ互いに分離される。このような構成を使用することによって、深さ推定の冗長性がベースラインと同様に増大し、長い距離に対する深さ測定の不確実性が低減される。
これに加えて、いくつかのプレノプティックカメラおよびいくつかの従来のカメラの少なくとも何れかを有するプレノプティックカメラのエピポーラ画像を延長することも可能である。これらの場合、エピポーラ画像は、従来のカメラの単一ラインだけでなく、図21の例に示されるように、様々なプレノプティックカメラのエピポーラ画像を用いて延長される。延長エピポーラ線1408は、第1のプレノプティックカメラ100aからのイメージセンサ106aによって取り込まれた画像2112aから取得された水平エピポーラ画像400aと、従来のカメラ1304からの画像センサ1400によって取得された画像1412から取得されたエッジ画素1402と、第2のプレノプティックカメラ100bからのイメージセンサ106bによって取得された画像2112bから取得された水平エピポーラ画像400bとによって形成され、延長線1406は、第1のエピポーラ画像400aに対して水平オフセットH1および垂直間隔B1を有し、第2のエピポーラ画像400bは、第1のエピポーラ画像400aに対して水平オフセットH2および垂直分離B2を有する。次に、延長エピポーラ線1408の線形回帰1508、およびその対応する勾配を計算して、高精度距離を推定する。これは、いくつかの第1の勾配推定値(プレノプティックカメラの1つのエピポーラ画像で計算されたもの)を有して、カメラ映像1412、2112bの残りの領域またはウィンドウ1512を識別することによって、測定の精度をさらに高めるために使用することができる。前記領域またはウィンドウ1512では、従来のカメラ1402の対応するエッジ画素および追加のプレノプティックカメラのエピポーラ線1404bの中心画素の両方の探索が実行される。2つ以上のプレノプティックカメラを含むマルチビューシステムの実施形態では、エピポーラ画像は、(図21に示される画像2112bのような)プレノプティックカメラ画像の残りの情報で延長され、第2の段階1610は、あるエピポーラ線1404aが、プレノプティックカメラ100bの残りのエピポーラ線1404bと同じ対象ワールドのエッジに対応することを識別するために実行されなければならない。一実施形態では、この段階は、エピポーラ画像が従来のカメラの情報で延長されるが、追加のプレノプティックカメラ100bの中心プレノプティックビューを考慮する場合に、先に説明した段階と同等である。
プレノプティックカメラが水平軸でも垂直軸でも従来のカメラと位置合わせされない構成でも、プレノプティックカメラのエピポーラ画像を延長することが依然として可能である。単に、これらの不整合を補正し、異なる画像を適切に整合させるために、垂直オフセットおよび水平オフセットが適用されなければならない。これは、いくつかの整列していない視界を修正しなければならない場合、マルチビューについての文献において周知の手順である。
少なくとも1つの実施形態では、マルチビューシステムは、図18に示すように、対角位置にあるカメラがすべてプレノプティックカメラであるように等距離に分散されたM×N個のカメラのマトリックスからなる。この実施形態は、従来のカメラと同数の延長線で、すべてのプレノプティックカメラの垂直および水平エピポーラ画像を延長することができるという利点を有する。これは、全てのプレノプティックカメラのエピポーラ画像毎に延びる水平軸及び垂直軸において同じ精度を保証する。
少なくとも1つの実施形態では、カメラは、マトリックス内に不規則に分布させることができる。少なくとも1つの実施形態では、カメラは、マトリックスの寸法が十分に高い場合、任意の種類の図形(例えば、円)、または任意の他の分布を形成して分布させることができる。
本発明で提案されるエピポーラ画像延長手順は、追加の従来のカメラの助けを借りてプレノプティックカメラの深度推定プロセスを向上させ、最終的により正確な深度マップを生成するために適用される。したがって、本発明の方法は、エピポーラ画像の分析および従来のカメラで支援されるエピポーラ線の勾配の推定に基づくプレノプティックカメラのために存在する任意の深度マップ生成技術に適用することができる。
限定とみなすことができないさらに他の実施形態では、例示的な深度マップ生成手順を説明する。この例の構成は、中央のプレノプティックカメラと、右側の従来のカメラと、プレノプティックカメラの上方の別の従来のカメラとからなる。プレノプティックカメラがライトフィールドを捕捉し、従来のカメラが対応する画像1412を捕捉すると、ライトフィールド内のプレノプティックカメラのエピポーラ画像が分析される。エピポーラ画像延長手順は、水平エピポーラ画像および垂直エピポーラ画像に適用され、すべてのエピポーラ線について正確な勾配推定を得る。
プレノプティックカメラ・カメラでは、いくつかのエピポーラ線が、対象ワールド内の同じ点の情報を含むことができることに留意することが重要である。したがって、同じ空間位置に対応するすべての勾配は、冗長情報を利用し、不確実性をさらに低減して、空間位置(dx、dy)ごとの最終的な一意の勾配を得るために組み合わされなければならない。この勾配マップは、センサ内のそれらの位置(px、py、lx、ly)に応じて全ての勾配値を計算することによって、より具体的には、それらのエピポーラ線の点を対象ワールド内の同じ平面に投影し、(dx、dy)ペアごとに勾配値を割り当てることによって1つまたはいくつかのエピポーラ線に属する対象ワールド内の点dxおよびdyを計算し、(対象ワールド内の同じ点によって生成される)それらのエピポーラ線の点を対象ワールド内の同じ平面に投影し、(dx、dy)ペアごとに勾配値を割り当てることによって計算することによって得られる。
マルチビューシステムの構成に応じて、プレノプティックカメラ・カメラのすべてのエピポーラ線を従来のカメラの画像1412で強調することができるわけではないことが可能である(例えば、システムが2つの従来のカメラと水平に位置合わせされたプレノプティックカメラ・カメラを含むシナリオでは、水平エピポーラ画像だけが、従来のカメラの画像1412を追加のビューとして使用し、利用することができる)。したがって、少なくとも1つの実施形態では、組合せプロセス中に、延長されたエピポーラ画像で計算された勾配は、プレノプティックカメラのエピポーラ画像から排他的に得られた勾配よりも大きな重みを有することができる。すなわち、勾配がプレノプティックカメラから排他的に得られ、エピポーラ線がある勾配マップ上の位置(dx、dy)に投影され、従来のカメラからの少なくとも1つの画像1412を使用することによって精度が高められた勾配も同じ位置(dx、dy)に投影される場合、そのような位置の最終勾配値は、重み付けされた、又はされない任意の算術平均値で計算することができる。加重平均が適用される場合、少なくとも1つの実施形態では、増強された勾配は、より正確であるため、より多くの重みを有する。
勾配マップが得られると、勾配と深度との間の関係が適用され(プレノプティックカメラの物理的パラメータおよび構成に依存する)、深度マップが得られる。エピポーラ線は対象ワールドのエッジでのみ見つけられるので、この深度マップは完全ではなく、深度値のない位置(dx、dy)(疎深度マップ)を含む。密な深度マップを得るために、充填方法を適用することができる。いくつか例を挙げると、画像セグメンテーション(領域成長、分割および併合、およびクラスタリング技術の少なくとも何れか)、3次元散乱点からの表面の補間/近似、またはマルチビューステレオ技法による3次元再構成に基づくものなど、様々な充填ストラテジを文献に見出すことができる。一実施形態では、これらの全ての空の位置に対する対応する深度値は、隣接する位置の深度値を考慮することによって得ることができる。
一実施形態では、深度マップの解像度は、エッジ検出段階で得られるサブ画素精度を利用するために、マイクロレンズの総数よりも高くすることができる。前述のように、勾配値は、識別されたエピポーラ画像エッジ(エピポーラ線)でのみ得ることができ、前の段階で得られた疎深度マップは、多数の画素についてだけでなく、現実ワールドの均質性がエピポーラ画像上にエッジを生成しない多数のマイクロレンズについても、多くの空位置(dx、dy)を含む。したがって、より解像度が高いこの深度マップでは、高密度の深度マップを得るために、従来からの補完技術が等しく適用される。
上記の図5は、有効なエピポーラ線が検出される(ステップ510および511)深度マップを決定するためのフロー図を示す。1つのプレノプティックカメラ100のみを考慮する場合、有効なエピポーラ線は、図22Aに示すように、前記プレノプティックカメラ100のエピポーラ画像(400、402)から得られるエピポーラ線610(図6A)である。この場合、有効なエピポーラ線を検出するステップ(510、511)は、プレノプティックカメラ100からのエピポーラ線の検出するステップ2202と、検出されたエピポーラ線を有効なエピポーラ線(それらが有効であると見なされると仮定する)として考慮または割り当てるステップ2204とを含む。
あるいは、図22Bのフロー図に示されるように、図5の有効なエピポーラ線を検出するステップ(510、511)は、プレノプティックカメラ100からの前記エピポーラ画像(400、402)のエピポーラ線1404を検出するステップ(2212)と、1つ以上の追加の画像取得装置によって捕捉された画像に含まれる追加情報を用いて、これらのエピポーラ線1404を延長するステップ(2214)と、延長されたエピポーラ線1408を得るステップ(2216)と、これらの延長したエピポーラ線1408を有効なエピポーラ線として割り当てるステップ(2218)とを含んでもよい。このように、図14の延長エピポーラ線1408は、図5のステップ510および511において有効なエピポーラ線とみなされ、図5における有効なエピポーラ線の勾配を決定するステップ(512、513)、前記延長エピポーラ線1408の勾配の計算を含む。
前に説明したように(例えば、図21の例では)、および、図22Bに示すように、プレノプティックカメラ100のエピポーラ線を延長するために使用される追加情報2222は、1つまたは複数の従来のカメラ1304によって取り込まれた画像1412に含まれるエッジ画素1402を含んでもよい。あるいは、追加情報2224は、1つまたは複数の追加プレノプティックカメラ100bによって取り込まれた画像2112bのエピポーラ線1404bを含んでもよい。追加情報2226はまた、1つ以上の従来のカメラ1304からのエッジ画素1402と、1つ以上の追加のプレノプティックカメラ100bからのエピポーラ線1404bとの組み合わせであってもよい。
好ましい実施形態によれば、マルチビューシステムの方法は、スマートフォン、タブレット、またはラップトップなどの電子モバイル装置で実行される。図23A、23B、および23Cは、本発明のマルチビューシステム2302によって捕捉された画像2304から勾配および深度マップの少なくとも何れかを取得するために、方法を実行するように構成された処理ユニットまたは処理手段2306を有する電子モバイル装置2300の異なる実施形態を示す。
モバイル装置においてリアルタイムで深度マップを取得するために、本方法を極めて効率的な方法で実施することが非常に推奨される。これを達成するために、現在のマルチコアプロセッサ2308(図23A)に含まれる複数のコアを、モバイル装置からのプロセッサにおいてさえも利用することが可能であり、いくつかのアルゴリズム実行スレッドを、それらの各々が異なる動作を実行することを担当するように作成する。一実施形態では、第1のCPU2310(図23B)が水平エピポーラ画像について上述したステップを実行する一方で、第2のCPU2310bが垂直エピポーラ画像について同じ動作を実行することを担当するように、2つのCPU実行スレッドが作成される。計算効率を高めるために、より高度な計算技術を使用することができる。例えば、グラフィックス処理ユニット(図23CのGPU2312)は、モバイル装置に含まれるものであっても、GPUが同時に動作を実行することができる数百または数千のコアを備えているので、使用することができる。したがって、一実施形態では、各エピポーラ画像(垂直および水平)は、(マルチビューシステムに応じて可能な場合)延長され、アルゴリズムの実行をさらに加速するためにGPU2312の異なるコアで同時に処理される。