(57)【要約】【課題】処理の負荷を増大させることなく、連続する画像中に出現する顔を安定して追尾することができる追尾装置および追尾方法を提供すること。【解決手段】デジタルカメラ１は、連続する画像を順次処理して画像中の複数の顔を検出する顔検出部１７と、隣接する画像間で、動き検出エリアとして選択された顔エリアの動きを検出する動き検出部１５とを備える。そして、デジタルカメラ１は、顔検出部１７による顔検出結果をもとに、検出された各顔の優先度を採点する優先度採点部２９３と、優先度採点部２９３によって採点された各顔の優先度をもとに、次のフレームとの間で行う動き検出において動き検出エリアとする顔エリアを選択する顔エリア選択部１８とを備える。【選択図】図８
2010183291.tif 000002
【特許請求の範囲】
【請求項１】
連続する画像中に出現した顔を追尾する追尾装置であって、
前記連続する画像を順次処理して前記画像中の複数の顔を検出する顔検出部と、
前記顔検出部によって検出された各顔を含む顔領域をそれぞれの顔に対して設定する顔領域設定部と、
前記顔検出部による顔検出結果をもとに、前記検出された各顔の検出難易度を評価する難易度評価部と、
前記各顔を含む顔領域の中から、前記各顔の検出難易度が所定条件を満たす顔領域を選択する顔領域選択部と、
前記顔領域選択部による選択結果をもとに、前記各顔を含む顔領域それぞれに対して動き検出をする対象領域とするか否かを切り換えて設定する動き検出対象設定部と、
隣接する画像間で、前記動き検出対象設定部によって設定された対象領域の動きを検出する動き検出部と、
を備えることを特徴とする追尾装置。
【請求項２】
前記顔領域選択部は、前記検出難易度が高い所定数の顔を含む顔領域を選択し、
前記動き検出対象設定部は、前記顔領域選択部によって選択された所定数の顔を含む顔領域を前記対象領域として設定することを特徴とする請求項１に記載の追尾装置。
【請求項３】
前記顔領域選択部は、前記検出難易度が低い所定数の顔を含む顔領域を選択し、
前記動き検出対象設定部は、前記顔領域選択部によって選択された所定数の顔を含む顔領域を前記対象領域として設定しないことを特徴とする請求項１に記載の追尾装置。
【請求項４】
前記顔検出部は、少なくとも顔の大きさ、顔の位置、顔の向きおよび顔の傾きのいずれか１つを前記顔検出結果として出力し、
前記難易度評価部は、前記顔検出部によって検出された各顔の顔検出結果をもとに、少なくとも顔の大きさ、顔の位置、顔の向き、顔の傾き、顔の向き変化、顔の傾き変化、顔の移動速度および顔の移動方向のうちの１つまたは複数を評価パラメータとして前記各顔の検出難易度を評価することを特徴とする請求項１に記載の追尾装置。
【請求項５】
前記難易度評価部は、前記検出された各顔が他の顔と重なる可能性を推定し、推定結果を前記評価パラメータとして前記各顔の検出難易度を評価することを特徴とする請求項４に記載の追尾装置。
【請求項６】
前記難易度評価部は、前記各顔の顔検出結果から顔の移動速度および／または顔の移動方向を判定し、判定結果をもとに前記各顔が他の顔と重なる可能性を推定することを特徴とする請求項５に記載の追尾装置。
【請求項７】
前記難易度評価部は、前記評価パラメータ毎に予め設定される重み係数を用いて前記評価パラメータを重み付けする重み付け部を有し、該重み付け部によって重み付けされた前記評価パラメータをもとに前記各顔の検出難易度を評価することを特徴とする請求項４に記載の追尾装置。
【請求項８】
前記顔検出部によって検出された各顔を含む顔領域と、前記動き検出部によって検出された前記対象領域の動きとをもとに、前記画像中の顔領域を確定する顔領域確定部を備えることを特徴とする請求項１に記載の追尾装置。
【請求項９】
前記連続する画像を切り換えて表示部に表示処理する表示処理部を備え、該表示処理部は、前記確定された前記画像中の顔領域に従って、前記画像中の顔を示す顔枠を表示することを特徴とする請求項８に記載の追尾装置。
【請求項１０】
フレーム毎に被写体を撮像して前記連続する画像を順次生成する撮像部と、
撮影指示を行う撮影指示部と、
前記確定された前記画像中の顔領域の顔について前記顔検出部が検出した最新の顔検出結果を用い、前記撮像部の撮像条件を設定する撮像条件設定部と、
を備えることを特徴とする請求項８に記載の追尾装置。
【請求項１１】
連続する画像中に出現した顔を追尾する追尾方法であって、
前記連続する画像を順次処理して前記画像中の複数の顔を検出する顔検出工程と、
前記顔検出工程で検出された各顔を含む顔領域をそれぞれの顔に対して設定する顔領域設定工程と、
前記顔検出工程での顔検出結果をもとに、前記検出された各顔の検出難易度を評価する難易度評価工程と、
前記各顔を含む顔領域の中から、前記各顔の検出難易度が所定条件を満たす顔領域を選択する顔領域選択工程と、
前記顔領域選択工程での選択結果をもとに、前記各顔を含む顔領域それぞれに対して動き検出をする対象領域とするか否かを切り換えて設定する動き検出対象設定工程と、
隣接する画像間で、前記動き検出対象設定工程で設定された対象領域の動きを検出する動き検出部と、
を含むことを特徴とする追尾方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連続する画像を順次処理して各画像中に出現した顔を追尾する追尾装置および追尾方法に関するものである。
【背景技術】
【０００２】
従来から、画像中に映る人物等の顔を検出する顔検出技術が知られている。かかる技術は、例えばテンプレートマッチング法によって画像中の顔の位置を検出し、目や鼻、口等の顔の特徴点の位置を検出するものであり、顔の大きさや向き等を検出することができる。例えばデジタルカメラ等の撮像装置では、撮像素子に結像されている被写体像をリアルタイムに表示（ライブビュー）させて電子ファインダーとして用いているが、近年では、顔検出技術を適用してライブビュー画像中の顔を検出し、検出した顔を示す顔枠を表示するようにしたものが知られている。また、この顔検出の結果は、露出やフォーカスの制御にも利用されている。例えば特許文献１には、顔検出（顔認識）の結果をもとに焦点検出を行う技術が開示されている。
【０００３】
一方で、連続する画像間でパタンマッチングを行い、その移動量を算出することによって画像間の動きを検出する動き検出技術が知られている。
【０００４】
【特許文献１】特開２００６−２２７０８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の顔検出技術では、例えば顔が横や後ろを向いていると検出精度が低下する場合があった。このため、例えば顔の向きが変化すると顔検出の結果が不安定になる場合があり、顔検出結果に従ってライブビュー画像上に前述の顔枠を表示させると、顔枠の表示・非表示が繰り返されてちらつく等して見難い場合があった。
【０００６】
これに対し、顔検出によって検出された顔について動き検出を行うようにすれば、顔の向き等が大きく変化して顔検出に失敗した場合であっても、その顔の動きを検出することができるので、顔を見失わずに追尾できる。しかしながら、画像中から複数の顔が検出された場合、全ての顔を対象として動き検出を行うと、処理負荷が増大するという問題があった。この問題は、デジタルカメラ等の処理能力に制限がある装置に適用する場合に特に問題であった。また、顔の検出や動き検出に時間を要してしまうと、動きのあるシーンにおいて検出不能に陥ったり、撮影チャンスを逃す問題が生じ、安定した顔の追尾を行うことができなかった。
【０００７】
本発明は、上記に鑑みてなされたものであって、処理の負荷を増大させることなく、連続する画像中に出現する顔を安定して追尾することができる追尾装置および追尾方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、本発明にかかる追尾装置は、連続する画像中に出現した顔を追尾する追尾装置であって、前記連続する画像を順次処理して前記画像中の複数の顔を検出する顔検出部と、前記顔検出部によって検出された各顔を含む顔領域をそれぞれの顔に対して設定する顔領域設定部と、前記顔検出部による顔検出結果をもとに、前記検出された各顔の検出難易度を評価する難易度評価部と、前記各顔を含む顔領域の中から、前記各顔の検出難易度が所定条件を満たす顔領域を選択する顔領域選択部と、前記顔領域選択部による選択結果をもとに、前記各顔を含む顔領域それぞれに対して動き検出をする対象領域とするか否かを切り換えて設定する動き検出対象設定部と、隣接する画像間で、前記動き検出対象設定部によって設定された対象領域の動きを検出する動き検出部と、を備えることを特徴とする。
【０００９】
また、本発明にかかる追尾装置は、上記の発明において、前記顔領域選択部は、前記検出難易度が高い所定数の顔を含む顔領域を選択し、前記動き検出対象設定部は、前記顔領域選択部によって選択された所定数の顔を含む顔領域を前記対象領域として設定することを特徴とする。
【００１０】
また、本発明にかかる追尾装置は、上記の発明において、前記顔領域選択部は、前記検出難易度が低い所定数の顔を含む顔領域を選択し、前記動き検出対象設定部は、前記顔領域選択部によって選択された所定数の顔を含む顔領域を前記対象領域として設定しないことを特徴とする。
【００１１】
また、本発明にかかる追尾装置は、上記の発明において、前記顔検出部は、少なくとも顔の大きさ、顔の位置、顔の向きおよび顔の傾きのいずれか１つを前記顔検出結果として出力し、前記難易度評価部は、前記顔検出部によって検出された各顔の顔検出結果をもとに、少なくとも顔の大きさ、顔の位置、顔の向き、顔の傾き、顔の向き変化、顔の傾き変化、顔の移動速度および顔の移動方向のうちの１つまたは複数を評価パラメータとして前記各顔の検出難易度を評価することを特徴とする。
【００１２】
また、本発明にかかる追尾装置は、上記の発明において、前記難易度評価部は、前記検出された各顔が他の顔と重なる可能性を推定し、推定結果を前記評価パラメータとして前記各顔の検出難易度を評価することを特徴とする。
【００１３】
また、本発明にかかる追尾装置は、上記の発明において、前記難易度評価部は、前記各顔の顔検出結果から顔の移動速度および／または顔の移動方向を判定し、判定結果をもとに前記各顔が他の顔と重なる可能性を推定することを特徴とする。
【００１４】
また、本発明にかかる追尾装置は、上記の発明において、前記難易度評価部は、前記評価パラメータ毎に予め設定される重み係数を用いて前記評価パラメータを重み付けする重み付け部を有し、該重み付け部によって重み付けされた前記評価パラメータをもとに前記各顔の検出難易度を評価することを特徴とする。
【００１５】
また、本発明にかかる追尾装置は、上記の発明において、前記顔検出部によって検出された各顔を含む顔領域と、前記動き検出部によって検出された前記対象領域の動きとをもとに、前記画像中の顔領域を確定する顔領域確定部を備えることを特徴とする。
【００１６】
また、本発明にかかる追尾装置は、上記の発明において、前記連続する画像を切り換えて表示部に表示処理する表示処理部を備え、該表示処理部は、前記確定された前記画像中の顔領域に従って、前記画像中の顔を示す顔枠を表示することを特徴とする。
【００１７】
また、本発明にかかる追尾装置は、上記の発明において、フレーム毎に被写体を撮像して前記連続する画像を順次生成する撮像部と、撮影指示を行う撮影指示部と、前記確定された前記画像中の顔領域の顔について前記顔検出部が検出した最新の顔検出結果を用い、前記撮像部の撮像条件を設定する撮像条件設定部と、を備えることを特徴とする。
【００１８】
また、本発明にかかる追尾方法は、連続する画像中に出現した顔を追尾する追尾方法であって、前記連続する画像を順次処理して前記画像中の複数の顔を検出する顔検出工程と、前記顔検出工程で検出された各顔を含む顔領域をそれぞれの顔に対して設定する顔領域設定工程と、前記顔検出工程での顔検出結果をもとに、前記検出された各顔の検出難易度を評価する難易度評価工程と、前記各顔を含む顔領域の中から、前記各顔の検出難易度が所定条件を満たす顔領域を選択する顔領域選択工程と、前記顔領域選択工程での選択結果をもとに、前記各顔を含む顔領域それぞれに対して動き検出をする対象領域とするか否かを切り換えて設定する動き検出対象設定工程と、隣接する画像間で、前記動き検出対象設定工程で設定された対象領域の動きを検出する動き検出部と、を含むことを特徴とする。
【発明の効果】
【００１９】
本発明によれば、顔検出によって検出された各顔を含む顔領域それぞれに対し、顔検出結果をもとに評価した各顔の検出難易度に従って、動き検出をする対象領域とするか否かを切り換えて設定することができる。そして、対象領域とした顔領域の動き検出を行うことができる。したがって、処理の負荷を増大させることなく、連続する画像中に出現する顔を安定して追尾することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照し、本発明の好適な実施の形態について詳細に説明する。本実施の形態では、本発明の追尾装置をデジタルカメラに適用した場合を例にとって説明する。なお、この実施の形態によって本発明が限定されるものではない。また、各図面の記載において、同一部分には同一の符号を付して示している。
【００２１】
（実施の形態）
図１は、デジタルカメラ１の背面図である。図１に示すように、デジタルカメラ１は、カメラ本体２の上面に配設された撮影タイミングを指示するためのレリーズスイッチ（シャッタースイッチ）３、カメラ本体２の背面に配設された電源スイッチ４やメニュースイッチ５、上下左右の各方向スイッチ（上スイッチ、下スイッチ、左スイッチおよび右スイッチ）を有する十字キー６、操作内容を確定する等のためのＯＫスイッチ７、撮影モードや再生モードといった各種モードを切り換えるモードダイヤル８、各種画面を表示する表示部２４等を備えている。レリーズスイッチ３は、例えば二段階式の押下ボタンであり、半押しされるとファーストレリーズスイッチがＯＮし、全押しされるとセカンドレリーズスイッチがＯＮするようになっている。また、図示しないが、カメラ本体２の前面には、フラッシュや撮像レンズ等が配設されている。
【００２２】
このデジタルカメラ１において電源スイッチ４を押下し、電源をＯＮすると、モードダイヤル８で撮影モードが選択されている場合であれば、デジタルカメラ１は撮影可能な状態となる。撮影モードでは、撮像レンズを通して入射する被写体像が１フレーム（例えば１／３０秒）毎に出力され、ライブビュー画像として表示部２４にリアルタイムに表示されるようになっており、ユーザは、ライブビュー画像を見ながらレリーズスイッチ３を押下して、静止画や動画の撮影を行う。一方、電源ＯＮ時、モードダイヤル８で再生モードが選択されていれば、デジタルカメラ１は再生モードとなる。この再生モードでは、ユーザは、デジタルカメラ１で撮影された静止画や動画を表示部２４に表示（再生）して楽しむ。
【００２３】
先ず、本実施の形態のデジタルカメラ１の機能の１つである顔検出機能の概要について説明する。本実施の形態のデジタルカメラ１は、画像中に映る人物等の顔を検出する顔検出部１７（図８参照）を備えており、１フレーム毎に取り込まれるライブビュー画像を画像処理して顔検出を行う。そして、検出した顔を示す顔枠をライブビュー画像上に表示する処理を行う。
【００２４】
図２は、表示部２４に更新表示される４枚のライブビュー画像の一例を時系列に沿って示した図である。上記したように、顔検出技術は、テンプレートマッチング法によって画像中の顔の位置を検出し、目や鼻、口等の顔の特徴点の位置を検出するものであり、顔が横や後ろを向いている場合や、顔が大きく傾いている場合等において検出精度が低下する場合がある。例えば、図２（ａ）のフレームＩ１１では、ライブビュー画像中に映る人物Ｐの顔が正面を向いているため顔検出に成功し、顔枠Ｎ１１が表示されている。これに対し、図２（ｂ）のように人物Ｐが動いたフレームＩ１３では、顔が横を向いており、角度も大きく傾いているため顔検出に失敗し、顔枠が表示されていない。続く図２（ｃ）のフレームＩ１５でも人物Ｐの顔が検出できず、顔枠が表示されない状態が継続している。そして、図２（ｄ）に示すフレームＩ１７では、人物Ｐの顔検出に成功し、顔枠Ｎ１４が表示されている。
【００２５】
このように、フレーム間で顔の向きや角度が変化すると、顔枠の表示・非表示が繰り返される場合がある。特に、人物が激しく動くような場合にこのような事態が生じ、顔枠がちらついて見難い。また、顔検出結果は、露出やフォーカスの制御に利用されるが、これらの制御が安定しないという問題もある。本実施の形態は、ライブビュー画像中の顔検出と併せて顔エリア（顔領域）の動き検出を行い、顔検出に失敗した場合であっても、顔を見失わずに追尾できるようにするものである。
【００２６】
図３は、５人の人物の顔Ｆ１〜Ｆ５が映る３枚のライブビュー画像の一例を時系列に沿って模式的に示した図であり、図３では、各フレームＩ２１，Ｉ２３，Ｉ２５においてそれぞれ顔検出で検出された顔を一点鎖線で囲んで示している。ここで、フレームＩ２１，Ｉ２３，Ｉ２５は、ライブビュー画像に映る各顔の向きや傾き等が時系列に沿って変化する様子を示したものであり、連続するフレームのライブビュー画像を示したものではない。例えば図３（ａ）のフレームＩ２１では、顔検出によって５人全ての顔Ｆ１〜Ｆ５が検出されている。一方、図３（ｂ）のフレームＩ２３では、向かって左上の顔Ｆ１について顔が大きく傾いたために顔検出に失敗している。また、図３（ｃ）のフレームＩ２５では、図３（ｂ）と同様に顔Ｆ１について顔検出に失敗しているのに加えて、向かって左下及び右下の顔Ｆ２，Ｆ５についても顔が後ろを向いてしまったために顔検出に失敗している。
【００２７】
また、図４は、図３と同様の３枚のライブビュー画像の一例を示す図であり、図４では、各フレームＩ２１，Ｉ２３，Ｉ２５においてそれぞれ顔検出で検出された顔を一点鎖線で囲んで示すとともに、各フレームＩ２１，Ｉ２３，Ｉ２５においてそれぞれ動き検出で検出された顔エリアを二点鎖線で囲んで示している。詳細は後述するが、動き検出は、顔検出によって検出された顔を含む顔領域（顔エリア）を動き検出エリア（対象領域）として隣接するフレーム間でパタンマッチングを行い、その移動量を算出するものであり、フレーム間で動き検出エリアが対応付けられれば、顔の向きや傾きに関係なく顔を見失わずに追尾できる。例えば、図４に示す例では、（ａ）〜（ｃ）に示す各フレームＩ２１〜Ｉ２５で、それぞれ５人全ての顔が検出できている。
【００２８】
ここで、テンプレートマッチング法を適用した顔検出では、１枚の画像中に映る複数の顔（例えば数十個）を同時に検出できる。一方で、複数の顔エリアについて動き検出を実施する場合には、各顔エリアを動き検出エリアとし、それぞれ個別にパタンマッチングを行う必要があり、これらを同時に行うと処理負荷が増大する。このため、必要な処理速度を確保するためには、例えば動き検出をハードウェアで実現する場合であれば、回路規模が増大してしまうという問題があった。
【００２９】
そこで、本実施の形態では、予め同時に動き検出を実施可能な動き検出エリア数を定めておく。そして、顔検出結果をもとにその顔の優先度を採点し、動き検出エリア数よりも多い数の顔がライブビュー画像中に出現した場合には、採点の高い顔から順番に動き検出エリア数の顔エリアを選択して動き検出エリアとする。図５〜図７は、動き検出エリアの設定原理を説明する図であり、各図において、図３（ａ）〜（ｃ）および図４（ａ）〜（ｃ）でそれぞれ示した５人の人物の顔Ｆ１〜Ｆ５が映る３枚のライブビュー画像を示している。なお、ここでは、動き検出エリア数を「３」として説明するが、この動き検出エリア数は、実際のデジタルカメラ１の処理能力に応じて適宜定めることができる。
【００３０】
例えば、図５中に一点鎖線で囲んで示すように、顔検出によって顔Ｆ１〜Ｆ５が検出された場合、各顔Ｆ１〜Ｆ５について優先度を採点する。優先度の採点の詳細については後述するが、その顔についての顔検出結果をもとに、次のフレームで行う顔検出の検出難易度が高いと想定されるほど優先度が高くなるように採点を行う。すなわち、本実施の形態では、このようにして優先度を採点することで、顔検出によって検出された各顔の検出難易度を評価する。例えば、顔検出の結果、その顔の向きが正面から外れていたり、顔が傾いている場合、あるいは過去のフレームと比較して顔の向きや角度の変化が大きいといった場合には、次のフレームでその顔の顔検出に失敗する可能性が高いと考えられるので、このような顔について優先度を高く採点する。そして、採点した優先度をもとに、動き検出エリアとする顔エリアを選択する。
【００３１】
例えば、図５に示す顔Ｆ１〜Ｆ５についてそれぞれ優先度を採点した結果、実線で囲んで示した３つの顔Ｆ１，Ｆ４，Ｆ５について優先度が高く採点された場合には、フレームＩ２１中の各顔Ｆ１，Ｆ４，Ｆ５の顔エリアを動き検出エリアとする。そして、各動き検出エリアについて、例えば次のフレームとの間で動き検出を行うことにより、これらの各顔Ｆ１，Ｆ４，Ｆ５を追尾する。
【００３２】
このようにして各フレームで顔検出を行うとともに、動き検出エリアとした顔エリアについて動き検出を行った結果、例えばフレームＩ２３では、図６（ａ）中に二点鎖線で囲んで示すように、顔Ｆ１，Ｆ４，Ｆ５の顔エリアが動き検出によってそれぞれ検出され、追尾されている。一方、顔検出は、顔Ｆ２〜Ｆ５については成功し、顔Ｆ１については失敗している。これによれば、結果的にフレームＩ２３で顔検出に失敗した顔Ｆ１に対する顔枠の表示を、動き検出結果をもとに継続して行うことができる。
【００３３】
また、本実施の形態では、次のフレームとの間で行う動き検出で動き検出エリアとする顔エリアを例えばその都度選択する。このとき、例えば図６（ａ）の顔Ｆ１のように、動き検出で検出できたが顔検出に失敗した顔エリアについては必ず動き検出エリアとして選択する。そして、動き検出エリアとして選択した顔エリアの数が動き検出エリア数に満たない場合には、顔検出結果をもとに、各顔について採点した優先度が高い顔エリアをさらに選択する。
【００３４】
例えば、図６（ａ）の例では、動き検出で検出できたが顔検出に失敗した顔エリアは１つ（顔Ｆ１）であり、動き検出エリア数「３」に満たないため、顔検出に成功している顔Ｆ２〜Ｆ５のうちの２つの顔の顔エリアについて動き検出を行うことが可能である。例えば、フレームＩ２３について行った顔検出結果をもとに各顔Ｆ２〜Ｆ５についてそれぞれ優先度を採点した結果、顔Ｆ５，Ｆ２，Ｆ４，Ｆ３の順に優先度が高く採点されたとする。ここで、前回動き検出エリアとして選択した顔の優先度が低く採点される場合がある。例えば、例示した顔Ｆ５，Ｆ２，Ｆ４，Ｆ３の順の優先度の採点結果では、前回動き検出エリアとして選択した顔Ｆ４よりも顔Ｆ２の優先度が高く採点されている。これは、フレームＩ２３において、直前のフレームとの間で顔Ｆ４と比較して顔Ｆ２が大きく変化しているためである。この場合には、図６（ｂ）中に実線で囲んで示す各顔Ｆ１，Ｆ２，Ｆ５の顔エリアを動き検出エリアとし、各動き検出エリアについて、次のフレームとの間で動き検出を行うことにより、これらの各顔Ｆ１，Ｆ２，Ｆ５を追尾する。
【００３５】
この結果、例えば、図７中に二点鎖線で囲んで示すように、フレームＩ２５では、動き検出によって顔Ｆ１，Ｆ２，Ｆ５の顔エリアがそれぞれ検出され、追尾されている。一方、顔検出は、顔Ｆ３，Ｆ４については成功し、顔Ｆ１，Ｆ２，Ｆ５については失敗している。これによれば、結果的にフレームＩ２５で顔検出に失敗した各顔Ｆ１，Ｆ２，Ｆ５に対する顔枠の表示を、動き検出結果をもとに引き続き行える。このように、フレーム毎に顔検出によって検出された各顔の優先度を採点し、優先度の高い顔の顔エリアを動き検出エリアとして設定することで、動き検出エリアを適切に設定することができる。したがって、動き検出エリア数を所定数（動き検出エリア数）に制限して処理負荷の増大を許容範囲内に抑えつつ、顔検出し難い顔が出現した場合であっても安定した追尾が実現できる。
【００３６】
次に、このデジタルカメラ１の構成について説明する。図８は、デジタルカメラ１の構成例を示す概略ブロック図である。図８に示すように、デジタルカメラ１は、撮像光学系１１、撮像素子１２、ＡＦＥ（Analog Front End）１３、フレームメモリ１４、動き検出部１５、画像処理部１６、顔検出部１７、顔領域選択部および動き検出対象設定部としての顔エリア選択部１８、記録媒体Ｉ／Ｆ１９、記録媒体保持部２０、記録媒体２１、ビデオエンコーダ２２、表示ドライバ２３、表示部２４、ビデオ信号出力端子２５、操作部２６、ＲＡＭ２７、ＲＯＭ２８、表示処理部および撮像条件設定部としてのコントローラ２９等を備える。
【００３７】
撮像光学系１１は、撮像レンズ、絞り、シャッター等を含み、入射される被写体像を撮像素子１２に結像する。撮像素子１２は、例えばＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）等の固体撮像素子であり、被写体からの光束を撮像光学系１１を介して受光し、光電変換することによってフレーム単位の画像データ（アナログ電気信号）を得るものである。ＡＦＥ１３は、撮像素子１２によって得られる画像データに対してＣＤＳ（Correlated Double Sampling）やＡＧＣ（Automatic Gain Control）等のアナログ信号処理を施した後、Ａ／Ｄ変換処理を施してデジタル電気信号に変換する。ＡＦＥ１３によってデジタル化された画像データは、フレームメモリ１４および動き検出部１５に出力されるとともに、ＲＡＭ２７に一時的に記録される。
【００３８】
フレームメモリ１４は、動き検出部１５による作業用メモリとして用いられる。このフレームメモリ１４は、２フレーム分の画像データを格納するための領域を備え、ライブビュー画像の表示時において、現フレームのライブビュー画像（現フレーム画像）の画像データと、直前に取り込まれた直前フレームのライブビュー画像（直前フレーム画像）の画像データとが記録される。
【００３９】
動き検出部１５は、ＡＦＥ１３からの画像データをもとに、フレーム間の動きを検出するためのものであり、例えば１フレーム毎に撮像素子１２から取り込まれてＡＦＥ１３から出力される画像間で動き検出エリアの動きベクトルを求めることによって、フレーム間での動き検出エリアの動きを検出する。具体的には、動き検出部１５は、顔エリア選択部１８によって選択される顔エリアを動き検出エリアとする。そして、動き検出部１５は、ＡＦＥ１３から随時入力されてフレームメモリ１４に記録される直前フレーム画像と現フレーム画像との間でパタンマッチングを行い、各動き検出エリアについてそれぞれその移動量を表す動きベクトルを算出する。
【００４０】
図９は、直前フレーム画像に設定される動き検出エリアの一例を示す図であり、直前フレーム画像の画角範囲Ｅｖに対し、顔エリア選択部１８によって選択された顔エリアを動き検出エリアＥａ１として設定した様子を示している。また、図１０は、直前フレーム画像に設定される動き検出エリアの他の例を示す図であり、図９と比較してサイズの大きい顔エリアを動き検出エリアＥａ２として設定した様子を示している。なお、図９および図１０中では１つの動き検出エリアを示しているが、実際には、顔エリア選択部１８は予め定められた動き検出エリア数の顔エリアを選択するようになっており、動き検出部１５は、各顔エリアを動き検出エリアとして設定する。
【００４１】
そして、動き検出部１５は、図９，図１０に示したように直前フレーム画像に設定した動き検出エリアＥａ１，Ｅａ２について、現フレーム画像との間でパタンマッチングを行う。ここで、パタンマッチングは、精度を高めるため、動き検出エリア内に複数のマクロブロックを設定し、マクロブロック毎にその動きベクトルを求めることにより行う。例えば、図９に示す例では、動き検出エリアＥａ１内に４個のマクロブロックＢを設定している。一方、図１０に示す例では、動き検出エリアＥａ２内に２５個のマクロブロックＢを設定しており、動き検出エリアのサイズに応じた数のマクロブロックＢが設定されるようになっている。なお、動き検出エリア内に設定するマクロブロックの数は同数であってもよく、また、マクロブロックのサイズについても適宜設定することができる。
【００４２】
顔検出部１７は、図８に示すように、ＡＦＥ１３によってデジタル化されてＲＡＭ２７に記録された画像データを処理して顔を検出し、顔検出結果をＲＡＭ２７に一時的に記録する。例えば、顔検出部１７は、テンプレートマッチング法によってライブビュー画像中の顔の位置を検出し、目や鼻、口等の顔の特徴点の位置を検出することによって、顔の大きさや向き、角度等を検出する。この顔検出部１７による顔検出によって、例えばライブビュー画像中の顔の有無、顔の位置、顔の大きさ、顔の向き、顔の角度（傾き）等が顔検出結果として得られる。なお、顔検出結果は、検出した各顔についてそれぞれ少なくとも最新の顔検出結果を保持しておくようになっている。
【００４３】
顔エリア選択部１８は、動き検出エリア数の顔エリアを選択し、選択結果をもとに次のフレームとの間で動き検出を行う動き検出エリアを切り換えて設定する。本実施の形態では、顔エリア選択部１８は、顔検出部１７が検出した各顔についてコントローラ２９の優先度採点部２９３が採点した優先度をもとに、優先度が高い顔の顔エリアを優先的に選択し、選択した各顔の顔エリアをそれぞれ動き検出エリアとして設定する。
【００４４】
画像処理部１６は、ＲＡＭ２７に一旦記録された画像データを読み出し、この画像データに対して各種の画像処理を施すとともに、記録用、あるいは表示用等に適した画像データに変換する処理を行う。例えば、撮影画像の画像データを記録する際、あるいは記録されている画像データを表示する際等に、ＪＰＥＧ（Joint Photographic Experts Group）方式等に基づく画像データの圧縮処理や伸張処理を行う。この画像処理部１６で画像処理された画像データは、記録媒体Ｉ／Ｆ１９に出力されて記録媒体２１に記録され、あるいはビデオエンコーダ２２に出力されて表示部２４に表示される。
【００４５】
ビデオエンコーダ２２は、表示用に変換された画像データを表示ドライバ２３に送出する。例えば撮影モードでは、１フレーム毎に撮像素子１２から取り込まれて画像処理部１６によって画像処理された画像をフレーム単位で表示部２４に切換表示させ、ライブビュー画像の表示を行う。一方、再生モードでは、記録媒体２１から読み出されて画像処理部１６よって画像処理された撮影画像を表示部２４に表示させる。また、このビデオエンコーダ２２は、ビデオ信号出力端子２５に接続された外部機器に対し、必要に応じて表示用の画像データを出力する。表示部２４は、撮影画像やライブビュー画像の他、デジタルカメラ１の各種設定情報等を表示するためのものであり、ＬＣＤ（Liquid Crystal Display）やＥＬディスプレイ（Electroluminescence Display）等の表示装置で実現される。
【００４６】
記録媒体Ｉ／Ｆ１９は、記録媒体保持部２０によって挿脱自在に保持される記録媒体２１に対して、記録用に変換された画像データ等の書き込みや、記録された画像データの読み出し等を行う。記録媒体２１は、例えばｘＤ−ピクチャーカード（登録商標）やコンパクトフラッシュ（登録商標）カード等のメモリカードである。
【００４７】
操作部２６は、撮影タイミングの指示、撮影モードや再生モード等のモードの設定操作、撮影条件の設定操作等、ユーザによる各種操作を受け付けて操作信号をコントローラ２９に通知するためのものであり、各種機能が割り当てられたボタンスイッチ、ダイヤル、各種センサ等で実現される。この操作部２６は、図１のレリーズスイッチ３、電源スイッチ４、メニュースイッチ５、十字スイッチ６、ＯＫスイッチ７およびモードダイヤル８を含む。
【００４８】
ＲＯＭ２８は、デジタルカメラ１を動作させ、このデジタルカメラ１が備える種々の機能を実現するための各種のカメラプログラムや、このカメラプログラムの実行中に使用されるデータ等を予め記録する。ＲＡＭ２７は、画像処理部１６やコントローラ２９の作業用メモリとして用いられる。例えば、ＡＦＥ１３からの画像データ等が一時的に記録され、表示部２４に表示するライブビュー画像の画像データを生成する際の作業用や撮影画像を記録媒体２１に記録する際の作業用等に用いられる。
【００４９】
コントローラ２９は、操作部２６からの操作信号等に応じてＲＯＭ２８からカメラプログラムを読み出して実行し、デジタルカメラ１を構成する各部の動作制御やメモリ制御を行ってデジタルカメラ１全体の動作を統括的に制御する。また、ＡＦ（自動焦点）、ＡＥ（自動露出）、ＡＷＢ（自動ホワイトバランス）等の処理を行う。このコントローラ２９は、撮影開始指示部２９１と、難易度評価部としての優先度採点部２９３、顔領域設定部としての動き検出候補設定部２９５と、顔領域確定部としての顔エリア確定部２９７とを含む。撮影開始指示部２９１は、撮影処理の開始タイミングを指示する。優先度採点部２９３は、顔検出結果をもとに検出された顔の優先度を採点する。本実施の形態では、優先度採点部２９３は、顔の大きさ、顔の位置、顔の向き、顔の向き変化、顔の重なり、顔の角度および顔の角度変化を評価パラメータとし、先ず各評価パラメータの採点値を求める。そして、優先度採点部２９３は、各評価パラメータに予め設定された重み係数を用いて求めた各評価パラメータの採点値をそれぞれ重み付けして合算し、優先度とする。なお、評価パラメータとしては、例示したものに限定されない。例えば、顔検出結果をもとに顔の移動速度や顔の移動速度を判定し、これらの値を評価パラメータとして用いることとしてもよい。動き検出候補設定部２９５は、顔検出結果に基づく顔エリアと動き検出結果に基づく顔エリアとをもとに次回の動き検出候補を設定する。顔エリア確定部２９７は、現フレームのライブビュー画像中における顔エリアを確定する。
【００５０】
次に、デジタルカメラ１が行う処理手順について説明する。図１１は、デジタルカメラ１が行う基本処理の手順を示すフローチャートである。電源投入時、デジタルカメラ１は、モードダイヤル８によって選択されているモードに応じた処理を行う。すなわち、図１１に示すように、現在選択されているモードが撮影モードの場合には（ステップａ１：Ｙｅｓ）、コントローラ２９は、撮像素子１２に結像されている被写体像の画像（ライブビュー画像）を取り込み（ステップａ３）、顔エリア検出処理に移る（ステップａ５）。顔エリア検出処理では、ステップａ３で取り込んだ現フレームのライブビュー画像中の顔エリアを顔検出と動き検出とによって検出し、このライブビュー画像中における顔エリアを確定する。
【００５１】
顔エリア検出処理を終えると、続いてコントローラ２９は、ライブビュー画像を表示部２４に表示する処理を行う（ステップａ７）。このとき、ステップａ５で確定した顔エリアに顔を示す顔枠を表示したライブビュー画像が表示部２４に表示される。また、コントローラ２９は、ステップａ５で確定された顔エリアがあれば（ステップａ９：Ｙｅｓ）、この確定した顔エリアをもとに撮像条件を設定してＡＦ、ＡＥ、ＡＷＢ等の処理を行う（ステップａ１１）。具体的には、コントローラ２９は、ステップａ５で確定された顔エリアの顔について得られている最新の顔検出結果を用いて撮像条件を設定する。すなわち、確定された顔エリアのうち、顔検出結果に基づく顔エリア（今回顔検出に成功した顔の顔エリア）についてはその顔検出結果を用い、動き検出結果に基づく顔エリア（今回顔検出に失敗した顔の顔エリア）についてはその顔について前回成功したときの顔検出結果を用い、撮像条件を設定する。一方、コントローラ２９は、ステップａ５で確定された顔エリアがない場合には（ステップａ９：Ｎｏ）、通常範囲（例えば画面全体）でＡＦ、ＡＥ、ＡＷＢ等の処理を行う（ステップａ１３）。
【００５２】
そして、レリーズスイッチ３が一段階押下され、ファーストレリーズスイッチがＯＮされるまでの間（ステップａ１５：Ｎｏ）、ステップａ３に戻って１フレーム毎に処理を繰り返す。
【００５３】
レリーズスイッチ３が一段階押下され、ファーストレリーズスイッチがＯＮされた場合には（ステップａ１５：Ｙｅｓ）、続いてコントローラ２９は、ステップａ３と同様にして、撮像素子１２に結像されている被写体の画像を取り込む（ステップａ１７）。その後、顔検出処理に移る（ステップａ１９）。顔エリア検出処理では、ステップａ１７で取り込んだ現フレームのライブビュー画像中の顔エリアを顔検出と動き検出とによって検出し、このライブビュー画像中における顔エリアを確定する。
【００５４】
そして、顔検出処理の後、続いてコントローラ２９は、ライブビュー画像を表示部２４に表示する処理を行う（ステップａ２１）。このとき、ステップａ１９で確定した顔エリアに顔を示す顔枠を表示したライブビュー画像が表示部２４に表示される。また、コントローラ２９は、ステップａ１９で確定された顔エリアがあれば（ステップａ２３：Ｙｅｓ）、この確定した顔エリアをもとに撮像条件を設定してＡＦ、ＡＥ、ＡＷＢ等の処理を行う（ステップａ２５）。具体的には、コントローラ２９は、ステップａ１１と同様に、ステップａ１９で確定された顔エリアの顔について得られている最新の顔検出結果を用いて撮像条件を設定する。一方、コントローラ２９は、ステップａ１９で確定された顔エリアがない場合には（ステップａ２３：Ｎｏ）、通常範囲でＡＦ、ＡＥ、ＡＷＢ等の処理を行う（ステップａ２７）。
【００５５】
そして、レリーズスイッチ３が二段階押下され、セカンドレリーズスイッチがＯＮされるまでの間（ステップａ２９：Ｎｏ）、ステップａ１７に戻って１フレーム毎に処理を繰り返す。
【００５６】
レリーズスイッチ３が二段階押下され、セカンドレリーズスイッチがＯＮされた場合には（ステップａ２９：Ｙｅｓ）、撮影処理に移る（ステップａ３１）。具体的には、撮影開始指示部２９１が、セカンドレリーズスイッチがＯＮされたタイミングを撮影タイミングとして撮影処理の開始を指示する。これによって撮影処理が開始され、撮影画像の画像データを生成する。生成した撮影画像の画像データは、記録媒体２１に記録される。なお、この撮影処理が開始されると、ライブビュー画像の表示が一旦停止される。このライブビュー画像の表示は、露光の後、画像データの転送処理や画像処理を終えると復帰するようになっている。
【００５７】
続いてステップａ３３に移り、コントローラ２９は、撮影モードの終了判定を行う。撮影モードを終了する場合には（ステップａ３３：Ｙｅｓ）、ステップａ４３に移る。撮影モードを終了しない場合には（ステップａ３３：Ｎｏ）、ステップａ３に戻る。
【００５８】
一方、現在選択されているモードが撮影モードでなく（ステップａ１：Ｎｏ）、再生モードの場合には（ステップａ３５：Ｙｅｓ）、コントローラ２９は、過去に撮影されて記録媒体２１に記録されている静止画や動画の画像データを例えばサムネイル形式で一覧表示する処理を行い、ユーザ操作に従って一覧の中から再生画像を選択する（ステップａ３７）。そして、コントローラ２９は、選択した再生画像を表示部２４に表示する処理を行う（ステップａ３９）。
【００５９】
続いてステップａ４１に移り、コントローラ２９は、再生モードの終了判定を行う。再生モードを終了する場合には（ステップａ４１：Ｙｅｓ）、ステップａ４３に移る。再生モードを終了しない場合には（ステップａ４１：Ｎｏ）、ステップａ３７に戻る。
【００６０】
そして、ステップａ４３では、コントローラ２９は、基本処理を終了するか否かを判定する。例えば、電源スイッチ４が押下されて電源ＯＦＦが指示された場合に、本処理を終える（ステップａ４３：Ｙｅｓ）。一方、終了しない場合には（ステップａ４３：Ｎｏ）、ステップａ１に戻る。
【００６１】
次に、図１１のステップａ５およびステップａ１９で行う顔エリア検出処理について説明する。図１２は、顔エリア検出処理の詳細な処理手順を示すフローチャートである。顔エリア検出処理では、先ずコントローラ２９が、動き検出候補の有無を判定する。ここで、図１２中のステップｂ１５で、動き検出候補が設定される。このため、撮影モードが選択されて最初に行う顔エリア検出処理では動き検出候補はなく（ステップｂ１：Ｎｏ）、ステップｂ９に移る。すなわち、顔検出部１７が現フレーム画像中の顔検出を行い（ステップｂ９）、顔検出結果をＲＡＭ２７に記録する（ステップｂ１１）。
【００６２】
続いて、優先度採点部２９３が、優先度採点処理を実行する（ステップｂ１３）。図１３は、優先度採点処理の詳細な処理手順を示すフローチャートである。この優先度採点処理は、図１２のステップｂ９で検出された全ての顔についてそれぞれ行われ、優先度採点部２９３は、各顔の優先度をその顔についての顔検出結果をもとに採点する。
【００６３】
すなわち、優先度採点部２９３は、図１２のステップｂ９の顔検出結果をもとに、先ず顔の大きさを採点する（ステップｃ１）。サイズの大きい顔は、サイズの小さい顔に比べて重要度が高い。そこで、例えば優先度採点部２９３は、顔が大きいほど採点値を大きく設定する。
【００６４】
続いて優先度採点部２９３は、顔の位置を採点する（ステップｃ３）。顔の位置が画角範囲の中心に近いほど重要度が高い。一方、顔の位置が画角範囲の端部に位置している場合、その顔は次のフレームでフレームアウトする可能性があるため、重要度は低い。そこで、例えば優先度採点部２９３は、顔の位置が画角範囲の中心に近いほど採点値を大きく設定する。
【００６５】
続いて優先度採点部２９３は、顔の向きを採点する（ステップｃ５）。顔が正面向きから外れた方向を向いている場合、次のフレームでもその顔が正面向きから外れた方向を向いている可能性が高く、顔検出に失敗する確率が高い。そこで、例えば優先度採点部２９３は、顔が正面を向いている場合の採点値を小さくし、顔の向きが正面から外れるほど採点値を大きく設定する。
【００６６】
続いて優先度採点部２９３は、顔の向き変化を採点する（ステップｃ７）。ここで、ＲＡＭ２７内には、直近の数フレーム分についての結果を保持しておくようになっている。優先度採点部２９３は、ＲＡＭ２７内に保持されている過去数フレーム分の顔検出結果を参照して顔の向きの変化を算出し、算出した向き変化を採点する。すなわち、過去数フレームにおいて顔の向きが変化していれば、次のフレームでもその顔の向きが変化する可能性が高い。そして、向き変化が大きいほど次のフレームで大きく顔の向きが変化する可能性が高いため、顔検出に失敗する可能性も高い。そこで、例えば優先度採点部２９３は、顔の向き変化が大きいほど採点値を大きく設定する。
【００６７】
続いて優先度採点部２９３は、次のフレームで顔同士が重なる場合を推定する（ステップｃ９）。図１４は、顔の重なり推定を説明する図であり、３人の人物の顔Ｆ１１〜Ｆ１３が映る３枚のライブビュー画像の一例を時系列に沿って模式的に示している。ここで、顔Ｆ１１，Ｆ１２に着目すると、図１４（ａ）のフレームＩ３１と図１４（ｂ）のフレームＩ３３との間で顔Ｆ１１，Ｆ１２が接近し、図１４（ｃ）のフレームＩ３５で各顔Ｆ１１，Ｆ１２が重なっている。重なり推定では、このような状態を推定する。すなわち、優先度採点部２９３は、過去数フレーム分の顔検出結果を参照する。そして、優先度採点部２９３は、各顔の位置、向き、大きさをもとに移動方向（向きが変化する方向）やその移動速度（移動量）を判定し、顔の重なりを推定する。例えば、図１４（ａ）のフレームＩ３１では、各顔Ｆ１１〜Ｆ１３の位置が離れており、次のフレームでは各顔Ｆ１１〜Ｆ１３は重ならないと推定する。一方、図１４（ｂ）のフレームＩ３３では、顔Ｆ１１，Ｆ１２が接近しており、その移動方向や移動速度をもとに、この顔Ｆ１１，Ｆ１２について次のフレームＩ３５で重なると例えば推定する。
【００６８】
そして、図１３に示すように、続いて優先度採点部２９３は、重なり推定の結果をもとに、顔の重なりを採点する（ステップｃ１１）。具体的には、優先度採点部２９３は、顔が重なると推定された各顔についての顔検出結果をもとに、重なったときに後ろに隠れる顔について採点値を小さく設定する。推定の通りにその顔が次のフレームで他の顔と重なり、他の顔の後ろに隠れてしまった場合、顔枠の表示が必要なく、その顔についての露出やフォーカスの制御も必要ないため、重要度が低いためである。ここで、顔同士が重なった際、どちらが後方に隠れるのかについては、顔の大きさで判定できる。すなわち、サイズの大きい顔は手前側に存在し、顔が重なった場合、サイズの大きい顔の後方にサイズの小さい顔が隠れると考えられる。例えば図１４（ｃ）のフレームＩ３５では、サイズの大きい顔Ｆ１１の後方にサイズの小さい顔Ｆ１２が隠れている。このような顔の採点値を他の顔の採点値よりも小さく設定する。
【００６９】
続いて優先度採点部２９３は、顔の角度を採点する（ステップｃ１３）。ライブビュー画像の縦方向に対して顔が傾いている場合、次のフレームでもその顔が傾いている可能性が高く、顔検出に失敗する確率が高い。そこで、例えば優先度採点部２９３は、顔が傾いていない場合の採点値を小さくし、顔が角度が大きいほど採点値を大きく設定する。
【００７０】
続いて優先度採点部２９３は、顔の角度変化を採点する（ステップｃ１５）。優先度採点部２９３は、過去数フレーム分の顔検出結果を参照して顔の角度の変化を算出し、算出した角度変化を採点する。すなわち、過去数フレームにおいて顔の角度が変化していれば、次のフレームでもその顔の角度が変化する可能性が高い。そして、角度変化が大きいほど次のフレームで大きく顔の角度が変化する可能性が高いため、顔検出に失敗する可能性も高い。そこで、例えば優先度採点部２９３は、顔の角度変化が大きいほど採点値を大きく設定する。
【００７１】
続いて、優先度採点部２９３は、各採点値に対する重み付けを行う（ステップｃ１７）。ここで行う重み付けは、例えば、顔の大きさ、顔の位置、顔の向き、顔の向き変化、顔の重なり、顔の角度および顔の角度変化の各評価パラメータについて予め重み係数を設定しておき、各採点値に重み係数を乗じて行う。重み係数は、評価パラメータの重要度に応じて適宜設定しておくことができる。例えば、顔検出部１７の検出精度が低下する要因となる評価パラメータである顔の向きや顔の角度の重み係数を大きく設定しておけば、これらの採点値が高い顔の優先度を高くすることができる。
【００７２】
そして、優先度採点部２９３は、重み付けした各採点値の総和を優先度として算出する（ステップｃ１９）。その後、図１２のステップｂ１３にリターンし、ステップｂ１５に移る。なお、上記した優先度採点処理は一例であって、採点方法や評価パラメータはこれに限定されず、顔検出の仕様等に応じて適宜設定できる。
【００７３】
続く図１２のステップｂ１５では、動き検出候補設定部２９５が、動き検出候補設定処理を実行する。図１５は、動き検出候補設定処理の詳細な処理手順を示すフローチャートである。
【００７４】
動き検出候補設定処理では、動き検出候補設定部２９５は先ず、動き検出結果をもとに顔エリアを設定する（ステップｄ１）。上記のように、撮影モードが選択されて最初に行う顔エリア検出処理では、図１２のステップｂ１５の動き検出が未だ行われていない。このため、ステップｄ１でも顔エリアは設定されない。一方、後述するように２回目以降の顔エリア検出処理において、ステップｂ１で動き検出候補があると判定されてステップｂ５で動き検出を行った場合には、動き検出候補設定部２９５は、このステップｄ１において、動き検出の結果算出された各動き検出エリアの動きベクトルをもとに現フレーム中における各動き検出エリアの位置をそれぞれ算出し、動き検出結果に基づく顔エリアとして設定する。続いて、動き検出候補設定部２９５は、顔検出の結果検出された顔の領域を顔検出結果に基づく顔エリアとして設定する（ステップｄ３）。
【００７５】
そして、動き検出候補設定部２９５は、現フレーム中の動き検出結果に基づく顔エリアと、顔検出結果に基づく顔エリアとを次回の動き検出候補として設定する（ステップｄ５）。
【００７６】
続いて動き検出候補設定部２９５は、次回の動き検出候補とした動き検出に基づく顔エリアの位置と、顔検出結果に基づく顔エリアの位置とを比較する。そして、動き検出候補設定部２９５は、顔検出結果に基づくいずれかの顔エリア位置が、動き検出結果に基づくいずれかの顔エリアの位置と一致している場合、すなわち動き検出結果に基づく顔エリアと顔検出結果に基づく顔エリアとが重複している場合には（ステップｄ７：Ｙｅｓ）、これらの顔エリアのうち、動き検出結果に基づく顔エリアを次回の動き検出候補から除外する（ステップｄ９）。その後、図１２のステップｂ１５にリターンし、ステップｂ１７に移る。
【００７７】
そして、ステップｂ１７では、ステップｂ１５の動き検出候補設定処理の結果設定した次回の動き検出候補を現フレーム中の顔エリアとして確定する。その後、図１１のステップａ５にリターンし、ステップａ７に移る。あるいはステップａ１９にリターンし、ステップａ２１に移る。そしてこの結果、ステップａ７やステップａ２１において表示されるライブビュー画像上で、この顔エリア検出処理で検出された顔エリアに顔枠が表示される。また、検出された顔エリアが露出やフォーカスの制御に用いられる。
【００７８】
また、撮影モードが選択された後、２回目以降に行う顔エリア検出処理では、図１２に示すように、前回の顔エリア検出処理においてステップｂ１５で次回の動き検出候補が設定されていれば（ステップｂ１：Ｙｅｓ）、ステップｂ３に移り、顔エリア選択部１８が顔エリア選択処理を実行する。図１６は、顔エリア選択処理の詳細な処理手順を示すフローチャートである。
【００７９】
顔エリア選択処理では、顔エリア選択部１８は先ず、設定されている動き検出候補の数を予め設定される動き検出エリア数Ｎと比較する。そして、顔エリア選択部１８は、動き検出候補の数が動き検出エリア数Ｎ以下であれば（ステップｅ１：Ｎｏ）、全ての動き検出候補を選択する（ステップｅ３）。そして、図１２のステップｂ３にリターンし、その後ステップｂ５に移る。
【００８０】
また、顔エリア選択部１８は、動き検出候補の数が動き検出エリア数Ｎより多い場合には（ステップｅ１：Ｙｅｓ）、ステップｅ５に移る。そして、顔エリア選択部１８は、動き検出結果に基づく顔エリアの数Ｌが「０」であれば（ステップｅ５：Ｙｅｓ）、ステップｅ７に移る。すなわち、動き検出結果に基づく顔エリアの数Ｌが「０」ということは、設定されている動き検出候補は全て顔検出結果に基づく顔エリアである。ステップｅ７では、顔エリア選択部１８は、この顔検出結果に基づく顔エリアの中から、その顔について採点した優先度が高いものから順にＮ個の顔の顔エリアを選択する。そして、図１２のステップｂ３にリターンし、その後ステップｂ５に移る。
【００８１】
また、顔エリア選択部１８は、動き検出結果に基づく顔エリアの数Ｌが「０」でない場合には（ステップｅ５：Ｎｏ）、ステップｅ９に移る。そして、顔エリア選択部１８は、顔検出結果に基づく顔エリアの数が「０」であれば（ステップｅ９：Ｙｅｓ）、ステップｅ１１に移る。すなわち、顔検出結果に基づく顔エリアの数が「０」ということは、設定されている動き検出候補は全て動き検出結果に基づく顔エリアであって、かつその数はＮ個である。ステップｅ１１では、顔エリア選択部１８は、この動き検出結果に基づく顔エリアを全て選択する。そして、図１２のステップｂ３にリターンし、その後ステップｂ５に移る。
【００８２】
また、顔エリア選択部１８は、顔検出結果に基づく顔エリアの数が「０」でない場合には（ステップｅ９：Ｎｏ）、ステップｅ１３に移る。そして、顔エリア選択部１８は、動き検出結果に基づく顔エリアを全て選択するとともに、Ｎ個に満たない場合には、顔検出結果に基づく顔エリアのうちの優先度の高いものから順番に選んだＮ−Ｌ個を選択する。そして、図１２のステップｂ３にリターンし、その後ステップｂ５に移る。
【００８３】
そして、ステップｂ５では、動き検出部１５が、ステップｂ３の顔エリア選択処理で選択した各顔エリアをそれぞれ動き検出エリアとして現フレーム画像中の動き検出を行い、その後動き検出結果をＲＡＭ２７に記録する（ステップｂ７）。その後、ステップｂ９に移る。
【００８４】
以上説明したように、本実施の形態によれば、顔検出によってライブビュー画像中の顔を検出するとともに、顔検出結果に従って各顔の優先度を採点することができる。例えば人物の動きが激しく場合等、次のフレームで行う顔検出の検出難易度が高いと想定される顔について優先度を高く設定することができる。そして、顔検出の結果、ライブビュー画像中から動き検出が可能な数（動き検出エリア数）よりも多い顔が検出された場合には、優先度の高い顔を含む顔エリアを選択して動き検出を行うことができる。すなわち、顔検出の検出難易度が高いと想定される顔を優先的に選択し、動き検出によってその顔エリアの動きを検出することができるので、処理の負荷を増大させることなく、連続する画像中に出現する顔を見失わずに安定して追尾できる。
【００８５】
そして、本実施の形態では、ライブビュー画像上の最終的に確定した顔エリアに、顔を示す顔枠を表示させることができる。したがって、安定した見易い顔枠の表示が実現でき、顔枠の表示・非表示が繰り返されてちらつく等の不具合を防止することができる。
【００８６】
なお、上記した実施の形態では、予め設定される動き検出エリア数の顔エリアを動き検出エリアとして選択し、選択した動き検出エリアについて動き検出を行うこととした。そして、顔検出結果に基づく顔エリアを動き検出エリアとして選択する際には、顔検出結果をもとに各顔について採点した優先度が高いものから順番に、動き検出エリアとする顔エリアを選択することとした。これに対し、顔検出によって検出された各顔のうち、優先度の低い顔の顔エリアを選択し、選択した顔エリアについて動き検出を行わない設定を行う構成としてもよい。
【００８７】
また、上記した実施の形態では、動き検出で検出できたが顔検出に失敗した顔エリアについては必ず動き検出エリアとして選択することとした。これに対し、動き検出結果の信頼度を加味して動き検出エリアを設定するようにしてもよい。すなわち、例えば、動き検出エリアに設定したマクロブロックＢ（図９，図１０を参照）の数に対してマッチング失敗数が多い場合や、得られたマクロブロックＢ毎の動きベクトルの方向に統一性がない場合、動き検出結果の信頼性が低いと考えられる。このような場合には、該当する顔エリアを次回の動き検出エリアから外すようにしてもよい。図７を参照して説明すれば、例えば、顔Ｆ２の顔エリアを動き検出エリアとして行った動き検出結果の信頼度が低かったとする。この場合には、次のフレームとの間で行う動き検出の対象から顔Ｆ２の顔エリアを外す。そして、顔検出結果に基づく顔エリアである顔Ｆ３および顔Ｆ４の顔エリアのうち、優先度の高い顔を選択して動き検出エリアとしてもよい。図示の例では、例えば顔Ｆ４が動き検出エリアとして選択されることとなる。
【００８８】
また、上記した実施の形態では、顔検出および動き検出を１フレーム毎に行うこととしたが、所定のフレーム間隔で行うこととしてもよい。また、顔検出および動き検出を行うフレーム間隔は適宜個別に設定できる。例えば、動き検出を１フレーム毎に行い、顔検出については数フレーム毎に行うといったことも可能である。
【００８９】
また、顔エリア選択部１８や画像処理部１６、コントローラ２９を構成する撮影開始指示部２９１や優先度採点部２９３、動き検出候補設定部２９５は、ハードウェアで実現する構成としてもよいし、所定のプログラムを実行することによってソフトウェアとして実現することとしてもよい。ソフトウェアとして実現する場合には、例えば、図１２や図１３、図１５、図１６等に示した処理の一部または全部を実現するためのプログラムをＲＯＭ２８に記録しておく。そして、コントローラ２９がこのプログラムを読み出して実行することによって、顔エリア選択部１８や画像処理部１６、撮影開始指示部２９１、優先度採点部２９３、動き検出候補設定部２９５の構成を実現するようにしてもよい。
【００９０】
また、上記した実施の形態では、本発明の追尾装置をデジタルカメラに適用した例について説明したが、適用対象はデジタルカメラに限定されず、携帯電話機に付属のカメラやＰＣ付属のカメラに適用してもよい。また、パソコン等を用いて人物等の顔が映る動画を再生する場合に適用することもできる。
【図面の簡単な説明】
【００９１】
【図１】デジタルカメラの背面図である。
【図２】１フレーム毎に更新表示されるライブビュー画像の一例を時系列に沿って示した図である。
【図３】５つの顔が映るライブビュー画像について行った顔検出結果の一例を示す図である。
【図４】５つの顔が映るライブビュー画像について行った顔検出結果および動き検出結果の一例を示す図である。
【図５】動き検出エリアの設定原理を説明する図である。
【図６】動き検出エリアの設定原理を説明する他の図である。
【図７】動き検出エリアの設定原理を説明する他の図である。
【図８】デジタルカメラの構成例を示す概略ブロック図である。
【図９】直前フレーム画像に設定される動き検出エリアの一例を示す図である。
【図１０】直前フレーム画像に設定される動き検出エリアの他の例を示す図である。
【図１１】デジタルカメラが行う基本処理の手順を示すフローチャートである。
【図１２】顔エリア検出処理の詳細な処理手順を示すフローチャートである。
【図１３】優先度採点処理の詳細な処理手順を示すフローチャートである。
【図１４】顔の重なり推定を説明する図である。
【図１５】動き検出候補設定処理の詳細な処理手順を示すフローチャートである。
【図１６】顔エリア選択処理の詳細な処理手順を示すフローチャートである。
【符号の説明】
【００９２】
１      デジタルカメラ
２      カメラ本体
１１      撮像光学系
１２      撮像素子
１３      ＡＦＥ
１４      フレームメモリ
１５      動き検出部
１６      画像処理部
１７      顔検出部
１８      顔エリア選択部
１９      記録媒体Ｉ／Ｆ
２０      記録媒体保持部
２１      記録媒体
２２      ビデオエンコーダ
２３      表示ドライバ
２４      表示部
２５      ビデオ信号出力端子
２６      操作部
３      レリーズスイッチ
４      電源スイッチ
５      メニュースイッチ
６      十字キー
７      ＯＫスイッチ
８      モードダイヤル
２７      ＲＡＭ
２８      ＲＯＭ
２９      コントローラ
２９１      撮影開始指示部
２９３      優先度採点部
２９５      動き検出候補設定部
２９７      顔エリア確定部
【図１】
2010183291.tif 000003
【図２】
2010183291.tif 000004
【図３】
2010183291.tif 000005
【図４】
2010183291.tif 000006
【図５】
2010183291.tif 000007
【図６】
2010183291.tif 000008
【図７】
2010183291.tif 000009
【図８】
2010183291.tif 000010
【図９】
2010183291.tif 000011
【図１０】
2010183291.tif 000012
【図１１】
2010183291.tif 000013
【図１２】
2010183291.tif 000014
【図１３】
2010183291.tif 000015
【図１４】
2010183291.tif 000016
【図１５】
2010183291.tif 000017
【図１６】
2010183291.tif 000018