(57)【要約】【課題】  画像中の被写体を正確に検出するための技術を提供すること。【解決手段】  縮小画像から抽出した照合パターンの抽出位置と、この照合パターンのサイズとに基づいて閾値を求め（Ｓ１０９）、照合パターンが顔であると判断し（Ｓ１０６）、且つ求めた閾値が所定の値よりも大きい場合に、この照合パターンが顔の領域であると判断する（Ｓ１１０）。【選択図】  図２
2007026308.tif 000002
【特許請求の範囲】
【請求項１】
画像から所定の被写体を検出する画像処理方法であって、
前記画像の輝度成分で構成される輝度画像を生成する生成工程と、
前記輝度画像を再帰的に縮小することで、複数枚の縮小画像を生成する縮小工程と、
縮小画像から所定サイズの領域毎に部分領域を抽出する抽出工程と、
前記抽出工程で抽出した部分領域の抽出位置と、当該抽出した部分領域のサイズとに基づいて閾値を求める閾値計算工程と、
前記部分領域が前記所定の被写体であるか否かを判断する第１の判断工程と、
前記第１の判断工程で前記部分領域が前記所定の被写体であると判断された場合、前記閾値と所定の値との大小比較を行い、前記閾値が当該所定の値以上であれば、前記部分領域が前記所定の被写体の領域であると判断する第２の判断工程と、
前記縮小工程で生成したそれぞれの縮小画像について、前記抽出工程による処理、前記閾値計算工程による処理、前記値計算工程による処理、前記第１，２の判断工程による処理、を繰り返す繰り返し工程と
を備えることを特徴とする画像処理方法。
【請求項２】
前記閾値計算工程は、
前記縮小画像のサイズを前記複数枚の縮小画像のそれぞれで共通のサイズに正規化すると共に、当該正規化のために前記縮小画像のサイズを変倍した変倍率分だけ、前記部分領域のサイズを変倍する変倍工程と、
前記変倍工程でサイズを変倍した前記部分領域の中心位置と、前記変倍工程でサイズを変倍した前記縮小画像の中心位置との距離に基づいて決まる第１の値を求める第１の工程と、
前記変倍工程でサイズを変倍した前記部分領域のサイズで決まる第２の値を求める第２の工程とを備え、
前記第１の値と前記第２の値との積を、前記閾値として求めることを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記第１の工程では、
前記所定の被写体を含む画像に対して所定の指示手段でもって指定した前記所定の被写体の領域の中心位置と、当該画像の中心位置との距離を、前記所定の被写体を含み、サイズが同じ複数の画像について求めることで得られる、それぞれの距離と当該それぞれの距離の出現頻度との関係に基づいて、前記第１の値を求めることを特徴とする請求項２に記載の画像処理方法。
【請求項４】
前記第２の工程では、
前記所定の被写体を含む画像に対して所定の指示手段でもって指定した前記所定の被写体の領域のサイズを、前記所定の被写体を含み、サイズが同じ複数の画像について求めることで得られる、それぞれのサイズと当該それぞれのサイズの出現頻度との関係に基づいて、前記第２の値を求めることを特徴とする請求項２に記載の画像処理方法。
【請求項５】
画像から所定の被写体を検出する画像処理方法であって、
前記画像の輝度成分で構成される輝度画像を生成する生成工程と、
前記輝度画像を再帰的に縮小することで、複数枚の縮小画像を生成する縮小工程と、
縮小画像から所定サイズの領域毎に部分領域を抽出する抽出工程と、
前記抽出工程で抽出した部分領域の抽出位置に基づいて閾値を求める閾値計算工程と、
前記部分領域が前記所定の被写体であるか否かを判断する第１の判断工程と、
前記第１の判断工程で前記部分領域が前記所定の被写体であると判断された場合、前記閾値と所定の値との大小比較を行い、前記閾値が当該所定の値以上であれば、前記部分領域が前記所定の被写体の領域であると判断する第２の判断工程と、
前記縮小工程で生成したそれぞれの縮小画像について、前記抽出工程による処理、前記閾値計算工程による処理、前記値計算工程による処理、前記第１，２の判断工程による処理、を繰り返す繰り返し工程と
を備えることを特徴とする画像処理方法。
【請求項６】
画像から所定の被写体を検出する画像処理方法であって、
前記画像の輝度成分で構成される輝度画像を生成する生成工程と、
前記輝度画像を再帰的に縮小することで、複数枚の縮小画像を生成する縮小工程と、
縮小画像から所定サイズの領域毎に部分領域を抽出する抽出工程と、
前記抽出工程で抽出した部分領域のサイズに基づいて閾値を求める閾値計算工程と、
前記部分領域が前記所定の被写体であるか否かを判断する第１の判断工程と、
前記第１の判断工程で前記部分領域が前記所定の被写体であると判断された場合、前記閾値と所定の値との大小比較を行い、前記閾値が当該所定の値以上であれば、前記部分領域が前記所定の被写体の領域であると判断する第２の判断工程と、
前記縮小工程で生成したそれぞれの縮小画像について、前記抽出工程による処理、前記閾値計算工程による処理、前記値計算工程による処理、前記第１，２の判断工程による処理、を繰り返す繰り返し工程と
を備えることを特徴とする画像処理方法。
【請求項７】
画像から所定の被写体を検出する画像処理装置であって、
前記画像の輝度成分で構成される輝度画像を生成する生成手段と、
前記輝度画像を再帰的に縮小することで、複数枚の縮小画像を生成する縮小手段と、
縮小画像から所定サイズの領域毎に部分領域を抽出する抽出手段と、
前記抽出手段によって抽出した部分領域の抽出位置と、当該抽出した部分領域のサイズとに基づいて閾値を求める閾値計算手段と、
前記部分領域が前記所定の被写体であるか否かを判断する第１の判断手段と、
前記第１の判断手段によって前記部分領域が前記所定の被写体であると判断された場合、前記閾値と所定の値との大小比較を行い、前記閾値が当該所定の値以上であれば、前記部分領域が前記所定の被写体の領域であると判断する第２の判断手段と、
前記縮小手段によって生成したそれぞれの縮小画像について、前記抽出手段による処理、前記閾値計算手段による処理、前記値計算手段による処理、前記第１，２の判断手段による処理、を繰り返す繰り返し手段と
を備えることを特徴とする画像処理装置。
【請求項８】
画像から所定の被写体を検出する画像処理装置であって、
前記画像の輝度成分で構成される輝度画像を生成する生成手段と、
前記輝度画像を再帰的に縮小することで、複数枚の縮小画像を生成する縮小手段と、
縮小画像から所定サイズの領域毎に部分領域を抽出する抽出手段と、
前記抽出手段によって抽出した部分領域の抽出位置に基づいて閾値を求める閾値計算手段と、
前記部分領域が前記所定の被写体であるか否かを判断する第１の判断手段と、
前記第１の判断手段によって前記部分領域が前記所定の被写体であると判断された場合、前記閾値と所定の値との大小比較を行い、前記閾値が当該所定の値以上であれば、前記部分領域が前記所定の被写体の領域であると判断する第２の判断手段と、
前記縮小手段によって生成したそれぞれの縮小画像について、前記抽出手段による処理、前記閾値計算手段による処理、前記値計算手段による処理、前記第１，２の判断手段による処理、を繰り返す繰り返し手段と
を備えることを特徴とする画像処理装置。
【請求項９】
画像から所定の被写体を検出する画像処理装置であって、
前記画像の輝度成分で構成される輝度画像を生成する生成手段と、
前記輝度画像を再帰的に縮小することで、複数枚の縮小画像を生成する縮小手段と、
縮小画像から所定サイズの領域毎に部分領域を抽出する抽出手段と、
前記抽出手段によって抽出した部分領域のサイズに基づいて閾値を求める閾値計算手段と、
前記部分領域が前記所定の被写体であるか否かを判断する第１の判断手段と、
前記第１の判断手段によって前記部分領域が前記所定の被写体であると判断された場合、前記閾値と所定の値との大小比較を行い、前記閾値が当該所定の値以上であれば、前記部分領域が前記所定の被写体の領域であると判断する第２の判断手段と、
前記縮小手段によって生成したそれぞれの縮小画像について、前記抽出手段による処理、前記閾値計算手段による処理、前記値計算手段による処理、前記第１，２の判断手段による処理、を繰り返す繰り返し手段と
を備えることを特徴とする画像処理装置。
【請求項１０】
コンピュータに請求項１乃至６の何れか１項に記載の画像処理方法を実行させるためのプログラム。
【請求項１１】
請求項１０に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像から検出対象を検出するための技術に関するものである。
【背景技術】
【０００２】
画像から特定の被写体パターンを自動的に検出する画像処理方法は非常に有用であり、このような画像処理方法は例えば、人間の顔を検出するために利用することができる。このような方法は、通信会議、マン・マシン・インタフェース、セキュリティ、人間の顔を追跡するためのモニタ・システム、画像圧縮などの多くの分野で使用することができる。このような画像中から顔を検出する技術としては、例えば、非特許文献１に各種方式が挙げられている。その中では、いくつかの顕著な特徴（２つの目、口、鼻など）とその特徴間の固有の幾何学的位置関係とを利用するか、又は人間の顔の対称的特徴、人間の顔色の特徴、テンプレート・マッチング、ニューラル・ネットワークなどを利用することによって、人間の顔を検出する方式が示されている。
【０００３】
例えば、非特許文献２で提案されている方式は、ニューラル・ネットワークにより画像中の顔パターンを検出する方法である。以下、非特許文献２による顔検出の方法について簡単に説明する。
【０００４】
まず、顔を含む画像をメモリに読み込み、この画像から、顔と照合する所定の領域を切り出す。そして、切り出した領域を構成する各画素の画素値の分布を入力としてニューラル・ネットワークによる演算で一つの出力を得る。
【０００５】
このとき、ニューラル・ネットワークの重み、閾値は、膨大な顔画像パターンと非顔画像パターンによりあらかじめ学習されており、このようなニューラル・ネットワークを用いれば、例えば、ニューラル・ネットワークの出力が０以上なら顔、それ以外は非顔であると判別することができる。
【０００６】
そして、ニューラル・ネットワークの入力である顔と照合する画像パターンの切り出し位置を、例えば、画像全域から縦横順次に走査していくことにより、画像中から顔を検出する。
【０００７】
また、様々な大きさの顔の検出に対応するため、読み込んだ画像を所定の割合で順次縮小し、それぞれに対して、前述した顔検出の走査を行うようにしている。
【０００８】
特に、誤検出により、重なった顔の検出結果が出力される場合や、画像の周辺で背景パターンの組合せによって発生することがある。非特許文献２では、顔か非顔かを判別するための閾値は画像の内容によらず一定の値として設定されている。
【０００９】
しかしながら、上記手法では、適切な閾値を設定することができなければ、誤検出は減少しない。
【非特許文献１】IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL.24 , NO.1, JANUARY 2002、”Detecting Faces in Images: A Survey”
【非特許文献２】IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL.20 , NO.1, JANUARY 1998、”Neural network-based face detection”
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は以上の問題に鑑みてなされたものであり、画像中の被写体を正確に検出するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【００１２】
即ち、画像から所定の被写体を検出する画像処理方法であって、
前記画像の輝度成分で構成される輝度画像を生成する生成工程と、
前記輝度画像を再帰的に縮小することで、複数枚の縮小画像を生成する縮小工程と、
縮小画像から所定サイズの領域毎に部分領域を抽出する抽出工程と、
前記抽出工程で抽出した部分領域の抽出位置と、当該抽出した部分領域のサイズとに基づいて閾値を求める閾値計算工程と、
前記部分領域が前記所定の被写体であるか否かを判断する第１の判断工程と、
前記第１の判断工程で前記部分領域が前記所定の被写体であると判断された場合、前記閾値と所定の値との大小比較を行い、前記閾値が当該所定の値以上であれば、前記部分領域が前記所定の被写体の領域であると判断する第２の判断工程と、
前記縮小工程で生成したそれぞれの縮小画像について、前記抽出工程による処理、前記閾値計算工程による処理、前記値計算工程による処理、前記第１，２の判断工程による処理、を繰り返す繰り返し工程と
を備えることを特徴とする。
【００１３】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【００１４】
即ち、画像から所定の被写体を検出する画像処理方法であって、
前記画像の輝度成分で構成される輝度画像を生成する生成工程と、
前記輝度画像を再帰的に縮小することで、複数枚の縮小画像を生成する縮小工程と、
縮小画像から所定サイズの領域毎に部分領域を抽出する抽出工程と、
前記抽出工程で抽出した部分領域の抽出位置に基づいて閾値を求める閾値計算工程と、
前記部分領域が前記所定の被写体であるか否かを判断する第１の判断工程と、
前記第１の判断工程で前記部分領域が前記所定の被写体であると判断された場合、前記閾値と所定の値との大小比較を行い、前記閾値が当該所定の値以上であれば、前記部分領域が前記所定の被写体の領域であると判断する第２の判断工程と、
前記縮小工程で生成したそれぞれの縮小画像について、前記抽出工程による処理、前記閾値計算工程による処理、前記値計算工程による処理、前記第１，２の判断工程による処理、を繰り返す繰り返し工程と
を備えることを特徴とする。
【００１５】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【００１６】
即ち、画像から所定の被写体を検出する画像処理方法であって、
前記画像の輝度成分で構成される輝度画像を生成する生成工程と、
前記輝度画像を再帰的に縮小することで、複数枚の縮小画像を生成する縮小工程と、
縮小画像から所定サイズの領域毎に部分領域を抽出する抽出工程と、
前記抽出工程で抽出した部分領域のサイズに基づいて閾値を求める閾値計算工程と、
前記部分領域が前記所定の被写体であるか否かを判断する第１の判断工程と、
前記第１の判断工程で前記部分領域が前記所定の被写体であると判断された場合、前記閾値と所定の値との大小比較を行い、前記閾値が当該所定の値以上であれば、前記部分領域が前記所定の被写体の領域であると判断する第２の判断工程と、
前記縮小工程で生成したそれぞれの縮小画像について、前記抽出工程による処理、前記閾値計算工程による処理、前記値計算工程による処理、前記第１，２の判断工程による処理、を繰り返す繰り返し工程と
を備えることを特徴とする。
【００１７】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【００１８】
即ち、画像から所定の被写体を検出する画像処理装置であって、
前記画像の輝度成分で構成される輝度画像を生成する生成手段と、
前記輝度画像を再帰的に縮小することで、複数枚の縮小画像を生成する縮小手段と、
縮小画像から所定サイズの領域毎に部分領域を抽出する抽出手段と、
前記抽出手段によって抽出した部分領域の抽出位置と、当該抽出した部分領域のサイズとに基づいて閾値を求める閾値計算手段と、
前記部分領域が前記所定の被写体であるか否かを判断する第１の判断手段と、
前記第１の判断手段によって前記部分領域が前記所定の被写体であると判断された場合、前記閾値と所定の値との大小比較を行い、前記閾値が当該所定の値以上であれば、前記部分領域が前記所定の被写体の領域であると判断する第２の判断手段と、
前記縮小手段によって生成したそれぞれの縮小画像について、前記抽出手段による処理、前記閾値計算手段による処理、前記値計算手段による処理、前記第１，２の判断手段による処理、を繰り返す繰り返し手段と
を備えることを特徴とする。
【００１９】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【００２０】
即ち、画像から所定の被写体を検出する画像処理装置であって、
前記画像の輝度成分で構成される輝度画像を生成する生成手段と、
前記輝度画像を再帰的に縮小することで、複数枚の縮小画像を生成する縮小手段と、
縮小画像から所定サイズの領域毎に部分領域を抽出する抽出手段と、
前記抽出手段によって抽出した部分領域の抽出位置に基づいて閾値を求める閾値計算手段と、
前記部分領域が前記所定の被写体であるか否かを判断する第１の判断手段と、
前記第１の判断手段によって前記部分領域が前記所定の被写体であると判断された場合、前記閾値と所定の値との大小比較を行い、前記閾値が当該所定の値以上であれば、前記部分領域が前記所定の被写体の領域であると判断する第２の判断手段と、
前記縮小手段によって生成したそれぞれの縮小画像について、前記抽出手段による処理、前記閾値計算手段による処理、前記値計算手段による処理、前記第１，２の判断手段による処理、を繰り返す繰り返し手段と
を備えることを特徴とする。
【００２１】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【００２２】
即ち、画像から所定の被写体を検出する画像処理装置であって、
前記画像の輝度成分で構成される輝度画像を生成する生成手段と、
前記輝度画像を再帰的に縮小することで、複数枚の縮小画像を生成する縮小手段と、
縮小画像から所定サイズの領域毎に部分領域を抽出する抽出手段と、
前記抽出手段によって抽出した部分領域のサイズに基づいて閾値を求める閾値計算手段と、
前記部分領域が前記所定の被写体であるか否かを判断する第１の判断手段と、
前記第１の判断手段によって前記部分領域が前記所定の被写体であると判断された場合、前記閾値と所定の値との大小比較を行い、前記閾値が当該所定の値以上であれば、前記部分領域が前記所定の被写体の領域であると判断する第２の判断手段と、
前記縮小手段によって生成したそれぞれの縮小画像について、前記抽出手段による処理、前記閾値計算手段による処理、前記値計算手段による処理、前記第１，２の判断手段による処理、を繰り返す繰り返し手段と
を備えることを特徴とする。
【発明の効果】
【００２３】
本発明の構成により、画像中の被写体を正確に検出することができる。
【発明を実施するための最良の形態】
【００２４】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００２５】
［第１の実施形態］
本実施形態に係る画像処理装置は、ＰＣ（パーソナルコンピュータ）やＷＳ（ワークステーション）等のコンピュータにより構成されており、ディジタルカメラなどの撮像装置から入力した画像、インターネットなどのネットワークを介して外部機器からダウンロードした画像、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体からの読み出しにより入力した画像など、様々な入力形態で入力した画像中に含まれている所定の被写体を検出する。なお、本実施形態では被写体として人間の顔を用いるが、その他の被写体を用いても良い。
【００２６】
先ず、このような処理を行う本実施形態に係る画像処理装置について説明する。図３は、本実施形態に係る画像処理装置に適用可能なコンピュータのハードウェア構成を示す図である。
【００２７】
２０１はＣＰＵで、ＲＡＭ２０２やＲＯＭ２０３に格納されているプログラムやデータを用いてコンピュータ全体の制御を行うと共に、コンピュータが行う後述の各処理を実行する。
【００２８】
２０２はＲＡＭで、外部記憶装置２０７や記憶媒体ドライブ装置２０８から読み出したプログラムやデータを一時的に記憶するためのエリア、Ｉ／Ｆ２０９を介して外部から受信したデータを一時的に記憶する為のエリア、ＣＰＵ２０１が各種の処理を実行する為に用いるワークエリア等、各種のエリアを適宜提供することができる。
【００２９】
２０３はＲＯＭで、ここにブートプログラムや本コンピュータの設定データなどを格納する。
【００３０】
２０４、２０５は夫々キーボード、マウスで、コンピュータの操作者が操作することで各種の指示をＣＰＵ２０１に対して入力することができる。
【００３１】
２０６は表示部で、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ２０１による処理結果を文字や画像等でもって表示する。
【００３２】
２０７は外部記憶装置で、例えばハードディスクドライブ装置等の大容量情報記憶装置であって、ここにＯＳ（オペレーティングシステム）や、コンピュータが行う後述の各処理をＣＰＵ２０１に実行させるためのプログラムやデータが格納されており、これらはＣＰＵ２０１による制御に従って適宜ＲＡＭ２０２に読み出される。
【００３３】
２０８は記憶媒体ドライブ装置で、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体に記録されているプログラムやデータを読み出して、ＲＡＭ２０２や外部記憶装置２０７に出力する。なお、上記外部記憶装置２０７に記憶されているプログラムやデータの一部を上記記憶媒体に記録しておいても良く、その場合には、これら記憶されているプログラムやデータを使用する際に、記憶媒体ドライブ装置２０８がこの記憶媒体に記録されているプログラムやデータを読み出して、ＲＡＭ２０２に出力する。
【００３４】
２０９はＩ／Ｆ（インターフェース）で、ここにディジタルカメラやインターネットやＬＡＮのネットワーク回線等を接続することができる。
【００３５】
２１０は上述の各部を繋ぐバスである。
【００３６】
なお、コンピュータへの画像の入力形態については特に限定するものではなく、様々な形態が考えられる。
【００３７】
図１は、本実施形態に係る画像処理装置に適用可能なコンピュータの機能構成を示すブロック図である。同図に示す如く、本実施形態に係る画像処理装置は、画像入力部１０、画像メモリ２０、画像縮小部３０、照合パターン抽出部４０、輝度正規化部５０、閾値設定部６０、顔判別部７０、顔領域出力部７０により構成されている。
【００３８】
画像入力部１０は、例えばディジタルスチルカメラ、フィルムスキャナーなどの装置から出力された画像データを受け、後段の画像メモリ２０に出力するものである。なお、上述の通り、画像の入力形態については特に限定するものではない。
【００３９】
画像メモリ２０は、画像入力部１０から出力される画像データを格納するためのメモリである。
【００４０】
画像縮小部３０は、先ず、画像メモリ２０から受けた画像データの輝度成分で構成される輝度画像を生成する。そして、生成した輝度画像を再帰的に縮小することで、複数枚の縮小画像を生成する。生成したそれぞれの縮小画像（画像メモリ２０から受けた画像データに基づいて生成したオリジナルの輝度画像も１／１の縮小画像と解釈すれば、このオリジナルもまた、縮小画像に含めることができる）は順次後段の照合パターン抽出部４０に出力する。
【００４１】
照合パターン抽出部４０は、画像縮小部３０から縮小画像を受けると、この縮小画像上で所定サイズの矩形を移動させながら、この矩形に含まれる部分（画素群）を照合パターンとして順次抽出し、後段の輝度正規化部５０に出力する。このような処理は、画像縮小部３０から受けたそれぞれの縮小画像について行う。
【００４２】
輝度正規化部５０は、照合パターン抽出部４０から受けた照合パターンを構成する画素群の輝度分布を正規化する。
【００４３】
閾値設定部６０は、照合パターン抽出部４０から受けた照合パターンを抽出した縮小画像のサイズを、全ての縮小画像で共通のサイズに正規化し、更にこの正規化の為に縮小画像を変倍した変倍率分だけ照合パターンのサイズも変倍する。即ち、照合パターン抽出部４０から受けた照合パターンを抽出した縮小画像のサイズをｋ倍するのであれば、この照合パターンのサイズもｋ倍する。
【００４４】
そして、変倍後の縮小画像上における変倍後の照合パターンの位置、及びこの変倍後の照合パターンのサイズに基づいて、顔判別部７０で用いる閾値を求める処理を行う。
【００４５】
顔判別部７０は、輝度正規化部５０から受けた照合パターンが顔パターンであるか、それとも非顔パターンであるのかを判別する処理、及び、顔パターンと判別された照合パターンについて閾値設定部６０から受けた閾値を用いて判別する処理を行う。
【００４６】
顔領域出力部８０は、顔判別部７０が顔パターンであると判別した照合パターンに係る情報を出力する。
【００４７】
以上の各部は、例えば、ＣＰＵ２０１の一機能として動作するものである。
【００４８】
次に、ＣＰＵ２０１が図１に示した各部として動作することでなされる処理、即ち、画像中に含まれている被写体を検出するための処理について、同処理のフローチャートを示す図２を用いて以下説明する。なお、同図のフローチャートに従った処理をＣＰＵ２０１に実行させるためのプログラムやデータは外部記憶装置２０７（もしくは記憶媒体ドライブ装置２０８が読み取り可能な記憶媒体）に保存されており、これをＣＰＵ２０１の制御に従って適宜ＲＡＭ２０２にロードし、ＣＰＵ２０１がこれを用いて処理を実行することで、コンピュータは以下説明する各処理を実行することになる。
【００４９】
外部記憶装置２０７や、Ｉ／Ｆ２０９を介して外部から画像データが入力されると、ＣＰＵ２０１は、これをＲＡＭ２０２内の上記画像メモリ２０に相当するエリアに一時的に格納する（ステップＳ１０１）。なお、本コンピュータに入力した画像が圧縮されている場合には、これを伸張してからＲＡＭ２０２に一時的に格納する。
【００５０】
本実施形態では、入力された画像データを構成する各画素は、Ｒ、Ｇ、Ｂで表現されるものであるとする。従って、ＣＰＵ２０１は、ステップＳ１０１でＲＡＭ２０２に格納した画像データに基づいて、この画像の輝度成分で構成される画像（輝度画像）、即ち、この画像を構成する各画素の値をこの画素の輝度値に変換した画像を生成する（ステップＳ１０２）。なお、ステップＳ１０１でＲＡＭ２０２に格納した画像データを構成する各画素がＹＣｒＣｂで表現されるものである場合には、ステップＳ１０２では、Ｙ成分のみを用いて輝度画像を生成する。
【００５１】
次に、ＣＰＵ２０１は、生成した輝度画像を再帰的に縮小することで、複数枚の縮小画像を生成する（ステップＳ１０３）。例えば、ステップＳ１０２で生成した輝度画像（以下の説明上、縮小画像１と呼称する）の縦横のサイズを１／１．２倍した縮小画像２を生成し、次に縮小画像２の縦横のサイズを１／１．２倍した縮小画像３を生成する、というように、複数枚の縮小画像を生成する。これは、以後の処理で顔を抽出する際に、様々な大きさの顔の検出に対応するため複数のサイズの画像データに対して順次検出を行うようにしたためである。なお、生成する縮小画像の枚数については特に限定するものではない。
【００５２】
そして、ステップＳ１０４以降では、生成したそれぞれの縮小画像について処理を行う。即ち、ステップＳ１０４以降の処理は、生成した縮小画像の数だけ繰り返し行うことになる。
【００５３】
以降の説明では、生成した縮小画像はサイズの大きい順に縮小画像１、縮小画像２、、、、縮小画像Ｎと呼称するものとし、先ず、縮小画像１について以降の処理を行うものとする。なお、処理の対象として選択する順番については特に限定するものではない。
【００５４】
先ず、ＣＰＵ２０１は、縮小画像１上に所定サイズの矩形を配置し、矩形内の画素群を照合パターンとして抽出する（ステップＳ１０４）。この矩形は、縮小画像１上の各位置に配置した場合に、それぞれの位置における矩形内の画素群を得るためのものであるので、例えばこの矩形は最初は画像の左上隅に配置する。
【００５５】
次に、ステップＳ１０４で抽出した照合パターン内の各画素の輝度分布を正規化する処理を行う（ステップＳ１０５）。例えば、ヒストグラム平滑化などの輝度補正を行う。これは、撮像される被写体パターンはその照明条件によって輝度分布が変わるので被写体照合の精度が劣化するのを抑制するためである。
【００５６】
次に、ステップＳ１０５で輝度分布が正規化された照合パターン（輝度パターン）が、顔パターン（顔とおぼしきパターン）であるか非顔パターンであるかを判定する。（ステップＳ１０６）。そして、この照合パターンが顔パターンであると判定した場合には、処理をステップＳ１０７に進める。
【００５７】
図５は、所定領域内のパターンを識別する為のニューラルネットワークの動作について示した図である。同図においてＲは、例えば画像上で識別する領域を示すものであり、本実施形態ではこの領域Ｒを同図に示す如く、３種類の方法にてさらに領域分割し、各ニューロン（Ｎで示す）への受容野とする。そして、分割された領域の輝度分布を各ニューロンに入力し、中間層での出力が得られる。そして、各ニューロンの出力を出力層のニューロンの入力として最終出力が得られる。
【００５８】
ここで、各ニューロンでは予め学習によって得られた重みと輝度分布との積和演算およびその結果のシグモイド関数による演算が行われる。本実施形態では出力層のニューロンの出力値を顔確率とした（ニューラル・ネットワークの詳細および学習の方法については、上記非特許文献２を参照されたい）。なお、ステップＳ１０５で輝度分布が正規化された照合パターンが顔パターンである確率（顔確率）を求める処理についてはこれに限定するものではなく、例えば、Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2001に”Rapid Object Detection using a Boosted Cascade of Simple Features”と題するViolaとJonesによる報告で提案されているAdaBoostによる方式を用いてもよい。
【００５９】
図４は、様々なサイズの縮小画像（本実施形態の場合には縮小画像１、縮小画像２、、、、縮小画像Ｎ）について、顔のパターンを検出するための処理を説明する図である。それぞれの縮小画像上の各位置に同じサイズの矩形を配置した場合に、それぞれの位置における矩形内の領域が顔のパターンであるのか否かを判断するために、先ず、同図左側に示す如く、縮小画像の左上隅に矩形を配置し、そこから右側に、上から下に向かって矩形の位置を移動させる。移動させる毎に矩形内の画素群は照合パターンとして顔のパターンの判別に用いられる。
【００６０】
図２に戻って、次に、ステップＳ１０５で輝度分布が正規化された照合パターンが顔パターンであるのか否かを判別するために用いる閾値を求めるのであるが、求める閾値は、照合パターンの縮小画像１上における位置と、この照合パターンのサイズとに応じて決まるものである。ここで、上述の通り、ステップＳ１０７以降で用いる縮小画像１のサイズは、全ての縮小画像で共通のサイズに正規化すべく、変倍されていると共に、この変倍率分だけ照合パターンのサイズも変倍していることに注意されたい。
【００６１】
以下、閾値を求めるための処理について説明する。
【００６２】
先ず、図２のフローチャートに従った処理を行う前に予め、顔が写っている画像を膨大な数用意し、それぞれの画像のサイズを正規化（正規化サイズは、縮小画像を正規化したときのサイズと略同じであることが好ましい）した上で、それぞれの画像について以下の処理を行う。
【００６３】
先ず、図６に示す如く、画像（人物写真）内で顔の領域をＰで示す如く設定する。設定方法としては、例えば、この画像をコンピュータの表示画面上に表示させ、このコンピュータの操作者はマウスなどでもって、目、鼻、口等の顔の器官を含むような領域Ｐを指定する。若しくは、図７に示す如く、両目の位置より顔の領域を設定してもよい。なお、図７でｈは両目の間隔の半分の長さを表す。
【００６４】
これにより、画像中の顔の領域が決定するので、図８に示す如く、顔の領域の中心Ａ（矩形領域の対角線の交点）と画像の中心との距離ｒを求める。また、顔の領域のサイズｍ（本実施形態では顔の領域は正方形とするので、その一辺の長さを「サイズ」とする）を求める。
【００６５】
そしてこのようなｒ、ｍを求める処理を、用意した全ての画像について行う。これにより、ｒ、ｍのセットが多数得られ、ｒ、ｍのそれぞれの出現頻度を求めることができる。
【００６６】
図９Ａは、求めた多数のｒのヒストグラムの例を示した図である。同図では、距離ｒが０〜ｒ１である頻度、ｒ１〜ｒ２である頻度、、、というヒストグラムを示している。
【００６７】
図９Ｂは、求めた多数のｍのヒストグラムの例を示した図である。同図では、サイズｍが０〜ｍ１である頻度、ｍ１〜ｍ２である頻度、、、というヒストグラムを示している。
【００６８】
図９Ａに示す如く、顔の領域は、画像の中心に近いほど多く位置している。また、図９Ｂに示す如く、顔の領域のサイズは、極端に大きくもなく、小さくもない。即ち、上半身ポートレートから全身のスナップ写真でなどでは様々な大きさを持つが、画像に対して小さすぎる顔や大きい顔はあまり存在しないことを示している。
【００６９】
次に、このようにして求めた２つのヒストグラムを用いて、ｒに対する閾値関数ｔｈ１（ｒ）、ｍに対する閾値関数ｔｈ２（ｍ）を求める。
【００７０】
先ず、閾値関数ｔｈ１（ｒ）を求める為の処理について説明する。先ず、図９Ａに示すようなヒストグラムが得られた場合、それぞれ区間の出現頻度（区間０〜ｒ１の出現頻度、区間ｒ１〜ｒ２の出現頻度、、、）を最大の出現頻度（区間０〜ｒ１の出現頻度、区間ｒ１〜ｒ２の出現頻度、、、のうち最大の出現頻度）でもって除算することでそれぞれの区間の出現頻度を正規化し、正規化したそれぞれの区間の出現頻度の逆数を、それぞれの区間の関数値とする。
【００７１】
即ち、最大の出現頻度をＲとすると、区間ｒ（ｉ−１）〜ｒｉ  （ｉ＝２〜ｎ）の出現頻度をＲで除算し、正規化する。そして正規化した出現頻度の逆数を区間ｒ（ｉ−１）〜ｒｉに対する関数値とする。
【００７２】
図１０Ａは、図９Ａに示したヒストグラムを用いて作成した関数値群を示す図である。図１０Ａにおいて点線部分は図９Ａに示したヒストグラムを示しており、黒丸が各区間について求めた関数値を示している。図１０Ａに示す如く、出現頻度の高い区間ほど、関数値は低い。
【００７３】
そして、それぞれの関数値を用いて、図１０Ｂに示す如く、曲線を求める。図１０Ｂは、図１０Ａに示したそれぞれの関数値を用いて求めた曲線の例を示す図である。この曲線が閾値関数ｔｈ１（ｒ）であり、距離ｒを引数とする関数である。なお、それぞれの関数値を用いて曲線を求めるための手法についてはスプライン関数を用いた手法など、様々なものがあり、特に限定するものではない。
【００７４】
次に、閾値関数ｔｈ２（ｍ）を求める為の処理について説明する。先ず、図９Ｂに示すようなヒストグラムが得られた場合、それぞれの区間の出現頻度（区間０〜ｍ１の出現頻度、区間ｍ１〜ｍ２の出現頻度、、、）を最大の出現頻度（区間０〜ｍ１の出現頻度、区間ｍ１〜ｍ２の出現頻度、、、のうち最大の出現頻度）でもって除算することでそれぞれの区間の出現頻度を正規化し、正規化したそれぞれの区間の出現頻度の逆数を、それぞれの区間の関数値とする。
【００７５】
即ち、最大の出現頻度をＦとすると、区間ｍ（ｉ−１）〜ｍｉ  （ｉ＝２〜ｎ）の出現頻度をＦで除算し、正規化する。そして正規化した出現頻度の逆数を区間ｍ（ｉ−１）〜ｍｉに対する関数値とする。
【００７６】
図１１Ａは、図９Ｂに示したヒストグラムを用いて作成した関数値群を示す図である。図１１Ａにおいて点線部分は図９Ｂに示したヒストグラムを示しており、黒丸が各区間について求めた関数値を示している。図１１Ａに示す如く、出現頻度の高い区間ほど、関数値は低い。
【００７７】
そして、それぞれの関数値を用いて、図１１Ｂに示す如く、曲線を求める。図１１Ｂは、図１１Ａに示したそれぞれの関数値を用いて求めた曲線の例を示す図である。この曲線が閾値関数ｔｈ２（ｍ）であり、サイズｍを引数とする関数である。なお、それぞれの関数値を用いて曲線を求めるための手法についてはスプライン関数を用いた手法など、様々なものがあり、特に限定するものではない。
【００７８】
このように、顔パターンであるのか否かを判別するために用いる閾値を人物写真における顔の位置及びサイズの分布から導出することにより、例えば、人物顔の出現確率が比較的高い画像の中心ほど閾値を小さく、また、出現確率が低い大きいサイズの顔ほど、閾値が大きくなるように設定することができる。
【００７９】
以上説明した閾値関数ｔｈ１（ｒ）、ｔｈ２（ｍ）は事前に求めておき、この関数を示すデータはステップＳ１０７における処理の開始前にはＲＡＭ２０２にロードされている。
【００８０】
図２に戻って、次に、ＣＰＵ２０１は、ステップＳ１０５で輝度分布が正規化された照合パターン（変倍済み）の中心位置と縮小画像１（変倍済み）の中心位置との距離ｒ１を位置情報として求める（ステップＳ１０７）。
【００８１】
次に、ステップＳ１０５で輝度分布が正規化された照合パターン（変倍済み）のサイズｍ１をサイズ情報として求める（ステップＳ１０８）。
【００８２】
図１２は、ステップＳ１０７，Ｓ１８０で求めた距離ｒ１，サイズｍ１を示す図である。
【００８３】
そして、予め求めた閾値関数ｔｈ１（ｒ）とステップＳ１０７で求めたｒ１とを用いて、閾値関数ｔｈ１（ｒ１）の値を求めると共に、予め求めた閾値関数ｔｈ２（ｍ）とステップＳ１０８で求めたｍ１とを用いて、閾値関数ｔｈ２（ｍ１）の値を求め、それぞれの積θ
θ＝ｔｈ１（ｒ１）×ｔｈ２（ｍ１）
を、閾値として求める（ステップＳ１０９）。
【００８４】
図１３Ａは、閾値関数ｔｈ１（ｒ１）を説明する図で、図１３Ｂは閾値関数ｔｈ２（ｍ１）を説明する図である。
【００８５】
そして、ステップＳ１０９で求めた閾値θがある値αより大きい場合には、ステップＳ１０５で輝度分布を正規化した照合パターンが顔パターンであるとすることができるので、処理をステップＳ１１１に進め、本フローチャートに従った処理の後、この照合パターンを特定する為に必要な情報をＲＡＭ２０２や外部記憶装置２０７、Ｉ／Ｆ２０９を介して通信可能な外部装置などに対して出力する（ステップＳ１１１）。出力する情報としては、例えば、縮小画像１をオリジナルの輝度画像のサイズに変倍すると共に、この変倍率分だけ照合パターンを変倍した場合に、変倍後の照合パターンのサイズ、及び変倍後の縮小画像１上における変倍後の照合パターンの位置、があるが、これに限定するものではない。
【００８６】
図２に戻って、次に処理をステップＳ１１２に進め、縮小画像１上における矩形の移動先があるのかをチェックする（ステップＳ１１２）。即ち、縮小画像１上における矩形の位置を移動させ、次の位置における矩形内の部分（画素群）を照合パターンとして抽出する処理を行う場合に、移動先が無い場合、例えば、現在の矩形の位置が既に縮小画像１の右下隅の位置であれば、もう矩形の移動は行えない。一方、現在の矩形の位置が既に縮小画像１の右下隅の位置でなければ、矩形の移動を行うことができる。
【００８７】
従って、移動先がある場合には処理をステップＳ１１２からステップＳ１１３に進め、縮小画像１上における矩形の位置を移動させる（ステップＳ１１３）。そして矩形の移動が完了すると、処理をステップＳ１０４に進め、移動後の矩形内における照合パターンを抽出し、以降の処理を行う。
【００８８】
一方、矩形の移動先がない場合には、処理をステップＳ１１４に進め、全ての縮小画像について以上の処理を行ったのかを判断し（ステップＳ１１４）、まだ処理対象となっていない縮小画像がある場合には処理をステップＳ１１５に進め、縮小画像上に配置する矩形の位置を初期化（例えば縮小画像の左上隅の位置に戻す）し（ステップＳ１１５）、次の縮小画像についてステップＳ１０４以降の処理を行う。
【００８９】
本実施形態では現在縮小画像１について処理を行ったので、次は縮小画像２について処理を行う。よってこの場合には、縮小画像２上の左上隅の位置に矩形を配置し（ステップＳ１１５）、この縮小画像２についてステップＳ１０４以降の処理を行う。
【００９０】
よって、縮小画像ｎ（ｎ≧２）についてステップＳ１０４以降の処理を行うことで、縮小画像ｎ上において照合パターンを抽出した領域の位置、サイズに基づいてこの照合パターンが顔パターンであるのか否かを判別する為に用いる閾値を求めることができ、求めた閾値でもってこの判別の処理を行うことができる。
【００９１】
以上の説明により、本実施形態によれば、画像中の照合パターンが顔パターンであるか否かを判別する際に用いる閾値は、この画像中における照合パターンの位置、及びサイズに応じて適宜変更することができる。その結果、この閾値を用いて顔判別処理を行うことで、画像中の照合パターンの位置が「顔パターンが高い頻度で出現する位置」であるほど、また、この照合パターンのサイズが「顔パターンが高い頻度で取るサイズ」であるほど、この照合パターンが顔パターンであると判別する確率が高くなり、より正確に顔パターンであるか否かを判別することができる。
【００９２】
［第２の実施形態］
第１の実施形態では、ステップＳ１０６で、照合パターンが顔パターンである度合いを示す指標として「顔確率」を求めたが、この指標に適当なものは第１の実施形態でも説明したとおり、様々なものが考えられ、これに限定するものではない。
【００９３】
また、第１の実施形態では、閾値θを、閾値関数ｔｈ１（ｒ）と閾値関数ｔｈ２（ｍ）との積でもって求めていた。これは、距離ｒとサイズｍとの両方を考慮したものであるが、一方のみを考慮しても良い。即ち、閾値関数ｔｈ１（ｒ）の値をそのまま閾値θとして用いるようにしても良いし、閾値関数ｔｈ２（ｍ）の値をそのまま閾値関数θとして用いるようにしても良い。
【００９４】
また、閾値関数を求めるための手法については様々なものが考えられ、第１の実施形態で説明した方法に限定するものではないが、距離ｒが大きいほど閾値が大きくなるように、且つ距離ｒが小さくなるほど閾値が小さくなるような閾値と距離との関係式を用いて閾値を求めればよい。また、サイズｍが極端に大きい、若しくは小さいほど閾値が大きくなるように、且つサイズｍがその中間であるほど閾値が小さくなるような閾値とサイズとの関係式を用いて閾値を求めればよい。
【００９５】
また、閾値関数ｔｈ１（ｒ）では、距離を引数としていたが、位置を引数とするようにしても良い。即ち、図１４Ａに示す如く、距離ｒの代わりに、顔の領域の位置（ｘ、ｙ）を求める。そして、閾値関数ｔｈ３（ｘ、ｙ）は、図１４Ｂに示す如く、画像中で顔の領域が位置する頻度が高い座標値に近いほど低い値（同図において暗い領域ほど、関数値は低い）を取るよう、構成される。そして、この閾値関数ｔｈ３（ｘ、ｙ）を上記閾値関数ｔｈ１（ｒ）の代わりに用いる。
【００９６】
また、位置ｒ及びサイズｍの２つを引数とする関数ｔｈ（ｒ，ｍ）として設定する方法も挙げられる。
【００９７】
［その他の実施形態］
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００９８】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９９】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１００】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１０１】
【図１】本発明の第１の実施形態に係る画像処理装置に適用可能なコンピュータの機能構成を示すブロック図である。
【図２】画像中に含まれている被写体を検出するための処理のフローチャートである。
【図３】本発明の第１の実施形態に係る画像処理装置に適用可能なコンピュータのハードウェア構成を示す図である。
【図４】様々なサイズの縮小画像（本実施形態の場合には縮小画像１、縮小画像２、、、、縮小画像Ｎ）について、顔のパターンを検出するための処理を説明する図である。
【図５】所定領域内のパターンを識別する為のニューラルネットワークの動作について示した図である。
【図６】顔の領域設定を説明する図である。
【図７】顔の領域設定を説明する図である。
【図８】顔の領域の位置、サイズを説明する図である。
【図９Ａ】求めた多数のｒのヒストグラムの例を示した図である。
【図９Ｂ】求めた多数のｍのヒストグラムの例を示した図である。
【図１０Ａ】図９Ａに示したヒストグラムを用いて作成した関数値群を示す図である。
【図１０Ｂ】図１０Ａに示したそれぞれの関数値を用いて求めた曲線の例を示す図である。
【図１１Ａ】図９Ｂに示したヒストグラムを用いて作成した関数値群を示す図である。
【図１１Ｂ】図１１Ａに示したそれぞれの関数値を用いて求めた曲線の例を示す図である。
【図１２】ステップＳ１０７，Ｓ１８０で求めた距離ｒ１，サイズｍ１を示す図である。
【図１３Ａ】閾値関数ｔｈ１（ｒ１）を説明する図である。
【図１３Ｂ】閾値関数ｔｈ２（ｍ１）を説明する図である。
【図１４Ａ】顔の領域の位置を説明する図である。
【図１４Ｂ】閾値関数ｔｈ３（ｘ、ｙ）を説明する図である。
【図１】
2007026308.tif 000003
【図２】
2007026308.tif 000004
【図３】
2007026308.tif 000005
【図４】
2007026308.tif 000006
【図５】
2007026308.tif 000007
【図６】
2007026308.tif 000008
【図７】
2007026308.tif 000009
【図８】
2007026308.tif 000010
【図９Ａ】
2007026308.tif 000011
【図９Ｂ】
2007026308.tif 000012
【図１０Ａ】
2007026308.tif 000013
【図１０Ｂ】
2007026308.tif 000014
【図１１Ａ】
2007026308.tif 000015
【図１１Ｂ】
2007026308.tif 000016
【図１２】
2007026308.tif 000017
【図１３Ａ】
2007026308.tif 000018
【図１３Ｂ】
2007026308.tif 000019
【図１４Ａ】
2007026308.tif 000020
【図１４Ｂ】
2007026308.tif 000021