(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-08
(45)【発行日】2022-11-16
(54)【発明の名称】深度値推定を用いた映像処理方法及び装置
(51)【国際特許分類】
G06T 7/579 20170101AFI20221109BHJP
H04N 5/232 20060101ALI20221109BHJP
H04N 13/268 20180101ALI20221109BHJP
【FI】
G06T7/579
H04N5/232 290
H04N13/268
(21)【出願番号】P 2018133934
(22)【出願日】2018-07-17
【審査請求日】2021-04-20
(31)【優先権主張番号】10-2017-0133815
(32)【優先日】2017-10-16
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung-ro,Yeongtong-gu,Suwon-si,Gyeonggi-do,Republic of Korea
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】朴 陞 ▲忍▼
(72)【発明者】
【氏名】安 民 修
【審査官】山田 辰美
(56)【参考文献】
【文献】特開2013-178656(JP,A)
【文献】国際公開第2014/141522(WO,A1)
【文献】特開2016-157197(JP,A)
【文献】国際公開第2012/063480(WO,A1)
【文献】虞 飛,高解像度画像対応ステレオマッチングのGPGPUによる高速化,情報処理学会 研究報告 ハイパフォーマンスコンピューティング(HPC),日本,情報処理学会,2017年07月19日,2017-HPC-160,p.1-p.6
【文献】Seonyoung Lee, et al,Real-time dense stereo matching architecture for high-resolution image,2015 International SoC Design Conference (ISOCC),米国,IEEE,2015年,p.299-p.300
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
H04N 5/232
H04N 13/268
(57)【特許請求の範囲】
【請求項1】
入力映像シーケンスから、第1フレーム及び第2フレームを含むフレームを選択するステップと、
前記選択されたフレームそれぞれの特徴点のうち深度値を含む特徴点を用いて、前記選択されたフレームごとに多角形を含む多角形メッシュを生成するステップと、
前記多角形メッシュに基づいて、前記第1フレームのピクセルに対応する前記第2フレームの対応ピクセルの検索範囲を設定するステップと、
前記検索範囲に基づいて前記第1フレームのピクセルと前記第2フレームの対応ピクセルをマッチングさせて前記第1フレームのピクセルの深度値を推定するステップと、
を含
み、前記対応ピクセルの検索範囲を設定するステップは、
前記第1フレームのピクセルを含む多角形のうち、1つの多角形の頂点が有する深度値を用いて前記第1フレームのピクセルの3次元候補座標を予測するステップと、
前記第1フレームのピクセルの3次元候補座標を前記第2フレームの座標系に投影して前記対応ピクセルの検索範囲を設定するステップと、
を含む、映像処理方法。
【請求項2】
前記第1フレームのピクセルは、前記多角形メッシュに含まれるいずれか1つの多角形の中に位置し、
前記対応ピクセルの検索範囲を設定するステップは、前記多角形の深度値に基づいて前記対応ピクセルの検索範囲を設定するステップを含む、請求項1に記載の映像処理方法。
【請求項3】
前記対応ピクセルの検索範囲を設定するステップは、前記第1フレームのピクセルを含む多角形のうち、1つの多角形の頂点の深度値に基づいて前記第2フレームで対応ピクセルの検索範囲を設定するステップを含む、請求項1に記載の映像処理方法。
【請求項4】
前記ピクセルの3次元候補座標を予測するステップは、前記多角形の頂点が有する深度値それぞれを用いて3次元候補座標を予測するステップを含む、請求項
1に記載の映像処理方法。
【請求項5】
前記ピクセルの3次元候補座標を予測するステップは、前記多角形の頂点が有する深度値の補間された値に基づいて前記3次元候補座標を予測するステップを含む、請求項
1に記載の映像処理方法。
【請求項6】
前記対応ピクセルの検索範囲を設定するステップは、
前記第1フレームのピクセルの3次元候補座標を前記第2フレームの座標系に投影して前記対応ピクセルの複数の候補を決定するステップと、
前記対応ピクセルの複数の候補を基準としてエピポーララインに沿って前記第2フレームにおける前記対応ピクセルの検索範囲を設定するステップと、
を含む、請求項
1に記載の映像処理方法。
【請求項7】
前記第1フレームのピクセルの深度値を推定するステップは、前記検索範囲に基づいて前記第1フレームのピクセルと前記対応ピクセルの複数の候補をマッチングさせて前記第1フレームのピクセルの深度値を推定するステップを含む、請求項
6に記載の映像処理方法。
【請求項8】
前記フレームを選択するステップは、前記入力映像シーケンスを撮影したカメラのポーズ情報を用いて前記選択されたフレームをペアリングするステップを含む、請求項1ないし
7のうち何れか一項に記載の映像処理方法。
【請求項9】
前記選択されたフレームをペアリングするステップは、前記選択されたフレーム間の重なり程度、前記選択されたフレーム間のベースラインの長さ、前記選択されたフレーム間の視野角のいずれか1つ又は2以上の組み合せに基づいて前記選択されたフレームをペアリングするステップを含む、請求項
8に記載の映像処理方法。
【請求項10】
前記多角形メッシュを生成するステップは、前記多角形が前記深度値を有する特徴点に対応する頂点を含むように前記多角形メッシュを生成するステップを含む、請求項1ないし
9のうち何れか一項に記載の映像処理方法。
【請求項11】
前記多角形のうち、前記第1フレームのピクセルを含む多角形の頂点が有する深度値を決定するステップをさらに含む、請求項1ないし
10のうち何れか一項に記載の映像処理方法。
【請求項12】
前記入力映像シーケンスを撮影するために使用されたカメラのポーズ情報を推定するステップをさらに含む、請求項1ないし
11のうち何れか一項に記載の映像処理方法。
【請求項13】
前記推定された深度値に基づいて深度マップを生成するステップをさらに含む、請求項1ないし
12のうち何れか一項に記載の映像処理方法。
【請求項14】
前記深度マップを用いて前記入力映像シーケンスの再構成された3次元映像を生成するステップを含む、請求項
13に記載の映像処理方法。
【請求項15】
請求項1に記載の
映像処理方法を
コンピュータに実行させ
るコンピュータプログラム。
【請求項16】
入力映像シーケンスを撮影するカメラと、
前記入力映像シーケンスから、第1フレーム及び第2フレームを含むフレームを選択し、前記選択されたフレームそれぞれの特徴点のうち深度値を含む特徴点を用いて前記選択されたフレームごとに多角形を含む多角形メッシュを生成し、前記多角形メッシュに基づいて、前記第1フレームのピクセルに対応する前記第2フレームの対応ピクセルの検索範囲を設定し、前記検索範囲に基づいて前記第1フレームのピクセルと前記第2フレームの対応ピクセルをマッチングさせて前記第1フレームのピクセルの深度値を推定するプロセッサと、を含
み、
前記プロセッサは、前記第1フレームのピクセルを含む多角形のうち、1つの多角形の頂点が有する深度値を用いて前記第1フレームのピクセルの3次元候補座標を予測し、前記第1フレームのピクセルの3次元候補座標を前記第2フレームの座標系に投影して前記対応ピクセルの検索範囲を設定する、映像処理装置。
【請求項17】
前記第1フレームのピクセルは前記多角形メッシュに含まれるいずれか1つの多角形の中に位置し、
前記プロセッサは、前記多角形の深度値に基づいて前記対応ピクセルの検索範囲を設定する、請求項
16に記載の映像処理装置。
【請求項18】
前記プロセッサは、前記第1フレームのピクセルを含む多角形のうち1つの多角形の頂点の深度値に基づいて、前記第2フレームで対応ピクセルの検索範囲を設定する、請求項
16に記載の映像処理装置。
【請求項19】
前記プロセッサは、前記多角形の頂点が有する深度値それぞれを用いて3次元候補座標を予測する、請求項
16に記載の映像処理装置。
【請求項20】
前記プロセッサは、前記多角形の頂点が有する深度値の補間された値に基づいて前記3次元候補座標を予測する、請求項
16に記載の映像処理装置。
【請求項21】
前記プロセッサは、前記第1フレームのピクセルの3次元候補座標を前記第2フレームの座標系に投影して前記対応ピクセルの複数の候補を決定し、前記対応ピクセルの複数の候補を基準としてエピポーララインに沿って前記第2フレームにおける前記対応ピクセルの検索範囲を設定する、請求項
16に記載の映像処理装置。
【請求項22】
前記プロセッサは、前記検索範囲に基づいて前記第1フレームのピクセルと前記対応ピクセルの複数の候補をマッチングさせて前記第1フレームのピクセルの深度値を推定する、請求項
21に記載の映像処理装置。
【請求項23】
前記プロセッサは、前記カメラのポーズ情報を用いて前記選択されたフレームをペアリングする、請求項
16ないし
22のうち何れか一項に記載の映像処理装置。
【請求項24】
前記プロセッサは、前記選択されたフレーム間の重なり程度、前記選択されたフレーム間のベースラインの長さ、前記選択されたフレーム間の視野角のいずれか1つ又は2以上の組み合せに基づいて前記選択されたフレームをペアリングする、請求項
23に記載の映像処理装置。
【請求項25】
前記プロセッサは、前記多角形が前記深度値を有する特徴点に対応する頂点を含むように前記多角形メッシュを生成する、請求項
16ないし
24のうち何れか一項に記載の映像処理装置。
【請求項26】
前記プロセッサは、前記多角形のうち前記第1フレームのピクセルを含む多角形の頂点が有する深度値を決定する、請求項
16ないし
25のうち何れか一項に記載の映像処理装置。
【請求項27】
前記プロセッサは、前記カメラのポーズ情報を推定する、請求項
16ないし
26のうち何れか一項に記載の映像処理装置。
【請求項28】
前記プロセッサは、前記推定された深度値に基づいて深度マップを生成する、請求項
16ないし
27のうち何れか一項に記載の映像処理装置。
【請求項29】
前記プロセッサは、前記深度マップを用いて前記入力映像シーケンスの再構成された3次元映像を生成する、請求項
28に記載の映像処理装置。
【請求項30】
映像キャプチャー装置によってキャプチャーされた2次元入力映像シーケンスの複数のフレームから、第1フレーム及び第2フレームを含むフレームを選択し、
前記選択されたフレームそれぞれの特徴点であって2次元位置に対応する情報を含む特徴点のうち、深度値を含む特徴点を用いて、前記選択されたフレームそれぞれに対する多角形を含む2次元多角形メッシュを生成し、
前記2次元多角形メッシュに基づいて前記第1フレームのピクセルに対応する前記第2フレームの対応ピクセルの検索範囲を設定し、
前記検索範囲に基づいて前記第1フレームのピクセルと前記対応ピクセルをマッチングさせることで前記第1フレームのピクセルの深度値を推定し、
前記推定された深度値に基づいて深度マップを生成するプロセッサと、
前記深度マップを用いて前記2次元入力映像シーケンスの3次元映像を再構成するディスプレイ装置と、
を含
み、前記プロセッサは、
前記第1フレームのピクセルを含む多角形のうち、多角形の頂点の深度値に基づいて前記第1フレームのピクセルの3次元候補座標を予測し、
前記第1フレームのピクセルの3次元候補座標を前記第2フレームの座標系に投射する、拡張現実装置。
【請求項31】
前記プロセッサは、前記多角形の頂点が有する深度値の補間された値に基づいて前記3次元候補座標を予測する、請求項
30に記載の拡張現実装置。
【請求項32】
前記プロセッサは、
前記第1フレームのピクセルの3次元候補座標を前記第2フレームの座標系に投影することによって前記対応ピクセルの候補を決定し、
前記対応ピクセルの複数の候補に基づいて、前記第2フレームで前記対応ピクセルの検索範囲をエピポーララインに沿って設定する、請求項
30に記載の拡張現実装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、3次元映像を再構成するために単眼カメラを用いて深度値を推定する映像処理方法及び装置に関する。
【背景技術】
【0002】
2次元入力映像は、深度推定により3次元映像に再構成される。2次元入力映像の深度を推定するために、例えば、深度カメラを用いて深度値を推定する方法、2台のカメラを用いて取得した左、右の両眼映像にステレオビジョン技術を適用し深度値を推定する方法、又は、移動中であるカメラの位置を測定しつつ、同時に周辺環境の地図を作成するSLAM(Simultaneous Localization and Mapping)方式などを用いる。
【0003】
モバイルデバイスにおいて、映像の深度値を推定する技術は、深度カメラ又は2台のカメラのような付加的なハードウェア装置を求める。また、モバイルデバイスの小型化に伴って2台のカメラ間の適切な距離確保が困難であり、限定された演算リソースによりSLAM方式に求められる演算をリアルタイムに処理することが困難である。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
一側面によれば、単眼カメラを用いて深度値を推定することにある。
【0006】
一側面によれば、カメラのポーズ推定によって取得された特徴点に対応する3次元マップポイント及び3次元マップを事前情報として利用することで、より効率よくコンパクトな深度マップを生成することにある。
【0007】
一側面によれば、2次元メッシュの生成のために別途の算出がなくてもカメラポーズを推定する過程で生成される特徴点を用いることで、特徴点に基づく(特徴ベースの)SLAM方式を効率よく使用することにある。
【0008】
一側面によれば、メッシュでピクセルが含まれた三角形を用いてエピポーララインの全体でない一部を検索し、映像内の全てのピクセルに対してピクセル単位のマッチングを行うことで、モバイルデバイスでもリアルタイムにコンパクトな深度マップを生成することにある。
【0009】
一側面によれば、カメラのポーズ推定時に生成されたフレームの特徴点を用いてフレームの場面構造を表現するメッシュを構成し、メッシュに基づいてピクセルの対応ピクセルを探すための検索範囲を縮小してピクセルの深度値を推定することで、モバイルデバイスでもリアルタイムにピクセルの深度値をコンパクトに推定することにある。
【課題を解決するための手段】
【0010】
一実施形態によれば、映像処理方法は、入力映像シーケンスから、第1フレーム及び第2フレームを含むフレームを選択するステップと、前記選択されたフレームそれぞれの特徴点のうち深度値を含む特徴点を用いて、前記選択されたフレームごとに多角形を含む多角形メッシュを生成するステップと、前記多角形メッシュに基づいて、前記第1フレームのピクセルに対応する前記第2フレームの対応ピクセルの検索範囲を設定するステップと、前記検索範囲に基づいて前記第1フレームのピクセルと前記第2フレームの対応ピクセルをマッチングさせて前記第1フレームのピクセルの深度値を推定するステップとを含む。
【0011】
前記第1フレームのピクセルは、前記多角形メッシュに含まれるいずれか1つの多角形の中に位置し、
前記対応ピクセルの検索範囲を設定するステップは、前記多角形の深度値に基づいて前記対応ピクセルの検索範囲を設定するステップを含み得る。
【0012】
前記対応ピクセルの検索範囲を設定するステップは、前記第1フレームのピクセルを含む多角形のうち、1つの多角形の頂点の深度値に基づいて前記第2フレームで対応ピクセルの検索範囲を設定するステップを含み得る。
【0013】
前記対応ピクセルの検索範囲を設定するステップは、前記第1フレームのピクセルを含む多角形のうち、1つの多角形の頂点が有する深度値を用いて前記第1フレームのピクセルの3次元候補座標を予測するステップと、前記第1フレームのピクセルの3次元候補座標を前記第2フレームの座標系に投影して前記対応ピクセルの検索範囲を設定するステップとを含み得る。
【0014】
前記ピクセルの3次元候補座標を予測するステップは、前記多角形の頂点が有する深度値それぞれを用いて3次元候補座標を予測するステップを含み得る。
【0015】
前記ピクセルの3次元候補座標を予測するステップは、前記多角形の頂点が有する深度値の補間された値に基づいて前記3次元候補座標を予測するステップを含み得る。
【0016】
前記対応ピクセルの検索範囲を設定するステップは、前記第1フレームのピクセルの3次元候補座標を前記第2フレームの座標系に投影して前記対応ピクセルの複数の候補を決定するステップと、前記対応ピクセルの複数の候補を基準としてエピポーララインに沿って前記第2フレームにおける前記対応ピクセルの検索範囲を設定するステップとを含み得る。
【0017】
前記第1フレームのピクセルの深度値を推定するステップは、前記検索範囲に基づいて前記第1フレームのピクセルと前記対応ピクセルの複数の候補をマッチングさせて前記第1フレームのピクセルの深度値を推定するステップを含み得る。
【0018】
前記フレームを選択するステップは、前記入力映像シーケンスを撮影したカメラのポーズ情報を用いて前記選択されたフレームをペアリングするステップを含み得る。
【0019】
前記選択されたフレームをペアリングするステップは、前記選択されたフレーム間の重なり程度、前記選択されたフレーム間のベースラインの長さ、前記選択されたフレーム間の視野角のいずれか1つ又は2以上の組み合せに基づいて前記選択されたフレームをペアリングするステップを含み得る。
【0020】
前記多角形メッシュを生成するステップは、前記多角形が前記深度値を有する特徴点に対応する頂点を含むように前記多角形メッシュを生成するステップを含み得る。
【0021】
前記映像処理方法は、前記多角形のうち、前記第1フレームのピクセルを含む多角形の頂点が有する深度値を決定するステップをさらに含み得る。
【0022】
前記映像処理方法は、前記入力映像シーケンスを撮影するために使用されたカメラのポーズ情報を推定するステップをさらに含み得る。
【0023】
前記映像処理方法は、前記推定された深度値に基づいて深度マップを生成するステップをさらに含み得る。
【0024】
前記映像処理方法は、前記深度マップを用いて前記入力映像シーケンスの再構成された3次元映像を生成するステップを含み得る。
【0025】
一実施形態に係る映像処理装置は、入力映像シーケンスを撮影するカメラと、前記入力映像シーケンスから、第1フレーム及び第2フレームを含むフレームを選択し、前記選択されたフレームそれぞれの特徴点のうち深度値を含む特徴点を用いて前記選択されたフレームごとに多角形を含む多角形メッシュを生成し、前記多角形メッシュに基づいて、前記第1フレームのピクセルに対応する前記第2フレームの対応ピクセルの検索範囲を設定し、前記検索範囲に基づいて前記第1フレームのピクセルと前記第2フレームの対応ピクセルをマッチングさせて前記第1フレームのピクセルの深度値を推定するプロセッサと、を含む。
【0026】
前記第1フレームのピクセルは前記多角形メッシュに含まれるいずれか1つの多角形の中に位置し、前記プロセッサは、前記多角形の深度値に基づいて前記対応ピクセルの検索範囲を設定し得る。
【0027】
前記プロセッサは、前記第1フレームのピクセルを含む多角形のうち1つの多角形の頂点の深度値に基づいて、前記第2フレームで対応ピクセルの検索範囲を設定し得る。
【0028】
前記プロセッサは、前記第1フレームのピクセルを含む多角形のうち、1つの多角形の頂点が有する深度値を用いて前記第1フレームのピクセルの3次元候補座標を予測し、前記第1フレームのピクセルの3次元候補座標を前記第2フレームの座標系に投影して前記対応ピクセルの検索範囲を設定し得る。
【0029】
前記プロセッサは、前記多角形の頂点が有する深度値それぞれを用いて3次元候補座標を予測し得る。
【0030】
前記プロセッサは、前記多角形の頂点が有する深度値の補間された値に基づいて前記3次元候補座標を予測し得る。
【0031】
前記プロセッサは、前記第1フレームのピクセルの3次元候補座標を前記第2フレームの座標系に投影して前記対応ピクセルの複数の候補を決定し、前記対応ピクセルの複数の候補を基準としてエピポーララインに沿って前記第2フレームにおける前記対応ピクセルの検索範囲を設定し得る。
【0032】
前記プロセッサは、前記検索範囲に基づいて前記第1フレームのピクセルと前記対応ピクセルの複数の候補をマッチングさせて前記第1フレームのピクセルの深度値を推定し得る。
【0033】
前記プロセッサは、前記カメラのポーズ情報を用いて前記選択されたフレームをペアリングし得る。
【0034】
前記プロセッサは、前記選択されたフレーム間の重なり程度、前記選択されたフレーム間のベースラインの長さ、前記選択されたフレーム間の視野角のいずれか1つ又は2以上の組み合せに基づいて前記選択されたフレームをペアリングし得る。
【0035】
前記プロセッサは、前記多角形が前記深度値を有する特徴点に対応する頂点を含むように前記多角形メッシュを生成し得る。
【0036】
前記プロセッサは、前記多角形のうち前記第1フレームのピクセルを含む多角形の頂点が有する深度値を決定し得る。
【0037】
前記プロセッサは、前記カメラのポーズ情報を推定し得る。
【0038】
前記プロセッサは、前記推定された深度値に基づいて深度マップを生成し得る。
【0039】
前記プロセッサは、前記深度マップを用いて前記入力映像シーケンスの再構成された3次元映像を生成し得る。
【0040】
一実施形態に係る拡張現実装置は、映像キャプチャー装置によってキャプチャーされた2次元入力映像シーケンスの複数のフレームから、第1フレーム及び第2フレームを含むフレームを選択し、前記選択されたフレームそれぞれの特徴点であって2次元位置に対応する情報を含む特徴点のうち、深度値を含む特徴点を用いて、前記選択されたフレームそれぞれに対する多角形を含む2次元多角形メッシュを生成し、前記多角形メッシュに基づいて前記第1フレームのピクセルに対応する前記第2フレームの対応ピクセルの検索範囲を設定し、前記検索範囲に基づいて前記第1フレームのピクセルと前記対応ピクセルをマッチングさせることで前記第1フレームのピクセルの深度値を推定し、前記推定された深度値に基づいて深度マップを生成するプロセッサと、前記深度マップを用いて前記2次元入力映像シーケンスの3次元映像を再構成するディスプレイ装置とを含む。
【0041】
前記プロセッサは、前記第1フレームのピクセルを含む多角形のうち、多角形の頂点の深度値に基づいて前記第1フレームのピクセルの3次元候補座標を予測し、前記第1フレームのピクセルの3次元候補座標を前記第2フレームの座標系に投射し得る。
【0042】
前記プロセッサは、前記多角形の頂点が有する深度値の補間された値に基づいて前記3次元候補座標を予測し得る。
【0043】
前記プロセッサは、前記第1フレームのピクセルの3次元候補座標を前記第2フレームの座標系に投影することによって前記対応ピクセルの候補を決定し、
前記対応ピクセルの複数の候補に基づいて、前記第2フレームで前記対応ピクセルの検索範囲をエピポーララインに沿って設定し得る。
【図面の簡単な説明】
【0044】
【
図1】一実施形態に係る深度値を推定する方法を示すフローチャートである。
【
図2】一実施形態により入力映像シーケンスに含まれた複数のフレームからフレームを選択する方法を説明するための図である。
【
図3A】一実施形態により多角形メッシュを生成する方法を説明するための図である。
【
図3B】一実施形態により多角形メッシュを生成する方法を説明するための図である。
【
図3C】一実施形態により多角形メッシュを生成する方法を説明するための図である。
【
図4】一実施形態により検索範囲を設定する方法を示すフローチャートである。
【
図5】一実施形態により対応ピクセルの検索範囲を設定する方法を説明するための図である。
【
図6A】一実施形態に係る多角形メッシュでピクセルが含まれた多角形があるオブジェクトに位置する場合、及び様々なオブジェクトに渡って位置する場合を説明するための図である。
【
図6B】一実施形態に係る多角形メッシュでピクセルが含まれた多角形があるオブジェクトに位置する場合、及び様々なオブジェクトに渡って位置する場合を説明するための図である。
【
図7】一実施形態により生成された深度マップを示す図である。
【
図8】他の実施形態に係る深度値を推定する方法を示すフローチャートである。
【
図9】他の実施形態に係る深度値を推定する方法を示すフローチャートである。
【
図10】一実施形態に係る深度値を推定する装置のブロック図である。
【発明を実施するための形態】
【0045】
実施形態に対する特定な構造的又は機能的な説明は単なる例示のための目的として開示されたものとして、様々な形態に変更され得る。したがって、実施形態は特定な開示形態に限定されるものではなく、本明細書の範囲は技術的な思想に含まれる変更、均等物ないし代替物を含む。
【0046】
第1又は第2などの用語を複数の構成要素を説明するために用いることがあるが、このような用語は1つの構成要素を他の構成要素から区別する目的としてのみ解釈されなければならない。例えば、第1構成要素は第2構成要素と命名することができ、同様に第2構成要素は第1構成要素にも命名することができる。
【0047】
いずれかの構成要素が他の構成要素に「接続されて」いると言及された場合、その次の構成要素に直接的に接続されてもよく、又は中間に他の構成要素が存在することもあり得ると理解されなければならない。
【0048】
単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、1つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【0049】
異なるように定義さがれない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【0050】
下記で説明される実施形態は、様々な拡張現実(Augmented Reality;AR)の応用分野で入力映像シーケンスの3次元場面(又はシーン)を再構成する過程において深度値を推定するために用いられる。実施形態は、深度カメラなどの付加的なハードウェア構成がなくても、1つのカメラで取得される映像によって迅速にコンパクトな深度マップを生成することができる。実施形態は、例えば、自律走行自動車、知能型自動車、スマートフォン、及びモバイル機器などにリアルタイムに拡張現実アプリケーションを実現するため適用され得る。以下、実施形態を添付する図面を参照しながら詳細に説明する。各図面に提示された同一の参照符号は同一の部材を示す。
【0051】
図1は、一実施形態に係る深度値を推定する方法を示すフローチャートである。
図1を参照すると、一実施形態に係る深度値を推定する装置(以下、「推定装置」)は、入力映像シーケンスで複数のフレームからフレームを選択する(S110)。入力映像シーケンスは、推定装置に入力される映像であり、例えば、リアルタイム映像又は動画であり得る。ここで、選択されたフレームは、例えば、入力映像シーケンスに含まれた複数のフレームのうち一部に該当するフレームであって、複数のフレームのうち選択されていないフレームと区分するために「キーフレーム」と称する。入力映像シーケンスは、推定装置に含まれたカメラ(例えば、
図10に示されたカメラ1010を用いてキャプチャーされたものであってもよく、推定装置の外部から取得されたものであってもよい。推定装置が入力映像シーケンスで複数のフレームからフレームを選択する方法について下記の
図2を参照して具体的に説明する。
【0052】
推定装置は、ステップS110において、選択されたフレームそれぞれの特徴点のうち深度値を含む特徴点を用いて、選択されたフレームごとに多角形を含む多角形メッシュを生成する(S120)。推定装置は、選択されたフレーム、言い換えれば、キーフレームごとに対して深度値を含む特徴点を用いて多角形メッシュを生成する。推定装置は、例えば、キーフレームAの特徴点のうち、深度値を含む特徴点を用いてキーフレームAに対する多角形メッシュを生成する。また、推定装置は、キーフレームBの特徴点のうち深度値を含む特徴点を用いてキーフレームBに対する多角形メッシュを生成する。特徴点は、フレーム内に特徴となる点として、該当するフレーム内の2次元位置に対応する情報を含む。それぞれ選択されたフレームは複数の特徴点を含む。フレームから特徴点を検出する動作として、例えば、エッジ検出のためのキャニー(Canny)演算子、ソーベル(Sobel)演算子、ラプラシアン・ガウシアン(LoG)演算子、ガウシアン差分(DoG)演算子、コーナー(corner)検出のためのハリス演算子(Harris operator)、地域空間構造の描写のためのセンサス変換(Census transform)演算子、プレヴィット(Prewitt)演算子、ロバーツ(Roberts)演算子、ラプラシアン(Laplacian)演算子、及びコンパス(Compass)演算子のいずれか1つを用いる一般的な特徴点検出アルゴリズムが適用されるため、特徴点検出アルゴリズムに対するより詳細な説明は省略する。
【0053】
実施形態によれば、特徴点のうち少なくとも一部は追加的に深度値に対応する情報をさらに含む。例えば、入力映像シーケンスを撮影したカメラのポーズ情報を推定する過程で、特徴点のうち少なくとも一部の3D位置に対応する情報が取得されてもよい。3D位置は深度値を含む。推定装置は、選択されたフレームそれぞれの特徴点のうち、深度値を含んでいる特徴点に基づいて選択されたフレームごとに多角形を生成し、生成された多角形を含む多角形メッシュを生成する。推定装置は、例えば、深度値を含んでいる特徴点を頂点にする多角形を含む多角形メッシュを選択されたフレームごとに生成する。
【0054】
一実施形態に係る推定装置が生成する多角形メッシュは、入力映像シーケンスの場面構造を示すもので、入力映像シーケンスの深度空間に対する事前情報に該当する。本明細書では、説明の便宜のために推定装置が多角形メッシュを生成するものとして記載したが、必ずこれに限定されることはない。推定装置は、多角形メッシュの他にも入力映像シーケンスの場面構造を表現できる様々な幾何(geometry)構造を生成し得る。推定装置が多角形メッシュを生成する方法については、下記の
図3を参照して具体的に説明する。
【0055】
選択されたフレーム(即ち、キーフレーム)は、例えば、第1フレーム及び第2フレームを含む。推定装置は、第1フレームのピクセル及び第1フレームのピクセルに対応する第2フレームの対応ピクセルをマッチング(又は照合)することにより、第1フレームのピクセルと第2フレームの対応ピクセルとの間の視差値を推定し、第1フレームのピクセル又は第2フレームの対応ピクセルの深度値を決定する。この手法は、第1フレームのピクセルと第2フレームの対応ピクセルをマッチングさせ、第1フレームのピクセルと第2フレームに含まれたピクセルとを比較することによって、第1フレームのピクセルに対応する第2フレームの対応ピクセルを探すステレオマッチングとして理解することができる。推定装置は、例えば、ウィンドウに基づくステレオマッチング(window-based stereo matching)アルゴリズムにより第1フレームのピクセルと第2フレームの対応ピクセルをマッチングして第1フレームのピクセルの深度値を推定する。ウィンドウに基づくステレオマッチングアルゴリズムは、例えば、一定の大きさのウィンドウを用いて各フレームで最大の検索範囲に該当する領域からピクセルを抽出し、ステレオマッチングを行う方式である。推定装置は、例えば、同じサイズの複数のウィンドウを用いてもよいし、又は、角度の調整されたシフトウィンドウ(shifted window)を用いてウィンドウを再設定した後、ピクセルを抽出しステレオマッチングを行ってもよい。
【0056】
推定装置は、ステップS120で選択されたフレームごとに生成された多角形メッシュに基づいて、第1フレームのピクセルに対応する第2フレームの対応ピクセルの検索範囲を設定する(S130)。推定装置は、各多角形メッシュに含まれた多角形の深度値に基づいて、第1フレームのピクセルに対応する第2フレームの対応ピクセルを検出するため、第2フレーム内で検索を行う検索範囲を減少させ得る。例えば、推定装置は、各多角形メッシュに含まれた多角形のうち第1フレームのピクセルを含む多角形の頂点が有する深度値に基づいて、第2フレームで第1フレームのピクセルに対応する第2フレームの対応ピクセルの検索範囲を設定する。推定装置が検索範囲を設定する方法については、下記の
図4~
図6を参照して具体的に説明する。
【0057】
推定装置は、ステップS130で設定された検索範囲に基づいて、第1フレームのピクセルと第2フレームの対応ピクセルをマッチングし、第1フレームのピクセルの深度値を推定する(S140)。推定装置は、第2フレーム内で第1フレームのピクセルに対応可能な全ての候補範囲を検索する代わりに、ステップS130で設定された検索範囲内でマッチングを行う。そのため、深度値を推定するために必要な資源量が減少し得る。実施形態によれば、推定装置は、推定したピクセルの深度値を用いて、例えば、
図7に示すようなコンパクトな深度マップ700を生成することができる。
【0058】
図2は、一実施形態により入力映像シーケンスに含まれた複数のフレームからフレームを選択する方法を説明するための図である。
図2を参照すると、オブジェクト(例えば、マウス人形と自動車おもちゃ)を撮影した入力映像シーケンス210の一実施形態が示されている。ここで、入力映像シーケンス210は、リアルタイム映像又は動画として、複数のフレーム230を含む。実施形態に係る入力映像シーケンスは複数であってもよい。
【0059】
推定装置は、入力映像シーケンス210に含まれた複数のフレーム230からキーフレーム250を選択する。ここで、キーフレーム250は、入力映像シーケンス210に含まれた複数のフレーム230のうち、深度推定に用いられるフレームに該当する。キーフレーム250は、複数のフレーム230のうち選択された一部のフレームに該当する。
【0060】
一実施形態に係る推定装置は、入力映像シーケンス210を撮影したカメラ(又は、撮影装置)のポーズ情報を推定する。入力映像シーケンス210が入力されれば、推定装置は、例えば、特徴ベースのSLAM(Simultaneous Localization and Mapping)方式によりフレームごとのカメラのポーズ情報を取得する。カメラのポーズ情報は、例えば、カメラの位置に該当するX(水平)、Y(垂直)、Z(深さ)とカメラの姿勢(orientation)に該当するピッチ(pitch)、ヨー(yaw)、及びロール(roll)を含む6自由度(6DoF)カメラポーズであり得る。カメラのポーズ情報を取得するためには、特徴ベースのSLAM方式の他にも、例えば、ダイレクト(Direct)SLAM方式、EKF(Extended Kalman Filter)SLAM方式、ファースト(Fast)SLAM方式、及びLSD(Large-Scale Direct Monocular)SLAM方式などの様々なSLAM方式を用いてもよい。
【0061】
例えば、入力映像シーケンス210が推定装置の外部から取得されたものである場合、推定装置は、入力映像シーケンス210の他にも入力映像シーケンス210を撮影した撮影装置の回転情報及び移動情報などのようなポーズ情報、撮影装置の位置情報及び/又は撮影装置のキャリブレーション情報などを共に受信する。
【0062】
推定装置は、カメラのポーズ情報を用いて複数のフレーム230のうち、深度推定のためのキーフレーム250をペアリングする。ペアリングは、例えば、キーフレーム(1)251とキーフレーム(2)253、キーフレーム(2)253とキーフレーム(3)255、及び/又はキーフレーム(3)255とキーフレーム(4)257を1つのペア(pair)として対をなす。
【0063】
図2に示される例では、キーフレーム(1)251とキーフレーム(2)253は、モーションステレオペア(1)271になり、キーフレーム(2)253とキーフレーム(3)255は、モーションステレオペア(2)273になり、キーフレーム(3)255とキーフレーム(4)257は、モーションステレオペア(3)275になる。
【0064】
推定装置は、フレーム間のステレオマッチングが容易になるよう、例えば、選択されたフレーム間の重なり程度、選択されたフレーム間のベースラインの長さ、選択されたフレーム間の視野角などの条件を検査する。推定装置は、重なり情報、ベースラインの長さ、視野角のいずれか1つ又は2以上の組み合せにより選択されたフレームのうち、ペアリングするフレームを選択する。推定装置は、例えば、重なり程度が一定又は特定された閾値以上であるフレームを互いにペアリングする。また、推定装置は、重なり程度が一定又は特定された閾値以上であるフレームのうち、ベースラインの長さが予め設定された、又は特定された基準値よりも大きいフレームをペアリングしてもよいし、又は、フレーム間の視野角が視野角閾値を超過しないフレームを選択してペアリングしてもよい。
【0065】
実施形態に係る推定装置は、フレーム間のステレオマッチングのための別途のキーフレームセットを生成してもよいが、SLAM方式の実行のうち生成されるキーフレームのうち前述した様々な条件に適するフレームを選択してペアリングすることが効率的である。
【0066】
一実施形態に係る推定装置は、カメラのポーズ推定によって取得された特徴点に対応する3次元マップポイント及び3次元マップを事前情報として用いることで、効率よくコンパクトな深度マップを生成することができる。
【0067】
図3は、一実施形態により多角形メッシュを生成する方法を説明するための図である。
図3Aを参照すれば、フレーム310の特徴点315を示す図が示されている。
図3Bを参照すれば、
図3Aに示された特徴点315のうち、深度値を含んでいる特徴点320がマッピングされた3次元マップ330が示されている。
図3Cを参照すれば、特徴点320を用いて生成された多角形メッシュ350及び多角形メッシュ350に含まれたいずれか1つの多角形355が示されている。
【0068】
推定装置は、例えば、特徴ベースのSLAM方式を用いて毎フレーム310ごとに核心的な特徴点315を探すことができる。推定装置は、特徴点315を
図3Bに示された3次元マップ330にマッチングして各フレームの6自由度カメラポーズを算出する。推定装置は、特徴ベースのSLAM方式が実行される場合に、線形三角測量(linear triangulation)などによりフレーム310から探し得る特徴点315の実際の3次元空間上の位置であるマップポイントを抽出し、これに基づいて3次元マップ330を更新することができる。
【0069】
一実施形態において、2次元多角形メッシュの生成のための別途の算出がなくても、カメラポーズを推定する過程で生成される特徴点を用いることで、特徴ベースのSLAM方式を効率よく用いることができる。又は、実施形態に係る推定装置は、3D位置が知られた、言い換えれば、深度値を把握しているピクセルのうちの一部を映像内に均等に分布するよう分散させた後、多角形メッシュの生成時の入力として使用することでダイレクトSLAM方式を活用できる。
【0070】
推定装置は、フレーム310内に存在する特徴点315のうち、3D位置が把握されて深度値を含む特徴点(例えば、
図3Bに示す特徴点320)を選択し、
図3Cに示すような2次元多角形メッシュ350を生成する。推定装置は、例えば、ドロネー三角分割方法(Delaunay triangulation)により2次元多角形メッシュ350を生成する。ドロネー三角分割方法は、平面上の点の集合(又は、点群)に対するボロノイ図(Voronoi diagram)で隣接する全てのポロノイ多角形に対応する2点を線分として連結し三角形のネットワークを構成する方法であって、三角形を定義している3つの点を除いたいずれの点も三角形を取り囲んでいる円に含まれない条件を満足しなければならない。例えば、2次元三角化多角形メッシュは、3次元ワールド座標情報ではない、各フレーム(2次元映像)内の映像座標を用いて三角化を行うことを意味する。2次元多角形メッシュ350は、三角化多角形メッシュ(triangulation mesh)であり得る。
【0071】
より具体的に、推定装置は、例えば、
図3Aに示された特徴点315のうち点u
p、v
pのように、
図3Bに示された3次元マップ330で3D位置情報X
p、Y
p、Z
pが知られた特徴点320を用いて、
図3Cに示すような2次元多角形メッシュ350を生成し得る(特徴点320は、深度値が把握されている特徴点である)。2次元多角形メッシュ350は場面構造を含んでいるため、深度推定を迅速に行うための近似値情報を提供できる。
【0072】
一実施形態に係る推定装置は、フレーム内の各ピクセルの深さを推定するとき、2次元多角形メッシュ350で該当のピクセルが存在する三角形355の範囲内で深度値を決定できる。ここで、2次元多角形メッシュ350に含まれた三角形355の頂点は、深度値を含んでいる特徴点である。例えば、三角形355の各頂点ごとに対応する深度値{(zl)、(zm)、(zn)}又は対応する3次元情報(例えば、(ul、vl、zl)、(um、vm、zm)、(un、vn、zn))が格納されてもよい。
【0073】
図4は、一実施形態により検索範囲を設定する方法を示すフローチャートである。
図4を参照すると、一実施形態に係る推定装置は、多角形メッシュで第1フレームのピクセルを含んでいる多角形の頂点が有する深度値を用いてピクセルの3次元候補座標を予測する(S410)。推定装置は、例えば、多角形メッシュで第1フレームのピクセルを含んでいる多角形の頂点が有する深度値それぞれを用いてピクセルの3次元候補座標を予測し得る。又は、推定装置は、多角形メッシュで第1フレームのピクセルが含まれた多角形の頂点が有する深度値の補間された値を算出し、補間された値を用いてピクセルの3次元候補座標を予測し得る。ここで、多角形メッシュは、第1フレームに対応して生成された多角形メッシュであり得る。
【0074】
推定装置は、ステップS410で予測されたピクセルの3次元候補座標を第2フレームの座標系に投影し、対応ピクセルの検索範囲を設定する(S420)。推定装置は、例えば、ピクセルの3次元候補座標を第2フレームの座標系に投影して対応ピクセルの複数の候補を決定し、対応ピクセルの複数の候補を基準としてエピポーララインに沿って第2フレームにおける対応ピクセルの検索範囲を設定する。推定装置が対応ピクセルの検索範囲を設定する方法については、下記の
図5を参照して具体的に説明する。
【0075】
図5は、一実施形態により対応ピクセルの検索範囲を設定する方法を説明するための図である。
図5を参照すると、キーフレームk510とキーフレームm530が示されている。キーフレームk510は、ピクセルp505を含む三角形515の多角形メッシュを含む。キーフレームk510を撮影したカメラのレンズ焦点O
iとキーフレームm530を撮影したカメラのレンズ焦点O
jと間のポーズ情報は、回転情報R
ji及び移動情報t
jiである。移動情報は並進情報と言及されてもよい。
【0076】
図5において、レンズ焦点O
iとレンズ焦点O
jとの間を連結したライン501は、2つのキーフレーム間の「ベースライン」に該当し、ベースライン501がキーフレームk510及びキーフレームm530それぞれのイメージ平面と接する(又は交わる)点eとe’は、「エピ極」に該当する。ここで、ライン520はレンズ焦点O
iとキーフレームk510に含まれたピクセルp505とを通る直線であり、ライン540は、キーフレームm530のエピ極e’を通り、ライン520と並ぶ「エピポーラライン」である。
【0077】
一実施形態に係る推定装置は、キーフレームk510の全体の検索範囲で各ピクセルの深度値を探す代わりに、多角形メッシュで該当のピクセル(例えば、ピクセルp505)が属する三角形515の各頂点が有する深度値を伝播させ(又は利用し)、キーフレームm530における検索範囲を縮小し得る。
【0078】
例えば、
図5において、キーフレームk510のピクセルp505が属する三角形515の各頂点の深度値が{z
1、z
2、z
3}であると仮定する。
【0079】
キーフレームk510のピクセルp505に対応する対応ピクセルp’の位置を、キーフレームk510とペアリングされたキーフレームm530の中で探す場合、推定装置は、ピクセルp505が属する三角形515の各頂点の深度値{z1、z2、z3}を用いてピクセルp505の3次元候補座標を予測し得る。3次元候補座標は、3次元ワールド座標である。
【0080】
推定装置は、ピクセルp505が属する三角形515の各頂点の深度値{z
1、z
2、z
3}のそれぞれを伝播してピクセルpの3次元候補座標を予測してもよい。別の実施形態に係る推定装置は、ピクセルp505が属する三角形515の各頂点の深度値{z
1、z
2、z
3}を伝播する代わりに、3つの深度値{z
1、z
2、z
3}の補間されたz値を平滑化制約条件(smoothness constraint)を仮定したピクセルの深度値zに設定し、ピクセルの深度値zに基づいてピクセルpの3次元候補座標を予測して算出時間を節約できる。この場合、深度値zを含んでいるピクセルpの3次元候補座標は、ピクセルpの単一の候補座標になり得る。平滑化制約条件は、1つのオブジェクト内で深度値が急激には変わらないという条件のもとで、隣接するピクセルと同一又は類似の深度値をもたらす。ただし、後述する
図6Bに示すように、多角形メッシュに含まれた三角形が1つのオブジェクトだけでなく複数のオブジェクトに関わっている場合、単一の候補座標として予測された深度値(補間された値)の誤差は大きく増加することもある。
【0081】
推定装置は、ピクセルp505の3次元候補座標(又は、深度値)に基づいてピクセルp505がペアリングされたキーフレームm530内で位置する可能性のある3次元座標を探し出し、探し出された3次元座標に基づいて深度値を推定できる。
【0082】
推定装置は、ピクセルp505の3次元候補座標をキーフレームm530の座標系に投影し、ピクセルp505の対応ピクセルの複数の候補p’1(541)、p’2(543)、p’3(545)を探し出す。推定装置は、対応ピクセルの複数の候補p’1(541)、p’2(543)、p’3(545)を基準としてエピポーラライン540に沿って若干の変化量とともに検索範囲550を設定する。ここで、若干の変化量は、ライン520で3つの深度値{z1、z2、z3}が有する変化量(±α)によって変化し得る。
【0083】
推定装置は、検索範囲550に基づいてピクセルp505と対応ピクセルの複数の候補p’1、p’2、p’3541,543,545をステレオマッチングしてピクセルp505の深度値を推定する。
【0084】
推定装置は、ステレオマッチング時に、例えば、ウィンドウに基づくアクセス方法の他に傾いた平面及び/又は色差などの処理のための様々なマッチング技術を適用し得る。
【0085】
一実施形態では、上述したように多角形メッシュでピクセルp505が含まれた三角形515を用いてエピポーラライン540の全体ではなく一部(検索範囲550)を検索し、映像内の全てのピクセルに対してピクセル単位のマッチングを行うことで、モバイルデバイスでもリアルタイムにコンパクトな深度マップを生成することができる。
【0086】
図6は、一実施形態に係る多角形メッシュでピクセルが含まれた多角形があるオブジェクトに位置する場合、及び様々なオブジェクトに渡って位置する場合を説明するための図である。
図6Aを参照すると、あるオブジェクト620上に存在する特徴点により、多角形メッシュの三角形610が構成される場合を示している。
【0087】
図6Aに示されるように、1つのオブジェクト620上に存在する特徴点から三角形610が構成されている場合、三角形610の三頂点の深度値の間の差が大きくない。このような場合、前述した平滑化条件を仮定して三角形610の三頂点の深度値を補間した値をピクセルpの単一深度値(3次元候補座標)として用いてもよい。しかし、1つのオブジェクト620に応じて特徴点がコンパクトに探し難い場合、
図6Bに示すよう、数個の異なるオブジェクトに属する特徴点から構成された多角形メッシュの三角形650が生成され得る。
【0088】
図6Bを参照すると、2つの互いに異なるオブジェクト630,640に属する特徴点により、多角形メッシュの三角形650が構成されている場合を示す。例えば、
図6Bに示すように、多角形メッシュの三角形650が互いに異なるオブジェクト630,640に含まれる場合、正確度のためにピクセルpが属する三角形650の頂点の深度値{z
1、z
2、z
3}のそれぞれを用いてピクセルpの3次元ワールド座標を生成し、3次元ワールド座標を用いて対応ピクセルp’を探すことが有利であるかもしれない。
【0089】
図7は、一実施形態により生成された深度マップを示す図である。
図7を参照すると、一実施形態に係る推定装置が前述した方法に映像内の全てのピクセルに対して推定したピクセルの深度値により生成された深度マップ700を示している。
【0090】
推定装置は、深度マップ700を用いて入力映像シーケンスに対する3次元映像を再構成する。推定装置は、例えば、
図10に示されたディスプレイ装置1050を用いて入力映像シーケンスから再構成された3次元映像を表示し得る。
【0091】
図8は、他の実施形態に係る深度値を推定する方法を示すフローチャートである。
図8を参照すると、一実施形態に係る推定装置は、カメラのポーズ情報を推定する(S810)。カメラのポーズ情報は、例えば、回転マトリックス(R)、移動マトリックス(t)、及びカメラの位置情報を含む。
【0092】
推定装置は、カメラのポーズ情報を用いて入力映像シーケンスに含まれた複数のフレームから第1フレーム及び第2フレームを含む複数のフレームを選択する(S820)。
【0093】
推定装置は、選択されたフレーム間の整列のための映修正を行う(S830)。映像修正は、選択されたフレームをエピポーララインに平行にするよう変換する過程である。映像修正を行う場合、選択されたフレームがエピポーララインに平行に整列しているため、2次元のエピポーラライン上における検索より簡易な1次元の平面直線(エピポーラライン)上における視差検索が可能である。
【0094】
図8に示すステップS840は
図1に示すステップS120に対応し、ステップS850は
図1に示すステップS130に対応することから、該当部分の説明を参照することにする。推定装置は、第1フレームのピクセルと対応ピクセルをマッチングする(S860)。
【0095】
推定装置は、ステップS860のピクセルと対応ピクセルにおけるマッチング過程を介して推定されたピクセルの深度値を用いて深度マップを生成する(S870)。
【0096】
図9は、他の実施形態により深度値を推定する方法を示すフローチャートである。
図9を参照すると、一実施形態に係る推定装置は、モーションステレオの入力映像シーケンスを2つ以上使用するマルチビューマッチングについても行うことができる。
【0097】
図9に示されたステップS910は
図8に示されたステップS810と同一であるため、該当部分に対する説明を参照することにする。また、
図9に示されたステップS920~ステップS940は、
図1に示されたステップS110~ステップS130と同一であるため、該当部分の説明を参考にする。
【0098】
推定装置は、ステップS940で設定された検索範囲を用いてマルチビューマッチングを行う(S950)。マルチビューマッチングは、マルチビューフレームのうち隣接するフレームによる様々なステレオペアを生成し、各ペアに対して独立的に深度を推定した後、最終的に深度フュージョンを介して最適な結合深度値を推定するためのものである。
【0099】
推定装置は、マルチビューマッチングにより推定された深度値(例えば、最適な結合深度値)を用いて深度マップを生成する(S960)。入力映像シーケンスは複数であってもよい。
【0100】
図10は、一実施形態に係る深度値を推定する装置のブロック図である。
図10を参照すると、一実施形態に係る深度値を推定する装置(以下、「推定装置」)1000は、カメラ1010、プロセッサ1030、及びメモリ1040を含む。推定装置1000は、通信インターフェース1020及び/又はディスプレイ装置1050をさらに含む。カメラ1010、通信インターフェース1020、プロセッサ1030、メモリ1040、及びディスプレイ装置1050は、通信バス1005を介して通信する。
【0101】
推定装置1000は、例えば、スマートフォンを含むモバイル機器、ナビゲータ、知能型自動車などのようにリアルタイムに様々な拡張現実(Augmented Reality;AR)アプリケーションを実現する電子装置であり得る。
【0102】
カメラ1010は、入力映像シーケンスを撮影する。入力映像シーケンスは、単数であってもよく、複数であってもよい。入力映像シーケンスは、複数のフレームを含む。カメラ1010は、例えば、単眼カメラ(monocular camera)であってもよい。
【0103】
通信インターフェース1020は、推定装置1000の外部で撮影された入力映像シーケンスを受信する。この場合、通信インターフェース1020は、入力映像シーケンスの他にも入力映像シーケンスを撮影した撮影装置の回転情報及び移動情報などのようなポーズ情報、及び撮影装置のキャリブレーション情報などを受信する。
【0104】
プロセッサ1030は、入力映像シーケンスに含まれた複数のフレームからフレームを選択する。選択されたフレームは、例えば、第1フレーム及び第2フレームを含む。ここで、プロセッサ1030は、カメラ1010のポーズ情報を推定し、カメラ1010のポーズ情報を用いて選択されたフレームをペアリングする。プロセッサ1030は、例えば、第1フレーム及び第2フレームのように選択されたフレーム間の重なり程度、選択されたフレーム間のベースラインの長さ、選択されたフレーム間の視野角などに基づいて選択されたフレームをペアリングする。
【0105】
プロセッサ1030は、選択されたフレームそれぞれの特徴点のうち深度値を含む特徴点を用いて選択されたフレームごとに多角形を含む多角形メッシュを生成する。より具体的に、プロセッサ1030は、選択されたフレームごとに深度値を含む特徴点を頂点にする多角形を含む多角形メッシュを生成する。
【0106】
プロセッサ1030は、多角形メッシュに基づいて第1フレームのピクセルに対応する第2フレームの対応ピクセルの検索範囲を設定する。プロセッサ1030は、検索範囲に基づいて第1フレームのピクセルと第2フレームの対応ピクセルをマッチングし、第1フレームのピクセルの深度値を推定する。プロセッサ1030は、推定したピクセルの深度値を用いて、例えば、
図7に示すようにコンパクトな深度マップを生成することができる。プロセッサ1030は、深度マップを用いて入力映像シーケンスに対する3次元映像を再構成する。入力映像シーケンスから再構成された3次元映像は、ディスプレイ装置1050によって表示される。
【0107】
プロセッサ1030は、多角形メッシュに含まれた多角形のうち、第1フレームのピクセルを含む多角形の頂点が有する深度値を決定する。プロセッサ1030は、多角形メッシュに含まれた多角形の深度値に基づいて、第1フレームのピクセルに対応する第2フレームの対応ピクセルの検索範囲を設定する。プロセッサ1030は、多角形メッシュで第1フレームのピクセルを含む多角形の頂点が有する深度値に基づいて、第2フレームで第2フレームの対応ピクセルの検索範囲を設定する。
【0108】
より具体的に、例えば、プロセッサ1030は、多角形メッシュで第1フレームのピクセルを含む多角形の頂点が有する深度値を用いてピクセルの3次元候補座標を予測し、ピクセルの3次元候補座標を第2フレームの座標系に投影して対応ピクセルの検索範囲を設定する。
【0109】
例えば、プロセッサ1030は、第1フレームのピクセルの3次元候補座標を第2フレームの座標系に投影して第2フレームの対応ピクセルの複数の候補を決定し、対応ピクセルの複数の候補を基準としてエピポーララインに沿って第2フレームにおける対応ピクセルの検索範囲を設定する。プロセッサ1030は、検索範囲に基づいて第1フレームのピクセルと対応ピクセルの複数の候補をマッチングしてピクセルの深度値を推定し得る。
【0110】
その他にも、プロセッサ1030は、
図1~
図9を参照して前述した方法又は方法に対応するアルゴリズムを行ってもよい。プロセッサ1030は、プログラムを実行し、推定装置1000を制御する。プロセッサ1030によって実行されるプログラムコード又は命令語はメモリ1040に格納されてもよい。
【0111】
メモリ1040は、入力映像シーケンス及び/又は複数のフレームを格納する。メモリ1040は、プロセッサ1030が生成した多角形メッシュ、ピクセルの深度値、深度マップ、及び/又はプロセッサ1030が再構成した3次元映像を格納する。
【0112】
また、メモリ1040は、上述したプロセッサ1030における処理過程で生成される様々な情報を格納する。その他にも、メモリ1040は、各種データとプログラムなどを格納する。メモリ1040は、揮発性メモリ又は不揮発性メモリを含む。メモリ1040は、ハードディスクなどのような大容量格納媒体を備えて各種データを格納する。
【0113】
ディスプレイ装置1050は、プロセッサ1030によって入力映像シーケンスから再構成された3次元映像を表示する。
【0114】
以上述した実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサー、又は命令(instruction)を実行して応答する異なる装置のように、1つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム(OS)及びオペレーティングシステム上で実行される1つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は1つが使用されるものとして説明する場合もあるが、当該技術分野で通常の知識を有する者は、処理装置が複数の処理要素(processing element)及び/又は複数類型の処理要素を含むことが分かる。例えば、処理装置は、複数のプロセッサ又は1つのプロセッサ及び1つのコントローラを含む。また、並列プロセッサ(parallel processor)のような、他の処理構成も可能である。
【0115】
ソフトウェアは、コンピュータプログラム、コード、命令、又はこのうちの1つ以上の組合せを含み、希望通りに動作するように処理装置を構成し、独立的又は結合的に処理装置に命令する。ソフトウェア及び/又はデータは、処理装置によって解釈され、処理装置に命令又はデータを提供するためのあらゆる類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、或いは送信される信号波を介して永久的又は一時的に具現化される。ソフトウェアは、ネットワークに連結されたコンピュータシステム上に分散され、分散された方法で格納されるか又は実行される。ソフトウェア及びデータは1つ以上のコンピュータ読み取り可能な記録媒体に格納される。
【0116】
本実施形態による方法は、多様なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD-ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気-光媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明に示す動作を実行するために1つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【0117】
上述したように実施形態をたとえ限定された図面によって説明したが、当該技術分野で通常の知識を有する者であれば、前記に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順序で実行されたり、及び/又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組み合わせられたり、他の構成要素又は均等物によって置き換えたり置換されても適切な結果を達成することができる。したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【0118】
1000:推定装置
1005:通信バス
1010:カメラ
1020:通信インターフェース
1030:プロセッサ
1040:メモリ
1050:ディスプレイ装置