JP3647075B2 - Image search method and apparatus - Google Patents

Image search method and apparatus Download PDF

Info

Publication number
JP3647075B2
JP3647075B2 JP01069395A JP1069395A JP3647075B2 JP 3647075 B2 JP3647075 B2 JP 3647075B2 JP 01069395 A JP01069395 A JP 01069395A JP 1069395 A JP1069395 A JP 1069395A JP 3647075 B2 JP3647075 B2 JP 3647075B2
Authority
JP
Japan
Prior art keywords
image
search
area
composite
region
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
Application number
JP01069395A
Other languages
Japanese (ja)
Other versions
JPH08202728A (en
Inventor
宏明 佐藤
洋 岡崎
和子 辻村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP01069395A priority Critical patent/JP3647075B2/en
Priority to US08/555,714 priority patent/US6246804B1/en
Priority to EP95308124A priority patent/EP0713186B1/en
Priority to DE69535098T priority patent/DE69535098T2/en
Publication of JPH08202728A publication Critical patent/JPH08202728A/en
Priority to US09/476,120 priority patent/US6181818B1/en
Application granted granted Critical
Publication of JP3647075B2 publication Critical patent/JP3647075B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【産業上の利用分野】
本発明は、例えば画像データベース或は画像ファイルシステム等において、画像もしくは図形を指定して、それに類似する画像データを検索する画像検索方法及びその装置に関するものである。
【0002】
【従来の技術】
従来より、画像ファイル形式で記憶された複数の画像の中から所望の画像を検索する画像検索方法として、以下に示すような手法が用いられてきた。
(1)検索対象となる画像が入力されると、その画像と、画像ファイルに記憶されている画像データと順次重ね合わせていき、検索画像と画像ファイルの各画像との間の画素の差の総和を求め、その最小値を検索画像と画像ファイルの画像データとの差とする、いわゆるテンプレートマッチング法を用い、この差が所定以下の画像データを類似画像として選び出す方法(テンプレートマッチング方の詳細は、画像処理の教科書、例えば、コンピュータ画像処理入門、総研出版,5.6 マッチング,pp.148−152)がある。
(2)画像ファイルに記憶されている画像データを、予め幾つかの性質の一様な領域に区分けし、それぞれの画像領域を記述したデータと、検索画像もしくは検索図形との対応を面積・2次モーメントなどの類似度を用いて計算し、この類似度が大きいものを類似画像として選択する方法(例えば、概略画像を用いた画像検索:平田恭二,原良憲,情報処理学会研究会資料,DE92−2)等があった。
【0003】
【発明が解決しようとする課題】
しかしながら上記従来例(1)では、検索対象の画像データに対して指定された画像を移動させ、その移動毎に対応する画素数の差を計算しなければならないため検索処理に多くの時間を要していた。また、検索に際して指示された画像を画像データの2次元の領域内で十分に微小な距離毎に移動させて比較しないと正確な検索結果が得られないことから、非常に多量の計算時間を要するという問題があった。
【0004】
また、上記従来例(2)では、検索される画像ファイルの画像データの一領域が、検索対象として指示された画像にそのまま1対1に対応していないと、正しく検索できないという問題があった。
【0005】
ここで、自動的に画像データを複数の領域に分割する、いわゆる領域分割手法においては、しばしば人間が一つの領域と認識している対象エリアが複数の部分に分けて抽出されるため、このような制限は実用上の大きな問題となっていた。
【0006】
本発明は上記従来例に鑑みてなされたもので、画像データ中の検索領域が複数の領域に分割されて抽出された場合にも効率的に画像データを検索できる画像検索方法及びその装置を提供することを目的とする。
【0007】
また本発明の目的は、一つの領域として認識される画像データの領域に即して分割した画像データに基づいて画像を検索できる画像検索方法及びその装置を提供することにある。
【0008】
また本発明の他の目的は、画像の類似度の計算に要する時間を短縮して、効率良く画像を検索できる画像検索方法及びその装置を提供することにある。
【0009】
【課題を解決するための手段】
上記目的を達成するために本発明の画像検索装置は以下のような構成を備える。即ち、
画像中の個々の領域に対する情報を記述した画像記述情報を参照情報として、検索指定された画像と類似する画像を含む画像データを検索する画像検索装置であって、前記画像中の個々の領域のそれぞれと、検索が指定された検索画像とに応じて前記個々の領域より前記検索画像に含まれる単一領域を検出する単一領域処理手段と、前記単一領域のそれぞれとの組み合わせと前記検索画像とに応じて前記検索画像に含まれる前記単一領域を複合した複合領域を求める複合領域処理手段と、前記複合領域と前記検索画像との類似度を求める類似度検出手段と、前記類似度検出手段により求められた類似度に応じて画像データを検索する検索手段とを有する。
【0010】
上記目的を達成するために本発明の画像検索方法は以下のような工程を備える。即ち、 検索指定された検索画像と類似する画像を含む画像データを画像ファイルから検索する画像検索装置における画像検索方法であって、
検索が指示された検索画像を検索画像メモリに記憶する工程と、
前記画像ファイルに記憶された画像中の個々の領域の位置、形状及び色情報に関する情報を記述した記述ファイルを参照して、前記画像中の個々の領域が前記検索画像メモリに記憶された前記検索画像に含まれるか否かを判定する判定工程と、
前記判定工程で検索画像に含まれると判定された領域の記述情報と、前記画像に対する前記検索画像の移動可能領域を単一領域メモリに記憶する工程と、
前記記述情報と前記移動可能領域とに基づいて、前記単一領域メモリに記憶された各領域が同時に前記検索画像に内包される条件を満たすと判定された場合に前記領域を複合した複合領域を求めて複合領域メモリに記憶する工程と、
前記複合領域メモリに記憶された前記複合領域と前記検索画像との類似度を計算する計算工程と、
前記計算工程で計算された前記類似度に応じて前記検索画像を含む画像データを検索する工程とを有することを特徴とする。
【0011】
【作用】
以上の構成において、画像中の個々の領域のそれぞれと、検索が指定された検索画像とに応じて前記個々の領域より検索画像に含まれる単一領域を検出し、その単一領域のそれぞれとの組み合わせと検索画像とに応じて、その検索画像に含まれる単一領域を複合した複合領域を求める。そして、この複合領域とその検索画像との類似度を求め、求められた類似度に応じて画像データを検索するように動作する。
【0012】
【実施例】
以下、添付図面を参照して本発明の好適な実施例を詳細に説明する。
【0013】
図1は本発明の一実施例の画像検索装置における処理の流れを機能的に示すブロック図である。
【0014】
図1において、100は検索したい画像(以下、検索画像)を示し、この検索が指示された検索画像100は、検索画像メモリ101に記憶される。102は単一領域処理部で、各画像データの内容を、その画像データの特徴を用いて記述した記述ファイル110を参照し、各画像データに含まれる個々の領域が、検索画像に含まれるかどうかを判定し、含まれる場合には、その画像データのその領域の記述情報と、検索画像の移動可能領域の情報とを、単一領域メモリ103に追加する。104は複合領域処理部で、複合領域に対して、それを構成する全ての領域が同時に検索画像に内包されるといった条件を満たすかどうかを判定し、内包される場合に、その領域の記述情報と、検索画像の移動可能領域の情報とを複合領域メモリ105に追加する。
【0015】
106は最大値選択部で、複合領域処理部104により複合領域メモリ105に格納された複合領域と検索画像との類似度を計算し、この類似度の値の最大値を、それぞれの画像領域に対する類似度として選択する。107は順序化部で、それぞれの画像領域に対する検索画像の類似度を入力し、その類似度の大きい方からK個分の画像データを選択する。109は画像データアクセス部で、順序化部107で選択された画像データを、画像ファイル109にアクセスして読み出す。111は、こうして検索された画像を表示する表示部である。
【0016】
単一領域処理部102は、ユーザである検索者から与えられた検索画像(図形も含む)が格納された検索画像メモリ101と、画像ファイル109に記憶された画像データ中の個々の領域の面積や境界点座標列などが記述された画像記述ファイル110を参照し、画像記述ファイル110の個々の領域に対して、その領域が検索画像に含まれるという条件の下に移動可能な領域である移動可能領域を計算し、その領域が検索画像に含まれるという条件を満たすか否かを判定すると共に、含まれる場合には、その領域の記述情報と、検索画像の移動可能領域の情報とを単一領域メモリ103に追加する。
【0017】
複合領域処理部104は、検索画像メモリ101の内容(検索画像)と、単一領域メモリ103内の領域情報と、複合領域メモリ105内の複合領域情報とを入力とし、単一領域を組み合わせた複合領域及び複合領域と単一領域を組み合わせた複合領域を生成し、それらの複合領域が検索画像に含まれるという条件を満たすか否かを判定すると共に、その領域が検索画像に含まれる場合に、複合領域の記述情報と検索画像の移動可能領域の情報とを複合領域メモリ105に追加する。
【0018】
最大値選択部106は、複合領域処理部104により選択された、複合領域が検索画像に含まれるという条件を満足する複合領域メモリ105内の複合領域に対して、その複合領域と検索画像との類似度を計算し、一枚分の画像データに含まれる全ての領域に対する類似度の最大値を選択し、これをその画像データに対する類似度として出力する。
【0019】
順序化部107は、最大値選択部106より得られる各々の画像データに対する類似度を入力し、類似度の大きい順よりk個分の画像データをソーティングしつつ選択する。データアクセス部108は、順序化部107の内部メモリに格納されているソーティングされた各画像データの類似度情報を用い、類似度の大きい方から、対応する画像データを画像ファイル109より複数枚分読み出して表示部(ディスプレイ)111に表示する。
【0020】
図2は、本実施例の画像検索装置における画面の表示例を示す図である。
【0021】
図2において、201はユーザが検索したい画像(検索画像)を書き込む図形入力ウィンドウである。202は、ユーザが検索画像の種類などを指定する条件入力ウィンドウである。203は、検索した結果の画像を、例えば類似度の順に表示する検索結果表示ウィンドウである。204はカラーパレットで、ユーザが検索画像に与える色情報を選択するのに使用される。205は付属情報表示ウィンドウで、検索結果である画像に付属する付属情報を表示する。
【0022】
以上の構成において、ユーザは条件入力ウィンドウ202に検索したい画像データ(検索画像)の種類などを指定して入力すると共に、その検索したい画像データ中にある部分画像を模した図形を図形入力ウィンドウ201に入力し、その図形の色をカラーパレット204を用いて指定する。
【0023】
こうして指定された画像検索条件に基づいて画像データの検索を行った結果、検索された結果を示す画像データが検索結果表示ウィンドウ203に表示されると共に、その検索結果の画像に付随する情報が付属情報表示ウィンドウ205に表示される。
【0024】
図3は、本発明の第1実施例の画像検索処理を説明する図であり、図1に示す単一領域処理部102を実現する処理を示す機能構成図である。
【0025】
図4は、検索画像の一例を表した図である。ここでは検索画像は、多角形の図形であり、検索画像情報は、例えば指定された図形の頂点列、図形の縦横幅、図形の面積、色情報などで構成されている。また、領域記述情報の単位となる領域は、画像ファイル109に記憶されている検索対象の画像データに対して当該分野の技術者に知られている領域分割処理を適用することにより得られる。このような領域分割処理は、例えば、富永昌冶:「カラー画像の色分類と分割」、情報処理学会論文誌,Vol.31,No.11,pp.1589−1598,1990,Nov.に示されている。
【0026】
図5は、検索対象である画像データの領域分割結果の一例を模式的に表した図である。ここで領域記述情報は、各領域に対して(領域の輪郭点列、領域の起点、領域の縦横幅、領域の面積、領域の平均色情報など)を含んでいる。
【0027】
図3の301は色情報判定部、302はサイズ情報判定部、303は移動可能領域計算部、304は領域情報判定部である。
【0028】
入力された検索画像と、検索対象となる画像データの領域記述情報とに基づいて色情報判定部301が両者の色情報の差を計算し、その差が前もって決められた閾値よりも大きければ不一致(検索画像の一部にならない)と判断して検索対象画像より除外する。この色情報の差は、検索画像の色を(R,G,B)、画像データの領域の色を(r,g,b)とした時、以下のように計算できる。
【0029】
D=|R−r|+|G−g|+|B−b|
次に、サイズ情報判定部302が両者の縦幅・横幅を比較し、例えば図5に示す分割された各領域の縦もしくは横幅が検索画像の縦・横幅よりも大きければ不一致(検索画像の一部にならない)と判断して検索対象より除外する。
【0030】
色情報判定部301及びサイズ情報判定部302で不一致と判定されなかった場合には、移動可能領域計算部303が、検索対象画像の領域記述情報の個々の領域に対して、検索画像に、その領域が含まれる平行移動範囲を示す移動可能領域を計算する。そして領域情報判定部304が、この計算された移動可能領域が空領域か否かを判定し、移動可能領域が空である場合には不一致と判断して、その画像データを検索対象より除外する。このようにして、検索画像の内部に含まれ得る領域のみが検索対象画像として選択される。
【0031】
図6は、図3の移動可能領域計算部303における、移動可能領域の境界となる境界線の検出処理を示した流れ図である。
【0032】
まずステップS1で、最大値を“−9999999”に設定し、線分Fの式をF=aj×x+bj×yに設定する。次にステップS2に進み、検索画像の頂点列Qj(jは各頂点に対応するインデックス)より、隣り合う頂点座標QjとQj+1とを結ぶ稜線Ejの方程式
aj×x+bj×y+cj=0
を求め、各領域の境界点列Pi(iは各点に対応するインデックス)に対して、稜線Ejの方程式の係数(aj,bj)と境界点Piの座標(Xi,Yi)から
F=aj×Xi+bj×Yi
を計算する(ステップS3)。次にステップS4に進み、一つの領域の境界点列に対するFの最大値FMAX(j)を計算する(尚、検索画像の頂点列の順序は、時計回り方向に並ぶ必要があるため、頂点列が反時計回り方向の場合には、前もって逆順に並べ直す)。この最大値がそれまでに求めた値よりも大きい時はステップS5で最大値を更新する。ステップS6では、全ての境界点Pに対する処理が終了したかを調べ、終了していない時はステップS7に進み、インデックスiを+1してステップS2に戻る。
【0033】
このようにして、領域境界点列Piの全ての点を含む境界線aj×x+bj×y−FMAX(j)=0を規定するFMAX(j)が求められるとステップS8で、そのFMAXを登録し、ステップS9で、検索画像の頂点列から構成される全ての稜線Ejに対してこの処理が実施されたかを調べ、そうでない時はステップS10でインデックスjを+1してステップS1に戻ることにより、全ての境界線を求める。
【0034】
図7は、図6のフローチャートで示された処理結果を説明するための模式図である。ここでは、検索画像(図4)を平行移動した際に、図の中央にある領域700が、その検索画像内に含まれる限界が矢印で示されている。これら矢印の先が指示している直線を方程式で表したのが
aj×x+bj×y−FMAX(j)=0
である。
【0035】
そして、図7における画像中の領域700に対して、領域700の境界点列Pi=(Xi,Yi)は
aj×Xi+bj×Yi<=FMAX(j)
を満足し、X及びY方向の平行移動量(dx,dy)を軸とする幾何パラメータ空間を考えた時、各稜線に対応する方程式は、
aj×(x−dx)+bj×(y−dy)+cj=0より
aj×Xi+bj×Yi−FMAX(j)<=aj×(Xi−dx)+bj×(Yi−dy)+cjとなり、(dx,dy)は以下の条件を満足することが必要となる。
【0036】
aj×dx+bj×dy−(cj+FMAX(j))<=0
これから、(dx,dy)空間における境界線
aj×dx+bj×dy−(cj+FMAX(j))=0
を描くことで、検索画像の全ての稜線に対する条件を満足する(dx,dy)の存在範囲は、例えば、図8のように得られる。また検索画像の全ての稜線に対する条件を満足する点(dx,dy)の存在範囲が空である場合には、検索対象の画像データのその領域は検索画像内に入りきらないと判断される。
【0037】
図9は、図3の領域情報判定部304における、移動可能領域が空領域か否かの判定処理を示すフローチャートである。
【0038】
ステップS21では、(dx,dy)空間における境界線間の交差点の位置を計算し、ステップS22では、それらの交差点の中に、検索画像の全ての稜線に対する条件を満足する内部交差点があるか否かを判定する。そして、境界線間の交差点の何れかが、検索画像の全ての稜線に対する条件を満足すれば、移動可能領域は空でないと判定する。尚ここで、境界線間の交差点の位置は、2つの境界線の方程式に対して、連立方程式の解法を用いて計算する。
【0039】
図10は、図9のステップS22における、内部交差点の有無を判定する処理の流れを示すフローチャートである。
【0040】
ステップS31で、境界線間の交差点Pi=(Xi,Yi)をセットし、その設定された交差点Piに対して、境界線Bj:aj×dx+bj×dy−(cj×FMAX(j))=0に対する条件
aj×Xi+bj×Yi<=cj+FMAX(j)
が満足されるかを、順に全ての境界線に対して判定し(ステップS33)、ステップS34で全ての境界線に対する処理が終了したかを調べ、全ての境界線に対して満足した場合には、内部交差点有りと判定して処理を終了する。一方、満足しない条件がある場合には次の交差点を対象として、上記判定を繰り返す。
【0041】
また、ステップS36で全ての交差点に対する判定処理を終了したかを判断し、全ての交差点を判定しても内部交差点有りと判定されない場合は、内部交差点なしと判定して処理を終了する。
【0042】
このような判定を行った結果、単一領域メモリ103の中には、例えば、図11に模式的に示すようないくつかの領域が挿入されることになる。
【0043】
図12は、図1の複合領域処理部104における複合領域の生成と処理の流れを示すフローチャートである。この処理は、単一領域メモリ103の中の領域情報を組み合わせた複合領域を生成し、複合領域メモリ105に挿入するものである。
【0044】
システムはまずステップS41で、複合領域として、単一領域メモリ103内の全ての領域を複合領域メモリ105に設定する。次いでステップS42に進み、単一領域メモリ103の単一領域iを順に選択する。続いてステップS43で、選択した単一領域iと複合領域メモリ105の複合領域(複写された単一領域も含む)との組み合わせにより生成される複合領域を一時的に格納するテンポラリメモリをクリアする。
【0045】
そしてステップS44に進み、複合領域メモリ105の複合領域j(複写された単一領域も含む)を順に選択する。ステップS45では、その選択した複合領域jを構成する単一領域の中に選択した単一領域iがあるかどうかを調べ、無い場合はステップS46に進み、これらの組み合わせによる複合領域kを生成する。そしてステップS47に進み、この複合領域kが検索画像内に含まれるか否かを判定する。含まれるならばステップS48に進み、その複合領域kをテンポラリメモリに追加する。これをステップS49で、複合領域メモリ105の全ての複合領域に対して行うまで、インデックスjをインクリメントしながら前述の処理を実行する。
【0046】
こうしてステップS49で、全ての複合領域に対する処理が終了したならばステップS51に進み、テンポラリメモリ内の複合領域を複合領域メモリ105に追加し、ステップS52で、単一領域内の全ての領域に対する処理が完了するまで、ステップS53で、インデックスiをインクリメントしながら以上の処理を繰り返す。
【0047】
図13は、個々の複合領域kが検索画像内に含まれるか否かの判定処理を行う複合領域処理部104の機能構成を示す機能ブロック図である。
【0048】
まず、サイズ情報判定部1301が、複合領域のサイズ情報を判定する。複合領域kの面積は、それに含まれる単一領域iおよび複合領域jの面積の和であり、その複合領域kの起点およびその縦横幅は、それぞれの領域の起点、および起点と縦横幅から計算される終点の中での最小値を起点とし、最大値との差として縦横幅を計算する。
【0049】
このように計算された複合領域kの面積が、検索画像の面積よりも大きいか、あるいは複合領域kの縦幅もしくは横幅が、検索画像の縦幅・横幅よりも大きいならば、これらは検索画像に含まれ得ないとして除外する。
【0050】
次いで、複合領域kを構成する単一領域iと複合領域jが同時に、検索画像内に存在するか否かを判定するために、交差領域計算部1032が、単一領域iおよび複合領域jの平行移動量(dx,dy)を軸とする幾何パラメータ空間での移動可能領域の交差領域を計算し、領域情報判定部1303が、この交差領域が空であるか否かを判定する。
【0051】
前述したように、(dx,dy)空間での移動可能領域は以下の条件から得られる。
【0052】
aj×dx+bj×dy−(cj+FMAX(j))<=0
よって、同一の稜線に対応するそれぞれの領域の境界線に対するFMAX(j)の値のうち、小さい方を選択することで交差領域が規定される。
【0053】
領域が空であるか否かは、単一領域に対する移動可能領域の場合と同様であり、図9および図10に示された移動可能領域の判定および内部交差点の有無判定の動作で判定される。
【0054】
図14は複合領域の一例を示した図であり、図15は図7と対になる、もう一方の領域の境界線を示す図、図16は図8と対になる(dx,dy)空間における移動可能領域を示している。
【0055】
図12および図13に示した前述の複合領域の生成処理の流れにより、図14に示す複合領域が同時に、図4に示す検索画像内に存在する領域として、図17が得られる。このように複合領域の判定を進めることにより、図18に示すような複合領域をも得る事ができる。
【0056】
図1の最大値選択部106は、1枚の画像から上述の複合領域処理部104で検出された全ての複合領域に対して類似度を計算し、その最大値を求める。
【0057】
ここで類似度は以下のように計算される。
【0058】
類似度=1−|複合領域の面積−検索画像の面積|/検索画像の面積
最大値選択部106は得られた最大値をその画像に対する類似度として順序化部107に送る。順序化部107は、最大値選択部106より得られる各々の画像に対する類似度を入力とし、類似度の大きい順にk個のデータをソーティングしつつ選択する。
【0059】
データアクセス部108は、順序化部107の内部メモリに格納されているソーティングされた画像の類似度情報を用い、類似度の大きい方から画像ファイル109を複数枚読み出してディスプレイ111に表示する。
【0060】
[第2実施例]
第2実施例は、検索画像の大きさが変動し得る場合に対応する。以下にまず、原理を説明する。
【0061】
この第2実施例では、検索画像に対して、大きさの拡大率をscale(1未満の時縮小)とし、原点を中心に拡大した場合、全ての点P(x,y)は、点Q(scale×x,scale×y)に移動する。点P0Pを通る直線の方程式が、
aj×x+bj×y+cj=0
ただし、aj=y0−y,
bj=x−x0
cj=x0×y−x×y0
とすると、これを拡大した点Q0Qを通る直線の式は、
ak×x+bk×y+ck=0
ただし、ak=scale×aj
bk=scale×bj
ck=scale×scale×cj
これは、直線の式としては、拡大前と平行になる。よって、同じ領域の境界列に対して最大値FMAXを与える点も同じである。即ち、
FMAX(k)=ak×X+bk×Y=scale×(aj×X+bj×Y)
=scale×FMAX(j)
包合条件を与える式
ak×dx+bk×dy−(ck+FMAX(k))<=0
をscaleで割ると、
aj×dx+bj×dy−(scale×cj+FMAX)<=0
であり、これは(dx,dy,scale)空間を考えた時の平面の片側を構成する。
【0062】
同様に他の稜線も平行となり、存在可能なパラメータ領域は、これらの平面群に含まれる多面体(実際には片側が無限)となる。
【0063】
従って、この多面体の交差領域を得ることにより、複数の領域が同一の拡大率で同時に、検索画像内に存在し得るか否かが判定できる。
【0064】
図19は、上記の原理を実現する複合領域処理部104の実施形態を示すフローチャートである。
【0065】
aj×dx+bj×dy−(scale×cj+FMAX)<=0
検索画像の全ての稜線jに対してaj,bj,cjが前述のように計算され、図4の動作でFMAXが得られる。
【0066】
平行でない3つの境界面の交点として、全ての交差点P=(dxi,dyi)を計算し、これが各条件式を満たすか否かを判定する。3つの境界面の交点は、(i,j,k)を検索画像の稜線の数より小さい異なる3つの整数とした時、次の連立方程式を良く知られている連立方程式の解法により解くことで計算する。
【0067】
ai×dx+bi×dy−(scale×ci+FMAX(i))=0
aj×dx+bj×dy−(scale×cj+FMAX(j))=0
ak×dx+bk×dy−(scale×ck+FMAX(k))=0
また、条件式の満足は、以下の式により判定できる。
【0068】
(aj×dxj+bj×dyj−FMAX)/cj<=scale if cj>0
(aj×dxj+bj×dyj−FMAX)/cj<=scale if cj<0
ここでscaleを無限に大きくできるならば、任意の形状の領域を含めるようになるので、実用的には、変動可能なscaleの範囲を“1.2”以下といったように定め、この範囲内に内部交差点があるか否かの判定を行う。即ち、
(aj×dx+bj×dy−FMAX)/cj<=1.2 if cj>0
(aj×dx+bj×dy−FMAX)/cj<=1.2 if cj<0
これにより、大きさが変動する場合にも適切な対応を得ることができる。
【0069】
[第3実施例]
本発明の第3の実施例は、検索画像が複数の色の異なる領域から構成される場合に対応する。
【0070】
検索画像を構成するそれぞれのパターンは以下の情報を持つ(検索画像の頂点列、その画像の縦横幅、面積、色情報)。この場合には、図3に示した単一領域処理部102の動作を以下に説明するように変更する。
【0071】
図20は第3実施例での単一領域処理部102の処理部の構成を示した図である。
【0072】
入力された検索画像内の個々のパターン情報と領域情報の組み合わせに対して、図3に相当する処理手順を適用し、条件を満足する全ての場合に、領域の記述情報と検索画像の移動可能領域の情報を単一領域メモリ103に追加する。この後、前述した複合領域の処理部およびそれ以降の各部を構成することで、複数のパターンを用いて検索画像による検索を行うことができる。
【0073】
また、画像の一部が検索画像として与えられた場合、その検索画像を領域分割し、各々の境界線を多角形近似して複数の色の異なる領域を作成することで複数の画像パターン(図形パターン)を生成できる。この結果、上述の部分を用いて、画像の一部が検索画像として与えられた場合にも、その検画像パターンを含む画像データの検索が可能となる。
【0074】
尚、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器から成る装置に適用しても良い。また、本発明はシステム或は装置に本発明を実施するプログラムを供給することによって達成される場合にも適用できる。
【0075】
以上説明したように本実施例によれば、単一の領域に対する処理と共に、複数の領域の複合した複合領域に対する処理を行うことにより、複数の領域に分かれて抽出された対象を正しく検索できる効果がある。
【0076】
また、各領域と検索画像とが特定の位相関係にある移動可能領域を求め、この移動可能領域の交差領域の有無を判定することにより、効率的に判定が行なえるという効果がある。
【0077】
【発明の効果】
以上説明したように本発明によれば、画像データを複数の領域に分割して抽出した対象画像に基づいて効率的に画像データを検索できる効果がある。
【0078】
また本発明によれば、一つの領域として認識される画像データの領域に即して分割した画像データに基づいて画像を検索できる効果がある。
【0079】
また本発明によれば、画像の類似度の計算に要する時間を短縮して、効率良く画像を検索できる効果がある。
【0080】
【図面の簡単な説明】
【図1】本発明の一実施例の画像検索装置の機能構成を示す機能ブロック図である。
【図2】本実施例の画像検索装置の一例を示す図である。
【図3】本発明の第1実施例における単一領域処理部の構成を示す機能ブロック図である。
【図4】本実施例における検索画像の一例を模式的に表した図である。
【図5】検索対象となる画像データの領域分割の結果の一例を模式的に表した図である。
【図6】本実施例の移動可能領域計算部における境界線の検出処理を示したフローチャートである。
【図7】図6の境界線検出処理により検出された境界線を説明するための模式図である。
【図8】幾何パラメータ空間における単一領域の移動可能領域の一例を示した図である。
【図9】本実施例の領域情報判定部における移動可能領域の判定処理を示すフローチャートである。
【図10】図9の移動可能領域の判定処理における内部交差点の有無の判定処理を示すフローチャートである。
【図11】本実施例において、単一領域メモリの中に挿入された複合領域を模式的に示した図である。
【図12】複合領域処理部における複合領域の生成と処理の流れを示すフローチャートである。
【図13】第1実施例の複合領域処理部において個々の複合領域に対する領域情報判定部の構成を示す機能ブロック図である。
【図14】本実施例における複合領域の一例を模式的に示した図である。
【図15】境界線検出処理により検出された領域の境界線を示した図である。
【図16】幾何パラメータ空間における単一領域の移動可能領域の一例を示した図である。
【図17】幾何パラメータ空間における複合領域の移動可能領域の一例を示した図である。
【図18】本実施例により得られた複合領域の一例を模式的に示す図である。
【図19】第2実施例における内部交差点の有無判定処理を示すフローチャートである。
【図20】第3実施例における単一領域処理部の機能構成を示ス機能ブロック図である。
【符号の説明】
100 検索画像
101 検索画像メモリ
102 単一領域処理部
103 単一領域メモリ
104 複合領域処理部
105 複合領域メモリ
106 最大値選択部
107 順序化部
109 画像ファイル
110 記述ファイル
111 ディスプレイ
301 単一領域処理部の色情報判定部
302 単一領域処理部のサイズ情報判定部
303 単一領域処理部の移動可能領域計算部
304 単一領域処理部の領域情報判定部
1301 複合領域処理部のサイズ情報判定部
1302 複合領域処理部の交差領域計算部
1303 複合領域処理部の領域情報判定部
[0001]
[Industrial application fields]
The present invention relates to an image search method and apparatus for searching for image data similar to an image or a graphic specified by an image database or an image file system, for example.
[0002]
[Prior art]
Conventionally, the following method has been used as an image search method for searching for a desired image from a plurality of images stored in an image file format.
(1) When an image to be searched is input, the image and the image data stored in the image file are sequentially superimposed, and the difference in pixel between the search image and each image in the image file is determined. A method of obtaining the sum and using the so-called template matching method in which the minimum value is the difference between the search image and the image data of the image file, and selecting image data with this difference equal to or less than a predetermined value as a similar image (details of the template matching method are , Textbooks on image processing, for example, introduction to computer image processing, Soken Publishing, 5.6 Matching, pp.148-152).
(2) The image data stored in the image file is divided into several uniform regions in advance, and the correspondence between the data describing each image region and the search image or the search figure is expressed by area · 2 A method of calculating using similarity such as second moment and selecting a similar image having a large similarity (for example, image search using a schematic image: Junji Hirata, Yoshinori Hara, Information Processing Society of Japan, DE92, DE92) -2).
[0003]
[Problems to be solved by the invention]
However, in the conventional example (1), it is necessary to move the designated image with respect to the image data to be searched, and to calculate the difference in the number of pixels corresponding to each movement. Was. In addition, since an accurate search result cannot be obtained unless the image instructed for the search is moved and compared at a sufficiently small distance within the two-dimensional region of the image data, a very large amount of calculation time is required. There was a problem.
[0004]
Further, in the above conventional example (2), there is a problem that if one area of the image data of the image file to be searched does not directly correspond to the image instructed as a search target, it cannot be correctly searched. .
[0005]
Here, in the so-called region division method that automatically divides image data into a plurality of regions, the target area that humans recognize as one region is often divided into a plurality of parts and extracted. This limitation has been a major practical problem.
[0006]
The present invention has been made in view of the above conventional example, and provides an image search method and apparatus capable of efficiently searching image data even when a search area in image data is divided into a plurality of areas and extracted. The purpose is to do.
[0007]
It is another object of the present invention to provide an image search method and apparatus capable of searching for an image based on image data divided in accordance with an area of image data recognized as one area.
[0008]
Another object of the present invention is to provide an image search method and apparatus capable of efficiently searching for an image by reducing the time required to calculate the similarity of images.
[0009]
[Means for Solving the Problems]
In order to achieve the above object, the image search apparatus of the present invention has the following configuration. That is,
An image search apparatus for searching image data including an image similar to a search-designated image using image description information describing information for each region in the image as reference information, wherein each of the regions in the image A combination of each of the single regions and the single region processing means for detecting a single region included in the search image from the individual regions in accordance with each and a search image designated for search, and the search A composite area processing means for obtaining a composite area obtained by combining the single areas included in the search image according to an image; a similarity detection means for obtaining a similarity between the composite area and the search image; and the similarity Search means for searching for image data in accordance with the similarity determined by the detection means.
[0010]
  In order to achieve the above object, the image search method of the present invention includes the following steps. That is, search specifiedSearchImage data including images similar to imagesFrom image fileSearch forIn image retrieval deviceAn image search method,
  Storing a search image instructed to be searched in a search image memory;
  With reference to a description file describing information about the position, shape and color information of individual regions in the image stored in the image file,Individual areas in the imageStored in the search image memoryIncluded in search imageA determination step of determining whether or not,
  Storing the description information of the area determined to be included in the search image in the determination step, and the movable area of the search image with respect to the image in a single area memory;
  Based on the description information and the movable area,Said single regionWhen it is determined that each area stored in the memory satisfies the conditions included in the search image at the same timeFinding a composite area that combines the above areasTo store in multiple area memoryProcess,
  SaidStored in the multi-region memoryThe similarity between the composite area and the search imageCalculation to calculateProcess,
  SaidCalculated in the calculation processDepending on similarityContains the search imageAnd a step of retrieving image data.
