(57)【特許請求の範囲】
【請求項１】
判別対象の画像から特徴点を抽出する特徴点抽出手段と、
所定物体の複数の局所領域それぞれについて、特徴点を起点とし、該起点から該局所領域の基準位置まで移動する場合の水平方向及び垂直方向の移動距離を、各方向における、特定の２つの特徴点の位置座標間の差分に対する比率で定義するとともに、該複数の局所領域それぞれの大きさを各起点ごとに定義したテーブルを保持する保持手段と、
前記複数の局所領域それぞれについて、前記テーブルを参照して、前記判別対象の画像から抽出された対応する特徴点を起点として移動した場合の当該局所領域の基準位置と、該基準位置において切り出されるべき局所領域の大きさとを算出する算出手段と、
前記算出された前記基準位置それぞれにおいて、前記算出された大きさの局所領域を切り出す切出手段と、
前記切出手段により切り出された複数の局所領域それぞれから抽出された特徴量を用いて、前記判別対象の画像に類似する画像を判別する判別手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記局所領域の基準位置への移動方向は、前記テーブルにおいて、前記所定物体の特徴点を用いて定義されていることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記移動方向は、第１の特徴点から第２の特徴点までを結ぶ線分の方向、または、前記第１の特徴点から第２の特徴点までを結ぶ線分の水平成分の方向、または、前記第１の特徴点から第２の特徴点までを結ぶ線分の垂直成分の方向のいずれかにより定義されていることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記算出手段は、前記位置座標間の差分に前記比率を積算することで、前記移動距離を算出することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記基準位置において切り出されるべき局所領域の大きさは、前記テーブルにおいて、固定値として定義されていることを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記基準位置において切り出されるべき局所領域の大きさは、前記テーブルにおいて、水平方向及び垂直方向における特定の２つの特徴点の位置座標間の差分に対する比率を用いて定義されていることを特徴とする請求項１に記載の画像処理装置。
【請求項７】
判別対象の画像より切り出される局所領域から抽出された特徴量を用いて、該判別対象の画像に類似する画像を判別する画像処理装置における画像処理方法であって、
特徴点抽出手段が、判別対象の画像から特徴点を抽出する特徴点抽出工程と、
保持手段が、所定物体の複数の局所領域それぞれについて、特徴点を起点とし、該起点から該局所領域の基準位置まで移動する場合の水平方向及び垂直方向の移動距離を、各方向における、特定の２つの特徴点の位置座標間の差分に対する比率で定義するとともに、該複数の局所領域それぞれの大きさを各起点ごとに定義したテーブルを保持する保持工程と、
算出手段が、前記複数の局所領域それぞれについて、前記テーブルを参照して、前記判別対象の画像から抽出された対応する特徴点を起点として移動した場合の当該局所領域の基準位置と、該基準位置において切り出されるべき局所領域の大きさとを算出する算出工程と、
切出手段が、前記算出された前記基準位置それぞれにおいて、前記算出された大きさの局所領域を切り出す切出工程と、
判別手段が、前記切出工程において切り出された複数の局所領域それぞれから抽出された特徴量を用いて、前記判別対象の画像に類似する画像を判別する判別工程と
を有することを特徴とする画像処理方法。
【請求項８】
判別対象の画像より切り出される局所領域から抽出された特徴量を用いて、該判別対象の画像に類似する画像を判別する画像処理装置のコンピュータに、
判別対象の画像から特徴点を抽出する特徴点抽出工程と、
所定物体の複数の局所領域それぞれについて、特徴点を起点とし、該起点から該局所領域の基準位置まで移動する場合の水平方向及び垂直方向の移動距離を、各方向における、特定の２つの特徴点の位置座標間の差分に対する比率で定義するとともに、該複数の局所領域それぞれの大きさを各起点ごとに定義したテーブルを保持する保持工程と、
前記複数の局所領域それぞれについて、前記テーブルを参照して、前記判別対象の画像から抽出された対応する特徴点を起点として移動した場合の当該局所領域の基準位置と、該基準位置において切り出されるべき局所領域の大きさとを算出する算出工程と、
前記算出された前記基準位置それぞれにおいて、前記算出された大きさの局所領域を切り出す切出工程と、
前記切出工程において切り出された複数の局所領域それぞれから抽出された特徴量を用いて、前記判別対象の画像に類似する画像を判別する判別工程と
を実行させるためのプログラムを格納したコンピュータ読取可能な記憶媒体。
【請求項９】
判別対象の画像より切り出される局所領域から抽出された特徴量を用いて、該判別対象の画像に類似する画像を判別する画像処理装置のコンピュータに、
判別対象の画像から特徴点を抽出する特徴点抽出工程と、
所定物体の複数の局所領域それぞれについて、特徴点を起点とし、該起点から該局所領域の基準位置まで移動する場合の水平方向及び垂直方向の移動距離を、各方向における、特定の２つの特徴点の位置座標間の差分に対する比率で定義するとともに、該複数の局所領域それぞれの大きさを各起点ごとに定義したテーブルを保持する保持工程と、
前記複数の局所領域それぞれについて、前記テーブルを参照して、前記判別対象の画像から抽出された対応する特徴点を起点として移動した場合の当該局所領域の基準位置と、該基準位置において切り出されるべき局所領域の大きさとを算出する算出工程と、
前記算出された前記基準位置それぞれにおいて、前記算出された大きさの局所領域を切り出す切出工程と、
前記切出工程において切り出された複数の局所領域それぞれから抽出された特徴量を用いて、前記判別対象の画像に類似する画像を判別する判別工程と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、類似する画像を判別する画像処理装置、画像処理方法、プログラム及び記憶媒体に関するものである。
【背景技術】
【０００２】
近年、指紋や掌紋、静脈、虹彩といった身体的特徴による本人認証技術、所謂バイオメトリクス認証技術の開発が進められている。このようなバイオメトリクス認証技術の中には、処理対象として、デジタルカメラ等の光電変換撮像装置により取得された画像や、画像相当の２次元空間データに変換したデータを用いられるものが数多くある。
【０００３】
その中でも顔の画像を用いた顔認証技術は、人が他の人を識別する際に通常行っている行為と同等であるため、指紋等のその他のバイオメトリクス認証技術に比べると、その抵抗感の少なさから特に注目されている。
【０００４】
顔などの画像により本人の認証を行う上での、問題点の一つは、判別しようとするパターン同士が比較的似通っている点にある。入力された任意の自然画像中から人の顔を検出する「顔検出」処理であれば、顔である画像パターン同士の差異は、仮に色々な撮像条件で撮像されていたり、色々な人が含まれていたとしても、背景となる画像パターンとの差異に比べると極めて小さいと言える。
【０００５】
すなわち、互いに差異の少ない「似通った」パターンを顔クラスとしてその他のパターンから分離すれば良いため、比較的容易なパターン認識であると考えられる。このような顔検出処理に用いられるパターン認識技術は、例えば特許文献３や非特許文献２に開示されている。
【０００６】
一方、「顔認証」処理の場合は、人の顔クラスとして検出された似通ったパターン同士の中から、その差異を見つけて個人別クラスを判別するという処理が必要となってくる。そして、検出される顔の個人間の差異よりも、同一人物における、撮像条件や表情、顔の向き、眼鏡等のアクセサリや化粧等に起因する差異の方が大きくなる場合がしばしばある。
【０００７】
すなわち、撮像条件等に起因する差異を無視して、個人間の差異のみを抽出して個人別にクラス分けするというのは、そもそも非常に困難な問題であると言える。
【０００８】
この問題に対応するための従来技術として、顔画像の局所領域に注目する方法が提案されている。ある個人を撮像することにより得られた複数の顔画像について、撮像条件等に起因する差異があったとしても、その影響は顔全体に均一に現れるわけではない。
【０００９】
例えば、表情が変わったとしても、変わる前の画像と比べて鼻付近の差異は少ない。また、強い照明が斜めから当たるような場合であっても、それほど強い照明があたっていない画像と比べて、光の当たっている部分の差異は少ない。また、顔の向きが観察者に相対して左に向いていたとしても、顔の３次元形状により、正面を向いている画像と比べて右側部分の差異は左側部分の差異よりも少なくなる。
【００１０】
従ってある局所領域の差異が大きい場合でも、他のいずれかの局所領域では個人の特定が可能な程度にしか差異が生じていないことが期待できる。すなわち個人の特定が可能な程度の差異しか生じていない局所領域による判別結果を選択的に用いることで、良好な本人認証が可能となると考えられる。
【００１１】
このような局所領域の位置を決めるために、例えば、特許文献１に開示される画像認識装置では、「標準顔」による位置決め方法を採用している。「標準顔」とは、正規化された多数のサンプル顔画像を、各画素について平均化することにより生成される顔画像である。
【００１２】
そして、この標準顔画像上に、例えば図１９に示すように多数の特徴点を設定する。特許文献１の場合、これら特徴点それぞれを含む近傍領域を局所領域として用いることとしている。そして登録または判別のための正規化された顔画像が入力されると、標準顔上の各特徴点の間でパターンマッチングすることで、入力顔画像上における特徴点の位置を決定することとしている。尚、これらの特徴点は、事前に機械学習により選択されている。
【００１３】
また、非特許文献１では、検出した特徴点を基準として、局所領域を設定する顔認識方法を開示している。ここで基準点となる特徴点は、例えば左目の左端（目尻）等、比較的検出しやすい一点を採用している。
【００１４】
そして、検出した基準点から、所定の横軸ｘ方向および縦軸ｙ方向のずらし量（ａ，ｂ）により、局所領域の位置を定める。このとき、局所領域が常にほぼ同一の位置となるようにするためには、ずらし量を顔画像に応じて変えるのが有効である。また、実際の顔の上における範囲をほぼ同等とするように局所領域を切り出すためには、切り出す範囲ｃも顔の向きに応じて変えるのが良い。
【００１５】
そこで非特許文献１では、検出した複数の特徴点の位置情報を用いて顔向き推定処理を行い、推定した顔向きに応じて、局所領域の位置や範囲を変更することとしている。例えば、図２０（ａ）に示すように、正面向きの顔の場合は、パラメータａ1、ｂ1、ｃ1を用いて局所領域の切り出しを行い、同図（ｂ）のように左に向いた顔の場合は、パラメータａ2、ｂ2、ｃ2を用いて局所領域を切り出すこととしている。
【００１６】
また、特許文献２では、直接検出したいくつかの特徴点を用いて、他の特徴点を設定する方法が開示されている。尚、特許文献２の場合、直接検出したものであるかどうかに関わらず、１つの特徴点に対して１つの局所領域を設定することとしている。
【００１７】
図２１は特許文献２に開示された特徴点の設定方法の一例を説明する図である。図２１（ａ）に示すように、特許文献２の場合、まず両目頭と鼻の３点（Ａ，Ｂ，Ｃ）のみを特徴点として検出する。そしてこの３点を頂点とする三角形の各辺に一致する直線を平行移動した直線を用いて、図２１（ａ）に示すようなメッシュを切ったときの交点を、新たな特徴点として定めることとしている。そして３つのベクトルの整数倍として計算することを意図している。
【００１８】
更に、特許文献２の場合、例えばベクトルＣＡに対して、Ｃを中心として所定角度回転させた位置を新たな特徴点として定める方法も開示している。特許文献２によれば、これらの方法によりある特定の個人の顔画像においては、すべて同じ位置に特徴点が定まるとしているが、実際には顔画像の変動が、画像面内での回転や拡大縮小のみである場合に限られる。
【非特許文献１】「顔向きに応じた局所領域抽出に基づく顔認識」井尻 善久、他、第13回画像センシングシンポジウム予稿集、Yokohama, Jun, 2007
【非特許文献２】P. Viola, M. Jones, “Rapid Object Detection using a Boosted Cascade of Simple Features”, Proc. IEEE Conf. on Computer Vision and Pattern Recognition, Vol. 1, pp.511-518, December 2001.
【特許文献１】特開２００５−３４６６５４号公報
【特許文献２】特開２００４−２６５２６７号公報
【特許文献３】特開２００２−３５８５００号公報
【発明の開示】
【発明が解決しようとする課題】
【００１９】
しかしながら、上述の従来技術による局所領域の位置決め方法においては、以下に示すような問題点がある。
【００２０】
すなわち、特許文献１に開示される方法の場合、多数の特徴点それぞれについて、パターンマッチングを行う必要があるため、局所領域を位置決めするにあたり計算コストが大きくなってしまう。
【００２１】
加えて、例えば頬領域などのように特定のパターンとなりにくい位置の特徴点の検出精度は著しく低くなるので、入力画像の撮像条件如何では、顔判別処理に用いることのできる局所領域が極端に少なくなってしまう可能性がある。
【００２２】
また、非特許文献１に開示される方法の場合、前処理として行われる顔向き推定処理の精度に依存して、局所領域の設定精度が変わってしまう。また、限られた特徴点に基づく顔向き推定処理は、必ずしも容易な処理ではなく計算コストもそれなりに必要となる。
【００２３】
さらに、各局所領域毎に切り出す範囲を変えることで、顔の向きに関わらず実際の顔上における範囲をある程度一定にする効果は見込める一方、多数の局所領域を設定すると局所領域ごとの処理負荷が無視できなくなる。
【００２４】
また、顔の３次元構造から、奥行き方向の顔向き変動がある場合には、同一領域の形状が相似形でなく変形することになり、単独のパラメータによるフィッティングには限界がある。
【００２５】
更に、特許文献２に開示される方法の場合、検出された特徴点から計算される新たな特徴点は、各点を結ぶベクトルを整数倍して組み合わせた位置に限られるため、中間的な位置に設定することはできない。
【００２６】
また上述した通り、画像の変動が画像面内での回転（面内回転）に限られるのであれば、同一人物で同じ位置の特徴点を設定できる可能性が高い。しかしながら、本人認証処理に先立って入力される画像は、通常、予め正規化されているため、面内回転変動はほぼ補正され問題となることは少ない。むしろ、奥行き方向の回転による変動の方が問題となる。
【００２７】
例えば図２１（ｂ）に示したような奥行き方向で左向きに回転した顔においては、３点で構成される三角形の形が崩れ、同一人物であっても新たに算出される特徴点は回転前の特徴点と同じ位置にならない。この問題は、特許文献２に開示されたもう１つの方法（所定角度で線分を回転させた位置とする方法）でも同様である。
【００２８】
本発明は、上記課題に鑑みてなされたものであり、少ない計算コストで、安定した多数の局所領域の設定を可能にする、画像処理装置、画像処理方法、プログラム及び記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【００２９】
上記の目的を達成するために本発明に係る画像処理装置は以下のような構成を備える。即ち、
判別対象の画像から特徴点を抽出する特徴点抽出手段と、
所定物体の複数の局所領域それぞれについて、特徴点を起点とし、該起点から該局所領域の基準位置まで移動する場合の水平方向及び垂直方向の移動距離を、各方向における、特定の２つの特徴点の位置座標間の差分に対する比率で定義するとともに、該複数の局所領域それぞれの大きさを各起点ごとに定義したテーブルを保持する保持手段と、
前記複数の局所領域それぞれについて、前記テーブルを参照して、前記判別対象の画像から抽出された対応する特徴点を起点として移動した場合の当該局所領域の基準位置と、該基準位置において切り出されるべき局所領域の大きさとを算出する算出手段と、
前記算出された前記基準位置それぞれにおいて、前記算出された大きさの局所領域を切り出す切出手段と、
前記切出手段により切り出された複数の局所領域それぞれから抽出された特徴量を用いて、前記判別対象の画像に類似する画像を判別する判別手段とを備える。
【発明の効果】
【００３０】
本発明によれば、少ない計算コストで、安定した多数の局所領域を設定することが可能になる。
【発明を実施するための最良の形態】
【００３１】
以下、図面を参照しながら、本発明の好適な実施の形態について説明する。
【００３２】
［第１の実施形態］
１．顔判別処理装置の構成
図１は、本発明の画像処理装置の第１の実施形態である、顔判別処理装置の構成を示すブロック図である。図１に示す各ブロックは、例えば専用のハードウェア処理回路として実装される。尚、ここでは各ブロックの概要について説明し、後に夫々のブロックの詳細を説明する。
【００３３】
１０１は画像入力処理部であって、識別しようとする顔が含まれる可能性のある判別対象の画像（判別用入力画像と呼ぶ）を装置内に入力する機能を持つ。また、個人ＩＤと関連付けて、特徴量を登録すべき顔が含まれる画像（登録用入力画像と呼ぶ）を装置内に入力する機能を持つ。
【００３４】
画像入力処理部１０１は、例えば、光学系、ＣＣＤセンサ等の光電変換デバイス／ドライバ回路／ＡＤコンバータ／各種画像補正を司る信号処理回路／フレームバッファ等により構成されるカメラ装置である。或いは、ネットワーク等の所定の通信経路を介して、外部装置から上述の画像を受信するＩ／Ｆ装置であってもよい。
【００３５】
１０２は顔検出処理部であって、入力された画像中に存在する人の顔を、位置・大きさ・角度等の情報と共に検出するパターン検出処理を行う。顔検出処理部１０２は、例えば、特許文献３や、非特許文献２に開示される技術を用いて構成される。
【００３６】
１０３は、正規化切り出し処理部である。正規化切り出し処理部１０３では、顔検出処理部１０２で検出された顔位置、大きさ、角度等の情報に基づき、入力された画像から顔画像のみを切り出し、アフィン変換を利用して所定の大きさおよび角度の顔画像に正規化する。
【００３７】
１０４は器官端点（特徴点）抽出処理部である。特徴点抽出処理部１０４では、特徴点となる目や口等の器官の端点（目尻、目頭、口両端点等）を検出して、その位置を特定する処理を行う。尚、ここでの処理には、顔検出処理部１０２において用いたパターン検出処理アルゴリズムと同等のアルゴリズムを用いることができる。
【００３８】
従って処理時間が許すならば、処理部を顔検出処理部１０２と共通化させ、パラメータを変更して時分割に使用するようにすることもできる。また顔の器官の配置関係から拘束条件を導入して、パターン検出処理後の位置修正等を行うことにより、より正確な端点位置を得るようにすることも可能である。
【００３９】
１０５は再正規化処理部である。特徴点抽出処理部１０４による特徴点検出結果の少なくとも一部の結果を用いて変換パラメータを計算し、より正確な正規化処理を行う。これにより、以後の処理で設定される局所領域の位置や範囲の一致度を高めることができる。
【００４０】
尚、ここでの処理もアフィン変換に基づくものであるので、正規化切り出し処理部１０３と共通化させることも可能である。またこの処理部において、変換パラメータの計算に用いられなかった特徴点も含めて、すべて特徴点の位置は、再正規化処理後の座標系に変換される。
【００４１】
１０６は局所領域位置計算処理部であり、局所領域設定記憶部１１０に記憶されている各局所領域の定義テーブル１２０を順に読み出し、変換された座標系のもとで、処理対象の画像に対応する局所領域の位置及びサイズを計算する。
【００４２】
１０７は特徴ベクトル取得処理部である。特徴ベクトル取得処理部１０７では各局所領域における特徴ベクトルを取得する。具体的には、処理対象の画像から各局所領域を切り出し（切出手段として機能）、局所領域毎に所定の特徴量を抽出した後、これを変換処理することで、特徴ベクトルを取得する。
【００４３】
特徴量の抽出は、例えばヒストグラム補正等の照明変動補正処理を行った後、特徴量抽出フィルタを用いて、ＬＢＰ（Local binary patern）コードやガボール特徴量等の抽出を行う。抽出された特徴量はベクトル化され、部分空間へ射影して次元圧縮されることにより、各局所領域に対応する特徴ベクトルが取得される。
【００４４】
尚、全ての局所領域で同じ特徴量抽出フィルタによる特徴量の抽出処理を行う場合には、再正規化した顔画像全域に対して、まとめて抽出処理してから各局所領域を切り出すように構成しても良い。これにより、特に各局所領域の重なりが多い場合には、処理負荷を低減することができるからである。
【００４５】
画像入力処理部１０１から登録用入力画像が入力される登録処理動作モードの場合は、特徴ベクトル取得処理部１０７で取得された特徴ベクトルは、特徴ベクトル登録部１１１に、登録用入力画像に対応するクラスを示す個人ＩＤと共に記憶される。
【００４６】
尚、個人ＩＤは不図示のユーザＩ／Ｆもしくは通信Ｉ／Ｆ部を介して、登録時に指定される。ある個人ＩＤについて複数の登録用入力画像に基づく特徴ベクトルを登録する場合には、個人ＩＤ毎に一意に振られる登録用入力画像番号（画像ＩＤ）に対応させて登録する。登録処理動作モードの場合は、ここまでで処理完了となる。
【００４７】
１０８は局所類似度判別処理部である。局所類似度判別処理部１０８は、画像入力処理部１０１から判別用入力画像が入力される判別処理動作モードの場合にのみ動作する。まず、特徴ベクトル登録部１１１から、登録されている各個人ＩＤ（複数の登録用入力画像が存在する場合には画像ＩＤ）の各局所領域の特徴ベクトルを順に読み出す。
【００４８】
そして、特徴ベクトル取得処理部１０７で取得した、判別用入力画像の対応する局所領域の特徴ベクトルとの類似度を算出する。類似度の算出には、後述するように、特徴ベクトル間の角度（正規化相関）や、ベクトル間の距離（ユークリッド距離、マハラノビス距離等）に基づく値等を用いる。
【００４９】
１０９は結果統合・最終判別処理部である。局所類似度判別処理部１０８のおいて算出された局所領域毎の類似度の値は、個人ＩＤ（または画像ＩＤ）毎に集められ、平均化あるいは取捨選択・重み付け等することによって統合される。
【００５０】
統合処理については後述する。統合された類似度を統合類似度と呼び、統合類似度が閾値以上で且つ最も大きくなる個人ＩＤが、判別結果のクラスとなる。いずれの個人ＩＤに対する類似度も閾値を超えない場合には、登録されてない人の顔画像であると判別される。
【００５１】
尚、個人ＩＤに対して複数の登録用入力画像に基づく特徴ベクトルが登録されている場合には、例えば、登録されている全ての画像ＩＤに対する統合類似度の平均値や最大値を、その個人ＩＤの統合類似度とする。もしくは、撮像条件や顔の向き等が推定できる場合には、対応する画像ＩＤを選択するようにしてもよい。
【００５２】
２．顔判別処理装置における処理の流れ
上述のように本実施形態の顔判別処理装置は、登録処理動作モードと判別処理動作モードを備える。以下、各モードにおける処理（登録処理、判別処理）の流れについて説明する。
【００５３】
２．登録処理の流れ
登録処理動作モードにおける登録処理は、図２に示すフローチャートに従って実行される。以下、図２に基づいて登録処理の流れを説明する。なお、説明にあたっては、処理の具体例を示した図４〜図６を逐次参照するものとする。
【００５４】
登録処理が開始されると、まずステップＳ２０１では、画像入力処理部１０１より、登録用入力画像が入力画像として入力される。また、このとき不図示のユーザＩ／Ｆあるいは通信Ｉ／Ｆを介して、登録用入力画像に対応する個人ＩＤも合わせて入力される。
【００５５】
そしてステップＳ２０２として、顔検出処理部１０２による登録用入力画像中の顔の検出処理を行う（図４の（ａ））。顔検出処理の詳細については後述する。尚、登録用入力画像に含まれる顔の数は、通常１つのみであるが、複数の顔を含む登録用入力画像が入力された場合には、ここで検出された顔のうち、入力画像内において、より中心付近に近い顔、或いはより大きい顔が優先される。
【００５６】
ステップＳ２０３では、所定の大きさに顔画像を切り出した後、アフィン変換を利用して回転補正して変倍する、正規化切り出し処理を行う。ここで用いるパラメータ（アフィン・パラメータ）は、回転中心座標、回転角度、変倍率であって、ステップＳ２０２で検出された顔の位置・大きさ・角度の情報に基づいて設定される。
【００５７】
ここでは、例えば、切り出す範囲内の各画素の座標をアフィン変換した場合の位置（実数座標位置）を計算し、当該各画素値を配置する。そして、バイリニアまたはバイキュービック等の補完処理や画素の統合処理等を行って、変換後の各画素値（整数座標位置）を決定する。
【００５８】
若しくは、変換後の各画素の座標を逆変換した元画像上の座標値（実数位置）を求め、その近傍画素を同様に補完統合処理するようにしても良い。ここでの処理は、顔検出結果による精度の低い情報に基づく正規化処理であるため、出力される顔画像はある程度ばらついたものとなっている。
【００５９】
次にステップＳ２０４では、正規化した顔画像中から、所定の器官端点（特徴点）を検出する処理を行う（図４の（ｂ））。
【００６０】
図４に示すように、本実施形態では、特徴点として、両目の目尻、目頭および口両端点の計６点を検出するようにしている。本ステップで用いるパターン検出アルゴリズムは、ステップＳ２０２の顔検出処理で用いたアルゴリズムと同様のものであるが、これらの特徴点を検出できるように、予めパラメータを学習しておくものとする。但し、正規化された顔画像からの部分パターン抽出処理であるので、スキャンする範囲はある程度狭くすることができる。
【００６１】
従って、分離しなければならない不正解データ（背景相当）としては正解点周辺のみ考慮すれば良く、そのバリエーションは顔に対する背景パターンに比べれば遥かに少なくて済む。つまり演算負荷としては、顔検出処理よりも遥かに軽い処理とすることが可能である。
【００６２】
またここでは、直接パターン検出はしないものの、目尻、目頭の中点を目特徴点、口両端点の中点を口特徴点として、間接的に計算した特徴点を追加の特徴点としている。すなわち本ステップにおいて、抽出される特徴点は計９点である。
【００６３】
続くステップＳ２０５では、抽出された両目位置に基づいて再正規化処理を行う（図４の（ｃ））。これによって両目が所定の位置に移動され標準サイズに変倍された顔画像が得られる。
【００６４】
ここで用いられるアフィン変換処理自体は、ステップＳ２０３の正規化切り出し処理におけるアフィン変換と全く同じである。アフィン・パラメータは、ステップＳ２０４で抽出した目の位置が標準位置にくるように計算される。これについては後述する。
【００６５】
尚、本実施形態では、ステップＳ２０３で正規化した顔画像に対して、再正規化処理を行うこととしているが、このような構成に限定されるものではなく、ステップＳ２０１で入力された登録用入力画像から直接正規化するように構成してもよい。
【００６６】
この場合は、ステップＳ２０３で用いたアフィン・パラメータを記憶しておき、ステップＳ２０４で検出した特徴点座標を逆アフィン変換する。そして、登録用入力画像の座標系での特徴点として、ここから再正規化用アフィン・パラメータを計算するようにすればよい。
【００６７】
このようにすると、正規化処理が２回行われることによる情報の欠落を抑制することができ、精度の向上は期待できるが、別途、登録用入力画像を保持しておくためのバッファ・メモリが必要となる。
【００６８】
再正規化処理（ステップＳ２０５）の結果、両目の位置は予め定められた標準位置となる。ステップＳ２０６では、その他の７つの特徴点座標をステップＳ２０５と同じパラメータでアフィン変換し、再正規化座標系での特徴点位置を算出する（図４の（ｄ））。
【００６９】
次に各局所領域毎の処理ループに入る。まず、ステップＳ２０７では、今回処理すべき局所領域のＩｎｄｅｘを決定する。このＩｎｄｅｘは、局所領域設定記憶部１１０に記憶されている各局所領域の定義テーブル１２０のＩｎｄｅｘであって、通常若い番号のＩｎｄｅｘから順に選択される。
【００７０】
処理する局所領域のＩｎｄｅｘが決定すると、ステップＳ２０８では、対応する局所領域の定義に従い、ステップＳ２０６で算出した各特徴点座標を用いて、局所領域の位置およびサイズを計算する。これにより、局所領域の中心座標と矩形の切り出しサイズとが決定される。図４の（ｅ）は、局所領域の位置・サイズ計算処理の結果を示している（ただし、本ステップ１回の処理では、このうちの１つの局所領域の中心座標と矩形の切り出しサイズのみが決定される）。なお、この処理の詳細については後述する。
【００７１】
決定された局所領域の中心座標と矩形の切り出しサイズとに従い、ステップＳ２０９では、ステップＳ２０５で再正規化処理された顔画像から、局所領域の画像を所定のサイズで切り出す処理を行う。なお、本実施形態では、局所領域設定記憶部１１０に記憶された定義テーブル１２０において、局所領域毎に固定の矩形の切り出しサイズが定義されているものとする。
【００７２】
本実施形態の場合、ステップＳ２０５において再正規化処理を行うため、切り出した顔画像の大きさは、ほぼ揃えられている。従って、切り出される局所領域の実際の顔上の範囲は、顔の向き等により局所領域ごとに多少は変化するが、切り出しサイズが固定であっても大きく異なるということはない。
【００７３】
そしてステップＳ２１０においては、切り出した局所領域の画像に対して、上述した所定のフィルタリング処理等を行い、特徴量を抽出する。
【００７４】
抽出される特徴量としては、例えば、図５に示すＬＢＰコードや、図６に示すガボール・ジェット・フィルタを用いてフィルタリング処理することで得られるがボール特徴量が挙げられる。
【００７５】
図５のＬＢＰコードは、注目画素とその隣接画素との画素値の差を調べ、差が負になる場合は“０”を、正になる場合は“１”を割り当てた後に、所定の起点から回転するように当該“０，１”の列を取り出して８ビット列として並べてコード化したものである。
【００７６】
尚、ＬＢＰコードには、隣接画素ではなく所定画素飛ばした周辺画素との差を調べたり、正確な円形位置相当の画素値を線形補完等により求めて比較したり、あるいは隣接する数画素をまとめて平均化して比較するなどのバリエーションがある。これらを局所領域毎に選択的に用いても良いし、複数種類を併用するようにしても勿論構わない。
【００７７】
図２に戻る。ステップＳ２１０で抽出した特徴量は、切り出した局所領域内の画素数と同じ要素数（もしくは複数種類の特徴量を併用する場合には、その整数倍）となっている。これを１列に並べてベクトルと見なすと、切り出した局所領域の画素数（もしくはその整数倍）の巨大な次元数のベクトルとなる。
【００７８】
ステップＳ２１１では、このベクトルを、局所領域毎に所定の射影行列を用いて、次元圧縮することで特徴ベクトルを算出する。一般に、特徴ベクトルを次元圧縮することで、データ量が削減できるのみならず、判別率が向上することが知られている。これはノイズや判別に関係の無い情報を減らすことができるためと考えられる。
【００７９】
各射影行列が表す部分空間は、理想的には、個人間の差異のみを残して、同一人物内の差異、すなわち撮像条件や顔の向き、表情等に起因する差異を無くしてしまうような空間が望まれる。このような理想的な部分空間に近い部分空間は、予め多数の人物のサンプルデータを用いて、主成分分析（ＰＣＡ）を行うことにより求めることができる。
【００８０】
但し、主成分分析による手法では、抽出された各主成分（固有ベクトル）のいずれが、個人間の差異を良く表すものであるかは分からない。従って、例えば、すべての主成分を抽出後に、多数の正解の分かっているサンプルデータを用いてテストを行い、良好な判別ができる主成分を選択するようにすると良い。
【００８１】
或いは、独立成分分析（ＩＣＡ）なる手法を利用することで、同一人物内の差異がガウス分布に従うと仮定できるならば、個人間の差異を表す部分空間を直接的に計算できる可能性もある。若しくは線形判別分析（ＬＤＡ）の手法を応用し、個人間の差異を最大化し、同一人物間の差異を最小化する部分空間を探索する方法もある。
【００８２】
いずれの手法を用いるにせよ、予め多数のサンプルデータを用いて分析や学習を行い、射影行列を決定しておく必要がある。この分析や学習処理は、顔判別処理装置１００内で行う必要は無く、ハイスペックなコンピュータを用いて予め計算しておき、装置内には決定された射影行列を記憶しておくようにしてもよい。
【００８３】
他の方法としては、ＬＢＰ等の各特徴量コードの局所領域内における出現頻度を特徴ベクトルと見なす方法もある。この方法では、輝度値ヒストグラムで良く行われるように、ある近い範囲のいくつかのコードをまとめてカウントすることにより、ノイズを消すことができ、且つ次元（＝ヒストグラムのビン数）も圧縮することができる。
【００８４】
このようにして抽出された特徴ベクトルは、ステップＳ２１２において、個人ＩＤおよび局所領域Ｉｎｄｅｘに対応付けて、特徴ベクトル登録部１１１に登録される。
【００８５】
そしてステップＳ２１３では、各局所領域の定義テーブル１２０に含まれる最後の局所領域の定義まで処理が完了したかを調べ、完了していなければステップＳ２０７に戻って次の局所領域の定義に関して同様の処理を行う。全ての局所領域の定義に対する処理が完了したら、登録用入力画像に対する登録処理は完了となる。
【００８６】
２．２  判別処理の流れ
続いて判別処理動作モードにおける判別処理の流れについて、図３を用いて説明する。
【００８７】
判別処理動作モードにおいて、ステップＳ３０１では、画像入力処理部１０１より、判別用入力画像が入力される。判別用入力画像には、複数の顔が含まれていても構わず、複数含まれている場合は、次の顔検出処理（ステップＳ３０２）より後の処理が、検出された各顔毎に行われる（図が複雑になるので、各顔に対応するループは図３において省略してある）。
【００８８】
ステップＳ３０２〜Ｓ３１１の各処理は、図２の登録処理における各ステップＳ２０２〜Ｓ２１１に対応し、基本的にそれぞれ全く同じ処理で行うので、詳細な説明は割愛する。
【００８９】
ステップＳ３１１において算出された局所領域の特徴ベクトルは、ステップＳ３１２においてＲＡＭ等の一時記憶領域（図１では不図示）に、局所領域Ｉｎｄｅｘと対応付けて保持される。
【００９０】
ステップＳ３１３では、ステップＳ２１３と同様、各局所領域の定義テーブル１２０に含まれる最後の局所領域の定義まで処理が完了したかを確認する。
【００９１】
ステップＳ３１４では、特徴ベクトル登録部１１１に登録してある個人ＩＤのうち、今回照合すべき個人ＩＤを１つ選択する。１つの個人ＩＤに対し複数の登録用入力画像に基づく特徴ベクトルが登録されている場合には、ここで画像ＩＤも１つ選択するが、画像ＩＤのループは図３においては省略してある。
【００９２】
ステップＳ３１５では、ステップＳ３０７と同様に照合する局所領域のＩｎｄｅｘを選択し、ステップＳ３１６では、対応する特徴ベクトルを特徴ベクトル登録部１１１より読み出す。
【００９３】
ステップＳ３１７では、ステップＳ３１２において一時記憶しておいた、対応するＩｎｄｅｘの特徴ベクトルを参照し、登録されていた特徴ベクトルとの類似度を算出する類似度計算処理を行う。
【００９４】
ここで、登録されていた特徴ベクトルをＶγ、判別用入力画像から抽出した特徴ベクトルをＶｉとすると、類似度は、例えば図７に示すように、両ベクトル間の距離ｄに基づいた値として計算することができる。距離ｄの値が小さくなるほど、両ベクトルは類似していると判断できる。例えば、計算のしやすさから二乗距離を用いて、類似度Ｓｄを、
【００９５】
【数１】
0005121506.tif 000002
【００９６】
として定めることができる。ここでｋは所定の係数である。このように定義すると、類似度Ｓｄは０〜１．０の範囲の値となる。この場合、１．０に近い程、類似していることを示すこととなる。
【００９７】
また、類似度ＳφをベクトルＶγとＶｉの間の角度φに基づいて定義することもできる。この場合は、やはり計算のし易さから、例えばｃｏｓφを類似度とすると良い。
【００９８】
【数２】
0005121506.tif 000003
【００９９】
この場合の類似度Ｓφは、両ベクトルの正規化相関値であって、−１．０〜１．０の値となり、やはり１．０に近い程類似していることを示す。もちろんこれらの類似度を組み合わせる等、他の定義の類似度を用いるようにしてもかまわない。
【０１００】
ステップＳ３１８では、ステップＳ３１３と同様に、選択中の個人ＩＤ（若しくは画像ＩＤ）に対する全ての局所領域の照合処理を完了したか否かをチェックする。完了していなければステップＳ３４１５に戻って処理を繰り返す。
【０１０１】
一方、全ての局所領域の類似度が算出されたと判断された場合には、ステップＳ３１９において、これらの類似度の統合処理を行う。最も基本的な類似度統合処理としては、全局所領域の類似度の平均値（または合計値）を統合類似度として算出することである。
【０１０２】
また、例えば信頼度や顔の向き、撮像条件等を必要に応じて推測し、その結果に基づいて、局所領域毎に重み付けしたり選択したりするようにすることも可能である。
【０１０３】
また、１つの個人ＩＤに対し複数の画像ＩＤの特徴ベクトルが登録されている場合には、ステップＳ３１５〜Ｓ３１９の処理を繰り返して、各画像ＩＤに対する統合類似度を算出する。そして、個人ＩＤに対する全ての画像ＩＤの統合類似度を、平均化するか最大値を選択するなどして、当該個人ＩＤに対応する統合類似度として決定する。
【０１０４】
ステップＳ３２０では、特徴ベクトル登録部１１１に登録されている全ての個人ＩＤに対する統合類似度が算出できたかどうかをチェックする。残っている個人ＩＤがあれば、ステップＳ３１４に戻り、次の個人ＩＤを選択し、類似度計算処理を繰り返す。
【０１０５】
一方、全ての個人ＩＤに対する統合類似度が算出されていた場合には、ステップＳ３２１にて最終判別を行う。ここでは、予め定められた閾値以上の類似度で、かつ最大値となる個人ＩＤを選択する。閾値以上の類似度が存在しなければ、今回入力された判別用入力画像は、登録されていない人物であると判定されたことになる。
【０１０６】
判別した個人ＩＤ（もしくは登録外であることを示す結果）は、ステップＳ３２２で所定の出力先へと出力され、処理完了となる。
【０１０７】
３．各処理の詳細
３．１  顔検出処理（ステップＳ２０２、３０２）の詳細
続いて図２のステップＳ２０２および図３のステップＳ３０２における顔検出処理について説明する。
【０１０８】
顔検出処理は、図８に示すように、ある特定の大きさの矩形領域８０１（以下「処理ウインドウ」と呼ぶ）を処理対象となる入力画像８００内で移動させ、各移動先の処理ウインドウ８０１内に人物の顔が含まれるか否かを判定することにより行われる。この処理ウインドウ８０１の大きさは、検出対象の顔のサイズに設定されている。
【０１０９】
通常は、仕様内で最も小さいサイズの顔を検出することのできる処理ウインドウを用意し、まずは入力画像を等倍で検出処理する。そして次に、少し縮小した画像を生成して検出処理する、ということを繰り返すことにより、いくらでも大きなサイズの顔を検出することができる。
【０１１０】
このようにすることで、論理的にサイズの異なる複数の処理ウインドウを用いていることとなる。１回の縮小率は、処理ウインドウが検出可能な顔のサイズに対するロバスト性に依存して決定する。このように少しずつ縮小された入力画像群をピラミッド画像と呼び、入力画像の縮小率から、検出された顔のサイズをある程度特定することができる。
【０１１１】
また、処理ウインドウ内の画像に対してパターン検出処理を行うことで顔を検出するパターン検出器は、入力画像面内方向の回転に対しても、ある程度のロバスト性を備える。各角度に対応した複数種類のパターン検出器を用いることにより、顔の面内回転角度もある程度特定することができる。
【０１１２】
入力画像中に顔が存在するとき、通常、空間的にある程度の広がりをもっている。このため、複数のパターン検出器により、顔の存在を示す値が出力される。従って各パターン検出器の出力に対して統合処理を行うことにより、位置、サイズ、回転角度をある程度特定することができる。
【０１１３】
このような顔検出処理の一例を、図９を用いて説明する。図９は、非特許文献２に開示されるパターン検出処理方法を実行可能なパターン検出器を示している。
【０１１４】
このパターン検出器は、複数のステージによって構成される。各ステージには、異なる組み合わせの弱判別器が割り当てられており、これらがカスケード接続で処理されることによって、強判別器となっている。各弱判別器は所謂Ｈａａｒ−ｌｉｋｅ特徴を検出するもので、矩形フィルタの組み合わせで構成されている。
【０１１５】
図９に示すとおり、各ステージに割り当てられる弱判別器の数は異なっている。また、ステージ単位でもカスケード接続構成となっており、各ステージは接続された順番に従って判定処理を行う。図９においては、第１ステージの次に第２ステージが判定を実施し、その次に第３ステージが判定を実施する。
【０１１６】
各ステージは、自身に割り当てられた順番に、自身に割り当てられたパターンの弱判別器を順に用いて、処理ウインドウ内に人物の顔が含まれるか否かを判定する。あるステージにおいて、処理ウインドウ内に人物の顔が含まれないと判定された場合、それ以降のステージでは、この位置における処理ウインドウについての判定は実施されない（カスケード処理は打ち切られる）。
【０１１７】
処理が打ち切られずに、最後のステージで人物の顔が含まれていると判定された場合にのみ、この位置の処理ウインドウ内に顔が含まれていると判定されることになる。実際の出力は、顔の出力する確率に対応するスコア値であり、最終的には閾値処理および先に述べた統合処理を行うことによって顔の存在有無が判定される。
【０１１８】
尚、各ステージのフィルタは、正規化顔およびその他の背景データからなる多数の学習用サンプルを用いて、ＡｄａＢｏｏｓｔ等のＢｏｏｓｔｉｎｇアルゴリズムにより、事前に機械学習することにより決定されているものとする。この機械学習は、もちろん本実施形態の顔判別処理装置内で行う必要はなく、事前にハイスペックなコンピュータ等を用いて実施しておき、装置内にはパラメータのみを記憶することとする。
【０１１９】
また、パターン検出器は、図１０に示すように、ニューラルネットワークを用いて構成することもできる。図１０は、Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ（以下ＣＮＮと略記する）と呼ばれるニューラルネットワークの例を示す論理的なネットワーク構成図である。
【０１２０】
ＣＮＮは検出対象（本実施形態では顔）の変動に対して頑健なパターン認識を可能にする手法として知られている。例えば、特許文献３では、ＣＮＮハードウェアを画像中の対象物判別や検出に適用する例が提案されている。
【０１２１】
図１０は、１層（１００６）の特徴数が３、２層（１０１０）の特徴数が２、３層（１０１１）の特徴数が１の３層ＣＮＮの例を示している。１００１は入力画像を示している。
【０１２２】
１００３ａ〜１００３ｃは第１階層（１００６）の特徴面を示す。特徴面とは、所定の特徴量抽出フィルタ（コンボリューション演算の累積和及び非線形処理）で前階層のデータを走査しながら演算した結果を示す画像データ面である。
【０１２３】
特徴面は入力画像に対する検出結果であるため検出結果も平面で表す。１００３ａ〜１００３ｃは１００１から夫々対応する特徴量抽出フィルタにより生成される。例えば、１００３ａ〜１００３ｃは夫々模式的に１００４ａ〜１００４ｃに対応する２次元のコンボリューションフィルタ演算と演算結果の非線形変換により生成される。なお、１００２はコンボリューション演算に必要な参照画像領域を示す。
【０１２４】
例えば、カーネルサイズ（水平方向の長さと垂直方向の高さ）が１１×１１のコンボリューションフィルタ演算は以下に示すような積和演算により処理される。
【０１２５】
【数３】
0005121506.tif 000004
【０１２６】
ｉｎｐｕｔ（ｘ，ｙ）：座標（ｘ，ｙ）での参照画素値
ｏｕｔｐｕｔ（ｘ，ｙ）：座標（ｘ，ｙ）での演算結果
ｗｅｉｇｈｔ（ｃｏｌｕｍｎ，ｒｏｗ）:座標（ｘ＋ｃｏｌｕｍｎ，ｙ＋ｒｏｗ）での重み係数
ｃｏｌｕｍｎＳｉｚｅ＝１１，ｒｏｗＳｉｚｅ＝１１：フィルタカーネルサイズ（フィルタタップ数）
１００４ａ〜１００４ｃは夫々異なる係数のコンボリューションフィルタカーネルである。また、特徴面によってコンボリューションカーネルのサイズも異なる。
【０１２７】
ＣＮＮ演算では複数のフィルタカーネルを画素単位で走査しながら積和演算を繰り返し、最終的な積和結果を非線形変換することで特徴面を生成する。１００３ａを算出する場合は前階層との結合数が１であるため、フィルタカーネルは１つ（１００４ａ）である。
【０１２８】
一方、１００７ａ及び１００７ｂの特徴面を計算する場合、前階層との結合数が３であるため夫々１００９ａ〜１００９ｃ及び１００９ｄ〜１００９ｅに相当する３つのコンボリューションフィルタの演算結果を累積加算する。つまり、１００７ａは、コンボリューションフィルタ１００９ａ〜１００９ｃの出力を累積加算し、最後に非線形変換処理することによって得られる。
【０１２９】
このようにＣＮＮ演算では、下位の層からまずプリミティブな特徴パターンを抽出し、次層ではそのパターンの空間的な配置関係を検知する。すなわち上位層に向かうにつれて、複雑なパターンを検知することができるようになっている。
【０１３０】
各カーネルは多数の入力（前層の切り出し矩形）をもつニューロンであると考えることができる。従って、一般化デルタルールやＢａｃｋ  ｐｒｏｐａｇａｔｉｏｎ等の、所謂層状ニューラルネットワークの学習アルゴリズムを用いて事前に学習しておくことにより、係数（重み）を決定することができる。もちろんこのときには、上述のＢｏｏｓｔｉｎｇと同様、多数の顔および背景のサンプルデータを用いる。
【０１３１】
本実施形態の顔検知処理では、上記のパターン検出技術を組み合わせて使用している。一つの顔検出器（の係数）は、ある範囲の面内回転角度の顔を検出できるようになっており、これを組み合わせることにより、入力画像から３６０度いずれの角度の顔も検知できるようになっている。
【０１３２】
また、先に述べた通り、入力画像の縮小率を徐々に上げていくことで、いろいろな大きさの顔を検知することができる。
【０１３３】
このように、論理的に各サイズ各回転角度に対応した複数のパターン検出器の出力を統合することにより、顔の位置のみならず、面内回転角度とサイズをある程度の精度で検出することが可能である。ここで算出された位置、サイズ、回転角度の情報を用いて、後述のアフィン変換に基づく処理を行うことにより、ステップＳ２０３およびＳ３０３の正規化切り出し処理を実行することができる。
【０１３４】
また、ステップＳ２０４およびＳ３０４の特徴点抽出処理も、同様のパターン検出器を用いて行う。図１１は、本実施形態における特徴点の１つである左側目頭の抽出の様子を示している。
【０１３５】
図１１（ａ）は正規化切り出し処理後の顔画像であって、誤差はあるもののほぼ決まった範囲の位置に目頭が存在していると考えられるため、特徴点抽出処理のためのスキャン範囲は、例えば１１００に示すように、ある程度狭い範囲に設定できる。実際の範囲は、顔検出処理の精度に依存する。
【０１３６】
ここで左側目頭のパターン検出器は、図１１（ｂ）の太線枠に示すようなパターンを検出するように学習されている。顔検出とは異なり、判別しなければならない入力画像は、１１００の点線枠に含まれる程度のバリエーションしかないため、パターン検出器は顔検出用のものと比べてかなり簡易にできる。
【０１３７】
例えば図９のようなカスケード接続タイプのパターン検出器を用いる場合は、ステージの数を少なくして良いし、図１０のようなＣＮＮタイプのパターン検出器を用いる場合には、層の数を少なくすることができる。本実施形態のように顔検出が上述の２つのタイプを組み合わせて使用している場合でも、どちらか片方のタイプのみ使用すれば良い可能性が高い。いずれにせよ、係数を変えるのみで、処理部のハードウェアは顔検出のためのものと共通化することも可能である。
【０１３８】
スキャン範囲１１００の出力としては、通常、所定閾値以上の画素だけでもある分布を持ったものが得られる。そこで例えば、閾値以上の画素の重心を特徴点の位置として決定する。しかしながら、本実施形態の場合、処理対象が顔画像である。このため、各特徴点の位置は相互に関連するので、一旦全ての特徴点位置を抽出した後に、幾何的な拘束条件を入れて位置を相互に調整することにより、より精度の高い特徴点位置として決定するようにしてもよい。
【０１３９】
３．２  正規化切り出し処理及び再正規化処理（ステップＳ２０３、２０５、３０３、３０５）の詳細
ステップＳ２０３、Ｓ３０３の正規化切り出し処理、およびステップＳ２０５、Ｓ３０５の再正規化処理は、アフィン変換を利用して行う。ここで、正規化処理における座標の変換を行う場合の、変換前の座標系における回転中心の座標をｘγ＝（ｘγ，ｙγ）、回転角度をθ、ｘ軸方向拡大率をＳｘ、ｙ軸方向拡大率をＳｙとする。また、変換後の顔画像の中心座標をｘＣ＝（ｘＣ，ｙＣ）とする。この場合、変換前の座標をｘ＝（ｘ、ｙ）、変換後の座標をｘ’＝（ｘ’，ｙ’）とすると、
【０１４０】
【数４】
0005121506.tif 000005
【０１４１】
と表すことができる。
【０１４２】
変換行列Ｔを構成する４つの行列のうち、最初の行列は各座標点を（−ｘγ，−ｙγ）平行移動することを示す。すなわち、回転中心ｘγ＝（ｘγ，ｙγ）は原点位置へと移動される。２番目の行列は、原点周り（右回りが正）にθ回転移動することを示す。３番目の行列は、原点からｘ軸方向にＳγ倍、ｙ軸方向にＳｙ倍拡大した座標位置へと拡大移動することを示す。４番目の行列は最初と同じ平行移動行列であって、原点が最終的な変換後の画像の中心座標ｘＣ＝（ｘＣ，ｙＣ）へくるように平行移動することを示す。すなわち変換行列Ｔは、これら４つの移動を複合して行う。
【０１４３】
正規化（若しくは再正規化）処理においては、変換後の顔画像の全ての画素の輝度値を求めることが目的である。これを実現するためには、変換行列Ｔの逆行列Ｔ-1による変換（逆変換）を、変換後の各画素座標（原点〜（２ｘＣ，２ｙＣ）について行ってやれば良い。これにより、変換前の顔画像の座標系における位置座標が決定する。通常ここで求められる座標は実数値となって、変換前の１画素（整数座標位置）に対応するわけではないので、近傍画素からの線形補完等を用いて画素値を決定し、変換後の画素値とする。
【０１４４】
ステップＳ２０３およびＳ３０３の正規化切り出し処理における各アフィン・パラメータは、顔検出処理部１０２の出力に基づき定められる。すなわちいくつか存在する顔検出処理部１０２の検出対応面内回転角度がΨであれば、上記パラメータθ＝Ψとなる。そして、その回転中心ｘγ＝（ｘγ，ｙγ）は、図８で説明した処理ウインドウ８０１の中心点となる。変倍率Ｓｘ＝Ｓｙは、検出された顔のサイズを標準サイズにする倍率（拡大縮小率）である。
【０１４５】
また、ステップＳ２０５およびＳ３０５の再正規化処理では、ステップＳ２０４およびＳ３０４の特徴点抽出処理で抽出された両目の位置に基づいて、アフィン・パラメータが定められる。図１２は、このときのアフィン・パラメータの計算方法を説明する図である。
【０１４６】
図１２において（ａ）は、特徴点抽出された顔画像を示している。ＸＬi、ＸＲiは、特徴点として抽出された両目の位置ベクトルである。ｘＣiは変換前の回転中心である。また、同図で（ｂ）は、再正規化後の顔画像を示している。ＸＬ、ＸＲは変換後の両目の位置であるが、これが所定位置となるように再正規化を行うのであるから、これらは定数座標値である。また、ＸＣは再正規化後の画像の中心位置であり、やはり定数座標値である。
【０１４７】
ＸＬ、ＸＲは水平であり（すなわちｙ座標は等しく）、ＸＣのｘ座標はＸＬ、ＸＲの中点に等しい。ＸＬとＸＲ間の距離（ｘ座標の差）を１としたときのＸＣとＸＬのｙ座標の差をａとすると、ａが定数座標から計算可能である。本実施形態において、ＸＬi、ＸＲi、ｘＣiを頂点とする三角形は、ＸＬ、ＸＲ、ＸＣを頂点とする三角形と相似である。したがって、再正規化のための変換前の回転中心ＸＬ＝ｘＣiは、ＸＬi、ＸＲiの座標値とａから計算可能であるのは自明であろう。
【０１４８】
また、ベクトル（ＸＲi−ＸＬi）を考えると、その法線ベクトルから顔の回転角度Ψも計算できる。すなわち再正規化のための回転移動量θ＝−Ψが求められる。さらに、本実施形態では変倍率は縦横方向で共通とするので、変倍パラメータＳｘ＝Ｓｙは、（ＸＲi−ＸＬi）の長さと（ＸＲ−ＸＬ）の長さの比として求めることができる。勿論、変換後の顔画像の中心座標ｘＣi＝ＸＣである。
【０１４９】
３．３  局所領域位置・サイズ計算処理（ステップＳ２０８、３０８）の詳細
次にステップＳ２０８およびＳ３０８の局所領域位置・サイズ計算処理の詳細について、図１３、１４、１５を用いて説明する。
【０１５０】
図１４は、局所領域位置・サイズ計算処理の詳細なフローチャートである。
【０１５１】
まずステップＳ１４０１において、与えられた局所領域のＩｎｄｅｘより、今回計算する局所領域の定義（局所特徴設定）を読み出す。尚、局所領域のＩｎｄｅｘはステップＳ２０７或いはＳ３０７にて選択されているものとする。
【０１５２】
各局所領域の定義テーブル１２０は、図１の局所領域設定記憶部１１０に記憶されており、図１３にその一例を示す。尚、図１３には説明の簡略化のため一部の局所領域の設定のみ表示しているが、実際には更に多くの局所領域が設定されているものとする。
【０１５３】
ちなみに、特徴Ｉｎｄｅｘと局所領域Ｉｎｄｅｘは同意である。最終的に各局所領域からは特徴ベクトルを抽出するので、局所領域のＩｎｄｅｘはそのまま抽出する特徴ベクトルのＩｎｄｅｘとなる。また、この定義テーブル１２０には局所領域の位置計算方法およびサイズだけでなく、特徴量の種類や次元圧縮処理のための射影行列も設定されるので、以下では、当該定義テーブル１２０を「局所特徴設定テーブル」と呼ぶこととする。
【０１５４】
局所特徴設定テーブル１２０には、局所領域の位置として、まず起点として用いる特徴点が定義される。起点には特徴点として抽出されるいずれの点も指定可能であり、例えばＩｎｄｅｘ＝１の局所領域では左目尻を、Ｉｎｄｅｘ＝２では左目頭を起点として指定している。勿論Ｉｎｄｅｘ＝５の口位置のように、上述の９特徴点のうち、直接検出される特徴点以外の特徴点も指定可能である。また、Ｉｎｄｅｘ＝３の「両目の中点」指定のように、さらに複数の特徴点から算出される特徴点を起点として設定してもよい。
【０１５５】
次に起点からの第１の移動先の計算方法が定義される。具体的には、計算方法（Ｍｏｄｅ）、移動距離計算の基準とする特徴点（Ｆｒｏｍ，Ｔｏ）および比率（Ｒａｔｉｏ）が指定される。同様に第２の移動先の計算方法も定義される。尚、移動先の定義は２つに限られず、各Ｉｎｄｅｘ毎にいくつでも定義することができるものとする。また図１３の局所特徴設定テーブル１２０でＩｎｄｅｘ＝２や３に例示するように、１つとすることも、或いは移動先定義無しとすることもできる。例えば、Ｉｎｄｅｘ＝３のように移動先定義無しとしたならば、局所領域は起点として指定された両目中点（特徴点）そのものの位置となる。
【０１５６】
さらに局所特徴設定テーブル１２０では、局所領域の矩形の切り出しサイズが定義されている。本実施形態では、切り出しサイズは局所領域毎に固定としている。なお、起点からの移動先として決定される局所領域の位置とは、局所領域として切り出される矩形の中心座標を示すものとする。
【０１５７】
その他、局所特徴設定テーブル１２０には、抽出する特徴量の種類（フィルタ種別）や、次元圧縮処理のための射影行列が定義されている。本実施形態においては先に述べたように、抽出する特徴量として、図５に示した隣接８画素によるＬＢＰコードを全ての局所領域において用いるので、すべてのＩｎｄｅｘで指定される抽出特徴量の種別は同じである。このような場合は、図３のステップＳ３１０の特徴量抽出処理は、画像全域において予め行っておき、ステップＳ３０９で切り出す画像を変換後の画像とすると処理効率が良くなる場合が多い（特に、局所領域の重なりが多い場合）。
【０１５８】
また、射影行列は先に説明したとおり、局所領域毎に学習により獲得されるものであるから、全てのＩｎｄｅｘで異なった射影行列が格納される。図１３の局所特徴設定テーブル１２０では、分かりやすくするため行列表す記号（Ｐ１等）で表示しているが、行列の要素値を直接ここに書き込むようにしても勿論かまわない。
【０１５９】
ちなみに、図１３の局所特徴設定テーブル１２０の射影行列で、括弧内の数字の最初の項は射影前のベクトルの次元数であって、取得した局所領域の画素数に相当する。２番目の数字は射影後の次元数を示している。例えばＩｎｄｅｘ＝１では、射影行列Ｐ１は１６９×８（の転置）であることを示している。
【０１６０】
図１４に戻る。図１４のステップＳ１４０２では、読み出した局所特徴設定テーブル１２０に従い、起点の座標を決定する。起点の座標としては、ステップＳ２０６或いはＳ３０６で変換された特徴点の座標から、局所特徴設定テーブル１２０に起点として定義された特徴点の座標を選択する。若しくは図１３のＩｎｄｅｘ＝３のように複数の特徴点から計算する指定の場合は、ここで計算して求める。
【０１６１】
ステップＳ１４０３では、移動先の定義があるかどうかをチェックする。移動先の定義がある場合には、ステップＳ１４０４に進み、計算方法（Ｍｏｄｅ）をチェックする。計算方法（Ｍｏｄｅ）としては、図１３に示すように、“ＳｌｉｄｅＬｉｎｅ”、“ＳｌｉｄｅＷｉｄｔｈ”、“ＳｌｉｄｅＨｅｉｇｈｔ”、“ＳｌｉｄｅＰｉｘｅｌｓ”の４つのモードがある。
【０１６２】
“ＳｌｉｄｅＬｉｎｅ”とは、移動距離計算の基準とする特徴点であるＦｒｏｍとＴｏとの間を結ぶ線分をＦｒｏｍからＴｏの方向へ移動することを指定するモードであって、移動距離は線分を案分する比率（Ｒａｔｉｏ）を積算することで算出される。Ｒａｔｉｏには小数が指定可能であるので、中間的な位置への局所領域の配置が可能となっている。この比率値には、正負の非整数値が指定可能である。Ｒａｔｉｏに負の値を指定すると、ＴｏからＦｒｏｍの方向へと移動方向（但し起点は変わらず）が反転する。
【０１６３】
“ＳｌｉｄｅＷｉｄｔｈ”とは、移動距離計算の基準とする特徴点であるＦｒｏｍとＴｏとの間のｘ軸方向（水平成分）の差分長に基づいて算出される距離を、ｘ軸方向にのみ移動することを指定するモードである。このときＦｒｏｍのｘ軸方向の位置からＴｏのｘ軸方向の位置へ向かう方向が正の方向である。小数点以下の値が指定可能なＲａｔｉｏによって、差分長に対する移動距離の比率を指定することができる。
【０１６４】
同様に、“ＳｌｉｄｅＨｅｉｇｈｔ”は移動距離計算の基準とする特徴点であるＦｒｏｍとＴｏとの間のｙ軸方向（垂直成分）の差分長に基づいて算出される距離を、ｙ軸方向にのみ移動することを指定するモードである。
【０１６５】
“ＳｌｉｄｅＰｉｘｅｌｓ”は固定の画素数の移動を指定するモードである。
【０１６６】
ステップＳ１４０４において確認したモードに応じて、ステップＳ１４０５、Ｓ１４０６、Ｓ１４０７、Ｓ１４０９のいずれかに進む。
【０１６７】
“ＳｌｉｄｅＬｉｎｅ”の場合はステップＳ１４０５へ進み、移動距離計算の基準とする特徴点であるＦｒｏｍとＴｏとの間の座標差を計算する（Ｔｏのｘ、ｙ座標値それぞれからＦｒｏｍのｘ、ｙ座標値を減算する）。
【０１６８】
“ＳｌｉｄｅＷｉｄｔｈ”の場合はステップＳ１４０６へ進み、移動距離計算の基準とする特徴点であるＦｒｏｍとＴｏとの間のｘ軸方向の座標差を計算する（ｙ軸方向の座標差は０としておく）。
【０１６９】
“ＳｌｉｄｅＨｅｉｇｈｔ”の場合はステップＳ１４０７へ進み、移動距離計算の基準とする特徴点であるＦｒｏｍとＴｏとの間のｙ方向の座標差を計算する（ｘ方向の座標差は０としておく）。
【０１７０】
ステップＳ１４０５〜Ｓ１４０７のいずれかを行った場合は、次にステップＳ１４０８へと進み、座標差に指定の比率（Ｒａｔｉｏ値）を積算したものを、移動距離として計算する。
【０１７１】
“ＳｌｉｄｅＰｉｘｅｌｓ”の場合はステップＳ１４０９へ進み、読み出したｘ軸およびｙ軸方向の画素数をそのまま移動距離として定める。
【０１７２】
ステップＳ１４０５〜Ｓ１４０９の処理により移動距離が定まると、ステップＳ１４１０では現在の位置座標に移動距離を加算して、ステップＳ１４０３へと戻る。
【０１７３】
そして、ステップＳ１４０３において残りの移動先の定義がないと判断された場合は、ステップＳ１４１１に進み、決定した位置とサイズ（本実施形態では局所特徴設定テーブル１２０に定義された固定値）を出力して処理完了となる。
【０１７４】
図１５は、図１３の局所特徴設定テーブル１２０のＩｎｄｅｘ＝１の定義による局所領域位置・サイズ計算処理の様子を示す図である。図１５の（ａ）は、正面を向いた顔画像の場合の局所領域位置・サイズ計算処理の様子を示している。
【０１７５】
Ｉｎｄｅｘ＝１において、起点は左側目尻（ＬｅｆｔＥｙｅＴａｉｌ）である（尚、本実施形態では、顔の実際の左目ではなく、向かって左側の目をＬｅｆｔＥｙｅと記述している）。
【０１７６】
そして、移動先１には、計算方法として“ＳｌｉｄｅＬｉｎｅ”モードが指定されており、このときのＦｒｏｍはＬｅｆｔＥｙｅＴａｉｌ、ＴｏはＲｉｇｈｔＥｙｅＴａｉｌである。すなわち、左側目尻と右側目尻間を結ぶ線分の長さを１として、これにＲａｔｉｏの０．２を積算することで得られる移動距離を、起点の左目尻から移動させるのが移動先１（（１））である。このように、起点とＦｒｏｍには同じ特徴点を指定することも可能である。もちろんここで、全く異なった特徴点、例えば口の両端点を指定することも可能である。
【０１７７】
移動先２には、計算方法として“ＳｌｉｄｅＨｅｉｇｈｔ”モードが指定されている。Ｆｒｏｍは右側の目（ＲｉｇｈｔＥｙｅ）、Ｔｏは口位置（Ｍｏｕｔｈ）となっているが、再正規化により右側の目の高さは左側の目の高さと等しいので、実質的に目と口の高さの差に基づく移動先を指定していることになる。このモードは、高さ方向の移動のみであるから、（１）の移動後の位置から、（２）に示すように移動され、これが最終的に定まった局所領域の位置となる。
【０１７８】
尚、移動先の定義は２回分に限定されるものではなく、何回分でも定義することができる。そしてここに定義される回数の移動処理が行われて、最終的な位置が決定する。
【０１７９】
図１５（ｂ）は、少し左側を向いた（左奥行き方向回転と呼ぶ）正規化顔画像に対する、同じＩｎｄｅｘ＝１の定義による局所領域位置・サイズ計算処理の様子を示す。左奥行き方向回転した顔画像では、撮像装置から左右各目までの距離が異なり、それらを結ぶ線分は、撮像センサ面からみて奥行き方向に斜めになっているので、両目間距離は実際よりも狭く見えるように撮像される。
【０１８０】
従って、本実施形態のように両目位置基準による正規化を行うと、得られる顔画像は正面を向いた画像よりも多少大きめとなって、口の位置が若干下に下がる。従って、Ｉｎｄｅｘ＝１の移動先２の定義による移動距離（（２））は、図１５の（ａ）よりも多少長い距離となる。しかしながら図で見て分かるとおり、顔上における局所領域の位置としては、（ａ）と（ｂ）とでほぼ同じとなっていることが分かる。
【０１８１】
以上のような局所特徴設定テーブル１２０は、予めクラスが既知である多数のサンプルデータを用いて、事前に学習により決定しておくことができる。この学習は、例えば、予め多数の局所領域の候補を用意し、クラス判別に必要な上限個数までの全ての局所領域の組み合わせについて総当りで、クラス判別の正解率が最も良い組み合わせの局所領域を選択するようにすれば良い。
【０１８２】
このときの局所領域の候補のバリエーションは、例えば位置決めのための起点や移動距離を計算するための比率、局所領域の形状やサイズ等の組み合わせである。既存のＢｏｏｓｔｉｎｇやクラスタリング等のアルゴリズムを組み合わせることにより選択するようにしても勿論かまわない。また、人が経験的に選択する方法も有効である。
【０１８３】
以上の説明から明らかなように、本実施形態によれば、顔の向き推定を行うことなく、顔上のほぼ安定した位置に局所領域を決定することができる。また、顔全体をまとめて再正規化することにより、実際の顔上における範囲が、ほぼ一定になるように局所領域を切り出すことが可能となる。この再正規化処理は、通常、局所領域毎に変倍する処理に比べて、軽負荷な処理である。
【０１８４】
［第２の実施形態］
上記第１の実施形態では、顔判別処理装置をハードウェア処理回路で実現することしたが、本発明はこれに限定されず、例えば、汎用的なＣＰＵを用いて構築することも可能である。
【０１８５】
図１６は、本発明の画像処理装置の第２の実施形態にかかる顔判別処理装置１６００の構成を示す図である。図１６に示すとおり、本実施形態にかかる顔判別処理装置は、バス１６２０を介して接続された各部を、ＣＰＵ１６０１が制御することによって動作する。以下、各部について説明する。
【０１８６】
１６０２はユーザＩ／Ｆ部であり、顔判別処理装置１６００に対する指令をユーザが与えるため、及び、判別結果をユーザに伝えるために用いられる。ここで与えられた指令はＣＰＵ１６０１に送られて解釈され、その後の処理のトリガとなる。
【０１８７】
１６０３はＤＭＡＣである。ＤＭＡＣ１６０３では、ＣＰＵ１６０１が予め設定しておくことにより、各部間のデータの転送をＣＰＵ１６０１を介さずに行うことができる。
【０１８８】
１６０４はＲＯＭであり、ＣＰＵ１６０１で動作させるプログラムや、処理に必要となる固定的なパラメータを格納する。
【０１８９】
１６０５はＲＡＭであって、各処理を行う際のワーク領域や一時データ保持領域として用いられる。尚、各処理にはこれとは別に不図示の内蔵ローカルＲＡＭが用いられてもよい。
【０１９０】
１６０６は大容量記憶部であり、ハードディスクドライブ（ＨＤＤ）等で構成される。大容量記憶部１６０６には、局所領域位置計算処理部１０６や局所類似度判別処理部１０８、結果統合・最終判別処理部１０９における処理内容を実行するプログラムが格納されている。
【０１９１】
１６０７は画像入力部であり、図１の画像入力処理部１０１に相当する。画像入力部１６０７は、バス１６２０に接続可能なＩ／Ｆを備えている。動作は画像入力処理部１０１と同様で、入力された画像は、バス１６２０を介してＲＡＭ１６０５または大容量記憶部１６０６に格納される。尚、画像の転送はＤＭＡＣ１６０３を用いて行われる。
【０１９２】
１６０８は顔検出処理部であって、図１の顔検出処理部１０２に相当する。顔検出処理部１６０８において行われる処理は上記第１の実施形態と同じであり、専用ハードウェアとして実装することにより、高速な処理を実現している。尚、入力される判別用入力画像は、ＲＡＭ１６０５上に存在し、処理状況に合わせて部分的にＤＭＡＣ１６０３により転送されるようになっている。
【０１９３】
１６０９は特徴点抽出部であり、図１の特徴点抽出処理部１０４に相当する。特徴点抽出部１６０９は、処理時間に余裕があり、かつパイプライン処理する必要がないならば、顔検出処理部１６０８とハードウェアを共用し、ＣＰＵ１６０１の指令によりパラメータを切り替えるように構成してもよい。
【０１９４】
１６１０は正規化処理部であり、図１の正規化切り出し処理部１０３および再正規化処理部１０５と同等の処理を行う。具体的には、上記第１の実施形態で説明したアフィン変換を利用した顔画像の正規化処理である。
【０１９５】
１６１１は特徴量演算部であり、図１の特徴ベクトル取得処理部１０７において実行される処理の一部を実行する。ここでは図５に示すようなＬＢＰコードを特徴量として算出するためのフィルタリング処理を行ったり、図６に示すようなガボール・ジェット・フィルタを用いてガボール特徴量を演算するためのフィルタリング処理を行ったりする。
【０１９６】
１６１２は射影演算部であり、局所領域の特徴量を所定の射影行列を用いて次元圧縮する。射影演算部１６１２は、図１の特徴ベクトル取得処理部１０７において実行される処理の一部を実行する。
【０１９７】
その他、図１の局所領域設定記憶部１１０および特徴ベクトル登録部１１１は、ＲＡＭ１６０５または大容量記憶部１６０６の一部領域を用いて実現される。
【０１９８】
なお、大容量記憶部１６０６に記憶された、局所領域位置計算処理部１０６や局所類似度判別処理部１０８、結果統合・最終判別処理部１０９の処理内容を実行するためのプログラムは、ＣＰＵ１６０１にて実行される。
【０１９９】
顔判別処理装置１６００で実行される登録処理及び判別処理の流れは、図３および４に示した登録処理および判別処理と同じであるので、ここでは詳細な説明は割愛する。
【０２００】
以上の説明から明らかなように、汎用ＣＰＵを用いて顔判別処理装置を構築すると、ハードウェア完成後に、類似度の計算や類似度の統合等の処理をカスタマイズすることが可能となり、より柔軟性の高い顔判別処理装置を構築することが可能となる。
【０２０１】
さらに、パラメータを差し替えることによって、顔に限らない他の画像の判別処理、例えば自動車の車種の判別処理等を実現することも可能である。もちろん、ハイスペックＰＣ等、十分に処理能力のあるＣＰＵを使用できる場合には、１６０７〜１６１２に示した専用ハードウェアを実装せずに、全てソフトウェアにより処理を実行するように構成してもかまわない。
【０２０２】
［第３の実施形態］
上記第１の実施形態の局所領域位置・サイズ計算処理においては、各局所領域で固定サイズを使用することとしたが、本発明はこれに限定されず、切り出す局所領域のサイズを特徴点に基づく可変値として決定するようにしてもよい。
【０２０３】
図１７は、特徴点に基づいて切り出す局所領域のサイズの決定処理を含む、局所領域位置・サイズ計算処理（ステップＳ２０８およびＳ３０８）の詳細を説明するフローチャートである。また、図２１は、本実施形態における局所特徴設定テーブル１２０の一例を示す図である。図１８において、起点、移動１および２、射影行列については、図６を用いて既に説明済みであるため、ここでは説明を省略する。切り出しサイズおよび変換後サイズについては後述する。
【０２０４】
抽出する特徴量は、本実施形態では、Ｉｎｄｅｘ毎に異なったガボール特徴量を用いている。ガボール特徴量は、図６に示すガボール・ジェット・フィルタを用いたコンボリューション演算により抽出される特徴量である。本実施形態では図６に示すように３つのサイズおよび４つの方向の、計１２種類のガボール・ジェット・フィルタを用いる。各フィルタリング処理は、それぞれの局所領域を切り出し所定サイズに変換した後に行われる。各局所領域で用いられる特徴量が異なるので、通常はこの順に処理した方が、処理効率が良い。
【０２０５】
さて、図１７において、ステップＳ１７０１〜Ｓ１７１０の処理は、図１４のステップＳ１４０１〜Ｓ１４１０の処理と全く同じであるので、詳細な説明は省略する。
【０２０６】
ステップＳ１７１１では、切り出しサイズが固定となっているかどうかをチェックする。図１８の局所特徴設定テーブル１２０において、Ｉｎｄｅｘ＝３および５は切り出しサイズが固定（Ｆｉｘｅｄ）となっており、このような場合はステップＳ１７１２に進む。そして、変換後サイズとして定義される固定値を切り出しサイズとして決定する。
【０２０７】
一方、切り出しサイズが固定となっていない場合には、ステップＳ１７１３へ進み、切り出しサイズとして定義された幅計算方法をチェックする。図１８の局所特徴設定テーブル１２０においてＩｎｄｅｘ＝１、２、４は、切り出しサイズを計算する計算方法が指定されている。
【０２０８】
図１８において“Ｗｉｄｔｈ：”の項は、幅方向の切り出しサイズ計算のための定義である。例えばＩｎｄｅｘ＝１の場合、“Ｗｉｄｔｈ：”の項にはＬｉｎｅ（）が指定されている。これは線分長に基づいて計算する方法（線分長基準）であることを示しており、括弧内の３つのパラメータの前２者（ＬｅｆｔＥｙｅ、ＲｉｇｈｔＥｙｅ）が計算の基準とする特徴点を示している。括弧内の最後の数値（０．３）は、計算の基準とする２つの特徴点間を結ぶ線分を案分する場合の比率を指定している（サイズ算出比率）。
【０２０９】
すなわち線分長基準の場合には、２つの特徴点の座標から線分長を計算し、比率を積算することで得られた値を幅方向のサイズとして決定する。このほか、幅に基づいて計算する方法（幅基準）“Ｗｉｄｔｈ（）”、高さに基づいて計算する方法（高さ基準）“Ｈｅｉｇｈｔ（）”が指定可能であり、それぞれ同様に２つの特徴点とサイズ算出比率が指定される。
【０２１０】
同様に、“Ｈｅｉｇｈｔ:”の項も、高さ方向の切り出しサイズの計算のための定義がなされている。
【０２１１】
ステップＳ１７１３では、線分長基準であると判定されると、ステップＳ１７１４に進み、２つの特徴点の座標から、両点間を結ぶ線分の長さを基準長さとして計算する。同様に幅基準であると判定されると、ステップＳ１７１５に進み、２つの特徴点の幅方向の座標差を基準長さとして計算する。また、高さ基準であると判定されると、ステップＳ１７１６に進み、２つの特徴点の高さ方向の座標差を基準長さとして計算する。
【０２１２】
そしてステップＳ１７１７にて、線分長基準、幅基準、高さ基準のいずれかに基づいて計算されたの基準長さに、上述のようにサイズ算出比率の値を積算し、結果を幅方向の切り出しサイズとして決定する。
【０２１３】
また、高さ方向の切り出しサイズに関しても同様に、ステップＳ１７１８〜Ｓ１７２２の処理によって決定する。
【０２１４】
ステップＳ１７２３では、以上により決定した幅方向と高さ方向の切り出しサイズを、最終位置とともに出力する。これにより、局所領域位置・サイズ計算処理が完了となる。
【０２１５】
続く図２および図３の、局所領域切り出し処理（ステップＳ２０９およびＳ３０９）では、決定された局所領域の位置とサイズとに基づき、局所領域内の画像を再正規化された顔画像から切り出す。そして上記第１の実施形態とは異なり、ここでも図１８の局所特徴設定テーブル１２０を読み込み、処理中のＩｎｄｅｘに対する変換後のサイズを取得する。切り出しサイズと変換後サイズとから縦横方向に対して独立した別の変倍率Ｓｘ、Ｓｙを夫々算出し、
【０２１６】
【数５】
0005121506.tif 000006
【０２１７】
なるアフィン変換行列に基づき、サイズ変倍処理を実行して、変換後サイズの画像を得る。変換後サイズは各Ｉｎｄｅｘにおいて一定値であるので、射影行列は所定次元から射影後次元への変換行列として、第１の実施形態と同様に、予め学習により求めておく。
【０２１８】
以上の説明から明らかなように、本実施形態によれば、局所領域の切り出しサイズを特徴点から計算することにより、実際の顔上における範囲が、第１の実施形態に比べて、より一定となった局所領域を切り出すことが可能となる。すなわち、位置だけでなく、局所領域の相対的な範囲を安定的に指定することが可能となる。さらに本実施形態によれば、切り出し範囲の縦横比を適応的に変化させることが可能となるため、より局所領域範囲の一致度を高めることができ、判別性能がさらに向上することが期待できる。
【０２１９】
［第４の実施形態］
上記各実施形態では、主として顔画像から個人を特定する顔判別処理に適用する場合について説明したが、本発明の画像処理方法の適用はこれに限られるものではない。例えば自動車の車種や、蝶の羽の模様による種の判定等、類似したパターンを判別する多くの画像処理に適用可能であることは言うまでもない。
【０２２０】
また、上記各実施形態では、パターン検出器として、弱判別器をカスケード接続した強判別器による検出器と、ニューラルネットワークによるパターン検出器を使用したが、他のパターン検出器と組み合わせても勿論かまわない。
【０２２１】
また、上記各実施形態では、ハードウェアによる顔判別処理装置の実装例と、ＣＰＵを用いた顔判別処理装置の実装例を示したが、本発明の画像処理装置は、実装方法には依存しない。例えばＤＳＰ（Digital Signal Processor）を処理の一部の計算に利用したり、或いはネットワークで接続される分散的な処理システムにおいて適用することも勿論可能である。例えばクライアントから入力される画像を、サーバで判別する、といったシステムにおいても適用可能である。
【０２２２】
さらには、本発明にかかる画像処理方法をコンピュータにおいて実現させるためのプログラムおよびそのプログラムが記憶された記憶媒体も本発明の範囲に含まれるものとする。
【０２２３】
［他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０２２４】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録したコンピュータ読取可能な記憶媒体を、システムあるいは装置に供給するよう構成することによっても達成されることはいうまでもない。この場合、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することにより、上記機能が実現されることとなる。なお、この場合、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０２２５】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０２２６】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合に限られない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２２７】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、前述した実施形態の機能が実現される場合も含まれる。つまり、プログラムコードがメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって実現される場合も含まれる。
【図面の簡単な説明】
【０２２８】
【図１】本発明の画像処理装置の第１の実施形態である、顔判別処理装置の構成を示すブロック図である。
【図２】登録処理動作モードにおける登録処理の流れを示すフローチャートである。
【図３】判別処理動作モードにおける判別処理の流れを説明するフローチャートである。
【図４】登録処理の具体例を示す図である。
【図５】特徴量抽出処理において特徴量として抽出されるＬＢＰコードの一例を示す図である。
【図６】特徴量抽出処理において用いられるガボール・ジェット・フィルタの一例を示す図である。
【図７】特徴ベクトル間の類似度の計算方法を説明するための図である。
【図８】顔検出処理における処理ウインドウの一例を説明する図である。
【図９】パターン検出器の一例を示す図である。
【図１０】パターン検出器の一例を示す図である。
【図１１】特徴点検出処理の一例を説明するための図である。
【図１２】再正規化処理に用いられるアフィン・パラメータの計算方法を示す図である。
【図１３】各局所領域の定義テーブルの一例を示す図である。
【図１４】局所領域位置・サイズ計算処理の詳細な流れを示すフローチャートである。
【図１５】局所領域の位置・サイズ計算処理の具体例を示す図である。
【図１６】本発明の画像処理装置の第２の実施形態である、顔判別処理装置の構成を示すブロック図である。
【図１７】本発明の画像処理装置の第３の実施形態である、顔判別処理装置の局所領域位置・サイズ計算処理の流れを示すフローチャートである。
【図１８】各局所領域の定義テーブルの一例を示す図である。
【図１９】従来の局所領域位置決め方法を説明するための図である。
【図２０】従来の局所領域位置決め方法を説明するための図である。
【図２１】従来の局所領域位置決め方法を説明するための図である。
【符号の説明】
【０２２９】
１０１  画像入力処理部
１０２  顔検出処理部
１０３  正規化切り出し処理部
１０４  器官端点（特徴点）抽出処理部
１０５  再正規化処理部
１０６  局所領域位置計算処理部
１０７  特徴ベクトル取得処理部
１０８  局所類似度判別処理部
１０９  結果統合・最終判別処理部
１１０  局所領域設定記憶部
１１１  特徴ベクトル登録部
【図１】
0005121506.tif 000007
【図２】
0005121506.tif 000008
【図３】
0005121506.tif 000009
【図４】
0005121506.tif 000010
【図５】
0005121506.tif 000011
【図７】
0005121506.tif 000012
【図８】
0005121506.tif 000013
【図９】
0005121506.tif 000014
【図１０】
0005121506.tif 000015
【図１１】
0005121506.tif 000016
【図１２】
0005121506.tif 000017
【図１３】
0005121506.tif 000018
【図１４】
0005121506.tif 000019
【図１５】
0005121506.tif 000020
【図１６】
0005121506.tif 000021
【図１７】
0005121506.tif 000022
【図１８】
0005121506.tif 000023
【図１９】
0005121506.tif 000024
【図２０】
0005121506.tif 000025
【図２１】
0005121506.tif 000026
【図６】
0005121506.tif 000027