(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-17
(45)【発行日】2022-06-27
(54)【発明の名称】検索装置、検索方法および検索プログラム
(51)【国際特許分類】
G06F 16/903 20190101AFI20220620BHJP
【FI】
G06F16/903
(21)【出願番号】P 2017222593
(22)【出願日】2017-11-20
【審査請求日】2020-03-09
(31)【優先権主張番号】P 2017179475
(32)【優先日】2017-09-19
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】岩崎 雅二郎
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】特開2017-138744(JP,A)
【文献】特開2014-134860(JP,A)
【文献】特開2016-014914(JP,A)
【文献】特開2017-010468(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
検索対象となる複数の対象情報のそれぞれが有する複数の特徴量のうち、クエリ情報が有する複数の特徴量と類似する特徴量を判定し、クエリ情報が有する複数の特徴量と類似する特徴量の数が所定の条件を満たす対象情報を検索結果の候補である候補情報とする判定部と、
前記候補情報ごとに、当該候補情報が有する全ての特徴量と、前記クエリ情報が有する全ての特徴量とを比較する比較部と、
前記候補情報が有する特徴量のうち、前記クエリ情報が有するいずれかの特徴量と類似する特徴量の数が所定の条件を満たす場合は、当該候補情報を前記クエリ情報と類似する対象情報とすることで、前記クエリ情報と類似する対応情報を検索する検索部と
を有することを特徴とする検索装置。
【請求項2】
前記判定部は、前記クエリ情報が部分的に有する特徴量と、前記対象情報が部分的に有する特徴量とが類似するか否かを判定する
ことを特徴とする請求項1に記載の検索装置。
【請求項3】
前記比較部は、前記クエリ情報が有する複数の特徴量と、前記対象情報が有する複数の特徴量のうち一部の特徴量とが類似すると判定された場合は、前記クエリ情報が有する全ての特徴量と、対象情報が有する全ての特徴量とを比較する
ことを特徴とする請求項1または2に記載の検索装置。
【請求項4】
前記判定部は、前記クエリ情報が有する複数の特徴量と、前記対象情報が有する複数の特徴量のうち一部の特徴量とが類似する場合は、当該クエリ情報が有する複数の特徴量の座標関係と、当該対象情報が有する一部の特徴量の座標関係とが類似するか否かを判定し、
前記比較部は、前記クエリ情報が有する複数の特徴量の座標関係と、前記対象情報が有する一部の特徴量の座標関係とが類似すると判定された場合は、前記クエリ情報が有する全ての特徴量と、前記対象情報が有する全ての特徴量とを比較する
ことを特徴とする請求項1~3のうちいずれか1つに記載の検索装置。
【請求項5】
前記比較部は、前記クエリ情報が有する特徴量のうち複数の特徴量が、前記対象情報が有する特徴量のいずれかと類似する場合は、当該複数の特徴量同士の座標関係と、前記対象情報が有する特徴量のうち前記複数の特徴量と類似する特徴量同士の座標関係とを比較する
ことを特徴とする請求項4に記載の検索装置。
【請求項6】
前記判定部は、前記対象情報の数が第1閾値を超える場合は、前記クエリ情報が有する複数の特徴量の座標関係と、前記対象情報が有する一部の特徴量の座標関係とが類似するか否かを判定する
ことを特徴とする請求項4または5に記載の検索装置。
【請求項7】
前記比較部は、前記対象情報の数が第2閾値を超える場合は、前記複数の特徴量同士の座標関係と、前記対象情報が有する特徴量のうち前記複数の特徴量と類似する特徴量同士の座標関係とを比較する
ことを特徴とする請求項4~6のうちいずれか1つに記載の検索装置。
【請求項8】
前記判定部は、前記クエリ情報が有する複数の特徴量の座標関係と、当該対象情報が有する一部の特徴量の座標関係との類似性を示すパラメータを前記対象情報ごとに算出し、
前記比較部は、前記パラメータの変化が所定の条件を満たす場合は、前記クエリ情報が有する全ての特徴量と、前記対象情報が有する全ての特徴量とを比較する
ことを特徴とする請求項4~7のうちいずれか1つに記載の検索装置。
【請求項9】
前記比較部は、前記パラメータが指数関数的に変化する場合は、前記クエリ情報が有する全ての特徴量と、前記対象情報が有する全ての特徴量とを比較する
ことを特徴とする請求項8に記載の検索装置。
【請求項10】
前記判定部は、前記パラメータとして、前記クエリ情報が有する複数の特徴量に対応する特徴点の座標をアフィン変換した座標が当該対象情報が有する一部の特徴量に対応する特徴点の座標と類似する確度を算出する
ことを特徴とする請求項8または9に記載の検索装置。
【請求項11】
前記判定部は、クエリ情報となる画像が有する複数の特徴量と、検索対象となる画像が有する複数の特徴量のうち一部の特徴量とが類似するか否かを判定する
ことを特徴とする請求項1~10のうちいずれか1つに記載の検索装置。
【請求項12】
検索装置が実行する検索方法であって、
検索対象となる複数の対象情報のそれぞれが有する複数の特徴量のうち、クエリ情報が有する複数の特徴量と類似する特徴量を判定し、クエリ情報が有する複数の特徴量と類似する特徴量の数が所定の条件を満たす対象情報を検索結果の候補である候補情報とする判定工程と、
前記候補情報ごとに、当該候補情報が有する全ての特徴量と、前記クエリ情報が有する全ての特徴量とを比較する比較工程と、
前記候補情報が有する特徴量のうち、前記クエリ情報が有するいずれかの特徴量と類似する特徴量の数が所定の条件を満たす場合は、当該候補情報を前記クエリ情報と類似する対象情報とすることで、前記クエリ情報と類似する対応情報を検索する検索工程と
を含むことを特徴とする検索方法。
【請求項13】
検索対象となる複数の対象情報のそれぞれが有する複数の特徴量のうち、クエリ情報が有する複数の特徴量と類似する特徴量を判定し、クエリ情報が有する複数の特徴量と類似する特徴量の数が所定の条件を満たす対象情報を検索結果の候補である候補情報とする判定手順と、
前記候補情報ごとに、当該候補情報が有する全ての特徴量と、前記クエリ情報が有する全ての特徴量とを比較する比較手順と、
前記候補情報が有する特徴量のうち、前記クエリ情報が有するいずれかの特徴量と類似する特徴量の数が所定の条件を満たす場合は、当該候補情報を前記クエリ情報と類似する対象情報とすることで、前記クエリ情報と類似する対応情報を検索する検索手順と
をコンピュータに実行させるための検索プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検索装置、検索方法および検索プログラムに関する。
【背景技術】
【0002】
従来、検索クエリとなる情報が有する特徴量と、検索対象となる情報が有する特徴量とを比較することで、検索クエリと類似する情報を検索する技術が知られている。このような技術の一例として、検索クエリとなる画像から抽出した複数の局所的な特徴量(以下、「局所特徴量」と記載する。)と、検索対象となる画像が有する複数の局所特徴量との類似度に加え、局所特徴量を抽出した範囲の座標関係の類似度に基づいて、検索クエリとなる画像と類似する画像を検索する技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した従来技術では、類似検索の精度が必ずしも良いとは言えない場合がある。
【0005】
例えば、上述した従来技術では、検索クエリから抽出した複数の局所特徴量と、検索対象となる画像が有する複数の局所特徴量とを比較し、類似する局所特徴量を特定する。そして、従来技術では、検索クエリから抽出した局所特徴量のうち特定した局所特徴量の座標関係と、検索対象となる画像が有する局所特徴量のうち特定した局所特徴量の座標関係との類似性を比較する。このように、上述した従来技術では、各情報が有する局所特徴量のうち一部の局所特徴量の座標関係に基づいて、類似性を判断するので、検索クエリとなる画像と類似しない画像を検索結果に含める恐れがある。
【0006】
本願は、上記に鑑みてなされたものであって、類似検索の精度を向上させることを目的とする。
【課題を解決するための手段】
【0007】
本願に係る検索装置は、クエリ情報が有する複数の特徴量と、検索対象となる対象情報が有する複数の特徴量のうち一部の特徴量とが類似するか否かを判定する判定部と、前記判定部による判定結果が所定の条件を満たす場合は、前記クエリ情報が有する全ての特徴量と、前記対象情報が有する全ての特徴量とを比較する比較部と前記比較部による比較結果に基づいて、前記クエリ情報と類似する前記対象情報を検索する検索部とを有することを特徴とする。
【発明の効果】
【0008】
実施形態の一態様によれば、類似検索の精度を向上させることができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施形態に係る情報提供装置が実行する検索処理の一例を示す図である。
【
図2】
図2は、実施形態に係る情報提供装置が実行する処理の流れのバリエーションを示す図である。
【
図3】
図3は、実施形態に係る情報提供装置が実行する検索処理の対象の一例を示す図である。
【
図4】
図4は、実施形態に係る情報提供装置の構成例を示す図である。
【
図5】
図5は、実施形態に係る検索対象データベースに登録される情報の一例を示す図である。
【
図6】
図6は、実施形態に係る情報提供装置が実行する表示処理の流れの一例を示すフローチャートである。
【
図7】
図7は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0010】
以下に、本願に係る検索装置、検索方法および検索プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る検索装置、検索方法および検索プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
【0011】
〔1-1.情報提供装置の一例について〕
まず、
図1を用いて、検索装置の一例である情報提供装置が実行する検索処理の一例について説明する。
図1は、実施形態に係る情報提供装置が実行する検索処理の一例を示す図である。
【0012】
図1では、インターネット等の所定のネットワークN(例えば、
図4参照)を介して、各利用者が使用する端末装置100と情報提供装置10は、相互に通信可能である。また、情報提供装置10は、端末装置100以外にも、各種の外部サーバと相互に通信可能であるものとする。また、情報提供装置10は、任意の数の端末装置100と通信可能であってもよい。
【0013】
端末装置100は、スマートフォンやタブレット等のスマートデバイスであり、3G(3rd Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。なお、端末装置100は、スマートデバイスのみならず、デスクトップPC(Personal Computer)やノートPC等の情報処理装置であってもよい。
【0014】
情報提供装置10は、検索処理を実行する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。例えば、情報提供装置10は、端末装置100から検索クエリとなるコンテンツ(以下、「クエリコンテンツ」と記載する。)を受信すると、受信したクエリコンテンツと類似する内容のコンテンツを検索し、検索したコンテンツや、検索したコンテンツを示す他のコンテンツを検索結果として端末装置100に提供する検索処理を実行する。
【0015】
より具体的な例を挙げると、情報提供装置10は、検索対象となる複数の画像を保持する。そして、情報提供装置10は、端末装置100から検索クエリとなる画像(以下、「クエリ画像」と記載する。)を受信すると、受信したクエリ画像と類似する画像を検索し、クエリ画像と類似する画像の情報を検索結果として端末装置100へと送信する。
【0016】
〔1-2.検索処理の概要について〕
ここで、クエリコンテンツと類似するコンテンツを検索する手法として、各コンテンツが有する特徴量を用いる技術が知られている。例えば、クエリコンテンツの特徴量と、検索対象となるコンテンツの特徴量とを比較し、特徴量が類似するか否かに基づいて、クエリコンテンツと類似するコンテンツを特定する技術が知られている。
【0017】
以下、コンテンツの一例として、クエリ画像と類似する画像を検索する手法の一例について説明するが、以下の説明は、検索処理の対象を画像に限定するものではない。すなわち、情報提供装置10は、静止画像や動画像といった画像のみならず、文章、映画、音楽コンテンツ等、任意のコンテンツについて後述する検索処理を実行してよい。
【0018】
例えば、特徴点を用いた検索においては、検索対象となる画像(以下、「対象画像」と記載する。)の中から自動的に選択された特徴的な点及び範囲(半径)及び方向に基づいて、その範囲における特徴量が算出される。このような処理の結果、各特徴点は、不規則な位置となり、特徴量が算出される範囲(半径)も様々な大きさのものが採用される。なお、特徴量が算出される範囲は、円形に限定されるものではなく、楕円や矩形等、任意の形状が採用可能である。なお、以下の説明では、対象画像から算出した各特徴量を「対象画像の局所特徴量」と記載する。続いて、情報提供装置10は、クエリ画像についても同様に、自動的に選択された特徴的な点及び範囲(半径)及び方向に基づいて、その範囲における特徴量を算出する。なお、以下の説明では、クエリ画像から算出した各特徴量を「クエリ画像の局所特徴量」と記載する。
【0019】
なお、上述した対象画像およびクエリ画像の局所特徴量は、GIST(http://ilab.usc.edu/siagian/Research/Gist/Gist.html)、カラーヒストグラム、色分布などの広域特徴量やSIFT(Scale-Invariant Feature Transform)、SURF(Speed-Up Robust Features)、局所特徴量等、画像が有する特徴量を取得する任意の技術が採用可能である。なお、ニューラルネットで生成される特徴量も利用可能である。
【0020】
そして、情報提供装置10は、クエリ画像の局所特徴量と対象画像の局所特徴量とをそれぞれ比較することで、対象画像の局所特徴量のうち、クエリ画像の局所特徴量と類似する局所特徴量を特定する。例えば、情報提供装置10は、NGT(Neighborhood Graph and Tree)等といった技術を用いて、クエリ画像の局所特徴量と類似する対象画像の局所特徴量を検索する。そして、情報提供装置10は、対象画像のうち、クエリ画像の局所特徴量と類似する局所特徴量の数が閾値を超える対象画像をクエリ画像の類似候補として選択する。すなわち、情報提供装置10は、局所特徴量同士の類似性に基づく投票形式で、クエリ画像と類似する対象画像を類似画像の候補として選択する。なお、以下の説明では、上述した局所特徴量同士が類似するか否かを判定する処理を「部分特徴量照合処理」と記載する場合がある。
【0021】
ここで、類似候補の候補をそのまま検索結果として出力する手法も考えられるが、情報提供装置10は、さらに精度を高めるため、以下に説明する部分特徴点座標照合処理を実行する。例えば、情報提供装置10は、類似画像の候補となった画像(以下、「候補画像」と記載する。)の局所特徴量のうち、部分特徴量照合処理においてクエリ画像の局所特徴量と類似すると判定された局所特徴量を抽出し、抽出した局所特徴量を有する特徴点同士の座標関係を特定する。また、情報提供装置10は、座標関係を特定した局所特徴量と類似する局所特徴量をクエリ画像の局所特徴量から抽出し、抽出した局所特徴量を有する特徴点同士の座標関係を特定する。
【0022】
そして、情報提供装置10は、特定した座標関係が、クエリ画像と候補画像との相互で類似するか否かを判定する。すなわち、情報提供装置10は、クエリ画像の局所特徴量と、候補画像の局所特徴量とのうち、類似すると判定された局所特徴量の座標関係を比較する。例えば、情報提供装置10は、クエリ画像から特定した局所特徴量の座標をアフィン変換(例えば、回転、平行移動、拡大もしくは縮小)した際に、候補画像から特定した局所特徴量の座標と類似するか否かを判定する。そして、情報提供装置10は、クエリ画像の局所特徴量の座標と、候補画像の局所特徴量の座標とが類似すると判定した場合は、クエリ画像とその候補画像とが類似すると判定する。
【0023】
しかしながら、このような部分特徴量照合処理と、部分特徴点座標照合処理とを用いた技術では、精度を向上させる余地が存在する。例えば、上述した部分特徴点座標照合処理では、部分特徴点照合処理によって類似すると判定された局所特徴量が比較対象となる。しかしながら、部分特徴点照合処理によって類似すると判定される局所特徴量の数は、クエリ画像や候補画像から抽出される全ての局所特徴量と比較してかなり少ない。このため、クエリ画像や対象画像の内容によっては、検索対象にノイズが含まれる確率が高くなる恐れがある。
【0024】
そこで、情報提供装置10は、以下の検索処理を実行する。まず、情報提供装置10は、クエリ情報が有する複数の特徴量と、検索対象となる対象情報が有する複数の特徴量のうち一部の特徴量とが類似するか否かを判定する。例えば、情報提供装置10は、クエリ情報が部分的に有する特徴量(すなわち、局所特徴量)と、対象情報が部分的に有する特徴量(すなわち、局所特徴量)とが類似するか否かを判定する。続いて、情報提供装置10は、判定結果が所定の条件を満たす場合は、クエリ情報が有する全ての特徴量と、対象情報が有する全ての特徴量とを比較する。そして、情報提供装置10は、比較結果に基づいて、クエリ情報と類似する対象情報を検索する。
【0025】
例えば、情報提供装置10は、クエリ画像が有する複数の局所特徴量と、対象画像が有する複数の局所特徴量のうち一部の特徴量とが類似する場合は、クエリ画像が有する複数の局所特徴量の座標関係と、対象画像が有する一部の局所特徴量の座標関係とが類似するか否かを判定する。すなわち、情報提供装置10は、上述した部分特徴量照合処理を実行し、クエリ画像が有する局所特徴量と類似する局所特徴量の数が所定の閾値を超える対象画像を候補画像とする。そして、情報提供装置10は、上述した部分特徴点座標照合処理を実行し、クエリ画像の局所特徴量のうち候補画像の局所特徴量と類似する局所特徴量の座標関係と、候補画像の局所特徴量のうちクエリ画像の局所特徴量と類似する局所特徴量の座標関係とを比較する。
【0026】
そして、情報提供装置10は、クエリ画像が有する複数の局所特徴量の座標関係と、対象画像が有する一部の局所特徴量の座標関係とが類似すると判定された場合、すなわち部分特徴点座標照合処理において各座標関係が類似すると判定した場合は、クエリ画像が有する全ての局所特徴量と、対象情報が有する全ての局所特徴量とを比較する全体特徴量照合処理を実行する。すなわち、情報提供装置10は、部分特徴量照合処理および部分特徴量座標照合処理で認識対象となった複数の候補画像を対象に、クエリ画像とそれぞれの認識対象画像を一対ずつ、各画像内の全ての特徴量を用いた照合処理を実行する。例えば、情報提供装置10は、クエリ画像のすべての特徴量のそれぞれを、候補画像から抽出したすべての特徴量の中で最も類似する特徴量に対応付ける。そして、情報提供装置10は、対応付けの結果に基づいて、各特徴量の座標関係の照合を行う。また、情報提供装置10は、上述した処理を各候補画像ごとに実行する。このような処理の結果、情報提供装置10は、クエリ画像の全ての特徴量を、候補画像のいずれかの特徴量に対応付けることができる。
【0027】
また、情報提供装置10は、クエリ画像が有する局所特徴量のうち複数の局所特徴量が、対象画像が有する局所特徴量のいずれかと類似する場合は、以下の全体特徴点座標照合処理を実行する。すなわち、情報提供装置10は、クエリ画像が有する局所特徴量のうち、全体特徴量照合処理において対象画像の局所特徴量と類似すると判定された複数の局所特徴量同士の座標関係と、対象画像が有する特徴量のうち全体特徴量照合処理においてクエリ画像の局所特徴量と類似すると判定された局所特徴量同士の座標関係とを比較する。
【0028】
そして、情報提供装置10は、全体特徴点座標照合処理の結果、各座標関係が類似すると判定された場合は、クエリ画像と候補画像とが類似すると判定する。このように、情報提供装置10は、部分特徴点座標照合処理においてクエリ画像とある対象画像とが類似すると判定された場合は、クエリ画像の全ての局所特徴量とその対象画像の全ての局所特徴量とを比較しなおす。そして、情報提供装置10は、比較結果に基づいて、クエリ画像と候補画像とが類似するか否かを判定するので、検索処理における精度を向上させることができる。
【0029】
例えば、上述した部分特徴量照合処理では、対象画像の局所特徴量とクエリ画像が有する局所特徴量とが類似するか否かを判定し、判定結果に基づく投票により、クエリ画像が有する一部の局所特徴量が、複数の対象画像のうち一部の局所特徴量と対応付けられることとなる。従来技術においては、このようにして対応付けされた一部の局所特徴量を用いて、部分特徴点座標照合処理を実行することで、座標の照合を行っていた。これに対し、情報提供装置10は、部分特徴量照合処理や部分特徴点座標照合処理によって認識対象画像(検索結果に含める候補となった対象画像)となった複数の対象画像を対象に、クエリ画像とそれぞれの認識対象画像を一対ずつ、各画像内の全特徴量による照合処理を実行する。
【0030】
すなわち、情報提供装置10は、クエリ画像のすべての特徴量から一つ一つ選択し、認識対象画像から抽出したすべての特徴量の中で最も類似する特徴に順次対応付ける。そして、情報提供装置10は、対応付けの結果を用いて、各画像内における特徴点の座標関係の照合を行う。また、情報提供装置10は、上述した処理を各認識対象画像に対して順次行う。従来の特徴点や特徴量を用いた検索では、全ての対象画像の全特徴量から最も近いものと対応付けていたので、1つの対象画像当たりに対応付けられる特徴量が少なくなってしまう。一方、情報提供装置10は、クエリ画像と各認識対象画像との間での対応付けを行うことで、すべての特徴量が対応づけられることができ、類似判定の精度を向上させることができる。
【0031】
〔1-3.検索処理の一例について〕
次に、
図1を用いて、情報提供装置10が実行する検索処理の流れの一例について説明する。例えば、情報提供装置10は、検索対象となる対象画像の局所特徴量をあらかじめ抽出する(ステップS1)。例えば、情報提供装置10は、対象画像T1の中から自動的に選択された複数の特徴点P1、P2・・・ごとに、特徴点からそれぞれ自動的に決定された方向の、自動的に決定された範囲内(例えば、半径が数十ピクセルの範囲内)に含まれる画素の特徴量を局所特徴量FP1、FP2・・・として取得する。このように、各画像から特徴点を自動的に抽出した場合、同一物体を撮影した2画像から物体上の同じ位置が特徴点として抽出されるので、座標照合が可能となる。
【0032】
続いて、情報提供装置10は、端末装置100から画像を取得する(ステップS2)。このような場合、情報提供装置10は、取得した画像をクエリ画像とし、クエリ画像の局所特徴量と対象画像の局所特徴量とを比較する(ステップS3)。より具体的には、情報提供装置10は、部分特徴量照合処理を実行する。
【0033】
例えば、情報提供装置10は、点線の縁で示すように、クエリ画像Q1から自動的に選択された特徴点、範囲および方向について、それぞれ特徴量を局所特徴量として抽出する。そして、情報提供装置10は、クエリ画像Q1の各局所特徴量と、各対象画像の局所特徴量とを比較し、類似するか否かを判定する。より具体的には、情報提供装置10は、クエリ画像が有する複数の局所特徴量から処理対象となる局所特徴量を選択し、各対象画像が有する局所特徴量のうち、クエリ画像から選択した局所特徴量と最も類似する局所特徴量を特定する。そして、情報提供装置10は、選択したクエリ画像の局所特徴量と、特定した対象画像の局所特徴量とを対応付ける。
【0034】
例えば、情報提供装置10は、対象画像T1の局所特徴量FP1が、クエリ画像Q1の局所特徴量のうちいずれかの局所特徴量と最も類似する場合には、マッチすると判定し、対象画像T2の局所特徴量FP10が、クエリ画像Q1の局所特徴量のうちいずれの局所特徴量とも類似しない(他により類似する局所特徴量が存在する)場合には、マッチしないと判定する。続いて、情報提供装置10は、対象画像のうち、クエリ画像Q1の局所特徴量とマッチした局所特徴量の数が所定の閾値を超える対象画像を候補画像として選択する。例えば、情報提供装置10は、マッチした局所特徴量の数が多い順に所定の数の対象画像を候補画像として選択する。
【0035】
また、情報提供装置10は、処理対象となる候補画像を1つ選択する。また、情報提供装置10は、クエリ画像の局所特徴量のうち、選択した候補画像の局所特徴量とマッチした局所特徴量をクエリ画像の類似特徴量とし、選択した候補画像の局所特徴量のうち、クエリ画像の局所特徴量とマッチした局所特徴量を候補画像の類似特徴量とする。
【0036】
例えば、情報提供装置10は、クエリ画像の個々の局所特徴量に対して最も類似する候補画像の局所特徴量を対応付け、クエリ画像が有する局所特徴量のうち、候補画像が有する局所特徴量と対応付けられた局所特徴量を類似特徴量としてもよい。また、例えば、情報提供装置10は、候補画像の個々の局所特徴量に対して最も類似するクエリ画像の個々の局所特徴量を対応付け、候補画像が有する局所特徴量のうち、クエリ画像が有する局所特徴量と対応付けられた局所特徴量を類似特徴量としてもよい。また、例えば、情報提供装置10は、クエリ画像の個々の局所特徴量に対して最も類似する候補画像の局所特徴量を対応付け、候補画像の個々の局所特徴量に対して最も類似するクエリ画像の個々の局所特徴量を対応付ける。そして、情報提供装置10は、対応付けが一致したクエリ画像の局所特徴量および候補画像の局所特徴量を類似特徴量としてもよい。
【0037】
そして、情報提供装置10は、クエリ画像の類似特徴量の座標関係と候補画像の類似特長量の座標関係とを比較する(ステップS4)。すなわち、情報提供装置10は、部分特徴点座標照合処理を実行する。すなわち、情報提供装置10は、クエリ画像が有する局所特徴量のうち一部の局所特徴量と、候補画像の局所特徴量のうち、クエリ画像の局所特徴量と対応付けられた局所特徴量との座標関係を比較する。
【0038】
例えば、部分特徴点座標照合処理において、クエリ画像Q1の特徴点QF1~QF3から求めた局所特徴量と、対象画像T1の特徴点P1~P3から求めた局所特徴量がマッチすると判断されたものとする。このような場合、情報提供装置10は、クエリ画像Q1の特徴点QF1~QF3の座標関係QFCと、対応する対象画像T1の特徴点P1~P3の座標関係PCとが類似するか否かを判定する。より具体的には、情報提供装置10は、マッチする局所特徴量同士を対応する局所特徴量とする。そして、情報提供装置10は、マッチする局所特徴量同士の対応関係に基づいて、クエリ画像から対象画像(若しくは、その逆)を実現するアフィン変換の係数を推定する。また、情報提供装置10は、推定した係数で、クエリ画像の特徴点の座標を変換し、座標を変換した特徴点のうち、いくつの特徴点が対応する対象画像の特徴点の座標と一致(若しくは類似)したかを判定し、座標が一致した特徴点の数が所定の数を超えるか否か等に基づいて、対応する局所特徴量同士の座標関係が類似するか否かを判定する。
【0039】
そして、情報提供装置10は、アフィン変換したクエリ画像Q1の特徴点の座標が、候補画像T1の特徴点の座標と一致若しくは類似する場合、すなわち、座標関係QFCと座標関係PCとが類似する場合は、対象画像T1を候補画像T1とし、クエリ画像Q1の全ての局所特徴量を候補画像T1の局所特徴量と対応付ける(ステップS5)。すなわち、情報提供装置10は、全体特徴量照合処理を実行する。
【0040】
このような全体特徴量照合処理の結果、情報提供装置10は、クエリ画像Q1と候補画像T1とから、部分特徴量照合処理よりも多くの類似特徴点を検出することができる。そして、情報提供装置10は、クエリ画像Q1の類似特徴点の座標関係と、候補画像T1の類似特徴点の座標関係とを比較する(ステップS6)。すなわち、情報提供装置10は、全体特徴量照合処理の実行結果に基づいて、全体特徴点座標照合処理を実行する。そして、情報提供装置10は、クエリ画像Q1の類似特徴点の座標関係と、候補画像T1の類似特徴点の座標関係とが類似する場合は、クエリ画像Q1と候補画像T1とが類似すると判定する。
【0041】
また、情報提供装置10は、部分特徴点座標照合処理において類似すると判定された候補画像のそれぞれについて、全体特徴量照合処理と全体特徴点座標照合処理とを実行する。そして、情報提供装置10は、比較結果に基づいて、クエリ画像と類似する画像を検索する(ステップS7)。例えば、情報提供装置10は、全体特徴点座標照合処理において、クエリ画像Q1と候補画像T1、T3が類似すると判定した場合は、クエリ画像Q1の類似画像として、候補画像T1、T3を選択する。
【0042】
なお、情報提供装置10は、上記のように部分特徴点座標照合処理と同様に全体特徴点座標照合処理を行うのではなく、以下のような処理を実行してもよい。例えば、情報提供装置10は、全体特徴点座標照合処理(部分特徴点座標照合処理でも同様)においてすべての特徴点の対応付けをした後に、アフィン変換パラメータを推定し、その後にクエリ画像の特徴点座標をそのパラメータでアフィン変換して得られた座標が、対象画像の対応付けられた特徴点座標に合致するかを判断する。ここで、部分特徴点座標照合処理において、既にアフィン変換パラメータが推定されている。そこで、情報提供装置10は、全体特徴点座標照合処理において最後のアフィン変換を行う前に、部分特徴点座標照合処理において推定されたアフィン変換パラメータと、全体特徴点座標照合処理において推定されたアフィン変換パラメータと一致するかを判断し、一致した場合にのみアフィン変換を行っても良い。また、情報提供装置10は、アフィン変換をしないでパラメータの一致、非一致を、全体特徴点座標照合処理の結果としても良い。
【0043】
また、情報提供装置10は、全体のアフィン変換を行わず、全体特徴量照合処理の結果、照合された特徴量数が多い場合は、画像が一致したとして結果を返しても良い。また、部分特徴量照合処理で照合された特徴量が多い場合には部分のアフィン変換もせずに類似すると判断し、全体の処理に移行しても良い。また、情報提供装置10は、全体特徴点座標照合処理自体を行わずに、全体特徴量照合処理により事前に指定された閾値より対応付けされた特徴量数が超えたなら、類似画像だと判定して処理を終了しても良い。すなわち、情報提供装置10は、部分特徴量照合処理の結果、類似特徴量の対応付けができた特徴量数が事前に指定された閾値よりも大きい場合は、部分特徴点座標照合処理を行わず、全体特徴量照合を行っても良い。また、情報提供装置10は、閾値により絞り込まれた対象画像数が多い場合には部分特徴点座標照合を省略することなく実行し、対象画像数を絞り込んでも良い。
【0044】
そして、情報提供装置10は、検索結果を端末装置100に送信する(ステップS8)。例えば、情報提供装置10は、候補画像T1、T3のデータやサムネイル等を端末装置100に送信する。なお、情報提供装置10は、例えば、部分特徴量照合処理、部分特徴点座標照合処理、全体特徴量照合処理、および全体特徴点座標照合処理(以下、「各照合処理」と総称する場合がある。)の結果に応じたランキング形式で、検索した候補画像の情報を配信してもよい。例えば、情報提供装置10は、各照合処理の結果に基づいて、各候補画像とクエリ画像と類似する確度を算出し、算出した確度に応じたランキング形式で、検索した候補画像の情報を配信してもよい。
【0045】
〔1-4.検索処理のバリエーションについて〕
ここで、上述した説明では、情報提供装置10は、各照合処理を順番に実行した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、クエリ画像が有する複数の局所特徴量と、対象画像が有する複数の局所特徴量のうち一部の局所特徴量とが類似すると判定された場合は、クエリ画像が有する全ての局所特徴量と、対象画像が有する全ての局所特徴量とを比較し、比較結果に基づいて、クエリ画像と類似する対象画像を検索してもよい。
【0046】
すなわち、情報提供装置10は、部分特徴量照合処理により、クエリ画像と類似する可能性が高い候補画像を特定し、特定した候補画像について、部分特徴点座標照合処理を行うことなく全体特徴量照合処理を実行し、全体特徴量照合処理の結果、類似特徴点が所定の数以上存在する場合は、その候補画像を検索結果として提供してもよい。すなわち、情報提供装置10は、全体特徴量照合処理の結果、類似特徴点が所定の数以上存在する場合は、全体特徴点座標照合処理を実行することなく、その候補画像を検索結果として提供してもよい。
【0047】
また、情報提供装置10は、部分特徴量照合処理を実行した後に部分特徴点座標照合を実行し、その後、全体特徴量照合を実行してもよい。そして、情報提供装置10は、全体特徴量照合処理の結果、類似特徴点が所定の数以上存在する場合は、候補画像を検索結果として提供してもよい。
【0048】
例えば、
図2は、実施形態に係る情報提供装置が実行する処理の流れのバリエーションを示す図である。例えば、情報提供装置10は、第1処理態様として、クエリ画像を取得した場合に、部分特徴量照合処理を実行し、部分特徴量照合処理によって類似すると判定された対象画像について全体特徴量照合処理を実行し、全体特徴量照合処理によって類似すると判定された対象画像を検索結果として利用者に提供してもよい。
【0049】
また、例えば、情報提供装置10は、第2処理態様として、クエリ画像を取得した場合に、部分特徴量照合処理を実行し、部分特徴量照合処理によって類似すると判定された対象画像について部分特徴点座標照合処理を実行し、部分特徴点座標照合処理によって類似すると判定された対象画像について全体特徴量照合処理を実行し、全体特徴量照合処理によって類似すると判定された対象画像を検索結果として利用者に提供してもよい。
【0050】
また、例えば、情報提供装置10は、第3処理態様として、クエリ画像を取得した場合に、部分特徴量照合処理を実行し、部分特徴量照合処理によって類似すると判定された対象画像について全体特徴量照合処理を実行し、全体特徴量照合処理によって類似すると判定された対象画像について全体特徴点座標照合処理を実行し、全体特徴点座標照合処理によって類似すると判定された対象画像を検索結果として利用者に提供してもよい。
【0051】
また、例えば、情報提供装置10は、第4処理態様として、クエリ画像を取得した場合に、部分特徴量照合処理を実行し、部分特徴量照合処理によって類似すると判定された対象画像について部分特徴点座標照合処理を実行し、部分特徴点座標照合処理によって類似すると判定された対象画像について全体特徴量照合処理を実行し、全体特徴量照合処理によって類似すると判定された対象画像について全体特徴点座標照合処理を実行し、全体特徴点座標照合処理によって類似すると判定された対象画像を検索結果として利用者に提供してもよい。
【0052】
ここで、第1処理態様から第4処理態様にかけて、検索精度が順に向上するものの、処理の時間が長くかかる恐れがある。特に、部分特徴点座標照合処理や全体特徴点座標照合処理等、特徴点の座標関係が類似するか否かを推定する処理は、他の処理よりも計算量が比較的多くなると考えられる。そこで、情報提供装置10は、各種パラメータに応じて、第1処理態様~第4処理態様のどの処理態様で検索を行うかを判定してもよい。例えば、情報提供装置10は、クエリ画像の特徴や対象画像の特徴、クエリ画像に含まれる被写体のカテゴリ、クエリ画像に背景画像が含まれるか否か、対象画像の数等といったパラメータに応じて、どの処理態様で検索を行うかを判定してもよい。
【0053】
また、情報提供装置10は、いずれかの処理態様で検索処理を実行する際に、各照合処理において類似すると判定された対象画像の数等に応じて、異なる処理態様で検索処理を行ってもよい。例えば、情報提供装置10は、第4処理態様における全体特徴量照合処理において類似すると判定された対象画像の数が所定の閾値を下回る場合は、全体特徴点座標照合処理を実行することなく、全体特徴量照合処理において類似すると判定された対象画像を検索結果としてもよい。
【0054】
例えば、情報提供装置10は、部分特徴点照合処理によってクエリ画像と類似すると判定された対象画像の数が第1閾値を超える場合は、クエリ画像が有する複数の局所特徴量の座標関係と、対象画像が有する一部の局所特徴量の座標関係とが類似するか否かを判定してもよい。すなわち、情報提供装置10は、部分特徴点照合処理によってクエリ画像と類似すると判定された対象画像の数が第1閾値を超える場合は、第2処理態様や第4処理態様に示すように、部分座標点座標照合処理を実行し、第1閾値を超えない場合は、第1処理態様や第3処理態様に示すように、部分座標点座標照合処理を実行せずともよい。また、情報提供装置10は、全体特徴量照合処理によってクエリ画像と類似すると判定された対象画像の数が第2閾値を超える場合は、全体特徴点座標照合処理を実行せずともよい。
【0055】
また、情報提供装置10は、部分特徴点座標照合処理においてアフィン変換を行った際に座標が一致する特徴点の数に基づいたパラメータを対象画像ごとに算出し、パラメータの変化が所定の条件を満たす場合は、クエリ画像が有する全ての局所特徴量と、対象画像が有する全ての局所特徴量とを比較してもよい。すなわち、情報提供装置10は、部分特徴点座標照合処理において特定されるパラメータの値が所定の条件を満たす場合にのみ、全体特徴量照合処理を実行してもよい。
【0056】
例えば、情報提供装置10は、部分特徴点座標照合処理を実行した場合、類似特徴点の座標関係が類似する割合を算出する。具体的には、情報提供装置10は、クエリ画像の特徴点が対応付けられた対象画像の特徴点に推定したアフィン変換によって正しく変換できる割合をアフィン変換確度として算出する。そして、情報提供装置10は、算出したアフィン変換確度が所定の閾値を超える場合は、各座標関係が類似すると判定する。なお、情報提供装置10は、例えば、アフィン変換を推定した際の確信度を算出し、算出した確信度が所定の条件を満たす場合に、全体特徴量照合処理を実行してもよい。
【0057】
ここで、対象画像の中にクエリ画像と類似する画像が含まれている場合、個々の対象画像のアフィン変換確度を求め、そのアフィン変換確度を降順にソートすると、そのアフィン変換は、そのソート順に特定の場所で急激に減少することとなる。一方、対象画像の中にクエリ画像と類似する画像が含まれていない場合は、アフィン変換確度は、より線形的に変化することとなる。このように、対象画像の中にクエリ画像と類似する画像が含まれていない場合に、処理量を増やしたとしても、あまり意味が無いとも考えられる。また、対象画像の中にクエリ画像と類似する画像が含まれている場合には、検索結果にノイズが含まれる確率も高くなる。
【0058】
そこで、情報提供装置10は、アフィン変換確度が急激に減少する場合は、クエリ画像が有する全ての局所特徴量と、対象画像が有する全ての局所特徴量とを比較する。すなわち、情報提供装置10は、アフィン変換確度を用いて、対象画像にクエリ画像と類似する画像が含まれるか否かを推定し、含まれると推定される場合にのみ、全体特徴量照合処理や全体特徴点座標照合処理等を実行する。このため、情報提供装置10は、無駄な処理の実行を省くことができる。
【0059】
また、情報提供装置10は、各照合処理においてクエリ画像と対象画像とが類似する確度を求め、確度が所定の閾値を超える場合には、その対象画像を検索結果として出力してもよい。例えば、情報提供装置10は、部分特徴量照合処理や全体特徴量照合処理においてマッチした局所特徴量の数が所定の閾値を超える場合、部分特徴点座標照合処理において座標関係がほぼ一致した場合等は、クエリ画像と対象画像とが一致したと推定し、対象画像を検索結果として出力してもよい。
【0060】
〔1-5.処理の対象について〕
ここで、上述した例では、情報提供装置10は、クエリ画像と類似する対象画像の検索を行った。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、文章や音楽等、任意のコンテンツについて、上述した検索処理を適用可能である。
【0061】
例えば、
図3は、実施形態に係る情報提供装置が実行する検索処理の対象の一例を示す図である。なお、
図3に示す例では、検索処理の対象として、文章や音楽を採用する際の処理の一例を記載した。例えば、情報提供装置10は、検索対象が文章である場合、クエリ文章の中から特徴点としていくつかの単語を選択し、選択した単語の前後に存在する複数の単語を抽出する。そして、情報提供装置10は、抽出した単語の特徴量を、局所特徴量QF1~QF3として算出するとともに、単語の相対的な出現位置(例えば、特徴点として選択した単語から次の単語までの間に存在する単語の数等)を座標とみなす。例えば、情報提供装置10は、局所特徴量QF1の特徴点となる単語から、局所特徴量QF2の特徴点となる単語までの間の単語数を座標T1とし、局所特徴量QF2の特徴点となる単語から、局所特徴量QF3の特徴点となる単語までの間の単語数を座標T2とする。
【0062】
同様に、情報提供装置10は、対象情報となる文章である対象文章の中から特徴点としていくつかの単語を選択し、選択した単語の前後に存在する複数の単語を抽出する。そして、情報提供装置10は、抽出した単語の特徴量を、局所特徴量F1~F3として算出するとともに、局所特徴量F1の特徴点となる単語から、局所特徴量F2の特徴点となる単語までの間の単語数を座標T3とし、局所特徴量F2の特徴点となる単語から、局所特徴量F3の特徴点となる単語までの間の単語数を座標T4とする。
【0063】
そして、情報提供装置10は、特徴量の比較を行う場合、各局所特徴量WF1~QF3と、各局所特徴量F1~F3の比較を行う。また、情報提供装置10は、座標の比較を行う場合、座標T1を座標T3へと変換するアフィン変換により、座標T2が座標T4に一致するか否かを判定してもよい。
【0064】
なお、情報提供装置10は、音声の検索を行う場合、特徴点となる再生位置から前後所定の領域に含まれる音声から局所特徴量を算出し、特徴点となる再生位置の座標関係から、座標関係の類似性を判定すればよい。すなわち、情報提供装置10は、クエリとなるコンテンツの局所的な範囲が有する特徴量と、検索対象となるコンテンツの局所的な範囲が有する特徴量とを比較する。そして、情報提供装置10は、局所的な範囲の出現位置や再生位置を座標とみなし、コンテンツ内における座標関係を比較する。
【0065】
なお、情報提供装置10は、異種間の類似検索を行ってもよい。例えば、情報提供装置10は、クエリ文章と類似する対象音声の検索を行ってもよく、クエリ音声と類似する対象文章の検索を行ってもよい。すなわち、情報提供装置10は、局所的な特徴を示す多次元量を局所特徴量として設定することができるコンテンツであれば、任意のコンテンツについて、上述した検索処理を適用してよい。
【0066】
〔2.情報提供装置の構成〕
以下、上記した検索処理を実現する情報提供装置10が有する機能構成の一例について説明する。
図4は、実施形態に係る情報提供装置の構成例を示す図である。
図4に示すように、情報提供装置10は、通信部20、記憶部30、および制御部40を有する。
【0067】
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、端末装置100との間で情報の送受信を行う。
【0068】
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、検索対象データベース31を記憶する。
【0069】
検索対象データベース31には、検索対象となる対象情報が登録されている。例えば、
図5は、実施形態に係る検索対象データベースに登録される情報の一例を示す図である。
図5に示す例では、検索対象データベース31には、「検索対象ID(Identifier)」、「検索対象データ」、「特徴量ID」、「特徴量」、「座標情報」、「半径情報」、および「方向情報」といった情報が登録されている。
【0070】
ここで、「検索対象ID」とは、検索対象となる対象情報を識別する識別子である。また、「検索対象データ」とは、対象情報のデータである。また、「特徴量ID」とは、対象情報から算出される局所特徴量を識別する識別子である。また、「特徴量」とは、局所特徴量である。また、「座標情報」とは、局所特徴量と対応する特徴点の座標である。なお、「座標情報」は、対象情報が音声である場合は、再生位置を示す情報であってもよく、対象情報が文章である場合は、特徴点となる単語の出現位置であってもよい。また、「半径情報」とは、局所特徴量を算出する際に用いた領域が特徴点を中心としてどれくらいの範囲であるかを示す。また、「方向情報」とは、局所特徴量を算出する際に用いた領域の方向である。
【0071】
例えば、
図5に示す例では、検索対象データベース31には、検索対象ID「T1」、検索対象データ「TD#1」、特徴量ID「P1」、特徴量「FP1」、座標情報「PC1」、半径情報「PR1」、および方向情報「PD1」が対応付けて登録されている。このような情報は、検索対象ID「T1」が示す検索対象T1のデータが「TD#1」である旨を示す。また、このような情報は、検索対象T1が、局所特徴量として、特徴量ID「P1」で示される局所特徴量を有する旨を示す。また、このような情報は、特徴量ID「P1」で示される局所特徴量の値が特徴量「FP1」であり、座標情報「PC1」が示す位置を中心として、半径情報「PR1」が示す円形の範囲内のうち、方向情報「PD1」が示す方向の情報(例えば、画素)に基づいて算出された特徴量である旨を示す。
【0072】
なお、
図5に示した各種の値は、概念的なものであり、実際には、検索対象データベース31には、各特徴量や座標等を示す数値が登録されるものとする。また、検索対象データベース31には、
図5に示す情報以外にも、検索対象に関する任意の情報が登録されていてよい。
【0073】
図4に戻り、説明を続ける。制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報提供装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
図4に示すように、制御部40は、判定部41、比較部42、検索部43、および提供部44を有する。なお、以下の説明では、局所特徴量を単に「特徴量」と記載する場合がある。
【0074】
判定部41は、部分特徴量照合処理や部分特徴点座標照合処理を実行する。すなわち、判定部41は、クエリ情報が有する複数の特徴量と、検索対象となる対象情報が有する複数の特徴量のうち一部の特徴量とが類似するか否かを判定する。例えば、判定部41は、クエリ情報が部分的に有する特徴量と、対象情報が部分的に有する特徴量とが類似するか否かを判定する。より具体的な例を挙げると、判定部41は、クエリ情報となる画像が有する複数の特徴量と、検索対象となる画像が有する複数の特徴量のうち一部の特徴量とが類似するか否かを判定する。
【0075】
例えば、判定部41は、クエリ情報を受付けると、クエリ情報から複数の局所特徴量を算出し、検索対象データベース31に登録された各局所特徴量と比較する。そして、判定部41は、検索対象データベース31に登録された各局所特徴量が、クエリ情報のいずれかの局所特徴量と類似するか否かを判定する。
【0076】
また、判定部41は、クエリ情報が有する複数の特徴量と、対象情報が有する複数の特徴量のうち一部の特徴量とが類似する場合は、クエリ情報が有する複数の特徴量と、対象情報が有する一部の特徴量との座標関係とが類似するか否かを判定する。例えば、判定部41は、検索対象データベース31に登録された対象情報のうち、所定の数の局所特徴量が、クエリ情報のいずれかの局所特徴量と類似すると判定された対象情報を候補情報として抽出する。そして、判定部41は、クエリ情報の類似特徴量の座標関係と、対象情報の類似特徴量の座標関係とが類似するか否かを判定する。例えば、判定部41は、クエリ情報の類似特徴量の座標を対象情報の類似特徴量の座標へと変換するアフィン変換により、クエリ情報の各類似特徴量の座標を変換し、変換後の各座標が、対象情報の類似特徴量の座標と一致するか否かを判定する。そして、判定部41は、クエリ情報の類似特徴量の座標関係と、対象情報の類似特徴量の座標関係とが類似すると判定された場合は、その対象情報を候補情報として比較部42に通知する。
【0077】
なお、判定部41は、対象情報の数が第1閾値を超える場合は、クエリ情報が有する複数の特徴量の座標関係と、対象情報が有する一部の特徴量の座標関係とが類似するか否かを判定してもよい。また、判定部41は、クエリ情報が有する複数の特徴量の座標関係と、対象情報が有する一部の特徴量の座標関係との類似性を示すパラメータを対象情報ごとに算出してもよい。例えば、判定部41は、パラメータとして、アフィン変換確度を採用してもよい。そして、判定部41は、算出したパラメータを比較部42に通知する。
【0078】
比較部42は、全体特徴量照合処理や全体特徴点座標照合処理を実行する。例えば、比較部42は、判定部41による判定結果が所定の条件を満たす場合は、クエリ情報が有する全ての特徴量と、対象情報が有する全ての特徴量とを比較する。例えば、比較部42は、判定部41から通知された候補情報の全局所特徴量と、クエリ情報の全局所特徴量とを比較する。
【0079】
すなわち、比較部42は、クエリ情報が有する複数の特徴量と、対象情報が有する複数の特徴量のうち一部の特徴量とが類似すると判定された場合は、クエリ情報が有する全ての特徴量と、対象情報が有する全ての特徴量とを比較する。若しくは、比較部42は、クエリ情報が有する複数の特徴量の特徴点の座標関係と、対象情報が有する一部の特徴量の特徴点の座標関係とが類似すると判定された場合は、クエリ情報が有する全ての特徴量と、対象情報が有する全ての特徴量とを比較する。そして、比較部42は、候補情報の局所特徴量のうち所定の数の局所特徴量が、クエリ情報のいずれかの特徴量と類似する場合は、候補情報の類似特徴量の特徴点の座標関係と、クエリ情報の類似特徴量の特徴点の座標関係とを比較する。
【0080】
なお、比較部42は、対象情報の数が第2閾値を超える場合にのみ、クエリ画像の類似特徴量の特徴点の座標関係と、対象情報の類似特徴量の特徴点の座標関係とを比較してもよい。また、比較部42は、判定部41から通知されたパラメータの変化が所定の条件を満たす場合は、クエリ情報が有する全ての特徴量と、対象情報が有する全ての特徴量とを比較してもよい。例えば、比較部42は、パラメータが指数関数的に変化する場合は、クエリ情報が有する全ての特徴量と、対象情報が有する全ての特徴量とを比較してもよい。
【0081】
検索部43は、比較結果に基づいて、クエリ情報と類似する対象情報を検索する。例えば、検索部43は、全体特徴量照合処理によって、類似する局所特徴量の数が所定の閾値を超えると判定された場合や、全体特徴点座標照合処理によって、類似特徴量同士の特徴点の座標関係が類似すると判定された場合は、対象情報がクエリ情報と類似すると判定する。
【0082】
提供部44は、検索結果を利用者に提供する。例えば、提供部44は、検索部43によってクエリ情報と類似すると判定された対象情報を示す情報を、類似度に応じたランキング形式で並べた検索結果を生成し、生成した検索結果を端末装置100に提供する。
【0083】
〔3.情報提供装置が実行する処理の流れの一例〕
続いて、
図6を用いて、情報提供装置10が実行する処理の流れの一例を説明する。
図6は、実施形態に係る情報提供装置が実行する表示処理の流れの一例を示すフローチャートである。なお、
図6に示す例では、検索処理の対象として、
図2に示す第4処理形態でクエリ画像と類似する対象画像を検索する処理の流れの一例について記載した。
【0084】
例えば、情報提供装置10は、クエリ画像を受付ける(ステップS101)。このような場合、情報提供装置10は、クエリ画像の局所特徴量を算出する(ステップS102)。そして、情報提供装置10は、各対象画像の局所特徴量のうち、クエリ画像の局所特徴量と類似する局所特徴量を特定する(ステップS103)。
【0085】
また、情報提供装置10は、クエリ画像の類似特徴量の座標関係と、対象画像の類似特徴量の座標関係とを比較する(ステップS104)。そして、情報提供装置10は、候補画像の全特徴量と、クエリ画像の特徴量とを比較する(ステップS105)。また、情報提供装置10は、類似特徴量の座標関係を比較する(ステップS106)。そして、情報提供装置10は、比較結果に基づいて、類似画像を検索し(ステップS107)、処理を終了する。
【0086】
〔4.変形例〕
上記では、情報提供装置10および端末装置100による提供処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、検索処理や表示処理のバリエーションについて説明する。
【0087】
〔4-1.特徴量の比較について〕
上述した例では、情報提供装置10は、クエリ情報の局所特徴量と、対象情報のクエリ特徴量とを比較した。ここで、情報提供装置10は、任意の情報が有する特徴量を局所特徴量としてもよい。例えば、情報提供装置10は、検索対象が画像である場合、特徴点の周囲の画素の彩度や明度の平均値等を特徴量としてもよく、検索対象が音声である場合、特徴点の周囲数秒の周囲の周波数特性を特徴量としてもよい。また、上述した処理以外にも、情報提供装置10は、任意の特徴量比較技術を併用してもよい。
【0088】
〔4-2.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0089】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0090】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0091】
〔4-3.プログラム〕
また、上述した実施形態に係る情報提供装置10および端末装置100は、例えば
図7に示すような構成のコンピュータ1000によって実現される。
図7は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
【0092】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
【0093】
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
【0094】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
【0095】
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0096】
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0097】
例えば、コンピュータ1000が情報提供装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。また、例えば、コンピュータ1000が端末装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。
【0098】
〔5.効果〕
上述したように、情報提供装置10は、クエリ情報が有する複数の特徴量と、検索対象となる対象情報が有する複数の特徴量のうち一部の特徴量とが類似するか否かを判定する。また、情報提供装置10は、判定結果が所定の条件を満たす場合は、クエリ情報が有する全ての特徴量と、対象情報が有する全ての特徴量とを比較する。そして、情報提供装置10は、比較結果に基づいて、クエリ情報と類似する対象情報を検索する。すなわち、情報提供装置10は、部分特徴量照合処理や部分特徴点座標照合処理により検出された候補情報について、全体特徴量照合処理を実行する。このため、情報提供装置10は、類似検索の精度を向上させることができる。
【0099】
また、情報提供装置10は、クエリ情報が部分的に有する特徴量と、対象情報が部分的に有する特徴量とが類似するか否かを判定する。このため、情報提供装置10は、局所特徴量を用いた類似検索を実現できる。
【0100】
また、情報提供装置10は、クエリ情報が有する複数の特徴量と、対象情報が有する複数の特徴量のうち一部の特徴量とが類似すると判定された場合は、クエリ情報が有する全ての特徴量と、対象情報が有する全ての特徴量とを比較する。また、情報提供装置10は、クエリ情報が有する複数の特徴量と、対象情報が有する複数の特徴量のうち一部の特徴量とが類似する場合は、そのクエリ情報が有する複数の特徴量の座標関係と、その対象情報が有する一部の特徴量の座標関係とが類似するか否かを判定する。そして、情報提供装置10は、クエリ情報が有する複数の特徴量の座標関係と、対象情報が有する一部の特徴量の座標関係とが類似すると判定された場合は、クエリ情報が有する全ての特徴量と、対象情報が有する全ての特徴量とを比較する。このように、情報提供装置10は、部分特徴量照合処理や部分特徴点座標照合処理により類似すると推定された候補情報について、全体特徴量照合処理を実行するので、類似検索の精度を向上させることができる。
【0101】
また、情報提供装置10は、クエリ情報が有する特徴量のうち複数の特徴量が、対象情報が有する特徴量のいずれかと類似する場合は、その複数の特徴量同士の座標関係と、対象情報が有する特徴量のうち複数の特徴量と類似する特徴量同士の座標関係とを比較する。このように、情報提供装置10は、全体特徴量照合処理の結果、クエリ情報と類似すると推定された対象情報について、全体特徴点座標照合処理を実行するので、類似検索の精度を向上させることができる。
【0102】
また、情報提供装置10は、対象情報の数が第1閾値を超える場合は、クエリ情報が有する複数の特徴量の座標関係と、対象情報が有する一部の特徴量の座標関係とが類似するか否かを判定する。また、情報提供装置10は、対象情報の数が第2閾値を超える場合は、複数の特徴量同士の座標関係と、対象情報が有する特徴量のうち複数の特徴量と類似する特徴量同士の座標関係とを比較する。このように、情報提供装置10は、部分特徴量照合処理の結果類似すると推定された候補情報の数が多い場合にのみ、部分特徴点座標照合処理を実行する。また、情報提供装置10は、全体特徴量照合処理の結果類似すると推定された候補情報の数が多い場合にのみ、部分特徴点座標照合処理を実行する。このため、情報提供装置10は、検索結果に含まれるノイズを効率良く削減することができる。
【0103】
また、情報提供装置10は、クエリ情報が有する複数の特徴量の座標関係と、その対象情報が有する一部の特徴量の座標関係との類似性を示すパラメータを対象情報ごとに算出し、パラメータの変化が所定の条件を満たす場合は、クエリ情報が有する全ての特徴量と、対象情報が有する全ての特徴量とを比較する。例えば、情報提供装置10は、パラメータが指数関数的に変化する場合は、クエリ情報が有する全ての特徴量と、対象情報が有する全ての特徴量とを比較する。例えば、情報提供装置10は、パラメータとして、クエリ情報が有する複数の特徴量に対応する特徴点の座標をアフィン変換した座標がその対象情報が有する一部の特徴量に対応する特徴点の座標と類似する確度を算出する。このため、情報提供装置10は、ノイズが多く含まれる可能性が高い場合(すなわち、一見クエリ情報と類似する対象情報の数が多い場合)に、検索結果に含まれるノイズを効率良く削減することができる。
【0104】
また、情報提供装置10は、クエリ情報となる画像が有する複数の特徴量と、検索対象となる画像が有する複数の特徴量のうち一部の特徴量とが類似するか否かを判定する。このため、情報提供装置10は、画像検索における精度を向上させることができる。
【0105】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0106】
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、推定部は、推定手段や推定回路に読み替えることができる。
【符号の説明】
【0107】
10 情報提供装置
20 通信部
30 記憶部
31 検索対象データベース
40 制御部
41 判定部
42 比較部
43 検索部
44 提供部
100 端末装置