(57)【特許請求の範囲】
【請求項１】
入力した画像から人物の顔領域を抽出する顔領域抽出手段と、
抽出された前記顔領域から評価値算出式を用いて表情評価値を算出する算出手段と、
算出された前記表情評価値に基づいて前記顔領域の示す表情を判定する判定手段と、
所定時間内に算出された前記表情評価値の変化量が所定値に満たない場合、当該変化量が拡大するように前記評価値算出式又はそのパラメータを変更する変更手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記変更手段は、前記表情評価値の最大値及び最小値が予め定められた値となるように、前記評価値算出式又はそのパラメータを変更することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
抽出された前記顔領域から、前記表情が第１の状態であるときと第２の状態であるときとの間で変化する所定の部分領域を抽出する部分領域抽出手段を更に備え、
前記算出手段は、抽出された前記部分領域に対して、前記第２の状態である可能性が高いほど高い値となり前記第１の状態である可能性が高いほど低い値となる評価値算出式を用いて前記表情評価値を算出し、
前記判定手段は、算出された前記表情評価値が閾値を超えたときに、前記表情は前記第２の状態であると判定することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記算出手段は、ニューロン出力値が前記第２の状態で高く前記第１の状態で低くなるようなニューラルネットワークを有し、前記評価値算出式は、前記部分領域の各画素のニューロン出力値のうち閾値Th1以上であるニューロン出力値の個数と前記表情評価値との関係を表すものであることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記部分領域の各画素のニューロン出力値のうち閾値Th1以上であるニューロン出力値の個数と前記表情評価値との関係は、双曲線正接関数で表されることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記変更手段は、前記パラメータとして閾値Th1を変更することを特徴とする請求項４に記載の画像処理装置。
【請求項７】
前記所定の部分領域は、瞳孔領域であり、
前記第１の状態は目を開いた状態であり、
前記第２の状態は目を閉じた状態である、
ことを特徴とする請求項３から６までのいずれか１項に記載の画像処理装置。
【請求項８】
顔領域抽出手段が、入力した画像から人物の顔領域を抽出する顔領域抽出ステップと、
算出手段が、抽出された前記顔領域から評価値算出式を用いて表情評価値を算出する算出ステップと、
判定手段が、算出された前記表情評価値に基づいて前記顔領域の示す表情を判定する判定ステップと、
変更手段が、所定時間内に算出された前記表情評価値の変化量が所定値に満たない場合、当該変化量が拡大するように前記評価値算出式又はそのパラメータを変更する変更ステップと、
を有することを特徴とする画像処理方法。
【請求項９】
請求項８に記載の画像処理方法をコンピュータに実行させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、プログラム、及び記憶媒体に関する。
【背景技術】
【０００２】
人間の表情の１つである眼の開閉状態を検出する技術が開発されている。例えば特許文献１に開示された技術では、入力画像に対して２値化処理を行い、２値化した画像から瞳孔に相当する黒色領域を抽出し、黒色領域の縦方向の連続画素数に基づいて眼の開閉状態を判定する。また、この技術では、黒色（黒眼）領域の縦方向連続画素数の最大値を複数の画像において参照し、縦方向連続画素数の最大値と最小値に基づき、瞬きの有無を判定する閾値を設定している。
【０００３】
また、特許文献２に開示された技術では、上瞼と下瞼のエッジを検出し、上下瞼エッジ間の距離から眼の開閉状態を判定する。
【０００４】
喜びや怒りなどの喜怒哀楽の表情を検出する技術も開発されている。例えば、特許文献３に開示された技術では、入力画像に対して２次元フーリエ変換をした後、所定の特徴ベクトルを生成する。そして、予め用意しておいた各表情毎の隠れマルコフモデルから、この特徴ベクトルを生成する確率を算出し、最大の確率を算出した隠れマルコフモデルに対応する表情を認識結果として出力する。
【０００５】
一方、対話相手、対話量、状況の違いに基づいて電子秘書の表出する表情と表情の大きさなどを調整する技術も開発されている。例えば、特許文献４に開示された技術は、対話相手、対話量、状況の違いに基づいて、予め記憶されている表出閾値集合の中から特定の表出閾値を読み出すか、あるいは、予め規定されたいくつかの変換式の中から特定の変換式を適用し、表出閾値をセットする。これにより、電子秘書の表情スタイルの設定や変更などを行う。
【０００６】
【特許文献１】特開平６−３２１５４号公報
【特許文献２】特開２０００−１３７７９２号公報
【特許文献３】特許第０２９６２５４９号明細書
【特許文献４】特開平７−１０４７７８号公報
【特許文献５】特開２０００−３００６５号公報
【特許文献６】特開２００３−３２３６２２号公報
【特許文献７】特開２００５−５６３８８号公報
【非特許文献１】P.Ekman and W.V.Friesen, Facial Action Coding System(FACS): Manual, Palo Alto:Consulting Psychologists Press, 1978。
【非特許文献２】"Rapid object detection using a Boosted Cascade of Simple Features", Proc. of IEEE Conf.CVPR,1,pp.511-518,2001。
【非特許文献３】Yann LeCun and Yoshua Bengio, "Convolutinal Networks for Images,Speech,and Time Series", The Handbook of Brain Theory and Neural Networks,pp255-258 1995。
【非特許文献４】石井健一郎, 上田修功, 前田英作,  村瀬洋 “わかりやすいパターン認識”, オーム社。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、顔面を構成する眼や口などの各パーツ形状や各パーツの動きは人物によって大きく異なる。例えば、上下瞼間の距離が比較的長い人物は、上下瞼間の距離変化量が大きいが、上下瞼間の距離が短い人物は、上下瞼間距離の変化量が小さい。
【０００８】
また、客観的に表情の動作を記述した非特許文献１では、表情の１つである喜び表情は、（１）頬を持ち上げる、（２）唇の端を引っ張りあげる、のように記載されているが、頬や唇の端の変化量も人物によって大きく異なる。
【０００９】
したがって、表情を判定する際に、すべての人物に対して同じパラメータ（例えば、閾値など）を用いてしまうと、例えば、上下瞼間の距離が小さい特定の人物に対しては、誤って常に眼を閉じている状態であると判定されてしまう可能性がある。また、例えば、眼や口などの各パーツの動きが小さい人物は、常に表情がないと判定されてしまう可能性がある。
【００１０】
本発明は上記の課題に鑑みてなされたものであり、表情認識処理において苦手とされる苦手被写体に対しても、高精度な表情認識を行うことを目的としている。
【課題を解決するための手段】
【００１１】
本発明の一側面によれば、入力した画像から人物の顔領域を抽出する顔領域抽出手段と、抽出された前記顔領域から評価値算出式を用いて表情評価値を算出する算出手段と、算出された前記表情評価値に基づいて前記顔領域の示す表情を判定する判定手段と、所定時間内に算出された前記表情評価値の変化量が所定値に満たない場合、当該変化量が拡大するように前記評価値算出式又はその係数を変更する変更手段とを有することを特徴とする画像処理装置が提供される。
【発明の効果】
【００１２】
本発明によれば、表情認識のしづらい被写体に対しても高精度な表情認識を行うことができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、本発明は以下の実施形態に限定されるものではなく、本発明の実施に有利な具体例を示すにすぎない。また、以下の実施形態の中で説明されている特徴の組み合わせの全てが本発明の課題解決手段として必須のものであるとは限らない。
【００１４】
（第１の実施形態）
図1は、本実施形態における画像処理装置の構成を示すブロック図である。
【００１５】
画像入力部1000は、画像信号を入力する。被写体検出部1001は、画像入力部1000より入力された画像信号から人物の顔の有無と顔がある場合にはその位置とを検出する。特徴抽出部1002は、被写体検出部1001で検出された人物の顔の位置と、画像入力部1000で生成された画像を用いて表情認識に必要な特徴を抽出する。表情評価値算出部1003は、特徴抽出部1002で抽出された表情認識に必要な特徴を用いて、各被写体毎の表情の種類と、各表情の度合いを表す表情評価値を算出する。表情判定部1004は、表情評価値算出部1003で算出された各被写体の表情評価値を用いて、各被写体の表情を判定する。表情評価値算出式・パラメータ変更部1005は、表情評価値算出部1003で算出される表情評価値に基づいて、表情評価値を算出する算出式又はその係数を変更する。
【００１６】
以下では、人物の表情の一つである目瞑りを例にとって、本実施形態を詳しく説明する。
【００１７】
画像入力部1000は、レンズ、ＣＭＯＳセンサやＣＣＤ等の撮像素子、Ａ／Ｄ変換器、画像処理回路などから構成された撮像装置により生成された画像信号を入力する。例えば、図2のような画像2200が入力される。
【００１８】
顔領域抽出手段としての被写体検出部1001は、画像入力部1000で入力された画像信号に対して人物の顔領域の位置を抽出する。これは例えば、多数の矩形のフィルタとIntegral Imageという技術を用いて顔の位置を検出する技術を用いる（非特許文献2）。顔の位置検出に用いる矩形フィルタの種類は、予め大量の顔画像と非顔画像を用意しておき、これらの画像をAdaBoostという学習手法を用いて学習することにより選択する。
【００１９】
また、被写体検出部1001では、顔の位置と左右眼領域の重心位置の３点を用いて、顔の大きさが所定のサイズで、かつ所定の向きとなるように画像の正規化処理を行う。左右眼領域の重心位置の検出方法としては、例えば次のような方法をとる。まず、各人物の顔の位置を基準として上方向に白眼、瞼、瞳孔等を含む眼探索領域を設定する。その後、設定された眼探索領域内で、上記の顔検出と同様に非特許文献2に開示されているような技術を用いて、左右の白眼、瞼、瞳孔等を含む眼領域の重心位置の検出を行う。矩形フィルタの選択方法でも、顔検出と同様に、予め目を大きく開けた画像、視線方向の異なる画像、目を閉じた画像など様々な目のパターン画像を用意し、学習することにより選択する。
【００２０】
したがって、ここでは目を開いた状態だけではなく、眼を閉じた状態の白眼、瞼、瞳孔等を含む領域の重心を検出することができる。顔の位置と左右眼領域の重心位置が検出されると、図2のように画像入力部1000で入力された画像2200から人物の顔領域の切り出し処理をする。そして、図2の正規化画像2201や2202のように、顔が所定のサイズ、所定の向きとなるようにアフィン変換を行い、正規化画像を得る。例えば、入力画像720×480[pixel]から顔領域を抽出し、人物の顔向きを正面向き、左右眼領域の重心位置間の距離を40[pixel]の正規化画像100×100[pixel]を得る。
【００２１】
また、入力画像中の人物の顔のサイズが小さい場合（例えば、左右眼領域の重心位置間距離が20[pixel]以下）や、顔の向きが所定範囲外の方向（例えば、正面向きを0°とした場合の30°以上）を向いている場合には処理を行わないようにするとよい。
【００２２】
部分領域抽出手段としての特徴抽出部1002では、被写体検出部1001で検出した左右眼領域の重心位置を用いて、更に部分領域としての瞳孔領域の抽出を行う。瞳孔領域の検出方法は、まず、被写体検出部1001で検出した左右眼領域の重心位置から左右夫々に対して瞳孔探索領域を設定する。次に、設定した瞳孔探索領域における画像の切り出しを行い、予め学習させておいたConvolutional Neural Network（非特許文献3参照、以下CNN）に投入する。
【００２３】
本実施形態で用いたCNNは図3のように入力層、中間層、出力層の3層構成である。学習において、まず、目を開いた状態（第１の状態）の瞳孔周辺領域である正解画像と、目を閉じた状態（第２の状態）の瞳孔周辺領域である非正解画像とを大量に用意する。
【００２４】
次に、図3のように入力層の入力に正解画像2250を与えた時に、図3の出力値画像2251のように出力層から出力される瞳孔領域に相当するニューロン値が高くなるように、ニューラルネットワーク内の特徴間の荷重係数を調整する。具体的には、最急降下法(非特許文献4参照)を用いて荷重係数を変更する。逆に、不正解画像を与えた時には出力層から出力される瞳孔領域に相当するニューロン値が低くなるように荷重係数を調整する。
【００２５】
このような学習を繰り返し行うことで、図3のように眼を開いた画像を入力すると、出力層では瞳孔領域に相当するニューロン領域の値だけが高く、その他は低くなる。なお、ここでの1つのニューロン出力値は、画像の1画素に相当している。
【００２６】
なお、本実施形態ではCNNは図3のように3階層としたが、本発明はこれに限定されるものではない。また、CNN以外の技術を用いて瞳孔領域に相当する特徴を検出するようにしても良い。
【００２７】
算出手段としての表情評価値算出部1003では、特徴抽出部1002で抽出した瞳孔領域に相当するニューロン値を閾値Th1と比較する。そして、閾値Th1以上のニューロン出力値の個数cをカウントし、この個数cを用いて目瞑りの度合いである表情評価値Exp1を算出する。例えば、特徴抽出部1002で抽出したニューロン出力値が0〜255の間に分布している場合には、例えば図4のように閾値Th1を200に設定し、閾値Th1以上のニューロン出力値の個数cをカウントする。そして、図5のような特性を表す表情評価値算出式を用いて表情評価値Exp1(0-255)を算出する。この表情評価値Exp1は、値が高ければ高いほど目を瞑っている可能性が高いことを示している。図5は、瞳孔領域の各画素のニューロン出力値のうち閾値Th1以上であるニューロン出力値の個数と表情評価値との関係を表すものである。この表情評価値特性は例えば双曲線正接関数で表すことができ、具体的には、表情評価値算出式は次式で表される。
【００２８】
Exp1＝A0(tanh(-B0*(c-C0))+D0)
ただし、A0, B0, C0, D0は定数
【００２９】
図６は、人が瞬きをした期間における表情評価値Exp1の時系列変化の例を示している。図示のように、目を開けている時は表情評価値Exp1は低く、目を閉じると表情評価値Exp1が高くなり、再び目を開けると表情評価値Exp1は低い値に戻る。そこで、判定手段としての表情判定部1004では、目瞑りの度合いを示す表情評価値Exp1を閾値Th2と比較することにより、目を開いている状態か目を瞑っている状態かの２値判定を行う。ここでは例えば、閾値Th2を210とする。つまり、表情評価値が閾値Th2以下である、すなわち、Exp1≦210であるならば、目を開いている（第１の状態）と判定する。一方、表情評価値が閾値Th2を超えている、すなわち、Exp1＞210ならば、目を閉じている（第２の状態）と判定する。
【００３０】
変更手段としての表情評価値算出式・パラメータ変更部1005では、所定時間t1[s]内に算出される表情評価値Exp1の最大値が255、最小値が0となるように、表情評価値算出式を変更するか、あるいは、表情評価値算出式の係数を変更する。なお、本実施形態では最大値を255、最小値を0としているが、これに限られるわけではない。
【００３１】
特徴抽出部1002で用いているCNNは瞳孔領域を検出するように学習しているため、瞳孔領域の出現が大きければ大きいほど、CNNのニューロン出力値及び出力領域が大きくなる。よって、図7の2300のように平均的な上下瞼間距離を持つ人物では、目を閉じた場合と目を開いた場合のCNNのニューロン出力値及び出力領域の変化量は比較的大きくなる。したがって、表情評価値Exp1の時系列変化は図6のようになり、閾値Th2により目瞑りを正しく判定できる。
【００３２】
しかし、図7の2301のように元々上下瞼間距離が短い細眼の人物では、眼を閉じた場合と眼を開いた場合のCNNのニューロン出力値及び出力領域の変化量は小さくなる。よって、図8のように、ニューロン数cの最大値はcmax1、最小値はcmin1となり、表情評価値Exp1が狭い幅2305内でしか算出されず、表情評価値Exp1の時系列変化は図9のようになる。その結果、実際には目瞑りではないにもかかわらず、目瞑りであると誤って検出されることが頻繁に発生する。これは、検出する特徴として瞳孔領域の面積を用いることに限らず、上下瞼間の距離を用いた目瞑り判定でも同様のことが言える。また、細眼の人物だけでなく、瞳孔の色が異なることによって瞳孔領域が検出しにくい人物に対しても同様のことが言える。
【００３３】
そこで、表情評価値算出式・パラメータ変更部1005では、表情評価値Exp1の最大値と最小値との差が所定値に満たない場合、当該差が拡大するように表情評価値算出式又はその係数を変更する。具体的には、例えば、所定時間t1[s]内に算出される表情評価値Exp1の最大値が255、最小値が0となるように、表情評価値算出式を変更するか、表情評価値算出式の係数を変更する。これにより、目瞑り判定の苦手被写体に対して、より高精度な検出を行う。なお、所定時間t1[s]は、瞬きが行われるのに十分な時間とする。一般的には、人間の瞬きの回数は3秒から10秒に１回と言われているので、例えば、所定時間t1=20[s]とする。
【００３４】
表情評価値算出式の係数の変更方法は、例えば次のとおりである。まず、所定時間t1[s]内で表情評価値Exp1の最小値Exp1min及び最大値Exp1max、ニューロン出力値の最小個数cmin及び最大個数cmaxを求める。次に、これらの値と予め用意しておいたテーブルを用いて表情評価値算出式の係数を決定し、例えば、図10のような特性を表す表情評価値算出式に変更する。
【００３５】
また、表情評価値算出式の係数を変更するかわりに、表情評価値算出式自体を変更する場合には、図11に示されるような線形関数を用いるようにしても良い。
【００３６】
図12は、表情評価値算出式の係数を変更する処理フローチャートである。
【００３７】
ステップS2600では、予め設定しておいた所定時間t1[s]が経過しているか判断する。例えば、t1=20[s]とする。ステップS2600で所定時間t1[s]経過していないと判断されれば、ステップS2603へ進む。ステップS2603では、表情評価値Exp1の最大・最小値と、夫々について閾値Th1以上のニューロン出力値の個数cを記憶した後、ステップS2600へ戻る。
【００３８】
一方、ステップS2600で所定時間t1[s]経過したと判断されれば、ステップS2601へ進む。ステップS2601では、所定時間t1[s]内での表情評価値Exp1の最大値が255、最小値が0であるかどうかを判断する。ステップS2601で表情評価値Exp1の最大値が255、最小値が0でないと判断されれば、ステップS2602へ進む。
【００３９】
ステップS2602では、予め用意しておいたテーブルを用いて表情評価値算出式の係数を変更して、処理を終了する。ステップS2601で表情評価値Exp1の最大値が255、最小値が0であると判断された場合には、そのまま処理を終了する。
【００４０】
なお、以上の処理は、複数人物の夫々に対して行うことが好ましい。
【００４１】
以上のように、表情評価値算出式またはその係数を変更することによって表情評価値の変化量を大きくすることで、苦手被写体に対してもより高精度に目瞑りを検出することができる。
【００４２】
（第２の実施形態）
図13は、第2の実施形態における画像処理装置の構成を示すブロック図である。
【００４３】
画像入力部3000は、画像信号を入力する。被写体検出部3001は、画像入力部3000より入力された画像信号から人物の顔の有無と顔がある場合にはその位置とを検出する。特徴抽出部3002は、被写体検出部3001で検出された人物の顔の位置と、画像入力部3000で生成された画像を用いて表情認識に必要な特徴を抽出する。表情評価値算出部3003は、特徴抽出部3002で抽出された表情認識に必要な特徴を用いて、各被写体毎の表情の種類と、各表情の度合いを表す表情評価値を算出する。表情判定部3004は、表情評価値算出部3003で算出された各被写体の表情評価値を用いて、各被写体の表情を判定する。特徴抽出結果閾値変更部3005は、表情評価値算出部3003で算出される表情評価値に基づいて、特徴抽出部3002で抽出された特徴に用いられる閾値を変更する。
【００４４】
以下では、第１の実施形態と同様、人物の表情の一つである目瞑りを例にとって、本実施形態を詳しく説明する。
【００４５】
画像入力部3000〜表情判定部3004までは第1の実施形態の画像入力部1000〜表情判定部1004と同様の処理を行うので説明を省略する。
【００４６】
特徴抽出結果閾値変更部3005では、第1の実施形態と同様に表情評価値Exp1の最大値が255、最小値が0となるようにCNNのニューロン出力値の閾値Th1を変更する。例えば、図14のように閾値Th1を200から150に変更する。第1の実施形態でも説明したように、上下瞼間距離が比較的短い人物では、出現する瞳孔の領域が小さくなるため、CNNから得られるニューロン出力値が小さくなる傾向がある。よって、上下瞼間距離が比較的短い人物など、CNNから得られるニューロン出力値が全体的に小さい人物に対しては、閾値Th1も小さくする。具体的な閾値Th1の変更方法は、所定時間t1[s]内でのニューロン出力値の最大値Numaxを算出し、最大値Numax×0.8のニューロン出力値を閾値Th1に設定する。例えば、所定時間t1[s]内でのニューロン出力値の最大値が200である場合には、閾値Th1を160に設定する。
【００４７】
図15は、CNNの出力層から出力されるニューロン値の閾値Th1、表情評価値算出式、表情評価値算出式の係数を変更するフローチャートを示している。
【００４８】
ステップS3100では、所定時間t1[s]経過したかどうか判断する。ステップS3100で所定時間t1[s]経過していないと判断されれば、ステップS3103へ進む。ステップS3103では、表情評価値Exp1とCNNから出力されるニューロン出力値を記憶する。ステップS3100で所定時間t1[s]経過したと判断されれば、ステップS3101へ進む。
【００４９】
ステップS3101では、所定時間t1[s]内の表情評価値Exp1の最大値が255、最小値が0であるか判断し、最大値が255、最小値が0でないと判断されるとステップS3102へ進む。ステップS3102では、上記説明したような方法で閾値Th1をTh1'に変更した後、ステップS3104へ進む。
【００５０】
ステップS3104では、再度、ステップS3102で変更した閾値Th1’を用いて所定時間t1[s]までの表情評価値Exp1の最大値と最小値を算出し、最大値が255、最小値が0であるかどうか判断する。ステップS3104で、所定時間t1[s]内の表情評価値Exp1の最大値が255、最小値が0でないと判断されるとステップS3105へ進む。
【００５１】
ステップS3105では、第1の実施形態と同じような方法を用いて、所定時間t1[s]内の表情評価値Exp1の最大値が255、最小値が0となるように表情評価値算出式又は表情評価値算出式の係数の変更を行う。
【００５２】
ステップS3101、ステップS3104で、所定時間t1[s]内の表情評価値Exp1の最大値が255、最小値が0であると判断された場合は、そのまま処理を終了する。
【００５３】
以上のように、CNNのニューロン出力値の閾値Th1を変更することによって、表情評価値の変化量を大きくし、苦手被写体に対してもより高精度に目瞑りを検出することができる。
【００５４】
（第３の実施形態）
図16は第3の実施形態に係る撮像装置の構成を示すブロック図である。
【００５５】
図16において、5000は撮像レンズ群、5001は絞り装置及びシャッタ装置を備えた光量調節装置である。5002は撮像レンズ群を通過した被写体像としての光束を電気信号に変換するＣＣＤやＣＭＯＳ等の撮像素子である。
【００５６】
5003は撮像素子5002のアナログ信号出力にクランプ処理、ゲイン処理等を行うアナログ信号処理回路である。5004はアナログ信号処理回路5003の出力をデジタル信号に変換するアナログ／デジタル（以下、Ａ／Ｄとする）変換器である。
【００５７】
5005は画像信処理回路であり、Ａ／Ｄ変換器5004からのデータ或いはメモリ制御回路5006からのデータに対して所定の画素補間処理や色変換処理を行う。また、この画像処理回路5005は、撮像した画像データを用いて所定の演算を行う。
【００５８】
システム制御回路5009はこの演算結果に基づいて露出制御回路5011、焦点制御回路5010に対する制御を実行するＴＴＬ方式のＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＥＦ（ストロボプリ発光）処理などを行う。
【００５９】
また、画像処理回路5005は、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてＴＴＬ方式のＡＷＢ（オートホワイトバランス）処理も行っている。更に、その撮像した画像データから、人物の顔検出処理、個人認証処理、表情認識処理なども実行している。顔検出処理、個人認証処理、表情認識処理など所定の画像処理に使用するデータなどは、画像処理回路5005のメモリに記憶されている。
【００６０】
メモリ制御回路5006は、アナログ信号処理回路5003、Ａ／Ｄ変換器5004、画像処理回路5005、メモリ5007、デジタル／アナログ（以下、Ｄ／Ａとする）変換器5012を制御する。これにより、Ａ／Ｄ変換器5004でＡ／Ｄ変換されたデータは画像処理回路5005、メモリ制御回路5006を介して、或いはＡ／Ｄ変換器5004でＡ／Ｄ変換されたデータが直接メモリ制御回路5006を介して、メモリ5007に書き込まれる。
【００６１】
メモリ5007は表示装置5013に表示するデータを記憶しており、このメモリ5007に記録されているデータはＤ／Ａ変換器5012を介してＴＦＴ、ＬＣＤ等の表示装置5013に出力されて表示される。また、メモリ5007は、撮像した静止画象や動画像を格納し、所定枚数の静止画像や所定時間分の動画像を格納するのに十分な記憶容量を備えている。これにより、複数枚の静止画像を連続して撮像する連写撮影やパノラマ撮影の場合にも、高速かつ大量の画像書き込みをメモリ5007に対して行うことが可能となる。また、このメモリ5007はシステム制御回路5009の作業領域としても使用することが可能である。
【００６２】
表示装置5013は、撮像した画像データを逐次表示すれば電子ファインダとしての機能を実現できる。また表示装置5013は、システム制御回路5009の指示により任意に表示をオン／オフすることが可能であり、表示をオフにした場合は、オンにした場合に比較して、撮像装置の電力消費を大幅に低減できる。また、システム制御回路5009でのプログラムの実行に応じて、文字、画像等を用いて動作状態やメッセージ等を表示する。
【００６３】
5008はメモリカードやハードディスク等の記憶媒体とのインタフェースである。このインタフェース5008を用いて、他のコンピュータやプリンタ等の周辺機器との間で画像データや画像データに付属した管理情報を転送し合うことができる。このインタフェース5008をＰＣＭＣＩＡカードやＣＦ（コンパクトフラッシュ（登録商標））カード等の規格に準拠したものを用いて構成した場合、各種通信カードを接続すればよい。この各種通信カードとしては、ＬＡＮカードやモデムカード、ＵＳＢカード、ＩＥＥＥ１３９４カード、Ｐ１２８４カード、ＳＣＳＩカード、ＰＨＳ等の通信カード、等があげられる。
【００６４】
システム制御回路5009は撮像装置全体の動作を制御している。システム制御回路5009のメモリに、このシステム制御回路5009の動作用の定数、変数、プログラム等を記憶している。
【００６５】
露出制御回路5011は、光量調節装置5001の絞り装置、シャッタ装置を制御する。焦点制御回路5010は撮像レンズ群5000のフォーカシング、ズーミングを制御する。露出制御回路5011、焦点制御回路5010はＴＴＬ方式を用いて制御されている。システム制御回路5009は、撮像した画像データを画像処理回路5005によって演算した演算結果に基づき、露出制御回路5011、焦点制御回路5010に対して制御を行う。
【００６６】
図17のフローチャートを参照して、本実施形態に係る撮像装置の動作を説明する。この処理は、電源投入などにより開始される。まず、ステップＳ5500で、システム制御回路5009は、内部のメモリの各種フラグや制御変数等を初期化する。ステップＳ5501でシステム制御回路5009は撮像装置のモード設定状態を検知し、その他のモードに設定されていればステップＳ5502に進む。ステップＳ5502では、システム制御回路5009は選択されたモードに応じた処理を実行し、その処理を終えるとステップＳ5501に戻る。ここでは、撮影のトリガーとなる表情なども設定することができる。本実施形態では表情のうち、笑顔表情を選択する。
【００６７】
システム制御回路5009は、ステップＳ5501で自動撮影モードが設定されている場合は、ステップＳ5503に進み、電源の残容量や動作情況が撮像装置の動作に問題があるか否かを判断する。システム制御回路5009は、問題があると判断するとステップＳ5504に進み、表示装置5013を用いて、画像や音声により所定の警告表示を行い、その後、ステップＳ5501に戻る。
【００６８】
ステップＳ5503で、システム制御回路5009は電源に問題が無いと判断するとステップＳ5505に進む。ステップＳ5505では、システム制御回路5009は記憶媒体の動作状態が撮像装置の動作、特に記憶媒体に対する画像データの記録再生動作に問題があるか否かを判断する。システム制御回路5009は問題があると判断すると前述のステップＳ5504に進み、表示装置5013を用いて、画像や音声により所定の警告表示を行った後にステップＳ5501に戻る。
【００６９】
システム制御回路5009はステップＳ5505で記憶媒体に問題がないと判断するとステップＳ5506に進む。ステップＳ5506では、システム制御回路5009は表示装置5013を用いて、画像や音声により撮像装置の各種設定状態のユーザインタフェース（以下、ＵＩとする）表示を行う。尚、表示装置5013の画像表示がオンであったならば、表示装置5013も用いて画像や音声により撮像装置の各種設定状態のＵＩ表示を行ってもよい。こうしてユーザによる各種設定がなされる。
【００７０】
次にステップＳ5507で、システム制御回路5009は表示装置5013の画像表示をオン状態に設定する。更に、ステップＳ5508で、システム制御回路5009は撮像した画像データを逐次表示するスルー表示状態に設定する。このスルー表示状態では、メモリ5007に逐次書き込まれたデータを表示装置5013により逐次表示することにより、電子ファインダ機能を実現している。
【００７１】
ステップＳ5009では、撮影者などのユーザによってシャッタースイッチが押されたかどうか判定される。シャッタースイッチを押していないならば、ステップＳ5501に戻る。シャッタースイッチを押したならば、システム制御回路5009は、ステップＳ5510で顔検出処理を実行する。顔検出処理は第1の実施形態と同様な処理を行うことによって実現される。
【００７２】
ステップＳ5511では、ステップＳ5510で検出された顔に合わせてAE・AFを行う。ステップＳ5512では、ステップＳ5509でスイッチがONされてからの経過時間の測定を開始する。
【００７３】
ステップＳ5513では、撮像した画像データだけでなく、ステップＳ5510で検出された顔の位置も表示装置5013で表示する。
【００７４】
ステップＳ5514ではステップＳ5510で検出された夫々の顔毎に個人認証を行う。個人認証技術は、例えば、特許文献5のように相互部分空間法を用いる方法や特許文献6のように顔領域を複数の部分領域に分割し、各部分領域毎に比較を行う方法などがある。本実施形態では、特許文献6の顔領域を複数の部分領域に分割する方法を用いる。なお、認証に用いる画像は予め登録しておかなくとも、撮影直前に登録するようにしても良い。個人認証方法は本実施形態に記載の方法に限定されるわけではない。
【００７５】
ステップＳ5515では、ステップＳ5514で認証された特定の人物に対してのみ笑顔表情の認識処理を行う。笑顔表情の認識処理は、特許文献7のように予め用意しておいた無表情データとの差分により認識する手法を用いる。なお、表情認識方法は、本実施形態に記載の方法に限定されるわけではない。
【００７６】
ステップＳ5516では、所定の撮影条件であるかどうか判定する。例えば、ステップＳ5501で笑顔撮影モードが選択されていたならば、ステップＳ5515で判定された表情が笑顔かどうか判定される。ステップＳ5516で所定の撮影条件、つまり画像内の所定人物の表情が笑顔であると判定されたならば、ステップＳ5517へ進む。
【００７７】
ステップＳ5517では、撮影が行われ、ステップＳ5518では撮影された画像が表示装置5013に表示される。ステップＳ5519では撮影された画像がIF5008を通して、例えば、ＣＦ（コンパクトフラッシュ）などに記憶される。
【００７８】
なお、ＣＦ（コンパクトフラッシュ）に撮影画像を記憶する際、撮影画像に画像サイズなどの情報に加えて、表情認識処理に用いたパラメータ（表情判定閾値など）、表情認識結果、個人認証IDなどを記録しておく。例えば、Exif情報に表情認識処理に用いたパラメータ（表情判定閾値など）や個人認証IDなど記録しておく。このように表情認識処理に用いたパラメータ、表情認識結果、個人認証IDなども撮影画像に記録しておくことによって、例えば、ハードディスクに記憶されている大量の画像の中から人物Aで、かつ特定表情の画像を高速に検索することができる。また、表情認識結果が記録されていない画像に対しては、同一人物で表情認識に用いたパラメータが記録されている画像を優先的に検索した後、記録されているパラメータを用いて表情認識結果が記録されていない画像に対して表情認識を行うこともできる。
【００７９】
ステップＳ5516で所定の撮影条件ではないと判定された場合にはステップＳ5521へ進む。ステップＳ5521ではステップＳ5512でタイマー動作を開始してから所定時間t2[s]経過したかどうかを確認する。ステップＳ5521で所定時間t2[s]経過したと確認されたならば、ステップＳ5522へ進む。なお、所定時間t2[s]は、予め各個人毎や各表情毎に設定するようにしても良い。ステップＳ5522では撮影動作が行われたかどうか確認する。
【００８０】
ステップＳ5522で撮影動作が一度も行われなかった場合には現在の表情判定閾値は最適ではないと判定し、ステップＳ5523へ進む。ステップＳ5523では、表情判定閾値をTh3からTh3'に変更し、ステップＳ5520へ進む。
【００８１】
ステップＳ5501において、ユーザが笑顔撮影モードを選択した場合には、ステップＳ5509でスイッチをOnした後、所定時間内に1度は被写体が笑顔となる可能性が高い。よって、表情判定閾値Th3からTh3'への変更方法は、例えば、図18のように、ある一定時間内の表情評価値Exp2の最大値Exp2maxと最小値Exp2minを算出し、最大値Exp2maxを表情判定閾値Th3'と設定する。
【００８２】
なお、目瞑り表情の場合にも、一般的には人間の瞬きの回数は3秒から10秒に１回と言われているので、所定時間t2=20[s]とした場合には最低でも2回、目瞑りであると判定されるように閾値Th3を設定するようにすれば良い。
【００８３】
また、更に高精度な表情認識を行うために、第1の実施形態や第2の実施形態で説明したように、表情評価値算出式、表情評価値算出式の係数、特徴抽出の時に用いる閾値などを変更するようにしても良い。
【００８４】
ステップＳ5521で、ステップＳ5512でタイマー動作を開始してから所定時間t2[s]経過していないと判定された場合は、ステップＳ5520へ進む。同様に、ステップＳ5522で撮影動作が行われた回数が所定回数以上、所定回数以下であると判定された場合にも、ステップＳ5520へ進む。
【００８５】
ステップＳ5520で自動撮影が終了であれば、処理を終了し、そうでなければステップＳ5524へ進む。ステップＳ5524では次のフレーム画像に対して再度顔検出処理を行った後、ステップＳ5514の個人認証処理に進む。
【００８６】
以上のように、表情判定閾値を変更することによって眼や口など顔面パーツの形状変化の小さい人物などに対しても表情検出が可能となる。
【００８７】
（他の実施形態）
以上、本発明の実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００８８】
なお、本発明は、前述した実施形態の各機能を実現するプログラムを、システム又は装置に直接又は遠隔から供給し、そのシステム又は装置に含まれるコンピュータがその供給されたプログラムコードを読み出して実行することによっても達成される。
【００８９】
したがって、本発明の機能・処理をコンピュータで実現するために、そのコンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するためのコンピュータプログラム自体も本発明の一つである。
【００９０】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００９１】
プログラムを供給するためのコンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、記録媒体としては、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【００９２】
また、プログラムは、クライアントコンピュータのブラウザを用いてインターネットのホームページからダウンロードしてもよい。すなわち、ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードしてもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードする形態も考えられる。つまり、本発明の機能・処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明の構成要件となる場合がある。
【００９３】
また、本発明のプログラムを暗号化してコンピュータ読み取り可能なＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記憶媒体に格納してユーザに配布してもよい。この場合、所定条件をクリアしたユーザにのみ、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報で暗号化されたプログラムを復号して実行し、プログラムをコンピュータにインストールしてもよい。
【００９４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現されてもよい。なお、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行ってもよい。もちろん、この場合も、前述した実施形態の機能が実現され得る。
【００９５】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行ってもよい。このようにして、前述した実施形態の機能が実現されることもある。
【図面の簡単な説明】
【００９６】
【図１】第1の実施形態における画像処理装置の構成を示すブロック図である。
【図２】入力画像及び正規化処理後の画像の例を示す図である。
【図３】瞳孔領域を検出するConvolutinal Neural Network(CNN)を説明する図である。
【図４】CNNのニューロン出力値ヒストグラムの例を示す図である。
【図５】表情評価値の特性を例示する図である。
【図６】表情評価値の閾値処理を説明する図である。
【図７】上下瞼間の距離が長い人と短い人の眼を示す図である。
【図８】、
【図９】目瞑りの誤検出を説明する図である。
【図１０】図８の特性の表情評価値算出式の係数を変更した場合の表情評価値特性の例を示す図である。
【図１１】図８の表情評価値特性に対して変更された線形特性を有する表情評価値特性の例を示す図である。
【図１２】第１の実施形態における表情評価値算出式の係数の変更処理を示すフローチャートである。
【図１３】第２の実施形態における画像処理装置の構成を示すブロック図である。
【図１４】第２の実施形態におけるニューロン出力値に対する閾値の変更を説明する図である。
【図１５】第２の実施形態における閾値変更処理に係るフローチャートである。
【図１６】第３の実施形態に係る撮像装置の構成を示すブロック図である。
【図１７】第３の実施形態に係る撮像装置の動作を示すフローチャートである。
【図１８】第３の実施形態における表情評価値に対する閾値の変更を説明する図である
【符号の説明】
【００９７】
1000：画像入力部
1001：被写体検出部
1002：特徴抽出部
1003：表情評価値算出部
1004：表情判定部
1005：表情評価値算出式・パラメータ変更部
【図１】
0004974788.tif 000002
【図２】
0004974788.tif 000003
【図３】
0004974788.tif 000004
【図４】
0004974788.tif 000005
【図５】
0004974788.tif 000006
【図６】
0004974788.tif 000007
【図７】
0004974788.tif 000008
【図８】
0004974788.tif 000009
【図９】
0004974788.tif 000010
【図１０】
0004974788.tif 000011
【図１１】
0004974788.tif 000012
【図１２】
0004974788.tif 000013
【図１３】
0004974788.tif 000014
【図１４】
0004974788.tif 000015
【図１５】
0004974788.tif 000016
【図１６】
0004974788.tif 000017
【図１７】
0004974788.tif 000018
【図１８】
0004974788.tif 000019