IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ウープティックス ソシエダ リミターダの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-06
(45)【発行日】2024-03-14
(54)【発明の名称】可変焦点カメラの深度推定方法
(51)【国際特許分類】
   G06T 7/571 20170101AFI20240307BHJP
【FI】
G06T7/571
【請求項の数】 15
【外国語出願】
(21)【出願番号】P 2022080377
(22)【出願日】2022-05-16
(65)【公開番号】P2022179397
(43)【公開日】2022-12-02
【審査請求日】2022-09-14
(31)【優先権主張番号】21382458.4
(32)【優先日】2021-05-20
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】519278343
【氏名又は名称】ウープティックス ソシエダ リミターダ
(74)【代理人】
【識別番号】110001416
【氏名又は名称】弁理士法人信栄事務所
(72)【発明者】
【氏名】セルーソ サバト
(72)【発明者】
【氏名】リカルド オリバ ガルシア
(72)【発明者】
【氏名】ホセ マニュエル ロドリゲス ラモス
【審査官】片岡 利延
(56)【参考文献】
【文献】Maxim Maximov et al.,Focus on defocus: bridging the synthetic toreal domain gap for depth estimation,[online],2020年,https://ieeexplore.ieee.org/document/9157368
【文献】Hyeongwoo Kim et al.,Video Depth-From-Defocus,[online],2016年,https://ieeexplore.ieee.org/document/7785111
【文献】Maxim Maximov et al.,Focus on defocus: bridging the synthetic toreal domain gap for depth estimation - Supplementary Material -,[online],2020年,https://openaccess.thecvf.com/content_CVPR_2020/supplemental/Maximov_Focus_on_Defocus_CVPR_2020_supplemental.pdf
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/571
(57)【特許請求の範囲】
【請求項1】
異なる焦点位置でカメラにより撮影された複数の画像から深度情報を抽出する為のコンピュータ実装方法(800)であって、
前記カメラの時系列の焦点位置を指定する所定の焦点計画による異なる焦点位置においてシーンの画像シーケンスをカメラで捕捉すること(800)と、
畳み込みニューラルネットワークを包含する機械学習アルゴリズムにより、所定数の事前捕捉画像の画像特徴を抽出して(802)、抽出された前記画像特徴を記憶することと、
所定数の前記事前捕捉画像から画像特徴を抽出及び記憶した後に、前記機械学習アルゴリズムにより、画像特徴がまだ抽出されていない前記事前捕捉画像を処理すること(803)であって、前記事前捕捉画像が現在処理画像を表し、
前記処理が、前記機械学習アルゴリズムにより前記現在処理画像からの画像特徴を抽出すること(804)と、抽出された前記画像特徴を記憶することとを包含し、
前記処理が更に、前記事前捕捉画像から記憶された画像特徴を前記現在処理画像の前記画像特徴と整合すること(805)を包含する、
ことと、
前記現在処理画像の前記画像特徴に整合された前記処理画像の少なくとも幾つかの前記画像特徴を表す少なくとも一つの多次元テンソルを生成すること(806)と、
前記所定の焦点計画で指定された前記焦点位置と、生成された少なくとも一つの前記多次元テンソルとを使用して二次元深度マップを生成すること(807)と、
を包含する方法。
【請求項2】
幅次元Wと高さ次元Hとチャネル次元Cとを包含する三次元特徴テンソルとして前記画像特徴が抽出され、前記チャネル次元が、前記畳み込みニューラルネットワークの一以上の層により画像から抽出された特徴マップの数を表し、抽出された画像特徴の記憶が、抽出された前記画像特徴を三次元特徴テンソルのリストとして記憶することを包含する、請求項1に記載の方法。
【請求項3】
前記事前捕捉画像から記憶された前記画像特徴と前記現在処理画像の前記画像特徴との整合が、前記事前捕捉画像から記憶された前記画像特徴に、そして前記現在処理画像からの前記画像特徴に四次元符号化を適用することを包含し、前記四次元符号化が、前記事前捕捉画像からの前記画像特徴に、そして前記現在処理画像からの前記画像特徴に時間、空間、焦点位置の情報を埋め込むことを包含する、請求項1または2に記載の方法。
【請求項4】
前記四次元符号化が非線形である、及び/又は、前記現在処理画像からの前記画像特徴への、そして前記事前捕捉画像から記憶された前記画像特徴の各々への追加を介して、前記四次元符号化が適用される、請求項3に記載の方法。
【請求項5】
前記四次元符号化が三角関数の使用に基づく、請求項3に記載の方法。
【請求項6】
前記所定の焦点計画で指定された前記焦点位置と、生成された少なくとも一つの前記多次元テンソルとを使用して二次元深度マップを生成するステップが、前記機械学習アルゴリズムにより、少なくとも一つの多次元焦点確率マップを生成することと、前記所定の焦点計画で指定された前記焦点位置を使用して少なくとも一つの前記多次元焦点確率マップを現実の物理的距離に再マッピングすることとを包含する、請求項1または2に記載の方法。
【請求項7】
少なくとも一つの前記多次元焦点確率マップが、幅次元Wと高さ次元Hと焦点位置次元Nとを有する三次元テンソルであって前記焦点位置次元が焦点位置の数を表し、前記幅及び高さ次元のサイズが入力画像の幅及び高さ次元のサイズと等しく、前記入力画像が、所定数の前記事前捕捉画像の画像又は前記現在処理画像のいずれかである、請求項6に記載の方法。
【請求項8】
前記所定の焦点計画で指定された前記焦点位置を使用した現実の物理的距離への少なくとも一つの前記多次元焦点確率マップの再マッピングが、少なくとも一つの前記多次元焦点確率マップの各画素と前記焦点計画の前記焦点位置との間のドット積を計算することを包含する、請求項6に記載の方法。
【請求項9】
前記現在処理画像の前記画像特徴に整合された全ての処理画像の前記画像特徴を表す、生成された少なくとも一つの前記多次元テンソルが、幅次元Wと、高さ次元Hと、前記畳み込みニューラルネットワークの一以上の層により前記処理画像から抽出された特徴マップの数を表すチャネル次元であるチャネル次元Cと、焦点位置の数を表す焦点位置次元である焦点位置次元Nとを包含する四次元テンソルである、請求項1または2に記載の方法。
【請求項10】
前記所定数の捕捉画像の画像特徴の抽出と前記現在処理画像の画像特徴の抽出とが更に、前記機械学習アルゴリズムにより画像特徴を異なるスケールで抽出することを包含し、前記スケールが、入力画像の高さの分数として、及び/又は、入力画像の幅の分数として規定され、前記入力画像が前記所定数の捕捉画像の画像又は前記現在処理画像のいずれかである、請求項1または2に記載の方法。
【請求項11】
前記所定数の捕捉画像から抽出された前記画像特徴と前記現在処理画像から抽出された前記画像特徴とが、循環バッファ、例えば前記所定数の捕捉画像からの前記画像特徴を少なくとも保持できる循環バッファのコンピュータ可読メモリに記憶される、及び/又は、前記所定数の捕捉画像が、前記焦点計画により指定された異なる焦点位置の数と少なくとも等しいか前記数より大きい、請求項1または2に記載の方法。
【請求項12】
前記畳み込みニューラルネットワークが、複数の異なるシーンについて異なる焦点位置を焦点とする複数の画像を包含する訓練サンプルで訓練された訓練済み畳み込みニューラルネットワークであり、前記シーンが静的又は動的であり、損失関数を使用して前記畳み込みニューラルネットワークにより生成された推定による深度マップを対応の既知グラウンドトゥルース深度マップと比較することにより、前記畳み込みニューラルネットワークパラメータが最適化される、請求項1または2に記載の方法。
【請求項13】
コンピュータメモリと、
一以上のプロセッサ、例えばCPU及び/又はGPUと、
を具備して、
異なる焦点位置でカメラにより撮影された複数の画像から深度情報を抽出する為に請求項1または2に記載の方法を実行するように前記一以上のプロセッサに指示する命令を前記コンピュータメモリが記憶する、
コンピューティングシステム。
【請求項14】
前記コンピューティングシステムが、異なる焦点位置を含むシーンの画像を捕捉する為に構成されたカメラを具備するポータブルモバイルデバイス、例えばスマートフォンである、請求項13に記載のコンピューティングシステム。
【請求項15】
コンピュータシステムによる実行時に、異なる焦点位置でカメラにより撮影された複数の画像から深度情報を抽出する為に請求項13に記載の方法を実施するコンピュータ実行可能命令を記憶する為のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、請求項1の前文に明記されたタイプの方法と、請求項13の前文に明記されたコンピュータシステムと、請求項15の前文に明記された記憶媒体とに関する。
【背景技術】
【0002】
三次元シーンから二次元画像を捕捉する、例えば現実の物理的三次元空間のシーンから画像を捕捉する時には、三次元シーンが二次元画像に投影される時に深度情報が失われる。
【0003】
例えば、三次元物体を認識可能にする、及び/又は、捕捉された二次元画像で背景及び前景特徴又は物体を区別する為にこの失われた空間深度情報の少なくとも一部を回復することは、とりわけ自律ロボットシステムの為のコンピュータビジョン又はロボットビジョンでの重要かつ困難な課題である。
【0004】
既存の技術は、専用の複雑な特定ハードウェア、例えばステレオカメラ、及び/又は、複雑な光学マイクロレンズアレイの使用を必要とする、及び/又は、捕捉された画像の複雑なコンピュータリソース集約的処理、例えばモーション技術による構造及び/又は多視点技術による深度を必要とする。
【0005】
特に、モーション技術による構造及び/又は多視点技術による深度のような最新技術は、動的シーンから深度情報を抽出又は回復しようとする時に、例えば画像ストリームから深度情報を抽出しようとする時に、望ましくない結果が生じ、捕捉されたシーンでは、シーンの画像ストリームが捕捉される間に、物体又は特徴のモーションが発生する。
【発明の概要】
【発明が解決しようとする課題】
【0006】
現実の三次元シーンからカメラ/画像捕捉デバイスにより捕捉される二次元画像から深度情報を抽出/推定/回復する為の改良手段を提供することが、本発明の更なる目的である。特に、例えば動的シーンから画像を捕捉するケースでは特に、シーンからの複数の捕捉画像から深度情報を推定するプロセスを高速化して、推定による深度情報の精度を向上させることが、本発明の目的である。
【課題を解決するための手段】
【0007】
本発明によれば、独立請求項によるコンピュータ実装方法とコンピュータシステムとコンピュータ記憶媒体とによりこれらの目的が達成される。
【0008】
有利な実施形態及び更なる発展例が従属請求項の主題である。
【0009】
例えば、異なる焦点位置でカメラにより撮影される複数の画像から深度情報を抽出する為のコンピュータ実装方法は、以下のステップのうち一つ、幾つか、又は全てを包含し得る。
・カメラの時系列の焦点位置を指定する所定の焦点計画に従って異なる焦点位置においてシーンの画像シーケンスをカメラで捕捉すること。
・畳み込みニューラルネットワークであるかこれを包含する機械学習アルゴリズムにより、所定数の捕捉画像の画像特徴を抽出して、抽出された画像特徴を記憶すること。
・捕捉された所定数の画像から画像特徴を抽出及び記憶した後に、機械学習アルゴリズムにより、画像特徴がまだ抽出されていない捕捉画像を処理し、捕捉画像が現在処理画像を表すこと。
・処理は更に、事前捕捉画像から記憶された画像特徴を現在処理画像の画像特徴と整合することを包含する。
・現在処理画像の画像特徴に整合された処理画像の少なくとも幾つか、好ましくは全ての処理画像の画像特徴を表す少なくとも一つの多次元テンソルを生成すること。
・所定の焦点計画で指定された焦点位置と、生成された少なくとも一つの多次元テンソルとを使用して、二次元深度マップを生成すること。
【0010】
ここで、処理画像の少なくとも幾つかという表現は、処理された、つまり画像特徴が抽出及び記憶された所定数の捕捉画像による部分集合を指し得る、あるいは処理された所定数の捕捉画像の全てを包含する集合を指し得る。更に、全ての処理画像という表現は、処理された所定数の捕捉画像の全てを包含する集合を指すか、処理された所定数の捕捉画像の全てと現在処理画像とを包含する集合を指し得る。
【0011】
例えば、kが、現在処理画像を含み得る捕捉画像の所定数を示す自然数である場合には、処理画像の少なくとも幾つかという表現は自然数sを指し、sはkより小さいかこれに等しく、sは2より大きいかこれに等しい。好ましくは、sはkに等しい。
【0012】
ここで、シーンは、現実の物理的三次元空間でのシーンとして理解され得る。
【0013】
ここで、画像又は画像フレームは、幅次元と高さ次元とを有する二次元画素化デジタル画像又は画像フレームとして理解され得る。
【0014】
ここで、一つ/複数の画像又は画像フレームは映像ストリームの画像/画像フレームであり得る。
【0015】
ここで、画像特徴はとりわけ、例えば捕捉画像での物体又は被写体の形状、輪郭、色など、捕捉画像での物体又は被写体の性質又は特性として理解され得る。画像特徴は、物体又は被写体の焦点が合っているか焦点がぼけているかを表す情報も指し得る、つまり画像特徴は焦点/焦点ぼけ情報を包含し得る。
【0016】
上述した所定の焦点計画は、指定時に指定の焦点位置でカメラが画像を捕捉する順序を指定し得る。言い換えると、焦点計画は、カメラにより使用される焦点位置の既定リストを指定し得るとともに、シーンの画像シーケンスをカメラで捕捉する時にこのリストがどのように参照されるかを指定できる。
【0017】
この所定の焦点計画は、異なる焦点位置及び/又は同一の焦点位置を包含し得る複数の焦点位置を包含し得る。言い方を変えると、焦点計画は、画像を捕捉する為にカメラの同じ焦点位置が異なる時点で使用され得ることを指定し得る。
【0018】
そしてカメラが例示的な焦点計画を時系列的に参照して規定の焦点位置で画像を捕捉し得る。
【0019】
ここで、カメラは、画素化された二次元デジタル画像を捕捉できる画像捕捉システムとして理解され得る。加えて、この例示的カメラは画像のストリーム、例えば画像の映像ストリームを捕捉できると理解されるはずである。特に、ここでのカメラは光学カメラとして理解され得る。
【0020】
例示的なカメラは一般的なデジタルカメラ、例えばスマートフォンのカメラであり得る。更に、カメラは、異なる焦点位置で画像を捕捉する為に、つまり所定の焦点計画を参照する為に構成され得る。
【0021】
例えば、カメラは、画像検出面、例えば画像センサ面のどこで捕捉光が収束するかを制御する為の光学要素、例えば一以上のレンズを具備し得る、つまりカメラは可変焦点カメラであり得る。
【0022】
上に特定された例示的方法ステップは、全ての捕捉画像又は所望数の捕捉画像が処理されてしまうまで、反復的又はループ式に行われ得る。
【0023】
異なる焦点位置でカメラにより撮影された複数の画像から深度情報を抽出する為の本明細書に記載の上の例示的方法は、現時点で最新の多視点アルゴリズムよりも高速でより精密な、可変焦点で撮影された画像からの深度情報の抽出を可能にする。
【0024】
本明細書に記載の方法ステップにより異なる位置を焦点とする画像からの深度情報抽出の高速化は、実時間での、つまりカメラのユーザが気付くような遅延を伴わない画像ストリームからの深度情報の抽出を可能にする。
【0025】
例えば、カメラによる映像ストリームの捕捉中に、捕捉された映像ストリームの画像から同時に深度情報が抽出され得る。例えば、深度情報が画像につき18ミリ秒未満の速度で抽出され得ることにより、例えば、少なくとも毎秒30フレームの画像フレームレート又はそれ以上の映像ストリームへの本明細書に記載の方法の適用を可能にする。
【0026】
更に、例えば、ユーザが希望する画像の焦点設定を最適化してユーザが捕捉を希望するシーンの全焦点画像を捕捉及び/又は生成する為に、カメラのユーザがシーンの像の撮影に取り掛かる前に、カメラが所定の焦点計画による可変焦点でシーンの複数の画像を自動的に捕捉してシーンについての深度情報を抽出することが可能である。
【0027】
複数の画像から深度情報を抽出する為の本明細書に記載の方法の改良性能は、とりわけ、現在画像又は現在入力画像を処理する間に、事前捕捉画像/過去画像の少なくとも幾つか又は全ての情報が保存され、再使用され、考慮されることにより、過剰計算の必要性を回避するという事実によるものである。
【0028】
加えて、複数の画像から深度情報を抽出する為の本明細書に記載の方法は、複雑な数学演算を必要としないが、例えば並列的に行われ得る加算又は乗算のような基本的数学演算又は計算に依存するので、汎用中央プロセッサユニット(CPU)よりも高速でこのような並列の基本的計算を実行できるグラフィカルプロセッサユニット(GPU)による実行に適しているので理想的である。
【0029】
更に、複数の画像から深度情報を抽出する為の本明細書に記載の例示的な方法は、動的シーン、つまり複数の画像の捕捉中に物体及び/又は被写体の移動が発生するシーンのケースでは特に、シーンの画像からのよりロバストでより精密な絶対深度情報抽出が行われる。
【0030】
本明細書に記載の例示的方法のロバスト性及び精度の向上は、とりわけ、画像又は画像フレーム全体のレベルではなく特徴レベルのみで捕捉画像の処理が実施されるという事実によるものである。
【0031】
一般的な多視点技術により必要とされてシーンの物体又は被写体が捕捉画像の間で移動する時に問題を起こし、移動によって最新の画像整合技術が機能しなくなるような画像/画像フレームの互いに関する直接的な見当合わせの必要性は、本明細書に記載の方法では回避される。
【0032】
最新技術とは対照的に、本明細書に記載の方法では、特徴レベルでの整合の実行、つまり過去/事前捕捉画像からの過去/事前捕捉特徴と現在処理画像/現在処理入力画像からの画像特徴との整合により、捕捉画像の間で間接的な暗黙の見当合わせ/整合を行うことが可能である。それゆえこの方法は、シーンでの、及び/又は、カメラ移動による、例えば捕捉画像の間で発生し得るカメラの不安定な支持体による移動に、より良好に対処することができる。
【0033】
抽出された深度情報つまり生成された二次元深度マップを使用してより焦点の合った画像を生成することは別にして、本明細書に記載の方法ステップ及び手段は、コンピュータ及びロボットビジョンの分野にも適用され得る。
【0034】
例えば、本明細書に記載の方法は、特に自律ナビゲーション能力を向上させる為に、ロボット又は自動車、例えば自律ロボット又は自動車の視覚的物体認識を向上させるのに使用され得る。
【0035】
本明細書に記載の方法は、画像の分類を向上させる、例えば画像又は物体検出アルゴリズムの精度及び性能を向上させる、及び/又は、抽出された深度情報を使用して画像/映像解析システムを向上させるのに使用され得る。
【0036】
更に、抽出された深度情報、つまり生成された二次元深度マップがディスプレイ用の入力として、特に、例えば三次元ディスプレイ用の入力として使用されて、複数の二次元画像で捕捉されたシーンの三次元画像が生成される。
【0037】
更に、本明細書に記載の方法と、畳み込みニューラルネットワークを包含する本明細書に記載の機械学習アルゴリズムとは、使用されるカメラのタイプに依存しない、つまり、いかなるタイプの画像及びカメラでも機能する。特定のカメラハードウェア又はレンズは必要とされない。
【0038】
畳み込みニューラルネットワークが異なるカメラ及び焦点構成で訓練されることにより、未知のシーン/未知のサンプルへのこの方法のより良好な一般化を可能にする。
【0039】
本明細書に記載の上記の例示的方法ステップでは、幅次元Wと高さ次元Hとチャネル次元Cとを包含する三次元特徴テンソルとして畳み込みニューラルネットワークの層により画像特徴が抽出され、このチャネル次元は、畳み込みニューラルネットワークの一以上の層により画像から抽出される特徴マップの数を表し、抽出された画像特徴の記憶は、抽出された画像特徴を三次元特徴テンソルとして記憶することを包含し得る。
【0040】
【0041】
本明細書において、画像から抽出された特徴マップは、畳み込みニューラルネットワークの一以上の層により検出/抽出された画像の特徴又は態様又は特性又は性質の幅次元Wと高さ次元Hとを含む二次元表現として理解され得る。特に、画像の特定の特徴又は態様又は特性又は性質が畳み込みニューラルネットワークの一以上の層により検出又は抽出される箇所の二次元表現として、特徴マップが理解され得る。
【0042】
この特徴マップの幅及び高さ次元は、特徴マップが抽出された画像の幅及び高さ次元と等しいか、これと異なる、例えばこれより小さい。
【0043】
この例示的特徴マップは、例示的な三次元特徴テンソルのスライスである/スライスを表すものとして理解され得る。
【0044】
本明細書において、画像の特徴又は画像特徴という語は、それゆえ、画像の表現として、あるいは特徴が抽出された画像の次元空間とは異なる次元空間、例えば高次元空間における画像の態様の表現として理解され得る。
【0045】
畳み込みニューラルネットワークを包含する機械学習アルゴリズムにより画像から画像特徴を抽出する本明細書に記載のプロセスは、それゆえ、画像を画像特徴に変換することとして理解され得る。
【0046】
抽出された画像特徴をテンソルとして表現すると、畳み込みニューラルネットワークにより特徴テンソルがより容易に処理され得るので、抽出された画像特徴の計算処理が促進される。
【0047】
畳み込みニューラルネットワークによる画像特徴の抽出は、畳み込み層と、バッチ正規化(BN)と、修正線形活性化関数(ReLu)と、再サンプリング、例えばアップサンプリング(Up)、再形成、又はプーリングと、連結(Concat)と、スキップ演算とを包含するシーケンスにより実行され得る。
【0048】
本明細書において、バッチ正規化(BN)は、移動平均としても知られる推定平均E(x)、分散Var(x)、そしてスケールパラメータ及びシフトパラメータを使用する正規化演算を指し、スケールパラメータとシフトパラメータとは、訓練中に畳み込みニューラルネットワークにより学習され得る。
【0049】
ゆえに、バッチ正規化(BN)は、例えば、
として表現され得る。
本明細書において、修正線形活性化関数(ReLu)は、負の値をゼロに設定してゼロを含む正の値を無変化にする畳み込みニューラルネットワークの活性化関数を指すものとして理解され得る。
【0050】
ゆえに、修正線形活性化関数(ReLu)は、例えば
として表現され得る。
ここで、アップサンプリング(Up,UP,Up-sample)演算は、画像又は画像特徴又は画像特徴テンソル又は特徴マップの幅及び/又は高さ次元を増加させる演算を指し、増加演算は、元の画像又は元の画像特徴テンソル又は元の特徴マップの値を内挿又は外挿してアップサンプリング値を得ることに基づく/これを包含する。
【0051】
ここで、再形成演算は、テンソルの形状つまり次元、例えば画像又は画像特徴又は特徴マップ又は画像特徴テンソルの形状を、テンソルの要素の総数を維持しながら修正する演算を指し得る。例えば、[10,3,9,2]形状のテンソルは、これらの形状全てが同じ要素総数(540)を含むので、[10,3,18],[30,18],[30,1,18]、つまり[540]に再形成され得る。
【0052】
ここで、プーリング演算(プール、プーリング、空間ピラミッドプーリング)は、アップサンプリング演算に類似しているが画像又は画像特徴又は画像特徴テンソル又は特徴マップの幅及び/又は高さ次元をダウンサンプリングする演算として理解され得る。例えば、プーリング演算は、演算、例えば最大又は平均関数を画素の部分集合、例えば画像又は画像特徴又は特徴マップ又は画像特徴テンソルの画素に適用し、部分集合は、一つの画素を生成する所定のストライドを含む所定のカーネル/フィルタのサイズに対応する。
【0053】
例えば、カーネルサイズ=2でストライド=2の最大プーリング演算は、[2,2]形状の画素の部分集合を使用して、入力、例えば画像又は画像特徴又は画像特徴テンソル又は特徴マップをその半分にダウンサンプリングし、ダウンサンプリング係数は指定されたストライドに対応する。
【0054】
選択されるカーネル及びストライドは例示的に過ぎない。例えば経験的に判断される他のカーネル及びストライドサイズも同じく選択され得る。
【0055】
ここで、連結演算は、二以上のテンソル、例えば画像又は画像特徴又は画像特徴テンソル又は特徴マップを特定の次元で統合する演算を指し得る。この演算は、統合される/連結されるテンソル全てが、連結次元を除く全ての次元で同じ形状を有することを必要とする。
【0056】
例えば、第1次元で連結された[10,3,9]形状のテンソルt1と[4,3,9]形状のテンソルt2とにより、結果的に[14,3,9]形状のテンソルが得られる。
【0057】
ここで、スキップ演算は、特定の演算、例えば加算演算を使用して、畳み込みニューラルネットワークの演算の不連続層または不連続シーケンスを接続する演算を指し得る。
【0058】
例えば、×0を入力とする層1の演算の出力が×1であると、例えば×1=層1(×0)であって、×1を入力とする層2の演算の出力が×2であると、例えば×2=層2(×1)であり、層2は層1に連続し、×2を入力とする層3の演算の出力が×3であると、例えば×3=層3(×2)であり、層3は層2に連続する。
【0059】
そして例示的なスキップ演算は、×3+×1の加算、つまり層2のスキップとして定義され得る。
【0060】
ここで、畳み込みの層又は畳み込み層は、画像又は画像特徴又は画像特徴テンソル又は特徴マップに対する畳み込み演算を指し得る。
【0061】
畳み込みニューラルネットワークの可能な例示的演算又は層は、多数の次元で/にわたって/において実行され得る。演算の次元性は、畳み込みニューラルネットワーク内で演算が行われているところに依存し得る。
【0062】
例えば、畳み込みニューラルネットワークによる画像特徴の抽出は、特に、画像又は画像特徴又は画像特徴テンソル又は特徴マップの高さ次元H及び幅次元Wの演算を行うかこれに作用する演算又は層を必要とし、抽出された画像特徴、例えば画像特徴の整合は、焦点位置次元など更なる次元に作用する畳み込みニューラルネットワークの演算又は層を必要とし得る。
【0063】
画像特徴の抽出の為に構成された例示的な畳み込みニューラルネットワークアーキテクチャの例示的な特定構成が、以下で更に提示される。
【0064】
上述した、事前捕捉画像から記憶された画像特徴と現在処理画像の画像特徴との整合は、事前捕捉画像から記憶された画像特徴と現在処理画像からの画像特徴の両方に四次元符号化を適用することを包含し、画像特徴はテンソルとして表される。
【0065】
例えば、この四次元符号化は、時間、空間、そして焦点位置の情報を、事前捕捉画像からの画像特徴に、そして現在捕捉画像からの画像特徴に埋め込むことを包含し得る。
【0066】
例えば、四次元符号化Eは以下の二つの方程式に従って構成され、
αは補正定数であって、好ましくは、αはチャネルの数又はチャネル次元サイズであるCより大きく、x、yは空間画素座標であり、tは時間、つまり画像特徴が抽出された捕捉画像の時間的位置/時点/タイムスタンプ/タイムインデックスであって、t∈[0,K-1]であり、Kは事前捕捉画像の数、例えば捕捉画像の所定数を示し、d∈[0,N-1]は、符号化される所与の画像の焦点面位置/焦点位置/焦点位置インデックスであって、Nは画像の総数、例えば、焦点計画での画像の数、あるいは焦点計画での画像の数と焦点計画の画像から導出された画像の数との和であり、この導出画像は、焦点計画に従って捕捉された画像の内挿又は外挿により導出され、i∈[0,C/2]は、符号化の為にチャネルの数を奇数及び偶数チャネルに分割するのに使用されるインデックスである。
【0067】
例示的な符号化Ei,x,yi+1,x,yで構成される例示的な符号化Eは、現在処理画像∈
上式において、c∈[1,C]はチャネルインデックスであり、E ,x,yは過去のK個の画像/事前捕捉画像の画像特徴/特徴テンソルの符号化を示す、つまりk∈[1,K]は、過去のK個/事前捕捉/記憶画像の画像特徴/特徴テンソルについてのインデックスを示す。
【0068】
上に記載された例には、非線形であって三角関数の使用に基づく例示的な四次元符号化が記載され、現在処理画像からの画像特徴への、そして事前捕捉画像から記憶された画像特徴の各々への追加を介して、四次元符号化が適用される。しかしながら、他の四次元符号化も同じく使用され得る。
【0069】
符号化特徴テンソルEFとEPFとを整合して、現在処理画像の画像特徴に整合された全ての全事前処理画像の、例えばK個の処理画像の画像特徴を表す少なくとも一つの多次元テンソルを生成するには、以下の例示的なステップが実行され得る。
【0070】
以下の例示的類似度スコアに基づく畳み込みニューラルネットワークにより、符号化特徴テンソルについての類似度演算が実行され得る。
上式において、EF’は畳み込みニューラルネットワークによるEFの再形成により得られた二次元行列であり、i,jは行列要素を示し、EPF’は、畳み込みニューラルネットワークによりEPFを再形成することによって得られた三次元テンソルであり、k,i’,jは三次元テンソルの要素であってkは過去のK個/事前捕捉/記憶画像の画像特徴テンソルを示すインデックスである。ここでインデックスi及びi’は、例えば[0,(H*W)-1]の範囲を有して、インデックスjは[0,C,-1]の範囲を有し、H,Wは特徴テンソルの高さ及び幅次元であってCはチャネルの数である。
【0071】
完全性の為に、そして前に指摘したように、EPFは現在処理画像から抽出された特徴も含み得る、つまり現在処理画像の特徴テンソルを含み得ることが可能であることに留意していただきたい。しかしながら、現在処理画像の特徴テンソルそれ自体に完全な類似度が見られるので、現在処理画像の特徴テンソルをEPFに含める時に類似度スコアは影響を受けない。
【0072】
しかしながら、現在処理画像の特徴テンソルをEPFに含めることは、特に、例えば畳み込みニューラルネットワークの訓練中に畳み込みニューラルネットワークの妥当性及びロバスト性を点検するのにとりわけ有益であり得る。
【0073】
徴との間の類似度スコアとして理解され得る。
【0074】
の特性を持つ正規化類似度スコアである。
【0075】
いは、現在処理画像の焦点位置も含み得る過去のK個/事前捕捉/記憶画像の全ての焦点位置の数であり、Nは焦点位置の総数Kのうち固有焦点位置の数である。
【0076】
そして、例えば減算和演算
ての処理画像の画像特徴を表す少なくとも一つの多次元テンソルの一例であり、nは[0,N-1]範囲のインデックスであってmは[0,M-1]範囲のインデックスであり、Nは固有焦点位置の数であってMは上に定義されている。
【0077】
前に指摘したように、事前捕捉画像からの全ての記憶画像又は全ての処理画像を現在処理画像の画像特徴と整合することに代わって、処理された所定数の捕捉画像/過去のK個の画像のうち幾つかの画像特徴を現在処理画像の画像特徴と整合することのみが考えられ
特徴に整合された事前処理画像特徴の幾つかのみを表し得る、つまり上に特定されたインデックス範囲が例示的に過ぎないことが可能である。
【0078】
所定の焦点計画で指定された焦点位置と、生成された少なくとも一つの多次元テンソルとを使用して二次元深度マップを生成するステップは更に、機械学習アルゴリズムにより、得られた少なくとも一つの多次元テンソルEPFを使用して少なくとも一つの多次元
を使用して少なくとも一つの多次元焦点確率マップを現実の物理的距離に再マッピングすることとを包含し得る。
【0079】
とりわけ多次元焦点確率マップfpmは、例えば以下のステップを介して畳み込みニューラルネットワークにより取得され得る。
・必要に応じて、処理された捕捉画像の元の空間解像度へのEPFの任意のアップサンプリング
・チャネル数を1まで減少させる畳み込み
・多次元焦点確率マップを取得するソフトマックス演算による正規化
【0080】
ここで、畳み込みニューラルネットワークによるソフトマックス演算は、例えば、
として定義され、Σ smax(x)=1の特性を有し、smax(x)∈[0,1]である。
【0081】
Wと高さ次元Hと焦点位置次元Nとを有する三次元テンソルであって、焦点位置次元は焦点位置、例えば、焦点計画での異なる焦点位置、あるいは焦点計画からと合成/導出画像についての合成/導出焦点位置と異なる焦点位置の数を表し、この合成/導出画像は内挿又は外挿を介して捕捉画像から導出されたものである。
【0082】
ここで、幅及び高さ次元のサイズは入力画像の幅及び高さ次元のサイズに等しく、入力画像は、所定数の捕捉画像又は現在処理画像の画像と合成画像のいずれかである。
【0083】
所定の焦点計画で指定された焦点位置を使用した現実の物理的距離への少なくとも一つの多次元焦点確率マップfpmの再マッピングは、少なくとも一つの多次元焦点確率マップの各画素と焦点計画での既知の焦点位置との間のドット積を計算して、これにより捕捉されたシーンについての絶対深度情報を含む二次元深度マップを取得することを包含し得る。
【0084】
上に記載された例示的ステップは異なる画像特徴スケールについて実行され得る、つまり所定数の捕捉画像の画像特徴を抽出して現在処理画像の画像特徴を抽出するステップは更に、機械学習アルゴリズムにより、画像特徴を異なるスケールで抽出することを包含し、このスケールは入力画像の高さの分数として、及び/又は、入力画像の幅の分数として規定され、入力画像は、所定数の捕捉画像の画像と現在処理画像のいずれかである。
【0085】
更に、所定数の捕捉画像から抽出された画像特徴/特徴テンソルと、現在処理画像から抽出された画像特徴/特徴テンソルとは、循環バッファ、例えば所定数の捕捉画像からの画像特徴を少なくとも保持できる循環バッファのコンピュータ可読メモリに記憶される。
【0086】
これは、メモリのオーバーフローを回避しながら、効率的なメモリ管理と、例えば映像ストリームからの画像ストリームの効率的な処理とを可能にする。
【0087】
ここで所定数の捕捉画像は、焦点計画により指定された異なる焦点位置の数に少なくとも等しいかこれより大きい。
【0088】
本明細書に記載の上記の例示的畳み込みニューラルネットワークは、現実の物質的世界からの複数の異なるシーンについて異なる焦点位置を焦点とする複数の画像を包含する、訓練サンプルで訓練された訓練済み畳み込みニューラルネットワークであり、シーンは静的又は動的であり、畳み込みニューラルネットワークパラメータは、損失関数を使用して、畳み込みニューラルネットワークにより生成された推定による深度マップを、対応する既知のグラウンドトゥルース深度マップつまり絶対値が既知である深度マップと比較することにより、最適化され得る。
【0089】
その際に、損失関数は、予想された既知のグラウンドトゥルース深度マップに対して推定/予測による深度マップがどれほど異なっているかについての測定手段である。損失関数が所定/指定の最小値に達して畳み込みニューラルネットワークの最適モデルパラメータが判断されるまで、畳み込みニューラルネットワークの訓練が行われる。勾配降下アルゴリズムの使用などの最適化技術により、損失関数の最小化が達成され得る。しかしながら、損失関数を最小化して、例えば畳み込み層の最適重み、最適スケール、又はシフトパラメータ値などの訓練から畳み込みニューラルネットワークの最適モデルパラメータを判断するのに、他の最適化技術、例えば疑似アニーリング法、遺伝的アルゴリズム、又はマルコフ連鎖モンテカルロアルゴリズムも適用され得る。
【0090】
本明細書に記載の上記の例示的方法及び方法ステップは、コンピュータメモリと、一以上のプロセッサ、例えば中央処理ユニット(CPU)及び/又はグラフィック処理ユニット(GPU)とを具備するコンピュータシステムで実装され、異なる焦点位置でカメラにより撮影された複数の画像から深度情報を抽出する為の本明細書に記載の方法及び方法ステップを実行するように一以上のプロセッサに指示する命令をコンピュータが記憶できる。
【0091】
本明細書に記載の方法ステップは、周知の多視点技術と比較して高速の画像処理を可能にするので、スマートフォンなどのポータブルデバイスのプロセッサでも画像及び画像ストリームの実時間処理が達成され得る。
【0092】
ゆえに、コンピューティングシステムは、異なる焦点位置でシーンの画像を捕捉する為に構成されたカメラを具備するポータブルモバイルデバイス、例えばスマートフォンであり得る。
【0093】
更に、コンピュータシステムによる実行時に、本明細書に記載のように異なる焦点位置でカメラにより撮影された複数の画像から深度情報を抽出する為の方法を実施できるコンピュータ実行可能命令は、コンピュータ可読記憶媒体、例えば不揮発性コンピュータ記憶媒体に記憶され得る。
【0094】
上述した捕捉画像の所定数は、例えば、所定の焦点計画での焦点位置の数より小さいかこれに等しいかこれより大きい、及び/又は、所定の焦点計画での異なる、つまり固有の焦点位置の数に等しいかこれより大きくなり得る。特に、捕捉画像の所定数は、所定の焦点計画での焦点位置の数の自然数倍であり得る。
【図面の簡単な説明】
【0095】
以下の図は例示的である。
図1】深度情報を抽出する為の方法及び手段の例示的な概略図である。
図2a】畳み込みニューラルネットワークの例示的な二次元符号器である。
図2b】例示的な二次元畳み込みブロックである。
図2c】例示的な二次元残差畳み込みブロックである。
図2d】例示的な二次元マルチスケール特徴集約ブロックである。
図2e】例示的な二次元空間ピラミッドプーリングブロックである。
図3a】畳み込みニューラルネットワークの例示的な三次元復号器である。
図3b】例示的な三次元残差畳み込みブロックである。
図3c】例示的な三次元マルチスケール特徴集約ブロックである。
図3d】例示的な三次元空間ピラミッドプーリングブロックである。
図4a】例示的なメモリブロックである。
図4b】例示的な特徴整合ブロックである。
図4c】例示的な特徴整合ヘッドである。
図5】深度情報を抽出する為の方法の例示的な流れ図である。
図6】機械学習アルゴリズムの訓練の例示的概略図である。
【発明を実施するための形態】
【0096】
図1は、画像から深度情報を抽出する為の方法及び手段の一般的な概略を示す。
【0097】
焦点計画710に従って異なる焦点位置で画像を捕捉することにより可変焦点のカメラにより画像ストリームが撮影されたシーンの画像ストリーム700が、畳み込みニューラルネットワークを包含する機械学習モデル/機械学習アルゴリズム720へ入力/供給される。
【0098】
シーンの焦点確率マップ730を出力する畳み込みニューラルネットワークを包含する機械学習アルゴリズムが、焦点計画710の既知の焦点位置を使用して絶対距離に再マッピングされ(740)、シーンの二次元深度マップ750が得られる。
【0099】
図2aは、異なる焦点位置でカメラにより捕捉された画像101から画像特徴を抽出するのに使用され得るとともに、例示的な抽出特徴又は特徴テンソル115,116,117,118を出力する例示的で可能な畳み込みニューラルネットワークアーキテクチャの例示的な一部を示す。
【0100】
図2aに示されている例示的で可能な畳み込みニューラルネットワークアーキテクチャの一部は、あらゆるチャネル次元Cについて入力画像101からの特徴を幅W及び高さHの二次元特徴マップに符号化する二次元(2D)符号器100を表すものと理解され得る。
【0101】
別の言い方をすると、幅次元Wと高さ次元Hとチャネル次元Cとを包含する三次元特徴テンソル115,116,117,118として画像特徴が抽出され、チャネル次元は、畳み込みニューラルネットワークのうち示されている一部の一以上の層又はブロック102,103,104,106,107,108,109,110,111,112,113,114により画像から抽出された特徴マップの数を表す。
【0102】
示されている例示的なケースで、入力画像101からの特徴は、例えば異なる空間サイズ及び/又は異なるチャネル次元を持つ四つの異なるスケールで抽出される。
【0103】
例えば、三次元出力特徴/抽出特徴テンソル115は(チャネル次元C=16,H/8,W/8)形状のものであり、特徴テンソル116は(C=16,H/16,W/16)形状のものであり、特徴テンソル117は(C=16,H/32/W/32)形状のものであり、特徴テンソル118は(C=32,H/64,W/64)形状のものであって、H及びWは入力画像101の高さ及び幅次元サイズである。
【0104】
異なるスケールの数及び選択は単に例示的であって、単一スケールのみを使用することも可能である。またチャネルの数は単に例示的であって、例えば経験的に判断/規定され得る。
【0105】
以下では、二次元(2D)演算又は層又はブロック、例えば2D畳み込みブロック又は2D残差畳み込みブロック又は2D空間ピラミッドプーリングブロック又は2Dマルチスケール特徴集約ブロックは、特徴テンソルの高さ及び幅次元、例えば特徴マップの高さ及び幅次元に作用する/これに演算を行うものとして理解され得る。この高さ及び幅次元は、入力画像101の高さ及び幅次元のサイズと、サイズが等しいかサイズが異なり得る。
【0106】
二次元畳み込みブロック102と四つの二次元残差畳み込みブロック103,104,105,106とを包含するシーケンスにより、特徴の例示的な抽出が四つの異なるスケールで達成される。この例示的な二次元残差畳み込みブロック103,104,105,106の各々は、二次元畳み込み層(Conv)とバッチ正規化(BN)と修正線形活性化関数(ReLu)と加算(Sum)と所与の残差畳み込みブロックの入力と出力との間のスキップ接続とのシーケンスを包含する。二次元残差畳み込みブロックの例示的な構成が図2cに挙げられている。
【0107】
この二次元畳み込みブロック102は、例えば、二次元畳み込み層(Conv)とバッチ正規化(BN)と修正線形活性化関数(ReLu)とプーリング層(pool)とのシーケンスを包含し得る。二次元畳み込みブロックの例示的な構成は図2bに挙げられている。
【0108】
最後の残差畳み込みブロック106が適用された後に、二次元空間ピラミッドプーリングブロック107が適用される。このような二次元空間ピラミッドプーリングブロックの例示的な構成は、図2eに挙げられている。
【0109】
そして、二次元マルチスケール特徴集約ブロック108,109,110を使用して、二次元空間ピラミッドプーリングブロック107の出力が、最初の三つの二次元残差畳み込みブロック103,104,105からの中間出力と順次統合される。
【0110】
二次元マルチスケール特徴集約ブロックの例示的な構成は、図2dに挙げられている。
【0111】
最後のステップとして、各スケールについて、二次元畳み込み層(Conv)111a,112a,113a,114aとバッチ正規化(BN)111b,112b,113b,114bと修正線形活性化関数(ReLu)111c,112c,113c,114cとのシーケンス111,112,113,114が適用され、例示的な四つの特徴スケールについて抽出された特徴/特徴テンソル115,116,117,118が得られる。
【0112】
図2bは、三つのシーケンス119,120,121を包含する図2aの二次元畳み込みブロック102の可能な例示的構成を例示的に示し、各シーケンスは、二次元畳み込み層(Conv)、バッチ正規化(BN)、修正線形活性化関数(ReLu)演算を包含する。最後のシーケンス121の後で、プーリング層(Pool)が適用されて畳み込みブロック102の出力が得られる。
【0113】
図2cは、二つのブランチ128,129を包含する図2aの二次元残差畳み込みブロック103,104,105,106についての可能な例示的構成を例示的に示す。
【0114】
例示的なブランチ128は、二次元畳み込み層(Conv)とバッチ正規化(BN)と修正線形活性化関数(ReLu)演算とを包含する第1シーケンス123と、バッチ正規化(BN)と修正線形活性化関数(ReLu)演算とを包含する第2シーケンス124とを包含する。
【0115】
例示的ブランチ129は、二次元畳み込み層(Conv)とバッチ正規化(BN)演算との単一のシーケンスのみを包含する。
【0116】
例示的な二つのブランチの出力は加算(Sum)演算125を使用して統合され、最終の修正線形活性化関数(ReLu)演算126の後に、二次元残差畳み込みブロックの出力が得られる。
【0117】
図2dは、図2aの二次元マルチスケール特徴集約ブロック108,109,110の可能な例示的構成を例示的に示す。
【0118】
例示的な二次元マルチスケール特徴集約ブロックは、アップサンプリング演算(UP)130、その後の二次元畳み込み層(Conv)とバッチ正規化(BN)と修正線形活性化関数(ReLu)演算とを包含するシーケンス131、その後の連結(Concat)演算132、そして二次元畳み込み層(Conv)とバッチ正規化(BN)と修正線形活性化関数(ReLu)演算とを包含する最終シーケンス133を包含する。
【0119】
図2eは、図2aの二次元空間ピラミッドプーリングブロック107の可能な例示的構成を例示的に示す。例示的な二次元空間ピラミッドプーリングブロックへの入力は5個のブロック134,135,136,137,138へ送られ、4個の並列ブランチ134,135,136,137の各々は、プーリング層(Pool)と畳み込み層(Conv)とアップサンプリング演算(Up-sample)とのシーケンスを包含し、そして4個の並列ブランチ134,135,136,137の出力は、二次元空間ピラミッドプーリングブロックの入力に対応する第5ブランチ138と加算演算(Sum)139を介して統合されて、二次元空間ピラミッドプーリングブロックの出力が生成される、つまりブランチ138は4個の並列ブランチ134,135,136,137の演算をスキップする。
【0120】
図3aは、図2aに示されている例示的な符号器100の出力115,116,117,118に続き得る例示的で可能な畳み込みニューラルネットワークアーキテクチャの例示的な一部を示す、つまり抽出特徴/特徴テンソル115,116,117,118が、図3aに示されている例示的な三次元復号器200の入力となる。
【0121】
例えば、例示的な(C=16,H/8,W/8)形状の三次元出力特徴テンソル/抽出特徴テンソル115は入力204となり、(C=16,H/16,W/16)形状の特徴テンソル116は入力203となり、(C=16,H/32,W/32)形状の特徴テンソル117は入力202となり、(C=32,H/64,W/64)形状の特徴テンソル118は復号器200の入力201となる。
【0122】
例示的な復号器200は、他の3個の中間焦点確率マップ280,290,300とともに最終の三次元焦点確率マップ310を出力し、その全てが(N,H,W)形状であって、Nは例えば焦点計画での異なる焦点位置の数であり、H及びWは図2aの入力画像101の高さ及び幅次元サイズに対応する。
【0123】
しかしながら、ここで焦点計画には指定されていないが畳み込みニューラルネットワークにより合成された追加の焦点位置もNが示すことが考えられ得る。このような合成/生成された焦点位置は、更なる追加焦点確率マップを入手し、それゆえ入手可能な深度分解能を高めるのに使用され得る。
【0124】
入力特徴/特徴テンソル201,202,203,204の各々は最初に専用のメモリブロック240,250,260,270を通過して、ここで過去画像/事前捕捉画像と事前処理画像の記憶特徴が検索されて、現在処理画像、例えば入力画像101と整合され、その結果、(C,N,H,W)形状の多次元テンソルが得られ、Cは特徴マップのチャネルの数であり、Nは焦点計画での異なる焦点距離の数であり、H及びWは抽出特徴、つまり特徴マップの場合に高さ及び幅次元の空間分解能を指す。この多次元テンソルは、現在処理画像について抽出された画像特徴に整合された事前処理画像から抽出された画像特徴を、所与のスケールについて表す。
【0125】
メモリブロックの一例が図4aに示されている。
【0126】
以下では、三次元(3D)演算又は層又はブロック、例えば3D残差畳み込みブロック又は3D空間ピラミッドプーリングブロック又は3Dマルチスケール特徴集約ブロックは、特徴テンソルの高さ及び幅次元、例えば、特徴マップの高さ及び幅次元に作用する/これに演算を行うとともに、焦点位置次元に作用する/これに演算を行うものとして理解され得る。高さ及び幅次元は、入力画像101の高さ及び幅次元とサイズが等しいかサイズが異なり得る。
【0127】
メモリブロック240,250,260,270の通過後に、一以上の三次元(3D)残差畳み込みブロック320,350,380,410が適用され得る。図3aでは、所与の特徴スケールについて三次元(3D)残差畳み込みブロックが一つのみ示されているが、一つより多い、例えば5個であってもよい。
【0128】
三次元(3D)残差畳み込みブロックの一例が図3bに示されている。
【0129】
残差畳み込みブロック320,350,380,410の各々の後には、三次元(3D)空間ピラミッドプーリングブロック330,360,390,420が続く。
【0130】
三次元(3D)空間ピラミッドプーリングブロックの一例が図3dに示されている。
【0131】
ピラミッドプーリングブロック330,360,390の出力の後に、例示的には二つのブランチが続く。
・一方のブランチ430,440,450では、入力画像101のサイズ/元の空間分解能にアップサンプリング(UP)が行われてから、畳み込み層(Conv)と、バッチ正規化(BN)と、修正線形活性化関数(ReLu)と、更なる畳み込み層(Conv)と、チャネルの数を1まで減少させる更なるバッチ正規化(BN)演算と、最終ソフトマックス演算とのシーケンスが続いて、中間焦点確率マップ280,290,300が得られる。
・他方のブランチ431,441,451は、三次元空間ピラミッドプーリングブロックの出力をメモリブロック250,260,270の出力と統合する三次元(3D)マルチスケール集約ブロック340,370,400を包含する。明確に記すと、示されている例示的アーキテクチャでは、メモリブロック250の出力が三次元空間ピラミッドプーリングブロック330の出力と統合され、メモリブロック260の出力が三次元空間ピラミッドプーリングブロック360の出力と統合され、メモリブロック270の出力が三次元空間ピラミッドプーリングブロック390の出力と統合される。
【0132】
三次元(3D)マルチスケール集約ブロックの一例が図3cに示されている。
【0133】
全てのスケールからの特徴が集約された後に、そして最後の三次元残差畳み込みブロック410と最後の三次元空間ピラミッドプーリングブロック360とを通過した後に、畳み込み層(Conv)とバッチ正規化(BN)と修正線形活性化関数(ReLu)と更なる畳み込み層(Conv)と更なるバッチ正規化(BN)演算と最終ソフトマックス演算とを包含する最後のシーケンス460を適用することにより、最終焦点確率マップ310が得られる。
【0134】
畳み込みニューラルネットワークにより出力される最終の焦点確率マップ310、fpmを使用すると、Σ fpmn,i,j* f=dmapi,jを介して二次元深度マップdmapi,jを得ることができ、i,jは高さ及び幅次元についての自然数インデックスであり、fは、焦点計画の固有焦点位置と畳み込みニューラルネットワークにより合成/生成された更なる固有焦点位置とを包含し得る固有焦点位置であり、nは自然数インデックスである。
【0135】
図3bは、例示的な畳み込みニューラルネットワークアーキテクチャについての図3aの例示的な三次元復号器200で使用され得る三次元残差畳み込みブロック320,250,380,410の例示的構成を示す。
【0136】
三次元残差畳み込みブロックは、二つのブランチ501,502を包含し得る。
【0137】
例示的なブランチ501は、三次元畳み込み層(Conv)とバッチ正規化(BN)と修正線形活性化関数(ReLu)演算とを包含する第1シーケンス503と、バッチ正規化(BN)と修正線形活性化関数(ReLu)演算とを包含する第2シーケンス504とを包含する。
【0138】
例示的ブランチ502は、三次元畳み込み層(Conv)とバッチ正規化(BN)演算との単一のシーケンスのみを包含する。
【0139】
例示的な二つのブランチの出力は加算(Sum)演算506を使用して統合され、三次元残差畳み込みブロックの出力は、最終の修正線形活性化関数(ReLu)演算507の後で得られる。
【0140】
図3cは、図3aの三次元マルチスケール特徴集約ブロック340,370,400について可能な例示的構成を示す。
【0141】
この例示的な三次元マルチスケール特徴集約ブロックはアップサンプリング演算(UP)508を包含し、その後には、三次元畳み込み層(Conv)とバッチ正規化(BN)と修正線形活性化関数(ReLu)演算とを包含するシーケンス509が続き、その後には、連結(Concat)演算510と、三次元畳み込み層(Conv)とバッチ正規化(BN)と修正線形活性化関数(ReLu)演算とを包含する最終シーケンス511が続く。
【0142】
前述した可能な合成焦点位置が三次元マルチスケール特徴集約ブロック内で生成され得ることが考えられる。例えば、連結(Concat)演算510の前に三次元アップサンプリング演算を使用して合成焦点位置が生成され得る。
【0143】
図3dは、図3aの三次元空間ピラミッドプーリングブロック330,360,390,420の可能な例示的構成を例示的に示す。
【0144】
例示的な三次元空間ピラミッドプーリングブロックへの入力は、5個のブランチ512,513,514,515,516に送られ、4個の並列ブランチ512,513,514,515の各々は、プーリング層(Pool)と畳み込み層(Conv)とアップサンプリング演算(Up-sample)とのシーケンスを包含し、そして4個の並列ブランチ512,513,514,515の出力は、三次元空間ピラミッドプーリングブロックの入力に対応する第5ブランチ516と加算演算(Sum)517を介して統合されて、三次元空間ピラミッドプーリングブロックの出力が生成される、つまりブランチ516は4個の並列ブランチ512,513,514,515の演算をスキップする。
【0145】
図4aは、図3aの復号器200のメモリブロック240,250,260,270の可能な例示的構成を示す。
【0146】
記憶プール4010として示されているメモリが包含され、所定数K個の事前捕捉/事前処理画像から抽出された画像特徴/特徴テンソルが記憶され得る。
【0147】
過去画像特徴記憶プール4010は例えば、最後のK個の画像の各々について図2aに示された2D復号器により捕捉画像から抽出された特徴/特徴テンソルを記憶することができ、Kは例えば、焦点位置の数であるNの自然数倍である。
【0148】
チャネル次元Cと高さ次元Hと幅次元Wとを含む(C,H,W)形状の三次元テンソルである所与のスケールについての現在処理画像の画像特徴4000も、記憶プール4010に記憶され得る。
【0149】
メモリブロックは更に、記憶プール4010に記憶された特徴/特徴テンソル、例えばK個の事前捕捉/事前処理画像から抽出された特徴/特徴テンソルを、現在処理画像から抽出された特徴/特徴テンソルとともに入力として取り入れて、時系列で最後の焦点位置、つまり現在処理画像の焦点位置に整合された各焦点位置/各焦点面の画像特徴を表す(C,N,H,W)形状の四次元テンソル4020を出力できる特徴整合ブロック4020を包含し得る。
【0150】
ここで、Cはやはりチャネル次元を、Nは焦点位置次元を、Hは高さ次元を、Wは現在処理画像/画像特徴/画像特徴テンソル/特徴マップの幅次元を指す。
【0151】
図4bは、上述した例示的な特徴整合ブロック4020の構成の例示的な概略を示す。
【0152】
例示的な特徴整合ブロック4020は、二つの入力、つまり現在処理画像からの三次元画像特徴/三次元特徴テンソル4040と、所定数K個の事前捕捉/事前処理画像から抽出された画像特徴を表して過去画像特徴記憶プールに、例えば過去画像特徴記憶プール4010に記憶された四次元テンソル4050とを有する。
【0153】
例示的な特徴整合ブロック4020は更に、少なくとも一つの特徴整合ヘッド4060と特徴結合演算子4070、例えば加算演算子とを包含して、現在処理画像の画像特徴に整合された全ての処理画像の画像特徴を表す多次元テンソル、つまり時系列的に最後の焦点位置、つまり現在処理画像の焦点位置に整合された各焦点位置/各焦点面の画像特徴を表す(C,N,H,W)形状の四次元テンソル4030,4080を出力として生成する。
【0154】
特徴整合ヘッド4060は上述の入力を、分解能の異なるパッチ、つまり、1×1サイズ(入力された特徴が変化なく残ることを意味する)のパッチから、例えばH×W(入力された特徴テンソル全体が一つのパッチとして扱われることを意味する)までの範囲の、入力された特徴と比較して高さh及び幅wのサイズが異なるパッチに分割する。
【0155】
図4cは、図3aに示された畳み込みニューラルネットワークアーキテクチャの例示的な復号器200で使用され得る特徴整合ブロック4020からの特徴整合ヘッド4060などの例示的特徴整合ヘッドの例示的構成を示す。
【0156】
現在画像特徴/特徴テンソル4090の入力、つまり現在処理画像から抽出された画像特徴の入力は、ブランチ4091を介して、前に指摘されるとともに以下で更に詳述されるように時間、空間、及び焦点位置の情報を、現在処理画像から抽出された画像特徴4090に埋め込む(第1)四次元符号化ブロック4110に供給される。
【0157】
事前捕捉画像から抽出された、例えば所定数K個の事前捕捉/事前処理画像から抽出された画像特徴である過去画像特徴4100の入力は、ブランチ4101を介して、時間、空間、及び焦点位置の情報を、事前捕捉画像から抽出された特徴に埋め込む別の(第2)四次元符号化ブロック4190に供給される。
【0158】
例えば前に指摘したように、四次元符号化Eは以下の二つの方程式に従って構成され、
αは補正定数であって、好ましくは、αはCより大きく、チャネルの数又はチャネル次元サイズx,yは空間画素座標であり、tは時間つまり画像特徴が抽出された捕捉画像の時間的位置/時点/タイムスタンプ/タイムインデックスであって、t∈[0,K-1]であり、Kは事前捕捉画像の数、例えば捕捉画像の所定数であり、d∈[0,N-1]は符号化される所与の画像の焦点面位置/焦点位置/焦点位置インデックスであり、Nは画像又は焦点位置の総数、例えば焦点計画での画像の数、あるいは焦点計画での画像数と焦点計画の画像から導出された画像の数との和であり、この導出画像は、焦点計画に従って捕捉された画像の内挿又は外挿入により導出され、i∈[0,C/2]はチャネルの数を符号化の為の偶数及び奇数チャネルに分割するのに使用されるインデックスである。
【0159】
例示的符号化Ei,x,yi+1,x,yで構成されるこの例示的符号化Eは、所与のパッチ幅
【0160】
、そして事前捕捉画像からの画像特徴/特徴テンソル4100の各々への、つまり過去の
【0161】
四次元符号化ブロック4110では、
徴/特徴テンソルの符号化を示す。
【0162】
四次元符号化ブロック4110による現在画像特徴の四次元符号化の後に、二次元畳み込み層(Conv)とバッチ正規化(BN)とのシーケンス4121がEFに適用され、四次元符号化ブロック4110の出力ブランチ4120でEFqueryが得られる。
【0163】
同様に、四次元符号化ブロック4190による過去画像特徴の四次元符号化の後に、バッチ正規化(BN)を含む二次元畳み込み層(Conv)のシーケンス4131がEPFに適用され、四次元符号化ブロック4190の出力ブランチ4130でEPFkeyが得られる。
【0164】
ここで、上付き文字のquery及びkeyは、以下で更に説明するように検索システムの概念を例示的に言及するものとしての役割を持つ。
【0165】
出力ブランチ4120及び4130からの出力は、パッチ別類似度ブロック4150への入力として供給される。
【0166】
【0167】
そして、再形成されたEFquery′とEPFkey′のK個の特徴テンソルの各々との間の類似度が計算される。この類似度演算はパッチ別類似度ブロック4150により計算され、例えば、以下のように、EFquery′=EF′ and EPFkey′=EPF′である。
徴との間の類似度スコアである。
【0168】
特に、Simk,i,i′は、現在処理画像の特徴テンソルのパッチiがK個の過去/事前捕捉画像の特徴テンソルのパッチjとどれほど類似しているかを表すものとして理解され得る。
【0169】
EF’及びEPF’は、[(H*W)/(w*h),w*h*C]の形状を有し、w及びhはそれぞれパッチ幅及び高さである。例えば[1,1]のパッチサイズを想定すると、形状は[H*W,C]である。結果的に、インデックスi及びインデックスi’は[0,(H*W)-1]の範囲、インデックスjは[0,C-1]の範囲を有するだろう。
【0170】
そして、類似度スコアは、パッチ別類似度ブロック4150により、確率に変換される。
の特性を持つ正規化類似度スコアである。
この正規化類似度スコアSim’は、現在処理画像から抽出された画像特徴を処理する第1四次元(4D)符号化ブロック4110に続くブランチ4120から受理されるとともに、事前捕捉画像から抽出及び記憶された画像特徴、例えば所定数の捕捉画像、例えば過去のK個の画像から抽出及び記憶された画像特徴を処理する第2四次元(4D)符号化ブロック4190に続く(第1、上方)ブランチ4130から受理された入力を処理した後のパッチ別類似度ブロック4150の出力4151である/これを表す。
【0171】
完全性の為に、本明細書に記載される類似度スコアは単に例示的であることと、現在処理画像特徴と事前処理及び記憶画像特徴との類似度測定手段を導出するのに他の類似度関数も使用され得ることとに留意していただきたい。上に記載された例示的なユークリッド類似度の代わりに、他の類似度関数、例えばコサイン類似度あるいは行列乗算を使用する類度演算、あるいは二つのサンプルを比較できる他の関数が適用され得る。
【0172】
第2四次元(4D)符号化ブロック4190の他の(第2、下方)ブランチ4140は、二次元畳み込み層(Conv)とバッチ正規化(BN)演算とを包含する第1シーケン
【0173】
ブランチ4140は更に行列乗算演算/層4143(Matmul)を包含し、パッチ別類似度ブロック4150からの正規化類似度スコアSim’にEPFv’が掛けられて
【0174】
現在処理画像の高さ及び幅次元サイズに対応する。
【0175】
ここで、上付き文字v,v’は、ブランチ4140からのEPF及びEPFv’を、ブランチ4130からのEPFkey及びブランチ4120からのEFqueryから区別する役割を果たすに過ぎない。
【0176】
この再形成は、行列乗算演算/層4143(Matmul)の一部であり得るか、更に別の再形成演算/層(不図示)で実施され得る。
【0177】
そして、AFがブロック/演算/層4160により第1次元Kで分類され、同じ焦点位
【0178】
そして分類の後で、抽出特徴からの全ての情報が減算和演算/層4170(Reduce sum)を介して統合される。
された全ての処理済み焦点位置の画像特徴を表す少なくとも一つの多次元テンソルについての例である。前に指摘したように、全ての処理画像の全ての画像特徴でなく、現在処理画像の画像特徴に整合された処理画像/事前捕捉/過去画像のうち少なくとも画像特徴を表す多次元テンソルを生成することも可能である。
【0179】
本明細書に記載の例示的なメモリブロック及び特徴整合ヘッドは、事前処理及び記憶画像特徴を現在処理画像の画像特徴に整合する為にクエリが行われ得るキー・値ペア構造に画像特徴が記憶され得る検索システムのデータ構造モデルを形成するものと理解され得る。
【0180】
例えば、キー・値ペア構造の値は、下方ブランチ4140でのバッチ正規化(BN)を含む二次元畳み込み層(Conv)を包含するシーケンス4141を適用した後の事前処
れるものとして理解され、キーは、4D位置符号化ブロック4190に続く上方ブランチ4140でのバッチ正規化(BN)を含む二次元畳み込み層(Conv)を包含するシーケンス4131を適用した後の事前処理記憶画像の画像特徴の四次元テンソルEPFkey
【0181】
画像特徴を処理した四次元符号化ブロック4110の出力ブランチ4120でのEFqueryのコンテンツである/これにより表されると理解され得る。
【0182】
ッピングされる検索システムのキー集合を表し、このクエリに最も適合するキー集合からの特定値又はコンテンツ又はキーが得られる。
【0183】
完全性の為、ブランチ4130及び4140で適用される畳み込み層の重みが異なることに留意していただきたい。重みはとりわけ、例えば畳み込みネットワークの訓練中に学習/最適化されている。
【0184】
図5は、以下のステップの一つ、幾つか、又は全てを包含し得る、異なる焦点位置でカメラにより撮影される複数の画像から深度情報を抽出する為の方法800の例示的なフローチャートを示す。
・カメラの時系列の焦点位置を指定する所定の焦点計画に従って異なる焦点位置においてシーンの画像シーケンスをカメラで捕捉すること(801)であって、焦点計画は、複数の固有及び/又は非固有、例えば二重の焦点位置の組み合わせを包含し得る。
・畳み込みニューラルネットワークを包含する機械学習アルゴリズムにより、所定数の捕捉画像の画像特徴を抽出して(802)、抽出された画像特徴を記憶することであって、畳み込みニューラルネットワークは、例えば、図2a,2b,2c,2d,2e,3a,3b,3c,3d,4a,4b,4cに例示的に記載されているような構成を包含し、記憶は、メモリブロック240,250,260,270内に、例えば特徴記憶プール4010に特徴を記憶することを包含し得る。
・所定数の捕捉画像から画像特徴を抽出及び記憶した後に、機械学習アルゴリズムにより、画像特徴がまだ抽出されていない捕捉画像を処理することであって、捕捉画像は現在処理画像、例えば入力画像101を表す。
・処理は、機械学習アルゴリズムにより現在処理画像から画像特徴を抽出することと、抽出された画像特徴を記憶することとを包含する。
・処理は更に、事前捕捉画像から記憶された画像特徴を現在処理画像の画像特徴と整合することを包含し、例えば、図3a,4a,4b,4cに例示的に記載されているようにメモリブロックの特徴整合ヘッドにより整合が実行される。
・処理は更に、上に記載したように、現在処理画像の画像特徴に整合された全ての処理
テンソルを生成することを包含する。
・所定の焦点計画で指定された焦点位置と、生成された少なくとも一つの多次元テンソルとを使用して、二次元深度マップを生成すること。
【0185】
図6は、上に例示的に記載されたアーキテクチャを含む畳み込みニューラルネットワークを包含する機械学習アルゴリズム630について可能な訓練プロトコルの概略的な例を示す。
【0186】
ここで、現実の物理的世界から複数の異なるシーンについての焦点計画620に従って異なる焦点位置を焦点とする複数の捕捉画像/捕捉画像のシーケンス600を包含する訓練サンプルが、前に記載されたステップに従って処理され、所定数の捕捉画像が処理された後に各画像について一つの焦点確率マップのシーケンス640が得られる。
【0187】
捕捉画像は、同じカメラで、又は異なるカメラで撮影されている。言い換えると、本明細書に記載の方法はカメラのタイプに依存しない、つまり特定タイプのカメラの使用に制限されない。
【0188】
訓練サンプルの画像のシーケンス600で捕捉されたシーンは、例えば、静的又は動的である、つまりシーンにおける物体又は被写体の移動により、及び/又は、カメラの移動により、例えばユーザの手でカメラが保持される際の振動により、あるいはカメラの位置変更により、画像間に移動が見られる。
【0189】
得られた焦点確率マップは、既知の焦点計画620からの焦点位置を使用して現実の距離に再マッピング(670)される。
【0190】
その結果、グラウンドトゥルース深度マップ610つまり既知/予測による深度マップとともに、損失関数660への入力として使用される予測/推定による深度マップのシーケンスが得られる。
【0191】
損失関数660は、推定/予測深度マップが予測による既知のグラウンドトゥルース深度マップに対してどれほど異なっているかについての測定手段である。
【0192】
畳み込みニューラルネットワークを包含する機械学習アルゴリズム630の訓練は、損失関数が所望/指定の最小値に達して畳み込みニューラルネットワークの最適モデルパラメータが判断されるまで行われる。
【0193】
損失関数の最小化は、勾配降下アルゴリズムを使用するなどの最適化技術により達成され得る。
【0194】
しかしながら、他の最適化技術、例えば疑似アニーリング法、遺伝的アルゴリズム、又はマルコフ連鎖モンテカルロアルゴリズムが、損失関数を最小にして、機械学習アルゴリズム/畳み込みニューラルネットワークの最適モデルパラメータを訓練から判断するように適用され得る。
【0195】
訓練を更に最適化する為、意味的に正しい深度マップを良好に導出するのに視覚的な手掛かりが使用され得る。例えば、物体が別の物体を遮蔽している時には遮蔽物体が被遮蔽物体よりカメラに近いことを認識するように畳み込みニューラルネットワークが訓練され得る。
【符号の説明】
【0196】
図1,2a,2b,2c,2d,2e,3a,3b,3c,3d,4a,4b,4c,5,6において、参照符号は以下の例示的コンポーネント及び例示的ステップを示す。
700 画像ストリーム、複数の画像
710 焦点計画
720 畳み込みニューラルネットワークを包含する機械学習アルゴリズム
730 焦点確率マップ
740 現実の物理的距離への再マッピング
750 推定/抽出による深度マップ
100 畳み込みニューラルネットワークの二次元符号器
101 入力画像/現在処理画像
102 二次元畳み込み/畳み込みブロック/層
103,104,105,106 二次元残差畳み込み/畳み込みブロック/層
107 二次元空間ピラミッドプーリングブロック/層
108,109,110 二次元マルチスケール特徴集約ブロック/層
111,112,113,114 畳み込みニューラルネットワークのブロック/層のシーケンス
111a,112a,113a,114a 畳み込み/畳み込み層/ブロック/演算
111b,112b,113b,114b バッチ正規化層/ブロック/演算
111c,112c,113c,114c 修正線形活性化関数層/ブロック/演算
115,116,117,118 出力/抽出された特徴/特徴テンソル
119,120,121 2D畳み込みの層/畳み込みブロック/層のブロック/層シーケンス
122 2D畳み込み/畳み込みブロック/層のプーリングブロック/層
123 二次元畳み込み層とバッチ正規化と修正線形活性化関数演算とのシーケンス
124,127 二次元畳み込み層とバッチ正規化とのシーケンス
125 加算層/ブロック/演算
126 修正線形活性化関数演算
128,129 2D残差畳み込み/畳み込みブロック/層のブランチ
130 アップサンプリング層/ブロック/演算
131,133 二次元畳み込み層とバッチ正規化と修正線形活性化関数演算とのシーケンス
132 連結層/ブロック/演算
134,135,136,137,138 2D空間ピラミッドプーリングブロック/層のブランチ
139 加算層/ブロック/演算
200 復号器/復号層
201,202,203,204 入力特徴/特徴テンソル
240,250,260,270 メモリブロック
340,370,400 三次元マルチスケール特徴集約ブロック/層
320,350,380,410 3D残差畳み込み/畳み込みブロック/層
330,360,390,420 3D空間ピラミッドプーリングブロック/層
430,431,440,441,450,451,461 3D空間ピラミッドプーリングブロック/層の出力ブランチ
280,290,300 中間焦点確率マップ
310 最終焦点確率マップ
501,502 3D残差畳み込みのブランチ/畳み込みブロック/層のブランチ
503 二次元畳み込み層とバッチ正規化と修正線形活性化関数演算とのシーケンス
504,505 二次元畳み込み層とバッチ正規化とのシーケンス
506 加算層/ブロック/演算
507 修正線形活性化関数演算
508 アップサンプリング層/ブロック/演算
509,511 二次元畳み込み層とバッチ正規化と修正線形活性化関数演算とのシーケンス
510 連結層/ブロック/演算
512,513,514,515,516 3D空間ピラミッドプーリングブロック/層のブランチ
518 加算層/ブロック/演算
4000 現在処理画像の画像特徴
4010 事前処理画像/特徴記憶プールから画像特徴/特徴を記憶するコンピュータ可読メモリ
4020 特徴整合ブロック
4030 時系列的に最後の焦点位置、つまり現在焦点位置に整合された各焦点位置の/各焦点面の画像特徴
4040 現在処理画像の画像特徴
4050 事前処理画像の画像特徴
4060 特徴整合ヘッド
4070 特徴結合演算子/ブロック/層
4080 時系列的に最後の焦点位置つまり現在焦点位置に整合された各焦点位置の/各焦点面の画像特徴
4090 現在処理画像の画像特徴
4100 事前処理画像の画像特徴
4110,4190 4D位置符号化ブロック/層/演算
4121,4131,4141 バッチ正規化を含む二次元畳み込み層のシーケンス
4120 4D位置符号化ブロック4110のブランチ
4130,4140 4D位置符号化ブロック4190のブランチ
4142 再形成層/ブロック/演算
4143 行列乗算層/ブロック/演算
4150 パッチ別類似度ブロック/層/演算
4160 焦点位置分類の為のブロック/層/演算
4170 減算和演算/層
4180 時系列的に最後の焦点位置つまり現在焦点位置に整合された各焦点位置の/各焦点面の画像特徴
800 異なる焦点位置でカメラにより撮影された複数の画像から深度情報を抽出する為の方法
801,802,803,804,805,806,807 方法ステップ
600 訓練サンプル画像のシーケンス
610 既知/予想/グラウンドトゥルース深度マップのシーケンス
620 焦点計画
630 畳み込みニューラルネットワークを包含する機械学習アルゴリズム
640 得られた焦点確率マップのシーケンス
660 損失関数
670 推定/予測深度マップを得る為の現実の物理的距離への再マッピング演算
図1
図2a
図2b
図2c
図2d
図2e
図3a
図3b
図3c
図3d
図4a
図4b
図4c
図5
図6