(57)【要約】【課題】高精度な顔追尾性能を実現する。【解決手段】画像入力装置は、画像を入力する画像入力手段と、１つの入力画像から特定の被写体を検出する被写体検出手段と、連続的に入力される画像から前記特定の被写体の位置を推定する追尾手段と、前記追尾手段による追尾に用いる追尾テンプレートを決定する決定手段と、を有し、前記決定手段は、連続的に入力される画像の１つから、前記被写体検出手段によって前記特定の被写体が検出され、かつ、該画像よりも後に入力される画像の１つから前記被写体検出手段によって前記特定の被写体が検出されずに前記追尾手段によって前記特定の被写体の位置が推定された場合に、前記被写体検出手段により検出された画像、および、前記追尾手段により位置が推定された画像のいずれかを選択し、前記追尾テンプレートとして設定する。【選択図】図１
2010193406.tif 000002
【特許請求の範囲】
【請求項１】
画像を入力する画像入力手段と、
１つの入力画像から特定の被写体を検出する被写体検出手段と、
連続的に入力される画像から前記特定の被写体の位置を推定する追尾手段と、
前記追尾手段による追尾に用いる追尾テンプレートを決定する決定手段と、を有し、
前記決定手段は、連続的に入力される画像の１つから、前記被写体検出手段によって前記特定の被写体が検出され、かつ、該画像よりも後に入力される画像の１つから前記被写体検出手段によって前記特定の被写体が検出されずに前記追尾手段によって前記特定の被写体の位置が推定された場合に、前記被写体検出手段により検出された画像、および、前記追尾手段により位置が推定された画像のいずれかを選択し、前記追尾テンプレートとして設定することを特徴とする画像入力装置。
【請求項２】
前記特定の被写体の向きを検出する向き検出手段を更に有し、
前記被写体検出手段は、前記特定の被写体の向きが予め設定された範囲内であれば、当該被写体検出手段により検出された画像を前記追尾テンプレートとして設定し、前記検出された被写体の向きが予め設定された範囲内になければ、前記追尾手段により位置が推定された画像を前記追尾テンプレートとして設定することを特徴とする請求項１に記載の画像入力装置。
【請求項３】
前記特定の被写体は、人物の顔であることを特徴とする請求項１または２に記載の画像入力装置。
【請求項４】
画像を入力する画像入力装置における被写体検出方法であって、
１つの入力画像から特定の被写体を検出する被写体検出工程と、
連続的に入力される画像から前記特定の被写体の位置を推定する追尾工程と、
前記追尾工程による追尾に用いる追尾テンプレートを決定する決定工程と、を有し、
前記決定工程は、連続的に入力される画像の１つから、前記被写体検出工程によって前記特定の被写体が検出され、かつ、該画像よりも後に入力される画像の１つから前記被写体検出工程によって前記特定の被写体が検出されずに前記追尾工程によって前記特定の被写体の位置が推定された場合に、前記被写体検出工程により検出された画像、および、前記追尾工程により位置が推定された画像のいずれかを選択し、前記追尾テンプレートとして設定することを特徴とする被写体検出方法。
【請求項５】
請求項４に記載の被写体検出方法を画像入力装置のコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影画像中の人物の顔を検出し追尾する技術に関する。
【背景技術】
【０００２】
従来から、カメラの撮影画像から両目や口の形状を抽出することで人物の顔を検出し、これを追尾する追尾装置が提案されている。従来の追尾装置は、人物の顔の検出を複数のフレームにおいて連続的に行うことにより、人物の顔の移動を追尾するように構成されている。しかしながら、従来の追尾装置では、顔が横や後ろを向いてしまった場合や、顔が障害物の陰に隠れてしまった場合などには、両目や口の形状を抽出できないために顔検出ができなくなり、人物の追尾に失敗してしまう。
【０００３】
これを回避するために、直前に検出された顔の位置に基づいて現在の顔のおおまかな位置候補を推定するとともに、その位置候補それぞれに対応する複数の周囲情報を取得する。そして、直前に検出された顔の位置に関連づけられている周囲情報に最も類似する周囲情報が取得された位置候補を、現在の顔の位置として決定する技術がある（特許文献１参照）。これによると、画像中から顔の検出を行うことなく現在の顔の位置を推定することができる。このため、例えば追尾対象の顔が物陰に隠れてしまったり、後ろを向いてしまったときのように、顔の検出ができない場合であっても、追尾対象の顔を見失うことなく、追尾を継続することが可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−０４２０７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１では、障害物や顔の向きにより顔の検出ができなくなった場合に、直前の画像で検出された顔画像を顔追尾のテンプレートとして、現在の画像とのフレーム相関を行うことによって、現在の顔の位置を推定している。また、顔追尾のためのテンプレートの設定方法として、直前の画像で顔検出された場合はその顔画像を顔追尾のテンプレートとし、直前の画像で顔検出されなかった場合はフレーム相関によって推定された顔の位置を追尾画像に設定する。
【０００６】
ここで、障害物によって顔検出ができなくなった場合には、フレーム相関による顔追尾に切り替えられるが、顔追尾のテンプレートとして、直前の追尾画像を順次用いる方法では、障害物に追従してしまい誤追尾になり易くなる。また、顔追尾のテンプレートとして最後に検出できた顔画像を固定して用いると、障害物には追従し難くなるものの、追尾性能が低下して、顔の向きが横や後ろに変わった場合にはテンプレートとの差分が大きくなるため、顔追尾ができなくなる。
【０００７】
本発明は、上記課題に鑑みてなされ、誤追尾を低減し、高精度な追尾性能を実現する。
【課題を解決するための手段】
【０００８】
上述した課題を解決するために、本発明の画像入力装置は、画像を入力する画像入力手段と、１つの入力画像から特定の被写体を検出する被写体検出手段と、連続的に入力される画像から前記特定の被写体の位置を推定する追尾手段と、前記追尾手段による追尾に用いる追尾テンプレートを決定する決定手段と、を有し、前記決定手段は、連続的に入力される画像の１つから、前記被写体検出手段によって前記特定の被写体が検出され、かつ、該画像よりも後に入力される画像の１つから前記被写体検出手段によって前記特定の被写体が検出されずに前記追尾手段によって前記特定の被写体の位置が推定された場合に、前記被写体検出手段により検出された画像、および、前記追尾手段により位置が推定された画像のいずれかを選択し、前記追尾テンプレートとして設定する。
【０００９】
また、本発明の被写体検出方法は、画像を入力する画像入力装置における被写体検出方法であって、１つの入力画像から特定の被写体を検出する被写体検出工程と、連続的に入力される画像から前記特定の被写体の位置を推定する追尾工程と、前記追尾工程による追尾に用いる追尾テンプレートを決定する決定工程と、を有し、前記決定工程は、連続的に入力される画像の１つから、前記被写体検出工程によって前記特定の被写体が検出され、かつ、該画像よりも後に入力される画像の１つから前記被写体検出工程によって前記特定の被写体が検出されずに前記追尾工程によって前記特定の被写体の位置が推定された場合に、前記被写体検出工程により検出された画像、および、前記追尾工程により位置が推定された画像のいずれかを選択し、前記追尾テンプレートとして設定する。
【発明の効果】
【００１０】
本発明によれば、誤追尾を低減し、高精度な追尾性能を実現できる。
【図面の簡単な説明】
【００１１】
【図１】本発明に係る実施形態の画像入力装置の概略構成を示すブロック図である。
【図２】顔を検出してから顔追尾テンプレート記憶部に顔追尾テンプレート情報を記憶するまでの処理を示すフローチャートである。
【図３】顔追尾のテンプレートから特徴量を算出する処理を示す図である。
【図４】顔が移動すると推定される領域を例示する図である。
【図５】障害物で遮蔽されることで顔検出できなくなり、顔追尾に切り替える例を示す図である。
【図６】障害物で遮蔽されることで顔検出できなくなり、顔追尾に切り替える例を示す図である。
【図７】顔の向きが変化したことで顔検出ができなくなり、顔追尾に切り替える例を示す図である。
【図８】顔の向きが変化したことで顔検出ができなくなり、顔追尾に切り替える例を示す図である。
【発明を実施するための形態】
【００１２】
以下に、添付図面を参照して本発明を実施するための最良の形態について詳細に説明する。尚、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
【００１３】
図１は本発明に係る実施形態の画像入力装置の概略構成を示すブロック図である。図１において、画像入力装置１は、カメラ等により撮影された複数の画像を連続的に入力する画像入力部１０を備える。また、画像入力装置１は、入力画像から特定の被写体を検出する被写体検出部として人物の顔を検出する顔検出部１１と、顔検出部１１で検出された顔の向きを検出する顔向き検出部１２とを備える。また、画像入力装置１は、顔追尾のためのテンプレート情報を記憶する顔追尾テンプレート記憶部１３と、顔追尾の対象画像における顔の位置候補それぞれにおける画像特徴情報を記憶する画像特徴情報記憶部１４とを備える。更に、画像入力装置１は、顔追尾テンプレートと追尾対象画像中の顔位置候補の各画像特徴情報を比較して顔の位置を推定する位置推定部１５と、顔検出部１１又は位置推定部１５にて求められた顔の位置を外部に出力する位置出力部１６を備える。
【００１４】
画像入力部１０は、デジタルカメラ等の撮像装置によって連続的に撮影して得られた複数の画像を順次入力し、顔検出部１１に出力する。顔検出部１１は、入力画像から人物の顔を検出し、検出された顔の位置や大きさ等を示す顔情報を特定する。また、顔検出部１１は、検出された顔の特徴量として、検出された顔を含む領域における輝度分布や色ヒストグラム等を算出する。顔向き検出部１２は、顔検出部１１で検出された顔情報を用いて顔の向きを検出する。顔追尾テンプレート記憶部１３は、顔検出部１１で検出された顔情報と、顔向き検出部１２で検出された顔の向きをもとに、顔追尾のための基準画像として顔追尾テンプレートを決定し記憶する。この画像入力装置１は、単体の装置で構成されても、複数の装置からなるシステムで構成されても構わない。例えば、デジタルカメラやデジタルビデオカメラ単体の内部に画像入力部１０から位置出力部１６の全ての構成を備えても良い。あるいは、画像入力部１０のみをデジタルカメラやデジタルビデオカメラ内部に持たせ、それ以外をデジタルカメラやデジタルビデオカメラと通信可能な外部のコンピュータに持たせも良い。
【００１５】
図２は、顔を検出してから顔追尾テンプレート記憶部に顔追尾テンプレート情報を記憶するまでの処理を示すフローチャートである。図２において、先ず、ステップＳ２０で、顔検出部１１によって、画像入力部１０を通じて入力された画像中から人物の顔を検出する。顔検出部１１による顔検出の方法としては、例えば、特開平７−３１１８３３号公報に記載されたように、まず、画像中から目や口としての形状を満たす領域を抽出する。そして、その領域の組み合わせにより顔候補を決定し、この顔候補について予め記憶された顔標準パターンとの比較を行い、一致度が高ければその顔候補が顔であると判定する。本実施形態では、２つの目があり、その２つの目の中間を通過する延長線上に鼻と口が存在する領域を抽出する。そして、それらの両目、鼻、口を含む領域の中心を基準として、領域を順次拡大していき、領域境界部のコントラスト信号、色差信号、あるいは、輝度信号の変化が大きくなった時点で、そこが顔候補の境界であると判断する。あるいは、顔の輪郭形状を直接検出することで顔候補となる領域を決定しても良いし、両目、鼻、口を含み、かつ、肌色であると推定される領域を顔候補として決定してもよい。そして、この顔候補に対して顔標準パターンとの比較を行い、この顔候補が顔であるか否かの判定を行う。
【００１６】
ステップＳ２１では、顔向き検出部１２によって、検出された顔の向きを判別する。顔検出部１１での顔検出結果から顔の向きも同時に検出される場合は、その結果を使用すれば良いし、そうでない場合は、例えば、顔領域における顔の構成要素（目、鼻、口など）の位置関係から顔の向きを推定するようにしても良い。例えば、目、鼻、口などの構成要素が、全体的に顔領域の右側によっていれば、その顔は向かって右側を向いていると推定でき、全体的に顔領域の上側によっていれば、その顔は上を見上げていると推定できる。さらに、それら構成要素の顔領域における位置から、その顔が、正面に対して何度傾いた方向を向いているのかを推定することもできる。
【００１７】
ステップＳ２２では、顔の向きが予め設定された範囲内にあるか否か判定する。例えば、顔領域における顔の構成要素（目、鼻、口など）の位置関係から、顔の向きが上下左右いずれの方向においても、真正面の向きに対して４５度傾いた範囲内にあると推定されるか否かを判定する。この範囲は４５度に限定されるわけではなく、様々なシチュエーションにおける検証結果から実験的に求めればよい。顔の向きが予め設定された範囲内にある場合には、ステップＳ２３に進み、次回以降の顔検出において顔が検出されなかった場合に使用する顔追尾のテンプレートとして、最後に検出された顔画像を設定する。また、予め設定された範囲内にない場合には、ステップＳ２４に進み、次回以降の顔検出で顔が検出されなかった場合に使用する顔追尾テンプレートとして、顔追尾を行う直前に撮影された画像中から顔検出又は顔追尾により検出された顔画像を設定する。
【００１８】
本実施形態における顔追尾処理は、顔検出部１１で顔が検出できない場合にのみ実行される。あるいは、顔追尾処理は顔検出部１１の検出結果によらずに常に実行されるが、顔検出部１１で顔が検出できた場合には、顔追尾処理による追尾結果よりも顔検出部１１による顔検出結果が優先される。顔追尾における顔位置の推定は、顔検出部１１によって検出される顔位置に比べて精度が劣ることが多い。このため、顔検出部１１で顔が検出された場合には、その検出結果を優先して使用することにより、顔の位置をより精度良く検出することができる。
【００１９】
また、顔検出ができなくなり、顔追尾を実行しているときに、新たに顔が検出された場合には、顔追尾を中止して、再び図２のフローによる処理を行い、顔追尾のテンプレートを新たに設定する。このように常に最新の顔検出結果を用いて、顔追尾のためのテンプレートを設定することで、より高精度の顔追尾を行うことができる。
【００２０】
画像特徴情報記憶部１４は、顔追尾テンプレート記憶部１３に記憶された顔追尾テンプレートの特徴量を算出して記憶する。図３は、顔追尾のテンプレートから特徴量を算出する処理を示す図である。図３において、顔追尾テンプレート記憶部１３に記憶された顔追尾テンプレートの中心座標を（ｘ，ｙ）、幅Ｗ、高さＨとして、顔を囲む短形の領域を設定する。そして、この矩形領域の輝度分布や色ヒストグラム等を算出し、テンプレート顔画像の特徴量として記憶する。なお、顔を囲む短形の領域のサイズは顔の大きさ等に応じて任意に設定可能である。
【００２１】
また、画像特徴情報記憶部１４は、顔追尾テンプレート記憶部１３によって記憶された顔追尾テンプレートの位置情報を用いて、顔が移動すると推定される位置の画像特徴量も算出して記憶する。図４は、顔が移動すると推定される領域を例示する図である。ここでは、顔追尾テンプレートの中心座標を（ｘ，ｙ）とし、この中心座標（領域５）から水平・垂直方向にそれぞれ±５画素移動したときの、幅Ｗ、高さＨの短形の領域を、それぞれ領域１〜４，領域６〜９とする。そして、領域１〜４，６〜９のそれぞれにおける輝度分布や色ヒストグラム等を算出し、顔移動推定位置候補の特徴量として記憶する。
【００２２】
なお、本例では顔移動推定位置候補として、中心座標から±５画素移動したときの８個の領域を例としたが、移動量や位置候補の数は、顔の大きさや動き等に応じて任意に設定可能である。
【００２３】
位置推定部１５は、画像特徴情報記憶部１４に記憶された顔追尾テンプレートの特徴量と、追尾対象画像における顔の位置候補である、図４の領域１〜領域９のそれぞれにおける画像特徴量とを比較する。そして、最も画像特徴情報が類似している領域を現在の顔位置として推定する。また、最も類似している画像特徴量と、顔追尾テンプレートの特徴量との差分が閾値よりも大きい場合には、顔追尾を停止するように設定することで、誤追尾を防止することができる。位置出力部１６は、位置推定部１５で推定された顔の位置情報を画像入力装置１から外部機器に出力する。
【００２４】
本例の顔追尾処理における具体例と効果について、図５〜図８を参照して説明する。図５及び図６は、当初は顔検出できていたが、障害物が顔の前を横切ったことにより、顔検出ができなくなって顔追尾に切り替える例を示している。図５に従来の顔追尾処理を適用したときの例を示す。この図５では、顔追尾テンプレートを用いた顔追尾が開始されると、顔検出部１１にて検出された顔、および、顔追尾テンプレートを用いた顔追尾にて検出された顔のうち、最新の顔を顔追尾テンプレートに設定する構成となっている。フレーム（ａ）の画像においては、顔検出部１１が顔の検出に成功しており、顔向き検出部１２が検出された顔が真正面を向いているものと判別している。
【００２５】
次のフレーム（ｂ）においては、被写体の片目の一部が障害物によって隠れてしまっているため、顔検出部１１は顔の検出に失敗する。顔検出部１１が顔の検出に失敗したため、このフレーム（ｂ）において、顔追尾テンプレートを用いた顔追尾が開始される。顔追尾テンプレート記憶部１３は、直前に顔検出部１１によって顔が検出されているため、顔追尾テンプレートとしてこの顔（フレーム（ａ）で検出された顔）が設定される。画像特徴情報記憶部１４は、この顔追尾テンプレートの輝度分布や色ヒストグラムを算出し、特徴量として記憶する。そして、位置推定部１５がフレーム（ｂ）の画像の中から、記憶した特徴量と最も類似している領域を抽出し、その差分が閾値以内であったため、抽出した領域をフレーム（ｂ）の画像における顔と推定する。ここで、フレーム（ｂ）の画像から新たな顔が推定されたので、顔追尾テンプレート記憶部１３は、このフレーム（ｂ）から推定された顔を顔追尾テンプレートとして更新し、画像特徴情報記憶部１４は、そこから得られた特徴量を新たな特徴量として更新する。
【００２６】
フレーム（ｃ）においては、被写体の顔の大部分が障害物に隠れてしまっているため、顔検出部１１は顔の検出に失敗する。よって、位置推定部１５がフレーム（ｃ）の画像の中から、フレーム（ｂ）の画像から得られた特徴量と最も類似している領域を抽出し、その特徴量の差分が閾値以内であれば、この領域を顔として推定する。フレーム（ｂ）の画像から得られた特徴量には、被写体の顔と障害物から得られた特徴量が含まれているため、同じく被写体の顔と障害物が含まれた領域が、新たな顔として推定される。ここで、実際の被写体の顔の大部分が障害物に隠れてしまっているために、新たな顔として推定された領域には、被写体の顔よりも障害物が多く含まれてしまうことになる。
【００２７】
フレーム（ｄ）においても、実際の被写体の顔の大部分が障害物に隠れてしまっているため、顔検出部１１は顔の検出に失敗する。ここでもフレーム（ｃ）と同様に、被写体の顔よりも障害物が多く含まれてしまっている領域が、新たな顔として推定される。
そして、フレーム（ｅ）においても、実際の被写体の顔の半分程度が障害物に隠れてしまっているため、顔検出部１１は顔の検出に失敗する。このフレーム（ｅ）の画像では、実際の被写体の顔の半分程度が障害物の陰から現れたが、フレーム（ｄ）にて顔として推定された領域には、障害物に大部分を占められているため、障害物が占める領域が新たな顔として推定されてしまう。
【００２８】
このように、従来の方法では、顔よりも手前に障害物が存在すると、その障害物に対して追尾が行われてしまうという問題があった。これに対し、図６に本実施形態の顔追尾処理を適用したときの例を示す。フレーム（ａ）の画像においては、顔検出部１１が顔の検出に成功しており、顔向き検出部１２が検出された顔が真正面を向いているものと判別している。
【００２９】
次のフレーム（ｂ）においては、被写体の片目の一部が障害物によって隠れてしまっているため、顔検出部１１は顔の検出に失敗する。顔検出部１１が顔の検出に失敗したため、このフレーム（ｂ）において、顔追尾テンプレートを用いた顔追尾が開始される。顔追尾テンプレート記憶部１３は、直前に顔検出部１１によって顔が検出された際に、その顔が真正面の向きに対して４５度傾いた範囲内にあったため、顔追尾テンプレートとしてその顔（フレーム（ａ）で検出された顔）が設定される。画像特徴情報記憶部１４は、この顔追尾テンプレートの輝度分布や色ヒストグラムを算出し、特徴量として記憶する。そして、位置推定部１５がフレーム（ｂ）の画像の中から、記憶した特徴量と最も類似している領域を抽出し、その差分が閾値以内であったため、抽出した領域をフレーム（ｂ）の画像における顔と推定する。ここで、画像特徴情報記憶部１４は、フレーム（ｂ）の画像から新たな顔が推定されたが、顔検出部１１によって最後に検出された顔の向きが予め設定された範囲内であったため、特徴量を更新せずにそのまま保持する。
【００３０】
フレーム（ｃ）においては、実際の被写体の顔の大部分が障害物に隠れてしまっているため、顔検出部１１は顔の検出に失敗する。よって、位置推定部１５がフレーム（ｃ）の画像の中から、保持した特徴量と最も類似している領域を抽出する。しかしながら、最も類似している領域と、フレーム（ａ）で検出された顔から得られた特徴量の差分が閾値よりも大きかったため、位置推定部１５は顔追尾に失敗したと判断し、追尾を終了する。
フレーム（ｄ）、（ｅ）では既に追尾が終了されているため、顔検出部１１によって新たに顔が検出されるまで、顔追尾が行われない。
【００３１】
このように、本実施形態の顔追尾処理では、直前に顔検出部１１にて顔領域が検出された際に、その顔の向きが予め設定された範囲内にあったため、画像特徴情報記憶部１４は、顔検出部１１が検出した顔から得られた特徴量を保持している。顔検出部１１にて検出された顔が正面向きであったにも関わらず、その後に顔検出部１１によって顔が検出できなくなったのであれば、顔の手前に障害物が発生した可能性が高いと考えられる。そこで、本実施形態では、そのような場合には、顔追尾テンプレートを用いた顔追尾にて推定された顔の方が、顔検出部１１にて検出された顔よりも新しい情報であっても、顔検出部１１にて検出された顔を顔追尾テンプレートとして設定する。このようにすることで、誤追尾を抑制することが可能となる。
【００３２】
ここで、顔検出部１１にて検出された顔の向きが予め設定された範囲内にあった場合にのみ、上述した処理を行う理由について説明する。本実施形態の構成と比較をするため、図７に、常に顔検出部１１にて検出された顔を顔追尾テンプレートとして設定する顔追尾処理を適用したときの例を示す。フレーム（ａ）の画像においては、顔検出部１１が顔の検出に成功しており、顔向き検出部１２が検出された顔が真正面を向いていることを検出している。フレーム（ｂ）の画像においては、顔検出部１１が顔の検出に成功しており、顔向き検出部１２が検出された顔が真正面に対して右に５０度傾いた方向を向いていることを検出している。
【００３３】
フレーム（ｃ）の画像においては、被写体の顔が大きく右を向くことで、片目の一部が見えなくしまっているため、顔検出部１１は顔の検出に失敗する。顔検出部１１が顔の検出に失敗したため、このフレーム（ｃ）において、顔追尾テンプレートを用いた顔追尾が開始される。顔追尾テンプレート記憶部１３は、直前に顔検出部１１によって顔が検出されているため、顔追尾テンプレートとして、その顔（フレーム（ｂ）で検出された顔）が設定される。画像特徴情報記憶部１４は、この顔追尾テンプレートの輝度分布や色ヒストグラムを算出し、特徴量として記憶する。そして、位置推定部１５がフレーム（ｃ）の画像の中から、新たな顔を推定する。ここで、画像特徴情報記憶部１４は、フレーム（ｃ）の画像から新たな顔が推定されたが、顔検出部１１によって新たな顔が検出されたのではないため、特徴量を更新せずにそのまま保持する。
【００３４】
フレーム（ｄ）の画像においては、被写体の顔がさらに大きく右を向くことで、片目が見えなくしまっているため、顔検出部１１は顔の検出に失敗する。顔検出部１１が顔の検出に失敗したため、このフレーム（ｄ）においても、引き続き顔追尾テンプレートを用いた顔追尾が行われる。しかしながら、画像特徴情報記憶部１４が保持している特徴量は、フレーム（ｂ）で検出された顔から得られた特徴量のままであるため、顔の向きが大きく異なるフレーム（ｄ）の顔の特徴量は、保持された特徴量との差分が閾値よりも大きくなる。そのため、位置推定部１５は顔追尾に失敗したと判断し、追尾を終了してしまう。
フレーム（ｅ）の画像においても、画像特徴情報記憶部１４が保持している特徴量との差分が閾値以内となる特徴量が得られる領域が見つからずに、顔追尾に失敗したと判断する。
【００３５】
このように、常に顔検出部１１にて検出された顔を顔追尾テンプレートとして設定すると、顔の向きが変化していくような場合には、障害物がなくともその顔が追尾できなくなるという問題があった。これに対し、図８に本実施形態の顔追尾処理を適用したときの例を示す。この図８には、顔検出部１１にて検出された顔の向きが予め設定された範囲内になければ、顔追尾テンプレートを用いた顔追尾にて推定された顔を、新たな顔追尾テンプレートとして更新する例を示す。
【００３６】
フレーム（ａ）、（ｂ）の画像においては、図７と同様である。フレーム（ｃ）の画像においては、被写体の顔が大きく右を向くことで、片目の一部が見えなくしまっているため、顔検出部１１は顔の検出に失敗する。顔検出部１１が顔の検出に失敗したため、このフレーム（ｃ）において、顔追尾テンプレートを用いた顔追尾が開始される。顔追尾テンプレート記憶部１３は、直前に顔検出部１１によって顔が検出されているため、顔追尾テンプレートとして、この顔（フレーム（ｂ）で検出された顔領域）が設定される。画像特徴情報記憶部１４は、この顔追尾テンプレートの輝度分布や色ヒストグラムを算出し、特徴量として記憶する。そして、位置推定部１５がフレーム（ｃ）の画像の中から、新たな顔を推定する。ここで、フレーム（ｃ）の画像から新たな顔が推定され、かつ、顔検出部１１によって検出された最新の顔の向き（フレーム（ｂ）の顔の向き）が予め設定された範囲内にない。そのため、顔追尾テンプレート記憶部１３は、このフレーム（ｃ）から推定された顔を顔追尾テンプレートとして更新し、画像特徴情報記憶部１４は、そこから得られた特徴量を新たな特徴量として更新する。
【００３７】
フレーム（ｄ）の画像においては、被写体の顔がさらに大きく右を向くことで、片目が見えなくしまっているため、顔検出部１１は顔の検出に失敗する。顔検出部１１が顔の検出に失敗したため、このフレーム（ｄ）においても、引き続き顔追尾テンプレートを用いた顔追尾が行われる。画像特徴情報記憶部１４が保持している特徴量は、フレーム（ｃ）で検出された顔から得られた特徴量である。そのため、フレーム（ｃ）の顔に対して、その向きの差が小さいフレーム（ｄ）の顔は、保持された特徴量との差分が閾値以内となり、顔として推定されることになる。
【００３８】
このように、顔の向きが徐々に変化していくような場合には、顔追尾テンプレートを用いた顔追尾によって推定された顔領域を用いて、顔追尾テンプレートを更新することが望ましいと言える。
【００３９】
以上説明したように、本実施形態によれば、顔追尾テンプレートとして、最後に検出された顔画像と、顔追尾によって検出された直前の顔画像とを顔の向きに基づいて切り替えて設定する。これにより、障害物によって顔検出ができないと想定される場合には、最後に顔検出されたときの顔画像を顔追尾テンプレートとして設定することにより、図５のような誤追尾を防止し、図６のように顔追尾を停止することが可能になる。
【００４０】
また、顔の向きが大きく変化したことにより顔検出ができないと想定される場合には、直前に検出された顔追尾画像を顔追尾テンプレートに設定できるようにする。これにより、図８のように追尾が途中で停止されることなく、図７のように顔が横向きや後ろ向に変わった場合であっても、顔追尾を継続することができる。
【００４１】
上述した実施形態では、顔の向きを判別して、顔追尾テンプレートの設定方法を変えていたが、それ以外の条件によって、顔追尾テンプレートの設定方法を変更しても良い。例えば、時系列順の複数の画像から顔の周辺に物体が近づいていると判定された場合には、最後に顔検出されたときの顔画像を顔追尾テンプレートとして設定する。これに対し、顔の周辺に物体が近付いていないと判定された場合には、最後に顔追尾されたときの顔画像を顔追尾テンプレートとして設定する。こうすることにより、物体に追従して誤追尾することなく、追尾を停止することが可能になる。つまり、１つのフレーム画像から顔を検出する機能と、複数のフレーム画像の相関から顔が位置すると思われる領域を追尾する機能を備え、いずれかの処理の結果を顔追尾テンプレートとして選択する構成を備えていれば、本発明を適用することができる。さらに、追尾対象は必ずしも被写体の顔でなくとも構わない。被写体の特定の姿勢や、特定の動物など、色や形状といった複数の条件と比較することで、１つの画像中からその被写体を特定することができる対象であれば、上述した実施形態における顔と置き換えることが可能である。
【００４２】
［他の実施形態］
本発明の目的は、前述した実施形態の機能を実現するように各種デバイスを動作させるために、これらデバイスと接続された装置或いはシステムのコンピュータに対して、本実施形態の機能を実現するソフトウェアを供給しても達成できる。この場合、上記ソフトウェアのプログラムコードを記録した記憶媒体を、システム又は装置に供給し、そのコンピュータ（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行して各種デバイスを動作させることで達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００４３】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性の半導体メモリカード、ＲＯＭなどを用いることができる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合もある。しかし、さらにプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００４４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる場合も有得る。その後、プログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図１】
2010193406.tif 000003
【図２】
2010193406.tif 000004
【図３】
2010193406.tif 000005
【図４】
2010193406.tif 000006
【図５】
2010193406.tif 000007
【図６】
2010193406.tif 000008
【図７】
2010193406.tif 000009
【図８】
2010193406.tif 000010