説明

顔器官検出装置

【課題】 肌の色や照明条件の変化の影響を受けにくい高性能な顔器官検出装置を実現する。
【解決手段】 中心線算出手段2は、画像記憶手段1に記憶された入力画像から顔の中心線を算出する。顔色推定手段3は、中心線算出手段2が算出した顔の中心線に基づいて、画像記憶手段1に記憶された入力画像から顔の肌の色を推定する。テンプレート作成手段5は、テンプレート作成用辞書4に記憶されている顔器官のテンプレートの生成規則に対して、顔色推定手段3が推定した顔色を適用して顔器官のテンプレートを作成する。マッチング手段7は、テンプレート作成手段5で作成したテンプレートと、入力された顔画像の画像中の領域とを比較して、最もテンプレートとの類似度が高い領域を入力画像中から見つけることにより、顔器官の位置検出を行う。

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、顔の画像認識を行い、例えば目や唇といった顔器官を検出する顔器官検出装置に関する。
【0002】
【従来の技術】顔画像から得られる、目、鼻、口などの顔器官の位置情報を利用した様々な技術が開発されている。例えば、個人識別技術や顔の向きを判定する技術等が挙げられる。
【0003】このような顔画像に関する技術としては、例えば、文献:「分散型2次元見え方モデルに基づく顔画像解析」電子情報通信学会論文誌 D−II Vol.J77−D−II No.12 PP.2342〜2352,1994.12等に示されるものがあった。
【0004】上記文献では(p2344,右、下から9行目〜)、顔器官を検出する方法として、各器官を代表する画像(テンプレート)を予め作成し、入力画像中で最もテンプレートにマッチする領域を見つけ出す方法を用いている。顔器官のテンプレートは予め数名の顔画像を撮影し、顔器官領域を切り出して、位置と輝度に関する正規化の後、各画素毎に平均を行って作成している。
【0005】
【発明が解決しようとする課題】しかしながら、上記のような従来技術では、照明(色、明暗、位置)条件がテンプレートを作成した時と異なった場合には、人の肌の色や輝度が変化するため、テンプレートマッチングによる位置検出が失敗する場合があった。同様に、肌の色は個人差もあり、更に化粧や日焼け、人種の違い等でも変化してしまう。
【0006】そのため、従来では、肌の色の変化に対応するためには、肌の色の異なるテンプレートを複数用意する必要があり、マッチングの性能を上げるためには、テンプレートの記憶容量が増加し、更に処理量も増大するという問題点があった。
【0007】このような点から、肌の色や照明条件の変化の影響を受けにくい高性能な顔器官検出装置を実現することが望まれていた。
【0008】
【課題を解決するための手段】本発明は、前述の課題を解決するため次の構成を採用する。
〈構成1〉入力された顔画像から顔の中心線を算出する中心線算出手段と、中心線算出手段が算出した顔の中心線に基づいて、入力された顔画像から顔の肌の色を推定する顔色推定手段と、顔器官のテンプレートの生成規則を記憶するテンプレート作成用辞書と、テンプレート作成用辞書に記憶されている生成規則に対して、顔色推定手段が推定した顔色を適用して顔器官のテンプレートを作成するテンプレート作成手段と、テンプレート作成手段で作成したテンプレートと、入力された顔画像の画像中の領域とを比較して、最もテンプレートとの類似度が高い領域を入力画像中から見つけることにより、顔器官の位置検出を行うマッチング手段とを備えたことを特徴とする顔器官検出装置。
【0009】〈構成2〉構成1に記載の顔器官検出装置において、中心線算出手段は、顔の左右の対称性に基づいて中心線を算出することを特徴とする顔器官検出装置。
【0010】〈構成3〉構成1または2に記載の顔器官検出装置において、マッチング手段は、中心線算出手段の算出した顔の中心線情報に基づいて探索範囲を限定することを特徴とする顔器官検出装置。
【0011】
【発明の実施の形態】本発明は、入力画像から顔の肌の色を推定し、推定した肌色に基づいてテンプレートを作成する。そして、このようにして作成したテンプレートを用いてテンプレートマッチングを行う。従って、肌の色の変化による性能低下を防ぐことが可能である。以下、このような本発明の実施の形態を具体例を用いて詳細に説明する。
【0012】《具体例》
〈構成〉図1は本発明の顔器官検出装置の具体例を示す構成図である。図の装置は、画像記憶手段1、中心線算出手段2、顔色推定手段3、テンプレート作成用辞書4、テンプレート作成手段5、テンプレート記憶手段6、マッチング手段7からなる。
【0013】画像記憶手段1は、顔画像を記憶する手段である。顔画像の入力は、ビデオやVTR等の画像入力装置から得られた信号をA/D変換する構成、あるいはネットワーク等を介して画像データを得る構成となっている。この画像記憶手段1は、半導体メモリや磁気ディスク等の補助記憶装置から構成されている。
【0014】中心線算出手段2は、画像記憶手段1に記憶された画像データに基づいて、顔の中心線を算出する手段である。顔色推定手段3は、中心線算出手段2が算出した顔の中心線上の画素値に基づいて、入力画像中の顔の色を推定する機能を有している。
【0015】テンプレート作成用辞書4は、顔器官のテンプレートの生成規則を記憶しているテンプレート格納部であり、半導体メモリや磁気ディスク等の補助記憶装置から構成されている。テンプレート作成手段5は、テンプレート作成用辞書4に記憶されている生成規則に対して、顔色推定手段3が推定した顔色を適用して顔器官のテンプレートを作成する機能を有している。また、テンプレート記憶手段6は、このテンプレート作成手段5が生成したテンプレートを記憶する手段であり、半導体メモリや磁気ディスク等の補助記憶装置から構成されている。
【0016】マッチング手段7は、テンプレート作成手段5で作成したテンプレートと、画像記憶手段1に記憶されている入力画像中の領域とを比較して、最もテンプレートとの類似度が高い領域を入力画像中から見つけることにより、顔器官の位置検出を行う機能を有している。
【0017】尚、上記の中心線算出手段2、顔色推定手段3、テンプレート作成手段5およびマッチング手段7は、各機能に対応したプログラムと、これを実行するマイクロプロセッサによって実現されるか、あるいは専用演算ハードウェアによって構成されている。
【0018】〈動作〉以下、各機能部毎にその動作を説明する。
[画像記憶手段1の動作]先ず、画像記憶手段1に記憶された入力画像の幅と高さをW,Hとする(但し、画像の左上を(0,0)、右下を(W,H)とする)。また、座標(X,Y)に位置する画素の赤、緑、青成分はR(X,Y)、G(X,Y)、B(X,Y)という変数名で表す。尚、画像記憶手段1で記憶されたR,G,Bの値は、中心線算出手段2、顔色推定手段3、マッチング手段7で使用される。
【0019】[中心線算出手段2の動作]中心線算出手段2は、画像記憶手段1に記憶されたデータに基づいて、顔の中心線を算出する処理を行う。本処理では入力画像の中で最も左右の対称性が高いX座標を求める。
【0020】図2は、中心線算出処理の説明図である。中心線算出手段2は、図2の太線で示すように、入力画像に対して、X=aという直線を設定し、この直線を中心にして幅(CH×2)の矩形を考える。この矩形内で、X=aに対して線対称な画素の、画素値同士のRGB空間内での距離を求め、その距離の総和(dist)をX=aにおける対称性の目安とする。そして、このような処理をXの値をCHから(W−CH)まで変化させ、distが最小値を示すXを求める(図示例では、X=KXが結果となる)。また、領域の幅を示すCHの値は(W/2)よりも小さい値を設定し、この値は、入力画像に写っている顔の大きさや位置により適宜決定する。
【0021】次に、中心線算出手段2の動作をフローチャートに沿って更に説明する。図3は、中心線算出手段2の動作フローチャートである。先ず、図2で示したように、入力画像の幅をW、高さをHとする。よって、X座標およびY座標の範囲はそれぞれ0≦X≦W、0≦Y≦Hである。
【0022】最初に、ステップS101において、X座標を初期化(X=CH)する。次に、ステップS102において、Y座標の初期化を行い(Y=0)、かつ、左右対称性の計算結果を記憶する変数distの初期化も行う(dist=0)。
【0023】次にステップS103において、中心線との(X方向の)距離を表す変数iを初期化する(i=1)。そして、ステップS104では、中心線に対して線対称な座標(但し、中心線との距離をiとする)を求める。ここで、求めた座標値をそれぞれX0、X1とする。ステップS105では、座標(X0,Y)に位置する画素と、座標(X1,Y)に位置する画素がどれぐらい似通っているかを距離計算により求める。即ち、このステップS105では、それぞれの座標における赤、緑、青成分の値の差分の2乗を加算し、平方根をとっている。ここで求めた距離はdistに加算する。
【0024】ステップS106ではiの値を更新する(i=i+1)。次のステップS107では、iがCHを超えたかを判定する。もしiがCHを超えていない場合には、ステップS104に戻る。また、ステップS107で、iがCHを超えた場合はステップS108に処理を移す。
【0025】ステップS108ではYの値を更新する(Y=Y+1)。そして、ステップS109ではYがHを超えたかを判定する。このステップS109で、YがHを超えていない場合には、ステップS103に戻り、YがHを超えた場合はステップS110に処理を移す。このように、上記のステップS102〜ステップS109の一連の処理により、左右対称性distが求まる。即ち、distが小さいほど左右対称性が高い。
【0026】次に、ステップS110では、求めたdistが、それ以前に求めたdistの中で最も小さい値かを判定する。もし、最小値であった場合にはステップS111において現在のXを記憶する(KX=X)。一方、そのdistが最小値でなかった場合には、ステップS112に処理を移す。ステップS112ではXの更新を行う(X=X+1)。
【0027】そして、ステップS113において、Xが(W−CH)を超えたかを判定する。もし超えていない場合には、ステップS102に戻る。ここで、Xが(W−CH)を超えた場合にはステップS114に処理を移す。ステップS114では本処理の結果としてKXの値を出力する。即ち、X=KXが顔の中心線となる。
【0028】このように、中心線算出手段2は、顔の左右の対称性に基づいて中心線を算出するようにしたので、例えば、まばたき等により目が閉じている場合やサングラスをかけている場合であっても顔の中心線を正確に決定することができる。
【0029】[顔色推定手段3の動作]顔色推定手段3は、中心線算出手段2が算出した顔の中心線上の画素値に基づいて入力画像中の顔の色を推定する。本具体例では、中心線上の予め決められた範囲の画素値の平均により顔の色を求めている。
【0030】図4は顔色推定手段3の処理説明図である。図4に示すように、本具体例では、中心線算出手段2により求めた顔の中心線X=KX上の、Y=startY〜endYの範囲の画素を利用する。但し、startY,endYの値は、入力画像中の顔の大きさや位置等に応じて適宜決定するものとする。以下、顔色推定手段3の動作をフローチャートに沿って更に説明する。
【0031】図5は、顔色推定手段3の処理フローチャートである。先ず、画素値の合計を記憶する変数totalR、totalG、totalB、Nを初期化する(ステップS201)。尚、Nは画素数である。そして、YをstartYに設定し(ステップS202)、画素値の合計を記憶する変数totalR、totalG、totalBにそれぞれ、画素値R(KX,Y)、G(KX、Y)、B(KX,Y)の値を加算し、画素値Nを+1する(ステップS203)。
【0032】そして、Yの値を+1して(ステップS204)、ステップS203、S204の処理を、ステップS205においてY>endYの条件を満たすまで繰り返す。即ち、ステップS202〜ステップS205では、中心線上で予め設定した範囲の画素値の合計を求める。合計の値は、赤、緑、青それぞれtotalR、totalG、totalBに記憶される。また、画素の数はNに記憶される。
【0033】ステップS205において、Y>endYの条件を満たした場合は、画素値の合計の値totalR、totalG、totalBをそれぞれ画素の数Nで除算し、推定した顔の色とする(ステップS206)。推定した顔の色は赤、緑、青それぞれfaceR、faceG、faceBに記憶される。
【0034】[テンプレート作成用辞書4の説明]図6は、テンプレート作成用辞書4の一例を示す説明図である。図中、(a)に示すTDIC(x,y)は、テンプレート内の各画素の属性を示すものである。本具体例では、目のテンプレートであるから、0=肌、1=瞳、2=白目と定義している。更に、それぞれの番号が何色なのかを定義する色定義テーブルが、図中の(b)に示すよう構成されている。本具体例では、番号0は顔色推定手段3が推定した色、番号1は予め設定した色(dicR[1],dicG[1],dicB[1])であり、番号2は、予め設定した(dicR[2],dicG[2],dicB[2])を利用するよう定義している。尚、本具体例では、各番号に対して一つの色を割り当てているが、利用する環境に応じて複数の色を割り当てることも考えられる。
【0035】[テンプレート作成手段5の動作]テンプレート作成手段5は、テンプレート作成用辞書4および顔色推定手段3で推定した顔の色情報を用いて、テンプレートマッチング用のテンプレートを作成する。作成したテンプレートはTR(x,y)、TG(x,y)、TB(x,y)に記憶するものとする。
【0036】図7は、テンプレート作成手段5の動作フローチャートである。先ず、Yの値とXの値を初期化し(ステップS301、S302)、属性辞書TDIC(x,y)の値をチェックする(ステップS303)。ステップS303において、属性辞書TDIC(x,y)が0の場合、テンプレート中の座標(x,y)の画素値には顔色推定手段3の推定した顔の色(faceR,faceG,faceB)を代入する(ステップS305)。一方、ステップS303において、属性辞書TDIC(x,y)の値が0でない場合は、色定義テーブルに定義された色(dicR[no],dicG[no],dicB[no])を参照して画素値として代入する(ステップS304)。これらの処理を、幅TW、高さTHのテンプレート内の全ての画素について行って処理を終了する。
【0037】即ち、ステップS306においてXの値を+1し、ステップS307でXの値がテンプレートの幅TW以上であるかを調べ、X<TWであった場合はステップS303に戻る。一方、X≧TWであった場合は、Xの値を+1する(ステップS308)。そして、ステップS309でYの値がテンプレートの高さTH以上であるかを調べ、Y<THであった場合はステップS302に戻り、Y≧THであった場合は、テンプレート作成処理を終了する。
【0038】[テンプレート記憶手段6の処理]テンプレート記憶手段6はテンプレート作成手段5が生成したテンプレートの赤成分TR(x,y)、緑成分TG(x,y)、青成分TB(x,y)をそれぞれ記憶する。
【0039】[マッチング手段7の処理]マッチング手段7はテンプレート記憶手段6に記憶されたテンプレートと最もマッチする入力画像中の領域を見つけ出す処理である。但し、カメラと顔との距離が変動するため、テンプレートを予め定めた範囲で拡大縮小してマッチングを行う。更に、処理量を軽減するため、顔の中心線を基準にして探索範囲を制限している。
【0040】図8は、マッチング手段7の探索範囲の説明図である。図示のように、本具体例では、探索の範囲のX座標を(KX+SX)〜(KX+EX)に制限している。ここで、KXは中心線算出手段2が算出した顔の中心線のX座標、SX,EXは探索範囲を決定するパラメータである。また、Y方向の探索範囲はSY〜EYで表している。これらのSX,EX,SY,EYの値は、入力画像の大きさや探索する顔器官の種類などの利用環境に応じて適宜決定する。
【0041】次に、フローチャートを用いて更に説明する。図9および図10は、マッチング手段7の処理フローチャート(その1、その2)である。
【0042】図9に示すステップS401〜ステップS409は、探索する座標(x,y)および拡大縮小率Zを予め定めた範囲で変化させる処理である。本具体例では、X=(KX+SX)〜(KX+EX)(刻み幅stepX)、Y=SY〜EY(刻み幅stepY)、Z=startZ〜endZ(刻み幅stepZ)として処理を行っている。また、図10に示すステップS501〜ステップS511では、実際にテンプレートマッチングを行う処理である。
【0043】先ず、Yの値、Xの値および拡大縮小率Zを初期値とする(ステップS401、S402、S403)。そして、マッチング時の画素値同士のRGB空間での距離の総和distの初期化(ステップS501)、テンプレート内の座標NおよびMの初期化(ステップS502、S503)を行って、テンプレート内の座標(M,N)を入力画像中での座標(X1,Y1)に変換する(ステップS504)。
【0044】次に、テンプレートの座標(M,N)の画素のRGB値TR(M,N)、TG(M,N)、TB(M,N)と、入力画像中の座標(X1,Y1)の画素のRGB値R(X1,Y1)、G(X1,Y1)、B(X1,Y1)とのRGB空間内での距離を求め、その距離をdistに加算する(ステップS505)。
【0045】これらの処理をテンプレートの全ての画素について求めてdistに加算する。そして、全ての画素について処理が終了したら、distがこれまでの最小値かを判断する。即ち、ステップS506においてテンプレートの内の座標Mを+1し、ステップS507でMの値がテンプレートの幅TW以上であるかを調べ、M<TWであった場合はステップS504に戻る。一方、M≧TWであった場合は、Nの値を+1する(ステップS508)。そして、ステップS509でNの値がテンプレートの高さTH以上であるかを調べ、N<THであった場合はステップS503に戻り、Y≧THであった場合は、distがこれまでの最小値かを判断する(ステップS510)。
【0046】ここで、もし、distが最小値でない場合は何も処理を行わない。それに対して、distが最小値である場合は、その時のX,Y,ZをkeepX,keepY,keepZに代入する。これらの処理を設定した探索範囲に対して行って処理が終了した時点のkeepX,keepY,keepZが探索結果となる。
【0047】このようなステップS501〜ステップS511の処理を、拡大縮小率Zの値を刻み幅stepZでendZの値になるまで変化させ(ステップS404、S405)、また、Xの値を刻み幅stepXで(KX+EX)になるまで変化させ(ステップS406、S407)、更に、Yの値を刻み幅stepYでEYになるまで変化させる(ステップS408、S409)。そして、全ての処理が終了した時点のkeepX,keepY,keepZが探索結果となる。
【0048】つまり、テンプレートの左上を入力画像の座標(keepX,keepY)に合わせて、更にテンプレートをkeepZ倍拡大縮小した場合にテンプレートが最もマッチすることになる。
【0049】〈効果〉以上のように本具体例によれば、入力画像を用いて顔の色を推定し、推定した顔の色を用いてテンプレートを作成するようにしたので、照明の変化や人種等の肌の色の変化の影響を受けにくい高性能な顔器官検出装置を得ることができる。
【0050】更に、マッチング手段では顔の中心線を基準にして探索範囲を制限できるので処理量の削減が期待できる。
【0051】尚、上記具体例では、テンプレートの一例として目の場合を説明したが、これに限定されるものではなく、口や鼻等、顔器官であれば同様に適用可能である。また、顔色推定手段3では中心線上の直線を探査して顔の色を推定したが、X方向に幅を持たせて直線ではなく領域を仮定して顔の色を推定するようにしてもよい。
【図面の簡単な説明】
【図1】本発明の顔器官検出装置の具体例を示す構成図である。
【図2】本発明の顔器官検出装置における中心線算出処理の説明図である。
【図3】本発明の顔器官検出装置における中心線算出手段の動作フローチャートである。
【図4】本発明の顔器官検出装置における顔色推定手段の処理説明図である。
【図5】本発明の顔器官検出装置における顔色推定手段の動作フローチャートである。
【図6】本発明の顔器官検出装置におけるテンプレート作成用辞書の一例を示す説明図である。
【図7】本発明の顔器官検出装置におけるテンプレート作成手段の動作フローチャートである。
【図8】本発明の顔器官検出装置におけるマッチング手段の探索範囲の説明図である。
【図9】本発明の顔器官検出装置におけるマッチング手段の動作フローチャート(その1)である。
【図10】本発明の顔器官検出装置におけるマッチング手段の動作フローチャート(その2)である。
【符号の説明】
2 中心線算出手段
3 顔色推定手段
4 テンプレート作成用辞書
5 テンプレート作成手段
7 マッチング手段

