JP3720538B2 - Image search apparatus and method - Google Patents
Image search apparatus and method Download PDFInfo
- Publication number
- JP3720538B2 JP3720538B2 JP19016297A JP19016297A JP3720538B2 JP 3720538 B2 JP3720538 B2 JP 3720538B2 JP 19016297 A JP19016297 A JP 19016297A JP 19016297 A JP19016297 A JP 19016297A JP 3720538 B2 JP3720538 B2 JP 3720538B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- label
- search
- matching
- matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、画像を検索する画像検索装置及び方法に関するものである。
【0002】
【従来の技術】
従来より類似画像を検索するための種々の技術が提案されている。類似画像検索を自然画像について行うための、ある程度実用化されている技術では、色情報を画像特徴量として用いているものが多い。そして、その多くが、色情報に関するヒストグラムを取ることにより、RGBの割合や画像中に多く存在する色の組み合わせを用いた検索が殆どである。
【0003】
【発明が解決しようとする課題】
しかしながら、上記の手法では、色の位置情報が失われてしまうためにその検索精度は必ずしも高くなかった。また、例えば特開平8−249349号には、画像を複数のブロックに分け夫々の特徴量(代表色)を用いたパターンマッチングが開示されている。しかしながら、この手法では、マッチングを行う2つの画像について各ブロック間の特徴量の距離を計算しなければならず、膨大な計算量が必要となってしまう。特に特徴量として代表色を用いると、RGB3個のデータを扱わなければならず、更に計算が複雑なものとなる。また、特徴量そのものを用いて比較を行うので、比較の精度が高くなる反面、画像のアングルが変ったり、物体の位置が変ったりするだけで類似画像検索できなくなってしまうといった問題がある。すなわち、画像のアングルが変ったり、物体の位置が変ったり、あるいは撮影条件による画像特徴量のある程度の違い等を吸収するなど、ある程度の曖昧さを有しながらも適切に画像検索を行うという、いわゆるロバストな類似画像検索を行うことはできなかった。
【0004】
従って、従来技術において自然画像を検索する場合には、画像にキーワードを付与しておき、このキーワードによって画像検索を行うことが普通であった。しかし、このキーワード付け作業は人手のかかる作業であり、更に、キーワード付けが行われていない画像に関しては、縮小画を提示してマニュアルにて選択するという作業が生じ、検索操作を煩雑なものとしていた。
【0005】
本発明は上記の問題点に鑑みてなされたものであり、画像の特徴量の配置を考慮した高速な類似画像の検索を可能とする画像検索装置及び方法を提供することを目的とする。
【0006】
また、本発明の他の目的は、撮影アングルや撮影倍率等の撮影条件の変動等による画像の変化を効果的に吸収した類似画像検索を可能とする画像検索装置及び方法を提供することにある。
【0007】
【課題を解決するための手段】
上記の目的を達成するための本発明の画像検索装置は以下の構成を備える。即ち、
画像を複数のブロックに分割し、各ブロックについて取得された特徴量に応じてラベルを付与する付与手段と、
前記付与手段で付与されたラベルによりラベル行列を生成する生成手段と、
前記生成手段で生成されたラベル行列を前記画像に対応付けて記憶する記憶手段と、
前記記憶手段に記憶されたラベル行列に基づいて画像検索を行う検索手段とを備え、
前記検索手段が、検索元画像のラベル行列より抽出される行単位のラベル列と、比較先画像のラベル行列より抽出される行単位のラベル列とをDPマッチングによって対応づける第1マッチング手段と、
前記検索元画像の行並びと、前記第1マッチング手段で得られた行並びとの類似度をDPマッチングによって求める第2マッチング手段とを備える。
【0008】
また、上記の目的を達成する本発明の画像検索方法は以下の工程を備えている。即ち、
記憶手段に記憶された画像より、指定された検索元画像に類似する画像を検索する画像検索装置における画像検索方法であって、
画像特徴量抽出手段が、メモリに格納された画像を複数のブロックに分割し、各ブロックに属する画像データを用いて特徴量を算出する算出工程と、
ラベル付与手段が、前記算出工程で算出された特徴量に応じて各ブロックにラベルを付与する付与工程と、
ラベル行列生成手段が、前記付与工程で各ブロックに付与されたラベルを用いてラベル行列を生成する生成工程と、
前記生成工程で生成されたラベル行列を前記画像に対応付けて前記記憶手段に記憶する記憶工程と、
検索手段が、前記記憶手段に記憶されたラベル行列に基づいて画像検索を行う検索工程とを備え、
前記検索工程は、前記検索手段が、検索元画像の指定に応じて、該検索元画像として指定された画像から前記算出工程、前記付与工程及び前記生成工程により生成されたラベル行列と、比較先画像としての画像に対応して前記記憶手段に記憶されているラベル行列より抽出した行単位のラベル列とをDPマッチングによって対応づける第1マッチング工程と、
前記検索元画像の行並びと、前記第1マッチング工程で得られた行並びとの類似度をDPマッチングによって求める第2マッチング工程とを備える。
【0009】
【発明の実施の形態】
以下、添付の図面を参照して本発明の好適な一実施形態を説明する。
【0010】
図1は本実施形態の画像検索装置の制御構成を示すブロック図である。同図において、101はCPUであり、本実施形態の画像検索装置における各種制御を実行する。102はROMであり、本装置の立ち上げ時に実行されるブートプログラムや各種データを格納する。103はRAMであり、CPU101が処理するための制御プログラムを格納するとともに、CPU101が各種制御を実行する際の作業領域を提供する。104はキーボード、105はマウスであり、ユーザによる各種入力操作環境を提供する。
【0011】
106は外部記憶装置であり、ハードディスクやフロッピーディスク、CD−ROM等で構成される。107はネットワークインターフェースであり、ネットワーク上の各機器との通信を可能とする。109はインターフェース、110は画像読み取りのためのスキャナである。また、111は上記の各構成を接続するバスである。
【0012】
なお、上記の構成においてスキャナ110や外部記憶装置106はネットワーク上に配置されたもので代用してもよい。
【0013】
図2は本実施形態の画像検索装置の機能構成を示すブロック図である。同図において、11はユーザインターフェース部であり、表示器107、キーボード104及びマウス105を用いて、ユーザからの各種の操作入力を検出する。12は画像入力部であり、スキャナ110による画像の読み取りを行う。13は画像メモリであり、画像入力部12によって得られたイメージデータをRAM103の所定の領域に格納する。14は画像特徴量抽出部であり、画像メモリ13に格納した画像について、後述の手順で特徴量を抽出する。15は特徴量ラベル行列化部であり、画像特徴量抽出部14によって得られた特徴量に基づいてラベル行列を生成する。16はパターンマッチング部であり、指定された画像のラベル行列と、画像蓄積部17に蓄積されている画像のラベル行列に対し、後述の2次元DPマッチングを用いて類似度を算出する。
【0014】
17は画像蓄積部であり、画像入力部12等によって得られた画像データを蓄積する。図3は画像蓄積部17における画像データの格納状態を説明する図である。各画像データ112には画像ID111が付与され、画像蓄積部17にはこれらが対になって保持される。18は画像管理データベース(以下、画像管理DB)であり、図8で示されるデータ形態で画像蓄積部17に格納された画像データを管理する。また、19はラベル行列インデックスであり、図9で示されるラベル系列インデックスや図11に示されるラベル成分インデックスファイルを格納する。
【0015】
以上のような構成を備えた本実施形態の画像検索装置の動作例を以下に説明する。なお、以下の例では色に着目した画像特徴量として、赤(R)、緑(G)、青(B)の三色を採用し、3次元の色空間での処理を用いて説明する。
【0016】
[画像の登録処理]
先ず画像登録の際に行う処理を説明する。図4は本実施形態による画像登録処理の手順を表すフローチャートである。まず、ステップS11において、ユーザーインターフェース部11を介しての指示により、画像入力部12を用いて画像を読み込み、画像メモリ13に保持する。次に、ステップS12において、この画像を複数のブロックに分割する。本実施形態では、画像を縦横の複数ブロックに分割する。図5は本実施形態による画像のブロック分割例を示す図である。同図に示されるように、本実施形態では、3×3の計9個に画像を分割するものとする。次にステップS13において、分割された各ブロックの特徴量を算出し、得られた特徴量を次の手順でラベル化する。なお、本実施形態で用いる3×3屁の分割はあくまで説明のためのものである。実際には、自然がであれば10×10以上の分割数とするのが好ましい。また、白の無地背景に商品が写っているような場合であれば、13×13以上の分割数とするのが好ましい。
【0017】
図6は本実施形態による多次元特徴量空間を説明する図である。図6に示すように、多次元特徴量空間(RGBカラー空間)を複数のブロック(色ブロック)、即ちセル(色セル)に分割し、夫々のセル(色セル)に対して通し番号でユニークなラベルを付与する。ここで、多次元特徴用空間(RGBカラー空間)を複数のブロックに分けたのは微妙な特徴量(色)の違いを吸収するためである。
【0018】
なお、多次元特徴量空間に関しては、画像特徴量をそのまま用いるものではなく各パラメータを平均と分散を実験によって求め規格化(正規化)した後、例えば、主成分分析等の直交変換を行い、意味のある次元にしたものを用いることが考えられる。なお、「意味のある次元」とは、主成分分析において、寄与率が大きな主成分軸で構成される次元である。
【0019】
ステップS13では、ステップS12で得られた各分割ブロックに対して、定められた画像特徴量計算処理を行い、上記多次元特徴量空間上のどのセルに属するかを求め、対応するラベルを求める。この処理を全てのブロックに対して行う。すなわち、分割画像ブロックに対して、全ての画素がどの色セルに属するかの計算処理を行い、もっとも頻度の多い色セルのラベルをその分割画像ブロックのパラメータラベル(カラーラベル)として決定し、この処理を全てのブロックに対して行う。
【0020】
以上のようにして各ブロックに対してパラメータラベルが付与されると、ステップS14において、各ブロックに付与されたパラメータラベルを所定のブロック順序で並べることにより、パラメータラベル行列(以下、ラベル行列とする)が生成される。図7はラベル行列を生成する際のブロック順序例を説明する図である。同図の分割画像ブロックの升にある数字に従って上記のパラメータラベルを並べ、ラベル行列を作る。なお、画像管理データベース18やラベル行列インデックス19にラベル行列を格納するに際しては、上述のように2次元的なラベル行列を所定の順序で1次元に並べたものを格納するが、本実施形態ではこのような1次元の形態のものもラベル行列と称することにする。
【0021】
ここで、図7の(a)では、分割ブロックを左から右へ水平方向へスキャンし、この水平方向のスキャンを上から下へ行う順序となっている。なお、本実施形態に適用可能なスキャンの方法としては、
・水平方向(図7の(a)に示したように、左から右へのスキャンを上から下へ行うという順序の他に、図7の(b)〜(d)に示すように、左から右へのスキャンを下から上へ行う等、4通りのスキャン方法がある)、
・垂直方向(上から下へのスキャンを左から右へ行う等、4通りのスキャン方法が考えられる)。
【0022】
なお、本実施形態では、図7の(a)に示すスキャン方法を採用するが、上述した他のスキャン方法も適用可能である。
【0023】
続いてステップS15において、以上のようにして得たラベル行列や画像データを画像蓄積部17、画像管理DB18、ラベル行列インデックス19に格納する。すなわち、ステップS11で読み込んだ画像データに対して画像IDを取得し、これらをペアにして画像蓄積部17に格納する。そして、当該画像IDに対応付けて図8に示す画像管理DBレコードを生成し、これを画像管理DB18に登録する。更に、ステップS16において、ラベル行列を検索キーとし、画像ID群を可変長レコードに納めるレコード(図9のラベル系列インデックス)を作成し、ラベル行列インデックス19に登録する。ここで、当該ラベル行列が未登録であれば、新たなレコードを生成してラベル行列IDを付与し、当該ラベル行列及び画像IDを登録する。一方、当該ラベル行列が既に登録されていれば、画像ID群に当該画像IDを追加登録することになる。このようなラベル系列インデックスを用いることにより、ラベル行列が与えられた場合にそれに対応する画像IDが高速に得られることになる。
【0024】
以上が画像登録時に行われる処理である。
【0025】
[類似画像検索処理]
次に図10のフローチャートに従って類似画像検索の処理を説明する。図10は類似画像検索の処理手順を説明するフローチャートである。なお、本実施形態では、予め初期化時において、ラベル系列インデックスから、既に登録されている画像のラベル行列群を得て、各ラベル成分をキーとするラベル成分インデックスファイルを生成し、ラベル行列インデックス19に格納しておく。なお、ここでいう初期化時とは、システムの立ち上げ時或いはアプリケーションの起動時のいずれでも良い。また、新規の画像登録があり、これを画像DBに登録した場合にも、このラベル成分インデックスの生成を行う。図11は、ラベル成分インデックスのデータ構成例を示す図である。図11に示すように、ラベル成分インデックスには、各ラベル成分毎に、そのラベルを内部に持つラベル行列へのアドレス群(列ID群)を有する。なお、このラベル成分インデックスファイルは画像の登録及び削除、変更を反映する必要が生じるまで、作成し直す必要はない。
【0026】
まず、ステップS21において、ユーザーインターフェース部11から類似検索元画像が指定されると、ステップS22において、指定された類似検索元画像の画像IDが取得され、更に画像管理DB18から当該元画像のラベル行列(本例ではカラーラベル行列)が取得される。
【0027】
次にステップS23において、ラベル成分インデックスファイルを参照し、類似検索元画像のラベル行列とある程度以上同一のラベルを含むラベル行列群(ラベル系列インデックス中のラベル行列)を取得する。これは登録した画像の全てのラベル行列との比較を行うと処理が遅くなるので、予め似ているもの(類似検索元画像のラベル行列と所定数以上の同一のラベルを含むラベル行列群)に絞った後に、類似検索元画像のラベル行列と一対一で比較するようにし、処理速度を改善するためである。もちろん、処理が遅くなっても良ければ、登録した画像の全てのラベル行列との比較を行い、精度の高い検索を行ってもよい(この場合、ステップS23は省略される)。
【0028】
次に、ステップS24において、ステップS23で取得した各ラベル行列と類似検索元画像のラベル行列とを比較し、その類似度を算出する。そして、類似検索元画像のラベル行列に最も近いラベル行列から順にその類似度とともに検索結果として出力する。
【0029】
ここで、ラベル行列同士の類似比較(類似度の算出)を行う方法について述べる。なお、以下では、ステップS23で取得したラベル行列を類似比較先画像と称する。
【0030】
図12はラベル行列を比較し類似度を求める際に用いるラベル間のペナルティマトリックスの一例を示す図である。マトリクス中の値が小さい程類似していることになる。例えば、ラベル2とラベル6のペナルティは「7」である。また、同じラベル同士のペナルティは当然のことながら「0」となっている。本マトリクスの使用目的はラベルの類似に応じた距離判定を行うことにある。すなわち、本実施形態では、特徴量空間としてRGBカラー空間を用いているので、色の類似に応じた距離判定が行えることになる。
【0031】
例えば、ラベル間のパターンマッチングの際に隣接するセル同士ではペナルティ(距離)を小さくし、遠いものには大きなペナルティを与えるために図12に示すようなラベル間でのペナルティマトリックスを導入する。ステップS24ではこのペナルティマトリックスを考慮し、ラベル行列同士を比較するが、本実施形態では、その際に以下に説明する2次元的なDPマッチング(以下、2次元DPマッチングという)を使用する。
【0032】
図13は本実施形態による類似度算出処理を説明する図である。上述のステップS22において取得された類似検索元画像のラベル行列は、そのスキャン方法に従って図13の(a)のように並べることができる。また、ステップS23において抽出されたラベル行列群のうちの一つを類似比較先画像とすると、そのラベル行列は図13(b)のように並べることができる。
【0033】
まず、類似比較先画像の第1行目のラベル列「abc」と、類似検索元画像の第1〜第3行目のラベル列(「123」、「456」、「789」)のそれぞれとの距離をDPマッチングによって求め、その距離が最少となるラベル列の類似検索元画像における行番号を類似ライン行列(図13の(c))の該当する位置に記憶する。また、得られた最小距離が所定の閾値よりも大きい場合には、どの行とも類似していないと判断し、類似ライン行列の該当する位置に「!」を記憶する。DPマッチングの性質により、たとえば画像のアングルが水平方向へ多少変わっていたとしても、上記処理により類似する行(ライン)を検出可能である。以上の処理を、類似比較先画像の全ての行(「def」「ghi」)について行うことで、図13の(c)のような列方向の類似ライン行列が得られる。
【0034】
図13の(c)では、「abc」に類似した行が類似検索元画像に存在せず、「def」に類似した行が類似検索元画像の第1行目、「ghi」に類似した行が類似検索元画像の第2行目であったことを示している。以上のようにして得られた類似ライン行列と標準ライン行列(類似検索元画像の行の並びであり、本例では「123」となる)との類似度をDPマッチングを用いて算出し、これを当該類似検索元画像と当該類似比較先画像との類似度として出力する。なお、DPマッチングでは、周知のように、比較するラベルシーケンスが最も類似距離が小さくなるように、比較するラベルシーケンスを伸縮(比較する相手を次に進めないで我慢する)させて比較するという処理を行う。また、何処まで伸縮(我慢)できるかを制約条件(整合窓の幅)で与えることも可能である。
【0035】
図14は本実施形態における、DPマッチングを採用した類似度算出の手順を説明するフローチャートである。上記図13を参照して説明した処理を、図14のフローチャートを参照して更に説明する。
【0036】
まず、ステップS101において、類似比較先画像の行番号を表す変数iと、類似検索元画像の行番号を表す変数jを1に初期化し、ともに第1行目を示すように設定する。次に、ステップS102において、類似比較先画像の第i行目のラベル列を取得する。例えば図13の場合、i=1であれば「abc」が取得される。そして、ステップS103において、類似検索元画像の第j行目のラベル列を取得する。例えば、図13において、j=1であれば、「123」が取得される。
【0037】
次にステップS104では、上記ステップS102、S103で得られた2つのラベル列間の距離を、図12で説明した色セルペナルティーマトリクスを用いて、DPマッチングによって求める。そして、ステップS105において、ステップS104で得た距離が、第i行目に関してそれまでに得られた距離の最小値であれば、当該行番号(j)をライン行列要素LINE[i]に記憶する。
【0038】
以上のステップS103からステップS105の処理を、類似検索元画像の全ての行について行う(ステップS106、S107)。以上のようにして、類似比較先画像の第i行目のラベル列に対して、類似検索元画像に含まれる行のうち最も距離の近い行の番号がLINE[i]に格納されることになる。
【0039】
そして、ステップS108において、上記処理でられたLINE[i]と所定の閾値(Thresh)とを比較する。そして、LINE[i]がThresh以上であればステップS108へ進み、いずれの行とも類似していないことを表す「!」をLINE[i]に格納する。
【0040】
以上説明したステップS102からS108の処理を類似比較先画像の全ての行について実行する(ステップS110、S111)ことにより、LINE[1]〜LINE[imax]が得られるので、これを類似ライン行列LINE[]として出力する。
【0041】
次に、ステップS113において、標準ライン行列「12…imax」と類似ライン行列LINE[]とのDPマッチングを行い、両者の距離を算出する。なお、ここで、標準ライン行列とは、1から始まり、列方向に1ずつ増加する行列である。
ここで、標準ライン行列と類似ライン行列間のDPマッチングにおいて用いられるペナルティーについて説明する。列方向の類似ライン行列と標準ライン行列とのDPマッチングのペナルティーの設定としては2つの方法が考えられる。すなわち、動的なペナルティーと固定的なペナルティーの2つである。
動的なペナルティーとは、動的にライン番号間のペナルティーを設定するものであり、画像によってライン番号間のペナルティーは変化する。本実施形態では、類似検索元画像の自分自身の横(行)方向のラベル行列の距離を求め、これに基づいて各行間のペナルティーを求める。
図15は本実施形態による動的なペナルティー値の設定手順を示すフローチャートである。ステップS121において、変数iを1に、変数jを2にそれぞれセットする。次に、ステップS122において、類似検索元画像の第i行目のラベル列を取得し、ステップS123において、類似検索もと画像の第j行目のラベル列を取得する。そして、ステップS124において、類似検索元画像の第i行目のラベル列と第j行目のラベル列とについて、色ペナルティーマトリクスを用いてDPマッチングを行い、距離を獲得する。ステップS125では、ステップS124で得たDPマッチングの距離を、類似検索元画像のi行目のラベル列とj行目のラベル列間のペナルティーとしてLINE[i][j]に記憶すると共に、、類似検索元画像のj行目のラベル列とi行目のラベル列間のペナルティーとしてLINE[j][i]に記憶する。
ステップS126によって、変数jの値がjmaxとなるまで、ステップS123〜S125の処理が繰返される。この結果、第i行目のラベル列について、i+1〜jmax行目の各ラベル列との間のペナルティー値が決定される。そして、ステップS128、S129、S130により、ステップS123〜S126の処理を変数iの値がimax−1となるまで繰返される。この結果、LINE[i]「j]には、i=jの対角成分を除く全てに、上記処理で決定されたペナルティー値が記憶されることになる。
次にステップS131では、上記処理で決定されていないLINE[i][j]の対角成分のペナルティーを決定する。この部分はi=jであり、同一のラベル列であるから、その距離は0であり、従ってペナルティー0が記憶される。また、ステップS132では、「!」に関してペナルティーを決定する。すなわち、「!」に対するペナルティーは、LINE[i][j]の全てのペナルティー値の中で、最大のペナルティー値よりもある程度大きな値を設定する。ただし、このペナルティー値を極端に大きくすると、曖昧にヒットする性質が損なわれてしまう。
以上のようにして類似検索元画像に関して計算されたラベル列間のペナルティーを用いて、上記ステップS113におけるDPマッチングを行い、類似度検索元画像と類似比較先画像の類似度を獲得する。
また、もう一つの固定的なペナルティーでは、DPマッチングのペナルティーとして、ラベルが一致すればペナルティー「0」を、一致しない場合、もしくは「!」との比較であった場合にはある程度の大きさのペナルティーを与える。この場合は類似検索元画像によらず、常に同じペナルティーとなる。このような固定的なペナルティーを用いてステップS113の処理を実行し、類似度検索元画像と類似比較先画像の類似度を決定する。
【0042】
以上説明したマッチング処理は次のような特徴を有する。もし、図13の(a)と(b)が極めて類似していれば、類似ライン行列は「123」となり、その距離は0となる。また、類似ライン行列が「!12」や「212」であれば、類似検索元画像に対して類似比較先画像は下方向へずれたものである可能性があるし、類似ライン行列が「23!」や「233」であれば類似検索元画像に対して類似比較先画像が上方向へずれたものである可能性がある。また、類似ライン行列が「13!」や「!13」であれば、類似検索元画像に対して類似比較先画像が縮小したものである可能性がある。同様に、類似比較先画像が類似検索元画像を拡大したようなものである場合も検出可能である。
【0043】
上述のステップS113で説明したように、類似ライン行列と標準ライン行列との間でDPマッチングを行うことにより、垂直方向へのずれが効果的に吸収される。このため、上述したような、上方向や下方向へのずれ、拡大、縮小等に起因する類似検索元画像と類似比較先画像との相違が効果的に吸収され、良好な類似検索を行うことが可能となる。
【0044】
すなわち、本実施形態の2次元DPマッチングは、ラベル行列の各ラベル列における前後の曖昧さを許容するマッチングであり、画像の位置ずれの影響を吸収する性質を有する。また、アングルの違い等により物体の位置が変わり、ブロックによって切りとられる物体の位置が変わることにより、ブロックの色合いも微妙に異なることが予想されるが、この違いは上述のペナルティーマトリクスにより吸収されることになる。このように、本実施形態の2次元DPマッチングによる曖昧さを許容するマッチングと、ペナルティーマトリクスによる特徴量の曖昧さの許容との相乗効果によって、上下左右拡大、縮小のずれに対しても影響の少ないマッチングを可能としている。
ただし、動的なペナルティーと固定的なペナルティーとでは、動的なペナルティーを用いる方が好ましい。例えば、一面麦畑の類似元検索画像があったとした場合、どのラインも似たようなラベル列となることが考えられる。一方、類似比較先画像にも一面麦畑の画像があったとした場合に、この画像の類似ライン行列には全て最初のライン番号1が入り、「111」となってしまう可能性がある。この場合、類似検索元画像のどのラインも似たような画像となっており、ライン番号間のペナルティーが極めて小さくなければ低い距離でのヒットはしない。しかしながら、動的なペナルティーを用いた場合は、ライン番号間のペナルティーが低くなり、類似度の高い結果を得ることができる。
一方、固定的なペナルティーを用いると、「123」と「111」ではペナルティー値が大きくなり、類似度が低くなってしまう。
【0045】
以上説明した類似度の算出処理をステップS23で取得した全ラベル行列について行い、得られた類似度を高い順にソートして、ステップS25へ進む。ステップS25において、ラベル系列インデックから類似度の高いラベル行列をキーとして検索を行い、対応する画像IDを取得する。以下、類似度の高い順に出力された各ラベル行列に対してこの処理を繰り返し、結果として類似する画像の画像ID群を得る。そして、ステップS26において、画像管理DB18を参照して、画像ID群の各画像IDについてフルパスのファイル名を取得し、これをユーザに提示する。
【0046】
以上のようにして、DPマッチングを水平・鉛直方向、すなわち2次元に行うことにより、水平や鉛直方向、更に斜め方向に画像アングルが変わったり、物体が移動していても検索を行うことが可能である。また、DPマッチングの時系列伸縮特性により、ズームアップ撮影画像やマクロ撮影画像をも検索することが可能となる。
【0047】
なお、上記実施形態では、水平方向のブロック並びに対応するラベル列を用いて類似ライン行列を得たが、垂直方向のブロック並びに対応するラベル列を用いて類似ライン行列を得るようにすることも、上記と同様の手法で実現可能である。
【0048】
また、上記実施形態においては、自然画像検索を行う例を説明したが、本発明はCGやCAD等の人工的な画像の検索にも適応可能な技術であることは当業者には明らかである。
【0049】
また、上記実施形態では画像特徴量として色情報を選んだが、本発明はこれに限られるものではなく、その他の画像パラメータを画像分割ブロックごとに求めることで実施することも可能である。
【0050】
また、本実施形態では1つの特徴量での認識の例を挙げたが、その他の特徴量での検索結果との論理演算を行うことにより、複数の特徴量からの高速な検索を行うことも可能である。
【0051】
1つの画像に対して複数の画像特徴量を用いた検索を行う場合には、本発明で得られる類似度を1つの新たなる画像特徴量とみなし、複数のパラメータを用いた多変量解析を行い統計的な距離尺度を用いた検索を行うことも可能である。また、上記実施形態では、類似度が所定値を越える類似画像を検索結果として得るが、類似度の高い画像から順に前もって指定された個数の画像を検索結果として出力するようにしてもよいことはいうまでもない。
【0052】
なお、本発明は、例えばホストコンピュータ,インタフェイス機器,リーダ,プリンタなどの複数の機器から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用してもよい。
【0053】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【0054】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0055】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
【0056】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0057】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0058】
以上説明したように、本実施形態によれば、特徴量群(特徴量空間を分割して得られる特徴量のグループ)を1つのシンボルで表現し(すなわちラベル化し)、ラベル同士の類似度に基づく距離を上述の2次元DPマッチングとペナルティーマトリクスによって与える。このため、2つの画像のブロック間の距離の計算量を大幅に減少させることができるとともに、類似した特徴量が同じラベルで表されることになるので、類似画像の検索を良好に行うことができる。
【0059】
また、(1)ペナルティマトリクスによるラベル同士の距離概念を導入し、(2)比較するラベル位置を前後曖昧に移動させることが出来、トータルの距離が最小(類似度が最大)となるようなラベル行列の比較を実現する上記2次元DPマッチングを導入したことにより、画像のアングルが多少変わっても検索することが可能となり、雰囲気の似ている画像を検索できるようになる。
【0060】
更に上記実施形態によれば、インデックスデータベース(ラベル系列インデックスやラベル成分インデックス)を用いたことにより、画像検索が更に高速化する。
【0061】
すなわち、上記実施形態によれば、画像の特徴量の配置を考慮した類似画像の高速な検索が行われるとともに、撮影条件の変動等による違いを吸収した類似画像の検索が可能となり、従来難しかった画像のアングルが変ったり、物体の位置が変ったり、あるいは他の撮影条件が変動したりすることによる画像の特徴量のある程度の違いを吸収するなど、ロバストな類似画像検索を行うことが可能となる。
【0062】
【発明の効果】
以上説明したように本発明によれば、画像の特徴量の配置を考慮した高速な類似画像の検索が可能となる。また、本発明によれば、撮影アングルや撮影倍率等の撮影条件の変動等による画像の変化を効果的に吸収した類似画像検索が可能となる。
【0063】
【図面の簡単な説明】
【図1】本実施形態の画像検索装置の制御構成を示すブロック図である。
【図2】本実施形態の画像検索装置の機能構成を示すブロック図である。
【図3】画像蓄積部17における画像データの格納状態を説明する図である。
【図4】本実施形態による画像登録処理の手順を表すフローチャートである。
【図5】本実施形態による画像のブロック分割例を示す図である。
【図6】本実施形態による多次元特徴量空間を説明する図である。
【図7】ラベル行列を生成する際のブロック順序例を説明する図である。
【図8】画像管理DBレコードのデータ構成例を示す図である。
【図9】ラベル系列インデックスのデータこう政令を示す図である。
【図10】類似画像検索の処理手順を説明するフローチャートである。
【図11】ラベル成分インデックスのデータ構成例を示す図である。
【図12】ラベル列を比較し類似度を求める際に用いるラベル間のペナルティマトリックスの一例を示す図である。
【図13】本実施形態による類似度算出処理を説明する図である。
【図14】本実施形態における、DPマッチングを採用した類似度算出の手順を説明するフローチャートである。
【図15】本実施形態による動的なペナルティー値の設定手順を示すフローチャートである。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image search apparatus and method for searching for an image.
[0002]
[Prior art]
Conventionally, various techniques for searching for similar images have been proposed. Many techniques that have been put to practical use for performing similar image search on natural images often use color information as image feature amounts. And most of them search by using a combination of colors that are present in the ratio of RGB and many colors by taking a histogram relating to color information.
[0003]
[Problems to be solved by the invention]
However, in the above method, color position information is lost, so that the search accuracy is not necessarily high. For example, Japanese Patent Laid-Open No. 8-249349 discloses pattern matching using an image divided into a plurality of blocks and using respective feature amounts (representative colors). However, in this method, the distance of the feature amount between each block must be calculated for two images to be matched, which requires a huge amount of calculation. In particular, when a representative color is used as a feature quantity, three RGB data must be handled, and the calculation is further complicated. In addition, since the comparison is performed using the feature amount itself, the accuracy of the comparison is increased, but there is a problem that a similar image cannot be searched just by changing the angle of the image or the position of the object. In other words, the image angle is changed, the position of the object is changed, or the image search is appropriately performed while having a certain degree of ambiguity, such as absorbing a certain amount of difference in the image feature amount depending on the shooting conditions. So-called robust similar image search could not be performed.
[0004]
Therefore, when searching for a natural image in the prior art, it is common to assign a keyword to the image and perform an image search using this keyword. However, this keyword attaching operation is a labor-intensive operation. Further, for an image that has not been assigned a keyword, an operation of presenting a reduced image and selecting it manually is required, and the search operation is complicated. It was.
[0005]
The present invention has been made in view of the above-described problems, and an object of the present invention is to provide an image search apparatus and method capable of searching for similar images at high speed in consideration of the arrangement of image feature amounts.
[0006]
Another object of the present invention is to provide an image search apparatus and method that enable a similar image search that effectively absorbs a change in an image due to a change in shooting conditions such as a shooting angle and a shooting magnification. .
[0007]
[Means for Solving the Problems]
In order to achieve the above object, an image search apparatus according to the present invention comprises the following arrangement. That is,
An assigning unit that divides the image into a plurality of blocks and assigns a label according to the feature amount acquired for each block;
Generating means for generating a label matrix from the labels given by the giving means;
Storage means for storing the label matrix generated by the generation means in association with the image;
Search means for performing an image search based on a label matrix stored in the storage means,
A first matching unit that associates, by DP matching, a label unit in a row unit extracted from a label matrix of a search source image with a label unit in a unit of row extracted from a label matrix of a comparison destination image;
A second matching unit that obtains a similarity between the row sequence of the search source image and the row sequence obtained by the first matching unit by DP matching;
[0008]
Moreover, the image search method of the present invention that achieves the above object includes the following steps. That is,
To an image search device for searching for an image similar to a specified search source image from images stored in a storage meansCanAn image search method,
Image feature extraction meansThe image stored in the memory is divided into a plurality of blocks, and the image data belonging to each block is used.A calculation step of calculating a feature amount;
The label attaching means is the calculating stepCalculationWasAn assigning step of assigning a label to each block according to a feature amount;
The label matrix generation meansLabels given to each block in the giving processUsingA generation process for generating a label matrix;
A storage step of storing the label matrix generated in the generation step in the storage unit in association with the image;
Search meansA search step of performing an image search based on the label matrix stored in the storage means,
The search processThe search meansThe image specified as the search source image according to the specification of the search source imageGenerated from the calculation step, the applying step and the generating stepLabel matrixWhenCorresponding to the image as the comparison destination imageIn the storage meansExtract from stored label matrixdidA first matching step for associating a row-by-line label column with DP matching;
A second matching step of obtaining a similarity between the row sequence of the search source image and the row sequence obtained in the first matching step by DP matching.
[0009]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a preferred embodiment of the present invention will be described with reference to the accompanying drawings.
[0010]
FIG. 1 is a block diagram showing a control configuration of the image search apparatus of the present embodiment. In the figure,
[0011]
An
[0012]
In the above configuration, the
[0013]
FIG. 2 is a block diagram showing a functional configuration of the image search apparatus according to the present embodiment. In the figure, reference numeral 11 denotes a user interface unit, which detects various operation inputs from the user using the
[0014]
An
[0015]
An operation example of the image search apparatus of the present embodiment having the above configuration will be described below. In the following example, three colors of red (R), green (G), and blue (B) are adopted as image feature amounts focused on color, and description will be made using processing in a three-dimensional color space.
[0016]
[Image registration process]
First, processing performed at the time of image registration will be described. FIG. 4 is a flowchart showing the procedure of the image registration process according to this embodiment. First, in step S <b> 11, an image is read using the
[0017]
FIG. 6 is a diagram for explaining a multidimensional feature amount space according to the present embodiment. As shown in FIG. 6, the multi-dimensional feature space (RGB color space) is divided into a plurality of blocks (color blocks), that is, cells (color cells), and each cell (color cell) is uniquely identified by a serial number. Give a label. Here, the reason why the multi-dimensional feature space (RGB color space) is divided into a plurality of blocks is to absorb subtle differences in feature quantities (colors).
[0018]
For the multi-dimensional feature space, the image feature is not used as it is, and after obtaining and normalizing (normalizing) the average and variance of each parameter by experiment, for example, orthogonal transformation such as principal component analysis is performed, It is conceivable to use a meaningful dimension. The “significant dimension” is a dimension composed of principal component axes having a large contribution rate in the principal component analysis.
[0019]
In step S13, a predetermined image feature amount calculation process is performed on each divided block obtained in step S12 to determine which cell in the multi-dimensional feature amount space belongs to and a corresponding label. This process is performed for all blocks. That is, for each divided image block, calculation processing is performed to determine which color cell all pixels belong to, and the label of the most frequently used color cell is determined as the parameter label (color label) of the divided image block. Processing is performed for all blocks.
[0020]
When parameter labels are assigned to the respective blocks as described above, in step S14, the parameter labels assigned to the respective blocks are arranged in a predetermined block order, thereby obtaining a parameter label matrix (hereinafter referred to as a label matrix). ) Is generated. FIG. 7 is a diagram for explaining an example of a block order when generating a label matrix. The above parameter labels are arranged according to the numbers at the bottom of the divided image block shown in FIG. When storing the label matrix in the
[0021]
Here, in FIG. 7A, the divided blocks are scanned in the horizontal direction from left to right, and this horizontal scanning is performed from top to bottom. As a scanning method applicable to this embodiment,
-Horizontal direction (as shown in FIG. 7A, in addition to the order of scanning from left to right from top to bottom, as shown in FIGS. 7B to 7D, left There are four scanning methods, such as scanning from right to right, from bottom to top)
Vertical direction (4 scanning methods are possible, such as scanning from top to bottom from left to right).
[0022]
In this embodiment, the scanning method shown in FIG. 7A is adopted, but the other scanning methods described above can also be applied.
[0023]
Subsequently, in step S15, the label matrix and image data obtained as described above are stored in the
[0024]
The above is the process performed at the time of image registration.
[0025]
[Similar image search processing]
Next, similar image search processing will be described with reference to the flowchart of FIG. FIG. 10 is a flowchart for explaining the processing procedure of the similar image search. In the present embodiment, at the time of initialization, a label matrix group of an already registered image is obtained from the label sequence index in advance, and a label component index file is generated with each label component as a key. 19 is stored. Here, the initialization time may be either when the system is started up or when an application is started. Also, when there is a new image registration and this is registered in the image DB, this label component index is generated. FIG. 11 is a diagram illustrating a data configuration example of a label component index. As shown in FIG. 11, the label component index has, for each label component, an address group (column ID group) to a label matrix having the label therein. This label component index file does not need to be recreated until it is necessary to reflect image registration, deletion, and change.
[0026]
First, when a similar search source image is designated from the user interface unit 11 in step S21, the image ID of the designated similar search source image is acquired in step S22, and the label matrix of the original image is further obtained from the
[0027]
Next, in step S23, the label component index file is referred to, and a label matrix group (label matrix in the label series index) including labels that are the same as the label matrix of the similar search source image to some extent is acquired. This is because the processing is slowed down if all the label matrices of the registered image are compared, so it is similar in advance (a label matrix group including a label matrix of a similar search source image and a predetermined number or more of the same labels). This is to improve the processing speed by making a one-to-one comparison with the label matrix of the similar search source image after narrowing down. Of course, if it is acceptable to slow down the processing, it is possible to perform a high-accuracy search by comparing with all the label matrices of the registered image (in this case, step S23 is omitted).
[0028]
Next, in step S24, each label matrix acquired in step S23 is compared with the label matrix of the similar search source image, and the similarity is calculated. And it outputs as a search result with the similarity in order from the label matrix nearest to the label matrix of the similar search source image.
[0029]
Here, a method for performing similarity comparison (similarity calculation) between label matrices will be described. Hereinafter, the label matrix acquired in step S23 is referred to as a similar comparison target image.
[0030]
FIG. 12 is a diagram showing an example of a penalty matrix between labels used when comparing label matrices and obtaining similarity. The smaller the value in the matrix, the more similar. For example, the penalty of
[0031]
For example, a penalty matrix between labels as shown in FIG. 12 is introduced in order to reduce the penalty (distance) between adjacent cells during pattern matching between labels and to give a large penalty to distant cells. In step S24, the penalty matrices are considered and the label matrices are compared with each other. In this embodiment, two-dimensional DP matching described below (hereinafter referred to as two-dimensional DP matching) is used.
[0032]
FIG. 13 is a diagram for explaining similarity calculation processing according to this embodiment. The label matrix of the similar search source images acquired in step S22 described above can be arranged as shown in FIG. 13A according to the scanning method. If one of the label matrix groups extracted in step S23 is a similar comparison target image, the label matrix can be arranged as shown in FIG.
[0033]
First, the label column “abc” in the first row of the similar comparison destination image and the label columns (“123”, “456”, “789”) in the first to third rows of the similar search source image, respectively Is obtained by DP matching, and the row number in the similar search source image of the label column having the smallest distance is stored in the corresponding position of the similar line matrix ((c) of FIG. 13). If the obtained minimum distance is larger than a predetermined threshold, it is determined that no row is similar, and “!” Is stored at the corresponding position in the similar line matrix. Due to the nature of DP matching, for example, even if the angle of the image is slightly changed in the horizontal direction, a similar line (line) can be detected by the above processing. By performing the above processing for all rows (“def” and “ghi”) of the similar comparison target image, a similar line matrix in the column direction as shown in FIG. 13C is obtained.
[0034]
In FIG. 13C, a row similar to “abc” does not exist in the similar search source image, and a row similar to “def” is the first row of the similar search source image, a row similar to “ghi”. Is the second line of the similar search source image. The similarity between the similar line matrix obtained as described above and the standard line matrix (the row sequence of similar search source images, which is “123” in this example) is calculated using DP matching, Is output as the similarity between the similarity search source image and the similarity comparison target image. In DP matching, as is well known, the comparison is performed by expanding / contracting the label sequence to be compared (withstanding the partner to be compared without proceeding) so that the label sequence to be compared has the smallest similarity distance. I do. It is also possible to give a constraint condition (the width of the matching window) to what extent the expansion / contraction (withstand) can be made.
[0035]
FIG. 14 is a flowchart for explaining the similarity calculation procedure employing DP matching in this embodiment. The process described with reference to FIG. 13 will be further described with reference to the flowchart of FIG.
[0036]
First, in step S101, a variable i representing the row number of the similar comparison target image and a variable j representing the row number of the similar search source image are initialized to 1, and are set to indicate the first row. In step S102, the i-th label column of the similar comparison target image is acquired. For example, in the case of FIG. 13, if i = 1, “abc” is acquired. In step S103, the label column in the j-th row of the similar search source image is acquired. For example, in FIG. 13, if j = 1, “123” is acquired.
[0037]
In step S104, the distance between the two label columns obtained in steps S102 and S103 is obtained by DP matching using the color cell penalty matrix described in FIG. In step S105, if the distance obtained in step S104 is the minimum distance obtained so far with respect to the i-th row, the row number (j) is stored in the line matrix element LINE [i]. .
[0038]
The processing from step S103 to step S105 is performed for all rows of the similar search source image (steps S106 and S107). As described above, for the i-th label column of the similar comparison target image, the number of the closest row among the rows included in the similar search source image is stored in LINE [i]. Become.
[0039]
In step S108, LINE [i] obtained by the above processing is compared with a predetermined threshold (Thresh). If LINE [i] is equal to or greater than Thresh, the process proceeds to step S108, and “!” Indicating that no line is similar is stored in LINE [i].
[0040]
LINE [1] to LINE [imax] are obtained by executing the processing of steps S102 to S108 described above for all the rows of the similar comparison target image (steps S110 and S111). Output as [].
[0041]
Next, in step S113, DP matching between the standard line matrix “12... Imax” and the similar line matrix LINE [] is performed, and the distance between the two is calculated. Here, the standard line matrix is a matrix starting from 1 and increasing by 1 in the column direction.
Here, the penalty used in DP matching between the standard line matrix and the similar line matrix will be described. Two methods are conceivable for setting the DP matching penalty between the similar line matrix in the column direction and the standard line matrix. That is, there are two dynamic penalties and fixed penalties.
The dynamic penalty dynamically sets a penalty between line numbers, and the penalty between line numbers varies depending on the image. In the present embodiment, the distance of the label matrix in the horizontal (row) direction of the similar search source image is obtained, and a penalty between the rows is obtained based on the distance.
FIG. 15 is a flowchart showing a procedure for setting a dynamic penalty value according to this embodiment. In step S121, variable i is set to 1 and variable j is set to 2. Next, in step S122, the label column of the i-th row of the similar search source image is acquired, and in step S123, the label column of the j-th row of the similar search source image is acquired. In step S124, DP matching is performed on the i-th label column and the j-th label column of the similar search source image using a color penalty matrix to obtain a distance. In step S125, the DP matching distance obtained in step S124 is stored in LINE [i] [j] as a penalty between the i-th label column and the j-th label column of the similar search source image, It is stored in LINE [j] [i] as a penalty between the j-th label column and the i-th label column of the similar search source image.
Steps S123 to S125 are repeated until the value of variable j reaches jmax in step S126. As a result, for the i-th label column, a penalty value between the i + 1-th and jmax-th label columns is determined. Then, in steps S128, S129, and S130, the processes in steps S123 to S126 are repeated until the value of the variable i becomes imax-1. As a result, the penalty value determined in the above process is stored in LINE [i] “j” except for the diagonal component of i = j.
Next, in step S131, the penalty of the diagonal component of LINE [i] [j] that has not been determined in the above process is determined. Since this portion is i = j and is the same label string, the distance is 0, and thus
DP matching in step S113 is performed using the penalty between the label strings calculated for the similar search source image as described above, and the similarity between the similarity search source image and the similar comparison target image is acquired.
Another fixed penalty is a DP matching penalty of “0” if the labels match, or a certain size if it does not match or is compared to “!”. Give a penalty. In this case, the penalty is always the same regardless of the similar search source image. The process of step S113 is executed using such a fixed penalty, and the similarity between the similarity search source image and the similar comparison destination image is determined.
[0042]
The matching process described above has the following characteristics. If (a) and (b) in FIG. 13 are very similar, the similar line matrix is “123” and the distance is zero. If the similar line matrix is “! 12” or “212”, the similar comparison destination image may be shifted downward with respect to the similar search source image, and the similar line matrix is “23”. ! "Or" 233 ", there is a possibility that the similar comparison target image is shifted upward with respect to the similar search source image. If the similar line matrix is “13!” Or “! 13”, there is a possibility that the similar comparison target image is reduced with respect to the similar search source image. Similarly, it is possible to detect a case where the similar comparison target image is an enlargement of the similar search source image.
[0043]
As described in step S113 above, by performing DP matching between the similar line matrix and the standard line matrix, the shift in the vertical direction is effectively absorbed. Therefore, as described above, the difference between the similar search source image and the similar comparison target image due to the upward or downward shift, enlargement, reduction, or the like is effectively absorbed, and a good similarity search is performed. Is possible.
[0044]
That is, the two-dimensional DP matching of the present embodiment is a matching that allows ambiguity before and after each label column of the label matrix, and has a property of absorbing the influence of the image positional deviation. Also, it is expected that the color of the block will be slightly different by changing the position of the object due to the difference in angle and the position of the object cut by the block, but this difference is absorbed by the above penalty matrix. Will be. As described above, the synergistic effect of the matching that allows ambiguity by the two-dimensional DP matching of the present embodiment and the allowance of ambiguity of the feature amount by the penalty matrix has no influence on the vertical / horizontal enlargement / reduction shift. Less matching is possible.
However, it is preferable to use a dynamic penalty between the dynamic penalty and the fixed penalty. For example, if there is a similar source search image of the whole wheat field, it is conceivable that every line has a similar label sequence. On the other hand, if there is an image of the whole wheat field in the similar comparison destination image, all the similar line matrices of this image may have the
On the other hand, if a fixed penalty is used, the penalty value increases for “123” and “111”, and the similarity decreases.
[0045]
The similarity calculation process described above is performed for all the label matrices acquired in step S23, and the obtained similarities are sorted in descending order, and the process proceeds to step S25. In step S25, a search is performed using a label matrix having a high similarity from the label series index as a key, and a corresponding image ID is acquired. Thereafter, this process is repeated for each label matrix output in descending order of similarity, and as a result, image ID groups of similar images are obtained. In step S26, the
[0046]
By performing DP matching in the horizontal and vertical directions, that is, two-dimensionally as described above, it is possible to perform a search even if the image angle changes in the horizontal and vertical directions and further in the oblique direction, or the object moves. It is. Also, it is possible to search for a zoomed-up photographed image and a macro photographed image by the DP matching time-series expansion / contraction characteristics.
[0047]
In the above embodiment, the similar line matrix is obtained using the horizontal block and the corresponding label column. However, the similar line matrix may be obtained using the vertical block and the corresponding label column. It can be realized by the same method as described above.
[0048]
In the above embodiment, an example of performing natural image search has been described. However, it is obvious to those skilled in the art that the present invention is a technique that can also be applied to search for artificial images such as CG and CAD. .
[0049]
In the above embodiment, color information is selected as the image feature amount. However, the present invention is not limited to this, and the present invention can be implemented by obtaining other image parameters for each image division block.
[0050]
In this embodiment, an example of recognition with one feature quantity is given. However, a high-speed search from a plurality of feature quantities may be performed by performing a logical operation with a search result with another feature quantity. Is possible.
[0051]
When a search using a plurality of image feature amounts is performed on one image, the similarity obtained in the present invention is regarded as one new image feature amount, and a multivariate analysis using a plurality of parameters is performed. It is also possible to perform a search using a statistical distance measure. In the above-described embodiment, similar images having a degree of similarity exceeding a predetermined value are obtained as search results. However, a predetermined number of images may be output as search results in order from images with high similarity. Needless to say.
[0052]
Note that the present invention can be applied to an apparatus (for example, a copier, a facsimile machine, etc.) composed of a single device even if it is applied to a system composed of a plurality of devices such as a host computer, an interface device, a reader, and a printer. You may apply.
[0053]
Another object of the present invention is to supply a storage medium storing software program codes for implementing the functions of the above-described embodiments to a system or apparatus, and the computer (or CPU or MPU) of the system or apparatus stores the storage medium. Needless to say, this can also be achieved by reading and executing the program code stored in the.
[0054]
In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention.
[0055]
As a storage medium for supplying the program code, for example, a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.
[0056]
Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
[0057]
Further, after the program code read from the storage medium is written into a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.
[0058]
As described above, according to the present embodiment, a feature amount group (a group of feature amounts obtained by dividing a feature amount space) is expressed by one symbol (ie, labeled), and the similarity between labels is expressed. The base distance is given by the above-described two-dimensional DP matching and penalty matrix. For this reason, the amount of calculation of the distance between the blocks of two images can be greatly reduced, and similar feature amounts are represented by the same label, so that similar images can be searched well. it can.
[0059]
In addition, (1) The concept of distance between labels using a penalty matrix is introduced, and (2) the label position to be compared can be moved ambiguously back and forth so that the total distance is minimum (similarity is maximum). By introducing the above-described two-dimensional DP matching that realizes matrix comparison, it is possible to search even if the angle of the image changes slightly, and it is possible to search for images having similar atmospheres.
[0060]
Furthermore, according to the above-described embodiment, the image search is further speeded up by using the index database (label series index or label component index).
[0061]
That is, according to the above-described embodiment, it is possible to perform a high-speed search for similar images in consideration of the arrangement of image feature amounts, and to search for similar images that absorb differences due to changes in shooting conditions, which has been difficult in the past. It is possible to perform robust similar image search such as absorbing a certain amount of image feature amount due to image angle change, object position change, or other shooting conditions fluctuation etc. Become.
[0062]
【The invention's effect】
As described above, according to the present invention, it is possible to search for a similar image at high speed in consideration of the arrangement of the feature amount of the image. Further, according to the present invention, it is possible to perform a similar image search that effectively absorbs a change in an image due to a change in shooting conditions such as a shooting angle and a shooting magnification.
[0063]
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a control configuration of an image search apparatus according to an embodiment.
FIG. 2 is a block diagram illustrating a functional configuration of the image search apparatus according to the present embodiment.
FIG. 3 is a diagram for explaining a storage state of image data in an
FIG. 4 is a flowchart illustrating a procedure of image registration processing according to the present embodiment.
FIG. 5 is a diagram illustrating an example of block division of an image according to the present embodiment.
FIG. 6 is a diagram illustrating a multidimensional feature amount space according to the present embodiment.
FIG. 7 is a diagram illustrating an example of a block order when generating a label matrix.
FIG. 8 is a diagram illustrating a data configuration example of an image management DB record.
FIG. 9 is a diagram showing a data order for a label series index.
FIG. 10 is a flowchart illustrating a similar image search processing procedure.
FIG. 11 is a diagram illustrating a data configuration example of a label component index.
FIG. 12 is a diagram illustrating an example of a penalty matrix between labels used when comparing a sequence of labels to obtain a similarity.
FIG. 13 is a diagram illustrating similarity calculation processing according to the present embodiment.
FIG. 14 is a flowchart for explaining a similarity calculation procedure employing DP matching in the present embodiment.
FIG. 15 is a flowchart showing a procedure for setting a dynamic penalty value according to the present embodiment.
Claims (16)
前記付与手段で付与されたラベルによりラベル行列を生成する生成手段と、
前記生成手段で生成されたラベル行列を前記画像に対応付けて記憶する記憶手段と、
前記記憶手段に記憶されたラベル行列に基づいて画像検索を行う検索手段とを備え、
前記検索手段が、検索元画像のラベル行列より抽出される行単位のラベル列と、比較先画像のラベル行列より抽出される行単位のラベル列とをDPマッチングによって対応づける第1マッチング手段と、
前記検索元画像の行並びと、前記第1マッチング手段で得られた行並びとの類似度をDPマッチングによって求める第2マッチング手段とを備える
ことを特徴とする画像検索装置。An assigning unit that divides the image into a plurality of blocks and assigns a label according to the feature amount acquired for each block;
Generating means for generating a label matrix from the labels given by the giving means;
Storage means for storing the label matrix generated by the generation means in association with the image;
Search means for performing an image search based on the label matrix stored in the storage means,
A first matching unit that associates, by DP matching, a label unit in a row unit extracted from a label matrix of a search source image with a label unit in a unit of row extracted from a label matrix of a comparison destination image;
An image search apparatus comprising: second matching means for obtaining a similarity between the line arrangement of the search source images and the line arrangement obtained by the first matching means by DP matching.
ことを特徴とする請求項1に記載の画像検索装置。The image search apparatus according to claim 1, wherein the label column in row units of the label matrix is an array corresponding to a horizontal direction of the image.
ことを特徴とする請求項1に記載の画像検索装置。The image search apparatus according to claim 1, wherein the label columns in row units of the label matrix are arranged corresponding to a vertical direction of the image.
前記付与手段は、前記ブロックの夫々について特徴量を算出し、算出された特徴量が属するセルに付与されているラベルを当該ブロックに付与する
ことを特徴とする請求項1に記載の画像検索装置。The label is a unique label given to each of the cells obtained by dividing the multidimensional feature space into a plurality of cells.
The image search apparatus according to claim 1, wherein the assigning unit calculates a feature amount for each of the blocks, and assigns a label attached to a cell to which the calculated feature amount belongs to the block. .
ことを特徴とする請求項1に記載の画像検索装置。2. The image search apparatus according to claim 1, further comprising an output unit that outputs an image having a similarity degree obtained by the second matching unit exceeding a predetermined value as a search result.
ことを特徴とする請求項1に記載の画像検索装置。The first matching means has a table that holds a penalty value based on the distance between cells for each pair of label values, and performs DP matching on the distance between the label sequence of the search source image and the label sequence of the comparison destination image The image search apparatus according to claim 1, wherein the table is referred to when calculating using a technique.
ことを特徴とする請求項1に記載の画像検索装置。The second matching means has a table that holds a penalty value for each pair of row numbers in a row sequence, and uses the DP matching method to calculate the similarity between the row sequence of the search source image and the row sequence of the comparison destination image. The image search apparatus according to claim 1, wherein the table is referred to when calculating.
前記第2マッチング手段は、前記検索元画像の行並びと前記比較先画像の行並びの類似度をDPマッチング手法を用いて算出するに際して、前記保持手段で保持されたペナルティー値を参照する
ことを特徴とする請求項1に記載の画像検索装置。Based on the distance between each label matrix of the search source image, the penalty value for each pair of row numbers in the row sequence is determined, further comprising holding means for holding this,
The second matching means refers to the penalty value held by the holding means when calculating the similarity between the row arrangement of the search source image and the row arrangement of the comparison target image using a DP matching technique. The image search apparatus according to claim 1, wherein:
ことを特徴とする請求項6に記載の画像検索装置。The first matching unit, when calculating the similarity between the label sequence of the image of the search source and the label sequence stored in the storage unit, further gives a penalty and a constraint due to the series expansion / contraction of the label comparison. The image search device according to claim 6.
ことを特徴とする請求項9に記載の画像検索装置。The image search apparatus according to claim 9, wherein the penalty and the constraint associated with the series expansion / contraction of the label comparison are acquired based on a theory of DP matching.
前記出力手段は、前記検索手段によって算出された類似度が所定値を越えるラベル行列を取得し、前記第1テーブルを参照して取得されたラベル行列に対応する画像を抽出し、これを検索結果として出力する
ことを特徴とする請求項5に記載の画像検索装置。A first table for registering an image ID group using the label matrix generated by the generating means as a key;
The output means acquires a label matrix whose similarity calculated by the search means exceeds a predetermined value, extracts an image corresponding to the label matrix acquired with reference to the first table, and uses this as a search result The image search apparatus according to claim 5, wherein the image search apparatus outputs the image as
ことを特徴とする請求項11に記載の画像検索装置。12. The image search apparatus according to claim 11, wherein a label matrix that is a target of similarity calculation in the search means is a label matrix that is a key of the first table.
ことを特徴とする請求項11に記載の画像検索装置。The label matrix that is the target of similarity calculation in the search means includes a label that includes a predetermined number or more of the same label components as the label components included in the label matrix of the search source image among the label matrices stored in the storage means. The image search device according to claim 11, wherein the image search device is a matrix.
前記元画像に含まれるラベル成分と同一のラベル成分を所定数以上含むラベル行列を前記第2テーブル参照して取得し、取得されたラベル行列を前記演算手段における類似度算出の対象とする
ことを特徴とする請求項13に記載の画像検索装置。The label matrix stored in the storage means further includes a second table in which each label component is used as a key and a label matrix group including the label component is registered.
Obtaining a label matrix including a predetermined number or more of the same label components as those included in the original image with reference to the second table, and using the obtained label matrix as a target of similarity calculation in the computing means. The image search apparatus according to claim 13, wherein
画像特徴量抽出手段が、メモリに格納された画像を複数のブロックに分割し、各ブロックに属する画像データを用いて特徴量を算出する算出工程と、
ラベル付与手段が、前記算出工程で算出された特徴量に応じて各ブロックにラベルを付与する付与工程と、
ラベル行列生成手段が、前記付与工程で各ブロックに付与されたラベルを用いてラベル行列を生成する生成工程と、
前記生成工程で生成されたラベル行列を前記画像に対応付けて前記記憶手段に記憶する記憶工程と、
検索手段が、前記記憶手段に記憶されたラベル行列に基づいて画像検索を行う検索工程とを備え、
前記検索工程は、前記検索手段が、検索元画像の指定に応じて、該検索元画像として指定された画像から前記算出工程、前記付与工程及び前記生成工程により生成されたラベル行列と、比較先画像としての画像に対応して前記記憶手段に記憶されているラベル行列より抽出した行単位のラベル列とをDPマッチングによって対応づける第1マッチング工程と、
前記検索元画像の行並びと、前記第1マッチング工程で得られた行並びとの類似度をDPマッチングによって求める第2マッチング工程とを備えることを特徴とする画像検索方法。Than the stored image in the storage unit, an image retrieval method definitive the image search apparatus for searching an image similar to the specified search source image,
An image feature amount extraction unit divides the image stored in the memory into a plurality of blocks, and calculates a feature amount using image data belonging to each block ; and
A labeling unit, a labeling process for labeling each block according to the feature amount calculated in the calculation process ;
A generation process in which a label matrix generation unit generates a label matrix using the label given to each block in the giving process;
A storage step of storing the label matrix generated in the generation step in the storage unit in association with the image;
A search means comprising a search step for performing an image search based on a label matrix stored in the storage means,
In the search step , the search means , according to the specification of the search source image, the label matrix generated by the calculation step, the adding step and the generation step from the image specified as the search source image, and the comparison destination A first matching step for associating a label unit in a row unit extracted from a label matrix stored in the storage unit corresponding to an image as an image by DP matching;
An image search method comprising: a second matching step of obtaining a similarity between the row sequence of the search source image and the row sequence obtained in the first matching step by DP matching.
メモリに格納された画像を複数のブロックに分割し、各ブロックに属する画像データを用いて算出した特徴量に応じて各ブロックにラベルを付与する付与手段と、
前記付与手段で各ブロックに付与されたラベルによりラベル行列を生成する生成手段と、
前記生成手段で生成されたラベル行列を前記画像に対応付けて前記記憶手段に記憶させる手段と、
前記記憶手段に記憶されたラベル行列に基づいて画像検索を行う検索手段とを備え、
前記検索手段が、検索元画像の指定に応じて、該検索元画像として指定された画像に対応して記憶されているラベル行列より抽出される行単位のラベル列と、比較先画像としての画像に対応して記憶されているラベル行列より抽出される行単位のラベル列とをDPマッチングによって対応づける第1マッチング手段と、
前記検索元画像の行並びと、前記第1マッチング工程で得られた行並びとの類似度をDPマッチングによって求める第2マッチング手段とを備える画像検索装置として機能させる制御プログラムを格納したことを特徴とする記憶媒体。In order to cause the computer to execute an image search process for searching for an image similar to the designated search source image from the image stored in the storage means ,
An assigning unit that divides an image stored in a memory into a plurality of blocks and assigns a label to each block according to a feature amount calculated using image data belonging to each block;
Generating means for generating a label matrix from the labels given to each block by the giving means ;
And means for storing in the storage means in association with the label matrix generated by said generating means to said image,
Search means for performing an image search based on a label matrix stored in the storage means,
In response to the specification of the search source image, the search means extracts a row-unit label column extracted from a label matrix stored corresponding to the image specified as the search source image, and an image as a comparison destination image First matching means for associating the row-by-row label column extracted from the label matrix stored in correspondence with DP by DP matching;
A control program is stored that functions as an image search device including a second matching unit that obtains a similarity between the row sequence of the search source image and the row sequence obtained in the first matching step by DP matching. A storage medium.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19016297A JP3720538B2 (en) | 1997-07-15 | 1997-07-15 | Image search apparatus and method |
US09/042,692 US6400853B1 (en) | 1997-03-19 | 1998-03-17 | Image retrieval apparatus and method |
DE69810369T DE69810369T2 (en) | 1997-03-19 | 1998-03-18 | Image retrieval device and method |
EP98301954A EP0866409B1 (en) | 1997-03-19 | 1998-03-18 | Image retrieval apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19016297A JP3720538B2 (en) | 1997-07-15 | 1997-07-15 | Image search apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1139309A JPH1139309A (en) | 1999-02-12 |
JP3720538B2 true JP3720538B2 (en) | 2005-11-30 |
Family
ID=16253466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19016297A Expired - Fee Related JP3720538B2 (en) | 1997-03-19 | 1997-07-15 | Image search apparatus and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3720538B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003109009A (en) * | 2001-09-26 | 2003-04-11 | Communication Research Laboratory | Method and instrument for measuring similarity of image |
JP4235604B2 (en) | 2004-11-22 | 2009-03-11 | キヤノン株式会社 | Image processing apparatus, image processing method, and program |
JP2008140267A (en) * | 2006-12-04 | 2008-06-19 | National Institute Of Advanced Industrial & Technology | Motion recognition apparatus and method for processing motion recognition |
CN105389333B (en) * | 2015-10-13 | 2019-04-09 | 深圳市红坚果科技有限公司 | A kind of searching system construction method and server architecture |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3311077B2 (en) * | 1993-05-06 | 2002-08-05 | 松下電器産業株式会社 | Image retrieval device |
JPH07160725A (en) * | 1993-12-03 | 1995-06-23 | Toshiba Corp | Picture retrieval device |
JPH08137908A (en) * | 1994-11-15 | 1996-05-31 | Canon Inc | Method and device for retrieving picture |
JP3727967B2 (en) * | 1995-01-31 | 2005-12-21 | キヤノン株式会社 | Image search method and apparatus |
JP3199976B2 (en) * | 1995-03-14 | 2001-08-20 | 正夫 坂内 | Image database device |
JPH0916765A (en) * | 1995-06-30 | 1997-01-17 | Meidensha Corp | Matching processing method for two-dimensional image |
-
1997
- 1997-07-15 JP JP19016297A patent/JP3720538B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1139309A (en) | 1999-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6584223B1 (en) | Image search apparatus and method | |
US6400853B1 (en) | Image retrieval apparatus and method | |
US6941003B2 (en) | Method of fast fingerprint search space partitioning and prescreening | |
JP3754791B2 (en) | Image search apparatus and method | |
JP3952592B2 (en) | Image search apparatus and method | |
US6678687B2 (en) | Method for creating an index and method for searching an index | |
EP1634135B1 (en) | Systems and methods for source language word pattern matching | |
US20040024758A1 (en) | Image classification method, image feature space displaying method, program, and recording medium | |
EP3091450B1 (en) | Method and system for performing binary searches | |
JP4235604B2 (en) | Image processing apparatus, image processing method, and program | |
JP2004522228A (en) | A method for representing and comparing digital images. | |
US9817845B2 (en) | Three-dimensional image file searching method and three-dimensional image file searching system | |
US7023446B1 (en) | Presentation of images resembling each other | |
CN111801665A (en) | Hierarchical Locality Sensitive Hash (LSH) partition indexing for big data applications | |
Wang et al. | Chinese document image retrieval system based on proportion of black pixel area in a character image | |
JP3720573B2 (en) | Image search apparatus and method | |
JP3720538B2 (en) | Image search apparatus and method | |
JP3621323B2 (en) | Video registration / search processing method and video search device | |
Pengcheng et al. | Fast Chinese calligraphic character recognition with large-scale data | |
Schreck et al. | A new metaphor for projection-based visual analysis and data exploration | |
Cheung et al. | Video similarity detection with video signature clustering | |
Dimitrovski et al. | Fast and scalable image retrieval using predictive clustering trees | |
JP2001134593A (en) | Method and device for neighborhood data retrieval and storage medium stored with neighborhood data retrieving program | |
Munarko et al. | HII: Histogram Inverted Index for Fast Images Retrieval. | |
JP2007079616A (en) | Information search device, control method for information search system, and control program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041022 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050307 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050428 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050822 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050908 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090916 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090916 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100916 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100916 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110916 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110916 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120916 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120916 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130916 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |