撮影装置および方法並びにプログラム
【課題】撮影装置において、画像からの顔の検出精度をより向上させる。
【解決手段】撮影装置において、撮像系6が撮影により画像を取得し、顔検出部37が、検出枠と画像とのマッチング度を算出し、マッチング度が所定のしきい値以上となる検出枠の位置を顔候補として検出する。顔構成部品検出部38が顔候補に含まれる少なくとも1つの顔構成部品の候補を顔構成部品毎に検出する。判定部39が顔構成部品毎に検出された顔構成部品候補の数および/または位置に基づいて、各顔候補が真の顔であるか否かを判定する。しきい値設定部42が、顔検出の際のマッチング度と比較するしきい値を、所定の撮影の際には第1の値に設定し、それ以降の撮影の際には第1の値よりも大きい第2の値に設定する。
【解決手段】撮影装置において、撮像系6が撮影により画像を取得し、顔検出部37が、検出枠と画像とのマッチング度を算出し、マッチング度が所定のしきい値以上となる検出枠の位置を顔候補として検出する。顔構成部品検出部38が顔候補に含まれる少なくとも1つの顔構成部品の候補を顔構成部品毎に検出する。判定部39が顔構成部品毎に検出された顔構成部品候補の数および/または位置に基づいて、各顔候補が真の顔であるか否かを判定する。しきい値設定部42が、顔検出の際のマッチング度と比較するしきい値を、所定の撮影の際には第1の値に設定し、それ以降の撮影の際には第1の値よりも大きい第2の値に設定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮影により画像を取得するデジタルカメラ等の撮影装置および方法並びに撮影方法をコンピュータに実行させるためのプログラムに関するものである。
【背景技術】
【0002】
デジタルカメラによる撮影において、撮影により取得した画像から例えば顔等の対象物を検出し、その対象物の検出結果に応じて画像に施す画像処理の条件を変更したり、撮影時における撮影条件を変更したりすることが行われている。また、とくに対象物を顔とした場合において、検出した顔の数をカウントしたり、検出した顔をトリミングして記録することも行われている。
【0003】
このように画像から対象物を検出して種々の処理を行うためには、画像から正確に対象物を検出する必要がある。このため、対象物を正確に検出するための各種手法が提案されている。例えば、認証対象者の顔画像を撮影し、顔画像から認証対象者の顔の特徴量を抽出し、抽出した特徴量と基準の特徴量との類似度を計算し、この計算により得られる類似度をしきい値と比較して、認証対象者が本人であるか否かを認証する際に、認証対象者の利用頻度の高い時間帯か否かに応じてしきい値を変更することにより、認証対象者の利用頻度の高い時間帯における認証率を向上させる手法が提案されている(特許文献1参照)。
【0004】
また、画像から顔候補を検出し、顔候補の色の分散値が小さい場合、肌色領域の占有率が大きい場合等の所定の条件を満たさない顔候補を非顔として、検出した顔候補から排除する手法も提案されている(特許文献2参照)。
【特許文献1】特開2002−183734号公報
【特許文献2】特開2005−78376号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記特許文献1,2に記載された手法により、顔の認証精度または顔の検出精度を向上することができるが、さらに精度を向上させることが望まれている。
【0006】
本発明は上記事情に鑑みなされたものであり、画像からの顔の検出精度をより向上させることを目的とする。
【課題を解決するための手段】
【0007】
本発明による撮影装置は、連続した撮影により画像を連続して取得する撮影手段と、
所定サイズの検出枠を前記画像上において移動させ、移動した位置毎に該検出枠内の前記画像から特徴量を算出し、該特徴量とあらかじめ定められた顔特徴量とのマッチング度を算出し、該マッチング度が所定のしきい値以上となったときに前記検出枠の位置の画像を顔候補として検出する顔検出手段と、
前記顔候補に含まれる少なくとも1つの顔構成部品の候補を該顔構成部品毎に検出する顔構成部品検出手段と、
前記顔構成部品毎に検出された前記顔構成部品候補の数および位置の少なくとも一方に基づいて、前記顔候補が真の顔であるか否かを判定する判定手段と、
所定の撮影の際に取得された所定撮影時画像から前記顔候補を検出するに際には、前記所定のしきい値を第1の値に設定し、該所定の撮影以降の撮影により取得された画像から前記顔候補を検出する際には、前記所定撮影時画像から検出された前記顔候補であって前記真の顔であると判定された顔候補のうち、前記マッチング度が最も低い顔候補を検出可能な第2の値を前記所定のしきい値に設定するしきい値設定手段とを備えたことを特徴とするものである。
【0008】
「顔構成部品」とは、顔に含まれる構成部品のことであり、具体的には両目の目頭、両目の目尻、左右の鼻の穴の脇、左右の口元および口の中央部分等を顔構成部品とすることができる。ここで、顔候補が真の顔である場合、顔構成部品候補は、顔構成部品がある位置に1つのみ検出されるわけではなく、顔構成部品の周囲にばらつく形で複数検出されることが多い。このため、本願発明においては、1つの顔構成部品について1以上の顔構成部品候補が検出されるものである。
【0009】
「マッチング度が最も低い顔候補を検出可能な第2のしきい値」としては、例えば、所定撮影時画像から検出した真の顔と判定された顔候補のうち、マッチング度が最も低い顔候補を検出した際のそのマッチング度よりも小さく、所定撮影時画像において真の顔であると判定されなかった顔候補のうち、マッチング度が比較的大きい顔候補についてのそのマッチング度よりも大きい値とすればよい。
【0010】
なお、本発明による撮影装置においては、前記所定の撮影は、最初の撮影であってもよく、あらかじめ定められた間隔での撮影であってもよい。
【0011】
また、本発明による撮影装置においては、前記判定手段を、前記位置に基づいて前記顔候補が前記真の顔であるか否かを判定するに際し、前記顔候補の領域内における前記各顔構成部品候補の、対応する前記顔構成部品に対する位置的な尤度を算出し、該位置的な尤度に基づいて前記顔候補が前記真の顔であるか否かを判定する手段としてもよい。
【0012】
また、本発明による撮影装置においては、前記判定手段を、前記位置に基づいて前記顔候補が前記真の顔であるか否かを判定するに際し、前記顔候補の領域内における前記各顔構成部品候補の、対応する前記顔構成部品以外の他の顔構成部品に対する位置関係の尤度を算出し、該位置関係の尤度に基づいて前記顔候補が前記真の顔であるか否かを判定する手段としてもよい。
【0013】
また、本発明による撮影装置においては、前記判定手段を、前記位置に基づいて前記顔候補が前記真の顔であるか否かを判定するに際し、前記顔候補の領域内において前記各顔構成部品を正規化し、該正規化した前記各顔構成部品の位置に基づいて、前記顔候補が前記真の顔であるか否かを判定する手段としてもよい。
【0014】
「顔候補を正規化する」とは、顔構成部品候補を顔候補の領域内における本来あるべき位置に位置せしめることである。具体的には顔候補の領域内の画像をアフィン変換して、各顔構成部品を拡大縮小、平行移動および回転することにより、各顔構成部品候補の位置を本来あるべき位置に位置せしめることができる。
【0015】
本発明による撮影方法は、連続した撮影により画像を連続して取得し、
所定サイズの検出枠を前記画像上において移動させ、移動した位置毎に該検出枠内の前記画像から特徴量を算出し、該特徴量とあらかじめ定められた顔特徴量とのマッチング度を算出し、該マッチング度が所定のしきい値以上となったときに前記検出枠の位置の画像を顔候補として検出し、
前記顔候補に含まれる少なくとも1つの顔構成部品の候補を該顔構成部品毎に検出し、
前記顔構成部品毎に検出された前記顔構成部品候補の数および位置の少なくとも一方に基づいて、前記顔候補が真の顔であるか否かを判定するに際し、
所定の撮影の際に取得された所定撮影時画像から前記顔候補を検出するに際には、前記所定のしきい値を第1の値に設定し、該所定の撮影以降の撮影により取得された画像から前記顔候補を検出する際には、前記所定撮影時画像から検出された前記顔候補であって前記真の顔であると判定された顔候補のうち、前記マッチング度が最も低い顔候補を検出可能な第2の値を前記所定のしきい値に設定することを特徴とするものである。
【0016】
なお、本発明による撮影方法をコンピュータに実行させるためのプログラムとして提供してもよい。
【発明の効果】
【0017】
本発明の撮影装置および方法によれば、所定の撮影の際に取得した所定撮影時画像から顔候補を検出する際には、マッチング度を比較する所定のしきい値が第1の値に設定される。また、所定の撮影以降の撮影により取得された画像から顔候補を検出する際には、所定撮影時画像から検出された顔候補であって真の顔であると判定された顔候補のうち、マッチング度が最も低い顔候補を検出可能な第2の値が所定のしきい値に設定される。このため、所定の撮影以降の撮影により取得された画像から検出される顔候補の数を少なくすることができる。
【0018】
ここで、顔には、目、鼻および口等の顔構成部品が含まれており、顔候補が真の顔である場合には、1つの顔構成部品について検出される顔構成部品候補が多くなる。また、顔候補が真の顔である場合には、顔構成部品候補は対応する顔構成部品の位置に存在することとなる。したがって、顔候補に含まれる顔構成部品毎の顔構成部品候補の数および位置の少なくとも一方に基づいて顔候補が真の顔であるか否かを判定することにより、顔候補から真の顔を精度良く検出することができる。
【0019】
しかしながら、顔構成部品候補の数および/または位置に基づく真の顔であるか否かの判定は演算に長時間を要するものとなる。
【0020】
本発明においては、所定の撮影以降の撮影により取得された画像については、演算量が多い判定の処理を行う顔候補の数を少なくすることができるため、演算量を低減しつつも精度良く顔候補から真の顔を検出することができる。
【0021】
なお、各顔構成部品候補の位置が対応する顔構成部品の位置となるように各顔候補を正規化することにより、より精度良く顔候補から真の顔を検出することができる。
【発明を実施するための最良の形態】
【0022】
以下、図面を参照して本発明の実施形態について説明する。図1は本発明の第1の実施形態による撮影装置を適用したデジタルカメラの構成を示す概略ブロック図である。図1に示すように本実施形態によるデジタルカメラ1は、動作モードスイッチ、ズームレバー、上下左右ボタン、レリーズボタンおよび電源スイッチ等の操作系2と、操作系2の操作内容をCPU40に伝えるためのインターフェース部分である操作系制御部3とを有している。
【0023】
撮像系6としては、撮影レンズ10を構成するフォーカスレンズ10aおよびズームレンズ10bを有している。各々のレンズは、モータとモータドライバとからなるフォーカスレンズ駆動部11およびズームレンズ駆動部12によって光軸方向に移動可能である。フォーカスレンズ駆動部11はAF処理部30から出力されるフォーカス駆動量データに基づいて、ズームレンズ駆動部12はズームレバーの操作量データに基づいて、各々のレンズの移動を制御する。
【0024】
また、絞り14は、モータとモータドライバとからなる絞り駆動部15によって駆動される。この絞り駆動部15は、AE/AWB処理部31から出力される絞り値データに基づいて絞り径の調整を行う。
【0025】
シャッタ16は、メカニカルシャッタであり、モータとモータドライバとからなるシャッタ駆動部17によって駆動される。シャッタ駆動部17は、レリーズボタンの押下により発生する信号と、AE/AWB処理部31から出力されるシャッタスピードデータとに応じて、シャッタ16の開閉の制御を行う。
【0026】
光学系の後方には撮像素子であるCCD18を有している。CCD18は、多数の受光素子を2次元的に配列した光電面を有しており、光学系を通過した被写体光がこの光電面に結像し、光電変換される。光電面の前方には、各画素に光を集光するためのマイクロレンズアレイと、R,G,B各色のフィルタが規則的に配列されたカラーフィルタアレイとが配置されている。CCD18は、CCD制御部19から供給される垂直転送クロックおよび水平転送クロックに同期して、画素毎に蓄積された電荷を1ラインずつシリアルなアナログ撮影信号として出力する。各画素において電荷を蓄積する時間、すなわち、露光時間は、CCD制御部19から与えられる電子シャッタ駆動信号によって決定される。また、CCD18はCCD制御部19により、あらかじめ定められた大きさのアナログ撮像信号が得られるようにゲインが調整されている。
【0027】
なお、撮影レンズ10、絞り14、シャッタ16およびCCD18が撮像系6を構成する。
【0028】
CCD18から取り込まれたアナログ撮影信号は、アナログ信号処理部20に入力される。アナログ信号処理部20は、アナログ信号のノイズを除去する相関2重サンプリング回路(CDS)と、アナログ信号のゲインを調節するオートゲインコントローラ(AGC)と、アナログ信号をデジタル信号に変換するA/Dコンバータ(ADC)とからなる。なお、アナログ信号処理部20が行う処理をアナログ信号処理とする。このデジタル信号に変換された画像データは、画素毎にR,G,Bの濃度値を持つCCD−RAWデータである。
【0029】
タイミングジェネレータ21は、タイミング信号を発生させるものであり、このタイミング信号をシャッタ駆動部17、CCD制御部19、およびアナログ信号処理部20に供給することにより、レリーズボタンの操作、シャッタ16の開閉、CCD18の電荷の取込み、およびアナログ信号処理部20の処理の同期をとっている。
【0030】
フラッシュ制御部23は、撮影時にフラッシュ24を発光させる。
【0031】
画像入力コントローラ25は、アナログ信号処理部20から入力されたCCD−RAWデータをフレームメモリ26に書き込む。
【0032】
フレームメモリ26は、画像データに対して後述の各種画像処理(信号処理)を行う際に使用する作業用メモリであり、例えば、一定周期のバスクロック信号に同期してデータ転送を行うSDRAM(Synchronous Dynamic Random Access Memory)が使用される。
【0033】
表示制御部27は、フレームメモリ26に格納された画像データをスルー画像としてモニタ28に表示させたり、再生モード時に記録メディア35に保存されている画像データをモニタ28に表示させたりするためのものである。なお、スルー画像は、撮影モードが選択されている間、所定時間間隔でCCD18により連続して撮影される。
【0034】
AF処理部30およびAE/AWB処理部31は、プレ画像に基づいて撮影条件を決定する。このプレ画像とは、レリーズボタンが半押しされることによって発生する半押し信号を検出したCPU40がCCD18にプレ撮影を実行させた結果、フレームメモリ26に格納された画像データにより表される画像である。
【0035】
AF処理部30は、プレ画像に基づいて焦点位置を検出し、フォーカス駆動量データを出力する(AF処理)。焦点位置の検出方式としては、例えば、所望とする被写体にピントが合った状態では画像のコントラストが高くなるという特徴を利用して合焦位置を検出するパッシブ方式が考えられる。
【0036】
AE/AWB処理部31は、プレ画像に基づいて被写体輝度を測定し、測定した被写体輝度に基づいてISO感度、絞り値およびシャッタスピード等を決定し、ISO感度データ、絞り値データおよびシャッタスピードデータを露出設定値として決定するとともに(AE処理)、撮影時のホワイトバランスを自動調整する(AWB処理)。なお、露出およびホワイトバランスについては、撮影モードがマニュアルモードに設定されている場合には、デジタルカメラ1の撮影者がマニュアル操作により設定可能である。また、露出およびホワイトバランスが自動で設定された場合にも、撮影者が操作系2から指示を行うことにより、露出およびホワイトバランスをマニュアル調整することが可能である。
【0037】
画像処理部32は、本画像の画像データに対して、階調補正、シャープネス補正、色補正等の画質補正処理、CCD−RAWデータを輝度信号であるYデータと、青色色差信号であるCbデータおよび赤色色差信号であるCrデータとからなるYCデータに変換するYC処理を行う。この本画像とは、レリーズボタンが全押しされることによって実行される本撮影によりCCD18から取り込まれ、アナログ信号処理部20、画像入力コントローラ25経由でフレームメモリ26に格納された画像データによる画像である。本画像の画素数の上限は、CCD18の画素数によって決定されるが、例えば、ファイン、ノーマル等の設定により、記録画素数を変更することができる。一方、スルー画像およびプレ画像の画像数は、本画像よりも少なく、例えば、本画像の1/16程度の画素数で取り込まれる。
【0038】
圧縮/伸長処理部33は、画像処理部32によって補正・変換処理が行われた本画像の画像データに対して、例えば、JPEG等の圧縮形式で圧縮処理を行い、画像ファイルを生成する。この画像ファイルには、Exifフォーマット等に基づいて、撮影日時等の付帯情報が格納されたタグが付加される。また、圧縮/伸長処理部33は、再生モードの場合には、記録メディア35から圧縮された画像ファイルを読み出し、伸長処理を行う。伸長後の画像データはモニタ28に出力され、画像データの画像が表示される。
【0039】
メディア制御部34は、記録メディア35にアクセスして画像ファイルの書き込みと読み込みの制御を行う。
【0040】
内部メモリ36は、デジタルカメラ1において設定される各種定数、およびCPU40が実行するプログラム等を記憶する。
【0041】
顔検出部37は、撮影により取得された画像に含まれるすべての顔候補を検出する。なお、画像は、スルー画像、プレ画像および本画像のいずれであってもよいが、本実施形態においてはスルー画像から顔候補を検出するものとする。ここで、顔を検出する手法としては、あるサイズを有する検出枠を画像上少しずつ移動させ、移動した位置毎に検出枠内の画像から特徴量を算出し、あらかじめ定められていた顔特徴量とのマッチング度を算出し、マッチング度がしきい値Th0以上となる検出枠の位置を顔候補として検出する手法を用いる。なお、検出枠の大きさを変更することにより異なる大きさの顔候補の検出が可能となる。また、しきい値Th0は後述するしきい値設定部42により設定される。
【0042】
そして顔検出部37により、図2に示すように画像G1から矩形の検出枠により囲まれる顔候補F1〜F5を検出することができる。なお、図2においては、検出されるのは顔の候補であるため、顔が存在しない部分においても検出枠により囲まれる領域が含まれている。
【0043】
顔構成部品検出部38は、顔候補に含まれる複数の顔構成部品についての候補である顔構成部品候補を検出する。本実施形態においては、両目の目尻K1,K2、両目の目頭K3,K4、左右の鼻の穴の脇K5,K6、左右の口元K7,K8および口の中央部分K9の9個の顔構成部品K1〜K9についての顔構成部品候補を検出するものとする。具体的には、矩形の各顔構成部品のパターンを、処理対象の顔候補の領域内の画像上を少しずつ移動させ、移動した位置毎にマッチング度を算出し、マッチング度があらかじめ定められたしきい値Th1以上となったパターンの位置の座標を顔構成部品候補として検出する。なお、座標は顔候補内の領域の左上隅を原点とした場合の顔候補内における座標である。
【0044】
ここで、顔候補が真の顔である場合、マッチング度がしきい値Th1以上となるパターンの位置を顔構成部品候補として検出すると、顔構成部品候補は対応する顔構成部品K1〜K9の位置において1つのみ検出されるものではなく、対応する顔構成部品K1〜K9の周囲に複数分布して検出されることが多い。このため、顔構成部品検出部38は、各顔構成部品毎に1以上の顔構成部品候補を検出する。
【0045】
ここで、顔候補に9つの顔構成部品K1〜K9のすべてが含まれている場合、図3(a)に示すように両目の目尻K1,K2、両目の目頭K3,K4、左右の鼻の穴の脇K5,K6、左右の口元K7,K8および口の中央部分K9の9個の顔構成部品のそれぞれに対応する顔構成部品候補が検出される。また、例えば左目の目頭について、図3(b)の×印で示すように複数の顔構成部品候補が検出される。
【0046】
なお、マッチング度がしきい値Th1以上となる顔構成部品候補が検出されない場合には、対応する顔構成部品の候補は検出されなかったものとする。
【0047】
判定部39は、顔検出部37が検出したすべての顔候補について、顔構成部品検出部38が検出した顔構成部品毎の顔構成部品候補の数に基づいて真の顔であるか否かを判定して、真の顔と判定された顔候補を真の顔として検出する。具体的には、すべての顔候補のうちの処理対象の顔候補について、上記9個の顔構成部品K1〜K9のそれぞれについての顔構成部品候補の総数N1〜N9を算出し、さらに総数N1〜N9の加算値であるNsumを算出する。そして加算値Nsumがしきい値Th2以上である場合に、処理対象の顔候補を真の顔であると判定し、その顔候補を真の顔として検出する。なお、加算値Nsumがしきい値Th2未満の場合は処理対象の顔候補を非顔と判定する。
【0048】
なお、上記9個の顔構成部品K1〜K9のそれぞれについての顔構成部品候補の総数N1〜N9を9次元空間にプロットし、9次元空間においてしきい値を定める超平面または超曲面を設定し、プロットした総数N1〜N9がしきい値を定める超平面または超曲面のいずれの側にあるかに応じて、処理対象の顔候補が真の顔であるか否かを判定するようにしてもよい。ここで、簡単のために、判定に使用する顔構成部品を左右の口元K7,K8および口の中央部分K9のみとした場合、総数N7〜N9は3次元空間にプロットされる。図4は総数N7〜N9を3次元空間にプロットした状態を示す図である。まず、総数N7〜N9が図4(a)に示すようにプロットされたとすると、そのプロットの位置X1(N7,N8,N9)は、しきい値を設定する超平面A1よりも上側(すなわち値が大きい側)にある。したがって、図4(a)に示すようにプロットがなされた場合は、処理対象の顔候補を真の顔と判定する。
【0049】
一方、総数N7〜N9が図4(b)に示すようにプロットされたとすると、そのプロットの位置X2(N7,N8,N9)は、しきい値を設定する超平面A1よりも下側(すなわち値が小さい側)にある。したがって、図4(b)に示すようにプロットがなされた場合は、処理対象の顔候補を真の顔でないと判定する。
【0050】
なお、総数N1〜N9のそれぞれについてしきい値Th3を超えるか否かを判定し、しきい値Th3を超えた総数の数がさらにしきい値Th4を超えたときに、処理対象の顔候補を真の顔であると判定してもよい。
【0051】
しきい値設定部42は、顔検出部37が顔候補を検出する際にマッチング度と比較するしきい値Th0を設定する。まず、1回目の撮影により取得された画像(スルー画像)から顔候補を検出する際には、より多くの顔候補が検出されるようにしきい値Th0を比較的低い値Z0に設定する。これにより、顔検出部37は、例えば図5(a)に示すように、画像G1から矩形の検出枠により囲まれる顔候補F1〜F10を検出することができる。なお、図5(a)においては、検出されるのは顔の候補であるため、顔が存在しない部分においても検出枠により囲まれる領域が含まれている。
【0052】
一方、2回目以降の撮影により取得された画像から顔候補を検出する際には、1回目の撮影よりも検出される顔候補を少なくするために、しきい値Th0を値Z0よりも大きい値Z1に設定する。具体的には、1回目の撮影による取得した画像から検出した、真の顔と判定された顔候補のうち、マッチング度が最も低い顔候補を検出した際のそのマッチング度Z2よりも小さく、1回目の撮影により取得された画像から検出した、真の顔であると判定されなかった顔候補のうち、マッチング度が最も大きい顔候補についてのそのマッチング度Z3よりも大きい値Z1となるようにしきい値Th0を設定する。
【0053】
図6はしきい値Th0の設定を説明するための図である。図6において横軸は1回目の撮影により取得された画像から検出された顔候補F1〜F10を、縦軸はマッチング度を示す。図6に示すように顔候補F1〜F10のうち、真の顔と判定されたものは顔候補F1〜F3である。また、真の顔と判定された顔候補F1〜F3において、マッチング度が最も小さいのは顔候補F3であり、そのマッチング度はZ2である。一方、顔候補F4〜F10は非顔と判定され、非顔と判定された顔候補F4〜F10において、マッチング度が最も大きいのは顔候補F8であり、そのマッチング度はZ3である。
【0054】
したがって、しきい値設定部42は、顔検出部37が2回目以降の撮影により取得した画像から顔候補を検出する際には、顔候補F3のマッチング度Z2と顔候補F8のマッチング度Z3との中間の値Z1(例えばZ1=(Z2+Z3)/2)にしきい値Th0を設定する。このようにしきい値Th0を値Z1に設定することにより、1回目の撮影により取得された画像からは、顔候補F1〜F3のみが検出されることとなる。また、2回目以降の撮影により取得された画像からは、例えば図5(b)に示すように、図5(a)に示す顔候補F1〜F3に対応する顔候補F1′〜F3′が検出される。なお、顔候補F8に対応する顔候補F4′が検出される可能性もある。
【0055】
なお、上記では非顔と判定された顔候補F4〜F10において、マッチング度が最も大きい顔候補F8のマッチング度Z3を用いてしきい値Th0の値Z1を設定しているが、非顔と判定された顔候補F4〜F10において、マッチング度が2または3番目に大きい顔候補F9,F10のマッチング度と顔候補F3のマッチング度Z2との中間の値にしきい値Th0を設定するようにしてもよい。
【0056】
また、スルー画像の撮影中は、被写体が変更される可能性が高く、その場合、検出されるべき顔候補が変化する。本実施形態においては、しきい値設定部42は、1回目の撮影から所定撮影間隔経過する毎にしきい値Th0を値Z0に設定し、その撮影の次の撮影により取得される画像からの顔候補の検出のためのしきい値Th0の値を新たに設定し直す。例えば、スルー画像を1秒間に30撮影する場合には、30回の撮影毎にしきい値Th0を値Z0に設定して、次回の以降の撮影により取得される画像から顔候補を検出する際のしきい値Th0の値を設定し直す。
【0057】
CPU40は、操作系2およびAF処理部30等の各種処理部からの信号に応じてデジタルカメラ1の本体各部を制御する。また、CPU40は、スルー画像の撮影中に、各スルー画像から真の顔を検出するように、顔検出部37、顔構成部品検出部38および判定部39を制御する。なお、判定部39が真の顔を検出すると、CPU40は、図7に示すように検出した真の顔を矩形の領域A1〜A3で囲んでスルー画像を表示するように表示制御部27に指示を行う。なお、矩形の領域は顔検出部37が検出した顔候補の検出枠に相当するものである。
【0058】
データバス41は、各種処理部、フレームメモリ26およびCPU40等に接続されており、デジタル画像データおよび各種指示等のやり取りを行う。
【0059】
次いで、第1の実施形態において行われる処理について説明する。図8は第1の実施形態において行われる処理を示すフローチャートである。デジタルカメラ1の動作モードが撮影モードに設定されることによりCPU40が処理を開始し、スルー画像の撮影を行う(ステップST1)。そして、しきい値設定部42がしきい値設定処理を行う(ステップST2)。
【0060】
図9はしきい値設定処理のフローチャートである。まず、スルー画像の撮影が1回目であるか否かを判定し(ステップST11)、ステップST11が肯定されるとしきい値Th0を値Z0に設定し(ステップST12)、処理を終了する。ステップST11が否定されるとスルー画像の撮影が、前回しきい値Th0を値Z0に設定してから所定撮影間隔経過してからの撮影であるか否かを判定し(ステップST13)、ステップST13が肯定されると、ステップST12に進んでしきい値Th0を値Z0に設定し、処理を終了する。
【0061】
一方、ステップST13が否定されると、しきい値Th0を値Z1に設定し(ステップST14)、処理を終了する。
【0062】
図8に戻り、ステップST2に続いて顔検出部37がスルー画像に含まれるすべての顔候補を検出する(ステップST3)。次いで、顔構成部品検出部38が、i番目の顔候補を処理対象の顔候補として、処理対象の顔候補から顔構成部品毎の顔構成部品候補を検出する(ステップST4)。なお、iの初期値は1である。また、処理の順序は、例えばスルー画像上における向かって左側に存在する顔候補から右側に向かって順に行うようにすればよい。
【0063】
そして、判定部39が、顔構成部品検出部38が検出した顔構成部品毎の顔構成部品候補の総数の加算値Nsumがしきい値Th2以上であるか否かを判定し(ステップST5)、ステップST5が肯定されると、処理対象の顔候補を真の顔と判定して検出する(ステップST6)。一方、ステップST5が否定されると、処理対象の顔候補を非顔と判定する(ステップST7)。
【0064】
ステップST6,7に続いて、CPU40がすべての顔候補について判定部39が判定を終了したか否かを判定し(ステップST8)、ステップST8が否定されると、iに1を加算し(ステップST9)、ステップST4に戻る。ステップST8が肯定されると、真の顔を矩形領域で囲んだスルー画像をモニタ28に表示し(ステップST10)、ステップST1にリターンする。
【0065】
このように、第1の実施形態においては、検出された顔構成部品候補の数に基づいて、顔候補から真の顔を検出するようにしたものである。ここで、顔には、目、鼻および口等の顔構成部品が含まれており、顔候補が真の顔である場合には、1つの顔構成部品について検出される顔構成部品候補が多くなる。したがって、顔候補に含まれる顔構成部品毎の顔構成部品候補の数に基づいて顔候補が真の顔であるか否かを判定することにより、顔候補から真の顔を精度良く検出することができる。
【0066】
しかしながら、顔構成部品候補の数に基づく真の顔であるか否かの判定は演算に長時間を要するものとなる。第1の実施形態においては、1回目の撮影以降および所定撮影間隔経過する毎の撮影以降の撮影により取得された画像については、顔検出のためのしきい値Th0の値を大きくするようにしたため、検出される顔候補の数を少なくすることができる。したがって、演算量が多い判定の処理を行う顔候補の数を少なくすることができ、これにより、演算量を低減しつつも精度良く顔候補から真の顔を検出することができる。
【0067】
なお、上記第1の実施形態においては、両目の目尻K1,K2、両目の目頭K3,K4、左右の鼻の穴の脇K5,K6、左右の口元K7,K8および口の中央部分K9の9個の顔構成部品を検出しているが、これらをすべて検出する必要はなく、これらの顔構成部品のうちの1以上の顔構成部品の候補を検出するようにしてもよい。この場合、総数の加算値Nsumと比較するしきい値Th2は、検出する顔構成部品の数に応じて変更すればよい。なお、検出する顔構成部品が1つのみの場合は、両目の目尻および両目の目頭のうちのいずれか1つを検出することが好ましい。また、検出する顔構成部品は、両目の目尻、両目の目頭、左右の鼻の穴の脇、左右の口元および口の中央部分に限定されるものではなく、眉毛、両目の黒目部分等、顔を構成する部品であれば、任意の構成部品を用いることができる。
【0068】
次いで、本発明の第2の実施形態について説明する。なお、第2の実施形態においては、判定部39が行う処理が第1の実施形態と異なるのみであるため、構成についての詳細な説明はここでは省略する。
【0069】
第2の実施形態においては、判定部(第1の実施形態と異なるため39Aとする)が、顔構成部品検出部38が検出した顔構成部品毎の顔構成部品候補の位置的な尤度を算出し、位置的な尤度に基づいて顔候補が真の顔であるか否かを判定する。ここで、位置的な尤度とは、顔候補の領域内において、検出された顔構成部品候補がどの程度対応する本来あるべき顔構成部品の位置に位置しているかを表す確率である。
【0070】
ここで、本実施形態においては、9種類の顔構成部品について各顔構成部品の顔候補内における存在確率を表した確率分布があらかじめ求められている。
【0071】
図10は顔構成部品の存在確率を表す確率分布を示す図である。図10に示す確率分布は、顔候補を検出した検出枠をあらかじめ定められた一定のサイズに正規化した場合における、検出枠内での両目の目尻K1,K2、両目の目頭K3,K4、左右の鼻の穴の脇K5,K6、左右の口元K7,K8および口の中央部分K9の9個の顔構成部品の存在確率の確率分布を表すものである。なお、図10における丸印B1〜B9は、それぞれ顔候補の両目の目尻K1,K2、両目の目頭K3,K4、左右の鼻の穴の脇K5,K6、左右の口元K7,K8および口の中央部分K9の存在確率を表す確率分布であり、図10における紙面をXY平面とし、紙面に垂直な方向をZ方向とした場合、図11の確率分布のプロファイルに示すようにZ方向が各顔構成部品の存在確率を示すものとなる。したがって、図10における各丸印の中心に近いほど各顔構成部品の存在確率が高いものとなる。
【0072】
なお、確率分布は多数の顔のサンプル画像を用いてあらかじめ求めておけばよい。
【0073】
判定部39Aは、顔検出部37が検出した各顔候補を上記一定のサイズに正規化し、正規化した顔候補内の各顔構成部品毎の顔構成部品候補について、対応する顔構成部品の確率分布を参照して存在確率を位置的な尤度として算出する。具体的には、各顔構成部品候補について、対応する顔構成部品の存在確率を表す確率分布付近の位置を求め、その位置における存在確率を位置的な尤度として算出する。これにより、例えば左目目尻の候補1〜4が、図12に示す確率分布B1付近の位置C1〜C4にある場合には、図13に示すように、位置C1にある左目目尻候補1の尤度0%、位置C2にある左目目尻候補2の尤度2%、位置C3にある左目目尻候補3の尤度9%、位置C4にある左目目尻候補4の尤度17%というように、各顔構成部品候補の位置的な尤度が求められる。
【0074】
さらに判定部39Aは、顔構成部品毎に顔構成部品候補の位置的な尤度の平均値を算出する。図14は2つの顔候補についての顔構成部品毎の顔構成部品候補の位置的な尤度の平均値を示す図である。そして、処理対象の顔候補について、位置的な尤度の平均値がしきい値Th5以上となる顔構成部品の数がしきい値Th6以上であるか否かを判定し、この判定が肯定された場合に処理対象の顔候補を真の顔であると判定して検出する。例えば、しきい値Th5として13%を、本実施形態においては9個の顔構成部品を用いているためしきい値Th6として5を用いるとすると、図14に示す顔候補1について、位置的な尤度の平均値がしきい値Th5以上となる顔構成部品は、左目目尻、左目目頭、右目目頭、左鼻脇、右鼻脇および右口元の6個となり、その数がしきい値Th6以上となるため、処理対象の顔候補1は真の顔と判定されて検出される。一方、顔候補2は尤度の平均値がしきい値Th5以上となる顔構成部品は0個であるため、顔候補2は真の顔とは判定されない。
【0075】
次いで、第2の実施形態において行われる処理について説明する。図15は第2の実施形態において行われる処理を示すフローチャートである。デジタルカメラ1の動作モードが撮影モードに設定されることによりCPU40が処理を開始し、スルー画像の撮影を行う(ステップST21)。そして、しきい値設定部42がしきい値設定処理を行う(ステップST22)。続いて、顔検出部37がスルー画像に含まれるすべての顔候補を検出する(ステップST23)。次いで、顔構成部品検出部38が、i番目の顔候補を処理対象の顔候補として、処理対象の顔候補から顔構成部品毎の顔構成部品候補を検出する(ステップST24)。
【0076】
そして、判定部39Aが、顔構成部品毎に顔構成部品候補の位置的な尤度を算出し(ステップST25)、位置的な尤度の平均値がしきい値Th5以上となる顔構成部品の数がしきい値Th6以上であるか否かを判定する(ステップST26)。ステップST26が肯定されると、処理対象の顔候補を真の顔と判定して検出する(ステップST27)。一方、ステップST26が否定されると、処理対象の顔候補を非顔と判定する(ステップST28)。
【0077】
ステップST27,28に続いて、CPU40がすべての顔候補について判定部39Aが判定を終了したか否かを判定し(ステップST29)、ステップST29が否定されると、iに1を加算し(ステップST30)、ステップST24に戻る。ステップST29が肯定されると、真の顔を矩形領域で囲んだスルー画像をモニタ28に表示し(ステップST31)、ステップST21にリターンする。
【0078】
このように、第2の実施形態においては、検出された顔構成部品候補の位置、とくに位置的な尤度に基づいて、各顔候補から真の顔を検出するようにしたものである。ここで、顔には、目、鼻および口等の顔構成部品が含まれており、顔候補が真の顔である場合には、顔構成部品候補は対応する顔構成部品の位置に存在することとなる。したがって、顔候補に含まれる顔構成部品候補の位置に基づいて顔候補が真の顔であるか否かを判定することにより、精度良く顔候補から真の顔を検出することができる。
【0079】
また、第1の実施形態と同様に、演算量が多い判定の処理を行う顔候補の数を少なくすることができるため、演算量を低減しつつも精度良く顔候補から真の顔を検出することができる。
【0080】
なお、上記第2の実施形態においては、判定部39Aが顔構成部品毎の顔構成部品候補の位置的な尤度を算出し、これに基づいて顔候補が真の顔であるか否かを判定しているが、顔構成部品毎の顔構成部品候補の位置関係の尤度を算出し、位置関係の尤度に基づいて顔候補が真の顔であるか否かを判定してもよい。以下、これを第3の実施形態として説明する。
【0081】
第3の実施形態においては、判定部(第1の実施形態と異なるため39Bとする)は、顔構成部品検出部38が検出した顔構成部品毎の顔構成部品候補について、顔構成部品候補毎に他の顔構成部品の位置に対する存在確率を位置関係の尤度として算出し、算出した位置関係の尤度に基づいて顔候補が真の顔であるか否かを判定する。
【0082】
図16は右目の目頭の、両目の目尻、左目の目頭、左右の鼻の穴の脇、左右の口元および口の中央部分の他の8個の顔構成部品に対する存在確率の確率分布を示す図である。なお、図16において確率分布B11〜B18は、それぞれ右目の目頭の、左目の目尻、右目の目尻、左目の目頭、左の鼻の穴の脇、右の鼻の穴の脇、左の口元、右の口元および口の中央部分に対する存在確率の確率分布を示す。
【0083】
ここで、位置関係の尤度を算出する対象を右目目頭とした場合、第3の実施形態においては、判定部39Bは、顔検出部37が検出した各顔候補を第2の実施形態と同様に一定のサイズに正規化し、正規化した顔候補内において顔構成部品検出部38が検出した右目目頭候補毎に、確率分布B11〜B18を参照して存在確率を仮の位置関係の尤度として算出する。例えば、右目の目頭の、左目の目尻に対する仮の位置関係の尤度15%、右目の目尻に対する仮の位置関係の尤度12%、左目の目頭に対する仮の位置関係の尤度13%、左の鼻の穴の脇に対する仮の位置関係の尤度10%、右の鼻の穴の脇に対する仮の位置関係の尤度19%、左の口元に対する仮の位置関係の尤度13%、右の口元に対する仮の位置関係の尤度17%および口の中央部分に対する仮の位置関係の尤度15%というように仮の位置関係の尤度を算出する。
【0084】
そして判定部39Bは、算出した8個の仮の位置関係の尤度の平均値を算出し、さらにこの平均値のすべての顔構成部品候補についての平均値を、その顔構成部品候補の最終的な位置関係の尤度として算出する。
【0085】
なお、第3の実施形態においては、右目の目頭のみならず、左目の目尻、右目の目尻、左目の目頭、左の鼻の穴の脇、右の鼻の穴の脇、左の口元、右の口元および口の中央部分についても、それぞれ他の顔構成部品に対する存在確率の確率分布が求められており、判定部39Bは、9個すべての顔構成部品の顔構成部品候補について位置関係の尤度を算出する。そして、判定部39Bは顔構成部品毎に算出した9個の顔構成部品候補の位置関係の尤度がしきい値Th7以上となる顔構成部品の数がしきい値Th8以上であるか否かを判定し、この判定が肯定された場合に処理対象の顔候補を真の顔であると判定して検出する。
【0086】
次いで、第3の実施形態において行われる処理について説明する。図17は第3の実施形態において行われる処理を示すフローチャートである。デジタルカメラ1の動作モードが撮影モードに設定されることによりCPU40が処理を開始し、スルー画像の撮影を行う(ステップST41)。そして、しきい値設定部42がしきい値設定処理を行う(ステップST42)。続いて、顔検出部37がスルー画像に含まれるすべての顔候補を検出する(ステップST43)。次いで、顔構成部品検出部38が、i番目の顔候補を処理対象の顔候補として、処理対象の顔候補から顔構成部品毎の顔構成部品候補を検出する(ステップST44)。なお、iの初期値は1である。
【0087】
そして、判定部39Bが、顔構成部品毎に顔構成部品候補の位置関係の尤度を算出し(ステップST45)、位置関係の尤度がしきい値Th7以上となる顔構成部品の数がしきい値Th8以上であるか否かを判定する(ステップST46)。ステップST46が肯定されると、処理対象の顔候補を真の顔と判定して検出する(ステップST47)。一方、ステップST46が否定されると、処理対象の顔候補を非顔と判定する(ステップST48)。
【0088】
ステップST47,48に続いて、CPU40がすべての顔候補について判定部39Bが判定を終了したか否かを判定し(ステップST49)、ステップST49が否定されると、iに1を加算し(ステップST50)、ステップST44に戻る。ステップST49が肯定されると、真の顔を矩形領域で囲んだスルー画像をモニタ28に表示し(ステップST51)、ステップST41にリターンする。
【0089】
このように、第3の実施形態においては、検出された顔構成部品の位置、とくに位置関係の尤度に基づいて、各顔候補から真の顔を検出するようにしたものである。ここで、顔には、目、鼻および口等の顔構成部品が含まれており、顔候補が真の顔である場合には、顔構成部品候補は対応する顔構成部品の位置に存在することとなり、さらに顔構成部品間の位置関係は略決まっている。したがって、顔候補に含まれる顔構成部品候補の位置関係に基づいて顔候補が真の顔であるか否かを判定することにより、顔候補から真の顔を精度良く検出することができる。
【0090】
また、第1の実施形態と同様に、演算量が多い判定の処理を行う顔候補の数を少なくすることができるため、演算量を低減しつつも精度良く顔候補から真の顔を検出することができる。
【0091】
なお、上記第3の実施形態においては、9種類の顔構成部品のすべての位置関係の尤度を算出し、位置関係の尤度がしきい値Th7以上となる顔構成部品がしきい値Th8以上であるか否かに基づいて顔候補が真の顔か否かを判定しているが、9種類の顔構成部品のすべてを用いる必要はなく、少なくとも1つの顔構成部品についての位置関係の尤度に基づいて顔候補が真の顔か否かを判定するようにしてもよい。
【0092】
また、上記第2および第3の実施形態においては、検出した顔候補の顔構成部品候補が、対応する各顔構成部品の確率分布上に位置していれば、精度よく位置的な尤度および位置関係の尤度を算出することができるが、図18に示すように顔候補の各顔構成部品候補の位置(図中×で示す)が本来あるべき顔構成部品の位置の確率分布とずれていると、尤度を精度よく算出することができず、その結果、顔候補が真の顔であるか否かを精度よく判定することができない。このため、検出した顔構成部品候補が確率分布内に位置するように、顔候補を正規化することが好ましい。以下、これを第4の実施形態として説明する。
【0093】
第4の実施形態において、顔候補を正規化するためには、顔候補内の顔構成部品候補のうちのいずれかの顔構成部品候補を対応する顔構成部品の確率分布の中心(すなわち最も確率が高い位置)と一致させるように、顔候補の画像をアフィン変換する。アフィン変換は、平面上の任意の3点を拡大縮小、平行移動および回転することにより任意の3点に移動させる変換であり、具体的には下記の式(1)により表される。
【0094】
x′=a1・x+b1・y+d1
y′=a2・x+b2・y+d2 (1)
式(1)より、アフィン変換の係数a1,a2,b1,b2,d1,d2を算出するためには、顔候補内および顔構成部品の確率分布内においてそれぞれ対応する3点の座標が必要となる。ここで、顔候補および顔構成部品の確率分布において、図18に示すように左下隅を原点とするXY座標系を考えると、顔構成部品候補P1〜P9が確率分布B1〜B9の中心に位置するようにアフィン変換の係数を設定する必要がある。第4の実施形態においては、顔構成部品毎に顔構成部品検出部38が検出した少なくとも1つの顔構成部品候補のうち、マッチング度が最も高い顔構成部品候補を顔構成部品候補を代表する顔構成部品候補P1〜P9として選択し、選択した9個の顔構成部品候補P1〜P9のうちマッチング度が大きい上位3個の顔構成部品候補を、対応する顔構成部品の確率分布の中心と一致させるようにアフィン変換の係数a1,a2,b1,b2,d1,d2を算出すればよい。
【0095】
例えば、図18に示す顔構成部品候補P1〜P9のマッチング度がP1>P2>P3>P4>P5…である場合には、顔構成部品候補P1,P2,P3を、対応する顔構成部品の確率分布B1,B2,B3の中心とそれぞれ一致させるようにアフィン変換の係数a1,a2,b1,b2,d1,d2を算出する。
【0096】
なお、アフィン変換の係数を算出するためには3点の座標を用いるのみならず、4点以上の座標を用いてもよい。例えば、9個の顔構成部品候補P1〜P9のすべてを対応する顔構成部品の確率分布B1〜B9の中心と一致させるようにアフィン変換の係数を算出してもよい。この場合、変換後の9個の顔構成部品候補P1〜P9の座標と、確率分布B1〜B9の中心位置の座標との誤差が最小となるように、最小二乗法を用いてアフィン変換の係数を算出すればよい。
【0097】
次いで、第4の実施形態において行われる処理について説明する。図19は第4の実施形態において行われる処理を示すフローチャートである。なお、ここでは、第4の実施形態を第2の実施形態に適用した場合の処理について説明するが、第3の実施形態に対しても同様に適用できるものである。
【0098】
デジタルカメラ1の動作モードが撮影モードに設定されることによりCPU40が処理を開始し、スルー画像の撮影を行う(ステップST61)。そして、しきい値設定部42がしきい値設定処理を行う(ステップST62)。続いて、顔検出部37がスルー画像に含まれるすべての顔候補を検出する(ステップST63)。次いで、顔構成部品検出部38が、i番目の顔候補を処理対象の顔候補として、処理対象の顔候補から顔構成部品毎の顔構成部品候補を検出する(ステップST64)。なお、iの初期値は1である。
【0099】
そして、判定部39Aが処理対象の顔候補を正規化し(ステップST65)、正規化の後、顔構成部品毎に顔構成部品候補の位置的な尤度を算出し(ステップST66)、位置的な尤度の平均値がしきい値Th5以上となる顔構成部品の数がしきい値Th6以上であるか否かを判定する(ステップST67)。ステップST67が肯定されると、処理対象の顔候補を真の顔と判定して検出する(ステップST68)。一方、ステップST68が否定されると、処理対象の顔候補を非顔と判定する(ステップST69)。
【0100】
ステップST68,69に続いて、CPU40がすべての顔候補について判定部39Aが判定を終了したか否かを判定し(ステップST70)、ステップST70が否定されると、iに1を加算し(ステップST71)、ステップST64に戻る。ステップST70が肯定されると、真の顔を矩形領域で囲んだスルー画像をモニタ28に表示し(ステップST72)、ステップST61にリターンする。
【0101】
このように、第4の実施形態においては、顔候補の領域内において各顔構成部品候補の位置が対応する顔構成部品の位置に位置するように顔候補をアフィン変換して正規化するようにしたため、より精度良く顔候補から真の顔を検出することができる。
【0102】
また、第1の実施形態と同様に、演算量が多い判定の処理を行う顔候補の数を少なくすることができるため、演算量を低減しつつも精度良く顔候補から真の顔を検出することができる。
【0103】
なお、上記第4の実施形態においては、顔候補毎にアフィン変換の係数を算出してアフィン変換を行っているが、すべての顔候補について、各顔構成部品について選択した顔構成部品候補の平均位置を算出し、算出した平均位置が確率分布の中心と一致するようにアフィン変換の係数を算出してもよい。この場合においても、9個の顔構成部品から選択した顔構成部品候補のうちの3つの顔構成部品候補からアフィン変換の係数を算出してもよく、4以上の顔構成部品候補からアフィン変換の係数を算出してもよい。
【0104】
また、上記第4の実施形態においては、正規化前に顔構成部品毎の顔構成部品候補について仮の位置的な尤度または仮の位置関係の尤度を算出し、仮の位置的な尤度または仮の位置関係の尤度が最も高い上位所定数の顔構成部品候補が、対応する顔構成部品の位置(すなわち存在確率がピークとなる位置)と一致するように、顔候補に対してアフィン変換を施すことにより正規化を行うようにしてもよい。
【0105】
次いで、本発明の第5の実施形態について説明する。なお、第5の実施形態においては、判定部39が行う処理が第1の実施形態と異なるのみであるため、構成についての詳細な説明はここでは省略する。
【0106】
第5の実施形態においては、判定部(第1の実施形態と異なるため39Cとする)が、顔構成部品検出部38が検出した顔構成部品毎の顔構成部品候補の数に基づいて、顔候補が真の顔、非顔および曖昧顔のいずれかであるかを判定することにより真の顔を検出する第1の判定処理を行い、第1の判定処理により曖昧顔と判定された顔候補について、第2、第3または第4の実施形態と同様に、顔構成部品候補の位置に基づいて顔候補が真の顔であるか否かを判定することにより真の顔を検出する第2の判定処理を行うようにした点が第1の実施形態と異なる。
【0107】
第5の実施形態における判定部39Cは、第1の判定処理においては、第1の実施形態における判定部39と同様に9個の顔構成部品K1〜K9のそれぞれについての顔構成部品候補の総数N1〜N9を算出し、さらに総数N1〜N9の加算値であるNsumを算出する。そして加算値Nsumがしきい値Th9以上である場合に処理対象の顔候補を真の顔であると判定し、その顔候補を真の顔として検出する。また、加算値Nsumがしきい値Th10以上しきい値Th9未満である場合に処理対象の顔候補を曖昧顔と判定し、加算値Nsumがしきい値Th10未満である場合に処理対象の顔候補を非顔であると判定する。また、曖昧顔と判定された顔候補に対する上記第2、第3または第4の実施形態のいずれかの処理を第2の判定処理として行う。
【0108】
次いで、第5の実施形態において行われる処理について説明する。図20は第5の実施形態において行われる処理を示すフローチャートである。デジタルカメラ1の動作モードが撮影モードに設定されることによりCPU40が処理を開始し、スルー画像の撮影を行う(ステップST81)。そして、しきい値設定部42がしきい値設定処理を行う(ステップST82)。続いて、顔検出部37がスルー画像に含まれるすべての顔候補を検出する(ステップST83)。次いで、顔構成部品検出部38が、i番目の顔候補を処理対象の顔候補として、処理対象の顔候補から顔構成部品毎の顔構成部品候補を検出する(ステップST84)。なお、iの初期値は1である。
【0109】
そして、判定部39Cが第1の判定処理を行う(ステップST85)。まず、顔構成部品検出部38が検出した顔構成部品毎の顔構成部品候補の総数の加算値Nsumがしきい値Th9以上であるか否かを判定し(ステップST86)、ステップST86が肯定されると、処理対象の顔候補を真の顔と判定して検出する(ステップST87)。一方、ステップST86が否定されると、加算値Nsumがしきい値Th10以上しきい値Th9未満であるか否かを判定し(ステップST88)、ステップST88が否定されると、処理対象の顔候補を非顔と判定する(ステップST89)。ステップST88が肯定されると、処理対象の顔候補が曖昧顔であるとして、第2の判定処理を行う(ステップST90)。
【0110】
まず、第2の実施形態と同様に、判定部39Cが、顔構成部品毎に顔構成部品候補の位置的な尤度を算出し(ステップST91)、顔構成部品毎に尤度の平均値がしきい値Th5以上となる顔構成部品の数がしきい値Th6以上であるか否かを判定する(ステップST92)。なお、ステップST91の前に第4の実施形態と同様に処理対象の顔候補を正規化してもよい。また、ステップST91,92の処理を第3の実施形態のステップST45,46の処理と同様に位置関係の尤度を用いて行ってもよい。ステップST92が肯定されると、処理対象の顔候補を真の顔と判定して検出する(ステップST93)。一方、ステップST92が否定されると、処理対象の顔候補を非顔と判定する(ステップST94)。
【0111】
ステップST87,89,93,94に続いて、CPU40がすべての顔候補について判定部39Cが判定を終了したか否かを判定し(ステップST95)、ステップST95が否定されると、iに1を加算し(ステップST96)、ステップST84に戻る。ステップST95が肯定されると、真の顔を矩形領域で囲んだスルー画像をモニタ28に表示し(ステップST97)、ステップST81にリターンする。
【0112】
ここで、顔構成部品候補の数に基づいて顔候補が真の顔であるか否かを判定する場合と、顔構成部品候補の位置に基づいて顔候補が真の顔であるか否かを判定する場合とでは、前者の方が演算量が少ない。また、暗いシーンや逆光の撮影時においては顔候補が暗くなるため、その顔候補が真の顔であっても検出される顔構成部品候補の数が少なくなり、その結果、第1の実施形態の処理を行うのみでは、真の顔を非顔と判定してしまうおそれがある。このため、第5の実施形態のように、顔構成部品候補の数に基づいて曖昧顔と判定された顔候補についてのみ、顔構成部品候補の位置に基づいて顔候補が真の顔であるか否かを判定することにより、さらに演算量を低減でき、かつ精度良く顔候補から真の顔を検出することができる。
【0113】
なお、上記第5の実施形態においては、第1の判定処理として、上記9個の顔構成部品K1〜K9のそれぞれについての顔構成部品候補の総数N1〜N9を9次元空間にプロットし、9次元空間においてしきい値を定める超平面または超曲面を設定し、プロットした総数N1〜N9がしきい値を定める超平面または超曲面のいずれの側にあるかに応じて、顔候補が真の顔、曖昧顔および非顔のいずれであるかを判定するようにしてもよい。
【0114】
また、上記第5の実施形態においては、第1の判定処理および第2の判定処理を同一の判定部39Cにおいて行っているが、第1および第2の判定処理をそれぞれ行う2つの判定部を設けるようにしてもよい。
【0115】
以上、本発明の実施形態に係るデジタルカメラについて説明したが、コンピュータを、上記の顔検出部37、顔構成部品検出部38、判定部39,39A〜39Cおよびしきい値設定部42に対応する手段として機能させ、図8,9,15,17,19,20に示すような処理を行わせるプログラムも本発明の実施形態の1つである。また、そのようなプログラムを記録したコンピュータ読取り可能な記録媒体も、本発明の実施形態の1つである。
【図面の簡単な説明】
【0116】
【図1】本発明の第1の実施形態による撮影装置を適用したデジタルカメラの構成を示す概略ブロック図
【図2】顔候補の検出を説明するための図
【図3】顔構成部品候補の検出を説明するための図
【図4】顔候補が真の顔であるか否かの判定を説明するための図
【図5】しきい値の設定を説明するための図(その1)
【図6】しきい値の設定を説明するための図(その2)
【図7】真の顔が矩形で囲まれたスルー画像を示す図
【図8】第1の実施形態において行われる処理を示すフローチャート
【図9】しきい値設定処理のフローチャート
【図10】顔構成部品の存在確率の確率分布を示す図
【図11】確率分布のプロファイルを示す図
【図12】確率分布付近における顔構成部品候補の位置の例を示す図
【図13】各顔構成部品候補について算出した位置的な尤度を示す図
【図14】2つの顔候補についての顔構成部品毎の顔構成部品候補の位置的な尤度の平均値を示す図
【図15】第2の実施形態において行われる処理を示すフローチャート
【図16】右目の目頭の、両目の目尻、左目の目頭、左右の鼻の穴の脇、左右の口元および口の中央部分の他の8個の顔構成部品に対する存在確率の確率分布を示す図
【図17】第3の実施形態において行われる処理を示すフローチャート
【図18】顔構成部品の位置のずれを説明するための図
【図19】第4の実施形態において行われる処理を示すフローチャート
【図20】第5の実施形態において行われる処理を示すフローチャート
【符号の説明】
【0117】
1 デジタルカメラ
2 操作系
3 操作系制御部
6 撮像系
28 モニタ
35 記録メディア
37 顔検出部
38 顔構成部品検出部
39 判定部
40 CPU
42 しきい値設定部
【技術分野】
【0001】
本発明は、撮影により画像を取得するデジタルカメラ等の撮影装置および方法並びに撮影方法をコンピュータに実行させるためのプログラムに関するものである。
【背景技術】
【0002】
デジタルカメラによる撮影において、撮影により取得した画像から例えば顔等の対象物を検出し、その対象物の検出結果に応じて画像に施す画像処理の条件を変更したり、撮影時における撮影条件を変更したりすることが行われている。また、とくに対象物を顔とした場合において、検出した顔の数をカウントしたり、検出した顔をトリミングして記録することも行われている。
【0003】
このように画像から対象物を検出して種々の処理を行うためには、画像から正確に対象物を検出する必要がある。このため、対象物を正確に検出するための各種手法が提案されている。例えば、認証対象者の顔画像を撮影し、顔画像から認証対象者の顔の特徴量を抽出し、抽出した特徴量と基準の特徴量との類似度を計算し、この計算により得られる類似度をしきい値と比較して、認証対象者が本人であるか否かを認証する際に、認証対象者の利用頻度の高い時間帯か否かに応じてしきい値を変更することにより、認証対象者の利用頻度の高い時間帯における認証率を向上させる手法が提案されている(特許文献1参照)。
【0004】
また、画像から顔候補を検出し、顔候補の色の分散値が小さい場合、肌色領域の占有率が大きい場合等の所定の条件を満たさない顔候補を非顔として、検出した顔候補から排除する手法も提案されている(特許文献2参照)。
【特許文献1】特開2002−183734号公報
【特許文献2】特開2005−78376号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記特許文献1,2に記載された手法により、顔の認証精度または顔の検出精度を向上することができるが、さらに精度を向上させることが望まれている。
【0006】
本発明は上記事情に鑑みなされたものであり、画像からの顔の検出精度をより向上させることを目的とする。
【課題を解決するための手段】
【0007】
本発明による撮影装置は、連続した撮影により画像を連続して取得する撮影手段と、
所定サイズの検出枠を前記画像上において移動させ、移動した位置毎に該検出枠内の前記画像から特徴量を算出し、該特徴量とあらかじめ定められた顔特徴量とのマッチング度を算出し、該マッチング度が所定のしきい値以上となったときに前記検出枠の位置の画像を顔候補として検出する顔検出手段と、
前記顔候補に含まれる少なくとも1つの顔構成部品の候補を該顔構成部品毎に検出する顔構成部品検出手段と、
前記顔構成部品毎に検出された前記顔構成部品候補の数および位置の少なくとも一方に基づいて、前記顔候補が真の顔であるか否かを判定する判定手段と、
所定の撮影の際に取得された所定撮影時画像から前記顔候補を検出するに際には、前記所定のしきい値を第1の値に設定し、該所定の撮影以降の撮影により取得された画像から前記顔候補を検出する際には、前記所定撮影時画像から検出された前記顔候補であって前記真の顔であると判定された顔候補のうち、前記マッチング度が最も低い顔候補を検出可能な第2の値を前記所定のしきい値に設定するしきい値設定手段とを備えたことを特徴とするものである。
【0008】
「顔構成部品」とは、顔に含まれる構成部品のことであり、具体的には両目の目頭、両目の目尻、左右の鼻の穴の脇、左右の口元および口の中央部分等を顔構成部品とすることができる。ここで、顔候補が真の顔である場合、顔構成部品候補は、顔構成部品がある位置に1つのみ検出されるわけではなく、顔構成部品の周囲にばらつく形で複数検出されることが多い。このため、本願発明においては、1つの顔構成部品について1以上の顔構成部品候補が検出されるものである。
【0009】
「マッチング度が最も低い顔候補を検出可能な第2のしきい値」としては、例えば、所定撮影時画像から検出した真の顔と判定された顔候補のうち、マッチング度が最も低い顔候補を検出した際のそのマッチング度よりも小さく、所定撮影時画像において真の顔であると判定されなかった顔候補のうち、マッチング度が比較的大きい顔候補についてのそのマッチング度よりも大きい値とすればよい。
【0010】
なお、本発明による撮影装置においては、前記所定の撮影は、最初の撮影であってもよく、あらかじめ定められた間隔での撮影であってもよい。
【0011】
また、本発明による撮影装置においては、前記判定手段を、前記位置に基づいて前記顔候補が前記真の顔であるか否かを判定するに際し、前記顔候補の領域内における前記各顔構成部品候補の、対応する前記顔構成部品に対する位置的な尤度を算出し、該位置的な尤度に基づいて前記顔候補が前記真の顔であるか否かを判定する手段としてもよい。
【0012】
また、本発明による撮影装置においては、前記判定手段を、前記位置に基づいて前記顔候補が前記真の顔であるか否かを判定するに際し、前記顔候補の領域内における前記各顔構成部品候補の、対応する前記顔構成部品以外の他の顔構成部品に対する位置関係の尤度を算出し、該位置関係の尤度に基づいて前記顔候補が前記真の顔であるか否かを判定する手段としてもよい。
【0013】
また、本発明による撮影装置においては、前記判定手段を、前記位置に基づいて前記顔候補が前記真の顔であるか否かを判定するに際し、前記顔候補の領域内において前記各顔構成部品を正規化し、該正規化した前記各顔構成部品の位置に基づいて、前記顔候補が前記真の顔であるか否かを判定する手段としてもよい。
【0014】
「顔候補を正規化する」とは、顔構成部品候補を顔候補の領域内における本来あるべき位置に位置せしめることである。具体的には顔候補の領域内の画像をアフィン変換して、各顔構成部品を拡大縮小、平行移動および回転することにより、各顔構成部品候補の位置を本来あるべき位置に位置せしめることができる。
【0015】
本発明による撮影方法は、連続した撮影により画像を連続して取得し、
所定サイズの検出枠を前記画像上において移動させ、移動した位置毎に該検出枠内の前記画像から特徴量を算出し、該特徴量とあらかじめ定められた顔特徴量とのマッチング度を算出し、該マッチング度が所定のしきい値以上となったときに前記検出枠の位置の画像を顔候補として検出し、
前記顔候補に含まれる少なくとも1つの顔構成部品の候補を該顔構成部品毎に検出し、
前記顔構成部品毎に検出された前記顔構成部品候補の数および位置の少なくとも一方に基づいて、前記顔候補が真の顔であるか否かを判定するに際し、
所定の撮影の際に取得された所定撮影時画像から前記顔候補を検出するに際には、前記所定のしきい値を第1の値に設定し、該所定の撮影以降の撮影により取得された画像から前記顔候補を検出する際には、前記所定撮影時画像から検出された前記顔候補であって前記真の顔であると判定された顔候補のうち、前記マッチング度が最も低い顔候補を検出可能な第2の値を前記所定のしきい値に設定することを特徴とするものである。
【0016】
なお、本発明による撮影方法をコンピュータに実行させるためのプログラムとして提供してもよい。
【発明の効果】
【0017】
本発明の撮影装置および方法によれば、所定の撮影の際に取得した所定撮影時画像から顔候補を検出する際には、マッチング度を比較する所定のしきい値が第1の値に設定される。また、所定の撮影以降の撮影により取得された画像から顔候補を検出する際には、所定撮影時画像から検出された顔候補であって真の顔であると判定された顔候補のうち、マッチング度が最も低い顔候補を検出可能な第2の値が所定のしきい値に設定される。このため、所定の撮影以降の撮影により取得された画像から検出される顔候補の数を少なくすることができる。
【0018】
ここで、顔には、目、鼻および口等の顔構成部品が含まれており、顔候補が真の顔である場合には、1つの顔構成部品について検出される顔構成部品候補が多くなる。また、顔候補が真の顔である場合には、顔構成部品候補は対応する顔構成部品の位置に存在することとなる。したがって、顔候補に含まれる顔構成部品毎の顔構成部品候補の数および位置の少なくとも一方に基づいて顔候補が真の顔であるか否かを判定することにより、顔候補から真の顔を精度良く検出することができる。
【0019】
しかしながら、顔構成部品候補の数および/または位置に基づく真の顔であるか否かの判定は演算に長時間を要するものとなる。
【0020】
本発明においては、所定の撮影以降の撮影により取得された画像については、演算量が多い判定の処理を行う顔候補の数を少なくすることができるため、演算量を低減しつつも精度良く顔候補から真の顔を検出することができる。
【0021】
なお、各顔構成部品候補の位置が対応する顔構成部品の位置となるように各顔候補を正規化することにより、より精度良く顔候補から真の顔を検出することができる。
【発明を実施するための最良の形態】
【0022】
以下、図面を参照して本発明の実施形態について説明する。図1は本発明の第1の実施形態による撮影装置を適用したデジタルカメラの構成を示す概略ブロック図である。図1に示すように本実施形態によるデジタルカメラ1は、動作モードスイッチ、ズームレバー、上下左右ボタン、レリーズボタンおよび電源スイッチ等の操作系2と、操作系2の操作内容をCPU40に伝えるためのインターフェース部分である操作系制御部3とを有している。
【0023】
撮像系6としては、撮影レンズ10を構成するフォーカスレンズ10aおよびズームレンズ10bを有している。各々のレンズは、モータとモータドライバとからなるフォーカスレンズ駆動部11およびズームレンズ駆動部12によって光軸方向に移動可能である。フォーカスレンズ駆動部11はAF処理部30から出力されるフォーカス駆動量データに基づいて、ズームレンズ駆動部12はズームレバーの操作量データに基づいて、各々のレンズの移動を制御する。
【0024】
また、絞り14は、モータとモータドライバとからなる絞り駆動部15によって駆動される。この絞り駆動部15は、AE/AWB処理部31から出力される絞り値データに基づいて絞り径の調整を行う。
【0025】
シャッタ16は、メカニカルシャッタであり、モータとモータドライバとからなるシャッタ駆動部17によって駆動される。シャッタ駆動部17は、レリーズボタンの押下により発生する信号と、AE/AWB処理部31から出力されるシャッタスピードデータとに応じて、シャッタ16の開閉の制御を行う。
【0026】
光学系の後方には撮像素子であるCCD18を有している。CCD18は、多数の受光素子を2次元的に配列した光電面を有しており、光学系を通過した被写体光がこの光電面に結像し、光電変換される。光電面の前方には、各画素に光を集光するためのマイクロレンズアレイと、R,G,B各色のフィルタが規則的に配列されたカラーフィルタアレイとが配置されている。CCD18は、CCD制御部19から供給される垂直転送クロックおよび水平転送クロックに同期して、画素毎に蓄積された電荷を1ラインずつシリアルなアナログ撮影信号として出力する。各画素において電荷を蓄積する時間、すなわち、露光時間は、CCD制御部19から与えられる電子シャッタ駆動信号によって決定される。また、CCD18はCCD制御部19により、あらかじめ定められた大きさのアナログ撮像信号が得られるようにゲインが調整されている。
【0027】
なお、撮影レンズ10、絞り14、シャッタ16およびCCD18が撮像系6を構成する。
【0028】
CCD18から取り込まれたアナログ撮影信号は、アナログ信号処理部20に入力される。アナログ信号処理部20は、アナログ信号のノイズを除去する相関2重サンプリング回路(CDS)と、アナログ信号のゲインを調節するオートゲインコントローラ(AGC)と、アナログ信号をデジタル信号に変換するA/Dコンバータ(ADC)とからなる。なお、アナログ信号処理部20が行う処理をアナログ信号処理とする。このデジタル信号に変換された画像データは、画素毎にR,G,Bの濃度値を持つCCD−RAWデータである。
【0029】
タイミングジェネレータ21は、タイミング信号を発生させるものであり、このタイミング信号をシャッタ駆動部17、CCD制御部19、およびアナログ信号処理部20に供給することにより、レリーズボタンの操作、シャッタ16の開閉、CCD18の電荷の取込み、およびアナログ信号処理部20の処理の同期をとっている。
【0030】
フラッシュ制御部23は、撮影時にフラッシュ24を発光させる。
【0031】
画像入力コントローラ25は、アナログ信号処理部20から入力されたCCD−RAWデータをフレームメモリ26に書き込む。
【0032】
フレームメモリ26は、画像データに対して後述の各種画像処理(信号処理)を行う際に使用する作業用メモリであり、例えば、一定周期のバスクロック信号に同期してデータ転送を行うSDRAM(Synchronous Dynamic Random Access Memory)が使用される。
【0033】
表示制御部27は、フレームメモリ26に格納された画像データをスルー画像としてモニタ28に表示させたり、再生モード時に記録メディア35に保存されている画像データをモニタ28に表示させたりするためのものである。なお、スルー画像は、撮影モードが選択されている間、所定時間間隔でCCD18により連続して撮影される。
【0034】
AF処理部30およびAE/AWB処理部31は、プレ画像に基づいて撮影条件を決定する。このプレ画像とは、レリーズボタンが半押しされることによって発生する半押し信号を検出したCPU40がCCD18にプレ撮影を実行させた結果、フレームメモリ26に格納された画像データにより表される画像である。
【0035】
AF処理部30は、プレ画像に基づいて焦点位置を検出し、フォーカス駆動量データを出力する(AF処理)。焦点位置の検出方式としては、例えば、所望とする被写体にピントが合った状態では画像のコントラストが高くなるという特徴を利用して合焦位置を検出するパッシブ方式が考えられる。
【0036】
AE/AWB処理部31は、プレ画像に基づいて被写体輝度を測定し、測定した被写体輝度に基づいてISO感度、絞り値およびシャッタスピード等を決定し、ISO感度データ、絞り値データおよびシャッタスピードデータを露出設定値として決定するとともに(AE処理)、撮影時のホワイトバランスを自動調整する(AWB処理)。なお、露出およびホワイトバランスについては、撮影モードがマニュアルモードに設定されている場合には、デジタルカメラ1の撮影者がマニュアル操作により設定可能である。また、露出およびホワイトバランスが自動で設定された場合にも、撮影者が操作系2から指示を行うことにより、露出およびホワイトバランスをマニュアル調整することが可能である。
【0037】
画像処理部32は、本画像の画像データに対して、階調補正、シャープネス補正、色補正等の画質補正処理、CCD−RAWデータを輝度信号であるYデータと、青色色差信号であるCbデータおよび赤色色差信号であるCrデータとからなるYCデータに変換するYC処理を行う。この本画像とは、レリーズボタンが全押しされることによって実行される本撮影によりCCD18から取り込まれ、アナログ信号処理部20、画像入力コントローラ25経由でフレームメモリ26に格納された画像データによる画像である。本画像の画素数の上限は、CCD18の画素数によって決定されるが、例えば、ファイン、ノーマル等の設定により、記録画素数を変更することができる。一方、スルー画像およびプレ画像の画像数は、本画像よりも少なく、例えば、本画像の1/16程度の画素数で取り込まれる。
【0038】
圧縮/伸長処理部33は、画像処理部32によって補正・変換処理が行われた本画像の画像データに対して、例えば、JPEG等の圧縮形式で圧縮処理を行い、画像ファイルを生成する。この画像ファイルには、Exifフォーマット等に基づいて、撮影日時等の付帯情報が格納されたタグが付加される。また、圧縮/伸長処理部33は、再生モードの場合には、記録メディア35から圧縮された画像ファイルを読み出し、伸長処理を行う。伸長後の画像データはモニタ28に出力され、画像データの画像が表示される。
【0039】
メディア制御部34は、記録メディア35にアクセスして画像ファイルの書き込みと読み込みの制御を行う。
【0040】
内部メモリ36は、デジタルカメラ1において設定される各種定数、およびCPU40が実行するプログラム等を記憶する。
【0041】
顔検出部37は、撮影により取得された画像に含まれるすべての顔候補を検出する。なお、画像は、スルー画像、プレ画像および本画像のいずれであってもよいが、本実施形態においてはスルー画像から顔候補を検出するものとする。ここで、顔を検出する手法としては、あるサイズを有する検出枠を画像上少しずつ移動させ、移動した位置毎に検出枠内の画像から特徴量を算出し、あらかじめ定められていた顔特徴量とのマッチング度を算出し、マッチング度がしきい値Th0以上となる検出枠の位置を顔候補として検出する手法を用いる。なお、検出枠の大きさを変更することにより異なる大きさの顔候補の検出が可能となる。また、しきい値Th0は後述するしきい値設定部42により設定される。
【0042】
そして顔検出部37により、図2に示すように画像G1から矩形の検出枠により囲まれる顔候補F1〜F5を検出することができる。なお、図2においては、検出されるのは顔の候補であるため、顔が存在しない部分においても検出枠により囲まれる領域が含まれている。
【0043】
顔構成部品検出部38は、顔候補に含まれる複数の顔構成部品についての候補である顔構成部品候補を検出する。本実施形態においては、両目の目尻K1,K2、両目の目頭K3,K4、左右の鼻の穴の脇K5,K6、左右の口元K7,K8および口の中央部分K9の9個の顔構成部品K1〜K9についての顔構成部品候補を検出するものとする。具体的には、矩形の各顔構成部品のパターンを、処理対象の顔候補の領域内の画像上を少しずつ移動させ、移動した位置毎にマッチング度を算出し、マッチング度があらかじめ定められたしきい値Th1以上となったパターンの位置の座標を顔構成部品候補として検出する。なお、座標は顔候補内の領域の左上隅を原点とした場合の顔候補内における座標である。
【0044】
ここで、顔候補が真の顔である場合、マッチング度がしきい値Th1以上となるパターンの位置を顔構成部品候補として検出すると、顔構成部品候補は対応する顔構成部品K1〜K9の位置において1つのみ検出されるものではなく、対応する顔構成部品K1〜K9の周囲に複数分布して検出されることが多い。このため、顔構成部品検出部38は、各顔構成部品毎に1以上の顔構成部品候補を検出する。
【0045】
ここで、顔候補に9つの顔構成部品K1〜K9のすべてが含まれている場合、図3(a)に示すように両目の目尻K1,K2、両目の目頭K3,K4、左右の鼻の穴の脇K5,K6、左右の口元K7,K8および口の中央部分K9の9個の顔構成部品のそれぞれに対応する顔構成部品候補が検出される。また、例えば左目の目頭について、図3(b)の×印で示すように複数の顔構成部品候補が検出される。
【0046】
なお、マッチング度がしきい値Th1以上となる顔構成部品候補が検出されない場合には、対応する顔構成部品の候補は検出されなかったものとする。
【0047】
判定部39は、顔検出部37が検出したすべての顔候補について、顔構成部品検出部38が検出した顔構成部品毎の顔構成部品候補の数に基づいて真の顔であるか否かを判定して、真の顔と判定された顔候補を真の顔として検出する。具体的には、すべての顔候補のうちの処理対象の顔候補について、上記9個の顔構成部品K1〜K9のそれぞれについての顔構成部品候補の総数N1〜N9を算出し、さらに総数N1〜N9の加算値であるNsumを算出する。そして加算値Nsumがしきい値Th2以上である場合に、処理対象の顔候補を真の顔であると判定し、その顔候補を真の顔として検出する。なお、加算値Nsumがしきい値Th2未満の場合は処理対象の顔候補を非顔と判定する。
【0048】
なお、上記9個の顔構成部品K1〜K9のそれぞれについての顔構成部品候補の総数N1〜N9を9次元空間にプロットし、9次元空間においてしきい値を定める超平面または超曲面を設定し、プロットした総数N1〜N9がしきい値を定める超平面または超曲面のいずれの側にあるかに応じて、処理対象の顔候補が真の顔であるか否かを判定するようにしてもよい。ここで、簡単のために、判定に使用する顔構成部品を左右の口元K7,K8および口の中央部分K9のみとした場合、総数N7〜N9は3次元空間にプロットされる。図4は総数N7〜N9を3次元空間にプロットした状態を示す図である。まず、総数N7〜N9が図4(a)に示すようにプロットされたとすると、そのプロットの位置X1(N7,N8,N9)は、しきい値を設定する超平面A1よりも上側(すなわち値が大きい側)にある。したがって、図4(a)に示すようにプロットがなされた場合は、処理対象の顔候補を真の顔と判定する。
【0049】
一方、総数N7〜N9が図4(b)に示すようにプロットされたとすると、そのプロットの位置X2(N7,N8,N9)は、しきい値を設定する超平面A1よりも下側(すなわち値が小さい側)にある。したがって、図4(b)に示すようにプロットがなされた場合は、処理対象の顔候補を真の顔でないと判定する。
【0050】
なお、総数N1〜N9のそれぞれについてしきい値Th3を超えるか否かを判定し、しきい値Th3を超えた総数の数がさらにしきい値Th4を超えたときに、処理対象の顔候補を真の顔であると判定してもよい。
【0051】
しきい値設定部42は、顔検出部37が顔候補を検出する際にマッチング度と比較するしきい値Th0を設定する。まず、1回目の撮影により取得された画像(スルー画像)から顔候補を検出する際には、より多くの顔候補が検出されるようにしきい値Th0を比較的低い値Z0に設定する。これにより、顔検出部37は、例えば図5(a)に示すように、画像G1から矩形の検出枠により囲まれる顔候補F1〜F10を検出することができる。なお、図5(a)においては、検出されるのは顔の候補であるため、顔が存在しない部分においても検出枠により囲まれる領域が含まれている。
【0052】
一方、2回目以降の撮影により取得された画像から顔候補を検出する際には、1回目の撮影よりも検出される顔候補を少なくするために、しきい値Th0を値Z0よりも大きい値Z1に設定する。具体的には、1回目の撮影による取得した画像から検出した、真の顔と判定された顔候補のうち、マッチング度が最も低い顔候補を検出した際のそのマッチング度Z2よりも小さく、1回目の撮影により取得された画像から検出した、真の顔であると判定されなかった顔候補のうち、マッチング度が最も大きい顔候補についてのそのマッチング度Z3よりも大きい値Z1となるようにしきい値Th0を設定する。
【0053】
図6はしきい値Th0の設定を説明するための図である。図6において横軸は1回目の撮影により取得された画像から検出された顔候補F1〜F10を、縦軸はマッチング度を示す。図6に示すように顔候補F1〜F10のうち、真の顔と判定されたものは顔候補F1〜F3である。また、真の顔と判定された顔候補F1〜F3において、マッチング度が最も小さいのは顔候補F3であり、そのマッチング度はZ2である。一方、顔候補F4〜F10は非顔と判定され、非顔と判定された顔候補F4〜F10において、マッチング度が最も大きいのは顔候補F8であり、そのマッチング度はZ3である。
【0054】
したがって、しきい値設定部42は、顔検出部37が2回目以降の撮影により取得した画像から顔候補を検出する際には、顔候補F3のマッチング度Z2と顔候補F8のマッチング度Z3との中間の値Z1(例えばZ1=(Z2+Z3)/2)にしきい値Th0を設定する。このようにしきい値Th0を値Z1に設定することにより、1回目の撮影により取得された画像からは、顔候補F1〜F3のみが検出されることとなる。また、2回目以降の撮影により取得された画像からは、例えば図5(b)に示すように、図5(a)に示す顔候補F1〜F3に対応する顔候補F1′〜F3′が検出される。なお、顔候補F8に対応する顔候補F4′が検出される可能性もある。
【0055】
なお、上記では非顔と判定された顔候補F4〜F10において、マッチング度が最も大きい顔候補F8のマッチング度Z3を用いてしきい値Th0の値Z1を設定しているが、非顔と判定された顔候補F4〜F10において、マッチング度が2または3番目に大きい顔候補F9,F10のマッチング度と顔候補F3のマッチング度Z2との中間の値にしきい値Th0を設定するようにしてもよい。
【0056】
また、スルー画像の撮影中は、被写体が変更される可能性が高く、その場合、検出されるべき顔候補が変化する。本実施形態においては、しきい値設定部42は、1回目の撮影から所定撮影間隔経過する毎にしきい値Th0を値Z0に設定し、その撮影の次の撮影により取得される画像からの顔候補の検出のためのしきい値Th0の値を新たに設定し直す。例えば、スルー画像を1秒間に30撮影する場合には、30回の撮影毎にしきい値Th0を値Z0に設定して、次回の以降の撮影により取得される画像から顔候補を検出する際のしきい値Th0の値を設定し直す。
【0057】
CPU40は、操作系2およびAF処理部30等の各種処理部からの信号に応じてデジタルカメラ1の本体各部を制御する。また、CPU40は、スルー画像の撮影中に、各スルー画像から真の顔を検出するように、顔検出部37、顔構成部品検出部38および判定部39を制御する。なお、判定部39が真の顔を検出すると、CPU40は、図7に示すように検出した真の顔を矩形の領域A1〜A3で囲んでスルー画像を表示するように表示制御部27に指示を行う。なお、矩形の領域は顔検出部37が検出した顔候補の検出枠に相当するものである。
【0058】
データバス41は、各種処理部、フレームメモリ26およびCPU40等に接続されており、デジタル画像データおよび各種指示等のやり取りを行う。
【0059】
次いで、第1の実施形態において行われる処理について説明する。図8は第1の実施形態において行われる処理を示すフローチャートである。デジタルカメラ1の動作モードが撮影モードに設定されることによりCPU40が処理を開始し、スルー画像の撮影を行う(ステップST1)。そして、しきい値設定部42がしきい値設定処理を行う(ステップST2)。
【0060】
図9はしきい値設定処理のフローチャートである。まず、スルー画像の撮影が1回目であるか否かを判定し(ステップST11)、ステップST11が肯定されるとしきい値Th0を値Z0に設定し(ステップST12)、処理を終了する。ステップST11が否定されるとスルー画像の撮影が、前回しきい値Th0を値Z0に設定してから所定撮影間隔経過してからの撮影であるか否かを判定し(ステップST13)、ステップST13が肯定されると、ステップST12に進んでしきい値Th0を値Z0に設定し、処理を終了する。
【0061】
一方、ステップST13が否定されると、しきい値Th0を値Z1に設定し(ステップST14)、処理を終了する。
【0062】
図8に戻り、ステップST2に続いて顔検出部37がスルー画像に含まれるすべての顔候補を検出する(ステップST3)。次いで、顔構成部品検出部38が、i番目の顔候補を処理対象の顔候補として、処理対象の顔候補から顔構成部品毎の顔構成部品候補を検出する(ステップST4)。なお、iの初期値は1である。また、処理の順序は、例えばスルー画像上における向かって左側に存在する顔候補から右側に向かって順に行うようにすればよい。
【0063】
そして、判定部39が、顔構成部品検出部38が検出した顔構成部品毎の顔構成部品候補の総数の加算値Nsumがしきい値Th2以上であるか否かを判定し(ステップST5)、ステップST5が肯定されると、処理対象の顔候補を真の顔と判定して検出する(ステップST6)。一方、ステップST5が否定されると、処理対象の顔候補を非顔と判定する(ステップST7)。
【0064】
ステップST6,7に続いて、CPU40がすべての顔候補について判定部39が判定を終了したか否かを判定し(ステップST8)、ステップST8が否定されると、iに1を加算し(ステップST9)、ステップST4に戻る。ステップST8が肯定されると、真の顔を矩形領域で囲んだスルー画像をモニタ28に表示し(ステップST10)、ステップST1にリターンする。
【0065】
このように、第1の実施形態においては、検出された顔構成部品候補の数に基づいて、顔候補から真の顔を検出するようにしたものである。ここで、顔には、目、鼻および口等の顔構成部品が含まれており、顔候補が真の顔である場合には、1つの顔構成部品について検出される顔構成部品候補が多くなる。したがって、顔候補に含まれる顔構成部品毎の顔構成部品候補の数に基づいて顔候補が真の顔であるか否かを判定することにより、顔候補から真の顔を精度良く検出することができる。
【0066】
しかしながら、顔構成部品候補の数に基づく真の顔であるか否かの判定は演算に長時間を要するものとなる。第1の実施形態においては、1回目の撮影以降および所定撮影間隔経過する毎の撮影以降の撮影により取得された画像については、顔検出のためのしきい値Th0の値を大きくするようにしたため、検出される顔候補の数を少なくすることができる。したがって、演算量が多い判定の処理を行う顔候補の数を少なくすることができ、これにより、演算量を低減しつつも精度良く顔候補から真の顔を検出することができる。
【0067】
なお、上記第1の実施形態においては、両目の目尻K1,K2、両目の目頭K3,K4、左右の鼻の穴の脇K5,K6、左右の口元K7,K8および口の中央部分K9の9個の顔構成部品を検出しているが、これらをすべて検出する必要はなく、これらの顔構成部品のうちの1以上の顔構成部品の候補を検出するようにしてもよい。この場合、総数の加算値Nsumと比較するしきい値Th2は、検出する顔構成部品の数に応じて変更すればよい。なお、検出する顔構成部品が1つのみの場合は、両目の目尻および両目の目頭のうちのいずれか1つを検出することが好ましい。また、検出する顔構成部品は、両目の目尻、両目の目頭、左右の鼻の穴の脇、左右の口元および口の中央部分に限定されるものではなく、眉毛、両目の黒目部分等、顔を構成する部品であれば、任意の構成部品を用いることができる。
【0068】
次いで、本発明の第2の実施形態について説明する。なお、第2の実施形態においては、判定部39が行う処理が第1の実施形態と異なるのみであるため、構成についての詳細な説明はここでは省略する。
【0069】
第2の実施形態においては、判定部(第1の実施形態と異なるため39Aとする)が、顔構成部品検出部38が検出した顔構成部品毎の顔構成部品候補の位置的な尤度を算出し、位置的な尤度に基づいて顔候補が真の顔であるか否かを判定する。ここで、位置的な尤度とは、顔候補の領域内において、検出された顔構成部品候補がどの程度対応する本来あるべき顔構成部品の位置に位置しているかを表す確率である。
【0070】
ここで、本実施形態においては、9種類の顔構成部品について各顔構成部品の顔候補内における存在確率を表した確率分布があらかじめ求められている。
【0071】
図10は顔構成部品の存在確率を表す確率分布を示す図である。図10に示す確率分布は、顔候補を検出した検出枠をあらかじめ定められた一定のサイズに正規化した場合における、検出枠内での両目の目尻K1,K2、両目の目頭K3,K4、左右の鼻の穴の脇K5,K6、左右の口元K7,K8および口の中央部分K9の9個の顔構成部品の存在確率の確率分布を表すものである。なお、図10における丸印B1〜B9は、それぞれ顔候補の両目の目尻K1,K2、両目の目頭K3,K4、左右の鼻の穴の脇K5,K6、左右の口元K7,K8および口の中央部分K9の存在確率を表す確率分布であり、図10における紙面をXY平面とし、紙面に垂直な方向をZ方向とした場合、図11の確率分布のプロファイルに示すようにZ方向が各顔構成部品の存在確率を示すものとなる。したがって、図10における各丸印の中心に近いほど各顔構成部品の存在確率が高いものとなる。
【0072】
なお、確率分布は多数の顔のサンプル画像を用いてあらかじめ求めておけばよい。
【0073】
判定部39Aは、顔検出部37が検出した各顔候補を上記一定のサイズに正規化し、正規化した顔候補内の各顔構成部品毎の顔構成部品候補について、対応する顔構成部品の確率分布を参照して存在確率を位置的な尤度として算出する。具体的には、各顔構成部品候補について、対応する顔構成部品の存在確率を表す確率分布付近の位置を求め、その位置における存在確率を位置的な尤度として算出する。これにより、例えば左目目尻の候補1〜4が、図12に示す確率分布B1付近の位置C1〜C4にある場合には、図13に示すように、位置C1にある左目目尻候補1の尤度0%、位置C2にある左目目尻候補2の尤度2%、位置C3にある左目目尻候補3の尤度9%、位置C4にある左目目尻候補4の尤度17%というように、各顔構成部品候補の位置的な尤度が求められる。
【0074】
さらに判定部39Aは、顔構成部品毎に顔構成部品候補の位置的な尤度の平均値を算出する。図14は2つの顔候補についての顔構成部品毎の顔構成部品候補の位置的な尤度の平均値を示す図である。そして、処理対象の顔候補について、位置的な尤度の平均値がしきい値Th5以上となる顔構成部品の数がしきい値Th6以上であるか否かを判定し、この判定が肯定された場合に処理対象の顔候補を真の顔であると判定して検出する。例えば、しきい値Th5として13%を、本実施形態においては9個の顔構成部品を用いているためしきい値Th6として5を用いるとすると、図14に示す顔候補1について、位置的な尤度の平均値がしきい値Th5以上となる顔構成部品は、左目目尻、左目目頭、右目目頭、左鼻脇、右鼻脇および右口元の6個となり、その数がしきい値Th6以上となるため、処理対象の顔候補1は真の顔と判定されて検出される。一方、顔候補2は尤度の平均値がしきい値Th5以上となる顔構成部品は0個であるため、顔候補2は真の顔とは判定されない。
【0075】
次いで、第2の実施形態において行われる処理について説明する。図15は第2の実施形態において行われる処理を示すフローチャートである。デジタルカメラ1の動作モードが撮影モードに設定されることによりCPU40が処理を開始し、スルー画像の撮影を行う(ステップST21)。そして、しきい値設定部42がしきい値設定処理を行う(ステップST22)。続いて、顔検出部37がスルー画像に含まれるすべての顔候補を検出する(ステップST23)。次いで、顔構成部品検出部38が、i番目の顔候補を処理対象の顔候補として、処理対象の顔候補から顔構成部品毎の顔構成部品候補を検出する(ステップST24)。
【0076】
そして、判定部39Aが、顔構成部品毎に顔構成部品候補の位置的な尤度を算出し(ステップST25)、位置的な尤度の平均値がしきい値Th5以上となる顔構成部品の数がしきい値Th6以上であるか否かを判定する(ステップST26)。ステップST26が肯定されると、処理対象の顔候補を真の顔と判定して検出する(ステップST27)。一方、ステップST26が否定されると、処理対象の顔候補を非顔と判定する(ステップST28)。
【0077】
ステップST27,28に続いて、CPU40がすべての顔候補について判定部39Aが判定を終了したか否かを判定し(ステップST29)、ステップST29が否定されると、iに1を加算し(ステップST30)、ステップST24に戻る。ステップST29が肯定されると、真の顔を矩形領域で囲んだスルー画像をモニタ28に表示し(ステップST31)、ステップST21にリターンする。
【0078】
このように、第2の実施形態においては、検出された顔構成部品候補の位置、とくに位置的な尤度に基づいて、各顔候補から真の顔を検出するようにしたものである。ここで、顔には、目、鼻および口等の顔構成部品が含まれており、顔候補が真の顔である場合には、顔構成部品候補は対応する顔構成部品の位置に存在することとなる。したがって、顔候補に含まれる顔構成部品候補の位置に基づいて顔候補が真の顔であるか否かを判定することにより、精度良く顔候補から真の顔を検出することができる。
【0079】
また、第1の実施形態と同様に、演算量が多い判定の処理を行う顔候補の数を少なくすることができるため、演算量を低減しつつも精度良く顔候補から真の顔を検出することができる。
【0080】
なお、上記第2の実施形態においては、判定部39Aが顔構成部品毎の顔構成部品候補の位置的な尤度を算出し、これに基づいて顔候補が真の顔であるか否かを判定しているが、顔構成部品毎の顔構成部品候補の位置関係の尤度を算出し、位置関係の尤度に基づいて顔候補が真の顔であるか否かを判定してもよい。以下、これを第3の実施形態として説明する。
【0081】
第3の実施形態においては、判定部(第1の実施形態と異なるため39Bとする)は、顔構成部品検出部38が検出した顔構成部品毎の顔構成部品候補について、顔構成部品候補毎に他の顔構成部品の位置に対する存在確率を位置関係の尤度として算出し、算出した位置関係の尤度に基づいて顔候補が真の顔であるか否かを判定する。
【0082】
図16は右目の目頭の、両目の目尻、左目の目頭、左右の鼻の穴の脇、左右の口元および口の中央部分の他の8個の顔構成部品に対する存在確率の確率分布を示す図である。なお、図16において確率分布B11〜B18は、それぞれ右目の目頭の、左目の目尻、右目の目尻、左目の目頭、左の鼻の穴の脇、右の鼻の穴の脇、左の口元、右の口元および口の中央部分に対する存在確率の確率分布を示す。
【0083】
ここで、位置関係の尤度を算出する対象を右目目頭とした場合、第3の実施形態においては、判定部39Bは、顔検出部37が検出した各顔候補を第2の実施形態と同様に一定のサイズに正規化し、正規化した顔候補内において顔構成部品検出部38が検出した右目目頭候補毎に、確率分布B11〜B18を参照して存在確率を仮の位置関係の尤度として算出する。例えば、右目の目頭の、左目の目尻に対する仮の位置関係の尤度15%、右目の目尻に対する仮の位置関係の尤度12%、左目の目頭に対する仮の位置関係の尤度13%、左の鼻の穴の脇に対する仮の位置関係の尤度10%、右の鼻の穴の脇に対する仮の位置関係の尤度19%、左の口元に対する仮の位置関係の尤度13%、右の口元に対する仮の位置関係の尤度17%および口の中央部分に対する仮の位置関係の尤度15%というように仮の位置関係の尤度を算出する。
【0084】
そして判定部39Bは、算出した8個の仮の位置関係の尤度の平均値を算出し、さらにこの平均値のすべての顔構成部品候補についての平均値を、その顔構成部品候補の最終的な位置関係の尤度として算出する。
【0085】
なお、第3の実施形態においては、右目の目頭のみならず、左目の目尻、右目の目尻、左目の目頭、左の鼻の穴の脇、右の鼻の穴の脇、左の口元、右の口元および口の中央部分についても、それぞれ他の顔構成部品に対する存在確率の確率分布が求められており、判定部39Bは、9個すべての顔構成部品の顔構成部品候補について位置関係の尤度を算出する。そして、判定部39Bは顔構成部品毎に算出した9個の顔構成部品候補の位置関係の尤度がしきい値Th7以上となる顔構成部品の数がしきい値Th8以上であるか否かを判定し、この判定が肯定された場合に処理対象の顔候補を真の顔であると判定して検出する。
【0086】
次いで、第3の実施形態において行われる処理について説明する。図17は第3の実施形態において行われる処理を示すフローチャートである。デジタルカメラ1の動作モードが撮影モードに設定されることによりCPU40が処理を開始し、スルー画像の撮影を行う(ステップST41)。そして、しきい値設定部42がしきい値設定処理を行う(ステップST42)。続いて、顔検出部37がスルー画像に含まれるすべての顔候補を検出する(ステップST43)。次いで、顔構成部品検出部38が、i番目の顔候補を処理対象の顔候補として、処理対象の顔候補から顔構成部品毎の顔構成部品候補を検出する(ステップST44)。なお、iの初期値は1である。
【0087】
そして、判定部39Bが、顔構成部品毎に顔構成部品候補の位置関係の尤度を算出し(ステップST45)、位置関係の尤度がしきい値Th7以上となる顔構成部品の数がしきい値Th8以上であるか否かを判定する(ステップST46)。ステップST46が肯定されると、処理対象の顔候補を真の顔と判定して検出する(ステップST47)。一方、ステップST46が否定されると、処理対象の顔候補を非顔と判定する(ステップST48)。
【0088】
ステップST47,48に続いて、CPU40がすべての顔候補について判定部39Bが判定を終了したか否かを判定し(ステップST49)、ステップST49が否定されると、iに1を加算し(ステップST50)、ステップST44に戻る。ステップST49が肯定されると、真の顔を矩形領域で囲んだスルー画像をモニタ28に表示し(ステップST51)、ステップST41にリターンする。
【0089】
このように、第3の実施形態においては、検出された顔構成部品の位置、とくに位置関係の尤度に基づいて、各顔候補から真の顔を検出するようにしたものである。ここで、顔には、目、鼻および口等の顔構成部品が含まれており、顔候補が真の顔である場合には、顔構成部品候補は対応する顔構成部品の位置に存在することとなり、さらに顔構成部品間の位置関係は略決まっている。したがって、顔候補に含まれる顔構成部品候補の位置関係に基づいて顔候補が真の顔であるか否かを判定することにより、顔候補から真の顔を精度良く検出することができる。
【0090】
また、第1の実施形態と同様に、演算量が多い判定の処理を行う顔候補の数を少なくすることができるため、演算量を低減しつつも精度良く顔候補から真の顔を検出することができる。
【0091】
なお、上記第3の実施形態においては、9種類の顔構成部品のすべての位置関係の尤度を算出し、位置関係の尤度がしきい値Th7以上となる顔構成部品がしきい値Th8以上であるか否かに基づいて顔候補が真の顔か否かを判定しているが、9種類の顔構成部品のすべてを用いる必要はなく、少なくとも1つの顔構成部品についての位置関係の尤度に基づいて顔候補が真の顔か否かを判定するようにしてもよい。
【0092】
また、上記第2および第3の実施形態においては、検出した顔候補の顔構成部品候補が、対応する各顔構成部品の確率分布上に位置していれば、精度よく位置的な尤度および位置関係の尤度を算出することができるが、図18に示すように顔候補の各顔構成部品候補の位置(図中×で示す)が本来あるべき顔構成部品の位置の確率分布とずれていると、尤度を精度よく算出することができず、その結果、顔候補が真の顔であるか否かを精度よく判定することができない。このため、検出した顔構成部品候補が確率分布内に位置するように、顔候補を正規化することが好ましい。以下、これを第4の実施形態として説明する。
【0093】
第4の実施形態において、顔候補を正規化するためには、顔候補内の顔構成部品候補のうちのいずれかの顔構成部品候補を対応する顔構成部品の確率分布の中心(すなわち最も確率が高い位置)と一致させるように、顔候補の画像をアフィン変換する。アフィン変換は、平面上の任意の3点を拡大縮小、平行移動および回転することにより任意の3点に移動させる変換であり、具体的には下記の式(1)により表される。
【0094】
x′=a1・x+b1・y+d1
y′=a2・x+b2・y+d2 (1)
式(1)より、アフィン変換の係数a1,a2,b1,b2,d1,d2を算出するためには、顔候補内および顔構成部品の確率分布内においてそれぞれ対応する3点の座標が必要となる。ここで、顔候補および顔構成部品の確率分布において、図18に示すように左下隅を原点とするXY座標系を考えると、顔構成部品候補P1〜P9が確率分布B1〜B9の中心に位置するようにアフィン変換の係数を設定する必要がある。第4の実施形態においては、顔構成部品毎に顔構成部品検出部38が検出した少なくとも1つの顔構成部品候補のうち、マッチング度が最も高い顔構成部品候補を顔構成部品候補を代表する顔構成部品候補P1〜P9として選択し、選択した9個の顔構成部品候補P1〜P9のうちマッチング度が大きい上位3個の顔構成部品候補を、対応する顔構成部品の確率分布の中心と一致させるようにアフィン変換の係数a1,a2,b1,b2,d1,d2を算出すればよい。
【0095】
例えば、図18に示す顔構成部品候補P1〜P9のマッチング度がP1>P2>P3>P4>P5…である場合には、顔構成部品候補P1,P2,P3を、対応する顔構成部品の確率分布B1,B2,B3の中心とそれぞれ一致させるようにアフィン変換の係数a1,a2,b1,b2,d1,d2を算出する。
【0096】
なお、アフィン変換の係数を算出するためには3点の座標を用いるのみならず、4点以上の座標を用いてもよい。例えば、9個の顔構成部品候補P1〜P9のすべてを対応する顔構成部品の確率分布B1〜B9の中心と一致させるようにアフィン変換の係数を算出してもよい。この場合、変換後の9個の顔構成部品候補P1〜P9の座標と、確率分布B1〜B9の中心位置の座標との誤差が最小となるように、最小二乗法を用いてアフィン変換の係数を算出すればよい。
【0097】
次いで、第4の実施形態において行われる処理について説明する。図19は第4の実施形態において行われる処理を示すフローチャートである。なお、ここでは、第4の実施形態を第2の実施形態に適用した場合の処理について説明するが、第3の実施形態に対しても同様に適用できるものである。
【0098】
デジタルカメラ1の動作モードが撮影モードに設定されることによりCPU40が処理を開始し、スルー画像の撮影を行う(ステップST61)。そして、しきい値設定部42がしきい値設定処理を行う(ステップST62)。続いて、顔検出部37がスルー画像に含まれるすべての顔候補を検出する(ステップST63)。次いで、顔構成部品検出部38が、i番目の顔候補を処理対象の顔候補として、処理対象の顔候補から顔構成部品毎の顔構成部品候補を検出する(ステップST64)。なお、iの初期値は1である。
【0099】
そして、判定部39Aが処理対象の顔候補を正規化し(ステップST65)、正規化の後、顔構成部品毎に顔構成部品候補の位置的な尤度を算出し(ステップST66)、位置的な尤度の平均値がしきい値Th5以上となる顔構成部品の数がしきい値Th6以上であるか否かを判定する(ステップST67)。ステップST67が肯定されると、処理対象の顔候補を真の顔と判定して検出する(ステップST68)。一方、ステップST68が否定されると、処理対象の顔候補を非顔と判定する(ステップST69)。
【0100】
ステップST68,69に続いて、CPU40がすべての顔候補について判定部39Aが判定を終了したか否かを判定し(ステップST70)、ステップST70が否定されると、iに1を加算し(ステップST71)、ステップST64に戻る。ステップST70が肯定されると、真の顔を矩形領域で囲んだスルー画像をモニタ28に表示し(ステップST72)、ステップST61にリターンする。
【0101】
このように、第4の実施形態においては、顔候補の領域内において各顔構成部品候補の位置が対応する顔構成部品の位置に位置するように顔候補をアフィン変換して正規化するようにしたため、より精度良く顔候補から真の顔を検出することができる。
【0102】
また、第1の実施形態と同様に、演算量が多い判定の処理を行う顔候補の数を少なくすることができるため、演算量を低減しつつも精度良く顔候補から真の顔を検出することができる。
【0103】
なお、上記第4の実施形態においては、顔候補毎にアフィン変換の係数を算出してアフィン変換を行っているが、すべての顔候補について、各顔構成部品について選択した顔構成部品候補の平均位置を算出し、算出した平均位置が確率分布の中心と一致するようにアフィン変換の係数を算出してもよい。この場合においても、9個の顔構成部品から選択した顔構成部品候補のうちの3つの顔構成部品候補からアフィン変換の係数を算出してもよく、4以上の顔構成部品候補からアフィン変換の係数を算出してもよい。
【0104】
また、上記第4の実施形態においては、正規化前に顔構成部品毎の顔構成部品候補について仮の位置的な尤度または仮の位置関係の尤度を算出し、仮の位置的な尤度または仮の位置関係の尤度が最も高い上位所定数の顔構成部品候補が、対応する顔構成部品の位置(すなわち存在確率がピークとなる位置)と一致するように、顔候補に対してアフィン変換を施すことにより正規化を行うようにしてもよい。
【0105】
次いで、本発明の第5の実施形態について説明する。なお、第5の実施形態においては、判定部39が行う処理が第1の実施形態と異なるのみであるため、構成についての詳細な説明はここでは省略する。
【0106】
第5の実施形態においては、判定部(第1の実施形態と異なるため39Cとする)が、顔構成部品検出部38が検出した顔構成部品毎の顔構成部品候補の数に基づいて、顔候補が真の顔、非顔および曖昧顔のいずれかであるかを判定することにより真の顔を検出する第1の判定処理を行い、第1の判定処理により曖昧顔と判定された顔候補について、第2、第3または第4の実施形態と同様に、顔構成部品候補の位置に基づいて顔候補が真の顔であるか否かを判定することにより真の顔を検出する第2の判定処理を行うようにした点が第1の実施形態と異なる。
【0107】
第5の実施形態における判定部39Cは、第1の判定処理においては、第1の実施形態における判定部39と同様に9個の顔構成部品K1〜K9のそれぞれについての顔構成部品候補の総数N1〜N9を算出し、さらに総数N1〜N9の加算値であるNsumを算出する。そして加算値Nsumがしきい値Th9以上である場合に処理対象の顔候補を真の顔であると判定し、その顔候補を真の顔として検出する。また、加算値Nsumがしきい値Th10以上しきい値Th9未満である場合に処理対象の顔候補を曖昧顔と判定し、加算値Nsumがしきい値Th10未満である場合に処理対象の顔候補を非顔であると判定する。また、曖昧顔と判定された顔候補に対する上記第2、第3または第4の実施形態のいずれかの処理を第2の判定処理として行う。
【0108】
次いで、第5の実施形態において行われる処理について説明する。図20は第5の実施形態において行われる処理を示すフローチャートである。デジタルカメラ1の動作モードが撮影モードに設定されることによりCPU40が処理を開始し、スルー画像の撮影を行う(ステップST81)。そして、しきい値設定部42がしきい値設定処理を行う(ステップST82)。続いて、顔検出部37がスルー画像に含まれるすべての顔候補を検出する(ステップST83)。次いで、顔構成部品検出部38が、i番目の顔候補を処理対象の顔候補として、処理対象の顔候補から顔構成部品毎の顔構成部品候補を検出する(ステップST84)。なお、iの初期値は1である。
【0109】
そして、判定部39Cが第1の判定処理を行う(ステップST85)。まず、顔構成部品検出部38が検出した顔構成部品毎の顔構成部品候補の総数の加算値Nsumがしきい値Th9以上であるか否かを判定し(ステップST86)、ステップST86が肯定されると、処理対象の顔候補を真の顔と判定して検出する(ステップST87)。一方、ステップST86が否定されると、加算値Nsumがしきい値Th10以上しきい値Th9未満であるか否かを判定し(ステップST88)、ステップST88が否定されると、処理対象の顔候補を非顔と判定する(ステップST89)。ステップST88が肯定されると、処理対象の顔候補が曖昧顔であるとして、第2の判定処理を行う(ステップST90)。
【0110】
まず、第2の実施形態と同様に、判定部39Cが、顔構成部品毎に顔構成部品候補の位置的な尤度を算出し(ステップST91)、顔構成部品毎に尤度の平均値がしきい値Th5以上となる顔構成部品の数がしきい値Th6以上であるか否かを判定する(ステップST92)。なお、ステップST91の前に第4の実施形態と同様に処理対象の顔候補を正規化してもよい。また、ステップST91,92の処理を第3の実施形態のステップST45,46の処理と同様に位置関係の尤度を用いて行ってもよい。ステップST92が肯定されると、処理対象の顔候補を真の顔と判定して検出する(ステップST93)。一方、ステップST92が否定されると、処理対象の顔候補を非顔と判定する(ステップST94)。
【0111】
ステップST87,89,93,94に続いて、CPU40がすべての顔候補について判定部39Cが判定を終了したか否かを判定し(ステップST95)、ステップST95が否定されると、iに1を加算し(ステップST96)、ステップST84に戻る。ステップST95が肯定されると、真の顔を矩形領域で囲んだスルー画像をモニタ28に表示し(ステップST97)、ステップST81にリターンする。
【0112】
ここで、顔構成部品候補の数に基づいて顔候補が真の顔であるか否かを判定する場合と、顔構成部品候補の位置に基づいて顔候補が真の顔であるか否かを判定する場合とでは、前者の方が演算量が少ない。また、暗いシーンや逆光の撮影時においては顔候補が暗くなるため、その顔候補が真の顔であっても検出される顔構成部品候補の数が少なくなり、その結果、第1の実施形態の処理を行うのみでは、真の顔を非顔と判定してしまうおそれがある。このため、第5の実施形態のように、顔構成部品候補の数に基づいて曖昧顔と判定された顔候補についてのみ、顔構成部品候補の位置に基づいて顔候補が真の顔であるか否かを判定することにより、さらに演算量を低減でき、かつ精度良く顔候補から真の顔を検出することができる。
【0113】
なお、上記第5の実施形態においては、第1の判定処理として、上記9個の顔構成部品K1〜K9のそれぞれについての顔構成部品候補の総数N1〜N9を9次元空間にプロットし、9次元空間においてしきい値を定める超平面または超曲面を設定し、プロットした総数N1〜N9がしきい値を定める超平面または超曲面のいずれの側にあるかに応じて、顔候補が真の顔、曖昧顔および非顔のいずれであるかを判定するようにしてもよい。
【0114】
また、上記第5の実施形態においては、第1の判定処理および第2の判定処理を同一の判定部39Cにおいて行っているが、第1および第2の判定処理をそれぞれ行う2つの判定部を設けるようにしてもよい。
【0115】
以上、本発明の実施形態に係るデジタルカメラについて説明したが、コンピュータを、上記の顔検出部37、顔構成部品検出部38、判定部39,39A〜39Cおよびしきい値設定部42に対応する手段として機能させ、図8,9,15,17,19,20に示すような処理を行わせるプログラムも本発明の実施形態の1つである。また、そのようなプログラムを記録したコンピュータ読取り可能な記録媒体も、本発明の実施形態の1つである。
【図面の簡単な説明】
【0116】
【図1】本発明の第1の実施形態による撮影装置を適用したデジタルカメラの構成を示す概略ブロック図
【図2】顔候補の検出を説明するための図
【図3】顔構成部品候補の検出を説明するための図
【図4】顔候補が真の顔であるか否かの判定を説明するための図
【図5】しきい値の設定を説明するための図(その1)
【図6】しきい値の設定を説明するための図(その2)
【図7】真の顔が矩形で囲まれたスルー画像を示す図
【図8】第1の実施形態において行われる処理を示すフローチャート
【図9】しきい値設定処理のフローチャート
【図10】顔構成部品の存在確率の確率分布を示す図
【図11】確率分布のプロファイルを示す図
【図12】確率分布付近における顔構成部品候補の位置の例を示す図
【図13】各顔構成部品候補について算出した位置的な尤度を示す図
【図14】2つの顔候補についての顔構成部品毎の顔構成部品候補の位置的な尤度の平均値を示す図
【図15】第2の実施形態において行われる処理を示すフローチャート
【図16】右目の目頭の、両目の目尻、左目の目頭、左右の鼻の穴の脇、左右の口元および口の中央部分の他の8個の顔構成部品に対する存在確率の確率分布を示す図
【図17】第3の実施形態において行われる処理を示すフローチャート
【図18】顔構成部品の位置のずれを説明するための図
【図19】第4の実施形態において行われる処理を示すフローチャート
【図20】第5の実施形態において行われる処理を示すフローチャート
【符号の説明】
【0117】
1 デジタルカメラ
2 操作系
3 操作系制御部
6 撮像系
28 モニタ
35 記録メディア
37 顔検出部
38 顔構成部品検出部
39 判定部
40 CPU
42 しきい値設定部
【特許請求の範囲】
【請求項1】
連続した撮影により画像を連続して取得する撮影手段と、
所定サイズの検出枠を前記画像上において移動させ、移動した位置毎に該検出枠内の前記画像から特徴量を算出し、該特徴量とあらかじめ定められた顔特徴量とのマッチング度を算出し、該マッチング度が所定のしきい値以上となったときに前記検出枠の位置の画像を顔候補として検出する顔検出手段と、
前記顔候補に含まれる少なくとも1つの顔構成部品の候補を該顔構成部品毎に検出する顔構成部品検出手段と、
前記顔構成部品毎に検出された前記顔構成部品候補の数および位置の少なくとも一方に基づいて、前記顔候補が真の顔であるか否かを判定する判定手段と、
所定の撮影の際に取得された所定撮影時画像から前記顔候補を検出するに際には、前記所定のしきい値を第1の値に設定し、該所定の撮影以降の撮影により取得された画像から前記顔候補を検出する際には、前記所定撮影時画像から検出された前記顔候補であって前記真の顔であると判定された顔候補のうち、前記マッチング度が最も低い顔候補を検出可能な第2の値を前記所定のしきい値に設定するしきい値設定手段とを備えたことを特徴とする撮影装置。
【請求項2】
前記所定の撮影は、最初の撮影であることを特徴とする請求項1記載の撮影装置。
【請求項3】
前記所定の撮影はあらかじめ定められた間隔での撮影であることを特徴とする請求項1または2記載の撮影装置。
【請求項4】
前記判定手段は、前記位置に基づいて前記顔候補が前記真の顔であるか否かを判定するに際し、前記顔候補の領域内における前記各顔構成部品候補の、対応する前記顔構成部品に対する位置的な尤度を算出し、該位置的な尤度に基づいて前記顔候補が前記真の顔であるか否かを判定する手段であることを特徴とする請求項1から3のいずれか1項記載の撮影装置。
【請求項5】
前記判定手段は、前記位置に基づいて前記顔候補が前記真の顔であるか否かを判定するに際し、前記顔候補の領域内における前記各顔構成部品候補の、対応する前記顔構成部品以外の他の顔構成部品に対する位置関係の尤度を算出し、該位置関係の尤度に基づいて前記顔候補が前記真の顔であるか否かを判定する手段であることを特徴とする請求項1から3のいずれか1項記載の撮影装置。
【請求項6】
前記判定手段は、前記位置に基づいて前記顔候補が前記真の顔であるか否かを判定するに際し、前記顔候補の領域内において前記各顔構成部品を正規化し、該正規化した前記各顔構成部品の位置に基づいて、前記顔候補が前記真の顔であるか否かを判定する手段であることを特徴とする請求項1から5のいずれか1項記載の撮影装置。
【請求項7】
連続した撮影により画像を連続して取得し、
所定サイズの検出枠を前記画像上において移動させ、移動した位置毎に該検出枠内の前記画像から特徴量を算出し、該特徴量とあらかじめ定められた顔特徴量とのマッチング度を算出し、該マッチング度が所定のしきい値以上となったときに前記検出枠の位置の画像を顔候補として検出し、
前記顔候補に含まれる少なくとも1つの顔構成部品の候補を該顔構成部品毎に検出し、
前記顔構成部品毎に検出された前記顔構成部品候補の数および位置の少なくとも一方に基づいて、前記顔候補が真の顔であるか否かを判定するに際し、
所定の撮影の際に取得された所定撮影時画像から前記顔候補を検出するに際には、前記所定のしきい値を第1の値に設定し、該所定の撮影以降の撮影により取得された画像から前記顔候補を検出する際には、前記所定撮影時画像から検出された前記顔候補であって前記真の顔であると判定された顔候補のうち、前記マッチング度が最も低い顔候補を検出可能な第2の値を前記所定のしきい値に設定することを特徴とする撮影方法。
【請求項8】
連続した撮影により画像を連続して取得する手順と、
所定サイズの検出枠を前記画像上において移動させ、移動した位置毎に該検出枠内の前記画像から特徴量を算出し、該特徴量とあらかじめ定められた顔特徴量とのマッチング度を算出し、該マッチング度が所定のしきい値以上となったときに前記検出枠の位置の画像を顔候補として検出する手順と、
前記顔候補に含まれる少なくとも1つの顔構成部品の候補を該顔構成部品毎に検出する手順と、
前記顔構成部品毎に検出された前記顔構成部品候補の数および位置の少なくとも一方に基づいて、前記顔候補が真の顔であるか否かを判定する手順と、
所定の撮影の際に取得された所定撮影時画像から前記顔候補を検出するに際には、前記所定のしきい値を第1の値に設定し、該所定の撮影以降の撮影により取得された画像から前記顔候補を検出する際には、前記所定撮影時画像から検出された前記顔候補であって前記真の顔であると判定された顔候補のうち、前記マッチング度が最も低い顔候補を検出可能な第2の値を前記所定のしきい値に設定する手順とを有することを特徴とする撮影方法をコンピュータに実行させるためのプログラム。
【請求項1】
連続した撮影により画像を連続して取得する撮影手段と、
所定サイズの検出枠を前記画像上において移動させ、移動した位置毎に該検出枠内の前記画像から特徴量を算出し、該特徴量とあらかじめ定められた顔特徴量とのマッチング度を算出し、該マッチング度が所定のしきい値以上となったときに前記検出枠の位置の画像を顔候補として検出する顔検出手段と、
前記顔候補に含まれる少なくとも1つの顔構成部品の候補を該顔構成部品毎に検出する顔構成部品検出手段と、
前記顔構成部品毎に検出された前記顔構成部品候補の数および位置の少なくとも一方に基づいて、前記顔候補が真の顔であるか否かを判定する判定手段と、
所定の撮影の際に取得された所定撮影時画像から前記顔候補を検出するに際には、前記所定のしきい値を第1の値に設定し、該所定の撮影以降の撮影により取得された画像から前記顔候補を検出する際には、前記所定撮影時画像から検出された前記顔候補であって前記真の顔であると判定された顔候補のうち、前記マッチング度が最も低い顔候補を検出可能な第2の値を前記所定のしきい値に設定するしきい値設定手段とを備えたことを特徴とする撮影装置。
【請求項2】
前記所定の撮影は、最初の撮影であることを特徴とする請求項1記載の撮影装置。
【請求項3】
前記所定の撮影はあらかじめ定められた間隔での撮影であることを特徴とする請求項1または2記載の撮影装置。
【請求項4】
前記判定手段は、前記位置に基づいて前記顔候補が前記真の顔であるか否かを判定するに際し、前記顔候補の領域内における前記各顔構成部品候補の、対応する前記顔構成部品に対する位置的な尤度を算出し、該位置的な尤度に基づいて前記顔候補が前記真の顔であるか否かを判定する手段であることを特徴とする請求項1から3のいずれか1項記載の撮影装置。
【請求項5】
前記判定手段は、前記位置に基づいて前記顔候補が前記真の顔であるか否かを判定するに際し、前記顔候補の領域内における前記各顔構成部品候補の、対応する前記顔構成部品以外の他の顔構成部品に対する位置関係の尤度を算出し、該位置関係の尤度に基づいて前記顔候補が前記真の顔であるか否かを判定する手段であることを特徴とする請求項1から3のいずれか1項記載の撮影装置。
【請求項6】
前記判定手段は、前記位置に基づいて前記顔候補が前記真の顔であるか否かを判定するに際し、前記顔候補の領域内において前記各顔構成部品を正規化し、該正規化した前記各顔構成部品の位置に基づいて、前記顔候補が前記真の顔であるか否かを判定する手段であることを特徴とする請求項1から5のいずれか1項記載の撮影装置。
【請求項7】
連続した撮影により画像を連続して取得し、
所定サイズの検出枠を前記画像上において移動させ、移動した位置毎に該検出枠内の前記画像から特徴量を算出し、該特徴量とあらかじめ定められた顔特徴量とのマッチング度を算出し、該マッチング度が所定のしきい値以上となったときに前記検出枠の位置の画像を顔候補として検出し、
前記顔候補に含まれる少なくとも1つの顔構成部品の候補を該顔構成部品毎に検出し、
前記顔構成部品毎に検出された前記顔構成部品候補の数および位置の少なくとも一方に基づいて、前記顔候補が真の顔であるか否かを判定するに際し、
所定の撮影の際に取得された所定撮影時画像から前記顔候補を検出するに際には、前記所定のしきい値を第1の値に設定し、該所定の撮影以降の撮影により取得された画像から前記顔候補を検出する際には、前記所定撮影時画像から検出された前記顔候補であって前記真の顔であると判定された顔候補のうち、前記マッチング度が最も低い顔候補を検出可能な第2の値を前記所定のしきい値に設定することを特徴とする撮影方法。
【請求項8】
連続した撮影により画像を連続して取得する手順と、
所定サイズの検出枠を前記画像上において移動させ、移動した位置毎に該検出枠内の前記画像から特徴量を算出し、該特徴量とあらかじめ定められた顔特徴量とのマッチング度を算出し、該マッチング度が所定のしきい値以上となったときに前記検出枠の位置の画像を顔候補として検出する手順と、
前記顔候補に含まれる少なくとも1つの顔構成部品の候補を該顔構成部品毎に検出する手順と、
前記顔構成部品毎に検出された前記顔構成部品候補の数および位置の少なくとも一方に基づいて、前記顔候補が真の顔であるか否かを判定する手順と、
所定の撮影の際に取得された所定撮影時画像から前記顔候補を検出するに際には、前記所定のしきい値を第1の値に設定し、該所定の撮影以降の撮影により取得された画像から前記顔候補を検出する際には、前記所定撮影時画像から検出された前記顔候補であって前記真の顔であると判定された顔候補のうち、前記マッチング度が最も低い顔候補を検出可能な第2の値を前記所定のしきい値に設定する手順とを有することを特徴とする撮影方法をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2008−199146(P2008−199146A)
【公開日】平成20年8月28日(2008.8.28)
【国際特許分類】
【出願番号】特願2007−30076(P2007−30076)
【出願日】平成19年2月9日(2007.2.9)
【出願人】(306037311)富士フイルム株式会社 (25,513)
【復代理人】
【識別番号】100104189
【弁理士】
【氏名又は名称】福尾 勲将
【Fターム(参考)】
【公開日】平成20年8月28日(2008.8.28)
【国際特許分類】
【出願日】平成19年2月9日(2007.2.9)
【出願人】(306037311)富士フイルム株式会社 (25,513)
【復代理人】
【識別番号】100104189
【弁理士】
【氏名又は名称】福尾 勲将
【Fターム(参考)】
[ Back to top ]