(57)【要約】【課題】  ひずみの大きい画像から被写体検出を行う場合でも、誤検出を抑制しつつ安定して被写体を検出する。【解決手段】  被写体検出装置は、画像から所定の被写体の領域を検出する検出手段と、検出手段により検出された領域についての評価値を算出する算出手段と、評価値が所定の基準を満たす場合、所定の被写体であると判別する制御手段とを有する。所定の基準は、表示手段に表示される画像のゆがみの大きさに応じて設定される。【選択図】  図７
2015104016.tif 000002
【特許請求の範囲】
【請求項１】
画像から所定の被写体の領域を検出する検出手段と、
前記検出手段により検出された領域についての評価値を算出する算出手段と、
前記評価値が所定の基準を満たす場合、前記所定の被写体であると判別する制御手段とを有し、
前記所定の基準は、表示手段に表示される画像のゆがみの大きさに応じて設定されることを特徴とする被写体検出装置。
【請求項２】
前記表示手段に表示される画像のゆがみの大きさに応じて前記所定の基準を変更する第１のモードと、前記所定の基準を変更しない第２のモードとを有し、
前記第２のモードは、前記第１のモードよりゆがみの小さい画像を前記表示手段に表示する場合に設定されることを特徴とする請求項１に記載の被写体検出装置。
【請求項３】
前記評価値は、前記所定の被写体の信頼度を示す値であることを特徴とする請求項１又は２に記載の被写体検出装置。
【請求項４】
前記所定の基準を満たす条件は、第１の閾値以上の前記信頼度が検出されることを含むことを特徴とする請求項３に記載の被写体検出装置。
【請求項５】
画像内においてゆがみが大きい領域ほど、前記第１の閾値が低く設定されることを特徴とする請求項４に記載の被写体検出装置。
【請求項６】
画像の周辺部に設定される前記第１の閾値は、画像の中心部に設定される前記第１の閾値より低い値であることを特徴とする請求項４又は５に記載の被写体検出装置。
【請求項７】
前記所定の基準を満たす条件は、前記第１の閾値以上の前記信頼度が検出される回数が第２の閾値に達することを含むことを特徴とする請求項４乃至６のいずれか１項に記載の被写体検出装置。
【請求項８】
画像内においてゆがみが大きい領域ほど、前記第２の閾値が高く設定されることを特徴とする請求項７に記載の被写体検出装置。
【請求項９】
画像の周辺部に設定される前記第２の閾値は、画像の中心部に設定される前記第２の閾値より高い値であることを特徴とする請求項７又は８に記載の被写体検出装置。
【請求項１０】
前記評価値は、前記所定の被写体の角度を示す値であって、
前記所定の基準を満たす条件は、前記所定の被写体の角度が所定の範囲内であることを含むことを特徴とする請求項１乃至９のいずれか１項に記載の被写体検出装置。
【請求項１１】
画像内においてゆがみが大きい領域ほど、前記所定の範囲が広く設定されることを特徴とする請求項１０に記載の被写体検出装置。
【請求項１２】
画像の周辺部に設定される前記所定の範囲は、画像の中心部に設定される前記所定の範囲より広いことを特徴とする請求項１０又は１１に記載の被写体検出装置。
【請求項１３】
前記評価値が前記所定の基準を満たす場合、前記制御手段は、前記検出手段により検出された領域が前記所定の被写体に対応することを判定し、次回の検出で当該所定の被写体と対応する被写体の領域が検出された場合に前記所定の基準を緩和することを特徴とする請求項１乃至１２のいずれか１項に記載の被写体検出装置。
【請求項１４】
主被写体を判定する判定手段をさらに有し、
前記制御手段は、主被写体を追従していると判定した場合、画像のゆがみの大きさに応じて前記所定の基準を変更することを特徴とする請求項１乃至１３のいずれか１項に記載の被写体検出装置。
【請求項１５】
前記制御手段は、主被写体の移動方向と対応する方向のパンニング動作を検出することにより、当該主被写体を追従していると判定することを特徴とする請求項１４に記載の被写体検出装置。
【請求項１６】
前記被写体検出装置を支持するとともに、当該被写体検出装置の光軸方向を変更する支持部と、前記支持部の駆動制御を行う駆動制御部と、前記支持部に対して駆動命令を送信する送信部とを有する雲台に装着可能であって、
前記制御手段は、前記送信部から前記駆動制御部に対して主被写体の移動方向と対応する駆動命令が送信されている場合に、当該主被写体を追従していると判定することを特徴とする請求項１４又は１５に記載の被写体検出装置。
【請求項１７】
画像から得られる前記所定の被写体の特徴を当該所定の被写体に関連付けて記録する記録手段をさらに有し、
前記判定手段は、前記検出手段により検出された領域に対応する前記所定の被写体が前記記録手段に記録されている被写体であることを判定した場合、当該被写体を主被写体と判定することを特徴とする請求項１４乃至１６のいずれか１項に記載の被写体検出装置。
【請求項１８】
前記制御手段は、前記評価値が前記所定の基準を満たす場合、当該検出された領域に対応する前記表示手段の領域に対して、前記所定の被写体であることを示す表示を行うよう制御することを特徴とする請求項１乃至１７のいずれか１項に記載の被写体検出装置。
【請求項１９】
前記所定の被写体は、人物の顔領域であることを特徴とする請求項１乃至１８のいずれか１項に記載の被写体検出装置。
【請求項２０】
請求項１乃至１９のいずれか１項に記載の被写体検出装置を備え、
撮像光学系を介して入射される被写体像を光電変換して撮像信号を生成する撮像手段と、
前記撮像信号に基づいて、前記表示手段に表示される画像を生成する画像生成手段とを有することを特徴とする撮像装置。
【請求項２１】
前記画像生成手段により画像のひずみを補正する処理を行う場合、前記制御手段は、当該画像のゆがみの大きさに応じて前記所定の基準を変更しないことを特徴とする請求項２０に記載の撮像装置。
【請求項２２】
前記撮像光学系を備えた交換レンズを装着可能であって、
装着された交換レンズの歪曲収差の大きさに基づいて、前記制御手段は、画像のゆがみの大きさに応じて前記所定の基準を変更するか否かを判定することを特徴とする請求項２０又は２１に記載の撮像装置。
【請求項２３】
画像から所定の被写体の領域を検出する検出手段と、
前記検出手段により検出された領域についての評価値を算出する算出手段と、
表示手段における画像の表示を制御する制御手段とを有し、
前記評価値が所定の基準を満たす場合、前記制御手段は、当該検出された領域に対応する前記表示手段の領域に対して、前記所定の被写体であることを示す表示を行うよう制御し、
前記所定の基準は、前記表示手段に表示される画像のゆがみの大きさに応じて設定されることを特徴とする被写体検出装置。
【請求項２４】
被写体検出装置の制御方法であって、
画像から所定の被写体の領域を検出する検出ステップと、
前記検出ステップにより検出された領域についての評価値を算出する算出ステップと、
前記評価値が所定の基準を満たす場合、前記所定の被写体であると判別する制御ステップとを有し、
前記所定の基準は、表示手段に表示される画像のゆがみの大きさに応じて設定されることを特徴とする被写体検出装置の制御方法。
【請求項２５】
被写体検出装置の制御方法であって、
画像から所定の被写体の領域を検出する検出ステップと、
前記検出手段により検出された領域についての評価値を算出する算出ステップと、
表示手段における画像の表示を制御する制御ステップとを有し、
前記評価値が所定の基準を満たす場合、前記制御ステップにおいて、当該検出された領域に対応する前記表示手段の領域に対して、前記所定の被写体であることを示す表示を行うよう制御し、
前記所定の基準は、前記表示手段に表示される画像のゆがみの大きさに応じて設定されることを特徴とする被写体検出装置の制御方法。
【請求項２６】
請求項２４又は２５に記載の被写体検出装置の制御方法をコンピュータに実行させるように構成されていることを特徴とする被写体検出装置の制御プログラム。
【請求項２７】
請求項２６に記載の被写体検出装置の制御プログラムを記憶していることを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像から特定の被写体を検出する被写体検出装置等に関する。
【背景技術】
【０００２】
画像から特定の被写体（人物、動物、特定の物体など）を検出する画像処理技術が知られている。例えば、被写体として人間の顔を検出する画像処理技術は、テレビ会議、マン・マシン・インタフェース、セキュリティ、人間の顔を追跡するためのモニタ・システム、画像圧縮など多くの分野で使用することができる。
【０００３】
デジタルカメラやデジタルビデオカメラでは、撮影画像から例えば人物の顔を検出し、顔検出結果に基づく露出制御や焦点検出制御を実現させている。このように画像中から特定の被写体を検出するための画像処理技術としては、様々な手法が提案されているが、その大半はパターンマッチングに基づく手法である。例えば、画像上の複数の異なる位置で部分画像を切り出し、その部分画像が顔領域の画像であるか否かを判別して、画像上の顔領域を検出する方法が挙げられる。部分画像が顔領域であるか否かは、テンプレートマッチングによる手法や、ニューラル・ネットワークなどの学習手法により顔の特徴を学習させた識別器を用いた手法により判別できる。
【０００４】
いずれの手法においても、部分画像の画像パターンに基づいて、その部分画像が被写体領域の画像である確からしさを示す信頼度を算出し、信頼度が所定の閾値を超えた部分画像を被写体領域の画像として検出するのが一般的である。特許文献１では、検出した領域の信頼度の履歴を記憶し、信頼度のレベルに基づいて被写体を検出したと判断するまでの検出回数や検出時間を変更する方法を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１４１８４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ひずみの大きい画像に対して被写体検出を行う場合に、ひずみの大きい領域に検出すべき被写体が存在すると、被写体が大きく歪んでしまう。そのため、上記特許文献１に記載の方法では、ひずみの大きい領域において被写体の信頼度が低下し、検出の判断ができなくなってしまう可能性がある。
【０００７】
本発明は上述した課題に鑑みてなされたものであり、ひずみの大きい画像から被写体検出を行う場合でも、誤検出を抑制しつつ安定して被写体を検出するのを可能にすることを目的とする。
【課題を解決するための手段】
【０００８】
上記目的に鑑みて、第１の本発明は、画像から所定の被写体の領域を検出する検出手段と、前記検出手段により検出された領域についての評価値を算出する算出手段と、前記評価値が所定の基準を満たす場合、前記所定の被写体であると判別する制御手段とを有する被写体検出装置であって、前記所定の基準は、表示手段に表示される画像のゆがみの大きさに応じて設定されることを特徴とする。
【０００９】
第２の本発明は、画像から所定の被写体の領域を検出する検出手段と、前記検出手段により検出された領域についての評価値を算出する算出手段と、表示手段における画像の表示を制御する制御手段とを有する被写体検出装置であって、前記評価値が所定の基準を満たす場合、前記制御手段は、当該検出された領域に対応する前記表示手段の領域に対して、前記所定の被写体であることを示す表示を行うよう制御し、前記所定の基準は、前記表示手段に表示される画像のゆがみの大きさに応じて設定されることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ひずみの大きい画像から被写体検出を行う場合でも、誤検出を抑制しつつ安定して被写体を検出することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態における撮像装置の構成を示すブロック図
【図２】本実施形態における撮像装置の顔領域の位置と大きさを用いて同一被写体を特定する処理について説明する図
【図３】実施例１における撮像装置の被写体リストの例を示す図
【図４】本実施形態における撮像装置の歪曲収差特性を有するレンズについて説明するための図
【図５】本実施形態における撮像装置の被写体検出部により検出された顔領域と、対応する信頼度レベルの例を示す図
【図６】図５に示す画像に本実施形態における判定基準を適用した例を模式的に示した図
【図７】本実施形態における撮像装置の判定基準を模式的に示した図
【図８】実施例１における撮像装置の全体の処理を示すフローチャート
【図９】実施例１における撮像装置の顔検出判定処理を示すフローチャート
【図１０】実施例２における撮像装置の全体の処理を示すフローチャート
【図１１】実施例２における撮像装置の顔検出判定処理を示すフローチャート
【図１２】実施例２における撮像装置の被写体リストの例を示す図
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を参照して説明する。なお、以下の実施例は発明の好ましい形態を示すものであり、発明の範囲を限定するものではない。
【実施例１】
【００１３】
図１は、本実施例における被写体検出装置を備えた撮像装置の構成を示すブロック図である。図１において、第１固定レンズ１０１、変倍レンズ１０２、絞り１０３、第２固定レンズ１０４、及びフォーカスコンペンセータレンズ（フォーカスレンズ）１０５により、被写体から入射した光を結像するための撮像光学系が構成される。変倍レンズ１０２は、光軸方向に移動することにより、変倍を行う。フォーカスレンズ１０５は、光軸方向に移動することにより、変倍に伴う焦点面の移動の補正とフォーカシングを行う。なお、本実施例の撮像光学系は、大きな歪曲収差を有する超広角ズームレンズ（所謂魚眼ズームレンズ）として構成される。
【００１４】
撮像素子１０６は、ＣＣＤセンサやＣＭＯＳセンサを用いて構成される光電変換素子である。撮像素子１０６は、被写体像を光電変換して撮像信号を生成する。ＣＤＳ／ＡＧＣ回路１０７は、撮像素子１０６から出力される撮像信号をサンプリングし、ゲイン調整する。画像生成手段としてのカメラ信号処理回路１０８は、ＣＤＳ／ＡＧＣ回路１０７から出力される信号に対して各種の画像処理を施し、映像信号を生成する。モニタ１０９は、ＬＣＤ等により構成され、カメラ信号処理回路１０８で生成された映像信号を表示する。記録部１１５は、カメラ信号処理回路１０８で生成された映像信号を磁気テープ、光ディスク、半導体メモリ等の記録媒体に記録する。
【００１５】
ズーム駆動源１１０は、撮影制御部１１４の指示に基づいて変倍レンズ１０２を移動させる。フォーカシング駆動源１１１は、撮影制御部１１４の指示に基づいてフォーカスレンズ１０５を移動させる。ズーム駆動源１１０及びフォーカシング駆動源１１１は、夫々、ステッピングモータ、ＤＣモータ、振動型モータ、及びボイスコイルモータ等のアクチュエータを用いて構成される。
【００１６】
ＡＦゲート１１２は、ＣＤＳ／ＡＧＣ回路１０７から出力される全画素の信号のうち焦点検出に用いられる領域（焦点検出領域）の信号のみを通す。ＡＦ信号処理回路１１３は、ＡＦゲート１１２を通過した信号から高周波成分を抽出してＡＦ評価値（焦点信号）を生成する。ＡＦ評価値は、制御手段である撮影制御部１１４に出力される。ＡＦ評価値は、撮像信号に基づいて生成される映像の鮮鋭度（コントラスト状態）を表すものであるが、鮮鋭度は撮像光学系の焦点状態（合焦の程度）によって変化するので、結果的に撮像光学系の焦点状態を表す信号となる。制御手段としての撮影制御部１１４は、撮像装置全体の動作の制御を司るとともに、ＡＦ評価値に基づいてフォーカシング駆動源１１１を制御することでフォーカスレンズ１０５を駆動し、焦点調節制御を行う。
【００１７】
本実施例の撮像装置は、モニタ１０９に映像信号を表示した状態で撮影（ライブビュー撮影または動画撮影）するモードとして、ワイドモード（第１のモード）とアップモード（第２のモード）を有する。本実施例では、魚眼レンズを介した被写体像を撮像素子１０６において撮像することで、周辺部ほど大きく歪んだ画像が出力される。ワイドモードにおいては、歪んだ画像のままモニタ１０９に表示され、記録される。一方、アップモードにおいては、出力された歪んだ画像のうち、中央領域を切り出した画像がモニタ１０９に表示され、記録される。したがって、アップモードで表示される画像の画角は、ワイドモードで表示される画像の画角より望遠側となる。また、本実施例のアップモードでは、歪んだ画像から中央領域を切り出し、さらにカメラ信号処理回路１０８でひずみ（歪曲収差）を補正する処理を行った画像を表示、記録する。
【００１８】
本実施例の被写体検出部１１６は、顔検出や人体検出などの検出系のブロックであり、ＣＤＳ／ＡＧＣ回路１０７から出力された撮像信号に対して公知の検出処理を施し、撮影画面内の特定の被写体領域を検出する。すなわち、被写体検出部１１６は、撮像信号から予め定められた被写体を検出する被写体検出手段を構成する。その検出結果は、被写体特定部１１９、被写体判定部１２０を介して撮影制御部１１４に送信される。撮影制御部１１４は、上記検出結果に基づき、撮影画面内の被写体領域を含む位置に焦点検出領域を設定するようにＡＦゲート１１２へ情報を送信する。
【００１９】
特定の被写体領域の検出処理として、本実施例では顔検出処理を例に説明する。顔検出処理としては、画像データで表される各画素の階調色から肌色領域を抽出し、予め用意する顔の輪郭プレートとのマッチング度で顔を検出する方法や、周知のパターン認識技術を用いて、目、鼻、口等の顔の特徴点を抽出することで顔検出を行う方法等がある。なお、本実施例では、顔検出処理を毎フレーム行う場合について説明するが、複数フレーム毎に行うようにしてもよい。
【００２０】
また、特定の被写体領域の検出処理として、顔検出処理以外に例えば人体検出処理を行ってもよい。人体検出処理では、目的とする被写体領域を人体の上半身領域（顔及び胴体を含む領域）として画像中から検出する。画像中に複数の人物が存在する場合は、その人数分の領域が検出される。人体の検出方法として、特開２００９−２１１３１１号公報により記述されている方法を例として挙げる。本例では、局所的な上半身の輪郭のエッジ強度を局所特徴量として検出する。画像から特徴量を抽出する方法としては、Ｓｏｂｅｌフィルタ、Ｐｒｅｗｉｔｔフィルタ、Ｈａａｒフィルタなど様々な方法がある。抽出された局所特徴量について、人物判別器で上半身と非上半身を判別する。人物判別器における判別は、ＡｄａＢｏｏｓｔ学習などの機械学習に基づき実施される。
【００２１】
また、人体検出結果から、顔検出領域に相当する部分領域が撮影制御部１１４によって推定される。すなわち、人体の上半身領域（以下、人体領域）を検出した結果に基づいて顔領域が推定される。この推定方法としては、例えば、顔領域と人体領域との関係に基づき、線形変換により推定されるものとする。言い換えると、人体領域のうち、所定の位置又は（及び）大きさによって定義された領域を顔領域と推定するものとする。
【００２２】
被写体検出部１１６が検出結果として出力する被写体領域の情報としては、検出した人数分の被写体領域の位置、大きさ、向き（Ｒｏｌｌ／Ｐｉｔｃｈ／Ｙａｗ）、信頼度などが挙げられる。ここで、信頼度とは被写体の検出結果の確からしさを表す値であり、検出の処理過程で決定される。
【００２３】
信頼度の算出にはさまざまな方法がある。例えば、予め記憶された被写体画像の特徴と、被写体検出部１１６により検出した被写体領域の画像の特徴とを比較して、検出した被写体領域の画像が被写体の画像である確率を求め、この確率から信頼度を算出する方法がある。また、予め記憶された被写体画像の特徴と、被写体検出部１１６によって検出した被写体領域の画像の特徴との差を算出し、その差の大きさから信頼度を算出する方法もある。いずれの算出方法においても、信頼度が高ければ誤検出の可能性が低く、信頼度が低ければ誤検出の可能性が高いことを示す。
【００２４】
次に、被写体の決定手段について説明する。被写体検出部１１６の検出結果である被写体領域の情報は被写体特定部１１９に送られる。被写体特定部１１９は、時系列的に連続した被写体検出結果から同一の被写体を特定し、被写体情報を被写体判定部１２０に送るとともに、被写体リスト１２１に記憶する。被写体判定部１２０は、被写体リスト１２１に記憶されている過去に検出した被写体の情報に基づいて、信頼性が高い被写体領域を被写体と判定する。被写体として判定された検出結果の情報（撮像画像中の被写体領域の位置、大きさなど）は、ＡＦゲート１１２及びカメラ信号処理回路１０８に供給される。そして、検出結果の情報は、被写体領域の情報を用いた自動焦点検出制御や自動露出制御といった、撮像条件の制御に用いることができる。被写体の特定処理および判定処理の詳細については後述する。
【００２５】
なお、以下の説明では、検出対象として人物の顔のみを例示するが、検出対象となる被写体は人物の顔に限らず、人物の体、動物の顔や他の任意の被写体であってよい。
【００２６】
絞り駆動源１１７は、絞り１０３を駆動させるためのアクチュエータ及びそのドライバを含む。輝度情報検出・演算回路１１８は、ＣＤＳ／ＡＧＣ回路１０７によって読み出された信号から画面内の測光枠の輝度値（測光値）を取得し、演算により正規化する。撮影制御部１１４は、輝度情報検出・演算回路１１８で取得され正規化された測光値と適正な露出が得られるように設定された目標値との差分を算出する。そして、撮影制御部１１４は、算出した差分から絞りの補正駆動量を算出し、絞り駆動源１１７の駆動を制御する。
【００２７】
（被写体特定処理）
被写体特定部１１９には、被写体検出部１１６から顔検出結果として顔領域の情報（撮像画像中の位置や大きさ、信頼度など）が供給される。被写体検出部１１６では、過去の顔検出結果を保持したり、利用したりせずに顔検出処理を行う。一方、被写体特定部１１９は、被写体検出部１１６の顔検出結果を時系列的に保持し、時系列的な顔検出結果に基づいて、同一被写体の顔領域を特定する。これにより、被写体追尾が可能になる。
【００２８】
顔領域の位置と大きさを用いて同一被写体を特定する処理について、図２を参照して説明する。図２は逐次撮像される時系列的に連続する２フレームを示しており、（ｂ）が時刻ｔの撮像画像、（ａ）が（ｂ）より１フレーム前の時刻ｔ−１の画像を示している。なお、ここでは１フレーム毎に顔検出を行うものとしているが、数フレームおきに顔検出を行ってもよい。被写体検出部１１６によって各フレームで検出された顔領域は、それぞれ枠２０１、２０２、２０３によって図中に示されている。
【００２９】
図２（ａ）に示すフレームで検出された顔領域について、画像中の座標を用いて、位置を（ｘｔ−１（ｉ），ｙｔ−１（ｉ））、大きさをｓｔ−１（ｉ）と表す。なお、顔領域の位置については、例えば顔領域の中心位置の座標とする。また、図２（ｂ）に示すフレームで新たに検出された顔領域については、位置を（ｘｔ（ｊ），ｙｔ（ｊ））、大きさをｓｔ（ｊ）と表す。ここで、ｉ、ｊの値は１からｎの値を取る整数であり、同一フレーム内で検出された顔領域ごとに値が割り振られる。ｎは検出された顔領域の総数を示す。
【００３０】
被写体特定部１１９は、時系列的に連続する顔検出結果において、検出された顔領域の位置と大きさに基づいて、比較対象となっている顔領域が同一被写体か否かを判定する。判定方法の一例を挙げると、比較対象となっている顔領域の大きさが同一の場合、時刻ｔ−１のフレームにおいて検出された顔領域の周囲に当該顔領域と等しい大きさの領域が隣接する範囲を設定する。この隣接範囲に時刻ｔのフレームで検出された顔領域が含まれれば、両者を同一被写体の顔領域と判定する。また、比較対象となっている顔領域の大きさが異なる場合、２つの顔領域のｘ座標とｙ座標それぞれの差分が、比較対象のうち小さい方の顔を基準として設定した隣接範囲に含まれれば、同一被写体の顔領域と判定する。
【００３１】
すなわち、本実施例においては、以下の式１の値が０以上となる顔領域を同一被写体として判定する。
Ｍｉｎ（ｓｔ（ｉ），ｓｔ−１（ｊ））−ａｂｓ（ｘｔ（ｉ）−ｘｔ−１（ｊ））−ａｂｓ（ｙｔ（ｉ）−ｙｔ−１（ｊ））  （式１）
【００３２】
時刻ｔのフレームで検出された顔領域を基準として、時刻ｔ−１のフレームで式１の値が０以上となる顔領域が複数検出されていた場合は、式１の値が最も小さい顔が同一被写体の領域として判定される。また、時刻ｔのフレームの顔検出結果を基準として、時刻ｔ−１のフレームで式１の値が０以上となる顔検出結果が得られなければ、時刻ｔのフレームの当該顔検出結果に対応する被写体は新規の被写体としてみなされる。例えば、図２において、フレームｔ−１における枠２０１の領域とフレームｔにおける枠２０２の領域は同一の被写体として判定され、フレームｔにおける枠２０３の領域は新規に出現した被写体と判定される。
【００３３】
なお、ここで説明した被写体特定方法は一例であり、他の方法を用いて同一の被写体を特定してもよい。例えば、被写体検出部１１６から顔の傾きや向きに関する情報を取得して、それらを被写体特定部１１９での被写体特定の条件として利用しても良い。また、ズーム倍率（焦点距離）、撮像装置の移動量、手ぶれ補正のＯＮ／ＯＦＦといった撮像装置の情報を取得し、それらを被写体特定の条件として利用しても良い。
【００３４】
被写体特定部１１９は、図３に示すような被写体リスト１２１を保持し、被写体検出部１１６から検出結果を受け取るごとに被写体リスト１２１を更新する。被写体リスト１２１の詳細については後述するが、個々の顔領域について、顔領域の位置座標及び大きさ、顔の角度の情報、信頼度レベルの履歴などが記憶される。
【００３５】
（被写体判定処理）
被写体判定部１２０は、被写体検出部１１６により出力された顔検出結果に基づいて、撮影制御部１１４で有効に利用できる情報を判定し、撮影制御部１１４へ供給する。つまり、被写体判定部１２０は、被写体検出部１１６により出力される顔検出結果の中から、信頼性の高い検出結果を抽出し、撮影制御部１１４へ供給する。具体的には、被写体判定部１２０は、後述する信頼度レベルの閾値と、検出回数又は継続検出時間の判定基準値を顔検出結果の有効判定情報として予め保持しておく。そして、被写体判定部１２０は、被写体特定部１１９が前回検出された顔領域と同一被写体と判定した顔領域について、有効判定情報に基づいて、最終的に顔としての信頼性の高い顔領域か否かを判定する。本実施例では、被写体判定部１２０は、顔領域の信頼度レベルが閾値以上で検出された回数又は継続時間が上述の判定基準値に達した顔領域を、信頼性の高い顔領域と判定する。
【００３６】
ここで、信頼度レベルは、被写体検出部１１６から供給される信頼度の値そのものであっても、被写体検出部１１６から得られる信頼度に対して正規化処理など所定の処理を施した値であってもよい。本実施例において、被写体判定部１２０は、図３で示したように被写体特定部１１９が保持および管理する被写体リスト１２１を参照し、信頼度レベルの履歴から上述の判定基準を満たす顔領域を顔と判定する。そして、被写体判定部１２０は、顔と判定した顔領域の位置や大きさの情報を被写体リスト１２１から読み出して、撮影制御部１１４へ供給する。
【００３７】
次に、本実施例に係る撮像装置の動作について説明する。本実施例に係る撮像装置では、図１の第１固定レンズ１０１からフォーカスレンズ１０５までを含むレンズ群として、超広角レンズである魚眼レンズが備えられている。魚眼レンズを用いて図４（ａ）に示すような格子状の図柄を撮影すると、図４（ｂ）に示すように、画面の中央部が拡大され、周辺部が縮小された画像データが撮像素子１０６から出力される。この場合、図４（ａ）において斜線で示した領域４０１と、図４（ｂ）において斜線で示した領域４０２は、対応する領域となる。
【００３８】
図４（ｂ）で示される画角は、上述した本実施例のワイドモードで撮影され、表示・記録される画像の画角である。一方、上述したアップモードにおいては、領域４０３で示されるように、ワイドモードで撮影される画像の中心領域を切り出した画像が表示・記録される。
【００３９】
本実施例のワイドモードのようにひずみの大きいレンズを用いて撮影された画像データから被写体検出を行う場合、周辺部では被写体が大きく歪んでしまい、検出の信頼性が低下してしまう。この問題と解決手段について、図５および図６を用いて以下に説明する。
【００４０】
図５では、被写体検出部１１６により検出された顔領域と対応する信頼度レベルの例を示している。ここでは、信頼度レベルは１から１０の１０段階あり、１０が最も顔らしさの信頼性が高いものとする。図５（ａ）乃至（ｃ）では、連続する３つのフレームを示しているが、顔検出処理は数フレーム毎に行ってもよい。
【００４１】
図５に示した例では、顔を正しく検出している顔領域（領域５０１、５０２、５０５、５０６、５０９、５１０）は信頼度レベルの高いものが多く、顔以外を誤検出した領域（領域５０３、５０４、５０７、５０８、５１１）は信頼度レベルの低いものが多い。しかしながら、正しく検出されている顔領域でも信頼度レベルの低いもの（領域５０９）や、誤検出された領域でも信頼度レベルの高いもの（領域５０３、５０８）が含まれている。
【００４２】
そこで、被写体特定部１１９が同一被写体の検出領域についての信頼度レベルを経時的に追跡し、検出された個々の領域が所定の判定基準を満たすかどうか、すなわち真の顔領域であるかどうかを被写体判定部１２０が判定する。図５では、画面内の全域で共通の判定基準を用いて被写体判定部１２０により顔の判定を行っている。枠が実線で示されている領域は被写体判定部１２０により顔と判定されていることを、枠が点線で示されている領域は被写体判定部１２０により顔と判定されていないことを示すとする。仮に、信頼度レベルの閾値を８として、８以上の信頼度レベルが２回連続で検出されたら顔と判定し、それ以外の場合は顔と判定しないという判定基準が設定されているものとする。また、一旦顔であると判定された場合、次のフレームで同一被写体と判定された領域については、閾値４以上の信頼度レベルが得られれば引き続き顔であると判定することとする。すなわち、顔であることが検出された領域については、顔検出および顔枠表示の安定性を考慮して、信頼度レベルの閾値を下げることで判定基準を緩和する。
【００４３】
まず、フレームｔ−２（図５（ａ））で顔検出を開始したとする。図５（ａ）で示されるように、領域５０１と領域５０２では顔が正しく検出されており、領域５０３と領域５０４では誤検出されている。しかしながら、この段階では２回連続で閾値以上の信頼度レベルが得られた領域は存在しないため、上記の判定基準を満たしていない。したがって、領域５０１〜５０４は、いずれも顔と判定されない。
【００４４】
次のフレームｔ−１（図５（ｂ））では、領域５０５がフレームｔ−２の領域５０１と同一被写体と判定されている。ここで、領域５０５は、フレームｔ−２の領域５０１から継続して信頼度レベル１０が得られているため、顔と判定される。一方、誤検出された領域５０７は、フレームｔ−２の領域５０３と同一被写体と判定されている。領域５０３は信頼度レベル９であったが、フレームｔ−１で領域５０７の信頼度レベルが１に下がったため、領域５０７は顔と判定されない。また、領域５０６は、フレームｔ−２の領域５０２と同一被写体と判定されている。領域５０２および５０６は実際には正しく顔検出された領域であるが、領域５０２の信頼度レベルが７であったため、フレームｔ−１の時点では顔と判定されない。また、誤検出された領域５０８は、フレームｔ−２の領域５０４と同一被写体と判定されている。領域５０８は信頼度レベル８であったが、領域５０４の信頼度レベルが２に下がったため、顔と判定されない。
【００４５】
さらに次のフレームｔ（図５（ｃ））では、領域５０９がフレームｔ−１の領域５０５と同一被写体と判定されている。領域５０９の信頼度レベルが４に低下したが、既に顔と判定されているため、この時点では依然として顔と判定される。一方、誤検出された領域５１１は、フレームｔ−１の領域５０７と同一被写体と判定されている。領域５１１は、信頼度レベルが４であるため、依然として顔と判定されない。また、領域５１０は、フレームｔ−１の領域５０６と同一被写体と判定されている。領域５０６が信頼度レベル９であったが、現フレームでは信頼度レベル７に下がったため、顔と判定されない。フレームｔ−２とフレームｔ−１で誤検出された領域５０４及び領域５０８については、フレームｔにおいて同一被写体と判別される領域が存在しない。
【００４６】
上述したように、図５では、誤検出されている領域５０３、５０４、５０７、５０８、５１１については、顔と判定することなく誤検出を抑制することができる。特に、領域５０３や領域５０８のように、誤検出であるが高い信頼度レベルが得られた場合であっても、間違った顔判定や顔枠表示を抑制することができている。しかし一方で、本来顔領域と判定するべき領域５０６、５１０については、画面周辺部のゆがみの影響により、高い信頼度レベルの検出結果が出力されにくく、顔と判定されにくい問題がある。
【００４７】
そこで、本実施例では、上記の判定基準を画面内における検出領域の位置に応じて変えることにより、ひずみの影響で信頼性の高い顔検出結果が得られにくい場合でも、より確実な顔判定を可能にする。具体的には、ワイドモードにおいて、画面中心からの距離に応じて判定基準を設定する。判定基準の例としては、以下の（１）乃至（３）のいずれか、またはそれらの組み合わせが想定される。
【００４８】
（１）画面中心であるほど顔と判定する信頼度レベルの閾値を高く設定し、画面の周辺部であるほど顔と判定する信頼度レベルの閾値を低く設定する。（２）検出された顔の角度（Ｒｏｌｌ／Ｐｉｔｃｈ／Ｙａｗ）が所定の角度範囲内であれば顔と判定する。画面中心に近いほど顔と判定する角度範囲を狭く設定し、画面の周辺部であるほど顔と判定する角度範囲を広く設定する。（３）上述した（１）の基準に加え、閾値以上の信頼度レベルが検出された回数や継続して検出された時間を用いて、検出回数閾値（または検出時間閾値）を設定する。具体的には、画面中心であるほど検出回数閾値を小さな値に（短く）設定し、画面の周辺部であるほど検出回数閾値を大きな値に（長く）設定する。なお、顔領域ごとの信頼度レベルの追跡および記録は被写体特定部１１９が行い、判定基準に基づく判定は被写体判定部１２０が行う。
【００４９】
まず、図７で示した判定基準について説明する。図７では、映像信号を横１１×縦８のエリアに分割し、分割したエリアごとに判定基準を設定している。図７（ａ）では、各エリアに対して検出した顔領域の信頼度レベルの閾値を設定している。例えば、ゆがみの小さい中心部エリアでは、被写体判定部１２０は、被写体検出部１１６が出力した領域の信頼度レベルが９以上のときに検出回数をインクリメントして被写体リスト１２１に記録する。一方でゆがみの大きい周辺部エリア（例えば左上）では、被写体判定部１２０は、被写体検出部１１６が出力した顔領域のうち信頼度レベルが６以上のときに顔領域の検出回数をインクリメントして被写体リスト１２１に記録する。
【００５０】
上述した（１）の判定基準を用いる場合、図７（ａ）で示したように、ゆがみの大きさに応じて設定された信頼度レベルの閾値に基づいて、被写体検出部１１６が出力した領域についての顔判定を行う。この場合、画面周辺部に位置する顔の検出率が向上するという効果があるが、一方で誤検出の確率も高くなる。
【００５１】
そこで、さらに誤検出を抑制するため、上述した（３）の判定基準を用いる場合について説明する。（３）の判定基準を用いる場合、図７（ａ）の信頼度レベルの閾値に加えて、図７（ｂ）の検出回数閾値を用いて顔判定を行う。
【００５２】
図７（ｂ）では、各エリアに対して図７（ａ）で設定した閾値以上の信頼度レベルが検出される回数の閾値（検出回数閾値）を設定している。すなわち、判定対象の領域が存在するエリアにおいて、図７（ａ）で示される値以上の信頼度レベルが検出される回数が図７（ｂ）で示される回数に達すると、被写体判定部１２０により顔と判定される。例えば、判定対象の領域が画像の中心部に存在する場合、９以上の信頼度レベルが１回検出されれば顔と判定される。一方、判定対象の領域が画像の周辺部（例えば左上）に存在する場合、６以上の信頼度レベルが４回検出されれば顔と判定される。
【００５３】
次に、図７（ａ）および（ｂ）で示した閾値を適用した場合、すなわち上述した（３）の判定基準を適用した場合の例を、図６を用いて説明する。図６（ａ）乃至（ｃ）では、図５と同様に連続する３つのフレームを示している。また、図６においても、枠が実線で示されている領域は被写体判定部１２０により顔と判定されていることを、枠が点線で示されている領域は被写体判定部１２０により顔と判定されていないことを示すとする。なお、顔と判定された領域に対して、ユーザに視認させるために顔であることを示す表示（例えば顔枠）を行うことが好ましいが、顔と判定されない領域に対しては、顔と判定された領域と異なる表示を行うか、表示を行わないようにしてもよい。
【００５４】
さらに、図６においても、図５と同様に、一旦顔であると判定された場合、次のフレームで同一被写体と判定された領域については、信頼度レベルの閾値を下げることで顔検出の安定性を向上させる。例えば、図７（ａ）において、信頼度レベルの閾値が９、８、７、６の領域については、次のフレームでそれぞれ５、４、３、２以上の信頼度レベルが得られれば顔と判定することとする。
【００５５】
まず、フレームｔ−２（図６（ａ））で顔検出を開始したとする。この段階では、信頼度レベル９の領域６０１が検出されている。ここで、領域６０１の図７における判定基準は、「９以上の信頼度レベルが１回検出される」に対応する。したがって、領域６０１は判定基準を満たしており、顔と判定される。一方、領域６０２及び領域６０４の判定基準は、「７以上の信頼度レベルが３回検出される」に対応し、領域６０３の判定基準は、「８以上の信頼度レベルが２回検出される」に対応する。したがって、領域６０２乃至６０４はいずれも判定基準を満たしていないため、顔と判定されない。
【００５６】
次のフレームｔ−１（図６（ｂ））では、領域６０５がフレームｔ−２の領域６０１と同一の被写体と判定されているとする。領域６０１が既に顔と判定され、領域６０５においても信頼度レベル１０が得られているため、領域６０５も依然として顔と判定される。また、領域６０６がフレームｔ−２の領域６０２と同一の被写体と判定されているとする。領域６０２の信頼度レベルが７であり、領域６０６の信頼度レベルが９であることから、閾値７以上の検出回数が２回になる。この時点では、検出回数の閾値である３回を上回っていないため、顔と判定されない。一方、領域６０７がフレームｔ−２の領域６０３と同一の被写体と判定されているとする。領域６０３の信頼度レベルが９であったため、閾値８以上の検出回数が１回となっていたが、現フレームでは信頼度レベルが１に下がっているため、検出回数に加算されない。また、領域６０８がフレームｔ−２の領域６０４と同一の被写体と判定されているとする。領域６０８の信頼度レベルは８であるが、前フレームで対応する領域６０４の信頼度レベルが２であったため、閾値７以上の検出回数が現フレームで１回となり、この時点では顔と判定されない。
【００５７】
さらに次のフレームｔ（図６（ｃ））では、領域６０９がフレームｔ−１の領域６０５と同一被写体と判定されているとする。領域６０９の信頼度レベルが４に低下したが、領域６０５が既に顔と判定されているため、この時点では依然として顔と判定される。また、領域６１１がフレームｔ−１の領域６０７と同一被写体と判定されているとする。領域６１１の信頼度レベルが４であり、領域６０７も顔と判定されていなかったため、依然として顔と判定されない。一方、領域６１０がフレームｔ−１の領域６０８と同一被写体と判定されているとする。領域６１０は、前フレームでまでの閾値以上の信頼度レベルの検出回数が２回であり、かつ現フレームでの信頼度レベルが閾値の７以上であることから、閾値以上の信頼度レベルの検出回数が３回となる。したがって、領域６１０は、現フレームにおいて顔と判定される。フレームｔ−２とフレームｔ−１で検出された領域６０４及び６０８は、フレームｔにおいて同一被写体と判別される領域が存在しないため、顔と判定されない。なお、前フレームで検出された領域と同一被写体と判別される領域が存在しない場合は、その時点で被写体リストから削除するようにしてもよい。
【００５８】
以上説明したように、本実施例によれば、所定の被写体（例えば顔）を検出する際に、被写体検出部１１６により検出された領域が所定の被写体であるか否かを判定する場合、画像のゆがみの大きさに応じて判定の閾値を変更する。ここで、魚眼レンズを用いて撮影する場合、ゆがみの大きさは画像中心からの距離に対応するため、画像中心からの距離に応じて判定の閾値を変更すると換言することができる。より具体的には、所定の被写体の信頼度レベルの閾値を、ゆがみの大きい画像周辺ほど低く設定する。このように信頼度レベルの閾値を変更することにより、画像周辺でも所定の被写体をより安定して検出することが可能になる。また、閾値以上の信頼度レベルが検出される回数についての閾値を設け、信頼度レベルの閾値の低い領域、つまりゆがみの大きい領域ほど回数の閾値を高くすることで、ゆがみの大きい領域における所定の被写体の検出精度を高めることができる。
【００５９】
なお、上述した（２）の判定基準を用いる場合、図７（ａ）で示した信頼度レベルの閾値が所定の被写体（例えば顔）の角度（Ｒｏｌｌ／Ｐｉｔｃｈ／Ｙａｗ）の閾値（検出角度閾値）に置き換えられる。具体的には、画面中心に近いほど所定の被写体と判定する角度範囲を狭く、画面の周辺部であるほど所定の被写体と判定する角度範囲を広くするように検出角度閾値を設定する。この場合も、画像周辺に位置する所定の被写体をより安定して検出することが可能になる。
【００６０】
次に、本実施例の撮像装置における顔検出判定処理について、図８および図９のフローチャートを用いてさらに説明する。図８は処理全体の流れを示すフローチャートである。ステップＳ８００は処理の開始を示している。ステップＳ８０１において、上述したワイドモードに設定されているか否かを判定する。ワイドモードに設定されている場合はステップＳ８０３へ、ワイドモードに設定されていない場合（本実施例ではアップモードに設定されている場合）はステップＳ８０２へそれぞれ処理を進める。
【００６１】
ステップＳ８０２へ進んだ場合、従来の顔検出判定処理を行う。この場合、顔判定の信頼度レベル閾値や検出回数閾値は、検出領域の画像内における位置に依らず、共通の値に設定される。
【００６２】
一方、ステップＳ８０３へ進んだ場合、ワイドモード用顔検出判定処理１を実行する。ワイドモード用顔検出判定処理１の詳細について、図９のフローチャートを用いて説明する。
【００６３】
まず、ステップＳ９００は処理の開始を示している。ステップＳ９０１において、被写体検出部１１６は画像中から人物の顔を検出し、検出した領域の各々について、画像中における位置（座標）、大きさ、信頼度、角度（Ｒｏｌｌ／Ｐｉｔｃｈ／Ｙａｗ）などを求める。本実施例では、時系列的に連続して得られる画像ごとに被写体検出部１１６で顔検出を行うものとする。
【００６４】
次に、ステップＳ９０２において、ステップＳ９０１で検出された領域の１つについて、被写体特定部１１９は、上述した被写体特定法により現フレームの検出結果を前フレームの検出結果と比較し、前フレームの検出結果と同一被写体か否かを判定する。前フレームの検出結果と同一被写体と判定すればステップＳ９０３に進み、同一被写体と判定しなければステップＳ９０４に進む。
【００６５】
ステップＳ９０３において、被写体特定部１１９は、現フレームで検出された領域のうち、前フレームで検出された領域と同一被写体のものと判定される領域について、被写体リスト１２１に登録済みのデータを更新する。被写体特定部１１９は、被写体リスト１２１に登録されるデータのうち、顔領域の位置、大きさ、角度については、現フレームでの検出結果に書き換えて更新する。
【００６６】
信頼度レベルの検出回数の更新について、図３で示した被写体リスト１２１を例に説明する。図３の被写体リスト１２１では、現フレームで検出された信頼度レベルと、それより低い信頼度レベルの検出回数をカウントアップし、現フレームで検出された信頼度レベルより高い信頼度レベルの検出回数を全て０とする。例えば、現フレームで検出された信頼度レベルが１０の場合、全ての信頼度レベルの検出回数をカウントアップする。一方、現フレームで検出された信頼度レベルが６の場合、信頼度レベル１〜６の検出回数をカウントアップし、信頼度レベル７〜１０の検出回数を０とする。このような更新方法により、継続して検出されている信頼度レベルの回数を記録することができ、閾値以上の信頼度レベルの継続検出回数が検出回数閾値に達したかを判断することができる。
【００６７】
なお、上述した閾値以上の信頼度レベルの検出回数をカウントする方法およびデータの更新方法は一例であり、これに限定されるものではない。また、閾値以上の信頼度レベルが継続して検出されることが顔判定の正確性の観点から好ましいが、継続して検出されることを必須にしなくてもよい。例えば、図７（Ａ）において、同じ閾値エリア内で閾値以上の信頼度レベルが検出されたら検出回数をカウントアップし、閾値未満であれば検出回数を変更しないようにしてもよい。
【００６８】
一方、ステップＳ９０４において、被写体特定部１１９は、現フレームで検出された領域のうち、前フレームで検出された領域と異なる被写体と判定した領域については、新たな被写体ＩＤを付与し、被写体リスト１２１に新規の被写体データとして登録する。
【００６９】
以上説明したステップＳ９０３またはＳ９０４において、被写体特定部１１９は、被写体検出部１１６から供給される顔領域の位置、大きさ、角度、信頼度レベルの情報と、被写体特定結果とに基づいて、図３の被写体リスト１２１のデータを更新または登録する。被写体リスト１２１には、被写体（顔領域）を識別するための被写体ＩＤごとに、顔領域の位置、大きさ、角度、信頼度レベルごとの検出回数、顔と判定されたか否かを示す顔判定フラグ、現フレームで登録または更新されたことを示す更新フラグが関連付けられる。更新フラグはフレーム毎に０にクリアされ、ステップＳ９０３の更新もしくはステップＳ９０４の登録により、更新フラグは１になる。
【００７０】
初期フレームにおける処理時は、被写体リスト１２１のデータがないため、被写体特定部１１９は、検出された顔領域の情報を全て新規の被写体データとして被写体リスト１２１に登録する。次のフレーム以降、被写体特定部１１９は、被写体リスト１２１中の被写体データと、現フレームの検出結果の情報を用いて、被写体判定処理を行う。
【００７１】
被写体判定部１２０では、被写体リスト１２１に記録された各被写体の顔領域の信頼度レベルの履歴、具体的には信頼度レベルに応じた検出回数または継続検出時間に基づいて、各被写体の領域のうち、顔領域（顔である可能性の高い領域）を判定する。
【００７２】
また、被写体判定部１２０で顔として判定された被写体については、以降で同一被写体と特定される領域が検出されれば、信頼度レベルとは無関係に顔であると判定してもよい。または、上述したように、被写体判定部１２０で顔として判定された被写体については、以降の検出結果における信頼度レベルの閾値を、図７（ａ）の信頼度閾値よりも下げて検出してもよい。例えば、被写体判定部１２０で顔として判定されるまでは図７（ａ）に示す閾値を用いて判定し、顔と判定された後は、閾値が９、８、７、６だったエリアはそれぞれ次回の閾値を５、４、３、２にするというように閾値を下げてもよい。
【００７３】
ステップＳ９０５において、被写体判定部１２０は、現フレームで検出された領域が、既に顔と判定されたものかどうかを判定する。被写体判定部１２０は、図３に示した被写体リスト１２１中の顔判定フラグが１であれば、既に顔と判定されているとして、ステップＳ９０８に進む。一方、顔判定フラグが０であれば、顔と判定されていないとしてステップＳ９０６に進む。なお、被写体データの登録時における顔判定フラグの値は０とする。
【００７４】
そして、ステップＳ９０６において、被写体判定部１２０は、顔判定フラグが０である領域に関して、被写体リスト１２１の信頼度レベルの履歴と検出回数を参照し、予め定めた判定基準を満たすか否かを判定する。すなわち、被写体が位置するエリアにおいて閾値以上の信頼度レベルが得られた回数が、現在位置するエリアにおける検出回数閾値ｆ（Ｌ）以上であるか否かを判定する。閾値以上の信頼度レベルの検出回数が、現在位置の検出回数閾値ｆ（Ｌ）以上である場合、処理をステップＳ９０７に進め、現在位置の検出回数閾値ｆ（Ｌ）未満の場合は処理をステップＳ９０８に進める。
【００７５】
本実施例においては上記判定基準（３）を設定する場合を例に挙げた。判定基準（１）を設定する場合は、ステップＳ９０６において、検出領域の信頼度レベルが該当エリアの閾値以上である場合は処理をステップＳ９０７に進め、閾値未満である場合は処理をステップＳ９０８に進める。また、判定基準（２）を設定する場合は、ステップＳ９０６において、検出領域の顔検出角度が該当エリアの検出角度閾値よりも狭い角度である場合、処理をステップＳ９０７に進め、検出角度閾値よりも広い角度である場合、処理をステップＳ９０８に進める。
【００７６】
本実施例においては、上述した図７（ａ）及び図７（ｂ）に示されているように、エリア毎の信頼度閾値と検出回数閾値が判定基準として定められており、この判定基準を満たすか否かで顔を判定するものとする。また、本実施例においては、現フレームで顔領域を検出したエリアに基づいて閾値を設定する。さらに、エリアの選択については、現フレームで検出した領域の中心座標を基準にしても良いし、検出した領域の位置とサイズから閾値を平均化して設定しても良い。
【００７７】
加えて、本実施例においては、画面中心からの距離に対する信頼度レベルの閾値と検出回数閾値が略線形に変化（画面周辺ほど信頼度レベルの閾値が低くなり、検出回数閾値が高くなる）しているが、非線形関係であっても良い。
【００７８】
被写体判定部１２０は、ステップＳ９０７において、図３に示した被写体リスト１２１に含まれる顔領域のうち、信頼度レベルが上記の条件を満たすものを顔として判定し、被写体リスト１２１中の顔判定フラグの値を１にする。そして、被写体判定部１２０は、顔と判定した領域の情報を被写体リスト１２１から読み出して撮影制御部１１４に供給する。
【００７９】
一方、被写体判定部１２０は、継続検出回数が基準値を満たしていない顔領域については顔とは判定せず、顔判定フラグは０のままとする。そして、被写体判定部１２０は、顔と判定しなかった顔領域の情報は、撮影制御部１１４に供給しない。
【００８０】
上述したステップＳ９０２からステップＳ９０７までの処理を、ステップＳ９０１における顔検出により検出された各領域に対して行う。そのため、ステップＳ９０８において、被写体判定部１２０は、現フレームで検出された全ての領域に対して処理を行ったか否かを判定する。そして、被写体判定部１２０は、未処理の検出領域が残っている場合、その１つを処理対象としてステップＳ９０２に処理を戻す。一方、現フレームで検出された全ての領域について処理した場合には、被写体判定部１２０は処理をステップＳ９０９に移す。
【００８１】
そして、ステップＳ９０９において、被写体判定部１２０は、被写体リスト１２１中の被写体データに未更新のデータがあれば、前フレームでは検出されたが現フレームでは検出されなかった被写体のデータであるため、被写体リスト１２１から削除する。
【００８２】
このように、本実施例によればひずみが大きい画像に対して特定の被写体検出を行う場合に、特定の被写体を判定するための信頼度レベルの閾値をひずみの大きさに応じて設定することで、簡便な方法で検出率を高めることができる。また、さらに信頼度レベルの履歴に基づいて、閾値以上の信頼度が検出された回数や時間による判定を行うことにより、簡便な方法で検出精度を高めることができる。
【００８３】
なお、本実施例では画面を横１１×縦８のエリアに分割したが、分割エリア数や縦横の分割比は任意に決めることができる。また、正方形や長方形のような矩形領域に限らず、歪曲収差の特性に応じて曲線を含んだ領域に分割することも考えられる。また、信頼度レベルの閾値と検出回数閾値のエリアや閾値の変化量は必ずしも一致している必要はなく、エリアの形状や大きさ、閾値の変化量を異ならせてもよい。
【実施例２】
【００８４】
実施例１では、ひずみが大きい画像から所定の被写体を検出する場合に、ひずみの大きさに応じて閾値を変更する方法を示したが、撮像装置が追従している被写体に対してのみ実施例１における処理を行うようにしてもよい。具体的には、撮像装置が被写体を追従していない場合は、従来のように画像全体に対して信頼度レベル閾値と検出回数閾値を一律に設け、被写体を追従している場合は追従している被写体周辺の判定基準を変更する。
【００８５】
以下で、実施例２における処理について説明する。図１０は本実施例の処理全体を示すフローチャートである。
【００８６】
ステップＳ１０００は処理の開始を示している。まず、ステップＳ１００１において、上述したワイドモードに設定されているか否かを判定する。ワイドモードに設定されている場合はステップＳ１００３へ、ワイドモードに設定されていない場合（本実施例ではアップモードに設定されている場合）はステップＳ１００２へそれぞれ処理を進める。
【００８７】
ステップＳ１００２へ進んだ場合、従来の顔検出判定処理を行う。この場合、顔判定の信頼度レベル閾値や検出回数閾値は、検出領域の画像内における位置に依らず、共通の値に設定される。
【００８８】
ステップＳ１００３では、すでに顔と判定されているか否かを判定する。顔と判定されている領域がある場合はステップＳ１００４に処理を進め、顔と判定されている領域がない場合はステップＳ１００２に処理を進める。
【００８９】
次に、ステップＳ１００４において、現在顔と判定されている領域に関して、ユーザからの指定によって主被写体（主顔）が選択されているか、または、個人認識されているか否かを判定する。個人認識とは、撮像装置内の記憶領域に主要な被写体のテンプレートが記憶されており、公知の方法により記憶領域内に記憶されている被写体であると認識することにより行われる。主被写体が選択されている、または、個人認識されていると判定した場合、撮影制御部１１４は主被写体を追従していると判断して、処理をステップＳ１００７に進める。主被写体が選択されていない、かつ、個人認識されていない場合は処理をステップＳ１００５に進める。
【００９０】
ステップＳ１００５では、撮影制御部１１４がパンニング動作を検出しているか、または、撮像装置が雲台に装着されてユーザからの指示で駆動されているかを判定する。パンニング動作が検出されているか、または雲台駆動されている場合は、ステップＳ１００６に処理を進める。一方、パンニング検出も雲台駆動もされていない場合は、被写体を追従していないとして、ステップＳ１００２に処理を進め、従来通りの顔判定基準を用いて顔を判定する。
【００９１】
ステップＳ１００６では、撮影制御部１１４がパンニング動作を検出している場合、現フレームにおいて顔と判定されている検出領域の中から、検知したパンニング方向と同じ方向に移動している検出領域を主顔として選択する。または、撮像装置が雲台に装着されており、ユーザからの指示で方向を変更する場合、現フレームにおいて顔と判断している検出領域の中から、ユーザからの指示で指定された方向と同じ方向に移動している検出領域を主顔として選択する。そして、主顔として選択された顔領域を追従対象として決定し、処理をステップＳ１００７に進める。
【００９２】
ステップＳ１００７では、ワイドモード用顔検出判定処理２を実行する。ワイドモード用顔検出判定処理２の詳細について、図１１のフローチャートを用いて説明する。ただし、図９のフローチャートと同じ処理については、同じ番号を付して説明を省略する。
【００９３】
まず、パンニングにより追従していると判断する方法について説明する。被写体特定部１１９は、現フレームと前フレームとで同一被写体と判断される領域が検出された場合、ステップＳ１１０１において、同一被写体と判断された領域の位置の差から、被写体の移動方向ｗ（ｉ）と移動量ｍ（ｉ）を算出する。なお、連続する２フレーム間の移動量ではなく、ある一定期間に含まれる複数のフレームについて移動量を加算した累積値を求め、連続して取得された累積値の差分を移動量としてもよい。累積値とすることで、例えば同一被写体の誤判定によって一時的に被写体の移動量が増加したとしても、判定基準が大きく変動してしまうのを抑制することができる。
【００９４】
ステップＳ９０３に進み、被写体特定部１１９は、移動方向ｗ（ｉ）と移動量ｍ（ｉ）を含む、被写体リスト１２１中の対応する被写体データを更新する。
【００９５】
一方で、現フレームにおいて前フレームで検出されていない被写体の領域が検出された場合、ステップＳ９０４において、被写体特定部１１９は、検出領域についての情報を新規の被写体データとして被写体リストに登録する。新規に登録する際には、移動方向は無しに、移動量は０にする。
【００９６】
図１２では、本実施例で用いる被写体リスト１２１を示す。本実施例における被写体リスト１２１は、図３の被写体リスト１２１の情報に加え、移動方向ｗ（ｉ）と移動量ｍ（ｉ）の情報を含むものである。
【００９７】
また、本実施例の撮像装置は、不図示の加速度センサを備え、撮影制御部１１４は、加速度センサの出力値から撮像装置の移動方向を判定することができる。撮影制御部１１４は、加速度センサの出力値（移動方向情報）に基づいて、図１２の被写体リストから検知したパンニングの方向と同じ方向に移動した検出領域を選択する。次に、現フレームにおける移動量の差が最も０に近い検出領域を、追従している被写体であると判断する。ただし、上述したように、現フレームと前フレームのみにおける移動量の差ではなく、一定期間の移動量の累計値が最も小さい被写体としてもよい。累計値とすることで、同一被写体の誤判定や手振れの影響を抑制することができる。
【００９８】
次に、雲台駆動により追従していると判断する方法について説明する。この場合も、移動方向と移動量が記録されている図１２の被写体リスト１２１を用いる。
【００９９】
本実施例における撮像装置は、不図示の雲台に撮像装置を装着可能にするための構成を備え、ユーザからの指示により雲台が左右上下に可動することができる。雲台は、撮像装置を支持するとともに撮像装置の光軸方向を変更する支持部と、支持部の駆動を制御する駆動制御部と、支持部に対して駆動命令を送信する命令送信部とを備えて構成される。
【０１００】
撮影制御部１１４は、図１２の被写体リストから、ユーザからの指示情報と同じ方向に移動した検出領域を選択する。次に、現フレームにおける移動量が最も０に近い検出領域を、追従している被写体であると判断する。ただし、上述したように、現フレームと前フレームのみにおける移動量の差ではなく、一定期間の移動量の累計値が最も小さい被写体としてもよい。累計値とすることで、同一被写体の誤判定の影響を抑制することができる。
【０１０１】
以上説明したように、本実施例によれば、追従していると判定した被写体のみに対して、ひずみの大きさに応じた閾値設定を行うことにより、誤検出をさらに抑えつつ、被写体の追従精度を高めることができる。
【０１０２】
以上説明した実施形態においては、歪曲収差が大きい光学系を備えた撮像装置が２つの撮影モード（ワイドモードとアップモード）を備える場合を示したが、ひずみの大きい画像から特定の被写体検出を行う場合であれば、本発明を適用することができる。例えば、ズーム動作が可能な撮像装置において、所定のズーム倍率より広角側か望遠側かに応じて、ひずみに応じた閾値設定を行うか否かを切り替えてもよい。また、交換レンズ式の撮像装置において、歪曲収差が大きいレンズが装着された場合に、ひずみに応じた閾値設定を行うようにしてもよい。
【０１０３】
（他の実施形態）
本発明の目的は以下のようにしても達成できる。すなわち、前述した実施形態の機能を実現するための手順が記述されたソフトウェアのプログラムコードを記憶した記憶媒体を、システムまたは装置に供給する。そしてそのシステムまたは装置のコンピュータ（またはＣＰＵ、ＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出して実行する。この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体およびプログラムは本発明を構成することになる。
【０１０４】
また、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどが挙げられる。また、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等も用いることができる。
【０１０５】
また、コンピュータが読み出したプログラムコードを実行可能とすることにより、前述した各実施形態の機能が実現される。さらに、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した各実施形態の機能が実現される場合も含まれる。
【０１０６】
更に、以下の場合も含まれる。まず記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う。
【０１０７】
また、本発明はデジタルカメラのような撮影を主目的とした機器に限定されず、携帯電話、パーソナルコンピュータ（ラップトップ型、デスクトップ型、タブレット型など）、ゲーム機など、撮像装置を内蔵もしくは外部接続する任意の機器に適用可能である。従って、本明細書における「撮像装置」は、撮像機能を備えた任意の電子機器を包含することが意図されている。
【０１０８】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【０１０９】
１０６  撮像素子
１０７  ＣＤＳ／ＡＧＣ回路
１０８  カメラ信号処理回路
１０９  モニタ装置
１１４  撮影制御部
１１６  被写体検出部
１１９  被写体特定部
１２０  被写体判定部
１２１  被写体リスト
【図１】
2015104016.tif 000003
【図２】
2015104016.tif 000004
【図３】
2015104016.tif 000005
【図４】
2015104016.tif 000006
【図５】
2015104016.tif 000007
【図６】
2015104016.tif 000008
【図７】
2015104016.tif 000009
【図８】
2015104016.tif 000010
【図９】
2015104016.tif 000011
【図１０】
2015104016.tif 000012
【図１１】
2015104016.tif 000013
【図１２】
2015104016.tif 000014