(57)【要約】【課題】誤追尾の発生を低減可能にすることを課題とする。【解決手段】画像処理装置（４０）は、複数の画像から、特定の顔に含まれる一方の眼を探索して追尾する追尾手段と、追尾の対象となる一方の眼を追尾手段が画像から探索するエリアを、追尾の対象になされていない他方の眼の位置に基づいて制限する設定手段と、を有する。【選択図】図１
2019197295.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像から、特定の顔に含まれる一方の眼を探索して追尾する追尾手段と、
前記追尾の対象となる前記一方の眼を前記追尾手段が前記画像から探索するエリアを、前記追尾の対象になされていない他方の眼の位置に基づいて制限する設定手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記追尾手段は、
画像から特定の顔を検出する顔検出手段と、
前記検出された前記特定の顔から前記一方の眼を検出する器官検出手段と、を有し、
前記複数の画像から前記一方の眼の位置を検出して前記追尾を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記複数の画像は所定の時間間隔ごとに順に撮影された画像であり、
前記顔の検出と前記眼の追尾は並行して行われ、
前記器官検出手段は、前記追尾する前記眼の位置を、一つ前の時間間隔で撮影された画像から検出された前記顔および眼の位置に基づいて決定することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記追尾手段は、前記追尾の対象となる前記一方の眼の決定がなされたことに応じて、前記追尾の処理を発動することを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記追尾の対象となる前記一方の眼の決定は、前記特定の顔からの前記一方の眼の検出、または、前記特定の顔に対して前記一方の眼を指定する操作に応じて行われることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記設定手段は、前記追尾の対象になされていない前記他方の眼の中心から、前記追尾の対象となる前記一方の眼が存在しない側を、前記探索を制限するエリアとすることを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記設定手段は、前記追尾の対象となる前記一方の眼と前記追尾の対象になされていない前記他方の眼との間の間隔を基に、前記探索するエリアを制限することを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項８】
前記設定手段は、前記追尾の対象となる前記一方の眼を中心とし、前記一方の眼と前記他方の眼との間の間隔を所定倍したエリアを、前記探索するエリアとすることを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記追尾手段は、前記探索するエリアから二つの眼が探索された場合、前記追尾の対象として設定された眼が左右のいずれの眼であったかに基づいて、前記探索された二つの眼のいずれを追尾するかを決定することを特徴とする請求項１から８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記設定手段は、特定の顔の一方の眼が前記追尾の対象として設定された場合、別の顔の眼の位置に基づいて、前記探索するエリアを制限することを特徴とする請求項１から９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記設定手段は、前記顔の位置と大きさに基づいて前記探索するエリアを制限することを特徴とする請求項１から１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記設定手段は、前記画像の解像度を低くして前記顔の検出が行われる場合、前記探索するエリアの解像度を、前記低くした解像度よりも相対的に高い解像度とすることを特徴とする請求項１から１１のいずれか１項に記載の画像処理装置。
【請求項１３】
画像処理装置が実行する画像処理方法であって、
複数の画像から、特定の顔に含まれる一方の眼を探索して追尾する追尾工程と、
前記追尾の対象となる前記一方の眼を前記追尾工程で前記画像から探索するエリアを、前記追尾の対象になされていない他方の眼の位置に基づいて制限する設定工程と、
を有することを特徴とする画像処理方法。
【請求項１４】
コンピュータを、請求項１から１２のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の被写体等を検出して追尾する技術に関する。
【背景技術】
【０００２】
近年のデジタルカメラは、撮像素子から得られた画像データから被写体の検出及び追尾を行い、その被写体に対してピント、明るさ、色を好適な状態に合わせて撮影する機能を有することが一般的になっている。検出対象となる被写体として一般的なものとしては、人物の顔や人体、あるいは犬猫などの特定の動物などが知られている。さらに、検出した被写体の特定の部位を検出する技術として、顔の中の眼、鼻、口といった器官検出がある。器官検出の代表的な使用用途としては瞳ＡＦ（オートフォーカス）がある。ニーズとして、人間を含む生物を撮影する際に、顔に対してピントが合っていることが求められ、特に顔の中の眼に対してピントが合っていることが求められている。
【０００３】
顔検出機能と器官検出機能は、別機能として装置に搭載されていることが想定される。例えば顔検出機能では画面内から複数の顔候補を検出することが可能であり、その複数の顔候補の中からＡＦ対象となりうる顔を選択・決定することが可能となる。また、ＡＦ対象として選択された顔を含む顔エリアを器官検出機能に投入し、より詳細に解析することで器官を検出することが可能となる。このように、顔検出機能と器官検出機能を別機能とした場合、それらの実行の順序関係がおのずと決定され、さらに器官検出に要する時間によっては、顔検出実行時との時間的な乖離が発生することがある。これに対し、特許文献１には、顔検出と器官検出の実行時間差による位置ズレを補正演算により解決する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１９８８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術では、器官検出に要する時間が長いことを前提とし、その間に発生する実際の被写体位置移動については補間演算により対応している。しかしながらこの場合、あくまで演算による位置算出であり、実際の被写体の位置とは異なる場合がある。別の手法として、時間がかかる検出処理を行わず、被写体を追尾することで位置ズレを少なくする手法もある。例えば、テンプレートマッチング手法を用いた汎用的な物体追尾処理を行い、ある時点での器官位置を含む画像エリアをテンプレートとして作成し、次フレーム以降はテンプレートと類似するエリアを探索するパターンマッチングを行う手法が挙げられる。
【０００６】
しかしながら、テンプレートマッチングは、画像内に存在する類似パターンを探索する手法であるため、本来検出したい被写体に類似している別の被写体を誤って追尾してしまう場合がある。例えば、追尾対象として人物の眼を想定した場合には、特に誤追尾が生じ易くなる。人物の眼は、追尾対象となされた眼と追尾対象ではないもう一方の眼とは類似しており、また近接した位置関係で配置されているため、追尾対象ではない方の眼を誤って追尾してしまうような誤追尾のリスクが高い状態で追尾が行われてしまう可能性が高い。また多くの場合、眼は小さいため追尾のための領域として十分な解像度が得られず、マッチング精度が不足して誤追尾が発生する場合がある。
【０００７】
そこで、本発明は、誤追尾の発生を低減可能にすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の画像処理装置は、複数の画像から、特定の顔に含まれる一方の眼を探索して追尾する追尾手段と、前記追尾の対象となる前記一方の眼を前記追尾手段が前記画像から探索するエリアを、前記追尾の対象になされていない他方の眼の位置に基づいて制限する設定手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、誤追尾の発生を低減可能にとなる。
【図面の簡単な説明】
【００１０】
【図１】実施形態のデジタルカメラの概略構成を示すブロック図である。
【図２】実施形態のデジタルカメラの概略外観図である。
【図３】顔検出と器官検出の概要説明に用いる図である。
【図４】撮像〜追尾の処理タイミングとテンプレートマッチングの説明図である。
【図５】静止画撮影、被写体の検出と追尾のシーケンスを示す図である。
【図６】テンプレートマッチングによる眼の追尾と課題の説明図である。
【図７】追尾探索エリアの一例を示す図である。
【図８】追尾探索エリアの他の例を示す図である。
【図９】被写体またはカメラ移動時の追尾処理を説明する図である。
【図１０】別人物を考慮した追尾探索エリアの設定例を示す図である。
【図１１】追尾に用いる高解像の画像の説明図である。
【図１２】本実施形態のデジタルカメラの全体の処理のフローチャートである。
【図１３】検出および追尾処理のフローチャートである。
【図１４】追尾探索エリアを決定する処理のフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の好ましい実施形態を、添付の図面に基づいて詳細に説明する。
図１は、本実施形態の画像処理装置の一適用例である撮像装置（デジタルカメラ、以下、カメラ１００とする。）の概略的な構成を示した図である。
レンズ１０は外光を集光して光学像を撮像部２０に結像させる。
メカ駆動回路１６は、レンズ１０を光軸方向に沿って駆動することで焦点調節や画角調節（ズーム動作）を行う。またメカ駆動回路１６は、カメラブレに応じてレンズを光軸方向以外にも駆動することで手ぶれ補正を行うことも可能である。なお、手ぶれ補正は撮像部２０を動かすことでも同様に実現可能である。手ぶれ補正を行う場合、システム制御部４２は、例えば図示しない加速度センサや角速度センサ等の検出出力を基にカメラ１００のぶれを検出し、そのカメラ１００のぶれを相殺するような公知の補正制御を行う。
【００１２】
絞り１３は口径を変化させる。ＮＤフィルター１４は光透過量を調節する。メカシャッター１２は全閉により遮光する。これら絞り１３、ＮＤフィルター１４、メカシャッター１２は光量調節機構として設けられており、用途に応じて使い分けられ、レンズ１０を通過した光の光量を調節する。
発光制御回路３２は、システム制御部４２による制御の下、ストロボユニット３０の発光駆動および発光の制御を行う。
【００１３】
レンズ１０、光量調節機構（１２，１３，１４）を通過した光は、撮像部２０により受光される。撮像部２０は、撮像駆動回路２２からの駆動指示により動作し、撮像素子への露光、露光時間の調節、露光した撮像信号の読み出し、読み出した撮像信号の増幅または減衰、撮像信号のＡ／Ｄ変換などを行う。撮像部２０から出力された撮像データは、画像処理部４０に入力されるか、あるいはＲＡＭ４６に一時的に記憶される。
【００１４】
画像処理部４０は、撮像部２０から直接入力された撮像データ、あるいはＲＡＭ４６を経由して入力された撮像データに対し、画像処理や画像解析など様々な処理を行う。撮影時の露出合わせ（ＡＥ：Auto Exposure）やピント合わせ（ＡＦ：Auto Focus）の際には、画像処理部４０は、撮像部２０から順次出力される撮像データから輝度成分や周波数成分を抽出してシステム制御部４２に出力する。システム制御部４２は、画像処理部４０からの輝度成分や周波数成分を評価値として用い、メカ駆動回路１６や撮像駆動回路２２を介してＡＥ，ＡＦ動作を制御する。
【００１５】
また画像処理部４０は、撮像部２０から取得した撮像データを現像処理して画質を調節することができ、色合い、階調、明るさ、などを適切に設定して鑑賞に適した写真の画像データを生成する。画像処理部４０は、入力された画像の一部の切り出しや、画像の回転、画像の合成などの、各種画像処理を行うこともできる。
【００１６】
また画像処理部４０は、入力された画像から、例えば特定の被写体を検出する被写体検出処理、被写体を構成している各構成要素のうち特定の構成要素を検出する要素検出処理、複数の画像から特定の被写体や構成要素を追尾する追尾処理を行うこともできる。画像から検出する特定の被写体としては、例えば人物の人体や顔、犬猫などの特定の動物などを挙げることができる。また特定の被写体の構成要素としては、例えば顔を構成している眼、鼻、口といった器官を挙げることができる。また画像処理部４０は、入力画像から例えば人物の顔などを検出した場合、その画像内における人物の顔の位置、大きさ（サイズ）、傾き、顔の確からしさ情報などを得ることができる。また画像処理部４０は、検出した人物の顔エリアを詳細に解析して顔の構成要素である眼、鼻、口といった器官を検出した場合、それら各器官の位置、大きさ、傾き、各器官の確からしさを検出できる。さらに画像処理部４０は、例えば眼の特徴を解析することにより、瞳の位置、視線の方向等を検出するようないわゆる視線検出処理も行うことができる。
【００１７】
表示装置５０は、液晶デバイス（ＬＣＤ）などからなり、例えば画像処理部４０で現像処理された画像を表示したり、文字やアイコンを表示したりすることができる。文字やアイコンの表示により、カメラ１００のユーザ（使用者）に対して、各種情報の伝達が可能となる。また表示装置５０にはタッチパネルも設けられている。
【００１８】
操作部４４は、カメラ１００のユーザにより操作され、このユーザ操作情報がシステム制御部４２に入力される。システム制御部４２は、操作部４４からのユーザ操作情報に基づいて、例えばカメラ１００の各部への電源投入、撮影モード切り替え、各種設定、撮影の実行、画像の再生など、カメラ１００の各部の動作や信号処理を制御する。
【００１９】
外部メモリＩ／Ｆ５２は、不図示のメモリソケット等を介して外部メモリ９０が挿入され、その外部メモリ９０とカメラ１００とを接続する。カメラ１００は、外部メモリＩ／Ｆ５２を介して外部メモリ９０と接続することにより、画像の授受やプログラムの取得等を行うことができる。
【００２０】
外部機器Ｉ／Ｆ５４は、不図示の接続コネクタや無線通信等を介して外部機器９２とカメラ１００とを接続する。カメラ１００は、外部機器Ｉ／Ｆ５４を介して外部機器９２と接続することにより、画像の授受や互いの機器を動作させるコマンド情報などのやり取り、プログラムの取得等を行うことができる。
【００２１】
ＲＯＭ４８は書き換え可能な不揮発性メモリであり、カメラ１００の各種設定値やプログラムを格納している。ＲＡＭ４６は、撮像部２０にて撮像された画像データ、画像処理部４０による処理途中や処理後の画像データの一時記憶等を行う。また、ＲＡＭ４６には、ＲＯＭ４８から読み出されたプログラムが展開される。
【００２２】
システム制御部４２は、ＲＯＭ４８から読み出されてＲＡＭ４６に展開されたプログラムを実行し、カメラ１００の前述した各部の制御や各種演算等を行う。また、システム制御部４２は、ユーザにより表示装置５０の画面タッチがなされた場合、タッチパネルからのタッチ検知情報を基に、ユーザがタッチした座標を取得することもできる。
【００２３】
図２（ａ）と図２（ｂ）は、本実施形態のカメラ１００の概略的な外観図である。図２（ａ）はカメラ前面側を示し、図２（ｂ）はカメラ背面側を示している。図２（ａ）に示すように、カメラ前面側にはレンズ１０が配置されており、これによりカメラ１００は被写体像を撮像することができる。またカメラ前面側にはストロボユニット３０が配置されており、カメラ１００は、主被写体が暗い場合にストロボユニット３０を発光させることで十分な光量を得ることができ、暗い中でも速いシャッター速度を保ち、好適な画像を得ることができる。またカメラ１００には、図１に示した操作部４４における各操作部材２００，２０２，２１０，２２０，２２２，２２４，２２６，２２８が配されている。個々の説明は省略するが、各操作部材は、操作ボタンや操作スイッチ、操作レバー等からなり、それらユーザ操作に応じて、例えばカメラの電源投入、撮影モード切り替え、各種設定、撮影の実行、画像の再生などの機能が発動する。一例として、操作部材２００は電源ボタン、操作部材２０２はシャッターボタンである。
【００２４】
ここで、本実施形態のカメラ１００において、撮像部２０から得られた画像データを基に被写体を検出して追尾等を行い、その被写体に対してピント、明るさ、色を好適な状態に合わせて撮影する機能を有している。これら検出と追尾の対象は、撮影された画像から自動的に検出されてもよいし、例えば表示装置５０にライブビュー（ＬＶ）画像を表示している状態で、ユーザがタッチした座標に基づいて検出されてもよい。
【００２５】
以下、検出対象を顔およびその顔の中の構成要素である器官とし、例えば顔の中の器官を追尾対象として追尾する場合を挙げて、本実施形態のカメラ１００における検出機能及び追尾機能について説明する。
図３（ａ）〜図３（ｃ）は、画像処理部４０において顔の器官を検出する様子を説明するための図である。図３（ａ）は、複数の顔が写っている画像例を示しており、顔検出処理によって複数の顔エリア３０１，３１１，３２１が検出できている様子を表している。図３（ｂ）は、図３（ａ）の中の例えば顔エリア３０１に対する器官検出処理の実行により検出された各器官の検出結果を示している。器官検出処理は顔内部の特徴点を抽出することで顔内の各器官を検出する処理であり、顔内の代表的な器官である例えば眼、鼻、口等を検出する。器官検出処理では、各器官の端点を検出することも可能であり、例えば眼に関しては目尻、目頭、眼中心の３点を求めるなども可能となっている。図３（ｂ）では、器官検出処理によって顔内から検出された器官を含む器官エリアとして、眼エリア３０３及び３０５、鼻エリア３０７、口エリア３０９が検出された例を示している。
【００２６】
また本実施形態のカメラ１００は、顔の各器官の検出状況を表す検出スコアを生成することも可能となされている。検出スコアは、検出の信頼度、自信度と言い換えることもできる情報であり、その顔の人物自身の表情によって変化したり、環境光の当たり方などの外部要因によっても変化したりする。検出スコアは、高スコアであるほど正確な位置を検出できていることを表しており、低スコアの場合にはその位置情報の信頼性が低い、といった使い分けを行うことができる。なお、検出スコアは、例えば表示装置５０の画面上に表示等されてもよい。図３（ｃ）は、前述した顔エリア３０１として検出された顔において、その顔の各器官の状況変化、例えば表情の変化（眼や口の変化）に応じた検出スコア３６０の一例を示している。図３（ｃ）には、前述した顔エリア３０１と同じ表情の顔（３０１）の検出スコアが高く、顔３３１、顔３５１のように例えば眼と口の変化が大きくなるにつれて検出スコアが低くなっている例を示している。
【００２７】
図４（ａ）〜図４（ｃ）は撮影から追尾までの処理動作のタイミングとテンプレートマッチングの概念を説明するための図である。図４（ａ）は、撮像部２０の撮像素子における駆動信号ＶＤ４０１、露光期間４０３、読み出し期間４０５、画像処理部４０における画像生成期間４０７、追尾処理期間４０９のタイミング図である。撮像部２０は、駆動信号ＶＤ４０１の周期で駆動され、露光期間４０３と読み出し期間４０５の繰り返し動作により撮像データを出力する。そして、画像処理部４０は、撮像部２０から得られた撮像データに対し現像処理等を行い、画像生成期間４０７ごとに画像データを生成する。図４（ａ）の画像生成期間４０７において、例えば、画像生成期間［１］は、露光期間４０３の露光期間［１］で露光され、読み出し期間４０５の読み出し期間［１］で読み出された撮像データから画像が生成されることを表している。
【００２８】
また画像処理部４０は、画像生成期間４０７ごとに生成された画像データを用いたテンプレートマッチング処理により、追尾処理期間４０９ごとに追尾処理を行う。図４（ａ）の追尾処理期間４０９において、例えば追尾処理期間［１，２］は、画像生成期間［１］で生成された画像と画像生成期間［２］で生成された画像とを用いたテンプレートマッチングにより追尾処理が行われることを表している。図４（ｂ）は、例えば図４（ａ）の画像生成期間［１］で生成された画像４２１の一例を示した図である。また、図４（ｃ）は、例えば図４（ａ）の画像生成期間［２］で生成された画像４２３の一例を示した図である。追尾処理期間［１，２］では、図４（ｂ）の画像４２１内で追尾対象を含むエリアをテンプレート４３１として設定し、図４（ｃ）の画像４２３内でテンプレートを矢印方向に順次移動させながら画像差分を求めるサーチ動作４３３が行われる。テンプレートマッチングにおけるサーチ動作は、画像内でテンプレートを左上端から右方向に順次移動させ、右端に到達すると左端に戻すとともに１テンプレート分だけ下に移動させて左から右方向に順次移動させるようなこと繰り返す動作となされている。そして、図４（ｃ）の画像４２３内で画像差分が最も小さくなったマッチエリア４３５が探索されると、それが追尾対象の存在するエリアとして確定される。その後は、図４（ｃ）の画像４２３内で確定されたマッチエリア４３５が、次回の追尾処理期間［２，３］におけるテンプレートマッチングで用いるテンプレートに設定（つまりテンプレートが更新）される。追尾処理期間［３，４］以降についても同様の処理が繰り返し実行されることにより、連続的な追尾処理が実現される。
【００２９】
図５（ａ）と図５（ｂ）は、例えば短い一定の時間間隔ごとに静止画像を連続的に撮影する連写撮影等が行われる場合において、静止画の撮影や前述した顔及び器官検出・追尾処理等に要する各処理時間の一例を表したタイミング図である。
図５（ａ）は、静止画を撮影する静止画撮影期間５１１と次の静止画撮影期間５１２との間に、ＡＦ用のＬＶ画像を取得するＬＶ期間５１３と、ＬＶ画像から被写体等を検出する検出期間５２１と、ＡＦ動作を行うＡＦ期間５１５とが存在する例を示している。検出期間５２１では、ＬＶ期間５１３で取得されたＬＶ画像から顔や器官を検出する処理が行われ、ＡＦ期間５１５では、検出期間５２１で検出された顔や器官をＡＦ対象としたＡＦ動作が行われる。図５（ａ）のタイミング図において、顔や器官の検出処理にはある程度以上の処理時間がかかり、このため、検出期間５２１は、連写撮影に必要な高速なコマ速（連写速度）を実現する際の律速となっている。
【００３０】
図５（ｂ）は、静止画撮影期間５３１と次の静止画撮影期間５３２との間に、ＬＶ期間５１３と、マッチング処理によって追尾処理が行われる追尾期間５４１と、ＡＦ期間５３５とが存在する例を示している。一般に、顔や器官の検出処理は複雑度が高く処理時間が長くなるのに対し、シンプルなマッチング処理を用いた追尾処理は短時間で終えることができる。このため、図５（ｂ）の例のように追尾期間５４１で行われる追尾結果を用いてＡＦ動作を行うようにすれば、図５（ａ）の例よりも高速なコマ速の連写撮影が可能になると考えられる。
【００３１】
しかしながら、図５（ｂ）のように顔や器官等の検出処理を行わずに追尾処理のみを続けていくと、例えばマッチング処理で用いるテンプレートとは類似しているが本来の追尾対象とは異なっているエリアを、誤って追尾してしまうことが生ずる懸念がある。このような誤追尾は、例えば追尾対象に設定されている器官の周囲に、その追尾対象の器官と類似した別の器官等が存在しているような場合に特に起こり易い。一例として、顔の器官のうち左右の眼は近接して配置しているとともに、それらの特徴（形状等）は類似しているため、例えば右眼が追尾対象に設定されている場合に、左眼の方を追尾してしまうような誤追尾が生ずることがある。また例えば、画像内に複数の人物の顔が存在しており、ある特定の人物の眼が追尾対象に設定されているような場合に、別の人物の眼を誤追尾してしまう虞もある。その他にも、顔内で占める面積が小さい眼の場合、追尾のための領域として十分な解像度が得られずに、マッチング精度の不足による誤追尾が発生することもある。
【００３２】
図５（ｃ）は、本実施形態のカメラ１００において連写撮影が行われる場合に、静止画の撮影と顔及び器官等の検出と追尾処理等の際の各期間を表したタイミング図である。図５（ｃ）に示すように、静止画撮影期間５５１と次の静止画撮影期間５５２との間には、ＬＶ期間５１３と、追尾期間５６１及び検出期間５６５と、ＡＦ期間５５５とが存在する。つまり、図５（ｃ）の場合、追尾期間５６１の追尾処理と検出期間５６５の検出処理とは並行して行われ、検出処理とともに追尾処理が発動されている。ＡＦ期間５５５では、追尾期間５６１の追尾結果を基にＡＦ動作が行われる。検出期間５６５では、ＬＶ期間５５３で取得されたＬＶ画像から顔や器官を検出する処理が行われる。ただし、図５（ｃ）の例の場合、検出期間５６５による検出結果は、次の静止画撮影期間５５２の後の追尾期間５６３の追尾処理に用いられる。図５（ｃ）の場合、検出期間５６５の検出処理の終了を待たず、追尾期間５６１の追尾結果を用いてＡＦ期間５５５のＡＦ動作が行われるため、高速なコマ速の連写撮影が可能となる。また図５（ｃ）の場合、静止画撮影期間５５１の後の検出期間５６５における検出結果が、次の静止画撮影期間５５２後の追尾期間５６３の追尾処理に用いられるため、誤追尾の虞が少ない高い精度の追尾処理が可能となる。すなわち図５（ｃ）の場合、図５（ａ）で述べた処理時間による律速と図５（ｂ）で述べた誤追尾との、両方の問題を解決可能であり、高速なコマ速による連写を実現しつつ高精度な検出結果を反映した追尾処理を実現できる。
【００３３】
本実施形態のカメラ１００では、図５（ｃ）に示したように、一つ前の静止画撮影期間後の検出処理で得られた検出結果が、次の静止画撮影期間後の追尾処理に用いられる。このため、追尾処理の際には、以下に説明するように、一つ前の検出処理で取得した検出結果を基に、次の追尾処理時に探索するエリア（追尾探索エリアとする）を制御することができ、誤追尾発生の低減と処理時間の短縮が可能となる。
【００３４】
本実施形態に係る追尾探索エリア制御の詳細を述べる前に、図６（ａ）及び図６（ｂ）を参照して、例えば人物の眼が追尾対象となっている場合の一般的な追尾処理とその問題点について説明する。
図６の画像６０１は連写撮影で取得された画像の一例であり、その画像内には人物の顔６１１が写っているとする。そして、この画像６０１からは、顔６１１の追尾対象となされる主器官として例えば一方の眼６１３が設定され、その眼６１３を含む矩形のエリアがテンプレート６５１として設定されているとする。例えば、画像６０１の顔６１１に対する器官検出処理により、顔６３１内の眼、口、鼻等の各器官の中で、追尾対象になり得る眼６１３が自動的に選択され、その選択された眼６１３を含むエリアがテンプレート６５１として設定される。また、テンプレート６５１は、ユーザからの指定の操作に応じて設定されてもよい。この場合、ユーザにより画像６９１の顔６１１の中の眼６１３を指定する操作が行なわれた時に、その指定された眼６１３を含むエリアがテンプレート６５１として設定される。そして、眼を追尾する追尾処理は、テンプレート６５１の設定が行われたことに応じて発動されることになる。
【００３５】
図６の画像６２１は、連写撮影によって、画像６０１の次に撮影された画像例を示しており、同じ人物の顔６３１が写っているとする。追尾処理の際のテンプレートマッチングでは、前の画像６０１で設定されたテンプレート６５１を、画像６２１内で矢印方向に順次移動させるサーチ動作６７１が行われる。ここで、画像６２１の中に、テンプレート６５１の眼６１３に対応した眼６３３が存在する場合、サーチ動作６７１によって、その眼６３３を含むエリアがマッチエリア６５３として検出されることになる。そして、画像６２１から検出されたマッチエリア６５３は、連写撮影により取得される次の画像に対するテンプレートとして設定される。このように、眼を追尾する追尾処理は、連写撮影により順次取得された画像から検出されたマッチエリアを、次の画像のテンプレートとするような処理が繰り返されることで行われる。
【００３６】
ここで、一般的なテンプレートマッチングでは、サーチ動作６７１が画像６２１の全面に対して行われるため、図６の画像６２１からは、画像６０１の眼６１３に類似した眼６３５を含むエリアについても、マッチエリア６５５として検出されることがある。つまり、人間をはじめとする様々な生物は左右二つの眼を持つことが一般的であり、左右の眼の特徴は類似しているため、例えば一方の眼を含むエリアをテンプレートとした場合、左右の眼の両方についてマッチングが成立してしまうことがある。このように、例えば一方の眼のみを追尾対象としているのにも関わらず、左右両方の眼が追尾対象として認識されてしまうと、追尾対象ではない方の眼を追尾してしまうような誤追尾が生じることがある。
【００３７】
図７（ａ）と図７（ｂ）は、図６で説明したような誤追尾発生を低減可能とする本実施形態に係る追尾探索エリア制御の例を説明するための図である。
図７（ａ）の画像７１１は連写撮影で取得された画像の一例であり、その画像内には人物の顔７１２が写っているとする。この画像７１１からは顔７１２内の器官として例えば一方の眼７１３が検出され、その眼７１３を含む矩形のエリアがテンプレート７１５として設定されたとする。このとき、画像処理部４０は、もう一方（他方）の眼７１４の例えば中心の位置７１６をも検出して、例えばＲＡＭ４６に一時記憶する。位置７１６は、例えば前述した図５（ｃ）で示したように追尾期間５６１と並行して実行される検出期間５６５の器官検出処理によって得られる位置情報を用いることができる。あるいは、眼７１４の位置７１６は、予め眼７１４に対して追尾処理を行い、その追尾処理で得られた位置情報を用いてもよい。位置７１６は画像７１１の例えば左上端を原点とするｘ，ｙ座標で表されてもよいが、本実施形態の場合は少なくともｘ座標（ＥｙｅＸ）により表される位置であればよい。
【００３８】
図７（ａ）の画像７２１は、連写撮影によって、画像７１１の次に撮影された画像例を示しており、同じ人物の顔７２２が写っているとする。追尾処理の際のテンプレートマッチングでは、前の画像７１１で設定されたテンプレート７１５を、画像７２１内で順次移動させるサーチ動作が行われる。本実施形態では、画像７２１においてテンプレート７１５と類似するエリアを探索する際、前に撮影された画像７１１において一時記憶された位置７１６を基に、画像７２１に対して追尾探索を実行するエリア（追尾探索エリア７２７）を設定する。例えば画像処理部４０は、ＲＡＭ４６に一時記憶した位置７１６を基に、画像７２１に対して同じ位置７２５（ＥｙｅＸ）を設定し、その位置７２５から、画像７１１で追尾対象の眼７１３が存在していた側を、画像７２１の追尾探索エリア７２７として設定する。一方、その位置７２５から、画像７１１で追尾対象ではない眼７１４が存在していた側については、画像７２１の追尾探索エリア外７２６とする。図７（ａ）の画像７２１の場合、追尾対象でない眼７２４の中心を境界とし、追尾対象の眼７２３が存在する側が追尾探索エリア７２７となり、追尾対象でない眼７２４が存在する側が追尾探索エリア外７２６となる。このように追尾探索がなされるエリアを制限することで、追尾対象でない眼７２４つまり誤追尾のリスクが高い眼７２４は、追尾探索エリア７２７から除外されることになり、追尾対象でない眼７２４の誤追尾による追尾性能の低下を防ぐことができる。またこの図７（ａ）の例の場合、追尾探索エリア７２７は、前述した図６の例のように画像全体をサーチする場合よりもサーチエリアが狭くなるため、追尾処理に要する処理時間が短縮される効果も得られる。なお前述の例では、追尾探索エリア７２７と追尾探索エリア外７２６の両方を設定するとしたが、追尾探索エリア７２７のみを設定し、その追尾探索エリア７２７のみで追尾探索を行うようにしてもよい。または、追尾探索エリア外７２６のみを設定し、その追尾探索エリア外７２６以外で追尾探索を行うようにしてもよい。
【００３９】
なお、前述の例とは逆のケースとして、図７（ａ）の画像７１１で例えば眼７１４の方を追尾対象として設定した場合、一時記憶される位置は、もう一方（他方）の眼７１３の位置（ＥｙｅＸ）となされる。そしてこのケースの場合、画像７２１に対して、その一時記憶された位置を基に設定される追尾探索エリアは、画像７１１で追尾対象の眼７１４が存在していた側のエリアとなされる。一方、追尾探索エリア外は、画像７１１で追尾対象ではない眼７１３が存在していた側のエリアとなされる。つまりこの例の場合、画像７２１に対しては、追尾対象でない眼７２３の中心を境界とし、追尾対象の眼７２４が存在する側のエリアが追尾探索エリアとして設定され、追尾対象でない眼７２３が存在する側のエリアが追尾探索エリア外として設定される。この例の場合も、追尾対象でない眼７２３（誤追尾のリスクが高い眼）は追尾探索エリアから除外されることになり、当該追尾対象でない眼７２３が誤って追尾されてしまうことによる追尾性能の低下を防ぐことができる。
【００４０】
図７（ｂ）の画像７３１は連写撮影にて得られた画像例であり、画像内には人物の顔７３２が写っているとする。また、その画像７３１からは顔７３２内の器官として一方の眼７３３が検出され、その眼７３３を含むエリアがテンプレート７３５として設定されているとする。画像処理部４０は、追尾対象としての眼７３３と他方の眼７３４との間の間隔７３６（ΔＥｙｅＸ）を求めてＲＡＭ４６に一時記憶する。なお、間隔７３６は、前述した図５（ｃ）の検出期間５６５の器官検出処理で得られる位置情報を基に算出してもよいし、予め眼７３３と眼７３４に対する追尾処理を行って得た位置情報を基に算出してもよい。間隔７３６は画像７３１の例えば左上端を原点とするｘ，ｙ座標における差分座標として表されてもよいが、本実施形態の場合は少なくともｘ座標における差分座標（ΔＥｙｅＸ）により表してもよい。
【００４１】
図７（ｂ）の画像７４１は、連写撮影で画像７３１の次に撮影された画像例であり、同じ人物の顔７４２が写っているとする。この図７（ｂ）の例の場合、画像処理部４０は、画像７４１からテンプレート７３５と類似するエリアを探索する際、ＲＡＭ４６に一時記憶している間隔７３６を基に、画像７４１に対して追尾探索エリア７４８を設定する。例えば画像処理部４０は、一時記憶した間隔７３６を基に、画像７４１に対し、追尾対象の眼７４３の周辺のみに追尾探索エリア７４８を設定し、それ以外のエリアを追尾探索エリア外７４７として設定する。このときの追尾探索エリア７４８は、追尾対象の眼７４３を中心とした例えば矩形のエリアとする。また追尾探索エリア７４８は、一時記憶した間隔７３６つまり画像７４１における眼７４３と眼７４４との間の間隔７４６（ΔＥｙｅＸ）の、所定倍（例えば２倍）の幅（２ΔＥｙｅＸ）を有するエリアとする。このように、追尾探索エリア７４８を追尾対象の眼７４３の周辺のみに制限することで、追尾対象でない眼７４４つまり誤追尾のリスクが高い眼７４４は、追尾探索エリア７４８から除外されることになる。これにより、追尾対象でない眼７４４が誤って追尾されてしまうことによる追尾性能の低下を防ぐことができる。また図７（ｂ）の例の場合、追尾探索エリア７４８は、前述した図７（ａ）の追尾探索エリア７２７よりもさらに狭くなるため、追尾処理に要する処理時間がより短縮される効果も得られる。
【００４２】
なおこれとは逆の例として、図７（ｂ）の画像７３１で眼７３４の方が追尾対象として設定された場合、画像７４１に対して設定される追尾探索エリアは、画像７４１で追尾対象の眼７４４を中心としたエリアとなされ、それ以外が追尾探索エリア外となされる。この例の場合も、追尾対象でない眼７４３（誤追尾のリスクが高い眼）は追尾探索エリアから除外され、当該眼７４３が誤って追尾されてしまうことによる追尾性能の低下を防ぐことができる。
【００４３】
前述した図７（ａ）と図７（ｂ）がカメラをいわゆる横位置に構えて連写撮影がなされ例を挙げたが、カメラをいわゆる縦位置に構えて撮影が行われた場合にも前述同様の追尾探索エリアの設定制御は適用可能である。
図８（ａ）と図８（ｂ）は、カメラを縦位置に構えて連写撮影がなされた場合において、本実施形態に係る追尾探索エリア制御の例を説明するための図である。なお、図８（ａ）と図８（ｂ）の例には、カメラを横位置に構え、横になっている被写体（人物等）を撮影する場合も含まれる。
【００４４】
図８（ａ）は、カメラを縦位置に構えた状態の連写撮影で得られた画像に対し、前述の図７（ａ）で説明したのと同様の追尾探索エリア制御を適用する場合の例である。図８（ａ）の画像８１１は連写撮影で得られた画像例である。その画像内には人物の顔８１２が写っていて、例えば眼８１４を含むテンプレート８１５が設定されたとする。画像処理部４０は、もう一方の眼８１３の中心の位置８１６を検出してＲＡＭ４６に一時記憶する。この例の場合も、位置８１６は、前述の図７（ａ）で説明したのと同様の位置情報等を用いることができる。なお、位置８１６は、画像８１１のｘ，ｙ座標で表されてもよいが、少なくともｙ座標（ＥｙｅＹ）により表される位置であればよい。
【００４５】
図８（ａ）の画像８２１は、画像８１１の次に撮影された画像例であり、同じ人物の顔８２２が写っている。例えば画像処理部４０は、一時記憶した位置８１６を基に、画像８２１に対して同じ位置８２５（ＥｙｅＹ）を設定し、その位置８２５から、画像８１１で追尾対象の眼８１４が存在していた側を画像８２１の追尾探索エリア８２７として設定する。一方、その位置８２５から、画像８１１で追尾対象ではない眼８１３が存在していた側を、画像８２１の追尾探索エリア外８２６として設定する。図８（ａ）の例においても図７（ａ）と同様に、追尾対象でない眼８２３は追尾探索エリア８２７から除外されて、当該追尾対象でない眼８２３が誤って追尾されてしまうことによる追尾性能の低下を防ぐことができる。またこの図８（ａ）の場合も、追尾探索エリア８２７は、画像全体よりも狭いため、追尾処理に要する処理時間が短縮される効果も得られる。なお、図８（ａ）の例でも、画像８１１で例えば眼８１４の方を追尾対象として設定した場合も前述同様に追尾探索エリアを設定することで、誤追尾による追尾性能の低下を防ぐことができる。
【００４６】
図８（ｂ）は、カメラを縦位置に構えた状態の連写撮影で得られた画像に対し、前述の図７（ｂ）で説明したのと同様の追尾探索エリア制御を適用する場合の例である。図８（ｂ）の画像８３１は連写撮影で得られた画像例であり、その画像内は人物の顔８３２が写っていて、例えば眼８３４を含むテンプレート８３５が設定されたとする。画像処理部４０は、追尾対象として眼８３４と他方の眼８３３との間の間隔８３６を求めてＲＡＭ４６に一時記憶する。この例の場合も、間隔８３６は、前述の図７（ｂ）で説明したのと同様の位置情報等を基に算出してもよい。なお、間隔８３６は、画像８３１のｘ，ｙ座標の差分として表されてもよいが、少なくともｙ座標の差分座標（ΔＥｙｅＹ）により表してもよい。
【００４７】
図８（ｂ）の画像８４１は、画像８３１の次に撮影された画像例であり、同じ人物の顔８２４が写っている。この図８（ｂ）の例の場合、画像処理部４０は、ＲＡＭ４６に一時記憶している間隔８３６を基に、画像８４１に対して、追尾対象の眼８４４の周辺のみに追尾探索エリア８４８を設定し、それ以外を追尾探索エリア外８４７として設定する。また追尾探索エリア８４８は、一時記憶した間隔８３６、つまり画像８４１における眼８４２と眼８４４との間の間隔８４６（ΔＥｙｅＹ）の、例えば２倍の幅（２ΔＥｙｅＹ）を有するエリアとする。図８（ｂ）の例でも図７（ｂ）と同様に、追尾探索エリア８４８が追尾対象の眼８４４の周辺のみに制限されて、追尾対象でない眼８４３が誤って追尾されてしまって追尾性能が低下するのを防ぐことができる。またこの図８（ｂ）の場合、追尾探索エリア８４８は、図８（ａ）の追尾探索エリア８２７よりもさらに狭くなるため、追尾処理に要する処理時間がより短縮される効果も得られる。なお、図８（ｂ）の例でも、画像８３１で例えば眼８３３の方を追尾対象として設定した場合も前述同様に追尾探索エリアを設定することで、誤追尾による追尾性能の低下を防ぐことができる。
【００４８】
前述した説明では、連写撮影の際に被写体の人物位置が殆ど変化していない場合を例に挙げたが、例えば、連写撮影中に人物が移動等した場合やカメラの操作等によって各画像内で人物の位置が大きく変化することがある。この場合、図７（ａ）や図８（ｂ）の例において、或る時点で撮影された画像内の人物の眼の位置を基に、次に撮影された画像に対して追尾探索エリアを設定した際に、その追尾探索エリア内に左右の二つの眼が入ってしまうことがある。そして、追尾探索エリア内に左右の二つの眼が存在すると、それら二つの眼に対してマッチングが成立し、追尾対象ではない方の眼を誤って追尾してしまう虞がある。
【００４９】
図９（ａ）の画像９１１は、テンプレート作成から追尾探索エリア設定までの間に、人物の移動やカメラのパンニング等により顔９１２の位置が水平方向に大きく移動し、左右の眼９１３，９１４が追尾探索エリア９１８内に位置してしまった例を示している。図９（ａ）の例では、追尾探索エリア設定処理により追尾対象ではない眼を探索しないように追尾探索エリア外９１７を設定したにも関わらず、人物の水平移動やカメラのパンニング等により両方の眼９１３，９１４が追尾探索エリア９１８に入ってしまっている。この場合、両方の眼９１３，９１４に対してマッチングが成立するリスクが高くなり、誤追尾が生じ易くなる。
【００５０】
また図９（ｂ）の画像９２１は、人物の水平移動やカメラのパンニング等は略々無いが、カメラのズーミングによる焦点距離の変更や人物の奥行き方向の移動等により、顔９２２の両方の眼９２３，９２４が追尾探索エリア９２８に位置した例を示している。図９（ｂ）の例では、追尾探索エリア設定処理により追尾探索エリア外９２７が設定されたにも関わらず、カメラのズーミングや人物の奥行き方向の移動等により両方の眼９２３，９２４が追尾探索エリア９２８に入ってしまっている。この例の場合も、両方の眼９２３，９２４に対してマッチングが成立するリスクが高くなり、誤追尾が生じ易くなる。
【００５１】
これら図９（ａ）や図９（ｂ）のケースに対応するため、本実施形態では、追尾対象の眼が左右いずれの眼なのかを予め記憶し、追尾探索エリア内で二つのマッチングが成立した場合、その位置関係からどちらのマッチング位置が追尾対象の眼であるかを判定する。例えば、図９（ａ）において追尾対象が眼９１３であった場合、画像処理部４０は、その追尾対象の眼９１３が左右いずれの眼であるかを示す情報を例えばＲＡＭ４６に記憶させる。その後、追尾探索エリア９１８内で眼９１３と眼９１４の二つのマッチングが成立した場合、画像処理部４０は、それらマッチング位置９１５（ＥｙｅＸ１）とマッチング位置９１６（ＥｙｅＸ２）を算出し、それらの位置関係を求める。さらに、画像処理部４０は、それらマッチング位置９１５，９１６の位置関係と、ＲＡＭ４６に予め記憶しておいた情報とを基に、マッチング位置９１５，位置９１６のいずれが、追尾対象の眼の位置であるかを判定する。そして、画像処理部４０は、追尾対象の眼の位置であると判定したマッチング位置９１５を基に、眼の追尾を継続的に行う。同様に、例えば図９（ｂ）において追尾対象が眼９２３であった場合、画像処理部４０は、その追尾対象の眼９２３が左右にずれの眼であるかを示す情報を記憶する。その後、画像処理部４０は、追尾探索エリア９２８内で二つのマッチングが成立した場合、それらマッチング位置９２５（ＥｙｅＸ１）とマッチング位置９２６（ＥｙｅＸ２）の位置関係を求め、いずれの位置が追尾対象の眼の位置であるかを判定する。そして、画像処理部４０は、追尾対象の眼の位置であると判定したマッチング位置９２５を基に、眼の追尾を継続的に行う。
【００５２】
前述した例の他も、例えば画像内に複数の人物が写っているケースでも、追尾対象ではない方の人物の眼を誤って追尾してしまう虞がある。図１０の画像１００１は、二人の人物の顔１０１１と１０２１が写っている例を挙げている。図１０の画像１００１の例では、例えば顔１０２１の眼１０２３が、追尾対象に設定されているとする。この図１０の例の場合、追尾対象の眼１０２３に対し、同一人物の眼１０２５と、別人物の眼１０１３とが近接して位置しているため、同一人物の眼１０２５と別人物の眼１０１３をそれぞれ誤って追尾してしまうリスクが高い状態になっている。
【００５３】
図１０のように複数の人物が写っているケースの場合、画像処理部４０は、同一人物の顔１０２１については、前述同様にして追尾探索エリア１０２９と追尾探索エリア外１０２８を設定する。画像処理部４０は、追尾対象の眼１０２３の位置を基に追尾探索エリア１０２９を設定し、追尾対象でない方の眼１０２５の中心位置１０２７（ＥｙｅＸ２）を基に追尾探索エリア外１０２８を設定する。さらに、画像処理部４０は、図１０に示すように、別人物の顔１０１１の眼のうち、顔１０２１の追尾対象の眼１０２３に近い方の眼１０１３の中心位置１０１５（ＥｙｅＸ１）を基に、追尾探索エリア外１０３０を設定する。このように、別人物の顔１０１１の眼のうち、追尾対象の眼１０２３に近い方の眼１０１３について、追尾探索エリア外１０３０を設定することにより、誤追尾の発生を低減可能となる。
【００５４】
図９（ａ）及び図９（ｂ）と図１０の説明では、図７（ｂ）のように追尾探索エリアが設定された場合を例に挙げたが、図８（ｂ）のような追尾探索エリアが設定された場合にも同様に適用可能である。図８（ｂ）のような追尾探索エリアが設定された場合にも、被写体の移動やカメラ１００の移動等により追尾探索エリア内で二つの眼が存在したり、二人の人物の眼が入ったりする場合もある。例えば、追尾対象の眼が左右いずれの眼なのかを予め記憶しておき、図８（ｂ）のように設定された追尾探索エリア内で二つのマッチングが成立した場合、予め記憶した眼の位置関係からどちらのマッチング位置が追尾対象の眼であるかを判定すればよい。また図８（ｂ）の追尾探索エリア内に二人の人物の眼が存在するような場合、別人物の顔の眼のうち、追尾対象の眼に近い方の眼の中心位置（ＥｙｅＸ１）を基に、さらに追尾探索エリア外を設定すればよい。さらに、図９（ａ）及び図９（ｂ）と図１０で説明した追尾探索エリアの設定が組み合わされて行われてもよい。
【００５５】
また例えば、追尾対象となっていない他方の眼の位置が不明である場合には、顔検出により得られた顔の位置、顔の大きさ、顔の傾き等の少なくともいずれかを基に、追尾探索エリアを設定（追尾探索エリア外を設定）してもよい。すなわち、顔検出により顔の位置、顔の大きさ、顔の傾き等が既知であれば、追尾対象でない他方の眼の位置を推定できるため、その推定を基に、追尾探索エリア（追尾探索エリア外）を設定できる。
【００５６】
図１１は、被写体の検出および追尾の対象となされる画像１１１１の解像度を適応的に変化させた画像１１２２から、追尾対象の被写体を正確に追尾可能にする方法について説明する図である。一般に、撮像された画像１１１１から例えば人物の顔１１１３を検出するような場合、その画像１１１１内に含まれる全ての顔を検出する必要があるため、その画像１１１１の全体（広画角の画像全体）が顔検出のエリアとなされる。またこの時、撮像された画像１１１１の解像度を所定の解像度まで落とすリサイズ処理を行い、そのリサイズ処理後の画像１１２１を用いて顔エリア１１２３の検出処理を行うことで、検出処理にかかる時間を短くすることが多い。一方で、例えば眼等の追尾処理を行う際に、リサイズ処理された低解像度の画像１１２１の顔エリア１１２３を用いると、誤追尾が発生し易くなって充分な追尾性能が得られなくなることがある。このため、例えば眼の追尾処理を行う際、画像処理部４０は、図１１に示すように、撮像部２０にて撮像された高解像度の画像１１１１の中で顔１１１３が含まれるエリアを追尾探索エリア１１１５として設定する。つまり、追尾探索エリア１１１５は、画像１１２１よりも相対的に狭画角かつ高解像度の画像１１３１である。そして、画像処理部４０は、その追尾探索エリア１１１５の狭画角かつ高解像度の画像１１３１から顔エリア１１３３を検出して眼の追尾処理を行うようにする。これにより、画像処理部４０は、追尾対象の眼を確に追尾可能となる。
【００５７】
図１２、図１３、図１４は、本実施形態のカメラ１００において、システム起動、撮影画像に対する被写体検出及び追尾、追尾探索エリアの設定制御の各処理のフローチャートを示す。これら各フローチャートの処理は、ハードウェア構成により実行されてもよいし、ＣＰＵ等が実行するプログラムに基づくソフトウェア構成により実現されてもよく、一部がハードウェア構成で残りがソフトウェア構成により実現されてもよい。ＣＰＵ等が実行するプログラムは、例えばＲＯＭ４８等に格納されていてもよいし、外部メモリ９０等の記録媒体から取得されてもよく、或いは不図示のネットワーク等を介して取得されてもよい。以下の説明では、各処理のステップＳ１０１〜ステップＳ３１９をＳ１０１〜Ｓ３１９と略記する。
【００５８】
図１２は、本実施形態のカメラ１００におけるシステム起動後の全体の処理の流れを示したフローチャートである。
カメラ１００は、電源ボタン（２００）が押下されて主電源がオンされると、Ｓ１０１において図１２のフローチャートの処理を開始する。そして、Ｓ１０３において、カメラ１００ではシステム起動処理が行われる。ここでは、カメラシステムが動作するに必要なＣＰＵやＬＳＩ等への電源供給、クロック供給をはじめ、メモリやＯＳの初期化など、基本システムの起動が行われる。
【００５９】
次にＳ１０５において、システム制御部４２は、撮像部２０内のＣＣＤやＣＭＯＳ等の撮像素子の起動、メカ駆動回路１６を介してレンズ１０のフォーカスレンズやズームレンズ等の鏡筒系デバイスの起動を行う。これにより、メカシャッター１２や絞り１３が動作し、撮像部２０の撮像素子に外光が導かれる。また、システム制御部４２は、撮像駆動回路２２を介して撮像部２０の撮像素子や増幅器、Ａ／Ｄ変換器等の撮像系デバイスの駆動を開始する。
【００６０】
そしてこの状態で、システム制御部４２は、Ｓ１１３においてＡＥ駆動を開始し、Ｓ１１１においてＡＦ駆動を開始して、撮影対象に対して適切な明るさ、ピントになるように制御し続けていく。このときＳ２０１において、システム制御部４２は、画像処理部４０による被写体の検出および追尾処理も合わせて開始させる。また、システム制御部４２は、画像処理部４０にて検出および追尾されている被写体情報をＡＦやＡＥに利用することで、被写体のピントや明るさをより適切になるように調節することができる。またこれと同時期に、画像処理部４０では、表示装置５０に出力するライブ画像の現像処理も開始され、これにより撮影者はライブビュー映像を表示装置５０の画面上で確認することが可能となる。これはすなわちファインダー用途としての要件を満たした状態であり、撮影者は撮影対象を捕えて画角調節などのフレーミング作業を行うことができる。
【００６１】
次にＳ１２１において、システム制御部４２は、撮影者によって操作部４４のシャッターボタン（２０２）のいわゆる半押し操作（ＳＷ１がオン）がなされたか否かを判定する。システム制御部４２は、ＳＷ１がオンされていない場合（ＳＷ１Ｏｆｆ）にはＳ１１１、Ｓ１１３、Ｓ２０１に処理を戻し、ＳＷ１がオンされた場合（ＳＷ１Ｏｎ）にはＳ１２３においてＡＦに適した露出にするためのＡＦ用のＡＥ制御を行う。そして、システム制御部４２は、測距エリアが適切な明るさになった後（ＡＦに適した露出になされた後）、Ｓ１２５において、例えば静止画用のいわゆるワンショットＡＦ（One Shot AF）制御を行う。
【００６２】
さらにこの状態で、システム制御部４２は、例えば被写体が移動しているような場合、Ｓ１３３において被写体にＡＥを合わせ続けるサーボＡＥ、Ｓ１３１において被写体にピントを合わせ続けるサーボＡＦの制御を行う。また、この時のシステム制御部４２は、Ｓ２０２において被写体の検出および追尾も続ける。
【００６３】
次にＳＷ１のオンによる一連の撮影準備が終わった後、システム制御部４２は、Ｓ１４１において、シャッターボタン（２０２）の半押し操作が維持されているか否か、さらにいわゆる全押し操作（ＳＷ２がオン）がなされたか否かを判定する。システム制御部４２は、ＳＷ２がオンされずにＳＷ１のオン状態が維持されている場合（ＳＷ１Ｋｅｅｐ）にはＳ１３１、Ｓ１３３、Ｓ２０２に処理を戻す。一方、システム制御部４２は、ＳＷ２がオンされずにＳＷ１もオフされた場合（ＳＷ１Ｏｆｆ）には、Ｓ１１１、Ｓ１１３、Ｓ２０１に処理を戻す。これに対し、システム制御部４２は、ＳＷ１がオフされずにさらにＳＷ２がオンされた場合（ＳＷ２Ｏｎ）にはＳ１４３に処理を進める。
【００６４】
Ｓ１４３に進むと、システム制御部４２は、ＳＷ２の状態を基に、静止画撮影を実行するか、あるいはコマ間のライブビュー（ＬＶ）を実行するかどうかを判定する。そして、システム制御部４２は、静止画撮影を実行すると判定した場合、Ｓ１５１にて静止画撮影が実行されるように各部を制御した後、Ｓ１４１に処理を戻す。一方、システム制御部４２は、コマ間のライブビュー（ＬＶ）を実行すると判定した場合、Ｓ１７３においてサーボＡＥ、Ｓ１７１においてサーボＡＦ、Ｓ２０２において被写体の検出および追尾の制御を行った後、Ｓ１４１に処理を戻す。これにより、ＳＷ２がオンされた状態が続いている間は、静止画の連写撮影が続けられる。また本実施形態においては、ＳＷ１のオン状態が継続している時や連写による静止画撮影時のコマ間のライブビュー中に、被写体に対する追尾が継続される。
【００６５】
図１３は、図１２のＳ２０１、Ｓ２０２、Ｓ２０３における、被写体の検出および追尾処理の動作の詳細を示すフローチャートである。図１３のフローチャートは、図５（ｃ）で説明したタイミング図と略々等価な処理を実行するフローチャートである。図１３のフローチャートの処理は、システム制御部４２による制御の下で画像処理部４０により行われる。図１２のＳ２０１、Ｓ２０２、Ｓ２０３は同じ処理であるため、ここではＳ２０１について説明する。
【００６６】
画像処理部４０は、Ｓ２０１で図１３のフローチャートの処理を開始すると、先ずＳ２０３において、撮像部２０からの撮像データを用いて現像処理を行って画像データ（Ｆｒａｍｅ１とする）を生成する。そして、画像処理部４０では、Ｓ２０３の現像処理後の画像データを用いて、以下の追尾対象の検出処理と追尾処理を並行して実行する。Ｓ２１１からＳ２１９までは検出処理の流れを示し、Ｓ２３１からＳ２４９までは追尾処理の流れを示している。
【００６７】
先ず、Ｓ２１１からＳ２１９までの検出処理から説明する。画像処理部４０は、Ｓ２１１においてＦｒａｍｅ１の画像データを用いて顔検出を行い、次にＳ２１３において顔が検出されたか否かを判定する。そして、画像処理部４０は、顔が検出されていないと判定した場合にはＳ２１５に処理を進め、一方、顔が検出されたと判定した場合にはＳ２２１に処理を進める。
【００６８】
Ｓ２１５に進んだ場合、画像処理部４０は、検出結果が未確定であるとし、顔の位置及びサイズが不定であることを示す情報と、被写体（顔）が無いことを示す情報とを、ＲＡＭ４６に一時記憶させた後、後述するＳ２１７に処理を進める。
Ｓ２２１に進んだ場合、画像処理部４０は、検出結果を確定させ、その検出された顔の位置及びサイズの情報と、検出された被写体が顔であることを示す情報とを、ＲＡＭ４６に一時記憶させた後、Ｓ２２３に処理を進める。
【００６９】
Ｓ２２３に進むと、画像処理部４０は、検出された顔に対して器官検出処理を実行する。なお、検出された顔が複数存在する場合、画像処理部４０は、それら顔の中からＡＦ対象となる主被写体の顔を一つ決定して、その主被写体の顔に対して器官検出処理を実行する。
【００７０】
次にＳ２２５において、画像処理部４０は、Ｓ２２３で検出した器官の中で、眼（具体的には瞳）が検出されたか否か判定し、瞳が検出されていない場合にはＳ２１７に処理を進め、一方、瞳が検出されたと判定した場合にはＳ２２７に処理を進める。そして、Ｓ２２７に進むと、画像処理部４０は、検出された瞳の位置、サイズ、左右いずれの眼の瞳であるかを示す情報を、ＲＡＭ４６に一時記憶させた後、Ｓ２１７に処理進める。
【００７１】
Ｓ２１７に進むと、画像処理部４０は、前述したＳ２１５で一時記憶した情報、または、Ｓ２２７で一時記憶した情報、つまり顔の有無や器官の有無、顔や器官の位置やサイズ等の各種情報を、検出結果の情報として確定する。そして、Ｓ２１９において、それら検出結果の情報はアウトプット情報となされる。このＳ２１７とＳ２１９の後、画像処理部４０は、Ｓ２０３に処理を戻す。
【００７２】
次にＳ２３１からＳ２３９までの追尾処理について説明する。画像処理部４０は、Ｓ２３１において、追尾対象が確定済みであるか否かを判定する。この図１３のフローチャートでは、検出処理と連動して追尾処理が発動され、検出処理と追尾処理が並行して実行され、Ｓ２１７で一つ前の画像の被写体の検出結果の情報が確定していれば、その検出結果を起点として追尾処理が行われることになる。
【００７３】
次のＳ２３３において、画像処理部４０は、テンプレートを作成可能な画像が存在するか否かを判定する。ここで追尾処理は、少なくとも、現在と過去の２枚の画像を用いて実現されるため、顔の画像からテンプレートを作成できることが追尾処理実施の必要条件となる。このため、Ｓ２３３において、画像処理部４０は、Ｆｒａｍｅ１の画像データに対し、過去のＦｒａｍｅ０の画像データ、つまりテンプレートを作成可能な画像が存在するか否かを判定する。そして、画像処理部４０は、テンプレートを作成可能な画像が存在しないと判定した場合には後述するＳ２４３に処理を進め、一方、テンプレートを作成可能な画像が存在すると判定した場合にはＳ２３５に処理を進める。
【００７４】
Ｓ２３５に進むと、画像処理部４０は、Ｆｒａｍｅ１の画像データに対して過去のＦｒａｍｅ０の画像データからテンプレートを切り出した後、Ｓ２３６に処理を進める。
Ｓ２３６に進むと、画像処理部４０は、前述したような追尾探索エリアを設定する処理を行う。Ｓ２３６における追尾探索エリアの設定処理の詳細は、後述する図１４のフローチャートにおいて説明する。Ｓ２３６の追尾探索エリアの設定処理の後、画像処理部４０は、Ｓ２３７に処理を進める。
【００７５】
Ｓ２３７に進むと、画像処理部４０は、Ｆｒａｍｅ１の画像データについて、Ｓ２３６で設定された追尾探索エリア内でテンプレートを用いたマッチング処理による追尾処理を行う。また、Ｓ２３９において、画像処理部４０は、次回の追尾処理の際に使用するためのＦｒａｍｅ１の画像データを、過去のＦｒａｍｅ０の画像データとしてＲＡＭ４６に一時記憶させるような退避処理を行う。さらに、画像処理部４０は、Ｓ２４１において、Ｓ２３７のマッチング処理で最も画像差分が少ない位置を特定するマッチングが成立したか否かを判定する。
【００７６】
そして、画像処理部４０は、マッチングが成立していないと判定した場合にはＳ２４３に処理を進め、追尾結果が未確定であるとし、追尾対象の位置、サイズ、種類が不定であることを示す情報を、ＲＡＭ４６に一時記憶させた後、Ｓ２４７に処理を進める。
一方、画像処理部４０は、マッチングが成立したと判定した場合にはＳ２４５に処理を進め、追尾結果を確定させ、その追尾対象の位置、サイズ、種類を示す情報を、ＲＡＭ４６に一時記憶させた後、Ｓ２４７に処理を進める。
【００７７】
Ｓ２４７に進むと、画像処理部４０は、Ｓ２４３で一時記憶した情報、または、Ｓ２４５で一時記憶した情報、つまり追尾結果の有無や追尾対象の位置、サイズ、追尾対象の種類等の各種情報を、追尾結果の情報として確定する。そして、Ｓ２４９において、それら追尾結果の情報はアウトプット情報となされる。このＳ２４７とＳ２４９の後、画像処理部４０は、Ｓ２０３に処理を戻す。
【００７８】
図１４は、図１３のＳ２３６における追尾探索エリアの設定処理の詳細を示すフローチャートである。ここでは、顔の眼（瞳）が追尾対象となされている場合の例を示している。図１４のフローチャートの処理は、システム制御部４２による制御の下で画像処理部４０により行われる。
【００７９】
画像処理部４０は、Ｓ３１１で図１４のフローチャートの処理を開始すると、先ずＳ３１３において、現在の状態が瞳の追尾状態になっているか否かを判定する。そして、画像処理部４０は、瞳の追尾状態になっていると判定した場合にはＳ３１５に処理を進め、瞳の追尾状態になっていないと判定した場合にはＳ３１７に処理を進める。
【００８０】
Ｓ３１５に進むと、画像処理部４０は、顔内の左右二つの眼の瞳のうち、追尾対象となっている瞳が存在する側を追尾探索エリアとし、追尾対象でない瞳の側には追尾探索エリア外とするように設定した後、Ｓ３１７に処理を進める。このＳ３１５における追尾探索エリアの設定処理は、前述した図７（ａ）や図７（ｂ）、図８（ａ）や図８（ｂ）、図９（ａ）や図９（ｂ）を用いて説明した処理に相当する。
【００８１】
Ｓ３１７に進むと、画像処理部４０は、画像内に複数の人物の顔が写っているか否かを判定する。画像処理部４０は、画像内に複数の顔が写っていると判定した場合にはＳ３１９に処理を進め、一方、複数の顔が写っていない（顔は一つだけ）と判定した場合には図１４のフローチャートの処理を終了する。
【００８２】
Ｓ３１９に進んだ場合、画像処理部４０は、追尾対象の人物以外の別の人物の瞳を追尾探索エリアから除外するような追尾探索エリアの設定処理を行う。このＳ３１９における追尾探索エリアの設定処理は、前述した図１０で説明した処理に相当する。例えば、別人物の二つの眼（瞳）のうち、追尾対象の人物における追尾対象の眼（瞳）から近い方の眼（瞳）を除外するように追尾探索エリア外を設定することで、必然的に別人物の両方の眼を追尾するような誤追尾の発生を防ぐことができる。
【００８３】
以上説明したように、本実施形態によれば、追尾対象の眼とは異なる追尾対象ではない眼を外すように追尾探索エリアを制限することにより、眼のよう小さい被写体を高い精度で追尾可能となる。また、別人物の眼を追尾するような誤追尾を無くすことができ、追尾性能の向上を実現できる。
【００８４】
なお前述の例では、被写体として、顔の構成要素の一つである眼を追尾対象とした例を挙げたが、これには限定されない。一例として、追尾対象の被写体は人や動物だけでなく、走行中の自動車や電車等であってもよい。例えば、自動車や電車等の一方のヘッドライトなどのように、或る程度近接して配置されていて特徴（形状）が類似している少なくとも二つの構成要素のうち、一方を追尾対象として追尾する場合にも、本実施形態は適用可能である。
【００８５】
また前述の説明では、画像処理部４０において被写体の検出および追尾処理が行われる例を挙げたが、これらの処理はシステム制御部４２が本実施形態に係るプログラムを実行することにより実現されてもよい。また、一部が画像処理部４０により実行され、残りがプログラムを基にシステム制御部４２により実行されてもよい。
【００８６】
また本実施形態は、連写撮影だけでなく、動画撮影時における映像内で被写体を追尾する場合にも適用可能である。前述した実施形態では、画像処理装置の適用例としてデジタルカメラ等を挙げたが、この例には限定されず他の撮像装置にも適用可能である。例えば、カメラ機能を備えたスマートフォンやタブレット端末などの各種携帯端末、各種の監視カメラ、工業用カメラ、車載カメラ、医療用カメラなどにも本実施形態は適用可能である。
【００８７】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。また、上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光／光磁気記憶媒体、不揮発性の半導体メモリでもよい。また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータはがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。
【符号の説明】
【００８８】
１０：レンズ、２０：撮像部、４０：画像処理部、４２：システム制御部、４４：操作部、４６：ＲＡＭ、４８：ＲＯＭ、５０：表示装置
【図１】
2019197295.tif 000003
【図２】
2019197295.tif 000004
【図３】
2019197295.tif 000005
【図４】
2019197295.tif 000006
【図５】
2019197295.tif 000007
【図６】
2019197295.tif 000008
【図７】
2019197295.tif 000009
【図８】
2019197295.tif 000010
【図９】
2019197295.tif 000011
【図１０】
2019197295.tif 000012
【図１１】
2019197295.tif 000013
【図１２】
2019197295.tif 000014
【図１３】
2019197295.tif 000015
【図１４】
2019197295.tif 000016