(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024056655
(43)【公開日】2024-04-23
(54)【発明の名称】幾何学的ビジョンモデルの教師なし事前学習
(51)【国際特許分類】
G06T 7/00 20170101AFI20240416BHJP
【FI】
G06T7/00 350B
【審査請求】有
【請求項の数】24
【出願形態】OL
(21)【出願番号】P 2023175164
(22)【出願日】2023-10-10
(31)【優先権主張番号】22306534.3
(32)【優先日】2022-10-11
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】18/230414
(32)【優先日】2023-08-04
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.SWIFT
2.SMALLTALK
3.MATLAB
4.SIMULINK
(71)【出願人】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(71)【出願人】
【識別番号】319012978
【氏名又は名称】ネイバーラボス コーポレーション
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ブレジエ,ロマン
(72)【発明者】
【氏名】カボン,ヨハン
(72)【発明者】
【氏名】ルーカス,トマス
(72)【発明者】
【氏名】レヴォー,ジェローム
(72)【発明者】
【氏名】ヴァインザエペル,フィリップ
(72)【発明者】
【氏名】チドロフスキー,ボリス
(72)【発明者】
【氏名】ルロイ,ヴァンサン
(72)【発明者】
【氏名】アンツフェルド,レオニッド
(72)【発明者】
【氏名】ケダリ クスルカ,ガブリエラ
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096CA04
5L096CA05
5L096DA02
5L096FA66
5L096GA10
5L096HA11
5L096KA04
(57)【要約】
【課題】 幾何学的ビジョンタスクのための機械学習モデルを訓練するための方法を開示する。
【解決手段】 開示される方法は、エンコーダおよびデコーダを含むモデルの教師なし事前学習を実行する段階、および幾何学的ビジョンタスクのために、事前学習されたエンコーダパラメータのセットで初期化されたモデルを微調整する段階を含み、モデルの教師なし事前学習を実行する段階は、異なる条件または異なる時点で第1画像および第2画像を取得する段階、エンコーダによって、第1画像を第1画像表現にエンコードし、第2画像を第2画像表現にエンコードする段階、第1画像表現を変換された表現に変換する段階、デコーダによって、変換された表現を再構成された画像にデコードする段階、および損失の最小化に基づいて、エンコーダおよびデコーダのうちの少なくとも1以上のパラメータを調整する段階を含み、第1画像表現を変換する段階および変換された表現をデコードする段階は、第1画像表現および第2画像表現に基づく。
【選択図】
図1
【特許請求の範囲】
【請求項1】
幾何学的下流ビジョンタスクのためのタスク特定機械学習モデルを訓練するコンピュータ実現機械学習方法であって、
当該方法は、
エンコーダパラメータのセットを有するエンコーダとデコーダパラメータのセットを有するデコーダを含む機械学習モデルの教師なし(unsupervised)事前学習を実行する段階、
前記事前学習された機械学習モデルに基づいて、前記幾何学的下流ビジョンタスクのための、タスク特定エンコーダパラメータのセットを有するタスク特定エンコーダを含む前記タスク特定機械学習モデルを構成する段階、
前記事前学習された機械学習モデルの前記エンコーダパラメータのセットで前記タスク特定エンコーダパラメータのセットを初期化する段階、
前記幾何学的下流ビジョンタスクのために、前記エンコーダパラメータのセットで初期化された前記タスク特定機械学習モデルを微調整する段階
を含み、
前記機械学習モデルの前記教師なし事前学習を実行する段階は、
同じシーンを描写し、異なる条件または異なる視点で撮影された第1画像と第2画像を含む注釈なし画像のペアを取得する段階、
前記エンコーダにより、前記第1画像を第1画像表現にエンコードし、前記第2画像を第2画像表現にエンコードする段階、
前記第1画像表現を変換された表現に変換する段階、
前記デコーダによって、前記変換された表現を再構成された画像にデコードする段階、および
損失の最小化に基づき、前記エンコーダと前記デコーダのうちの少なくとも一方の少なくとも1つのパラメータを調整する段階
を含み、
前記第1画像表現を変換する段階と前記変換された表現をデコードする段階は、前記第1画像表現と前記第2画像表現に基づく、
方法。
【請求項2】
前記機械学習モデルの前記教師なし事前学習は、クロスビュー整列(cross-view alignment)事前学習であり、
前記第1画像表現を変換する段階は、
前記変換された表現を生成するために、前記第1画像表現に変換を適用する段階
を含み、
前記変換は、前記変換された表現が前記第2画像表現に近似するように、前記第1画像表現および前記第2画像表現に基づいて決定される、
請求項1に記載の方法。
【請求項3】
前記機械学習モデルの前記教師なし事前学習は、クロスビュー整列事前学習であり、
前記損失は、前記再構成された画像と前記第2画像の差を定量化するメトリックに基づく、
請求項1に記載の方法。
【請求項4】
前記機械学習モデルの前記教師なし事前学習は、クロスビュー整列事前学習であり、
前記損失は、前記変換された表現と前記第2画像表現の差を定量化するメトリックに基づく、
請求項1に記載の方法。
【請求項5】
前記第1画像表現は、第1のn個のベクトルのセット:
【数1】
であり、
前記第2画像表現は、第2のn個のベクトルのセット:
【数2】
であり、
前記変換を適用する段階は、
D次元等辺部分と(K-D)次元不変部分で、前記第1のベクトルのセットと前記第2のベクトルのセットの各ベクトルを分解する段階、および
(D×D)次元変換行列(Ω)を、前記第1のベクトルのセットの各ベクトルの前記等辺部分に適用する段階
を含み、
0<D≦Kである、
請求項2に記載の方法。
【請求項6】
前記変換はD次元回転であり、前記変換行列(Ω)はD次元回転行列であり、
前記変換行列(Ω)は、前記第1のベクトルのセットのベクトルの等辺部分を前記第2のベクトルのセットのそれぞれのベクトルの等辺部分と整列させることに基づいて設定される、
請求項5に記載の方法。
【請求項7】
下記数式に基づいて前記変換行列(Ω)を決定する段階、
【数3】
をさらに含み、
ここで、x
i,i
equivはベクトルx
i,jの等辺部分を示し、x
2,i
equivはベクトルx
2,iの等辺部分を表し、SO(D)はD次元回転グループを示す、
請求項5に記載の方法。
【請求項8】
前記教師なし事前学習は、クロスビュー完成(cross-view completion)事前学習であり、
前記機械学習モデルの前記クロスビュー完成事前学習を実行する段階、
第1画像を第1の素集合パッチのセットに分割し、第2画像を第2の素集合パッチのセットに分割する段階、
前記第1の素集合パッチのセットのパッチのうちの少なくとも1つをマスキングする段階
をさらに含み、
前記第1画像を前記第1画像表現にエンコードする段階は、
前記エンコーダによって、前記第1の素集合パッチのセットの各マスキングされていないパッチを、対応する各マスキングされていないパッチ表現にエンコードして第1パッチ表現セットを生成する段階、
を含み、
前記第2画像を前記第2画像表現にエンコードする段階は、
前記エンコーダにより、前記第2の素集合パッチのセットの各パッチを、対応するそれぞれのパッチ表現にエンコードして第2パッチ表現セットを生成する段階、
を含み、
前記変換された表現をデコードする段階は、
前記デコーダによって、前記第1の素集合パッチのセットの各マスキングされたパッチに対して、前記変換された表現および前記第2パッチ表現セットに基づいてそれぞれのマスキングされたパッチに対して予測された再構成を生成する段階、
を含み、
損失関数は、各マスキングされたパッチとそれぞれの予測された再構成の差を定量化するメトリックに基づく、
請求項1に記載の方法。
【請求項9】
前記第1画像表現を前記変換された表現に変換する段階は、
前記第1の素集合パッチのセットの各マスキングされたパッチに対して、前記第1パッチ表現セットを前記マスキングされたパッチのそれぞれの学習された表現でパッチングする段階
をさらに含む、
請求項8に記載の方法。
【請求項10】
各学習された表現は、表現パラメータのセットを含む、
請求項9に記載の方法。
【請求項11】
前記第1の素集合パッチのセットのマスキングされたパッチの予測された再構成を生成する段階は、
前記デコーダによって、前記マスキングされたパッチの前記学習された表現を前記マスキングされたパッチの前記予測された再構成にデコードする段階、
を含み、
ここで、前記デコーダは、前記第1パッチ表現セットおよび前記第2パッチ表現セットを入力データとして受信し、前記入力データに基づいて前記マスキングされたパッチの前記学習された表現をデコードし、
当該方法は、
それぞれの表現パラメータのセットを調整することにより、マスキングされたパッチの学習された表現を調整する段階
をさらに含む、
請求項9に記載の方法。
【請求項12】
前記それぞれの表現パラメータのセットを調整することは、前記損失の最小化に基づいて前記表現パラメータのセットを調整することを含む、
請求項11に記載の方法。
【請求項13】
前記タスク特定機械学習モデルを微調整する段階は、
前記タスク特定機械学習モデルの教師あり(supervised)微調整を実行する段階
を含む、
請求項1に記載の方法。
【請求項14】
前記教師あり微調整は、
i)前記幾何学的下流ビジョンタスクによって出力データを生成するために、前記幾何学的下流ビジョンタスクに対するグランドトゥルースデータとして注釈が付いている1つ以上の注釈付き画像に前記タスク特定機械学習モデルを適用すること、および
ii)前記生成された出力データとグランドトゥルースデータの差を定量化するメトリックに基づくタスク特定損失の最小化に基づいて前記タスク特定機械学習モデルのタスク特定エンコーダパラメータのセットを調整することにより、前記タスク特定機械学習モデルを調整すること
を含む、請求項13に記載の方法。
【請求項15】
予め定められた回数または前記タスク特定損失の最小値に達するまで、i)とii)を繰り返す段階
をさらに含む、請求項14に記載の方法。
【請求項16】
幾何学的下流ビジョンタスクのために1つ以上の新たな画像から予測データを抽出するために、前記1つ以上の新たな画像に前記微調整されたタスク特定機械学習モデルを適用する段階
をさらに含む、請求項14に記載の方法。
【請求項17】
前記幾何学的下流ビジョンタスクは、相対姿勢の推定である、
請求項16に記載の方法。
【請求項18】
前記微調整されたタスク特定機械学習モデルを適用する段階は、
新たな画像ペアの画像間の相対的回転と相対的変形を予測データとして抽出するために、前記新たな画像ペアに前記微調整されたタスク特定機械学習モデルを適用する段階
を含み、
前記新たな画像ペアの前記画像は、同じシーンの2つのビューを描写する、
請求項17に記載の方法。
【請求項19】
前記幾何学的下流ビジョンタスクは、深度の推定である、
請求項16に記載の方法。
【請求項20】
前記微調整されたタスク特定機械学習モデルを適用する段階は、
1つ以上の新たな画像から1つ以上の深度マップを予測データとして抽出するために、前記1つ以上の新たな画像に前記微調整されたタスク特定機械学習モデルを適用する段階
を含む、請求項19に記載の方法。
【請求項21】
前記幾何学的下流ビジョンタスクは、オプティカルフローの推定である、
請求項16に記載の方法。
【請求項22】
前記微調整されたタスク特定機械学習モデルを適用する段階は、
複数のピクセルペアを前記予測データとして生成するために、新たな第1画像および新たな第2画像を含む新たな画像ペアに前記微調整されたタスク特定機械学習モデルを適用する段階
を含み、
各ピクセルペアは、前記新たな第1画像のピクセルと前記新たな第2画像の対応するピクセルを含み、
前記新たな第1画像と前記新たな第2画像は、異なる条件または異なる視点で同じシーンを描写する、
請求項21に記載の方法。
【請求項23】
幾何学的下流ビジョンタスクによって予測データを生成するためのコンピュータ実現機械学習方法であって、
当該方法は、
第1機械学習モデルのクロスビュー整列事前学習を使用して、前記幾何学的下流ビジョンタスクに対して第1タスク特定機械学習モデルを訓練する段階、
第2プレテキスト機械学習モデルのクロスビュー完成事前学習を使用して、前記幾何学的下流ビジョンタスクに対して第2タスク特定機械学習モデルを訓練する段階、
少なくとも1つの画像に前記訓練された第1タスク特定機械学習モデルを適用することにより、前記幾何学的下流ビジョンタスクによって第1予測データを生成する段階、
前記少なくとも1つの画像に前記訓練された第2タスク特定機械学習モデルを適用することにより、前記幾何学的下流ビジョンタスクによって第2予測データを生成する段階、
前記第1予測データに対する第1信頼値および前記第2予測データに対する第2信頼値を決定する段階、および
前記第1信頼値および前記第2信頼値に基づいて前記第1予測データと前記第2予測データをともに融合することにより、前記幾何学的下流ビジョンタスクによって結果的な予測データを生成する段階
含む、方法。
【請求項24】
コンピューティングシステムであって、
1つ以上のプロセッサ、および
前記1つ以上のプロセッサによって実行されるときに以下を実行するコードを含むメモリ
を含み、
前記コードは、
エンコーダパラメータのセットを有するエンコーダとデコーダパラメータのセットを有するデコーダを含む機械学習モデルの教師なし事前学習を実行し、
前記事前学習された機械学習モデルに基づいて、幾何学的下流ビジョンタスクのための、タスク特定エンコーダパラメータを有するタスク特定エンコーダを含むタスク特定機械学習モデルを構成し、
前記事前学習された機械学習モデルの前記エンコーダパラメータのセットで前記タスク特定エンコーダパラメータのセットを初期化し、
前記幾何学的下流ビジョンタスクのために、前記エンコーダパラメータのセットで初期化された前記タスク特定機械学習モデルを微調整し、
前記機械学習モデルの前記教師なし事前学習の実行は、
同じシーンを描写し、異なる条件または異なる視点で撮影された第1画像および第2画像を含む注釈なし画像のペアを取得すること、
前記エンコーダによって、前記第1画像を第1画像表現にエンコードし、前記第2画像を第2画像表現にエンコードすること、
前記第1画像表現を変換された表現に変換すること、
前記デコーダによって、前記変換された表現を再構成された画像にデコードすること、
損失の最小化に基づき、前記エンコーダおよび前記デコーダのうちの少なくとも一方の少なくとも1つのパラメータを調整すること
を含み、
前記第1画像表現を変換することと前記変換された表現をデコードすることは、前記第1画像表現および前記第2画像表現に基づく、
コンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2022年10月11日に出願された欧州特許出願EP22306534.3号の利益を主張するものであって、この出願のすべての開示内容の参照としてここに含まれる。
【0002】
本開示は、コンピュータ基盤の画像分析に関し、より詳細には、幾何学的ビジョンタスクに対する機械学習モデルを訓練するためのシステム、方法、およびコンピュータ読み取り可能な媒体に関する。
【背景技術】
【0003】
ここで提供する説明は、本開示の脈略を一般的に提示するためのものである。ここで指名されている発明者の研究は、ここで説明する範囲だけでなく、出願当時には先行技術としての資格がなかった説明の側面まで、明示的かつ黙示的に本開示の先行技術として認定されない。
【0004】
人間の視覚は、2つの光学センサ(目)と、高度に専門化された効果的な画像解析エンジン(脳の視覚関連部分)を基盤とする。目から検出された画像を脳が分析することにより、画像からオブジェクトとオブジェクトのエッジを認識し、オブジェクト距離を推定し、オブジェクト速度と以後のオブジェクト位置を推定する。
【0005】
このような画像分析能力は、自動車の運転、機械の操作、物体を掴んだり投げたりする行為、金づちで釘を打つ行為、群衆の中から探索する行為など、人間の日常的な活動において極めて重要である。
【0006】
コンピュータ基盤の装置は、人間の活動を自律的に実行するように構成されているが、この目標を達成するための要素として、コンピュータ基盤の装置に人間の視覚を模倣したコンピュータビジョンを提供することが挙げられる。
【0007】
コンピュータビジョンシステムは、人間の視覚システムと同じように画像を解析するように構成される。コンピュータビジョンシステムは、コンピュータ基盤の装置が、オブジェクトおよびエッジの認識、単眼または両眼深度の推定、オプティカルフローの推定、または姿勢の推定などのような高度な視覚関連タスクを実行できるようにするために、人間の脳の画像分析能力に対する十分な近似を提供する。深度の推定、オプティカルフローの推定、姿勢の推定などのような高度な視覚関連タスクは、描写されたシーンの3次元(3D)幾何学に対する理解を基盤とする。
【0008】
以下、このような高度な視覚関連タスクを、幾何学的ビジョンタスクと呼ぶことにする。コンピュータビジョン関連技術は、例えば、自律走行(自律的)車、自律型ロボット機械、その他の装置に使用される。コンピュータ基盤の幾何学的ビジョンタスクに対する性能の向上は、画像ベースの診断やテストのような他の技術分野にも大きな影響を与えるであろう。
【0009】
人工知能(AI)基盤の画像分析は、コンピュータビジョンに使用することができる。AI基盤の画像分析では、訓練された機械学習モデルが1つ以上の画像に適用され、1つ以上の画像から特定の幾何学的ビジョンタスクに関する分析データ(例えば、深度マップ、対応するピクセルのペア、オブジェクト速度など)を抽出する。抽出された分析データの品質は、機械学習モデルの訓練によって異なる。
【0010】
一般的に、機械学習モデルは、学習可能な多数のパラメータを含む。機械学習モデルの訓練は、訓練データのセットに対する特定のタスクの結果が最適となるパラメータのセットを見つけ出すことを目的とする。最適な結果からの偏差は、損失(例えば、損失関数の値)で表現される。最適なパラメータのセットを見つけ出すということは、損失関数の最小値につながるパラメータのセットを見つけ出すということに解釈される。訓練は、損失を最小化するために与えられたタスクに対して達成された結果の最適な結果に対する偏差に基づくため、AIシステムは、訓練の段階中に、改善のための最適な結果の指示(indication)を受信したりする。
【0011】
教師あり学習のアプローチ法は、特定のタスクに対する最適な結果を示すグランドトゥルースデータ(ground truth data)を含む、注釈付き(annotated)訓練データを含む。訓練データに注釈を付けるには相当な労力が強いられるため、特定のタスクに対して利用可能な注釈付きデータの量は制限的である。制限的な訓練データの問題は、教師なし学習(unsupervised training)のアプローチ法に緩和される。
【0012】
教師なし学習は、明示的に指定されたグランドトゥルースデータなしで、注釈のない学習データを使用することができるため、注釈のないデータの大規模データストレージ(例えば、画像データベースやインターネットテキストストレージ)の利点を生かすことができる。ただし、教師なし学習は、グランドトゥルースデータの明示的な注釈がなくてもタスクの最適結果を決定することができるタスクに制限されることがある。
【0013】
機械学習モデルが訓練されるタスクが教師なし訓練を支援するものでなくても、教師なし学習(unsupervised)と教師あり学習(supervised)を組み合わせることによって向上した訓練結果を得ることができる。教師なし事前学習は(pre-training)は、コンピュータビジョンの多様な高度タスクに使用することができる。2番目の訓練段階において、事前学習された機械学習モデル(基礎モデルとも呼ばれる)は、注釈付きの小規模データセットに対して微調整(fine-tune)訓練され、教師あり学習のアプローチ法と比べて、一部のタスクに対して優れたパフォーマンスを発揮し、注釈付き大規模データセットが利用できないときに教師あり学習のアプローチ法を上回ることがある。
【0014】
教師なし学習は、画像分類やオブジェクト検出のような多様な高度コンピュータビジョンタスクに適している。このようなモデルは、追加のラベル(labels)なしで追加の画像データを使用する。教師なし学習の一例として対照学習(contrastive learing)が挙げられるが、これは、データ拡張に不変のモデル出力を学習することによってプレテキストタスクを構成する。マスク付き画像モデリング(Masked Image Modeling:MIM)は、教師なし学習の代わりとなるが、このようなモデルは、自動完成プレテキストタスクを使用することで訓練される。エンコーダは、画像をパッチに分割し、そのうちの一部をマスキングすることによって得られる、画像入力の部分的なビューを潜在表現(latent representation)にエンコードする。この後、見えないパッチは、潜在表現に基づいてデコーダによって予測される。このような方法は、教師なし学習に対する特定のアプローチ法である、いわゆる、自己教師あり学習(self-supervised)の例である。このような従来の自己教師あり学習が優れているタスクには、画像分類やセマンティックセグメンテーションのような単一ビューのセマンティックセグメンテーション指向のタスクが含まれる。ただし、描写されたシーンの3D幾何学関連の3Dタスク(例えば、幾何学的ビジョンタスク)への対応は難しい状況にある。
【発明の概要】
【発明が解決しようとする課題】
【0015】
上述したような問題点を克服するために、幾何学的下流ビジョンタスクのためのタスク特定機械学習モデルを訓練するためのコンピュータ実現方法およびシステム、コンピュータ読み取り可能な媒体を提供する。アプローチ法の1つとして、マルチビュー幾何学的キューの使用に対する報酬により、幾何学的下流ビジョンタスクに対するモジュールによって特別に調整された教師なし事前学習を基盤とする。事前学習は、異なる視点および/または異なる条件(例えば、照明など)で同じシーンを描写する注釈なし画像ペアだけを含む。プレテキストタスクは、プレテキストモデルが2つの画像間の空間的関係に対する理解を学習し、これによってプレテキストタスクを正しく実行するために、描写されたシーンの3D幾何学を学習するように特別に調整される。プレテキストモデルは、エンコーダとデコーダを含む。エンコーダは、画像ペアである2つの画像のそれぞれを、表現空間内でそれぞれの(例えば、ベクトルまたは行列)画像表現にエンコードする。このような画像表現は潜在表現とも呼ばれ、それぞれの表現空間は潜在空間とも呼ばれる。この後、画像表現の1つが表現空間で変換され、変換された表現は再構成された画像にデコードされる。
【0016】
教師なし事前学習の一例として、ペアの1つの画像が部分的にマスキングされ、マスキングされたコンテンツは、最初の画像の可視コンテンツだけでなく、2番目の画像からも予測される。このようなアプローチ法は、クロスビュー完成(CroCo)事前学習と呼ばれる。クロスビュー完成において、1つの画像の一部をマスキングすることによって生じる不明確(ambiguity)は、2つの画像の空間的な関係に対する一部の理解を提供する、マスキングされていない他の画像からマスキングされたコンテンツを推論することによって解決することができる。
【0017】
教師なし事前学習の一例として、画像うちの1つの表現が他の画像の表現と整列するように表現空間で変換される。このようなアプローチ法は、クロスビュー整列(cross-view alignment:Caiman)事前学習と呼ばれる。クロスビュー整列において、第1画像の変換された表現は、再構成された画像で第2画像の予測としてデコードされる。このようなタスクを解決することは、シーンの幾何学的ビューの間でその形状がどのように変化するかに対する一部理解を含む。
【0018】
提示された事前学習アプローチ法は、いずれかの教師あり学習、例えば、訓練画像間のグランドトゥルース対応(ground-truth correspondences)を必要としない。開示するアプローチ法は、ラベル付けされていないデータから下位レベルの幾何学的キューを学習するための適応を含む。したがって、プレテキストモデルは、事前学習されたプレテキストモデル(基礎モデル)が描写されたシーンの3D幾何学の一般的な理解を学習し、したがって、多数の幾何学的ビジョンタスクを効率よく微調整できるように、大規模な注釈なしデータセットを事前に訓練することができる。
【課題を解決するための手段】
【0019】
一実施形態では、幾何学的下流ビジョンタスクのためのタスク特定機械学習モデルを訓練する機械学習方法を提供する。当該方法は、エンコーダパラメータのセットを有するエンコーダと、デコーダパラメータのセットを有するデコーダを含むプレテキスト機械学習モデルの教師なし事前学習を実行する段階、事前学習されたプレテキスト機械学習モデルに基づいて、幾何学的下流ビジョンタスクのための、タスク特定エンコーダパラメータのセットを有するタスク特定エンコーダを含むタスク特定機械学習モデルを構成する段階、事前学習されたプレテキスト機械学習モデルのエンコーダパラメータのセットでタスク特定エンコーダパラメータのセットを初期化する段階、および幾何学的下流ビジョンタスクのために、エンコーダパラメータのセットで初期化された、タスク特定機械学習モデルを微調整する段階を含む。プレテキスト機械学習モデルを事前学習する段階は、同じシーンを描写し、異なる条件または異なる視点で撮影された第1画像と第2画像を含む注釈なし画像のペアを取得する段階、エンコーダによって、第1画像を第1画像表現にエンコードし、第2画像を第2画像表現にエンコードする段階、第1画像表現を変換された表現に変換する段階、デコーダによって、変換された表現を再構成された画像にデコードする段階、および損失関数の最小化に基づいて、または損失関数の最小化のためにエンコーダパラメータのセットおよびデコーダパラメータのセットを調整することによってエンコーダおよびデコーダを調整する段階を含む。ここで、第1画像表現を変換する段階および/または変換された表現をデコードする段階は、第1画像表現および第2画像表現に基づく。
【0020】
一特徴において、教師なし事前学習は、プレテキスト機械学習モデルのクロスビュー整列事前学習であり、第1画像表現を変換する段階は、変換された表現を決定するために第1画像表現に変換を適用する段階を含み、変換は、変換された表現が第2画像表現に近似するように(例えば、整列されるように)、第1画像表現と第2画像表現に基づいて決定される。損失関数は、再構成された画像と第2画像の差を定量化するメトリック、または変換された表現と第2画像表現の差を定量化するメトリックに基づいてよい。
【0021】
一特徴において、教師なし事前学習は、プレテキスト機械学習モデルのクロスビュー完成事前学習であり、前記プレテキスト機械学習モデルのクロスビュー完成事前学習を実行する段階は、前記第1画像を第1素集合パッチセットに分割し、前記第2画像を第2素集合パッチセットに分割する段階、および前記第1のパッチセットの複数のパッチをマスキングする段階をさらに含む。第1画像を第1画像表現にエンコードする段階は、エンコーダによって、第1パッチセットのマスキングされていないパッチを、対応するそれぞれのマスキングされていないパッチ表現にエンコードして第1パッチ表現セットを生成する段階を含む。第2画像を第2画像表現にエンコードする段階は、エンコーダによって、第2パッチセットの各パッチを、対応する各パッチ表現にエンコードして第2パッチ表現セットを生成する段階を含む。変換された表現を再構成された画像にデコードする段階は、デコーダによって、第1パッチセットの各マスキングされたパッチに対して、第1パッチ表現セットおよび第2パッチ表現セットに基づいて、それぞれのマスキングされたパッチに対して予測された再構成を生成する段階を含む。損失関数は、各マスキングされたパッチとそれぞれの予測された再構成の差を定量化するメトリックに基づいてよい。
【0022】
一特徴において、幾何学的下流ビジョンタスクによって予測データを生成するための機械学習方法は、クロスビュー整列事前学習とクロスビュー完成事前学習を融合して提供される。当該方法は、第1プレテキスト機械学習モデルのクロスビュー整列事前学習を使用して幾何学的下流ビジョンに対して第1タスク特定機械学習モデルを訓練する段階、第2プレテキスト機械学習モデルのクロスビュー完成事前学習を使用して幾何学的下流ビジョンタスクに対して第2タスク特定機械学習モデルを訓練する段階、少なくとも1つの画像に訓練された第1タスク特定機械学習モデルを適用することにより、幾何学的下流ビジョンタスクによって第1予測データを生成する段階、少なくとも1つの画像に訓練された第2タスク特定機械学習モデルを適用することにより、幾何学的ビジョンタスクによって第2予測データを生成する段階、第1予測データに対する第1信頼値と第2予測データに対する第2信頼値を決定する段階、および第1信頼値および第2信頼値に基づいて第1予測データと第2予測データを融合することにより、幾何学的ビジョンタスクによって結果的な予測データを生成する段階を含んでよい。当該方法は、タスク特定機械学習モデルで第1プレテキスト機械学習モデルと第2プレテキスト機械学習モデルを融合する前に、第1プレテキスト機械学習モデルと第2プレテキスト機械学習モデルに対するプレテキスト機械学習の教師なし事前学習を繰り返す段階を含んでよい。教師なし事前学習を繰り返す段階は、クロスビュー完成事前学習を使用して第1プレテキスト機械学習モデルを事前学習する段階と、クロスビュー整列事前学習を使用して第2プレテキスト機械学習モデルを事前学習する段階を含む。
【0023】
一特徴において、幾何学的ビジョンタスクを実行するためのコンピュータ実現方法を含む方法を提供する。当該方法は、1つ以上の入力画像を受信する段階、幾何学的ビジョンタスクによって第1入力画像を処理し、ここに記載しているコンピュータ実現方法のうちのいずれか1つによって訓練されたニューラルネットワークによって第2入力画像を処理する段階を含む。訓練されたニューラルネットワークは、幾何学的ビジョンタスクのための出力を生成する。一特徴において、幾何学的ビジョンタスクは相対姿勢の推定であって、出力は、第1入力画像と第2入力画像の相対的な動き(例えば、2つの画像間の変換-画像のビューの相対的な回転および変形を含む)である。一特徴において、幾何学的ビジョンタスクは深度の推定であって、出力はカメラに対する相対的な距離であり、深度推定方法により、シーンを描写する深度マップは、第1入力画像(シーンの単眼ビュー)または第1入力画像と第2入力画像(シーンの両眼ビュー)から決定されてよい。第3実施形態において、幾何学的ビジョンタスクはオプティカルフローの推定であって、出力は、第1入力画像と第2入力画像の間で描写されたシーンの識別された視覚的特徴の動きである。
【0024】
一特徴において、コンピュータ読み取り可能な命令が記録された1つ以上のコンピュータ読み取り可能な媒体が提供される。1つ以上のプロセッサによって実行されるとき、コンピュータ読み取り可能な命令は、1つ以上のプロセッサがここに記載された方法を実行するようにする。
【0025】
一特徴において、システムは、1つ以上のプロセッサとメモリを含む。メモリは、1つ以上のプロセッサによって実行されるとき、1つ以上のプロセッサがここに記載されたコンピュータ実現方法を実行するようにする。
【0026】
一特徴において、幾何学的下流ビジョンタスクのためのタスク特定機械学習モデルを訓練する、コンピュータが実現する機械学習方法について説明する。当該方法は、エンコーダパラメータのセットを有するエンコーダと、デコーダパラメータのセットを有するデコーダを含む機械学習モデルの教師なし事前学習を実行する段階、事前学習された機械学習モデルに基づいて、幾何学的下流ビジョンタスクのための、タスク特定エンコーダパラメータのセットを有するタスク特定エンコーダを含むタスク特定機械学習モデルを構成する段階、事前学習された機械学習モデルのエンコーダパラメータのセットでタスク特定エンコーダパラメータのセットを初期化する段階、および幾何学的下流ビジョンタスクのために、エンコーダパラメータのセットで初期化されたタスク特定機械学習モデルを微調整する段階を含む。ここで、機械学習モデルの教師なし事前学習を実行する段階は、同じシーンを描写し、異なる条件または異なる視点で撮影された第1画像および第2画像を含む注釈なし画像のペアを取得する段階、エンコーダによって、第1画像を第1画像表現にエンコードし、第2画像を第2画像表現にエンコードする段階、第1画像表現を変換された表現に変換する段階、デコーダによって、変換された表現を再構成された画像にデコードする段階、および損失の最小化に基づいてエンコーダおよびデコーダの少なくとも1つのパラメータを調整する段階を含む。ここで、第1画像表現を変換する段階および変換された表現をデコードする段階は、第1画像表現および第2画像表現に基づく。
【0027】
追加の特徴において、機械学習モデルの教師なし事前学習は、クロスビュー整列事前学習であり、第1画像表現を変換する段階は、変換された表現を生成するために第1画像表現に変換を適用する段階を含み、変換は、変換された表現が第2画像表現に近似するように第1画像表現および第2画像表現に基づいて決定される。
【0028】
追加の特徴において、機械学習モデルの教師なし事前学習は、クロスビュー整列事前学習であり、損失は、再構成された画像と第2画像の差を定量化するメトリックに基づく。
【0029】
追加の特徴において、機械学習モデルの教師なし事前学習は、クロスビュー整列事前学習であり、損失は、変換された表現と第2画像表現の差を定量化するメトリックに基づく。
【0030】
追加の特徴において、第1画像表現は第1のn個のベクトルセット:
【数1】
であり、第2画像表現は第2のn個のベクトルセット:
【数2】
であり、変換を適用する段階は、D次元等辺(equivariant)部分と(K-D)次元不変(invariant)部分で第1ベクトルセットおよび第2ベクトルセットの各ベクトルを分解する段階、および(D×D)次元変換行列(Ω)を前記第1ベクトルセットの各ベクトルの前記等辺部分に適用する段階を含み、0<D≦Kである。
【0031】
追加の特徴において、変換はD次元回転であり、変換行列(Ω)はD次元回転行列であり、変換行列(Ω)は、第1ベクトルセットのベクトルの等辺部分を第2ベクトルセットのそれぞれのベクトルの等辺部分と整列させることに基づいて設定される。
【0032】
追加の特徴において、前記方法は、以下の数式に基づいて変換行列(Ω)を決定する段階をさらに含む。
【0033】
【0034】
ここで、xi,i
equivはベクトル(xi,j)の等辺部分を、x2,i
equivはベクトル(x2,i)の等辺部分を、SO(D)はD次元回転グループを示す。
【0035】
追加の特徴において、前記教師なし事前学習は、クロスビュー完成事前学習であり、前記機械学習モデルのクロスビュー完成事前学習を実行する段階は、前記第1画像を第1素集合パッチセットに分割し、前記第2画像を第2素集合パッチセットに分割する段階、前記第1パッチセットのパッチのうちの少なくとも1つをマスキングする段階をさらに含み、前記第1画像を第1画像表現にエンコードする段階は、エンコーダによって、前記第1パッチセットの各マスキングされていないパッチを、対応するそれぞれのマスキングされていないパッチ表現にエンコードして第1パッチ表現セットを生成する段階を含み、前記第2画像を第2画像表現にエンコードする段階は、エンコーダによって、前記第2パッチセットの各パッチを、対応する各パッチ表現にエンコードして第2画像表現を生成する段階を含み、変換された表現をデコードする段階は、デコーダによって、第1パッチセットの各マスキングされたパッチに対して、変換された表現および第2パッチ表現セットに基づいてそれぞれのマスキングされたパッチの予測された再構成を生成する段階を含み、損失関数は、各マスキングされたパッチとそれぞれの予測された再構成の差を定量化するメトリックに基づく。
【0036】
追加の特徴において、第1画像表現を変換された表現に変換する段階は、第1パッチセットの各マスキングされたパッチに対して、第1パッチ表現セットを、マスキングされたパッチのそれぞれの学習された表現でパッチングする段階をさらに含む。
【0037】
追加の特徴において、各学習された表現は、表現パラメータのセットを含む。
【0038】
追加の特徴において、第1パッチ表現セットのマスキングされたパッチの予測された再構成を生成する段階は、デコーダによって、マスキングされたパッチの学習された表現をマスキングされたパッチの予測された再構成にデコードする段階を含む。ここで、デコーダは、第1パッチ表現セットおよび第2パッチ表現セットを入力データとして受信し、入力データに基づいてマスキングされたパッチの学習された表現をデコードし、前記方法は、それぞれの表現パラメータのセットを調整することによってマスキングされたパッチの学習された表現を調整する段階をさらに含む。
【0039】
追加の特徴において、それぞれの表現パラメータのセットを調整することは、損失の最小化に基づいて表現パラメータのセットを調整することを含む。
【0040】
追加の特徴において、タスク特定機械学習モデルを微調整する段階は、タスク特定機械学習モデルの教師あり微調整を実行する段階を含む。
【0041】
追加の特徴において、マップの微調整は、i)幾何学的下流ビジョンタスクによって出力データを生成するために、幾何学的下流ビジョンタスクに対するグランドトゥルースデータとして1つ以上の注釈付き画像にタスク特定機械学習モデルを適用すること、およびii)生成された出力データとグランドトゥルースデータの差を定量化するメトリックに基づいたタスク特定損失の最小化に基づいてタスク特定機械学習モデルのタスク特定エンコーダパラメータのセットを調整することによって、タスク特定機械学習モデルを調整することを含む。
【0042】
追加の特徴において、前記方法は、予め定められた回数中、またはタスク特定損失の最小値に達するまで、段階i)およびii)を繰り返す段階をさらに含む。
【0043】
追加の特徴において、前記方法は、幾何学的下流ビジョンタスクのために1つ以上の新たな画像から予測データを抽出するために、1つ以上の新たな画像に微調整されたタスク特定機械学習モデルを適用する段階をさらに含む。
【0044】
追加の特徴において、幾何学的下流ビジョンタスクは、相対姿勢の推定である。
【0045】
追加の特徴において、微調整されたタスク特定機械学習モデルを適用する段階は、新たな画像ペアの画像間の相対的回転および相対的変形を予測データとして抽出するために、新たな画像ペアに微調整されたタスク特定機械学習モデルを適用する段階を含み、新たな画像ペアの画像は、同じシーンの2つのビューを描写する。
【0046】
追加の特徴において、幾何学的下流ビジョンタスクは、深度の推定である。
【0047】
追加の特徴において、微調整されたタスク特定機械学習モデルを適用する段階は、1つ以上の新たな画像から1つ以上の深度マップを予測データとして抽出するために、1つ以上の新たな画像に微調整されたタスク特定機械学習モデルを適用する段階を含む。
【0048】
追加の特徴において、幾何学的下流ビジョンタスクは、オプティカルフローの推定である。
【0049】
追加の特徴において、微調整されたタスク特定機械学習モデルを適用する段階は、複数のピクセルペアを予測データとして生成するために、新たな第1画像および新たな第2画像を含む新たな画像ペアに微調整されたタスク特定機械学習モデルを適用する段階を含み、各ピクセルペアは、新たな第1画像のピクセルと新たな第2画像の対応するピクセルを含み、新たな第1画像と新たな第2画像は、異なる条件または異なる視点で同じシーンを描写する。
【0050】
一特徴において、幾何学的視覚下流タスクによって予測データを生成するためにコンピュータが実現する機械学習方法について説明する。当該方法は、第1機械学習モデルのクロスビュー整列事前学習を使用して幾何学的視覚下流タスクに対して第1タスク特定機械学習モデルを訓練する段階、第2プレテキスト機械学習モデルのクロスビュー完成事前学習を使用して幾何学的視覚下流タスクに対して第2タスク特定機械学習モデルを訓練する段階、少なくとも1つの画像に訓練された第1タスク特定機械学習モデルを適用することによって、幾何学的下流ビジョンタスクによって第1予測データを生成する段階、少なくとも1つの画像に訓練された第2タスク特定機械学習モデルを適用することによって、幾何学的下流ビジョンタスクによって第2予測データを生成する段階、第1予測データに対する第1信頼値および第2予測データに対する第2信頼値を決定する段階、および第1信頼値および第2信頼値に基づいて第1予測データと第2予測データを融合することによって、幾何学的ビジョンタスクによって結果的な予測データを生成する段階を含む。
【0051】
一特徴において、コンピューティングシステムは、1つ以上のプロセッサと、1つ以上のプロセッサによって実行されるときに次の事項を実行するコードを含むメモリを含み、前記コードは、エンコーダパラメータのセットを有するエンコーダとデコーダパラメータのセットを有するデコーダを含む機械学習モデルの教師なし事前学習を実行し、事前学習された機械学習モデルに基づいて、幾何学的下流ビジョンタスクのために、タスク特定エンコーダパラメータのセットを有するタスク特定エンコーダを含むタスク特定機械学習モデルを構成し、事前学習された機械学習モデルのエンコーダパラメータのセットでタスク特定エンコーダパラメータのセットを初期化し、幾何学的下流ビジョンタスクのために、エンコーダパラメータのセットで初期化されたタスク特定機械学習モデルを微調整するが、ここで、機械学習モデルの教師なし事前学習の実行は、同じシーンを描写し、異なる条件または異なる視点で撮影された第1画像と第2画像を含む注釈なし画像のペアを取得すること、エンコーダによって、第1画像を第1画像表現にエンコードして第2画像を第2画像表現にエンコードすること、第1画像表現を変換された表現に変換すること、デコーダによって、変換された表現を再構成された画像にデコードすること、および損失の最小化に基づいて、エンコーダおよびデコーダの少なくとも1つのパラメータを調整することを含むが、ここで、第1画像表現を変換することと変換された表現をデコードすることは、第1画像表現および第2画像表現に基づく。
【0052】
本開示の適用が可能な他の領域は、具体的な内容、特許請求の範囲、および図面によって明らかになるであろう。具体的な内容および特定の実施例は例示に過ぎず、本開示の範囲を限定するものではない。
【図面の簡単な説明】
【0053】
本開示は、詳細な説明および添付の図面によって完全に理解できるであろう。
【
図1】幾何学的ビジョンタスクのための機械学習モデルを訓練するための手順の一例を示した機能ブロック図である。
【
図2】注釈なし画像のペアを使用するプレテキストタスクに対する機械学習モデルの教師なし事前学習のための手順の一例を示した機能ブロック図である。
【
図3】注釈なし画像のペアを使用するプレテキスト機械学習モデルの自己教師ありクロスビュー完成事前学習のための手順の一例を示した機能ブロック図である。
【
図4】注釈なし画像のペアを使用したプレテキスト機械学習の自己教師ありクロスビュー整列事前学習の手順の一例を示した機能ブロック図である。
【
図5】幾何学的下流ビジョンタスクに対してタスク特定機械学習モデルを訓練する方法の一例を示したフローチャートである。
【
図6】プレテキストタスクに対するプレテキスト機械学習モデルの教師なし事前学習のための方法を示したフローチャートである。
【
図7】プレテキスト機械学習モデルの自己教師ありクロスビュー完成事前学習のための方法を示したフローチャートである。
【
図8】プレテキスト機械学習モデルの自己教師ありクロスビュー完成事前学習のための方法を示したフローチャートである。
【
図9】
図7の自己教師ありクロスビュー完成事前学習と
図8の自己教師ありクロスビュー整列事前学習を組み合わせた幾何学的下流ビジョンタスクによって予測データを生成するための方法を示したフローチャートである。
【
図10】システムのアーキテクチャの一例を示した機能ブロック図である。 図面の参照符号は、類似あるいは同一の要素を識別するために多数にわたって使用する。
【発明を実施するための形態】
【0054】
ここでは、幾何学的ビジョンタスクのためのタスク特定機械学習モデルを訓練するためのシステム、コンピュータ読み取り可能な媒体、および方法について説明する。説明の目的のために、実施形態の完全な理解を提供するために、多くの実施形態と特定の詳細事項を提示する。特許請求の範囲によって定義されるような実施形態は、これらの特徴の一部またはすべてを単独または以下で説明する他の特徴との組み合わせによって含むことができ、ここで説明する特徴および概念の修正および同等物をさらに含むことができる。例示的な実施形態は図面を参照しながら説明し、類似の要素および構造は類似の参照符号で表示する。
【0055】
本発明は、幾何学的ビジョンタスク(例えば、コンピュータビジョンにおける3次元(3D)幾何学的タスク)のための機械学習モデルを訓練するための方法、システム、およびコンピュータ読み取り可能な媒体に関する。訓練は2つの段階で実行され、最初の段階である事前学習段階で、プレテキスト機械学習モデルは、多数の画像ペア(例えば、1000件を超えるペア)を含む訓練データセットを使用し、プレテキストタスクに対して教師なし訓練モジュールによって訓練される。
【0056】
プレテキストタスクは、画像ペアからの3D幾何学的キューの教師なし学習のために設計されてよい。ここで、1つの画像ペアの各画像は、同じシーンを描写するが、異なる視点または異なる条件(例えば、異なる焦点距離、異なる照明条件、異なる季節)で描写する。幾何学的下流ビジョンタスクのために特別に構築される、第2タスク特定機械学習モデルが構成される。幾何学的下流ビジョンタスクは、学習(微調整)が注釈付き画像を使用した教師あり訓練が含まれるコンピュータビジョンの高度3D幾何学的タスクである。タスク特定機械学習モデルのパラメータのうちの一部は、事前学習されたプレテキスト機械学習モデルの対応するパラメータの値に初期化される。2番目の訓練段階である微調整段階で、タスク特定機械学習モデルは、注釈付きイメージを含む訓練データセットを使用して教師あり訓練とともに訓練モジュールによって訓練される。
【0057】
図1は、機械学習モデルのための訓練モジュール50によって実行される、2段階の訓練プロセスの一例を示した機能ブロック図である。訓練は、訓練モジュール50が、プレテキストタスクに対してプレテキスト学習モデル130の教師なし事前学習110を実行することから始まる。プレテキスト機械学習モデル130は、複数の学習可能なパラメータθ132を含む。事前学習プロセス110は、訓練モジュール50が、パラメータ132の値を繰り返し適応させ、結果的なプレテキスト機械学習モデル130がプレテキストタスクに対してより優れた結果を継続して達成するようにすることを含む。
【0058】
事前学習110は、パラメータ(θ)132に対するパラメータ値の初期セットから始まる。パラメータ(θ)132に対する値の初期セットは、すべてのパラメータ(θ)132に対して共通(例えば、予め定められた)値として選択されてよく、パラメータ値の初期セットが複数のパラメータ(θ)132の各パラメータに対してランダム値を含むように初期パラメータ値をランダムに設定してもよいし、他の適切な方法で設定してもよい。
【0059】
事前学習110中に、プレテキスト機械学習モデル130は、訓練モジュール50から、第1画像(I1)120および第2画像(I2)122を含む注釈なし画像のペアを受信する。第1画像120および第2画像122は、少なくとも部分的に同じ視覚的コンテンツ(例えば、同じシーン、同じオブジェクト、同じ人物、または同じ建築構造)を描写するが、異なる視点または異なる条件(例えば、照明など)で描写する。このような文脈において、シーンが描写される視点とは、シーンを描写する画像が撮影される描写されたシーンに対するカメラの位置および/またはカメラの角度を意味し得る。第1画像120および第2画像122のピクセルサイズは、同じであってもよいし、異なってもよい。画像120、122は、プレテキストタスクによってグランドトゥルースデータを有する注釈(annotations)を含まない。
【0060】
第1画像120と第2画像122のペアに基づいて、プレテキスト機械学習モデル130は、再構成された画像(IR)140を生成する。再構成された画像140は、第1画像または第2画像の再構成であってもよいし、または第1画像および/または第2画像に予め設定された変換を適用することによって第1画像および/または第2画像から誘導される画像の再構成であってもよい。このような予め定められた変換は、グレースケール変換のように画像のうちの1つまたは両方に1つ以上の色変換を適用すること、画像のうちの1つまたは両方に1つ以上の幾何学的変換を適用すること、画像間の各ピクセルの差のような第1画像と第2画像の組み合わせを決定することなどを含んでよい。
【0061】
プレテキスト機械学習モデル130は、画像ペアの画像120、122を、数学的表現空間(潜在空間)での画像の表現(潜在表現とも呼ばれる)に変換する。表現は、例えば、ベクトルや行列などであってよい。
【0062】
特定のプレテキストタスクにしたがい、プレテキスト機械学習モデル130は、表現空間における画像表現に対して変換を実行し、最終的に再構成された画像140の表現を生成する。最終的に再構成された画像140の表現は、画像空間に再び変換され、これによって再構成された画像140を生成する。再構成された画像140および/または再構成された画像140の表現に基づいて、プレテキスト損失142が訓練モジュール50によって決定されるが、これは、画像ペアの画像に対するプレテキスト機械学習モデル130の適用によって達成される結果の品質を表現する。損失は、例えば、結果(再構成された画像140および/または再構成された画像140の表現)のペアに対して予想される結果との比較に基づいて決定され得る。
【0063】
一般的な機械学習において、損失は、損失関数(「費用関数」とも呼ばれる)の値を示すが、これは、イベントまたは1つ以上の変数の値をイベントと関連する一部の「費用」を示す実数にマッピングする関数である。事前学習段階の目標は、訓練モジュール50が、プレテキスト機械学習モデル130の内部の学習可能なパラメータ(θ)132を修正し、プレテキスト損失142(すなわち、損失関数の値)を最小化することにある。損失関数は、プレテキスト機械関数モデル130の学習可能なパラメータ(θ)132のそれぞれによる複雑な実数値のスカラー関数であってよい。損失関数の最適化(最小値に収束される)は、損失勾配のバックプロパゲーション(back-propagation)144によって訓練モジュール50によって実行されるが、これは、プレテキスト機械学習モジュール130の学習可能なパラメータ(θ)132に対する損失関数の偏微分から訓練モジュールによって取得される。このような損失勾配は、次に繰り返される事前学習段階でより低い損失142を生成するためにプレテキスト機械学習モデル130の学習可能パラメータ(θ)132を修正(または、適応または更新)するために使用されるという点において、訓練モジュール50によってそれぞれの学習可能パラメータ(θ)132にバックプロパゲーションされる。
【0064】
次の繰り返しにおいて、修正された学習可能パラメータ(θ)132を含む機械学習モデル130は、上述したように修正された学習可能パラメータ132を使用し、同一または異なる画像ペアに基づいて他の再構成画像140を生成する。この画像のペアの表現への変換、表現空間における変換、および再構成された画像140の生成は、修正された学習可能パラメータ(θ)132を使用して計算される。この後、修正されたプレテキスト機械学習モデル130は、画像ペアに対してプレテキスト作業を実行するのに適するようになり、損失関数が最小損失142に収束するまで、学習可能なパラメータ(θ)132の適応が不要になるまで、損失勾配の次のバックプロパゲーションにおいてより低い損失142と学習可能なパラメータ(θ)132のより小さい適応につながる。損失関数が最小値に収束すると、プレテキスト機械学習モデル130は、成功的に事前学習されたこととなり、事前学習段階は完了されてよい。代案的な実施形態において、繰り返される事前学習は、完全な収束に達するまで実行されるのではなく、予め定められた回数後に終了となる。
【0065】
2番目の訓練段階は、訓練モジュール50によるタスク特定機械学習モデル170の微調整150である。ここで、微調整という用語は、事前学習の結果に基づいて事前学習段階後に実行される訓練を意味し得る。多様な実施形態において、微調整は、教師ありまたは部分的教師ありによって訓練モジュール50によって実行され得る。ここで、教師ありという用語は、注釈付き訓練データに基づく訓練を意味し得る。注釈付き訓練データは、訓練が実行される特定タスクの最適な/予想される結果/成果に関する追加の情報を含むグランドトゥルースデータを含む。グランドトゥルースデータは、訓練される機械学習モデル170によっては使用されずに訓練モジュール50によって使用され、入力が与えられた訓練される機械学習モデル170によって生成された結果に基づいて特定訓練タスクに対する損失182を決定する。
【0066】
プレテキスト機械学習モデル130と同様に、タスク特定機械学習モデル170は、複数の学習可能なパラメータ(θ’)172を含む。微調整は、事前学習と同じように実行される。ただし、タスク特定機械学習モデル170が訓練モジュール50によって訓練されるタスクは、より正確な訓練が注釈付き(グランドトゥルース)データの使用を含む幾何学的ビジョンタスクである。このタスクは、訓練の最終的な目標が、このタスクを実行するために最適化された訓練済み機械学習モデルを提供することにあることを示す下流タスクと呼ぶことができる。プレテキストタスクは、幾何学的下流ビジョンタスクに対するタスク特定機械学習モデル170の訓練を向上させるための先行タスクである。
【0067】
微調整150は、パラメータ(θ’)172に対するパラメータ値の初期セットから始まる。訓練モジュール50は、パラメータ172を初期セットで初期化する。訓練モジュール50は、パラメータ(θ’)172の少なくとも一部分を、事前学習されたプレテキスト機械学習モデル130のパラメータ(θ)132の対応する部分の値に初期化する。事前学習されたプレテキスト機械学習モデル130のパラメータ値に初期化されていないパラメータ(θ’)172の残りの部分の値の初期セットは、訓練モジュール50によって、例えば、パラメータ(θ’)172の残りの部分のすべてのパラメータに対して共通(例えば、予め定められた)値が設定されてもよいし、パラメータ値の初期セットがパラメータ(θ’)172の残りの部分の各パラメータに対してランダム値を含むようにランダムに設定されてもよいし、他の適切な方法によって設定されてもよい。
【0068】
タスク特定機械学習モデル170は、訓練モジュール50からの1つ以上の注釈付き画像に適用される。
図1の例は、注釈付き画像(P
1、P
2)160、162を示している。画像(P
2)162は、第2入力画像の選択的な特性を示す点線で示されている。画像(P
1)160はグランドトゥルース注釈164を含み、画像(P
2)162はグランドトゥルース注釈166を含む。一部の実施形態において、2つの画像(P
1、P
2)160、162は、画像のペアとして提供されてよいが、ここで、グランドトゥルース注釈は、ペアに対して提供されるものであり、各画像に対しては個別に提供されない。多様な実施形態において、画像の一部にのみ注釈が付けられ、微調整は部分的な教師ありと部分的な教師なしで実行される。入力画像の数は、下流タスクによって異なる。タスク特定機械学習モデル170を1つまたは複数の画像に適用することは、タスク特定出力データ180を招来する。すなわち、タスク特定機械学習モデル170は、入力画像に基づいてタスク特定出力データ180を生成する。タスク特定出力データ180および1つ以上の注釈付き入力画像のグランドトゥルースデータに基づいて、タスク特定損失182が訓練モジュール50によって決定される。タスク特定損失182は、画像ペアの画像(または、入力画像)に対するタスク特定機械学習モデル170の適用によって達成されるタスク特定出力データ180の品質を表現する。
【0069】
事前学習のように、タスク特定損失182は、損失関数の値を表現する。微調整段階の目標は、訓練モジュール50によってタスク特定機械学習モデル170内部の学習可能なパラメータ(θ’)172を修正し、タスク特定損失182(損失関数の値)を最小化することにある。損失関数は、タスク特定機械学習モデル170の学習可能パラメータ(θ’)172のそれぞれによる複雑な実数値のスカラー関数であってよい。損失関数の最適化(最小値に収束される)は、損失勾配のバックプロパゲーション184によって実行されるが、これは、タスク特定機械学習モデル170の学習可能なパラメータ(θ’)172に対する損失関数の偏微分から訓練モジュール50によって取得される。このような損失勾配は、次の繰り返しの微調整段階でより低い損失182を生成するためにタスク特定機械学習モデル170の学習可能なパラメータ(θ’)172を修正(または、適応または更新)するために使用されるという点において、訓練モジュール50によって、それぞれの学習可能なパラメータ(θ’)172にバックプロパゲーションされる。
【0070】
次の繰り返しにおいて、修正された学習可能パラメータ(θ’)172を含むタスク特定機械学習モデル170は、異なるタスク特定出力データ180を生成するために、同一または異なる注釈付き画像に適用される。すなわち、タスク特定機械学習モデル170は、入力画像に基づいて新たなタスク特定出力データ180を生成する。修正されたタスク特定機械学習モデル170は、1つ以上の画像に対して下流タスクを実行することに適するようになり、損失関数が最小損失182に収束し、学習可能なパラメータ(θ’)172の適応が不要になるまで、損失勾配の次のバックプロパゲーションでより低い損失182と学習可能なパラメータ(θ’)172のより小さい適応につながる。損失関数が収束すると、タスク特定機械学習モデル170は、成功的に微調整されたことになる。多様な実施形態において、繰り返される微調整は、収束に達するまで実行されるのではなく、予め定められた回数後に訓練モジュール50によって終了となる。
【0071】
図2は、
図1の訓練の事前学習段階110の一例を示している。プレテキスト機械学習モデル130は、エンコーダ(モジュール)230、表現空間ブロック(モジュール)260、およびデコーダ(モジュール)270を含む。エンコーダ230は、学習可能なエンコーダパラメータのセットを含み、デコーダ270は、学習可能なデコーダパラメータのセットを含む。特定のプレテキストタスクによって、表現空間ブロック260も、学習可能なパラメータのセットを含んでよい。学習可能および訓練可能は、互いに代替して使用されてよい。
【0072】
プレテキスト機械学習モデル130は、第1画像(I1)120および第2画像(I2)122を含む注釈なし画像のペアに適用される。第1画像120は、第1時点において視覚的コンテンツを描写する。第2画像122は、少なくとも部分的に同じ視覚的コンテンツ(例えば、同じシーン、同じオブジェクト、同じ人物、または同じ建築構造)を描写するが、同じ視覚的コンテンツが描写される時点、照明条件、季節、被写界深度、焦点距離のように画像が生成された条件が異なるという点において第1画像とは異なる。第1画像120と第2画像122のピクセルサイズは、同じであってもよいし、異なってもよい。画像120および122は、事前学習方法が教師なしで実行されるため、プレテキストタスクによるグランドトゥルースデータを有する注釈を含む必要がない。一部の実施形態において、事前学習は、自己教師ありで実行されてよい。自己教師あり事前学習は、教師なし事前学習の特定の例を意味し得るが、ここで、損失は、注釈なし入力データ(例えば、入力画像)に基づいて学習モジュール50によって決定され、事前学習を実行するためにグランドトゥルース注釈を必要としない。
【0073】
プレテキスト機械学習モデル130のエンコーダ230は、第1画像(I1)120に適用され、画像を第1表現(R1)240にエンコードする。プレテキスト機械学習モデル130のエンコーダ230は、第2画像(I2)122に追加で適用され、独立的に第2画像122を第2表現(R2)250にエンコードする。画像の表現は、数学的空間(例えば、ベクトル空間)の要素である。表現は、ベクトル、ベクトルの集合、行列、またはテンソルであってよい。
【0074】
表現空間ブロック260は、2つの画像表現(R1、R2)240、250を受信し、表現のうちの一方(例えば、第1画像(I1)120の表現(R1)240)を変換された表現264に変換する。一例として、第1表現(R1)240は、第2表現(R2)250にしたがって変換され、変換された表現264と第2表現(R2)250が整列するようにする。他の例として、第1表現は、学習可能な要素を第1表現に追加することによって変換される。表現の変換は、他の表現に依存してもよいし、他の表現とは独立的であってもよい。
【0075】
デコーダ270は、変換された表現264を再構成された画像140にデコードする。再構成された画像140は、第1画像または第2画像の再構成、または第1画像および/または第2画像から誘導可能な画像の再構成であってよい。選択的に、デコーダ270は、変換された表現264を再構成された画像140にデコードするための追加の入力として、変換された表現264に変換されていない画像表現を受信する。一例として、第1画像表現(R1)240が変換された表現264に変換された場合、デコーダ270は、変換された表現264を再構成された画像140にデコードするための追加の入力として第2表現(R2)250を受信してよい。いずれにしても、再構成された画像140は、第1表現(R1)240の変換が第2表現(R2)250に依存する、および/または変換された表現264(第1表現(R1)240の変換に起因するとき)のデコードが第2表現(R2)250に基づくという点において、2つの画像表現(R1、R2)240、250に基づいて生成され得る。
【0076】
この後、プレテキスト損失142が、再構成された画像140に基づいて訓練モジュール50によって決定され、バックプロパゲーション144が、プレテキスト損失の最小化に基づいてプレテキスト機械学習モデル130の学習可能なパラメータを修正するために訓練モジュールによって実行される。これは、特に、訓練モジュール50がエンコーダ230およびデコーダ270の学習可能なパラメータを修正することを含む。表現空間ブロック260が学習可能なパラメータを含む場合、このようなパラメータも、バックプロパゲーション144中に訓練モジュールによって更新されてよい。プレテキスト損失142の決定は、再構成された画像140に基づいてよく、特に、再構成の必要がある画像から再構成された画像140の偏差を定量化するメトリックに基づいてよい。一例として、再構成された画像140は、第1画像(I1)120の再構成であってよく、この例において、プレテキスト損失142は、第1画像(I1)120からの再構成された画像140の偏差を定量化するメトリックに基づいて訓練モジュール50によって決定されてよい。他の例として、再構成された画像140は、第2画像(I2)122の再構成であってよく、プレテキスト損失142は、第2画像(I2)122からの再構成された画像140の偏差を定量化するメトリックに基づいて訓練モジュール50によって決定されてよい。追加的または代案的に、プレテキスト損失142は、変換された表現264と、変換された表現264に変換されていない画像表現(R1、R2)240、250の差を定量化するメトリックに基づいて訓練モジュール50によって決定されてよい。
【0077】
以下、
図3および
図4を参照しながら、プレテキスト機械学習モデル130の教師なし事前学習110のための2つの特定プレテキストタスクについて説明する。
【0078】
図3は、クロスビュー完成のプレテキストタスクのための事前学習システムを示した例示図である。クロスビュー完成事前学習という用語は、クロスビュー完成プレテキストタスクのためのプレテキスト機械学習モデルの事前学習を意味し得る。ここで、CroCoという略語が、クロスビュー完成を意味するために使用される。
【0079】
図4は、クロスビュー整列のプレテキストタスクのための教師なし事前学習システムを示した例示図である。クロスビュー整列事前学習という用語は、クロスビュー整列プレテキストタスクのためのプレテキスト機械学習モデルの事前学習を意味し得る。ここで、Caimanという略語が、クロスビュー整列を意味するために使用される。
【0080】
図3に示したクロスビュー完成事前学習システムは、教師なし事前学習110の一例である。以下、CroCo事前学習のためのプレテキスト機械学習モデルは、CroCo機械学習モデルと呼ぶことにする。CroCo機械学習モデルは、
図2に示したようなプレテキスト機械学習モデル130に該当する。CroCo機械学習モデルは、エンコーダ(モジュール)330(エンコーダ230に対応)、デコーダ(モジュール)370(デコーダ270に対応)、およびクロスビュー完成ブロック(モジュール)360(表現空間ブロック260に対応)を含む。
【0081】
CroCo機械学習モデルは、第1画像(I1)310と第2画像(I2)320を含む注釈なし画像のペアに適用される。2つの画像は、同じ視覚的コンテンツ(例えば、同じシーン、同じオブジェクト、同じ人物、または同じ建築構造)を異なる視点または異なる条件(例えば、照明条件、季節条件、被写体深度、焦点距離など)で描写する。2つの画像のピクセルサイズは、同じであってもよいし、異なってもよい。CroCo事前学習方法は教師なしで実行されるため、画像310、320は、CroCo操作によるグランドトゥルースデータを有する注釈を含む必要がない。
【0082】
分割モジュール300は、第1画像(I
1)310をN
1個の素集合画像パッチ(p
i
1)312のセット(p
1):
【数4】
に分割する。異なるパッチ(p
i
1)312は、同じピクセルサイズを有してもよいし、異なるピクセルサイズを有してもよい。パッチ312は、4×4、8×8、12×12、16×16、または32×32ピクセルのように予め定められたピクセルサイズを有してよい。ただし、パッチ312は、任意の他の適切なピクセルサイズを有してよく、正方形ではなく長方形(例えば、4×8または16×32ピクセル)であってもよい。簡略化のために、
図3は、a~lのようにラベリングされた画像(I
1)310の比較的に小さい数の12個のパッチ312を示している。ただし、画像(I
1)310は任意の数のパッチに分割されてよく、それは、画像ピクセルサイズおよびパッチピクセルサイズに基づき得る。
【0083】
第1画像(I
1)310と同じように、分割モジュール300は、第2画像(I
2)320をN
2個の素集合画像パッチ(p
i
2)322のセット(p
2):
【数5】
に分割する。第1画像(I
1)310のパッチ312と第2画像(I
2)320のパッチ322のピクセルサイズは、同じであってもよいし、異なってもよい。一例として、第1画像(I
1)310と第2画像(I
2)320の両方が、16×16のピクセルサイズを有する素集合パッチ312、322に分割される。セット(P
1)のパッチの数は、セット(P
2)のパッチの数と同じであってもよいし、それ以上あるいはそれ以下であってもよい。
【0084】
セット(p
1)のパッチ312のうちの一部は、マスキングモジュール305によってマスキングされ、セット(p
1)が、マスキングされたパッチ314(すなわち、ハッチングによって識別されるパッチa、c、d、h、i、j、およびk)セット:
【数6】
(以下、
-p
1とも表記する;上に“-”が付された記号について以下同様)と、残りのマスキングされていないパッチセット:
【数7】
(以下、
~p
1とも表記する;上に“~”が付された記号について以下同様)と、に分割される。ここで、m
i=0は、パッチ(p
i
1)がマスキングされていないことを示し、m
i=1は、パッチ(p
i
1)がマスキングされていることを示す。ここで、パッチをマスキングするということは、パッチをマスキングされたパッチ314であるものとしてマーキングしたり、その他の方法によって識別することを意味してよい。多様な実施形態において、マスキングされたパッチ314のピクセルコンテンツが、CroCO損失(プレテキスト損失142に対応)を決定するために継続して使用されるように、マスキングされたパッチ314のピクセルコンテンツが変更または削除されないようにし得る。マスキングするパッチのうちのどれかが、パッチの総数(N
1)に対するマスキングされたパッチの予め定められた比率によって画像(I
1)310のパッチ312のセットから、例えば、ランダムに、マスキングモジュール305によって選択されてよい。代案的に、マスキングされたパッチ314は、予め定められたパターンまたは他の予め定められた選択規則に基づいて、マスキングモジュール304によって選択されてよい。一例として、画像(I
1)310のパッチの総数に対するマスキングされたパッチの比率は0.5よりも高い。例えば、比率は、0.75または0.95の間であってよい。
図3において、第1画像(I
1)310は、12個のパッチに分割されているが、これは、画像(I
2)320のパッチ322と同じようにラベリングされる。ラベルb、e、f、g、およびlを有する5つのパッチ312だけがマスキングされておらず、a、c、d、h、i、j、およびkとラベリングされた残りの7つのパッチはマスキングされたパッチ314である。本出願は、分割後の他の数のパッチで適用可能であり、他の数のマスキングされていないパッチとマスキングされたパッチで適用可能である。
【0085】
エンコーダ(εθ)330は、学習可能なパラメータθのセットを含む。エンコーダ330は、エンコーダ330をパッチのセット(p2)に適用することによって第2画像(I2)320に適用され、これにより、パッチのセット(p2)を画像(I2)320の表現(εθ(p2))350にエンコードする。パッチのセット(p2)は、パッチ表現のセット352にエンコードされ、画像(I2)320の表現(εθ(p2))350を形成する。エンコーダ330が、パッチのセット(p2)の各パッチ322を対応するパッチ表現352に個別にエンコードすることにより、エンコーダ330は、パッチのセット(p2)のパッチ322に対して1つのパッチ表現352(例えば、特徴ベクトル)を生成する。
【0086】
第1画像(I1)310を画像(I1)310の表現340に独立的にエンコードするために、同じエンコーダ(εθ)330が画像(I1)310にも適用される。しかし、この場合、エンコーダ330は、残りのマスキングされていないパッチのセット(~p1)だけを受信し、これにより、マスキングされていないパッチのセット(~p1)を画像(I1)310の表現(εθ(~p1))340にエンコードする。パッチのセット(~p1)は、パッチ表現のセット342にエンコードされ、画像(I1)310の表現(εθ(~p1))340を形成する。エンコーダ330がパッチのセット(~p1)の各パッチを対応するパッチ表現342に個別にエンコードすることにより、エンコーダは、マスキングされていないパッチのセット(~p1)のパッチに対して1つのパッチ表現342(例えば、特徴ベクトル)を生成する。
【0087】
一例として、エンコーダ330は、そのすべてがここに含まれる、Dosovitskiy et al.,An Image is Worth 16×16 Words:Transformers for Image Recognition at Scale,ICLR,2021に記載されているようなビジョントランスフォーマ(Vision Transformer:ViT)アーキテクチャで実現されてよい。画像パッチは、ViTバックボーンのトークンとして使用されてよい。ViTのアプローチ法にしたがって、エンコーダ330は、正弦波位置インベディングが追加される入力トークン(セット(p2)のパッチ322またはセット(~p1)のマスキングされていないパッチ312に対する線形プロジェクションを含み、一連のトランスフォーマブロックが続いてよい(例えば、マルチレイヤーパーセプトロン(Multi-Layer Perceptron:MLP)。セルフアテンション(self-attention))正弦波位置インベディングは、そのすべてがここに含まれる、Vaswani et al.,Attention is all you need,NeurIPS,2017に記載されている。
【0088】
クロスビュー完成ブロック360は、表現(εθ(~p1))340、および選択的に表現(εθ(p2))350を受信する。CroCo完成ブロック360は、表現(εθ(p2))350を変更されていないそのままとし、該表現をデコーダ370に伝達する。追加的に、CroCoブロック360は、表現(εθ(~p1))340を、画像(I1)310のマスキングされたパッチに対応する学習されたパッチ表現362(例えば、学習された特徴ベクトル)でパッチングすることにより、表現(εθ(~p1))340を変換された表現(εθ(~p1)’)364に変換する。一例として、表現(εθ(~p1))340は、画像(I1)310の各マスキングされたパッチに対して1つの学習された表現362(例えば、学習された特徴ベクトル)にパッチングされる。デコーダ370によって入力として使用されるパッチ表現の次元がエンコーダ330によって生成されるパッチ表現の次元と異なる場合があるため、CroCoブロック360は、全結合層をパッチ表現に適用してデコーダ370に対する予め定められた入力次元に投影することにより、εθ(p2)とεθ(~p1)’に対して追加の変換を実行してよい。
【0089】
クロスビュー完成ブロック360は、変換された表現(ε
θ(
~p
1)’)364をデコーダ370に提供する。追加的に、デコーダ370は、エンコーダ330から直接またはクロスビュー完成ブロック360を介して表現(ε
θ(p
2))350を受信する。以下、デコーダはD
φと表示するが、これは、デコーダ(D
φ)370が学習可能なパラメータ(φ)のセットを含むことを示す。デコーダ370は、ε
θ(p
2)350を条件とする変換された表現(ε
θ(
~p
1)’)364をパッチのセット(p
1)の再構成:
【数8】
(以下、^p
1とも表記する;上に“^”が付された記号について以下同様)にデコードし、これにより、画像(I
1)310の各パッチの再構成として再構成された画像380を生成するが、これは次のように表現され得る。
【0090】
【0091】
一例として、変換された表現(εθ(~p1)’)364は、一連のデコートランスフォーマブロック(デコーダのトランスフォーマモジュール(トランスフォーマアーキテクチャを有するモジュール))に供給される。各ブロックは、(a)画像表現(εθ(~p1))340のパッチ表現342と、^p1のマスキングされたパッチ314に対応する追加された学習されたパッチ表現362を含むεθ(~p1)’364のパッチ表現に対するセルフアテンション、(b)εθ(p2)340のマスキングされたパッチ表現を使用したクロスアテンション、および(c)多層パーセプトロン(MLP)を含んでよい。
【0092】
学習可能なエンコーダパラメータ(θ)のセットおよび学習可能なデコーダパラメータ(φ)のセット、および変換された表現(ε
θ(
~p
1)’)の学習されたパッチ表現のパラメータは、
図2を参照しながら説明したように、プレテキスト損失142に基づいてバックプロパゲーション144によって訓練モジュール50によって更新される。
【0093】
一例として、それぞれのプレテキストの損失は、^p1の^pi
1と-p1の対応するマスキングされたパッチ(p)i
1の差を定量化するメトリックに基づいて、マスキングされていないパッチに対する^p1とp1の各パッチの比較に基づいて訓練モジュール50によって決定さ得る。一例として、画像(I1およびI2)に対するプレテキストの損失は、以下の数式に示すように、^p1の再構成されたパッチ(^pi
1)のピクセルと、-p1のすべてのマスキングされていないパッチに対して平均化された-p1の対応するマスキングされたパッチ(pi
1)の対応するピクセルとの平均二乗誤差(MSE)損失として評価される。
【0094】
【0095】
代案的に、プレテキスト損失は、例えば、与えられたパッチのすべてのピクセルの平均および標準偏差にしたがって、^p1の再構成されたパッチ^pi
1と、各パッチ内の-p1の対応するマスキングされたパッチpi
1を正規化することにより、訓練モジュール50によって決定されてよい。各パッチの正規化値に基づいて、^p1の再構成されたパッチ^pi
1と-p1のそれぞれの対応するマスキングされていないパッチpi
1の間の平均二乗誤差(MSE)損失が、-p1のすべてのマスキングされていないパッチに対して訓練モジュール50によって決定されて平均化される。
【0096】
事前学習されたCroCo機械学習モデルは、
図1の微調整プロセス150で詳しく説明したように、幾何学的下流ビジョンタスクのためのタスク特定機械学習モデルを教師あり微調整するために使用され得る。単一の画像に対する予測を生成する、単眼タスク(例えば、単眼深度推定、深度マップが単一の画像に対して予測される)に対する微調整は、入力として複数の画像(例えば、2つの画像)を必要とするタスクの微調整と区別され得る。単眼微調整シナリオにおいて、入力画像は、分割モジュール300によって素集合パッチ(例えば、4×4、8×8、16×16、または32×32ピクセルパッチ)に分割されてよく、ViTエンコーダに入力されてよく、訓練モジュール50によって自己教師ありで事前学習されたエンコーダ330のパラメータから初期化される。この後、ViTエンコーダは、下流タスクに対して訓練モジュール50によって微調整される。精密な予測タスクの場合、タスク特定機械学習モデルは、ViTエンコーダによって生成された各パッチ表現を独立的に処理し、各パッチ表現のピクセルに対して必要な予測を出力する予測ヘッドとして最終的な全結合層が提供されてよい。この最終出力層は、ViTエンコーダとは異なり、事前準備を経ずに訓練モジュール50によって訓練される。
【0097】
CroCo事前学習は、入力として画像のペアを含む下流タスク(例えば、オプティカルフロー)に対して使用されてよい。この場合、各入力画像は、分割モジュール300によって素集合パッチ(例えば、4×4、8×8、16×16、または32×32ピクセルパッチ)に分割される。タスク特定機械学習モデルは、エンコーダ330と同じ構造を有するタスク特定エンコーダを含む。タスク特定エンコーダは、訓練モジュール50によって、事前学習されたエンコーダ330のパラメータ値で初期化される。タスク特定機械学習モデルのエンコーダ330は、画像ペアの各画像のパッチを、パッチ表現セットをそれぞれ含むそれぞれの表現にエンコードする。
【0098】
タスク特定機械学習モデルは、デコーダ370と同じ構造を有する、タスク特定デコーダをさらに含む。タスク特定デコーダは、訓練モジュール50によって、事前学習されたデコーダ370のパラメータ値で初期化される。第1画像の表現のパッチ表現は、第2画像の表現のパッチ表現に対して計算されたクロスアテンションを使用してデコーダ370によって処理される。
【0099】
デコーダ370の出力を予め定められたサイズおよび形状に投影するために、最終層が予測ヘッドとして含まれてよい。
【0100】
訓練のために、CroCo機械学習モデルは、AdamWオプティマイザを使用するなど、200個または他の適切な数のエポックで事前学習されてよい。1.5×10-4の基本学習率を有するコサイン学習率スケジュールは、256の有効バッチサイズが使用されてよい。また、最初の40個のエポックで線形ウォーミングアップが実行されてよい。ViT基盤のバックボーンは、16×16ピクセルサイズのパッチとともに、768次元を有する一連の12個のトランスフォーマブロック(モジュール)とセルフアテンションのための12個のヘッドを含むエンコーダとして使用されてよい。デコーダの場合、512次元を有する8個のデコーダブロック(モジュール)と、セルフおよびクロスアテンションのための16個のヘッドが使用されてよい。
【0101】
CroCo機械学習モデルは、屋内シーンの画像ペアを含むデータセットに対して事前学習されてよい。事前学習されたエンコーダは、単眼深度推定を実行するために事前学習されたエンコーダが微調整される一環として、タスク特定機械学習モデルの初期エンコーダとして維持されてよい。下流タスクのオプティカルフローを推定するために事前学習されたエンコーダと事前学習されたデコーダはどちらも、オプティカルフローを推定するためのタスク特定機械学習モデルの初期エンコーダとデコーダとして維持されてよい。エンコーダとデコーダはどちらも、以後に訓練モジュール50によって微調整され、与えられた画像のペアに対してオプティカルフローの推定を実行する。
【0102】
事前学習されたCroCoモデルの性能は、単眼深度推定タスクのために微調整されるときに評価されてよい。このような例において、タスク特定機械学習モデルは、パッチあたり256個の値(深度予測)を生成する。最終出力は、深度予測が正数であることを強制するためにモデルによって指数化される。次に、訓練モジュール50は、予測値とグランドトゥルース深度値の平均二乗誤差(MSE)損失の最小化に基づいてモデルを選択的に訓練する。また、事前学習されたCroCoモデルは、予測ヘッドを使用して各パッチのピクセルに対して2つの値を予測することにより、オプティカルフローを推定するために微調整して評価されてよい。MSE損失は、微調整中に訓練モジュール50によって最小化されてよい。実験結果は、CroCoプレテキストタスクが低レベルの幾何学キューの利点を採択することにより、他の方法よりも効果的に幾何学的下流ビジョンタスクに対してタスク特定モデルを事前学習できることを示した。
【0103】
【0104】
実験は、3D室内シーンの合成画像に対して実行された。各3Dシーンにおいて、50%よりも大きい共同可視性を有する最大1000台のペアのカメラ視点がランダムにサンプリングされた。このような視点のペアは、Habitatシミュレータを使用してレンダリングされてよい。一例として、事前学習のために、互いに異なる室内シーンから合計1,821,391点のペアが生成されてよい。
【0105】
また、一例において、200,000個の下流タスクのための訓練(および、それぞれのテスト)セット(それぞれ20,000のペア)が、異なる屋内シーンに対して生成されてよい。単眼深度推定のために、下流タスク特定モデルは、20,000枚の画像に対して微調整される反面、2,000枚の画像がオプティカルフロー推定のための微調整に使用されてよい。256×256ピクセルサイズの画像が生成されてよく、224×224サイズのクロップが使用されてよい。単眼深度推定のためにAcc@1.25が報告されているが、これは条件:
【数11】
を満たすピクセルの比率を含んでよく、dと
-dはそれぞれ予測深度とグランドトゥルース深度である。オプティカルフロー推定のために、平均二乗誤差(MSE)損失が報告される。
【0106】
上の表1では、マスキング比率(r)の影響について説明した。75%マスキングは、MAEの自動完成のコンテキストで正確度を提供している。全体的に90%または95%のような高いマスキング比率は、CroCoモデルの性能を高める。
【0107】
以下の表2では、追加で、CroCoアプローチ法の性能がターゲットを正規化するときと、デコーダの深度、すなわち、Dφにおいてデコーダブロック数(D)を変更するときに評価される。ターゲットの正規化により、2つの下流タスクの性能を高めることができる。デコーダ深度は単眼タスクに最小限の影響しか及ぼすことができないが,十分な深さのデコーダは,例えばオプティカルフローなどの、入力として画像のペアを採択するタスクに使用可能であるが、これはモデル容量も増加するためである。
【0108】
【0109】
下流タスクに対して評価されたCroCoの事前学習方法は、以下の表3において事前準備なし学習および他のモデル(MAE)と比較されている。他のモデルは、このデータセットに対する画像分類のための教師ありによって事前学習され、追加で微調整されたり、CroCoアプローチ法によって事前学習に使用された同じ画像と同じデータセットに対して事前学習されてよい。例えば、1.25の閾値での深度正確度に対して約20%の差がある事前準備なし訓練と比較することで2つのタスクに対する事前学習の利点が観察された。CroCoの事前学習は、1.25での深度正確度に対して約1%の利得をもたらし、幾何学的タスクに対して他のモデルよりも優れた性能を発揮した。さらに、オプティカルフロー推定に対しては2桁のより優れた改善が得られた。
【0110】
【0111】
図4に示したクロスビュー整列(Caiman)事前学習システムは、教師なし事前学習110の他の実施例である。Caiman事前学習のためのプレテキスト機械学習モデルは、Caiman機械学習モデルとも呼ばれる。Caiman機械学習モデルは、
図2に示したようなプレテキスト機械学習モデル130に該当する。Caiman機械学習モデルは、エンコーダ(モジュール)430(エンコーダ230に対応)、デコーダ(モジュール)470(デコーダ270に対応)、およびクロスビュー整列ブロック(モジュール)460(表現空間ブロック260に対応する)を含む。エンコーダ430は学習可能なエンコーダパラメータ(θ)のセットを含み、デコーダ470は学習可能なデコーダパラメータ(φ)のセットを含む。
【0112】
Caiman機械学習モデルは、ソース画像(IS)410とターゲット画像(IT)420を含む注釈なし画像のペアに適用される。2つの画像は、同じ視覚的コンテンツ(例えば、同じシーン、同じオブジェクト、同じ人物、または同じ建築構造)を異なる視点または異なる条件(例えば、照明条件、季節条件、被写界深度、焦点距離など)で描写する。2つの画像のピクセルサイズは、同じであってもよし、異なってもよい。Caiman事前学習は教師なしで実行されるため、画像410、420は、Caimanタスクによってグランドトゥルースデータを有する追加の注釈を含む必要がない。
【0113】
ソース画像(I
S)410は、エンコーダ430によってソース表現(x
S)440にエンコードされる。エンコーダ430は、ターゲット画像(I
T)420をターゲット表現(x
T)450に独立的にエンコードする。一実施形態において、ソース表現(x
S)440は、n個のK次元ベクトル442の整列されたセット:
【数12】
とし得る。これと同様に、ターゲット表現(x
T)450は、n個のK次元ベクトル452の整列されたセット:
【数13】
とし得る。ベクトルの数(N)および次元(K)は、Caiman事前学習方法の調整可能なパラメータであり、任意の適切な値が設定されてよい。一実施形態では、n=512、K=128である。
【0114】
エンコーダ430の一例として、ソースおよびターゲット表現は、そのすべてがここに含まれる、Jaegle et al.,Perceiver IO:A General Architecture for Structured Inputs & Outputs,ICLR,2022に記載されているパーシーバIO(Perceiver IO)基盤のアーキテクチャを使用して生成されてよい。例えば、2次元(2D)畳み込み層(例えば、5×5、6×6、7×7、または9×9の2D畳み込み層)および整流線形ユニット(Rectifier Linear Unit:ReLU)を活性化する特徴マップを生成するために入力画像(例えば、ソース画像(IS)410またはターゲット画像(IT)420)に適用されてよいが、ここで、特定マップは、入力画像の各ピクセルに対する1つの特徴ベクトルを含んでよい。特徴ベクトルの次元は、エンコーダの予め定められたパラメータであってよく、適切な数であってよい。一例として、特徴ベクトルの次元は、32、64、128、または256である。特徴マップは、分割モジュール300によって、特徴ベクトルのパッチ(例えば、サイズが8×8、12×12、16×16、20×20、または32×32である素集合二次パッチ)に分割されてよい。各パッチは、フーリエ位置エンコードに関連してよい。次に、パッチは、入力画像(例えば、ソース画像(IS)410またはターゲット画像(IT)420の表現(x)を生成するために、クロスアテンションによって次元(K)のn個のランダムに初期化されたベクトルのセットを修正するために使用されるが、これは、セルフアテンション層(例えば、4、6、8、10、または12のセルフアテンション層)のブロックを適用することによって更新される。
【0115】
ソース表現(xS)440およびターゲット表現(xT)450は、クロスビュー整列ブロック460に提供される。クロスビュー整列ブロック460は、ソース表現(xS)440に変換(h)466を適用することにより、ソース表現(xS)440を変換されたソース表現(^xs)468に変換する。変換(h)466は、結果的に変更されたソース表現(^xs)468がターゲット表現(xT)450に近似するように(例えば、整列されるように)、ソース表現(xs)440を変換するように構成される変換パラメータ(Ω)464のセットを含む。変換されたソース表現(^xs)468とターゲット表現(xT)450の整列を達成するために、パラメータモジュール(g)462は、ソース表現(xS)440およびターゲット表現(xT)450に基づいて変換(h)のパラメータ(Ω)464を決定してもよいし、数学的な用語として変換(h)のパラメータ(Ω)464を決定してもよい(Ω=g(xs,xT))。決定されたパラメータ(Ω)464は、ソース表現442を変換されたソース表現468に変換するための変換(h)466に入力される。
【0116】
クロスビュー整列ブロック460の一例として、各ベクトル:
【数14】
は、2つの部分、すなわち、等辺部分:
【数15】
と、不変部分:
【数16】
(ここで、0<D≦K)に分解されると仮定される。不変部分は、ソースとターゲットビューで変更される等辺部分とは異なり、同じシーンの異なるビューにおいて一定であってよい。変換(h
Ω)466の可能な一例として、D次元回転が挙げられる。しかし、本出願は、他の変換にも適用可能であるし、この代わりにより複雑な変換が選択されてもよい(例えば、より一般的なD次元アフィンまたは幾何学的変換など)。上述したように、変換(h
Ω)466は、D次元回転行列(Ω)として与えられ、ソース表現(x
S)440に変換(h
Ω)466を適用することは、各表現ベクトルの等辺部分(x
S,i
equiv)を回転行列(Ω)と掛けることと同じである。ソースとターゲット画像(I
S、I
T)の表現(x
S、x
T)が与えられれば、ソースとターゲットの表現の等辺部分を最も適切に整列させる回転行列(Ω)は、次のように推定されてよい。
【0117】
【0118】
SO(D)は、すべての可能なD次元回転行列を含むD次元特殊直交グループを示す。回転は、その全体がここに含まれる、Schonemann,A generalized solution of the orthogonal Procrustes problem,Psychometrika,1966、またはUmeyama,Least-squares estimation of transformation parameters between two point patterns,TPAMI,1991、またはBregier,Deep regression on manifolds:a 3D rotation case study,3DV,2021に記載されているように、閉じた微分可能な形式を使用して推定されてよい。これは,ソース表現(x
S)440をターゲット表現(x
T)450に整列させることを許容する。具体的に、変換されたソース表現(^x
s)468は、次のようなクロスビュー整列ブロック460によって決定されてよい:
【数18】
【0119】
クロスビュー整列タスクを解決するために、Caiman機械学習モデルは、ソース画像とターゲット画像がどのように関連しているかを示す一部の変換パラメータ(回転行列(Ω)を抽出する。これは、モデルがビュー間の視点や照明などの変更事項をエンコードするようにする。一実施形態において、変換(h)は、予め定められた自由度を有するように制限される。この予め定められた数は、Caiman事前学習手順の適応可能なパラメータであり、任意の適した数が設定されてよい。上述した例示的な実施形態では、この制限された数の自由度は、Dを予め定められた数(例えば、24)に制限することに相当する。
【0120】
ソース表現(xS)440が変換されたソース表現(^xs)468に変換されると、デコーダ470は、変換されたソース表現(^xs)468を再構成された画像(IR)480にデコードする。デコーダの一例として、変換されたソース表現(^xs)468は、パッチベースのアプローチ法を使用して特徴マップにデコードされる。特徴マップは、再構成された画像の各ピクセルに対する予め定められた次元(例えば、32、64、128、または256)の1つの特徴ベクトルを含んでよい。特徴マップの予め定められたパッチサイズ(例えば、8×8、12×12、16×16、32×32ピクセル)の各パッチに対して、このパッチに対する特徴マップ値の平坦化された表現は、^xsとパッチの2次元位置のフーリエ符号化の間のクロスアテンションを実行することによって生成される(例えば、平坦化モジュールによって)。平坦化された表現は、単一特徴マップに併合され(例えば、併合モジュールによって)、予め定められた畳み込みカーネルサイズ(例えば、5×5、7×7、9×9)を有する2D畳み込み層が最終的に再構成されたRGB画像を生成するために適用される。再構成された画像は、ターゲット画像(IT)420と同じピクセルサイズを有する。
【0121】
学習可能なエンコーダパラメータ(θ)のセットおよび学習可能なデコーダパラメータ(φ)のセットは、プレテキスト損失(例えば、プレテキスト損失142)に基づいたバックプロパゲーション(例えば、バックプロパゲーション144)によって、訓練モジュール50によって更新される。Caiman事前学習に対する損失(Caiman損失)は、再構成された画像(IR)480のターゲット画像(IT)420に対する比較に基づいて、例えば、再構成された画像(IR)480のターゲット画像(IT)420からの偏差を定量化するメトリック(例えば、平均二乗誤差メトリック)に基づいて、訓練モジュール50によって決定されてよい。追加的または代案的に、Caiman損失は、変換されたソース表現(^xs)468のターゲット表現(xT)450に対する比較に基づいて、例えば、変換されたソース表現(^xs)468のターゲット表現(xT)450からの偏差を定量化するメトリック(例えば、平均二乗誤差メトリック)に基づいて、訓練モジュール50によって決定されてよい。一実施形態において、Caiman損失は、以下の数式を使用して、訓練モジュール50によって決定されてよい。
【0122】
【0123】
ここで、IR(i)は、ピクセル位置(i)における再構成画像(IR)480の赤-緑-青(RGB)値に対応し、これと同様に、IT(i)は、ピクセル位置(i)におけるターゲット画像(IT)420のRGB値に対応する。Lδはフーバー(Huber)損失である。
【0124】
【0125】
一例として、δ=0.1である。しかし、δ=0.1に対して他の適切な値を使用することも可能である。
【0126】
事前学習されたCaiman機械学習モデル(具体的には、事前学習されたエンコーダ430および事前学習されたデコーダ470)は、
図1の微調整プロセス150に詳しく説明されているように、幾何学的下流ビジョンタスクのためのタスク特定機械学習モデルの教師あり微調整に使用され得る。単一画像に対する予測を生成する単眼タスク(例えば、深度マップが単一画像に対して予測される、単眼深度推定)に対する微調整と、複数の画像(例えば、2つの画像)を入力として使用するタスクに対する微調整を区別してよい。単眼微調整シナリオにおいて、タスク特定機械学習モデルは、エンコーダとデコーダを含んでよく、どちらもCaiman機械学習モデルの対応部分と同じ構造を有する。タスク特定機械学習モデルのエンコーダのエンコーダパラメータは、Caiman機械学習モデルの事前学習されたエンコーダのパラメータによって初期化される。これと同様に、タスク特定機械学習モデルのデコーダのデコーダパラメータは、Caiman機械学習モデルの事前学習されたデコーダのパラメータによって初期化される。単眼幾何学的下流ビジョンタスク(例えば、単眼深度推定)のためのタスク特定のモデルは、単一チャンネル(深度など)を出力する最終畳み込み層を含んでよい。この最終層は、事前準備なしで訓練モジュール50によって訓練される反面、エンコーダとデコーダは、事前学習された(予め定められた)パラメータで訓練モジュール50によって初期化される。エンコーダは入力画像に適用され、入力画像の表現を生成する。デコーダは、最終層とともに、出力データ(例えば、深度データ)を生成する。
【0127】
CroCo事前学習は、画像のペアを入力として必要とする下流タスク(例えば、相対姿勢の推定など)に使用されてもよい。相対カメラ姿勢の推定の例として、幾何学的下流ビジョンタスクは、同じシーンの2つのビュー間の相対的なカメラ変位を推定することを含む。クロスビュー整列は、相対姿勢推定の問題に近い事前学習タスクを提供し、Caimanによって事前学習されたモデルは、特定のカメラに対して与えられたシーンの2つのビューの相対的回転(R∈SO(3))および相対的変形:
【数21】
を決定するために微調整される。
【0128】
姿勢推定のためのタスク特定機械学習モデルにおいて、2つの画像は、Caiman機械学習モデルのエンコーダ430と同じ構造を有するタスク特定エンコーダに独立的に供給され、事前学習されたCaimanエンコーダ430のパラメータで訓練モジュール50によって初期化される。生成された2つの表現は、2つの画像表現間の整列パラメータ(Ω)を推定するためにパラメータモジュール(g)462に入力される。このパラメータは、例えば、3×3行列および3D変形ベクトル(t)をそれぞれ決定する回転および変形ヘッドの入力として与えられる。このようなヘッドは、予め定められた数の隠し層(例えば、64、128、196、256)を有する多様な実施形態において多層パーセプトロン(MLP)を使用して実現されてよい。3×3行列は、そのすべてがここに含まれる、Bregier,Deep regression on manifolds:a 3D rotation case study”,3DV,2021に記載されるように、特殊直交プロクルステス直交正規化を使用して回転行列(R)に追加で直交正規化される。
【0129】
下流モデルは、教師あり方式で訓練モジュール50によって微調整され、グランドトゥルース相対姿勢:
【数22】
に対して次のような姿勢推定エラーを最小化する。
【0130】
【0131】
一実施形態によると、λ=0.1m-2である。ただし、他の適切な値が使用されてもよい。
【0132】
以下の表は、上述した自己教師ありCaimanプロセスで事前学習された単眼深度推定と姿勢推定に関する実験結果を示したものである。実験結果は、PyTorchでCaimanモデルを実現することによって達成された。Caiman機械学習モデルは、Radamオプティマイザで事前学習されてよい。
【0133】
【0134】
実験は、3D室内シーンの合成画像に対して実行された。各シーンにおいて、50%以上の共通視認性を有する最大1000点のカメラ視点をランダムにサンプリングした。このような視点ペアは、シミュレータを使用してレンダリングされた。256×256サイズの画像が使用されたし、224×224サイズのランダムクロップが入力画像として使用された。全体的に、異なる室内シーンからの800,000ペアのCaiman機械学習モデルを事前学習するために使用されることができた。数ペア、視点、サンプリング、およびサイズの一例が提供されているが、本出願は他の値の適用も可能である。
【0135】
相対姿勢推定下流タスクの場合、訓練(各テスト)セットには、Caimanの事前学習プロセス中には目に見えない屋内シーンから、同様の方法でさらに生成される200,000個(それぞれ20,000個)のペアを含んでよい。モデルの相対姿勢推定性能を評価するために異なるサイズのサブセットが考慮されてよく、タスク特定機械学習モデルは、100個のエポックに対して微調整されてよい。
【0136】
表4は、事前準備なしで相対姿勢推定のためのタスク特定機械学習モデル(エンコーダとデコーダを含む)を訓練したときに得られる結果と、タスク特定モデルが説明されているクロスビュー整列プロセスを使用して事前学習されたプレテキスト機械学習モデルから微調整したときに得られる結果を比較している。表4は、事前学習がこのタスクに対するモデルの性能に持続的に有益であることを示している。
【0137】
単眼深度推定のために、各タスク特定機械学習モデルは、相対姿勢推定のために使用される下流タスク訓練セットからランダムに選択された20,000枚の画像に対して微調整されてよい。微調整されたタスク特定機械学習モデルは、対応するテストセットで評価されてよい。予測された深度の品質を評価するためにAcc@1.25が使用されてよく、これは、max(d/-d,-d/d)<1.25を満たすピクセルの割合を含み、dと-dはそれぞれ予測深度とグランドトゥルース深度である。
【0138】
Caimanの事前学習の性能は、単眼深度推定の幾何学的下流ビジョンタスクに対して経験的に評価されてよい。タスク特定機械学習モデルは、正数の深度予測を強制するために指数化された(例えば、指数関数に入力された)スカラー値を出力する。タスク特定モデルは、例えば、ログ空間において、深度予測とグランドトゥルース深度値のMSE損失を最小限に抑えるために訓練モジュール50によって微調整されてよい。表5では、事前準備なしで単眼深度推定のためのタスク特定機械学習モデル(エンコーダとデコーダの両方)を訓練したときに得られる性能と、Caimanが事前学習されたときのタスク特定機械学習モデルの性能を比較している。事前学習されたモデルを使用したときの性能利得が観察され、性能は0.39から0.48に増加した。
【0139】
【0140】
図5は、幾何学的下流ビジョンタスクのためのタスク特定機械学習モデルを訓練するコンピュータ実装方法500を示したフローチャートである。当該方法は、段階510で、訓練モジュール50が、プレテキスト機械学習モデル(例えば、プレテキスト機械学習モデル130)の教師なし事前学習を実行することから始まる。実施形態によって、教師なし事前学習は、自己教師あり事前学習であってもよい。プレテキスト機械学習モデルは、エンコーダ(例えば、エンコーダ230、330、または430)およびデコーダ(例えば、デコーダ270、370、または470)を含む。エンコーダはエンコーダパラメータのセットを有し、デコーダはデコーダパラメータのセットを有する。教師なし事前学習は、
図1の教師なし事前学習110によって実行され得る。
【0141】
段階520で、タスク特定機械学習モデル(例えば、タスク特定機械学習モデル170)が、事前学習されたプレテキスト機械学習モデルに基づいて、幾何学的下流ビジョンタスク(例えば、深度推定、光流推定、または相対姿勢推定のようなコンピュータビジョンにおける3D幾何学的タスク)のために構成または取得される。タスク特定機械学習モデルは、タスク特定エンコーダパラメータのセットを有するタスク特定エンコーダを含む。タスク特定機械学習モデルは、タスク特定デコーダパラメータのセットを有するタスク特定デコーダをさらに含み得る。一実施形態において、タスク特定エンコーダは、プレテキスト機械学習モデルのエンコーダと同じ構造を有する。さらに、タスク特定デコーダは、プレテキスト機械学習モデルのデコーダと同じ構造を有し得る。
【0142】
段階530で、事前学習されたプレテキスト機械学習モデルのエンコーダパラメータのセットでタスク特定エンコーダパラメータのセットを初期化する。一実施形態において、タスク特定デコーダパラメータのセットは、事前学習されたプレテキスト機械学習モデルのデコーダパラメータのセットで訓練モジュール50によって初期化される。
【0143】
段階540で、タスク特定機械学習モデルは、幾何学的下流ビジョンタスクのために訓練モジュール50によって微調整訓練される。一実施形態において、微調整は、
図1の教師あり微調整150にしたがって、注釈付き画像の訓練データセットまたは注釈付き画像のペアに基づいた教師あり微調整によって実行される。
【0144】
幾何学的下流ビジョンタスクのためのタスク特定機械学習モデルの微調整は、1つ以上の画像(例えば、注釈付き画像など)にタスク特定機械学習モデルを適用することから始まる。単眼ダウンストリームの幾何学的ビジョンタスク(例えば、単眼深度推定など)の場合は、タスク特定機械学習モデルを1つの入力画像に適用し、両眼ダウンストリームの幾何学的ビジョンタスク(両眼深度推定、相対姿勢推定、画像フロー推定など)の場合は、タスク特定機械学習モデルを入力画像のペアに適用する。画像ペアの画像は、同じ視覚的コンテンツ(同じシーン)を描写してよく、異なる視点または異なる条件(例えば、異なる焦点距離、異なる被写界深度、異なる照明条件、異なる季節)で撮影されてよい。
【0145】
タスク特定エンコーダは、各入力画像に対するそれぞれの画像表現を生成する。一実施形態において、1つ以上の画像表現は、デコードされた画像表現を生成するようにタスク特定デコーダに入力される。1つ以上の画像表現またはデコードされた画像表現は、幾何学的下流ビジョンタスクによってタスク特定出力データ(例えば、シーンの深度マップ、相対的回転行列、および相対的変形ベクトル)を生成するように、タスク特定機械学習モデルのタスク特定出力層(例えば、2次元畳み込み層または多層パーセプトロン)に入力され得る。1つ以上の注釈付き画像は、幾何学的下流ビジョンタスクに対応するグランドトゥルースデータが注釈として付けられている。タスク特定損失関数の値は、生成された出力データとグランドトゥルースデータとの差を定量化する(これに対応する)メトリックに基づいて訓練モジュール50によって決定され得る。次に、タスク特定機械学習モデルは、例えば、タスク特定の損失関数の値に基づいてまたはそれを最小化するために、タスク特定機械学習モデルのタスク特定エンコーダパラメータのセット(および、オプションとしてタスク特定デコーダパラメータのセット)を調整することによって訓練モジュール50によって調整される。
【0146】
次の繰り返し段階は、新たなタスク特定出力データを生成するために、1つ以上の注釈付き画像に調整されたタスク特定機械学習モデルを適用すること、タスク特定損失関数の新たな値を決定すること、およびタスク特定エンコーダ(および、オプションとしてタスク特定デコーダ)の学習可能なパラメータをさらに調整することから始まってもよいし、これを含んでもよい。この繰り返しプロセスは、予め定められた回数が繰り返された(例えば、エポック)後に、またはタスク特定損失関数の最小値に達したとき(損失関数の最小化が収束したとき)に停止となる。
【0147】
タスク特定機械学習モデルが幾何学的下流ビジョンタスクのために微調整されると、モデルは、画像のセットに対して幾何学的下流ビジョンタスクを実行するように適用されてよい。微調整されたモデルは、微調整段階(例えば、微調整段階150)の繰り返し段階と同じ方式によって1つ以上の注釈なし画像に適用される。しかし、損失関数の値の決定およびタスク特定機械学習モデルの繰り返し調整は、適用段階では実行されない。
【0148】
一例として、タスク特定機械学習モデルは、相対姿勢の推定のために微調整されてよい。このような例において、微調整されたタスク特定機械学習モデルは、事前学習または微調整されたデータセットの一部ではなく、新たな画像のペアに適用される。新たな画像のペアは、同じシーンの2つのビューを描写する(同じシーンを異なる視点から描写する)。新たな画像のペアに微調整されたモデルを適用することにより、新たな画像ペアの画像のビュー間の相対的回転と相対的変形が、予測データとしてタスク特定機械学習モデルによって決定される。
【0149】
一例として、タスク特定機械学習モデルが微調整される幾何学的下流ビジョンタスクは、深度の推定であってよい。深度推定は、単眼方式(単一の画像を使用)と両眼法(2つの画像を使用)で実行されてよい。単眼の場合、微調整されたタスク特定機械学習モデルは、新たな画像の深度マップを予測データとして抽出するために、新たな画像(事前学習または微調整されたデータセットの一部ではない)に適用する。両眼の場合、微調整されたタスク特定機械学習モデルは、描写されたシーンに対する深度マップを出力予測データとして抽出するために、同じシーンを異なる視点から描写した新たな画像のペアに適用する。
【0150】
他の例として、タスク特定機械学習モデルは、オプティカルフローの推定のために微調整されてよい。この幾何学的下流ビジョンタスクの場合、微調整されたタスク特定機械学習モデルは、新たな第1画像と新たな第2画像を含む新たな画像ペア(事前学習または微調整されたデータセットの一部ではない)に適用される。新たな第1画像と第2画像は、同じシーンを異なる条件または異なる視点から描写する。新たな画像ペアに適用するとき、微調整されたタスク特定機械学習モデルは、予測データとして複数のピクセルペアを識別する。各ピクセルペアは、新たな第1画像の1つのピクセルと新たな第2画像の対応する1つのピクセルを含み、ピクセルのペアは、描写されたシーンの同じ視覚的特徴に対応する。ピクセルのペアから新たな第1画像と新たな第2画像との間の描写されたシーンの識別された視覚的特徴量の動きが、タスク特定機械学習モデルによって決定される。
【0151】
以下、
図6、
図7、および
図8を参照しながら、
図5の事前学習510についてより詳しく説明する。
【0152】
図6は、プレテキストタスクのためのプレテキスト機械学習モデル(例えば、プレテキスト機械学習モデル130)を事前学習するコンピュータ実現方法600を示したフローチャートである。方法600は、
図5の教師なし事前学習510の例示的な実装を提供する。プレテキスト機械学習モデルは、エンコーダ(例えば、エンコーダ230、330、または430)およびデコーダ(例えば、デコーダ270、370、または470)を含む。エンコーダはエンコーダパラメータのセットを有し、デコーダはデコーダパラメータのセットを有する。
【0153】
段階610は、第1画像(例えば、画像120、310、または410)および第2画像(例えば、画像122、320、または420)を含む注釈なし画像のペアを取得することから始まる。第1および第2画像は、異なる条件(例えば、異なる焦点距離、異なる照明条件、異なる季節)または異なる視点で撮影された同じシーンを描写する。
【0154】
段階620で、プレテキスト機械学習モデルのエンコーダは、第1画像を第1表現(例えば、画像表現240、340、または440)にエンコードする。追加的に、第2画像は、エンコーダによって第2表現(例えば、画像表現(250、350、または450))にエンコードされる。
【0155】
段階630で、第1表現は、変換された表現(例えば、変換された表現264、364、または468)に変換される。変換は、表現空間ブロック260、クロスビュー完成ブロック360、またはクロスビュー整列ブロック460で実行され得る。段階640で、変換された表現は、プレテキスト機械学習モデルのデコーダによって再構成された画像(例えば、再構成された画像140、380、または480)にデコードされる。再構成された画像は、第1表現の変換が、第2表現に依存するか、デコーダが、変換された表現と第2表現の両方を入力として採択して、第1表現を、第2表現を条件とする再構成された画像にデコードするか、であるという点において、第1および第2表現に基づく。
【0156】
段階650で、エンコーダおよびデコーダは、損失関数に基づいてまたはそれを最小化するために(損失関数の値(例えば、プレテキスト損失142)を最小するために)エンコーダおよびデコーダパラメータの各セットを調整することによって、訓練モジュール50によって調整される(すなわち、更新または修正される)。エンコーダおよびデコーダパラメータを調整することにより、プレテキスト機械学習モデルは、調整後にプレテキストタスクをより適切に実行するように調整される。プレテキスト機械学習モデルは、例えば、表現空間ブロック260などの表現空間ブロックの一部として、追加の学習可能なパラメータを含んでよい。このような選択的な追加学習が可能なパラメータも、損失関数の最小化に基づいて調整される。損失関数を最小化するために、プレテキストの損失(損失関数の値)は、再構成された画像の再構成しようとする画像(例えば、入力画像ペアの画像のうちの1つ)に対する偏差に基づいて決定されてよい。追加的または代案的に、損失は、変換された表現の入力画像ペアの画像にエンコーダを適用することによって生成される画像表現の1つに対する偏差に基づいて決定されてよい。プレテキスト機械学習モデルの学習可能なパラメータ(エンコーダおよびデコーダのパラメータを含む)の調整は、バックプロパゲーションによって実行される(例えば、バックプロパゲーション144)。プレテキスト機械学習モデルを調整した後、プロセスは、停止されてもよいし、繰り返されてもよい。プロセスが繰り返される場合、新たな繰り返しは、段階610で、調整されたエンコーダおよびデコーダを含む調整されたプレテキスト機械学習モデルによって開始される。プロセスは、予め定められた回数の繰り返し(例えば、エポック)の後に、またはプレテキスト損失関数の最小値に達したとき(例えば、プレテキスト損失関数の値が最小値に向かうか、最小値に収束したとき)に停止され得る。
【0157】
図7は、クロスビュー完成プレテキストタスクのためのプレテキスト機械学習モデル(例えば、プレテキスト機械学習モデル130)のクロスビュー完成事前学習を実行するコンピュータ実現方法700の一例を示したフローチャートである。このような方法700は、
図5の事前学習段階510の一例であって、クロスビュー完成の特定プレテキストタスクのための方法600の一例である。プレテキスト機械学習モデルは、エンコーダ(例えば、エンコーダ330)とデコーダ(例えば、デコーダ370)を含む。エンコーダはエンコーダパラメータのセットを有し、デコーダはデコーダパラメータのセットを有する。
【0158】
方法700は、段階710で、第1画像(例えば、画像310)と第2画像(例えば、画像320)を含む画像のペアを取得することから始まる。第1画像および第2画像は、同じシーン(同じ視覚的コンテンツ)を描写し、異なる条件または異なる視点で撮影される。したがって、画像ペアの2つの画像は、同じ視覚的コンテンツを異なる視点、異なる照明、異なる被写界深度、異なる焦点距離、またはその他の差によって表す。特に、画像ペアの2つの画像のピクセルコンテンツは、互いに異なるが同じシーンを描写する。画像ペアの各画像は、描写されたシーンの明確なビューを提供し、これはペアの他の画像によって提供されるビューとは異なる。
【0159】
段階720で、第1画像を第1の素集合パッチのセット(例えば、画像パッチ312)に分割し、第2画像を第2の素集合パッチのセット(例えば、画像パッチ322)に分割する。段階730で、第1パッチのセットの複数のパッチがマスキングされる。一例として、第1パッチのセットの予め定められた割合(例えば、75~95%)のパッチがマスキングされるようにランダムに選択されて、マスキングされる。
【0160】
第1画像を分割した後、段階740で、エンコーダは、第1パッチのセットの残りのマスキングされていないパッチを、対応するマスキングされていないパッチ表現(例えば、パッチ表現342)にエンコードして第1パッチ表現セットを生成することによって、第1画像を第1表現(例えば、画像表現340)にエンコードする。第1画像を第1表現にエンコードすることは、第1パッチ表現セットがマスキングされたパッチ(例えば、マスキングされたパッチ314)に対するパッチ表現を含まないように、マスキングされていないパッチだけを第1パッチ表現セットにエンコードすることを含む。
【0161】
段階750で、エンコーダは、第2パッチのセットの各パッチを、対応するそれぞれのパッチ表現(例えば、パッチ表現352)にエンコードして第2パッチ表現セットを生成することによって、第2画像を第2表現(例えば、画像表現350)にエンコードする。段階740および段階750は、
図6の段階620に示したCroCoプレテキストタスクのための実装例である。
【0162】
段階760で、第1画像の第1表現は、変換された表現(例えば、変換された表現364)に変換される。一例として、第1表現は、第1画像のマスキングされたパッチのそれぞれに対して、第1画像のマスキングされていないパッチに対するパッチ表現だけを含む第1パッチ表現セットをそれぞれの学習された表現(例えば、学習された表現362)でパッチングすることによって変換された表現に変換される。結果的に得られる変換された表現は、第1パッチ表現セットのパッチ表現のそれぞれ(例えば、パッチ表現342)を含み、マスキングされたパッチに対応する複数の学習されたパッチ表現(例えば、学習されたパッチ表現362)を含み得る。
【0163】
第1表現の変換に続き、当該方法は、デコーダによって、変換された表現を再構成された画像(例えば、再構成された画像380)にデコードする(段階770)。変換された表現は、第1のパッチのセットの各マスキングされたパッチに対して、第1および第2パッチ表現セットに基づいてそれぞれのマスキングされたパッチの予測された再構成を生成することによってデコードされる。一例において、第1パッチのセットのマスキングされたパッチの予測された再構成の生成は、デコーダによって、マスキングされたパッチの学習された表現をマスキングされたパッチの予測された再構成にデコードすることを含む。マスキングされたパッチの学習された表現をデコードするために、デコーダは、第1および第2パッチ表現セットを入力データとして受信し、入力データに基づいてマスキングされたパッチの学習された表現をデコードする。一実施形態において、変換された表現は第1パッチ表現セットのパッチ表現を含み、変換された表現は第2表現を条件とする再構成された画像にデコードされる。
【0164】
段階780において、エンコーダおよびデコーダは、損失関数の最小化(例えば、損失関数の値(例えば、プレテキスト損失142)の最小化)のために、対応するエンコーダおよびデコーダパラメータのセットを調整することによって調整される(例えば、更新または修正される)。一例において、損失関数は、第1画像の各マスキングされたパッチとそれぞれの予測された再構成の差を定量化するメトリックに基づいてよい。一例において、プレテキスト機械学習モデルは、第1画像のマスキングされたパッチに対応する学習された表現の学習可能なパラメータのセットを含んでよい。この例において、追加学習が可能なパラメータとそれに対応する学習された表現も、損失関数を最小化するために調整される。エンコーダおよびデコーダパラメータ、および選択的に学習された表現のパラメータを調整することにより、プレテキスト機械学習モデルは、調整後にクロスビュー完成タスクがより適切に実行されるように調整される。プレテキスト機械学習モデルの学習可能なパラメータ(エンコーダおよびデコーダのパラメータを含む)の調整は、バックプロパゲーション(例えば、バックプロパゲーション144)によって実行される。プレテキスト機械学習モデルを調整した後、プロセスは、停止されてもよいし、繰り返されてもよい。プロセスが繰り返される場合、新たな繰り返しは、調整されたエンコーダおよびデコーダ(および、選択的に調整された学習可能な表現を含む)を含む調整されたプレテキスト機械学習モデルで710によって開始される。当該方法は、予め定められた回数の繰り返しが完了した後、またはプレテキスト損失関数の最小値に達したとき(例えば、プレテキスト損失関数の値が最小値に向かって、または最小値に収束したときに)に停止され得る。
【0165】
図8は、
図5の事前学習510のコンピュータ実現方法800の一例、すなわち、クロスビュー整列プレテキストタスクのためのプレテキスト機械学習モデル(例えば、プレテキスト機械学習モデル130)のクロスビュー整列事前学習を実行するコンピュータ実現方法を示したフローチャートである。方法800は、クロスビュー整列の特定プレテキストタスクのための方法600の一例である。プレテキスト機械学習モデルは、エンコーダ(例えば、エンコーダ430)とデコーダ(例えば、デコーダ470)を含む。エンコーダはエンコーダパラメータのセットを有し、デコーダはデコーダパラメータのセットを有する。
【0166】
当該方法は、第1画像(例えば、ソース画像410)および第2画像(例えば、ターゲット画像420)を含む画像のペアを取得することから始まるが、ここで、第1画像および第2画像は、同じシーンを描写し、異なる条件または異なる視点から撮影される。したがって、画像ペアの2つの画像は、同じ視覚的コンテンツを異なる視点または異なる照明、異なる被写界深度、異なる焦点距離、または同じシーンに対する他の視覚的な差によって表す。特に、画像ペアの2つの画像のピクセルコンテンツは、互いに異なるが同じシーンを含む。画像ペアの各画像は、描写されたシーンの明確なビューを提供し、これはペアの他の画像によって提供されるビューとは異なる。
【0167】
段階820で、プレテキスト機械学習モデルのエンコーダによって、第1画像を第1画像の第1表現(例えば、ソース表現440)にエンコードし、第2画像を第2画像の第2表現(例えば、ターゲット表現450)にエンコードする。一例として、第1表現は、第1のn個のベクトルのセット(例えば、整列されたセット):
【数24】
とし得る。同様に、第2表現は、第2のn個のベクトルのセット(例えば、整列されたセット):
【数25】
とし得る。
【0168】
段階830で、第1表現は、第1表現に変換(例えば、変換466)を適用することによって、変換された表現(例えば、変換されたソース表現468)に変換される。変換は、変換された表現が第2表現に近似するように(例えば、整列するように)、第1および第2表現に基づいて決定される。変換は、第1表現および第2表現に基づいて、パラメータモジュール(例えば、パラメータモジュール462)によって決定される変換パラメータ(例えば、パラメータ(Ω)464)のセットに依存する。一実施形態において、第1および第2ベクトルセットの各ベクトルは、D次元等辺部分および(K-D)次元不変部分に分解されるが、ここで、Dは1とKの間の自然数である。この例において、変換を適用することは、各ベクトルを分解すること、第1ベクトル集合の各ベクトルの等辺部分に(D×D)次元変換行列(Ω)を適用することを含む。第1および第2ベクトル集合の任意のベクトルに変換を適用することは、それぞれのベクトルの不変部分を変更しない。ベクトルの等辺部分に変換行列(Ω)を適用することは、変換行列(Ω)をベクトルの等辺部分と乗算することによって実行されてよい。変換行列(Ω)は、第1のベクトル集合のベクトルの等辺部分を第1のベクトル集合の各ベクトルの等辺部分と整列させるように決定されてよい。一実施形態において、変換はD次元回転であってよく、変換行列(Ω)はD次元回転行列であってよい。このような実施形態の場合、変換行列(Ω)は、以下の数式によって決定されてよい。
【数26】
【0169】
ここで、xi,i
equivはベクトル(xi,j)の等辺部分を示し、x2,i
equivはベクトル(x2,i)の等辺部分を示す。SO(D)はD次元回転グループ(すなわち、次元Dの特殊直交グループ)を示す。前記数式において、関数「arg」は、変換値が合の最小値でなく、合の最小値が達成される行列(^Ω)であることを示している。
【0170】
段階840で、デコーダは、変換された表現を再構成された画像(例えば、再構成された画像480)にデコードする。
【0171】
段階850で、エンコーダおよびデコーダは、損失関数の最小化(損失関数の値(プレテキスト損失142)の最小化)のために、対応するエンコーダおよびデコーダパラメータのセットを調整することによって調整される(すなわち、更新または修正される)。損失関数は、再構成された画像と第2画像の差を定量化するメトリックに基づく。追加的または代案的に、損失関数は、変換された表現と第2表現の差を定量化するメトリックに基づいてよい。エンコーダおよびデコーダパラメータを調整することにより、プレテキスト機械学習モデルは、調整後にクロスビュー整列タスクがより適切に実行されるように調整される。プレテキスト機械学習モデルの学習可能なパラメータ(エンコーダおよびデコーダのパラメータを含む)の調整は、バックプロパゲーション(例えば、バックプロパゲーション144)によって実行され得る。プレテキスト機械学習モデルを調整した後、プロセスは、停止されてもよいし、繰り返されてもよい。プロセスが繰り返される場合、新たな繰り返しは、段階810で、調整されたエンコーダおよびデコーダを含む調整されたプレテキスト機械学習モデルから始まる。プロセスは、予め定められた回数の繰り返しが完了した後、またはプレテキスト損失関数の最小値に達したとき(例えば、プレテキスト損失関数の値が最小値に向かって、または最小値に収束したとき)に停止され得る。
【0172】
クロスビュー完成とクロスビュー整列の2つのプレテキストタスクは、幾何学的下流ビジョンタスクに対してタスク特定機械学習モデルを訓練するために組み合わされてよい。このために、メソッドを組み合わせる多様な技術が実装され得る。一例(「初期融合アプローチ法」と呼ぶ)として、2つの個別のプレテキスト機械学習モデルが、訓練モジュール50によって事前に訓練される。第1プレテキスト機械学習モデルは、クロスビュー完成事前学習方法700によって事前学習される。第2プレテキスト機械学習モデルは、クロスビュー整列事前学習方法800によって事前学習される。これは、2つの事前学習されたエンコーダを招来するが、1つはCroCoプレテキストタスクに対して事前学習され、他の1つはCaimanプレテキストタスクに対して事前学習される。幾何学的下流ビジョンタスクのためのタスク特定機械学習モデル(例えば、モデル170)は、このような事前学習されたエンコーダの両方に基づくか、これらを使用して訓練モジュール50によって構築される。一例として、ガイダンス微調整(例えば、教師あり微調整150)は、1つ以上の入力画像を第1事前学習されたエンコーダに供給して1つ以上の画像に対する1つ以上の第1表現を招来することにより、訓練モジュール50によって実行される。これと同様に、1つ以上の入力画像は、訓練モジュール50によって第2事前学習されたエンコーダに供給され、これは1つ以上の入力イメージに対する1つ以上の表現を招来する。次に、各画像の第1および第2表現を連結することにより、1つ以上の入力画像のそれぞれに対して訓練モジュール50によって結合された表現が生成される。最終的に、結合された表現は、タスク特定機械学習モデルの最終タスク特定層(例えば、多層パーセプトロン)に入力される。タスク特定層は、幾何学的下流ビジョンタスクによってタスク特定の出力データを生成し、タスク特定損失(例えば、損失182)が、出力データと1つ以上の入力画像の注釈付きグランドトゥルースデータに基づいて訓練モジュール50によって決定される。最後に、タスク特定機械学習モデルの学習可能なパラメータ(エンコーダのパラメータおよびタスク特定層のパラメータを含む)が、例えば、バックプロパゲーション(例えば、バックプロパゲーション184)によって訓練モジュール50によって調整される。
【0173】
クロスビュー完成事前学習とクロスビュー整列事前学習を組み合わせるための他の例(「後期融合アプローチ法」と呼ぶ)が
図9に示されているが、これは、幾何学的下流ビジョンタスクの予測データを生成するコンピュータ実装方法900を示したフローチャートである。方法900は、段階910で、第1プレテキスト機械学習モデル(例えば、モデル130)のクロスビュー整列事前学習を使用して、幾何学的下流ビジョンタスクに対して第1タスク特定機械学習モデル(例えば、モデル170)を訓練することから始まる。第1タスク特定機械学習モデルの訓練は、方法500にしたがって実行され、事前学習段階510は、クロスビュー整列事前学習方法800にしたがって実行される。
【0174】
段階920で、第2タスク特定機械学習モデルが、第2プレテキスト機械学習モデルのクロスビュー完成事前学習を使用して幾何学的下流ビジョンタスクに対して訓練される。第2タスク特定機械学習モデルの訓練は方法500によって実行され、事前学習段階510はクロスビュー完成事前学習方法700によって実行される。段階910および920は、任意の順序にしたがって順に実行されてもよいし、並行して実行されてもよい。
【0175】
段階930および段階940で、2つの個別に訓練されたタスク特定機械学習モデルが、少なくとも1つの画像からそれぞれの予測データを抽出するために少なくとも1つの画像に適用される。段階930および段階940は、任意の順序にしたがって順に実行されてもよいし、並行して実行されてもよい。具体的に、段階930で、幾何学的下流ビジョンタスクによる第1予測データは、少なくとも1つの画像に訓練された第1タスク特定機械学習モデルを適用することによって生成される。段階940で、幾何学的ビジョンタスクによる第2予測データは、少なくとも1つの画像に訓練された第2タスク特定機械学習モデルを適用することによって生成される。段階950で、第1信頼値が第1予測データに対して決定され、第2信頼値が第2予測データに対して決定される。第1信頼値は、幾何学的下流ビジョンタスクに対する第1予測データの予測(例えば、推定)の正確度を示すことができ、第2信頼値は、幾何学的下流ビジョンタスクに対する第2予測データの予測(例えば、推定)の正確度を示すことができる。第1および第2信頼値は、注釈付き画像のテストセットにそれぞれの訓練されたタスク特定機械学習モデルを適用すること、テストセットの注釈付き画像の結果として抽出された予測データをテストセットの注釈付き画像の注釈ありグランドトゥルースデータと比較することによって決定され得る。
図9に示すように、段階950は、段階930および段階940の後、および段階960の前に実行されてよい。しかし、段階950は、段階910および段階920の後、および960の前の任意の時点に実行されてもよい。特に、段階950は、段階930と段階940の前または930と940の間に実行されてよい。
【0176】
当該方法は、段階960で、第1信頼値および第2信頼値に基づいて第1予測データと第2予測データを融合させることにより、幾何学的ビジョンタスクに対する結果的な予測データを生成することで終了となる。第1予測データと第2予測データを融合することは、予測データの加重和を決定することを含むが、ここで、加重値は、それぞれの信頼値に基づく。
【0177】
上述した例では方法のコンテキストについて説明したが、これは、対応する装置またはシステムの対応するコンポーネント、モジュール、または特徴の説明でもある。方法の機能の一部またはすべては、これらが1つ以上のプロセッサ、マイクロプロセッサ、電子回路、および/または処理回路によって(または、これを使用して)実行されるという点において、コンピュータによって実現されるものであってよい。
【0178】
上述した方法および特徴は、
図10の機能ブロック図に示すようなアーキテクチャ内に実現されてよく、これは、データ交換のために、インターネットなどのネットワーク1004(無線および/または有線)を介して通信するサーバ1000および1つ以上のコンピューティング装置(総称して1002)を含む。サーバ1000およびコンピューティング装置1002は各々、1つ以上のプロセッサ1012およびハードディスクなどのメモリ1013を含む。コンピューティング装置1002は、自律型車両1002b、ロボット1002c、コンピュータ1002dまたは携帯電話1002e、または他の適切なタイプのコンピューティング装置などの、サーバ1000と通信する任意のコンピューティング装置を含み得る。
【0179】
一例として、幾何学的下流ビジョンタスクのためのタスク特定機械学習モデルを訓練する方法500が、事前学習方法600、700、または800と組み合わせて実行される。サーバは、任意のサーバ装置に訓練されたタスク特定機械学習モデルを提供してよく、これは、入力される1つ以上の画像に訓練された機械学習モデルを適用することにより、1つ以上の画像から幾何学的下流ビジョンタスクによる予測データを抽出する。一例として、装置の1つは、事前学習方法600、700、または800と組み合わせて幾何学的下流ビジョンタスクのためのタスク特定機械学習モデルを訓練するために方法500を実行した後、1つ以上の画像から幾何学的下流ビジョンタスクによって予測データを抽出するために、1つ以上のイメージに訓練されたタスク特定機械学習モデルを適用する。一実施形態において、装置の1つは、幾何学的下流ビジョンタスクによって予測データを生成する方法900を実行する。
【0180】
追加の実施形態において、自律的装置(例えば、車両1002bまたはロボット1002c)は、装置周辺の第1画像を生成する光学センサ(例えば、カメラ)を含んでよい。自律的装置は、装置周辺の第2画像を生成する第2光学センサ(例えば、第2カメラ)をさらに含んでよい。第1画像および第2画像は、異なる視点で装置の周囲を描写する。代案的に、自律的装置は、第2の光学センサは含まず、メモリ装置(例えば、メモリ装置1013b/c)に装置の周辺の第2画像を記録する。記録された第2画像は、光学センサによって事前に生成されたものとし得る。自律的装置は、事前学習方法600、700、または800と組み合わせ、方法500によって、幾何学的下流ビジョンタスクのためのタスク訓練機械学習モデルを訓練してよい。代案的に、自律的装置は、訓練されたタスク特定機械学習モデルをサーバから受信してよく、サーバが、事前学習方法600、700、または800と組み合わせて、方法500によって、幾何学的下流ビジョンタスクのためのタスク特定機械学習モデルを訓練する。自律的装置は、幾何学的ビジョンタスクによって、1つ以上の画像から予測データを抽出するために、1つ以上の画像に訓練されたタスク特定機械学習モデルを適用し得る。自律的装置は、抽出された予測データに基づいて、その移動状態(例えば、速度または移動方向)またはその動作をさらに調整し得る。すなわち、自律的装置は、抽出された予測データに基づいて、速度および/またはステアリングを調整し得る。
【0181】
一実施形態において、タスク特定機械学習モデルが訓練された幾何学的下流ビジョンタスクは、単眼深度の推定であってよい。自律的装置は、訓練されたタスク特定機械学習モデルを第1画像に適用し、これにより第1画像から深度マップを抽出するが、ここで、深度マップは自律的装置の周辺に対応する。深度マップは、画像を撮影したカメラに対するピクセルまたはパッチから最も近いオブジェクトまでのそれぞれの相対距離に対する各ピクセルまたは各パッチのインジケーションを含んでよい。抽出された深度マップに基づいて、自律的装置は、自律的装置の周辺に存在するオブジェクトまでの距離を決定する。自律的装置は、決定されたオブジェクトまでの距離に基づいて速度および/または移動方向を調整する。
【0182】
他の実施形態において、タスク特定機械学習モデルが訓練された幾何学的下流ビジョンタスクは、両眼深度の推定であってよい。自律的装置は、訓練されたタスク特定機械学習モデルを画像のペアに適用し、これにより画像のペアから深度マップを抽出するが、ここで、深度マップは自律的装置の周辺に対応する。深度マップは、画像を撮影したカメラに対するピクセルまたはパッチから最も近いオブジェクトまでのそれぞれの相対距離に対する各ピクセルまたは各パッチのインジケーションを含む。画像のペアは、光学センサによって生成される第1画像と第2光学センサによって生成される第2画像とを含み、画像ペアの画像は、光学センサによって実質的に同時に生成される。抽出された深度マップに基づいて、自律的装置は、自律的装置の周辺に存在するオブジェクトまでの距離を決定する。決定されたオブジェクトまでの距離に基づいて、自律的装置は、その速度および/またはその移動方向を調整する。すなわち、自律的装置は、抽出された距離データに基づいて速度および/またはステアリングを調整する。
【0183】
また他の実施形態において、タスク特定機械学習モデルが訓練された幾何学的下流ビジョンタスクは、相対姿勢の推定であってよい。自律的装置は、訓練されたタスク特定機械学習モデルを画像のペアに適用し、これにより画像のペアから相対的回転行列と相対的変形ベクトルを抽出する。画像のペアは、光学センサによって生成された第1画像と装置のメモリに記録された第2画像とを含むが、ここで、第2画像は、第1画像よりも先に光学センサまたは他の光学センサによって生成されたものである。装置のメモリは、第2画像の位置情報をさらに記録し得る。位置情報は、装置の周辺に対する以前の装置の位置を示し得る。抽出された相対的回転行列、相対的変形ベクトル、および位置情報に基づいて、自律的装置は、自律的装置の周辺に対する新たな装置の位置を決定する。自律装置は、決定された新たな位置に基づいて速度および/またはその移動方向を調整する。すなわち、自律装置は、決定された位置に基づいて速度および/またはステアリングを調整する。
【0184】
また他の実施形態において、タスク特定機械学習モデルが訓練された幾何学的下流ビジョンは、オプティカルフロー量の推定であってよい。自律的装置は、訓練されたタスク特定機械学習モデルを画像のペアに適用し、これにより、画像のペアに対して対応するピクセルのペアを抽出する。画像のペアは、光学センサによって生成された第1画像と装置のメモリに記録された第2画像を含むが、ここで、第2画像は、第1画像よりも先に光学センサによって生成されたものである。抽出された対応するピクセルのペアは、第1画像からの1つのピクセルと第2画像からの対応する1つのピクセルを含む。自律型装置は、抽出された対応するピクセルのペアに基づいて、自律型車両の周辺に存在するオブジェクトの速度および/または移動方向を決定する。自律型車両は、決定されたオブジェクトの速度および/または移動方向に基づいて速度および/またはその移動方向を調整する。すなわち、自律型装置は、例えば、オブジェクトとの衝突を回避するために、決定されたオブジェクトの速度および/または移動方向に基づいて速度および/またはステアリングを調整する。
【0185】
上述した説明は、本質的な例示に過ぎず、開示、この適用、または用途を制限しようとする意図はない。本開示の広範囲の教示は、多様な形態で実現することができる。したがって、本開示は、特定の実施形態を含んでいるが、図面、明細書、および添付の特許請求の範囲を研究することによって他の修正事項が明らかになるため、本開示の実際の範囲がこれに限定されてはならない。上述した方法に含まれる1つ以上の段階は、本開示の原理を変更しない範囲であれば、異なる順序(または、同時に)で実行可能であることが理解されなければならない。また、それぞれの実施形態が特定の特徴を有するものと説明したが、本開示の一実施形態と関連して説明した特徴の1つ以上は、他の実施形態のいずれかの特徴として実施されてもよいし、その組み合わせが明確に説明されていなくても、他の実施形態のいずれかの特徴と組み合わせることが可能である。すなわち、上述した実施形態は、相互排他的ではなく、1つ以上の実施形態の相互の順列は本開示の範囲内で維持される。
【0186】
要素(例えば、モジュール、回路素子、半導体層など)同士の空間的および機能的関係は、「接続」、「嵌合」、「結合」、「隣接」、「次」、「上」、「上」、「下」、および「配置」を含む様々な用語を用いて説明する。「直接的」と明確に記載されていない限り、本開示で第1要素と第2要素の関係を説明する場合、その関係は第1要素と第2要素の間に他の介在要素が存在しない直接的な関係であってもよいが、第1要素と第2要素の間に1つ以上の介在要素が(空間的または機能的に)存在する間接的な関係であってもよい。ここで使用するように、用語A、B、Cのうち少なくとも1つは、非排他的な論理ORを使用する論理(A OR B OR C)を意味するものであると解釈されなければならず、「Aのうち少なくとも1つ、Bのうち少なくとも1つ、Cのうち少なくとも1つ」として解釈されてはならない。
【0187】
図面において矢印の方向は、一般的には、図面内で関心のある情報(データや命令など)の流れを示す。例えば、要素Aと要素Bが多様な情報を交換する関係であるが、要素Aから要素Bに送信される情報が該当の図面と関連する場合は、矢印は要素Aから要素Bを指すように示す。この単方向の矢印は、要素Bから要素Aに送信される情報がないことを意味するものではない。また、要素Aから要素Bに送信される情報の場合、要素Bは要素Aに情報に対する要求や情報の受信確認を送信することもある。
【0188】
本出願において、以下の定義を含め、「モジュール」または「コントローラ」という用語は、「回路」という用語に置き換えることが可能である。「モジュール」という用語は、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)、デジタル、アナログ、または混合アナログ/デジタル個別回路、デジタル、アナログ、または混合アナログ/デジタル集積回路、組み合わせ論理回路、フィールドプログラマブルゲートアレイ(FPGA:Field Programmable Gate Array)、コードを実行するプロセッサ回路(共有、専用、またはグループ)、プロセッサ回路によって実行されるコードを記録するメモリ回路(共有、専用、またはグループ)、上述した機能を提供する他の適切なハードウェアコンポーネント、またはシステムオンチップなどのような、これに含まれる一部またはすべての組み合わせを意味し、その一部であっても、これを含むものであってもよい。
【0189】
モジュールは、1つ以上のインタフェース回路を含んでよい。一例として、インタフェース回路は、LAN、インターネット、WAN、またはこれらの組み合わせに接続される有線または無線インタフェースを含んでよい。本開示の任意の所定のモジュールの機能は、インタフェース回路を介して接続される複数のモジュールに分散されてよい。例えば、複数のモジュールは、ロードバランシングを許容してよい。他の例として、サーバ(リモートまたはクラウドとも呼ばれる)モジュールは、モジュールの代わりに一部の機能を実行してもよい。
【0190】
上述したように、コードは、ソフトウェア、ファームウェア、および/またはマイクロコードを含んでよく、プログラム、ルーチン、機能、クラス、データ構造、および/またはオブジェクトを示してよい。共有プロセッサ回路は、複数のモジュールからのコードの一部またはすべてのコードを実行する単一のプロセッサ回路を含む。用語グループプロセッサ回路は、追加のプロセッサ回路と組み合わせて、1つ以上のモジュールからのコードの一部またはすべてのコードを実行するプロセッサ回路を含む。マルチプロセッサ回路に関する言及は、個別のダイ上の複数のプロセッサ回路、単一ダイ上の複数のプロセッサ回路、単一プロセッサ回路の複数のコア、単一プロセッサ回路の複数のスレッド、またはこれらの組み合わせを含む。共有メモリ回路は、複数のモジュールからのコードの一部またはすべてを記録する単一メモリ回路を含む。グループメモリ回路は、追加のメモリと組み合わせて、1つ以上のモジュールからのコードの一部またはすべてを記録するメモリ回路を含む。
【0191】
メモリ回路は、コンピュータ読み取り可能な媒体のサブセットである。ここで使用されるように、コンピュータ読み取り可能な媒体という用語は、媒体(例えば、搬送波)によって伝播される一時的な電気または電気的信号は含まない。したがって、コンピュータ読み取り可能な媒体という用語は、有形的かつ非一時的なものであると見なされる。有形的かつ非一時的なコンピュータ読み取り可能な媒体の非限定的な例として、不揮発性メモリ回路(例えば、フラッシュメモリ回路、消去可能なプログラム読み取り可能な専用メモリ回路、またはマスク読み取り専用メモリ回路)、揮発性メモリ回路(例えば、静的ランダムアクセスメモリ回路または動的ランダムアクセスメモリ回路)、磁気記録媒体(例えば、アナログまたはデジタル磁気テープ、またはハードディスクドライブ)、および光学記録媒体(例えば、CD、DVD、またはブルーレイディスク)が挙げられる。
【0192】
本出願で説明する装置および方法は、コンピュータプログラムによって実現される1つ以上の特定の機能を実行するように汎用コンピュータを構成することによって作成された特殊目的コンピュータによって部分的または完全に実現されてよい。上述した機能ブロック、フローチャートの構成要素、およびその他の要素は、熟練した技術者またはプログラマの日常的な作業によってコンピュータプログラムに変換可能なソフトウェアとして機能する。
【0193】
コンピュータプログラムは、少なくとも1つの有形的かつ非一時的なコンピュータ読み取り可能な媒体に記録されるプロセッサ実行可能命令を含む。コンピュータプログラムは、記録されたデータを含むか、またはこれに依存する。コンピュータプログラムは、特殊目的コンピュータのハードウェアと相互作用する基本入力/出力システム(BIOS)、特殊目的コンピュータの特定の装置と相互作用するデバイスドライバ、1つ以上のオペレーティングシステム、ユーザーアプリケーション、バックグラウンドサービス、バックグラウンドアプリケーションなどを含んでよい。
【0194】
コンピュータプログラムは、(i) HTML((hypertext markup language)、XML(extensible markup language)、またはJSON(JavaScript Object Notation)のような構文解析説明テキスト、(ii)アセンブリコード、(iii)コンパイラによってソースコードから生成される目的コード、(iv)インタプリタによる実行のためのソースコード、(v)適時コンパイラによるコンパイルおよび実行のためのソースコードなどを含んでよい。例えば、ソースコードは、C、C++、C#、ObjectiveC、Swift、Haskell、Go、SQL、R、Lisp、Java(登録商標)、Fortran、Perl、Pascal、Curl、OCaml、Javascript(登録商標)、HTML5(Hypertext Markup Language 5th revision)、Ada、ASP(Active Server Pages)、PHP(Hypertext Preprocessor)、Scala、Eiffel、Smalltalk、Erlang、Ruby、Flash(登録商標)、Visual Basic(登録商標)、Lua、MATLAB、SIMULINK、およびPython(登録商標)を含む言語からの構文を使用して作成されてよい。