(57)【要約】【課題】  ３次元映像を再構成するために単眼カメラを用いて深度値を推定する映像処理方法及び装置を提供する。【解決手段】  一実施形態に係る深度値を推定する方法及び装置は入力映像シーケンスから第１フレーム及び第２フレームを含むフレームを選択し、選択されたフレームそれぞれの特徴点のうち深度値を含む特徴点を用いて選択されたフレームごとに生成した多角形を含む多角形メッシュに基づいて、第１フレームのピクセルに対応する第２フレームの対応ピクセルの検索範囲を設定し、検索範囲に基づいて第１フレームのピクセルと第２フレームの対応ピクセルをマッチングさせて第１フレームのピクセルの深度値を推定する。【選択図】      図１
2019075082.tif 000002
【特許請求の範囲】
【請求項１】
入力映像シーケンスから、第１フレーム及び第２フレームを含むフレームを選択するステップと、
前記選択されたフレームそれぞれの特徴点のうち深度値を含む特徴点を用いて、前記選択されたフレームごとに多角形を含む多角形メッシュを生成するステップと、
前記多角形メッシュに基づいて、前記第１フレームのピクセルに対応する前記第２フレームの対応ピクセルの検索範囲を設定するステップと、
前記検索範囲に基づいて前記第１フレームのピクセルと前記第２フレームの対応ピクセルをマッチングさせて前記第１フレームのピクセルの深度値を推定するステップと、
を含む、映像処理方法。
【請求項２】
前記第１フレームのピクセルは、前記多角形メッシュに含まれるいずれか１つの多角形の中に位置し、
前記対応ピクセルの検索範囲を設定するステップは、前記多角形の深度値に基づいて前記対応ピクセルの検索範囲を設定するステップを含む、請求項１に記載の映像処理方法。
【請求項３】
前記対応ピクセルの検索範囲を設定するステップは、前記第１フレームのピクセルを含む多角形のうち、１つの多角形の頂点の深度値に基づいて前記第２フレームで対応ピクセルの検索範囲を設定するステップを含む、請求項１に記載の映像処理方法。
【請求項４】
前記対応ピクセルの検索範囲を設定するステップは、
前記第１フレームのピクセルを含む多角形のうち、１つの多角形の頂点が有する深度値を用いて前記第１フレームのピクセルの３次元候補座標を予測するステップと、
前記第１フレームのピクセルの３次元候補座標を前記第２フレームの座標系に投影して前記対応ピクセルの検索範囲を設定するステップと、
を含む、請求項１に記載の映像処理方法。
【請求項５】
前記ピクセルの３次元候補座標を予測するステップは、前記多角形の頂点が有する深度値それぞれを用いて３次元候補座標を予測するステップを含む、請求項４に記載の映像処理方法。
【請求項６】
前記ピクセルの３次元候補座標を予測するステップは、前記多角形の頂点が有する深度値の補間された値に基づいて前記３次元候補座標を予測するステップを含む、請求項４に記載の映像処理方法。
【請求項７】
前記対応ピクセルの検索範囲を設定するステップは、
前記第１フレームのピクセルの３次元候補座標を前記第２フレームの座標系に投影して前記対応ピクセルの複数の候補を決定するステップと、
前記対応ピクセルの複数の候補を基準としてエピポーララインに沿って前記第２フレームにおける前記対応ピクセルの検索範囲を設定するステップと、
を含む、請求項４に記載の映像処理方法。
【請求項８】
前記第１フレームのピクセルの深度値を推定するステップは、前記検索範囲に基づいて前記第１フレームのピクセルと前記対応ピクセルの複数の候補をマッチングさせて前記第１フレームのピクセルの深度値を推定するステップを含む、請求項７に記載の映像処理方法。
【請求項９】
前記フレームを選択するステップは、前記入力映像シーケンスを撮影したカメラのポーズ情報を用いて前記選択されたフレームをペアリングするステップを含む、請求項１ないし８のうち何れか一項に記載の映像処理方法。
【請求項１０】
前記選択されたフレームをペアリングするステップは、前記選択されたフレーム間の重なり程度、前記選択されたフレーム間のベースラインの長さ、前記選択されたフレーム間の視野角のいずれか１つ又は２以上の組み合せに基づいて前記選択されたフレームをペアリングするステップを含む、請求項９に記載の映像処理方法。
【請求項１１】
前記多角形メッシュを生成するステップは、前記多角形が前記深度値を有する特徴点に対応する頂点を含むように前記多角形メッシュを生成するステップを含む、請求項１ないし１０のうち何れか一項に記載の映像処理方法。
【請求項１２】
前記多角形のうち、前記第１フレームのピクセルを含む多角形の頂点が有する深度値を決定するステップをさらに含む、請求項１ないし１１のうち何れか一項に記載の映像処理方法。
【請求項１３】
前記入力映像シーケンスを撮影するために使用されたカメラのポーズ情報を推定するステップをさらに含む、請求項１ないし１２のうち何れか一項に記載の映像処理方法。
【請求項１４】
前記推定された深度値に基づいて深度マップを生成するステップをさらに含む、請求項１ないし１３のうち何れか一項に記載の映像処理方法。
【請求項１５】
前記深度マップを用いて前記入力映像シーケンスの再構成された３次元映像を生成するステップを含む、請求項１４に記載の映像処理方法。
【請求項１６】
ハードウェアと結合して請求項１に記載の方法を実行させるため媒体に格納されたコンピュータプログラム。
【請求項１７】
入力映像シーケンスを撮影するカメラと、
前記入力映像シーケンスから、第１フレーム及び第２フレームを含むフレームを選択し、前記選択されたフレームそれぞれの特徴点のうち深度値を含む特徴点を用いて前記選択されたフレームごとに多角形を含む多角形メッシュを生成し、前記多角形メッシュに基づいて、前記第１フレームのピクセルに対応する前記第２フレームの対応ピクセルの検索範囲を設定し、前記検索範囲に基づいて前記第１フレームのピクセルと前記第２フレームの対応ピクセルをマッチングさせて前記第１フレームのピクセルの深度値を推定するプロセッサと、を含む、映像処理装置。
【請求項１８】
前記第１フレームのピクセルは前記多角形メッシュに含まれるいずれか１つの多角形の中に位置し、
前記プロセッサは、前記多角形の深度値に基づいて前記対応ピクセルの検索範囲を設定する、請求項１７に記載の映像処理装置。
【請求項１９】
前記プロセッサは、前記第１フレームのピクセルを含む多角形のうち１つの多角形の頂点の深度値に基づいて、前記第２フレームで対応ピクセルの検索範囲を設定する、請求項１７に記載の映像処理装置。
【請求項２０】
前記プロセッサは、前記第１フレームのピクセルを含む多角形のうち、１つの多角形の頂点が有する深度値を用いて前記第１フレームのピクセルの３次元候補座標を予測し、前記第１フレームのピクセルの３次元候補座標を前記第２フレームの座標系に投影して前記対応ピクセルの検索範囲を設定する、請求項１７に記載の映像処理装置。
【請求項２１】
前記プロセッサは、前記多角形の頂点が有する深度値それぞれを用いて３次元候補座標を予測する、請求項２０に記載の映像処理装置。
【請求項２２】
前記プロセッサは、前記多角形の頂点が有する深度値の補間された値に基づいて前記３次元候補座標を予測する、請求項２０に記載の映像処理装置。
【請求項２３】
前記プロセッサは、前記第１フレームのピクセルの３次元候補座標を前記第２フレームの座標系に投影して前記対応ピクセルの複数の候補を決定し、前記対応ピクセルの複数の候補を基準としてエピポーララインに沿って前記第２フレームにおける前記対応ピクセルの検索範囲を設定する、請求項２０に記載の映像処理装置。
【請求項２４】
前記プロセッサは、前記検索範囲に基づいて前記第１フレームのピクセルと前記対応ピクセルの複数の候補をマッチングさせて前記第１フレームのピクセルの深度値を推定する、請求項２３に記載の映像処理装置。
【請求項２５】
前記プロセッサは、前記カメラのポーズ情報を用いて前記選択されたフレームをペアリングする、請求項１７ないし２４のうち何れか一項に記載の映像処理装置。
【請求項２６】
前記プロセッサは、前記選択されたフレーム間の重なり程度、前記選択されたフレーム間のベースラインの長さ、前記選択されたフレーム間の視野角のいずれか１つ又は２以上の組み合せに基づいて前記選択されたフレームをペアリングする、請求項２５に記載の映像処理装置。
【請求項２７】
前記プロセッサは、前記多角形が前記深度値を有する特徴点に対応する頂点を含むように前記多角形メッシュを生成する、請求項１７ないし２６のうち何れか一項に記載の映像処理装置。
【請求項２８】
前記プロセッサは、前記多角形のうち前記第１フレームのピクセルを含む多角形の頂点が有する深度値を決定する、請求項１７ないし２７のうち何れか一項に記載の映像処理装置。
【請求項２９】
前記プロセッサは、前記カメラのポーズ情報を推定する、請求項１７ないし２８のうち何れか一項に記載の映像処理装置。
【請求項３０】
前記プロセッサは、前記推定された深度値に基づいて深度マップを生成する、請求項１７ないし２９のうち何れか一項に記載の映像処理装置。
【請求項３１】
前記プロセッサは、前記深度マップを用いて前記入力映像シーケンスの再構成された３次元映像を生成する、請求項３０に記載の映像処理装置。
【請求項３２】
映像キャプチャー装置によってキャプチャーされた２次元入力映像シーケンスの複数のフレームから、第１フレーム及び第２フレームを含むフレームを選択し、
前記選択されたフレームそれぞれの特徴点であって２次元位置に対応する情報を含む特徴点のうち、深度値を含む特徴点を用いて、前記選択されたフレームそれぞれに対する多角形を含む２次元多角形メッシュを生成し、
前記２次元多角形メッシュに基づいて前記第１フレームのピクセルに対応する前記第２フレームの対応ピクセルの検索範囲を設定し、
前記検索範囲に基づいて前記第１フレームのピクセルと前記対応ピクセルをマッチングさせることで前記第１フレームのピクセルの深度値を推定し、
前記推定された深度値に基づいて深度マップを生成するプロセッサと、
前記深度マップを用いて前記２次元入力映像シーケンスの３次元映像を再構成するディスプレイ装置と、
を含む、拡張現実装置。
【請求項３３】
前記プロセッサは、
前記第１フレームのピクセルを含む多角形のうち、多角形の頂点の深度値に基づいて前記第１フレームのピクセルの３次元候補座標を予測し、
前記第１フレームのピクセルの３次元候補座標を前記第２フレームの座標系に投射する、請求項３２に記載の拡張現実装置。
【請求項３４】
前記プロセッサは、前記多角形の頂点が有する深度値の補間された値に基づいて前記３次元候補座標を予測する、請求項３３に記載の拡張現実装置。
【請求項３５】
前記プロセッサは、
前記第１フレームのピクセルの３次元候補座標を前記第２フレームの座標系に投影することによって前記対応ピクセルの候補を決定し、
前記対応ピクセルの複数の候補に基づいて、前記第２フレームで前記対応ピクセルの検索範囲をエピポーララインに沿って設定する、請求項３３に記載の拡張現実装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、３次元映像を再構成するために単眼カメラを用いて深度値を推定する映像処理方法及び装置に関する。
【背景技術】
【０００２】
２次元入力映像は、深度推定により３次元映像に再構成される。２次元入力映像の深度を推定するために、例えば、深度カメラを用いて深度値を推定する方法、２台のカメラを用いて取得した左、右の両眼映像にステレオビジョン技術を適用し深度値を推定する方法、又は、移動中であるカメラの位置を測定しつつ、同時に周辺環境の地図を作成するＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）方式などを用いる。
【０００３】
モバイルデバイスにおいて、映像の深度値を推定する技術は、深度カメラ又は２台のカメラのような付加的なハードウェア装置を求める。また、モバイルデバイスの小型化に伴って２台のカメラ間の適切な距離確保が困難であり、限定された演算リソースによりＳＬＡＭ方式に求められる演算をリアルタイムに処理することが困難である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第９２７５０７８  Ｂ２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一側面によれば、単眼カメラを用いて深度値を推定することにある。
【０００６】
一側面によれば、カメラのポーズ推定によって取得された特徴点に対応する３次元マップポイント及び３次元マップを事前情報として利用することで、より効率よくコンパクトな深度マップを生成することにある。
【０００７】
一側面によれば、２次元メッシュの生成のために別途の算出がなくてもカメラポーズを推定する過程で生成される特徴点を用いることで、特徴点に基づく（特徴ベースの）ＳＬＡＭ方式を効率よく使用することにある。
【０００８】
一側面によれば、メッシュでピクセルが含まれた三角形を用いてエピポーララインの全体でない一部を検索し、映像内の全てのピクセルに対してピクセル単位のマッチングを行うことで、モバイルデバイスでもリアルタイムにコンパクトな深度マップを生成することにある。
【０００９】
一側面によれば、カメラのポーズ推定時に生成されたフレームの特徴点を用いてフレームの場面構造を表現するメッシュを構成し、メッシュに基づいてピクセルの対応ピクセルを探すための検索範囲を縮小してピクセルの深度値を推定することで、モバイルデバイスでもリアルタイムにピクセルの深度値をコンパクトに推定することにある。
【課題を解決するための手段】
【００１０】
一実施形態によれば、映像処理方法は、入力映像シーケンスから、第１フレーム及び第２フレームを含むフレームを選択するステップと、前記選択されたフレームそれぞれの特徴点のうち深度値を含む特徴点を用いて、前記選択されたフレームごとに多角形を含む多角形メッシュを生成するステップと、前記多角形メッシュに基づいて、前記第１フレームのピクセルに対応する前記第２フレームの対応ピクセルの検索範囲を設定するステップと、前記検索範囲に基づいて前記第１フレームのピクセルと前記第２フレームの対応ピクセルをマッチングさせて前記第１フレームのピクセルの深度値を推定するステップとを含む。
【００１１】
前記第１フレームのピクセルは、前記多角形メッシュに含まれるいずれか１つの多角形の中に位置し、
前記対応ピクセルの検索範囲を設定するステップは、前記多角形の深度値に基づいて前記対応ピクセルの検索範囲を設定するステップを含み得る。
【００１２】
前記対応ピクセルの検索範囲を設定するステップは、前記第１フレームのピクセルを含む多角形のうち、１つの多角形の頂点の深度値に基づいて前記第２フレームで対応ピクセルの検索範囲を設定するステップを含み得る。
【００１３】
前記対応ピクセルの検索範囲を設定するステップは、前記第１フレームのピクセルを含む多角形のうち、１つの多角形の頂点が有する深度値を用いて前記第１フレームのピクセルの３次元候補座標を予測するステップと、前記第１フレームのピクセルの３次元候補座標を前記第２フレームの座標系に投影して前記対応ピクセルの検索範囲を設定するステップとを含み得る。
【００１４】
前記ピクセルの３次元候補座標を予測するステップは、前記多角形の頂点が有する深度値それぞれを用いて３次元候補座標を予測するステップを含み得る。
【００１５】
前記ピクセルの３次元候補座標を予測するステップは、前記多角形の頂点が有する深度値の補間された値に基づいて前記３次元候補座標を予測するステップを含み得る。
【００１６】
前記対応ピクセルの検索範囲を設定するステップは、前記第１フレームのピクセルの３次元候補座標を前記第２フレームの座標系に投影して前記対応ピクセルの複数の候補を決定するステップと、前記対応ピクセルの複数の候補を基準としてエピポーララインに沿って前記第２フレームにおける前記対応ピクセルの検索範囲を設定するステップとを含み得る。
【００１７】
前記第１フレームのピクセルの深度値を推定するステップは、前記検索範囲に基づいて前記第１フレームのピクセルと前記対応ピクセルの複数の候補をマッチングさせて前記第１フレームのピクセルの深度値を推定するステップを含み得る。
【００１８】
前記フレームを選択するステップは、前記入力映像シーケンスを撮影したカメラのポーズ情報を用いて前記選択されたフレームをペアリングするステップを含み得る。
【００１９】
前記選択されたフレームをペアリングするステップは、前記選択されたフレーム間の重なり程度、前記選択されたフレーム間のベースラインの長さ、前記選択されたフレーム間の視野角のいずれか１つ又は２以上の組み合せに基づいて前記選択されたフレームをペアリングするステップを含み得る。
【００２０】
前記多角形メッシュを生成するステップは、前記多角形が前記深度値を有する特徴点に対応する頂点を含むように前記多角形メッシュを生成するステップを含み得る。
【００２１】
前記映像処理方法は、前記多角形のうち、前記第１フレームのピクセルを含む多角形の頂点が有する深度値を決定するステップをさらに含み得る。
【００２２】
前記映像処理方法は、前記入力映像シーケンスを撮影するために使用されたカメラのポーズ情報を推定するステップをさらに含み得る。
【００２３】
前記映像処理方法は、前記推定された深度値に基づいて深度マップを生成するステップをさらに含み得る。
【００２４】
前記映像処理方法は、前記深度マップを用いて前記入力映像シーケンスの再構成された３次元映像を生成するステップを含み得る。
【００２５】
一実施形態に係る映像処理装置は、入力映像シーケンスを撮影するカメラと、前記入力映像シーケンスから、第１フレーム及び第２フレームを含むフレームを選択し、前記選択されたフレームそれぞれの特徴点のうち深度値を含む特徴点を用いて前記選択されたフレームごとに多角形を含む多角形メッシュを生成し、前記多角形メッシュに基づいて、前記第１フレームのピクセルに対応する前記第２フレームの対応ピクセルの検索範囲を設定し、前記検索範囲に基づいて前記第１フレームのピクセルと前記第２フレームの対応ピクセルをマッチングさせて前記第１フレームのピクセルの深度値を推定するプロセッサと、を含む。
【００２６】
前記第１フレームのピクセルは前記多角形メッシュに含まれるいずれか１つの多角形の中に位置し、前記プロセッサは、前記多角形の深度値に基づいて前記対応ピクセルの検索範囲を設定し得る。
【００２７】
前記プロセッサは、前記第１フレームのピクセルを含む多角形のうち１つの多角形の頂点の深度値に基づいて、前記第２フレームで対応ピクセルの検索範囲を設定し得る。
【００２８】
前記プロセッサは、前記第１フレームのピクセルを含む多角形のうち、１つの多角形の頂点が有する深度値を用いて前記第１フレームのピクセルの３次元候補座標を予測し、前記第１フレームのピクセルの３次元候補座標を前記第２フレームの座標系に投影して前記対応ピクセルの検索範囲を設定し得る。
【００２９】
前記プロセッサは、前記多角形の頂点が有する深度値それぞれを用いて３次元候補座標を予測し得る。
【００３０】
前記プロセッサは、前記多角形の頂点が有する深度値の補間された値に基づいて前記３次元候補座標を予測し得る。
【００３１】
前記プロセッサは、前記第１フレームのピクセルの３次元候補座標を前記第２フレームの座標系に投影して前記対応ピクセルの複数の候補を決定し、前記対応ピクセルの複数の候補を基準としてエピポーララインに沿って前記第２フレームにおける前記対応ピクセルの検索範囲を設定し得る。
【００３２】
前記プロセッサは、前記検索範囲に基づいて前記第１フレームのピクセルと前記対応ピクセルの複数の候補をマッチングさせて前記第１フレームのピクセルの深度値を推定し得る。
【００３３】
前記プロセッサは、前記カメラのポーズ情報を用いて前記選択されたフレームをペアリングし得る。
【００３４】
前記プロセッサは、前記選択されたフレーム間の重なり程度、前記選択されたフレーム間のベースラインの長さ、前記選択されたフレーム間の視野角のいずれか１つ又は２以上の組み合せに基づいて前記選択されたフレームをペアリングし得る。
【００３５】
前記プロセッサは、前記多角形が前記深度値を有する特徴点に対応する頂点を含むように前記多角形メッシュを生成し得る。
【００３６】
前記プロセッサは、前記多角形のうち前記第１フレームのピクセルを含む多角形の頂点が有する深度値を決定し得る。
【００３７】
前記プロセッサは、前記カメラのポーズ情報を推定し得る。
【００３８】
前記プロセッサは、前記推定された深度値に基づいて深度マップを生成し得る。
【００３９】
前記プロセッサは、前記深度マップを用いて前記入力映像シーケンスの再構成された３次元映像を生成し得る。
【００４０】
一実施形態に係る拡張現実装置は、映像キャプチャー装置によってキャプチャーされた２次元入力映像シーケンスの複数のフレームから、第１フレーム及び第２フレームを含むフレームを選択し、前記選択されたフレームそれぞれの特徴点であって２次元位置に対応する情報を含む特徴点のうち、深度値を含む特徴点を用いて、前記選択されたフレームそれぞれに対する多角形を含む２次元多角形メッシュを生成し、前記多角形メッシュに基づいて前記第１フレームのピクセルに対応する前記第２フレームの対応ピクセルの検索範囲を設定し、前記検索範囲に基づいて前記第１フレームのピクセルと前記対応ピクセルをマッチングさせることで前記第１フレームのピクセルの深度値を推定し、前記推定された深度値に基づいて深度マップを生成するプロセッサと、前記深度マップを用いて前記２次元入力映像シーケンスの３次元映像を再構成するディスプレイ装置とを含む。
【００４１】
前記プロセッサは、前記第１フレームのピクセルを含む多角形のうち、多角形の頂点の深度値に基づいて前記第１フレームのピクセルの３次元候補座標を予測し、前記第１フレームのピクセルの３次元候補座標を前記第２フレームの座標系に投射し得る。
【００４２】
前記プロセッサは、前記多角形の頂点が有する深度値の補間された値に基づいて前記３次元候補座標を予測し得る。
【００４３】
前記プロセッサは、前記第１フレームのピクセルの３次元候補座標を前記第２フレームの座標系に投影することによって前記対応ピクセルの候補を決定し、
前記対応ピクセルの複数の候補に基づいて、前記第２フレームで前記対応ピクセルの検索範囲をエピポーララインに沿って設定し得る。
【図面の簡単な説明】
【００４４】
【図１】一実施形態に係る深度値を推定する方法を示すフローチャートである。
【図２】一実施形態により入力映像シーケンスに含まれた複数のフレームからフレームを選択する方法を説明するための図である。
【図３Ａ】一実施形態により多角形メッシュを生成する方法を説明するための図である。
【図３Ｂ】一実施形態により多角形メッシュを生成する方法を説明するための図である。
【図３Ｃ】一実施形態により多角形メッシュを生成する方法を説明するための図である。
【図４】一実施形態により検索範囲を設定する方法を示すフローチャートである。
【図５】一実施形態により対応ピクセルの検索範囲を設定する方法を説明するための図である。
【図６Ａ】一実施形態に係る多角形メッシュでピクセルが含まれた多角形があるオブジェクトに位置する場合、及び様々なオブジェクトに渡って位置する場合を説明するための図である。
【図６Ｂ】一実施形態に係る多角形メッシュでピクセルが含まれた多角形があるオブジェクトに位置する場合、及び様々なオブジェクトに渡って位置する場合を説明するための図である。
【図７】一実施形態により生成された深度マップを示す図である。
【図８】他の実施形態に係る深度値を推定する方法を示すフローチャートである。
【図９】他の実施形態に係る深度値を推定する方法を示すフローチャートである。
【図１０】一実施形態に係る深度値を推定する装置のブロック図である。
【発明を実施するための形態】
【００４５】
実施形態に対する特定な構造的又は機能的な説明は単なる例示のための目的として開示されたものとして、様々な形態に変更され得る。したがって、実施形態は特定な開示形態に限定されるものではなく、本明細書の範囲は技術的な思想に含まれる変更、均等物ないし代替物を含む。
【００４６】
第１又は第２などの用語を複数の構成要素を説明するために用いることがあるが、このような用語は１つの構成要素を他の構成要素から区別する目的としてのみ解釈されなければならない。例えば、第１構成要素は第２構成要素と命名することができ、同様に第２構成要素は第１構成要素にも命名することができる。
【００４７】
いずれかの構成要素が他の構成要素に「接続されて」いると言及された場合、その次の構成要素に直接的に接続されてもよく、又は中間に他の構成要素が存在することもあり得ると理解されなければならない。
【００４８】
単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、１つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【００４９】
異なるように定義さがれない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【００５０】
下記で説明される実施形態は、様々な拡張現実（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ；ＡＲ）の応用分野で入力映像シーケンスの３次元場面（又はシーン）を再構成する過程において深度値を推定するために用いられる。実施形態は、深度カメラなどの付加的なハードウェア構成がなくても、１つのカメラで取得される映像によって迅速にコンパクトな深度マップを生成することができる。実施形態は、例えば、自律走行自動車、知能型自動車、スマートフォン、及びモバイル機器などにリアルタイムに拡張現実アプリケーションを実現するため適用され得る。以下、実施形態を添付する図面を参照しながら詳細に説明する。各図面に提示された同一の参照符号は同一の部材を示す。
【００５１】
図１は、一実施形態に係る深度値を推定する方法を示すフローチャートである。図１を参照すると、一実施形態に係る深度値を推定する装置（以下、「推定装置」）は、入力映像シーケンスで複数のフレームからフレームを選択する（Ｓ１１０）。入力映像シーケンスは、推定装置に入力される映像であり、例えば、リアルタイム映像又は動画であり得る。ここで、選択されたフレームは、例えば、入力映像シーケンスに含まれた複数のフレームのうち一部に該当するフレームであって、複数のフレームのうち選択されていないフレームと区分するために「キーフレーム」と称する。入力映像シーケンスは、推定装置に含まれたカメラ（例えば、図１０に示されたカメラ１０１０を用いてキャプチャーされたものであってもよく、推定装置の外部から取得されたものであってもよい。推定装置が入力映像シーケンスで複数のフレームからフレームを選択する方法について下記の図２を参照して具体的に説明する。
【００５２】
推定装置は、ステップＳ１１０において、選択されたフレームそれぞれの特徴点のうち深度値を含む特徴点を用いて、選択されたフレームごとに多角形を含む多角形メッシュを生成する（Ｓ１２０）。推定装置は、選択されたフレーム、言い換えれば、キーフレームごとに対して深度値を含む特徴点を用いて多角形メッシュを生成する。推定装置は、例えば、キーフレームＡの特徴点のうち、深度値を含む特徴点を用いてキーフレームＡに対する多角形メッシュを生成する。また、推定装置は、キーフレームＢの特徴点のうち深度値を含む特徴点を用いてキーフレームＢに対する多角形メッシュを生成する。特徴点は、フレーム内に特徴となる点として、該当するフレーム内の２次元位置に対応する情報を含む。それぞれ選択されたフレームは複数の特徴点を含む。フレームから特徴点を検出する動作として、例えば、エッジ検出のためのキャニー（Ｃａｎｎｙ）演算子、ソーベル（Ｓｏｂｅｌ）演算子、ラプラシアン・ガウシアン（ＬｏＧ）演算子、ガウシアン差分（ＤｏＧ）演算子、コーナー（ｃｏｒｎｅｒ）検出のためのハリス演算子（Ｈａｒｒｉｓ  ｏｐｅｒａｔｏｒ）、地域空間構造の描写のためのセンサス変換（Ｃｅｎｓｕｓ  ｔｒａｎｓｆｏｒｍ）演算子、プレヴィット（Ｐｒｅｗｉｔｔ）演算子、ロバーツ（Ｒｏｂｅｒｔｓ）演算子、ラプラシアン（Ｌａｐｌａｃｉａｎ）演算子、及びコンパス（Ｃｏｍｐａｓｓ）演算子のいずれか１つを用いる一般的な特徴点検出アルゴリズムが適用されるため、特徴点検出アルゴリズムに対するより詳細な説明は省略する。
【００５３】
実施形態によれば、特徴点のうち少なくとも一部は追加的に深度値に対応する情報をさらに含む。例えば、入力映像シーケンスを撮影したカメラのポーズ情報を推定する過程で、特徴点のうち少なくとも一部の３Ｄ位置に対応する情報が取得されてもよい。３Ｄ位置は深度値を含む。推定装置は、選択されたフレームそれぞれの特徴点のうち、深度値を含んでいる特徴点に基づいて選択されたフレームごとに多角形を生成し、生成された多角形を含む多角形メッシュを生成する。推定装置は、例えば、深度値を含んでいる特徴点を頂点にする多角形を含む多角形メッシュを選択されたフレームごとに生成する。
【００５４】
一実施形態に係る推定装置が生成する多角形メッシュは、入力映像シーケンスの場面構造を示すもので、入力映像シーケンスの深度空間に対する事前情報に該当する。本明細書では、説明の便宜のために推定装置が多角形メッシュを生成するものとして記載したが、必ずこれに限定されることはない。推定装置は、多角形メッシュの他にも入力映像シーケンスの場面構造を表現できる様々な幾何（ｇｅｏｍｅｔｒｙ）構造を生成し得る。推定装置が多角形メッシュを生成する方法については、下記の図３を参照して具体的に説明する。
【００５５】
選択されたフレーム（即ち、キーフレーム）は、例えば、第１フレーム及び第２フレームを含む。推定装置は、第１フレームのピクセル及び第１フレームのピクセルに対応する第２フレームの対応ピクセルをマッチング（又は照合）することにより、第１フレームのピクセルと第２フレームの対応ピクセルとの間の視差値を推定し、第１フレームのピクセル又は第２フレームの対応ピクセルの深度値を決定する。この手法は、第１フレームのピクセルと第２フレームの対応ピクセルをマッチングさせ、第１フレームのピクセルと第２フレームに含まれたピクセルとを比較することによって、第１フレームのピクセルに対応する第２フレームの対応ピクセルを探すステレオマッチングとして理解することができる。推定装置は、例えば、ウィンドウに基づくステレオマッチング（ｗｉｎｄｏｗ−ｂａｓｅｄ  ｓｔｅｒｅｏ  ｍａｔｃｈｉｎｇ）アルゴリズムにより第１フレームのピクセルと第２フレームの対応ピクセルをマッチングして第１フレームのピクセルの深度値を推定する。ウィンドウに基づくステレオマッチングアルゴリズムは、例えば、一定の大きさのウィンドウを用いて各フレームで最大の検索範囲に該当する領域からピクセルを抽出し、ステレオマッチングを行う方式である。推定装置は、例えば、同じサイズの複数のウィンドウを用いてもよいし、又は、角度の調整されたシフトウィンドウ（ｓｈｉｆｔｅｄ  ｗｉｎｄｏｗ）を用いてウィンドウを再設定した後、ピクセルを抽出しステレオマッチングを行ってもよい。
【００５６】
推定装置は、ステップＳ１２０で選択されたフレームごとに生成された多角形メッシュに基づいて、第１フレームのピクセルに対応する第２フレームの対応ピクセルの検索範囲を設定する（Ｓ１３０）。推定装置は、各多角形メッシュに含まれた多角形の深度値に基づいて、第１フレームのピクセルに対応する第２フレームの対応ピクセルを検出するため、第２フレーム内で検索を行う検索範囲を減少させ得る。例えば、推定装置は、各多角形メッシュに含まれた多角形のうち第１フレームのピクセルを含む多角形の頂点が有する深度値に基づいて、第２フレームで第１フレームのピクセルに対応する第２フレームの対応ピクセルの検索範囲を設定する。推定装置が検索範囲を設定する方法については、下記の図４〜図６を参照して具体的に説明する。
【００５７】
推定装置は、ステップＳ１３０で設定された検索範囲に基づいて、第１フレームのピクセルと第２フレームの対応ピクセルをマッチングし、第１フレームのピクセルの深度値を推定する（Ｓ１４０）。推定装置は、第２フレーム内で第１フレームのピクセルに対応可能な全ての候補範囲を検索する代わりに、ステップＳ１３０で設定された検索範囲内でマッチングを行う。そのため、深度値を推定するために必要な資源量が減少し得る。実施形態によれば、推定装置は、推定したピクセルの深度値を用いて、例えば、図７に示すようなコンパクトな深度マップ７００を生成することができる。
【００５８】
図２は、一実施形態により入力映像シーケンスに含まれた複数のフレームからフレームを選択する方法を説明するための図である。図２を参照すると、オブジェクト（例えば、マウス人形と自動車おもちゃ）を撮影した入力映像シーケンス２１０の一実施形態が示されている。ここで、入力映像シーケンス２１０は、リアルタイム映像又は動画として、複数のフレーム２３０を含む。実施形態に係る入力映像シーケンスは複数であってもよい。
【００５９】
推定装置は、入力映像シーケンス２１０に含まれた複数のフレーム２３０からキーフレーム２５０を選択する。ここで、キーフレーム２５０は、入力映像シーケンス２１０に含まれた複数のフレーム２３０のうち、深度推定に用いられるフレームに該当する。キーフレーム２５０は、複数のフレーム２３０のうち選択された一部のフレームに該当する。
【００６０】
一実施形態に係る推定装置は、入力映像シーケンス２１０を撮影したカメラ（又は、撮影装置）のポーズ情報を推定する。入力映像シーケンス２１０が入力されれば、推定装置は、例えば、特徴ベースのＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）方式によりフレームごとのカメラのポーズ情報を取得する。カメラのポーズ情報は、例えば、カメラの位置に該当するＸ（水平）、Ｙ（垂直）、Ｚ（深さ）とカメラの姿勢（ｏｒｉｅｎｔａｔｉｏｎ）に該当するピッチ（ｐｉｔｃｈ）、ヨー（ｙａｗ）、及びロール（ｒｏｌｌ）を含む６自由度（６ＤｏＦ）カメラポーズであり得る。カメラのポーズ情報を取得するためには、特徴ベースのＳＬＡＭ方式の他にも、例えば、ダイレクト（Ｄｉｒｅｃｔ）ＳＬＡＭ方式、ＥＫＦ（Ｅｘｔｅｎｄｅｄ  Ｋａｌｍａｎ  Ｆｉｌｔｅｒ）ＳＬＡＭ方式、ファースト（Ｆａｓｔ）ＳＬＡＭ方式、及びＬＳＤ（Ｌａｒｇｅ−Ｓｃａｌｅ  Ｄｉｒｅｃｔ  Ｍｏｎｏｃｕｌａｒ）ＳＬＡＭ方式などの様々なＳＬＡＭ方式を用いてもよい。
【００６１】
例えば、入力映像シーケンス２１０が推定装置の外部から取得されたものである場合、推定装置は、入力映像シーケンス２１０の他にも入力映像シーケンス２１０を撮影した撮影装置の回転情報及び移動情報などのようなポーズ情報、撮影装置の位置情報及び／又は撮影装置のキャリブレーション情報などを共に受信する。
【００６２】
推定装置は、カメラのポーズ情報を用いて複数のフレーム２３０のうち、深度推定のためのキーフレーム２５０をペアリングする。ペアリングは、例えば、キーフレーム（１）２５１とキーフレーム（２）２５３、キーフレーム（２）２５３とキーフレーム（３）２５５、及び／又はキーフレーム（３）２５５とキーフレーム（４）２５７を１つのペア（ｐａｉｒ）として対をなす。
【００６３】
図２に示される例では、キーフレーム（１）２５１とキーフレーム（２）２５３は、モーションステレオペア（１）２７１になり、キーフレーム（２）２５３とキーフレーム（３）２５５は、モーションステレオペア（２）２７３になり、キーフレーム（３）２５５とキーフレーム（４）２５７は、モーションステレオペア（３）２７５になる。
【００６４】
推定装置は、フレーム間のステレオマッチングが容易になるよう、例えば、選択されたフレーム間の重なり程度、選択されたフレーム間のベースラインの長さ、選択されたフレーム間の視野角などの条件を検査する。推定装置は、重なり情報、ベースラインの長さ、視野角のいずれか１つ又は２以上の組み合せにより選択されたフレームのうち、ペアリングするフレームを選択する。推定装置は、例えば、重なり程度が一定又は特定された閾値以上であるフレームを互いにペアリングする。また、推定装置は、重なり程度が一定又は特定された閾値以上であるフレームのうち、ベースラインの長さが予め設定された、又は特定された基準値よりも大きいフレームをペアリングしてもよいし、又は、フレーム間の視野角が視野角閾値を超過しないフレームを選択してペアリングしてもよい。
【００６５】
実施形態に係る推定装置は、フレーム間のステレオマッチングのための別途のキーフレームセットを生成してもよいが、ＳＬＡＭ方式の実行のうち生成されるキーフレームのうち前述した様々な条件に適するフレームを選択してペアリングすることが効率的である。
【００６６】
一実施形態に係る推定装置は、カメラのポーズ推定によって取得された特徴点に対応する３次元マップポイント及び３次元マップを事前情報として用いることで、効率よくコンパクトな深度マップを生成することができる。
【００６７】
図３は、一実施形態により多角形メッシュを生成する方法を説明するための図である。図３Ａを参照すれば、フレーム３１０の特徴点３１５を示す図が示されている。図３Ｂを参照すれば、図３Ａに示された特徴点３１５のうち、深度値を含んでいる特徴点３２０がマッピングされた３次元マップ３３０が示されている。図３Ｃを参照すれば、特徴点３２０を用いて生成された多角形メッシュ３５０及び多角形メッシュ３５０に含まれたいずれか１つの多角形３５５が示されている。
【００６８】
推定装置は、例えば、特徴ベースのＳＬＡＭ方式を用いて毎フレーム３１０ごとに核心的な特徴点３１５を探すことができる。推定装置は、特徴点３１５を図３Ｂに示された３次元マップ３３０にマッチングして各フレームの６自由度カメラポーズを算出する。推定装置は、特徴ベースのＳＬＡＭ方式が実行される場合に、線形三角測量（ｌｉｎｅａｒ  ｔｒｉａｎｇｕｌａｔｉｏｎ）などによりフレーム３１０から探し得る特徴点３１５の実際の３次元空間上の位置であるマップポイントを抽出し、これに基づいて３次元マップ３３０を更新することができる。
【００６９】
一実施形態において、２次元多角形メッシュの生成のための別途の算出がなくても、カメラポーズを推定する過程で生成される特徴点を用いることで、特徴ベースのＳＬＡＭ方式を効率よく用いることができる。又は、実施形態に係る推定装置は、３Ｄ位置が知られた、言い換えれば、深度値を把握しているピクセルのうちの一部を映像内に均等に分布するよう分散させた後、多角形メッシュの生成時の入力として使用することでダイレクトＳＬＡＭ方式を活用できる。
【００７０】
推定装置は、フレーム３１０内に存在する特徴点３１５のうち、３Ｄ位置が把握されて深度値を含む特徴点（例えば、図３Ｂに示す特徴点３２０）を選択し、図３Ｃに示すような２次元多角形メッシュ３５０を生成する。推定装置は、例えば、ドロネー三角分割方法（Ｄｅｌａｕｎａｙ  ｔｒｉａｎｇｕｌａｔｉｏｎ）により２次元多角形メッシュ３５０を生成する。ドロネー三角分割方法は、平面上の点の集合（又は、点群）に対するボロノイ図（Ｖｏｒｏｎｏｉ  ｄｉａｇｒａｍ）で隣接する全てのポロノイ多角形に対応する２点を線分として連結し三角形のネットワークを構成する方法であって、三角形を定義している３つの点を除いたいずれの点も三角形を取り囲んでいる円に含まれない条件を満足しなければならない。例えば、２次元三角化多角形メッシュは、３次元ワールド座標情報ではない、各フレーム（２次元映像）内の映像座標を用いて三角化を行うことを意味する。２次元多角形メッシュ３５０は、三角化多角形メッシュ（ｔｒｉａｎｇｕｌａｔｉｏｎ  ｍｅｓｈ）であり得る。
【００７１】
より具体的に、推定装置は、例えば、図３Ａに示された特徴点３１５のうち点ｕｐ、ｖｐのように、図３Ｂに示された３次元マップ３３０で３Ｄ位置情報Ｘｐ、Ｙｐ、Ｚｐが知られた特徴点３２０を用いて、図３Ｃに示すような２次元多角形メッシュ３５０を生成し得る（特徴点３２０は、深度値が把握されている特徴点である）。２次元多角形メッシュ３５０は場面構造を含んでいるため、深度推定を迅速に行うための近似値情報を提供できる。
【００７２】
一実施形態に係る推定装置は、フレーム内の各ピクセルの深さを推定するとき、２次元多角形メッシュ３５０で該当のピクセルが存在する三角形３５５の範囲内で深度値を決定できる。ここで、２次元多角形メッシュ３５０に含まれた三角形３５５の頂点は、深度値を含んでいる特徴点である。例えば、三角形３５５の各頂点ごとに対応する深度値｛（ｚｌ）、（ｚｍ）、（ｚｎ）｝又は対応する３次元情報（例えば、（ｕｌ、ｖｌ、ｚｌ）、（ｕｍ、ｖｍ、ｚｍ）、（ｕｎ、ｖｎ、ｚｎ））が格納されてもよい。
【００７３】
図４は、一実施形態により検索範囲を設定する方法を示すフローチャートである。図４を参照すると、一実施形態に係る推定装置は、多角形メッシュで第１フレームのピクセルを含んでいる多角形の頂点が有する深度値を用いてピクセルの３次元候補座標を予測する（Ｓ４１０）。推定装置は、例えば、多角形メッシュで第１フレームのピクセルを含んでいる多角形の頂点が有する深度値それぞれを用いてピクセルの３次元候補座標を予測し得る。又は、推定装置は、多角形メッシュで第１フレームのピクセルが含まれた多角形の頂点が有する深度値の補間された値を算出し、補間された値を用いてピクセルの３次元候補座標を予測し得る。ここで、多角形メッシュは、第１フレームに対応して生成された多角形メッシュであり得る。
【００７４】
推定装置は、ステップＳ４１０で予測されたピクセルの３次元候補座標を第２フレームの座標系に投影し、対応ピクセルの検索範囲を設定する（Ｓ４２０）。推定装置は、例えば、ピクセルの３次元候補座標を第２フレームの座標系に投影して対応ピクセルの複数の候補を決定し、対応ピクセルの複数の候補を基準としてエピポーララインに沿って第２フレームにおける対応ピクセルの検索範囲を設定する。推定装置が対応ピクセルの検索範囲を設定する方法については、下記の図５を参照して具体的に説明する。
【００７５】
図５は、一実施形態により対応ピクセルの検索範囲を設定する方法を説明するための図である。図５を参照すると、キーフレームｋ５１０とキーフレームｍ５３０が示されている。キーフレームｋ５１０は、ピクセルｐ５０５を含む三角形５１５の多角形メッシュを含む。キーフレームｋ５１０を撮影したカメラのレンズ焦点Ｏｉとキーフレームｍ５３０を撮影したカメラのレンズ焦点Ｏｊと間のポーズ情報は、回転情報Ｒｊｉ及び移動情報ｔｊｉである。移動情報は並進情報と言及されてもよい。
【００７６】
図５において、レンズ焦点Ｏｉとレンズ焦点Ｏｊとの間を連結したライン５０１は、２つのキーフレーム間の「ベースライン」に該当し、ベースライン５０１がキーフレームｋ５１０及びキーフレームｍ５３０それぞれのイメージ平面と接する（又は交わる）点ｅとｅ’は、「エピ極」に該当する。ここで、ライン５２０はレンズ焦点Ｏｉとキーフレームｋ５１０に含まれたピクセルｐ５０５とを通る直線であり、ライン５４０は、キーフレームｍ５３０のエピ極ｅ’を通り、ライン５２０と並ぶ「エピポーラライン」である。
【００７７】
一実施形態に係る推定装置は、キーフレームｋ５１０の全体の検索範囲で各ピクセルの深度値を探す代わりに、多角形メッシュで該当のピクセル（例えば、ピクセルｐ５０５）が属する三角形５１５の各頂点が有する深度値を伝播させ（又は利用し）、キーフレームｍ５３０における検索範囲を縮小し得る。
【００７８】
例えば、図５において、キーフレームｋ５１０のピクセルｐ５０５が属する三角形５１５の各頂点の深度値が｛ｚ１、ｚ２、ｚ３｝であると仮定する。
【００７９】
キーフレームｋ５１０のピクセルｐ５０５に対応する対応ピクセルｐ’の位置を、キーフレームｋ５１０とペアリングされたキーフレームｍ５３０の中で探す場合、推定装置は、ピクセルｐ５０５が属する三角形５１５の各頂点の深度値｛ｚ１、ｚ２、ｚ３｝を用いてピクセルｐ５０５の３次元候補座標を予測し得る。３次元候補座標は、３次元ワールド座標である。
【００８０】
推定装置は、ピクセルｐ５０５が属する三角形５１５の各頂点の深度値｛ｚ１、ｚ２、ｚ３｝のそれぞれを伝播してピクセルｐの３次元候補座標を予測してもよい。別の実施形態に係る推定装置は、ピクセルｐ５０５が属する三角形５１５の各頂点の深度値｛ｚ１、ｚ２、ｚ３｝を伝播する代わりに、３つの深度値｛ｚ１、ｚ２、ｚ３｝の補間されたｚ値を平滑化制約条件（ｓｍｏｏｔｈｎｅｓｓ  ｃｏｎｓｔｒａｉｎｔ）を仮定したピクセルの深度値ｚに設定し、ピクセルの深度値ｚに基づいてピクセルｐの３次元候補座標を予測して算出時間を節約できる。この場合、深度値ｚを含んでいるピクセルｐの３次元候補座標は、ピクセルｐの単一の候補座標になり得る。平滑化制約条件は、１つのオブジェクト内で深度値が急激には変わらないという条件のもとで、隣接するピクセルと同一又は類似の深度値をもたらす。ただし、後述する図６Ｂに示すように、多角形メッシュに含まれた三角形が１つのオブジェクトだけでなく複数のオブジェクトに関わっている場合、単一の候補座標として予測された深度値（補間された値）の誤差は大きく増加することもある。
【００８１】
推定装置は、ピクセルｐ５０５の３次元候補座標（又は、深度値）に基づいてピクセルｐ５０５がペアリングされたキーフレームｍ５３０内で位置する可能性のある３次元座標を探し出し、探し出された３次元座標に基づいて深度値を推定できる。
【００８２】
推定装置は、ピクセルｐ５０５の３次元候補座標をキーフレームｍ５３０の座標系に投影し、ピクセルｐ５０５の対応ピクセルの複数の候補ｐ’１（５４１）、ｐ’２（５４３）、ｐ’３（５４５）を探し出す。推定装置は、対応ピクセルの複数の候補ｐ’１（５４１）、ｐ’２（５４３）、ｐ’３（５４５）を基準としてエピポーラライン５４０に沿って若干の変化量とともに検索範囲５５０を設定する。ここで、若干の変化量は、ライン５２０で３つの深度値｛ｚ１、ｚ２、ｚ３｝が有する変化量（±α）によって変化し得る。
【００８３】
推定装置は、検索範囲５５０に基づいてピクセルｐ５０５と対応ピクセルの複数の候補ｐ’１、ｐ’２、ｐ’３５４１，５４３，５４５をステレオマッチングしてピクセルｐ５０５の深度値を推定する。
【００８４】
推定装置は、ステレオマッチング時に、例えば、ウィンドウに基づくアクセス方法の他に傾いた平面及び／又は色差などの処理のための様々なマッチング技術を適用し得る。
【００８５】
一実施形態では、上述したように多角形メッシュでピクセルｐ５０５が含まれた三角形５１５を用いてエピポーラライン５４０の全体ではなく一部（検索範囲５５０）を検索し、映像内の全てのピクセルに対してピクセル単位のマッチングを行うことで、モバイルデバイスでもリアルタイムにコンパクトな深度マップを生成することができる。
【００８６】
図６は、一実施形態に係る多角形メッシュでピクセルが含まれた多角形があるオブジェクトに位置する場合、及び様々なオブジェクトに渡って位置する場合を説明するための図である。図６Ａを参照すると、あるオブジェクト６２０上に存在する特徴点により、多角形メッシュの三角形６１０が構成される場合を示している。
【００８７】
図６Ａに示されるように、１つのオブジェクト６２０上に存在する特徴点から三角形６１０が構成されている場合、三角形６１０の三頂点の深度値の間の差が大きくない。このような場合、前述した平滑化条件を仮定して三角形６１０の三頂点の深度値を補間した値をピクセルｐの単一深度値（３次元候補座標）として用いてもよい。しかし、１つのオブジェクト６２０に応じて特徴点がコンパクトに探し難い場合、図６Ｂに示すよう、数個の異なるオブジェクトに属する特徴点から構成された多角形メッシュの三角形６５０が生成され得る。
【００８８】
図６Ｂを参照すると、２つの互いに異なるオブジェクト６３０，６４０に属する特徴点により、多角形メッシュの三角形６５０が構成されている場合を示す。例えば、図６Ｂに示すように、多角形メッシュの三角形６５０が互いに異なるオブジェクト６３０，６４０に含まれる場合、正確度のためにピクセルｐが属する三角形６５０の頂点の深度値｛ｚ１、ｚ２、ｚ３｝のそれぞれを用いてピクセルｐの３次元ワールド座標を生成し、３次元ワールド座標を用いて対応ピクセルｐ’を探すことが有利であるかもしれない。
【００８９】
図７は、一実施形態により生成された深度マップを示す図である。図７を参照すると、一実施形態に係る推定装置が前述した方法に映像内の全てのピクセルに対して推定したピクセルの深度値により生成された深度マップ７００を示している。
【００９０】
推定装置は、深度マップ７００を用いて入力映像シーケンスに対する３次元映像を再構成する。推定装置は、例えば、図１０に示されたディスプレイ装置１０５０を用いて入力映像シーケンスから再構成された３次元映像を表示し得る。
【００９１】
図８は、他の実施形態に係る深度値を推定する方法を示すフローチャートである。図８を参照すると、一実施形態に係る推定装置は、カメラのポーズ情報を推定する（Ｓ８１０）。カメラのポーズ情報は、例えば、回転マトリックス（Ｒ）、移動マトリックス（ｔ）、及びカメラの位置情報を含む。
【００９２】
推定装置は、カメラのポーズ情報を用いて入力映像シーケンスに含まれた複数のフレームから第１フレーム及び第２フレームを含む複数のフレームを選択する（Ｓ８２０）。
【００９３】
推定装置は、選択されたフレーム間の整列のための映修正を行う（Ｓ８３０）。映像修正は、選択されたフレームをエピポーララインに平行にするよう変換する過程である。映像修正を行う場合、選択されたフレームがエピポーララインに平行に整列しているため、２次元のエピポーラライン上における検索より簡易な１次元の平面直線（エピポーラライン）上における視差検索が可能である。
【００９４】
図８に示すステップＳ８４０は図１に示すステップＳ１２０に対応し、ステップＳ８５０は図１に示すステップＳ１３０に対応することから、該当部分の説明を参照することにする。推定装置は、第１フレームのピクセルと対応ピクセルをマッチングする（Ｓ８６０）。
【００９５】
推定装置は、ステップＳ８６０のピクセルと対応ピクセルにおけるマッチング過程を介して推定されたピクセルの深度値を用いて深度マップを生成する（Ｓ８７０）。
【００９６】
図９は、他の実施形態により深度値を推定する方法を示すフローチャートである。図９を参照すると、一実施形態に係る推定装置は、モーションステレオの入力映像シーケンスを２つ以上使用するマルチビューマッチングについても行うことができる。
【００９７】
図９に示されたステップＳ９１０は図８に示されたステップＳ８１０と同一であるため、該当部分に対する説明を参照することにする。また、図９に示されたステップＳ９２０〜ステップＳ９４０は、図１に示されたステップＳ１１０〜ステップＳ１３０と同一であるため、該当部分の説明を参考にする。
【００９８】
推定装置は、ステップＳ９４０で設定された検索範囲を用いてマルチビューマッチングを行う（Ｓ９５０）。マルチビューマッチングは、マルチビューフレームのうち隣接するフレームによる様々なステレオペアを生成し、各ペアに対して独立的に深度を推定した後、最終的に深度フュージョンを介して最適な結合深度値を推定するためのものである。
【００９９】
推定装置は、マルチビューマッチングにより推定された深度値（例えば、最適な結合深度値）を用いて深度マップを生成する（Ｓ９６０）。入力映像シーケンスは複数であってもよい。
【０１００】
図１０は、一実施形態に係る深度値を推定する装置のブロック図である。図１０を参照すると、一実施形態に係る深度値を推定する装置（以下、「推定装置」）１０００は、カメラ１０１０、プロセッサ１０３０、及びメモリ１０４０を含む。推定装置１０００は、通信インターフェース１０２０及び／又はディスプレイ装置１０５０をさらに含む。カメラ１０１０、通信インターフェース１０２０、プロセッサ１０３０、メモリ１０４０、及びディスプレイ装置１０５０は、通信バス１００５を介して通信する。
【０１０１】
推定装置１０００は、例えば、スマートフォンを含むモバイル機器、ナビゲータ、知能型自動車などのようにリアルタイムに様々な拡張現実（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ；ＡＲ）アプリケーションを実現する電子装置であり得る。
【０１０２】
カメラ１０１０は、入力映像シーケンスを撮影する。入力映像シーケンスは、単数であってもよく、複数であってもよい。入力映像シーケンスは、複数のフレームを含む。カメラ１０１０は、例えば、単眼カメラ（ｍｏｎｏｃｕｌａｒ  ｃａｍｅｒａ）であってもよい。
【０１０３】
通信インターフェース１０２０は、推定装置１０００の外部で撮影された入力映像シーケンスを受信する。この場合、通信インターフェース１０２０は、入力映像シーケンスの他にも入力映像シーケンスを撮影した撮影装置の回転情報及び移動情報などのようなポーズ情報、及び撮影装置のキャリブレーション情報などを受信する。
【０１０４】
プロセッサ１０３０は、入力映像シーケンスに含まれた複数のフレームからフレームを選択する。選択されたフレームは、例えば、第１フレーム及び第２フレームを含む。ここで、プロセッサ１０３０は、カメラ１０１０のポーズ情報を推定し、カメラ１０１０のポーズ情報を用いて選択されたフレームをペアリングする。プロセッサ１０３０は、例えば、第１フレーム及び第２フレームのように選択されたフレーム間の重なり程度、選択されたフレーム間のベースラインの長さ、選択されたフレーム間の視野角などに基づいて選択されたフレームをペアリングする。
【０１０５】
プロセッサ１０３０は、選択されたフレームそれぞれの特徴点のうち深度値を含む特徴点を用いて選択されたフレームごとに多角形を含む多角形メッシュを生成する。より具体的に、プロセッサ１０３０は、選択されたフレームごとに深度値を含む特徴点を頂点にする多角形を含む多角形メッシュを生成する。
【０１０６】
プロセッサ１０３０は、多角形メッシュに基づいて第１フレームのピクセルに対応する第２フレームの対応ピクセルの検索範囲を設定する。プロセッサ１０３０は、検索範囲に基づいて第１フレームのピクセルと第２フレームの対応ピクセルをマッチングし、第１フレームのピクセルの深度値を推定する。プロセッサ１０３０は、推定したピクセルの深度値を用いて、例えば、図７に示すようにコンパクトな深度マップを生成することができる。プロセッサ１０３０は、深度マップを用いて入力映像シーケンスに対する３次元映像を再構成する。入力映像シーケンスから再構成された３次元映像は、ディスプレイ装置１０５０によって表示される。
【０１０７】
プロセッサ１０３０は、多角形メッシュに含まれた多角形のうち、第１フレームのピクセルを含む多角形の頂点が有する深度値を決定する。プロセッサ１０３０は、多角形メッシュに含まれた多角形の深度値に基づいて、第１フレームのピクセルに対応する第２フレームの対応ピクセルの検索範囲を設定する。プロセッサ１０３０は、多角形メッシュで第１フレームのピクセルを含む多角形の頂点が有する深度値に基づいて、第２フレームで第２フレームの対応ピクセルの検索範囲を設定する。
【０１０８】
より具体的に、例えば、プロセッサ１０３０は、多角形メッシュで第１フレームのピクセルを含む多角形の頂点が有する深度値を用いてピクセルの３次元候補座標を予測し、ピクセルの３次元候補座標を第２フレームの座標系に投影して対応ピクセルの検索範囲を設定する。
【０１０９】
例えば、プロセッサ１０３０は、第１フレームのピクセルの３次元候補座標を第２フレームの座標系に投影して第２フレームの対応ピクセルの複数の候補を決定し、対応ピクセルの複数の候補を基準としてエピポーララインに沿って第２フレームにおける対応ピクセルの検索範囲を設定する。プロセッサ１０３０は、検索範囲に基づいて第１フレームのピクセルと対応ピクセルの複数の候補をマッチングしてピクセルの深度値を推定し得る。
【０１１０】
その他にも、プロセッサ１０３０は、図１〜図９を参照して前述した方法又は方法に対応するアルゴリズムを行ってもよい。プロセッサ１０３０は、プログラムを実行し、推定装置１０００を制御する。プロセッサ１０３０によって実行されるプログラムコード又は命令語はメモリ１０４０に格納されてもよい。
【０１１１】
メモリ１０４０は、入力映像シーケンス及び／又は複数のフレームを格納する。メモリ１０４０は、プロセッサ１０３０が生成した多角形メッシュ、ピクセルの深度値、深度マップ、及び／又はプロセッサ１０３０が再構成した３次元映像を格納する。
【０１１２】
また、メモリ１０４０は、上述したプロセッサ１０３０における処理過程で生成される様々な情報を格納する。その他にも、メモリ１０４０は、各種データとプログラムなどを格納する。メモリ１０４０は、揮発性メモリ又は不揮発性メモリを含む。メモリ１０４０は、ハードディスクなどのような大容量格納媒体を備えて各種データを格納する。
【０１１３】
ディスプレイ装置１０５０は、プロセッサ１０３０によって入力映像シーケンスから再構成された３次元映像を表示する。
【０１１４】
以上述した実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロコンピュータ、ＦＰＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサー、又は命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行して応答する異なる装置のように、１つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム（ＯＳ）及びオペレーティングシステム上で実行される１つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は１つが使用されるものとして説明する場合もあるが、当該技術分野で通常の知識を有する者は、処理装置が複数の処理要素（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔ）及び／又は複数類型の処理要素を含むことが分かる。例えば、処理装置は、複数のプロセッサ又は１つのプロセッサ及び１つのコントローラを含む。また、並列プロセッサ（ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ）のような、他の処理構成も可能である。
【０１１５】
ソフトウェアは、コンピュータプログラム、コード、命令、又はこのうちの１つ以上の組合せを含み、希望通りに動作するように処理装置を構成し、独立的又は結合的に処理装置に命令する。ソフトウェア及び／又はデータは、処理装置によって解釈され、処理装置に命令又はデータを提供するためのあらゆる類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、或いは送信される信号波を介して永久的又は一時的に具現化される。ソフトウェアは、ネットワークに連結されたコンピュータシステム上に分散され、分散された方法で格納されるか又は実行される。ソフトウェア及びデータは１つ以上のコンピュータ読み取り可能な記録媒体に格納される。
【０１１６】
本実施形態による方法は、多様なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明に示す動作を実行するために１つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【０１１７】
上述したように実施形態をたとえ限定された図面によって説明したが、当該技術分野で通常の知識を有する者であれば、前記に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順序で実行されたり、及び／又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組み合わせられたり、他の構成要素又は均等物によって置き換えたり置換されても適切な結果を達成することができる。したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【０１１８】
１０００：推定装置
１００５：通信バス
１０１０：カメラ
１０２０：通信インターフェース
１０３０：プロセッサ
１０４０：メモリ
１０５０：ディスプレイ装置
【図１】
2019075082.tif 000003
【図２】
2019075082.tif 000004
【図３Ａ】
2019075082.tif 000005
【図３Ｂ】
2019075082.tif 000006
【図３Ｃ】
2019075082.tif 000007
【図４】
2019075082.tif 000008
【図５】
2019075082.tif 000009
【図６Ａ】
2019075082.tif 000010
【図６Ｂ】
2019075082.tif 000011
【図７】
2019075082.tif 000012
【図８】
2019075082.tif 000013
【図９】
2019075082.tif 000014
【図１０】
2019075082.tif 000015