【文献】
奥田誠 外3名,テレビ視聴者の興味状態推定に向けた顔表情変化度測定,FIT2011 第10回情報科学技術フォーラム 講演論文集 第3分冊,一般社団法人情報処理学会,2011年 8月22日,第569−570頁
(58)【調査した分野】(Int.Cl.,DB名)
前記顔表情評価部は、前記顔表情強度値に基づいて、前記解析領域に対応する顔表情種別がニュートラル顔表情であるか否かを判定し、前記顔表情種別が前記ニュートラル顔表情でないと判定した場合、前記第2の境界面に対する前記第2の顔画像特徴ベクトルの位置関係に基づいて前記顔表情種別情報を生成する
ことを特徴とする請求項1記載の顔表情解析装置。
前記顔表情強度評価部は、前記顔表情評価部が生成した前記顔表情種別情報に対応する境界面から前記第1の顔画像特徴ベクトルまでの距離である前記顔表情強度値を計算する
ことを特徴とする請求項1または2記載の顔表情解析装置。
前記第1の境界面は、顔表情の種類別に、顔表情の度合がそれぞれ異なる顔表情教師データの集合に前記顔表情の種類を示すラベルを対応付けて構成した顔表情教師データ群から取得した複数の顔表情教師データそれぞれの解析領域について画像特徴量を計算し、前記複数の顔表情教師データ分の画像特徴量をクラスタ分析し、前記顔表情の種類ごとの集合における前記顔表情の度合が最小および最大である顔表情教師データそれぞれに対応する画像特徴量を、前記クラスタ分析の結果であるクラスタに分類することによって得られる顔画像特徴ベクトルを適用したサポートベクトルマシンにより計算される
ことを特徴とする請求項1から3いずれか一項記載の顔表情解析装置。
前記第2の境界面は、前記複数の顔表情教師データの全てまたは一部の顔表情教師データそれぞれに対応する画像特徴量を、前記クラスタに分類することによって得られる顔画像特徴ベクトルを適用したサポートベクトルマシンにより計算される
ことを特徴とする請求項4記載の顔表情解析装置。
前記顔表情評価部は、複数フレーム分の画像データを含む所定区間ごとに、顔表情種別ごとの顔表情強度値の総和を計算し、総和値が最大となる顔表情種別を示す顔表情種別情報を生成する
ことを特徴とする請求項1から6いずれか一項記載の顔表情解析装置。
【発明を実施するための形態】
【0010】
以下、本発明を実施するための形態について、図面を参照して詳細に説明する。
[第1の実施の形態]
図1は、本発明の第1実施形態である顔表情解析装置の機能構成を示すブロック図である。同図に示すように、顔表情解析装置1は、画像データ取得部10と、顔領域抽出部20と、画像特徴量分析部(画像特徴量計算部)30と、顔表情強度評価部40と、顔表情評価部50と、モード切替部60とを備える。
【0011】
顔表情解析装置1は、顔表情解析処理を実行することにより、取り込んだ画像データに含まれる人物顔の顔表情強度値を計算してこの顔表情強度値を出力するとともに、その人物顔の顔表情を分類して顔表情種別情報を生成し、この顔表情種別情報を出力する。顔表情強度値は、ニュートラル顔表情からピーク顔表情までの顔表情の度合を強度として示す数値である。ニュートラル顔表情は、人物の中立的な顔表情であり、例えば、人物の無表情な顔つきから表情の種類を判別困難な程度の顔つきまでを示す表情である。つまり、ニュートラル顔表情には、顔表情の幅がある。ピーク顔表情は、人物の感情を豊かに表現した顔表情であり、例えば、怒り、嫌悪、恐れ、喜び、悲しみ、驚き等の感情を強く表現した顔つきを示す。
【0012】
顔表情解析装置1は、顔表情解析処理の前処理として機械学習処理を実行する。顔表情解析装置1は、機械学習処理を実行することにより、外部の顔表情教師データベースから複数の顔表情教師データを取り込み、これら複数の顔表情教師データを用いて、顔表情強度値を計算するための分類器、および顔表情を分類するための分類器それぞれの機械学習を行う。顔表情教師データベースは、顔表情の種類別に、顔表情の度合がそれぞれ異なる顔表情教師データの集合に、当該顔表情の種類を示すラベルを対応付けて構成した顔表情教師データ群を格納したデータベースである。分類器は、例えば、サポートベクトルマシン(Support Vector Machine;SVM)により実現される。このサポートベクトルマシンについては、例えば、C. Cortes, and V. Vapnik: "Support-Vector Networks", Machine Learning, Vol. 20, No. 3, pp. 273-297, 1995に開示されている。
【0013】
図1において、モード切替部60は、例えば、顔表情解析装置1がプログラムを実行することにより実現される切替制御により、顔表情解析装置1を機械学習モードから顔表情解析モード、または顔表情解析モードから機械学習モードに切り替える。または、モード切替部60は、いずれのモードにも設定されていない状態(初期状態)から、機械学習モードまたは顔表情解析モードに設定する。機械学習モードは、顔表情解析装置1が機械学習処理を実行する動作モードである。また、顔表情解析モードは、顔表情解析装置1が顔解析処理を実行する動作モードである。
なお、モード切替部60は、例えば、操作者による顔表情解析装置1の切替操作にしたがって、機械学習モードと顔表情解析モードとを切り替えてもよい。
【0014】
画像データ取得部10は、図示しない外部装置が供給する画像データを取り込む。具体的に、顔表情解析装置1が機械学習モードに設定されているとき、画像データ取得部10は、顔表情教師データベースから複数の顔表情教師データを取り込む。また、顔表情解析装置1が顔表情解析モードに設定されているとき、画像データ取得部10は、例えば、撮影装置または記録装置が供給する評価画像データを取り込む。
【0015】
画像データ(顔表情教師データ、評価画像データ)は、静止画像データまたは動画像データである。画像データが静止画像データである場合、画像データ取得部10は、取り込んだ静止画像データを顔領域抽出部20に供給する。また、画像データが動画像データである場合、画像データ取得部10は、取り込んだ動画像データからキーフレームを検出し、このキーフレームを画像データとして、順次またはあらかじめ決定された所定フレーム数おきに顔領域抽出部20に供給する。
【0016】
顔領域抽出部20は、画像データ取得部10が供給する画像データを取り込み、この画像データから人物顔の解析領域を抽出する。
顔領域抽出部20は、その機能構成として、顔領域検出部21と、解析領域決定部22とを備える。
【0017】
顔領域検出部21は、取り込んだ画像データに対して顔検出処理を実行し、その画像データから人物の顔領域を検出する。この顔領域のデータ(顔領域データ)は、人物顔を含む、例えば矩形の画像データである。顔領域検出部21が実行する顔検出処理のアルゴリズムとして、公知の顔検出アルゴリズム、例えばAdaBoostが適用できる。
なお、公知の顔検出アルゴリズムについては、例えば、PAUL VIOLA, MICHAEL J. JONES, "Robust Real-Time Face Detection", International Journal of Computer Vision, 2004, Vol. 57, No. 2, pp. 137-154に、詳細が開示されている。
【0018】
解析領域決定部22は、顔領域検出部21が検出した顔領域データを所定画素サイズに正規化する。そして、解析領域決定部22は、正規化した顔領域データ(正規化顔領域データ)から解析領域を抽出する。具体的に、解析領域決定部22は、顔領域データを所定画素サイズ(例えば、水平方向128画素×垂直方向128画素)の正規化顔領域データに正規化する。すなわち、解析領域決定部22は、顔領域データを上記所定画素サイズの矩形画像に拡大させたり、縮小させたりする画像処理を実行して正規化顔領域データを生成する。つまり、画像データに含まれる人物顔の大きさは画像データによって様々であるため、解析領域決定部22は、顔領域を拡大または縮小させて、全ての画像データにおける顔領域の解像度を同程度にする。これにより、解像度が異なる顔領域データの情報量を略均等(均等を含む)にすることができる。
【0019】
解析領域決定部22は、正規化顔領域データから、画像特徴量を計算するための解析領域を決定し、この解析領域のデータ(解析領域データ)を抽出する。解析領域は、例えば、正規化顔領域の中心位置を中心に設けられる、この正規化顔領域に含まれる円(楕円または真円)領域である。解析領域決定部22は、例えば、正規化顔領域の水平方向であって且つその中心を通る直線で解析領域を二分し、その上部の領域を上部解析領域(第1の解析部分領域)、下部の領域を下部解析領域(第2の解析部分領域)として決定する。言い換えると、解析領域決定部22は、正規化顔領域に内接する円形または楕円形よりも小さな円形または楕円形の解析領域を上下(縦)方向に二分して上部解析領域および下部解析領域を決定する。つまり、解析領域決定部22は、解析領域を二つの解析部分領域に分割する。
【0020】
画像特徴量分析部30は、顔領域抽出部20が抽出した解析領域データの局所特徴量である画像特徴量を計算する。例えば、画像特徴量分析部30は、解析領域決定部22が決定した解析領域における上部解析領域および下部解析領域それぞれのデータについて、SURF(Speeded Up Robust Features)特徴量を計算する。または、例えば、画像特徴量分析部30は、上部解析領域および下部解析領域それぞれのデータについて、SIFT(Scale Invariant Feature Transformation)特徴量を計算する。そして、画像特徴量分析部30は、計算した二つの解析部分領域それぞれの画像特徴量を、顔表情強度評価部40および顔表情評価部50に供給する。
【0021】
顔表情解析装置1が機械学習モードに設定されているとき、顔表情強度評価部40は、複数の顔表情教師データから得られた各解析領域の画像特徴量を用いて、顔表情強度値を計算するための分類器の機械学習を行う。また、顔表情解析装置1が顔表情解析モードに設定されているとき、顔表情強度評価部40は、評価画像データから得られた解析領域の画像特徴量を用いて、機械学習された分類器により顔表情強度値を計算する。
顔表情強度評価部40は、その機能構成として、機械学習部41と、顔表情強度値計算部42とを備える。
【0022】
顔表情解析装置1が機械学習モードに設定されているとき、機械学習部41は、画像特徴量分析部30が供給する、複数の顔表情教師データから得られた各解析領域の画像特徴量を取り込む。そして、機械学習部41は、複数の顔表情教師データ分の画像特徴量についてクラスタ分析(クラスタリング)を実行する。クラスタ分析として、例えば、K平均法が適用できる。具体的に、機械学習部41は、上部解析領域について画像特徴量のクラスタ分析を実行し、例えば350個のクラスタを生成する。また、機械学習部41は、下部解析領域について画像特徴量のクラスタ分析を実行し、例えば250個のクラスタを生成する。
【0023】
そして、機械学習部41は、顔表情の種類ごとの顔表情教師データの集合における顔表情の度合が最小および最大である顔表情教師データそれぞれに対応する画像特徴量を、クラスタ分析の結果であるクラスタに分類してヒストグラムを生成(クラスタ分類)することにより、顔画像特徴ベクトルを生成する。度合が最小である顔表情はニュートラル顔表情であり、度合が最大である顔表情はピーク顔表情である。
【0024】
具体的に、機械学習部41は、顔表情の種類ごとの顔表情教師データの集合における顔表情の度合が最小および最大である顔表情教師データの上部解析領域に対応する画像特徴量をクラスタに分類する。そして、機械学習部41は、クラスタを階級とし、各クラスタの要素数を頻度とするヒストグラム(第1のヒストグラム)を生成する。また、機械学習部41は、顔表情の種類ごとの顔表情教師データの集合における顔表情の度合が最小および最大である顔表情教師データの下部解析領域に対応する画像特徴量をクラスタに分類する。そして、機械学習部41は、クラスタを階級とし、各クラスタの要素数を頻度とするヒストグラム(第2のヒストグラム)を生成する。そして、機械学習部41は、分類結果である第1のヒストグラムと第2のヒストグラムとを連結して解析領域全体に対するヒストグラム(全体ヒストグラム)を生成する。例えば、機械学習部41は、第1のヒストグラムに第2のヒストグラムを連結して全体ヒストグラムを生成する。または、機械学習部41は、第2のヒストグラムに第1のヒストグラムを連結して全体ヒストグラムを生成する。そして、機械学習部41は、全体ヒストグラムを正規化することにより顔画像特徴ベクトルを生成する。例えば、機械学習部41は、全体ヒストグラムにおける各階級の頻度を、全階級の頻度の合計値で除算して顔画像特徴ベクトルを生成する。
【0025】
機械学習部41は、例えば、サポートベクトルマシンによる機械学習を実行し、顔表情の度合が最小である顔画像と、顔表情の度合が最大である顔画像とを分類する境界面(第1の境界面)を計算し、この境界面のデータを顔表情強度値計算部42に供給する。境界面は、超平面、分離超平面、分離平面等ともいう。顔表情強度値計算部42は、機械学習部41が供給する境界面のデータを取り込み、この境界面のデータを記憶する。
【0026】
機械学習部41が様々な顔表情の顔表情教師データから得られた画像特徴量を用いてクラスタ分析を実行することにより、顔表情の強度の変化に応じた顔画像特徴ベクトルを得ることができ、顔表情強度値の精度を高めることができる。
【0027】
顔表情解析装置1が顔表情解析モードに設定されているとき、顔表情強度値計算部42は、画像特徴量分析部30が供給する、評価画像データから得られた解析領域の画像特徴量を取り込む。そして、顔表情強度値計算部42は、取り込んだ画像特徴量を機械学習部41が実行したクラスタ分析の結果であるクラスタに分類(第1のクラスタ分類処理)して、顔画像特徴ベクトル(第1の顔画像特徴ベクトル)を生成する。そして、顔表情強度値計算部42は、記憶した境界面から顔画像特徴ベクトルまでの距離を計算し、この距離の値を顔表情強度値として出力する。この距離とは、特徴ベクトル空間における、顔画像特徴ベクトルから境界面までのユークリッド距離である。顔表情強度値は、例えば、0(ゼロ)を中心として、負方向に大きくなるほどニュートラル顔表情に近づく一方、正方向に大きくなるほどピーク顔表情に近づく数値である。また、顔表情強度値計算部42は、顔表情強度値を顔表情評価部50に供給する。
【0028】
顔表情解析装置1が機械学習モードに設定されているとき、顔表情評価部50は、複数の顔表情教師データから得られた各解析領域の画像特徴量を用いて、顔表情を分類するための分類器の機械学習を行う。また、顔表情解析装置1が顔表情解析モードに設定されているとき、顔表情評価部50は、評価画像データから得られた解析領域の画像特徴量と顔表情強度評価部40が供給した顔表情強度値とに基づいて、機械学習された分類器により顔表情を分類して顔表情種別情報を生成する。
顔表情評価部50は、その機能構成として、機械学習部51と、顔表情分類部52とを備える。
【0029】
顔表情解析装置1が機械学習モードに設定されているとき、機械学習部51は、画像特徴量分析部30が供給する、複数の顔表情教師データの全てまたは一部の顔表情教師データから得られた各解析領域の画像特徴量を取り込む。一部の顔表情教師データは、例えば、顔表情の種類ごとの顔表情教師データの集合のうち、顔表情の度合が大きい方の所定割合分の顔表情教師データである。そして、機械学習部51は、これらの画像特徴量を、機械学習部41が実行したクラスタ分析の結果であるクラスタに分類してヒストグラムを生成することにより、顔画像特徴ベクトルを生成する。
【0030】
具体的に、機械学習部51は、複数の顔表情教師データの全てまたは一部の顔表情教師データの上部解析領域に対応する画像特徴量をクラスタに分類する。そして、機械学習部51は、クラスタを階級とし、各クラスタの要素数を頻度とするヒストグラム(第3のヒストグラム)を生成する。また、機械学習部51は、複数の顔表情教師データの全てまたは一部の顔表情教師データの下部解析領域に対応する画像特徴量をクラスタに分類する。そして、機械学習部51は、クラスタを階級とし、各クラスタの要素数を頻度とするヒストグラム(第4のヒストグラム)を生成する。そして、機械学習部51は、分類結果である第3のヒストグラムと第4のヒストグラムとを連結して解析領域全体に対するヒストグラム(全体ヒストグラム)を生成する。例えば、機械学習部51は、第3のヒストグラムに第4のヒストグラムを連結して全体ヒストグラムを生成する。または、機械学習部51は、第4のヒストグラムに第3のヒストグラムを連結して全体ヒストグラムを生成する。そして、機械学習部51は、全体ヒストグラムを正規化することにより顔画像特徴ベクトルを生成する。例えば、機械学習部51は、全体ヒストグラムにおける各階級の頻度を、全階級の頻度の合計値で除算して顔画像特徴ベクトルを生成する。
【0031】
機械学習部51は、例えば、サポートベクトルマシンによる機械学習を実行し、顔表情の種類別に顔画像を分類する境界面(第2の境界面)を計算し、この境界面のデータを顔表情分類部52に供給する。サポートベクトルマシンは2クラス分類器であるため、機械学習部51は、顔表情の種類数に応じて2クラス分類を繰り返す。顔表情分類部52は、機械学習部51が供給する境界面のデータを取り込み、この境界面のデータを記憶する。
【0032】
顔表情解析装置1が顔表情解析モードに設定されているとき、顔表情分類部52は、画像特徴量分析部30が供給する、評価画像データから得られた解析領域の画像特徴量を取り込む。また、顔表情分類部52は、顔表情強度値計算部42が供給する顔表情強度値を取り込む。そして、顔表情分類部52は、取り込んだ画像特徴量を機械学習部41が実行したクラスタ分析の結果であるクラスタに分類(第2のクラスタ分類処理)して、顔画像特徴ベクトル(第2の顔画像特徴ベクトル)を生成する。
【0033】
そして、顔表情分類部52は、記憶した境界面に対する顔画像特徴ベクトルの位置関係と、顔表情強度値計算部42から取り込んだ顔表情強度値とに基づいて、解析領域に対応する顔表情種別を示す顔表情種別情報を生成し、この顔表情種別情報を出力する。
具体的に、顔表情分類部52は、顔表情強度値とあらかじめ保有する閾値とを比較する。そして、顔表情分類部52は、顔表情強度値が閾値以下である場合、解析領域における顔表情がニュートラル顔表情であると判定し、顔表情強度値が閾値を超える場合、解析領域における顔表情が非ニュートラル顔表情であると判定する。そして、顔表情分類部52は、顔表情種別がニュートラル顔表情であると判定した場合、ニュートラル顔表情を示す情報を含めた顔表情種別情報を生成する。一方、顔表情分類部52は、顔表情種別がニュートラル顔表情でないと判定した場合、各境界面に対する顔画像特徴ベクトルの位置を判定して分類を絞り込むことによって顔表情種別情報を生成する。
【0034】
なお、顔表情分類部52は、顔表情の種類別に閾値を保有してもよい。顔表情の種類は、例えば、怒り、嫌悪、恐れ、喜び、悲しみ、驚きである。
【0035】
図2は、顔表情解析装置1が機械学習モードに設定されて機械学習処理を実行する際に用いる、顔表情教師データベースのデータ構造の一部分を概念的に示す図である。同図に示すように、顔表情教師データベースは、顔表情の種類別に、ニュートラル顔表情からピーク顔表情まで顔表情の度合がそれぞれ異なる顔表情教師データの集合に、当該顔表情の種類を示すラベルを対応付けて構成した顔表情教師データ群を格納している。顔表情の種類は、例えば、「怒り」、「嫌悪」、「恐れ」、「喜び」、「悲しみ」、および「驚き」の6種類である。
【0036】
顔表情教師データベースとして、例えば、Patrick Lucey, Jeffrey F. Cohn, Takeo Kanade, Jason Saragih, Zara Ambadar, "The Extended Cohn-Kanade Dataset (CK+): A complete dataset for action unit and emotion-specified expression", the Third IEEE Workshop on CVPR for Human Communicative Behavior Analysis, pp. 94-101, 2010に記載された、Cohn-Kanade Facial Expression Databaseを適用できる。
【0037】
図3は、画像データと、この画像データから抽出された顔領域データと、この顔領域データを正規化して得られた正規化顔領域データとを模式的に示す図である。つまり、同図は、画像データ取得部10が取得する画像データ2と、顔領域検出部21が検出する顔領域データ2aと、解析領域決定部22が正規化(ここでは、縮小)する正規化顔領域データ2bとを時系列に示している。同図に示すように、画像データ2は、人物の首より上側を含む画像である。顔領域データ2aは、画像データ2から抽出された人物顔を含む画像である。正規化顔領域データ2bは、例えば、人物の顔表情を決定付ける顔の主要なパーツ(両眉毛、両目、鼻、口)を含むように、水平画素数L
X×垂直画素数L
Yサイズに正規化された画像である。水平画素数L
Xと垂直画素数L
Yとの長さの関係は、例えば、水平画素数L
X=垂直画素数L
Yである。
【0038】
図4は、解析領域決定部22が正規化顔領域データ2bから決定した解析領域を、視覚的に分かり易く線描画した図である。同図に示すように、解析領域決定部22は、水平画素数L
X×垂直画素数L
Yの正規化顔領域データ2bの中心位置を中心として、正規化顔領域データ2bに含まれる円形の解析領域3を決定する。解析領域3の水平方向の径は、例えば水平画素数L
Xの0.8倍の長さであり、垂直方向の径は、例えば垂直画素数L
Yの0.8倍の長さである。このように、解析領域3の径を正規化顔領域データ2bの内接円の径よりも小さくすることにより、人物顔の認識や顔表情認識にとって重要度が低い髪の毛、耳、イヤリング等の情報を除外することができる。解析領域決定部22は、解析領域3の水平方向であって且つその中心を通る直線で、解析領域3を上部解析領域3Uと下部解析領域3Dとに区分する。このように区分することにより、上部解析領域3Uは両眉毛および両目を含み、下部解析領域3Dは鼻頭および口を含むこととなる。
【0039】
図5は、機械学習部41が画像特徴量をクラスタに分類して生成するヒストグラムを模式的に示した図である。同図は、機械学習部41が上部解析領域における画像特徴量のヒストグラムの後に、下部解析領域における画像特徴量のヒストグラムを連結して解析領域全体のヒストグラムを得る例である。このヒストグラムは顔画像の特徴ベクトルを表す。このように、機械学習部41が解析部分領域ごとにクラスタ分類することにより、画像特徴量に、位置情報(上部解析領域または下部解析領域)が対応付けられる。
なお、機械学習部41は、下部解析領域における画像特徴量のヒストグラムの後に、上部解析領域における画像特徴量のヒストグラムを連結して解析領域全体のヒストグラムを得てもよい。
【0040】
次に、顔表情解析装置1に適用されるサポートベクトルマシンについて説明する。
図6は、顔表情教師データの顔画像特徴ベクトルが2クラスに分類された様子を示すサポートベクトルマシンの概念図である。便宜上、同図は、顔画像特徴ベクトルの次元数を“2”とした場合を示している。2クラスとは、「ニュートラル顔表情」のクラスおよび「ピーク顔表情」のクラスである。また、同図に示した8個の顔画像(顔表情教師データの顔画像)および1個の顔画像(顔画像特徴ベクトルXに対応する評価画像データの顔画像)のそれぞれは、顔画像特徴ベクトルに対応する顔の表情を視覚化したものであり、各顔画像が配置された位置は、特徴ベクトル空間(ここでは、特徴ベクトル平面)における顔画像特徴ベクトルの位置を示すものである。
【0041】
本実施形態では、顔表情解析装置1は、機械学習モードに設定された場合、外部の顔表情教師データベースから複数の顔表情教師データを取り込み、これら複数の顔表情教師データを用いて、サポートベクトルマシンにより境界面Hを計算する。
図6では、顔画像特徴ベクトルを2次元としているため、境界面Hは線で表されるが、実際は、顔画像特徴ベクトルの“次元数−1”の次元数による超平面となる。例えば、顔画像特徴ベクトルが600次元のクラスタである場合、境界面Hは、599次元の超平面となる。
同図において、8個の顔表情教師データの顔画像それぞれの顔画像特徴ベクトルは、境界面Hによってニュートラル顔表情のクラスAと、ピーク顔表情のクラスBとに分類される。
【0042】
顔表情解析装置1が顔表情解析モードに設定された場合、機械学習後のサポートベクトルマシンは、境界面Hから評価画像データの顔画像特徴ベクトルXまでの距離(ユークリッド距離)Dを計算する。本実施形態では、距離Dを、例えば、境界面H上の値が0(ゼロ)、ピーク顔表情のクラスA側が正値、ニュートラル顔表情のクラスB側が負値となる。この距離Dが顔表情強度値である。
【0043】
次に、顔表情解析装置1の動作について、機械学習処理と顔表情解析処理とに分けて説明する。
【0044】
図7は、顔表情解析装置1が実行する機械学習処理の手順を示すフローチャートである。
ステップS1において、モード切替部60は、機械学習モードに設定する。
次に、ステップS2において、画像データ取得部10は、外部の顔表情教師データベースに格納された複数の顔表情教師データから一つの顔表情教師データを取り込み、この顔表情教師データを顔領域抽出部20に供給する。
【0045】
次に、ステップS3において、顔領域抽出部20は、画像データ取得部10が供給する画像データを取り込み、この画像データから人物顔の解析領域を抽出する。
具体的に、顔領域検出部21は、取り込んだ画像データに対して顔検出処理を実行し、その画像データから人物の顔領域を検出する。
次に、解析領域決定部22は、顔領域検出部21が検出した顔領域データを所定画素サイズ(例えば、水平方向128画素×垂直方向128画素)に正規化する。
次に、解析領域決定部22は、正規化顔領域データから解析領域を抽出し、この解析領域から二つの解析部分領域(上部解析領域および下部解析領域)を決定する。
【0046】
次に、ステップS4において、画像特徴量分析部30は、顔領域抽出部20が抽出した解析領域データの画像特徴量を計算する。例えば、画像特徴量分析部30は、解析領域決定部22が決定した解析領域における上部解析領域および下部解析領域それぞれのデータについて、画像特徴量(例えば、SURF特徴量またはSIFT特徴量)を計算する。そして、画像特徴量分析部30は、計算した上部解析領域および下部解析領域それぞれの画像特徴量を、顔表情強度評価部40および顔表情評価部50に供給する。
【0047】
次に、ステップS5において、顔表情教師データベースから取り込むべき全ての顔表情教師データの取り込みが完了した場合(S5:YES)、ステップS6の処理に移し、顔表情教師データベースから取り込むべき全ての顔表情教師データの取り込みが完了していない場合(S5:NO)、ステップS2の処理に戻す。
【0048】
ステップS6において、顔表情強度評価部40は、複数の顔表情教師データから得られた各解析領域の画像特徴量を用いて、顔表情強度値を計算するための分類器の機械学習を行う。
具体的に、機械学習部41は、複数の顔表情教師データ分の画像特徴量についてクラスタ分析(例えば、K平均法のクラスタリング)を実行する。次に、機械学習部41は、顔表情の種類ごとの顔表情教師データの集合における顔表情の度合が最小および最大である顔表情教師データそれぞれに対応する画像特徴量を、クラスタに分類してヒストグラムを生成(クラスタ分類)することにより、顔画像特徴ベクトルを生成する。
【0049】
次に、ステップS7において、機械学習部41は、例えば、サポートベクトルマシンによる機械学習を実行し、顔表情の度合が最小である顔画像と、顔表情の度合が最大である顔画像とを分類する第1の境界面を計算し、この第1の境界面のデータを顔表情強度値計算部42に供給する。そして、顔表情強度値計算部42は、機械学習部41が供給する第1の境界面のデータを取り込み、この第1の境界面のデータを記憶する。
【0050】
次に、ステップS8において、顔表情評価部50は、複数の顔表情教師データから得られた各解析領域の画像特徴量を用いて、顔表情を分類するための分類器の機械学習を行う。
具体的に、機械学習部51は、複数の顔表情教師データの全てまたは一部の顔表情教師データから得られた各解析領域の画像特徴量を、機械学習部41が実行したクラスタ分析の結果であるクラスタに分類してヒストグラムを生成(クラスタ分類)することにより、顔画像特徴ベクトルを生成する。
【0051】
次に、ステップS9において、機械学習部51は、例えば、サポートベクトルマシンによる機械学習を実行し、顔表情の種類別に顔画像を分類する第2の境界面を計算し、この第2の境界面のデータを顔表情分類部52に供給する。顔表情分類部52は、機械学習部51が供給する第2の境界面のデータを取り込み、この第2の境界面のデータを記憶する。
【0052】
図8は、顔表情解析装置1が実行する顔表情解析処理の手順を示すフローチャートである。
ステップS21において、モード切替部60は、顔表情解析モードに設定する。
次に、ステップS22において、画像データ取得部10は、例えば、撮影装置または記録装置が供給する評価画像データを取り込み、この評価画像データを顔領域抽出部20に供給する。
【0053】
次に、ステップS23において、顔領域抽出部20は、画像データ取得部10が供給する評価画像データを取り込み、この評価画像データから人物顔の解析領域を抽出する。
具体的に、顔領域検出部21は、取り込んだ評価画像データに対して顔検出処理を実行し、その評価画像データから人物の顔領域を検出する。
次に、解析領域決定部22は、顔領域検出部21が検出した顔領域データを所定画素サイズ(例えば、水平方向128画素×垂直方向128画素)に正規化する。
次に、解析領域決定部22は、正規化顔領域データから解析領域を抽出し、この解析領域から二つの解析部分領域(上部解析領域および下部解析領域)を決定する。
【0054】
次に、ステップS24において、画像特徴量分析部30は、前述したステップS4の処理と同様に、顔領域抽出部20が抽出した解析領域データの画像特徴量を計算する。つまり、例えば、画像特徴量分析部30は、解析領域決定部22が決定した解析領域における上部解析領域および下部解析領域それぞれのデータについて、画像特徴量(例えば、SURF特徴量またはSIFT特徴量)を計算する。そして、画像特徴量分析部30は、計算した上部解析領域および下部解析領域それぞれの画像特徴量を、顔表情強度評価部40および顔表情評価部50に供給する。
【0055】
次に、ステップS25において、顔表情強度評価部40は、評価画像データから得られた解析領域の画像特徴量を用いて、機械学習された分類器により顔表情強度値を計算する。
具体的に、顔表情強度値計算部42は、機械学習部41が実行したクラスタ分析の結果であるクラスタに画像特徴量を分類(第1のクラスタ分類処理)して、顔画像特徴ベクトル(第1の顔画像特徴ベクトル)を生成する。
【0056】
次に、ステップS26において、顔表情強度値計算部42は、記憶した境界面から顔画像特徴ベクトルまでの距離を計算し、この距離の値を顔表情強度値として出力するとともに、顔表情評価部50に供給する。
【0057】
次に、ステップS27において、顔表情評価部50は、評価画像データから得られた解析領域の画像特徴量と顔表情強度評価部40が供給した顔表情強度値とに基づいて、機械学習された分類器により顔表情を分類して顔表情種別情報を生成する。
具体的に、顔表情分類部52は、機械学習部41が実行したクラスタ分析の結果であるクラスタに画像特徴量を分類(第2のクラスタ分類処理)して、顔画像特徴ベクトル(第2の顔画像特徴ベクトル)を生成する。
【0058】
次に、顔表情分類部52は、記憶した境界面に対する顔画像特徴ベクトルの位置関係と顔表情強度値計算部42から取り込んだ顔表情強度値とに基づいて、解析領域に対応する顔表情種別を示す顔表情種別情報を生成し、この顔表情種別情報を出力する。
具体的に、顔表情分類部52は、顔表情強度値とあらかじめ決定された閾値とを比較する。そして、顔表情分類部52は、顔表情強度値が閾値以下である場合、解析領域における顔表情がニュートラル顔表情であると判定し、顔表情強度値が閾値を超える場合、解析領域における顔表情が非ニュートラル顔表情であると判定する。次に、顔表情分類部52は、顔表情種別がニュートラル顔表情であると判定した場合、ニュートラル顔表情を示す情報を含めた顔表情種別情報を生成する。一方、顔表情分類部52は、顔表情種別がニュートラル顔表情でないと判定した場合、各境界面に対する顔画像特徴ベクトルの位置を判定して分類を絞り込むことによって顔表情種別情報を生成する。
【0059】
[第2の実施の形態]
図9は、本発明の第2実施形態である顔表情解析装置の機能構成を示すブロック図である。上述した第1実施形態における顔表情解析装置1と同一の構成については、同一の符号を付してその説明を省略する。同図に示すように、顔表情解析装置1aは、顔表情解析装置1から、顔表情強度評価部40および顔表情評価部50を、顔表情強度評価部40aおよび顔表情評価部50aに変更した構成を有する。
【0060】
顔表情解析装置1aが機械学習モードに設定されているとき、顔表情強度評価部40aは、複数の顔表情教師データから得られた各解析領域の画像特徴量を用いて、顔表情ごとに、顔表情強度値を計算するための分類器の機械学習を行う。また、顔表情解析装置1aが顔表情解析モードに設定されているとき、顔表情強度評価部40aは、評価画像データから得られた解析領域の画像特徴量を用い、顔表情評価部50aが供給する顔表情種別情報に応じた分類器により顔表情強度値を計算する。
顔表情強度評価部40aは、その機能構成として、機械学習部41aと、顔表情強度値計算部42aとを備える。
【0061】
顔表情解析装置1aが機械学習モードに設定されているとき、機械学習部41aは、画像特徴量分析部30が供給する、複数の顔表情教師データから得られた各解析領域の画像特徴量を取り込む。そして、機械学習部41aは、第1実施形態と同様に、複数の顔表情教師データ分の画像特徴量についてクラスタ分析(クラスタリング)を実行する。
【0062】
そして、機械学習部41aは、顔表情の種類別に、顔表情教師データの集合における顔表情の度合が最小および最大である顔表情教師データそれぞれに対応する画像特徴量を、クラスタ分析の結果であるクラスタに分類してヒストグラムを生成(クラスタ分類)することにより、顔画像特徴ベクトルを生成する。顔表情の種類が、例えば、怒り、嫌悪、恐れ、喜び、悲しみ、驚きである場合、機械学習部41aは、それら6種類の顔表情別に顔画像特徴ベクトルを生成する。
【0063】
具体的に、機械学習部41aは、顔表情の種類別に、顔表情教師データの集合における顔表情の度合が最小および最大である顔表情教師データの上部解析領域に対応する画像特徴量をクラスタに分類する。そして、機械学習部41aは、クラスタを階級とし、各クラスタの要素数を頻度とするヒストグラム(第5のヒストグラム)を生成する。また、機械学習部41aは、顔表情の種類別に、顔表情教師データの集合における顔表情の度合が最小および最大である顔表情教師データの下部解析領域に対応する画像特徴量をクラスタに分類する。そして、機械学習部41aは、クラスタを階級とし、各クラスタの要素数を頻度とするヒストグラム(第6のヒストグラム)を生成する。そして、機械学習部41aは、顔表情ごとに、分類結果である第5のヒストグラムと第6のヒストグラムとを連結して解析領域全体に対するヒストグラム(全体ヒストグラム)を生成する。例えば、機械学習部41aは、顔表情ごとに、第5のヒストグラムに第6のヒストグラムを連結して全体ヒストグラムを生成する。または、機械学習部41aは、顔表情ごとに、第6のヒストグラムに第5のヒストグラムを連結して全体ヒストグラムを生成する。そして、機械学習部41aは、各全体ヒストグラムを正規化することにより、顔表情ごとの顔画像特徴ベクトルを生成する。例えば、機械学習部41aは、各全体ヒストグラムにおける各階級の頻度を、全階級の頻度の合計値で除算して、顔表情ごとの顔画像特徴ベクトルを生成する。
【0064】
機械学習部41aは、例えば、サポートベクトルマシンによる機械学習を実行し、顔表情の度合が最小である顔画像と、顔表情の度合が最大である顔画像とを分類する境界面(第1の境界面)を顔表情ごとに計算し、これら境界面のデータを顔表情強度値計算部42aに供給する。顔表情強度値計算部42aは、機械学習部41aが供給する顔表情ごとの境界面のデータを取り込み、これら境界面のデータを記憶する。
【0065】
機械学習部41aが顔表情ごとに機械学習を行うことにより、顔表情強度値の精度をより高めることができる。
【0066】
顔表情解析装置1aが顔表情解析モードに設定されているとき、顔表情強度値計算部42aは、画像特徴量分析部30が供給する、評価画像データから得られた解析領域の画像特徴量を取り込む。また、顔表情強度値計算部42aは、顔表情評価部50aが供給する顔表情種別情報を取り込む。そして、顔表情強度値計算部42aは、取り込んだ画像特徴量を機械学習部41aが実行したクラスタ分析の結果であるクラスタに分類(第1のクラスタ分類処理)して、顔画像特徴ベクトル(第1の顔画像特徴ベクトル)を生成する。そして、顔表情強度値計算部42aは、顔表情種別情報に対応する境界面から顔画像特徴ベクトルまでの距離を計算し、この距離の値を顔表情強度値として出力する。また、顔表情強度値計算部42aは、顔表情強度値を顔表情評価部50aに供給する。
【0067】
顔表情解析装置1aが機械学習モードに設定されているとき、顔表情評価部50aは、第1実施形態における顔表情評価部50と同様に、顔表情を分類するための分類器の機械学習を行う。また、顔表情解析装置1aが顔表情解析モードに設定されているとき、顔表情評価部50aは、第1実施形態における顔表情評価部50と同様に、機械学習された分類器により顔表情を分類して顔表情種別情報を生成する。ただし、顔表情評価部50aは、生成した顔表情種別情報を顔表情強度評価部40aに供給する。
【0068】
顔表情評価部50aは、その機能構成として、機械学習部51と、顔表情分類部52aとを備える。機械学習部51は、第1実施形態における機械学習部51と同等であるため、ここではその説明を省略する。
顔表情解析装置1aが顔表情解析モードに設定されているとき、顔表情分類部52aは、第1実施形態における顔表情分類部52と同様に顔表情種別情報を生成する。そして、顔表情分類部52aは、生成した顔表情種別情報を出力するとともに顔表情強度評価部40aに供給する。
【0069】
[第3の実施の形態]
前述した第1実施形態である顔表情解析装置1を顔表情解析モードに設定し、動画像データを供給して顔表情解析処理を実行させた場合、顔表情解析装置1が生成する、一連のキーフレームそれぞれの顔表情種別情報に、周囲と異なる種類の顔表情種別情報が突発的に現出する場合がある。周囲と異なる種類の顔表情種別情報が突発的に現出する原因は、例えば、人物顔を撮影する際の照明による影やカメラに対する顔の向き等が顔表情に影響したり、顔表情強度値のばらつきが影響したりすることである。
本発明の第3実施形態である顔表情解析装置は、この突発的に現出する顔表情種別情報をノイズとみなして除去する。
【0070】
本実施形態である顔表情解析装置の構成は第1実施形態と同様であるため、
図1のブロック図を参照して以下説明する。
顔表情解析装置1の顔表情強度評価部40における顔表情強度値計算部42は、複数フレーム分の画像データを含む区間(時間、フレーム数)ごとに、顔表情強度値の平均を計算し、平均値を当該区間における代表顔表情強度値とする。
【0071】
また、顔表情解析装置1の顔表情評価部50における顔表情分類部52は、上記の区間ごとに、顔表情の種類別に顔表情強度値の総和を計算し、総和値(重要度)が最大となる顔表情の種類(代表顔種別)を示す顔表情種別情報を生成する。
【0072】
図10は、顔表情解析装置1の出力結果を模式的に示した図である。同図における上段のグラフは、第1実施形態である顔表情解析装置1に動画像データを供給した場合に、顔表情解析装置1が出力する顔表情強度値を時系列に示したグラフである。このグラフは、横軸を時間軸とし、縦軸を顔表情強度値としている。このグラフが示すように、第1実施形態である顔表情解析装置1が出力する顔表情強度値は、時間経過に対してばらつきがある。
【0073】
また、このグラフの直下にある△、▲、および□記号(便宜上、顔表情記号と呼ぶ)は、顔表情解析装置1が出力する顔表情種別情報を示す記号であり、グラフの時間軸に対応付けて図示されている。ここでは、△は幸せ、▲は驚き、□は怒りを示す記号である。このグラフ直下の顔表情記号によれば、一連の時間において、幸せを示す顔表情の中に、突発的に驚きや怒りの顔表情が現出している。
【0074】
また、
図10における下段のグラフは、本実施形態である顔表情解析装置1に動画像データを供給した場合に、顔表情解析装置1が出力する顔表情強度値を時系列に示したグラフである。このグラフも、横軸を時間軸とし、縦軸を顔表情強度値としている。このグラフが示すように、本実施形態である顔表情解析装置1は、複数フレーム(例えば10フレーム)ごと(T
1,T
2,T
3,・・・)ではあるが、ばらつきを抑えた顔表情強度値を出力することができ、複数の区間を含む時間における顔表情強度値の信頼度を向上させることができる。
【0075】
また、このグラフの直下の顔表情記号によれば、一連の時間において、突発的な顔表情が現出することなく、安定した顔表情分類の結果が示されている。つまり、本実施形態である顔表情解析装置1は、顔表情強度値の重要度が最大となるように顔表情の分類を行うことによって顔表情のノイズを除去し、顔表情分類の精度を高めることができる。
【0076】
[第3の実施の形態の変形例]
上述した第3実施形態では、顔表情上解析装置1は、区間ごと(例えば、10フレームごと)に顔表情強度値および顔表情種別情報を得るものであった。
本発明の第3実施形態の変形例である顔表情解析装置は、上記の区間を時間方向にずらしながら顔表情強度値および顔表情種別情報を得る。
つまり、顔表情強度値計算部42は、一区間に含まれる複数フレームよりも少ないフレーム数おきに、当該区間をそのフレーム数分ずらし、顔表情強度値の平均を計算し、平均値を当該区間における代表顔表情強度値とする。
【0077】
また、顔表情分類部52は、上記の区間ごとに、顔表情の種類別に顔表情強度値の総和を計算し、総和値が最大となる顔表情の種類(代表顔種別)を示す顔表情種別情報を生成する。
【0078】
図11は、顔表情解析装置1の出力結果を模式的に示した図である。同図における各グラフは、第3実施形態の変形例である顔表情解析装置1に動画像データを供給した場合に、顔表情解析装置1が出力する顔表情強度値を時系列に示したグラフである。各グラフは、横軸を時間軸とし、縦軸を顔表情強度値としている。時刻t
1、時刻t
2、および時刻t
3は、連続するフレームに対する時刻である。また、時間(t
p+t
f)は、一区間である。
【0079】
また、各グラフの直下にある△記号(顔表情記号)は、顔表情解析装置1が出力する顔表情種別情報を示す記号(例えば、幸せを示す)であり、グラフの時間軸に対応付けて図示されている。これらグラフ直下の顔表情記号によれば、連続する時刻t
1、時刻t
2、および時刻t
3それぞれにおいて、安定した顔表情分類の結果が示されている。
【0080】
図11における上段のグラフおよび顔表情記号は、時刻(t
1−t
p)から時刻(t
1+t
f)までの区間を対象として、顔表情強度値計算部42が代表顔表情強度値を計算し、顔表情分類部52が代表顔種別を示す顔表情種別情報を生成することを示している。
また、同図における中段のグラフおよび顔表情記号は、時刻(t
2−t
p)から時刻(t
2+t
f)までの区間を対象として、顔表情強度値計算部42が代表顔表情強度値を計算し、顔表情分類部52が代表顔種別を示す顔表情種別情報を生成することを示している。
また、同図における下段のグラフおよび顔表情記号は、時刻(t
3−t
p)から時刻(t
3+t
f)までの区間を対象として、顔表情強度値計算部42が代表顔表情強度値を計算し、顔表情分類部52が代表顔種別を示す顔表情種別情報を生成することを示している。
【0081】
つまり、
図11によれば、顔表情解析装置1は、ばらつきを抑えて信頼度を向上させた顔表情強度値および安定した顔表情種別情報を、フレームごとに出力することができる。
【0082】
以上説明したとおり、第1実施形態〜第3実施形態および変形によれば、顔表情解析装置1,1aは、画像特徴量に対し第1のクラスタ分類処理を実行して第1の顔画像特徴ベクトルを生成し、顔画像特徴ベクトル空間においてあらかじめ決定された第1の境界面から第1の顔画像特徴ベクトルまでの距離である顔表情強度値を計算する顔表情強度評価部40を備えた。
また、顔表情解析装置1,1aは、画像特徴量に対し第2のクラスタ分類処理を実行して第2の顔画像特徴ベクトルを生成し、顔画像特徴ベクトル空間においてあらかじめ決定された第2の境界面に対する第2の顔画像特徴ベクトルの位置関係と顔表情強度評価部40が計算した顔表情強度値とに基づき、解析領域に対応する顔表情種別を示す顔表情種別情報を生成する顔表情評価部50を備えた。
【0083】
このように構成したことにより、無表情な顔つきから表情の種類を判別困難な程度の顔つきまでを示す中立的な顔表情(ニュートラル顔表情)を分類することが容易となった。 したがって、第1実施形態〜第3実施形態および変形によれば、中立的な顔表情の分類を容易にするとともに、顔表情分類の精度を高めることができる。
【0084】
なお、第1実施形態〜第3実施形態および変形例では、解析領域決定部22は、解析領域を二つの解析部分領域に分割する例であった。解析領域の分割数は二つに限られない。すなわち、解析領域決定部22は、解析領域を分割しなくてもよいし、三つ以上の解析部分領域に分割してもよい。
【0085】
また、上述した実施形態および変形例における各顔表情解析装置の一部の機能をコンピュータで実現するようにしてもよい。この場合、その機能を実現するための顔表情解析プログラムをコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録された顔表情解析プログラムをコンピュータシステムに読み込ませて、このコンピュータシステムが実行することによって実現してもよい。なお、このコンピュータシステムとは、オペレーティング・システム(Operating System;OS)や周辺装置のハードウェアを含むものである。また、コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、光ディスク、メモリカード等の可搬型記録媒体、コンピュータシステムに備えられる磁気ハードディスクやソリッドステートドライブ等の記憶装置のことをいう。さらに、コンピュータ読み取り可能な記録媒体とは、インターネット等のコンピュータネットワーク、および電話回線や携帯電話網を介してプログラムを送信する場合の通信回線のように、短時間の間、動的にプログラムを保持するもの、さらには、その場合のサーバ装置やクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持するものを含んでもよい。また上記の顔表情解析プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせにより実現するものであってもよい。
【0086】
以上、本発明の実施の形態について図面を参照して詳述したが、具体的な構成はその実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。