(57)【要約】【課題】顔検出に関する装置の処理負担を軽減するとともに、顔検出処理の高速化を可能とする。【解決手段】顔検出時のモードとして、顔検出に際して画像の向きを基本の向きとする０度（横撮り）モードと、画像の向きを右に９０度回転させる＋９０度（縦撮り）モードと、画像の向きを左に回転する−９０度（縦撮り）モードとを設ける。０度（横撮り）モードで１人の顔も検出できなかった場合に限り、モードを＋９０度（縦撮り）モードに切り替え顔検出を行う。それでも１人の顔も検出できなかった場合に限り、モードを−９０度（縦撮り）モードに切り替え顔検出を行う。いずれかのモードで顔が検出できたときには（Ｓ４，Ｓ１０，Ｓ１４のいずれかがＹＥＳ）、そのモードで顔検出を繰り返す。同一画像に対する顔の探索回数を必要最小限とすることができる。【選択図】      図３
2008289007.tif 000002
【特許請求の範囲】
【請求項１】
画像から人物の顔部分に相当する顔領域を検出する顔検出手段と、
前記顔検出手段において顔領域が検出できた否かを確認する確認手段と、
この確認手段が前記顔検出手段おいて顔領域が検出できなかったことを確認したとき、前記顔検出手段による顔領域の検出動作時における画像の縦横方向の向きを、前記顔検出手段が検出すべき顔領域に対して相対的に変更する変更手段と
を備えたことを特徴とする顔検出装置。
【請求項２】
前記顔検出手段は、前記画像と人物の顔のパターンとの照合に基づき顔領域を検出し、
前記変更手段は、前記顔検出手段による顔領域の検出動作時における画像側の縦横方向の向きを変更する
ことを特徴とする請求項１記載の顔検出装置。
【請求項３】
前記顔検出手段は、前記画像と人物の顔のパターンとの照合に基づき顔領域を検出し、
前記変更手段は、前記顔検出手段による顔領域の検出動作時における前記パターン側の縦横方向の向きを変更する
ことを特徴とする請求項１記載の顔検出装置。
【請求項４】
前記変更手段は、前記確認手段が前記顔検出手段において顔領域が検出できなかったことを確認したとき、前記顔検出手段において顔領域が検出できなくなってから、その状態が所定期間継続していることを条件に、前記画像の縦横方向の向きを変更することを特徴とする請求項１又は２，３記載の顔検出装置。
【請求項５】
前記確認手段が前記顔検出手段において顔領域が検出できなかったことを確認したとき、前記変更手段が前記画像の縦横方向の向きを変更する場合の条件となる、前記顔検出手段において顔領域が検出できなくなってから、その状態が継続している期間を、前記変更手段により前記画像の縦横方向の向きが変更された場合における変更後の向きに応じて設定する条件設定手段をさらに備えたことを特徴とする請求項４記載の顔検出装置。
【請求項６】
前記条件変更手段は、前記変更手段により前記画像の縦横方向の向きが変更された場合における変更後の向きが前記顔検出手段が検出すべき顔領域の向きと一致する基準の向きである場合おける前記期間を、変更後の向きが前記顔検出手段が検出すべき顔領域の向きと一致しない向きである場合おける前記期間よりも短い期間に設定することを特徴とする請求項５記載の顔検出装置。
【請求項７】
前記顔検出手段による顔領域の検出対象となる探索領域を前記画像に設定する領域設定手段と、
この領域設定手段が画像に設定する探索領域を、前記顔検出手段による顔領域の検出動作時における画像の縦横方向の向きに応じて変更する領域変更手段と
をさらに備えたことを特徴とする請求項１乃至６いずれか記載の顔検出装置。
【請求項８】
画像から人物の顔部分に相当する顔領域を検出する顔検出方法において、
画像から人物の顔部分に相当する顔領域を検出する工程と、
前記顔領域が検出できた否かを確認する工程と、
顔領域が検出できなかったことを確認したとき、顔領域の検出動作時における画像の縦横方向の向きを、検出すべき顔領域に対して相対的に変更する工程と
を含むことを特徴とする顔検出方法。
【請求項９】
画像から人物の顔部分に相当する顔領域を検出する顔検出方法において、
画像から人物の顔部分に相当する顔領域を検出するための処理と、
前記顔領域が検出できた否かを確認する工程と、
顔領域が検出できなかったことを確認したとき、顔領域の検出動作時における画像の縦横方向の向きを、検出すべき顔領域に対して相対的に変更する処理と
を実行させることを特徴とする顔検出プログラム。
【請求項１０】
画像から人物の顔部分に相当する顔領域を検出する顔検出手段と、
この顔検出手段による顔領域の検出対象となる探索領域を前記画像に設定する領域設定手段と、
この領域設定手段が画像に設定する探索領域を、前記顔検出手段による顔領域の検出動作時に前記顔検出手段が検出すべき顔領域に対する相対的な画像の縦横方向の向きに応じて変更する領域変更手段と
を備えたことを特徴とする顔検出装置。
【請求項１１】
画像から人物の顔部分に相当する顔領域を検出する顔検出方法において、
前記画像に顔領域の検出対象となる探索領域を設定する工程と、
検出すべき顔領域に対する相対的な画像の縦横方向の向きを変更するとき、前記探索領域を、変更する画像の縦横方向の向きに応じて変更する工程と
を含むことを特徴とする顔検出方法。
【請求項１２】
画像から人物の顔部分に相当する顔領域を検出する顔検出装置が有するコンピュータに、
前記画像に顔領域の検出対象となる探索領域を設定する処理と、
検出すべき顔領域に対する相対的な画像の縦横方向の向きを変更するとき、前記探索領域を、変更する画像の縦横方向の向きに応じて変更する処理と
を実行させることを特徴とする顔検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像内における人物の顔を検出する顔検出機能を備えたデジタルカメラ等に用いて好適な顔検出装置、及び顔検出方法、顔検出プログラムに関するものである。
【背景技術】
【０００２】
従来、画像から人物の顔部分の領域（顔領域）を検出する方法として、例えば下記特許文献１には、複数の顔の形状をしたテンプレートを用意しておき、このテンプレートと画像とのマッチング度を計算し、マッチング度の最も高いテンプレートを選択し、最も高かったマッチング度が予め定めたしきい値以上であれば、選択されたテンプレート内の領域を顔領域として検出する顔検出方法が記載されている。また、顔検出に際しては、画像によっては、そこに存在する人物の顔の向きが、縦向きであったり、横向きであったり、というように必ずしも決まっていないため、画像を座標変換して向きを９０度ずつ回転させ、全ての向きについてテンプレートとのマッチング（照合）を行うことが記載されている。
【特許文献１】特開平８−６３５９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記の技術を例えばデジタルカメラに適用する場合には、顔検出の対象となる画像は、通常、カメラ本体を傾けずに撮影された一般的な横撮り画像と、カメラ本体を左右いずれかに回転して撮影された２種類の縦撮り画像との３種類のいずれかであるため、単純に考えると、同一画像に対して３回の顔検出処理を行うが必要がある。
【０００４】
そのため、デジタルカメラ等のように画像内で顔の向きが確定していない画像を対象として顔検出を行う装置においては、顔検出に伴う装置の処理負担が重く、かつ顔検出に時間がかかるという問題があった。
【０００５】
本発明は、かかる従来の課題に鑑みてなされたものであり、顔検出に係る装置の処理負担を軽減するとともに、顔検出処理の高速化を可能とする顔検出装置、顔検出方法と、それらを実現させる顔検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記課題を解決するため請求項１記載の発明に係る顔検出装置にあっては、画像から人物の顔部分に相当する顔領域を検出する顔検出手段と、前記顔検出手段において顔領域が検出できた否かを確認する確認手段と、この確認手段が前記顔検出手段おいて顔領域が検出できなかったことを確認したとき、前記顔検出手段による顔領域の検出動作時における画像の縦横方向の向きを、前記顔検出手段が検出すべき顔領域に対して相対的に変更する変更手段とを備えたことを特徴とする。
【０００７】
また、請求項２記載の発明に係る顔検出装置にあっては、前記顔検出手段は、前記画像と人物の顔のパターンとの照合に基づき顔領域を検出し、前記変更手段は、前記顔検出手段による顔領域の検出動作時における画像側の縦横方向の向きを変更することを特徴とする。
【０００８】
また、請求項３記載の発明に係る顔検出装置にあっては、前記顔検出手段は、前記画像と人物の顔のパターンとの照合に基づき顔領域を検出し、前記変更手段は、前記顔検出手段による顔領域の検出動作時における前記パターン側の縦横方向の向きを変更することを特徴とする。
【０００９】
また、請求項４記載の発明に係る顔検出装置にあっては、前記変更手段は、前記確認手段が前記顔検出手段において顔領域が検出できなかったことを確認したとき、前記顔検出手段において顔領域が検出できなくなってから、その状態が所定期間継続していることを条件に、前記画像の縦横方向の向きを変更することを特徴とする。
【００１０】
また、請求項５記載の発明に係る顔検出装置にあっては、前記確認手段が前記顔検出手段において顔領域が検出できなかったことを確認したとき、前記変更手段が前記画像の縦横方向の向きを変更する場合の条件となる、前記顔検出手段において顔領域が検出できなくなってから、その状態が継続している期間を、前記変更手段により前記画像の縦横方向の向きが変更された場合における変更後の向きに応じて設定する条件設定手段をさらに備えたことを特徴とする。
【００１１】
また、請求項６記載の発明に係る顔検出装置にあっては、前記条件変更手段は、前記変更手段により前記画像の縦横方向の向きが変更された場合における変更後の向きが前記顔検出手段が検出すべき顔領域の向きと一致する基準の向きである場合おける前記期間を、変更後の向きが前記顔検出手段が検出すべき顔領域の向きと一致しない向きである場合おける前記期間よりも短い期間に設定することを特徴とする。
【００１２】
また、請求項７記載の発明に係る顔検出装置にあっては、前記顔検出手段による顔領域の検出対象となる探索領域を前記画像に設定する領域設定手段と、この領域設定手段が画像に設定する探索領域を、前記顔検出手段による顔領域の検出動作時における画像の縦横方向の向きに応じて変更する領域変更手段とをさらに備えたことを特徴とする。
【００１３】
また、請求項８記載の発明に係る顔検出方法にあっては、画像から人物の顔部分に相当する顔領域を検出する顔検出方法において、画像から人物の顔部分に相当する顔領域を検出する工程と、前記顔領域が検出できた否かを確認する工程と、顔領域が検出できなかったことを確認したとき、顔領域の検出動作時における画像の縦横方向の向きを、検出すべき顔領域に対して相対的に変更する工程とを含むことを特徴とする。
【００１４】
また、請求項９記載の発明に係る顔検出プログラムにあっては、画像から人物の顔部分に相当する顔領域を検出する顔検出方法において、画像から人物の顔部分に相当する顔領域を検出するための処理と、前記顔領域が検出できた否かを確認する工程と、顔領域が検出できなかったことを確認したとき、顔領域の検出動作時における画像の縦横方向の向きを、検出すべき顔領域に対して相対的に変更する処理とを実行させることを特徴とする。
【００１５】
また、請求項１０記載の発明に係る顔検出装置にあっては、画像から人物の顔部分に相当する顔領域を検出する顔検出手段と、この顔検出手段による顔領域の検出対象となる探索領域を前記画像に設定する領域設定手段と、この領域設定手段が画像に設定する探索領域を、前記顔検出手段による顔領域の検出動作時に前記顔検出手段が検出すべき顔領域に対する相対的な画像の縦横方向の向きに応じて変更する領域変更手段とを備えたことを特徴とする。
【００１６】
また、請求項１１記載の発明に係る顔検出方法にあっては、画像から人物の顔部分に相当する顔領域を検出する顔検出方法において、前記画像に顔領域の検出対象となる探索領域を設定する工程と、検出すべき顔領域に対する相対的な画像の縦横方向の向きを変更するとき、前記探索領域を、変更する画像の縦横方向の向きに応じて変更する工程とを含むことを特徴とする。
【００１７】
また、請求項１２記載の発明に係る顔検出プログラムにあっては、画像から人物の顔部分に相当する顔領域を検出する顔検出装置が有するコンピュータに、前記画像に顔領域の検出対象となる探索領域を設定する処理と、検出すべき顔領域に対する相対的な画像の縦横方向の向きを変更するとき、前記探索領域を、変更する画像の縦横方向の向きに応じて変更する処理とを実行させることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、顔検出に係る装置の処理負担を軽減するとともに、顔検出処理の高速化が可能となる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の一実施の形態を図にしたがって説明する。図１は、本発明に係る顔検出装置であるデジタルカメラの概略構成を示すブロック図である。このデジタルカメラはＡＥ（自動露出）、ＡＦ（オートフォーカス）、顔検出の各機能を備えたものであって、主として以下の各部から構成されている。
【００２０】
すなわちデジタルカメラは、光学系１により結像された被写体の光学像を光電変換し撮像信号として出力する撮像手段としてＣＣＤ２を有している。ＣＣＤ２は、タイミングジェネレータ（ＴＧ）３により生成されるタイミング信号に基づきＣＣＤ駆動回路４によって生成される駆動信号により駆動される。ＣＣＤ２の出力信号はＡ／Ｄ変換器５でデジタル信号に変換された後、画像処理部６へ送られる。
【００２１】
前記光学系１には、フォーカスレンズ及びそれを光軸上で移動させるためのレンズモータが含まれ、レンズモータが制御部７の指令に従いレンズ駆動回路８により生成される駆動信号によって駆動されることによりフォーカスレンズが光軸上での位置を制御される。
【００２２】
前記画像処理部６は、Ａ／Ｄ変換後の撮像信号に対して、画素毎のＲ，Ｇ，Ｂの色成分データ（ＲＧＢデータ）を生成するＲＧＢ補間処理、ＲＧＢデータから輝度信号（Ｙ）と色差信号（Ｕ、Ｖ）からなるＹＵＶデータを画素毎に生成するＹＵＶ変換処理、さらにオートホワイトバランスや輪郭強調などの画品質向上のためのデジタル信号処理を行う。画像処理部６で変換されたＹＵＶデータは順次ＳＤＲＡＭ９に格納される。
【００２３】
また、デジタルカメラは、液晶モニタ及びその駆動回路から構成される表示部１０を有している。撮影用の記録モードが設定されているときＳＤＲＡＭ９に格納されたＹＵＶデータは、ＳＤＲＡＭ９において１フレーム分が蓄積される毎に画像処理部６においてビデオ信号に変換された後、表示部１０（液晶モニタ）においてスルー画像として画面表示される。そして、記録モードにおける撮影時には、ＳＤＲＡＭ９に一時記憶された画像データがＪＰＥＧ変換部１１においてＪＰＥＧ方式により圧縮符号化された後、外部メモリＩ／Ｆ１２を介して、例えば各種のメモリカードにより構成される外部メモリ１３（記録媒体）に静止画ファイルとして記録される。
【００２４】
上記外部メモリ１３に記録された静止画ファイルは、再生モードにおいてユーザーの選択操作に応じて適宜読み出されるとともに、ＪＰＥＧ変換部１１において伸張されＹＵＶデータとしてＳＤＲＡＭ９に展開された後、表示部１０において静止画像として表示される。
【００２５】
キー入力ブロック１４は、電源キーや、デジタルカメラの基本の動作モードである前記記録モードと再生モードとの切り替えを行うモード切替キー、ＭＥＮＵキー、シャッターキー等の複数キーを含み、各キーの操作状態を制御部７により随時スキャンされる。
【００２６】
顔認識処理部１５は、画像処理部６によって生成された１フレーム分の画像データ（以下、フレーム画像という。）において、予め用意（記憶）されている人物の顔に関する輪郭や色等のモデルパターンと特徴が近い顔部分を検出する顔検出を行い、検出した顔部分に対応する領域（以下、顔領域という。）の座標情報を取得し、それを制御部７へ送る。すなわち顔認識処理部１５は本発明の顔検出手段であって、より具体的には、上記フレーム画像を一時記憶するフレームメモリと、顔検出動作に必要な各種の画像処理を行うための画像処理回路、顔検出動作に際して使用するパラメータを記憶する複数のレジスタ等から構成されている。
【００２７】
制御部７は、ＣＰＵ及びその周辺回路等とから構成され、デジタルカメラの各部の制御、及び撮像信号に含まれる輝度情報に基づいたＡＥ制御や、コントラスト検出方式によるＡＦ制御、顔検出制御等を行う。それらの制御を制御部７に行わせるための各種のプログラムや、各々の制御に必要な各種データは、記憶データの書き換えが可能な不揮発性メモリであるフラッシュメモリ１６に記憶されている。  
【００２８】
また、フラッシュメモリ１６には、制御部７を本発明の変更手段、条件設定手段、条件変更手段、領域設定手段、領域変更手段として機能させるための顔検出制御プログラムが記憶されている。なお、フラッシュメモリ１６には、ユーザーにより設定されたデジタルカメラの各種の機能に関する設定情報等も記憶されている。
【００２９】
次に、以上の構成からなるデジタルカメラの顔検出に関する動作について説明する。まず、基本的な動作、及び概略について説明する。前記デジタルカメラにおいては、記録モードにおける撮影待機状態において顔検出機能がオンに設定されているとき、制御部７が所定のフレームレートによる撮像動作で取得したフレーム画像（被写体の画像データ）を対象として顔認識処理部１５に顔検出動作を行わせる。顔認識処理部１５における顔検出動作では、各フレーム画像について、検出すべき顔のサイズ（前述したモデルパターンのサイズ）を小さなサイズから徐々に大きなサイズへ変化させながら画像内における顔が探索され、探索された顔部分に対応する領域（顔領域）の座標情報が検出結果として制御部７へ送られる。
【００３０】
制御部７は、顔認識処理部１５から送られる顔領域の座標情報に基づき、顔領域を示す顔検出枠をスルー画像上に逐次重畳して表示する。なお、上記顔検出枠Ａの表示は、制御部７がＳＤＲＡＭ９に格納されたスルー画像用のＹＵＶデータに顔検出枠ＡのＯＳＤ（On Screen Display）データを合成することにより行われる。また、検出された顔領域は、例えば制御部７によってＡＥ制御が行われるときの測光領域として使用されたり、ＡＦ制御が行われるときのコントラスト値の取得領域（ＡＦ評価領域）として使用されたりする。
【００３１】
なお、顔認識処理部１５による顔検出動作はフレームレートとは非同期であり、各サイズの顔についての顔検出動作、つまり１サイクルの顔検出動作が完了する毎に、その直後に取得した新たなフレーム画像を制御部７が顔認識処理部１５へ送ることにより随時行われる。
【００３２】
また、本実施形態のデジタルカメラには、顔検出時における動作モードとして０度（横撮り）モード、＋９０度（縦撮り）モード、−９０度（縦撮り）モードの３種類の顔検出モードが設けられている。係る顔検出モードは、ユーザーが設定可能な動作モードではなく、内部的に適宜設定される動作モードである。図２は、上記各モードの説明図である。
【００３３】
すなわち、同図（ａ）に示したように、０度（横撮り）モードは、顔認識処理部１５に、フレーム画像１００の縦横方向の向き（図で矢印）を通常の基本状態、つまりモデルパターンＭの向き（検出すべき顔領域の向き）を一致させた状態で顔検出を行わせるモードである。また、同図（ｂ）に示したように、＋９０度（縦撮り）モードは、顔認識処理部１５に、フレーム画像１００を座標変換により＋９０度回転させた状態で顔検出を行わせるモードであり、同図（ｃ）に示したように、−９０度（縦撮り）モードは、顔認識処理部１５に、フレーム画像１００を座標変換により−９０度回転させた状態で顔検出を行わせるモードである。
【００３４】
また、前記デジタルカメラにおいては、顔認識処理部１５に顔検出動作を行わせる際、フレーム画像１００に予め決められている探索領域を設定し、その探索領域を対象として顔の探索を行わせる。探索領域１０１は、顔検出モード毎にフレーム画像１００内での位置が異なるとともに、図２に示したように顔検索時の状態においては、フレーム画像１００の回転の有無に関係なく、いずれのモードにおいてもフレーム画像１００における上辺側の非探索領域１０２と下辺側の非探索領域１０３を除く領域である。また、本実施形態では、人物撮影で採用される一般的な構図を想定して探索領域１０１が決められており、非探索領域１０２，１０３の幅が、高さを１００％としたとき上辺側が１０％となる幅、下辺側が２０％となる幅になっている。
【００３５】
次に、デジタルカメラの顔検出に関する具体的な動作内容を説明する。図３及び図４は、前記制御部７の顔検出に関する処理内容を示したフローチャートである。図３に示したように、制御部７は、記録モードにおいて顔検出機能がオンに設定されるか、または顔検出機能がオンに設定されている状態で記録モードが設定されることにより動作を開始し、まず顔検出モードを前述した０度（横撮り）モードに設定する（ステップＳ１）。具体的には顔認識処理部１５の前記レジスタに、０度（横撮り）モードでの顔検出動作に必要なパラメータ、例えば探索領域を示す座標情報等を設定する。そして、試行カウンタのカウント値を０にリセットした後（ステップＳ２）、顔認識処理部１５に、図２（ａ）に示した探索領域１０１を対象とする顔検出動作を行わせる（ステップＳ３）。
【００３６】
その後、制御部７は、顔認識処理部１５において１サイクルの顔検出動作が完了する毎に検出結果を確認し、１人以上の顔が検出できていれば（ステップＳ４でＹＥＳ）、ステップＳ２へ戻り、試行カウンタをリセットしてから、そのまま顔認識処理部１５に０度（横撮り）モードによる顔検出動作を継続させる。図５は、顔検出時におけるフレーム画像１００、及びその変化を例示する図であって、図においてフレーム画像１００の向き（回転状態）は、図２と同様モデルパターンＭの向きを基準とした向きである。また、同図（ａ）は、上記のように０度（横撮り）モードで２人以上の顔が検出できているときの例であり、太枠部分が検出された顔領域である。
【００３７】
また、上述した顔検出を繰り返す間、１人の顔も検出できなくなったときには（ステップＳ４でＮＯ）、制御部７は内部メモリに確保している試行カウンタのカウント値をその都度インクリメントするとともに（ステップＳ５）、試行カウンタのカウント値が"２０"になるまでの間（ステップＳ６でＮＯ）、顔認識処理部１５に０度（横撮り）モードでの顔検出動作を継続して行わせる（ステップＳ３）。なお、その間のいずれかのタイミングのフレーム画像１００において顔が検出できたときには、その時点でステップＳ２へ戻り、試行カウンタをリセットしてから、０度（横撮り）モードでの顔検出動作を継続して行わせる（ステップＳ３）。
【００３８】
また、試行カウンタのカウント値が"２０"以上になったら、つまり一定期間（ここでは、顔認識処理部１５が顔検出動作を２０回行う時間）、継続して顔が検出できなければ（ステップＳ６でＹＥＳ）、顔検出モードを前述した＋９０度（縦撮り）モードに変更する（ステップＳ７）。すなわち顔認識処理部１５の前記レジスタに、＋９０度（縦撮り）モードでの顔検出動作に必要なパラメータを設定する。しかる後、最新のフレーム画像を＋９０度回転させて顔認識処理部１５へ送り（ステップＳ８）、顔認識処理部１５に、図２（ｂ）に示した探索領域１０１を対象とする顔検出動作を行わせる（ステップＳ９）。
【００３９】
また、＋９０度（縦撮り）モードに変更しても、１人の顔も検出できなかったときには（ステップＳ１０でＮＯ）、その時点で、直ちに顔検出モードを前述した−９０度（縦撮り）モードに変更する（ステップＳ１１）。すなわち顔認識処理部１５の前記レジスタに、−９０度（縦撮り）モードでの顔検出動作に必要なパラメータを設定する。しかる後、最新のフレーム画像を−９０度回転させて顔認識処理部１５へ送り（ステップＳ１２）、顔認識処理部１５に、図２（ｃ）に示した探索領域１０１を対象とする顔検出動作を行わせる（ステップＳ１３）。
【００４０】
さらに、−９０度（縦撮り）モードに変更しても、１人の顔も検出できなかったときには（ステップＳ１４でＮＯ）、直ちにステップＳ１へ戻って、前述したように再び０度（横撮り）モードから、＋９０度（縦撮り）モード、−９０度（縦撮り）モードの順に顔検出モードを変更しながら、各モードによって顔検出を試行する。
【００４１】
一方、その間に、＋９０度（縦撮り）モードにおいて顔が検出できたときには（ステップＳ１０でＹＥＳ）、図４のステップＳ１５へ進み、また、−９０度（縦撮り）モードにおいて顔が検出できたときには（ステップＳ１４でＹＥＳ）、図４のステップＳ２９へ進み、引き続き以下の処理を行う。
【００４２】
すなわち、いったん＋９０度（縦撮り）モードにおいて顔が検出できたら、その時点で直ちに試行カウンタのカウント値を０にリセットした後（ステップＳ１５）、最新のフレーム画像を＋９０度回転させて顔認識処理部１５へ送り（ステップＳ１６）、顔認識処理部１５に、引き続き図２（ｂ）に示した探索領域１０１を対象とする顔検出動作を行わせる（ステップＳ１７）。
【００４３】
その後は、顔認識処理部１５において１サイクルの顔検出動作が完了する毎に検出結果を確認し、１人以上の顔が検出できていれば（ステップＳ１８でＹＥＳ）、ステップＳ１５へ戻り、そのまま顔認識処理部１５に＋９０度（縦撮り）モードによる顔検出動作を継続させる。
【００４４】
また、顔検出を繰り返す間、１人の顔も検出できなくなったとき（ステップＳ１８でＮＯ）、制御部７は内部メモリに確保している試行カウンタのカウント値をその都度インクリメントするとともに（ステップＳ１９）、試行カウンタのカウント値が"５"になるまでの間は（ステップＳ２０でＮＯ）、顔認識処理部１５に＋９０度（縦撮り）モードでの顔検出動作を継続して行わせる（ステップＳ１６，Ｓ１７）。なお、その間のいずれかのタイミングのフレーム画像１００において顔が検出できたときには、その時点でステップＳ１５へ戻り、試行カウンタをリセットしてから、＋９０度（縦撮り）モードでの顔検出動作を継続して行わせる（ステップＳ１６，Ｓ１７）。
【００４５】
また、試行カウンタのカウント値が"５"以上になったら、つまり一定期間（ここでは、顔認識処理部１５が顔検出動作を５回行う時間）、継続して顔が検出できなければ（ステップＳ２０でＹＥＳ）、顔検出モードを０度（縦撮り）モードに変更する（ステップＳ２１）。しかる後、顔認識処理部１５に、図２（ａ）に示した探索領域１０１を対象とする顔検出動作を行わせる（ステップＳ２２）。
【００４６】
また、０度（横撮り）モードに変更しても、１人の顔も検出できなかったときには（ステップＳ２３でＮＯ）、その時点で、直ちに顔検出モードを−９０度（縦撮り）モードに変更する（ステップＳ２４）。しかる後、最新のフレーム画像を−９０度回転させて顔認識処理部１５へ送り（ステップＳ２５）、顔認識処理部１５に、図２（ｃ）に示した探索領域１０１を対象とする顔検出動作を行わせる（ステップＳ２６）。
【００４７】
さらに、−９０度（縦撮り）モードに変更しても、１人の顔も検出できなかったときには（ステップＳ２７でＮＯ）、顔検出モードを＋９０度（縦撮り）モードに変更した後（ステップＳ２８）、ステップＳ１６へ戻って、前述したように再び＋９０度（縦撮り）モードから、０度（横撮り）モード、−９０度（縦撮り）モードの順に顔検出モードを変更しながら、各モードによって顔検出を試行する。その間に、０度（横撮り）モードにおいて顔が検出できたときには（ステップＳ２３でＹＥＳ）、前述したステップＳ２へ戻り、試行カウンタをリセットしてから、そのまま顔認識処理部１５に０度（横撮り）モードによる顔検出動作を継続させる。
【００４８】
また、−９０度（縦撮り）モードにおいて顔が検出できたときには（ステップＳ２７でＹＥＳ）、前述したステップＳ１４の判別結果がＹＥＳであったときと同様、図４のステップＳ２９へ進み、その時点で直ちに試行カウンタのカウント値を０にリセットする。その後、最新のフレーム画像を−９０度回転させて顔認識処理部１５へ送り（ステップＳ３０）、顔認識処理部１５に、引き続き図２（ｃ）に示した探索領域１０１を対象とする顔検出動作を行わせる（ステップＳ３１）。
【００４９】
その後は、顔認識処理部１５において１サイクルの顔検出動作が完了する毎に検出結果を確認し、１人以上の顔が検出できていれば（ステップＳ３２でＹＥＳ）、ステップＳ２９へ戻り、そのまま顔認識処理部１５に−９０度（縦撮り）モードによる顔検出動作を継続させる。
【００５０】
また、顔検出を繰り返す間、１人の顔も検出できなくなったとき（ステップＳ３２でＮＯ）、制御部７は内部メモリに確保している試行カウンタのカウント値をその都度インクリメントするとともに（ステップＳ３３）、試行カウンタのカウント値が"５"になるまでの間は（ステップＳ３４でＮＯ）、顔認識処理部１５に−９０度（縦撮り）モードでの顔検出動作を継続して行わせる（ステップＳ３０，Ｓ３１）。なお、その間のいずれかのタイミングのフレーム画像１００において顔が検出できたときには、その時点でステップＳ２８へ戻り、試行カウンタをリセットしてから、−９０度（縦撮り）モードでの顔検出動作を継続して行わせる（ステップＳ３０，Ｓ３１）。
【００５１】
また、試行カウンタのカウント値が"５"以上になったら、つまり一定期間（ここでも、顔認識処理部１５が顔検出動作を５回行う時間）、継続して顔が検出できなければ（ステップＳ３４でＹＥＳ）、顔検出モードを０度（縦撮り）モードに変更する（ステップＳ３５）。しかる後、顔認識処理部１５に、図２（ａ）に示した探索領域１０１を対象とする顔検出動作を行わせる（ステップＳ３６）。
【００５２】
また、０度（横撮り）モードに変更しても、１人の顔も検出できなかったときには（ステップＳ３７でＮＯ）、その時点で、直ちに顔検出モードを＋９０度（縦撮り）モードに変更する（ステップＳ３８）。しかる後、最新のフレーム画像を＋９０度回転させて顔認識処理部１５へ送り（ステップＳ３９）、顔認識処理部１５に、図２（ｂ）に示した探索領域１０１を対象とする顔検出動作を行わせる（ステップＳ４０）。
【００５３】
さらに、＋９０度（縦撮り）モードに変更しても、１人の顔も検出できなかったときには（ステップＳ４１でＮＯ）、顔検出モードを−９０度（縦撮り）モードに変更した後（ステップＳ４２）、ステップＳ２９へ戻って、前述したように再び−９０度（縦撮り）モードから、０度（横撮り）モード、＋９０度（縦撮り）モードの順に顔検出モードを変更しながら、各モードによって顔検出を試行する。
【００５４】
その間、０度（横撮り）モードにおいて顔が検出できたときには（ステップＳ３７でＹＥＳ）、前述したステップＳ２へ戻り、試行カウンタをリセットしてから、そのまま顔認識処理部１５に０度（横撮り）モードによる顔検出動作を継続させる。また、＋９０度（縦撮り）モードにおいて顔が検出できたときには（ステップＳ４１でＹＥＳ）、前述したステップＳ１５へ戻り、試行カウンタをリセットしてから、そのまま顔認識処理部１５に＋９０度（縦撮り）モードによる顔検出動作を継続させる。
【００５５】
そして、これ以後については上述した処理を繰り返す。その間における処理に際しては図５（ａ）に示したフレーム画像１００の向きは、被写体の変化に伴い、例えば同図の（ｂ）〜（ｆ）のように変化する。
【００５６】
以上のように本実施形態のデジタルカメラにおいては、フレーム画像から顔領域が１つも検出できなかった場合に限り、顔検出モードの種類を切り替える、すなわちフレーム画像から顔領域を検出する際におけるフレーム画像の向きを、その時点とは異なる向き（０度、＋９０度、−９０度のいずれかの向き）に変更することによって、同一のフレーム画像に対する顔領域の探索回数を必要最小限とすることができる。よって、顔検出に係る装置の処理負担を軽減するとともに、顔検出処理の高速化が可能となる。
【００５７】
なお、本実施形態においては、＋９０度（縦撮り）モードと、−９０度（縦撮り）モードでの顔検出に際してフレーム画像の向きを＋９０度、又は−９０度の向きに回転させて顔認識処理部１５に入力するようにしたが、これとは別に、顔認識処理部１５に入力するフレーム画像を回転させずに、顔検出に使用するモデルパターンＭ側を回転させるようにしてもよい。
【００５８】
また、本実施形態では、フレーム画像が任意の向きにあるとき顔領域がいったん検出でき、その後、検出できなくなったときには、フレーム画像の向きを直ちに変更させるのではなく、顔領域が検出できない状態が所定期間継続していたことを条件として、フレーム画像の向きを変更するようにした。そのため、例えばフレーム内の顔に当たっている光の変化等によって瞬間的に顔領域が検出できなくなった場合に、フレーム画像の向きが不必要に変更されることがない。よって、フレーム画像の向きを無駄に変更することを未然に防止することができき、これによっても処理負担を軽減するとともに、顔検出処理の高速化が可能となる。
【００５９】
しかも、向きを変更するときの条件となる上記所定期間、つまり顔領域が検出できなくなってから、その状態が継続している期間を、フレーム画像の向きを０度の向きから、＋９０度または−９０度の向きに変更する場合よりも、＋９０度または−９０度の向きから０度の向きに変更する場合の方を短くした。よって、縦横方向の向きがモデルパターンの縦横方向の向きと一致する０度の向き、つまり一般的な撮影時で多用される向きのフレーム画像に対する顔検出を直ちに開始することができる。
【００６０】
なお、本実施形態では、顔領域が検出できなくなってから、その状態が継続している期間を、顔領域が検出できなった回数、つまり顔認識処理部１５が顔検出動作を２０回、又は５回行う時間としたが、上記期間は顔領域が検出できなくなってからの実際の経過時間を本発明の所定期間としてもよい。
【００６１】
さらに、前述したように、フレーム画像の向きを変更する場合には、変更後の向きに応じてフレーム画像に設定する探索領域１０１も変更するようにした。よって、フレーム画像の向きに関係なく、常に効率的に顔領域の検出処理を行うことができ、これによっても処理負担を軽減するとともに、顔検出処理の高速化が可能となる。
【００６２】
なお、フレーム画像の向きに応じて探索領域１０１を変更する処理については、例えば、ユーザーが設定可能な顔検出モードとして、フレーム内の全域についての顔領域を詳細に検出することよりも、顔領域の検出処理速度を優先するスピード優先モードが設けられている場合には、そのスピード優先モードが設定されているときにだけ行うようにしてもよい。
【００６３】
また、本実施形態では、フレーム画像に対して顔検出を行い顔領域の座標情報を取得する顔認識処理部１５を備えたデジタルカメラについて説明したが、これに限らず本発明は、例えば顔認識処理部１５を有することなく、制御部７がフレーム画像に対して顔検出を行い顔領域の座標情報を取得する処理を行うような構成のデジタルカメラにも適用可能である。また、本発明は、デジタルカメラに限らず、顔検出機能を有するものであれば、携帯電話端末等の他の情報機器に内蔵されたデジタルカメラや、デジタルビデオカメラ等の他の撮像装置、さらには顔検出機能を備えた画像処理装置等の他の装置にも適用可能である。
【図面の簡単な説明】
【００６４】
【図１】本発明に係るデジタルカメラのブロック図である。
【図２】顔検出モードの説明図である。
【図３】顔検出に関する制御部の処理内容を示すフローチャートである。
【図４】図３に続くフローチャートである。
【図５】顔検出時におけるフレーム画像１００の向きの変化を例示する図である。
【符号の説明】
【００６５】
２    ＣＣＤ
６    画像処理部
７    制御部
９    ＳＤＲＡＭ
１０    表示部
１３    外部メモリ
１４    キー入力ブロック
１５    顔認識処理部
１６    フラッシュメモリ
１００    フレーム画像
１０１    探索領域
１０２    非探索領域
１０３    非探索領域
Ｍ    モデルパターン
【図１】
2008289007.tif 000003
【図２】
2008289007.tif 000004
【図３】
2008289007.tif 000005
【図４】
2008289007.tif 000006
【図５】
2008289007.tif 000007