(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明の実施形態を説明する。
[第1の実施形態]
図1は、本発明の各実施形態に係る追尾装置を備えた撮像装置の一例としての構成を示す図である。
図1に示す撮像装置100は、撮影光学系102と、焦点調整機構104と、絞り106と、絞り駆動機構108と、シャッタ110と、シャッタ駆動機構112と、撮像素子114と、撮像素子インターフェイス(IF)回路116と、RAM118と、表示素子120と、表示素子駆動回路122と、タッチパネル124と、タッチパネル駆動回路126と、記録メディア128と、システムコントローラ130と、操作部132と、ROM134と、を有している。
【0014】
撮影光学系102は、図示しない被写体からの光束Fを、撮像素子114の受光面上に集光するための光学系である。この撮影光学系102は、フォーカスレンズ等の複数のレンズを有している。焦点調整機構104は、モータ及びその駆動回路等を有している。この焦点調整機構104は、システムコントローラ130内のCPU1301の制御に従って、撮影光学系102内のフォーカスレンズをその光軸方向(図示一点鎖線方向)に駆動させる。
【0015】
絞り106は、開閉自在に構成され、撮影光学系102を介して撮像素子114に入射する光束Fの量を調整する。絞り駆動機構108は、絞り106を駆動するための駆動機構を有している。この絞り駆動機構108は、システムコントローラ130内のCPU1301の制御に従って、絞り106を駆動させる。
【0016】
シャッタ110は、撮像素子114の受光面を遮光状態又は露光状態とするように構成されている。このシャッタ110により、撮像素子114の露光時間が調整される。シャッタ駆動機構112は、シャッタ110を駆動させるための駆動機構を有し、システムコントローラ130内のCPU1301の制御に従って、シャッタ110を駆動させる。
【0017】
撮像素子114は、撮影光学系102を介して集光された被写体からの光束Fが結像される受光面を有している。撮像素子114の受光面は、複数の画素が2次元状に配置されて構成されており、また、受光面の光入射側には、カラーフィルタが設けられている。このような撮像素子114は、受光面に結像された光束Fに対応した像(被写体像)を、その光量に応じた電気信号(以下、画像信号という)に変換する。ここで、撮像素子114は、CCD方式やCMOS方式等の種々の構成の撮像素子が知られている。また、カラーフィルタの色配列もベイヤ配列等の種々の配列が知られている。本実施形態は、撮像素子114の構成が特定の構成に限定されるものではなく、種々の構成の撮像素子を用いることが可能である。
【0018】
撮像素子IF回路116は、システムコントローラ130内のCPU1301の制御に従って、撮像素子114を駆動させる。また、撮像素子IF回路116は、システムコントローラ130内のCPU1301の制御に従って、撮像素子114で得られた画像信号を読み出し、読み出した画像信号に対してCDS(相関二重サンプリング)処理やAGC(自動利得制御)処理等のアナログ処理を施す。さらに、撮像素子IF回路116は、アナログ処理した画像信号をデジタル信号(以下、画像データという)に変換する。
【0019】
記憶部としてのRAM118は、例えばSDRAMであり、ワークエリア、追尾画像エリア、追尾色ログエリア及び追尾データログエリアを記憶エリアとして有している。ワークエリアは、撮像素子IF回路116で得られた画像データ等の、撮像装置100の各部で発生したデータを一時記憶しておくためにRAM118に設けられた記憶エリアである。追尾画像エリアは、追尾画像データを一時記憶しておくためにRAM118に設けられた記憶エリアである。追尾画像データは、追尾処理における追尾被写体を含む画像のデータである。追尾処理においては、この追尾画像データが用いられる。追尾色ログエリアは、追尾処理において、追尾位置の色情報である追尾色を一時記憶しておくためにRAM118に設けられた記憶エリアである。追尾位置ログエリアは、追尾位置ログを一時記憶しておくためにRAM118に設けられた記憶エリアである。追尾位置ログは、追尾処理の結果として得られた追尾位置を記録したログである。
【0020】
表示素子120は、例えば液晶ディスプレイ(LCD)であり、ライブビュー用の画像及び記録メディア128に記録された画像等の各種の画像を表示する。表示素子駆動回路122は、システムコントローラ130のCPU1301から入力された画像データに基づいて表示素子120を駆動させ、表示素子120に画像を表示させる。
【0021】
タッチパネル124は、表示素子120の表示画面上に一体的に形成されており、表示画面上へのユーザの指等の接触位置等を検出する。タッチパネル駆動回路126は、タッチパネル124を駆動するとともに、タッチパネル124からの接触検出信号をシステムコントローラ130のCPU1301に出力する。CPU1301は、接触検出信号から、ユーザの表示画面上への接触操作を検出し、その接触操作に応じた処理を実行する。
【0022】
記録メディア128は、例えばメモリカードであり、撮影動作によって得られた画像ファイルが記録される。画像ファイルは、画像データに所定のヘッダを付与して構成されるファイルである。ヘッダには、撮影条件を示すデータ及び追尾位置を示すデータ等が、タグデータとして記録される。
【0023】
システムコントローラ130は、撮像装置100の動作を制御するための制御回路として、CPU1301と、AF制御回路1302と、AE制御回路1303と、画像処理回路1304と、追尾処理回路1305と、顔検出回路1306と、色情報取得回路1307と、メモリ制御回路1308と、を有している。
【0024】
CPU1301は、制御部としての機能を有し、焦点調整機構104、絞り駆動機構108、シャッタ駆動機構112、表示素子駆動回路122、タッチパネル駆動回路126等のシステムコントローラ130の外部の各ブロック、及びシステムコントローラ130の内部の各制御回路の動作を制御する。また、CPU1301は、判定部としての機能も有し、顔検出回路1306で検出された追尾対象の顔部の位置から顔周辺部の位置を推定すること、及び推定した位置の色情報を追尾色ログエリアに記憶された色情報と一致しているか否か判定することも行う。
【0025】
AF制御回路1302は、コントラストAF処理を制御する。具体的には、AF制御回路1302は、撮像素子IF回路116で得られた画像データの高周波成分を抽出し、この抽出した高周波成分を積算することにより、AF用の合焦評価値を取得する。CPU1301は、この合焦評価値に従って画像データのコントラストを評価しつつ、焦点調整機構104を制御してフォーカスレンズを合焦状態とする。
【0026】
AE制御回路1303は、AE動作を制御する。具体的には、AE制御回路1303は、撮像素子IF回路116で得られた画像データを用いて被写体輝度を算出する。CPU1301は、この被写体輝度に従って、露光時の絞り106の開口量(絞り値)、シャッタ110の開放時間(シャッタ速度値)、撮像素子感度やISO感度等を算出する。
【0027】
画像処理回路1304は、画像データに対する各種の画像処理を行う。この画像処理としては、色補正処理、ガンマ(γ)補正処理、圧縮処理等が含まれる。また、画像処理回路1304は、圧縮されている画像データに対する伸張処理も施す。
【0028】
追尾処理回路1305は、色情報を用いて追尾対象を追尾する。色情報を用いた追尾処理について簡単に説明する。
図2(a)に示すように、追尾被写体202に追尾位置204が設定されている。色情報を用いた追尾処理においては、追尾位置204の色情報を取得しておく。次のフレーム、即ち
図2(b)に示すように追尾被写体202が移動したフレームにおいて、前のフレームの追尾位置204の位置に基づいて決定されたサーチエリア206内で例えばラスタースキャンをし、前のフレームの追尾位置204と同じ色情報を有する領域を探索する。そして、
図2(c)に示すように同じ色情報を有する領域の例えば重心位置が新たな追尾位置208となる。この追尾処理回路1305が周辺部位追尾部として機能する。
【0029】
顔検出回路1306は、画像データにおける被写体(人物)の顔部を検出する。ここで、顔検出処理について簡単に説明する。顔検出処理においては、各フレームで得られる画像データと、
図3(a)に示すような顔パーツ302、304、306との相関量を求める。顔パーツ302は、人物の鼻部周辺の陰影のパターンに対応した画像データであり、顔パーツ304は、人物の目部周辺の陰影のパターンに対応した画像データであり、顔パーツ406は、人物の口部周辺の陰影のパターンに対応した画像データである。画像データと顔パーツ302、304、306との相関量は、
図3(b)に示すような、人物の顔を示す所定の配置となったときに最大となる。このとき、顔パーツ302、304、306を含む領域308に顔部が存在しているとする。なお、顔パーツ302、304、306は予め設定した検索顔の大きさに応じて、大きさを変えても良い。ここで、
図3(b)では、顔部領域を矩形領域としているが、円形領域としても良い。なお、顔検出回路1306は顏部追尾部としても機能する。
【0030】
周辺部位検出部としての機能を有する色情報取得回路1307は、追尾処理回路1305で得られた追尾位置の色情報を取得する。
メモリ制御回路1308は、CPU1301等が、RAM118、記録メディア128、ROM134にアクセスするための制御を行うインターフェイスである。
【0031】
操作部132は、ユーザによって操作される各種の操作部材である。操作部132としては、例えば、レリーズ釦、動画釦、モードダイヤル、選択キー、電源釦等が含まれる。
レリーズボタン釦は、1stレリーズスイッチと、2ndレリーズスイッチと、を有している。1stレリーズスイッチは、ユーザがレリーズ釦を半押しするとオンするスイッチである。1stレリーズスイッチがオンすることにより、AF処理等の撮影準備動作が行われる。また、2ndレリーズスイッチは、ユーザがレリーズ釦を全押しするとオンするスイッチである。2ndレリーズスイッチがオンすることにより、静止画撮影用の露光動作が行われる。
動画釦は、動画撮影の開始又は終了を指示するための操作部材である。ユーザによって動画釦が押されると動画撮影処理が開始される。また、動画撮影処理の実行中に動画釦が押されると、動画撮影処理が終了される。
モードダイヤルは、撮像装置の撮影設定を選択するための操作部材である。本実施形態では、撮像装置の撮影設定として、例えば、静止画撮影モードと動画撮影モードを選択できる。静止画撮影モードは、静止画像を撮影するための撮影設定である。また、動画撮影モードは、動画像を撮影するための撮影設定である。
選択キーは、例えばメニュー画面上での項目の選択や決定をするための操作部材である。ユーザによって選択キーが操作されるとメニュー画面上での項目の選択や決定が行われる。
電源釦は、撮像装置の電源をオン又はオフするための操作部材である。ユーザによって電源釦が操作されると、撮像装置100が起動して動作可能な状態となる。撮像装置が起動している間に電源釦が操作されると、撮像装置100が省電力待機状態となる。
【0032】
ROM134は、CPU1301が種々の処理を実行するためのプログラムコードを記憶している。また、ROM134は、撮影光学系102、絞り106、及び撮像素子114等の動作に必要な制御パラメータ、並びに画像処理回路1304での画像処理に必要な制御パラメータ等の、各種の制御パラメータを記憶している。さらには、ROM134は、顔検出回路1306における顔検出に用いられる顔パーツのデータや追尾枠を表示するためのデータ等も記憶している。また、ROM134は、後述の周辺位置推定処理において用いる、画像データ上での顔位置から顔周辺位置までの距離を示す統計データも記憶している。
【0033】
次に、本実施形態に係る撮像装置の動作について説明する。
図4は、撮像装置100の撮影動作を示すフローチャートである。CPU1301は、ROM134から必要なプログラムコードを読み込んで
図4の動作を制御する。
【0034】
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は、ライブビュー動作を継続する。
【0037】
また、S104において、1stレリーズスイッチがオンされたと判定した場合に、S106において、CPU1301は、レリーズAF処理を行う。レリーズAFにおいては、スキャン駆動によって、フォーカスレンズを合焦位置まで駆動させる。スキャン駆動では、CPU1301は、焦点調整機構104を制御して、フォーカスレンズを所定のスキャン範囲内で一方向に駆動させつつ、AF制御回路1302で順次算出される合焦評価値を評価する。そして、CPU1301は、合焦評価値の評価の結果、コントラストが最大となるレンズ位置において、フォーカスレンズの駆動を停止させる。このようなスキャン駆動は、AF前のフォーカスレンズの位置と合焦位置との差が大きい場合に行われる。
【0038】
S108において、CPU1301は、表示素子駆動回路122を制御して、表示素子120に追尾枠を表示させる。ここで、追尾枠は、表示素子120の画面上の追尾対象の位置に表示させる。例えば、レリーズAFで合焦した被写体を追尾対象とし、その被写体に追尾枠を表示させるようにしても良いし、顔検出回路1306によって顔部が検出された場合には、その顔に追尾枠を表示させるようにしても良い。さらに、タッチパネル124により、表示素子120の画面上に表示された被写体が指定された場合には、その被写体上に追尾枠を表示させるようにしても良い。このように、本実施形態においては、CPU1301、AF制御回路1302、顔検出回路1306、タッチパネル124等が追尾対象設定部の一例として機能する。
【0039】
S110において、CPU1301は、追尾処理を行う。この追尾処理の詳細については後述する。
S112において、CPU1301は、追尾位置の被写体に合焦するようにAF処理を行うとともに、追尾位置の被写体の露光が適正となるようにAE処理を行う。
追尾処理後のAF処理においては、スキャン駆動、またはウォブリング駆動によって、フォーカスレンズを合焦位置まで駆動させる。ウォブリング駆動では、CPU1301は、フォーカスレンズを駆動したときにAF制御回路1302で算出された合焦評価値が、前回のレンズ位置での合焦評価値に対して増加したかを判定する。そして、CPU1301は、合焦評価値が増加した場合には前回と同方向にフォーカスレンズを移動させながら微小駆動させ、合焦評価値が減少した場合には前回と逆方向にフォーカスレンズを移動させながら微小駆動させる。このようなウォブリング動作を高速で繰り返しながら移動させてフォーカスレンズを徐々に合焦位置まで駆動させる。
【0040】
また、AE処理において、CPU1301は、AE制御回路1303で算出された追尾位置の被写体の輝度を予め定められた適正な量(適正露光量)とする、本露光時の絞り106の開口量(絞り値)、シャッタ110の開放時間(シャッタ速度値)を算出する。
【0041】
S114において、CPU1301は、2ndレリーズスイッチがオンされたかを判定する。S114において、2ndレリーズスイッチがオンされていないと判定した場合に、CPU1301は、S110の追尾処理以後の処理を実行する。このように、静止画撮影モード時には、2ndレリーズスイッチがオンされるまでは、追尾処理が継続される。
【0042】
また、S114において、2ndレリーズスイッチがオンされたと判定した場合に、S116において、CPU1301は、表示素子駆動回路122を制御して、追尾枠を非表示とする。
【0043】
S118において、CPU1301は、静止画像データを記録メディア128に記録する処理を行う。この際、CPU1301は、シャッタ駆動機構112を制御して、シャッタ110を閉じる。その後、CPU1301は、絞り駆動機構108を制御して、絞り106を先に算出した絞り値まで絞り込む。続いて、CPU1301は、シャッタ駆動機構112を制御して、シャッタ110を先に算出した開放時間だけ開放しつつ、撮像素子114による撮像(露光)を行う。その後、CPU1301は、撮像素子114を介して得られた静止画像データを画像処理回路1304において処理する。そして、CPU1301は、画像処理回路1304において処理された静止画像データにヘッダを付与して静止画像ファイルを生成し、生成した静止画像ファイルを記録メディア128に記録する。
S120において、CPU1301は、S110の追尾処理の結果として得られた追尾位置を示すデータを、先に記録メディア128に記録した静止画像ファイルに追記する。その後に、CPU1301は、
図4に示す動作を終了させる。
【0044】
また、S100において、撮影設定が動画撮影モードであると判定した場合に、S122において、CPU1301は、ライブビュー動作を開始させる。
【0045】
S124において、CPU1301は、動画釦がオンされたかを判定する。S124において、動画釦がオンされたと判定するまでは、CPU1301は、ライブビュー動作を継続する。
【0046】
また、S124において、動画釦がオンされたと判定した場合に、S126において、CPU1301は、表示素子駆動回路122を制御して、表示素子120に追尾枠を表示させる。
【0047】
S128において、CPU1301は、追尾処理を行う。この追尾処理の詳細については、後述する。
【0048】
S130において、CPU1301は、追尾位置の被写体に合焦するようにAF処理を行うともに、追尾位置の被写体の露光が適正となるようにAE処理を行う。S130におけるAF処理おいては、ウォブリング駆動によって、フォーカスレンズを合焦位置まで駆動させる。
【0049】
S132において、CPU1301は、動画像データを記録メディア128に記録する処理を行う。この際、CPU1301は、絞り駆動機構108を制御して、絞り106をAE処理において算出した絞り値まで絞り込む。続いて、CPU1301は、AE処理において算出したシャッタ速度値に対応した時間だけ撮像素子114による撮像(露光)を実行させる。露光の終了後、CPU1301は、動画像ファイルを生成して記録メディア128に記録する。また、CPU1301は、撮像素子114を介して得られた動画像データを画像処理回路1304において処理し、画像処理回路1304において処理された動画像データを動画像ファイルに記録する。
【0050】
S134において、CPU1301は、S128の追尾処理の結果として得られた追尾位置を示すデータを、先に記録メディア128に記録した動画像ファイルと同時記録する。
【0051】
S136において、CPU1301は、動画釦がオフされたかを判定する。S136において、動画釦がオフされていないと判定した場合に、CPU1301は、S128の追尾処理以後の処理を実行する。このように、動画撮影モード時では、動画釦がオフされるまでは、追尾処理と動画像データの記録が継続される。
【0052】
また、S136において、動画釦がオフされたと判定した場合に、S138において、CPU1301は、表示素子駆動回路122を制御して、追尾枠を非表示とする。その後、CPU1301は、
図4に示す動作を終了させる。
【0053】
次に、第1の実施形態に係る画像処理方法としての追尾処理について
図5を参照して説明する。
S200において、CPU1301は、撮像素子IF回路116を制御して撮像素子114による撮像を実行する。S202において、CPU1301は、撮像素子114による撮像により、撮像素子IF回路116において得られた画像データをRAM118の追尾画像エリアに取り込む。
【0054】
S204において、CPU1301は、顔検出回路1306により、顔検出を用いた追尾処理を行う。顔検出を用いた追尾処理については、前述したので説明を省略する。
【0055】
S206において、CPU1301は、顔検出状態であるか否か、即ち顔検出回路1306により顔部が検出されたか否かを判定する。
【0056】
S206において、顔検出状態であると判定した場合に、S208においてCPU1301は、顔検出回路1306により検出された顔部の位置から、顔周辺部の位置を推定する。ここで、顔周辺部とは、追尾対象の被写体の顔部以外の部分(胴体、手足等)である。以下の説明においては、顔周辺部の例として、追尾対象の胸部の位置を推定することとする。周辺位置推定処理の詳細については後述する。
【0057】
S210において、CPU1301は、色情報取得回路1307により、S208で推定された顔周辺部の色情報を取得する。
【0058】
S212において、CPU1301は、色情報一致判断処理を行う。この色情報一致判断処理は、顔検出回路1306により検出された顔部から推定された顔周辺部の色情報と追尾色ログエリアに記憶されている色情報(追尾色)とが一致しているかを判断する処理である。S212の色情報一致判断処理の詳細については後述する。
【0059】
S214において、CPU1301は、色情報一致判断処理の結果、顔検出回路1306により検出された顔部から推定された顔周辺部の色情報と追尾色とが一致しているか否かを判定する。
【0060】
S214において、顔検出回路1306により検出された顔部から推定された顔周辺部の色情報と追尾色とが一致していると判定した場合に、S216において、CPU1301は、顔検出回路1306により検出された顔部の位置を最終的な追尾位置に決定する。
【0061】
S218において、CPU1301は、S214において追尾位置と決定した顔部の位置から推定される顔周辺部の色情報を、新たな追尾色としてRAM118の追尾色ログエリアに記録する。
【0062】
S220において、CPU1301は、追尾位置の信頼性を判断する。追尾位置の信頼性は、例えば過去の複数フレームの顔検出の結果から信頼性を判断する。具体的には、過去の複数フレームに亘って顔が検出されている場合には信頼性があると判断する。
【0063】
S222において、CPU1301は、最終的な追尾位置を、RAM118の追尾ログエリアに記録する。ここで、S220における信頼性判断の結果、顔部の追尾位置の検出結果が無効である、即ち顔検出回路1306における顔検出の信頼性がない場合には、追尾位置を記録しないようにしても良い。
【0064】
S224において、CPU1301は、表示素子駆動回路122を制御して、追尾枠の表示位置をS222で記録した追尾位置に対応した位置に更新する。その後、CPU1301は、
図5の追尾処理を終了させる。
【0065】
また、S206において顔検出状態でないと判定した場合又はS214において色情報が一致していないと判定した場合に、S226においてCPU1301は、追尾位置を更新しないと決定する。その後、CPU1301は、処理をS220に移行させる。
【0066】
次に、周辺位置推定処理について
図6を参照して説明する。周辺位置推定処理においては、顔検出処理において検出された顔部の位置から追尾対象の顔周辺部(胸部)の位置を推定する。
S300において、CPU1301は、顔検出回路1306によって検出された顔部の位置(例えば、顔部領域の重心位置)の情報を取得する。S302において、CPU1301は、顔検出回路1306によって検出された顔部のサイズ(例えば、顔部領域の大きさ)の情報を取得する。S304において、CPU1301は、顔部の位置から顔周辺部(胸部)の位置までの距離を示す統計データをROM134から取得する。
【0067】
S306において、CPU1301は、取得した統計データから、画像データ上での顔周辺部の位置を算出する。具体的には、顔部の位置を基準とし、この基準の位置から統計データに応じて得られた距離分だけ下方の位置を顔周辺部の位置とする。ここで、ROM134に記憶されている統計データは、ある固定の距離で測定した顔部の位置から顔周辺部の位置までの統計データである。したがって、撮像装置から追尾対象までの距離が統計データを得たときの距離と異なる場合には、その距離差に応じて顔周辺部の位置を補正する。撮像装置から追尾対象までの距離は、例えば顔部のサイズ(画面上に占める顔部のサイズの割合)から算出する。そして、この距離に応じて統計データの値を補正して実際の画像データ上での顔周辺部の位置を算出する。顔周辺部の位置を算出した後、CPU1301は、
図6の処理を終了させる。
【0068】
ここで、
図6の例では、説明を簡単にするために、顔部の位置の下方の位置を顔周辺部の位置としている。この場合、追尾対象としての人物が直立しているときには正しい結果が得られるが、例えば追尾対象としての人物が寝そべっている場合等においては正しい結果を得ることができない。これに対し、顔部の各器官(目、鼻、口等)をそれぞれ検出し、各器官が画面に対してどの方向に並んでいるかを判別することによって、追尾対象としての人物が直立しているか又は寝ているかを判別し、この判別結果に従って顔周辺部の位置を算出するようにしても良い。例えば、目、鼻、口が、画面の左から右に向かって並んでいる場合には、顔部の位置に対して右方向の位置に顔周辺部があると推定する。
【0069】
次に、色情報一致判断処理について
図7を参照して説明する。
S300において、CPU1301は、追尾色ログエリアに記憶されている色情報(追尾色)と顔検出回路1306により検出された顔部から推定された顔周辺部の色情報との差分絶対値が閾値よりも小さいか否かを判断する。ここで、初回の追尾処理時には、例えばユーザによって指定された追尾被写体の顔部から、前述の周辺位置推定処理によって推定された顔周辺部の色情報を追尾色ログエリアに記憶させておく。
【0070】
S300において両者の差分絶対値が閾値よりも小さいと判定した場合に、S302において、CPU1301は、両者の色情報が一致していると判断する。また、S300において両者の差分絶対値が閾値以上であると判定した場合に、S304において、CPU1301は、両者の色情報が一致していないと判断する。このような判断の後、CPU1301は、
図7の処理を終了させる。
【0071】
以上説明したように、本実施形態においては、
図8に示すような追尾被写体A1を顔検出によって追尾する。顔部B1が検出できた場合にはその顔部B1から顔周辺部C1の位置が推定される。この顔周辺部C1の色情報が、追尾色ログエリアに記憶に記憶されている色情報と一致している場合には、顔検出による追尾処理の結果が正しいとして顔部B1の位置に追尾枠D1が表示される。これは、顔検出状態で且つ顔周辺部C1の色情報が追尾色ログエリアに記憶されている色情報と一致している場合には、同一の対象を追尾していると考えることができるためである。
【0072】
ここで、従来の顔検出の場合、
図9に示すように追尾被写体A1の近くに別の被写体A2が存在していると、例えば追尾被写体A1が後ろを向く等して追尾対象A1の顔検出が不能となって且つ顔部B2が検出されると、追尾対象が被写体A2乗り換わってしまう可能性がある。この場合、誤った対象に追尾枠D2が表示されてしまう。
【0073】
これに対し、本実施形態では、顔部B2から推定される顔周辺部C2の色情報が、追尾色ログエリアに記憶されている追尾位置と一致しているか否かの判断がなされる。追尾被写体A1と被写体A2とが異なる服を着ていれば、この判断の結果、両色情報が一致しないと判断されて追尾位置が更新されない。このように、本実施形態では、顔検出の乗り換わりが発生したと判断される状況においては顔検出の結果を無効化することにより、追尾処理を継続することが可能である。
【0074】
[第2の実施形態]
次に、本発明の第2の実施形態について説明する。第1の実施形態においては、追尾色ログエリアに記憶されている色情報(追尾色)を、顔検出の結果から推定された顔周辺部の色情報と比較して色情報一致判断処理を行うようにしている。これに対し、第2の実施形態は、顔周辺部の位置を、顔検出とは異なる追尾処理によって探索し、この探索した位置の色情報を、顔検出の結果から推定された顔周辺部の色情報と比較して色情報一致判断処理を行うものである。
【0075】
以下、第1の実施形態で説明したのと同一の部分については説明を省略する。第2の実施形態は、追尾処理の内容が第1の実施形態と異なる。
図10は、第2の実施形態における追尾処理について示したフローチャートである。ここで、
図10において、
図5と同様の処理については
図5と同一の符号を付している。
【0076】
図10において、S200、S202の処理は、第1の実施形態と同様である。ステップS202において、画像データの取り込みが終了した後、S203において、CPU1301は、追尾処理回路1305により、色情報を用いた追尾処理を行う。ここでの追尾対象は、顔周辺部である。初回の追尾処理においては、例えばユーザによって指定された顔から、前述した周辺位置推定処理によって推定された顔周辺部を追尾することとする。なお、色情報を用いた追尾処理については、前述したので説明を省略する。
【0077】
S204、S206、S208の処理は、第1の実施形態と同様である。S206において、顔検出状態であると判定した場合に、S210において、CPU1301は、色情報取得回路1307によって色情報を取得する。第2の実施形態においては、周辺位置推定処理によって推定された顔周辺部の色情報に加えて、S203の追尾処理により探索された顔周辺部の色情報も取得する。
【0078】
S212において、CPU1301は、色情報一致判断処理を行う。色情報一致判断処理も基本的には第1の実施形態と同様である。ただし、第2の実施形態においては、追尾色ログエリアに記憶されている色情報(追尾色)ではなく、S203における追尾処理により探索された顔周辺部の色情報と顔検出回路1306により検出された顔部から推定された顔周辺部の色情報との差分絶対値が閾値よりも小さいか否かを判断する。
【0079】
S214において、CPU1301は、色情報一致判断処理の結果、顔検出回路1306により検出された顔部から推定された顔周辺部の色情報とS203における追尾処理により探索された顔周辺部の色情報とが一致しているか否かを判定する。
【0080】
S214において、顔検出回路1306により検出された顔部から推定された顔周辺部の色情報とS203における追尾処理により探索された顔周辺部の色情報とが一致していると判定した場合に、S216において、CPU1301は、顔検出回路1306により検出された顔部の位置を最終的な追尾位置に決定する。その後のS220、S222、S224の処理は、第1の実施形態と同様である。
【0081】
また、S206において顔検出状態でないと判定した場合又はS214において色情報が一致していないと判定した場合に、S227においてCPU1301は、S203における追尾処理により探索された顔周辺部の位置を最終的な追尾位置に決定する。その後のS220、S222、S224の処理は、第1の実施形態と同様である。
【0082】
以上説明したように、本実施形態においては、顔検出を用いた追尾処理と色情報を用いた追尾処理とによって追尾被写体A1を追尾する。前述したように、従来の顔検出の場合、
図11(a)に示すようにして追尾被写体A1の近くに別の被写体A2が存在していると、例えば追尾被写体A1が後ろを向く等して追尾対象A1の顔検出が不能となった場合に、追尾対象が被写体A2に乗り換わってしまう可能性がある。このような場合であっても、本実施形態の場合には、顔検出によって探索された顔部B2から推定される顔周辺部C2の色情報が、色情報を用いた追尾処理によって探索された顔周辺部E1の色情報と一致しているか否かの判断がなされる。追尾被写体A1と被写体A2とが異なる服を着ていれば、この判断の結果、両色情報が一致しないと判断されて最終的な追尾位置が追尾対象A1の顔周辺部E1の位置となり、顔周辺部E1に対して追尾枠D11が表示される。
【0083】
その後、
図11(b)に示すようにして追尾被写体A1が前を向く等して追尾対象A1の顔検出が可能となった場合には、顔検出の結果によって探索された顔部B1から推定される顔周辺部C1の色情報が、色情報を用いた追尾処理によって探索された顔周辺部E1の色情報と一致しているか否かの判断がなされる。この場合には、両色情報が一致すると判断されて最終的な追尾位置が追尾対象A1の顔部B1の位置となり、顔部B1に対して追尾枠D1が表示される。このように、本実施形態では、複数の追尾処理を併用することによって精度良く追尾対象を追尾することが可能である。
【0084】
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。また、前述の動作の説明において、便宜上「まず」、「次に」等を用いて動作を説明しているが、この順で動作を実施することが必須であることを意味するものではない。
【0085】
さらに、上記した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適当な組合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、上述したような課題を解決でき、上述したような効果が得られる場合には、この構成要件が削除された構成も発明として抽出され得る。