(57)【要約】  【課題】  データベースに大量の画像が格納される場合であっても、クラスタリング処理のために必要なメモリ容量が少なくて済み、また、データベースを逐次的に更新することのできる画像検索用データベース装置を提供する。  【解決手段】  画像検索用のデータベース装置１は、クラスタリング処理に用いるために、ベクトル空間における部分空間の範囲を記憶するメモリ１２と、複数の画像の特徴量ベクトルを各特徴量ベクトルが属する部分空間に関連付けて記憶するＨＤＤ１３とを備える。このデータベース装置１では、画像に含まれる複数の特徴点の各々の局所特徴量が特徴量ベクトルとして表され、複数の特徴量ベクトルが含まれるベクトル空間においてクラスタリング処理が行われてベクトル空間が複数の部分空間に分割され、各部分空間と各画像との対応関係を示す検索テーブルが生成される。【選択図】  図１
2010009332.tif 000002
【特許請求の範囲】
【請求項１】
画像検索用の複数の画像が登録される画像検索用データベース装置であって、
各画像に含まれる複数の特徴点の各々の局所特徴量が特徴量ベクトルとして表され、複数の前記特徴量ベクトルが含まれるベクトル空間においてクラスタリング処理が行われ前記ベクトル空間が複数の部分空間に分割され、各部分空間と各画像との対応関係を示す検索テーブルが生成されており、
前記画像検索用データベース装置は、
前記クラスタリング処理に用いるために、前記ベクトル空間における前記部分空間の範囲を記憶する作業用記憶手段と、
前記作業用記憶手段より大きな記憶容量を有し、前記クラスタリング処理に用いるために、前記複数の画像の特徴量ベクトルを各特徴量ベクトルが属する部分空間に関連付けて記憶する大容量記憶手段と、
を備えたことを特徴とする画像検索用データベース装置。
【請求項２】
画像検索用の画像として新たに登録される追加の画像に含まれる特徴点の局所特徴量を追加の特徴量ベクトルとして算出するベクトル算出手段と、
前記追加の特徴量ベクトルが属する部分空間に関連付けられた特徴量ベクトルを、前記大容量記憶手段から前記作業用記憶手段に読み出す読出し制御手段と、
前記読み出した特徴量ベクトルおよび前記追加の特徴量ベクトルに基づいて、前記追加の特徴量ベクトルが属する部分空間においてクラスタリング処理を行って前記部分空間を再分割するクラスタリング処理手段と、
を備えたことを特徴とする請求項１に記載の画像検索用データベース装置。
【請求項３】
前記追加の特徴量ベクトルが属する部分空間における特徴量ベクトルの分離の度合いを示す分離度を算出する分離度算出手段と、
前記分離度が所定のしきい値より大きいか否かを判定し、前記分離度が所定のしきい値より大きい場合には、前記部分空間におけるクラスタリング処理を行い、前記分離度が所定のしきい値より小さい場合には、前記部分空間におけるクラスタリング処理を行わないように、前記部分空間におけるクラスタリング処理の制御を行う判定制御手段と、
を備えたことを特徴とする請求項２に記載の画像検索用データベース装置。
【請求項４】
前記クラスタリング処理手段によって前記部分空間が再分割された場合に、前記検索テーブルにおいて、前記分割された部分空間と各画像との対応関係を更新するテーブル更新手段を備えたことを特徴とする請求項２または請求項３に記載の画像検索用データベース装置。
【請求項５】
画像検索用の複数の画像が登録される画像検索用データベースの管理方法であって、
前記画像検索用データベースでは、各画像に含まれる複数の特徴点の各々の局所特徴量が特徴量ベクトルとして表され、複数の前記特徴量ベクトルが含まれるベクトル空間においてクラスタリング処理が行われ前記ベクトル空間が複数の部分空間に分割され、各部分空間と各画像との対応関係を示す検索テーブルが生成されており、
前記画像検索用データベース管理方法は、
前記クラスタリング処理に用いるために、作業用記憶手段に、前記ベクトル空間における前記部分空間の範囲を記憶することと、
前記クラスタリング処理に用いるために、前記作業用記憶手段より大きな記憶容量を有する大容量記憶手段に、前記複数の画像の特徴量ベクトルを各特徴量ベクトルが属する部分空間に関連付けて記憶することと、
を含むことを特徴とする画像検索用データベース管理方法。
【請求項６】
画像検索用の画像として新たに登録される追加の画像に含まれる特徴点の局所特徴量を追加の特徴量ベクトルとして算出することと、
前記追加の特徴量ベクトルが属する部分空間に関連付けられた特徴量ベクトルを、前記大容量記憶手段から前記作業用記憶手段に読み出すことと、
前記読み出した特徴量ベクトルおよび前記追加の特徴量ベクトルに基づいて、前記追加の特徴量ベクトルが属する部分空間においてクラスタリング処理を行って前記部分空間を再分割することと、
を含むことを特徴とする請求項５に記載の画像検索用データベース管理方法。
【請求項７】
画像検索用の複数の画像が登録される画像検索用データベースの管理プログラムであって、
前記画像検索用データベースでは、各画像に含まれる複数の特徴点の各々の局所特徴量が特徴量ベクトルとして表され、複数の前記特徴量ベクトルが含まれるベクトル空間においてクラスタリング処理が行われ前記ベクトル空間が複数の部分空間に分割され、各部分空間と各画像との対応関係を示す検索テーブルが生成されており、
前記画像検索用データベース管理プログラムは、コンピュータに、
前記クラスタリング処理に用いるために、作業用記憶手段に、前記ベクトル空間における前記部分空間の範囲を記憶する処理と、
前記クラスタリング処理に用いるために、前記作業用記憶手段より大きな記憶容量を有する大容量記憶手段に、前記複数の画像の特徴量ベクトルを各特徴量ベクトルが属する部分空間に関連付けて記憶する処理と、
を実行させることを特徴とする画像検索用データベース管理プログラム。
【請求項８】
コンピュータに、
画像検索用の画像として新たに登録される追加の画像に含まれる特徴点の局所特徴量を追加の特徴量ベクトルとして算出する処理と、
前記追加の特徴量ベクトルが属する部分空間に関連付けられた特徴量ベクトルを、前記大容量記憶手段から前記作業用記憶手段に読み出す処理と、
前記読み出した特徴量ベクトルおよび前記追加の特徴量ベクトルに基づいて、前記追加の特徴量ベクトルが属する部分空間においてクラスタリング処理を行って前記部分空間を再分割する処理と、
を実行させることを特徴とする請求項７に記載の画像検索用データベース管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力した画像に対して類似または関連する画像を出力する画像検索に用いられる画像検索用データベース装置に関する。
【背景技術】
【０００２】
従来、画像検索の方式の一つとして、入力した画像に対して類似する画像または関連する画像を出力する方式（画像入力方式）が知られている。近年、この画像入力方式の新たなアプローチとして、入力画像とデータベース内の画像間で対応点探索を行い、対応点の数が多ければ検索をヒットさせる方式が提案されている。ここで、対応点とは、二つの画像間でパターンが一致する座標位置（座標点）の組み合わせのことである。この方式では、入力した画像と非常に類似度の高い画像を、検索結果として出力することができる。
【０００３】
この対応点を求める方法については、例えばSIFTなどの計算手法を用いて、画像中の特徴点から局所特徴量を算出する方法が提案されている。このような手法によれば、正確に対応点を求めることができる（例えば非特許文献１参照）。
【非特許文献１】David G. Lowe、”Distinctive Image Features from Scale-Invariant Keypoints”、International Journal of Computer Vision (2004)、カナダ、２００４年1月５日
【０００４】
ところが、上記のような局所特徴量を用いた画像検索では、検索精度は非常に高いものの、データベースのすべての画像について対応点を求める必要があり、データベースに大量の画像が記憶されている場合には、画像検索のために必要な計算量が膨大になり、検索実行までに非常に時間がかかることになる。そこで、従来、Visual Wordsという方法が提案されている（例えば非特許文献２および３参照）。
【非特許文献２】David Nister、外１名、”Scalable Recognition with a Vocabulary Tree”、IEEE Conference on Computer Vision and Pattern Recognition (2006)、２００６年
【非特許文献３】James Philbin、外４名、”Object retrieval with large vocabularies and fast spatial matching”、 IEEE Conference on Computer Vision and Pattern Recognition (2007)、２００７年
【０００５】
Visual Wordsでは、それぞれの画像に含まれるすべての特徴点について、局所特徴量を１２８次元のベクトル（特徴量ベクトルともいう）として算出し、その特徴量ベクトルをベクトル空間内にプロットする。そして、データベースの全画像についてすべての特徴量ベクトルのプロットが完了した後、ある程度のプロットのまとまり（近くに集まっているプロットのグループ）を基準にして、ベクトル空間を複数の部分空間（小さな部屋）に分割する処理（クラスタリング処理という）を行う。この場合、データベース内のすべての特徴点の局所特徴量をメモリ上に展開してクラスタリング処理を行う。そして、各部分空間と各画像との対応関係を示す検索テーブル（検索インデックスともいう）を作成する。Visual Wordsでは、この検索テーブルを用いて画像検索が行われるので、データベースの画像が多くても計算量が少なくて済む。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のVisual Wordsを用いた方法では、一旦、検索テーブルの準備ができてしまえば、データベースの画像が多くても少ない計算量で高精度の画像検索を行うことができるものの、その準備（特にクラスタリング処理）のために大容量のメモリ（作業用メモリ）が必要であるという問題があった。
【０００７】
特に、データベースに大量の画像が格納されている場合、すべての特徴点の局所特徴量をメモリ上に展開すると、クラスタリング処理のためのメモリ消費が非常に大きくなるという問題があった。例えば、データベースに数百万枚の画像が格納されている場合、一つの画像に数千個の特徴点が含まれているとすると、そのすべての特徴点の局所特徴量を１２８次元のベクトルで表してベクトル空間にプロットするためには、少なくとも数十〜数百ＧＢという膨大なメモリ容量が必要となる。この場合、ＨＤＤを仮想メモリとして代用することも考えられるが、その場合にはクラスタリング処理の実行速度が大幅に低下してしまうという問題がある。
【０００８】
そして、一旦、検索テーブルの準備が完了した後に、データベースを更新（新たな画像を追加）しようとした場合、再度、すべての特徴点の局所特徴量をメモリ上に展開して、クラスタリング処理を行う必要があるという問題があった。したがって、逐次的に（新たな画像がデータベースに追加される度に）データベースを更新することが容易でないという問題があった。
【０００９】
本発明は、上記の課題に鑑みてなされたもので、データベースに大量の画像が格納される場合であっても、クラスタリング処理のために必要なメモリ容量が少なくて済み、また、データベースを逐次的に更新することができる画像検索用データベース装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の画像検索用データベース装置は、画像検索用の複数の画像が登録される画像検索用データベース装置であって、各画像に含まれる複数の特徴点の各々の局所特徴量が特徴量ベクトルとして表され、複数の前記特徴量ベクトルが含まれるベクトル空間においてクラスタリング処理が行われ前記ベクトル空間が複数の部分空間に分割され、各部分空間と各画像との対応関係を示す検索テーブルが生成されており、前記画像検索用データベース装置は、前記クラスタリング処理に用いるために、前記ベクトル空間における前記部分空間の範囲を記憶する作業用記憶手段と、前記作業用記憶手段より大きな記憶容量を有し、前記クラスタリング処理に用いるために、前記複数の画像の特徴量ベクトルを各特徴量ベクトルが属する部分空間に関連付けて記憶する大容量記憶手段と、を備えている。
【００１１】
この画像検索用データベース装置によれば、クラスタリング処理のために、作業用記憶手段（メモリなど）に、ベクトル空間における部分空間の範囲を記憶しておき、局所特徴量を表す特徴量ベクトルは、部分空間に関連付けて大容量記憶手段（ＨＤＤなど）に記憶しておけばよい。したがって、データベースに大量の画像が格納される場合であっても、クラスタリング処理のために必要な作業用記憶手段（メモリ）の容量が少なくて済む。
【００１２】
また、本発明の画像検索用データベース装置は、画像検索用の画像として新たに登録される追加の画像に含まれる特徴点の局所特徴量を追加の特徴量ベクトルとして算出するベクトル算出手段と、前記追加の特徴量ベクトルが属する部分空間に関連付けられた特徴量ベクトルを、前記大容量記憶手段から前記作業用記憶手段に読み出す読出し制御手段と、前記読み出した特徴量ベクトルおよび前記追加の特徴量ベクトルに基づいて、前記追加の特徴量ベクトルが属する部分空間においてクラスタリング処理を行って前記部分空間を再分割するクラスタリング処理手段と、を備えてもよい。
【００１３】
これにより、データベースに新たに画像を追加しようとする場合には、追加の画像に含まれる特徴点の特徴量ベクトル（追加の特徴量ベクトル）を算出し、その追加の特徴量ベクトルが属する部分空間に関連付けられた特徴量ベクトルが読み出される。そして、これらの特徴量ベクトルについてクラスタリング処理を行って部分空間を再分割する。このようにして、逐次的に（新たな画像がデータベースに追加される度に）データベースを更新することが可能になる。
【００１４】
また、本発明の画像検索用データベース装置は、前記追加の特徴量ベクトルが属する部分空間における特徴量ベクトルの分離の度合いを示す分離度を算出する分離度算出手段と、前記分離度が所定のしきい値より大きいか否かを判定し、前記分離度が所定のしきい値より大きい場合には、前記部分空間におけるクラスタリング処理を行い、前記分離度が所定のしきい値より小さい場合には、前記部分空間におけるクラスタリング処理を行わないように、前記部分空間におけるクラスタリング処理の制御を行う判定制御手段と、
を備えてもよい。
【００１５】
これにより、部分空間における特徴量ベクトルの分離度に基づいて、その部分空間を分割するクラスタリング処理を行うか否かの判定が行われる。例えば、分離度が大きい場合には、部分空間におけるクラスタリング処理が行われ、分離度が小さい場合には、部分空間におけるクラスタリング処理は行われない。このように、部分空間における特徴量ベクトルの分離度に応じた適切なクラスタリング処理が行われる。
【００１６】
また、本発明の画像検索用データベース装置は、前記クラスタリング処理手段によって前記部分空間が再分割された場合に、前記検索テーブルにおいて、前記分割された部分空間と各画像との対応関係を更新するテーブル更新手段を備えてもよい。
【００１７】
これにより、クラスタリング処理によって部分空間が再分割された場合には、それに応じて検索テーブルが適切に更新される。したがって、逐次的なデータベースの更新が反映された画像検索が可能になる。
【００１８】
本発明の画像検索用データベース管理方法は、画像検索用の複数の画像が登録される画像検索用データベースの管理方法であって、前記画像検索用データベースでは、各画像に含まれる複数の特徴点の各々の局所特徴量が特徴量ベクトルとして表され、複数の前記特徴量ベクトルが含まれるベクトル空間においてクラスタリング処理が行われ前記ベクトル空間が複数の部分空間に分割され、各部分空間と各画像との対応関係を示す検索テーブルが生成されており、前記画像検索用データベース管理方法は、前記クラスタリング処理に用いるために、作業用記憶手段に、前記ベクトル空間における前記部分空間の範囲を記憶することと、前記クラスタリング処理に用いるために、前記作業用記憶手段より大きな記憶容量を有する大容量記憶手段に、前記複数の画像の特徴量ベクトルを各特徴量ベクトルが属する部分空間に関連付けて記憶することと、を含んでいる。
【００１９】
この方法によれば、クラスタリング処理のために、作業用記憶手段（メモリなど）に、ベクトル空間における部分空間の範囲を記憶しておき、局所特徴量を表す特徴量ベクトルは、部分空間に関連付けて大容量記憶手段（ＨＤＤなど）に記憶しておけばよい。したがって、データベースに大量の画像が格納される場合であっても、クラスタリング処理のために必要な作業用記憶手段（メモリ）の容量が少なくて済む。
【００２０】
また、本発明の画像検索用データベース管理方法は、画像検索用の画像として新たに登録される追加の画像に含まれる特徴点の局所特徴量を追加の特徴量ベクトルとして算出することと、前記追加の特徴量ベクトルが属する部分空間に関連付けられた特徴量ベクトルを、前記大容量記憶手段から前記作業用記憶手段に読み出すことと、前記読み出した特徴量ベクトルおよび前記追加の特徴量ベクトルに基づいて、前記追加の特徴量ベクトルが属する部分空間においてクラスタリング処理を行って前記部分空間を再分割することと、
を含んでもよい。
【００２１】
これにより、データベースに新たに画像を追加しようとする場合には、追加の画像に含まれる特徴点の特徴量ベクトル（追加の特徴量ベクトル）を算出し、その追加の特徴量ベクトルが属する部分空間に関連付けられた特徴量ベクトルが読み出される。そして、これらの特徴量ベクトルについてクラスタリング処理を行って部分空間を再分割する。このようにして、逐次的に（新たな画像がデータベースに追加される度に）データベースを更新することが可能になる。
【００２２】
本発明の画像検索用データベース管理プログラムは、画像検索用の複数の画像が登録される画像検索用データベースの管理プログラムであって、前記画像検索用データベースでは、各画像に含まれる複数の特徴点の各々の局所特徴量が特徴量ベクトルとして表され、複数の前記特徴量ベクトルが含まれるベクトル空間においてクラスタリング処理が行われ前記ベクトル空間が複数の部分空間に分割され、各部分空間と各画像との対応関係を示す検索テーブルが生成されており、前記画像検索用データベース管理プログラムは、コンピュータに、前記クラスタリング処理に用いるために、作業用記憶手段に、前記ベクトル空間における前記部分空間の範囲を記憶する処理と、前記クラスタリング処理に用いるために、前記作業用記憶手段より大きな記憶容量を有する大容量記憶手段に、前記複数の画像の特徴量ベクトルを各特徴量ベクトルが属する部分空間に関連付けて記憶する処理と、を実行させるものである。
【００２３】
このプログラムによっても、クラスタリング処理のために、作業用記憶手段（メモリなど）に、ベクトル空間における部分空間の範囲を記憶しておき、局所特徴量を表す特徴量ベクトルは、部分空間に関連付けて大容量記憶手段（ＨＤＤなど）に記憶しておけばよい。したがって、データベースに大量の画像が格納される場合であっても、クラスタリング処理のために必要な作業用記憶手段（メモリ）の容量が少なくて済む。
【００２４】
また、本発明の画像検索用データベース管理プログラムは、コンピュータに、画像検索用の画像として新たに登録される追加の画像に含まれる特徴点の局所特徴量を追加の特徴量ベクトルとして算出する処理と、前記追加の特徴量ベクトルが属する部分空間に関連付けられた特徴量ベクトルを、前記大容量記憶手段から前記作業用記憶手段に読み出す処理と、前記読み出した特徴量ベクトルおよび前記追加の特徴量ベクトルに基づいて、前記追加の特徴量ベクトルが属する部分空間においてクラスタリング処理を行って前記部分空間を再分割する処理と、を実行させてもよい。
【００２５】
これにより、データベースに新たに画像を追加しようとする場合には、追加の画像に含まれる特徴点の特徴量ベクトル（追加の特徴量ベクトル）を算出し、その追加の特徴量ベクトルが属する部分空間に関連付けられた特徴量ベクトルが読み出される。そして、これらの特徴量ベクトルについてクラスタリング処理を行って部分空間を再分割する。このようにして、逐次的に（新たな画像がデータベースに追加される度に）データベースを更新することが可能になる。
【発明の効果】
【００２６】
本発明によれば、ベクトル空間における部分空間の範囲を記憶する作業用記憶手段と、部分空間に関連付けて特徴量ベクトルを記憶する大容量記憶手段とを設けることにより、データベースに大量の画像が格納される場合であっても、クラスタリング処理のために必要なメモリ容量が少なくて済み、また、データベースを逐次的に更新することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態の画像検索用データベース装置について、図面を用いて説明する。本実施の形態では、Visual Wordsを用いた画像検索用データベース等に用いられる装置の場合を例示する。この装置は、画像検索用データベースの管理する機能を備えており、この機能は、装置のメモリやＨＤＤ等に記憶されたプログラムによって実現される。
【００２８】
まず、本発明の実施の形態の画像検索用データベース装置（単にデータベース装置ともいう）の構成を、図面を用いて説明する。
【００２９】
図１は、本実施の形態のデータベース装置の全体構成を説明するためのブロック図である。図１に示すように、データベース装置１は、入力された画像を受け付けて画像データベース２に登録する画像受付部３と、複数の画像（入力された画像または登録された画像）から処理対象の画像を選択する画像選択部４と、選択された画像から特徴点を抽出する特徴点抽出部５と、抽出した特徴点の局所特徴量を算出する局所特徴量算出部６を備えている。
【００３０】
また、データベース装置１は、特徴点の局所特徴量を高次元（例えば１２８次元）のベクトル（特徴量ベクトル）として算出するベクトル算出部７と、特徴量ベクトルが含まれるベクトル空間においてクラスタリング処理を行うクラスタリング処理部８を備えている。クラスタリング処理によって、ベクトル空間が複数の部分空間（Visual Wordとも呼ばれる小さな部屋）に分割される。ここでは、局所特徴量を１２８次元のベクトルで表す例について説明するが、本発明の範囲はこれに限定されるものではない。なお、このクラスタリング処理の内容については、図面を用いて後述する。
【００３１】
ここで、クラスタリング処理部８の構成について、図２を用いて説明する。図２に示すように、クラスタリング処理部８は、ベクトル空間における部分空間の範囲として、部分空間の代表点（例えば重心など）を表す代表ベクトルを算出する代表ベクトル算出部９を備えている。また、クラスタリング処理部８は、部分空間における特徴量ベクトルの分離の度合いを示す分離度を算出する分離度算出部１０と、分離度に基づいて部分空間におけるクラスタリングを行うか否かを判定する判定制御部１１を備えている。ここでは、分離度算出部１０が、本発明の分離度算出手段に相当し、判定制御部１１が、本発明の判定制御手段に相当する。なお、この分離度に基づく判定制御の内容についても、図面を用いて後述する。
【００３２】
図１に戻って、データベース装置１の構成の説明を続ける。データベース装置１は、データ処理速度が速く比較的小容量のメモリ１２と、メモリ１２よりデータ処理速度は遅いものの大きな記憶容量を有する大容量のＨＤＤ１３（ハードディスクドライブ）と、メモリ１２やＨＤＤ１３への書込みや読出しを制御する記憶制御部１４を備えている。メモリ１２には、ベクトル空間における部分空間の範囲として代表ベクトルが記憶され、ＨＤＤ１３には、その特徴量ベクトルが属する部分空間に関連付けて特徴量ベクトルが記憶される。ここでは、メモリ１２が、本発明の作業用記憶手段に相当し、ＨＤＤ１３が、本発明の大容量記憶手段に相当する。
【００３３】
ベクトル算出部７は、画像データベース２に新たに登録される画像（追加の画像）についても、特徴点の局所特徴量を特徴量ベクトル（追加の特徴量ベクトル）として算出する。記憶制御部１４は、追加の特徴量ベクトルが属する部分空間に関連付けられた特徴量ベクトルをＨＤＤ１３からメモリ１２に読み出す。そして、クラスタリング処理部８は、その部分空間においてクラスタリング処理を行って部分空間を再分割する機能を備えている。したがって、このベクトル算出部７が、本発明のベクトル算出手段に相当し、記憶制御部１４が、本発明の読出し制御手段に相当する。また、クラスタリング処理部８は、本発明のクラスタリング処理手段に相当する。
【００３４】
また、データベース装置１は、クラスタリング処理の結果に基づいて、各部分空間と各画像との対応関係を示す検索テーブルを生成する検索テーブル生成部１５と、生成した検索テーブルを記憶する検索テーブル記憶部１６を備えている。この検索テーブル生成部１５は、部分空間が再分割されたときに検索テーブルを更新する機能を備えている。したがって、この検索テーブル生成部１５は、本発明の検索テーブル更新手段に相当する。そして、データベース装置１は、この検索テーブルを用いて画像検索を行う検索処理部１７を備えている。検索テーブルおよび画像検索の内容については、図面を用いて後述する。
【００３５】
以上のように構成されたデータベース装置１について、図面を用いてその動作を説明する。ここでは、本発明の特徴的な３つの動作、すなわち、画像データベース２の初期化（１枚目の画像の登録）、画像データベース２の更新（２枚目以降の画像の登録）、画像検索を中心に説明する。
【００３６】
（画像データベースの初期化）
まず、図３〜図６を参照して、本実施の形態のデータベース装置１において、画像データベース２の初期化（１枚目の画像の登録）を行うときの動作について説明する。
【００３７】
画像データベース２の初期化を行うときには、まず、画像選択部４によって最初に登録する画像が選択される。図３の例では、コンピュータの画像ａが選択されている。そして、特徴抽出部５によってこの画像ａに含まれる特徴点が抽出される。この例では、コンピュータの角部などの８つの特徴的な部分が特徴点（図８では黒丸印として図示）として抽出されている。なお、ここでは、説明の便宜のため、特徴点の数を８つとしたが、特徴点の数がこれに限られないことは言うまでもない。
【００３８】
つぎに、局所特徴量算出部６によってこれらの特徴点の局所特徴量が計算され、ベクトル算出部７によって局所特徴量が１２８次元の特徴量ベクトルとして表される。そして、この特徴量ベクトルが１２８次元のベクトル空間（特徴量空間ともいえる）にプロットされる。図３では、ａ１〜ａ８の８つの特徴量ベクトルがベクトル空間にプロットされた例が図示されている。なお、この図では、説明の便宜のため、ベクトル空間が２次元として図示されている。
【００３９】
クラスタリング処理部８は、ベクトル空間においてクラスタリング処理を行って、このベクトル空間を複数の部分空間に分割する。図４では、ベクトル空間が３つの部分空間（部分空間Ａ〜Ｃ）に分割された例が図示されている。クラスタリング処理（部分空間への分割）では、ある程度まとまった特徴量ベクトルごとに１つの部分空間が割り当てられる。このクラスタリング処理は、特徴量ベクトルの分離の度合い（または、まとまりの度合い）に基づいて行われる。この特徴量ベクトルの分離の度合いを表す分離度として、例えば分散比（＝クラス内分散／クラス外分散）などが用いられる。
【００４０】
そして、代表ベクトル算出部９によって、各部分空間の範囲として代表ベクトルが算出される。例えば、部分空間に含まれる複数の特徴量ベクトルの重心ベクトルなどが、代表ベクトルとして算出される。図４の例では、部分空間Ａの代表ベクトルは、特徴量ベクトルａ１〜ａ４の重心ベクトル（図では丸Ａ印で図示されている）であり、部分空間Ｂの代表ベクトルは、特徴量ベクトルａ７、ａ８の重心ベクトル（図では丸Ｂ印で図示されている）であり、部分空間Ｃの代表ベクトルは、特徴量ベクトルａ５、ａ６の重心ベクトル（図では丸Ｃ印で図示されている）である。
【００４１】
このようなクラスタリング処理の結果に基づいて、検索テーブル作成部は、図５に示すような検索テーブルを作成する。検索テーブルは、各部分空間と各画像との対応関係を示すテーブルであり、この場合、部分空間Ａ〜Ｃと画像ａとの関係が示されている。つまり、図５の例では、部分空間Ａ〜Ｃと画像ａが対応していることが示されている。
【００４２】
上記のようなクラスタリング処理の結果として得られた代表ベクトルは、記憶制御部１４によってメモリ１２に記憶される。また、このときクラスタリング処理された特徴量ベクトルは、どの部分空間に属するかという情報を関連付けて、ＨＤＤ１３に記憶される。つまり、メモリ１２には、各部分空間の代表ベクトルのみが記憶され、ＨＤＤ１３には、各部分空間に属する特徴量ベクトルが部分空間に関連付けて記憶される。この場合、メモリ１２には、部分空間の範囲が記憶されており、ＨＤＤ１３には、部分空間を表す識別ラベル（Ａ、Ｂ、Ｃなど）と、その部分空間に属する特徴量ベクトルが記憶されているともいえる。
【００４３】
図６の例では、メモリ１２に、３つの部分空間（部分空間Ａ〜Ｃ）の代表ベクトルが記憶される。画像の数や特徴点の数が多い場合であっても、メモリ１２は代表ベクトルのみを記憶すればよく、メモリ１２の容量は小さくて済む。一方、ＨＤＤ１３には、部分空間Ａに属する特徴量ベクトルとして４つの特徴量ベクトルａ１〜ａ４が記憶され、部分空間Ｂに属する特徴量ベクトルとして２つの特徴量ベクトルａ７、ａ８が記憶され、部分空間Ｃに属する特徴量ベクトルとして２つの特徴量ベクトルａ５、ａ６が記憶される。画像の数や特徴点の数が多い場合、これらの特徴量ベクトルのデータ量は膨大になるため、ＨＤＤ１３は大容量の記憶容量が必要になる。
【００４４】
（画像データベースの更新）
つぎに、図７〜図１１を参照して、本実施の形態のデータベース装置１において、画像データベース２の更新（２枚目以降の画像の登録）を行うときの動作について説明する。ここでは、図３〜図６で説明した初期化が行われた画像データベース２に２枚目の画像を追加するときの動作を例示して説明する。
【００４５】
画像データベース２の更新を行うときには、まず、画像選択部４によって次に登録する画像が選択される。図７の例では、コンピュータの画像ｂが選択されている。そして、特徴抽出部５によってこの画像ｂに含まれる特徴点が抽出される。通常、画像ｂからは複数の特徴点が抽出され、以下の処理は複数の特徴点の各々について行われるが、ここでは、説明の便宜のため、まず、１つの特徴点について説明する。
【００４６】
図７では、特徴抽出部５によって画像ｂに含まれる１つ目の特徴点（図７では黒三角印として図示）が抽出されている。そして、この特徴点について、局所特徴量算出部６によって局所特徴量が計算され、ベクトル算出部７によって追加の特徴量ベクトルとして表され、図７に示すようにベクトル空間にプロットされる。この場合、追加の特徴量ベクトルｂ１は、部分空間Ａにプロットされている。
【００４７】
このような場合、記憶制御部１４は、この追加の特徴量ベクトルｂ１が属する部分空間Ａに関連付けられた特徴量ベクトルａ１〜ａ４をＨＤＤ１３からメモリ１２に読み出して、図８に示すように、特徴量ベクトルａ１〜ａ４をベクトル空間（部分空間Ａ）にプロットする。
【００４８】
そして、クラスタリング処理部８は、部分空間Ａにおいてクラスタリング処理を行って、この部分空間Ａを複数の部分空間に再分割する。図９では、部分空間Ａが２つの部分空間（部分空間ＡとＤ）に再分割された例が図示されている。このクラスタリング処理も、上記と同様、部分空間における特徴量ベクトルの分離度に基づいて行われる。この場合にも、分離度として、例えば分散比（＝クラス内分散／クラス外分散）などが用いられる。この分離度は、分離度算出部１０で算出され、判定制御部１１は、この分離度が所定のしきい値より大きいか否かを判定する。この場合、分離度がしきい値より大きいと判定され、部分空間Ａがクラスタリング処理によって再分割されている。
【００４９】
なお、本発明の分離度は、上記の分散比に限られるものではない。この分離度として、例えば、部分空間に含まれる特徴量ベクトルの数などが用いられてもよい。その場合、判定制御部１１は、部分空間に含まれる特徴量ベクトルの数が所定の数（しきい値）以上になったときに、その部分空間の再分割を行うように部分空間におけるクラスタリング処理を制御してもよい。
【００５０】
部分空間の再分割が行われると、代表ベクトル算出部９によって、再分割された部分空間の代表ベクトルが算出される。この場合、再分割された部分空間Ａの代表ベクトルは、特徴量ベクトルａ１とａ２の重心ベクトル（図では丸Ａ印で図示されている）であり、部分空間Ｄの代表ベクトルは、特徴量ベクトルａ３、ａ４、ｂ１の重心ベクトル（図では丸Ｄ印で図示されている）である。
【００５１】
このような部分空間Ａのクラスタリング処理の結果に基づいて、検索テーブル作成部は、図１０に示すように検索テーブルの更新を行う。この場合、検索テーブルにおいて、部分空間Ａに画像ｂの対応が追加されるとともに、新たに部分空間Ｄの項目が追加され、部分空間Ｄには画像ａが対応するように検索テーブルの更新が行われる。
【００５２】
また、図１１に示すように、部分空間Ａのクラスタリング処理の結果として得られた代表ベクトルが、記憶制御部１４によってメモリ１２に記憶される。また、部分空間Ａのクラスタリング処理の結果、クラスタリング処理された特徴量ベクトルが、部分空間に情報を関連付けてＨＤＤ１３に記憶される。図１１の例では、メモリ１２の記憶データが更新されて、２つの部分空間ＡとＤの代表ベクトルが記憶される。また、ＨＤＤ１３の記憶データが更新されて、部分空間Ａに属する特徴量ベクトルとして２つの特徴量ベクトルａ１、ａ２が記憶され、部分空間Ｄに属する特徴量ベクトルとして３つの特徴量ベクトルａ３、ａ４、ｂ１が記憶される。
【００５３】
（画像データベースの更新の他の例）
以上の説明では、画像データベース２の更新を行うときに部分空間の再分割が行われる例について説明した。つづいて、図１２〜図１５を参照して、画像データベース２の更新を行うときに部分空間の再分割が行われない例について説明する。ここでは、図７〜図１１で説明した画像ｂに含まれる１つ目の特徴点の抽出に続いて、２つ目の特徴点を抽出したときの動作を例にして説明する。
【００５４】
図１２では、特徴抽出部５によって画像ｂに含まれる２つ目の特徴点（図１２では黒三角印として図示）が抽出されている。そして、この特徴点についても、局所特徴量算出部６によって局所特徴量が計算され、ベクトル算出部７によって追加の特徴量ベクトルとして表され、図１２に示すようにベクトル空間にプロットされる。この場合、追加の特徴量ベクトルｂ２は、部分空間Ｄにプロットされている。
【００５５】
つぎに、記憶制御部１４は、この追加の特徴量ベクトルｂ２が属する部分空間Ｄに関連付けられた特徴量ベクトルａ３、ａ４、ｂ１をＨＤＤ１３からメモリ１２に読み出して、図１３に示すように、特徴量ベクトルａ３、ａ４、ｂ１をベクトル空間（部分空間Ｄ）にプロットする。
【００５６】
この場合、部分空間Ｄに属する特徴量ベクトルがある程度まとまっており（あまり分離しておらず）、部分空間Ｄにおける特徴量ベクトルの分離度が、しきい値より小さいと判定される。したがって、クラスタリング処理部８は、部分空間Ｄにおいてクラスタリング処理を行わない。
【００５７】
その後、代表ベクトル算出部９によって、部分空間Ｄの代表ベクトルが算出される。なお、この場合の部分空間Ｄの代表ベクトルは、特徴量ベクトルａ３、ａ４、ｂ１、ｂ２の重心ベクトル（図では丸Ｄ印で図示されている）である。
【００５８】
このような特徴量ベクトルｂ２の追加に基づいて、検索テーブル作成部は、図１４に示すように検索テーブルの更新を行う。この場合、検索テーブルにおいて、部分空間Ｄに、画像ａと画像ｂが対応するように検索テーブルの更新が行われる。
【００５９】
また、図１５に示すように、特徴量ベクトルｂ２の追加の結果として得られた代表ベクトルが、記憶制御部１４によってメモリ１２に記憶される。また、特徴量ベクトルｂ２の追加の結果、ＨＤＤ１３に記憶されている部分空間と特徴量ベクトルの関連付けが更新される。図１５の例では、部分空間Ｄに追加の特徴量ベクトルｂ２が追加される。
【００６０】
（画像検索）
最後に、図１６〜図２０を参照して、本実施の形態のデータベース装置１において、画像検索を行うときの動作について説明する。ここでは、上記のような初期化・更新によって生成された画像データベース２を用いて画像検索する例を説明する。
【００６１】
まず、画像検索に用いられる画像データベース２について説明する。図１６には、コンピュータの３つの画像（画像ａ〜ｃ）が画像データベース２に登録されたときの特徴量ベクトルのプロットが例示されている。この例では、画像ａから８つの特徴点が抽出され、８つの特徴量ベクトル（ａ１〜ａ８）がプロットされている。また、画像ｂからは６つの特徴点が抽出され、６つの特徴量ベクトル（ｂ１〜ｂ６）がプロットされている。また、画像ｃからは６つの特徴点が抽出され、６つの特徴量ベクトル（ｃ１〜ｃ６）がプロットされている。そして、ベクトル空間は、７つの部分空間（部分空間Ａ〜Ｇ）に分割されている。なお、図１６の例では、説明の便宜上、画像データベース２に３つの画像が登録された例について説明するが、画像の数はこれに限定されないことは言うまでもない。
【００６２】
上記のような例では、図１７に示すような検索テーブルが作成される。この検索テーブルでは、部分空間Ａには画像ａとｃが対応し、部分空間Ｂには画像ａとｃが対応している。また、部分空間Ｃには画像ａが対応し、部分空間Ｄには画像ｂが対応している。さらに、部分空間Ｅには画像ａとｂが対応し、部分空間Ｆには画像ｂとｃが対応している。そして、部分空間Ｇには画像ａ〜ｃが対応している。
【００６３】
なお、この場合、図１８に示すように、メモリ１２には、部分空間Ａ〜Ｇの代表ベクトルが記憶されており、ＨＤＤ１３には、部分空間に属する特徴量ベクトルがその部分空間に関連付けて記憶されている。具体的には、部分空間Ａに属する特徴量ベクトルとして３つの特徴量ベクトルａ１、ａ２、ｃ１が記憶され、部分空間Ｂに属する特徴量ベクトルとして３つの特徴量ベクトルａ７、ａ８、ｃ６が記憶されている。また、部分空間Ｃに属する特徴量ベクトルとして２つの特徴量ベクトルａ５、ａ６が記憶され、部分空間Ｄに属する特徴量ベクトルとして３つの特徴量ベクトルｂ２、ｂ３、ｂ４が記憶されている。また、部分空間Ｅに属する特徴量ベクトルとして２つの特徴量ベクトルａ３、ｂ１が記憶され、部分空間Ｆに属する特徴量ベクトルとして２つの特徴量ベクトルｂ５、ｃ５が記憶されている。そして、部分空間Ｇに属する特徴量ベクトルとして５つの特徴量ベクトルａ４、ｂ６、ｃ２、ｃ３、ｃ４が記憶されている。
【００６４】
つぎに、検索テーブルを用いた画像検索の動作について説明する。画像検索を行うときには、まず、図１９に示すように、画像選択部４によって入力画像が選択され、特徴抽出部５によってこの入力画像に含まれる特徴点が抽出される。この例では、６つの特徴点（図１９では黒星印として図示）が抽出されている。
【００６５】
つぎに、局所特徴量算出部６によってこれらの特徴点の局所特徴量が計算され、ベクトル算出部７によって局所特徴量が特徴量ベクトルとして表される。そして、この特徴量ベクトルがベクトル空間にプロットされる。図１９の例では、部分空間Ｄ、Ｅ、Ｆ、Ｇに、特徴量ベクトルがプロットされている。
【００６６】
検索処理部１７は、検索テーブルを読み出して、上記の特徴量ベクトルがプロットされた部分空間（部分空間Ｄ、Ｅ、Ｆ、Ｇ）に対応する画像の数をカウントする。図２０の例では、部分空間Ｄ、Ｅ、Ｆ、Ｇに対応する画像ａの数は２つであり、部分空間Ｄ、Ｅ、Ｆ、Ｇに対応する画像ｂの数は４つであり、部分空間Ｄ、Ｅ、Ｆ、Ｇに対応する画像ｃの数は２つである。その結果、画像ｂの数が最も多いことが分かる。したがって、この場合、入力画像に最も類似する画像として、画像ｂという検索結果が得られることになる。
【００６７】
このようなVisual Wordsを用いた検索では、入力した画像の局所特徴量が、どの部分空間（Visual Word）に属するかのみを判定すればよいため、極めて高速に検索を実行することができる。なお、特徴量ベクトルがどの部分空間（Visual Word）に属するかは、例えばBest-Bin-Firstアルゴリズムなどの最近傍点探索アルゴリズムを用いることによって、効率的に見つけることができる。
【００６８】
このような本実施の形態の画像検索用データベース装置１によれば、ベクトル空間における部分空間の範囲を記憶するメモリ１２と、部分空間に関連付けて特徴量ベクトルを記憶するＨＤＤ１３とを設けることにより、データベースに大量の画像が格納される場合であっても、クラスタリング処理のために必要なメモリ１２の容量が少なくて済み、また、データベースを逐次的に更新することができる。
【００６９】
すなわち、本実施の形態では、クラスタリング処理のために、部分空間の代表ベクトルをメモリ１２に記憶しておき、局所特徴量を表す特徴量ベクトルは、部分空間に関連付けてＨＤＤ１３に記憶しておけばよい。したがって、データベースに大量の画像が格納される場合であっても、クラスタリング処理のために必要なメモリ１２の容量が少なくて済む。
【００７０】
また、本実施の形態では、データベースに新たに画像を追加しようとする場合に、追加の画像に含まれる特徴点の特徴量ベクトル（追加の特徴量ベクトル）を算出し、その追加の特徴量ベクトルが属する部分空間に関連付けられた特徴量ベクトルが、ＨＤＤ１３からメモリ１２に読み出される。そして、これらの特徴量ベクトルについてクラスタリング処理を行って部分空間を再分割する。このようにして、逐次的に（新たな画像がデータベースに追加される度に）データベースを更新することが可能になる。
【００７１】
具体的には、従来のVisual Wordsの方法では、ｎ枚の画像が画像データベース２に登録されている場合、クラスタリング処理の実行に要する計算量ｏ（ｎ）が画像の数ｎに応じて増大する。したがって、データベースに大量の画像が登録されている場合には、クラスタリング処理の実行に非常に時間がかかる。それに対して、本実施の形態では、クラスタリング処理の実行に要する計算量ｏ（１）は画像の数ｎによらない。したがって、データベースに大量の画像が登録されている場合であっても、短時間でクラスタリング処理を実行することができ、逐次的なデータベースの更新が可能になる。
【００７２】
また、本実施の形態では、部分空間における特徴量ベクトルの分離度に基づいて、その部分空間を分割するクラスタリング処理を行うか否かの判定が行われる。例えば、分離度が大きい場合には、部分空間におけるクラスタリング処理が行われ、分離度が小さい場合には、部分空間におけるクラスタリング処理は行われない。これにより、部分空間における特徴量ベクトルの分離度に応じた適切なクラスタリング処理が行われる。
【００７３】
また、本実施の形態では、クラスタリング処理によって部分空間が再分割された場合には、それに応じて検索テーブルが適切に更新される。したがって、逐次的なデータベースの更新が反映された画像検索が可能になる。
【００７４】
以上、本発明の実施の形態を例示により説明したが、本発明の範囲はこれらに限定されるものではなく、請求項に記載された範囲内において目的に応じて変更・変形することが可能である。
【産業上の利用可能性】
【００７５】
以上のように、本発明にかかる画像検索用データベース装置は、データベースに大量の画像が格納される場合であっても、クラスタリング処理のために必要なメモリ容量が少なくて済み、また、データベースを逐次的に更新することができるという効果を有し、Visual Wordsを用いた画像検索用データベース等として有用である。
【図面の簡単な説明】
【００７６】
【図１】本実施の形態における画像検索用データベース装置の構成を示すブロック図である。
【図２】クラスタリング処理部の構成を示すブロック図である。
【図３】１枚目の画像を登録するときの特徴量ベクトルのプロットの説明図である。
【図４】ベクトル空間におけるクラスタリング処理の説明図である。
【図５】１枚目の画像を登録したときの検索テーブルを示す図である。
【図６】メモリおよびＨＤＤに記憶されるデータを示す図である。
【図７】２枚目の画像を登録するときの追加の特徴量ベクトルのプロットの説明図である。
【図８】部分空間における特徴量ベクトルの読出しの説明図である。
【図９】部分空間におけるクラスタリング処理の説明図である。
【図１０】検索テーブルの更新の説明図である。
【図１１】メモリおよびＨＤＤに記憶されるデータを示す図である。
【図１２】２枚目の画像を登録するときの追加の特徴量ベクトルのプロットの説明図である。
【図１３】部分空間における特徴量ベクトルの読出しの説明図である。
【図１４】検索テーブルの更新の説明図である。
【図１５】メモリおよびＨＤＤに記憶されるデータを示す図である。
【図１６】複数の画像が登録されたときの特徴量ベクトルのプロットの説明図である。
【図１７】複数の画像が登録されたときの検索テーブルを示す図である。
【図１８】メモリおよびＨＤＤに記憶されるデータを示す図である。
【図１９】入力画像に含まれる特徴量ベクトルのプロットの説明図である。
【図２０】検索テーブルを用いた画像検索の説明図である。
【符号の説明】
【００７７】
１  データベース装置
２  画像データベース
３  画像受付部
４  画像選択部
５  特徴点抽出部
６  局所特徴量算出部
７  ベクトル算出部
８  クラスタリング処理部
９  代表ベクトル算出部
１０  分離度算出部
１１  判定制御部
１２  メモリ
１３  ＨＤＤ
１４  記憶制御部
１５  検索テーブル生成部
１６  検索テーブル記憶部
１７  検索処理部
【図１】
2010009332.tif 000003
【図２】
2010009332.tif 000004
【図３】
2010009332.tif 000005
【図４】
2010009332.tif 000006
【図５】
2010009332.tif 000007
【図６】
2010009332.tif 000008
【図７】
2010009332.tif 000009
【図８】
2010009332.tif 000010
【図９】
2010009332.tif 000011
【図１０】
2010009332.tif 000012
【図１１】
2010009332.tif 000013
【図１２】
2010009332.tif 000014
【図１３】
2010009332.tif 000015
【図１４】
2010009332.tif 000016
【図１５】
2010009332.tif 000017
【図１６】
2010009332.tif 000018
【図１７】
2010009332.tif 000019
【図１８】
2010009332.tif 000020
【図１９】
2010009332.tif 000021
【図２０】
2010009332.tif 000022