JP5088612B2 - 撮像装置、撮像装置の処理実行方法及びそのプログラム - Google Patents

撮像装置、撮像装置の処理実行方法及びそのプログラム Download PDF

Info

Publication number
JP5088612B2
JP5088612B2 JP2007203216A JP2007203216A JP5088612B2 JP 5088612 B2 JP5088612 B2 JP 5088612B2 JP 2007203216 A JP2007203216 A JP 2007203216A JP 2007203216 A JP2007203216 A JP 2007203216A JP 5088612 B2 JP5088612 B2 JP 5088612B2
Authority
JP
Japan
Prior art keywords
face
data
dimensional
feature data
expression
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007203216A
Other languages
English (en)
Other versions
JP2009037540A (ja
Inventor
一記 喜多
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2007203216A priority Critical patent/JP5088612B2/ja
Publication of JP2009037540A publication Critical patent/JP2009037540A/ja
Application granted granted Critical
Publication of JP5088612B2 publication Critical patent/JP5088612B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Collating Specific Patterns (AREA)
  • Image Input (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Description

本発明は、撮像装置及びそのプログラムに係り、詳しくは、顔を認識する機能を有した撮像装置及びそのプログラムに関する。
近年、電子カメラ等の撮像装置においては、被写体の顔を認識する技術が登場したことにより、該検出された顔に対してピントを合わせたり、顔が適正露出となるように露出条件を設定する技術がある(特許文献1)。
公開特許公報 特開2007−081991
しかしながら、従来の顔認識は、人間の顔、それも正面の顔などある特定の向きから撮像された場合のみを対象としており、横顔やサングラスの装着時などは認識することができなかった。また、人間以外の顔、例えば、猫や犬などの顔は認識することができなかった。
そこで本発明は、かかる従来の問題点に鑑みてなされたものであり、顔認識の精度を向上させることができる撮像装置及びそのプログラムを提供することを目的とする。
請求項1記載の発明では、被写体を撮像する撮像手段を備えた撮像装置において、前記撮像手段により撮像された1枚の2次元の画像データから被写体の特徴データを算出する特徴データ算出手段と、所定の3次元の立体顔データから、2次元の顔の特徴データを算出していく顔特徴データ算出手段と、前記顔特徴データ算出手段により順次算出された顔の特徴データと、前記特徴データ算出手段により算出された被写体の特徴データとを比較照合することにより、前記撮像手段により撮像された1枚の2次元の画像データ内にある顔を認識する顔認識手段と、を備え、前記顔特徴データ算出手段は、表情動作単位と顔の筋肉の収縮との対応関係を示した表情単位動作テーブルと、表情の種類と前記表情動作単位の組み合わせを示した表情テーブルを含み、前記表情テーブルの表情動作単位を組み合わせることにより、前記立体顔データの表情を変化させて、該表情が変化された立体顔データに基づいて平面画像データを生成し、該生成した平面画像データから、異なる表情の2次元の顔の特徴データを算出していくことを特徴とする撮像装置を提供するものである。
また、例えば、請求項に記載されているように、前記顔特徴データ算出手段は、前記所定の立体顔データから、異なる向きから見た2次元の顔の特徴データを算出していくようにしてもよい。
また、例えば、請求項に記載されているように、前記顔認識手段は、前記特徴データ算出手段により算出された被写体の特徴データの中に、前記顔特徴データ算出手段により算出された顔の特徴データと所定の範囲内で一致する特徴データがある場合には、該一致した特徴データの部分に顔があると認識するようにしてもよい。
また、例えば、請求項に記載されているように、前記顔特徴データ算出手段は、前記顔認識手段により顔が認識された場合は、2次元の顔の特徴データの算出を終了するようにしてもよい。
また、例えば、請求項に記載されているように、前記特徴データ算出手段は、前記撮像手段により撮像された1枚の画像データの画角の中央領域、又は、ユーザによって指定された任意の領域、又は、肌色成分を有する領域の画像データから被写体の特徴データを算出するようにしてもよい。
また、例えば、請求項に記載されているように、前記所定の立体顔データは、所定の種類の被写体の立体顔データ、若しくは複数の種類の被写体の立体顔データ、又は、1又は2以上の人物の立体顔データであるようにしてもよい。
また、例えば、請求項に記載されているように、前記顔認識手段は、前記撮像手段により撮像された画像データ内にある顔を検出するようにしてもよい。
また、例えば、請求項に記載されているように、前記顔認識手段は、前記撮像手段により撮像された画像データ内にある顔が誰の顔であるかを個人認識するようにしてもよい。
また、請求項記載の発明では、被写体を撮像する撮像手段を備えた撮像装置の処理実行方法であって、前記撮像手段により撮像された1枚の2次元の画像データから被写体の特徴データを算出する特徴データ算出ステップと、所定の3次元の立体顔データから、2次元の顔の特徴データを算出していく顔特徴データ算出ステップと、前記顔特徴データ算出手段により順次算出された顔の特徴データと、前記特徴データ算出手段により算出された被写体の特徴データとを比較照合することにより、前記撮像手段により撮像された1枚の2次元の画像データ内にある顔を認識する顔認識ステップと、を備え、前記顔特徴データ算出ステップは、表情動作単位と顔の筋肉の収縮との対応関係を示した表情単位動作テーブルと、表情の種類と前記表情動作単位の組み合わせを示した表情テーブルに基づいて、前記表情テーブルの表情動作単位を組み合わせることにより、前記立体顔データの表情を変化させて、該表情が変化された立体顔データに基づいて平面画像データを生成し、該生成した平面画像データから、異なる表情の2次元の顔の特徴データを算出していくことを特徴とする撮像装置の処理実行方法を提供する。 さらに、請求項10記載の発明では、各処理をコンピュータに実行させるプログラムにおいて、被写体を撮像する撮像処理と、前記撮像処理により撮像された1枚の2次元画像データから被写体の特徴データを算出する特徴データ算出処理と、所定の3次元立体顔データから、2次元の顔の特徴データを算出していく顔特徴データ算出処理と、前記顔特徴データ算出処理により順次算出された顔の特徴データと、前記特徴データ算出処理により算出された被写体の特徴データとを比較照合することにより、前記撮像処理により撮像された1枚の2次元の画像データ内にある顔を認識する顔認識処理と、を含み、前記顔特徴データ算出処理は、表情動作単位と顔の筋肉の収縮との対応関係を示した表情単位動作を組み合わせることにより、前記立体顔データの表情を変化させて、該表情が変化された立体顔データに基づいて平面画像データを生成し、該生成した平面画像データから、異なる表情の2次元の顔の特徴データを算出していくことを特徴とするプログラムを提供する。
本願発明によれば、顔認識の精度を向上させることができる。
以下、本実施の形態について、本発明の撮像装置をデジタルカメラに適用した一例として図面を参照して詳細に説明する。
[第1の実施の形態]
A.デジタルカメラの構成
図1は、本発明の撮像装置を実現するデジタルカメラ1の電気的な概略構成を示すブロック図である。
デジタルカメラ1は、撮影レンズ2、レンズ駆動ブロック3、絞り4、CCD5、ドライバ6、TG(timing generator)7、ユニット回路8、画像生成部9、CPU10、キー入力部11、メモリ12、DRAM13、フラッシュメモリ14、画像表示部15、バス16を備えている。
撮影レンズ2は、図示しない複数のレンズ群から構成されるフォーカスレンズ、ズームレンズ等を含む。そして、撮影レンズ2にはレンズ駆動ブロック3が接続されている。レンズ駆動ブロック3は、フォーカスレンズ、ズームレンズをそれぞれ光軸方向に沿って駆動させるフォーカスモータ、ズームモータと、CPU10から送られてくる制御信号にしたがって、フォーカスモータ、ズームモータを駆動させるフォーカスモータドライバ、ズームモータドライバから構成されている(図示略)。
絞り4は、図示しない駆動回路を含み、駆動回路はCPU10から送られてくる制御信号にしたがって絞り4を動作させる。
絞り4とは、撮影レンズ2から入ってくる光の量を制御する機構のことをいう。
CCD5は、ドライバ6によって駆動され、一定周期毎に被写体像のRGB値の各色の光の強さを光電変換して撮像信号としてユニット回路8に出力する。このドライバ6、ユニット回路8の動作タイミングはTG7を介してCPU10により制御される。なお、CCD5はベイヤー配列の色フィルターを有しており、電子シャッタとしての機能も有する。この電子シャッタのシャッタ速度は、ドライバ6、TG7を介してCPU10によって制御される。
ユニット回路8には、TG7が接続されており、CCD5から出力される撮像信号を相関二重サンプリングして保持するCDS(Correlated Double Sampling)回路、そのサンプリング後の撮像信号の自動利得調整を行なうAGC(Automatic Gain Control)回路、その自動利得調整後のアナログの撮像信号をデジタル信号に変換するA/D変換器から構成されており、CCD5から出力された撮像信号はユニット回路8を経てデジタル信号として画像生成部9に送られる。
画像生成部9は、ユニット回路8から送られてきた画像データに対してγ補正処理、ホワイトバランス処理などの処理を施すとともに、輝度色差信号(YUVデータ)を生成し、該生成された輝度色差信号の画像データはDRAM13(バッファメモリ)に記憶される。つまり、画像生成部9は、CCD5から出力された画像データに対して画像処理を施す。
CPU10は、CCD5への撮像制御、画像データの圧縮・伸張処理、フラッシュメモリ14への記録処理、画像データの表示処理を行う機能を有するとともに、デジタルカメラ1の各部を制御するワンチップマイコンである。また、CPU10はクロック回路を含み、タイマーとしての機能も有する。
特に、CPU10は、3次元のデータを用いて人の顔を認識する3次元顔認識手段101と、2次元のデータのみを用いて人の顔を認識する2次元顔認識手段102を有する。この3次元顔認識手段は101と2次元顔認識手段102は、画像データ内にある顔を検出する機能と、登録されている人物の顔が画像データ内にあるかを個人認識する機能を有する。つまり、顔検出と個人認識を総称して顔認識という。
キー入力部11は、半押し全押し可能なシャッタボタン、モード切替キー、十字キー、SETキー等の複数の操作キーを含み、ユーザのキー操作に応じた操作信号をCPU10に出力する。
メモリ12には、CPU10が各部を制御するのに必要な制御プログラム、及び必要なデータ(被写体の種類毎(人、犬、猫等)の立体顔データ等)が記録されており、CPU10は、該プログラムに従い動作する。なお、このメモリ12は書き換え可能な不揮発性メモリである。
DRAM13は、CCD5によって撮像された後、CPU10に送られてきた画像データを一時記憶するバッファメモリとして使用されるとともに、CPU10のワーキングメモリとして使用される。
フラッシュメモリ14は、圧縮された画像データを保存する記録媒体である。
画像表示部15は、カラーLCDとその駆動回路を含み、撮影待機状態にあるときには、CCD5によって撮像された被写体をスルー画像として表示し、記録画像の再生時には、フラッシュメモリ14から読み出され、伸張された記録画像を表示させる。
B.デジタルカメラ1の動作
実施の形態におけるデジタルカメラ1の動作を図2のフローチャートに従って説明する。
ユーザのモード切替キーの操作により、静止画撮影モードに設定されると、ステップS1で、CCD5に所定のフレームレートで被写体を撮像させる処理を開始させ、CCD5により順次撮像され画像生成部9によって生成された輝度色差信号のフレーム画像データ(YUVデータ)をバッファメモリ(DRAM13)に記憶させていき、該記憶されたフレーム画像データに基づく画像を画像表示部15に表示させていくという、いわゆるスルー画像表示を開始する。
次いで、ステップS2で、CPU10は、ユーザによってシャッタボタンが半押しされたか否かを判断する。この判断は、シャッタボタンの半押し操作に対応する操作信号がキー入力部11から送られてきたか否かにより判断する。
このとき、ユーザは、撮影したい被写体(メイン被写体)を画角内に収めて構図を決めてから撮影の準備を指示するためシャッタボタンを半押し操作する。
ステップS2で、シャッタボタンが半押しされていないと判断すると、半押しされるまでステップS2に留まり、シャッタボタンが半押しされたと判断すると、ステップS3に進み、CPU10の3次元顔認識手段101は、撮像された画像データの全領域に基づく3次元の顔検出処理を行う。この3次元の顔検出処理は、本発明の特徴部分となるCCD5により撮像されたフレーム画像データ内に人の顔や猫や犬等の動物の顔があるか否かを検出する処理のことで、後で具体的に説明する。
3次元の顔検出処理を行うと、ステップS4に進み、CPU10は、3次元の顔検出処理により顔が検出されたか否かを判断する。
ステップS4で顔が検出されたと判断すると、ステップS5に進み、CPU10は、該検出された顔に対してコントラスト検出方式によるAF処理を行ってステップS7に進む。このコントラスト検出方式によるAF処理とは、周知技術なので詳しくは述べないが、要は、フォーカス対象となる領域の画像データからコントラスト成分を検出し、その波形を解釈して、つまり、高周波成分が最も大きくなるレンズの位置に、フォーカスレンズを合わせてピントを合わせるというものである。
一方、ステップS4で顔が検出されなかったと判断すると、ステップS6に進み、CPU10は、所定の領域に対してコントラスト検出方式によるAF処理を行って、ステップS7に進む。
ステップS7に進むと、CPU10は、ユーザによってシャッタボタンが全押しされたか否かを判断する。この判断は、シャッタボタンの全押し操作に対応する操作信号がキー入力部11から送られてきたか否かにより判断する。
ステップS7で、シャッタボタンが全押しされていないと判断すると、全押しされるまでステップS7に留まり、シャッタボタンが全押しされたと判断すると、ステップS8に進み、CPU10は、静止画撮影処理を行い、該撮影処理により得られた静止画像データを圧縮してフラッシュメモリ14に記録する処理を行って、ステップS1に戻る。
C.顔検出処理の動作について
次に、本発明の特徴となる顔検出処理の動作を説明する。従来は、単に2次元的に顔検出処理を行っていたが、つまり、撮像された画像データに基づく2次元の被写体の特徴データと2次元の顔データとを比較照合することにより、該画像データ内にある顔を検出していたが、本発明の顔検出処理は、3次元のデータを用いて顔を検出するというものである。
ここでは、3次元のデータを用いて顔を検出する動作を2つ紹介するが、これに限られるものではなく、要は、3次元データを用いて被写体の顔を検出するものであればよい。
C−1.1つ目の顔検出処理について
まず、1つ目の全領域に基づく3次元の顔検出処理の動作を図3のフローチャートにしたがって説明する。
図2のステップS2で、シャッタボタンが半押しされたと判断して、ステップS3に進むと、図3のステップS11に進み、CPU10の3次元顔認識手段101は、シャッタボタン半押し直前に撮像された複数枚のフレーム画像データから、全被写体の特徴データ(2次元の特徴データ)をそれぞれ算出する。ここでいう「全被写体」とは、CCD5によって撮像された全ての被写体のことを指す。例えば、建物の前に立っているメイン被写体である人を撮像した場合は、全被写体は建物と人ということになる。
ここで、CPU10は、シャッタボタンが半押しされるまで、少なくとも最新の複数枚のフレーム画像データをバッファメモリに保持させておく。例えば、5枚のフレーム画像データを保持する場合は、新たにフレーム画像データが撮像されると、該保持している5枚のフレーム画像データのうち、一番古いフレーム画像データを捨て、該新たなフレーム画像データを保持する。
また、フレーム画像データから算出される全被写体の特徴データとは、例えば、撮影された全被写体が建物とその前に立っている人の場合は、建物及び人の特徴点を複数抽出し、該抽出した特徴点の座標位置や相対位置関係等を数値化したデータのことをいう。この特徴点の抽出により、目、鼻、口、顔の輪郭等から顔の特徴点も複数抽出される。つまり、全被写体の特徴データは、顔だけではなく撮像された全ての全被写体の特徴点に基づいて数値化されたデータである。
また、ユーザは、シャッタボタン半押し前に、メイン被写体を撮影する角度(撮影角度)を変えながら撮像する。これにより、異なる撮影角度で撮影された複数のフレーム画像がバッファメモリに保持されることになる。このとき、メイン被写体の画角内での位置を変えないで撮像した方が好ましい。
なお、シャッタボタン半押し直後に撮像された複数枚のフレーム画像データから、全被写体の特徴データをそれぞれ算出するようにしてもよい。この場合、シャッタボタンを半押した後に、メイン被写体を撮影する角度(撮影角度)を変えながら撮像することにより、異なる撮影角度で撮影された複数のフレーム画像がバッファメモリに保持されることになる。
次いで、ステップS12で、3次元顔認識手段101は、該算出された各フレーム画像データの全被写体の特徴データに基づいて、全被写体の3次元モデルを生成する。
この3次元モデルの生成は、既に周知技術なので詳しく説明しないが、ある画像の特徴点と、該特徴点に対応する他の画像の特徴点とに基づいて、三角測量演算によって全被写体の3次元モデルを生成する(モデリング処理)。
図4は3次元モデルの生成過程を示すものであり、図4を見るとわかるように、被写体を複数の角度から撮影したフレーム画像データに基づいて、被写体の3次元モデルが生成されている。なお、ここでは、顔のみが撮像されたフレーム画像データに基づいて生成される3次元モデルの様子を示している。
また、図5は、生成された被写体(ここでは顔のみ)の3次元モデルをサーフェスモデルの一種である多角形ポリゴン(ここでは、3角形ポリゴン)で表したときの様子を示す図である。
なお、サーフェスモデルでなく、ワイヤーフレームモデルやソリッドモデル等他の方法によって表すようにしてもよい。
次いで、ステップS13で、CPU10の3次元顔認識手段101は、該生成した全被写体の3次元モデルと、予めメモリ12に記録されている被写体の種類毎の立体顔データ(人、犬、猫等の種類毎の立体顔データ)とを比較照合する。この比較照合は、生成した全被写体の3次元モデルの中に立体顔データと一致する部分があるか否かを判断するためのものである。したがって、この比較照合は、生成された全被写体の3次元モデルの各部と立体顔モデルとを比較照合していく(サーチしていく)ことにより、各部との一致度を得る。この動作を、被写体の種類毎の立体顔データ毎に行なう。この生成されている全被写体の3次元モデルは、撮像された全ての被写体の3次元モデルを生成するため、例えば、建物とその前に立っている人を撮像した場合は、建物とその前に立っている人の3次元モデルを生成するので、該生成した3次元モデルの中に顔があるか否かを判断するために、全被写体の3次元モデルの各部と立体顔データとを比較照合していく。
次いで、ステップS14で、CPU10の3次元顔認識手段101は、該生成した全被写体の3次元モデルの中に、複数種類の被写体の立体顔データの何れかの立体顔データと所定値以上で一致する部分があるか否かを判断する。つまり、所定の範囲内で一致する部分があるか否かを判断することになる。
ステップS14で、所定値以上で一致する部分があると判断した場合は、ステップS15に進み、CPU10の3次元顔認識手段101は、所定値以上で一致する部分を顔と判断し、該所定値以上で一致した部分に対応する撮像されたフレーム画像データ上の領域を顔領域とする。つまり、フレーム画像データ上の顔領域を検出する。
この所定値以上で一致した部分に対応するフレーム画像データ上の領域とは、全被写体の3次元モデルの中で、一致する部分(顔部分)の特徴データに対応するフレーム画像データ上の領域であり、該特徴データに対応するフレーム画像データは複数あるので(複数枚のフレーム画像データに基づいて全被写体の3次元モデルを生成したため)、所定値以上で一致した部分に対応する、生成元となった複数のフレーム画像データのうち、直近に撮像されたフレーム画像データ上の領域であってもよいし、所定値以上で一致した部分に対応する生成元となった全てのフレーム画像データ上の領域から構成される領域であってもよい。
一方、ステップS14で、所定値以上で一致する部分がないと判断すると、ステップS16に進み、CPU10の3次元顔認識手段101は、撮像されたフレーム画像データ内に顔がないと判断する。
また、ステップS15で顔領域を検出すると、図2のステップS4で顔が検出できたと判断され、ステップS16で顔がないと判断すると、図2のステップS4で顔が検出できなかったと判断する。
このように、1つ目の顔検出処理は、同一被写体を撮像した複数の画像データから、全被写体の3次元モデルを生成し、種類毎の被写体の立体顔データと比較照合することにより顔を検出するので、顔検出の精度を向上させることができる。
例えば、メイン被写体の顔が横を向いていたり、サングラスを装着している場合であっても検出することができる。
また、被写体の種類毎の立体顔データと生成した3次元モデルとを比較照合するので、人の顔に限らず、犬や猫等の動物の顔等も検出することができる。例えば、馬など動物の顔は、見る角度が違うと極端に顔の形が変わってしまうが、3次元とすることにより、精度よく顔を検出することができる。
C−2.2つ目の顔検出処理について
次に、2つ目の全領域に基づく3次元の顔検出処理の動作を図6のフローチャートにしたがって説明する。
図2のステップS2で、シャッタボタンが半押しされたと判断して、ステップS3に進むと、図6のステップS21に進み、CPU10の3次元顔認識手段101は、顔の向きを正面と設定する。
次いで、ステップS22で、CPU10の3次元顔認識手段101は、予めメモリ12に記録されている被写体の種類毎の立体顔データに基づいて、該設定された向きから見た各種類の被写体の顔の平面(2次元)画像データを生成する(レンダリング処理)。ここでは、設定されている向きは正面なので、種類毎の被写体の顔を正面から見た平面画像データを、被写体の種類毎の立体顔データから生成することになる。この立体的なものから平面画像データを生成する技術は周知技術なので詳しくは説明しないが、陰面消去や陰線消去などを行なうことによって行なわれる。
次いで、ステップS23で、CPU10の3次元顔認識手段101は、該生成した被写体の種類毎の顔の平面画像データから、設定されている向きから見た被写体の種類毎の顔特徴データ(2次元の顔特徴データ)を算出する。
次いで、ステップS24で、CPU10の3次元顔認識手段101は、直近にCCD5により撮像されたフレーム画像データから、全被写体の特徴データ(2次元の特徴データ)を算出する。ここでいう「全被写体」とは、CCD5によって撮像された全ての被写体のことを指し、以下の説明でも同様である。
次いで、ステップS25で、CPU10の3次元顔認識手段101は、ステップS23で算出された、設定されている向きから見た被写体の種類毎の顔特徴データと、ステップS24で算出された全被写体の特徴データとを比較照合する。この比較照合は、生成した全被写体の特徴データの中に顔特徴データと一致する部分かあるか否かを判断するためのものである。したがって、この比較照合は、生成された全被写体の特徴データの各部と顔特徴データとを比較照合していく(サーチしていく)ことにより、各部との一致度を得る。この動作を、被写体の種類毎の顔特徴データ毎に行なう。
次いで、ステップS26で、CPU10の3次元顔認識手段101は、ステップS24で算出した全被写体の特徴データの中に、ステップS23で算出した被写体の種類毎の顔特徴データの何れかの顔特徴データと所定値以上で一致する部分(特徴データ)があるか否かを判断する。つまり、所定の範囲内で一致する部分があるか否かを判断することになる。
ステップS26で、所定値以上で一致する部分があると判断した場合は、ステップS27に進み、CPU10の3次元顔認識手段101は、該所定値以上で一致する部分を顔と判断し、該部分に対応する、全被写体の特徴データの生成元となったフレーム画像データ上の領域を顔領域とする。つまり、フレーム画像データ上の顔領域を検出する。
一方、ステップS26で、所定値以上で一致する部分がないと判断すると、ステップS28に進み、3次元顔認識手段101は、現在設定されている向きが最後の向きであるか否かを判断する。つまり、予め決められたすべての向きが設定されたか否かを判断する。
ステップS28で、設定されている向きが最後の向きでないと判断すると、ステップS29に進み、3次元顔認識手段101は、次の向きに設定して、ステップS22に戻る。例えば、現在設定されている向きが顔の正面の場合は、顔を斜め右前から見た向きと設定する。つまり、向きの角度を変える。
一方、ステップS28で、設定されている向きが最後の向きであると判断すると、ステップS30に進み、3次元顔認識手段101は、撮像されたフレーム画像データ内に顔がないと判断する。
また、ステップS27で顔領域を検出すると、図2のステップS4で顔が検出できたと判断され、ステップS30で顔がないと判断すると、図2のステップS4で顔が検出できなかったと判断する。
このように、2つ目の顔検出処理は、全被写体を撮像した1枚の画像データから算出された全被写体の特徴データと、予め記録されている被写体の種類毎の立体顔データから異なる向きから見た被写体の顔の平面画像データを生成していき、該生成された平面画像データから算出された被写体の特徴データと、を比較照合することにより顔を検出するので、顔検出の精度を向上させることができる。
例えば、被写体が犬や猫等の動物であったり、被写体が横を向いている場合であっても検出することができる。
また、1つ目の顔検出処理のように、撮像された複数の画像データから全被写体の3次元モデルを生成する必要は無いので処理負担を軽減させることができる。
[第2の実施の形態]
次に、第2の実施の形態について説明する。
上記第1の実施の形態においては、単に顔検出の場合について説明したが、第2の実施の形態においては、上記説明した顔検出処理の動作を、撮影された顔が具体的に誰であるか?を認識する個人認識の場合に適用するようにしてもよい。つまり、予め登録している人物の顔が撮像された画像データの中にあるか否かを個人認識することになる。なお、この個人認識の場合は、被写体の種類毎に顔データ(立体顔データ)を有するのではなく、被写体の種類を人に限定し、人物毎に顔データ(立体顔データ)を有する。
上記第1の実施の形態では、検出される顔が複数の場合は、どこの顔をメイン被写体として特定していいのか分からないが、個人認識を行なう場合は、複数の顔が検出された場合であっても、登録されている人物の顔をメイン被写体として特定することができる。
この人物の立体顔データは、登録モード等においてユーザが任意の人物の顔を登録することができる。登録する人物の立体顔データは、登録したい人物の顔を異なる角度から複数撮影し、該撮影された複数の画像データから3次元の顔データを生成して登録する。
この場合は、図2のステップS3は個人認識処理を行い、ステップS4では登録されている顔があるか否かを判断する。
また、個人認識処理の動作は、図3及び図6に示すフローチャートとほぼ同様であるが、この場合は、記録(登録)されている人物の立体顔データは、人の顔であることが大まかに認識できる程度の情報量ではなく、具体的に誰の顔であるかを認識できる程度の情報量が必要である。
また、図3のステップS11での算出も撮像された複数の画像データから誰の顔であるか具体的に識別できる程度の特徴データを算出する必要がある。この算出された特徴データに基づいて3次元モデルが生成されるからである。また、図6のステップS23の平面画像データからの顔特徴データの算出も、誰の顔であるかを具体的に認識できる程度の情報量が必要である。
そして、図3のステップS15、図6のステップS27は、該所定値以上で一致する部分に登録されている人物の顔があると認識し、顔領域を検出することになる。そして、図2のステップS5で、登録されている人物の顔に対してAF処理を行う。
また、図3のステップS16、図6のステップS30は、登録されている人物がいないと判断する。このときは、図2のステップS5に進み、所定の領域に対してAF処理を行うようにしてもよいし、登録されている人物がいないと判断した場合は、個人認識処理により登録された人物の顔を認識することができなかったが顔を検出することができたか否かを判断し、顔が検出された場合は該検出した顔に対してAF処理を行い、顔が検出されなかった場合は所定の領域に対してAF処理を行うようにしてもよい。
これにより、個人認識の精度を向上させることができる。例えば、人物が横を向いている場合やサングラスをしている場合であっても、該人物が登録されている人物であるかを個人認識することできる。
[第3の実施の形態]
次に、第3の実施の形態について説明する。
第2の実施の形態においては、単に3次元の個人認識を行なうというものであったが、2次元の個人認識により個人認識できなかった場合に3次元の個人認識を行なうというものである。
なお、本実施の形態においては、メモリ12には、被写体の種類毎の立体顔データに代えて、個人認識用の人物毎の2次元(平面)の顔特徴データ(顔データ)が登録(記録)されているとともに、人の顔検出用の2次元の顔特徴データも記録されている。
D.デジタルカメラ1の動作
第1の実施の形態におけるデジタルカメラ1の動作を図7のフローチャートに従って説明する。
ユーザのモード切替キーの操作により、静止画撮影モードに設定されると、ステップS51で、CCD5に所定のフレームレートで被写体を撮像させる処理を開始させ、CCD5により順次撮像され画像生成部9によって生成された輝度色差信号のフレーム画像データ(YUVデータ)をバッファメモリ(DRAM13)に記憶させていき、該記憶されたフレーム画像データに基づく画像を画像表示部15に表示させていくという、いわゆるスルー画像表示を開始する。
次いで、ステップS52で、CPU10は、ユーザによってシャッタボタンが半押しされたか否かを判断する。この判断は、シャッタボタンの半押し操作に対応する操作信号がキー入力部11から送られてきたか否かにより判断する。
このとき、ユーザは、撮影したいメイン被写体を画角内に収めて構図を決めてから撮影の準備を指示するためシャッタボタンを半押し操作する。
ステップS52で、シャッタボタンが半押しされていないと判断すると、半押しされるまでステップS52に留まり、シャッタボタンが半押しされたと判断すると、ステップS53に進み、CPU10の2次元顔認識手段102は、2次元の顔検出処理を開始する。この2次元の顔検出処理は、直近に撮像された画像データに基づいて全被写体の特徴データ(2次元の特徴データ)を算出し、該算出した特徴データと、予め記録されている顔検出用の顔特徴データとを比較照合することにより、画像内にある人の顔を検出する。ここで、記録されている顔検出用の顔特徴データは、人の顔であることが検出できれば十分なので、具体的に誰の顔であるかを認識できる程度の情報量は必要ない。また、ステップS53で算出される全被写体の特徴データも同様に、人の顔を検出するのに必要な情報量でよい。
次いで、ステップS54で、CPU10は、2次元の顔検出処理によって人の顔が検出されたか否かを判断する。
ステップS54で、人の顔が検出できたと判断すると、ステップS55に進み、2次元顔認識手段102は、2次元の個人認識処理を行う。この2次元の個人認識処理は、該検出された顔領域の画像データに基づいて、顔の特徴データ(2次元の特徴データ)を算出し、該算出した顔の特徴データと、予め登録されている各人物(1人であってもよい)の顔の顔特徴データ(個人認識用の顔特徴データ)とを比較照合することにより、該登録されている人物の顔があるかを個人認識する。ここで、登録されている各人物毎の顔特徴データは、人の顔であることが大まかに認識できる程度の情報量ではなく、具体的に誰の顔であるかを認識できる程度の情報量を有している。この顔特徴データは、登録モード等においてユーザが任意の人物の顔を登録することができる。この登録は、例えば、登録したい人物の顔を撮影し、該撮影された1枚の画像データから顔の特徴データを算出して登録する。
また、顔領域の画像データに基づいて算出される顔の特徴データも、誰の顔であるか具体的に識別できる程度の情報量を有する。
次いで、ステップS56で、CPU10は、2次元の個人認識処理によって人の顔が個人認識されたか否かを判断する。
ステップS56で、顔を個人認識することができたと判断すると、ステップS64に進み、CPU10は、該個人認識した被写体に対してコントラスト検出方式によるAF処理を行う。
一方、ステップS54で、顔を検出することができないと判断した場合、ステップS56で、顔を個人認識することができないと判断した場合は、ステップS57に進み、CPU10は、異なる撮影角度でメイン被写体の撮影を促す表示を行なう。例えば、「撮影したい被写体を異なる角度から撮影してください。」というような表示を行う。これにしたがって、ユーザは撮影角度を変えてメイン被写体を撮像することになる。なお、このときユーザは、メイン被写体となる顔の画角内での位置を変えずに撮影角度を変えることが望ましい。
次いで、ステップS58で、CPU10は、2次元の顔検出処理を開始してから所定時間が経過したか否かを判断する。
ステップS58で、所定時間が経過していないと判断するとステップS54に戻る。これにより、所定時間が経過するまでは、撮影角度の異なる画像データに基づいて2次元の顔検出処理や2次元の個人認識処理を行うので、最初は横顔を撮影している場合であっても、該顔を検出、個人認識できる場合があり、処理負担を少なくして顔を検出、個人認識することができる。
一方、ステップS58で、所定時間が経過したと判断すると、ステップS59に進み、CPU10は、顔を検出することができたか否かを判断する。
ステップS59で、顔を検出することができたと判断すると、ステップS60に進み、CPU10の3次元顔認識手段101は、該検出された顔領域に基づく3次元の個人認識処理を行なう。この該検出された顔領域に基づく3次元の顔認識処理は、後で説明する。
次いで、ステップS61に進み、CPU10は、顔を個人認識することができたか否かを判断する。つまり、登録されている人物の顔が画像内にあるか否かを判断する。
ステップS61で、顔を個人認識することができたと判断すると、ステップS64に進み、CPU10は、該個人認識した顔に対してAF処理を行う。
一方、ステップS61で、顔を個人認識することができないと判断すると、ステップS65に進み、CPU10は、所定の領域に対してAF処理を行う。
また、ステップS59で、顔を検出することができないと判断すると、ステップS62に進み、CPU10の3次元顔認識手段101は、画像データの全領域に基づく3次元の個人認識処理を行なう。この全領域に基づく3次元の顔認識処理は、後で説明する。
次いで、ステップS63で、CPU10は、顔を個人認識することができたか否かを判断する。つまり、登録されている人物の顔が画像内にあるか否かを判断する。
ステップS63で、顔を個人認識することができたと判断すると、ステップS64に進み、CPU10は、該個人認識した顔に対してAF処理を行い、ステップS63で、顔を個人認識することができないと判断すると、ステップS65に進み、CPU10は、所定の領域に対してAF処理を行う。
ステップS64、ステップS65でAF処理を行うと、ステップS66に進み、CPU10は、ユーザによってシャッタボタンが全押しされたか否かを判断する。
ステップS66で、シャッタボタンが全押しされていないと判断すると、全押しされるまでステップS66に留まり、シャッタボタンが全押しされたと判断すると、ステップS67に進み、CPU10は、静止画撮影処理を行い、該撮影処理により得られた静止画像データを圧縮してフラッシュメモリ14に記録する処理を行って、ステップS51に戻る。
D−1.検出された顔領域に基づく3次元の個人認識処理について
顔領域に基づく3次元の個人認識処理の動作を図8のフローチャートにしたがって説明する。
図7のステップS60に進むと、図8のステップS71に進み、CPU10の3次元顔認識手段101は、直近に撮像された撮影角度の異なる複数のフレーム画像データから、該検出された顔の特徴データ(2次元の特徴データ)をそれぞれ算出する。この顔の特徴データの算出は、各フレーム画像データ毎に検出された顔領域の画像データから顔の特徴データをそれぞれ算出する。ここで、CPU10は、少なくとも最新の複数枚のフレーム画像データをバッファメモリに保持させておく。また、各フレーム画像データから算出される顔の特徴データは、誰の顔であるか具体的に識別できる程度の情報量を有する。
なお、各フレーム画像データの顔領域の位置を同じにするようにしてもよい。この場合は、何れかのタイミングで検出された顔に基づいて顔領域を定め、各フレーム画像データの該定められた顔領域の画像データから顔の特徴データをそれぞれ算出する。
次いで、ステップS72で、3次元顔認識手段101は、該算出した各フレーム画像データの顔の特徴データに基づいて、顔の3次元モデルを生成する。
次いで、ステップS73で、CPU10の3次元顔認識手段101は、顔の向きを正面と設定する。
次いで、ステップS74で、CPU10の3次元顔認識手段101は、ステップS72で生成した3次元モデルに基づいて、該設定した向きから見た顔の2次元(平面)画像データを生成する。
次いで、ステップS75で、CPU10の3次元顔認識手段101は、該生成した顔の平面画像データから、顔の特徴データ(2次元の特徴データ)を算出する。これにより、ここで算出される顔の特徴データは、現在設定されている向きから見た顔の特徴データとなる。また、ここで、算出される顔の特徴データは、誰の顔であるか具体的に識別できる程度の情報量を有する。
次いで、ステップS76で、CPU10の3次元顔認識手段101は、ステップS75で算出された、設定されている向きから見た顔の特徴データと、予めメモリ12に登録(記録)されている人物毎の2次元の顔特徴データ(個人認識用の顔特徴データ)とを比較照合する。
次いで、ステップS77で、CPU10の3次元顔認識手段101は、人物毎の顔特徴データのうち、ステップS75で算出した顔の特徴データと所定値以上で一致する顔特徴データがあるか否かを判断する。つまり、所定の範囲内で一致する顔特徴データがあるか否かを判断する。
ステップS77で、所定値以上で一致する顔特徴データがある場合には、該顔特徴データに対応する人物の顔あると判断する。
一方、ステップS77で、所定値以上で一致する顔特徴データがない場合は、ステップS79に進み、CPU10の3次元顔認識手段101は、現在設定されている向きが最後の向きであるか否かを判断する。つまり、予め決められたすべての向きが設定されたか否かを判断する。
ステップS79で、設定されている向きが最後の向きでないと判断すると、ステップS80に進み、CPU10の3次元顔認識手段101は、次の向きに設定して、ステップS74に戻る。例えば、現在設定されている向きが顔の正面の場合は、顔を斜め右前から見た向きと設定する。つまり、向きの角度を変える。なお、ここで設定される顔の向きは、ステップS71で取得したフレーム画像データが撮影された撮影角度に拘束されることなく、生成した顔の3次元モデルから自由に設定することができる。
一夫、ステップS79で、設定されている向きが最後の向きであると判断すると、ステップS81に進み、CPU10の3次元顔認識手段101は、登録されている人物の顔がないと判断する。
これにより、個人認識の精度を向上させることができる。例えば、人物が横を向いている場合やサングラスをしている場合であっても、該人物が登録されている人物であるかを個人認識することでできる。また、顔の3次元モデルのみしか生成しないので、全被写体の3次元モデルを生成するのに比べ処理負担を軽減させることができる。
立体顔データはなく、2次元の顔データを記録しておけばよいので、記録容量を少なくすることができる。
D−2.画像データの全領域に基づく3次元の個人認識処理について
次に、画像データの全領域に基づく3次元の個人認識処理の動作を説明する。なお、この全領域に基づく3次元の個人認識処理の動作は、図8に示したフローチャートとほぼ同様なので、図8のフローチャートを引用し、異なる部分だけを説明する。
図7のステップS62に進むと、図8のステップS71に進み、CPU10の3次元顔認識手段101は、直近に撮像された撮影角度の異なる複数枚のフレーム画像データから全被写体の特徴データをそれぞれ算出する。この全被写体の特徴データの算出は、各フレーム画像データの全領域から算出する。ここでいう「全被写体」とは、CCD5によって撮像された全ての被写体のことを指すことは言うまでもない。
そして、ステップS72では、各フレーム画像データの全被写体の特徴データから全被写体の3次元モデルが生成され、ステップS74では該生成された3次元モデルから全被写体の平面画像データ、ステップS75では全被写体の特徴データが算出されることになる。また、ステップS77では、ステップS75で算出した全被写体の特徴データの中に、人物毎の顔特徴データの何れかの顔特徴データと所定値以上で一致する部分があるか否かを判断する。ステップS77で一致する部分があると判断すると、ステップS78で、該所定値以上で一致する部分に登録されている顔があると判断し、該所定値以上で一致した部分に対応する撮像されたフレーム画像データ上の領域を顔領域とする。
これにより、個人認識の精度を向上させることができる。例えば、人物が横を向いている場合やサングラスをしている場合であっても、該人物が登録されている人物であるかを個人認識することでできる。また、立体顔データはなく、2次元の顔データを記録しておけばよいので、記録容量を少なくすることができる。
以上のように、第3の実施の形態においては、2次元の個人認識処理を行い、顔が個人認識されない場合のみ、3次元の個人認識を行なうようにしたので、個人認識の処理負担を少なくすることができ、必要な場合のみ3次元の個人認識を行なうことができる。
また、2次元の個人認識処理により顔が個人認識できないが、顔を検出することができた場合は、該検出された顔の3次元モデルを生成するようにしたので、3次元モデルの生成処理の負担を少なくさせることができる。
なお、上記各実施の形態における、「全被写体」と「顔」は、共に被写体の概念に含まれるものである。例えば、画像データの全領域で特徴データを算出する場合は、全被写体の特徴データとなり、画像データの全領域のうち、顔領域で特徴データを算出する場合は、顔の特徴データとなる。
[変形例]
E.上記実施の形態は以下のような態様でもよい。
(01)上記第1の実施の形態においては、3次元の顔検出処理のみを行うようにしたが、上記第3の実施の形態のように、まずは、2次元の顔検出処理を行い、該2次元の顔検出処理により顔が検出されなかった場合に3次元の顔検出処理を行なうようにしてもよい。
また、記第1、2の実施の形態において、図3のステップS3の動作を、第3の実施の形態における図7のステップS60、ステップS62の個人認識処理(該個人認識処理の動作を顔検出処理に適用した動作も含む)を行なうようにしてもよい。図7のステップS60の動作を行なう場合は、顔が検出されていることが前提となる。
(02)上記第2の実施の形態においては、単に図3、図6に示す顔検出処理を個人認識処理に適用するようにしたが、図3に示す顔検出処理を個人認識に適用した動作により行なう場合は、個人認識処理を行う前に、2次元の顔検出処理を行い、該検出された顔のみの3次元モデルを生成するようにしてもよい。
この場合は、更に、2次元の顔検出処理により顔が検出できたか否かを判断し、検出できた場合は、顔のみの3次元モデルを生成し、検出できなかった場合は、上記第2の実施に形態に示すように全被写体の3次元モデルを生成するようにしてもよい。
(03)また、上記第3の実施の形態においては、図7のステップS60の顔領域に基づく個人認識処理、及び、図7のステップS62の全領域に基づく個人認識処理を図8に示すフローチャートに示す動作で行うようにしたが、図7のステップS60、ステップS62の個人認識処理を、図3及び図6に示す顔検出処理を個人認識に適用した動作によって行なうようにしてもよい。
この場合、ステップS62の個人認識処理を、図3、図6の顔検出処理を個人認識に適用した動作によって行なう場合は、上記第2の実施の形態で説明したような動作になるが、ステップS60の個人認識処理を、図3、図6の顔検出処理を個人認識に適用した動作によって行なう場合は、図3のステップS11で、複数のフレーム画像データの該検出された顔領域の画像データに基づいて顔の特徴データを算出し、ステップS12で算出された各フレーム画像データの顔の特徴データに基づいて顔の立体モデルを生成する。そして、ステップS14では、登録されている人物毎の立体顔データのうち、該生成した顔の立体モデルと所定値以上で一致する立体顔データがあるか否かを判断し、所定値以上で一致する立体顔データがある場合は、該立体顔データに対応する人物の顔があると判断する(ステップS15)。この場合は、顔領域の画像データに基づいて算出される顔の特徴データは、誰の顔であるかを具体的に識別できる程度の情報量が必要であり、また、人物毎に記録されている立体顔データも誰の顔であるかを具体的に識別できる程度の情報量が必要である。
また、図6のステップS24では直近に撮像されたフレーム画像データの該検出された顔領域の画像データに基づいて顔の特徴データを算出する。そして、ステップS26で登録されている人物毎の顔特徴データのうち、該算出した顔の特徴データと所定値以上で一致する顔特徴データがあるか否かを判断し、所定値以上で一致する顔特徴データがある場合は、該顔特徴データに対応する人物の顔があると判断する(ステップS27)。この場合は、顔領域の画像データに基づいて算出される顔の特徴データは、誰の顔であるかを具体的に識別できる程度の情報量が必要であり、また、人物毎に記録されている立体顔データも誰の顔であるかを具体的に識別できる程度の情報量が必要であり、また、ステップS23で算出される人物毎の立体顔データから算出されるそれぞれの顔特徴データも誰の顔であるかを具体的に識別できる程度の情報量が必要である。
(04)また、図8のフローチャートに示す個人認識処理の動作を顔検出処理に適用するようにしてもよい。この場合の動作は、複数のフレーム画像データ全体から全被写体の特徴データを算出するようにし、ステップS72は該算出した各フレーム画像データの全被写体の特徴データに基づいて全被写体の3次元モデルを生成することになる。これにより、ステップS74では全被写体の平面画像データ、ステップS75では全被写体の特徴データが算出されることになる。また、ステップS77では、ステップS75で算出した全被写体の特徴データの中に、被写体の種類毎の顔特徴データの何れかの顔特徴データと所定値以上で一致する部分があるか否かを判断する。ステップS77で一致する部分があると判断すると、ステップS78で該所定値以上で一致する部分に顔があると判断し、顔領域を検出する。
これにより、顔検出の精度を向上させることができる。
この顔検出処理の場合は、具体的に誰の顔であるかを認識する必要はないので、算出する特徴データは、どの種類の被写体の顔であるかを大まかに検出することができる程度の情報量でよい。また、この場合は、被写体の種類毎に2次元の顔特徴データを記録しておき、該記録されている各種類の被写体の特徴データも大まかにどの種類の被写体の顔であるかを大まかに検出することができる程度の情報量でよい。
(05)また、上記第3の実施の形態においては、2次元の顔検出処理と2次元の個人認識処理の両方を行なうようにしたが、どちらか一方であってもよい。
2次元の顔検出処理のみを行う場合は、図7のステップS54で、顔が検出できたと判断するとステップS60に進み、ステップS54で、顔が検出できていないと判断すると、ステップS57に進むようにする。そして、ステップS58で、所定時間が経過したと判断するとステップS62に進む。つまり、ステップS55、ステップS56、ステップS59の動作は不要ということになる。
また、2次元の個人認識処理のみを行う場合は、ステップS53では2次元の顔検出処理に代えて2次元の個人認識処理を開始して、ステップS56に進む。そして、ステップS58で、所定時間が経過したと判断するとステップS62に進む。つまり、ステップS54、ステップS55、ステップS59〜ステップS61の動作は不要ということになる。
また、2次元の個人認識処理のみを行う場合であって、2次元の個人認識処理により顔を検出することができる場合は、ステップS53では2次元の顔検出処理に代えて2次元の個人認識処理を開始して、ステップS56に進む。つまり、ステップS54、ステップS55の動作は不要ということになる。また、この2次元の個人認識処理による顔検出は、登録されている顔が画像データ内にあると個人認識された場合は、当然に顔も検出されていることになり、また、たとえ登録されている顔が画像データ内にないと判断された場合であっても、全被写体の2次元の特徴データと登録されている人物毎の顔特徴データとの比較照合の結果により、登録されている人物の顔ではないが人の顔であることを検出することは可能であるからである。例えば、顔特徴データと第1の所定値以上で一致する部分がある場合は、該顔特徴データに対応する人物の顔であると個人認識し、第1の所定値以上で一致しないが、第2の所定値(第1の所定値より小さい値)以上で一致する場合は人の顔であると検出する。
(06)また、上記第3の実施の形態においては、図7のステップS61で、顔を個人認識することができないと判断した場合は、ステップS65で所定の領域に対してAF処理を行うようにしたが、ステップS61で、顔を個人認識することができないと判断した場合は、ステップS59で検出されたと判断された顔に対してAF処理を行うようにしてもよい。
また、個人認識処理を行うことにより顔を検出することができる場合は、ステップS63で顔を個人認識することができないと判断された場合は、顔を検出することができたか否かを判断し、顔を検出することができたと判断した場合は、該検出された顔に対してAF処理を行い、顔を検出することができないと判断した場合は、ステップS65に進み所定の領域に対してAF処理を行うようにしてもよい。また、この個人認識処理による顔検出は、登録されている顔があると個人認識された場合は、当然に顔も検出されていることになり、また、たとえ登録されている顔ないと判断された場合であっても、全被写体の3次元モデルと人物毎の立体顔データとの比較照合や、全被写体の2次元の特徴データと、顔特徴データとの比較照合の結果により、登録されている人物の顔はないが人の顔があることを検出することは可能であるからである。例えば、立体顔データと第1の所定値以上で一致する部分がある場合は、該立体顔データに対応する人物の顔があると個人認識し、第1の所定値以上で一致しないが、第2の所定値(第1の所定値より小さい値)以上で一致する場合は人の顔であると検出する。
(07)また、上記各実施の形態において、図2のステップS3では、画像データの全領域に基づいて3次元の顔検出処理を行うようにしたが、全領域ではなく、画角の中央領域、または、ユーザによって任意に指定された領域、または、肌色成分を有する領域に基づいて顔検出処理を行うようにしてもよい。
また、図7のステップS62の全領域に基づく3次元の個人認識処理も同様に、全領域ではなく、画角の中央領域、または、ユーザによって任意に指定された領域、または、肌色成分を有する領域に基づいて個人認識処理を行うようにしてもよい。
また、図7のステップS53の2次元の顔検出処理も、全領域ではなく、画角の中央領域、または、ユーザによって任意に指定された領域、または、肌色成分を有する領域に基づいて顔検出処理を行うようにしてもよい。
また、この領域のサイズは、所定のサイズ、又は、ユーザによって任意に指定されたサイズ、又は、肌色成分を有する画素の範囲に基づくサイズであってもよい。
(08)また、上記各実施の形態及び上記各変形例においては、被写体の種類毎、人物毎の立体顔データ、被写体の種類毎の2次元の顔特徴データ、人物毎の2次元の顔特徴データを用いて顔を認識(検出、個人認識)するようにしたが、所定の種類の顔データ、所定の人物の顔データを用いて顔を検出、個人認識するようにしたり、ユーザによって任意に指定された種類の顔データ、人物の顔データを用いて顔を検出、個人認識するようにしてもよい。
例えば、ユーザによって猫が指定された場合は、撮像された被写体の中に人や犬が撮像さてれている場合で合っても、猫の顔のみを認識することになる。
これにより、認識したい被写体の顔のみを認識することができる。
(09)また、上記第各実施の形態においては、被写体の特徴点や被写体の種類毎の特徴点を抽出して特徴データを抽出し、該抽出した特徴データに基づいて3次元モデルを生成したり、該抽出した特徴データを比較照合することにより顔を検出するようにしたが、他の方法によって3次元モデルを生成したり、顔を検出したりするようにしてもよい。
(10)また、上記第各実施の形態においては、静止画撮影処理により撮影された静止画像データのみを記録するようにしたが、顔検出処理により検出された顔の位置や顔の種類(人、犬、猫等)、個人認識処理により認識された人物名を静止画像データに関連付けて記録するようにしてもよい。
(11)また、上記第各実施の形態においては、検出した顔、個人認識した顔に基いてAF処理を行うようにしたが、検出された顔、個人認識した顔に基づいて露出制御を行なったり、被写体追従処理を行うというように、検出された顔、個人認識された顔に基づいて所定の処理を行うようにしてもよい。
(12)また、上記第各実施の形態における、図6、図8に示す動作においては、最初は、顔の向きを正面に設定し(ステップS21、ステップS73)、その後、顔が検出、個人認識されるまで、顔の向きを変えて設定するようにしたが(ステップS29、ステップS80)、最初に設定する顔の向きは正面でなくてもよい。要は、異なる顔の向きに設定していくものであればよい。
(13)また、上記第1の実施の形態の2つ目の顔検出処理においては、被写体の種類毎に立体顔データから、異なる角度から見た顔の平面画像データを生成し、該生成した顔の平面画像データから被写体の種類毎の顔特徴データを算出するようしたが、被写体の種類毎の立体顔データから、異なる表情の顔の平面画像データを生成し、該生成した顔の平面画像データから被写体の種類毎の顔特徴データを算出するようにしてもよい。このときは、正面から見たときの顔の平面画像データを生成し、また、予め記録されている被写体の種類毎の立体顔データは、表情が無し、つまり、普通の状態での顔の3次元データある。
以下、立体顔データから異なる表情の顔を生成する場合について説明する。
図9は、メモリ12に記録されている顔の立体顔データの様子を示すものである。
図9を見ると、立体顔データは、3次元の顔データの他に顔の筋肉、つまり、眼瞼部や眼窩部を囲む眼輪筋や、唇を囲む口輪筋などの輪状のいわゆる括約筋と、額や眉とつながる前頭筋や皺眉筋、鼻根筋、口周囲の放射状の上唇挙筋や大頬骨筋、笑筋、口角下制筋、下唇下制筋などの線形筋とから成り立っている。
また、図10(A)は、被写体の種類が人の場合における表情動作単位(以下、AU(Action Unit)という)と筋肉の収縮との対応関係を示した表情単位動作テーブルの様子を示すものである。この表情動作テーブルはメモリ12に記録されている。
図10(A)を見ると分かるように、AU毎に番号(No)が付されており、AU1は「内眉を上げる」という動作であり、収縮させる筋肉は「前頭筋(内)」なる。また、AU2は「外眉を上げる」という動作であり、収縮させる筋肉は「前頭筋(外)」となる。また、AU3は「眉を下げる」という動作であり、収縮させる筋肉は「皺眉筋、鼻根筋」となる。このように、各AUに動作の説明とその収縮させる筋肉が記録させている。
このAUユニットを任意に組み合わせることにより、種々の表情を作ることができる。
また、図10(B)は、被写体の種類が人の場合における各表情とAUの組み合わせの対応関係を示した表情テーブルの様子を示すものである。この表情テーブルはメモリ12に記録させている。
図10(B)を見ると分かるように、表情毎に番号(No)が付されており、表情1は、中立であり、AUの組み合わせは無しである。この場合は筋肉を収縮させる必要が無いからである。また、表情2は、驚きの表情であり、AUの組み合わせは、AU1(内眉を上げる)+AU2(外眉を上げる)+AU4(上瞼を上げる)+AU6(口を開ける)である。このように、各表情毎にAUの組み合わせが記録されている。
なお、この表情単位動作テーブル、表情テーブルは被写体の種類毎に記録されている。
次に、本変形例(13)における3次元の顔検出処理の動作を図11のフローチャートにしたがって説明する。
顔検出処理を開始すると、ステップS101で、CPU10の3次元顔認識手段101は、顔の表情を表情1に設定し、ステップS102で、該設定された表情に基づいて、各種類の被写体の立体顔データの顔の表情を変化させる。
このとき、被写体の種類毎の表情単位動作テーブル、表情テーブルを用いて各種類の被写体の立体顔データの表情を変化させる。なお、表情1の場合は顔の表情を変化させない。
次いで、ステップS103で、3次元顔認識手段101は、該表情が変化された各種類の被写体の立体顔データに基いて、正面から見た各種類の被写体の顔の平面画像データを生成する。
次いで、ステップS104で、CPU10の3次元顔認識手段101は、該生成した被写体の種類毎の顔の平面画像データから、該設定されている表情の被写体の種類毎の顔特徴データを算出する。
次いで、ステップS105で、CPU10の3次元顔認識手段101は、直近にCCD5により撮像されたフレーム画像データから、全被写体の特徴データを算出する。
次いで、ステップS106で、CPU10の3次元顔認識手段101は、ステップS104で算出された、設定されている表情の被写体の種類毎の顔特徴データと、ステップS105で算出された全被写体の特徴データとを比較照合する。
次いで、ステップS107で、CPU10の3次元顔認識手段101は、ステップS105で算出した全被写体の特徴データの中に、ステップS104で算出した被写体の種類毎の顔特徴データの何れかの顔特徴データと所定値以上で一致する部分があるか否かを判断する。
ステップS107で、所定値以上で一致する部分があると判断した場合は、ステップS108に進み、CPU10の3次元顔認識手段101は、該所定値以上で一致する部分を顔と判断し、該部分に対応する、全被写体の特徴データの生成元となったフレーム画像データ上の領域を顔領域とする。つまり、フレーム画像データ上の顔領域を検出する。
ステップS107で、所定値以上で一致する部分がないと判断した場合は、ステップS109に進み、CPU10の3次元顔認識手段101は、設定されている表情が最後の表情であるか否かを判断する。つまり、予め決められた全ての表情が設定されたか否かを判断する。
ステップS109で、設定されている表情が最後の表情でないと判断すると、ステップS110に進み、CPU10の3次元顔認識手段101は、次の表情に設定して、ステップS102に進む。例えば、現在設定されている表情が表情1の場合は、表情2と設定する。
一方、ステップS109で、設定されている表情が最後の表情であると判断すると、ステップS111に進み、CPU10の3次元顔認識手段101は、撮像されたフレーム画像データ内に顔がないと判断する。
また、ステップS108で顔領域を検出すると、図2のステップS4で顔が検出できたと判断され、ステップS111で顔がないと判断すると、図2のステップS4で顔が検出できなかったと判断する。
ここで、図12は、被写体の種類が人の場合におけるステップS102で生成される各表情の顔の立体顔データの様子を示すものである。
無表情(中立)の立体顔データから、驚き、喜び、怒り、悲しみ、嫌悪等の立体顔データが生成されているのがわかる。
以上のように、本変形例においては、全被写体を撮像した1枚の画像データから算出された全被写体の特徴データと、予め記録されている被写体の種類毎の立体顔データから異なる表情の被写体の顔の平面画像データを生成していき、該生成された平面画像データから算出された被写体の特徴データと、を比較照合することにより顔を検出するので、顔検出の精度を向上させることができる。
例えば、被写体が笑っていたり、怒っている場合等であっても、顔を検出することができる。
(14)また、上記変形例(13)の動作と図6のフローチャートに示す動作とを組み合わせるようにしてもよい。つまり、異なる角度と異なる表情の顔特徴データをそれぞれ算出していく。この場合は、図11のステップS111で顔がないと判断すると、次の顔の向きを設定してステップS101に戻る。このときは、ステップS103は、該表情が変化された各種類の被写体の立体顔データに基づいて、該設定された向きから見た各種類の被写体の顔の平面画像データを生成することになる。
(15)また、上記変形例(13)及び(14)形態においては、顔検出の場合について説明したが、個人認識(検出された顔領域に基づく3次元の個人認識、全領域に基づく3次元の個人認識)を行なう場合にも適用してもよい。
(16)また、図8に示す個人認識処理、及び、該個人認識を顔検出処理に適用する場合も、上記変形例(13)のように、生成された3次元モデルの表情を変えることにより表情の異なる平面画像データを順次生成していくようにしてもよい。この場合は、顔の向きを変えていくのではなく、顔の表情を変えていくようにしてもよいし、顔の向きを変えていくとともに、顔の表情を変えていくようにしてもよい。
この場合は、図8のステップS74で生成された3次元モデルの表情を認識し、該認識した表情を無表情に変えたり、他の表情に変えたりする。
(17)また、上記変形例(13)においては、被写体の種類毎に立体顔データを記録し、該記録している被写体の種類毎の立体顔データの表情を変化させるようにしたが、被写体の種類毎の立体顔データに代えて被写体の種類毎の2次元の顔データを記録させるようにしてもよい。そして、この2次元の顔データの表情を変えて顔を検出する。この場合は、3次元のデータを用いていないので、2次元の顔検出処理ということになる。
(18)また、上記変形例(01)乃至(17)を任意に組み合わせた態様であってもよい。
(19)また、本発明の上記実施形態は、何れも最良の実施形態としての単なる例に過ぎず、本発明の原理や構造、動作等をより良く理解することができるようにするために述べられたものであって、添付の特許請求の範囲を限定する趣旨のものでない。
したがって、本発明の上記実施形態に対してなされ得る多種多様な変形ないし修正はすべて本発明の範囲内に含まれるものであり、添付の特許請求の範囲によって保護されるものと解さなければならない。
最後に、上記各実施の形態においては、本発明の撮像装置をデジタルカメラ1に適用した場合について説明したが、上記の実施の形態に限定されるものではなく、要は、撮像された画像データに基づいて顔を認識することができる機器であれば適用可能である。
本発明の実施の形態のデジタルカメラのブロック図である。 第1の実施の形態のデジタルカメラ1の動作を示すフローチャートである。 全領域に基づく3次元の顔検出処理の動作を示すフローチャートである。 3次元モデルの生成過程を示す図である。 生成された被写体(ここでは顔)の3次元モデルを3角形ポリゴンで表したときの様子を示す図である 全領域に基づく3次元の顔検出処理の他の動作を示すフローチャートである。 第3の実施の形態のデジタルカメラ1の動作を示すフローチャートである。 検出された顔領域に基づく3次元の個人認識処理の動作を示すフローチャートである。 変形例(13)に記録されている顔の立体顔データの様子を示すものである。 変形例(13)における被写体の種類が人の場合における表情動作単位と筋肉の収縮との対応関係を示した表情単位動作テーブル、被写体の種類が人の場合における各表情とAUの組み合わせの対応関係を示した表情テーブルの様子を示すものである。 変形例(13)における顔検出処理の動作を示すフローチャートである。 被写体の種類が人の場合における図11のステップS102で生成される各表情の顔の立体顔データの様子を示すものである。
符号の説明
1 デジタルカメラ
2 撮影レンズ
3 レンズ駆動ブロック
4 絞り
5 CCD
6 ドライバ
7 TG
8 ユニット回路
9 画像生成部
10 CPU
11 キー入力部
12 メモリ
13 DRAM
14 フラッシュメモリ
15 画像表示部
16 バス

Claims (10)

  1. 被写体を撮像する撮像手段を備えた撮像装置において、 前記撮像手段により撮像された1枚の2次元の画像データから被写体の特徴データを算出する特徴データ算出手段と、 所定の3次元の立体顔データから、2次元の顔の特徴データを算出していく顔特徴データ算出手段と、 前記顔特徴データ算出手段により順次算出された顔の特徴データと、前記特徴データ算出手段により算出された被写体の特徴データとを比較照合することにより、前記撮像手段により撮像された1枚の2次元の画像データ内にある顔を認識する顔認識手段と、を備え、 前記顔特徴データ算出手段は、 表情動作単位と顔の筋肉の収縮との対応関係を示した表情単位動作テーブルと、表情の種類と前記表情動作単位の組み合わせを示した表情テーブルを含み、 前記表情テーブルの表情動作単位を組み合わせることにより、前記立体顔データの表情を変化させて、該表情が変化された立体顔データに基づいて平面画像データを生成し、該生成した平面画像データから、異なる表情の2次元の顔の特徴データを算出していくことを特徴とする撮像装置。
  2. 前記所定の立体顔データから、異なる向きから見た2次元の顔の特徴データを算出していくことを特徴とする請求項1記載の撮像装置。
  3. 前記顔認識手段は、 前記特徴データ算出手段により算出された被写体の特徴データの中に、前記顔特徴データ算出手段により算出された顔の特徴データと所定の範囲内で一致する特徴データがある場合には、該一致した特徴データの部分に顔があると認識することを特徴とする請求項1乃至の何れかに記載の撮像装置。
  4. 前記顔特徴データ算出手段は、 前記顔認識手段により顔が認識された場合は、2次元の顔の特徴データの算出を終了することを特徴とする請求項1乃至何れかに記載の撮像装置。
  5. 前記特徴データ算出手段は、 前記撮像手段により撮像された1枚の画像データの画角の中央領域、又は、ユーザによって指定された任意の領域、又は、肌色成分を有する領域の画像データから被写体の特徴データを算出することを特徴とする請求項1乃至何れかに記載の撮像装置。
  6. 前記所定の立体顔データは、 所定の種類の被写体の立体顔データ、若しくは複数の種類の被写体の立体顔データ、又は、1又は2以上の人物の立体顔データであることを特徴とする請求項1乃至何れかに記載の撮像装置。
  7. 前記顔認識手段は、 前記撮像手段により撮像された画像データ内にある顔を検出することを特徴とする請求項1乃至いずれかに記載の撮像装置。
  8. 前記顔認識手段は、 前記撮像手段により撮像された画像データ内にある顔が誰の顔であるかを個人認識することを特徴とする請求項1乃至何れかに記載の撮像装置。
  9. 被写体を撮像する撮像手段を備えた撮像装置の処理実行方法であって、 前記撮像手段により撮像された1枚の2次元の画像データから被写体の特徴データを算出する特徴データ算出ステップと、 所定の3次元の立体顔データから、2次元の顔の特徴データを算出していく顔特徴データ算出ステップと、 前記顔特徴データ算出手段により順次算出された顔の特徴データと、前記特徴データ算出手段により算出された被写体の特徴データとを比較照合することにより、前記撮像手段により撮像された1枚の2次元の画像データ内にある顔を認識する顔認識ステップと、を備え、 前記顔特徴データ算出ステップは、 表情動作単位と顔の筋肉の収縮との対応関係を示した表情単位動作テーブルと、表情の種類と前記表情動作単位の組み合わせを示した表情テーブルを基づいて、前記表情テーブルの表情動作単位を組み合わせることにより、前記立体顔データの表情を変化させて、該表情が変化された立体顔データに基づいて平面画像データを生成し、該生成した平面画像データから、異なる表情の2次元の顔の特徴データを算出していくことを特徴とする撮像装置の処理実行方法。
  10. 各処理をコンピュータに実行させるプログラムにおいて、 被写体を撮像する撮像処理と、 前記撮像処理により撮像された1枚の2次元画像データから被写体の特徴データを算出する特徴データ算出処理と、 所定の3次元立体顔データから、2次元の顔の特徴データを算出していく顔特徴データ算出処理と、 前記顔特徴データ算出処理により順次算出された顔の特徴データと、前記特徴データ算出処理により算出された被写体の特徴データとを比較照合することにより、前記撮像処理により撮像された1枚の2次元の画像データ内にある顔を認識する顔認識処理と、を含み、 前記顔特徴データ算出処理は、 表情動作単位と顔の筋肉の収縮との対応関係を示した表情単位動作を組み合わせることにより、前記立体顔データの表情を変化させて、該表情が変化された立体顔データに基づいて平面画像データを生成し、該生成した平面画像データから、異なる表情の2次元の顔の特徴データを算出していくことを特徴とするプログラム。
JP2007203216A 2007-08-03 2007-08-03 撮像装置、撮像装置の処理実行方法及びそのプログラム Expired - Fee Related JP5088612B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007203216A JP5088612B2 (ja) 2007-08-03 2007-08-03 撮像装置、撮像装置の処理実行方法及びそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007203216A JP5088612B2 (ja) 2007-08-03 2007-08-03 撮像装置、撮像装置の処理実行方法及びそのプログラム

Publications (2)

Publication Number Publication Date
JP2009037540A JP2009037540A (ja) 2009-02-19
JP5088612B2 true JP5088612B2 (ja) 2012-12-05

Family

ID=40439363

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007203216A Expired - Fee Related JP5088612B2 (ja) 2007-08-03 2007-08-03 撮像装置、撮像装置の処理実行方法及びそのプログラム

Country Status (1)

Country Link
JP (1) JP5088612B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011071573A (ja) * 2009-09-24 2011-04-07 Sanyo Electric Co Ltd 画像処理装置
JP5514599B2 (ja) * 2010-03-24 2014-06-04 アズビル株式会社 2d・3d複合照合装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6154559A (en) * 1998-10-01 2000-11-28 Mitsubishi Electric Information Technology Center America, Inc. (Ita) System for classifying an individual's gaze direction
JP2001222716A (ja) * 2000-02-08 2001-08-17 Minolta Co Ltd 人物認証方法および同装置
JP4476424B2 (ja) * 2000-04-05 2010-06-09 本田技研工業株式会社 画像処理装置およびその方法ならびにプログラム記録媒体
JP2006202188A (ja) * 2005-01-24 2006-08-03 Oki Electric Ind Co Ltd 画像合成装置およびそのパターン確認方法
JP4956967B2 (ja) * 2005-11-17 2012-06-20 コニカミノルタホールディングス株式会社 認証システム、認証方法およびプログラム
JP4956983B2 (ja) * 2005-12-14 2012-06-20 コニカミノルタホールディングス株式会社 認証システム、認証方法およびプログラム

Also Published As

Publication number Publication date
JP2009037540A (ja) 2009-02-19

Similar Documents

Publication Publication Date Title
JP5099488B2 (ja) 撮像装置、顔認識方法およびそのプログラム
US9479692B2 (en) Image capturing apparatus and method for controlling the same
JP4254873B2 (ja) 画像処理装置及び画像処理方法、撮像装置、並びにコンピュータ・プログラム
US9147106B2 (en) Digital camera system
JP4639837B2 (ja) 電子カメラ
KR101421716B1 (ko) 얼굴 검출 장치, 촬상 장치 및 얼굴 검출 방법
JP4848965B2 (ja) 撮像装置
JP2007304280A (ja) 撮像装置及びその制御方法及びプログラム及び記憶媒体
US9402020B2 (en) Focus detection apparatus and control method for the same
JP2004317699A (ja) デジタルカメラ
JP2018050146A (ja) 探索装置及び、その撮像装置及び、探索方法
JP5030022B2 (ja) 撮像装置及びそのプログラム
KR20100055946A (ko) 동영상 썸네일 생성 방법 및 장치
JP4290164B2 (ja) 識別領域を示す表示を画像と共に表示させる表示方法、コンピュータ装置に実行させるプログラム、および、撮像装置
JP4853707B2 (ja) 撮像装置及びそのプログラム
JP2004320285A (ja) デジタルカメラ
KR101665175B1 (ko) 화상 취득 장치, 화상 취득 방법 및 기록매체
JP5267695B2 (ja) 撮像装置、顔認識方法及びそのプログラム
JP5088612B2 (ja) 撮像装置、撮像装置の処理実行方法及びそのプログラム
JP2010098382A (ja) 電子カメラ
JP2014033265A (ja) 撮像装置、撮像方法およびプログラム
JP2007005966A (ja) 露出量算出システムならびにその制御方法およびその制御プログラム
JP6024135B2 (ja) 被写体追尾表示制御装置、被写体追尾表示制御方法およびプログラム
US11575826B2 (en) Image processing apparatus and method, and image capturing apparatus
JP2009182880A (ja) 撮像装置及びそのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120802

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120817

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120830

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150921

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5088612

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees