(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-10
(45)【発行日】2023-07-19
(54)【発明の名称】画像または音声データの入力データセットペアの変位マップの生成
(51)【国際特許分類】
G06T 7/593 20170101AFI20230711BHJP
G06T 7/00 20170101ALI20230711BHJP
G06F 18/213 20230101ALI20230711BHJP
G06F 123/02 20230101ALN20230711BHJP
【FI】
G06T7/593
G06T7/00 350C
G06F18/213
G06F123:02
(21)【出願番号】P 2020561645
(86)(22)【出願日】2019-05-29
(86)【国際出願番号】 HU2019000017
(87)【国際公開番号】W WO2019229486
(87)【国際公開日】2019-12-05
【審査請求日】2022-03-23
(32)【優先日】2018-05-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518289852
【氏名又は名称】エーアイモーティブ ケーエフティー.
(74)【復代理人】
【識別番号】110003797
【氏名又は名称】弁理士法人清原国際特許事務所
(74)【代理人】
【識別番号】100082072
【氏名又は名称】清原 義博
(72)【発明者】
【氏名】ソルダス,ローベルト
(72)【発明者】
【氏名】キス-ベネデック,アグネス
(72)【発明者】
【氏名】スザルカイ,バラージュ
【審査官】笠田 和宏
(56)【参考文献】
【文献】Anurag Ranjan,外1名,Optical Flow Estimation using a Spatial Pyramid Network,2017 IEEE Conference on Computer Vision and Pattern Recognition,2017年07月21日,pp. 2720-2729
【文献】Deqing Sun,外3名,PWC-Net: CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume,[online],2017年11月28日,[検索日 2023.01.06],インターネット<URL: https://arxiv.org/pdf/1709.02371v2.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/593
G06T 7/00
G06F 18/213
G06F 123:02
(57)【特許請求の範囲】
【請求項1】
入力データセットペアの第1の入力データセットと第2の入力データセットの変位マップを生成するための方法であって、各入力データセットは少なくとも1つの空間次元及び/又は時間次元を有し、前記方法は、
特徴マップのベースペア(20e)(30e)と特徴マップの精製ペア(20b)(30b)(20c)(30c)(20d)(30d)を含む特徴マップ階層(50)を生成するために、ニューラルネットワークに基づく特徴抽出器(25)によって、第1の入力データセットと第2の入力データセットを処理する工程であって、特徴マップの各ペア(20b)(30b)(20c)(30c)(20d)(30d)(20e)(30e)は特徴マップ階層(50)の1レベルを構成し、特徴マップの前記精製ペア(20b)(30b)(20c)(30c)(20d)(30d)は少なくとも1つの空間次元及び/又は時間次元の全てにおいて、特徴マップの前記ベースペア(20e)(30e)よりも粗さが少ない解像度を有する、工程と
、
特徴マップのベースペア(20e)(30e)の第1の特徴マップを特徴マップのベースペア(20e)(30e)の第2の特徴マップとマッチングさせることに基づいて、特徴マップ階層(50)の特徴マップのベースペア(20e)(30e)のための変位生成演算で初期変位マップを生成する工程と
、
変位精製演算で、
アップスケーリングされた初期変位マップを生成するために、前記初期変位マップを、少なくとも1つの空間次元及び/又は時間次元の全てにおいて、それぞれのアップスケーリング係数で、前記特徴マップ階層(50)の特徴マップの前記精製ペア(20b)(30b)(20c)(30c)(20d)(30d)のスケールにアップスケーリングする工程、および、前記初期変位マップ
の値を前記それぞれのアップスケーリング係数で掛ける工程と、
特徴マップ階層(50)の特徴マップの精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の第1の特徴マップ上にあるアップスケーリングされた初期変位マップを用いて、変形演算を実施することによって、特徴マップの精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の第1の特徴マップの変形バージョンを生成する工程と、
特徴マップの精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の第1の特徴マップの前記変形バージョン及び特徴マップの精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の第2の特徴マップのための補正変位マップを得るために、特徴マップの精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の第1の特徴マップの前記変形バージョンを特徴マップの精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の第2の特徴マップとマッチングさせる工程であって、更新変位マップを得るために、アップスケーリングされた初期変位マップに補正変位マップを追加する、工程と、
を含む、方法。
【請求項2】
特徴マップの少なくとも2つの精製ペア(20b)(30b)(20c)(30c)(20d)(30d)は特徴マップ階層(50)に含まれ、ここで、前記特徴マップ階層(50)で特徴マップのベースペア(20e)(30e)に最も近い、特徴マップの第1の精製ペア(20d)(30d)は、特徴マップのベースペア(20e)(30e)よりも粗さが少ない解像度を有し、そして、特徴マップの前記第1の精製ペア(20d)(30d)よりも、前記特徴マップ階層(50)で前記特徴マップの前記ベースペア(20e)(30e)から遠い特徴マップの各連続精製ペア(20b)(30b)(20c)(30c)は、特徴マップの前記各連続精製ペア(20b)(30b)(20c)(30c)よりも、前記特徴マップ階層(50)で特徴マップ(20e)(30e)の前記ベースペアに近い特徴マップの隣接する精製ペア(20d)(30d)よりも粗さが少ない解像度を
有し、
前記変位精製演算は、特徴マップの前記第1の精製ペア(20d)(30d)を使用して実行され、そして、それぞれのさらなる精製演算は、特徴マップの各連続する精製ペア(20b)(30b)(20c)(30c)のために実行され、ここで、各さらなる変位精製演算では、特徴マップの前記それぞれの連続する精製ペア(20b)(30b)(20c)(30c)よりも、前記特徴マップ階層(50)で特徴マップの前記ベースペア(20e)(30e)に近い、特徴マップの前記隣接する精製ペア(20d)(30d)のために得られた前記更新変位マップは、それぞれの変位精製演算時におけるアップスケーリング中に、それぞれのアップスケーリング係数で、特徴マップの前記それぞれの連続する精製ペア(20b)(30b)(20c)(30c)の前記スケールへアップスケーリングされる前記初期変位マップとして使用され、そして、前記更新初期変位マップの前記値は前記それぞれのアップスケーリング係数で掛けられる、ことを特徴とする、請求項1に記載の方法。
【請求項3】
特徴マップの前記ベースペア(20e)(30e)の前記第1の特徴マップの複数のシフト特徴マップ(82)は、特徴マップの前記ベースペア(20e)(30e)の前記第1の特徴マップに、複数の異なるシフトを適用して生成され、
前記初期変位マップは、特徴マップの前記ベースペア(20e)(30e)の前記第1の特徴マップと、特徴マップの前記ベースペア(20e)(30e)の前記第2の特徴マップの、複数のシフト特徴マップ(82)間のマッチングを調査することに基づいて、特徴マップの前記ベースペア(20e)(30e)の前記第2の特徴マップの各データ要素のポジションのための、合成シフトを生成することによって、得られ、
および/または、前記変位精製演算で、
特徴マップの前記精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の第1の特徴マップの複数のシフト特徴マップ(82)は、特徴マップの前記精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の前記第1の特徴マップの変形バージョンに、複数の異なるシフトを適用することによって、生成され、
前記補正変位マップは、特徴マップの前記精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の前記第1の特徴マップと、特徴マップの前記精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の前記第2の特徴マップの、複数のシフト特徴マップ(82)間のマッチングを調査することに基づいて、特徴マップの前記精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の第2の特徴マップの各データ要素のポジションのために、合成シフトを生成することによって、得られる、ことを特徴とする、請求項1に記載の方法。
【請求項4】
前記初期変位マップとしての適用のための出力変位マップを生成するための変位生成演算において、及び/又は、前記補正変位マップとしての適用のための前記出力変位マップを生成するための前記変位精製演算において、
シフト数が、異なるシフトの数である、前記複数のシフト特徴マップ(82)と、
参照特徴マップ(80)として機能する前記第2の特徴マップと、
のマッチングが、
第1の中間比較データマップを得るために、第1の比較コンボリューションユニット(84)を、前記参照特徴マップ(80)に適用する工程と、
複数の第2の中間比較データマップを得るために、第2の比較コンボリューションユニット(94)を、前記複数のシフト特徴マップ(82)の各々に適用する工程と、
追加演算で、合成比較データマップを得るために、前記異なるシフトの前記数と前記複数の第2の中間比較データマップに準じて複製された、前記第1の中間比較データマップを追加する工程と、
少なくとも1つの空間次元及び/又は時間次元の全てにおいて、前記合成比較データマップの各データ要素のためのそれぞれの合成シフトを生成する工程と、そして、前記それ
ぞれの合成シフトを、前記出力変位マップの対応データ要素に割り当てる工程と、で実行される、ことを特徴とする、請求項3に記載の方法。
【請求項5】
少なくとも1つの空間次元及び/又は時間次元の全てにおいて、前記合成比較データマップの各データ要素のための、前記それぞれの合成シフトは、シフト調査コンボリューションユニット(104)を、前記合成比較データマップに適用することによって生成される、ことを特徴とする請求項4に記載の方法。
【請求項6】
前記特徴マップは、1以上の特徴チャネルを有し、そして前記合成比較データマップは、前記シフト調査コンボリューションユニット(104)を適用する前に、前記特徴マップの1以上の特徴チャネルによってスタックされる、ことを特徴とする請求項5に記載の方法。
【請求項7】
少なくとも1つの空間次元及び/又は時間次元の全てにおいて、前記合成比較データマップの各データ要素のためのそれぞれの合成シフトは、複数の異なるシフトから最もマッチングするシフトを選択することによって生成される、ことを特徴とする、請求項4に記載の方法。
【請求項8】
少なくとも1つの空間次元及び/又は時間次元の全てにおいて、前記合成比較データマップの各データ要素のためのそれぞれの合成シフトは、
異なるシフト値ごとに複数の変位ビンを確立すること、
変位ビンの各々に対する変位確率を生成することであって、前記変位確率は、前記合成比較データマップに基づいて計算され、こと、そして
対応変位確率によって前記シフト値を重み付けすることによって、前記合成シフトを得ること、によって生成される、ことを特徴とする、請求項4に記載の方法。
【請求項9】
1つの空間次元及び/又は時間次元の全てにおいて、前記合成比較データマップの各データ要素のためのそれぞれの合成シフトを生成する前に、非線形層を前記合成比較データマップに適用する、ことを特徴とする、請求項4に記載の方法。
【請求項10】
前記特徴マップは1以上の特徴チャネルを有し、前記変位生成演算及び/又は前記変位精製演算において、前記マッチングする工程は、前記特徴マップの1以上の特徴チャネルを考慮することによって実行され、そして、初期変位マップ及び補正変位マップは、前記入力データセットの少なくとも1つの空間次元及び/又は時間次元の数と同じ、またはそれよりも少ない座標チャネルの数で、それぞれ生成される、ことを特徴とする請求項1に記載の方法。
【請求項11】
第1の初期変位マップと第2の初期変位マップのペアは、前記変位生成演算において生成され、そして、前記第1の初期変位マップと前記第2の初期変位マップのペア、および、前記変位精製演算で生成された第1の補正変位マップと第2の補正変位マップのペアに基づいて、第1の更新変位マップと第2の更新変位マップのペアが、前記変位精製演算で生成される、ことを特徴とする、請求項1に記載の方法。
【請求項12】
前記入力データセットペアはステレオ画像の画像のぺアであり、前記変位マップは視差マップであり、前記変位生成演算は視差生成演算であり、そして前記変位精製演算は視差精製演算である、ことを特徴とする、請求項1に記載の方法。
【請求項13】
入力データセットペアの第1の入力データセットと第2の入力データセットの変位マップを生成するための装置であって、各入力データセットは少なくとも1つの空間次元及び/又は時間次元を有し、前記装置は、
特徴マップのベースペア(20e)(30e)と特徴マップの精製ペア(20b)(30b)(20c)(30c)(20d)(30d)を含む特徴マップ階層(50)を生成するために、前記第1の入力データセットと前記第2の入力データセットを処理するように適合された、ニューラルネットワークに基づく特徴抽出器(25)であって、特徴マップの各ペア(20b)(30b)(20c)(30c)(20d)(30d)(20e)(30e)は特徴マップ階層(50)の1レベルを構成し、特徴マップの前記精製ペア(20b)(30b)(20c)(30c)(20d)(30d)は少なくとも1つの空間次元及び/又は時間次元の全てにおいて、特徴マップの前記ベースペア(20e)(30e)よりも粗さが少ない解像度を有する、抽出器(25)と
、
特徴マップ階層(50)の特徴マップの前記ベースペア(20e)(30e)のための初期変位マップを生成するために、特徴マップの前記ベース(20e)(30e)の第1の特徴マップを、特徴マップの前記ベースペア(20e)(30e)の第2の特徴マップとマッチングさせるように適合された、第1のコンパレータユニット(64)(74)を含む変位ユニットと
、
変位精製ユニットであって、
アップスケーリングされた初期変位マップを生成するために、前記初期変位マップを、少なくとも1つの空間次元及び/又は時間次元の全てにおいて、それぞれのアップスケーリング係数で、前記特徴マップ階層(50)の特徴マップの前記精製ペア(20b)(30b)(20c)(30c)(20d)(30d)のスケールにアップスケーリングするよう適合され、かつ、前記初期変位マップ
の値を前記それぞれのアップスケーリング係数で掛けるように適合された、アップスケーリングユニット(120、130)と、
特徴マップ階層(50)の特徴マップの前記精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の第1の特徴マップ上の前記アップスケーリングされた初期変位マップを用いて、変形演算を実施することによって、特徴マップの精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の第1の特徴マップの変形バージョンを生成するように適合された変形ユニット(114)(134)と、
特徴マップの前記精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の前記第1の特徴マップの前記変形バージョンと、特徴マップの前記精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の前記第2の特徴マップのための補正変位マップ
を得るために、特徴マップの前記精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の前記第1の特徴マップの変形バージョンを特徴マップの前記精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の前記第2の特徴マップにマッチングさせるように適合された、第2のコンパレータユニット(126)(136)と、
更新変位マップを得るために、前記補正変位マップと前記アップスケーリングされた初期変位マップを追加するように適合された追加ユニット(128)(138)と、
を含む、変位精製ユニット、を含む、装置。
【請求項14】
少なくとも1つのさらなる変位精製ユニットを含み、そして、特徴マップの少なくとも2つの精製ペア(20b)(30b)(20c)(30c)(20d)(30d)は、前記特徴マップ階層(50)に含まれ、ここで、前記特徴マップ階層(50)で特徴マップのベースペア(20e)(30e)に最も近い、特徴マップの第1の精製ペア(20d)(30d)は、特徴マップのベースペア(20e)(30e)よりも粗さが少ない解像度を有し、そして、特徴マップの前記第1の精製ペア(20d)(30d)よりも、前記特徴マップ階層(50)で前記特徴マップの前記ベースペア(20e)(30e)に遠い特徴マップの各連続精製ペア(20b)(30b)(20c)(30c)は、特徴マップの前記各連続精製ペア(20b)(30b)(20c)(30c)よりも、前記特徴マップ階層(50)で特徴マップの前記ベースペア(20e)(30e)に近い特徴マップの隣接する精製ペア(20d)(30d)よりも粗さが少ない解像度を有し、
変位精製ユニットは、特徴マップの前記第1の精製ペア(20d)(30d)に適用さ
れ、そして、それぞれのさらなる変位精製ユニットは、特徴マップの各連続する精製ペア(20b)(30b)(20c)(30c)に適用され、ここで、各さらなる変位精製ユニットでは、特徴マップの前記それぞれの連続する精製ペア(20b)(30b)(20c)(30c)よりも、前記特徴マップ階層(50)で特徴マップの前記ベースペア(20e)(30e)に近い、特徴マップの前記隣接する精製ペア(20d)(30d)のために得られた前記更新変位マップは、それぞれの変位精製演算時におけるアップスケーリング中に、それぞれのアップスケーリング係数で、特徴マップの前記それぞれの連続する精製ペア(20b)(30b)(20c)(30c)の前記スケールへアップスケーリングされる、前記初期変位マップとして使用され、かつ、前記更新変位マップの前記値は前記それぞれのアップスケーリング係数で掛けられる、ことを特徴とする、請求項13に記載の装置。
【請求項15】
前記変位ユニットは、特徴マップの前記ベースペア(20e)(30e)の前記第1の特徴マップに、複数の異なるシフトを適用することによって、特徴マップの前記ベースペア(20e)(30e)の前記第1の特徴マップの複数のシフト特徴マップ(82)を生成するように適合された、第1のシフトユニット(62)、(72)をさらに含み、ここで、前記第1のコンパレータユニット(64)、(74)は、特徴マップの前記ベースペア(20e)(30e)の前記第1の特徴マップと、特徴マップの前記ベースペア(20e)(30e)の前記第2の特徴マップの、複数のシフト特徴マップ(82)間のマッチングを調査することに基づいて、特徴マップの前記ベースペア(20e)(30e)の前記第2の特徴マップの各データ要素のポジションのための、合成シフトを生成することによって、前記初期変位マップを得るように適合され、および/または、
前記変位精製ユニットは、特徴マップの前記精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の前記第1の特徴マップの変形バージョンに、複数の異なるシフトを適用することによって、特徴マップの前記精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の第1の特徴マップの複数のシフト特徴マップ(82)を生成するように適合された、第2のシフトユニット(122、132)をさらに含み、ここで、前記第2のコンパレータユニット(126、136)は、特徴マップの前記精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の前記第1の特徴マップと、特徴マップの前記精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の前記第2の特徴マップの、複数のシフト特徴マップ(82)間のマッチングを調査することに基づいて、特徴マップの前記精製ペア(20b)(30b)(20c)(30c)(20d)(30d)の第2の特徴マップの各データ要素のポジションのための、合成シフトを生成することによって、前記補正変位マップを得るように適合される、ことを特徴とする、請求項13に記載の装置。
【請求項16】
シフト番号が、異なるシフトの数である、前記複数のシフト特徴マップ(82)と、
参照特徴マップ(80)として機能する前記第2の特徴マップと、
のマッチングのために、
前記初期変位マップとしての適用のために、出力変位マップを生成するための第1のコンパレータユニット(64)(74)、および/または、前記補正変位マップとしての適用のために、前記出力変位マップを生成するための前記第2のコンパレータユニット(126、136)は、
第1の中間比較データマップを得るために、前記参照特徴マップ(80)に適用するように適合された、第1の比較コンボリューションユニット(84)と、
複数の第2の中間比較データマップを得るために、前記複数のシフト特徴マップ(82)の各々に適用するように適合された、第2の比較コンボリューションユニット(94)と、
合成比較データマップを得るために、前記異なるシフトの前記数と前記複数の前記第2の中間比較データマップに準じて複製された、前記第1の中間比較データマップを追加す
るように適合された、追加ユニット(98)と、
少なくとも1つの空間次元及び/又は時間次元の全てにおいて、前記合成比較データマップの各データ要素のためのそれぞれの合成シフトを生成するように適合され、そして、前記それぞれの合成シフトを、前記出力変位マップの対応データ要素に割り当てるように適合された合成シフト生成ユニット(C2_A)(C2_B)(C2_C)を含む、
ことを特徴とする、請求項15に記載の装置。
【請求項17】
前記合成シフト生成ユニット(C2_A)は、少なくとも1つの空間次元及び/又は時間次元の全てにおいて、前記合成比較データマップの各データ要素のそれぞれの合成シフトを生成するために、前記合成比較データマップに適用されるように適合され、そして、前記それぞれの合成シフトの全てを、前記合成比較データマップにおけるそれらのデータ要素に準じて、前記出力変位マップに割り当てるように適合された、シフト調査コンボリューションユニット(104)を含む、ことを特徴とする、請求項16に記載の装置。
【請求項18】
前記特徴マップは、1以上の特徴チャネルを有し、前記第1のコンパレータユニット(64)(74)及び/又は前記第2のコンパレータユニット(126)(136)は、シフト調査コンボリューションユニット(104)を適用する前に、前記特徴マップの1以上の特徴チャネルによって、合成比較データマップをスタックするように適合された、スタッキングユニット(102)を含む、ことを特徴とする、請求項17に記載の装置。
【請求項19】
少なくとも1つの空間次元及び/又は時間次元の全てにおける、前記合成比較データマップの各データ要素のための前記それぞれの合成シフトは、複数の異なるシフトから最もマッチングするシフトを選択することによって、前記合成シフト生成ユニット(C2_B)によって生成される、ことを特徴とする、請求項16に記載の装置。
【請求項20】
少なくとも1つの空間次元及び/又は時間次元の全てにおける、前記合成比較データマップの各データ要素のための前記それぞれの合成シフトは、
異なる可能な変位値ごとに複数の変位ビンを確立すること、
前記変位ビンの各々に対する変位確率を生成することであって、ここで前記変位確率は、前記合成比較データマップに基づいて計算される、こと、そして
対応変位確率によって前記可能な変位値を重み付けすることによって、前記合成シフトを得ること、
によって、前記合成シフト生成ユニット(C2_C)によって生成される、ことを特徴とする、請求項16に記載の装置。
【請求項21】
少なくとも1つの空間次元及び/又は時間次元の全てにおいて、前記合成比較データマップの各データ要素のためのそれぞれの合成シフトを生成する前に、前記合成比較データマップに適用される適合された非線形層を含む、ことを特徴とする、請求項16に記載の装置。
【請求項22】
前記特徴マップは、1以上の特徴チャネルを有し、前記変位ユニット及び/又は前記変位精製ユニットは、前記特徴マップの1以上の特徴チャネルを考慮することによって前記マッチングを実行するように適合され、そして、前記入力データセットの少なくとも1つの空間次元及び/又は時間次元の数と同じ、またはそれよりも少ない座標チャネルの数で、初期変位マップと補正変位マップを、それぞれ生成するように適合される、ことを特徴とする請求項13に記載の装置。
【請求項23】
前記変位ユニットは、第1の初期変位マップと第2の初期変位マップのペアを生成するように適合され、前記変位精製ユニットは、前記第1の初期変位マップと前記第2の初期変位マップの前記ペア、および、それぞれの第2のコンパレータユニット(126)(1
36)によって生成された第1の補正変位マップと第2の補正変位マップのペアに基づいて、第1の更新変位マップと第2の更新変位マップのペアを生成するように適合される、ことを特徴とする請求項13に記載の装置。
【請求項24】
前記入力データセットペアは、ステレオ画像の画像のペア(20a)(30a)であり、前記変位マップは視差マップであり、前記変位ユニットは視差ユニット(40e)であり、そして前記変位精製ユニットは視差精製ユニット(40b)(40c)(40d)である、ことを特徴とする、請求項13に記載の装置。
【発明の詳細な説明】
【背景技術】
【0001】
本発明は、入力データセットペアの、第1の入力データセットおよび第2の入力データセットの変位マップ(例えば、ステレオ画像ペアの左/第1の画像と右/第2の画像の視差マップ)を生成するための方法および装置に関する。
【技術分野】
【0002】
ステレオ画像から正確に奥行を推定すること、換言すると、そこから視差マップを生成することは、自律(自動運転)車両、ロボットビジョン、拡張現実などの、多くのコンピュータビジョンアプリケーションの主要な問題である。より一般的に、2つの(関連する)画像間の変位に関する調査は、今日広く適用されているツールである。
【0003】
従って、いくつかの異なるアプローチが、ステレオ画像に基づいて視差マップを生成するのに利用可能である。
【0004】
特許文献1、特許文献2、特許文献3、特許文献4、特許文献5、および特許文献6で開示されるアプローチでは、低解像度画像が、ある光景から記録されたステレオ画像から生成される。視差解析はこれらの低解像度画像上で行なわれ、この解析によって得られる視差マップは拡大されるか、あるいは、その精製が徐々に適用される拡大によって向上される。
【0005】
より低い解像度画像の個別の階層別のシリーズが、特許文献7および特許文献8のステレオ画像の各々のために生成される。これらのアプローチでは、視差マップは最も粗いレベルの左画像および右画像に基づいて生成される。低解像度視差マップのアップスケーリングは、これらの文書で適用される。
【0006】
ステレオ画像は、視差マップを得るために、特許文献9で、ニューラルネットワークの助けによって処理される。ニューラルネットワークは、特徴マップ、そして例えば、ステレオ画像、または以下の文書の他のタイプの出力(それらのいくつかは、コーネル大学図書館のarXivオープンアクセスデータベースでプレプリントとして利用可能である)を生成するために使用される。
【0007】
ニューラルネットワークを適用する、従来技術アプローチの多くの不利益は、実装が非常に複雑であることである。その上、計算コストは、既知のアプローチのほとんどにおいて高い。
【0008】
既知のアプローチの観点から、入力データセットペアの第1の入力データセットと第2の入力データセットの変位マップを生成するための(例えば、ステレオ画像ペアの視差マップを生成するための)方法および装置が求められており、それを使用して、変位マップ(例えば視差マップ)が計算コストに対し効果的な方法で生成され得る。
【先行技術文献】
【特許文献】
【0009】
【文献】US5,727,078
【文献】US2008/0267494A1
【文献】US2011/0176722A1
【文献】US2012/0008857A1
【文献】US2014/0147031A1
【文献】US9,030,530B2
【文献】WO00/27131A1
【文献】WO2016/007261A1
【文献】CN105956597A
【非特許文献】
【0010】
【文献】A. Kendall et al.: End-to-end learning of geometry and context for deep stereo regression, 2017, arXiv: 1703.04309 (in the following: Kendall);
【文献】Y. Zhong et al.: Self-supervised learning for stereo matching with self-improving ability, 2017, arXiv: 1709.00930 (in the following: Zhong);
【文献】N. Mayer et al.: A large dataset to train convolutional networks for disparity, optical flow, and scene flow estimation, 2015, arXiv: 1512.02134 (in the following: Mayer);
【文献】Ph. Fischer et al.: FlowNet: Learning optical flow with convolutional networks, 2015, arXiv: 1504.06852 (in the following: Fischer);
【文献】J. Pang et al.: Cascade residual learning: A two-stage convolutional neural network for stereo matching, 2017, arXiv: 1708.09204 (in the following: Pang);
【文献】C. Godard et al.: Unsupervised monocular depth estimation with left-right consistency, 2017, arXiv: 1609.03677 (in the following: Godard).
【発明の概要】
【0011】
本発明は、入力データセットペア(例えばステレオ画像ペアの視差マップ)の第1の入力データセットと第2の入力データセットの変位マップを生成するための方法および装置を提供することを主な目的とし、これらは、可能な限り先行技術のアプローチの不利な点を持たない。
【0012】
本発明のさらなる目的は、変位マップを生成するための方法と装置を提供することであり、それらを使って良好な品質と解像度の変位マップが計算コストに対して効果的な方法で、最も低い複雑さで生成され得る。
【0013】
本発明の目的は、請求項1に記載の方法、および請求項13に記載の装置によって達成され得る。本発明の好ましい実施形態は、従属請求項で定義される。
【0014】
本文書を通して、「変位マップ」は特定のn次元の一般化視差を指すものとする、すなわち、一般化の周知のステレオ(左右)視差(視差マップは変位マップの特例である)、またはオプティカルフローの調査用のフローマップなどの他の種類の変位マップである。しかしながら、図を参照して詳述した実施形態は、ステレオ視差の周知の例の助けによって示される(
図2を参照)。変位マップ(例えばn次元の一般化視差マップ)は、n次元の変位ベクトルを各々の空間的位置(画像上のピクセルなど)に割り当てるマッピングを指す。
【0015】
入力データセット(例えば画像)あるいは特徴マップ(これらは、本発明に係る方法及び装置によって処理された一般化画像および特徴マップである)には、少なくとも1つの空間次元及び/又は時間次元(空間次元の次元数には制限がなく、1、2、3、又はそれ以上であり得る)とチャネル次元(この次元に対応するチャネルは、特徴チャネルあるいは単にチャネルと呼ばれる)を有する多次元テンソルが与えられるとする。そのチャネル次元がNである場合、その入力あるいは特徴マップにはNチャネルがある、例えばRGB画像には3つのチャネルがあり、グレイスケール画像には1つのチャネルがある。本明細書における「空間次元」という表現は意味において拘束されず、チャンネル次元からのこれらの次元の区別としてのみ使用され、さらに、時間次元は別々に定義することができる。そして、上記の定義された(一般化された)変位は、入力データセットと同じ空間次元を有するテンソル、および長さが入力データセットテンソル内の空間次元の次元数と同じである、又はタスクが空間次元の部分集合に制限された場合、その数より少ない(座標)チャンネル次元で表される。したがって、入力データセットの各々の空間的位置(すなわち、一般に、ピクセルあるいはボクセル:データ要素)については、変位マップが変位、すなわち変位ベクトル、の方向および大きさを決定する。これらの変位ベクトルの座標は、変位マップ(特徴マップの特徴チャネルから区別するために、変位マップのチャネルは座標チャネルと呼ばれる)を表すテンソルの座標チャネル次元を形成するものとする。
【0016】
一般化視差の意味での変位の概念は、変位ベクトルが可能な変位ベクトルの部分集合に制限される場合も含むこととする。例えば、2次元の左右入力データセットテンソル(この場合、画像)のための典型的なステレオ視差は、水平方向の変位のみを可能にするために一般化視差を抑制することによって、記述され得る。そのため、それらの垂直(y)座標が常にゼロであるので(これは、図に示されている例の場合)、変位ベクトルは、2つの代わりに1つの座標で記述することができる。したがって、この場合、一般化視差は、その値が水平変位のみを表わし、且つ2次元の代わりに1次元の座標チャンネル次元であるテンソルで記述することができる。つまり、視差テンソルの座標チャンネルの数は、可能な変位ベクトルの部分空間の実際の次元数と等しくてもよく、すなわち、この場合、2次元の代わりに1次元である。
【0017】
3次元空間で、画像要素は通常、ボクセルを指し、2次元空間でピクセルと呼ばれて、1次元空間でサンプル(例えば音声を録音する場合)又はサンプル値と呼ばれる。本明細書において、空間次元の数にかかわらず、入力データセットテンソル(及び特徴マップ)の空間的位置を「データ要素」と呼ぶ。
【0018】
したがって、入力データセットはRGB画像である必要がなく、あらゆる種類の多次元データであってもよく、音声サンプルなどの時系列データ、ECG、あらゆる色空間(RGB、グレイスケール、YCbCr、CMYKなど)にエンコードされた2D画像、2Dカメラ熱画像、デプスカメラで作られた2Dデプスマップ、スパールLIDAR又はRADARスキャンで作られた2Dデプスマップ、又は3D医療用画像(MRI、CTなど)、を含むが、それらに限定されない。変位マップの技術的な表現は、上記に記述されたものに制限されず、他の表現も考えられる。一般に、入力データセット(単に入力、入力データあるいはデータの入力セットと呼んでもよい)は典型的に画像あるいは他の情報が格納されるデータ要素を有する、すなわち、それは通常デジタル情報(例えばデジタル画像)を含み、更に、入力データセットは通常録画である(すなわちカメラの画像)。
【0019】
変位マップ(一般化視差)の適用の複数の特例は注目に値する。ステレオ視差の場合、2つの入力画像(入力データセットの特例)は、左および右カメラの画像(すなわちステレオ画像ペアの構成部分)に対応し、そしてその一般化視差が実際に水平次元に拘束された2Dベクトル場であるため、それは(通常)2空間次元の1-座標チャネルテンソルで表される。
【0020】
変位マップ(一般化視差)の他の場合、すなわち、2Dオプティカルフローの場合は、2つの入力画像(入力データセット)は、異なる時間(例えば以前のおよび現在のフレーム)に同じカメラで撮影されたフレームに対応する、すなわち、それらが入力画像ペアを構成する。3D画像レジストレーション(医療などのための別の画像マッチングプロセス)の場合、1つの画像は例えば拡散MRI脳スキャンの画像であり、もう一方の画像は脳リファレンススキャン(すなわちこのプロセスでは、調査から得られた記録が参照と比較される)であり、その2つの画像が入力データセットペアを構成する;また、その一般化視差は3Dベクトル場である、すなわち、3つの空間座標のための各テンソル位置の3つの座標チャネル及び3次元の空間を有するテンソルである。上述のように、本発明に係る方法及び装置は、そこに適用された特徴抽出器の適切な構成によって、あらゆる空間次元に対して一般化することができる。
【0021】
もう1つの可能な使用例は、2つのオーディオ録音を時間内に一致させることであって、ここで、空間次元の数が1(それは実際には時間次元である)であり、その2つの入力データセットがオーディオ録音および別の参照録音に対応し、また、一般化視差(変位)が1次元の空間次元(時間次元)および1つのみの座標チャンネル(入力データセットが1次元の空間次元を有するので)を有する。この場合、特徴抽出器は、オーディオ振幅(各時間例の各々のための関数値を有する)の時間依存の機能に適用される。これらの例とは別に、おそらく3を超える空間次元を有する他のアプリケーションを考案することができる。
【図面の簡単な説明】
【0022】
本発明の好ましい実施形態は、下記の図面を参照して例として以下で説明される。
【
図1】例示的なニューラルネットワークに基づく特徴抽出器ブランチを示す。
【
図2】本発明に係る方法及び装置の実施形態を示すブロック図である。
【
図3】ある実施形態における視差ユニットを示すブロック図である。
【
図4】ある実施形態におけるシフト工程を示す概略図である。
【
図5A】視差(精製)ユニットの中で適用されたコンパレータユニットの実施形態を示すブロック図である。
【
図5B】コンパレータユニットにおける視差の計算の可能なバリエーションである。そして、
【
図6】視差精製ユニットの実施形態を示すブロック図である。
【発明を実施するための形態】
【0023】
図1は、(入力データセットの例として)画像に適用された、ニューラルネットワークに基づいた特徴抽出器ブランチ(15)(つまり単一のブランチ特徴抽出器)の例示である。
図1の詳細は例としてのみ機能する。図に示されるパラメータは、いくつかの異なる方法で選択されることが可能で、詳細は以下を参照のこと。示される特徴抽出器ブランチ(15)は、本発明に係る方法および装置において、例示的に使用され得る。
図2では、(特徴抽出器(25)の一部である)特徴抽出器ブランチ(27)および(29)が示される;これらは、
図1および2に基づく本発明のこの態様の説明を簡易化するために、
図1の特徴抽出器ブランチ(15)に非常に類似する。
【0024】
図2にも示されるように、あるレベルで選択されたピクセルグループは、レベル間の対応するコンボリューション(コンボリューション(24a)(24b)を参照)のコンボリューション入力(例示的に最良の解像度レベルで示される、図の一番上の(22a)(32a)を参照)である。コンボリューションの出力は、コンボリューションカーネル(カーネル、またはフィルタとも呼ばれ得る)の対応する要素によって重み付けされたコンボリューション入力の、各ピクセルを合計することによって、コンボリューション出力(可能な限りの最高レベルで例示的に示される、コンボリューション出力(26a)(36a)を参照)になる。コンボリューションカーネルにおける出力チャネルの数が1より多い場合、複数の重み付けされた和は、(各出力チャネルに1つ)計算され、そしてコンボリューション出力を形成するために、ともにスタックされる。
図2の中のグリッドのサイズは、コンボリューションカーネルの次元を示す(コンボリューション入力(22a)(32a)を参照)。特定のコンボリューション入力、カーネル、コンボリューション、およびコンボリューション出力は、例示的目的のためにのみ示される。例された例では、3x3のカーネルが適用される(つまり、個々の空間次元での3ピクセルのカーネルサイズを備えたコンボリューション)。2Dの場合、カーネルは単純に3x3、1x1等によって表されるが、一般的な場合、あらゆる空間次元でカーネルのサイズを定義することが重要である。他の次元のカーネルも適用されて良く、つまり辺が互いに等しくないカーネルである。例えば、3x1および1x3のカーネルが交互に使用されてもよい。特徴チャネルの数はまた、特徴マップの各々のためのパラメータによって調整され得る。
【0025】
上に強調されるように、
図1は、ニューラルネットワークに基づいた特徴抽出器(ブランチ)の単なる例示である。学習可能なコンボリューション(または単にコンボリューション、あるいはコンボリューション演算子と呼ばれても良い)は、入力画像(10a)に適用され、その助けにより、一連の特徴マップ(10b)、(10c)、(10d)および(10e)が連続的に生成される。本発明の実施形態で適用される(すなわち、ニューラルネットワーク特徴抽出器、およびコンパレータユニットにおける)コンボリューションは、上述のようないくつかの既知のアプローチに適用されている、事前定義されたフィルタでのコンボリューションの代わりに、学習されたフィルタ(カーネル)によって[実行される]コンボリューションである。コンボリューションは、画像上でカーネルを動かすことによって、それが適用される画像全体を掃引する。単純化のために、
図1および2では、コンボリューションカーネルの例示的な位置のみが、特徴抽出器の各レベルについて、示される。
【0026】
好ましくは、あらゆるコンボリューションは、非線形層(通常、Rectified Linear Unitsの略で-ReLU-、つまりf(x)=max(0、x))で追従される。
【0027】
コンボリューションは、そのストライドが>1である場合、入力層の空間次元を縮小することができる。代替的に、個別のプーリング(通常、平均プーリングまたは最大プーリング)層は、空間次元を(一般に)2減らすために使用され得る。
【0028】
ストライドが1の時、コンボリューションカーネルは、上述の掃引中、一度に1ピクセル動かされる。ストライドが2の時、コンボリューションカーネルは、動く際には、一度に2ピクセルをジャンプする。ストライドの値は通常整数である。より高いストライドでは、カーネルのオーバーラップが減り、その結果、出力ボリュームはより小さな空間次元を有する(以下の
図1の例示の分析も参照のこと)。
【0029】
上述されるように、空間次元はまた、プーリング層の助けによっても減少され得る。一般に適用される平均および最大プーリング層は、以下の通り適用される。最大プーリングをピクセルグループに適用すると、最大値のピクセルが各特徴チャネルに選択される。例えば、もし2x2ピクセルグループが最大プーリング層の1ユニットで考慮され、各ピクセルが各チャネルで異なる強度を有すると、最大強度を伴うピクセルが各チャネルに選択され、そしてそのため、チャネルの最大値を組み合わせることによって、2x2ピクセルグループは1x1ピクセルグループ(つまり単一ピクセル)に減少される。平均プーリング層は同様に適用されるが、しかし、各チャネルのための調査ピクセルグループのピクセル値の平均を出力する。
【0030】
図1に示される例では、各レベル(画像および特徴マップ)の幅と高さのパラメータが示される。画像(10a)は高さHおよび幅Wを有する。第1の特徴マップ(10b)のこれらのパラメータ(特長マップの行の第1番目)は、H/4とW/4であり、つまり、空間パラメータは、開始画像(10a)と第1の特徴マップ(10b)との間で4減少される。特徴マップ(10c)の次元は、H/8とW/8である。従って、次のステップでは、後のステップと同様に、空間パラメータは2減少される(特徴マップ(10d)の次元はH/16とW/16、そして特徴マップ(10e)に対しては、これらはH/32とW/32となる)。このことは、特徴マップ階層(特徴マップ階層(50)は
図2も参照)の特徴マップのピクセル数が連続して減少される、つまり、画像(10a)から最後の特徴マップ(10e)までの解像度が、徐々にますます低くなる、ことを意味する。換言すると、この順序では、(特徴抽出器のますます深くなるレベルで)ますます低くなる解像度の特徴マップが得られる。これらが特徴抽出器のますます深い段階にあるので、これらの特徴マップは、その順序でますます少数になる画像様の特性を有し、そしてますます多数の特徴様の特性を有することを期待される。ますます小さくなる特徴マップサイズによって、カーネルは、初期画像でますます大きくなった領域をカバーする。このように、ますます大きくなる画像のオブジェクトの認識は、より低い解像度の特徴マップで達成される。例として、歩行者、ペット、または自動車は、より低い解像度レベルで認識されることが可能である(これらは通常より高いレベルの特徴を含む特徴マップであり、したがって、これらは高レベル特徴マップと呼ばれ得る)が、しかし、これらの一部、あるいは詳細(例えば頭または一方の耳)のみは、より高い解像度レベルで認識されることが可能である(これらのレベルの特徴マップは一般に、より低いレベルの特徴を含み、したがって、これらは低レベル特徴アマップと呼ばれ得る)。
【0031】
特徴抽出器は、より良い結果を有益に達成し、かつ過学習を回避するために、好ましくはあらかじめ訓練される。例えば、多くの異なるペットおよび他の特徴的なオブジェクトは、装置およびそれぞれの方法の機械学習の(ニューラルネットワークに基づく)コンポーネントに教えられる(訓練される)。適切な事前訓練で、オブジェクトの認識におけるより高い効率が達成されることが可能である(視差解析の例の助けによって示される詳細は、以下を参照)。
【0032】
事前訓練/訓練過程で、損失値(エラー様の量)は、適切な損失関数で生成される。訓練過程では、損失値は、好ましくは最後の変位精製ユニットの(つまり、装置が訓練されていないが変位マップを生成するために使用される時に、最終変位マップを出力するものの出力への)出力で生成される。損失関数は、好ましくは、ニューラルネットワークの他の層でも適用される。損失関数は合計されるので、複数の損失関数は単一のものと考慮され得る。損失関数は、変位ユニットの全て、および少なくとも1つの変位精製ユニット(例の精製ステップでは、開始画像と比較して、1/32まで、1/16まで、1/8まで、および1/4までのスケール)の出力に置かれ得る。これらに損失関数を適用すると、合理的な変位マップがレベルの全てで達成されることが可能である。
【0033】
さらに、事前訓練と訓練は通常2つの別個のフェーズであり、そこでは、実行されるタスクおよびそのデータ、そして適用されるネットワークのアーキテクチャと損失関数は、異なっていても良い。さらに、事前訓練は複数のフェーズを含んで良く、そこではネットワークが連続的に、より具体的なタスク上で訓練される(例えば、ImageNet->合成データ->実データ->より具体的なドメイン上での実データ;これらの任意のフェーズはスキップされることが可能で、任意のタスクは学習のために適用されて良く、その学習のために適切なデータが利用可能であり、その学習は教えるのに容易であり、その学習から、より良い/多くの多用な特徴捕捉が期待できる)。
【0034】
ある例では、変位は事前訓練フェーズで教えられず、したがって、異なる損失関数が使用されなければならない。事前訓練が終了すると、事前訓練で使用されたが、変位マップ生成では使用されなかったネットワークの全ての部分(もし存在するのであれば、最後から1番目または2番目がそれであり得る)が、変位マップ訓練フェーズの開始時に取り置かれる。その後、変位マップ生成には必要であるが、事前訓練には必要でない層が、ネットワーク上に置かれ、そしてこれらの新しい層の重み付けが幾分開始される。このことは、ネットワークが、新しいタスク(我々のケースでは、変位マップ生成)で、または新しい方法で、部分的にまたは全体的に教えられることを可能にする。
【0035】
ある例では、ImageNetによる事前訓練の場合には、後に放棄される分類部分は、ネットワークの端部に配置され、そのタスクは、画像を適切なカテゴリー(例えばオブジェクトの分類:ブルドッグ、セントバーナード犬、猫、テーブル)に分類することである。その結果として、このバリアント(variant)では、より良い微分特性を備えたフィルタが達成される。メインタスクで明示的に実行されるべき分類は無く、事前訓練のみで実行されるので、分類部分(ネットワークの端部)は後ほど除去される。
【0036】
また、そのような事前訓練もまた(単独で、またはImageNet学習の第2のフェーズとして)適用され、そこでは、変位は、同じアーキテクチャを使用して、しかし異なる方法および/または異なるデータで、教えられる。このことは、大量の合成データが計算上のコストの面から比較的安価で生成され得るので、有益である。その上、完全なグラウンドトゥルース変位マップ(例えば視差またはオプティカルフロー)が合成データのために生成されることが可能で、そのため、これらと共に教える方が良い。しかし、合成データ上で教えられたネットワークは、実際の画像の場合の同じ質に到達しない。したがって、実データ上での訓練も必要である。この後者はまた、例えば、大量のステレオ画像ペアが幾分異なる環境から利用可能である(この時、これらは事前訓練に適用される)が、しかし、我々は実際のターゲットドメインからより少数の教示画像を有し得る(この時、これらは訓練用に留保される)場合に、ある種の事前訓練であリ得る。これは、目的がKITTIベンチマークで良い結果を達成することである時の例における場合であり、しかし、ほんの少数の教示データしかこの環境から利用できない。
【0037】
損失関数は通常、機械学習(ニューラルネットワーク)コンポーネントを微調整するために、装置内でバックプロパゲートされるが、任意の他の訓練アルゴリズムがバックプロパゲーションの適所に使用され得る。変位(例えば視差)生成の教師あり学習では、結果的に得られる変位マップ(および計算された奥行き値)は、例えばライダー(LIDAR)データと比較されて良い;自己管理学習、または教師なし学習では、そのようなデータは必要無い。
【0038】
我々はここで、特徴マップ階層に関するチャネル次元の質問に目を向ける。コンボリューションを実行することは通常、(最初は、例えばRGB画像用には3である)特徴チャネル次元を増加させる。チャネル次元のインクリメントは、開始画像と特徴マップを示すオブジェクトの厚さによって、
図1に示される。1/32のスケールでの代表的なチャネル数は、1024から2048である。
【0039】
図1がコンボリューションニューラルネットワークに基づく特徴抽出器ブランチの単なる例であることが強調される。任意の他の層構成は、任意の種類の学習可能なコンボリューション層、プーリング層、および様々な非線形性と共に使用されることが可能である。それはまた、後に組み合わされ得る複数の計算経路(例えばGoogleNetバリアント、またはResNetの場合のスキップ接続)を含むことが可能である。適用可能な層構成は、2つのものを共通して有する:1.それらは、入力における変換を学習することが可能である。2.それらは、通常は複数のスケールでの特徴出力を有する(ベース特徴マップは、特徴マップ階層の最下部にあり、少なくとも1つの-通常はより-中間的な特徴マップである)。我々はまた、特徴抽出器ネットワークを「ベースネットワーク」と呼んでもよい。
【0040】
上記を要約すると、画像(10a)は、特徴抽出器ブランチ(15)の入力として使用される。特徴マップ(10b)は、示される例示的な特徴マップ階層の第1の特徴マップであり、ここに、さらなる特徴マップ(10c)(10d)(10e)が含まれる。
【0041】
図1で、例示的なコンボリューション入力(12a)でのコンボリューション(14a)は、(ステレオ画像ペアの画像の1つである)開始画像(10a)に適用され、そして、(コンボリューション(14a)の出力である)コンボリューション出力(16a)は、第1の特徴マップに示される。例示的なコンボリューション(14a)は、(開始画像(10a)の1以上のチャネルのすべてへの)ピクセルの3x3グループに適用され、そして、そのコンボリューション出力(16a)は、単一のピクセル(コンボリューションカーネルによって定義されたチャネルの数と等しい特定のチャネル数を伴い、チャネルの数を示すコンボリューションカーネルの奥行きを参照)である。特定のコンボリューション(14a)と対応するコンボリューション入力(12a)、およびコンボリューション出力(16a)は、説明例を構成するのみであり、コンボリューションのカーネルは、規定のルールに準じて、画像全体を横断して(特徴マップの順序で、特徴マップ全体を横断して)動かされる。当然、カーネルのサイズは異なり得、あるいは、他のパラメータは異なり得る。特徴マップ(10b-10e)のために、さらに、例示的なコンボリューション(14b)(14c)(14d)は、コンボリューション入力(12b)(12c)(12d)およびコンボリューション出力(16b)(16c)(16d)と共に、
図1に示される。
【0042】
本発明に係る方法および装置は、入力データセットペアの第1の入力データセットと第2の入力データセットの変位マップを生成するのに適切であり(生成するように適合されており)、(
図2の例では、変位マップは、ステレオ画像ペアの左画像(20a)と右画像(30a)の視差マップであり;調査されるペアのメンバーは、もちろん、幾分関連しており);各入力データセットは、少なくとも1つの空間次元および/または時間次元を有する。本発明によれば、変位マップ(つまり少なくとも1つ)は、生成される。図で示されるように、本発明の実施形態は、(視差マップに基づく)立体的な奥行き推定のための、階層的特徴マッチングの方法および装置である。比較的低い計算コスト、および効果により、本発明に係る方法および装置は、有利に速い。そのため、本発明に係る方法と装置は、ニューラルネットワークを使用する視差マップ(例えばステレオ画像ペアからの視差マップ)を予測するのに適合されている。本発明に従う方法および装置は、カメラの適合と調整における小さなエラーに対してロバストであり、非テクスチャ領域においてうまく機能する。
【0043】
ある実施形態の本発明に従う方法の工程は、(
図2の例によって示される)以下に与えられる。
【0044】
第1の工程で、第1の入力データセットと、第2の入力データセット(入力データセットの名前における「第1の」と「第2の」という表記は、当然、入力データセットの順序を意味しない;表記の役割は、単に2つの入力データセット間の違いを示すのみであり;これらは、
図2の例での左画像(20a)と右画像(30a)である)は、ニューラルネットワークに基づく特徴抽出器(25)(単に、ニューラル(ネットワーク)抽出器、またはニューラルネットワークを使用する抽出器と呼ばれても良い)によって処理され;それは、特徴マップのベースペア(
図2の特徴マップ(20e)と(30e)で;一般に最も粗い特徴マップ)と、特徴マップの精製ペア(
図2の特徴マップ(20b-20d)と(30b-30d)で、2番目に最も粗い、そして、さらにより粗さの少ない特徴マップで;特徴マップは好ましくは特徴抽出器によって連続的に作り出される)を含み、そして、特徴マップの各ペアは、特徴マップ階層(50)の1レベルを構成し、特徴マップの精製ペアは、少なくとも1つの空間次元/時間次元において、特徴マップのベースペアよりも粗さの少ない解像度を有する。従って、特徴マップ階層は、特徴マップの少なくとも2つのペア(1つのベースペアまたは特徴マップ、および特徴マップの少なくとも1つの精製ペア)を含む。
【0045】
そのため、特徴マップの1以上の精製ペアは、特徴マップ階層内に含まれても良い。下記で、本発明に従う方法は、1つの精製ペア(それは、唯一の、または、より好ましくは、
図2に示されるような特徴マップの複数の精製ペアから選択された1つであり得る)について説明される。特徴マップの複数の(つまり少なくとも2つの)精製ペアを有する場合に目を向ける前に、特徴マップのこの単一の(唯一の、または選択された)精製ペアを参照する。
【0046】
これらのペアを「ベース」および「精製」と呼ぶことは、限定的では無く、これらのペアに対して、(例えば第1の、第2のなど)任意の他の名前が使用され得る。
図2の図示された例では、特徴マップが徐々にダウンスケーリングされるため、ますます粗くなる解像度が得られる。したがって、特徴マップの各連続するペアは、好ましくは、特徴マップ階層(50)の以前のレベルの特徴マップのペアに対して、ダウンスケーリングされる。
【0047】
この様に、上記の工程では、特徴マップ階層と呼ばれる、特徴マップの階層的な連続(シーケンス)が生成される。換言すると、ニューラルネットワークに基づく特徴抽出器は、複数のスケーリングの特徴マップを生み出す。従って、特徴マップレベルの数は、少なくとも2である;つまり、変位ユニットと、少なくとも1つの変位精製ユニット(例えば、視差ユニットと、少なくとも1つの視差精製ユニット)が、本発明に係る装置に含まれる。本説明の全体にわたって、視差は、変位に関する主な例である。特徴マップレベルの数は、好ましくは2と10との間で、特に3と8との間、より好ましくは3と5との間(そして、
図2の例では4)である。特徴マップ階層は、特徴マップペアを含み、つまり、第1の入力データセット(例えば左画像)と、第2の入力データセット(例えば右画像)の各々に対応する特徴マップの「サブ階層」があり、つまり、階層は2つのブランチを有する;特徴マップの階層のあるレベルでペアを構成するサブ階層からの特徴マップは、同じサイズと解像度(ピクセル数)を有する。従って、両方の階層ブランチは、あるレベルの特徴マップのペアに貢献する;換言すると、あるレベルは、階層の2つのブランチへ拡張する。要約すると、特徴マップ階層は、レベルの各々に特徴マップのペアを伴う複数のレベルを有する、特徴マップコレクション(特徴マップセット)である;名前における「階層」の語は、この特徴マップセットが、そのレベルでますます粗くなる特徴マップを有することを説明している。
【0048】
図2の例で(ステレオ画像ペアの)入力データセットのメンバーを左画像および右画像と呼ぶことは、ステレオペアの左および右画像が常に定義され得るため、これらが異なる視点から記録されることを示す。左および右画像はまた、それぞれ単に、第1および第2の画像、あるいは例えば第1のサイドおよび第2のサイドの画像と呼ばれても良い(左および右というこの見解は、特徴マップ、視差ユニットのサブユニットなどの差別化に対しても当てはまる)。
図1は単一の特徴抽出器ブランチ(15)を示す。
図2では、本発明に従う方法と装置の実施形態のブロック図が示される。
図2の実施形態では、
図2の、左および右側に2つの特徴抽出器ブランチ(27)と(29)(左および右画像の各々のための別個のブランチ)をそれぞれ有する、ニューラルネットワークに基づく特徴抽出器(25)が、活用される。
【0049】
上の説明によれば、以前と呼ばれるレベルは、
図2によるとより高いレベルである(図でより高位置にある)。そのため、「本」(あるいは、今調査されている/扱われている)レベルの特徴マップは、より高いレベルの特徴マップに対して、ダウンスケーリングされる。スケーリングのために適用される既定量は、自由に選択される(整数の)数であり得る。このスケーリング係数は、階層の全体にわたって必ずしも同じではない、というのも、例えば、
図2の説明例では2と4の係数が適用されている。また、他のスケーリング係数が、特に2の累乗で、使用され得る。変位(例えば視差)マップの精製によって適用されたアップスケーリング係数は、これらのスケーリング係数に対応していなければならない。スケーリング係数のすべては2であり得るが、それは、はるかに遅い実行(より長いランタイム)を引き起こすだろうし、また、それは精製において、より多くを生み出さない。画像に2のスケーリング係数を適用すると、スケーリングされた画像の面積は、元の4分の1になる。そのため、ランタイムが元の画像で100%であれば、2の係数でスケーリングされた画像では25%となり、4の係数でスケーリングされた画像では6、25%になる。従って、スケーリング手順全体で2のスケーリング係数を使用する代わりに、手順の最初で4のスケーリング係数が適用され、そして、残りのスケーリングに2のスケーリング係数が適用されると、ランタイムは大いに減少され得る。従って、異なるスケーリング係数がレベルペアの各々の間で適用されて良く、しかし、すべてのレベルで同じスケーリング係数を使用することも考えられる。
【0050】
「本」レベルの特徴マップは、常に以前のレベルよりも粗い解像度(より低いピクセル数)と、
図2で示されるように、好ましくは、特徴マップチャネルのより高い数を有する。図では、特徴マップのチャネル数は、特徴マップの厚さによって示される。チャネルの数の好ましい増加は、「本」レベルの特徴マップで、元の画像(左画像および右画像)の写真情報が、ほとんどの場合、以前のレベルよりもより多く処理されているという事実に対応する。チャネルの数はまた、調査されるべき異なる特徴にも対応する。いくつかの場合、チャネルの数を高く上げ過ぎることに価値はない。結果として、チャネルの数は、連続する2レベルで同じであってすら良い。従って、好ましい場合では、「本」レベルの特徴マップは、より少ない残りの写真様の情報を含み、そして、それらの情報構造は、最終の特徴マップ(最も低い解像度を伴い、つまり、これらは一般に最も粗い特徴マップである)に、以前のレベルの特徴マップよりも、より類似するようになる(「本」レベルの特徴マップは、より「特徴マップ様」となる)。さらに、ニューラルネットワークのますます深いレベル(ますます粗い特徴マップ)では、ますます高いレベルの特徴が認識される。例えば、開始レベルでは、いくつかの基礎的なオブジェクトだけ(例えば、ライン、パッチ)が差別化され得るが、階層でより深くなると、異なるオブジェクトが認識され得る(例えばヒト、車両など)。情報保存能力が維持されることになっているので、特徴マップ/画像サイズを減少させると、チャネル数は増加されなければならない。
【0051】
その後、次の工程で、特徴マップのベースペアの第1の特徴マップを、特徴マップのベースペアの第2の特徴マップとマッチングする工程に基づいて、特徴マップ階層(50)の特徴マップのベースペアのための、変位(例えば視差)生成演算で、初期変位マップが生成される(
図2の実施形態では視差マップ(複数)、すなわち左および右の視差マップ(46e)(48e)、つまり1つだけでなく2つの初期視差マップ、が計算される)。特徴マップのベースペアは、
図2の例示では、特徴マップ(20e)と(30e)のペアである。これらは、階層が、画像(20a)と(30a)から開始するレベルでますます粗くなる解像度の特徴マップを含むため、示される階層で最も粗い特徴マップとなる。従って、初期変位マップは、特徴マップのベース(一般に最後の、最も低い解像度の、最も粗い)ペアのために生成される。この初期変位マップ(例えば視差マップ)は、低い解像度のもあり、その解像度は、最終変位マップ(つまり
図2では、ステレオ画像のための出力として適切に使用され得る視差マップ)を有するために、増加されることになる。
【0052】
さらに、変位精製演算に対応する工程で、初期変位マップ(例えば視差マップ)は、少なくとも1つの空間次元および/または時間次元での全てにおいて、それぞれのアップスケーリング係数(つまり、それを用いて、初期変位マップが特徴マップの適切な精製ペアのスケールにアップスケーリングされ得る)で、特徴マップ階層(例示の特徴マップ階層(50))の特徴マップ(例示の特徴マップ(20d)と(30d)で、詳細は
図6の説明を参照)の精製ペアのスケールに、アップスケーリングされ、そして、初期変位マップの値は、アップスケーリングされた初期変位マップを生成するために、それぞれのアップスケーリング係数で掛けられ(特徴マップと変位[例えば視差]マップは、入力データセットと同じ空間および/または時間次元を有するが、これらは一般に異なる解像度を有する)、その後、特徴マップの精製ペアの第1の特徴マップの変形バージョンは、特徴マップ階層(50)の特徴マップ(例示では特徴マップ(20d)(30d))の精製ペアの第1の特徴マップ上で、アップスケーリングされた初期変位マップを使用して、変形演算を実施することによって、生成される。従って、アップスケーリングする工程で、変位マップのそれぞれの次元は拡大され(例えば、2の係数でのアップスケーリングによって、アップスケーリングする工程で、2つのピクセル間の距離はその前より二倍大きくなる)、そして、変位マップの値は、(アップスケーリングされた視差マップで距離が大きくなるので)アップスケーリング係数で掛けられ、実施例の詳細は、以下を参照のこと。
【0053】
変形演算の例示的な実現は、
図6に関連して以下に詳細に説明されるだろう。一言で言えば、以前の変位(例えば視差)マップは、他のサイド特性マップとの比較のための上位互換性のある入力を有するために、階層の異なるレベルからの1サイド特性マップに適用される。換言すると、変形演算は、変位(例えば視差)マップの値によって、ピクセルベースで、特徴マップをシフトさせる。したがって、特徴マップの変形バージョンは、それが比較されることになる、他の特性マップに、さらに「より近く」なるだろう(より粗いレベルのために計算される変位[例えば視差]は、それ自体が、シフトのための近似であり、その助けにより、一方の特徴マップは、あるレベルのペアの他方の特徴マップに変換され得る)。そのため、変形の助けにより、ペアの別の特徴マップのための近似が得られる(これは、上で上位互換性のある入力と呼ばれた)。この近似が、ペアそれ自体の他の特徴マップと比較されると、(近似の)以前の変位(例えば視差)への補正が得られる。この変形演算は、あるレベルの変位精製ユニットで、適切な変位(例えば視差)精製を求める場合に、シフトのより限定的なセットだけを適用することを可能にする(詳細は
図6の説明を参照)。一般に、変位マップ(例えば視差)は、入力または特徴マップの、空間または時間次元に対応する(本文書では、座標チャネルと呼ばれる)チャネルを有する(あるいは、制限がある場合はより少ない座標チャネルを有していても良い)。変位マップが特徴マップに適用される時、変位マップの座標チャネルに格納された変位値は、特徴マップのピクセルの各々のためのシフトオフセットとして適用される。このシフト演算は、これらの特徴チャネルを互いに混合させることなく、特徴マップの全ての特徴チャネルのために、独立して実行される。
【0054】
本文書の文脈では、上に定義された定義が変形に使用される。他のアプローチでは、この工程は、事前変形と呼ばれても良く、そして同時に、ワード変形が他の演算に使用されても良い。
【0055】
次に、特徴マップの精製ペアの第1の特徴マップと特徴マップの精製ペアの第2の特徴マップの変形バージョンのための補正変位マップを得るために、特徴マップの精製ペアの第1の特徴マップの変形バージョンは、特徴マップの精製ペアの第2の特徴マップとマッチングされ(この変位[例えば視差]マップは、変形演算での調整による、単なる、より粗い変位マップのための補正であり)、この補正変位マップは、アップスケーリングされた変位マップ(この工程が最初に実行される時、特徴マップの精製ペアのために、つまり、一般に次のレベルのために、
図2の例では左および右の視差マップ(46d)(48d))を得るために、アップスケーリングされた初期変位マップに追加される。
【0056】
そのため、(変位マップの特別ケースとして視差マップを議論する)
図2の参照符号を使用する上記工程では、次のレベルの特徴マップペアは、既に手元にある視差マップ(これは、
図2の一番下の、視差精製ユニット(40d))に補正をもたらすために、活用される。換言すると、少なくとも1つの視差精製ユニットで、コンパレータのそれぞれの階層構造は、以前の検出を精製する。目標は、視差(そして一般に、変位)マップの、解像度および精製を上げることである。このことは、本発明に係る装置の変位精製ユニット(例えば、視差精製ユニット)によって、そしてそれ故に、好ましくは本発明に係る方法によっても、行われる。特徴マップの(例示的な精製ペアとしての)その次に粗いペアは、特徴マップの(ベースペアの良い候補としての)最も粗いペアよりも、高い解像度(高いピクセル数)を有する。従って、より高い解像度の補正が、このデータを基にした視差マップのために得られることが可能である。したがって、初期視差マップと、特徴マップに基づいて得られた視差マップ補正(上では、補正視差マップと呼ばれる)を加える前に、初期視差マップのサイズがアップスケーリングされる。アップスケーリングは、最も粗い特徴マップと次に粗い特徴マップとの間に2つのスケーリングがあるため、
図2の例では2の係数で実行される。このように、各レベル対して概して言えば、各レベルでの追加の前に、以前のレベルの視差マップは、以前のレベルおよび現在のレベルの特徴マップ間のスケーリング係数で、アップスケーリングされる。図示される実施形態のアップスケーリングの詳細については、
図6も参照のこと。異なる視差マップの追加は、それらを互いに「ピクセルごとに」(より一般的には、データ要素ごとに)追加することを意味する;したがって、ピクセル中の視差(一般的には、変位)値は合計され、または、一般化された視差ベクトルの場合は、視差ベクトルの追加(一般的には、これらは変位ベクトル上で実行される)は、この工程で実行される。
【0057】
上の工程で、2つの特徴マップのマッチングが実行される。マッチングは、2つの特徴マップ(変位/視差精製演算で、それらの1つが変形される)の比較であり、それに基づいて、2つの特徴マップの変位(例えば視差)マップが得られる(生成される)ことが可能である。換言すると、マッチング演算で、変位(例えば視差)は、2つの特徴マップに基づいて計算される。図示される実施形態では、マッチングは、(特徴マップの複数のシフトバージョンを生成するための)シフト値を適用することによって実行され、また、比較は、複数のシフトバージョンを考慮して実行される。マッチングのこのアプローチは、特に
図3と6に関して、下に詳細に説明される。
【0058】
上に、発明の基本的な構成要素、つまり特徴マップのベースペアと特徴マップの精製ペアとの間の対応、が説明される。一般的な場合、上述される特徴マップの精製ペアは、特徴マップのたった1つ、または特徴マップのベースペアに最も近いものである(詳細は以下を参照)。特徴マップの1を超える精製ペアを有する典型的な場合は、以下に詳述される。
【0059】
このように、(
図2の図示される実施形態でのような)好ましい実施形態では、特徴マップ(
図2の例の、特徴マップ(20b)(30b)(20c)(30c)(20d)(30d)のペア)の少なくとも2つ(複数)の精製ペアは、(
図2の例で参照番号(50)を有する)特徴マップ階層に含まれる。換言すると、特徴マップの複数の精製ペアを有する場合が、以下に説明される。特徴マップの1を超える精製ペアを有することは有利である、なぜならば、この実施形態では、変位マップの精製が複数の段階で実行され、そしてより良い解像度の変位マップを得ることが可能であるからである。
【0060】
この実施形態で、特徴マップ階層で特徴マップのベースペア(
図2の例の、特徴マップのペア(20e)(30e))に最も近い、特徴マップの第1の精製ペア(
図2の例の、特徴マップのペア(20d)(30d))は、特徴マップのベースペアよりもより粗くない解像度を有し、そして、特徴マップ階層で、特徴マップの第1の精製ペアよりも、特徴マップのベースペアにより近くない、特徴マップの各連続する精製ペア(
図2の例の、特徴マップのペア(20b)(30b)(20c)(30c))は、それぞれの連続する特徴マップの精製ペアよりも、特徴マップ階層で特徴マップのベースペアにより近い、隣接する、特徴マップの精製ペアよりも、より粗くない解像度を有する。
【0061】
さらに、本実施形態では、変位(例えば視差)精製演算(これは、上で導入された第1の変位精製演算である)が、特徴マップの第1の精製ペアを使用して実行され、それぞれのさらなる変位精製演算は、特徴マップの各連続する精製ペアのために実行される。ここで、各さらなる変位精製演算では、特徴マップのそれぞれの連続する精製ペアよりも、特徴マップ階層で特徴マップのベースペアに近い、特徴マップの隣接する精製ペアのために得られた更新変位マップは、それぞれの変位精製演算時におけるアップスケーリング中に、それぞれのアップスケーリング係数で、特徴マップの、それぞれの連続する精製ペアのスケールへアップスケーリングされる初期変位マップとして使用され、そして、更新初期変位マップの値はそれぞれのアップスケーリング係数で掛けられる。
【0062】
もし、1以上の後続レベルが存在するなら、
図2の参照番号と示された実施形態の内容を使用して、視差マップの精製が、各後続レベルで行わる(最も下から、つまり最も粗いレベルから後続するカウントで、
図2のますます高い視差レベルで、解像度はますます高くなる)。上述されるように、発明はまた、特徴抽出器が2つのレベルを有する(つまり、入力画像に加えて、特徴マップの2レベル、すなわち、特徴マップのベースペアを有する1レベルと、特徴マップの精製ペアを有する1レベル、が存在する)場合をもカバーし、それに対して、ステレオ画像の画像ペアのための視差マップを得るのに適した視差階層で、視差ユニットと視差精製ユニットが対応する。実際、(入力データセットとベース特徴マップのレベルとの間の)階層で、さらなる中間レベルを有することは、より良いパフォーマンスに繋がり得る。もし、より多くのレベルが適用されると、視差マップのサイズの、より小さなジャンプによって、より多くの精製工程で、合成視差マップに到達する。従って、対応する特徴マップシーケンスは、精製のために適用されるより多くの特徴マップレベルを有する。
【0063】
さらなる視差精製ユニットは、
図2の例と比較して適用されても良く、つまり、そのようなユニットは、視差精製のための入力として、元の画像(左および右画像)と共に適用可能であり得る。しかしながら、そのような、さらなる視差精製ユニットの計算コストは高く(さらに、より長いランタイムを意味し)、したがって、それをスキップすることの方が好まれ得る。そのような追加的な視差精製ユニットが適用されない(図示された場合などの)場合は、大した不利益を産まない。そのため、効率性の観点から、視差精製ユニットを分析された画像のレベルから省略するのが単純である。したがって、視差精製ユニットの構造によって、方法は、特徴マップの最も粗くないペアを処理した後に、あるいは代替的に開始画像自体をさらに処理した後に、最終視差マップに到着する。
【0064】
要約すると、本発明に係るアプローチで、複数の異なるレベルの特徴マップが、ニューラルネットワークに基づく特徴抽出器によって生成される。その上、変位(例えば視差)解析中に、変位の異なるレベルが、変位ユニットと変位精製ユニットによって、特徴マップの階層的レベルに基づいて生成される。結果として、特徴マップレベル、および開始画像のレベルの合計数は、変位ユニット、および少なくとも1つの変位精製ユニット(例えば、視差ユニット、および少なくとも1つの視差精製ユニット;あらゆるユニットは、それぞれの単一の特徴マップレベルで作動する)の合計数と等しい、またはそれより大きくなる。
図2の例で、第1の数はより大きい(それは5であり、ユニットの数は4である)。例では、特徴マップレベルの数はユニットの数と等しい。
【0065】
しかしながら、変位(精製)ユニットによって処理されないような特徴マップレベルもまた、配置されて良く、つまり、それらは、特徴マップのベースペアでも精製ペアでもなく、変位(精製)ユニットによって処理されないようなペアである。従って、特徴マップのベースペアよりも粗い解像度を有する追加的なレベルが、さらに考えられ得る。換言すると、視差(精製)ユニットの全ては、入力としてそれぞれのユニットによって処理され得る、特徴マップのそれぞれのペアを有する。
【0066】
上記詳細によって、ある実施形態では、入力データセットペアはステレオ画像の画像のぺアであり、変位マップは視差マップであり、変位生成演算は視差生成演算であり、そして変位精製演算は視差精製演算である。
【0067】
一般に、本発明に従い、階層の最後のものであるベース特徴マップと解析中の画像との間に、少なくとも1つの特徴マップ(中間物と呼ばれても良い)が存在する。
【0068】
上の詳細から明確である通り、ある実施形態では、特徴マップは1以上の特徴チャネルを有し、そして、変位(例えば視差)生成演算で、および/または、変位(例えば視差)精製演算で、特徴マップの1以上の特徴チャネルを考慮することによってマッチングが実行され、(全てのCチャネルが、コンパレータのコンボリューションに、つまりマッチングに、考慮される、
図5を参照のこと)、そして、初期変位(例えば視差)マップと補正変位(例えば視差)マップが、入力データセット(これらは同じ次元を有する)の少なくとも1つの空間次元および/または時間次元の数と同じ、またはそれより少ない数の座標チャネルと共に、それぞれ生成される。
【0069】
また、
図2の実施形態に示されるように、左の初期視差マップ(46e)と右の初期視差マップ(48e)のペアが、視差生成演算で生成され、そして、左の初期視差マップと右の初期視差マップのペア、および、視差精製演算で生成された左の補正視差マップと右の補正視差マップのペアに基づいて、左の更新視差マップと右の更新視差マップのペアが、視差精製演算で生成される。(更新視差マップは、次のレベルの初期視差マップとして機能し得る)。より一般的には、第1の初期変位マップと第2の初期変位マップのペアは、変位生成演算において生成され、そして、第1の初期変位マップと第2の初期変位マップのペア、および、変位精製演算で生成された第1の補正変位マップと第2の補正変位マップのペアに基づいて、第1の更新変位マップと第2の更新変位マップのペアが、変位精製演算で生成される。
【0070】
発明のいくつかの実施形態は、第1の入力データセットと第2の入力データセットの変位マップを生成するための装置に関係し(装置は、
図2の例の、ステレオ画像ペアの左画像と右画像の視差マップを生成するのに適しており)、各入力データセットは、少なくとも1つの空間次元および/または時間次元を有する。装置の実施形態はまた、
図2によっても説明される。装置は、本発明に係る方法の工程を実行するために適合される。本発明に係る装置は、(
図2の例の助けによって説明される)ある実施形態で、
-ニューラルネットワークに基づく特徴抽出器(25)であって、該抽出器は、特徴マップのベースペアと特徴マップの精製ペアを含む特徴マップ階層(50)を生成するために(特徴マップのペア、つまり
図2の同じ水平位置の左と右の特徴マップ、については上を参照)、第1の入力データセットと第2の入力データセット(
図2の例の左画像(20a)と右画像(30a))を処理するように適合され、特徴マップの各ペアは特徴マップ階層(50)の1レベルを構成し、特徴マップの精製ペアは少なくとも1つの空間次元及び/又は時間次元の全てにおいて、特徴マップの前記ベースペアよりも粗さが少ない解像度を有する、抽出器(25)と;
-変位ユニット(具体的には、
図2の例の視差ユニット(40e))であって、該変位ユニットは、特徴マップ階層(50)の特徴マップのベースペアのための初期変位マップ(
図2の実施形態の初期視差マップ、すなわち、上に詳述される左および右の視差マップ(46e)(48e))を生成するために、特徴マップのベースペアの第1の特徴マップを、特徴マップのベースペアの第2の特徴マップとマッチングさせるように適合された、第1のコンパレータユニット(第1のコンパレータユニット(64)(74)は、実施形態の
図3に示される)を含む、変位ユニット(40e)と;
-変位精製ユニット(具体的には、
図2の例の視差精製ユニット;
図2では、3つの視差精製ユニットが示され、すなわち、視差精製ユニット(40b)(40c)(40d))と、を含んでおり、該変位精製ユニットは、
-アップスケーリングユニット(
図6の実施形態でアップスケーリングユニット(120)と(130)で、詳細は下を参照)であって、アップスケーリングされた初期変位マップを生成するために、初期変位マップを、少なくとも1つの空間次元及び/又は時間次元の全てにおいて、それぞれのアップスケーリング係数で、特徴マップ階層(50)の特徴マップの精製ペア(
図2の例の特徴マップ(20d)(30d))のスケールにアップスケーリングするよう適合され、かつ、初期変位マップの値をそれぞれのアップスケーリング係数で掛けるように適合された、アップスケーリングユニットと、
-変形ユニット(実施形態の変形ユニット(124)(134)は、
図6を参照)であって、特徴マップ階層(50)の特徴マップの精製ペア(
図2で、特徴マップ(20d)(30d)は初期変位マップをスケーリングするために使用される精製ペアのメンバーである)の第1特徴マップ上のアップスケーリングされた初期変位マップを用いて、変形演算を実施することによって、特徴マップの精製ペアの第1の特徴マップの変形バージョンを生成するように適合された変形ユニットと、
-第2のコンパレータユニット(第2のコンパレータユニット(126)(136)は、
図6の実施形態を参照;第1と第2のコンパレータユニットは同じ構造、例えば
図5Bに示される選択肢と共に、
図5Aに示される構造、を有していても良い)であって、特徴マップの精製ペアの第1の特徴マップの変形バージョンと、特徴マップの精製ペアの第2の特徴マップのための補正変位マップ得るために、特徴マップの精製ペアの第1の特徴マップの変形バージョンを特徴マップの精製ペアの第2の特徴マップとマッチングさせるように適合された、第2のコンパレータユニットと、
-(特徴マップの精製ペアのための)更新変位マップを得るために、補正変位マップとアップスケーリングされた初期変位マップを追加するように適合された追加ユニット(
図6の実施形態の追加ユニット(128)(138)を参照)と、を含む。
【0071】
好ましい実施形態(例えば、視差生成に特化した
図2の実施形態を参照)では、上述されるように、装置は、少なくとも1つのさらなる変位精製ユニット(上に導入された変位精製ユニット上にある;視差の特別ケースについては、
図2の複数の視差精製ユニット(40b-40d)を参照)を含み、そして、特徴マップの少なくとも2つの精製ペア(
図2の例の、特徴マップの精製ペア(20b)(30b)(20c)(30c)(20d)(30d))は、特徴マップ階層に含まれ、ここで、特徴マップ階層で特徴マップのベースペア(
図2の例の、特徴マップのペア(20d)(30d))に最も近い、特徴マップの第1の精製ペア(
図2の例で、特徴マップのペア(20e)(30e))は、特徴マップのベースペアよりも粗さが少ない解像度を有し、そして、特徴マップ階層で、特徴マップの第1の精製ペアよりも、特徴マップのベースペアから遠い特徴マップの各連続する精製ペアは、特徴マップ階層で、特徴マップのそれぞれの連続する精製ペアよりも特徴マップのベースペアに近い、特徴マップの隣接する精製ペアよりも粗さが少ない解像度を有する。
【0072】
さらに、この実施形態で、変位精製ユニットは、特徴マップの第1の精製ペアに適用され、そして、それぞれのさらなる変位精製ユニットは、特徴マップの各連続する精製ペアに適用され、ここで、各さらなる変位精製ユニットでは、特徴マップのそれぞれの連続する精製ペアよりも、特徴マップ階層で、特徴マップのベースペアに近い、特徴マップの隣接する精製ペアのために得られた更新変位マップは、それぞれの変位精製演算におけるアップスケーリング中に、それぞれのアップスケーリング係数で、特徴マップのそれぞれの連続する精製ペアのスケールへアップスケーリングされる初期変位マップとして使用され、そして、更新初期変位マップの値は、それぞれのアップスケーリング係数で掛けられる。
【0073】
従来技術アプローチに関しては、それらのいくつかは、ニューラルネットワークに基づく特徴抽出(特許文献9、非特許文献1、非特許文献2、非特許文献3、非特許文献4、非特許文献5、非特許文献6)を適用するが、本発明に準じて適用される視差(一般に、変位)精製は、それらのいずれにも開示されていない。換言すると、本発明に適用された構造は開示されておらず、上に引用される従来技術から導出され得ず、本発明に適用された構造では、中間レベル特性マップ(それらの1つは変形される)は、変位(視差)精製の責任を負うシーケンスに活用される。
【0074】
上述の論述から、非特許文献3は、視差見積もりのために、非特許文献4のアプローチを適用する。非特許文献4においては、ニューラルネットワークに基づくアプローチは、オプティカルフロー(時間「t」から時間「t+1」へのフロー)のために適用される。フィッシャーは、特徴階層の比較的早い段階[より粗さが少ない、相対的に高い解像度]のレベルで適用(これは、このアプローチでは、特徴マップの唯一の比較である)し、つまり、これらのレベルからの特徴マップのみが画像の両方のために計算される。特徴マップペアを使用する階層的精製は、このアプローチでは適用されない。
【0075】
非特許文献1においては、ニューラルネットワークに基づく特徴抽出器はステレオ画像に活用される。このアプローチでは、ダウンサンプリングおよびアップサンプリングが次から次に適用される。本発明においては非特許文献1と異なり、視差値は、いわゆる「ソフトアーグミン(soft argmin)」演算を使用して、コストボリュームから回帰される。非特許文献1アプローチでは、コストボリュームが生成され、そこで、参照と、全ての可能な視差値で変換された他の特徴マップとが連結される。従って、このアプローチでは、参照は常に第1のレベルであり、そして、それらは3x3x3カーネルを適用するので、このカーネルの時、参照は、参照上で連結される連続する2レベルへの影響のみを有する。したがって、不都合にも、全ての他のレベルが参照を「見る」わけではない。
【0076】
非特許文献2のアプローチは、非特許文献1に非常に類似している。このアプローチでは、特徴ボリュームが生成される。特徴マップの1つは参照として選択され、また、異なる視差値は別の特徴マップに適用される。連結によって得られる特徴ボリュームでは、変換された特徴マップが2つの参照の間に挟まれる。このアプローチは不都合に複雑で、また、計算コストは高い。
【0077】
さらに、非特許文献1と非特許文献2のアプローチとは対照的に、そのようなアプローチは、本発明のある実施形態に適用され(
図5Aと5Bを参照)、そこでは、-コンパレータの構造に従って-異なってシフトされた特徴マップが1つ1つ参照と比較されたかの様に結果は同等である。さらに、コンパレータユニットの構造的細部のおかげで、本発明のこの実施形態に適用されるアプローチは、計算コストの側面からとても有益である。詳細については、下の
図5Aと5Bの説明を参照。
【0078】
Pangは、視差解析のための枠組みを開示し、それは本発明とは大いに異なる。Pangのこのアプローチでは、第1のニューラルネットワークは、粗い視差マップを作り出し、それは本発明のアプローチとは異なる方法で、第2のニューラルネットワークによって精製される。対照的に、階層的に適用された視差精製ユニットの助けにより、高解像度の視差マップが、枠組みの発明において得ることができる。Pangのアプローチでは、中間結果は、第1の段階においてのみ合計されるので、次のレベルでは予測のために使用されない。対照的に、本発明のアプローチでは、中間結果は変形のために適用され、従って、連続するレベルの計算コストは低下する。
【0079】
非特許文献6においては、階層的視差精製は適用されない。このアプローチでは、損失は、手順のいくつかの点において訓練手順を制御するために、複数のレベルで調査される。カメラ画像の1つ(例えば左)のみが、このアプローチでニューラルネットワークによって処理される、つまり、左-右の特徴マップの階層は生成されない。
【0080】
特許文献7では、機械学習またはニューラルネットワークに基づくアプローチは適用されない。したがって、特徴空間への変換は、この従来技術の文書には適用されない。代わりに、前もって定義されたフィルタを用いたコンボリューションが、その文書のアプローチに適用される。換言すると、特徴は、特許文献7では調査されない(視差が基本的に画像を特徴づけるので、それは必要ない)。不都合にも、本発明とは対照的に、特許文献7のアプローチは、重要な特徴に集中していない。しかし、マッチングは、特徴を基に、より有効的に実行することができる。例えば、より多くの同色パッチがステレオ画像ペアの画像に配置されている場合、画像スペース(つまり色に基づく)においてこれらの間の対応を作り出すことは、特徴スペース(つまり意味内容に基づく)において作り出すよりも、難しくなる。要約すると、視差は、重要な特徴が配置されているそれらの領域に対して正確でなくてはならないので、本発明に適用される、特徴に基づくマッチングは、より有益である。特徴の観点から、特徴の存在が低解像度でも回収することができるので、ベース特徴マップの低解像度は不都合では無いということが確認されている(特徴マップは、低解像度では、さらに豊富な内容を有し、さらに多くの特徴様の特性を有する。上を参照)。これは特許文献7のアプローチと対照的であり、そこでは、低解像度レベルは、より少ない情報を含む。さらに、特許文献7のアプローチでは、同じ内容が異なる解像度で比較される。
【0081】
要約すると、既知のアプローチでは、特徴マップ(例えば視差マップ)の階層的な精製は、本発明におけるような方法、つまりあるレベルで、以前の、より粗い変位マップがそのレベルの特徴マップの助けによって精製される方法、では現れない。
【0082】
図2は、本発明のアプローチの実施形態の高レベルアーキテクチャを示す。特徴マップの対応ペアは、示された例示的な実施形態において、特徴マップ(20b)と(30b)、(20c)と(30c)、(20d)と(30d)、および(20e)と(30e)によって構成される。示されている例示的な実施形態において、同じコンボリューションニューラルネットワーク(CNN)が、ステレオペアの左画像と右画像の両方に適用される(これらは、2要素のバッチとして、または共有フィルタを有する2つの別々のCNNにより処理できる)。多くの場合、ニューラルネットワークは、より多くの画像を同時に処理できるように実施されており、これらの画像は、並行して処理され、最後にすべての画像の特徴マップを得ることができる。このアプローチでは、ニューラルネットワークがコピーされ、一方のニューラルネットワークが左画像を処理し、もう一方が右画像を処理する場合と同じ結果が得られる。
【0083】
通常、特徴マップペアのメンバーは、同じサイズ(すなわち、
図2で示されたのと同じような空間次元、例えばH/4xW/4、H/8xW/8)および同じ数の特徴チャネル(ペアの各メンバーの厚さで示される)を有する。
【0084】
抽出された特徴は、視差(全体として変位)画像を生成するか(視差ユニット(40e))、または精製する(視差精製ユニット(40d)(40c)(40b))ユニットに供給される。本文書で適用されるユニットは、モジュールと呼ばれることもある。
図2に示されるように、視差は最初にベース(通常は最も粗い)スケール(特徴マップのベースペアに対する、すなわち特徴マップ(20e)および(30e)に対する)で計算され、精製ユニットを使用してこれらの予測をアップスケーリングし、改善する。これにより、
図2に示されるような階層構造になる。
【0085】
図2に示されている例において、視差ユニット(40e)の出力、すなわち、最も粗い(図において最も低い、ベース)左視差マップ(46e)(左視差マップの最低解像度を有する)および最も粗い(図において最も低い、ベース)右視差マップ(48e)(右視差マップの最低解像度を有する)のサイズは、入力左画像(20a)と右画像(30a)の1/32部分である。次の2つのレベルにおいて、視差マップのサイズはそれぞれ1/16部分および1/8部分である。
【0086】
1/32、1/16などのスケールは単なる実証を目的とすることに注意されたい。スケールの任意のシーケンスを任意のインクリメントで使用できる(2倍だけでなく、コンボリューション層とプーリング層の導入に関して上記で詳述したサイズ縮小の態様を参照)。最後の視差精製ユニット(
図2の参照番号(40b))の出力は、ネットワーク出力(視差マップ(46)および(48))、すなわち、本発明の方法および装置のそれぞれの実施形態によって得られた合成視差マップ(例においてマップのペアである)である。結果を改善するために、追加のズームまたはコンボリューションを適用してもよい。視差(精製)ユニットは、学習可能なコンボリューション(つまり、コンボリューションを実行するユニット、または単にコンボリューションユニット、以下の
図4から
図6を参照)も備えるので、タスクを実行するために訓練する必要がある。
【0087】
本発明で適用されるユニットのシステム(特徴抽出器、変位/視差[精製]ユニット)は、好ましくは全微分可能であり、エンドツーエンドで学習可能であることに留意されたい。その後、全ての変位(精製)ユニットは、勾配を後ろの方に通すことができるため、通常のCNN層のように動作する。これは、タスクに正しい(すなわち適切な)特徴だけを学習させるのに役立つ。CNNは、一般的に使用されるImageNet(Olga Russakovsky et al..ImageNet Large Scale Visual Recognition Challenge,2014,arXiv:1409.0575を参照)または他の適切なタスク上で事前訓練することができ、または事前訓練なしで(訓練フェーズを適用するだけで)使用できる。利用されるネットワークは、教師ありまたは教師なしの方法で教育することができる。教師ありのアプローチにおいて、入力画像と出力変位(視差など)マップはネットワークに提示される。実世界の高密度な変位/視差マップを取得することは非常に難しいため、それらは一般に、シミュレーションされたデータである。教師なしのアプローチにおいて、ネットワーク出力は、左画像を右に、右画像を左に変形させるために使用される。次に、それらを実際の画像と比較し、どの程度一致しているかに基づいて損失を概算する。結果を改善するために、追加の損失成分を追加できる(詳細については上記を参照)。
【0088】
図3には、実施形態における視差ユニット(40e)のフローチャートが示される(アプローチにおいて、これは、階層内の特徴マップに、同時に、図の中で一番下にあるものに、最初に適用されたユニット(モジュール)である)。それは、同じ階層レベル(
図2の一番下)から、入力として左特徴マップ(20e)および右特徴マップ(30e)を受け取る。次に、特徴マップ(20e)および(30e)のシフトバージョンが、それぞれ左シフターユニット(62)および右シフターユニット(72)で生成され(シフターユニットは、単にシフター、あるいはシフターモジュールと呼ばれることもある)、これらのシフトバージョンは、それぞれのコンパレータユニット(74)(64)(単にコンパレータ、あるいはコンパレータモジュールと呼ばれることもある;シフターユニット(62)(72)とコンパレータユニット(64)(74)との間には相互接続(66)(68)が存在する)に供給され、これらコンパレータユニットも学習可能である(以下を参照)。
【0089】
したがって、初期視差マップ(示されている例において、より正確には、左右の初期視差マップのペア)の生成を担う視差ユニット(40e)は、以下のように動作する。
図3の左側(右側も同等)からの操作の記載から始まり、第1の入力としての左特徴マップ(20e)が、シフターユニット(62)とコンパレータユニット(64)の両方に供給される。相互接続(66)(68)により、コンパレータユニット(64)は、シフト右特徴マップ(30e)を、それに供給される左特徴マップ(20e)と比較するために使用される。シフターユニット(62)は、シフトバージョンの左特徴マップ(20e)をコンパレータユニット(74)に送り、コンパレータユニットに対して右特徴マップ(30e)が右側で供給される。シフターユニットは、グローバルシフトを特徴マップに適用する、すなわち、特徴マップの全てのピクセルに同じ量のシフトを適用する(より多くのシフトをシフターユニットに同時に適用できる;次の図の説明を参照)。
【0090】
コンパレータユニット(74)がそのタスク(すなわち、その出力に対して視差マップを持たせるための比較)を実行すると、コンパレータユニットは、左特徴マップ(20e)のシフトバージョンを、右特徴マップのシフトされていないバージョンと比較する。実際には、コンパレータユニットは、全てのピクセルに対してピクセルごとに最も適切なシフト(すなわち、与えられた左特徴マップのピクセルが右特徴マップのそれぞれのピクセルと最良の対応であるシフト)を選択し(または補間する、以下を参照)、これらのシフト値を、再度ピクセルごとに、各ピクセルのために使用して、視差マップへ供給し、例えば、右特徴マップ(20e)からのピクセル位置(すなわち、ペアのシフトされていない特徴マップへ)。したがって、右視差マップは、右特徴マップ(したがって、右画像)の観点からの視差値を含む。
【0091】
コンパレータユニット(64)は、左特徴マップ(20e)およびシフトバージョンの右特徴マップ(30e)に対して同じプロセスを実行する。それは左初期視差マップ(46e)を出力し、ここで、視差値が左特徴マップ(左画像)の側面から与えられる。
【0092】
したがって、
図3に示されている方法の実施形態において、変位(例えば視差)生成演算では
-特徴マップのベースペアの第1の特徴マップの複数のシフト特徴マップ(
図2に示されている特徴マップ(20e)(30e))は、特徴マップのベースペアの第1の特徴マップに複数の異なるシフト(シフトが単一の数値で与えられる場合のシフト/シフト値、またはシフトが複数の座標で与えられる場合のシフト/シフトベクトル)を適用することによって生成され、および
-初期変位マップ(
図2において左右の視差マップ(46e)(48e))は、特徴マップのベースペアの第1の特徴マップの複数のシフト特徴マップと特徴マップのベースペアの第2の特徴マップとの間のマッチングを調査することに基づいて、特徴マップのベースペアの第2の特徴マップの各データ要素(ピクセル)位置のための合成シフトを生成することによって得られる(したがって、マッチングに基づいて、合成シフト、すなわち、それぞれのシフトは各ピクセル位置のために得られ、その位置に対応する変位(例えば視差)値を与える)。
【0093】
変位(例えば視差)マップの精製について、
図6に示されている実施形態において同様のステップが使用される(同じようなシフト適用のスキームが実行される)。したがって、変位(例えば視差)精製演算において、
-特徴マップの精製ペアの第1の特徴マップの複数のシフト特徴マップ(
図2において特徴マップ(20d)(30d))は、特徴マップの精製ペアの第1の特徴マップの変形バージョンに複数の異なるシフトを適用することによって生成され、
-補正変位マップは、特徴マップの精製ペアの第1の特徴マップの複数のシフト特徴マップと特徴マップの精製ペアの第2の特徴マップとの間のマッチングを調査することに基づいて、特徴マップの精製ペアの第2の特徴マップの各データ要素(ピクセル)位置のための合成シフトを生成することによって得られる。
【0094】
これらの実施形態、すなわち、
図3と
図6に示されている方法ステップおよび装置ユニットは、別々にまたは組み合わせて適用することができる。したがって、簡単に、シフトアプローチは、任意の変位ユニットおよび少なくとも1つの変位精製ユニットに(それに応じて、例示的な視差ユニットおよび少なくとも1つの視差精製ユニットの中に)適用することができる。
【0095】
図4はシフト演算の説明的なブロック図を示す(
図4は説明のためのものである;以下のシフターユニット(62)(72)および他のシフターユニットは同じように機能する)。
図4において、シフターユニット(65)は、入力特徴マップ(60)(図では「入力特徴」とラベル付けされる)を出力特徴マップ内の複数の位置にコピーする。各オフセットに対して、シフターユニット(65)は入力特徴マップのシフトバージョンを作成する(
図4の例において、シフトバージョン(75)(76)(77)および(78)をもたらす)。
【0096】
入力特徴マップにおいて各オフセットおよび位置について、指定された位置は、指定されたオフセットによって変換され、出力特徴マップ内の位置を生成する。次に、入力位置の入力特徴マップの対応ピクセルが、出力位置の出力特徴マップにコピーされる。それにより、幾何学的に言えば、出力特徴マップは入力特徴マップの変換バージョンになる。出力特徴マップのエッジにピクセルがあり、その位置は入力特徴マップの有効なピクセル位置に対応していない。これらのピクセルの特徴は、特徴マップのチャネルインデックスのみに応じて、ゼロ、別の定数、または学習可能なパラメータである幾つかの予め定義された値に初期化される(例えば、各チャネルに対して、定数フィラー値があり、次に、対応入力ピクセルを持たない出力ピクセルがある場合、そのピクセルの特徴ベクトルは、これらのフィラー値で構成されるベクトルに初期化される)。視差の場合には、好ましくは、シフトごとに、水平シフトの値が1ピクセルずつ増減する(すなわち、特徴マップ全体が所定のピクセル数でグローバルにシフトした)。したがって、入力のないマップの側面には、ゼロまたは学習可能なベクトルでパディングすることができる。
【0097】
シフターユニットはシフトの範囲であるパラメータを有し、
図4においてシフトを数字で表示する場合、その範囲が[-4,0]である(範囲の定義は、より多くの次元に一般化できる)。これは、どの(整数)シフトが生成されるかを記載する。最後に、ベースレベルの非対称シフト(シフト値)が視差ユニット(40e)のシフターユニット(62)(72)によって生成される(視差は一方向のみであるため、全ての特徴は左右の画像間で同じ方向に「移動」する)(
図3を参照)。視差精製ユニットのシフターユニット(例えば、視差精製ユニット(40d)におけるシフターユニット(122)と(132)、
図6を参照)において、シフトは対称的である(これらのレベルにおいて、精製が生成され、それがどちらの符号であっても構わない)。シフターユニットには学習可能なパラメータがない。範囲の極値は、最大許容視差および最大許容補正係数に基づいて選択されることが好ましい。シフターユニットはチャネルの数にn=max
range-min
range+1を掛ける、すなわち、上記の例において合計5つのシフト(シフト-1、-2および-3に加えて、シフト0、-4も含む)が適用される。
【0098】
一般的な場合、上記のように、可能なシフトは任意のN次元ベクトルである可能性がある。それは特定のタスクに応じて(適合的になど)選択される。例えば、本文書に詳述した2D視差の場合、水平ベクトルのみが可能なシフトとして考慮される。オプティカルフローの場合、シフトベクトルは任意の方向にすることができる、例えば、任意の方向において2で変化する可能性がある2D座標(xとyなど)のようなシフトを考慮に入れることができる。この特定の例ではxとyの両方が-2から2の範囲である可能性があるため、5x5=25の異なるシフトを意味する。例えば3Dの場合、x、y、z方向のいずれかにおいて2つの変化があれば、125の異なるシフトを意味する。この場合、確率に基づくシフトの重み付けされた値が得られるとき、可能なシフトベクトルが重み付けされた値に加算される。示されたように、シフトの概念は、単一の数から多次元ベクトルへ簡単な方法で一般化できる。
【0099】
図5Aは、実施形態におけるコンパレータの構造を示す。ここで、
図5Aおよび5Bに示されている値は、例示的なものであることに注意されたい(例えば、コンボリューションカーネルのサイズ)。コンパレータユニットは、第1の入力として、特徴マップ階層の一方の側(例えば、左側)から特徴マップを受信する。この特徴マップは、
図5Aでは参照番号(80)で示され、「参照」とラベル付けされている。コンパレータユニットは、第2の入力として、同じレベルから特徴マップ階層のもう一方の側(例えば、一方が左側の場合は右側)のシフト特徴マップ(参照番号(82)で示される)を受信する。
【0100】
図5Aおよび5Bにおいて、コンパレータユニットの演算は視差について示されている。しかしながら、適切な次元を選択することによって変位マップを得るために、
図5Aおよび5Bのスキームは一般的に適用できることが明らかである。さらに、
図5Aおよび5Bにはバッチ次元(Nで示される)が導入される。並行して、同じ方法で処理されるべき特殊タイプの入力から、利用可能な1つより多くのインスタンスが存在する場合、バッチ次元が使用される。例えば、1つより多くのステレオカメラペアが視差を生成するために車内に配置される場合、1つより多くの、例えばそれぞれの左入力画像および右入力画像は、利用可能である。その後、同じ処理パイプラインは、これらの入力データペアを並行して処理するために、よく使用することができる。
【0101】
したがって、
図5Aおよび5Bにおける実施形態において、その出力の上で、コンパレータユニットは視差マップを生成し、これは例えば、入力特徴と同じ空間次元を有する単一チャネルテンソル(すなわち特徴マップのペアのそれぞれ)である。一般に、変位マップも同じ方法で生成できる。
図5Aにおいて、次元Nx1xHxWを有する視差マップ(105)は、コンパレータユニットの出力で得られ、一方、参照が次元NxCxHxWを有する。この場合の空間次元は、高さ(H)と幅(W)であり、参照特徴マップと視差において同じである。コンパレータユニットにおいて、チャネル数(C)はCから1に減少し(すなわち、視差のチャネル数に、この例では1)、対応する詳細については以下を参照されたい。本文書全体に適用されるアプローチによると、特徴チャネルは特徴マップに対応し、座標チャネルは変位マップ(ここで、視差マップ)に対応する。したがって、特徴チャネルの数は、Cから、座標チャネルの数(すなわち変位マップ、ここでは視差マップのチャネル数)に減少し、これは、最終的に本例では1である座標チャネルの数である。
【0102】
コンパレータユニットは、参照として選択された特徴マップと、いくつかの異なるシフトが行われた同じレベルの他の特徴マップとの比較を実行する。したがって、
図2に示された例において、視差マップには複数の座標チャネルがなく、全てのピクセルに対して単一の数値(視差値)がある。対照的に、変位マップには、2Dオプティカルフローの場合に、ピクセルごとに2つの値、すなわち2つの座標チャネルがあり、一方で、3D医療画像レジストレーションの場合に、ピクセルごとに3つの値、すなわち3つの座標チャネルがある。したがって、この場合、視差マップのテンソルは、コンパレータユニットで実行されるチャネル削減に従って、1つのチャネルを有するピクセルの行列である(次元における変化については、
図5Aを参照)。コンパレータユニットによって生成された視差マップは、そのピクセルごとに、参照と他の特徴マップとの間のシフト値(視差、変位)を示す(
図5Bは、コンパレータユニットの視差を得るためのさまざまな可能性を示し、詳細は以下を参照)。
【0103】
図5Aおよび5Bに示された実施形態において、コンパレータユニットには2つの異なるビルディングブロック(サブユニット)がある:第1のサブユニット(
図5Aのユニット(C1)を生成する比較マップ、第1のブロックと呼ばれることもある)は、全ての可能なシフト(すなわち異なるシフトを有する特徴マップ)を参照(すなわち、参照として選択されたレベルの特徴マップ)と比較し、他のサブユニットはこれらの比較結果を検討し、視差を出力する(第1の合成シフトは
図5Aのユニット(C2_A)を生成し、
図5Bの第1、第2、第3の合成シフトは(C2_A)(C2_B)および(C2_C)を生成し、それは第2のブロックと呼ばれることもある)。
【0104】
以下に、
図5Aのコンパレータユニットの実施形態の実現例について詳細に説明する。
図5Aに示された例において、NxCxHxWの次元を有するテンソルによって表される参照特徴マップ(80)は、コンパレータユニットの比較マップ生成ユニット(C1)への第1の入力として与えられる(このブランチ(図の右側)は、第1の計算ブランチとも呼ばれる)。NxSxCxHxWの次元を有するテンソルによって表される第2の入力シフト特徴マップ(82)(シフトされた特徴としてラベル付けされる)は、コンパレータユニットに与えられる(ここで、Sは適用されたシフトの数であり;このブランチ(図の左側)は、第2の計算ブランチとも呼ばれる)。
【0105】
第1の計算ブランチでは、第1の比較コンボリューションユニット(84)が参照特徴マップ(80)に適用される(ユニット(84)の名前で比較という言葉は、コンパレータに適用されることを単に示唆し、単にコンボリューションユニット、すなわちコンボリューション[演算]を実行するユニットと呼ばれることもある);この演算の結果、参照特徴マップ(80)のチャネル次元(C)がC’に変更される(つまり、第1の中間データの次元はNxC’xHxWである)。C’はCと等しいまたは等しくない。示されている例では、比較コンボリューションユニット(84)(#1とラベル付けされる)は、3x3ピクセルの次元(簡単に言えば、3x3の次元)を有するカーネルを備える。さらに、この例では、2次元のコンボリューション演算子が適用されており、したがって、演算のカーネルは、画像のいわゆる幅と高さの次元をスキャンする。
【0106】
第2の計算ブランチでは、「バッチへマージ」ユニット(92)が入力シフト特徴マップに適用され、これは、いくつかの異なるシフトの並列処理アーキテクチャによって並列化された方法で計算を効果的に実行できることを容易にする(次元は、第4の中間データ(93)におけるNSxCxHxWに変換される)。言い換えると、それぞれの可能なオフセットに入力特徴マップのシフトバージョンがあるため、これらの特徴マップをバッチ(すなわち同時に計算できる計算ブランチ)として扱い、コンボリューションユニットと同時に処理することができる(並行して、バッチの各要素に同じコンボリューション演算を適用する)。第2の比較コンボリューションユニット(94)がこの「バッチ処理された」入力に適用され、NSxC’xHxWの次元を有する第5の中間データ(95)をもたらす。示されている例において、第2の比較コンボリューションユニット(94)(#2とラベル付けされる)は、第1の比較コンボリューションユニット(84)(3x3カーネルを有し、2Dコンボリューション演算である)と同じプロパティを有する。したがって、ユニット(84)と(94)の主なパラメータは同じであるが(どちらもチャネル数をCからC’に変換する)、学習プロセス中に学習された重みは典型的に異なる。学習プロセス中に、これらのコンボリューションユニット(84)(94)の学習可能なパラメータは、コンパレータの機能を最適に実行することができる値に収束する。
【0107】
これらの比較コンボリューションユニット(84)および(94)は、参照特徴マップおよび各シフト特徴マップのチャネル連結バージョンのそれぞれに適用される単一のコンボリューションユニットの事実上「半分」であり、結果はコンパレータユニットの追加ユニット(98)によって一緒に加算され、ここで、追加ユニット(98)は好ましくはブロードキャスト追加演算を実行する。ここでは、半分の1つ(比較コンボリューションユニット(94)を備えたブランチ)をS回実行する必要があるという事実を強調するために、これらを互いに分離しており、ここで、Sは可能なシフトオフセットの数である。一方で、もう1つ(比較コンボリューションユニット(84)を備えたブランチ)は、参照特徴マップ上で1回だけ実行される必要がある。追加ユニット(98)の後、結果は、各シフトオフセットに対して、シフト特徴マップと参照マップの連結バージョンに単一のコンボリューションを実行した場合と同じである。したがって、この比較コンボリューションユニット(84)および(94)の分離は、計算コストの観点から非常に有利である。
【0108】
計算ブランチにおけるそれぞれの比較コンボリューションユニット(84)(94)の後、データは、互いに互換性のあるデータ形状にされる。したがって、第2の計算ブランチにおいて、データが「バッチ処理された」フォーマットから変換されて戻されることによって(ユニット(92)と(96)は、第2の計算ブランチの次元の変更から明らかなように、互いに逆演算を実行する)、データ再形成ユニット(96)が適用される(第6の中間データ(97)において、データをNxSxCxHxWのフォーマットに変換する)。
【0109】
第1の計算ブランチにおいてこれと互換性のあるデータフォーマットを有するために、NxlxC’xHxWの次元を有する第2の中間データを備える、すなわち、シフト次元で次元を展開するように、第1の次元展開ユニット(86)(「dim展開」とラベル付けされる)が第1の中間データ(85)に適用され、この段階ではその値は1である。その後、複製演算は、第1の計算ブランチにおける複製ユニット(88)によって実行される。複製ユニット(88)(ブロードキャストユニットと呼ばれることもある;「ブロードキャスト(タイル/レプリケート)」とラベル付けされる)の助けにより、第1の計算ブランチのデータは、追加ユニット(98)(第3の中間データにおけるNxSxC’xHxWの次元を有する)のために準備される、すなわち第2の計算ブランチにおいて適用されたシフトの数に応じて(仮想的に)複製された/展開された。
【0110】
典型的に、これはメモリ内のバイトの実際のレプリケーションだけではなく、概念的な(すなわちバーチャル)レプリケーションとしてのみ考えるべきである。言い換えると、ブロードキャスト追加演算を考慮する。そこでは、追加の左側(LHS)と右側(RHS)の次元が異なっている(そのうちの1つ、例えばLHSはある次元で1つの平面だけで構成されており、もう一方はシフトの数に応じて複数の平面を有する場合がある)。追加演算中に、例えば、LHSは、RHSの形状に一致するように実際には複製されないが、コンピューターメモリ内のLHSに関連するデータを実際に複製(コピー)することなく、RHSの各平面に追加される。したがって、複製ユニットは、好ましくは、データの実際のレプリケーションでなく、追加のためのこのような準備を象徴する。
【0111】
したがって、同じデータフォーマット(NxSxC’xHxW)の結果として、2つの計算ブランチの最後で得られたデータは、追加ユニット(98)によってブロードキャスト追加される(上記のように、ブロードキャスト演算は、複製ユニット(88)においてバーチャルであることが好ましく、したがって、複製ユニットの演算は、ブロードキャスト追加演算の助けになる)。追加ユニット(98)は、コンパレータユニットの比較マップ生成ユニット(C1)の出力を与える;その出力には、異なるシフトのための特徴マップの比較が含まれる。したがって、比較マップ生成ユニット(C1)のタスクは、各シフトを参照と比較することである。
【0112】
コンパレータユニットの比較マップ生成ユニット(C1)で適用される計算構造は、参照が各シフトと別々に比較される計算と同じ結果を与える(これは、上記のスキームより計算費用対効果がはるかに少ない)。言い換えると、上記の詳細な計算スキームによれば、比較マップ生成ユニット(C1)で適用される比較は、数学的に2つの計算ブランチに分離され、ここで、第1のブランチにおいて、コンボリューションは完全に参照に適用され、また、第2のブランチにおいて、コンボリューションはシフトされたデータに適用される。この分離により、参照の計算は、シフトごとに個別に実行されるのではなく、1回だけ実行されなければならない。これは、計算費用対効果の観点から大きな利点をもたらす。上で詳述したように適切なデータ再形成演算を適用すると、追加ユニット(98)は、比較が全てのシフトに対して別々に実行された場合と同じ結果をもたらす。追加ユニット(98)の出力は、以下に結果比較データマップと呼ばれる(その高さと幅は、コンパレータユニットが適用されている特徴マップと、コンパレータユニットの合成出力である視差マップの両方と同じである)。比較データマップは単純な補助中間データセットであるため(コンパレータの2つのブランチにおける第1と第2の中間比較データマップに加えて、以下を参照)、単に何かの中間データと呼ばれることもある。比較データマップは
図5Aには示されておらず、第7の中間データ(101)のみが示されており、その第7の中間データ(101)が、非線形性ユニット(99)の適用によって比較データマップから得られ、比較マップ生成ユニット(C1)の最後のユニットである。第7の中間データ(101)のデータ構造は、同じNxSxC’xHxWのままである。
【0113】
したがって、合成シフト生成ユニット(C2_A)において、「チャネルへ」のデータ再形成演算は完了する、すなわち、追加ユニット(98)の出力データが、スタッキングユニット(102)によって、チャネルによって、スタックされる(「チャネルへマージ」とラベル付される)。この演算は、異なるシフトに対応するサブテンソルのチャネル次元をスタックする、すなわち、シフト次元をチャネル次元にマージする。したがって、8つの中間データ(103)におけるデータフォーマットは、NxSC’xHxWである。この実施形態において、適切な視差値は、コンボリューションユニット(104)を調査するシフトの助けによって、このデータのテンソルから得られる(このアプローチでは、視差値は比較用に訓練されたコンボリューションユニットによって生成されるため、シフターユニットが使用するシフト/シフト値が整数であったとしても、非整数は、
図5Aに示されるコンパレータユニットによって視差値として生成することもできる)。
【0114】
したがって、この段階で、異なるシフトの結果を比較するべきである(チャネルへのスタッキングを使用)。
図5Aに示されるように、この好ましい例では、より小さなカーネルを有するコンボリューションユニット(例では、シフト調査コンボリューションユニット(104)における1x1のカーネル)がより大量のデータ(すなわちスタックされたデータ)に適用され、より大きなカーネル(他のコンボリューションと比較して大きい)を有するコンボリューションユニットがバッチ処理されたシフト特徴マップに適用される(すなわち、
図5Aの第4の中間データ(93);ブロック(C1)におけるバッチ処理された特徴マップは、合成シフト生成ユニット(C2_A)におけるフルスタックされたデータよりも少量のデータを構成する)。コンボリューションユニットのカーネルサイズのこの比率は、計算費用対効果の観点から有利である。
【0115】
視差ユニットまたは視差精製ユニット(一般に、変位ユニットまたは変位精製ユニット)におけるコンパレータユニットは、異なるレベルの異なる特徴チャネル数に適用されることを留意すべきである。その上、コンパレータユニットは典型的に、初期または補正視差(一般に変位)マップを出力し、両方のチャネル数は、この例では1、または一般に座標チャネルの数に減少する。言い換えると、
図5Aに示されるように、視差情報を得るための比較は、全ての特徴チャネルに対して実行される。したがって、コンパレータユニットは、異なる特徴マップレベルに格納された特徴情報に対して感度が高い。それによって、視差マップ生成プロセスは、機械学習の利点を活用するものであり、左右の画像で同じ色やパターンを持つエッジや領域などの低レベルの機能だけでなく、例えば道路シーンの可能な内部セマンティック表現などの高レベルの機能も使用して、特に効率的になる。そのことは、2つの画像上の同じオブジェクトが互いに対してより正確に一致することができることを意味している。
【0116】
シフト調査コンボリューションユニット(104)は、好ましくは1x1カーネルを有するコンボリューション演算を実行する。このコンボリューション機能は、(C1)によって実行された特徴マップの比較を通じて得られた情報から最適な変位値を計算することである。例において、適用される次元によれば、2次元コンボリューションを適用することが好ましい(高さおよび幅の次元をスイープする)。シフト調査コンボリューションユニット(104)は、全ての単一ピクセルに対してシフト値、すなわち、それぞれの位置における視差の値を出力する。シフト調査コンボリューションユニット(104)は、一度に1つのピクセルを調査し、チャネル次元に格納されたデータに基づく合成シフトとしての学習に基づいて適切なシフト(例えば、シフト値)を出力するように教示される。
【0117】
図5Aは、入力特徴マップと出力視差との間の画像サイズの対応を示しており、合成シフトは、視差マップの全てのピクセル位置について得ることができる。したがって、
図5Aにおいて、コンパレータユニットの合成シフト生成ユニット(C2_A)の出力は、それぞれのレベルの視差マップであり、このマップから、参照特徴マップおよびシフト演算が行われた特徴マップが選択される。要約すると、合成シフト生成ユニット(C2_A)において、最適なシフトオフセットは、好ましくは1x1コンボリューションの助けにより、各データ要素(ピクセル)に対して決定される。
【0118】
図5Aのコンパレータの上記の詳細な実施形態を実装する利点は、高効率性である。追加ユニット(98)は、全ての可能なシフトのコンボリューションバリアントに個別にコンボリューション参照(コンボリューションが適用された参照)を追加することを留意すべきである。前述のように、この演算は、参照特徴を出力シフトと1つずつ連結し、それらをコンボリューションし、結果を連結することと同等である。しかしながら、この後者のアプローチは、上記の実施形態のアプローチよりもはるかに多くの計算リソースを必要とし、参照のコンボリューションを何度も実行し(連結はその第1のステップとして実行されるため)、その結果、参照に適用される複数のコンボリューション演算に従って冗長な計算になる。対照的に、上記の実施形態のアプローチでは、コンボリューション演算は、参照に対して一度だけ適用される。
【0119】
比較マップ生成ユニット(C1)(同じ比較マップ生成ユニット(C1)が、
図5Bの実施形態に適用される)のコンボリューションには非線形性がないことは、留意すべきである、すなわち、比較マップ生成ユニット(C1)の比較コンボリューションユニット(84)(94)は、非線形層が続かない。そのため、コンボリューションユニット(84)(94)をこのように分割できる。非線形性は、好ましくは、非線形性ユニット(99)におけるブロードキャスト追加演算(例えば、比較マップ生成ユニット(C1)の出力での追加ユニット(98)の後)の後に適用される。非線形性は、例えばReLUの非線形性である、すなわち、追加ユニット(98)の出力に適用されるReLU非線形層である。
【0120】
上で詳述したように、合成シフト生成ユニット(C2_A)において、1x1カーネルとのコンボリューションが実行される。その理由は、これがはるかに多くのチャネル数で機能することであり(ここでシフトがチャネル次元にマージされるため)、また、これらで大きなコンボリューションカーネルを使用することは避けたい。チャネル数が高いことを考えると、コンボリューションカーネルが大きい(3x3など)と、はるかに遅くなる。合成シフト生成ユニット(C2_A)におけるより大きなカーネルを使用することは、比較マップ生成ユニット(C1)で好ましくは3x3カーネルを適用するので、不必要である。1x1カーネルのさらなる利点は、単一データ要素(ピクセル)からの情報を必要とすることであり、これにより、このコンボリューションでより大きなカーネルを使用する必要もなくなる。ただし、比較マップ生成ユニット(C1)において、シフト次元がバッチ次元にマージされるため、チャネルサイズははるかに小さくなる。演算の数はバッチサイズに線形に比例し、チャネルサイズに正比例するため、結果として、合成シフト生成ユニット(C2_A)のシフト調査コンボリューションユニット(104)に適用されるカーネルが、比較マップ生成ユニット(C1)の比較コンボリューションユニット(84)および(94)に適用されるカーネルよりも小さい場合、パフォーマンスが向上する。
【0121】
要約すると、
図5Aおよび5Bに示されるような方法の実施形態では、初期変位マップとして適用するための出力変位マップを生成するための変位(例えば、視差)生成演算において、及び/又は補正変位マップとして適用するための出力変位マップを生成するための変位精製演算において、
-複数のシフト特徴マップ(82)(ここで、シフト数は、異なるシフトの数である)、および
-参照特徴マップ(80)として機能する他の特徴マップ(すなわち、他の特徴マップは、参照特徴マップの役割を果たす、したがって、以下この名称で呼ばれる)
のマッチングは、以下のステップで実行される:
-第1の中間比較データマップを得るために、参照特徴マップ(80)に第1の比較コンボリューションユニット(84)を適用し、
-複数の第2の中間比較データマップを得るために、複数のシフト特徴マップ(82)のそれぞれに第2の比較コンボリューションユニット(94)を適用し、
-合成比較データマップを得るために、追加演算において、異なるシフトの数に従って複製された(すなわち、上で詳述したように、バーチャルに複製された、または物理的に複製された)第1の中間比較データマップおよび複数の第2の中間比較データマップを追加し、
-少なくとも1つの空間次元及び/又は時間次元の全てにおいて、合成比較データマップの各データ要素に対してそれぞれの合成シフトを生成し、出力変位マップにおける対応データ要素にそれぞれの合成シフトの全てを割り当てる(すなわち、合成比較データマップにおけるデータ要素による)。
【0122】
上記の実施形態において(
図5Aに示されている実施形態のように、すなわち、合成シフト生成ユニット(C2_A)を含むバリエーションにおいて)、好ましくは、少なくとも1つの空間次元及び/又は時間次元の全てにおいて、合成比較データマップの各データ要素のためのそれぞれの合成シフトは、合成比較データマップにシフト調査コンボリューションユニット(104)を適用することによって生成される。さらに、この実施形態において、好ましくは、特徴マップは1つ以上の特徴チャネルを有し、合成比較データマップは、シフト調査コンボリューションユニット(104)を適用する前に、特徴マップの1つ以上の特徴チャネルによってスタックされる。
【0123】
上記の実施形態のさらなるバリエーションでは(合成シフト生成ユニット(C2_B)を含む実施形態のように)、少なくとも1つの空間次元及び/又は時間次元の全てにおいて、合成比較データマップの各データ要素のためのそれぞれの合成シフトは、複数の異なるシフトから最も一致するシフトを選択することによって生成される(詳細およびその他のオプションについては、
図5Bの説明を参照)。
【0124】
上記の実施形態のさらに別のバリエーションでは(合成シフト生成ユニット(C2_C)を含む実施形態のように)、少なくとも1つの空間次元及び/又は時間次元の全てにおいて、合成比較データマップの各データ要素のためのそれぞれの合成シフトは、以下のように生成される:
-異なるシフト値ごとに複数の変位ビンを確立し、
-変位ビンごとに変位確率を生成し、合成比較データマップに基づいて変位確率を計算し、および
-対応変位確率によってシフト値を重み付けすることで、合成シフトを得る(詳細およびその他のオプションについては、
図5Bの説明を参照)。
【0125】
好ましくは、上記の実施形態のあらゆるバリエーションでは、少なくとも1つの空間次元及び/又は時間次元の全てにおいて、合成比較データマップの各データ要素のためのそれぞれの合成シフトを生成する前に、非線形層が合成比較データマップに適用される。
【0126】
図5Bは、視差を生成するための3つの代替の可能性を示す(合成シフト生成ユニット(C2_A)(C2_B)および(C2_C)の全ては、次元Nx1xHxWを有する視差マップを出力する;これらのアプローチは、もちろん、変位生成に一般化することができる)。したがって、合成シフト生成ユニット(C2_A)(C2_B)および(C2_C)は、視差をもたらすために第7の中間データ(101)に適用可能な他の可能性である。これら全ての可能性を有することが可能であり、また、設定に基づいて、そのうちの1つが選択される。あるいは、合成シフト生成ユニット(C2_A)(
図5Aの実施形態のように)、(C2_B)および(C2_C)のうちの1つのみを実施することも可能である。
【0127】
図5Bの合成シフト生成ユニット(C2_A)は、
図5Aに示されているものと同じである(詳細については上記を参照)。
図5Bの別の代替案は、合成シフト生成ユニット(C2_B)である。合成シフト生成ユニット(C2_B)に示されているように、代替案であるC’は1でなければない、すなわち、コンボリューションユニット(84)と(94)を比較することにより、比較マップ生成ユニット(C1)におけるチャネル数をCから1(C’)に減らす必要がある。これは、これらのコンボリューションの出力チャネルの数を1に設定することで実行できる。合成シフト生成ユニット(C2_B)において、第1の中間ユニット(106)は第7の中間データ(101)に適用され、ここで、チャネル次元(C’が1である)がスクイーズされる、すなわち、基礎データ自体を変更せずに削除し(その結果、データフォーマットNxSxHxWを得る)、その後、同じ第1の中間ユニット(106)において、アーグマックス(
図5Bに示す)またはアーグミン演算がSに適用され、比較マップ生成ユニット(C1)での比較の結果として、最大または最小の比較値が最良の対応でシフトに対応するべきであるかどうかに応じる。アーグマックスまたはアーグミンのいずれかを使用できるが、ネットワークを訓練する前に、最初にそれらの中の1つを決定する必要がある。アーグマックスまたはアーグミンを使用すると、比較マップ生成ユニット(C1)が類似性スコア(アーグマックス)または非類似性スコア(アーグミン)を出力するかどうかが決まる。なぜなら、コンパレータユニットの訓練段階に、アーグマックスまたはアーグミンを選択すると、比較コンボリューションユニットがより良いシフトのために、より大きなまたはより小さなスコアを出力することを学ぶからである。アーグマックスまたはアーグミンを適用することにより、シフト次元のサイズがSから1に小さくなる。したがって、このアーグマックスまたはアーグミン関数は、参照特徴マップと異なるシフトが適用された他の特徴マップとの間で最良の対応が達成されることで、シフトを選択する。言い換えると、合成シフト生成ユニット(C2_B)において、次元Nx1xHxWを有する視差(110)の各データ要素に対して最良のシフトが選択される。
【0128】
図5Bの合成シフト生成ユニット(C2_C)によって示される代替の実施形態において、視差は、シフトオフセットを確率重み付けと組み合わせることに基づいて生成される、すなわち、確率アプローチと離散ビンは、視差マップのそれぞれのピクセル位置に割り当てられた合成シフト(シフト値またはより多くの次元におけるシフトベクトル)を推定(生成、計算)するために使用される。この代替案では、合成シフト生成ユニット(C2_B)と同様に、チャネル数Cは1でなければならない。その後、チャネル次元は、第2の中間ユニット(108)でスクイーズされる、すなわち、合成シフト生成ユニット(C2_B)と同様に、スクイーズ後のデータフォーマットは、NxSxHxWとなる。
【0129】
合成シフト生成ユニット(C2_C)の場合、出力チャネルの数は、調査中のレベルでの視差の可能な整数値の数、すなわち、比較マップ生成ユニット(C1)において、適用されたシフトの数に対応する;これらの値のそれぞれについて、離散ビンが確立される。チャネル変数がスクイーズされ、且つ可能なシフトの数がSであるため、確率データ(114)の次元はNxSxHxWである、すなわち、各バッチ、各シフト値、および高さと幅の次元の各ピクセル(データ要素)の確率を得る。シフトオフセットデータ(112)において、同じ変数を有するテンソルが確立され、1xSx1x1の次元を有する。シフト次元において、全ての可能なシフト値がある。シフトオフセットデータ(112)と確率データ(114)を乗算ユニット(116)の中で互いに掛け合わせ、加算ユニット(118)の中で乗算を合計すると、視差の各データ要素のための結果を得ることができ、その結果は、可能なシフト値の重み付けの合計およびそれぞれのシフト値のビンに対応する確率である。これにより、上記の詳述した方法によれば、データのシフト次元が1に減少し、次元Nx1xHxWで視差(115)が得られる。
【0130】
第2の中間ユニット(108)のラベルによれば、確率データ(114)の確率は、ソフトマックス関数の助けによって得られる、すなわち、いわゆるソフトマックス関数は、現在のアプローチにおいて、シフト次元によって適用される。ソフトマックス関数の出力は、視差がビンに対応する値を有する確率を与えると期待される。各バッチ要素の各データ要素に対して、ソフトマックス関数は、第7の中間データ(101)のシフト次元(S)に作用し、ソフトマックス関数は、次のように定義される。
【0131】
【0132】
ここで、ソフトマックス関数の入力は、zi(i:1..S)で示される利用可能なシフト値に対応するスコアであり、第7の中間データ101のシフト次元を含み、およびpi(i:1..S)は確率である、すなわち、ソフトマックス演算の出力である。ここで、Sは異なるシフト値の数、すなわちビンの数である。次に、結果の変位値(または一般にベクトル)は、ユニット(116)の中の全てのビンのそれぞれのビンの視差値で確率を掛けて、そしてユニット(118)における重み付けされた視差値を合計することによって得られる。次の例を参照。
【0133】
一例では、ピクセルの可能な視差(シフト)は0から3の間であり、出力確率は[0.0,0.2,0.7,0.1]であり、調査されたピクセルのためのコンパレータの出力は、合計として計算される([0.0,0.2,0.7,0.1] .* [0,1,2,3])=1.9。ここで、「*」はベクトルの要素を1つずつ掛け合わせることを表わす。したがって、このアプローチにより、各ピクセルの視差値についてより良い推定を得ることができる。
【0134】
図6は、視差精製ユニットの実施形態を示す。
図6では、示されたものが視差精製ユニット(40d)であることが示されているが、好ましく同じ構造を有するので、視差精製ユニット(40b)(40c)(40d)であってもよい。示されている視差精製ユニット(40d)は、前の階層レベルから左右の視差マップ(46e)(48e)を受け取ると、出力として、新しく精製された左右の視差マップ(46d)(48d)を作成する(入力および出力は、
図6の矢印で示される)。視差精製ユニット(40d)の構造は、
図3の視差ユニット(40e)と同様である。
【0135】
第一に、入力視差マップ(46e)(48e)は、アップスケーリングユニット(120)(130)において、次のスケールにアップスケーリングされる(アップサンプリングされる)(示されている例示では、スケール2であるため、ユニット(120)(130)は「x2」でラベル付けされる)。示されている例において、アップスケーリングは空間次元で行われる、すなわち、2つのレベル間の特徴マップの他の方向のスケーリング(ダウンスケーリング)に応じた高さと幅で行われる。アップスケーリング係数は、例えば、一部のレベルが階層からスキップされた場合、2の累乗である。2の累乗の数がアップスケーリング係数の典型的な選択であるが、他の数(特に整数)をアップスケーリング係数として使用できる(特徴マップの対応ペアのスケールを考慮に入れると、精製に適用される特徴マップのペアは、それぞれのレベルの変位マップに対応するべきである;出力視差マップの可能なアップスケーリングについては、以下を参照)。入力視差マップのアップスケーリング(アップサンプリング)は、任意のアップサンプリング方法(例えば、バイリニア補間または最近隣補間、デコンボリューション、または最近隣補間とその後のディープワイス・コンボリューションを含む方法など)。アップスケーリングには、視差値(または一般に変位ベクトル)のアップスケーリング係数による乗算を含める必要があり、特徴マップ(
図6の(20d)および(30d))が、前の入力視差(
図6の(46e)および(48e))を計算したときに使用された特徴マップよりも特定の係数で大きいため、前に一致した2つのデータ要素間の変位にも同じアップスケーリング係数を掛ける必要がある。
【0136】
以下では、左アップスケーリングユニット(120)から始まり、右変形ユニット(134)および右シフターユニット(132)を通り、左コンパレータユニット(126)および左追加ユニット(128)で終わる視差精製ユニット(40d)の演算について説明する。視差精製ユニット(40d)の構造は、左から右へ、またはその逆に対称であるため、この説明は、右アップスケーリングユニット(130)から始まり、左変形ユニット(124)および左シフターユニット(122)を通り、右コンパレータユニットおよび右追加ユニット(138)で終わるルートにも適用することができる。
【0137】
左アップスケーリングユニット(120)の出力は、右特徴マップ(30d)を変形するために変形ユニット(134)に与えられ、この出力も追加ユニット(128)に転送される。追加ユニットは、視差マップ(46e)のアップスケーリングされたバージョンおよび(左)コンパレータユニット(126)によって生成された視差(精製)に基づいて、視差精製ユニット(40d)の出力左視差マップ(46d)を生成する。次のレベルの右視差マップ(48d)は、アップスケーリングユニット(130)の出力および(右)コンパレータユニット(136)の出力に追加ユニット(138)を使用して同様の方法で生成される。変形ユニット(124)および(134)は、上で定義されるように変形演算を実行する、すなわち、大まかに言うと、視差マップは、これらの演算において特徴マップに適用される。
【0138】
左アップスケーリングユニット(120)の出力は、右変形ユニット(134)に送られる。変形ユニット(134)において、その入力、すなわち右特徴マップ(30d)は、前のレベルの視差マップ(46e)のアップスケーリングされたバージョンによって変形される。言い換えると、現在のレベルの右特徴マップは、より低い近隣のレベルのアップスケーリングされた視差の助けによって変形される、すなわち、図において下位レベルの視差は、下位レベルの視差マップが最終的な視差の適切な近似値であるため(これにより、非参照特徴は空間的に参照特徴に近づく)、左特徴マップとよく比較できるように、現在のレベルの右特徴マップに適用される。現在のレベルの右特徴マップ(30d)の変形バージョンは、適切な数のシフトを生成し、変形された右特徴マップのシフトされたセットを左コンパレータユニット(126)に送る右シフターユニット(132)に与えられる(視差ユニット(40e)と同様に、相互接続(142)および(144)は、シフターユニットと反対側のコンパレータユニットとの間に適用され、
図6を参照)。
【0139】
それぞれのシフターユニットの前に変形ユニットを使用すると、比較的少数の対称シフトを適用できる(右特徴マップの変形バージョンは同じレベルの左特徴マップに非常に近いため、その逆も同様である)。言い換えると、ここでのシフターユニット(シフトブロック)は対称シフトを生成するため、任意の方向の粗い視差マップを改善できる。以下の理由により、視差精製ユニットが非常に効果的になる(言い換えると、コンパレータは少数のシフトを処理するだけで、パフォーマンスが向上する)。
【0140】
左コンパレータユニットは、入力として、参照としての左特徴マップ(20d)および前のレベル(図の下位)左視差マップ(46)によって変形された右特徴マップ(30d)のシフトバージョンを得る。このタイプの変形が使用されるので、変形ユニット(134)は、現在の左特徴マップのための良好な近似値を出力し、それは次に、現在のレベルの実際の左特徴マップ(20d)と比較される。したがって、コンパレータの出力は、このような視差マップ補正になり、これにより、前のレベル(これはそれ自体のレベルでの良い推定である)のより粗い推定が、より細かい解像度のデータの助けによって(すなわち、より高い解像度の特徴マップの助けによって)精製される。簡略化された例において、より粗いレベルで、そのレベルに対応する特徴マップの小さいペア上にあるオブジェクトの4ピクセルシフトがあることがわかる。したがって、精製の次のレベルでは、シフトは16ピクセルになり(4のアップスケーリング係数を使用)、しかし、次のレベルの特徴マップでよりよく観察できるため;それは次に精製され、よって、シフトの予測は次のレベルで15になる可能性がある。
【0141】
図2の実現において(
図6の実施形態が、視差精製ユニット(40b)(40c)(40d)の全てに適用される場合)、最終の出力視差マップ(46)および(48)のサイズは、入力画像(左画像(20a)および右画像(30a))と比較して4にダウンスケーリングされる。もちろん、入力画像と同じサイズの視差マップを得ることもできる。このような視差マップを得る場合は、視差精製ユニット(40b)の出力にアップスケーリングユニット(
図6のアップスケーリングユニット(120)および(130)と同様)を適用する必要がある;ここで、アップスケーリングユニットは4のアップスケーリング係数を適用し、視差マップの解像度と、同時に、同じアップスケーリング係数による変位ベクトルの大きさ(例えば、視差値)の両方を増加させる。
【0142】
したがって、追加ユニット(128)において、コンパレータユニット(126)で得られた視差マップ補正と、前のレベルの視差マップ(46e)のアップスケーリングされたバージョンが追加され、それにより、精製視差マップが得られる。上記のアプローチによれば、前のレベルの視差マップは、視差精製ユニット(40d)においてピクセルごとに補正される。
【0143】
要約すると、階層構造が本発明に係る方法および装置に適用されるので、一実施形態では、各レベルで、対応する特徴マップ間の少数の可能なシフトのみを処理する必要がある。このため、それぞれの実施形態の方法および装置は、2つの画像間の視差マップを計算するための迅速な方法を提供する。全ての特徴スケールで、左右の特徴は特別な方法で比較される。この方法は、迅速であり、学習が容易であり、且つカメラ調整の小さなエラーに対して高い耐性を有する。
【0144】
本発明に係る方法および装置では、階層構造は、異なるスケールでベースネットワークの特徴を利用する。上記の考慮事項を要約すると、次のスケール上のコンパレータは、残差補正係数のみを処理する必要があり、その結果、適用されるべきシフトの数がはるかに少なくなり、実行時間が大幅に早くなる。特徴マップを互いに比較する場合、左特徴マップと右特徴マップの一方が参照(Fref)として選択され、もう一方(Fc)が参照と比較される。Fcは、特徴階層の特定のレベル(典型的に、レベルごとに最大5つの可能な視差値)で全ての可能な視差値(すなわち、ベクトルで表すこともできるシフト)によってシフトされ、全てのシフトでFrefと比較される。
【0145】
上記のように、本発明の実施形態の一部は、変位マップを生成するための(例えば、ステレオ画像ペアの視差マップを生成するための)装置に関する。本発明に係る方法の上記の実施形態は、本発明に係る装置の実施形態として記載することができる。
【0146】
したがって、本発明の装置の実施形態(
図3を参照)において、
-変位ユニット(40e)は、特徴マップのベースペアの第1の特徴マップに複数の異なるシフトを適用することによって、特徴マップのベースペアの第1の特徴マップの複数のシフト特徴マップを生成するために適合された第1のシフターユニット(
図3の視差ユニット(40e)およびシフターユニット(62)(67))を含み、および
―第1のコンパレータユニット(
図3のコンパレータユニット(64)(74))は、特徴マップのベースペアの第1の特徴マップの複数のシフト特徴マップと特徴マップのベースペアの第2の特徴マップとの間のマッチングを調査することに基づいて、特徴マップのベースペアの第2の特徴マップの各データ要素(ピクセル)位置のための合成シフトを生成することによって、初期変位マップを得るために適合される。
を備える。
【0147】
本発明の装置のさらなる実施形態(前の実施形態と組み合わせることが可能;
図6を参照)において、
-変位精製ユニット(
図2の視差精製ユニット(40b)(40c)(40d)、またはこれらのうちの1つ以上)は、特徴マップの精製ペアの第1の特徴マップの変形バージョンに複数の異なるシフトを適用することによって、特徴マップの精製ペアの第1の特徴マップの複数のシフト特徴マップを生成するために、適合された第2のシフターユニット(
図6のシフターユニット(122)(132))を含み、および
-第2のコンパレータユニット(
図6のコンパレータユニット(126)(136))は、特徴マップのベースペアの第1の特徴マップの複数のシフト特徴マップと特徴マップのベースペアの第2の特徴マップとの間のマッチングを調査することに基づいて、特徴マップの精製ペアの第2の特徴マップの各データ要素(ピクセル)位置のための合成シフトを生成することによって、補正変位マップを得るために適合される。
【0148】
第1および第2の入力データセットと同様に、「第1」および「第2」の指定用語は、第1/第2のコンパレータユニットまたは第1/第2のシフターユニットについて言及するときにのみ、変位ユニットおよび変位精製ユニット(例えば、視差ユニットと視差精製ユニット)の両方が各自のサブユニットを有することを表わす。この命題は、内部構造(実現)自体がそれぞれの第1のユニットと第2のユニットで異なる必要があることを意味するものではない。実際には、それぞれの第1および第2のシフターユニットの内部構造は、同じであることが好ましい;コンパレータユニットにおいて、例えば、コンボリューションの好ましく適用された重み付け(
図5Aおよび5Bの第1と第2の比較コンボリューションユニット(84)(94)を参照)が異なっていてもよい。
【0149】
好ましくは、前の2つの実施形態のいずれかにおいて(
図5Aおよび5Bを参照)、そのシフト数が異なるシフト値の数である複数のシフト特徴マップを、参照特徴マップ(80)として機能する第2の特徴マップとマッチングさせるために、
-初期変位マップとして適用するための出力変位マップを生成するための第1のコンパレータユニット、及び/又は補正変位マップとして適用するための出力変位マップを生成するための第2のコンパレータユニットは、
-第1の中間比較データマップを得るために、参照特徴マップ(80)に適用するように適合された第1の比較コンボリューションユニット(84)と、
-複数の第2の中間比較データマップを得るために、複数のシフト特徴マップそれぞれに適用するように適合された第2の比較コンボリューションユニット(94)と、
-合成比較データマップを得るために、異なるシフトの数および複数の第2の中間比較データマップの数に従って(バーチャルにまたは物理的に)複製された第1の中間比較データマップを追加するように、適合された追加ユニット(98)と、
-合成シフト生成ユニット(例えば、
図5Bの合成シフト生成ユニット(C2_A)(C2_B)(C2_C)を参照)であって、少なくとも1つの空間次元及び/又は時間次元の全てにおいて、合成比較データマップの各データ要素のそれぞれの合成シフトを生成するように、且つ出力変位マップにおける対応データ要素(すなわち、合成比較データマップにおけるそのデータ要素に従う)にそれぞれの合成シフトの全てを割り当てるように、適合された合成シフト生成ユニットを備える。
【0150】
したがって、ユニット(84)(94)(98)と合成シフト生成ユニットは第1のコンパレータユニット及び/又は第2のコンパレータユニットに含まれる。これらのユニットの目的は、さまざまな目的のために出力変位(視差など)マップを生成することであり、すなわち、出力変位マップは、変位ユニットの第1のコンパレータユニットの初期変位マップ自体であり、変位精製ユニットの第2のコンパレータユニットの補正変位マップである。
【0151】
好ましくは、前の実施形態において、合成シフト生成ユニット(合成シフト生成ユニット(C2_A)は実施形態の例である)はシフト調査コンボリューションユニット(104)を備えており、このシフト調査コンボリューションユニット(104)は、少なくとも1つの空間次元及び/又は時間次元の全てにおいて、合成比較データマップの各データ要素のためのそれぞれの合成シフトを生成するために、合成比較データマップに適用するように、且つ出力変位マップにおける対応データ要素(すなわち、合成比較データマップにおけるそのデータ要素に従う)にそれぞれの合成シフトを割り当てるように、適合されている。
【0152】
特に、前の実施形態において、特徴マップは1つ以上の特徴チャネルを有し、第1のコンパレータユニット及び/又は第2のコンパレータユニットは、シフト調整コンボリューションユニット(104)を適用する前に、特徴マップの1つ以上の特徴チャネルによって合成比較データマップをスタックするように適合されたスタックユニット(102)を備える。
【0153】
合成シフト生成ユニットのさらなる代替案を使用し、少なくとも1つの空間次元及び/又は時間次元の全てにおいて、合成比較データマップの各データ要素のためのそれぞれの合成シフトは、複数の異なるシフトから最もマッチングするシフトを選択することにより、合成シフト生成ユニット(合成シフト生成ユニット(C2_B)は実施形態のための例である)によって生成される。
【0154】
合成シフト生成ユニットのさらなる代替案を使用し、少なくとも1つの空間次元及び/又は時間次元の全てにおいて、合成比較データマップの各データ要素のためのそれぞれの合成シフトは、
-異なる可能なシフト値ごとに複数の変位ビンを確立し、
-変位ビンごとに変位確率を生成し、合成比較データマップに基づいて変位確率を計算し、
-対応変位確率によって可能な変位値を重み付けすることで、合成シフトを得ることによって、合成シフト生成ユニット(合成シフト生成ユニット(C2_B)は実施形態のための例である)により、生成される。
【0155】
好ましくは、前の5つの実施形態のいずれかにおいて、装置(つまり、比較マップ生成ユニット(C1))は、少なくとも1つの空間次元及び/又は時間次元の全てにおいて、合成比較データマップの各データ要素のためのそれぞれの合成シフトを生成する前の合成比較データマップに適用するように適合された非線形性層を備える。
【0156】
本発明に係る装置の一実施形態において、好ましくは、特徴マップは1つ以上の特徴チャネルを有し、変位ユニット及び/又は変位精製ユニットは、特徴マップの1つ以上の特徴チャネルを考慮することによってマッチングを実行するように、且つ入力データセットの少なくとも1つの空間次元及び/又は時間次元の数と同じ又はそれ未満の数の座標チャネルで、初期変位マップ及び補正変位マップを別個に生成するように適合される(
図2の実施形態の場合、視差マップは、一方向へのシフトのみを含むことができるので、単一の座標チャネルを有する[シフトは単一の数である])。したがって、初期変位マップと補正変位マップ(これらは同じチャネル数を有する)は、タスクによって制約されない限り、空間次元/時間次元の数と同じ数の座標チャネルを有する。
【0157】
本発明に係る装置のさらなる実施形態(参照番号については、
図2を参照)、変位ユニット(例えば初期変位マップ)は第1の初期変位マップと第2の初期変位マップのペアを生成するように適合され、変位精製ユニット(視差精製ユニット(40b)(40c)(40d))は、第1の初期変位マップと第2の初期変位マップのペアおよび第1の補正変位マップとそのそれぞれの第2のコンパレータユニットにより生成される第2の補正変位マップとのペアに基づいて、第1の更新変位マップと第2の更新変位マップとのペアを生成するように適合される。
【0158】
本装置の一実施形態(図に示されている実施形態のように)において、入力データセットペアはステレオ画像ペアであり、変位マップは視差マップであり、変位ユニットは視差ユニットであり、変位精製ユニットは視差精製ユニットである。
【0159】
もちろん、本発明は、上記の詳述した好ましい実施形態に限定されないが、特許請求の範囲によって定められる保護の範囲内で、さらなる変形、修正、および開発が可能である。さらに、任意の従属クレームの組み合わせによって定義できる全ての実施形態は、本発明の範囲内にある。