(57)【特許請求の範囲】
【請求項１】
顔を含む画像データを入力する入力手段と、
前記画像データを低解像度に変換する変換手段と、
前記変換手段により変換された低解像度の画像データより前記顔の特定箇所の位置を検出する第１の検出手段と、
検出された前記特定箇所の位置に基づいて前記入力手段より入力された画像データに領域を設定する設定手段と、
設定された前記領域より前記顔の特徴点を検出する第２の検出手段と、
検出された前記特徴点に基づいて前記顔の表情を判定する判定手段とを備え、
前記第２の検出手段は前記第１の検出手段よりも検出精度が高く、前記第１の検出手段は前記第２の検出手段よりも変動に頑健であることを特徴とする情報処理装置。
【請求項２】
所定の表情における顔の画像データを記憶する記憶手段を更に備え、
前記判定手段は、
入力された前記画像データにおける前記特徴点を用いて算出される第１の特徴量と、前記記憶手段に記憶された画像データにおける前記特徴点を用いて算出される第２の特徴量と、の差分もしくは比に基づいて前記表情を判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段は前記特徴量に予め設定された重み付け値を乗じた上で前記判定を行うことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
入力された前記画像データは複数のフレームから構成された動画像に係るものであり、
前記第１の検出手段は、前記フレームのそれぞれについて前記顔の特定箇所の位置を検出し、
前記第２の検出手段は前記フレームのそれぞれにおいて前記顔の特徴点を探索し、
前記判定手段は、互いに隣接する前記フレームにおける前記特徴点の変動に基づいて前記顔の表情の変化を判定する請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
入力された前記画像データに対して、低輝度領域の階調を強調するように輝度補正を行う補正手段を更に備えることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記特定箇所は、顔領域の重心、目領域の重心、口領域の重心、鼻孔重心位置、鼻エッジ、肌色領域の重心の少なくともいずれかであることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記特徴点は、鼻孔重心、鼻エッジの重心、眉毛の端点、眉毛の上下特徴点、眉毛の中点、目の端点、目の上下特徴点、口の端点、口の上下特徴点、の少なくともいずれかであることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記特徴量は、眉毛の形状、左右眉毛間の距離、眉毛と眼の間の距離、眼の端点と口端点の距離、鼻孔重心と口端点の距離、鼻エッジと口端点の距離、顔領域重心と口端点の距離、眼端点間距離、眼領域の上下間距離、口端点間距離、口領域の上下間距離、額及び眉間領域のシワ、左右頬領域のシワ、の少なくともいずれかを含むことを特徴とする請求項２または３に記載の情報処理装置。
【請求項９】
前記特徴点は、前記特定箇所を基準とする相対座標として表現されることを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記判定手段は、入力された前記画像データにおける前記特徴点もしくは前記特定箇所の配置に基づいて、該特徴点の位置を補正し、当該位置が補正された前記特徴点に基づいて前記判定を行うことを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記判定手段において所定の表情に判定された場合、入力された前記画像データを保持する保持手段を更に備えることを特徴とする請求項１乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記判定手段において所定の表情に判定された場合、入力された前記画像データを表示する表示手段を更に備えることを特徴とする請求項１乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
顔を含む画像データを処理する情報処理装置の制御方法であって、
顔を含む画像データを入力する入力工程と、
前記画像データを低解像度に変換する変換工程と、
前記変換工程で変換された低解像度の画像データより前記顔の特定箇所の位置を検出する第１の検出工程と、
検出された前記特定箇所の位置に基づいて前記入力工程で入力された画像データに領域を設定する設定工程と、
設定された前記領域より前記顔の特徴点を検出する第２の検出工程と、
検出された前記特徴点に基づいて前記顔の表情を判定する判定工程とを備え、
前記第２の検出工程は前記第１の検出工程よりも検出精度が高く、前記第１の検出工程は前記第２の検出工程よりも変動に頑健であることを特徴とする情報処理装置の制御方法。
【請求項１４】
コンピュータを、請求項１乃至１２のいずれかに記載の情報処理装置として機能させるためのコンピュータプログラム。
【請求項１５】
請求項１４に記載のコンピュータプログラムを格納したコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像認識技術に関する。
【背景技術】
【０００２】
従来より、顔の撮像画像に係る画像データを解析し、解析結果から撮像画像における認識対象の目の領域を認識する技術が知られている。
【０００３】
特許文献１には顔画像の処理技術が開示されている。これは、低輝度値を抽出するフィルタを用いて低輝度値のみを抽出し、２値化した後、２値化画像の重心を算出し、この重心位置を顔の重心位置とする。そして、この重心位置を基準として目存在領域の設定を行い、この存在領域内で１つ以上の目存在候補領域の設定を行い、この候補領域から目領域を判定している。
【特許文献１】特許第３４５２６８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された顔画像の処理技術は、顔の検出を行っているわけではないので、背景などが存在する場合には重心を算出した際に、顔重心位置が真の位置と全く異なった位置に認識される場合がある。この時、目領域を正しく設定することができない。また、特許文献１に開示された技術においては、領域を設定する際には、被写体の顔のサイズによって設定領域を限定しているわけではなく、あらかじめカメラと被写体の距離を測定しておき、この測定された距離に基づいて目領域設定を行っている。このため、任意の顔のサイズに対して正しく領域設定を行うことができない場合がある。更に、回転などの変動が生じた場合にも同様に正しく領域設定を行うことができない場合がある。
【０００５】
本発明は上記問題に鑑みなされたものであり、多様な撮像条件においても高い精度で顔の認識を行う技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明による情報処理装置は以下の構成を備える。即ち、
顔を含む画像データを入力する入力手段と、
前記画像データを低解像度に変換する変換手段と、
前記変換手段により変換された低解像度の画像データより前記顔の特定箇所の位置を検出する第１の検出手段と、
検出された前記特定箇所の位置に基づいて前記入力手段より入力された画像データに領域を設定する設定手段と、
設定された前記領域より前記顔の特徴点を検出する第２の検出手段と、
検出された前記特徴点に基づいて前記顔の表情を判定する判定手段とを備え、
前記第２の検出手段は前記第１の検出手段よりも検出精度が高く、前記第１の検出手段は前記第２の検出手段よりも変動に頑健であることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、多様な撮像条件においても高い精度で顔の認識を行う技術を提供することができる。
【発明を実施するための最良の形態】
【０００８】
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
【０００９】
＜＜第１実施形態＞＞
〔情報処理装置のハードウェア構成〕
まず、本実施形態に係る情報処理装置のハードウェア構成について、図３９を参照して説明する。図３９は、本実施形態に係る情報処理装置のハードウェア構成を模式的に示したブロック図である。尚、本実施形態に係る情報処理装置は、例えば、パーソナルコンピュータ（ＰＣ）やワークステーション（ＷＳ）、携帯情報端末（ＰＤＡ）等で実現される。
【００１０】
図３９において、３９０はＣＰＵであり、後述するハードディスク装置（以下、ＨＤと呼ぶ）３９５に格納されているアプリケーションプログラム、オペレーティングシステム（ＯＳ）や制御プログラム等を実行しする。更に、ＲＡＭ３９２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００１１】
３９１はＲＯＭであり、内部には基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。３９２は各種データを一時記憶するためのＲＡＭであり、ＣＰＵ３９０の主メモリ、ワークエリア等として機能する。
【００１２】
３９３は記録媒体へのアクセスを実現するための外部記憶ドライブであり、メディア（記録媒体）３９４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。尚、メディア３９４は、例えば、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。
【００１３】
３９５は外部記憶装置であり、本実施形態では大容量メモリとして機能するＨＤを用いている。ＨＤ３９５には、アプリケーションプログラム、ＯＳ、制御プログラム、関連プログラム等が格納される。
【００１４】
３９６は指示入力装置であり、キーボードやポインティングデバイス（マウス等）、タッチパネル等がこれに相当する。指示入力装置３９６を用いて、ユーザは、本実施形態に係る情報処理装置に対して、装置を制御するコマンド等を入力指示する。
【００１５】
３９７はディスプレイであり、指示入力装置３９６から入力されたコマンドや、それに対する情報処理装置の応答出力等を表示したりするものである。
【００１６】
３９９はシステムバスであり、情報処理装置内のデータの流れを司るものである。
【００１７】
３９８は撮像装置であり、物体を撮像して画像データを取得する。撮像装置３９８は、結像光学系、固体撮像素子、ＡＤ変換等を行う映像信号処理回路を含む部品から構成されている。撮像装置３９８は、固体撮像素子であるＣＣＤ、ＣＭＯＳセンサ等から得られた電気信号をＡＤ変換し、デジタル形式の画像データとして取得する。撮像装置３９８が取得した画像データは、ＣＰＵ３９０の制御に基づいて、バッファリング処理が行われ、ＤＭＡを用いてＲＡＭ３９２等のメモリに転送される。
【００１８】
尚、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。
【００１９】
本実施形態では、メディア３９４から本実施形態に係るプログラム及び関連データを直接ＲＡＭ３９２にロードして実行させる例を示す。ただしこれ以外にも、本実施形態に係るプログラムを動作させる度に、既にプログラムがインストールされているＨＤ３９５からＲＡＭ３９２にロードするようにしてもよい。また、本実施形態に係るプログラムをＲＯＭ３９１に記録しておき、これをメモリマップの一部をなすように構成し、直接ＣＰＵ３９０で実行することも可能である。
【００２０】
また、本実施形態では、説明の便宜のため、本実施形態に係る情報処理装置を１つの装置で実現した構成について述べるが、複数の装置にリソースを分散した構成によって実現してもよい。例えば、記憶や演算のリソースを複数の装置に分散した形に構成してもよい。或いは、情報処理装置上で仮想的に実現される構成要素毎にリソースを分散し、並列処理を行うようにしてもよい。
【００２１】
〔情報処理装置の機能構成〕
次に、上記の情報処理装置による物体認識のための機能構成について、図１を参照して説明する。図１は、本実施形態に係る情報処理装置の機能構成を示したブロック図である。
【００２２】
図１に示される各機能ブロックは、図３９を参照して上述した情報処理装置のＣＰＵ３９０がＲＡＭ３９２にロードされたプログラムを実行し、図１に示される各ハードウェアと協働することによって実現される。もちろん機能ブロックの一部或いは全てが専用のハードウェアで実現されてもよい。
【００２３】
図１において、１００は、画像入力部であり、物体を撮像して画像データを取得する。画像入力部１００は、図３９における撮像装置３９８に対応する。画像入力部１００は、画像データを取得するとＲＡＭ３９２等のメモリにバッファリングする。
【００２４】
本実施形態においては、画像入力部１００が入力する画像データは顔の撮像画像に係るものである。また、本実施形態では、画像データは複数のフレームから構成された動画像に係るものとする。
【００２５】
１０１は、顔位置検出部であり、位置姿勢を求める物体としての、顔の位置を特定する。顔位置検出部１０１は、顔の位置を特定するために図２で模式的に示すように多層の神経回路網（第一のＣＮＮ）を用いる。図２は、神経回路網を示した模式図である。
【００２６】
本実施形態では、神経回路網として、特にConvolutional Neural Networks（以下、ＣＮＮと称する）を用いることにより、デジタル画像中の顔の位置を特定する。ＣＮＮは公知技術である。例えば、M.Matsugu, K.Mori, M.Ishii and Y.Mitarai “Convolutional Spiking Neural Network Model for Robust Face Detection”, 9th International Conference on Neural Information Processing,pp.660-664, Nov 2002に開示されている。ＣＮＮは、本実施形態に係る情報処理装置において、ハードウェア及びプログラムの協働により実現される。顔位置検出部１０１の動作の詳細は後述する。
【００２７】
１０２は表情認識部であり、図６のような構成をしている。図６は、表情認識部１０２の詳細な機能構成を示した図である。図６のように、表情認識部１０２は所定特徴量抽出部１１０、特徴量変化量算出部１１１、表情判定部１１２から構成される。表情判定部１１２は、特徴量と表情との対応が示されたテーブル１１３を参照してニューロンに表情判定の学習を行わせる。
【００２８】
本実施形態の構成では、顔位置検出部１０１において画像に基づき顔の位置を検出するＣＮＮ（第一のＣＮＮ）と、表情認識部１０２において表情を認識するために必要な特徴点を得るためのＣＮＮ（第二のＣＮＮ）の２つのネットワークを使用する。
【００２９】
所定特徴量抽出部１１０は顔位置検出部１０１において検出された、撮像対象の顔位置に基づいて表情の認識に必要な所定の特徴量を抽出する。特徴量変化量算出部１１１は、所定特徴量抽出部１１０において抽出された特徴量の変動に応じて所定特徴量変化量を正規化する。この正規化は画像データにおける特徴点の配置に基づいて、この特徴点の位置を補正する処理である。表情判定部１１２は、特徴量変化量算出部１１１において正規化された各特徴量変化量に基づいて表情の判定を行う。表情認識部１０２を構成する所定特徴量抽出部１１０、特徴量変化量算出部１１１、表情判定部１１２の詳細は後述する。
【００３０】
〔全体処理〕
次に、本実施形態に係る構成において実行する全体処理について図２９を参照して説明する。図２９は、本実施形態に係る全体処理の流れを示したフローチャートである。
【００３１】
まず、ステップＳ２７０では、顔位置検出部１０１において、画像入力部１００で取得した画像データの間引き処理及びヒストグラム補正処理を行う。ここで、間引き処理を行った後の画像解像度は、例えば３６０×２４０[pixels]である。
【００３２】
次に、ステップＳ２７１では、顔位置検出部１０１において、ＣＮＮを用いて画像中の顔位置判定処理を行う。この顔の位置を判定するＣＮＮの入力画像の画像解像度は更なる間引き処理を行うことにより、例えば、１８０×１２０[pixels]とする。
【００３３】
次に、ステップＳ２７２では、顔が検出されたか否かを、表情認識部１０２において判定する。検出された場合（ステップＳ２７２でＹＥＳ）はステップＳ２７３へ進む。検出されなかった場合（ステップＳ２７２でＮＯ）はステップＳ２７０へ戻り、次のフレームの画像データについて同様の処理を行う。
【００３４】
ステップＳ２７３では、所定特徴量抽出部１１０において、顔位置検出のための第一のＣＮＮを利用して抽出された顔・目位置を用いて鼻孔特徴点抽出範囲の設定を行う。
【００３５】
次に、ステップＳ２７４では、所定特徴量抽出部１１０において、ステップＳ２７３で設定された抽出範囲に基づいて鼻孔特徴点を抽出する。
【００３６】
次に、ステップＳ２７５では、所定特徴量抽出部１１０において、顔の位置を判定するＣＮＮを利用して取得された目・口位置と、ステップＳ２７４で抽出された鼻孔特徴点位置を用いて、鼻孔特徴点以外の特徴点抽出範囲の設定を行う。
【００３７】
次に、ステップＳ２７６では、所定特徴量抽出部１１０において、ステップＳ２７５で設定された各抽出範囲に基づいて第二のＣＮＮを用いて特徴点抽出を行う。特徴点を抽出するための第二のＣＮＮの入力画像の解像度は、例えば、３６０×２４０[pixels]とする。
【００３８】
次に、ステップＳ２７７では、所定特徴量抽出部１１０において、ステップＳ２７３乃至Ｓ２７６の処理により全ての特徴点が抽出されたか否かを判定する。全ての特徴点が抽出されている場合（ステップＳ２７７でＹＥＳ）はステップＳ２７８へ進む。抽出されていない場合（ステップＳ２７７でＮＯ）はステップＳ２７０へ戻り、次のフレームについて同様の処理を行う。
【００３９】
ステップＳ２７８では、特徴量変化量算出部１１１において、あらかじめ用意された無表情の参照顔との比較により各特徴量変化量を算出し、変動に応じて正規化する。即ち、画像データにおける特徴点の配置に基づいて、この特徴点の位置を補正する。この無表情の参照顔のデータは、ＨＤ３９５等の記憶装置に予め記憶されている。
【００４０】
次に、ステップＳ２７９では、表情判定部１１２において、表情を判定するためのＮＮを利用して表情判定が行う。そして処理を終了する。ただし、ＮＮはニューラルネットワーク（Neural Network）である。
【００４１】
以下、各機能構成における処理を説明することにより上記の各ステップにおける処理について詳述する。
【００４２】
〔顔位置検出部１０１〕
次に、顔位置検出部１０１の機能について詳細に説明する。顔位置検出部１０１は、顔の特定箇所の画像データにおける位置（顔位置）を顔の輪郭に基づいて検出する。
【００４３】
顔位置検出部１０１は画像入力部１００によりバッファに記憶された画像データを取得し、前処理として間引き処理による解像度変更と、照明条件の影響を軽減させるためのヒストグラム補正を行う。そして、ＣＮＮに補正された画像データを入力する。
【００４４】
上述のように、画像入力部１００が取得した画像データはバッファに一時的に記憶される。顔位置検出部１０１は、バッファから画像データを読み出す際には、間引き処理として１画素おきに画像データを読み込む。例えば、バッファされた画像データの解像度が７２０×４８０[pixels]の場合、間引き処理により画像入力部１００が取得する画像データは３６０×２４０[pixels]の解像度を持つことになる。
【００４５】
次に、以下に述べるヒストグラム補正を行う。即ち、まず、図３のように入力画像に対して輝度値ヒストグラム１３０を作成する。図３は、ヒストグラム補正の処理を模式的に示した図である。輝度値ヒストグラム１３０は入力画像（画像データ）の各画素について輝度値の分布を示しており、横軸が輝度値、縦軸が画素数（度数）を示している。
【００４６】
次に、輝度値ヒストグラムから山の端（輝度値の最大値及び最小値）の輝度値Ｘ１３１、Ｙ１３２を抽出する。そして、抽出した山の端の輝度値１３１及び輝度値１３２が夫々、例えば、輝度値０及び輝度値２５５になるように非線形関数１３３を用いて輝度値変換を行う。この非線形関数は、予め、照明条件による陰影などの影響を低減する、即ち、低輝度領域の階調を強調するような関数が選択され、情報処理装置に設定されるものとする。
【００４７】
以上のように、低輝度領域の階調を強調するように輝度補正を行うことで、撮影条件に関わらず精確に画像認識を行うことができる。
【００４８】
なお、ヒストグラム補正は上記の手法に限られない。例えば、予め輝度値の上限値及び下限値を設定しておく。そして、輝度値が下限値以下の画素を輝度値０に変換し、輝度値が上限値以上の画素を輝度値２５５に変換する。更に、輝度値が下限値と上限値の間の画素を、輝度値が下限値以下の画素、或いは、輝度値が上限値以上の画素等に基づいて適宜変換する。例えば、このように変換してもよい。
【００４９】
ＣＮＮは、各階層毎の各特徴が多数のニューロンで構成されており、本実施形態の場合、１つのニューロン出力が画像データのある画素での特徴検出結果を表している。例えば、ある階層特徴に前階層特徴が１つだけ結合している場合（ＣＮＮのサブサンプリング層若しくは特徴プーリング層）を考える。この場合、図４のように前階層特徴の複数ニューロン１２０とそれぞれに対応する荷重係数データとの積和演算によって、その階層での１つのニューロン１２１の内部状態値を得ることができる。図４は、ある階層特徴の１つのニューロンと前階層特徴の複数ニューロンとの結合関係を示した図である。
【００５０】
１つのニューロンが結合する前階層でのニューロン数は、特定の特徴を抽出するために決定された特徴毎の受容野サイズと呼ばれるものによって異なる。例えば、ある特徴を得るための受容野サイズを３×５とした場合、図５のように、前階層における３×５個の複数ニューロン値１２２と３×５個の荷重係数との積和演算から１個のニューロンの内部状態値１２４が算出される。図５は、ある階層特徴の隣接する夫々のニューロンを算出するために必要な前階層ニューロンとの結合関係を示した図である。
【００５１】
ニューロン内部状態値１２４の１画素隣のニューロン値１２５を算出する際には、前階層の複数ニューロン１２２から領域を１画素シフトさせた複数ニューロン群１２３と荷重係数との積和演算によって得ることができる。つまり、前の階層において受容野と呼ばれる領域を上下左右にシフトさせながら、その時々の受容野内に位置する複数ニューロン値と荷重係数データセットとの積和演算を繰り返し行う畳み込み演算を実行する。このようにすることで、現階層における全てのニューロンの内部状態値を得ることができる。図２のようにある階層特徴に複数の前階層特徴が結合している場合（ＣＮＮの特徴検出層）には、結合している前階層特徴毎に得られる内部状態値の総和が１個のニューロンの内部状態値となる。
【００５２】
なお、荷重係数データは、あらかじめ与えられる教師データを使用し学習することによって得られるが、使用する教師データによって様々な特長を持つＣＮＮ（階層特徴）を作成することができる。例えば、顔の位置を検出するＣＮＮの教師データ群に照明変動、サイズ変動、回転変動などの様々な変動を与え学習した場合、照明変動のみなど特定の変動だけに特化して学習した場合と比較して位置検出精度が低くなる。けれどもその代わり、これらの変動に頑健な顔検出ＣＮＮ（階層特徴）を作成することができる。また、例えば、目の端Ｖ字のみを学習の教師データ群として与えることによって、目の端Ｖ字しか検出できないけれども、目の端Ｖ字位置検出が高精度な階層特徴を作成することができる。
【００５３】
本実施形態におけるＣＮＮの各階層の説明を行う。図２の入力層の入力画像は、処理負担を軽減するために、更に間引き処理を行うことによって１８０ｘ１２０[pixels]の解像度とした画像データを顔の位置を特定するためのＣＮＮの入力画像とする。
【００５４】
本実施形態に係るＣＮＮは、図２のように３つの階層から構成される。第１層レベル（第１階層２０１）においては斜め（右上がり、右下がり）エッジ、水平方向エッジ、垂直方向エッジの計４特徴を抽出し、顔の輪郭を認識する。第２層レベル（第２階層２０２）においては、目・口位置特徴を抽出する。
【００５５】
第３階層レベル（第３階層２０３）において顔位置を抽出する。ただし、顔位置とは、図９のように、目領域の重心位置１６０と１６１、口領域の重心位置１６３、顔領域の重心位置１６２、後述の鼻孔位置等の、顔画像における予め定義された特定箇所である。尚、図９は、顔の位置を検出するＣＮＮから得られる顔、左右目、口重心位置を示した模式図である。
【００５６】
このように、本実施形態に係るＣＮＮは、複数の低次特徴（エッジレベル）検出結果を組み合わせることによって中次特徴（目・口）位置を抽出し、中次特徴（目・口）検出結果から高次特徴（顔位置）位置を順次検出するようなネットワーク構成としている。
【００５７】
上述のように、これらの特徴が検出されるのは、あらかじめ教師データを用いて学習した荷重係数を用いているためである。顔を検出するＣＮＮにおいて学習に用いる教師データは、サイズ変動、回転変動、照明変動、形状変動など様々な変動の画像データに基づいて生成されている。このため、これら複数の変動が生じた場合でもロバストな顔・目・口の位置検出が可能なネットワークが構築されている。
【００５８】
画像データの学習は、例えば、同一の物体（顔）について、以下のような条件の、変動する環境において得られた撮像画像に基づいて行うことができる。
（１）サイズが約３倍以内で変動する。
（２）上下左右奥行き方向に４５°以内で回転変動する。
（３）面内において左右方向に４５°以内で回転変動する。
（４）屋内及び屋外照明環境下で撮影することによって照明条件が変動する。
（５）目及び口等において縦及び横方向に形状変動する。
【００５９】
更に、目・口・顔に対しては、それらの領域の重心周辺領域を正解位置とするようにして学習を行うように構成することができる。即ち、目・口・鼻の正解位置は、目・口・顔の検出位置の積和演算結果について閾値処理を行い、閾値以上の局所領域の重心位置を算出することにより求めることができる。なお、目・口位置は、顔の位置が決定されることで初めて決定される。つまり、目と口の位置を検出する積和演算と閾値処理においては目と口の位置の候補を検出し、その後の顔の位置を決定する積和演算と閾値処理において顔位置が決定されることにより、初めて目と口の位置が決定される。
【００６０】
ＣＮＮのネットワークを構成する階層数、特徴数及び各特徴間の結合関係は別の構成としても良い。目・口・顔特徴などのニューロン値から得られる位置情報算出は、閾値処理や重心算出する方法以外にニューロン値の最大値を用いるなど別の方法を用いても良い。更に、画像入力部から得られる画像データの解像度は７２０ｘ４８０[pixels]に限られない。同様に、顔の位置を検出するＣＮＮの入力画像の画像解像度も１８０ｘ１２０[pixels]に限られない。
【００６１】
〔所定特徴量抽出部１１０〕
次に、表情認識部１０２を構成する所定特徴量抽出部１１０について説明する。後に詳述するように、所定特徴量抽出部１１０は、まず、顔位置検出部１０１において検出された顔位置に基づいて画像データに領域を設定する。次に、設定された領域内において顔の特徴点を探索する。次に、探索された特徴点に基づいて表情を判定する判定する。
【００６２】
前述のように本実施形態の構成では、顔位置検出部１０１において画像に基づき顔位置を検出するＣＮＮ（第一のＣＮＮ）と、表情認識部１０２において表情認識に必要な特徴点を得るためのＣＮＮ（第二のＣＮＮ）の２つのネットワークを使用する。所定特徴量抽出部１１０は、まず顔位置検出部１０１で得られた目・口・顔検出位置と入力画像に基づいて、第二のＣＮＮで表情認識に必要な特徴点の抽出を行う。なお、表情を認識するために必要な特徴点を抽出する第二のＣＮＮは図７のような構成となる。図７は、特徴点を抽出するためのＣＮＮの構成を示した図である。
【００６３】
特徴点を抽出するための第二のＣＮＮにおいて、入力画像は顔の位置を特定する第一のＣＮＮの前処理で行われたヒストグラム補正画像とし、画像解像度は３６０ｘ２４０[pixels]とした。特徴点を抽出するための第二のＣＮＮにおいては、顔の位置を検出する第一のＣＮＮでの入力画像のように更なる間引きは行わないで３６０ｘ２４０[pixels]の高解像度のままで処理を行う。これは、画像領域中の微小領域に存在する特徴点を正確に抽出する必要があるためである。なお、特徴点を抽出する第二のＣＮＮの入力画像解像度は３６０ｘ２４０[pixels]に限られない。
【００６４】
特徴点を抽出するための第二のＣＮＮは図７のように２階層レベル（７０１，７０２）からなる。第１階層レベル７０１は斜めエッジ（右上がり、右下がり）、水平方向エッジ、垂直方向エッジの計４特徴を抽出する。第２階層レベル７０２は、図８のように表情認識に必要な各特徴点(左右眉毛の特徴点１４０〜１４５、左右目の特徴点１４６〜１５３、鼻孔特徴点１５４、口特徴点１５５〜１５８)を抽出するために、１つの特徴点に対してＣＮＮの１つの特徴を用意している。図８は、抽出する各特徴点を示した模式図である。
【００６５】
特徴点を抽出する第二のＣＮＮについても、顔を検出するための第一のＣＮＮ同様にあらかじめ夫々教師データを用いて学習し、学習で得られた荷重係数を用いることによって各特徴点を正確に得ることができる。また、特徴点を抽出するための第二のＣＮＮの学習データは、顔の位置を検出する第一のＣＮＮとは異なり、特定の変動のみの学習データを用いている。よって、顔を検出する第一のＣＮＮのように検出ロバスト性を大きく有してはいないが、その代わりに特徴点抽出をする第二のＣＮＮの各特徴の位置検出精度が非常に高くなる。
【００６６】
尚、本実施形態においては、目と口の形状変動と照明変動の特定変動のみの画像を用いて学習を行うものとするがこれに限られない。例えば、照明変動のみの画像で学習をする際には、特徴点抽出精度が低下しない程度で、照明変動幅を変化させた画像、つまり様々な照明環境での画像を用いて学習を行っても良い。また、照明変動とサイズ変動画像など、他の特定変動のみの画像を用いて学習を行うようにしてもよい。更に、サイズ変動、回転変動、照明変動毎の同一の特徴点をする特徴を用意しても良い。また、特徴点を抽出する第二のＣＮＮも顔を検出する第一のＣＮＮ同様に、階層数、特徴数及び各特徴間の結合関係は別の構成としても良い。また、特徴点を抽出するＣＮＮにおいて、１つの特徴から１つの特徴点を抽出することに限定しているわけではなく、右目目尻（くの字）と左目目頭（くの字）のように類似しているような特徴の特徴点をＣＮＮの同一の特徴から抽出するように構成してもよい。
【００６７】
所定特徴量抽出部１１０は、特徴点を抽出する第二のＣＮＮを利用して、各階層の各特徴について処理領域を限定し、演算を行う。具体的には、顔の位置を検出する第一のＣＮＮ（顔位置検出部１０１）においてそれぞれ算出される顔位置に基づいて各特徴点を抽出するための処理領域限定範囲を決定する。このような顔位置には、例えば、図９のような目領域の重心位置１６０と１６１、口領域の重心位置１６３、顔領域の重心位置１６２と、後述の鼻孔位置が含まれる。
【００６８】
（領域限定処理）
次に、所定特徴量抽出部１１０が鼻孔重心位置を抽出するために実行する領域限定処理について、図１０を参照して詳しく説明する。図１０は、鼻孔位置を得るための鼻孔重心位置算出範囲（重心算出範囲）、重心算出範囲を得るために必要な積和演算範囲、重心算出範囲を得るために必要な入力画像範囲を示した模式図である。
【００６９】
図１０において、１７３は重心算出範囲である。図１０のように、重心算出範囲１７３は矩形の領域であり、その横方向の範囲は右目検出位置１７０及び左目検出位置１７１に基づいて決定される。また、重心算出範囲１７３の縦方向の範囲は、右目検出位置１７０又は左目検出位置１７１と、口検出位置１７２とに基づいて決定される。
【００７０】
なお、重心算出範囲１７３は得られたニューロン値から重心位置を算出する際の範囲として利用される。重心算出範囲１７３において重心を算出するためには、重心算出範囲１７３内にニューロン値が存在しなければならない。重心算出範囲１７３内にニューロン値が存在するために必要な入力画像データの必要最低限の領域は、鼻孔を検出するための受容野サイズと第１階層の各特徴の受容野サイズを用いて計算することができる。
【００７１】
つまり、鼻孔位置重心算出範囲１７３でニューロン値を得るためには、鼻孔を検出するための受容野サイズの半分だけ更に増加した領域１７４の第１階層の各特徴ニューロン値が必要となる。よって、第１階層レベルの各特徴においては領域１７４のニューロン値が必要となる。更に、第１階層において領域１７４のニューロン値を得るためには、第１階層の各特徴を抽出するための受容野サイズの半分だけ更に増加した領域１７５の入力画像データが必要となる。このようにして、鼻孔位置重心算出範囲のための必要最低限な入力画像データ領域を算出することができる。鼻孔位置は、これらの限定された範囲内において、上述のように、前階層のニューロン値と荷重係数の積和演算を行い、閾値処理と重心位置検出などをすることによって算出できる。
【００７２】
また、鼻孔重心位置は、例えば、図１１の右鼻孔重心位置１７６、左鼻孔重心位置１７７、右左鼻孔の重心位置、鼻下エッジ１７８等のうち、どれを鼻孔重心位置とするようにしても良い。図１１は、左右夫々の鼻孔位置、鼻下エッジを示した模式図である。
【００７３】
これらの設定は、学習する際に、鼻孔位置として設定する箇所を含む領域を受容野として設定し、学習正解点を鼻孔位置として設定する箇所を含む領域の重心位置として学習を行えばよい。図１２は、左右鼻孔位置の重心、右鼻孔位置の重心、鼻下エッジの重心を算出するために必要な受容野を示した模式図である。
【００７４】
例えば、鼻孔位置を右左鼻孔の重心位置とする場合は、図１２（ａ）のように左右鼻孔を含む領域を受容野として設定し、学習正解点を左右鼻孔の重心位置として学習を行えばよい。鼻孔位置を右鼻孔の重心位置１７６とする場合は、図１２（b）のように右鼻孔を含む領域を受容野として設定し、学習正解点を右鼻孔の重心位置として学習を行えばよい。鼻孔位置を鼻下エッジ１７８とする場合は、図１２（c）のように鼻下エッジを含む領域を受容野として設定し、学習正解点を鼻下エッジの重心位置として学習を行えば良い。以下、本実施形態では、左右鼻孔の重心位置を鼻孔位置とする。なお、以下で説明する他の特徴点に関しては、鼻孔位置を基準とした相対位置で表すものとする。
【００７５】
（特徴点重心算出範囲設定処理）
次に、鼻孔特徴点以外の特徴点を抽出するための特徴点重心算出範囲を設定する処理について図１３乃至１８、図２０を参照して説明する。図１３乃至１８は重心算出範囲を示した図であり、それぞれ、左右眉毛中点特徴点、左右目端点特徴点、左右目上下特徴点、口端点特徴点、口上下特徴点を得るための重心算出範囲を示している。図２０はすべての特徴点を得るために必要な必要最低限の入力画像領域を示した図である。以下、右目検出位置１８１と左目検出位置１８２間距離をＬとして説明を行う。また、横方向幅はｘ軸方向、縦方向幅はｙ軸方向の位置として定義する。
【００７６】
まず、左右眉毛の各特徴点を抽出するための重心算出範囲について説明する。図１３において、図８の特徴点１４０を抽出するための領域１８３は、横領域幅を「右目検出位置１８１のｘ座標−Ｌ／２」から「右目検出位置１８１のｘ座標」までのｘ軸方向領域とする。そして、縦領域幅を「右目検出位置１８１のｙ座標−Ｌ／２」から「右目検出位置１８１のｙ座標」までのｙ軸方向領域としたものである。図８の特徴点１４２を抽出するための領域１８４は、横領域幅を「右目検出位置１８１のｘ座標」から「鼻孔位置１８０の位置のｘ座標」までのｘ軸方向領域とする。そして、縦領域幅を「右目検出位置１８１のｙ座標−Ｌ／２」から「右目検出位置１８１のｙ座標」までのｙ軸方向領域としたものである。
【００７７】
図１４において、図８の特徴点１４１を抽出するための領域１８７は、横領域を「右目検出位置１８１のｘ座標−Ｌ／４」から「右目検出位置１８１のｘ座標＋Ｌ／４」の位置までのｘ軸方向領域とする。そして、縦領域幅を「右目検出位置１８１のｙ座標−Ｌ／２」から「右目検出位置１８１のｙ座標」までのｙ軸方向領域としたものである。同様に、左眉毛特徴点抽出領域１８５、１８６、１８８も右眉毛特徴点抽出領域１８３、１８４、１８７と同様に領域設定を行う。
【００７８】
次に、左右目の各特徴点を抽出するための重心算出範囲について説明する。図１５において、図８の特徴点１４６を抽出するための領域１８９は、横領域幅を「右目検出位置１８１のｘ座標−Ｌ／２」から「右目検出位置１８１のｘ座標」までのｘ軸方向領域とする。そして、縦領域幅を「右目検出位置１８１のｙ座標−Ｌ／２」から「右目検出位置１８１のｙ座標＋Ｌ／２」までのｙ軸方向領域としたものである。図８の特徴点１４９を抽出するための領域１９０は、横領域幅を「右目検出位置１８１のｘ座標」から「鼻孔位置１８０のｘ座標」までのｘ軸方向領域とする。そして、縦領域幅を「右目検出位置１８１のｙ座標−Ｌ／２」から「右目検出位置１８１のｙ座標＋Ｌ／２」までのｙ軸方向領域としたものである。
【００７９】
図１６において、特徴点１４７を抽出するための領域１９３は、横領域幅を「右目検出位置１８１のｘ座標−Ｌ／８」から「右目検出位置１８１のｘ座標＋Ｌ／８」までのｘ軸方向領域とする。そして、縦領域幅を「右目検出位置１８１のｙ座標−Ｌ／４」から「右目検出位置１８１のｙ座標」までのｙ軸方向領域としたものである。図８の特徴点１４８を抽出するための領域１９４は、横領域幅を「右目検出位置１８１のｘ座標−Ｌ／８」から「右目検出位置１８１のｘ座標＋Ｌ／８」までのｘ軸方向領域とする。そして、縦領域幅を「右目検出位置１８１のｙ座標」から「右目検出位置１８１のｙ座標＋Ｌ／４」までのｙ軸方向領域としたものである。同様に、左目特徴点抽出領域１９１、１９２、１９５、１９６も右目特徴点抽出領域１８９、１９０、１９３、１９４同様に領域設定を行う。
【００８０】
次に、口の各特徴点を抽出するための重心算出範囲について説明する。以下、図１７の鼻孔位置１８０と口検出位置１９７の距離をＬ1とする。また、上記と同様に、横方向幅はｘ軸方向、縦方向幅はｙ軸方向の位置として定義する。
【００８１】
図１７において、図８の特徴点１５５を抽出するための領域１９８は、横領域幅を「口検出位置１９７のｘ座標−２Ｌ／３」から「口検出位置１９７のｘ座標」とする。そして、縦領域幅を「口検出位置１９７のｙ座標−Ｌ1」から「口検出位置１９７のｙ座標＋Ｌ1」までとしたものである。図８の特徴点１５８を抽出するための領域１９９は、横領域幅を「口検出位置１９７のｘ座標」から「口検出位置１９７のｘ座標＋２Ｌ／３」までとする。そして、縦領域幅を「口検出位置１９７のｙ座標−Ｌ1」から「口検出位置１９７のｙ座標＋Ｌ1」までとしたものである。
【００８２】
図１８において、図８の特徴点１５６を抽出するための領域２００は、横領域幅を「口検出位置１９７のｘ座標−Ｌ／４」から「口検出位置１９７のｘ座標＋Ｌ／４」までとする。そして、縦領域幅を「鼻孔位置１８０のｙ座標」から「口検出位置１９７のｙ座標」までとしたものである。図８の１５７を抽出するための領域２０１は、横領域幅を「口検出位置１９７のｘ座標−Ｌ／４」から「口検出位置１９７のｘ座標＋Ｌ／４」までとする。そして、縦領域幅を「口検出位置１９７のｙ座標」から「口検出位置１９７のｙ座標＋Ｌ1」までとしたものである。
【００８３】
以上のように、所定特徴量抽出部１１０は、顔位置検出部１０１において検出された撮像対象の顔位置に基づいて、特徴点を抽出するための各重心算出範囲を決定する。そして、上述のように、各特徴点を得るための受容野サイズと第１階層の各特徴の受容野サイズを用いて、図２０の斜線を付した領域２１０のように入力画像での必要最低限の入力画像データ領域を算出する。これらの領域を限定した処理により、特徴点を抽出する際のＣＮＮの処理負担を軽減することができる。
【００８４】
なお、上記の構成においては、各特徴点を抽出するための領域設定を、現フレームの顔検出用の第一のＣＮＮで得られる顔検出位置、左右目検出位置、口検出位置と鼻孔位置に基づいて行ったがこれに限られない。例えば、前フレームにおいて抽出された各特徴点（例えば、前フレームで抽出された鼻孔位置や特徴点）を基準として各特徴点を抽出したり、複数の特徴点間位置を基準として領域を設定するようにしてもよい。同様に、領域設定範囲に関しても上記に例示したものに限られない。
【００８５】
また、上記では、特徴点座標を鼻孔検出位置（図８の特徴点１５４）を基準とした相対位置として表す場合を述べたがこれに限られない。例えば、顔検出位置や目頭特徴点（図８の特徴点１４９、特徴点１５０）など特徴点を基準とした相対位置で示しても良い。
【００８６】
（特徴量）
次に、これら得られた各特徴点から表情を認識するために必要な各特徴量について図８，１９を参照して説明する。図１９は額、眉間及び頬領域を示した図である。
【００８７】
本実施形態では表情を認識するために利用する特徴量として以下を抽出する。ただし、以下に列挙したものは特徴量の例示であり、用途や目的に応じてどのような値を特徴量としてもよい。
・眉毛の形状（例えば、図８の特徴点１４０と特徴点１４１を結ぶ線分と、特徴点１４１と特徴点１４２を結ぶ線分とが形成する角度（傾き）。及び／又は、特徴点１４３と特徴点１４４を結ぶ線分と、特徴点１４４と特徴点１４５を結ぶ線分とが形成する角度（傾き））。
・左右眉毛間の距離（図８の特徴点１４２と特徴点１４３の間の距離）。
・眉毛と眼の間の距離（図８の特徴点１４０と特徴点１４６、特徴点１４１と特徴点１４７、特徴点１４２と特徴点１４９、特徴点１４３と特徴点１５０、特徴点１４４と特徴点１５１、特徴点１４５と特徴点１５３のそれぞれの距離）。
・眼の端点と口端点の距離（図８の特徴点１４６と特徴点１５５、特徴点１５３と特徴点１５８のそれぞれの距離）。
・眼端点間距離（図８の特徴点１４６と特徴点１４９、特徴点１５０と特徴点１５３のそれぞれの距離）。
・眼領域の上下間距離（図８の特徴点１４７と特徴点１４８間距離、特徴点１５１と特徴点１５２のそれぞれの距離）。
・口端点間距離（図８の特徴点１５５と特徴点１５８の間の距離）。
・口領域の上下間距離（図８の特徴点１５６と特徴点１５７の間の距離）。
・額及び眉間領域のシワ（図１９の領域２２０と領域２２１のエッジ密度）。
・左右頬領域のシワ（図１９の領域２２２、領域２２３の夫々のエッジ密度）。
【００８８】
なお、図１９の額及び眉間領域２２０は、例えば、横領域幅が「右目検出位置１８１のｘ座標」から「鼻孔位置１８０のｘ座標」までのｘ軸方向領域とする。そして、縦領域が「右目検出位置１８１のｙ座標−２Ｌ／３」から「右目検出位置１８１のｙ座標」までのｙ軸方向領域である矩形領域とする。ただし、右目検出位置１８１と左目検出位置１８２間距離をＬとする。また、頬領域２２２は、例えば、横領域幅が「鼻孔位置１８０のｘ座標−Ｌ」から「鼻孔位置１８０のｘ座標」までのｘ軸方向領域とする。そして、縦領域が「鼻孔位置１８０のｙ座標−Ｌ／４」から「口検出位置１９７のｙ座標」までのｙ軸方向領域である矩形領域とする。
【００８９】
エッジ密度の算出は、例えば、ＣＮＮの第１階層において行われるエッジ特徴抽出の結果に基づいて、上記領域内でエッジを構成する画素数をカウントし、上記領域の面積で除算することにより行うことができる。
【００９０】
〔特徴量変化量算出部１１１〕
次に、特徴量変化量算出部１１１について説明する。特徴量変化量算出部１１１は、予め用意された無表情顔画像と現フレームにおける顔画像との上記の各特徴量の比を算出することによって各特徴量の変化量を算出する。更に、画像中の顔のサイズ・回転変動に対して、各特徴量変化量の正規化を行う。上述のように、正規化は画像データにおける特徴点の配置に基づいて、この特徴点の位置を補正する処理である。
【００９１】
各変動は、図２１のように、右目頭特徴点２３０の検出位置と目頭中点位置２３３との距離ａ1、左目頭特徴点２３１の検出位置と目頭中点位置２３３との距離ｂ1、鼻孔位置２３２の検出位置と目頭間中点位置２３３との距離ｃ1等に基づいて検出する。なお、予め設定（用意）された無表情顔画像おける、右目頭特徴点と目頭間中点位置２３３との距離、左目頭特徴点と目頭間中点位置２３３との距離、鼻孔位置と目頭間中点位置２３３との距離をそれぞれａ，ｂ，ｃと表記する。
【００９２】
顔のサイズ変動は、図２２の現フレームで得られた各検出位置間距離ａ1（図２１の２４０）、ｂ1（図２１の２４１）、ｃ1（図２１の２４２）と、予め設定された無表情顔画像から得られた同様の各検出位置間距離ａ、ｂ、ｃとの比を算出して判定を行う。図２２はサイズ変動時の左右目領域と顔領域の重心位置を示した図である。例えば、ａ:ｂ:ｃ＝ａ1:ｂ1:ｃ1，ａ:ａ1＝１:２の場合は顔のサイズ変動は２倍である。このような場合、上記算出された各特徴量変化量を夫々１/２倍することによって正規化が行う。
【００９３】
顔の左右回転変動は、例えば、図２３の現フレーム画像でのａ2:ｂ2（図２３の２５０と２５１）と予め用意された正面向きの無表情画像でのａ:ｂを比較することによって算出することができる。図２３は左右回転変動時の左右目領域と顔領域の重心位置を示した図である。
【００９４】
例えば、図２３のように奥行き左方向に回転された顔について認識を行う場合を考える。ただし、予め用意された正面向きの無表情画像においてはａ:ｂ=５:５、現フレーム画像においてはａ2:ｂ2＝５:３（図２３の２５０と２５１）であるとする。この場合、左眉毛端点間距離、左目端点間距離、口端点間距離の左方向回転に影響がある水平方向特徴量を(ａ2／ｂ2)／(ａ／ｂ)倍することによって正規化を行うことができる。ただし、左眉毛端点間距離は、例えば、図８の特徴点１４３と特徴点１４５との間の距離である。左目端点間距離は、例えば、図８の特徴点１５０と特徴点１５３との間の距離である。口端点間距離は、例えば、図８の特徴点１５５と特徴点１５８と間の距離である。
【００９５】
なお、眉毛形状に関しては、特徴点１４３と特徴点１４４から算出される水平方向領域、及び特徴点１４４と特徴点１４５から算出される水平方向領域を(ａ2／ｂ2)／(ａ／ｂ)倍することで正規化を行うことができる。
【００９６】
顔の上下回転変動は、現フレームの顔画像での距離ｃ3（図２４の２６２）と、予め用意された正面向きの無表情顔画像での距離ｃの比に基づいて判定することができる。図２４は、上下回転変動時の左右目領域と顔領域の重心位置を示した模式図である。例えば、ａ／ａ3＝ｂ／ｂ3＝１、ｃ:ｃ3＝２:１の場合は顔を上下方向のみに変動させたことになる。正規化は、この場合、眼の端点と口端点の距離、眉毛と眼の間の距離、眼領域の上下間距離、口領域の上下間距離等の垂直方向特徴量に関して、ｃ3／ｃ倍とした値を変化量とすることにより実行することができる。
【００９７】
ただし、眼の端点と口端点の距離は、例えば、図８の特徴点１４６と特徴点１５５、特徴点１５３と特徴点１５８の、それぞれの間の距離とする。眉毛と眼の間の距離は、例えば、図８の特徴点１４０と特徴点１４６、特徴点１４１と特徴点１４７、特徴点１４２と特徴点１４９、特徴点１４３と特徴点１５０、特徴点１４４と特徴点１５１、特徴点１４５と特徴点１５３の、それぞれの間の距離とする。眼領域の上下間距離は、例えば、図８の特徴点１４７と特徴点１４８の間の距離、及び、特徴点１５１と特徴点１５２の間の距離とする。口領域の上下間距離は、例えば、図８の特徴点１５６と特徴点１５７間距離とする。
【００９８】
以上のように構成することで、右目頭特徴点と左目頭特徴点と鼻孔位置を用いて各変動を検出することができる。なお、回転とサイズ変動の両方が生じた場合でも、上記と同様の処理（右目頭特徴点と左目頭特徴点と鼻孔位置を使用）を用いて特徴量を正規化することができる。また、上述した正規化処理は一例でありこれに限られない。例えば、右目検出位置と左目検出位置と顔検出位置など顔の各パーツや、他の特徴点を用いて各変動検出し、各特徴量変化量に対して正規化を行うように構成してもよい。
【００９９】
〔表情判定部１１２〕
次に、表情判定部１１２について図２５を参照して説明をする。図２５は表情を判定するＣＮＮの構成を示した模式図である。
【０１００】
表情判定部１１２は、図２５のように、特徴量変化量算出部１１１において正規化された各特徴量変化量を入力とする入力層２５０１と、中間層２５０２と、表情判定結果を示す出力層２５０３の、３層のニューラルネットワークを用いて判定を行う。本実施形態では、入力層の各特徴量変化量、及び、出力層の表情判定結果には、夫々１つのニューロンで割り当てられている構成としている。
【０１０１】
入力層２５０１は正規化された特徴量変化量を受け取る。本実施形態において、入力層２５０１が受け取る特徴量変化量は、例えば、次の２２特徴である。
・「眉毛の形状」特徴量変化量（４つ）。
・「左右眉毛間の距離」特徴量変化量（１つ）。
・「眉毛と眼の間の距離」特徴量変化量（６つ）。
・「眼の端点と口端点の距離」特徴量変化量（２つ）。
・「眼端点間距離」特徴量変化量（２つ）。
・「眼領域の上下間距離」特徴量変化量（２つ）。
・「口端点間距離」特徴量変化量（１つ）。
・「口領域の上下間距離」特徴量変化量（１つ）。
・「額及び眉間領域のシワ（エッジ密度）」特徴量変化量（１つ）。
・「左右頬領域のシワ（エッジ密度）」特徴量変化量（２つ）。
【０１０２】
中間層（隠れ層）２５０２は表情判定を行うために必要な、中間的な処理を行う層である。本実施形態では、１０のニューロン（特徴）から構成される
出力層２５０３は中間層２５０２からの入力に基づいて表情の判定を行う。本実施形態において出力層２５０３には、それぞれ「喜び」、「怒り」、「悲しみ」、「哀れみ」、「無表情」、「悩み」、「哀れみ」、「驚き」等の表情を出力とする８特徴（ニューロン）が存在する。
【０１０３】
認識対象の顔がある表情を形成すると、特定の特徴量変化量が増減する。例えば、「喜び」の表情においては、無表情状態と比較すると次のように増減する。即ち、目の端点と口の端点距離（図８の１４６と１５５、１５３と１５８）変化量が減少する。そして、口端点間距離（図８の１５５と１５８）変化量、頬領域のエッジ密度（図１９の領域２２２、２２３のエッジ密度）変化量、目尻と目頭間距離（図８の１４６と１４９、１５０と１５３）変化量が増加する。
【０１０４】
このため、増減する特徴量変化量の種類と特徴量変化量の増減の大きさから認識対象の顔の表情を判定することができる。そこで、本実施形態では、表情毎に予め各特徴量変化量の閾値を設定しておき、この閾値と検出された各特徴量変化量との大小比較に基づいてＮＮに表情を学習させる。学習は、各特徴量変化量の閾値との大小関係に基づいて判定される、表情に対応したニューロンの出力が１となるように行う。ただし、出力層２５０３が出力する値の範囲は０〜１とする。
【０１０５】
例えば、「喜び」の表情に対応して、各特徴量変化量の閾値を以下のように設定する。ただし、無表情状態の特徴量変化量を１とする。
・目の端点と口の端点距離（図８の１４６と１５５、１５３と１５８）変化量：０.７。
・口端点間距離（図８の１５５と１５８）変化量（特徴量変化量２）：１.２。
・頬領域のエッジ密度（図１９の領域２２２、２２３のエッジ密度）変化量（特徴量変化量４）：１.２。
・目尻と目頭の間の距離（図８の１４６と１４９、１５０と１５３）変化量（特徴量変化量５）：１.１。
・他の特徴量変化量：１.０。
【０１０６】
そして、目の端点と口の端点距離変化量の値が閾値（０.７）以下であり、口端点間距離変化量、頬領域のエッジ密度変化量、目尻と目頭の間の距離変化量が、それぞれの閾値（１.２、１.２、１.１）以上の場合に「喜び」を学習させる。即ち、「喜び」に対応するニューロンの出力が１又は１に近い値となるようにＮＮに学習させる。上記の閾値の値は各表情毎にテーブル１１３に格納されている。図４０はテーブル１１３の内容を例示した図である。表情判定部１１２は、テーブル１１３を参照してニューロンの学習を制御する。テーブル１１３はＨＤ３９５等の記憶装置に予め定義しておく。
【０１０７】
尚、学習は、入力層での入力に対応して、ＮＮの出力層２５０３に教師データを与えることにより行う。このように、表情判定部１１２は、特徴量変化量を入力として出力層での表情を判定するニューロンを参照することで表情を判定することができる。
【０１０８】
尚、入力層２５０１、中間層２５０２、出力層２５０３に関しても上記の構成に限定されるわけではない。例えば、入力層２５０１への入力、及び、出力層２５０３の出力について、予め閾値を設定しておき、その閾値以上の値を１、その閾値以下の値を０とすることによって、０、１を入出力とするような構成にしてもよい。また、判定する表情は例示した「喜び」に限られず、例えば、「怒り」、「悲しみ」、「哀れみ」、「無表情」、「悩み」、「哀れみ」、「驚き」等について判定してもよいことは明らかである。
【０１０９】
また、表情判定のためのＮＮの出力層において、強い（上限値に近い値の）出力を行う特徴が複数存在する場合もある。この場合は、強い出力を行っているニューロンのグループに基づいて表情を決定する。例えば、「喜び」と「悲しみ」の表情が得られた場合、即ち、「喜び」に対応するニューロンと「悲しみ」に対応するニューロンがともに強い出力を行った場合は「嬉し泣き」のような表情に該当すると判定する。出力層２５０３を構成する複数のニューロンが強い出力を行った場合における表情の判定は、例えば、次のように行うことができる。即ち、事前に、強い出力を行っているニューロンのグループと表情との対応関係を示したテーブルをＨＤ３９５等の記憶装置に更に用意しておき、判定の際にこのテーブルを参照して行うことができる。
【０１１０】
上記の構成においては、例えば、特徴量に予め設定された重み付け値を乗じた上で前記判定を行うようにしてもよい。また、表情の判定は上記のような手法に基づく構成に限られない。或いは、ここで上記とは異なった手法に基づく表情の判定処理について、図２６乃至２８を参照して説明する。図２６は、表情「喜び」を判定するために各特徴量変化量から得点を算出する際の各特徴量変化量の重み（重み付け値）を示す図である。図２７は、各特徴量変化量から算出された得点分布を示す図である。図２８はあらかじめ用意された表情「喜び」に対応する得点分布テンプレートを示す図である。
【０１１１】
まず、図２６のように各表情に応じて特徴量変化量に重み付けを行い、これら重みと各特徴量変化量の積から特徴量毎に得点を算出する。そして、算出された得点に基づいて表情得点分布を作成する。次に、作成した表情得点分布と、予め設定しておいた表情毎の、得点分布テンプレートとを比較し、得点分布の傾向が類似するテンプレートに対応する表情を、認識対象物体としての顔が示す表情と判定する。
【０１１２】
例えば、算出された喜び表情を判定するための得点分布を図２７とする。そして、この得点分布と類似する、予め設定された得点分布のテンプレートが、図２８の「喜び」の表情に対応するテンプレートであるとする。この場合は表情を「喜び」と判定する。
【０１１３】
上記のように本実施形態に係る撮像装置においては、顔の特定箇所の画像データにおける位置（顔位置）を顔の輪郭に基づいて検出し、検出された顔位置に基づいて特徴点を探索する領域を設定する。そして、画像データの全ての領域ではなく、設定された領域内のみにおいて特徴点の探索を行う。これにより、効率的に探索作業を行うことができる。
【０１１４】
また、本実施形態に係る撮像装置においては、低解像度の画像データを用いて顔位置の検出を行う。また、特徴点の探索は高解像度の画像データを用いて行う。これにより、特徴点の探索作業を効率的に進めることができ、かつ、精確に特徴点を抽出でき、従って、精確な表情判定を行うことができる。
【０１１５】
本実施形態に係る撮像装置においては、２つのネットワーク（ニューラルネットワーク）を用いることによって、様々な変動が生じた場合でも高精度に特徴点を抽出することができる。更に、これら高精度な特徴点抽出により微小な顔面特徴変化に伴う表情変化をも認識することができる。
【０１１６】
＜＜第２実施形態＞＞
第１実施形態では、あらかじめ登録された無表情の参照顔の特徴量と、認識対象の顔の特徴量とを比較し、算出された各特徴量の変化量に基づいて表情を判定していたが、表情の判定手法はこれに限られない。本実施形態では測定画像の各フレームを解析して取得される動きベクトルに基づいて表情の変化を判定する構成について説明する。尚、本実施形態に係る情報処理装置のハードウェア構成は第１実施形態の構成と同様である。
【０１１７】
〔情報処理装置の機能構成〕
まず、本実施形態に係る物体認識のための機能構成について、図３０を参照して説明する。図３０は、本実施形態に係る情報処理装置の機能構成を示したブロック図である。
【０１１８】
図３０のように、本実施形態に係る情報処理装置の機能構成は、画像入力部３００、顔位置検出部３０１、表情認識部３０２からなる。画像入力部３００と顔位置検出部３０１での処理は第１実施形態と同様であるため、説明を省略する。
【０１１９】
図３１は、表情認識部３０２の機能構成を示したブロック図である。図３１のように、本実施形態において、表情認識部３０２は、所定特徴点抽出部３１０と動きベクトル算出部３１１と表情判定部３１２から構成される。表情判定部３１２は、動きベクトルと表情の変化との対応が示されたテーブル３１３を参照してニューロンに表情変化判定の学習を行わせる。所定特徴点抽出部３１０での処理は第１実施形態と同様であるため、説明を省略する。本実施形態では、特徴点座標を顔の検出位置を基準とした座標で表した場合について説明するが、これに限られない。
【０１２０】
動きベクトル算出部３１１は、顔位置検出部３０１で検出された顔位置を基準として顔の位置を始点、各特徴点を終点とした動きベクトルを算出する。表情判定部１１２は、第１実施形態同様にＮＮを用いて表情判定を行う。
【０１２１】
〔全体処理〕
次に、本実施形態に係る構成において実行する全体処理について図３６を参照して説明する。図３６は、本実施形態に係る全体処理の流れを示したフローチャートである。
【０１２２】
まず、ステップＳ３２０では、顔位置検出部３０１において、画像入力部３００で得られた画像データの間引き処理及びヒストグラム補正処理を行う。ここで、間引き処理を行った後の画像解像度は、例えば、３６０×２４０[pixels]である。
【０１２３】
次に、ステップＳ３２１では、顔位置検出部３０１において、ＣＮＮを用いて画像中の顔位置判定処理を行う。この顔の位置を判定するＣＮＮの入力画像の画像解像度は更なる間引き処理を行うことにより、例えば、１８０×１２０[pixels]としている。
【０１２４】
次に、ステップＳ３２２では、顔が検出されたか否かを、表情認識部３０２において判定する。検出された場合（ステップＳ３２２でＹＥＳ）はステップＳ３２３へ進む。検出されなかった場合（ステップＳ３２２でＮＯ）はステップＳ３７０へ戻り、次のフレームの画像データについて同様の処理を行う。
【０１２５】
ステップＳ３２３では、所定特徴量抽出部３１０において、顔位置検出のための第一のＣＮＮを利用して抽出された顔・目位置を用いて鼻孔特徴点抽出範囲の設定を行う。
【０１２６】
次に、ステップＳ３２４では、所定特徴量抽出部３１０において、ステップＳ３２３で設定された各抽出範囲に基づいて第二のＣＮＮを用いて特徴点抽出を行う。特徴点を抽出するための第二のＣＮＮの入力画像の解像度は、例えば、３６０×２４０[pixels]とする。
【０１２７】
次に、ステップＳ３２５では、所定特徴量抽出部３１０において、ステップＳ３２３乃至Ｓ３２４の処理により全ての特徴点が抽出されたか否かを判定する。全ての特徴点が抽出されている場合（ステップＳ３２５でＹＥＳ）はステップＳ３２６へ進む。抽出されていない場合（ステップＳ３２５でＮＯ）はステップＳ３２０へ戻り、次のフレームについて同様の処理を行う。
【０１２８】
ステップＳ３２６では、動きベクトル算出部３１１において、前フレームで算出されたベクトルと現フレームで算出されたベクトルを比較することによって各特徴点について動きベクトルを算出する。
【０１２９】
次に、ステップＳ３２７では、ステップＳ３２６で算出された動きベクトルに基づき、表情を判定するためのＮＮを利用して表情判定を行う。そして処理を終了する。
【０１３０】
以下、各機能構成における処理を説明することにより上記の各ステップにおける処理について詳述する。
【０１３１】
〔動きベクトル算出部３１１〕
次に、動きベクトル算出部３１１の機能について詳細に説明する。動きベクトル算出部３１１は、顔位置検出部３０１で検出された顔位置を基準として顔の位置を始点、各特徴点を終点とした動きベクトルを、図８で示した鼻孔特徴点以外の特徴点数と同じ数だけ算出する。
【０１３２】
動きベクトルの算出について図３２を参照して説明する。図３２は、顔検出位置を始点、右目尻特徴点を終点としたベクトルを、t,t+1[frame]の画像について示した模式図である。
【０１３３】
図３２において、３２０１は基準点としての顔検出位置、３２０２はt[frame]における目尻特徴点、３２０３はt+1[frame]における目尻特徴点である。図３２のように、t[frame]とt+1[frame]において、顔検出位置３２０１を始点、目尻特徴点３２０２、３２０３を終点としたベクトルを夫々ｃ、ｂとすると、動きベクトルａをａ＝ｂ−ｃと定義する。
【０１３４】
図３３は、動きベクトルの算出を示した模式図である。他の特徴点についても同様にして動きベクトルを算出し、鼻孔特徴点（図８の１５４）を除いた計１８個の動きベクトルを算出する。なお、動きベクトルを算出する際には、t[frame]とt+1[frame]を使用するのではなく、フレームレートに応じてt[frame]とt+2[frame]もしくはt+3[frame]を用いて動きベクトルを算出するようにしてもよい。
【０１３５】
また、算出した動きベクトルは、変動によって向きやサイズが変化する。よって、これらのうち、サイズの変化に対応するための正規化処理を行う。例えば、目頭間距離｜ｆ｜を基準としてベクトルの大きさを表すようにする。
【０１３６】
例えば、図３４において、正規化の基準となるベクトルをｆとすると、ベクトルｄは正規化後にｄ／｜ｆ｜で表すことができる。同様に、サイズ変動が生じ、目頭間距離が図３５に示すように｜ｇ｜となった場合、図３５のベクトルｅは正規化後にｅ／｜ｇ｜で表すことができる。このような正規化を行うことで、目・口などの顔面特徴に変化がなく、サイズ変動だけが生じた場合には、ベクトルｄはベクトルｅと等しくなる。このため、撮影の角度等による認識誤差を抑えることができる。
【０１３７】
回転変動に対して、横方向回転変動が生じた場合には、図３４のベクトルの水平方向成分だけが変化するため、図３４のベクトルｄの水平方向成分ｄ2の大きさを回転変動に応じて正規化する。正規化は、第１実施形態で示したように顔検出位置と左右両目検出位置を用いることによって回転を検出し、検出された回転に基づいて特徴点の配置を修正する。
【０１３８】
例えば、図２３を用いて説明すると、回転方向領域の特徴点から得られるベクトルの水平成分をａ2／ｂ2倍する。そして、図３３のように、ｂ−ｃ＝ａから動きベクトルａを算出する。ただし、回転方向領域の特徴点は、例えば、図８の特徴点１４３, 特徴点１４４, 特徴点１４５, 特徴点１５０, 特徴点１５１, 特徴点１５２, 特徴点１５３, 特徴点１５８である。
【０１３９】
縦方向回転変動に対しても、鼻孔特徴点以外のすべての特徴点から得られるベクトルの垂直方向成分ｄ1の大きさをｃ／ｃ3倍した後に、図３３のように、ｂ−ｃ＝ａから動きベクトルａを算出する。
【０１４０】
なお、各特徴点からベクトルを算出する際のベクトルの始点位置は上記に限られない。例えば、顔検出位置以外にも鼻孔特徴点位置（図８の特徴点１５４）や目頭特徴点（図８の特徴点１４９、特徴点１５０）、顔検出ＣＮＮで得られる両目検出位置（図９の右目検出位置１６０、左目検出位置１６１）、口検出位置（図９の１６３）等としても良い。
【０１４１】
〔表情判定部３１２〕
次に、表情判定部３１２について説明する。表情判定部３１２は、第１実施形態同様にＮＮを用いて表情判定を行う。第１実施形態の場合は入力を、ＨＤ３９５等の記憶装置にあらかじめ用意しておいた無表情顔との比較によって得られた、正規化された２２個の特徴量変化量を入力とした。本実施形態においては、例えば、１８個の動きベクトルそれぞれの水平成分及び垂直成分、即ち、計３６個のベクトルの大きさと向きをＮＮの入力とする。例えば、ベクトル（４、−３）は水平成分＋４と垂直成分−３のように夫々の動きベクトルを成分毎に分割できるため、夫々のベクトルの成分毎の大きさと向きを入力とする。
【０１４２】
一方、出力は０から１の値を出力する８個の表情判定ニューロンから構成される。出力系のニューロンは第１実施形態のニューロンと同様である。表情の学習について説明する。第１実施形態で説明したように、認識対象物体としての顔がある表情をとると、特定の特徴量変化量が増減する。認識対象物体としての顔がある表情をとった場合、動きベクトルも同様に特定の方向と大きさを持つようになる。このため、ある表情を示す特定の動きベクトルの方向と大きさが入力層の特徴に入力された時に、出力層でこの表情を示すニューロンが１に近い出力が得られるようにすることで学習を行うことができる。
【０１４３】
テーブル３１３は、動きベクトルの各パラメータ（例えば、方向、大きさを示す値等）と表情との対応関係を格納している。図４１はテーブル３１３の内容を例示した図である。表情判定部３１２はテーブル３１３を参照してニューロンの学習を制御する。例えば、予め定義された動きベクトル１のパラメータ１が増加傾向にあり、パラメータ２が減少傾向にある場合は喜びの出力が高まるように学習を制御する。テーブル１１３はＨＤ３９５等の記憶装置に予め定義しておく。
【０１４４】
上記のように、本実施形態に係る構成においては、互いに隣接するフレームにおける特徴点に基づいて算出される移動ベクトルに基づいて表情の判定を行うことにより、表情の変化を効率的に検知することができる。
【０１４５】
＜＜第３実施形態＞＞
第１、第２実施形態においては、情報処理装置としてＰＣ、ＷＳ、ＰＤＡ等を想定したがこれに限られない。例えば、デジタルカメラ等の撮像装置に上記のような構成を実現してもよい。
【０１４６】
本実施形態に示す構成は、デジタルカメラ（カメラ）等の撮像装置に顔検出および表情認識機能を組み込むことで、被写体が予め設定された所望の表情（例えば「喜び」）をとったことを自動的に検出し、自動的に記録することを可能にしたものである。さらに、記録した画像の表示等を行う。
【０１４７】
図３７は、本実施形態に係る情報処理装置の機能構成を示したブロック図である。図３７のように、本実施形態に係る情報処理装置は、画像入力部４００、顔位置検出部４０１、表情認識部４０２、画像表示部４０３、画像記憶部４０４から構成される。
【０１４８】
画像入力部４００と顔位置検出部４０１と表情認識部４０２は、第１、第２実施形態で説明した構成と同等の処理を行う。
【０１４９】
４０３は画像表示部であり、表情認識部４０２において予め設定された表情をとっていると判定された画像をディスプレイ３９７に表示する。即ち、ＲＡＭ３９２等のバッファメモリに一時的に記憶された画像データをディスプレイ３９７に表示する。表示の際に、画像データを数画素ずつ飛ばして読み出し、表示してもよい。この場合、高速な表示が可能となる。
【０１５０】
４０４は画像記憶部であり、ディスプレイ３９７に表示した画像データをＲＡＭ７、メモリ（例えば、フラッシュメモリ）３９４等の記憶装置に記憶する。
【０１５１】
〔全体処理〕
次に、本実施形態に係る構成において実行する全体処理について図３８を参照して説明する。図３８は、本実施形態に係る全体処理の流れを示したフローチャートである。
【０１５２】
まず、ステップＳ４１０では、顔位置検出部４０１において、画像入力部４００で得られた画像データの間引き処理及びヒストグラム補正処理を行う。ここで、間引き処理を行った後の画像解像度は、例えば、３６０×２４０[pixels]である。
【０１５３】
次に、ステップＳ４１１では、顔位置検出部４０１において、ＣＮＮを用いて画像中の顔位置判定処理を行う。この顔の位置を判定するＣＮＮの入力画像の画像解像度は更なる間引き処理を行うことにより、例えば、１８０×１２０[pixels]としている。
【０１５４】
次に、ステップＳ４１２では、顔が検出されたか否かを、表情認識部４０２において判定する。検出された場合（ステップＳ４１２でＹＥＳ）はステップＳ４１３へ進む。検出されなかった場合（ステップＳ４１２でＮＯ）はステップＳ３７０へ戻り、次のフレームの画像データについて同様の処理を行う。
【０１５５】
ステップＳ４１３では、表情認識部４０２において、顔位置検出のための第一のＣＮＮを利用して抽出された顔・目位置を用いて鼻孔特徴点抽出範囲の設定を行う。
【０１５６】
次に、ステップＳ４１４では、表情認識部４０２において、ステップＳ４１３で設定された各抽出範囲に基づいて第二のＣＮＮを用いて特徴点抽出を行う。特徴点を抽出するための第二のＣＮＮの入力画像の解像度は、例えば、３６０×２４０[pixels]とする。
【０１５７】
次に、ステップＳ４１５では、表情認識部４０２において、ステップＳ４１３乃至Ｓ４１４の処理により全ての特徴点が抽出されたか否かを判定する。全ての特徴点が抽出されている場合（ステップＳ４１５でＹＥＳ）はステップＳ４１６へ進む。抽出されていない場合（ステップＳ４１５でＮＯ）はステップＳ４１０へ戻り、次のフレームについて同様の処理を行う。
【０１５８】
ステップＳ４１６では、表情認識部４０２において、前フレームで算出されたベクトルと現フレームで算出されたベクトルを比較することによって各特徴点について動きベクトルを算出する。
【０１５９】
次に、ステップＳ４１７では、ステップＳ４１６で算出された動きベクトルに基づき、表情を判定するためのＮＮを利用して表情判定を行う。
【０１６０】
次に、ステップＳ４１８では、ステップＳ４１７において表情が認識されたか否かを判定する。認識された場合（ステップＳ４１８でＹＥＳ）はステップＳ４１９へ進む。認識されなかった場合（ステップＳ４１８でＮＯ）はステップＳ４１０へ戻り、処理を継続する。
【０１６１】
ステップＳ４１９では、表情が認識された画像データをディスプレイ３９７に表示する。この時、必要に応じて解像度を下げて表示する。また、画像データと共に、表示した画像データをメディア３９４等の記憶装置に記憶するか否かをユーザが選択可能なユーザインタフェースをディスプレイ３９７に表示する。
【０１６２】
次に、ステップＳ４２０では、ユーザにより、画像データを記憶する旨が選択された場合（ステップＳ４２０でＹＥＳ）はステップＳ４２１へ進む。選択されなかった場合（ステップＳ４２０でＮＯ）はステップＳ４１０へ戻り、処理を継続する。
【０１６３】
ステップＳ４２１では、画像データを高解像度でメディア３９４（例えば、フラッシュメモリ）等の記憶装置に記憶する。そして処理を終了する。
【０１６４】
尚、ステップＳ４１８乃至Ｓ４２１における処理は、例えば、以下のようにしてもよい。即ち、ディスプレイ３９７に表示、及び／又は、メディア３９４等の記憶装置に記憶、を行う表情を予め設定しておく。そして、ステップＳ４１８において、認識対象の画像が予め設定された表情と認識されたか否かを判定する。認識された場合（ステップＳ４１８でＹＥＳ）はステップＳ４１９へ進み、認識されなかった場合（ステップＳ４１８でＮＯ）はステップＳ４１０へ戻る。
【０１６５】
ステップＳ４１９では、画像データをディスプレイ３９７に表示する。そして、ステップＳ４２０の処理はスキップしてステップＳ４２１へ進む。
【０１６６】
ステップＳ４２１では、画像データをメディア３９４等の記憶装置に記憶する。
【０１６７】
このように本実施形態に係る撮像装置は画像データの表情を自動的に認識し、予め設定された表情に対応する画像データのみを表示、記憶する。これにより、ユーザはシャッターのタイミングを逃すことなく所望とする画像を撮像することができる。
【０１６８】
＜＜その他の実施形態＞＞
以上、本発明の実施形態例について詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様を取ることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１６９】
尚、本発明は、前述した実施形態の機能を実現するプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１７０】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含む。
【０１７１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１７２】
プログラムを供給するための記録媒体としては、例えば、次のものが含まれる。即ち、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）等が含まれる。
【０１７３】
その他、プログラムの供給形態としては、次のようなものも考えられる。即ち、クライアント装置のブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明に係るコンピュータプログラム、或いは、圧縮され自動インストール機能を含むファイルをＨＤ等の記録媒体にダウンロードする形態も考えられる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１７４】
また、次のような供給形態も考えられる。即ち、まず、本発明に係るプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布する。そして、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報の使用により暗号化されたプログラムを実行してコンピュータにインストールさせて本発明に係る構成を実現する。このような供給形態も可能である。
【０１７５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他次のような実現形態も想定される。即ち、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１７６】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づいも前述した実施形態の機能が実現される。即ち、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１７７】
【図１】第１実施形態に係る情報処理装置の機能構成を示したブロック図である。
【図２】神経回路網を示した模式図である。
【図３】ヒストグラム補正の処理を模式的に示した図である。
【図４】ある階層特徴の１つのニューロンと前階層特徴の複数ニューロンとの結合関係を示した図である。
【図５】ある階層特徴の隣接する夫々のニューロンを算出するために必要な前階層ニューロンとの結合関係を示した図である。
【図６】表情認識部の詳細な機能構成を示した図である。
【図７】特徴点を抽出するためのＣＮＮの構成を示した図である。
【図８】抽出する各特徴点を示した模式図である。
【図９】顔の位置を検出するＣＮＮから得られる顔、左右目、口重心位置を示した模式図である。
【図１０】鼻孔位置を得るための鼻孔重心位置算出範囲、重心算出範囲を得るために必要な積和演算範囲、重心算出範囲を得るために必要な入力画像範囲を示した模式図である。
【図１１】左右夫々の鼻孔位置、鼻下エッジを示した模式図である。
【図１２】左右鼻孔位置の重心、右鼻孔位置の重心、鼻下エッジの重心を算出するために必要な受容野を示した模式図である。
【図１３】左右眉毛端点特徴点を得るための重心算出範囲を示した図である。
【図１４】左右眉毛中点特徴点を得るための重心算出範囲を示した図である。
【図１５】左右目端点特徴点を得るための重心算出範囲を示した図である。
【図１６】左右目上下特徴点を得るための重心算出範囲を示した図である。
【図１７】口端点特徴点を得るための重心算出範囲を示した図である。
【図１８】口上下特徴点を得るための重心算出範囲を示した図である。
【図１９】額、眉間及び頬領域を示した図である。
【図２０】すべての特徴点を得るために必要な必要最低限の入力画像領域を示した図である。
【図２１】サイズ変動及び回転変動を検出するために用いる左右目領域と顔領域の重心位置を示した図である。
【図２２】サイズ変動時の左右目領域と顔領域の重心位置を示した図である。
【図２３】左右回転変動時の左右目領域と顔領域の重心位置を示した図である。
【図２４】上下回転変動時の左右目領域と顔領域の重心位置を示した模式図である。
【図２５】表情を判定するＣＮＮの構成を示した模式図である。
【図２６】表情「喜び」を判定するために各特徴量変化量から得点を算出する際の各特徴量変化量の重みを示す図である。
【図２７】各特徴量変化量から算出された得点分布を示す図である。
【図２８】あらかじめ用意された表情「喜び」に対応する得点分布テンプレートを示す図である。
【図２９】第１実施形態に係る全体処理の流れを示したフローチャートである。
【図３０】第２実施形態に係る情報処理装置の機能構成を示したブロック図である。
【図３１】表情認識部の機能構成を示したブロック図である。
【図３２】顔検出位置を始点、右目尻特徴点を終点としたベクトルを、t,t+1[frame]の画像について示した模式図である。
【図３３】動きベクトルの算出を示した模式図である。
【図３４】顔検出位置を始点、右目尻特徴点を終点としたベクトルの水平、垂直成分と目頭間距離を示した図である。
【図３５】サイズ変動が生じた場合の顔検出位置を始点、右目尻特徴点を終点としたベクトルの水平、垂直成分と目頭間距離を示した図である。
【図３６】第２実施形態に係る全体処理の流れを示したフローチャートである。
【図３７】第３実施形態に係る情報処理装置の機能構成を示したブロック図である。
【図３８】第３実施形態に係る全体処理の流れを示したフローチャートである。
【図３９】第１乃至第３実施形態に係る情報処理装置のハードウェア構成を模式的に示したブロック図である。
【図４０】テーブル１１３の内容を例示した図である。
【図４１】テーブル３１３の内容を例示した図である。
【図１】
0004799105.tif 000002
【図２】
0004799105.tif 000003
【図３】
0004799105.tif 000004
【図４】
0004799105.tif 000005
【図５】
0004799105.tif 000006
【図６】
0004799105.tif 000007
【図７】
0004799105.tif 000008
【図８】
0004799105.tif 000009
【図９】
0004799105.tif 000010
【図１０】
0004799105.tif 000011
【図１１】
0004799105.tif 000012
【図１２】
0004799105.tif 000013
【図１３】
0004799105.tif 000014
【図１４】
0004799105.tif 000015
【図１５】
0004799105.tif 000016
【図１６】
0004799105.tif 000017
【図１７】
0004799105.tif 000018
【図１８】
0004799105.tif 000019
【図１９】
0004799105.tif 000020
【図２０】
0004799105.tif 000021
【図２１】
0004799105.tif 000022
【図２２】
0004799105.tif 000023
【図２３】
0004799105.tif 000024
【図２４】
0004799105.tif 000025
【図２５】
0004799105.tif 000026
【図２６】
0004799105.tif 000027
【図２７】
0004799105.tif 000028
【図２８】
0004799105.tif 000029
【図２９】
0004799105.tif 000030
【図３０】
0004799105.tif 000031
【図３１】
0004799105.tif 000032
【図３２】
0004799105.tif 000033
【図３３】
0004799105.tif 000034
【図３４】
0004799105.tif 000035
【図３５】
0004799105.tif 000036
【図３６】
0004799105.tif 000037
【図３７】
0004799105.tif 000038
【図３８】
0004799105.tif 000039
【図３９】
0004799105.tif 000040
【図４０】
0004799105.tif 000041
【図４１】
0004799105.tif 000042