(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-03
(45)【発行日】2025-02-12
(54)【発明の名称】グラフ構造を用いた画像記述子更新モデル及び方法、並びに画像マッチング装置及びプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20250204BHJP
G06T 7/60 20170101ALI20250204BHJP
【FI】
G06T7/00 300F
G06T7/60 180
(21)【出願番号】P 2021173775
(22)【出願日】2021-10-25
【審査請求日】2024-01-17
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100135068
【氏名又は名称】早原 茂樹
(74)【代理人】
【識別番号】100141313
【氏名又は名称】辰巳 富彦
(72)【発明者】
【氏名】スワンウィモンクン スウィーチャヤ
(72)【発明者】
【氏名】小森田 賢史
【審査官】小池 正彦
(56)【参考文献】
【文献】国際公開第2021/097318(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06T 7/60
(57)【特許請求の範囲】
【請求項1】
2つの画像のマッチングに使用される記述子(descriptor)を更新する
ようにコンピュータを機能させる画像記述子更新モデルであって、
当該2つの画像の各々について、キーポイント群及び記述子群を受け取り、受け取ったキーポイントをノードとして、ノードとしたキーポイントと同じ画像内で近傍となるキーポイントとのペアに係る情報、及び/又は、ノードとしたキーポイントと、該キーポイントに所定の誤差内で若しくは所定以上の類似度で対応している他方の画像内のキーポイントとのペアに係る情報をエッジとしたグラフを生成するグラフ生成手段と、
当該2つの画像の各々について、記述子群を受け取り、受け取った記述子に対し、当該グラフを用いたグラフアテンション(graph attention)処理を施して、更新された記述子を生成する記述子更新手段と
してコンピュータを機能させることを特徴とする画像記述子更新モデル。
【請求項2】
当該2つの画像の各々についてのキーポイント群及び記述子群を受け取って、当該2つの画像のマッチング処理を実施し、受け取ったキーポイントのうちマッチしているキーポイントを選択して、選択したキーポイントとそれに対応する記述子とを前記グラフ生成手段に受け取らせるキーポイントマッチング手段としてコンピュータを更に機能させることを特徴とする請求項1に記載の画像記述子更新モデル。
【請求項3】
前記記述子更新手段は、受け取った記述子に対し当該グラフアテンション処理を複数回実施し、2回目以降の各回において、1つ前の回で生成された更新された記述子と、初回で生成された更新された記述子である又は予め設定された安定化バイアス項と、当該グラフアテンション処理により生成された記述情報とを用いて、当該回の更新された記述子を生成することを特徴とする請求項1又は2に記載の画像記述子更新モデル。
【請求項4】
前記画像記述子更新モデルは、当該更新された記述子を前記グラフ生成手段に受け取らせて、前記グラフ生成手段による当該エッジを有するグラフを更新する処理と、前記記述子更新手段による、更新された当該グラフを用いて更新された記述子をさらに生成する処理との処理ペアを少なくとも1回、実施することを特徴とする請求項1から3のいずれか1項に記載の画像記述子更新モデル。
【請求項5】
前記グラフ生成手段は、当該受け取ったキーポイントと同じ画像内で近傍となるキーポイントとのペアに係る情報をセルフアテンション用エッジとし、また、当該受け取ったキーポイントと、該キーポイントに所定の誤差内で若しくは所定以上の類似度で対応している他方の画像内のキーポイントとのペアに係る情報をクロスアテンション用エッジとし、
前記記述子更新手段は、
当該2つの画像の各々について、受け取った記述子に対し、当該セルフアテンション用エッジを用いたグラフアテンション処理であるセルフアテンション処理を施して、セルフアテンション処理済みの記述子を生成するセルフアテンション処理手段と、
当該2つの画像の各々において、当該セルフアテンション処理済みの記述子に対し、当該クロスアテンション用エッジを用いたグラフアテンション処理であるクロスアテンション処理を施して、クロスアテンション処理済みの更新された記述子を生成するクロスアテンション処理手段と
を有し、当該セルフアテンション処理と当該クロスアテンション処理との処理ペアとしての当該グラフアテンション処理を1回、又は当該クロスアテンション処理済みの更新された記述子を前記セルフアテンション処理手段に受け取らせて、当該処理ペアとしての当該グラフアテンション処理を複数回、実施する
ことを特徴とする請求項1から4のいずれか1項に記載の画像記述子更新モデル。
【請求項6】
当該2つの画像の各々から、キーポイント群及び記述子群を抽出する画像特徴量抽出手段と、
請求項1から5のいずれか1項に記載された画像記述子更新モデルを用いて、抽出された当該記述子群を更新する画像記述子更新手段と、
抽出された当該キーポイント群及び更新された当該記述子群を用いて、当該2つの画像のマッチングを実施する画像マッチング手段と
を有することを特徴とする画像マッチング装置。
【請求項7】
当該2つの画像の各々から、キーポイント群及び記述子群を抽出する画像特徴量抽出手段と、
請求項1から5のいずれか1項に記載された画像記述子更新モデルを用いて、抽出された当該記述子群を更新する画像記述子更新手段と、
抽出された当該キーポイント群及び更新された当該記述子群を用いて、当該2つの画像のマッチングを実施する画像マッチング手段と
としてコンピュータを機能させることを特徴とする画像マッチングプログラム。
【請求項8】
2つの画像のマッチングに使用される記述子を更新するコンピュータによって実施される画像記述子更新方法であって、
当該2つの画像の各々について、キーポイント群及び記述子群を受け取り、受け取ったキーポイントをノードとして、ノードとしたキーポイントと同じ画像内で近傍となるキーポイントとのペアに係る情報、及び/又は、ノードとしたキーポイントと、該キーポイントに所定の誤差内で若しくは所定以上の類似度で対応している他方の画像内のキーポイントとのペアに係る情報をエッジとしたグラフを生成するステップと、
当該2つの画像の各々について、記述子群を受け取り、受け取った記述子に対し、当該グラフを用いたグラフアテンション処理を施して、更新された記述子を生成するステップと
を有することを特徴とする画像記述子更新方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像マッチング技術に関する。
【背景技術】
【0002】
画像マッチングは、画像検索、視覚的探索や、3次元(3D)画像構築といったような、画像から視覚にかかわる成果物を選択・生成するのに重要な技術となっている。
【0003】
多くの場合、画像マッチングは、SIFT(Scale-Invariant Feature Transform)といったような画像特徴量(キーポイントとその記述子)を用い、画像間の視覚的な類似性や、画像特徴量としてのキーポイントの位置が一致する度合いに基づいて実施される。具体的には、一方の画像の各キーポイントの記述子と他方の画像における最近傍となるキーポイントの記述子との間の距離に基づいて視覚的類似性が判断され、さらに、マッチしたキーポイントにおける位置の一致の度合いが検証されるのである。
【0004】
従来、このような画像マッチングにおいては、例えば特許文献1、特許文献2や、非特許文献1に開示された手法のように、キーポイント位置の一致の度合いの検証に人手の介入することが一般的であった。これに対し最近、例えば非特許文献2や非特許文献3に開示された手法のように、局所的な画像特徴量における記述性(descriptiveness,画像の特徴を漏らすことなく的確に記述している程度)を向上させ、より正確な視覚的類似性の判断を行うべく、機械学習ベースで画像マッチングを実施する手法が提案されている。
【0005】
ここで、非特許文献2に開示された画像マッチング手法は、異なる入力画像部分の影響を重み付けして考慮するアテンション(attention)機構を用いた深層学習モデルであるトランスフォーマ(Transformer)を採用している。このトランスフォ-マは、記述子とキーポイントの位置との両方に基づき画像マッチングを実施するように訓練されており、(a)キーポイントの位置を把握するキーポイントエンコーダと、(b)キーポイントと記述子における各画像内の若しくは画像間の特徴とに係るセルフ/クロスアテンション層(9層構成)と、(c)2つの埋め込み表現特徴量のマッチングをとるためのシンクホーン(Sinkhorn)アルゴリズムを含むマッチング層とを備えている。
【0006】
また、非特許文献3に開示された画像マッチング手法も、非特許文献2の手法と同様、トランスフォ-マ構成をとっている。しかしながらこの画像マッチング手法では、キーポイントのマッチングをとるのではなく、2つの画像内の高さ及び幅に沿って画素毎にマッチングを実施している。そのため具体的に、画像から局所特徴量を抽出するResNet backboneと、それぞれ低解像度及び高解像度の画素をマッチングする2つのトランスフォ-マとが採用されている。
【0007】
ここで低解像度トランスフォ-マは、(a)各ピクセルの位置を把握する位置エンコーダと、(b)マルチヘッド構成のセルフ/クロスアテンション層(4層構成)と、(c)低解像度のピクセルのマッチングを行う最近傍層とを備えている。一方、高解像度トランスフォ-マは、セルフ/クロスアテンション層(4層構成)のみからなり、ここから高解像度のマッチング結果を引き出しているのである。
【先行技術文献】
【特許文献】
【0008】
【文献】中国特許第102194133号明細書
【文献】米国特許第8805067号明細書
【非特許文献】
【0009】
【文献】Luca Cavalli et al., “Revisiting Handcrafted Outlier Detection”, Conference: European Conference on Computer Vision, <https://arxiv.org/pdf/2006.04250.pdf>, 2020年
【文献】Paul-Edouard Sarlin et al., “SuperGlue: Learning Feature Matching with Graph Neural Networks”, Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, <https://arxiv.org/pdf/1911.11763.pdf>, 2020年
【文献】Jiaming Sun et al., “LoFTR: Detector-Free Local Feature Matching with Transformers”, Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, <https://arxiv.org/pdf/2104.00680.pdf>, 2021年
【発明の概要】
【発明が解決しようとする課題】
【0010】
以上説明したように、人手の介入する画像マッチング手法では、人為的な初期設計内容によって処理精度が限定されてしまうところ、機械学習ベースの画像マッチング手法では、エンドツーエンド(end-to-end)機械学習によって、人為的な設計を極力排除し、特徴量の抽出・更新、特徴量のマッチング処理や、キーポイントの位置検証を一貫して高精度で実施することが可能となるのである。
【0011】
しかしながら、非特許文献2や非特許文献3に開示されたような従来のエンドツーエンド機械学習ベースの画像マッチング手法は、計算コストが増大し、特にトランスフォ-マを採用することによって膨大なメモリ量や演算時間を費やしてしまう問題を抱えている。
【0012】
例えば、非特許文献2に記載された具体例では、バッチサイズを16とした場合に約56ギガバイトのGPU(Graphics Processing Unit)メモリを必要とし、また推測ではあるがこの場合、例えば2048個のキーポイントのマッチングに120ミリ秒程度の演算時間がかかってしまうと考えられる。さらに、非特許文献3の手法では、例えば640ピクセル×480ピクセルの小サイズの画像についても約116ミリ秒の演算時間を必要とするのである。
【0013】
そこで、本発明は、より計算コストの抑えられた機械学習ベースの画像マッチング処理を実現することになる記述子の更新処理を可能にする画像記述子更新モデル及び画像記述子更新方法、並びに、そのような画像マッチング処理を可能にする画像マッチング装置及び画像マッチングプログラムを提供することを目的とする。
【課題を解決するための手段】
【0014】
本発明によれば、2つの画像のマッチングに使用される記述子(descriptor)を更新するようにコンピュータを機能させる画像記述子更新モデルであって、
当該2つの画像の各々について、キーポイント群及び記述子群を受け取り、受け取ったキーポイントをノードとして、ノードとしたキーポイントと同じ画像内で近傍となるキーポイントとのペアに係る情報、及び/又は、ノードとしたキーポイントと、このキーポイントに所定の誤差内で若しくは所定以上の類似度で対応している他方の画像内のキーポイントとのペアに係る情報をエッジとしたグラフを生成するグラフ生成手段と、
当該2つの画像の各々について、記述子群を受け取り、受け取った記述子に対し、当該グラフを用いたグラフアテンション(graph attention)処理を施して、更新された記述子を生成する記述子更新手段と
してコンピュータを機能させる画像記述子更新モデルが提供される。
【0015】
この本発明による画像記述子更新モデルの一実施形態として、本画像記述子更新モデルは、当該2つの画像の各々についてのキーポイント群及び記述子群を受け取って、当該2つの画像のマッチング処理を実施し、受け取ったキーポイントのうちマッチしているキーポイントを選択して、選択したキーポイントとそれに対応する記述子とをグラフ生成手段に受け取らせるキーポイントマッチング手段としてコンピュータを更に機能させることも好ましい。
【0016】
また、本発明による画像記述子更新モデルの他の実施形態として、記述子更新手段は、受け取った記述子に対し当該グラフアテンション処理を複数回実施し、2回目以降の各回において、1つ前の回で生成された更新された記述子と、初回で生成された更新された記述子である又は予め設定された安定化バイアス項と、当該グラフアテンション処理により生成された記述情報とを用いて、当該回の更新された記述子を生成することも好ましい。
【0017】
さらに、本発明による画像記述子更新モデルの好適な更なる他の実施形態として、画像記述子更新モデルは、当該更新された記述子を前記グラフ生成手段に受け取らせて、グラフ生成手段による当該エッジを有するグラフを更新する処理と、記述子更新手段による、更新された当該グラフを用いて更新された記述子をさらに生成する処理との処理ペアを少なくとも1回、実施することも好ましい。
【0018】
また、本発明による画像記述子更新モデルの好適な更なる他の実施形態として、
グラフ生成手段は、当該受け取ったキーポイントと同じ画像内で近傍となるキーポイントとのペアに係る情報をセルフアテンション用エッジとし、また、当該受け取ったキーポイントと、このキーポイントに所定の誤差内で若しくは所定以上の類似度で対応している他方の画像内のキーポイントとのペアに係る情報をクロスアテンション用エッジとし、
記述子更新手段は、
当該2つの画像の各々について、受け取った記述子に対し、当該セルフアテンション用エッジを用いたグラフアテンション処理であるセルフアテンション処理を施して、セルフアテンション処理済みの記述子を生成するセルフアテンション処理手段と、
当該2つの画像の各々において、当該セルフアテンション処理済みの記述子に対し、当該クロスアテンション用エッジを用いたグラフアテンション処理であるクロスアテンション処理を施して、クロスアテンション処理済みの更新された記述子を生成するクロスアテンション処理手段と
を有し、当該セルフアテンション処理と当該クロスアテンション処理との処理ペアとしての当該グラフアテンション処理を1回、又は当該クロスアテンション処理済みの更新された記述子をセルフアテンション処理手段に受け取らせて、当該処理ペアとしての当該グラフアテンション処理を複数回、実施する
ことも好ましい。
【0019】
本発明によれば、また、当該2つの画像の各々から、キーポイント群及び記述子群を抽出する画像特徴量抽出手段と、
以上に述べた画像記述子更新モデルを用いて、抽出された当該記述子群を更新する画像記述子更新手段と、
抽出された当該キーポイント群及び更新された当該記述子群を用いて、当該2つの画像のマッチングを実施する画像マッチング手段と
を有する画像マッチング装置が提供される。
【0020】
本発明によれば、さらに、当該2つの画像の各々から、キーポイント群及び記述子群を抽出する画像特徴量抽出手段と、
以上に述べた画像記述子更新モデルを用いて、抽出された当該記述子群を更新する画像記述子更新手段と、
抽出された当該キーポイント群及び更新された当該記述子群を用いて、当該2つの画像のマッチングを実施する画像マッチング手段と
としてコンピュータを機能させる画像マッチングプログラムが提供される。
【0021】
本発明によれば、またさらに、2つの画像のマッチングに使用される記述子を更新するコンピュータによって実施される画像記述子更新方法であって、
当該2つの画像の各々について、キーポイント群及び記述子群を受け取り、受け取ったキーポイントをノードとして、ノードとしたキーポイントと同じ画像内で近傍となるキーポイントとのペアに係る情報、及び/又は、ノードとしたキーポイントと、このキーポイントに所定の誤差内で若しくは所定以上の類似度で対応している他方の画像内のキーポイントとのペアに係る情報をエッジとしたグラフを生成するステップと、
当該2つの画像の各々について、記述子群を受け取り、受け取った記述子に対し、当該グラフを用いたグラフアテンション処理を施して、更新された記述子を生成するステップと
を有する画像記述子更新方法が提供される。
【発明の効果】
【0022】
本発明の画像記述子更新モデル及び画像記述子更新方法によれば、より計算コストの抑えられた機械学習ベースの画像マッチング処理を実現することになる記述子の更新処理が可能になる。また、本発明の画像マッチング装置及び画像マッチングプログラムによれば、より計算コストの抑えられた機械学習ベースの画像マッチング処理が可能となる。
【図面の簡単な説明】
【0023】
【
図1】本発明による画像記述子更新モデルの一実施形態を示す模式図である。
【
図2】元画像A及び対象画像Bの間のマッチしたキーポイント、及びその近傍領域を説明するための具体例を示した模式図である。
【
図3】本発明による画像記述子更新方法の一実施形態における概略を示すフローチャートである。
【発明を実施するための形態】
【0024】
以下、本発明の実施形態について、図面を用いて詳細に説明する。
【0025】
[画像記述子更新モデル]
図1は、本発明による画像記述子更新モデルの一実施形態を示す模式図である。
【0026】
図1に示した本実施形態の画像記述子更新モデル1は、
(a)画像マッチングの対象である元画像A及び対象画像Bのそれぞれにおける、予め抽出されたキーポイント群
AK及び記述子群
AD、並びにキーポイント群
BK及び記述子群
BDを入力とし、
(b)元画像A及び対象画像Bのマッチングに使用される記述子(descriptor)であって、より高い精度での画像マッチング処理を可能にする、更新された記述子群
AD
*及び記述子群
BD
*を出力する
機械学習モデルとなっている。
【0027】
ここで、キーポイントは、設定された所定の観点から対象となる画像を見た場合に、画像中において特徴的と判断される部分(画像識別の際に重要となる部分)のことである。また、記述子は、キーポイントの周囲の画像領域から取り出された特徴量であり、このキーポイントの意味情報を記述する高次元ベクトルとなっている。
【0028】
以上述べたような処理を実現するべく、画像記述子更新モデル1は具体的に、
(A)元画像A及び対象画像Bの各々について、キーポイント群(AK,BK)及び記述子群(AD,BD)を受け取り、受け取ったキーポイントをノードとして、
(a1)ノードとしたキーポイントと同じ画像内で近傍となるキーポイントとのペアに係る情報、及び
(a2)ノードとしたキーポイントと、このキーポイントに所定の誤差内で若しくは所定以上の類似度で対応している他方の画像内のキーポイントとのペアに係る情報
のうちのいずれか一方又は両方をエッジとした「グラフ」を生成するグラフ生成部12と、
(B)元画像A及び対象画像Bの各々について、記述子群(AD,BD)を受け取り、受け取った記述子に対し、生成された「グラフ」を用いたグラフアテンション(Graph Attention,GAT)処理を施して、更新された記述子を生成する記述子更新部13と
してコンピュータを機能させるのである。
【0029】
このように画像記述子更新モデル1は、従来その膨大な計算コストが問題となっていたトランスフォーマ(Transformer)に頼ることなく、比較的小さな計算コストで済むGAT処理を用いた記述子の更新を実現している。また、そのために、GAT処理用の「グラフ」を、キーポイント位置の一致の度合いに基づき予め別に生成しているのである。
【0030】
例えば実際に、画像記述子更新モデル1で1024個のキーポイントを取り扱い、(後述するクロスアテンション処理である)GAT処理によって記述子更新処理を実施したところ、演算時間は18ミリ秒であった。これに対し、同条件下で既存のトランスフォーマを用い、記述子を更新したところ、演算時間は約80ミリ秒となってしまうことが確認されている。また、この画像記述子更新モデル1では、バッチサイズが1である場合に必要となるメモリ量は、2ギガバイト未満に抑えられるのに対し、既存のトランスフォーマでは同条件下で約3.7ギガバイトのメモリ量を必要とすることが分かっている。
【0031】
さらに、ここで更新された記述子には、GAT処理の結果として、「グラフ」のエッジ情報としてのキーポイント(ノード)の位置関係やその周囲の状況の一致の度合いに係る情報も埋め込まれており、その結果、この更新された記述子を用いることによって、より高い精度の画像マッチング処理を行うことも可能となる。また、この最後の画像マッチング処理は、従来の最近傍マッチング(nearest neighbor matching)といったような軽量であって高速度の手法で済むのである。
【0032】
以上、画像記述子更新モデル1によれば、より計算コストの抑えられた機械学習ベースの画像マッチング処理を実現することになる記述子更新処理を実施可能となることが理解される。これにより例えば、リアルタイムで画像検索、視覚的探索や、3D画像構築等を行う画像マッチングアプリケーションも提供可能となるのである。
【0033】
なお、上記(B)のGAT処理として以下に示す実施形態では、セルフアテンション処理とクロスアテンション処理とを実施しているが、いずれか一方のみの処理を実施する形態をとることも可能である。例えばグラフ生成処理とクロスアテンション処理との処理ペアを1回又は複数回実施するものであってもよい。しかしながら、セルフアテンション処理とクロスアテンション処理とを両方採用することによって、より記述性(descriptiveness,画像の特徴を漏らすことなく的確に記述している程度)の高い更新された記述子を得ることができるのである。
【0034】
[モデル構成]
以下、本実施形態の画像記述子更新モデル1の構成について、より詳細に説明を行う。同じく
図1によれば、画像記述子更新モデル1は本実施形態において、
(ア)キーポイントマッチング部11、
(イ)グラフ生成部12、及び
(ウ)セルフアテンション処理部131とクロスアテンション処理部132とを有する記述子更新部13
を(コンピュータに搭載されたプログラムによって具現される)機能構成部として備えている。言い換えるとこれらの機能構成部としてコンピュータを機能させるモデルとなっているのである。以下、上述した各機能構成部について具体的に説明を行う。
【0035】
<キーポイントマッチング手段>
同じく
図1において、キーポイントマッチング部11は、元画像A及び対象画像Bの各々についてキーポイント群(
AK,
BK)及び記述子群(
AD,
BD)を受け取り、これらを用いて両画像のマッチング処理を実施し、受け取ったキーポイントのうちマッチしているキーポイントを選択して、選択したキーポイントとそれに対応する記述子とをグラフ生成部12に受け取らせる。
【0036】
ここで、このキーポイントマッチング部11におけるマッチング処理は、公知の軽量であって高速度の手法、例えば、キーポイント位置の一致度合いに基づくいわゆる最近傍マッチングによって実施されることも好ましい。いずれにしても、このマッチング処理は、この後のグラフ生成のための前処理に相当するものとなっている。
【0037】
ちなみに、キーポイントマッチング部11は省略することも可能であるが、このキーポイントマッチング部11において、この後のグラフ生成部12で使用されるキーポイントを(マッチしたものに)選定し、その数を限定することよって、モデル1全体の訓練のための計算コストをより抑えることも可能となっているのである。例えば、画像記述子更新モデル1内における隠れ特徴量の次元数は実際に、例えば64や128に抑えることが可能であるが、トランスフォーマでは実際、それよりも多い例えば256とする必要が生じる。
【0038】
また、本実施形態においてキーポイントマッチング部11が受け取る、元画像A及び対象画像Bのキーポイント群(AK,BK)及び記述子群(AD,BD)は、外部の画像特徴量抽出手段によって、元画像A及び対象画像Bから抽出されたものとすることができる。例えば、公知のSIFT(Scale-Invariant Feature Transform)やSuperPointであってもよい。ここでSuperPointは、非特許文献:D. DeTone, T. Malisiewicz, and A. Rabinovich, “Superpoint: Self-supervised interest point detection and description”, In IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops, <https://arxiv.org/pdf/1712.07629.pdf>,2018年 に開示された画像特徴量である。
【0039】
さらに変更態様として、これらのキーポイント群(AK,BK)及び記述子群(AD,BD)は、エンドツーエンドの学習済みDNN(Deep Neural Network)で生成されたものとすることも可能である。
【0040】
<グラフ生成手段>
同じく
図1において、グラフ生成部12は本実施形態において、キーポイントマッチング部11から元画像A及び対象画像Bのマッチしたキーポイント群及び記述子群を受け取り、各画像について、
(a1)ノードとしたキーポイントと、同じ画像内でその近傍となるキーポイントとのペアに係る情報を「セルフアテンション用エッジ」(
Aε
self,
Bε
self)としたセルフアテンション用グラフを生成し、さらに、
(a2)ノードとしたキーポイントと、このキーポイントに所定の誤差内で若しくは所定以上の類似度で対応している他方の画像内のキーポイントとのペアに係る情報を「クロスアテンション用エッジ」(
Aε
cros,
Bε
cros)としたクロスアテンション用グラフを生成する。
【0041】
ここで以下、元画像A及び対象画像Bの間のマッチしたキーポイント、及びその近傍領域を説明するべく
図2も参照しながら、グラフ生成部12におけるグラフ生成処理の説明を行う。
【0042】
最初に、上記(a1)のセルフアテンション用エッジAεselfは本実施形態において、キーポイントマッチング部11から受け取ったマッチしたキーポイント群をシードポイント群とした上で、シードポイントiと、このシードポイントiの予め設定された近傍領域内に位置するシードポイントjとのペア(i, j)の集合とする。すなわち、次式
(1) Aεself
(l)=∪i∈AS∪j∈AN_i(i, j)
によってセルフアテンション用エッジAεself
(l)が算出される。
【0043】
なお後に詳細に説明するが、本実施形態ではこのグラフ生成処理と後述する記述子更新処理との処理セットが複数回実施される。ここで、上式(1)のAεself
(l)の上添え字(l)は、このエッジがl番目のグラフ生成処理で生成されl番目の記述子更新処理で使用されるものであることを示している。
【0044】
また、上式(1)のASは、元画像Aのシードポイント(のインデックスi)の集合であって、AN_iは、シードポイントiの近傍領域内に位置するシードポイントjの(インデックスの)集合である。またさらに、∪i∈AS∪j∈ANiは、全てのシードポイントiの各々と当該シードポイントiの近傍領域内に位置する全てのシードポイントjの各々との全ての(インデックスの)ペア(i, j)を包含する集合を形成するユニオン演算子を示している。なお、対象画像Bのセルフアテンション用エッジBεself
(l)も、以上と同様に算出される。
【0045】
また、上述したシードポイントの近傍領域は本実施形態において、
図2に示した領域A.1及びA.2(元画像A)や領域B.1及びB.2(対象画像B)のように円領域となっている。ここで
図2において、円領域A.1及びA.2に係るシードポイントはそれぞれ、円領域B.1及びB.2に係るシードポイントとマッチしている。なお勿論、この近傍領域として円領域以外の領域、例えば楕円領域や方形領域を採用することも可能である。
【0046】
次いで、上記(a2)の元画像Aのクロスアテンション用エッジAεcros(対象画像BのBεcrosも以下と同様)は本実施形態において、キーポイントマッチング部11から受け取ったマッチしたキーポイント群をシードポイント群とした上で、シードポイントiと、このシードポイントiに所定の誤差内で対応している他方の画像(ここでは対象画像B)内のシードポイントjとのペア(i, j)の集合とする。
【0047】
ここで本実施形態では、このクロスアテンション用エッジ生成のために所定のキーポイントマッチング処理を実施し、異なる視点位置から見た各画像のキーポイントの対応関係、具体的には元画像Aのシードポイントを対象画像Bのシードポイントに変換するアフィン(affine)変換Φを導出しておく。クロスアテンション用エッジAεcros
(l)は、このアフィン変換Φを用いて、次式
(2) Aεcros
(l)=∪(i, j):|ΦAP_i-BP_j|≦ε(i, j)
により算出されるのである。
【0048】
上式(2)において、AP_i及びBP_jはそれぞれ、元画像Aのシードポイントiの位置(座標値)及び対象画像Bのシードポイントjの位置(座標値)である。また、∪(i, j):|ΦAP_i-BP_j|≦εは、元画像Aのシードポイントiと、このシードポイントiに対し所定の誤差ε内でアフィン変換Φにより対応付けられている対象画像Bのシードポイントjとの全ての(インデックスの)ペア(i, j)を包含する集合を形成するユニオン演算子を示している。
【0049】
また、このようなペア((i, j):|ΦAP_i-BP_j|≦ε)の具体例として、
図2では、ラインCの両端の2つのシードポイント(丸印)、ラインDの両端の2つのシードポイント(菱形印)や、ラインEの両端の2つのシードポイント(四角印)が示されている。ちなみに、
図2の具体例では、クロスアテンション用エッジ生成のための所定のキーポイントマッチング処理(アフィン変換Φの導出処理)として、非特許文献1に開示されているAdaLAMが使用されている。
【0050】
さらに、上記(a2)のクロスアテンション用エッジ生成の他の実施形態として、元画像Aのクロスアテンション用エッジAεcros(対象画像BのBεcrosも以下と同様)を、キーポイントマッチング部11から受け取ったマッチしたキーポイントをシードポイントiとした上で、シードポイントiと、このシードポイントiに所定以上の類似度で対応している他方の画像(ここでは対象画像B)内のシードポイントjとのペア(i, j)の集合とすることも可能である。すなわちこの実施形態では、視覚的類似性に基づきクロスアテンション用エッジを生成するのであり、上式(2)の方法よりも計算コストが小さく、より短い演算時間でクロスアテンション用エッジを生成することができる。
【0051】
具体的には、S(i, j)を、元画像Aのシードポイントiの記述子と対象画像Bのシードポイントjの記述子との類似スコア(類似度)とし、MNN(AS)を、元画像Aのシードポイントiの集合(AS)を受けて最近傍関係にあるシードポイントのペア(i, j)を導出する演算子として、次式
(3) Aεcros
(l)={(i, j)|(i, j)∈MNN(AS), S(i, j)>θ}
によりクロスアテンション用エッジAεcros
(l)が算出される。ここで、θは所定の類似度スコア閾値である。
【0052】
以上、元画像Aのクロスアテンション用エッジAεcrosの生成処理を説明し、また、対象画像Bのクロスアテンション用エッジBεcrosも同様に生成される旨を述べたが、変更態様としてAεcros(又はBεcros)を、元画像Aと対象画像Bとにおける共通のクロスアテンション用エッジとしてもよい。この場合、Aεcros及びBεcrosの両方を算出する必要がないのでグラフ生成処理の計算コストをより抑えることが可能となる。
【0053】
<記述子更新手段>
同じく
図1に示すように、記述子更新部13は本実施形態において、セルフアテンション処理部131及びクロスアテンション処理部132を有している。このうちセルフアテンション処理部131は、当初、外部からの入力として元画像A及び対象画像Bの各々の記述子群(
AD,
BD)を受け取り、受け取った記述子に対し、グラフ生成部12から受け取ったセルフアテンション用エッジ(
Aε
self,
Bε
self)を用いた(GAT処理としての)セルフアテンション処理を施して、セルフアテンション処理済みの更新された記述子を生成する。
【0054】
なお、ここで実施されるセルフアテンション処理を含めアテンション処理の詳細は、例えば非特許文献:Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, L. ukasz, & Polosukhin, I., “Attention is All you Need”, In Advances in Neural Information Processing Systems (Vol. 30). Curran Associates, Inc. <https://proceedings.neurips.cc/paper/2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf>, 2017年に開示されている。
【0055】
本実施形態において最初に、セルフアテンション処理部131のConv1D部131aは、セルフアテンション処理の前処理として、受け取った元画像Aの記述子x_iを、クエリQi(=x_i)、バリューVi(=x_i)、及びキーKi(=x_i)とした上で、これらに対し、畳み込み処理を施し、特徴量化(エンコード化)したQ_i、V_i及びK_i、すなわち
(4) Q_i=CONV1D(Qi), V_i=CONV1D(Vi), K_i=CONV1D(Ki)
を生成する。
【0056】
次いで、セルフアテンション処理部131のAttention部131bは、受け取った元画像Aの記述子に対し、グラフ生成部12から入力されたセルフアテンション用エッジAεself
(l)を用いたセルフアテンション処理を実施する。
【0057】
具体的には、記述子x_iについて、Aεself
(l)で規定されるその周囲の記述子x_jの影響を(x_jのx_iに対する関係によって決定した)その重みを用いて加算した「記述情報」をメッセージ(message)とし、このメッセージmε→iを、次式
(5) mε→i=Σj:(i,j)∈Aεself(l)V_j×Softmaxj(Q_i, K_j)
によって算出する。ここでΣj:(i,j)∈Aεself(l)は、(i, j)がAεself
(l)の要素となるようなjについての総和であり、またSoftmaxjは、jについてのソフトマックス(softmax)関数である。
【0058】
次いで、セルフアテンション処理部131のconcatenation部131c、MLP部131d及び加算部131fは、今回のセルフアテンション処理で更新される記述子x_i(l)を、次式
(6) x_i(l)=x_i(l-1)+MLP(Concat(Q_i, mε→i))
を用いて算出するのである。ここで、後に詳細に説明するが、本実施形態では上述したグラフ生成処理とこの記述子更新処理との処理セットが複数回実施される。上式(6)の上添え字(l)のlは、添え字対象の量が、l番目の記述子更新処理(セルフアテンション処理)で生成される量であることを示している。
【0059】
また上式(6)において、x_i(l-1)は、l(≧2)番目である今回の記述子更新処理(セルフアテンション処理)よりも1つ前の((l-1)番目の)処理によって更新された記述子である。なお、x_i(0)は、当初(外部からの入力として)受け取った記述子に設定される。また、Concat(Q_i, mε→i)は、concatenation部131cによるQ_iとmε→iとの連結処理の結果を表し、さらにMLP(Concat(Q_i, mε→i))は、この連結処理結果をMLP部131dにおける多層パーセプトロン(Multilayer perceptron,MLP)で処理した結果を表す。
【0060】
また、以上に述べたような更新された記述子x_i(l)を導出する他の好適な実施形態として、l(≧1)番目のセルフアテンション処理で更新される記述子x_i(l)を、次式
(7) x_i(l)=α(l)×x_ibias+β(l)×x_i(l-1)+MLP(Concat(Q_i, mε→i))
を用いて算出することも好ましい。
【0061】
ここでx_ibiasは、本願発明者等が考案した安定化バイアス項であり、動的に更新処理の繰り返される本実施形態における更新された記述子x_i(l)の算出結果を安定させる効果を奏する。本実施形態において、x_ibiasは、外部からの入力として受け取った記述子に設定され、すなわちx_i(0)と同値に設定される(x_ibias=x_i(0))。これにより、l(≧2)番目のセルフアテンション処理で更新される記述子x_i(l)は具体的に、外部からの入力として受け取った記述子(すなわちx_ibias)と、memory部131eに保存されていた前回の(l-1回目の)更新された記述子x_i(1-1)と、MLP部131dの出力とを加算器131fへ渡して処理することにより生成されるのである。
【0062】
また上式(7)において、α(l)及びβ(l)はそれぞれ、安定化バイアス項x_ibias及び前回の更新された記述子の重みであって、モデル1全体の訓練によって学習されるパラメータとなっている。ここで変更態様として、MLP(Concat(Q_i, mε→i))項にも、学習される重みγ(l)を掛けてもよく、または重みβ(l)を、{x_i(l-1)+MLP(Concat(Q_i, mε→i))}項に掛けることも可能である。
【0063】
以上、受け取った元画像Aの記述子に対し順次処理を行い更新した記述子を生成する、セルフアテンション処理部131のConv1D部131a、Attention部131b、Concatenation部131c、MLP部131d、Memory部131e及び加算器131fの説明を行った。一方、同じく
図1に示したセルフアテンション処理部131のConv1D部131g、Attention部131h、Concatenation部131i、MLP部131j、Memory部131k及び加算器131lは、受け取った対象画像Bの記述子に対し、上述した同名の機能構成部と同様の処理を順次行って、更新した記述子を生成するのである。
【0064】
だたし、Attention部131hは、Attention部131bとは異なり、グラフ生成部12から入力されたセルフアテンション用エッジBεself
(l)を用いたセルフアテンション処理を実施する。具体的には、対象画像Bの記述子x_iについて、Bεself
(l)で規定されるその周囲の記述子x_jの影響を(x_jのx_iに対する関係によって決定した)その重みを用いて加算した「記述情報」をメッセージ(message)とし、このメッセージmε→iを、次式
(8) mε→i=Σj:(i,j)∈Bεself(l)V_j×Softmaxj(Q_i, K_j)
によって算出するのである。ここでΣj:(i,j)∈Bεself(l)は、(i, j)がBεself
(l)の要素となるようなjについての総和となっている。
【0065】
次に、記述子更新部13のクロスアテンション処理部132の説明を行う。
【0066】
同じく
図1において、クロスアテンション処理部132は本実施形態において、セルフアテンション処理部131から、元画像A及び対象画像Bの各々の更新された記述子群を受け取り、受け取ったセルフアテンション処理済みの記述子に対し、グラフ生成部12から受け取ったクロスアテンション用エッジ(
Aε
cros,
Bε
cros)を用いた(GAT処理としての)クロスアテンション処理を施して、クロスアテンション処理済みのさらに更新した記述子を生成する。
【0067】
具体的に、クロスアテンション処理部132のConv1D部132a、Attention部132b、Concatenation部132c、MLP部132d、Memory部132e及び加算器132fは、セルフアテンション処理部131から受け取った元画像Aの更新された記述子に対し、セルフアテンション処理部131における上述した同名の機能構成部(131a,131b,131c,131d,131e,131f)と同様の処理を順次行って、さらに更新した記述子を生成するのである。
【0068】
ただし、Conv1D部132aは、Conv1D部131aとは異なり、クロスアテンション処理の前処理として、受け取った元画像Aの更新された記述子x_iをクエリQi(=x_i)とし、さらに、セルフアテンション処理部131から受け取っ対象画像Bの更新された記述子x_jをバリューVj(=x_j)及びキーKj(=x_j)とした上で、これらに対し、畳み込み処理を施し、特徴量化(エンコード化)したQ_i、V_j及びK_j、すなわち
(9) Q_i=CONV1D(Qi), V_j=CONV1D(Vj), K_j=CONV1D(Kj)
を生成する。
【0069】
次いで、Attention部132bは、元画像Aの更新された記述子に対し、グラフ生成部12から入力されたクロスアテンション用エッジAεcros
(l)を用いたクロスアテンション処理を実施し、次式
(10) mε→i=Σj:(i,j)∈Aεcros(l)V_j×Softmaxj(Q_i, K_j)
によってメッセージ(記述情報)mε→iを算出する。ここでΣj:(i,j)∈Aεcros(l)は、(i, j)がAεcros
(l)の要素となるようなjについての総和である。
【0070】
一方、同じく
図1に示したクロスアテンション処理部132のConv1D部132g、Attention部132h、Concatenation部132i、MLP部132j、Memory部132k及び加算器132lは、受け取った対象画像Bの更新された記述子に対し、クロスアテンション処理部132における上述した同名の機能構成部(132a,132b,132c,132d,132e,132f)と同様の処理を順次行って、さらに更新した記述子を生成するのである。
【0071】
だたし、Conv1D部132gは、Conv1D部132aとは異なり、クロスアテンション処理の前処理として、受け取った対象画像Bの更新された記述子x_iをクエリQi(=x_i)とし、さらに、セルフアテンション処理部131から受け取った元画像Aの更新された記述子x_jをバリューVj(=x_j)及びキーKj(=x_j)とした上で、これらに対し、畳み込み処理を施し、特徴量化(エンコード化)したQ_i、V_j及びK_j、すなわち
(11) Q_i=CONV1D(Qi), V_j=CONV1D(Vj), K_j=CONV1D(Kj)
を生成する。
【0072】
次いで、Attention部132hは、対象画像Bの更新された記述子に対し、グラフ生成部12から入力されたクロスアテンション用エッジBεcros
(l)を用いたクロスアテンション処理を実施し、次式
(12) mε→i=Σj:(i,j)∈Bεcros(l)V_j×Softmaxj(Q_i, K_j)
によってメッセージ(記述情報)mε→iを算出するのである。ここでΣj:(i,j)∈Bεcros(l)は、(i, j)がBεcros
(l)の要素となるようなjについての総和である。
【0073】
以上、記述子更新部13のセルフアテンション処理部131及びクロスアテンション処理部132について詳細に説明を行った。ここで、記述子更新処理として、セルフアテンション処理部131によるセルフアテンション処理と、クロスアテンション処理部132によるクロスアテンション処理との処理ペアとしての「GAT処理」を1回だけ実施することも可能である。
【0074】
しかしながらより記述性の高い記述子を生成するべく、本実施形態では、クロスアテンション処理済みの更新された記述子をセルフアテンション処理部131に受け取らせて、当該処理ペアとしての「GAT処理」をL(≧2)回、実施するのである。なおこの場合、上述したAεself
(l)やx_i(l)等の上添え字(l)のlは、1以上であってL以下の整数(l=1, 2, ・・・, L)となる。
【0075】
具体的には、1回目(l=1)の処理終了後、
(a)クロスアテンション処理部132の加算器132fからの出力(クロスアテンション処理済みの元画像Aの記述子)を、セルフアテンション処理部131のConv1D部131aへ入力し、またクロスアテンション処理部132の加算器132lからの出力(クロスアテンション処理済みの対象画像Bの記述子)を、セルフアテンション処理部131のConv1D部131gへ入力して再度、セルフアテンション処理を実施し、
(b)その後、セルフアテンション処理部131の加算器131fからの出力(セルフアテンション処理済みの元画像Aの記述子)と、加算器131lからの出力(セルフアテンション処理済みの対象画像Bの記述子)とを、クロスアテンション処理部132のConv1D部132a及びConv1D部132gへ入力して再度、クロスアテンション処理を実施し、
これら(a)及び(b)の処理を少なくとも1回(2回目以降分として(L-1)回)繰り返すのである。
【0076】
ここで、上記(a)におけるl番目のセルフアテンション処理においては、同じくクロスアテンション処理部132の加算器132fからの出力((l-1)番目のクロスアテンション処理済みの元画像Aの記述子)及び加算器132lからの出力((l-1)番目のクロスアテンション処理済みの対象画像Bの記述子)を受け取ったグラフ生成部12から出力されるセルフアテンション用エッジ(Aεself
(l),Bεself
(l))が使用される。
【0077】
また、上記(b)におけるl番目のクロスアテンション処理においても、同様にしてグラフ生成部12から出力されるクロスアテンション用エッジ(Aεcros
(l),Bεcros
(l))が使用される。すなわち、本実施形態では、更新された記述子をグラフ生成部12に受け取らせて、グラフ生成部12によるグラフ(エッジ)を更新する処理と、記述子更新部13(セルフアテンション処理部131及びクロスアテンション処理部132)による、更新されたグラフ(エッジ)を用いて更新された記述子をさらに生成する処理との処理ペアを少なくとも1回(L-1)回)、追加して実施するのである。
【0078】
これにより、繰り返し更新されたキーポイント(ノード)の位置関係やその周囲の状況の一致の度合いに係る情報が更新エッジ情報として逐次埋め込まれた、より記述性の高い且つミスマッチの原因となる情報が適宜取り除かれた記述子を生成することもできるのである。さらに、このような記述子を用いて画像マッチング処理を行うことによって、より精度の高い且つより多くの真にマッチしたキーポイントを含む画像マッチング結果を得ることが可能となる。
【0079】
また、セルフアテンション処理部131及びクロスアテンション処理部132はいずれも、(上式(7)に示した)安定化バイアス項を用いた記述子更新処理を実施する場合、2回目(l=2)以降の各回において、1つ前の回で生成された更新された記述子x_i(l-1)と、初回で生成された更新された記述子x_i(1)である(又は予め設定された)安定化バイアス項x_ibiasと、生成されたメッセージ(記述情報)mε→iとを用いて、当該回の更新された記述子x_i(l)を生成する。その結果、動的に更新処理の繰り返される中、更新された記述子x_i(l)の導出をより安定させ、これにより信頼性の高い最終的な出力(x_i(L))を得ることも可能となるのである。
【0080】
いずれにしても、記述子更新部13(画像記述子更新モデル1)は、最終的に更新された記述子群(AD*,BD*)を出力する。これらは、記述性のより高い、元画像Aと対象画像Bとの好適な画像マッチングを実現可能な記述子となっているのである。
【0081】
また、以上説明したように、記述子更新部13(画像記述子更新モデル1)は、従来その膨大な計算コストが問題となっていたトランスフォーマに頼ることなく、比較的小さな計算コストで済むGAT処理を用いた記述子の更新を実現している。また、そのために、GAT処理用のグラフを、グラフ生成部12にて予め別に生成しているのである。これにより、計算コストのより抑えられた記述子更新処理を実施することが可能となる。
【0082】
ちなみに、画像記述子更新モデル1、特に記述子更新部13の訓練は、出力(更新)された記述子の損失関数を用いて、通常の誤差逆伝播に準じた手法に従い、例えば上式(7)のα(l)及びβ(l)や繰り返し回数Lも含めた各種パラメータの学習を行うことによって、実施可能となっている。なお、繰り返し回数Lは、学習対象とせず、予め設定された値とすることも可能である。
【0083】
[画像記述子更新方法]
図3は、本発明による画像記述子更新方法の一実施形態における概略を示すフローチャートである。以下、本方法のステップS101~S106における処理の流れを説明する。
【0084】
(S101)元画像A及び対象画像Bのキーポイント群(AK,BK)及び記述子群(AD,BD)を、外部から取得する。
(S102)取得されたこれらの画像特徴量を用いてキーポイントマッチング処理を実施する。
【0085】
次いで以下、ステップS103~S105を所定回数(L回)繰り返すグラフ生成・記述子更新処理を実施する。ちなみに、この所定回数を、例えば4~8回(4≦L≦8)とすることによって、良好な結果の得られることが確認されている。
(S103)初回はステップS102のキーポイントマッチング結果を用い、2回目以降は後述するステップS105の処理結果(更新された記述子)を用い、元画像A及び対象画像Bの各々について、セルフアテンション用エッジを含むセルフアテンション用グラフ、及びクロスアテンション用エッジを含むクロスアテンション用グラフを生成する。
【0086】
(S104)生成されたセルフアテンション用グラフを用いて、元画像A及び対象画像Bの各々の記述子に対し、セルフアテンション処理を実施する。
(S105)セルフアテンション処理済みの元画像A及び対象画像Bの各々の記述子に対し、クロスアテンション処理を実施し、更新された記述子を生成する。
【0087】
(S106)所定回数(L回)終了後のステップS105において生成された更新された記述子を、元画像A及び対象画像Bの更新された記述子群(AD*,BD*)として出力する。
【0088】
[画像マッチング装置・プログラム]
図1に戻って、同図の下部に示した本実施形態の画像マッチング装置9は、
(a)画像マッチング対象である元画像A及び対象画像Bを取り入れる入力部91と、
(b)取り入れられた元画像A及び対象画像Bの各々から、キーポイント群(
AK,
BK)及び記述子群(
AD,
BD)を抽出する画像特徴量抽出部92と、
(c)以上に詳細に説明した画像記述子更新モデル1を用いて、抽出された記述子群(
AD,
BD)を更新し、更新された記述子群(
AD
*,
BD
*)を出力する画像記述子更新部93と、
(d)抽出されたキーポイント群(
AK,
BK)及び更新された記述子群(
AD
*,
BD
*)を用いて、元画像A及び対象画像Bの画像マッチング処理を実施する画像マッチング部94と、
(e)上記(d)の画像マッチング結果(マッチするキーポイントの組)を外部に提供する出力部95と
を有している。
【0089】
ここで、画像特徴量抽出部92、画像記述子更新部93及び画像マッチング部94は、本発明による画像マッチング方法の一実施形態を実施する主要機能構成部であり、さらに、本発明による画像マッチングプログラムの一実施形態を保存したプロセッサ・メモリの機能となっている。またこのことから、画像マッチング装置9は、画像マッチング処理の専用装置であってもよいが、本発明による画像マッチングプログラムを搭載した、例えばクラウドサーバ、非クラウドのサーバ装置、パーソナル・コンピュータ(PC)、ノート型若しくはタブレット型コンピュータ、又はスマートフォン等とすることも可能である。
【0090】
さらに、入力部91は、例えば通信機能を備えていて外部の情報処理装置、例えばカメラ画像管理サーバ等から元画像A及び対象画像Bを受信するものであってもよく、または、ユーザが直接元画像A及び対象画像Bを入力可能なUSB(Universal Serial Bus)等のインタフェースとすることもできる。また、出力部95も、例えば通信機能を備えていて外部の情報処理装置、例えば画像提供元のカメラ画像管理サーバ等へ画像マッチング結果を送信するものとすることができ、または、画像マッチング結果を表示可能なディスプレイであってもよい。
【0091】
また、画像特徴量抽出部92は、元画像A及び対象画像Bから、SIFTやSuperPointといったような公知の画像特徴量を抽出するものとすることができ、または、エンドツーエンドの学習済みDNN(Deep Neural Network)を用いてキーポイント群(AK,BK)及び記述子群(AD,BD)を生成(抽出)するものであってよい。
【0092】
さらに、画像マッチング部94は本実施形態において、抽出されたキーポイント群(AK,BK)及び更新された記述子群(AD*,BD*)を用い、軽量であって高速度のキーポイントマッチング手法、例えば最近傍マッチング法を実施して、元画像A及び対象画像Bの画像マッチング結果(マッチするキーポイントの組)を出力する。このように、軽量で高速のキーポイントマッチング手法によっても、使用する記述子が、画像記述子更新モデル1で更新されたものであって記述性のより向上した記述子となっているので、より高い精度の画像マッチングを実施することが可能となるのである。
【0093】
例えば1つの典型例として、元画像Aと対象画像Bとが、1つの建造物を互いに異なる視点から撮影したカメラ画像であって、光(日光)の当たり具合い、例えば陰影の具合いも互いに異なったものとなっている場合であっても、本実施形態の画像マッチング装置9によれば、このような両画像のマッチング処理を良好に実施することが可能となるのである。
【0094】
以上詳細に説明したように、本発明によれば、従来その膨大な計算コストが問題となっていたトランスフォーマに頼ることなく、比較的小さな計算コストで済むGAT処理を用いて記述子の更新を行うことができる。すなわち、本発明によれば、より計算コストの抑えられた機械学習ベースの画像マッチング処理を実現することになる記述子更新処理を実施することができる。またその結果、そのような画像マッチング処理も実施可能となるのである。さらにこれにより、例えばリアルタイムで画像検索、視覚的探索や、3D画像構築等を行う画像マッチングアプリケーションも提供可能となる。
【0095】
また、本発明による高精度の画像マッチング処理を、都市内に設置された多数の防犯カメラによる膨大な量のカメラ画像の解析に活かし、トラブル・犯罪発生の予測・検出や、さらには犯人の検挙等を促進することもできる。すなわち本発明によれば、国連が主導する持続可能な開発目標(SDGs)の目標11「都市を包摂的、安全、レジリエントかつ持続可能にする」に貢献することも可能となるのである。
【0096】
さらに、本発明による高精度の画像マッチング処理を、対象地域、特に農作地帯、森林地帯や、乾燥地帯の衛星写真や航空写真、さらには対象海域の衛星写真や航空写真の解析に活かし、そのような地域・海域における各種状態、例えば作物の生育状況、生態系の現状や、気候変動の影響の調査を行うこともできる。すなわち本発明によれば、国連が主導する持続可能な開発目標(SDGs)における目標13「気候変動とその影響に立ち向かうため、緊急対策を取る」、目標14「海洋と海洋資源を保全し、持続可能な形で利用する」、及び目標15「森林の持続可能な管理、砂漠化への対処、土地劣化の阻止および逆転、ならびに生物多様性損失の阻止を図る」に貢献することも可能となるのである。
【0097】
上述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。以上に述べた説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0098】
1 画像記述子更新モデル
11 キーポイントマッチング部
12 グラフ生成部
13 記述子更新部
131 セルフアテンション処理部
131a、131g、132a、132g Conv1D部
131b、131h、132b、132h Attention部
131c、131i、132c、132i Concatenation部
131d、131j、132d、132j MLP部
131e、131k、132e、132k Memory部
131f、131l、132f、132l 加算器
132 クロスアテンション処理部
9 画像マッチング装置
91 入力部
92 画像特徴量抽出部
93 画像記述子更新部
94 画像マッチング部
95 出力部