感情推定装置
【課題】不特定人物の表情を認識してその人物の感情を推定する感情推定装置を提供すること。
【解決手段】感情推定装置100は、所定の感情に関連付けられた特定人物の表情画像を学習することによりニューラルネットワークによる表情マップを生成する表情マップ生成手段11と、表情マップ生成手段11が生成した特定人物のそれぞれに対応する表情マップを所定の感情に基づいて複数の領域に区分する領域区分手段12と、不特定人物の表情画像Uと領域区分手段12により区分された領域を有する複数の表情マップとに基づいて不特定人物の感情を推定する感情推定手段13とを備える。また、複数の表情マップのそれぞれで対応する領域を共通化する領域共通化手段14を備え、感情推定手段13は、不特定人物の表情画像Uと共通化された領域を有する複数の表情マップとに基づいて不特定人物の感情を推定する。
【解決手段】感情推定装置100は、所定の感情に関連付けられた特定人物の表情画像を学習することによりニューラルネットワークによる表情マップを生成する表情マップ生成手段11と、表情マップ生成手段11が生成した特定人物のそれぞれに対応する表情マップを所定の感情に基づいて複数の領域に区分する領域区分手段12と、不特定人物の表情画像Uと領域区分手段12により区分された領域を有する複数の表情マップとに基づいて不特定人物の感情を推定する感情推定手段13とを備える。また、複数の表情マップのそれぞれで対応する領域を共通化する領域共通化手段14を備え、感情推定手段13は、不特定人物の表情画像Uと共通化された領域を有する複数の表情マップとに基づいて不特定人物の感情を推定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コホーネン型のニューラルネットワークによる自己組織化マップを用いた感情推定装置に関し、特に、不特定人物の表情を認識してその人物の感情を推定する感情推定装置に関する。
【背景技術】
【0002】
従来、映画のあるシーンを視聴したユーザが一般的に抱くと思われる感情を示す感情情報とそのシーンを視聴したユーザの表情画像とを関連づけて記憶し、その感情情報と表情画像との関係を学習させたニューラルネットワークによる感情モデルを用いて、特定のユーザの表情画像からその特定のユーザの感情を推定する情報処理装置が知られている(例えば、特許文献1参照。)。
【0003】
この情報処理装置は、ユーザ毎に感情モデルを作成し、そのユーザ毎の感情モデルに基づいてそのユーザ毎の感情を推定するので、映画のシーンに対する各ユーザの反応の差異による影響を受けることなく、より正確に各ユーザの感情を推定することができる。
【特許文献1】特開2005−346471号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の情報処理装置は、感情モデルに表情画像を学習させた特定人物の感情を推定するためのものであり、感情モデルに表情画像を学習させていない不特定人物の表情画像に基づいてその不特定人物の抱く感情を推定することができない。
【0005】
上述の点に鑑み、本発明は、コホーネン型のニューラルネットワークを用い、不特定人物の表情を認識してその不特定人物の感情を推定する感情推定装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
上述の目的を達成するために、第一の発明に係る感情推定装置は、所定の感情に関連付けられた特定人物の表情画像を学習することによりニューラルネットワークによる表情マップを生成する表情マップ生成手段と、前記表情マップ生成手段が生成した前記特定人物のそれぞれに対応する表情マップを前記所定の感情に基づいて複数の領域に区分する領域区分手段と、不特定人物の表情画像と前記領域区分手段により区分された領域を有する複数の表情マップとに基づいて不特定人物の感情を推定する感情推定手段と、を備えることを特徴とする。
【0007】
また、第二の発明は、第一の発明に係る感情推定装置であって、前記領域区分手段は、区分される領域の中心位置、形状又は面積の少なくとも一つを予め決定することを特徴とする。
【0008】
また、第三の発明は、第一の発明に係る感情推定装置であって、前記領域区分手段が区分した領域であって、複数の表情マップのそれぞれで対応する領域を共通化する領域共通化手段を備え、前記感情推定手段は、前記不特定人物の表情画像と前記領域共通化手段により共通化された領域を有する複数の表情マップとに基づいて前記不特定人物の感情を推定することを特徴とする。
【0009】
また、第四の発明は、第三の発明に係る感情推定装置であって、前記領域共通化手段は、前記対応する領域の形状、中心位置又は面積の少なくとも一つを共通にすることを特徴とする。
【発明の効果】
【0010】
上述の手段により、本発明は、コホーネン型のニューラルネットワークを用い、不特定人物の表情を認識してその不特定人物の感情を推定する感情推定装置を提供することができる。
【発明を実施するための最良の形態】
【0011】
以下、図面を参照しつつ、本発明を実施するための最良の形態の説明を行う。
【実施例1】
【0012】
図1は、本発明に係る感情推定装置100の構成例を示すブロック図である。感情推定装置100は、制御部1、撮像部2及び表示部3から構成され、撮像部2により撮像した人物の表情画像に基づいてその人物の感情を制御部1で推定し推定結果を表示部3に出力する。
【0013】
制御部1は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を備えたコンピュータであり、表情画像加工手段10、表情マップ生成手段11、領域区分手段12、感情推定手段13及び領域共通化手段14に対応するプログラムをROMに記憶し、それらプログラムをRAM上に展開して対応する処理をCPUに実行させる。
【0014】
撮像部2は、人物の表情画像を撮像するための手段であり、例えば、CCD(Charge Coupled Device)カメラやCMOS(Complementary Metal-Oxide Semiconductor)カメラがある。
【0015】
表示部3は、感情推定装置100の推定結果を出力するための手段であり、例えば、液晶ディスプレイであって、「怒り」、「喜び」、「悲しみ」、「驚き」、「嫌悪」、「恐怖」、「諦め」等の感情のうち撮像部2が撮像した表情画像に合致する感情を文字、映像、イラスト、又は、後述の自己組織化マップ等で表現して出力する。なお、感情推定装置100は、推定結果を音声出力するようにしてもよい。
【0016】
次に、制御部1が有する表情画像加工手段10について説明する。
【0017】
表情画像加工手段10は、撮像部2で撮像した画像をニューラルネットワークに入力できるよう加工するための手段である。ここで、図2及び図3を参照しながら表情画像加工手段10がニューラルネットワークに入力できるよう表情画像を加工する処理の流れについて説明する。なお、図2は、表情画像加工処理の流れを示すフローチャートであり、図3は、表情画像加工処理の各ステップを説明するための表情画像である。
【0018】
最初に、表情画像加工手段10は、撮像部2が撮像した図3(A)に示すような表情画像(例えば、512×512ピクセルのビットマップファイルである。)にエッジ検出、フィルタ処理等の画像処理を施して図3(B)に示すように人物の目の位置を特定する(ステップS1)。
【0019】
その後、表情画像加工手段10は、同様に、図3(C)に示すように人物の鼻の位置を特定し(ステップS2)、二値化処理により表情画像をグレースケール化する(ステップS3)。なお、表情画像加工手段10は、表情画像をグレースケール化した上で人物の目及び鼻の位置を特定するようにしてもよい。
【0020】
その後、表情画像加工手段10は、特定した目及び鼻の位置に基づいて表情画像に写った顔の傾きを認識し、アフィン変換により表情画像を平行移動又は回転移動等させることにより、顔の傾きを補正し(ステップS4)、図3(D)に示すように鼻位置が表情画像の中心にくるようにして表情画像を正規化する(ステップS5)。
【0021】
その後、表情画像加工手段10は、表情画像から所定サイズ(例えば、256×256ピクセル)の表情部分(例えば、人物の表情を表現する、目、鼻、口、頬を含む画像部分であって、図3(E)に示すような部分をいう。)を切り出し(ステップS6)、切り出した表情部分の画像をニューラルネットワークに対する入力画像として使用できるようJPEG(Joint Photographic Expert Group)法等の画像圧縮技術を用いて所定サイズ(例えば、64×64ピクセル)に圧縮する(ステップS7)。
【0022】
次に、制御部1が有する表情マップ生成手段11について説明する。
【0023】
表情マップ生成手段11は、コホーネン型のニューラルネットワークを用いて自己組織化マップである表情マップを生成するための手段である。ここで、図4を参照しながら表情マップ生成手段11が表情マップを生成する処理の流れについて説明する。なお、図4は、表情マップ生成処理の流れを示すフローチャートである。
【0024】
「自己組織化マップ」は、多次元のデータを二次元平面に反映させるニューラルネットワークの手法であり、似た特徴を持つデータをマップ上の近くに配置し、そうでないものをマップ上の離れた位置に配置して高次元の情報を視覚化し、データ同士の関係を直感的に理解し易いものにする手法である。
【0025】
最初に、表情マップ生成手段11は、ROM等の記憶装置に格納された学習係数α、学習半径r及び設定学習回数t等の値を読み出し(ステップS11)、所定サイズ(32×32ノード)の表情マップにおける各ノードの値を乱数で初期化する(ステップS12)。
【0026】
表情マップは、二次元座標で構成され、各座標に一つのニューロンを有する。ニューロンは、例えば、入力画像のピクセル数(例えば、64×64ピクセルの場合、4096個となる。)に等しい数の要素数を備える重みベクトルwとして表される。なお、入力画像は、ピクセル数の要素数を有するベクトルとして扱われ、各要素は、例えば、各ピクセルの輝度の値とされる。
【0027】
表情マップの初期化は、重みベクトルwの各要素を乱数で初期化する処理であり、「設定学習回数t」は、入力画像である学習用画像を学習(所定の条件を満たす重みベクトルwの各要素を更新することをいう。)する回数を示す設定値である。
【0028】
学習用画像は、映画や写真等、所定の感情を抱かせる情報を特定人物に提示しながらその特定人物の表情を撮像した表情画像群であり、各学習用画像には所定の感情が関連付けられる。
【0029】
また、「学習係数α」は、ニューロンの重みを更新するために用いられる係数であり、以下の数式(1)
【0030】
【数1】
で利用される。ここで、iは、表情マップ上の位置を示す番号であり、xは、学習用画像を示すベクトルである。
【0031】
「学習半径r」は、表情マップ上の範囲を特定するための設定値であり、表情マップ生成手段11は、後述の類似度が最大となるニューロンを中心とし、半径をr(単位はニューロンである。)とする円に包含されるニューロンの重みベクトルwを上述の数式(1)を用いて更新する。
【0032】
図4を再度参照し、表情マップ生成手段11が表情マップを生成する処理の流れについて説明を継続する。
【0033】
その後、表情画像加工手段10によって加工された学習用画像を取得すると(ステップS13)、表情マップ生成手段11は、学習用画像と各ニューロンとの間の類似度を算出する(ステップS14)。
【0034】
類似度は、例えば、学習用画像ベクトルxと各ニューロンの重みベクトルwとの間のマハラノビス距離又はユークリッド距離で表されるが、好適には、マハラノビス距離が利用される。
【0035】
入力された学習用画像と全てのニューロンとの間の類似度が算出された後、表情マップ生成手段11は、類似度が最大となるニューロンを特定し(ステップS15)、表情マップ上で類似度が最大となるニューロンの位置を中心とし半径を学習半径rとする円で示される範囲内にある全てのニューロンが有する重みベクトルwの各要素を数式(1)により更新する(ステップS16)。
【0036】
その後、表情マップ生成手段11は、予め用意された学習用画像(例えば、感情毎に一枚ずつ用意される。)の全てを使用して学習を行ったか否かを判定し(ステップS17)、全ての学習用画像を未だ使用していない場合には(ステップS17のNO)、次の学習用画像をハードディスク等の記憶装置から読み出して(ステップS13)、ステップS14乃至ステップS16を実行し、全ての学習用画像を使用して学習を実行するまで、この一連の処理を繰り返す。
【0037】
全ての学習用画像を使用して学習を実行した場合(ステップS17のYES)、表情マップ生成手段11は、予め設定された設定学習回数tとこれまでに実行した学習の回数とを比較する(ステップS18)。
【0038】
実行した学習の回数が設定学習回数t以下の場合(ステップS18のNO)、表情マップ生成手段11は、学習回数をインクリメントし(ステップS19)、再度、全ての学習用画像を用いてステップS13乃至ステップS17を実行させる。
【0039】
表情マップ生成手段11は、実行した学習の回数が設定学習回数tを上回るまで、ステップS13乃至ステップS17を繰り返し、実行した学習の回数が設定学習回数tを上回った場合(ステップS18のYES)、後述の領域区分手段12により表情マップを感情毎に区分する。
【0040】
次に、制御部1が有する領域区分手段12について説明する。
【0041】
領域区分手段12は、表情マップ生成手段11が生成した表情マップを感情毎の領域(以下、「感情領域」という。)に区分する手段である。
【0042】
また、図5は、領域区分手段12により区分された表情マップの例を示す図であり、格子で区切られた領域のそれぞれがニューロンに対応する。なお、領域区分手段12は、各学習用画像に関連付けられた感情情報に基づいて、境界により区分された各感情領域をラベル付けし、例えば、図5に示す表情マップの領域R1に「怒り」ラベルを対応付け、領域R2に「喜び」ラベルを対応付けるようにする。その他、領域R3乃至領域R11にも感情を表すラベルを対応付けるようにする。
【0043】
領域区分手段12は、各感情を代表する複数の学習用画像のそれぞれに最も類似するニューロン(各感情を代表するニューロンであり、以下「中心ニューロン」という。)と、何れかの領域に区分しようとしているニューロン(以下、「対象ニューロン」という。)との間のマハラノビス距離又はユークリッド距離を算出し、算出値が最も小さくなる中心ニューロンとその対象ニューロンとが表情マップ上の同じ領域となるよう境界を引くようにする。
【0044】
また、領域区分手段12は、表情マップ上の隣接する二つのニューロンにおける重みベクトル間のマハラノビス距離又はユークリッド距離を算出し、算出値が所定値以上となるニューロン間に境界を引くようにしてもよい。
【0045】
或いは、領域区分手段12は、複数の学習用画像のそれぞれとは無関係に、各感情を代表する中心ニューロンの表情マップ上の位置を予め決定しておき(この場合の中心ニューロンを特に「固定中心ニューロン」という。)、固定中心ニューロンと対象ニューロンとの間のマハラノビス距離又はユークリッド距離を算出し、算出値が最も小さくなる固定中心ニューロンと対象ニューロンとが表情マップ上の同じ領域となるよう境界を引くようにしてもよい(以下、この区分方法を「中心ニューロン固定クラスタリング」という。)。なお、この場合、固定中心ニューロンの表情マップ上の位置は、複数の表情マップで共通するものとする。
【0046】
これにより、領域区分手段12は、特定人物の特定の表情画像による過大な影響を受けることなく、複数の表情マップ上の共通する位置に各感情領域を形成させることができる。
【0047】
或いは、領域区分手段12は、固定中心ニューロンと対象ニューロンとの間の表情マップ上の距離Lが所定距離以上の場合(例えば、表情マップ上のM1点(k、l)とM2点(m、n)との間の距離Lは、(k−m)2+(l−n)2の平方根で表され、所定距離は、学習半径rと同じ距離(ニューロン数)とされる。)、その対象ニューロンとその固定中心ニューロンとが表情マップ上の同じ領域とならないように制限してもよい(以下、この区分方法を「条件付きクラスタリング」という。)。
【0048】
特定の固定中心ニューロンからの表情マップ上の距離が学習半径以上となる対象ニューロンは、学習時にその固定中心ニューロンの影響を受けていないからであり、この条件付きクラスタリングにより、領域区分手段12は、その固定中心ニューロンの影響を受ける対象ニューロンだけをその固定中心ニューロンと同じ領域に区分するためである。
【0049】
これにより、領域区分手段12は、表情マップ上に各感情領域の飛び地や突出地等が生成されるのを防止することができる。
【0050】
図6は、領域区分手段12による条件付きクラスタリングを説明するための図であり、図6(A)が中心ニューロン固定クラスタリングによる区分を示し、図6(B)が条件付きクラスタリングによって改善された、図6(A)の中心ニューロン固定クラスタリングによる区分を示す。なお、図6(A)の灰色部分は、条件付きクラスタリングによって改善される部分を示す。
【0051】
或いは、領域区分手段12は、固定中心ニューロン間の距離及び各感情領域の面積(表情マップ上の面積をいい、具体的には領域に含まれるニューロンの数をいう。)が各表情マップで等しくなるよう予め各感情領域の配置、形状及び大きさを設定して表情マップを区分するようにしてもよい。
【0052】
なお、「固定中心ニューロン間の距離」は、ある表情から別の表情に遷移したときの距離をいい、「遷移」とは、ある表情から別の表情への移り変わりの過程をいう。また、ある表情から別の表情へ遷移するとき、表情変化は、エネルギー的に最小変化が保証される経路を通り、経路上にある表情の画像(ニューロン)は、表情間の中間画像(ニューロン)として扱われる。この経路は、DP(Dynamic Programming)マッチング等により決定される。
【0053】
図7は、各感情領域の配置、形状及び大きさを等しくした表情マップの例を示す模式図であり、E1〜E7が七つの感情領域それぞれの固定中心ニューロンを示し、形状及び大きさが等しい六角形(点線で示す。)のそれぞれが各感情領域の形状及び大きさを示す。
【0054】
また、固定中心ニューロンの位置は、各六角形の中心に配置される。なお、各感情領域は、同じ順番で二次元平面上に循環的に配置され、例えば、固定中心ニューロンE1を有する感情領域は、固定中心ニューロンE7を有する感情領域を常に左側に隣接させる。
【0055】
このように、固定中心ニューロン間の距離を等しくすることは、各表情間の中間ニューロンの数を等しくすることとなり、感情推定装置100は、特定の表情による過大な影響を受けることなく、表情画像を平等に扱いながら感情を推定することができる。
【0056】
次に、制御部1が有する感情推定手段13について説明する。
【0057】
感情推定手段13は、領域区分手段12が区分した表情マップを用いて撮像部2で撮像された表情画像からその人物の感情を推定するための手段である。ここで、図8を参照しながら感情推定手段13が感情を推定する処理の流れについて説明する。なお、図8は、感情推定処理の流れを示すフローチャートである。
【0058】
最初に、感情推定手段13は、撮像部2を介して感情推定の対象となる表情画像Pを取得する(ステップS21)。
【0059】
その後、感情推定手段13は、表情画像加工手段10によりニューラルネットワークに入力できるよう表情画像Pを加工し(ステップS22)、加工した表情画像P(ベクトルとして扱われる。)と表情マップ(表情マップ生成手段11により既に学習が行われ、領域区分手段12により既に区分された表情マップである。)上の各ニューロンとの間の類似度を算出する(ステップS23)。
【0060】
なお、感情推定手段13は、表情画像Pと各ニューロンとの間の類似度としてマハラノビス距離又はユークリッド距離を用い、マハラノビス距離又はユークリッド距離の値が小さい程、表情画像Pとの間の類似度が高いものとする。
【0061】
その後、感情推定手段13は、算出した類似度の最大値と所定の閾値とを比較し(ステップS24)、類似度の最大値が所定の閾値以上となる場合には(ステップS24のYES)、
類似度が最大となるニューロンが属する領域を特定し、その特定された領域が有するラベルを表情画像Pの人物が有する感情であると推定し、その旨を表示部3に出力する(ステップS25)。
【0062】
一方、類似度の最大値が所定の閾値を下回る場合(ステップS24のNO)、感情推定手段13は、表情画像Pの人物が有する感情を推定できない、或いは、表情画像Pの人物が不特定人物(ニューラルネットワークが学習していない人物をいう。)であるとしてその旨を表示部3に出力する(ステップS26)。
【0063】
図9は、感情推定手段13によって算出された、表情画像Pと表情マップ上の各ニューロンとの間の類似度の分布を示す図であり、色が濃い程、類似度が高いことを示す。図9に示すように、類似度(類似度の最大値は、所定の閾値以上であるものとする。)が最大となるニューロンが領域R5の右上部分に位置する場合、感情推定手段13は、表情画像Pの人物が有する感情が領域R5のラベルが示す感情(例えば、「驚き」である。)であると推定する。
【0064】
また、感情領域の境界付近では、異なる感情領域に属するとしても、隣り合うニューロン同士が比較的高い類似度を有するため、その境界を跨いで類似度の分布が見られる場合もあるが、感情推定手段13は、類似度が最大となるニューロンがどの感情領域に属するかで感情を推定するばかりではなく、類似度の分布全体がどの感情領域に属するかで感情を推定することもできるので、より正確な感情の推定が可能となる。
【0065】
次に、制御部1が有する領域共通化手段14について説明する。
【0066】
領域共通化手段14は、表情マップ生成手段11が生成した特定人物のそれぞれに対応する複数の表情マップにおける各感情領域を共通化するための手段であり、ひいては、不特定人物の表情画像からその不特定人物の感情を推定するために用いる表情マップを生成するための手段である。
【0067】
例えば、領域共通化手段14は、表情マップ生成手段11が特定人物毎に生成した複数の表情マップを取得し、複数の表情マップのそれぞれにおいて、対応する各感情領域(例えば、複数の表情マップのそれぞれが有する「怒り」領域をいう。)のセントロイドベクトル(中心ニューロン)の位置が等しくなるよう調整する。
【0068】
また、領域共通化手段14は、複数の表情マップのそれぞれにおいて、対応する各感情領域の形状又は面積が等しくなるよう、対応する各感情領域の中心ニューロンの位置を調整するようにしてもよい。
【0069】
この場合、領域共通化手段14は、例えば、LBG(Linde-Buzo-Gray)アルゴリズムを用いて各感情領域の形状又は面積を調整しながら各感情領域の中心ニューロンの位置を決定するようにしてもよい。
【0070】
図10は、人物A、B、Cの三人の特定人物の学習用画像を用いて生成された三つの表情マップを示し、領域共通化手段14により各感情領域における中心ニューロンCV1乃至CV9の各表情マップ上の位置が共通化されていることを示す。
【0071】
その後、感情推定手段13は、領域共通化手段14によって共通化された複数の表情マップを用いて撮像部2で撮像された不特定人物の表情画像からその人物の感情を推定する。
【0072】
なお、感情推定装置100は、中心ニューロン固定クラスタリング又は条件付きクラスタリングを用いて領域区分手段12が区分した感情領域を利用することで、領域共通化手段14による共通化と同等の効果を得ることができ、この場合、領域共通化手段14による共通化は不要となる。
【0073】
ここで、図11を参照しながら感情推定手段13が感情を推定する処理の流れについて説明する。なお、図11は、感情推定処理の流れを示すフローチャートである。
【0074】
最初に、感情推定手段13は、撮像部2を介して感情推定対象となる不特定人物の表情画像Uを取得する(ステップS31)。
【0075】
その後、感情推定手段13は、表情画像加工手段10によりニューラルネットワークに入力できるよう表情画像Uを加工し(ステップS32)、加工した表情画像U(ベクトルとして扱われる。)と複数の表情マップ(領域区分手段12により中心ニューロンの位置が予め決定された複数の表情マップ、又は、領域共通化手段14により中心ニューロンの位置が調整された複数の表情マップである。)上の各ニューロンとの間の類似度を算出する(ステップS33)。
【0076】
なお、感情推定手段13は、表情画像Uと各ニューロンとの間の類似度としてマハラノビス距離又はユークリッド距離を用い、マハラノビス距離又はユークリッド距離の値が小さい程、表情画像Uとの間の類似度が高いものとする。
【0077】
その後、感情推定手段13は、各表情マップにおいて、算出した類似度の最大値と所定の閾値とを比較し(ステップS34)、類似度の最大値が所定の閾値以上となる場合には(ステップS34のYES)、類似度が最大となるニューロンが属する感情領域を特定し(ステップS35)、特定した感情領域が示す値(例えば、感情の種類を示す番号である。)をその表情マップの値(以下、「表情マップ値」とする。)としてRAM等の記憶装置に保存する。
【0078】
一方、類似度の最大値が所定の閾値を下回る場合(ステップS34のNO)、感情推定手段13は、その表情マップ値を無効(例えば、値ゼロとする。)とする(ステップS36)。
【0079】
その後、感情推定手段13は、感情推定装置100が有する全ての表情マップに対して類似度の算出が行われたか否かを判定し(ステップS37)、全ての表情マップに対する類似度の算出が行われていない場合(ステップS37のNO)、別の表情マップを取得して(ステップS38)、表情画像Uと新たに取得した表情マップにおける各ニューロンとの間の類似度を算出し、新たに取得した表情マップ値を保存する(ステップS33〜ステップS36)。
【0080】
全ての表情マップに対する類似度の算出が行われた場合(ステップS37のYES)、感情推定手段13は、これまでにRAMに保存した各表情マップ値に基づいて不特定人物の感情を推定する(ステップS39)。
【0081】
感情推定手段13は、例えば、全ての表情マップ値の中で最も頻度の高い表情マップ値が示す感情を不特定人物の感情として推定(出力)してもよく、高い類似度を有するニューロンを含む複数の表情マップをその類似度が高い順に所定数だけ抽出し、それら表情マップが有する表情マップ値の中で最も頻度の高い表情マップ値が示す感情を不特定人物の感情として出力してもよい。
【0082】
以上の構成により、感情推定装置100は、特定人物の表情画像を用いてニューラルネットワークを学習させることにより、特定人物の感情をより正確に推定することができる。
【0083】
また、感情推定装置100は、特定人物の表情画像と各ニューロンとの間の類似度の分布に基づいてその特定人物の感情を推定するので、学習用画像における表情とは異なる表情を撮像した表情画像が入力された場合にも、その特定人物の感情をより正確に推定することができる。
【0084】
また、感情推定装置100は、複数の特定人物の学習用画像に基づいて複数の表情マップを生成し、かつ、生成した各表情マップの感情領域の形状、面積又はセントロイドベクトルの位置等を調整して一般化(人によって異なる各感情領域の位置、形状、面積等を共通化して、特定人物の表情の特徴が感情推定処理に過大な影響を与えないようにすることをいう。)するので、不特定人物の感情をより正確に推定することができる。
【0085】
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなしに上述した実施例に種々の変形及び置換を加えることができる。
【0086】
例えば、上述の実施例では、特定人物の複数の表情マップを用いて不特定人物の感情を推定する場合、感情推定装置100は、領域区分手段12により各感情領域の形状、面積又はセントロイドベクトルの位置を予め決定したり、又は、領域共通化手段14により各感情領域の形状、面積又はセントロイドベクトルの位置を事後的に調整したりするが、このような決定又は調整を行うことなく感情推定手段13による感情の推定を実行するようにしてもよい。
【0087】
高い類似度を有するニューロンを含む複数の表情マップをその類似度が高い順に所定数だけ抽出し、それら表情マップが有する表情マップ値の中で最も頻度の高い表情マップ値が示す感情を不特定人物の感情として出力することで、中心ニューロン固定クラスタリング、条件付きクラスタリング、又は、領域共通化手段14を用いずとも、不特定人物に対して顔の特徴が共通する複数の特定人物の学習用画像に基づいて生成された表情マップを用いて、不特定人物の感情を推定することができるからである。
【0088】
また、感情推定装置100は、顔認証システム、顔面神経痛の症状判定システム等に適用されてもよく、或いは、運転支援装置として利用されてもよい。
【0089】
感情推定装置100を利用した運転支援装置は、所定の感情に関連付けたドライバの表情画像を用いてニューラルネットワークを学習させ、運転中のドライバの表情画像からドライバの感情を推定する。
【0090】
この運転支援装置は、推定した感情に基づいて所定の運転支援を実行し、例えば、「怒り」を推定(検知)した場合には、アクセル開度を所定値以下に制限したりする。
【図面の簡単な説明】
【0091】
【図1】本発明に係る感情推定装置の構成例を示すブロック図である。
【図2】表情画像加工処理の流れを示すフローチャートである。
【図3】表情画像加工処理の各ステップを説明するための表情画像である。
【図4】表情マップ生成処理の流れを示すフローチャートである。
【図5】表情マップ生成手段により生成された表情マップの例を示す図である。
【図6】領域区分手段による条件付きクラスタリングを説明するための図である。
【図7】各感情領域の配置、形状及び大きさを等しくした表情マップの例を示す模式図である。
【図8】感情推定処理の流れを示すフローチャートである。
【図9】表情画像と表情マップ上の各ニューロンとの間の類似度の分布を示す図である。
【図10】三人の特定人物の学習用画像を用いて生成された三つの表情マップを示す。
【図11】感情推定処理の流れを示すフローチャートである。
【符号の説明】
【0092】
1 制御部
2 撮像部
3 表示部
10 表情画像加工手段
11 表情マップ生成手段
12 領域区分手段
13 感情推定手段
14 領域共通化手段
100 感情推定装置
E1〜E7 固定中心ニューロン
CV1〜CV9 中心ニューロン
R1〜R11 領域
【技術分野】
【0001】
本発明は、コホーネン型のニューラルネットワークによる自己組織化マップを用いた感情推定装置に関し、特に、不特定人物の表情を認識してその人物の感情を推定する感情推定装置に関する。
【背景技術】
【0002】
従来、映画のあるシーンを視聴したユーザが一般的に抱くと思われる感情を示す感情情報とそのシーンを視聴したユーザの表情画像とを関連づけて記憶し、その感情情報と表情画像との関係を学習させたニューラルネットワークによる感情モデルを用いて、特定のユーザの表情画像からその特定のユーザの感情を推定する情報処理装置が知られている(例えば、特許文献1参照。)。
【0003】
この情報処理装置は、ユーザ毎に感情モデルを作成し、そのユーザ毎の感情モデルに基づいてそのユーザ毎の感情を推定するので、映画のシーンに対する各ユーザの反応の差異による影響を受けることなく、より正確に各ユーザの感情を推定することができる。
【特許文献1】特開2005−346471号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の情報処理装置は、感情モデルに表情画像を学習させた特定人物の感情を推定するためのものであり、感情モデルに表情画像を学習させていない不特定人物の表情画像に基づいてその不特定人物の抱く感情を推定することができない。
【0005】
上述の点に鑑み、本発明は、コホーネン型のニューラルネットワークを用い、不特定人物の表情を認識してその不特定人物の感情を推定する感情推定装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
上述の目的を達成するために、第一の発明に係る感情推定装置は、所定の感情に関連付けられた特定人物の表情画像を学習することによりニューラルネットワークによる表情マップを生成する表情マップ生成手段と、前記表情マップ生成手段が生成した前記特定人物のそれぞれに対応する表情マップを前記所定の感情に基づいて複数の領域に区分する領域区分手段と、不特定人物の表情画像と前記領域区分手段により区分された領域を有する複数の表情マップとに基づいて不特定人物の感情を推定する感情推定手段と、を備えることを特徴とする。
【0007】
また、第二の発明は、第一の発明に係る感情推定装置であって、前記領域区分手段は、区分される領域の中心位置、形状又は面積の少なくとも一つを予め決定することを特徴とする。
【0008】
また、第三の発明は、第一の発明に係る感情推定装置であって、前記領域区分手段が区分した領域であって、複数の表情マップのそれぞれで対応する領域を共通化する領域共通化手段を備え、前記感情推定手段は、前記不特定人物の表情画像と前記領域共通化手段により共通化された領域を有する複数の表情マップとに基づいて前記不特定人物の感情を推定することを特徴とする。
【0009】
また、第四の発明は、第三の発明に係る感情推定装置であって、前記領域共通化手段は、前記対応する領域の形状、中心位置又は面積の少なくとも一つを共通にすることを特徴とする。
【発明の効果】
【0010】
上述の手段により、本発明は、コホーネン型のニューラルネットワークを用い、不特定人物の表情を認識してその不特定人物の感情を推定する感情推定装置を提供することができる。
【発明を実施するための最良の形態】
【0011】
以下、図面を参照しつつ、本発明を実施するための最良の形態の説明を行う。
【実施例1】
【0012】
図1は、本発明に係る感情推定装置100の構成例を示すブロック図である。感情推定装置100は、制御部1、撮像部2及び表示部3から構成され、撮像部2により撮像した人物の表情画像に基づいてその人物の感情を制御部1で推定し推定結果を表示部3に出力する。
【0013】
制御部1は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を備えたコンピュータであり、表情画像加工手段10、表情マップ生成手段11、領域区分手段12、感情推定手段13及び領域共通化手段14に対応するプログラムをROMに記憶し、それらプログラムをRAM上に展開して対応する処理をCPUに実行させる。
【0014】
撮像部2は、人物の表情画像を撮像するための手段であり、例えば、CCD(Charge Coupled Device)カメラやCMOS(Complementary Metal-Oxide Semiconductor)カメラがある。
【0015】
表示部3は、感情推定装置100の推定結果を出力するための手段であり、例えば、液晶ディスプレイであって、「怒り」、「喜び」、「悲しみ」、「驚き」、「嫌悪」、「恐怖」、「諦め」等の感情のうち撮像部2が撮像した表情画像に合致する感情を文字、映像、イラスト、又は、後述の自己組織化マップ等で表現して出力する。なお、感情推定装置100は、推定結果を音声出力するようにしてもよい。
【0016】
次に、制御部1が有する表情画像加工手段10について説明する。
【0017】
表情画像加工手段10は、撮像部2で撮像した画像をニューラルネットワークに入力できるよう加工するための手段である。ここで、図2及び図3を参照しながら表情画像加工手段10がニューラルネットワークに入力できるよう表情画像を加工する処理の流れについて説明する。なお、図2は、表情画像加工処理の流れを示すフローチャートであり、図3は、表情画像加工処理の各ステップを説明するための表情画像である。
【0018】
最初に、表情画像加工手段10は、撮像部2が撮像した図3(A)に示すような表情画像(例えば、512×512ピクセルのビットマップファイルである。)にエッジ検出、フィルタ処理等の画像処理を施して図3(B)に示すように人物の目の位置を特定する(ステップS1)。
【0019】
その後、表情画像加工手段10は、同様に、図3(C)に示すように人物の鼻の位置を特定し(ステップS2)、二値化処理により表情画像をグレースケール化する(ステップS3)。なお、表情画像加工手段10は、表情画像をグレースケール化した上で人物の目及び鼻の位置を特定するようにしてもよい。
【0020】
その後、表情画像加工手段10は、特定した目及び鼻の位置に基づいて表情画像に写った顔の傾きを認識し、アフィン変換により表情画像を平行移動又は回転移動等させることにより、顔の傾きを補正し(ステップS4)、図3(D)に示すように鼻位置が表情画像の中心にくるようにして表情画像を正規化する(ステップS5)。
【0021】
その後、表情画像加工手段10は、表情画像から所定サイズ(例えば、256×256ピクセル)の表情部分(例えば、人物の表情を表現する、目、鼻、口、頬を含む画像部分であって、図3(E)に示すような部分をいう。)を切り出し(ステップS6)、切り出した表情部分の画像をニューラルネットワークに対する入力画像として使用できるようJPEG(Joint Photographic Expert Group)法等の画像圧縮技術を用いて所定サイズ(例えば、64×64ピクセル)に圧縮する(ステップS7)。
【0022】
次に、制御部1が有する表情マップ生成手段11について説明する。
【0023】
表情マップ生成手段11は、コホーネン型のニューラルネットワークを用いて自己組織化マップである表情マップを生成するための手段である。ここで、図4を参照しながら表情マップ生成手段11が表情マップを生成する処理の流れについて説明する。なお、図4は、表情マップ生成処理の流れを示すフローチャートである。
【0024】
「自己組織化マップ」は、多次元のデータを二次元平面に反映させるニューラルネットワークの手法であり、似た特徴を持つデータをマップ上の近くに配置し、そうでないものをマップ上の離れた位置に配置して高次元の情報を視覚化し、データ同士の関係を直感的に理解し易いものにする手法である。
【0025】
最初に、表情マップ生成手段11は、ROM等の記憶装置に格納された学習係数α、学習半径r及び設定学習回数t等の値を読み出し(ステップS11)、所定サイズ(32×32ノード)の表情マップにおける各ノードの値を乱数で初期化する(ステップS12)。
【0026】
表情マップは、二次元座標で構成され、各座標に一つのニューロンを有する。ニューロンは、例えば、入力画像のピクセル数(例えば、64×64ピクセルの場合、4096個となる。)に等しい数の要素数を備える重みベクトルwとして表される。なお、入力画像は、ピクセル数の要素数を有するベクトルとして扱われ、各要素は、例えば、各ピクセルの輝度の値とされる。
【0027】
表情マップの初期化は、重みベクトルwの各要素を乱数で初期化する処理であり、「設定学習回数t」は、入力画像である学習用画像を学習(所定の条件を満たす重みベクトルwの各要素を更新することをいう。)する回数を示す設定値である。
【0028】
学習用画像は、映画や写真等、所定の感情を抱かせる情報を特定人物に提示しながらその特定人物の表情を撮像した表情画像群であり、各学習用画像には所定の感情が関連付けられる。
【0029】
また、「学習係数α」は、ニューロンの重みを更新するために用いられる係数であり、以下の数式(1)
【0030】
【数1】
で利用される。ここで、iは、表情マップ上の位置を示す番号であり、xは、学習用画像を示すベクトルである。
【0031】
「学習半径r」は、表情マップ上の範囲を特定するための設定値であり、表情マップ生成手段11は、後述の類似度が最大となるニューロンを中心とし、半径をr(単位はニューロンである。)とする円に包含されるニューロンの重みベクトルwを上述の数式(1)を用いて更新する。
【0032】
図4を再度参照し、表情マップ生成手段11が表情マップを生成する処理の流れについて説明を継続する。
【0033】
その後、表情画像加工手段10によって加工された学習用画像を取得すると(ステップS13)、表情マップ生成手段11は、学習用画像と各ニューロンとの間の類似度を算出する(ステップS14)。
【0034】
類似度は、例えば、学習用画像ベクトルxと各ニューロンの重みベクトルwとの間のマハラノビス距離又はユークリッド距離で表されるが、好適には、マハラノビス距離が利用される。
【0035】
入力された学習用画像と全てのニューロンとの間の類似度が算出された後、表情マップ生成手段11は、類似度が最大となるニューロンを特定し(ステップS15)、表情マップ上で類似度が最大となるニューロンの位置を中心とし半径を学習半径rとする円で示される範囲内にある全てのニューロンが有する重みベクトルwの各要素を数式(1)により更新する(ステップS16)。
【0036】
その後、表情マップ生成手段11は、予め用意された学習用画像(例えば、感情毎に一枚ずつ用意される。)の全てを使用して学習を行ったか否かを判定し(ステップS17)、全ての学習用画像を未だ使用していない場合には(ステップS17のNO)、次の学習用画像をハードディスク等の記憶装置から読み出して(ステップS13)、ステップS14乃至ステップS16を実行し、全ての学習用画像を使用して学習を実行するまで、この一連の処理を繰り返す。
【0037】
全ての学習用画像を使用して学習を実行した場合(ステップS17のYES)、表情マップ生成手段11は、予め設定された設定学習回数tとこれまでに実行した学習の回数とを比較する(ステップS18)。
【0038】
実行した学習の回数が設定学習回数t以下の場合(ステップS18のNO)、表情マップ生成手段11は、学習回数をインクリメントし(ステップS19)、再度、全ての学習用画像を用いてステップS13乃至ステップS17を実行させる。
【0039】
表情マップ生成手段11は、実行した学習の回数が設定学習回数tを上回るまで、ステップS13乃至ステップS17を繰り返し、実行した学習の回数が設定学習回数tを上回った場合(ステップS18のYES)、後述の領域区分手段12により表情マップを感情毎に区分する。
【0040】
次に、制御部1が有する領域区分手段12について説明する。
【0041】
領域区分手段12は、表情マップ生成手段11が生成した表情マップを感情毎の領域(以下、「感情領域」という。)に区分する手段である。
【0042】
また、図5は、領域区分手段12により区分された表情マップの例を示す図であり、格子で区切られた領域のそれぞれがニューロンに対応する。なお、領域区分手段12は、各学習用画像に関連付けられた感情情報に基づいて、境界により区分された各感情領域をラベル付けし、例えば、図5に示す表情マップの領域R1に「怒り」ラベルを対応付け、領域R2に「喜び」ラベルを対応付けるようにする。その他、領域R3乃至領域R11にも感情を表すラベルを対応付けるようにする。
【0043】
領域区分手段12は、各感情を代表する複数の学習用画像のそれぞれに最も類似するニューロン(各感情を代表するニューロンであり、以下「中心ニューロン」という。)と、何れかの領域に区分しようとしているニューロン(以下、「対象ニューロン」という。)との間のマハラノビス距離又はユークリッド距離を算出し、算出値が最も小さくなる中心ニューロンとその対象ニューロンとが表情マップ上の同じ領域となるよう境界を引くようにする。
【0044】
また、領域区分手段12は、表情マップ上の隣接する二つのニューロンにおける重みベクトル間のマハラノビス距離又はユークリッド距離を算出し、算出値が所定値以上となるニューロン間に境界を引くようにしてもよい。
【0045】
或いは、領域区分手段12は、複数の学習用画像のそれぞれとは無関係に、各感情を代表する中心ニューロンの表情マップ上の位置を予め決定しておき(この場合の中心ニューロンを特に「固定中心ニューロン」という。)、固定中心ニューロンと対象ニューロンとの間のマハラノビス距離又はユークリッド距離を算出し、算出値が最も小さくなる固定中心ニューロンと対象ニューロンとが表情マップ上の同じ領域となるよう境界を引くようにしてもよい(以下、この区分方法を「中心ニューロン固定クラスタリング」という。)。なお、この場合、固定中心ニューロンの表情マップ上の位置は、複数の表情マップで共通するものとする。
【0046】
これにより、領域区分手段12は、特定人物の特定の表情画像による過大な影響を受けることなく、複数の表情マップ上の共通する位置に各感情領域を形成させることができる。
【0047】
或いは、領域区分手段12は、固定中心ニューロンと対象ニューロンとの間の表情マップ上の距離Lが所定距離以上の場合(例えば、表情マップ上のM1点(k、l)とM2点(m、n)との間の距離Lは、(k−m)2+(l−n)2の平方根で表され、所定距離は、学習半径rと同じ距離(ニューロン数)とされる。)、その対象ニューロンとその固定中心ニューロンとが表情マップ上の同じ領域とならないように制限してもよい(以下、この区分方法を「条件付きクラスタリング」という。)。
【0048】
特定の固定中心ニューロンからの表情マップ上の距離が学習半径以上となる対象ニューロンは、学習時にその固定中心ニューロンの影響を受けていないからであり、この条件付きクラスタリングにより、領域区分手段12は、その固定中心ニューロンの影響を受ける対象ニューロンだけをその固定中心ニューロンと同じ領域に区分するためである。
【0049】
これにより、領域区分手段12は、表情マップ上に各感情領域の飛び地や突出地等が生成されるのを防止することができる。
【0050】
図6は、領域区分手段12による条件付きクラスタリングを説明するための図であり、図6(A)が中心ニューロン固定クラスタリングによる区分を示し、図6(B)が条件付きクラスタリングによって改善された、図6(A)の中心ニューロン固定クラスタリングによる区分を示す。なお、図6(A)の灰色部分は、条件付きクラスタリングによって改善される部分を示す。
【0051】
或いは、領域区分手段12は、固定中心ニューロン間の距離及び各感情領域の面積(表情マップ上の面積をいい、具体的には領域に含まれるニューロンの数をいう。)が各表情マップで等しくなるよう予め各感情領域の配置、形状及び大きさを設定して表情マップを区分するようにしてもよい。
【0052】
なお、「固定中心ニューロン間の距離」は、ある表情から別の表情に遷移したときの距離をいい、「遷移」とは、ある表情から別の表情への移り変わりの過程をいう。また、ある表情から別の表情へ遷移するとき、表情変化は、エネルギー的に最小変化が保証される経路を通り、経路上にある表情の画像(ニューロン)は、表情間の中間画像(ニューロン)として扱われる。この経路は、DP(Dynamic Programming)マッチング等により決定される。
【0053】
図7は、各感情領域の配置、形状及び大きさを等しくした表情マップの例を示す模式図であり、E1〜E7が七つの感情領域それぞれの固定中心ニューロンを示し、形状及び大きさが等しい六角形(点線で示す。)のそれぞれが各感情領域の形状及び大きさを示す。
【0054】
また、固定中心ニューロンの位置は、各六角形の中心に配置される。なお、各感情領域は、同じ順番で二次元平面上に循環的に配置され、例えば、固定中心ニューロンE1を有する感情領域は、固定中心ニューロンE7を有する感情領域を常に左側に隣接させる。
【0055】
このように、固定中心ニューロン間の距離を等しくすることは、各表情間の中間ニューロンの数を等しくすることとなり、感情推定装置100は、特定の表情による過大な影響を受けることなく、表情画像を平等に扱いながら感情を推定することができる。
【0056】
次に、制御部1が有する感情推定手段13について説明する。
【0057】
感情推定手段13は、領域区分手段12が区分した表情マップを用いて撮像部2で撮像された表情画像からその人物の感情を推定するための手段である。ここで、図8を参照しながら感情推定手段13が感情を推定する処理の流れについて説明する。なお、図8は、感情推定処理の流れを示すフローチャートである。
【0058】
最初に、感情推定手段13は、撮像部2を介して感情推定の対象となる表情画像Pを取得する(ステップS21)。
【0059】
その後、感情推定手段13は、表情画像加工手段10によりニューラルネットワークに入力できるよう表情画像Pを加工し(ステップS22)、加工した表情画像P(ベクトルとして扱われる。)と表情マップ(表情マップ生成手段11により既に学習が行われ、領域区分手段12により既に区分された表情マップである。)上の各ニューロンとの間の類似度を算出する(ステップS23)。
【0060】
なお、感情推定手段13は、表情画像Pと各ニューロンとの間の類似度としてマハラノビス距離又はユークリッド距離を用い、マハラノビス距離又はユークリッド距離の値が小さい程、表情画像Pとの間の類似度が高いものとする。
【0061】
その後、感情推定手段13は、算出した類似度の最大値と所定の閾値とを比較し(ステップS24)、類似度の最大値が所定の閾値以上となる場合には(ステップS24のYES)、
類似度が最大となるニューロンが属する領域を特定し、その特定された領域が有するラベルを表情画像Pの人物が有する感情であると推定し、その旨を表示部3に出力する(ステップS25)。
【0062】
一方、類似度の最大値が所定の閾値を下回る場合(ステップS24のNO)、感情推定手段13は、表情画像Pの人物が有する感情を推定できない、或いは、表情画像Pの人物が不特定人物(ニューラルネットワークが学習していない人物をいう。)であるとしてその旨を表示部3に出力する(ステップS26)。
【0063】
図9は、感情推定手段13によって算出された、表情画像Pと表情マップ上の各ニューロンとの間の類似度の分布を示す図であり、色が濃い程、類似度が高いことを示す。図9に示すように、類似度(類似度の最大値は、所定の閾値以上であるものとする。)が最大となるニューロンが領域R5の右上部分に位置する場合、感情推定手段13は、表情画像Pの人物が有する感情が領域R5のラベルが示す感情(例えば、「驚き」である。)であると推定する。
【0064】
また、感情領域の境界付近では、異なる感情領域に属するとしても、隣り合うニューロン同士が比較的高い類似度を有するため、その境界を跨いで類似度の分布が見られる場合もあるが、感情推定手段13は、類似度が最大となるニューロンがどの感情領域に属するかで感情を推定するばかりではなく、類似度の分布全体がどの感情領域に属するかで感情を推定することもできるので、より正確な感情の推定が可能となる。
【0065】
次に、制御部1が有する領域共通化手段14について説明する。
【0066】
領域共通化手段14は、表情マップ生成手段11が生成した特定人物のそれぞれに対応する複数の表情マップにおける各感情領域を共通化するための手段であり、ひいては、不特定人物の表情画像からその不特定人物の感情を推定するために用いる表情マップを生成するための手段である。
【0067】
例えば、領域共通化手段14は、表情マップ生成手段11が特定人物毎に生成した複数の表情マップを取得し、複数の表情マップのそれぞれにおいて、対応する各感情領域(例えば、複数の表情マップのそれぞれが有する「怒り」領域をいう。)のセントロイドベクトル(中心ニューロン)の位置が等しくなるよう調整する。
【0068】
また、領域共通化手段14は、複数の表情マップのそれぞれにおいて、対応する各感情領域の形状又は面積が等しくなるよう、対応する各感情領域の中心ニューロンの位置を調整するようにしてもよい。
【0069】
この場合、領域共通化手段14は、例えば、LBG(Linde-Buzo-Gray)アルゴリズムを用いて各感情領域の形状又は面積を調整しながら各感情領域の中心ニューロンの位置を決定するようにしてもよい。
【0070】
図10は、人物A、B、Cの三人の特定人物の学習用画像を用いて生成された三つの表情マップを示し、領域共通化手段14により各感情領域における中心ニューロンCV1乃至CV9の各表情マップ上の位置が共通化されていることを示す。
【0071】
その後、感情推定手段13は、領域共通化手段14によって共通化された複数の表情マップを用いて撮像部2で撮像された不特定人物の表情画像からその人物の感情を推定する。
【0072】
なお、感情推定装置100は、中心ニューロン固定クラスタリング又は条件付きクラスタリングを用いて領域区分手段12が区分した感情領域を利用することで、領域共通化手段14による共通化と同等の効果を得ることができ、この場合、領域共通化手段14による共通化は不要となる。
【0073】
ここで、図11を参照しながら感情推定手段13が感情を推定する処理の流れについて説明する。なお、図11は、感情推定処理の流れを示すフローチャートである。
【0074】
最初に、感情推定手段13は、撮像部2を介して感情推定対象となる不特定人物の表情画像Uを取得する(ステップS31)。
【0075】
その後、感情推定手段13は、表情画像加工手段10によりニューラルネットワークに入力できるよう表情画像Uを加工し(ステップS32)、加工した表情画像U(ベクトルとして扱われる。)と複数の表情マップ(領域区分手段12により中心ニューロンの位置が予め決定された複数の表情マップ、又は、領域共通化手段14により中心ニューロンの位置が調整された複数の表情マップである。)上の各ニューロンとの間の類似度を算出する(ステップS33)。
【0076】
なお、感情推定手段13は、表情画像Uと各ニューロンとの間の類似度としてマハラノビス距離又はユークリッド距離を用い、マハラノビス距離又はユークリッド距離の値が小さい程、表情画像Uとの間の類似度が高いものとする。
【0077】
その後、感情推定手段13は、各表情マップにおいて、算出した類似度の最大値と所定の閾値とを比較し(ステップS34)、類似度の最大値が所定の閾値以上となる場合には(ステップS34のYES)、類似度が最大となるニューロンが属する感情領域を特定し(ステップS35)、特定した感情領域が示す値(例えば、感情の種類を示す番号である。)をその表情マップの値(以下、「表情マップ値」とする。)としてRAM等の記憶装置に保存する。
【0078】
一方、類似度の最大値が所定の閾値を下回る場合(ステップS34のNO)、感情推定手段13は、その表情マップ値を無効(例えば、値ゼロとする。)とする(ステップS36)。
【0079】
その後、感情推定手段13は、感情推定装置100が有する全ての表情マップに対して類似度の算出が行われたか否かを判定し(ステップS37)、全ての表情マップに対する類似度の算出が行われていない場合(ステップS37のNO)、別の表情マップを取得して(ステップS38)、表情画像Uと新たに取得した表情マップにおける各ニューロンとの間の類似度を算出し、新たに取得した表情マップ値を保存する(ステップS33〜ステップS36)。
【0080】
全ての表情マップに対する類似度の算出が行われた場合(ステップS37のYES)、感情推定手段13は、これまでにRAMに保存した各表情マップ値に基づいて不特定人物の感情を推定する(ステップS39)。
【0081】
感情推定手段13は、例えば、全ての表情マップ値の中で最も頻度の高い表情マップ値が示す感情を不特定人物の感情として推定(出力)してもよく、高い類似度を有するニューロンを含む複数の表情マップをその類似度が高い順に所定数だけ抽出し、それら表情マップが有する表情マップ値の中で最も頻度の高い表情マップ値が示す感情を不特定人物の感情として出力してもよい。
【0082】
以上の構成により、感情推定装置100は、特定人物の表情画像を用いてニューラルネットワークを学習させることにより、特定人物の感情をより正確に推定することができる。
【0083】
また、感情推定装置100は、特定人物の表情画像と各ニューロンとの間の類似度の分布に基づいてその特定人物の感情を推定するので、学習用画像における表情とは異なる表情を撮像した表情画像が入力された場合にも、その特定人物の感情をより正確に推定することができる。
【0084】
また、感情推定装置100は、複数の特定人物の学習用画像に基づいて複数の表情マップを生成し、かつ、生成した各表情マップの感情領域の形状、面積又はセントロイドベクトルの位置等を調整して一般化(人によって異なる各感情領域の位置、形状、面積等を共通化して、特定人物の表情の特徴が感情推定処理に過大な影響を与えないようにすることをいう。)するので、不特定人物の感情をより正確に推定することができる。
【0085】
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなしに上述した実施例に種々の変形及び置換を加えることができる。
【0086】
例えば、上述の実施例では、特定人物の複数の表情マップを用いて不特定人物の感情を推定する場合、感情推定装置100は、領域区分手段12により各感情領域の形状、面積又はセントロイドベクトルの位置を予め決定したり、又は、領域共通化手段14により各感情領域の形状、面積又はセントロイドベクトルの位置を事後的に調整したりするが、このような決定又は調整を行うことなく感情推定手段13による感情の推定を実行するようにしてもよい。
【0087】
高い類似度を有するニューロンを含む複数の表情マップをその類似度が高い順に所定数だけ抽出し、それら表情マップが有する表情マップ値の中で最も頻度の高い表情マップ値が示す感情を不特定人物の感情として出力することで、中心ニューロン固定クラスタリング、条件付きクラスタリング、又は、領域共通化手段14を用いずとも、不特定人物に対して顔の特徴が共通する複数の特定人物の学習用画像に基づいて生成された表情マップを用いて、不特定人物の感情を推定することができるからである。
【0088】
また、感情推定装置100は、顔認証システム、顔面神経痛の症状判定システム等に適用されてもよく、或いは、運転支援装置として利用されてもよい。
【0089】
感情推定装置100を利用した運転支援装置は、所定の感情に関連付けたドライバの表情画像を用いてニューラルネットワークを学習させ、運転中のドライバの表情画像からドライバの感情を推定する。
【0090】
この運転支援装置は、推定した感情に基づいて所定の運転支援を実行し、例えば、「怒り」を推定(検知)した場合には、アクセル開度を所定値以下に制限したりする。
【図面の簡単な説明】
【0091】
【図1】本発明に係る感情推定装置の構成例を示すブロック図である。
【図2】表情画像加工処理の流れを示すフローチャートである。
【図3】表情画像加工処理の各ステップを説明するための表情画像である。
【図4】表情マップ生成処理の流れを示すフローチャートである。
【図5】表情マップ生成手段により生成された表情マップの例を示す図である。
【図6】領域区分手段による条件付きクラスタリングを説明するための図である。
【図7】各感情領域の配置、形状及び大きさを等しくした表情マップの例を示す模式図である。
【図8】感情推定処理の流れを示すフローチャートである。
【図9】表情画像と表情マップ上の各ニューロンとの間の類似度の分布を示す図である。
【図10】三人の特定人物の学習用画像を用いて生成された三つの表情マップを示す。
【図11】感情推定処理の流れを示すフローチャートである。
【符号の説明】
【0092】
1 制御部
2 撮像部
3 表示部
10 表情画像加工手段
11 表情マップ生成手段
12 領域区分手段
13 感情推定手段
14 領域共通化手段
100 感情推定装置
E1〜E7 固定中心ニューロン
CV1〜CV9 中心ニューロン
R1〜R11 領域
【特許請求の範囲】
【請求項1】
所定の感情に関連付けられた特定人物の表情画像を学習することによりニューラルネットワークによる表情マップを生成する表情マップ生成手段と、
前記表情マップ生成手段が生成した前記特定人物のそれぞれに対応する表情マップを前記所定の感情に基づいて複数の領域に区分する領域区分手段と、
不特定人物の表情画像と前記領域区分手段により区分された領域を有する複数の表情マップとに基づいて不特定人物の感情を推定する感情推定手段と、
を備えることを特徴とする感情推定装置。
【請求項2】
前記領域区分手段は、区分される領域の中心位置、形状又は面積の少なくとも一つを予め決定する、
ことを特徴とする請求項1に記載の感情推定装置。
【請求項3】
前記領域区分手段が区分した領域であって、複数の表情マップのそれぞれで対応する領域を共通化する領域共通化手段を備え、
前記感情推定手段は、前記不特定人物の表情画像と前記領域共通化手段により共通化された領域を有する複数の表情マップとに基づいて前記不特定人物の感情を推定する、
ことを特徴とする請求項1に記載の感情推定装置。
【請求項4】
前記領域共通化手段は、前記対応する領域の形状、中心位置又は面積の少なくとも一つを共通にする、
ことを特徴とする請求項3に記載の感情推定装置。
【請求項1】
所定の感情に関連付けられた特定人物の表情画像を学習することによりニューラルネットワークによる表情マップを生成する表情マップ生成手段と、
前記表情マップ生成手段が生成した前記特定人物のそれぞれに対応する表情マップを前記所定の感情に基づいて複数の領域に区分する領域区分手段と、
不特定人物の表情画像と前記領域区分手段により区分された領域を有する複数の表情マップとに基づいて不特定人物の感情を推定する感情推定手段と、
を備えることを特徴とする感情推定装置。
【請求項2】
前記領域区分手段は、区分される領域の中心位置、形状又は面積の少なくとも一つを予め決定する、
ことを特徴とする請求項1に記載の感情推定装置。
【請求項3】
前記領域区分手段が区分した領域であって、複数の表情マップのそれぞれで対応する領域を共通化する領域共通化手段を備え、
前記感情推定手段は、前記不特定人物の表情画像と前記領域共通化手段により共通化された領域を有する複数の表情マップとに基づいて前記不特定人物の感情を推定する、
ことを特徴とする請求項1に記載の感情推定装置。
【請求項4】
前記領域共通化手段は、前記対応する領域の形状、中心位置又は面積の少なくとも一つを共通にする、
ことを特徴とする請求項3に記載の感情推定装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図10】
【図11】
【図9】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図10】
【図11】
【図9】
【公開番号】特開2008−146318(P2008−146318A)
【公開日】平成20年6月26日(2008.6.26)
【国際特許分類】
【出願番号】特願2006−332187(P2006−332187)
【出願日】平成18年12月8日(2006.12.8)
【出願人】(502087460)株式会社トヨタIT開発センター (232)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【出願人】(504222045)
【Fターム(参考)】
【公開日】平成20年6月26日(2008.6.26)
【国際特許分類】
【出願日】平成18年12月8日(2006.12.8)
【出願人】(502087460)株式会社トヨタIT開発センター (232)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【出願人】(504222045)
【Fターム(参考)】
[ Back to top ]