(57)【要約】【課題】  集団学習により検出対象を示す領域を検出する際に、学習を高効率化し、検出処理を高速化した顔検出装置を使用し、画像に含まれる顔位置のずれなどに強く、高精度に表情認識が可能な表情情認識システム及びそれらの学習方法を提供する。【解決手段】  アダブーストにより顔検出装置を学習する際、全ての弱仮説から高性能弱仮説を選別し、これから統計的性質に基づいて新弱仮説を生成し、これらの中から最も判別性能が高い１つを選択する処理を繰り返して弱仮説を逐次生成し、最終仮説を得る。検出の際には、予め学習した打ち切り閾値により、一の弱仮説の判定結果が出力される毎に、明らかに顔でないと判定できるか否かを判断し、判断できる場合には処理を打ち切る。検出された顔画像から、アダブーストの手法により所定のガボア・フィルタ選別し、選別されたフィルタにより抽出された特徴量のみのサポート・ベクタを学習し、表情認識を行う。【選択図】  図８
2005044330.tif 000002
【特許請求の範囲】
【請求項１】
検出対象であるか非検出対象であるかの正解付けがされた複数の学習サンプルからなるデータセットを使用し、与えられたデータが検出対象であるか否かを推定する弱仮説を生成する弱仮説生成装置において、
複数の弱仮説から一部の弱仮説を選択し、選択された一部の弱仮説の上記データセットに対する推定性能が他より高い１又は複数の弱仮説を高性能弱仮説として選択する選択手段と、
上記高性能弱仮説に対して所定の変形を加えた１以上の新たな弱仮説を新弱仮説として生成する新弱仮説生成手段と、
上記高性能弱仮説及び上記新弱仮説から上記データセットに対する推定性能が最も高い１つの弱仮説を選択する弱仮説選択手段とを有する
ことを特徴とする弱仮説生成装置。
【請求項２】
上記新弱仮説生成手段は、上記高性能弱仮説から、上記検出対象の統計的性質に基づき新弱仮説を生成する
ことを特徴とする請求項１記載の弱仮説生成装置。
【請求項３】
上記学習サンプルは、画像であり、
上記弱仮説は、与えられた画像内の所定領域から特徴を抽出し、該抽出した特徴に基づき該与えられた画像が検出対象であるか否かを推定するものであって、
上記新弱仮説生成手段は、上記高性能弱仮説における上記所定領域の位置を所定量ずらした新たな領域から上記特徴を抽出する上記新弱仮説を生成する
ことを特徴とする請求項１記載の弱仮説生成装置。
【請求項４】
上記学習サンプルは、画像であり、
上記弱仮説は、与えられた画像内の所定領域から特徴を抽出し、該抽出した特徴に基づき該与えられた画像が検出対象であるか否かを推定するものであって、
上記新弱仮説生成手段は、上記高性能弱仮説における上記所定領域のスケールを所定の大きさを変換した新たな領域から上記特徴を抽出する上記新弱仮説を生成する
ことを特徴とする請求項１記載の弱仮説生成装置。
【請求項５】
上記学習サンプルは、画像であり、
上記弱仮説は、与えられた画像内の所定領域から特徴を抽出し、該抽出した特徴に基づき該与えられた画像が検出対象であるか否かを推定するものであって、
上記新弱仮説生成手段は、上記高性能弱仮説における上記所定領域を上記検出対象の対象性を利用して変換した新たな領域及び／又は当該新たな領域及び変換前の上記所定領域から上記特徴を抽出する上記新弱仮説を生成する
ことを特徴とする請求項１記載の弱仮説生成装置。
【請求項６】
上記データセットの各学習サンプルには、データ重みが設定され、
上記データセットに対する推定性能は、上記データセットの各学習サンプルに設定された上記データ重みに基づき算出される
ことを特徴とする請求項１記載の弱仮説生成装置。
【請求項７】
上記弱仮説選択手段が選択した弱仮説の上記データセットに対する推定性能に基づき上記各学習サンプルの上記データ重みを更新するデータ重み更新手段を有する
ことを特徴とする請求項６記載の弱仮説生成装置。
【請求項８】
上記データ重み更新手段により上記データ重みが更新される毎に、上記複数の弱仮説から一の弱仮説を選択することで弱仮説を生成する処理を繰り返す
ことを特徴とする請求項７記載の弱仮説生成装置。
【請求項９】
上記データ重み更新手段は、上記弱仮説が出力する上記推定値が不正解であった学習サンプルのデータ重みが正解であった学習サンプルのデータ重みより相対的に増すよう上記データ重みを更新する
ことを特徴とする請求項７記載の弱仮説生成装置。
【請求項１０】
上記弱仮説は、与えられたデータに対する推定結果を確定的に出力する
ことを特徴とする請求項７記載の弱仮説生成装置。
【請求項１１】
上記弱仮説は、与えられたデータに対する推定結果を確率的に出力する
ことを特徴とする請求項７記載の弱仮説生成装置。
【請求項１２】
上記データセットは、上記検出対象を示す濃淡画像と上記非検出対象を示す濃淡画像とからなり、
上記弱仮説は、濃淡画像内に含まれる２以上の矩形領域群における、一又は複数の矩形領域の各輝度値の総和とその他の矩形領域の各輝度値の総和との差に基づき、入力として与えられる濃淡画像が検出対象であるか否かを推定するものである
ことを特徴とする請求項６記載の弱仮説生成装置。
【請求項１３】
検出対象であるか非検出対象であるかの正解付けがされた複数の学習サンプルからなるデータセットを使用し、与えられたデータが検出対象であるか否かを推定する弱仮説を生成する弱仮説生成方法において、
複数の弱仮説から一部の弱仮説を選択し、選択された一部の弱仮説の上記データセットに対する推定性能が他より高い１又は複数の弱仮説を高性能弱仮説として選択する選択工程と、
上記高性能弱仮説に対して所定の変形を加えた１以上の新たな弱仮説を新弱仮説として生成する新弱仮説生成工程と、
上記高性能弱仮説及び上記新弱仮説から上記データセットに対する推定性能が最も高い１つの弱仮説を選択する弱仮説選択工程とを有する
ことを特徴とする弱仮説生成方法。
【請求項１４】
検出対象であるか非検出対象であるかの正解付けがされた複数の学習サンプルからなるデータセットを使用し、与えられたデータが検出対象であるか否かを推定する弱仮説を生成する弱仮説生成装置において、
複数の弱仮説から、一部の弱仮説を選択する選択手段と、
上記選択手段により選択された上記一部の弱仮説に対して所定の変形を加えた１以上の新たな弱仮説を新弱仮説として生成する新弱仮説生成手段と、
上記選択手段により選択された上記一部の弱仮説及び上記新弱仮説から上記データセットに対する推定性能が最も高い１つの弱仮説を選択する弱仮説選択手段とを有し、
ことを特徴とする弱仮説生成装置。
【請求項１５】
検出対象であるか非検出対象であるかの正解付けがされた複数の学習サンプルからなるデータセットを使用し、与えられたデータが検出対象であるか否かを推定する弱仮説を生成する弱仮説生成方法において、
複数の弱仮説から、一部の弱仮説を選択する選択工程と、
上記選択工程にて選択された上記一部の弱仮説に対して所定の変形を加えた１以上の新たな弱仮説を新弱仮説として生成する新弱仮説生成工程と、
上記選択工程にて選択された上記一部の弱仮説及び上記新弱仮説から上記データセットに対する推定性能が最も高い１つの弱仮説を選択する弱仮説選択工程とを有し、
ことを特徴とする弱仮説生成方法。
【請求項１６】
データ重みが設定され検出対象であるか非検出対象であるかの正解付けがされた複数の学習サンプルからなるデータセットを使用して、与えられたデータから検出対象を検出する学習装置において、
与えられたデータが検出対象であるか否かを推定する弱仮説を生成する弱仮説生成手段と、
上記弱仮説生成手段にて生成された弱仮説の上記データセットに対する推定結果に基づき当該弱仮説の信頼度を算出する信頼度算出手段と、
上記弱仮説生成手段にて生成された弱仮説が推定を誤った学習サンプルのデータ重みが、正しく推定された学習サンプルのデータ重みより相対的に増すよう上記データ重みを更新するデータ重み更新手段とを有し、
上記弱仮説生成手段は、複数の弱仮説から一部の弱仮説を選択し、選択された一部の弱仮説の上記データセットに対する推定性能が他より高い１又は複数の弱仮説を高性能弱仮説として選択する選択手段と、上記高性能弱仮説に対して所定の変形を加えた１以上の新たな弱仮説を新弱仮説として生成する新弱仮説生成手段と、上記高性能弱仮説及び上記新弱仮説から上記データセットに対する推定性能が最も高い１つの弱仮説を選択する弱仮説選択手段とを有し、上記データ重み更新手段により上記データ重みが更新される毎に弱仮説を生成する処理を繰り返す
ことを特徴とする学習装置。
【請求項１７】
検出対象であるか非検出対象であるかの正解付けがされた複数の学習サンプルからなるデータセットを使用し、与えられたデータが検出対象であるか否かを判定する検出装置を学習する学習装置において、
与えられたデータが検出対象であるか否かを推定する複数の弱仮説から一の弱仮説を選択する処理を繰り返す弱仮説選択手段と、
上記弱仮説選択手段により弱仮説が選択される毎に、選択された弱仮説の上記データセットに対する推定結果に基づき当該弱仮説の信頼度を算出する信頼度算出手段と、
弱仮説の上記データセットに対する推定結果と当該弱仮説の上記信頼度との積を、上記弱仮説選択手段により弱仮説が選択される毎に算出して加算し、該加算結果に基づき上記検出装置が上記与えられたデータが検出対象であるか否かを判定する処理を打ち切るための打ち切り閾値を学習する閾値学習手段と
を有することを特徴とする学習装置。
【請求項１８】
上記弱仮説が選択される毎に選択された弱仮説が推定を誤った学習サンプルのデータ重みが正しく推定された学習サンプルのデータ重みより相対的に増すよう上記データ重みを更新するデータ重み更新手段を有し、
上記弱仮説選択手段は、上記データ重みが更新される毎に上記弱仮説を選択する処理を繰り返す
ことを特徴とする請求項１７記載の学習装置。
【請求項１９】
上記閾値学習手段は、弱仮説の上記データセットのうち上記検出対象であると正解付けされたポジティブデータに対する推定結果と当該弱仮説の上記信頼度との積を、上記弱仮説選択手段により弱仮説が選択される毎に算出して加算した加算結果に基づき上記打ち切り閾値を学習する
ことを特徴とする請求項１７記載の学習装置。
【請求項２０】
上記閾値学習手段は、上記弱仮説が選択される毎に、上記ポジティブデータに対する上記加算結果の最小値又は判別境界値のうち小さい方を上記打ち切り閾値として記憶する
ことを特徴とする請求項１９記載の学習装置。
【請求項２１】
上記閾値学習手段は、弱仮説の上記データセットのうち上記非検出対象であると正解付けされたネガティブデータに対する推定結果と当該弱仮説の上記信頼度との積を、上記弱仮説選択手段により弱仮説が選択される毎に算出して加算した加算結果に基づき上記打ち切り閾値を学習する
ことを特徴とする請求項１７記載の学習装置。
【請求項２２】
上記閾値学習手段は、上記弱仮説が選択される毎に、上記ネガティブデータに対する上記算出結果の最大値又は判別境界値のうち大きい方を上記打ち切り閾値として記憶する
ことを特徴とする請求項２１記載の学習装置。
【請求項２３】
検出対象であるか非検出対象であるかの正解付けがされた複数の学習サンプルからなるデータセットを使用し、与えられたデータが検出対象であるか否かを判定する検出装置を学習する学習方法において、
与えられたデータが検出対象であるか否かを推定する複数の弱仮説から一の弱仮説を選択する処理を繰り返す弱仮説選択工程と、
上記弱仮説選択工程にて弱仮説が選択される毎に、選択された弱仮説の上記データセットに対する推定結果に基づき当該弱仮説の信頼度を算出する信頼度算出工程と、
弱仮説の上記データセットに対する推定結果と当該弱仮説の上記信頼度との積を、上記弱仮説選択工程にて弱仮説が選択される毎に算出して加算し、該加算結果に基づき上記検出装置が上記与えられたデータが検出対象であるか否かを判定する処理を打ち切るための打ち切り閾値を学習する閾値学習工程と
を有することを特徴とする学習方法。
【請求項２４】
与えられたデータが検出対象であるか否かを判別することで検出対象を検出する検出装置において、
複数の弱仮説からなる推定結果出力手段と、
上記推定結果出力手段の出力結果に基づき上記与えられたデータが検出対象であるか否かを判別する判別手段とを有し、
上記推定結果出力手段は、予め学習された特徴量に基づき、上記与えられたデータが検出対象であるか否かを各弱仮説毎に推定して出力し、
上記判別手段は、弱仮説の推定結果と当該弱仮説の推定性能に基づき予め学習された信頼度との積を、一の弱仮説が推定結果を出力する毎に加算し、該加算結果に基づき上記推定結果出力手段の処理を打ち切るか否かを決定する打ち切り手段を有する
ことを特徴とする検出装置。
【請求項２５】
上記弱仮説は、検出対象であるか非検出対象であるかの正解付けがされた複数の学習サンプルからなるデータセットを使用して集団学習により逐次生成されたものであり、
上記推定結果出力手段は、上記複数の弱仮説の生成順に推定結果を出力し、
上記打ち切り手段は、一の弱仮説が推定結果を出力する毎に、上記加算結果と打ち切り閾値との比較結果に基づき、次の弱仮説の推定処理を打ち切るか否かを決定するものであって、
上記打ち切り閾値は、上記集団学習により逐次生成された弱仮説の上記データセットに対する推定結果と当該弱仮説の信頼度との積を弱仮説が生成される毎に算出して加算した加算結果に基づき予め学習されたものである
ことを特徴とする請求項２４記載の検出装置。
【請求項２６】
上記打ち切り閾値は、上記データセットのうち上記検出対象であると正解付けされたポジティブデータに対する上記推定結果から得られる上記加算結果の最小値又は判別境界値のうち小さい方とされ、
上記打ち切り手段は、上記加算結果が上記打ち切り閾値より小さい場合に上記推定結果出力手段の処理を打ち切る
ことを特徴とする請求項２５記載の検出装置。
【請求項２７】
上記打ち切り閾値は、上記データセットのうち上記非検出対象であると正解付けされたネガティブデータに対する上記推定結果から得られる上記加算結果の最大値又は判別境界値のうち大きい方とされ、
上記打ち切り手段は、上記加算結果が上記打ち切り閾値より大きい場合に上記推定結果出力手段の処理を打ち切る
ことを特徴とする請求項２５記載の検出装置。
【請求項２８】
上記データセットの各学習サンプルは、データ重みを有し、
上記データ重みは上記逐次生成された弱仮説が出力する上記推定結果が不正解であった学習サンプルのデータ重みが正解であった学習サンプルのデータ重みより相対的に増すよう逐次更新されたものであり、
上記信頼度は、上記弱仮説が生成される毎に上記データ重みが設定された各学習サンプルの推定結果に基づき学習される
ことを特徴とする請求項２５記載の検出装置。
【請求項２９】
上記検出対象は、顔画像である
ことを特徴とする請求項２４記載の検出装置。
【請求項３０】
上記判別手段により上記検出対象として検出された顔画像を、ガボア・フィルタによりフィルタリングして顔特徴を抽出する顔特徴抽出手段と、
上記顔特徴に基づき、与えられた顔画像の表情を認識する表情認識手段と
を有することを特徴とする請求項２９記載の検出装置。
【請求項３１】
与えられたデータが検出対象であるか否かを判別することで検出対象を検出する検出方法において、
予め学習された特徴量に基づき、上記与えられたデータが検出対象であるか否かを複数の弱仮説が個別に推定して出力する推定結果出力工程と、
上記推定結果出力工程にて出力される出力結果に基づき上記与えられたデータが検出対象であるか否かを判別する判別工程とを有し、
上記判別工程では、弱仮説の推定結果と当該弱仮説の推定性能に基づき学習された信頼度との積を、一の弱仮説が推定結果を出力する毎に加算し、該加算結果に基づき上記複数の弱仮説の推定処理を打ち切るか否かを決定する打ち切り工程を有する
ことを特徴とする検出方法。
【請求項３２】
認識対象となる特定表情を示す複数の顔画像と該特定表情とは異なる表情を示す複数の顔画像とからなる表情学習用データセットを使用して、与えられた顔画像の表情を認識する表情認識装置を学習する表情学習装置であって、
ガボア・フィルタにより上記表情学習用データセットから抽出した顔特徴に基づき、与えられた顔画像から上記特定表情を示す顔画像を識別する表情認識装置を学習する表情学習手段を有する
ことを特徴とする表情学習装置。
【請求項３３】
上記表情学習手段は、上記ガボア・フィルタにより上記表情学習用データセットから抽出された顔特徴に基づき上記特定表情を示す顔画像を識別するためのサポート・ベクタを学習する
ことを特徴とする請求項３２記載の表情学習装置。
【請求項３４】
上記表情学習手段は、
複数のガボア・フィルタから選択した一のガボア・フィルタのフィルタリング結果に基づき、与えられた顔画像が上記特定表情であるか否かを推定する弱仮説を生成する処理を繰り返す弱仮説生成手段と、
上記弱仮説生成手段により生成された弱仮説の上記表情学習用データセットに対する推定性能に基づき当該弱仮説の信頼度を算出する信頼度算出手段と、
上記信頼度に基づき上記表情学習用データセットに設定されるデータ重みを更新するデータ重み更新手段とを有し、
上記弱仮説生成手段は、上記データ重みが更新される毎に、上記表情学習用データセットに対する推定性能が最も大きい一のガボア・フィルタを選択して上記弱仮説を生成する処理を繰り返す
ことを特徴とする請求項３２記載の表情学習装置。
【請求項３５】
上記表情学習手段は、
複数のガボア・フィルタから選択した一のガボア・フィルタのフィルタリング結果に基づき、与えられた顔画像が上記特定表情であるか否かを推定する弱仮説を生成する処理を繰り返す弱仮説生成手段と、
上記弱仮説生成手段により生成された弱仮説の上記表情学習用データセットに対する推定性能に基づき当該弱仮説の信頼度を算出する信頼度算出手段と、
上記信頼度に基づき上記表情学習用データセットに設定されるデータ重みを更新するデータ重み更新手段と、
所定のガボア・フィルタにより上記表情学習用データセットから抽出された顔特徴に基づき上記特定表情を示す顔画像を識別するためのサポート・ベクタを学習するサポート・ベクタ学習手段とを有し、
上記弱仮説生成手段は、上記データ重みが更新される毎に、上記表情学習用データセットに対する推定性能が最も大きい一のガボア・フィルタを選択して上記弱仮説を生成する処理を繰り返し、
上記サポート・ベクタ学習手段は、上記弱仮説生成手段により生成された弱仮説に選択されたガボア・フィルタにより上記顔特徴を抽出し、上記サポート・ベクタを学習する
ことを特徴とする請求項３２記載の表情学習装置。
【請求項３６】
認識対象となる特定表情を示す複数の顔画像と該特定表情とは異なる表情を示す複数の顔画像とからなる表情学習用データセットを使用して、与えられた顔画像の表情を認識する表情認識装置を学習する表情学習方法であって、
ガボア・フィルタにより上記表情学習用データセットから抽出した顔特徴に基づき、与えられた顔画像から上記特定表情を示す顔画像を識別する表情認識装置を学習する表情学習工程を有する
ことを特徴とする表情学習方法。
【請求項３７】
上記表情学習工程では、ガボア・フィルタにより上記表情学習用データセットから抽出された顔特徴に基づき上記特定表情を示す顔画像を識別するためのサポート・ベクタを学習する
ことを特徴とする請求項３６記載の表情学習方法。
【請求項３８】
上記表情学習工程は、
複数のガボア・フィルタから選択した一のガボア・フィルタのフィルタリング結果に基づき、与えられた顔画像が上記特定表情であるか否かを推定する弱仮説を生成する処理を繰り返す弱仮説生成工程と、
上記弱仮説生成工程にて生成された弱仮説の上記表情学習用データセットに対する推定性能に基づき当該弱仮説の信頼度を算出する信頼度算出工程と、
上記信頼度に基づき上記表情学習用データセットに設定されるデータ重みを更新するデータ重み更新工程とを有し、
上記弱仮説生成工程では、上記データ重みが更新される毎に、上記表情学習用データセットに対する推定性能が最も大きい一のガボア・フィルタを選択して上記弱仮説を生成する
ことを特徴とする請求項３６記載の表情学習方法。
【請求項３９】
上記表情学習工程は、
複数のガボア・フィルタから選択した一のガボア・フィルタのフィルタリング結果に基づき、与えられた顔画像が上記特定表情であるか否かを推定する弱仮説を生成する処理を繰り返す弱仮説生成工程と、
上記弱仮説生成工程にて生成された弱仮説の上記表情学習用データセットに対する推定性能に基づき当該弱仮説の信頼度を算出する信頼度算出工程と、
上記信頼度に基づき上記表情学習用データセットに設定されるデータ重みを更新するデータ重み更新工程と、
所定のガボア・フィルタにより上記表情学習用データセットから抽出された顔特徴に基づき上記特定表情を示す顔画像を識別するためのサポート・ベクタを学習するサポート・ベクタ学習工程とを有し、
上記弱仮説生成工程では、上記データ重みが更新される毎に、上記表情学習用データセットに対する推定性能が最も大きい一のガボア・フィルタを選択して上記弱仮説を生成し、
上記サポート・ベクタ学習工程では、上記弱仮説生成工程にて生成された弱仮説に選択されたガボア・フィルタにより上記顔特徴を抽出し、上記サポート・ベクタを学習する
ことを特徴とする請求項３６記載の表情学習方法。
【請求項４０】
与えられた顔画像をガボア・フィルタによりフィルタリングして顔特徴を抽出する顔特徴抽出手段と、
上記顔特徴に基づき、上記与えられた顔画像の表情を認識する表情認識手段と
を有することを特徴とする表情認識装置。
【請求項４１】
上記表情認識手段は、上記与えられた顔画像から認識対象となる特定表情を示す顔画像を識別する表情識別器を有し、
上記表情識別器は、予め学習されたサポート・ベクタを使用して上記顔特徴抽出手段により抽出された顔特徴が上記特定表情であるか否かを識別するサポート・ベクタ・マシーン（ＳＶＭ）である
ことを特徴とする請求項４０記載の表情認識装置。
【請求項４２】
上記表情認識手段は、上記与えられた顔画像から認識対象となる特定表情を示す顔画像を識別する表情識別器を有し、
上記表情識別器は、
複数の弱仮説からなる推定結果出力手段と、
上記推定結果出力手段から出力される推定結果に基づき与えられた顔画像が上記特定表情であるか否かを判別する判別手段とを有し、
上記推定結果出力手段は、予め学習された特徴量に基づき、上記与えられた顔画像が上記特定表情であるか否かを推定して上記複数の弱仮説毎に出力し、
上記判別手段は、弱仮説の推定結果と当該弱仮説の推定性能に基づき学習された信頼度との積を、一の弱仮説が推定結果を出力する毎に加算し、該加算結果に基づき上記顔画像が上記特定表情であるか否かを判別する
ことを特徴とする請求項４０記載の表情認識装置。
【請求項４３】
上記表情認識手段は、複数の、特定表情を示す顔画像を識別する表情識別器と、該複数の表情識別器の識別結果に基づき、上記与えられた顔画像の表情を決定する表情決定手段とを有し、
上記表情決定手段は、各表情識別器の上記加算結果に基づき、上記与えられた顔画像の表情を決定する
ことを特徴とする請求項４２記載の表情認識装置。
【請求項４４】
上記表情認識手段は、上記与えられた顔画像から認識対象となる特定表情を示す顔画像を識別する表情識別器を有し、
上記表情識別器は、予め学習されたサポート・ベクタを使用して上記顔特徴抽出手段により抽出された顔特徴が上記特定表情であるか否かを識別するサポート・ベクタ・マシーン（ＳＶＭ）であって、
上記サポート・ベクタは、認識対象となる特定表情を示す複数の顔画像と該特定表情とは異なる表情を示す複数の顔画像とからなる表情学習用データセットを使用して、複数のガボア・フィルタから選択した一のガボア・フィルタのフィルタリング結果に基づき、与えられた顔画像が上記特定表情であるか否かを推定する弱仮説を繰り返し生成した際に弱仮説として選択された全ガボア・フィルタにより、該表情学習用データセットから顔特徴を抽出し、該抽出された顔特徴に基づき予め学習されたものである
ことを特徴とする請求項４０記載の表情認識装置。
【請求項４５】
与えられた顔画像をガボア・フィルタによりフィルタリングして顔特徴を抽出する顔特徴抽出工程と、
上記顔特徴に基づき、上記与えられた顔画像の表情を認識する表情認識工程と
を有することを特徴とする表情認識方法。
【請求項４６】
上記表情認識工程は、上記与えられた顔画像から上記特定表情を示す顔画像を識別する特定表情識別工程を有し、
上記特定表情識別工程では、予め学習されたサポート・ベクタを使用してサポート・ベクタ・マシーン（ＳＶＭ）により、上記顔特徴抽出工程にて抽出された顔特徴が上記特定表情を示す顔画像であるか否かを識別する
ことを特徴とする請求項４５記載の表情認識方法。
【請求項４７】
上記表情認識工程は、上記与えられた顔画像から上記特定表情を示す顔画像を識別する特定表情識別工程を有し、
上記特定表情識別工程は、
予め学習された特徴量に基づき、上記与えられた顔画像が上記特定表情であるか否かを複数の弱仮説毎に推定して出力する推定結果出力工程と、
上記推定結果出力工程にて出力された推定結果に基づき与えられた顔画像が上記特定表情であるか否かを判別する判別工程とを有し、
上記判別工程では、弱仮説の推定結果と当該弱仮説の推定性能に基づき学習された信頼度との積を、一の弱仮説が推定結果を出力する毎に加算し、該加算結果に基づき上記顔画像が上記特定表情であるか否かを判別する
ことを特徴とする請求項４５記載の表情認識方法。
【請求項４８】
上記表情認識工程は、上記与えられた顔画像から上記特定表情を示す顔画像を識別する特定表情識別工程を有し、
上記特定表情識別工程は、予め学習されたサポート・ベクタを使用してサポート・ベクタ・マシーン（ＳＶＭ）により、上記顔特徴抽出工程にて抽出された顔特徴が上記特定表情を示す顔画像であるか否かを識別する工程であって、
上記サポート・ベクタは、認識対象となる特定表情を示す複数の顔画像と該特定表情とは異なる表情を示す複数の顔画像とからなる表情学習用データセットを使用して、複数のガボア・フィルタから選択した一のガボア・フィルタのフィルタリング結果に基づき、与えられた顔画像が上記特定表情であるか否かを推定する弱仮説を繰り返し生成した際に弱仮説として選択された全ガボア・フィルタにより、該表情学習用データセットから顔特徴を抽出し、該抽出された顔特徴に基づき予め学習されたものである
ことを特徴とする請求項４５記載の表情認識方法。
【請求項４９】
自律的に行動するロボット装置において、
周囲の画像を撮像する撮像手段と、
上記撮像手段により撮像された画像から任意の大きさのウィンドウ画像を切り出す切り出し手段と、
上記ウィンドウ画像が検出対象を示す画像であるか否かを検出する検出装置とを有し、
上記検出装置は、
複数の弱仮説からなる推定結果出力出手段と、
上記推定結果出力手段から出力される推定結果に基づき上記ウィンドウ画像が検出対象を示す画像であるか否かを判別する判別手段とを有し、
上記推定結果出力手段は、予め学習された特徴量に基づき、上記与えられたデータが検出対象であるか否かを各弱仮説毎に推定して出力し、
上記判別手段は、弱仮説の推定結果と当該弱仮説の推定性能に基づき学習された信頼度との積を、一の弱仮説が推定結果を出力する毎に加算し、該加算結果に基づき上記推定結果出力手段の処理を打ち切るか否かを決定する打ち切り手段を有する
ことを特徴とするロボット装置。
【請求項５０】
自律的に行動するロボット装置において、
周囲の画像を撮像する撮像手段と、
上記撮像手段により撮像された画像から所定の領域を顔画像として検出する顔画像検出装置と、
上記顔画像の表情を認識する表情認識装置とを備え、
上記表情認識装置は、
上記顔画像検出装置により検出された顔画像をガボア・フィルタによりフィルタリングして顔特徴を抽出する顔特徴抽出手段と、
上記顔特徴に基づき、上記与えられた顔画像の表情を認識する表情認識手段とを有する
ことを特徴とするロボット装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リアルタイムで画像から検出対象の画像として例えば顔画像などを検出する検出装置及び方法、検出装置を学習するための学習装置及び方法、学習の際の弱仮説を生成する弱仮説生成装置及び方法、並びに検出装置を搭載したロボット装置に関する。また、顔画像から特定の表情を示す検出することで顔画像の表情を認識する表情認識装置及び方法、表情認識装置を学習するための表情学習装置及び方法、並びに表情認識装置を搭載したロボット装置に関する。
【背景技術】
【０００２】
フェース・ツー・フェースのコミュニケーションは、４０ｍｓ程度の時間スケールで動作するリアルタイムプロセスである。この時間スケースでは、認識レベルの不確実性が極めて高く、人間も機械も、速度の遅い記号推論プロセスではなく感覚の豊富な知覚プリミティブ（perceptual primitive）に頼る必要がある。従って、人間とフェース・ツー・フェースで対話を行う機械を実現するには、ロバストでかつリアルタイム性を有する知覚プリミティブの開発が必要となる。
【０００３】
チャールズ・ダーウィンは、顔表情が、人間が感情、意図、意見を互いに伝えるための最も強力で直接的な手段であると認識した最初の科学者のひとりであった。顔表情は、感情的状態に関する情報を与えるだけでなく、興味、退屈、混乱、ストレス等の認知的状態に関する情報や、言葉の強調やシンタックスに関する情報を有する会話信号も与える。近時、顔表情認識については、コンピュータビジョンに関する文献において多数の革新的なシステムが現れている（M.Pantic and J.M.Rothcrantz. Automatic analysis of facial expression :State of the art.IEEE Transactions on pattern Analysis and Machine Intelligence,22(12):1424-1445,2000）。
【０００４】
リアルタイムに顔表情を認識するためには、先ず入力画像からリアルタイムに顔の領域を検出する必要がある。従来、複雑な画像シーンの中から動きを使わないで画像信号の濃淡パターンのみを使った顔検出手法が数多く提案されている。例えば下記非特許文献１に記載の顔検出器は、ハール（Ｈａａｒ）基底のようなフィルタを１つの判別器とし、これを多数組み合わせた分類器をカスケード接続したものである。ここで、上記判別器を学習により生成する際に、後述する積分画像（インテグラルイメージ：Integral image）とよばれる画像と矩形特徴（rectangle feature）とを使用して学習の高速化を図ったものである。
【０００５】
図２９（ａ）乃至（ｄ）は、下記非特許文献１に記載の矩形特徴を示す模式図である。図２９に示すように、非特許文献１に記載の技術においては、入力画像２００Ａ〜２００Ｄにおいて、同一サイズの隣り合う矩形領域の輝度値の総和を求め、一又は複数の矩形領域の輝度値の総和と、その他の矩形領域の輝度値の総和との差を出力するようなフィルタ（以下、矩形特徴ともいう。）を複数用意する。例えば、図２９（ａ）に示すように、入力画像２００Ａにおいては、矩形領域２０１Ａ−１の輝度値の総和から、影を付けて示す矩形領域（rectangular box）２０１Ａ−２の輝度値の総和を減算するフィルタ２０１Ａを示す。このような２つの矩形領域からなるフィルタを２矩形特徴（2 rectangle feature）という。また、図２９（ｃ）に示すように、入力画像２００Ｃにおいては、１つの矩形領域が３分割された３つの矩形領域２０１Ｃ−１〜２０１Ｃ−３からなり、矩形領域２０１Ｃ−１、２０１Ｃ−３の輝度値の総和から影を付けて示す中央の矩形領域２０１Ｃ−２の輝度値の総和を減算するフィルタ２０１Ｃを示す。このような３つの矩形領域からなるフィルタを３矩形特徴（3 rectangle feature）という。更に、図２９（ｄ）に示すように、入力画像２０１Ｄにおいては、１つの矩形領域が上下左右に分割された４つの矩形領域２０１Ｄ−１〜２０１Ｄ−４からなり、矩形領域２０１Ｄ−１、２０１Ｄ−３の輝度値の総和から影を付けて示す矩形領域２０１Ｄ−２、２０１Ｄ−４の輝度値の総和を減算するフィルタ２０１Ｄを示す。このような４つの矩形領域からなるフィルタを４矩形特徴（4 rectangle feature）という。
【０００６】
例えば、図３０に示す顔画像を、上述したような矩形特徴を使用して顔であることを判定する場合について説明する。２矩形特徴（フィルタ）２１１Ｂは、１つの矩形領域が上下（垂直方向）に２分割された２つの矩形領域２１１Ｂ−１、２１１Ｂ−２からなり、下側の矩形領域２１１Ｂ−２の輝度値の総和から影を付けて示す矩形領域２１１Ｂ−１の輝度値の総和を減算する。人間の顔画像（検出対象）２１０は、頬の領域より眼の領域の方が輝度値が低いことを利用すると、矩形特徴２１１Ｂの出力値から入力画像が顔であるか否か（正解または不正解）をある程度の確率で推定することができる。
【０００７】
また、３矩形特徴（フィルタ）２１１Ｃは、中央の矩形領域２１１Ｃ−２の輝度値の総和から左右の矩形領域２１１Ｃ−１、２１１Ｃ−３の輝度値の総和を減算するフィルタであるが、上述と同様、人間の顔画像２１０は、両目の領域より鼻の領域の方が輝度値が高いことを利用すると、矩形特徴２１１Ｃの出力値から入力画像が顔であるか否かをある程度判定することができる。
【０００８】
また、検出時において、入力画像には含まれる様々な大きさの顔領域を検出するため、様々なサイズの領域（以下、探索ウィンドウという。）を切り出して顔であるか否かを判定する必要がある。しかしながら例えば３２０×２４０画素からなる入力画像には、およそ５００００種類のサイズの探索ウィンドウが含まれており、これら全てのウィンドウサイズについての演算を行うと極めて時間がかかる。
【０００９】
そこで、非特許文献１においては、積分画像とよばれる画像を使用する。積分画像とは、例えば画像中の自身より一つ上と自身より一つ左の画素値の和に自身の画素値を足しこむ作業を左上から順に行うことで生成することができ、任意の位置の画素値が、自身より左上の矩形領域の輝度値の総和になっている画像である。積分画像を求めておけば、画像内における矩形領域の四隅の画素値を加減算するのみで矩形領域の輝度値の総和を算出することができ、従って矩形領域の輝度値の総和の演算を高速に行うことができる。
【００１０】
また、非特許文献１においては、多数の訓練データ（学習サンプル）を使用し、積分画像を利用した演算結果から、判別器を逐次生成し、多数の判別器の出力の重み付け多数決により顔画像が否かを判別する強判別機を顔検出装置とするものである。図３１は、非特許文献１に記載の顔検出装置の要部を示す図である。図３１に示すように、顔検出装置に入力画像から切り出した全てのウィンドウ画像（subwindow）２４１が入力される。そして、一の判別器にて逐次正解（＝１）か不正解（＝−１）かを出力し、これらの結果を判別器の信頼度（エラー率の低さ）に応じた重み付き加算した結果が正の値である場合、そのウィンドウ画像に顔が存在するものとして顔検出を行う。ここで、顔検出器は多数の判別器から構成されるため、入力画像から大きさが異なるウィンドウ画像を切り出し、これら全てについて、全ての判別器の判別結果の重み付き多数決を求めると処理に時間がかかる。そこで、非特許文献１においては、複数の判別器らなる分類器（classifier）２４０Ａ、２４０Ｂ、２４０Ｃ・・・を複数用意し、これらをカスケード接続し、各分類器２４０Ａ、２４０Ｂ、２４０Ｃ・・・においてその出力からウィンドウ画像が顔であるか否かを一度判定し、顔でないと判定されたデータ２４２Ａ、２４２Ｂ、２４２Ｃ・・は、その時点で判定処理を中断し、一の分類器にて顔であると判定されたデータ２のみを、次段の分類器に供給し、次段の分類器を構成する複数の判別器にて新たに重み付き加算して多数決を得るというような処理を繰り返し行うことで、顔検出の際の処理を高速化するようになされている。
【００１１】
【非特許文献１】ポール  ビオラ（Paul Viola）、ミハエル  ジョーンズ（Michael Jones），「ロバストなリアルタイム物体検出（Robust real-time object detection）」，テクニカルレポート  ＣＲＬ  ２００１／０１，ケンブリッジリサーチ研究所，２００１年
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記非特許文献１に記載の矩形特徴は、例えば対象とする領域（ウィンドウ画像）を２４×２４画素の範囲に限定したとしても、フィルタを構成する画素数（フィルタの大きさ）及び２、３、４矩形特徴のフィルタの種類の違いによって、フィルタの選択の組み合わせは１６００００通り以上存在する。したがって、学習においては、ラベリング（正解付け）された例えば数百の訓練データに対し、この１６００００以上のフィルタの中から例えば最も小さい誤り率を与えるフィルタを１つ選択して判別器を生成するという作業を、重み付き多数決する個数分の例えば数百回繰り返して行う必要があり、したがって演算量が膨大なものとなってしまい、学習処理に極めて時間がかかる。
【００１３】
また、学習により得られた多数の弱仮説からなる最終仮説を使用して入力画像から顔判別する場合、上述のように、複数の弱仮説からなる分類器で判別することで、全ての弱仮説の加算値の重み付き多数決を求めるのに比して演算量を低減し、判別処理速度を向上することができるものの、各分類器においては、同じく重み付き多数決を求める必要があるため処理に時間がかかるという問題点がある。
【００１４】
本発明は、このような従来の実情に鑑みて提案されたものであり、集団学習により検出対象であるか否かの判別器を学習する際に、判別器を構成する弱仮説を、判別性能を低下させることなく高速に生成することができる弱仮説生成装置及び方法を提供することを目的とする。
【００１５】
また、本発明は、ブースティングにより判別器を学習する際に、学習サンプルに対する弱仮説の出力値を逐次学習しておくことで、無駄な演算を省き、高速に検出対象を判別可能な検出装置及び方法、並びにそのような高速判別が可能な検出装置を学習するための学習装置及び方法を提供することを目的とする。
【００１６】
更に、本発明は、画像に含まれる顔位置のずれなどに強く、精度よくかつ迅速に顔の表情を認識することができる表情認識装置及び方法、並びにそのような表情認識装置を学習するための表情学習装置及び方法を提供することを目的とする。
【００１７】
更にまた、本発明は、入力画像からリアルタイムで高精度に検出対象を検出可能な検出装置を搭載したロボット装置、及び入力画像から顔画像を検出し、高精度かつ高速に顔画像の表情を認識することができる顔表情認識装置を搭載したロボット装置を提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明に係る弱仮説生成装置は、検出対象であるか非検出対象であるかの正解付けがされた複数の学習サンプルからなるデータセットを使用し、与えられたデータが検出対象であるか否かを推定する弱仮説を生成する弱仮説生成装置において、複数の弱仮説から一部の弱仮説を選択し、選択された一部の弱仮説の上記データセットに対する推定性能が他より高い１又は複数の弱仮説を高性能弱仮説として選択する選択手段と、上記高性能弱仮説に対して所定の変形を加えた１以上の新たな弱仮説を新弱仮説として生成する新弱仮説生成手段と、上記高性能弱仮説及び上記新弱仮説から上記データセットに対する推定性能が最も高い１つの弱仮説を選択する弱仮説選択手段とを有することを特徴とする。
【００１９】
本発明においては、選択可能な全弱仮説ではなく、先ず、その一部を使用してその判別性能（推定性能）が優れているもの、すなわち誤り率が低い１又は複数の弱仮説を高性能弱仮説として選別する。そして、この選別された高性能弱仮説から所定の変形を加えた新弱仮説を生成し、これらの中から最も判別性能が高い弱仮説を選択することで弱仮説を生成する。このことにより、選択可能な全弱仮説の中から判別性能が最も高いものを選択するのに比して精度を落とすことなくかつ演算量を減らすことができる。
【００２０】
また、上記新弱仮説生成手段は、上記高性能弱仮説から、上記検出対象の統計的性質に基づき新弱仮説を生成することができ、例えば人間の顔を検出する場合は、その左右の対象性を利用するなどして新弱仮説を生成する。このことにより、高性能弱仮説と同等に推定の誤り率が低く高性能である予想される新弱仮説を生成することができ、これらの弱仮説から、弱仮説選択手段により弱仮説を選択することにより、選択可能な全ての弱仮説の中から選択するに比して演算量を低減しつつ、判別性能が高い弱仮説を生成することができる。
【００２１】
更に、上記データセットの各学習サンプルには、データ重みが設定され、上記データセットに対する推定性能は、上記データセットの各学習サンプルに設定された上記データ重みに基づき算出されるものとすることができ、ブースティングに使用される弱仮説を生成する装置とすることができる。
【００２２】
更にまた、上記弱仮説選択手段が選択した弱仮説の上記データセットに対する推定性能に基づき上記各学習サンプルの上記データ重みを更新するデータ重み更新手段を有し、上記データ重み更新手段により上記データ重みが更新される毎に、上記複数の弱仮説から一の弱仮説を選択することで弱仮説を生成する処理を繰り返すことができ、これにより、弱仮説を逐次生成する毎にデータ重みの分布を更新し、更新されたデータ重みの分布に応じて弱仮説が生成するブースティングにより最終仮説を学習する学習装置を構成することができる。
【００２３】
また、上記データ重み更新手段は、上記弱仮説が出力する上記推定値が不正解であった学習サンプルのデータ重みが正解であった学習サンプルのデータ重みより相対的に増すよう上記データ重みを更新することで、判別が難しく、学習サンプルのデータ重みが大い学習サンプルを正解させるような弱仮説を逐次生成することができる。
【００２４】
更に、上記弱仮説は、与えられたデータに対する上記推定値を確定的に出力することができ、アダブースト（AdaBoost）などのアルゴリズムに従った学習を行うことができ、また、与えられたデータに対する上記推定値を確率的に出力すれば、更に推定性能を向上させることができる。
【００２５】
更にまた、上記データセットは、上記検出対象を示す濃淡画像と上記非検出対象を示す濃淡画像とからなり、上記弱仮説は、濃淡画像内に含まれる２以上の矩形領域群における、一又は複数の矩形領域の各輝度値の総和とその他の矩形領域の各輝度値の総和との差に基づき、入力として与えられる濃淡画像が検出対象であるか否かを推定するものとしてもよく、後述する積分画像を使用するとこの矩形特徴の特徴量の演算を高速化することができる。
【００２６】
本発明に係る他の弱仮説生成装置は、検出対象であるか非検出対象であるかの正解付けがされた複数の学習サンプルからなるデータセットを使用し、与えられたデータが検出対象であるか否かを推定する弱仮説を生成する弱仮説生成装置において、複数の弱仮説から、一部の弱仮説を選択する選択手段と、上記選択手段により選択された上記一部の弱仮説に対して所定の変形を加えた１以上の新たな弱仮説を新弱仮説として生成する新弱仮説生成手段と、上記選択手段により選択された上記一部の弱仮説及び上記新弱仮説から上記データセットに対する推定性能が最も高い１つの弱仮説を選択する弱仮説選択手段とを有し、ことを特徴とする。
【００２７】
本発明においては、選択可能な多数の弱仮説から一部の弱仮説をランダムに選択し、選択した一部の弱仮説とこれらから生成した新弱仮説との中から判別性能が高い１つの弱仮説1を選択して弱仮説を生成するため、一部の弱仮説をランダムに選択し、これから判別性能が高い１の弱仮説を選択することで弱仮説を生成するのに比して判別性能が高い弱仮説を生成することができる。
【００２８】
本発明に係る学習装置は、検出対象であるか非検出対象であるかの正解付けがされた複数の学習サンプルからなるデータセットを使用し、与えられたデータが検出対象であるか否かを判定する検出装置を学習する学習装置において、与えられたデータが検出対象であるか否かを推定する複数の弱仮説から一の弱仮説を選択する処理を繰り返す弱仮説選択手段と、上記弱仮説選択手段により弱仮説が選択される毎に、選択された弱仮説の上記データセットに対する推定結果に基づき当該弱仮説の信頼度を算出する信頼度算出手段と、弱仮説の上記データセットに対する推定結果と当該弱仮説の上記信頼度との積を、上記弱仮説選択手段により弱仮説が選択される毎に算出して加算し、該加算結果に基づき上記検出装置が上記与えられたデータが検出対象であるか否かを判定する処理を打ち切るための打ち切り閾値を学習する閾値学習手段とを有することを特徴とする。
【００２９】
本発明においては、例えば与えられるデータ含まれる検出対象に比して非検出対象が格段に多い場合など、予め学習された打ち切り閾値により、与えられたデータが明らかに非検出対象であると判断できる場合に検出処理を途中で打ち切ったり、反対に与えられえたデータが明らかに検出対象であると判断できる場合に検出処理を途中で打ち切ったりすることで検出処理を極めて効率よく行う検出装置を学習することができる。
【００３０】
また、上記閾値学習手段は、弱仮説の上記データセットのうち上記検出対象であると正解付けされたポジティブデータに対する推定結果と当該弱仮説の上記信頼度との積を、上記弱仮説選択手段により弱仮説が選択される毎に算出して加算した加算結果に基づき上記打ち切り閾値を学習することができ、例えば、上記弱仮説が選択される毎に、上記ポジティブデータに対する上記加算結果の最小値又は判別境界値のうち小さい方を上記打ち切り閾値として記憶することができ、加算結果が、ポジティブデータが取りうる最小値より小さい場合には、明らかに検出対象ではないデータが入力されたものとして処理を途中で打ち切る検出装置を提供することができる。
【００３１】
更に、上記閾値学習手段は、弱仮説の上記データセットのうち上記非検出対象であると正解付けされたネガティブデータに対する推定結果と当該弱仮説の上記信頼度との積を、上記弱仮説選択手段により弱仮説が選択される毎に算出して加算した加算結果に基づき上記打ち切り閾値を学習することができ、例えば上記弱仮説が選択される毎に、上記ネガティブデータに対する上記算出結果の最大値又は判別境界値のうち大きい方を上記打ち切り閾値として記憶することができ、加算結果が、ネガティブデータが取りうる最大値より大きい場合には、明に検出対象であるデータが入力されたものとして処理を打ち切る検出装置を提供することができる。
【００３２】
本発明に係る検出装置は、与えられたデータが検出対象であるか否かを判別することで検出対象を検出する検出装置において、複数の弱仮説からなる推定結果出力手段と、上記推定結果出力手段の出力結果に基づき上記与えられたデータが検出対象であるか否かを判別する判別手段とを有し、上記推定結果出力手段は、予め学習された特徴量に基づき、上記与えられたデータが検出対象であるか否かを各弱仮説毎に推定して出力し、上記判別手段は、弱仮説の推定結果と当該弱仮説の推定性能に基づき予め学習された信頼度との積を、一の弱仮説が推定結果を出力する毎に加算し、該加算結果に基づき上記推定結果出力手段の処理を打ち切るか否かを決定する打ち切り手段を有することを特徴とする。
【００３３】
本発明においては、予め学習された打ち切り閾値と、弱仮説の推定結果と信頼度との積と、を一の弱仮説が推定結果を出力する毎に比較し、弱仮説の演算を打ち切るか否かを決定することができ、無駄な演算を省いて検出処理を高速化することができる。
【００３４】
上記検出対象は、顔画像とすることができる。この場合、上記判別手段により上記検出対象として検出された顔画像を、ガボア・フィルタによりフィルタリングして顔特徴を抽出する顔特徴抽出手段と、上記顔特徴に基づき、上記与えられた顔画像の表情を認識する表情認識手段とを有することができ、高速に顔画像を検出し、その表情を認識することで、例えば映像などの動画からリアルタイムで人間の表情を認識するシステムを提供することができる。
【００３５】
本発明に係る表情学習装置は、認識対象となる特定表情を示す複数の顔画像と該特定表情とは異なる表情を示す複数の顔画像とからなる表情学習用データセットを使用して、与えられた顔画像の表情を認識する表情認識装置を学習する表情学習装置であって、ガボア・フィルタにより上記表情学習用データセットから抽出した顔特徴に基づき、与えられた顔画像から上記特定表情を示す顔画像を識別する表情認識装置を学習する表情学習手段を有することを特徴とする。
【００３６】
本発明においては、方位選択性を持ち周波数成分の異なる複数のフィルタを用いて入力画像をフィルタリングするガボア・フィルタ出力を特徴量とすることで、画像のシフトや環境変化にあまり影響されない特徴量を抽出することができ、各表情にラベリングされた表情学習サンプルを使用して、特定表情を識別する表情識別器を、識別したい所望の種類分学習することで、与えられる顔画像から任意の表情を認識可能な表情認識装置を学習することができる。
【００３７】
また、上記表情学習手段は、上記ガボア・フィルタにより上記表情学習用データセットから抽出された顔特徴に基づき上記特定表情を示す顔画像を識別するためのサポート・ベクタを学習することができ、抽出した顔特徴を非線型な特徴空間に一度写像してこの特徴空間内で分離する超平面を求めることにより顔と非顔とを識別するサポート・ベクタ・マシーンにより、高精度に所望の表情を認識する表情認識装置を学習することができる。
【００３８】
更に、上記表情学習手段は、複数のガボア・フィルタから選択した一のガボア・フィルタのフィルタリング結果に基づき、与えられた顔画像が上記特定表情であるか否かを推定する弱仮説を生成する処理を繰り返す弱仮説生成手段と、上記弱仮説生成手段により生成された弱仮説の上記表情学習用データセットに対する推定性能に基づき当該弱仮説の信頼度を算出する信頼度算出手段と、上記信頼度に基づき上記表情学習用データセットに設定されるデータ重みを更新するデータ重み更新手段とを有し、上記弱仮説生成手段は、上記データ重みが更新される毎に、上記表情学習用データセットに対する推定性能が最も大きい一のガボア・フィルタを選択して上記弱仮説を生成する処理を繰り返すことができ、ガボア・フィルタの周波数、方向及び学習サンプルにおけるピクセル位置から決定される複数のガボア・フィルタの出力から一つを選択して弱仮説を生成し、これを繰り返して最終仮説となる識別器を学習することができる。
【００３９】
更にまた、上記表情学習手段は、複数のガボア・フィルタから選択した一のガボア・フィルタのフィルタリング結果に基づき、与えられた顔画像が上記特定表情であるか否かを推定する弱仮説を生成する処理を繰り返す弱仮説生成手段と、上記弱仮説生成手段により生成された弱仮説の上記表情学習用データセットに対する推定性能に基づき当該弱仮説の信頼度を算出する信頼度算出手段と、上記信頼度に基づき上記表情学習用データセットに設定されるデータ重みを更新するデータ重み更新手段と、所定のガボア・フィルタにより上記表情学習用データセットから抽出された顔特徴に基づき上記特定表情を示す顔画像を識別するためのサポート・ベクタを学習するサポート・ベクタ学習手段とを有し、上記弱仮説生成手段は、上記データ重みが更新される毎に、上記表情学習用データセットに対する推定性能が最も大きい一のガボア・フィルタを選択して上記弱仮説を生成する処理を繰り返し、上記サポート・ベクタ学習手段は、上記弱仮説生成手段により生成された弱仮説に選択されたガボア・フィルタにより上記顔特徴を抽出し、上記サポート・ベクタを学習することができ、ガボア・フィルタの周波数、方向及び学習サンプルにおけるピクセル位置から決定される全ガボア・フィルタ出力を弱仮説としてこれらの中から判別性能が高い幾つかを選択し、これを特徴量としてサポート・ベクタを学習することで、ベクトルの次元を落とすことで学習時の演算量を激減させ、かつ集団学習とサポート・ベクタ・マシーンとを組み合わせることでさらに高い汎化能力を有する表情認識装置を学習することができる。
【００４０】
本発明に係る表情認識装置は、与えられた顔画像をガボア・フィルタによりフィルタリングして顔特徴を抽出する顔特徴抽出手段と、上記顔特徴に基づき、上記与えられた顔画像の表情を認識する表情認識手段とを有することを特徴とする。
【００４１】
本発明においては、与えられる顔画像から画像のシフトに強いガボア・フィルタにより特徴量を抽出するため、環境変化にロバストな認識結果を得ることができる。また、表情認識手段としては、ＳＶＭ若しくはブースティングによる学習、またはこれらを組み合わせて学習された表情識別器から構成することができ、極めて高精度に顔画像から表情を認識することができる。
【００４２】
本発明に係るロボット装置は、自律的に行動するロボット装置において、周囲の画像を撮像する撮像手段と、上記撮像手段により撮像された画像から任意の大きさのウィンドウ画像を切り出す切り出し手段と、上記ウィンドウ画像が検出対象を示す画像であるか否かを検出する検出装置とを有し、上記検出装置は、複数の弱仮説からなる推定結果出力出手段と、上記推定結果出力手段から出力される推定結果に基づき上記ウィンドウ画像が検出対象を示す画像であるか否かを判別する判別手段とを有し、上記推定結果出力手段は、予め学習された特徴量に基づき、上記与えられたデータが検出対象であるか否かを各弱仮説毎に推定して出力し、上記判別手段は、弱仮説の推定結果と当該弱仮説の推定性能に基づき学習された信頼度との積を、一の弱仮説が推定結果を出力する毎に加算し、該加算結果に基づき上記推定結果出力手段の処理を打ち切るか否かを決定する打ち切り手段を有することを特徴とする。
【００４３】
本発明においては、入力画像から検出対象を検出する際に打ち切り閾値を使用し、与えられた画像が検出対象であるか否かの検出処理を省略することができ、リアルタイムで入力される静止画又は動画から対象物を検出することができる。
【００４４】
本発明に係るロボット装置は、自律的に行動するロボット装置において、周囲の画像を撮像する撮像手段と、上記撮像手段により撮像された画像から所定の領域を顔画像として検出する顔画像検出装置と、上記顔画像の表情を認識する表情認識装置とを備え、上記表情認識装置は、上記顔画像検出装置により検出された顔画像をガボア・フィルタによりフィルタリングして顔特徴を抽出する顔特徴抽出手段と、上記顔特徴に基づき、上記与えられた顔画像の表情を認識する表情認識手段とを有することを特徴とする。
【００４５】
本発明においては、自律的に行動するようなロボット装置であっても、環境の変化にロバストな特徴量を使用して表情認識することで、精度よく顔画像から表情を認識することができる。
【発明の効果】
【００４６】
本発明に係る弱仮説生成装置及び方法によれば、  検出対象であるか非検出対象であるかの正解付けがされた複数の学習サンプルからなるデータセットを使用し、与えられたデータが検出対象であるか否かを推定する際、先ず、複数の弱仮説から一部の弱仮説を選択し、選択された一部の弱仮説の上記データセットに対する推定性能が他より高い１又は複数の弱仮説を高性能弱仮説として選択する。次に、この高性能弱仮説に対して所定の変形を加えた１以上の新たな弱仮説を新弱仮説として生成する。そして、高性能弱仮説及び新弱仮説から上記データセットに対する推定性能が最も高い１つの弱仮説を選択することにより、弱仮説を生成する。これにより、選択可能な全弱仮説の一部から判別性能がよいものを選別し、この選別され高性能弱仮説から所定の変形を加えた新弱仮説を生成し、これらから最も判別性能が高い弱仮説を採用することで、選択可能な全弱仮説の中から判別性能が高いものを選択するのに比して精度を落とすことなくかつ飛躍的に演算量を減らすことができ、このように高速に弱仮説を生成することで、最終仮説となる判別器を高速に学習し、高精度な学習機械を得ることができる。
【００４７】
また、本発明に係る他の弱仮説生成装置及び方法によれば、複数の弱仮説から、一部の弱仮説を選択し、選択された一部の弱仮説に対して所定の変形を加えた１以上の新たな弱仮説を生成し、これらに含まれる弱仮説のうち、学習データセットに対する誤り率が最小のものを選択することで弱仮説を生成するので、選択可能な全弱仮説の中から判別性能が高いものを選択するのに比して高速に弱仮説を生成することができると共に、一部の弱仮説のみから選択するより高性能な弱仮説を生成することができる。
【００４８】
本発明に係る学習装置及び方法によれば、  検出対象であるか非検出対象であるかの正解付けがされた複数の学習サンプルからなるデータセットを使用し、与えられたデータが検出対象であるか否かを判定する検出装置を学習する。学習では、与えられたデータが検出対象であるか否かを推定する複数の弱仮説から一の弱仮説を選択する処理を繰り返すが、この際、弱仮説が選択される毎に、選択された弱仮説の上記データセットに対する推定結果に基づき当該弱仮説の信頼度を算出し、弱仮説の上記データセットに対する推定結果と当該弱仮説の上記信頼度との積を、弱仮説が選択される毎に算出して加算する。そして、加算結果に基づき上記検出装置が上記与えられたデータが検出対象であるか否かを判定する処理を打ち切るための打ち切り閾値を学習する。このことにより、対象物を検出する際、打ち切り閾値により、与えられた画像が明らかに検出対象ではないと判断して検出処理を途中で打ち切ったり、与えられた画像が明らかに検出対象であると判断して検出処理を打ち切ったりすることができ、無駄な処理を省き、高速に検出処理が可能な検出装置を学習することができる。
【００４９】
本発明に係る検出装置及び方法によれば、与えられたデータが検出対象であるか否かを判別することで検出対象を検出する際、複数の弱仮説が予め学習された特徴量に基づき、与えられたデータが検出対象であるか否かを各弱仮説毎に推定して出力し、この出力結果に基づき与えられたデータが検出対象であるか否かを判別する。この場合、弱仮説の推定結果と当該弱仮説の推定性能に基づき予め学習された信頼度との積を、一の弱仮説が推定結果を出力する毎に加算し、該加算結果に基づき弱仮説の推定処理を打ち切るか否かを決定する。このことにより、例えば検出対象に比して非検出対象の方が格段に多い場合などには、予め学習された打ち切り閾値により、与えられたデータが明らかに検出対象でないか否かを判断し、明らかに検出対象ではないと判断できる場合には、検出処理を途中で打ち切ることで、検出処理を極めて効率よく行って処理を高速化することができる。また、検出対象として顔画像を検出すれば、動画などからリアルタイムで顔検出することができ、この顔画像の表情を認識する表情認識装置と組み合わせればリアルタイムで入力画像から人間の表情を認識することができる。
【００５０】
本発明に係る表情学習装置及び方法によれば、認識対象となる特定表情を示す複数の顔画像と該特定表情とは異なる表情を示す複数の顔画像とからなる表情学習用データセットを使用して、与えられた顔画像の表情を認識する表情認識装置を学習する。この場合、ガボア・フィルタにより上記表情学習用データセットから抽出した顔特徴に基づき、与えられた顔画像から上記特定表情を示す顔画像を識別する表情認識装置を学習するので、ガボア・フィルタ出力を特徴量とするため、画像のシフトに強く、各表情にラベリングされた表情学習サンプルを使用して、識別対象の特定表情を識別する表情識別器を所望の上表種類分学習することで、与えられる顔画像から所望の表情を認識する表情認識装置を得ることができる。また、特定表情を識別するためのサポート・ベクタを学習すれば、表情識別器をサポート・ベクタ・マシーンとすることができ、極めて高精度な表情認識装置を得ることができる。更に、特定表情を識別する表情識別器を最終仮説としてブースティングなどの手法にて集団学習すれば、高精度かつ高速演算が可能な表情認識装置を得ることができる。更にまた、ブースティングにより、サポート・ベクタを学習するための特徴選択をして学習するベクトルの次元を下げることで、学習時の演算を高速化すると共に、高速かつ極めて汎化性能が高い表情識別装置を得ることができる。
【００５１】
本発明に係る顔表情認識装置及び方法によれば、与えられた顔画像をガボア・フィルタによりフィルタリングして顔特徴を抽出し、この顔特徴に基づき、上記与えられた顔画像の表情を認識するので、環境にロバストな特徴量を抽出することができ、精度よく顔表情を認識することができる。
【００５２】
本発明に係るロボット装置によれば、上述したような高速に検出処理が可能な検出装置を搭載したり、顔画像から表情を認識する表情認識装置を搭載することで、リアルタイムで人間の表情を認識し、ユーザの感情に応じた動作を発現させることができ、エンターテイメント性に優れたロボット装置を提供することができる。
【発明を実施するための最良の形態】
【００５３】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。本実施の形態は、本発明を、入力される画像又は映像から検出対象として顔画像を検出する検出装置、及びこの検出装置により検出された顔画像の表情を認識する表情認識装置からなる顔表情認識システムに適用したものである。
【００５４】
この顔表情認識システムは、映像からの顔画像を検出し、基本的な感情表現のリアルタイム認識を、ユーザ独立型で完全に自動的に行うことができる。また、本顔表情認識システムは、ビデオストリームにおける正面顔を自動的に検出し、符号化して、例えば、ニュートラル、怒り、嫌悪、恐怖、喜び、悲しみ、驚きなどの複数の感情に識別するものである。
【００５５】
ここで、検出装置は、検出対象を示す学習サンプルとして複数の顔画像と、非検出対象を示す学習サンプルとして複数の非顔画像とからなるデータセットを使用し、集団学習されたものある。また、表情認識装置は、検出装置により検出された顔画像のガボア・フィルタの出力を特徴量とし、サポート・ベクタ・マシーン（Support Vector Machine：ＳＶＭ）若しくは、集団学習により得られた学習機械又はこれらの組み合わせにより複数の顔表情に識別する装置である。すなわち、いずれの装置も教師データまたは訓練データともいわれる学習サンプルを使用して機械学習されるものである。
【００５６】
先ず、本実施の形態の説明に先立ち、本実施の形態において使用する学習アルゴリズムの１つである集団学習について説明しておく。集団学習については、例えば、麻生英樹ら著、「パターン認識と学習の統計学−新しい概念と手法」（岩波書店）などに記載されている。
【００５７】
入力ｘに対して１つの反応ｙを確定的又は確率的に予測するものを仮説（hypothesis）とし、仮説がパラメータθで表されるとき、ｙ＝ｈ（ｘ，θ）と記載する。学習アルゴリズムは、仮説の集合{ｈ（ｘ，θ）}を学習モデルと呼ぶとき、この学習モデルから例題（学習サンプル）を用いて適当なパラメータθの推定値を選び出すものである。
【００５８】
集団学習（ensemble learning：アンサンブル学習）と呼ばれるアルゴリズムは、比較的単純な学習モデルと計算量が妥当な学習則とを用い、与えられる例題の重みや初期値の違いなどによって多様な仮説を選び出しこれを組み合わせることによって最終的な仮説を構成し、複雑な学習モデルを学習するのと同等なことを行おうとするものである。
【００５９】
集団学習では、このように仮説を多数組み合わせることで性能を向上させるものであため、集団学習に用いられる学習アルゴリズムは、弱い学習アルゴリズム（weak learning algorithm）または弱学習機（weak learner）と呼ばれ、仮説は弱仮説（weak hypothesis）、弱判別器、弱判定器などと呼ばれる。
【００６０】
なお、簡単な学習機械を組み合わせて、複雑なものを作るという試みはニューラル・ネットワークの分野では古くから行われており、このようにして作られた学習機械、又はそのアルゴリズムを指して、combining predictor、combining learner、committee machine、modular network、voting network、ensemble learningなどの言葉が使用されるが、本明細書においては、集団学習という言葉を使用するものとする。
【００６１】
このような学習により異なる複数個のパラメータが与えられたとき、最終的な出力は多数決（majority vote）により決定される。ここで、仮説ｈｉに重みｗｉが与えられていた場合（通常、重みの総和は１となるよう正規化されているものとする。）、この重みは、どの仮説の出力を優先するかを示しており、これに基づいて多数決を構成するとき重み付き多数決（weighted vote）と呼ぶ。なお、重みが一様な場合は均等な多数決（equally vote）と呼ぶ。出力が計量的である場合には、仮説の出力を重み付けて足し合わせたものが最終的な出力となる。
【００６２】
集団学習によって得られる学習機械は最終仮説又は強判別器とも言われ、多数の弱仮説とこれを組み合わせる結合機とからなる。ここで、結合機の動作が入力に対して動的であるか、静的であるかということと、弱仮説の生成の仕方が並列的であるか逐次的であるかということにより、幾つかの学習アルゴリズムに分類される。本実施の形態においては、入力によらず固定した重みで弱仮説の出力を統合する静的な結合機であって、仮説の生成を逐次的に行うブースティングによって得られる学習機械としての、顔検出装置及び表情識別装置について説明する。なお、同様に静的な結合機として、仮説の生成を並列的に行うバギンングなどがある。
【００６３】
ブースティングでは、例えば数千の学習サンプルといわれる予め正解付け（ラベリング）された検出対象と非検出対象、例えば顔画像と、非顔画像とからならなるサンプル（例題）を使用し、逐次的に例題の重みを変化させながら異なる学習機械（弱仮説）を生成し、これを組み合わせて精度が高い学習機械（最終仮説）を構成する手法であり、学習アルゴリズムの精度を増強（boost）する意味で、ブースティングという言葉が使用される。
【００６４】
こうして、極めて簡単な構成であって、１つでは検出対象であるか又は非検出対象であるかの判別能力も低い弱仮説の組み合わせからなる学習モデルから、ブースティングなどの所定の学習アルゴリズムに従って１つの仮説を選択することで弱仮説を生成し、多数の弱仮説を組み合わせることで、それ自体では判別性能が低い弱仮説から、結果的に判別能力が高い最終仮説（判別器）を得ることができる。例えばアダブースト（AdaBoost）においては、例題となる学習サンプルに重みを設定し、より判別が難しい例題の重みが大きくなるようデータ重みを逐次更新し、例えば多数の弱仮説から重み付き学習サンプルの判別誤差が最も小さい弱仮説を選択することで弱仮説を逐次生成して組み合わせていくと共に、生成した弱仮説に対しその判別能力を示す信頼度を学習していく。以下の説明においては、学習モデルを構成する複数の仮説（弱仮説）を、学習により逐次生成される弱仮説と区別するため、必要に応じてフィルタともう。また、最終仮説となる判別器の判別結果と区別するため、必要に応じて弱仮説の判別結果（出力結果）を推定値又は推定結果ともいう。
【００６５】
ここで、本実施の形態においては、この集団学習の際の弱仮説の生成を極めて効率よく行うことで処理を高速化する手法を提案するものである。判別対象（検出対象）やその条件などにより異なるが、通常、学習モデルとなる弱仮説（フィルタ）の組み合わせは、極めて多数存在し、学習においては、これら多数のフィルタからできるだけ判別性能が高い一つを選択して弱仮説を生成するという処理を繰り返すため、通常その処理が膨大なものとなる。これに対し、本実施の形態の弱仮説の生成方法によれば、生成の際の演算量を削減しても判別性能が高い弱仮説を生成することができる。
【００６６】
また、学習によって得られる最終仮説は、多数の弱仮説からなり、判別の際には、これらの弱仮説の出力を全ての重み付き加算して得られる重み付き多数決が最終仮説の出力となる。したがって、通常は全ての弱仮説の出力を得る必要がある。これに対し、本実施の形態においては、学習の際に後述する打ち切り閾値を学習しておくことで、全ての弱仮説の出力の重み付き多数決をとらず、入力として与えられたデータが検出対象であるか、非検出対象であるかを逐次判定することで、全ての弱仮説の出力結果をまたずとも演算を途中で打ち切ることができ、検出処理を高速化するものである。なお、本発明における弱仮説の生成方法などを、ブースティング以外の集団学習に適用して学習機械の学習・検出を同様に高速化してもよい。
【００６７】
（１）顔表情認識システム
図１は、本実施の形態における顔表情認識システムの処理機能を示す機能ブロック図である。図１に示すように、顔表情認識システム１は、与えられた入力画像から顔の位置及び大きさを出力する顔検出装置１０と、顔検出装置により検出された顔表情が示す顔画像の表情を認識する表情認識装置２０とを有する。
【００６８】
顔検出装置１０は、ビデオ映像などの動画、又は静止画などが入力され濃淡画像（輝度画像）を出力する画像出力部１１と、画像出力部１１から出力された濃淡画像から後述する積分画像を生成する積分画像生成部１２と、積分画像に対して検出対象の大きさで例えば左上から順次スキャンする走査部１３と、走査部１３にて順次スキャンされた全ウィンドウ画像について、顔であるか否かを判別する判別器１４とを有する。走査部１３は、各積分画像について、検出したい対象物の大きさのウィンドウを順次スキャンしてウィンドウ画像を切り出し、判別器１４は、各ウィンドウ画像が顔であるか否かを判別することで、与えられる画像（入力画像）の中から検出対象を示す領域の位置及び大きさを出力する。
【００６９】
判別器１４は、集団学習により判別器１４を構成する複数の弱仮説を集団学習により学習する集団学習機１５の学習結果を参照して、現在のウィンドウ画像が顔画像であるか、又は非顔画像であるかを判別する。
【００７０】
また、この顔検出装置１０は、入力画像から複数の顔画像が検出された場合は、複数の領域情報を出力する。更に、複数の領域情報のうち重なりあっている領域が存在する場合は、それらを平均した領域を出力したり、又は最も検出対象である確率が高いと評価される一の領域として、後述する高い重み付き多数決をとるための値を有する領域を選択したりする処理も行うことができる。
【００７１】
表情認識装置２０は、顔検出装置１０により検出された顔画像から表情認識のための特徴量を抽出する顔特徴抽出部２１と、顔特徴抽出部２１により抽出された特徴量を用いて、入力された顔画像を、予め学習された複数の顔表情のいずれかに識別することで表情認識する表情識別部２２とを有する。
【００７２】
顔特徴抽出部２１は、方位選択性を有し周波数成分が異なる複数のフィルタを使用して上記顔画像をフィルタリングするガボア・フィルタにより構成される。また、表情認識部２２は、顔特徴抽出部２１による顔特徴の抽出結果を入力として、特定の表情を識別する表情識別器を、識別する表情の種類分有する。本実施の形態においては、顔画像を７つの表情に識別するため、７つの表情を識別する表情識別器から構成される。
【００７３】
ここで、顔検出装置１０の判別器１４は、予め検出対象であるか、非検出対象であるかの正解付けがされた複数の学習サンプルからなる学習用データセットを利用して、集団学習により機械学習されたものである。また、表情認識部２０も、予め所定の表情にラベリングされた画像サンプルを使用して学習されたものである。従って、以下では顔検出装置の学習方法、顔検出装置の検出方法、表情認識装置の学習方法、表情認識装置の認識方法の順序で上記顔表情認識システムについて詳細に説明する。
【００７４】
なお、顔検出装置１０は、判別器１４の前段に、積分画像を生成して所定の領域を切り出すなどの前処理を行う機能を有しているが、判別器１４は、入力として与えられる画像が顔か否かを判別するものであり、前処理が不要な場合は、判別器１４を顔検出装置として使用することができる。また、本実施の形態の判別器１４は、与えられたウィンドウ画像から顔画像を判別する顔検出装置に適用した場合について説明するが、顔以外の所望の検出対象を検出する装置に適用することができることはいうまでもない。
【００７５】
（２）判別器
本実施の形態における顔検出装置１０に使用される判別器１４は、複数の弱仮説の出力結果を重み付き多数決して検出対象であるか否か、すなわち顔画像であるか否かを判別するものであり、この弱仮説及び弱仮説に対する重みをブースティングなどの集団学習によって予め学習しておく。
【００７６】
集団学習によって得られる学習機械としての判別器１４は、図２に示すように、入力部１４ａから与えられた入力画像の特徴量を抽出し、この特徴量に基づき検出対象であるか否かの推定値を出力する多数の弱仮説（弱仮説器）１４ｂと、これら弱仮説１４ｂの出力である推定値を結合する結合機（combiner）１４ｃとを有する。判別器１４は、結合機１４ｃの出力結果に基づき出力部１４ｄが入力画像が検出対象であるか否かの判別をする。ここで、上述したように、ブースティングは、入力によらず固定した重みで弱仮説の出力を統合する結合機１４ｃを有する。ブースティングは、前に生成した弱仮説の学習結果を使用して間違いを苦手とする学習サンプル（例題）の重みを増すように、学習サンプルが従う分布を加工し、この分布に基づき新たな弱仮説の学習を行う。これにより不正解が多く検出対象として判別が難しい学習サンプルの重みが相対的に上昇し、結果的に重みが大きい、すなわち判別が難しい学習サンプルを正解させるような弱仮説が逐次選択される。すなわち、学習における弱仮説の生成は逐次的に行われるものであり、後から生成された弱仮説はその前に生成された弱仮説に依存することになる。
【００７７】
検出の際には、上述のようにして逐次生成された多数の弱仮説の検出結果と弱仮説の判別能力を示す信頼度（重み）とを乗算し、足し合わせた結果を判別結果として使用する。例えばアダブーストの場合は、この学習により生成された弱仮説（弱仮説）から出力される確定的な値、すなわち検出対象であれば１、非検出対象であれば−１の値全てが結合機１４ｃに供給される。結合機１４ｃは、全判別結果に対して、対応する弱仮説毎に学習時に算出された信頼度を重み付き加算し、出力部１４ｄにて、その加算値に基づき重み付き多数決の結果が出力される。この出力が正であるか負かで、検出対象であるか否かを判別することができる。ここで、アダブーストのように、弱仮説の出力は検出対象であるか否かを確定的に出力してもよいが、後述するジェントルアダブースト、リアルアダブーストなどのアルゴリズムを使用し、検出対象である確からしさを確率密度などで確率的に出力するような弱仮説を使用すると、更に判別性能を向上させることができる。
【００７８】
（３）顔検出装置の学習方法
次に、適切な弱仮説を学習アルゴリズムに従って多数組み合わせた最終仮説としての判別器１４を得るための学習機１５の学習方法について説明する。顔検出するための判別器１４の学習においては、検出対象を示す顔画像であるか非検出対象である例えば風景画などの非顔画像かの正解付けがされた複数の学習サンプルからなる学習用データセットを使用し、与えられたデータが顔画像であるか否かを示す推定値を出力する弱仮説を生成する。各学習サンプルにはデータ重みが設定されており、弱仮説が生成されると、生成された弱仮説の上記データセットの推定値の誤り率がデータ重みに基づき算出され、この誤り率に基づき当該弱仮説の信頼度が算出される。そして、生成された弱仮説が推定を誤った学習サンプルのデータ重みが、正しく推定された学習サンプルのデータ重みより相対的に増すよう更新される。こうしてデータ重みを更新すると再び弱仮説を生成する処理を繰り返す。
【００７９】
（３-１）弱仮説
上述したように、集団学習においては、多数のフィルタの集合からなる学習モデルから一のフィルタを選択することで弱仮説を生成する。ここでは、先ず、顔検出に使用する弱仮説として使用するフィルタについて説明する。本実施の形態においては、学習モデル（弱仮説の集合）として、２以上の矩形領域からなる矩形領域群における、一又は複数の矩形領域の各輝度値の総和と、その他の矩形領域群における各輝度値の総和との差を出力するフィルタ（以下、矩形特徴ともいう。）を使用する。なお、本実施の形態においては、このフィルタの出力に応じて与えられる画像が検出対象であるか否かを出力する弱仮説を構成するものとして説明するが、フィルタとしては、このような矩形特徴に限らず、例えば２つの画素の輝度値の差を出力するようなフィルタとするなど、データセットを入力した際に、顔画像であるか非顔画像であるかをある程度の確率で判別することができる弱仮説を構成できるものであれば、どのようなフィルタを使用して弱仮説を構成しても構わない。
【００８０】
図３は、顔検出のための弱仮説として使用するフィルタ（矩形特徴）を示す模式図である。顔の検出のための特徴量として、ハール（Haar）基底のようなフィルタを用いる。すなわち、図３に示すように、入力画像１０Ａ〜１０Ｄにおいて、同一サイズの２以上の矩形領域群において、一又は複数の矩形領域の輝度値の総和と、その他の矩形領域の輝度値の総和との差を出力するようなフィルタを複数用意する。例えば、入力画像１０Ａにおいては、１つの矩形領域が左右２つに分割された矩形領域（rectangular box）１１Ａ−１、１１Ａ−２において、一方の矩形領域１１Ａ−１の輝度値の総和から、影を付けて示す他方の矩形領域１１Ａ−２の輝度値の総和を減算するフィルタ１１Ａを示す。また、入力画像１０Ｂにおいて、１つの矩形領域が上下２つに分割された矩形領域１１Ｂ−１、１１Ｂ−２において、一方の矩形領域１１Ｂ−１の輝度値の総和から、影を付けて示す他方の矩形領域１１Ｂ−２の輝度値の総和を減算するフィルタ１１Ｂを示す。このような２つの矩形領域からなるフィルタを２矩形特徴（2 rectangle feature）という。また、入力画像１０Ｃにおいては、１つの矩形領域が３分割された３つの矩形領域１１Ｃ−１〜１１Ｃ−３において、矩形領域１１Ｃ−１、１１Ｃ−３の輝度値の総和から影を付けて示す中央の矩形領域１１Ｃ−２の輝度値の総和を減算するフィルタ１０Ｃを示す。このような３つの矩形領域からなるフィルタを３矩形特徴（3 rectangle feature）という。更に、入力画像１０Ｄにおいては、１つの矩形領域が上下左右に分割された４つの矩形領域１１Ｄ−１〜１１Ｄ−４において、隣接しない２つの矩形領域１１Ｄ−１、１１Ｄ−３の輝度値の総和から影を付けて示す矩形領域１１Ｄ−２、１１Ｄ−４の輝度値の総和を減算するフィルタ１１Ｄを示す。このような４つの矩形領域からなるフィルタを４矩形特徴（4 rectangle feature）という。
【００８１】
例えば、図４に示す顔画像３０を、上述したような矩形特徴を使用して顔であることを判定する場合について説明する。２矩形特徴３１Ａは、１つの矩形領域が上下（垂直方向）に２分割された２つの矩形領域３１Ａ−１、３１Ａ−２のうち、下側の矩形領域３１Ａ−２の輝度値の総和から影を付けて示す上側の矩形領域３１Ａ−１の輝度値の総和を減算するフィルタを示す。人間の顔画像（検出対象）３０は、頬の領域より眼の領域の方の輝度値が低いことを利用し、矩形特徴３１Ａが目から鼻にかけて位置するよう配置すれば、矩形特徴３１Ａの出力値から入力画像が顔であるか否か（正解または不正解）をある程度の確率で推定することができる。
【００８２】
また、３矩形特徴３１Ｂは、中央の矩形領域３１Ｂ−２の輝度値の総和から左右の矩形領域３１Ｂ−１、３１Ｂ−３の輝度値の総和を減算するフィルタであるが、上述と同様、人間の顔画像３０は、両目の領域より鼻の領域の方が輝度値が高いことを利用し、矩形特徴３１Ｂを目の位置に配置するようにすることで、矩形特徴３１Ｂの出力値から入力画像が顔であるか否かをある程度判定することができる。
【００８３】
このように、フィルタは２つの矩形領域の差を取るものから、例えば矩形特徴３１Ｃなどの４つの矩形領域の差を取るものまであり、また任意の位置の任意の大きさ（１画素以上）の矩形領域からなるフィルタを選択することができる。フィルタの選択の組み合わせは対象とする領域を２４×２４画素の範囲に限定したとしても１６００００通り以上存在する。
【００８４】
まず、このようなフィルタの出力を高速に演算するために、積分画像とよばれる画像を使用する。積分画像とは、図５（ａ）に示すように、画像４０において、（ｘ、ｙ）番目の画素Ｐが、下記式（１）に示すように、その画素Ｐより左上の画素の輝度値の総和になっている画像である。すなわち、画素Ｐの値は、画素Ｐの左上の矩形領域４１に含まれる画素の輝度値の総和となっている。以下、各画素値が下記式（１）に示す値の画像を積分画像という。
【００８５】
【数１】
2005044330.tif 000003
【００８６】
この積分画像４０を使用すると、任意の大きさの矩形領域の演算を高速に行うことができる。すなわち、図５（ｂ）に示すように、左上の矩形領域４１Ａ、矩形領域４１Ａの右横、下、右下のそれぞれ矩形領域４１Ｃ、４１Ｄ、４１Ｄとし、矩形領域４１Ｄの４頂点を左上から時計周りにＰ１、Ｐ２、Ｐ３、Ｐ４とする。ここで、Ｐ１は矩形領域４１Ａの輝度値の総和Ａ（Ｐ１＝Ａ）、Ｐ２はＡ＋矩形領域４１Ｂの輝度値の総和Ｂ（Ｐ２＝Ａ＋Ｂ）、Ｐ３はＡ＋矩形領４１Ｃの輝度値の総和Ｃ（Ｐ３＝Ａ＋Ｃ）、Ｐ４はＡ＋Ｂ＋Ｃ＋矩形領４１Ｄの輝度値の総和Ｄ（Ｐ４＝Ａ＋Ｂ＋Ｃ＋Ｄ）となっている。ここで、矩形領域Ｄの輝度値の総和Ｄは、Ｐ４−（Ｐ２＋Ｐ３）−Ｐ１として算出することができ、矩形領域の四隅の画素値を加減算することで矩形領域の輝度値の総和を高速に算出することができる。
【００８７】
このようなフィルタのうち、１つのフィルタを選択し、学習用データセットをフィルタリングした出力値から、与えられる画像が顔画像である場合の値を特徴量として学習しておくことで、弱仮説を生成することができる。アダブーストにおける弱仮説は、判別の際には、学習した特徴量と、与えられる入力画像をフィルタリングした値とを比較し、与えられた入力画像が顔である（＝１）か非顔である（＝−１）の２値を出力する。
【００８８】
また、弱仮説の出力として、アダブーストのように顔であるか否かを示す２つの値を確定的に出力する弱仮説ではなく、フィルタの出力値（実数値）とサンプルのラベル値（１，−１）の重み付き２乗誤差が最小となるようなフィルタとその特徴量の選択を行いその実数値を足し合わせていくブースティングアルゴリズムを採用することで、更に効率が良い学習を行うことができる。このようなブースティングアルゴリズムはジェントルアダブースト（Gental AdaBoost）といわれ、例えばJ.Freidman,T Hastie,and R Tibshirani等の「Additive logistic Regression : A statistical view of boosting”」, ANNALS OF STATISTICS, 28(2); 337-374, 2000に記載されている。また、このジェントルアダブーストのように、弱仮説の出力として確率的な出力をするブースティングアルゴリズムとしてリアルアダブースト（Real AdaBoost）などがある。
【００８９】
次に、顔検出装置の学習方法について、アダブースト、リアルアダブースト、ジェントルアダブーストの各アルゴリズムについて説明するが、これらの学習方法の説明に先立ち、本実施の形態における学習機１５にて学習するデータのうち特徴となるデータである打ち切り閾値について説明しておく。打ち切り閾値とは、判別工程（検出工程）において検出を途中で打ち切るための閾値であり、通常のブースティング学習では学習されない学習データである。
【００９０】
（３-２）打ち切り閾値
ブースティングを用いた集団学習では、通常は、上述したように判別器１４を構成する全弱仮説の出力の重み付き多数決により与えられたデータが検出対象であるか否かを判別する判別器を学習する。重み付き多数決は、弱仮説の判別結果（推定値）と信頼度との積を足し合わせた値（以下、加算値という。）と判別境界値との比較結果として出力される。例えば、弱仮説の個数をｔ（＝１，・・・，Ｋ）、各弱仮説に対応する多数決の重み（信頼度）をαｔ、各弱仮説の出力をｈｔとしたとき、アダブーストにおける重み付き多数決をとるための値（加算値）は、下記式（２）により求めることができる。ｘは学習サンプルであり、ここでは、各画素値のベクトルからなる場合を示す。
【００９１】
【数２】
2005044330.tif 000004
【００９２】
図６は、横軸に弱仮説の数をとり、縦軸に上記式（２）に示す重み付き多数決を取るための値（加算値）をとって、入力される画像が検出対象であるか否かに応じた変化を示すグラフ図である。図６において、実線で示すデータＤ１〜Ｄ４は、顔としてラベリングされている画像（学習サンプル）を入力として弱仮説により算出した推定値ｈｔ（ｘ）を逐次算出し、その加算値を逐次求めたものである。このデータＤ１〜Ｄ４に示すように、顔画像を入力画像とするとある程度の個数の弱仮説により算出された推定値ｈｔ（ｘ）が信頼度と乗算されて加算された値はプラスになる。アダブーストにおいては、判別境界値０により、この加算値が判定され、正であれば検出対象であるとして結果が出力される。
【００９３】
ここで、本実施の形態においては、通常のブースティングアルゴリズムとは異なる手法を導入する。すなわち、弱仮説の判別結果を逐次足し合わせていく過程において、全ての弱仮説の出力結果を得る前であっても、明らかに検出対象ではない、すなわち顔ではないと判別できる場合などには、そのウィンドウ画像についての判別を中止するものである。この際、判別を中止するか否かを決定するための値を学習工程にて学習しておく。以下、判別を中止するか否かの判定に用いる値を打ち切り閾値という。
【００９４】
この打ち切り閾値により、全てのウィンドウ画像について、全弱仮説の出力結果を用いなくとも、非顔であることが確実に推定できる場合、弱仮説の推定値ｈｔ（ｘ）の演算を途中で中止することができ、これにより、全ての弱仮説を使用した重み付き多数決を行うのに比して格段に演算量を低減することができる。
【００９５】
この打ち切り閾値としては、学習サンプルのうち、顔としてラベリングされている学習サンプル（ポジティブデータ）の判別結果の重み付き多数決の値が取りえる最小値又は判別境界値のうちの小さい値とすることができる。判別工程において、ウィンドウ画像の弱仮説からの出力（推定値ｈｔ（ｘ））が逐次重み付けされ加算されて出力される。すなわち、この加算値が逐次更新されていくが、この更新されていく値と、上記打ち切り閾値とを更新の度、すなわち１つの弱仮説が推定値を出力する毎に比較し、更新された加算値が打ち切り閾値を下回る場合には当該ウィンドウ画像は顔ではないとし、弱仮説の計算を打ち切ることができ、これにより無駄な演算を省いて更に判別処理を高速化することができる。
【００９６】
すなわち、Ｋ番目の弱仮説の出力ｈＫ（ｘｉ）の打ち切り閾値ＲＫは、学習サンプルｘｉ（＝ｘ１〜ｘＮ）のうち、顔画像である学習サンプル（ポジティブサンプル又はポジティブデータともいう。）ｘｊ（＝ｘ１〜ｘＪ）を使用したときの重み付き多数決の値の最小値又は判別境界値のうちの小さい値とされ、下記式（３）のように示すことができる。
【００９７】
【数３】
2005044330.tif 000005
【００９８】
この式（３）に示すように、検出対象である学習サンプルｘ１〜ｘＪの重み付き多数決を得るための値の最小値が０を上回る場合には打ち切り閾値ＲＫには０が設定される。なお、０を上回らないようにするのは、０を判別境界値にして判別を行うアダブーストの場合であり、ここは集団学習の手法により異なる場合がありうる。アダブーストの場合においては、打ち切り閾値は図６の太線で示すように、入力画像として検出対象である顔画像を入力した場合の全データＤ１〜Ｄ４のうち取りうる最小値に設定され、全てのデータＤ１〜Ｄ４の最小値が０を超えた場合は、打ち切り閾値が０に設定される。
【００９９】
本実施の形態においては、弱仮説が生成される毎に、打ち切り閾値Ｒｔ（生成される弱仮説の数をＴ個としたとき、Ｒ1〜ＲＴ）を学習しておくことで、後述する判別工程において、複数の弱仮説により推定値が逐次出力されその加算値が逐次更新されていくが、例えばデータＤ５のように、逐次加算された値が上記打ち切り閾値を下回った時点で、後段の弱仮説による判別を行う処理を終了することができる。すなわち、この打ち切り閾値Ｒｔを学習しておくことにより、弱仮説の推定値を計算する毎に次の弱仮説の計算を行うか否かを決定でき、明らかに検出対象ではないとされる場合には全ての弱仮説の判別結果を待たずに非検出対象であることが判定でき、演算を途中で打ち切りことにより検出処理を高速化することができる。
【０１００】
また、以下の説明においては、検出時において、与えられた画像が明らかに検出対象ではないとして処理を途中で打ち切るための打ち切り閾値について説明するが、同様に、与えられた画像が明らかに検出対象であるとして処理を途中で打ち切るための打ち切り閾値を学習しておいてもよい。この場合、学習サンプルのうち、例えば、非顔画像としてラベリングされている学習サンプル（ネガティブデータ又はネガティブデータという。）の判別結果の重み付き多数決の値が取り得る最大値又は判別境界値のうちの大きい値を打ち切り閾値とすることができ、検出工程にて、弱仮説の出力とその信頼度との積を逐次加算した加算値と当該打ち切り閾値とを比較し、加算値が打ち切り閾値より大きい場合には、判別中の画像は明らかに顔画像であると判断して判別処理を途中で終了することも可能である。
【０１０１】
（３−３）学習機の構成
先ず、学習機１５の構成について説明する。図７は、学習機１５を示す機能ブロック図である。図７に示すように、学習機１５は、学習用データセットが格納されたデータベース３１と、多数のフィルタの集合からなる学習モデル３２から所望の数の弱仮説を選択する選択部３３と、選択部３３から出力される弱仮説を使用して新弱仮説を生成する新弱仮説生成部３４と、選択部３３にて選択された弱仮説及び新弱仮説生成部３４にて生成された新弱仮説の中から最も判別性能が高い１つの弱仮説を選択する弱仮説選択部３５を有する。これらにより、弱仮説生成装置が構成される。また、弱仮説選択部３５にて選択されることで生成された弱仮説の判別性能を示す信頼度を算出する信頼度算出部３６と、判別器１４が判別の際に推定値の算出処理を打ち切るか否かを決定するための打ち切り閾値を算出する、打ち切り閾値学習手段としての打ち切り閾値算出部３７と、信頼度算出結果に基づき学習用データのデータセットにおける各学習サンプルのデータ重みを更新するデータ重み更新部３８とを有し、データ重み更新部３８により学習用データセット３１に含まれる各学習サンプルのデータ重みが更新されると、弱仮説生成装置が再び次の弱仮説を生成する処理を実行する。このように、学習用データセットのデータ重みを更新して弱仮説生成装置において弱仮説を生成する繰り返し処理は、システムが必要とする判別能力の最終仮説が得られるまで繰り返される。
【０１０２】
データベース３１に格納される学習用データセットは、検出対象を示す領域を切り出した画像群（本実施の形態においては顔画像群）と、全く関係のない例えば風景画などを切り出したランダムな画像群とからなる。
【０１０３】
選択部３３は、学習モデルから例えば５％程度など、所定の割合で弱仮説を選択し、これを新弱仮説生成部３４及び弱仮説選択部３５に出力することも可能であるが、これらの中から判別性能が高い１又は複数の弱仮説を高性能弱仮説として新弱仮説生成部３４及び弱仮説選択部３５に出力することで、更に判別性能が高い弱仮説を生成することが可能となる。ここで、弱仮説選択部３５は、学習モデルから先ず１つのフィルタを選択し、学習用データセットを使用して、フィルタの特徴量を学習する。すなわち、学習用データセットを判別した際にもっとも判別誤差が小さくなるような特徴量を学習することで、弱仮説を生成する。弱仮説が推定結果として２値を出力するような場合は、学習する特徴量とは判別閾値となる。これを選択したフィルタの数だけ繰り返して弱仮説を生成し、生成した中から誤差率が他より小さい１以上を選択し、高性能弱仮説とするものである。
【０１０４】
新弱仮説生成部３４は、選択部３３から出力される弱仮説の例えば高性能弱仮説に採用されたフィルタ（高性能フィルタ）に対し、所定の変形を加えることで高性能フィルタの亜種を１以上生成し、これらの特徴量を、学習用データセットを使用して学習することで、新弱仮説を生成し、これを弱仮説選択部３５に出力する。
【０１０５】
打ち切り閾値算出部３７は、繰り返し回数ｔ回目とすると、信頼度算出部３６にて算出された信頼度と弱仮説選択部３５にて選択された弱仮説の学習用データセットに含まれるポジティブデータを推定した結果とを乗算し、前回（繰り返し回数（ｔ−１）回目）の繰り返し処理において学習した打ち切り閾値に加算した値を繰り返し回数ｔ回目における打ち切り閾値として算出する。
【０１０６】
データ重み更新部３８は、上述したように、前に生成した弱仮説の学習結果を使用して間違いを苦手とする学習サンプル（例題）の重みを増すように、学習サンプルが従う分布を加工する。これにより、不正解が多く検出対象として判別が難しい学習サンプルの重みが相対的に上昇していく。
【０１０７】
このように、ブースティングにより最終仮説を得るまで、更新されるデータ重みの分布に基づき新たな弱仮説の学習を行っていくことで、結果的に重みが大きい、すなわち判別が難しい学習サンプルを正解させるような弱仮説が逐次選択されることで生成（学習）されていく。
【０１０８】
この学習機１５により、繰り返し回数ｔ回目の学習結果として、弱仮説選択部３５から生成した弱仮説が出力され、信頼度算出部３６からその信頼度が算出され、打ち切り閾値算出部３７から打ち切り閾値が出力され、これらの各データが保存されて判別器１４が判別の際に使用する。弱仮説選択部３５から出力されるデータは、具体的には上述の矩形特徴をフィルタに使用する場合は、矩形特徴を構成する矩形領域群の位置及び大きさと、１又は複数の矩形領域の各輝度値の総和から残りの矩形領域の各輝度値の総和を減算したときの特徴量である。
【０１０９】
（３−４）AdaBoostのアルゴリズム
次に、上述の学習機１５による判別器１４の学習方法について説明する。まず、アダブーストのアルゴリズムに従った学習方法について説明する。与えられたデータが、例えば顔であるか否かを判別する問題など、一般的な２クラス判別のパターン認識問題の前提として、予め人手によりラベリング（正解付け）された複数の訓練データからなる上述の学習用データセットを用意する。
【０１１０】
これらの学習用データセットを基に学習アルゴリズムを適用し、判別時に用いる学習データを生成する。判別時に用いる学習データとは、本実施の形態においては、上述した打ち切り閾値を含む以下の４つの学習データである。
【０１１１】
（Ａ）弱仮説（Ｔ個）
（Ｂ）弱仮説の閾値（Ｔ個）
（Ｃ）重み付き多数決の重み（弱仮説の信頼度）（Ｔ個）
（Ｄ）打ち切り閾値（Ｔ個）
【０１１２】
（３−４−１）判別器１４の学習
以下に、上述したような多数の学習サンプルから、上記（Ａ）乃至（Ｄ）に示す４種類の学習データを学習するアルゴリズムについて説明する。図８は、判別器を学習する方法を示すフローチャートである。
【０１１３】
手順０）  学習サンプルのラベリング
上述のように、予め検出対象又は非検出対象であることがラベリングされた学習サンプル（ｘｉ，ｙｉ）をｉ＝Ｎ個用意する。
ここで、
学習サンプル（ｘｉ，ｙｉ）：（ｘ１，ｙ１），・・・，（ｘＮ，ｙＮ）
ｘｉ∈Ｘ，ｙｉ∈{−１，１}
Ｘ：学習サンプルのデータ
Ｙ：学習サンプルのラベル（正解）
Ｎ：学習サンプル数
を示す。すなわち、ｘｉは、学習サンプル画像の全輝度値からなる特徴ベクトルを示す。また、ｙｉ＝−１は、学習サンプルが非検出対象としてラベリングされている場合を示し、ｙｉ＝１は、学習サンプルが検出対象としてラベリングされていることを示す。
【０１１４】
手順１）  データ重みの初期化
ブースティングにおいては、各学習サンプルの重み（データ重み）を異ならせ、判別が難しい学習サンプルに対するデータ重みを相対的に大きくしていく。判別結果は、弱仮説を評価する誤り率（エラー）の算出に使用されるが、判別結果にデータ重みを乗算することで、より難しい学習サンプルの判別を誤った弱仮説の評価が実際の判別率より下まわることになる。こうしてデータ重みは逐次更新されるが、先ず最初にこの学習サンプルのデータ重みの初期化を行う。学習サンプルのデータ重みの初期化は、データ重み更新部３８において、全学習サンプルの重みを一定（一様分布）にすることにより行われ、下記式（４）のように定義される（ステップＳ１）。
【０１１５】
【数４】
2005044330.tif 000006
【０１１６】
ここで、学習サンプルのデータ重みＤ１（ｉ）は、繰り返し回数ｔ＝１回目の学習サンプルｘｉ（＝ｘ1〜ｘＮ）のデータ重みを示す。Ｎは学習サンプル数である。
【０１１７】
手順２）  繰り返し処理
次に、以下に示すステップＳ２〜ステップＳ６の処理を繰り返すことで弱仮説を逐次生成し判別器の学習を行う。ここで、繰り返し処理回数をｔ＝１，２，・・・，Ｔとする。１回の繰り返し処理を行う毎に１つの弱仮説、すなわち、１つのフィルタとそのフィルタ出力により、入力として与えられるデータを判別するための特徴量とが学習され、従って繰り返し処理回数（Ｔ回）分、弱仮説が生成されて、Ｔ個の弱仮説からなる判別器が生成されることになる。なお、通常、数百〜数千個の繰り返し処理により、数百〜数千個の弱仮説が生成されるが、繰り返し処理回数（弱仮説の個数）ｔは、要求される判別性能、判別する問題（検出対象）に応じて適宜設定すればよい。
【０１１８】
先ず、弱仮説生成装置により弱仮説を生成する（ステップＳ２）。ここでは、後述する方法にて選別及び生成されたフィルタから下記（５）に示す重みつき誤り率εｔを最小にするものが学習される。
【０１１９】
【数５】
2005044330.tif 000007
【０１２０】
上記式（５）に示すように、重み付き誤り率εｔは、学習サンプルのうち、弱仮説の判別結果が誤っているもの（ｈｔ（ｘｉ）≠ｙｉ）の学習サンプルのデータ重みＤｔのみを加算したものとなり、これによりデータ重みが大きい（判別が難しい）学習サンプルの判別を間違えると重み付き誤り率εｔが大きくなるよう算出される。
【０１２１】
そして、信頼度算出部３６にて、学習により生成された弱仮説の上述の式（５）に示す重み付き誤り率εｔに基づき、重み付き多数決を得る際の重みαｔを下記式（６）により算出する（ステップＳ３）。重み付き多数決の重みαｔは、繰り返し回数ｔ回目に学習された弱仮説に対する判別性能を示す。以下、重み付き多数決を算出するために各弱仮説に設定される重みを信頼度という。
【０１２２】
【数６】
2005044330.tif 000008
【０１２３】
上記式（６）に示すように、重み付き誤り率εｔが小さいものほどその弱仮説の信頼度αｔが大きくなる。
【０１２４】
次に、通常のアダブーストによる学習とは異なり、打ち切り閾値算出部３７が、判別工程にて判別を打ち切るための打ち切り閾値Ｒｔを算出する（ステップＳ４）。打ち切り閾値Ｒｔは、上述の式（３）に従って、検出対象である学習サンプル（ポジディブな学習サンプル）ｘ１〜ｘＪの加算値又は判別境界値である０のうち最も小さい値が選択される。なお、上述したように、最小値又は０を打ち切り閾値に設定するのは、０を判別境界値にして判別を行うアダブーストの場合であり、打ち切り閾値Ｒｔは、少なくとも全てのポジティブな学習サンプルが通過できる最大の値となるよう設定する。
【０１２５】
そして、上記式（６）にて得られた信頼度αｔを使用して、データ重み更新部３８が下記式（７）により学習サンプルのデータ重みＤｔ（ｉ）を更新する。Ｚｔはデータ重みを正規化するためのものである。
【０１２６】
【数７】
2005044330.tif 000009
【０１２７】
そして、ステップＳ７において、所定回数（＝Ｔ回）のブースティングが行われたか否かを判定し、行われていない場合は、ステップＳ２〜ステップＳ７の処理を繰り返す。所定回数の学習が終了した場合は学習処理を終了する。例えば、生成された弱仮説全てからなるその時点での最終仮説により、学習データセットを所望の性能で判別できるまで処理を繰り返せばよい。なお、弱仮説の生成時に使用した学習データセットとは別の評価用データセットを用意し、評価用データセットを使用して、最終仮説の判別能力の評価を行ってもよい。また、学習データセットから１サンプルを除外して他のサンプルで学習を行い、除いた１サンプルで評価を行う処理をサンプル数繰り返したり、学習データセットを所定数のグループに分割し、１グループを除いた学習サンプルで学習を行い、除いた１グループで評価を行う処理をグループ数回繰り返したりする交差検定（cross Validation）などにより最終仮説の評価を行ってもよい。
【０１２８】
手順３）  最終仮説（判別器）の生成
判別器１４となる最終仮説は、全ての仮説を信頼度で重み付き多数決を行ったものとする。すなわち、ステップＳ２にて生成した弱仮説の出力に、ステップＳ４にて求めた信頼度を乗算し、上記式（２）に示す重み付き多数決を取るための値（加算値）の符号を下記式（８）により判定する判別器１４を生成する。得られた判別器１４は、下記式（８）に示す判別関数Ｈにより顔か非顔かを出力するものとなる。判別関数Ｈが正であれば顔、負であれば非顔であることを示す。
【０１２９】
【数８】
2005044330.tif 000010
【０１３０】
（３−４−２）弱仮説の生成
次に、上述したステップＳ２における弱仮説の生成方法（学習方法）について説明する。図９は、弱仮説の生成方法を示すフローチャートである。本実施の形態における弱仮説の生成においては、複数の弱仮説から、先ず、一部の弱仮説を選択し、その中で上記データセットを推定（判別）した際の誤り率が最も低いもの、又は誤り率がより低い複数個（以下、高性能弱仮説という。）を選択し、これに所定の変形を加えた１以上の新たな弱仮説を生成する。そして、高性能弱仮説及び新弱仮説とされた弱仮説の中から、上記データセットの推定値の誤り率が最小のものを弱仮説として生成する。これにより、弱仮説の生成の高速化を図るものである。以下、この弱仮説の生成方法について詳細に説明する。
【０１３１】
上述したように、例えば対象とする領域（ウィンドウ画像）を２４×２４画素の範囲に限定したとしても、フィルタを構成する画素数（フィルタの大きさ）及び２、３、４矩形特徴のフィルタの種類の違いによって、フィルタの選択の組み合わせは１６００００通り以上存在する。この１６００００通りのフィルタから一のフィルタを選択する方法として、例えば全てのフィルタについての特徴量を学習し、最も判別能力が高いものを選択するという手法もありえるが、上述の積分画像を使用しても、その演算量は膨大な量となり極めて時間がかかる。そこで、本実施の形態においては、先ず、図７に示す選択部３３により、すべての組み合わせのうち例えば５％程度など、計算可能な所定数のフィルタをランダムに選択し、生成可能な全弱仮説のうち５％程度の弱仮説を生成する。これには、以下のステップＳ１１〜ステップＳ１４の処理を所定回数（以下、Ｍ回とする。）繰り返し、上記所定数の弱仮説を生成する。
【０１３２】
先ず、上述したような全種類のフィルタの組み合わせから、任意の１つのフィルタを選択する（ステップＳ１１）。
【０１３３】
次に、全ての学習サンプルに対して、ステップＳ１１にて選択したフィルタの出力値を求め、そのヒストグラム（頻度分布）を求める（ステップＳ１２）。
【０１３４】
アダブーストによる弱仮説は、閾値により特徴量を２分して弱判別するものであるため、上記式（５）に示す重み付き誤り率εｔを最小にする閾値を検索する。すなわち、ステップＳ１２にて求めた頻度分布から、上記式（５）に示す重み付き誤り率εｔを最小（εｍｉｎ）にする閾値Ｔｈｍｉｎを求める（ステップＳ１３）。
【０１３５】
閾値Ｔｈｍｉｎは、横軸にフィルタ出力をとり、縦軸にその頻度をとったヒストグラムにおいて、検索値をフィルタ出力を示す横軸方向にシフトさせて上記式（５）に示す重み付き誤り率εｔがもっとも小さいものを検索すればよい。なお、重み付き誤り率εｔは、全解答における正解率又は不正解率のうち小さい方とするが、検索値を変化させていった際には、正解したポジティブサンプルの重み付きカウント値の合計と正解したネガティブサンプルの重みつきカウント値の合計とは移動した検索値を跨いだ分だけ増減するので、各検索値についてすべてのポジティブサンプルの重み付きカウント値の合計、及びネガティブサンプルの重み付きカウント値の合計を計算し直す必要はなく、高速化することができる。
【０１３６】
そして、所定回数（＝Ｍ回）繰り返したか否かを判定し（ステップＳ１４）、所定回数繰り返すまでステップＳ１１からの処理を繰り返す。
【０１３７】
ここで、従来、例えば全てのフィルタの種類分このステップＳ１１〜Ｓ１４までの処理を繰り返すことで、そのときの学習サンプルのデータ重みＤｔ（ｉ）から得られる、最も重み付き誤り率εｔが小さいフィルタを選択する必要があったが、本実施の形態においては、このステップＳ１１〜Ｓ１４の繰り返し処理は、上述したように、選択可能な全フィルタ数の例えば５％程度とする。このように全フィルタを試さなくても判別性能が高い弱仮説を生成するために、新弱仮説生成部３４により、続くステップＳ１５〜Ｓ１７の処理を実行する。
【０１３８】
先ず、ステップＳ１５に進み、ステップＳ１１〜ステップＳ１４のＭ回の繰り返し処理により生成されたＭ個の弱仮説のうち、重み付き誤り率εｔが他より小さいもの、すなわちデータセットに対する判別性能が高いものを１つ又は複数個選択する。以下、ここで選択された弱仮説を高性能弱仮説という。
【０１３９】
次に、高性能弱仮説に使用されている誤り率が他より低いフィルタ（以下、高性能フィルタという。）に対して所定の変形を加えた新たなフィルタを生成する（ステップＳ１６）。この新たなフィルタは、検出対象の統計的性質又は遺伝的アルゴリズムに従って生成することができる。具体的には、例えば、高性能フィルタの位置を縦方向、及び／又は横方向に例えば２画素程度ずらして生成したものを新たなフィルタとする。または、高性能フィルタのスケールを例えば縦方向、及び／又は横方向に２画素程度拡大若しくは縮小して生成したものを新たなフィルタとする。または、高性能フィルタを画像の水平方向における中心点を通る垂直方向の線分に対して反転して生成したり、高性能フィルタと反転したフィルタとからなる複合フィルタとして生成したものを新たなフィルタとする。これらの方法を適宜組み合わせて、高性能フィルタ毎に１以上の新たなフィルタを生成する。
【０１４０】
図１０は、新たなフィルタとして、対象性を利用して反転して生成した反転フィルタを示す模式図である。図１０に示す矩形特徴２１Ａ〜２１Ｄは、図３に示す矩形特徴１１Ａ〜１１Ｄを画像の水平方向（ｘ方向）の中心を通る垂直二等分線２２に対して反転させたものである。すなわち、矩形特徴１１Ａ〜１１Ｄと矩形特徴２１Ａ〜２１Ｄとはそれぞれ垂直２等分線２２に対して線対称となっている。これは、人間の顔がほぼ左右対称であり、顔の検出性能がよいとして選択されたフィルタを反転して生成した新たなフィルタも、同様に性能が高いフィルタであるという可能性が高いということを利用したものである。このように、全フィルタの一部の性能を試して性能が高いとして選別された高性能フィルタから検出対象である顔の統計的性質に基づいて、又は遺伝的アルゴリズムに従って新フィルタを生成することで、生成したフィルタは選別した高性能フィルタと同様に判別性能が高いと推定することができる。ここで、図１０において、例えば高性能フィルタが矩形特徴１１Ａであって、反転したフィルタが矩形特徴２１Ａである場合、新フィルタとしては、反転した矩形特徴２１Ａと、矩形特徴１１Ａ及びこれを反転した矩形特徴２１Ａからなるフィルタの２種類を生成することができる。
【０１４１】
そして、図７に示す弱仮説選択部３５が、これら高性能フィルタ及び生成された新フィルタからなる混合フィルタの中で、重み付き誤り率εｔを最小にするフィルタを１つ選択し、弱仮説に採用する（ステップＳ１７）。このように新フィルタとオリジナルの上記高性能フィルタとを混合したものの中で最も判別性能が高いフィルタを選択して弱仮説に採用することで、全てのフィルタの組み合わせから最も判別性能が高いフィルタを探索しなくても、結果的に全フィルタから検索する場合と同様に判別性能が高いフィルタを選択することができ、フィルタ選択における処理速度を飛躍的に向上させることができる。
【０１４２】
（３−５）Real AdaBoostのアルゴリズム
次に、リアルアダブーストのアルゴリズムについて説明する。リアルアダブーストにおいても、アダブーストの場合と手順０、１は同様であり、学習用データセットを用意し、先ず、各学習サンプルのデータ重みを上記式（４）にて初期化する（一様分布）。
【０１４３】
手順２）  繰り返し処理
次に、以下に示す処理を繰り返すことで弱仮説を逐次生成し判別器１４の学習を行う。ここで、アダブーストと同様、繰り返し処理回数をｔ＝１，２，・・・，Ｔとする。
【０１４４】
先ず、弱仮説生成装置により弱仮説を生成する。この生成方法は、基本的に上述のアダブーストと同様である。ただし、弱仮説は、データ重みＤｔ（データ重み分布）に基づいて確率密度を出力するものとして生成するため、下記式（９）に示す特徴量の確率密度Ｐｍ（ｘ）を求める。確率密度Ｐｍ（ｘ）は、データ重みＤｔにおいて、全学習サンプルにおいて、顔であるとラベリングされたサンプル（ｙ＝１）に対する正答率を示すものである。
【０１４５】
【数９】
2005044330.tif 000011
【０１４６】
そして、信頼度算出部３６は、上述の信頼度αの変わりに下記式（１０）に示す弱仮説の寄与量ｆｍを算出する。
【０１４７】
【数１０】
2005044330.tif 000012
【０１４８】
なお、Ｒは実数値の集合を示す。
【０１４９】
ここで、弱仮説が２値の確定的な出力ではなく、確率密度を示す寄与量ｆを出力する点はアダブーストと異なるが、弱仮説の生成においては、データ分布Ｄｔに基づいて一部のフィルタのみから、選択部３３が上記式（１０）に示す弱仮説の寄与量ｆｍが高い１又はいくつかのフィルタを選別し、新弱仮説生成部３４が検出対象（本実施の形態においては、人間の顔）の統計的性質に基づいて、又は遺伝的アルゴリズムに従って新たなフィルタを生成し、弱仮説選択部３５がこれらの中から最も判別性能が高いフィルタを選択する手法は上述と同様であり、これにより、判別性能を低下することなく弱仮説の生成処理を高速化することができる。
【０１５０】
次に、上述したように、打ち切り閾値算出部３７により、判別工程にて判別を打ち切るための打ち切り閾値Ｒｔを算出する。打ち切り閾値Ｒｔは、例えば、アダブーストにおけるフィルタ出力ｈの代わりに寄与量ｆｍを使用し、検出対象である学習サンプル（ポジディブな学習サンプル）ｘ１〜ｘＪの寄与量の総和ｆｍ又は判別境界値である０のうち最も小さい値を選択するなどすればよい。すなわち、打ち切り閾値Ｒｔは、少なくとも全てのポジティブな学習サンプルが通過できる最大の値となるよう設定する。
【０１５１】
次いで、データ重み更新部３８が、この寄与量ｆｍを使用して、繰り返し処理ｔ回目の各学習サンプルｉのデータ重みＤｔ（ｉ）を下記式（１１）により更新する。
【０１５２】
【数１１】
2005044330.tif 000013
【０１５３】
そして、所定回数（＝Ｔ回）の処理を繰り返し、Ｔ個の弱仮説及びその寄与量ｆｍ、並びに打ち切り閾値を学習する。ここで、上述したように、生成された弱仮説全てを組み合わせた最終仮説が学習データセットを所望の性能で判別できるようになるまで、弱仮説の生成を繰り返せばよい。最終仮説となる判別器は、全ての仮説の寄与量ｆｍの総和の符号、すなわち下記式（１２）に示す判別関数Ｈが正か負かを判断することで、顔か非顔かを判別することができる。
【０１５４】
【数１２】
2005044330.tif 000014
【０１５５】
（３−６）Gentle AdaBoostのアルゴリズム
次に、ジェントルアダブーストのアルゴリズムについて説明する。ジェントルアダブーストにおいても、アダブースト及びリアルアダブーストの場合と手順０、１は同様であり、ラベリングされた複数の学習サンプルからなるデータセットを用意し、各学習サンプルのデータ重みを上記式（４）にて初期化する（一様分布）。
【０１５６】
次に、基本的にはリアルアダブースと同様の処理を繰り返すことで弱仮説を逐次生成し判別器の学習を行うが、弱仮説の出力がリアルアダブーストとは異なる。ここでは、アダブースト及びリアルアダブーストと同様、繰り返し処理回数をｔ＝１，２，・・・，Ｔとした場合について説明する。
【０１５７】
先ず、弱仮説生成装置により、弱仮説を生成する。弱仮説は、データ重みＤｔ（データ重みの分布）に基づいて、フィルタを選択し、その特徴量を使用して、下記式（１３）に示す重み付き二乗誤差ｅｔを最小にする実関数ｆｍを求める。
【０１５８】
【数１３】
2005044330.tif 000015
【０１５９】
ジェントルブーストにおいても、リアルアダブーストと同様、弱仮説の生成においては、データ分布Ｄｔに基づいて一部のフィルタのみから、選択部３３により、弱仮説の実関数ｆｍ（ｘｉ）の総和が高い１又はいくつかのフィルタを選別し、新弱仮説生成部３４が人間の顔の統計的性質に基づいて、又は遺伝的アルゴリズムに従ってフィルタを生成し、弱仮説選択部３５が、これらから最も実関数の総和が大きいフィルタを選択することにより、同様に処理を高速化することができる。
【０１６０】
次に、上述したように、打ち切り閾値算出部３７が判別工程にて判別を打ち切るための打ち切り閾値Ｒｔを算出する。打ち切り閾値Ｒｔは、例えば、アダブーストにおけるフィルタ出力ｆ（ｘ）の代わりに実関数ｆｍを使用し、検出対象である学習サンプル（ポジディブな学習サンプル）ｘ１〜ｘＪの実関数の総和ｆｍ又は判別境界値である０のうち最も小さい値を選択するなどすればよい。すなわち、打ち切り閾値Ｒｔは、少なくとも全てのポジティブな学習サンプルが通過できる最大の値となるよう設定する。
【０１６１】
次いで、データ重み更新部３８がこの実関数ｆｍを使用して、繰り返し処理ｔ回目の各学習サンプルｉのデータ重みＤｔ（ｉ）を下記式（１４）（リアルアダブーストと同じ）により更新する。
【０１６２】
【数１４】
2005044330.tif 000016
【０１６３】
そして、所定回数（＝Ｔ回）の処理を繰り返し、Ｔ個の弱仮説及びその実関数ｆｍ、並びに打ち切り閾値を学習する。最終仮説となる判別器は、全ての仮説の実関数ｆｍの総和の符号、すなわち下記式（１５）に示す判別関数Ｈが正か負かを判断することで、顔か非顔かを判別することができる。
【０１６４】
【数１５】
2005044330.tif 000017
【０１６５】
（４）顔検出方法
次に、図１に示す顔検出装置１０の顔物検出方法について説明する。図１１は、本発明の実施の形態に係る顔表情認識システムの顔検出装置における顔検出方法を示すフローチャートである。先ず、図１に示す画像出力部１１が濃淡画像を出力し、積分画像生成部１２が、上述の式（１）で表現される積分画像を生成する（ステップＳ２１）。この積分画像は、画像中の自身の一つ上と一つ左の画素の和に自身と同じ位置の入力画像の画素（画素値）を足しこむ作業を左上から順に行っていくことで生成することができる。この積分画像を使用することで、上述したように、任意の位置の矩形領域の総和をその四隅の画素値の加減算で高速に求めることが可能であり、後段の判別器１４において特徴量算出が高速化する。
【０１６６】
そして、走査部１３は、積分画像に対し、探索ウィンドウの位置を縦横に走査し、ウィンドウ画像を出力する（ステップＳ２２）。
【０１６７】
判別器１４は、各顔の大きさ、画像中での各位置について矩形領域（ウィンドウ画像）が顔画像であるかないかを上述の学習により得られた判別器１４を使用して判断していく。基本的な手順としては、上述した学習と同様、各弱仮説が与えられた画像の特徴量を算出し、学習された特徴量とを比較することで推定値を算出し、この推定値が算出される毎にその弱仮説の信頼度と乗算して加算していくことで逐次重み付き加算した加算値（重み付き多数決をとるための値の更新値）を評価値ｓとして算出する。すなわち、先ず、最初に生成された弱仮説に採用された特徴量フィルタのフィルタ出力（特徴量）を積分画像を用いて計算する。
【０１６８】
アダブーストの場合では、上述したように、各弱仮説は、学習用データセットを使用してデータセットの推定値の誤り率を最小にするフィルタ出力（閾値）が学習されたものであり、この閾値と、与えられたウィンドウ画像のフィルタ出力とを比較し、ウィンドウ画像が顔か非顔かを２値判別した判別結果を推定値として出力する。そしてこの推定値に弱仮説の信頼度αを掛けて足しこむ。これを次々と各弱仮説の出力に対して行い、最終的に足しこまれた値（重み付き多数決を求めるための値）が正か負かで顔か非顔かを判断する。
【０１６９】
ここで、本実施の形態における判別器１４は、上述した打ち切り閾値を使用し、全部の弱仮説の出力結果を待たず、非顔画像を検出して処理を打ち切る制御を行う打ち切り手段を有する（図示せず）。この判別器１４の処理方法について詳細に説明する。先ず、現在のウィンドウ画像に対して、１つ目の弱仮説に採用されているフィルタの出力（矩形特徴量）を積分画像から高速演算する（ステップＳ２３）。そして、矩形特徴量と上記１つ目の弱仮説において予め学習されている閾値とを比較し、現在のウィンドウ画像が顔であるか否かを示す判別結果を推定値として出力する。そして、この推定値と弱仮説の信頼度との積から求まる評価値ｓに反映させる（ステップＳ２４）。次に、この評価値ｓに基づきウィンドウ画像が検出対象であるか否か、及び判別を打ち切るか否かを判定する。
【０１７０】
評価値ｓは、先ず、ウィンドウ画像が入力されると評価値ｓ＝０に初期化される。そして、判別器の各弱仮説が出力する推定値を信頼度と乗算して上記評価値ｓに反映させていく。２値の値を推定値として出力する弱仮説の場合、弱仮説ｔの特徴量判別のための閾値をＴｈｔ、与えられたウィンドウ画像に対するｔ番目の弱仮説に対応するフィルタ出力（矩形特徴量）をｄｔとしたとき、その弱仮説の信頼度αｔを使用し、評価値ｓは下記（１６）のようになる。すなわち、評価値ｓは、推定値が算出される毎に、その推定値と信頼度との積が加算されたものとなる。
【０１７１】
【数１６】
2005044330.tif 000018
【０１７２】
また、リアルアダブーストやジェントルブーストのように、確率密度、又は実関数を推定値として出力する場合、評価値ｓは下記式（１７）のようになる。すなわち、推定値が算出される毎に、その推定値が加算されたものとなる。
【０１７３】
【数１７】
2005044330.tif 000019
【０１７４】
そして、判別器１４の打ち切り手段は、得られた（更新された）評価値ｓが、打ち切り閾値Ｒｔより大きいか否かを判定する（ステップＳ２５）。このステップＳ２５において、評価値ｓが打ち切り閾値Ｒｔより小さい場合は、現在判定中のウィンドウ画像は明らかに顔画像でないとし、処理を途中で打ち切る。そして、ステップＳ２８に進み、次の探索ウィンドウ画像がある場合は、ステップＳ２１からの処理を繰り返す。
【０１７５】
一方、評価値ｓが打ち切り閾値Ｒｔより大きい場合は、所定回数（＝Ｔ回）繰り返したか否かを判定し（ステップＳ２６）、繰り返していない場合はステップＳ２３からの処理を繰り返す。また、所定回数（＝Ｔ回）繰り返している場合はステップＳ２７に進み、得られている評価値ｓが０より大きいか否かにより、検出対象であるか否かの判定をする（ステップＳ２７）。評価値ｓが０より大きい場合は、現在のウィンドウ位置は検出対象の顔画像であるとし、その位置及び大きさを記憶し、次の探索ウィンドウがあるか否かを判別し（ステップＳ２８）、次の探索ウィンドウがある場合はステップＳ２１からの処理を繰り返す。また、次の全ての領域について探索ウィンドウを走査した場合はステップＳ２９に進んで重なり領域の削除処理を実行する。
【０１７６】
こうして、１枚の入力画像に対して、全てのウィンドウ画像の判別処理が終了すると、ステップＳ２９の処理に移る。なお、異なるサイズの顔画像を検出する場合は、ウィンドウの大きさを適宜変更してスキャンする走査を繰り返せばよい。
【０１７７】
ステップＳ２９以降の処理においては、１枚の入力画像において、検出対象を示す領域であるとして検出された領域が重複している場合に、互いに重なっている領域を取り除く。先ず、互いに重なっている領域が在るか否かを判定し、顔と判断して記憶した領域が複数あり、かつ重複している場合は、ステップＳ３０に進む。そして、互いに重なっている２つの領域を取り出し、この２つの領域のうち、評価値ｓが小さい方の領域は検出対象である確率が低いとみなして削除し、評価値ｓの大きい領域を選択する（ステップＳ３１）。そして、再びステップＳ２９からの処理を繰り返す。これにより、複数回重複して抽出されている領域のうち、最も評価値ｓが高い領域１つが選択される。なお、２以上の検出対象領域が重複しない場合及び検出対象領域が存在しない場合は１枚の入力画像についての処理を終了し、次のフレーム処理に移る。また、重複した領域の平均値を求めて出力するようにしてもよい。
【０１７８】
本実施の形態における判別器１４の学習方法によれば、弱仮説を生成する際、全てのフィルタを検索し最も判別性能が高いものを選択しなくても、性能が高いフィルタを選択して弱仮説を生成することができ、弱仮説の判別性能を低下させることなく、学習処理を高速化することができる。
【０１７９】
また、本実施の形態においては、打ち切り閾値を学習しておくことにより、ウィンドウ画像が明らかに非対象物であると判別できる場合には検出処理を途中で打ち切ることで、検出工程における処理を極めて高速化することができる。すなわち、検出工程において、フィルタの出力値（特徴量）から判別した判別結果（推定値）と判別に使用した弱仮説に対する信頼度とを乗算した値を、前の評価値ｓに加算していくことで、評価値ｓを逐次更新し、評価値ｓの更新毎に、これを打ち切り閾値Ｒｔと比較して次段の弱仮説の推定値の演算を続けるか否かを判定し、この評価値ｓが打ち切り閾値Ｒｔを下回った場合には弱仮説の演算を途中で打ち切り、次のウィンドウ画像の処理に移ることにより、無駄な演算を行うことなく、従ってリアルタイムでの高速な顔検出を可能とする。ウィンドウ画像のうち顔画像である確率は小さく、ほとんどが非検出対象であるため、この非検出対象であるウィンドウ画像の判別を途中で打ち切ることで、判別工程を極めて高効率化することができる。
【０１８０】
上述の非特許文献１においては、高速化のために、複数の弱仮説からなる分類器を複数個カスケードにつないで、１つの分類器の判定が終わった時点で判定スコアの悪いものは顔でないと判定してそこで処理を打ち切ることで高速に演算できるような工夫が施されている。この場合、次の分類器は前段の分類器で持ち越されたサンプル、すなわち判定スコアがよかったもののみを使って学習することで識別する問題を次第に簡単にしている。
【０１８１】
これに対して、本実施の形態においては、１つ１つのフィルタ出力から得た推定値に信頼度を乗算したもの又はフィルタ出力から得た推定値の寄与量若しくは実関数を足しこんでいく毎に、非顔と判定するか、又は次の特徴量についての評価をすべきかを判断するための打ち切り閾値を学習しておき、これを利用して処理を打ち切る制御を実行する。これにより、上記非特許文献１に比して、少ない弱仮説の推定値の評価により非顔であることを判定することができ、したがって検出工程の処理を高速化することができる。
【０１８２】
また、本実施の形態においては、明らかに非検出対象であると判定できる場合に検出処理を打ち切る打ち切り閾値を導入するものとして説明したが、上述したように、明らかに検出対象であると判定できる場合に検出処理を打ち切る打ち切り閾値を導入するようにしてもよい。また、これら２つの打ち切り閾値を同時に導入するようにしてもよい。
【０１８３】
（５）表情認識装置
次に、表情認識装置について説明する。図１に示す特徴量抽出処理部２１及び表情認識部２２からなる表情認識装置２０は、後述する方法にて算出されるガボア出力を特徴量とし、後述する方法により学習された特定表情識別器にて特定表情であるか否かを識別することで、入力される顔画像を７つの情動（感情又は表情）に識別（分類）するものである。
【０１８４】
この表情識別装置２０を、上述の顔検出装置と組み合わせることで、顔表情認識システムは、顔表情認識の完全自動化が可能であり、極めて高精度でリアルタイムに動作するという点で従来のものとは異なる。例えば、本願発明者らが行った実験においては、新たな学習サンプルに対する７通りの強制選択を行う場合、９３％の汎化性能を示した。
【０１８５】
図１２は、表情認識装置２０を示す機能ブロック図である。図１２に示すように、表情認識装置は、顔特徴抽出処理部２１と、顔特徴抽出処理部２１にて抽出された顔特徴から表情を認識する表情認識部２２とを有し、表情認識部２２は、与えられたデータが特定の表情であるか否かを識別する表情識別器４１１〜４１７（＝表情識別器４１Ｘ）と、各表情識別器４１Ｘからの識別結果に基づき、一の表情を決定して出力する表情決定部４２とを有する。
【０１８６】
特徴量抽出処理部２１は、画像のシフトに強いガボア・フィルタ（Gabor Filter）を使用して、顔画像から顔特徴を抽出する。このことにより、前処理に明確な関数検出や内部顔特徴合わせの処理を必要としない。このように、前処理を必要としないことは、リアルタイム用途において重要である処理時間を大きく節約させることができる。
【０１８７】
各表情識別器４１１〜４１７は、それぞれ幸せ「Happy」、悲しみ「sadness」、驚き「surprise」、嫌悪「disgust」、恐怖「fear」、怒り「anger」、ニュートラル（平静・中立）「neutral」を識別対象の表情（特定表情）とし、この特定表情であるか否かの結果を出力するものである。ここで、表情識別器４１Ｘは、サポート・ベクタ・マシーンＳＶＭ又は上述のアダブーストなどのブースティングにより集団学習されたものを使用することができる。または、アダブーストによる特徴選択とＳＶＭによる特徴積分とを組み合わせて学習することにより、更に高精度でかつ高速な表情識別器４１Ｘを学習することが可能である。
【０１８８】
また、表情決定部４２は、各表情識別器が特定表情であるか否かを判別した結果が入力され、これらの中から最も判別結果が優れていたものを採用することで、一の表情を決定するものである。表情識別器４１ＸがＳＶＭからなるときは、学習時に学習されたサポート・ベクタから判別関数を算出し、その値が最も大きいものを、顔検出装置１０から入力される顔画像の表情として出力する。また、表情識別器４１Ｘがブースティングなどにより集団学習されたものである場合には、弱仮説の出力と信頼度との積の総和（重み付き多数決をとるための値）、寄与量の総和、又は実関数の総和などの出力（以下、判別評価値という。）が最も大きいものを認識した表情として出力する。例えば、ブースティングにより学習された表情識別器４１Ｘの重み付き多数決を取らないのは、一度に２以上の表情を検出する場合があるためで、その場合にも、最も判別評価値が高いものを最も確からしい結果として出力することができる。
【０１８９】
この表情認識装置２０は、顔検出装置１０の出力する矩形顔領域、すなわち顔画像と判断されたウィンドウ画像の位置及び大きさを使用して各表情識別器４１Ｘの学習及び認識を行う。ここでは、先ず表情認識装置２０の学習方法について説明し、次に表情認識装置の識別方法について説明する。
【０１９０】
（６）顔表情の学習方法
学習においては、先ず、与えられた画像データベースから、上述した顔検出装置を使用して顔画像を切り出す。なお、予め用意された顔画像を使用して学習を行ってもよい。次に例えば手作業などにて表情認識する対象となる情動カテゴリに分類する。本実施の形態においては、顔画像群を上述の７つの情動カテゴリに分類し、これらのカテゴリに対応するラベルを切り出された顔画像に対して割り当てる。これにより、各表情毎にラベリング（正解付け）されたサンプルが生成される。本実施の形態においては、これを表情データベースとして利用し表情学習を行う。表情認識部２２は、これら７つの情動カテゴリに対して、各１つの表情識別器４１Ｘを生成（学習）する。次に、ひとつの表情に関する表情識別器４１Ｘを学習する手順を示すが、実際にはデータを入れ替え、各情動カテゴリ毎に７つの表情識別器４１Ｘの学習を行うため、表情識別器４１Ｘの学習をＸ＝７回繰り返す。なお、本実施の形態においては、人間の顔を７種類の情動に分類するものとして説明するが、認識する表情の種類は７つに限らず、必要な表情の数の表情識別器を学習すればよい。
【０１９１】
先ず、本実施の形態においては、表情識別器４１Ｘが各表情を識別するための特徴量として、例えば８種類の方向と５通りの周波数から決定される４０種類のガボア・フィルタにより、顔画像から顔特徴を抽出するガボア・フィルタリング（Gabor Filtering）を使用する。ガボア・フィルタ出力は、方向及び周波数のみならず、適用する画素位置に応じて異なる出力となる。本実施の形態においては、例えば４８×４８画素の画像に対してガボア・フィルタを適用することにより、合計９２１６０通りのガボア出力を得る。
【０１９２】
表情識別器４１Ｘとしては、ＳＶＭ又はアダブーストのいずれかの学習機械を使用する。また、後述するように、９２１６０個のフィルタ（特徴）からアダブーストにより選択されたフィルタの特徴量のみをＳＶＭ学習することで更に効率のよい表情識別器４１Ｘ（分類器）を得ることができる。
【０１９３】
認識対象となる所定の表情に識別するために用意された７つの各表情識別器４１Ｘは、識別対象である一の表情（以下、特定表情という。）であるか否かの結果を出力するための学習作業を行い、次に、各表情を他の表情と区別させるため、７つの表情識別器４１Ｘの学習（訓練）を行う。このとき、学習中のデータに最大マージンを与える表情識別器４１Ｘを選択することにより、情動カテゴリの決定を行う。
【０１９４】
この表情認識部２２の学習は、次の３つ方法により行う。第１の学習方法は、ガボア・フィルタの出力から各情動カテゴリに分類するＳＶＭを学習する方法である。第２の学習方法は、上述のアダブーストのアルゴリズムに従い、ガボア・フィルタを弱仮説として各情動カテゴリ毎に最終仮説（強判別器）を学習するものである。また、第３の学習方法は、同じく全ガボア・フィルタから、先ずブースティングの手法により、判別性能が高いフィルタを選択して弱仮説を生成する処理を繰り返し、弱仮説として選択されたガボア・フィルタのみを使用してＳＶＭを学習することで、第１の学習方法及び第２の学習方法に比して学習効率を向上するものである。以下に、これら３つの学習方法における表情識別のための学習方法について説明する。
【０１９５】
（６−１）第１の学習方法
図１３は、第１の学習方法を示すフローチャートである。ここで、いずれの方法においても、以下に示すステップＳ３１〜ステップＳ３３に示す操作（前処理）を顔の検出画像に対して行う。
【０１９６】
まず、分類する対象となる表情にラベリングされた学習サンプルを集める（ステップＳ３１）。上述したように、例えば上述の図１に示す顔検出装置１０により検出された顔画像を使用し、例えば手作業などで、例えば幸せ「Happy」を示していると判断した顔画像と、それ以外の表情を示している顔画像とに分類する。こうして、各表情に対して、該当する表情の対象表情画像群と、それ以外の表情の非対象表情画像群とからなる顔画像群を用意する。
【０１９７】
次に、検出された顔画像の大きさはまちまちであるので、上述のようにして用意した各顔画像を例えば４８×４８画素程度の大きさにリサイズする（ステップＳ３２）。ガボア・フィルタの出力は、画像のシフトに強いため、これらの画像は特に細かい位置決めを行わないで顔の検出の出力をそのまま利用することができる。
【０１９８】
そして、８方向５スケールのガボアフィルタバンクを用いて、ガボア・フィルタの強度信号表現に変換する。本実施の形態においては、４０種類全てのガボア・フィルタを、全ての画素に適用し、フィルタ出力を得ることができる。このガボア・フィルタについての詳細は後述する。こうして、１枚の学習サンプルあたり、各画素毎に計４０種類、すなわち、４８×４８画素×８方向×５スケール＝９２１６０次元のベクトルが得られる。
【０１９９】
本実施の形態においては、上述したように、３つの機械学習の手法を採用することができる。本第１の学習方法においては、サポート・ベクタ・マシーンＳＶＭにより学習を行うものである。まず、ステップＳ３１〜ステップＳ３３において前処理されたベクトルに対して、学習対象として選択された情動カテゴリに属するベクトルをポジティブデータ、残りの情動に属するベクトルをネガティブデータとする（ステップＳ３４）。
【０２００】
次に、ポジティブデータ及びネガティブデータからなる学習用データセットを使用し、ポジティブデータとネガティブデータとを識別するためのサポート・ベクタを学習する（ステップＳ３５）。
【０２０１】
ＳＶＭは、学習時には、外部から供給される学習用のデータすなわち、正解付け（ラベリング）された検出対象及び非検出対象を示すデータ（教師データ又は訓練データともいわれる）からなる表情学習用データセットを用いて、暫定的な識別関数を得る。識別段階においては、入力された顔画像をガボア・フィルタリングで顔抽出した結果がＳＶＭに投入される。ここで、表情識別器４１Ｘとなる線形識別器をカーネル・トリックにて非線形に拡張する際のカーネル関数として、線形、多項式、ＲＢＦ＋ラプラシアン、ガウシンアン（Gaussian）などを使用することができる。本願発明者は、後述するように、ガウス基底関数を用いた線形及びＲＢＦカーネルを使用したものが最も高い識別性能を示すことを確認している。
【０２０２】
また、認識性能を上げるために、ブートストラップ手法を採用することができる。学習に用いる画像とは別に画像を撮影して、ブートストラップに用いる。これは、学習した表情識別器４１Ｘが誤った認識結果を出したときに、その入力データを学習用データセットに投入して学習し直すことを意味する。
【０２０３】
このＳＶＭ学習の成果物として、各情動カテゴリの表情識別器４１Ｘ毎に、９６１２０次元のサポート・ベクタがＮ本とその係数αがＮ個とサポート・ベクタとなったサンプルのラベルｙが得られる。これが保存されて、後述するように表情認識時に用いられる。
【０２０４】
上述したように、本実施の形態においては、７つの情動カテゴリについての表情識別器４１Ｘを学習するため、全ての情動についての学習を各表情毎に行い、全情動についての学習が終了した時点（ステップＳ３６）で、処理を終了する。
【０２０５】
（６−２）第２の学習方法
図１４は、顔表情認識のための第２の学習方法を示すフローチャートである。図１４において、ステップＳ４１〜ステップＳ４３までの前処理は、図１３に示すステップＳ３１〜ステップＳ３３に示す処理と同様である。すなわち、顔検出装置１０などにより多数の顔画像（サンプル画像）を集め、それらを識別対象となる７つの表情に分類する、そして、全てのサンプル画像を同一サイズにリサイズし、ガボア・フィルタを全ての画素に適用してフィルタ出力を得る。すなわち、方向、周波数、適用する画素位置の組み合わせにより決定されるガボア・フィルタ出力の集合を本表情識別器を得るための学習モデルとする。
【０２０６】
そして、学習対象として選択された情動カテゴリに属するデータをポジティブデータ、残りの情動に属するデータをネガティブデータとし（ステップＳ４４）、これらの表情学習用データセットを使用して機械学習を行う。
【０２０７】
本第２の学習方法においては、機械学習としてブースティングを用いる。ここでは、アダブーストを使用して機械学習について説明するが、上述のリアルアダブースト、ジェントルブーストなどにより学習を行ってもよい。
【０２０８】
アダブーストにおいては、学習時に逐次生成していく弱仮説として、前処理により得られた４８×４８画素×８方向×５スケール＝９２１６０通りのガボア・フィルタ出力を使用する。すなわち、９２１６０通りのガボア・フィルタのいずれか１つのフィルタを選択し、表情学習用データセットを判別対象の表情か、又は非対象表情かを示す推定値を出力するための特徴量（ガボア・フィルタ出力）を学習することで弱仮説を生成し、弱仮説の信頼度を学習する。この学習方法については、基本的には、図８に示す学習方法と同様にして行うことができる。
【０２０９】
まず、図８のステップＳ１と同様、上述のようにステップＳ４４にて得られた表情学習用データセットの各学習用データにおけるデータ重みが一様分布となるよう、上記式（４）によりデータ重みの初期化を行う（ステップＳ４５）。
【０２１０】
本実施の形態においては、ガボア・フィルタ出力が９２１６０通り、すなわち弱仮説として選択可能なフィルタが９２１６０個ある。そこで、この９２１６０通りのガボア・フィルタの中から１つを選択して弱仮説を生成する（ステップＳ４６）。
【０２１１】
そして、ステップＳ３、及びステップＳ５と同様、上記式（５）及び式（６）により、重み付き誤り率εを求め、これに基づき信頼度αを算出し、上記式（７）に従って信頼度αに基づき表情学習用データセットの各学習用データにおけるデータ重みを更新する（ステップＳ４７）。そして、このステップＳ４６、Ｓ４７の処理を必要な回数繰り返すことで、必要な個数の弱仮説を生成する。そして、例えば、学習された複数の弱仮説から構成される最終仮説が表情学習用データセットをポジティブデータとネガティブデータとに完全に分離して、両者の間のギャップがそれぞれの分布の大きさに対して相対的に一定量より大きくなるまで学習を続ける（ステップＳ４８）。上述したように、ガボア・フィルタの出力は９２１６０通りあるが、例えば数百個程度の弱仮説を学習することで、学習サンプルをポジティブデータとネガティブデータとに分離することができる。
【０２１２】
また、上述した図８に示す学習工程においては、判別時における処理を高速化すべく打ち切り閾値を求めるものとしたが、ここでも明らかに識別対象の特定表情ではないとして識別処理を途中で打ち切るための打ち切り閾値、又は明らかに識別対象の特定表情であるとして識別処理を途中で打ち切るための打ち切り閾値を予め学習しておき、識別時の処理を高速化するために使用してもよい。
【０２１３】
次に、ステップＳ４６における弱仮説の生成方法について説明しておく。弱仮説の生成においては、そのときの表情学習用データセットの各学習用データのデータ重みから得られる重み付き誤り率を最小にするフィルタを選択し、データセットを特定表情であるか否かを判別するための特徴量（アダブーストの場合は判別閾値となる値）を学習する。
【０２１４】
上述の如く、各学習サンプルについて、９２１６０個のガボア・フィルタ出力が得られる。ここで、ｉ個の学習用データのうちポジティブデータｐにおいて、全ガボア・フィルタの出力Ｊ（本実施の形態においては、Ｊ＝９２１６０個）のうち、ｊ番目のガボア・フィルタ出力をｐｉｊとする。また、ｉ個の学習サンプルのうちネガティブデータｎにおいて、９２１６０のガボア・フィルタ出力のうちｊ個目のガボア・フィルタ出力をｎｉｊとする。
【０２１５】
先ず、ｊ番目のガボア・フィルタ出力のポジティブデータｐ及びネガティブデータｎの各学習用データにアダブーストにおけるデータ重みＤｉを乗じて取ったヒストグラムを求める。図１５は、そのヒストグラムを示すグラフ図である。すなわち、図１５において、横軸は、ｊ番目のガボア・フィルタの出力を示し、縦軸は、ｊ番目のガボア・フィルタの出力におけるポジティブデータｐ又はネガティブデータｎの個数を示す。また、図中、実線で示すのがポジティブデータｐにおけるヒスグラムＰであり、破線で示すのがネガティブデータｎにおけるヒストグラムＮである。
【０２１６】
次に、閾値Ｔｈを検索するための検索値ｔｈを使用して、ポジティブデータｐとネガティブデータｎに識別する。ポジティブデータｐのうち検索値ｔｈ以上のものの、重み付きカウント値の合計をｐｌ、検索値ｔｈより小さいものの重み付きカウント値の合計をｐｓとする。また、ネガティブデータのうち検索値ｔｈ以上のものの、重み付きカウント値の合計をｎｌ、検索値ｔｈより小さいものの重み付きカウント値の合計をｎｓとする。これらの値ｐｌ、ｐｓ、ｎｌ、ｎｓ、及びこの検索値ｔｈを使用すると、識別誤差（エラー）ｅを下記式（１８）により算出することができる。
【０２１７】
【数１８】
2005044330.tif 000020
【０２１８】
すなわち、検索値ｔｈをｊ番目のガボア・フィルタ出力を示す横軸方向にシフトさせてエラーｅがもっとも小さいものを検索し、エラーｅを最小とする検索値ｔｈをこのガボア出力の閾値Ｔｈ（ｊ）とする。なお、上記式（１８）の上段に示すように、エラーｅｊ（ｔｈ）は、全解答における正解率（（ｐｓ＋ｎｌ）／（ｐｓ＋ｐｌ＋ｎｓ＋ｎｌ））又は負正解率（（ｐｌ＋ｎｓ）／（ｐｓ＋ｐｌ＋ｎｓ＋ｎｌ））のうち、小さい方とするが、上記式（１８）の下段に示すように、検索値ｔｈを変化させていった際には、正解したポジティブデータの重み付きカウント値の合計ｐｌと正解したネガティブデータの重みつきカウント値の合計ｎｓは移動した検索値ｔｈを跨いだ分だけ増減するので、各検索値ｔｈについてすべてのｐｌ、ｎｓを計数し直す必要はなく、高速化することができる。
【０２１９】
このようにして、Ｊ個全てのガボア・フィルタ出力に対して、各々エラーｅｊ（Ｔｈ）を計算し、もっとも小さいエラーｅｊ（Ｔｈ）を返すものを１つ弱仮説（弱仮説）として採用する。このエラーｅｊ（Ｔｈ）が弱仮説の誤り率となる。
【０２２０】
ここで、例えば、学習に使用する顔画像の画素数が非常に多く、フィルタの種類が多くなる場合などに、図９に示した弱仮説の生成方法を適用してもよい。すなわち、選択可能な全てのフィルタから所定の割合のフィルタを選択し、その中から判別性能が高い１又は複数個の高性能フィルタを選択し、この高性能フィルタに所定の変形を加えた新フィルタを生成し、高性能フィルタ及び新フィルタから、最も判別性能が高いフィルタ、すなわち、上述のエラーｅｊ（Ｔｈ）を最小にするフィルタを１つ選択することで、弱仮説を生成してもよい。この場合、生成する新フィルタとしては、例えば高性能フィルタとして選択されたフィルタの周波数や方向を変更したり、画素位置を１つ程度ずらしたりすればよい。
【０２２１】
または、選択可能な全てのフィルタから所定の割合のフィルタを選択し、この選択したフィルタから新フィルタを生成し、選択したフィルタ及び新フィルタから最も判別性能が高いフィルタを１つ選択することで弱仮説を生成するようしてもよい。
【０２２２】
こうしてアダブーストの学習方法に基づいて選択した弱仮説のエラーｅｊ（Ｔｈ）を用いて、ステップＳ４７にて説明した如く、当該弱仮説の信頼度を算出し、この弱仮説の正解、不正解に応じて学習用データｉのデータ重Ｄｉを更新して処理を繰り返す。
【０２２３】
次に、以上のようにして求めたＴ個の弱仮説の総和に基く表情識別器４１Ｘを学習サンプルに適用した際に、ポジティブデータとネガティブデータとが分離されており、マージンが十分に取れていれば、学習をここで打ち切る（ステップＳ４８）。表情識別器４１Ｘは、Ｔ個の弱仮説の出力に信頼度を乗算して加算した結果をもって識別対象の表情か非対象表情かを判別するものとする。ここで、後述する識別時において、上述の顔検出とは異なり、弱仮説の出力と信頼度との積の加算値から重み付き多数決をとらず、各表情識別器４１Ｘが、弱仮説の出力と信頼度との積を逐次加算した加算値を出力するようにすることで、例えば２つの表情識別器４１Ｘの出力が正の値を示した場合に、表情決定部４２が、加算値が大きい方の表情識別器４１Ｘの結果を採用して認識結果として出力することができる。ポジティブデータとネガティブデータとが十分に分離できない場合はステップＳ４６に戻り、新たな弱仮説を生成する。本実施の形態においては、全てのガボア・フィルタ（９６１２０通り）の約２００分の１程度の数のガボア・フィルタを選択して弱仮説を生成することで最終仮説を得ることができる。
【０２２４】
以上の学習の成果物として、選択された弱仮説、すなわちガボア・フィルタの方向、スケール、及び画像位置に関する情報（ピクセル位置）と、このフィルタ出力の値（特徴量）と、その弱仮説に対する信頼度αとが得られる。これらは保存されて、後述する認識時に利用される。
【０２２５】
（６−３）第３の学習方法
ＳＶＭを用いた上記第１の学習方法にて学習される識別器はカーネルによる非線形性を取り込んでおり性能は優れているが、例えば９２１６０次元のベクトルを演算する必要があり、上記第２の学習方法のブーストを使って学習される表情識別器４１Ｘに比べて判別時の演算時間が長くかかる場合がある。そこで判別時の演算時間を短縮化するために、本第３の学習方法においては、アダブーストの学習時に採用された特徴量（ガボア・フィルタ）のみを使用してＳＶＭ学習を行うものである（以下、AdaSVMといもいう。）。
【０２２６】
本第３の学習方法においては、先ず、特定の表情を示す重み付き特定表情顔画像データと、上記特定表情顔画像の示す表情とは異なる表情を示す重み付き非特定表情顔画像データとからなるデータセットを用意し、複数のガボア・フィルタの中から、特定表情画像データと非特定表情画像データとを判別する際の誤差率が最も小さいガボア・フィルタを第１の弱仮説として選択する。そして、この第１の弱仮説の、上記データセットに対する信頼度を算出し、この信頼度に基づいて特定表情画像データ及び非特定表情顔画像データの重みを更新する。
【０２２７】
次に、複数のガボア・フィルタの中から、重みが更新された特定表情画像データ及び非特定表情画像データを判別する際の誤差率が最も小さいガボア・フィルタを第２の弱仮説として選択する。
【０２２８】
こうして、少なくとも第１の弱仮説及び第２の弱仮説として選択されたガボア・フィルタにより抽出された特定表情画像データ及び非特定画像データの特徴量を入力とするＳＶＭにより、サポート・ベクタを学習させ、特定表情顔画像データと非特定表情顔画像データとを判別する仮説（表情識別器）を生成する。以下、この第３の学習方法について詳細に説明する。
【０２２９】
図１６は、顔表情認識のための第３の学習方法を示すフローチャートである。図１６において、ステップＳ５１〜ステップＳ５３までの前処理は、図１３に示すステップＳ３１〜ステップＳ３３に示す処理と同様である。
【０２３０】
そして、学習対象として選択された情動カテゴリに属するデータをポジティブデータ、残りの情動に属するデータをネガティブデータとし（ステップＳ５４）、これらの表情学習用データセットを使用して機械学習を行う。
【０２３１】
先ず、アダブースト学習を実行する（ステップＳ５５）。このステップＳ５５における処理は、上述の第２の方法に示したステップＳ４５〜ステップＳ４８の処理と同様である。すなわち、先ず、弱仮説を逐次生成していくことで、ガボア・フィルタの周波数及び方向と、サンプル画像内のピクセル位置との組み合わせを逐次学習していく。このステップＳ５５においては、最終仮説を得るまでに全てのガボア・フィルタの出力（９６１２０通り）から、例えば５３８個程度のフィルタ、すなわち約２００分の１程度が選択される。このように、アダブーストにおいては、９６１２０通りのフィルタから例えば２００分の１程度のガボア・フィルタを選択して弱仮説を生成すれば、対象とする表情か非対象とする表情かを識別する識別器を生成することができる。このステップＳ５５では、学習用データセットがネガティブデータとポジティブデータとに完全に分離して、両者の間のギャップがそれぞれの分布の大きさに対して相対的に一定量より大きくなったら学習を中止するようにしている。
【０２３２】
次に、ステップＳ５５におけるブースティング学習により生成された弱仮説に採用されたガボア・フィルタの出力のみを使用し、ＳＶＭ学習を実行する。先ず、アダブーストにおいて弱仮説に採用されたガボア・フィルタのみを使用し、所定の表情にラベリングされた学習用の各顔画像をフィルタリングして顔特徴を抽出する。これにより、第１の学習方法では、９６１２０次元のベクトルからサポート・ベクタを学習する必要があったが、本学習方法においては、約２００分の１次元に減らした例えば５３８次元のベクトルからサポート・ベクタを学習することになる。すなわち、５３８次元のベクトルからを新たな学習用データとして、ＳＶＭ学習を行う。これにより学習時の演算も識別時の演算も高速化することができると共に、ブースティングとＳＶＭとを組み合わせて学習させることで汎化性能を向上させることがする。
【０２３３】
学習の成果物として、生成された弱仮説に採用されたガボア・フィルタの方向及びスケールと画像位置に関する情報とが得られる。また弱仮説の数をＴとすると、Ｔ次元のガボア・フィルタ出力のサポート・ベクタとその係数α及び対応する学習サンプルのラベルｙが同様に成果として保存されて、後述する認識時に利用される。
【０２３４】
次に、ガボア・フィルタリングとＳＶＭについて、それぞれ詳細に説明する。
【０２３５】
（６−４）ガボア・フィルタリング
人間の視覚細胞には、ある特定の方位に対して選択性を持つ細胞が存在することが既に判っている。これは、垂直の線に対して発火する細胞と、水平の線に反応する細胞で構成される。ガボア・フィルタリングは、これと同様に、方位選択性を持つ複数のフィルタで構成される空間フィルタである。
【０２３６】
ガボア・フィルタは、ガボア関数によって空間表現される。ガボア関数ｇ（ｘ，ｙ）は、下記式（１９）に示すように、コサイン成分からなるキャリアｓ（ｘ，ｙ）と、２次元ガウス分布状のエンベロープｗｒ（ｘ，ｙ）とで構成される。
【０２３７】
【数１９】
2005044330.tif 000021
【０２３８】
キャリアｓ（ｘ，ｙ）は、複素関数を用いて、下記式（２０）のように表現される。ここで、座標値（ｕ0，ｖ0）は空間周波数を表し、また、Ｐはコサイン成分の位相を表す。
【０２３９】
【数２０】
2005044330.tif 000022
【０２４０】
下記式（２０）に示すキャリアｓ（ｘ，ｙ）は、下記式（２１）に示すように、実数成分Ｒｅ（ｓ（ｘ，ｙ））と虚数成分Ｉｍ（ｓ（ｘ，ｙ））に分離することができる。
【０２４１】
【数２１】
2005044330.tif 000023
【０２４２】
一方、２次元ガウス分布からなるエンベロープは、下記式（２２）のように表現される。
【０２４３】
【数２２】
2005044330.tif 000024
【０２４４】
ここで、座標値（ｘ0，ｙ0）はこの関数のピークであり、定数ａ及びｂはガウス分布のスケール・パラメータである。また、添え字ｒは、下記式（２３）に示すような回転操作を意味する。
【０２４５】
【数２３】
2005044330.tif 000025
【０２４６】
したがって、上記式（２０）及び上記（２２）より、ガボア・フィルタは、下記式（２４）に示すような空間関数として表現される。
【０２４７】
【数２４】
2005044330.tif 000026
【０２４８】
本実施形態に係る顔特徴抽出処理部２１は、８種類の方向と５スケールの周波数を採用して、合計４０個のガボア・フィルタを用いて顔抽出処理を行う。本実施の形態において使用されるガボア・フィルタの空間領域での様相を図１７（ａ）、図１７（ｂ）に示す。図１７（ａ）は、異なる周波数成分のガボア・フィルタの例を示し、図１７（ｂ）は、ガボア・フィルタの８方向を示す。各図における濃淡は、紙面に直行する座標軸方向の成分に相当する。
【０２４９】
ガボア・フィルタのレスポンスは、Ｇｉをｉ番目のガボア・フィルタとし、ｉ番目のガボアの結果（Ｇａｂｏｒ Ｊｅｔ）をＪｉとし、入力イメージをＩとし、すると、下記式（２５）で表される。この下記式（２５）の演算は、実際には高速フーリエ変換を用いて高速化することができる。
【０２５０】
【数２５】
2005044330.tif 000027
【０２５１】
すなわち上記式２５に示すように、例えば４８×４８画素からなる学習サンプルを使用すると、ｉ番目のガボア・フィルタにより、ガボアジェットＪiとして４８×４８＝２３０４通りの出力が得られる。
【０２５２】
作成したガボア・フィルタの性能を調べるためには、フィルタリングして得られた画像を再構築することによって行う。再構築されたイメージＨは、下記式（２６）のように表される。
【０２５３】
【数２６】
2005044330.tif 000028
【０２５４】
そして、入力画像Ｉと再構築された画像ＨとのエラーＥは、下記式（２７）のように表される。
【０２５５】
【数２７】
2005044330.tif 000029
【０２５６】
このエラーＥを最小にするような最適なパラメータａを求めることで、画像Ｈを再構築してガボア・フィルタの性能を調べることができる。
【０２５７】
（６−５）サポート・ベクタ・マシーン
次に、ＳＶＭについて説明する。ＳＶＭは、パターン認識の分野で最も学習汎化能力が高いとされる。このＳＶＭを用いて顔の表情が一の表情であるか否かの識別を行う。
【０２５８】
ＳＶＭ自体に関しては、例えばB．sholkopf外著の報告（B. Sholkopf, C. Burges, A. Smola, "Advance in Kernel Methods Support Vector Learning", The MIT Press, 1999.）を挙げることができる。本発明者らが行った予備実験の結果からは、ＳＶＭによる認識方法は、主成分分析（ＰＣＡ）やニューラル・ネットワークを用いる手法に比べ、良好な結果を示すことが判っている。
【０２５９】
ＳＶＭは、下記（２８）に示すように、与えられたデータセットを２つのクラスに分類する手法の１つである。ここで、クラスＡに属している場合はｙ＝１、クラスＢに属している場合はｙ＝−１とすし、サンプルｘは、Ｎ次元の実数ベクトルの集合Ｒ（Ｎ）に属するものとする。
【０２６０】
【数２８】
2005044330.tif 000030
【０２６１】
ＳＶＭは、識別関数ｆに線形識別器(パーセプトロン)を用いた学習機械であり、カーネル関数を使うことで非線形空間に拡張することができる。また、識別関数の学習では、クラス間分離のマージンを最大にとるように行われ、その解は２次数理計画法を解くことで得られるため、グローバル解に到達できることを理論的に保証することができる。
【０２６２】
通常、パターン認識の問題は、テスト・サンプルｘ＝（ｘ１，ｘ２，…，ｘｎ）に対して、下記式（２９）の識別関数ｆを求めることである。
【０２６３】
【数２９】
2005044330.tif 000031
【０２６４】
この識別器のｆ（ｘ）＝０を満たす点の集合（識別面）は、ｄ−１次元の超平面Ｌとなる。図１８に示すように、ＳＶＭにおける、〇で示すクラスＡと□で示すクラスＢとを識別するための識別面は、クラスＡとクラスＢとをのまん中を通る超平面Ｌである。
【０２６５】
ここで、ＳＶＭの学習サンプル（ベクトルｘ）のクラスラベル（教師ラベル）を下記（３０）のようにおく。
【０２６６】
【数３０】
2005044330.tif 000032
【０２６７】
パラメータｗ、ｂは冗長性を有するので、超平面に最も近接するサンプルに対して、上記式２９に示す｜ｗ・ｘ＋ｂ｜（ｗ、ｘはベクトル）＝１となる制約を加えると、ＳＶＭにおける顔パターンの認識を下記（３１）に示す制約条件の下での重み因子ｗの二乗を最小化する問題としてとらえることができる。
【０２６８】
【数３１】
2005044330.tif 000033
【０２６９】
このような制約のついた問題は、ラグランジュの未定定数法を用いて解くことができる。すなわち、下記式（３２）に示すラグランジュをまず導入して、
【０２７０】
【数３２】
2005044330.tif 000034
【０２７１】
次いで、下記式（３３）に示すように、ｂ、ｗの各々について偏微分する。
【０２７２】
【数３３】
2005044330.tif 000035
【０２７３】
この結果、ＳＶＭにおける顔パターンの識別を下記（３４）に示す２次計画問題としてとらえることができる。
【０２７４】
【数３４】
2005044330.tif 000036
【０２７５】
特徴空間の次元数が、学習サンプルの数よりも少ない場合は、制約条件を緩めるためにスラック変数ξ≧０を導入して、制約条件を下記（３５）のように変更する。
【０２７６】
【数３５】
2005044330.tif 000037
【０２７７】
最適化については、下記式（３６）の目的関数を最小化する。
【０２７８】
【数３６】
2005044330.tif 000038
【０２７９】
上式（３６）において、Ｃは、制約条件をどこまで緩めるかを指定する係数であり、実験的に値を決定する必要がある。ラグランジュ定数αに関する問題は下記（３７）のように変更される。
【０２８０】
【数３７】
2005044330.tif 000039
【０２８１】
しかし、上式（３７）のままでは、非線型の問題を解くことはできない。そこで、本実施形態では、カーネル関数Ｋを導入して、一旦、高次元の空間に写像して（カーネル・トリック）、その空間で線形分離することにしている。したがって、元の空間では非線型分離していることと同等となる。
【０２８２】
カーネル関数は、ある写像Φを用いて下記式（３８）のように表される。
【０２８３】
【数３８】
2005044330.tif 000040
【０２８４】
また、上記式（２９）に示した識別関数ｆも、以下式（３９）のように表すことができる。
【０２８５】
【数３９】
2005044330.tif 000041
【０２８６】
また、学習に関しても、下記式（４０）に示す２次計画問題としてとらえることができる。
【０２８７】
【数４０】
2005044330.tif 000042
【０２８８】
上記式（４０）に示す制約条件において、目的関数を最小化することで、上記式（２９）に示す識別関数ｆは下記式（４１）のように求めることができる。
【０２８９】
【数４１】
2005044330.tif 000043
【０２９０】
カーネル関数の例としては、下記式（４２）〜（４４）に示す例えば多項式・カーネル、シグモイド・カーネル、ガウシアン・カーネル（ＲＢＦ（Radius BasicFunction））などを用いることができる。
【０２９１】
【数４２】
2005044330.tif 000044
【０２９２】
【数４３】
2005044330.tif 000045
【０２９３】
【数４４】
2005044330.tif 000046
【０２９４】
（７）表情識別方法
次に、顔表情認識方法について説明する。上述したように、表情認識部２２の学習方法は、それを構成する各表情識別器４１Ｘをガボア・フィルタの出力からＳＶＭ学習する第１の方法と、ガボア・フィルタ出力をブースティングにより学習する第２の方法と、ブースティングにより全ガボア・フィルタから一部のガボア・フィルタを選択し、その出力をＳＶＭ学習する第３の方法があり、これら３種類の学習により得られた表情認識部２２における認識方法を第１〜第３の認識方法として説明する。
【０２９５】
（７−１）第１の認識方法（ガボアフィルタ＋ＳＶＭ）
まず、第１の識別方法について説明する。カメラなどの撮像手段からの入力画像を図１に示す顔検出装置１０に入力し、上述の方法にて顔画像が検出される。入力画像に顔が発見されれば、その顔位置の画像が切り出されて表情認識装置２０に入力される。
【０２９６】
次に、学習時と同様、顔画像を例えば４８×４８のサイズにリサイズする。リサイズされた顔画像は、顔特徴抽出処理部２１に供給され、ガボア・フィルタを用いて、９６１２０次元のガボア・フィルタ出力が生成される。このガボア・フィルタ出力が表情認識部２２に供給される。表情認識部２２は、顔画像を７つの表情に識別するもので、識別する７つの表情毎の表情識別器４１Ｘを有している。ガボア・フィルタ出力は、７つの表情識別器４１Ｘにそれぞれ入力され、各表情識別器４１Ｘが識別対象としている特定の表情か、又は該特定の表情とは異なる表情かを識別する。
【０２９７】
まず、ＳＶＭ学習によって得られた７つの表情識別器４１Ｘに対して判別関数の出力を得る。この表情識別器４１Ｘは、Ｎ本のサポート・ベクタとＮ個の係数αと各サポート・ベクタのラベルｙを学習時に獲得しおり、上記式（４４）のガウシアン・カーネス関数を使用して上記式（３９）の識別関数から認識結果求める。この際に９６１２０次元のカーネル関数計算をＮ回行う。そして、図１２に示す表情決定部４２が、７つの表情識別器４１Ｘにおける識別結果（判別関数出力）のうち最も大きい値を示す表情識別器４１Ｘが識別対象としている表情を表情認識装置２０の判定結果として出力する。
【０２９８】
（７−２）第２の認識方法（ガボアフィルタ＋アダブースト）
次に、第２の識別方法について説明する。第１の認識方法と同様に、顔検出装置１０により検出され切り出された顔画像を入力とし、この顔画像を４８×４８のサイズにリサイズする。次に、上述の第２の学習方法にて説明したアダブースト学習によって得られた７つの表情識別器４１Ｘに対して判別関数の出力を得る。判別関数Ｈは、下記式（４５）である。
【０２９９】
【数４５】
2005044330.tif 000047
【０３００】
アダブーストによる学習により選択されたガボア・フィルタにより、上記式（４５）におけるｈｔを出力する弱仮説が決定されている。すなわち、選択されたガボア・フィルタの方向に応じて上記式（２３）が確定し、選択されたガボア・フィルタのスケールから上記式（２２）のスケール・パラメータが決定され、ガボアカーネルが得られる。
【０３０１】
これを選択された画素を中心とした周囲の画像に対して適用したもの（ガボア・フィルタの出力）を、学習時に求めた閾値Ｔｈを使って判別する。判別結果の符号（ｓｇｎ）を取ったものが弱仮説の出力ｈｔとなる。これに学習時に決定された弱仮説の信頼度αを掛けて足しこみ、これをすべての弱仮説について行って、判別関数Ｈの出力（重み付き多数決をとるための加算値）を得る。そして、図１２に示す表情決定部４２が、７つの表情識別器４１Ｘの判別関数Ｈの出力のうち最も大きいものをこの入力顔画像の表情として出力する。判別関数Ｈは、各表情識別器４１Ｘにおいて得られる重み付き多数決（上記式（４５）の符号が正か負か）により表情識別器４１Ｘが識別対象としている表情であるか否かを判別してもよいが、例えば複数の表情識別器４１Ｘにより複数の表情を識別する場合、２以上の表情識別器４１Ｘが同時に表情を識別することもありえる。すなわち、２以上の表情識別器４１Ｘにおける判別関数Ｈの出力が正である場合がありえるが、そのような場合には、この重みが乗算され加算された加算値である識別関数Ｈの出力値が大きい方の表情を認識結果とするようにする。
【０３０２】
（７−３）第３の認識方法（ガボアフィルタ＋アダブースト＋ＳＶＭ）
次に、第３の識別方法について説明する。第１の認識方法と同様に、顔検出装置１０により検出され切り出された顔画像を入力とし、この顔画像を４８×４８のサイズにリサイズする。次に、上述の第３の学習方法にて説明した学習（以下、AdaSVMという。）によって得られた７つの表情識別器４１Ｘに対して判別関数の出力を得る。
【０３０３】
まずAdaSVM学習によって選択されたガボア・フィルタを用いて、入力画像からアダブーストの学習によって生成された弱仮説に採用されたフィルタ数次元のベクタを生成する。すなわち、上述のアダブーストの学習により選択されているスケール及び方向の１つについて上記式（２２）及び式（２３）から得られるガボア・フィルタを、同じく学習により選択されている選択画素を中心とした周囲の画像に対して適用することで１つのフィルタ出力を得る。これをフィルタの数繰り返して、フィルタ数の入力ベクタを生成する。
【０３０４】
次にAdaSVM学習のＳＶＭ学習で得たフィルタ出力のサポート・ベクタとその係数とラベルとを使って、上記入力ベクタを上記式（４４）及び上記式（３９）に代入し、判別関数出力ｆを得る。そして、図１２に示す表情決定部４２が、７つの表情識別器４１Ｘにおいて、判別関数Ｈの出力が最も大きいものを、この入力顔の表情として結果を出力する。
【０３０５】
このような表情認識装置２０によれは、画像のシフトに強いガボア・フィルタを使用することで、顔検出の結果の位置決めなどの処理をせず、そのまま表情認識を行うことができ、高速に表情の認識をすることができる。
【０３０６】
また、ガボア・フィルタ出力を特徴量としてＳＶＭにより識別することで、７つの表情に正確に識別することができる。同じく、ガボア・フィルタ出力を特徴量としてブースティングにより生成された複数の弱仮説により表情識別することで更に高速に認識を実行することができる。
【０３０７】
更に、ガボア・フィルタ出力を特徴量としてアダブースト学習により学習時に選択されたフィルタのみを使用し、ベクトルの次元を下げてＳＶＭにより表情識別を行うと、学習・認識時における演算処理を減らして高速化することができると共に、アダブーストとＳＶＭを組み合わせ学習させることで汎化誤差を更に小さくし、汎化性能を向上することができる。
【０３０８】
更にまた、本実施の形態においては、４８×４８画素の顔画像にリスケールして学習・識別する例について説明したが、解像度を更に高くすることで、更に性能を向上させることができる。
【０３０９】
また、上述の顔検出装置１０と組み合わせることで、入力される動画像などからもリアルタイムで顔検出し、かつ検出した顔画像の表情を認識することが可能となる。
【０３１０】
（８）他の実施の形態
本実施の形態における顔表情認識システムは、リアルタイムで入力画像から顔領域を切り出し、顔表情を分類することができるため、例えばエンターテイメント用、介護用などさまざまな用途のロボット装置に搭載することで、人間とロボット装置とのリアルタイムのインタラクションを可能とする。ロボット装置は、本顔表情認識システムを搭載することで、ユーザの表情を認識することができ、これにより、ユーザに対する新たな感情表現を可能とする。また、このような表情認識システムをアニメーション生成・表示機能を有する装置と連動させると、人間の表情を認識し、これに反応するアニメーションを表示させることができる。
【０３１１】
このようなロボット装置、又はアニメーション作成装置では、ユーザの表情を理解し、ユーザの表情に応じてなんらかの反応を表出させることができ、例えばユーザの「嬉しい」表情を認識した場合に、同じく「嬉しい」表情を表出するロボット装置としたり、「嬉しい」表情を表現するアニメーションを表示したり、又はユーザの「悲しい」表情を認識した場合に、ユーザを励ますようなリアクションをとるようにすることができる。
【０３１２】
このように、本実施の形態における顔表情認識システムは、顔表情を自動認識することができ、顔表情を行動測定基準としてより利用しやすいものとし、顔の動きの変化についての従来は不可能であった詳細な解析を可能にすることで、基礎研究に多大な影響を与えることができる。そして、このような能力を有するコンピュータシステムは、マン・マシン・コミュニケーション、保安、法律施行、精神医学、教育、テレコミュニケーション等、基礎及び応用研究の分野で幅広い用途がある。
【０３１３】
（９）ロボット装置
次に、上述した顔表情認識システムを搭載したロボット装置の一具体例について説明する。本実施の形態においては、２足歩行型のロボット装置を例にとって説明するが、２足歩行のロボット装置に限らず、４足又は車輪等により移動可能なロボット装置に適用できることはいうまでもない。
【０３１４】
この人間型のロボット装置は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、内部状態（怒り、悲しみ、喜び、楽しみ等）に応じて行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボットである。上述の顔表情認識システムにおいて認識したユーザの表情に応じて行動を発現するようなされているものとする。図１９は、本実施の形態におけるロボット装置の概観を示す斜視図である。
【０３１５】
図１９に示すように、ロボット装置１０１は、体幹部ユニット１０２の所定の位置に頭部ユニット１０３が連結されると共に、左右２つの腕部ユニット１０４Ｒ／Ｌと、左右２つの脚部ユニット１０５Ｒ／Ｌが連結されて構成されている（但し、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下において同じ。）。
【０３１６】
このロボット装置１０１が具備する関節自由度構成を図２０に模式的に示す。頭部ユニット１０３を支持する首関節は、首関節ヨー軸１１１と、首関節ピッチ軸１１２と、首関節ロール軸１１３という３自由度を有している。
【０３１７】
また、上肢を構成する各々の腕部ユニット１０４Ｒ／Ｌは、肩関節ピッチ軸１１７と、肩関節ロール軸１１８と、上腕ヨー軸１１９と、肘関節ピッチ軸１２０と、前腕ヨー軸１２１と、手首関節ピッチ軸１２２と、手首関節ロール輪１２３と、手部１２４とで構成される。手部１２４は、実際には、複数本の指を含む多関節・多自由度構造体である。ただし、手部１２４の動作は、ロボット装置１０１の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書では簡単のため、ゼロ自由度と仮定する。したがって、各腕部は７自由度を有するとする。
【０３１８】
また、体幹部ユニット１０２は、体幹ピッチ軸１１４と、体幹ロール軸１１５と、体幹ヨー軸１１６という３自由度を有する。
【０３１９】
また、下肢を構成する各々の脚部ユニット１０５Ｒ／Ｌは、股関節ヨー軸１２５と、股関節ピッチ軸１２６と、股関節ロール軸１２７と、膝関節ピッチ軸１２８と、足首関節ピッチ軸１２９と、足首関節ロール軸１３０と、足部１３１とで構成される。本明細書中では、股関節ピッチ軸１２６と股関節ロール軸１２７の交点は、ロボット装置１０１の股関節位置を定義する。人体の足部１３１は、実際には多関節・多自由度の足底を含んだ構造体であるが、本明細書においては、簡単のためロボット装置１０１の足底は、ゼロ自由度とする。したがって、各脚部は、６自由度で構成される。
【０３２０】
以上を総括すれば、ロボット装置１０１全体としては、合計で３＋７×２＋３＋６×２＝３２自由度を有することになる。ただし、エンターテインメント向けのロボット装置１が必ずしも３２自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることはいうまでもない。
【０３２１】
上述したようなロボット装置１０１がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、２足歩行という不安定構造体に対して姿勢制御を行うこと等の要請から、アクチュエータは小型且つ軽量であることが好ましい。
【０３２２】
このようなロボット装置は、ロボット装置全体の動作を制御する制御システムを例えば体幹部ユニット１０２等に備える。図２１は、ロボット装置１０１の制御システム構成を示す模式図である。図２１に示すように、制御システムは、ユーザ入力等に動的に反応して情緒判断や感情表現を司る思考制御モジュール３００と、アクチュエータ４５０の駆動等ロボット装置１の全身協調運動を制御する運動制御モジュール４００とで構成される。
【０３２３】
思考制御モジュール３００は、情緒判断や感情表現に関する演算処理を実行するＣＰＵ（Central Processing Unit）３１１や、ＲＡＭ（Random Access Memory）３１２、ＲＯＭ（Read Only Memory）３１３及び外部記憶装置（ハード・ディスク・ドライブ等）３１４等で構成され、モジュール内で自己完結した処理を行うことができる、独立駆動型の情報処理装置である。
【０３２４】
この思考制御モジュール３００は、画像入力装置３５１から入力される画像データや音声入力装置３５２から入力される音声データ等、外界からの刺激等に従って、ロボット装置１０１の現在の感情や意思を決定する。すなわち、上述したように、入力される画像データからユーザの表情を認識し、その情報をロボット装置１０１の感情や意思に反映させることで、ユーザの表情に応じた行動を発現することができる。ここで、画像入力装置３５１は、例えばＣＣＤ（Charge Coupled Device）カメラを複数備えており、また、音声入力装置３５２は、例えばマイクロホンを複数備えている。
【０３２５】
また、思考制御モジュール３００は、意思決定に基づいた動作又は行動シーケンス、すなわち四肢の運動を実行するように、運動制御モジュール３００に対して指令を発行する。
【０３２６】
一方の運動制御モジュール４００は、ロボット装置１０１の全身協調運動を制御するＣＰＵ４１１や、ＲＡＭ４１２、ＲＯＭ４１３及び外部記憶装置（ハード・ディスク・ドライブ等）４１４等で構成され、モジュール内で自己完結した処理を行うことができる独立駆動型の情報処理装置である。また、外部記憶装置４１４には、例えば、オフラインで算出された歩行パターンや目標とするＺＭＰ軌道、その他の行動計画を蓄積することができる。
【０３２７】
この運動制御モジュール４００には、図２０に示したロボット装置１０１の全身に分散するそれぞれの関節自由度を実現するアクチュエータ４５０、対象物との距離を測定する距離計測センサ（図示せず）、体幹部ユニット１０２の姿勢や傾斜を計測する姿勢センサ４５１、左右の足底の離床又は着床を検出する接地確認センサ４５２，４５３、足底１３１の足底１３１に設けられる荷重センサ、バッテリ等の電源を管理する電源制御装置４５４等の各種の装置が、バス・インターフェース（Ｉ／Ｆ）４０１経由で接続されている。ここで、姿勢センサ４５１は、例えば加速度センサとジャイロ・センサの組み合わせによって構成され、接地確認センサ４５２，４５３は、近接センサ又はマイクロ・スイッチ等で構成される。
【０３２８】
思考制御モジュール３００と運動制御モジュール４００は、共通のプラットフォーム上で構築され、両者間はバス・インターフェース３０１，４０１を介して相互接続されている。
【０３２９】
運動制御モジュール４００では、思考制御モジュール３００から指示された行動を体現すべく、各アクチュエータ４５０による全身協調運動を制御する。すなわち、ＣＰＵ４１１は、思考制御モジュール３００から指示された行動に応じた動作パターンを外部記憶装置４１４から取り出し、又は、内部的に動作パターンを生成する。そして、ＣＰＵ４１１は、指定された動作パターンに従って、足部運動、ＺＭＰ軌道、体幹運動、上肢運動、腰部水平位置及び高さ等を設定するとともに、これらの設定内容に従った動作を指示する指令値を各アクチュエータ４５０に転送する。
【０３３０】
また、ＣＰＵ４１１は、姿勢センサ４５１の出力信号によりロボット装置１０１の体幹部ユニット１０２の姿勢や傾きを検出するとともに、各接地確認センサ４５２，４５３の出力信号により各脚部ユニット１０５Ｒ／Ｌが遊脚又は立脚のいずれの状態であるかを検出することによって、ロボット装置１０１の全身協調運動を適応的に制御することができる。更に、ＣＰＵ４１１は、ＺＭＰ位置が常にＺＭＰ安定領域の中心に向かうように、ロボット装置１０１の姿勢や動作を制御する。
【０３３１】
また、運動制御モジュール４００は、思考制御モジュール３００において決定された意思通りの行動がどの程度発現されたか、すなわち処理の状況を、思考制御モジュール３００に返すようになっている。このようにしてロボット装置１０１は、制御プログラムに基づいて自己及び周囲の状況を判断し、自律的に行動することができる。
【０３３２】
このようなロボット装置には、動的に変化する作業環境下で一定時間内に応答できるようなヒューマン・インターフェース技術が要求されている。本実施の形態に係るロボット装置１０１は、上述した顔検出及び表情認識技術を適用することにより、周囲のユーザ（飼い主又はともだち、若しくは正当なユーザ）の表情を識別すると共に、認識結果に基づいて（すなわちユーザに応じて）リアクションを制御することによって、より高いエンターテイメント性を実現することができる。
【０３３３】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。また、上述した顔検出装置の学習処理、顔検出処理、表情学習処理、及び表情認識処理のうち１以上の任意の処理は、ハードウェアで構成しても、演算器（ＣＰＵ）にコンピュータプログラムを実行させることで実現してもよい。コンピュータプログラムとする場合には、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
【０３３４】
（１０）実施例
次に、上述の実施の形態において説明した顔表情認識システムにおける実際の実験結果を参照し、上述の実施の形態において説明した顔表情認識システムにおける実施例について詳細に説明する。
【０３３５】
（１０−１）顔検出
（１０−１−１）訓練データ
先ず、本願発明者らは、顔表情認識システムの学習サンプルとして、コーン及びカナデのＤＦＡＴ−５０４データセット（T . Kanade , J . F . Cohn , and Y Tain. Comprehensive database for facial expression analysis. In Proceedings of the fourth IEEE International conference on automatic face and gesture recognition (FG'00), Page 46-53 , Grenble , France , 2000）を使用した。このデータセットを使用して、顔検出装置の訓練及びテスト（評価）を行った。上記データセットは、１８歳〜３０歳の大学生１００人からなり、そのうち、６５％が女性、１５％がアフリカ系アメリカ人、３％がアジア系又はラテン系であった。
【０３３６】
被験者の正面に置いたカメラを使用して、映像をアナログＳビデオで記録した。被験者は、実験者から２３の顔表情を見せるように指示され、被験者は各表情の始めと終わりにはニュートラルの顔をするよう指示された。被験者が各表情を見せる前に、実験者が所望の表情を説明してモデル化した。
【０３３７】
こうして得られた顔画像において、ニュートラル状態から目的の表情への画像シーケンスを、グレースケール値について８ビット精度で６４０×４８０画素列にデジタル化した。
【０３３８】
本実施例では、このようなデータセットから３１３のシーケンスを選択した。シーケンスは、６つの基本感情(基本表情)、すなわち、怒り、嫌悪、恐怖、喜び、悲しみ、驚きのいずれかに分類されることを唯一の選択基準とした。これらのシーケンスは９０人の被験者から得られたものであり、被験者一人当たり上述の１乃至６の感情とした。最初と最後のフレーム（ニュートラルとピーク）を訓練画像として使用し、また、合計６２５のデータを新たな被験者の汎化のテストに使用した。訓練した分類器(分類機)を後で全シーケンスに使用した。
【０３３９】
（１０−１−２）顔の位置確認
顔検出装置は、画像内の可能な２４×２４画素のパッチ（ウィンドウ）すべてをスキャンし、各パッチを顔であるか否かをリアルタイムで分類することができる。また、任意の大きさの顔画像を検出するために、上記パッチを、入力画像において１．２倍毎にスケール変換した。また、検出されたパッチに大幅な重複がある場合、これらの平均をとったものを検出ウィンドウとした。以下、本実施例の顔検出装置の学習方法について説明する。
【０３４０】
まず、ウェブから収集した約８０００の画像から５０００の顔画像サンプル（顔パッチ）と１００００個の顔ではない非顔画像サンプル（非顔パッチ）を用いて、顔検出装置の訓練（学習）をした。
【０３４１】
２４×２４画素のパッチには、上述した如く、１６００００種以上のフィルタが存在するが、本実施例においては、これらの１６００００種のフィルタのうちの２〜２００からなるサブセット（フィルタ群）を選択する。フィルタの演算には、上述した図５に示す積分画像を使用するため矩形領域の高速演算を行うことができる。
【０３４２】
そして、更に演算効率を上げるため、上述の実施の形態において説明した方法にてフィルタの選択を行った。すなわち、全フィルタのうちの５％をランダムに選択し、上記サンプルにおける重み付き分類エラーを最小化する、顔判別能力が最良の単一フィルタを選択した。そして、選択したフィルタを各方向に２画素分移動したフィルタ、選択したフィルタのスケーリングを行ったフィルタ、並びに、選択したフィルタ・移動及びスケーリングを行ったフィルタを、画像の中心（垂直二等分線）に対して水平に反転させ、元のものに重畳したフィルタを生成した。選択したフィルタ及び新たに生成したフィルタについて、上記サンプルにおける重み付き分類エラーを最小化する、最良の性能の、１つのフィルタを選択することで、単一フィルタ分類器を顔判別をする弱分類器（あるいは「弱学習機」、弱仮説）として学習した。
【０３４３】
これは上述したように、１世代遺伝アルゴリズムとして考えられるものであり、１６００００個の可能なフィルタすべてやそれらの反映による等価物の中から網羅的に最良の分類器を探すよりもはるかに速く、同等の性能のフィルタを選択することができる。
【０３４４】
選択した分類器をブーストの弱学習機として使用し、アダブースト規則を用いた各データに対する性能に応じてデータへの重みを調整した。
【０３４５】
この特徴選択プロセスを、新たな重みを用いて繰り返し、「強分類器」（すなわち、その段階についてのすべての弱分類器を用いた複合分類器）がデータセットにおける所望の最小性能レートを達成できるまで、全ブースト処理を繰り返した。
【０３４６】
最後に、各強分類器を訓練した後、ブートストラップ・ラウンドを行った（Kah Kay Sung and Tomaso Poggio. Example base learning for view-based human face detection . IEEE Trans. Pattern Anal. Mach. Intelligence , 20:3951 , 1998）。
【０３４７】
これは、その時点までの装置全体について、顔ではない画像のデータベースをスキャンし、偽アラーム（判別を誤った画像）を収集し、シーケンスにおける次の強分類器を訓練するための顔ではない画像として使用するものである。
【０３４８】
また、上記従来例１における特徴選択アルゴリズムにおいては、アダブーストを使用し、２値分類器を必要とするのに対し、本実施例においては、上述の実施の形態において説明した如く、弱判別器の出力として実関数を出力する「ジェントルブースト」（J Friedman, T Hastie,and R Tibshirani. Additive logistic regression: A statistical view of Boosting.AVVALS OF STATISTICS,28(2):337-374,2000）を用いて実験を行った。図２２（ａ）及び図２３（ａ）は、ジェントルブーストにしたがって学習する装置が選択した最初の２つのフィルタを示し、図２２（ｂ）及び図２３（ｂ）は、それらのフィルタにより得られる全サンプル、すなわち平均顔における弱学習器の実値出力（あるいはチューニング曲線）を示す。
【０３４９】
チューニング曲線は、縦軸の値が大きいと顔であり、小さいと顔ではないことを示す。図２２（ｂ）に示す第１のチューニング曲線は、左図に示すウィンドウの中心にある黒で示す水平領域（矩形領域）上の白で示す矩形領域が顔である証拠を示し、そうでなければ顔でない証拠であることを示す。すなわち、白で示す上側矩形領域の輝度値の総和から黒で示す下側矩形領域の輝度値の総和を減算した値がフィルタ出力であり、フィルタ出力がマイナスである画像が顔画像であることを示す。
【０３５０】
また、図２３（ｂ）に示す第２のチューニング曲線は双峰分布を示し、左側の矩形特徴、右側の矩形特徴共に、内側の矩形領域から外側の矩形領域の輝度値の総和を減算したものである。
【０３５１】
矩形特徴３４Ａ、３４Ｂのいずれにおいも、例えば黒髪である場合などはフィルタ出力がプラスになり、白髪である場合などはフィルタ出力がマイナスの値になることを示し、矩形特徴３４Ａ、３４Ｂにおける各矩形領域に輝度値の変化がない場合（フィルタ出力がゼロ近傍）の画像は、顔でないことを示す。
【０３５２】
更に、本願発明者らは、従来例１のような分類器のカスケードをなくす方法を見出した。すなわち、各弱判別器の出力結果を逐次判定し、以降の処理を続けるいか否かを決定する。これは、上述の実施の形態において説明したように、各単一の弱判別器の出力の後、打ち切り閾値を下回っているか否かを判定し、下回っている場合には、次の弱判別器における判別（特徴テスト）を中止するものである。本願発明者の予備試験の結果では、精度を失わずに現在の装置よりも速度を大幅に改善することができた。
【０３５３】
シーケンスの早い部分における強分類器（その段階についてのすべての弱分類器を用いた複合分類器）は、良好な性能を達成するのにほとんど特徴を必要としない。例えば、第１段階では、２つの特徴のみを使用し、２０の単一動作のみ又は約６０のマイクロプロセッサ命令を使用して、顔ではない画像の６０％を拒絶することができる。このため、各ウィンドウで判定が必要な特徴の平均数は非常に少なく、装置全体では非常に高速となる。本実施例の顔検出装置は、非常に高速な速度と、非常に高い精度の双方を達成することができる。
【０３５４】
本実施例における顔検出装置は、ＣＭＵ−ＭＩＴデータセットなどの正面顔検出装置のベンチマークテストを行うための標準的な公共データセットに対する判別性能は上述の従来例１に匹敵した。使用したデータセットは照明、吸蔵、画質の差による画像の変動性が大きいが、本実施例の学習に使用したデータセットは顔が正面でフォーカスされ、明るさも十分で、背景が単純なので、性能はより高精度であった。このデータセットの場合、すべての顔を検出した。
【０３５５】
（１０−２）表情認識
（１０−２−１）前処理
次に、自動的に位置確認された顔を、４８×４８画素に再スケーリングした。また、２倍の解像度（９６×９６画素に再スケーリングしたもの）で比較を行った。両眼の中心間の一般的な距離は約２４画素であった。これら再スケーリングした画像について、８方向、５空間周波数（１／２オクターブステップで１サイクル当たり４：１６画素）のガボア・フィルタを使用し、画像をガボア・マグニチュード表現に変換した。
【０３５６】
（１０−２−２）顔表情分類
顔表情分類はサポート・ベクタ・マシーン（ＳＶＭ）に基づいた。ガボア表現の高次元性はカーネル分類器（顔表情識別器）の訓練時間に影響を与えないので、ＳＶＭはこの作業に適している。本顔表情分類器は、喜び、悲しみ、驚き、嫌悪、恐怖、怒り、ニュートラルという７つの感情カテゴリとし、７通りの強制選択を行うことで分類を行った。
【０３５７】
分類は２段階で行った。まず、ＳＶＭにより２値決定作業を行った。各感情を他の感情と区別するように、感情毎に７つのＳＶＭを訓練した。そして、検出対象とする表情のデータに最大マージンを与える分類器を選択することにより、感情カテゴリの決定を行った。ラプラシアン及びガウス基底関数を用いた線形、多項式、ＲＢＦカーネルについて実験した結果、単位幅ガウス基底関数を用いた線形及びＲＢＦカーネルが最も性能がよかった。以下、線形及びＲＢＦカーネルを使用した実施例について説明する。
【０３５８】
本願発明者等は、上述した自動顔検出装置の出力を用いた表情認識性能を、手動分類により、明確に特徴合わせした顔画像に対する表情認識性能と比較した。手動で合わせた顔画像の場合、目が水平になるように顔を回転させ、その後、各顔において目と口とが合うようにゆがめることで特徴合わせを行った。
【０３５９】
１サンプルを除外する交差検定（cross Validation）を用いて、新たなサンプルに対する汎化をテストをした。結果を下記表１に示す。これは、９６×９６画素のサンプルについて行った結果である。
【０３６０】
【表１】
2005044330.tif 000048
【０３６１】
上記表１に示すように、自動検出した顔に対する表情認識性能と手動で合わせた顔に対する表情認識性能とでは大きな違いはなかった（ｚ＝０．２５、ｐ＝０．４）。
【０３６２】
（１０−３）ＳＶＭとアダブーストの比較
次に、ＳＶＭにより表情認識する感情分類器（表情識別器）の性能を、アダブーストを用いた感情分類器と比較した。
【０３６３】
アダブースト感情分類器には、ガボア・フィルタ出力を使用した。４８×４８×４０＝９２１６０の可能な特徴があり、アダブーストを使用して、これらのフィルタのサブセットを選択した。各繰り返し処理毎の訓練（学習）では、各フィルタの閾値及びスケール・パラメータを最適化し、ブーストされたデータ重み分布に対して最良の性能が得られる特徴（ガボア・フィルタ）を選択した。
【０３６４】
また、学習の際の評価においては、アダブーストはＳＶＭよりも訓練速度が遅いので、「１学習サンプルを除外する」交差検定（以下、１サンプル除外式という。）は行わなかった。その代わりに、学習サンプルをほぼ同サイズの１０グループにランダムに分け、「１グループを除外する」（以下、１グループ除外式という。）交差検定を行った。
【０３６５】
１サンプル除外式では、全サンプルのうち、１つを除いたサンプルを学習に使用し、残りの１つにより学習評価を行うことを、サンプルの数分行うものであり、１グループ除外式では、１グループを除いた学習サンプルにより学習を行い、残りの１グループにより学習結果を評価することを、グループの数分行うものである。
【０３６６】
アダブーストでは、ポジティブ及びネガティブサンプルの分布が２つの分布の幅に比例するギャップにより完全に分離されるまで、各感情分類器の訓練を続けた。この手続きを用いて選択したフィルタの総数は５３８であった。
【０３６７】
図２４（ａ）は、アダブースト訓練中の１つの感情分類器における出力を示すグラフ図であり、図２４（ｂ）は、アダブーストにより選択された特徴数の関数としての汎化誤差を示すグラフ図である。訓練データのそれぞれについての反応を、分類器が熟練するにしたがって特徴数の関数として示す。これにより、アダブースト訓練の停止基準を求めることができる。また、図２４（ｂ）に示すように、汎化誤差は「過度の訓練」により増加することはなかった。
【０３６８】
ここで、本装置では、畳込みをフーリエ空間ではなく画素空間で行うので、ガボア・フィルタの出力計算があまり効率的ではなかったが、２００分の１程度のガボア・フィルタ出力を使用しても十分に表情識別が可能であり、これにより、相当な高速化を実現することができた。下記表２は、アダブースト、ＳＶＭ、及びＡｄａＳＶＭの性能を比較したものである（４８×４８画象）。この表２に示すように、アダブーストにおける汎化性能は８５．０％であった。これは、グループ除外式テストパラダイムにおける線形ＳＶＭ性能と同等であったが、下記表３に示すように、アダブーストはかなり高速であった。下記表３は、処理時間とメモリの検討結果を示すものである。
【０３６９】
アダブーストにより、弱判別器の繰り返し学習の各繰り返し毎に、どの特徴（フィルタ出力）が最も有益なテストすべき特徴であるかを示す付加価値が信頼度として得られる。図２５は、各感情について選択された最初の５つのガボアフィルタ（ガボア特徴）を示す。すなわち、図２５は、怒り、嫌悪、恐怖、喜び、悲しみ、驚きの各表情識別器において、周波数及び方向がアダブーストのアルゴリズムに従って逐次選択された最初の５つのフィルタの出力結果を示すものである。
【０３７０】
図２５において、各表情の顔画像中における白点は、学習により選択されたガボア特徴すべての画素位置を示す。また、各表情の顔画像の下に、その表情について選択された最初の５つのアダブースト特徴の実部の線形結合を示す。
【０３７１】
図２６は、ガボア・フィルタに使用した５つ周波数について、アダブーストにより選択された特徴の波長分布を示すグラフ図である。この図２６においては、決定されたガボア特徴における方向について優先を示していないが、選択特徴数が最も高い頻度の波長がより頻繁に選択されたことを示す。
【０３７２】
（１０−４）ＡｄａＳＶＭ
更に、本願発明者らは、アダブーストにより選択されたガボア特徴をＳＶＭ訓練のための縮小表現として用いる組合せ的アプローチ（ＡｄａＳＶＭ）を行った。このＡｄａＳＶＭアは、ダブーストに比して３．８％、性能が向上した。これは統計的に重要な違いであった（ｚ＝１．９９、ｐ＝０．０２）。また、ＡｄａＳＶＭは、ＳＶＭよりも平均で２．７％性能が向上した（ｚ＝１．５５、ｐ＝０．０６）。
【０３７３】
図２６に示したように、本願発明者らがアダブーストにより選択されたガボア・フィルタの頻度分布を調べた結果、高い空間周波数のガボア・フィルタと高解像度画像が感情分類器の性能を向上させる可能性があることが明らかになった。画像の解像度を２倍の９６×９６にし、ガボア波長数を５から９に増加させて、１／２オクターブステップで２：３２画素に亘るようにすることにより、非線形ＡｄａＳＶＭの性能が９３．３％に向上した。解像度が上がると、ＡｄａＳＶＭの高速性能がさらに顕著になった。最も解像度が高い場合、フル・ガボア表現は係数７で増加したが、アダブーストにより選択されるガボア・フィルタ数は係数１．７５でしか増加しなかった。
【０３７４】
【表２】
2005044330.tif 000049
【０３７５】
【表３】
2005044330.tif 000050
【０３７６】
表３において、時間ｔ’には、ＳＶＭで用いるフルＦＦＴではなく、アダブースト及びＡｄａＳＶＭの画素空間における５３８個のガボア・フィルタの出力を計算する余分な時間も含まれる。
【０３７７】
（１０−５）リアルタイム感情ミラーリング
感情分類器に入力される各画像は別々に処理及び分類が行われるが、装置のビデオフレームシーケンスの出力は時間の関数としてスムーズに変化する。図２７（ａ）、図２７（ｂ）は、１つの学習サンプル（サンプル３２）について２つのテストシーケンスを示す。図２７（ａ）は、「怒り」の感情を識別す感情分類器の出力結果、図２７（ｂ）は、「嫌悪」の感情を識別する感情分類器の出力結果を示す。図２７（ａ）、図２７（ｂ）に示すように、時間の関数として、ニュートラル出力は減少し、対応する感情の出力が増加する。これにより、リアルタイムで顔表情を符号化する潜在的に重要な表現が得られる。
【０３７８】
本願発明者らは、リアルタイムで顔表情を符号化する潜在能力の効果を示すため、リアルタイム「感情ミラー」装置を開発した。感情ミラー装置は、ある人物が表現する感情を模倣した３Ｄキャラクタをリアルタイムで表示する装置である。
【０３７９】
図２８は、本発明の実施例における顔表情認識システムを利用した感情ミラー装置の出力例を示す図である。右図に示す動画キャラクタが、左図に示すユーザの顔表情を反映して登場する。
【０３８０】
「感情ミラー」装置は、顔検出装置、感情分類器、アニメーション発生装置からなる。「感情ミラー」装置では、顔検出装置がユーザの顔画像を検出し、これを感情分類器に送る。本実施例の感情分類器には線形ＡｄａＳＶＭを使用した。７つの感情に分類する感情分類器の出力は、７Ｄ感情コードとなる。この感情コードをアニメーション発生装置に送った。アニメーション発生装置は、コンピュータにより動作する３Ｄ画像をリアルタイムで表示するソフトウェアツールである。７Ｄ感情コードにより、各感情についてモルフターゲットの重み付きコンビネーションが得られた。
【０３８１】
また、本願発明者らは、ＮＩＰＳ２００２にて、ユーザの感情を認識して、ユーザをひきつけるように反応する「感情ミラー」装置の試作品のデモンストレーションを行った。
【０３８２】
この装置により、感情レベルでユーザをひきつけ、また、コンピュータがユーザの感情を認識して適応することが重要となるロボット工学やコンピュータアニメーションの用途に本システムを組み込むことができる。
【０３８３】
本システムは、家庭、学校、研究所等の環境において使用することが検討されている。例えば学校などにおいては、生徒の感情や認識状態に適応させた自動チュータシステムとして使用することができる。また、自動顔追跡及び表情分析を自動動画チュータシステムに統合しつつあり、このような自動チュータシステムにおいて、実際の教師と同じように生徒の感情や認識状態に適応できれば、より効果的となる可能性がある。また、顔検出及び表情分析により、ロボット装置などにおいては、更にユーザにとって魅力的なものとなる。更にまた、本システムにより、人間とロボット装置との対話の良好さを測定することができる。本願発明者らは、本実施例の自動表情認識システムを使用し、ロボット装置と対話中のユーザの反応を測定した。これにより、表情認識機能がロボット装置に対するユーザの楽しみを大きくするかどうかを評価することができる。
【０３８４】
（１０−６）効果
本実施例の表情認識システムによれば、ユーザ独立型かつ完全自動式でリアルタイムに符号化でき、少なくとも正面の顔を前提とするアプリケーションの場合、現存のコンピュータパワーで、顔表情のリアルタイム認識を可能とした。７つの基本表情への識別問題は、顔画像から前処理によってフィルタリングした１列のガボア・フィルタ出力使用し、単純な線形システムによって解決することができる。この識別にＳＶＭを使用すると高精度に分類することができる。本実施例における結果は、より小さいデータセットについてパジェット（Padgett）とコットレル（Cottrell）が報告した結果（「Representing face images for emotion classification.」（In M. Mozer , M.Johon , and T.Petsche , editors , Advances in Neural Information Processing Systems , volume 9 , Cambridge , MA , 1997. TIT Press））と一致する。例えばM. Lyons, J. Budynek , A. Planet , and S Akamatsuらの「Classifying facial attributes using a 2-d gabor wavelet representation and discriminant analysis.」（ In Proceeding of the 4th international conference on automatic face and gesture recognition , page 202-207 , 2000）などに記載の従来システムでは、ガボア表現から顔表情を分類するのに判別分析（ＬＤＡ）を用いていた。
【０３８５】
これに対し、本願発明者らは顔表情分類にＳＶＭを試した。ＬＤＡはクラス分布がガウス分布の場合に最適であるが、ＳＶＭは、クラス分布がガウス分布ではない場合により効果的となりうる。
【０３８６】
また、顔特徴の明確な検出及び登録を必要とせずに、自動顔検出装置の出力を直接処理して、良好な感情分類性能が得られた。自動顔検出器の出力に対する非線形ＳＶＭの感情識別性能は、手動分類した特徴による明確な特徴合わせを用いた同セットの顔に対する感情識別性能とほぼ同じであった。
【０３８７】
そして、特徴選択を行うのにアダブーストを使用すると、アプリケーションの大幅な高速化が図れる。また、アダブーストにより選択した特徴を使用して学習したＳＶＭは、アダブーストよりも高い分類性能を示した。
【図面の簡単な説明】
【０３８８】
【図１】本発明の実施の形態に係る顔表情認識システムを示すブロック図である。
【図２】集団学習によって得られる学習機械を模式的に示すブロック図である。
【図３】本発明の実施の形態に係る顔表情認識システムの顔検出装置において使用される矩形特徴と示す模式図である。
【図４】上記矩形特徴を使用して顔画像を検出する方法を説明する図である。
【図５】（ａ）は積分画像（インテグラル画像）を示す模式図、（ｂ）は、積分画像を使用して矩形領域の輝度値の総和を求める方法を説明する図である。
【図６】横軸に弱仮説の数ｔをとり、縦軸に弱仮説の出力に重みを乗算して加算した加算値をとって、入力される画像が顔であるか否かに応じた加算値の変化及び打ち切り閾値を示すグラフ図である。
【図７】本発明の実施の形態に係る顔表情認識システムの顔検出装置における学習機１５を示す機能ブロック図である。
【図８】本発明の実施の形態に係る顔表情認識システムの顔検出装置における判別器を学習する方法を示すフローチャートである。
【図９】本発明の実施の形態に係る顔表情認識システムの顔検出装置における弱仮説の生成方法を示すフローチャートである。
【図１０】本発明の実施の形態に係る顔表情認識システムの顔検出装置の学習工程において、生成される生成フィルタの一例を示す模式図である。
【図１１】本発明の実施の形態に係る顔表情認識システムの顔検出装置における顔検出方法を示すフローチャートである。
【図１２】本発明の実施の形態に係る顔表情認識システムの表情認識装置２０を示す機能ブロック図である。
【図１３】本発明の実施の形態に係る顔表情認識システムの表情認識装置における第１の学習方法を示すフローチャートである。
【図１４】本発明の実施の形態に係る顔表情認識システムの表情認識装置における第２の学習方法を示すフローチャートである。
【図１５】横軸は、ｊ番目のガボア・フィルタの出力を示し、縦軸は、ｊ番目のガボア・フィルタの出力におけるポジティブデータｐ又はネガティブデータｎの個数を示すグラフ図である。
【図１６】本発明の実施の形態に係る顔表情認識システムの表情認識装置における第３の学習方法を示すフローチャートである。
【図１７】（ａ）は、異なる周波数成分のガボア・フィルタの例を示す図、（ｂ）は、ガボア・フィルタの８方向を示す図である。
【図１８】ソフトマージンＳＶＭの識別面を示す図である。
【図１９】本発明の実施の形態におけるロボット装置の概観を示す斜視図である。
【図２０】同ロボット装置が具備する関節自由度構成を模式的に示す図である。
【図２１】同ロボット装置の制御システム構成を示す模式図である。
【図２２】（ａ）は、本発明の実施例において、顔検出装置が選択した最初のフィルタを示す図、（ｂ）は、（ａ）に示すフィルタにより得られる全サンプル、すなわち平均顔における弱学習器の実値出力（あるいはチューニング曲線）を示す図である。
【図２３】（ａ）は、本発明の実施例において、顔検出装置が選択した２番目のフィルタを示す図、（ｂ）は、（ａ）に示すフィルタにより得られる全サンプル、すなわち平均顔における弱学習器の実値出力（あるいはチューニング曲線）を示す図である。
【図２４】（ａ）は、本発明の実施例において、アダブースト訓練中の１つの感情分類器における出力を示すグラフ図、（ｂ）は、本発明の実施例において、アダブーストにより選択された特徴数の関数としての汎化誤差を示すグラフ図である。
【図２５】本発明の実施例において、各感情について選択された最初の５つのガボアフィルタ（ガボア特徴）を示す図である。
【図２６】使用した５つ周波数について、アダブーストにより選択された特徴の波長分布を示すグラフ図である。
【図２７】（ａ）及び（ｂ）は、本発明の実施例において、それぞれ「怒り」及び「嫌悪」の感情を識別す表情識別器の出力結果を示すグラス図である。
【図２８】本発明の実施例における顔表情認識システムを利用した感情ミラー装置の出力例を示す図である。
【図２９】非特許文献１に記載の矩形特徴を示す模式図である。
【図３０】非特許文献１に記載の図であって、矩形特徴を使用した顔画像の判定方法を説明する図である。
【図３１】非特許文献１に記載のカスケード接続された判別器の一部を示す模式図である。
【符号の説明】
【０３８９】
１  顔表情認識システム、１０  顔検出装置、１１  画像出力部、１２  積分画像生成部、１３  走査部、１４  判別器、１４ａ  入力部、１４ｂ  弱仮説、１４ｃ  結合機、１４ｄ  出力部、１５  学習機、２０  表情認識装置、２１  顔特徴抽出部、２２  表情認識部、３１  データベース、３２  学習モデル、３３  選択部、３４  新弱仮説生成部、３５  弱仮説選択部、３６  信頼度算出部、３７  打ち切り閾値算出部、３８  データ重み更新部、４１Ｘ  表情識別器、４２  表情決定部
【図１】
2005044330.tif 000051
【図２】
2005044330.tif 000052
【図３】
2005044330.tif 000053
【図４】
2005044330.tif 000054
【図５】
2005044330.tif 000055
【図６】
2005044330.tif 000056
【図７】
2005044330.tif 000057
【図８】
2005044330.tif 000058
【図９】
2005044330.tif 000059
【図１０】
2005044330.tif 000060
【図１１】
2005044330.tif 000061
【図１２】
2005044330.tif 000062
【図１３】
2005044330.tif 000063
【図１４】
2005044330.tif 000064
【図１５】
2005044330.tif 000065
【図１６】
2005044330.tif 000066
【図１７】
2005044330.tif 000067
【図１８】
2005044330.tif 000068
【図１９】
2005044330.tif 000069
【図２０】
2005044330.tif 000070
【図２１】
2005044330.tif 000071
【図２２】
2005044330.tif 000072
【図２３】
2005044330.tif 000073
【図２４】
2005044330.tif 000074
【図２５】
2005044330.tif 000075
【図２６】
2005044330.tif 000076
【図２７】
2005044330.tif 000077
【図２８】
2005044330.tif 000078
【図２９】
2005044330.tif 000079
【図３０】
2005044330.tif 000080
【図３１】
2005044330.tif 000081