(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023145404
(43)【公開日】2023-10-11
(54)【発明の名称】イメージ間の対応関係を識別するためにピラミッド及び固有性マッチングフライアを使用するシステム及び方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20231003BHJP
G06V 10/82 20220101ALI20231003BHJP
【FI】
G06T7/00 350C
G06V10/82
【審査請求】未請求
【請求項の数】24
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023050502
(22)【出願日】2023-03-27
(31)【優先権主張番号】22305384.4
(32)【優先日】2022-03-28
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】18/103074
(32)【優先日】2023-01-30
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.SWIFT
2.SMALLTALK
3.MATLAB
4.SIMULINK
5.JavaScript
6.Erlang
(71)【出願人】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ルボー,ジェローム
(72)【発明者】
【氏名】ルロイ,バンサン
(72)【発明者】
【氏名】バインザエペル,フィリップ
(72)【発明者】
【氏名】チドロフスキー,ボリス
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096CA02
5L096DA02
5L096HA11
5L096KA04
(57)【要約】 (修正有)
【課題】イメージ分析のための神経網を提供する。
【解決手段】イメージの対は、第1のピクセルグリッドを有する第1のイメージ110及び第2のピクセルグリッドを有する第2のイメージ120を含み、第1のピクセルグリッド112は、第2のピクセルグリッド122と異なり、媒介変数132の第1のセットを有する神経網モジュール130により、第1のイメージに基づいて第1の特徴マップ140を生成し、第2のイメージに基づいて第2の特徴マップ150を生成し、第1、第2の特徴マップに基づいて、第1の相関関係ボリュームを決定し、それに基づいて、第2の相関関係ボリュームを反復的に決定し、それに基づいて、第1、第2の特徴マップに対する損失170を決定し、損失を使用して、損失関数を最小化することにより、媒介変数の第2のセットを生成し、媒介変数等の第2のセットを含むように、神経網モジュールをアップデートする。
【選択図】
図1
【特許請求の範囲】
【請求項1】
コンピュータ具現方法であって、
同じシーンを描写するイメージの対を獲得するステップであって、前記イメージの対は、第1のピクセルグリッドを有する第1のイメージ、及び、第2のピクセルグリッドを有する第2のイメージを含み、前記第1のピクセルグリッドは、前記第2のピクセルグリッドと異なるステップと、
媒介変数の第1のセットを有する神経網モジュールにより、
前記第1のイメージに基づいて、第1の特徴マップを生成するステップ、及び、
前記第2のイメージに基づいて、第2の特徴マップを生成するステップであって、
前記第1の特徴マップは、イメージディスクリプタの第1のグリッドを含み、前記第2の特徴マップは、イメージディスクリプタの第2のグリッドを含み、
前記第1のグリッドの各々のローカルイメージディスクリプタは、前記第1のピクセルグリッド内の各々のピクセルに対応し、前記第2のグリッドの各々のローカルイメージディスクリプタは、前記第2のピクセルグリッド内の各々のピクセルに対応するステップと、
前記第1及び第2の特徴マップに基づいて、第1の相関関係ボリュームを決定するステップであって、前記第1の相関関係ボリュームは、(a)前記第1のピクセルグリッドのピクセル、及び、(b)前記第2のピクセルグリッドのピクセルの相関関係を含み、前記第1のピクセルグリッドのピクセル、及び、前記第2のピクセルグリッドのピクセル間の各々の相関関係は、前記相関したピクセルに対応する前記イメージディスクリプタに基づいて決定されるステップと、
前記第1の相関関係ボリュームに基づいて、第2の相関関係ボリュームを反復的に決定するステップと、
前記第2の相関関係ボリュームに基づいて、前記第1及び第2の特徴マップに対する損失を決定するステップと、
前記損失を使用して、損失関数を最小化することにより、前記神経網モジュールに対する前記媒介変数の第2のセットを生成するステップと、
前記媒介変数の第2のセットを含むように、前記神経網モジュールをアップデートして、訓練された神経網モジュールを生成するステップと、を含む、コンピュータ具現方法。
【請求項2】
前記訓練された神経網モジュールにより、
第3のイメージに基づいて、第3の特徴マップを生成するステップであって、前記第3の特徴マップは、イメージディスクリプタの第3のグリッドを含むステップ、及び、
第4のイメージに基づいて、第4の特徴マップを生成するステップであって、前記第4の特徴マップは、イメージディスクリプタの第4のグリッドを含むステップと、
前記第3及び第4のグリッドに基づいて、前記第4のイメージの第2の部分に対応する前記第3のイメージの第1の部分を識別するステップと、をさらに含む、請求項1に記載のコンピュータ具現方法。
【請求項3】
前記第2のイメージは、データ拡張により生成された前記第1のイメージの合成バージョンであり、前記第2の相関関係ボリュームを反復的に決定するステップは、反復ピラミッド構成を使用して、前記第2の相関関係ボリュームを決定するステップを含む、請求項1に記載のコンピュータ具現方法。
【請求項4】
前記イメージディスクリプタの第1のグリッド、前記イメージディスクリプタの第2のグリッド、並びに、前記第1及び第2のイメージ間の正解対応関係に基づいて、第2の損失を決定するステップをさらに含み、
前記神経網モジュールに対する前記媒介変数の前記第2のセットを生成するステップは、前記損失及び前記第2の損失を使用して損失関数を最小化することにより、前記神経網モジュールに対する媒介変数の前記第2のセットを生成するステップを含む、請求項3に記載のコンピュータ具現方法。
【請求項5】
前記神経網モジュールに対する前記媒介変数の前記第2のセットを生成するステップは、前記損失及び前記第2の損失の和に基づいて損失関数を最小化することにより、前記神経網モジュールに対する媒介変数の前記第2のセットを生成するステップを含む、請求項4に記載のコンピュータ具現方法。
【請求項6】
前記和は、加重和である、請求項5に記載のコンピュータ具現方法。
【請求項7】
前記第2の相関関係ボリュームを決定するステップは、
前記第1のピクセルグリッドの第1のレベルパッチ、及び、前記第2のピクセルグリッドの第1のレベルパッチ間の第1のレベル相関関係に基づいて、第1のレベル相関関係ボリュームを生成するステップと、
1及びL-1間のNに対して、第Nのレベル相関関係ボリュームのN+1レベル相関関係を、前記第1のピクセルグリッドのN+1レベルパッチ、及び、前記第2のピクセルグリッドのN+1レベルパッチ間のN+1レベル相関関係に反復的に集計するステップと、を含む、請求項1に記載のコンピュータ具現方法。
【請求項8】
前記各々のピクセルグリッドの隣接しているNレベルパッチを含む前記N+1レベルパッチ、及び、前記集計されたNレベル相関関係は、前記相関したN+1レベルパッチの前記隣接しているNレベルパッチに対応する、請求項7に記載のコンピュータ具現方法。
【請求項9】
前記第1のレベル相関関係ボリュームを生成するステップは、前記第1のピクセルグリッドの第1のレベルパッチ、及び、前記第2のピクセルグリッドの第1のレベルパッチ間の第1のレベル相関関係を、前記第1のピクセルグリッドの前記第1のレベルパッチ、及び、前記第2のピクセルグリッドの前記第1のレベルパッチで対応するピクセル間の相関関係の平均和で決定するステップを含む、請求項7に記載のコンピュータ具現方法。
【請求項10】
N+1レベルパッチは、前記各々のピクセルグリッドの2×2N-レベルパッチを含む、請求項7に記載のコンピュータ具現方法。
【請求項11】
前記第Nのレベル相関関係ボリュームを決定するステップは、前記第Nのレベル相関関係ボリュームの各々のNレベル相関関係に対して、整流変換を遂行するステップを含む、請求項7に記載のコンピュータ具現方法。
【請求項12】
前記第1の相関関係ボリュームは、前記第1の特徴マップの第1の次元に対応する第1の次元、及び、前記第1の特徴マップの第2の次元に対応する第2の次元を有する、請求項1に記載のコンピュータ具現方法。
【請求項13】
前記第1の相関関係ボリュームを生成するステップは、第1及び第2の次元において既定の因子により、前記第1の特徴マップをサブサンプリングするステップと、前記第1の次元よりも小さい第3の次元、及び、前記第2の次元よりも小さい第4の次元を有するサブサンプリングした特徴マップを生成するステップと、を含む、請求項1に記載のコンピュータ具現方法。
【請求項14】
前記第1の特徴マップをサブサンプリングするステップは、
各々のパッチが複数のピクセルを含む非重畳パッチに前記第1のピクセルグリッドを分割するステップと、
各々のパッチに対して、そのパッチの前記ピクセルに対応する前記イメージディスクリプタに基づいて、一つのディスクリプタを決定するステップと、を含み、前記一つのディスクリプタは、前記サブサンプリングした特徴マップで対応するパッチの全てのピクセルを示す、請求項13に記載のコンピュータ具現方法。
【請求項15】
前記第1の相関関係ボリュームを決定するステップは、前記第1のピクセルグリッドの各々のパッチに対して、前記パッチ及び前記第2のピクセルグリッドの各々のピクセルの相関関係を決定するステップを含み、各々の相関関係は、前記サブサンプリングした特徴マップで前記各々のパッチを示す前記一つのディスクリプタに基づいて決定され、前記第2の特徴マップの前記一つのディスクリプタは、前記第2のピクセルグリッドの前記相関したピクセルに対応する、請求項14に記載のコンピュータ具現方法。
【請求項16】
各々のパッチは4×4ピクセルの大きさを有し、前記第1の次元は前記第3の次元の4倍であり、前記第2の次元は前記第4の次元の4倍である、請求項14に記載のコンピュータ具現方法。
【請求項17】
前記訓練された神経網モジュール及び前記媒介変数の第2のセットを使用して、第2のイメージ対の部分間の対応関係を抽出するステップと、
前記抽出された対応関係に基づいて、前記第2のイメージ対の前記部分が前記同じシーンを含むか否かを決定するステップと、
前記第2のイメージ対の前記部分が、前記同じシーンを含むか否かを示す表示子を出力するステップと、をさらに含む、請求項1に記載のコンピュータ具現方法。
【請求項18】
システムであって、
訓練可能な媒介変数を使用して、
イメージ対の第1のイメージに基づいて、第1の特徴マップを生成し、
前記イメージ対の第2のイメージに基づいて、第2の特徴マップを生成するように構成される神経網モジュールであって、
前記第1の特徴マップは、イメージディスクリプタの第1のグリッドを含み、前記第2の特徴マップは、イメージディスクリプタの第2のグリッドを含み、
前記第1のイメージの少なくとも一部分はシーンを含み、前記第2のイメージの少なくとも一部分は前記シーンを含む神経網モジュールと、
前記第1及び第2の特徴マップに基づいて、損失を決定するように構成される相関モジュールと、
前記損失を最小化することにより、前記訓練可能な媒介変数を訓練させるように構成される訓練モジュールと、を含む、システム。
【請求項19】
前記訓練モジュールは、前記第1及び第2のイメージの前記部分間の対応関係を示すラベルなしに、前記訓練可能な媒介変数を訓練させるように構成される、請求項18に記載のシステム。
【請求項20】
前記訓練後に、
受信されたイメージに基づいて、前記神経網モジュールにより生成された特徴マップ間の対応関係を各々抽出し、
前記対応関係に基づいて、前記受信されたイメージが同じシーンを含むか否かを決定し、
前記受信されたイメージが同じシーンを含む否かを示す表示子を出力するように構成されるマッチングモジュールをさらに含む、請求項18に記載のシステム。
【請求項21】
入力イメージ対間の対応関係を識別するためのコンピュータ具現方法であって、
第1の入力イメージ及び第2の入力イメージを含む前記入力イメージ対を受信するステップと、
ローカルイメージディスクリプタの教師なし学習方法を遂行することにより、訓練された神経網を用いて、前記入力イメージ対をプロセシングするステップであって、前記訓練された神経網は、前記入力イメージ対に対するローカルイメージディスクリプタを生成するステップと、
前記イメージディスクリプタに基づいて、前記入力イメージ対の部分間の対応関係を抽出するステップであって、各々の抽出された対応関係は、前記第1の入力イメージの一部分を前記第2の入力イメージの一部分にマッピングするステップと、
前記入力イメージ対間に真正のマッチが存在するか否かを前記抽出された対応関係で決定するステップであって、真正のマッチは、前記イメージ対の対応部分が同じシーンを描写するときに前記入力イメージ対間に存在するステップと、
前記イメージ対間に真正のマッチが存在するか否かを出力するステップと、を含み、
前記神経網を訓練させるためのローカルイメージディスクリプタの前記教師なし学習方法は、
同じシーンを描写する第1の訓練イメージの対を獲得するステップであって、前記訓練イメージの対は、第1のピクセルグリッドを有する第1の訓練イメージ、及び、第2のピクセルグリッドを有する第2の訓練イメージを含み、前記第1のピクセルグリッドは、前記第2のピクセルグリッドと異なるステップと、
媒介変数の初期セットを有する前記神経網を前記第1の訓練イメージ及び前記第2の訓練イメージに適用して、前記第1の訓練イメージに対する第1の特徴マップ、及び、前記第2の訓練イメージに対する第2の特徴マップを生成するステップであって、前記第1の特徴マップは、ローカルイメージディスクリプタの第1のグリッドを含み、前記第2の特徴マップは、ローカルイメージディスクリプタの第2のグリッドを含み、前記ローカルイメージディスクリプタの第1のグリッドの各々のローカルイメージディスクリプタは、前記第1のピクセルグリッド内の各々のピクセルに対応し、前記ローカルイメージディスクリプタの第2のグリッドの各々のローカルイメージディスクリプタは、前記第2のピクセルグリッド内の各々のピクセルに対応するステップと、
前記第1及び第2の特徴マップに基づいて、初期相関関係ボリュームを決定するステップであって、前記初期相関関係ボリュームは、前記第1のピクセルグリッドのピクセル、及び、前記第2のピクセルグリッドのピクセルのローカル相関関係を含み、前記第1のピクセルグリッドのピクセル、及び、前記第2のピクセルグリッドのピクセル間の各々のローカル相関関係は、前記相関したピクセルに対応する前記ローカルイメージディスクリプタに基づいて決定されるステップと、
前記初期相関関係ボリュームに基づいて、第2の相関関係ボリュームを反復的に決定するステップであって、前記第2の相関関係ボリュームは、前記第1及び第2のピクセルグリッドの反復的に構成された高レベルパッチ間の集計された高レベル相関関係を含むステップと、
前記第2の相関関係ボリュームに基づいて、前記第1及び第2の特徴マップに対する固有性マッチング損失を決定するステップであって、前記固有性マッチング損失は、最適の特徴マップから前記第1及び第2の特徴マップの偏差に対する尺度を提供するステップと、
最適化した媒介変数のセットを生成するために、前記固有性マッチング損失に基づいて損失関数を最小化することにより、前記神経網を訓練させるステップと、を含む、コンピュータ具現方法。
【請求項22】
教師なし神経網訓練のコンピュータ具現方法であって、
同じシーンを描写するイメージの第1の対を獲得するステップであって、前記イメージの対は、第1のピクセルグリッドを有する第1のイメージ、及び、第2のピクセルグリッドを有する第2のイメージを含み、前記第1のピクセルグリッドは、前記第2のピクセルグリッドと異なるステップと、
媒介変数の初期セットを有する神経網を前記第1のイメージ及び前記第2のイメージに適用して、前記第1のイメージに対する第1の特徴マップ、及び、前記第2のイメージに対する第2の特徴マップを生成するステップであって、前記第1の特徴マップはローカルイメージディスクリプタの第1のグリッドを含み、前記第2の特徴マップはローカルイメージディスクリプタの第2のグリッドを含み、前記ローカルイメージディスクリプタの第1のグリッドの各々のローカルイメージディスクリプタは、前記第1のピクセルグリッド内の各々のピクセルに対応し、前記ローカルイメージディスクリプタの第2のグリッドの各々のローカルイメージディスクリプタは、前記第2のピクセルグリッド内の各々のピクセルに対応するステップと、
前記第1及び第2の特徴マップに基づいて、初期相関関係ボリュームを決定するステップであって、前記初期相関関係ボリュームは、前記第1のピクセルグリッドのピクセル、及び、前記第2のピクセルグリッドのピクセルのローカル相関関係を含み、前記第1のピクセルグリッドのピクセル、及び、前記第2のピクセルグリッドのピクセル間の各々のローカル相関関係は、前記相関したピクセルに対応する前記ローカルイメージディスクリプタに基づいて決定されるステップと、
前記初期相関関係ボリュームに基づいて、第2の相関関係ボリュームを反復的に決定するステップであって、前記第2の相関関係ボリュームは、前記第1及び第2のピクセルグリッドの反復的に構成されたパッチ間の集計された相関関係を含むステップと、
前記第2の相関関係ボリュームに基づいて、前記第1及び第2の特徴マップに対する固有性マッチング損失を決定するステップであって、前記固有性マッチング損失は、最適の特徴マップから前記第1及び第2の特徴マップの偏差に対する尺度を提供するステップと、
最適化した媒介変数のセットを生成するために、前記固有性マッチング損失に基づいて、損失関数を最小化することにより前記神経網を訓練させ、これにより、最適のローカルイメージディスクリプタを決定するように適応された、訓練された神経網を生成するステップと、を含む、コンピュータ具現方法。
【請求項23】
前記初期相関関係ボリュームに基づいて、前記第2の相関関係ボリュームを反復的に決定するステップは、反復ピラミッド構成により決定され、各々のパッチは前記各々のピクセルグリッドの矩形部分である、請求項22に記載のコンピュータ具現方法。
【請求項24】
前記第2の相関関係ボリュームの高レベル相関関係に基づいて、前記第1及び前記第2のピクセルグリッドの各々のパッチが、前記各々の他のピクセルグリッドの前記パッチのうちで固有なマッチを有する場合、最適の特徴マップからの偏差の前記尺度が低い、請求項23に記載のコンピュータ具現方法。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2022年3月28日に出願されたヨーロッパ特許出願第EP22305384.4号の優先権を主張し、その内容が参照により本明細書に組み込まれる。
【0002】
本開示内容は、イメージ分析のための神経網(ニューラルネットワーク)に関し、より詳しくは、一対のイメージが同じシーンを描写するか否かを決定するためのローカルイメージディスクリプタ(descriptor)を計算するための神経網の教師なし学習(unsupervised learning)のためのシステム、方法及びコンピュータ読取り可能な媒体に関する。
【背景技術】
【0003】
本明細書に提供された背景技術の説明は、本開示内容の文脈を一般的に提示するためのものである。本背景技術の項目で説明された範囲において、本発明の発明者の研究だけでなく、出願当時の従来技術として認められない本説明の態様は、本開示内容に反する先行技術として明示的にもまたは暗示的にも認められない。
【0004】
コンピュータ基盤のイメージ分析の持続的な課題の一つは、2つのイメージの対応するピクセル又は部分を識別するものである。このようなイメージ分析の問題は、大規模の視覚的測位(visual localization)、オブジェクト感知、ポーズ推定、SfM(Structure-from-Motion)、3次元(3D)再構成、及びSLAM(Simultaneous Localization and Mapping)のような多数のコンピュータヴィジョン作業の核心である。これらの全ての作業は、少なくとも部分的に同じ視覚的コンテンツを描写する2つのイメージの対応部分に対する識別を伴う。
【0005】
同じ視覚的コンテンツを表現する2つの異なるイメージは、広範囲の媒介変数、例えば、描写されたモチーフ(motif)の視野角、イメージフレーム内のモチーフの位置、イメージをキャプチャーするのに使用されるカメラ、レンズ及びセンサ類型、照明及び天気条件、焦点距離及び/又は鮮明度によって異なることができる。人間にとっては互いに顕著に異なるイメージに対しても、描写された物体や人の同じ特徴を示すイメージ部分を容易に識別できるが、この作業はイメージ間の幾何学、色相及び対比の差により、実際にコンピュータにとっては多少複雑である。
【0006】
イメージ間の対応関係(correspondence)は、イメージから識別及び抽出されるローカルイメージディスクリプタ(ピクセルディスクリプタとも称する)である。ローカルイメージディスクリプタはイメージのピクセルの近傍(neighborhood)を特性化でき、コンピューティングシステムがそのローカルイメージディスクリプタに基づいて、ピクセル間の相関関係を決定することで、ピクセルのローカル環境を比較できるようにするコンピュータプロセシング可能なデータ構造を提供できる。ローカルイメージディスクリプタは、イメージから希少に(sparsely)(例えば、イメージの選択されたキーポイントだけに対して)または密に(densely)(例えば、イメージの各々のピクセルに対して)抽出できる。
【0007】
識別された対応関係の品質のために、イメージからローカルイメージディスクリプタを抽出(すなわち、計算)するプロセスの多様な具現が遂行される。ローカルイメージディスクリプタを抽出するための既存の学習基盤接近法は、標準手作業方法をはるかに凌ぐ。学習基盤接近法は、ピクセルレベル対応関係(例えば、密な正解(ground-truth)対応関係)がある多数のイメージ対を含む注釈化した(annotated)訓練データセットの存在を伴う訓練手順に基づく。このような対応関係は、与えられたランドマークに対する多数のイメージの集合を考慮し、SfM(Structure-from-Motion)再構成を構築することにより得られる。しかしながら、このようなパイプラインは失敗する恐れがあり、生成可能な正解データ部類にボトルネックの現象を起こす恐れがある。これは、使用可能なイメージデータの潜在力を正解ラベルが効率的に導出され得るイメージ対だけに制限できる。
【0008】
制限された訓練データセットは、訓練結果に直接的に否定的な影響を及ぼすので、訓練データセットとして使用可能なイメージ対の潜在力を最大限活用するためには、このような制限を克服することが好ましい。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】韓国登録特許第10-2068279号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
前記の欠点を克服するために、教師なしにローカルディスクリプタを学習するためのコンピュータ具現方法が提示される。方法の接近法は、2つのマッチングフライア(prior)、すなわちマッチングのローカル一貫性(local consistency)及び固有性(uniqueness)を共に施行するものである。前者は、一つのイメージの二つの隣接しているピクセルが他のイメージ内の類似な隣接している対を形成する2つのピクセルと小さい変形までマッチングする可能性があるという観察に基づく。これは、一般的に任意のスケールで真であり得る。開示された例において、このフライアはピラミッド構造を通して効率的に施行される。ピラミッド型ノンパラマトリックモジュールがより高レベルの対応関係を抽出して、計画的にローカル一貫性マッチングフライアを適用する。固有性フライアは、第1のイメージからの一つのピクセルが、第2のイメージ内の最大一つのピクセルに対応できるという観察に基づく。この属性は、固有性マッチング損失により高レベルの対応関係に適用される。これは、ピラミッド階層構造のおかげで低レベルのピクセル対応関係に自然に伝播される。結果的に、ローカル一貫性フライアと固有性フライアの組合せにより、教師なしにローカルイメージディスクリプタを効果的に学習できる。
【0011】
ローカルイメージディスクリプタを決定するための神経網の結果的な訓練方法は、例えば、訓練イメージ間の正解対応関係の形態として、どのような教師あり学習も必要としない。訓練された神経網は、最適のローカルイメージディスクリプタを抽出するように構成される。抽出された最適のローカルイメージディスクリプタ(PUMPディスクリプタとも称する)は、同じ視覚的コンテンツを描写するが、他のイメージ媒介変数を有するシーン、例えば、時点や照明条件が異なる同じシーンの一対のイメージを含み、互いに異なるイメージの部分間の対応関係を識別するように構成される。
【0012】
一実施例において、ローカルイメージディスクリプタの学習のための教師なし神経網訓練のコンピュータ具現方法が提供される。方法は、同じシーンを描写するイメージの対を獲得するステップであって、イメージの対は、第1のピクセルグリッドを有する第1のイメージ、及び、第2のピクセルグリッドを有する第2のイメージを含み、第1のピクセルグリッドは、第2のピクセルグリッドと異なるステップと、媒介変数の初期セットを有する神経網を第1のイメージ及び第2のイメージに適用して、第1のイメージに対する特徴マップF1及び第2のイメージに対する特徴マップF2を生成するステップであって、F1はローカルイメージディスクリプタの第1のグリッドを含み、F2はローカルイメージディスクリプタの第2のグリッドを含み、ローカルイメージディスクリプタの第1のグリッドの各々のローカルイメージディスクリプタは、第1のピクセルグリッド内の各々のピクセルに対応し、ローカルイメージディスクリプタの第2のグリッドの各々のローカルイメージディスクリプタは、第2のピクセルグリッド内の各々のピクセルに対応するステップと、F1及びF2に基づいて、初期相関関係ボリュームC0を決定するステップであって、C0は第1のピクセルグリッドのピクセル、及び、第2のピクセルグリッドのピクセルのローカル相関関係を含み、第1のピクセルグリッドのピクセル、及び、第2のピクセルグリッドのピクセル間の各々のローカル相関関係は、相関したピクセルに対応するローカルイメージディスクリプタに基づいて決定されるステップと、反復ピラミッド構成により、C0に基づいて高レベル相関関係ボリュームCLを決定するステップであって、CLは第1及び第2のピクセルグリッドの反復的に構成された高レベルパッチ間の集計された高レベル相関関係を含み、各々のパッチは各々のピクセルグリッドの矩形部分であるステップと、CLに基づいてF1及びF2に対する固有性マッチング損失を決定するステップであって、固有性マッチング損失は、最適の特徴マップからのF1及びF2の偏差に対する尺度を提供し、CLの高レベル相関関係に基づいて、第1及び第2のピクセルグリッドの各々の高レベルパッチが各々の他のピクセルグリッドの高レベルパッチのうちで固有なマッチを有する場合、最適の特徴マップからの偏差が低いステップと、最適化した媒介変数のセットを生成するために、固有性マッチング損失に基づいて、失関数を最小化することにより神経網を訓練させ、これにより、最適のローカルイメージディスクリプタを決定するように神経網を生成するステップと、を含む。
【0013】
一特徴において、入力イメージ対間の対応関係を識別するためのコンピュータ具現方法が提供される。方法は、第1の入力イメージ及び第2の入力イメージを含む入力イメージ対を受信するステップと、最適のローカルイメージディスクリプタを決定するために、訓練された神経網を介して入力イメージ対をプロセシングするステップであって、訓練された神経網は、前述した入力イメージ対に対するローカルイメージディスクリプタを生成するステップと、イメージディスクリプタに基づいて、入力イメージ対の部分間の対応関係を抽出するステップであって、各々の抽出された対応関係は、第1の入力イメージの一部分を第2の入力イメージの一部分にマッピングするステップと、入力イメージ対間に真正のマッチが存在するか否かを抽出された対応関係で決定するステップであって、真正のマッチは、イメージ対の対応する部分が同じシーンを描写するときに入力イメージ対間に存在するステップと、イメージ対間に真正のマッチが存在するか否かを出力するステップと、を含む。
【0014】
一特徴において、システムは、プロセシングモジュールを含み、プロセシングモジュールに連結されたメモリが提供される。メモリは、プロセシングモジュールにより実行されるとき、プロセシングモジュールが、ローカルイメージディスクリプタの学習のための教師なし神経網訓練のコンピュータ具現方法及び/又は本明細書で説明された一対の入力イメージ間の対応関係を識別するためのコンピュータ具現方法を遂行するように、コンピュータ実行可能な命令語を含む。
【0015】
一特徴において、コンピュータ読取り可能な命令語が保存された一つ以上のコンピュータ読取り可能な媒体が提供される。(例えば、一つ以上のプロセッサを含む)プロセシングモジュールにより実行されるとき、コンピュータ読取り可能な命令語は、プロセシングモジュールが、ローカルイメージディスクリプタの学習のための教師なし神経網訓練の方法、または、本明細書で説明された一対の入力イメージ間の対応関係を識別するためのコンピュータ具現方法を遂行するようにする。
【0016】
一特徴において、コンピュータ具現方法は、同じシーンを描写するイメージの対を獲得するステップであって、イメージの対は、第1のピクセルグリッドを有する第1のイメージ、及び、第2のピクセルグリッドを有する第2のイメージを含み、第1のピクセルグリッドは、第2のピクセルグリッドと異なるステップと、媒介変数の第1のセットを有する神経網モジュールにより、第1のイメージに基づいて、第1の特徴マップを生成するステップ、及び、第2のイメージに基づいて、第2の特徴マップを生成するステップであって、第1の特徴マップは、イメージディスクリプタの第1のグリッドを含み、第2の特徴マップは、イメージディスクリプタの第2のグリッドを含み、第1のグリッドの各々のローカルイメージディスクリプタは、第1のピクセルグリッド内の各々のピクセルに対応し、第2のグリッドの各々のローカルイメージディスクリプタは、第2のピクセルグリッド内の各々のピクセルに対応するステップと、第1及び第2の特徴マップに基づいて、第1の相関関係ボリュームを決定するステップであって、第1の相関関係ボリュームは、(a)第1のピクセルグリッドのピクセル、及び、(b)第2のピクセルグリッドのピクセルの相関関係を含み、第1のピクセルグリッドのピクセル、及び、第2のピクセルグリッドのピクセル間の各々の相関関係は、相関したピクセルに対応するイメージディスクリプタに基づいて決定されるステップと、第1の相関関係ボリュームに基づいて、第2の相関関係ボリュームを反復的に決定するステップと、第2の相関関係ボリュームに基づいて、第1及び第2の特徴マップに対する損失を決定するステップと、損失を使用して、損失関数を最小化することにより、神経網モジュールに対する媒介変数の第2のセットを生成するステップと、媒介変数の第2のセットを含むように、神経網モジュールをアップデートして、訓練された神経網モジュールを生成するステップと、を含む。
【0017】
追加の特徴において、方法は、訓練された神経網モジュールにより、第3のイメージに基づいて、第3の特徴マップを生成するステップであって、第3の特徴マップは、イメージディスクリプタの第3のグリッドを含むステップ、及び、第4のイメージに基づいて、第4の特徴マップを生成するステップであって、第4の特徴マップは、イメージディスクリプタの第4のグリッドを含むステップと、第3及び第4のグリッドに基づいて、第4のイメージの第2の部分に対応する第3のイメージの第1の部分を識別するステップと、をさらに含む。
【0018】
追加の特徴において、第2のイメージは、データ拡張により生成された第1のイメージの合成バージョンであり、第2の相関関係ボリュームを反復的に決定するステップは、反復ピラミッド構成を使用して、第2の相関関係ボリュームを決定するステップを含む。
【0019】
追加の特徴において、方法は、イメージディスクリプタの第1のグリッド、イメージディスクリプタの第2のグリッド、並びに、第1及び第2のイメージ間の正解対応関係に基づいて、第2の損失を決定するステップをさらに含み、神経網モジュールに対する媒介変数の第2のセットを生成するステップは、損失及び第2の損失を使用して、損失関数を最小化することにより、神経網モジュールに対する媒介変数の第2のセットを生成するステップを含む。
【0020】
追加の特徴において、神経網モジュールに対する媒介変数の第2のセットを生成するステップは、損失及び第2の損失の和に基づいて、損失関数を最小化することにより、神経網モジュールに対する媒介変数の第2のセットを生成するステップを含む。
【0021】
追加の特徴において、和は加重和である。
【0022】
追加の特徴において、第2の相関関係ボリュームを決定するステップは、第1のピクセルグリッドの第1のレベルパッチ、及び、第2のピクセルグリッドの第1のレベルパッチ間の第1のレベル相関関係に基づいて、第1のレベル相関関係ボリュームを生成するステップと、1及びL-1間のNに対して、第Nのレベル相関関係ボリュームのN+1レベル相関関係を、第1のピクセルグリッドのN+1レベルパッチ、及び、第2のピクセルグリッドのN+1レベルパッチ間のN+1レベル相関関係に反復的に集計するステップと、を含む。
【0023】
追加の特徴において、各々のピクセルグリッドの隣接しているNレベルパッチを含むN+1レベルパッチ、及び、集計されたNレベル相関関係は、相関したN+1レベルパッチの隣接しているNレベルパッチに対応する。
【0024】
追加の特徴において、第1のレベル相関関係ボリュームを生成するステップは、第1のピクセルグリッドの第1のレベルパッチ、及び、第2のピクセルグリッドの第1のレベルパッチ間の第1のレベル相関関係を、第1のピクセルグリッドの第1のレベルパッチ、及び、第2のピクセルグリッドの第1のレベルパッチで対応するピクセル間の相関関係の平均和で決定するステップを含む。
【0025】
追加の特徴において、各々のN+1レベルパッチは、各々のピクセルグリッドの2×2N-レベルパッチを含む。
【0026】
追加の特徴において、第Nのレベル相関関係ボリュームを決定するステップは、第Nのレベル相関関係ボリュームの各々のNレベル相関関係に対して、整流変換(rectification transformation)を遂行するステップを含む。
【0027】
追加の特徴において、第1の相関関係ボリュームは、第1の特徴マップの第1の次元に対応する第1の次元、及び、第1の特徴マップの第2の次元に対応する第2の次元を有する。
【0028】
追加の特徴において、第1の相関関係ボリュームを生成するステップは、第1及び第2の次元において既定の因子により、第1の特徴マップをサブサンプリング(subsampling)するステップと、第1の次元よりも小さい第3の次元、及び、第2の次元よりも小さい第4の次元を有するサブサンプリングした特徴マップを生成するステップとを含む。
【0029】
追加の特徴において、第1の特徴マップをサブサンプリングするステップは、各々のパッチが複数のピクセルを含む非重畳パッチに第1のピクセルグリッドを分割するステップと、各々のパッチに対して、そのパッチのピクセルに対応するイメージディスクリプタに基づいて、一つのディスクリプタを決定するステップと、を含み、一つのディスクリプタは、サブサンプリングした特徴マップで対応するパッチの全てのピクセルを示す。
【0030】
追加の特徴において、第1の相関関係ボリュームを決定するステップは、第1のピクセルグリッドの各々のパッチに対して、パッチ及び第2のピクセルグリッドの各々のピクセルの相関関係を決定するステップを含み、各々の相関関係は、サブサンプリングした特徴マップで各々のパッチを示す一つのディスクリプタに基づいて決定され、第2の特徴マップの一つのディスクリプタは、第2のピクセルグリッドの相関したピクセルに対応する。
【0031】
追加の特徴において、各々のパッチは4×4ピクセルの大きさを有し、第1の次元は第3の次元の4倍であり、第2の次元は第4の次元の4倍である。
【0032】
追加の特徴において、方法は、訓練された神経網モジュール及び媒介変数の第2のセットを使用して、第2のイメージ対の部分間の対応関係を抽出するステップと、抽出された対応関係に基づいて、第2のイメージ対の部分が同じシーンを含むか否かを決定するステップと、第2のイメージ対の部分が同じシーンを含むか否かを示す表示子を出力するステップと、をさらに含む。
【0033】
一特徴において、システムは、訓練可能な媒介変数を使用して、イメージ対の第1のイメージに基づいて、第1の特徴マップを生成し、イメージ対の第2のイメージに基づいて、第2の特徴マップを生成するように構成される神経網モジュールであって、第1の特徴マップは、イメージディスクリプタの第1のグリッドを含み、第2の特徴マップは、イメージディスクリプタの第2のグリッドを含み、第1のイメージの少なくとも一部分はシーンを含み、第2のイメージの少なくとも一部分はシーンを含む神経網モジュールと、第1及び第2の特徴マップに基づいて、損失を決定するように構成される相関モジュールと、損失を最小化することにより、訓練可能な媒介変数を訓練させるように構成される訓練モジュールと、を含む。
【0034】
追加の特徴において、訓練モジュールは、第1及び第2のイメージの部分間の対応関係を示すラベルなしに、訓練可能な媒介変数を訓練させるように構成される。
【0035】
追加の特徴において、マッチングモジュールは、訓練後に、受信されたイメージに基づいて、神経網モジュールにより生成された特徴マップ間の対応関係を各々抽出し、対応関係に基づいて、受信されたイメージが同じシーンを含むか否かを決定し、受信されたイメージが同じシーンを含むか否かを示す表示子を出力するように構成される。
【0036】
一特徴において、入力イメージ対間の対応関係を識別するためのコンピュータ具現方法は、第1の入力イメージ及び第2の入力イメージを含む入力イメージ対を受信するステップと、ローカルイメージディスクリプタの教師なし学習方法を遂行することにより、訓練された神経網を用いて、入力イメージ対をプロセシングするステップであって、訓練された神経網は、入力イメージ対に対するローカルイメージディスクリプタを生成するステップと、イメージディスクリプタに基づいて、入力イメージ対の部分間の対応関係を抽出するステップであって、各々の抽出された対応関係は、第1の入力イメージの一部分を第2の入力イメージの一部分にマッピングするステップと、入力イメージ対間に真正のマッチが存在するか否かを抽出された対応関係で決定するステップであって、真正のマッチは、イメージ対の対応部分が同じシーンを描写するときに入力イメージ対間に存在するステップと、イメージ対間に真正のマッチが存在するか否かを出力するステップと、を含み、神経網を訓練させるためのローカルイメージディスクリプタの教師なし学習方法は、同じシーンを描写する第1の訓練イメージの対を獲得するステップであって、訓練イメージの対は、第1のピクセルグリッドを有する第1の訓練イメージ、及び、第2のピクセルグリッドを有する第2の訓練イメージを含み、第1のピクセルグリッドは、第2のピクセルグリッドと異なるステップと、媒介変数の初期セットを有する神経網を第1の訓練イメージ及び第2の訓練イメージに適用して、第1の訓練イメージに対する第1の特徴マップ、及び、第2の訓練イメージに対する第2の特徴マップを生成するステップであって、第1の特徴マップは、ローカルイメージディスクリプタの第1のグリッドを含み、第2の特徴マップは、ローカルイメージディスクリプタの第2のグリッドを含み、ローカルイメージディスクリプタの第1のグリッドの各々のローカルイメージディスクリプタは、第1のピクセルグリッド内の各々のピクセルに対応し、ローカルイメージディスクリプタの第2のグリッドの各々のローカルイメージディスクリプタは、第2のピクセルグリッド内の各々のピクセルに対応するステップと、第1及び第2の特徴マップに基づいて、初期相関関係ボリュームを決定するステップであって、初期相関関係ボリュームは、第1のピクセルグリッドのピクセル、及び、第2のピクセルグリッドのピクセルのローカル相関関係を含み、第1のピクセルグリッドのピクセル、及び、第2のピクセルグリッドのピクセル間の各々のローカル相関関係は、相関したピクセルに対応するローカルイメージディスクリプタに基づいて決定されるステップと、初期相関関係ボリュームに基づいて、第2の相関関係ボリュームを反復的に決定するステップであって、第2の相関関係ボリュームは、第1及び第2のピクセルグリッドの反復的に構成された高レベルパッチ間の集計された高レベル相関関係を含むステップと、第2の相関関係ボリュームに基づいて、第1及び第2の特徴マップに対する固有性マッチング損失を決定するステップであって、固有性マッチング損失は、最適の特徴マップから第1及び第2の特徴マップの偏差に対する尺度を提供するステップと、最適化した媒介変数のセットを生成するために、固有性マッチング損失に基づいて損失関数を最小化することにより、神経網を訓練させるステップと、を含む。
【0037】
一特徴において、教師なし神経網訓練のコンピュータ具現方法は、同じシーンを描写するイメージの第1の対を獲得するステップであって、イメージ対は、第1のピクセルグリッドを有する第1のイメージ、及び、第2のピクセルグリッドを有する第2のイメージを含み、第1のピクセルグリッドは、第2のピクセルグリッドと異なるステップと、媒介変数の初期セットを有する神経網を第1のイメージ及び第2のイメージに適用して、第1のイメージに対する第1の特徴マップ、及び、第2のイメージに対する第2の特徴マップを生成するステップであって、第1の特徴マップはローカルイメージディスクリプタの第1のグリッドを含み、第2の特徴マップはローカルイメージディスクリプタの第2のグリッドを含み、ローカルイメージディスクリプタの第1のグリッドの各々のローカルイメージディスクリプタは、第1のピクセルグリッド内の各々のピクセルに対応し、ローカルイメージディスクリプタの第2のグリッドの各々のローカルイメージディスクリプタは、第2のピクセルグリッド内の各々のピクセルに対応するステップと、第1及び第2の特徴マップに基づいて、初期相関関係ボリュームを決定するステップであって、初期相関関係ボリュームは、第1のピクセルグリッドのピクセル、及び、第2のピクセルグリッドのピクセルのローカル相関関係を含み、第1のピクセルグリッドのピクセル、及び、第2のピクセルグリッドのピクセル間の各々のローカル相関関係は、相関したピクセルに対応するローカルイメージディスクリプタに基づいて決定されるステップと、初期相関関係ボリュームに基づいて、第2の相関関係ボリュームを反復的に決定するステップであって、第2の相関関係ボリュームは、第1及び第2のピクセルグリッドの反復的に構成されたパッチ間の集計された相関関係を含むステップと、第2の相関関係ボリュームに基づいて、第1及び第2の特徴マップに対する固有性マッチング損失を決定するステップであって、固有性マッチング損失は、最適の特徴マップから第1及び第2の特徴マップの偏差に対する尺度を提供するステップと、最適化した媒介変数のセットを生成するために、固有性マッチング損失に基づいて、損失関数を最小化することにより神経網を訓練させ、これにより、最適のローカルイメージディスクリプタを決定するように適応された、訓練された神経網を生成するステップと、を含む。
【0038】
追加の特徴において、第1の相関関係ボリュームに基づいて、第2の相関関係ボリュームを反復的に決定するステップは、反復ピラミッド構成により決定され、各々のパッチは各々のピクセルグリッドの矩形部分である。
【0039】
追加の特徴において、第2の相関関係ボリュームの高レベル相関関係に基づいて、第1及び第2のピクセルグリッドの各々のパッチが、各々の他のピクセルグリッドのパッチのうちで固有なマッチを有する場合、最適の特徴マップからの偏差の尺度が低い。
【0040】
本開示の内容の追加の応用分野は、発明を実施するための具体的な内容、請求の範囲及び図面から明らかである。発明を実施するための具体的な内容及び特定例は、但し、例示のためのものであり、本開示内容の範囲を制限するものではない。
【図面の簡単な説明】
【0041】
本開示内容は、発明を実施するための具体的な内容及び添付図面により完全に理解されるべきである。
【
図1】イメージ対のイメージ間の対応関係を決定するために、神経網モジュールを訓練させるためのプロセスを例示する図である。
【
図2】訓練された神経網モジュールをイメージに適用することで、イメージ対のイメージ間の対応関係を決定するためのプロセスを例示する図である。
【
図4】
図3の反復ピラミッド構成において、下位レベルイメージパッチから上位レベルイメージパッチの構成を例示する図である。
【
図5】神経網を訓練させる方法を例示する機能ブロック図である。
【
図6】イメージ対のイメージ間の対応関係を決定するための方法を例示する機能ブロック図である。
【
図7】多数の異なる技術に対するHPatchesデータセットに対する実験的稀少(sparse)なマッチング評価結果の比較を示す一連のグラフである。
【
図8】開示された機能が遂行できる例示的なシステムアーキテクチャを例示する図である。
【0042】
図面において、参照符号は、類似及び/又は同一の要素を識別するために再使用できる。
【発明を実施するための形態】
【0043】
本明細書では、文脈上において明確に特定しない限り、単数の表現は複数の表現を含み、複数の表現は単数の表現を含むことができる。
【0044】
前述した問題を解決するための第一のステップは、イメージ間の正解ラベル付けした対応関係に依存し得るが、制限された努力により接近法の一部として対応関係を生成できる純粋自己教師あり(self-supervised)学習の接近法により提供できる。純粋自己教師あり学習の接近法は、訓練ステップにおいて合成的に生成されたイメージ対を使用でき、第2のイメージは、ランダムホモグラフィ、色相ジッタリング又はスタイル転送のような公知の変換を第1のイメージに適用することにより得られる。
【0045】
しかしながら、ホモグラフィは、実際のイメージ対間の可能な変換の全体範囲をモデリングできないこともある。同時に、弱い教師あり学習方法は、例えば、公知のカメラポーズから訓練させる能力を立証できる。しかしながら、これは、多様なモダリティ(modalities)(慣性測定装置(IMU)またはGPS(Global Positioning System))に基づくセンサの配置を含むか、或いは、再度SfM再構成に依存する複雑な獲得設定だけによって達成できる。
【0046】
ローカルディスクリプタの教師なし学習には、訓練のためのより多くのイメージに対する特徴の抽出、または、ディスクリプタの高費用の反復訓練及び高価のモデルフィッティングを含み、多数のイメージに対する周期一貫性制約条件を含むことができる。
【0047】
ローカルイメージディスクリプタの学習のための教師なし神経網訓練のためのシステム及び方法が、本明細書で説明される。説明を目的として記述された実施例の完全な理解を提供するために、多数の例及び特定詳細事項が提示される。請求項の例は、これらの例の特徴の一部または全部を単独または後述する他の特徴と組み合わせて含むことができ、本明細書に記述された特徴及び概念の修正及び同等物をさらに含むことができる。例示された例は、類似の要素及び構造が類似の参照符号で表示される図面を参照して記述される。
【0048】
本発明は、同じ視覚的コンテンツを示すイメージから対応する部分を決定するように適応されたイメージディスクリプタの学習のための教師なし神経網訓練のための方法、システム及びコンピュータ読取り可能な媒体に関するものである。本出願は、次元Iの与えられたイメージH×Wに適用されるとき、神経網モジュールがIの各々のピクセルに対する非常に差別的であるが厳格なローカルイメージディスクリプタを抽出するように神経網を構成することで、イメージディスクリプタの学習のための教師なし神経網モジュール訓練を達成する。このようなローカルイメージディスクリプタを抽出できる神経網モジュールを得るために、まず、神経網モジュールを訓練させなければならない。例によって、訓練された神経網モジュールによりイメージから抽出されたローカルイメージディスクリプタは、PUMP(Pyramidal and Uniqueness matching Priors)ディスクリプタで表示される。
【0049】
図1は、神経網モジュールf
θ(130)の訓練(または、訓練ステップ)のための例示的な訓練システムの機能ブロック図を示す。神経網モジュールf
θ(130)は、複数の内部学習可能な媒介変数θ(132)を有する。訓練モジュール104は、本明細書で論議された通り、神経網モジュール130を訓練させる。神経網モジュール130の訓練ステップは、イメージ対の訓練セットに対して神経網モジュールを訓練させることで、神経網モジュールの学習可能な媒介変数を最適化する。
【0050】
教師あり学習/訓練の接近法において、訓練セットの各々のイメージ対に対する予想結果が知られている(例えば、訓練セットの各々のイメージ対のイメージの対応部分は、各々のイメージ対に対する二進正解ラベルとして知られている)。しかしながら、本出願は、神経網モジュール130の教師なし学習/訓練を含み、これは、学習/訓練が(例えば、イメージ間の知られた正解相関関係の形態の)教師ありを含まないことを意味できる。教師なし学習のための訓練データは、少なくとも部分的に同じ視覚的コンテンツを描写するイメージ対を含む。
【0051】
訓練は、媒介変数132に対する初期値セットを含む神経網モジュール130から開始する。初期値セットは多様な方法により設定できる。例えば、初期値は、神経網モジュール130に対する初期訓練の間に、訓練モジュール104により矯正される。また他のオプションは、媒介変数132を媒介変数θ(132)に対する既定の共通値として設定するのを利用するものである。多様な具現例において、訓練モジュール104は、初期値セットを複数の媒介変数 θ(132)の各々の媒介変数に対するランダム値として設定できる。
【0052】
訓練の第一のステップにおいて、訓練モジュール104は(媒介変数132に対する初期値セットを有する)神経網モジュール130にイメージ対の2つの異なるイメージ110、120を入力する。対をなす2つのイメージは、全部少なくとも部分的に同じ視覚的コンテンツ(例えば、同じシーン、同じオブジェクト、同じ人または同じアーキテクチャ構造)を描写する。イメージI1(110)は、H1×W1の個別ピクセル114を含む高さH1及び幅W1を有するピクセルグリッド112を含むことができる。イメージI2(120)は、H2×W2の個別ピクセル124を含む高さH2及び幅W2を有するピクセルグリッド122を含むことができる。2つのイメージが同じ視覚的コンテンツを描写するが、ピクセルグリッド112、122は、例えば、イメージが互いに異なる照明条件、互いに異なるカメラ位置や視野角、互いに異なるカメラ、互いに異なるセンサやレンズを用いて撮影されるため、互いに異なることができる。
【0053】
数学的に、神経網モジュール130は、関数f
θ:I→F
Iで記述され、ここで、Iはイメージを示し、
【数1】
は密なローカルイメージディスクリプタのグリッドと見なされるd次元の特徴マップである。ここで、密という用語は、イメージディスクリプタのグリッドのローカルイメージディスクリプタ、及び、イメージIのピクセル間の一対一関係を示すことができる。
【0054】
したがって、神経網モジュール130をイメージI
1(110)に適用すれば、イメージから/イメージに基づいて、特徴マップF
1(140)が生成又は抽出される。特徴マップ140は、H
1×W
1の個別ローカルイメージディスクリプタ144を含む高さH
1及び幅W
1を有するローカルイメージディスクリプタのグリッドを含み、各々のイメージディスクリプタ144は、ピクセルグリッド112のピクセル114に対応し、
【数2】
においてd-次元ベクトルで表現される。類似に、神経網モジュール130をイメージI
2(120)に適用すれば、イメージ120から特徴マップF
2(150)が生成される。特徴マップ150は、H
2×W
2の個別ローカルイメージディスクリプタ154を含む高さH
2及び幅W
2を有するローカルイメージディスクリプタのグリッドを含み、各々のイメージディスクリプタ154は、ピクセルグリッド122のピクセル124に対応し、
【数3】
においてd-次元のベクトルで表現される。
【0055】
相関モジュール160は、特徴マップF
1(140)及びF
2(150)を受信し、受信された特徴マップにおいて一連のステップを遂行して、損失170を決定する。損失170は、単一のイメージ対から決定されたり、複数のイメージ対に対する平均として決定されたりできる。後者の場合、訓練モジュール104は、I
1及びI
2についての説明と同様な方式により、複数のイメージ対の各々のイメージを神経網モジュール130に入力することで、各々のイメージに対する各々の特徴マップを生成する。相関モジュール160は、各々のイメージの特徴マップに基づいて、各々のイメージ対に対する個別損失を決定し、個別イメージ対に対する複数の個別損失から複数のイメージ対に対する平均損失を決定する。相関モジュール160により遂行される特定ステップが、
図3を参照して以下で詳細に説明される。
【0056】
損失は損失関数(費用関数とも称する)の値を示し、これは、イベント又は値と関連した一部の費用を示す一つ以上の変数値(例えば、実数)の値又はイベントをマッピングする関数である。訓練により、訓練モジュール104は、損失170(損失関数の値)に基づくか、或いは、これを最小化する神経網モジュールfθ(130)の学習可能な媒介変数θ(132)を修正する。損失関数のこのような最適化(これは、最小値に収斂する)は、神経網モジュールfθ(130)の学習可能な媒介変数θ(132)に対する損失関数の偏微分から訓練モジュール104により獲得される、いわゆる「損失勾配」の逆伝播により遂行される。このような損失勾配は、訓練ステップの次の反復においてさらに低い損失170を生成するために、神経網fθ(130)の学習可能な媒介変数θ(132)を修正(または適応やアップデート)するのに使用されるという点で、訓練モジュール104により各々の学習可能な複数の媒介変数θ(132)に逆伝播される。
【0057】
次の反復において、神経網モジュール130は、イメージI1及びI2に対する修正のローカルイメージディスクリプタのグリッドを含む修正のローカル特徴マップF1(140)及びF2(150)を各々生成し、特徴マップ及びそれにより、ローカル特徴ディスクリプタは、修正の学習可能な媒介変数θ(132)を用いて、神経網モジュール130により決定される。このような修正されたローカル特徴ディスクリプタは、イメージ対のイメージから対応する部分を識別するのにさらに適合して、損失関数が損失170の最小値に収斂され、学習可能な媒介変数132の追加の調整/修正が不要になるまでに、損失勾配の次の逆伝播でさらに低い損失170及び学習可能な媒介変数θ(132)のさらに小さい適応につながる。一旦、損失関数が(最小限に)収斂すれば、神経網モジュール130は訓練されたと言え、これは、次いで、イメージ対のイメージから対応する部分を識別するためにイメージ対に適用され得る。
【0058】
図2は、イメージ対のイメージ間の対応関係を決定するプロセスを遂行するシステムの機能ブロック図を例示する。複数の内部媒介変数θ_Tを有する訓練された神経網モジュールf
θT(230)は、
図1を参照して説明した訓練ステップの結果(訓練後の神経網モジュール130)であり得る。訓練された神経網モジュール230は、イメージ210及び220を受信し、イメージ210に対する特徴マップ240と、イメージ220に対する特徴マップ250とを生成する。訓練された神経網230をイメージに適用し、イメージに対する特徴マップを生成するプロセスは、
図1を参照して説明した訓練ステップでの各々のプロセスと同様である。したがって、生成された特徴マップ240及び250は、各々特徴マップがそれから生成されたイメージの個別ピクセルに対応する複数の個別PUMPディスクリプタを含むローカルイメージディスクリプタのグリッドを含む。
【0059】
後続的に、特徴マップ240及び250は、特徴マップ240及250のPUMPディスクリプタに基づいて、イメージ210及びイメージ220の部分間の対応関係270を抽出するように構成されるマッチングモジュール260に提供される。各々の対応関係270は、イメージ210の一部分(例えば、ピクセル又はピクセルのパッチ/グループ)をイメージ220の一部分(例えば、ピクセル又はパッチ)にマッピングする。描写されたシーンの同じ特徴(例えば、オブジェクト)をイメージ210及220の対応部分が描写している場合、対応関係は真正のマッチングを定義する。
【0060】
マッチングモジュール260は、例えば、Revaud et al., Hierarchical deformable dense matching,IJCV, 2016に説明されたDeepMatchingアルゴリズムを特徴マップ240及び250に使用して、イメージ210及び220に対する対応関係270を決定して、イメージ210及び220の部分間の密又は準密な対応関係270を抽出でき、これは、本明細書で全体的に含まれる。DeepMatchingアルゴリズムは、本明細書でDeepMatchingアルゴリズムの基本ディスクリプタを特徴マップ240及び250のPUMPディスクリプタに代替して適応及び使用できる。DeepMatchingアルゴリズムの例を提供できるが、本出願は、対応関係を決定する他の方式にも適用可能である。イメージ210及び220の一つの準密な対応関係抽出イメージが原子パッチ(例えば、非重畳4×4ピクセルパッチなど)に分割される例において、各々の原子パッチに対して一つの対応関係270が出力される。
【0061】
多様な具現例において、マッチングモジュール260は、稀少なキーポイント基盤のマッチング技術/アルゴリズムを特徴マップ240及び250に適用して、イメージ210及び220のキーポイント間の対応関係270を抽出できる。稀少なキーポイント基盤のマッチング技術の例としては、SIFT(Lowe、“Object recognition from local scale invariant features”, ICCV, 1999)、ORB(Rublee et al., “ORB: an efficient alternative to SIFT or SURF”,ICCV, 2011)、R2D2(Revaud et al.,“R2D2: repeatable and reliable detector and descriptor”, NeurIPS, 2019)またはSuperPoint(DeTone et al.,“Self-supervised interest point detection and description”, CVPR Workshops, 2018)を含み、これらの各々は本明細書に全体的に参考にして含まれる。イメージ210及び220間の対応関係を抽出するために適用された特定の技術/アルゴリズムに関係なく、適用された技術は各々の技術の基本ディスクリプタを特徴マップ240及び250のPUMPディスクリプタに代替することにより本発明に適用される。マッチングモジュール260は、イメージの部分間に真正のマッチが存在するか否かを示す表示子を出力する。例えば、マッチングモジュール260は、ディスプレイに視覚的表示子を表示し/表示したり、スピーカーを介して聴覚的表示子を出力でき、視覚的及び/又は聴覚的表示子は、真正のマッチが存在するか否かを示す。
【0062】
決定された対応関係の品質だけでなく、対応関係抽出の性能は、訓練された神経網230をイメージ210及び220に適用した結果であるPUMPディスクリプタに依存し得る。神経網モジュール130の訓練が損失170に基づいた逆伝播により遂行されるため、訓練ステップの結果、すなわち訓練された神経網モジュール230は、そして拡張によりPUMPディスクリプタは、損失170を決定する特定方法、特に損失170を決定するために相関モジュール160により遂行されるステップに依存する。
【0063】
図3は、神経網130に対する訓練ステップの間に、損失を決定するための相関モジュール300の具現例を示す機能ブロック図である。相関モジュール300は、
図1を参照して説明されたような相関モジュール160の例であり得る。相関モジュール300は、特徴マップF
1(140)及びF
2(150)を受信し、これは、
図1を参照して前述したように、神経網モジュール130をイメージI
1及びI
2に各々適用した結果である。
【0064】
第1の選択的ステップにおいて、特徴マップF1(140)はサブサンプリング310される。サブサンプリング310は、特徴マップF1(140)の複数のエントリーを単一値だけに交替することにより、特徴マップF1(140)の大きさを縮小させることを意味できる。例えば、特徴マップF1(140)のローカルイメージディスクリプタ142のグリッドは、nエントリー(例えば、n=2、3、4、5、6、…)の高さ及びmエントリー(例えば、m=2、3、4、5、6、…)の幅を有する非重畳矩形原子部分に分割され得る。一部の実施例において、矩形部分は、n=m、特定例においてn=m=4の2次方程式である。各々の部分はn×mローカルイメージディスクリプタを含み、これらの各々はd-次元ベクトルとして説明される。サブサンプリング310は、各々の原子部分のn×mローカルイメージディスクリプタを原子部分に対する単一のローカルイメージディスクリプタに交替する。これは、原子部分の元のローカルイメージディスクリプタにある各々のエントリーのn×m値に基づいて、d-次元ベクトルの各々のエントリーに対する単一値を選択することにより達成される。サブサンプリングモジュール310は、適切な方式によりn×m元値から単一値を選択できる。一例において、各々のn×m元値の最大値は、ローカルイメージディスクリプタの結果、d-次元ベクトルの各々のエントリーに対してサブサンプリングモジュール310により選択される。他の例において、各々のn×m元値の平均値は、ローカルイメージディスクリプタの結果、d-次元ベクトルの各々のエントリーに対してサブサンプリングモジュール310により選択される。一例において、各々の部分内の特定位置にあるローカルイメージディスクリプタのベクトル値は、各々のn×m元値を代替するために、サブサンプリングモジュール310により選択される。各々の部分に対する単一のローカルイメージディスクリプタを選択する方式に関係なく、特徴マップF1(140)をサブサンプリングすれば、ローカルイメージディスクリプタの縮小されたグリッドを含む縮小された特徴マップF1'が生成され、ローカルイメージディスクリプタの縮小されたグリッドは、次元H1'×W1'を有し、ここで、H1'=H1/n及び W1'= W1/mである。
【0065】
次のステップにおいて、初期4D(4次元)相関関係ボリュームC
0が、特徴マップF
1(140)及びF
2(150)に基づいて、ボリュームモジュール320により決定され得る。縮小された特徴マップF
1'を生成するように、サブサンプリングされる特徴マップF
1(140)の例において、初期4D相関関係ボリュームC
0は、縮小された特徴マップF
1'及び特徴マップF
2(150)に基づいて、ボリュームモジュール320により決定され得る。C
0において、各々のエントリーは、イメージ110のピクセルグリッド112のピクセルp=(x
p,y
p)(114)及び、イメージ120のピクセルグリッド122のピクセルq=(x
q,y
q)(124)間の相関関係を示すことができる。相関関係はC
(p,q)で表される。縮小された特徴マップF
1'を生成するように特徴マップF
1(140)がサブサンプリングされた場合、初期4D相関関係ボリュームC
0(320)の各々の値は、中心p=(x
p,y
p)を持つイメージ110のピクセルグリッド112の原子部分(またはパッチ)及びイメージ120のピクセルグリッド122で、ピクセルq=(x
q,y
q)間の相関関係を示すことができる。このような相関関係は、類似にC
(p,q)で表示され得る。以下の説明で明確性のために、pだけがイメージ110のピクセルグリッド112のピクセル114として参照される。しかしながら、縮小された特徴マップF
1'を生成するように特徴マップF
1(140)がサブサンプリングされた場合、p=(x
p,y
p)は、イメージ110のピクセルグリッド112の原子部分(またはパッチ)の中心を称し得ることを理解しなければならない。ピクセルグリッド112において、各々のピクセル(または部分)p(114)は、特徴マップF
1(140)のローカル特徴ディスクリプタ142のグリッド(または縮小された特徴マップF
1'のローカル特徴ディスクリプタの各々の縮小されたグリッド)のローカル特徴ディスクリプタD(p)(144)に対応する。類似に、ピクセルグリッド122において、各々のピクセルq(124)は、特徴マップF
2(150)のローカル特徴ディスクリプタ152でのグリッドのローカル特徴ディスクリプタD(q)(154)に対応する。初期相関関係ボリュームC
0(320)は、全ての可能なピクセル-ピクセル相関関係値C
0(p,q)を含む。相関関係値C
0(p,q)は、次の方程式を使用するように、D(p)及びD(q)に基づいて類似度値を計算することにより、(例えば、相関モジュール318により)決定され得る。
【数4】
【0066】
各々の類似度値は、D(p)及びD(q)に対するローカルイメージディスクリプタ間の類似度の尺度を示す実数であり得る。一対のローカルイメージディスクリプタに対する類似度値を計算するための適切な方法が用いられる。一例において、各々の類似度値は、ローカルイメージディスクリプタを示す各々のd-次元ベクトル間のスカラー積に基づいて、D(p)及びD(q)に対する一対のローカルイメージディスクリプタのローカルイメージディスクリプタ間のコサイン類似度として、相関モジュールにより決定される。一例において、各々の値C0(p,q)は0及び1間の範囲内の数字である。初期相関関係ボリューム320は、次元H1×W1×H2×W2を有することができる。縮小された特徴マップF1'を生成するように、特徴マップ140がサブサンプリングされた場合、初期相関関係ボリュームC0(320)は、次元H1'×W1'×H2×W2を有することができる。
【0067】
一旦、初期相関関係ボリュームC
0(320)が決定されると、反復ピラミッド構成330が初期相関関係ボリュームC
0に基づいて構成モジュール328により遂行され、高レベル相関関係ボリュームC
L(340)を生成する。反復ピラミッド構成330は、1≦l≦Lに対するより高レベルの相関関係ボリュームC
1を反復的に決定するための4D集計(4D aggregation)334を含む。第1の反復部分において、第1のレベルの相関関係ボリュームC
1が構成モジュール328により決定される。第1のレベル相関関係ボリュームC
1は、ピクセルグリッド112及びピクセルグリッド122の第1のレベルパッチ間の相関関係を示す相関関係値C
1(p,q)を含む。一般的に、パッチはピクセルグリッド(例えば、ピクセルグリッド112またはピクセルグリッド122)の矩形部分であり得る。議論の便宜のために、以下では、ピクセルグリッドの2×2ピクセルまたは以前反復の2×2パッチを含む、幅及び高さが2のパッチ(パッチの大きさ2×2で表示される)が説明される。しかしながら、特定パッチの大きさはこれに制限されず、本出願は、他のパッチの大きさ(例えば、2×3、3×2、3×3または4×4)に適用可能である。ピクセルグリッド112のパッチの中心はp=(x
p,y
p)で表示され、ピクセルグリッド122のパッチの中心はq=(x
q,y
q)で表示される。一貫した表記法のために、0-レベルパッチは、各々のピクセルグリッドのピクセルとして見なされる。この表記法を使用すれば、l-レベルパッチには、1≦l≦Lに対するレベルl-1の2×2チルドレンパッチ(children patch)がある。l-レベルパッチの中心からl-レベルパッチの第i(l-1)-レベルチルドレンパッチまでのベクトルはv
i
l-1で表示され、i=0,…,3である。例えば、各々のベクトルは、以下である。
【数5】
l-レベルパッチ間の相関関係は、l-レベルパッチを構成する(l-1)-レベルパッチ間の対別(pair-wise)相関関係に基づいて構成モジュール328により決定される。具体的に、C
1(p,q)は構成モジュール328によりC
(l-1)からその4個の(l-1)-レベルチルドレンパッチの平均相関関係で決定され得る。:
【数6】
【0068】
集計334は、0でない値がピラミッドにおいてペアレント-チルドレン関係をエンコードする固定の稀少カーネルを有する4D畳み込みを使用して、構成モジュール328により遂行できる。いままでこの公式は、全てのチルドレンパッチがペアレントパッチの境界に厳格に合わせる厳密な変換(rigid transformation)を処理できる。一部の例には既定の程度のローカル変形を許容する集計の拡張が含まれる。このような例において、各々の反復周期において、4D集計334の以前に構成モジュール328により遂行される追加的な2D最大プーリングステップ332により、各々の反復レベルでチルドレンパッチの小さいローカル変形が考慮される。2D最大プーリングは、第2のイメージI2(120)のピクセルグリッド122の2つの次元によって(例えば、大きさ3×3の)適合したカーネルで遂行できる。
【0069】
一例において、変形は、集計334を採択することにより考慮でき、したがって、集計は位置p
i
l-1(このとき、
【数7】
である。)におけるチルドレン(l-1)-レベルパッチと、位置q
i
l-1を中心とする近傍の位置における(l-1)-レベルパッチとの最高の相関関係を集計する。このような最大相関関係は、次いで、C
1で相関関係を決定するために選択され得る。:
【数8】
ここで、Ω
iは、q
i
l-1を中心とする小さいローカル近傍を示す。
【0070】
一例において、位置pi
l-1における(l-1)-レベルパッチと、位置pi
l-1を中心とする近傍Ωiの位置における(l-1)-レベルパッチとの相関関係に対して平均化することにより、変形を考慮することもできる。
【0071】
【0072】
qi
l-1の近傍Ωiの(l-1)-レベルパッチの数は|Ωi|で表示される。一例において、近傍Ωiの幅及び高さは、チルドレン(l-1)-レベルパッチの幅及び高さの既定の分数(例えば、1/4,1/2,1)である。
【0073】
各々の反復において、一貫した相関関係を強化し、仮の相関関係を廃棄するために、整流336が構成モジュール328により選択的に遂行され得る。整流336は、各々の反復の末尾から4D集計334の出力相関関係値に適用される電力非線形性(power non-linearity)x→max(0,xγ)で具現され得る。γの特定値は、状況に合うように調整でき、本発明を制限するものと解析してはならない。一例において、γ=1.5である。
【0074】
数学的に、ペアレントパッチの収容フィールドは、各々のピラミッドレベルにおいてx-次元及びy-次元によって2倍になるので、全体イメージの大きさに迅速に到達し、この時点において集計プロセスは自然に終了される。
図4は、反復ピラミッド構成330により遂行される変形可能なピラミッド構造を例示する。
図4は、反復ピラミッド構成330の3つのレベルでのパッチを例示する。レベルl+2(
図4の最上位レベル)において、4つの近傍(l+2)-レベルパッチ412、414、416及び418が示される。ペアレントレベル相関関係ボリュームC
(l+2)の相関関係は、全てのレベルに対して変形に関する小さい許容誤差を有するチルドレンレベルの4つの相関関係を集計する。(l+2)-レベルパッチ412に対する(l+2)-レベル相関関係は、(l+1)-レベルパッチ422、424、426及び428に対する(l+1)-レベル相関関係から集計される。類似に、(l+1)-レベルパッチ422に対する(l+1)-レベル相関関係は、l-レベルパッチ432、434、436及び438に対するl-レベル相関関係から集計される。
【0075】
再度、
図3を参照すれば、C
0(320)に適用された反復ピラミッド構成の出力は、統合された高レベル相関関係ボリュームC
L(340)である。I
2(120)のピクセルグリッド122の次元に対応するC
L(340)の第3及び第4の次元は因子2^Lだけ縮小され、Lは反復ピラミッド構成330の反復(またはピラミッドレベル)の数である。縮小因子は、反復ピラミッド構成330においてパッチ大きさの他の選択に対して異なることができ、制限するものと解析してはならない。一実施例において、C
L(340)は次元H
1×W
1×H
2×W
2を有することができる。選択的なサブサンプリングステップ310が遂行されると、C
L(340)は次元H
1'×W
1'×H
2×W
2を有することができる。
【0076】
統合された高レベル相関関係ボリュームCLは、大きく変形可能な高レベルパッチ間の相関関係を示す。ピクセルpを中心とする高レベルパッチは、イメージI2で固有なマッチを有することができる。すなわち、CL(p,q)が高い値を有するが、Q'≠qに対する他の全ての相関関係は0に近接できるように、qは一つだけ存在し得る。このような制約条件は、反復的なパターン、構造のない一般領域または深刻な外形変更により、ピクセルレベルディスクリプタに対して非現実的であり得るが、CL(340)の高レベルパッチに対する自然な属性であり得る。パッチが大きいほど、より大きいコンテクストによる曖昧さ及び難しい対応関係を解決しやすくなる。
【0077】
このような考慮事項により、全ての高レベルパッチに対して固有なマッチングの属性を勧めるC
L(340)に基づいて、損失モジュール348により固有性マッチング損失350が決定される。固有性マッチング損失350は、相関モジュール300の出力値であり、
図1に例示された損失170の実施例を示す。各々の高レベルパッチは、変形可能なピクセルレベル相関関係のサブセットによってテスト時間に動的に構築されるため、この損失は反復ピラミッド構成330に合う最適のピクセル相関関係に自動的に逆伝播され、したがって、ピクセルレベルローカルイメージディスクリプタに伝達される。
【0078】
次は、固有性マッチング損失350の例示的な具現例を示す。結果的な損失が、I
1(110)の高レベルパッチがI
2(120)からただ一つのマッチングする高レベルパッチを有するように、C
Lの高レベルパッチ間のマッチングの固有性を補償する限り、他の具現例は本出願の範囲内にある。議論のために、固有性マッチング損失350、C
Lの例示的な具現例は形式的に大きさ
【数10】
(または、サブサンプリングステップ310が遂行された場合、大きさ
【数11】
の2-次元テンソルで再構成できる。相関関係ボリュームC
L(340)は、全ての行の和が1になるように正規化できる。:
【数12】
【0079】
ここで、εは、全ての相関関係が0に近い閉塞領域を扱う正規化項として用いられる。εの値は、状況に合うように設定でき、制限するものと見なされてはならない。一例において、εの値は0.03である。次いで、固有性損失は、次の通り表現できる。:
【数13】
【0080】
数6の式の表現H1×W1は、縮小された特徴マップF1'を生成するように、選択的なサブサンプリングステップ310が遂行される場合、H1'×W1'に代替される。C-Lがl1-正規化した点を勘案すれば、固有性損失は1に近い行当たり一つ(すなわち、高レベルパッチ当たり一つ)を除いて、C-Lの全ての値が0に近接するように具体的に勧める。
【0081】
一例において、非対称損失L_U (F
1,F
2 )は、両方向で各々のイメージ対に対して平均化する:
【数14】
計算費用及びメモリフットプリントは、特徴マップF
1及びF
2を相関モジュール300に伝達する前に、既定の因子だけ(例えば、因子2だけ)付加的にサブサンプリングすることにより、多様な具現例において縮小できる。一例において、モデルは、イメージ対(例えば、10個のイメージ対、12個のイメージ対、16個のイメージ対または24の個イメージ対)のバッチ(batch)で訓練される。バッチのイメージ対の一部分(例えば、イメージ対の半分、イメージ対の2/3、イメージ対の1/4または3/4)は、教師なし損失350
【数15】
で訓練される。
【0082】
平均教師なし損失L
U
-は、イメージ対のバッチの一部分の全てのイメージ対に対して計算できる。イメージ対のバッチの残りの部分は、自己教師あり方式により単一のイメージの標準データの拡張を介して合成的に生成され得る。拡張を介して密な正解対応関係が得られる後者の対の場合、イメージ対の各々のイメージに対して抽出された特徴マップ、及び、知られた正解対応関係に基づくピクセル別順位損失L
P(例えば、平均精度損失L
AP)が用いられる。平均損失L
P
-が、イメージ対のバッチの残りの部分の全てのイメージ対に対して決定され得る。最終損失Lは平均損失の加重和として計算できる。一例において、Lは
【数16】
で計算される。f
θに対する収斂を達成するために、既定の数(例えば、50,000回)の反復訓練が遂行される。一部の実施例において、10
-4の固定学習率及び5.10
-4の加重値減衰が訓練を遂行するのに使用されるが、本出願は、他の学習率及び加重値減衰にも適用可能である。
【0083】
図5は、ローカルイメージディスクリプタの学習のための神経網モジュールの教師なし訓練のコンピュータ具現方法500を示すフローチャートである。方法は、
図1及び
図3に例示するように、神経網(例えば、神経網130)に対する訓練ステップとして具現される。方法は、ステップ510から開始して、一対の訓練イメージが獲得される。訓練イメージを獲得するステップは、イメージが保存された任意のメモリ位置(例えば、ローカル又は遠隔コンピューティングシステム、ローカル又は遠隔データベース、クラウドストレージ又は公知の任意の他のメモリ位置)から受信されることを含む。代替的に、イメージは、メモリ位置から自動的に検索できる。獲得されたイメージ対のイメージは、同じシーン又は視覚的コンテンツ(例えば、同じオブジェクト、同じ人、同じアーキテクチャ構造及び/又は同じ自然構造)を描写することにより、2つのイメージの全部が描写されたシーンの同じ特徴と関連した対応部分を含む。訓練ステップの以前のイメージ対のイメージに対して密又は稀少な正解対応関係は知られていない。獲得されたイメージ対は、第1のピクセルグリッド(例えば、ピクセルグリッド112)を有する第1のイメージ(例えば、イメージ110)と、第2のピクセルグリッド(例えば、ピクセルグリッド122)を有する第2のイメージ(例えば、イメージ120)とを含む。ピクセルグリッドは少なくとも一態様において異なる。第1のピクセルグリッドは、第2のピクセルグリッドに対して異なる水平及び/又は垂直次元を有することができる。付加的又は代替的に、第1のピクセルグリッドのピクセルの少なくとも一部分のピクセル値は、第2のピクセルグリッドの各々のピクセルのピクセル値と異なることができる。
【0084】
ステップ520において、神経網モジュールは、第1のイメージを受信し、第1のイメージに基づいて特徴マップF1(例えば、特徴マップ140)を生成する。付加的に、神経網モジュールは、第2のイメージを受信し、第2のイメージに基づいて特徴マップF2(例えば、特徴マップ150)を生成する。神経網モジュールは、学習可能な内部媒介変数(例えば、媒介変数132)の初期セットを有する。特徴マップF1は、ローカルディスクリプタの第1のグリッド(例えば、ローカルディスクリプタ142のグリッド)を含み、ローカルディスクリプタの第1のグリッドの各々のローカルディスクリプタ(例えば、ローカルディスクリプタ144)は、第1のピクセルグリッド内のピクセルに対応する。ローカルディスクリプタの第1のグリッドの各々のローカルディスクリプタは、第1のピクセルグリッドの対応するピクセルのローカル環境のコンピュータプロセシング可能な説明である。特徴マップF2は、ローカルディスクリプタの第2のグリッド(例えば、ローカルディスクリプタのグリッド152)を含み、ローカルディスクリプタの第2のグリッドの各々のローカルディスクリプタ(例えば、ローカルディスクリプタ154)は、第2のピクセルグリッド内のピクセルに対応する。ローカルディスクリプタの第2のグリッドの各々のローカルディスクリプタは、第2のピクセルグリッドの対応するピクセルのローカル環境のコンピュータプロセシング可能な説明である。ローカルイメージディスクリプタは、d-次元ベクトルで表現でき、各々のイメージに神経網を適用してピクセルグリッドから抽出される。
【0085】
ステップ530において、初期相関関係ボリュームC0(例えば、初期相関関係ボリューム320)は、F1及びF2に基づいて相関モジュール318により決定される。初期相関関係ボリュームC0は、第1のピクセルグリッドのピクセルと、第2のピクセルグリッドのピクセルとのローカル相関関係を含む。ローカルイメージディスクリプタの第1のグリッドの第1の対応するローカルイメージディスクリプタ、及び、ローカルイメージディスクリプタの第2のグリッドの第2の対応するローカルイメージディスクリプタに基づいて、第1のピクセルグリッドのピクセル及び第2のピクセルグリッドのピクセルに対して、各々のローカル相関関係が決定される。第1の対応するローカルイメージディスクリプタは、第1のピクセルグリッドのピクセルに対応し、第2の対応するローカルイメージディスクリプタは、第2のピクセルグリッドのピクセルに対応する。一例において、第1のピクセルグリッドのピクセルp、及び、第2のピクセルグリッドのピクセルq間の相関関係C0(p,q)は、ローカルイメージディスクリプタD(p)及びD(q)間の類似度により決定される。D(p)はpに対応し、ローカルイメージディスクリプタの第1のグリッドに含まれる。D(q)はqに対応し、ローカルイメージディスクリプタの第2のグリッドに含まれる。ローカルイメージディスクリプタD(p)及びD(q)間の類似度は、D(p)及びD(q)を示すd-次元ベクトルのスカラー積に基づいて、コサイン類似度により決定され得る。
【0086】
ステップ540において、高レベル相関関係ボリュームCL(例えば、高レベル相関関係ボリューム340)は、反復ピラミッド構成(例えば、反復ピラミッド構成330)により、C0に基づいて構成モジュール328により決定される。高レベル相関関係ボリュームCLは、第1及び第2のピクセルグリッドの反復的に構成された高レベルパッチ間の集計された高レベル相関関係を含む。第1のピクセルグリッドの各々の高レベルパッチは、第1のピクセルグリッドの矩形部分であり得る。第2のピクセルグリッドの各々の高レベルパッチは、第2のピクセルグリッドの矩形部分であり得る。CLはC0から開始して反復的に構成されることができる。第1の反復部分は、第1のピクセルグリッドの第1のレベルパッチ、及び、第2のピクセルグリッドの第1のレベルパッチ間の第1のレベル相関関係に対するC0のローカル相関関係を集計して、第1のレベル相関関係ボリュームC1を生成することを含むことができる。第1のピクセルグリッドの第1のレベルパッチ、及び、第2のピクセルグリッドの第1のレベルパッチ間の第1のレベル相関関係は、第1のピクセルグリッドの第1のレベルパッチ、及び、第2のピクセルグリッドの第1のレベルパッチで対応するピクセル間のローカル相関関係の平均和で決定され得る。ローカル相関関係の平均和からローカル相関関係の各々は、複数の隣接しているローカル相関関係値のうちで、最大相関関係値を有することができる。
【0087】
1≦n<Lに対する後続の第(n+1)の反復部分は、第1のピクセルグリッドの(n+1)-レベルパッチ、及び、第2のピクセルグリッドの(n+1)-レベルパッチ間の(n+1)-レベル相関関係に対するCnのn-レベル相関関係を集計することにより、(n+1)-レベル相関関係ボリュームC(n+1)を生成することを含むことができる。(n+1)-レベルパッチは、各々のピクセルグリッドの隣接しているn-レベルパッチを含むことができる。集計されたn-レベル相関関係は、相関した(n+1)-レベルパッチの隣接しているn-レベルパッチに対応する。第1のピクセルグリッドの(n+1)-レベルパッチ、及び、第2のピクセルグリッドの(n+1)-レベルパッチ間の(n+1)-レベル相関関係は、第1のピクセルグリッドの(n+1)-レベルパッチ、及び、第2のピクセルグリッドの(n+1)-レベルパッチの対応するn-レベルパッチ間のn-レベル相関関係の平均和で決定され得る。n-レベル相関関係の平均和からn-レベル相関関係の各々は、隣接している複数のn-レベル相関関係値のうちで、最大相関関係値を有することができる。
【0088】
ステップ550において、CLに基づいて、固有性マッチング損失(例えば、固有性マッチング損失350)がF1及びF2に対して損失モジュール348により決定される。固有性マッチング損失は、最適の特徴マップからF1及びF2の偏差に対する尺度を提供する。CLの高レベル相関関係に基づいて、第1のピクセルグリッドの各々の高レベルパッチが第2のピクセルグリッドの高レベルパッチのうちで固有な(すなわち、一つだけ)マッチングを有し、第2のピクセルグリッドの各々の高レベルパッチが第1のピクセルグリッドの高レベルパッチのうちで固有な(すなわち、ただ一つの)マッチングを有する場合、固有性マッチング損失は、最適の特徴マップに対して低い偏差を示すように構成される。したがって、第1及び第2のピクセルグリッドの各々の高レベルパッチに対して、各々のパッチに対応するCLの一つの高レベル相関関係だけが高い相関関係値を有し、各々の高レベルパッチに対応するCLの他の全ての高レベル相関関係が低い相関関係値を有する場合、固有性マッチング損失は低い値を有する。高い相関関係値は1に近接するが、低い相関関係値は0に近接する。
【0089】
ステップ560において、神経網モジュールは、固有性マッチング損失に基づいて損失関数を最小化することにより、神経網モジュールの媒介変数の最適化したセットを生成するために訓練される。損失関数を最小化することは、後続訓練の反復においてさらに低い固有性マッチング損失を達成する新しい媒介変数のセットを決定するために、損失関数に基づいて逆伝播を遂行することを含むことができる。神経網モジュールを訓練させることは、既定の回数の間に、または、最適化した媒介変数のセットが収斂するまでに、最適化した媒介変数のセットで方法を反復することにより、ローカルイメージディスクリプタを決定するように構成された、訓練された神経網モジュールを生成することをさらに含むことができる。
【0090】
図6は、訓練された神経網モジュールを使用して、イメージの対応部分を決定する例示的なコンピュータ具現方法600を示すフローチャートであり、神経網モジュールは、
図5の例によって訓練された。方法は、ステップ610から開始して、訓練された神経網モジュールが第1の新規イメージ(例えば、イメージ210)を受信し、第1のイメージに基づいてローカルイメージディスクリプタの第1のグリッドを含む第1の特徴マップ(例えば、特徴マップ240)を生成する。
【0091】
ステップ620において、訓練された神経網モジュールは、第2の新規イメージ(例えば、イメージ220)を受信し、第2のイメージに基づいて、ローカルイメージディスクリプタの第2のグリッドを含む第2の特徴マップ(例えば、特徴マップ250)を生成する。第1及び第2の新規イメージは、互いに異なるピクセルグリッドを使用して同じシーンを描写できる。
【0092】
ステップ630において、第1の新規イメージの一部分、及び、第2の新規イメージの一部分間の対応関係(例えば、対応関係270の一つ)がローカルイメージディスクリプタの第1及び第2のグリッドに基づいて識別される。識別された対応部分は、描写されたシーンの同じ部分と相関する。イメージ間の追加の対応関係は、イメージのキーポイント間またはイメージの各々のピクセルに対して決定され得る(すなわち、密な対応関係)。ステップ630は、
図2に示すマッチングモジュール260により遂行できる。
【0093】
まず、一連の実験に使用された提示の訓練方法の具現例に対する細部事項が論議される。次いで、実験に使用された多様なデータセット及びベンチマークが論議される。最終的に、実験の細部事項と他の技術との比較が提示される。
【0094】
訓練データとしては、有名ランドマークからのイメージが含まれたSfM-120kデータセットで150,000対が用いられる。このような訓練対は、COLMAPで構築され、データセットが提供されたSfMモデルから観察の重畳を使用して獲得される。このプロセスは、教師あり学習が不要なSIFTで遂行され、2個のイメージが同じシーンを描写するか否かを確認する役割だけを果たし、マッチングを全く案内していない。大きさ256×256の任意の切り出し(crop)がこの対で遂行される。合成対を生成するために、このデータセットからランダムにサンプリングされたイメージ及び標準データ拡張技術が適用される。特に、ランダムピクセル及び色相ジッタリング、ランダム再スケーリング(rescaling)、回転及びホモグラフィが用いられる。
【0095】
ネットワークfθの例示的な具現例において、ストライド1及び128出力チャンネルを有する5×5畳み込みのグラデーションが先に抽出され得る。続いて、ストライド4を有するカーネル4×4の畳み込みを使用して、4×4非重畳グラデーションパッチが512-次元特徴に埋め込まれる。後続的に、一連のポイント別(pointwise)及び深さ別(depthwise)の畳み込みが適用される。例示的な具現例は9×9カーネルを使用する深さ別の畳み込みを持つ7個のこのようなブロックを使用する。最終的に、最後のポイント別の畳み込み及びPixelShuffle動作が適用され、d=128次元を有する特徴マップFを獲得する。
【0096】
HPatchesデータセットは、多様な光度(photometric)及び時点変更を持つ116個のイメージシーケンスを含む。各々のシーケンスは、互いに異なる時点又は照明で取られたソースイメージに対して、ホモグラフィに関連した参照イメージ及び5個のソースイメージを含む。
【0097】
ETH3Dデータセットは、ハンドヘルドカメラを使用してキャプチャーされ、SfMに登録された室内及び屋外シーケンスを含む。イメージ対は、固定された間隔でフレームをサンプリングすることにより生成される。これは、増加する間隔によって基準線が広くなることによる時点変更に対する堅固性を評価するのに用いられる。
【0098】
Aachen Day-Night v1.1は、大規模の屋外視覚的測位ベンチマークである。Day-Night splitは、特に本発明の実施例の一般化性能を測定するために考慮されるが、これは、昼/夜の二重性により大きい時点変更及び激しい照度変更を特徴とするからである。この作業のために、次の方法が用いられる。第一の部分において、データベースイメージからグローバルSfMメップが作成され、第二の部分において、このマッピングと関連してクエリイメージがローカル化する。完全なマッチングの計算複雑性は、AP-GeMLM18グローバルディスクリプタでイメージ検索を使用して処理される。イメージ対の数は、マッピング及びクエリステップの間に、最近接上位20個の近傍に減少される。最終的に、このような検索されたイメージの各々に対する20,000個のローカル特徴が抽出及びマッチングされ、先にグローバルマップを推定し、次いでカメラポーズを推定する。
【0099】
Dense matchingと関連して、例により、PUMPディスクリプタ(訓練された神経網モジュール230をイメージに適用して、イメージから抽出したローカルイメージディスクリプタ)の性能は、DeepMatchingアルゴリズムを使用して、密または準密な方式により評価される。マッチングモジュール260の例示的な具現例において、DeepMatchingアルゴリズムの基本ピクセルディスクリプタは、PUMPディスクリプタに代替される。パイプラインの残りの部分は、最近接の近傍も含むように向上させる基本提供周期一貫性確認を除いて、変更されない状態に維持される。DeepMatchingアルゴリズムの出力は、第1のイメージから原子パッチ当たり一つの対応関係を出力するため、密ではなく準密であり得る。密なワープ(warp)フィールドが必要な場合、Jiang et al., Cotr:Correspondence transformer for matching across images, ICCV,2021に記述されているCOTRの方法に従うような高密化技術が使用され、これは、本明細書に全体的に含まれ、Delaunay三角測量を使用する線形補間マッチングを含む。
【0100】
HPatchesデータセットの場合、時点変更を特徴とするイメージデータセットからの全てのイメージ対に対して評価が遂行される。次の表1は、準密及び完密(すなわち、補間された)な出力を示す。本出願の例による2つのモデルが評価される。一つは、自己教師あり対(S)だけで訓練されるもの、すなわちデータ拡張により獲得されるものであり、もう一つは、自己教師あり対及び教師なし対(S+U)を含むものである。
【0101】
補間がない場合、自己教師ありモデル(S)が教師なし対(S+U)で訓練されたモデルよりも若干良い性能を持つことができる。これは、テストセットの分布に正確に合う合成拡大(ホモグラフィ)だけで独占的に訓練されるという点でなされる。完密なモードにおいて、教師なしモデル(S+U)が自己教師ありモデル(S)よりも優れた性能を有し、これは、教師なし損失がさらに少ない理想値の生成を許容でき(これらがDelaunay補間を大きく損傷させるためである)、従ってさらに堅固であることを示す。全般的に補間を使用又は非使用する2つのモデルの全部が他の接近法よりも性能が非常に優れる。本出願の例による2つのモデルは、また、Truong et al., Warp consistency of unsupervised learning of dense correspondences,ICCV,2021に説明された、最近に提案された教師なしWarpCマッチング損失をはるかに凌ぐ。結果は、不連続性がない大きい平面領域の場合に、以前にピラミッドマッチングのエクセレントな容量を強調する。
【0102】
【0103】
表1は、HPatchesデータセットの多様な閾値に対するAEPE(Average End Point Error)及びPCK(Percent of Correct Keypoints)である。稀少方法は、自分が確信する対応関係のサブセットだけ返還する。最上位の結果及び次上位の結果は、各々太く表示され、下線が表示される。DMは、DeepMatchingの略字であり、「Interp.」は補間(Interpolation)を意味する。本出願の例は、自己教師あり対(S)と、自己教師あり及び教師なし訓練対(S+U)の組合せだけで評価される。
【0104】
本出願の例は、複雑な3D形状に対する時点変更及びオプティカルフローの多くの不連続性を特徴とするETH3Dからの実際イメージ対を使用して、より難しい設定で評価され得る。正解は稀小であり、準密な出力及び必ず整列される必要はないため、多様なフレーム間隔(例えば、速度)に対する密な補間された変形の結果だけが表2に提示される。教師なし対で訓練されたモデルは、自己教師ありモデルよりも最大25%(相対ゲイン)までさらに優れる。これは、マッチングフライアを注入して訓練されたモデルの現実的なノイズに対して、可能な優れた堅固性を強調する。また、全ての速度間隔に対して、第1又は第2のAEPE(Average End Point Error)点数を得て、他の接近法を凌ぐ。また、本出願に係る例示モデルは、他の方法よりも非常に速くて、その中の一部は各々の方法に対する特定微細調整のためにテスト当たり数分(minute)が必要である。
【0105】
【0106】
表2は、ETH3Dデータセットの異なる速度に対するAEPE(Average End Point Error)である。最上位の結果及び次上位の結果は、各々太く表示され、下線が表示される。
【0107】
稀少なキーポイント基盤のマッチングと関連して、稀少なマッチング設定で訓練する間のレバレッジド(leveraged)マッチングフライアの影響は、本明細書で説明された例示的なPUMP(S)及びPUMP(S+U)モデルにより達成された性能を再比較することにより評価できる。本出願のモデルは、密なディスクリプタマップを生成するため、イメージスケール空間で反復可能な位置を選択するために、外部キーポイント検出器が使用される。評価をできるだけ包括的に作るために、3種の標準検出器の性能が測定できる。すわたち、SIFT、R2D2及びSuperPoint.の各々の検出器に対して、各々の例に対して同数のキーポイントが同じ位置及びスケールで抽出されることで、評価が公正かつ厳格にディスクリプタの中心で行われるようにする。
【0108】
全般的なディスクリプタの品質に関する研究は、HPatchesのキーポイントマッチング及びAachen-Nightの測位正確度という2つの補完作業を共同に評価することにより遂行できる。HPatchesの場合、MMA(Mean Matching Accuracy)を測定できる。MMAは、指定されたピクセルの誤り閾値と関連して、全てのイメージ対に対する正しいマッチの平均百分率に対応する。視覚的測位性能は、カメラ位置及び向きに指定された閾値と関連して、成功的にローカル化したクエリの百分率として測定できる。表3は、2つのベンチマークから各々のキーポイント検出器及び各々のモデルに対する結果を示す。結果は、自己教師ありモデル(S)を含み、本出願に係る例示モデルが、HPatchesで各々のキーポイント基準線をはるかに凌ぐことを示す。教師なし対(S+U)で訓練されたモデルは、ピクセルレベル教師なし訓練にも関われず、平均及び全ての基本キーポイントから自己教師ありモデルよりも性能が優れる。
【0109】
【0110】
表3は、互いに異なる稀少なキーポイント検出器を利用した3つの誤り閾値内でのHPatchesのMMA(Mean Matching Accuracy)及びAachen-Nightのローカル化したクエリの比率である。絶対ゲインは、自己教師あり対(S)の単独に比べて、教師なし対(S+U)で訓練する場合の性能増加を示す。
【0111】
図7は、HPatchesに対する最新技術(このとき、R2D2のキーポイント検出器がキーポイントを抽出するのに使用される)及び本発明に係るモデルの性能比較を例示する。
図7は、多様な誤り閾値に対するMMA(Mean Matching Accuracy)側面において、HPatchesデータセットに対するマッチング結果を示す。本出願に係るモデルは、方法をはるかに凌ぐ。
【0112】
前述した実施例等は、方法ステップの文脈として説明したが、それらも、対応する装置又はシステムの対応するコンポーネント、モジュール、又は特徴の説明を示す。
【0113】
前述した方法及び実施例は、データ交換のためのインターネットのようなネットワーク804(無線及び/又は有線)を介して通信するサーバ800及び一つ以上のコンピューティングデバイス802を含む、
図8に示すようなアーキテクチャ内で具現できる。サーバ800及びコンピューティングデバイス802の各々は、データプロセッサ812a乃至812e(812)及びディスクドライブのようなメモリ813a乃至813e(813)を含む。コンピューティングデバイス802は、自動運転車802b、ロボット802c、コンピュータ802dまたは携帯電話802eを含み、サーバ800と通信するコンピューティングデバイスのような任意の類型のコンピューティングデバイスであり得る。
【0114】
一例として、ローカルイメージディスクリプタの学習のための教師なし神経網訓練のための方法500は、サーバ800により遂行される。サーバ800は、訓練された神経網モジュール(例えば、訓練された神経網モジュール230)をコンピューティングデバイスに提供でき、これは、次いで受信された訓練された神経網モジュールを使用して方法600を遂行して、イメージ対(例えば、メモリに保存されたイメージ及びコンピューティングデバイスのカメラにより受信されたイメージ)間に真正のマッチが存在するか否かを決定するための最適のローカルイメージディスクリプタを計算できる。多様な実施例において、真正のマッチが存在するという決定は、視覚的測位及びマッピング、ナビゲーション、ポーズ推定、Structure-from-Motion、3次元(3D)再構成、及び、そのようなディスクリプタに依存するイメージ検索を含む他のアプリケーションで使用される。一例において、コンピューティングデバイス802の一つは、方法500及び600の全部を遂行する。付加例において、自動運転車802b(またはロボット802c)は、車両(またはロボット)の環境の第1のイメージを獲得する光学センサ(例えば、一つ以上のカメラ)を含む。また、車両(またはロボット)は、車両(またはロボット)の環境の第2のイメージ(位置情報を含む)をメモリデバイス813b、813cに保存する。次いで、プロセッサ812b(または812c)は、イメージから対応する部分を識別するために、第1及び第2のイメージから方法600を遂行して視覚的測位により車両(またはロボット)の環境内で車両(またはロボット)の位置を決定する。多様な具現例において、受信されたイメージ内のオブジェクト及び一つ以上の保存されたイメージ間のマッチを識別するために、カメラまたは光学センサからのイメージがデータベースに保存された多数のイメージと比較できる。
【0115】
前述した説明は、本質的に単に例示的なものであり、本開示は、その応用、または使用を制限するものではない。本開示の広範な教示は、多様な形態で具現できる。したがって、本開示は特定例を含むが、本開示の真正の範囲は、そのように制限されず、これは、図面、明細書及び請求の範囲の研究によって他の変形が明らかになるためである。方法内の一つ以上のステップは、本開示の原理を変更せず、異なる順序(または同時に)で実行されてもよいことを理解しなければならない。また、各々の実施例は、所定の特徴を持つものと前述されたが、本開示の任意の実施例と関連して記述されたこれらの特徴のうちの任意の一つ以上は、他の実施例のうちの任意の特徴で具現及び/又は結合でき、その組合せは明示的に記述されるものではない。換言すれば、前述した実施例等は、相互に排他的ではなく、一つ以上の実施例との相互置換(permutation)は、本開示の範囲内にある。
【0116】
要素(例えば、モジュール、回路素子、半導体層など)間の空間及び機能的関係は、「連結された」、「関連した」、「結合された」、「隣接した」、「近接した」、「上部に」、「上に」、「下に」及び「配置された」を含む多様な用語を使用して説明される。第1及び第2の要素間の関係が前述した開示において説明されるとき、「直接的な」ものとして明示的に言及されない限り、その関係は、他の中間要素が第1及び第2の要素間に存在しない直接的な関係であり、また、一つ以上の介在要素が第1及び第2の要素間に(空間的又は機能的に)存在する間接的な関係であり得る。本明細書に使用されたように、語句「A、B及びCの少なくとも一つ」は、非-排他的な論理ORを使用して論理(A OR B OR C)を意味するものとして解析しなければならず、「Aの少なくとも一つ、Bの少なくとも一つ及びCの少なくとも一つ」を意味するものと解析してはならない。
【0117】
図面において、矢印で示す方向は、一般に、例示に関連した(of interest)情報(例えば、データまたは命令語)の流れを示す。例えば、要素A及び要素Bが多様な情報を交換するが、要素Aから要素Bに送信される情報が例示と関連した場合、矢印は要素Aから要素Bに向かって表示される。この単方向の矢印は、他のいかなる情報も要素Bから要素Aには送信されないことを暗示するものではない。また、要素Aから要素Bに転送された情報に対して、要素Bは、要素Aに対する情報の要請または受信応答確認を転送できる。
【0118】
出願において、以下の定義を含み、用語「モジュール」または用語「制御器」は、用語「回路」に代替できる。用語「モジュール」は、ASIC(Application Specific Integrated Circuit);デジタル、アナログまたは混合アナログ/デジタル離散回路;デジタル、アナログまたは混合アナログ/デジタル集積回路;組合論理回路;FPGA(Field Programmable Gate Array);コードを実行するプロセッサ回路(共有、専用、またはグループ);プロセッサ回路により実行されるコードを保存するメモリ回路(共有、専用、またはグループ);説明された機能を提供する他の適合したハードウェアコンポーネント;または、システム-オン-チップのように、前述した一部または全部の組合せを称することができる。
【0119】
モジュールは、一つ以上のインタフェース回路を含むことができる。一部の例において、インタフェース回路は、近距離通信網(LAN)、インターネット、広域通信網(WAN)またはこれらの組合せによって連結された有線又は無線インタフェースを含むことができる。本開示の任意の与えられたモジュールの機能は、インタフェース回路を介して連結された多数のモジュールに分散できる。例えば、多数のモジュールが負荷分散(load balancing)を許容できる。他の例において、サーバ(遠隔またはクラウドと知らされる)モジュールは、クライアントモジュールの代わりに一部の機能を達成できる。
【0120】
用語「コード」は、ソフトウェア、ファームウェア及び/又はマイクロコードを含むことができ、プログラム、ルーチン、機能、クラス、データ構造及び/又はオブジェクトを称することができる。用語「共有プロセッサ回路」は、多数のモジュールから一部又は全てのコードを実行する単一のプロセッサ回路を含む。用語「グループプロセッサ回路」は、追加のプロセッサ回路と結合して、一つ以上のモジュールから一部又は全てのコードを実行するプロセッサ回路を含む。マルチプロセッサ回路に関する言及は、個別のダイ上のマルチプロセッサ回路、単一のダイ上のマルチプロセッサ回路、単一のプロセッサ回路のマルチコア、単一のプロセッサ回路のマルチスレッド、又はこれらの組合せを含む。用語「共有メモリ回路」は、多数のモジュールの一部又は全てのコードを保存する単一のメモリ回路を含む。用語「グループメモリ回路」は、追加のメモリと結合して、一つ以上のモジュールからの一部又は全てのコードを保存するメモリ回路を含む。
【0121】
用語「メモリ回路」は、用語「コンピュータ読取り可能な媒体」のサブセットである。本明細書で使用される用語「コンピュータ読取り可能な媒体」は、(例えば、搬送波上で)媒体を介して伝播される一時的な電気又は電磁気信号を含まず、したがって、用語「コンピュータ読取り可能な媒体」は、有形(tangible)且つ非一時的なものと見なされる。非一時的且つ有形のコンピュータ読取り可能な媒体の非制限的な例は、不揮発性メモリ回路(例えば、フラッシュメモリ回路、消去可能プログラミング可能な読取り専用メモリ回路、またはマスク読取り専用メモリ回路)、揮発性メモリ回路(例えば、静的ランダムアクセスメモリ回路、動的ランダムアクセスメモリ回路)、磁気保存媒体(例えば、アナログ又はデジタル磁気テープやハードディスクドライブ)、及び光学保存媒体(例えば、CD、DVD又はBlu-ray(登録商標)ディスク)を含む。
【0122】
本出願で説明された装置及び方法は、コンピュータプログラムで具現された一つ以上の特定の機能を実行するように、汎用コンピュータを構成することにより生成された特殊目的コンピュータにより、部分的又は完全に具現できる。前述した機能ブロック、フローチャートの構成要素及びその他の要素は、熟練した技術者やプログラマーのルーチン作業により、コンピュータプログラムに変換できるソフトウェア仕様として役割を果たす。
【0123】
コンピュータプログラムは、少なくとも一つの非一時的且つ有形のコンピュータ読取り可能な媒体に保存されたプロセッサ実行可能な命令語を含む。コンピュータプログラムは、また、保存されたデータを含んだり、それに依存したりできる。コンピュータプログラムは、特殊目的コンピュータのハードウェアと相互作用する基本入/出力システム(BIOS)、特殊目的コンピュータの特定のデバイスと相互作用するデバイスドライバ、一つ以上のオペレーティングシステム、ユーザアプリケーション、バックグラウンドサービス、バックグラウンドアプリケーションなどを含むことができる。
【0124】
コンピュータプログラムは、(i)HTML(hypertext markup language)、XML(extensible markup language)またはJSON(JavaScript Object Notation)のようなパッシング(parsed)される説明テキスト、(ii)アセンブリコード、(iii)コンパイラによりソースコードから生成されたオブジェクトコード、(iv)インタプリタによる実行のためのソースコード、(v)JIT(just-in-time)コンパイラによるコンパイルリング及び実行のためのソースコードなどを含むことができる。例えば、ソースコードは、C、C++、C#、Objective-C、Swift、Haskell、Go、SQL、R、Lisp、Java(登録商標)、Fortran、Perl、Pascal、Curl、OCaml、Javascrip(登録商標)、HTML5(ハイパーテキストマークアップ言語5次改正)、Ada、ASP(Active Server Pages)、PHP(PHP: Hypertext Preprocessor)、Scala、Eiffel、Smalltalk、Erlang、Ruby、Flash(登録商標)、Visual Basic(登録商標)、Lua、MATLAB、SIMULINK及びPython(登録商標)を含む言語等の構文を使用して作成できる。
【外国語明細書】