図1は、本発明を適用した画像処理システムの一実施の形態の構成例を示している。
図1の画像処理システム1は、被写体としてのユーザ11を撮像する撮像装置12、ユーザ11に対して光を照射する照明装置13、撮像装置12や照明装置13に対して撮像(撮影)または照射のタイミングを指令(制御)するタイミング制御装置14、および撮像装置12で撮像された画像を処理する画像処理装置15により構成されている。
撮像装置12は、タイミング制御装置14から供給されるタイミング制御信号にしたがい、被写体であるユーザ11を撮像し、その結果得られる画像(画像信号)を画像処理装置15に供給する。撮像装置12は、後述するように、入射される光量の対数に比例した画素値を出力する撮像素子を有する撮像装置である。また、撮像装置12では、全画素(撮像素子)の画素値が、同一のタイミングで読み出される。
照明装置13は、タイミング制御装置14から供給されるタイミング制御信号にしたがい、ユーザ11に対して光を照射する。
タイミング制御装置14は、撮像周期となるタイミング制御信号を撮像装置12に供給する。例えば、タイミング制御装置14は、1秒間に30枚の画像を撮像する周期(フレーム周期)でタイミング制御信号を撮像装置12に供給する。なお、1秒間に60枚の画像を撮像する周期(フィールド周期)や、その他の周期であってもよい。また、撮像される画像は、プログレッシブ(ノンインターレース)画像またはインタレース画像のいずれでもよい。
また、タイミング制御装置14は、照明装置13によってユーザ11が照射されていないときの画像と、ユーザ11が照射されているときの画像とが、撮像装置12において、交互に撮像されるように、光を照射するタイミングを指令(制御)するタイミング制御信号を、照明装置13に供給する。例えば、タイミング制御装置14は、撮像装置12に対してフレーム周期でタイミング制御信号を供給している場合、撮像装置12で撮像された画像のうち、奇数フレームでは照明装置13によってユーザ11が照射されていない画像となり、偶数フレームではユーザ11が照射されている画像となるように、タイミング制御信号を照明装置13に供給する。
さらに、タイミング制御装置14は、撮像装置12から画像処理装置15に対して供給される画像(以下、撮像画像と称する)が、照明装置13によってユーザ11が光を照射されていない状態で撮像された画像(以下、基準画像と称する)であるか、または、照明装置13によってユーザ11が光を照射されている状態で撮像された画像(以下、照明画像と称する)であるかを判定するための判定信号を画像処理装置15に供給する。
画像処理装置15は、差分画像算出部21、顔領域抽出部22、顔向き判定部23、および顔器官抽出部24により構成されている。
画像処理装置15は、撮像装置12から供給される撮像画像に対して、顔の認識処理(顔認証)を行うのに適した画像を選択し、選択された撮像画像に含まれる顔または顔の器官の領域を特定する情報とともに、撮像画像を図示せぬ後段の装置に出力する。ここで、顔の器官とは、目、鼻、および口のことを表す。
撮像装置12からの撮像画像(に対応する画像信号)は、差分画像算出部21および顔器官抽出部24に供給される。また、差分画像算出部21には、タイミング制御装置14から、上述した判定信号も供給される。
差分画像算出部21は、判定信号に従い、撮像装置12から供給された撮像画像が、基準画像であるか、または、照明画像であるかを判定するとともに、基準画像と(その後のフレームとして撮像装置12から供給される)照明画像とを用いて差分画像を生成し、顔領域抽出部22に供給する。ここで、差分画像は、その画像を構成する各画素の画素値が、基準画像と照明画像との間の、対応する画素どうしの画素値の差分となっている画像である。
顔領域抽出部22は、差分画像算出部21から供給される差分画像から、ユーザ11の顔の領域を抽出し、その抽出された領域を特定する顔領域情報を、差分画像とともに顔向き判定部23に供給する。
顔向き判定部23は、顔領域抽出部22からの顔領域情報で特定される差分画像の顔の領域の画像(以下、適宜、顔画像と称する)から、撮像画像内の、ユーザ11の顔の向きを判定する。顔向き判定部23が判定した判定結果としては、正面、右向き、および左向きの3種類がある。後段の顔器官抽出部24で行われる顔の器官の領域の抽出(特定)や、画像処理装置15が処理結果を出力する出力先の装置で行われる顔の認識処理などでは、顔が正面を向いていない画像を用いて認識処理を行った場合、認識の精度が低下する。そのため、顔向き判定部23は、差分画像(撮像画像)が認識に適した正面を向いている画像であるかどうかを判定する。顔向き判定部23は、ユーザ11の顔の向きを表す判定結果を、顔領域抽出部22から供給された差分画像および顔領域情報とともに顔器官抽出部24に供給する。
顔器官抽出部24は、顔向き判定部23から供給される(顔の向きの)判定結果が正面であることを表している場合、顔向き判定部23からの顔画像に基づいて、ユーザ11の顔の器官(目、鼻、および口)の領域を抽出(特定)する。そして、顔器官抽出部24は、顔の器官の領域を抽出した結果得られる、目領域情報、鼻領域情報、および口領域情報を、上述の顔領域情報とともに、後段の装置に出力する。また、顔器官抽出部24は、撮像装置12から供給される撮像画像も後段の装置に出力する。
以上のように構成される画像処理システム1では、画像処理装置15の差分画像算出部21は、照明装置13がユーザ11を照射していない状態で、撮像装置12がユーザ11の顔を撮像した基準画像と、照明装置13がユーザ11の顔を照射している状態で、撮像装置12がユーザ11の顔を撮像した照明画像とを取得する。
差分画像算出部21は、基準画像と照明画像との差分画像を算出する。顔領域抽出部22は、差分画像から、ユーザ11の顔の領域を抽出し、その抽出された領域を特定する顔領域情報を顔向き判定部23に供給する。顔器官抽出部24は、顔向き判定部23においてユーザ11の顔が正面を向いていると判定された顔画像について、顔の目、鼻、口の領域それぞれを抽出し、その抽出された領域を特定する目領域情報、鼻領域情報、および口領域情報を得る。顔器官抽出部24は、得られた目領域情報、鼻領域情報、および口領域情報と、顔領域抽出部22で得られた顔領域情報、並びに、撮像装置12から供給された撮像画像を出力する。
図2および図3を参照して、画像処理装置15が行う処理の概要を説明する。
図2は、撮像装置12で撮像され、画像処理装置15に入力される画像(撮像画像)の例を示している。
図2の画像31には、所定の背景の前に位置するユーザ11が映されており、画像31は、ユーザ11の顔を少なくとも含んでいる。
画像処理装置15では、画像の左上角を原点とし、図2に示すように、図面の右方向(水平方向)を(正の)X方向、図面の下方向(垂直方向)を(正の)Y方向とする座標系が用いられるものとする。
画像処理装置15は、例えば、図2に示す画像31が入力された場合、画像31に含まれているユーザ11の顔の領域を抽出(特定)する。
そこで、図3は、図2の画像31から抽出された、顔の領域を含む画像(顔画像)FRを示している。
また、画像処理装置15は、顔画像FRのなかの、左目の領域ILと、その領域ILを代表する代表点ILp、および右目の領域IRと、その領域IRを代表する代表点IRpを抽出(特定)する。
さらに、画像処理装置15は、顔画像FRのなかの、鼻の領域NRと、その領域NRを代表する代表点NRp、および口の領域MRと、その領域MRを代表する代表点MRpを抽出(特定)する。
以下では、図2に示した画像31を撮像し、画像処理装置15に供給する撮像装置12と、供給された画像31から、顔画像FR、左目の領域ILおよびその代表点ILp、右目の領域IRおよびその代表点IRp、鼻の領域IRおよびその代表点NRp、並びに、口の領域MRおよびその代表点MRpを抽出(特定)する画像処理装置15のそれぞれの詳細な構成について説明する。
図4は、図1の撮像装置12の詳細な構成例を示すブロック図である。
撮像装置12は、レンズ41、および対数変換型撮像素子42により構成されている。
対数変換型撮像素子42は、例えば、HDRC(High Dynamic Range CMOS(Complementary Metal Oxide Semiconductor))などの対数変換型の撮像素子とされ、光検出部51、対数変換部52、A/D変換部53、および撮像タイミング制御部54を含むように構成されている。
撮像装置12により撮像される被写体(ユーザ11)から発せられた光(あるいは、被写体により反射された光)は、レンズ41に入射し、対数変換型撮像素子42の光検出部51の図示せぬ光検出面に結像する。
光検出部51は、例えば、複数のフォトダイオードからなる受光素子などにより構成される。光検出部51は、レンズ41により結像された被写体の光を、入射された光の明るさ(照度)に応じた電荷に変換し、変換した電荷を蓄積する。光検出部51は、撮像タイミング制御部54から供給される制御信号に同期して、蓄積した電荷を対数変換部52に供給する。
対数変換部52は、例えば、複数のMOSFET(Metal Oxide Semiconductor Field Effect Transistor)などにより構成される。対数変換部52は、MOSFETのサブスレッショルド特性を利用して、光検出部51から供給される電荷を、画素ごとに電荷の数(電流の強さ)の対数(被写体の光の光量の対数)にほぼ比例した電圧値に変換したアナログの電気信号を生成する。対数変換部52は、生成したアナログの電気信号をA/D変換部53に供給する。
A/D変換部53は、撮像タイミング制御部54から供給される制御信号に同期して、アナログの電気信号をデジタルの画像データにA/D変換する。例えば、14bitの符号なし2進数のデジタルの画像データに変換される場合、画像データの画素値は、最も暗い0から最も明るい214−1の範囲の値をとる。A/D変換部53は、変換したデジタルの画像データの画素値を画像処理装置112に供給する。
このように、撮像装置12は、光検出部51に入射した被写体の光の明るさ(入射光量)の対数に比例した画素値を出力する。なお、対数変換型の撮像素子については、例えば、特表平7−506932公報などにその詳細が開示されている。
図5は、対数変換型撮像素子42、CCD撮像素子、銀塩フィルム、および、人の目の感度特性を示すグラフである。
図5の横軸は、入射光の照度(単位は、ルクス(lux))の対数値を示し、縦軸は入射光の照度に対する感度を示している。曲線(直線)L1は対数変換型撮像素子42の感度特性を示し、曲線L2はCCD撮像素子の感度特性を示し、曲線L3は銀塩フィルムの感度特性を示し、曲線(直線)L4は人の目の感度特性を示している。
対数変換型撮像素子42は、上述したように、入射光量の対数にほぼ比例した画素値を出力することにより、対数変換型撮像素子42を構成するフォトダイオードやMOSFETなどの容量を飽和させずに、CCD撮像素子、銀塩フィルム、および、人の目より広い、約1ミリルクスから太陽光の輝度より高い約500キロルクスまでの約170dBのダイナミックレンジで被写体を撮像することができる。
従って、対数変換型撮像素子42を用いた撮像装置12は、人が視認できる輝度範囲において、輝度クリッピングが発生しないため、絞りやシャッタースピードなどを調整して入射光量を調整する必要がない。すなわち、撮像装置12は、入射光量を調整しなくても、被写体の詳細な輝度分布を忠実に撮像することができる。
例えば、昼間に車内から車の前方を撮像する場合、画角内に太陽が入っていても、撮像装置12により撮像された画像は、入射光量を調整しなくても、太陽と前方の道路の輝度の分布を忠実に再現した画像となる。また、夜間に車内から車の前方を撮像する場合、対向車のヘッドライトが前方から照らされていても、撮像装置12により撮像された画像は、入射光量を調整しなくても、対向車のヘッドライトの光から自車のヘッドライトに照らされていない領域までの輝度の分布を忠実に再現した画像となる。
一方、CCD撮像素子は、図5に示すように、人の目よりダイナミックレンジが狭い。従って、CCD撮像素子を用いた撮像装置では、入射光の照度がCCD撮像素子のダイナミックレンジ内に収まるように、絞りやシャッタースピードなどを調整する必要がある。
しかしながら、被写体の光の照度の範囲がCCD撮像素子のダイナミックレンジを超える場合、被写体の明るい領域の画素の画素値が、CCD撮像素子が出力可能な画素値の最大値に制限されたり、被写体の暗い領域の画素の画素値が、CCD撮像素子が出力可能な画素値の最小値に制限されたりする輝度クリッピングが発生する。また、入射光量を調整した場合、例えば、被写体の輝度が変動しない領域に対応する入射光量が変動し、その領域の画素値が変動するなど、入射光量の調整に伴う画素値の変動が発生する。すなわち、従来のCCD撮像素子を用いた撮像装置では、被写体の輝度の変動および被写体の動き以外の要因により画素値が変動する。
また、CCD撮像素子および銀塩フィルムでは、曲線L2および曲線L3に示されるように、ガンマ特性などの要因により感度特性が入射光の照度の対数に比例しないのに比べて、対数変換型撮像素子42では、感度特性が入射光の照度の対数にほぼ比例する。
このように、対数変換型撮像素子42を用いた撮像装置12は、輝度クリッピングの発生、入射光量の調整、ガンマ特性の影響を受けないため、撮像装置12により撮像された画像の画素値は、被写体の輝度の変動および被写体の動きをほぼ忠実に反映するように変動する。すなわち、フレーム間の画像の差分をとった差分画像の各画素の画素値(差分値)は、被写体の輝度の変動および被写体の動きがほぼ忠実に反映された値となる。
また、撮像装置12から出力される画像の画素値は、入射光量の対数にほぼ比例した値となるので、被写体に照射される光の明るさ(照度)に関わらず、その被写体を撮像した画像における画素値の分布は、その被写体の反射率の分布がほぼ同様に反映されたものとなる。例えば、反射率の最大値と最小値の比率が10:1である被写体を、1回目と2回目とで約100倍の照度差がある光を照射して撮像した場合、1回目の画像と2回目の画像との画素値の分布を示すヒストグラムの幅はほぼ同じ値(1=log1010)となる。一方、画像の画素値が入射光量に比例する場合、1回目の画像と2回目の画像の画素値の分布を示すヒストグラムの幅の差は約100倍となる。
さらに、被写体の輝度(反射率)の分布に関わらず、被写体の輝度がほぼ同じ比率で変動した場合、その被写体を撮像した画像の画素値の変動値は、ほぼ同様になる。例えば、被写体内に輝度の比が100:1となる2つの領域がある場合、被写体に照射される光の照度がほぼ一様に変化し、被写体の輝度がほぼ同じ比率の+5%変動したとき、2つの領域に対応する画素値の変動値はほぼ同じ値(log101.05)となる。一方、画素値が入射光量に比例する場合、上述した2つの領域に対応する画素値の変動値の差は、約100倍となる。
図6は、図1の差分画像算出部21の詳細な構成例を示すブロック図である。
差分画像算出部21は、画像取得部61、メモリ62および63、差分処理部64、並びにフィルタ処理部65により構成されている。
画像取得部61は、撮像装置12から供給される撮像画像を取得する。ここで、画像取得部61には、上述したように、照明装置13によってユーザ11が光を照射されていない状態で撮像された画像(基準画像)と、照明装置13によってユーザ11が光を照射された状態で撮像された画像(照明画像)とが交互に入力(供給)される。
画像取得部61は、タイミング制御装置14からの判定信号に従い、撮像装置12からの撮像画像が、基準画像であるか、または、照明画像であるかを判定する。そして、画像取得部61は、撮像装置12からの撮像画像が基準画像である場合、取得した撮像画像(基準画像)をメモリ62に供給する。また、撮像装置12からの撮像画像が照明画像である場合、画像取得部61は、取得した撮像画像(照明画像)をメモリ63に供給する。
メモリ62または63それぞれは、画像取得部61から供給される基準画像または照明画像を記憶し、必要に応じて差分処理部64に供給する。
差分処理部64は、メモリ62に記憶されている基準画像と、メモリ63に記憶されている照明画像から、差分画像を算出し、フィルタ処理部65に供給する。具体的には、差分処理部64は、照明画像を構成する画素の画素値から、基準画像を構成する画素の画素値を、対応する画素どうしで減算することにより、差分画像を算出する。
フィルタ処理部65は、差分処理部64からの差分画像に対してフィルタリング(フィルタ処理)を行い、処理後の差分画像を顔領域抽出部22(図1)に供給する。ここで行われるフィルタ処理は、例えば、差分画像を、所定の大きさを有する複数のブロックに分割し、ブロック内の全ての画素の画素値をブロック内の各画素の画素値の平均値とするモザイク処理とすることができる。
また、フィルタ処理としては、ブロック内の中心にある画素を注目画素としたときに、注目画素の画素値を、その周辺(ブロック内)の画素の画素値に近い値となるように補正する処理を、差分画像の全ての画素について行う処理(差分画像を平滑化する平滑化処理)などを採用してもよい。
即ち、フィルタ処理部65で行われるフィルタ処理は、後段の顔領域抽出部22、顔向き判定部23、および顔器官抽出部24で処理する際に、周辺の画素に対して特異な画素値を有する特異点を消去する(少なくする)効果があるものであればよい。換言すれば、フィルタ処理は、顔領域抽出部22などにおいて、各画素の画素値から曲線(後述する列画素値加算曲線や行画素値加算曲線など)を計算した場合に、その曲線を滑らかにするローパスフィルタとして機能するものとすることができる。
また、フィルタ処理としてモザイク処理が行われる場合、ブロック内の各画素の画素値の平均値を、ブロック内の全ての画素ではなくて、1画素の画素値に割り当てるようにして、フィルタ処理後の差分画像の全体の画素数を少なくして(圧縮して)、差分画像の情報処理量を少なくすることも可能である。例えば、ブロックを水平方向および垂直方向それぞれ2画素ずつの4画素の平均値を1画素に割り当てる場合、フィルタ処理後の画素数は、処理前の画素数の1/4とすることができる。
図7は、図1の顔領域抽出部22の詳細な構成例を示すブロック図である。
顔領域抽出部22は、画素値加算部71、閾値設定部72、および顔領域データ抽出部73により構成されている。
差分画像算出部21(のフィルタ処理部65)から供給される(フィルタ処理後の)差分画像は、画素値加算部71および顔領域データ抽出部73に供給される。
画素値加算部71は、差分画像の水平または垂直方向それぞれの列ごとに画素値を加算し、差分画像の垂直または水平方向それぞれの列ごとの画素加算値ViまたはWjを求める。
即ち、差分画像の水平方向(X方向)の画素数をN、垂直方向(Y方向)の画素数をMとし、差分画像の水平方向にi番目、垂直方向にj番目の画素の画素値をGij(i=1乃至N,j=1乃至M)とした場合、差分画像の垂直方向の列ごとの画素加算値Viは、次式(1)で求めることができる。
同様に、差分画像の水平方向の列(行)ごとの画素加算値Wjは、次式(2)で求めることができる。
画素値加算部71は、差分画像の垂直または水平方向それぞれの列ごとの画素加算値ViまたはWj(以下、適宜、差分画像の画素加算値ViまたはWjと称する)を、閾値設定部72および顔領域データ抽出部73に供給する。
閾値設定部72は、画素値加算部71から供給される差分画像の画素加算値ViまたはWjを用いて、差分画像の水平方向または垂直方向において、ユーザ11の顔領域とその他の領域を区別する閾値THXまたはTHYを算出し、設定(決定)する。
即ち、閾値設定部72は、差分画像の水平方向において、ユーザ11の顔領域とその他の領域を区別する閾値THXとして、差分画像の画素加算値Viの平均値を算出する。閾値THXは、次式(3)で求めることができる。
また、閾値設定部72は、差分画像の垂直方向において、ユーザ11の顔領域とその他の領域を区別する閾値THYとして、差分画像の画素加算値Wjの平均値を算出する。閾値THYは、次式(4)で求めることができる。
そして、閾値設定部72は、算出した閾値THXまたはTHYを、顔領域データ抽出部73に供給する。
顔領域データ抽出部73は、画素値加算部71から供給される差分画像の画素加算値ViおよびWjと、閾値設定部72から供給される閾値THXおよびTHYとに基づいて、差分画像のなかのユーザ11の顔領域を特定する。
具体的には、顔領域データ抽出部73は、差分画像の垂直方向の列ごとの画素加算値Viを、水平方向に(i=1乃至Nの順に)順次プロットすることにより、列画素値加算曲線(後述する図11Dの列画素値加算曲線221Y)を求める。また、顔領域データ抽出部73は、差分画像の水平方向の列ごとの画素加算値Wjを、垂直方向に(j=1乃至Mの順に)順次プロットすることにより、行画素値加算曲線(後述する図11Dの行画素値加算曲線221X)を求める。
次に、顔領域データ抽出部73は、閾値設定部72から供給されるよびTHY以上の、列画素値加算曲線が閾値THX以上となっている水平方向の範囲、および行画素値加算曲線が、閾値THY以上となっている垂直方向の範囲を、ユーザ11の顔領域であると特定する。
そして、顔領域データ抽出部73は、差分画像算出部21(図1)から供給される差分画像とともに、ユーザ11の顔領域を特定する顔領域情報を顔向き判定部23(図1)に供給する。
図8は、図1の顔向き判定部23の詳細な構成例を示すブロック図である。
顔向き判定部23は、画素値加算部81、中心位置検出部82、および判定部83により構成されている。
顔領域抽出部22(図7)からの差分画像および顔領域情報は、画素値加算部81および判定部83に供給される。
画素値加算部81は、顔領域情報で特定される、差分画像内の顔画像について、垂直方向の列ごとの画素加算値V’i'(以下、適宜、顔画像の画素加算値V’i'と称する)を算出し、中心位置検出部82に供給する。ここで、添え字の変数i’は、i=1乃至Nのうちの顔画像として抽出された水平方向の位置を表す。
中心位置検出部82は、顔画像の画素加算値V’i'を水平方向に順次プロットすることにより得られる列画素値加算曲線(例えば、後述する図13Aの列画素値加算曲線240Bなど)を用いて、水平方向におけるユーザ11の顔の中心位置(重心位置)X’を決定し、判定部83に供給する。
判定部83は、中心位置検出部82で得られた、水平方向におけるユーザ11の顔の中心位置X’が、顔画像の水平方向の中点Xpから所定の距離±XRの範囲、あるいは、その範囲の左側または右側のいずれに位置しているかどうかにより、ユーザ11の顔の向きを判定する。
即ち、判定部83は、ユーザ11の顔の水平方向の中心位置X’が、顔画像の水平方向の中点Xpより距離XRだけ小さい位置(Xp−XR)よりも左側(小さい側)の範囲(第2の範囲)に位置していた場合、ユーザ11の顔の向きを、左向き(撮像画像を正面から見てユーザ11が左側に向いている状態)であると判定する。
また、判定部83は、ユーザ11の顔の水平方向の中心位置X’が、顔画像の水平方向の中点Xpより距離XRだけ小さい位置(Xp−XR)と中点Xpから距離XRだけ大きい位置(Xp+XR)との間の範囲(第1の範囲)に位置していた場合、ユーザ11の顔の向きを、正面であると判定する。
さらに、判定部83は、ユーザ11の顔の水平方向の中心位置X’が、顔画像の水平方向の中点Xpより距離XRだけ大きい位置(Xp+XR)よりも右側(大きい側)の範囲(第3の範囲)に位置していた場合、ユーザ11の顔の向きを、右向き(撮像画像を正面から見てユーザ11が右側に向いている状態)であると判定する。
そして、判定部83は、ユーザ11の顔の向きの判定結果を、(顔領域抽出部22から供給される)差分画像および顔領域情報とともに、顔器官抽出部24(図1)に供給する。
図9は、図1の顔器官抽出部24の詳細な構成例を示すブロック図である。
顔器官抽出部24は、画素値加算部101、メモリ102、目・鼻・口画像分離部103、目画像処理部104、鼻画像処理部105、口画像処理部106、メモリ107、および画像出力部108により構成されている。
また、目画像処理部104は、画素値加算部111、目領域抽出部112、および代表点決定部113により構成され、鼻画像処理部105は、画素値加算部121、鼻領域抽出部122、および代表点決定部123により構成され、口画像処理部106は、画素値加算部131、口領域抽出部132、および代表点決定部133により構成されている。
顔器官抽出部24には、顔向き判定部23(図8)から、差分画像、顔領域情報、および判定結果が供給される。差分画像、顔領域情報、および判定結果のうちの差分画像および顔領域情報が、画素値加算部101およびメモリ102に供給される。また、顔領域情報および判定結果が、画像出力部108に供給される。
画素値加算部101は、顔領域情報で特定される差分画像内の顔画像について、水平方向の列ごとの画素加算値W’j'(以下、適宜、顔画像の画素加算値W’j'と称する)を算出し、目・鼻・口画像分離部103に供給する。ここで、添え字の変数j’は、j=1乃至Mのうちの顔画像として抽出された垂直方向の位置を表す。
メモリ102は、差分画像および顔領域情報を記憶し、必要に応じて、目・鼻・口画像分離部103に供給する。
目・鼻・口画像分離部103(以下、単に画像分離部103と称する)は、画素値加算部101からの顔画像の画素加算値W’j'を用いて、メモリ102に記憶されている差分画像に対して顔領域情報で特定される顔画像を、目の領域を含む画像(以下、目画像と称する)、鼻の領域を含む画像(以下、鼻画像と称する)、および口の領域を含む画像(以下、口画像と称する)の(垂直方向の)3つに分離する。そして、画像分離部103は、分離された目画像、鼻画像、および口画像を、それぞれ、目画像処理部104、鼻画像処理部105、および口画像処理部106に供給する。
目画像処理部104は、画像分離部103から供給される目画像に基づいて、図3に示したように、ユーザ11の左目の領域ILと、その領域ILを代表する代表点ILp、および右目の領域IRと、その領域IRを代表する代表点IRpを特定する。
具体的には、画素値加算部111は、目画像について、垂直の列ごとの画素加算値V’ip'および水平方向の列ごとの画素加算値W’jp'(以下、適宜、目画像の画素加算値V’ip'およびW’jp'と称する)を計算し、目領域抽出部112に供給する。ここで、添え字の変数ip’は、i=1乃至Nのうちの目画像として抽出された水平方向の位置を表し、変数jp’は、j=1乃至Mのうちの目画像として抽出された垂直方向の位置を表す。
目領域抽出部112は、目画像の画素加算値V’ip'を水平方向に順次プロットすることにより得られる列画素値加算曲線、および、目画像の画素加算値W’jp'を垂直方向に順次プロットすることにより得られる行画素値加算曲線(以下、単に、目画像の列画素値加算曲線および行画素値加算曲線と称する)を用いて、ユーザ11の目の領域を特定(抽出)する。そして、目領域抽出部112は、ユーザ11の目の領域を特定する情報を、目画像とともに、代表点決定部113に供給する。
代表点決定部113は、ユーザ11の目の領域を特定する情報から、目画像のなかの目の領域を特定し、特定した目の領域に対して列画素値加算曲線および行画素値加算曲線を再計算する。そして、代表点決定部113は、目の領域に対して再計算された列画素値加算曲線および行画素値加算曲線を用いて、ユーザ11の目の位置を代表する代表点を特定(決定)する。この目の代表点は、目(虹彩)の中心や、黒目の位置を表すとは限らないが、ユーザごとにほぼ同一の位置となる。
そして、代表点決定部113は、目領域抽出部112から供給された目の領域を特定する情報、および目の代表点を特定する情報(合わせて目領域情報と称する)を画像出力部108に供給する。
なお、目画像処理部104は、両目のそれぞれについて、上述の処理を行う。
鼻画像処理部105は、画像分離部103から供給される鼻画像に基づいて、図3に示したように、ユーザ11の鼻の領域NRと、その領域NRを代表する代表点NRpを特定する。
具体的には、画素値加算部121は、鼻画像について、垂直方向の列ごとの画素加算値V’iq'および水平方向の列ごとの画素加算値W’jq'(以下、適宜、鼻画像の画素加算値V’iq' およびW’jq'と称する)を算出し、鼻領域抽出部122に供給する。ここで、添え字の変数iq’は、i=1乃至Nのうちの鼻画像として抽出された水平方向の位置を表し、変数jq’は、j=1乃至Mのうちの鼻画像として抽出された垂直方向の位置を表す。
鼻領域抽出部122は、鼻画像の画素加算値V’iq'を水平方向に順次プロットすることにより得られる列画素値加算曲線、および、鼻画像の画素加算値W’jq'を垂直方向に順次プロットすることにより得られる行画素値加算曲線(以下、単に、鼻画像の列画素値加算曲線および行画素値加算曲線と称する)を用いて、ユーザ11の鼻の領域を特定(抽出)する。そして、鼻領域抽出部122は、ユーザ11の鼻の領域を特定する情報を、鼻画像とともに、代表点決定部123に供給する。
代表点決定部123は、ユーザ11の鼻の領域を特定する情報から、鼻画像のなかの鼻の領域を特定し、特定した鼻の領域に対して列画素値加算曲線および行画素値加算曲線を再計算する。そして、代表点決定部123は、鼻の領域に対して再計算された列画素値加算曲線および行画素値加算曲線を用いて、ユーザ11の鼻の位置を代表する代表点を特定(決定)する。この鼻の代表点は、鼻の中心位置を表すとは限らないが、ユーザごとにほぼ同一の位置となる。
そして、代表点決定部123は、鼻領域抽出部122から供給された鼻の領域を特定する情報、および鼻の代表点を特定する情報(合わせて鼻領域情報と称する)を画像出力部108に供給する。
口画像処理部106は、画像分離部103から供給される口画像に基づいて、図3に示したように、ユーザ11の口の領域MRと、その領域MRを代表する代表点MRpを特定する。
具体的には、画素値加算部131は、口画像について、垂直方向の列ごとの画素加算値V’ir'および水平方向の列ごとの画素加算値W’jr'(以下、適宜、口画像の画素加算値V’ir'およびW’jr'と称する)を算出し、口領域抽出部132に供給する。ここで、添え字の変数jr’は、i=1乃至Nのうちの口画像として抽出された水平方向の各位置を表し、変数jr’は、j=1乃至Mのうちの口画像として抽出された垂直方向の位置を表す。
口領域抽出部132は、口画像の画素加算値V’i3'を水平方向に順次プロットすることにより得られる列画素値加算曲線、および、口画像の画素加算値Wj3'を垂直方向に順次プロットすることにより得られる行画素値加算曲線(以下、単に、口画像の列画素値加算曲線および行画素値加算曲線と称する)を用いて、ユーザ11の口の領域を特定(抽出)する。そして、口領域抽出部132は、ユーザ11の口の領域を特定する情報を、口画像とともに、代表点決定部133に供給する。
代表点決定部133は、ユーザ11の口の領域を特定する情報から、口画像のなかの口の領域を特定し、特定した口の領域に対して列画素値加算曲線および行画素値加算曲線を再計算する。そして、代表点決定部133は、口の領域に対して再計算された列画素値加算曲線および行画素値加算曲線を用いて、ユーザ11の口の位置を代表する代表点を特定(決定)する。この口の代表点は、口の中心位置を表すとは限らないが、ユーザごとにほぼ同一の位置となる。
そして、代表点決定部133は、口領域抽出部132から供給された口の領域を特定する情報、および口の代表点を特定する情報(合わせて口領域情報と称する)を画像出力部108に供給する。
メモリ107は、撮像装置12(図1)から供給される撮像画像(基準画像または照明画像)を記憶し、必要に応じて、画像出力部108に供給する。
上述したように、画像出力部108には、顔向き判定部23(図8)から顔領域情報および判定結果が供給される。また、画像出力部108には、目画像処理部104、鼻画像処理部105、および口画像処理部106のそれぞれから、目領域情報、鼻領域情報、および口領域情報も供給される。
画像出力部108は、顔向き判定部23から供給された判定結果に応じて、メモリ107に記憶されている撮像画像を出力するか否かを判定する。即ち、判定結果が右向きまたは左向きを表す場合には、画像出力部108は、メモリ107に記憶されている撮像画像が顔画像の認識処理に不適当な画像であると判定し、それ(撮像画像)を出力しない。一方、判定結果が正面を表す場合には、画像出力部109は、メモリ107に記憶されている撮像画像が顔画像の認識処理に適当な画像であると判定し、それを、顔領域情報、目領域情報、鼻領域情報、および口領域情報とともに出力する。
従って、画像処理装置15(の画像出力部108)が撮像画像を供給(出力)する出力先の装置では、顔画像の認識処理に適当な画像だけを得ることができ、さらに、顔領域情報、目領域情報、鼻領域情報、および口領域情報により、撮像画像のなかの正確な顔領域、目領域鼻領域、および口領域を特定することができるので、顔画像の認識を正確に行うことができる。
以下、図を参照して、画像処理装置15が行う処理の詳細についてさらに説明する。
図10は、照明装置13による、ユーザ11に対する光の照射方向を説明する図である。
照明装置13は、図10に示すように、例えば、ユーザ11の顔に対して前方斜め下の方向から、ユーザ11の顔だけに強い光が照射するように配置される。従って、ユーザ11の顔以外の背景などについては、照明装置13で光が照射されているか、または照射されていないかにかかわらず一定の明るさとなる。
画像処理装置15には、撮像装置12で撮像された画像として、図11の画像201Aおよび画像201Bが、順次供給(入力)されるものとする。
図11Aの画像201Aは、照明装置13がユーザ11を照射していない状態で撮像された基準画像を示している。また、図11Bの画像201Bは、図10に示したように配置されている照明装置13がユーザ11に対して強い光を照射している状態で撮像された照明画像を示している。
なお、図11Aの画像201Aおよび図11Bの画像201Bの各画素の画素値は、実際には、被写体により反射された光の違いにより、様々な画素値となっているが、図面では、すべての画素値の違いを表すことが難しいため簡略化してある。
画像201Aでは、ユーザ11は、照明装置13によって照射されずに自然光(周辺の光)のみによって照らされており、少し暗くなっている。
これに対して、画像201Bでは、ユーザ11の顔面に対して照明装置13によって光が照射されているために、照明装置13からの光がユーザ11の顔面で反射し、ユーザ11の顔面が、極めて明るく(図面上では白く)なっている。なお、ユーザ11の顔面のうち、点線で示されている顔の器官は、照明装置13からの光の反射により、最も明るい(白い)部分を表している。
通常のCCD撮像素子などによる撮像装置で同様の照明条件により撮像したとすると、画像201Bに対応する画像は、ユーザ11の顔の領域の画素値が飽和してしまい、照明装置13による光を照射していない状態で撮像された画像201Aと、ユーザ11に対して強い光を照射している状態で撮像された画像201Bとをそのまま(同一条件で)比較することができない。これに対して、対数変換型の撮像素子を有する撮像装置12では、上述したように、人が視認できる輝度範囲において、輝度クリッピングが発生しないため、図10に示したように、ユーザ11の顔だけに強い光を照射した状態で撮像された画像201Bでも、ユーザ11の詳細な輝度分布を忠実に表すことができる。即ち、入射光量を調整せずに、照明装置13による光を照射していない状態で撮像された画像201Aと、ユーザ11に対して強い光を照射している状態で撮像された画像201Bとから差分画像を得ることができる。
そこで、差分画像算出部21は、画像201A(以下、基準画像201Aと称する)と画像201B(以下、照明画像201Bと称する)との間の、対応する画素どうしの画素値の差分(差分の絶対値)を算出することにより、図11Cに示す差分画像201Cを生成する。
照明画像201Bでは、上述したように、点線で示されている、ユーザ11の顔の、眉、目の輪郭、鼻の底辺部(鼻穴の周辺)、および唇の凸部が、際立って明るい(画素値が大きい)画像となっているため、差分画像201Cも同様に、点線で示されている、ユーザ11の顔の、眉、目の輪郭、鼻の底辺部(鼻穴の周辺)、および唇の凸部が、際立って明るい(画素値が大きい)画像となる。
また、基準画像201Aと照明画像201Bの背景領域、および、ユーザ11の髪の領域は、照明装置13からの光の照射の有無では明るさ(画素値)は変わらないため、差分画像201Cでは、画素値が0に近い値となる。なお、図11Cの差分画像201Cにおいて、画素値が0に近い値となっている画素(領域)を灰色で示してある。
差分画像算出部21は、生成した差分画像201Cを顔領域抽出部22に供給する。
顔領域抽出部22の画素値加算部71は、差分画像201Cの垂直方向の列ごとの画素加算値Viを、水平方向に(i=1乃至Nの順に)順次プロットすることにより、図11Dに示す列画素値加算曲線221Yを求める。また、画素値加算部71は、差分画像201Cの水平方向の列ごとの画素加算値Wjを、垂直方向に(j=1乃至Mの順に)順次プロットすることにより、図11Dに示す行画素値加算曲線221Xを求める。
なお、図11Dにおいて、列画素値加算曲線221Yに対する目盛は、下側の横軸と左側の縦軸を用い、下側の横軸は、水平方向(X方向)の位置を表し、左側の縦軸は、垂直方向(Y方向)の列ごとに画素値を加算したときの画素加算値Viを表す。また、行画素値加算曲線221Xに対する目盛は、上側の横軸と右側の縦軸を用い、右側の縦軸は、垂直方向(Y方向)の位置を表し、上側の横軸は、水平方向(X方向)の列ごとに画素値を加算したときの画素加算値Wjを表す。また、図11Dにおいては、N=256、M=128となっている。
図11Cに示す差分画像201Cと、図11Dに示す行画素値加算曲線221Xおよび列画素値加算曲線221Yとを比べると、差分画像201Cの水平方向(X方向)では、顔の領域がある範囲Xbに、列画素値加算曲線221Y(画素加算値Vi)が大きくなり、差分画像201Cの垂直方向(Y方向)では、顔の領域がある範囲Ybに、行画素値加算曲線221X(画素加算値Wj)が大きくなっている。
そこで、顔領域抽出部22の閾値設定部72は、上述した式(3)および(4)により、差分画像の水平方向において、ユーザ11の顔領域とその他の領域を区別する閾値THXを算出する。また、閾値設定部72は、差分画像の垂直方向において、ユーザ11の顔領域とその他の領域を区別する閾値THYを算出する。そして、算出された閾値THXまたはTHYが、顔領域データ抽出部73に供給される。なお、閾値THXまたはTHYは、上述した式(3)および(4)により求める方法の他、実験によるデータ(統計的データ)によって求めるようにしてもよい。
顔領域データ抽出部73は、閾値設定部72から供給される閾値THXおよびTHYに基づいて、差分画像のなかのユーザ11の顔領域の位置を特定する。
即ち、差分画像201Cの水平方向については、顔領域データ抽出部73は、図12Aに示すように、列画素値加算曲線221Yが閾値THXと交わる位置XmaおよびXmbを算出する。
また、差分画像201Cの垂直方向については、顔領域データ抽出部73は、行画素値加算曲線221Xが閾値THYと交わる位置YmaおよびYmbを算出する。
そして、顔領域データ抽出部73は、図12Bにおいて斜線で示されている、列画素値加算曲線221Yが閾値THX以上となるXma≦i≦Xmbの範囲と、行画素値加算曲線221Xが閾値THY以上となるYma≦j≦Ymbの範囲とで囲まれる領域231を、ユーザ11の顔の領域であると特定する。
顔領域データ抽出部73は、ユーザ11の顔の領域を特定する、水平方向の位置XmaおよびXmbと、垂直方向の位置YmaおよびYmbとを、顔領域情報として、差分画像201Cとともに顔向き判定部23に供給する。
顔向き判定部23の画素値加算部81は、顔領域情報で特定される、差分画像内の顔画像について、垂直方向の列ごとの画素加算値V’i'を計算する。そして、中心位置検出部82は、顔画像の画素加算値V’i'を水平方向に順次プロットすることにより得られる列画素値加算曲線を用いて、ユーザ11の顔の水平方向の中心位置(重心位置)X’を決定し、判定部83に供給する。
図13は、ユーザ11の顔の水平方向の中心位置(重心位置)X’と、ユーザ11の顔の向き(正面、右向き、または左向き)との関係を示している。
なお、図13では、図11Cにおいて点線で示した、際立って明るい(画素値が大きい)部分を灰色で示している(後述する図15についても同様)。
画素値加算部81により計算された顔画像の画素加算値V’i'を水平方向に順次プロットすることにより、図13A上側に示す列画素値加算曲線240Aが得られたとする。
中心位置検出部82は、列画素値加算曲線240Aの最大値241Aとなっている位置を、ユーザ11の顔の水平方向の中心位置(重心位置)X’とする。これは、差分画像では、図13A下側に示すように、顔画像の眉、目、鼻、および口の領域に相当する画素(灰色で示した部分)で画素値が大きく(明るく)なるが、それらの領域のなかでも、鼻と口がある領域(面積)が、眉や目に相当する領域よりも広いため、列画素値加算曲線が最大値となる位置に、鼻と口があるとみなしてよいからである。
従って、判定部83は、ユーザ11の顔の中心(鼻および口の位置)とみなされる中心位置X’が、顔画像の水平方向の中点Xpから所定の距離±XRの範囲内、その範囲の左または右側のいずれに存在しているかどうかにより、ユーザ11の顔の向きを判定する。
図13Aでは、ユーザ11の顔の中心位置X’が、顔画像の水平方向の中点Xpから所定の距離±XRの範囲(第2の範囲)内に存在しているので、判定部83は、ユーザ11の顔の向きを正面であると判定する。
また、図13Bに示す列画素値加算曲線240Bが得られた場合、中心位置検出部82は、列画素値加算曲線240Bの最大値241Bとなっている位置を、ユーザ11の顔の水平方向の中心位置X’とする。
そして、判定部83は、ユーザ11の顔の中心位置X’が、顔画像の水平方向の中点Xpより所定の距離XRだけ大きい位置(Xp+XR)よりも右側(大きい側)の範囲(第3の範囲)に存在しているので、ユーザ11の顔の向きを右向きであると判定する。
さらに、図13Cに示す列画素値加算曲線240Cが得られた場合、中心位置検出部82は、列画素値加算曲線240Cの最大値241Cとなっている位置を、ユーザ11の顔の水平方向の中心位置X’とする。
そして、判定部83は、ユーザ11の顔の中心位置X’が、顔画像の水平方向の中点Xpより所定の距離XRだけ小さい位置(Xp−XR)よりも左側(小さい側)の範囲(第1の範囲)に存在しているので、ユーザ11の顔の向きを左向きであると判定する。
判定部83は、以上のようにして判定したユーザ11の顔の向きの判定結果を、(顔領域抽出部22から供給される)差分画像および顔領域情報とともに、顔器官抽出部24に供給する。
顔器官抽出部24の画素値加算部101は、顔領域情報で特定される差分画像内の顔画像について、水平方向の列ごとの画素加算値W’j'(顔画像の画素加算値W’j')を計算し、画像分離部103に供給する。
画像分離部103は、画素値加算部101から供給される顔画像の画素加算値W’j'を用いて、顔画像を、目の領域を含む画像(目画像)、鼻の領域を含む画像(鼻画像)、および口の領域を含む画像(口画像)の3つに分離する。
具体的には、画像分離部103は、顔画像の画素加算値W’j'を垂直方向に順次プロットすることにより、図14に示す行画素値加算曲線260を求める。
そして、画像分離部103は、行画素値加算曲線260に生じている極小点を検出する。図14に示す例では、画像分離部103は、行画素値加算曲線260から、極小点261A乃至261Eを検出する。
次に、画像分離部103は、検出された極小点261A乃至261Eのなかで、顔画像の画素加算値W’j'が最小となる位置jを、目画像と鼻画像を上下に(垂直方向に)分離する境界(位置)として検出する。
さらに、画像分離部103は、目画像と鼻画像を上下に分離する境界として検出された極小点から下方向に次に検出される極小点の位置jを、鼻画像と口画像を上下に(垂直方向に)分離する境界(位置)として検出する。
図14に示す例では、検出された極小点261A乃至261Eのなかで、顔画像の画素加算値W’j'が最小となっている極小点261Cを有する位置Ygが、目画像と鼻画像を上下に分離する境界(位置)として検出される。
また、目画像と鼻画像を上下に分離する境界として検出された極小点261Cから下方向に次に検出される極小点261Dの位置Yhが、鼻画像と口画像を上下に分離する境界(位置)として検出される。
これにより、画像分離部103は、図15に示すように、差分画像のうちの顔の領域(顔画像)231を、目の領域を含む画像(目画像)271、鼻の領域を含む画像(鼻画像)272、および口の領域を含む画像(口画像)273に分離する。そして、画像分離部203は、目画像271を目画像処理部104に供給し、鼻画像272を鼻画像処理部105に供給し、口画像273を口画像処理部106に供給する。
なお、画像分離部103においては、目画像と鼻画像を上下に分離する境界としての極小点261Cを検出する場合、目画像と鼻画像を上下に分離する境界は、顔の領域(顔画像)の垂直方向(上下方向)の中心付近に存在することが想定されるため、顔の領域の垂直方向の中心付近(例えば、垂直方向の長さの半分の範囲)の範囲内だけで、行画素値加算曲線260の最小値となっている極小点を検出するようにしてもよい。また、顔の領域の垂直方向の中心に最も近い極小点を検出するようにしてもよい。
また、極小点を検出する際には、微小な画素値の変化によって生じている極小点など、本来の検出したい極小点とは異なる点を検出しないために、行画素値加算曲線260に対して、高周波成分を除去するフィルタ(ローパスフィルタ)処理等を行ってから上述の処理を実行することができる。さらに、検出された極小点の前後(上下)に位置する極大点との顔画像の画素加算値W’j'の差が、一定値以上であるなどの制約条件を付加して、不適当な(ノイズによる)極小点を除外するようにしてもよい。
次に、目画像処理部104の画素値加算部111は、画像分離部103から供給された目画像に対して、垂直または水平方向の列ごとの画素加算値V’ip' またはW’jp'を計算し、目領域抽出部112に供給する。目領域抽出部112は、目画像の画素加算値V’ip' またはW’jp'を水平方向または垂直方向に順次プロットすることにより、それぞれ、図16Aに示す目画像の列画素値加算曲線271Yまたは行画素値加算曲線271Xを得る。
また、鼻画像処理部105の画素値加算部121は、画像分離部103から供給された鼻画像に対して、垂直または水平方向の列ごとの画素加算値V’iq' またはW’jq'を計算し、鼻領域抽出部122に供給する。鼻領域抽出部122は、鼻画像の画素加算値V’iq' またはW’jq'を水平方向または垂直方向に順次プロットすることにより、それぞれ、図16Bに示す鼻画像の列画素値加算曲線272Yまたは行画素値加算曲線272Xを得る。
さらに、口画像処理部106の画素値加算部131は、画像分離部103から供給された口画像に対して、垂直または水平方向の列ごとの画素加算値V’ir' またはW’jr'を計算し、口領域抽出部132に供給する。口領域抽出部132は、口画像の画素加算値V’i3' またはWj3'を水平方向または垂直方向に順次プロットすることにより、それぞれ、図16Cに示す口画像の列画素値加算曲線273Yまたは行画素値加算曲線273Xを得る。
次に、図17を参照して、目画像処理部104の目領域抽出部112および代表点決定部113が行う処理について説明する。
目領域抽出部112は、目画像の列画素値加算曲線271Yおよび行画素値加算曲線271Xを用いて、ユーザ11の目の領域を特定する。
具体的には、目領域抽出部112は、目画像の水平方向の中点(中間位置)を中心とし、幅を、例えば、目画像の幅Xdの半分(Xd/2)とする範囲Xe内における、列画素値加算曲線271Yの最小値を検出する。
図17Aでは、極小点281が、範囲Xe内の最小値として検出される。そして、極小点281の水平方向の位置Xdpが、目画像を、左目と右目をそれぞれ含む左目画像と右目画像に分離する境界となる。
次に、目領域抽出部112は、顔画像の水平方向の位置Xdpより左側の領域(左目画像)における列画素値加算曲線271Yに注目する。目領域抽出部112は、位置Xdpより左側の領域(左目画像)における列画素値加算曲線271Yに対し、極大点を検出し、その検出された極大点のなかから、図17Aに示すように、値の大きい順に2つの極大点291Aおよび291Bを選択する。そして、2つの極大点291Aおよび291Bそれぞれに対応する水平方向の位置XIL1およびXIL2が、左目の領域を特定する水平方向の位置となる。即ち、水平方向においては、XIL1≦i≦XIL2の範囲に左目が存在していると特定される。
位置Xdpより右側の領域(右目画像)に対しても同様に、目領域抽出部112は、列画素値加算曲線271Yに対し、極大値を検出し、その検出された極大点のなかから、図17Aに示すように、値の大きい順に2つの極大点291Cおよび291Dを選択する。そして、2つの極大点291Cおよび291Dそれぞれに対応する水平方向の位置XIR1およびXIR2が、右目の領域を特定する水平方向の位置となる。即ち、水平方向においては、XIR1≦i≦XIR2の範囲に右目が存在していると特定される。
一方、垂直方向に対しては、目領域抽出部112は、行画素値加算曲線271X(目画像の画素加算値W’jp')において極小点を検出し、その検出された極小点のなかから、図17Aに示すように、値の最も小さな極小点301を選択する。
そして、目領域抽出部112は、行画素値加算曲線271Xにおいて、値の最も小さな極小点301の両隣に位置する極大点を検出する。即ち、目領域抽出部112は、行画素値加算曲線271Xにおいて、値の最も小さな極小点301から、上下方向それぞれに検索して最初の極大点311Aおよび311Bを検出する。
そして、極大点311Aおよび311Bそれぞれに対応する垂直方向の位置YI1およびYI2が、垂直方向の左目および右目の領域を特定する位置となる。即ち、垂直方向においては、YI1≦j≦YI2の範囲に左目および右目が存在していると特定される。なお、極小点301に対応する垂直方向の位置が、位置Ydpである。
以上から、目領域抽出部112は、図17Aにおいて斜線で示されている、XIL1≦i≦XIL2の範囲とYI1≦j≦YI2の範囲とで囲まれる領域を、左目の領域ILと特定する。また、目領域抽出部112は、XIR1≦i≦XIR2の範囲とYI1≦j≦YI2の範囲とで囲まれる領域を、右目の領域IRと特定する。目領域抽出部112は、水平方向の位置XIL1,XIL2,XIR1、およびXIR2と、垂直方向の位置YI1およびYI2とを、ユーザ11の目の領域を特定する情報として、代表点決定部113に供給する。
代表点決定部113は、ユーザ11の目の領域内で、目の位置を代表する代表点を特定する。
図17Bは、左目の領域IL内で再計算された行画素値加算曲線271X’および列画素値加算曲線271Y’を示している。図17Cは、右目の領域IR内で再計算された行画素値加算曲線271X”および列画素値加算曲線271Y”を示している。
図17Bに示す左目の領域ILにおいて、代表点決定部113は、列画素値加算曲線271Y’の最小値321を検出し、その最小値321に対応する水平方向の位置ILXを得る。また、代表点決定部113は、行画素値加算曲線271X’の最小値322を検出し、その最小値322に対応する垂直方向の位置ILYを得る。この位置ILXおよびILYが、ユーザ11の左目の位置を代表する代表点ILp=(ILX,ILY)を表す。
同様にして、図17Cに示す右目の領域IRにおいて、代表点決定部113は、列画素値加算曲線271Y”の最小値331を検出し、その最小値331に対応する水平方向の位置IRXを得る。また、代表点決定部113は、行画素値加算曲線271X”の最小値332を検出し、その最小値332に対応する垂直方向の位置IRYを得る。この位置IRXおよびIRYが、ユーザ11の右目の位置を代表する代表点IRp=(IRX,IRY)を表す。
代表点決定部113は、位置(ILX,ILY)および位置(IRX,IRY)を、ユーザ11の目の代表点ILpおよびIRpを特定する情報とし、上述した目の領域を特定する情報とともに、画像出力部108に供給する。
この目の代表点は、目(虹彩)の中心や、黒目の位置を表すとは限らないが、ユーザごとにほぼ同一の位置となる。従って、代表点としての左右の目の位置関係を調べる(比較)することにより、個人(本人)認証の精度を向上させることができる。
また、連続して撮像された複数の画像に対して、代表点としての左右の目の位置の軌跡(移動方向)を調べることにより、ユーザ11の視線の移動方向や顔の向きを検出することも可能である。
次に、図18を参照して、鼻画像処理部105の鼻領域抽出部122および代表点決定部123が行う処理について説明する。
鼻領域抽出部122は、鼻画像の列画素値加算曲線272Yおよび行画素値加算曲線272Xを用いて、ユーザ11の鼻の領域を特定する。
具体的には、鼻領域抽出部122は、鼻画像の水平方向の中点(中間位置)を中心とし、幅を、例えば、鼻画像の幅Xdの半分(Xd/2)とする範囲Xe内における、列画素値加算曲線272Yの極小点を検出し、その検出された極小点のなかから、図18Aに示すように、値の小さい順に2つの極小点341および342を選択する。そして、2つの極小点341および342それぞれに対応する水平方向の位置XN1およびXN2が、鼻の領域を特定する水平方向の位置となる。即ち、水平方向においては、XN1≦i≦XN2の範囲に鼻が存在していると特定される。
一方、垂直方向に対しては、鼻領域抽出部122は、行画素値加算曲線272Xにおいて極大点を検出し、その検出された極大点のなかから、値の最も大きな極大点351を選択する。なお、図18Aの行画素値加算曲線272Xのように、1つの極大点351しか存在していない場合、その極大点351が選択される。
そして、鼻領域抽出部122は、極大点351に対応する垂直方向の位置YN1から、鼻画像の垂直方向の下限位置YN3までの距離YNDと同一の距離だけ、位置YN1から上方向に進んだ位置YN2を決定する。このようにして決定される垂直方向の位置YN2およびYN3が、垂直方向の鼻の領域を特定する位置となる。即ち、垂直方向においては、YN2≦j≦YN3の範囲に鼻が存在していると特定される。
以上から、鼻領域抽出部122は、図18Aにおいて斜線で示されている、XN1≦i≦XN2の範囲とYN2≦j≦YN3の範囲とで囲まれる領域を、鼻の領域NRと特定する。また、鼻領域抽出部122は、水平方向の位置XN1およびXN2と、垂直方向の位置YN2およびYN3とを、ユーザ11の鼻の領域を特定する情報として、代表点決定部123に供給する。
代表点決定部123は、ユーザ11の鼻の領域内で、鼻の位置を代表する代表点を特定する。
図18Bは、鼻の領域NR内で再計算された行画素値加算曲線272X’および列画素値加算曲線272Y’を示している。
図18Bに示す鼻の領域NRにおいて、代表点決定部123は、列画素値加算曲線272Y’の最大値361を検出し、その最大値361に対応する水平方向の位置NRXを得る。また、代表点決定部123は、行画素値加算曲線272X’の最大値371を検出し、その最小値371に対応する垂直方向の位置NRYを得る。この位置NRXおよびNRYが、ユーザ11の鼻の位置を代表する代表点NRp=(NRX,NRY)を表す。
代表点決定部123は、位置(NRX,NRY)を、ユーザ11の鼻の代表点NRpを特定する情報とし、上述した鼻の領域を特定する情報とともに、画像出力部108に供給する。
次に、図19を参照して、口画像処理部106の口領域抽出部132および代表点決定部133が行う処理について説明する。
口領域抽出部132は、口画像の列画素値加算曲線273Yおよび行画素値加算曲線273Xを用いて、ユーザ11の口の領域を特定する。
具体的には、口領域抽出部132は、口画像の水平方向の中点(中間位置)を中心とし、幅を、例えば、口画像の幅Xdの半分(Xd/2)とする範囲Xe内における、列画素値加算曲線273Yの3つの極小点381乃至383を検出する。そして、口領域抽出部132は、検出された極小点381乃至383のなかから、水平方向に最大と最小の(即ち、両脇の)極小点381および383を選択する。2つの極小点381および383それぞれに対応する水平方向の位置XM1およびXM3が、口の領域を特定する水平方向の位置となる。即ち、水平方向においては、XM1≦i≦XM3の範囲に口が存在していると特定される。
一方、垂直方向に対しては、口領域抽出部132は、行画素値加算曲線273Xにおいて極小点を検出し、その検出された極小点のなかから、値の最も小さな極小点384を選択する。なお、図19Aの行画素値加算曲線273Xのように、1つの極小点384しか存在していない場合、その極小点384が選択される。
そして、口領域抽出部132は、極小点384に対応する垂直方向の位置YM1から、口画像の垂直方向の上限位置YM2までの距離YMDと同一の距離だけ、位置YM1から下方向に進んだ位置YM3を決定する。このようにして決定される垂直方向の位置YM2およびYM3が、垂直方向の口の領域を特定する位置となる。即ち、垂直方向においては、YM2≦j≦YM3の範囲に口が存在していると特定される。
以上から、口領域抽出部132は、図19Aにおいて斜線で示されている、XM1≦i≦XM3の範囲とYM2≦j≦YM3の範囲とで囲まれる領域を、口の領域MRと特定する。また、口領域抽出部132は、水平方向の位置XM1およびXM3と、垂直方向の位置YM2およびYM3とを、ユーザ11の口の領域を特定する情報として、代表点決定部133に供給する。
代表点決定部133は、ユーザ11の口の領域内で、口の位置を代表する代表点を特定する。
図19Bは、口の領域MR内で再計算された行画素値加算曲線273X’および列画素値加算曲線273Y’を示している。
図19Bに示す口の領域MRにおいて、代表点決定部133は、列画素値加算曲線273Y’の極小値391を検出し、その極小値391に対応する水平方向の位置MRXを得る。また、代表点決定部133は、行画素値加算曲線273X’の極小値392を検出し、その極小値392に対応する垂直方向の位置MRYを得る。この位置MRXおよびMRYが、ユーザ11の口の位置を代表する代表点MRp=(MRX,MRY)を表す。
代表点決定部133は、位置(MRX,MRY)を、ユーザ11の口の代表点MRpを特定する情報とし、上述した口の領域を特定する情報とともに、画像出力部108に供給する。
次に、図20および図21のフローチャートを参照して、画像処理装置15の処理について説明する。この処理は、撮像画像が撮像装置12から画像処理装置15に供給されたときに開始される。
初めに、ステップS1において、差分画像算出部21の画像取得部61は、基準画像と照明画像を取得する。より詳しくは、画像取得部61は、撮像装置12から供給される撮像画像を取得し、タイミング制御装置14からの判定信号に従い、撮像装置12から供給された撮像画像が、基準画像であるか、または照明画像であるかを判定する。そして、画像取得部61は、供給された撮像画像が基準画像である場合、撮像画像をメモリ62に供給し、供給された撮像画像が照明画像である場合、撮像画像をメモリ63に供給する。
ステップS2において、差分画像算出部21の差分処理部64は、メモリ62に記憶されている基準画像と、メモリ63に記憶されている照明画像から、差分画像を算出する。
ステップS3において、差分画像算出部21のフィルタ処理部65は、差分処理部64からの差分画像に対してフィルタリング(フィルタ処理)して、処理後の差分画像を顔領域抽出部22に供給する。
ステップS4において、顔領域抽出部22の画素値加算部71は、差分画像の水平または垂直方向それぞれの列ごとに画素値を加算し、差分画像の垂直または水平方向それぞれの列ごとの画素加算値ViまたはWjを算出する。
ステップS5において、顔領域抽出部22の閾値設定部72は、差分画像の水平方向または垂直方向において、ユーザ11の顔領域とその他の領域を区別する閾値THXまたはTHYを算出し、設定する。
ステップS6において、顔領域抽出部22の顔領域データ抽出部73は、差分画像のなかから顔画像を抽出する。即ち、顔領域データ抽出部73は、画素値加算部71から供給される差分画像の画素加算値ViおよびWjと、閾値設定部72から供給される閾値THXおよびTHYとに基づいて、差分画像のなかのユーザ11の顔領域の位置を特定する。そして、顔領域データ抽出部73は、差分画像算出部21から供給される差分画像とともに、ユーザ11の顔領域を特定する顔領域情報を顔向き判定部23に供給する。
ステップS7において、顔向き判定部23の画素値加算部81は、顔画像の画素加算値V’i'を算出し、中心位置検出部82に供給する。
ステップS8において、顔向き判定部23の中心位置検出部82は、水平方向におけるユーザ11の顔の中心位置(重心位置)X’を決定し、判定部83に供給する。
ステップS9において、顔向き判定部23の判定部83は、水平方向におけるユーザ11の顔の中心位置X’が、顔画像の水平方向の中点Xpから所定の距離±XRの範囲、その範囲の左側または右側のいずれに存在しているかどうかにより、ユーザ11の顔の向きを判定する。そして、この判定結果が、差分画像および顔領域情報とともに顔器官抽出部24に供給される。
ステップS10において、顔器官抽出部24のメモリ107は、撮像装置12から供給される撮像画像(基準画像または照明画像)を記憶する。
ステップS11において、顔器官抽出部24の画素値加算部101は、顔画像の画素加算値W’j'を算出し、画像分離部103に供給する。
ステップS12において、顔器官抽出部24の画像分離部103は、画素値加算部101からの顔画像の画素加算値W’j'を用いて、顔画像を目画像、鼻画像、および口画像に分離する。そして、画像分離部103は、分離された目画像、鼻画像、および口画像を、それぞれ、目画像処理部104、鼻画像処理部105、および口画像処理部106に供給する。
ステップS13において、目画像処理部104の画素値加算部111は、目画像の画素加算値V’ip' またはW’jp'を計算し、目領域抽出部112に供給する。
ステップS14において、目画像処理部104の目領域抽出部112は、目画像の列画素値加算曲線および行画素値加算曲線を用いて、ユーザ11の目の領域を特定する。そして、目領域抽出部112は、ユーザ11の目の領域を特定する情報を、目画像とともに、代表点決定部113に供給する。
ステップS15において、目画像処理部104の代表点決定部113は、目の領域に対して再計算された列画素値加算曲線および行画素値加算曲線を用いて、ユーザ11の目の位置を代表する代表点を特定する。そして、代表点決定部113は、目領域情報(目の領域を特定する情報および目の代表点を特定する情報)を画像出力部108に供給する。
ステップS16において、鼻領域処理部105の画素値加算部121は、鼻画像の画素加算値V’iq' またはW’jq'を算出し、鼻領域抽出部122に供給する。
ステップS17において、鼻領域処理部105の鼻領域抽出部122は、鼻画像の列画素値加算曲線および行画素値加算曲線を用いて、ユーザ11の鼻の領域を特定する。そして、鼻領域抽出部122は、ユーザ11の鼻の領域を特定する情報を、鼻画像とともに、代表点決定部123に供給する。
ステップS18において、鼻領域処理部105の代表点決定部123は、鼻の領域に対して再計算された列画素値加算曲線および行画素値加算曲線を用いて、ユーザ11の鼻の位置を代表する代表点を特定(決定)する。そして、代表点決定部123は、鼻領域情報(鼻の領域を特定する情報および鼻の代表点を特定する情報)を画像出力部108に供給する。
ステップS19において、口画像処理部106の画素値加算部131は、口画像の画素加算値V’ir'およびW’jr'を算出し、口領域抽出部132に供給する。
ステップS20において、口画像処理部106の口領域抽出部132は、口画像の列画素値加算曲線および行画素値加算曲線を用いて、ユーザ11の口の領域を特定(抽出)する。そして、口領域抽出部132は、ユーザ11の口の領域を特定する情報を、口画像の列画素値加算曲線および行画素値加算曲線とともに、代表点決定部133に供給する。
ステップS21において、口画像処理部106の代表点決定部133は、口の領域に対して再計算された列画素値加算曲線および行画素値加算曲線を用いて、ユーザ11の口の位置を代表する代表点を特定(決定)する。そして、代表点決定部133は、口領域情報(口の領域を特定する情報および口の代表点を特定する情報)を画像出力部108に供給する。
ステップS22において、口画像処理部106の画像出力部108は、顔向き判定部23から供給された判定結果に応じて、上述したステップS10でメモリ107に記憶された撮像画像を出力するか否かを判定する。即ち、判定結果から、ユーザ11の顔の向きが右向きまたは左向きであると判定された場合、画像出力部108は、ステップS23をスキップして(メモリ107に記憶されている撮像画像を出力せずに)、処理を終了する。
一方、判定結果から、ユーザ11の顔の向きが正面であると判定された場合、ステップS23に進み、画像出力部108は、顔領域情報、目領域情報、鼻領域情報、および口領域情報とともに、メモリ107に記憶されている撮像画像を出力して、処理を終了する。
以上のように、画像処理装置15は、顔画像の認識処理に最適な撮像画像だけを出力するとともに、出力される撮像画像の顔領域、目の領域、鼻の領域、口の領域、および目、鼻、口の代表点を出力する。これにより、画像処理装置15からの出力を受ける装置では、顔画像の認識処理を容易に、かつ正確に行うことができる。
なお、上述したステップS13乃至S15の処理、ステップS16乃至S18の処理、またはステップS19乃至S21の処理は、いずれの処理を先に行っても良いし、同時に(並行して)行うことも可能である。
また、上述したステップS23の処理では、画像出力部108は、ユーザ11の顔の向きが正面であると判定された場合に、メモリ107に記憶されている撮像画像が基準画像であるか照明画像であるかにかかわらず、メモリ107に記憶されている撮像画像を出力するようにしたが、基準画像のときだけ出力するようにしてもよい。
図22は、図1の顔領域抽出部22のその他の実施の形態を示すブロック図である。
図22において、顔領域抽出部22は、ヒストグラム作成部401、閾値設定部402、顔領域データ抽出部403、およびメモリ404により構成されている。
差分画像算出部21(のフィルタ処理部65)から供給される(フィルタ処理後の)差分画像は、ヒストグラム作成部401および顔領域データ抽出部403に供給される。
ヒストグラム作成部401は、差分画像について、同一の画素値を有する画素ごとに画素数を集計した、差分画像の画素値のヒストグラムを作成し、閾値設定部402に供給する。また、ヒストグラム作成部401は、差分画像の各画素について、画素の位置と、画素値とが対応付けられたテーブルを生成し、メモリ404に供給する。このテーブルを参照することにより、所定の画素値が指定された場合に、その画素値を有する画素の差分画像内の位置を特定することができる。
閾値設定部402は、ヒストグラム作成部401からの差分画像の画素値のヒストグラムに基づいて、ユーザ11の顔領域と、その他の領域を区別する画素値を閾値Q2(図23)として決定(設定)し、顔領域データ抽出部403に供給する。
顔領域データ抽出部403は、閾値設定部402からの閾値Q2およびメモリ404に記憶されているテーブルに基づいて、差分画像のなかのユーザ11の顔領域を特定する。そして、顔領域データ抽出部403は、差分画像算出部21(図1)から供給される差分画像とともに、ユーザ11の顔領域を特定する顔領域情報を顔向き判定部23(図1)に供給する。
図23および図24を参照して、図22の顔領域抽出部22が行う処理について説明する。
図23は、ヒストグラム作成部401により作成された差分画像の画素値のヒストグラムを示している。
図23において、横軸は、画素値を表し、縦軸は、画素数(度数)を表している。
閾値設定部402は、初めに、差分画像の画素値のヒストグラムの極大値を検出する。図23では、画素値Q1の位置において、極大値411が検出される。なお、複数の極大値が検出された場合には、閾値設定部402は、検出された複数の極大値のなかで、画素数(度数)の一番大きい極大値(最大の極大値)を採用する。
差分画像では、図11Cに示したように、背景領域(顔領域以外の領域)の画素値は、0かまたは0に近い数値となり、顔領域の画素値は、0から離れた値となるので、図23に示すように、画素値のヒストグラムは、0付近とそれ以外の画素値の2極に集中する(画素数が大きくなる)分布となる。
従って、差分画像の画素値のヒストグラムの極大値を検出する場合、画素値が0付近の極大値は明らかに背景領域となるので、検出される極大値は、0付近の所定の画素値以上であるという制約条件や、画素数(度数)が所定の値以上であるという制約条件を設けて、極大値を検出するようにすることも可能である。
閾値設定部402は、検出された極大値411を有する画素値Q1と画素値0との中間の画素値、即ち、検出された極大値411を有する画素値Q1の半分の画素値Q2を、ユーザ11の顔領域と、その他の領域を区別する閾値として決定し、顔領域データ抽出部403に供給する。
顔領域データ抽出部403には、上述した閾値Q2が、閾値設定部402から供給される。顔領域データ抽出部403は、メモリ404に記憶されている、差分画像内の画素の位置と、その画素値とが対応付けられたテーブルを参照し、閾値Q2以上の画素値を有する差分画像の画素を特定する。
図24は、ある差分画像421において、閾値設定部402から供給された閾値Q2以上の画素値を有する画素を示している。
図24において、差分画像421内の“○”または“×”は、差分画像421を構成している画素を表し、“○”で示されている画素は、閾値Q2以上の画素値を有していることを表し、“×”で示されている画素は、閾値Q2より小さい画素値を有していることを表す。
顔領域データ抽出部403は、差分画像の水平方向および垂直方向のそれぞれについて、閾値Q2以上の画素値を有している画素(“○”で示されている画素)の上限値(最大の位置)および下限値(最小の位置)を決定する。
図24に示す差分画像421では、顔領域抽出部403において、差分画像の水平方向に対して、閾値Q2以上の画素値を有している画素の上限値として、位置Xmbが決定され、閾値Q2以上の画素値を有している画素の下限値として、位置Xmaが決定される。
また、差分画像の垂直方向に対して、閾値Q2以上の画素値を有している画素の上限値として、位置Ymbが決定され、閾値Q2以上の画素値を有している画素の下限値として、位置Ymaが決定される。
顔領域データ抽出部403は、図24において太線で示されている、Xma≦i≦Xmbの範囲とYma≦j≦Ymbの範囲とで囲まれる領域422を、ユーザ11の顔の領域であると特定する。
顔領域データ抽出部403は、ユーザ11の顔の領域を特定する、水平方向の位置XmaおよびXmbと、垂直方向の位置YmaおよびYmbとを、顔領域情報として、差分画像421とともに顔向き判定部23に供給する。
図1の画像処理装置15において、顔領域抽出部22が、図7に示したように構成される代わりに、図22に示したように構成される場合、上述した図20および図21の処理では、ステップS4において、ヒストグラム作成部401が、差分画像の画素値のヒストグラムを作成し、閾値設定部402に供給するとともに、差分画像の各画素について、画素の位置と画素値とが対応付けられたテーブルを生成し、メモリ404に供給する。
ステップS5において、閾値設定部402は、差分画像の画素値のヒストグラムに基づいて、ユーザ11の顔領域と、その他の領域を区別する閾値Q2を決定し、顔領域データ抽出部403に供給する。
ステップS6において、顔領域データ抽出部403は、閾値設定部402からの閾値Q2およびメモリ404に記憶されているテーブルに基づいて、差分画像のなかのユーザ11の顔領域の位置を特定する。そして、顔領域データ抽出部403は、差分画像算出部21(図1)から供給される差分画像とともに、ユーザ11の顔領域を特定する顔領域情報を顔向き判定部23(図1)に供給する。
上述したステップS4乃至S6の処理を除く、ステップS1乃至S3およびS7乃至S23の処理については、同様の処理を行うので、その説明を省略する。
以上のように、画像処理装置15の顔領域抽出部22を図22に示す構成とした場合でも、画像処理装置15は、顔画像の認識に最適な撮像画像だけを出力するとともに、出力される撮像画像の顔領域、目の領域、鼻の領域、口の領域、および目、鼻、口の代表点を出力する。これにより、画像処理装置15からの出力を受ける装置では、顔画像の認識処理を容易に、かつ正確に行うことができる。
上述した実施の形態では、図10に示したように、照明装置13は、ユーザ11の顔に対して前方斜め下の方向から光を照射するように配置されることとしたが、図25に示すように、ユーザ11の顔に対して前方斜め上の方向から光を照射するように、照明装置13を配置してもよい。また、ユーザ11の顔と水平な高さで、斜め左前方および斜め右前方の両方から光を照射するように、照明装置13を配置してもよい。
また、上述した実施の形態では、認識対象として人(ユーザ)の顔の領域を認識する例について説明したが、その他、動物の顔などを認識対象とすることも可能である。
図20および図21に示した処理は、専用のハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この処理をソフトウエアによって行う場合、例えば、一連の処理は、図26に示されるような(パーソナル)コンピュータにプログラムを実行させることにより実現することができる。
図26において、CPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または記憶部508からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU501、ROM502、およびRAM503は、バス504を介して相互に接続されている。このバス504にはまた、入出力インタフェース505も接続されている。
入出力インタフェース505には、キーボード、マウスなどよりなる入力部506、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部507、ハードディスクなどより構成される記憶部508、ターミナルアダプタ、ADSL(Asymmetric Digital Subscriber Line)モデムや、LAN (Local Area Network)カード等より構成される通信部509が接続されている。通信部509は、インターネットなどの各種のネットワークを介しての通信処理を行う。
入出力インタフェース505にはまた、必要に応じてドライブ510が接続され、磁気ディスク(フロッピディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)を含む)、或いは半導体メモリなどのリムーバブルメディア(記録媒体)521が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部508にインストールされる。
なお、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
1 画像処理システム, 12 撮像装置, 13 照明装置, 15 画像処理装置, 21 差分画像算出部, 22 顔領域抽出部, 23 顔向き判定部, 24 顔器官抽出部, 61 画像取得部, 64 差分処理部, 65 フィルタ処理部, 71 画素値加算部, 72 閾値設定部, 73 顔領域データ抽出部, 81 画素値加算部, 82 中心位置検出部, 83 判定部, 101 画素値加算部, 103 目・鼻・口画像分離部103, 104 目画像処理部, 105 鼻画像処理部, 106 口画像処理部, 111 画素値加算部, 112 目領域抽出部, 113 代表点決定部, 121 画素値加算部, 122 鼻領域抽出部, 123 代表点決定部, 131 画素値加算部, 132 口領域抽出部, 133 代表点決定部