(57)【特許請求の範囲】
【請求項１】
画像から人物の顔を検出する顔検出装置であって、
異なる撮影角度で撮影しても、頬の輝度値を基準としたとき、顔の片方の半面の領域のうち輝度値の変動が小さい領域である部分顔画像および非顔の画像を学習データとし、該学習データをもとに特徴空間において算出される前記部分顔クラスと非顔クラスとの識別面を定義する式の係数を含む、顔と非顔とを判別する顔度の算出に必要な情報を記録した顔度算出辞書と、
前記顔度算出辞書を読み込む辞書読込部と、
入力した画像から部分領域画像を切り取る対象領域切出部と、
前記顔度算出辞書に記録された前記識別面を定義する式の係数を用いて、前記特徴空間における前記部分領域画像と前記識別面との距離により算出される顔度を算出する顔度算出部と、
前記顔度と設定値とを比較し、該顔度と該設定値との大きさにより前記部分領域画像が顔領域であるか否かを判定する顔非顔判定部と、
を有することを特徴とする顔検出装置。
【請求項２】
画像から人物の顔を検出する顔検出装置における顔検出方法であって、
異なる撮影角度で撮影しても、頬の輝度値を基準としたとき、顔の片方の半面の領域のうち輝度値の変動が小さい領域である部分顔画像および非顔の画像を学習データとし、該学習データをもとに特徴空間において算出される前記部分顔クラスと非顔クラスとの識別面を定義する式の係数を含む、顔と非顔とを判別する顔度の算出に必要な情報を記録した顔度算出辞書を、辞書読込部が読み込むステップと、
対象領域切出部が、入力した画像から部分領域画像を切り取るステップと、
顔度算出部が、前記顔度算出辞書に記録された前記識別面を定義する式の係数を用いて、前記特徴空間における前記部分領域画像と前記識別面との距離により算出される顔度を算出するステップと、
顔非顔判定部が、前記顔度と設定値とを比較し、該顔度と該設定値との大きさにより前記部分領域画像が顔領域であるか否かを判定するステップと、
を有することを特徴とする顔検出方法。
【請求項３】
上記の請求項２に記載の顔検出方法を、コンピュータプログラムで記載してそれをコンピュータで実行可能にしたことを特徴とするプログラム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に含まれる人物の顔を、識別するための顔検出技術に関する。
【背景技術】
【０００２】
カメラ付き携帯電話やデジタルカメラの普及により、個人の扱う画像数は増大した。こうした画像を人物画像とそれ以外の画像とによる分類、人数による分類、検索等を行うためには、画像中から人物の顔のみを正確に検出する必要がある。
【０００３】
画像中から人物の顔を検出する画像処理の技術は様々な研究がされている。例えば、顔と顔でないもの（以下、非顔と記述）とを学習して顔を判別する方法が研究されている（例えば、非特許文献１参照。）。この方法では非顔の学習により、類似パターンの誤検出を低減した精度の良い顔検出を行うことができるが、処理速度が遅い。
【０００４】
これに対し、高速なパターン認識の手法として、Ｈａａｒ型の特徴量を用い、ＡｄａＢｏｏｓｔ学習法、及びカスケード構造検出器による方法が研究されている（例えば、非特許文献２参照）。しかし、いずれの手法も、類似パターンの誤検出は存在する。しかも、顔の向きに対応する識別器を作成するためには、複数の識別器を用意しなければならず、識別器の数に応じて誤検出は累積的に増大するという問題がある。
【非特許文献１】栗田多喜夫，田口俊晴，堀田一弘，三島健稔，「カーネル判別分析を用いた顔と顔以外の識別」、電子情報通信学会パターン認識・メディア理解研究会，Ｖｏｌ．ＰＲＭＵ２００１−２０８，ｐｐ．１７−２４，２００２．１
【非特許文献２】勞世≡，山下隆義，岡本卓也，川出雅人，“高速全方向顔検出”，電子情報通信学会  画像の認識・理解シンポジウム（ＭＩＲＵ２００４），ｐｐ．２７１−２７６，２００４年７月
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記のように、ユーザが、人物の有無、人数、撮影環境、撮像機器によらず、任意に撮影した画像群中から、必ずしも正面向きでない人物の顔を検出しようとする場合、処理速度や誤検出が問題となっていた。
【０００６】
本発明の目的は、ユーザが撮影した画像中から、人物の顔を高速に検出することができる顔検出技術、及び人物の顔を精度よく検出することができる顔検出技術を提供することにある。
【課題を解決するための手段】
【０００７】
そこで、上記課題を解決するために、請求項１に記載の発明は、画像から人物の顔を検出する顔検出装置であって、画像から人物の顔を検出する顔検出装置であって、異なる撮影角度で撮影しても、頬の輝度値を基準としたとき、顔の片方の半面の領域のうち輝度値の変動が小さい領域である部分顔画像および非顔の画像を学習データとし、該学習データをもとに特徴空間において算出される前記部分顔クラスと非顔クラスとの識別面を定義する式の係数を含む、顔と非顔とを判別する顔度の算出に必要な情報を記録した顔度算出辞書と、前記顔度算出辞書を読み込む辞書読込部と、入力した画像から部分領域画像を切り取る対象領域切出部と、前記顔度算出辞書に記録された前記識別面を定義する式の係数を用いて、前記特徴空間における前記部分領域画像と前記識別面との距離により算出される顔度を算出する顔度算出部と、前記顔度と設定値とを比較し、該顔度と該設定値との大きさにより前記部分領域画像が顔領域であるか否かを判定する顔非顔判定部と、を有することを特徴とする。
【０００８】
また、請求項２に記載の発明は、画像から人物の顔を検出する顔検出装置における顔検出方法であって、異なる撮影角度で撮影しても、頬の輝度値を基準としたとき、顔の片方の半面の領域のうち輝度値の変動が小さい領域である部分顔画像および非顔の画像を学習データとし、該学習データをもとに特徴空間において算出される前記部分顔クラスと非顔クラスとの識別面を定義する式の係数を含む、顔と非顔とを判別する顔度の算出に必要な情報を記録した顔度算出辞書を、辞書読込部が読み込むステップと、対象領域切出部が、入力した画像から部分領域画像を切り取るステップと、顔度算出部が、前記顔度算出辞書に記録された前記識別面を定義する式の係数を用いて、前記特徴空間における前記部分領域画像と前記識別面との距離により算出される顔度を算出するステップと、顔非顔判定部が、前記顔度と設定値とを比較し、該顔度と該設定値との大きさにより前記部分領域画像が顔領域であるか否かを判定するステップと、を有することを特徴とする。
【０００９】
また、請求項３に記載の発明は、上記の請求項１または２に記載の顔検出装置又は顔検出方法を、コンピュータプログラムで記載してそれを実行可能にしたことを特徴とする。
【００１７】
請求項１〜３に記載の発明では、顔度算出辞書は、異なる撮影角度で撮影しても、頬の輝度値を基準としたとき、顔の片方の半面の領域のうち輝度値の変動が小さい領域である部分顔画像が学習データに使用され、該顔度算出辞書の部分顔クラス・非顔クラスの識別面と入力画像の部分領域画像との距離から顔度が算出され、該顔度にもとづき最終的な顔・非顔判定が行われる。
【発明の効果】
【００１９】
請求項１〜３に記載の発明によれば、顔の部分領域を対象とする顔度算出辞書を用いるので、１つの辞書で広範囲な向きの顔検出が可能となり、辞書数を増大させることによる誤検出を生じない。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施形態を図面を用いて説明する。
【００２１】
図１は、本発明による顔検出装置の構成の概略を示す図である。図１に示すように、顔検出装置は、画像入力部１１、顔領域候補抽出部１２、顔領域判定部１３、及び検出結果出力部１４から構成される。
【００２２】
画像入力部１１では、撮影された画像を取得する。
【００２３】
顔領域候補抽出部１２では、入力画像のスケール変換を行い、各スケールの画像中から部分領域を切り出して空間周波数分析を行うことによって、画像中から顔である可能性が高い領域を抽出する。
【００２４】
顔領域判定部１３では、顔領域候補となった領域で詳細な顔検出を行う。具体的には、顔領域候補内の一部を部分領域として切り出し、顔度を算出することによって、領域内の顔の有無判定を行う。
【００２５】
検出結果出力部１４では、顔領域判定部による判定結果に基づき、入力画像に顔領域に関する情報を付与し、出力する。
【００２６】
図２は、顔領域候補抽出部１２の構成を示す図である。この図２を用いて顔領域候補抽出部１２について説明する。図２に示すように、顔領域候補抽出部１２は、画像スケール変換部２１、検出対象領域切出部２２、空間周波数分析部２３、顔候補判定部２４、及び顔候補情報記憶部２５から構成される。
【００２７】
画像スケール変換部２１では、画像入力部１１に入力された画像のスケール変換を行う。ここで、最小画像サイズ、及びスケール変換幅はあらかじめ設定されているものとする。スケールごとに顔領域候補を探索し、全てのスケールでの探索終了時に顔領域候補抽出部１２での処理が終了となる。
【００２８】
検出対象領域切出部２２では、スケール変換された画像から既定のサイズの領域の切り出しを行う。ただし、ここで扱う領域の形状は、任意形状であってよいものとする。
【００２９】
空間周波数分析部２３では、切り出された領域に対し空間周波数フィルタリングを行う。例えば、ＡｄａＢｏｏｓｔ学習手法、及びカスケード検出器構造をもつ、Ｈａａｒ型の特徴量検出による手法を用いてもよい。この手法は、文献Ｐ．Ｖｉｏｌａ，Ｍ．Ｊｏｎｅｓ，  “Ｒａｐｉｄ  ｏｂｊｅｃｔ  Ｄｅｔｅｃｔｉｏｎ  ｕｓｉｎｇ  ａ  Ｂｏｏｓｔｅｄ  Ｃａｓｃａｄｅ  ｏｆ  Ｓｉｍｐｌｅ  Ｆｅａｔｕｒｅｓ”，  Ｉｎ  Ｐｒｏｃ．ＩＥＥＥ  Ｃｏｎｆ．ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ，Ｋａｕａｉ，ＵＳＡ，２００１に詳しいので、詳細はここでは省略する。
【００３０】
顔候補判定部２４では、空間周波数分析部２３の出力値をもとに、領域が顔領域候補となり得るかを判定する。
【００３１】
顔候補情報記憶部２５では、顔領域候補及び候補検出時のスケールを記憶する。
【００３２】
図３は、顔領域判定部１３の構成を示す図である。この図３を用いて顔領域判定部１３について説明する。図３に示すように、顔領域判定部１３は、顔度算出辞書３１、辞書読み込み部３２、対象領域切出部３３、顔度算出部３４、顔非顔判定部３５、及び判定結果記憶部３６から構成される。
【００３３】
顔情報の詳細を見るための顔度算出辞書３１は、あらかじめ作成してあるものとする。顔度算出辞書３１は、作成時に学習判別手法としてサポートベクターマシンなどを用い、既定のサイズの領域に限定した顔（以下、部分顔と記載）と非顔とを学習し、作成するものとする。顔と非顔との学習判別にはサポートベクターマシンなどの学習判別手法を用いる。この手法は、文献”「サポートベクターマシン〜基本的仕組みと最近の発展」数理科学ＮＯ．４４４サイエンス社，ＪＵＮＥ  ２０００  赤穂ら”に詳しいので、詳細はここでは省略する。
【００３４】
顔度算出辞書３１内には、顔度算出部３４で使用するパラメータが含まれるものとし、顔と非顔とを判別する顔度を算出するのに必要な情報を含むものとする。すなわち、学習データをもとに、特徴空間において算出される顔クラスと非顔クラスとの識別面を定義する式の係数を含むものとし、顔度は、この式により表される識別面からの距離により算出されるものとする。
【００３５】
辞書読み込み部３２は、顔度算出辞書３１を読み込み、顔度算出部３４で用いることができるようにする。
【００３６】
対象領域切出部３３では、入力画像及び顔領域候補抽出部１２で算出された顔領域候補情報に基づき、顔領域候補領域から検出対象とする部分領域の切り出しを行う。
【００３７】
顔度算出部３４は、辞書読み込み部３２で読み込まれた顔度算出辞書３１を参照し、対象領域切出部３３で対象とした領域の顔度を算出する。
【００３８】
顔非顔判定部３５では、顔度算出部３４により算出された顔度が顔に相当するものであるか、非顔に相当するものであるかを判定する。
【００３９】
判定結果記憶部３６では、顔非顔判定部３５で算出された判定情報を記憶する。
【００４０】
判定結果は、検出結果出力部１４において、顔検出装置からの検出結果として出力される。
【００４１】
図４は、顔領域判定部１３で、顔領域判定を行う際に対象領域とする部分顔の一例を示した図である。
【００４２】
部分顔として、正面向きの顔の全領域を使用して辞書を作成した例を（ａ）に示す。この場合、検出される顔の向きは正面のみになり、横向き、上下向きの顔は検出されない。
【００４３】
部分顔として、顔の半面を使用して辞書を作成した例を（ｂ）に示す。この場合、検出される顔の向きは正面から横向きとなり、広い角度範囲の顔が検出できる。
【００４４】
例えば、顔が回転運動をするとき、回転軸が画像平面に平行な場合には、回転により見え方の変化量が少ない領域が存在する。よって、顔の領域のうち、撮影角度により、輝度値の変動が小さい領域を使用することができる。具体的には、検出対象が顔画像である場合は、左半面の目や口の形の形状は、多少の右回転変動による変動が小さい。また、頬の輝度値を基準としたときの目や口、鼻の輝度値の大きさも変化が少ない。
【００４５】
よって、目と口の位置で正規化した顔の左半面領域を切り出して、大きさや輝度分布による正規化を行い、作成したテンプレートを用いることができる。したがって、例えば正面向きから右３０度までの顔を検出したい場合には、被写人物の目、鼻、口を含む左反面をその特徴としてもよい。
【００４６】
こうした顔領域の大きさは、大きさの正規化の基準となり得る特徴点、例えば、目、眉、鼻、口の端点等の存在を調べ、共通する特徴点のみが含まれるように、決定してもよい。
【００４７】
このように、検出したい顔向き範囲にあわせて辞書を作成し、検出に使用してもよい。また、複数の辞書をあわせもち、システム利用時にユーザが用途に合わせて選択できるようにしてもよい。
【００４８】
図５は、顔検出装置において、顔領域候補抽出を行う際の処理の流れを示す図である。図５に示すように、具体的なステップは以下の通りである。
【００４９】
ステップ５１：画像入力部１１に入力された画像の取得を行う。
【００５０】
ステップ５２：画像の縮小処理を行うスケールパラメータを初期化する。ステップ５３以降の処理は、画像をスケールパラメータにしたがって縮小しながらの繰り返し処理となる。ここで、スケールパラメータの繰り返し処理ごとの更新は、あらかじめ規定された最小スケールまで、規定のステップ幅で行われるものとする。
【００５１】
ステップ５３：入力画像から対象領域の切り出しを行う。
【００５２】
ステップ５４：切り出された領域の空間周波数フィルタリングを行う。
【００５３】
ステップ５５：ステップ５４の結果として得られる数値が、規定の顔領域候補となる得る閾値以上の値であれば、顔領域候補と判断し、閾値以下の値であれば、顔領域候補外とする。切り出された領域が顔領域候補である場合には、ステップ５６へ進み、それ以外は、ステップ５７へ進む。
【００５４】
ステップ５６：切り出された領域を顔領域候補として、画像中における位置、スケールを顔候補情報記憶部２５に記憶する。
【００５５】
ステップ５７：画像中の全領域を対象領域としたかを判断。全領域を対象領域として探索を終了した場合は、ステップ５８へ進み、それ以外は、ステップ５３に戻り、走査式に次の領域を対象領域とする。
【００５６】
ステップ５８：現在処理しているスケールが、入力画像に対し、最小スケールとなるものであるかを判断。最小スケールであれば処理を終了し、それ以外は、ステップ５９へ進む。
【００５７】
ステップ５９：指定ステップ幅で入力画像を縮小（スケール変換）する。
【００５８】
図６は、顔検出装置において、顔領域判定を行う際の処理の流れを示す図である。図６に示すように、具体的なステップは以下の通りである。
【００５９】
ステップ６１：顔度算出辞書３１の読み込みを行う。
【００６０】
ステップ６２：顔領域候補抽出部１２で記憶された顔領域候補の読み込みを行う。なお、一度に読み込む顔領域候補の情報は１つとし、ステップ６２以下のステップは領域候補数分、繰り返し処理を行う。
【００６１】
ステップ６３：顔候補情報記憶部２５から顔領域候補抽出部１２で候補領域を抽出したスケールを読み出すとともに、候補領域から対象領域を切り出し、読み出したスケールに変換する。
【００６２】
ステップ６４：対象領域の顔度を算出する。
【００６３】
ステップ６５：対象領域が顔領域であるかを判定する。ステップ６４で算出された対象領域の顔度と、あらかじめ設定された顔度の数値との大小を比較し、対象領域の顔度の方が大きい場合は顔と判定し、小さい場合は非顔と判定する。顔と判定された場合はステップ６６へ進み、それ以外は、ステップ６９へ進む。
【００６４】
ステップ６６：顔と判定された領域が、顔として判定結果記憶部３６に記憶されている領域（記憶のステップはステップ６７及び６８）と重なりがあるかを判断し、重なりがある場合には、ステップ６７へ進み、それ以外は、ステップ６８へ進む。
【００６５】
ステップ６７：重なりがある場合には、両領域の顔度を比較し、顔度の低い方の領域の情報を削除するとともに、顔度の大きい方の領域を顔として判定結果記憶部に記憶する（この記憶情報は、ステップ６でも使用する）。
【００６６】
ステップ６８：記憶された領域を顔とし、判定結果記憶部３６に記憶する（この記憶情報は、ステップ６６でも使用する）。
【００６７】
ステップ６９：全顔領域候補を探索したかを判断し、探索し終えた場合は、処理を終了し、それ以外の場合は、ステップ６２へ進む。
【００６８】
図７は、顔検出装置の利用の一例を示す図である。図７に示すように、屋内外に設置された監視カメラの画像を入力画像とし、顔検出装置をクライアントサーバ型で利用したときの処理の流れを示す。
【００６９】
ユーザは、設定として、入力画像に監視カメラで撮影した画像を設定する。ここで設定の仕方は、顔検出装置に直接入力するものであってもよいし、ネットワークを介して入力するものであってもよい。
【００７０】
顔検出装置では、撮影画像を入力画像として、最小スケールまでスケール変換を繰り返しながら、画像中から検出対象領域を切り出し、検出対象領域を走査させながら、顔領域候補を探索する。顔領域候補が存在した場合には、該当する領域及びスケールを記憶する。
【００７１】
次に、顔領域候補が存在した場合には、顔領域候補中から詳細検出を行うため、顔度算出辞書を読み込み、顔領域候補中の検出対象領域を切り出し、対象領域の顔度を算出し、顔度により顔と非顔を判別する。顔と判別された領域は候補領域を顔として記憶する。ここで、顔領域候補に重なりがある場合、すなわち、記憶しようとした顔領域がすでに記憶された領域と重なりをもつ場合には、両領域の顔度の大きい方を顔領域として更新記憶する。
【００７２】
顔領域候補が存在しない場合には、入力画像中に顔はないものとして結果表示する。
【００７３】
顔領域候補が存在し、その領域が顔と判別された場合には、その領域を顔として結果表示する。
【００７４】
ここで、表示形態はユーザ端末にそのまま表示するのでもよいし、携帯端末や遠隔端末にネットワークを送信して提示するものでもよい。
【００７５】
なお、上記実施形態において、顔検出装置は、例えば、顔検出装置を構成するコンピュータ装置が有するＣＰＵによって実現され、顔領域候補抽出、顔領域判定などをアプリケーションプログラムとして搭載することができる。
【００７６】
また、顔領域候補抽出、顔領域判定などで行った処理結果、計算結果、当該処理に必要な情報等のデータを内部メモリや外部記憶装置等に書き込み・読み出しができるようにしてもよい。
【００７７】
また、顔検出装置の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム、又は装置に供給し、そのシステム、又は装置のＣＰＵ（ＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することも可能である。この場合、記憶媒体から読み出されたプログラムコード自体が上記実施形態の機能を実現することになり、このプログラムコードを記憶した記憶媒体としては、例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＭＯ、及びＨＤＤ等がある。
【図面の簡単な説明】
【００７８】
【図１】顔検出装置の構成図。
【図２】顔領域候補抽出部の構成図。
【図３】顔領域判定部の構成図。
【図４】顔領域判定を行う際に対象領域とする部分顔の一例を示した図。
【図５】顔領域候補抽出を行う際の処理の流れを示す図。
【図６】顔領域判定を行う際の処理の流れを示す図。
【図７】顔検出装置の利用の一例を示す図。
【符号の説明】
【００７９】
１１…画像入力部
１２…顔領域候補抽出部
１３…顔領域判定部
１４…検出結果出力部
２１…画像スケール変換部
２２…検出対象領域切出部
２３…空間周波数分析部
２４…顔候補判定部
２５…顔候補情報記憶部
３１…顔度算出辞書
３２…辞書読込部
３３…対象領域切出部
３４…顔度算出部
３５…顔非顔判定部
３６…判定結果記憶部
【図１】
0004708835.tif 000002
【図２】
0004708835.tif 000003
【図３】
0004708835.tif 000004
【図４】
0004708835.tif 000005
【図５】
0004708835.tif 000006
【図６】
0004708835.tif 000007
【図７】
0004708835.tif 000008