(57)【特許請求の範囲】
【請求項１】
画像を複数のブロックに分割し、各ブロックについて取得された特徴量に応じてラベルを付与する付与手段と、
前記付与手段で付与されたラベルによりラベル行列を生成する生成手段と、
前記生成手段で生成されたラベル行列を前記画像に対応付けて記憶する記憶手段と、
前記記憶手段に記憶されたラベル行列に基づいて画像検索を行う検索手段とを備え、
前記検索手段が、検索元画像のラベル行列より抽出される行単位のラベル列と、比較先画像のラベル行列より抽出される行単位のラベル列とをＤＰマッチングによって対応づける第１マッチング手段と、
前記検索元画像の行並びと、前記第１マッチング手段で得られた行並びとの類似度をＤＰマッチングによって求める第２マッチング手段とを備える
ことを特徴とする画像検索装置。
【請求項２】
前記ラベル行列の行単位のラベル列は、画像の水平方向に対応する並びである
ことを特徴とする請求項１に記載の画像検索装置。
【請求項３】
前記ラベル行列の行単位のラベル列は、画像の垂直方向に対応する並びである
ことを特徴とする請求項１に記載の画像検索装置。
【請求項４】
前記ラベルは、多次元特徴量空間を複数のセルに分割し、得られたセルの夫々に与えられる固有のラベルであり、
前記付与手段は、前記ブロックの夫々について特徴量を算出し、算出された特徴量が属するセルに付与されているラベルを当該ブロックに付与する
ことを特徴とする請求項１に記載の画像検索装置。
【請求項５】
前記第２マッチング手段によって得られた類似度が所定値を越える画像を検索結果として出力する出力手段を更に備える
ことを特徴とする請求項１に記載の画像検索装置。
【請求項６】
前記第１マッチング手段は、各ラベル値のペアについてセル間の距離に基づくペナルティ値を保持するテーブルを有し、前記検索元画像のラベル列と前記比較先画像のラベル列との距離をＤＰマッチング手法を用いて算出するに際して該テーブルを参照する
ことを特徴とする請求項１に記載の画像検索装置。
【請求項７】
前記第２マッチング手段は、行並びにおける各行番号のペアについてペナルティ値を保持するテーブルを有し、前記検索元画像の行並びと前記比較先画像の行並びの類似度をＤＰマッチング手法を用いて算出するに際して、該テーブルを参照する
ことを特徴とする請求項１に記載の画像検索装置。
【請求項８】
前記検索元画像の各ラベル行列間の距離に基づいて、行並びにおける各行番号のペアに対するペナルティー値を決定し、これを保持する保持手段を更に備え、
前記第２マッチング手段は、前記検索元画像の行並びと前記比較先画像の行並びの類似度をＤＰマッチング手法を用いて算出するに際して、前記保持手段で保持されたペナルティー値を参照する
ことを特徴とする請求項１に記載の画像検索装置。
【請求項９】
前記第１マッチング手段は、検索元の画像のラベル列と前記記憶手段に記憶されたラベル列との類似度を演算するにおいて、更にラベル比較の系列伸縮に伴うペナルティー及び制約を付与する
ことを特徴とする請求項６に記載の画像検索装置。
【請求項１０】
前記ラベル比較の系列伸縮に伴うペナルティー及び制約はＤＰマッチングの理論に基づいて取得される
ことを特徴とする請求項９に記載の画像検索装置。
【請求項１１】
前記生成手段で生成されるラベル行列をキーとして画像のＩＤ群を登録する第１テーブルを更に備え、
前記出力手段は、前記検索手段によって算出された類似度が所定値を越えるラベル行列を取得し、前記第１テーブルを参照して取得されたラベル行列に対応する画像を抽出し、これを検索結果として出力する
ことを特徴とする請求項５に記載の画像検索装置。
【請求項１２】
前記検索手段において類似度算出の対象となるラベル行列が、前記第１テーブルのキーとなっているラベル行列である
ことを特徴とする請求項１１に記載の画像検索装置。
【請求項１３】
前記検索手段において類似度算出の対象となるラベル行列は、前記記憶手段に記憶されたラベル行列のうちの前記検索元画像のラベル行列に含まれるラベル成分と同一のラベル成分を所定数以上含むラベル行列である
ことを特徴とする請求項１１に記載の画像検索装置。
【請求項１４】
前記記憶手段に記憶されたラベル行列について、各ラベル成分をキーとして、当該ラベル成分を含むラベル行列群を登録した第２テーブルを更に備え、
前記元画像に含まれるラベル成分と同一のラベル成分を所定数以上含むラベル行列を前記第２テーブル参照して取得し、取得されたラベル行列を前記演算手段における類似度算出の対象とする
ことを特徴とする請求項１３に記載の画像検索装置。
【請求項１５】
記憶手段に記憶された画像より、指定された検索元画像に類似する画像を検索する画像検索装置における画像検索方法であって、
画像特徴量抽出手段が、メモリに格納された画像を複数のブロックに分割し、各ブロックに属する画像データを用いて特徴量を算出する算出工程と、
ラベル付与手段が、前記算出工程で算出された特徴量に応じて各ブロックにラベルを付与する付与工程と、
ラベル行列生成手段が、前記付与工程で各ブロックに付与されたラベルを用いてラベル行列を生成する生成工程と、
前記生成工程で生成されたラベル行列を前記画像に対応付けて前記記憶手段に記憶する記憶工程と、
検索手段が、前記記憶手段に記憶されたラベル行列に基づいて画像検索を行う検索工程とを備え、
前記検索工程は、前記検索手段が、検索元画像の指定に応じて、該検索元画像として指定された画像から前記算出工程、前記付与工程及び前記生成工程により生成されたラベル行列と、比較先画像としての画像に対応して前記記憶手段に記憶されているラベル行列より抽出した行単位のラベル列とをＤＰマッチングによって対応づける第１マッチング工程と、
前記検索元画像の行並びと、前記第１マッチング工程で得られた行並びとの類似度をＤＰマッチングによって求める第２マッチング工程とを備えることを特徴とする画像検索方法。
【請求項１６】
記憶手段に記憶された画像より、指定された検索元画像に類似する画像を検索する画像検索処理をコンピュータに実行させるために、該コンピュータを、
メモリに格納された画像を複数のブロックに分割し、各ブロックに属する画像データを用いて算出した特徴量に応じて各ブロックにラベルを付与する付与手段と、
前記付与手段で各ブロックに付与されたラベルによりラベル行列を生成する生成手段と、
前記生成手段で生成されたラベル行列を前記画像に対応付けて前記記憶手段に記憶させる手段と、
前記記憶手段に記憶されたラベル行列に基づいて画像検索を行う検索手段とを備え、
前記検索手段が、検索元画像の指定に応じて、該検索元画像として指定された画像に対応して記憶されているラベル行列より抽出される行単位のラベル列と、比較先画像としての画像に対応して記憶されているラベル行列より抽出される行単位のラベル列とをＤＰマッチングによって対応づける第１マッチング手段と、
前記検索元画像の行並びと、前記第１マッチング工程で得られた行並びとの類似度をＤＰマッチングによって求める第２マッチング手段とを備える画像検索装置として機能させる制御プログラムを格納したことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像を検索する画像検索装置及び方法に関するものである。
【０００２】
【従来の技術】
従来より類似画像を検索するための種々の技術が提案されている。類似画像検索を自然画像について行うための、ある程度実用化されている技術では、色情報を画像特徴量として用いているものが多い。そして、その多くが、色情報に関するヒストグラムを取ることにより、ＲＧＢの割合や画像中に多く存在する色の組み合わせを用いた検索が殆どである。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記の手法では、色の位置情報が失われてしまうためにその検索精度は必ずしも高くなかった。また、例えば特開平８−２４９３４９号には、画像を複数のブロックに分け夫々の特徴量（代表色）を用いたパターンマッチングが開示されている。しかしながら、この手法では、マッチングを行う２つの画像について各ブロック間の特徴量の距離を計算しなければならず、膨大な計算量が必要となってしまう。特に特徴量として代表色を用いると、ＲＧＢ３個のデータを扱わなければならず、更に計算が複雑なものとなる。また、特徴量そのものを用いて比較を行うので、比較の精度が高くなる反面、画像のアングルが変ったり、物体の位置が変ったりするだけで類似画像検索できなくなってしまうといった問題がある。すなわち、画像のアングルが変ったり、物体の位置が変ったり、あるいは撮影条件による画像特徴量のある程度の違い等を吸収するなど、ある程度の曖昧さを有しながらも適切に画像検索を行うという、いわゆるロバストな類似画像検索を行うことはできなかった。
【０００４】
従って、従来技術において自然画像を検索する場合には、画像にキーワードを付与しておき、このキーワードによって画像検索を行うことが普通であった。しかし、このキーワード付け作業は人手のかかる作業であり、更に、キーワード付けが行われていない画像に関しては、縮小画を提示してマニュアルにて選択するという作業が生じ、検索操作を煩雑なものとしていた。
【０００５】
本発明は上記の問題点に鑑みてなされたものであり、画像の特徴量の配置を考慮した高速な類似画像の検索を可能とする画像検索装置及び方法を提供することを目的とする。
【０００６】
また、本発明の他の目的は、撮影アングルや撮影倍率等の撮影条件の変動等による画像の変化を効果的に吸収した類似画像検索を可能とする画像検索装置及び方法を提供することにある。
【０００７】
【課題を解決するための手段】
上記の目的を達成するための本発明の画像検索装置は以下の構成を備える。即ち、
画像を複数のブロックに分割し、各ブロックについて取得された特徴量に応じてラベルを付与する付与手段と、
前記付与手段で付与されたラベルによりラベル行列を生成する生成手段と、
前記生成手段で生成されたラベル行列を前記画像に対応付けて記憶する記憶手段と、
前記記憶手段に記憶されたラベル行列に基づいて画像検索を行う検索手段とを備え、
前記検索手段が、検索元画像のラベル行列より抽出される行単位のラベル列と、比較先画像のラベル行列より抽出される行単位のラベル列とをＤＰマッチングによって対応づける第１マッチング手段と、
前記検索元画像の行並びと、前記第１マッチング手段で得られた行並びとの類似度をＤＰマッチングによって求める第２マッチング手段とを備える。
【０００８】
また、上記の目的を達成する本発明の画像検索方法は以下の工程を備えている。即ち、
記憶手段に記憶された画像より、指定された検索元画像に類似する画像を検索する画像検索装置における画像検索方法であって、
画像特徴量抽出手段が、メモリに格納された画像を複数のブロックに分割し、各ブロックに属する画像データを用いて特徴量を算出する算出工程と、
ラベル付与手段が、前記算出工程で算出された特徴量に応じて各ブロックにラベルを付与する付与工程と、
ラベル行列生成手段が、前記付与工程で各ブロックに付与されたラベルを用いてラベル行列を生成する生成工程と、
前記生成工程で生成されたラベル行列を前記画像に対応付けて前記記憶手段に記憶する記憶工程と、
検索手段が、前記記憶手段に記憶されたラベル行列に基づいて画像検索を行う検索工程とを備え、
前記検索工程は、前記検索手段が、検索元画像の指定に応じて、該検索元画像として指定された画像から前記算出工程、前記付与工程及び前記生成工程により生成されたラベル行列と、比較先画像としての画像に対応して前記記憶手段に記憶されているラベル行列より抽出した行単位のラベル列とをＤＰマッチングによって対応づける第１マッチング工程と、
前記検索元画像の行並びと、前記第１マッチング工程で得られた行並びとの類似度をＤＰマッチングによって求める第２マッチング工程とを備える。
【０００９】
【発明の実施の形態】
以下、添付の図面を参照して本発明の好適な一実施形態を説明する。
【００１０】
図１は本実施形態の画像検索装置の制御構成を示すブロック図である。同図において、１０１はＣＰＵであり、本実施形態の画像検索装置における各種制御を実行する。１０２はＲＯＭであり、本装置の立ち上げ時に実行されるブートプログラムや各種データを格納する。１０３はＲＡＭであり、ＣＰＵ１０１が処理するための制御プログラムを格納するとともに、ＣＰＵ１０１が各種制御を実行する際の作業領域を提供する。１０４はキーボード、１０５はマウスであり、ユーザによる各種入力操作環境を提供する。
【００１１】
１０６は外部記憶装置であり、ハードディスクやフロッピーディスク、ＣＤ−ＲＯＭ等で構成される。１０７はネットワークインターフェースであり、ネットワーク上の各機器との通信を可能とする。１０９はインターフェース、１１０は画像読み取りのためのスキャナである。また、１１１は上記の各構成を接続するバスである。
【００１２】
なお、上記の構成においてスキャナ１１０や外部記憶装置１０６はネットワーク上に配置されたもので代用してもよい。
【００１３】
図２は本実施形態の画像検索装置の機能構成を示すブロック図である。同図において、１１はユーザインターフェース部であり、表示器１０７、キーボード１０４及びマウス１０５を用いて、ユーザからの各種の操作入力を検出する。１２は画像入力部であり、スキャナ１１０による画像の読み取りを行う。１３は画像メモリであり、画像入力部１２によって得られたイメージデータをＲＡＭ１０３の所定の領域に格納する。１４は画像特徴量抽出部であり、画像メモリ１３に格納した画像について、後述の手順で特徴量を抽出する。１５は特徴量ラベル行列化部であり、画像特徴量抽出部１４によって得られた特徴量に基づいてラベル行列を生成する。１６はパターンマッチング部であり、指定された画像のラベル行列と、画像蓄積部１７に蓄積されている画像のラベル行列に対し、後述の２次元ＤＰマッチングを用いて類似度を算出する。
【００１４】
１７は画像蓄積部であり、画像入力部１２等によって得られた画像データを蓄積する。図３は画像蓄積部１７における画像データの格納状態を説明する図である。各画像データ１１２には画像ＩＤ１１１が付与され、画像蓄積部１７にはこれらが対になって保持される。１８は画像管理データベース（以下、画像管理ＤＢ）であり、図８で示されるデータ形態で画像蓄積部１７に格納された画像データを管理する。また、１９はラベル行列インデックスであり、図９で示されるラベル系列インデックスや図１１に示されるラベル成分インデックスファイルを格納する。
【００１５】
以上のような構成を備えた本実施形態の画像検索装置の動作例を以下に説明する。なお、以下の例では色に着目した画像特徴量として、赤（Ｒ）、緑（Ｇ）、青（Ｂ）の三色を採用し、３次元の色空間での処理を用いて説明する。
【００１６】
［画像の登録処理］
先ず画像登録の際に行う処理を説明する。図４は本実施形態による画像登録処理の手順を表すフローチャートである。まず、ステップＳ１１において、ユーザーインターフェース部１１を介しての指示により、画像入力部１２を用いて画像を読み込み、画像メモリ１３に保持する。次に、ステップＳ１２において、この画像を複数のブロックに分割する。本実施形態では、画像を縦横の複数ブロックに分割する。図５は本実施形態による画像のブロック分割例を示す図である。同図に示されるように、本実施形態では、３×３の計９個に画像を分割するものとする。次にステップＳ１３において、分割された各ブロックの特徴量を算出し、得られた特徴量を次の手順でラベル化する。なお、本実施形態で用いる３×３屁の分割はあくまで説明のためのものである。実際には、自然がであれば１０×１０以上の分割数とするのが好ましい。また、白の無地背景に商品が写っているような場合であれば、１３×１３以上の分割数とするのが好ましい。
【００１７】
図６は本実施形態による多次元特徴量空間を説明する図である。図６に示すように、多次元特徴量空間（ＲＧＢカラー空間）を複数のブロック（色ブロック）、即ちセル（色セル）に分割し、夫々のセル（色セル）に対して通し番号でユニークなラベルを付与する。ここで、多次元特徴用空間（ＲＧＢカラー空間）を複数のブロックに分けたのは微妙な特徴量（色）の違いを吸収するためである。
【００１８】
なお、多次元特徴量空間に関しては、画像特徴量をそのまま用いるものではなく各パラメータを平均と分散を実験によって求め規格化（正規化）した後、例えば、主成分分析等の直交変換を行い、意味のある次元にしたものを用いることが考えられる。なお、「意味のある次元」とは、主成分分析において、寄与率が大きな主成分軸で構成される次元である。
【００１９】
ステップＳ１３では、ステップＳ１２で得られた各分割ブロックに対して、定められた画像特徴量計算処理を行い、上記多次元特徴量空間上のどのセルに属するかを求め、対応するラベルを求める。この処理を全てのブロックに対して行う。すなわち、分割画像ブロックに対して、全ての画素がどの色セルに属するかの計算処理を行い、もっとも頻度の多い色セルのラベルをその分割画像ブロックのパラメータラベル（カラーラベル）として決定し、この処理を全てのブロックに対して行う。
【００２０】
以上のようにして各ブロックに対してパラメータラベルが付与されると、ステップＳ１４において、各ブロックに付与されたパラメータラベルを所定のブロック順序で並べることにより、パラメータラベル行列（以下、ラベル行列とする）が生成される。図７はラベル行列を生成する際のブロック順序例を説明する図である。同図の分割画像ブロックの升にある数字に従って上記のパラメータラベルを並べ、ラベル行列を作る。なお、画像管理データベース１８やラベル行列インデックス１９にラベル行列を格納するに際しては、上述のように２次元的なラベル行列を所定の順序で１次元に並べたものを格納するが、本実施形態ではこのような１次元の形態のものもラベル行列と称することにする。
【００２１】
ここで、図７の（ａ）では、分割ブロックを左から右へ水平方向へスキャンし、この水平方向のスキャンを上から下へ行う順序となっている。なお、本実施形態に適用可能なスキャンの方法としては、
・水平方向（図７の（ａ）に示したように、左から右へのスキャンを上から下へ行うという順序の他に、図７の（ｂ）〜（ｄ）に示すように、左から右へのスキャンを下から上へ行う等、４通りのスキャン方法がある）、
・垂直方向（上から下へのスキャンを左から右へ行う等、４通りのスキャン方法が考えられる）。
【００２２】
なお、本実施形態では、図７の（ａ）に示すスキャン方法を採用するが、上述した他のスキャン方法も適用可能である。
【００２３】
続いてステップＳ１５において、以上のようにして得たラベル行列や画像データを画像蓄積部１７、画像管理ＤＢ１８、ラベル行列インデックス１９に格納する。すなわち、ステップＳ１１で読み込んだ画像データに対して画像ＩＤを取得し、これらをペアにして画像蓄積部１７に格納する。そして、当該画像ＩＤに対応付けて図８に示す画像管理ＤＢレコードを生成し、これを画像管理ＤＢ１８に登録する。更に、ステップＳ１６において、ラベル行列を検索キーとし、画像ＩＤ群を可変長レコードに納めるレコード（図９のラベル系列インデックス）を作成し、ラベル行列インデックス１９に登録する。ここで、当該ラベル行列が未登録であれば、新たなレコードを生成してラベル行列ＩＤを付与し、当該ラベル行列及び画像ＩＤを登録する。一方、当該ラベル行列が既に登録されていれば、画像ＩＤ群に当該画像ＩＤを追加登録することになる。このようなラベル系列インデックスを用いることにより、ラベル行列が与えられた場合にそれに対応する画像ＩＤが高速に得られることになる。
【００２４】
以上が画像登録時に行われる処理である。
【００２５】
［類似画像検索処理］
次に図１０のフローチャートに従って類似画像検索の処理を説明する。図１０は類似画像検索の処理手順を説明するフローチャートである。なお、本実施形態では、予め初期化時において、ラベル系列インデックスから、既に登録されている画像のラベル行列群を得て、各ラベル成分をキーとするラベル成分インデックスファイルを生成し、ラベル行列インデックス１９に格納しておく。なお、ここでいう初期化時とは、システムの立ち上げ時或いはアプリケーションの起動時のいずれでも良い。また、新規の画像登録があり、これを画像ＤＢに登録した場合にも、このラベル成分インデックスの生成を行う。図１１は、ラベル成分インデックスのデータ構成例を示す図である。図１１に示すように、ラベル成分インデックスには、各ラベル成分毎に、そのラベルを内部に持つラベル行列へのアドレス群（列ＩＤ群）を有する。なお、このラベル成分インデックスファイルは画像の登録及び削除、変更を反映する必要が生じるまで、作成し直す必要はない。
【００２６】
まず、ステップＳ２１において、ユーザーインターフェース部１１から類似検索元画像が指定されると、ステップＳ２２において、指定された類似検索元画像の画像ＩＤが取得され、更に画像管理ＤＢ１８から当該元画像のラベル行列（本例ではカラーラベル行列）が取得される。
【００２７】
次にステップＳ２３において、ラベル成分インデックスファイルを参照し、類似検索元画像のラベル行列とある程度以上同一のラベルを含むラベル行列群（ラベル系列インデックス中のラベル行列）を取得する。これは登録した画像の全てのラベル行列との比較を行うと処理が遅くなるので、予め似ているもの（類似検索元画像のラベル行列と所定数以上の同一のラベルを含むラベル行列群）に絞った後に、類似検索元画像のラベル行列と一対一で比較するようにし、処理速度を改善するためである。もちろん、処理が遅くなっても良ければ、登録した画像の全てのラベル行列との比較を行い、精度の高い検索を行ってもよい（この場合、ステップＳ２３は省略される）。
【００２８】
次に、ステップＳ２４において、ステップＳ２３で取得した各ラベル行列と類似検索元画像のラベル行列とを比較し、その類似度を算出する。そして、類似検索元画像のラベル行列に最も近いラベル行列から順にその類似度とともに検索結果として出力する。
【００２９】
ここで、ラベル行列同士の類似比較（類似度の算出）を行う方法について述べる。なお、以下では、ステップＳ２３で取得したラベル行列を類似比較先画像と称する。
【００３０】
図１２はラベル行列を比較し類似度を求める際に用いるラベル間のペナルティマトリックスの一例を示す図である。マトリクス中の値が小さい程類似していることになる。例えば、ラベル２とラベル６のペナルティは「７」である。また、同じラベル同士のペナルティは当然のことながら「０」となっている。本マトリクスの使用目的はラベルの類似に応じた距離判定を行うことにある。すなわち、本実施形態では、特徴量空間としてＲＧＢカラー空間を用いているので、色の類似に応じた距離判定が行えることになる。
【００３１】
例えば、ラベル間のパターンマッチングの際に隣接するセル同士ではペナルティ（距離）を小さくし、遠いものには大きなペナルティを与えるために図１２に示すようなラベル間でのペナルティマトリックスを導入する。ステップＳ２４ではこのペナルティマトリックスを考慮し、ラベル行列同士を比較するが、本実施形態では、その際に以下に説明する２次元的なＤＰマッチング（以下、２次元ＤＰマッチングという）を使用する。
【００３２】
図１３は本実施形態による類似度算出処理を説明する図である。上述のステップＳ２２において取得された類似検索元画像のラベル行列は、そのスキャン方法に従って図１３の（ａ）のように並べることができる。また、ステップＳ２３において抽出されたラベル行列群のうちの一つを類似比較先画像とすると、そのラベル行列は図１３（ｂ）のように並べることができる。
【００３３】
まず、類似比較先画像の第１行目のラベル列「ａｂｃ」と、類似検索元画像の第１〜第３行目のラベル列（「１２３」、「４５６」、「７８９」）のそれぞれとの距離をＤＰマッチングによって求め、その距離が最少となるラベル列の類似検索元画像における行番号を類似ライン行列（図１３の（ｃ））の該当する位置に記憶する。また、得られた最小距離が所定の閾値よりも大きい場合には、どの行とも類似していないと判断し、類似ライン行列の該当する位置に「！」を記憶する。ＤＰマッチングの性質により、たとえば画像のアングルが水平方向へ多少変わっていたとしても、上記処理により類似する行（ライン）を検出可能である。以上の処理を、類似比較先画像の全ての行（「ｄｅｆ」「ｇｈｉ」）について行うことで、図１３の（ｃ）のような列方向の類似ライン行列が得られる。
【００３４】
図１３の（ｃ）では、「ａｂｃ」に類似した行が類似検索元画像に存在せず、「ｄｅｆ」に類似した行が類似検索元画像の第１行目、「ｇｈｉ」に類似した行が類似検索元画像の第２行目であったことを示している。以上のようにして得られた類似ライン行列と標準ライン行列（類似検索元画像の行の並びであり、本例では「１２３」となる）との類似度をＤＰマッチングを用いて算出し、これを当該類似検索元画像と当該類似比較先画像との類似度として出力する。なお、ＤＰマッチングでは、周知のように、比較するラベルシーケンスが最も類似距離が小さくなるように、比較するラベルシーケンスを伸縮（比較する相手を次に進めないで我慢する）させて比較するという処理を行う。また、何処まで伸縮（我慢）できるかを制約条件（整合窓の幅）で与えることも可能である。
【００３５】
図１４は本実施形態における、ＤＰマッチングを採用した類似度算出の手順を説明するフローチャートである。上記図１３を参照して説明した処理を、図１４のフローチャートを参照して更に説明する。
【００３６】
まず、ステップＳ１０１において、類似比較先画像の行番号を表す変数ｉと、類似検索元画像の行番号を表す変数ｊを１に初期化し、ともに第１行目を示すように設定する。次に、ステップＳ１０２において、類似比較先画像の第ｉ行目のラベル列を取得する。例えば図１３の場合、ｉ＝１であれば「ａｂｃ」が取得される。そして、ステップＳ１０３において、類似検索元画像の第ｊ行目のラベル列を取得する。例えば、図１３において、ｊ＝１であれば、「１２３」が取得される。
【００３７】
次にステップＳ１０４では、上記ステップＳ１０２、Ｓ１０３で得られた２つのラベル列間の距離を、図１２で説明した色セルペナルティーマトリクスを用いて、ＤＰマッチングによって求める。そして、ステップＳ１０５において、ステップＳ１０４で得た距離が、第ｉ行目に関してそれまでに得られた距離の最小値であれば、当該行番号（ｊ）をライン行列要素ＬＩＮＥ［ｉ］に記憶する。
【００３８】
以上のステップＳ１０３からステップＳ１０５の処理を、類似検索元画像の全ての行について行う（ステップＳ１０６、Ｓ１０７）。以上のようにして、類似比較先画像の第ｉ行目のラベル列に対して、類似検索元画像に含まれる行のうち最も距離の近い行の番号がＬＩＮＥ［ｉ］に格納されることになる。
【００３９】
そして、ステップＳ１０８において、上記処理でられたＬＩＮＥ［ｉ］と所定の閾値（Ｔｈｒｅｓｈ）とを比較する。そして、ＬＩＮＥ［ｉ］がＴｈｒｅｓｈ以上であればステップＳ１０８へ進み、いずれの行とも類似していないことを表す「！」をＬＩＮＥ［ｉ］に格納する。
【００４０】
以上説明したステップＳ１０２からＳ１０８の処理を類似比較先画像の全ての行について実行する（ステップＳ１１０、Ｓ１１１）ことにより、ＬＩＮＥ［１］〜ＬＩＮＥ［ｉｍａｘ］が得られるので、これを類似ライン行列ＬＩＮＥ［］として出力する。
【００４１】
次に、ステップＳ１１３において、標準ライン行列「１２…ｉｍａｘ」と類似ライン行列ＬＩＮＥ［］とのＤＰマッチングを行い、両者の距離を算出する。なお、ここで、標準ライン行列とは、１から始まり、列方向に１ずつ増加する行列である。
ここで、標準ライン行列と類似ライン行列間のＤＰマッチングにおいて用いられるペナルティーについて説明する。列方向の類似ライン行列と標準ライン行列とのＤＰマッチングのペナルティーの設定としては２つの方法が考えられる。すなわち、動的なペナルティーと固定的なペナルティーの２つである。
動的なペナルティーとは、動的にライン番号間のペナルティーを設定するものであり、画像によってライン番号間のペナルティーは変化する。本実施形態では、類似検索元画像の自分自身の横（行）方向のラベル行列の距離を求め、これに基づいて各行間のペナルティーを求める。
図１５は本実施形態による動的なペナルティー値の設定手順を示すフローチャートである。ステップＳ１２１において、変数ｉを１に、変数ｊを２にそれぞれセットする。次に、ステップＳ１２２において、類似検索元画像の第ｉ行目のラベル列を取得し、ステップＳ１２３において、類似検索もと画像の第ｊ行目のラベル列を取得する。そして、ステップＳ１２４において、類似検索元画像の第ｉ行目のラベル列と第ｊ行目のラベル列とについて、色ペナルティーマトリクスを用いてＤＰマッチングを行い、距離を獲得する。ステップＳ１２５では、ステップＳ１２４で得たＤＰマッチングの距離を、類似検索元画像のｉ行目のラベル列とｊ行目のラベル列間のペナルティーとしてＬＩＮＥ[i][j]に記憶すると共に、、類似検索元画像のｊ行目のラベル列とｉ行目のラベル列間のペナルティーとしてＬＩＮＥ[j][i]に記憶する。
ステップＳ１２６によって、変数ｊの値がｊｍａｘとなるまで、ステップＳ１２３〜Ｓ１２５の処理が繰返される。この結果、第ｉ行目のラベル列について、ｉ＋１〜ｊｍａｘ行目の各ラベル列との間のペナルティー値が決定される。そして、ステップＳ１２８、Ｓ１２９、Ｓ１３０により、ステップＳ１２３〜Ｓ１２６の処理を変数ｉの値がｉｍａｘ−１となるまで繰返される。この結果、ＬＩＮＥ[i]「ｊ］には、ｉ＝ｊの対角成分を除く全てに、上記処理で決定されたペナルティー値が記憶されることになる。
次にステップＳ１３１では、上記処理で決定されていないＬＩＮＥ[i][j]の対角成分のペナルティーを決定する。この部分はｉ＝ｊであり、同一のラベル列であるから、その距離は０であり、従ってペナルティー０が記憶される。また、ステップＳ１３２では、「！」に関してペナルティーを決定する。すなわち、「！」に対するペナルティーは、ＬＩＮＥ[i][j]の全てのペナルティー値の中で、最大のペナルティー値よりもある程度大きな値を設定する。ただし、このペナルティー値を極端に大きくすると、曖昧にヒットする性質が損なわれてしまう。
以上のようにして類似検索元画像に関して計算されたラベル列間のペナルティーを用いて、上記ステップＳ１１３におけるＤＰマッチングを行い、類似度検索元画像と類似比較先画像の類似度を獲得する。
また、もう一つの固定的なペナルティーでは、ＤＰマッチングのペナルティーとして、ラベルが一致すればペナルティー「０」を、一致しない場合、もしくは「！」との比較であった場合にはある程度の大きさのペナルティーを与える。この場合は類似検索元画像によらず、常に同じペナルティーとなる。このような固定的なペナルティーを用いてステップＳ１１３の処理を実行し、類似度検索元画像と類似比較先画像の類似度を決定する。
【００４２】
以上説明したマッチング処理は次のような特徴を有する。もし、図１３の（ａ）と（ｂ）が極めて類似していれば、類似ライン行列は「１２３」となり、その距離は０となる。また、類似ライン行列が「！１２」や「２１２」であれば、類似検索元画像に対して類似比較先画像は下方向へずれたものである可能性があるし、類似ライン行列が「２３！」や「２３３」であれば類似検索元画像に対して類似比較先画像が上方向へずれたものである可能性がある。また、類似ライン行列が「１３！」や「！１３」であれば、類似検索元画像に対して類似比較先画像が縮小したものである可能性がある。同様に、類似比較先画像が類似検索元画像を拡大したようなものである場合も検出可能である。
【００４３】
上述のステップＳ１１３で説明したように、類似ライン行列と標準ライン行列との間でＤＰマッチングを行うことにより、垂直方向へのずれが効果的に吸収される。このため、上述したような、上方向や下方向へのずれ、拡大、縮小等に起因する類似検索元画像と類似比較先画像との相違が効果的に吸収され、良好な類似検索を行うことが可能となる。
【００４４】
すなわち、本実施形態の２次元ＤＰマッチングは、ラベル行列の各ラベル列における前後の曖昧さを許容するマッチングであり、画像の位置ずれの影響を吸収する性質を有する。また、アングルの違い等により物体の位置が変わり、ブロックによって切りとられる物体の位置が変わることにより、ブロックの色合いも微妙に異なることが予想されるが、この違いは上述のペナルティーマトリクスにより吸収されることになる。このように、本実施形態の２次元ＤＰマッチングによる曖昧さを許容するマッチングと、ペナルティーマトリクスによる特徴量の曖昧さの許容との相乗効果によって、上下左右拡大、縮小のずれに対しても影響の少ないマッチングを可能としている。
ただし、動的なペナルティーと固定的なペナルティーとでは、動的なペナルティーを用いる方が好ましい。例えば、一面麦畑の類似元検索画像があったとした場合、どのラインも似たようなラベル列となることが考えられる。一方、類似比較先画像にも一面麦畑の画像があったとした場合に、この画像の類似ライン行列には全て最初のライン番号１が入り、「１１１」となってしまう可能性がある。この場合、類似検索元画像のどのラインも似たような画像となっており、ライン番号間のペナルティーが極めて小さくなければ低い距離でのヒットはしない。しかしながら、動的なペナルティーを用いた場合は、ライン番号間のペナルティーが低くなり、類似度の高い結果を得ることができる。
一方、固定的なペナルティーを用いると、「１２３」と「１１１」ではペナルティー値が大きくなり、類似度が低くなってしまう。
【００４５】
以上説明した類似度の算出処理をステップＳ２３で取得した全ラベル行列について行い、得られた類似度を高い順にソートして、ステップＳ２５へ進む。ステップＳ２５において、ラベル系列インデックから類似度の高いラベル行列をキーとして検索を行い、対応する画像ＩＤを取得する。以下、類似度の高い順に出力された各ラベル行列に対してこの処理を繰り返し、結果として類似する画像の画像ＩＤ群を得る。そして、ステップＳ２６において、画像管理ＤＢ１８を参照して、画像ＩＤ群の各画像ＩＤについてフルパスのファイル名を取得し、これをユーザに提示する。
【００４６】
以上のようにして、ＤＰマッチングを水平・鉛直方向、すなわち２次元に行うことにより、水平や鉛直方向、更に斜め方向に画像アングルが変わったり、物体が移動していても検索を行うことが可能である。また、ＤＰマッチングの時系列伸縮特性により、ズームアップ撮影画像やマクロ撮影画像をも検索することが可能となる。
【００４７】
なお、上記実施形態では、水平方向のブロック並びに対応するラベル列を用いて類似ライン行列を得たが、垂直方向のブロック並びに対応するラベル列を用いて類似ライン行列を得るようにすることも、上記と同様の手法で実現可能である。
【００４８】
また、上記実施形態においては、自然画像検索を行う例を説明したが、本発明はＣＧやＣＡＤ等の人工的な画像の検索にも適応可能な技術であることは当業者には明らかである。
【００４９】
また、上記実施形態では画像特徴量として色情報を選んだが、本発明はこれに限られるものではなく、その他の画像パラメータを画像分割ブロックごとに求めることで実施することも可能である。
【００５０】
また、本実施形態では１つの特徴量での認識の例を挙げたが、その他の特徴量での検索結果との論理演算を行うことにより、複数の特徴量からの高速な検索を行うことも可能である。
【００５１】
１つの画像に対して複数の画像特徴量を用いた検索を行う場合には、本発明で得られる類似度を１つの新たなる画像特徴量とみなし、複数のパラメータを用いた多変量解析を行い統計的な距離尺度を用いた検索を行うことも可能である。また、上記実施形態では、類似度が所定値を越える類似画像を検索結果として得るが、類似度の高い画像から順に前もって指定された個数の画像を検索結果として出力するようにしてもよいことはいうまでもない。
【００５２】
なお、本発明は、例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなどの複数の機器から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００５３】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００５４】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００５５】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００５６】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５７】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５８】
以上説明したように、本実施形態によれば、特徴量群（特徴量空間を分割して得られる特徴量のグループ）を１つのシンボルで表現し（すなわちラベル化し）、ラベル同士の類似度に基づく距離を上述の２次元ＤＰマッチングとペナルティーマトリクスによって与える。このため、２つの画像のブロック間の距離の計算量を大幅に減少させることができるとともに、類似した特徴量が同じラベルで表されることになるので、類似画像の検索を良好に行うことができる。
【００５９】
また、（１）ペナルティマトリクスによるラベル同士の距離概念を導入し、（２）比較するラベル位置を前後曖昧に移動させることが出来、トータルの距離が最小（類似度が最大）となるようなラベル行列の比較を実現する上記２次元ＤＰマッチングを導入したことにより、画像のアングルが多少変わっても検索することが可能となり、雰囲気の似ている画像を検索できるようになる。
【００６０】
更に上記実施形態によれば、インデックスデータベース（ラベル系列インデックスやラベル成分インデックス）を用いたことにより、画像検索が更に高速化する。
【００６１】
すなわち、上記実施形態によれば、画像の特徴量の配置を考慮した類似画像の高速な検索が行われるとともに、撮影条件の変動等による違いを吸収した類似画像の検索が可能となり、従来難しかった画像のアングルが変ったり、物体の位置が変ったり、あるいは他の撮影条件が変動したりすることによる画像の特徴量のある程度の違いを吸収するなど、ロバストな類似画像検索を行うことが可能となる。
【００６２】
【発明の効果】
以上説明したように本発明によれば、画像の特徴量の配置を考慮した高速な類似画像の検索が可能となる。また、本発明によれば、撮影アングルや撮影倍率等の撮影条件の変動等による画像の変化を効果的に吸収した類似画像検索が可能となる。
【００６３】
【図面の簡単な説明】
【図１】本実施形態の画像検索装置の制御構成を示すブロック図である。
【図２】本実施形態の画像検索装置の機能構成を示すブロック図である。
【図３】画像蓄積部１７における画像データの格納状態を説明する図である。
【図４】本実施形態による画像登録処理の手順を表すフローチャートである。
【図５】本実施形態による画像のブロック分割例を示す図である。
【図６】本実施形態による多次元特徴量空間を説明する図である。
【図７】ラベル行列を生成する際のブロック順序例を説明する図である。
【図８】画像管理ＤＢレコードのデータ構成例を示す図である。
【図９】ラベル系列インデックスのデータこう政令を示す図である。
【図１０】類似画像検索の処理手順を説明するフローチャートである。
【図１１】ラベル成分インデックスのデータ構成例を示す図である。
【図１２】ラベル列を比較し類似度を求める際に用いるラベル間のペナルティマトリックスの一例を示す図である。
【図１３】本実施形態による類似度算出処理を説明する図である。
【図１４】本実施形態における、ＤＰマッチングを採用した類似度算出の手順を説明するフローチャートである。
【図１５】本実施形態による動的なペナルティー値の設定手順を示すフローチャートである。
【図１】
0003720538.tif 000002
【図２】
0003720538.tif 000003
【図３】
0003720538.tif 000004
【図４】
0003720538.tif 000005
【図５】
0003720538.tif 000006
【図６】
0003720538.tif 000007
【図７】
0003720538.tif 000008
【図８】
0003720538.tif 000009
【図９】
0003720538.tif 000010
【図１０】
0003720538.tif 000011
【図１１】
0003720538.tif 000012
【図１２】
0003720538.tif 000013
【図１３】
0003720538.tif 000014
【図１４】
0003720538.tif 000015
【図１５】
0003720538.tif 000016