(57)【特許請求の範囲】
【請求項１】
単一画像を双眼画像の第１の画像とし、第１のニューラルネットワークを介して前記第１の画像に基づいて前記双眼画像の第２の画像を取得するステップと、
第２のニューラルネットワークを介して、前記第１の画像と前記第２の画像に対して双眼ステレオマッチングを行うことにより、前記第１の画像に対応する深度情報を取得するステップと、を含み、
前記第１の画像と前記第２の画像に対して双眼ステレオマッチングを行うことにより、前記第１の画像に対応する深度情報を取得するステップは、
前記双眼画像の一画像の別の画像における画素に対する位置関係を示すための相関係数を取得するステップであって、前記双眼画像の一画像は前記第１の画像又は前記第２の画像を含み、前記別の画像は前記第２の画像又は前記第１の画像を対応的に含むステップと、
前記別の画像と前記相関係数に基づいて前記第１の画像と前記第２の画像の視差マップを生成するステップと、
前記視差マップに基づいて前記第１の画像に対応する深度情報を取得するステップと、を含むことを特徴とする深度推定方法。
【請求項２】
前記第１のニューラルネットワークを介して前記第１の画像に基づいて前記双眼画像の第２の画像を取得するステップは、
前記第１のニューラルネットワークを介して前記第１の画像を処理し、Ｎ個のチャンネルの視差確率マップを出力するステップであって、それぞれのチャンネルの視差確率マップは、前記第１の画像において画素が第１の水平方向にｉ個の視差ずれる確率を示し、ｉ＝０、１、…、Ｎ−１であり、Ｎの値が１より大きい整数であるステップと、
前記Ｎ個のチャンネルの視差確率マップに従って、前記第１の画像をそれぞれ第１の水平方向にｉ個の画素ずれ、Ｎ枚のずれマップを取得するステップと、
前記Ｎ枚のずれマップのそれぞれに、対応するチャンネルの視差確率マップをドット乗算し、Ｎ個のドット乗算結果を取得するステップと、
前記Ｎ個のドット乗算結果を画素に基づいて重畳し、前記第２の画像を取得するステップと、を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１のニューラルネットワークを介して前記第１の画像を処理し、Ｎ個のチャンネルの視差確率マップを出力するステップは、
それぞれ前記第１のニューラルネットワーク中の少なくとも２つのネットワーク深度のネットワーク層によって前記第１の画像に対して特徴抽出を行い、少なくとも２つのスケールの特徴マップを取得するステップと、
前記少なくとも２つのスケールの特徴マップに基づいて少なくとも２つの解像度且つＮ個のチャンネルの予備視差確率マップをそれぞれ取得するステップと、
それぞれのチャンネルについて、前記少なくとも２つの解像度の予備視差確率マップを前記第１の画像の解像度に拡大して重畳し、前記Ｎ個のチャンネルの視差確率マップを取得するステップと、を含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記双眼画像の一画像の別の画像における画素に対する位置関係を示すための相関係数を取得するステップは、
それぞれ前記一画像と前記別の画像に対して特徴抽出を行うステップと、
抽出された前記一画像の特徴と前記別の画像の特徴に基づいて、前記一画像と前記別の画像における画素の位置関係を取得し、前記双眼画像の一画像の別の画像における画素に対する位置関係を示すための前記相関係数を出力するステップと、を含み、
前記別の画像と前記相関係数に基づいて第１の画像と前記第２の画像の視差マップを生成するステップは、
前記別の画像の特徴と前記相関係数を重畳し、前記第１の画像と前記第２の画像の視差マップを生成するステップを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記別の画像の特徴と前記相関係数を重畳し、前記第１の画像と前記第２の画像の視差マップを生成するステップは、
前記別の画像の特徴と前記相関係数を重畳し、重畳結果を取得するステップと、
前記重畳結果の特徴を抽出し、抽出された前記重畳結果の特徴と前記重畳結果を融合し、前記第１の画像と前記第２の画像の視差マップを取得するステップと、を含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記第１の画像に対応する前記深度情報と前記第２の画像に基づいて、前記第１の画像におけるシーンの３次元空間シーンを取得するステップを更に含むことを特徴とする請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記第１のニューラルネットワークは、少なくとも１組の第１のサンプル双眼画像を含む第１のサンプル集合中のサンプル双眼画像を用いて予めトレーニングして得られ、及び／又は、
前記第２のニューラルネットワークは、少なくとも１組の第２のサンプル双眼画像と視差マップラベルを含む第２のサンプル集合中のサンプル双眼画像を用いて予めトレーニングして得られることを特徴とする請求項１〜６のいずれか一項に記載の方法。
【請求項８】
前記第１のニューラルネットワークのトレーニングは、
前記第１のニューラルネットワークを介して、前記少なくとも１組の第１のサンプル双眼画像の第１の画像から、前記少なくとも１組の第１のサンプル双眼画像の第２の画像を取得、出力するステップと、
前記第１のニューラルネットワークから出力される第２の画像と前記少なくとも１組の第１のサンプル双眼画像の第２の画像との第１の差を取得し、第１のトレーニング終了条件が満たされるまで、前記第１の差に基づいて前記第１のニューラルネットワークをトレーニングするステップと、を含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記第２のニューラルネットワークのトレーニングは、
前記第２のニューラルネットワークを介して、前記少なくとも１組の第２のサンプル双眼画像の視差マップを取得、出力するステップと、
前記第２のニューラルネットワークから出力される視差マップと前記少なくとも１組の第２のサンプル双眼画像の視差マップラベルとの第２の差を取得し、第２のトレーニング終了条件が満たされるまで、前記第２の差に基づいて前記第２のニューラルネットワークをトレーニングするステップと、を含むことを特徴とする請求項７又は８に記載の方法。
【請求項１０】
前記第１のニューラルネットワークと前記第２のニューラルネットワークのトレーニングは、
第３のサンプル集合中のサンプル双眼画像と第３のサンプル画像に対応する深度マップラベルを用いて前記第１のニューラルネットワークと前記第２のニューラルネットワークをトレーニングするステップを更に含み、
前記第３のサンプル集合は少なくとも１組の第３のサンプル双眼画像と第３のサンプル画像に対応する深度マップラベルを含むことを特徴とする請求項７〜９のいずれか一項に記載の方法。
【請求項１１】
単一画像を双眼画像の第１の画像とし、第１のニューラルネットワークを介して前記第１の画像に基づいて前記双眼画像の第２の画像を取得するための画像取得モジュールと、
第２のニューラルネットワークを介して、前記第１の画像と前記第２の画像に対して双眼ステレオマッチングを行うことにより、前記第１の画像に対応する深度情報を取得するためのステレオマッチングモジュールと、を含み、
前記ステレオマッチングモジュールは、第１の取得ユニット、生成ユニット及び第３の取得ユニットを含み、
前記第１の取得ユニットは、前記双眼画像の一画像の別の画像における画素に対する位置関係を示すための相関係数を取得するために用いられ、前記双眼画像の一画像は前記第１の画像又は前記第２の画像を含み、前記別の画像は前記第２の画像又は前記第１の画像を対応的に含み、
前記生成ユニットは、前記別の画像と相関係数に基づいて、前記第１の画像と前記第２の画像の視差マップを生成するために用いられ、
前記第３の取得ユニットは、前記視差マップに基づいて前記第１の画像に対応する深度情報を取得することを特徴とする深度推定装置。
【請求項１２】
実行可能コマンドを記憶するためのメモリと、
前記メモリと通信して前記実行可能コマンドを実行して請求項１〜１０のいずれか一項に記載の方法の操作を完成するためのプロセッサと、を含むことを特徴とする電子機器。
【請求項１３】
コンピュータ読取可能コマンドを記憶するためのコンピュータ可読記憶媒体であって、前記コマンドが実行される時に、請求項１〜１０のいずれか一項に記載の方法における操作が実現されることを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本開示は、２０１８年２月１日に中国特許局に提出された、出願番号ＣＮ２０１８１０１０３１９５．０、発明の名称「深度推定方法及び装置、電子機器、プログラム並びに媒体」の中国特許出願の優先権を主張し、その開示の全てが参照によって本開示に組み込まれる。
【０００２】
本開示は、コンピュータビジョン技術に関し、特に、深度推定方法及び装置、電子機器、コンピュータプログラム並びにコンピュータ可読記憶媒体に関する。
【背景技術】
【０００３】
深度推定は、コンピュータビジョン分野での重要な課題となっている。正確な深度推定方法は、例えば、自動運転、３次元シーンの再構成及び拡張現実等の多くの分野に重要な利用価値を有している。
【０００４】
畳み込みニューラルネットワークが発展するにつれて、深度推定の関連技術は推し進められて高速に発展している。
【発明の概要】
【０００５】
本開示の実施例は、深度推定の技術的手段を提供する。
【０００６】
本開示の実施例の一態様によれば、
単一画像を双眼画像の第１の画像とし、第１のニューラルネットワークを介して前記第１の画像に基づいて前記双眼画像の第２の画像を取得するステップと、
第２のニューラルネットワークを介して、前記第１の画像と前記第２の画像に対して双眼ステレオマッチングを行うことにより、前記第１の画像に対応する深度情報を取得するステップと、を含む深度推定方法を提供する。
【０００７】
本開示の実施例の別の態様によれば、
単一画像を双眼画像の第１の画像とし、第１のニューラルネットワークを介して前記第１の画像に基づいて前記双眼画像の第２の画像を取得するための画像取得モジュールと、
第２のニューラルネットワークを介して、前記第１の画像と前記第２の画像に対して双眼ステレオマッチングを行うことにより、前記第１の画像に対応する深度情報を取得するためのステレオマッチングモジュールと、を含む深度推定装置を提供する。
【０００８】
本開示の実施例のまた１つの態様によれば、
実行可能コマンドを記憶するためのメモリと、
前記メモリと通信して前記実行可能コマンドを実行して本開示の上記のいずれか１つの実施例に記載の方法の操作を完成するためのプロセッサと、を含む電子機器を提供する。
【０００９】
本開示の実施例の更に別の態様によれば、コンピュータ可読コードを含むコンピュータプログラムであって、前記コンピュータ可読コードが機器上で作動する時に、前記機器におけるプロセッサが本開示の上記のいずれか１つの実施例に記載の方法における操作を実現するためのコマンドを実行するコンピュータプログラムを提供する。
【００１０】
本開示の実施例の更に別の態様によれば、コンピュータ読取可能コマンドを記憶するためのコンピュータ可読記憶媒体であって、前記コマンドが実行される時に、本開示の上記のいずれか１つの実施例に記載の方法における操作が実現されるコンピュータ可読記憶媒体を提供する。
【００１１】
本開示の上記実施例で提供される深度推定方法及び装置、電子機器、コンピュータプログラム並びにコンピュータ可読記憶媒体によれば、単一画像を双眼画像の第１の画像とし、第１のニューラルネットワークを介して、第１の画像に基づいて双眼画像の第２の画像を取得し、第２のニューラルネットワークを介して、第１の画像と第２の画像に対して双眼ステレオマッチングを行うことで、第１の画像に対応する深度情報を取得するようになっており、このようして単一画像に基づいて該単一画像におけるシーンの深度推定が実現され、双眼カメラが必要とされなく、双眼カメラによる余計なハードウェアオーバーヘッドが避けられ、コストが低減され、また、双眼カメラの不正確な設定に起因する取得された深度情報のエラーを回避可能であり、深度推定の正確性が高められた。
【００１２】
以下、図面及び実施例を通じて本開示の技術的手段をさらに詳しく説明する。
【図面の簡単な説明】
【００１３】
明細書の一部を構成する図面は、本開示の実施例を説明し、その説明と共に本開示の原理を解釈することに用いられる。
【００１４】
図面を参照し、以下の詳細な説明により本開示をより明瞭に理解することができる。
【図１】本開示の深度推定方法の一実施例のフローチャートである。
【図２】本開示の深度推定方法の別の実施例のフローチャートである。
【図３】本開示の深度推定方法の一適用実施例のフローチャートである。
【図４】図３に示す実施例に対応する例示的ブロック図である。
【図５】本開示の深度推定装置の一実施例の構成模式図である。
【図６】本開示の深度推定装置の別の実施例の構成模式図である。
【図７】本開示の深度推定装置のまた１つの実施例の構成模式図である。
【図８】本開示の電子機器の一適用実施例の構成模式図である。
【発明を実施するための形態】
【００１５】
ここで、図面を参照しながら本開示の様々な例示的な実施例を詳細に説明する。なお、特に断らない限り、これらの実施例で記述した部材及び操作の相対的配置、数式及び値は本開示の範囲を限定するものではないことに注意すべきである。
【００１６】
同時に、説明の便宜上、図面に示した各部分の寸法は実際の比例関係に従って描いたものではないことを理解すべきである。
【００１７】
以下の少なくとも一つの例示的な実施例に対する説明は実際に説明的なものに過ぎず、本開示及びその適用または使用へのなんらの制限にもならない。
【００１８】
関連分野の当業者に既知の技術、方法及び機器については、詳細に説明しない場合があるが、場合によって、前記技術、方法及び機器は明細書の一部と見なすべきである。
【００１９】
なお、類似する符号及び英文字は以下の図面において類似項目を表し、従って、ある一項が一つの図面において定義されれば、以降の図面においてそれをさらに説明する必要がないことに注意すべきである。
【００２０】
本開示の実施例は端末装置、コンピュータシステム、サーバ等の電子機器に適用可能であり、それは他の様々な共通または専用計算システム環境または構成と共に動作可能である。端末装置、コンピュータシステム、サーバ等の電子機器との併用に適する公知の端末装置、計算システム、環境及び／または構成の例は、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、ファットクライアント、手持ちまたはラップトップデバイス、マイクロプロセッサに基づくシステム、セットトップボックス、プログラマブル消費者用電子機器、ネットワークパソコン、小型コンピュータシステム、大型コンピュータシステム及び前記の任意のシステムを含む分散型クラウドコンピューティング技術環境などを含むが、これらに限定されない。
【００２１】
端末装置、コンピュータシステム、サーバ等の電子機器はコンピュータシステムにより実行されるコンピュータシステム実行可能コマンド（例えば、プログラムモジュール）の一般的な言語環境において記述できる。通常、プログラムモジュールはルーチン、プログラム、目的プログラム、コンポーネント、ロジック、データ構造などを含んでよく、それらは特定のタスクを実行するかまたは特定の抽象データ型を実現する。コンピュータシステム／サーバは分散型クラウドコンピューティング環境において実施でき、分散型クラウドコンピューティング環境において、タスクは通信ネットワークにわたってリンクされた遠隔処理機器により実行される。分散型クラウドコンピューティング環境において、プログラムモジュールは記憶機器を含むローカルまたは遠隔計算システムの記憶媒体に存在してよい。
【００２２】
図１は本開示の深度推定方法の一実施例のフローチャートである。図１に示すように、該実施例の深度推定方法は以下のステップを含む。
【００２３】
１０２において、単一画像を双眼画像の第１の画像とし、第１のニューラルネットワークを介して該第１の画像に基づいて双眼画像の第２の画像を取得する。
【００２４】
双眼画像は双眼カメラにより撮影される２枚の画像又は複眼カメラにより撮影される複数枚の画像のうちの２枚の画像であり、左画像と右画像と呼んでもよい。ここで、第１の画像が左画像である時に、第２の画像が右画像となり、又は、第１の画像が右画像である時に、第２の画像が左画像となる。また、双眼画像は主画像と副画像と呼んでもよく、双眼画像のうちのいずれか１枚の画像を主画像とする時に、他方の画像が副画像となる。
【００２５】
選択可能な一例において、該操作１０２はプロセッサによりメモリに記憶された対応のコマンドを呼び出して実行されてもよく、プロセッサにより作動する画像取得モジュールによって実行されてもよい。
【００２６】
１０４において、第２のニューラルネットワークを介して、上記第１の画像と第２の画像に対して双眼ステレオマッチングを行うことで、上記第１の画像に対応する深度情報を取得する。
【００２７】
本開示の少なくとも１つの実施例では、第１のニューラルネットワーク、第２のニューラルネットワークは、それぞれ例えば多層畳み込みニューラルネットワークのような多層ニューラルネットワーク（即ち、深層ニューラルネットワーク）であってよく、例えばＬｅＮｅｔ、ＡｌｅｘＮｅｔ、ＧｏｏｇＬｅＮｅｔ、ＶＧＧ、ＲｅｓＮｅｔ等の任意のニューラルネットワークであってよい。第１のニューラルネットワークと第２のニューラルネットワークは同様な類型と構成のニューラルネットワークを採用してもよく、異なる類型と構成のニューラルネットワークを採用してもよい。
【００２８】
選択可能な一例において、該操作１０４はプロセッサによりメモリに記憶された対応のコマンドを呼び出して実行されてもよく、プロセッサにより作動するステレオマッチングモジュールによって実行されてもよい。
【００２９】
本開示を実現する過程では、発明者は研究することで、現在の深度推定方法を主に２種類に分けられることを分かった。大量の画素レベルの深度ラベルを用いてニューラルネットワークを監視し、トレーニングされたニューラルネットワークによって取得し深度推定を行うのが一種であり、しかしながら、深度ラベルの取得に極めて大きいコストがかかるだけでなく、従来の技術により高品質且つ稠密な深度ラベルを得ることができない。双眼ステレオマッチングに基づく深度推定方法が別の一種であり、このような深度推定方法では、異なる方位で撮影された２枚の画像が入力とされ、幾何学的空間の規則に基づいて、深度が２枚の画像の対応画素の視差の計算によって取得可能である。しかしながら、このような予測方法は、正確率が双眼カメラの設定に限定され、更に双眼カメラを必要とするため余計なハードウェアオーバーヘッドが発生する。本開示の上記実施例で提供される深度推定方法によれば、単一画像を双眼画像の第１の画像とし、第１のニューラルネットワークを介して、第１の画像に基づいて双眼画像の第２の画像を取得し、第２のニューラルネットワークを介して第１の画像と第２の画像に対して双眼ステレオマッチングを行うことで、深度情報を取得するようになっており、このようにして単一画像に基づいて該単一画像におけるシーンの深度推定が実現され、双眼カメラが必要とされなく、双眼カメラによる余計なハードウェアオーバーヘッドが避けられ、コストが低減され、また、双眼カメラの不正確な設定に起因する取得された深度情報のエラーを回避可能であり、深度推定の正確性が高められた。
【００３０】
図２は本開示の深度推定方法の別の実施例のフローチャートである。図２に示すように、該実施例の深度推定方法は以下のステップを含む。
【００３１】
２０２において、単一画像を双眼画像の第１の画像とし、第１のニューラルネットワークを介して該第１の画像を処理し、Ｎ個のチャンネルの視差確率マップを出力する。
【００３２】
ここで、Ｎ個のチャンネルのそれぞれが異なる視差に対応し、それぞれのチャンネルの視差確率マップは第１の画像において画素が第１の水平方向にｉ個の視差ずれる確率を示し、確率の正規化を行った後、同一の画素の全てのチャンネルでの確率値の和は１；ｉ＝０、１、…、Ｎ−１になり、Ｎの値が１より大きい整数である。第１の画像が左画像である時に、第１の水平方向が水平に左に向く方向であり、第１の画像が右画像である時に、第１の水平方向が水平に右に向く方向である。即ち、第１の画像が左画像である時に、ｉ番目のチャンネルの視差確率マップは該左画像において画素が水平に左へあるｉ個の視差ずれる確率を示し、例えば、Ｎの値を５とし、第１の画像を左画像とすれば、１、２、３、４、５番目のチャンネルの視差確率マップはそれぞれ該左画像において画素が水平に左へ０、１、２、３、４個の視差ずれる確率を示し、該左画像におけるある画素が水平に左へ０、１、２、３、４個の視差ずれる確率は例えばそれぞれ０．３、０．４、０．２、０．１及び０であってよい。
【００３３】
選択可能な一例において、該操作２０２はプロセッサによりメモリに記憶された対応のコマンドを呼び出して実行されてもよく、プロセッサにより作動する画像取得モジュールの第１のサブニューラルネットワークユニットによって実行されてもよい。
【００３４】
２０４において、上記Ｎ個のチャンネルの視差確率マップに従って、第１の画像をそれぞれ第１の水平方向にｉ個の画素ずれ、Ｎ枚のずれマップを取得する。
【００３５】
ここで、ｉ＝０、１、…、Ｎ−１であり、Ｎの値が１より大きい整数である。
【００３６】
選択可能な一例において、該操作２０４はプロセッサによりメモリに記憶された対応のコマンドを呼び出して実行されてもよく、プロセッサにより作動する画像取得モジュールのずれユニットによって実行されてもよい。
【００３７】
２０６において、上記Ｎ枚のずれマップのそれぞれに、対応するチャンネルの視差確率マップをドット乗算し、Ｎ個のドット乗算結果を取得する。
【００３８】
選択可能な一例において、該操作２０６はプロセッサによりメモリに記憶された対応のコマンドを呼び出して実行されてもよく、プロセッサにより作動する画像取得モジュールのドット乗算ユニットによって実行されてもよい。
【００３９】
２０８において、上記Ｎ個のドット乗算結果を画素に基づいて重畳し、上記双眼画像の第２の画像を取得する。
【００４０】
双眼カメラにより撮影された左、右画像が基本的な空間規則を守るので、双眼画像の第１の画像が双眼カメラにより撮影された左画像である時に、双眼画像の第２の画像が双眼カメラにより撮影された右画像となり、又は、双眼画像の第１の画像が双眼カメラにより撮影された右画像である時に、双眼画像の第２の画像が双眼カメラにより撮影された左画像となるので、本開示の実施例で取得された第２の画像と第１の画像の対応画素の視差が空間何学的規則性を守る。本開示の実施例の一実施形態では、第１の画像における前景オブジェクトに対応する画素の、視差確率マップでの対応画素位置は、大視差のチャンネルに対応する視差確率マップにおいて大きい確率値を有し、第１の画像における背景オブジェクトに対応する画素の、視差確率マップでの対応画素位置は、小視差のチャンネルに対応する視差確率マップにおいて大きい確率値を有する。例えば、第１の画像に背景と前景オブジェクトとする顔とを含み、顔に対応する画素はＮ個のチャンネルの視差確率マップのうち大視差チャンネルに対応する視差確率マップでの確率値が０．８であり、Ｎ個のチャンネルの視差確率マップのうち小視差チャンネルに対応する視差確率マップでの確率値が０．１であり、背景に対応する画素はＮ個のチャンネルの視差確率マップのうち小視差チャンネルに対応する視差確率マップでの確率値が０．９であり、Ｎ個のチャンネルの視差確率マップのうち大視差チャンネルに対応する視差確率マップでの確率値が０である。
【００４１】
選択可能な一例において、該操作２０８はプロセッサによりメモリに記憶された対応のコマンドを呼び出して実行されてもよく、プロセッサにより作動する画像取得モジュールの加算ユニットによって実行されてもよい。
【００４２】
２１０において、第２のニューラルネットワークによって、双眼画像の一画像の別の画像における画素に対する位置関係を示すための相関係数を取得する。
【００４３】
第１の画像の画素を第１の水平方向に移動すれば第２の画像の画素を取得できるため、第１の画像のそれぞれの画素位置をそれぞれ変数と見なしてもよく、該変数の値は視差確率マップにおける対応視差の値となり、０、１、…、Ｎ−１の合計Ｎ個の値であってよい。第１の画像のそれぞれの画素位置の変数と第２の画像における隣接するｄ個の画素位置の変数の相関係数を取得し且つ対応の画素位置とチャンネルに保存し、第１の画像における全ての画素位置の相関係数によれば第１の画像の第２の画像における画素に対する位置関係の相関係数を取得することができる。ここで、ｄの値は整数であり、例えば−４０〜＋４０の値を取ることができる。双眼画像の一画像の別の画像における画素に対する位置関係の相関係数は一画像における全ての画素位置の変数と第２の画像における隣接するｄ個の画素位置の変数の相関係数を含み、それはＷ＊Ｈ＊Ｎの相関係数マップ又は相関係数行列で示してもよい。ここで、Ｗ、Ｈ、Ｎはそれぞれ画像の幅、高さ及びチャンネル数を示し、Ｗ、Ｈ、Ｎの値が全て０より大きい整数である。
【００４４】
上記一画像を左画像とし、別の画像を右画像とすれば、左画像と右画像が鉛直方向に揃っているため、左画像の画素を水平方向に左へ移動すれば右画像の画素が得られる。従って、水平方向に少なくとも１つの画素位置の相関係数を計算すれば水平方向に左右画像に対応する画素をより好適にマッチングすることができる。
【００４５】
ここで、双眼画像の一画像は第１の画像又は第２の画像を含み、別の画像は対応的に該双眼画像の第２の画像又は第１の画像である。
【００４６】
選択可能な一例において、該操作２１０はプロセッサによりメモリに記憶された対応のコマンドを呼び出して実行されてもよく、プロセッサにより作動するステレオマッチングモジュールの第１の取得ユニットによって実行されてもよい。
【００４７】
２１２において、別の画像と相関係数に基づいて、第１の画像と第２の画像の視差マップ（ｄｉｓｐａｒｉｔｙ）を生成する。
【００４８】
ここで、視差マップにおける少なくとも１つの画素の値はそれぞれ第１の画像撮影シーンでのある点の視差を示し、即ち、このある点の第１の画像座標系での座標と第２の画像座標系での座標との差を示す。
【００４９】
選択可能な一例において、該操作２１２はプロセッサによりメモリに記憶された対応のコマンドを呼び出して実行されてもよく、プロセッサにより作動するステレオマッチングモジュールの生成ユニットによって実行されてもよい。
【００５０】
２１４において、上記視差マップに基づいて第１の画像に対応する深度情報を取得する。
【００５１】
本開示の実施例のまた１つの実施形態では、上記視差マップとカメラパラメータに基づいて上記第１の画像に対応する深度情報を取得することができ、例えば、上記視差マップ、第１の画像を撮影するカメラの焦点距離及び双眼画像に対応する双眼カメラ間の距離に基づいて、上記第１の画像に対応する深度情報を取得することができる。
【００５２】
例えば、式Ｚ＝ｆ×Ｂ／Ｄｉｓｐにより上記第１の画像に対応する深度情報を取得することができるが、それに限定されない。
【００５３】
ただし、Ｄｉｓｐは予測視差マップを表し、ｆは第１の画像を撮影するカメラの焦点距離を表し、Ｂは双眼カメラ間の距離を表し、Ｚは予測しようとする単眼全体深度マップを表す。
【００５４】
選択可能な一例において、該操作２１４はプロセッサによりメモリに記憶された対応のコマンドを呼び出して実行されてもよく、プロセッサにより作動するステレオマッチングモジュールの第３の取得ユニットによって実行されてもよい。
【００５５】
本開示の実施例では、単眼深度推定課題が双眼ステレオマッチング解題に変換され、このような方式によって、難しい深度推定課題が２画像の類似画素点のマッチングの課題に変換され、このようなマッチングには単一画像における少なくとも２つの画素間の幾何学的関係の推測が必要とされなくなり、計算の複雑度が低くなった。また、本開示の実施例は、深度学習方法を用いて、第２の画像の合成と双眼ステレオマッチングという２種の操作をより好適に実現でき、更に、幾何学的変換を明示的に第１のニューラルネットワークと第２のニューラルネットワークに設置することによって操作結果の正確性を高めた。
【００５６】
本開示の実施例は単一画像を用いて対応の右画像を合成してから双眼ステレオマッチングを行うことによって、第１のニューラルネットワークと第２のニューラルネットワークをトレーニングする時に、大量の精密な深度ラベルを用いて監視することが必要とされなくなり、取得しやすい補正済み双眼画像を用いて第１のニューラルネットワーク（画像合成ネットワークと呼んでもよい）をトレーニングし、コンピュータによりレンダリングされた大量の双眼画像と深度マップを用いて第２のニューラルネットワーク（双眼ステレオマッチングネットワークと呼んでもよい）をトレーニングすればよく、大量の精密な深度ラベルと比べて、トレーニングデータオーバーヘッドを低くした。
【００５７】
本開示の実施例の一実施形態では、操作２０２において、第１のニューラルネットワークを介して第１の画像を処理し、視差確率マップを出力するステップは、
それぞれ第１のニューラルネットワーク中の２つ又は２つ以上のネットワーク深度のネットワーク層によって第１の画像に対して特徴抽出を行い、２つ又は２つ以上のスケール（即ち、大きさ）の特徴マップを取得するステップと、
上記２つ又は２つ以上のスケールの特徴マップに基づいて２つ又は２つ以上の解像度且つＮ個のチャンネルの予備視差確率マップをそれぞれ取得するステップと、
それぞれのチャンネルについて、上記２つ又は２つ以上の解像度の予備視差確率マップを第１の画像の解像度に拡大して重畳し、Ｎ個のチャンネルの視差確率マップを取得するステップと、を含んでもよく、本開示では、少なくとも２つとは２つ又は２つ以上を指す。
【００５８】
ニューラルネットワークのプーリング層効果によって、ニューラルネットワークの異なる段階で大きさ、解像度が異なる特徴マップが発生し、大きさ、解像度が異なる特徴マップに基づいて大きさ、解像度が異なる予備視差確率マップが発生可能であり、そのようにして深度情報予測のために異なる局所的な情報と全体的な情報を提供することに寄与する。
【００５９】
例えば、第１の画像はＷ＊Ｈ＊Ｎが２００＊２００＊３の赤緑青（ＲＧＢ）図であり、第１のニューラルネットワークの１つのネットワーク深度のネットワーク層によって１００＊１００＊６４の特徴マップを取得し、更に別のネットワーク深度のネットワーク層により５０＊５０＊１２８の特徴マップを取得し、これらの２つの異なる大きさの特徴マップに基づいて、大きさ、解像度が異なる予備視差確率マップが取得可能であり、例えば１００＊１００＊Ｎ及び５０＊５０＊Ｎの予備視差確率マップが取得される。ここで、第１の画像の解像度が２００＊２００であり、２つの予備視差確率マップの解像度がそれぞれ１００＊１００及び５０＊５０であり、２つの予備視差確率マップの解像度がそれぞれ第１の画像の解像度の１／２＊１／２、１／４＊１／４である。
【００６０】
本実施例によれば、第１のニューラルネットワークの２つ又は２つ以上のネットワーク深度のネットワーク層により抽出された特徴のサイズが異なり、ここで、ネットワーク深度が浅いネットワーク層により抽出された特徴は受容野が小さく、第１の画像における小さい領域の情報を体現し、ネットワーク深度が深いネットワーク層により抽出された特徴は受容野が大きく、第１の画像における大きい領域の情報、ないし全体的な情報を体現することができ、異なる解像度の特徴マップを用いて異なる視野域の情報を同時に提供することで、より精確な確率視差マップを生成することができる。
【００６１】
本開示の実施例の一実施形態では、操作２１０には以下のステップを含んでもよい。
【００６２】
それぞれ一画像と別の画像に対して特徴抽出を行う。例えば、畳み込みニューラルネットワークによって、それぞれ一画像と別の画像に対して特徴抽出を行い、
第２のニューラルネットワークによって、抽出された一画像の特徴と別の画像の特徴に基づいて、一画像と別の画像における画素の位置関係を取得し、且つ相関係数を出力する。
【００６３】
それに対して、本開示の実施例の別の実施形態では、操作２１２には、別の画像の特徴と相関係数を重畳し、第１の画像と第２の画像の視差マップを生成するステップを含んでよい。このようにして、単一画像だけで該単一画像撮影シーンの双眼画像での視差マップを取得することができ、難しい深度推定課題が２画像の類似画素点のマッチングの課題に変換され、このようなマッチングには単一画像における少なくとも２つの画素間の幾何学的関係の推測が必要とされなくなり、計算の複雑度が低くなった。更に、本実施例は深度学習方法を用いて、幾何学的変換を明示的に第２のニューラルネットワークに設置することによって操作結果の正確性を高めた。
【００６４】
選択可能に、本開示の実施例のまた１つの実施形態では、該操作２１２には、別の画像の特徴と相関係数を重畳し、例えば１つの特徴マップとなり得る重畳結果を取得するステップと、重畳結果の特徴を抽出し、抽出された重畳結果の特徴と重畳結果を融合し、第１の画像と第２の画像の視差マップを取得するステップと、を含んでもよい。
【００６５】
一実施形態では、畳み込みニューラルネットワークによって重畳結果の特徴を抽出してもよく、該畳み込みニューラルネットワークは、例えば、１層の畳み込み層と１層の活性化層（ＲｅＬｕ）を含んでよいが、それらに限定されない。該畳み込みニューラルネットワークは、例えば、符号化−復号化モデルによって実現可能であり、畳み込み層によって重畳結果に対して特徴抽出を行い、重畳結果と同様な大きさの特徴マップを取得し、該特徴マップと重畳結果を融合（ｃｏｎｃａｔ）し、第１の画像と第２の画像の視差マップを取得する。
【００６６】
本開示の実施例は、重畳結果に対して更なる特徴抽出を行うことによって受容野の範囲を拡大することができ、更に抽出された重畳結果の特徴を重畳結果と融合して第１の画像と第２の画像の視差マップを取得することで、視差マップは多い情報を融合して、より多い全体的な情報を取得することが可能になり、そのようにして後で予測される第１の画像に対応する深度情報を高めることに寄与する。
【００６７】
図３は本開示の深度推定方法の一適用実施例のフローチャートである。図４は図３に示す実施例に対応する例示的ブロック図である。該適用実施例では、それぞれ左画像、右画像を本開示の上記少なくとも１つの実施例における第１の画像と第２の画像として説明する。図３及び図４を参照し、該適用実施例は、以下のステップを含む。
【００６８】
３０２において、単一画像を双眼画像の左画像とし、第１のニューラルネットワークを介して該左画像を処理し、Ｎ個のチャンネルの視差確率マップを出力する。
【００６９】
ここで、それぞれのチャンネルは左画像における画素が水平向に左へｉ個の視差ずれる確率を示し、ｉ＝０、１、…、Ｎ−１であり、Ｎの値が１より大きい整数である。
【００７０】
選択可能な一例において、該操作３０２はプロセッサによりメモリに記憶された対応のコマンドを呼び出して実行されてもよく、プロセッサにより作動する画像取得モジュールの第１のサブニューラルネットワークユニットによって実行されてもよい。
【００７１】
３０４において、上記Ｎ個のチャンネルの視差確率マップに従って、左画像をそれぞれ第１の水平方向にｉ個の画素ずれ、Ｎ枚のずれマップを取得する。
【００７２】
選択可能な一例において、該操作３０４はプロセッサによりメモリに記憶された対応のコマンドを呼び出して実行されてもよく、プロセッサにより作動する画像取得モジュールのずれユニットによって実行されてもよい。
【００７３】
３０６において、上記Ｎ枚のずれマップのそれぞれに、対応するチャンネルの視差確率マップをドット乗算し、Ｎ個のドット乗算結果を取得する。
【００７４】
選択可能な一例において、該操作３０６はプロセッサによりメモリに記憶された対応のコマンドを呼び出して実行されてもよく、プロセッサにより作動する画像取得モジュールのドット乗算ユニットによって実行されてもよい。
【００７５】
３０８において、上記Ｎ個のドット乗算結果を画素に基づいて重畳し、双眼画像の右画像を取得する。
【００７６】
選択可能な一例において、該操作３０８はプロセッサによりメモリに記憶された対応のコマンドを呼び出して実行されてもよく、プロセッサにより作動する画像取得モジュールの加算ユニットによって実行されてもよい。
【００７７】
３１０において、第２のニューラルネットワークによって、それぞれ左画像と右画像に対して特徴抽出を行う。
【００７８】
選択可能な一例において、該操作３１０はプロセッサによりメモリに記憶された対応のコマンドを呼び出して実行されてもよく、プロセッサにより作動するステレオマッチングモジュールの第１の取得ユニットの第２のサブニューラルネットワークユニットによって実行されてもよい。
【００７９】
３１２において、第２のニューラルネットワークによって、抽出された左画像の特徴と右画像の特徴に基づいて、左画像と右画像における画素の位置関係を取得し、且つ相関係数を出力する。
【００８０】
選択可能な一例において、該操作３１２はプロセッサによりメモリに記憶された対応のコマンドを呼び出して実行されてもよく、プロセッサにより作動するステレオマッチングモジュールの第１の取得ユニットの取得サブユニットによって実行されてもよい。
【００８１】
３１４において、左画像の特徴と相関係数を重畳し、例えば１つの特徴マップとなり得る重畳結果を取得する。
【００８２】
選択可能に、左画像画素と揃う視差マップを取得するために、左画像から得られた特徴マップに対してニューラルネットワークによって更なる特徴抽出を行ってから、抽出された特徴と相関係数を重畳することができる。ここで、該ニューラルネットワークは、例えば、１層の畳み込み層と１層の活性化層から構成されてもよく、左画像から得られた特徴マップに対して更なる特徴抽出を行うことで受容野の範囲を拡大でき、更に処理された特徴マップ（ｆｅａｔｕｒｅ）を取得して相関係数と重畳することで、重畳結果により多い全体的な情報を含ませることが可能になって、後で取得される視差マップと深度情報の正確性を高める。
【００８３】
選択可能な一例において、該操作３１４はプロセッサによりメモリに記憶された対応のコマンドを呼び出して実行されてもよく、プロセッサにより作動するステレオマッチングモジュールの生成ユニットの重畳サブユニットによって実行されてもよい。
【００８４】
３１６において、第２のニューラルネットワークによって重畳結果の特徴を抽出し、抽出された重畳結果の特徴と重畳結果を融合し、第１の画像と第２の画像の視差マップを取得する。
【００８５】
選択可能な一例において、該操作３１６はプロセッサによりメモリに記憶された対応のコマンドを呼び出して実行されてもよく、プロセッサにより作動するステレオマッチングモジュールの生成ユニットの融合サブユニットによって実行されてもよい。
【００８６】
３１８において、上記視差マップ、第１の画像を撮影するカメラの焦点距離及び双眼画像に対応する双眼カメラ間の距離に基づいて、第１の画像に対応する深度情報を取得する。
【００８７】
選択可能な一例において、該操作３１８はプロセッサによりメモリに記憶された対応のコマンドを呼び出して実行されてもよく、プロセッサにより作動するステレオマッチングモジュールの第３の取得ユニットによって実行されてもよい。
【００８８】
本開示の上記少なくとも１つの実施例によれば、深度情報を取得した後、更に第１の画像に対応する深度情報と第２の画像に基づいて、該第１の画像におけるシーンの３次元空間シーンを取得してもよい。
【００８９】
本開示の実施例は、例えば、以下の態様に適用可能であるが、それらに限定されない。
【００９０】
１．単一画像に対して全体的深度推定を行う。
【００９１】
２．本開示の実施例は３次元シーンの再構成に利用可能であり、予測により得られる第１の画像に対応する深度情報（全体的深度マップと呼んでもよい）は、例えば、自動運転、３次元シーン回復、３Ｄ映画製作等の様々なシーンに適用可能である。本開示の実施例を用いれば、単一画像だけで好ましい効果を図ることができ、コストを低くした。
【００９２】
予測によって得られた第１の画像に対応する深度情報を用い、更に合成された右画像を組み合わせて用いて、原画像（即ち、第１の画像）におけるシーン全体の３次元空間シーンを回復することができ、回復した３次元空間シーンは、例えば、３Ｄ映画、自動運転等の多くのシーンに適用可能である。
【００９３】
選択可能に、本開示の上記少なくとも１つの実施例では、第１のニューラルネットワークは、第１のサンプル集合中のサンプル双眼画像を用いて予めトレーニングして得られてもよく、該第１のサンプル集合は少なくとも１組の第１のサンプル双眼画像を含み、及び／又は、第２のニューラルネットワークは、第２のサンプル集合中のサンプル双眼画像を用いて予めトレーニングして得られてもよい。
【００９４】
それに対して、本開示の上記少なくとも１つの実施例の前に、更に、
第１のサンプル集合中のサンプル双眼画像を用いて第１のニューラルネットワークをトレーニングし、第２のサンプル集合中のサンプル双眼画像と深度マップを用いて第２のニューラルネットワークをトレーニングするステップを含んでよい。ここで、第１のサンプル集合は少なくとも１組の第１のサンプル双眼画像を含み、１組の第１のサンプル双眼画像は第１の画像と第２の画像を含み、第２のサンプル集合は少なくとも１組の第２のサンプル双眼画像と視差マップラベルを含む。
【００９５】
一実施形態では、第１のサンプル集合中のサンプル双眼画像を用いて第１のニューラルネットワークをトレーニングするステップは、
第１のニューラルネットワークを介して、少なくとも１組の第１のサンプル双眼画像の第１の画像から、少なくとも１組の第１のサンプル双眼画像の第２の画像を取得、出力するステップと、
第１のニューラルネットワークから出力される第２の画像と少なくとも１組の第１のサンプル双眼画像の第２の画像との第１の差を取得し、第１のトレーニング終了条件が満たされるまで、第１の差に基づいて第１のニューラルネットワークをトレーニングするステップと、を含んでもよい。
【００９６】
選択可能な一例では、第１のニューラルネットワークから出力される第２の画像と少なくとも１組の第１のサンプル双眼画像の第２の画像との第１の差を取得し、第１のトレーニング終了条件が満たされるまで、第１の差に基づいて第１のニューラルネットワークをトレーニングするステップは、
第１のニューラルネットワークから出力される第２の画像と少なくとも１組の第１のサンプル双眼画像の第２の画像との画素上の第１の差、例えば、画素上の差の絶対値の和を取得するステップと、
第１のトレーニング終了条件が満たされるまで、第１の差に基づいて第１のニューラルネットワーク中のネットワークパラメータのパラメータ値を調整するステップと、を含んでよい。
【００９７】
ここで、第１のトレーニング終了条件は、例えば、第１の差が第１の特定閾値より小さいこと、及び／又は、第１のニューラルネットワークに対するトレーニング回数が第１の所定回数に達したことを含んでよいが、それらに限定されない。
【００９８】
別の実施形態では、第２のサンプル集合中のサンプル双眼画像と視差マップラベルを用いて第２のニューラルネットワークをトレーニングするステップは、
第２のニューラルネットワークを介して、少なくとも１組の第２のサンプル双眼画像の視差マップを取得、出力するステップと、
第２のニューラルネットワークから出力される視差マップと少なくとも１組の第２のサンプル双眼画像の視差マップラベルとの第２の差を取得し、第２のトレーニング終了条件が満たされるまで、第２の差に基づいて第２のニューラルネットワークをトレーニングするステップと、を含んでよい。
【００９９】
選択可能な一例では、第２のニューラルネットワークから出力される視差マップと少なくとも１組の第２のサンプル双眼画像の視差マップラベルとの第２の差を取得し、第２のトレーニング終了条件が満たされるまで、第２の差に基づいて第２のニューラルネットワークをトレーニングするステップは、
第２のニューラルネットワークから出力される視差マップと少なくとも１組の第２のサンプル双眼画像の視差マップラベルとの画素上の第２の差、例えば、画素上の差の絶対値の和を取得するステップと、
第２のトレーニング終了条件が満たされるまで、第２の差に基づいて第２のニューラルネットワーク中のネットワークパラメータのパラメータ値を調整するステップと、を含んでよい。
【０１００】
ここで、第２のトレーニング終了条件は、例えば、第２の差が第２の特定閾値より小さいこと、及び／又は、第２のニューラルネットワークに対するトレーニング回数が第２の所定回数に達したことを含んでよいが、それらに限定されない。
【０１０１】
真実的に採集される深度マップラベルが取得しにくいため、本開示の実施例によれば、実際の適用では、コンピュータにより合成される左画像、右画像及び深度マップラベルを用いて第２のサンプル集合中の第２のサンプル双眼画像と第２のサンプル画像に対応する深度マップラベルとして、第２のニューラルネットワークをトレーニングすることができる。
【０１０２】
また、本開示の上記実施例によって第１のニューラルネットワークと第２のニューラルネットワークを段階的にトレーニングした後、更に、
第３のサンプル集合中のサンプル双眼画像と第３のサンプル画像に対応する深度マップラベルを用いて第１のニューラルネットワークと第２のニューラルネットワークをトレーニングするステップを含んでよい。
【０１０３】
ここで、第３のサンプル集合は少なくとも１組の第３のサンプル双眼画像と第３のサンプル画像に対応する深度マップラベルを含む。
【０１０４】
一実施形態では、第３のサンプル集合中のサンプル双眼画像と第３のサンプル画像に対応する深度マップラベルを用いて第１のニューラルネットワークと第２のニューラルネットワークをトレーニングするステップは、
第１のニューラルネットワークを介して、少なくとも１組の第３のサンプル双眼画像の第１の画像から、少なくとも１組の第３のサンプル双眼画像の第２の画像を取得するステップと、
第２のニューラルネットワークを介して、少なくとも１組の第３のサンプル双眼画像の視差マップを取得するステップと、
少なくとも１組の第３のサンプル双眼画像の視差マップに基づいて少なくとも１組の深度情報を取得するステップと、
少なくとも１組の深度情報と少なくとも１組の第３のサンプル双眼画像の深度マップラベルとの第３の差を取得するステップであって、該第３の差が例えば画素上の差の絶対値の和であってよいステップと、
第３のトレーニング終了条件が満たされるまで、第３の差に基づいて第１のニューラルネットワークと第２のニューラルネットワーク中のネットワークパラメータのパラメータ値を調整するステップと、を含んでよい。
【０１０５】
ここで、第３のトレーニング終了条件は、例えば、第３の差が第３の特定閾値より小さいこと、及び／又は、第１のニューラルネットワークと第２のニューラルネットワークに対するトレーニング回数が第３の所定回数に達したことを含んでよいが、それらに限定されない。
【０１０６】
本開示の実施例で提供されるいずれか１種の深度推定方法はデータ処理能力を有するいかなる適切な機器によって実行されてもよく、端末装置とサーバ等を含むが、それらに限定されない。又は、本開示の実施例で提供されるいずれか１種の深度推定方法はプロセッサによって実行されてもよく、例えば、プロセッサはメモリに記憶された対応のコマンドを呼び出すことで本開示の実施例におけるいずれか１種の深度推定方法を実行する。以下、詳細な説明を省略する。
【０１０７】
当業者であれば、上記各方法の実施例を実現する全てまたは一部の操作はプログラムによって関連ハードウェアに命令を出すことにより完了できることを理解できる。前記プログラムは、ＲＯＭ、ＲＡＭ、磁気ディスクまたは光ディスクなどのプログラムコードを記憶可能である様々な媒体を含むコンピュータ読み取り可能記憶媒体に記憶可能である。該プログラムは実行される時に、上記各方法の実施例を含む操作を実行する。
【０１０８】
図５は本開示の深度推定装置の一実施例の構成模式図である。該実施例の深度推定装置は、本開示の上記少なくとも１つの深度推定方法の実施例を実現するために利用可能である。図５に示すように、該実施例の深度推定装置は、
単一画像を双眼画像の第１の画像とし、第１のニューラルネットワークを介して第１の画像に基づいて双眼画像の第２の画像を取得するための画像取得モジュールと、
第２のニューラルネットワークを介して、第１の画像と第２の画像に対して双眼ステレオマッチングを行うことで、第１の画像に対応する深度情報を取得するためのステレオマッチングモジュールと、を含む。
【０１０９】
本開示の上記実施例で提供される深度推定装置によれば、単一画像を双眼画像の第１の画像とし、第１のニューラルネットワークを介して、第１の画像に基づいて双眼画像の第２の画像を取得し、第２のニューラルネットワークを介して、第１の画像と第２の画像に対して双眼ステレオマッチングを行うことで、第１の画像に対応する深度情報を取得するようになっており、そのようにして単一画像に基づいて該単一画像におけるシーンの深度推定が実現され、双眼カメラが必要とされなく、双眼カメラによる余計なハードウェアオーバーヘッドが避けられ、コストが低減され、また、双眼カメラの不正確な設定に起因する取得された深度情報のエラーを回避可能であり、深度推定の正確性が高められた。
【０１１０】
図６は本開示の深度推定装置の別の実施例の構成模式図である。図６に示すように、本開示の少なくとも１つの実施例の一実施形態では、画像取得モジュールは、第１のサブニューラルネットワークユニット、ずれユニット、ドット乗算ユニット及び加算ユニットを含む。
【０１１１】
第１のサブニューラルネットワークユニットは、第１の画像を処理し、Ｎ個のチャンネルの視差確率マップを出力するために用いられ、ここで、それぞれのチャンネルの視差確率マップは、第１の画像において画素が第１の水平方向にｉ個の視差ずれる確率を示し、ｉ＝０、１、…、Ｎ−１であり、Ｎの値が１より大きい整数である。
【０１１２】
ずれユニットは、Ｎ個のチャンネルの視差確率マップに従って、第１の画像をそれぞれ第１の水平方向にｉ個の画素ずれ、Ｎ枚のずれマップを取得するために用いられる。
【０１１３】
ドット乗算ユニットは、Ｎ枚のずれマップのそれぞれに、対応するチャンネルの視差確率マップをドット乗算し、Ｎ個のドット乗算結果を取得するために用いられる。
【０１１４】
加算ユニットは、Ｎ個のドット乗算結果を画素に基づいて重畳し、第２の画像を取得するために用いられる。
【０１１５】
選択可能な一例では、第１のサブニューラルネットワークユニットは、２つ又は２つ以上のネットワーク深度のネットワーク層を含み、それぞれ２つ又は２つ以上のネットワーク深度のネットワーク層によって第１の画像に対して特徴抽出を行い、２つ又は２つ以上のスケールの特徴マップを取得するステップと、２つ又は２つ以上のスケールの特徴マップに基づいて２つ又は２つ以上の解像度且つＮ個のチャンネルの予備視差確率マップをそれぞれ取得するステップと、それぞれのチャンネルについて、２つ又は２つ以上の解像度の予備視差確率マップを第１の画像の解像度に拡大して重畳し、Ｎ個のチャンネルの視差確率マップを取得するステップと、を実行するために用いられる。
【０１１６】
選択可能に、第１の画像における前景オブジェクトに対応する画素の、Ｎ個のチャンネルの視差確率マップでの対応画素位置は、大視差のチャンネルに対応する視差確率マップにおいて大きい確率値を有し、第１の画像における背景オブジェクトに対応する画素の、Ｎ個のチャンネルの視差確率マップでの対応画素位置は、小視差のチャンネルに対応する視差確率マップにおいて大きい確率値を有する。
【０１１７】
また、図６を再度参照し、本開示の少なくとも１つの実施例の別の実施形態では、ステレオマッチングモジュールは、第１の取得ユニット、生成ユニット及び第３の取得ユニットを含んでよい。
【０１１８】
第１の取得ユニットは、双眼画像の一画像の別の画像における画素に対する位置関係を示すための相関係数を取得するために用いられ、双眼画像の一画像は第１の画像又は第２の画像を含み、別の画像は第２の画像又は第１の画像を対応的に含む。
【０１１９】
生成ユニットは、別の画像と相関係数に基づいて、第１の画像と第２の画像の視差マップを生成するために用いられる。
【０１２０】
第３の取得ユニット、視差マップに基づいて第１の画像に対応する深度情報を取得する。
【０１２１】
選択可能な一例では、第１の取得ユニットは、それぞれ一画像と別の画像に対して特徴抽出を行うための第２のサブニューラルネットワークユニットと、抽出された一画像の特徴と別の画像の特徴に基づいて、一画像と別の画像における画素の位置関係を取得し、双眼画像の一画像の別の画像における画素に対する位置関係を示すための相関係数を出力するための取得サブユニットと、を含んでもよい。
【０１２２】
それに対して、別の選択可能な例では、生成ユニットは、別の画像の特徴と相関係数を重畳し、第１の画像と第２の画像の視差マップを生成するために用いられる。
【０１２３】
別の選択可能な例では、生成ユニットは、別の画像の特徴と相関係数を重畳し、重畳結果を取得するための重畳サブユニットと、重畳結果の特徴を抽出し、抽出された重畳結果の特徴と重畳結果を融合し、第１の画像と第２の画像の視差マップを取得するための融合サブユニットと、を含んでもよい。
【０１２４】
また１つの選択可能な例では、第３の取得ユニットは、視差マップ、第１の画像を撮影するカメラの焦点距離及び双眼画像に対応する双眼カメラ間の距離に基づいて、第１の画像に対応する深度情報を取得するために用いられる。
【０１２５】
また、本開示の上記少なくとも１つの実施例の深度推定装置において、更に、第１の画像に対応する深度情報と第２の画像に基づいて、第１の画像におけるシーンの３次元空間シーンを取得するための取得モジュールを含んでもよい。
【０１２６】
図７は本開示の深度推定装置のまた１つの実施例の構成模式図である。図７では、画像取得モジュールとステレオマッチングモジュールは図６に示すいずれか１つの実施例の構成を用いて実現されてもよく、その他の構成を用いて実現されてもよい。
【０１２７】
また、本開示の上記少なくとも１つの実施例の深度推定装置では、第１のニューラルネットワークは、第１のサンプル集合中のサンプル双眼画像を用いて予めトレーニングして得られてもよく、第１のサンプル集合は少なくとも１組の第１のサンプル双眼画像を含み、及び／又は、第２のニューラルネットワークは、第２のサンプル集合中のサンプル双眼画像を用いて予めトレーニングして得られてもよく、第２のサンプル集合は少なくとも１組の第２のサンプル双眼画像と視差マップラベルを含む。
【０１２８】
図７を再度参照し、本開示の深度推定装置の更に別の実施例では、更に第１のトレーニングモジュールを含む。該実施例では、第１のニューラルネットワークは、少なくとも１組の第１のサンプル双眼画像の第１の画像から、少なくとも１組の第１のサンプル双眼画像の第２の画像を取得、出力するために用いられる。第１のトレーニングモジュールは、第１のニューラルネットワークから出力される第２の画像と少なくとも１組の第１のサンプル双眼画像の第２の画像との第１の差を取得し、第１のトレーニング終了条件が満たされるまで、第１の差に基づいて第１のニューラルネットワークをトレーニングするために用いられる。
【０１２９】
一実施形態では、第１のトレーニングモジュールは、第１のニューラルネットワークから出力される第２の画像と少なくとも１組の第１のサンプル双眼画像の第２の画像との画素上の第１の差を取得するステップと、
第１のトレーニング終了条件が満たされるまで、第１の差に基づいて第１のニューラルネットワーク中のネットワークパラメータのパラメータ値を調整するステップと、を実行するために用いられる。ここで、第１のトレーニング終了条件は、例えば、第１の差が第１の特定閾値より小さいこと、及び／又は、第１のニューラルネットワークに対するトレーニング回数が第１の所定回数に達したことを含んでよいが、それらに限定されない。
【０１３０】
図７を再度参照し、本開示の深度推定装置の更に別の実施例では、更に第２のトレーニングモジュールを含んでもよい。該実施例では、第２のニューラルネットワークは、少なくとも１組の第２のサンプル双眼画像の視差マップを取得、出力するために用いられる。第２のトレーニングモジュールは、第２のニューラルネットワークから出力される視差マップと少なくとも１組の第２のサンプル双眼画像の視差マップラベルとの第２の差を取得し、第２のトレーニング終了条件が満たされるまで、第２の差に基づいて第２のニューラルネットワークをトレーニングするために用いられる。
【０１３１】
一実施形態では、第２のトレーニングモジュールは、具体的には、第２のニューラルネットワークから出力される視差マップと少なくとも１組の第２のサンプル双眼画像の視差マップラベルとの画素上の第２の差を取得するステップと、
第２のトレーニング終了条件が満たされるまで、第２の差に基づいて第２のニューラルネットワーク中のネットワークパラメータのパラメータ値を調整するステップと、を実行するために用いられる。ここで、第２のトレーニング終了条件は、例えば、第２の差が第２の特定閾値より小さいこと、及び／又は、第２のニューラルネットワークに対するトレーニング回数が第２の所定回数に達したことを含んでよいが、それらに限定されない。
【０１３２】
更に、図７を再度参照し、本開示の深度推定装置の更に別の実施例では、更に、第３のサンプル集合中のサンプル双眼画像と第３のサンプル画像に対応する深度マップラベルを用いて第１のニューラルネットワークと第２のニューラルネットワークをトレーニングするための第３のトレーニングモジュールを含んでもよい。ここで、第３のサンプル集合は少なくとも１組の第３のサンプル双眼画像と第３のサンプル画像に対応する深度マップラベルを含む。
【０１３３】
一実施形態では、第１のニューラルネットワークは、少なくとも１組の第３のサンプル双眼画像の第１の画像から、少なくとも１組の第３のサンプル双眼画像の第２の画像を取得するために用いられ、第２のニューラルネットワークは、少なくとも１組の第３のサンプル双眼画像の視差マップを取得するために用いられる。
【０１３４】
第３のトレーニングモジュールは、少なくとも１組の第３のサンプル双眼画像の視差マップに基づいて少なくとも１組の深度情報を取得するステップと、少なくとも１組の深度情報と少なくとも１組の第３のサンプル双眼画像の深度マップラベルとの第３の差を取得するステップと、第３のトレーニング終了条件が満たされるまで、第３の差に基づいて第１のニューラルネットワークと第２のニューラルネットワーク中のネットワークパラメータのパラメータ値を調整するステップとを実行するために用いられる。ここで、第３のトレーニング終了条件は、例えば、第３の差が第３の特定閾値より小さいこと、及び／又は、第１のニューラルネットワークと第２のニューラルネットワークに対するトレーニング回数が第３の所定回数に達したことを含んでよいが、それらに限定されない。本開示の深度推定装置の実施例の少なくとも１つの形態の技術的効果については、対応の方法の実施例に対する説明を参照してもよく、ここで詳細な説明は割愛する。
【０１３５】
また、本開示の実施例は、
実行可能コマンドを記憶するためのメモリと、
前記メモリと通信して前記実行可能コマンドを実行して本開示の上記のいずれか１つの実施例記載の深度推定方法の操作を完成するためのプロセッサと、を含む電子機器を提供する。
【０１３６】
図８は本開示の電子機器の一適用実施例の構成模式図である。以下、本開示の実施例の端末装置又はサーバを実現するのに適する電子機器の構成模式図を示す図８を参照する。図８に示すように、該電子機器は１つ又は複数のプロセッサ、通信部などを含み、前記１つ又は複数のプロセッサは、例えば、１つ又は複数の中央処理ユニット（ＣＰＵ）８０１、及び／又は１つ又は複数の加速ユニット（ＧＰＵ）８１３などであり、加速ユニット８１３はＧＰＵ、ＦＰＧＡ、その他の類型の専用プロセッサ等を含んでよいが、それらに限定されなく、プロセッサは、読み取り専用メモリ（ＲＯＭ）８０２に記憶された実行可能コマンド又は記憶部８０８からランダムアクセスメモリ（ＲＡＭ）８０３にロードされた実行可能コマンドによって各種の適切な動作及び処理を実現することができる。通信部８１２はネットワークカードを含んでよいが、それに限定されなく、前記ネットワークカードはＩＢ（Ｉｎｆｉｎｉｂａｎｄ）ネットワークカードを含んでよいが、それに限定されなく、プロセッサは読み取り専用メモリ８０２及び／又はランダムアクセスメモリ８０３と通信して実行可能コマンドを実行し、通信バス８０４を介して通信部８１２に接続され、通信部８１２を介して他のターゲットデバイスと通信してよく、それにより本開示の実施例で提供されるいずれか一項の方法に対応する操作を完成し、例えば、単一画像を双眼画像の第１の画像とし、第１のニューラルネットワークを介して前記第１の画像に基づいて前記双眼画像の第２の画像を取得し、第２のニューラルネットワークを介して、前記第１の画像と前記第２の画像に対して双眼ステレオマッチングを行うことにより、前記第１の画像に対応する深度情報を取得する。
【０１３７】
本開示の電子機器の各形態の技術的効果については、対応の方法の実施例に対する説明を参照してもよく、ここで詳細な説明は割愛する。
【０１３８】
また、ＲＡＭ８０３には、装置の動作に必要な各種のプログラムやデータが格納されていてもよい。ＣＰＵ８０１、ＲＯＭ８０２及びＲＡＭ８０３は、通信バス８０４を介して相互に接続される。ＲＡＭ８０３を有する場合に、ＲＯＭ８０２は選択可能なモジュールである。ＲＡＭ８０３は実行可能コマンドを格納するか、または動作時に実行可能コマンドをＲＯＭ８０２に書き込み、実行可能コマンドによってプロセッサに本開示の上記任意の方法に対応する操作を実行させる。入力／出力（Ｉ／Ｏ）インターフェイス８０５も通信バス８０４に接続される。通信部８１２は、統合的に設置されてもよく、複数のサブモジュール（例えば複数のＩＢネットワークカード）を有し、通信バスのリンク上にあるように設置されてもよい。
【０１３９】
キーボード、マウスなどを含む入力部８０６と、陰極線管（ＣＲＴ）、液晶ディスプレイー（ＬＣＤ）など及びスピーカなどを含む出力部８０７と、ハードディスクなどを含む記憶部８０８と、ＬＡＮカード、モデムなどのネットワークインターフェイスカードを含む通信部８０９とがＩ／Ｏインターフェイス８０５に接続されている。通信部８０９は例えばインターネットのようなネットワークを介して通信処理を行う。ドライブ８１０も必要に応じてＩ／Ｏインターフェイス８０５に接続される。磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどのリムーバブル媒体８１１は、必要に応じてドライブ８１０上に装着され、そこから読み出されたコンピュータプログラムを必要に応じて記憶部８０８にインストールする。
【０１４０】
なお、図８に示す構造は選択可能な一実施形態に過ぎず、具体的な実践過程では、実際の必要に応じて上記図８の部品の数及び種類を選択、削除、追加、または置換することができ、異なる機能部品の設置上でも、分離設置または統合設置などの実施形態を採用でき、例えば加速ユニット８１３とＣＰＵ８０１は分離設置するかまたは加速ユニット８１３をＣＰＵ８０１に統合するようにしてよく、通信部は分離設置するか、またはＣＰＵ８０１や加速ユニット８１３に統合設置することなども可能であることを説明する必要がある。これらの置換可能な実施形態はいずれも本開示の保護範囲に属する。
【０１４１】
特に、本開示の実施例によれば、フローチャートを参照しながら上述したプロセスはコンピュータソフトウェアプログラムとして実現できる。例えば、本開示の実施例はコンピュータプログラム製品を含み、それは機械可読媒体に有形に具現化された、フローチャートに示す方法を実行するためのプログラムコードを含むコンピュータプログラムを含み、プログラムコードは本開示の実施例により提供される深度推定方法の操作を対応して実行する対応のコマンドを含んでよい。このような実施例では、該コンピュータプログラムは通信部によってネットワークからダウンロード及びインストールされ、及び／又はリムーバブル媒体からインストールされ得る。ＣＰＵによって該コンピュータプログラムを実行する時に、本開示の方法で限定された上記機能を実行する。
【０１４２】
また、本開示の実施例は、ンピュータ可読コードを含むコンピュータプログラムであって、前記コンピュータ可読コードが機器上で作動する時に、前記機器におけるプロセッサが本開示のいずれか１つの実施例に記載の深度推定方法における操作を実現するためのコマンドを実行するコンピュータプログラムを更に提供する。
【０１４３】
また、本開示の実施例は、コンピュータ読取可能コマンドを記憶するためのコンピュータ可読記憶媒体であって、コマンドが実行される時に、本開示のいずれか１つの実施例に記載の深度推定方法における操作が実現されることを特徴とするコンピュータ可読記憶媒体を更に提供する。
【０１４４】
当業者であれば、上記方法の実施例を実現する全てまたは一部の操作はプログラムによって関連ハードウェアに命令を出すことにより完了できることを理解できる。前記プログラムは、ＲＯＭ、ＲＡＭ、磁気ディスクまたは光ディスクなどのプログラムコードを記憶可能である様々な媒体を含むコンピュータ読み取り可能記憶媒体に記憶可能である。該プログラムは実行される時に、上記方法の実施例を含む操作を実行する。
【０１４５】
本明細書における様々な実施例は漸進的に説明され、各実施例は他の実施例との相違点に集中して説明したが、各実施例間の同一または類似の部分については相互に参照すればよい。システム実施例については、それは基本的に方法実施例に対応するので、説明は比較的簡単であり、関連部分は方法実施例の説明の一部を参照すればよい。
【０１４６】
本開示の方法及び装置は、様々な形態で実現され得る。例えば、ソフトウェア、ハードウェア、ファームウェアまたはソフトウェア、ハードウェア、ファームウェアの任意の組合わせによって本開示の方法及び装置を実現することができる。前記方法の操作のための上記順序は説明することのみを目的とし、本開示の方法の操作は、特に断らない限り、以上で具体的に説明した順序に限定されない。また、いくつかの実施例では、本開示は記録媒体に記憶されたプログラムとしてもよく、これらのプログラムは本開示の方法を実現するための機械可読コマンドを含む。従って、本開示は本開示の方法を実行するためのプログラムが記憶された記録媒体も含む。
【０１４７】
本開示の説明は、例示及び説明のために提示されたものであり、網羅的なものでありもしくは開示された形式に本開示を限定するというわけでない。当業者にとっては多くの修正及び変形を加えることができるのは明らかであろう。実施例は本開示の原理及び実際応用をより明瞭に説明するため、かつ当業者が本開示を理解して特定用途に適した各種の修正を加えた各種の実施例を設計可能にするように選択され説明されたものである。
【図１】
0006951565.tif 000002
【図２】
0006951565.tif 000003
【図３】
0006951565.tif 000004
【図４】
0006951565.tif 000005
【図５】
0006951565.tif 000006
【図６】
0006951565.tif 000007
【図７】
0006951565.tif 000008
【図８】
0006951565.tif 000009