[0011]
[Action]
In the above configuration, a single region included in the search image is detected from the individual regions in accordance with each of the individual regions in the image and the search image in which the search is designated, and each of the single regions is detected. In accordance with the combination and the search image, a composite area obtained by combining the single areas included in the search image is obtained. Then, the similarity between the composite area and the search image is obtained, and the image data is searched according to the obtained similarity.
[0012]
【Example】
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0013]
FIG. 1 is a block diagram functionally showing the flow of processing in an image search apparatus according to an embodiment of the present invention.
[0014]
In FIG. 1, reference numeral 100 denotes an image to be searched (hereinafter referred to as a search image), and the search image 100 instructed to search is stored in the search image memory 101. A single area processing unit 102 refers to the description file 110 in which the contents of each image data are described using the characteristics of the image data, and whether each area included in each image data is included in the search image. If it is included, the description information of the area of the image data and the information of the movable area of the search image are added to the single area memory 103. A composite area processing unit 104 determines whether or not a composite area satisfies a condition that all areas constituting the composite area are included in the search image at the same time. If included, the description information of the area is included. And the information on the movable area of the search image are added to the composite area memory 105.
[0015]
A maximum value selection unit 106 calculates the similarity between the search area and the composite area stored in the composite area memory 105 by the composite area processing unit 104, and calculates the maximum value of the similarity value for each image area. Select as similarity. Reference numeral 107 denotes an ordering unit for inputting the similarity of the search image with respect to each image region, and selecting K pieces of image data from the higher similarity. An image data access unit 109 accesses the image file 109 and reads out the image data selected by the ordering unit 107. Reference numeral 111 denotes a display unit that displays the searched images.
[0016]
The single area processing unit 102 includes a search image memory 101 storing a search image (including graphics) given by a searcher who is a user, and an area of each area in the image data stored in the image file 109. A reference is made to an image description file 110 in which a boundary point coordinate sequence and the like are described, and each region of the image description file 110 is a region that can be moved under the condition that the region is included in the search image. A possible area is calculated, and it is determined whether or not the condition that the area is included in the search image is satisfied. If included, the description information of the area and the information on the movable area of the search image are simply set. It is added to the one area memory 103.
[0017]
The composite area processing unit 104 inputs the contents (search image) of the search image memory 101, the area information in the single area memory 103, and the composite area information in the composite area memory 105, and combines the single areas. When a composite area and a composite area combining a composite area and a single area are generated, whether or not the condition that these composite areas are included in the search image is satisfied, and the area is included in the search image Then, the description information of the composite area and the information of the movable area of the search image are added to the composite area memory 105.
[0018]
The maximum value selection unit 106 selects the composite area and the search image for the composite area in the composite area memory 105 that satisfies the condition that the composite area is included in the search image, selected by the composite area processing unit 104. The similarity is calculated, the maximum value of the similarity for all the regions included in one image data is selected, and this is output as the similarity to the image data.
[0019]
The ordering unit 107 inputs the similarity to each image data obtained from the maximum value selection unit 106, and selects k pieces of image data in descending order of similarity. The data access unit 108 uses the similarity information of each sorted image data stored in the internal memory of the ordering unit 107, and outputs a plurality of corresponding image data from the image file 109 in descending order of similarity. The data is read out and displayed on the display unit (display) 111.
[0020]
FIG. 2 is a diagram illustrating a display example of a screen in the image search apparatus according to the present embodiment.
[0021]
In FIG. 2, reference numeral 201 denotes a graphic input window for writing an image (search image) that the user wants to search. Reference numeral 202 denotes a condition input window for the user to specify the type of search image. Reference numeral 203 denotes a search result display window for displaying images of search results in the order of similarity, for example. A color palette 204 is used to select color information to be given to the search image by the user. Reference numeral 205 denotes an attached information display window for displaying attached information attached to an image as a search result.
[0022]
In the above configuration, the user designates and inputs the type of image data (search image) to be searched for in the condition input window 202, and a graphic imitating a partial image in the image data to be searched is displayed in the graphic input window 201. The color of the figure is designated using the color palette 204.
[0023]
As a result of searching the image data based on the specified image search condition, image data indicating the search result is displayed in the search result display window 203, and information accompanying the search result image is attached. It is displayed on the information display window 205.
[0024]
FIG. 3 is a diagram for explaining image search processing according to the first embodiment of the present invention, and is a functional configuration diagram showing processing for realizing the single area processing unit 102 shown in FIG.
[0025]
FIG. 4 is a diagram illustrating an example of a search image. Here, the search image is a polygonal figure, and the search image information includes, for example, a specified figure vertex row, figure vertical and horizontal width, figure area, color information, and the like. A region serving as a unit of region description information is obtained by applying region division processing known to a technician in the relevant field to search target image data stored in the image file 109. Such region segmentation processing is described in, for example, Tominaga Shoji: “Color classification and segmentation of color images”, Journal of Information Processing Society of Japan, Vol. 31, no. 11, pp. 1589-1598, 1990, Nov. Is shown in
[0026]
FIG. 5 is a diagram schematically illustrating an example of a region division result of image data to be searched. Here, the region description information includes (region outline point sequence, region starting point, region length and width, region area, region average color information, etc.) for each region.
[0027]
3, 301 is a color information determination unit, 302 is a size information determination unit, 303 is a movable region calculation unit, and 304 is a region information determination unit.
[0028]
Based on the input search image and the region description information of the image data to be searched, the color information determination unit 301 calculates the difference between the two color information, and if the difference is greater than a predetermined threshold, there is a mismatch. It is determined that it will not be part of the search image, and is excluded from the search target image. This difference in color information can be calculated as follows when the color of the search image is (R, G, B) and the color of the area of the image data is (r, g, b).
[0029]
D = | R−r | + | G−g | + | B−b |
Next, the size information determination unit 302 compares the vertical width and the horizontal width of the two. For example, if the vertical or horizontal width of each divided area shown in FIG. It is excluded from the search target.
[0030]
If the color information determination unit 301 and the size information determination unit 302 do not determine that the images do not match, the movable region calculation unit 303 adds the search image to each region of the region description information of the search target image. A movable area indicating a parallel movement range including the area is calculated. Then, the area information determination unit 304 determines whether or not the calculated movable area is an empty area. If the movable area is empty, the area information determination unit 304 determines that there is a mismatch and excludes the image data from the search target. . In this way, only the region that can be included in the search image is selected as the search target image.
[0031]
FIG. 6 is a flowchart showing detection processing of a boundary line that is a boundary of the movable region in the movable region calculation unit 303 of FIG.
[0032]
First, in step S1, the maximum value is set to “−9999999”, and the formula of the line segment F is set to F = aj × x + bj × y. Next, in step S2, the equation of the edge line Ej connecting the adjacent vertex coordinates Qj and Qj + 1 from the vertex row Qj (j is an index corresponding to each vertex) of the search image.
aj × x + bj × y + cj = 0
From the coefficients (aj, bj) of the equation of the edge Ej and the coordinates (Xi, Yi) of the boundary point Pi for the boundary point sequence Pi (i is an index corresponding to each point) of each region
F = aj * Xi + bj * Yi
Is calculated (step S3). In step S4, the maximum value FMAX (j) of F with respect to the boundary point sequence of one region is calculated (note that the order of the vertex sequence of the search image needs to be arranged in the clockwise direction. If is counterclockwise, rearrange in reverse order in advance). When this maximum value is larger than the value obtained so far, the maximum value is updated in step S5. In step S6, it is checked whether or not the processing for all the boundary points P has been completed. If not, the process proceeds to step S7, the index i is incremented by 1, and the process returns to step S2.
[0033]
When FMAX (j) that defines the boundary line aj × x + bj × y−FMAX (j) = 0 including all the points in the region boundary point sequence Pi is obtained in this way, the FMAX is registered in step S8. In step S9, it is checked whether or not this processing has been performed for all the ridge lines Ej composed of the vertex sequence of the search image. Find all boundaries.
[0034]
FIG. 7 is a schematic diagram for explaining the processing result shown in the flowchart of FIG. Here, when the search image (FIG. 4) is translated, an area 700 in the center of the figure indicates a limit included in the search image by an arrow. The straight line indicated by the tip of these arrows is represented by an equation.
aj * x + bj * y-FMAX (j) = 0
It is.
[0035]
For the region 700 in the image in FIG. 7, the boundary point sequence Pi = (Xi, Yi) of the region 700 is
aj × Xi + bj × Yi <= FMAX (j)
And a geometric parameter space with the X and Y translation amounts (dx, dy) as axes is considered, the equation corresponding to each ridge line is
From aj * (x-dx) + bj * (y-dy) + cj = 0
aj * Xi + bj * Yi-FMAX (j) <= aj * (Xi-dx) + bj * (Yi-dy) + cj, where (dx, dy) must satisfy the following conditions.
[0036]
aj * dx + bj * dy- (cj + FMAX (j)) <= 0
From this, the boundary line in (dx, dy) space
aj * dx + bj * dy- (cj + FMAX (j)) = 0
By drawing, the existence range of (dx, dy) that satisfies the conditions for all the edge lines of the search image is obtained as shown in FIG. 8, for example. If the existence range of the point (dx, dy) that satisfies the conditions for all the edge lines of the search image is empty, it is determined that the area of the image data to be searched does not fit in the search image.
[0037]
FIG. 9 is a flowchart showing a determination process of whether or not the movable area is an empty area in the area information determination unit 304 of FIG.
[0038]
In step S21, the positions of the intersections between the boundary lines in the (dx, dy) space are calculated. Determine whether. Then, if any of the intersections between the boundary lines satisfies the conditions for all the ridgelines of the search image, it is determined that the movable area is not empty. Here, the position of the intersection between the boundary lines is calculated using the simultaneous equation solving method for the equations of the two boundary lines.
[0039]
FIG. 10 is a flowchart showing the flow of processing for determining the presence or absence of an internal intersection in step S22 of FIG.
[0040]
In step S31, the intersection Pi = (Xi, Yi) between the boundary lines is set, and the boundary line Bj: aj * dx + bj * dy- (cj * FMAX (j)) = 0 with respect to the set intersection Pi. Conditions for
aj * Xi + bj * Yi <= cj + FMAX (j)
Is satisfied for all the boundary lines in order (step S33), it is checked whether the processing for all the boundary lines is completed in step S34, and if all the boundary lines are satisfied, Then, it is determined that there is an internal intersection and the process is terminated. On the other hand, when there are unsatisfied conditions, the above determination is repeated for the next intersection.
[0041]
In step S36, it is determined whether the determination process for all intersections has been completed. If it is not determined that there is an internal intersection even if all the intersections are determined, it is determined that there is no internal intersection, and the process ends.
[0042]
As a result of such determination, for example, several areas as schematically shown in FIG. 11 are inserted into the single area memory 103.
[0043]
FIG. 12 is a flowchart showing the flow of composite area generation and processing in the composite area processing unit 104 of FIG. In this process, a composite area combining the area information in the single area memory 103 is generated and inserted into the composite area memory 105.
[0044]
In step S41, the system first sets all areas in the single area memory 103 in the complex area memory 105 as complex areas. In step S42, the single area i in the single area memory 103 is sequentially selected. In step S43, the temporary memory for temporarily storing the composite area generated by the combination of the selected single area i and the composite area (including the copied single area) of the composite area memory 105 is cleared. .
[0045]
In step S44, the composite area j (including the copied single area) in the composite area memory 105 is selected in order. In step S45, it is checked whether or not there is a selected single region i among the single regions constituting the selected composite region j. If there is no single region i, the process proceeds to step S46 to generate a composite region k by combining these. . In step S47, it is determined whether or not the composite area k is included in the search image. If included, the process proceeds to step S48, and the composite area k is added to the temporary memory. Until this is performed for all the composite areas in the composite area memory 105 in step S49, the above-described processing is executed while incrementing the index j.
[0046]
When the processing for all the composite areas is completed in step S49, the process proceeds to step S51 to add the composite area in the temporary memory to the composite area memory 105, and in step S52, the process for all areas in the single area. In step S53, the above processing is repeated while incrementing the index i.
[0047]
FIG. 13 is a functional block diagram illustrating a functional configuration of the composite area processing unit 104 that performs a process of determining whether or not each composite area k is included in the search image.
[0048]
First, the size information determination unit 1301 determines the size information of the composite area. The area of the composite region k is the sum of the areas of the single region i and the composite region j included therein, and the starting point of the composite region k and its vertical and horizontal width are calculated from the starting point of each region, and the starting point and the vertical and horizontal width. The vertical and horizontal widths are calculated as the difference from the maximum value starting from the minimum value among the end points.
[0049]
If the area of the composite area k calculated in this way is larger than the area of the search image, or if the vertical width or horizontal width of the composite area k is larger than the vertical width / width of the search image, these are the search images. Are excluded because they cannot be included.
[0050]
Next, in order to determine whether the single region i and the composite region j constituting the composite region k are present in the search image at the same time, the intersection region calculation unit 1032 determines whether the single region i and the composite region j The intersection area of the movable area in the geometric parameter space with the translation amount (dx, dy) as an axis is calculated, and the area information determination unit 1303 determines whether or not this intersection area is empty.
[0051]
As described above, the movable area in the (dx, dy) space is obtained from the following conditions.
[0052]
aj * dx + bj * dy- (cj + FMAX (j)) <= 0
Therefore, the intersection region is defined by selecting the smaller one of the FMAX (j) values for the boundary lines of the regions corresponding to the same ridge line.
[0053]
Whether or not the area is empty is the same as in the case of the movable area with respect to the single area, and is determined by the determination of the movable area and the presence / absence determination of the internal intersection shown in FIGS. .
[0054]
14 is a diagram showing an example of a composite area, FIG. 15 is a diagram showing a boundary line of the other area paired with FIG. 7, and FIG. 16 is a (dx, dy) space paired with FIG. The movable area in FIG.
[0055]
17 is obtained as a region where the composite region shown in FIG. 14 is present in the search image shown in FIG. 4 at the same time by the above-described flow of the composite region generation process shown in FIG. 12 and FIG. By proceeding with the determination of the composite area in this way, a composite area as shown in FIG. 18 can be obtained.
[0056]
The maximum value selection unit 106 in FIG. 1 calculates similarity for all composite regions detected by the composite region processing unit 104 described above from one image, and obtains the maximum value.
[0057]
Here, the similarity is calculated as follows.
[0058]
Similarity = 1− | Area of composite region−Area of search image | / Area of search image
The maximum value selection unit 106 sends the obtained maximum value to the ordering unit 107 as the similarity to the image. The ordering unit 107 receives the similarity to each image obtained from the maximum value selection unit 106 and selects k data in descending order of similarity.
[0059]
The data access unit 108 uses the similarity information of the sorted images stored in the internal memory of the ordering unit 107, reads a plurality of image files 109 from the one with the higher similarity, and displays it on the display 111.
[0060]
[Second Embodiment]
The second embodiment corresponds to the case where the size of the search image can vary. First, the principle will be described.
[0061]
In this second embodiment, when the enlargement rate of the search image is set to scale (reduction when less than 1) and the search image is enlarged around the origin, all points P (x, y) Move to (scale × x, scale × y). The equation of a straight line passing through the point P0P is
aj × x + bj × y + cj = 0
However, aj = y0−y,
bj = x-x0
cj = x0 * y-x * y0
Then, the equation of the straight line that passes through the point Q0Q which expanded this is
ak × x + bk × y + ck = 0
However, ak = scale × aj
bk = scale × bj
ck = scale × scale × cj
This is parallel to that before enlargement as a straight line expression. Therefore, the same applies to the point where the maximum value FMAX is given to the boundary row in the same region. That is,
FMAX (k) = ak * X + bk * Y = scale * (aj * X + bj * Y)
= Scale × FMAX (j)
An expression giving the inclusion condition
ak * dx + bk * dy- (ck + FMAX (k)) <= 0
Divided by scale
aj * dx + bj * dy- (scale * cj + FMAX) <= 0
This constitutes one side of the plane when considering a (dx, dy, scale) space.
[0062]
Similarly, the other ridge lines are also parallel, and the parameter regions that can exist are polyhedrons (in fact, one side is infinite) included in these plane groups.
[0063]
Therefore, by obtaining the intersection region of the polyhedron, it can be determined whether or not a plurality of regions can exist in the search image at the same time with the same magnification.
[0064]
FIG. 19 is a flowchart showing an embodiment of the composite area processing unit 104 that realizes the above principle.
[0065]
aj * dx + bj * dy- (scale * cj + FMAX) <= 0
Aj, bj, and cj are calculated as described above for all the ridge lines j of the search image, and FMAX is obtained by the operation of FIG.
[0066]
All intersections P = (dxi, dyi) are calculated as intersections of three non-parallel boundary surfaces, and it is determined whether or not this satisfies each conditional expression. The intersection of the three boundary surfaces can be obtained by solving the following simultaneous equations by a well-known simultaneous equation solving method when (i, j, k) is set to three different integers smaller than the number of edges of the search image. calculate.
[0067]
ai * dx + bi * dy- (scale * ci + FMAX (i)) = 0
aj * dx + bj * dy- (scale * cj + FMAX (j)) = 0
ak × dx + bk × dy− (scale × ck + FMAX (k)) = 0
Satisfaction of the conditional expression can be determined by the following expression.
[0068]
(Aj * dxj + bj * dyj-FMAX) / cj <= scale if cj> 0
(Aj * dxj + bj * dyj-FMAX) / cj <= scale if cj <0
If the scale can be increased indefinitely, an area of an arbitrary shape will be included. Therefore, practically, the range of the scale that can be changed is set to “1.2” or less, and the range is within this range. It is determined whether there is an internal intersection. That is,
(Aj * dx + bj * dy-FMAX) / cj <= 1.2 if cj> 0
(Aj * dx + bj * dy-FMAX) / cj <= 1.2 if cj <0
Thereby, it is possible to obtain an appropriate response even when the size varies.
[0069]
[Third embodiment]
The third embodiment of the present invention corresponds to a case where a search image is composed of a plurality of regions having different colors.
[0070]
Each pattern constituting the search image has the following information (vertex row of search image, vertical and horizontal width, area, color information of the image). In this case, the operation of the single area processing unit 102 shown in FIG. 3 is changed as described below.
[0071]
FIG. 20 is a diagram showing the configuration of the processing unit of the single area processing unit 102 in the third embodiment.
[0072]
The processing procedure corresponding to FIG. 3 is applied to the combination of individual pattern information and region information in the input search image, and the region description information and the search image can be moved in all cases where the conditions are satisfied. The area information is added to the single area memory 103. Thereafter, by configuring the processing unit of the composite area described above and the subsequent units, it is possible to perform a search using a search image using a plurality of patterns.
[0073]
In addition, when a part of an image is given as a search image, the search image is divided into regions, and each boundary line is approximated to a polygon to create a plurality of different color patterns. Pattern) can be generated. As a result, even when a part of an image is given as a search image using the above-described part, it is possible to search for image data including the inspection image pattern.
[0074]
The present invention may be applied to a system composed of a plurality of devices or an apparatus composed of a single device. The present invention can also be applied to a case where the object of the present invention is achieved by supplying a program for implementing the present invention to a system or apparatus.
[0075]
As described above, according to the present embodiment, by performing processing for a composite region in which a plurality of regions are combined together with processing for a single region, it is possible to correctly search for an object that is divided into a plurality of regions and extracted. There is.
[0076]
Further, there is an effect that the determination can be made efficiently by obtaining a movable area where each area and the search image have a specific phase relationship and determining the presence or absence of an intersection area of the movable area.
[0077]
【The invention's effect】
As described above, according to the present invention, there is an effect that the image data can be efficiently searched based on the target image extracted by dividing the image data into a plurality of regions.
[0078]
In addition, according to the present invention, there is an effect that an image can be searched based on image data divided in accordance with an area of image data recognized as one area.
[0079]
Further, according to the present invention, there is an effect that the time required for calculating the similarity of images can be shortened and images can be searched efficiently.
[0080]
[Brief description of the drawings]
FIG. 1 is a functional block diagram showing a functional configuration of an image search apparatus according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating an example of an image search apparatus according to the present exemplary embodiment.
FIG. 3 is a functional block diagram showing a configuration of a single area processing unit in the first embodiment of the present invention.
FIG. 4 is a diagram schematically illustrating an example of a search image in the present embodiment.
FIG. 5 is a diagram schematically illustrating an example of a result of area division of image data to be searched.
FIG. 6 is a flowchart illustrating boundary line detection processing in a movable area calculation unit according to the embodiment.
7 is a schematic diagram for explaining a boundary line detected by the boundary line detection process of FIG. 6; FIG.
FIG. 8 is a diagram showing an example of a movable area of a single area in a geometric parameter space.
FIG. 9 is a flowchart illustrating determination processing of a movable region in the region information determination unit according to the embodiment.
10 is a flowchart showing a determination process for the presence or absence of an internal intersection in the determination process for the movable region in FIG. 9;
FIG. 11 is a diagram schematically showing a composite area inserted into a single area memory in the present embodiment.
FIG. 12 is a flowchart showing the flow of composite area generation and processing in a composite area processing unit.
FIG. 13 is a functional block diagram illustrating a configuration of a region information determination unit for each composite region in the composite region processing unit according to the first embodiment.
FIG. 14 is a diagram schematically illustrating an example of a composite region in the present embodiment.
FIG. 15 is a diagram showing a boundary line of a region detected by a boundary line detection process.
FIG. 16 is a diagram showing an example of a movable area of a single area in a geometric parameter space.
FIG. 17 is a diagram illustrating an example of a movable area of a composite area in a geometric parameter space.
FIG. 18 is a diagram schematically showing an example of a composite region obtained by this example.
FIG. 19 is a flowchart showing an internal intersection presence / absence determination process in the second embodiment.
FIG. 20 is a functional block diagram showing a functional configuration of a single area processing unit in the third embodiment;
[Explanation of symbols]
100 search images
101 Search image memory
102 Single area processing unit
103 single area memory
104 Compound area processing section
105 Multi-region memory
106 Maximum value selection section
107 Ordering unit
109 image files
110 Description file
111 display
301 Color information determination unit of single region processing unit
302 Size information determination unit of single region processing unit
303 Moveable area calculation unit of single area processing unit
304 Area information determination unit of single area processing unit
1301 Size information determination unit of composite area processing unit
1302 Intersection area calculation unit of compound area processing unit
1303 Area information determination unit of complex area processing unit

