追尾装置及び追尾方法
【課題】顔部が非検出となったり、顔部の検出の精度が低下したりした場合であっても、以後のフレームにおける追尾精度を落とすことの無い追尾装置及び追尾方法を提供すること。
【解決手段】追尾対象の顔部を、顔検出回路1307を用いた追尾処理と、追尾処理回路1305による輝度情報を用いた追尾処理と、追尾処理回路1306による色情報を用いた追尾処理とによって追尾する。また、追尾対象の顔周辺部を、顔検出回路1307を用いた追尾処理によって検出された顔部の位置から推定して追尾するとともに、追尾処理回路1305による輝度情報を用いた追尾処理と、追尾処理回路1306による色情報を用いた追尾処理とによって追尾する。次フレームの追尾処理の開始の位置を顔検出回路1307における顔検出の結果と顔部信頼性向き判定回路1308における顔部の向きの判定結果に応じて変更する。
【解決手段】追尾対象の顔部を、顔検出回路1307を用いた追尾処理と、追尾処理回路1305による輝度情報を用いた追尾処理と、追尾処理回路1306による色情報を用いた追尾処理とによって追尾する。また、追尾対象の顔周辺部を、顔検出回路1307を用いた追尾処理によって検出された顔部の位置から推定して追尾するとともに、追尾処理回路1305による輝度情報を用いた追尾処理と、追尾処理回路1306による色情報を用いた追尾処理とによって追尾する。次フレームの追尾処理の開始の位置を顔検出回路1307における顔検出の結果と顔部信頼性向き判定回路1308における顔部の向きの判定結果に応じて変更する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、被写体を追尾する追尾装置及び追尾方法に関する。
【背景技術】
【0002】
従来、動体を撮影する際や動画像を撮影する際に、特定の被写体に追従するように自動合焦制御(AF)や自動露光制御(AE)を行う技術が知られている。このような特定の被写体を追従するために追尾処理が用いられている。追尾処理には、輝度情報を利用するものや、色情報を利用するもの、顔検出を利用するもの等、種々のものがある。
【0003】
ここで、1種類のみの追尾処理を用いた場合、追尾処理に失敗してしまうと、それ以降は正しい追尾処理が不能となる可能性がある。これに対し、特許文献1においては、各フレームの顔検出の結果に応じて顔画像が検出状態か非検出状態かを判定し、顔画像が非検出状態のときは、その顔画像が非検出状態となったフレームに隣接するフレームで例えばマッチング処理を行うことにより、顔画像と対応する顔画像対応部を検出している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4506779号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、特許文献1の技術は、あるフレームで顔部画像が非検出状態であった場合に、そのフレームにおける顔画像対応部を、過去に検出された顔部の座標としている。即ち、特許文献1では、顔画像が非検出であったフレームでは顔画像対応部を検出していない。また、被写体が移動していると、過去の顔部座標を顔画像対応部としたときに背景が顔画像対応部となってしまう可能性がある。背景が顔画像対応部となると、それ以後の顔画像対応部の追跡が失敗してしまう。
【0006】
本発明は、前記の事情に鑑みてなされたもので、顔部が非検出となったり、顔部の検出の精度が低下したりした場合であっても、以後のフレームにおける追尾精度を落とすことの無い追尾装置及び追尾方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
前記の目的を達成するために、本発明の第1の態様の追尾装置は、追尾対象を設定する追尾対象設定部と、入力された画像データから前記追尾対象の顔部の位置を検出する顔検出部と、前記顔部の信頼性を判定する顔部信頼性判定部と、前記入力された画像データから前記追尾対象の顔部の第1の特徴情報を検出することにより、前記追尾対象の顔部の位置を追尾する第1の顔追尾処理部と、前記顔検出部によって検出された顔部の位置から前記追尾対象の顔周辺部の位置を推定する顔周辺推定部と、前記入力された画像データから前記追尾対象の顔周辺部の前記第1の特徴情報を検出することにより、前記追尾対象の顔周辺部の位置を追尾する第1の顔周辺追尾処理部と、前記顔部信頼性判定部で判定された顔部の信頼性が信頼性有りである場合に、次回の前記画像データの入力時の前記第1の顔追尾処理部における追尾の開始位置を前記顔検出部で検出された顔部の位置に更新するとともに、次回の前記画像データの入力時の前記第1の顔周辺追尾処理部における追尾の開始位置を前記顔周辺推定部で推定された顔周辺部の位置に更新し、前記顔部信頼性判定部で判定された顔部の信頼性が信頼性無しの場合に、次回の前記画像データの入力時の前記第1の顔追尾処理部における追尾の開始位置を前記顔検出部で検出された顔部の位置に更新するとともに、次回の前記画像データの入力時の前記第1の顔周辺追尾処理部における追尾の開始位置を前記第1の顔周辺追尾処理部で追尾された顔周辺部の位置に更新する制御部と、を具備することを特徴とする。
【0008】
また、前記の目的を達成するために、本発明の第2の態様の追尾方法は、追尾対象設定部が、追尾対象を設定し、顔検出部が、入力された画像データから前記追尾対象の顔部の位置を検出し、顔部信頼性判定部が、前記顔部の信頼性を判定し、第1の顔追尾処理部が、前記入力された画像データから前記追尾対象の顔部の第1の特徴情報を検出することにより、前記追尾対象の顔部の位置を追尾し、顔周辺推定部が、前記顔検出部によって検出された顔部の位置から前記追尾対象の顔周辺部の位置を推定し、第1の顔部周辺追尾部が、前記入力された画像データから前記追尾対象の顔周辺部の前記第1の特徴情報を検出することにより、前記追尾対象の顔周辺部の位置を追尾し、制御部が、前記顔部信頼性判定部で検出された顔部の信頼性が信頼性有りである場合に、次回の前記画像データの入力時の前記第1の顔追尾処理部における追尾の開始位置を前記顔検出部で検出された顔部の位置に更新するとともに、次回の前記画像データの入力時の前記第1の顔周辺追尾処理部における追尾の開始位置を前記顔周辺推定部で推定された顔周辺部の位置に更新し、前記顔部信頼性判定部で判定された顔部の信頼性が信頼性無しの場合に、次回の前記画像データの入力時の前記第1の顔追尾処理部における追尾の開始位置を前記顔検出部で検出された顔部の位置に更新するとともに、次回の前記画像データの入力時の前記第1の顔周辺追尾処理部における追尾の開始位置を前記第1の顔周辺追尾処理部で追尾された顔周辺部の位置に更新する、ことを特徴とする。
【発明の効果】
【0009】
本発明によれば、顔部が非検出となったり、顔部の検出の精度が低下したりした場合であっても、以後のフレームにおける追尾精度を落とすことの無い追尾装置及び追尾方法を提供することができる。
【図面の簡単な説明】
【0010】
【図1】本発明の一実施形態に係る追尾装置を備えた撮像装置の一例としての構成を示す図である。
【図2】輝度情報を用いた追尾処理について説明するための図である。
【図3】色情報を用いた追尾処理について説明するための図である。
【図4】顔検出処理について説明するための図である。
【図5】撮像装置の撮影動作を示すフローチャートである。
【図6】本発明の一実施形態に係る追尾方法としての追尾処理について示すフローチャートである。
【図7】周辺位置推定処理について示すフローチャートである。
【図8】各部追尾処理について示すフローチャートである。
【図9】候補追尾位置算出処理について示すフローチャートである。
【図10】追尾位置更新判断処理について示すフローチャートである。
【図11】追尾位置更新判断処理の具体例について示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明の実施形態を説明する。
図1は、本発明の一実施形態に係る追尾装置を備えた撮像装置の一例としての構成を示す図である。図1に示す撮像装置100は、撮影光学系102と、焦点調整機構104と、絞り106と、絞り駆動機構108と、シャッタ110と、シャッタ駆動機構112と、撮像素子114と、撮像素子インターフェイス(IF)回路116と、RAM118と、表示素子120と、表示素子駆動回路122と、タッチパネル124と、タッチパネル駆動回路126と、記録メディア128と、システムコントローラ130と、操作部132と、ROM134と、を有している。
【0012】
撮影光学系102は、図示しない被写体からの光束Fを、撮像素子114の受光面上に集光するための光学系である。この撮影光学系102は、フォーカスレンズ等の複数のレンズを有している。焦点調整機構104は、モータ及びその駆動回路等を有している。この焦点調整機構104は、システムコントローラ130内のCPU1301の制御に従って、撮影光学系102内のフォーカスレンズをその光軸方向(図示一点鎖線方向)に駆動させる。
【0013】
絞り106は、開閉自在に構成され、撮影光学系102を介して撮像素子114に入射する光束Fの量を調整する。絞り駆動機構108は、絞り106を駆動するための駆動機構を有している。この絞り駆動機構108は、システムコントローラ130内のCPU1301の制御に従って、絞り106を駆動させる。
【0014】
シャッタ110は、撮像素子114の受光面を遮光状態又は露光状態とするように構成されている。このシャッタ110により、撮像素子114の露光時間が調整される。シャッタ駆動機構112は、シャッタ110を駆動させるための駆動機構を有し、システムコントローラ130内のCPU1301の制御に従って、シャッタ110を駆動させる。
【0015】
撮像素子114は、撮影光学系102を介して集光された被写体からの光束Fが結像される受光面を有している。撮像素子114の受光面は、複数の画素が2次元状に配置されて構成されており、また、受光面の光入射側には、カラーフィルタが設けられている。このような撮像素子114は、受光面に結像された光束Fに対応した像(被写体像)を、その光量に応じた電気信号(以下、画像信号という)に変換する。ここで、撮像素子114は、CCD方式やCMOS方式等の種々の構成の撮像素子が知られている。また、カラーフィルタの色配列もベイヤ配列等の種々の配列が知られている。本実施形態は、撮像素子114の構成が特定の構成に限定されるものではなく、種々の構成の撮像素子を用いることが可能である。
【0016】
撮像素子IF回路116は、システムコントローラ130内のCPU1301の制御に従って、撮像素子114を駆動させる。また、撮像素子IF回路116は、システムコントローラ130内のCPU1301の制御に従って、撮像素子114で得られた画像信号を読み出し、読み出した画像信号に対してCDS(相関二重サンプリング)処理やAGC(自動利得制御)処理等のアナログ処理を施す。さらに、撮像素子IF回路116は、アナログ処理した画像信号をデジタル信号(以下、画像データという)に変換する。
【0017】
RAM118は、例えばSDRAMであり、ワークエリア、評価画像エリア、参照画像エリア、追尾位置ログエリア、追尾色領域ログエリア、を記憶エリアとして有している。
ワークエリアは、撮像素子IF回路116で得られた画像データ等の、撮像装置100の各部で発生したデータを一時記憶しておくためにRAM118に設けられた記憶エリアである。
評価画像エリアは、評価画像データを一時記憶しておくためにRAM118に設けられた記憶エリアである。評価画像データは、後述する追尾処理における追尾対象の被写体を含むフレームの画像データである。追尾処理においては、この追尾対象を追尾するように処理が行われる。
参照画像エリアは、参照画像データを一時記憶しておくためにRAM118に設けられた記憶エリアである。参照画像データは、後述する追尾処理において、追尾対象の探索の対象となるフレームの画像データである。追尾処理においては、参照画像データ中で探索が行われる。
追尾位置ログエリアは、追尾位置ログを一時記憶しておくためにRAM118に設けられた記憶エリアである。追尾位置ログは、追尾処理の結果として得られた追尾位置を記録したログである。本実施形態では、複数の追尾処理を併用して追尾対象を追尾する。したがって、追尾位置ログには、それぞれの追尾処理によって得られた追尾位置(候補追尾位置)を例えば過去10フレーム分個別に記録する。また、追尾位置ログには、後述の追尾処理によって採用された最終的な追尾位置も記録する。
【0018】
追尾色領域ログエリアは、追尾色領域ログを一時記憶しておくためにRAM118に設けられた記憶エリアである。追尾色領域ログは、追尾処理によって得られた追尾色領域を記録したログである。本実施形態では、追尾色領域を例えば過去10フレーム分記録する。追尾色領域の詳細については後述する。
【0019】
表示素子120は、例えば液晶ディスプレイ(LCD)であり、ライブビュー用の画像及び記録メディア128に記録された画像等の各種の画像を表示する。表示素子駆動回路122は、システムコントローラ130のCPU1301から入力された画像データに基づいて表示素子120を駆動させ、表示素子120に画像を表示させる。
【0020】
タッチパネル124は、表示素子120の表示画面上に一体的に形成されており、表示画面上へのユーザの指等の接触位置等を検出する。タッチパネル駆動回路126は、タッチパネル124を駆動するとともに、タッチパネル124からの接触検出信号をシステムコントローラ130のCPU1301に出力する。CPU1301は、接触検出信号から、ユーザの表示画面上への接触操作を検出し、その接触操作に応じた処理を実行する。
【0021】
記録メディア128は、例えばメモリカードであり、撮影動作によって得られた画像ファイルが記録される。画像ファイルは、画像データに所定のヘッダを付与して構成されるファイルである。ヘッダには、撮影条件を示すデータ及び追尾位置を示すデータ等が、タグデータとして記録される。
【0022】
システムコントローラ130は、撮像装置100の動作を制御するための制御回路として、CPU1301と、AF制御回路1302と、AE制御回路1303と、画像処理回路1304と、追尾処理回路1305、1306と、顔検出回路1307と、顔部信頼性判定回路1308と、色情報取得回路1309と、メモリ制御回路1310と、を有している。
【0023】
CPU1301は、焦点調整機構104、絞り駆動機構108、シャッタ駆動機構112、表示素子駆動回路122、タッチパネル駆動回路126等のシステムコントローラ130の外部の各ブロック、及びシステムコントローラ130の内部の各制御回路の動作を制御する。また、CPU1301は、制御部としての機能も有し、後述の追尾位置更新判断処理において顔部及び顔周辺部の追尾位置を決定することも行う。さらに、CPU1301は、顔周辺推定部としての機能も有し、顔検出回路1307で検出された追尾対象の顔部の位置から顔周辺部の位置を推定することも行う。
【0024】
AF制御回路1302は、コントラストAF処理を制御する。具体的には、AF制御回路1302は、撮像素子IF回路116で得られた画像データの高周波成分を抽出し、この抽出した高周波成分を積算することにより、AF用の合焦評価値を取得する。CPU1301は、この合焦評価値に従って画像データのコントラストを評価しつつ、焦点調整機構104を制御してフォーカスレンズを合焦状態とする。
【0025】
AE制御回路1303は、AE動作を制御する。具体的には、AE制御回路1303は、撮像素子IF回路116で得られた画像データを用いて被写体輝度を算出する。CPU1301は、この被写体輝度に従って、露光時の絞り106の開口量(絞り値)、シャッタ110の開放時間(シャッタ速度値)、撮像素子感度やISO感度等を算出する。
【0026】
画像処理回路1304は、画像データに対する各種の画像処理を行う。この画像処理としては、色補正処理、ガンマ(γ)補正処理、圧縮処理等が含まれる。また、画像処理回路1304は、圧縮されている画像データに対する伸張処理も施す。
第2の顔追尾処理部及び第2の顔周辺追尾処理部としての追尾処理回路1305は、第2の特徴情報としての画像データの輝度情報を用いた追尾処理を行う。この輝度情報を用いた追尾処理について簡単に説明する。輝度情報を用いた追尾処理では、例えば、図2(a)に示す(N−1)フレームにおいて追尾対象が設定された場合、この(N−1)フレームの画像データを、評価画像データとしてRAM118の評価画像エリアに記憶する。この評価画像データの追尾対象を含む所定範囲202の画像データを、基準画像データに設定する。この後の追尾処理では、参照画像データの基準画像データ202と対応する部分を探索する。
Nフレームの追尾処理を例に示すと、まず、Nフレームの画像データを、参照画像データとしてRAM118の参照画像エリアに記憶する。この参照画像データのうちの所定の探索範囲204の画像データと基準画像データ202との相関量を求めることにより、参照画像データの基準画像データ202と対応する部分を探索する。相関量は、例えば基準画像データと参照画像データとの差分絶対値和(画素毎に輝度差の絶対値を求めてそれを積算したもの)から判定する。例えば、図2(b)に示す参照画像データの領域206の参照画像データと基準画像データ202との差分絶対値和を求めたとすると、参照画像データの領域206と基準画像データ202とは明らかに異なる画像データであり、差分絶対値和が大きくなる。これに対し、参照画像データの領域208と基準画像データ202との差分絶対値和を求めたとすると、差分絶対値和が小さくなる。このように、基準画像データ202との相関量が大きくなるに従って差分絶対値和が小さくなる。輝度情報を用いた追尾処理では、相関量が最大の、即ち差分絶対値和が最小の領域を参照画像データから探索する。図2(b)の例では、領域208となる。なお、追尾位置ログエリアには、領域208の中で最も一致度の高い位置を追尾位置として記録する。なお、このような位置が複数ある場合には、例えば、領域208の中心に近い位置を追尾位置とする。次回の追尾処理時には、この追尾位置を追尾処理の開始位置とすることが望ましい。これにより、追尾処理にかかる時間を軽減することが可能である。
【0027】
第1の顔追尾処理部及び第1の顔周辺追尾処理部としての追尾処理回路1306は、第1の特徴情報としての画像データの色情報を用いた追尾処理を行う。この色情報を用いた追尾処理について簡単に説明する。色情報を用いた追尾処理では、評価画像データ内で設定された色と同色であると判定できる領域である追尾色領域を探索する。図3(a)に示すように、(N−1)フレームにおいて、被写体のある位置302が指定された場合、評価画像データ中の位置302の色情報を取得する。そして、位置302を追尾処理の開始位置として、位置302と同じ色情報を有する領域を探索する。具体的には、位置302を開始位置から周辺に向かうように順次色情報を取得し、取得した色情報が位置302の色情報と同一であると判定できる場合には領域に含め、取得した色情報が位置302の色情報と同一であると判定できない場合には領域に含めない。このようにして追尾色領域を探索すると、例えば、図3(a)に示すような単色の被写体の場合、被写体に内接する矩形領域304が追尾色領域となる。また、追尾位置ログエリアに記録する追尾位置は、例えば追尾色領域304の重心位置(図3(a)の例では、位置302と同じ)とする。次回の追尾処理においては、この追尾位置を追尾処理の開始位置とする。
【0028】
Nフレームの追尾処理を例に示すと、図3(b)に示す参照画像データとして記憶したNフレームの画像データの所定の探索範囲の中で、(N−1)フレームの追尾位置302を追尾処理の開始位置とし、追尾位置302の周辺から順次、追尾色領域304の色と同色であると判定できる領域を追尾色領域として探索する。図3(b)の例では、領域306が追尾色領域となる。また、図3(b)の例では、重心位置308を追尾位置とし、この追尾位置308を、追尾位置ログエリアに記録する。また、追尾色領域ログエリアには、追尾色領域306の範囲を示す情報(例えば、四隅の位置)を記録する。
【0029】
顔検出回路1307は、画像データにおける被写体(人物)の顔部を検出する。ここで、顔検出処理について簡単に説明する。顔検出処理においては、各フレームで得られる画像データと、図4(a)に示すような顔パーツ402、404、406との相関量を求める。顔パーツ402は、人物の鼻部周辺の陰影のパターンに対応した画像データであり、顔パーツ404は、人物の目部周辺の陰影のパターンに対応した画像データであり、顔パーツ406は、人物の口部周辺の陰影のパターンに対応した画像データである。画像データと顔部パーツ402、404、406との相関量は、図4(b)に示すような、人物の顔を示す所定の配置となったときに最大となる。このとき、顔部パーツ402、404、406を含む領域408に顔部が存在しているとする。なお、顔パーツ402、404、406は予め設定した検索顔の大きさに応じて、大きさを変えても良い。ここで、図4(b)では、顔部領域を矩形領域としているが、円形領域としても良い。
【0030】
顔部信頼性判定回路1308は、過去の複数フレームに亘る顔検出の信頼性結果や、検出された顔の大きさ、顔の向き等から信頼性を判定する。例えば、顔の向きから信頼性を判定する場合、領域408内での顔部パーツ402、404、406の配置等から、顔検出回路1307で検出された顔部の向きを判定する。例えば、領域408の左右何れかの一辺に顔部パーツ402、404、406が集まっている場合には、顔部が横向きであると判定する。
【0031】
色情報取得回路1309は、追尾処理回路1305で得られた追尾位置の色情報を取得する。この色情報は、後述する候補追尾位置算出処理において用いられる。
メモリ制御回路1310は、CPU1301等が、RAM118、記録メディア128、ROM134にアクセスするための制御を行うインターフェイスである。
【0032】
操作部132は、ユーザによって操作される各種の操作部材である。操作部132としては、例えば、レリーズ釦、動画釦、モードダイヤル、選択キー、電源釦等が含まれる。
レリーズボタン釦は、1stレリーズスイッチと、2ndレリーズスイッチと、を有している。1stレリーズスイッチは、ユーザがレリーズ釦を半押しするとオンするスイッチである。1stレリーズスイッチがオンすることにより、AF処理等の撮影準備動作が行われる。また、2ndレリーズスイッチは、ユーザがレリーズ釦を全押しするとオンするスイッチである。2ndレリーズスイッチがオンすることにより、静止画撮影用の露光動作が行われる。
動画釦は、動画撮影の開始又は終了を指示するための操作部材である。ユーザによって動画釦が押されると動画撮影処理が開始される。また、動画撮影処理の実行中に動画釦が押されると、動画撮影処理が終了される。
モードダイヤルは、撮像装置の撮影設定を選択するための操作部材である。本実施形態では、撮像装置の撮影設定として、例えば、静止画撮影モードと動画撮影モードを選択できる。静止画撮影モードは、静止画像を撮影するための撮影設定である。また、動画撮影モードは、動画像を撮影するための撮影設定である。
選択キーは、例えばメニュー画面上での項目の選択や決定をするための操作部材である。ユーザによって選択キーが操作されるとメニュー画面上での項目の選択や決定が行われる。
電源釦は、撮像装置の電源をオン又はオフするための操作部材である。ユーザによって電源釦が操作されると、撮像装置100が起動して動作可能な状態となる。撮像装置が起動している間に電源釦が操作されると、撮像装置100が省電力待機状態となる。
【0033】
ROM134は、CPU1301が種々の処理を実行するためのプログラムコードを記憶している。また、ROM134は、撮影光学系102、絞り106、及び撮像素子114等の動作に必要な制御パラメータ、並びに画像処理回路1304での画像処理に必要な制御パラメータ等の、各種の制御パラメータを記憶している。さらには、ROM134は、顔検出回路1307における顔検出に用いられる顔部パーツのデータや追尾枠を表示するためのデータ等も記憶している。また、ROM134は、後述の周辺位置推定処理において用いる、画像データ上での顔位置から顔周辺位置までの距離を示す統計データも記憶している。
【0034】
次に、本実施形態に係る撮像装置の動作について説明する。図5は、撮像装置100の撮影動作を示すフローチャートである。CPU1301は、ROM134から必要なプログラムコードを読み込んで図5の動作を制御する。
S100において、CPU1301は、現在の撮像装置100の撮影設定が静止画撮影モードであるかを判定する。前述したように、撮影設定は、モードダイヤルによって設定される。
【0035】
S100において、撮影設定が静止画撮影モードであると判定した場合に、S102において、CPU1301は、ライブビュー動作を開始させる。ライブビュー動作として、CPU1301は、シャッタ駆動機構112を制御してシャッタ110を開放した後、CPU1301は、撮像素子IF回路116を制御して撮像素子114による撮像を開始させる。その後、CPU1301は、撮像素子114による撮像の結果としてRAM118のワークエリアに記憶された画像データを画像処理回路1304に入力してライブビュー表示用の画像処理を施す。続いて、CPU1301は、ライブビュー表示用の画像処理がされた画像データを表示素子駆動回路122に入力し、表示素子120に画像を表示させる。このような表示動作を繰り返し実行することにより、被写体の画像を動画表示する。この動画表示により、ユーザは、被写体を観察することが可能である。
【0036】
S104において、CPU1301は、1stレリーズスイッチがオンされたかを判定する。S104において、1stレリーズスイッチがオンされたと判定するまでは、CPU1301は、ライブビュー動作を継続する。
また、S104において、1stレリーズスイッチがオンされたと判定した場合に、S106において、CPU1301は、レリーズAF処理を行う。レリーズAFにおいては、スキャン駆動によって、フォーカスレンズを合焦位置まで駆動させる。スキャン駆動では、CPU1301は、焦点調整機構104を制御して、フォーカスレンズを所定のスキャン範囲内で一方向に駆動させつつ、AF制御回路1302で順次算出される合焦評価値を評価する。そして、CPU1301は、合焦評価値の評価の結果、コントラストが最大となるレンズ位置において、フォーカスレンズの駆動を停止させる。このようなスキャン駆動は、AF前のフォーカスレンズの位置と合焦位置との差が大きい場合に行われる。
【0037】
S108において、CPU1301は、表示素子駆動回路122を制御して、表示素子120に追尾枠を表示させる。ここで、追尾枠は、表示素子120の画面上の追尾対象の位置に表示させる。例えば、レリーズAFで合焦した被写体を追尾対象とし、その被写体に追尾枠を表示させるようにしても良いし、顔検出回路1307によって顔部が検出された場合には、その顔に追尾枠を表示させるようにしても良い。さらに、タッチパネル124により、表示素子120の画面上に表示された被写体が指定された場合には、その被写体上に追尾枠を表示させるようにしても良い。このように、本実施形態においては、CPU1301、AF制御回路1302、顔検出回路1307、タッチパネル124等が追尾対象設定部の一例として機能する。
【0038】
S110において、CPU1301は、追尾処理を行う。この追尾処理の詳細については後述する。
S112において、CPU1301は、追尾位置の被写体に合焦するようにAF処理を行うとともに、追尾位置の被写体の露光が適正となるようにAE処理を行う。
追尾処理後のAF処理においては、スキャン駆動、またはウォブリング駆動によって、フォーカスレンズを合焦位置まで駆動させる。ウォブリング駆動では、CPU1301は、フォーカスレンズを駆動したときにAF制御回路1302で算出された合焦評価値が、前回のレンズ位置での合焦評価値に対して増加したかを判定する。そして、CPU1301は、合焦評価値が増加した場合には前回と同方向にフォーカスレンズを微小駆動させ、合焦評価値が減少した場合には前回と逆方向にフォーカスレンズを微小駆動させる。このような動作を高速で繰り返してフォーカスレンズを徐々に合焦位置まで駆動させる。
【0039】
また、AE処理において、CPU1301は、AE制御回路1303で算出された追尾位置の被写体の輝度を予め定められた適正な量(適正露光量)とする、本露光時の絞り106の開口量(絞り値)、シャッタ110の開放時間(シャッタ速度値)を算出する。
【0040】
S114において、CPU1301は、2ndレリーズスイッチがオンされたかを判定する。S114において、2ndレリーズスイッチがオンされていないと判定した場合に、CPU1301は、S110の追尾処理以後の処理を実行する。このように、静止画撮影モード時には、2ndレリーズスイッチがオンされるまでは、追尾処理が継続される。
【0041】
また、S114において、2ndレリーズスイッチがオンされたと判定した場合に、S116において、CPU1301は、表示素子駆動回路122を制御して、追尾枠を非表示とする。
S118において、CPU1301は、静止画像データを記録メディア128に記録する処理を行う。この際、CPU1301は、シャッタ駆動機構112を制御して、シャッタ110を閉じる。その後、CPU1301は、絞り駆動機構108を制御して、絞り106を先に算出した絞り値まで絞り込む。続いて、CPU1301は、シャッタ駆動機構112を制御して、シャッタ110を先に算出した開放時間だけ開放しつつ、撮像素子114による撮像(露光)を行う。その後、CPU1301は、撮像素子114を介して得られた静止画像データを画像処理回路1304において処理する。そして、CPU1301は、画像処理回路1304において処理された静止画像データにヘッダを付与して静止画像ファイルを生成し、生成した静止画像ファイルを記録メディア128に記録する。
S120において、CPU1301は、S110の追尾処理の結果として得られた追尾位置を示すデータを、先に記録メディア128に記録した静止画像ファイルに追記する。その後に、CPU1301は、図5に示す動作を終了させる。
【0042】
また、S100において、撮影設定が動画撮影モードであると判定した場合に、S122において、CPU1301は、ライブビュー動作を開始させる。
S124において、CPU1301は、動画釦がオンされたかを判定する。S124において、動画釦がオンされたと判定するまでは、CPU1301は、ライブビュー動作を継続する。
【0043】
また、S124において、動画釦がオンされたと判定した場合に、S126において、CPU1301は、表示素子駆動回路122を制御して、表示素子120に追尾枠を表示させる。
S128において、CPU1301は、追尾処理を行う。この追尾処理の詳細については、後述する。
【0044】
S130において、CPU1301は、追尾位置の被写体に合焦するようにAF処理を行うともに、追尾位置の被写体の露光が適正となるようにAE処理を行う。S130におけるAF処理おいては、ウォブリング駆動によって、フォーカスレンズを合焦位置まで駆動させる。
【0045】
S132において、CPU1301は、動画像データを記録メディア128に記録する処理を行う。この際、CPU1301は、絞り駆動機構108を制御して、絞り106をAE処理において算出した絞り値まで絞り込む。続いて、CPU1301は、AE処理において算出したシャッタ速度値に対応した時間だけ撮像素子114による撮像(露光)を実行させる。露光の終了後、CPU1301は、動画像ファイルを生成して記録メディア128に記録する。また、CPU1301は、撮像素子114を介して得られた動画像データを画像処理回路1304において処理し、画像処理回路1304において処理された動画像データを動画像ファイルに記録する。
【0046】
S134において、CPU1301は、S128の追尾処理の結果として得られた追尾位置を示すデータを、先に記録メディア128に記録した動画像ファイルと同時記録する。
S136において、CPU1301は、動画釦がオフされたかを判定する。S136において、動画釦がオフされていないと判定した場合に、CPU1301は、S128の追尾処理以後の処理を実行する。このように、動画撮影モード時では、動画釦がオフされるまでは、追尾処理と動画像データの記録が継続される。
【0047】
また、S136において、動画釦がオフされたと判定した場合に、S138において、CPU1301は、表示素子駆動回路122を制御して、追尾枠を非表示とする。その後、CPU1301は、図5に示す動作を終了させる。
次に、本実施形態に係る追尾方法としての追尾処理について図6を参照して説明する。前述したように、本実施形態においては、複数の追尾処理を併用して追尾対象の追尾を行う。
S200において、CPU1301は、撮像素子IF回路116を制御して撮像素子114による撮像を実行する。S202において、CPU1301は、撮像素子114による撮像により、撮像素子IF回路116において得られた画像データをRAM118に取り込む。ここで、初回の追尾処理で得られた画像データは、評価画像データとする。このため、CPU1301は、初回の追尾処理で得られた画像データをRAM118の評価画像エリアに取り込む。また、2回目以後の追尾処理で得られた画像データは、参照画像データとする。このため、CPU1301は、2回目以後の追尾処理で得られた画像データをRAM118の参照画像エリアに取り込む。
【0048】
S204において、CPU1301は、顔検出回路1307により、顔検出を用いた追尾処理を行う。顔検出を用いた追尾処理については、前述したので説明を省略する。なお、顔検出処理は、初回の追尾処理においては、評価画像データから顔部を検出し、2回目以後の追尾処理においては、参照画像データから顔部を検出する。
【0049】
S206において、CPU1301は、顔部信頼性判定回路1308により、S204において検出された顔部の向きを判定する。なお、S204において、顔部が検出されなかった場合には、S206及び次のS208の処理は省略される。
S208において、CPU1301は、顔検出回路1307により検出された顔部の位置から、顔周辺部の位置を推定する。ここで、顔周辺部とは、追尾対象の被写体(同一人物)の顔部以外の部分(胴体、手足等)である。以下の説明においては、顔周辺部の例として、追尾対象の胸部の位置を推定することとする。周辺位置推定処理の詳細については後述する。
【0050】
S210において、CPU1301は、追尾処理回路1305、1306を用いての追尾対象の顔部及び顔周辺部の追尾を行う。S210の各部追尾処理の詳細については後述する。
S212において、CPU1301は、追尾位置更新判断処理を行う。この追尾位置更新判断処理は、複数の追尾処理によって得られた候補追尾位置のうち、どの追尾位置を次のフレームにおける追尾位置として採用するかを判断する処理である。S212の追尾位置更新判断処理の詳細については後述する。
【0051】
S214において、CPU1301は、追尾位置更新判断処理の結果として採用された追尾位置の信頼性を判断する。顔検出を用いた追尾処理の追尾結果が採用された場合には、過去の複数フレームの追尾位置の信頼性結果と顔検出の信頼性結果から該当フレームの信頼性を判断する。具体的には、過去の複数フレームに亘って追尾位置の信頼性が有り、かつ顔検出の信頼性が信頼性有りの場合には信頼性があると判断する。また、輝度情報を用いた追尾処理の結果が採用された場合には、例えば過去の複数フレームの追尾位置の信頼性結果と参照画像データのコントラストから信頼性を判断する。具体的には、過去の複数フレームに亘って追尾位置の信頼性が有り、かつ参照画像データにおける追尾対象の領域の隣接画素間の差分和が所定値以下である場合には、信頼性があると判断する。また、色情報を用いた追尾処理の結果が採用された場合には、例えば過去の複数フレームの追尾位置の信頼性結果と参照画像データの彩度から信頼性を判断する。具体的には、過去の複数フレームに亘って追尾位置の信頼性が有り、かつ参照画像データの追尾位置の彩度が所定値以上である場合には、信頼性があると判断する。これらの信頼性を判定するための閾値は適宜設定可能である。
【0052】
S216において、CPU1301は、最終的な追尾位置を、RAM118の追尾ログエリアに記録する。詳細は後述するが、本実施形態においては、顔部の追尾処理と顔周辺部の追尾処理との両方を行うため、追尾位置も顔部と顔周辺部の両方が得られる。このうちの何れかをAF制御やAE制御に用いる追尾位置とする。例えば、S214における信頼性判断の結果、顔部の追尾位置の信頼性があると判断されている限りは、CPU1301は、顔部の追尾位置を採用する。また、S214における信頼性判断の結果、顔部の追尾位置の信頼性がないと判断された場合に、CPU1301は、顔周辺部の追尾位置を採用する。しかしながら、RAM118には、顔部と顔周辺部の両方の追尾位置を記憶させておく。なお、両方の追尾位置の何れも信頼性がないと判断された場合には、追尾位置を記録しないようにしても良い。
【0053】
S218において、CPU1301は、表示素子駆動回路122を制御して、追尾枠の表示位置をS218で記憶させた追尾位置に対応した位置に更新する。その後、CPU1301は、図6の追尾処理を終了させる。
【0054】
次に、周辺位置推定処理について図7を参照して説明する。周辺位置推定処理においては、顔検出処理において検出された顔部の位置から追尾対象の顔周辺部(胸部)の位置を推定する。
S300において、CPU1301は、顔検出回路1307によって検出された顔部の位置(例えば、顔部領域の重心位置)の情報を取得する。S302において、CPU1301は、顔検出回路1307によって検出された顔部のサイズ(例えば、顔部領域の大きさ)の情報を取得する。S304において、CPU1301は、顔部の位置から顔周辺部(胸部)の位置までの距離を示す統計データをROM134から取得する。
【0055】
S306において、CPU1301は、取得した統計データから、画像データ上での顔周辺部の位置を算出する。具体的には、顔部の位置を基準とし、この基準の位置から統計データに応じて得られた距離分だけ下方の位置を顔周辺部の位置とする。ここで、ROM134に記憶されている統計データは、ある固定の距離で測定した顔部の位置から顔周辺部の位置までの統計データである。したがって、撮像装置から追尾対象までの距離が統計データを得たときの距離と異なる場合には、その距離差に応じて顔周辺部の位置を補正する。撮像装置から追尾対象までの距離は、例えば顔部のサイズ(画面上に占める顔部のサイズの割合)から算出する。そして、この距離に応じて統計データの値を補正して実際の画像データ上での顔周辺部の位置を算出する。顔周辺部の位置を算出した後、CPU1301は、図7の処理を終了させる。
【0056】
ここで、図7の例では、説明を簡単にするために、顔部の位置の下方の位置を顔周辺部の位置としている。この場合、追尾対象としての人物が直立しているときには正しい結果が得られるが、例えば追尾対象としての人物が寝そべっている場合等においては正しい結果を得ることができない。これに対し、顔部の各器官(目、鼻、口等)をそれぞれ検出し、各器官が画面に対してどの方向に並んでいるかを判別することによって、追尾対象としての人物が直立しているか又は寝ているかを判別し、この判別結果に従って顔周辺部の位置を算出するようにしても良い。例えば、目、鼻、口が、画面の左から右に向かって並んでいる場合には、顔部の位置に対して右方向の位置に顔周辺部があると推定する。
【0057】
次に、各部追尾処理について図8を参照して説明する。各部追尾処理においては、顔検出処理以外の追尾処理において、追尾対象の顔部及び顔周辺部を追尾する。
S400において、CPU1301は、追尾処理回路1306により、第1の特徴情報としての色情報を用いた顔部の追尾処理を行う。具体的には、追尾処理回路1306により、評価画像データ中で設定された顔部の色情報と同じ色情報を有する追尾色領域を参照画像データ中で追尾させる。そして、CPU1301は、色情報を用いた追尾処理の結果として得られた顔部の追尾位置を、RAM118の追尾ログエリアに記憶させる。また、CPU1301は、色情報を用いた追尾処理の結果として得られた顔部の追尾色領域を、RAM118の追尾色領域ログエリアに記憶させる。
【0058】
ここで、初回の各部追尾処理においては、評価画像データのみが取得された状態であるので、S400以後の処理は省略される。以後の説明においては、評価画像データと参照画像データの両方が取得されているものとして説明を続ける。
S402において、CPU1301は、追尾処理回路1305により、第2の特徴情報としての輝度情報を用いた顔部の追尾処理を行う。具体的には、追尾処理回路1305により、評価画像データ中で設定された顔部と同様のパターンを有する領域を参照画像データ中で追尾させる。そして、CPU1301は、輝度情報を用いた追尾処理の結果として得られた顔部の追尾位置を、RAM118の追尾ログエリアに記憶させる。
S404において、CPU1301は、追尾処理回路1305の追尾結果と追尾処理回路1306の追尾結果との何れかを、各部追尾処理における最終的な顔部の追尾位置(顔部候補追尾位置)とする。この顔部候補追尾位置算出処理については後述する。
【0059】
S406において、CPU1301は、追尾処理回路1306により、色情報を用いた顔周辺部の追尾処理を行う。具体的には、追尾処理回路1306により、評価画像データ中で設定された顔周辺部(例えば胸部)の色情報(例えば服の色情報)と同じ色情報を有する追尾色領域を参照画像データ中で追尾させる。そして、CPU1301は、色情報を用いた追尾処理の結果として得られた顔周辺部の追尾位置を、RAM118の追尾ログエリアに記憶させる。また、CPU1301は、色情報を用いた追尾処理の結果として得られた顔周辺部の追尾色領域を、RAM118の追尾色領域ログエリアに記憶させる。
【0060】
S408において、CPU1301は、追尾処理回路1305により、輝度情報を用いた顔周辺部の追尾処理を行う。具体的には、追尾処理回路1305により、評価画像データ中で設定された顔周辺部と同様のパターンを有する領域を参照画像データ中で追尾させる。そして、CPU1301は、輝度情報を用いた追尾処理の結果として得られた顔周辺部の追尾位置を、RAM118の追尾ログエリアに記憶させる。
【0061】
S410において、CPU1301は、追尾処理回路1305の追尾結果と追尾処理回路1306の追尾結果との何れかを、各部追尾処理における最終的な顔周辺部の追尾位置(周辺部候補追尾位置)とする。この周辺部候補追尾位置算出処理については後述する。周辺部候補追尾位置算出処理の後、CPU1301は、図8の処理を終了させる。
【0062】
次に、顔部候補追尾位置算出処理及び周辺部候補追尾位置算出処理について図9を参照して説明する。ここで、顔部候補追尾位置算出処理と周辺部候補追尾位置算出処理とは、それぞれの処理に用いる追尾位置が、顔部のものであるか顔周辺部のものであるかのみが異なる。したがって、図9では、これらの処理をまとめて説明する。図9の処理においては、色情報によって得られた追尾位置における色情報と輝度情報によって得られた追尾位置における色情報との比較結果、及び色情報によって得られた追尾位置と輝度情報によって得られた追尾位置との位置関係に応じて最終的な候補追尾位置を決定する。
【0063】
S500において、CPU1301は、色情報取得回路1309により、参照画像データにおける輝度情報によって得られた追尾位置の色情報を取得する。実際には、当該追尾位置を含む微小領域の色情報を取得する。
S502において、CPU1301は、色情報によって得られた追尾位置の色情報(追尾色領域の色情報)と輝度情報によって得られた追尾位置の色情報とが一致したかを判定する。ここで一致とは、輝度情報によって得られた追尾位置の色情報が、色情報によって得られた追尾位置の色情報を基準に予め設定した任意範囲内にあることとする。S502において、色情報によって得られた追尾位置の色情報と輝度情報によって得られた追尾位置の色情報とが一致した場合に、S504において、CPU1301は、追尾色領域が輝度情報によって得られた追尾位置を包含しているかを判定する。
【0064】
S504において、追尾色領域が輝度情報によって得られた追尾位置を包含していないと判定した場合に、S506において、CPU1301は、輝度情報によって得られた追尾位置を最終的な候補追尾位置として採用する。その後、CPU1301は、図9の処理を終了させる。
【0065】
S502において、色情報によって得られた追尾位置の色情報と輝度情報によって得られた追尾位置の色情報とが一致していない場合、又は5304において、追尾色領域が輝度情報によって得られた追尾位置を包含していると判定した場合に、S508において、CPU1301は、色情報によって得られた追尾位置を最終的な候補追尾位置として採用する。その後、CPU1301は、図9の処理を終了させる。
【0066】
図9のようにして最終的な候補追尾位置を決定することにより、動きの激しい追尾対象に対しては色情報を用いた追尾処理によって追尾することができ、また複数の同色被写体を含むシーンにおいては輝度情報を用いた追尾処理によって追尾することができる。これにより、顔検出に失敗した場合であっても、追尾対象(である同一人物)を追尾し続けることが可能である。
ここで、図8の各部追尾処理においては、輝度情報と色情報とを組み合わせて追尾処理を行っているが、特徴量検出による追尾処理等、他の追尾処理を組み合わせるようにしても良い。
【0067】
次に、追尾位置更新判断処理について図10を参照して説明する。追尾位置更新判断処理においては、追尾対象の顔の向きから顔部信頼性を判定し最終的な追尾位置を判断する。ここでは、顏部信頼性として例えば顏部の向きを判定することにする。
【0068】
S600において、CPU1301は、顔検出回路1307によって顔部が検出されているかを判定する。
S600において、顔検出回路1307によって顔部が検出されていると判定した場合に、S602において、CPU1301は、顔部信頼性判定回路1308により、顔部の向きを判定する。そして、CPU1301は、顔部信頼性判定回路1308による顔部の向きの判定の結果、顔部の向きが正面向きであるかを判定する。
【0069】
S602において、顔部の向きが正面向きであると判定した場合に、S604において、CPU1301は、顔検出回路1307において検出された顔部の位置(例えば領域408の重心位置)を最終的な顔部の追尾位置とする。次のフレームにおいて、CPU1301は、この最終的な顔部の追尾位置を追尾処理の開始位置として、顔検出処理、色情報を用いての顔部の追尾処理、及び輝度情報を用いての顔部の追尾処理を行う。S606において、CPU1301は、周辺位置推定処理において算出された顔周辺部の位置を最終的な顔周辺部の追尾位置とする。次のフレームにおいて、CPU1301は、この最終的な顔周辺部の追尾位置を追尾処理の開始位置として、色情報を用いた顔周辺部の追尾処理、及び輝度情報を用いた顔周辺部の追尾処理を行う。S608において、CPU1301は、色情報取得回路1309により、周辺位置推定処理において算出された顔周辺部の位置の色情報を取得する。そして、CPU1301は、次フレームにおける色情報を用いての顔周辺部の追尾処理において追尾すべき色情報を、新たに取得した顔周辺部の位置の色情報に更新する。その後、CPU1301は、図10に示す処理を終了させる。
【0070】
S604〜S608に対応したシーンの例を図11(a)及び図11(b)に示す。顔部が検出されている場合、図11(a)に示すように、顔部を含む領域A1が得られ、この領域A1の重心位置が、顔部の位置となる。また、顔部から所定距離だけ下方の位置B1が、顔周辺部の位置となる。これに対し、各部追尾処理は、顔検出処理とは別個に行われる。例えば、図11(b)では、位置C1が顔部の候補追尾位置であり、位置D1が顔周辺部の候補追尾位置である。
【0071】
ここで、図11(b)に示すように、顔部が正面を向いている場合には、顔部の検出精度と顔周辺部の推定精度の何れもが高精度であると考えることができる。このため、本実施形態においては、図11(b)のような追尾結果が得られた場合には、次フレームにおける追尾処理回路1305及び1306の顔部の追尾処理の開始位置を、位置C1の代わりに、顔検出回路1307で検出された顔部の位置A1とする。このようにすると、次フレームにおいても同じ顔部を追尾し易い。同様に、次フレームにおける追尾処理回路1305及び1306の顔周辺部の追尾処理の開始位置を、位置D1の代わりに、周辺位置推定処理において推定された顔周辺部の位置B1とする。このようにすると、次フレームにおいても同じ顔周辺部を追尾し易い。
なお、人物は、服を着ていることが多く、服には様々な模様が形成されていることが多い。したがって、特に、色情報を用いた追尾処理においては、直近の顔周辺部の位置の色情報に従って追尾処理を行うことが望ましい。このために、S608において、追尾対象の色情報を位置B1の色情報に更新する。
【0072】
S602において、顔部の向きが正面向きでないと判定した場合に、S610において、CPU1301は、顔検出回路1307において検出された顔部の位置を最終的な顔部の追尾位置とする。S612において、CPU1301は、各部追尾処理において得られた顔周辺部の候補追尾位置を最終的な顔周辺部の追尾位置とする。S614において、CPU1301は、色情報を用いての追尾処理において追尾すべき色情報を更新せず、過去の色情報をそのまま用いる。その後、CPU1301は、図10に示す処理を終了させる。
【0073】
S610〜S614に対応したシーンの例を図11(c)に示す。顔部が検出されている場合、図11(c)に示すように、顔部を含む領域A2が得られ、この領域A2の重心位置が、顔部の位置となる。また、顔部から所定距離だけ下方の位置B2が、顔周辺部の位置となる。これに対し、各部追尾処理は、顔検出処理とは別個に行われる。例えば、図11(c)では、位置C1が顔部の候補追尾位置であり、位置D1が顔周辺部の候補追尾位置である。
【0074】
ここで、図11(c)に示すように、顔部が検出でき且つ正面を向いていない場合、言い換えれば顔部が横向きである場合、顔部についてはある程度の検出精度が保障されるが、顔周辺部については推定精度が保障されない。これは、顔周辺部を、単に顔部から所定距離の位置として推定しているためである。このため、本実施形態においては、図11(c)のような追尾結果が得られた場合には、次フレームにおける追尾処理回路1305及び1306の顔部の追尾処理の開始位置を、位置C1の代わりに、顔検出回路1307で検出された顔部の位置A2とする。一方、次フレームにおける追尾処理回路1305及び1306の顔周辺部の追尾処理の開始位置を、今回の各部追尾処理で得られた顔周辺部の位置D1とする。このようにすることにより、次フレームにおいても顔周辺部を精度良く追尾することが可能である。
なお、顔部の向きが横向きになっている場合には、顔周辺部の推定精度が保障されないので、追尾対象の色情報は更新しない。
【0075】
S600において、顔検出回路1307によって顔部が検出されていないと判定した場合に、S616において、CPU1301は、各部追尾処理において得られた顔と同一人物の顔周辺部の候補追尾位置を最終的な顔部の追尾位置とする。S618において、CPU1301は、各部追尾処理において得られた顔周辺部の候補追尾位置を最終的な顔周辺部の追尾位置とする。S620において、CPU1301は、色情報を用いての追尾処理において追尾すべき色情報を更新せず、過去の色情報をそのまま用いる。その後、CPU1301は、図10に示す処理を終了させる。
【0076】
S616〜S620に対応したシーンの例を図11(d)に示す。顔部が検出されていないので、追尾処理の結果は、各部追尾処理によるものしか得られない。例えば、図11(d)では、位置C2が顔部の候補追尾位置であり、位置D2が顔周辺部の候補追尾位置である。
【0077】
図11(d)に示すように、顔部が背面を向いていたり、顔部が大きく移動していたりして顔部が検出できない場合には、次フレームにおける追尾処理回路1305及び1306の顔部の追尾処理の開始位置を、今回の各部追尾処理で得られた顔部の位置C2とする。また、次フレームにおける追尾処理回路1305及び1306の顔周辺部の追尾処理の開始位置を、今回の各部追尾処理で得られた顔周辺部の位置D2とする。このようにすることにより、次フレームにおいても顔部及び顔周辺部を精度良く追尾することが可能である。
なお、顔部が検出できない場合にも追尾対象の色情報は更新しない。
【0078】
以上説明したように、本実施形態においては、顔部の向きに応じて次フレームにおける追尾処理の開始位置を変更するようにしている。一般に、顔検出処理と顔検出処理の結果を用いての顔周辺部の位置の推定処理とのそれぞれの精度は、顔部の向きの影響を受けやすい。本実施形態においては、顔部と顔周辺部とを、それぞれ、顔検出回路1307と、追尾処理回路1305及び1306の3種類を用いた追尾処理によって追尾しているので、例えば顔部が背面を向いたり大きく移動したりして顔部が検出できなくなった場合や、顔部が横向きとなって顔検出による追尾処理の精度が悪化した場合であっても、続くフレームにおいて追尾処理を失敗せず且つ追尾処理の精度も落とすことなく、追尾処理を継続することが可能である。
【0079】
ここで、上述の実施形態においては、各部追尾処理において輝度情報を用いた追尾処理と色情報を用いた追尾処理とを行っている。これは、追尾処理の性能をより向上させるためである。これに対し、追尾処理の性能は低下するが、各部追尾処理において輝度情報を用いた追尾処理と色情報を用いた追尾処理の何れかのみを行うようにしても良い。
【0080】
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。また、前述の動作の説明において、便宜上「まず」、「次に」等を用いて動作を説明しているが、この順で動作を実施することが必須であることを意味するものではない。
【0081】
さらに、上記した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適当な組合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、上述したような課題を解決でき、上述したような効果が得られる場合には、この構成要件が削除された構成も発明として抽出され得る。
【符号の説明】
【0082】
100…撮像装置、102…撮影光学系、104…焦点調整機構、106…絞り、108…絞り駆動機構、110…シャッタ、112…シャッタ駆動機構、114…撮像素子、116…撮像素子インターフェイス(IF)回路、118…RAM、120…表示素子、122…表示素子駆動回路、124…タッチパネル、126…タッチパネル駆動回路、128…記録メディア、130…システムコントローラ、132…操作部、134…ROM、1301…CPU、1302…AF制御回路、1303…AE制御回路、1304…画像処理回路、1305,1306…追尾処理回路、1307…顔検出回路、1308…顔部信頼性判定回路、1309…色情報取得回路、1310…メモリ制御回路
【技術分野】
【0001】
本発明は、被写体を追尾する追尾装置及び追尾方法に関する。
【背景技術】
【0002】
従来、動体を撮影する際や動画像を撮影する際に、特定の被写体に追従するように自動合焦制御(AF)や自動露光制御(AE)を行う技術が知られている。このような特定の被写体を追従するために追尾処理が用いられている。追尾処理には、輝度情報を利用するものや、色情報を利用するもの、顔検出を利用するもの等、種々のものがある。
【0003】
ここで、1種類のみの追尾処理を用いた場合、追尾処理に失敗してしまうと、それ以降は正しい追尾処理が不能となる可能性がある。これに対し、特許文献1においては、各フレームの顔検出の結果に応じて顔画像が検出状態か非検出状態かを判定し、顔画像が非検出状態のときは、その顔画像が非検出状態となったフレームに隣接するフレームで例えばマッチング処理を行うことにより、顔画像と対応する顔画像対応部を検出している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4506779号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、特許文献1の技術は、あるフレームで顔部画像が非検出状態であった場合に、そのフレームにおける顔画像対応部を、過去に検出された顔部の座標としている。即ち、特許文献1では、顔画像が非検出であったフレームでは顔画像対応部を検出していない。また、被写体が移動していると、過去の顔部座標を顔画像対応部としたときに背景が顔画像対応部となってしまう可能性がある。背景が顔画像対応部となると、それ以後の顔画像対応部の追跡が失敗してしまう。
【0006】
本発明は、前記の事情に鑑みてなされたもので、顔部が非検出となったり、顔部の検出の精度が低下したりした場合であっても、以後のフレームにおける追尾精度を落とすことの無い追尾装置及び追尾方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
前記の目的を達成するために、本発明の第1の態様の追尾装置は、追尾対象を設定する追尾対象設定部と、入力された画像データから前記追尾対象の顔部の位置を検出する顔検出部と、前記顔部の信頼性を判定する顔部信頼性判定部と、前記入力された画像データから前記追尾対象の顔部の第1の特徴情報を検出することにより、前記追尾対象の顔部の位置を追尾する第1の顔追尾処理部と、前記顔検出部によって検出された顔部の位置から前記追尾対象の顔周辺部の位置を推定する顔周辺推定部と、前記入力された画像データから前記追尾対象の顔周辺部の前記第1の特徴情報を検出することにより、前記追尾対象の顔周辺部の位置を追尾する第1の顔周辺追尾処理部と、前記顔部信頼性判定部で判定された顔部の信頼性が信頼性有りである場合に、次回の前記画像データの入力時の前記第1の顔追尾処理部における追尾の開始位置を前記顔検出部で検出された顔部の位置に更新するとともに、次回の前記画像データの入力時の前記第1の顔周辺追尾処理部における追尾の開始位置を前記顔周辺推定部で推定された顔周辺部の位置に更新し、前記顔部信頼性判定部で判定された顔部の信頼性が信頼性無しの場合に、次回の前記画像データの入力時の前記第1の顔追尾処理部における追尾の開始位置を前記顔検出部で検出された顔部の位置に更新するとともに、次回の前記画像データの入力時の前記第1の顔周辺追尾処理部における追尾の開始位置を前記第1の顔周辺追尾処理部で追尾された顔周辺部の位置に更新する制御部と、を具備することを特徴とする。
【0008】
また、前記の目的を達成するために、本発明の第2の態様の追尾方法は、追尾対象設定部が、追尾対象を設定し、顔検出部が、入力された画像データから前記追尾対象の顔部の位置を検出し、顔部信頼性判定部が、前記顔部の信頼性を判定し、第1の顔追尾処理部が、前記入力された画像データから前記追尾対象の顔部の第1の特徴情報を検出することにより、前記追尾対象の顔部の位置を追尾し、顔周辺推定部が、前記顔検出部によって検出された顔部の位置から前記追尾対象の顔周辺部の位置を推定し、第1の顔部周辺追尾部が、前記入力された画像データから前記追尾対象の顔周辺部の前記第1の特徴情報を検出することにより、前記追尾対象の顔周辺部の位置を追尾し、制御部が、前記顔部信頼性判定部で検出された顔部の信頼性が信頼性有りである場合に、次回の前記画像データの入力時の前記第1の顔追尾処理部における追尾の開始位置を前記顔検出部で検出された顔部の位置に更新するとともに、次回の前記画像データの入力時の前記第1の顔周辺追尾処理部における追尾の開始位置を前記顔周辺推定部で推定された顔周辺部の位置に更新し、前記顔部信頼性判定部で判定された顔部の信頼性が信頼性無しの場合に、次回の前記画像データの入力時の前記第1の顔追尾処理部における追尾の開始位置を前記顔検出部で検出された顔部の位置に更新するとともに、次回の前記画像データの入力時の前記第1の顔周辺追尾処理部における追尾の開始位置を前記第1の顔周辺追尾処理部で追尾された顔周辺部の位置に更新する、ことを特徴とする。
【発明の効果】
【0009】
本発明によれば、顔部が非検出となったり、顔部の検出の精度が低下したりした場合であっても、以後のフレームにおける追尾精度を落とすことの無い追尾装置及び追尾方法を提供することができる。
【図面の簡単な説明】
【0010】
【図1】本発明の一実施形態に係る追尾装置を備えた撮像装置の一例としての構成を示す図である。
【図2】輝度情報を用いた追尾処理について説明するための図である。
【図3】色情報を用いた追尾処理について説明するための図である。
【図4】顔検出処理について説明するための図である。
【図5】撮像装置の撮影動作を示すフローチャートである。
【図6】本発明の一実施形態に係る追尾方法としての追尾処理について示すフローチャートである。
【図7】周辺位置推定処理について示すフローチャートである。
【図8】各部追尾処理について示すフローチャートである。
【図9】候補追尾位置算出処理について示すフローチャートである。
【図10】追尾位置更新判断処理について示すフローチャートである。
【図11】追尾位置更新判断処理の具体例について示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明の実施形態を説明する。
図1は、本発明の一実施形態に係る追尾装置を備えた撮像装置の一例としての構成を示す図である。図1に示す撮像装置100は、撮影光学系102と、焦点調整機構104と、絞り106と、絞り駆動機構108と、シャッタ110と、シャッタ駆動機構112と、撮像素子114と、撮像素子インターフェイス(IF)回路116と、RAM118と、表示素子120と、表示素子駆動回路122と、タッチパネル124と、タッチパネル駆動回路126と、記録メディア128と、システムコントローラ130と、操作部132と、ROM134と、を有している。
【0012】
撮影光学系102は、図示しない被写体からの光束Fを、撮像素子114の受光面上に集光するための光学系である。この撮影光学系102は、フォーカスレンズ等の複数のレンズを有している。焦点調整機構104は、モータ及びその駆動回路等を有している。この焦点調整機構104は、システムコントローラ130内のCPU1301の制御に従って、撮影光学系102内のフォーカスレンズをその光軸方向(図示一点鎖線方向)に駆動させる。
【0013】
絞り106は、開閉自在に構成され、撮影光学系102を介して撮像素子114に入射する光束Fの量を調整する。絞り駆動機構108は、絞り106を駆動するための駆動機構を有している。この絞り駆動機構108は、システムコントローラ130内のCPU1301の制御に従って、絞り106を駆動させる。
【0014】
シャッタ110は、撮像素子114の受光面を遮光状態又は露光状態とするように構成されている。このシャッタ110により、撮像素子114の露光時間が調整される。シャッタ駆動機構112は、シャッタ110を駆動させるための駆動機構を有し、システムコントローラ130内のCPU1301の制御に従って、シャッタ110を駆動させる。
【0015】
撮像素子114は、撮影光学系102を介して集光された被写体からの光束Fが結像される受光面を有している。撮像素子114の受光面は、複数の画素が2次元状に配置されて構成されており、また、受光面の光入射側には、カラーフィルタが設けられている。このような撮像素子114は、受光面に結像された光束Fに対応した像(被写体像)を、その光量に応じた電気信号(以下、画像信号という)に変換する。ここで、撮像素子114は、CCD方式やCMOS方式等の種々の構成の撮像素子が知られている。また、カラーフィルタの色配列もベイヤ配列等の種々の配列が知られている。本実施形態は、撮像素子114の構成が特定の構成に限定されるものではなく、種々の構成の撮像素子を用いることが可能である。
【0016】
撮像素子IF回路116は、システムコントローラ130内のCPU1301の制御に従って、撮像素子114を駆動させる。また、撮像素子IF回路116は、システムコントローラ130内のCPU1301の制御に従って、撮像素子114で得られた画像信号を読み出し、読み出した画像信号に対してCDS(相関二重サンプリング)処理やAGC(自動利得制御)処理等のアナログ処理を施す。さらに、撮像素子IF回路116は、アナログ処理した画像信号をデジタル信号(以下、画像データという)に変換する。
【0017】
RAM118は、例えばSDRAMであり、ワークエリア、評価画像エリア、参照画像エリア、追尾位置ログエリア、追尾色領域ログエリア、を記憶エリアとして有している。
ワークエリアは、撮像素子IF回路116で得られた画像データ等の、撮像装置100の各部で発生したデータを一時記憶しておくためにRAM118に設けられた記憶エリアである。
評価画像エリアは、評価画像データを一時記憶しておくためにRAM118に設けられた記憶エリアである。評価画像データは、後述する追尾処理における追尾対象の被写体を含むフレームの画像データである。追尾処理においては、この追尾対象を追尾するように処理が行われる。
参照画像エリアは、参照画像データを一時記憶しておくためにRAM118に設けられた記憶エリアである。参照画像データは、後述する追尾処理において、追尾対象の探索の対象となるフレームの画像データである。追尾処理においては、参照画像データ中で探索が行われる。
追尾位置ログエリアは、追尾位置ログを一時記憶しておくためにRAM118に設けられた記憶エリアである。追尾位置ログは、追尾処理の結果として得られた追尾位置を記録したログである。本実施形態では、複数の追尾処理を併用して追尾対象を追尾する。したがって、追尾位置ログには、それぞれの追尾処理によって得られた追尾位置(候補追尾位置)を例えば過去10フレーム分個別に記録する。また、追尾位置ログには、後述の追尾処理によって採用された最終的な追尾位置も記録する。
【0018】
追尾色領域ログエリアは、追尾色領域ログを一時記憶しておくためにRAM118に設けられた記憶エリアである。追尾色領域ログは、追尾処理によって得られた追尾色領域を記録したログである。本実施形態では、追尾色領域を例えば過去10フレーム分記録する。追尾色領域の詳細については後述する。
【0019】
表示素子120は、例えば液晶ディスプレイ(LCD)であり、ライブビュー用の画像及び記録メディア128に記録された画像等の各種の画像を表示する。表示素子駆動回路122は、システムコントローラ130のCPU1301から入力された画像データに基づいて表示素子120を駆動させ、表示素子120に画像を表示させる。
【0020】
タッチパネル124は、表示素子120の表示画面上に一体的に形成されており、表示画面上へのユーザの指等の接触位置等を検出する。タッチパネル駆動回路126は、タッチパネル124を駆動するとともに、タッチパネル124からの接触検出信号をシステムコントローラ130のCPU1301に出力する。CPU1301は、接触検出信号から、ユーザの表示画面上への接触操作を検出し、その接触操作に応じた処理を実行する。
【0021】
記録メディア128は、例えばメモリカードであり、撮影動作によって得られた画像ファイルが記録される。画像ファイルは、画像データに所定のヘッダを付与して構成されるファイルである。ヘッダには、撮影条件を示すデータ及び追尾位置を示すデータ等が、タグデータとして記録される。
【0022】
システムコントローラ130は、撮像装置100の動作を制御するための制御回路として、CPU1301と、AF制御回路1302と、AE制御回路1303と、画像処理回路1304と、追尾処理回路1305、1306と、顔検出回路1307と、顔部信頼性判定回路1308と、色情報取得回路1309と、メモリ制御回路1310と、を有している。
【0023】
CPU1301は、焦点調整機構104、絞り駆動機構108、シャッタ駆動機構112、表示素子駆動回路122、タッチパネル駆動回路126等のシステムコントローラ130の外部の各ブロック、及びシステムコントローラ130の内部の各制御回路の動作を制御する。また、CPU1301は、制御部としての機能も有し、後述の追尾位置更新判断処理において顔部及び顔周辺部の追尾位置を決定することも行う。さらに、CPU1301は、顔周辺推定部としての機能も有し、顔検出回路1307で検出された追尾対象の顔部の位置から顔周辺部の位置を推定することも行う。
【0024】
AF制御回路1302は、コントラストAF処理を制御する。具体的には、AF制御回路1302は、撮像素子IF回路116で得られた画像データの高周波成分を抽出し、この抽出した高周波成分を積算することにより、AF用の合焦評価値を取得する。CPU1301は、この合焦評価値に従って画像データのコントラストを評価しつつ、焦点調整機構104を制御してフォーカスレンズを合焦状態とする。
【0025】
AE制御回路1303は、AE動作を制御する。具体的には、AE制御回路1303は、撮像素子IF回路116で得られた画像データを用いて被写体輝度を算出する。CPU1301は、この被写体輝度に従って、露光時の絞り106の開口量(絞り値)、シャッタ110の開放時間(シャッタ速度値)、撮像素子感度やISO感度等を算出する。
【0026】
画像処理回路1304は、画像データに対する各種の画像処理を行う。この画像処理としては、色補正処理、ガンマ(γ)補正処理、圧縮処理等が含まれる。また、画像処理回路1304は、圧縮されている画像データに対する伸張処理も施す。
第2の顔追尾処理部及び第2の顔周辺追尾処理部としての追尾処理回路1305は、第2の特徴情報としての画像データの輝度情報を用いた追尾処理を行う。この輝度情報を用いた追尾処理について簡単に説明する。輝度情報を用いた追尾処理では、例えば、図2(a)に示す(N−1)フレームにおいて追尾対象が設定された場合、この(N−1)フレームの画像データを、評価画像データとしてRAM118の評価画像エリアに記憶する。この評価画像データの追尾対象を含む所定範囲202の画像データを、基準画像データに設定する。この後の追尾処理では、参照画像データの基準画像データ202と対応する部分を探索する。
Nフレームの追尾処理を例に示すと、まず、Nフレームの画像データを、参照画像データとしてRAM118の参照画像エリアに記憶する。この参照画像データのうちの所定の探索範囲204の画像データと基準画像データ202との相関量を求めることにより、参照画像データの基準画像データ202と対応する部分を探索する。相関量は、例えば基準画像データと参照画像データとの差分絶対値和(画素毎に輝度差の絶対値を求めてそれを積算したもの)から判定する。例えば、図2(b)に示す参照画像データの領域206の参照画像データと基準画像データ202との差分絶対値和を求めたとすると、参照画像データの領域206と基準画像データ202とは明らかに異なる画像データであり、差分絶対値和が大きくなる。これに対し、参照画像データの領域208と基準画像データ202との差分絶対値和を求めたとすると、差分絶対値和が小さくなる。このように、基準画像データ202との相関量が大きくなるに従って差分絶対値和が小さくなる。輝度情報を用いた追尾処理では、相関量が最大の、即ち差分絶対値和が最小の領域を参照画像データから探索する。図2(b)の例では、領域208となる。なお、追尾位置ログエリアには、領域208の中で最も一致度の高い位置を追尾位置として記録する。なお、このような位置が複数ある場合には、例えば、領域208の中心に近い位置を追尾位置とする。次回の追尾処理時には、この追尾位置を追尾処理の開始位置とすることが望ましい。これにより、追尾処理にかかる時間を軽減することが可能である。
【0027】
第1の顔追尾処理部及び第1の顔周辺追尾処理部としての追尾処理回路1306は、第1の特徴情報としての画像データの色情報を用いた追尾処理を行う。この色情報を用いた追尾処理について簡単に説明する。色情報を用いた追尾処理では、評価画像データ内で設定された色と同色であると判定できる領域である追尾色領域を探索する。図3(a)に示すように、(N−1)フレームにおいて、被写体のある位置302が指定された場合、評価画像データ中の位置302の色情報を取得する。そして、位置302を追尾処理の開始位置として、位置302と同じ色情報を有する領域を探索する。具体的には、位置302を開始位置から周辺に向かうように順次色情報を取得し、取得した色情報が位置302の色情報と同一であると判定できる場合には領域に含め、取得した色情報が位置302の色情報と同一であると判定できない場合には領域に含めない。このようにして追尾色領域を探索すると、例えば、図3(a)に示すような単色の被写体の場合、被写体に内接する矩形領域304が追尾色領域となる。また、追尾位置ログエリアに記録する追尾位置は、例えば追尾色領域304の重心位置(図3(a)の例では、位置302と同じ)とする。次回の追尾処理においては、この追尾位置を追尾処理の開始位置とする。
【0028】
Nフレームの追尾処理を例に示すと、図3(b)に示す参照画像データとして記憶したNフレームの画像データの所定の探索範囲の中で、(N−1)フレームの追尾位置302を追尾処理の開始位置とし、追尾位置302の周辺から順次、追尾色領域304の色と同色であると判定できる領域を追尾色領域として探索する。図3(b)の例では、領域306が追尾色領域となる。また、図3(b)の例では、重心位置308を追尾位置とし、この追尾位置308を、追尾位置ログエリアに記録する。また、追尾色領域ログエリアには、追尾色領域306の範囲を示す情報(例えば、四隅の位置)を記録する。
【0029】
顔検出回路1307は、画像データにおける被写体(人物)の顔部を検出する。ここで、顔検出処理について簡単に説明する。顔検出処理においては、各フレームで得られる画像データと、図4(a)に示すような顔パーツ402、404、406との相関量を求める。顔パーツ402は、人物の鼻部周辺の陰影のパターンに対応した画像データであり、顔パーツ404は、人物の目部周辺の陰影のパターンに対応した画像データであり、顔パーツ406は、人物の口部周辺の陰影のパターンに対応した画像データである。画像データと顔部パーツ402、404、406との相関量は、図4(b)に示すような、人物の顔を示す所定の配置となったときに最大となる。このとき、顔部パーツ402、404、406を含む領域408に顔部が存在しているとする。なお、顔パーツ402、404、406は予め設定した検索顔の大きさに応じて、大きさを変えても良い。ここで、図4(b)では、顔部領域を矩形領域としているが、円形領域としても良い。
【0030】
顔部信頼性判定回路1308は、過去の複数フレームに亘る顔検出の信頼性結果や、検出された顔の大きさ、顔の向き等から信頼性を判定する。例えば、顔の向きから信頼性を判定する場合、領域408内での顔部パーツ402、404、406の配置等から、顔検出回路1307で検出された顔部の向きを判定する。例えば、領域408の左右何れかの一辺に顔部パーツ402、404、406が集まっている場合には、顔部が横向きであると判定する。
【0031】
色情報取得回路1309は、追尾処理回路1305で得られた追尾位置の色情報を取得する。この色情報は、後述する候補追尾位置算出処理において用いられる。
メモリ制御回路1310は、CPU1301等が、RAM118、記録メディア128、ROM134にアクセスするための制御を行うインターフェイスである。
【0032】
操作部132は、ユーザによって操作される各種の操作部材である。操作部132としては、例えば、レリーズ釦、動画釦、モードダイヤル、選択キー、電源釦等が含まれる。
レリーズボタン釦は、1stレリーズスイッチと、2ndレリーズスイッチと、を有している。1stレリーズスイッチは、ユーザがレリーズ釦を半押しするとオンするスイッチである。1stレリーズスイッチがオンすることにより、AF処理等の撮影準備動作が行われる。また、2ndレリーズスイッチは、ユーザがレリーズ釦を全押しするとオンするスイッチである。2ndレリーズスイッチがオンすることにより、静止画撮影用の露光動作が行われる。
動画釦は、動画撮影の開始又は終了を指示するための操作部材である。ユーザによって動画釦が押されると動画撮影処理が開始される。また、動画撮影処理の実行中に動画釦が押されると、動画撮影処理が終了される。
モードダイヤルは、撮像装置の撮影設定を選択するための操作部材である。本実施形態では、撮像装置の撮影設定として、例えば、静止画撮影モードと動画撮影モードを選択できる。静止画撮影モードは、静止画像を撮影するための撮影設定である。また、動画撮影モードは、動画像を撮影するための撮影設定である。
選択キーは、例えばメニュー画面上での項目の選択や決定をするための操作部材である。ユーザによって選択キーが操作されるとメニュー画面上での項目の選択や決定が行われる。
電源釦は、撮像装置の電源をオン又はオフするための操作部材である。ユーザによって電源釦が操作されると、撮像装置100が起動して動作可能な状態となる。撮像装置が起動している間に電源釦が操作されると、撮像装置100が省電力待機状態となる。
【0033】
ROM134は、CPU1301が種々の処理を実行するためのプログラムコードを記憶している。また、ROM134は、撮影光学系102、絞り106、及び撮像素子114等の動作に必要な制御パラメータ、並びに画像処理回路1304での画像処理に必要な制御パラメータ等の、各種の制御パラメータを記憶している。さらには、ROM134は、顔検出回路1307における顔検出に用いられる顔部パーツのデータや追尾枠を表示するためのデータ等も記憶している。また、ROM134は、後述の周辺位置推定処理において用いる、画像データ上での顔位置から顔周辺位置までの距離を示す統計データも記憶している。
【0034】
次に、本実施形態に係る撮像装置の動作について説明する。図5は、撮像装置100の撮影動作を示すフローチャートである。CPU1301は、ROM134から必要なプログラムコードを読み込んで図5の動作を制御する。
S100において、CPU1301は、現在の撮像装置100の撮影設定が静止画撮影モードであるかを判定する。前述したように、撮影設定は、モードダイヤルによって設定される。
【0035】
S100において、撮影設定が静止画撮影モードであると判定した場合に、S102において、CPU1301は、ライブビュー動作を開始させる。ライブビュー動作として、CPU1301は、シャッタ駆動機構112を制御してシャッタ110を開放した後、CPU1301は、撮像素子IF回路116を制御して撮像素子114による撮像を開始させる。その後、CPU1301は、撮像素子114による撮像の結果としてRAM118のワークエリアに記憶された画像データを画像処理回路1304に入力してライブビュー表示用の画像処理を施す。続いて、CPU1301は、ライブビュー表示用の画像処理がされた画像データを表示素子駆動回路122に入力し、表示素子120に画像を表示させる。このような表示動作を繰り返し実行することにより、被写体の画像を動画表示する。この動画表示により、ユーザは、被写体を観察することが可能である。
【0036】
S104において、CPU1301は、1stレリーズスイッチがオンされたかを判定する。S104において、1stレリーズスイッチがオンされたと判定するまでは、CPU1301は、ライブビュー動作を継続する。
また、S104において、1stレリーズスイッチがオンされたと判定した場合に、S106において、CPU1301は、レリーズAF処理を行う。レリーズAFにおいては、スキャン駆動によって、フォーカスレンズを合焦位置まで駆動させる。スキャン駆動では、CPU1301は、焦点調整機構104を制御して、フォーカスレンズを所定のスキャン範囲内で一方向に駆動させつつ、AF制御回路1302で順次算出される合焦評価値を評価する。そして、CPU1301は、合焦評価値の評価の結果、コントラストが最大となるレンズ位置において、フォーカスレンズの駆動を停止させる。このようなスキャン駆動は、AF前のフォーカスレンズの位置と合焦位置との差が大きい場合に行われる。
【0037】
S108において、CPU1301は、表示素子駆動回路122を制御して、表示素子120に追尾枠を表示させる。ここで、追尾枠は、表示素子120の画面上の追尾対象の位置に表示させる。例えば、レリーズAFで合焦した被写体を追尾対象とし、その被写体に追尾枠を表示させるようにしても良いし、顔検出回路1307によって顔部が検出された場合には、その顔に追尾枠を表示させるようにしても良い。さらに、タッチパネル124により、表示素子120の画面上に表示された被写体が指定された場合には、その被写体上に追尾枠を表示させるようにしても良い。このように、本実施形態においては、CPU1301、AF制御回路1302、顔検出回路1307、タッチパネル124等が追尾対象設定部の一例として機能する。
【0038】
S110において、CPU1301は、追尾処理を行う。この追尾処理の詳細については後述する。
S112において、CPU1301は、追尾位置の被写体に合焦するようにAF処理を行うとともに、追尾位置の被写体の露光が適正となるようにAE処理を行う。
追尾処理後のAF処理においては、スキャン駆動、またはウォブリング駆動によって、フォーカスレンズを合焦位置まで駆動させる。ウォブリング駆動では、CPU1301は、フォーカスレンズを駆動したときにAF制御回路1302で算出された合焦評価値が、前回のレンズ位置での合焦評価値に対して増加したかを判定する。そして、CPU1301は、合焦評価値が増加した場合には前回と同方向にフォーカスレンズを微小駆動させ、合焦評価値が減少した場合には前回と逆方向にフォーカスレンズを微小駆動させる。このような動作を高速で繰り返してフォーカスレンズを徐々に合焦位置まで駆動させる。
【0039】
また、AE処理において、CPU1301は、AE制御回路1303で算出された追尾位置の被写体の輝度を予め定められた適正な量(適正露光量)とする、本露光時の絞り106の開口量(絞り値)、シャッタ110の開放時間(シャッタ速度値)を算出する。
【0040】
S114において、CPU1301は、2ndレリーズスイッチがオンされたかを判定する。S114において、2ndレリーズスイッチがオンされていないと判定した場合に、CPU1301は、S110の追尾処理以後の処理を実行する。このように、静止画撮影モード時には、2ndレリーズスイッチがオンされるまでは、追尾処理が継続される。
【0041】
また、S114において、2ndレリーズスイッチがオンされたと判定した場合に、S116において、CPU1301は、表示素子駆動回路122を制御して、追尾枠を非表示とする。
S118において、CPU1301は、静止画像データを記録メディア128に記録する処理を行う。この際、CPU1301は、シャッタ駆動機構112を制御して、シャッタ110を閉じる。その後、CPU1301は、絞り駆動機構108を制御して、絞り106を先に算出した絞り値まで絞り込む。続いて、CPU1301は、シャッタ駆動機構112を制御して、シャッタ110を先に算出した開放時間だけ開放しつつ、撮像素子114による撮像(露光)を行う。その後、CPU1301は、撮像素子114を介して得られた静止画像データを画像処理回路1304において処理する。そして、CPU1301は、画像処理回路1304において処理された静止画像データにヘッダを付与して静止画像ファイルを生成し、生成した静止画像ファイルを記録メディア128に記録する。
S120において、CPU1301は、S110の追尾処理の結果として得られた追尾位置を示すデータを、先に記録メディア128に記録した静止画像ファイルに追記する。その後に、CPU1301は、図5に示す動作を終了させる。
【0042】
また、S100において、撮影設定が動画撮影モードであると判定した場合に、S122において、CPU1301は、ライブビュー動作を開始させる。
S124において、CPU1301は、動画釦がオンされたかを判定する。S124において、動画釦がオンされたと判定するまでは、CPU1301は、ライブビュー動作を継続する。
【0043】
また、S124において、動画釦がオンされたと判定した場合に、S126において、CPU1301は、表示素子駆動回路122を制御して、表示素子120に追尾枠を表示させる。
S128において、CPU1301は、追尾処理を行う。この追尾処理の詳細については、後述する。
【0044】
S130において、CPU1301は、追尾位置の被写体に合焦するようにAF処理を行うともに、追尾位置の被写体の露光が適正となるようにAE処理を行う。S130におけるAF処理おいては、ウォブリング駆動によって、フォーカスレンズを合焦位置まで駆動させる。
【0045】
S132において、CPU1301は、動画像データを記録メディア128に記録する処理を行う。この際、CPU1301は、絞り駆動機構108を制御して、絞り106をAE処理において算出した絞り値まで絞り込む。続いて、CPU1301は、AE処理において算出したシャッタ速度値に対応した時間だけ撮像素子114による撮像(露光)を実行させる。露光の終了後、CPU1301は、動画像ファイルを生成して記録メディア128に記録する。また、CPU1301は、撮像素子114を介して得られた動画像データを画像処理回路1304において処理し、画像処理回路1304において処理された動画像データを動画像ファイルに記録する。
【0046】
S134において、CPU1301は、S128の追尾処理の結果として得られた追尾位置を示すデータを、先に記録メディア128に記録した動画像ファイルと同時記録する。
S136において、CPU1301は、動画釦がオフされたかを判定する。S136において、動画釦がオフされていないと判定した場合に、CPU1301は、S128の追尾処理以後の処理を実行する。このように、動画撮影モード時では、動画釦がオフされるまでは、追尾処理と動画像データの記録が継続される。
【0047】
また、S136において、動画釦がオフされたと判定した場合に、S138において、CPU1301は、表示素子駆動回路122を制御して、追尾枠を非表示とする。その後、CPU1301は、図5に示す動作を終了させる。
次に、本実施形態に係る追尾方法としての追尾処理について図6を参照して説明する。前述したように、本実施形態においては、複数の追尾処理を併用して追尾対象の追尾を行う。
S200において、CPU1301は、撮像素子IF回路116を制御して撮像素子114による撮像を実行する。S202において、CPU1301は、撮像素子114による撮像により、撮像素子IF回路116において得られた画像データをRAM118に取り込む。ここで、初回の追尾処理で得られた画像データは、評価画像データとする。このため、CPU1301は、初回の追尾処理で得られた画像データをRAM118の評価画像エリアに取り込む。また、2回目以後の追尾処理で得られた画像データは、参照画像データとする。このため、CPU1301は、2回目以後の追尾処理で得られた画像データをRAM118の参照画像エリアに取り込む。
【0048】
S204において、CPU1301は、顔検出回路1307により、顔検出を用いた追尾処理を行う。顔検出を用いた追尾処理については、前述したので説明を省略する。なお、顔検出処理は、初回の追尾処理においては、評価画像データから顔部を検出し、2回目以後の追尾処理においては、参照画像データから顔部を検出する。
【0049】
S206において、CPU1301は、顔部信頼性判定回路1308により、S204において検出された顔部の向きを判定する。なお、S204において、顔部が検出されなかった場合には、S206及び次のS208の処理は省略される。
S208において、CPU1301は、顔検出回路1307により検出された顔部の位置から、顔周辺部の位置を推定する。ここで、顔周辺部とは、追尾対象の被写体(同一人物)の顔部以外の部分(胴体、手足等)である。以下の説明においては、顔周辺部の例として、追尾対象の胸部の位置を推定することとする。周辺位置推定処理の詳細については後述する。
【0050】
S210において、CPU1301は、追尾処理回路1305、1306を用いての追尾対象の顔部及び顔周辺部の追尾を行う。S210の各部追尾処理の詳細については後述する。
S212において、CPU1301は、追尾位置更新判断処理を行う。この追尾位置更新判断処理は、複数の追尾処理によって得られた候補追尾位置のうち、どの追尾位置を次のフレームにおける追尾位置として採用するかを判断する処理である。S212の追尾位置更新判断処理の詳細については後述する。
【0051】
S214において、CPU1301は、追尾位置更新判断処理の結果として採用された追尾位置の信頼性を判断する。顔検出を用いた追尾処理の追尾結果が採用された場合には、過去の複数フレームの追尾位置の信頼性結果と顔検出の信頼性結果から該当フレームの信頼性を判断する。具体的には、過去の複数フレームに亘って追尾位置の信頼性が有り、かつ顔検出の信頼性が信頼性有りの場合には信頼性があると判断する。また、輝度情報を用いた追尾処理の結果が採用された場合には、例えば過去の複数フレームの追尾位置の信頼性結果と参照画像データのコントラストから信頼性を判断する。具体的には、過去の複数フレームに亘って追尾位置の信頼性が有り、かつ参照画像データにおける追尾対象の領域の隣接画素間の差分和が所定値以下である場合には、信頼性があると判断する。また、色情報を用いた追尾処理の結果が採用された場合には、例えば過去の複数フレームの追尾位置の信頼性結果と参照画像データの彩度から信頼性を判断する。具体的には、過去の複数フレームに亘って追尾位置の信頼性が有り、かつ参照画像データの追尾位置の彩度が所定値以上である場合には、信頼性があると判断する。これらの信頼性を判定するための閾値は適宜設定可能である。
【0052】
S216において、CPU1301は、最終的な追尾位置を、RAM118の追尾ログエリアに記録する。詳細は後述するが、本実施形態においては、顔部の追尾処理と顔周辺部の追尾処理との両方を行うため、追尾位置も顔部と顔周辺部の両方が得られる。このうちの何れかをAF制御やAE制御に用いる追尾位置とする。例えば、S214における信頼性判断の結果、顔部の追尾位置の信頼性があると判断されている限りは、CPU1301は、顔部の追尾位置を採用する。また、S214における信頼性判断の結果、顔部の追尾位置の信頼性がないと判断された場合に、CPU1301は、顔周辺部の追尾位置を採用する。しかしながら、RAM118には、顔部と顔周辺部の両方の追尾位置を記憶させておく。なお、両方の追尾位置の何れも信頼性がないと判断された場合には、追尾位置を記録しないようにしても良い。
【0053】
S218において、CPU1301は、表示素子駆動回路122を制御して、追尾枠の表示位置をS218で記憶させた追尾位置に対応した位置に更新する。その後、CPU1301は、図6の追尾処理を終了させる。
【0054】
次に、周辺位置推定処理について図7を参照して説明する。周辺位置推定処理においては、顔検出処理において検出された顔部の位置から追尾対象の顔周辺部(胸部)の位置を推定する。
S300において、CPU1301は、顔検出回路1307によって検出された顔部の位置(例えば、顔部領域の重心位置)の情報を取得する。S302において、CPU1301は、顔検出回路1307によって検出された顔部のサイズ(例えば、顔部領域の大きさ)の情報を取得する。S304において、CPU1301は、顔部の位置から顔周辺部(胸部)の位置までの距離を示す統計データをROM134から取得する。
【0055】
S306において、CPU1301は、取得した統計データから、画像データ上での顔周辺部の位置を算出する。具体的には、顔部の位置を基準とし、この基準の位置から統計データに応じて得られた距離分だけ下方の位置を顔周辺部の位置とする。ここで、ROM134に記憶されている統計データは、ある固定の距離で測定した顔部の位置から顔周辺部の位置までの統計データである。したがって、撮像装置から追尾対象までの距離が統計データを得たときの距離と異なる場合には、その距離差に応じて顔周辺部の位置を補正する。撮像装置から追尾対象までの距離は、例えば顔部のサイズ(画面上に占める顔部のサイズの割合)から算出する。そして、この距離に応じて統計データの値を補正して実際の画像データ上での顔周辺部の位置を算出する。顔周辺部の位置を算出した後、CPU1301は、図7の処理を終了させる。
【0056】
ここで、図7の例では、説明を簡単にするために、顔部の位置の下方の位置を顔周辺部の位置としている。この場合、追尾対象としての人物が直立しているときには正しい結果が得られるが、例えば追尾対象としての人物が寝そべっている場合等においては正しい結果を得ることができない。これに対し、顔部の各器官(目、鼻、口等)をそれぞれ検出し、各器官が画面に対してどの方向に並んでいるかを判別することによって、追尾対象としての人物が直立しているか又は寝ているかを判別し、この判別結果に従って顔周辺部の位置を算出するようにしても良い。例えば、目、鼻、口が、画面の左から右に向かって並んでいる場合には、顔部の位置に対して右方向の位置に顔周辺部があると推定する。
【0057】
次に、各部追尾処理について図8を参照して説明する。各部追尾処理においては、顔検出処理以外の追尾処理において、追尾対象の顔部及び顔周辺部を追尾する。
S400において、CPU1301は、追尾処理回路1306により、第1の特徴情報としての色情報を用いた顔部の追尾処理を行う。具体的には、追尾処理回路1306により、評価画像データ中で設定された顔部の色情報と同じ色情報を有する追尾色領域を参照画像データ中で追尾させる。そして、CPU1301は、色情報を用いた追尾処理の結果として得られた顔部の追尾位置を、RAM118の追尾ログエリアに記憶させる。また、CPU1301は、色情報を用いた追尾処理の結果として得られた顔部の追尾色領域を、RAM118の追尾色領域ログエリアに記憶させる。
【0058】
ここで、初回の各部追尾処理においては、評価画像データのみが取得された状態であるので、S400以後の処理は省略される。以後の説明においては、評価画像データと参照画像データの両方が取得されているものとして説明を続ける。
S402において、CPU1301は、追尾処理回路1305により、第2の特徴情報としての輝度情報を用いた顔部の追尾処理を行う。具体的には、追尾処理回路1305により、評価画像データ中で設定された顔部と同様のパターンを有する領域を参照画像データ中で追尾させる。そして、CPU1301は、輝度情報を用いた追尾処理の結果として得られた顔部の追尾位置を、RAM118の追尾ログエリアに記憶させる。
S404において、CPU1301は、追尾処理回路1305の追尾結果と追尾処理回路1306の追尾結果との何れかを、各部追尾処理における最終的な顔部の追尾位置(顔部候補追尾位置)とする。この顔部候補追尾位置算出処理については後述する。
【0059】
S406において、CPU1301は、追尾処理回路1306により、色情報を用いた顔周辺部の追尾処理を行う。具体的には、追尾処理回路1306により、評価画像データ中で設定された顔周辺部(例えば胸部)の色情報(例えば服の色情報)と同じ色情報を有する追尾色領域を参照画像データ中で追尾させる。そして、CPU1301は、色情報を用いた追尾処理の結果として得られた顔周辺部の追尾位置を、RAM118の追尾ログエリアに記憶させる。また、CPU1301は、色情報を用いた追尾処理の結果として得られた顔周辺部の追尾色領域を、RAM118の追尾色領域ログエリアに記憶させる。
【0060】
S408において、CPU1301は、追尾処理回路1305により、輝度情報を用いた顔周辺部の追尾処理を行う。具体的には、追尾処理回路1305により、評価画像データ中で設定された顔周辺部と同様のパターンを有する領域を参照画像データ中で追尾させる。そして、CPU1301は、輝度情報を用いた追尾処理の結果として得られた顔周辺部の追尾位置を、RAM118の追尾ログエリアに記憶させる。
【0061】
S410において、CPU1301は、追尾処理回路1305の追尾結果と追尾処理回路1306の追尾結果との何れかを、各部追尾処理における最終的な顔周辺部の追尾位置(周辺部候補追尾位置)とする。この周辺部候補追尾位置算出処理については後述する。周辺部候補追尾位置算出処理の後、CPU1301は、図8の処理を終了させる。
【0062】
次に、顔部候補追尾位置算出処理及び周辺部候補追尾位置算出処理について図9を参照して説明する。ここで、顔部候補追尾位置算出処理と周辺部候補追尾位置算出処理とは、それぞれの処理に用いる追尾位置が、顔部のものであるか顔周辺部のものであるかのみが異なる。したがって、図9では、これらの処理をまとめて説明する。図9の処理においては、色情報によって得られた追尾位置における色情報と輝度情報によって得られた追尾位置における色情報との比較結果、及び色情報によって得られた追尾位置と輝度情報によって得られた追尾位置との位置関係に応じて最終的な候補追尾位置を決定する。
【0063】
S500において、CPU1301は、色情報取得回路1309により、参照画像データにおける輝度情報によって得られた追尾位置の色情報を取得する。実際には、当該追尾位置を含む微小領域の色情報を取得する。
S502において、CPU1301は、色情報によって得られた追尾位置の色情報(追尾色領域の色情報)と輝度情報によって得られた追尾位置の色情報とが一致したかを判定する。ここで一致とは、輝度情報によって得られた追尾位置の色情報が、色情報によって得られた追尾位置の色情報を基準に予め設定した任意範囲内にあることとする。S502において、色情報によって得られた追尾位置の色情報と輝度情報によって得られた追尾位置の色情報とが一致した場合に、S504において、CPU1301は、追尾色領域が輝度情報によって得られた追尾位置を包含しているかを判定する。
【0064】
S504において、追尾色領域が輝度情報によって得られた追尾位置を包含していないと判定した場合に、S506において、CPU1301は、輝度情報によって得られた追尾位置を最終的な候補追尾位置として採用する。その後、CPU1301は、図9の処理を終了させる。
【0065】
S502において、色情報によって得られた追尾位置の色情報と輝度情報によって得られた追尾位置の色情報とが一致していない場合、又は5304において、追尾色領域が輝度情報によって得られた追尾位置を包含していると判定した場合に、S508において、CPU1301は、色情報によって得られた追尾位置を最終的な候補追尾位置として採用する。その後、CPU1301は、図9の処理を終了させる。
【0066】
図9のようにして最終的な候補追尾位置を決定することにより、動きの激しい追尾対象に対しては色情報を用いた追尾処理によって追尾することができ、また複数の同色被写体を含むシーンにおいては輝度情報を用いた追尾処理によって追尾することができる。これにより、顔検出に失敗した場合であっても、追尾対象(である同一人物)を追尾し続けることが可能である。
ここで、図8の各部追尾処理においては、輝度情報と色情報とを組み合わせて追尾処理を行っているが、特徴量検出による追尾処理等、他の追尾処理を組み合わせるようにしても良い。
【0067】
次に、追尾位置更新判断処理について図10を参照して説明する。追尾位置更新判断処理においては、追尾対象の顔の向きから顔部信頼性を判定し最終的な追尾位置を判断する。ここでは、顏部信頼性として例えば顏部の向きを判定することにする。
【0068】
S600において、CPU1301は、顔検出回路1307によって顔部が検出されているかを判定する。
S600において、顔検出回路1307によって顔部が検出されていると判定した場合に、S602において、CPU1301は、顔部信頼性判定回路1308により、顔部の向きを判定する。そして、CPU1301は、顔部信頼性判定回路1308による顔部の向きの判定の結果、顔部の向きが正面向きであるかを判定する。
【0069】
S602において、顔部の向きが正面向きであると判定した場合に、S604において、CPU1301は、顔検出回路1307において検出された顔部の位置(例えば領域408の重心位置)を最終的な顔部の追尾位置とする。次のフレームにおいて、CPU1301は、この最終的な顔部の追尾位置を追尾処理の開始位置として、顔検出処理、色情報を用いての顔部の追尾処理、及び輝度情報を用いての顔部の追尾処理を行う。S606において、CPU1301は、周辺位置推定処理において算出された顔周辺部の位置を最終的な顔周辺部の追尾位置とする。次のフレームにおいて、CPU1301は、この最終的な顔周辺部の追尾位置を追尾処理の開始位置として、色情報を用いた顔周辺部の追尾処理、及び輝度情報を用いた顔周辺部の追尾処理を行う。S608において、CPU1301は、色情報取得回路1309により、周辺位置推定処理において算出された顔周辺部の位置の色情報を取得する。そして、CPU1301は、次フレームにおける色情報を用いての顔周辺部の追尾処理において追尾すべき色情報を、新たに取得した顔周辺部の位置の色情報に更新する。その後、CPU1301は、図10に示す処理を終了させる。
【0070】
S604〜S608に対応したシーンの例を図11(a)及び図11(b)に示す。顔部が検出されている場合、図11(a)に示すように、顔部を含む領域A1が得られ、この領域A1の重心位置が、顔部の位置となる。また、顔部から所定距離だけ下方の位置B1が、顔周辺部の位置となる。これに対し、各部追尾処理は、顔検出処理とは別個に行われる。例えば、図11(b)では、位置C1が顔部の候補追尾位置であり、位置D1が顔周辺部の候補追尾位置である。
【0071】
ここで、図11(b)に示すように、顔部が正面を向いている場合には、顔部の検出精度と顔周辺部の推定精度の何れもが高精度であると考えることができる。このため、本実施形態においては、図11(b)のような追尾結果が得られた場合には、次フレームにおける追尾処理回路1305及び1306の顔部の追尾処理の開始位置を、位置C1の代わりに、顔検出回路1307で検出された顔部の位置A1とする。このようにすると、次フレームにおいても同じ顔部を追尾し易い。同様に、次フレームにおける追尾処理回路1305及び1306の顔周辺部の追尾処理の開始位置を、位置D1の代わりに、周辺位置推定処理において推定された顔周辺部の位置B1とする。このようにすると、次フレームにおいても同じ顔周辺部を追尾し易い。
なお、人物は、服を着ていることが多く、服には様々な模様が形成されていることが多い。したがって、特に、色情報を用いた追尾処理においては、直近の顔周辺部の位置の色情報に従って追尾処理を行うことが望ましい。このために、S608において、追尾対象の色情報を位置B1の色情報に更新する。
【0072】
S602において、顔部の向きが正面向きでないと判定した場合に、S610において、CPU1301は、顔検出回路1307において検出された顔部の位置を最終的な顔部の追尾位置とする。S612において、CPU1301は、各部追尾処理において得られた顔周辺部の候補追尾位置を最終的な顔周辺部の追尾位置とする。S614において、CPU1301は、色情報を用いての追尾処理において追尾すべき色情報を更新せず、過去の色情報をそのまま用いる。その後、CPU1301は、図10に示す処理を終了させる。
【0073】
S610〜S614に対応したシーンの例を図11(c)に示す。顔部が検出されている場合、図11(c)に示すように、顔部を含む領域A2が得られ、この領域A2の重心位置が、顔部の位置となる。また、顔部から所定距離だけ下方の位置B2が、顔周辺部の位置となる。これに対し、各部追尾処理は、顔検出処理とは別個に行われる。例えば、図11(c)では、位置C1が顔部の候補追尾位置であり、位置D1が顔周辺部の候補追尾位置である。
【0074】
ここで、図11(c)に示すように、顔部が検出でき且つ正面を向いていない場合、言い換えれば顔部が横向きである場合、顔部についてはある程度の検出精度が保障されるが、顔周辺部については推定精度が保障されない。これは、顔周辺部を、単に顔部から所定距離の位置として推定しているためである。このため、本実施形態においては、図11(c)のような追尾結果が得られた場合には、次フレームにおける追尾処理回路1305及び1306の顔部の追尾処理の開始位置を、位置C1の代わりに、顔検出回路1307で検出された顔部の位置A2とする。一方、次フレームにおける追尾処理回路1305及び1306の顔周辺部の追尾処理の開始位置を、今回の各部追尾処理で得られた顔周辺部の位置D1とする。このようにすることにより、次フレームにおいても顔周辺部を精度良く追尾することが可能である。
なお、顔部の向きが横向きになっている場合には、顔周辺部の推定精度が保障されないので、追尾対象の色情報は更新しない。
【0075】
S600において、顔検出回路1307によって顔部が検出されていないと判定した場合に、S616において、CPU1301は、各部追尾処理において得られた顔と同一人物の顔周辺部の候補追尾位置を最終的な顔部の追尾位置とする。S618において、CPU1301は、各部追尾処理において得られた顔周辺部の候補追尾位置を最終的な顔周辺部の追尾位置とする。S620において、CPU1301は、色情報を用いての追尾処理において追尾すべき色情報を更新せず、過去の色情報をそのまま用いる。その後、CPU1301は、図10に示す処理を終了させる。
【0076】
S616〜S620に対応したシーンの例を図11(d)に示す。顔部が検出されていないので、追尾処理の結果は、各部追尾処理によるものしか得られない。例えば、図11(d)では、位置C2が顔部の候補追尾位置であり、位置D2が顔周辺部の候補追尾位置である。
【0077】
図11(d)に示すように、顔部が背面を向いていたり、顔部が大きく移動していたりして顔部が検出できない場合には、次フレームにおける追尾処理回路1305及び1306の顔部の追尾処理の開始位置を、今回の各部追尾処理で得られた顔部の位置C2とする。また、次フレームにおける追尾処理回路1305及び1306の顔周辺部の追尾処理の開始位置を、今回の各部追尾処理で得られた顔周辺部の位置D2とする。このようにすることにより、次フレームにおいても顔部及び顔周辺部を精度良く追尾することが可能である。
なお、顔部が検出できない場合にも追尾対象の色情報は更新しない。
【0078】
以上説明したように、本実施形態においては、顔部の向きに応じて次フレームにおける追尾処理の開始位置を変更するようにしている。一般に、顔検出処理と顔検出処理の結果を用いての顔周辺部の位置の推定処理とのそれぞれの精度は、顔部の向きの影響を受けやすい。本実施形態においては、顔部と顔周辺部とを、それぞれ、顔検出回路1307と、追尾処理回路1305及び1306の3種類を用いた追尾処理によって追尾しているので、例えば顔部が背面を向いたり大きく移動したりして顔部が検出できなくなった場合や、顔部が横向きとなって顔検出による追尾処理の精度が悪化した場合であっても、続くフレームにおいて追尾処理を失敗せず且つ追尾処理の精度も落とすことなく、追尾処理を継続することが可能である。
【0079】
ここで、上述の実施形態においては、各部追尾処理において輝度情報を用いた追尾処理と色情報を用いた追尾処理とを行っている。これは、追尾処理の性能をより向上させるためである。これに対し、追尾処理の性能は低下するが、各部追尾処理において輝度情報を用いた追尾処理と色情報を用いた追尾処理の何れかのみを行うようにしても良い。
【0080】
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。また、前述の動作の説明において、便宜上「まず」、「次に」等を用いて動作を説明しているが、この順で動作を実施することが必須であることを意味するものではない。
【0081】
さらに、上記した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適当な組合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、上述したような課題を解決でき、上述したような効果が得られる場合には、この構成要件が削除された構成も発明として抽出され得る。
【符号の説明】
【0082】
100…撮像装置、102…撮影光学系、104…焦点調整機構、106…絞り、108…絞り駆動機構、110…シャッタ、112…シャッタ駆動機構、114…撮像素子、116…撮像素子インターフェイス(IF)回路、118…RAM、120…表示素子、122…表示素子駆動回路、124…タッチパネル、126…タッチパネル駆動回路、128…記録メディア、130…システムコントローラ、132…操作部、134…ROM、1301…CPU、1302…AF制御回路、1303…AE制御回路、1304…画像処理回路、1305,1306…追尾処理回路、1307…顔検出回路、1308…顔部信頼性判定回路、1309…色情報取得回路、1310…メモリ制御回路
【特許請求の範囲】
【請求項1】
追尾対象を設定する追尾対象設定部と、
入力された画像データから前記追尾対象の顔部の位置を検出する顔検出部と、
前記顔部の信頼性を判定する顔部信頼性判定部と、
前記入力された画像データから前記追尾対象の顔部の第1の特徴情報を検出することにより、前記追尾対象の顔部の位置を追尾する第1の顔追尾処理部と、
前記顔検出部によって検出された顔部の位置から前記追尾対象の顔周辺部の位置を推定する顔周辺推定部と、
前記入力された画像データから前記追尾対象の顔周辺部の前記第1の特徴情報を検出することにより、前記追尾対象の顔周辺部の位置を追尾する第1の顔周辺追尾処理部と、
前記顔部信頼性判定部で判定された顔部の信頼性が信頼性有りである場合に、次回の前記画像データの入力時の前記第1の顔追尾処理部における追尾の開始位置を前記顔検出部で検出された顔部の位置に更新するとともに、次回の前記画像データの入力時の前記第1の顔周辺追尾処理部における追尾の開始位置を前記顔周辺推定部で推定された顔周辺部の位置に更新し、前記顔部信頼性判定部で判定された顔部の信頼性が信頼性無しの場合に、次回の前記画像データの入力時の前記第1の顔追尾処理部における追尾の開始位置を前記顔検出部で検出された顔部の位置に更新するとともに、次回の前記画像データの入力時の前記第1の顔周辺追尾処理部における追尾の開始位置を前記第1の顔周辺追尾処理部で追尾された顔周辺部の位置に更新する制御部と、
を具備することを特徴とする追尾装置。
【請求項2】
前記制御部は、さらに、前記顔部信頼性判定部で判定された顔部の信頼性が信頼性有りである場合に、次回の前記画像データの入力時に前記第1の顔周辺追尾処理部が検出する前記第1の特徴情報を、前記更新された追尾の開始位置の前記第1の特徴情報に更新し、前記顔部信頼性判定部で判定された顔部の信頼性が信頼性無しの場合に、次回の前記画像データの入力時に前記第1の顔周辺追尾処理部が検出する前記第1の特徴情報を、前記更新がされる前の追尾の開始位置の前記第1の特徴情報とすることを特徴とする請求項1に記載の追尾装置。
【請求項3】
前記制御部は、さらに、前記顔検出部によって顔部の位置が検出されない場合に、次回の前記画像データの入力時の前記第1の顔追尾処理部における追尾の開始位置を前記第1の顔追尾処理部で追尾された顔部の位置に更新するとともに、次回の前記画像データの入力時の前記第1の顔周辺追尾処理部における追尾の開始位置を前記第1の顔周辺追尾処理部で追尾された顔周辺部の位置に更新することを特徴とする請求項1又は2に記載の追尾装置。
【請求項4】
前記制御部は、さらに、前記顔検出部によって顔部の位置が検出されない場合に、次回の前記画像データの入力時に前記第1の顔周辺追尾処理部が検出する前記第1の特徴情報を、前記更新がされる前の追尾の開始位置の前記第1の特徴情報とすることを特徴とする請求項3に記載の追尾装置。
【請求項5】
前記第1の特徴情報は、色情報であることを特徴とする請求項1乃至4の何れか1項に記載の追尾装置。
【請求項6】
前記入力された画像データから前記追尾対象の顔部の前記第1の特徴情報と異なる第2の特徴情報を検出することにより、前記追尾対象の顔部の位置を追尾する第2の顔追尾処理部と、
前記入力された画像データから前記追尾対象の顔周辺部の前記第2の特徴情報を検出することにより、前記追尾対象の顔周辺部の位置を追尾する第2の顔周辺追尾処理部と、
をさらに具備することを特徴とする請求項1乃至5の何れか1項に記載の追尾装置。
【請求項7】
前記制御部は、前記顔部信頼性判定部で判定された顔部の信頼性が信頼性無しの場合に、次回の前記画像データの入力時の前記第1の顔周辺追尾処理部と前記第2の顔周辺追尾処理部とにおける追尾の開始位置を、前記第1の顔周辺追尾処理部で追尾された顔周辺部の位置の前記第1の特徴情報と前記第2の顔周辺追尾処理部で追尾された顔周辺部の位置の前記第1の特徴情報との比較結果及び前記第1の顔周辺追尾処理部で追尾された顔周辺部の位置と前記第2の顔周辺追尾処理部で追尾された顔周辺部の位置との位置関係の判定結果によって決定された最終的な顔周辺部の位置に更新することを特徴とする請求項6に記載の追尾装置。
【請求項8】
前記第2の特徴情報は、輝度情報であることを特徴とする請求項6又は7に記載の追尾装置。
【請求項9】
追尾対象設定部が、追尾対象を設定し、
顔検出部が、入力された画像データから前記追尾対象の顔部の位置を検出し、
顔向き判定部が、前記顔部の向きを判定し、
第1の顔追尾処理部が、前記入力された画像データから前記追尾対象の顔部の第1の特徴情報を検出することにより、前記追尾対象の顔部の位置を追尾し、
顔周辺推定部が、前記顔検出部によって検出された顔部の位置から前記追尾対象の顔周辺部の位置を推定し、
第1の顔部周辺追尾部が、前記入力された画像データから前記追尾対象の顔周辺部の前記第1の特徴情報を検出することにより、前記追尾対象の顔周辺部の位置を追尾し、
制御部が、前記顔部信頼性判定部で判定された顔部の信頼性が信頼性有りである場合に、次回の前記画像データの入力時の前記第1の顔追尾処理部における追尾の開始位置を前記顔検出部で検出された顔部の位置に更新するとともに、次回の前記画像データの入力時の前記第1の顔周辺追尾処理部における追尾の開始位置を前記顔周辺推定部で推定された顔周辺部の位置に更新し、前記顔部信頼性判定部で判定された顔部の信頼性が信頼性無しの場合に、次回の前記画像データの入力時の前記第1の顔追尾処理部における追尾の開始位置を前記顔検出部で検出された顔部の位置に更新するとともに、次回の前記画像データの入力時の前記第1の顔周辺追尾処理部における追尾の開始位置を前記第1の顔周辺追尾処理部で追尾された顔周辺部の位置に更新する、
ことを特徴とする追尾方法。
【請求項1】
追尾対象を設定する追尾対象設定部と、
入力された画像データから前記追尾対象の顔部の位置を検出する顔検出部と、
前記顔部の信頼性を判定する顔部信頼性判定部と、
前記入力された画像データから前記追尾対象の顔部の第1の特徴情報を検出することにより、前記追尾対象の顔部の位置を追尾する第1の顔追尾処理部と、
前記顔検出部によって検出された顔部の位置から前記追尾対象の顔周辺部の位置を推定する顔周辺推定部と、
前記入力された画像データから前記追尾対象の顔周辺部の前記第1の特徴情報を検出することにより、前記追尾対象の顔周辺部の位置を追尾する第1の顔周辺追尾処理部と、
前記顔部信頼性判定部で判定された顔部の信頼性が信頼性有りである場合に、次回の前記画像データの入力時の前記第1の顔追尾処理部における追尾の開始位置を前記顔検出部で検出された顔部の位置に更新するとともに、次回の前記画像データの入力時の前記第1の顔周辺追尾処理部における追尾の開始位置を前記顔周辺推定部で推定された顔周辺部の位置に更新し、前記顔部信頼性判定部で判定された顔部の信頼性が信頼性無しの場合に、次回の前記画像データの入力時の前記第1の顔追尾処理部における追尾の開始位置を前記顔検出部で検出された顔部の位置に更新するとともに、次回の前記画像データの入力時の前記第1の顔周辺追尾処理部における追尾の開始位置を前記第1の顔周辺追尾処理部で追尾された顔周辺部の位置に更新する制御部と、
を具備することを特徴とする追尾装置。
【請求項2】
前記制御部は、さらに、前記顔部信頼性判定部で判定された顔部の信頼性が信頼性有りである場合に、次回の前記画像データの入力時に前記第1の顔周辺追尾処理部が検出する前記第1の特徴情報を、前記更新された追尾の開始位置の前記第1の特徴情報に更新し、前記顔部信頼性判定部で判定された顔部の信頼性が信頼性無しの場合に、次回の前記画像データの入力時に前記第1の顔周辺追尾処理部が検出する前記第1の特徴情報を、前記更新がされる前の追尾の開始位置の前記第1の特徴情報とすることを特徴とする請求項1に記載の追尾装置。
【請求項3】
前記制御部は、さらに、前記顔検出部によって顔部の位置が検出されない場合に、次回の前記画像データの入力時の前記第1の顔追尾処理部における追尾の開始位置を前記第1の顔追尾処理部で追尾された顔部の位置に更新するとともに、次回の前記画像データの入力時の前記第1の顔周辺追尾処理部における追尾の開始位置を前記第1の顔周辺追尾処理部で追尾された顔周辺部の位置に更新することを特徴とする請求項1又は2に記載の追尾装置。
【請求項4】
前記制御部は、さらに、前記顔検出部によって顔部の位置が検出されない場合に、次回の前記画像データの入力時に前記第1の顔周辺追尾処理部が検出する前記第1の特徴情報を、前記更新がされる前の追尾の開始位置の前記第1の特徴情報とすることを特徴とする請求項3に記載の追尾装置。
【請求項5】
前記第1の特徴情報は、色情報であることを特徴とする請求項1乃至4の何れか1項に記載の追尾装置。
【請求項6】
前記入力された画像データから前記追尾対象の顔部の前記第1の特徴情報と異なる第2の特徴情報を検出することにより、前記追尾対象の顔部の位置を追尾する第2の顔追尾処理部と、
前記入力された画像データから前記追尾対象の顔周辺部の前記第2の特徴情報を検出することにより、前記追尾対象の顔周辺部の位置を追尾する第2の顔周辺追尾処理部と、
をさらに具備することを特徴とする請求項1乃至5の何れか1項に記載の追尾装置。
【請求項7】
前記制御部は、前記顔部信頼性判定部で判定された顔部の信頼性が信頼性無しの場合に、次回の前記画像データの入力時の前記第1の顔周辺追尾処理部と前記第2の顔周辺追尾処理部とにおける追尾の開始位置を、前記第1の顔周辺追尾処理部で追尾された顔周辺部の位置の前記第1の特徴情報と前記第2の顔周辺追尾処理部で追尾された顔周辺部の位置の前記第1の特徴情報との比較結果及び前記第1の顔周辺追尾処理部で追尾された顔周辺部の位置と前記第2の顔周辺追尾処理部で追尾された顔周辺部の位置との位置関係の判定結果によって決定された最終的な顔周辺部の位置に更新することを特徴とする請求項6に記載の追尾装置。
【請求項8】
前記第2の特徴情報は、輝度情報であることを特徴とする請求項6又は7に記載の追尾装置。
【請求項9】
追尾対象設定部が、追尾対象を設定し、
顔検出部が、入力された画像データから前記追尾対象の顔部の位置を検出し、
顔向き判定部が、前記顔部の向きを判定し、
第1の顔追尾処理部が、前記入力された画像データから前記追尾対象の顔部の第1の特徴情報を検出することにより、前記追尾対象の顔部の位置を追尾し、
顔周辺推定部が、前記顔検出部によって検出された顔部の位置から前記追尾対象の顔周辺部の位置を推定し、
第1の顔部周辺追尾部が、前記入力された画像データから前記追尾対象の顔周辺部の前記第1の特徴情報を検出することにより、前記追尾対象の顔周辺部の位置を追尾し、
制御部が、前記顔部信頼性判定部で判定された顔部の信頼性が信頼性有りである場合に、次回の前記画像データの入力時の前記第1の顔追尾処理部における追尾の開始位置を前記顔検出部で検出された顔部の位置に更新するとともに、次回の前記画像データの入力時の前記第1の顔周辺追尾処理部における追尾の開始位置を前記顔周辺推定部で推定された顔周辺部の位置に更新し、前記顔部信頼性判定部で判定された顔部の信頼性が信頼性無しの場合に、次回の前記画像データの入力時の前記第1の顔追尾処理部における追尾の開始位置を前記顔検出部で検出された顔部の位置に更新するとともに、次回の前記画像データの入力時の前記第1の顔周辺追尾処理部における追尾の開始位置を前記第1の顔周辺追尾処理部で追尾された顔周辺部の位置に更新する、
ことを特徴とする追尾方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2013−12940(P2013−12940A)
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願番号】特願2011−144770(P2011−144770)
【出願日】平成23年6月29日(2011.6.29)
【出願人】(504371974)オリンパスイメージング株式会社 (2,647)
【Fターム(参考)】
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願日】平成23年6月29日(2011.6.29)
【出願人】(504371974)オリンパスイメージング株式会社 (2,647)
【Fターム(参考)】
[ Back to top ]