【特許請求の範囲】
【請求項1】 入力された顔画像から顔の中心線を算出する中心線算出手段と、前記中心線算出手段が算出した顔の中心線に基づいて、入力された顔画像から顔の肌の色を推定する顔色推定手段と、顔器官のテンプレートの生成規則を記憶するテンプレート作成用辞書と、前記テンプレート作成用辞書に記憶されている生成規則に対して、前記顔色推定手段が推定した顔色を適用して顔器官のテンプレートを作成するテンプレート作成手段と、前記テンプレート作成手段で作成したテンプレートと、入力された顔画像の画像中の領域とを比較して、最も当該テンプレートとの類似度が高い領域を前記入力画像中から見つけることにより、顔器官の位置検出を行うマッチング手段とを備えたことを特徴とする顔器官検出装置。
【請求項2】 請求項1に記載の顔器官検出装置において、中心線算出手段は、顔の左右の対称性に基づいて中心線を算出することを特徴とする顔器官検出装置。
【請求項3】 請求項1または2に記載の顔器官検出装置において、マッチング手段は、中心線算出手段の算出した顔の中心線情報に基づいて探索範囲を限定することを特徴とする顔器官検出装置。

【図1】
image rotate


【図2】
image rotate


【図3】
image rotate


【図4】
image rotate


【図5】
image rotate


【図6】
image rotate


【図7】
image rotate


【図8】
image rotate


【図9】
image rotate


【図10】
image rotate


【公開番号】特開2000−235640(P2000−235640A)
【公開日】平成12年8月29日(2000.8.29)
【国際特許分類】
【出願番号】特願平11−35182
【出願日】平成11年2月15日(1999.2.15)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【Fターム(参考)】