【文献】
川久保 秀敏、外1名,地域別代表画像を用いた単語概念の地域性の分析,情報処理学会研究報告 平成22年度(6) [DVD−ROM],日本,一般社団法人情報処理学会,2011年 5月 2日,p.1−8
【文献】
安倍 満、外1名,VisualRankの多クラスへの拡張,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2008年12月11日,第108巻,第363号,p.183−188
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
<第1の実施形態>
【0014】
まず、
図1を参照して、本発明の実施形態における情報処理システムの構成について説明する。
図1は、本発明の実施形態における情報処理システムの構成を示す図である。
図1は、ひとつ又は複数の利用者端末101と、ひとつの画像検索装置102(情報処理装置)がローカルエリアネットワーク(LAN)103を介して接続される構成となっている。
【0015】
利用者端末101は、画像(画像データ)の検索を行う利用者が使用する情報処理装置であって、検索に用いる文字列の入力を受け付ける機能(クエリ入力受付手段に該当)と、検索要求を発信する機能(クエリ送信手段に該当)と、検索結果を受信して表示する機能を有する。
【0016】
画像検索装置102は、検索の対象となる複数の画像を記憶しており、利用者端末101からの検索要求を受け付け、画像の検索処理を行い、検索結果を応答する機能を有する。また、外部から検索対象とする画像を入力する機能を備えている。以上が
図1の、本発明の実施形態における情報処理システムの構成についての説明である。
【0017】
以下、
図2を用いて、本発明の実施形態における利用者端末101,画像検索装置102に適用可能な情報処理装置のハードウェア構成を示すブロック図の構成の一例について説明する。
図2は、本発明の実施形態における利用者端末101,画像検索装置102に適用可能な情報処理装置のハードウェア構成を示すブロック図である。
【0018】
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【0019】
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【0020】
また、205は入力コントローラで、キーボード(KB)209や不図示のマウス等のポインティングデバイス等からの入力を制御する。206はビデオコントローラで、CRTディスプレイ(CRT)210等の表示器への表示を制御する。なお、
図2では、CRT210と記載しているが、表示器はCRTだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
【0021】
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0022】
208は通信I/Fコントローラで、ネットワーク(例えば、
図1に示したLAN400)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0023】
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0024】
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。以上が
図2の、本発明の実施形態における利用者端末101、画像検索装置102に適用可能な情報処理装置のハードウェア構成を示すブロック図の構成の一例についての説明である。
【0025】
次に、
図3を用いて、本発明の実施形態における、各種装置の機能ブロックの構成について説明する。
図3は、本発明の実施形態における、各種装置の機能ブロックの構成を示す図である。
【0026】
図1の説明にて前述したように、本発明の実施形態における情報処理システムは、利用者端末101と画像検索装置102と画像ソース600から構成される。利用者端末101と画像検索装置102と画像ソース600とはそれぞれネットワークを介して相互に通信可能に接続されている。
【0027】
利用者端末101は、画像検索装置102に対して、画像の検索要求を送り、また検索結果を受信し表示するための情報処理装置である。利用者端末101は、検索クエリー部301と、結果表示部302と、から構成される。
【0028】
検索クエリー部301は、利用者から検索要求としてのクエリー画像(クエリ)を受け付ける入力機能を有し、当該クエリー画像を、ネットワークを通じて、画像検索装置102の検索処理部503へ送信する機能をもつ機能処理部である。
【0029】
結果表示部302は、画像検索装置102から応答される検索結果を受信する機能と、該検索結果を表示する機能を有する機能処理部である。検索結果の表示については、
図17の説明にて後述する。(
図17に表示画面の例を示す。)
【0030】
画像検索装置102は、利用者端末101から、画像の検索要求を受信し、蓄積された画像に対して要求された検索処理を実行し、検索結果情報を利用者端末101へ送信する情報処理装置である。画像検索装置102は、画像登録部501と、特徴量抽出部502と、検索処理部503と、バイアスベクトル生成部504と、類似度行列生成部505と、特徴量類似度計算部506と、画像ランキング生成部507と、画像検索結果生成部508と、特徴量データベース509と、画像データベース510と、位置情報データベース511と、から構成される。
【0031】
画像登録部501は、検索対象となる画像を本システムへ登録する機能処理部である。画像ソース600で指示されるシステムの外部のアクターから、検索対象とする画像データを受信または取得し、当該画像データの特徴量を特徴量データベース509へ保存し、当該画像データ自体と、画像に付帯する位置情報(例えば
図16の位置情報1602)、および、文字列情報(例えば、
図16のタグ1604)等の情報を画像データベース510へ保存する機能を有する。
【0032】
ここで
図16を参照して、本発明の実施形態における、画像のメタデータの構成の一例について説明する。
図16は、本発明の実施形態における、画像のメタデータの構成の一例を示す図である。メタデータとは、例えば、画像のExif情報のことをいう。
【0033】
画像ID1601は、画像を一意に識別するための識別情報である。位置情報1602は、画像に対応付けて記憶された位置を示す座標の情報(GPS情報)であり、例えば、画像の撮影された撮影場所の情報である。
【0034】
撮影日時1603は、画像が撮影された日時を示す。タグ1604は、画像に付与されたタグ(キーワード)である。
【0035】
尚、
図16の位置情報1602から特定される、画像に対応する位置情報が、いずれの地理情報上、いずれの場所を示すかについては、
図18を参照して特定可能である。以上が
図16の、本発明の実施形態における、画像のメタデータの構成の一例についての説明である。次に
図18を参照して、本発明の実施形態における、位置情報データベースにおける地理情報と緯度経度情報を管理するテーブルの一例について説明する。
【0036】
図18は、本発明の実施形態における、位置情報データベースにおける地理情報と緯度経度情報を管理するテーブルの一例を示す図である。
図18に示す通り、地理情報・緯度経度対応付けテーブル1800は、地理情報(地理名)と、当該地理名の示す位置の座標である緯度・経度の情報を対応付けて記憶し、一意の識別情報である地理NOを付与して管理するテーブルである。当該地理情報、緯度・経度情報は、例えば、インターネット上でマップの表示・検索サービスを提供するために用いられるような、不図示の外部のサーバ(地理情報サーバ)等から取得する。本実施形態においては、当該位置情報データベースにおける情報を用いて、画像に対応する位置情報の示す地理名を特定するものとする。
【0037】
特徴量抽出部502は、画像データを入力として受け取り、該画像データの各種特徴量を抽出する機能処理部である。
【0038】
ここで
図4を参照して、本発明の実施形態における特徴量抽出部502の内部の機能について説明する。
図4は、本発明の実施形態における特徴量抽出部502の内部の機能ブロックの一例を表す図である。
【0039】
図4で示されるように、特徴量抽出部502は、複数の特徴量抽出部から構成される。
図4の5021から5024で指示される特徴量抽出部は、各々異なる種類の画像特徴量を抽出する機能処理部である。
【0040】
例えば、スケーラブルカラー特徴量(画像全体における色の分布状態を表す特徴量)、カラーレイアウト特徴量(画像の領域毎の色の分布状態を表す特徴量)、エッジヒストグラム特徴量(画像中の境界線に関する特徴量)、SIFT(Scale Invariant Feature Transform)特徴量(局所的な領域の濃度変化特徴を表す特徴量)などの局所特徴量から計算されるBag Of Features特徴量(例えば、局所特徴量の集合をKmeans法によりクラスタリングし、代表的な局所特徴量を任意の個数見つけ出し、画像1枚における求めた代表的な局所特徴量の出現度合いを表した特徴量)などの特徴量を抽出する実装をそれぞれに当てはめる。
【0041】
また、個別特徴量抽出部の個数は
図4では4つであるが特に制限されるものではなく、利用する画像特徴量の数だけ実装されればよい。以上が
図4の、本発明の実施形態における特徴量抽出部502の内部の機能についての説明である。
【0042】
図3の説明に戻る。検索処理部503は、検索要求として文字列クエリー(クエリ)を受け付け、当該文字列クエリーより検索対象となる画像集合および各画像に付帯する位置情報を画像データベース510より取得し、当該文字列クエリーと当該画像集合と各画像に付帯する位置情報をバイアスベクトル生成部504へ渡し、バイアスベクトルの生成を指示する。ここでは、検索要求として文字列クエリーを用いたが、例えば画像データの入力を受け付けることで検索要求として画像クエリーを用いてもよい。
【0043】
ここでいうバイアスベクトルとは、あるベクトル(ベクトルデータ/同じ型のデータを(縦または横の)1方向に一定の順にまとめデータ)に対して、バイアス(偏り)をかけるためのベクトルである。
【0044】
そして、当該画像集合を類似度行列生成部505へ渡し、類似度行列の生成を指示し、受け取ったバイアスベクトルおよび類似度行列を画像ランキング生成部507へ渡し、検索対象となる画像集合の画像ランキング(全体順位)の計算を指示し、当該画像ランキングを画像検索結果生成部508へ渡し、利用者端末101の結果表示部302へ送信する画像検索結果の生成を指示する機能処理部である。ここでいう画像ランキングとは、検索により抽出された画像の、表示画面への表示の優先度(優先順位)のことである。ランキング1位の画像が優先して表示画面に表示される。
【0045】
バイアスベクトル生成部504は、検索処理部503から文字列クエリーと検索対象となる画像集合および各画像に付帯する位置情報を受け取り、文字列クエリーに位置情報が含まれるか否かを判断して位置情報に基づいたバイアスベクトル(偏りデータ)を生成する機能処理部である。
【0046】
類似度行列生成部505は、検索処理部503から検索対象となる画像集合を受け取り、当該画像集合より、全ての組み合わせを網羅する画像ペア群を生成し、当該画像ペア群を特徴量類似度計算部506へ渡し、各画像間(画像データ同士)の類似度の算出を指示し、その結果として受け取る各類似度より類似度行列(要素データ/ベクトルデータ)を生成する機能処理部である。
【0047】
特徴量類似度計算部506は、類似度行列生成部505から検索対象となる画像集合を受け取り、各画像に対して、特徴量データベース509の中に保存されている特徴量データのそれぞれ(
図5/特徴量データテーブル5010の特徴量1〜特徴量4)を比較してそれぞれとの類似度を計算する機能処理部である。
【0048】
画像ランキング生成部507は、検索処理部503からバイアスベクトルと類似度行列を受け取り、検索対象となる画像集合の各画像のランキングを計算し、画像ランキングを生成する機能処理部である。
【0049】
画像検索結果生成部508は、検索処理部503から画像ランキングを受け取り、ランキングの高い順に画像検索結果を生成し、利用者端末101の結果表示部302へ送信する機能処理部である。
【0050】
特徴量データベース509は、検索対象となる画像データの各種特徴量のデータ(
図5)を保存する記憶領域である。その特徴量データは
図5で例示されるテーブル(特徴量データテーブル5010)で管理されている。
【0051】
図5の特徴量データテーブル5010は、1行が画像データベース510に蓄えられている1つの画像データを表し、画像データのID(識別子/画像NOとも言う)とともに特徴量1から特徴量4の列名で指示されるカラムに、当該画像のそれぞれの特徴量データが保存されていることを表している。
【0052】
画像データベース510は、検索対象となる画像データ群、および各画像に付帯する文字列情報(キーワードやタグ)と位置情報(緯度・経度情報)を保存する記憶領域である。保存されたデータはID(識別子)によって直接アクセスできる機能を有する。位置情報データベース511は、地理情報(地理名)、および緯度・経度情報を保存する記憶領域である。
【0053】
画像ソース600は、本情報処理システムにおける検索対象画像の出所(入力ソース)を表す外部アクターである。例えば、インターネット上のFlickr(登録商標)やFacebook(登録商標)等の写真共有機能を有するサイトや、直接写真データを提供する利用者そのもの、各種カメラやスキャナー等の映像入力機器なども考えられる。以上が
図3の、本発明の実施形態における情報処理システムの機能ブロックの構成についての説明である。
【0054】
次に
図6を参照して、本発明の実施形態における情報処理システムにおける検索対象画像の登録手順について説明する。
図6は、本発明の実施形態における情報処理システムにおける検索対象画像の登録手順の一例を示すフローチャートである。以下、
図6以降に記載するフローチャートの各処理は、画像検索装置102のCPU201が、各制御部を介して実行するものとする。
【0055】
尚、以下で説明する画像ソース600(外部装置)は、上記で説明したようにいくつも種類が考えられるが、ここではシステムの管理者が操作する管理者端末とした場合の例で説明する。
【0056】
ステップS601では、画像登録部501は、画像ソース600で表わされるシステム管理者が操作する管理者端末から検索対象となる画像データと、画像のメタデータ(画像に付帯する文字列情報および位置情報(緯度・経度で表される撮影場所を含む))を受信する。
【0057】
ステップS602では、画像登録部501は、前記受信した画像データを、特徴量抽出部502へ入力する。特徴量抽出部502は、前記画像データを、
図4の5021から5024で例示される各個別の特徴量抽出部にかけて当該画像データの1から4の特徴量を算出する。通常これらの特徴量は一次元数値ベクトルとして表現される。特徴量抽出部502は、抽出した前記特徴量データ(1から4の4つ)を、画像登録部501へ入力する。
【0058】
ステップS603では、画像登録部501は、ステップS602で取得した特徴量データを、特徴量データベース509へ登録する。前記特徴量データは、
図5で例示されるようなテーブル構造で保存される。
【0059】
ここで
図5を用いて、本発明の実施形態における特徴量データベース509における特徴量テーブルの一例について説明する。
図5は、本発明の実施形態における特徴量データベース509における特徴量テーブルの一例を示す図である。
【0060】
既に説明したように、特徴量の抽出処理では、ある1つの画像に対して、複数種類の特徴量が抽出される。各種特徴量は数値(整数や浮動小数点)の多次元ベクトルで表現される。例えば、局所特徴量の1つであるSIFT特徴量は、浮動小数点の128次元ベクトルとして表現されている。
【0061】
この実施例で説明する情報処理システムでは、
図4で示しているように特徴量1から特徴量4までの4つの種類の画像特徴量を取得するものとする。
図5のテーブルは、1つの行が1つの検索対象画像に関する特徴量データを格納している。列名が特徴量1から特徴量4までの各々のカラムに各特徴量データが格納されている。
【0062】
それぞれの特徴量は、次元数や数値の型が特徴量の種類によって異なっているが、基本的には数値の多次元ベクトルデータとして保存されている。以上が
図5の、本発明の実施形態における特徴量データベース509における特徴量テーブルの一例についての説明である。
【0063】
図6の説明に戻る。ステップS604では、画像登録部501は、前記受信した画像データと、画像のメタデータ(画像に付帯する文字列情報および位置情報(緯度・経度で表される撮影場所))を画像データベース510に保存する。つまり、画像検索装置102は、画像の記憶機能を有する。画像のメタデータは、
図16に示されるようなテーブルを用いて、画像ID(画像NO)とともに管理される。以上が
図6の、本発明の実施形態における情報処理システムにおける検索対象画像の登録手順についての説明である。
【0064】
尚、ここでは、画像のメタデータ(例えばExif情報)を用いて、画像の位置情報を特定しているが、例えば、別途画像と位置情報の対応付けをしたデータテーブルを設け、画像検索装置102の外部メモリ211等の記憶領域に記憶し、当該画像と位置情報の対応付けをしたデータテーブルの情報を用いて、各画像の位置情報を特定するようにしてもよい。
【0065】
次に、
図7を用いて、本発明の実施形態における情報処理システムにおける検索処理の手順について説明する。
図7は、本発明の実施形態における情報処理システムにおける検索処理の手順を示すフローチャートである。
【0066】
ステップS701では、検索処理部503は、利用者端末101の検索クエリー部301から送信される(文字列送信手段に該当)検索クエリー文字列を受信する(文字列入力受付手段に該当)。尚、当該検索クエリー文字列は、利用者端末101の表示画面に表示される検索画面にて入力を受け付けた文字列である。
【0067】
ステップS702では、検索処理部503は、位置情報データベース511を利用して、検索クエリー文字列が位置情報のみ(例えば、検索クエリー文字列は“パリ”、や“ロンドン”などの位置情報、地理の情報)であるか否かを判断する。位置情報のみでない場合(ステップS702でNO)、ステップS703へ進む。位置情報のみの場合(ステップS702でYES)、ステップS705へ進む。
【0068】
ステップS703では、検索処理部503は、位置情報データベース511を利用して、検索クエリー文字列のうち、位置情報を表すクエリー以外(例えば、”富士山”、あるいは”富士山 静岡”とクエリー文字列に位置情報を含む場合なら、位置情報を除いた富士山のみ)を抽出し、抽出した位置情報以外の検索クエリー文字列をメタデータとして持っている画像群を、検索対象データとして画像データベース510より取得する(検索の結果得られた画像、に該当)。
【0069】
ステップS704では、検索処理部503は、前記検索クエリー文字列と、ステップS703で取得した検索対象データを、バイアスベクトル生成部504へ入力する。バイアスベクトル生成部504は、受け取った検索クエリー文字列と検索対象データから、画像ランキング生成時に、各画像に位置情報に基づいて重みをつけるためのバイアスベクトルを生成する(ステップS704)。
【0070】
バイアスベクトル生成部504は、生成したバイアスベクトルを検索処理部503へ応答する。ステップS704のバイアスベクトル生成の詳細処理は、
図8を用いて後述する。
【0071】
ステップS705では、検索処理部503は、位置情報のみを表す検索クエリー文字列から100キロメートル以内の距離(所定の距離内)の画像群を、検索対象データとして、画像データベース510より取得する(検索の結果得られた画像、に該当)。この実施例では、100キロメートル以内の距離の画像を検索対象としているが、これは特に固定的なものではなく、利用形態に合わせて設定すれば良い。
【0072】
また、位置情報を表す検索クエリー文字列(パリやロンドンなど)は、画像間の距離を計算するために、地理情報と緯度・経度情報との対応を管理する位置情報データベース511を利用して緯度経度情報へ置き換えられる。
【0073】
図14に、画像間の距離を球面三角法により求める式を示す。画像の緯度・経度情報と地球の半径を利用して、画像間の距離を計算する。
【0074】
ステップS706では、検索処理部503は、画像ランキングは画像間の類似度のみによって計算するため、位置情報に基づいた重みを与えないように、
図15に示されるような、要素が均一で次元数が検索対象データ数となるバイアスベクトルを生成する。
【0075】
ステップS707では、検索処理部503は、ステップS703またはステップS705で取得した検索対象データを類似度行列生成部505へ入力する。類似度行列生成部505は、受け取った検索対象データそれぞれについて、全ての組み合わせを網羅するように画像ペア群を作成する。類似度行列生成部505は、前記作成した画像のペア群を特徴量類似度計算部506へ入力する。
【0076】
特徴量類似度計算部506は、受け取った画像ペア群の各ペアについて、特徴量データベース509に保存されている特徴量データ同士を比較して、画像間の類似度を算出する。1つの特徴量に関する類似度は、画像間の類似度が高いほど、類似度の数値が高くなるよう、例えば数値ベクトル間のユークリッド距離で表現される場合はその逆数として、ヒストグラム間の類似度として表現される場合は、ヒストグラムインターセクションとして計算される。
【0077】
画像間の類似度は、特徴量種類(この実施例では1から4)毎の類似度の足し合わせとして表現される。つまり、類似度は、画像Aの特徴量1と画像Bの特徴量1の距離、画像Aの特徴量2と画像Bの特徴量2の距離、画像Aの特徴量3と画像Bの特徴量3の距離、画像Aの特徴量4と画像Bの特徴量4の距離、の合計値となる。
【0078】
特徴量類似度計算部506は、生成した各画像間の類似度群を類似度行列生成部505へ応答する。類似度行列生成部505は、
図11に示される、受け取った各画像間の類似度を要素に持つ類似度行列1100を生成する。類似度行列生成部505は、生成した類似度行列1100を検索処理部503へ応答する。
【0079】
ステップS708では、検索処理部503は、ステップS707で生成した類似度行列1100と、ステップS704またはステップS706で生成したバイアスベクトルと、を画像ランキング生成部507へ入力する。画像ランキング生成部507は受け取った類似度行列とバイアスベクトルを用いて、画像ランキングを生成する。画像ランキング生成部507は、生成した画像ランキングの情報を検索処理部503へ応答する。ステップS708の画像ランキング生成の詳細処理は、
図12を用いて後述する。
【0080】
ステップS709では、ステップS708で取得した画像ランキングを画像検索結果生成部508へ入力する。画像検索結果生成部508は、受け取った画像ランキング値の昇順(表示順)に、対応する各画像のサムネイル群を、画像検索結果として生成する(検索結果表示画面生成手段に該当)。
【0081】
ステップS710では、画像検索結果生成部508は、ステップS709で生成した画像検索結果(例えば
図17、
図19に示す検索結果画面の情報)を、利用者端末101の結果表示部302へ送信する。利用者端末101のCPU201は、当該画像検索結果の情報を受信し、当該検索結果画面(
図17、
図19に示す検索結果画面等)を表示画面に表示する(検索結果表示手段に該当)。
【0082】
ここで
図17を参照して、本発明における情報処理システムにおける検索結果の利用者端末101の結果表示部302における表示画面の一例について説明する。
図17は、本発明における情報処理システムにおける検索結果の利用者端末101の結果表示部302における表示画面の一例を示す図である。
【0083】
1701で指示される領域に、ステップS709で生成された各画像のサムネイルが、ランキング値の高い順に表示されている。ここでは、
図10及び
図13に記載の式を用いてランキング値の計算をしているため、つまり、各グループの画像の数量差によってランキング値に偏りが出難いように重みづけをした上でランキング値を算出しているため、1701で指示される領域には、各グループの画像の内、各グループの中で各代表画像(代表画像データ)に近い画像が表示されやすくなる。つまり、グループ内でのランキングの情報を用いて、より代表的な画像を表示する。代表画像は、画像のグループ分けの基準となる画像である。代表画像の抽出処理については、
図9の説明にて後述する。
【0084】
尚、画像の表示の形式は上記の方法に限るものではない。例えば、
図17においてR1のサムネイルの属する列、R2のサムネイルの属する列、R3のサムネイルの属する列、R4のサムネイルの属する列とで、それぞれ別の画像群から抽出した、ランキング値の上位4枚の画像データのサムネイルを、それぞれ上から、ランキング順に表示するようにしてもよい。つまり、グループ分けした結果を認識可能に表示する。
【0085】
この場合、例えば、ランキング付けされた各画像データが、いずれの代表画像のグループに属するかを判定し、画像検索装置102に予め設定されている表示する画像の総枚数、グループ毎の画像の表示枚数の情報(ここでは、総枚数=16、グループ毎の表示枚数=4とする)を取得し、当該表示枚数に達するまで、乃至、ランキング付けされた画像データが0になるまで、各グループの画像データを取得して、1701で指示されるグループ毎の画像表示のための領域に表示するものとする。
【0086】
尚、いずれの画像データがいずれの代表画像の属するグループに属するかの情報は、
図9のステップS912の説明にて後述するグループ分けの処理の結果の情報であって、画像検索装置102の外部メモリ211等の記憶領域に記憶されているものとする。また、当該表示する画像の総枚数、グループ毎の画像の表示枚数の情報は、画像検索装置102から利用者端末101に提供される、不図示の表示枚数設定画面から設定、変更可能であるものとする。
【0087】
また、
図19に示されるように、利用者端末101の結果表示部302において、画像の緯度・経度情報を利用して地図上(マップ上)に各画像を配置することで画像検索結果を提示するようにしてもよい。位置情報を利用したバイアスベクトルを用い、また、各代表画像の属する各グループの画像の数量差によってランキング値に偏りが出ないように重みづけをした上でランキング値を算出しているため、各地の代表画像を偏りなく表示、つまり多様性を担保した画像検索結果の表示が可能になり、また、地図上で表示することで利用者に分かりやすい画像検索結果になることを示している。
【0088】
図19では、“R1〜R3、R15”、“R6、R7、R11”、“R4、R5、R14”、“R8、R10、R16”、“R9、R12、R13”がそれぞれ同じグループであるものとして表示、プロットしている。つまり、グループ分けした結果を認識可能に表示している。
【0089】
尚、
図17中では、類似画像検索結果の表示枚数は16枚としているが、その枚数は特に制限されるものではなく、利用形態に合わせた枚数を表示すれば良い。以上が
図17の、本発明における情報処理システムにおける検索結果の利用者端末101の結果表示部302における表示画面の一例についての説明である。
【0090】
次に、
図8を用いて、本発明の実施形態における、情報処理システムにおけるバイアスベクトルの生成手順の詳細処理について説明する。
図8は、本発明の実施形態における、情報処理システムにおけるバイアスベクトルの生成手順の詳細処理を示すフローチャートである。
【0091】
ステップS801では、バイアスベクトル生成部504は、検索処理部503から、検索対象データと検索クエリー文字列を受信する。
【0092】
ステップS802では、バイアスベクトル生成部504は、ステップS801で受信したクエリー文字列に位置情報が含まれているか否かを判断する。含まれている場合、ステップS803へ進む。含まれていない、キーワードのみによるクエリー文字列であった場合、ステップS804へ進む。
【0093】
ステップS803では、検索クエリー文字列のうち、位置情報を表す(パリやロンドンなど)クエリーは、画像間の距離を計算するために、地理情報と緯度・経度情報との対応を管理する位置情報データベース511を利用して緯度経度情報へ置き換えられる。
【0094】
バイアスベクトル生成部504は、キーワードによる文字列と緯度・経度情報よりなる検索クエリーを用いて、位置情報に基づいたバイアスベクトルを生成する。この時、利用者の注目する位置情報が検索クエリーとして入力されているので、バイアスベクトル生成部504は、前記特許文献1に開示されている技術を用いて、バイアスベクトルを生成する。
【0095】
ステップS804では、バイアスベクトル生成部504は、利用者が位置情報を入力しなくても、画像ランキングに重みをつけ、画像検索結果の多様性を確保するために、検索対象データの位置情報を用いて、バイアスベクトルを生成する。
【0096】
バイアスベクトル生成部504は、ステップS801で受信した検索対象データから、位置情報に基づいて、代表画像群同士の距離が大きくなるような代表画像を10枚選択し、代表画像10枚との距離によって検索対象画像ごとのバイアスベクトル要素を算出して、バイアスベクトルを生成する。
【0097】
この実施例では、選択する代表画像は10枚としているが、これは特に固定的なものではなく、利用形態に合わせて設定すれば良い。ステップS804のバイアスベクトル自動生成の詳細処理は、
図9の説明にて後述する。
【0098】
ステップS805では、バイアスベクトル生成部504は、ステップS803またはステップS804で生成したバイアスベクトルを、検索処理部503へ送信する。以上が
図8の、本発明の実施形態における、情報処理システムにおけるバイアスベクトルの生成手順の詳細処理についての説明である。
【0099】
ここで
図9を参照して、本発明の実施形態における情報処理システムにおけるバイアスベクトルを自動生成する詳細処理について説明する。
図9は、本発明の実施形態における情報処理システムにおけるバイアスベクトルを自動生成する詳細処理を示すフローチャートである。
図9は、
図8のステップS803(バイアスベクトル自動生成処理)の詳細処理を示す。
【0100】
ステップS901では、バイアスベクトル生成部504は、検索対象データから画像1枚を代表画像として選択する(代表画像特定手段に該当)。代表画像は、画像のグループ分けの基準となる画像である。
【0101】
ステップS902では、バイアスベクトル生成部504は、i、nに1(初期値)を代入し、Nに選択する代表画像の総数(この実施例では10)を代入し、Rに画像を代表画像として選択するか否かを判断する際の距離(この実施例では1000キロメートル)を初期値として代入する。
【0102】
ステップS903では、バイアスベクトル生成部504は、iの値を1増加させた後、ステップS904へ進む。
【0103】
ステップS904では、バイアスベクトル生成部504は、検索対象データのi番目の画像iについて、既に代表画像に選択しているか否かを判断する。画像iが既に代表画像として選択済みの場合、ステップS903へ進む。そうでない場合、ステップS905へ進む。
【0104】
ステップS905では、バイアスベクトル生成部504は、画像iと、既に代表画像として選択済みの画像それぞれについて、画像間の距離が、すべてRキロメートル(この実施例では、1000キロメートル)以上離れているか否かを判断する。2画像間の距離は、画像の緯度・経度情報と、
図14で示される式を用いて算出する。
【0105】
画像iと既に選択済みのすべての代表画像との距離がRキロメートル以上離れている場合、ステップS906へ進む。そうでない場合、ステップS910へ進む。ステップS906では、バイアスベクトル生成部504は、画像iを新たに代表画像nとして選択する。
ステップS907では、バイアスベクトル生成部504は、nの値を1増加させた後、ステップS908へ進む。
【0106】
ステップS908では、バイアスベクトル生成部504は、nが代表画像として選択する総数N(この実施例では10)以上であれば、代表画像の選択は終了しているため、ステップS912へ進む。そうでない場合、ステップS909へ進む。
【0107】
ステップS909では、バイアスベクトル生成部504は、検索対象データの1番目の画像から、再び代表画像に選択するか否かを判断するために、iに1を代入し、ステップS903へ進む。
【0108】
ステップS910では、バイアスベクトル生成部504は、iが検索対象データ数以上であれば、ステップS911へ進む。そうでない場合、ステップS903へ進む。
【0109】
ステップS911では、バイアスベクトル生成部504は、検索対象データ中に、既に選択済みのすべての代表画像との距離がRキロメートル以上離れている画像が存在しないため、距離の制約を緩和するために、距離Rの値を半分に減ずる。この実施例では、Rの値を半分にしているが、これは特に固定的なものではなく、利用形態に合わせてRの値を減ずる処理を行えば良い。
【0110】
ステップS912では、バイアスベクトル生成部504は、検索対象データの各画像を、代表画像の中で最も距離が近い画像に割り当てていき、代表画像数個(この実施例では10枚)にグループ分けを行う。
【0111】
この時、ある代表画像に割り当てられた(ある代表画像に対応付けてグループ分けされた)画像枚数が少ない(例えば、1枚)場合は、利用者の入力した検索クエリー文字列に対して、典型的ではない特異な画像である可能性がある。該代表画像に基づいてバイアスベクトルを生成した場合、利用者にとって有益でない画像のランキングが高くなる可能性があるため、該代表画像を破棄し、ステップS903へ戻り、新たに代表画像の選択を行なっても良い。つまり、新たな代表画像を削除、追加してもよい。
【0112】
ステップS913では、バイアスベクトル生成部504は、前記選択した代表画像と、代表画像ごとにグループ分けされた検索対象データと、
図10に示される式を用いて、バイアスベクトルを生成する(バイアスベクトル算出手段、バイアスベクトル決定手段、に該当)。該バイアスベクトルによって、検索クエリー文字列に関する画像ランキングを、可能な限り各地の様々な画像が上位となるよう重み付けを行うことが可能となり、結果の多様性を担保した上で、利用者によって有益な画像検索結果を得ることができる。
【0113】
ここで
図10を参照して、本発明の実施形態における情報処理システムにおける位置情報に基づいたバイアスベクトルを生成するための式の一例について説明する。
図10は、本発明の実施形態における情報処理システムにおける位置情報に基づいたバイアスベクトルを生成するための式の一例を示す図である。
【0114】
図10に示されるように、画像iのバイアスベクトル要素は、画像iの属するグループの代表画像との距離が近いほど大きい値をとる。また、画像iが属するグループ中での代表画像との近さの順位(グループ内順位)を決定して(順位付けして/グループ内順位決定手段に該当)、当該順位で除算することで、画像数が多いグループの画像だけがランキング上位とならず、地理的に分散した画像群をランキング上位として得ることができる。
【0115】
つまり、
図10の式中のri(グループ内での、代表画像との近さの順位/グループ内順位)を用いて、当該代表画像の位置との近さにより算出される値を割る(除算する)ことにより、riの値が大きいほど画像iのバイアスベクトルの値が小さくなるよう補正する。
【0116】
こうすることで、ランキング上位の画像の多くが、画像数が多いグループに属する画像になってしまう事態を防止する。つまり、“特定のグループに属する画像数が多い=特定のグループ内において、代表画像に近い位置に存在する画像が多い”、“特定のグループ内において、代表画像に近い位置に存在する画像が多い=バイアスベクトルの値が大きい画像が前記特定のグループに集中する”という結果を生じさせる可能性を低減する。
【0117】
上記の方法であれば、例えば、グループ1の画像1(グループ内の代表画像との距離が0.1πラジアン/順位=1位)、グループ1の画像2(グループ内の代表画像との距離が0.2πラジアン/順位=2位)と、グループ2の画像3(グループ内の代表画像との距離が0.3πラジアン/順位=1位)と、があった場合、バイアスベクトルPiは、それぞれ、画像1=(π―0.1π)/π ÷ 1、画像2=(π―0.2π)/π ÷ 2、画像3=(π―0.3π)/π ÷ 1、となる。つまり、バイアスベクトルの大きさの順は、画像1、画像3、画像2の順になり、画像の母数が2であるグループ1と、画像の母数が1であるグループ2との間において、“代表画像に近い位置に存在する画像が多い=バイアスベクトルの値が大きい画像が前記特定のグループに集中する”という事態を回避することができる。
【0118】
尚、各グループの代表画像については、必然的に代表画像との距離=0/順位=1位となる、つまり、バイアスベクトルの値が大きくなるが、後述するランキング値算出の処理において、類似度に関する重みを、バイアスベクトルにかける重みより大きくすることで、代表画像=高ランキング値という結果を回避(その可能性を低減)することが可能である。
【0119】
したがって、画像の類似度と、前記位置情報に基づくバイアスベクトルを利用し、検索結果の多様性を担保した上で、利用者にとって有益な画像検索結果を提示することが可能となる。式中の、画像iと、自身が属するグループの代表画像との距離は、
図14に示される式を用いて計算する。
【0120】
このように、バイアスベクトル生成部504は、代表画像と、代表画像ごとにグループ分けされた検索対象データと、
図10の式を用いて、各画像のランキングに重み付けを行う要素を計算し、該要素を持つ数値ベクトルをバイアスベクトルとして生成する。以上が
図10の、本発明の実施形態における情報処理システムにおける位置情報に基づいたバイアスベクトルを生成するための式の一例についての説明である。
【0121】
図9の説明に戻る。ステップS914では、バイアスベクトル生成部504は、ステップS913で生成したバイアスベクトルを、検索処理部503へ送信する(ステップS914)。以上が
図9の、本発明の実施形態における情報処理システムにおけるバイアスベクトルを自動生成する詳細処理についての説明である。
【0122】
次に、
図12を参照して、本発明の実施形態における情報処理システムにおける画像ランキング生成の詳細処理(ステップS708の詳細処理)について説明する。
図12は、本発明の実施形態における情報処理システムにおける画像ランキング生成の詳細処理を示すフローチャートである。
【0123】
ステップS1201では、画像ランキング生成部507は、検索処理部503から、類似度行列と、バイアスベクトルと、を受信する。ステップS1202では、画像ランキング生成部507は、tに初期値1を代入する。
【0124】
ステップS1203では、画像ランキング生成部507は、類似度行列と、バイアスベクトルと、
図13に示される画像ランキング計算式を用いて、画像ランキングR(t)を計算する(全体順位決定手段に該当)。
【0125】
ステップS1204では、画像ランキング生成部507は、ステップS1203で計算(例えば、
図13に示す計算式を使用して計算)した画像ランキングR(t)が収束したか否かを判断する。収束しているか否かの判断は、R(t)とR(t−1)の残差ベクトルのL2ノルムが10のマイナス12乗より小さい値をとるか否か(収束条件を満たすか否か)で行われる。この実施例では、収束しているか否かの条件(収束条件)に10のマイナス12乗という値を用いているが、これは特に固定的なものではなく、利用形態に合わせて設定すれば良い。
【0126】
当該ランキング生成処理における各計算に用いる計算式は、当該ランキングを計算するための式の一例である。以下、非特許文献1に示される技術に基づき、類似度行列の固有ベクトルがランキング値となることに基づいて、
図13に示すようなべき乗法を用いて固有ベクトルを算出する処理を説明する。
図13の計算式を用いた計算は反復的に行われ、ランキング値は更新されていき、前記収束条件により反復計算を打ち切る。収束していれば、画像ランキングの計算を終了し、ステップS1206へ進む。そうでなければ、ステップS1205へ進む。
【0127】
ステップS1205では、画像ランキング生成部507は、tの値を1増加させた後、ステップS1203へ進む。
【0128】
ここで
図13を参照して、本発明の実施形態における情報処理システムにおける画像ランキングを計算するための式の一例について説明する。
図13は、本発明の実施形態における情報処理システムにおける画像ランキングを計算するための式の一例を示す図である。
【0129】
画像ランキングR(t)は、検索対象データすべての画像ランキングは等しいとした画像ランキング初期値R(0)と、類似度行列と掛け合わせた後、バイアスベクトルを足し合わせることで、画像間の類似度および位置情報に基づいた重み付けを考慮して計算される。
【0130】
尚、
図13でいう重み(α)は、固定値である物とする。例えば、α=0.7とした場合、類似度行列(S*)と画像ランキングR(0)とを掛け合わせた値の重み=0.7、バイアスベクトルの重み=0.3として、ランキング値が算出される。本実施例において、当該重み(α)は、画像検索装置102の外部メモリ211等に記憶されているものとする。
【0131】
尚、検索オプションを設定するために、検索実行前等のタイミングで、利用者端末101の表示画面に表示される不図示の重み調整画面等において、当該重みの値を変更する指示を受け付けることにより、当該重みの固定値を変更可能にしてもよい。例えば、重み=0.7:0.3 を、重み=0.6:0.4 というように変更可能にしてもよい。
【0132】
当該重みの値を変更する指示とは、例えば、重みを変更するために値を入力する入力欄への入力受付処理、及び、入力内容を決定、反映するためのボタンの押下指示等である。また、スクロールバー等を表示画面に表示して、ユーザから受け付けるバーの移動処理に応じて、重みの比率を変更可能にしてもよい。
【0133】
画像ランキングR(t)の計算は反復的に行われ、ランキング値は更新されていき、前記収束条件により反復計算を打ち切る。αは、バイアスベクトルを画像ランキングにどの程度反映させるかを決定する重みであり、0から1の値を取る。S*は、各列成分の合計が1となるよう正規化した類似度行列である。類似度行列の正規化は、画像ランキングR(t)のノルムを一定に保つために行う。
【0134】
ランキング値と画像の対応は、
図20に示すようなデータテーブルとして、画像検索装置102の一時記憶領域に記憶されるものとする。
図20におけるRank2001は、対応する画像のランキングを示す。Rank値2002はランキング値である。画像NO2003は画像を識別するための識別情報である。以上が
図13の、本発明の実施形態における情報処理システムにおける画像ランキングを計算するための式の一例についての説明である。
【0135】
図12の説明に戻る。ステップS1204では、画像ランキング生成部507は、前記計算された画像ランキングを、検索処理部503へ送信する。以上が
図12の、本発明の実施形態における情報処理システムにおける画像ランキング生成の詳細処理についての説明である。以上、利用者が検索要求を発信してから検索結果が応答されるまでの処理を説明した。
【0136】
尚、上述した実施形態においては、
図7のステップS707で、ステップS703またはステップS705で取得した検索対象データを類似度行列生成部505へ入力し、類似度を算出して、類似度行列とバイアスベクトルを用いて、画像ランキングを生成し、当該ランキング順に画像を検索結果画面に所定数表示するようにしたが、例えば、ある代表画像に対応付けてグループ分けされた画像枚数が所定数に達していない場合は、当該代表画像を破棄(画像枚数が所定数に達しないグループを削除)するようにしてもよい。
【0137】
これは、“グループの画像枚数が所定数に達しない=利用者の入力した検索クエリー文字列に対して、典型的ではない特異な画像である可能性がある”という思想に基づき、グループに含まれない画像を検索結果として表示させないように制御すべく(グループに含まれている画像を検索結果として表示すべく)、余分な画像をランキング付けの対象から削除するための処理である。
【0138】
この場合、
図7のステップS707では、
図9のステップS912でグループ分けされた、つまり、グループに属する画像として記憶された画像を類似度行列生成部505へ入力し、類似度を算出して、類似度行列とバイアスベクトルを用いて、ステップS707で類似度行列生成部505へ入力した画像(=グループ分けされている画像)の画像ランキングを生成し、当該ランキングに基づいて検索結果の画面を生成し、利用者端末101の表示画面に表示させるべく、利用者端末101に検索結果の画面の情報を送信するようにする。
【0139】
所定数以上の画像を含むグループの生成(画像のグループ分け/グルーピング)は、例えば、
図21に示すようにして行われる。以下、
図21を参照して、本発明の実施形態における、画像のグループ分けの様子の一例について説明する。
図21は、本発明の実施形態における、画像のグループ分けの様子の一例を示す図である。
図21では、画像データをエリアごとに分ける様子を示している。
【0140】
グループ2101、グループ2102、グループ2103、グループ2104は、それぞれ画像A、画像B、画像C、画像Dを代表画像として生成された(グループ分けされた)画像のグループを示す。つまり、位置情報を用いて、エリアごとに生成されたグループを示す。
【0141】
例えば、画像検索装置102のCPU201は、利用者端末101より受信したクエリーに基づいた検索処理により画像Aを取得して代表画像とし、画像Aの位置から所定範囲内(所定距離内)にある画像群(例えばグループ2101の示す円の中の画像)を画像Aに対応するグループ2101の画像として画像グループテーブル(
図24に図示)に記憶する。
【0142】
ここで
図24を参照して、本発明の実施形態における、画像グループテーブル、及びグループ条件テーブルの構成の一例について説明する。
図24は、本発明の実施形態における、画像グループテーブル、及びグループ条件テーブルの構成の一例を示す図である。
図24に示す各テーブルは、画像検索装置102の外部メモリ等の記憶領域に生成・記憶するものとする。
【0143】
画像グループテーブル2400は、グループID2401、代表画像NO2402、画像NO2403、グループ内枚数2404等から構成される。
【0144】
グループID2401は、グループの識別情報であって、代表画像NO2402が選出された場合に(
図9のステップS901)画像検索装置102のCPU201により生成され、当該代表画像の画像NOと対応付けて記憶される。つまり、グループIDは、Nに代入される数(ここではN=10なので10)の分だけ生成される。
【0145】
代表画像NO2402は、グループの生成基準となる代表画像の画像NOであり、グループID2401の示すグループの代表画像である。画像NO2403は、代表画像NO2402の示す代表画像のグループに属する画像の画像NOであり、ステップS912において、各代表画像のグループに割り当てられた(グループ分けされた)画像の画像NOである。当該画像NO2403の値は、ステップS912で、各画像が各グループにグルーピングされた時点で挿入、記憶される。
【0146】
グループ内枚数2404は、各グループの画像の総数(母数)であり、グループに画像が割り当てられるたびに1カウントアップされる。
【0147】
グループ条件テーブル2410は、距離2411、閾値枚数2412等から構成される。距離2411は、代表画像から何km以内にある画像を(どれだけの距離範囲内にある画像を)当該代表画像のグループの画像としてグループ分けするかの判断基準となる距離の情報である。
【0148】
つまり、画像検索装置102のCPU201は、ステップS912で、代表画像NO2402の示す各代表画像の位置から距離2411の示す距離内にある画像を、各代表画像のグループにグループ分けする。
例えば、画像Aの位置から半径500km以内の位置情報を有する画像で、クエリーに基づいて検索された画像を画像AのグループであるG2101にグループ分けして、画像NO2403に記憶する。
【0149】
そして、画像Aのグループに割り当てる画像がなくなった場合に、画像Bのグループにグループ分け処理に移行し、画像Bの位置から半径500km以内の位置情報を有する画像で、クエリーに基づいて検索された画像を画像BのグループであるG2102にグループ分けして、画像NO2403に記憶する。以降、処理対象のグループが0になるまで、当該グループ分けの処理を繰り返す。
【0150】
閾値枚数2412は、グループID2401の示すグループを、検索結果として表示する画像のグループとして成立させるか(削除せずに記憶したままにしておくか)、検索結果には表示しない画像のグループと判断して当該グループを削除するかを決定する基準となる枚数である。
【0151】
つまり、画像検索装置102のCPU201は、ステップS912での画像のグルーピング後、グループ分けされたグループの内、グループ内枚数2404が、閾値枚数2412に達していない(ここではグループ内枚数2404=39枚以下)と判定したグループを、画像グループテーブル2400から削除し、閾値枚数2412に達している(ここではグループ内枚数2404=40枚以上)と判定したグループを、画像グループテーブル2400に記憶したまま残す処理を行う(所定数判定手段に該当)。尚、本実施形態の説明においては、「グループ内枚数2404が閾値枚数2412以上=閾値枚数2412に達する」であるものとしたが、例えば、「グループ内枚数2404が閾値枚数を超える=閾値枚数2412に達する」としてもよい。
【0152】
利用者端末101のCPU201は、(例えば、検索処理部503は)
図7のステップS707で、画像グループテーブル2400に記憶されているグループの画像を類似度行列生成部505へ入力する。類似度行列生成部505は、受け取った画像それぞれについて、全ての組み合わせを網羅するように画像ペア群を作成する。類似度行列生成部505は、前記作成した画像のペア群を特徴量類似度計算部506へ入力する。
【0153】
特徴量類似度計算部506は、受け取った画像ペア群の各ペアについて、特徴量データベース509に保存されている特徴量データ同士を比較して、画像間の類似度を算出する。1つの特徴量に関する類似度は、画像間の類似度が高いほど、類似度の数値が高くなるよう、例えば数値ベクトル間のユークリッド距離で表現される場合はその逆数として、ヒストグラム間の類似度として表現される場合は、ヒストグラムインターセクションとして計算される。
【0154】
画像間の類似度は、特徴量種類(この実施例では1から4)毎の類似度の足し合わせとして表現される。
【0155】
特徴量類似度計算部506は、生成した各画像間の類似度群を類似度行列生成部505へ応答する。類似度行列生成部505は、
図11に示される、受け取った各画像間の類似度を要素に持つ類似度行列1100を生成する。類似度行列生成部505は、生成した類似度行列1100を検索処理部503へ応答する。
【0156】
ステップS708では、検索処理部503は、ステップS707で生成した類似度行列1100と、ステップS704またはステップS706で生成したバイアスベクトルと、を画像ランキング生成部507へ入力する。画像ランキング生成部507は受け取った類似度行列とバイアスベクトルを用いて、ステップS707で類似度行列生成部505へ入力した画像(=グループ分けされている画像)の画像ランキングを生成する。画像ランキング生成部507は、生成した画像ランキングの情報を検索処理部503へ応答する。
【0157】
ステップS709では、ステップS708で取得した画像ランキングを画像検索結果生成部508へ入力し、画像検索結果生成部508が、受け取った画像ランキング値に基づいて各画像のサムネイル群を含む、検索結果画面を生成し、利用者端末101に送信する。
【0158】
こうすることで、利用者端末101の表示画面(検索結果を表示する画面)に表示される画像は、グループ分けされた画像から抽出されるため、削除されたグループの画像(グループ分けされなかった画像=ヒット件数が少なく、周囲の位置にある画像が少ない画像)は、検索結果として表示される画像から除かれる。
【0159】
つまり、
図21に示す、グループ2101、グループ2102、グループ2103、グループ2104に属する画像が検索結果表示画面に表示される画像の候補となり、代表画像から半径500km以内の位置情報を持つ画像が少ないためにグループとして記憶されなかった(一時的にグループとして記憶されたが、その後画像グループテーブル2400から削除された)画像E、画像F、画像G等の画像は、検索結果表示画面に表示される画像の候補から除かれる。
【0160】
これにより、近隣位置にクエリーにヒットする情報を持つ画像が所定数以上ある(=入力された検索クエリーとの関連性が高い)、位置情報に基づいた複数種類の画像(例:エジプトのピラミッドの画像、エジプトとは異なる場所にあるガラス製のピラミッドの画像、美術館に飾られたピラミッドの絵画の画像、等)をユーザに提示することができるようになる。
【0161】
以上が
図21の、本発明の実施形態における、画像のグループ分けの様子の一例について説明、及び、
図24の、本発明の実施形態における、画像グループテーブル、及びグループ条件テーブルの構成の一例についての説明である。
【0162】
次に、
図22及び
図23を参照して、本発明の実施形態における、検索結果の利用者端末の結果表示部における表示画面の一例について説明する。
図22及び
図23は、本発明の実施形態における、検索結果の利用者端末の結果表示部における表示画面の一例を示す図である。
【0163】
上述した、グルーピングされた画像のみを検索結果表示画面に表示する画像の候補とする場合、画像検索装置102のCPU201は、
図7のステップS709で、例えば、
図22に示すような検索結果表示画面2200を生成して、ステップS710で当該検索結果表示画面2200を利用者端末101に送信する。検索結果表示画面2200は、画像検索装置102の外部メモリに予め記憶されている、不図示の、画面生成の設定情報が、検索結果表示画面2200を生成するよう設定されている場合に、画像検索装置102のCPU201により生成される。
【0164】
検索結果表示画面2200は、グループ枠G2101、グループ枠G2012、グループ枠G2013、グループ枠G2104、グループ画像総数表示部2201、画像表示切替ボタン2202等から構成される。
【0165】
グループ枠G2101、グループ枠G2012、グループ枠G2013、グループ枠G2104は、それぞれ、画像の属するグループを示している。例えば、画像検索装置102の外部メモリに記憶されている検索結果表示画面の生成ルール(不図示)に従って、ランキング上位の、異なるグループに属する画像を所定数取得し(ここでは画像A、画像B、画像C、画像Dの4枚)、それぞれの画像をそれぞれの画像の属するグループを示すグループ枠の中に配置して、それぞれのグループ枠の中において、それぞれのグループ中のランキング(グループ内順位)が高い順に画像をソートして所定数配置した(画面検索結果表示画面2200)を生成する。つまり、各グループの中でより代表的な画像を表示する。
【0166】
これにより、ランキングの高い画像と、当該ランキングの画像と同じグループに属する画像をユーザに確認させることが出来る。
【0167】
グループ画像総数表示部2201は、各グループ枠の示すグループ内の画像の総数を表示する表示部である。画像表示切替ボタン2202は、各グループ枠内の画像の表示を、同グループ内の別の画像の表示に切り替えるためのボタンである。以上が
図22の、本発明の実施形態における、検索結果の利用者端末の結果表示部における表示画面の一例についての説明である。
【0168】
また、例えば、
図21に示す画面を、検索結果の画面として生成するようにしてもよい。この場合、2101〜2104に示す円を、
図22でいうグループ枠とするものとする。
【0169】
続いて、
図23に示す、検索結果表示画面2300について説明する。検索結果表示画面2300は、
図7のステップS709で生成される検索結果(検索結果表示画面)の一例である。
図7のステップS709で、
図22に示す検索結果表示画面2200が生成されるか、
図23の検索結果表示画面2300が生成されるかの設定情報(不図示)は、予め、画像検索装置102の外部メモリに記憶されているものとする。検索結果表示画面2300は、画像検索装置102の外部メモリに予め記憶されている、不図示の、画面生成の設定情報が、検索結果表示画面2300を生成するよう設定されている場合に、画像検索装置102のCPU201により生成される。
【0170】
検索結果表示画面2300は、識別枠2301、識別枠2302、識別枠2303、識別枠2304等から構成される。それぞれの識別枠は、それぞれの識別枠で囲われた画像がいずれのグループに属するかを示している。
【0171】
尚、ここでは検索結果表示画面2300に表示される各画像を、異なる種別の線の識別枠で囲うことで、各画像がそれぞれいずれのグループの画像かを識別表示するものとして記載したが、画像のグループの識別表示の方法はこれに限るものではない。例えば、枠の色をグループ毎に変更してもよい。
【0172】
検索結果表示画面2300では、各画像は、ランキングが高い順に画面左上から右下へ向けて配置されており、例えば画像A=ランキング1位、画像D=ランキング3位、画像B=ランキング4位、画像C=ランキング5位となっている。つまり、グループ内順位の情報を用いて、より代表的な画像を表示する画面を生成する。
【0173】
こうすることにより、いずれのグループの画像が高いランキング(全体順位)にあるかをユーザに確認させることが出来る。
【0174】
以上が
図23の、本発明の実施形態における、検索結果の利用者端末の結果表示部における表示画面の一例についての説明である。
【0175】
また、上述した実施形態における
図9のステップS901では、検索対象データからランダムに画像1枚取得して代表画像として選択するものとしたが、例えば、ステップS901の前に、全ての検索対象データに対して、
図7のステップS706、S707を実行し、最も他の画像と共通点の多い画像(他の画像との類似度が最も高い画像=最も一般的な画像)を特定し、ステップS901で取得して、1つめの代表画像とするようにしてもよい。
【0176】
こうすることで、生成するグループの数(=N)が限られている場合であって、検索対象データ内でグループが大量に生成可能である場合であっても、検索クエリーから特定される、最も一般的な画像のグループに属する画像を、確実に、検索結果の候補に設定することが出来る。
【0177】
上述した通り、本発明によれば、画像データに対応する位置情報を用いて、容易に異なるエリアの検索結果を提示することができる。
【0178】
つまり、例えば、特許文献1に記載されている技術を用いた場合は、複数のエリアの画像を検索しようとすると、ユーザから明示的に当該複数のエリア(位置)の指定を受け付けなければならないが、本発明によれば、ユーザから明示的な位置の指定を受け付けることなく(例えば地名の文字列の入力を受け付けることなく)、複数のエリアの画像データを検索結果として抽出してユーザに提示することができ、検索が容易になる。これにより、画像データの検索の利便性が向上する。
【0179】
また、上記実施例に記載した処理により、利用者の要求する検索クエリーが位置情報のみの場合は、該地点周辺の代表画像を提示することができ、また、検索クエリーに位置情報を含まない場合でも、位置情報に基づいて自動で生成したバイアスベクトル利用して画像ランキングを生成することで、結果の多様性を担保した上で、利用者にとって有益な画像を提示できる。
【0180】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0181】
前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0182】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【0183】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【0184】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0185】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0186】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。