(57)【特許請求の範囲】
【請求項１】
第１の画像で設定された追尾領域と相関が高い領域を第２の画像から検出し、検出した領域を新たな追尾領域として設定する追尾処理を繰り返し行う追尾手段と、
画像から顔領域を検出する顔検出手段を備え、
前記追尾手段は、所定の条件を満たした場合に、前記顔検出手段で検出された前記顔領域を前記追尾領域として設定するものであって、前記追尾領域を設定してから前記追尾処理が継続している時間が所定時間に達した場合には、所定時間未満である場合よりも、前記所定の条件を厳しく設定することを特徴とする画像処理装置。
【請求項２】
前記所定の条件とは、前記追尾領域の所定距離内において前記顔検出手段が検出した顔領域の検出回数、前記追尾領域の所定距離内において前記顔検出手段が検出した顔領域の連続検出回数、前記追尾領域の所定距離内において前記顔検出手段が検出した顔領域の検出頻度、および、前記追尾領域の移動軌跡と前記顔検出手段が検出した顔領域の移動軌跡の相関の少なくとも１つであることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記追尾領域を設定してから前記追尾処理が継続している時間が前記所定時間未満である場合の前記所定の条件は、設定されている前記追尾領域の位置と、前記顔検出手段により検出された顔領域の位置とが、一度でも所定範囲内に位置したことであることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記追尾領域を設定してから前記追尾処理が継続している時間が前記所定時間に達した場合の前記所定の条件は、前記顔検出手段により検出された第１の顔領域の位置と、前記第１の顔領域が検出される前に前記顔検出手段により検出された第２の顔領域の位置とが所定範囲内にあり、かつ、設定されている前記追尾領域の位置と前記第１の顔領域の位置とが所定範囲内に位置することが所定回数以上あったことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項５】
ユーザの指示に従って前記追尾領域の位置を設定する指定手段を更に備え、
前記指定手段によって追尾領域が設定されてから前記追尾処理が継続している時間が所定時間に達した場合には、所定時間未満である場合よりも、前記所定の条件を厳しく設定することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
第１の画像で設定された追尾領域と相関が高い領域を第２の画像から検出し、検出した領域を新たな追尾領域として設定する追尾処理を繰り返し行う追尾工程と、
画像から顔領域を検出する顔検出工程を備え、
前記追尾工程では、所定の条件を満たした場合に、前記顔検出工程で検出された前記顔領域を前記追尾領域として設定するものであって、前記追尾領域を設定してから前記追尾処理が継続している時間が所定時間に達した場合には、所定時間未満である場合よりも、前記所定の条件を厳しく設定することを特徴とする画像処理方法。
【請求項７】
コンピュータが読み込み実行することで、請求項６に記載の各工程をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体追尾処理の機能を備えた画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来のデジタルカメラには、動画像中のいずれかのフレーム画像から任意の被写体を追尾対象として選択し、それよりも後のフレーム画像の中から、この追尾対象の被写体の輝度信号や色信号と相関の高い領域を検出することで追尾を行うものがある。
【０００３】
追尾対象とする被写体の向きの変化や光源の変化が生じても追尾を継続できるようにするため、追尾が成功するたびに、追尾対象の被写体の輝度信号や色信号を更新し続けることが望ましい。ただし、このような構成の場合、追尾対象とする被写体の手前を別の物体が通過するような場合に、この別の物体を追尾してしまうことがある（特許文献１を参照）。
【０００４】
また、顔検出機能を搭載したデジタルカメラがある。このようなデジタルカメラでは、自動的に認識した顔の位置に基づいて、オートフォーカス処理、自動露光処理、オートホワイトバランス処理等をして、ユーザに快適な撮影環境を提供している。そして、この顔検出機能を追尾に利用することで、人物の顔が移動したとしても、その人物の顔を追尾できる。例えば、画像から複数の顔が検出された場合には、それよりも前の画像で検出された各々の顔の位置やサイズ、あるいは、蓄積した移動方向から、画像間で同一人物である顔を識別して追尾を行う（特許文献２を参照）。
【０００５】
このような構成によれば、画像から検出された顔領域の中から追尾対象とすべき顔領域を選択するため、追尾対象とした顔の手前を他の顔以外の物体が横切ったとしても、その物体を誤って追尾してしまう可能性を低くすることができる。
【０００６】
また、タッチパネルを採用し、顔検出機能を備えたデジタルカメラでは、ユーザがタッチパネルを用いて指定した人物の顔を被写体とし、その顔を基準に撮影を行えるようにしたものがある（特許文献３を参照）。
【０００７】
これらを組み合わせることで、ユーザがタッチパネルで顔以外の物体を指定した場合には、追尾対象と輝度信号や色信号と相関の高い領域を検出する物体追尾を実行し、顔を指定した場合には、顔検出機能を利用した顔追尾を実行する構成とすることが考えられる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−１１１７１６号公報
【特許文献２】特開２００８−２７１３１０号公報
【特許文献３】特開２００９−１０７７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、ユーザがデジタルカメラのタッチパネルから被写体となる人物を指定したときに、デジタルカメラでは、必ずしも画面内でその人物の顔を検出できていない場合がある。例えば、タッチパネルで指定した人物が横を向いていたり、後ろを向いていたりした場合で、周囲が暗い場合等には、画面の中から正しく顔を検出できない場合がある。
【００１０】
そのため、ユーザがタッチパネルから被写体となる人物の横顔（又は後ろ姿等）を指定したときに、デジタルカメラが指定された人物の横顔等を顔として認識できないため、顔追尾ではなく物体追尾を実行してしまう場合がある。このような場合には、追尾対象とするため指定された人物の手前を、他の物体が横切ってしまうと、この他の物体を誤って追尾してしまうことがある。
【００１１】
このように、ユーザが人物の顔を追尾対象として指定したとしても、その際にデジタルカメラがその指定した位置で顔を検出することができていなければ、追尾中に顔以外のものを誤追尾してしまう可能性がある。つまり、顔を追尾するはずだというユーザの意図に反して、顔以外のものを追尾してしまうという問題がある。
【００１２】
これを解決するため、物体追尾を実行している最中に顔が検出できた場合には、顔追尾に切り替えることが考えられる。しかしながら、ユーザが顔以外の物体を追尾対象として選択したにも関わらず、たまたまユーザの意図しない人物が現れ、その人物の顔が検出されることによって、物体追尾から顔追尾に切り替わってしまう可能性がある。このように、追尾開始時に人物の顔が検出されずに物体追尾を開始してこの物体追尾中に人物の顔が検出された場合に、物体追尾を継続すべきか顔追尾に切り替えるかを判断することは困難であった。
【００１３】
そして、この問題はデジタルカメラに限定されるものではなく、ユーザが指定した被写体を追尾する機能と、顔検出機能を備えたものであれば、デジタルビデオや、パーソナルコンピュータ上のアプリケーションでも同様の問題が生じる可能性がある。
【００１４】
そこで、本発明の目的は、追尾対象を顔領域に限定した顔追尾と、顔領域に限定しない物体追尾を実行可能であって、ユーザが追尾対象を指定した際の顔検出結果に関わらず、ユーザの意図通りの被写体を追尾する画像処理装置、画像処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１５】
上記の目的を達成するために、本発明の画像処理装置は、第１の画像で設定された追尾領域と相関が高い領域を第２の画像から検出し、検出した領域を新たな追尾領域として設定する追尾処理を繰り返し行う追尾手段と、画像から顔領域を検出する顔検出手段を備え、前記追尾手段は、所定の条件を満たした場合に、前記顔検出手段で検出された前記顔領域を前記追尾領域として設定するものであって、前記追尾領域を設定してから前記追尾処理が継続している時間が所定時間に達した場合には、所定時間未満である場合よりも、前記所定の条件を厳しく設定することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、追尾対象を顔領域に限定した顔追尾と、顔領域に限定しない物体追尾を実行可能であって、ユーザが追尾対象を指定した際の顔検出結果に関わらず、ユーザの意図通りの被写体を追尾する画像処理装置を提供できるという効果がある。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態に係るデジタルカメラの制御系の構成を示すブロック図である。
【図２】本発明の実施の形態に係るデジタルカメラで実行される撮影処理の手順を示すフローチャート図である。
【図３】本発明の実施の形態に係るデジタルカメラで実行されるタッチパネルからのユーザ入力時の追尾処理の手順を示すフローチャート図である。
【図４】本発明の実施の形態に係るデジタルカメラで実行される顔追尾判定処理の手順を示すフローチャート図である。
【図５】本発明の実施の形態に係るデジタルカメラでユーザ入力による顔追尾処理を行っているときの、表示画面の変遷を示す画面表示説明図である。
【図６】本発明の実施の形態に係るデジタルカメラで、ユーザ入力で横顔が指定されたときに、物体追尾処理から顔追尾処理へ移行するときの、表示画面の変遷を示す画面表示説明図である。
【図７】本発明の実施の形態に係るデジタルカメラでユーザ入力による物体追尾処理を行っているときの、表示画面の変遷を示す画面表示説明図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００１９】
上述したように、本発明は、動画像中でユーザが指定した被写体を追尾する機能と、画像から人物の顔領域を検出する顔検出機能を備えた画像処理装置であれば適用することが可能である。本実施形態では、このような画像処理装置としてデジタルカメラを例にあげて説明を行う。
【００２０】
図１に示す本実施の形態に係わるデジタルカメラにおいて、１０は撮影レンズ、１２は絞り機能を備えるシャッター、１４は光学像を電気信号（画像信号）に変換する撮像素子である。この撮像素子１４から撮像時に出力されたアナログ信号は、Ａ／Ｄ変換器１６によって、ディジタル信号（画像信号）に変換される。
【００２１】
このデジタルカメラでは、制御部を構成するメモリ制御回路２２及びシステム制御回路５０が、タイミング発生回路１８を制御する。タイミング発生回路１８は、クロック信号や制御信号を、撮像素子１４、Ａ／Ｄ変換器１６及びＤ／Ａ変換器２６に供給してコントロールする。
【００２２】
このＡ／Ｄ変換器１６からのデータ（画像信号）或いはメモリ制御回路２２から出力されたデータ（画像信号）は、画像処理回路２０によって所定の画素補間処理や色変換処理が施される。
【００２３】
また、このデジタルカメラでは、ＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＥＦ（フラッシュプリ発光）処理を行う。このため、デジタルカメラの画像処理回路２０は、撮像された画像データに対して所定の演算処理を行い、得られた演算結果に基づいてシステム制御回路５０が露光制御回路４０、測距制御回路４２を制御する。
【００２４】
さらに、この画像処理回路２０は、撮像した画像データ（画像信号）を用いて所定の演算処理を行い、得られた演算結果に基づいてＡＷＢ（オートホワイトバランス）処理を行う。
【００２５】
制御部を構成するメモリ制御回路２２は、Ａ／Ｄ変換器１６、タイミング発生回路１８、画像処理回路２０、画像表示メモリ２４、Ｄ／Ａ変換器２６、メモリ３０、圧縮・伸長回路３２を制御する。
【００２６】
このＡ／Ｄ変換器１６から出力されたデータは、画像処理回路２０、メモリ制御回路２２を介して、或いはＡ／Ｄ変換器１６のデータが直接メモリ制御回路２２を介して、画像表示メモリ２４或いはメモリ３０に書き込まれる。
【００２７】
この画像表示メモリ２４に書き込まれた表示用の画像データは、Ｄ／Ａ変換器２６を介して、ＴＦＴ  ＬＣＤ等から成る表示部２８に表示される。この表示部２８は、撮像素子１４から連続して出力された信号から生成された画像データを、動画像としてリアルタイムで表示することにより、電子ファインダ機能を担う。
【００２８】
また、メモリ３０は、撮影した静止画像や動画像を格納するためのメモリであり、所定枚数の静止画像や所定時間の動画像を格納するのに十分な記憶量を備えている。このメモリ３０は、システム制御回路５０の作業領域としても使用可能に構成されている。
【００２９】
このメモリ３０に格納された画像は、圧縮・伸長回路３２に読み込まれて、適応離散コサイン変換（ＡＤＣＴ）等により画像データが圧縮処理又は伸長処理される。この圧縮伸長処理後のデータは、メモリ３０に書き込まれる。
【００３０】
このデジタルカメラは、絞り機能を備えるシャッター１２を制御する露光制御回路４０と、撮影レンズ１０のフォーカシングを制御する測距制御回路４２と、撮影レンズ１０のズーミングを制御するズーム制御回路４４とを備える。
【００３１】
このデジタルカメラは、カメラシステム全体を制御するシステム制御回路５０を備える。このシステム制御回路５０は、不図示のＲＯＭに記憶されたプログラムに従って後述する各処理を実行する。
【００３２】
このシステム制御回路５０には、電気的に消去・記録可能なＥＥＰＲＯＭ等で構成された不揮発性メモリ５６が接続されている。さらに、このデジタルカメラは、各種の動作指示を入力するための操作手段としてのシャッタースイッチＳＷ１  ６２、シャッタースイッチＳＷ２  ６４、操作部７０を備える。操作部７０は、例えば、スイッチ、十字キー、ダイアル、タッチパネル、視線検知によるポインティング、音声認識装置等の単数或いは複数の組み合わせで構成される。
【００３３】
このシステム制御回路５０に接続されたシャッタースイッチＳＷ１  ６２は、不図示のシャッターボタンの操作途中の状態でＯＮ指示の信号をシステム制御回路５０に出力する。このＯＮ信号を受けたシステム制御回路５０は、ＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＡＷＢ（オートホワイトバランス）処理、ＥＦ（フラッシュプリ発光）処理等の動作を開始する。
【００３４】
また、シャッタースイッチＳＷ２  ６４は、不図示のシャッターボタンの操作完了の状態でＯＮ指示の信号をシステム制御回路５０に出力する。このＯＮ信号を受けたシステム制御回路５０は、撮像素子１４から読み出した信号をＡ／Ｄ変換器１６及びメモリ制御回路２２を介してメモリ３０に画像データを書き込む本撮影の露光処理の動作開始を指示する。次に、このシステム制御回路５０は、画像処理回路２０やメモリ制御回路２２での演算を用いた現像処理の動作開始を指示する。次に、このシステム制御回路５０は、メモリ３０から画像データを読み出し、圧縮・伸長回路３２で圧縮を行い、外部記録媒体１２０に画像データを書き込む記録処理の動作開始を指示する。
【００３５】
このシステム制御回路５０に接続された、各種ボタンやタッチパネル等からなる操作部７０は、電源ボタン、メニューボタン、撮影モード／再生モード切替えスイッチ等を備える。ここで、操作部７０に含まれるタッチパネルは表示部２８と一体的に構成されており、ユーザが表示部２８の画面に触れることで、その触れた位置の画面上の座標を示す情報をシステム制御回路５０に送信する。
【００３６】
このシステム制御回路５０には、メモリカード等の外部記録媒体とデータの送受信を行うカードコントローラ９０が接続されている。さらに、このシステム制御回路５０には、カードコントローラ９０を介して、メモリカード等の外部記録媒体１２０が接続されている。
【００３７】
このシステム制御回路５０には、画像処理回路２０で処理された画像データや画像表示メモリ２４に保存されている画像データの解析を行い画像データ内の顔と思われる領域を検出する、顔検出部１０１が接続されている。顔検出部１０１は、例えば、画像データ内で人物の目、鼻、口らしき形状のものが所定の位置関係で配置されている領域を顔領域として検出する。
【００３８】
この顔検出部１０１は、顔と思われる領域を検出した際に、人間の顔と思われる確率、入力画像データ中の位置及びサイズ等を出力する。また、この顔検出部は、検出した顔の各々の特徴点の特徴量を出力することができるように構成されている。
【００３９】
このシステム制御回路５０には、画像表示メモリ２４やメモリ３０に記録された２つの画像に対して輝度情報と色情報の少なくとも一方を基に画像の差分演算を行い、画像間で相関の高い領域を検出する画像比較部１０２が接続されている。
【００４０】
次に、上述のように構成されたデジタルカメラにおける撮影処理について、図２のフローチャートを参照して説明する。
【００４１】
このデジタルカメラの撮影処理では、デジタルカメラの電源が入って撮影可能状態となると、制御部を構成するメモリ制御回路２２及びシステム制御回路５０が、撮影処理の動作を開始する。システム制御回路５０は、撮像素子１４への露光を開始し、連続して生成される画像データを用いて表示部２８に動画像をリアルタイムで表示させる。
【００４２】
この撮影処理では、ステップＳ２０１において現在の撮影モードが操作部７０に含まれるタッチパネルからのユーザ入力（以後、タッチ入力）に対応して追尾処理を行うモードかどうかを判断する。本実施形態では、表示部２８が動画像を表示している際にユーザが表示部２８の画面に触れることで追尾処理を行うモードが搭載されており、ユーザはこのモードの実行の可否を操作部７０に含まれるメニューボタンで事前に設定することができる。システム制御回路５０は、撮影モードがユーザのタッチ入力が可能なモードであると判定した場合（ステップＳ２０１でＹＥＳ）に、ステップＳ２０２へ進み、タッチ追尾処理を実行する。
【００４３】
このタッチ追尾処理（ステップＳ２０２）では、例えば、図５−ａの画面表示例に示すように、ユーザからのタッチ入力を受け付けると、タッチ入力された位置を画面内の座標に変換する処理を実行する。このとき、デジタルカメラでは、ユーザのタッチ入力に対応した位置に表示中の画面に重畳して枠（指標）を表示することによって、タッチ入力が受け付けられたことを表示するように構成しても良い。
【００４４】
さらに、このタッチ追尾処理（ステップＳ２０２）では、タッチ入力に基づいて、タッチされた位置における被写体判定を行い、その判定に応じて被写体に合わせたタッチ追尾処理を開始して次のステップＳ２０３へ進む。なお、タッチ追尾処理については、図３のフローチャートを用いて、後に詳述する。
【００４５】
このシステム制御回路５０は、ステップＳ２０３に進み、シャッタースイッチＳＷ１  ６２が押されなければステップＳ２０１に戻る。
【００４６】
システム制御回路５０は、撮影モードがユーザのタッチ入力を受け付けないモードであると判別した場合（ステップＳ２０１でＮＯ）には、その他のモードにて主被写体を選択し、シャッタースイッチＳＷ１  ６２が押されるまで待機する（ステップＳ２０３）。その他のモードとしては、検出された顔の中から自動的に主被写体らしき顔を選択する顔自動モードや、予め設定された複数のＡＦ領域にかかる被写体の中から、至近に位置する被写体を主被写体として選択する多点自動モードなどがある。
【００４７】
次に、システム制御回路５０は、シャッタースイッチＳＷ１  ６２が押されたと判定した場合（ステップＳ２０３でＹＥＳ）に、設定されてる主被写体に重みを置いたＡＦ・ＡＥ処理（ステップＳ２０４）を行う。
【００４８】
そして、システム制御回路５０は、シャッタースイッチＳＷ２  ６４が押下されるまでＡＦ・ＡＥ処理（ステップＳ２０４）を続行して待機する（ステップＳ２０５でＮＯ）。なお、この待機状態で、シャッタースイッチＳＷ１  ６２の押下が解除されると、ステップＳ２０１へ戻る。
【００４９】
次に、システム制御回路５０は、シャッタースイッチＳＷ２  ６４が押下されたと判定した場合に、ステップＳ２０６に進み、撮影を行い、撮影された画像ファイルを外部記録媒体１２０に記録し、撮影処理を終了する。
【００５０】
次に、上述した撮影処理中に実行される、タッチ入力時のタッチ追尾処理について、図３のフローチャートを参照して説明する。
【００５１】
このデジタルカメラで行われるタッチ追尾処理は、顔以外の物体を主被写体として追尾する第１の追尾処理としての物体追尾処理と、画面内に表示中のある特定の人物の顔を主被写体として追尾する第２の追尾処理としての顔追尾処理との２つに大別される。
【００５２】
このタッチ追尾処理が開始されると、システム制御回路５０は、ステップＳ３００において、ユーザからのタッチ入力があったか確認を行う。システム制御回路５０は、新たなタッチ入力が行われていないと判定した場合に、ステップＳ３０１へ進み、タッチ追尾の処理中であるかを確認する。
【００５３】
そして、システム制御回路５０は、タッチ追尾中でないと判定した場合には、図３のフローチャートを終了する。また、システム制御回路５０は、タッチ追尾中であると判定した場合には、ステップＳ３１２に進み、顔追尾処理がすでに開始されているか否かの判定を行う。
【００５４】
システム制御回路５０は、ステップＳ３１２で、顔追尾処理でないと判定した場合には、後述するステップＳ３０９へ進んで顔追尾判定処理を実行する。反対に、システム制御回路５０は、顔追尾処理がすでに開始されていると判定した場合には、後述するステップＳ３１１へ進んで顔追尾処理を実行する。
【００５５】
ステップＳ３００に戻り、システム制御回路５０は、ユーザからのタッチ入力があったと判定した場合に、ステップＳ３０２へ進み、タッチ座標取得の処理を実行する。このステップＳ３０２のタッチ座標取得の処理では、タッチ入力を受け付けた操作部７０に設けられたタッチパネルの制御部が、接触された画面上の位置を画面上の座標に変換し、その座標を所得してシステム制御回路５０へ送信する。
【００５６】
次に、システム制御回路５０は、ステップＳ３０３の追尾領域を設定する処理へ進み、得られたタッチ座標に基づいて、追尾する被写体の追尾領域を設定する。追尾領域を設定する処理では、画像表示メモリ２４に記憶されている表示画像データとタッチされた座標から表示画像データ上の位置を求める。
【００５７】
さらに、この追尾領域を設定する処理では、表示画像データ上の位置周辺の輝度情報から得られるコントラストや、画像の特徴量などを考慮して被写体の追尾領域のサイズを求める。すなわち、タッチされた座標を中心として複数のサイズの仮の追尾領域を設定し、コントラストや特徴量が所定の条件を満たす仮の追尾領域のうち、最小サイズとなるものを追尾領域として設定する。
【００５８】
ここで、コントラストや特徴量を所定の条件と比較するのは、これらの値がある程度のレベルに達していないと、他の領域との識別が困難になるためである。また、最小サイズを選択するのは、サイズを大きく設定するほど、その設定した追尾領域の中に追尾対象とする被写体の以外の背景が含まれてしまい、追尾精度が低下してしまう可能性が高くなるためである。
【００５９】
システム制御回路５０は、ステップＳ３０３で正しく被写体の追尾領域が求められたか否かを判定し、正しく被写体の追尾領域が求められたと判定した場合（ステップＳ３０４でＹＥＳ）に、ステップＳ３０８に進む。
【００６０】
また、システム制御回路５０は、タッチされた座標周辺の輝度が均一でコントラストが検出できなかったとき又は画面一面が同じようなパターンとなったときに、正しく追尾領域が求められない場合がある。このような場合には、ステップＳ３０５へ進む。
【００６１】
このシステム制御回路５０は、ステップＳ３０５において、タッチ入力位置におけるＡＦ評価値を基にＡＦ処理を行う。このＡＦ処理では、タッチ入力位置周辺の表示画像データの解像度を向上させる。
【００６２】
次に、システム制御回路５０は、ステップＳ３０６において、ＡＦ処理後の画像表示データから同じ位置で再度追尾領域の検出を行う。
【００６３】
次に、システム制御回路５０は、ステップＳ３０７において、再度追尾領域が検出できなかった場合に、ステップＳ３２２へ進む。システム制御回路５０は、ステップＳ３２２の追尾不能の処理として、ユーザに追尾できない被写体である旨表示する等の動作をした後に、図３のフローチャートを終了する。
【００６４】
また、システム制御回路５０は、ステップＳ３０７において、追尾領域が正しく決定できた場合に、ステップＳ３０８へ進む。システム制御回路５０は、ステップＳ３０８において、上述のようにして決定した追尾領域の色情報を記憶しておく。
【００６５】
次に、システム制御回路５０は、ステップＳ３０９において、顔追尾可能な被写体かどうかの判定処理を行う。顔追尾判定処理については、図４を用いて後述する。
【００６６】
次に、システム制御回路５０は、ステップＳ３１０において、ステップＳ３０９の顔追尾判定処理において、顔追尾処理が可能と判定された場合に、ステップＳ３１１へ進み顔追尾処理を行う。
【００６７】
システム制御回路５０は、ステップＳ３１１で、顔追尾処理を行う。この顔追尾処理では、システム制御回路５０が、画像表示メモリ２４の表示画像データと顔検出部１０１とを用いて、表示中の画面内に存在する顔の領域を求める。
【００６８】
このシステム制御回路５０は、タッチ入力で追尾領域が設定されてから、または、物体追尾処理で追尾領域が更新されてから、顔追尾処理に初めて移行した際に、ステップＳ３０９の顔追尾判定処理で顔追尾可能と判定された顔領域を新たな追尾領域として設定する。
【００６９】
また、システム制御回路５０は、すでに顔追尾処理中であれば、次の追尾領域となる顔領域を設定する。この場合には、例えば、前回の検出された追尾中の顔領域の位置と現在の表示画像データ上で検出された複数の顔領域との距離や、それぞれの顔領域の移動量や移動方向等から、前回の追尾領域として設定された顔領域と同じと思われる顔領域を設定すればよい。または、システム制御回路５０は、図示しない個人認証などの制御モジュールを用いて、前回検出された追尾中の顔領域と現在の顔領域の特徴点や類似性等から顔領域の関連性を検出する。そして、システム制御回路５０は、検出した顔領域の関連性から、前回の顔領域と同一と思われる顔領域を特定する等して、次の追尾領域となる顔領域を設定してもよい。
【００７０】
このシステム制御回路５０は、ユーザに追尾中の人物の顔を示すため、例えば、図５−ｂに示すように、画面内で、追尾中の顔領域を枠（指標）で囲って表示する。また、システム制御回路５０は、顔追尾処理において、図５−ｂに示す表示を行った後、枠（指標）で囲われた人物の顔領域が画面内を移動したときに、例えば、図５−ｃのように人物の顔の移動に合わせて枠の表示更新を行う。
【００７１】
次に、ステップＳ３２０へ進み、システム制御回路５０は、ユーザがタッチパネル上のＧＵＩボタン等を操作してタッチ追尾の終了の指示をしたか判定する。そして、システム制御回路５０は、タッチ追尾の終了の指示があったと判定したときは、ステップＳ３２１へ進んで追尾終了処理を行う。このシステム制御回路５０は、追尾終了処理において、ユーザに追尾終了を通知した上で、追尾領域を示す枠（指標）の表示を終了させる。
【００７２】
ステップＳ３２０において、システム制御回路５０はタッチ追尾の終了の指示がないと判定したときは、この図３のフローチャートを終了し、図２のステップＳ２０３へと進む。そして、システム制御回路５０は、ステップＳ２０３でシャッタースイッチＳＷ１  ６２が押されていなければ、ステップＳ２０１を経由し、新たな表示画像データに対して、再び図３に示すフローチャートを実行する。このように、シャッタースイッチＳＷ１  ６２が押されるまで、これらの処理を繰り返すことで追尾を継続する。
【００７３】
次に、前述したステップＳ３１０において、顔追尾処理が不可能と判定された場合には、ステップＳ３１３に進み、システム制御回路５０が、輝度情報による物体追尾が可能であるかどうかを判定する。
【００７４】
この輝度情報による物体追尾が可能か否かの判定は、例えば、追尾領域を含む周辺領域が追尾領域を更新したときと比較して大きく輝度が変化していないか、追尾領域周辺の輝度が均一になっていないかといった条件を吟味する。これらの条件を満たす場合は、輝度情報の相関による物体追尾の精度が低下すると判断し、物体追尾不可能と判断する。
【００７５】
システム制御回路５０は、すべての条件を満たして輝度情報による物体追尾可能と判断した場合には、ステップＳ３１４へ進み、輝度情報を用いた物体追尾の処理を行う。
【００７６】
この輝度情報による物体追尾の処理は、現在の画像表示メモリ２４の表示画像データと前回追尾領域が設定された表示画像データにおける追尾領域の画像データと画像比較部１０２を用いて、相関により検出する処理である。
【００７７】
すなわち、この物体追尾の処理では、前回追尾領域が設定された表示画像データで追尾領域としていた画像データが、現在の表示画像データのどこに移動したかを、それぞれの輝度情報を用いた相関演算により算出する。そして、現在の表示画像データのうち、前回追尾領域が設定された表示画像データで追尾領域としていた画像データと最も相関の高いと判断された領域を、現在のフレーム画像における新たな追尾領域として更新することで物体追尾を行う。
【００７８】
次に、ステップＳ３１５へ進み、システム制御回路５０は、新たに追尾領域と設定された領域の色情報を記憶する。
【００７９】
次に、前述したステップＳ３２０へと進み、システム制御回路５０は、ユーザによるタッチ追尾の終了の指示の有無を判定し、タッチ追尾の終了の指示がないと判定したときは、この図３のフローチャートを終了し、図２のステップＳ２０３に進む。システム制御回路５０は、タッチ追尾の終了の指示があったと判定したときは、ステップＳ３２１へ進んで追尾終了処理を行う。このシステム制御回路５０は、追尾終了処理において、ユーザに追尾終了を通知した上で、追尾領域を示す枠（指標）の表示を終了させる。
【００８０】
次に、前述したステップＳ３１３で、システム制御回路５０が、輝度情報による物体追尾が可能であるか否かを判定した結果、物体追尾不能と判定された場合には、ステップＳ３１６へ進む。
【００８１】
このステップＳ３１６で、システム制御回路５０は、輝度情報での物体追尾が不能と判断された追尾領域に対して、次に色情報を用いた追尾を試みる。このため、システム制御回路５０は、前述したステップＳ３０８又はステップＳ３１５において色情報が記憶されているかを検出する。そして、システム制御回路５０は、色情報が記憶されている場合に、その色情報を用いて、現在の表示画像データと類似した色分布を持つ領域がないか、表示画像データ上で検索する（ステップＳ３１６）。
【００８２】
次に、ステップＳ３１７に進んで、システム制御回路５０は、色情報による追尾領域の検索で新たに追尾領域の検索に成功したと判断した場合には、再度追尾可能として、ステップＳ３１８に進む。具体的には、システム制御回路５０は、記憶した色情報から色相のヒストグラムを生成し、このヒストグラムとの差分が最も小さくなる領域を検出する。そして、その差分が予め定めた閾値以下であった場合には、色情報による追尾領域の検索に成功したと判断し、検出できなかった場合には失敗したと判断する。
【００８３】
ステップＳ３１８において、システム制御回路５０は、検索に成功した領域を新しい追尾領域として設定する。さらにステップＳ３１５に進み、システム制御回路５０は、新たに追尾領域と設定された領域の色情報を記憶する。
【００８４】
また、システム制御回路５０は、前述したステップＳ３１７において、色情報による追尾領域の検索で新たな追尾領域の検索に失敗したと判断した場合に、ステップＳ３２１に進み、追尾処理を終了する。
【００８５】
次に、前述したステップＳ３０９に係わる顔追尾判定処理について、図４を参照しながら説明する。
【００８６】
この顔追尾判定処理では、システム制御回路５０が、現在の追尾領域に対して、顔検出結果に基づく顔追尾処理に切り替えるかどうかの判定を行う。この顔追尾判定処理では、図３で説明したように、顔追尾処理可能と判定された場合に、顔検出結果に基づく追尾を行うことになる。また、この顔追尾判定処理では、顔追尾処理が不可能と判定された場合に、現在の追尾領域は、顔検出部１０１による顔検出結果を用いずに、輝度情報や色情報に基づく物体追尾処理が実施される。
【００８７】
この顔追尾判定処理が開始され、ステップＳ４００に進むと、システム制御回路５０は、現在の追尾領域の座標を取得する。
【００８８】
次に、ステップＳ４０１に進んで、システム制御回路５０は、顔検出部１０１を制御して、画像表示メモリ２４にある現在表示中の表示画像データから表示画像データ上にある人物の顔と思われるすべての領域を検出し、それぞれの領域の座標を取得する。
【００８９】
次に、ステップＳ４０２に進んで、システム制御回路５０は、顔検出の結果表示画像データから顔領域が検出できたか否かを判定する。そして、システム制御回路５０は、顔領域が検出できなかった場合（ステップＳ４０２でＮＯ）に、ステップＳ４２０へ進み、顔検出回数をカウントアップした後に、ステップＳ４２１に進み，顔追尾不可能と判定する。
【００９０】
また、システム制御回路５０は、顔領域が検出できた場合（ステップＳ４０２でＹＥＳ）に、次のステップＳ４０３へ進む。このステップＳ４０３において、システム制御回路５０は、追尾領域と検出されたすべての顔領域との距離をそれぞれ算出する。
【００９１】
次に、ステップＳ４０４に進み、システム制御回路５０は、ステップＳ４０３において算出された距離の中から最も追尾領域と近い位置にある最至近顔領域を決定する。
【００９２】
次に、ステップＳ４０５に進み、システム制御回路５０は、タッチ入力からの追尾経過時間が所定時間未満か判定する。この追尾経過時間は、タッチ入力してから追尾を継続して成功している時間のことであり、途中で追尾に失敗した場合にはリセットされる。そして、システム制御回路５０は、タッチ入力からの追尾経過時間が所定時間未満であると判定した場合（ステップＳ４０５でＹＥＳ）に、ステップＳ４０６に進む。
【００９３】
このステップＳ４０６において、システム制御回路５０は、ステップＳ４０４で決定した最至近顔領域との距離が所定の閾値未満であるかを判定する。システム制御回路５０は、閾値未満であると判断した場合（ステップＳ４０６でＹＥＳ）に、ステップＳ４０７へ進み、最至近顔領域での顔追尾可能な場合と判定し、顔追尾判定処理を終了する。
【００９４】
また、システム制御回路５０は、最至近顔領域との距離が閾値以上であると判断した場合（ステップＳ４０６でＮＯ）に、ステップＳ４０８で顔追尾不能と判定し、この顔追尾判定処理を終了する。これは、ユーザがタッチした位置と顔領域とが離れているのであれば、ユーザは顔以外のものをタッチ入力で追尾対象として指定する意図があると考えられるためである。
【００９５】
この顔追尾判定処理では、システム制御回路５０が上述のように制御することにより、タッチした位置と顔領域とが近く、かつ、タッチ入力から所定時間を経過していなければ、顔検出の結果を反映して顔追尾による追尾処理へ素早く移行することができる。
【００９６】
次に、この顔追尾判定処理で、前述したステップＳ４０５において、タッチ入力からの追尾経過時間が所定時間に達していると判定された場合（ステップＳ４０５でＮＯ）について説明する。
【００９７】
この場合には、ステップＳ４０９に進み、システム制御回路５０が、最至近顔領域と追尾領域の距離が閾値未満か判定し、閾値未満であると判定した場合（ステップＳ４０９でＹＥＳ）に、ステップＳ４１０へ進む。
【００９８】
ステップＳ４１０では、第１の顔領域である今回の最至近顔領域と、第２の顔領域である前回の最至近顔領域との距離を求める距離算出処理を行う。この距離算出処理では、システム制御回路５０が、今回の最至近顔領域と前回の最至近顔領域との距離を求めることで最至近顔領域となっている顔領域の動き量を算出する。
【００９９】
次に、システム制御回路５０は、ステップＳ４１１へ進み、ステップＳ４１０で求めた距離が閾値未満であるか判定し、閾値未満であれば、ステップＳ４１２に進み、至近顔存在回数をカウントアップする。つまり、システム制御回路５０は、最至近顔領域であると決定された顔領域が、追尾領域の近くに留まっていると判定した場合に、至近顔存在回数をカウントアップする。
【０１００】
反対に、システム制御回路５０は、ステップＳ４０９、ステップＳ４１１において、各々の距離が閾値以上であると判定した場合に、ステップＳ４１３へ進み、至近顔不在回数をカウントアップする。システム制御回路５０がこのように制御する理由は、次のような状況を考慮したためである。
【０１０１】
１つは、動き量の大きな顔領域が画面内を移動し、さらに、この顔領域が画面外に移動してしまう状況である。動きの大きな顔領域を追尾対象としてしまうと、追尾を開始してもすぐに見失ってしまう可能性が高いため、システム制御回路５０は、このような顔が最至近顔であった場合には、至近顔不在回数をカウントアップする。
【０１０２】
もう１つは、顔領域が画面を移動中の状態で、一時的に追尾領域に近づいただけで、本来追尾したい被写体と関連がないと考えられる状況である。主被写体とするつもりのない人物が、たまたま追尾領域の近くに移動した場合に、この人物を誤って追尾してしまう可能性もあるため、システム制御回路５０は、このような顔が最至近顔であった場合には、至近顔不在回数をカウントアップする。
【０１０３】
次に、システム制御回路５０は、ステップＳ４１４へ進んで、顔検出を行った回数をカウントアップする。さらに、システム制御回路５０は、ステップＳ４１５に進み、顔検出回数が所定回数以上か判定し、所定回数以上と判定した場合（ステップＳ４１５でＹＥＳ）であれば、ステップＳ４１６へ進む。
【０１０４】
システム制御回路５０は、ステップＳ４１６に進み、至近顔存在回数が所定回数以上か判定し、所定回数以上の場合に顔追尾可能であると判定して（ステップＳ４１６でＹＥＳ）、ステップＳ４１７へ進む。ステップＳ４１７でシステム制御回路５０は、顔追尾可能と判断した時点での最至近顔領域を、追尾領域として設定する。
【０１０５】
また、システム制御回路５０は、ステップＳ４１６で、至近顔存在回数が所定回数未満か判定し、所定回数未満の場合に顔追尾不可能であると判定して（ステップＳ４１６でＮＯ）、ステップＳ４２１で顔追尾は不可能と判断する。
【０１０６】
前述したステップＳ４１５において、システム制御回路５０は、顔検出回数が所定回数未満と判定した場合（ステップＳ４１５でＮＯ）に、ステップＳ４１８に進む。ステップＳ４１８では、システム制御回路５０が、至近顔不在回数が所定回数以上か判定を行う。
【０１０７】
システム制御回路５０は、至近顔不在回数が所定回数以上であると判定した場合（ステップＳ４１８でＹＥＳ）に、ステップＳ４１９に進む。ステップＳ４１９でシステム制御回路５０は、顔検出回数、至近顔存在回数、至近顔不在回数をそれぞれクリアし、顔追尾判定処理のリセットを行う。そして、システム制御回路５０は、ステップＳ４２１に進み、この時点での顔追尾が不可能であるときの処理を行って、本顔追尾判定処理を終了する。
【０１０８】
上述の制御によれば、システム制御回路５０は、タッチ入力から所定時間経過後に、物体追尾中における追尾領域と顔検出結果から検出された顔領域との状況に応じて、物体追尾処理から顔追尾処理へ切り替えることができる。
【０１０９】
例えば図６に示すように、タッチ入力時点で、ある人物の顔検出できない横顔や後ろ向きの顔等が選択されたときでも、その後、ある人物の顔が正面を向いて、安定して顔が検出できるようになる場合がある。このような場合には、上述の制御によって、顔検出結果による顔追尾が可能となる。
【０１１０】
すなわち、この図６の場合には、デジタルカメラで被写体像を撮像したときに、撮像手段である撮像素子１４で画像データを得る。このデジタルカメラでは、画像データに基づいて、撮像した被写体像を表示手段である表示部２８に表示可能に構成されている。
【０１１１】
このとき、ユーザは、指定手段としてのタッチパネルから追尾処理を行いたい被写体を指定するタッチ入力を行う。
【０１１２】
このタッチ入力で指定された被写体に基づいて、追尾手段を兼ねるシステム制御回路５０は、指定手段で指定された被写体の追尾を行う追尾領域を設定する。
【０１１３】
また、このデジタルカメラでは、顔検出部１０１が表示部２８に表示中の画像から人物の顔を検出する。
【０１１４】
このデジタルカメラでは、制御手段としてのシステム制御回路５０が、指定手段で指定された被写体が、人物の顔であるか又は物体であるかを、顔追尾判定処理によって判別する。
【０１１５】
また、この顔追尾判定処理では、追尾領域を始めに設定する際の第１の設定条件と、追尾領域が設定されている状態で適用される第２の設定条件とに照らして、追尾領域を設定する。
【０１１６】
この顔追尾判定処理では、追尾領域を始めに設定する際の第１の設定条件を、例えば、所定期間内に一度でも所定範囲内に位置したことに設定する。
【０１１７】
また、この顔追尾判定処理では、第２の設定条件を、例えば、追尾領域設定手段により設定された追尾領域と顔検出手段により検出された顔の位置とが所定範囲内に位置することが所定回数以上あったことに設定する。
【０１１８】
この制御手段としてのシステム制御回路５０は、指定された被写体が人物の顔であると判定した場合に、第２の追尾処理である顔追尾処理を実行する。
【０１１９】
また、システム制御回路５０は、被写体が物体であると判定した場合に、第１の追尾処理である物体追尾処理を実行する。
【０１２０】
そして、制御手段としてのシステム制御回路５０は、物体追尾処理を実行しているときに、顔追尾判定処理によって追尾領域を含む所定の範囲内で顔検出手段としての顔検出部１０１が人物の顔の検出を行う。このとき、システム制御回路５０は、顔検出部１０１が人物の顔を検出した回数が閾値以上となったと判定した場合に、物体追尾処理から顔追尾処理に切り替えて制御する。
【０１２１】
これにより、このデジタルカメラでは、人物の横顔を追尾対象として指定されていた場合でも、人物の正面の顔を追尾対象に切り替えて適切に顔追尾処理を実行できる。
【０１２２】
また、例えば図７に示すように、物体追尾中に顔検出された顔が一時的に近くに近づいたり、横切ったりする場合がある。このような場合には、上述の制御によって、物体追尾処理から顔追尾処理へ切り替わることは無く、物体追尾を続行するようにできる。
【０１２３】
すなわち、この図７の場合には、システム制御回路５０が物体追尾処理を実行しているときに、顔追尾判定処理によって撮影された画像データから顔検出部１０１が人物の顔の検出が行われる。このとき、システム制御回路５０は、顔検出部１０１が、人物の顔を追尾領域を含む所定の範囲内で検出したときの顔の検出回数である至近顔存在回数をカウントする。これと共に、システム制御回路５０は、顔検出部１０１が、人物の顔を追尾領域を含む所定の範囲外で検出したときの顔の検出回数である至近顔不在回数をカウントする。
【０１２４】
そして、システム制御回路５０は、追尾領域を含む所定の範囲外で顔検出部１０１が人物の顔を検出した回数である至近顔不在回数が所定回数以上か判定する。この判定により、至近顔不在回数が所定回数以上と判定された場合には、システム制御回路５０は、物体追尾処理を続行するよう制御する。
【０１２５】
これにより、このデジタルカメラでは、ユーザが物体追尾を指定しているときに、この追尾中の物体を人物が横切っても、物体追尾の状態を維持することができる。
【０１２６】
ここで、顔追尾判定処理において、追尾領域を始めに設定する際の第１の設定条件（ステップＳ４０６〜Ｓ４０８）と、追尾領域が設定されている状態で適用される第２の設定条件（ステップＳ４０９〜Ｓ４２１）を異ならせている理由について説明する。
【０１２７】
上述したように、指定した人物が横を向いていたり、後ろを向いていたりした場合で、周囲が暗い場合等には、画面の中から正しく顔を検出できない場合がある。しかしながら、ユーザが主被写体としようとしている人物が、追尾開始時からしばらくの間、顔検出できないような状況にあることは一般的には考えにくい。
【０１２８】
つまり、主被写体であるならば、追尾開始時から比較的短い時間の間に、顔検出に一度ぐらいは成功するはずである。これは言い換えれば、追尾開始時から比較的短い時間の間に一度も顔検出できなかった場合は、人物以外が主被写体として選択されている可能性が高いと考えることができる。そのため、追尾開始後に所定時間経過した後に適用される第２の設定条件は、第１の設定条件よりも顔追尾処理に移行する条件を厳しく設定している。
【０１２９】
なお、第１の設定条件および第２の設定条件は、上記実施形態に限られるものではない。例えば、追尾領域の所定距離内における最至近顔領域の連続検出回数や、追尾領域の所定距離内における最至近顔領域の検出頻度の閾値を、第２の設定条件のみに追加してもよい。あるいは、所定期間内における最至近顔領域の移動軌跡と追尾領域の移動軌跡の相関の閾値を、第２の設定条件のみに追加してもよい。
【０１３０】
また、設定条件として、第２の設定条件の閾値を第１の設定条件の閾値よりも厳しい値に設定してもよい。例えば、追尾領域の所定距離内における最至近顔領域の検出回数の閾値や、追尾領域の所定距離内における最至近顔領域の連続検出回数の閾値を、第２の設定条件では第１の設定条件よりも高い値に設定することが考えられる。あるいは、追尾領域の所定距離内における最至近顔領域の検出頻度の高さの閾値や、所定期間内における最至近顔領域の移動軌跡と追尾領域の移動軌跡の相関の高さの閾値を、第２の設定条件では第１の設定条件よりも高い値に設定することが考えられる。あるいはこれら各条件を組み合わせてもよい。
【０１３１】
すなわち、第１の設定条件よりも第２の設定条件のほうが、顔追尾処理に移行しにくく設定されるのであればよく、種々の条件を適用することが可能である。
【０１３２】
また、上記実施形態では、ユーザが追尾対象とする被写体を指定する指定手段として、操作部７０に含まれるタッチパネルを例にあげたが、これに限られるものではない。操作部７０に含まれるダイアルや十字キーを指定手段として構成しても構わない。あるいは、動画像を取り込んだパーソナルコンピュータのアプリケーション上で上述した追尾処理を行う場合であれば、カーソルで追尾対象とする被写体を指定したり、キーボードにて追尾対象とする被写体が存在する画面上の領域を指定したりしても構わない。
【０１３３】
また、上記実施形態では、顔検出部１０１の例として、表示画像データから顔領域を検出する例をあげたが、撮像素子１４にて生成された信号から、表示画像データとは別に、表示画像データよりも解像度を低くした顔検出用の画像データを生成しても構わない。
【０１３４】
また、物体追尾処理の例として、輝度情報と色情報のいずれかを選択し、選択した情報の相関を用いて、新たな画像データから追尾領域を検出する構成を例にあげたが、これに限られるものではない。輝度情報と色情報の両方の相関の総和から新たな追尾領域を求める構成としてもよいし、輝度情報と色情報の一方のみを用いて新たな追尾領域を求めるようにしてもよい。すなわち、画像間の相関の高い領域を検出し続けることで、追尾領域を更新する構成であればよい。
【０１３５】
さらに、上記実施形態は撮影時に限らず、すでに撮影された動画像に対して、パーソナルコンピュータのアプリケーション上で上述した主被写体の追尾処理を行うように構成しても良い。主被写体を追尾することで、この主被写体を中心とした輝度調整や色調整を動画像に対して行うことが可能となる。もちろん、デジタルカメラやデジタルビデオカメラにて撮影された動画像を再生する場合でも同様である。
【０１３６】
なお、本発明は上述したこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲で種々の形態を取り得ることは勿論である。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又はソフトウェアが記憶された各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１３７】
１８  タイミング発生回路
２２  メモリ制御回路
５０  システム制御回路
７０  操作部
１０１  顔検出部
１０２  画像比較部
【図１】
0005562479.tif 000002
【図２】
0005562479.tif 000003
【図３】
0005562479.tif 000004
【図４】
0005562479.tif 000005
【図５】
0005562479.tif 000006
【図６】
0005562479.tif 000007
【図７】
0005562479.tif 000008