Claims (8)

画像中の個々の領域に対する情報を記述した画像記述情報を参照情報として、検索指定された画像と類似する画像を含む画像データを検索する画像検索装置であって、
前記画像中の個々の領域のそれぞれと、検索が指定された検索画像とに応じて前記個々の領域より前記検索画像に含まれる単一領域を検出する単一領域処理手段と、
前記単一領域のそれぞれとの組み合わせと前記検索画像とに応じて前記検索画像に含まれる前記単一領域を複合した複合領域を求める複合領域処理手段と、
前記複合領域と前記検索画像との類似度を求める類似度検出手段と、
前記類似度検出手段により求められた類似度に応じて画像データを検索する検索手段と、
を有することを特徴とする画像検索装置。
An image search device for searching image data including an image similar to a specified image using image description information describing information for each region in the image as reference information,
A single area processing means for detecting a single area included in the search image from the individual areas in accordance with each of the individual areas in the image and a search image in which a search is specified;
A composite area processing means for obtaining a composite area combining the single areas included in the search image according to a combination with each of the single areas and the search image;
Similarity detection means for determining the similarity between the composite region and the search image;
Search means for searching for image data according to the similarity determined by the similarity detection means;
An image search apparatus comprising:
前記単一領域処理手段は、前記個々の領域のそれぞれと、前記検索画像との色情報の差と、前記検索画像の形状情報に応じて対応する前記単一領域を判定することを特徴とする請求項1に記載の画像検索装置。The single area processing means determines the corresponding single area according to a difference in color information between each of the individual areas and the search image, and shape information of the search image. The image search device according to claim 1. 前記単一領域処理手段は、前記個々の領域のそれぞれと、前記検索画像が所定の位置関係にあるか否かにより前記単一領域を判定することを特徴とする請求項1に記載の画像検索装置。The image search according to claim 1, wherein the single area processing unit determines the single area based on whether each of the individual areas and the search image have a predetermined positional relationship. apparatus. 前記複合領域処理手段は、前記個々の領域のそれぞれと、前記検索画像とが所定の位置関係にある範囲を示す幾何パラメータ領域の交差領域に基づいて複合領域を判定することを特徴とする請求項1に記載の画像検索装置。The composite area processing means determines a composite area based on an intersection area of geometric parameter areas indicating a range in which each of the individual areas and the search image are in a predetermined positional relationship. 2. The image search device according to 1. 検索指定された検索画像と類似する画像を含む画像データを画像ファイルから検索する画像検索装置における画像検索方法であって、
検索が指示された検索画像を検索画像メモリに記憶する工程と、
前記画像ファイルに記憶された画像中の個々の領域の位置、形状及び色情報に関する情報を記述した記述ファイルを参照して、前記画像中の個々の領域が前記検索画像メモリに記憶された前記検索画像に含まれるか否かを判定する判定工程と、
前記判定工程で検索画像に含まれると判定された領域の記述情報と、前記画像に対する前記検索画像の移動可能領域を単一領域メモリに記憶する工程と、
前記記述情報と前記移動可能領域とに基づいて、前記単一領域メモリに記憶された各領域が同時に前記検索画像に内包される条件を満たすと判定された場合に前記領域を複合した複合領域を求めて複合領域メモリに記憶する工程と、
前記複合領域メモリに記憶された前記複合領域と前記検索画像との類似度を計算する計算工程と、
前記計算工程で計算された前記類似度に応じて前記検索画像を含む画像データを検索する工程と、
を有することを特徴とする画像検索方法。
An image search method in an image search apparatus for searching image data including an image similar to a search image designated for search, from an image file ,
Storing a search image instructed to be searched in a search image memory;
The search in which each region in the image is stored in the search image memory with reference to a description file that describes information about the position, shape and color information of each region in the image stored in the image file A determination step of determining whether or not the image is included in the image ;
Storing the description information of the area determined to be included in the search image in the determination step, and the movable area of the search image with respect to the image in a single area memory;
Based on the description information and the movable area, if it is determined that each area stored in the single area memory satisfies the condition included in the search image at the same time , Seeking and storing in the composite area memory ;
A calculation step of calculating a similarity between the composite area stored in the composite area memory and the search image;
Searching image data including the search image according to the similarity calculated in the calculation step ;
An image search method characterized by comprising:
前記判定工程で検索画像に含まれると判定された領域は、前記領域の色情報と前記検索画像の色情報の差が所定値よりも小さく、かつ前記個々の領域のそれぞれの形状が前記検索画像の形状よりも小さい領域であることを特徴とする請求項5に記載の画像検索方法。In the area determined to be included in the search image in the determination step, the difference between the color information of the area and the color information of the search image is smaller than a predetermined value, and the shape of each of the individual areas is the search 6. The image search method according to claim 5, wherein the image search method is an area smaller than the shape of the image. 前記判定工程で検索画像に含まれると判定された領域は、更に前記領域と前記検索画像が所定の位置関係にある判定された領域であることを特徴とする請求項に記載の画像検索方法。 The determined area to be included in the search image in the determination step further image according to claim 6, wherein the search image and the area is characterized the determined area der Rukoto with a predetermined positional relationship retrieval method. 前記複合領域は、前記領域のそれぞれと前記複合領域の平行移動量を軸とする幾何パラメータ空間での移動可能領域の交差領域を計算し、当該交差領域が前記検索画像内に存在する場合に複合領域であると判定されることを特徴とする請求項5に記載の画像検索方法。The composite area calculates a cross area of movable areas in a geometric parameter space with each of the areas and the parallel movement amount of the composite area as an axis, and the composite area is combined when the cross area exists in the search image . The image search method according to claim 5, wherein the image search method is determined to be an area .
JP01069395A 1994-11-15 1995-01-26 Image search method and apparatus Expired - Fee Related JP3647075B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP01069395A JP3647075B2 (en) 1995-01-26 1995-01-26 Image search method and apparatus
US08/555,714 US6246804B1 (en) 1994-11-15 1995-11-14 Image retrieval method and apparatus using a compound image formed from a plurality of detected regions
EP95308124A EP0713186B1 (en) 1994-11-15 1995-11-14 Method and apparatus for retrieving images from a database
DE69535098T DE69535098T2 (en) 1994-11-15 1995-11-14 Method and apparatus for searching images in a database
US09/476,120 US6181818B1 (en) 1994-11-15 2000-01-03 Image retrieval method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01069395A JP3647075B2 (en) 1995-01-26 1995-01-26 Image search method and apparatus

