JP4158544B2 - Image search device - Google Patents
Image search device Download PDFInfo
- Publication number
- JP4158544B2 JP4158544B2 JP2003033844A JP2003033844A JP4158544B2 JP 4158544 B2 JP4158544 B2 JP 4158544B2 JP 2003033844 A JP2003033844 A JP 2003033844A JP 2003033844 A JP2003033844 A JP 2003033844A JP 4158544 B2 JP4158544 B2 JP 4158544B2
- Authority
- JP
- Japan
- Prior art keywords
- search
- conversion
- image data
- reference state
- target
- 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
- 238000006243 chemical reaction Methods 0.000 claims description 223
- 238000000034 method Methods 0.000 claims description 133
- 230000008569 process Effects 0.000 claims description 119
- 230000006870 function Effects 0.000 claims description 3
- 230000009467 reduction Effects 0.000 description 43
- 238000012545 processing Methods 0.000 description 41
- 239000013598 vector Substances 0.000 description 35
- 238000003860 storage Methods 0.000 description 28
- 238000013507 mapping Methods 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 238000003384 imaging method Methods 0.000 description 4
- 230000032683 aging Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、写真などの画像データから、顔の部分などといった特定の画像部分を探索する画像探索装置に関する。
【0002】
【従来の技術】
近年、写真等に含まれる特定の対象体、例えば人の顔などの部分を特定し、当該特定した部分に基づいて所定の処理を行うことが考えられている。その一例としては撮影された写真から各人の顔の部分を検出し、当該顔の部分のみを焼き付けたり、または撮像中の映像から人の顔部分を検出して顔の認証処理に供したり、といったものが考えられる。
【0003】
従来の顔画像等、対象体を認識する装置では、対象体の撮像状態(傾き、大きさ、照明状態など)によっては対象体の認識が困難になる場合に対応するため、撮像状態を所定の撮像状態(基準状態)に適合させる処理を行うものがある。
【0004】
従来、この処理では、具体的には撮像状態を変化させながら撮影した学習用画像データを用いてニューラルネットワークを学習させ、当該学習させたニューラルネットワークを利用して処理の対象となった写真での撮像状態が基準状態からどの程度ずれているかを検出し、当該ずれを補正するよう画像処理を行うことが考えられてきた。
【0005】
なお、対象となる画像データから所望のパターンを検出する処理の例としては、特許文献1に開示される、カーネル非線形部分空間法等の方法が知られている。
【0006】
【特許文献1】
特開2001−90274号公報
【0007】
【発明が解決しようとする課題】
しかしながら、例えば人物の顔部分で言えば、横向き加減や上向き加減、首のかしげ具合、照明の具合といった様々な変化があり、従来の基準状態からのずれを検出する処理を行おうとすると、ニューラルネットワークの学習に用いる学習用画像データが上記様々な変化に合わせて大量に必要となる。また、こうした大量の画像データによって学習された結果、ニューラルネットワークの規模も膨大なものとなって、当該処理を現実的な時間内に完了することは不可能であった。
【0008】
また従来の対象体を認識するための装置では、対象体を探索する元となる写真等について、その全体を探索範囲として処理を行っている。このため、処理すべきデータ量も増大してしまい、処理負荷が多大であった。
【0009】
これらの結果として、対象体を認識する装置としては、従来は実験室的なものに限られているのが現状であり、こういった本質的な技術の困難性を排除する必要がある。
【0010】
本発明は、上記実情に鑑みて為されたもので、探索の対象体を写真などから探索する処理の負荷を軽減し、種々の用途に適用可能な、実用的な画像探索装置を提供することをその目的の一つとする。
【0011】
【課題を解決するための手段】
請求項1記載の発明は、処理の対象となった対象画像データ内から、探索の対象となる探索対象の画像データ部分を探索する画像探索装置であって、前記対象画像データ内に、探索領域を少なくとも一つ画定する手段と、少なくとも一つの変換の種類について、予め定められた基準状態から互いに異なる変換量だけ変換された複数の学習サンプルを用い、各学習サンプルについてそれぞれを基準状態に戻す変換量の情報を関連づけて学習させて得た変換データベースを参照して、前記画定されたそれぞれの探索領域に含まれる探索部分データについて、当該探索部分データを基準状態とするために適用すべき変換の種類及び変換量を含んでなる変換条件を取得し、当該取得した変換条件に基づく変換を、各探索部分データについての変換条件が示す変換量が「0」となるまで繰り返し行って、前記探索部分データを基準状態に変換する変換手段と、前記基準状態での探索対象の画像データ例を用いて学習獲得された探索データベースを参照し、前記変換後の探索部分データの各々に探索対象が含まれているか否かを判断する探索手段と、探索対象が含まれていると判断された探索部分データに対応する前記対象画像データ上の領域を特定する探索結果情報を生成し、出力する手段と、を含み、当該生成された探索結果情報が所定処理に供されることとしたものである。
【0012】
請求項2記載の発明は、請求項1に記載の画像探索装置において、前記変換データベースは、変換の種類ごとに学習して得た変換条件をそれぞれ記憶するデータベース群を含んでなり、前記変換手段は、変換データベースに含まれる前記各データベース群を検索し、前記画定されたそれぞれの探索領域に含まれる探索部分データについて、当該探索部分データを基準状態とするために適用すべき変換の種類及び変換量を含んでなる変換条件を取得し、当該取得した変換条件に基づく変換を、各探索部分データについての変換条件が示す変換量が「0」となるまで繰り返し行って、前記探索部分データを基準状態に変換することとしたものである。
【0013】
請求項3記載の発明は、処理の対象となった対象画像データ内から、探索の対象となる探索対象の画像データ部分を探索する画像探索方法であって、コンピュータを用いて、探索領域を画定する手段が、前記対象画像データ内に、探索領域を少なくとも一つ画定する工程と、変換手段が、少なくとも一つの変換の種類について、予め定められた基準状態から互いに異なる変換量だけ変換された複数の学習サンプルを用い、各学習サンプルについてそれぞれを基準状態に戻す変換量の情報を関連づけて学習させて得た変換データベースを参照して、前記画定されたそれぞれの探索領域に含まれる探索部分データについて、当該探索部分データを基準状態とするために適用すべき変換の種類及び変換量を含んでなる変換条件を取得し、当該取得した変換条件に基づく変換を、各探索部分データについての変換条件が示す変換量が「0」となるまで繰り返し行って、前記探索部分データを基準状態に変換する工程と、探索手段が、前記基準状態での探索対象の画像データ例を用いて学習獲得された探索データベースを参照し、前記変換後の探索部分データの各々に探索対象が含まれているか否かを判断する工程と、出力手段が、探索対象が含まれていると判断された探索部分データに対応する前記対象画像データ上の領域を特定する探索結果情報を生成し、出力する工程と、を含み、当該生成された探索結果情報が所定処理に供されることとしたものである。
【0014】
請求項4記載の発明は、処理の対象となった対象画像データ内から、探索の対象となる探索対象の画像データ部分を探索するプログラムであって、コンピュータを、前記対象画像データ内に、探索領域を少なくとも一つ画定する手段と、少なくとも一つの変換の種類について、予め定められた基準状態から互いに異なる変換量だけ変換された複数の学習サンプルを用い、各学習サンプルについてそれぞれを基準状態に戻す変換量の情報を関連づけて学習させて得た変換データベースを参照して、前記画定されたそれぞれの探索領域に含まれる探索部分データについて、当該探索部分データを基準状態とするために適用すべき変換の種類及び変換量を含んでなる変換条件を取得し、当該取得した変換条件に基づく変換を、各探索部分データについての変換条件が示す変換量が「0」となるまで繰り返し行って、前記探索部分データを基準状態に変換する変換手段と、前記基準状態での探索対象の画像データ例を用いて学習獲得された探索データベースを参照し、前記変換後の探索部分データの各々に探索対象が含まれているか否かを判断する探索手段と、探索対象が含まれていると判断された探索部分データに対応する前記対象画像データ上の領域を特定する探索結果情報を生成し、出力する手段と、として機能させ、当該生成された探索結果情報が所定処理に供されることとしたものである。
【0020】
【発明の実施の形態】
[基本構成]
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る画像探索装置は、図1に示すように、制御部11と、記憶部12と、データベース部13と、表示部14と、操作部15と、外部記憶部16とを含んで構成されている。これら各部は互いにバスを介して接続されており、いわば一般的なコンピュータを用いて実現される。このコンピュータは、他の製品、例えばカメラなどに組み込まれたものであっても構わない。
【0021】
制御部11は、記憶部12に格納されているプログラムに従って動作するものであり、処理の対象となった対象画像データのうち、探索領域を少なくとも一つ画定する探索領域画定処理と、基準状態に変換する変換処理と、探索対象が含まれている探索領域を検出する探索処理と、探索結果を用いた所定の処理とを実行する。これらの制御部11の具体的処理内容については、後に詳しく述べる。
【0022】
記憶部12は、制御部11が実行するソフトウエアを格納している。また、この記憶部12は、制御部11がその処理の過程で必要とする種々のデータを保持するワークメモリとしても動作する。具体的にこの記憶部12は、ハードディスクなどの記憶媒体、あるいは半導体メモリ、ないしこれらの組み合わせとして実現できる。
【0023】
データベース部13は、後に説明するように、制御部11の変換処理において用いられる変換データベース13a、並びに探索処理において用いられる探索データベース13bを含んだデータベースである。このデータベース部13は、具体的にはハードディスクなどの記憶媒体であり、記憶部12がこのデータベース部13を兼ねてもよいが、ここでは説明のため、特に分けて示している。
【0024】
表示部14は、例えばディスプレイ装置やプリンタ装置などであり、制御部11から入力される指示に従い、情報の表示などを行うものである。操作部15は、例えばキーボードやマウスなどであり、ユーザの操作を受け入れて、当該操作の内容を制御部11に出力する。
【0025】
外部記憶部16は、例えばCD−ROMやDVD−ROMなど、コンピュータ可読なリムーバブルメディア(記憶媒体の一種)からプログラムやデータを読み出して制御部11に出力し、制御部11の処理によって記憶部12に格納させる処理を行うものである。本実施の形態に係るプログラムは、例えばCD−ROMなどの可搬的な記憶媒体に格納されて頒布でき、この外部記憶部16を用いて記憶部12に複写されて利用される。なお、本実施の形態に係るプログラムは、こうした記憶媒体だけでなく、ネットワーク上のサーバなどから図示しない通信部を介して記憶部12に複写されることとしてもよい。
【0026】
[制御部11の処理]
ここで、制御部11の処理の内容について具体的に説明する。本実施の形態においては、各処理の対象となる画像データ(対象画像データ)は、外部記憶部16や図示しない通信部を介して外部から入力され、記憶部12に格納される。ここで対象画像データは、一つであっても複数であっても構わない。ユーザが操作部15を操作して、制御部11に対し、特定の対象画像データについて探索対象を探索する処理を行うべき旨の指示(処理開始の指示)を行うと、制御部11は、図2に示す処理を開始する。
【0027】
制御部11は、対象画像データを順次縮小変換しながら、各縮小変換された対象画像データについて探索領域を画定し、各探索領域について基準状態への変換処理と、探索処理とを行い、各縮小変換された対象画像データ上のどの部分に探索対象が含まれているかを表すマップデータを生成する。
【0028】
具体的に制御部11は、まず縮小率Sを最小縮小率(例えば1倍、つまり縮小せず)に設定し(S1)、対象画像データを縮小率Sで縮小する(S2)。そして縮小後の対象画像データのサイズに等しいサイズのマップデータの領域を記憶部12上に確保し、当該領域の値を「偽(false)」に設定して、マップデータの初期化を実行する(S3)。例えば縮小後の対象画像データが1000×1000ピクセルの画像データであれば、1000×1000ビット分の領域を確保し、各ビット値を「0」に初期設定する。
【0029】
次に制御部11は、縮小後の対象画像データについて、少なくとも一つの探索領域を画定する処理を行う(S4)。この探索領域の画定処理については後に詳しく述べる。そして探索領域の一つを選択し(S5)、当該探索領域について変換処理を実行する(S6)。この変換処理についても後に詳しく述べる。
【0030】
制御部11は、変換処理後の探索領域に含まれる画像データ部分について、探索対象が含まれているか否かを判定する処理(探索処理)を実行し(S7)、含まれていると判断されるときには(Yesのときには)、当該変換処理後の探索領域に相当する、マップデータ上の領域の値を「真(true)」に設定する(S8)。そしてさらに選択していない探索領域があるか否かを調べ(S9)、選択していない探索領域があれば(Yesであれば)、処理S5に戻り、当該選択していない探索領域の一つを選択して処理を続ける(A)。
【0031】
一方、処理S7における探索処理の結果、探索対象が含まれていないと判定されるときには(Noのときには)、そのまま処理S9に移行する。また、処理S9において、選択していない探索領域がなければ、つまり、すべての探索領域について変換処理と探索処理とを完了したならば(Noならば)、現在設定されている縮小率Sが事前に定められた最大縮小率を上回っているか否かを調べ(S10)、上回っていなければ(Noならば)、縮小率Sを大きくするように調整して(S11)、処理S2に戻って処理を続ける(B)。ここで、縮小率Sを大きく調整する処理S11は、例えば縮小率Sを所定比で高めるような処理としてもよいし、縮小率Sである倍率に対し、所定乗率ΔSを乗じて、S=S×ΔSとして新たな縮小率Sを定めてもよい。
【0032】
また、処理S10において現在設定されている縮小率Sが事前に定められた最大縮小率を上回っていれば(Yesならば)、各縮小率での対象画像データに対応するマップデータに基づき、元の(縮小前の)対象画像データ内で、探索対象が含まれている領域を画定して(S12)、処理を終了する。
【0033】
[探索領域画定処理]
次に、制御部11が探索領域を画定する処理(探索領域画定処理)について説明する。探索領域画定処理は、ユーザから入力された開始点の情報を利用しても、また、所定の条件を満足する領域を自律的に画定することによっても行うことができる。
【0034】
例えばユーザから入力される情報を利用する場合、制御部11は、操作部15などから入力された少なくとも一つの開始点座標の情報に基づき、各開始点座標を左上隅とする予め定められたサイズの矩形領域を探索領域としてそれぞれ画定する。
【0035】
また所定の条件を満足する領域を自律的に検索して画定する場合、制御部11は、(縮小後の)対象画像データの左上隅の座標(例えばX=0,Y=0)を開始点として、予め定められたサイズの矩形領域について所定の画定条件を満足しているか否かを調べ、画定条件を満足しているときには、当該矩形領域を探索領域とするという処理を、開始点を幅方向に所定量ずつ移動しながら(X=X+ΔX)順次行い、開始点が対象画像データの幅を逸脱する(X>対象画像データの幅)と、高さ方向に所定量だけ開始点を移動して(X=0,Y=Y+ΔY)、幅方向の処理を繰り返す。こうして対象画像データ全体のうち、画定条件を満足する領域を探索領域として画定する。
【0036】
なお、ここでは開始点の移動量を幅方向、高さ方向にそれぞれΔX,ΔYとしているが、これら移動量は対象画像データの縮小率Sに応じて、1倍のときのΔX,ΔYに対してΔX/S,ΔY/Sとしてもよい。
【0037】
[変換処理]
次に変換処理について説明する。本実施の形態において特徴的なことの一つは、この変換処理が段階的に行われ、各段階では一つの変換自由度に対応する変換が行われることである。本実施の形態の制御部11は、探索領域に含まれている画像データ部分に基づいて所定の特徴量ベクトル情報を演算する。ここで特徴量ベクトル情報は、探索対象の性状に合わせて選択された、複数の特徴量要素を含んでなるベクトル量である。
【0038】
本実施の形態では、制御部11は、この特徴量ベクトル情報と、変換データベース13aに格納されている特徴量ベクトル情報とを用いた、カーネル非線形部分空間法によって変換を特定することとして説明する。
【0039】
[変換データベース13aの内容]
このカーネル非線形部分空間法は、データを何らかのカテゴリに分類する方法として広く知られているので、詳しい説明を省略するが、その概要を述べれば、特徴量要素を基底として張られる空間Fにおいて、当該空間Fに含まれる複数の部分空間Ωのそれぞれをデータの分類先であるカテゴリとして認識し、分類しようとするデータに基づいて作成される空間F内の特徴量ベクトル情報(例えばΦとする)を各部分空間Ωに射影し(射影の結果を例えばφとする)、射影前の特徴量ベクトル情報Φと、射影後の特徴量ベクトル情報φとの距離Eが最も小さくなる部分空間Ω(仮に最近接部分空間と呼ぶ)を検出し、分類しようとするデータは、その部分空間Ωによって表されるカテゴリに属すると判断する方法である。
【0040】
そこで学習段階では、同一のカテゴリに属するべき学習用の例示データ(学習サンプル)に対応する特徴量ベクトル情報に基づく最近接部分空間Ωが同一となるよう、非線形写像(空間Fへの写像、すなわちカーネル関数に含まれるパラメータ等)と、各カテゴリに対応する部分空間Ω間を隔てる超平面との少なくとも一方を調整することとなる。
【0041】
本実施の形態においては、探索対象を基準状態に変換する方法(変換の種類及び量)を決定するために、この変換データベース13aが形成される。つまり、基準状態にあるか否かが不明な画像データに対して、行うべき変換の種類及び変換の量(カテゴリ)を決定できるように変換データベース13aが学習獲得されている。本実施の形態では、画像の回転、平行移動、サイズ変更という、画像に対して行うべき変換の種類(自由度)ごとに、変換データベース13aを作成している。変換の各自由度に対応する変換データベース13aは、対応する変換の変換量をカテゴリとして学習獲得したものである。
【0042】
この学習獲得のため、本実施の形態の変換データベース13aの学習過程では、学習サンプルを次のように生成する。すなわち、所定の基準状態での探索対象である画像データの例を複数用意し、各画像データの例について、変換の自由度ごとに、それぞれの自由度について、互いに異なる変換量での変換が行われた複数の変換画像データを生成する。こうして自由度ごとに生成された変換画像データを、各自由度ごとの学習サンプルとする。具体的に顔を探索対象とする場合、所定の基準状態(所定の撮影条件・姿勢)にある顔の画像データを例として複数用意し、各画像データについて、変換の自由度として、例えば回転・平行移動・サイズ変更等という各自由度ごとに、回転であれば−180度から180度までの範囲で5度ずつ等の角度で回転させた変換画像データを回転の自由度に対する学習サンプルとする。また、平行移動であれば、縦横にそれぞれ5ピクセルずつ移動させた複数の変換画像データを平行移動の自由度に対する学習サンプルとする。なお、これらの学習サンプルは、移動等の変換自由度を含むために、基準状態よりも広い領域の画像データのうちから基準状態の面積を5ピクセルずつ移動させながら取り出すことで生成する。
【0043】
こうして複数の画像データ例のそれぞれについて、さらに自由度ごとにそれぞれ複数の変換が施された複数の画像データを生成し、各画像データにどのような変換を行ったかを表す情報(変換量の大きさ等)を関連づける。
【0044】
なお、ここでは互いに異なる変換量の変換を施した画像データを得るために、変換量を所定のステップ(例えば回転で言えば5度)ずつ変化させながらそれぞれ変換を行った画像データを学習サンプルに含めるようにしたが、所定のステップずつ変化させながらでなくとも、変換量を乱数によって決定しながら変換を行って、それぞれを学習サンプルに含めるようにしてもよい。
【0045】
次に、各自由度ごとの学習サンプルを用いて、各自由度に対応する変換データベース13aを学習させる。
【0046】
[変換処理の動作]
制御部11は、こうして学習された各変換データベース13aを用いて、探索領域画定処理によって画定された探索領域の各々について次のように変換処理を行う。すなわち、処理の対象となった探索領域に含まれている画像データ部分(例えば画素値の列としてベクトル値と同視し得る)を、空間F内の特徴量ベクトル情報(各変換データベース13aごと、つまり変換の各自由度ごとに定義されている特徴量の組)に写像し、さらにその写像を各部分空間Ωに射影する。そして、射影前の特徴量ベクトル情報と、射影後の特徴量ベクトル情報との距離Eが最小となる変換量を決定する。また制御部11は、距離Eの二乗値Lを演算し、これを誤差として記憶部12に保持する。
【0047】
ここで変換量は、各変換データベース13aに基づき自由度ごとに決定されるが、制御部11は、各自由度に対応する変換量のうち一つを所定の条件(例えば各変換量に対応する距離Eが最小となるもの等の条件)に基づいて選択し、選択した自由度に対応する変換を、選択した変換量の分だけ変換する。
【0048】
つまり、探索領域に含まれている画像データ部分からは、各自由度に対応する各変換データベース13aに学習獲得された情報によって、例えば回転の自由度に対しては10度の回転変換により基準状態に近づき、その誤差がLrであり、平行移動の自由度に対しては左へ5ピクセルの変換で基準状態に近づき、その誤差がLpといった情報が得られるので、この中から、誤差が最小となる自由度の変換を選択する。例えば上述の例の場合、Lr<Lpならば10度の回転変換を探索領域に施して、新たな探索領域を画定する。そして、この新たな探索領域に含まれる画像データ部分をさらに空間F内の特徴量ベクトル情報に写像し、その写像をさらに各部分空間Ωに射影する。そして、射影前の特徴量ベクトル情報と、射影後の特徴量ベクトル情報との距離Eが最小となる変換量を決定する処理から繰り返す。
【0049】
また、各自由度に対応する変換量がいずれも「0」(つまり無変換)を表すものとなっている場合は、その段階で処理を終了し、さらに未処理の探索領域があれば、当該未処理の探索領域のいずれかを処理の対象として変換処理を行う。
【0050】
なお、ここでは対象画像データのうち、画定された探索領域に含まれる画像データ部分をそのまま用いているが、当該画像データ部分の解像度を低減する処理を行って、粗視データとし、当該粗視データを用いて変換処理を実行してもよい。この場合は、当該粗視データに対応する学習サンプルを用いて、各変換データベース13aを学習獲得させておく。
【0051】
また、制御部11は、特徴量ベクトル情報の演算、部分空間への写像、距離の評価、誤差の評価といった処理を各自由度ごとに順次行うのではなく、並列して行ってもよい。
【0052】
さらにここではカーネル非線形部分空間法を用いる場合を例として説明したが、データの分類と、分類時の誤差評価が可能であれば例えばオートエンコーダ等、他の方法を用いても構わない。
【0053】
[探索処理]
次に探索処理について説明する。この探索処理では変換処理を完了した探索領域の各々にそれぞれ含まれる画像データ部分について、探索データベース13bを用いて、探索対象が含まれているか否かを判定する。具体的な探索処理の例としては、特開2002−329188号公報に開示された方法などがある。次にその概要を説明する。
【0054】
[探索データベースの学習課程]
この探索データベース13bは、基準状態にある探索対象の画像データの例を学習サンプルとして用い、ニューラルネットワークを学習させて形成する。すなわち、制御部11は、複数の学習サンプルの入力を受けて、その各々について、探索対象の性状に合わせて予め選択された特徴量のセット(特徴量ベクトル)を演算し、学習用データを生成する。次に、この学習用データを用いて、記憶部12に格納されたM×M′の格子空間上に、SOM(自己組織化マップ)によって格子空間マップを形成する。つまり、制御部11は、入力された学習用データである特徴量ベクトルと、各格子ごとに割り当てられた重みベクトルとの距離を所定の測度(例えばユークリッド測度)で演算し、この距離が最小となる格子(最整合ノード)cを検出する。そしてこの最整合ノード近傍の複数の格子について、その重みベクトルを当該入力された特徴量ベクトルを用いて更新する。この処理の繰り返しにより、記憶部12上に格子空間マップが形成され、互いに類似する特徴量ベクトルに対する最整合ノードが連続的な領域を形成するようになる。つまり、この格子空間には、多次元の入力信号である特徴量ベクトルから2次元のマップへの非線形射影が位相を保持したまま形成され、重みの更新により、データの特徴部分が組織化され、その学習成果として類似のデータに反応する格子が近接して存在しているようになる。
【0055】
各学習データに基づく学習が完了すると、次に制御部11は、格子空間マップの各格子をカテゴリに分類する。この分類は、例えば各格子間の距離(各格子に関連づけられた重みベクトル間の距離)に基づいて行うことができ、探索対象に似た画像データに反応する格子群のカテゴリ(探索対象カテゴリ)と、そうでない格子群のカテゴリ(非探索対象カテゴリ)とに分類される。
【0056】
[探索処理の動作]
制御部11は、対象画像データと同じサイズのマップデータを記憶する領域を記憶部12に確保し、当該領域の値を「偽(false)」に初期化する。
【0057】
制御部11は、学習獲得した探索データベース13bを用い、変換処理を完了した探索領域の画像データ部分に基づいて所定の特徴量ベクトルを演算する。そして当該演算した特徴量ベクトルと探索データベース13b内の各格子に関連づけられた重みベクトルとの距離を求め、特徴量ベクトルとの距離が最小となる格子(最整合ノード)を特定し、特定した格子が探索対象カテゴリに属していれば、探索領域に探索対象が含まれていると判断し、特定した格子が非探索対象カテゴリに属していれば、探索領域には探索対象が含まれていないと判断する。
【0058】
[制御部11の動作]
本実施の形態の制御部11は、以上のように、探索の対象となった対象画像データを順次縮小しながら、縮小後のそれぞれの対象画像データから探索処理を行う領域を取り出し、当該領域内の画像データが基準状態となるよう変換をした上で、探索対象が当該変換後の探索領域内の画像データに含まれているか否かを判断する。すなわち、制御部11は探索処理の対象となる画像データを基準状態とする処理を行うので、変換前の探索領域の位置が多少ずれていても構わない。また、縮小率が基準状態から多少ずれていたとしても問題とならない。
【0059】
そこで従来であれば、0.8倍ずつ縮小した多段階の縮小画像データを生成し、しかも探索領域を1画素ずつずらしながら取り出すようにしていたのに対し、本実施の形態のものでは0.5倍ずつの縮小で構わないし、探索領域を画定する際に、所定の条件を満足する領域を自律的に取り出す場合であっても、ΔXやΔYを6画素等とすることができる。これにより、探索処理の対象となるパターン数を大幅に低減でき、探索の対象体を写真などから探索する処理の負荷を軽減できる。
【0060】
制御部11は、探索対象が含まれていると判断された領域を表すマップデータを探索結果情報として生成するが、このマップデータは各縮小率で縮小された後の対象画像データのそれぞれに対応して複数生成される。そこで、これら複数のマップデータ(それぞれ縮小後の対象画像データのサイズとなっている)を統合的に用いて探索対象が含まれている領域を決定する。
【0061】
例えば、各マップデータを、それぞれの縮小率に応じた拡大率で拡大し、元の対象画像データのサイズに揃えて比較し、すべてのマップデータで共通して「真」となっている領域(どの縮小率の対象画像データに基づいても、探索対象が含まれていると判断された領域)に探索対象が含まれていると判断することとしてもよい。また、いずれか一つのマップデータで「真」となっている領域を探索対象が含まれている領域と判断するようにしてもよい。
【0062】
[動作及び応用例]
次に、対象画像データから探索対象の含まれている領域を見いだす処理の応用例について説明する。
【0063】
本実施の形態に係る画像探索装置によると、例えばある写真内に何名の人物が撮像されているかをカウントすることができる。すなわち、処理対象画像データとして写真を読みとったものを利用し、人の顔を探索対象として各データベース13を学習させておく。そして図2に示した処理を行ってマップデータ上で「真」となっている領域がいくつあるかをカウントする。これによると、例えば交通量センサスなどの用途に利用できる。
【0064】
また、同じく人の顔を探索対象として学習させたデータベース13を用い、カメラによってディジタル的に撮像された画像データを対象画像データとして、顔が画像データのどの部分に撮像されているかを検出し、当該検出した部分に撮像されている顔を用いて個人認証を行うこともできる。
【0065】
さらに例えば複数枚の写真を読みとった画像データを対象画像データとして、図2に示す処理により、それぞれの写真に対応する画像データのどの部分に人の顔が写っているかを検出するとともに、検索条件として写真のどの部分に人の顔が撮像されているものを検索するかをユーザに特定させて、当該特定された検索条件にマッチする検出結果を検索し、マッチする検出結果に対応する写真をユーザに提示するといった応用例もある。
【0066】
これをさらにネットワーク上のウエブサーバから取得した画像データを対象に行うと、ウエブ上に公開されている画像データのうち、人物が特定の状況に配されているものを検索するといった応用も可能となる。
【0067】
さらにこの例をカメラに適用すると、次のようなカメラとすることもできる。すなわち、ユーザに予め、人の顔の配置状況を特定させておき、ディジタル的に連続して撮像した画像データの各々を対象画像データとして、連続撮影された各対象画像データについて、それぞれの中に含まれている人の顔の配置状況を図2の処理を用いて検出し、当該検出の結果と、ユーザによって特定された配置状況とがマッチしたときの画像データを選択的に記憶部12に保持する。これによると、人の顔が所望の配置状態になっている写真を撮影することができる。これは例えば2人の子供を撮影するときのように、2人がちょうど正面を向いたときの画像を得ることが困難な場合にも利用できる。正面を向いたときに図2の処理によって該当部分に顔が配置されていると検出するからである。さらに集合写真を撮影する際に、従来のようにセルフタイマーやリモートコントローラを使うのではなく、カメラをセットアップした人物が写真上の所望の位置に来たときの画像を記録するという用途にも利用できる。
【0068】
さらに、本実施の形態においては探索対象は人の顔に限られない。例えば工業用部品の生産工場において、コンベア上を流れる部品の数をカウントしたり、自然画像の撮像や科学実験の記録などのときに、被写体が所望の配置状態となったところの画像を記録させたりといった用途にも用いることができる。
【0069】
[処理の変形例]
探索領域の画定処理の段階で、探索対象が含まれている可能性があるか否かを判断し、当該判断結果に基づいて探索領域を画定させることも好ましい。これは所定の条件を満足する領域を自律的に検索して画定した探索領域には、互いに重複した領域が含まれていることも想定され得るためである。すなわち、同じ正面向きの顔を探索対象とした場合であっても、左耳近傍を中心にした領域と、鼻を中心にした領域と、右耳を中心にした領域とで異なる探索領域として画定される場合があるが、この場合に、すべての探索領域を処理する必要はないことに基づく。
【0070】
この場合の制御部11は、図2の代わりに図3に示す処理を行う。なお、図3において図2と同様の処理を行う部分については同一の符号を付して詳細な説明を省略する。制御部11は、まず縮小率Sを最小縮小率に設定し(S1)、対象画像データを縮小率Sで縮小する(S2)。そして縮小後の対象画像データのサイズに等しいサイズのマップデータの領域を記憶部12上に確保し、当該領域の値を「偽(false)」に設定して、マップデータの初期化を実行する(S3)。また、制御部11は、対象画像データと同一サイズのブーリアン値の配列(以下、ゲイジングマップ(Gazing Map;注視領域マップ)と呼ぶ)を生成する(S20)。なお、各ブーリアン値は当初「false(偽)」に設定しておく。
【0071】
次に制御部11は、縮小後の対象画像データについて、少なくとも一つの探索領域を画定する処理を行う(S4)。この処理S4においては、既に説明した自律的処理によって探索領域を画定する。次に制御部11は、各ブーリアン値のうち、探索領域に対応する領域のブーリアン値を「True(真)」に変更して設定する(S21)。そして制御部11は各探索領域のいずれか一つを選択し(S22)、当該選択した探索領域に対応するゲイジングマップ上の領域の中心座標(例えば(x1,y1)と、(x2,y2)とをそれぞれ左上、右下とする矩形領域であれば、その中心座標は((x1+x2)/2,(y1+y2)/2)で表される点であり、所定の方法で整数化する)のブーリアン値を参照して、それが真であるか否かを調べる(S23)。
【0072】
この処理S23においてブーリアン値が真であれば(Yesであれば)、当該選択している探索領域について変換処理(S6)と、探索処理(S7)とを行い、探索処理により探索対象が当該選択している探索領域に含まれていると判断されるときには(Yesのときには)、当該変換処理後の探索領域に相当する、マップデータ上の領域の値を「真(true)」に設定する(S8)とともに、ゲイジングマップ上で、当該探索領域に対応する領域のブーリアン値を偽に設定する(S24)。これにより当該部分にその中心点座標が含まれている探索領域が重ねて処理されることがなくなる。
【0073】
制御部11は、さらにゲイジングマップ上で真となっているブーリアン値があるか否かを調べ(S25)、真となっているブーリアン値があれば(Yesであれば)、当該ブーリアン値のいずれかを中心座標として新たな探索領域を画定し(S26)、処理S22に戻って当該探索領域を選択して処理を続ける。なお、処理S23においてブーリアン値が真でなければ(Noならば)、さらに選択していない探索領域があるか否かを調べるため、処理S25に移行する(C)。
【0074】
一方、処理S7における探索処理の結果、探索対象が含まれていないと判定されるときには(Noのときには)、そのまま処理S25に移行する。また、処理S25において、ゲイジングマップ上で真となっているブーリアン値がなければ(Noならば)、現在設定されている縮小率Sが事前に定められた最大縮小率を上回っているか否かを調べ(S10)、上回っていなければ(Noならば)、縮小率Sを大きくするように調整して(S11)、処理S2に戻って処理を続ける。ここで、縮小率Sを大きく調整する処理S11は、例えば縮小率Sを所定比で高めるような処理としてもよいし、縮小率Sである倍率に対し、所定乗率ΔSを乗じて、S=S×ΔSとして新たな縮小率Sを定めてもよい。
【0075】
また、処理S10において現在設定されている縮小率Sが事前に定められた最大縮小率を上回っていなければ(Yesならば)、各縮小率での対象画像データに対応するマップデータに基づき、元の(縮小前の)対象画像データ内で、探索対象が含まれている領域を画定して(S12)、処理を終了する。
【0076】
この処理によると、探索領域の画定処理において一つの探索対象に対して複数の探索領域が画定されてしまっても、近接する複数の探索領域が重複して処理されることがなくなる。
【0077】
[探索領域画定処理の変形例]
さらに探索領域画定処理において、制御部11は探索領域として画定しようとする領域について、その内部に含まれる画像データのエントロピーや、階層エントロピー、色、輝度分散、及びこれらのうちの二以上の値の組み合わせを用い、探索領域として実際に画定するか否かを決定してもよい。例えば人物の顔部分を探索する場合、顔の周辺部(輪郭部分)ではエントロピーが高くなるので、エントロピーが所定のしきい値よりも大きい場合には当該探索領域として画定しようとしている領域を実際に探索領域として画定し、そうでない場合には、当該領域を探索領域とせずに、他の処理を続けるようにする。これによると、変換処理・探索処理の対象となる探索領域を合理的に減少させることができ、処理負荷の軽減が図られる。
【0078】
[処理のさらに別の変形例]
さらに、ここまでの説明では探索領域の画定を制御部11が行っていたが、探索領域そのものをユーザが指定できるようにしてもよい。この場合、制御部11は、対象画像データのサイズと方向を選択させ、当該サイズに対応する枠線を表示部14に表示する。さらに制御部11はユーザに、この枠線内に探索領域の候補を描画させる。具体的に表示部14には、図4に示すような表示が行われ、枠線B内に探索領域の候補Rを描画させる。制御部11は、ユーザから「画定」ボタンのクリック操作を受け付けると、描画された探索領域の候補Rに基づき、この探索領域の候補Rに外接する矩形を探索領域として画定する。
【0079】
また記憶部12内に、予め画定した探索領域のパターン(テンプレート)を保持しておき、探索領域の指定を受け付ける際に、当該保持しているテンプレートの一覧を提示して、ユーザに選択させ、当該選択されたテンプレートに基づいて探索領域を画定してもよい。
【0080】
[変換処理の変形例]
これら探索領域そのものをユーザに指定させる場合において、指定した探索領域の各々について行われるべき変換処理の情報(変換の自由度と変換量とを表す情報、以下ユーザ指定変換情報と呼ぶ)を関連づけておき、変換処理の際にこれを利用してもよい。このユーザ指定変換情報が、本発明における、「探索対象の状態に関する情報」の一例に相当する。この場合の変換処理は次のようなものとなる。
【0081】
すなわち制御部11は、まず画定された探索領域の一つを選択し、選択した探索領域を、当該探索領域に関連づけられた変換処理の情報に基づいて変換する(予備変換)。そして、この予備変換された探索領域に含まれる画像データ部分を、空間F内の特徴量ベクトル情報に写像し、さらにその写像を各部分空間Ωに射影する。そして、変換データベース13aを用いて射影前の特徴量ベクトル情報と、射影後の特徴量ベクトル情報との距離Eが最小となる変換量を変換の自由度ごとに決定する。
【0082】
つまり、探索領域に含まれている画像データ部分からは、各自由度に対応する各変換データベース13aに学習獲得された情報によって、各自由度ごとに基準状態に近づけるための変換量の情報と、その際の誤差(距離Eの二乗値)とが得られるので、これら各自由度の変換の中から、誤差が最小となっている自由度の変換を特定する。ここで制御部11は、当該特定された自由度が、選択されている探索領域に関連づけられたユーザ指定変換情報で決められる変換の自由度と同じであれば、次に誤差の小さい自由度の変換を特定しなおす処理を繰り返して、ユーザ指定変換情報で決められる変換の自由度以外の自由度の変換を特定する。そして制御部11は選択した探索領域について、特定した自由度の変換を、当該自由度の変換について決定された変換量だけ変換を施して、新たな探索領域を画定する。そして、この新たな探索領域に含まれる画像データ部分をさらに空間F内の特徴量ベクトル情報に写像し、その写像をさらに各部分空間Ωに射影する。そして、射影前の特徴量ベクトル情報と、射影後の特徴量ベクトル情報との距離Eが最小となる変換量を決定する処理から繰り返す。
【0083】
また、ユーザ指定変換情報で決められる自由度以外の自由度に対応する変換量がいずれも「0」(つまり無変換)を表すものとなっている場合や、ユーザ指定変換情報で決められる自由度以外の自由度の変換がない場合は、その段階で処理を終了し、さらに未処理の探索領域があれば、当該未処理の探索領域のいずれかを処理の対象として変換処理を行う。
【0084】
なお、この場合も当該画像データ部分の解像度を低減する処理を行って、粗視データとし、当該粗視データを用いて変換処理を実行してもよい。この場合にも、当該粗視データに対応する学習サンプルを用いて、各変換データベース13aを学習獲得させておく。
【0085】
この変換処理を用いると、例えば各探索領域における探索対象の状態をも含めた画像データの検索を行うことができる。つまり写真内に、直立している人物と寝転がっている人物とがおり、それぞれの顔が正立状態と、正立から90度回転した状態とにあるとき、それぞれの状態に関する情報を探索領域とともに検索条件として指定する。例えば基準状態として探索データベース13bが正立状態の人の顔を学習サンプルとして学習獲得されているとすると、正立状態に関連づけられた探索領域については、0度の回転変換を行うとして指定しておけば、変換処理において回転変換が行われることがないので、探索処理においては基準状態、すなわち正立状態にある人物の顔だけが検出され、同様に寝転がっている人物(正立から90度回転した状態にある)については−90度の回転変換を行うとして指定しておけば、予備変換で−90度の変換が行われた後は、変換処理によってもそれ以上の回転変換が行われることがなく、探索処理において回転の自由度に関しては当該予備変換後の状態が基準状態であるような人物の顔(つまり90度傾いた人の顔)だけが検出される。
【0086】
[同等の効果を得るための別の構成例]
また制御部11は、予備変換を用いる上記処理に代えて、図2に示した通りに変換処理を実行し、当該変換処理が完了したときに、当該変換処理で実際に行われた変換の内容と、探索領域に関連づけられたユーザ指定変換情報で決められる変換の内容とを比較する処理を行ってもよい。この場合は、この比較の処理により、ユーザ指定変換情報に示された変換と同等の変換が行われていれば当該変換処理を行った探索領域について探索処理を実行し、同等の変換が行われていなければ当該変換を行った変換領域についての探索処理をスキップする。
【0087】
[その他の変形例]
ここまでの説明では、変換処理において行われる変換は、2次元的な回転、平行移動、拡大縮小(探索領域を拡大縮小し、その内部の画像データ部分を元の(拡大縮小前の)探索領域のサイズに変換して扱えばよい)であるとして説明したが、これ以外にも例えば人の顔であれば、姿勢(うつむき加減や振り向き加減)に影響される3次元的な回転を含んでもよい。この場合、探索対象の平均的3次元モデルを想定し、当該平均的3次元モデルへ画像データ部分を投射したものを用いて3次元的回転の変換を実現することができる。
【0088】
また、探索処理においては探索対象として、例えば人の顔であっても、さらに細かくカテゴリを分けて、年齢や性別、口を開けているか否かなどの条件を含めてもよい。
【0089】
さらに、図2や図3のフローチャート図においては各縮小率における処理を制御部11が順次行うものとしていたが、各縮小率における処理は互いに独立しているので、制御部11は、これらの各縮小率における処理を並列して行ってもよい。
【図面の簡単な説明】
【図1】 本発明の実施の形態に係る画像探索装置の構成ブロック図である。
【図2】 制御部11の処理の一例を表すフローチャート図である。
【図3】 制御部11による処理の別の例を表すフローチャート図である。
【図4】 本発明の実施の形態に係る画像探索装置を応用した装置のインタフェースの一例を表す説明図である。
【符号の説明】
11 制御部、12 記憶部、13 データベース部、14 表示部、15 操作部、16 外部記憶部。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image search apparatus for searching for a specific image portion such as a face portion from image data such as a photograph.
[0002]
[Prior art]
In recent years, it has been considered that a specific object included in a photograph or the like, for example, a part such as a human face is specified and predetermined processing is performed based on the specified part. As an example, detect the face part of each person from the photographed picture and burn only the face part, or detect the face part of the person from the image being captured and use it for face authentication processing, Such a thing can be considered.
[0003]
In a device for recognizing a target object such as a conventional face image, in order to cope with the case where it is difficult to recognize the target object depending on the imaging state (tilt, size, illumination state, etc.) of the target object, Some perform processing adapted to the imaging state (reference state).
[0004]
Conventionally, in this process, specifically, a neural network is learned using learning image data taken while changing the imaging state, and a photograph that is a processing target using the learned neural network is used. It has been considered to detect how much the imaging state deviates from the reference state and perform image processing so as to correct the deviation.
[0005]
As an example of processing for detecting a desired pattern from target image data, a method such as a kernel nonlinear subspace method disclosed in
[0006]
[Patent Document 1]
JP 2001-90274 A
[0007]
[Problems to be solved by the invention]
However, for example, in the case of a person's face, there are various changes such as lateral adjustment, upward adjustment, neck caulking condition, lighting condition, etc. When trying to detect a deviation from the conventional reference state, a neural network A large amount of learning image data used for learning is required in accordance with the various changes described above. Moreover, as a result of learning with such a large amount of image data, the scale of the neural network has become enormous, and it has been impossible to complete the processing within a realistic time.
[0008]
Further, in a conventional apparatus for recognizing a target object, processing is performed using the entire photograph or the like as a search source for the target object as a search range. For this reason, the amount of data to be processed also increases, and the processing load is great.
[0009]
As a result of these, the current state of the apparatus for recognizing an object is conventionally limited to a laboratory one, and it is necessary to eliminate such essential technical difficulties.
[0010]
The present invention has been made in view of the above circumstances, and provides a practical image search device that can reduce the load of processing for searching for an object to be searched from a photograph and can be applied to various uses. Is one of its purposes.
[0011]
[Means for Solving the Problems]
The invention according to
[0012]
According to a second aspect of the present invention, in the image search device according to the first aspect, the conversion database includes a database group for storing conversion conditions obtained by learning for each type of conversion, and the conversion means. Search for each database group included in the conversion database, and for the search partial data included in each of the defined search areas, the type and conversion of conversion to be applied to set the search partial data as a reference state The conversion condition including the amount is acquired, and the conversion based on the acquired conversion condition is repeatedly performed until the conversion amount indicated by the conversion condition for each search partial data becomes “0”, and the search partial data is used as a reference. It is supposed to be converted to a state.
[0013]
The invention according to claim 3 is an image search method for searching a search target image data portion to be searched from target image data to be processed, and defines a search area using a computer. A means for defining at least one search area in the target image data, and a plurality of conversion means converted by a different conversion amount from a predetermined reference state for at least one type of conversion. With respect to the search partial data included in each of the defined search regions with reference to the conversion database obtained by associating and learning the information on the conversion amount for each learning sample to be returned to the reference state. Acquiring a conversion condition including a conversion type and a conversion amount to be applied in order to set the search partial data as a reference state; The conversion based on the conversion condition is repeatedly performed until the conversion amount indicated by the conversion condition for each search partial data becomes “0”, and the search means converts the search partial data into a reference state, and the search means includes the reference state. A step of referring to a search database acquired by learning using an example of image data of a search target in the step of determining whether or not a search target is included in each of the converted search partial data, and output means, Generating and outputting search result information for specifying an area on the target image data corresponding to the search partial data determined to include the search target, and the generated search result information It is intended to be subjected to predetermined processing.
[0014]
The invention according to
[0020]
DETAILED DESCRIPTION OF THE INVENTION
[Basic configuration]
Embodiments of the present invention will be described with reference to the drawings. As shown in FIG. 1, the image search apparatus according to the embodiment of the present invention includes a
[0021]
The
[0022]
The
[0023]
As will be described later, the
[0024]
The
[0025]
The
[0026]
[Processing of control unit 11]
Here, the content of the process of the
[0027]
The
[0028]
Specifically, the
[0029]
Next, the
[0030]
The
[0031]
On the other hand, when it is determined that the search target is not included as a result of the search process in the process S7 (when No), the process directly proceeds to the process S9. If there is no unselected search area in process S9, that is, if the conversion process and the search process have been completed for all search areas (if No), the currently set reduction rate S is set in advance. (S10), if not (if No), the reduction rate S is adjusted to be increased (S11), and the process returns to step S2 and processed. Continue (B). Here, the process S11 for largely adjusting the reduction rate S may be, for example, a process for increasing the reduction rate S by a predetermined ratio, or by multiplying the magnification which is the reduction rate S by a predetermined multiplier ΔS, S = A new reduction ratio S may be set as S × ΔS.
[0032]
Further, if the currently set reduction rate S in the process S10 exceeds the predetermined maximum reduction rate (if Yes), based on the map data corresponding to the target image data at each reduction rate, the original In the target image data (before reduction), an area including a search target is defined (S12), and the process ends.
[0033]
[Search area definition processing]
Next, a process in which the
[0034]
For example, when using information input from the user, the
[0035]
When the area satisfying the predetermined condition is autonomously searched and demarcated, the
[0036]
Here, the moving amounts of the starting point are ΔX and ΔY in the width direction and the height direction, respectively, but these moving amounts are relative to ΔX and ΔY when the image data is 1 time depending on the reduction rate S of the target image data. ΔX / S, ΔY / S may be used.
[0037]
[Conversion processing]
Next, the conversion process will be described. One characteristic of the present embodiment is that this conversion process is performed step by step, and conversion corresponding to one degree of freedom of conversion is performed at each step. The
[0038]
In the present embodiment, the
[0039]
[Contents of
Since this kernel nonlinear subspace method is widely known as a method for classifying data into a certain category, a detailed description thereof will be omitted. However, in brief, in the space F stretched on the basis of a feature element, Recognize each of a plurality of subspaces Ω included in the space F as a category to which data is classified, and feature vector information (for example, Φ) in the space F created based on the data to be classified. Projection is performed on each subspace Ω (the projection result is, for example, φ), and the subspace Ω (assuming that the distance E between the feature vector information Φ before projection and the feature vector information φ after projection is minimized) This is a method for determining that the data to be detected and classified is belonging to the category represented by the subspace Ω.
[0040]
Therefore, at the learning stage, the nonlinear mapping (mapping to the space F, that is, mapping to the space F, that is, the closest subspace Ω based on the feature vector information corresponding to the exemplary data for learning (learning sample) that should belong to the same category, is made. Parameters and the like included in the kernel function) and at least one of the hyperplanes separating the subspaces Ω corresponding to the respective categories are adjusted.
[0041]
In the present embodiment, this
[0042]
In order to acquire this learning, a learning sample is generated as follows in the learning process of the
[0043]
In this way, for each of a plurality of image data examples, a plurality of image data that has been subjected to a plurality of conversions for each degree of freedom is generated, and information indicating what conversion has been performed on each image data (a large amount of conversion) Etc.).
[0044]
Here, in order to obtain image data having undergone conversions of different conversion amounts, the image data that has been converted while changing the conversion amount by a predetermined step (for example, 5 degrees in terms of rotation) is used as a learning sample. Although they are included, it is also possible to perform conversion while determining the conversion amount by a random number, and include each in the learning sample, instead of changing each predetermined step.
[0045]
Next, the
[0046]
[Conversion operation]
The
[0047]
Here, the conversion amount is determined for each degree of freedom based on each
[0048]
That is, from the image data portion included in the search area, the reference state is obtained by, for example, 10 degree rotation conversion with respect to the rotation degree of freedom by the information acquired by learning in each
[0049]
If the conversion amount corresponding to each degree of freedom represents “0” (that is, no conversion), the process ends at that stage, and if there is an unprocessed search area, The conversion process is performed with any of the unprocessed search areas as a processing target.
[0050]
Here, the image data portion included in the defined search area is used as it is in the target image data. However, processing for reducing the resolution of the image data portion is performed to obtain coarse-grained data. You may perform a conversion process using data. In this case, each
[0051]
In addition, the
[0052]
Furthermore, although the case where the kernel nonlinear subspace method is used has been described here as an example, other methods such as an auto encoder may be used as long as data classification and error evaluation at the time of classification are possible.
[0053]
[Search process]
Next, the search process will be described. In this search process, it is determined whether or not a search target is included using the
[0054]
[Learning course of search database]
This
[0055]
When the learning based on each learning data is completed, the
[0056]
[Search operation]
The
[0057]
The
[0058]
[Operation of Control Unit 11]
As described above, the
[0059]
Thus, conventionally, multistage reduced image data reduced by 0.8 times is generated and the search area is extracted while being shifted one pixel at a time. It is possible to reduce by 5 times, and ΔX and ΔY can be set to 6 pixels or the like even when a region that satisfies a predetermined condition is autonomously extracted when defining a search region. As a result, the number of patterns to be searched can be significantly reduced, and the processing load for searching for a search object from a photograph or the like can be reduced.
[0060]
The
[0061]
For example, each map data is enlarged at an enlargement ratio corresponding to the respective reduction ratios, compared with the size of the original target image data, and a region that is “true” in common to all map data ( Based on the target image data of any reduction ratio, it may be determined that the search target is included in an area where the search target is determined to be included. Further, an area that is “true” in any one of the map data may be determined as an area that includes a search target.
[0062]
[Operation and application examples]
Next, an application example of processing for finding an area including a search target from target image data will be described.
[0063]
According to the image search device according to the present embodiment, for example, it is possible to count how many people are captured in a certain photo. In other words, each
[0064]
Similarly, using the
[0065]
Further, for example, by using image data obtained by reading a plurality of photographs as target image data, the process shown in FIG. 2 detects in which part of the image data corresponding to each photograph the person's face is reflected, and the search condition Let the user specify which part of the photo the person's face is imaged to be searched, search for a detection result that matches the specified search condition, and select a photo corresponding to the matching detection result There are also application examples such as presenting to the user.
[0066]
If this is further performed on image data acquired from a web server on the network, it can be applied to search for image data published on the web where a person is placed in a specific situation. Become.
[0067]
Furthermore, when this example is applied to a camera, the following camera can be obtained. That is, by letting the user specify the arrangement state of the human face in advance, each piece of image data continuously taken digitally is set as the target image data, The arrangement state of the face of the included person is detected using the processing of FIG. 2, and image data when the detection result matches the arrangement state specified by the user is selectively stored in the
[0068]
Furthermore, in this embodiment, the search target is not limited to a human face. For example, in an industrial parts production factory, when the number of parts flowing on a conveyor is counted, or when a natural image is taken or a scientific experiment is recorded, an image where the subject is in a desired arrangement state is recorded. It can also be used for purposes such as.
[0069]
[Modification of processing]
It is also preferable to determine whether or not there is a possibility that a search target is included at the stage of the search area defining process, and to define the search area based on the determination result. This is because it can be assumed that the search areas defined by autonomously searching for areas that satisfy the predetermined condition include areas that overlap each other. In other words, even when the same front-facing face is the search target, the search area is defined as a different search area between the area around the left ear, the area around the nose, and the area around the right ear. This is based on the fact that not all search areas need to be processed in this case.
[0070]
In this case, the
[0071]
Next, the
[0072]
If the Boolean value is true in this process S23 (if Yes), the conversion process (S6) and the search process (S7) are performed on the selected search area, and the search target is selected by the search process. When it is determined that it is included in the search area (if Yes), the value of the area on the map data corresponding to the search area after the conversion process is set to “true” ( Along with S8), the Boolean value of the area corresponding to the search area is set to false on the aging map (S24). As a result, the search area in which the center point coordinates are included in the portion is not processed in an overlapping manner.
[0073]
The
[0074]
On the other hand, if it is determined that the search target is not included as a result of the search process in the process S7 (No), the process proceeds to the process S25 as it is. Also, in process S25, if there is no Boolean value that is true on the aging map (if No), whether or not the currently set reduction rate S exceeds a predetermined maximum reduction rate. (S10), if it does not exceed (if No), the reduction rate S is adjusted to be increased (S11), and the process returns to the process S2 to continue the process. Here, the process S11 for largely adjusting the reduction rate S may be, for example, a process for increasing the reduction rate S by a predetermined ratio, or by multiplying the magnification which is the reduction rate S by a predetermined multiplier ΔS, S = A new reduction ratio S may be set as S × ΔS.
[0075]
Further, if the currently set reduction rate S does not exceed the predetermined maximum reduction rate (if Yes) in the process S10, based on the map data corresponding to the target image data at each reduction rate, the original In the target image data (before reduction), an area including a search target is defined (S12), and the process ends.
[0076]
According to this process, even if a plurality of search areas are defined for one search object in the search area defining process, a plurality of adjacent search areas are not processed in an overlapping manner.
[0077]
[Variation of search area definition processing]
Further, in the search area defining process, the
[0078]
[Still another variation of processing]
Furthermore, in the description so far, the
[0079]
Further, a pattern (template) of a search area defined in advance is stored in the
[0080]
[Modification of conversion process]
When letting the user specify these search areas themselves, information on conversion processing to be performed for each of the specified search areas (information indicating degree of freedom of conversion and conversion amount, hereinafter referred to as user-specified conversion information) is associated. Alternatively, this may be used during the conversion process. This user-specified conversion information corresponds to an example of “information related to a search target state” in the present invention. The conversion process in this case is as follows.
[0081]
That is, the
[0082]
That is, from the image data portion included in the search region, information on the amount of conversion for approaching the reference state for each degree of freedom, based on the information learned and acquired in each
[0083]
In addition, when the conversion amount corresponding to the degree of freedom other than the degree of freedom determined by the user-specified conversion information represents “0” (that is, no conversion), the degree of freedom determined by the user-specified conversion information If there is no conversion with a degree of freedom other than, the process ends at that stage, and if there is an unprocessed search area, the conversion process is performed with any of the unprocessed search areas as a processing target.
[0084]
In this case as well, a process for reducing the resolution of the image data portion may be performed to obtain coarse-grained data, and the conversion process may be executed using the coarse-grained data. In this case as well, each
[0085]
Using this conversion process, for example, it is possible to search for image data including the state of the search target in each search region. In other words, when there are upright people and lying people in the photo, and each face is upright and rotated 90 degrees from upright, information on each state is displayed along with the search area. Specify as a search condition. For example, if the
[0086]
[Another configuration example for obtaining the same effect]
Further, the
[0087]
[Other variations]
In the description so far, the conversion performed in the conversion process is two-dimensional rotation, translation, enlargement / reduction (enlargement / reduction of the search area, and the original image data area before the enlargement / reduction) However, other than this, for example, a human face may include a three-dimensional rotation that is influenced by the posture (depression or swing direction). . In this case, assuming an average three-dimensional model to be searched, conversion of three-dimensional rotation can be realized by using an image data portion projected onto the average three-dimensional model.
[0088]
Further, in the search process, for example, even a human face may be further classified into categories and may include conditions such as age, sex, and whether or not the mouth is open.
[0089]
Further, in the flowcharts of FIG. 2 and FIG. 3, the
[Brief description of the drawings]
FIG. 1 is a configuration block diagram of an image search apparatus according to an embodiment of the present invention.
FIG. 2 is a flowchart illustrating an example of processing of a
FIG. 3 is a flowchart showing another example of processing by the
FIG. 4 is an explanatory diagram illustrating an example of an interface of an apparatus to which the image search apparatus according to the embodiment of the present invention is applied.
[Explanation of symbols]
11 control unit, 12 storage unit, 13 database unit, 14 display unit, 15 operation unit, 16 external storage unit.
Claims (4)
前記対象画像データ内に、探索領域を少なくとも一つ画定する手段と、
少なくとも一つの変換の種類について、予め定められた基準状態から互いに異なる変換量だけ変換された複数の学習サンプルを用い、各学習サンプルについてそれぞれを基準状態に戻す変換量の情報を関連づけて学習させて得た変換データベースを参照して、前記画定されたそれぞれの探索領域に含まれる探索部分データについて、当該探索部分データを基準状態とするために適用すべき変換の種類及び変換量を含んでなる変換条件を取得し、当該取得した変換条件に基づく変換を、各探索部分データについての変換条件が示す変換量が「0」となるまで繰り返し行って、前記探索部分データを基準状態に変換する変換手段と、
前記基準状態での探索対象の画像データ例を用いて学習獲得された探索データベースを参照し、前記変換後の探索部分データの各々に探索対象が含まれているか否かを判断する探索手段と、
探索対象が含まれていると判断された探索部分データに対応する前記対象画像データ上の領域を特定する探索結果情報を生成し、出力する手段と、
を含み、
当該生成された探索結果情報が所定処理に供されることを特徴とする画像探索装置。An image search device for searching a search target image data portion to be searched from target image data to be processed,
Means for defining at least one search area in the target image data;
For at least one type of conversion, a plurality of learning samples converted from different predetermined conversion amounts from a predetermined reference state are used, and learning information associated with conversion amounts for returning each of the learning samples to the reference state is learned. With reference to the obtained conversion database, for the search partial data included in each of the defined search areas, the conversion including the type of conversion and the conversion amount to be applied in order to set the search partial data as the reference state Conversion means for acquiring a condition, repeatedly performing conversion based on the acquired conversion condition until the conversion amount indicated by the conversion condition for each search partial data is “0”, and converting the search partial data into a reference state When,
Search means for referring to a search database acquired by learning using an example of image data of a search target in the reference state, and determining whether a search target is included in each of the converted search partial data;
Means for generating and outputting search result information for specifying a region on the target image data corresponding to the search partial data determined to include a search target;
Including
An image search device, wherein the generated search result information is subjected to a predetermined process.
前記変換データベースは、変換の種類ごとに学習して得た変換条件をそれぞれ記憶するデータベース群を含んでなり、
前記変換手段は、変換データベースに含まれる前記各データベース群を検索し、前記画定されたそれぞれの探索領域に含まれる探索部分データについて、当該探索部分データを基準状態とするために適用すべき変換の種類及び変換量を含んでなる変換条件を取得し、当該取得した変換条件に基づく変換を、各探索部分データについての変換条件が示す変換量が「0」となるまで繰り返し行って、前記探索部分データを基準状態に変換することを特徴とする画像探索装置。The image search device according to claim 1,
The conversion database includes a database group for storing conversion conditions obtained by learning for each type of conversion,
The conversion means searches each database group included in a conversion database, and for the search partial data included in each of the defined search areas, conversion to be applied to set the search partial data as a reference state. The conversion condition including the type and the conversion amount is acquired, and the conversion based on the acquired conversion condition is repeatedly performed until the conversion amount indicated by the conversion condition for each search portion data becomes “0”, and the search portion An image search apparatus characterized by converting data into a reference state .
探索領域を画定する手段が、前記対象画像データ内に、探索領域を少なくとも一つ画定する工程と、 Means for defining a search area defining at least one search area in the target image data;
変換手段が、少なくとも一つの変換の種類について、予め定められた基準状態から互いに異なる変換量だけ変換された複数の学習サンプルを用い、各学習サンプルについてそれぞれを基準状態に戻す変換量の情報を関連づけて学習させて得た変換データベースを参照して、前記画定されたそれぞれの探索領域に含まれる探索部分データについて、当該探索部分データを基準状態とするために適用すべき変換の種類及び変換量を含んでなる変換条件を取得し、当該取得した変換条件に基づく変換を、各探索部分データについての変換条件が示す変換量が「0」となるまで繰り返し行って、前記探索部分データを基準状態に変換する工程と、 The conversion means uses a plurality of learning samples converted by a different conversion amount from a predetermined reference state for at least one type of conversion, and associates information of the conversion amount for returning each of the learning samples to the reference state. With reference to the conversion database obtained by learning, the type of conversion and the conversion amount to be applied in order to set the search partial data as the reference state for the search partial data included in each of the defined search areas. The conversion condition is acquired, and the conversion based on the acquired conversion condition is repeatedly performed until the conversion amount indicated by the conversion condition for each search partial data becomes “0”, and the search partial data is set to the reference state. Converting, and
探索手段が、前記基準状態での探索対象の画像データ例を用いて学習獲得された探索データベースを参照し、前記変換後の探索部分データの各々に探索対象が含まれているか否かを判断する工程と、 The search means refers to the search database acquired by learning using the image data example of the search target in the reference state, and determines whether or not the search target is included in each of the converted search partial data Process,
出力手段が、探索対象が含まれていると判断された探索部分データに対応する前記対象画像データ上の領域を特定する探索結果情報を生成し、出力する工程と、 An output means for generating and outputting search result information for specifying an area on the target image data corresponding to the search partial data determined to include a search target; and
を含み、 Including
当該生成された探索結果情報が所定処理に供されることを特徴とする画像探索方法。 An image search method, wherein the generated search result information is subjected to a predetermined process.
コンピュータを、 Computer
前記対象画像データ内に、探索領域を少なくとも一つ画定する手段と、 Means for defining at least one search area in the target image data;
少なくとも一つの変換の種類について、予め定められた基準状態から互いに異なる変換量だけ変換された複数の学習サンプルを用い、各学習サンプルについてそれぞれを基準状態に戻す変換量の情報を関連づけて学習させて得た変換データベースを参照して、前記画定されたそれぞれの探索領域に含まれる探索部分データについて、当該探索部分データを基準状態とするために適用すべき変換の種類及び変換量を含んでなる変換条件を取得し、当該取得した変換条件に基づく変換を、各探索部分データについての変換条件が示す変換量が「0」となるまで繰り返し行って、前記探索部分データを基準状態に変換する変換手段と、 For at least one type of conversion, a plurality of learning samples converted from different predetermined conversion amounts from a predetermined reference state are used, and learning information associated with conversion amounts for returning each of the learning samples to the reference state is learned. With reference to the obtained conversion database, for the search partial data included in each of the defined search areas, the conversion including the type of conversion and the conversion amount to be applied in order to set the search partial data as the reference state Conversion means for acquiring a condition, repeatedly performing conversion based on the acquired conversion condition until the conversion amount indicated by the conversion condition for each search partial data is “0”, and converting the search partial data into a reference state When,
前記基準状態での探索対象の画像データ例を用いて学習獲得された探索データベースを参照し、前記変換後の探索部分データの各々に探索対象が含まれているか否かを判断する探索手段と、 Search means for referring to a search database acquired by learning using an example of image data of a search target in the reference state, and determining whether a search target is included in each of the converted search partial data;
探索対象が含まれていると判断された探索部分データに対応する前記対象画像データ上の領域を特定する探索結果情報を生成し、出力する手段と、 Means for generating and outputting search result information for specifying a region on the target image data corresponding to the search partial data determined to include a search target;
として機能させ、 Function as
当該生成された探索結果情報が所定処理に供されることを特徴とするプログラム。 A program characterized in that the generated search result information is subjected to a predetermined process.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003033844A JP4158544B2 (en) | 2003-02-12 | 2003-02-12 | Image search device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003033844A JP4158544B2 (en) | 2003-02-12 | 2003-02-12 | Image search device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004246476A JP2004246476A (en) | 2004-09-02 |
| JP4158544B2 true JP4158544B2 (en) | 2008-10-01 |
Family
ID=33019706
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003033844A Expired - Fee Related JP4158544B2 (en) | 2003-02-12 | 2003-02-12 | Image search device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4158544B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007272435A (en) * | 2006-03-30 | 2007-10-18 | Univ Of Electro-Communications | Facial feature extraction apparatus and facial feature extraction method |
-
2003
- 2003-02-12 JP JP2003033844A patent/JP4158544B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2004246476A (en) | 2004-09-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7482181B2 (en) | Image processing device and image processing method | |
| JP4217664B2 (en) | Image processing method and image processing apparatus | |
| JP7094702B2 (en) | Image processing device and its method, program | |
| JP5227629B2 (en) | Object detection method, object detection apparatus, and object detection program | |
| US20080219516A1 (en) | Image matching apparatus, image matching method, computer program and computer-readable storage medium | |
| KR101896357B1 (en) | Method, device and program for detecting an object | |
| CN108960115B (en) | Multidirectional text detection method based on angular points | |
| CN111881849A (en) | Image scene detection method, device, electronic device and storage medium | |
| JP2006146922A (en) | Template face detection method | |
| WO2021250808A1 (en) | Image processing device, image processing method, and program | |
| JP2020123244A (en) | Information processing apparatus, information processing method, and program | |
| JP5027030B2 (en) | Object detection method, object detection apparatus, and object detection program | |
| JPWO2012046426A1 (en) | Object detection apparatus, object detection method, and object detection program | |
| CN114445657B (en) | Target detection method, device, electronic device and storage medium | |
| JP5625196B2 (en) | Feature point detection device, feature point detection method, feature point detection program, and recording medium | |
| JP2009251892A (en) | Object detection method, object detection device, and object detection program | |
| JP6296769B2 (en) | Object detection device | |
| JP4186541B2 (en) | Image processing device | |
| JP4158544B2 (en) | Image search device | |
| JP4217954B2 (en) | Image search device | |
| JP7364077B2 (en) | Image processing device, image processing method, and program | |
| JP2018097707A (en) | Information processor, character recognition method, computer program, and storage medium | |
| JP4241074B2 (en) | Image search device | |
| JP3988554B2 (en) | Image inquiry information construction method and image inquiry method | |
| WO2023013546A1 (en) | Computer program, generation device, and generation method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060120 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20071112 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071115 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080408 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080604 |
|
| 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: 20080624 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080707 |
|
| 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: 20110725 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110725 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120725 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130725 Year of fee payment: 5 |
|
| LAPS | Cancellation because of no payment of annual fees |