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

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

▶ KDDI株式会社の特許一覧

特開2023-1709053次元点を利用したキーポイント生成プログラム、装置及び方法、並びに画像マッチング・カメラ位置姿勢決定プログラム
<>
  • 特開-3次元点を利用したキーポイント生成プログラム、装置及び方法、並びに画像マッチング・カメラ位置姿勢決定プログラム 図1
  • 特開-3次元点を利用したキーポイント生成プログラム、装置及び方法、並びに画像マッチング・カメラ位置姿勢決定プログラム 図2
  • 特開-3次元点を利用したキーポイント生成プログラム、装置及び方法、並びに画像マッチング・カメラ位置姿勢決定プログラム 図3
  • 特開-3次元点を利用したキーポイント生成プログラム、装置及び方法、並びに画像マッチング・カメラ位置姿勢決定プログラム 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023170905
(43)【公開日】2023-12-01
(54)【発明の名称】3次元点を利用したキーポイント生成プログラム、装置及び方法、並びに画像マッチング・カメラ位置姿勢決定プログラム
(51)【国際特許分類】
   G06T 7/70 20170101AFI20231124BHJP
   G06V 10/40 20220101ALI20231124BHJP
【FI】
G06T7/70 Z
G06V10/40
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022083000
(22)【出願日】2022-05-20
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100135068
【弁理士】
【氏名又は名称】早原 茂樹
(74)【代理人】
【識別番号】100141313
【弁理士】
【氏名又は名称】辰巳 富彦
(72)【発明者】
【氏名】スワンウィモンクン スウィーチャヤ
(72)【発明者】
【氏名】小森田 賢史
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096AA09
5L096CA05
5L096DA01
5L096FA32
5L096FA66
5L096FA67
5L096FA69
5L096JA11
5L096KA09
(57)【要約】
【課題】目的画像とのマッチングに使用可能な対象画像のキーポイントを、膨大な演算時間を必要とするトランスフォーマ等の機械学習モデルによらずに生成可能なプログラムを提供する。
【解決手段】ある画像グループに含まれる対象画像と目的画像とのマッチングに使用可能な、対象画像のキーポイントを生成する本プログラムは、マッチするキーポイント又はカメラ情報の観点から、対象画像と比較して目的画像とのマッチングがより容易であるとみなされるこの画像グループ内の高信頼画像を決定する手段と、高信頼画像のキーポイントを、高信頼画像のカメラ情報を用いてカメラ座標系での3次元(3D)ポイントに変換し、3Dポイントから、対象画像に係るカメラ座標系での対象3Dポイントを生成する手段と、対象3Dポイントから、対象画像に係るカメラ情報を用いて対象画像についてのキーポイントを生成する手段としてコンピュータを機能させる。
【選択図】図1
【特許請求の範囲】
【請求項1】
目的画像と画像グループに含まれる対象画像とのマッチングに使用可能な、当該対象画像のキーポイントを生成するキーポイント生成プログラムであって、
当該画像グループに含まれる高信頼画像であって、マッチするキーポイント又はカメラ情報の観点から、当該対象画像と比較して当該目的画像とのマッチングがより容易であるとみなされる高信頼画像を決定する画像信頼性決定手段と、
当該高信頼画像のキーポイントを、当該高信頼画像に係るカメラ情報を用いて当該高信頼画像に係るカメラ座標系での3次元(3D)ポイントに変換し、当該3Dポイントから、当該対象画像に係るカメラ座標系での対象3Dポイントを生成する対象3Dポイント生成手段と、
当該対象3Dポイントから、当該対象画像に係るカメラ情報を用いて当該対象画像についてのキーポイントを生成する対象キーポイント生成手段と
してコンピュータを機能させることを特徴とするキーポイント生成プログラム。
【請求項2】
前記画像信頼性決定手段は、複数の当該高信頼画像を決定し、
前記対象3Dポイント生成手段は、当該複数の高信頼画像の各々におけるキーポイントであって当該目的画像とマッチするキーポイントを用いて、当該複数の高信頼画像の各々に係る当該対象3Dポイントを生成し、
前記対象キーポイント生成手段は、当該複数の高信頼画像の各々に係る当該対象3Dポイントから、当該対象画像についての複数の当該キーポイントを生成する
ことを特徴とする請求項1に記載のキーポイント生成プログラム。
【請求項3】
当該画像グループは、ある画像群に含まれる画像を、当該画像に係るカメラの位置姿勢に基づき分類することによって複数生成されたもののうちの1つであることを特徴とする請求項1又は2に記載のキーポイント生成プログラム。
【請求項4】
前記画像信頼性決定手段は、当該画像グループに含まれる画像における当該目的画像とマッチするキーポイントの割合若しくは数に基づき、又は、当該画像グループに含まれる画像に係るカメラの位置と当該画像群に係るカメラの代表位置との距離に基づき、当該高信頼画像を決定することを特徴とする請求項3に記載のキーポイント生成プログラム。
【請求項5】
前記画像信頼性決定手段は、当該高信頼画像を決定する際、当該マッチするキーポイントの割合若しくは数に基づくか又は当該距離に基づくかを、当該画像グループに含まれる画像に係るカメラの位置と当該画像群に係るカメラの代表位置との相対的な関係によって決定することを特徴とする請求項4に記載のキーポイント生成プログラム。
【請求項6】
目的画像と画像グループに含まれる対象画像とのマッチングを行う画像マッチングプログラムであって、
当該画像群は、当該画像群に含まれる画像を、当該画像に係るカメラの位置姿勢に基づき分類することによって生成された複数の画像グループに区分けされており、
当該画像グループ毎に、当該画像グループに含まれる高信頼画像であって、マッチするキーポイント又はカメラ情報の観点から、当該対象画像と比較して当該目的画像とのマッチングがより容易であるとみなされる高信頼画像を決定する画像信頼性決定手段と、
当該画像グループ毎に、当該高信頼画像のキーポイントを、当該高信頼画像に係るカメラ情報を用いて当該高信頼画像に係るカメラ座標系での3Dポイントに変換し、当該3Dポイントから、当該対象画像に係るカメラ座標系での対象3Dポイントを生成する対象3Dポイント生成手段と、
当該画像グループ毎に、当該対象3Dポイントから、当該対象画像に係るカメラ情報を用いて当該対象画像についてのキーポイントを生成する対象キーポイント生成手段と、
生成した当該対象画像のキーポイントを用いて当該対象画像についてのデンス記述子(dense descriptor)を生成し、当該デンス記述子を用いて当該対象画像と当該目的画像とのマッチングを行うマッチング手段と
してコンピュータを機能させることを特徴とする画像マッチングプログラム。
【請求項7】
画像群に含まれる画像を用いて目的画像に係るカメラの位置姿勢を決定するカメラ位置姿勢決定プログラムであって、
当該画像群は、当該画像群に含まれる画像を、当該画像に係るカメラの位置姿勢に基づき分類することによって生成された複数の画像グループに区分けされており、
当該画像グループ毎に、当該画像グループに含まれる高信頼画像であって、マッチするキーポイント又はカメラ情報の観点から、当該対象画像と比較して当該目的画像とのマッチングがより容易であるとみなされる高信頼画像を決定する画像信頼性決定手段と、
当該画像グループ毎に、当該高信頼画像のキーポイントを、当該高信頼画像に係るカメラ情報を用いて当該高信頼画像に係るカメラ座標系での3Dポイントに変換し、当該3Dポイントから、当該対象画像に係るカメラ座標系での対象3Dポイントを生成する対象3Dポイント生成手段と、
当該画像グループ毎に、当該対象3Dポイントから、当該対象画像に係るカメラ情報を用いて当該対象画像についてのキーポイントを生成する対象キーポイント生成手段と、
生成した当該キーポイントを用いた当該対象画像と当該目的画像とのマッチング結果を用いて、当該画像グループの各々における当該対象画像に基づくカメラの位置姿勢を導出し、当該高信頼画像と当該目的画像とのマッチング結果を用いて、当該画像グループの各々における当該高信頼画像に基づくカメラの位置姿勢を導出して、導出された複数の当該カメラの位置姿勢から、当該目的画像に係るカメラの位置姿勢を決定するカメラ位置姿勢決定手段と
してコンピュータを機能させることを特徴とするカメラ位置姿勢決定プログラム。
【請求項8】
前記カメラ位置姿勢決定手段は、生成した当該対象画像のキーポイントを用いて当該対象画像についてのデンス記述子を生成し、当該デンス記述子を用いて当該対象画像と当該目的画像とのマッチングを行い、当該対象画像と当該目的画像とのマッチング結果を生成することを特徴とする請求項7に記載のカメラ位置姿勢決定プログラム。
【請求項9】
前記カメラ位置姿勢決定手段は、当該高信頼画像と当該目的画像とのマッチング結果を用いて導出されたカメラの位置姿勢と、当該対象画像と当該目的画像とのマッチング結果を用いて導出されたカメラの位置姿勢とに対し、個別の重みを付加した重み付け平均を行った結果を、当該目的画像に係るカメラの位置姿勢に決定することを特徴とする請求項7又は8に記載のカメラ位置姿勢決定プログラム。
【請求項10】
目的画像と画像グループに含まれる対象画像とのマッチングに使用可能な、当該対象画像のキーポイントを生成するキーポイント生成装置であって、
当該画像グループに含まれる高信頼画像であって、マッチするキーポイント又はカメラ情報の観点から、当該対象画像と比較して当該目的画像とのマッチングがより容易であるとみなされる高信頼画像を決定する画像信頼性決定手段と、
当該高信頼画像のキーポイントを、当該高信頼画像に係るカメラ情報を用いて当該高信頼画像に係るカメラ座標系での3Dポイントに変換し、当該3Dポイントから、当該対象画像に係るカメラ座標系での対象3Dポイントを生成する対象3Dポイント生成手段と、
当該対象3Dポイントから、当該対象画像に係るカメラ情報を用いて当該対象画像についてのキーポイントを生成する対象キーポイント生成手段と
を有することを特徴とするキーポイント生成装置。
【請求項11】
目的画像と画像グループに含まれる対象画像とのマッチングに使用可能な、当該対象画像のキーポイントを生成するキーポイント生成方法であって、
当該画像グループに含まれる高信頼画像であって、マッチするキーポイント又はカメラ情報の観点から、当該対象画像と比較して当該目的画像とのマッチングがより容易であるとみなされる高信頼画像を決定するステップと、
当該高信頼画像のキーポイントを、当該高信頼画像に係るカメラ情報を用いて当該高信頼画像に係るカメラ座標系での3Dポイントに変換し、当該3Dポイントから、当該対象画像に係るカメラ座標系での対象3Dポイントを生成するステップと、
当該対象3Dポイントから、当該対象画像に係るカメラ情報を用いて当該対象画像についてのキーポイントを生成するステップと
を有することを特徴とする、コンピュータによって実施されるキーポイント生成方法。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像から位置特定(visual localization)を行う画像位置特定技術に関する。
【背景技術】
【0002】
画像位置特定技術は、例えば自動運転車や自律走行ロボット等が自らの現在位置を知るための要となる技術であり、現在盛んに開発が進められている。
【0003】
この技術において重要となるのは、その位置を特定したい目的画像としてのクエリ画像と、画像データベース内の画像との間の類似性(相似性,similarity)の判定処理である。ここで一般に、類似性判定精度の向上を目指して、2つのタイプの類似性、いわゆる大域類似性(global similarity)と局所類似性(local feature similarity)とが用いられる。
【0004】
このうち大域類似性は、画像データベースから、ある与えられた位置についてより類似する画像群を検索する際に用いられる。次いで、もう一方の局所類似性を用いて検索された各画像とクエリ画像とのマッチング処理を行い、これにより、クエリ画像に係るカメラの位置姿勢(camera pose)、具体的にはその位置と向きを推定するのである。
【0005】
例えば、特許文献1及び2には、最初に画像データベースからクエリ画像と関連する画像群を検索し、次いで画像のキーポイント(keypoints)を用いて検索された各画像とクエリ画像とのキーポイントマッチング処理を行い、最後にこのマッチング結果を用いてクエリ画像に係るカメラの位置姿勢を求める、といったような典型的な画像位置特定技術が開示されている。
【0006】
また、画像間の類似性判定精度の更なる向上を図るべく、例えば上記の特許文献2や非特許文献1に開示された技術では、画像検索処理及びキーポイントマッチング処理の両方に適用可能な普遍的特徴量(universal features)が採用されている。具体的に特許文献2の技術では、大域特徴量(global features)を、キーポイントマッチング処理に用いる局所特徴量(local features)に融合させて使用している。また、非特許文献1の技術では、局所特徴量及び大域特徴量の両方と適合可能な階層的特徴量(hierarchical features)が採用されている。
【0007】
さらに、例えば非特許文献2に開示された技術は、深層学習モデルであるトランスフォーマ(Transformer)を用いて、局所特徴量によるマッチング処理の精度向上を図っている。ここでトランスフォーマを利用することによって、視点や照度の点で大きく相違する画像間のキーポイントマッチング処理を、より精度良く行うことが可能になるとしている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】国際公開第2014/044852号
【特許文献2】米国特許出願公開第2013/0121600号明細書
【非特許文献】
【0009】
【非特許文献1】Paul-Edouard Sarlin, Cesar Cadena, Roland Siegwart, Marcin Dymczyk, “From Coarse to Fine: Robust Hierarchical Localization at Large Scale”, Proceedings of 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), <https://doi.org/10.1109/CVPR.2019.01300>, 2019年
【非特許文献2】Paul-Edouard Sarlin, Daniel DeTone, Tomasz Malisiewicz, and Andrew Rabinovich, “Superglue: Learning Feature Matching with Graph Neural Networks”, Proceedings of 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), <https://doi.org/10.48550/arXiv.1911.11763>, 2020年
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、以上に述べたような従来技術をもってしても、画像検索処理の目的とキーポイントマッチング処理の目的とに本質的な隔たりが依然存在し、それ故、最終的に良好な画像位置特定を行うことが困難になる場合も少なくない、との問題を解消するには至っていない。
【0011】
実際、画像検索処理においては従来、画像データベースから、クエリ画像と関連性のより高い画像を見つけ出す工夫がなされており、例えばクエリ画像と同じ目標(例えば建物等のランドマーク)を含む画像ができるだけ多く検索されるようになっている。したがって検索された画像群の中には、例えば「(クエリ画像と比較して)同じ目標を大きく異なる視点や大きく異なる照度で撮影した結果としての画像」が相当に含まれている可能性も低くない。
【0012】
一方、キーポイントマッチング処理においては従来、画像における局所的な特徴、具体的にはピクセル単位の特徴に焦点を当て、局所類似性を用いてマッチングを行っている。したがって、例えば上述したような「画像」とクエリ画像とについては、そもそも対応するキーポイントを十分に得ることができず、したがって、キーポイントマッチング処理のロバスト(頑健)性や精度が低下してしまうのである。またその結果、クエリ画像の位置特定(カメラの位置姿勢推定)の精度を向上させることも困難になってしまう。
【0013】
この点、特許文献2や非特許文献1に開示された普遍的特徴量をもってしても実際には、画像検索処理及びキーポイントマッチング処理の両方の最適化を達成するには至っていない。また、非特許文献2に開示されたトランスフォーマを利用した技術によればたしかに、例えば視点の大きく異なる画像間のマッチング処理の精度を向上させることが可能となる。しかしながら、この技術は通常、マッチング処理のために膨大な演算時間を必要とし、例えば画像位置特定結果を自律移動体で活かすようなリアルタイム性の要求される用途には到底、適用できない。
【0014】
そこで、本発明は、目的画像(クエリ画像)とのマッチングに使用可能な対象画像のキーポイントを、膨大な演算時間を必要とするトランスフォーマ等の機械学習モデルによらずに生成可能なキーポイント生成プログラム、装置及び方法を提供することを目的とする。また、このようなキーポイント生成処理を実施して、より好適な画像マッチングを行うことができる画像マッチングプログラム、及びより好適な目的画像に係るカメラの位置姿勢を決定することができるカメラ位置姿勢決定プログラムを提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明によれば、目的画像と画像グループに含まれる対象画像とのマッチングに使用可能な、当該対象画像のキーポイントを生成するキーポイント生成プログラムであって、
当該画像グループに含まれる高信頼画像であって、マッチするキーポイント又はカメラ情報の観点から、当該対象画像と比較して当該目的画像とのマッチングがより容易であるとみなされる高信頼画像を決定する画像信頼性決定手段と、
当該高信頼画像のキーポイントを、当該高信頼画像に係るカメラ情報を用いて当該高信頼画像に係るカメラ座標系での3次元(3D)ポイントに変換し、当該3Dポイントから、当該対象画像に係るカメラ座標系での対象3Dポイントを生成する対象3Dポイント生成手段と、
当該対象3Dポイントから、当該対象画像に係るカメラ情報を用いて当該対象画像についてのキーポイントを生成する対象キーポイント生成手段と
してコンピュータを機能させるキーポイント生成プログラムが提供される。
【0016】
この本発明によるキーポイント生成プログラムにおいて、画像信頼性決定手段は、複数の当該高信頼画像を決定し、
対象3Dポイント生成手段は、当該複数の高信頼画像の各々におけるキーポイントであって当該目的画像とマッチするキーポイントを用いて、当該複数の高信頼画像の各々に係る当該対象3Dポイントを生成し、
対象キーポイント生成手段は、当該複数の高信頼画像の各々に係る当該対象3Dポイントから、当該対象画像についての複数の当該キーポイントを生成することも好ましい。
【0017】
また、当該画像グループは、ある画像群に含まれる画像を、当該画像に係るカメラの位置姿勢に基づき分類することによって複数生成されたもののうちの1つであることも好ましい。
【0018】
さらに、本発明によるキーポイント生成プログラムの一実施形態として、画像信頼性決定手段は、当該画像グループに含まれる画像における当該目的画像とマッチするキーポイントの割合若しくは数に基づき、又は、当該画像グループに含まれる画像に係るカメラの位置と当該画像群に係るカメラの代表位置との距離に基づき、当該高信頼画像を決定することも好ましい。
【0019】
また、この実施形態において、画像信頼性決定手段は、当該高信頼画像を決定する際、当該マッチするキーポイントの割合若しくは数に基づくか又は当該距離に基づくかを、当該画像グループに含まれる画像に係るカメラの位置と当該画像群に係るカメラの代表位置との相対的な関係によって決定することも好ましい。
【0020】
本発明によれば、また、目的画像と画像グループに含まれる対象画像とのマッチングを行う画像マッチングプログラムであって、
当該画像群は、当該画像群に含まれる画像を、当該画像に係るカメラの位置姿勢に基づき分類することによって生成された複数の画像グループに区分けされており、
当該画像グループ毎に、当該画像グループに含まれる高信頼画像であって、マッチするキーポイント又はカメラ情報の観点から、当該対象画像と比較して当該目的画像とのマッチングがより容易であるとみなされる高信頼画像を決定する画像信頼性決定手段と、
当該画像グループ毎に、当該高信頼画像のキーポイントを、当該高信頼画像に係るカメラ情報を用いて当該高信頼画像に係るカメラ座標系での3Dポイントに変換し、当該3Dポイントから、当該対象画像に係るカメラ座標系での対象3Dポイントを生成する対象3Dポイント生成手段と、
当該画像グループ毎に、当該対象3Dポイントから、当該対象画像に係るカメラ情報を用いて当該対象画像についてのキーポイントを生成する対象キーポイント生成手段と、
生成した当該対象画像のキーポイントを用いて当該対象画像についてのデンス記述子(dense descriptor)を生成し、当該デンス記述子を用いて当該対象画像と当該目的画像とのマッチングを行うマッチング手段と
してコンピュータを機能させる画像マッチングプログラムが提供される。
【0021】
本発明によれば、さらに、画像群に含まれる画像を用いて目的画像に係るカメラの位置姿勢を決定するカメラ位置姿勢決定プログラムであって、
当該画像群は、当該画像群に含まれる画像を、当該画像に係るカメラの位置姿勢に基づき分類することによって生成された複数の画像グループに区分けされており、
当該画像グループ毎に、当該画像グループに含まれる高信頼画像であって、マッチするキーポイント又はカメラ情報の観点から、当該対象画像と比較して当該目的画像とのマッチングがより容易であるとみなされる高信頼画像を決定する画像信頼性決定手段と、
当該画像グループ毎に、当該高信頼画像のキーポイントを、当該高信頼画像に係るカメラ情報を用いて当該高信頼画像に係るカメラ座標系での3Dポイントに変換し、当該3Dポイントから、当該対象画像に係るカメラ座標系での対象3Dポイントを生成する対象3Dポイント生成手段と、
当該画像グループ毎に、当該対象3Dポイントから、当該対象画像に係るカメラ情報を用いて当該対象画像についてのキーポイントを生成する対象キーポイント生成手段と、
生成した当該キーポイントを用いた当該対象画像と当該目的画像とのマッチング結果に基づき、当該画像グループの各々についてカメラの位置姿勢を導出し、当該高信頼画像と当該目的画像とのマッチング結果に基づき、当該画像グループの各々についてカメラの位置姿勢を導出して、導出された複数の当該カメラの位置姿勢から、当該目的画像に係るカメラの位置姿勢を決定するカメラ位置姿勢決定手段と
してコンピュータを機能させるカメラ位置姿勢決定プログラムが提供される。
【0022】
この本発明によるカメラ位置姿勢決定プログラムの一実施形態として、カメラ位置姿勢決定手段は、生成した当該対象画像のキーポイントを用いて当該対象画像についてのデンス記述子を生成し、当該デンス記述子を用いて当該対象画像と当該目的画像とのマッチングを行い、当該対象画像と当該目的画像とのマッチング結果を生成することも好ましい。
【0023】
また、本発明によるカメラ位置姿勢決定プログラムの他の実施形態として、カメラ位置姿勢決定手段は、当該高信頼画像と当該目的画像とのマッチング結果に基づき導出されたカメラの位置姿勢と、当該対象画像と当該目的画像とのマッチング結果に基づき導出されたカメラの位置姿勢とに対し、個別の重みを付加した重み付け平均を行った結果を、当該目的画像に係るカメラの位置姿勢に決定することも好ましい。
【0024】
本発明によれば、また、目的画像と画像グループに含まれる対象画像とのマッチングに使用可能な、当該対象画像のキーポイントを生成するキーポイント生成装置であって、
当該画像グループに含まれる高信頼画像であって、マッチするキーポイント又はカメラ情報の観点から、当該対象画像と比較して当該目的画像とのマッチングがより容易であるとみなされる高信頼画像を決定する画像信頼性決定手段と、
当該高信頼画像のキーポイントを、当該高信頼画像に係るカメラ情報を用いて当該高信頼画像に係るカメラ座標系での3Dポイントに変換し、当該3Dポイントから、当該対象画像に係るカメラ座標系での対象3Dポイントを生成する対象3Dポイント生成手段と、
当該対象3Dポイントから、当該対象画像に係るカメラ情報を用いて当該対象画像についてのキーポイントを生成する対象キーポイント生成手段と
を有するキーポイント生成装置が提供される。
【0025】
本発明によれば、さらに、目的画像と画像グループに含まれる対象画像とのマッチングに使用可能な、当該対象画像のキーポイントを生成するキーポイント生成方法であって、
当該画像グループに含まれる高信頼画像であって、マッチするキーポイント又はカメラ情報の観点から、当該対象画像と比較して当該目的画像とのマッチングがより容易であるとみなされる高信頼画像を決定するステップと、
当該高信頼画像のキーポイントを、当該高信頼画像に係るカメラ情報を用いて当該高信頼画像に係るカメラ座標系での3Dポイントに変換し、当該3Dポイントから、当該対象画像に係るカメラ座標系での対象3Dポイントを生成するステップと、
当該対象3Dポイントから、当該対象画像に係るカメラ情報を用いて当該対象画像についてのキーポイントを生成するステップと
を有することを特徴とする、コンピュータによって実施されるキーポイント生成方法が提供される。
【発明の効果】
【0026】
本発明のキーポイント生成プログラム、装置及び方法によれば、目的画像(クエリ画像)とのマッチングに使用可能な対象画像のキーポイントを、膨大な演算時間を必要とするトランスフォーマ等の機械学習モデルによらずに生成することができる。また、本発明の画像マッチングプログラムによれば、このようなキーポイント生成処理を実施してより好適な画像マッチングを行うことが可能となる。さらに、本発明のカメラ位置姿勢決定プログラムによれば、このようなキーポイント生成処理を実施してより好適な目的画像に係るカメラの位置姿勢を決定することができる。
【図面の簡単な説明】
【0027】
図1】本発明によるキーポイント生成装置の一実施形態における機能構成を示す機能ブロック図である。
図2】本発明に係る画像グループ決定処理及び画像信頼性決定処理の一具体例を説明するための模式図及びテーブルである。
図3】本発明に係る対象3Dポイント生成処理及び対象キーポイント生成処理の一具体例を説明するための模式図である。
図4】本発明に係るカメラ位置姿勢決定処理の一具体例を説明するための模式図である。
【発明を実施するための形態】
【0028】
以下、本発明の実施形態について、図面を用いて詳細に説明する。
【0029】
[キーポイント生成装置,カメラ位置姿勢決定装置]
図1は、本発明によるキーポイント生成装置の一実施形態における機能構成を示す機能ブロック図である。
【0030】
図1に示した本実施形態のカメラ位置姿勢決定装置1は、本発明による検索前処理装置の一実施形態にもなっており、その検索前処理として、
(a)画像データベース(DB)2に保存・管理されている画像群から決定された「画像グループ」に含まれるキーポイント生成対象の画像(以後、「対象画像」と略称)と、目的画像としてのクエリ画像とのマッチングに使用可能な「対象画像」のキーポイントを生成するキーポイント生成処理
を実施する装置となっている。またさらに、
(b)上記(a)で生成した「対象画像」のキーポイントを利用して、クエリ画像(目的画像)に係るカメラの位置姿勢を決定するカメラ位置姿勢決定処理
を実施可能な装置にもなっているのである。
【0031】
なお、上記(a)の「画像グループ」は本実施形態において、後述するように、(画像グループ決定部111が)画像データベース2の画像群に含まれる画像を、当該画像に係るカメラの位置姿勢に基づき分類することによって複数生成されたもののうちの1つとなっているが、勿論、例えば所与の画像グループとすることも可能である。また図1では、この画像データベース2はカメラ位置姿勢決定装置1の外部に設置されているが、勿論、同装置の構成要素としてカメラ位置姿勢決定装置1内に設けられていてもよい。
【0032】
ここで上記(a)のキーポイント生成処理を実現するべく、カメラ位置姿勢決定装置1は具体的に、
(A)「画像グループ」に含まれる「高信頼画像」であって、マッチするキーポイント又はカメラ情報の観点から、「対象画像」と比較してクエリ画像(目的画像)とのマッチングがより容易であるとみなされる「高信頼画像」を決定する画像信頼性決定部112と、
(B)「高信頼画像」のキーポイントを、「高信頼画像」に係るカメラ情報を用いて「高信頼画像」に係るカメラ座標系での3次元(3D)ポイントに変換し、生成した3Dポイントから、「対象画像」に係るカメラ座標系での対象3Dポイントを生成する対象3Dポイント生成部113と、
(C)当該対象3Dポイントから、当該対象画像に係るカメラ情報を用いて当該対象画像についてのキーポイントを生成する対象キーポイント生成部114と
を有している。
【0033】
このようにカメラ位置姿勢決定装置1は、「対象画像」のキーポイントを生成するにあたり、「対象画像」と比較してクエリ画像とのマッチングがより容易であるとみなされる「高信頼画像」の3Dポイントを利用している。ここで、この3Dポイントは、「高信頼画像」における信頼性のより高いキーポイントに基づき生成されており、さらに、3次元空間での当該キーポイントの3次元形状上での(3次元の幾何学的な)位置に係る情報となっている。すなわち画像上の2次元ポイントと比較して、画像内容の特徴をより詳細に表す情報となっているのである。
【0034】
その結果、この3Dポイントから生成される「対象画像」のキーポイントは、クエリ画像とのマッチングに関し好適に使用可能なものとなる。またさらに言えば、このようなキーポイントを生成するにあたり、カメラ位置姿勢決定装置1は、例えばトランスフォーマ(Transformer)といったような膨大な演算時間を必要とする機械学習モデルを必要としない。すなわち、クエリ画像とのマッチングに使用可能な対象画像のキーポイントを、膨大な演算時間を必要とするトランスフォーマ等の機械学習モデルによらずに生成することが可能となるのである。またこれにより、「対象画像」のキーポイント生成処理やクエリ画像とのマッチング処理を、クエリ画像を得てリアルタイムで、例えばオンラインで実施することも可能となる。
【0035】
以下、本実施形態のカメラ位置姿勢決定装置(キーポイント生成装置)1における機能構成について、より詳細に説明を行う。
【0036】
[装置機能構成,キーポイント生成プログラム・方法,画像マッチング・カメラ位置姿勢決定プログラム・方法]
図1の機能ブロック図によれば、本発明の一実施形態としてのカメラ位置姿勢決定装置(キーポイント生成装置)1は、入出力インタフェース(IF)部101と、プロセッサ・メモリ(メモリ機能を備えた演算処理系)とを有する。このプロセッサ・メモリは、本発明によるキーポイント生成プログラムを含むカメラ位置姿勢決定プログラムの一実施形態を保存しており、またコンピュータ機能を有していて、このカメラ位置姿勢決定プログラムを実行することによって、カメラ位置姿勢決定処理(キーポイント生成処理)を実施する。
【0037】
このことから、カメラ位置姿勢決定装置(キーポイント生成装置)1は、カメラ位置姿勢決定処理(キーポイント生成処理)専用の装置であってもよいが、本発明によるカメラ位置姿勢決定プログラム(キーポイント生成プログラム)を搭載した、クラウドサーバ、非クラウドサーバ、パーソナル・コンピュータ(PC)、ノート型若しくはタブレット型コンピュータや、スマートフォン等の携帯端末、さらにはHMD(Head Mounted Display)等のウェアラブル端末とすることもできる。
【0038】
さらに、本プロセッサ・メモリは、
(ア)画像グループ決定部111と、キーポイント(KP)ベース信頼性判定部112a及び/又は位置ベース信頼性判定部112bを含む画像信頼性決定部112と、高信頼3Dポイント生成部113aを含む対象3Dポイント生成部113と、対象キーポイント生成部114と、
(イ)マッチング部121aを含むカメラ位置姿勢決定部121と
して機能する。すなわち、これらの機能構成部は、プロセッサ・メモリに保存されたカメラ位置姿勢決定プログラム(キーポイント生成プログラム)の実行によって具現する機能と捉えることができる。また、図1におけるカメラ位置姿勢決定装置(キーポイント生成装置)1の機能構成部間を矢印で接続して示した処理の流れは、本発明によるカメラ位置姿勢決定方法(キーポイント生成方法)の一実施形態としても理解される。
【0039】
ちなみに、上記(ア)の機能構成部を具現させるキーポイント生成プログラムを搭載した装置は、上記(イ)の機能構成を含まなくとも、本発明によるキーポイント生成装置とみなすことができる。この場合、このキーポイント生成装置は、上記(イ)の機能構成部を具現させるプログラムを搭載した装置と合わせて、カメラ位置姿勢決定システムを構成することになる。
【0040】
(画像グループ決定処理)
同じく図1の機能ブロック図において、画像グループ決定部111は本実施形態では、画像データベース2から、クエリ画像Iqに基づき検索された「画像群」を、入出力インタフェース部101を介して取り出し、取り出された「画像群」に含まれる画像を、当該画像に係るカメラの位置姿勢に基づき、複数の「画像グループ」に分類する。
【0041】
ここで、「画像群」の画像データベース2からの検索は、画像の類似度に基づく手法等、種々の画像検索法を用いて実施することができる。例えば、画像データベース2の検索用として提供されている検索サイトを利用して画像検索を行ってもよい。いずれにしても、検索された「画像群」に含まれる画像Iは、クエリ画像Iqとある程度類似する若しくは関連する画像とみなすことができるのである。
【0042】
また、複数の「画像グループ」を生成する際に用いる各画像のカメラの位置姿勢としては、画像データベース2に保存・管理されている画像に予め紐づけられたカメラ位置姿勢(camera pose)情報を用いることができる。実際、保存・管理している各画像に対し、例えばSfM(Structure from Motion)を用いて予め推定しておいたカメラ位置姿勢(camera pose)情報を紐づけている画像データベースも、少なからず存在する。また変更態様として、画像グループ決定部111が、例えばSfMを用い、検索された「画像群」の各画像のカメラ位置姿勢データを決定することも可能である。なおいずれにしても、後に詳細に説明するように、本カメラ位置姿勢決定装置1は、ここで紐づけられている(又は決定された)カメラの位置姿勢から導出される情報を利用して、最終的に精度のより高い(クエリ画像Iqに係る)カメラの位置姿勢を決定するものとなっているのである。
【0043】
次いで、画像グループ決定部111は、(画像データベース2から検索された)画像群Gの各画像に係る取得されたカメラの位置姿勢(カメラの位置及びカメラの向き)に基づき、複数の画像グループ(G1, G2, ・・・,G=G1∪G2∪・・・)を生成する。
【0044】
具体的に、画像グループ決定部111は本実施形態において、画像群Gに含まれる全画像についての「カメラの位置の平均値」及び「カメラの向きの平均値」を算出し(以下、このような平均的な仮想のカメラをカメラセントロイドと称する)、
(a)カメラセントロイドの向きを前として、カメラセントロイドの右側(例えば右側の真横からみて前方に90°傾いた向きから後方に44.9°傾いた向きまでの範囲)にカメラの位置が存在する画像を、画像グループG1に属するものとし、
(b)カメラセントロイドの向きを前として、カメラセントロイドの後方(例えば真後ろからみて右方に45°傾いた向きから左方に45°傾いた向きまでの範囲)にカメラの位置が存在する画像を、画像グループG2に属するものとし、
(c)カメラセントロイドの向きを前として、カメラセントロイドの左側(例えば左側の真横からみて前方に89.9°傾いた向きから後方に44.9°傾いた向きまでの範囲)にカメラの位置が存在する画像を、画像グループG3に属するものとし、
以上のようにして、画像グループ(G1,G2,G3)を生成する。
【0045】
ここで、上述したカメラセントロイドは、画像群Gに含まれるN個の画像における各画像Ii(i=1, 2, ・・・, N)について、カメラの位置を(Xi, Yi, Zi)とし、カメラの向きを(αi, βi, θi)(αはロール角,βはピッチ角,θはヨー角)とすると、次式
【数1】
をもって決定される。すなわち、カメラセントロイドの位置はCentroidpositionとなり、向きはCentroidorientationとなるのである。
【0046】
なお勿論、画像グループの生成は、上記のものに限定されるものではない。例えば、各画像に係るカメラの向きによって画像グループへの分類を行うこともできる。また、上記(a)~(c)についてさらに、当該画像に係るカメラの向きの(範囲に係る)分類条件を付けくわえてもよい。さらに、カメラセントロイドを基準とせず、各画像に係るカメラの位置の相対関係に基づき、例えば位置に関してクラスタリング処理を行って、各画像の分類を行うことも可能である。ちなみに、後に説明する図2では、画像群Gの画像を上述した画像グループG1及びG2の2つに分類する具体例が示されている。
【0047】
(画像信頼性決定処理)
同じく図1の機能ブロック図において、画像信頼性決定部112は本実施形態では、各画像グループGi(i=1, 2, 3)において、
(ア)マッチするキーポイント又はカメラ情報の観点から、クエリ画像Iqとのマッチングがより容易であるとみなされる高信頼画像IR(∈ReGi:後述する高信頼画像群)と、
(イ)マッチするキーポイント又はカメラ情報の観点から、クエリ画像Iqとのマッチングがより困難であるとみなされる低信頼画像IW(∈WGi:後述する低信頼画像群)と
を決定する。
【0048】
ここで、上記(イ)の低信頼画像IRは、キーポイント生成対象である上記(A)の「対象画像」に相当する。すなわち、上記(ア)の高信頼画像IRは、低信頼画像IW(対象画像)と比較してクエリ画像Iqとのマッチングがより容易であるとみなされる画像になっているとも言える。
【0049】
具体的には最初に、画像信頼性決定部112のKPベース信頼性判定部112aは、
<KPベース信頼性判定> 例えば最近傍マッチング(nearest neighbor matching)法を用いて、画像グループGiに含まれている画像I毎に、当該画像Iにおける特徴点(キーポイント,keypoints)を検出した上で、クエリ画像Iqとのキーポイントマッチング処理を実施し、クエリ画像Iqとマッチするキーポイントの(検出された全キーポイントに対する)割合Ra、若しくは当該キーポイントの数に基づき、当該画像Iの信頼レベルRE(I)(=最高, 高, 中, 低)を判定・決定する。
【0050】
なお、この<KPベース信頼性判定>は、例えば視点や照度の大きく異なる画像同士は通常、マッチするキーポイントがより少なく、反対に、視点や照度に関し同様となっている画像同士は、マッチするキーポイントがより多い可能性が高いことに基づいている。
【0051】
一方、画像信頼性決定部112の位置ベース信頼性判定部112bは、
<位置ベース信頼性判定> 画像グループGiに含まれている画像I毎に、当該画像Iに係るカメラの位置と画像群Gに係るカメラの代表位置(本実施形態では、カメラセントロイドの位置)との距離Dを算出し、算出された距離Dに基づき、当該画像Iの信頼レベルRE(I)(=最高, 高, 中, 低)を判定・決定する。
【0052】
ここで、この<位置ベース信頼性判定>は、(クエリ画像Iqに基づき検索された)画像群Gのカメラセントロイドの位置姿勢は、概ねクエリ画像Iqに係るカメラの位置姿勢に近いものになっている可能性が高いことに基づいている。
【0053】
図2は、本発明に係る画像グループ決定処理及び画像信頼性決定処理の一具体例を説明するための模式図及びテーブルである。
【0054】
最初に図2(A)に示したように、画像グループ決定部111は本具体例において、ランドマーク(地理的目標)を含む10個の画像Ii(i=1, 2, ・・・, 10)を、
(a)カメラセントロイドの右側にカメラの位置が存在する画像I1~I4を含む画像グループG1と、
(b)カメラセントロイドの後方にカメラの位置が存在する画像I5~I10を含む画像グループG2と
に分類している。
【0055】
次いで画像信頼性決定部112は、各画像グループ(G1, G2)において高信頼画像IR及び低信頼画像IWを決定するにあたり、<KPベース信頼性判定>を行うか、又は<位置ベース信頼性判定>を行うかを、画像グループに含まれる画像に係るカメラの位置と画像群Gに係るカメラの代表位置(カメラセントロイドの位置)との相対的な関係によって決定する。例えば、ある画像グループに含まれる画像に係るカメラの位置とカメラセントロイドの位置との距離の分散が所定閾値よりも大きい場合、当該画像グループには<位置ベース信頼性判定>を適用し、一方、当該距離の分散が所定閾値以下となる画像グループには<KPベース信頼性判定>を適用することも可能である。
【0056】
なお本具体例では、ランドマークを概ねその側面から捉えていると考えられ、その結果、カメラセントロイドとの距離よりもマッチするキーポイントの数に大きな違いがみられる可能性の高い画像I1~I4を含む画像グループG1に対し、<KPベース信頼性判定>を行っている。一方、ランドマークを概ねその正面から捉えていると考えられ、その結果、マッチするキーポイントの数よりもカメラセントロイドとの距離に大きな違いがみられる可能性の高い画像I5~I10を含む画像グループG2に対し、<位置ベース信頼性判定>を行っているのである。
【0057】
ちなみに、図2(B)のテーブルに、マッチするキーポイントの割合Raが高いほど信頼レベルREも高くなる<KPベース信頼性判定>の具体例、及びカメラセントロイドの位置からの距離Dが小さいほど信頼レベルREが高くなる<位置ベース信頼性判定>の具体例を示している。ここで変更態様として、いずれの画像グループにおいても<KPベース信頼性判定>及び<位置ベース信頼性判定>の一方のみを行うように設定することも可能である。しかしながら本具体例のように両判定を使い分けることによって、より確度の高い信頼レベルREを得ることが可能となるのである。
【0058】
画像信頼性決定部112は、各画像グループ(G1, G2)において以上に述べたような判定処理を実施し、本具体例において、信頼レベルREが'最高’又は'高’と判定された画像を高信頼画像に決定し、信頼レベルREが'中’又は'低’と判定された画像を低信頼画像(対象画像)に決定する。具体的には、
(a)画像グループG1において、信頼レベルREが'中’と判定された画像I1及びI2を低信頼画像とし、一方、信頼レベルREが'最高’と判定された画像I3及びI4を高信頼画像とし、
(b)画像グループG2において、信頼レベルREが'高’と判定された画像I5~I7を高信頼画像とし、一方、信頼レベルREが'低’と判定された画像I8~I10を低信頼画像としている。
【0059】
以上に説明した画像信頼性決定処理をまとめると次のようになる。すなわち画像信頼性決定部112は、画像群G(=G1∪G2∪・・・)の各画像グループGi(i=1, 2, ・・・)において、次式
(1) ReGi={I|RE(I)は'最高’又は'高’,I∈Gi}
(2) W Gi={I|RE(I)は'中’又は'低’,I∈Gi}
によって、高信頼画像群ReGi及び低信頼画像群WGi(ReGi∪W Gi=Gi)を決定するのである。
【0060】
ここで、各画像グループGiにおいて決定された高信頼画像群ReGiは、この後、キーポイントの信頼できる投影元として取り扱われ、一方、低信頼画像群WGiは、その投影先として、言い換えると信頼性の高いキーポイントを生成すべき「対象画像」として取り扱われる。すなわち本実施形態において、高信頼画像群ReGiに含まれる少なくとも1つの、好ましくは複数(多数)の高信頼画像IRから検出された複数(多数)のキーポイントを、低信頼画像群WGiに含まれる各低信頼画像IWに投影するのである。
【0061】
なお、投影先となる低信頼画像IWの数が多い場合、この投影処理の演算時間は増大してしまう。したがって総演算時間を低減すべく、各低信頼画像IWにおけるキーポイントの投影元となる高信頼画像IRを、当該低信頼画像IWの近傍のもの(例えばカメラ位置が当該低信頼画像IWに係るカメラ位置から所定距離以内となる高信頼画像IR)に限定することも好ましい。また、そのカメラ位置が当該低信頼画像IWに係るカメラ位置に最も近い高信頼画像IRを、当該低信頼画像IWにおけるキーポイントの投影元とすることも可能である。
【0062】
また変更態様として、画像グループGiには信頼レベルREが'最高’の画像と'高’の画像としか含まれていない場合、'高’の画像を低信頼画像に設定することもできる。さらに、画像グループGiには信頼レベルREが'中’の画像と'低’の画像としか含まれていない場合、'中’の画像を高信頼画像に設定することも可能である。また、無意味な投影処理が実施されることを阻止すべく、各画像グループGiが少なくとも互いに信頼レベルREの異なる2つの画像を含むように、十分な数の異なる画像を含む画像群Gが準備されることも好ましい。
【0063】
(対象3Dポイント生成処理)
図1の機能ブロック図において、対象3Dポイント生成部113は本実施形態において、各画像グループGiにおいて、高信頼画像群ReGiに含まれる高信頼画像IR毎に、
(a)例えば最近傍マッチング法を用いて当該高信頼画像IRのキーポイントを検出し、検出されたキーポイントのうちでクエリ画像Iqとマッチするキーポイントを、当該高信頼画像IRに係るカメラ情報を用いて当該高信頼画像IRに係るカメラ座標系での3Dポイントである「高信頼3Dポイント」に変換し、
(b)変換の結果生成された「高信頼3Dポイント」から、投影先となる低信頼画像IWに係るカメラ座標系での「対象3Dポイント」を生成し、
これにより、各画像グループGiにおいて、高信頼画像群ReGi(から低信頼画像IWへの投影)に係る「対象3Dポイント」を決定する。
【0064】
具体的に上記(a)として、この対象3Dポイント生成部113の高信頼3Dポイント生成部113aは、高信頼画像群ReGiに含まれる高信頼画像IR毎に、当該高信頼画像IRとクエリ画像Iqとのキーポイントマッチングを行い、クエリ画像Iqとマッチするキーポイントのインデックスの組MIq→IR(={(cIq, cIR)})を決定する。ここでcIq及びcIRはそれぞれ、当該高信頼画像IR及びクエリ画像Iqのマッチするキーポイントのインデックスである。またさらに、次式
(3) KIR={[xc, yc]T|c∈cIR}
で表される、当該高信頼画像IRにおけるマッチしたキーポイント群KIRを決定する。ここでxc及びycはぞれぞれ、当該高信頼画像IRに係るx-y画像座標系におけるインデックスcのキーポイントのx座標値及びy座標値である。
【0065】
高信頼3Dポイント生成部113aは次いで、当該高信頼画像IRのキーポイント群KIRに含まれる(xy画像座標系の)キーポイントkIR(=[xc, yc]T, kIR∈KIR)を、次の画像-カメラ間座標変換式
【数2】
を用いて、当該高信頼画像IRに係るX-Y-Zカメラ座標系の3Dポイント(高信頼3Dポイント)pIRに変換し、高信頼3Dポイント群PIR(={pIR})を生成する。ここで、f1及びf2はそれぞれ、当該高信頼画像IRに係るカメラのX方向及びY方向での焦点距離である。また、Z-は、キーポイントkIRに対応するZ方向での深度(高信頼画像IRとの距離)であり、既知である高信頼画像IRの位置によって決まるキーポイントkIRの位置(X-Y-Zカメラ座標系での座標値)から決定されてもよいが、当該カメラにおけるZ方向での平均深度又は補間・外挿深度とすることも好ましい。ここでこの平均深度は、キーポイントkIRから所定距離範囲内にある(高信頼画像IRに係る)複数のキーポイントの深度の平均値であってもよい。また、上記の補間・外挿深度は、キーポイントkIRの近傍にある(高信頼画像IRに係る)複数のキーポイントの深度を、キーポイントkIRの位置に対し補間又は外挿した値とすることができる。
【0066】
次いで上記(b)として、対象3Dポイント生成部113は具体的に、高信頼画像群ReGiに含まれる高信頼画像IR毎に生成されたX-Y-Zカメラ座標系での高信頼3Dポイント群PIRに含まれる高信頼3DポイントpIRを、次のカメラ-カメラ間座標変換式
【数3】
を用いて、クエリ画像Iqに係るU-V-Wカメラ座標系での3Dポイント(対象3Dポイント)pIR→Wに変換し、対象3Dポイント群PIR→W(={pIR→W})を生成する。ここで、CWはこの後キーポイントを生成する(キーポイント投影先としての)低信頼画像IWに係るカメラ位置姿勢(camera pose)行列であって、inv(CIR)は当該高信頼画像IRに係るカメラ位置姿勢行列CIRの逆行列である。また、右辺のX、Y及びZはそれぞれ、X-Y-Zカメラ座標系における高信頼3DポイントpIRのX、Y及びZ座標値となっている。
【0067】
ちなみに、以上説明した対象3Dポイント群PIR→Wは、高信頼画像群ReGiに含まれる高信頼画像IRの各々に係る各キーポイント群KIRについて生成されることになる。
【0068】
(対象キーポイント生成処理)
同じく図1の機能ブロック図において、対象キーポイント生成部114は、対象3Dポイント生成部113から、高信頼画像群ReGiに含まれる高信頼画像IRの各々に係る各キーポイントkIRについて生成された(キーポイント投影先の低信頼画像IWに係るU-V-Wカメラ座標系での)対象3Dポイント群PIR→Wを受け取り、この対象3Dポイント群PIR→Wに含まれる対象3DポイントpIR→Wから、低信頼画像(対象画像)IWに係るカメラ情報を用いてこの低信頼画像(対象画像)IWについてのキーポイントkIR→Wを生成する。
【0069】
具体的に、対象キーポイント生成部114は、U-V-Wカメラ座標系での対象3DポイントPIR→Wを、次のカメラ-画像間座標変換式
【数4】
を用いて、低信頼画像(対象画像)IWに係るx-y座標系でのキーポイントkIR→Wに変換する。ここで、f1及びf2はそれぞれ、低信頼画像(対象画像)IWに係るカメラのU方向及びV方向での焦点距離である。また、右辺のU、V及びWはそれぞれ、U-V-Wカメラ座標系における対象3DポイントpIR→WのU、V及びW座標値となっている。
【0070】
次いで対象キーポイント生成部114は、1つの高信頼画像IRに係る全てのキーポイントkIRから変換・生成されたキーポイントkIR→Wをとりまとめて、キーポイント群KIR→W(={kIR→W})を生成し、さらに、次式
(4) KW=∪IR KIR→W
によって、1つの低信頼画像(対象画像)IWについてのキーポイント群KWを決定する。ここで∪IRは、高信頼画像群ReGiに含まれる全ての高信頼画像IR(∈ReGi)にわたり、当該高信頼画像IRに係るKIR→Wを合わせた集合を形成するユニオン演算子である。
【0071】
また、対象キーポイント生成部114は本実施形態において、画像グループGiの低信頼画像群WGiに含まれる全ての低信頼画像(対象画像)IWについて上述したようなキーポイント群KWを決定し、さらに、このような対象キーポイント決定処理を、全ての画像グループGi(i=1, 2, ・・・)に対し実施していくのである。
【0072】
図3は、本発明に係る対象3Dポイント生成処理及び対象キーポイント生成処理の一具体例を説明するための模式図である。
【0073】
最初に図3(A)によれば、(図2(A)に示した)画像グループG2において、高信頼画像群ReG2に含まれる高信頼画像I5、I6及びI7の各々につき、所与のクエリ画像Iqとマッチするキーポイントを用いて、上述したように低信頼画像I10を対象画像とした対象3Dポイントが生成され、さらにこれらから、低信頼画像I10についてのキーポイント群(KI5→I10, KI6→I10, KI7→I10)が生成・決定されている。本具体例において、これらのキーポイント群KI5→I10、KI6→I10及びKI7→I10に含まれるキーポイントは全て、低信頼画像I10のキーポイントであって、高信頼画像による故に好適なキーポイントとなっているのである。
【0074】
この点、図3(B)によれば、低信頼画像I10上において、最終的に多数(複数)の好適なキーポイントが投影(生成)されていることが理解される。なお、図3(B)では図面の見やすさのため、高信頼画像I5及びI6に係るキーポイント(群)のみが示されている。また本具体例においては、図示していないが、残りの各低信頼画像(I8, I9)に対しても、高信頼画像I5、I6及びI7の各々に基づき、同様にしてキーポイントが投影(生成)されるのである。
【0075】
このように、画像グループGiにおいて、複数(多数)の高信頼画像IR(∈ReGi)を決定しておけば、対象3Dポイント生成部113がこれら複数(多数)の高信頼画像IRの各々に係る複数(多数)の対象3Dポイントを生成し、さらに対象キーポイント生成部114が、これら複数(多数)の対象3Dポイントから、各低信頼画像(対象画像)IW(∈WGi)についての好適なキーポイントを、複数(多数)生成することも可能となる。またその結果、この後、ロバスト(頑健)性及び精度のより高い画像マッチング処理や、カメラ位置姿勢決定処理を実施することもできるのである。
【0076】
以上、図3に示した具体例を用いて、低信頼画像(対象画像)についての好適なキーポイントが生成可能であることを説明したが、このようなキーポイントは当然、低信頼画像(対象画像)に係るマッチング処理に利用することができる。しかしながら、これらの好適なキーポイントは、本実施形態のカメラ位置姿勢決定装置1(図1)において、後に詳細に説明するように、クエリ画像Iqに係るカメラの位置姿勢を推定するのに使用されるのである。
【0077】
ここで、以上説明してきた対象3Dポイント生成処理及び対象キーポイント生成処理についての簡単なまとめを行っておく。本実施形態においてこれらの処理は、次式
(5) KIR(2D高信頼画像座標系)
→PIR(3DX-Y-Zカメラ座標系)→PIR→W(3DU-V-Wカメラ座標系)
→KIR→W(2D低信頼画像座標系)
に示されたフローによって、低信頼画像(対象画像)IWについての好適なキーポイント群KIR→Wを獲得するのである。
【0078】
ここで、途中の3Dポイント群PIRは、クエリ画像Iqとのマッチングがより容易であるとみなされる高信頼画像IRにおける信頼性の高いキーポイントに基づき生成されており、さらに、3次元空間での当該キーポイントの3次元形状上での(3次元の幾何学的な)位置に係る情報となっている。すなわち画像上の2次元ポイントと比較して、画像内容の特徴をより詳細に表す情報となっているのである。その結果、この3Dポイント群PIRから生成される低信頼画像(対象画像)IWについてのキーポイント群KIR→Wは、マッチング処理に関しより好適に使用可能なものとなる。
【0079】
また本実施形態において、このような好適なキーポイントを生成するにあたり、例えばトランスフォーマといったような膨大な演算時間を必要とする機械学習モデルを必要としない。すなわち、低信頼画像(対象画像)IWについての好適なキーポイント群KIR→Wを、膨大な演算時間を必要とするトランスフォーマ等の機械学習モデルによらずに生成することが可能となる。
【0080】
(カメラ位置姿勢決定処理)
図1の機能ブロック図において、カメラ位置姿勢決定部121は、
(a)生成したキーポイント群KW(=∪IR KIR→W)を用いた低信頼画像(対象画像)IWとクエリ画像(目的画像)Iqとのマッチング結果に基づき、画像グループGiの各々における低信頼画像IWに基づく(クエリ画像Iqに係る)カメラの位置姿勢を導出し、また、
(b)高信頼画像IRとクエリ画像(目的画像)Iqとのマッチング結果に基づき、画像グループGiの各々における高信頼画像IRに基づく(クエリ画像Iqに係る)カメラの位置姿勢を導出して、
(c)上記(a)及び(b)で導出された複数のカメラの位置姿勢から、クエリ画像(目的画像)Iqに係るカメラの位置姿勢を決定する。
【0081】
具体的に本実施形態においては、このカメラ位置姿勢決定部121のマッチング部121aは、低信頼画像IWについて生成されたキーポイント群KWを用いて、次式
(6) FW=DW(x,y,:)(x,y)∈KW, DW∈RHW×WW×NF
により、低信頼画像IWの記述子(descriptor)群FWを決定する。ここで、DW(x,y,:)(x,y)∈KWは、例えばS2DNetによって生成される、キーポイント群KWに対応したデンス記述子(dense descriptor)である。また、HW及びWWはそれぞれ、低信頼画像IWにおけるx軸及びy軸方向でのピクセル数であり、NFは、低信頼画像IWにおける記述子の数である。
【0082】
なお、上記のデンス記述子やS2DNetについては、例えば非特許文献:Hugo Germain, Guillaume Bourmaud, Vincent Lepetit, “S2DNet: Learning Accurate Correspondences for Sparse-to-Dense Feature Matching”, Proceedings of European Conference on Computer Vision (ECCV) 2020, pp.626-643, <https://doi.org/10.1007/978-3-030-58580-8_37>, 2020年や、非特許文献:Philipp Lindenberger, Paul-Edouard Sarlin, Viktor Larsson, and Marc Pollefeys, “Pixel-Perfect Structure-from-Motion”, International Conference on Computer Vision (ICCV) 2021, <https://doi.org/10.48550/arXiv.2108.08291>, 2021年において詳しく説明されている。
【0083】
次いでマッチング部121aは、次式
(7) MW=Matching{(Kq, Fq)Iq, (KW, FW)W}
をもって、マッチング結果MW、すなわちクエリ画像Iqと低信頼画像IWとのマッチしたキーポイント及び記述子の(インデックスの)ペアを生成する。ここで上式(7)のMatching(・,・)としては、例えば最近傍マッチング法や、Lowes' Thresholding法等、種々のマッチング法を採用することができる。
【0084】
なお変更態様として、マッチング部121aは、本実施形態のようにデンス記述子によらずに、例えば生成されたキーポイント群KWに含まれる個々のキーポイントに対応した記述子を決定し、これらを用いてマッチング処理を実施し、マッチング結果MWを生成することも可能である。
【0085】
最後にマッチング部121aは、次式
(8) MARe=∪GIR MIq→IR
(9) MAW=∪GW MW
によって、全ての画像グループGiにおける、高信頼画像群ReGi(i=1, 2, ・・・)についてのマッチング結果MARe及び低信頼画像群WGi(i=1, 2, ・・・)についてのマッチング結果MAWを決定する。ここでMIq→IRは上述したように、高信頼画像IRとクエリ画像Iqとのマッチング結果である。また∪IRは、高信頼画像群ReGiに含まれる全ての高信頼画像IR(∈ReGi)にわたり、マッチング結果MIq→IRを合わせた集合を形成するユニオン演算子である。さらに∪Wは、低信頼画像群WGiに含まれる全ての低信頼画像IW(∈WGi)にわたり、マッチング結果MWを合わせた集合を形成するユニオン演算子である。またさらに∪Gは、全ての画像グループGi(i=1, 2, ・・・)にわたって被演算対象を合わせた集合を形成するユニオン演算子となっている。
【0086】
ちなみにここで、以上に説明したマッチング部121aを、すでに説明を行った本発明によるキーポイント生成プログラムの構成要素である画像グループ決定部111、画像信頼性決定部112、対象3Dポイント生成部113、及び対象キーポイント生成部114と合わせて、本発明による「画像マッチングプログラム」の一実施形態を構成することも可能である。この本発明の画像マッチングプログラムによれば、対象画像(低信頼画像IW)について生成した好適なキーポイントを利用して、より好適な画像マッチングを行うことも可能となるのである。
【0087】
次に、カメラ位置姿勢決定部121は本実施形態において、
(a)決定した全画像グループの高信頼画像群についての(上式(8)の)マッチング結果MAReを用いて、各画像グループにおける高信頼画像に基づくクエリ画像Iqに係るカメラの位置姿勢を導出し、
(b)決定した全画像グループの低信頼画像群についての(上式(9)の)マッチング結果MAWを用いて、各画像グループにおける低信頼画像に基づくクエリ画像Iqに係るカメラの位置姿勢を導出する。
【0088】
ここで、上記(a)及び(b)におけるマッチング結果を用いたカメラの位置姿勢の導出は、例えば公知の8点アルゴリズム(8-point algorithm)法、正規化8点アルゴリズム法や、コスト最小化法等を用いて行うことができる。ちなみに8点アルゴリズム法については、例えば非特許文献:Chahat Deep Singh, ‘Structure from Motion’, [online], [令和4年5月11日検索], インターネット<URL: https://cmsc426.github.io/sfm/#essential>において詳細に説明されている。
【0089】
カメラ位置姿勢決定部121は次いで、次式
(10) (αq, βq, θq, Xq, Yq, Zq)
=ΣGΣIRi (WtIRi/NIR)×(αi, βi, θi, Xi, Yi, Zi)+
ΣGΣWi (WtWi/NW)×(αi, βi, θi, Xi, Yi, Zi)
を用い、高信頼画像IR iに基づくカメラ位置姿勢データ(αi, βi, θi, Xi, Yi, Zi)と低信頼画像IW iに基づくカメラ位置姿勢データ(αi, βi, θi, Xi, Yi, Zi)とに対して、個別の重みWtIRi(ΣiWtIRi=1)及びWtWi(ΣiWtWi=1)を付加した重み付け平均を行い、クエリ画像Iqのカメラ位置姿勢データ(αq, βq, θq, Xq, Yq, Zq)を決定する。
【0090】
ここでα、β及びθはカメラの向きであり、それぞれロール角、ピッチ角及びヨー角となっている。またX、Y及びZはそれぞれ、カメラの位置のX座標値、Y座標値及びZ座標値であり、したがって(α, β, θ, X, Y, Z)は、カメラの6自由度(6-DoF, six Degrees of Freedom)情報となっている。さらにNIR及びNWはそれぞれ、各画像グループGiにおける(クエリ画像Iqとのマッチングに係る)高信頼画像IR及び低信頼画像IWの数である。またΣIRi及びΣWiはそれぞれ、高信頼画像IR i及び低信頼画像IW iについての総和であり、さらにΣGは、画像グループGi(i=1, 2, ・・・)についての総和となっている。
【0091】
以上述べたように本実施形態においては、本来マッチするキーポイントの数も少なくカメラ位置姿勢データを導出するのに不適切な対象画像(低信頼画像)について、高信頼画像に基づき好適なキーポイントを生成し(好ましくは、多数の高信頼画像に基づき多数の好適なキーポイントを生成し)、この生成されたキーポイントの付与された対象画像(キーポイント更新低信頼画像)も用いてクエリ画像Iqに係るカメラ位置姿勢データを導出している。その結果、(生成されたキーポイントに含まれる低信頼画像特有の情報も考慮しているが故に)精度のより高い、且つ(より多くのキーポイントを用いるが故に)ロバスト性のより高いクエリ画像Iqに係るカメラ位置姿勢決定処理を実施することができるのである。また、クエリ画像Iqの画像位置もより高い精度で特定可能となる(すなわち、より好適な画像位置特定処理を実施することもできる)。
【0092】
なお、上式(10)の重みWtIRi及び重みWtWiは、経験に基づき予め所定値に設定されてもよく、例えば信頼レベルREに基づき適宜設定されてもよい。また、重みWtIRiは、高信頼画像に係るカメラ位置姿勢データに対するものであることから、重みWtWiよりも大きい値に設定されることも好ましい。
【0093】
図4は、本発明に係るカメラ位置姿勢決定処理の一具体例を説明するための模式図である。
【0094】
図4に示した具体例によれば、カメラ位置姿勢決定部121は最初に、
(a)画像グループG1の低信頼画像群WG1に含まれる(KP更新)低信頼画像(I1, I2)に基づくカメラ位置姿勢データと、
(b)画像グループG1の高信頼画像群ReG1に含まれる高信頼画像(I3, I4)に基づくカメラ位置姿勢データと、
(c)画像グループG2の低信頼画像群WG2に含まれる(KP更新)低信頼画像(I5, I6, I7)に基づくカメラ位置姿勢データと、
(d)画像グループG2の高信頼画像群ReG2に含まれる高信頼画像(I8, I9, I10)に基づくカメラ位置姿勢データと
を決定している。
【0095】
次いでカメラ位置姿勢決定部121は、決定した上記(a)~(d)のカメラ位置姿勢データに対し、上式(10)を用いて、個別の重みWtIRi及びWtWi(本具体例では、WtIRi>WtWi)を付加した重み付け平均を行い、最終的なクエリ画像Iqのカメラ位置姿勢データを算出しているのである。
【0096】
図1の機能ブロック図に戻って、カメラ位置姿勢決定部121は、以上説明したように生成・決定したクエリ画像(目的画像)Iqのカメラ位置姿勢データ(又は画像位置特定結果)を、入出力インタフェース部101を介して外部の情報処理装置、例えばクエリ画像Iqを含むリクエストの送信元装置へ送信し、そこで利用させてもよい。また、対象キーポイント生成部114で生成されたキーポイント情報や、マッチング部121aで生成・決定された画像マッチング結果も、入出力インタフェース部101を介して外部の情報処理装置へ送信され、そこで利用されることも可能となっている。
【0097】
さらに本カメラ位置姿勢決定装置1が自動運転車や自律走行ロボット等に搭載されている場合において、本装置1(カメラ位置姿勢決定部121)は、同じく自動運転車や自律走行ロボット等に搭載された走行制御装置に対し、周囲の走行環境を撮影した刻々のカメラ画像(対象画像)に係るカメラ位置姿勢データ(又は画像位置特定結果)をリアルタイムで出力してもよい。これにより、自動運転車や自律走行ロボット等は、自らの現在位置を知ることができ、その結果、好適な若しくは安全な走行動作を行うことも可能となる。
【0098】
以上詳細に説明したように、本発明によれば、対象画像と比較して目的画像(クエリ画像)とのマッチングがより容易であるとみなされる高信頼画像の3Dポイントを利用して、対象画像のキーポイントを生成することができる。ここで、この3Dポイントは、高信頼画像における信頼性のより高いキーポイントに基づき生成されており、さらに、3次元空間での当該キーポイントの3次元形状上での(3次元の幾何学的な)位置に係る情報となっている。すなわち画像上の2次元ポイントと比較して、画像内容の特徴をより詳細に表す情報となっている。
【0099】
その結果、この3Dポイントから生成される対象画像のキーポイントは、目的画像とのマッチングに関し好適に使用可能なものとなるのである。さらに、このようなキーポイントを生成するにあたり、例えばトランスフォーマといったような膨大な演算時間を必要とする機械学習モデルを必要としない。すなわち、目的画像とのマッチングに使用可能な対象画像のキーポイントを、膨大な演算時間を必要とするトランスフォーマ等の機械学習モデルによらずに生成することが可能となる。また、このように生成されたキーポイントを用いてより好適な画像マッチングや、より好適なカメラの位置姿勢の決定を行うことができるのである。
【0100】
さらに、本発明による画像マッチング処理や画像位置特定処理(カメラ位置姿勢決定処理)を、自動運転車等の走行制御に活かし、都市内の道路網において膨大な数の自動運転車等が、安全、良好且つ快適な走行を常時行うことを支援することもできる。また、本発明による画像マッチング処理や画像位置特定処理(カメラ位置姿勢決定処理)を、多数のユーザが都市内の様々なランドマークを撮影しそのカメラ画像をアップロードすることによって収集された膨大な数の画像データ、及び、多数の街頭カメラによって定期的に生成された膨大な数の画像データの解析に活かし、都市内の人流予測や、設置物・不審物の発見やその推移の確認、さらにはトラブル・犯罪発生の予測・検出等を促進することもできる。すなわち本発明によれば、国連が主導する持続可能な開発目標(SDGs)の目標11「都市を包摂的、安全、レジリエントかつ持続可能にする」に貢献することも可能となるのである。
【0101】
またさらに、本発明による画像マッチング処理や画像位置特定処理(カメラ位置姿勢決定処理)を、多数のユーザが対象地域や対象海域を撮影しそのカメラ画像をアップロードすることによって収集された膨大な数の現場画像データの解析に活かし、そのような地域・海域における各種状態の調査、例えば作物の生育状況、生態系の現状や、気候変動の影響の調査を行うこともできる。すなわち本発明によれば、国連が主導する持続可能な開発目標(SDGs)における目標13「気候変動とその影響に立ち向かうため、緊急対策を取る」、目標14「海洋と海洋資源を保全し、持続可能な形で利用する」、及び目標15「森林の持続可能な管理、砂漠化への対処、土地劣化の阻止および逆転、ならびに生物多様性損失の阻止を図る」に貢献することも可能となるのである。
【0102】
上述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。以上に述べた説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0103】
1 カメラ位置姿勢決定装置(キーポイント生成装置)
101 入出力インタフェース(IF)部
111 画像グループ決定部
112 画像信頼性決定部
112a キーポイント(KP)ベース信頼性判定部
112b 位置ベース信頼性判定部
113 対象3Dポイント生成部
113a 高信頼3Dポイント生成部
114 対象キーポイント生成部
121 カメラ位置姿勢決定部
121a マッチング部
2 画像データベース(DB)
図1
図2
図3
図4