(57)【要約】【課題】安定した顔検出の結果出力が可能な顔検出制御装置、顔検出制御プログラムおよび顔検出制御方法を提供すること。【解決手段】デジタルカメラを構成する画像処理部１５は、連続する画像を順次処理して顔を検出する顔検出制御部１６を含む。この顔検出制御部１６において、顔検出器１６２は、画像中の顔を検出する。出力スレッシュ設定部１６４は、顔検出器１６２による検出結果をもとに顔の出現状態を確定するための出現スレッシュａおよび顔の消失状態を確定するための消失スレッシュｄを設定する。出力スレッシュ判定部１６５は、顔検出器１６２によって顔が検出された場合には出現スレッシュａに従って画像中に顔が出現したか否かを判定し、顔検出器１６２によって顔が検出されない場合には消失スレッシュｄに従って画像中から顔が消失したか否かを判定する。【選択図】図６
2010068222.tif 000002
【特許請求の範囲】
【請求項１】
連続する画像を順次処理して前記画像中の顔を検出する顔検出部と、
前記顔検出部による検出結果をもとに、前記画像中における顔の出現状態を確定するための出現確定閾値および前記画像中における顔の消失状態を確定するための消失確定閾値を設定する閾値設定部と、
前記顔検出部によって顔が検出された場合に前記出現確定閾値に従って前記画像中に顔が出現したか否かを判定するとともに、前記顔検出部によって顔が検出されない場合に前記消失確定閾値に従って前記画像中から顔が消失したか否かを判定する出現／消失判定部と、
前記出現／消失判定部による判定結果を出力する結果出力部と、
を備えることを特徴とする顔検出制御装置。
【請求項２】
前記顔検出部は、顔の大きさ、顔の回転角度、顔の傾きおよび顔の類似度の少なくともいずれか１つを検出結果として出力し、
前記閾値設定部は、前記顔検出部によって検出された顔の大きさ、顔の回転角度、顔の傾きおよび顔の類似度のうちの１つまたは複数を用いて前記出現確定閾値および／または前記消失確定閾値を設定することを特徴とする請求項１に記載の顔検出制御装置。
【請求項３】
前記顔検出部による検出結果をもとに、前記連続する画像間の顔の移動量を算出する移動量算出部を備え、
前記閾値設定部は、前記移動量算出部によって算出された顔の移動量を加味して前記出現確定閾値および／または前記消失確定閾値を設定することを特徴とする請求項２に記載の顔検出制御装置。
【請求項４】
前記移動量算出部は、前記連続する画像間の顔の変位を算出し、前記顔の類似度の値に応じた重み付けを行って前記顔の移動量を算出することを特徴とする請求項３に記載の顔検出制御装置。
【請求項５】
前記閾値設定部は、前記移動量算出部によって算出された顔の移動量が所定の基準値未満の場合に、前記出現確定閾値を小さくまたは前記消失確定閾値を大きく設定することを特徴とする請求項３に記載の顔検出制御装置。
【請求項６】
前記閾値設定部は、前記顔の回転角度をもとに、前記画像中の顔が正面向きの場合または前記正面向きに対して所定の回転角度範囲内を向いている場合に、前記出現確定閾値を小さくまたは前記消失確定閾値を大きく設定することを特徴とする請求項２に記載の顔検出制御装置。
【請求項７】
前記閾値設定部は、前記顔の傾きをもとに、前記画像中の顔が前記画像の縦方向に対して傾きなしの場合または前記画像の縦方向に対して所定の傾き角度範囲内の場合に、前記出現確定閾値を小さくまたは前記消失確定閾値を大きく設定することを特徴とする請求項２に記載の顔検出制御装置。
【請求項８】
前記閾値設定部は、前記顔検出部によって検出された顔の大きさが所定の基準値以下の場合に、前記出現確定閾値および／または前記消失確定閾値を大きく設定することを特徴とする請求項２に記載の顔検出制御装置。
【請求項９】
前記出現／消失判定部は、前記顔検出部によって前記画像中から顔が検出された回数が前記出現確定閾値となった場合に前記画像中に顔が出現したと判定し、前記顔検出部によって前記画像中から顔が検出されない回数が前記消失確定閾値となった場合に前記画像中から顔が消失したと判定することを特徴とする請求項１に記載の顔検出制御装置。
【請求項１０】
前記閾値設定部は、前記顔検出部によって最初に顔が検出されたときの検出結果を用いて前記出現確定閾値を設定することを特徴とする請求項１に記載の顔検出制御装置。
【請求項１１】
前記閾値設定部は、前記出現／消失判定部が前記画像中に顔が出現したと判定したときの前記顔検出部による検出結果を用いて前記消失確定閾値を設定することを特徴とする請求項１に記載の顔検出制御装置。
【請求項１２】
前記閾値設定部は、所定の画像に対して前記顔検出部が行った顔の検出結果をもとに、前記出現確定閾値および前記消失確定閾値の双方の値を設定することを特徴とする請求項１に記載の顔検出制御装置。
【請求項１３】
コンピュータに、
連続する画像を順次処理して前記画像中の顔を検出する顔検出手順と、
前記顔検出手順での検出結果をもとに、前記画像中における顔の出現状態を確定するための出現確定閾値および前記画像中における顔の消失状態を確定するための消失確定閾値を設定する閾値設定手順と、
前記顔検出手順で顔が検出された場合に、前記出現確定閾値に従って前記画像中に顔が出現したか否かを判定するとともに、前記顔検出手順で顔が検出されない場合に、前記消失確定閾値に従って前記画像中から顔が消失したか否かを判定する出現／消失判定手順と、
前記出現／消失判定手順での判定結果を出力する結果出力手順と、
を実行させることを特徴とする顔検出制御プログラム。
【請求項１４】
連続する画像を順次処理して前記画像中の顔を検出する顔検出工程と、
前記顔検出工程での検出結果をもとに、前記画像中における顔の出現状態を確定するための出現確定閾値および前記画像中における顔の消失状態を確定するための消失確定閾値を設定する閾値設定工程と、
前記顔検出工程で顔が検出された場合に、前記出現確定閾値に従って前記画像中に顔が出現したか否かを判定するとともに、前記顔検出工程で顔が検出されない場合に、前記消失確定閾値に従って前記画像中から顔が消失したか否かを判定する出現／消失判定工程と、
前記出現／消失判定工程での判定結果を出力する結果出力工程と、
を含むことを特徴とする顔検出制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、顔検出制御装置、顔検出制御プログラムおよび顔検出制御方法に関するものである。
【背景技術】
【０００２】
従来から、画像中に映る人物等の顔を検出する顔検出技術が知られている。かかる技術は、例えばテンプレートマッチング法によって画像中の顔の位置を検出し、目や鼻、口等の顔の特徴点の位置を検出するものであり、顔の大きさや向き等を検出することができる。また、デジタルカメラ等の撮像装置では、撮像素子に結像されている被写体像をリアルタイムに表示（ライブビュー）させて電子ファインダーとして用いているが、近年では、顔検出技術を適用してライブビュー画像中の顔を検出し、検出した顔を示す顔枠を表示するようにしたものが知られている。
【０００３】
一方で、動画中で動く被写体を追跡する技術が種々知られている。例えば特許文献１には、動画像中で変化する被写体の特徴点位置等の情報を蓄積しておき、被写体の追跡と認識とを一連の処理として行う技術が開示されている。この特許文献１の技術によれば、認識ミスを補完することができ、追跡性能を高めることができる。
【０００４】
【特許文献１】特許第４０８６４２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、従来の顔検出技術では、例えば顔が横や後ろを向いていると検出精度が低下する場合があった。このため、例えば顔の向きが変化すると顔検出の結果が不安定になる場合があり、顔検出結果に従ってライブビュー画像上に前述の顔枠を表示させると、顔枠の表示・非表示が繰り返されてちらつく等して見難い場合があった。なお、特許文献１を適用すれば、過去のフレームからの追跡によって被写体の認識（検出）ミスを補完することができ、安定した顔検出が実現できるが、予め認識（検出）対象の被写体の画像または画像特徴を登録しておかなければならなかった。
【０００６】
本発明は、上記に鑑みてなされたものであって、安定した顔検出の結果出力が可能な顔検出制御装置、顔検出制御プログラムおよび顔検出制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、本発明にかかる顔検出制御装置は、連続する画像を順次処理して前記画像中の顔を検出する顔検出部と、前記顔検出部による検出結果をもとに、前記画像中における顔の出現状態を確定するための出現確定閾値および前記画像中における顔の消失状態を確定するための消失確定閾値を設定する閾値設定部と、前記顔検出部によって顔が検出された場合に、前記出現確定閾値に従って前記画像中に顔が出現したか否かを判定するとともに、前記顔検出部によって顔が検出されない場合に、前記消失確定閾値に従って前記画像中から顔が消失したか否かを判定する出現／消失判定部と、前記出現／消失判定部による判定結果を出力する結果出力部と、を備えることを特徴とする。
【０００８】
また、本発明にかかる顔検出制御装置は、上記の発明において、前記顔検出部は、顔の大きさ、顔の回転角度、顔の傾きおよび顔の類似度の少なくともいずれか１つを検出結果として出力し、前記閾値設定部は、前記顔検出部によって検出された顔の大きさ、顔の回転角度、顔の傾きおよび顔の類似度のうちの１つまたは複数を用いて前記出現確定閾値および／または前記消失確定閾値を設定することを特徴とする。
【０００９】
また、本発明にかかる顔検出制御装置は、上記の発明において、前記顔検出部による検出結果をもとに、前記連続する画像間の顔の移動量を算出する移動量算出部を備え、前記閾値設定部は、前記移動量算出部によって算出された顔の移動量を加味して前記出現確定閾値および／または前記消失確定閾値を設定することを特徴とする。
【００１０】
また、本発明にかかる顔検出制御装置は、上記の発明において、前記移動量算出部は、前記連続する画像間の顔の変位を算出し、前記顔の類似度の値に応じた重み付けを行って前記顔の移動量を算出することを特徴とする。
【００１１】
また、本発明にかかる顔検出制御装置は、上記の発明において、前記閾値設定部は、前記移動量算出部によって算出された顔の移動量が所定の基準値未満の場合に、前記出現確定閾値を小さくまたは前記消失確定閾値を大きく設定することを特徴とする。
【００１２】
また、本発明にかかる顔検出制御装置は、上記の発明において、前記閾値設定部は、前記顔の回転角度をもとに、前記画像中の顔が正面向きの場合または前記正面向きに対して所定の回転角度範囲内を向いている場合に、前記出現確定閾値を小さくまたは前記消失確定閾値を大きく設定することを特徴とする。
【００１３】
また、本発明にかかる顔検出制御装置は、上記の発明において、前記閾値設定部は、前記顔の傾きをもとに、前記画像中の顔が前記画像の縦方向に対して傾きなしの場合または前記画像の縦方向に対して所定の傾き角度範囲内の場合に、前記出現確定閾値を小さくまたは前記消失確定閾値を大きく設定することを特徴とする。
【００１４】
また、本発明にかかる顔検出制御装置は、上記の発明において、前記閾値設定部は、前記顔検出部によって検出された顔の大きさが所定の基準値以下の場合に、前記出現確定閾値および／または前記消失確定閾値を大きく設定することを特徴とする。
【００１５】
また、本発明にかかる顔検出制御装置は、上記の発明において、前記出現／消失判定部は、前記顔検出部によって前記画像中から顔が検出された回数が前記出現確定閾値となった場合に前記画像中に顔が出現したと判定し、前記顔検出部によって前記画像中から顔が検出されない回数が前記消失確定閾値となった場合に前記画像中から顔が消失したと判定することを特徴とする。
【００１６】
また、本発明にかかる顔検出制御装置は、上記の発明において、前記閾値設定部は、前記顔検出部によって最初に顔が検出されたときの検出結果を用いて前記出現確定閾値を設定することを特徴とする。
【００１７】
また、本発明にかかる顔検出制御装置は、上記の発明において、前記閾値設定部は、前記出現／消失判定部が前記画像中に顔が出現したと判定したときの前記顔検出部による検出結果を用いて前記消失確定閾値を設定することを特徴とする。
【００１８】
また、本発明にかかる顔検出制御装置は、上記の発明において、前記閾値設定部は、所定の画像に対して前記顔検出部が行った顔の検出結果をもとに、前記出現確定閾値および前記消失確定閾値の双方の値を設定することを特徴とする。
【００１９】
また、本発明にかかる顔検出制御プログラムは、コンピュータに、連続する画像を順次処理して前記画像中の顔を検出する顔検出手順と、前記顔検出手順での検出結果をもとに、前記画像中における顔の出現状態を確定するための出現確定閾値および前記画像中における顔の消失状態を確定するための消失確定閾値を設定する閾値設定手順と、前記顔検出手順で顔が検出された場合に、前記出現確定閾値に従って前記画像中に顔が出現したか否かを判定するとともに、前記顔検出手順で顔が検出されない場合に、前記消失確定閾値に従って前記画像中から顔が消失したか否かを判定する出現／消失判定手順と、前記出現／消失判定手順での判定結果を出力する結果出力手順と、を実行させることを特徴とする。
【００２０】
また、本発明にかかる顔検出制御方法は、連続する画像を順次処理して前記画像中の顔を検出する顔検出工程と、前記顔検出工程での検出結果をもとに、前記画像中における顔の出現状態を確定するための出現確定閾値および前記画像中における顔の消失状態を確定するための消失確定閾値を設定する閾値設定工程と、前記顔検出工程で顔が検出された場合に、前記出現確定閾値に従って前記画像中に顔が出現したか否かを判定するとともに、前記顔検出工程で顔が検出されない場合に、前記消失確定閾値に従って前記画像中から顔が消失したか否かを判定する出現／消失判定工程と、前記出現／消失判定工程での判定結果を出力する結果出力工程と、を含むことを特徴とする。
【発明の効果】
【００２１】
本発明によれば、連続する画像中における顔の検出結果をもとに出現確定閾値および消失確定閾値を設定し、出現確定閾値に従って画像中に顔が出現したか否かを判定するとともに消失確定閾値に従って画像中から顔が消失したか否かを判定することができる。したがって、顔の検出結果を安定して出力可能な顔検出制御装置、顔検出制御プログラムおよび顔検出制御方法を実現することができる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照し、本発明の好適な実施の形態について詳細に説明する。本実施の形態では、本発明の顔検出装置をデジタルカメラに適用した場合を例にとって説明する。なお、この実施の形態によって本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００２３】
（実施の形態）
図１は、デジタルカメラ１の背面図である。図１に示すように、デジタルカメラ１は、カメラ本体２の上面に配設された撮影タイミングを指示するためのレリーズスイッチ（シャッタースイッチ）３、カメラ本体２の背面に配設された電源スイッチ４やメニュースイッチ５、上下左右の各方向スイッチ（上スイッチ、下スイッチ、左スイッチおよび右スイッチ）を有する十字キー６、操作内容を確定する等のためのＯＫスイッチ７、各種画面を表示する表示部１９等を備えている。また、図示しないが、カメラ本体２の前面には、撮像レンズ１０１（図５参照）等が配設されており、この撮像レンズ１０１を通して入射する被写体像を撮像する撮像部１２（図５を参照）をカメラ本体２の内部に備えている。
【００２４】
そして、電源スイッチ４を押下し、電源をＯＮすると、デジタルカメラ１は撮影可能な状態（撮影モード）となる。この撮影モードでは、撮像レンズ１０１を通して入射する被写体像が１フレーム（例えば１／３０秒）毎に出力され、ライブビュー画像として表示部１９にリアルタイムに表示されるようになっている。そして、例えばレリーズスイッチ３の押下タイミングで電子的な撮影が行われ、撮影画像が生成される。
【００２５】
先ず、本実施の形態のデジタルカメラ１の機能の一つである顔検出機能の概要について説明する。本実施の形態のデジタルカメラ１は、画像中に映る人物等の顔を検出する顔検出器１６２（図６参照）を備えており、検出した顔を示す顔枠をライブビュー画像上に表示する処理を行う。具体的には、１フレーム毎に取り込まれるライブビュー画像を画像処理して顔検出を行う。そして、顔検出の結果をもとに、ライブビュー画像中における顔の出現状態を確定するための出現確定閾値としての出現スレッシュａを設定する（出現スレッシュ設定処理）。そして、この出現スレッシュａに従ってライブビュー画像中に顔が出現したか否かを判定し、顔枠の表示タイミングを制御する。
【００２６】
図２は、顔枠の出現原理を説明する図であり、Ｎ−４フレームからＮフレームまでのフレーム毎に撮像部１２から取り込まれ、その都度表示部１９に更新表示される５枚のライブビュー画像（ａ）〜（ｅ）の一例を模式的に示している。そして、図２（ｂ）のＮ−３フレームについて行った顔検出の結果をもとに出現スレッシュａを設定する場合を示している。
【００２７】
出現スレッシュ設定処理では、図２（ｂ）に示すように、ライブビュー画像について行った顔検出の結果から得られる顔の大きさ、顔の回転角度、顔の傾き、顔の移動量および顔の類似度（以下、これらを包括して適宜「顔情報」という。）をもとに、出現スレッシュａを設定する。この出現スレッシュ設定処理の詳細については後述するが、出現スレッシュａの値は、顔情報から安定した顔検出が想定される場合には小さく設定され、不安定な顔検出が想定されるような場合には大きく設定されるようになっている。ここで、顔の大きさは、顔として検出された領域の大きさである。顔の回転角度は、例えば正面向きの顔を基準とした顔の水平方向の回転角度（顔の向き）を表す。顔の傾きは、ライブビュー画像の縦方向に対する顔の傾きを表す。顔の移動量は、現フレーム（図２の例ではＮ−３フレーム）の顔の位置について前フレーム（図２の例ではＮ−４フレーム）との間で算出した顔の位置の移動量を表す。顔の類似度としては、例えば、顔検出器１６２が顔検出の結果として出力する信頼度の値を用いる。この信頼度は、検出した顔がどの程度の信頼度で顔であるかを示す値である。
【００２８】
そして、図２（ｂ）に示すように、顔情報をもとに出現スレッシュａとして“２”が設定された場合には、２フレーム連続して顔が検出されたことを顔の出現確定条件として顔枠の表示タイミングを制御する。すなわち、Ｎ−２フレームで顔Ａ１１が検出され（図２（ｃ））、続くＮ−１フレームでも顔Ａ１２が検出されると（図２（ｄ））、顔の出現確定条件を満たす。このため、Ｎ−１フレームで顔枠Ｆの表示が開始される。また、図２の例では、続くＮフレームにおいても顔Ａ１３が検出されており（図２（ｅ））、顔枠Ｆの表示が継続されている。
【００２９】
このように、本実施の形態では、顔情報をもとに出現スレッシュａを設定する。そして、設定した出現スレッシュａに従ってライブビュー画像中に顔が出現したか否かを判定して顔枠の表示タイミングを制御することができる。すなわち、顔の出現確定条件を満たした場合にライブビュー画像上に顔枠を表示する。顔の出現確定条件を満たさない間は、ライブビュー画像から顔が検出された場合であっても、顔枠を表示しない。
【００３０】
さらに、デジタルカメラ１は、ライブビュー画像中から顔が検出されなかった場合に、表示していた顔枠の表示を消失（非表示）させる処理を行う。具体的には、顔検出の結果をもとに、ライブビュー画像中における顔の消失状態を確定するための消失確定閾値としての消失スレッシュｄを設定する（消失スレッシュ設定処理）。そして、この消失スレッシュｄに従ってライブビュー画像中から顔が消失したか否かを判定し、顔枠の消失タイミングを制御する。なお、本実施の形態では、前述のように制御される顔枠の表示タイミングで消失スレッシュｄを設定することとする。すなわち、図２（ｄ）で顔枠Ｆを表示したときに、消失スレッシュｄの設定を行う。
【００３１】
図３は、顔枠の消失原理を説明する図であり、Ｎ−１フレームからＮ＋３フレームまでの各フレーム毎に撮像部１２から取り込まれ、その都度表示部１９に更新表示される５枚のライブビュー画像（ａ）〜（ｅ）の一例を模式的に示している。そして、図３（ａ）のＮ−１フレームについて行った顔検出の結果をもとに消失スレッシュｄを設定する場合を示している。
【００３２】
消失スレッシュ設定処理では、図３（ａ）に示すように、ライブビュー画像について行った顔検出の結果から得られる顔情報をもとに、消失スレッシュｄを設定する。この消失スレッシュ設定処理の詳細については後述するが、消失スレッシュｄの値は、出現スレッシュ設定処理と同様にして、顔情報から安定した顔検出が想定される場合には小さく設定され、不安定な顔検出が想定されるような場合には大きく設定されるようになっている。
【００３３】
そして、図３（ａ）に示すように、顔情報をもとに消失スレッシュｄとして“３”が設定された場合には、３フレーム連続して顔が検出されないことを顔の消失確定条件として顔枠の消失タイミングを制御する。例えば、図３（ａ），（ｂ）では顔枠Ｆの表示は継続されており、図３（ｃ）のように顔が検出されない場合（Ｎ＋１フレーム）も、顔枠Ｆの表示は継続する。そして、顔の消失確定条件を満たすまで顔枠Ｆは表示されたままである（図３（ｄ），（ｅ））。図示しないが、３フレーム連続して顔が検出されず顔の消失確定条件を満たした場合には、ライブビュー画像中から顔が消失したと判定して顔枠Ｆが非表示となる。
【００３４】
このように、本実施の形態では、顔情報をもとに消失スレッシュｄを設定する。そして、設定した消失スレッシュｄに従ってライブビュー画像中から顔が消失したか否かを判定して顔枠の消失タイミングを制御することができる。すなわち、顔の消失確定条件を満たした場合にライブビュー画像上の顔枠を非表示とする。顔の消失確定条件を満たさない間は、ライブビュー画像から顔が検出されない場合であっても、顔枠を表示したままにする。
【００３５】
図４は、顔検出の結果、出現スレッシュａ、消失スレッシュｄおよび顔枠表示の一例をフレーム毎にテーブル化して示した図である。図４において、レコードＲ１１の顔検出の結果は、顔が検出された場合を“○”、検出されない場合を“×”として示している。また、レコードＲ１３では、出現スレッシュａの設定値と併せてその出現状態を示している。一方、レコードＲ１５では、消失スレッシュｄの設定値と併せてその消失状態を示している。そして、レコードＲ１７の顔枠表示は、顔枠の表示を“ＯＮ”、非表示を“ＯＦＦ”として示している。
【００３６】
図４に示すように、顔枠表示がＯＦＦの状態で最初に顔が検出された際（フレーム１）、出現スレッシュ設定処理によって出現スレッシュａが設定される（例えばａ＝２）。一方、出現スレッシュａの設定時において消失スレッシュｄが“０”にリセットされる。そして、出現スレッシュａに従ってライブビュー画像中に顔が出現したか否かを判定し、フレーム４，５と２フレーム連続して顔が検出されて出現確定条件を満たした時点で出現状態が確定し、顔枠が表示される（フレーム５）。一方、この出現状態の確定時において、消失スレッシュ設定処理によって消失スレッシュｄが設定される（例えばｄ＝３）。そして、消失スレッシュｄに従ってライブビュー画像中から顔が消失したか否かを判定し、フレーム９，１０，１１と顔が検出されない状態が３フレーム連続して消失確定条件を満たした時点で消失状態が確定し、顔枠が非表示となる（フレーム１１）。一方、この消失状態の確定時において出現スレッシュａが“０”にリセットされる。
【００３７】
その後は、同様の処理を繰り返す。すなわち、フレーム１１で顔枠表示がＯＦＦとなった後、次に顔が検出された際に（フレーム１３）、出現スレッシュ設定処理によって出現スレッシュａが設定される（例えばａ＝１）。このとき消失スレッシュｄがリセットされる。そして、出現スレッシュａに従ってライブビュー画像中に顔が出現したか否かを判定し、続いて顔が検出されたフレーム１４で出現状態が確定して顔枠が表示される。またこのとき、消失スレッシュ設定処理によって消失スレッシュｄが設定される（例えばｄ＝４）。
【００３８】
図５は、このデジタルカメラ１のシステム構成を示すブロック図である。図５に示すように、デジタルカメラ１は、レンズ系ユニット１０、駆動部１１、撮像部１２、Ａ−ＡＭＰ１３、ＡＤＣ１４、画像処理部１５、ＣＰＵ１７、ビデオエンコーダ１８、表示部１９、操作部２０、一時記録部２１、記録部２２等を含む。そして、ＡＤＣ１４と、画像処理部１５と、ＣＰＵ１７と、ビデオエンコーダ１８と、一時記録部２１と、記録部２２とがバス２３を介して接続され、データの入出力が可能に構成されている。
【００３９】
レンズ系ユニット１０は、撮像レンズ１０１や絞り１０３、シャッター１０５等を含み、駆動部１１は、これらレンズ系ユニット１０を構成する撮像レンズ１０１や絞り１０３、シャッター１０５に制御信号を出力して各部１０１，１０３，１０５を駆動する。
【００４０】
撮像部１２は、例えばＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）等の撮像素子で構成され、レンズ系ユニット１０を通して入射する被写体像をフレーム単位で光電変換し、アナログ電気信号を出力する。撮像部１２から出力されたアナログ電気信号は、Ａ−ＡＭＰ１３でゲイン調整処理され、ＡＤＣ１４でデジタル電気信号にＡ／Ｄ変換処理されて、画像データとして出力される。この画像データは、一時記録部２１に一時的に保持される。
【００４１】
画像処理部１５は、ＡＤＣ１４から出力された画像データに対して各種の画像処理を施すとともに、記録用や表示用に適した画像データに変換する処理を行う。例えば、撮影画像の画像データを記録する際、あるいは記録されている画像データを表示する際等に、ＪＰＥＧ（Joint Photographic Experts Group）方式等に基づく画像データの圧縮処理や伸張処理を行う。この画像処理部１５で画像処理された画像データは、記録部２２に記録され、あるいはビデオエンコーダ１８に出力されて表示部１９に表示される。
【００４２】
ＣＰＵ１７は、操作部２０からの操作信号等に応じて記録部２２からカメラプログラムを読み出して実行し、デジタルカメラ１を構成する各部に対する指示やデータの転送等を行ってデジタルカメラ１の動作を統括的に制御する。例えば、駆動部１１、Ａ−ＡＭＰ１３、ＡＤＣ１４、画像処理部１５、ビデオエンコーダ１８等に制御信号を出力して各部１１，１３，１４，１５，１８を駆動する。
【００４３】
ビデオエンコーダ１８は、表示用に変換された画像データを表示部１９に送出して表示させる。例えば撮影モードでは、１フレーム毎に撮像部１２から取り込まれて画像処理部１５によって画像処理された画像をフレーム単位で表示部１９に切換表示させ、ライブビュー画像の表示を行う。一方、再生モードでは、記録部２２から読み出されて画像処理部１５よって画像処理された撮影画像を表示部１９に表示させる。また、このビデオエンコーダ１８は、図示しないビデオ信号出力端子に接続された外部機器に対し、必要に応じて表示用の画像データを出力する。これにより、例えば、撮影画像を例えばテレビ等の外部の表示装置に表示させるといったことができるようになっている。
【００４４】
表示部１９は、撮影画像やライブビュー画像の他、デジタルカメラ１の各種設定情報等を表示するためのものであり、ＬＣＤ（Liquid Crystal Display）やＥＬディスプレイ（Electroluminescence Display）等の表示装置で実現される。
【００４５】
操作部２０は、撮影の開始指示、撮影モードや再生モードといったモードの設定操作、撮影条件の設定操作等、ユーザによる各種操作を受け付けて操作信号をＣＰＵ１７に通知するためのものであり、各種機能が割り当てられたボタンスイッチ等で実現される。この操作部２０は、図１のレリーズスイッチ３、電源スイッチ４、メニュースイッチ５、十字キー６、およびＯＫスイッチ７を含む。
【００４６】
一時記録部２１は、ＣＰＵ１７の作業用に用いられる。また、一時記録部２１は、ＡＤＣ１４から出力される画像データの一時記録用等に使用され、１フレーム毎に撮像部１２から取り込まれる画像（ライブビュー画像）の画像データや、撮影タイミングで撮像部１２から取り込まれる画像（撮影画像）の画像データ等が一時的に記録される。この一時記録部２１は、例えばＤＲＡＭ等で実現される。
【００４７】
記録部２２は、デジタルカメラ１を動作させ、このデジタルカメラ１が備える種々の機能を実現するための各種のカメラプログラムや、このカメラプログラムの実行中に使用されるデータ等を記録しておくためのものである。また、撮影された撮影画像の画像データを記録しておくためのものである。この記録部２２は、更新記録可能なフラッシュメモリ等のＲＯＭやＲＡＭといった各種ＩＣメモリ、ハードディスク、デジタルカメラ１に着脱自在なメモリカードとその種類に応じた図示しない読み書き装置等によって実現され、必要に応じた記録装置を適宜採用して用いることができる。
【００４８】
続いて、画像処理部１５の構成について説明する。図６は、画像処理部１５の構成を示すブロック図である。図６に示すように、画像処理部１５は、画像データを入力する画像データ入力部１５１と、画像データを保持する画像データ保持部１５２と、画像データに対してノイズの除去処理やＹ／Ｃ分離処理等の補正処理を施す画像補正部１５３と、画像データのフォーマットを変換する画像フォーマット変換部１５４と、画像データを出力する画像データ出力部１５５とを含む。また、画像処理部１５は、顔検出制御部１６と、表示画像生成部１５６とを含む。
【００４９】
この画像処理部１５には、画像データ入力部１５１から１フレーム毎に画像データが入力される。入力された画像データは、画像データ保持部１５２に保持される。そして、画像処理部１５を構成する各部は、画像データ保持部１５２を作業用メモリとして用いて画像データを処理し、画像データ出力部１５５から出力する。
【００５０】
顔検出制御部１６は、顔検出情報取得部１６１と、顔検出部としての顔検出器１６２と、移動量算出部１６３と、閾値設定部としての出力スレッシュ設定部１６４と、出現／消失判定部としての出力スレッシュ判定部１６５とを含む。
【００５１】
顔検出情報取得部１６１は、画像データ保持部１５２に保持されたライブビュー画像の画像データを顔検出器１６２に出力する。そして、この顔検出器１６２による顔検出結果を取得するとともに、取得した顔検出結果を移動量算出部１６３に出力する。
【００５２】
顔検出器１６２は、顔検出情報取得部１６１から入力された画像データを処理して顔を検出し、顔検出結果を顔検出情報取得部１６１に出力する。例えば、顔検出器１６２は、テンプレートマッチング法によってライブビュー画像中の顔の位置を検出し、目や鼻、口等の顔の特徴点の位置を検出することによって、顔の大きさや向き等を検出する。ここで、顔検出結果には、顔の有無や顔の位置の他、顔情報を構成する顔の大きさや顔の回転角度、顔の傾き、顔の類似度が含まれる。
【００５３】
移動量算出部１６３は、顔検出情報取得部１６１から入力される顔検出結果をもとに顔の移動量を算出する。例えば、移動量算出部１６３は、直前のフレーム（前フレーム）について行った前回の顔検出結果を保持しておき、前フレームの顔検出結果と現フレームについて今回行った顔検出結果とをもとに顔の移動量を算出する。
【００５４】
図７は、移動量算出部１６３による顔の移動量の算出原理を説明する図である。移動量算出部１６３は、例えば、前フレームＩ２１における顔の位置（例えばＸ座標）と現フレームＩ２３における顔の位置（例えばＸ座標）との差分をフレームＩ２１，Ｉ２３間の顔の変位として算出する。そして、移動量算出部１６３は、算出したフレームＩ２１，Ｉ２３間の顔の変位に現フレームＩ２３について得られた顔の類似度に応じた重み付けを行って顔の移動量を算出する。
【００５５】
例えば図７では、フレームＩ２１，Ｉ２３間の顔の変位に、現フレームＩ２３について得られた顔の類似度を類似度最大値で除算して得た重み計数を重み付けすることによって、顔の移動量を算出している。ここで、類似度最大値は、顔の類似度として取り得る最大の値（例えば「１０００」といった値）である。そして、移動量算出部１６３は、このようにして算出した値が予め設定される所定の基準値より大きい場合には、算出値を顔の移動量として出力する。一方、移動量算出部１６３は、算出値が基準値以下の場合には、顔の移動量を「０」として出力する。このように、移動量算出部１６３は、現フレームＩ２３について得られた顔の類似度を加味して顔の移動量を算出するとともに、算出値が基準値以下の場合には顔の移動量を「０」として出力することによって、顔検出結果のばらつきや誤検出の影響を低減させている。なお、図７の例では、顔の位置としてＸ座標のみを用いて顔の移動量を算出することとしたが、Ｙ座標や顔の大きさ等を加味して算出することとしてもよい。
【００５６】
出力スレッシュ設定部１６４は、出現スレッシュ設定処理を行い、顔検出器１６２による顔検出結果と移動量算出部１６３によって算出された顔の移動量とをもとに出現スレッシュａを設定する。さらに、出力スレッシュ設定部１６４は、消失スレッシュ設定処理を行い、顔検出器１６２による顔検出結果と移動量算出部１６３によって算出された顔の移動量とをもとに消失スレッシュｄを設定する。
【００５７】
出力スレッシュ判定部１６５は、出力スレッシュ設定部１６４によって設定された出現スレッシュａに従ってライブビュー画像中に顔が出現したか否かの判定を行い、判定結果を表示画像生成部１５６に出力する。また、出力スレッシュ判定部１６５は、出力スレッシュ設定部１６４によって設定された消失スレッシュｄに従ってライブビュー画像中から顔が消失したか否かの判定を行い、判定結果を表示画像生成部１５６に出力する。
【００５８】
表示画像生成部１５６は、出力スレッシュ判定部１６５によって顔の出現状態が確定された場合（ライブビュー画像中に顔が出現したと判定された場合）に顔枠の表示設定をＯＮとし、ライブビュー画像上に検出した顔を示す顔枠を表示した表示画像を生成する。一方、表示画像生成部１５６は、出力スレッシュ判定部１６５によって顔の消失状態が確定された場合（ライブビュー画像中から顔が消失したと判定された場合）に顔枠の表示設定をＯＦＦとし、顔枠を非表示として表示画像を生成する。
【００５９】
次に、デジタルカメラ１が行う処理手順について、図８を参照して説明する。なお、図８では、ライブビュー画像上の顔枠表示に関する処理に着目したデジタルカメラ１の処理手順を示している。
【００６０】
図８に示すように、先ず顔検出情報取得部１６１が、画像データ入力部１５１によって入力されて画像データ保持部１５２に保持された現フレームの画像データを顔検出器１６２に出力し、顔検出器１６２が顔検出処理を行う（ステップａ１）。顔検出器１６２による顔検出結果は、顔検出情報取得部１６１に入力される。続いて、移動量算出部１６３が、現フレームについて行った顔検出結果を前フレームについて行った顔検出結果とをもとに現フレームと前フレームとの間の顔の移動量を算出する（ステップａ３）。そして、出力スレッシュ設定部１６４が、出現スレッシュ設定処理を行う（ステップａ５）。ここで、出現スレッシュａが設定される。
【００６１】
出現スレッシュ設定処理によって出現スレッシュａを設定したならば、続いて出力スレッシュ判定部１６５は、消失スレッシュｄを“０”にリセットするとともに（ステップａ７）、出現判定カウンタｉを初期値“０”にリセットする（ステップａ９）。そして、出力スレッシュ判定部１６５は、出現判定カウンタｉを判定し、その値が出現スレッシュａ未満の場合には（ステップａ１１：Ｎｏ）、ステップａ１３〜ステップａ２１の処理に移る。
【００６２】
すなわち先ず、顔検出情報取得部１６１が、ステップａ１と同様の要領で画像データ入力部１５１によって新たに入力されて画像データ保持部１５２に保持された現フレームの画像データを顔検出器１６２に出力し、顔検出器１６２が顔検出処理を行う（ステップａ１３）。ここで、顔検出情報取得部１６１は、この顔検出処理の結果顔検出器１６２から入力された顔検出結果を出力スレッシュ判定部１６５に出力する。出力スレッシュ判定部１６５は、ステップａ１３での顔検出結果を判定し（ステップａ１５）、顔が検出された場合には出現判定カウンタｉをインクリメントして更新する（ステップａ１７）。一方、出力スレッシュ判定部１６５は、顔が検出されなかった場合には、出現判定カウンタｉを初期値“０”にリセットする（ステップａ１９）。ここで出現判定カウンタｉをリセットするのは、フレーム毎に取り込まれるライブビュー画像から連続して顔が検出された回数が、出現スレッシュａを超えた時点でライブビュー画像上に顔枠を出現（表示）させるためである。続いて、終了操作が入力されなければ（ステップａ２１：Ｎｏ）、ステップａ１１に戻る。終了操作が入力された場合には（ステップａ２１：Ｙｅｓ）、本処理を終える。
【００６３】
そして、出力スレッシュ判定部１６５は、出現判定カウンタｉの値が出現スレッシュａ以上であれば（ステップａ１１：Ｙｅｓ）、ライブビュー画像中に顔が出現したと判定して顔の出現状態を確定する。これに応答し、表示画像生成部１５６が、結果出力部として顔枠表示をＯＮにし、検出された顔を示す顔枠を表示した表示画像を生成する（ステップａ２３）。ここでの処理の結果、ライブビュー画像上に顔枠が表示される。
【００６４】
続いて、移動量算出部１６３が、現フレームについて行った顔検出結果を前フレームについて行った顔検出結果とをもとに現フレームと前フレームとの間の顔の移動量を算出する（ステップａ２５）。そして、出力スレッシュ設定部１６４が、消失スレッシュ設定処理を行う（ステップａ２７）。ここで、消失スレッシュｄが設定される。
【００６５】
消失スレッシュ設定処理によって消失スレッシュｄを設定したならば、続いて出力スレッシュ判定部１６５は、消失判定カウンタｊを初期値“０”にリセットする（ステップａ２９）。そして、出力スレッシュ判定部１６５は、消失判定カウンタｊを判定し、その値が消失スレッシュｄ未満の場合には（ステップａ３１：Ｎｏ）、ステップａ３３〜ステップａ４１の処理に移る。
【００６６】
すなわち、先ず、顔検出情報取得部１６１が、ステップａ１と同様の要領で画像データ入力部１５１によって新たに入力されて画像データ保持部１５２に保持された現フレームの画像データを顔検出器１６２に出力し、顔検出器１６２が顔検出処理を行う（ステップａ３３）。このとき、顔検出情報取得部１６１は、この顔検出処理の結果顔検出器１６２から入力された顔検出結果を出力スレッシュ判定部１６５に出力する。出力スレッシュ判定部１６５は、ステップａ３３での顔検出結果を判定し（ステップａ３５）、顔が検出されなかった場合には消失判定カウンタｊをインクリメントして更新する（ステップａ３７）。一方、出力スレッシュ判定部１６５は、顔が検出された場合には、消失判定カウンタｊを初期値“０”にリセットする（ステップａ３９）。ここで消失判定カウンタｊをリセットするのは、フレーム毎に取り込まれるライブビュー画像から連続して顔が検出されなかった回数が、消失スレッシュｄを超えた時点でライブビュー画像上の顔枠を消失（非表示）させるためである。続いて、終了操作が入力されなければ（ステップａ４１：Ｎｏ）、ステップａ３１に戻る。終了操作が入力された場合には（ステップａ４１：Ｙｅｓ）、本処理を終える。
【００６７】
そして、出力スレッシュ判定部１６５は、消失判定カウンタｊの値が消失スレッシュｄ以上であれば（ステップａ３１：Ｙｅｓ）、ライブビュー画像中から顔が消失したと判定して顔の消失状態を確定する。これに応答し、表示画像生成部１５６が、結果出力部として顔枠表示をＯＦＦにし、検出された顔を示す顔枠を非表示として表示画像を生成する（ステップａ４３）。ここでの処理の結果、ライブビュー画像上での顔枠の表示が消失する。続いて、出力スレッシュ設定部１６４は、出現スレッシュａを“０”にリセットし（ステップａ４５）、その後ステップａ４７に移行する。
【００６８】
すなわち、ステップａ４７では、終了操作の有無を判定し、終了操作が入力されなければ（ステップａ４７：Ｎｏ）、ステップａ１に戻る。終了操作が入力された場合には（ステップａ４７：Ｙｅｓ）、本処理を終える。
【００６９】
次に、出現スレッシュ設定処理および消失スレッシュ設定処理について説明する。図９は、出現スレッシュ設定処理の詳細な処理手順を示すフローチャートである。なお、図９０では、ステップｂ３〜ステップｂ３１の判定処理によって図９中に向かって右側に処理が分岐していく程顔枠が出現し難くなるように、出現スレッシュａに設定される値が大きくなる。また、図１０は、消失スレッシュ設定処理の詳細な処理手順を示すフローチャートである。そして、図１０では、ステップｃ３〜ステップｃ３１の判定処理によって図１０中に向かって右側に処理が分岐していく程顔枠が消失し難くなるように、消失スレッシュｄに設定される値が大きくなる。
【００７０】
出現スレッシュ設定処理では、図９に示すように、出力スレッシュ設定部１６４は、先ず、図８のステップａ１で検出された顔検出結果に含まれる顔の大きさ、顔の回転角度、顔の傾き、顔の類似度およびステップａ３で算出された顔の移動量を顔情報として取得する（ステップｂ１）。
【００７１】
そして、出力スレッシュ設定部１６４は、顔の大きさが予め設定される所定の閾値以下か否かを判定し、閾値より大きければ（ステップｂ３：Ｎｏ）、ステップｂ５に移行する。閾値以下の場合には（ステップｂ３：Ｙｅｓ）、ステップｂ７に移行する。このように、出現スレッシュ設定処理では、顔のサイズが小さい場合には、顔検出が不安定となることを想定して出現スレッシュａの値を大きく設定するように処理を図９中の右側へと分岐させる。これに対し、顔がある程度大きければ出現スレッシュａの値を小さく設定し、レスポンス良く顔枠が表示されるようにする。
【００７２】
ステップｂ５では、出力スレッシュ設定部１６４は、顔の回転角度をもとにライブビュー画像中の顔が正面向きまたは正面向きを基準として所定の回転角度範囲内を向いているか否かを判定し、正面向きまたは所定の回転角度範囲内の場合には（ステップｂ５：Ｙｅｓ）、ステップｂ９に移行する。正面向きから所定の角度範囲外であれば（ステップｂ５：Ｎｏ）、ステップｂ１１に移行する。また、ステップｂ７では、出力スレッシュ設定部１６４は、ステップｂ５と同様にして顔の回転角度を判定し、顔の回転角度が正面向きまたは所定の回転角度範囲内の場合には（ステップｂ７：Ｙｅｓ）、ステップｂ１１に移行する。正面向きから所定の角度範囲外であれば（ステップｂ７：Ｎｏ）、ステップｂ１３に移行する。このように、出現スレッシュ設定処理では、顔が正面から大きく外れた方向を向いている場合には、顔検出が不安定となることを想定して出現スレッシュａの値を大きく設定するように処理を図９中の右側へと分岐させる。これに対し、顔がほぼ正面を向いている場合には出現スレッシュａの値を小さく設定し、レスポンス良く顔枠が表示されるようにする。
【００７３】
ステップｂ９では、出力スレッシュ設定部１６４は、顔の傾きをもとにライブビュー画像中の顔がこのライブビュー画像の縦方向に対して傾きなしまたは傾きなしの状態を基準として所定の傾き角度範囲内か否かを判定し、傾きなしまたは所定の傾き角度範囲内の場合には（ステップｂ９：Ｙｅｓ）、ステップｂ１５に移行する。傾きなしの状態を基準とした所定の傾き角度範囲外であれば（ステップｂ９：Ｎｏ）、ステップｂ１７に移行する。また、ステップｂ１１では、出力スレッシュ設定部１６４は、ステップｂ９と同様にして顔の傾きが傾きなしまたは傾きなしの状態を基準として所定の傾き角度範囲内か否かを判定し、傾きなしまたは所定の傾き角度範囲内の場合には（ステップｂ１１：Ｙｅｓ）、ステップｂ１７に移行する。傾きなしの状態を基準とした所定の傾き角度範囲外であれば（ステップｂ１１：Ｎｏ）、ステップｂ１９に移行する。また、ステップｂ１３でも、出力スレッシュ設定部１６４は、ステップｂ９と同様にして傾きなしまたは傾きなしの状態を基準として所定の傾き角度範囲内か否かを判定し、傾きなしまたは所定の傾き角度範囲内の場合には（ステップｂ１３：Ｙｅｓ）、ステップｂ１９に移行する。傾きなしの状態を基準とした所定の傾き角度範囲外であれば（ステップｂ１３：Ｎｏ）、ステップｂ２１に移行する。このように、出現スレッシュ設定処理では、ライブビュー画像の縦方向に対して顔が大きく傾いている場合には、顔検出が不安定となることを想定して出現スレッシュａの値を大きく設定するように処理を図９中の右側へと分岐させる。これに対し、顔の傾きが小さい場合には出現スレッシュａの値を小さく設定し、レスポンス良く顔枠が表示されるようにする。
【００７４】
ステップｂ１５では、出力スレッシュ設定部１６４は、顔の移動量が予め設定される所定の閾値未満か否かを判定し、閾値未満の場合には（ステップｂ１５：Ｙｅｓ）、ステップｂ２３に移行する。閾値以上であれば（ステップｂ１５：Ｎｏ）、ステップｂ２５に移行する。また、ステップｂ１７では、出力スレッシュ設定部１６４は、ステップｂ１５と同様にして顔の移動量が所定の閾値未満か否かを判定し、閾値未満の場合には（ステップｂ１７：Ｙｅｓ）、ステップｂ２５に移行する。閾値以上であれば（ステップｂ１７：Ｎｏ）、ステップｂ２７に移行する。また、ステップｂ１９でも、出力スレッシュ設定部１６４は、ステップｂ１５と同様にして顔の移動量が所定の閾値未満か否かを判定し、閾値未満の場合には（ステップｂ１９：Ｙｅｓ）、ステップｂ２７に移行する。閾値以上であれば（ステップｂ１９：Ｎｏ）、ステップｂ２９に移行する。さらに、ステップｂ２１でも、出力スレッシュ設定部１６４は、ステップｂ１５と同様にして顔の移動量が所定の閾値未満か否かを判定し、閾値未満の場合には（ステップｂ２１：Ｙｅｓ）、ステップｂ２９に移行する。閾値以上であれば（ステップｂ２１：Ｎｏ）、ステップｂ３１に移行する。このように、出現スレッシュ設定処理では、顔の移動量が大きい場合には、出現スレッシュａの値を大きく設定するように処理を図９中の右側へと分岐させる。これに対し、顔の移動量が小さくほぼ静止しているような場合には出現スレッシュａの値を小さく設定し、動きのないあるいは動きの小さい顔に対してはレスポンス良く顔枠が表示されるようにする。
【００７５】
ステップｂ２３では、出力スレッシュ設定部１６４は、顔の類似度が所定の閾値以上か否かを判定し、閾値以上の場合には（ステップｂ２３：Ｙｅｓ）、ステップｂ３３に移行する。閾値未満であれば（ステップｂ２３：Ｎｏ）、ステップｂ３５に移行する。また、ステップｂ２５では、出力スレッシュ設定部１６４は、ステップｂ２３と同様にして顔の類似度が所定の閾値以上か否かを判定し、閾値以上の場合には（ステップｂ２５：Ｙｅｓ）、ステップｂ３５に移行する。閾値未満であれば（ステップｂ２５：Ｎｏ）、ステップｂ３７に移行する。また、ステップｂ２７でも、出力スレッシュ設定部１６４は、ステップｂ２３と同様にして顔の移動量が所定の閾値以上か否かを判定し、閾値以上の場合には（ステップｂ２７：Ｙｅｓ）、ステップｂ３７に移行する。閾値未満であれば（ステップｂ２７：Ｎｏ）、ステップｂ３９に移行する。また、ステップｂ２９でも、出力スレッシュ設定部１６４は、ステップｂ２３と同様にして顔の移動量が所定の閾値以上か否かを判定し、閾値以上の場合には（ステップｂ２９：Ｙｅｓ）、ステップｂ３９に移行する。閾値未満であれば（ステップｂ２９：Ｎｏ）、ステップｂ４１に移行する。さらに、ステップｂ３１でも、出力スレッシュ設定部１６４は、ステップｂ２３と同様にして顔の移動量が所定の閾値以上か否かを判定し、閾値以上の場合には（ステップｂ３１：Ｙｅｓ）、ステップｂ４１に移行する。閾値未満であれば（ステップｂ３１：Ｎｏ）、ステップｂ４３に移行する。このように、出現スレッシュ設定処理では、顔の類似度が低い場合には顔検出が不安定となることを想定して出現スレッシュａの値を大きく設定するように処理を図９中の右側へと分岐させる。これに対し、顔の類似度が高ければ出現スレッシュａの値を小さく設定し、レスポンス良く顔枠が表示されるようにする。
【００７６】
そして、出力スレッシュ設定部１６４は、ステップｂ３３では出現スレッシュａを“１”に設定する。同様にして、ステップｂ３５では、出力スレッシュ設定部１６４は、出現スレッシュａを“１”に設定する。また、ステップｂ３７では、出力スレッシュ設定部１６４は、出現スレッシュａを“２”に設定する。同様にして、ステップｂ３９では、出力スレッシュ設定部１６４は、出現スレッシュａを“２”に設定する。また、ステップｂ４１では、出力スレッシュ設定部１６４は、出現スレッシュａを“３”に設定する。同様にして、ステップｂ４３では、出力スレッシュ設定部１６４は、出現スレッシュａを“３”に設定する。
【００７７】
そして、ステップｂ３３、ステップｂ３５、ステップｂ３７、ステップｂ３９、ステップｂ４１またはステップｂ４３で出現スレッシュａを設定したならば図８のステップａ５にリターンし、その後ステップａ７に移行する。
【００７８】
一方、消失スレッシュ設定処理では、図１０に示すように、出力スレッシュ設定部１６４は、先ず、直前の顔検出処理の結果得られた顔の大きさ、顔の回転角度、顔の傾き、顔の類似度および図８ステップａ２５で算出された顔の移動量を顔情報として取得する（ステップｃ１）。
【００７９】
そして、出力スレッシュ設定部１６４は、顔の大きさが予め設定される所定の閾値以下か否かを判定し、閾値より大きければ（ステップｃ３：Ｎｏ）、ステップｃ５に移行する。閾値以下の場合には（ステップｃ３：Ｙｅｓ）、ステップｃ７に移行する。このように、消失スレッシュ設定処理では、顔のサイズが小さい場合には消失スレッシュｄの値を大きく設定して顔枠を消失し難くする。一方、顔がある程度大きければ消失スレッシュｄの値を小さく設定し、レスポンス良く顔枠が消失されるようにする。
【００８０】
ステップｃ５では、出力スレッシュ設定部１６４は、顔の回転角度をもとにライブビュー画像中の顔が正面向きまたは正面向きを基準として所定の回転角度範囲内を向いているか否かを判定し、正面向きまたは所定の回転角度範囲外の場合には（ステップｃ５：Ｎｏ）、ステップｃ９に移行する。正面向きから所定の角度範囲内であれば（ステップｃ５：Ｙｅｓ）、ステップｃ１１に移行する。また、ステップｃ７では、出力スレッシュ設定部１６４は、ステップｃ５と同様にして顔の回転角度を判定し、顔の回転角度が正面向きまたは所定の回転角度範囲外の場合には（ステップｃ７：Ｎｏ）、ステップｃ１１に移行する。正面向きから所定の角度範囲内であれば（ステップｃ７：Ｙｅｓ）、ステップｃ１３に移行する。このように、消失スレッシュ設定処理では、顔が正面から大きく外れた方向を向いている場合には消失スレッシュｄの値を小さく設定し、レスポンス良く顔枠が消失されるようにする。一方、顔がほぼ正面を向いていれば消失スレッシュｄの値を大きく設定して顔枠を消失し難くする。
【００８１】
ステップｃ９では、出力スレッシュ設定部１６４は、顔の傾きをもとにライブビュー画像中の顔がこのライブビュー画像の縦方向に対して傾きなしまたは傾きなしの状態を基準として所定の傾き角度範囲内か否かを判定し、傾きなしまたは所定の傾き角度範囲外の場合には（ステップｃ９：Ｎｏ）、ステップｃ１５に移行する。傾きなしの状態を基準とした所定の傾き角度範囲内であれば（ステップｃ９：Ｙｅｓ）、ステップｃ１７に移行する。また、ステップｃ１１では、出力スレッシュ設定部１６４は、ステップｃ９と同様にして顔の傾きが傾きなしまたは傾きなしの状態を基準として所定の傾き角度範囲内か否かを判定し、傾きなしまたは所定の傾き角度範囲外の場合には（ステップｃ１１：Ｎｏ）、ステップｃ１７に移行する。傾きなしの状態を基準とした所定の傾き角度範囲内であれば（ステップｃ１１：Ｙｅｓ）、ステップｃ１９に移行する。また、ステップｃ１３でも、出力スレッシュ設定部１６４は、ステップｃ９と同様にして傾きなしまたは傾きなしの状態を基準として所定の傾き角度範囲内か否かを判定し、傾きなしまたは所定の傾き角度範囲外の場合には（ステップｃ１３：Ｎｏ）、ステップｃ１９に移行する。傾きなしの状態を基準とした所定の傾き角度範囲内であれば（ステップｃ１３：Ｙｅｓ）、ステップｃ２１に移行する。このように、消失スレッシュ設定処理では、ライブビュー画像の縦方向に対して顔が大きく傾いている場合には消失スレッシュｄの値を小さく設定し、レスポンス良く顔枠が消失されるようにする。一方、顔の傾きが小さければ消失スレッシュｄの値を大きく設定して顔枠を消失し難くする。
【００８２】
ステップｃ１５では、出力スレッシュ設定部１６４は、顔の移動量が予め設定される所定の閾値未満か否かを判定し、閾値以上の場合には（ステップｃ１５：Ｎｏ）、ステップｃ２３に移行する。閾値未満であれば（ステップｃ１５：Ｙｅｓ）、ステップｃ２５に移行する。また、ステップｃ１７では、出力スレッシュ設定部１６４は、ステップｃ１５と同様にして顔の移動量が所定の閾値未満か否かを判定し、閾値以上の場合には（ステップｃ１７：Ｎｏ）、ステップｃ２５に移行する。閾値未満であれば（ステップｃ１７：Ｙｅｓ）、ステップｃ２７に移行する。また、ステップｃ１９でも、出力スレッシュ設定部１６４は、ステップｃ１５と同様にして顔の移動量が所定の閾値未満か否かを判定し、閾値以上の場合には（ステップｃ１９：Ｎｏ）、ステップｃ２７に移行する。閾値未満であれば（ステップｃ１９：Ｙｅｓ）、ステップｃ２９に移行する。さらに、ステップｃ２１でも、出力スレッシュ設定部１６４は、ステップｃ１５と同様にして顔の移動量が所定の閾値未満か否かを判定し、閾値以上の場合には（ステップｃ２１：Ｎｏ）、ステップｃ２９に移行する。閾値未満であれば（ステップｃ２１：Ｙｅｓ）、ステップｃ３１に移行する。このように、消失スレッシュ設定処理では、顔の移動量が小さくほぼ静止しているような場合には消失スレッシュｄの値を大きく設定して顔枠を消失し難くする。一方、顔の移動量が大きい場合には消失スレッシュｄの値を小さく設定し、レスポンス良く顔枠が消失されるようにする。
【００８３】
ステップｃ２３では、出力スレッシュ設定部１６４は、顔の類似度が予め設定される所定の閾値以上か否かを判定し、閾値以上の場合には（ステップｃ２３：Ｙｅｓ）、ステップｃ３３に移行する。閾値未満であれば（ステップｃ２３：Ｎｏ）、ステップｃ３５に移行する。また、ステップｃ２５では、出力スレッシュ設定部１６４は、ステップｃ２３と同様にして顔の類似度が所定の閾値以上か否かを判定し、閾値以上の場合には（ステップｃ２５：Ｙｅｓ）、ステップｃ３５に移行する。閾値未満であれば（ステップｃ２５：Ｎｏ）、ステップｃ３７に移行する。また、ステップｃ２７でも、出力スレッシュ設定部１６４は、ステップｃ２３と同様にして顔の移動量が所定の閾値以上か否かを判定し、閾値以上の場合には（ステップｃ２７：Ｙｅｓ）、ステップｃ３７に移行する。閾値未満であれば（ステップｃ２７：Ｎｏ）、ステップｃ３９に移行する。また、ステップｃ２９でも、出力スレッシュ設定部１６４は、ステップｃ２３と同様にして顔の移動量が所定の閾値以上か否かを判定し、閾値以上の場合には（ステップｃ２９：Ｙｅｓ）、ステップｃ３９に移行する。閾値未満であれば（ステップｃ２９：Ｎｏ）、ステップｃ４１に移行する。さらに、ステップｃ３１でも、出力スレッシュ設定部１６４は、ステップｃ２３と同様にして顔の移動量が所定の閾値以上か否かを判定し、閾値以上の場合には（ステップｃ３１：Ｙｅｓ）、ステップｃ４１に移行する。閾値未満であれば（ステップｃ３１：Ｎｏ）、ステップｃ４３に移行する。このように、消失スレッシュ設定処理では、顔の類似度が低い場合には消失スレッシュｄの値を大きく設定して顔枠を消失し難くする。一方、顔の類似度が高ければ消失スレッシュｄの値を小さく設定し、レスポンス良く顔枠が消失されるようにする。
【００８４】
そして、出力スレッシュ設定部１６４は、ステップｃ３３では消失スレッシュｄを“１”に設定する。また、ステップｃ３５では、出力スレッシュ設定部１６４は、消失スレッシュｄを“２”に設定する。同様にして、ステップｃ３７では、出力スレッシュ設定部１６４は、消失スレッシュｄを“２”に設定する。また、ステップｃ３９では、出力スレッシュ設定部１６４は、消失スレッシュｄを“３”に設定する。同様にして、ステップｃ４１では、出力スレッシュ設定部１６４は、消失スレッシュｄを“３”に設定する。また、ステップｃ４３では、出力スレッシュ設定部１６４は、消失スレッシュｄを“４”に設定する。
【００８５】
そして、ステップｃ３３、ステップｃ３５、ステップｃ３７、ステップｃ３９、ステップｃ４１またはステップｃ４３で消失スレッシュｄを設定したならば図８ステップａ２７にリターンし、その後ステップａ２９に移行する。
【００８６】
以上説明したように、本実施の形態によれば、顔検出器１６２による顔検出結果をもとに出現スレッシュａおよび消失スレッシュｄを設定する。そして、顔検出器１６２によってライブビュー画像中から顔が検出された場合には、設定した出現スレッシュａに従ってライブビュー画像中に顔が出現したか否かを判定する。一方、顔検出器１６２によってライブビュー画像中から顔が検出されなかった場合には、設定した消失スレッシュｄに従ってライブビュー画像中から顔が消失したか否かを判定する。したがって、顔検出器１６２による顔検出結果のばらつきの影響を低減してライブビュー画像中に顔が出現したか否かの判定やライブビュー画像中から顔が消失したか否かの判定を安定して行うことができるので、安定した顔検出の結果出力が可能となる。そして、本実施の形態では、この顔検出の結果出力を用い、顔が出現したと判定された場合にはライブビュー画像上に顔枠を表示させ、顔が消失したと判定された場合にはライブビュー画像上の顔枠を非表示とすることができる。したがって、安定した見易い顔枠の表示が実現でき、顔枠の表示・非表示が繰り返されてちらつく等の不具合を防止することができる。
【００８７】
また、顔検出結果から得られる顔の大きさ、顔の回転角度、顔の傾き、顔の移動量および顔の類似度を組み合わせて用いることによって、出現スレッシュａおよび消失スレッシュｄを適切に設定することができる。例えば、前後のフレーム間で取得される顔検出結果にばらつきが生じ易く不安定な顔検出が想定される場合には出現スレッシュａおよび消失スレッシュｄを大きく設定することができる。一方、安定した顔検出が想定される場合にはこれらの値を小さく設定することができる。
【００８８】
なお、顔の消失確定条件を満たさないフレームでライブビュー画像から顔が検出されなかった場合（図３（ｃ）のような場合）には、前回位置に顔枠を表示することとしてもよい。あるいは、過去の顔枠の表示位置をもとに今回の顔枠の表示位置を補完するようにしてもよい。
【００８９】
以上、この発明の好適な実施の形態について説明したが、この発明は、上記したものに限定されず、発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【００９０】
例えば、上記した実施の形態では、全フレームを対象として顔の出現／消失を判定する場合について説明したが、所定のサンプリング周期で行うようにしてもよい。図１１は、変形例におけるサンプリング周期を説明する図である。図１１に示すように、本変形例では、ライブビュー画像を所定の間隔でサンプリングする。このとき、顔情報を構成する顔の移動量は、例えば前回サンプリングしたライブビュー画像Ｉ３１と今回サンプリングしたライブビュー画像Ｉ３３との間で算出するようにしてもよい。
【００９１】
図１２は、ライブビュー画像の表示フレームレートと顔枠表示制御の処理レートとの対応関係の一例を示す図である。図１２に示す例では、ライブビュー画像の表示フレームレートが高フレームレートの場合（例えば３００ｆ／ｓ）の顔枠表示制御を１００ｆ／ｓで行うこととし、通常の表示フレームレートの場合（例えば６０ｆ／ｓ）の顔枠表示制御を６０ｆ／ｓで行うこととしている。このようにすれば、例えば高フレームレートの場合の顔の出現／消失判定の処理レートを低下させることができるので、ライブビュー画像の表示フレームレートによらずに安定した顔検出結果の出力が実現できる。したがって、安定した見易い顔枠の表示が実現できる。ここで、サンプリング周期については、予め表示フレームレートに応じて固定値として設定してもよいし、例えばユーザが指定した値を設定できるように構成してもよい。
【００９２】
図１３は、本変形例のデジタルカメラの画像処理部１５ｂの構成を示すブロック図である。本変形例のデジタルカメラは、図５に示したデジタルカメラ１の構成において、画像処理部１５に換えて図１３の画像処理部１５ｂを備えた構成で実現できる。なお、図１３において、図６と同様の構成要素には同一の符号を付している。
【００９３】
図１３に示すように、本変形例の画像処理部１５ｂは、画像データ入力部１５１と、画像データ保持部１５２ｂと、画像補正部１５３と、画像フォーマット変換部１５４と、画像データ出力部１５５と、顔検出制御部１６ｂと、表示画像生成部１５６とを含み、顔検出制御部１６ｂは、顔検出情報取得部１６１ｂと、顔検出器１６２と、移動量算出部１６３ｂと、出力スレッシュ設定部１６４ｂと、出力スレッシュ判定部１６５ｂと、サンプリング周期制御部１６６ｂとを含む。
【００９４】
そして、サンプリング周期制御部１６６ｂは、画像データ保持部１５２ｂと、顔検出制御部１６ｂを構成する顔検出情報取得部１６１ｂ、移動量算出部１６３ｂ、出力スレッシュ設定部１６４ｂおよび出力スレッシュ判定部１６５ｂを制御して所定のサンプリング周期で各部の処理を同期させる。
【００９５】
また、移動量算出部１６３ｂは、顔検出器１６２が検出するフレーム毎の顔検出結果をもとに、サンプルリング周期毎の顔の移動量を算出する。先ず、移動量算出部１６３ｂは、上記した実施の形態で図７を参照して説明したように、隣接するフレーム間の顔の移動量を算出する。具体的には、移動量算出部１６３ｂは、前フレームにおける顔の位置と現フレームにおける顔の位置との差分をフレーム間の顔の変位として算出し、算出したフレーム間の顔の変位に、現フレームについて得られた顔の類似度に応じた重み付けを行って顔の移動量を算出する。そして、移動量算出部１６３ｂは、算出した顔の移動量をサンプリング周期毎に積算し、積算値を現サンプリング周期における顔の移動量として出力する。なお、本変形例の出現スレッシュ設定処理および消失スレッシュ設定処理では、このようにして移動量算出部１６３ｂがサンプリング周期毎に算出した顔の移動量を閾値処理し、予め設定される所定の閾値未満か否かを判定することによって、出現スレッシュａや消失スレッシュｄを設定する。
【００９６】
次に、本変形例のデジタルカメラが行う処理手順について、図１４および図１５を参照して説明する。なお、図１４および図１５では、ライブビュー画像上の顔枠表示に関する処理に着目したデジタルカメラが行う処理手順を示している。
【００９７】
本変形例では、先ずサンプリング周期制御部１６６ｂが、サンプリングカウンタｋをリセットするとともに（ステップｄ１）、サンプリング周期ｐを設定する（ステップｄ３）。上記したようにこのサンプリング周期ｐの値は、適宜の値を設定することができる。
【００９８】
続いて、顔検出情報取得部１６１ｂが、画像データ入力部１５１によって入力されて画像データ保持部１５２ｂに保持された現フレームの画像データを顔検出器１６２に出力し、顔検出器１６２が顔検出処理を行う（ステップｄ５）。顔検出器１６２による顔検出結果は、顔検出情報取得部１６１ｂに入力される。
【００９９】
そして、サンプリング周期制御部１６６ｂが、サンプリングを行うか否かを判定する。すなわち、ｋ％ｐ＝＝０の場合には（ステップｄ７：Ｙｅｓ）、サンプリングを行うこととしてステップｄ１１に移行する。一方サンプリング周期制御部１６６ｂは、ｋ％ｐ＝＝０でなければ（ステップｄ７：Ｎｏ）、現フレームのライブビュー画像のサンプリングを行わずにサンプリングカウンタｋをインクリメントして更新し（ステップｄ９）、ステップｄ５に戻る。
【０１００】
そして、ステップｄ１１では、移動量算出部１６３ｂが、現フレームについて行った顔検出結果を前フレームについて行った顔検出結果とをもとに現フレームと前フレームとの間の顔の移動量を算出する（ステップｄ１１）。そして、出力スレッシュ設定部１６４ｂが、出現スレッシュ設定処理を行う（ステップｄ１３）。この出現スレッシュ設定処理は、図９に示して説明した処理手順と同様にして行われ、出現スレッシュａが設定される。
【０１０１】
出現スレッシュ設定処理によって出現スレッシュａを設定したならば、続いて出力スレッシュ判定部１６５ｂは、消失スレッシュｄを“０”にリセットするとともに（ステップｄ１５）、出現判定カウンタｉを初期値“０”にリセットする（ステップｄ１７）。また、サンプリング周期制御部１６６ｂが、サンプリングカウンタｋをインクリメントして更新し（ステップｄ１９）、ステップｄ２１に移行する。
【０１０２】
すなわち、ステップｄ２１では、出力スレッシュ判定部１６５ｂが出現判定カウンタｉを判定し、その値が出現スレッシュａ未満の場合には（ステップｄ２１：Ｎｏ）、ステップｄ２３〜ステップｄ３５の処理に移る。
【０１０３】
すなわち先ず、顔検出情報取得部１６１ｂが、ステップｄ５と同様の要領で画像データ入力部１５１によって新たに入力されて画像データ保持部１５２ｂに保持された現フレームの画像データを顔検出器１６２に出力し、顔検出器１６２が顔検出処理を行う（ステップｄ２３）。ここで、顔検出情報取得部１６１ｂは、この顔検出処理の結果顔検出器１６２から入力された顔検出結果を出力スレッシュ判定部１６５ｂに出力する。
【０１０４】
続いて、サンプリング周期制御部１６６ｂが、サンプリングを行うか否かを判定する。すなわち、ｋ％ｐ＝＝０の場合には（ステップｄ２５：Ｙｅｓ）、サンプリングを行うこととしてステップｄ２７に移行する。一方、ｋ％ｐ＝＝０でなければ（ステップｄ２５：Ｎｏ）、現フレームのライブビュー画像のサンプリングを行わなずにステップｄ３３に移行する。
【０１０５】
そして、ステップｄ２７では、出力スレッシュ判定部１６５ｂが、ステップｄ２５での顔検出結果を判定し、顔が検出された場合には出現判定カウンタｉをインクリメントして更新する（ステップｄ２９）。その後、ステップｄ３３に移行する。一方、出力スレッシュ判定部１６５ｂは、顔が検出されなかった場合には、出現判定カウンタｉを初期値“０”にリセットする（ステップｄ３１）。その後、ステップｄ３３に移行する。
【０１０６】
そして、ステップｄ３３では、サンプリング周期制御部１６６ｂが、サンプリングカウンタｋをインクリメントして更新する。続いて、終了操作が入力されなければ（ステップｄ３５：Ｎｏ）、ステップｄ２１に戻る。終了操作が入力された場合には（ステップｄ３５：Ｙｅｓ）、本処理を終える。
【０１０７】
そして、出力スレッシュ判定部１６５ｂは、出現判定カウンタｉの値が出現スレッシュａ以上であれば（ステップｄ２１：Ｙｅｓ）、ライブビュー画像中に顔が出現したと判定して顔の出現状態を確定する。これに応答して表示画像生成部１５６が、顔枠表示をＯＮにして検出された顔を示す顔枠を表示した表示画像を生成する（ステップｄ３７）。ここでの処理の結果、ライブビュー画像上に顔枠が表示される。
【０１０８】
続いて、図１５に示すように、移動量算出部１６３ｂが、現フレームについて行った顔検出結果を前フレームについて行った顔検出結果とをもとに現フレームと前フレームとの間の顔の移動量を算出する（ステップｄ３９）。そして、出力スレッシュ設定部１６４ｂが、消失スレッシュ設定処理を行う（ステップｄ４１）。この消失スレッシュ設定処理は、図１０に示して説明した処理手順と同様にして行われ、消失スレッシュｄが設定される。
【０１０９】
消失スレッシュ設定処理によって消失スレッシュｄを設定したならば、続いて出力スレッシュ判定部１６５ｂは、消失判定カウンタｊを初期値“０”にリセットする（ステップｄ４３）。そして、出力スレッシュ判定部１６５ｂは、消失判定カウンタｊを判定し、その値が消失スレッシュｄ未満の場合には（ステップｄ４５：Ｎｏ）、ステップｄ４７〜ステップｄ５９の処理に移る。
【０１１０】
すなわち先ず、顔検出情報取得部１６１ｂが、図１４のステップｄ５と同様の要領で画像データ入力部１５１によって新たに入力されて画像データ保持部１５２ｂに保持された現フレームの画像データを顔検出器１６２に出力し、顔検出器１６２が顔検出処理を行う（ステップｄ４７）。このとき、顔検出情報取得部１６１ｂは、この顔検出処理の結果顔検出器１６２から入力された顔検出結果を出力スレッシュ判定部１６５ｂに出力する。
【０１１１】
続いて、サンプリング周期制御部１６６ｂが、サンプリングを行うか否かを判定する。すなわち、ｋ％ｐ＝＝０の場合には（ステップｄ４９：Ｙｅｓ）、サンプリングを行うこととしてステップｄ５１に移行する。一方、ｋ％ｐ＝＝０でなければ（ステップｄ４９：Ｎｏ）、現フレームのライブビュー画像のサンプリングを行わなずにステップｄ５７に移行する。
【０１１２】
そして、ステップｄ５１では、出力スレッシュ判定部１６５ｂが、ステップｄ４９での顔検出結果を判定し、顔が検出されなかった場合には消失判定カウンタｊをインクリメントして更新する（ステップｄ５３）。その後、ステップｄ５７に移行する。一方、出力スレッシュ判定部１６５ｂは、顔が検出された場合には、消失判定カウンタｊを初期値“０”にリセットする（ステップｄ５５）。その後、ステップｄ５７に移行する。
【０１１３】
そして、ステップｄ５７では、サンプリング周期制御部１６６ｂがサンプリングカウンタｋをインクリメントして更新する。続いて、終了操作が入力されなければ（ステップｄ５９：Ｎｏ）、ステップｄ４５に戻る。終了操作が入力された場合には（ステップｄ５９：Ｙｅｓ）、本処理を終える。
【０１１４】
そして、出力スレッシュ判定部１６５ｂは、消失判定カウンタｊの値が消失スレッシュｄ以上であれば（ステップｄ４５：Ｙｅｓ）、ライブビュー画像中から顔が消失したと判定して顔の消失状態を確定する。これに応答して表示画像生成部１５６が、顔枠表示をＯＦＦにして検出された顔を示す顔枠を非表示として表示画像を生成する（ステップｄ６１）。続いて、出力スレッシュ設定部１６４ｂは、出現スレッシュａを“０”にリセットし（ステップｄ６３）、その後ステップｄ６５に移行する。
【０１１５】
すなわち、ステップｄ６５では、終了操作の有無を判定し、終了操作が入力されなければ（ステップｄ６５：Ｎｏ）、図１４のステップｄ５に戻る。終了操作が入力された場合には（ステップｄ６５：Ｙｅｓ）、本処理を終える。
【０１１６】
本変形例によれば、所定のサンプリング周期で顔の出現／消失を判定することができるので、より安定した顔検出結果の出力が行える。なお、本変形例では、顔検出処理についてはフレーム毎に行うこととしたが、サンプリング周期で行うようにしてもよい。すなわち、図１４にでは、ステップｄ５において顔検出処理を行うこととしたが、ステップｄ７でｋ％ｐ＝＝０と判定した後に顔検出処理を行うようにしてもよい。同様に、ステップｄ２３で顔検出処理を行うこととしたが、ステップｄ２５でｋ％ｐ＝＝０と判定した後に顔検出処理を行うようにしてもよい。あるいは、図１５のステップｄ４７で顔検出処理を行うこととしたが、ステップｄ４９でｋ％ｐ＝＝０と判定した後に顔検出処理を行うようにしてもよい。
【０１１７】
また、上記した実施の形態では、出現スレッシュａの設定時に消失スレッシュｄをリセットし、顔の出現状態が確定した時点で消失スレッシュｄを設定し、顔の消失状態が確定した時点で出現スレッシュａをリセットすることとしたが、出現スレッシュａおよび消失スレッシュｄを設定およびリセットするタイミングはこれに限定されるものではなく、適宜設定することができる。例えば、出現スレッシュａおよび消失スレッシュｄを同時に設定し、同時にリセットするようにしてもよい。例えば、顔枠表示がＯＦＦの状態で最初に顔が検出された際に、出現スレッシュ設定処理によって出現スレッシュａを設定するとともに消失スレッシュ設定処理を行って消失スレッシュｄを設定するようにしてもよい。そして、顔の消失状態が確定した時点で出現スレッシュａおよび消失スレッシュｄをリセットするようにしてもよい。
【０１１８】
また、上記した実施の形態では、ライブビュー画像中から連続して顔が検出された回数が出現スレッシュａと一致したことを顔の出現確定条件としてライブビュー画像中に顔が出現したか否かを判定することとし、ライブビュー画像中から連続して顔が検出された回数が消失スレッシュｄと一致したことを顔の消失確定条件としてライブビュー画像中から顔が消失したか否かを判定することとした。これに対し、連続して顔が検出された回数ではなく、ｍ回行った顔検出のうち、ｎ回の顔検出で顔が検出されたことを顔の出現確定条件として顔の出現を判定するようにしてもよい。ここで、ｍ＞ｎであり、ｎは出現スレッシュａの値である。ｍとｎとの対応関係は例えば予め設定しておく。同様にして、ｍ回行った顔検出のうち、ｎ回の顔検出で顔が検出されないことを顔の消失確定条件として顔の消失を判定するようにしてもよい。この場合においても、ｍ＞ｎであり、ｎは消失スレッシュｄの値である。
【０１１９】
また、上記した実施の形態では、顔の大きさ、顔の回転角度、顔の傾き、顔の移動量および顔の類似度を組み合わせて用い、出現スレッシュａおよび消失スレッシュｄを設定する場合について説明したが、これらの値を設定する際に用いる顔情報の組み合わせはこれに限定されない。例えば、例示した顔情報のうちのいずれか１つを用いて出現スレッシュａおよび消失スレッシュｄを設定することとしてもよい。また、これらの中から２つ以上を適宜選出して組み合わせることとしてもよい。
【０１２０】
また、顔検出制御部１６を含む画像処理部１５等をハードウェアで実現する構成について説明したが、所定のプログラムを実行することによってソフトウェアとして実現することとしてもよい。例えば、この顔検出制御部１６を含む画像処理部１５の構成を、ＣＰＵ１７が所定のプログラム（顔検出制御プログラム）を実行することによって実現する構成とすることもできる。この場合には、例えば、図８〜図１０に示した処理の一部または全部を実現するための顔検出制御プログラムを記録部２２に記録しておく。そして、ＣＰＵ１７が、この顔検出制御プログラムを読み出して実行することによって顔検出制御部１６または顔検出制御部１６を含む画像処理部１５の構成を実現するようにしてもよい。
【０１２１】
また、上記した実施の形態では、顔の出現判定および消失判定の結果を顔枠の表示・非表示に用い、出現スレッシュａに従ってライブビュー画像中に顔が出現したと判定した場合にライブビュー画像上に顔枠を表示し、消失スレッシュｄに従ってライブビュー画像中から顔が消失したと判定した場合の顔枠を非表示とする場合について説明したが、これに限定されない。すなわち、顔の出現判定および消失判定の結果は、露出やフォーカスの制御、画像処理に利用することができ、顔検出の結果出力が安定するのでこれらの処理精度を向上させることができる。
【０１２２】
また、上記した実施の形態では、本発明の顔検出制御装置をデジタルカメラに適用した例について説明したが、適用対象はデジタルカメラに限定されず、携帯電話機に付属のカメラやＰＣ付属のカメラに適用してもよい。また、パソコン等を用いて人物等の顔が映る動画を再生する場合に適用することもできる。
【図面の簡単な説明】
【０１２３】
【図１】デジタルカメラの背面図である。
【図２】顔枠の出現原理を説明する図である。
【図３】顔枠の消失原理を説明する図である。
【図４】顔検出の結果、出現スレッシュ、消失スレッシュおよび顔枠表示の一例を示す図である。
【図５】デジタルカメラのシステム構成を示すブロック図である。
【図６】画像処理部の構成を示すブロック図である。
【図７】移動量算出部による顔の移動量の算出原理を説明する図である。
【図８】デジタルカメラが行う処理手順の一例を示すフローチャートである。
【図９】出現スレッシュ設定処理の詳細な処理手順を示すフローチャートである。
【図１０】消失スレッシュ設定処理の詳細な処理手順を示すフローチャートである。
【図１１】変形例におけるサンプリング周期を説明する図である。
【図１２】ライブビュー画像の表示フレームレートと顔枠表示制御の処理レートとの対応関係の一例を示す図である。
【図１３】変形例における画像処理部の構成を示すブロック図である。
【図１４】変形例のデジタルカメラが行う処理手順の一例を示すフローチャートである。
【図１５】変形例のデジタルカメラが行う処理手順の一例を示すフローチャートである。
【符号の説明】
【０１２４】
１      デジタルカメラ
２      カメラ本体
３      レリーズスイッチ
５      メニュースイッチ
６      十字キー
７      ＯＫスイッチ
１０      レンズ系ユニット
１０１      撮像レンズ
１０３      絞り
１０５      シャッター
１１      駆動部
１２      撮像部
１３      Ａ−ＡＭＰ
１４      ＡＤＣ
１５，１５ｂ      画像処理部
１５１      画像データ入力部
１５２，１５２ｂ      画像データ保持部
１５３      画像補正部
１５４      画像フォーマット変換部
１５５      画像データ出力部
１５６      表示画像生成部
１６，１６ｂ      顔検出制御部
１６１，１６１ｂ      顔検出情報取得部
１６２      顔検出器
１６３，１６３ｂ      移動量算出部
１６４，１６４ｂ      出力スレッシュ設定部
１６５，１６５ｂ      出力スレッシュ判定部
１６６ｂ      サンプリング周期制御部
１７      ＣＰＵ
１８      ビデオエンコーダ
１９      表示部
２０      操作部
２１      一時記録部
２２      記録部
２３      バス
【図１】
2010068222.tif 000003
【図２】
2010068222.tif 000004
【図３】
2010068222.tif 000005
【図４】
2010068222.tif 000006
【図５】
2010068222.tif 000007
【図６】
2010068222.tif 000008
【図７】
2010068222.tif 000009
【図８】
2010068222.tif 000010
【図９】
2010068222.tif 000011
【図１０】
2010068222.tif 000012
【図１１】
2010068222.tif 000013
【図１２】
2010068222.tif 000014
【図１３】
2010068222.tif 000015
【図１４】
2010068222.tif 000016
【図１５】
2010068222.tif 000017