(57)【要約】【課題】クエリ画像と全体として似ている画像を的確に検索する。【解決手段】画像検索システムであって、画像特徴量が抽出された部分画像が検索対象画像から分割された位置の情報を伴って、前記画像特徴量を格納する記憶部と、クエリ画像特徴量が抽出された部分画像がクエリ画像から分割された位置と同じ位置において、前記クエリ画像特徴量と前記画像特徴量とを比較し、前記クエリ画像特徴量と前記画像特徴量とが類似する部分画像の数を前記検索対象画像ごとに集計する検索部と、前記集計された部分画像の数が多い検索対象画像を特定するためのデータを出力する出力部と、を有する。【選択図】図５
2016006582.tif 000002
【特許請求の範囲】
【請求項１】
画像特徴量が抽出された部分画像が検索対象画像から分割された位置の情報を伴って、前記画像特徴量を格納する記憶部と、
クエリ画像特徴量が抽出された部分画像がクエリ画像から分割された位置と同じ位置において、前記クエリ画像特徴量と前記画像特徴量とを比較し、前記クエリ画像特徴量と前記画像特徴量とが類似する部分画像の数を前記検索対象画像ごとに集計する検索部と、
前記集計された部分画像の数が多い検索対象画像を特定するためのデータを出力する出力部と、を有する画像検索システム。
【請求項２】
請求項１に記載の画像検索システムであって、
前記集計された部分画像の数が多い順に前記検索対象画像を並べるソート部を有し、
前記出力部は、前記類似すると判定された部分画像の数が多い順に所定数の検索対象画像を出力する画像検索システム。
【請求項３】
請求項１に記載の画像検索システムであって、
前記検索対象画像の一部を、互いに重複する領域を有するように分割した部分画像から画像特徴量を抽出し、前記クエリ画像の一部を、互いに重複する領域を有するように分割した部分画像からクエリ画像特徴量を抽出する特徴抽出部を有する画像検索システム。
【請求項４】
請求項１に記載の画像検索システムであって、
前記クエリ画像のうち、検索に使用する領域及び検索に使用しない領域の少なくとも一方の入力を受け付ける入力部を有し、
前記検索部は、前記検索に使用する領域の部分画像から抽出したクエリ画像特徴量と前記画像特徴量とを比較し、前記検索に使用しない領域を除外した部分画像から抽出したクエリ画像特徴量と前記画像特徴量とを比較する画像検索システム。
【請求項５】
請求項１に記載の画像検索システムであって、
前記検索部は、
前記クエリ画像特徴量が抽出された位置と同じ位置の画像特徴量と、当該クエリ画像特徴量とを比較し、
さらに、前記クエリ画像特徴量が抽出された位置が所定の範囲でずれた位置の画像特徴量と、当該クエリ画像特徴量とを比較し、
前記いずれかの比較において、前記クエリ画像特徴量と前記画像特徴量とが類似する部分画像の数を前記検索対象画像ごとに集計する画像検索システム。
【請求項６】
請求項１に記載の画像検索システムであって、
前記記憶部は、前記画像特徴量が抽出された位置ごとに複数のデータベースを有し、
前記画像特徴量が抽出された位置に対応するデータベースに前記画像特徴量を格納する画像検索システム。
【請求項７】
入力されたクエリ画像と類似する蓄積画像を検索する画像検索システムにおける画像検索方法であって、
前記画像検索システムは、画像特徴量が抽出された部分画像が検索対象画像から分割された位置の情報を伴って、前記画像特徴量を格納する記憶部を有し、
前記方法は、
クエリ画像特徴量が抽出された部分画像がクエリ画像から分割された位置と同じ位置において、前記クエリ画像特徴量と前記画像特徴量とを比較し、
前記クエリ画像特徴量と前記画像特徴量とが類似する部分画像の数を前記検索対象画像ごとに集計し、
前記集計された部分画像の数が多い検索対象画像を特定するためのデータを出力する画像検索方法。
【請求項８】
請求項７に記載の画像検索方法であって、
前記集計された部分画像の数が多い順に前記検索対象画像を並べ、
前記類似すると判定された部分画像の数が多い順に所定数の検索対象画像を出力する画像検索方法。
【請求項９】
請求項７に記載の画像検索方法であって、
前記検索対象画像の一部を、互いに重複する領域を有するように分割した部分画像から画像特徴量を抽出し、
前記クエリ画像の一部を、互いに重複する領域を有するように分割した部分画像からクエリ画像特徴量を抽出する画像検索方法。
【請求項１０】
請求項７に記載の画像検索方法であって、
前記クエリ画像のうち、検索に使用する領域及び検索に使用しない領域の少なくとも一方の入力を受け付ける、
前記入力された領域に従って選択したクエリ画像特徴量と前記画像特徴量とを比較する画像検索方法。
【請求項１１】
請求項７に記載の画像検索方法であって、
前記クエリ画像特徴量が抽出された位置と同じ位置の画像特徴量と、当該クエリ画像特徴量とを比較し、
さらに、前記クエリ画像特徴量が抽出された位置が所定の範囲でずれた位置の画像特徴量と、当該クエリ画像特徴量とを比較し、
前記いずれかの比較において、前記クエリ画像特徴量と前記画像特徴量とが類似する部分画像の数を前記検索対象画像ごとに集計する画像検索方法。
【請求項１２】
請求項７に記載の画像検索方法であって、
前記記憶部は、前記画像特徴量が抽出された位置ごとに複数のデータベースを有し、
前記画像特徴量が抽出された位置に従って、前記画像特徴量を前記各データベースに格納する画像検索方法。
【請求項１３】
画像特徴量が抽出された部分画像が検索対象画像から分割された位置の情報を伴って、前記画像特徴量を格納する記憶部と、
クエリ画像特徴量が抽出された部分画像がクエリ画像から分割された位置と同じ位置において、前記クエリ画像特徴量と前記画像特徴量とを比較し、前記クエリ画像特徴量と前記画像特徴量とが類似する部分画像の数を前記検索対象画像ごとに集計する検索部と、
前記集計された部分画像の数が多い検索対象画像を特定するためのデータを出力する出力部と、を有する画像検索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像検索システムに関する。
【背景技術】
【０００２】
画像検索は、入力されたクエリ画像と類似する形状や色を含む画像を検索する。また、人の顔画像を検索して同一人を判定する技術がある。
【０００３】
画像の特徴は、当該画像全体の他、複数の部分にも現れている。そして、この２種類の画像の特徴の情報を用いる検索の特徴は以下の通りである。全体の特徴量を用いて画像を検索する場合、多くのメモリと演算量を必要とする。一方、部分的な特徴量を用いた画像検索では高いパフォーマンスが得られるが、部分的な遮蔽（オクルージョン）によって検索精度が低下する。しかし、部分的な遮蔽によって部分的に特徴量が計算できない場合でも、他の部分から計算された特徴量を用いて適切な画像を検索できる。
【０００４】
本技術分野の背景技術として、米国特許公開２００７／００７１２８８公報（特許文献１）及び特開２０１１−１１３１９７号公報（特許文献２）がある。
【０００５】
特許文献１は、顔の特徴に基づいた人間顔認識の方法を開示する。当該方法では、人に対応する入力画像に関する人間の顔及び顔の特徴は、まず、画像処理技術によって、人毎に検出される。その後、人の顔の特徴の各々は、いくつかのカテゴリーへ分類され、人毎に顔特徴データベースを形成する。検索・認識される人の顔画像が入力された後、その人の顔及び顔特徴量を有する画像が画像処理技術によって得られる。また、顔の特徴の各々が特別の表現を有する複数のカテゴリーに分類される。そのとき、人の顔特徴量が属するカテゴリーによって、人が認識される。ことを開示する。
【０００６】
特許文献２は、画像検索方法を開示する。当該方法では、クエリ画像Ｉｑおよびその類似画像候補（街並画像）Ｉｗｃのペアからは２組の対応点候補［ｑ１，ｗ１］および［ｑ２，ｗ２］が抽出されている。一方の対応点候補［ｑ１，ｗ１］については、クエリ画像Ｉｑ側の対応点ｑ１の縦位置が出現パターン［Ｎ１−Ｎ２−Ｎ３…］のＮ１の位置であるのに対して、類似画像候補Ｉｗｃ側の対応点ｗ１はＮ３の位置であり、両者はズレ量が多いので破棄される。他方の対応点候補［ｑ２，ｗ２］については、クエリ画像Ｉｑ側の対応点ｑ１の縦位置が出現パターン［Ｎ１−Ｎ２−Ｎ３…］のＮ２の位置であり、類似画像候補Ｉｗｃ側の対応点ｗ２も同様にＮ２の位置であり、両者は距離が近いので対応点とされる。ことを開示する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許公開２００７／００７１２８８号公報
【特許文献２】特開２０１１−１１３１９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前述した特許文献１及び２のように、部分画像から部分的な特徴を計算する方法では、通常、識別力が高い部分的な特徴を検出する事前処理ステップを必要とする。類似画像検索のパフォーマンスは、特徴検出の質に依存する。特許文献２では、より一般的な方法を用いているが、特許文献１では顔のパーツ（目や鼻）を検出する。しかし、画像中で検出された特徴が類似画像の検出に適するとは限らない。
【０００９】
特徴検出の困難性は、画像データが多様であることに起因する。例えば、光の照射具合、撮影場所、ぼけ等が、部分的な同じ特徴を的確に検出するための共通の問題である。この問題に対する一つの解決策は、識別力が低い部分的な特徴を用いることである。しかし、この解決策は、違う画像と類似すると誤った判断を誘発し、メモリ使用量が増加する問題がある。
【課題を解決するための手段】
【００１０】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、画像検索システムであって、画像特徴量が抽出された部分画像が検索対象画像から分割された位置の情報を伴って、前記画像特徴量を格納する記憶部と、クエリ画像特徴量が抽出された部分画像がクエリ画像から分割された位置と同じ位置において、前記クエリ画像特徴量と前記画像特徴量とを比較し、前記クエリ画像特徴量と前記画像特徴量とが類似する部分画像の数を前記検索対象画像ごとに集計する検索部と、前記集計された部分画像の数が多い検索対象画像を特定するためのデータを出力する出力部と、を有する。
【発明の効果】
【００１１】
本発明の代表的な実施の形態によれば、クエリ画像と全体として似ている画像を的確に検索することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１実施例の画像検索システムの構成を示すブロック図である。
【図２】第１実施例のデータベースの構成例を示す図である。
【図３】第１実施例のデータベースの別な構成例を示す図である。
【図４Ａ】第１実施例のデータベースに格納される特徴量テーブルの例を説明する図である。
【図４Ｂ】第１実施例のデータベースに格納される特徴量ＩＤテーブルの例を説明する図である。
【図５】第１実施例の画像検索システムの論理的な構成を示す機能ブロック図である。
【図６】第１実施例の画像検索システムに画像を登録する処理のフローチャートである。
【図７】第１実施例の画像入力ステップの詳細を示す図である。
【図８】第１実施例の画像分割ステップから特徴抽出ステップの詳細を示す図である。
【図９】第１実施例の画像検索システムが画像を検索する処理のフローチャートである。
【図１０】第１実施例の特徴検索ステップの詳細を示す図である。
【図１１】第１実施例の集計表の構成例を示す図である。
【図１２】第１実施例の特徴抽出ステップから特徴量検索ステップの詳細を示す。
【図１３】第２実施例の画像検索システムの構成を示す図である。
【図１４Ａ】第３実施例における、検索から除外する領域の例を示す図である。
【図１４Ｂ】第３実施例における、検索から除外する領域の例を示す図である。
【図１４Ｃ】第３実施例における、検索に使用する領域の例を示す図である。
【図１５】第４実施例における部分画像の比較の例を示す図である。
【図１６】第５実施例の構成例を示す図である。
【発明を実施するための形態】
【００１３】
＜実施例１＞
図１は、本発明の第１実施例の画像検索システムの構成を示すブロック図である。
【００１４】
第１実施例の画像検索システムは、端末１００Ａ及びサーバ１００Ｂによって構成される。端末１００Ａ及びサーバ１００Ｂは、ネットワーク１０７を介して接続される。なお、図１では、１台の端末１００Ａを図示したが、２台以上の端末１００Ａがサーバ１００Ｂに接続されてもよい。
【００１５】
サーバ１００Ｂは、プロセッサ（ＣＰＵ）及びメモリを有する演算部１０８、データベース１４０及び通信インターフェース１０６Ｂを有する計算機であり、メモリに格納されたプログラムをプロセッサが実行することによって、サーバ１００Ｂの機能を実現する。メモリは、不揮発性の記憶素子であるＲＯＭ及び揮発性の記憶素子であるＲＡＭを含む。ＲＯＭは、不変のプログラム（例えば、ＢＩＯＳ）などを格納する。ＲＡＭは、ＤＲＡＭ（Dynamic Random Access Memory）のような高速かつ揮発性の記憶素子であり、補助記憶装置に格納されたプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。具体的には、メモリは、画像入力プログラム、画像分割プログラム、特徴抽出プログラム、特徴検索プログラム、結果ソートプログラム、結果出力プログラム等を格納する。これらのプログラムによって、後述する機能ブロックが実装される（図５参照）。
【００１６】
データベース１４０は、補助記憶装置に格納される。補助記憶装置は、例えば、磁気記憶装置（ＨＤＤ）、フラッシュメモリ（ＳＳＤ）等の大容量かつ不揮発性の記憶装置である。また、補助記憶装置は、演算部１０８が実行するプログラム及びプログラムの実行時に使用されるデータ（例えば、画像特徴量）を格納する。すなわち、プログラムは、補助記憶装置から読み出されて、メモリにロードされて、プロセッサによって実行される。
【００１７】
通信インターフェース１０６Ｂは、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。
【００１８】
演算部１０８が実行するプログラムは、リムーバブルメディア（ＣＤ−ＲＯＭ、フラッシュメモリなど）又はネットワークを介してサーバ１００Ｂに提供され、非一時的記憶媒体である補助記憶装置に格納される。このため、サーバ１００Ｂは、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
【００１９】
サーバ１００Ｂは、物理的に一つの計算機上で、又は、論理的又は物理的に複数の計算機上で構成される計算機システムであり、前述したプログラムが、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
【００２０】
端末１００Ａは、プロセッサ（ＣＰＵ）及びメモリを有する演算部１０２、入力装置１０１、出力装置１０３及び通信インターフェース１０６Ａを有する計算機であり、メモリに格納されたプログラムをプロセッサが実行することによって、その機能を実現する。例えば、端末１００Ａでは、ブラウザが動作しており、サーバ１００Ｂから出力された画面データ（Ｗｅｂページ）を利用者に表示し、利用者の入力を受け付け、サーバ１００Ｂに送信する。なお、端末１００Ａに専用のアプリケーションプログラムをインストールして、端末１００Ａがサーバ１００Ｂから出力された情報を用いて、表示画面を生成してもよい。
【００２１】
入力装置１０１は、キーボード及びマウスなどを含み、ユーザからの入力を受けるインターフェースである。また、入力装置１０１は、ＵＳＢポート、光ディスクドライブなどのデータを読み込むインターフェースを含んでもよい。出力装置１０３は、ディスプレイ装置及びプリンタなどを含み、プログラムの実行結果をユーザが視認可能な形式で出力するインターフェースである。
【００２２】
通信インターフェース１０６Ａは、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。
【００２３】
ネットワーク１０７は、所定のプロトコル（例えば、ＴＣＰ／ＩＰプロトコル）によって装置間でデータを転送する。
【００２４】
図２は、第１実施例のデータベース１４０の構成例を示す図である。
【００２５】
図２に示す構成例では、データベース１４０は、元画像における部分画像の位置及び大きさによって（すなわち、同じ特徴量識別子を有する部分画像毎に）複数の子データベース１４１Ａ〜１４１Ｍに分割して構成されている。
【００２６】
各子データベース１４１Ａ〜１４１Ｍは、元画像から分割された部分画像のうち、同じ位置及び大きさの部分画像の特徴量を格納する。このため、図２に示す構成のデータベース１４０では、部分画像の位置に対応した一つの子データベースを検索することによって、類似画像を検索することができ、検索処理時間を短くすることができる。
【００２７】
図３は、第１実施例のデータベース１４０の別な構成例を示す図である。
【００２８】
図３に示す構成例では、一つのデータベースが、入力された全ての画像から抽出された部分画像（ｉｍａｇｅ  ｐａｔｃｈ）の特徴ベクトルを区別せずに格納する。各特徴量にはメタデータとして、特徴量インデックスが付されている。特徴量インデックスは、当該特徴量を有する部分画像の大きさ及び元画像における位置を示す（図４Ｂ参照）。これによって、異なる位置の部分画像を容易に検索することができる。図３に示す構成のデータベース１４０では、一つのデータベースを全てのデータを格納するので、データベースの構造を複雑化することがない。
【００２９】
図４Ａ、図４Ｂは、第１実施例のデータベース１４０に格納されるデータの例を説明する図であり、特徴量テーブル１４２（図４Ａ）及び特徴量ＩＤテーブル１４３（図４Ｂ）を独立して有する。
【００３０】
特徴量テーブル１４２は、図４Ａに示すように、特徴ベクトルが記録されるテーブルであり、画像識別子１４２Ａ、特徴量識別子１４２Ｂ及び特徴ベクトル１４２Ｃを含む。また、データベース１４０は、画像データ自体を含んでもよく、画像データのメタデータを含んでもよい。
【００３１】
画像識別子１４２Ａは、特徴ベクトルの生成元である部分画像が抽出された画像を一意に識別するための識別子である。特徴量識別子１４２Ｂは、特徴ベクトルを一意に識別するための識別子である。特徴ベクトル１４２Ｃは、部分画像から生成された特徴量を多次元空間にて数値化したベクトルである。
【００３２】
特徴量ＩＤテーブル１４３は、図４Ｂに示すように、特徴量識別子の定義が記録されるテーブルであり、特徴量識別子１４３Ｂ、部分画像の大きさ１４３Ｄ、１４３Ｅ及び部分画像の位置１４３Ｆ、１４３Ｇを含む。
【００３３】
特徴量識別子１４３Ｂは、特徴ベクトルを一意に識別するための識別子であり、特徴量テーブル１４２（図４Ａ）の特徴量識別子１４２Ｂと同じ値を用いる。部分画像の大きさは、ｖ（１４３Ｄ）及びｕ（１４３Ｅ）で表され、各々、部分画像を構成するセグメントの縦方向の数及び横方向の数である。図示する例では、各部分画像は、９個（横３個、縦３個）のセグメントを含む。部分画像の位置は、分割前の画像において部分画像が抽出された位置を示す。図示する例では、元画像の左上角部を座標原点として、右方向にｘ軸、下方向にｙ軸を延伸し、部分画像の左上角部が位置する座標をｘ，ｙ（１４３Ｆ、１４３Ｇ）で表す。
【００３４】
なお、図４Ａ、図４Ｂでは、データ構造をテーブル形式で図示したが、データ構造はテーブル形式でなく他の形式でもよい。
【００３５】
図５は、第１実施例の画像検索システムの論理的な構成を示す機能ブロック図である。
【００３６】
サーバ１００Ｂは、論理的な構成として、画像入力部１１０、画像分割部１２０、特徴抽出部１３０、特徴検索部２１０、結果ソート部２２０及び結果出力部２３０を有する。
【００３７】
画像入力部１１０は、端末１０１Ａから入力された画像から顔領域を抽出する。画像分割部１２０は、入力された画像から部分画像を抽出する。特徴抽出部１３０は、抽出された部分画像から特徴量を抽出する。
【００３８】
特徴検索部２１０は、クエリ画像の特徴ベクトルを用いてデータベース１４０を検索し、クエリ画像と類似する画像を見つける検索処理を行う。結果ソート部２２０は、データベース１４０から検索された類似画像を類似度順に並び替える。結果出力部２３０は、データベース１４０から検索された類似画像を出力するための画面データを生成する。
【００３９】
次に、第１実施例の画像検索システムによる処理について、画像登録処理（図６）及び画像検索処理（図９）に分けて説明する。
【００４０】
図６は、第１実施例の画像検索システムに画像を登録する処理のフローチャートである。
【００４１】
まず、端末１０１Ａからサーバ１０１Ｂにデータベース１４０に登録されるべき元画像が入力されると、画像入力部１１０が入力された画像から顔領域を抽出する（Ｓ１１０）。
【００４２】
図７に、画像入力ステップＳ１１０の詳細を示す。画像入力ステップＳ１１０では、画像入力部１１０が、入力された元画像１１１Ａ〜１１１Ｎをメモリに格納し、メモリに格納された元画像１１１Ａ〜１１１Ｎについて顔領域を検出する（１１２）。顔領域の検出には、例えば、公知のＶｉｏｌａ−Ｊｏｎｅｓ法を用いることができる。その後、画像入力部１１０は、顔領域が検出された画像１１３Ａ〜１１３Ｎから顔領域の画像１１４Ａ〜１１４Ｎを各々抽出する。
【００４３】
次に、画像分割部１２０が、抽出された顔画像領域を格子状に分割する（Ｓ１２０）。そして、特徴抽出部１３０が、分割した各部分画像から特徴量を抽出し、特徴ベクトルを生成し（Ｓ１３０）、生成された特徴ベクトルをデータベース１４０に格納する。
【００４４】
図８に、画像分割ステップＳ１２０から特徴抽出ステップＳ１３０の詳細を示す。画像分割部１２０は、ステップＳ１１０で抽出された顔画像領域１２１を、横ｓ×縦ｔの大きさのセグメントによって格子状に分割した画像１２２を生成する。そして、画像分割部１２０は、分割された画像１２２から複数のセグメントを含む部分画像領域１２３を決定する。図８に示す例では、画像分割部１２０は、横３個、縦３個（ｖ＝３、ｕ＝３）で９個のセグメントを含む部分画像領域１２３を決定している。画像分割部１２０は、部分画像領域１２３を顔画像領域１２１の所定の位置から１セグメントずつ移動して、部分画像１２４Ａ〜１２４Ｍを抽出する。この結果、左右又は上下に連続する部分画像（例えば、部分画像１２４Ａと１２４Ｂ）は互いに重なっており、同じセグメントを含んでいる。
【００４５】
具体的には、顔画像領域１２２の最初の位置（左上）に部分画像領域１２３を配置して、部分画像１２４Ａを抽出する。次に、部分画像領域１２３を１セグメント分だけ右に移動して、部分画像１２４Ｂを抽出する。部分画像領域１２３が顔画像領域１２２の右端に達したら、部分画像領域１２３を１セグメント分だけ下に移動して、顔画像領域１２２の左端から１セグメントずつ右に部分画像領域１２３を移動して、部分画像１２４を抽出する。最後に、部分画像領域１２３が顔画像領域１２２の右下端に達したら、最後の部分画像１２４Ｍを抽出して、ステップＳ１２０を終わる。
【００４６】
その後、特徴抽出ステップＳ１３０では、特徴抽出部１３０が、各部分画像１２４Ａ〜１２４Ｍの特徴量を抽出する。抽出される画像特徴量は、各部分画像に含まれる線、色彩、模様などを数値化して表したものである。抽出される画像特徴量には、メタデータとして、特徴量インデックスが付されている。
【００４７】
その後、特徴抽出部１３０は、抽出された画像特徴量から多次元の特徴ベクトルを生成し、生成された特徴ベクトルをデータベース１４０に格納する。
【００４８】
データベース１４０が図２に示す構造である場合、特徴量インデックスに対応する子データベース１４１Ａ〜１４１Ｍに特徴ベクトルを格納する。一方、データベース１４０が図３に示す構造である場合、生成された特徴ベクトルに特徴量インデックスを付してデータベース１４０に格納する。
【００４９】
ここまで、端末１００Ａからサーバ１００Ｂに元画像そのものが入力される例を示したが、端末１００Ａからサーバ１００Ｂに入力されるデータは、元画像から抽出された部分画像でも、計算された特徴量でもよい。
【００５０】
入力された全ての元画像から画像特徴量を抽出し、データベース１４０に格納した後、データベース１４０に格納された画像特徴量を用いて画像を検索することができる。
【００５１】
図９は、第１実施例の画像検索システムが画像を検索する処理のフローチャートである。
【００５２】
まず、端末１０１Ａからサーバ１０１Ｂにクエリ画像が入力されると、画像入力部１１０が入力されたクエリ画像から顔領域を抽出する（Ｓ１１０）。画像入力ステップＳ１１０の処理は、画像登録処理で前述したものと同じなので（図７参照）、説明を省略する。
【００５３】
次に、画像分割部１２０が、クエリ画像から抽出された顔画像領域を格子状に分割する（Ｓ１２０）。そして、特徴抽出部１３０が、分割した各部分画像から特徴量を抽出し、特徴ベクトルを生成する（Ｓ１３０）。画像分割ステップＳ１２０及び特徴抽出ステップＳ１３０の処理は、特徴ベクトルをデータベース１４０に格納しない点を除いて、画像登録処理で前述したものと同じなので（図８参照）、説明を省略する。
【００５４】
次に、特徴検索部２１０が、クエリ画像から抽出された複数の特徴量を用いて、データベース１４０を検索する（Ｓ２１０）。
【００５５】
図１０に、特徴検索ステップＳ２１０の詳細を示す。特徴検索ステップＳ２１０では、特徴検索部２１０は、クエリ画像から抽出された各特徴量を用いて、当該特徴量（すなわち、特徴量インデックス）に対応するデータベース１４０を検索する。例えば、特徴ベクトル［２２，７５３，３５４，…，５］は特徴量インデックスがａなので、当該特徴量インデックスａに対応する子データベース１４１Ａを検索する。同様にして、ｍ個の特徴ベクトルを用いて、データベース１４０を検索して、データベース１４０に蓄積された一つの画像に対してｍ個の類似度を計算する。すなわち、データベース１４０にｎ個の画像が蓄積されている場合、ｍ×ｎ個の類似度を計算する。
【００５６】
図１０には、データベース１４０が図２に示す構造である場合の処理を示す。一方、データベース１４０が図３に示す構造である場合、特徴量インデックスを用いてデータベース１４０を検索して特徴量インデックスが同じ候補を絞り込み、絞り込んだ候補との類似度を特徴ベクトルを用いて検索するとよい。
【００５７】
次に、特徴検索部２１０は、計算されたｍ×ｎ個の類似度を判定し、判定結果を集計表２１４に記録する。集計表２１４は、図１１に示すように、画像特徴量２１１を縦方向に並べ、蓄積画像の画像識別子２１２を横方向に並べた（ｍ＋１）×ｎの要素で構成され、ｍ×ｎ個の類似度の判定結果が記録される。具体的には、特徴量検索部２１０は、類似度を所定の閾値で判定し、類似度が高い場合に判定結果として１を記録し（２１３Ａ）、類似度が低い場合に判定結果として０を記録する（２１３Ｂ）。類似度の判定は、特徴量ごとに、類似度が高い順に所定の数の蓄積画像の判定結果を１とし、それ以外の蓄積画像の判定結果を０としてもよい。そして、特徴量検索部２１０は、特徴量識別子と蓄積画像の画像識別子との交点に、類似度の判定結果（１又は０）を記録する。
【００５８】
集計表２１４は、蓄積画像毎の判定結果の和の欄２２１を有する。判定結果の和２２１は、一つの蓄積画像における類似度ごとの判定結果の和であり、各部分画像における蓄積画像とクエリ画像との類似度を集計したものである。
【００５９】
その後、結果ソート部２２０は、検索された画像を判定結果の和２２１（すなわち、総合的な類似度）に従って並び替える（Ｓ２２０）。そして、結果出力部２３０が、類似度に従って並び替えられた蓄積画像を出力する。例えば、類似度の順に所定の数の蓄積画像を出力してもよく、総合的な類似度が所定の閾値より大きい蓄積画像を出力してもよい。
【００６０】
サーバ１００Ｂから端末１００Ａに出力される検索結果は、蓄積画像そのものでも、画像の属性（例えば、氏名）でもよい。また、サーバ１００Ｂは、総合的な類似度から尤度を計算し、計算された尤度と共に蓄積画像を出力してもよい。
【００６１】
図１２に、特徴抽出ステップＳ１３０から特徴量検索ステップＳ２１０の詳細を示す。
【００６２】
まず、特徴抽出部１３０は、クエリ画像の部分画像から特徴量Ｆを計算する（Ｓ５０１）。その後、特徴検索部２１０は、クエリ画像の特徴量Ｆを用いてデータベース１４０を検索し（Ｓ５０２）、クエリ画像の特徴量Ｆに類似する特徴量Ｓの画像識別子を読み出す（Ｓ５０３）。そして、特徴検索部２１０は、特徴量Ｆと特徴量Ｓとの類似度を判定し、集計表２１４において、クエリ画像の特徴量Ｆ及び蓄積画像の画像識別子が示す位置に類否判定結果を記録し（Ｓ５０４）、処理済みの部分画像を記録し（Ｓ５０５）、未処理の部分画像があるかを判定する（Ｓ５０６）。未処理の部分画像があれば、ステップＳ５０１に戻り、次の部分画像を処理する。一方、全ての部分画像の処理が完了していれば、図１２に示す処理を終了する。
【００６３】
以上に説明したように、第１実施例では、顔領域から抽出した部分画像の特徴量を用いて画像を検索し、類似する部分画像の数を集計することによって、異なる環境で撮影された画像や、顔の一部分が鮮明でない画像をクエリ画像として用いても、顔全体として似ている（特徴量が近い）画像を検索することができる。
【００６４】
＜実施例２＞
次に、本発明の第２実施例について説明する。第２実施例は、画像検索システムを１台の計算機に実装した例である。
【００６５】
図１３は、第２実施例の画像検索システムの構成を示す図である。
【００６６】
第２実施例の画像検索システムは、１台の計算機１０８によって構成される。計算機１０８は、プロセッサ（ＣＰＵ）、メモリ及び補助記憶装置を有し、入力装置１０１Ａ、１０１Ｂ及び出力装置１０３が接続される。計算機１０８は、メモリに格納されたプログラムをプロセッサが実行することによって、画像検索システムの機能を実現する。メモリは、不揮発性の記憶素子であるＲＯＭ及び揮発性の記憶素子であるＲＡＭを含む。ＲＯＭは、不変のプログラム（例えば、ＢＩＯＳ）などを格納する。ＲＡＭは、ＤＲＡＭ（Dynamic Random Access Memory）のような高速かつ揮発性の記憶素子であり、補助記憶装置に格納されたプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。具体的には、メモリは、画像入力プログラム、画像分割プログラム、特徴抽出プログラム、特徴検索プログラム、結果ソートプログラム、結果出力プログラム等を格納する。これらのプログラムによって、前述した機能ブロックが実装される（図５参照）。
【００６７】
補助記憶装置は、データベース１４０を格納する。補助記憶装置は、例えば、磁気記憶装置（ＨＤＤ）、フラッシュメモリ（ＳＳＤ）等の大容量かつ不揮発性の記憶装置である。また、補助記憶装置は、プロセッサが実行するプログラム及びプログラムの実行時に使用されるデータ（例えば、画像特徴量）を格納する。すなわち、プログラムは、補助記憶装置から読み出されて、メモリにロードされて、プロセッサによって実行される。
【００６８】
プロセッサが実行するプログラムは、リムーバブルメディア（ＣＤ−ＲＯＭ、フラッシュメモリなど）又はネットワークを介して計算機１０８に提供され、非一時的記憶媒体である補助記憶装置に格納される。このため、計算機１０８は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
【００６９】
計算機１０８は、物理的に一つの計算機上で構成されるが、論理的に複数の計算機上で構成される計算機でもよい。また、前述した複数のプログラムは、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
【００７０】
入力装置は、キーボード１０１Ａ及びマウス１０１Ｂであり、ユーザからの入力を受けるインターフェースである。また、入力装置は、ＵＳＢポート、光ディスクドライブなどのデータを読み込むインターフェースを含んでもよい。出力装置は、ディスプレイ装置１０３であり、プログラムの実行結果をユーザが視認可能な形式で表示画面に出力するインターフェースである。出力装置は、プログラムの実行結果を印刷するプリンタでもよい。
【００７１】
計算機１０８は、所定のプロトコルに従って、他の装置との通信を制御する通信インターフェースを有してもよい。
【００７２】
以上に説明したように、第２実施例では、画像検索システムを１台の物理的又は論理的な計算機に実装して、単純なハードウェア構成で画像検索システムを実現することができる。
【００７３】
＜実施例３＞
次に、本発明の第３実施例について説明する。第３実施例は、クエリ画像のうち、指定された領域を検索に使用する又は除外する例である。
【００７４】
図１３に示すように、ユーザは、ディスプレイ装置１０３の画面上で、クエリ画像１０４を表示し、マウスカーソルを場所１０５Ａから場所１０５Ｂに移動することによって、検索に使用する（又は、検索から除外する）領域１０５を指定する。なお、ユーザは、端末１００Ａのディスプレイ装置１０３の画面上でも、同様の操作をすることができる（図１参照）。
【００７５】
図１４Ａから図１４Ｃは、第３実施例における、検索に使用する領域、又は、検索から除外する領域の例を示す図である。
【００７６】
例えば、図１４Ａに示すように、画像中でコントラストが低い領域がある（例えば、顔の左半分が濃い影１０６Ａになっており、暗い画像である）場合、左半分の領域１０７Ａを除外したクエリ画像から部分画像を抽出するとよい。また、図１４Ｂに示すように、顔の一部が覆われている（例えば、サングラス１０６Ｂやマスクを着用している）場合、サングラス１０６Ｂの領域１０７Ｂを除外したクエリ画像から部分画像を抽出するとよい。また、図１４Ｃに示すように、顔の一部に特徴がある（例えば、傷１０６Ｃがある）場合、傷１０６Ｃの領域１０７Ｂをクエリ画像として、部分画像を抽出するとよい。
【００７７】
ユーザは、検索に使用する領域又は検索から除外する領域の一方を指定しても、検索に使用する領域及び検索から除外する領域の両方を指定してもよい。
【００７８】
また、検索に使用する領域に全部が含まれる部分画像を抽出しても、検索に使用する領域と一部が重複する部分画像を抽出してもよい。さらに、検索から除外する領域に全部が含まれる部分画像を除外しても、検索から除外する領域と一部が重複する部分画像を除外してもよい。
【００７９】
以上の説明では、ユーザが、検索に使用する（又は、検索から除外する）領域を手動で指定したが、所定のパターンと照合することによって、検索に使用する（又は、検索から除外する）領域を自動的に抽出してもよい。
【００８０】
以上に説明したように、第３実施例では、画像中の特徴がある部分を使用した、又は、画像中の特徴がない部分を除外したクエリ画像を用いて、データベース１４０を検索するので、より的確な検索結果を得ることができる。
【００８１】
＜実施例４＞
次に、本発明の第４実施例について説明する。前述した第１実施例では、同じ位置から抽出された部分画像によって、クエリ画像と蓄積画像とを比較したが、第４実施例では、異なる位置から抽出された部分画像を用いて、クエリ画像と蓄積画像とを比較する。
【００８２】
図１５は、第４実施例における部分画像の比較の例を示す図である。
【００８３】
特徴検索部２１０は、クエリ画像３１０から抽出された部分画像３０１と、蓄積画像３２０の同じ位置から抽出された部分画像３０４とを比較する。さらに、特徴検索部２１０は、部分画像３０１から１セグメント右にずれた位置でクエリ画像３１０から抽出された部分画像３０２と部分画像３０４とを比較し、部分画像３０１から１セグメント下にずれた位置でクエリ画像３１０から抽出された部分画像３０３と部分画像３０４とを比較する。
【００８４】
そして、全ての比較によって得られた類似度の最大値を部分画像３０１と部分画像３０４との類似度に採用して、集計表２１４に記録する。
【００８５】
なお、部分画像３０１はクエリ画像３１０の左上に位置するので、右にずれた位置の部分画像３０２及び下にずれた位置の部分画像３０３を部分画像３０４と比較したが、基準となる部分画像から左、右、上、下の４方向にずれた位置の４個の部分画像を部分画像３０４と比較してもよい。
【００８６】
また、基準となる部分画像から左、右、上、下、左上、左下、右上、右下の８方向にずれた位置の８個の部分画像を部分画像３０４と比較してもよい。
【００８７】
また、１セグメントずれた位置の部分画像を比較したが、２以上のセグメント分ずれた位置の部分画像を比較してもよいし、前記８方向以外の方向にずれた位置の部分画像を比較してもよい。
【００８８】
また、対応する位置の部分画像３０１と部分画像３０４とが類似しない場合のみ、ずれた部分画像と部分画像３０４とを比較してもよい。
【００８９】
さらに、クエリ画像から抽出された一つの部分画像と、蓄積画像から抽出された複数の部分画像（左、右、上、下の４個の部分画像、又は左、右、上、下、左上、左下、右上、右下の８個の部分画像）とを比較してもよい。
【００９０】
以上に説明したように、第４実施例では、顔検出の精度が悪く、入力されたクエリ画像及び／又は蓄積画像が顔領域からずれていても、類似する画像を的確に検索することができる。
【００９１】
＜実施例５＞
次に、本発明の第５実施例について説明する。第５実施例は、クエリ画像の一部の特徴量を使用して類似画像を抽出する例である。
【００９２】
図１６は、第５実施例の集計表２１４を示す図である。図１６に示す集計表２１４では、識別子が２の特徴量を除外して類似画像を定めている。これは、識別子が２の特徴量は、全ての蓄積画像と類似すると判定されている。例えば、何も写っていない背景部分は多くの画像と一致する。このようなデータは類似度の順位付けに寄与せず、このようなデータを使用しても検索精度が向上しない可能性がある。このため、このような類似度の順位付けに寄与しない特徴量を除外することによって、計算量を減らすことができ、的確に類似度の順位を決めることができる。
【００９３】
なお、図１６に示す例では、全ての蓄積画像と類似する特徴量を除外したが、所定割合（例えば、５０％、８０％）以上の蓄積画像と類似する特徴量を除外してもよい。また、全ての蓄積画像と非類似の特徴量を除外したり、所定割合（例えば、５０％、２０％）以下の蓄積画像と非類似の特徴量を除外してもよい。
【００９４】
また、類似度の判定結果として、１又は０だけを使うのではなく、部分領域ごとに事前に設定した重みに基づいた数値を用いてもよい。例えば、顔の中心部に近い領域の重みを大きくしても、統計的に他人同士で類似している度合が大きい領域の重みを小さくしてもよい。
【００９５】
以上、本発明を適用して顔画像を検索する実施例について説明したが、類似する画像を含む領域を抽出できる対象であれば、本発明を適用することができる。例えば、撮影された画像から自動車のフロントグリル部分を抽出し、該フロントグリル部分の画像を検索することによって、自動車の車種を特定することができる。
【００９６】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を有するものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
【００９７】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【００９８】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【００９９】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【０１００】
１００Ａ  端末
１００Ｂ  サーバ
１０１、１０１Ａ、１０１Ｂ  入力装置
１０２  演算部
１０３  出力装置
１０６Ａ、１０６Ｂ  通信インターフェース
１０７  ネットワーク
１０８  計算機
１４０  データベース
１４１Ａ〜１４１Ｍ  子データベース
１４２  特徴量テーブル
１４３  特徴量ＩＤテーブル
１１０  画像入力部
１２０  画像分割部
１３０  特徴抽出部
２１０  特徴検索部
２２０  結果ソート部
２３０  結果出力部
【図１】
2016006582.tif 000003
【図２】
2016006582.tif 000004
【図３】
2016006582.tif 000005
【図４Ａ】
2016006582.tif 000006
【図４Ｂ】
2016006582.tif 000007
【図５】
2016006582.tif 000008
【図６】
2016006582.tif 000009
【図７】
2016006582.tif 000010
【図８】
2016006582.tif 000011
【図９】
2016006582.tif 000012
【図１０】
2016006582.tif 000013
【図１１】
2016006582.tif 000014
【図１２】
2016006582.tif 000015
【図１３】
2016006582.tif 000016
【図１４Ａ】
2016006582.tif 000017
【図１４Ｂ】
2016006582.tif 000018
【図１４Ｃ】
2016006582.tif 000019
【図１５】
2016006582.tif 000020
【図１６】
2016006582.tif 000021