Publications (2)

Publication Number Publication Date
JPH08202728A JPH08202728A (en) 1996-08-09
JP3647075B2 true JP3647075B2 (en) 2005-05-11

Family

ID=11757372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01069395A Expired - Fee Related JP3647075B2 (en) 1994-11-15 1995-01-26 Image search method and apparatus

Country Status (1)

Country Link
JP (1) JP3647075B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8750624B2 (en) * 2010-10-19 2014-06-10 Doron Kletter Detection of duplicate document content using two-dimensional visual fingerprinting

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06309377A (en) * 1993-04-23 1994-11-04 Nec Corp Picture retrieving method and device

Also Published As

Publication number Publication date
JPH08202728A (en) 1996-08-09

Similar Documents

Publication Publication Date Title
EP0713186B1 (en) Method and apparatus for retrieving images from a database
JP3974196B2 (en) Object-oriented graphic input and display system
EP0354031A2 (en) Graphical image editing
US20050093875A1 (en) Synthesis of progressively-variant textures and application to arbitrary surfaces
JP5854802B2 (en) Image processing apparatus, image processing method, and computer program
JP3796658B2 (en) Analysis model creation device
JPH01161481A (en) Display
Liu et al. Learning implicit glyph shape representation
JPH09114853A (en) Image retrieval method and image retrieval device
CN107016732A (en) Positioned using the 3D objects of descriptor
JP3647075B2 (en) Image search method and apparatus
JPH0816824A (en) Three-dimensional computer aided design device/method
JPH08194716A (en) Picture processing method and its device
JPH08249353A (en) Method and device for image retrieval
US6392648B1 (en) Three dimensional graphical display generating system and method
JP2006318232A (en) Analytical mesh correction device
JP2646476B2 (en) Logo / Illustration data input / output device and input / output method
JP2001092805A (en) Device and method for generating analytical mesh and recording medium
US6600486B2 (en) Method for three-dimensional solid graphic generation and record medium of three-dimensional solid graphic generation
JP3305395B2 (en) Figure division device
JP4730033B2 (en) Display drawing creation program, method and apparatus
JP2917843B2 (en) Contour data creation method
JP4078666B2 (en) Numerical analysis mesh generator
JPH10111879A (en) Cad/cae device and analysis model generation method
Gribov et al. Vectorization with the Voronoi L-diagram

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041015

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041214

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: 20050201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050208

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: 20080218

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090218

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100218

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100218

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110218

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120218

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130218

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140218

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees