画像検索に適した特徴ベクトルを抽出するプログラム、方法及び画像検索装置
【課題】画像検索の際に、比較すべき画像に回転及びスケールの違いがあっても高い検索精度で、少ない計算資源で実行することができる特徴点の特徴ベクトルを抽出する。
【解決手段】m個の特徴点集合について、特徴ベクトルの抽出対象となる注目特徴点p0からk1番目に近傍の特徴点qを選択し(S1)、直線p0−qの距離rを導出し(S2)、p0を中心とし且つ距離rを半径とした円周から、所定長の近傍に含まれる1つ以上の特徴点集合Bを導出し(S3)、p0とBの各特徴点bとについて、角度が一定となるように回転させて、m個全ての特徴点を用いて、p0の特徴ベクトルfを算出する(S4)。
【解決手段】m個の特徴点集合について、特徴ベクトルの抽出対象となる注目特徴点p0からk1番目に近傍の特徴点qを選択し(S1)、直線p0−qの距離rを導出し(S2)、p0を中心とし且つ距離rを半径とした円周から、所定長の近傍に含まれる1つ以上の特徴点集合Bを導出し(S3)、p0とBの各特徴点bとについて、角度が一定となるように回転させて、m個全ての特徴点を用いて、p0の特徴ベクトルfを算出する(S4)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像検索に適した特徴ベクトルを抽出する技術に関する。
【背景技術】
【0002】
近年、オンライン/オフラインに限られず、ストレージの大容量化に伴って、大量のコンテンツを蓄積することが可能となっている。また、携帯電話機やスマートフォンに代表される情報端末機器の普及によって、ユーザ自ら取得した写真データのようなデジタルコンテンツも、データベースに大量かつ容易に蓄積することができる。オフラインデータベースとして、HDD(Hard Disk Drive)、DVD(Digital Versatile Disk)、Blu-ray disc等の記憶装置がある。また、オンラインデータベースとしては、Flickr(登録商標)やMySpace(登録商標)のようなソーシャルネットワークサービスがある。これら記憶装置及びサービスによれば、データベースに蓄積された個人の大量且つ多様なマルチメディアコンテンツを検索するする技術が重要となる。
【0003】
例えば、大量の参照画像(静止画像及び動画像)の中から、クエリ画像に類似する参照画像を高い精度で検索する技術がある(例えば非特許文献1参照)。この技術によれば、画像から大量の局所特徴ベクトルを抽出し、それらをベクトル量子化し、同一の代表ベクトルにベクトル量子化された局所特徴ベクトルの数によって類似度を算出する。しかしながら、この技術は、多くの計算資源(リソース)を必要とするという問題があった。
【0004】
この問題に対して、できる限り少ない計算資源によって、画像を高速に検索することができる技術がある(例えば特許文献1参照)。この技術によれば、2値化された画像から特徴点を抽出し、特徴点の配置からアフィン不変な特徴ベクトルを抽出し、特徴ベクトルのマッチングに基づく投票処理によって検索する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】WO2006/092957
【非特許文献】
【0006】
【非特許文献1】J. Sivic et al., "Video Google: A Text Retrieval Approach toObject Matching in Videos," in Proc. ICCV, 2003.
【非特許文献2】H. Uchiyama and H. Saito, "Random dot markers," in IEEEVirtual Reality, 2011.
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、前述した従来技術によれば、以下のような問題がある。
(1)特徴点に対して、高次元の特徴ベクトルを抽出しているために、多くの計算資源を必要とすると共に、近傍探索における検索精度が低下する。これは、特徴ベクトルを抽出する点集合の自由度よりも大きい次元の冗長な特徴ベクトルを抽出していることに基づく。
(2)アフィン不変な特徴ベクトルを抽出しているため、アフィン不変性が求められないような環境では、逆に検索精度が低下する。
【0008】
そこで、本発明は、画像検索の際に、比較すべき画像に回転及びスケールの違いがあっても高い検索精度で、且つ、少ない計算資源で実行することができるような特徴点の特徴ベクトルを抽出するプログラム、方法及び画像検索装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明によれば、画像から抽出されたxy座標の各特徴点の特徴ベクトルを抽出するようにコンピュータを実行させるプログラムにおいて、
注目特徴点p0及びm個の特徴点集合について、p0からk1番目に近傍の特徴点qを選択する第1のステップと、
注目特徴点p0及び特徴点qを結ぶ直線p0−qの距離rを導出する第2のステップと、
注目特徴点p0を中心とし且つ距離rを半径とした円周から、所定長の近傍に含まれる1つ以上の特徴点集合Bを導出する第3のステップと、
注目特徴点p0と特徴点集合Bの各特徴点bとについて、角度が一定となるように回転させて、m個全ての特徴点を用いて、注目特徴点p0の特徴ベクトルfを算出する第4のステップと
を有するようにコンピュータを実行させることを特徴とする。
【0010】
本発明のプログラムにおける他の実施形態によれば、
第4のステップにおける特徴ベクトルの算出について、注目特徴点p0を中心として、特徴点bから一方の回転方向へ、特徴点集合Yの各特徴点p1〜pmの特徴ベクトルf1〜fmを順に算出し、
特徴ベクトルf1〜fmは、注目特徴点p0から当該特徴点p1〜pmへのxy座標ベクトルf(xi,yi)である
ようにコンピュータを実行させることも好ましい。
【0011】
本発明のプログラムにおける他の実施形態によれば、
第4のステップは、特徴点集合Bの各特徴点bについて、
x軸と、注目特徴点p0及び特徴点bを結ぶ直線p0−bとの間の角度θを導出し、
注目特徴点p0を中心として、直線p0−bがx軸に重なるように、m個全ての特徴点集合Yを回転させる
ようにコンピュータを実行させることも好ましい。
【0012】
本発明のプログラムにおける他の実施形態によれば、
第4のステップは、更に、注目特徴点p0と特徴点集合Bの各特徴点bとについて、スケールが一定となるようにスケールを伸縮させるべくコンピュータを実行させることも好ましい。
【0013】
本発明のプログラムにおける他の実施形態によれば、
第4のステップは、特徴点集合Bの各特徴点bについて、
注目特徴点p0からk2番目に近傍の特徴点cを導出し、注目特徴点p0及び特徴点cを結ぶ直線p0−cのスケールが単位長(1)となるように、注目特徴点p0から見たm個全ての特徴点集合Yのスケールを伸縮させる
ようにコンピュータを実行させることも好ましい。
【0014】
本発明のプログラムにおける他の実施形態によれば、
第1のステップの前段について、
特徴ベクトルの抽出対象となる注目特徴点p0について、p0の最も近傍に位置するn個の特徴点集合X(p0を含まない)を抽出するステップと、
n個の特徴点集合Xから、m(m≦n)個の特徴点集合Y(p0を含まない)を選択するステップと
を有し、
n個の特徴点集合Xからm個の特徴点集合Yの全ての組み合わせについて、第1〜第4のステップを繰り返す
ようにコンピュータを実行させることも好ましい。
【0015】
本発明のプログラムにおける他の実施形態によれば、
第3のステップについて、注目特徴点p0を中心として、距離r/ρ以上(ρ≧1)から距離r・ρ以下の範囲に含まれる1つ以上の特徴点Bを導出するようにコンピュータを実行させることも好ましい。
【0016】
本発明のプログラムにおける他の実施形態によれば、
第4のステップについて、注目特徴点p0に対して、特徴ベクトルf1〜fm及び画像識別子に加えて、x軸と直線p0−bとの間の角度θを付加するようにコンピュータを実行させることも好ましい。
【0017】
本発明のプログラムにおける他の実施形態によれば、
多数の参照画像に中から、クエリ画像を用いて、参照画像を検索するために、
参照画像に対して、第1〜第4のステップによって特徴点に対応する特徴ベクトルを導出し、
クエリ画像に対して、第1〜第4のステップによって特徴点に対応する特徴ベクトルを導出し、
クエリ画像の特徴点の特徴ベクトルと、各参照画像の特徴点の特徴ベクトルとの間の距離を算出し、所定距離以下又は所定個数以内の参照画像の特徴ベクトルとその特徴ベクトルに対応する特徴点とを検索し、所定回数以上検索された参照画像の特徴点を抽出する第5のステップと、
抽出された参照画像の特徴ベクトル毎に、クエリ画像の特徴ベクトルと共に付加された角度θと、当該参照画像の特徴ベクトルと共に付加された角度θとの角度差Δθを算出する第6ステップと、
抽出された参照画像の特徴ベクトル毎に参照画像の画像識別子を抽出する第7のステップと、
クエリ画像の特徴ベクトルそれぞれに対して算出された参照画像の画像識別子及び角度差Δθに基づく区分角度差に応じて投票処理を行うことによって、最も類似する参照画像を検出する第8のステップと
してコンピュータを実行させることを特徴とする。
【0018】
本発明のプログラムにおける他の実施形態によれば、
第4のステップについて、注目特徴点p0に対して、特徴ベクトルf1〜fm及び画像識別子に加えて、スケールの伸縮前の直線p0−cの距離δを付加するようにコンピュータを実行させることも好ましい。
【0019】
本発明のプログラムにおける他の実施形態によれば、
多数の参照画像に中から、クエリ画像を用いて、参照画像を検索するために、
参照画像に対して、第1〜第4のステップによって特徴ベクトルを導出し、
クエリ画像に対して、第1〜第4のステップによって特徴ベクトルを導出し、
クエリ画像の特徴点の特徴ベクトルと、各参照画像の特徴点の特徴ベクトルとの間の距離を算出し、所定距離以下又は所定個数以内の参照画像の特徴ベクトルとその特徴ベクトルに対応する特徴点とを検索し、所定回数以上検索された参照画像の特徴点を抽出する第5のステップと、
抽出された参照画像毎に、クエリ画像の特徴ベクトルと共に付加された距離δと、当該参照画像の特徴ベクトルと共に付加された距離δとの距離比Δδを算出する第6のステップと、
抽出された参照画像の特徴ベクトル毎に参照画像の画像識別子を抽出する第7のステップと、
クエリ画像の画像識別子に基づいて、複数の参照画像の画像識別子を、距離比δに基づく区分距離比に応じて投票することによって、最も類似する参照画像を検出する第8のステップと
してコンピュータを実行させることも好ましい。
【0020】
本発明によれば、装置を用いて、画像から抽出されたxy座標の各特徴点の特徴ベクトルを抽出する方法において、
画像から抽出されたxy座標の各特徴点の特徴ベクトルを抽出するようにコンピュータを実行させるプログラムにおいて、
注目特徴点p0及びm個の特徴点集合について、p0からk1番目に近傍の特徴点qを選択する第1のステップと、
注目特徴点p0及び特徴点qを結ぶ直線p0−qの距離rを導出する第2のステップと、
注目特徴点p0を中心とし且つ距離rを半径とした円周から、所定長の近傍に含まれる1つ以上の特徴点集合Bを導出する第3のステップと、
注目特徴点p0と特徴点集合Bの各特徴点bとについて、角度が一定となるように回転させて、m個全ての特徴点を用いて、注目特徴点p0の特徴ベクトルfを算出する第4のステップと
を有することを特徴とする。
【0021】
本発明によれば、大量の参照画像を蓄積した参照画像蓄積手段を有し、クエリ画像に類似する参照画像を検索する画像検索装置において、
参照画像蓄積手段の参照画像から、xy座標の複数の特徴点を抽出する参照用特徴点抽出手段と、
参照画像の各特徴点における特徴ベクトルを抽出する参照用特徴量抽出手段と、
参照画像の各特徴点における特徴ベクトルを、画像データベースに登録する参照用特徴量登録手段と、
クエリ画像から、xy座標の複数の特徴点を抽出するクエリ用特徴点抽出手段と、
クエリ画像の各特徴点における特徴ベクトルを抽出するクエリ用特徴量抽出手段と、
クエリ画像の特徴ベクトルに類似する、参照画像の特徴ベクトルを検索する画像検索手段と
を有し、
参照用特徴量抽出手段及びクエリ用特徴量抽出手段は、
注目特徴点p0及びm個の特徴点集合について、p0からk1番目に近傍の特徴点qを選択し、
注目特徴点p0及び特徴点qを結ぶ直線p0−qの距離rを導出し、
注目特徴点p0を中心とし且つ距離rを半径とした円周から、所定長の近傍に含まれる1つ以上の特徴点集合Bを導出し、
注目特徴点p0と特徴点集合Bの各特徴点bとについて、角度が一定となるように回転させて、m個全ての特徴点を用いて、注目特徴点p0の特徴ベクトルfを算出する
ことを特徴とする。
【発明の効果】
【0022】
本発明のプログラム、方法及び画像検索装置によれば、画像検索の際に、比較すべき画像に回転及びスケールの違いがあっても高い検索精度で、且つ、少ない計算資源で実行することができるような特徴点の特徴ベクトルを抽出する。
【図面の簡単な説明】
【0023】
【図1】画像検索装置の機能構成図である。
【図2】本発明における特徴量抽出部の処理を表すフローチャートである。
【図3】図2のS1における特徴点配置を表す説明図である。
【図4】図2のS2における特徴点配置を表す説明図である。
【図5】図2のS3〜S5における特徴点配置を表す説明図である。
【図6】図2のS61(b1)における特徴点配置を表す第1の説明図である。
【図7】図2のS62及びS63(b1)における特徴点配置を表す第1の説明図である。
【図8】図2のS61(b2)における特徴点配置を表す第2の説明図である。
【図9】図2のS62及びS63(b2)における特徴点配置を表す第2の説明図である。
【図10】本発明における投票部の処理を表すフローチャートである。
【図11】本発明における投票部の概念を表す説明図である。
【発明を実施するための形態】
【0024】
以下では、本発明の実施の形態について、図面を用いて詳細に説明する。
【0025】
図1は、画像検索装置の機能構成図である。
【0026】
画像検索装置1は、大量の参照画像に中から、クエリ画像に類似する参照画像を検索する。図1によれば、画像検索装置1は、参照画像蓄積部10と、登録部11と、検索部12とを有する。参照画像蓄積部10は、検索対象となる大量の参照画像を蓄積しており、参照画像毎に画像識別子(ID)が付与されている。
【0027】
登録部11は、参照用特徴点抽出部111と、参照用特徴量抽出部112と、参照用特徴点登録部113と、画像データベース114とを有する。また、クエリ用特徴点抽出部121と、クエリ用特徴量抽出部122と、特徴点検索部123及び投票部124からなる画像検索部とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。尚、本発明は、参照用特徴量抽出部112及びクエリ用特徴量抽出部122における特徴ベクトルの抽出に特徴がある。
【0028】
参照用特徴点抽出部111は、参照画像蓄積部10から入力された参照画像から、xy座標の多数の特徴点を抽出する。また、クエリ用特徴点抽出部121は、入力されたクエリ画像から、xy座標の多数の特徴点を抽出する。
【0029】
「特徴点」とは、視覚的に際立つ特徴を有する画像上のxy座標点をいう。特徴点は、例えばHarris、FAST、SUSAN等のコーナー(corner:角)検出器によって抽出されるものであってもよい。コーナー検出器は、画像に写る対象物の矩形の頂点、即ち2つのエッジの交点を、特徴点として検出する。また、特許文献1に記載された技術のように、適応二値化を行い、その重心から特徴点座標を導出するものであってもよい。
【0030】
参照用特徴点抽出部111によって抽出された多数の特徴点は、参照画像の画像識別子と共に、参照用特徴量抽出部112へ出力される。また、クエリ用特徴点抽出部112によって抽出された多数の特徴点は、クエリ用特徴量抽出部122へ出力される。
【0031】
参照用特徴量抽出部112は、参照画像(画像識別子)毎に、各特徴点における特徴ベクトルを抽出する。また、クエリ用特徴量抽出部122は、クエリ画像について、各特徴点における特徴ベクトルを抽出する。本発明によれば、各特徴点について、注目特徴点の近傍に位置する他の特徴点の配置に基づいて、回転及びスケールに不変で且つ低次元な特徴ベクトルを抽出する。画像検索の際に、回転及びスケールに不変な特徴ベクトルを用いることによって、回転及びスケールの違い対する画像に対しても精度高く検索することができる。また、低次元な特徴ベクトルを用いることによって、少ない計算資源で画像検索を実行することができる。
【0032】
図2は、本発明の特徴量抽出部における特徴ベクトルの抽出処理を表すフローチャートである。
【0033】
(S1)特徴ベクトルの抽出対象となる注目特徴点p0について、注目特徴点p0の最も近傍に位置するn個の特徴点集合X(注目特徴点p0を含まない)を抽出する(図3参照)。図3によれば、n=5の例であって、注目特徴点p0の最も近傍に位置する5個の特徴点集合Xが抽出されている。
【0034】
(S2)n個の特徴点集合Xから、注目特徴点p0を含まないm(m≦n)個の特徴点集合Yを選択する(図4参照)。図4によれば、m=4の例であって、注目特徴点p0を含まない4個の特徴点集合Yが選択されている。S2〜S6のステップを、n個の特徴点集合Xからm個の特徴点集合Yの全ての組み合わせについて繰り返す。
【0035】
(S3)特徴点集合Yについて、注目特徴点p0からk1番目に近傍の特徴点qを選択する(図5参照)。図5によれば、k1=1の例であって、注目特徴点p0から1番目に近傍の特徴点qを選択する。k1の値は、m個以下の任意の数値に固定される。
【0036】
(S4)注目特徴点p0及び特徴点qを結ぶ直線p0−qの距離rを導出する(図5参照)。
【0037】
(S5)注目特徴点p0を中心とし且つ距離rを半径とした円周から、所定長の近傍に含まれる1つ以上の特徴点集合Bを導出する(図5参照)。ここで、所定長の近傍について、注目特徴点p0を中心として、距離r/ρ以上(ρ≧1)から距離r・ρ以下の範囲に含まれる1つ以上の特徴点Bを導出する。図5によれば、2個の特徴点bが導出されている。
【0038】
(S6)注目特徴点p0と特徴点集合Bの各特徴点bとについて、角度及びスケールが一定となるように回転させ且つスケールを伸縮させる。そして、m個全ての特徴点を用いて、注目特徴点p0の特徴ベクトルfを算出する。図5によれば、特徴点集合Bの各特徴点b1,b2について、以下の処理を実行する。
【0039】
(S61)x軸と、注目特徴点p0及び特徴点b1を結ぶ直線p0−b1との間の角度θ(0≦θ<2π)を導出する(図6参照)。また、注目特徴点p0を中心として、特徴点b1から一方の回転方向(図6によれば反時計回り)へ、特徴点集合Yの各特徴点p1〜pmを割り振る。
【0040】
特徴ベクトルf1〜fmは、注目特徴点p0から当該特徴点p1〜pmへのxy座標ベクトルf(xi,yi)である。
p0->p1へのベクトル:f1=(x1,y1)
p0->p2へのベクトル:f2=(x2,y2)
p0->p3へのベクトル:f3=(x3,y3)
p0->p4へのベクトル:f4=(x4,y4)
【0041】
(S62)注目特徴点p0を中心として、直線p0−b1がx軸に重なるように、m個全ての特徴点集合Yを回転させる(図7参照)。図7によれば、特徴点p1〜p4全てを、注目特徴点p0を中心に、時計回りに回転させる。回転は、以下の行列を、各特徴ベクトルfiに乗算することによって表される。
【数1】
【0042】
(S63)注目特徴点p0からk2番目に近傍の特徴点cを導出する(図7参照)。図7によれば、k2=4の例であって、注目特徴点p0から4番目に近傍の特徴点c(xc,yc)を選択する。k2の値は、m個以下の任意の数値に固定される。そして、注目特徴点p0及び特徴点cを結ぶ直線p0−cのスケールが単位長(1)となるように、注目特徴点p0から見たm個全ての特徴点集合Yのスケールを伸縮させる(スケーリング)。子ケールの伸縮は、以下の行列を、各特徴ベクトルfiに乗算することによって表される。
【数2】
【0043】
(S64)注目特徴点p0について、特徴点集合Yの各特徴点p1〜pmの特徴ベクトルf1〜fmが順に算出される。注目特徴点p0の特徴ベクトルfは、回転及びスケーリングを合わせて、以下の行列を、各特徴ベクトルfiに乗算されたものとなる。
【数3】
これによって、回転及びスケーリング後の各点の座標Rf1,Rf2,・・・,Rfmを連結し、2×m次元の特徴ベクトルを得る。
【0044】
(S61)次に、x軸と、注目特徴点p0及び特徴点b2を結ぶ直線p0−b2との間の角度θを導出する(図8参照)。また、注目特徴点p0を中心として、特徴点b2から一方の回転方向(図8によれば時計回り)へ、特徴点集合Yの各特徴点p1〜pmを割り振る。
【0045】
(S62)注目特徴点p0を中心として、直線p0−b2がx軸に重なるように、m個全ての特徴点集合Yを回転させる(図9参照)。図9によれば、特徴点p1〜p4全てを、注目特徴点p0を中心に、時計回りに回転させる。
【0046】
(S63)注目特徴点p0からk2(k2=4)番目に近傍の特徴点c(xc,yc)を導出する(図9参照)。そして、注目特徴点p0及び特徴点cを結ぶ直線p0−cのスケールが単位長(1)となるように、注目特徴点p0から見たm個全ての特徴点集合Yのスケールを伸縮させる。
【0047】
(S64)注目特徴点p0について、特徴点集合Yの各特徴点p1〜pmの特徴ベクトルf1〜fmが順に算出される。
【0048】
そして、S2〜S6のステップを、n個の特徴点集合Xからm個の特徴点集合Yの全ての組み合わせについて繰り返す。
【0049】
尚、前述した特徴量抽出部のアルゴリズムは、以下のように表される。
for each p0∈{特徴点} do
X←p0の近傍n点の集合
for each Y∈{X内の点からm点を選ぶ全ての組み合わせ} do
q←Y内の点の中でのp0のk1近傍
r←p0とqの距離
for each B∈{Y内の点の中でPとの距離がr/ρ以上rρ以下の点(ρ≧1)}
Y及びb=(xB,yB)から特徴ベクトルを算出
end for
end for
end for
【0050】
参照用特徴量登録部113は、参照用特徴量抽出部112から出力された特徴ベクトルを、画像識別子と共に、画像データベース114へ登録する。ここで、参照用特徴量登録部113は、注目特徴点p0に対して、特徴ベクトルf1〜fm及び画像識別子に加えて、メタデータとして、x軸と直線p0−bとの間の角度θを付加することも好ましい。また、注目特徴点p0に対して、特徴ベクトルf1〜fm及び画像識別子に加えて、メタデータとして、スケールの伸縮前の直線p0−cの距離δを付加することも好ましい。その他、p0の座標(x, y)を付加することも好ましい。尚、効率的な検索を実現するために、kd-treeやSR-tree、Locality Sensitive Hashing等の索引構造を利用することも好ましい。
【0051】
参照画像から導出された特徴ベクトルは、画像データベースに登録される。また、クエリ画像から導出された特徴ベクトルは、特徴点検索部123へ入力される。
【0052】
特徴点検索部123は、クエリ用特徴点抽出部122から入力したクエリ画像の特徴点をキーとして、画像データベース114に蓄積された参照画像の特徴点を検索する。特徴点検索部123は、クエリ画像の特徴点の特徴ベクトルと、各参照画像の特徴点の特徴ベクトルとの間の距離を算出する。そして、所定距離以下又は所定個数以内の参照画像の特徴ベクトルとその特徴ベクトルに対応する特徴点とが検索される。これによって、クエリ画像の特徴ベクトルに類似する、参照画像の特徴ベクトルを検索することができる。また、特徴点検索部123は、所定回数以上検索された参照画像の特徴点のみを抽出する。各特徴点からは、1つ以上の特徴ベクトルが抽出されるために、特徴ベクトルについて検索した場合、同じ特徴点が複数回検索されることとなる。ここで、所定回数以上の複数回検索された特徴点は、クエリ画像の特徴ベクトルに更に類似する、参照画像の特徴ベクトルに基づくものであると認められる。
【0053】
投票部124は、投票処理によって、クエリ画像に最も類似する参照画像を検出する。
【0054】
図10は、本発明における投票部の処理を表すフローチャートである。
【0055】
図10(a)によれば、角度差θを用いて投票処理を実行する。
(S8)投票部124は、抽出された参照画像の特徴ベクトル毎に、クエリ画像の特徴ベクトルと共に付加された角度θと、当該参照画像の特徴ベクトルと共に付加された角度θとの角度差Δθを算出する。
(S9)次に、投票処理部124は、抽出された参照画像の特徴ベクトル毎に参照画像の画像識別子を抽出する。
(S10)そして、投票処理部124は、クエリ画像の特徴ベクトルそれぞれに対して算出された参照画像の画像識別子及び角度差Δθに基づく区分角度差に応じて投票処理を行うことによって、最も類似する参照画像を検出する。
【0056】
図10(b)によれば、距離比δを用いて投票処理を実行する。
(S8)投票部124は、抽出された参照画像毎に、クエリ画像の特徴ベクトルと共に付加された距離δと、当該参照画像の特徴ベクトルと共に付加された距離δとの距離比Δδを算出する。
(S9)次に、投票部124は、抽出された参照画像の特徴ベクトル毎に参照画像の画像識別子を抽出する。
(S10)そして、投票部124は、クエリ画像の画像識別子に基づいて、複数の参照画像の画像識別子を、距離比δに基づく区分距離比に応じて投票することによって、最も類似する参照画像を検出する。
【0057】
図11は、本発明における投票部の概念を表す説明図である。
【0058】
図11によれば、画像識別子と角度差Δθとの2次元の投票テーブル上に投票される。投票テーブルは、V[i][a]によって表される。初期時には、投票テーブルの全ての要素は0に設定される。
i:特徴点の画像識別子
a:角度差Δθ
a←floor((θ−θ’)×M/2π+0.5) mod M
【0059】
投票時に加えるスコアは1としてもよいが、特徴ベクトル間の距離に基づいて、特徴ベクトルの距離が近い特徴点に対するスコアを増加させることも好ましい。例えば距離がdだけ離れている特徴ベクトルに、exp(-d2/s)(sはパラメータ)スコアを加えることも好ましい。投票後、画像IDがiの画像のスコアをmax(v[i][0], v[i][1],…, v[i][M])により算出し、画像をスコアでソートした際の、上位画像の結果を出力する。
【0060】
以上、詳細に説明したように、本発明のプログラム、方法及び画像検索装置によれば、画像検索の際に、比較すべき画像に回転及びスケールの違いがあっても、幾何的な拘束条件を適用することよって、高い検索精度で且つ少ない計算資源で実行することができるような特徴点の特徴ベクトルを抽出する。
【0061】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0062】
1 画像検索装置
10 参照画像蓄積部
11 登録部
111 参照用特徴点抽出部
112 参照用特徴量抽出部
113 参照用特徴点登録部
114 画像データベース
12 検索部
121 クエリ用特徴点抽出部
122 クエリ用特徴量抽出部
123 特徴点検索部
124 投票部
【技術分野】
【0001】
本発明は、画像検索に適した特徴ベクトルを抽出する技術に関する。
【背景技術】
【0002】
近年、オンライン/オフラインに限られず、ストレージの大容量化に伴って、大量のコンテンツを蓄積することが可能となっている。また、携帯電話機やスマートフォンに代表される情報端末機器の普及によって、ユーザ自ら取得した写真データのようなデジタルコンテンツも、データベースに大量かつ容易に蓄積することができる。オフラインデータベースとして、HDD(Hard Disk Drive)、DVD(Digital Versatile Disk)、Blu-ray disc等の記憶装置がある。また、オンラインデータベースとしては、Flickr(登録商標)やMySpace(登録商標)のようなソーシャルネットワークサービスがある。これら記憶装置及びサービスによれば、データベースに蓄積された個人の大量且つ多様なマルチメディアコンテンツを検索するする技術が重要となる。
【0003】
例えば、大量の参照画像(静止画像及び動画像)の中から、クエリ画像に類似する参照画像を高い精度で検索する技術がある(例えば非特許文献1参照)。この技術によれば、画像から大量の局所特徴ベクトルを抽出し、それらをベクトル量子化し、同一の代表ベクトルにベクトル量子化された局所特徴ベクトルの数によって類似度を算出する。しかしながら、この技術は、多くの計算資源(リソース)を必要とするという問題があった。
【0004】
この問題に対して、できる限り少ない計算資源によって、画像を高速に検索することができる技術がある(例えば特許文献1参照)。この技術によれば、2値化された画像から特徴点を抽出し、特徴点の配置からアフィン不変な特徴ベクトルを抽出し、特徴ベクトルのマッチングに基づく投票処理によって検索する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】WO2006/092957
【非特許文献】
【0006】
【非特許文献1】J. Sivic et al., "Video Google: A Text Retrieval Approach toObject Matching in Videos," in Proc. ICCV, 2003.
【非特許文献2】H. Uchiyama and H. Saito, "Random dot markers," in IEEEVirtual Reality, 2011.
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、前述した従来技術によれば、以下のような問題がある。
(1)特徴点に対して、高次元の特徴ベクトルを抽出しているために、多くの計算資源を必要とすると共に、近傍探索における検索精度が低下する。これは、特徴ベクトルを抽出する点集合の自由度よりも大きい次元の冗長な特徴ベクトルを抽出していることに基づく。
(2)アフィン不変な特徴ベクトルを抽出しているため、アフィン不変性が求められないような環境では、逆に検索精度が低下する。
【0008】
そこで、本発明は、画像検索の際に、比較すべき画像に回転及びスケールの違いがあっても高い検索精度で、且つ、少ない計算資源で実行することができるような特徴点の特徴ベクトルを抽出するプログラム、方法及び画像検索装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明によれば、画像から抽出されたxy座標の各特徴点の特徴ベクトルを抽出するようにコンピュータを実行させるプログラムにおいて、
注目特徴点p0及びm個の特徴点集合について、p0からk1番目に近傍の特徴点qを選択する第1のステップと、
注目特徴点p0及び特徴点qを結ぶ直線p0−qの距離rを導出する第2のステップと、
注目特徴点p0を中心とし且つ距離rを半径とした円周から、所定長の近傍に含まれる1つ以上の特徴点集合Bを導出する第3のステップと、
注目特徴点p0と特徴点集合Bの各特徴点bとについて、角度が一定となるように回転させて、m個全ての特徴点を用いて、注目特徴点p0の特徴ベクトルfを算出する第4のステップと
を有するようにコンピュータを実行させることを特徴とする。
【0010】
本発明のプログラムにおける他の実施形態によれば、
第4のステップにおける特徴ベクトルの算出について、注目特徴点p0を中心として、特徴点bから一方の回転方向へ、特徴点集合Yの各特徴点p1〜pmの特徴ベクトルf1〜fmを順に算出し、
特徴ベクトルf1〜fmは、注目特徴点p0から当該特徴点p1〜pmへのxy座標ベクトルf(xi,yi)である
ようにコンピュータを実行させることも好ましい。
【0011】
本発明のプログラムにおける他の実施形態によれば、
第4のステップは、特徴点集合Bの各特徴点bについて、
x軸と、注目特徴点p0及び特徴点bを結ぶ直線p0−bとの間の角度θを導出し、
注目特徴点p0を中心として、直線p0−bがx軸に重なるように、m個全ての特徴点集合Yを回転させる
ようにコンピュータを実行させることも好ましい。
【0012】
本発明のプログラムにおける他の実施形態によれば、
第4のステップは、更に、注目特徴点p0と特徴点集合Bの各特徴点bとについて、スケールが一定となるようにスケールを伸縮させるべくコンピュータを実行させることも好ましい。
【0013】
本発明のプログラムにおける他の実施形態によれば、
第4のステップは、特徴点集合Bの各特徴点bについて、
注目特徴点p0からk2番目に近傍の特徴点cを導出し、注目特徴点p0及び特徴点cを結ぶ直線p0−cのスケールが単位長(1)となるように、注目特徴点p0から見たm個全ての特徴点集合Yのスケールを伸縮させる
ようにコンピュータを実行させることも好ましい。
【0014】
本発明のプログラムにおける他の実施形態によれば、
第1のステップの前段について、
特徴ベクトルの抽出対象となる注目特徴点p0について、p0の最も近傍に位置するn個の特徴点集合X(p0を含まない)を抽出するステップと、
n個の特徴点集合Xから、m(m≦n)個の特徴点集合Y(p0を含まない)を選択するステップと
を有し、
n個の特徴点集合Xからm個の特徴点集合Yの全ての組み合わせについて、第1〜第4のステップを繰り返す
ようにコンピュータを実行させることも好ましい。
【0015】
本発明のプログラムにおける他の実施形態によれば、
第3のステップについて、注目特徴点p0を中心として、距離r/ρ以上(ρ≧1)から距離r・ρ以下の範囲に含まれる1つ以上の特徴点Bを導出するようにコンピュータを実行させることも好ましい。
【0016】
本発明のプログラムにおける他の実施形態によれば、
第4のステップについて、注目特徴点p0に対して、特徴ベクトルf1〜fm及び画像識別子に加えて、x軸と直線p0−bとの間の角度θを付加するようにコンピュータを実行させることも好ましい。
【0017】
本発明のプログラムにおける他の実施形態によれば、
多数の参照画像に中から、クエリ画像を用いて、参照画像を検索するために、
参照画像に対して、第1〜第4のステップによって特徴点に対応する特徴ベクトルを導出し、
クエリ画像に対して、第1〜第4のステップによって特徴点に対応する特徴ベクトルを導出し、
クエリ画像の特徴点の特徴ベクトルと、各参照画像の特徴点の特徴ベクトルとの間の距離を算出し、所定距離以下又は所定個数以内の参照画像の特徴ベクトルとその特徴ベクトルに対応する特徴点とを検索し、所定回数以上検索された参照画像の特徴点を抽出する第5のステップと、
抽出された参照画像の特徴ベクトル毎に、クエリ画像の特徴ベクトルと共に付加された角度θと、当該参照画像の特徴ベクトルと共に付加された角度θとの角度差Δθを算出する第6ステップと、
抽出された参照画像の特徴ベクトル毎に参照画像の画像識別子を抽出する第7のステップと、
クエリ画像の特徴ベクトルそれぞれに対して算出された参照画像の画像識別子及び角度差Δθに基づく区分角度差に応じて投票処理を行うことによって、最も類似する参照画像を検出する第8のステップと
してコンピュータを実行させることを特徴とする。
【0018】
本発明のプログラムにおける他の実施形態によれば、
第4のステップについて、注目特徴点p0に対して、特徴ベクトルf1〜fm及び画像識別子に加えて、スケールの伸縮前の直線p0−cの距離δを付加するようにコンピュータを実行させることも好ましい。
【0019】
本発明のプログラムにおける他の実施形態によれば、
多数の参照画像に中から、クエリ画像を用いて、参照画像を検索するために、
参照画像に対して、第1〜第4のステップによって特徴ベクトルを導出し、
クエリ画像に対して、第1〜第4のステップによって特徴ベクトルを導出し、
クエリ画像の特徴点の特徴ベクトルと、各参照画像の特徴点の特徴ベクトルとの間の距離を算出し、所定距離以下又は所定個数以内の参照画像の特徴ベクトルとその特徴ベクトルに対応する特徴点とを検索し、所定回数以上検索された参照画像の特徴点を抽出する第5のステップと、
抽出された参照画像毎に、クエリ画像の特徴ベクトルと共に付加された距離δと、当該参照画像の特徴ベクトルと共に付加された距離δとの距離比Δδを算出する第6のステップと、
抽出された参照画像の特徴ベクトル毎に参照画像の画像識別子を抽出する第7のステップと、
クエリ画像の画像識別子に基づいて、複数の参照画像の画像識別子を、距離比δに基づく区分距離比に応じて投票することによって、最も類似する参照画像を検出する第8のステップと
してコンピュータを実行させることも好ましい。
【0020】
本発明によれば、装置を用いて、画像から抽出されたxy座標の各特徴点の特徴ベクトルを抽出する方法において、
画像から抽出されたxy座標の各特徴点の特徴ベクトルを抽出するようにコンピュータを実行させるプログラムにおいて、
注目特徴点p0及びm個の特徴点集合について、p0からk1番目に近傍の特徴点qを選択する第1のステップと、
注目特徴点p0及び特徴点qを結ぶ直線p0−qの距離rを導出する第2のステップと、
注目特徴点p0を中心とし且つ距離rを半径とした円周から、所定長の近傍に含まれる1つ以上の特徴点集合Bを導出する第3のステップと、
注目特徴点p0と特徴点集合Bの各特徴点bとについて、角度が一定となるように回転させて、m個全ての特徴点を用いて、注目特徴点p0の特徴ベクトルfを算出する第4のステップと
を有することを特徴とする。
【0021】
本発明によれば、大量の参照画像を蓄積した参照画像蓄積手段を有し、クエリ画像に類似する参照画像を検索する画像検索装置において、
参照画像蓄積手段の参照画像から、xy座標の複数の特徴点を抽出する参照用特徴点抽出手段と、
参照画像の各特徴点における特徴ベクトルを抽出する参照用特徴量抽出手段と、
参照画像の各特徴点における特徴ベクトルを、画像データベースに登録する参照用特徴量登録手段と、
クエリ画像から、xy座標の複数の特徴点を抽出するクエリ用特徴点抽出手段と、
クエリ画像の各特徴点における特徴ベクトルを抽出するクエリ用特徴量抽出手段と、
クエリ画像の特徴ベクトルに類似する、参照画像の特徴ベクトルを検索する画像検索手段と
を有し、
参照用特徴量抽出手段及びクエリ用特徴量抽出手段は、
注目特徴点p0及びm個の特徴点集合について、p0からk1番目に近傍の特徴点qを選択し、
注目特徴点p0及び特徴点qを結ぶ直線p0−qの距離rを導出し、
注目特徴点p0を中心とし且つ距離rを半径とした円周から、所定長の近傍に含まれる1つ以上の特徴点集合Bを導出し、
注目特徴点p0と特徴点集合Bの各特徴点bとについて、角度が一定となるように回転させて、m個全ての特徴点を用いて、注目特徴点p0の特徴ベクトルfを算出する
ことを特徴とする。
【発明の効果】
【0022】
本発明のプログラム、方法及び画像検索装置によれば、画像検索の際に、比較すべき画像に回転及びスケールの違いがあっても高い検索精度で、且つ、少ない計算資源で実行することができるような特徴点の特徴ベクトルを抽出する。
【図面の簡単な説明】
【0023】
【図1】画像検索装置の機能構成図である。
【図2】本発明における特徴量抽出部の処理を表すフローチャートである。
【図3】図2のS1における特徴点配置を表す説明図である。
【図4】図2のS2における特徴点配置を表す説明図である。
【図5】図2のS3〜S5における特徴点配置を表す説明図である。
【図6】図2のS61(b1)における特徴点配置を表す第1の説明図である。
【図7】図2のS62及びS63(b1)における特徴点配置を表す第1の説明図である。
【図8】図2のS61(b2)における特徴点配置を表す第2の説明図である。
【図9】図2のS62及びS63(b2)における特徴点配置を表す第2の説明図である。
【図10】本発明における投票部の処理を表すフローチャートである。
【図11】本発明における投票部の概念を表す説明図である。
【発明を実施するための形態】
【0024】
以下では、本発明の実施の形態について、図面を用いて詳細に説明する。
【0025】
図1は、画像検索装置の機能構成図である。
【0026】
画像検索装置1は、大量の参照画像に中から、クエリ画像に類似する参照画像を検索する。図1によれば、画像検索装置1は、参照画像蓄積部10と、登録部11と、検索部12とを有する。参照画像蓄積部10は、検索対象となる大量の参照画像を蓄積しており、参照画像毎に画像識別子(ID)が付与されている。
【0027】
登録部11は、参照用特徴点抽出部111と、参照用特徴量抽出部112と、参照用特徴点登録部113と、画像データベース114とを有する。また、クエリ用特徴点抽出部121と、クエリ用特徴量抽出部122と、特徴点検索部123及び投票部124からなる画像検索部とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。尚、本発明は、参照用特徴量抽出部112及びクエリ用特徴量抽出部122における特徴ベクトルの抽出に特徴がある。
【0028】
参照用特徴点抽出部111は、参照画像蓄積部10から入力された参照画像から、xy座標の多数の特徴点を抽出する。また、クエリ用特徴点抽出部121は、入力されたクエリ画像から、xy座標の多数の特徴点を抽出する。
【0029】
「特徴点」とは、視覚的に際立つ特徴を有する画像上のxy座標点をいう。特徴点は、例えばHarris、FAST、SUSAN等のコーナー(corner:角)検出器によって抽出されるものであってもよい。コーナー検出器は、画像に写る対象物の矩形の頂点、即ち2つのエッジの交点を、特徴点として検出する。また、特許文献1に記載された技術のように、適応二値化を行い、その重心から特徴点座標を導出するものであってもよい。
【0030】
参照用特徴点抽出部111によって抽出された多数の特徴点は、参照画像の画像識別子と共に、参照用特徴量抽出部112へ出力される。また、クエリ用特徴点抽出部112によって抽出された多数の特徴点は、クエリ用特徴量抽出部122へ出力される。
【0031】
参照用特徴量抽出部112は、参照画像(画像識別子)毎に、各特徴点における特徴ベクトルを抽出する。また、クエリ用特徴量抽出部122は、クエリ画像について、各特徴点における特徴ベクトルを抽出する。本発明によれば、各特徴点について、注目特徴点の近傍に位置する他の特徴点の配置に基づいて、回転及びスケールに不変で且つ低次元な特徴ベクトルを抽出する。画像検索の際に、回転及びスケールに不変な特徴ベクトルを用いることによって、回転及びスケールの違い対する画像に対しても精度高く検索することができる。また、低次元な特徴ベクトルを用いることによって、少ない計算資源で画像検索を実行することができる。
【0032】
図2は、本発明の特徴量抽出部における特徴ベクトルの抽出処理を表すフローチャートである。
【0033】
(S1)特徴ベクトルの抽出対象となる注目特徴点p0について、注目特徴点p0の最も近傍に位置するn個の特徴点集合X(注目特徴点p0を含まない)を抽出する(図3参照)。図3によれば、n=5の例であって、注目特徴点p0の最も近傍に位置する5個の特徴点集合Xが抽出されている。
【0034】
(S2)n個の特徴点集合Xから、注目特徴点p0を含まないm(m≦n)個の特徴点集合Yを選択する(図4参照)。図4によれば、m=4の例であって、注目特徴点p0を含まない4個の特徴点集合Yが選択されている。S2〜S6のステップを、n個の特徴点集合Xからm個の特徴点集合Yの全ての組み合わせについて繰り返す。
【0035】
(S3)特徴点集合Yについて、注目特徴点p0からk1番目に近傍の特徴点qを選択する(図5参照)。図5によれば、k1=1の例であって、注目特徴点p0から1番目に近傍の特徴点qを選択する。k1の値は、m個以下の任意の数値に固定される。
【0036】
(S4)注目特徴点p0及び特徴点qを結ぶ直線p0−qの距離rを導出する(図5参照)。
【0037】
(S5)注目特徴点p0を中心とし且つ距離rを半径とした円周から、所定長の近傍に含まれる1つ以上の特徴点集合Bを導出する(図5参照)。ここで、所定長の近傍について、注目特徴点p0を中心として、距離r/ρ以上(ρ≧1)から距離r・ρ以下の範囲に含まれる1つ以上の特徴点Bを導出する。図5によれば、2個の特徴点bが導出されている。
【0038】
(S6)注目特徴点p0と特徴点集合Bの各特徴点bとについて、角度及びスケールが一定となるように回転させ且つスケールを伸縮させる。そして、m個全ての特徴点を用いて、注目特徴点p0の特徴ベクトルfを算出する。図5によれば、特徴点集合Bの各特徴点b1,b2について、以下の処理を実行する。
【0039】
(S61)x軸と、注目特徴点p0及び特徴点b1を結ぶ直線p0−b1との間の角度θ(0≦θ<2π)を導出する(図6参照)。また、注目特徴点p0を中心として、特徴点b1から一方の回転方向(図6によれば反時計回り)へ、特徴点集合Yの各特徴点p1〜pmを割り振る。
【0040】
特徴ベクトルf1〜fmは、注目特徴点p0から当該特徴点p1〜pmへのxy座標ベクトルf(xi,yi)である。
p0->p1へのベクトル:f1=(x1,y1)
p0->p2へのベクトル:f2=(x2,y2)
p0->p3へのベクトル:f3=(x3,y3)
p0->p4へのベクトル:f4=(x4,y4)
【0041】
(S62)注目特徴点p0を中心として、直線p0−b1がx軸に重なるように、m個全ての特徴点集合Yを回転させる(図7参照)。図7によれば、特徴点p1〜p4全てを、注目特徴点p0を中心に、時計回りに回転させる。回転は、以下の行列を、各特徴ベクトルfiに乗算することによって表される。
【数1】
【0042】
(S63)注目特徴点p0からk2番目に近傍の特徴点cを導出する(図7参照)。図7によれば、k2=4の例であって、注目特徴点p0から4番目に近傍の特徴点c(xc,yc)を選択する。k2の値は、m個以下の任意の数値に固定される。そして、注目特徴点p0及び特徴点cを結ぶ直線p0−cのスケールが単位長(1)となるように、注目特徴点p0から見たm個全ての特徴点集合Yのスケールを伸縮させる(スケーリング)。子ケールの伸縮は、以下の行列を、各特徴ベクトルfiに乗算することによって表される。
【数2】
【0043】
(S64)注目特徴点p0について、特徴点集合Yの各特徴点p1〜pmの特徴ベクトルf1〜fmが順に算出される。注目特徴点p0の特徴ベクトルfは、回転及びスケーリングを合わせて、以下の行列を、各特徴ベクトルfiに乗算されたものとなる。
【数3】
これによって、回転及びスケーリング後の各点の座標Rf1,Rf2,・・・,Rfmを連結し、2×m次元の特徴ベクトルを得る。
【0044】
(S61)次に、x軸と、注目特徴点p0及び特徴点b2を結ぶ直線p0−b2との間の角度θを導出する(図8参照)。また、注目特徴点p0を中心として、特徴点b2から一方の回転方向(図8によれば時計回り)へ、特徴点集合Yの各特徴点p1〜pmを割り振る。
【0045】
(S62)注目特徴点p0を中心として、直線p0−b2がx軸に重なるように、m個全ての特徴点集合Yを回転させる(図9参照)。図9によれば、特徴点p1〜p4全てを、注目特徴点p0を中心に、時計回りに回転させる。
【0046】
(S63)注目特徴点p0からk2(k2=4)番目に近傍の特徴点c(xc,yc)を導出する(図9参照)。そして、注目特徴点p0及び特徴点cを結ぶ直線p0−cのスケールが単位長(1)となるように、注目特徴点p0から見たm個全ての特徴点集合Yのスケールを伸縮させる。
【0047】
(S64)注目特徴点p0について、特徴点集合Yの各特徴点p1〜pmの特徴ベクトルf1〜fmが順に算出される。
【0048】
そして、S2〜S6のステップを、n個の特徴点集合Xからm個の特徴点集合Yの全ての組み合わせについて繰り返す。
【0049】
尚、前述した特徴量抽出部のアルゴリズムは、以下のように表される。
for each p0∈{特徴点} do
X←p0の近傍n点の集合
for each Y∈{X内の点からm点を選ぶ全ての組み合わせ} do
q←Y内の点の中でのp0のk1近傍
r←p0とqの距離
for each B∈{Y内の点の中でPとの距離がr/ρ以上rρ以下の点(ρ≧1)}
Y及びb=(xB,yB)から特徴ベクトルを算出
end for
end for
end for
【0050】
参照用特徴量登録部113は、参照用特徴量抽出部112から出力された特徴ベクトルを、画像識別子と共に、画像データベース114へ登録する。ここで、参照用特徴量登録部113は、注目特徴点p0に対して、特徴ベクトルf1〜fm及び画像識別子に加えて、メタデータとして、x軸と直線p0−bとの間の角度θを付加することも好ましい。また、注目特徴点p0に対して、特徴ベクトルf1〜fm及び画像識別子に加えて、メタデータとして、スケールの伸縮前の直線p0−cの距離δを付加することも好ましい。その他、p0の座標(x, y)を付加することも好ましい。尚、効率的な検索を実現するために、kd-treeやSR-tree、Locality Sensitive Hashing等の索引構造を利用することも好ましい。
【0051】
参照画像から導出された特徴ベクトルは、画像データベースに登録される。また、クエリ画像から導出された特徴ベクトルは、特徴点検索部123へ入力される。
【0052】
特徴点検索部123は、クエリ用特徴点抽出部122から入力したクエリ画像の特徴点をキーとして、画像データベース114に蓄積された参照画像の特徴点を検索する。特徴点検索部123は、クエリ画像の特徴点の特徴ベクトルと、各参照画像の特徴点の特徴ベクトルとの間の距離を算出する。そして、所定距離以下又は所定個数以内の参照画像の特徴ベクトルとその特徴ベクトルに対応する特徴点とが検索される。これによって、クエリ画像の特徴ベクトルに類似する、参照画像の特徴ベクトルを検索することができる。また、特徴点検索部123は、所定回数以上検索された参照画像の特徴点のみを抽出する。各特徴点からは、1つ以上の特徴ベクトルが抽出されるために、特徴ベクトルについて検索した場合、同じ特徴点が複数回検索されることとなる。ここで、所定回数以上の複数回検索された特徴点は、クエリ画像の特徴ベクトルに更に類似する、参照画像の特徴ベクトルに基づくものであると認められる。
【0053】
投票部124は、投票処理によって、クエリ画像に最も類似する参照画像を検出する。
【0054】
図10は、本発明における投票部の処理を表すフローチャートである。
【0055】
図10(a)によれば、角度差θを用いて投票処理を実行する。
(S8)投票部124は、抽出された参照画像の特徴ベクトル毎に、クエリ画像の特徴ベクトルと共に付加された角度θと、当該参照画像の特徴ベクトルと共に付加された角度θとの角度差Δθを算出する。
(S9)次に、投票処理部124は、抽出された参照画像の特徴ベクトル毎に参照画像の画像識別子を抽出する。
(S10)そして、投票処理部124は、クエリ画像の特徴ベクトルそれぞれに対して算出された参照画像の画像識別子及び角度差Δθに基づく区分角度差に応じて投票処理を行うことによって、最も類似する参照画像を検出する。
【0056】
図10(b)によれば、距離比δを用いて投票処理を実行する。
(S8)投票部124は、抽出された参照画像毎に、クエリ画像の特徴ベクトルと共に付加された距離δと、当該参照画像の特徴ベクトルと共に付加された距離δとの距離比Δδを算出する。
(S9)次に、投票部124は、抽出された参照画像の特徴ベクトル毎に参照画像の画像識別子を抽出する。
(S10)そして、投票部124は、クエリ画像の画像識別子に基づいて、複数の参照画像の画像識別子を、距離比δに基づく区分距離比に応じて投票することによって、最も類似する参照画像を検出する。
【0057】
図11は、本発明における投票部の概念を表す説明図である。
【0058】
図11によれば、画像識別子と角度差Δθとの2次元の投票テーブル上に投票される。投票テーブルは、V[i][a]によって表される。初期時には、投票テーブルの全ての要素は0に設定される。
i:特徴点の画像識別子
a:角度差Δθ
a←floor((θ−θ’)×M/2π+0.5) mod M
【0059】
投票時に加えるスコアは1としてもよいが、特徴ベクトル間の距離に基づいて、特徴ベクトルの距離が近い特徴点に対するスコアを増加させることも好ましい。例えば距離がdだけ離れている特徴ベクトルに、exp(-d2/s)(sはパラメータ)スコアを加えることも好ましい。投票後、画像IDがiの画像のスコアをmax(v[i][0], v[i][1],…, v[i][M])により算出し、画像をスコアでソートした際の、上位画像の結果を出力する。
【0060】
以上、詳細に説明したように、本発明のプログラム、方法及び画像検索装置によれば、画像検索の際に、比較すべき画像に回転及びスケールの違いがあっても、幾何的な拘束条件を適用することよって、高い検索精度で且つ少ない計算資源で実行することができるような特徴点の特徴ベクトルを抽出する。
【0061】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0062】
1 画像検索装置
10 参照画像蓄積部
11 登録部
111 参照用特徴点抽出部
112 参照用特徴量抽出部
113 参照用特徴点登録部
114 画像データベース
12 検索部
121 クエリ用特徴点抽出部
122 クエリ用特徴量抽出部
123 特徴点検索部
124 投票部
【特許請求の範囲】
【請求項1】
画像から抽出されたxy座標の各特徴点の特徴ベクトルを抽出するようにコンピュータを実行させるプログラムにおいて、
注目特徴点p0及びm個の特徴点集合について、p0からk1番目に近傍の特徴点qを選択する第1のステップと、
注目特徴点p0及び特徴点qを結ぶ直線p0−qの距離rを導出する第2のステップと、
注目特徴点p0を中心とし且つ距離rを半径とした円周から、所定長の近傍に含まれる1つ以上の特徴点集合Bを導出する第3のステップと、
注目特徴点p0と特徴点集合Bの各特徴点bとについて、角度が一定となるように回転させて、m個全ての特徴点を用いて、注目特徴点p0の特徴ベクトルfを算出する第4のステップと
を有するようにコンピュータを実行させることを特徴とするプログラム。
【請求項2】
第4のステップにおける特徴ベクトルの算出について、注目特徴点p0を中心として、特徴点bから一方の回転方向へ、特徴点集合Yの各特徴点p1〜pmの特徴ベクトルf1〜fmを順に算出し、
前記特徴ベクトルf1〜fmは、注目特徴点p0から当該特徴点p1〜pmへのxy座標ベクトルf(xi,yi)である
ようにコンピュータを実行させることを特徴とする請求項1に記載のプログラム。
【請求項3】
第4のステップは、特徴点集合Bの各特徴点bについて、
x軸と、注目特徴点p0及び特徴点bを結ぶ直線p0−bとの間の角度θを導出し、
注目特徴点p0を中心として、直線p0−bがx軸に重なるように、m個全ての特徴点集合Yを回転させる
ようにコンピュータを実行させることを特徴とする請求項1又は2に記載のプログラム。
【請求項4】
第4のステップは、更に、注目特徴点p0と特徴点集合Bの各特徴点bとについて、スケールが一定となるようにスケールを伸縮させるべくコンピュータを実行させることを特徴とする請求項1から3のいずれか1項に記載のプログラム。
【請求項5】
第4のステップは、特徴点集合Bの各特徴点bについて、
注目特徴点p0からk2番目に近傍の特徴点cを導出し、注目特徴点p0及び特徴点cを結ぶ直線p0−cのスケールが単位長(1)となるように、注目特徴点p0から見たm個全ての特徴点集合Yのスケールを伸縮させる
ようにコンピュータを実行させることを特徴とする請求項4に記載のプログラム。
【請求項6】
第1のステップの前段について、
特徴ベクトルの抽出対象となる注目特徴点p0について、p0の最も近傍に位置するn個の特徴点集合X(p0を含まない)を抽出するステップと、
n個の特徴点集合Xから、m(m≦n)個の特徴点集合Y(p0を含まない)を選択するステップと
を有し、
n個の特徴点集合Xからm個の特徴点集合Yの全ての組み合わせについて、第1〜第4のステップを繰り返す
ようにコンピュータを実行させることを特徴とする請求項1から5のいずれか1項に記載のプログラム。
【請求項7】
第3のステップについて、注目特徴点p0を中心として、距離r/ρ以上(ρ≧1)から距離r・ρ以下の範囲に含まれる1つ以上の特徴点Bを導出するようにコンピュータを実行させることを特徴とする請求項1から6のいずれか1項に記載のプログラム。
【請求項8】
第4のステップについて、注目特徴点p0に対して、前記特徴ベクトルf1〜fm及び画像識別子に加えて、x軸と直線p0−bとの間の角度θを付加するようにコンピュータを実行させることを特徴とする請求項1から7のいずれか1項に記載のプログラム。
【請求項9】
多数の参照画像に中から、クエリ画像を用いて、参照画像を検索するために、
参照画像に対して、第1〜第4のステップによって特徴点に対応する特徴ベクトルを導出し、
クエリ画像に対して、第1〜第4のステップによって特徴点に対応する特徴ベクトルを導出し、
クエリ画像の特徴点の特徴ベクトルと、各参照画像の特徴点の特徴ベクトルとの間の距離を算出し、所定距離以下又は所定個数以内の参照画像の特徴ベクトルとその特徴ベクトルに対応する特徴点とを検索し、所定回数以上検索された参照画像の特徴点を抽出する第5のステップと、
抽出された参照画像の特徴ベクトル毎に、クエリ画像の特徴ベクトルと共に付加された角度θと、当該参照画像の特徴ベクトルと共に付加された角度θとの角度差Δθを算出する第6ステップと、
抽出された参照画像の特徴ベクトル毎に参照画像の画像識別子を抽出する第7のステップと、
前記クエリ画像の特徴ベクトルそれぞれに対して算出された参照画像の画像識別子及び前記角度差Δθに基づく区分角度差に応じて投票処理を行うことによって、最も類似する参照画像を検出する第8のステップと
してコンピュータを実行させることを特徴とする請求項8に記載のプログラム。
【請求項10】
第4のステップについて、注目特徴点p0に対して、前記特徴ベクトルf1〜fm及び画像識別子に加えて、スケールの伸縮前の直線p0−cの距離δを付加するようにコンピュータを実行させることを特徴とする請求項1から7のいずれか1項に記載のプログラム。
【請求項11】
多数の参照画像に中から、クエリ画像を用いて、参照画像を検索するために、
参照画像に対して、第1〜第4のステップによって特徴ベクトルを導出し、
クエリ画像に対して、第1〜第4のステップによって特徴ベクトルを導出し、
クエリ画像の特徴点の特徴ベクトルと、各参照画像の特徴点の特徴ベクトルとの間の距離を算出し、所定距離以下又は所定個数以内の参照画像の特徴ベクトルとその特徴ベクトルに対応する特徴点とを検索し、所定回数以上検索された参照画像の特徴点を抽出する第5のステップと、
抽出された参照画像毎に、クエリ画像の特徴ベクトルと共に付加された距離δと、当該参照画像の特徴ベクトルと共に付加された距離δとの距離比Δδを算出する第6のステップと、
抽出された参照画像の特徴ベクトル毎に参照画像の画像識別子を抽出する第7のステップと、
前記クエリ画像の画像識別子に基づいて、複数の参照画像の画像識別子を、前記距離比δに基づく区分距離比に応じて投票することによって、最も類似する参照画像を検出する第8のステップと
してコンピュータを実行させることを特徴とする請求項10に記載のプログラム。
【請求項12】
装置を用いて、画像から抽出されたxy座標の各特徴点の特徴ベクトルを抽出する方法において、
画像から抽出されたxy座標の各特徴点の特徴ベクトルを抽出するようにコンピュータを実行させるプログラムにおいて、
注目特徴点p0及びm個の特徴点集合について、p0からk1番目に近傍の特徴点qを選択する第1のステップと、
注目特徴点p0及び特徴点qを結ぶ直線p0−qの距離rを導出する第2のステップと、
注目特徴点p0を中心とし且つ距離rを半径とした円周から、所定長の近傍に含まれる1つ以上の特徴点集合Bを導出する第3のステップと、
注目特徴点p0と特徴点集合Bの各特徴点bとについて、角度が一定となるように回転させて、m個全ての特徴点を用いて、注目特徴点p0の特徴ベクトルfを算出する第4のステップと
を有することを特徴とする方法。
【請求項13】
大量の参照画像を蓄積した参照画像蓄積手段を有し、クエリ画像に類似する参照画像を検索する画像検索装置において、
前記参照画像蓄積手段の参照画像から、xy座標の複数の特徴点を抽出する参照用特徴点抽出手段と、
前記参照画像の各特徴点における特徴ベクトルを抽出する参照用特徴量抽出手段と、
前記参照画像の各特徴点における特徴ベクトルを、画像データベースに登録する参照用特徴量登録手段と、
前記クエリ画像から、xy座標の複数の特徴点を抽出するクエリ用特徴点抽出手段と、
前記クエリ画像の各特徴点における特徴ベクトルを抽出するクエリ用特徴量抽出手段と、
クエリ画像の特徴ベクトルに類似する、参照画像の特徴ベクトルを検索する画像検索手段と
を有し、
前記参照用特徴量抽出手段及び前記クエリ用特徴量抽出手段は、
注目特徴点p0及びm個の特徴点集合について、p0からk1番目に近傍の特徴点qを選択し、
注目特徴点p0及び特徴点qを結ぶ直線p0−qの距離rを導出し、
注目特徴点p0を中心とし且つ距離rを半径とした円周から、所定長の近傍に含まれる1つ以上の特徴点集合Bを導出し、
注目特徴点p0と特徴点集合Bの各特徴点bとについて、角度が一定となるように回転させて、m個全ての特徴点を用いて、注目特徴点p0の特徴ベクトルfを算出する
ことを特徴とする画像検索装置。
【請求項1】
画像から抽出されたxy座標の各特徴点の特徴ベクトルを抽出するようにコンピュータを実行させるプログラムにおいて、
注目特徴点p0及びm個の特徴点集合について、p0からk1番目に近傍の特徴点qを選択する第1のステップと、
注目特徴点p0及び特徴点qを結ぶ直線p0−qの距離rを導出する第2のステップと、
注目特徴点p0を中心とし且つ距離rを半径とした円周から、所定長の近傍に含まれる1つ以上の特徴点集合Bを導出する第3のステップと、
注目特徴点p0と特徴点集合Bの各特徴点bとについて、角度が一定となるように回転させて、m個全ての特徴点を用いて、注目特徴点p0の特徴ベクトルfを算出する第4のステップと
を有するようにコンピュータを実行させることを特徴とするプログラム。
【請求項2】
第4のステップにおける特徴ベクトルの算出について、注目特徴点p0を中心として、特徴点bから一方の回転方向へ、特徴点集合Yの各特徴点p1〜pmの特徴ベクトルf1〜fmを順に算出し、
前記特徴ベクトルf1〜fmは、注目特徴点p0から当該特徴点p1〜pmへのxy座標ベクトルf(xi,yi)である
ようにコンピュータを実行させることを特徴とする請求項1に記載のプログラム。
【請求項3】
第4のステップは、特徴点集合Bの各特徴点bについて、
x軸と、注目特徴点p0及び特徴点bを結ぶ直線p0−bとの間の角度θを導出し、
注目特徴点p0を中心として、直線p0−bがx軸に重なるように、m個全ての特徴点集合Yを回転させる
ようにコンピュータを実行させることを特徴とする請求項1又は2に記載のプログラム。
【請求項4】
第4のステップは、更に、注目特徴点p0と特徴点集合Bの各特徴点bとについて、スケールが一定となるようにスケールを伸縮させるべくコンピュータを実行させることを特徴とする請求項1から3のいずれか1項に記載のプログラム。
【請求項5】
第4のステップは、特徴点集合Bの各特徴点bについて、
注目特徴点p0からk2番目に近傍の特徴点cを導出し、注目特徴点p0及び特徴点cを結ぶ直線p0−cのスケールが単位長(1)となるように、注目特徴点p0から見たm個全ての特徴点集合Yのスケールを伸縮させる
ようにコンピュータを実行させることを特徴とする請求項4に記載のプログラム。
【請求項6】
第1のステップの前段について、
特徴ベクトルの抽出対象となる注目特徴点p0について、p0の最も近傍に位置するn個の特徴点集合X(p0を含まない)を抽出するステップと、
n個の特徴点集合Xから、m(m≦n)個の特徴点集合Y(p0を含まない)を選択するステップと
を有し、
n個の特徴点集合Xからm個の特徴点集合Yの全ての組み合わせについて、第1〜第4のステップを繰り返す
ようにコンピュータを実行させることを特徴とする請求項1から5のいずれか1項に記載のプログラム。
【請求項7】
第3のステップについて、注目特徴点p0を中心として、距離r/ρ以上(ρ≧1)から距離r・ρ以下の範囲に含まれる1つ以上の特徴点Bを導出するようにコンピュータを実行させることを特徴とする請求項1から6のいずれか1項に記載のプログラム。
【請求項8】
第4のステップについて、注目特徴点p0に対して、前記特徴ベクトルf1〜fm及び画像識別子に加えて、x軸と直線p0−bとの間の角度θを付加するようにコンピュータを実行させることを特徴とする請求項1から7のいずれか1項に記載のプログラム。
【請求項9】
多数の参照画像に中から、クエリ画像を用いて、参照画像を検索するために、
参照画像に対して、第1〜第4のステップによって特徴点に対応する特徴ベクトルを導出し、
クエリ画像に対して、第1〜第4のステップによって特徴点に対応する特徴ベクトルを導出し、
クエリ画像の特徴点の特徴ベクトルと、各参照画像の特徴点の特徴ベクトルとの間の距離を算出し、所定距離以下又は所定個数以内の参照画像の特徴ベクトルとその特徴ベクトルに対応する特徴点とを検索し、所定回数以上検索された参照画像の特徴点を抽出する第5のステップと、
抽出された参照画像の特徴ベクトル毎に、クエリ画像の特徴ベクトルと共に付加された角度θと、当該参照画像の特徴ベクトルと共に付加された角度θとの角度差Δθを算出する第6ステップと、
抽出された参照画像の特徴ベクトル毎に参照画像の画像識別子を抽出する第7のステップと、
前記クエリ画像の特徴ベクトルそれぞれに対して算出された参照画像の画像識別子及び前記角度差Δθに基づく区分角度差に応じて投票処理を行うことによって、最も類似する参照画像を検出する第8のステップと
してコンピュータを実行させることを特徴とする請求項8に記載のプログラム。
【請求項10】
第4のステップについて、注目特徴点p0に対して、前記特徴ベクトルf1〜fm及び画像識別子に加えて、スケールの伸縮前の直線p0−cの距離δを付加するようにコンピュータを実行させることを特徴とする請求項1から7のいずれか1項に記載のプログラム。
【請求項11】
多数の参照画像に中から、クエリ画像を用いて、参照画像を検索するために、
参照画像に対して、第1〜第4のステップによって特徴ベクトルを導出し、
クエリ画像に対して、第1〜第4のステップによって特徴ベクトルを導出し、
クエリ画像の特徴点の特徴ベクトルと、各参照画像の特徴点の特徴ベクトルとの間の距離を算出し、所定距離以下又は所定個数以内の参照画像の特徴ベクトルとその特徴ベクトルに対応する特徴点とを検索し、所定回数以上検索された参照画像の特徴点を抽出する第5のステップと、
抽出された参照画像毎に、クエリ画像の特徴ベクトルと共に付加された距離δと、当該参照画像の特徴ベクトルと共に付加された距離δとの距離比Δδを算出する第6のステップと、
抽出された参照画像の特徴ベクトル毎に参照画像の画像識別子を抽出する第7のステップと、
前記クエリ画像の画像識別子に基づいて、複数の参照画像の画像識別子を、前記距離比δに基づく区分距離比に応じて投票することによって、最も類似する参照画像を検出する第8のステップと
してコンピュータを実行させることを特徴とする請求項10に記載のプログラム。
【請求項12】
装置を用いて、画像から抽出されたxy座標の各特徴点の特徴ベクトルを抽出する方法において、
画像から抽出されたxy座標の各特徴点の特徴ベクトルを抽出するようにコンピュータを実行させるプログラムにおいて、
注目特徴点p0及びm個の特徴点集合について、p0からk1番目に近傍の特徴点qを選択する第1のステップと、
注目特徴点p0及び特徴点qを結ぶ直線p0−qの距離rを導出する第2のステップと、
注目特徴点p0を中心とし且つ距離rを半径とした円周から、所定長の近傍に含まれる1つ以上の特徴点集合Bを導出する第3のステップと、
注目特徴点p0と特徴点集合Bの各特徴点bとについて、角度が一定となるように回転させて、m個全ての特徴点を用いて、注目特徴点p0の特徴ベクトルfを算出する第4のステップと
を有することを特徴とする方法。
【請求項13】
大量の参照画像を蓄積した参照画像蓄積手段を有し、クエリ画像に類似する参照画像を検索する画像検索装置において、
前記参照画像蓄積手段の参照画像から、xy座標の複数の特徴点を抽出する参照用特徴点抽出手段と、
前記参照画像の各特徴点における特徴ベクトルを抽出する参照用特徴量抽出手段と、
前記参照画像の各特徴点における特徴ベクトルを、画像データベースに登録する参照用特徴量登録手段と、
前記クエリ画像から、xy座標の複数の特徴点を抽出するクエリ用特徴点抽出手段と、
前記クエリ画像の各特徴点における特徴ベクトルを抽出するクエリ用特徴量抽出手段と、
クエリ画像の特徴ベクトルに類似する、参照画像の特徴ベクトルを検索する画像検索手段と
を有し、
前記参照用特徴量抽出手段及び前記クエリ用特徴量抽出手段は、
注目特徴点p0及びm個の特徴点集合について、p0からk1番目に近傍の特徴点qを選択し、
注目特徴点p0及び特徴点qを結ぶ直線p0−qの距離rを導出し、
注目特徴点p0を中心とし且つ距離rを半径とした円周から、所定長の近傍に含まれる1つ以上の特徴点集合Bを導出し、
注目特徴点p0と特徴点集合Bの各特徴点bとについて、角度が一定となるように回転させて、m個全ての特徴点を用いて、注目特徴点p0の特徴ベクトルfを算出する
ことを特徴とする画像検索装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2013−89079(P2013−89079A)
【公開日】平成25年5月13日(2013.5.13)
【国際特許分類】
【出願番号】特願2011−229881(P2011−229881)
【出願日】平成23年10月19日(2011.10.19)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】
【公開日】平成25年5月13日(2013.5.13)
【国際特許分類】
【出願日】平成23年10月19日(2011.10.19)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】
[ Back to top ]