以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、画像検索装置の例として、入力された画像に基づいて予め格納されている検索対象画像情報を検索し、入力された画像に類似する画像を抽出する装置を例として説明する。
図1は、本実施の形態に係る画像検索システムの運用形態の例を示す図である。図1に示すように、本実施形態に係る画像検索システムは、画像検索装置1、クライアント装置2及び画像情報DB200を含む。画像検索装置1、クライアント装置2及び画像情報DB200は、ネットワーク3を介して接続されている。
クライアント装置2は、PC(Personal Computer)等の一般的な情報処理装置によって構成される。また、クライアント装置2は、携帯電話等の移動通信端末や、MFP(MultiFunction Peripheral)等によって構成することができる。画像検索装置1は、ネットワークを介してクライアント装置2と接続されており、クライアント装置2からの検索要求を受けて画像情報DB200に格納されている画像情報を検索する。画像情報DB200は、検索対象の情報として複数の画像情報を記憶している。即ち、画像情報DB200は、検索対象画像記憶部である。画像情報DB200は、HDD(Hard Disk Drive)等の不揮発性記憶媒体によって構成される。
尚、図1に示すように、本実施形態においては、画像情報DB200が画像検索装置1とは別に設けられている例を説明するが、画像情報DB200を画像検索装置1内部に構成することも可能である。更に、画像情報DB200、画像検索装置1及びクライアント装置2が1体の装置として構成されても良い。
次に、本実施形態に係る画像検索装置1、クライアント装置2等の情報処理端末のハードウェア構成について説明する。図2は、本実施形態に係情報処理端末のハードウェア構成を示すブロック図である。以下の説明においては、画像検索装置1のハードウェア構成として説明する。図2に示すように、本実施形態に係る画像検索装置1は、一般的なサーバやPC(Personal Computer)等の情報処理端末と同様の構成を有する。
即ち、本実施形態に係る画像検索装置1は、CPU(Central Processing Unit)10、RAM(Random Access Memory)20、ROM(Read Only Memory)30、HDD40及びI/F50がバス80を介して接続されている。また、I/F50にはLCD(Liquid Crystal Display)60及び操作部70が接続されている。
CPU10は演算手段であり、画像検索装置1全体の動作を制御する。RAM20は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU10が情報を処理する際の作業領域として用いられる。ROM30は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。HDD40は、情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)や各種の制御プログラム、アプリケーション・プログラム等が格納される。
I/F50は、バス80と各種のハードウェアやネットワーク等を接続し制御する。LCD60は、ユーザが画像検索装置1の状態を確認するための視覚的ユーザインタフェースである。操作部70は、キーボードやマウス等、ユーザが画像検索装置1に情報を入力するためのユーザインタフェースである。
尚、図1において説明したように、本実施形態に係る画像検索装置1は、サーバとして運用される。従って、LCD60及び操作部70等のユーザインタフェースは省略可能である。この他、画像検索装置1は、情報処理機能を有する端末であれば、どのような実現態様であっても良い。例えば、一般的なPC、MFP等が考えられる。
このようなハードウェア構成において、ROM30やHDD40若しくは図示しない光学ディスク等の記憶媒体に格納されたプログラムがRAM20に読み出され、CPU10の制御に従って動作することにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る画像検索装置1の機能を実現する機能ブロックが構成される。
次に、本実施形態に係る画像検索装置1の機能ブロックについて、図3を参照して説明する。図3は、本実施形態に係る画像検索装置1の機能ブロックを示すブロック図である。図3に示すように、本実施形態に係る画像検索装置1は、検索制御部100、情報入力部110、ネットワークI/F120及び表示部130を有する。
情報入力部110は、ユーザが画像検索装置1を操作して検索制御部100に情報を入力するための構成であり、図2に示すI/F50及び操作部70によって実現される。ネットワークI/F120は、画像検索装置1がネットワークを介して情報を取得し、若しくはネットワークを介して情報を送信するためのインタフェースであり、図2に示すI/F50によって実現される。具体的な例としては、ネットワークI/F120は、Ethernet(登録商標)接続のインタフェースや、USB(Universal Serial Bus)接続のインタフェースによって実現される。
表示部130は、画像検索装置1の動作状態や、検索結果等が表示される構成であり、図2に示すI/F50及びLCD60によって実現される。検索制御部100は、本実施形態に係る画像検索装置1の検索機能を担う画像検索実行部であり、入力画像情報取得部101、画像処理部102、文字情報変換部103、類似度算出部104及び抽出結果処理部105を有する。
入力画像情報取得部101は、ユーザによって情報入力部110を介して入力された画像情報若しくはネットワークI/F120を介してネットワーク経由で入力された画像情報を入力画像情報、即ち検索条件となる条件画像として取得する画像取得部として機能する。画像取得部は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成される。
画像処理部102は、入力画像情報取得部101が取得した条件画像に対して所定の処理を実行し、数値列情報を生成する。画像処理部102が実行する処理については、後に詳述する。文字情報変換部103は、画像処理部102が生成した数値列情報を文字列情報に変換して文字列情報を生成する。
類似度算出部104は、文字情報変換部103によって生成された文字情報に基づき、条件画像と検索対象画像との類似度を算出する。そして、類似度算出部104は、検索対象画像とその画像の条件画像に対する類似度とが関連付けられた情報(以降、類似度一覧情報とする)を生成する。類似度算出部104は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成される。類似度算出部104による類似度の算出方法としては既存の画像検索技術を用いることができる。
抽出結果処理部105は、類似度算出部104によって生成された類似度一覧情報を表示部130に表示し、若しくはクライアント装置2の表示部に表示させるための表示情報を生成して出力する。即ち、抽出結果処理部105は、類似度の算出結果を表示させるための表示情報を生成する表示情報生成部として機能する。表示情報生成部は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成される。
次に、画像情報DB200に格納されている情報について説明する。図4に、画像情報DB200が記憶している情報の例を示す。上述したように、画像情報DB200は、検索対象の画像情報を記憶している。そして、図4に示すように、画像情報DB200は、検索対象の画像のID、画像タイトル及び文字列情報を記憶している。画像のIDとは、検索対象の画像を一意に識別する情報である。また、画像タイトルは、検索対象の画像の名称である。そして、文字列情報とは、夫々の画像情報について、上述した画像処理部102及び文字情報変換部103による処理と同様の処理により生成された文字列情報である。この文字列情報が、画像検索において用いられる検索対象文字列情報である。
次に、本実施形態に係る画像検索装置1の動作について図を参照して説明する。図5は、本実施形態に係る画像検索システムにおける検索動作を示すシーケンス図である。図5に示すように、画像情報DB200に登録されている画像情報を検索する際、先ず、ユーザはクライアント装置2を操作して検索用画像入力画面を表示するための情報を画像検索装置1に要求する(S501)。画像検索装置1は、クライアント装置2からの要求に応じて、検索用画像入力画面を表示するための情報を送信する(S502)。
クライアント装置2は、画像検索装置1から検索用画像入力画面を取得すると、検索用画像入力画面を表示する(S503)。ここで、検索用画像入力画面とは、検索用画像情報を入力するための画面である。以下、本実施形態の説明においては、ユーザがクライアント装置2を操作して画像検索装置1の機能を利用する場合を例として説明する。即ち、ユーザは、クライアント装置2を操作して画像検索装置1による画像検索の実行を操作する。即ち、クライアント装置2が画像検索操作装置として機能する。
クライアント装置2は、ユーザによる操作に従い、検索用画像入力画面を介して入力された入力画像の情報(以降、入力画像情報とする)を画像検索装置1に送信する(S504)。本実施形態において入力される入力画像情報の例を図6に示す。画像検索装置1に送信された入力画像情報は、ネットワークI/F120から画像検索装置1に入力され、検索制御部100の入力画像情報取得部101が取得する(S505)。S505において画像検索装置1が取得した入力画像情報が、条件画像として用いられる。即ち、入力画像情報取得部101が、条件画像を取得する画像取得部として機能する。入力画像情報取得部101は、取得した入力画像情報を画像処理部102に入力する。
画像処理部102は、条件画像としての入力画像情報を取得すると、取得した画像情報に対して所定の画像処理を実行する(S506)。S506における画像処理部102による処理について、図7を参照して詳細に説明する。図7は、S506における画像処理部102の処理を示すフローチャートである。
図7に示すように、画像処理部102、は条件画像を取得すると(S701)、条件画像の輪郭を強調する処理を実行する(S702)。即ち、画像処理部102が輪郭強調部として機能する。S702の輪郭強調処理については、既存の方法を用いることが可能であり、詳細な説明を省略する。S702の輪郭強調処理の結果生成される画像の例を図8(a)に示す。図8(a)に示すように、S702の輪郭強調処理の結果、図6の画像の輪郭が強調された画像が生成される。
そして、画像処理部102は、輪郭が強調された画像の最も外側の輪郭(以降、最外輪郭とする)を抽出する(S703)。即ち、画像処理部102が、輪郭抽出部として機能する。S703の最外輪郭抽出処理については、既存の方法を用いることが可能であり、詳細な説明を省略する。S703の最外輪郭抽出処理の結果生成される画像の例を図8(b)に示す。
図8(b)に示すように、S703の処理の結果、図8(a)の画像における最も外側の輪郭が抽出される。S703の最外輪郭抽出処理においては、元の画像の輪郭がかすれている場合等、輪郭が正確に抽出できない場合がある。これに対して、S702の輪郭強調処理を実行することにより、輪郭がかすれた図面であっても最外輪郭抽出処理を正確に実行することが可能となる。
そして、画像処理部102は、図8(b)に示すように最外輪郭として生成された画像の中心点及び画像の方向(以降、画像方向とする)を計算により抽出する(S704)。即ち、画像処理部102が、中心計算部として機能する。本実施形態に係るS704の処理において、画像処理部102は、図8(b)に示す画像の重心を計算することにより、中心点を抽出する。重心の計算方法については、公知の方法を用いることが可能であるため、詳細な説明を省略する。
また、画像処理部102は、図8(b)に示す画像の幅が最も広い方向を縦方向とし、縦方向に直行する方向を横方向として画像の方向を抽出する(S704)。S704の処理の結果、図8(c)に示すように中心点及び画像の方向が抽出される。
中心点及び画像方向を抽出すると、画像処理部102は、抽出した中心点から最外輪郭までの距離(以降、輪郭距離とする)を、中心点の周囲一周に渡って、即ち360度に亘って算出する(S705)。即ち、画像処理部102が、距離算出部として機能する。S705における輪郭距離の算出態様を図8(d)に示す。図8(d)に破線で示すように、S705においては、中心点からの任意の方向において、中心点と最外輪郭との距離を算出する。輪郭距離の算出に際しては、中心点から任意の方向に引いた直線と最外輪郭とが交差する点の座標と、中心点の座標との距離を計算する。
本実施形態に係るS705において、画像処理部102は、図8(d)に示すように、画像の縦方向を0°及び180°の方向とし、0°から359°まで、1°毎に輪郭距離を算出する。全角度について輪郭距離の算出が完了すると、画像処理部102は、図9に示すように、角度と輪郭距離とが関連付けられた数値列情報を生成する(S706)。
尚、図9の例においては、角度と輪郭距離とが関連付けられた情報を数値列情報としているが、“○○”、“▽▽”、“◇◇”・・・、“××”のように、輪郭距離のみが角度順に並べられた情報を数値列情報としても良い。この数値列情報は、図6に示す画像、即ち条件画像の形状を数値化した情報と言うことができる。
S706の処理により数値列情報が生成されると、画像処理部102は、数値列情報の高周波成分を除去、即ち、ダウン・サンプリングする(S707)。換言すると、画像処理部102は、数値列情報を平滑化する。本実施形態においては、上述したように、S706の結果生成された数値列情報は、0°から359°までの360個の数値を含むため、1°につき1個の値を有する。本実施形態においては、S707の処理により、数値列情報を、4°につき1個の値を有し、合計で90個の値によって構成されるようにダウン・サンプリングする。
図10に、S707における画像処理部102による処理の態様を示す。図10に示すように、S707の処理において、画像処理部102は、数値列情報に含まれる夫々の数値を4つ毎にグループ化し、その数値の平均値を算出して新たな数値列情報とする。尚、ダウン・サンプリングに際しては、図10に示す態様の他、公知の様々な方法を用いることが可能である。このような処理により高周波成分の除去が完了し、ダウン・サンプリングされた数値列情報(以降、ダウン・サンプリング情報とする)が生成される。尚、上記ダウン・サンプリング情報は、平滑化数値列情報と言うこともできる。
高周波成分の除去が完了すると、画像処理部102は、生成されたダウン・サンプリング情報の数値を正規化する(S708)。本実施形態に係るS708の処理において、画像処理部102は、図10に示すように生成されたダウン・サンプリング情報に含まれる夫々の数値を、含まれる数値のうち最も大きい数値で割り、その結果算出された数値を量子化することにより正規化を行う。この他、S708の正規化処理においては、公知の様々な方法を用いることが可能である。本実施形態においては、上記量子化により、ダウン・サンプリング情報に含まれる各数値を8段階の数値に変換する。正規化による効果については後述する。
S708の処理により、ダウン・サンプリング情報に含まれる各数値は正規化された正規化数値となる。このように生成された情報(以降、正規化数値列情報とする)は、ヒストグラムとして視覚的に表示することが可能である。図11は、図7の処理の結果生成された正規化数値列情報のヒストグラムを示す図である。図11に示すヒストグラムは、図6に示す画像、即ち条件画像の形状を示すヒストグラムである。尚、図11に示すヒストグラムは正規化されているため無次元であり、条件画像の大きさに関わらず条件画像の形状を示すヒストグラムである。このような処理により、図5のS506における画像処理が完了する。
S506において画像処理が完了すると、文字情報変換部103が、上記生成された正規化数値列情報を変換して文字列情報を生成する(S507)。即ち、文字情報変換部103が、文字列情報生成部として機能する。S507において、文字情報変換部103は、正規化された数値と文字とが関連付けられた情報(以降、変換対応情報とする)を参照して文字情報変換を実行する。図12に、変換対応情報の例を示す。
上述したように、本実施形態に係る正規化数値列情報は、 “1”〜“8”の8段階の数値によって構成されている。そして、図12に示すように、変換対応情報は、“1”〜“8”の数値夫々が“a”〜“h”夫々の文字と関連付けられた情報である。文字情報変換部103は、図12に示すような変換対応情報を参照し、正規化数値を対応する文字に変換し、数値列情報から文字列情報を生成する。尚、本実施形態において、変換対応情報は文字情報変換部103が保持している。
S507の処理により生成される文字列情報の例を図13に示す。図13に示すように、S507の処理により夫々の文字情報は連結され、連続した文字列の情報が生成される。
尚、図4において説明した文字列情報(以降、蓄積文字列情報とする)は、図13に示す文字列情報(以上、条件文字列情報とする)に対応する情報である。即ち、蓄積文字列情報も、条件文字列情報と同様に、夫々の画像に基づき、図7において説明した処理を経て生成された文字列情報である。
図14(a)〜図14(d)は、蓄積文字列情報の生成態様を示す図であり、図8に対応する図面である。図14(a)〜図14(d)の例においては、図6の画像に表示された図形を傾けて表示した画像を例としている。
図14(a)に示されるように、蓄積文字列情報の生成に際しても、まず輪郭強調が実行される。そして、図14(b)に示されるように、最外輪郭が抽出される。そして、図14(c)に示されるように、中心点及び画像の向きが抽出される。そして、図14(d)に示されるように、輪郭距離が算出される。
図14(d)の処理によって数値列情報が生成され、図7において説明した処理と同様にダウン・サンプリング及び数値の正規化を経て正規化数値列情報が生成される。更に、図12において説明した変換対応情報に基づき、図15に示すような文字情報が蓄積文字列情報として生成される。
S507の処理が完了すると、類似度算出部104は、S507の処理において生成された文字列情報に基づき、条件画像と画像情報DB200に格納されている画像との類似度を算出する(S508)。S508の処理において、類似度算出部104は、ネットワークI/F120を介して画像情報DB200から蓄積画像の蓄積文字列情報を取得し、条件文字列情報との一致度を計算する。
条件文字列情報と蓄積文字列情報との一致度の算出に際して、本実施形態に係る類似度算出部104は、N−gramによる文字検索を実行する。本実施形態に係るN−gramによる文字検索の態様を図16に示す。図16は、図13の文字列と図15の文字列において、N−gramによる文字検索として3(tri)−gramによる文字検索を実行する場合を示す図である。
3−gramは、正規化された数値3つ分に該当する最外輪郭の形状、即ち、図8(c)に示す中心点の所定の角度から12°分の最外輪郭の形状を示す文字列である。即ち、3−gramによる文字列検索を実行する場合は、図17に太線で示すように、中心点の所定の角度から12°分の最外輪郭の形状について、図14(a)〜(d)に示すような検索対象の画像の最外輪郭全体の形状とのマッチングを実行することとなる。
尚、上述したように、文字列情報への変換に際しては、ダウン・サンプリングされた数値列情報を用いるため、N−gramは入力された画像そのものの形状を大まかにした形状を示す。これにより、画像のノイズを除去することができる他、形状が大まかに一致する画像を類似画像として抽出することができる。
上述したように、図14(a)〜(d)の元の画像は、図6に示す画像が回転した画像であり、その形状は同一である。従って、図16に示すように、図13の文字列と図15の文字列とは多くの文字列が一致し、高い類似度が算出される。尚、S508における類似度の算出処理においては、N−gramによる文字検索の他、サフィックス・アレイ(接尾辞配列)を用いたlcp(longest common prefix)による文字検索方法など、公知の様々な文字検索方法を用いることが可能である。
類似度算出部104は、画像情報DB200に格納されている全画像情報に対して図16に示すような文字検索を実行し、図4に示す画像IDとその画像について算出された類似度とが関連付けられた類似度一覧情報を生成する。
類似度算出部104は、S508の処理により類似度一覧情報を生成すると、類似度が所定の閾値を超える画像を類似画像として抽出する(S509)。尚、この閾値とは、算出された類似度に基づいて、検索対象の画像、即ち画像情報DB200に格納されている蓄積画像が類似画像であるか否かを判断するために設定される値である。即ち、画像情報DB200に格納されている画像が類似画像に該当するか否かを判断するための情報である。換言すると、条件画像と特徴の一致しない画像を抽出結果から除くために設定される値である。
上記閾値は、S508における類似度の算出態様に応じて設定される。例えば、S508における類似度の算出処理において、形状が一致しない画像は類似度が“0%”として算出され、形状が少しでも一致する画像は“0%”ではない類似度が算出されるような算出態様を用いる場合、上記の閾値は“0%”として設定される。
この他、S508における類似度の算出態様によっては、上記の閾値は“0%”以外の値に設定され得る。また、上記の閾値を、条件画像と形状の一致しない画像を抽出結果から除くために設定する他、条件画像と形状の一致度が高い画像を抽出するために設定しても良い。この場合、上記の閾値はより高い値に設定される。類似度算出部104は、S509の処理により抽出した画像、即ち類似画像を含む類似度一覧情報(以降、抽出結果情報とする)を抽出結果処理部105に入力する。
抽出結果処理部105は、抽出結果情報を取得すると、抽出された類似画像の表示順序を決定する。そして、抽出結果処理部105は、抽出結果を表示するための表示情報を生成し、ネットワークI/F120を介してクライアント装置2に送信する(S510)。S510において、画像検索装置1は、算出された類似度の順に類似画像を表示する順序を決定する。クライアント装置2は、画像検索装置1から受信した表示情報に基づいて、表示部に抽出結果を表示し(S511)、処理を終了する。
このように、本実施形態に係る画像検索装置1は、画像の中心点から最外輪郭までの距離を全方向に亘って求めることにより数値列情報を生成し、生成された数値列情報を正規化して文字列情報に変換し、変換された文字列情報に基づいて文字検索を行うことにより類似画像を検索する。従って、図17において説明したように、N−gramやlcpによる文字検索を実行することにより、画像の輪郭形状の部分毎に形状の類似度を判断することができる。その結果、図8(c)や図14(c)に示す画像の方向の抽出が誤っていた場合であっても、画像の形状に基づいて適切な類似度を算出することが可能となる。即ち、回転した画像であっても正確に類似画像として抽出可能な画像検索装置を提供することが可能となる。
尚、上記実施形態においては、図9において説明したように、0°〜359°の順に輪郭距離を並べて数値列情報を生成し、ダウン・サンプリング処理、正規化処理及び文字変換処理を経て図13に示すような条件文字列情報を生成する例を説明した。換言すると、上記実施形態においては、算出された中心の周囲を時計回りに算出された数値列情報相当する文字列情報に基づいて文字検索を実行する例を説明した。
この他、359°〜0°の順に輪郭距離を並べて生成された数値列情報についても、条件文字列情報を生成し、検索条件として用いることが好ましい。換言すると、算出された中心の周囲を反時計回りに算出された数値列情報に相当する文字列情報に基づいて文字検索を実行することが好ましい。これにより、左右非対称(asymmetry)である画像であって左右反転している画像についても高い類似度が算出され、類似画像として容易に抽出することが可能となる。
尚、上述した359°〜0°の順に輪郭距離を並べて生成された数値列情報についての条件文字列情報は、図13に示すように生成された文字列情報の文字順序を逆にすることによっても生成することが可能である。このように、文字順を逆にすることによって生成された文字列情報は、逆文字列情報と言うことができる。この他、S706において生成された数値列情報とその数値列情報の数値の並び順を逆にした数値列情報(以降、逆数値列情報とする)とに基づいて夫々文字列情報を生成しても良い。
次に、本実施形態に係る要旨の1つとして、S511においてクライアント装置2に表示される画面、即ち、本実施形態に係る画像検索システムのGUI(Graphical User Interface)について説明する。図18は、S511においてクライアント装置2のLCD60等の表示部に表示されるGUIのうち、検索結果表示画面を示す図である。図18に示すように、本実施形態に係る検索結果表示画面は、検索対象指定部181、条件画像表示部182、再検索指示部183、画像編集画面表示指示部184、類似画像表示部185及びアルゴリズム選択部187を有する。また、類似画像表示部185には複数の類似画像が表示され、夫々の画像毎にフィードバック画像指定部186が設けられている。
検索対象指定部181は、画像情報DB200に記憶されている夫々の蓄積画像の全体を検索対象とするか、若しくは蓄積画像の一部分を検索対象とするかを指定する部位である。ユーザはマウスなどのユーザI/Fを操作し、“全体検索”、“部分検索”の文字の横に表示されたトグルを操作することによって全体検索と部分検索とを切り替える。
条件画像表示部182は、S504において入力された入力画像情報を条件画像として表示する表示部である。図18の例においては、図6に示す画像が表示されている。尚、条件画像の左上に表示されているチェックボックスについては後述する。再検索指示部183は、検索条件を変更した上で再度の検索の実行を指示する部位であり、主にフィードバック検索の実行に用いられる。ユーザは、マウス等を操作して再検索指示部183をクリックすることにより、再検索が実行する。
画像編集画面表示指示部184は、条件画像を編集するためのGUIである画像編集画面の表示をユーザが要求するための部位である。画像編集画面については後に詳述する。類似画像表示部185は、S509の処理の結果抽出された類似画像が表示される部位である。上述したように、本実施形態において、類似画像は、S508において算出された類似度の順に表示される。また、類似画像表示部185には、夫々の類似画像の類似度が数字及びバーの長さによって表示されている。
フィードバック画像指定部186は、再検索指示部183をクリックしてフィードバック検索を実行する際のフィードバック画像を指定するためのチェックボックスである。類似画像として抽出された画像を検索条件に追加して更に検索を実行する場合、検索条件に追加したい画像のフィードバック画像指定部168をチェックし、再検索指示部183をクリックすることにより、フィードバック検索が実行される。
アルゴリズム選択部187は、画像検索を実行する際のアルゴリズムを選択するためのチェックボックスが表示された部分である。本実施形態に係る画像検索システムにおいては、上記説明した“重心距離ヒストグラム”による類似度の算出の他、“画素ヒストグラム”及び“輪郭ヒストグラム”により類似度を算出し、若しくはそれらを組み合わせて類似度を算出することができる。ユーザは、アルゴリズム選択部187のチェックボックスをチェックすることにより、類似度の算出において用いるアルゴリズムを選択する。
例えば、図18に示す“B”、“F”の画像をフィードバック画像として指定し、フィードバック検索を実行した場合の検索結果表示画面を図19に示す。図19に示すように、フィードバック検索を実行した場合、フィードバック画像として指定された画像が条件画像表示部182に追加される。図19に示す画面において、各条件画像の左上に表示されているチェックボックスのチェックを解除して再検索を実行することにより、チェックを解除した画像を条件画像から削除することができる。
尚、フィードバック検索の実行に際して、まずクライアント装置2がネットワークを介してフィードバック画像として指定された画像のIDを画像検索装置1に送信する。フィードバック画像として指定された画像のIDを取得すると、指定されたIDの画像情報を画像情報DB200から条件画像として取得する。そして、元の画像及びフィードバック画像を条件画像として、図5のS506以降の処理を実行する。この他、フィードバック検索の実行に際しては公知の様々な方法を用いることが可能である。
次に、検索対象指定部181を指定して部分画像検索を実行した場合の検索結果表示画面の例を図20に示す。図20に示すように、部分画像検索を実行した場合、類似画像として抽出された画像のうち、類似と判断された部分(以降、類似部分とする)がハイライトされて表示される。本実施形態においては、類似部分が破線により囲まれて示されているが、赤線の枠で囲むなど、他の方法であっても良い。尚、類似画像検索の実行に際しては、公知の様々な方法を用いることが可能であり、詳細な説明を省略する。このように、類似部分をハイライトして表示することにより、条件画像に類似する部分として判断された部分をユーザが容易に把握することが可能となる。
次に、画像編集画面表示指示部184を操作して画像編集画面を表示した場合の例を図21に示す。図21に示す画像編集画面は、図19の状態において画像編集画面の表示を指示した場合を例とする図である。図21に示すように、画像編集画面は、条件画像表示部211及び編集画像表示部212を有し、条件画像表示部211に表示された画像を用いて編集画像表示部212に新規に画像を作り出す画面である。
条件画像表示部211には、図19に示すように条件画像として選択されている画像が表示される。尚、条件画像として条件画像表示部182に表示される前であっても、フィードバック画像指定部186がチェックされた状態で画像編集画面表示指示部184を操作した場合に、図21に示すように条件画像表示部211に表示させても良い。
編集画像表示部212は、ユーザの編集によって生成された画像を表示する表示部である。図21に示すように、ユーザが、条件画像のいずれかの一部分を選択して横に表示された矢印をクリックすることにより、選択した部分が編集画像表示部212に表示される。また、画像編集画面において、図20に示すように類似部分として囲まれた部分を切り取る操作ボタンを設けても良い。これにより、ユーザの操作を好適に補助することが可能である。
また、ユーザは、マウス等を用いて操作することにより、編集画像表示部212に表示された画像を編集することが可能である。編集画像表示部212に表示された画像の編集態様としては、例えば拡大、縮小、回転、反転等を行うことができる。
また、画像編集画面において、ユーザは、条件画像表示部211に表示された複数の画像を組み合わせて新規に画像を生成することも可能である。そのような場合の例を図22に示す。図22は、条件画像表示部211に表示されている画像のうち、最も上に表示されている画像と最も下に表示されている画像の一部とを組み合わせた画像を生成した場合の例である。
ユーザは、図22に示すように、画像編集画面においてマウス等のユーザI/Fを操作することにより、条件画像表示部211に表示されている画像の全部若しくは一部を選択して編集画像表示部212に表示させる。条件画像表示部211に表示されている画像の複数に対して同様の操作を実行することにより、図22に示すように複数の画像を組み合わせて新たな画像を表示することができる。
そして、ユーザは、画像編集画面の右下に表示された“OK”ボタンを操作することにより、図21、図22において説明した方法により編集画像表示部212に生成した画像を、検索結果表示画面の条件画像表示部182に追加することができる。
このように本実施形態に係る画像検索システムのGUIにおいては、図6に示すようなユーザが入力した画像や、図18に示す“B”、“F”の画像のような検索の結果類似画像として抽出された画像を組み合わせて新しい画像を生成する機能(以降、画像組み合わせ編集機能とする)を有する。これにより、検索用画像の入力を補助することが可能な画像検索システムを提供することができる。
また、本実施形態に係る画像検索システムのGUIにおいては、図21において説明したように、条件画像表示部211に表示された各画像の一部を切り取って編集画像表示部212に挿入する機能(以降、画像切り取り機能とする)を有する。これにより、ユーザが検索用画像を生成する差異の利便性を更に向上することが可能となる。
また、本実施形態に係る画像検索システムのGUIにおいては、部分検索を実行した場合、図20において説明したように、条件画像に類似すると判断された類似部分を囲むことにより明示して表示する機能(以降、類似部分ハイライト機能)を有する。これにより、類似部分をユーザが容易に把握することが可能となる。また、この類似部分ハイライト機能により、図21に示すように、画像編集画面において画像の一部を切り取る際のユーザの操作を補助することが可能となる。即ち、類似部分ハイライト機能と画像切り取り機能若しくは画像組み合わせ機能とを組み合わせることにより、ユーザの利便性を更に向上することができる。
また、本実施形態に係る画像検索システムにおいては、上述したように、フィードバック検索を実行する機能(以降、フィードバック検索機能とする)を有する。これにより、検索結果の適合度を向上することが可能である。また、フィードバック検索の実行に際して、上述した画像組み合わせ編集機能、画像切り取り機能及び類似部分ハイライト機能を用いることにより、フィードバック検索における条件画像の追加が容易になるため、ユーザの利便性を向上することが可能となる。
尚、図18〜図22に示す画面は、上述したように、クライアント装置2が画像検索装置1から取得した表示情報に基づいて表示する。画像検索装置1においては、上述したように、抽出結果処理部105が、類似度算出部104から取得した抽出結果情報に基づいて表示情報を生成する。即ち、抽出結果処理部105は、図18〜図22において説明したような機能を有するGUIを表示するための表示情報を生成する。
また、図5のS503において表示される検索用画像入力画面及び図18〜図22において説明したようなGUI等の画像検索システムのGUIは、例えば、ウェブブラウザによって提供される。即ち、ユーザは、クライアント装置2においてウェブブラウザを介して画像検索システムのGUIを閲覧する。従って、抽出結果処理部105は、図18〜図22において説明したような画面を表示するための表示情報として、ウェブブラウザで閲覧するための情報を生成する。これにより、クライアント装置2は、特別な機能を有する必要がなく、一般的なウェブブラウザがインストールされているPC等の情報処理装置があれば、本実施形態に係る画像検索システムを利用することが可能である。
図23を参照して、本実施形態に係る画像検索システムのGUIの機能構成について説明する。図23に示すように、本実施形態に係るGUIは、操作情報取得部231、画像情報取得部232、表示情報出力部233、検索実行指示部234及び画像情報編集部235を有する。図23に示す機能構成は、クライアント装置2において、RAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成される。RAM20にロードされるプログラムとは、ウェブブラウザを構成するアプリケーション・プログラム及び上述した表示情報である。
操作情報取得部231は、ユーザがクライアント装置2の操作部70を操作して入力した操作情報を取得する。例えば、操作情報取得部231は、図18の検索対象指定部181、再検索指示部183、画像編集画面表示指示部184、フィードバック画像指定部186への操作や、図21の画像編集画面における画像編集の操作情報を取得する。
画像情報取得部232は、ユーザによって入力された画像情報や類似画像として抽出された画像情報を取得する。例えば、画像情報取得部232は、図5のS504においてユーザによって入力された画像を条件画像として取得する。また、画像情報取得部232は、図5におけるS509の処理の結果、類似画像として抽出された画像の情報を取得する。また、画像情報取得部232が取得した画像は、図21に示す画像編集画面における条件画像表示部211に表示される画像となる。即ち、画像情報取得部232が、画像編集画面において編集され若しくは組み合わされる複数の画像を取得する。
表示情報出力部233は、図5のS503において表示される検索用画像入力画面及び図18〜図22において説明したようなGUIを表示するための情報(以降、画面描画情報とする)を出力する。この画面描画情報は、I/50を介してLCD60に入力され、LCD60に夫々のGUIが表示される。
表示情報出力部233は、操作情報取得部231が取得した操作情報に応じて表示を切り替える。例えば、操作情報取得部231が、図18の検索対象指定部181を“全体検索”から“部分検索”に切り替える操作の情報を取得した場合、表示情報出力部233は、検索対象指定部181のトグルを切り替えるように表示情報を出力する。
検索実行指示部234は8、ユーザによる操作、即ち、操作情報取得部231が取得した情報に応じて、画像検索装置1に画像検索の実行を指示するコマンドを送信する。例えば、検索実行指示部234は、図5のS504において、入力された画像を条件画像として検索を実行するコマンドを出力する。また、操作情報取得部231が、再検索指示部183を押下する操作の情報を取得した場合、検索実行指示部234は、フィードバック画像指定部186のチェック等により検索条件として指定されている画像を条件画像として検索を実行するコマンドを出力する。即ち、検索実行指示部234は、画像検索の実行を指示する画像検索実行指示部として機能する。
画像情報編集部235は、図21、図22において説明した機能を担う構成であり、ユーザの操作、即ち、操作情報取得部231が取得した情報に応じて、画像情報を編集し、編集後の画像情報を生成する。即ち、画像情報編集部235が、画像情報取得部232によって取得された画像を編集し若しくは複数の画像を組み合わせて条件画像を生成する条件画像生成部として機能する。このように、図23に示すような機能ブロックがクライアント装置2において構成されることにより、クライアント装置2が画像検索操作装置として機能する。
この他、クライアント装置2に専用のアプリケーション・ソフトウェアをインストールすることによっても、上記と同様の効果を得ることが可能である。この場合であっても、抽出結果処理部105は、抽出結果情報に基づき、クライアント装置2にインストールされている専用のアプリケーション・ソフトウェアが図18〜図22に示すGUIを表示するための情報をクライアント装置2に送信する。この場合、クライアント装置2にインストールされたアプリケーション・ソフトウェアと抽出結果処理部105とが連動して図18〜図22に示すGUIを生成する。
この場合において抽出結果処理部105が送信する情報は、例えば、類似画像として抽出された画像の情報若しくは、画像情報DB200において類似画像として抽出された画像が格納されている格納先を示す情報である。上記格納先を示す情報は、例えばURL(Uniform Resource Locator)情報である。他方、クライアント装置2にインストールされたアプリケーション・ソフトウェアは、図18〜図22において説明した夫々の機能を担う。
本実施形態に係る画像検索システムは、例えば、商標検索システムとして使用することができる。即ち、画像情報DB200は、商標の情報を記憶しているデータベースである。特に、商標として公開される画像は、背景が白色であり、輪郭が明確な画像が多い。従って、画像の輪郭を抽出する本実施形態を商標検索に適用することにより、高い効果を得ることができる。この他、検索対象である画像情報DB200に格納されている画像情報の例として、公開特許公報等の特許文献に含まれる図面の情報等が考えられる。
また、上記実施形態においては、図4に示すように、画像情報DB200に検索対象の画像の文字列情報が格納されている例を説明した。これにより、ユーザからの検索要求に対するレスポンスにおいて必要となる処理量を低減することが可能となる。この他、検索対象の画像の文字列情報は、画像処理部102及び文字情報変換部103によって図5のS508に示す処理の中で算出するようにしても良い。これにより、画像情報DB200に格納する情報量を低減することが可能となる。
また、上記実施形態においては、図7〜図13において説明したような手法による画像検索を例として説明したが、上述した画像検索手法は一例である。即ち、他の画像検索手法であっても、図18〜図22において説明したGUIを備えることにより、上記と同様の効果を得ることができる。