(57)【特許請求の範囲】
【請求項１】
ライトフィールドから深度情報を取得する方法であって、
ライトフィールド取得装置によって捕捉されたライトフィールドから複数のエピポーラ画像を生成するステップと、
前記エピポーラ画像において、前記ライトフィールド取得装置によって捕捉されたシーン内の対象のエッジに対応するエッジ画素を検出するためのエッジ検出ステップと、
各エピポーラ画像において、１組のエッジ画素によって形成される有効なエピポーラ線を検出するステップであって、前記有効なエピポーラ線を形成する全ての前記エッジ画素は接続されており、前記有効なエピポーラ線は一貫した方向を形成する、ステップと、
前記有効なエピポーラ線の勾配を決定するステップと、を含む方法。
【請求項２】
前記エッジ検出ステップは、前記エピポーラ画像の各ピクセルについて空間二次導関数を計算するステップと、前記空間二次導関数のゼロ交差を検出するステップとを含む、請求項１に記載の方法。
【請求項３】
勾配マップおよび深度マップの少なくとも何れかの前記生成を含む方法であって、前記ゼロ交差において得られるサブ画素の精度を使用することによって、前記勾配マップおよび深度マップの少なくとも何れかの位置の数が、マイクロレンズの前記数よりも多い、請求項２に記載の方法。
【請求項４】
前記有効なエピポーラ線の前記勾配を決定する前記ステップは、前記検出されたエッジ画素に適合する線を適用するステップを含む、請求項１から３の何れか１項に記載の方法。
【請求項５】
エピポーラ画像における有効なエピポーラ線の前記検出は、接続されたエッジ画素のセットとしてエピポーラ線を決定するステップと、前記エピポーラ線が有効であるか否かを決定するために前記エピポーラ線を分析するステップとを含む、請求項１から４のいずれか１項に記載の方法。
【請求項６】
前記エピポーラ線が有効であるか否かを決定するための前記エピポーラ線の前記分析は、所定の閾値を超える前記エピポーラ線を形成する画素の数をチェックするステップを含む、請求項５に記載の方法。
【請求項７】
前記エピポーラ線を形成する画素の前記数は、対応するエピポーラ画像の高さの画素の前記数に少なくとも等しくなければならない、請求項６に記載の方法。
【請求項８】
前記エピポーラ線が有効であるか否かを決定するための前記エピポーラ線の前記分析は、形態素解析、発見的方法、および機械学習アルゴリズムのいずれかを含む、請求項５に記載の方法。
【請求項９】
前記エピポーラ線の前記分析は、前記エピポーラ画像の上部および下部の少なくとも何れかの、１つ以上の端の画素を無視するステップを含む、請求項６〜８の何れか１項に記載の方法。
【請求項１０】
端の画素が、前記エピポーラ線を形成する残りのエッジ画素と同じ方向に示さないときは、前記端の画素は廃棄される、先行する請求項９に記載の方法。
【請求項１１】
同じ位置について水平エピポーラ画像および垂直エピポーラ画像の異なる有効なエピポーラ線から得られた冗長勾配または深度の組み合わせから単一の勾配または深度マップを生成するステップをさらに含む、請求項１から１０の何れか１項に記載の方法。
【請求項１２】
請求項１〜１１のいずれか１項に記載の方法のステップを実行するように構成された処理手段を備える、ライトフィールドから深度マップを生成するための装置。
【請求項１３】
ライトフィールド取得装置を備える、請求項１２に記載の装置。
【請求項１４】
プロセッサによって実行されると、請求項１〜１１のいずれか１項に記載の方法をプロセッサに実行させるコンピュータコード命令を含む、プレノプティックカメラによって捕捉された画像から深度マップを生成するためのコンピュータプログラム製品。
【請求項１５】
前記コンピュータコード命令を記録した少なくとも１つのコンピュータ可読記憶媒体を備える、請求項１４に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像処理の分野に含まれ、より詳細には、距離を推定し、画像から深度マップを生成するための方法に関する。
【背景技術】
【０００２】
プレノプティックカメラは、シーンの空間情報だけでなく角度情報も取り込む撮像装置である。この捕捉された情報は、ライトフィールドとして知られている。ライトフィールドは、４次元関数ＬＦ（ｐｘ、ｐｙ、ｌｘ、ｌｙ）として表すことができ、ここで、ｐｘ，ｐｙはセンサへの光線の到達方向を選択し、ｌｘ、ｌｙはその光線の空間位置である。
【０００３】
プレノプティックカメラは、典型的には、イメージセンサの前に配置されたマイクロレンズアレイによって形成される。この画像捕捉システムは、いくつかの視点（プレノプティックカメラの同等のアパーチャの周りに均等に分散された、いくつかのカメラのような、いわゆるプレノプティックビュー）からシーンを捕捉することと同等である。プレノプティックビューは、変数をある対の値（ｐｘ、ｐｙ）に固定することによって、ライトフィールドから得られる。ライトフィールドを捕捉することができる別のシステムは、いくつかのカメラのアレイによって形成することができる。したがって、シーンの異なる対象の深さ（すなわち、その対象自体とカメラとの間の距離）に関する情報は、ライトフィールド内に暗黙的に取り込まれる。
【０００４】
対象ポイントの深度情報を抽出するための一般的なアプローチは、シーンのいくつかの捕捉されたプレノプティックビューにわたるこの対象ポイントの画像の変位を測定することである。変位または視差は、対象の実際の深さに直接関連する。点の視差を得るためには、いくつかのビュー（または少なくとも２つのビュー）において同じ点の位置を識別する必要がある。この問題を解決するために、通常、ビュー間の対応アルゴリズムが使用される。ある視点の１つの点を考慮すると、これらの方法は、周囲の領域を分析し、残りのビューにおいて最も類似した領域を見つけようと試み、したがって、残りのビューにおける同じ点の位置を識別する。視差が得られ、デバイス構造のパラメータを知ると、三角測量法によって対応する深さを得ることができる。また、ライトフィールドをいくつかの深度平面に再焦点合わせし、より焦点合わせされた画像の領域を検出することによって、深度情報を決定することも可能である。これらの方法の主な欠点は、モバイルプラットフォーム上でリアルタイムの深度マップを得るためには、計算量が多すぎることである。
【０００５】
ライトフィールドからシーンの深度情報を得る別の方法は、エピポーラ画像を分析することである。エピポーラ画像は、ライトフィールドの２次元スライスである。水平エピポーラ画像は、変数ｐｙ、ｌｙを固定することによって形成され、垂直エピポーラ画像は、変数ｐｘ、ｌｘを固定することによって形成される。水平／垂直エピポーラ画像は、異なるビューｐｙ／ｐｘの同じ線ｌｘ／ｌｙのスタックとして理解することができる。プレノプティックカメラ内のすべてのビューによって同じ対象ポイントが捕捉されると仮定すると、異なる点に対応する線がエピポーラ画像内に形成される。プレノプティックカメラにおける隣接するビュー間の最大変位は、±１画素である。したがって、ある線に対応するすべての点がエピポーラ画像内の残りのビューの同じ点に直接接続されるので、この種のデバイスでは対応アルゴリズムを回避することができる。しかし、フーリエ領域技術および深度・フロム・デフォーカス技術のような現在のプレノプティックカメラ・アルゴリズムは、画像のすべての点（本発明のようにエッジだけではない）を分析し処理するので、計算が非常に非効率的である。一方、単純なライトフィールド勾配法（水平、垂直方向）は、信頼性のない深度推定を伴う非常に不十分な深度マップをもたらす。さらに、これらの実施形態は、１つのフレームを処理するためだけに、数百ミリ秒から数分要するので、リアルタイムのビデオ画像を扱うことができない。
【０００６】
したがって、モバイル装置（携帯電話、タブレット、またはラップトップなど）内のプレノプティックカメラおよび３Ｄ画像が、深度マップを計算し、リアルタイムビデオ画像（たとえば、毎秒６０フレーム）を処理することを可能にする、極めて効率的な方法が必要とされている。
【発明の概要】
【０００７】
本発明は、プレノプティックカメラまたは他の任意のライトフィールド取得装置、プレノプティック機能サンプリング装置または統合画像取得装置によって取り込まれたライトフィールド画像を処理することによって深度マップを取得するコンピュータにより実行される方法および装置に関する。この方法は、非常に計算的に効率的であり、その結果、バッテリによって動作される低コストのプロセッサを有する低コストのモバイルデバイスにおいてさえ、リアルタイムの深度マップを得るために使用され得、ここで、効率的な計算は、バッテリの早い消耗を回避するために必要とされる。
【０００８】
本発明は、対象のエッジを識別し、識別されたエッジについてのみ深度を計算することによって、プレノプティックカメラ・カメラ、モバイルデバイス（携帯電話、タブレット、ラップトップ、コンパクトカメラなど）、動作感知入力デバイス、およびリアルタイムビデオ画像を（毎秒６０フレーム以上で）処理する３Ｄカメラにおける３Ｄ画像を可能にする、極めて効率的なアルゴリズムを使用する。
【０００９】
エピポーラ画像に生成される線の傾きと、シーン内の対象の実際の深さとの間には関係がある。したがって、エピポーラ画像の線の傾きを検出することによって、シーンの深度マップを生成することが可能である。通常、エピポーラ画像の２次元勾配に基づく方法が、対応する勾配を得るために使用される。４次元勾配に基づく同様の方法（したがって、より計算費用がかかる）を使用することもできる。これらの全てのアプローチとは対照的に、本方法は、エッジについてのみシーンの深さを計算し、計算の必要性を大幅に低減する。
【００１０】
本発明の説明のために、定義を以下に考察する。
【００１１】
プレノプティックカメラ：入射光線の空間位置だけでなく到来方向も捕捉することができる装置である。
【００１２】
ライトフィールド：プレノプティックカメラのマイクロレンズ（ｌｘ、ｌｙ）の下の画素（ｐｘ、ｐｙ）によって捕捉された光の情報を含む４次元構造（ｐｘ、ｐｙ、ｌｘ、ｌｙ）。
【００１３】
深度：シーンの対象ポイントの平面とカメラの主平面との間の距離であり、両方の平面は光軸に垂直である。
【００１４】
エピポーラ画像：ある値、（ｐｘ、ｌｘ）（垂直エピポーラ画像）、または（ｐｙ、ｌｙ）（水平エピポーラ画像）を選択することによって構成されるライトフィールド構造の２次元スライス。
【００１５】
水平中心エピポーラ画像：マイクロレンズの下の任意ｌｙを、ｐｙ次元の中心画素として選択することによって構成されるエピポーラ画像（ライトフィールド構造の２次元スライス）。
【００１６】
垂直中心エピポーラ画像：マイクロレンズおよび任意のＬｘを、ｐｘ次元の中心画素として選択することによって構成されるエピポーラ画像（ライトフィールド構造の２次元スライス）。
【００１７】
エピポーラ線：エッジとして検出されるエピポーラ画像内の接続された画素のセット（すなわち、接続されたエッジ画素のセット）。
【００１８】
有効なエピポーラ線：収差、位置ずれ、および製造公差のない理想的なカメラにおいて、対象ワールドのエッジによって生成されると予想される形状と適合する形状のエピポーラ線。
【００１９】
プレノプティックビュー：ある値（ｐｘ、ｐｙ）を選択し、ライトフィールド構造のサブセットを撮影することによって形成される２次元画像。マイクロレンズ（ｌｘ、ｌｙ）ごとに、同じ（ｐｘ、ｐｙ）を選択する。
【００２０】
深度マップ：対象ワールドの計算された深度値ｄｚが、追加の次元値として、２次元画像の全ての画素（ｄｘ、ｄｙ）に加算された２次元画像。（ｄｘ、ｄｙ、ｄｚ）を含む。
【００２１】
マイクロレンズアレイ：小さいレンズ（マイクロレンズ）のアレイ。
【００２２】
マイクロ画像：特定のマイクロレンズによってセンサ上の生成される主アパーチャの画像。
【００２３】
本発明の一態様によれば、ライトフィールドから深度情報を取得する方法が提供される。この方法は、（プレノプティックカメラなどの）ライトフィールド取得装置によって取得されたライトフィールドから複数の画像（例えば、少なくとも１つの水平エピポーラ画像、少なくとも１つの垂直エピポーラ画像、またはそれらの組合せ）を生成するステップと、エピポーラ画像において、ライトフィールド取得装置によって取得されたシーン内の対象のエッジを検出するエッジ検出ステップと、各エピポーラ画像において、エッジのセットによって形成された有効エピポーラ線を検出するステップと、有効エピポーラ線の勾配を決定するステップと、を含む。
【００２４】
一実施形態では、前記エッジ検出ステップは、エピポーラ画像の各画素について空間二次導関数を計算するステップと、空間二次導関数のゼロ交差を検出するステップとを含む。有効なエピポーラ線の勾配を決定するステップは、検出されたエッジに適合する線を適用するステップを含んでもよい。
【００２５】
エピポーラ画像における有効なエピポーラ線の検出は、エピポーラ線を接続されたエッジのセットとして決定するステップと、前記エピポーラ線が有効であるか否かを決定するために前記エピポーラ線を分析するステップとを含んでもよい。前記エピポーラ線は、好ましくは、接続されたエッジ画素のセットとして決定される。一実施形態では、前記エピポーラ線が有効であるか否かを判定するためのエピポーラ線の分析は、少なくとも１つの基準に準拠しているかどうかをチェックすることを含む。一実施形態では、基準は、決定された閾値を超えるエピポーラ線を形成する画素数に関する（例えば、エピポーラ線を形成する画素数は、対応するエピポーラ画像の高さの画素数に少なくとも等しくなければならない）。別の基準は、エピポーラ画像内のエッジ画素の方向の一貫性に関するものでもよい。一実施形態では、上述の基準の組合せが使用される。あるいは、少なくとも１つの基準に準拠しているかどうかをチェックする代わりに、前記エピポーラ線が有効であるかどうかを決定するためのエピポーラ線の分析は、形態素解析、発見的方法、または機械学習アルゴリズムを含んでもよい。一実施形態では、前記エピポーラ線の分析は、エピポーラ画像の上部および下部の少なくとも何れかの画素の１つまたはいくつかの列を廃棄することを含んでもよい。
【００２６】
この方法は、対象のワールド内の位置に勾配を割り当てる勾配マップ生成することも含んでもよい。一実施形態では、勾配マップを生成するステップは、検出されたエッジのみに勾配値を割り当てるステップを含んでもよい。勾配マップを生成するステップは、また、検出されたエッジについて以前に取得された勾配を考慮に入れて、勾配値を勾配マップの位置に割り当てるために充填アルゴリズムを適用することを含んでもよい。この方法は、同じ位置について異なる有効エピポーラ線から得られた冗長勾配の組合せから単一の勾配マップを生成することを含んでもよい。一実施形態では、そのような位置の値の残りに対して高い分散を有する特定の位置に割り当てられた勾配は、廃棄される。
【００２７】
この方法は、対象ワールド内の位置に深度値を割り当てる深度マップを生成することをさらに含んでもよく、前記深度マップは、勾配から深度への変換を深度マップに適用することによって得られる。別の実施形態によれば、この方法は、有効なエピポーラ線の勾配に対応する深度値を取得するステップと、深度値を対象ワールド内の位置に割り当てる深度マップを生成するステップとを含む。
【００２８】
深度マップを生成するステップは、検出されたエッジのみに深度値を割り当てるステップを含んでもよい。深度マップを生成するステップは、検出されたエッジについて予め取得された深度値を考慮に入れて深度値を深度マップの位置に割り当てるために充填アルゴリズムを適用することを含んでもよい。この方法は、単一の深度マップを生成するために、同じ位置について異なるエピポーラ画像から得られた冗長な深度値の組み合わせから単一の深度マップを生成することを含んでもよい。一実施形態では、そのような位置の値の残りに対して高い分散を有する特定の位置に割り当てられた勾配は、廃棄される。
【００２９】
一実施形態では、この方法は、ゼロ交差で得られたサブ画素精度を使用することによって、傾斜マップおよび深度マップの少なくとも何れかの位置の数がマイクロレンズの数よりも多い、傾斜マップおよび深度マップの少なくとも何れかの生成を含む。
【００３０】
一実施形態では、有効なエピポーラ線１本当たり１つの勾配値のみが得られる。この方法は、また、エッジ検出段階の前にフィルタリングされたエピポーラ画像を得るためにエピポーラ画像にフィルタを適用するステップを含んでもよい。
【００３１】
本発明のさらなる態様によれば、ライトフィールドから深度マップを生成するための装置が提供される。この装置は、先に説明した方法のステップを実行するように構成された処理手段を備える。一実施形態では、装置は、プレノプティックカメラなどのライトフィールド取得装置を含んでもよい。好ましくは、前記装置は、スマートフォン、タブレット、ラップトップ、またはコンパクトカメラなどの電子モバイル装置である。処理手段は、水平エピポーラ画像を取得して解析するように構成された第１のＣＰＵと、垂直エピポーラ画像を取得して解析するように構成された第２のＣＰＵとを備えてもよい。別の実施形態では、処理手段は、マルチコアプロセッサを含む。あるいは、またはそれに加えて、処理手段は、グラフィックス処理ユニットを含んでもよい。
【００３２】
本発明のさらに別の態様によれば、プレノプティックカメラによって捕捉された画像から深度マップを生成するか、または１つまたは複数のプレノプティックカメラおよび１つまたは複数の従来のカメラによって捕捉された画像のセットから深度マップを生成するためのコンピュータプログラム製品であって、プロセッサによって実行されると、プロセッサに前述の方法を実行させるコンピュータコード命令を含むコンピュータプログラム製品が提供される。一実施形態では、コンピュータプログラム製品は、コンピュータコード命令が記録された少なくとも１つのコンピュータ可読記憶媒体を含む。
【図面の簡単な説明】
【００３３】
本発明をよりよく理解するのを助け、本発明の非限定的な例として提示される、前記発明の実施形態に明確に関連する一連の図面を、以下に非常に簡潔に説明する。
【図１Ａ】図１Ａは、マイクロレンズアレイの共役面に配置された対象の光を捕捉するプレノプティックカメラを表す。図１Ｂは、プレノプティックカメラの画像センサによって捕捉された光を示す。
【図２】図２Ａおよび２Ｂは、マイクロレンズアレイの共役面よりも近くに配置された対象の光を捕捉するプレノプティックカメラを示す。
【図３】図３Ａおよび３Ｂは、マイクロレンズアレイの共役面よりも遠くに配置された対象の光を捕捉するプレノプティックカメラを示す。
【図４】図４Ａ〜図４Ｄは、図１、図２および図３の例の水平および垂直中央エピポーラ画像の形成プロセスを示す。
【図５】図５は、一実施形態による、エピポーラ画像において検出された線を分析することによって、対象ワールドにおける点の深さを決定するためのプロセスフローの図を示す。
【図６】図６Ａ〜図６Ｃは、エピポーラ画像における有効エピポーラ線および無効エピポーラ線の様々な例を示す。図６Ｄ〜６Ｇは、図６Ａの例におけるエピポーラ線の勾配の計算プロセスを示す。図６Ｈ〜６Ｊは、図６Ｂのエピポーラ線の勾配の計算プロセスを示す。
【図７】図７Ａ〜７Ｅは、いくつかのエピポーラ線を含むエピポーラ画像、および対応する勾配の計算プロセスを示す。
【図８】図８は、異なる深度にある３つの対象を示す疎深度マップの一例を示す。
【図９】図９は、異なる深度にある３つの対象を示す密な深度マップの一例を示す。
【図１０】図１０Ａ〜図１０Ｃは、本発明の方法を実行する電子モバイル装置の異なる実施形態を示す。
【発明を実施するための形態】
【００３４】
本発明は、ライトフィールドから深度マップを生成するための装置及び方法に関する。ライトフィールドは、複数の種類のデバイスによって捕捉することができる。簡単にするために、まず、プレノプティックカメラのみを考慮する。しかし、本明細書に記載の方法は、他の一体型撮像装置を含む他の任意の装置によって捕捉されるライトフィールドに適用することができる。
【００３５】
従来のカメラは、センサによって捕捉された光線の２次元空間情報のみを捕捉する。さらに、色情報は、いわゆるベイヤー・パターン・センサまたは他の色センサを使用することによって取り込むこともできる。プレノプティックカメラは、この情報だけでなく、光線の到来方向も捕捉する。通常、プレノプティックカメラは、主レンズとセンサとの間にマイクロレンズアレイを配置することによって製造される。各マイクロレンズ（ｌｘ、ｌｙ）は、主アパーチャの小さな画像をセンサ上に形成している。これらの小さな画像は、マイクロ画像として知られており、任意のマイクロ画像の各画素（ｐｘ、ｐｙ）は、主アパーチャの異なる部分から来る光線を捕捉しており、任意のマイクロレンズ下のマイクロ画像のすべては、主レンズアパーチャの画像であり、各マイクロレンズ内の位置（ｐｘ、ｐｙ）または（ｐｘｎ、ｐｙｎ）の全ての画素は、マイクロレンズの位置とは無関係に、アパーチャ（ａｘｎ、ａｙｎ）の所与の部分から来る光を統合する。対象ワールドからの異なる位置から到来し、位置（ａｘｎ、ａｙｎ）でアパーチャを横切る光は、異なるマイクロレンズに当たるが、常に画素（ｐｘｎ、ｐｙｎ）によって積分される。したがって、マイクロ画像内の画素の座標（ｐｘ、ｐｙ）は、所与のマイクロレンズへの捕捉された光線の到来方向を決定し、（ｌｘ、ｌｙ）は２次元空間位置を決定する。すべてのこの情報はライトフィールドとして知られ、４多次元マトリックス、または、色情報が考慮される場合は５多次元マトリックスによって表すことができる。以下では、単色センサのみが考慮される。これらのセンサは、それらが設計された全スペクトルに対する感知された光の強度を捕捉する。しかし、本明細書で説明される本発明は、当業者には明らかであるように、色情報も取り込むセンサに簡単に拡張することができる。これらの種類のセンサに対する本発明の可能な適応は、深度推定の冗長性をさらに増大させるために、本明細書に記載の方法を各色チャネルに別々に適用することができる。
【００３６】
カメラまでの異なる深さ又は距離にある対象は、プレノプティックカメラのセンサに異なる照明パターンを生成する。図１Ａは、主レンズ１０２と、マイクロレンズアレイ１０４（行および列に集められた複数のマイクロレンズ１０５によって形成される）と、強度、色および方向情報を感知するためにマイクロレンズアレイ１０４の背後に配置されたイメージセンサ１０６とを備えるプレノプティックカメラ１００の模式図二次元図を示す。図１Ａに示す実施例では、プレノプティックカメラ１００は、マイクロレンズ配列１０４の共役面に配置された対象点１１０からの入射光線１０８を捕捉している。図１Ｂは、プレノプティックカメラ１００のイメージセンサ１０６によって捕捉された光を表す。グリッドの各セルは、イメージセンサ１０６上の各マイクロレンズ１０５によって生成されたマイクロ画像１１２を表す。
【００３７】
対象点１１０の画像がマイクロレンズアレイ１０４上に合焦されるとき、対象点１１０は、プレノプティックカメラ１００の主レンズ１０２を介してＭＬＡの共役面に配置され、マイクロレンズ１０５上の無限小点のみが照明される（実際には、無限小点ではなく、回折パターン）。さらに、マイクロレンズ１０５とイメージセンサ１０６との間の間隔は、マイクロレンズ１０５のほぼ焦点距離であるので、対応するマイクロ画像１１２のすべての画素は、図１Ｂに示すように、正確に同じ光強度を集める。ここに示される画像センサ平面上の全ての画像において、黒色は、光の欠如を表すために使用され、画素が白色であるほど強く照射されており、部分的な照明はグレーレベルで示されている。
【００３８】
一方、対象ワールドのマイクロレンズアレイ１０４の共役面よりも近いシーンの対象ポイント１１０は、画像ワールドの焦点がマイクロレンズアレイ１０４よりも遠く（より右側に向かって）あり、センサ画素によって捕捉されるパターンが異なるので、より多くのマイクロレンズ１０５を照明する。このシナリオの図は、図２Ａに示されており、図２Ｂは、イメージセンサ１０６上に生成された対応するパターンを示している。
【００３９】
逆に、マイクロレンズアレイ１０４の共役面よりも遠い対象点１１０も、より多くのマイクロレンズ１０５を照明するが、ここでは、焦点は、マイクロレンズアレイ１０４の位置よりも主レンズ１０２に近く、したがって、イメージセンサ１０６によって捕捉されるパターンは、図３Ａおよび図３Ｂに示されるように、２つの上述の状況とは異なる。マイクロ画像１１２のいくつかにおけるグレーレベルは、部分的に照明された画素に対応し、一方、白画素においては、画素の全領域が、対象ワールドにおける対象ポイント１１０から来る光によって照射されている。
【００４０】
イメージセンサ１０６によって捕捉されたライトフィールドのこれらの様々なパターンは、ライトフィールドの２次元スライスを撮影することによってエピポーラ画像で表すことができる。図４Ａ〜図４Ｃは、それぞれ、図３Ａ〜図３Ｃのシナリオのそれぞれ１つについて、イメージセンサ１０６によって取り込まれた画素を再編成することによる、水平エピポーラ画像４００（上段）および垂直エピポーラ画像４０２（下段）の生成プロセスを示す。図４Ａの例では、対象ポイント１１０は、マイクロレンズアレイ１０４の共役面に配置され、図４Ｂでは、対象ポイント１１０は、マイクロレンズアレイ１０４の共役面よりも近くに、図４Ｃでは、マイクロレンズアレイ１０４の共役面よりも遠くに位置する。
【００４１】
水平エピポーラ画像４００は、ライトフィールドの座標（ｐｙ、ｌｙ）を固定することによって形成され、垂直エピポーラ画像４０２は、座標（ｐｘ、ｌｘ）を固定することによって形成される。図４Ａ〜４Ｃでは、水平エピポーラ画像４００および垂直エピポーラ画像４０２は、それぞれ、水平中心エピポーラ画像および垂直中心エピポーラ画像であり、これは、エピポーラ画像のために固定された画素ｐｙ及びｐｘが、それぞれのマイクロレンズの水平中心および垂直中心の画素だからである。図４Ａ〜図４Ｃは、垂直エピポーラ画像４０２（下列）および水平エピポーラ画像４００（上列）が、取り込まれたライトフィールドから直接形成される様子を示す。
【００４２】
図４Ｄは、同じ行ｌｙ（（図４Ｄの実施例のｌｙ＝３では、マイクロレンズアレイ１０４の水平中心マイクロレンズ１０５）に位置するマイクロレンズ１０５に対応するマイクロ画像１１２の高さｐｙ＝Ｙに位置する画素ライン（４１０、４１２、４１４、４１６、４１８）を積み重ねることによって形成される水平エピポーラ画像４００（図４Ａの上の行のズームビュー）の生成プロセスをより詳細に示す。マイクロ画像１１２内の画素ライン（４１０、４１２、４１４、４１６、４１８）の選択された高さｐｙ＝Ｙが中心高さであるので、水平エピポーラ画像４００は、水平中心エピポーラ画像と考えられる。図４Ｄの各画素ライン（４１０、４１２、４１４、４１６、４１８）を形成する個々の画素（ｐｘ＝１、ｐｘ＝２、…）は図示されていない。対照的に、各垂直エピポーラ画像（４０２）は、同じ列ｌｘに位置するマイクロレンズ１０５に対応するマイクロ画像１１２の所定の幅ｐｘ＝Ｘに位置する画素ラインを積み重ねることによって形成される。
【００４３】
図４Ａ〜図４Ｄから分かるように、水平エピポーラ画像４００および垂直エピポーラ画像４０２には、エピポーラ線４３０（白色）が形成されている。図１Ｂ〜３Ｂの例に示すように、このエピポーラ線４３０のすべての照明された画素（白画素）は、対象ワールドの同じ対象点１１０に対応する。エピポーラ線４３０は、エッジとして検出されるエピポーラ画像内の接続された照明画素（黒画素ではない）のセットである。さらに、エピポーラ線４３０の傾きは、マイクロレンズ１０４上およびイメージセンサ１０６上に照射されるパターンのタイプに直接関連し、また、対象ワールドにおける対象ポイント対応する深さにも直接関連する。図４Ｄの例では、エピポーラ線４３０の傾きは∞であり（横軸に対して角度＝９０°）、これは、対象ポイント１１０がマイクロレンズ配列１０４（図１Ａ）の共役面に配置されるような距離に対応する。勾配が正（角度が９０°よりも小さい）である場合、対象ポイント１１０は主レンズ１０２に近く（図２Ａ）、勾配が負（角度が９０°よりも大きい）である場合、対象ポイント１１０は主レンズ１０２から遠い（図３Ａ）。
【００４４】
したがって、このパターンを知ることによって、画素によってサンプリングされたパターンを、サンプリングカメラ１００を通してバックトレースし、そのようなパターンを生成する対象ポイント１１０の正確な深さ（ｄｚ）を得ることが可能である。深さと勾配との間の関係は、ライトフィールドを捕捉するために使用されるプレノプティックカメラ１００の物理的寸法及び設計（既知である）に依存する。
【００４５】
したがって、エピポーラ線４３０のある勾配は、現実の３次元ワールドシーンの対象ポイント１１０のある深さに明確に関連する。
【００４６】
エピポーラ線の推定勾配は、ある対象の深さ情報を含む。勾配および深さは、同じ硬貨の２つの側面である（確定的な方法で勾配から深さを得ることが可能であり、その逆も可能であり、センサ画素が無限小ではないという事実による変換における定量化誤差のみを伴う）。勾配自体は、シーンの異なる対象の相対的な深さに関する情報を得るのに十分である。この相対情報（すなわち、勾配）は、同じ深度（同じ勾配）に位置するシーンの異なる対象を識別するなど、絶対的な深度情報を提供する必要がないいくつかの用途に有用であり得る。したがって、このようなシナリオでは、勾配の計算は十分であり、勾配から深さへの変換を省略することができる。
【００４７】
本発明の方法は、マイクロレンズ配列１０４上のワールドの照射におけるエッジが存在する領域（または、対象ワールド上の同じエッジであるもの）ついてのみの、深さの計算に基づく。好ましい実施形態では、ある勾配を得るために、エピポーラ線４３０を形成する照明された画素に線形回帰が適用される。水平４００または垂直４０２エピポーラ画像内のエピポーラ線４３０を分析するとき、水平（ｐｘ）または垂直（ｐｙ）次元に沿って分布された全てのプレノプティックビューは、同じ対象ポイント１１０がこれらの全てのビューによって捕捉されているので、考慮される。したがって、線形回帰法は、１次元に沿った冗長な情報を利用することによって、統計的ノイズを低減する。
【００４８】
さらに、この方法は、水平方向４００および垂直方向４０２のエピポーラ画像内の同じ対象ポイント１１０を分析し、同じ対象ポイント１１０の情報を含む様々なエピポーラ画像（４００、４０２）で得られた深度値を考慮することによって、統計的ノイズをさらに低減する追加ステージを含む（例えば、図１〜図４に示すように、対象ワールド内の一意の対象ポイント１１０が、イメージセンサ１０６のいくつかの点にいくつかのインプリントを生成し、これらのインプリントがいくつかの垂直方向およびいくつかの水平方向エピポーラ画像に現れる）。
【００４９】
一実施形態では、水平エピポーラ画像４００および垂直エピポーラ画像４０２に形成されたすべてのエピポーラ線４３０が識別され、対応する勾配が計算される。次いで、対象ポイント１１０の対応する深さが、装置の物理的寸法を考慮することによって計算される。
【００５０】
エピポーラ線は、いくつかの視点から捕捉された同じ対象点１１０によって形成されるので、エピポーラ線４３０当たり１つの勾配および深度値だけが計算される。このため、以下の２つの要因により、データ量が大幅に削減される。
【００５１】
（ｉ）イメージセンサ１０６によって捕捉された全ての点を処理する他のアプローチと比較して、本方法は、関心のある点、すなわち、エッジとして検出される対象ワールドの領域のみを処理するが、これは、それらがエピポーラ線を生成するからである（エッジのない完全に均一な対象ワールドの領域として、エピポーラ線を生成せず、均一な色を生成するからである）。
【００５２】
（ｉｉ）エピポーラ線４３０を形成する画素毎に１つの値を記憶する代わりに、エピポーラ線４３０毎に１つの勾配値のみを記憶することが可能である。
【００５３】
したがって、この計算プロセスの出力は、これらの検出された勾配の対応する深度値だけであってもよい。
【００５４】
垂直エピポーラ画像４０２および水平エピポーラ画像４００の両方を分析するときに同じセンサ画素が考慮され、したがって、いくつかの勾配値が対象ワールドの同じ点によって生成された可能性がある。このため、一実施形態によれば、水平エピポーラ画像４００および垂直エピポーラ画像４０２を分析することによって得られる勾配とエピポーラ線４３０を一つの４次元マトリックスに結合して、出力の信頼性が追加測定の冗長性によって改善されるという事実のために、統計的なノイズを減らす。
【００５５】
計算された勾配は、プレノプティックカメラ１００の物理的パラメータを考慮することによって、対応する対象の深さに変換される。一実施形態では、この変換段階は、すべての冗長な勾配を組み合わせた後に実行され、勾配から深度への変換の数を大幅に低減する。
【００５６】
別の実施形態では、予め生成された深さ／勾配の４多次元マトリックスは、２次元の疎な深さ／勾配マップ（対象ワールドにエッジが存在する場合にのみ読み取り値を提供するため、疎な）に結合され、統計的ノイズをさらに低減し、したがって、深度マップの品質を向上させる。
【００５７】
さらに別の実施形態では、水平エピポーラ画像４００および垂直エピポーラ画像４０２内のエピポーラ線４３０について計算された深さ／勾配は、２次元の疎深さ／勾配マップ直接結合され、したがって、単一の結合段階を実行し、計算効率を向上させる。
【００５８】
一実施形態では、疎深度／勾配マップは、画像充填技法を適用して、すべての画素（ｄｘ、ｄｙ）について深度／勾配値を取得することによって充填される。
【００５９】
さらに別の実施形態では、図４Ａ〜４Ｄに示すように、水平中心エピポーラ画像（座標をマイクロ画像１１２内のｐｙ寸法の中心画素に等しくなるように設定することによって形成される）のみ、および／または垂直中心エピポーラ画像（座標ｐｘをマイクロ画像内のｐｘ次元の中心画素に等しくなるように、座標ｐｘを取ることによって形成される）のみが、分析するエピポーラ画像の数を減らすことを目的として考慮され、したがって、統計的冗長性を減らす代わりに、性能が向上する。
【００６０】
本発明の方法は、プレノプティックカメラを備えたモバイル装置（例えば、スマートフォン、タブレット、またはラップトップ）において実施することができる。
【００６１】
図５は、一実施形態による、深度マップを生成するための方法のフロー図を示す。深度マップを生成するために、本方法は、プレノプティックカメラ１００によって捕捉されたライトフィールド（５０１）から水平（５０２）及び垂直エピポーラ画像（５０３）を生成する。生成された各水平エピポーラ画像（５０２）および垂直エピポーラ画像（５０３）について、エピポーラ画像内の有効なエピポーラ線（５１０、５１１）が識別される。次に、これらの有効なエピポーラ線（５１０、５１１）の勾配（５１２、５１３）が計算され、対応する深度値（５１４、５１５）が最終的に得られる。
【００６２】
図５は、有効なエピポーラ線（５１０、５１１）を識別し、処理し、捕捉されたライトフィールドを入力として取り込み（５０１）、すべての水平エピポーラ画像（５０２）および垂直エピポーラ画像（５０３）（図５の「ＥＰＩ」）を処理し、以下のステップを実行するプロセスを説明する。
【００６３】
ステップ５０２では、各水平エピポーラ画像について、固定された２つの値（ｐｙ、ｌｙ）が得られる。
【００６４】
ステップ５０４では、ｌｘ次元に沿って１次元（またはそれ以上）のフィルタを適用して、ノイズを低減し、フィルタリングされた水平エピポーラ画像を得る。
【００６５】
ステップ５０６では、各画素（ｐｘ、ｌｘ）について、ｌｘ次元に沿った画素の光強度またはコントラストにわたる画素（ｐｘ、ｌｘ）における空間二次導関数を計算する。
【００６６】
ステップ５０８では、サブ画素精度でエピポーラ線を分析することによって、より具体的には、空間二次導関数のゼロ交差を検出することによって、対象ワールドのエッジを決定する。
【００６７】
ステップ１０では、有効なエピポーラ線を形成するように正しく配置されたゼロ交差の１つごとに探索し、無効なエピポーラ線を廃棄する。
【００６８】
ステップ５０３では、各垂直エピポーラ画像について、固定された２つの値（ｐｘ、ｌｘ）が得られる。
【００６９】
ステップ５０５では、ノイズを低減するために、ｌｙ次元に沿って１次元フィルタを適用し、フィルタリングされた垂直エピポーラ画像を得る。
【００７０】
ステップ５０７では、各画素（ｐｙ、ｌｙ）について、ｌｙ次元に沿って空間二次導関数を計算する。
【００７１】
ステップ５０９では、サブ画素精度でエピポーラ線を分析することによって、より具体的には、空間二次導関数のゼロ交差を検出することによって、対象ワールドのエッジを決定する。
【００７２】
ステップ５１１では、有効なエピポーラ線５１１を形成するように正しく配置されたゼロ交差の１つごとに探索し、無効なエピポーラ線を廃棄する。
【００７３】
ステップ５１２、５１３では、水平エピポーラ画像および垂直エピポーラ画像の両方で見出される各有効エピポーラ線（ステップ５１０、５１１）について、サブ画素精度エッジは、線形回帰法を実行することによって、有効エピポーラ線（ステップ５１０、５１１）の勾配を決定するために使用される（しかし、任意の他のフィッティング技術も使用される）。
【００７４】
ステップ５１４、５１５では、計算された各勾配に対して、変換勾配から深度値への変換が適用される。
【００７５】
最後に、ステップ５１６、５１７では、２つの深度マトリックス、すなわち、水平エピポーラ画像（ステップ５０２）に対する水平深度マトリックスと、垂直エピポーラ画像（ステップ５０３）に対する垂直深度マトリックスとが生成される。
【００７６】
フィルタリングされた水平（ステップ５０４）または垂直エピポーラ画像（ステップ５０５）を得るためのノイズ低減フィルタステップは、処理速度を上げるために任意選択で省略されてもよい。
【００７７】
別の実施形態では、水平エピポーラ画像（ステップ５０２）および垂直エピポーラ画像から得られる（ステップ５０３）２つの勾配マトリックスは、単一の勾配マトリックスに結合され、最終的に単一の深度マトリックスを得る。
【００７８】
一実施形態によれば、空間二次導関数のゼロ交差は、空間二次導関数の連続する正負または負正の値によって識別される。更に、サブ画素精度を得るために、これらの点の二次導関数の大きさは、実際のゼロ交差がどこで起こっているかを決定するために考慮される。当業者は、多くの他のエッジ検出方法（例えば、Ｃａｎｎｙエッジ検出器オペレータ、曲線フィッティング方法、またはモーメントベースの方法）もこの目的のために適用することができ、本明細書で説明する技法はゼロ交差方法に限定されないことを認識するであろう。しかし、検出されたエッジによって形成される線の勾配を決定するときに可能な限り最大の精度を得ることが非常に重要であり、それが、エッジを決定するためのサブ画素精度が非常に重要である理由である。提案された方法の目標の１つは、計算的に効率的であることである（この要件は、採用されるエッジ検出アルゴリズムを選択するときに考慮されるべきである）。
【００７９】
全ての画素がカメラまでの光源の距離とは無関係に、全く同じ光強度を記録するので、完全に均一な（テクスチャまたは色のコントラストなし）対象ワールドの領域は、エピポーラ線を生成しない。図１〜図４に示す全ての実施形態は、エピポーラ画像（４００、４０２）内にエピポーラ線４３０を生成する１つの放射点光源（対象点１１０）によって、「暗い」対象ワールドに対応する。
【００８０】
実際の状況では、エピポーラ線４３０は、コントラストの変化または色の変化によって生成され、それが、エピポーラ線４３０が対象ワールドのエッジ（色またはコントラストの変化）に対応する理由である。
【００８１】
したがって、エピポーラ線４３０は、対象のエッジによって生成される。エピポーラ画像の一次導関数（すなわち、画素の強度にわたる）は、勾配（すなわち、光強度またはコントラストが変化する速さ）を提供する。二次導関数は、コントラストがどこで最も速く変化しているかを示す（これは、対象ワールドにおける対象のエッジ対応する）。二次導関数は、所与の画素において必ずしもゼロ交差を有するとは限らないので（例えば、図６Ａのエピポーラ画像は、あるグレーレベルを有するなど、画素における光の強度の値に依存するので）、対象のエッジは、サブ画素数精度で決定されている。
【００８２】
プレノプティックカメラ１００のまさにその性質および設計上の制約のために、エピポーラ画像内で有効なエピポーラ線（ステップ５１０、５１１）を形成する画素は、必然的に隣接する位置になければならず（すなわち、有効なエピポーラ線を形成する点が接続されなければならない）、エピポーラ線内で上下、または下上のように、同じ方向に向かうすべての点を有する線を構成しなければならない。
【００８３】
図６Ａ〜図６Ｃは、エピポーラ画像６００における有効なエピポーラ線６１０の例（図６Ａ）と、それぞれのエピポーラ画像（６０２、６０４）における無効なエピポーラ線（６１２、６１４）のいくつかの例（図６Ｂおよび図６Ｃ）とを示す。好ましい実施形態では、有効なエピポーラ線を形成するためにエピポーラ画像内のエッジを探すときに、隣接する位置のみが考慮される（エッジとして検出された中心画素から始まり、図６Ａ〜図６Ｃの矢印は、エピポーラ線を形成する接続されたエッジ画素を決定するために考慮される隣接する位置を表す）。その結果、図６Ａに示されるもののようなエピポーラ線６１０は有効であると考えられ、一方、図６Ｂに示されるもののようなエピポーラ線６１２は、エピポーラ画像６０２の頂部６２０の画素および底部６２２の画素がエピポーラ線６１２の残りの部分に接続されていないので、無効であると検出される。
【００８４】
一見すると、図６Ｃに示すようなエピポーラ線６１４は、有効なエピポーラ線と思われるかもしれない。しかし、プレノプティックカメラ１００の性質のために、そのような線は、欠陥のない装置では起こらない（上部６３０および下部６３２の画素は、エピポーラ線の残りの部分と同じ方向に従わない）。一実施形態では、こういった種類の線の、こうした端の画素（６３０、６３２）は、エピポーラ線の勾配を計算するときに省略することができ、外側の画素が主レンズの収差から生じる可能性があるので、依然として有効なエピポーラ線と見なすことができる。このようにして、我々は、受光パワーと勾配識別性能とを交換して、アパーチャの最も収差のある周辺部分を横切る光線によって形成される端の画素の収差を低減する。また、有効でないエピポーラ線を用いて計算を実行することを回避するために、線全体を無効としてラベル付けすることも可能である。
【００８５】
発見的には、人間が、線の形態を視覚的に検査することによって、有効なエピポーラ線と有効でないエピポーラ線とを区別することは容易である。しかし、コンピュータ上で決定を下すアルゴリズムは簡単ではない。当業者にとって、そのタスクを実行するためのいくつかの異なるアルゴリズムを考えることは困難ではなく、形態を分析する任意のアルゴリズムの特定の実装は、本発明の内容には無関係である。有効なエピポーラ線をどのように識別するか、およびそのタスクを実行するための多くのコンピュータ・ソリューションをどのように開発することができるかは、発見的に定義されている。
【００８６】
一実施形態では、エピポーラ画像の高さと少なくとも同数の照明画素数を有するエピポーラ線のみが有効な線とみなされる。これは、収差が実際に（光学的に又は前の段階で計算的に）補正された装置における勾配計算の精度を高めることができる。
【００８７】
主レンズ１０２の最も高い収差は、レンズの両端（近軸近似がもはや有効でない中心から遠い領域）で生じる。主レンズ１０２のこれらの端の部分を通過する全ての光線は、その中心に近いレンズを横切る光線よりも収差が大きい。プレノプティックカメラ１００では、これらの光線は、すべてのマイクロ画像１１２の端の画素、またはすべてのマイクロレンズ１０４の端の画素によって捕捉され、これらはまた、エピポーラ画像上部または下部の近くの端の画素６４０（図６Ａ）である。したがって、一実施形態では、エピポーラ画像の端の画素数６４０を省略して、光学収差の影響を低減するとともに、検出される深度値の数を増加させることができる（端の画素を廃棄することによって、有効なエピポーラ線の数を増加させる）。したがって、エピポーラ画像の画素の高さよりも少ない画素を有するエピポーラ線も、例えば、図６Ｂおよび図６Ｃにおいて、それらの上部（６２０、６３０）および下部（６２２、６３２）の画素を廃棄するように、有効であると考えることができる。
【００８８】
図６Ｄ〜６Ｇは、図６Ａのエピポーラ画像６００におけるエピポーラ線６１０の勾配の計算プロセスの一例を表す。この例では、図６Ｄの表６４２に示されるように、以下の画素の強度値「Ｉ」が考慮されている：黒い画素について０の値、暗いグレー画素について２０の値、明るいグレー画素について６０の値、および白い画素について１００の値（を割り当てる）。図６Ｅの表６４４は、以下の式に従って、ｌｘ次元に沿った強度Ｉの画素数ｉにおける数値的な二次導関数を表す。
【００８９】
【数１】
0006855587.tif 000002
【００９０】
ここで、ｉ＋１は、後続の画素を表し、ｉ−１は、ｌｘ次元にわたって先行する画素を表す。連続する画素間の距離Δｌｘは常に同じである（Δｌｘ＝１の値とみなされる）。
【００９１】
図６Ｆは、１ｘ次元（水平サブ軸）に沿ったすべての画素ｐｘ（横軸）についての２次導関数（縦軸）の値を有するグラフ６４６を示し、連続する正負または負正の値によって識別される２次導関数のゼロ交差６５０を示す。先に説明したように、対象ワールド内の対象のエッジは、空間二次導関数のゼロ交差６５０を検出することによって決定される。
【００９２】
図６Ｇは、図６Ａのエピポーラ画像６００において、サブ画素精度を有するゼロ交差６５０を示す。サブ画素精度を理解するために、マイクロレンズｌｘ＝２（二次導関数値１００を有する）とｌｘ＝３（二次導関数値ど−２００を有する）との間の画素ｐｘ＝１について生じたゼロ交差は、ズームインする。両方の２次導関数値を接続する線６５２は、サブ画素精度でｌｘ＝２の内側に位置するゼロ交差６５０のゼロ縦座標と交差する。図６Ｇのエピポーラ線６１０の勾配は、検出されたゼロ交差６５０に線形回帰６５６を適用し、線形回帰６５６の勾配を直接計算することによって得られる。
【００９３】
図６Ｈ〜図６Ｊは、図６Ｂのエピポーラ画像６０２におけるエピポーラ線６１２の勾配の計算プロセスの別の例を表す。画素の強度値Ｉは、図６Ｈの表６５３に示され、一方、図６Ｉの表６５４は、二次導関数値を表す。ゼロ交差６５０は計算され、図６Ｊに点として示される。エピポーラ線６１２の勾配は、検出されたゼロ交差６５０に線形回帰６５８を適用することによって計算される。図６Ｊのエピポーラ線６１２の線形回帰６５８は、画素数６２０および６２２からそれぞれ得られるゼロ交差６５０ａおよび６５０ｂのために、図６Ｇのエピポーラ線６１０の線形回帰６５６よりも高い勾配を有することに留意されたい。
【００９４】
一実施形態では、すべてのゼロ交差は、線形回帰において考慮される。しかし、別の実施形態では、ゼロ交差のいくつかは、予め廃棄してもよく、エピポーラ線の勾配を得るプロセスでは考慮されなくてもよい。線形回帰法を適用するために使用される残りの点と比較して高い分散を有する点は、より正確な勾配推定を得るために、または異常値を廃棄するために、このプロセスから識別され、除外することができる。例えば、図６Ｊでは、上部６２０および底面６２２画素は、上部６２０および下部６２２の画素はエピポーラ線６１２を生成する残りの画素に接続されていないため（この場合、上部６２０および下部６２２の画素は、主レンズ１０２の異常によって引き起こされた可能性がある）、線形回帰６５８（図６Ｇのエピポーラ線６１０について得られた勾配に類似した勾配を有するエピポーラ線を得る）を計算する際に、エピポーラ画像６０２の上部画素６２０によって生じるゼロ交差６５０ａおよびエピポーライメージ６０２の底面画素６２２によって生じるゼロ交差６５０ｂを廃棄してもよい。
【００９５】
二次導関数６４４が計算されると、それらが有効なエピポーラ線を定義するか否かが決定される。このプロセスでは、先に説明したように、いくつかの画素に対応する二次導関数のいくつかの値を廃棄してもよい。線形回帰を有効なゼロ交差に適用して、それらの対応する勾配を計算する。逆に、有効でないと識別されたエピポーラ線のすべてについて、さらなる計算を実行する必要はない。
【００９６】
発見的方法、形態素解析、人工知能、または他の任意の方法を使用して、エピポーラ線が有効であるかまたは有効でないかをエピポーラ画像から事前に決定し、さらなる計算を回避することが可能であり、有効でないことを事前に分かっているエピポーラ線の勾配を計算しないことも可能である。
【００９７】
一実施形態では、検出された有効エピポーラ線に線形回帰を適用する場合、誤差見積りも計算することができる。一例として、エピポーラ線の点（すなわち、ゼロ交差）と最終的な推定回帰線との間の距離の和を誤差（すなわち、計算されたエピポーラ線とこのエピポーラ線を計算するために使用された点との間の距離の絶対値の加算）として使用することができる。しかし、任意の他のタイプのエラー計算を定義してもよい。
【００９８】
一実施形態では、最大誤差閾値を使用して、エピポーラ線を廃棄する（そして、アルゴリズムの残りの部分では考慮しない）ことができる。そのために、計算された誤差が最大誤差閾値よりも高い場合、エピポーラ線は有効でないとみなし、計算された誤差が最大誤差閾値よりも低い場合、エピポーラ線は有効であるとみなす。
【００９９】
水平エピポーラ画像４００は、例えば、図５の水平エピポーラ画像５０２の検出された有効エピポーラ線５１０に示されるように、いくつかのエピポーラ線（Ｎｌｘまでのエピポーラ線）を含んでもよい。同様に、垂直エピポーラ画像は、いくつかのエピポーラ線５１１を含んでもよい。図７Ａは、２つの異なるエピポーラ線（図７Ｅの７１０および７１２）を含む水平エピポーラ画像７００の例を示す。図７Ａは、両方のエピポーラ線に対応するゼロ交差６５０の線形回帰（７５６、７５８）を示す。この例は、光パターンが、ここでは、無限小ではなく特定のサイズを有する対象によって生成されるので、図４および図６に提示されるものよりも現実的なシナリオを表す。それが、イメージセンサ１０６によって記録された高強度（白画素）が、図７Ａのいくつかのマイクロレンズ（１ｘ）を占有する理由である。
【０１００】
エピポーラ画像７００の画素の強度値「Ｉ」は、図７Ｂの表７２０に示され、一方、図７Ｃの表７３０は、二次導関数値を表す。
【０１０１】
一実施形態では、エピポーラ画像の画素がエッジ画素７３１としてラベル付けされているか、または検出されているかを考慮する方法は、負の２次導関数を持ち、右側または左側に正の２次導関数を持つ画素を有する画素（ｐｘ，ｌｘ）（図７Ｃのハイライトされた画素）を見つけることを含む。あるいは、図７Ｄ（図７Ｃの同じテーブル、二次導関数値）に示すように、エピポーラ画像の画素は、正の二次導関数を有し、右側または左側に負の二次導関数を有する画素（図７Ｄのハイライトされた画素）（ｐｘ，ｌｘ）をエッジ画素７３１としてラベル付けしてもよい。
【０１０２】
エッジ画素７３１が検出されると、一実施形態によれば、エピポーラ画像内の有効なエピポーラ線を識別する手順が、（図７Ｃの２次導関数値およびエッジ画素７３１に対応する）図７Ｅの例を参照して説明される。
【０１０３】
中心画素（ｐｘ＝５）に対応し、エッジ画素７３１（エッジ画素ＡおよびＪ）としてラベル付けされる中央行ｐｘ（または垂直エピポーラ画像の場合はｐｙ）に位置する水平エピポーラ画像の各画素ｌｘ（ｌｘ＝１〜ｌｘ＝１１）（または垂直エピポーラ画像ではｌｙ）について、以下が行われる。
ステップ１
上側の隣接位置（ｌｘ、ｐｘ−１）、（ｌｘ＋１、ｐｘ−１）、（ｌｘ−１、ｐｘ−１）においてエッジ画素７３１としてラベル付けされた画素の検索：エッジ画素Ｂ（エッジ画素Ａから始まる第１反復）およびエッジ画素Ｋ（エッジ画素Ｊから始まる第１反復）が見出される。
ステップ２
エッジ画素７３１が見つかった場合、ｌｘおよびｐｘを新しいエッジ画素７３１の座標（エッジ画素Ａから始まる最初の反復におけるエッジ画素Ｂの座標：ｌｘ＝４、ｐｘ＝４；エッジ画素Ｊから始まる最初の反復におけるエッジ画素Ｋの座標：ｌｘ＝８、ｐｘ＝４）で更新し、ステップ１（次に見つかったエッジ画素：エッジ画素Ａから反復する際のエッジ画素Ｄ、ＦおよびＨ；エッジ画素Ｊから反復する際のエッジ画素ＭおよびＯ。エッジ画素Ｑは、エッジ画素Ｏに対してｌｘ＋２に位置するので、エピポーラ線の一部とはみなされない）を繰り返す。そうでなければ、ステップ３に進む。
ステップ３
下側の隣接位置（ｌｘ，ｐｘ＋１）、（ｌｘ＋１，ｐｘ＋１）、（ｌｘ−１，ｐｘ＋１）におけるエッジとしてラベル付けされる画素の検索：エッジ画素Ｃ（反復がエッジ画素Ａから開始するとき）及びエッジ画素Ｌ（エッジ画素Ｊから反復するとき）。
ステップ４
エッジ画素７３１が見つかった場合、ｌｘおよびｐｘを新しいエッジ画素７３１の座標（エッジ画素Ａから始まる最初の反復におけるエッジ画素Ｃ：ｌｘ＝４、ｐｘ＝６；エッジ画素Ｊから始まる最初の反復におけるエッジ画素Ｌ：ｌｘ＝８、ｐｘ＝６）で更新し、ステップ３（見つかった次のエッジ画素：エッジ画素Ａから反復する際のエッジ画素Ｅ、ＧおよびＩ；エッジ画素Ｊから反復する際のエッジ画素ＮおよびＰ。エッジ画素Ｒは、エッジ画素Ｐに対してｌｘ−２に位置するので、エッジ画素Ｒはエピポーラ線の一部とはみなされない）を繰り返す。そうでなければ、次のステップに進む。
【０１０４】
この反復プロセスの結果は、（中心エッジ画素Ａに対応する）第１のエピポーラ線７１０及び（中心エッジ画素Ｊに対応する）第２のエピポーラ線７１２である。第１のエピポーラ線７１０は、９個のエッジ画素（Ｈ、Ｆ、Ｄ、Ｂ、Ａ、Ｃ、Ｅ、Ｇ、Ｉ）によって形成される。第２のエピポーラ線７１２は、７つのエッジ画素（Ｏ、Ｍ、Ｋ、Ｊ、Ｌ、Ｎ、Ｐ）によって形成される。
【０１０５】
説明した反復プロセスにおいて中央行ｐｘ内の特定のｌｘについて検出されたエッジ画素７３１の数に応じて、エピポーラ線は有効または無効とみなすことができる。一実施形態では、検出されるエッジ画素７３１の数は、少なくともエピポーラ画像の画素の高さ（すなわち、図７Ｅの例では９）でなければならない。第１のエピポーラ線７１０は、９画素を有するので、この基準に従うが、第２のエピポーラ線７１２は、７画素のみで形成されるので、この基準に従わない。別の実施形態では、主レンズ１０２の光学収差の影響を低減するために、端の画素（ｐｘ＝１、ｐｘ＝９）を省略してもよい（この場合、検出されるエッジ画素７３１の数は、少なくともエピポーラ画像の画素の高さから２を引いたもの、すなわち図７Ｅでは７画素であるべきである）。この最後の実施形態では、図７Ｅのエピポーラ線（７１０、７１２）の両方が有効であると考えられる。
【０１０６】
エピポーラ線内のすべてのエッジ画素７３１の方向の一貫性に応じて、エピポーラ線は、（エピポーラ画像内の同じ方向を指す）有効または無効とみなすことができる。例えば、第１のエピポーラ線７１０では、中央エッジポイントＡから始まって、すべての上側エッジ画素（Ｂ、Ｄ、Ｆ、Ｈ）が位置ｌｘ−１またはｌｘに位置し、下側エッジ画素（Ｃ、Ｅ、Ｇ、Ｉ）がｌｘ＋１またはｌｘ位置にあり、第１のエピポーラ線７１０の一貫した方向を形成する。同じことが、中央エッジポイントＪから始まる第２のエピポーラ線７１２にも当てはまり、すべての上側エッジ画素（Ｋ、Ｍ、Ｏ）は位置ｌｘ−１またはｌｘに位置し、下側エッジ画素（Ｌ、Ｎ、Ｐ）はｌｘ＋１またはｌｘ位置にある。
【０１０７】
一実施形態では、これらの２つの基準（エピポーラ線について検出されるエッジ画素７３１の数および方向の一貫性）の両方は、エピポーラ線が有効なものとみなされるために準拠しなければならない。
【０１０８】
したがって、図７Ｅに記載された実施形態によれば、エピポーラ線を有効であると考える。
【０１０９】
−第１に、対象のエッジに対応するエピポーラ画像内の画素（すなわちエッジ画素７３１）が、２次導関数値を使用して検出される。
【０１１０】
−次に、エピポーラ線を形成する１組の接続されたエッジ画素が得られる。エッジ画素ＡおよびＪから始まる、図７Ｅで予め定義された反復プロセスのような、異なるアルゴリズムを使用することができる（矢印は、エピポーラ線を形成する接続されたエッジ画素のセットを得るために、隣接するエッジ画素を探す上向きおよび下向きの反復探索方向を示す）。
【０１１１】
−１つまたは複数の基準（例えば、セット内のエッジ画素の数およびセット内のエッジ画素のコヒーレント方向）に基づいて、エピポーラ線は有効または無効とみなされる。
【０１１２】
有効なエピポーラ線が検出されると、この線の勾配が計算される。この勾配値は、勾配と距離値との間に直接関係があるので、次に、深度値に直接変換されてもよい。分析されたエピポーラ線の勾配が計算されると、一実施形態によれば、この方法により、プレノプティックカメラによって捕捉されたシーンの対象のエッジの深度値（ｄｚ）を含む疎な２次元深度マップが出力される。深度マップの座標（ｄｘ、ｄｙ）は、対応する対象ポイントの横方向位置（すなわち、対象ワールドの２次元座標）を示し、深度値（ｄｚ）は、対象ワールド内の対応する座標（ｄｘ、ｄｙ）の深度を表す。図８は、異なる深度における３つの対象（８０２、８０４、８０６）を示す疎深度マップのエッジを示し、黒色は、深度値が割り当てられていないことを表し、深度値がより白くなるほど、シーン内の物体はより遠くなる。
【０１１３】
この方法は、前の段階で得られたエピポーラ線の勾配を考慮して、疎深度マップを生成する追加ステージを含んでもよい。疎深度マップは、以前に算出されたエッジ（ｄｘ、ｄｙ）に、実ワールドの対象の深度値（ｄｚ）を割り当てることにより得られる。
【０１１４】
一実施形態では、疎深度マップ生成への入力は、２つのマトリックス（水平深度マトリックス５１６および計算された深度値（ｄｚ）およびライトフィールド構造（ｐｘ、ｐｙ、ｌｘ、ｌｙ）の対応する位置に関連する垂直深度マトリックス５１７）である。疎深度マップ生成への入力は、前のステップで得られた２つの勾配マトリックス（５１２、５１３）であり得る。この場合、疎勾配マップが最初に得られ、深度への変換がこの２次元勾配マップにのみ適用され、したがって、計算要件が低減される。
【０１１５】
水平深度マトリックス５１６は、水平エピポーラ画像を分析することによって得られ、一方、垂直深度マトリックス５１７は、垂直エピポーラ画像から得られる。最新技術におけるこれらのマトリックス（５１６、５１７）の各々のサイズは、Ｎｐｘ×Ｎｐｙ×Ｎｌｘ×Ｎｌｙである。ここで、ＮｐｘおよびＮｐｙは、水平及び垂直方向のマイクロ画像における画素数であり、ＮｌｘおよびＮｌｙは、水平および垂直マイクロレンズの数である。
【０１１６】
エピポーラ線の線形回帰を行う場合、１つの勾配値のみを得ることが可能である。したがって、一実施形態では、この段階の入力マトリックスのサイズは、線形回帰法によって生成されるすべてのエピポーラ線についての深度／勾配値のみを格納するように大幅に低減することができ、その結果、水平深度マトリックスのサイズはＮｐｙ×Ｎｌｙ×Ｎｌｘ（水平エピポーラ画像は、最大Ｎｌｘのエピポーラ線を含んでもよい）となり、垂直深度マトリックスのサイズはＮｐｘ×Ｎｌｘ×Ｎｌｙ（垂直エピポーラ画像は、最大Ｎｌｙのエピポーラ線を含んでもよい）となる。
【０１１７】
一実施形態では、２つの深度／勾配マトリックスは、水平中心エピポーラ画像および垂直中心エピポーラ画像（または任意の他のエピポーラ画像）において分析される点のみを含んでもよく、マトリックスのサイズは、それらの両方についてＮｌｘ×Ｎｌｙである。
【０１１８】
エピポーラ画像内の対応する位置において有効なエピポーラ線が検出されていない（エッジが検出されていない）ので、これらのマトリックスの多くの点は、計算された深度値を有さなくてもよい。
【０１１９】
得られたあらゆる深度値（ｄｚ）を対象ワールドの２次元座標（ｄｘ、ｄｙ）に割り当て、計算された点の勾配に応じて深度マップ（ｄｘ、ｄｙ、ｄｚ）を得、点の座標（ｐｘ、ｐｙ、ｌｘ、ｌｙ）（すなわちセンサ上の位置）を考慮するために、組み合わせ段階を使用することができる。図１〜図４から分かるように、対象ポイント１１０は、エピポーラ線上の異なる勾配と同様に、センサ上に異なるパターンを生成する。したがって、勾配を計算し、センサ上の位置（ｐｘ、ｐｙ、ｌｘ、ｌｙ）を知ることによって、検出されたエピポーラ線ごとに対応するワールド位置（ｄｘ、ｄｙ）を見つけることが可能である。
【０１２０】
対象ワールドの単一のエッジが、わずかに異なるノイズ、収差、閉塞、または量子化誤差によって影響を受けるいくつかのエピポーラ線を発生させ、異なる勾配、したがって異なる深さを有するエピポーラ線をもたらすことができるので、いくつかの異なる値ｄｚが、同じペア（ｄｘ、ｄｙ）について取得され得る。また、水平エピポーラ線のいくつかと垂直エピポーラ線のいくつかは、わずかに異なる値ｄｚを生じることがある。
【０１２１】
一実施形態では、２次元深度マップ（ｄｘ、ｄｙ座標毎に単一の値ｄｚ）を生成するときに、統計的ノイズを低減するために、すべての冗長深度値（ｄｚの異なる値）が単一の深度マップに結合される。
【０１２２】
深度マップ（ｄｘ、ｄｙ、ｄｚ）上に全ての深度値ｄｚを取得する場合、同じ位置（ｄｘ、ｄｙ）に対していくつかの深度値ｄｚを取得することができる。したがって、最終値を得るために、いくつかの方法を適用することができる。例として、限定されるものではないが、算術平均又は中央値又は他の平均化技術（重み付けされたポンデレーションを有する又は有さない）が、同じ深度マップ位置（ｄｘ、ｄｙ）に対して得られた全ての深度値（全てｄｚの値）に適用される。
【０１２３】
この冗長性により、統計的ノイズが低減され、深度マップの品質が改善される。さらに、少なくとも１つの実施形態では、エピポーラ線について計算された誤差見積りは、例えば、同じ位置（ｄｘ、ｄｙ）に投影されたすべての値の中で最も低い誤差を有する値を選択することによって（例えば、エピポーラ線と、そのエピポーラ線の始まりの画素との間のすべての距離の加算、または任意の他の測定値を誤差として考慮することによって）、深度マップの特定の位置（ｄｘ、ｄｙ）の最終的な深度値（ｄｚ）を選択するために考慮することができる。
【０１２４】
より多くの深度値が得られると、冗長性が増大し、深度測定値の誤差が最小限に抑えられるので、より正確な深度マップが生成され得る。それにもかかわらず、計算量および実施態様の複雑さを低減するために、アルゴリズムによって考慮される冗長性を低減し、深度マップの品質も低減することがあり得る。
【０１２５】
一実施形態では、２次元疎深度マップは、推定深度値を含む水平（または垂直）エピポーラ構造のあるプレノプティックビューを取得することによって、すなわち、ある画素（通常、収差の影響を受けにくいビューであるため、中心画素）に設定されたすべての点（ｐｘ、ｐｙ）を取得することによって、直接生成される。この場合、計算の複雑さは低減されるが、代わりに、冗長性がより少なくなり、場合によってはより疎な深度マップ（全てのマイクロレンズについての深度値のみ）が生成される。
【０１２６】
一実施形態では、深度マップの解像度は、ゼロ交差境界検出段階で得られるサブ画素精度を利用するために、マイクロレンズの総数よりも大きくすることができる。
【０１２７】
勾配値は、識別されたエピポーラ画像エッジ（エピポーラ線）でのみ得られるので、前の段階で得られた疎深度マップは、多数の画素に対してだけでなく、実ワールドの均一性がエピポーラ画像上にエッジを生成しない多数のマイクロレンズに対しても、多くの空位置を含む。一実施形態では、すべてのこの空の位置に対する対応する深度値は、隣接する位置の深度値を考慮することによって得ることができる。密な深度マップを得るためのこの手順は、「深度マップ補間」と呼ぶことができ、画像充填法における多くの従来技術を利用する。
【０１２８】
密な深度マップを得るために、疎深度マップを補間するために、いくつかの技法を適用することができる。したがって、これらのアプローチのいくつかは、限定ではなく単なる例であり、領域成長、分割およびマージ、およびクラスタリング技法の少なくとも何れか、ならびに画像処理のための従来技術で知られているいくつかの他のアプローチである。さらに、正則化方法を使用して、深度マップを補完することができる。
【０１２９】
図９は、異なる深度にある３つの対象（９０２、９０４、９０６）を示す密な深度マップの例を示す。この図９は、図８で生成された疎深度マップの濃い深度マップをグレーレベルで示し、黒色は深度値が割り当てられていないことを表し、他はシーン内のオブジェクトである。
【０１３０】
好ましい実施形態によれば、本発明の方法は、スマートフォン、タブレット、またはラップトップなどの電子モバイル装置において実行される。図１０Ａ、１０Ｂ、および１０Ｃは、プレノプティックカメラ１００によって取り込まれた画像１００２から深度マップを取得するために、本方法を実行するように構成された処理ユニットまたは処理手段１００４を有する電子モバイル装置１０００の異なる実施形態を示す。
【０１３１】
モバイル装置においてリアルタイムで深度マップを取得するために、本方法を極めて効率的な方法で実施することが非常に推奨される。これを達成するために、現在のマルチコアプロセッサ１００６（図１０Ａ）に含まれる複数のコアを、モバイル装置からのプロセッサにおいてさえも利用することが可能であり、いくつかのアルゴリズム実行スレッドを、それらの各々が異なる動作を実行することを担当するように作成する。
【０１３２】
一実施形態では、第１のＣＰＵ１００８ａ（図１０Ｂ）が水平エピポーラ画像５０２について説明したステップ（図５参照）を実行する一方で、第２のＣＰＵ１００８ｂが垂直エピポーラ画像５０３に対して同じ動作を実行することを担当するように、２つのＣＰＵ実行スレッドが作成される。
【０１３３】
計算効率を高めるために、より高度な計算技術を使用することができる。例えば、グラフィックス処理ユニット（図１０ＣのＧＰＵ１０１０）は、モバイル装置に含まれるものであっても、ＧＰＵは、動作を同時に実行することができる数百または数千のコアを含むので、使用することができる。したがって、一実施形態では、各エピポーラ画像（垂直および水平）は、アルゴリズムの実行をさらに加速するために、ＧＰＵ１０１０の異なるコアで同時に処理される。
【０１３４】
【図１Ａ】
0006855587.tif 000003
【図１Ｂ】
0006855587.tif 000004
【図２Ａ】
0006855587.tif 000005
【図２Ｂ】
0006855587.tif 000006
【図３Ａ】
0006855587.tif 000007
【図３Ｂ】
0006855587.tif 000008
【図４Ａ】
0006855587.tif 000009
【図４Ｂ】
0006855587.tif 000010
【図４Ｃ】
0006855587.tif 000011
【図４Ｄ】
0006855587.tif 000012
【図５】
0006855587.tif 000013
【図６Ａ】
0006855587.tif 000014
【図６Ｂ】
0006855587.tif 000015
【図６Ｃ】
0006855587.tif 000016
【図６Ｄ】
0006855587.tif 000017
【図６Ｅ】
0006855587.tif 000018
【図６Ｆ】
0006855587.tif 000019
【図６Ｇ】
0006855587.tif 000020
【図６Ｈ】
0006855587.tif 000021
【図６Ｉ】
0006855587.tif 000022
【図６Ｊ】
0006855587.tif 000023
【図７Ａ】
0006855587.tif 000024
【図７Ｂ】
0006855587.tif 000025
【図７Ｃ】
0006855587.tif 000026
【図７Ｄ】
0006855587.tif 000027
【図７Ｅ】
0006855587.tif 000028
【図８】
0006855587.tif 000029
【図９】
0006855587.tif 000030
【図１０Ａ】
0006855587.tif 000031
【図１０Ｂ】
0006855587.tif 000032
【図１０Ｃ】
0006855587.tif 000033