(57)【特許請求の範囲】
【請求項１】
被写体を撮像する撮像手段を備えた撮像装置において、  前記撮像手段により撮像された１枚の２次元の画像データから被写体の特徴データを算出する特徴データ算出手段と、  所定の３次元の立体顔データから、２次元の顔の特徴データを算出していく顔特徴データ算出手段と、  前記顔特徴データ算出手段により順次算出された顔の特徴データと、前記特徴データ算出手段により算出された被写体の特徴データとを比較照合することにより、前記撮像手段により撮像された１枚の２次元の画像データ内にある顔を認識する顔認識手段と、を備え、 前記顔特徴データ算出手段は、 表情動作単位と顔の筋肉の収縮との対応関係を示した表情単位動作テーブルと、表情の種類と前記表情動作単位の組み合わせを示した表情テーブルを含み、 前記表情テーブルの表情動作単位を組み合わせることにより、前記立体顔データの表情を変化させて、該表情が変化された立体顔データに基づいて平面画像データを生成し、該生成した平面画像データから、異なる表情の２次元の顔の特徴データを算出していくことを特徴とする撮像装置。  
【請求項２】
前記所定の立体顔データから、異なる向きから見た２次元の顔の特徴データを算出していくことを特徴とする請求項１記載の撮像装置。  
【請求項３】
前記顔認識手段は、  前記特徴データ算出手段により算出された被写体の特徴データの中に、前記顔特徴データ算出手段により算出された顔の特徴データと所定の範囲内で一致する特徴データがある場合には、該一致した特徴データの部分に顔があると認識することを特徴とする請求項１乃至２の何れかに記載の撮像装置。  
【請求項４】
前記顔特徴データ算出手段は、  前記顔認識手段により顔が認識された場合は、２次元の顔の特徴データの算出を終了することを特徴とする請求項１乃至３何れかに記載の撮像装置。  
【請求項５】
前記特徴データ算出手段は、  前記撮像手段により撮像された１枚の画像データの画角の中央領域、又は、ユーザによって指定された任意の領域、又は、肌色成分を有する領域の画像データから被写体の特徴データを算出することを特徴とする請求項１乃至４何れかに記載の撮像装置。  
【請求項６】
前記所定の立体顔データは、  所定の種類の被写体の立体顔データ、若しくは複数の種類の被写体の立体顔データ、又は、１又は２以上の人物の立体顔データであることを特徴とする請求項１乃至５何れかに記載の撮像装置。  
【請求項７】
前記顔認識手段は、  前記撮像手段により撮像された画像データ内にある顔を検出することを特徴とする請求項１乃至６いずれかに記載の撮像装置。  
【請求項８】
前記顔認識手段は、  前記撮像手段により撮像された画像データ内にある顔が誰の顔であるかを個人認識することを特徴とする請求項１乃至７何れかに記載の撮像装置。  
【請求項９】
被写体を撮像する撮像手段を備えた撮像装置の処理実行方法であって、 前記撮像手段により撮像された１枚の２次元の画像データから被写体の特徴データを算出する特徴データ算出ステップと、 所定の３次元の立体顔データから、２次元の顔の特徴データを算出していく顔特徴データ算出ステップと、 前記顔特徴データ算出手段により順次算出された顔の特徴データと、前記特徴データ算出手段により算出された被写体の特徴データとを比較照合することにより、前記撮像手段により撮像された１枚の２次元の画像データ内にある顔を認識する顔認識ステップと、を備え、 前記顔特徴データ算出ステップは、 表情動作単位と顔の筋肉の収縮との対応関係を示した表情単位動作テーブルと、表情の種類と前記表情動作単位の組み合わせを示した表情テーブルを基づいて、前記表情テーブルの表情動作単位を組み合わせることにより、前記立体顔データの表情を変化させて、該表情が変化された立体顔データに基づいて平面画像データを生成し、該生成した平面画像データから、異なる表情の２次元の顔の特徴データを算出していくことを特徴とする撮像装置の処理実行方法。
【請求項１０】
各処理をコンピュータに実行させるプログラムにおいて、  被写体を撮像する撮像処理と、  前記撮像処理により撮像された１枚の２次元画像データから被写体の特徴データを算出する特徴データ算出処理と、  所定の３次元立体顔データから、２次元の顔の特徴データを算出していく顔特徴データ算出処理と、  前記顔特徴データ算出処理により順次算出された顔の特徴データと、前記特徴データ算出処理により算出された被写体の特徴データとを比較照合することにより、前記撮像処理により撮像された１枚の２次元の画像データ内にある顔を認識する顔認識処理と、を含み、  前記顔特徴データ算出処理は、 表情動作単位と顔の筋肉の収縮との対応関係を示した表情単位動作を組み合わせることにより、前記立体顔データの表情を変化させて、該表情が変化された立体顔データに基づいて平面画像データを生成し、該生成した平面画像データから、異なる表情の２次元の顔の特徴データを算出していくことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置及びそのプログラムに係り、詳しくは、顔を認識する機能を有した撮像装置及びそのプログラムに関する。
【背景技術】
【０００２】
近年、電子カメラ等の撮像装置においては、被写体の顔を認識する技術が登場したことにより、該検出された顔に対してピントを合わせたり、顔が適正露出となるように露出条件を設定する技術がある（特許文献１）。
【０００３】
【特許文献１】公開特許公報  特開２００７−０８１９９１
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の顔認識は、人間の顔、それも正面の顔などある特定の向きから撮像された場合のみを対象としており、横顔やサングラスの装着時などは認識することができなかった。また、人間以外の顔、例えば、猫や犬などの顔は認識することができなかった。
【０００５】
そこで本発明は、かかる従来の問題点に鑑みてなされたものであり、顔認識の精度を向上させることができる撮像装置及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１記載の発明では、被写体を撮像する撮像手段を備えた撮像装置において、前記撮像手段により撮像された１枚の２次元の画像データから被写体の特徴データを算出する特徴データ算出手段と、所定の３次元の立体顔データから、２次元の顔の特徴データを算出していく顔特徴データ算出手段と、前記顔特徴データ算出手段により順次算出された顔の特徴データと、前記特徴データ算出手段により算出された被写体の特徴データとを比較照合することにより、前記撮像手段により撮像された１枚の２次元の画像データ内にある顔を認識する顔認識手段と、を備え、前記顔特徴データ算出手段は、表情動作単位と顔の筋肉の収縮との対応関係を示した表情単位動作テーブルと、表情の種類と前記表情動作単位の組み合わせを示した表情テーブルを含み、前記表情テーブルの表情動作単位を組み合わせることにより、前記立体顔データの表情を変化させて、該表情が変化された立体顔データに基づいて平面画像データを生成し、該生成した平面画像データから、異なる表情の２次元の顔の特徴データを算出していくことを特徴とする撮像装置を提供するものである。
【００２１】
また、例えば、請求項２に記載されているように、前記顔特徴データ算出手段は、前記所定の立体顔データから、異なる向きから見た２次元の顔の特徴データを算出していくようにしてもよい。 
【００２３】
また、例えば、請求項３に記載されているように、前記顔認識手段は、前記特徴データ算出手段により算出された被写体の特徴データの中に、前記顔特徴データ算出手段により算出された顔の特徴データと所定の範囲内で一致する特徴データがある場合には、該一致した特徴データの部分に顔があると認識するようにしてもよい。
【００２４】
また、例えば、請求項４に記載されているように、前記顔特徴データ算出手段は、前記顔認識手段により顔が認識された場合は、２次元の顔の特徴データの算出を終了するようにしてもよい。
【００２５】
また、例えば、請求項５に記載されているように、前記特徴データ算出手段は、前記撮像手段により撮像された１枚の画像データの画角の中央領域、又は、ユーザによって指定された任意の領域、又は、肌色成分を有する領域の画像データから被写体の特徴データを算出するようにしてもよい。
【００２６】
また、例えば、請求項６に記載されているように、前記所定の立体顔データは、所定の種類の被写体の立体顔データ、若しくは複数の種類の被写体の立体顔データ、又は、１又は２以上の人物の立体顔データであるようにしてもよい。
【００２７】
また、例えば、請求項７に記載されているように、前記顔認識手段は、前記撮像手段により撮像された画像データ内にある顔を検出するようにしてもよい。
【００２８】
また、例えば、請求項８に記載されているように、前記顔認識手段は、前記撮像手段により撮像された画像データ内にある顔が誰の顔であるかを個人認識するようにしてもよい。
【００２９】
また、請求項９記載の発明では、被写体を撮像する撮像手段を備えた撮像装置の処理実行方法であって、前記撮像手段により撮像された１枚の２次元の画像データから被写体の特徴データを算出する特徴データ算出ステップと、所定の３次元の立体顔データから、２次元の顔の特徴データを算出していく顔特徴データ算出ステップと、前記顔特徴データ算出手段により順次算出された顔の特徴データと、前記特徴データ算出手段により算出された被写体の特徴データとを比較照合することにより、前記撮像手段により撮像された１枚の２次元の画像データ内にある顔を認識する顔認識ステップと、を備え、前記顔特徴データ算出ステップは、表情動作単位と顔の筋肉の収縮との対応関係を示した表情単位動作テーブルと、表情の種類と前記表情動作単位の組み合わせを示した表情テーブルに基づいて、前記表情テーブルの表情動作単位を組み合わせることにより、前記立体顔データの表情を変化させて、該表情が変化された立体顔データに基づいて平面画像データを生成し、該生成した平面画像データから、異なる表情の２次元の顔の特徴データを算出していくことを特徴とする撮像装置の処理実行方法を提供する。 さらに、請求項１０記載の発明では、各処理をコンピュータに実行させるプログラムにおいて、被写体を撮像する撮像処理と、前記撮像処理により撮像された１枚の２次元画像データから被写体の特徴データを算出する特徴データ算出処理と、所定の３次元立体顔データから、２次元の顔の特徴データを算出していく顔特徴データ算出処理と、前記顔特徴データ算出処理により順次算出された顔の特徴データと、前記特徴データ算出処理により算出された被写体の特徴データとを比較照合することにより、前記撮像処理により撮像された１枚の２次元の画像データ内にある顔を認識する顔認識処理と、を含み、前記顔特徴データ算出処理は、表情動作単位と顔の筋肉の収縮との対応関係を示した表情単位動作を組み合わせることにより、前記立体顔データの表情を変化させて、該表情が変化された立体顔データに基づいて平面画像データを生成し、該生成した平面画像データから、異なる表情の２次元の顔の特徴データを算出していくことを特徴とするプログラムを提供する。
【発明の効果】
【００３１】
本願発明によれば、顔認識の精度を向上させることができる。
【発明を実施するための最良の形態】
【００３２】
以下、本実施の形態について、本発明の撮像装置をデジタルカメラに適用した一例として図面を参照して詳細に説明する。
[第１の実施の形態]
Ａ．デジタルカメラの構成
図１は、本発明の撮像装置を実現するデジタルカメラ１の電気的な概略構成を示すブロック図である。
デジタルカメラ１は、撮影レンズ２、レンズ駆動ブロック３、絞り４、ＣＣＤ５、ドライバ６、ＴＧ（timing generator）７、ユニット回路８、画像生成部９、ＣＰＵ１０、キー入力部１１、メモリ１２、ＤＲＡＭ１３、フラッシュメモリ１４、画像表示部１５、バス１６を備えている。
【００３３】
撮影レンズ２は、図示しない複数のレンズ群から構成されるフォーカスレンズ、ズームレンズ等を含む。そして、撮影レンズ２にはレンズ駆動ブロック３が接続されている。レンズ駆動ブロック３は、フォーカスレンズ、ズームレンズをそれぞれ光軸方向に沿って駆動させるフォーカスモータ、ズームモータと、ＣＰＵ１０から送られてくる制御信号にしたがって、フォーカスモータ、ズームモータを駆動させるフォーカスモータドライバ、ズームモータドライバから構成されている（図示略）。
【００３４】
絞り４は、図示しない駆動回路を含み、駆動回路はＣＰＵ１０から送られてくる制御信号にしたがって絞り４を動作させる。
絞り４とは、撮影レンズ２から入ってくる光の量を制御する機構のことをいう。
【００３５】
ＣＣＤ５は、ドライバ６によって駆動され、一定周期毎に被写体像のＲＧＢ値の各色の光の強さを光電変換して撮像信号としてユニット回路８に出力する。このドライバ６、ユニット回路８の動作タイミングはＴＧ７を介してＣＰＵ１０により制御される。なお、ＣＣＤ５はベイヤー配列の色フィルターを有しており、電子シャッタとしての機能も有する。この電子シャッタのシャッタ速度は、ドライバ６、ＴＧ７を介してＣＰＵ１０によって制御される。
【００３６】
ユニット回路８には、ＴＧ７が接続されており、ＣＣＤ５から出力される撮像信号を相関二重サンプリングして保持するＣＤＳ（Correlated Double Sampling）回路、そのサンプリング後の撮像信号の自動利得調整を行なうＡＧＣ（Automatic Gain Control）回路、その自動利得調整後のアナログの撮像信号をデジタル信号に変換するＡ／Ｄ変換器から構成されており、ＣＣＤ５から出力された撮像信号はユニット回路８を経てデジタル信号として画像生成部９に送られる。
【００３７】
画像生成部９は、ユニット回路８から送られてきた画像データに対してγ補正処理、ホワイトバランス処理などの処理を施すとともに、輝度色差信号（ＹＵＶデータ）を生成し、該生成された輝度色差信号の画像データはＤＲＡＭ１３（バッファメモリ）に記憶される。つまり、画像生成部９は、ＣＣＤ５から出力された画像データに対して画像処理を施す。
【００３８】
ＣＰＵ１０は、ＣＣＤ５への撮像制御、画像データの圧縮・伸張処理、フラッシュメモリ１４への記録処理、画像データの表示処理を行う機能を有するとともに、デジタルカメラ１の各部を制御するワンチップマイコンである。また、ＣＰＵ１０はクロック回路を含み、タイマーとしての機能も有する。
特に、ＣＰＵ１０は、３次元のデータを用いて人の顔を認識する３次元顔認識手段１０１と、２次元のデータのみを用いて人の顔を認識する２次元顔認識手段１０２を有する。この３次元顔認識手段は１０１と２次元顔認識手段１０２は、画像データ内にある顔を検出する機能と、登録されている人物の顔が画像データ内にあるかを個人認識する機能を有する。つまり、顔検出と個人認識を総称して顔認識という。
【００３９】
キー入力部１１は、半押し全押し可能なシャッタボタン、モード切替キー、十字キー、ＳＥＴキー等の複数の操作キーを含み、ユーザのキー操作に応じた操作信号をＣＰＵ１０に出力する。
メモリ１２には、ＣＰＵ１０が各部を制御するのに必要な制御プログラム、及び必要なデータ（被写体の種類毎（人、犬、猫等）の立体顔データ等）が記録されており、ＣＰＵ１０は、該プログラムに従い動作する。なお、このメモリ１２は書き換え可能な不揮発性メモリである。
【００４０】
ＤＲＡＭ１３は、ＣＣＤ５によって撮像された後、ＣＰＵ１０に送られてきた画像データを一時記憶するバッファメモリとして使用されるとともに、ＣＰＵ１０のワーキングメモリとして使用される。
フラッシュメモリ１４は、圧縮された画像データを保存する記録媒体である。
【００４１】
画像表示部１５は、カラーＬＣＤとその駆動回路を含み、撮影待機状態にあるときには、ＣＣＤ５によって撮像された被写体をスルー画像として表示し、記録画像の再生時には、フラッシュメモリ１４から読み出され、伸張された記録画像を表示させる。
【００４２】
Ｂ．デジタルカメラ１の動作
実施の形態におけるデジタルカメラ１の動作を図２のフローチャートに従って説明する。
ユーザのモード切替キーの操作により、静止画撮影モードに設定されると、ステップＳ１で、ＣＣＤ５に所定のフレームレートで被写体を撮像させる処理を開始させ、ＣＣＤ５により順次撮像され画像生成部９によって生成された輝度色差信号のフレーム画像データ（ＹＵＶデータ）をバッファメモリ（ＤＲＡＭ１３）に記憶させていき、該記憶されたフレーム画像データに基づく画像を画像表示部１５に表示させていくという、いわゆるスルー画像表示を開始する。
【００４３】
次いで、ステップＳ２で、ＣＰＵ１０は、ユーザによってシャッタボタンが半押しされたか否かを判断する。この判断は、シャッタボタンの半押し操作に対応する操作信号がキー入力部１１から送られてきたか否かにより判断する。
このとき、ユーザは、撮影したい被写体（メイン被写体）を画角内に収めて構図を決めてから撮影の準備を指示するためシャッタボタンを半押し操作する。
【００４４】
ステップＳ２で、シャッタボタンが半押しされていないと判断すると、半押しされるまでステップＳ２に留まり、シャッタボタンが半押しされたと判断すると、ステップＳ３に進み、ＣＰＵ１０の３次元顔認識手段１０１は、撮像された画像データの全領域に基づく３次元の顔検出処理を行う。この３次元の顔検出処理は、本発明の特徴部分となるＣＣＤ５により撮像されたフレーム画像データ内に人の顔や猫や犬等の動物の顔があるか否かを検出する処理のことで、後で具体的に説明する。
【００４５】
３次元の顔検出処理を行うと、ステップＳ４に進み、ＣＰＵ１０は、３次元の顔検出処理により顔が検出されたか否かを判断する。
ステップＳ４で顔が検出されたと判断すると、ステップＳ５に進み、ＣＰＵ１０は、該検出された顔に対してコントラスト検出方式によるＡＦ処理を行ってステップＳ７に進む。このコントラスト検出方式によるＡＦ処理とは、周知技術なので詳しくは述べないが、要は、フォーカス対象となる領域の画像データからコントラスト成分を検出し、その波形を解釈して、つまり、高周波成分が最も大きくなるレンズの位置に、フォーカスレンズを合わせてピントを合わせるというものである。
【００４６】
一方、ステップＳ４で顔が検出されなかったと判断すると、ステップＳ６に進み、ＣＰＵ１０は、所定の領域に対してコントラスト検出方式によるＡＦ処理を行って、ステップＳ７に進む。
【００４７】
ステップＳ７に進むと、ＣＰＵ１０は、ユーザによってシャッタボタンが全押しされたか否かを判断する。この判断は、シャッタボタンの全押し操作に対応する操作信号がキー入力部１１から送られてきたか否かにより判断する。
ステップＳ７で、シャッタボタンが全押しされていないと判断すると、全押しされるまでステップＳ７に留まり、シャッタボタンが全押しされたと判断すると、ステップＳ８に進み、ＣＰＵ１０は、静止画撮影処理を行い、該撮影処理により得られた静止画像データを圧縮してフラッシュメモリ１４に記録する処理を行って、ステップＳ１に戻る。
【００４８】
Ｃ．顔検出処理の動作について
次に、本発明の特徴となる顔検出処理の動作を説明する。従来は、単に２次元的に顔検出処理を行っていたが、つまり、撮像された画像データに基づく２次元の被写体の特徴データと２次元の顔データとを比較照合することにより、該画像データ内にある顔を検出していたが、本発明の顔検出処理は、３次元のデータを用いて顔を検出するというものである。
ここでは、３次元のデータを用いて顔を検出する動作を２つ紹介するが、これに限られるものではなく、要は、３次元データを用いて被写体の顔を検出するものであればよい。
【００４９】
Ｃ−１．１つ目の顔検出処理について
まず、１つ目の全領域に基づく３次元の顔検出処理の動作を図３のフローチャートにしたがって説明する。
図２のステップＳ２で、シャッタボタンが半押しされたと判断して、ステップＳ３に進むと、図３のステップＳ１１に進み、ＣＰＵ１０の３次元顔認識手段１０１は、シャッタボタン半押し直前に撮像された複数枚のフレーム画像データから、全被写体の特徴データ（２次元の特徴データ）をそれぞれ算出する。ここでいう「全被写体」とは、ＣＣＤ５によって撮像された全ての被写体のことを指す。例えば、建物の前に立っているメイン被写体である人を撮像した場合は、全被写体は建物と人ということになる。
【００５０】
ここで、ＣＰＵ１０は、シャッタボタンが半押しされるまで、少なくとも最新の複数枚のフレーム画像データをバッファメモリに保持させておく。例えば、５枚のフレーム画像データを保持する場合は、新たにフレーム画像データが撮像されると、該保持している５枚のフレーム画像データのうち、一番古いフレーム画像データを捨て、該新たなフレーム画像データを保持する。
【００５１】
また、フレーム画像データから算出される全被写体の特徴データとは、例えば、撮影された全被写体が建物とその前に立っている人の場合は、建物及び人の特徴点を複数抽出し、該抽出した特徴点の座標位置や相対位置関係等を数値化したデータのことをいう。この特徴点の抽出により、目、鼻、口、顔の輪郭等から顔の特徴点も複数抽出される。つまり、全被写体の特徴データは、顔だけではなく撮像された全ての全被写体の特徴点に基づいて数値化されたデータである。
【００５２】
また、ユーザは、シャッタボタン半押し前に、メイン被写体を撮影する角度（撮影角度）を変えながら撮像する。これにより、異なる撮影角度で撮影された複数のフレーム画像がバッファメモリに保持されることになる。このとき、メイン被写体の画角内での位置を変えないで撮像した方が好ましい。
なお、シャッタボタン半押し直後に撮像された複数枚のフレーム画像データから、全被写体の特徴データをそれぞれ算出するようにしてもよい。この場合、シャッタボタンを半押した後に、メイン被写体を撮影する角度（撮影角度）を変えながら撮像することにより、異なる撮影角度で撮影された複数のフレーム画像がバッファメモリに保持されることになる。
【００５３】
次いで、ステップＳ１２で、３次元顔認識手段１０１は、該算出された各フレーム画像データの全被写体の特徴データに基づいて、全被写体の３次元モデルを生成する。
この３次元モデルの生成は、既に周知技術なので詳しく説明しないが、ある画像の特徴点と、該特徴点に対応する他の画像の特徴点とに基づいて、三角測量演算によって全被写体の３次元モデルを生成する（モデリング処理）。
図４は３次元モデルの生成過程を示すものであり、図４を見るとわかるように、被写体を複数の角度から撮影したフレーム画像データに基づいて、被写体の３次元モデルが生成されている。なお、ここでは、顔のみが撮像されたフレーム画像データに基づいて生成される３次元モデルの様子を示している。
【００５４】
また、図５は、生成された被写体（ここでは顔のみ）の３次元モデルをサーフェスモデルの一種である多角形ポリゴン（ここでは、３角形ポリゴン）で表したときの様子を示す図である。
なお、サーフェスモデルでなく、ワイヤーフレームモデルやソリッドモデル等他の方法によって表すようにしてもよい。
【００５５】
次いで、ステップＳ１３で、ＣＰＵ１０の３次元顔認識手段１０１は、該生成した全被写体の３次元モデルと、予めメモリ１２に記録されている被写体の種類毎の立体顔データ（人、犬、猫等の種類毎の立体顔データ）とを比較照合する。この比較照合は、生成した全被写体の３次元モデルの中に立体顔データと一致する部分があるか否かを判断するためのものである。したがって、この比較照合は、生成された全被写体の３次元モデルの各部と立体顔モデルとを比較照合していく（サーチしていく）ことにより、各部との一致度を得る。この動作を、被写体の種類毎の立体顔データ毎に行なう。この生成されている全被写体の３次元モデルは、撮像された全ての被写体の３次元モデルを生成するため、例えば、建物とその前に立っている人を撮像した場合は、建物とその前に立っている人の３次元モデルを生成するので、該生成した３次元モデルの中に顔があるか否かを判断するために、全被写体の３次元モデルの各部と立体顔データとを比較照合していく。
【００５６】
次いで、ステップＳ１４で、ＣＰＵ１０の３次元顔認識手段１０１は、該生成した全被写体の３次元モデルの中に、複数種類の被写体の立体顔データの何れかの立体顔データと所定値以上で一致する部分があるか否かを判断する。つまり、所定の範囲内で一致する部分があるか否かを判断することになる。
【００５７】
ステップＳ１４で、所定値以上で一致する部分があると判断した場合は、ステップＳ１５に進み、ＣＰＵ１０の３次元顔認識手段１０１は、所定値以上で一致する部分を顔と判断し、該所定値以上で一致した部分に対応する撮像されたフレーム画像データ上の領域を顔領域とする。つまり、フレーム画像データ上の顔領域を検出する。
【００５８】
この所定値以上で一致した部分に対応するフレーム画像データ上の領域とは、全被写体の３次元モデルの中で、一致する部分（顔部分）の特徴データに対応するフレーム画像データ上の領域であり、該特徴データに対応するフレーム画像データは複数あるので（複数枚のフレーム画像データに基づいて全被写体の３次元モデルを生成したため）、所定値以上で一致した部分に対応する、生成元となった複数のフレーム画像データのうち、直近に撮像されたフレーム画像データ上の領域であってもよいし、所定値以上で一致した部分に対応する生成元となった全てのフレーム画像データ上の領域から構成される領域であってもよい。
【００５９】
一方、ステップＳ１４で、所定値以上で一致する部分がないと判断すると、ステップＳ１６に進み、ＣＰＵ１０の３次元顔認識手段１０１は、撮像されたフレーム画像データ内に顔がないと判断する。
また、ステップＳ１５で顔領域を検出すると、図２のステップＳ４で顔が検出できたと判断され、ステップＳ１６で顔がないと判断すると、図２のステップＳ４で顔が検出できなかったと判断する。
【００６０】
このように、１つ目の顔検出処理は、同一被写体を撮像した複数の画像データから、全被写体の３次元モデルを生成し、種類毎の被写体の立体顔データと比較照合することにより顔を検出するので、顔検出の精度を向上させることができる。
例えば、メイン被写体の顔が横を向いていたり、サングラスを装着している場合であっても検出することができる。
また、被写体の種類毎の立体顔データと生成した３次元モデルとを比較照合するので、人の顔に限らず、犬や猫等の動物の顔等も検出することができる。例えば、馬など動物の顔は、見る角度が違うと極端に顔の形が変わってしまうが、３次元とすることにより、精度よく顔を検出することができる。
【００６１】
Ｃ−２．２つ目の顔検出処理について
次に、２つ目の全領域に基づく３次元の顔検出処理の動作を図６のフローチャートにしたがって説明する。
図２のステップＳ２で、シャッタボタンが半押しされたと判断して、ステップＳ３に進むと、図６のステップＳ２１に進み、ＣＰＵ１０の３次元顔認識手段１０１は、顔の向きを正面と設定する。
【００６２】
次いで、ステップＳ２２で、ＣＰＵ１０の３次元顔認識手段１０１は、予めメモリ１２に記録されている被写体の種類毎の立体顔データに基づいて、該設定された向きから見た各種類の被写体の顔の平面（２次元）画像データを生成する（レンダリング処理）。ここでは、設定されている向きは正面なので、種類毎の被写体の顔を正面から見た平面画像データを、被写体の種類毎の立体顔データから生成することになる。この立体的なものから平面画像データを生成する技術は周知技術なので詳しくは説明しないが、陰面消去や陰線消去などを行なうことによって行なわれる。
【００６３】
次いで、ステップＳ２３で、ＣＰＵ１０の３次元顔認識手段１０１は、該生成した被写体の種類毎の顔の平面画像データから、設定されている向きから見た被写体の種類毎の顔特徴データ（２次元の顔特徴データ）を算出する。
次いで、ステップＳ２４で、ＣＰＵ１０の３次元顔認識手段１０１は、直近にＣＣＤ５により撮像されたフレーム画像データから、全被写体の特徴データ（２次元の特徴データ）を算出する。ここでいう「全被写体」とは、ＣＣＤ５によって撮像された全ての被写体のことを指し、以下の説明でも同様である。
【００６４】
次いで、ステップＳ２５で、ＣＰＵ１０の３次元顔認識手段１０１は、ステップＳ２３で算出された、設定されている向きから見た被写体の種類毎の顔特徴データと、ステップＳ２４で算出された全被写体の特徴データとを比較照合する。この比較照合は、生成した全被写体の特徴データの中に顔特徴データと一致する部分かあるか否かを判断するためのものである。したがって、この比較照合は、生成された全被写体の特徴データの各部と顔特徴データとを比較照合していく（サーチしていく）ことにより、各部との一致度を得る。この動作を、被写体の種類毎の顔特徴データ毎に行なう。
【００６５】
次いで、ステップＳ２６で、ＣＰＵ１０の３次元顔認識手段１０１は、ステップＳ２４で算出した全被写体の特徴データの中に、ステップＳ２３で算出した被写体の種類毎の顔特徴データの何れかの顔特徴データと所定値以上で一致する部分（特徴データ）があるか否かを判断する。つまり、所定の範囲内で一致する部分があるか否かを判断することになる。
【００６６】
ステップＳ２６で、所定値以上で一致する部分があると判断した場合は、ステップＳ２７に進み、ＣＰＵ１０の３次元顔認識手段１０１は、該所定値以上で一致する部分を顔と判断し、該部分に対応する、全被写体の特徴データの生成元となったフレーム画像データ上の領域を顔領域とする。つまり、フレーム画像データ上の顔領域を検出する。
【００６７】
一方、ステップＳ２６で、所定値以上で一致する部分がないと判断すると、ステップＳ２８に進み、３次元顔認識手段１０１は、現在設定されている向きが最後の向きであるか否かを判断する。つまり、予め決められたすべての向きが設定されたか否かを判断する。
ステップＳ２８で、設定されている向きが最後の向きでないと判断すると、ステップＳ２９に進み、３次元顔認識手段１０１は、次の向きに設定して、ステップＳ２２に戻る。例えば、現在設定されている向きが顔の正面の場合は、顔を斜め右前から見た向きと設定する。つまり、向きの角度を変える。
【００６８】
一方、ステップＳ２８で、設定されている向きが最後の向きであると判断すると、ステップＳ３０に進み、３次元顔認識手段１０１は、撮像されたフレーム画像データ内に顔がないと判断する。
また、ステップＳ２７で顔領域を検出すると、図２のステップＳ４で顔が検出できたと判断され、ステップＳ３０で顔がないと判断すると、図２のステップＳ４で顔が検出できなかったと判断する。
【００６９】
このように、２つ目の顔検出処理は、全被写体を撮像した１枚の画像データから算出された全被写体の特徴データと、予め記録されている被写体の種類毎の立体顔データから異なる向きから見た被写体の顔の平面画像データを生成していき、該生成された平面画像データから算出された被写体の特徴データと、を比較照合することにより顔を検出するので、顔検出の精度を向上させることができる。
例えば、被写体が犬や猫等の動物であったり、被写体が横を向いている場合であっても検出することができる。
また、１つ目の顔検出処理のように、撮像された複数の画像データから全被写体の３次元モデルを生成する必要は無いので処理負担を軽減させることができる。
【００７０】
［第２の実施の形態］
次に、第２の実施の形態について説明する。
上記第１の実施の形態においては、単に顔検出の場合について説明したが、第２の実施の形態においては、上記説明した顔検出処理の動作を、撮影された顔が具体的に誰であるか？を認識する個人認識の場合に適用するようにしてもよい。つまり、予め登録している人物の顔が撮像された画像データの中にあるか否かを個人認識することになる。なお、この個人認識の場合は、被写体の種類毎に顔データ（立体顔データ）を有するのではなく、被写体の種類を人に限定し、人物毎に顔データ（立体顔データ）を有する。
【００７１】
上記第１の実施の形態では、検出される顔が複数の場合は、どこの顔をメイン被写体として特定していいのか分からないが、個人認識を行なう場合は、複数の顔が検出された場合であっても、登録されている人物の顔をメイン被写体として特定することができる。
【００７２】
この人物の立体顔データは、登録モード等においてユーザが任意の人物の顔を登録することができる。登録する人物の立体顔データは、登録したい人物の顔を異なる角度から複数撮影し、該撮影された複数の画像データから３次元の顔データを生成して登録する。
【００７３】
この場合は、図２のステップＳ３は個人認識処理を行い、ステップＳ４では登録されている顔があるか否かを判断する。
また、個人認識処理の動作は、図３及び図６に示すフローチャートとほぼ同様であるが、この場合は、記録（登録）されている人物の立体顔データは、人の顔であることが大まかに認識できる程度の情報量ではなく、具体的に誰の顔であるかを認識できる程度の情報量が必要である。
【００７４】
また、図３のステップＳ１１での算出も撮像された複数の画像データから誰の顔であるか具体的に識別できる程度の特徴データを算出する必要がある。この算出された特徴データに基づいて３次元モデルが生成されるからである。また、図６のステップＳ２３の平面画像データからの顔特徴データの算出も、誰の顔であるかを具体的に認識できる程度の情報量が必要である。
そして、図３のステップＳ１５、図６のステップＳ２７は、該所定値以上で一致する部分に登録されている人物の顔があると認識し、顔領域を検出することになる。そして、図２のステップＳ５で、登録されている人物の顔に対してＡＦ処理を行う。
【００７５】
また、図３のステップＳ１６、図６のステップＳ３０は、登録されている人物がいないと判断する。このときは、図２のステップＳ５に進み、所定の領域に対してＡＦ処理を行うようにしてもよいし、登録されている人物がいないと判断した場合は、個人認識処理により登録された人物の顔を認識することができなかったが顔を検出することができたか否かを判断し、顔が検出された場合は該検出した顔に対してＡＦ処理を行い、顔が検出されなかった場合は所定の領域に対してＡＦ処理を行うようにしてもよい。
これにより、個人認識の精度を向上させることができる。例えば、人物が横を向いている場合やサングラスをしている場合であっても、該人物が登録されている人物であるかを個人認識することできる。
【００７６】
［第３の実施の形態］
次に、第３の実施の形態について説明する。
第２の実施の形態においては、単に３次元の個人認識を行なうというものであったが、２次元の個人認識により個人認識できなかった場合に３次元の個人認識を行なうというものである。
なお、本実施の形態においては、メモリ１２には、被写体の種類毎の立体顔データに代えて、個人認識用の人物毎の２次元（平面）の顔特徴データ（顔データ）が登録（記録）されているとともに、人の顔検出用の２次元の顔特徴データも記録されている。
【００７７】
Ｄ．デジタルカメラ１の動作
第１の実施の形態におけるデジタルカメラ１の動作を図７のフローチャートに従って説明する。
ユーザのモード切替キーの操作により、静止画撮影モードに設定されると、ステップＳ５１で、ＣＣＤ５に所定のフレームレートで被写体を撮像させる処理を開始させ、ＣＣＤ５により順次撮像され画像生成部９によって生成された輝度色差信号のフレーム画像データ（ＹＵＶデータ）をバッファメモリ（ＤＲＡＭ１３）に記憶させていき、該記憶されたフレーム画像データに基づく画像を画像表示部１５に表示させていくという、いわゆるスルー画像表示を開始する。
【００７８】
次いで、ステップＳ５２で、ＣＰＵ１０は、ユーザによってシャッタボタンが半押しされたか否かを判断する。この判断は、シャッタボタンの半押し操作に対応する操作信号がキー入力部１１から送られてきたか否かにより判断する。
このとき、ユーザは、撮影したいメイン被写体を画角内に収めて構図を決めてから撮影の準備を指示するためシャッタボタンを半押し操作する。
【００７９】
ステップＳ５２で、シャッタボタンが半押しされていないと判断すると、半押しされるまでステップＳ５２に留まり、シャッタボタンが半押しされたと判断すると、ステップＳ５３に進み、ＣＰＵ１０の２次元顔認識手段１０２は、２次元の顔検出処理を開始する。この２次元の顔検出処理は、直近に撮像された画像データに基づいて全被写体の特徴データ（２次元の特徴データ）を算出し、該算出した特徴データと、予め記録されている顔検出用の顔特徴データとを比較照合することにより、画像内にある人の顔を検出する。ここで、記録されている顔検出用の顔特徴データは、人の顔であることが検出できれば十分なので、具体的に誰の顔であるかを認識できる程度の情報量は必要ない。また、ステップＳ５３で算出される全被写体の特徴データも同様に、人の顔を検出するのに必要な情報量でよい。
【００８０】
次いで、ステップＳ５４で、ＣＰＵ１０は、２次元の顔検出処理によって人の顔が検出されたか否かを判断する。
ステップＳ５４で、人の顔が検出できたと判断すると、ステップＳ５５に進み、２次元顔認識手段１０２は、２次元の個人認識処理を行う。この２次元の個人認識処理は、該検出された顔領域の画像データに基づいて、顔の特徴データ（２次元の特徴データ）を算出し、該算出した顔の特徴データと、予め登録されている各人物（１人であってもよい）の顔の顔特徴データ（個人認識用の顔特徴データ）とを比較照合することにより、該登録されている人物の顔があるかを個人認識する。ここで、登録されている各人物毎の顔特徴データは、人の顔であることが大まかに認識できる程度の情報量ではなく、具体的に誰の顔であるかを認識できる程度の情報量を有している。この顔特徴データは、登録モード等においてユーザが任意の人物の顔を登録することができる。この登録は、例えば、登録したい人物の顔を撮影し、該撮影された１枚の画像データから顔の特徴データを算出して登録する。
また、顔領域の画像データに基づいて算出される顔の特徴データも、誰の顔であるか具体的に識別できる程度の情報量を有する。
【００８１】
次いで、ステップＳ５６で、ＣＰＵ１０は、２次元の個人認識処理によって人の顔が個人認識されたか否かを判断する。
ステップＳ５６で、顔を個人認識することができたと判断すると、ステップＳ６４に進み、ＣＰＵ１０は、該個人認識した被写体に対してコントラスト検出方式によるＡＦ処理を行う。
【００８２】
一方、ステップＳ５４で、顔を検出することができないと判断した場合、ステップＳ５６で、顔を個人認識することができないと判断した場合は、ステップＳ５７に進み、ＣＰＵ１０は、異なる撮影角度でメイン被写体の撮影を促す表示を行なう。例えば、「撮影したい被写体を異なる角度から撮影してください。」というような表示を行う。これにしたがって、ユーザは撮影角度を変えてメイン被写体を撮像することになる。なお、このときユーザは、メイン被写体となる顔の画角内での位置を変えずに撮影角度を変えることが望ましい。
【００８３】
次いで、ステップＳ５８で、ＣＰＵ１０は、２次元の顔検出処理を開始してから所定時間が経過したか否かを判断する。
ステップＳ５８で、所定時間が経過していないと判断するとステップＳ５４に戻る。これにより、所定時間が経過するまでは、撮影角度の異なる画像データに基づいて２次元の顔検出処理や２次元の個人認識処理を行うので、最初は横顔を撮影している場合であっても、該顔を検出、個人認識できる場合があり、処理負担を少なくして顔を検出、個人認識することができる。
【００８４】
一方、ステップＳ５８で、所定時間が経過したと判断すると、ステップＳ５９に進み、ＣＰＵ１０は、顔を検出することができたか否かを判断する。
ステップＳ５９で、顔を検出することができたと判断すると、ステップＳ６０に進み、ＣＰＵ１０の３次元顔認識手段１０１は、該検出された顔領域に基づく３次元の個人認識処理を行なう。この該検出された顔領域に基づく３次元の顔認識処理は、後で説明する。
【００８５】
次いで、ステップＳ６１に進み、ＣＰＵ１０は、顔を個人認識することができたか否かを判断する。つまり、登録されている人物の顔が画像内にあるか否かを判断する。
ステップＳ６１で、顔を個人認識することができたと判断すると、ステップＳ６４に進み、ＣＰＵ１０は、該個人認識した顔に対してＡＦ処理を行う。
一方、ステップＳ６１で、顔を個人認識することができないと判断すると、ステップＳ６５に進み、ＣＰＵ１０は、所定の領域に対してＡＦ処理を行う。
【００８６】
また、ステップＳ５９で、顔を検出することができないと判断すると、ステップＳ６２に進み、ＣＰＵ１０の３次元顔認識手段１０１は、画像データの全領域に基づく３次元の個人認識処理を行なう。この全領域に基づく３次元の顔認識処理は、後で説明する。
【００８７】
次いで、ステップＳ６３で、ＣＰＵ１０は、顔を個人認識することができたか否かを判断する。つまり、登録されている人物の顔が画像内にあるか否かを判断する。
ステップＳ６３で、顔を個人認識することができたと判断すると、ステップＳ６４に進み、ＣＰＵ１０は、該個人認識した顔に対してＡＦ処理を行い、ステップＳ６３で、顔を個人認識することができないと判断すると、ステップＳ６５に進み、ＣＰＵ１０は、所定の領域に対してＡＦ処理を行う。
【００８８】
ステップＳ６４、ステップＳ６５でＡＦ処理を行うと、ステップＳ６６に進み、ＣＰＵ１０は、ユーザによってシャッタボタンが全押しされたか否かを判断する。
ステップＳ６６で、シャッタボタンが全押しされていないと判断すると、全押しされるまでステップＳ６６に留まり、シャッタボタンが全押しされたと判断すると、ステップＳ６７に進み、ＣＰＵ１０は、静止画撮影処理を行い、該撮影処理により得られた静止画像データを圧縮してフラッシュメモリ１４に記録する処理を行って、ステップＳ５１に戻る。
【００８９】
Ｄ−１．検出された顔領域に基づく３次元の個人認識処理について
顔領域に基づく３次元の個人認識処理の動作を図８のフローチャートにしたがって説明する。
図７のステップＳ６０に進むと、図８のステップＳ７１に進み、ＣＰＵ１０の３次元顔認識手段１０１は、直近に撮像された撮影角度の異なる複数のフレーム画像データから、該検出された顔の特徴データ（２次元の特徴データ）をそれぞれ算出する。この顔の特徴データの算出は、各フレーム画像データ毎に検出された顔領域の画像データから顔の特徴データをそれぞれ算出する。ここで、ＣＰＵ１０は、少なくとも最新の複数枚のフレーム画像データをバッファメモリに保持させておく。また、各フレーム画像データから算出される顔の特徴データは、誰の顔であるか具体的に識別できる程度の情報量を有する。
【００９０】
なお、各フレーム画像データの顔領域の位置を同じにするようにしてもよい。この場合は、何れかのタイミングで検出された顔に基づいて顔領域を定め、各フレーム画像データの該定められた顔領域の画像データから顔の特徴データをそれぞれ算出する。
【００９１】
次いで、ステップＳ７２で、３次元顔認識手段１０１は、該算出した各フレーム画像データの顔の特徴データに基づいて、顔の３次元モデルを生成する。
次いで、ステップＳ７３で、ＣＰＵ１０の３次元顔認識手段１０１は、顔の向きを正面と設定する。
【００９２】
次いで、ステップＳ７４で、ＣＰＵ１０の３次元顔認識手段１０１は、ステップＳ７２で生成した３次元モデルに基づいて、該設定した向きから見た顔の２次元（平面）画像データを生成する。
次いで、ステップＳ７５で、ＣＰＵ１０の３次元顔認識手段１０１は、該生成した顔の平面画像データから、顔の特徴データ（２次元の特徴データ）を算出する。これにより、ここで算出される顔の特徴データは、現在設定されている向きから見た顔の特徴データとなる。また、ここで、算出される顔の特徴データは、誰の顔であるか具体的に識別できる程度の情報量を有する。
【００９３】
次いで、ステップＳ７６で、ＣＰＵ１０の３次元顔認識手段１０１は、ステップＳ７５で算出された、設定されている向きから見た顔の特徴データと、予めメモリ１２に登録（記録）されている人物毎の２次元の顔特徴データ（個人認識用の顔特徴データ）とを比較照合する。
次いで、ステップＳ７７で、ＣＰＵ１０の３次元顔認識手段１０１は、人物毎の顔特徴データのうち、ステップＳ７５で算出した顔の特徴データと所定値以上で一致する顔特徴データがあるか否かを判断する。つまり、所定の範囲内で一致する顔特徴データがあるか否かを判断する。
【００９４】
ステップＳ７７で、所定値以上で一致する顔特徴データがある場合には、該顔特徴データに対応する人物の顔あると判断する。
一方、ステップＳ７７で、所定値以上で一致する顔特徴データがない場合は、ステップＳ７９に進み、ＣＰＵ１０の３次元顔認識手段１０１は、現在設定されている向きが最後の向きであるか否かを判断する。つまり、予め決められたすべての向きが設定されたか否かを判断する。
【００９５】
ステップＳ７９で、設定されている向きが最後の向きでないと判断すると、ステップＳ８０に進み、ＣＰＵ１０の３次元顔認識手段１０１は、次の向きに設定して、ステップＳ７４に戻る。例えば、現在設定されている向きが顔の正面の場合は、顔を斜め右前から見た向きと設定する。つまり、向きの角度を変える。なお、ここで設定される顔の向きは、ステップＳ７１で取得したフレーム画像データが撮影された撮影角度に拘束されることなく、生成した顔の３次元モデルから自由に設定することができる。
一夫、ステップＳ７９で、設定されている向きが最後の向きであると判断すると、ステップＳ８１に進み、ＣＰＵ１０の３次元顔認識手段１０１は、登録されている人物の顔がないと判断する。
【００９６】
これにより、個人認識の精度を向上させることができる。例えば、人物が横を向いている場合やサングラスをしている場合であっても、該人物が登録されている人物であるかを個人認識することでできる。また、顔の３次元モデルのみしか生成しないので、全被写体の３次元モデルを生成するのに比べ処理負担を軽減させることができる。
立体顔データはなく、２次元の顔データを記録しておけばよいので、記録容量を少なくすることができる。
【００９７】
Ｄ−２．画像データの全領域に基づく３次元の個人認識処理について
次に、画像データの全領域に基づく３次元の個人認識処理の動作を説明する。なお、この全領域に基づく３次元の個人認識処理の動作は、図８に示したフローチャートとほぼ同様なので、図８のフローチャートを引用し、異なる部分だけを説明する。
【００９８】
図７のステップＳ６２に進むと、図８のステップＳ７１に進み、ＣＰＵ１０の３次元顔認識手段１０１は、直近に撮像された撮影角度の異なる複数枚のフレーム画像データから全被写体の特徴データをそれぞれ算出する。この全被写体の特徴データの算出は、各フレーム画像データの全領域から算出する。ここでいう「全被写体」とは、ＣＣＤ５によって撮像された全ての被写体のことを指すことは言うまでもない。
【００９９】
そして、ステップＳ７２では、各フレーム画像データの全被写体の特徴データから全被写体の３次元モデルが生成され、ステップＳ７４では該生成された３次元モデルから全被写体の平面画像データ、ステップＳ７５では全被写体の特徴データが算出されることになる。また、ステップＳ７７では、ステップＳ７５で算出した全被写体の特徴データの中に、人物毎の顔特徴データの何れかの顔特徴データと所定値以上で一致する部分があるか否かを判断する。ステップＳ７７で一致する部分があると判断すると、ステップＳ７８で、該所定値以上で一致する部分に登録されている顔があると判断し、該所定値以上で一致した部分に対応する撮像されたフレーム画像データ上の領域を顔領域とする。
これにより、個人認識の精度を向上させることができる。例えば、人物が横を向いている場合やサングラスをしている場合であっても、該人物が登録されている人物であるかを個人認識することでできる。また、立体顔データはなく、２次元の顔データを記録しておけばよいので、記録容量を少なくすることができる。
【０１００】
以上のように、第３の実施の形態においては、２次元の個人認識処理を行い、顔が個人認識されない場合のみ、３次元の個人認識を行なうようにしたので、個人認識の処理負担を少なくすることができ、必要な場合のみ３次元の個人認識を行なうことができる。
また、２次元の個人認識処理により顔が個人認識できないが、顔を検出することができた場合は、該検出された顔の３次元モデルを生成するようにしたので、３次元モデルの生成処理の負担を少なくさせることができる。
なお、上記各実施の形態における、「全被写体」と「顔」は、共に被写体の概念に含まれるものである。例えば、画像データの全領域で特徴データを算出する場合は、全被写体の特徴データとなり、画像データの全領域のうち、顔領域で特徴データを算出する場合は、顔の特徴データとなる。
［変形例］
Ｅ．上記実施の形態は以下のような態様でもよい。
【０１０１】
（０１）上記第１の実施の形態においては、３次元の顔検出処理のみを行うようにしたが、上記第３の実施の形態のように、まずは、２次元の顔検出処理を行い、該２次元の顔検出処理により顔が検出されなかった場合に３次元の顔検出処理を行なうようにしてもよい。
また、記第１、２の実施の形態において、図３のステップＳ３の動作を、第３の実施の形態における図７のステップＳ６０、ステップＳ６２の個人認識処理（該個人認識処理の動作を顔検出処理に適用した動作も含む）を行なうようにしてもよい。図７のステップＳ６０の動作を行なう場合は、顔が検出されていることが前提となる。
【０１０２】
（０２）上記第２の実施の形態においては、単に図３、図６に示す顔検出処理を個人認識処理に適用するようにしたが、図３に示す顔検出処理を個人認識に適用した動作により行なう場合は、個人認識処理を行う前に、２次元の顔検出処理を行い、該検出された顔のみの３次元モデルを生成するようにしてもよい。
この場合は、更に、２次元の顔検出処理により顔が検出できたか否かを判断し、検出できた場合は、顔のみの３次元モデルを生成し、検出できなかった場合は、上記第２の実施に形態に示すように全被写体の３次元モデルを生成するようにしてもよい。
【０１０３】
（０３）また、上記第３の実施の形態においては、図７のステップＳ６０の顔領域に基づく個人認識処理、及び、図７のステップＳ６２の全領域に基づく個人認識処理を図８に示すフローチャートに示す動作で行うようにしたが、図７のステップＳ６０、ステップＳ６２の個人認識処理を、図３及び図６に示す顔検出処理を個人認識に適用した動作によって行なうようにしてもよい。
【０１０４】
この場合、ステップＳ６２の個人認識処理を、図３、図６の顔検出処理を個人認識に適用した動作によって行なう場合は、上記第２の実施の形態で説明したような動作になるが、ステップＳ６０の個人認識処理を、図３、図６の顔検出処理を個人認識に適用した動作によって行なう場合は、図３のステップＳ１１で、複数のフレーム画像データの該検出された顔領域の画像データに基づいて顔の特徴データを算出し、ステップＳ１２で算出された各フレーム画像データの顔の特徴データに基づいて顔の立体モデルを生成する。そして、ステップＳ１４では、登録されている人物毎の立体顔データのうち、該生成した顔の立体モデルと所定値以上で一致する立体顔データがあるか否かを判断し、所定値以上で一致する立体顔データがある場合は、該立体顔データに対応する人物の顔があると判断する（ステップＳ１５）。この場合は、顔領域の画像データに基づいて算出される顔の特徴データは、誰の顔であるかを具体的に識別できる程度の情報量が必要であり、また、人物毎に記録されている立体顔データも誰の顔であるかを具体的に識別できる程度の情報量が必要である。
【０１０５】
また、図６のステップＳ２４では直近に撮像されたフレーム画像データの該検出された顔領域の画像データに基づいて顔の特徴データを算出する。そして、ステップＳ２６で登録されている人物毎の顔特徴データのうち、該算出した顔の特徴データと所定値以上で一致する顔特徴データがあるか否かを判断し、所定値以上で一致する顔特徴データがある場合は、該顔特徴データに対応する人物の顔があると判断する（ステップＳ２７）。この場合は、顔領域の画像データに基づいて算出される顔の特徴データは、誰の顔であるかを具体的に識別できる程度の情報量が必要であり、また、人物毎に記録されている立体顔データも誰の顔であるかを具体的に識別できる程度の情報量が必要であり、また、ステップＳ２３で算出される人物毎の立体顔データから算出されるそれぞれの顔特徴データも誰の顔であるかを具体的に識別できる程度の情報量が必要である。
【０１０６】
（０４）また、図８のフローチャートに示す個人認識処理の動作を顔検出処理に適用するようにしてもよい。この場合の動作は、複数のフレーム画像データ全体から全被写体の特徴データを算出するようにし、ステップＳ７２は該算出した各フレーム画像データの全被写体の特徴データに基づいて全被写体の３次元モデルを生成することになる。これにより、ステップＳ７４では全被写体の平面画像データ、ステップＳ７５では全被写体の特徴データが算出されることになる。また、ステップＳ７７では、ステップＳ７５で算出した全被写体の特徴データの中に、被写体の種類毎の顔特徴データの何れかの顔特徴データと所定値以上で一致する部分があるか否かを判断する。ステップＳ７７で一致する部分があると判断すると、ステップＳ７８で該所定値以上で一致する部分に顔があると判断し、顔領域を検出する。
これにより、顔検出の精度を向上させることができる。
【０１０７】
この顔検出処理の場合は、具体的に誰の顔であるかを認識する必要はないので、算出する特徴データは、どの種類の被写体の顔であるかを大まかに検出することができる程度の情報量でよい。また、この場合は、被写体の種類毎に２次元の顔特徴データを記録しておき、該記録されている各種類の被写体の特徴データも大まかにどの種類の被写体の顔であるかを大まかに検出することができる程度の情報量でよい。
【０１０８】
（０５）また、上記第３の実施の形態においては、２次元の顔検出処理と２次元の個人認識処理の両方を行なうようにしたが、どちらか一方であってもよい。
２次元の顔検出処理のみを行う場合は、図７のステップＳ５４で、顔が検出できたと判断するとステップＳ６０に進み、ステップＳ５４で、顔が検出できていないと判断すると、ステップＳ５７に進むようにする。そして、ステップＳ５８で、所定時間が経過したと判断するとステップＳ６２に進む。つまり、ステップＳ５５、ステップＳ５６、ステップＳ５９の動作は不要ということになる。
【０１０９】
また、２次元の個人認識処理のみを行う場合は、ステップＳ５３では２次元の顔検出処理に代えて２次元の個人認識処理を開始して、ステップＳ５６に進む。そして、ステップＳ５８で、所定時間が経過したと判断するとステップＳ６２に進む。つまり、ステップＳ５４、ステップＳ５５、ステップＳ５９〜ステップＳ６１の動作は不要ということになる。
【０１１０】
また、２次元の個人認識処理のみを行う場合であって、２次元の個人認識処理により顔を検出することができる場合は、ステップＳ５３では２次元の顔検出処理に代えて２次元の個人認識処理を開始して、ステップＳ５６に進む。つまり、ステップＳ５４、ステップＳ５５の動作は不要ということになる。また、この２次元の個人認識処理による顔検出は、登録されている顔が画像データ内にあると個人認識された場合は、当然に顔も検出されていることになり、また、たとえ登録されている顔が画像データ内にないと判断された場合であっても、全被写体の２次元の特徴データと登録されている人物毎の顔特徴データとの比較照合の結果により、登録されている人物の顔ではないが人の顔であることを検出することは可能であるからである。例えば、顔特徴データと第１の所定値以上で一致する部分がある場合は、該顔特徴データに対応する人物の顔であると個人認識し、第１の所定値以上で一致しないが、第２の所定値（第１の所定値より小さい値）以上で一致する場合は人の顔であると検出する。
【０１１１】
（０６）また、上記第３の実施の形態においては、図７のステップＳ６１で、顔を個人認識することができないと判断した場合は、ステップＳ６５で所定の領域に対してＡＦ処理を行うようにしたが、ステップＳ６１で、顔を個人認識することができないと判断した場合は、ステップＳ５９で検出されたと判断された顔に対してＡＦ処理を行うようにしてもよい。
【０１１２】
また、個人認識処理を行うことにより顔を検出することができる場合は、ステップＳ６３で顔を個人認識することができないと判断された場合は、顔を検出することができたか否かを判断し、顔を検出することができたと判断した場合は、該検出された顔に対してＡＦ処理を行い、顔を検出することができないと判断した場合は、ステップＳ６５に進み所定の領域に対してＡＦ処理を行うようにしてもよい。また、この個人認識処理による顔検出は、登録されている顔があると個人認識された場合は、当然に顔も検出されていることになり、また、たとえ登録されている顔ないと判断された場合であっても、全被写体の３次元モデルと人物毎の立体顔データとの比較照合や、全被写体の２次元の特徴データと、顔特徴データとの比較照合の結果により、登録されている人物の顔はないが人の顔があることを検出することは可能であるからである。例えば、立体顔データと第１の所定値以上で一致する部分がある場合は、該立体顔データに対応する人物の顔があると個人認識し、第１の所定値以上で一致しないが、第２の所定値（第１の所定値より小さい値）以上で一致する場合は人の顔であると検出する。
【０１１３】
（０７）また、上記各実施の形態において、図２のステップＳ３では、画像データの全領域に基づいて３次元の顔検出処理を行うようにしたが、全領域ではなく、画角の中央領域、または、ユーザによって任意に指定された領域、または、肌色成分を有する領域に基づいて顔検出処理を行うようにしてもよい。
また、図７のステップＳ６２の全領域に基づく３次元の個人認識処理も同様に、全領域ではなく、画角の中央領域、または、ユーザによって任意に指定された領域、または、肌色成分を有する領域に基づいて個人認識処理を行うようにしてもよい。
また、図７のステップＳ５３の２次元の顔検出処理も、全領域ではなく、画角の中央領域、または、ユーザによって任意に指定された領域、または、肌色成分を有する領域に基づいて顔検出処理を行うようにしてもよい。
また、この領域のサイズは、所定のサイズ、又は、ユーザによって任意に指定されたサイズ、又は、肌色成分を有する画素の範囲に基づくサイズであってもよい。
【０１１４】
（０８）また、上記各実施の形態及び上記各変形例においては、被写体の種類毎、人物毎の立体顔データ、被写体の種類毎の２次元の顔特徴データ、人物毎の２次元の顔特徴データを用いて顔を認識（検出、個人認識）するようにしたが、所定の種類の顔データ、所定の人物の顔データを用いて顔を検出、個人認識するようにしたり、ユーザによって任意に指定された種類の顔データ、人物の顔データを用いて顔を検出、個人認識するようにしてもよい。
例えば、ユーザによって猫が指定された場合は、撮像された被写体の中に人や犬が撮像さてれている場合で合っても、猫の顔のみを認識することになる。
これにより、認識したい被写体の顔のみを認識することができる。
【０１１５】
（０９）また、上記第各実施の形態においては、被写体の特徴点や被写体の種類毎の特徴点を抽出して特徴データを抽出し、該抽出した特徴データに基づいて３次元モデルを生成したり、該抽出した特徴データを比較照合することにより顔を検出するようにしたが、他の方法によって３次元モデルを生成したり、顔を検出したりするようにしてもよい。
【０１１６】
（１０）また、上記第各実施の形態においては、静止画撮影処理により撮影された静止画像データのみを記録するようにしたが、顔検出処理により検出された顔の位置や顔の種類（人、犬、猫等）、個人認識処理により認識された人物名を静止画像データに関連付けて記録するようにしてもよい。
【０１１７】
（１１）また、上記第各実施の形態においては、検出した顔、個人認識した顔に基いてＡＦ処理を行うようにしたが、検出された顔、個人認識した顔に基づいて露出制御を行なったり、被写体追従処理を行うというように、検出された顔、個人認識された顔に基づいて所定の処理を行うようにしてもよい。
【０１１８】
（１２）また、上記第各実施の形態における、図６、図８に示す動作においては、最初は、顔の向きを正面に設定し（ステップＳ２１、ステップＳ７３）、その後、顔が検出、個人認識されるまで、顔の向きを変えて設定するようにしたが（ステップＳ２９、ステップＳ８０）、最初に設定する顔の向きは正面でなくてもよい。要は、異なる顔の向きに設定していくものであればよい。
【０１１９】
（１３）また、上記第１の実施の形態の２つ目の顔検出処理においては、被写体の種類毎に立体顔データから、異なる角度から見た顔の平面画像データを生成し、該生成した顔の平面画像データから被写体の種類毎の顔特徴データを算出するようしたが、被写体の種類毎の立体顔データから、異なる表情の顔の平面画像データを生成し、該生成した顔の平面画像データから被写体の種類毎の顔特徴データを算出するようにしてもよい。このときは、正面から見たときの顔の平面画像データを生成し、また、予め記録されている被写体の種類毎の立体顔データは、表情が無し、つまり、普通の状態での顔の３次元データある。
【０１２０】
以下、立体顔データから異なる表情の顔を生成する場合について説明する。
図９は、メモリ１２に記録されている顔の立体顔データの様子を示すものである。
図９を見ると、立体顔データは、３次元の顔データの他に顔の筋肉、つまり、眼瞼部や眼窩部を囲む眼輪筋や、唇を囲む口輪筋などの輪状のいわゆる括約筋と、額や眉とつながる前頭筋や皺眉筋、鼻根筋、口周囲の放射状の上唇挙筋や大頬骨筋、笑筋、口角下制筋、下唇下制筋などの線形筋とから成り立っている。
【０１２１】
また、図１０（Ａ）は、被写体の種類が人の場合における表情動作単位（以下、ＡＵ（Ａｃｔｉｏｎ  Ｕｎｉｔ）という）と筋肉の収縮との対応関係を示した表情単位動作テーブルの様子を示すものである。この表情動作テーブルはメモリ１２に記録されている。
図１０（Ａ）を見ると分かるように、ＡＵ毎に番号（Ｎｏ）が付されており、ＡＵ１は「内眉を上げる」という動作であり、収縮させる筋肉は「前頭筋（内）」なる。また、ＡＵ２は「外眉を上げる」という動作であり、収縮させる筋肉は「前頭筋（外）」となる。また、ＡＵ３は「眉を下げる」という動作であり、収縮させる筋肉は「皺眉筋、鼻根筋」となる。このように、各ＡＵに動作の説明とその収縮させる筋肉が記録させている。
このＡＵユニットを任意に組み合わせることにより、種々の表情を作ることができる。
【０１２２】
また、図１０（Ｂ）は、被写体の種類が人の場合における各表情とＡＵの組み合わせの対応関係を示した表情テーブルの様子を示すものである。この表情テーブルはメモリ１２に記録させている。
図１０（Ｂ）を見ると分かるように、表情毎に番号（Ｎｏ）が付されており、表情１は、中立であり、ＡＵの組み合わせは無しである。この場合は筋肉を収縮させる必要が無いからである。また、表情２は、驚きの表情であり、ＡＵの組み合わせは、ＡＵ１（内眉を上げる）＋ＡＵ２（外眉を上げる）＋ＡＵ４（上瞼を上げる）＋ＡＵ６（口を開ける）である。このように、各表情毎にＡＵの組み合わせが記録されている。
なお、この表情単位動作テーブル、表情テーブルは被写体の種類毎に記録されている。
【０１２３】
次に、本変形例（１３）における３次元の顔検出処理の動作を図１１のフローチャートにしたがって説明する。
顔検出処理を開始すると、ステップＳ１０１で、ＣＰＵ１０の３次元顔認識手段１０１は、顔の表情を表情１に設定し、ステップＳ１０２で、該設定された表情に基づいて、各種類の被写体の立体顔データの顔の表情を変化させる。
このとき、被写体の種類毎の表情単位動作テーブル、表情テーブルを用いて各種類の被写体の立体顔データの表情を変化させる。なお、表情１の場合は顔の表情を変化させない。
【０１２４】
次いで、ステップＳ１０３で、３次元顔認識手段１０１は、該表情が変化された各種類の被写体の立体顔データに基いて、正面から見た各種類の被写体の顔の平面画像データを生成する。
次いで、ステップＳ１０４で、ＣＰＵ１０の３次元顔認識手段１０１は、該生成した被写体の種類毎の顔の平面画像データから、該設定されている表情の被写体の種類毎の顔特徴データを算出する。
次いで、ステップＳ１０５で、ＣＰＵ１０の３次元顔認識手段１０１は、直近にＣＣＤ５により撮像されたフレーム画像データから、全被写体の特徴データを算出する。
【０１２５】
次いで、ステップＳ１０６で、ＣＰＵ１０の３次元顔認識手段１０１は、ステップＳ１０４で算出された、設定されている表情の被写体の種類毎の顔特徴データと、ステップＳ１０５で算出された全被写体の特徴データとを比較照合する。
次いで、ステップＳ１０７で、ＣＰＵ１０の３次元顔認識手段１０１は、ステップＳ１０５で算出した全被写体の特徴データの中に、ステップＳ１０４で算出した被写体の種類毎の顔特徴データの何れかの顔特徴データと所定値以上で一致する部分があるか否かを判断する。
【０１２６】
ステップＳ１０７で、所定値以上で一致する部分があると判断した場合は、ステップＳ１０８に進み、ＣＰＵ１０の３次元顔認識手段１０１は、該所定値以上で一致する部分を顔と判断し、該部分に対応する、全被写体の特徴データの生成元となったフレーム画像データ上の領域を顔領域とする。つまり、フレーム画像データ上の顔領域を検出する。
【０１２７】
ステップＳ１０７で、所定値以上で一致する部分がないと判断した場合は、ステップＳ１０９に進み、ＣＰＵ１０の３次元顔認識手段１０１は、設定されている表情が最後の表情であるか否かを判断する。つまり、予め決められた全ての表情が設定されたか否かを判断する。
ステップＳ１０９で、設定されている表情が最後の表情でないと判断すると、ステップＳ１１０に進み、ＣＰＵ１０の３次元顔認識手段１０１は、次の表情に設定して、ステップＳ１０２に進む。例えば、現在設定されている表情が表情１の場合は、表情２と設定する。
【０１２８】
一方、ステップＳ１０９で、設定されている表情が最後の表情であると判断すると、ステップＳ１１１に進み、ＣＰＵ１０の３次元顔認識手段１０１は、撮像されたフレーム画像データ内に顔がないと判断する。
また、ステップＳ１０８で顔領域を検出すると、図２のステップＳ４で顔が検出できたと判断され、ステップＳ１１１で顔がないと判断すると、図２のステップＳ４で顔が検出できなかったと判断する。
ここで、図１２は、被写体の種類が人の場合におけるステップＳ１０２で生成される各表情の顔の立体顔データの様子を示すものである。
無表情（中立）の立体顔データから、驚き、喜び、怒り、悲しみ、嫌悪等の立体顔データが生成されているのがわかる。
【０１２９】
以上のように、本変形例においては、全被写体を撮像した１枚の画像データから算出された全被写体の特徴データと、予め記録されている被写体の種類毎の立体顔データから異なる表情の被写体の顔の平面画像データを生成していき、該生成された平面画像データから算出された被写体の特徴データと、を比較照合することにより顔を検出するので、顔検出の精度を向上させることができる。
例えば、被写体が笑っていたり、怒っている場合等であっても、顔を検出することができる。
【０１３０】
（１４）また、上記変形例（１３）の動作と図６のフローチャートに示す動作とを組み合わせるようにしてもよい。つまり、異なる角度と異なる表情の顔特徴データをそれぞれ算出していく。この場合は、図１１のステップＳ１１１で顔がないと判断すると、次の顔の向きを設定してステップＳ１０１に戻る。このときは、ステップＳ１０３は、該表情が変化された各種類の被写体の立体顔データに基づいて、該設定された向きから見た各種類の被写体の顔の平面画像データを生成することになる。
【０１３１】
（１５）また、上記変形例（１３）及び（１４）形態においては、顔検出の場合について説明したが、個人認識（検出された顔領域に基づく３次元の個人認識、全領域に基づく３次元の個人認識）を行なう場合にも適用してもよい。
【０１３２】
（１６）また、図８に示す個人認識処理、及び、該個人認識を顔検出処理に適用する場合も、上記変形例（１３）のように、生成された３次元モデルの表情を変えることにより表情の異なる平面画像データを順次生成していくようにしてもよい。この場合は、顔の向きを変えていくのではなく、顔の表情を変えていくようにしてもよいし、顔の向きを変えていくとともに、顔の表情を変えていくようにしてもよい。
この場合は、図８のステップＳ７４で生成された３次元モデルの表情を認識し、該認識した表情を無表情に変えたり、他の表情に変えたりする。
【０１３３】
（１７）また、上記変形例（１３）においては、被写体の種類毎に立体顔データを記録し、該記録している被写体の種類毎の立体顔データの表情を変化させるようにしたが、被写体の種類毎の立体顔データに代えて被写体の種類毎の２次元の顔データを記録させるようにしてもよい。そして、この２次元の顔データの表情を変えて顔を検出する。この場合は、３次元のデータを用いていないので、２次元の顔検出処理ということになる。
【０１３４】
（１８）また、上記変形例（０１）乃至（１７）を任意に組み合わせた態様であってもよい。
【０１３５】
（１９）また、本発明の上記実施形態は、何れも最良の実施形態としての単なる例に過ぎず、本発明の原理や構造、動作等をより良く理解することができるようにするために述べられたものであって、添付の特許請求の範囲を限定する趣旨のものでない。
したがって、本発明の上記実施形態に対してなされ得る多種多様な変形ないし修正はすべて本発明の範囲内に含まれるものであり、添付の特許請求の範囲によって保護されるものと解さなければならない。
【０１３６】
最後に、上記各実施の形態においては、本発明の撮像装置をデジタルカメラ１に適用した場合について説明したが、上記の実施の形態に限定されるものではなく、要は、撮像された画像データに基づいて顔を認識することができる機器であれば適用可能である。
【図面の簡単な説明】
【０１３７】
【図１】本発明の実施の形態のデジタルカメラのブロック図である。
【図２】第１の実施の形態のデジタルカメラ１の動作を示すフローチャートである。
【図３】全領域に基づく３次元の顔検出処理の動作を示すフローチャートである。
【図４】３次元モデルの生成過程を示す図である。
【図５】生成された被写体（ここでは顔）の３次元モデルを３角形ポリゴンで表したときの様子を示す図である
【図６】全領域に基づく３次元の顔検出処理の他の動作を示すフローチャートである。
【図７】第３の実施の形態のデジタルカメラ１の動作を示すフローチャートである。
【図８】検出された顔領域に基づく３次元の個人認識処理の動作を示すフローチャートである。
【図９】変形例（１３）に記録されている顔の立体顔データの様子を示すものである。
【図１０】変形例（１３）における被写体の種類が人の場合における表情動作単位と筋肉の収縮との対応関係を示した表情単位動作テーブル、被写体の種類が人の場合における各表情とＡＵの組み合わせの対応関係を示した表情テーブルの様子を示すものである。
【図１１】変形例（１３）における顔検出処理の動作を示すフローチャートである。
【図１２】被写体の種類が人の場合における図１１のステップＳ１０２で生成される各表情の顔の立体顔データの様子を示すものである。
【符号の説明】
【０１３８】
１      デジタルカメラ
２      撮影レンズ
３      レンズ駆動ブロック
４      絞り
５      ＣＣＤ
６      ドライバ
７      ＴＧ
８      ユニット回路
９      画像生成部
１０    ＣＰＵ
１１    キー入力部
１２    メモリ
１３    ＤＲＡＭ
１４    フラッシュメモリ
１５    画像表示部
１６    バス
【図１】
0005088612.tif 000002
【図２】
0005088612.tif 000003
【図３】
0005088612.tif 000004
【図４】
0005088612.tif 000005
【図５】
0005088612.tif 000006
【図６】
0005088612.tif 000007
【図７】
0005088612.tif 000008
【図８】
0005088612.tif 000009
【図９】
0005088612.tif 000010
【図１０】
0005088612.tif 000011
【図１１】
0005088612.tif 000012
【図１２】
0005088612.tif 000013