(57)【要約】      （修正有）【課題】画像検索に要する時間を増大させることなく画像検索の精度を向上させる。【解決手段】画像サーバー１０は、複数の画像データを格納する記憶装置１３を備えている。記憶装置１３に格納されている複数の画像データは、階層型クラスタリング手法によって、画像インデックスとしての複数のクラスタに分類されている。各クラスタには、クラスタの属性としての代表値が対応づけられており、画像検索速度を低下させることなく、画像検索精度を向上させることができる。【選択図】図２
2010250633.tif 000002
【特許請求の範囲】
【請求項１】
画像サーバーであって、
複数の画像を格納する記憶装置と、
前記格納されている複数の画像のそれぞれについて、画像の特徴を表す複数の特徴量を取得する特徴量取得部と、
各前記画像から取得した前記複数の特徴量を正規化する正規化部と、
階層型クラスタリング手法によって、前記各画像から取得し正規化した前記複数の特徴量を用いて、画像検索時における計算負荷によって定まる所定画像数以下の画像を含むクラスタを複数作成するクラスタ処理実行部と、
作成した各前記クラスタの属性を決定し、前記各クラスタにそれぞれ対応づけるインデックス作成部と
を備える画像サーバー。
【請求項２】
請求項１に記載の画像サーバーにおいて、
前記正規化部は、標準偏差を用いて前記複数の特徴量を正規化する、画像サーバー。
【請求項３】
請求項１または２に記載の画像サーバーにおいて、
前記特徴量は、輝度、色相、テクスチャ、顔の大きさのうちの少なくとも２つを含む、画像サーバー。
【請求項４】
請求項１から３のいずれかに記載の画像サーバーにおいて、
前記所定画像数は１００〜３００である画像サーバー。
【請求項５】
画像サーバーにおけるインデックス作成方法であって、
複数の画像のそれぞれについて、画像の特徴を表す複数の特徴量を取得し、
各前記画像から取得した前記複数の特徴量を正規化し、
階層型クラスタリング手法によって、前記各画像から取得し正規化した前記複数の特徴量を用いて、画像検索時における計算負荷によって定まる所定画像数以下の画像が属するクラスタを複数作成し、
作成した各前記クラスタの属性を決定し、前記クラスタにそれぞれ対応づける
インデックス作成方法。
【請求項６】
画像サーバーであって、
階層型クラスタリング手法によって、予め複数のクラスタにクラスタリングされた複数の画像データを記憶する記憶装置と、
検索の対象となる画像である検索画像を取得する検索画像取得部と、
前記複数のクラスタの中から前記検索画像に近似する複数のクラスタを選択し、選択した各前記クラスタに属する複数の画像から検索画像に近似する画像を複数選択する検索部と、
前記検索部によって検索された複数の画像を検索結果として出力する出力部とを備える画像サーバー。
【請求項７】
請求項６に記載の画像サーバーにおいて、
前記クラスタにはクラスタの特徴を表す属性が関連づけられており、
前記検索部は、前記検索画像の特徴量を取得し、取得した特徴量と前記属性とを用いて前記近似する複数のクラスタを選択する
画像サーバー。
【請求項８】
請求項７に記載の画像サーバーにおいて、
前記検索部は、前記選択したクラスタに含まれている画像の特徴量を取得し、前記選択したクラスタに含まれている画像の特徴量、取得した前記検索画像の特徴量とを用いて前記近似する複数の画像を選択する
画像サーバー。
【請求項９】
請求項６から８のいずれかに記載の画像サーバーはさらに、
複数の画像のそれぞれについて、画像の特徴を表す複数の特徴量を取得する特徴量取得部と、
各前記画像から取得した前記複数の特徴量を正規化する正規化部と、
階層型クラスタリング手法によって、前記各画像から取得し正規化した前記複数の特徴量を用いて、画像検索時における計算負荷によって定まる所定画像数以下の画像を含むクラスタを複数作成するクラスタ実行部と、
作成した各前記クラスタの属性を決定し、前記求めた属性を前記クラスタにそれぞれ対応づけるインデックス作成部と
を備える画像サーバー。
【請求項１０】
画像検索システムであって、
請求項６から９のいずれかに記載の画像サーバーと、
前記画像サーバーにネットワークを介してアクセス可能なプリンターであって、
前記画像サーバーに対して前記検索画像を送信する送信部と、
前記画像サーバーから出力された前記検索結果としての複数の画像を受け取る受信部と、
前記受信した画像を出力する表示部
とを備えるプリンターとを備える、
画像検索システム。
【請求項１１】
画像検索方法であって、
検索の対象となる画像である検索画像を取得し、
記憶装置に格納されている複数の画像データを用いて、階層型クラスタリング手法によって予めクラスタリングされた複数のクラスタの中から前記検索画像に近似する複数のクラスタを選択し、
選択した各前記クラスタに属する複数の画像から検索画像に近似する画像を複数選択し、
前記選択された複数の画像を検索結果として出力、画像検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を検索するための画像検索システムに関する。
【背景技術】
【０００２】
ネットワークを介して、所望の画像を検索するための技術が実用化されている。画像データを格納するサーバーコンピューター（画像サーバー）は、数多くの画像データを画像データの特徴を記述するメタデータと関連付けて格納している。画像サーバーとネットワークを介して接続されているクライアントコンピューターは、検索を所望する画像をキーワードで表した検索要求を画像サーバーに送信し、画像サーバーから検索結果として、一または複数の画像データを受信する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−３６１９８７号公報
【０００４】
しかしながら、メタデータを用いた従来の検索では、検索対象が画像であるにもかかわらず、検索要求をキーワードによって入力しなければならなかった。所望の画像をキーワードによって適切に特定することは容易でなく、また、画像サーバー上に格納されている画像データについても適切なメタデータが付されていない場合がある。この結果、利用者が所望する画像を精度良く、また、迅速に得られないという問題があった。また、検索要求として画像（画像データ）を用いる場合には、画像検索に膨大な時間を要し、現実的な画像検索システムを提供することができないという問題があった。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、上記課題の少なくとも一部を解決するためになされたものであり、画像検索に要する時間を増大させることなく画像検索の精度を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一部を解決するために、本発明は以下の種々の態様を採る。
【０００７】
第１の態様は、画像サーバーを提供する。第１の態様に係る画像サーバーは、複数の画像を格納する記憶装置と、前記格納されている複数の画像のそれぞれについて、画像の特徴を表す複数の特徴量を取得する特徴量取得部と、各前記画像から取得した前記複数の特徴量を正規化する正規化部と、階層型クラスタリング手法によって、前記各画像から取得し正規化した前記複数の特徴量を用いて、画像検索時における計算負荷によって定まる所定画像数以下の画像を含むクラスタを複数作成するクラスタ処理実行部と、作成した各前記クラスタの属性を決定し、前記各クラスタにそれぞれ対応づけるインデックス作成部と
を備える。
【０００８】
第１の態様に係る画像サーバーによれば、階層型クラスタリング手法によって、前画像から取得し正規化した複数の特徴量を用いて、画像検索時における計算負荷によって定まる所定画像数以下の画像を含むクラスタを複数作成し、作成した各クラスタの属性を決定し、各クラスタにそれぞれ対応づけて画像のインデックスを作成することができる。したがって、画像検索に要する時間を増大させることなく画像検索の精度を向上させることができる。
【０００９】
第１の態様に係る画像サーバーにおいて、前記正規化部は、標準偏差を用いて前記複数の特徴量を正規化しても良い。この場合には、特徴量の偏差（分散、ばらつき）を大きくすることが可能となり、クラスタリングの精度を向上させることができる。
【００１０】
第１の態様に係る画像サーバーにおいて、前記特徴量は、輝度、色相、テクスチャ、顔の大きさのうちの少なくとも２つを含んでも良い。この場合には、画像の特徴をよく表すことが可能となり、クラスタリングの精度を向上させることができる。
【００１１】
第１の態様に係る画像サーバーにおいて、前記所定画像数は１００〜３００であっても良い。この場合には、画像サーバーにおける計算負荷を増大させることなく（検索時間を増大させることなく）、画像検索を実現させることができる。
【００１２】
第２の態様は、画像サーバーにおけるインデックス作成方法を提供する。第２の態様に係るインデックス作成方法は、複数の画像のそれぞれについて、画像の特徴を表す複数の特徴量を取得し、各前記画像から取得した前記複数の特徴量を正規化し、階層型クラスタリング手法によって、前記各画像から取得し正規化した前記複数の特徴量を用いて、画像検索時における計算負荷によって定まる所定画像数以下の画像が属するクラスタを複数作成し、作成した各前記クラスタの属性を決定し、前記クラスタにそれぞれ対応づけることを備える。
【００１３】
第２の態様に係るインデックス作成方法によれば、第１の態様に係る画像サーバーと同様の作用効果を得ることができると共に、第１の態様に係る画像サーバーと同様にして種々の態様にて実現することができる。
【００１４】
第３の態様は、画像サーバーを提供する。第３の態様に係るが蔵サーバーは、階層型クラスタリング手法によって、予め複数のクラスタにクラスタリングされた複数の画像データを記憶する記憶装置と、検索の対象となる画像である検索画像を取得する検索画像取得部と、前記複数のクラスタの中から前記検索画像に近似する複数のクラスタを選択し、選択した各前記クラスタに属する複数の画像から検索画像に近似する画像を複数選択する検索部と、前記検索部によって検索された複数の画像を検索結果として出力する出力部とを備える。
【００１５】
第３の態様に係る画像サーバーによれば、階層型クラスタリング手法によって、予め複数のクラスタにクラスタリングされた複数の画像データを記憶する記憶装置から、検索画像に近似する複数のクラスタを選択し、選択した各クラスタに属する複数の画像から検索画像に近似する画像を複数選択するので、画像検索に要する時間を増大させることなく画像検索の精度を向上させることができる。
【００１６】
第３の態様に係る画像サーバーにおいて、前記クラスタにはクラスタの特徴を表す属性が関連づけられており、前記検索部は、前記検索画像の特徴量を取得し、取得した特徴量と前記属性とを用いて前記近似する複数のクラスタを選択しても良い。この場合には、クラスタの検索精度を低下させることなく検索時間を短縮させることができる。
【００１７】
第３の態様に係る画像サーバーにおいて、前記検索部は、前記選択したクラスタに含まれている画像の特徴量を取得し、前記選択したクラスタに含まれている画像の特徴量、取得した前記検索画像の特徴量とを用いて前記近似する複数の画像を選択しても良い。この場合には、クラスタに含まれる複数の画像から検索画像を検索することができるので、検索時間を短縮させることができる。
【００１８】
第３の態様に係る記載の画像サーバーはさらに、複数の画像のそれぞれについて、画像の特徴を表す複数の特徴量を取得する特徴量取得部と、各前記画像から取得した前記複数の特徴量を正規化する正規化部と、階層型クラスタリング手法によって、前記各画像から取得し正規化した前記複数の特徴量を用いて、画像検索時における計算負荷によって定まる所定画像数以下の画像を含むクラスタを複数作成するクラスタ実行部と、作成した各前記クラスタの属性を決定し、前記求めた属性を前記クラスタにそれぞれ対応づけるインデックス作成部とを備えてもよい。この場合には、画像検索に要する時間を増大させることなく画像検索の精度を向上させることができる画像のインデックスを作成することができる。
【００１９】
第４の態様は、画像検索システムを提供する。第４の態様に係る画像検索システムは、第３の態様に係る画像サーバーと、前記画像サーバーにネットワークを介してアクセス可能なプリンターであって、前記画像サーバーに対して前記検索画像を送信する送信部と、前記画像サーバーから出力された前記検索結果としての複数の画像を受け取る受信部と、前記受信した画像を出力する表示部とを備えるプリンターとを備える。
【００２０】
第４の態様に係る画像検索システムによれば、画像検索に要する時間を増大させることなく画像検索の精度を向上させることができる。
【００２１】
第５の態様は、画像検索方法を提供する。第５の態様に係る画像検索方法は、検索の対象となる画像である検索画像を取得し、記憶装置に格納されている複数の画像データを用いて、階層型クラスタリング手法によって予めクラスタリングされた複数のクラスタの中から前記検索画像に近似する複数のクラスタを選択し、選択した各前記クラスタに属する複数の画像から検索画像に近似する画像を複数選択し、前記選択された複数の画像を検索結果として出力することを備える。
【００２２】
第５の態様に係る画像検索方法によれば、第３の態様に係る画像サーバーと同様の作用効果を得ることができると共に、第３の態様に係る画像サーバーと同様にして種々の態様にて実現され得る。
【００２３】
第２および第５の態様に係る方法は、それぞれインデックス作成プログラム、画像検索プログラムとして実現され得ると共に、インデックス作成プログラム、画像検索プログラムがそれぞれ記録されたコンピューター読み取り可能な媒体として実現され得る。
【図面の簡単な説明】
【００２４】
【図１】本実施例に係る画像検索システムの概略構成を示す説明図である。
【図２】本実施例に係る画像サーバーの内部構成を機能ブロック図にて模式的に示す説明図である。
【図３】画像サーバーが備えるメモリに格納されている各種プログラム、モジュールを示す説明図である。
【図４】本実施例に係るプリンターの内部構成を機能ブロック図にて模式的に示す説明図である。
【図５】画像プリンターが備えるメモリに格納されている各種プログラム、モジュールを示す説明図である。
【図６】第１のクラスタリング手法として、階層型クラスタリング手法を用いて画像インデックスを作成するために実行される処理ルーチンを示すフローチャートである。
【図７】は第１のクラスタリング手法により生成されたクラスタの概念を示す説明図である。
【図８】画像データベースにおける画像管理テーブルの一例を示す説明図である。
【図９】クラスタの属性を管理するクラスタテーブルの一例を示す説明図である。
【図１０】第２のクラスタリング手法として、非階層型クラスタリング手法を用いて画像インデックスを作成するために実行される処理ルーチンを示すフローチャートである。
【図１１】第２のクラスタリング手法により生成されたクラスタの概念を示す説明図である。
【図１２】本実施例に係る画像サーバーにおいて実行される画像検索処理ルーチンを示すフローチャートである。
【図１３】本実施例に係るプリンターにおいて実行される画像検索要求処理ルーチンを示すフローチャートである。
【図１４】第２のクラスタリング手法によって形成されたクラスタを用いた画像データの検索処理の概念を模式的に示す説明図である。
【発明を実施するための形態】
【００２５】
以下、本発明に係る画像検索システム、画像サーバー、インデックス作成方法、画像検索方法、プリンターについて、図面を参照しつつ、実施例に基づいて説明する。
【００２６】
図１は本実施例に係る画像検索システムの概略構成を示す説明図である。本実施例に係る画像検索システムＩＳＳは、サーバーコンピューター１０、プリンター２０、パーソナルコンピューター３０を備えている。サーバーコンピューター１０と、プリンター２０およびパーソナルコンピューター３０とはネットワークＮＥを介して双方向通信可能に接続されている。ネットワークは、インターネットであっても良く、イントラネットであっても良い。
【００２７】
サーバーコンピューター１０は、数多くの被検索画像データを格納し、クライアントコンピューターからの検索要求に応じて画像の検索を実行する。したがって、サーバーコンピューターは画像サーバーであると言うことができる。プリンター２０およびパーソナルコンピューター３０は、画像サーバー１０に対するクライアントまたは画像検索端末装置と呼ぶことができる。パーソナルコンピューター３０は、表示ディスプレイ３１並びにキーボードおよびマウスといった入力装置３２を備えている。
【００２８】
画像サーバーの構成：
図２は本実施例に係る画像サーバーの内部構成を機能ブロック図にて模式的に示す説明図である。図３は画像サーバーが備えるメモリに格納されている各種プログラム、モジュールを示す説明図である。画像サーバー１０は、互いに通信可能に接続されている中央処理装置（ＣＰＵ）１１、メモリ１２、画像データベースが構築されている記憶装置（画像データベースともいう）１３、および入出力インターフェース１４を備えている。ＣＰＵ１１は、メモリ１２に格納されている各種プログラム、モジュールを実行する。メモリ１２は、ＣＰＵ１１によって実行されるプログラム、モジュールを不揮発的に記憶すると共に、ＣＰＵ１１による処理実行時にプログラム、モジュールが展開される揮発的な作業領域を有する。メモリ１２としては、例えば、プログラム等を不揮発的に記憶するリードオンリメモリ、プログラム実行時における揮発的な作業領域を提供するランダムアクセスメモリといった半導体記憶装置が用いられ得る。
【００２９】
記憶装置１３は、例えば、ハードディスクドライブ、フラッシュメモリドライブといった１または複数の大容量記憶装置によって構成されている。記憶装置１３には、複数の画像データ、並びに各画像データの特徴量、所属クラスタおよび画像データの特徴量といった画像データの管理情報（属性情報）から構成されている画像データベースが構築されている。なお、画像データが出力（表示、印刷）された態様が画像であるが、請求項における画像は画像データを意味することは当業者にとって自明な事項である。記憶装置１３は、複数の画像データのみを格納する画像データ格納部として機能しても良い。この場合には、記憶装置１３に格納されている各画像データの特徴量および画像データの管理情報（属性情報）はメモリ１２に格納される。本実施例では、クライアントから見て、画像サーバー１０自体が画像データベースとして機能する。なお、本実施例では、記憶装置１３が単に画像データおよび画像管理情報を格納するデータベースを例をとって説明しているが、記憶装置１３に検索機能を備える制御部を備え、外部からの検索要求に応じて検索結果を出力する独立型のデータベースシステム（ファイルサーバー）であっても良い。この場合には、画像サーバー１０の外部に画像データベースシステムが配置され、入出力インターフェース１４を介して両者の間で検索要求および検索結果の送受信が実行される。いずれの場合にも、データベース検索用のプログラムはメモリ１２に格納され、ＣＰＵ１１によって実行される。
【００３０】
入出力インターフェース１４は、外部装置、例えば、プリンター２０、パーソナルコンピューター３０といったクライアントとの間で、周知の通信プロトコルに従って検索要求および検索結果の送受信を実行する。
【００３１】
メモリ１２に格納されている各種プログラム、モジュールについて図３を用いて説明する。メモリ１２は、画像インデックスを作成するために実行される画像インデックス作成プログラムＳＰ１と、記憶装置１３から画像を検索するために実行される画像検索プログラムＳＰ２とを格納している。画像インデックス作成プログラムＳＰ１は、画像データ取得モジュールＳＭ１１、特徴量取得モジュールＳＭ１２、正規化モジュールＳＭ１３、クラスタリングモジュールＳＭ１４、インデックス作成モジュールＳＭ１５を備えている。画像データ取得モジュールＳＭ１１は、記憶装置（画像データベース）１３に格納されている画像データを順次、重複なく取得するために実行されるモジュールである。特徴量取得モジュールＳＭ１２は、画像データ取得モジュールＳＭ１１によって取得された画像データを解析して、特徴量を取得するために実行されるモジュールである。ここで、特徴量とは、例えば、画像データの平均輝度、最小輝度、最高輝度、色相、画像データに含まれる顔のサイズ、位置といった値である。これら特徴量は、当業者にとって周知の方法で取得することが可能であるから説明を省略する。
【００３２】
正規化モジュールＳＭ１３は、特徴量取得モジュールＳＭ１２によって取得された、記憶装置１３に含まれている全ての画像データの各特徴量を正規化するために実行されるモジュールである。正規化は、例えば、特徴量の標準偏差を用いて実行されても良く、あるいは、取得された各特徴量の最大値が１に最小値が０になるように実行されても良い。クラスタリングモジュールＳＭ１４は、正規化された各特徴量を用いて、画像データベース１３内の画像データを複数のクラスタに分類するために実行されるモジュールである。クラスタリングの手法としては、階層型クラスタリング手法、非階層型クラスタリング手法が知られている。本実施例では、第１のクラスタリング手法として、階層型クラスタリング手法を用い、第２のクラスタリング手法として、非階層型クラスタリング手法の１つであるＫ−平均法を用いる。インデックス作成モジュールＳＭ１５は、クラスタリングによって形成された各クラスタに対して代表値を付与して画像検索に用いられるインデックスを作成するために実行されるモジュールである。なお、画像インデックス作成プログラムＳＰ１、画像データ取得モジュールＳＭ１１、特徴量取得モジュールＳＭ１２、正規化モジュールＳＭ１３、クラスタリングモジュールＳＭ１４、インデックス作成モジュールＳＭ１５は、それぞれＣＰＵ１１によって実行されることによって、画像インデックス作成部、画像データ取得部、特徴量取得部、正規化部、クラスタリング部、インデックス作成部として機能する。
【００３３】
画像検索プログラムＳＰ２は、検索画像データ取得モジュールＳＭ２１、画像データ検索モジュールＳＭ２２を備えている。画像データ検索モジュールＳＭ２２は、サブモジュールとして検索画像データ特徴量取得モジュールＳＭ２３、類似度算出モジュールＳＭ２４を備えている。検索画像データ取得モジュールＳＭ２１は、クライアントであるプリンター２０およびパーソナルコンピューター３０によって送信された検索画像データを取得するために実行されるモジュールである。画像データ検索モジュールＳＭ２２は、取得した検索画像データを用いて、記憶装置１３から、検索画像データに類似または一致する画像データを検索するために実行されるモジュールである。検索画像データ特徴量取得モジュールＳＭ２３は、取得した検索画像データの複数の特徴量を取得するために実行され、類似度算出モジュールＳＭ２４は取得した検索画像データの特徴量と、各クラスタの代表値および各クラスタに属する画像データの特徴量とを用いて検索画像データと被検索画像データとの類似度を算出するため実行されるモジュールである。なお、画像検索プログラムＳＰ２、検索画像データ取得モジュールＳＭ２１、画像データ検索モジュールＳＭ２２、検索画像データ特徴量取得モジュールＳＭ２３および類似度算出モジュールＳＭ２４は、それぞれＣＰＵ１１によって実行されることによって、画像検索部、検索画像取得部、画像データ特徴量取得部、類似度算出部として機能する。
【００３４】
プリンターの構成：
図４は本実施例に係るプリンターの内部構成を機能ブロック図にて模式的に示す説明図である。図５は画像プリンターが備えるメモリに格納されている各種プログラム、モジュールを示す説明図である。本実施例では、画像検索端末装置としてプリンター２０を例にとって説明するが、パーソナルコンピューター３０についても同様に画像検索端末装置として用いることが可能であることは言うまでもない。プリンター２０は、信号線によって互いに接続されている制御回路２１、入力操作部２２、表示部２３、印刷部２４、外部入出力インターフェース２５を備えている。制御回路２１は、互いに通信可能に接続されている中央処理装置（ＣＰＵ）２１０、メモリ２１１、入出力（Ｉ／Ｏ）インターフェース２１２を備えている。ＣＰＵ２１０は、メモリ２１１に格納されている各種プログラム、モジュールを実行する。メモリ２１１は、ＣＰＵ２１０によって実行されるプログラム、モジュールを不揮発的に記憶すると共に、ＣＰＵ２１０による処理実行時にプログラム、モジュールが展開される揮発的な作業領域を有する。メモリ２１１としては、例えば、プログラム等を不揮発的に記憶するリードオンリメモリ、プログラム実行時における揮発的な作業領域を提供するランダムアクセスメモリといった半導体記憶装置が用いられ得る。入出力インターフェース２１２は、制御回路２１と、入力操作部２２、表示部２３、印刷部２４および外部入出力インターフェース２５との間で、コマンド、データの送受信を実行する。入力操作部２２は、プリンター２０に対してユーザが指示を入力するための操作部であり、例えば、ボタン、ホイールによって実現され得る。表示部２３は、ユーザに対して検索した画像データに基づく画像の表示、ユーザに対する各種情報の表示を行うカラー表示可能な表示画面である。印刷部２４は、ユーザ（制御回路２１）からの印刷指示に従って印刷媒体に対して画像を形成する印刷実行部である。外部入出力インターフェース２５は、外部装置、例えば、画像サーバー１０との間で、周知の通信プロトコルに従って検索要求および検索結果の送受信を実行する。
【００３５】
メモリ２１１に格納されている各種プログラム、モジュールについて図５を用いて説明する。メモリ２１１は、画像サーバー１０に対して画像検索を要求するための画像検索要求プログラムＣＰ１を備え、画像検索要求プログラムＣＰ１は、画像データ特定モジュールＣＭ１１、検索要求モジュールＣＭ１２、検索結果取得モジュールＣＭ１３および検索結果表示モジュールＣＭ１４を備えている。画像データ特定モジュールＣＭ１１は、検索対象（検索キー）となる画像（画像データ）を特定するために実行されるモジュールである。検索要求モジュールＣＭ１２は、特定された画像データと検索の要求を画像サーバー１０に対して送信するためのモジュールである。検索結果取得モジュールＣＭ１３は、画像サーバー１０から検索結果としても一または複数の画像データを取得するためのモジュールである。検索結果表示モジュールＣＭ１４は、検索結果として取得した一または複数の画像データを用いて表示部２３に検索結果としての画像を表示するためのプログラムである。なお、画像検索要求プログラムＣＰ１、画像データ特定モジュールＣＭ１１、検索要求モジュールＣＭ１２、検索結果取得モジュールＣＭ１３および検索結果表示モジュールＣＭ１４は、それぞれＣＰＵ２１０によって実行されることによって、画像検索要求部、検索画像特定部、検索要求部、検索結果取得部および検索結果表示部として機能する。
【００３６】
第１のクラスタリング手法：
図６は第１のクラスタリング手法として、階層型クラスタリング手法を用いて画像インデックスを作成するために実行される処理ルーチンを示すフローチャートである。図７は第１のクラスタリング手法により生成されたクラスタの概念を示す説明図である。図８は画像データベースにおける画像管理テーブルの一例を示す説明図である。図９はクラスタの代表値を管理するクラスタテーブルの一例を示す説明図である。
【００３７】
本処理ルーチンは、例えば、画像データベースに対して画像インデックスを作成する最初のタイミングにて、あるいは、画像データベースに所定量の新規な画像データが追加されたタイミングにて画像サーバー１０によって実行される。画像サーバー１０（ＣＰＵ１１）は画像データ取得モジュールＳＭ１１を実行して、画像データベース１３から画像データを取得する（ステップＳ１００）。取得された画像データは一時的にメモリ１２に格納される。
【００３８】
ＣＰＵ１１は特徴量取得モジュールＳＭ１２を実行して、メモリ１２に格納されている画像データから複数の特徴量を取得する（ステップＳ１０２）。本実施例において用いられる特徴量は、例えば、画像データの輝度または画像データの一部の領域における輝度のヒストグラム、テクスチャ、顔の有無、顔の大きさ、色相であり、複数の特徴量が用いられる。輝度のヒストグラムからは、平均輝度値、最高輝度値、最小輝度値が取得され、色相としては、画像データにおけるＲ、Ｇ、Ｂ各成分の平均値、または、画像データを構成する全画素数に占める所定値以上のＲ、Ｇ、Ｂ成分画素数の割合が取得される。輝度のヒストグラム、色相、テクスチャを特徴量として取得する方法は当業者にとって周知の方法であるから説明を省略する。また、顔の有無、すなわち顔検出、および顔の大きさの検出は、例えば、モデル顔形状を用いたパターンマッチング法、肌色の色相領域を特定する方法、顔の器官を検出する方法がそれぞれ単独または組み合わせて用いられ得る。
【００３９】
ＣＰＵ１１は、画像データベースに格納されている全ての画像データから特徴量を取得するまで（ステップＳ１０４：Ｎｏ）、ステップＳ１００およびＳ１０２を繰り返し実行する。ＣＰＵ１１は、全画像データに対する特徴量の取得が終了すると（ステップＳ１０４：Ｙｅｓ）、正規化モジュールＳＭ１３を実行して取得した特徴量を種別毎に正規化する（ステップＳ１０６）。本実施例では、特徴量毎に各画像データの特徴量の標準偏差σを求め、求めた標準偏差σと以下の式を用いて平均が０、標準偏差が１となるように正規化が行われる。正規化値＝（ｘ−μ）／σ（ｘは正規化対象の特徴量の値、μは当該特徴量の平均値）。
【００４０】
ＣＰＵ１１は、クラスタリングモジュールＳＭ１４を実行して、正規化処理を終えた各特徴量をパラメータとして階層型クラスタリング手法によって、画像データベース１３内の画像データを複数のクラスタに分類するクラスタリング処理を実行する（ステップＳ１０８）。本実施例では階層型クラスタリング手法として、図７に示すように、所定の特徴量を用いて全体を順に分割していく分割型クラスタリング手法を用いる。本実施例では、分割後のクラスタに対して、同一の所定の特徴量を複数回用いているが一度だけ用いる用にしても良い。図７の例では、先ず、正規化された特徴量に基づいて画像データ（画像）が顔を含むか否かによって画像データが分割される。続いて、顔を含むクラスタについては、顔の大きさが（顔の大きさを示す正規化された特徴量が）所定値以上（顔サイズ大）であるか所定値未満（顔サイズ小）であるかに基づいてさらに分割される。顔サイズ大のクラスタについては、顔が子供の顔であるか大人の顔であるか（年齢）に基づいて（例えば、顔の器官位置に関する特徴量に基づいて）更に分割される。顔サイズ小のクラスタについては、風景シーンであるか否か（青または緑の色相を示す正規化された特徴量が所定値以上であるか）に基づいてさらに分類される。風景シーンのクラスタについては、色相が青を示すか否かに基づき更に分割され、色相が青でないクラスタについては色相が緑を示すか否かに基づき更に分割される。顔を含まないクラスタについては、風景であるか否かに基づいて分類され、風景シーンでないクラスタについては、彩度が所定値以上（彩度大）であるか所定値未満（彩度小）であるかに基づいてさらに分割される。
【００４１】
クラスタの分割は、例えば、各クラスタに含まれる画像データの数が、画像データの検索時における計算負荷によって定まる所定画像データ数以下となるまで繰り返される。ここで、画像データの検索時における計算負荷とは、後述する検索画像データとクラスタに属する画像データとの類似度の計算の負荷（計算時間）であり、所定画像データ数は、例えば、計算時間が２秒以下となる画像データ数である。現在の一般的なサーバーの演算能力に基づき、この条件を満たす所定画像データ数としては、例えば、１００〜３００である。ただし、サーバーの演算能力の向上に伴って所定画像データ数は増大することは明らかである。階層型クラスタリング手法として、この他に、類似する画像データを集めることを繰り返す凝集型クラスタリング手法が用いられても良い。この場合にも各クラスタに属する画像データ数を所望の数に制御することができる。なお、階層型クラスタリング手法は、当業者にとって周知であるから更なる説明は省略する。
【００４２】
各画像データは、図８に示す管理テーブルによってクラスタに対応付けられることによって、クラスタ化が実現される。図８の例では、管理テーブルには画像データのファイル名と、所属クラスタと、正規化されていない特徴量とが記述されている。なお、管理テーブルに代えて、各画像データのヘッダに所属クラスタと、正規化されていない特徴量とが共通のフォーマットで記述されていても良い。
【００４３】
ＣＰＵ１１は、クラスタリングによって得られた各クラスタの代表値（属性）を取得し、各クラスタに対応付けて（ステップＳ１１０）本処理ルーチンを終了する。すなわち、各クラスタについて属性を対応付けることで類似する画像データを迅速に特定するための画像インデックスを作成する。各クラスタの代表値は、例えば、各クラスタに属する画像データの正規化されていない各特徴量の平均値を求めることによって取得される。取得された各クラスタの代表値と各クラスタとは、例えば、図９に示すクラスタテーブルによって対応付けられる。図９の例では、属性（代表値）として輝度成分、Ｒ，Ｇ，Ｂ各成分、顔の大きさの平均値が各クラスタに対して対応付けられている。このクラスタテーブルは、メモリ１２に格納されていてもよく、画像データベース（記憶装置１２）の所定の領域に格納されていても良い。
【００４４】
第２のクラスタリング手法：
図１０は第２のクラスタリング手法として、非階層型クラスタリング手法を用いて画像インデックスを作成するために実行される処理ルーチンを示すフローチャートである。図１１は第２のクラスタリング手法により生成されたクラスタの概念を示す説明図である。
【００４５】
本処理ルーチンは、例えば、画像データベースに対して画像インデックスを作成する最初のタイミングにて、あるいは、画像データベースに所定量の新規な画像データが追加されたタイミングにて画像サーバー１０によって実行される。なお、第１のクラスタリング手法を用いた画像インデックスの生成方法とは、クラスタリング手法が第２のクラスタリング手法である点を除いて同様であるから同一のステップ（処理）については、第１のクラスタリング手法の説明において用いたステップ番号と同一のステップ番号を付す。画像サーバー１０（ＣＰＵ１１）は画像データ取得モジュールＳＭ１１を実行して、画像データベース１３から画像データを取得する（ステップＳ１００）。取得された画像データは一時的にメモリ１２に格納される。
【００４６】
ＣＰＵ１１は特徴量取得モジュールＳＭ１２を実行して、メモリ１２に格納されている画像データから複数の特徴量を取得する（ステップＳ１０２）。本実施例において用いられる特徴量は、例えば、画像データの輝度または画像データの一部の領域における輝度のヒストグラム、テクスチャ、顔の有無、顔の大きさ、色相であり、複数の特徴量が用いられる。輝度のヒストグラムからは、平均輝度値、最高輝度値、最小輝度値が取得され、色相としては、画像データにおけるＲ、Ｇ、Ｂ各成分の平均値、または、画像データを構成する全画素数に占める所定値以上のＲ、Ｇ、Ｂ成分画素数の割合が取得される。輝度のヒストグラム、色相、テクスチャを特徴量として取得する方法は当業者にとって周知の方法であるから説明を省略する。また、顔の有無、すなわち顔検出、および顔の大きさの検出は、例えば、モデル顔形状を用いたパターンマッチング法、肌色の色相領域を特定する方法、顔の器官を検出する方法がそれぞれ単独または組み合わせて用いられ得る。
【００４７】
ＣＰＵ１１は、画像データベースに格納されている全ての画像データから特徴量を取得するまで（ステップＳ１０４：Ｎｏ）、ステップＳ１００およびＳ１０２を繰り返し実行する。ＣＰＵ１１は、全画像データに対する特徴量の取得が終了すると（ステップＳ１０４：Ｙｅｓ）、正規化モジュールＳＭ１３を実行して取得した特徴量を種別毎に正規化する（ステップＳ１０６）。本実施例では、特徴量毎に各画像データの特徴量の標準偏差σを求め、求めた標準偏差σと以下の式を用いて平均が０、標準偏差が１となるように正規化が行われる。正規化値＝（ｘ−μ）／σ（ｘは正規化対象の特徴量の値、μは当該特徴量の平均値）。
【００４８】
ＣＰＵ１１は、クラスタリングモジュールＳＭ１４を実行して、正規化処理を終えた各特徴量をパラメータとして非階層型クラスタリング手法によって、画像データベース１３内の画像データを複数のクラスタに分類するクラスタリング処理を実行する（ステップＳ１０９）。本実施例では非階層型クラスタリング手法として、図１１に示すようにＫ−平均法を用いる。図１１の例では、縦軸および横軸は０〜１の値を取り、正規化された２つの特徴量（特徴量Ａ、特徴量Ｂ）がプロットされる。先ず、生成すべきクラスタ数Ｋを決定し、任意のクラスタ中心点（位置）ＣＰをＫ個決定する（Ｋ個の仮のクラスタを生成する。続いて、各クラスタの重心、例えば、各クラスタに属する画像データの特徴量Ａ、Ｂの各平均を算出し、各画像データ（の座標位置）と各クラスタの重心（の座標位置）間の距離を求め、各画像データを最も距離が近いクラスタに再割当てする。各画像データが移動しなくなるまで、あるいは、各画像データと各クラスタの重心距離が所定距離以下となるまで、画像データの再割当てを繰り返し実行する。各画像データの座標と各クラスタの重心の座標との距離は、例えば、当業者にとって周知のユークリッド距離、マハラノビス距離、マンハッタン距離によって求めることができる。非階層型クラスタリング手法として、この他にも、自己組織化マップ（ＳＯＭ）等を用いることができる。
【００４９】
各画像データは、図８に示す管理テーブルによってクラスタに対応付けられることによって、クラスタ化が実現される。ＣＰＵ１１は、クラスタリングによって得られた各クラスタの代表値（属性）を取得し、各クラスタに対応付けて（ステップＳ１１０）本処理ルーチンを終了する。すなわち、各クラスタについて属性を対応付けることで類似する画像データを迅速に特定するための画像インデックスを作成する。各クラスタの代表値は、各クラスタに属する画像データの正規化されていない特徴量の平均値を求めることによって取得される。取得された各クラスタの代表値と各クラスタとは、例えば、図９に示すクラスタテーブルによって対応付けられる。
【００５０】
画像データの検索：
図１２は本実施例に係る画像サーバーにおいて実行される画像検索処理ルーチンを示すフローチャートである。図１３は本実施例に係るプリンターにおいて実行される画像検索要求処理ルーチンを示すフローチャートである。図１４は第２のクラスタリング手法によって形成されたクラスタを用いた画像データの検索処理の概念を模式的に示す説明図である。なお、以下では図１２および図１３を適宜参照しつつ説明する。
【００５１】
図１３を参照して説明する。プリンター２０（ＣＰＵ２１０）は、画像データ特定モジュールＣＭ１１を実行して、表示部２３に表示されている画像の内、ユーザによって特定された画像（検索画像）に対応する検索画像データを特定する（ステップＳ３００）。表示部２３に表示される画像は、例えば、可搬式半導体記憶装置に格納されている画像データであり、入力操作部２２を介して選択される。ＣＰＵ２１０は、検索要求モジュールＣＭ１２を実行して、検索画像データを画像サーバー１０に送信する（ステップＳ３０２）。具体的には、外部入出力インターフェース２５、ネットワークＮＥを介して画像サーバー１０に送信される。
【００５２】
図１２を参照して説明する。画像サーバー１０（ＣＰＵ１１）は、画像データ取得モジュールＳＭ２１を実行して、プリンター２０から送信されてきた検索画像データを取得する（ステップＳ２００）。具体的には、入出力インターフェース１４を介して検索画像データが画像サーバー１０内に取り込まれ、メモリ１２に格納される。ＣＰＵ１１は、検索画像データ特徴量取得モジュールＳＭ２３を実行して、検索画像データの複数の特徴量を取得する（ステップＳ２０２）。特徴量としては、検索精度を向上させるため、例えば、画像サーバー１０がクラスタリングに際して用いた複数の特徴量が取得される。特徴量の取得の方法については画像インデックスの作成において既述したとおりである。
【００５３】
ＣＰＵ１１は、類似度算出モジュールＳＭ２４を実行して、検索画像データに類似・一致する複数のクラスタを検索する（ステップＳ２０４）。具体的には、取得した検索画像データの各特徴量の値と、各クラスタに対応付けられている属性（各特徴量の代表値）とを用いて類似度を算出される。類似度は、例えば、ユークリッド距離、マハラノビス距離といった距離算出方法によって算出された、検索画像データの特徴量と、各クラスタに対応付けられている代表値との間の距離、すなわち、検索画像データの特徴量と各クラスタの代表値によって表される多元ベクトル間の距離を用いて判断され、得られた距離が短いほど類似していると判断される。あるいは、検索画像データの各特徴量の多元ベクトルと、各クラスタの対応する代表値の多元ベクトルとの内積を求めて判断されても良い。この場合には、内積の値が１の近いほど類似度が高いと判断することができる。なお、これら類似度を算出するための各距離の算出手法および内積の演算式は当業者にとって周知であるから説明を省略する。たとえば、図１４に示す、画像データベースの画像インデックスがＫ平均法によって形成されている場合には、検索画像データＴＤに近い代表値を有するクラスタが複数選択される。なお、図１４において縦軸および横軸は各特徴量の正規化されていない実値である。また、画像データベースの画像インデックスが階層型クラスタリング手法によって形成されている場合にも、検索画像データに近い代表値を有する複数のクラスタ、一般的には同じ枝から分割された複数のクラスタが選択される。なお、複数のクラスタの選択は、予めしきい値としての距離を決めておいても良く、あるいは、選択すべきクラスタ数を決めておいても良い。
【００５４】
ＣＰＵ１１は、類似度算出モジュールＳＭ２４を実行して、検索によって得られた複数のクラスタに属する複数の画像データから、検索画像データに一致または類似する複数の画像データを検索する（ステップＳ２０６）。類似または一致の判断は、検索画像データの各特徴量と各クラスタに属する各画像データの各特徴量とを用いて、既述の類似度を算出することによって行われる。なお、複数の画像データの選択は、予めしきい値としての距離を決めておいても良く、あるいは、画像データ数を決めておいても良い。
【００５５】
ＣＰＵ１１は検出した複数の画像データを、検索要求の送信元であるプリンター２０に対して送信して（ステップＳ２０８））本処理ルーチンを終了する。なお、いずれのプリンター２０から検索要求が送信されたかについては、たとえば、プリンター２０が備える外部入出力インターフェース２５の識別情報（例えば、ＭＡＣアドレス）によって識別することができ、当該識別情報を用いて検索要求の送信元であるプリンター２０に対して複数の画像データを送信することができる。
【００５６】
図１３を参照して説明する。プリンター２０は、複数の画像データを受信する（ステップＳ３０４）と、検索結果取得モジュールＣＭ１３を実行して、メモリ２１１に格納する。ＣＰＵ２１０は、検索結果表示モジュールＣＭ１４を実行して、メモリ２１１に格納されている画像データを表示部２３上に表示させて（ステップＳ３０６）本処理ルーチンを終了する。
【００５７】
以上説明した本実施例に係る画像インデックスの作成方法、画像サーバー、画像検索方法、プリンターによれば、画像インデックスを用いて所望の画像データを検査することができるので、特徴量を用いて画像データを検索する場合であっても、画像データ検索速度を向上させることができる。また、画像インデックスの作成に際して、画像データの複数の特徴量を用いてクラスタリングを実行するので、画像データの検索精度を低下させることなく画像データの検索速度を向上させることができる。
【００５８】
また、画像データに関連付けられた画像データの内容を記述するメタデータを用いることなく、画像データの特徴量に基づいて画像データを検索するので、言葉（キーワード）を用いて画像データを特定する必要が無く画像データの検索を容易化することができる。さらに、主観的なメタデータに依存しないので、画像データの検索の客観性を高めることが可能となり、画像データの検索精度を向上させることができる。
【００５９】
第１のクラスタリング手法として階層型クラスタリング手法を用いる場合には、各クラスタに属する画像データ数を任意の数に調整することが可能となるので、個々の画像サーバーの検索処理能力に応じた画像データ数を含むように各クラスタを生成することによって、画像データの検索時間の遅延を抑制することができる。
【００６０】
また、分割型の第１のクラスタリング手法では、１回の分割に用いられる特徴量が１つであるため各クラスタの属性を、例えば、風景、顔画像ありといったように特定し易い。したがって、画像データの提供サービス等において各クラスタに対してテキストによる説明を付すことも可能となり、利用者が所望する画像データを提供しやすいという利点がある。
【００６１】
第２のクラスタリング手法としてＫ平均法（非階層型クラスタリング手法）を用いる場合には、複数の正規化された特徴量を用いてクラスタリングが実行されるので、各画像データの特徴を複数の特徴量によって表すことが可能となり、各画像データの特徴をより反映した画像インデックスに基づいて画像データの検索を行うことができる。
【００６２】
・その他の実施例：
（１）上記実施例では、画像サーバー１０として、クライアントからの要求に応じての画像データベースを検索するサーバーコンピューターを例にとって説明したが、例えば、パーソナルコンピューター３０の記憶装置に格納されているローカルな画像データベースに対して上記した画像インデックスを作成しても良い。すなわち、画像サーバーはネットワークに接続されていない、スタンドアローンのパーソナルコンピューターまたはプリンターが有する機能の一部、さらにはコンピュータープログラム、コンピュータープログラムが格納されたコンピューター読み取り可能媒体として実現されても良い。この場合には、パーソナルユースにおける画像データ検索の利便性、すなわち、検索速度の向上、検索精度の向上、検索の容易化を実現することができる。さらに、プリンター２０に大容量記憶装置が備えられている場合には、上記した画像インデックスの作成、画像検索方法は、プリンター２０におけるローカルな画像データ検索に適用されても良い。なお、コンピューター読み取り可能媒体としては、ＣＤ、ＤＶＤ、ハードディスクドライブ、フラッシュメモリといった種々の記録媒体を用いることができる。
【００６３】
（２）本実施例に係る画像インデックスの作成では、画像データの特徴量として、輝度、色相、テクスチャ、顔の大きさ、顔の有無を用いているが、他の特徴量が用いられることは言うまでもない。例えば、画像データのコントラスト、彩度、顔の目、鼻、口といった器官の配置位置（パターン）、露出補正量、撮影シーン情報といった特徴量を用いることができる。これらの特徴量を用いることによって、目的に合った画像インデックスを作成することが可能となり、ユーザの所望する画像データの検索結果を得ることができる。
【００６４】
（３）上記実施例では、画像インデックスを作成するための画像インデックス作成プログラムおよび画像検索プログラムの双方を備える画像サーバーを用いて説明したが、画像サーバーは、画像インデックス作成プログラムまたは画像検索プログラムのいずれか一方を備えていても良い。例えば、既に構築されている外部の画像データベースを用いる場合には画像サーバーには画像検索プログラムのみが備えられていればよく、画像検索プログラムがクライアントに備えられている場合には画像サーバーには画像インデックス作成プログラムのみが備えられていれば良い。いずれの態様を取るかは、どのような態様のシステム構成が用いられるかに依存して決定すれば良い。
【００６５】
（４）上記実施例では、テキストによるクラスタの説明を行っていないが、例えば、分割型の第１のクラスタリング手法による場合には、各クラスタに対してテキストによる説明を付して、利用者が所望する画像データを選択しやすい環境を整えても良い。この場合には、画像データの特徴量に加えて、ユーザが所望する属性を有するクラスタの選択を促すことによって、よりユーザのニーズに合った画像データの検索結果を提供することができる。
【００６６】
（５）上記実施例において、画像データベースに含まれる画像データが増加した場合には、第１および第２のクラスタリング手法において再度、画像インデックスを形成するための処理が実行され、画像データベースに含まれる画像データが低減した場合には、第１および第２のクラスタリング手法において、クラスタの代表値のみを再計算すれば良い。一般的に、第２のクラスタリング手法では、各クラスタの代表値が求められるに過ぎず、各クラスタに対する画像データの所属は問われないが、図９を用いて説明したテーブルによって管理すれば、各画像データが属するクラスタを明らかにすることができる。
【００６７】
（６）上記実施例では、複数のクラスタおよび複数の画像データを検索しているが、絞り込み検索に時間を要しない場合には、単一のクラスタおよび単一の画像データを検索しても良い。この場合には、ユーザの更なる選択を不要にすることができる。
【００６８】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【００６９】
ＩＳＳ…画像検索システム
１０…サーバーコンピューター（画像サーバー）
１１…ＣＰＵ
１２…メモリ
１３…記憶装置（画像データベース）
１４…入出力インターフェース
２０…プリンター
２１…制御回路
２２…入力操作部
２３…表示部
２４…印刷部
２５…外部入出力インターフェース
２１０…ＣＰＵ
２１１…メモリ
２１２…入出力インターフェース
３０…パーソナルコンピューター
３１…表示ディスプレイ
３２…入力装置
ＣＰ１…画像検索要求プログラム
ＣＭ１１…画像データ特定モジュール
ＣＭ１２…検索要求モジュール
ＣＭ１３…検索結果取得モジュール
ＣＭ１４…検索結果表示モジュール
ＳＰ１…画像インデックス作成プログラム
ＳＭ１１…画像データ取得モジュール
ＳＭ１２…特徴量取得モジュール
ＳＭ１３…正規化モジュール
ＳＭ１４…クラスタリングモジュール
ＳＭ１５…インデックス作成モジュール
ＳＰ２…画像検索プログラム
ＳＭ２１…検索画像データ取得モジュール
ＳＭ２２…画像データ検索モジュール
ＳＭ２３…検索画像データ特徴量取得モジュール
ＳＭ２４…類似度算出モジュール
ＴＤ…検索画像データ
ＮＥ…ネットワーク
【図１】
2010250633.tif 000003
【図２】
2010250633.tif 000004
【図３】
2010250633.tif 000005
【図４】
2010250633.tif 000006
【図５】
2010250633.tif 000007
【図６】
2010250633.tif 000008
【図７】
2010250633.tif 000009
【図８】
2010250633.tif 000010
【図９】
2010250633.tif 000011
【図１０】
2010250633.tif 000012
【図１１】
2010250633.tif 000013
【図１２】
2010250633.tif 000014
【図１３】
2010250633.tif 000015
【図１４】
2010250633.tif 000016