【国等の委託研究の成果に係る記載事項】(出願人による申告)平成26年度、国立研究開発法人科学技術振興機構、戦略的創造研究推進事業(チーム型研究(CREST))の研究領域「人間と調和した創造的協働を実現する知的情報処理システムの構築」における、研究課題「集合視による注視・行動解析に基づくライフイノベーション創出」に関する「協働支援のための時空間を考慮した視線情報の解析と可視化」に係る委託研究、産業技術力強化法第19条の適用を受ける特許出願
【文献】
福本くらら 外2名,ライフログにおける自動タグ付けのための笑顔認識機構の設計と実装,研究報告モバイルコンピューティングとユビキタス通信,日本,社団法人情報処理学会,2013年 3月 7日,2013−UBI−65巻、18号,第1−8ページ
(58)【調査した分野】(Int.Cl.,DB名)
装着装置の複数箇所にそれぞれ配置された複数の検出装置が、前記装着装置を人物の頭部に装着したときの前記人物の顔面と前記装着装置間の距離を前記複数箇所で検出するステップと、
記憶装置に記憶された、前記複数の検出装置による過去の検出結果のデータと顔表情との対応関係を機械学習して得られた学習データを前記記憶装置から読み出し、顔表情識別部が前記複数の検出装置による検出結果を入力データとして前記人物の顔表情を識別するステップと、
地理情報取得部が、前記複数の検出装置による検出結果が得られた時点での地理情報を取得するステップと、
顔表情マップ作成部が、前記顔表情識別部による識別結果と、前記地理情報取得部により取得された地理情報とを対応付けた顔表情マップを作成するステップと、
を含むことを特徴とする顔表情識別方法。
装着装置の複数箇所にそれぞれ配置された複数の検出装置が、前記装着装置を人物の頭部に装着したときの前記人物の顔面と前記装着装置間の距離を前記複数箇所で検出するステップと、
前記装着装置が備えるイメージセンサが、前記人物の顔面の皮膚の移動量を検出するステップと、
記憶装置に記憶された、前記複数の検出装置による過去の検出結果のデータと顔表情との対応関係を機械学習して得られた学習データを前記記憶装置から読み出し、顔表情識別部が前記複数の検出装置による検出結果及び前記イメージセンサにより検出された移動量を入力データとして前記人物の顔表情を識別するステップと、
を含むことを特徴とする顔表情識別方法。
装着装置の複数箇所にそれぞれ配置された複数の検出装置が、前記装着装置を人物の頭部に装着したときの前記人物の顔面と前記装着装置間の距離を前記複数箇所で検出するステップと、
ずれ量算出部が、前記複数の検出装置による検出結果を入力データとして、前記装着装置を装着したときのずれ量を算出するステップと、
学習データ生成部が、前記複数の検出装置による過去の検出結果のデータと、顔表情と、前記ずれ量とを対応付けることにより、機械学習のためのデータセットを生成するステップと、
機械学習部が、前記データセットに基づいて、前記機械学習を行うことにより、前記ずれ量それぞれに対応した学習データを得るステップと、
記憶装置が、前記学習データを記憶するステップと、
前記複数の検出装置による検出結果が得られた時点での前記ずれ量に対応する前記学習データを前記記憶装置から読み出し、顔表情識別部が前記複数の検出装置による検出結果を入力データとして前記人物の顔表情を識別するステップと、
を含むことを特徴とする顔表情識別方法。
装着装置の複数箇所にそれぞれ配置された複数の検出装置が、前記装着装置を人物の頭部に装着したときの前記人物の顔面と前記装着装置間の距離を前記複数箇所で検出する処理と、
記憶装置に記憶された、前記複数の検出装置による過去の検出結果のデータと顔表情との対応関係を機械学習して得られた学習データを前記記憶装置から読み出し、顔表情識別部が前記複数の検出装置による検出結果を入力データとして前記人物の顔表情を識別する処理と、
地理情報取得部が、前記複数の検出装置による検出結果が得られた時点での地理情報を取得する処理と、
顔表情マップ作成部が、前記顔表情識別部による識別結果と、前記地理情報取得部により取得された地理情報とを対応付けた顔表情マップを作成する処理と、
を含む一連の処理をコンピュータに実行させることを特徴とする顔表情識別プログラム。
装着装置の複数箇所にそれぞれ配置された複数の検出装置が、前記装着装置を人物の頭部に装着したときの前記人物の顔面と前記装着装置間の距離を前記複数箇所で検出する処理と、
前記装着装置が備えるイメージセンサが、前記人物の顔面の皮膚の移動量を検出する処理と、
記憶装置に記憶された、前記複数の検出装置による過去の検出結果のデータと顔表情との対応関係を機械学習して得られた学習データを前記記憶装置から読み出し、顔表情識別部が前記複数の検出装置による検出結果及び前記イメージセンサにより検出された移動量を入力データとして前記人物の顔表情を識別する処理と、
を含む一連の処理をコンピュータに実行させることを特徴とする顔表情識別プログラム。
装着装置の複数箇所にそれぞれ配置された複数の検出装置が、前記装着装置を人物の頭部に装着したときの前記人物の顔面と前記装着装置間の距離を前記複数箇所で検出する処理と、
ずれ量算出部が、前記複数の検出装置による検出結果を入力データとして、前記装着装置を装着したときのずれ量を算出する処理と、
学習データ生成部が、前記複数の検出装置による過去の検出結果のデータと、顔表情と、前記ずれ量とを対応付けることにより、機械学習のためのデータセットを生成する処理と、
機械学習部が、前記データセットに基づいて、前記機械学習を行うことにより、前記ずれ量それぞれに対応した学習データを得る処理と、
記憶装置が、前記学習データを記憶する処理と、
前記複数の検出装置による検出結果が得られた時点での前記ずれ量に対応する前記学習データを前記記憶装置から読み出し、顔表情識別部が前記複数の検出装置による検出結果を入力データとして前記人物の顔表情を識別する処理と、
を含む一連の処理をコンピュータに実行させることを特徴とする顔表情識別プログラム。
【図面の簡単な説明】
【0010】
【
図1】本発明の第1の実施形態に係る顔表情識別システムの一例を示すブロック図である。
【
図2】本発明の第1の実施形態に係る装着装置の一例を示す概略図である。
【
図3】
図3(a)は、本発明の第1の実施形態に係る装着装置を頭部に装着した人物が無表情の様子を示す概略図であり、
図3(b)は、本発明の第1の実施形態に係る装着装置を頭部に装着した人物が笑っている様子を示す概略図である。
【
図4】本発明の第1の実施形態に係る顔表情識別システムが識別する顔表情の種類を示す概略図である。
【
図5】本発明の第1の実施形態に係る検出装置による過去の検出結果と顔表情との対応関係を表すグラフである。
【
図6】本発明の第1の実施形態に係る顔表情識別システムにより作成された顔表情マップの一例を示す概略図である。
【
図7】本発明の第1の実施形態に係る顔表情識別方法の一例を説明するためのフローチャートである。
【
図8】本発明の第1の実施形態に係る推薦情報表示方法の一例を説明するためのフローチャートである。
【
図9】本発明の第2の実施形態に係る顔表情識別システムの一例を示すブロック図である。
【
図10】本発明の第2の実施形態に係る顔表情識別システムにより算出された顔表情分布の一例を示す概略図である。
【
図11】本発明の第2の実施形態に係る顔表情識別方法の一例を説明するためのフローチャートである。
【
図12】本発明の第2の実施形態に係る顔表情分布表示方法の一例を説明するためのフローチャートである。
【
図13】本発明のその他の実施形態に係る装着装置の一例を示す概略図である。
【
図14】本発明のその他の実施形態に係る装着装置の表示部に表示された映像の一例を示す概略図である。
【
図15】本発明の第3の実施形態に係る顔表情識別システムの一例を示すブロック図である。
【
図16】本発明の第3の実施形態に係る装着装置の一例を示す概略図である。
【
図17】本発明の第3の実施形態に係る装着装置をユーザが装着した様子を示す概略図である。
【
図18】
図18(a)及び
図18(b)は、本発明の第3の実施形態に係る装着装置の表示部の表示画像の一例をそれぞれ示す概略図である。
【
図19】本発明の第3の実施形態に係る前処理前後の距離とセンサ値の関係を示すグラフである。
【
図20】本発明の第3の実施形態に係る学習フェーズのニューラルネットワークの一例を示す概略図である。
【
図21】本発明の第3の実施形態に係る学習フェーズの回帰ニューラルネットワークの一例を示す概略図である。
【
図22】本発明の第3の実施形態に係る識別フェーズのニューラルネットワークの一例を示す概略図である。
【
図23】本発明の第3の実施形態に係る機械学習データ生成方法を含む機械学習方法の一例を説明するためのフローチャートである。
【
図24】本発明の第3の実施形態に係る顔表情識別方法の一例を説明するためのフローチャートである。
【
図25】本発明の第3の実施形態に係るセンサ値の主成分分析結果の一例を示すグラフである。
【
図26】
図26(a)〜
図26(c)は、本発明の第3の実施形態に係る眉を動かした場合のセンサ値をそれぞれ示すグラフである。
【
図27】
図27(a)〜
図27(c)は、本発明の第3の実施形態に係る目を開閉した場合のセンサ値をそれぞれ示すグラフである。
【
図28】
図28(a)及び
図28(b)は、本発明の第3の実施形態に係る目を開閉した場合のクラスタ分類結果及び真値をそれぞれ示すグラフである。
【
図29】
図29(a)〜
図29(c)は、本発明の第3の実施形態に係る口を動かした場合のセンサ値をそれぞれ示すグラフである。
【
図30】
図30(a)及び
図30(b)は、本発明の第3の実施形態に係る口を動かした場合のセンサ値をそれぞれ示すグラフである。
【
図31】
図31(a)及び
図31(b)は、本発明の第3の実施形態に係る口を動かした場合のクラスタ分類結果と真値をそれぞれ示すグラフである。
【
図32】
図32(a)〜
図32(c)は、本発明の第3の実施形態に係る分類ネットワークのための訓練データセットを示すグラフである。
【
図33】
図33(a)及び
図33(b)は、本発明の第3の実施形態に係る回帰ネットワークのための訓練データセットを示すグラフである。
【
図34】
図34(a)は、本発明の第3の実施形態に係るターゲットとする顔表情を示すグラフであり、
図34(b)は、マルチクラス分類の結果を示すグラフである。
【
図35】
図35(a)〜
図35(d)は、本発明の第3の実施形態に係るマルチクラス分類器をマージした回帰の結果をそれぞれ示すグラフである。
【
図36】本発明の第4の実施形態に係る顔表情識別システムの一例を示すブロック図である。
【
図37】本発明の第4の実施形態に係る装着装置を前後方向にずらしたときの種々の顔表情に対するセンサ値の変化を示すグラフである。
【
図38】
図37のセンサ値の一部から回帰により求めたずれ量を示すグラフである。
【
図39】
図39(a)は、本発明の第4の実施形態に係る装着装置を前後方向にずらしたときの顔表情が「無表情」に対するセンサ値の変化を示すグラフであり、
図39(b)は、本発明の第4の実施形態に係る装着装置を前後方向にずらしたときの顔表情が「喜び」に対するセンサ値の変化を示すグラフである。
【
図40】
図40(a)は、本発明の第4の実施形態に係る装着装置を前後方向にずらしたときの顔表情が「嫌悪」に対するセンサ値の変化を示すグラフであり、
図40(b)は、本発明の第4の実施形態に係る装着装置を前後方向にずらしたときの顔表情が「怒り」に対するセンサ値の変化を示すグラフである。
【
図41】
図41(a)は、本発明の第4の実施形態に係る装着装置を前後方向にずらしたときの顔表情が「驚き」に対するセンサ値の変化を示すグラフであり、
図41(b)は、本発明の第4の実施形態に係る装着装置を前後方向にずらしたときの顔表情が「恐怖」に対するセンサ値の変化を示すグラフである。
【
図42】
図42(a)は、本発明の第4の実施形態に係る装着装置を前後方向にずらしたときの顔表情が「悲しみ」に対するセンサ値の変化を示すグラフであり、
図42(b)は、本発明の第4の実施形態に係る装着装置を前後方向にずらしたときの顔表情が「軽蔑」に対するセンサ値の変化を示すグラフである。
【
図43】本発明の第4の実施形態に係る顔表情識別方法の一例を説明するためのフローチャートである。
【
図44】本発明の第5の実施形態に係る顔表情識別システムの一例を示すブロック図である。
【
図45】本発明の第6の実施形態に係る顔表情識別システムの一例を示すブロック図である。
【
図46】本発明の第6の実施形態に係る光センサの発光強度の調整方法の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【0011】
次に、図面を参照して、本発明の第1〜第6の実施形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を貼付している。但し、図面は模式的なものであり、厚みと平面寸法との関係、厚みの比率等は現実のものとは異なることに留意すべきである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。また、以下に示す実施形態は、本発明の技術的思想を具体化するための装置や方法を例示するものであって、本発明の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものではない。本発明の技術的思想は、特許請求の範囲に記載された請求項が規定する技術的範囲内において、種々の変更を加えることができる。
【0012】
(第1の実施形態)
<顔表情識別システム>
本発明の第1の実施形態に係る顔表情識別システムは、
図1に示すように、中央演算処理装置(CPU)1、記憶装置2、装着装置(ウェアラブルデバイス)3、複数の検出装置(光センサ)4a,4b,4c,4d,4e,4f,4g,4h,4i,4j,4k,4l,4m,4n,4o,4p,4q、入力装置5及び出力装置6を備える。CPU1と、記憶装置2、検出装置4a〜4q、入力装置5及び出力装置6とは有線又は無線で信号を送受信可能である。
【0013】
装着装置3としては、人物の頭部に装着可能な眼鏡型のデバイスやヘッドマウントディスプレイ(HMD)が使用可能であり、市販の眼鏡であってもよい。複数の検出装置4a〜4qは、装着装置3に設けられ、装着装置3を頭部に装着したときの人物の顔面と装着装置3間の距離を複数箇所で検出する。複数の検出装置4a〜4qとしては、反射型光センサ(フォトリフレクタ)や、焦電センサ、近接センサ、距離センサ等が使用可能である。例えば、フォトリフレクタは、装着装置3を装着した人物の顔面に赤外光を照射する発光ダイオード(LED)からなる発光部と、人物の顔面からの反射光を検出するフォトトランジスタからなる受光部とを有する。
【0014】
装着装置3は、例えば
図2に示すような眼鏡型のデバイスである。検出装置4a〜4qは、装着装置3のレンズ部分の周囲であって、装着装置3を装着した時に人物の顔面と対向する位置に設けられている。検出装置4a〜4qは、例えば、人物の顔表情が変化した際に変動し易い部位である瞼や頬、眉間、目尻等と対向する位置に配置されることが好ましい。なお、検出装置4a〜4qの配置位置は特に限定されず、識別したい顔表情の種類等に応じて適宜設定可能である。
【0015】
また、
図2では17個の検出装置4a〜4qを示すが、検出装置4a〜4qの個数は特に限定されず、少なくとも2個以上あればよく、顔表情の分類の種類や数、要求される識別精度等に応じて適宜選択可能である。例えば、
図2に示した16個の検出装置4a〜4qのうち、8個の検出装置4b,4h,4j,4k,4l,4o,4p,4qのみを用いて後述する7つの顔表情を識別可能である。
【0016】
本発明の第1の実施形態に係る顔表情識別システムは、
図3に示すように、「無表情」、「微笑み」、「笑い」、「嫌悪」、「怒り」、「驚き」、「悲しみ」の7つの顔表情を識別する。なお、顔表情の分類の種類及び個数は特に限定されず、表情による差異が検出装置4a〜4qで検出できるもので学習データ記憶部20に学習データが格納できるものであればよい。例えば顔表情としては他にも「喜び」や「恐怖」等が挙げられる。
【0017】
本発明の第1の実施形態に係る顔表情識別システムは、人物の顔表情が変化する際の顔面筋の変動に起因する3次元的な皮膚変形を利用して顔表情を識別する。人物の顔表情が変化すると、人物の顔面の瞼や頬、眉間、目尻等の部位が変動し、個人差はあるが、人物の顔表情毎に各部位の変動量には共通した傾向が見られる。
【0018】
例えば
図3(a)及び
図3(b)に、装着装置3を頭部に装着した人物が無表情の様子及び笑っている様子をそれぞれ示す。なお、
図3(a)及び
図3(b)では、眼鏡型である装着装置3のテンプル部分は便宜的に省略し、検出装置4a,4jを模式的に示す。
図3(a)に示すように、人物が無表情の場合に人物の瞼や頬があまり膨らまず、瞼や頬と検出装置4a,4jとの距離D1,D2が相対的に遠くなり、検出装置4a,4jにより検出される反射光の照度が低下する。一方、
図3(b)に示すように、人物が笑っている場合に瞼及び頬が膨らみ、瞼や頬と検出装置4a,4jとの距離D1,D2が相対的に近くなり、検出装置4a,4jにより検出される反射光の照度が増大する。このように、検出装置4a〜4qは、人物の顔面と検出装置4a〜4qとの距離に応じた検出結果(例えば電流値)をCPU1に出力する。なお、検出装置4a〜4qの対向する顔面の部位によって反射の度合いが異なるため、検出装置4a〜4qの配置位置に応じて検出装置4a〜4qによる検出結果を適宜補正してもよい。また、識別したい顔表情の種類等に応じて検出装置4a〜4qによる検出結果を適宜重み付けしてもよい。
【0019】
図1に示したCPU1は、機械学習部10、顔表情識別部11、地理情報取得部12、顔表情マップ作成部13及び推薦情報抽出部14を備え、更に、顔表情識別システム全体を制御する制御回路、演算回路、データを一時記憶するレジスタ等を有する。なお、CPU1の機能の一部又は全部が、装着装置3等に内蔵されていてもよい。
【0020】
機械学習部10は、検出装置4a〜4qによる過去の検出結果と顔表情との対応関係を教師データとして用いて機械学習を行うことにより学習データを生成する。機械学習部10による機械学習の手法としては、公知のサポートベクターマシン(SVM)やニューラルネットワーク等が使用可能である。
【0021】
図4は、機械学習部10の機械学習に用いる検出装置4a〜4qによる過去の検出結果と顔表情との対応関係の一例を示す。各プロットは、多数の人物が装着装置3を装着し、検出装置4a〜4qによる検出結果を多数サンプリングして、各検出結果を顔表情毎に分類することで得られる。なお、ここでは多数の人物のサンプリング結果を示すが、顔表情の識別対象となるユーザ本人のサンプリング結果が含まれていてもよく、他者のみのサンプリング結果であってもよい。また、顔表情の識別対象となるユーザ本人或いは他者の単体のみのサンプリング結果を機械学習に用いてもよい。
図4の縦軸は、各プロットにおいて検出装置4a〜4qの出力値の多数のサンプリングの値の範囲が0から1となるように正規化した平均正規化値を示し、横軸のセンサ番号の1番〜16番は
図2に示した検出装置4a〜4qの順番に一致する。
【0022】
顔表情識別部11は、例えば
図4に示した検出装置4a〜4qによる過去の検出結果と顔表情との対応関係を教師データとして用いて、SVMにより、検出装置4a〜4qによる新たな検出結果を7つの顔表情に対応する領域(クラスタ)に分類するための超平面(境界面)を含む情報を学習データとして生成する。機械学習部10により生成された学習データは、記憶装置2の学習データ記憶部20に格納される。
【0023】
図1に示した顔表情識別部11は、記憶装置2の学習データ記憶部20に予め記憶された学習データを用いて、測定対象の人物に対する検出装置4a〜4qによる検出結果に基づいて、測定対象の人物の顔表情を「無表情」、「微笑み」、「笑い」、「嫌悪」、「怒り」、「驚き」、「悲しみ」の7つの顔表情のいずれかに識別(分類)する。顔表情識別部11は、例えば、検出装置4a〜4qによる検出結果のパターンが、学習データ記憶部20に記憶された学習データの7つのクラスタのうちどのクラスタに最も近いかを判定し、最も近いクラスタに対応する顔表情に分類する。顔表情識別部11による顔表情の識別結果は、記憶装置2の顔表情記憶部21に格納される。
【0024】
なお、顔表情識別部11による識別結果を良好なものとするためには、顔表情の識別対象となる個人毎に学習データを記録し機械学習を行なうことが望ましいが、簡易的に他者で記録した学習データを別のユーザの顔表情の識別に用いることも可能である。また、他者で記録した学習データと比較して、計測結果が類似していた場合には、他者で記録した学習データを利用することで、個人毎のデータを学習する過程を簡便化することもできる。
【0025】
地理情報取得部12は、全地球測位システム(GPS)等から、顔表情識別部11により顔表情を識別した時点における現在位置等の地理情報及び年月日等の時刻情報を取得し、記憶装置2の地理情報記憶部22に格納する。
【0026】
顔表情マップ作成部13は、顔表情識別部11により識別された顔表情と、地理情報取得部12により取得された地理情報及び時刻情報とを関連付けた顔表情マップを作成する。顔表情マップは、例えば
図6に示すように、時刻情報及び地理情報毎に、7つの顔表情の割合(頻度)を示す。なお、顔表情マップは
図6に示した態様に特に限定されず、例えば表形式の代わりに、地理情報に対応する地図上の位置に時刻情報や顔表情情報を配置する形式でもよい。また、顔表情マップは、複数の人物についての時刻情報、地理情報及び顔表情の識別結果を一括して纏めてもよく、顔表情情報も多数の人物の累積値であってもよい。顔表情マップ作成部13により作成された顔表情マップは、顔表情マップ記憶部23に格納される。
【0027】
推薦情報抽出部14は、入力装置5を介して入力された顔表情、時刻情報、地理情報等の検索キーに基づいて、顔表情マップ作成部13により作成された顔表情マップを検索し、検索キーに適合する顔表情、時刻情報、地理情報等を推薦情報として抽出する。例えば、検索キーとして入力された顔表情が「笑い」や「微笑み」であった場合、
図6に示した顔表情マップから、「笑い」や「微笑み」の割合が相対的に高い「場所B」を推薦情報として抽出する。
【0028】
記憶装置2としては、例えば半導体メモリや磁気ディスク、光ディスク等が使用可能である。記憶装置2は、機械学習部10により生成された学習データを記憶する学習データ記憶部20、顔表情識別部11による顔表情の識別結果を記憶する顔表情記憶部21、地理情報取得部12により取得された地理情報を記憶する地理情報記憶部22、顔表情マップ作成部13により作成された顔表情マップを記憶する顔表情マップ記憶部23を有する。記憶装置2は更に、CPU1が実行する顔表情識別プログラムやプログラムの実行に必要な各種データを記憶する。
【0029】
入力装置5としては、キーボードやマウス、タッチパネル、音声認識装置等が使用可能である。入力装置5は、ユーザからの顔表情、時刻情報、地理情報等の検索キーを受け付ける。出力装置6としては、液晶ディスプレイ(LCD)等の表示装置やタブレット端末等が使用可能である。出力装置6は、顔表情識別部11による顔表情の識別結果や、顔表情マップ作成部13により作成された顔表情マップ、推薦情報抽出部14により抽出された推薦情報を適宜出力(表示)する。
【0030】
<顔表情識別方法>
次に、
図7のフローチャートを参照しながら、本発明の第1の実施形態に係る顔表情マップ作成方法を含む顔表情識別方法の一例を説明する。なお、以下に示す顔表情識別方法はあくまでも一例であり、この手順に限定されるものではない。
【0031】
ステップS10において、機械学習部10が、
図4に示したような検出装置4a〜4qによる過去の検出結果と顔表情との対応関係を用いて機械学習を行うことにより学習データを生成し、学習データ記憶部20に格納しておく。
【0032】
ステップS11において、複数の検出装置4a〜4qが、装着装置3を頭部に装着した測定対象となる人物の顔面と装着装置3間の距離を複数箇所で検出する。ステップS12において、顔表情識別部11が、学習データ記憶部20に予め記憶された学習データを用いて、複数の検出装置4a〜4qにより検出された現在の検出結果のパターン識別を行い、測定対象の人物の顔表情を、
図4に示した7つの顔表情のいずれか(例えば「微笑み」)に識別する。
【0033】
ステップS12において、地理情報取得部12が、顔表情識別部11による識別結果が得られた時点における現在位置等の地理情報をGPS等から取得する。地理情報取得部12は更に、顔表情識別部11による識別結果が得られた時点の時刻情報を取得する。ステップS13において、顔表情マップ作成部13が、顔表情識別部11による識別結果と、地理情報取得部12により取得された地理情報及び時刻情報とを対応付けて顔表情マップを作成する。顔表情マップ作成部13により作成された顔表情マップは顔表情マップ記憶部23に格納される。
【0034】
次に、
図7のステップS13において顔表情マップ作成部13により作成された顔表情マップを用いた推薦情報表示方法の一例を、
図8のフローチャートを参照しながら説明する。なお、
図7及び
図8に示した一連の処理は連続して行ってもよく、互いに並列で行ってもよい。
【0035】
ステップS21において、推薦情報抽出部14が、出力装置6に検索メニューを表示させる。そして、検索メニューからユーザにより選択された顔表情、地理情報及び時刻情報等の検索キーを入力装置5が受け付ける。ステップS22において、推薦情報抽出部14が、入力装置5が受け付けた検索キーに基づいて、顔表情マップ記憶部23に記憶された顔表情マップを検索し、検索キーに適合する顔表情、地理情報及び時刻情報等を推薦情報として抽出する。ステップS23において、出力装置6が、推薦情報抽出部14により抽出された推薦情報を画面に表示する。
【0036】
<顔表情識別プログラム>
本発明の第1の実施形態に係る顔表情識別プログラムは、
図7及び
図8に示した顔表情識別の手順をCPU1に実行させる。即ち、本発明の第1の実施形態に係る顔表情識別プログラムは、(a)複数の検出装置4a〜4qが、装着装置3を頭部に装着した人物の顔面と、装着装置3との距離を検出する手順、(b)記憶装置2に予め記憶された、複数の検出装置4a〜4qによる過去の検出結果と顔表情との対応関係を機械学習して得られた学習データを用いて、複数の検出装置4a〜4qによる検出結果に基づいて人物の顔表情を識別する手順、(c)複数の検出装置4a〜4qによる検出結果が得られた時点での地理情報を取得する手順、(d)顔表情の識別結果と地理情報とを対応付けた顔表情マップを作成する手順等をCPU1等のコンピュータに実行させる。本発明の第1の実施形態に係る顔表情識別プログラムは、
図1に示した記憶装置2等の記憶手段に記憶される。
【0037】
以上説明したように、本発明の第1の実施形態によれば、装着型の複数の検出装置4a〜4qを用いて人物の顔表情を識別することにより、安価且つ簡潔な構成で、継続的(日常的)に低消費電力で顔表情を識別することが実現可能となる。更に、検出装置4a〜4qは眼鏡用のフレームやHMDの内部に取り付けることができるので、日常的な環境下や、HMD装着時のように人物の顔が遮蔽される場合等のカメラでの撮像が難しい条件下においても、継続的且つ容易に顔表情を識別できる。したがって、ユーザに過大な負担をかけずに継続的にユーザの顔表情を識別して、顔表情マップを作成することができる。更に、作成した顔表情マップを用いて、ユーザの検索キーに応じた推薦情報を抽出・表示することにより、顔表情に関連した推薦情報をユーザに提示できる。
【0038】
(第2の実施形態)
本発明の第2の実施形態に係る顔表情識別システムは、
図9に示すように、CPU1が機械学習部10、顔表情識別部11に加え、時刻情報取得部15及び顔表情分布算出部16を備え、
図1に示した地理情報取得部12、顔表情マップ作成部13及び推薦情報抽出部14を備えない点が、
図1に示したCPU1の構成と異なる。また、記憶装置2が、学習データ記憶部20、顔表情記憶部21に加え、時刻情報記憶部24及び顔表情分布記憶部25を備え、
図1に示した地理情報記憶部22及び顔表情マップ記憶部23を備えない点が、
図1に示した記憶装置2の構成と異なる。
【0039】
CPU1の時刻情報取得部15は、顔表情識別部11により顔表情を識別した時点での時刻情報を顔表情と対応付けて取得する。時刻情報取得部15により取得された時刻情報は時刻情報記憶部24に格納される。
【0040】
顔表情分布算出部16は、例えば
図10に示すように、顔表情識別部11による識別結果と、時刻情報取得部15により取得された時刻情報とを関連付けた顔表情分布を算出する。
図10では、一日単位で7つの顔表情の割合(頻度)が示されている。なお、顔表情分布は
図10に示す態様に限定されず、例えば過去数日間の顔表情の割合を算出して配列してもよく、週単位又は月単位で顔表情の割合を算出してもよい。顔表情分布算出部16により算出された顔表情分布は顔表情分布記憶部25に格納される。
【0041】
本発明の第2の実施形態に係る顔表情識別システムの他の構成は、本発明の第1の実施形態に係る顔表情識別システムの構成と同様であるので、重複した説明を省略する。
【0042】
本発明の第2の実施形態に係る顔表情識別方法の一例を
図11のフローチャートに示す。ステップS30〜ステップS32の手順は、
図7のステップS10〜ステップS12の手順と同様であるので重複した説明を省略する。ステップS33において、時刻情報取得部15が、顔表情識別部11により顔表情を識別した時点の時刻情報を取得し、時刻情報記憶部24に格納する。
【0043】
次に、本発明の第2の実施形態に係る顔表情分布表示方法の一例を
図12のフローチャートに示す。ステップS41において、顔表情分布算出部16が、出力装置6に入力画面を表示させる。ユーザから入力装置5を介して確認したいユーザ情報が入力される。ステップS42において、顔表情分布算出部16が、顔表情識別部11にユーザ情報に適合した人物の一日当たりの顔表情分布を算出する。ステップS43において、出力装置6が、顔表情分布算出部16により算出された顔表情分布を出力する。なお、
図11及び
図12に示した一連の処理は連続して又は互いに並列で行ってもよい。
【0044】
本発明の第2の実施形態によれば、本発明の第1の実施形態と同様に、装着型の検出装置4a〜4qを用いて人物の顔表情を識別することにより、安価且つ簡潔な構成で、継続的(日常的)に低消費電力で顔表情を識別することが実現可能となる。更に、検出装置4a〜4qは眼鏡用のフレームやHMDの内部に取り付けることができるので、日常的な環境下や、HMD装着時のように人物の顔が遮蔽される場合等のカメラでの撮像が難しい条件下においても、継続的且つ容易に顔表情を識別できる。したがって、ユーザに過大な負担をかけずに継続的にユーザの顔表情を識別して、顔表情分布を作成することができる。
【0045】
更に、顔表情分布算出部16が、顔表情識別部11による識別結果と時刻情報取得部15により取得された時刻情報とを関連付けた顔表情分布を算出して出力装置6に表示させることにより、ユーザは顔表情分布から遠隔地に居住又は滞在する家族等の人物の様子を推測することができ、遠隔地に居住又は滞在する家族等の人物をネットワーク経由で見守ることができる。
【0046】
なお、本発明の第1及び第2の実施形態において、装着装置3が眼鏡型のデバイスである場合を主に例示したが、例えば、
図13に示すように、装着装置3がバーチャルリアリティ環境において視覚情報を提示可能なHMDであってもよい。図示を省略するが、装着装置3の内側には、例えば
図2に示した検出装置4a〜4qと同様の17個の検出装置と表示部とが設けられている。
【0047】
図14に示すように、装着装置3の内側の表示部40には、装着装置3を装着したユーザのバーチャルアバター41と、装着装置3と同様の装着装置を装着した他者のバーチャルアバター42とがオンラインサービス上で表示されている。顔表情識別部11は、第1及び第2の実施形態と同様にユーザ及び他者の顔表情をそれぞれ識別する。顔表情識別部11は更に、顔表情の識別結果をネットワーク上へ伝送し、伝送された顔表情の識別結果に応じて、バーチャルアバター41,42の顔表情をそれぞれ変化させることにより、ユーザ及び他者の顔表情とバーチャルアバター41,42の顔表情とをそれぞれ同期させることができる。これにより、没入型オンラインゲーム等においての表情コミュニケーションが実現可能となる。
【0048】
なお、装着装置3が眼鏡型のデバイス等である場合にも、顔表情識別部11が顔表情の識別結果をネットワーク上へ伝送し、伝送された識別結果に応じて出力装置6の画面に表示されたオンラインサービス上のアバターの顔表情を変化させてもよい。
【0049】
(第3の実施形態)
本発明の第3の実施形態に係る顔表情識別システムは、
図15に示すように、CPU1、記憶装置2、装着装置3、入力装置5及び出力装置6を備える。CPU1と、記憶装置2、装着装置3、入力装置5及び出力装置6とは、有線又は無線で信号やデータを互いに送受信可能である。
【0050】
本発明の第3の実施形態では、装着装置3がHMDである場合を例示する。HMDを用いたバーチャルリアリティ(VR)は、没入型ゲームや、遠隔地とのコミュニケーション等の幅広い用途での利用が期待されている。HMDを用いたVRでは、バーチャル環境にユーザが実際に存在するかのような没入感をユーザに与えることができる。更には、ユーザの分身としてのバーチャルアバター(以下、単に「アバター」と称する)を介してコミュニケーションを図ることにより、HMDでユーザの顔の上部が覆われている場合でも円滑なコミュニケーションを実現でき、プライバシーの観点からバーチャル環境に実際の顔が露出することを好まない人間にとっても好適である。
【0051】
ここで、アバターを用いた顔表情コミュニケーションを実現するために、HMDを装着しているユーザの顔表情を適切に識別し、ユーザの顔表情をアバターの顔画像に適切に反映させることが重要となる。なお、アバターとは、バーチャル環境においてユーザの分身となる2次元又は3次元のキャラクタを意味する。アバターは、人間の姿を模擬していてもよく、動物やロボットの姿を模擬していてもよいが、本明細書中ではユーザの複数種の顔表情に対応する複数種の顔表情を表現可能なキャラクタが採用可能である。
【0052】
装着装置3は、複数(16個)の検出装置(光センサ)61a,61b,61c,61d,61e,61f,61g,61h,61i,61j,61k,61l,61m,61n,61o,61p及び表示部62を備える。光センサ61a〜61pは、
図1に示した検出装置4a〜4qと同様の装置が使用可能であり、例えば反射型光センサ(フォトリフレクタ)等が使用可能である。光センサ61a〜61pは、装着装置3を装着したときにユーザの顔面と対向する複数箇所にそれぞれ配置されている。光センサ61a〜61pは、装着装置3を装着したユーザの顔面と装着装置3の間の距離を複数箇所で検出する。
【0053】
図16は、頭部に装着する側から見た装着装置3の一例を示す。装着装置3の本体部71にはフレキシブル回路基板72が固定されている。フレキシブル回路基板72のユーザの両目と対向する位置には2つの開口部が設けられ、2つの開口部の位置には一対のレンズ73a,73bが配置されている。フレキシブル回路基板72には、16個の光センサ61a〜61pが配置されている。このうち、14個の光センサ61a〜61f,61h〜61n,61pは、一対のレンズ73a,73bの周囲に配置されている。
【0054】
具体的には、光センサ61aは、装着装置3を装着したユーザの眉間近傍と対向する。光センサ61b〜61dは、ユーザの左眉近傍と対向する。光センサ61eは、ユーザの左目尻近傍と対向する。光センサ61f,61hは、ユーザの左目の下近傍と対向する。光センサ61iは、ユーザの眉間近傍と対向する。光センサ61j〜61lは、ユーザの右眉近傍と対向する。光センサ61mは、ユーザの右目尻近傍と対向する。光センサ61n,61pは、ユーザの右目の下近傍と対向する。
【0055】
フレキシブル回路基板72は、本体部71の下部に突出した2つの部分を有し、突出した2つの部分に2個の光センサ61g,61oがそれぞれ配置されている。2個の光センサ61g,61oは、装着装置3を装着したユーザの頬近傍と対向する。頬の筋肉は口の筋肉と連結されているので、頬の動きを測定することで口周辺の状態を推定することができる。
【0056】
図17は、ユーザが装着装置3を装着した様子を示す。
図17では模式的に、装着装置3の本体部71を透過して光センサ61a〜61pが見えるように示している。光センサ61a〜61pは、ユーザの目や頬等の顔面と、装着装置3との間の距離D(矢印で図示)を複数箇所で検出する。なお、光センサ61a〜61pの配置位置や数は特に限定されず、識別したい顔表情の種類等に応じて適宜設定可能である。
【0057】
図15に示した表示部62は、
図16に示した本体部71のレンズ73a,73bの奥側に配置されている。本発明の第3の実施形態では、表示部62として没入型(非透過型)の構造を例示するが、ハーフミラー等を用いて現実環境とアバターが重畳して視認可能な透過型の構造であってもよく、単眼のみに画像を投影する構造であってもよい。
【0058】
図15に示したCPU1は、アバター表示制御部31、学習データ生成部32及び顔表情識別部33を備え、更に、顔表情識別システム全体を制御する制御回路、演算回路、データを一時記憶するレジスタ等を有する。なお、CPU1の機能の一部が他の装置により実現されてもよく、CPU1の機能の一部又は全部が、装着装置3に内蔵されたマイクロプロセッサ等で実現されてもよい。
【0059】
記憶装置2は、アバターデータ記憶部50、学習データ記憶部51、光センサデータ記憶部52及び識別結果記憶部53を備える。アバターデータ記憶部50は、アバターの顔画像を含むアバターに関する情報を記憶する。学習データ記憶部51は、学習データ生成部32により生成される機械学習用のデータセットや、顔表情識別部33が機械学習して得られる学習データ(識別関数等)を記憶する。光センサデータ記憶部52は、光センサ61a〜61pにより検出された検出結果のデータ(センサ値)を記憶する。識別結果記憶部53は、顔表情識別部33による顔表情の識別結果を記憶する。記憶装置2は更に、CPU1が実行する顔表情識別プログラムやプログラムの実行に必要な各種データを記憶する。記憶装置2が記憶する全部又は一部の情報が、装着装置3に内蔵されたメモリに記憶されていてもよい。
【0060】
本発明の第3の実施形態においては、機械学習用のデータセットの生成方法を含む機械学習方法(学習フェーズ)と、機械学習により得られた学習データを用いた顔表情識方法(識別フェーズ)について説明するが、学習フェーズ及び識別フェーズで同一のアバターを使用してもよく、異なるアバターを使用してもよい。アバターデータ記憶部50は、学習フェーズ及び識別フェーズで使用する単数又は複数のアバターに関する情報を格納する。
【0061】
アバターデータ記憶部50は、アバターの複数種の顔表情(顔画像)のデータを記憶している。アバターの顔画像は、例えば
図4に模式的に示したように、「無表情」、「微笑み」、「笑い」、「嫌悪」、「怒り」、「驚き」、「悲しみ」等の人間の顔表情を模擬している。アバターの種類にもよるが、例えば、「無表情」は口を横に結ぶことで、「微笑み」は口角を持ち上げることで、「笑い」は目を細めて口を開くことでそれぞれ表現し得る。「嫌悪」は眉間に皺を寄せて目尻を上げることで、「怒り」は「嫌悪」よりも更に眉間に皺を寄せ、眉尻を上げることでそれぞれ表現し得る。「驚き」は目を見開いて口を開くことで、「悲しみ」は眉尻を下げることでそれぞれ表現し得る。アバターデータ記憶部5は更に、眉の上下、両目又は固めの開閉、口の開閉等の部分的に変化させた顔画像のデータを記憶していてもよい。アバターデータ記憶部50に記憶されるアバターの顔画像の数及び種類は特に限定されない。
【0062】
アバター表示制御部31は、学習フェーズにおいて、入力装置5を介して入力された指示情報等に基づいて、アバターデータ記憶部50に格納されたアバターの複数の顔画像のデータから、機械学習によって識別したい顔表情に対応するアバターの顔画像のデータを抽出する。アバター表示制御部31は、
図18(a)に示すように、抽出した顔表情のアバター100の画像を表示するように装着装置3の表示部62を制御する。
図18(a)ではアバター100の顔画像が「笑い」である場合を例示する。
【0063】
アバター表示制御部31は、アバターデータ記憶部50に格納されたアバターの複数の顔画像のデータから、機械学習によって識別したい顔表情に対応するアバターの顔画像のデータを順次抽出し、
図18(b)に示すように、表示部62に表示されるアバター100の顔画像を、抽出した顔画像に順次更新していく。
図18(b)ではアバター100の顔画像が「微笑み」である場合を例示する。アバター100の顔画像を更新するタイミングは適宜設定可能である。例えば、所定の時間が経過後のタイミングや、光センサ61a〜61pにより所定のフレーム数を検出後のタイミング、ユーザから入力装置5を介して入力された指示情報に応じたタイミング等であってもよい。
【0064】
アバター表示制御部31は、アバター100の顔画像の表示前、表示後、又は表示と同時に、
図18(a)及び
図18(b)に示すように、「アバターの顔画像を真似て下さい」等の文字情報を表示部62に表示させ、ユーザにアバター100の表情を真似るように促す。表示部62に文字情報を表示する代わりに、装着装置3に取り付けられている図示を省略したヘッドフォンやスピーカ等による音声情報を使用してもよい。なお、アバター表示制御部31は、ユーザにアバター100の表情を真似るように継続的又は断続的に促してもよいが、アバター100の顔画像を最初に表示する際に、ユーザにアバター100の表情を真似るように促した後は、文字情報や音声情報の提示を停止してもよい。また、アバターの顔画像に対応する文字情報や音声情報を補助的に提示してもよい。例えば、アバターの顔画像が「笑い」の場合には、「笑って下さい」等の文字情報や音声情報を補助的に提示してもよい。
【0065】
光センサ61a〜61pは、装着装置3を装着したユーザがアバターの顔画像を真似したときの顔面と装着装置3の間の距離を所定のフレーム数検出する。アバター表示制御部31がユーザにアバターの顔画像を真似るように促してから、或いは表示部62にアバターを表示してから、ユーザがアバターの顔画像の種類を認識し、ユーザの顔表情がアバターの顔画像に対応する顔表情に変化するまでにはタイムラグが発生する。このため、光センサ61a〜61pは、ユーザにアバターの顔画像を真似るように促してから、或いは表示部62にアバターを表示してから所定時間経過後に検出のタイミングや、入力装置5を介して入力された指示情報に応じたタイミングで検出を開始してもよい。
【0066】
光センサ61a〜61pにより検出される検出結果のデータ(センサ値)は、同一の顔表情をした場合でも個人差があるため、個人間で平衡をとるように前処理(キャリブレーション)が行われる。例えば、顔表情が「無表情」のときに検出されたセンサ値の平均値を0.5、複数種の顔表情のときに検出されたセンサ値のうちのそれぞれにおいて最大値を1、最小値を0として正規化を行う。センサ値は、例えば
図19に示すように、距離とセンサ値が線形的関係を実現するように線形補完される。
【0067】
学習データ生成部32は、学習フェーズにおいて、光センサ61a〜61pからのセンサ値を入力データとして、機械学習用のデータセットを生成する。例えば、学習データ生成部32は、光センサ61a〜61pからのセンサ値を顔表情毎の部分集合(クラスタ)に分類するクラスタリング処理を行う。
【0068】
学習データ生成部32は更に、分類されたクラスタに、アバター表示制御部31により抽出され、センサ値を検出するときに表示部62に表示していたアバターの顔画像の種類(例えば「微笑み」、「悲しみ」等)に対応するラベルを付与するラベリング処理を行い、ラベルを付与されたクラスタを機械学習用のデータセット(サンプリング結果)として学習データ記憶部51に格納する。このように、機械学習用のデータセットが生成され、これを個人毎に学習データ記憶部51に格納していくことで、顔表情認識のための学習データベースを構築することができる。
【0069】
顔表情識別部33は、学習フェーズにおいて、学習データ記憶部51に格納された機械学習用のデータセットを入力データとして、ニューラルネットワークやサポートベクタマシン等により、装着装置3を装着したユーザの顔表情を識別するための機械学習を行う。顔表情識別部33は、例えば
図20に模式的に示すように、入力層L11、隠れ層L12及び出力層L13を含む多層パーセプトロンで構成されたニューラルネットワークを用いて、誤差伝播法(BP)により機械学習を行う。
【0070】
図20に示したニューラルネットワークにおいて、マルチクラス分類問題であるため、例えば活性化関数には正規化線形関数を採用し、誤差関数には交差エントロピー法を採用し、出力層L3の活性化関数にはソフトマックス(softmax)関数を採用する。この場合、ニューラルネットワークは、入力層L11に入力された顔表情と、この顔表情に対応する教師信号が付与された複数の訓練した表情のそれぞれとの類似度を出力層L13から出力し、類似度が最も高い顔表情を識別結果とする。誤差逆伝播法(BP)では、出力層L13から出力される各テンプレート表情に対する類似度のうち、正解の表情に対する類似度が高くなるように(換言すれば、正解の表情に対する類似度の最大値との誤差が小さくなるように)、出力層L13から入力層L11にかけて、誤差の勾配を逆伝播させることで重みを修正する。
【0071】
また、人間の顔表情は、例えば「無表情」から「笑い」に瞬間的に変化するのではなく、「無表情」から「笑い」に遷移する途中に中間表情が存在し、徐々に連続的に(滑らかに)変化するものである。この顔表情の連続的な変化の識別と、識別結果に応じたアバターの顔表情の連続的な変化を実現するため、顔表情識別部33は、
図21に示すように、入力層L21、隠れ層L22、出力層L23で構成された回帰ニューラルネットワークを実装してもよい。
【0072】
図21に示した回帰ニューラルネットワークにおいて、例えば活性化関数には正規化線形関数を採用し、誤差関数には平均二乗関数を採用し、出力層L23の活性化関数には双曲線タンジェント(hyperbolic tangent)関数を採用する。
図21に示すように、例えば顔表情が「笑い」の回帰ニューラルネットワークの場合には、「無表情」に対する類似度を最小値の0、「笑い」に対する類似度を最大値の1と設定する。
図21に示した回帰ニューラルネットワークと同様の回帰ニューラルネットワークが、識別したい顔表情数だけ実装され、
図20に示したニューラルネットワークのマルチクラス分類の結果に依存するように使用される。
【0073】
アバターデータ記憶部50は、「無表情」や「笑い」等の代表的な顔表情間の中間表情を記憶していてもよい。中間表情は、例えばアバターのテクスチャ・ジオメトリのモーフィングにより生成可能である。アバター表示制御部31は、学習フェーズにおいて、アバター100の顔画像のデータから、「無表情」や「笑い」等の代表的な顔表情と、その顔表情間の中間表情を抽出する。そして、アバター表示制御部31は、抽出した代表的な顔表情及びその中間表情を連続的に装着装置3の表示部62に表示する。これにより、中間表情も識別するための機械学習用のデータセットを生成可能となる。
【0074】
顔表情識別部33は、識別フェーズにおいて、
図22に示すように、学習データであるマルチクラス分類器80を用いて、光センサ61a〜61pからのセンサ値を入力データとして、装着装置3を装着したユーザの顔表情を識別する。顔表情識別部33は、例えば、訓練した複数種のテンプレート表情に対する類似度を算出し、類似度が最も高い表情を顔表情として識別する。例えば、
図22に示すように、訓練した表情として「微笑み」、「怒り」、「驚き」、「悲しみ」の4種類があり、「微笑み」に対する類似度が0.8、「怒り」に対する類似度が0.2、「驚き」に対する類似度が0.1、「悲しみ」に対する類似度が0.1といった類似度として識別する。
【0075】
顔表情識別部33は更に、
図22に示すように、学習データである「微笑み」、「怒り」、「驚き」、「悲しみ」の回帰ネットワーク81〜84を用いて、光センサ61a〜61pからのセンサ値を入力データとして、装着装置3を装着したユーザの中間表情を識別してもよい。
【0076】
アバター表示制御部31は、識別フェーズにおいて、顔表情識別部33による識別結果に基づいて、アバターデータ記憶部50から、ユーザの顔表情に対応するアバターの顔画像のデータを抽出する。アバター表示制御部31は更に、抽出したアバターの顔画像のデータを伝送し、装着装置3の表示部62、ディスプレイ等の出力装置6、或いは通信ネットワークを介した通信相手が装着している装着装置の表示部等に表示させる。例えば、装着装置3の表示部62に、
図14に示した表示画像と同様に、ユーザ本人のアバターの顔画像と通信相手のアバターの顔画像が表示される。
【0077】
アバター表示制御部31は、コミュニケーション相手がコンピュータである場合には、ユーザの顔表情に対応したアバターの顔画像を表示する代わりに、ユーザの顔表情の識別結果に応じた他の表示をしてもよい。例えば、ユーザの顔表情が「怒り」と識別された場合に、「驚き」や「不安」を模擬した顔画像のキャラクタを装着装置3の表示部62に表示したり、「どうしましたか?」、「大丈夫ですか?」等の文字情報や音声情報を提示したりしてもよい。
【0078】
本発明の第3の実施形態に係る顔表情識別システムの他の構成は、
図1に示した第1の実施形態に係る顔表情識別システムと同様であるので、重複した説明を省略する。
【0079】
<機械学習方法>
次に、
図23のフローチャートを参照しながら、本発明の第3の実施形態に係る顔表情識別システムを用いた機械学習方法(学習フェーズ)の一例を説明する。
【0080】
ステップS51において、アバター表示制御部31は、入力装置5を介して入力された指示情報等に基づいて、アバターデータ記憶部50から、機械学習によって識別したい顔表情に対応するアバターの顔画像のデータを抽出する。そして、アバター表示制御部31は、抽出した顔表情のアバターを装着装置の表示部62に表示させるとともに、装着装置3を装着したユーザにアバターの顔画像を真似るように促す。ステップS52において、光センサ61a〜61pが、装着装置3を装着したユーザがアバターの顔画像を真似したときのセンサ値を取得する。
【0081】
ステップS53において、アバター表示制御部31は、機械学習によって識別したい所定の顔表情数についてのセンサ値を取得したか否かを判定する。所定の顔表情数のセンサ値を取得していないと判定された場合、ステップS50に戻り、残りの顔表情について同様の処理を繰り返す。例えば、5種類の顔表情について、100フレームずつ、10セットで合計5000セットのデータセットを取得する。ステップS53において所定の顔表情数のセンサ値を取得したと判定された場合、ステップS54に移行する。
【0082】
ステップS54において、学習データ生成部32が、光センサ61a〜61pのセンサ値を顔表情毎のクラスタに分類する。ステップS55において、学習データ生成部32が、分類されたクラスタに、アバター表示制御部31により生成されたアバターの顔画像に対応するラベルを付与することにより、機械学習用のデータセットを生成する。学習データ生成部32が、生成した機械学習用のデータセットを学習データ記憶部51に格納する。ステップS55において、顔表情識別部33は、学習データ記憶部51に格納された機械学習用のデータセットを用いて、顔表情を識別するための機械学習を行う。
【0083】
<顔表情識別方法>
次に、
図24のフローチャートを参照しながら、本発明の第3の実施形態に係る顔表情識別方法(識別フェーズ)の一例を説明する。
【0084】
ステップS61において、装着装置3がユーザの頭部に装着されている状態で、光センサ61a〜61pがセンサ値を取得する。ステップS62において、顔表情識別部33は、光センサ61a〜61pからのセンサ値を入力データとして、学習データ記憶部51に格納された学習データを読み込んで、装着装置3を装着したユーザの顔表情を識別する。
【0085】
ステップS63において、アバター表示制御部31は、顔表情識別部33による識別結果に基づいて、装着装置3を装着したユーザの顔表情に対応するアバターの顔画像のデータをアバターデータ記憶部50から抽出する。アバター表示制御部31は、抽出したアバターの顔画像を、装着装置3の表示部62や、通信相手の装着装置の表示部等に表示させる。
【0086】
<実験例>
学習フェーズにおいて、装着装置3の表示部62に4種類のアバターの顔画像を周期的に表示し、装着装置3を装着したユーザがアバターの顔画像を真似たときに光センサ61a〜61pがセンサ情報を100フレームずつ取得した。
図25は、得られた光センサ61a〜61pのセンサ値に対して主成分分析による第1主成分の算出結果を示す。
【0087】
図26(a)〜
図26(c)は、眉を動かした場合のセンサ値の変化を示す。
図26(a)〜
図26(c)の左側は、眉を上げた状態、眉が通常の状態、眉を下げた状態をそれぞれ模式的に示し、
図26(a)〜
図26(c)の右側には、各状態のときのセンサ値を示す。
図26(a)〜
図26(c)の右側のグラフの縦軸はセンサ値の平均正規化値を示し、横軸のセンサ番号は、
図15〜
図17に示した光センサ61a〜61pに順次対応する(例えば、センサ番号の1番が光センサ61aに対応する。以降の
図27(a)〜
図27(c)、
図29(a)〜
図29(c)、
図30(a)及び
図30(b)も同様である。)。但し、2番のセンサ値はデータが欠落している。
図26(a)〜
図26(c)に示すように、3番や12番等の眉の位置に近いセンサ値は各状態で大きく変動しており、眉の動きが反映されていることが分かる。一方、6番や14番等の眉の位置と離れたセンサ値は変動が少ないことが分かる。
【0088】
図27(a)〜
図27(c)は、目を開閉した場合のセンサ値の変化を示す。
図27(a)〜
図27(c)の左側は、右目だけ閉じた状態、左目だけ閉じた状態、両目を閉じた(強くつぶった)状態をそれぞれ模式的に示し、
図27(a)〜
図27(c)の右側には、各状態のときのセンサ値を示す。
図27(a)に示すように、右目だけ閉じた状態では右目部分にある12番のセンサ値が他に比べて変動していることが分かる。また、
図27(b)に示すように、左目だけ閉じた状態では3,4,5番のセンサ値が他に比べて変動していることが分かる。また、
図27(c)に示すように、両目を閉じた状態では、1番や9番のセンサ値が変動していることが分かる。
【0089】
図28(a)には、
図27(a)〜
図27(c)の各状態に通常状態(両目を開けた状態)を加えたクラスタの分類結果を示し、
図28(b)には、
図28(a)に対応する真値を示す。
図28(a)及び
図28(b)に示すように、目の開閉については、通常状態、右目だけ閉じた状態、左目だけ閉じた状態、両目を閉じた状態でそれぞれ、大部分のデータを正しいクラスに分類できていることが分かる。
【0090】
図29(a)〜
図29(c)、
図30(a)及び
図30(b)は、口の動きを変化させた場合のセンサ値を示す。
図29(a)〜
図29(c)、
図30(a)及び
図30(b)の左側は、ユーザの口を「ア」「イ」「ウ」「エ」「オ」を発声するときの形に変化させた状態をそれぞれ模式的に示し、
図29(a)〜
図29(c)、
図30(a)及び
図30(b)の右側には、各状態のときのセンサ値を示す。
図29(a)〜
図29(c)、
図30(a)及び
図30(b)に示すように、7番目及び15番目の頬の位置に近いセンサ値が変動していることが分かる。
【0091】
図31(a)には、
図29(a)〜
図29(c)、
図30(a)及び
図30(b)の各状態のクラスタの分類結果を示し、
図31(b)には、
図31(a)に対応する真値を示す。
図31(a)及び
図31(b)に示すように、「エ」、「オ」等を中心に混ざってしまったが、「ウ」の口の動きだけが他の動きに比べてクラス間距離が離れており、良好に分類できていることが分かる。また、「ア」及び「イ」の状態、「エ」の状態、「ウ」及び「オ」の状態の3つのクラスタに分類可能であることが分かる。
【0092】
図32(a)は、「無表情」、「微笑み」、「怒り」、「驚き」、「悲しみ」の5種類の顔表情の分類ネットワークの訓練データを示し、
図32(b)は、主成分分析による第1主成分を示し、
図32(c)は、主成分分析による第2主成分を示す。
図32(a)〜
図32(c)から、ユーザがアバターの顔画像を真似したときに、センサ値が変化していることが分かる。
【0093】
図33(a)は、「微笑み」、「怒り」、「驚き」、「悲しみ」の4種類の顔表情を徐々に変化させたときの回帰ネットワークの訓練データを示し、
図33(b)は、主成分分析による第1主成分を示す。
図34(a)は、ターゲットとする顔表情を示し、
図34(b)は、マルチクラス分類の結果を示す。
図35(a)〜
図35(d)は、
図34(b)に示したマルチクラス分類をマージした、「微笑み」、「怒り」、「驚き」、「悲しみ」の回帰結果をそれぞれ示す。
図35(a)〜
図35(d)から、各回帰の出力が線形に変化していることが分かる。
【0094】
以上説明したように、本発明の第3の実施形態によれば、学習フェーズにおいて、装着装置3の表示部62にアバターを表示し、表示したアバターの表情をユーザが真似したときの光センサ61a〜61pからのセンサ値から機械学習用のデータセットを生成することにより、機械学習用のデータセットを短時間で効率的に収集することができる。この際、ユーザはアバターの顔画像を真似すればよいので、アバターの表情を直感的に把握して真似ることができ、音声情報で顔表情を指示する場合よりもユーザの負担を低減することができる。更に、表示したアバターの顔画像の時系列を考慮して記録したデータに対して、ラベリングを行ない機械学習のための訓練データとするが、提示しているアバターとユーザの顔表情の間に時間的なずれが発生することがある。これに対して、クラスタリングよる分類又は推定モデルを参照することで時間的なずれを補正してラベリングを行うことができる。
【0095】
更に、識別フェーズにおいて、ユーザの顔表情の識別結果に基づいてアバターの顔画像を変化させる際に、学習フェーズでユーザが真似したアバターと同一又は類似のアバターを使用すれば、例えば口の開閉の程度や、眉の上下の程度等の部位の細かい動きについてもユーザが想定するようにアバターの顔画像を適切に変化させることができ、ユーザの感情をより鮮明に表現することができる。
【0096】
(第4の実施形態)
本発明の第4の実施形態に係る顔表情識別システムは、
図36に示すように、装着装置3がずれセンサ63を更に備える点と、CPU1がずれ量算出部34及び修正提示部35を更に備える点と、記憶装置2がずれデータ記憶部55を更に備える点が、
図15に示した第3の実施形態に係る顔表情識別システムと異なる。他の構成は
図15に示した第3の実施形態に係る顔表情識別システムと同様であるので、重複した説明を省略する。
【0097】
ずれセンサ63としては、変位センサや測長センサが使用可能である。ずれセンサ63は、装着装置3の光センサ61a〜61pとは異なる位置に配置されている。ずれセンサ63は1つのみ配置されていてもよく、複数個配置されていてもよい。ずれセンサ63は、装着位置3を装着したユーザの目等のランドマークに基づいて、装着位置3を正常に装着したときの位置を基準位置として、基準位置に対する前後方向、上下方向、左右方向の少なくとも1方向のずれを検出する。ずれセンサ63による検出結果はずれデータ記憶部55に格納される。なお、ずれセンサ63を個別に備えていなくても、顔表情検出のための距離検出に使用している光センサ61a〜61pのセンサ値をずれの検出に用いることもできる。
【0098】
ずれ量算出部34は、ずれセンサ63による検出結果又は光センサ61a〜61pのセンサ値の分布から、基準位置に対するずれ量及びずれ方向を検出する。例えば、
図37は、装着装置3を前後方向のずらしたときの種々の顔表情に対する光センサ61a〜61pのセンサ値の変化を示すグラフである。レベル1〜4でずれ量を変化させており、レベルの数値が高いほど装着装置3と人物の顔面との距離が遠くにずれている。ずれ量算出部34は、
図37に示した光センサ61a〜61pのセンサ値の一部を用いて、回帰により、
図38に示すように装着装置3の前後方向のずれ量を算出する。
【0099】
図39(a)〜
図42(b)は、
図37に示した種々の顔表情に対するセンサ値の変化を、顔表情毎に分けたグラフである。
図39(a)は「無表情」、
図39(b)は「喜び」、
図40(a)は「嫌悪」、
図40(b)は「怒り」、
図41(a)は「驚き」、
図41(b)は「恐怖」、
図42(a)は「悲しみ」、
図42(b)は「軽蔑」に対するセンサ値の変化をそれぞれ示す。
図39(a)〜
図42(b)に示すように、レベルの数値が高く装着装置3と人物の顔面との距離が遠いほど、センサ値は全体的に低下する傾向がある。
【0100】
修正提示部35は、ずれ量算出部34により算出されたずれ量が所定の閾値以上の場合に、装着装置3を装着したユーザにずれの修正内容を提示し、ずれを修正するようにユーザに促す。所定の閾値は適宜設定可能であり、ずれデータ記憶部55に予め格納されていてもよい。修正提示部35は、ユーザにずれの修正内容を提示する際には、例えば「装着装置が右上方向にずれています」、「装着装置を左下方向に修正して下さい」等の修正方向を示す文字情報や、矢印等の修正方向を示す画像を表示部62に表示してもよい。また、文字情報や画像の代わりに、音声情報を出力してもよく、或いは装着装置3のずれの修正方向が直感的に分かるように振動等でユーザの触覚に対して提示してもよい。
【0101】
本発明の第4の実施形態に係る顔表情識別システムを用いた機械学習方法の一例は、
図23に示した本発明の第3の実施形態に係る機械学習方法と基本的には同様とし、ステップS52において、光センサ61a〜61pによる検出と同時に、ずれセンサ63がずれを検出する。また、ステップS55において、学習データ生成部32は、光センサ61a〜61pによるセンサ値に対して、顔表情及びずれに対応するラベルを付与することにより機械学習用のデータセットを生成する。ずれに対応するラベルの情報は、例えば入力装置5を介して入力されてもよい。
【0102】
次に、
図43のフローチャートを参照しながら、本発明の第4の実施形態に係る顔表情識別方法の一例を説明する。
【0103】
ステップS71において、光センサ61a〜61pが、装着装置3を装着したユーザの顔面と装着装置3の間の距離を検出する。ステップS72において、ずれセンサ63がずれを検出する。ずれ量算出部34が、ずれセンサ63の検出結果に基づいて、ずれ量及びずれ方向を算出する。ステップS73において、修正提示部35は、ずれ量算出部34により算出されたずれ量が所定の閾値以上か否かを判定する。ずれ量が所定の閾値以上の場合に、ステップS74に移行して、修正提示部35は、ずれを修正するようにユーザに修正内容を提示する。
【0104】
一方、ステップS73において、ずれ量が所定の閾値未満の場合には、ステップS76に移行し、顔表情識別部33は、ずれに応じたラベルが付与された学習データを選択し、選択した学習データを用いてユーザの顔表情を識別する。ステップS76において、アバター表示制御部11が、顔表情識別部33による識別結果に基づいて、アバターの顔画像を抽出し、抽出した顔表情のアバターを装着装置3の表示部62等に表示する。
【0105】
以上説明したように、本発明の第4の実施形態によれば、装着装置3を装着したときのずれを検出して、ずれに応じたラベルが付与された学習データを選択することにより、顔表情を適切に識別することができる。また、装着装置3を装着したときのずれを検出して、ユーザに対してずれを修正するように促すことにより、装着装置3のずれを適切に修正することができる。
【0106】
(第5の実施形態)
本発明の第5の実施形態に係る顔表情識別システムは、
図44に示すように、装着装置3が血流センサ64を更に備える点と、記憶装置2が血流データ記憶部56を更に備える点が、
図15に示した第3の実施形態に係る顔表情識別システムと異なる。他の構成は
図15に示した第3の実施形態に係る顔表情識別システムと同様であるので、重複した説明を省略する。
【0107】
血流センサ64は、装着装置3を装着したユーザの血流量を検出する。血流センサ64は、多波長の光を発光する光源と、多波長の反射光の光強度を検出する検出部とを備える。血流センサ64は、頬等の顔色を計測し易い位置に多波長の光を照射し、反射光の光強度に基づいて血流量を検出する。例えば、血液中の赤血球に含まれるヘモグロビンは緑色の光を吸収する性質を持っており、血流量が増大するほどヘモグロビンが増え、多波長の光を照射したときに緑色の光が吸収されやすくなることを利用し、反射光のうちの緑色の波長の光強度に基づいて血流量を検出可能である。血流センサ64により検出された血流量は、血流データ記憶部56に記憶される。
【0108】
顔表情識別部33は、血流センサ64により検出された血流量を所定の閾値と比較することにより、ユーザの顔色を識別する。例えば、血流センサ64により検出された血流量が第1の閾値以上の場合、顔表情識別部33は、ユーザの顔色を「赤面」と識別する。また、血流センサ64により検出された血流量が、第1の閾値未満である第2の閾値未満の場合、顔表情識別部33は、ユーザの顔色を「蒼白」と識別する。血流センサ64により検出された血流量が第1の閾値未満かつ第2の閾値以上の場合、顔表情識別部33は、ユーザの顔色を「通常」と識別する。
【0109】
アバター表示制御部31は、顔表情識別部33によるユーザの顔表情及び顔色の識別結果に基づいて、アバターの顔画像を変化させる。アバター表示制御部31は、例えばアバターの顔画像として、「赤面」且つ「怒り」の顔画像を表示したり、「蒼白」且つ「驚き」の顔画像を表示したりすることができる。
【0110】
以上説明したように、本発明の第5の実施形態によれば、装着装置3を装着したユーザの顔表情に加えて顔色も識別することにより、ユーザの感情をより詳細に識別することができる。更に、ユーザの顔色の識別結果に応じてアバターの顔色も変化させることにより、VR環境での表情コミュニケーションの自由度を向上させることができる。
【0111】
(第6の実施形態)
本発明の第6の実施形態に係る顔表情識別システムは、
図45に示すように、CPU1が光センサ調整部37を更に備える点が、
図15に示した第3の実施形態に係る顔表情識別システムと異なる。他の構成は
図15に示した第3の実施形態に係る顔表情識別システムと同様であるので、重複した説明を省略する。
【0112】
光センサ調整部37は、学習フェーズ又は識別フェーズのキャリブレーション時等において、光センサ61a〜61pのセンサ値に応じて、光センサ61a〜61pの発光強度及び感度を調整する。例えば、光センサ調整部37は、光センサ61a〜61pのセンサ値のうち、最大値及び最小値を抽出する。光センサ調整部37は、抽出した最大値及び最小値を所定の閾値と比較することにより、光センサ61a〜61pの発光強度及び感度の調整が必要か否かを判定する。
【0113】
光センサ61a〜61pの発光強度及び感度の調整が必要と判定された場合に、光センサ調整部37は、光センサ61a〜61pの可変抵抗の値を調整することにより、発光強度及び感度を調整する。例えば、光センサ61a〜61pのセンサ値の最大値が第1の閾値以上と判定された場合、光センサ61a〜61pの可変抵抗の値を大きくすることにより、光センサ61a〜61pの発光強度及び感度を低減する。また、光センサ61a〜61pのセンサ値の最小値が、第1の閾値よりも小さい第2の閾値未満と判定された場合、光センサ61a〜61pの可変抵抗の値を小さくすることにより、光センサ61a〜61pの発光強度及び感度を増大する。
【0114】
次に、
図46のフローチャートを参照しながら、本発明の第6の実施形態に係る顔表情識別システムを用いた光センサの発光強度の調整方法の一例を説明する。なお、本発明の第6の実施形態に係る顔表情識別システムを用いた光センサの発光強度の調整方法は、例えば学習フェーズ又は識別フェーズのキャリブレーション時に実行される。
【0115】
ステップS81において、光センサ61a〜61pがセンサ値(反射強度)を取得する。ステップS82において、光センサ調整部37は、光センサ61a〜61pにより取得されたセンサ値(反射強度)の最大値及び最小値を抽出する。
【0116】
ステップS83において、光センサ調整部37は、抽出した最大値及び最小値を所定の閾値と比較することにより、光センサ61a〜61pの発光強度及び感度を調整する必要が有るか否かを判定する。光センサ61a〜61pの発光強度及び感度の調整が必要と判定された場合には、ステップS84に移行し、光センサ61a〜61pの可変抵抗を調整することにより、光センサ61a〜61pの発光強度及び感度を調整する。一方、ステップS83において光センサ61a〜61pの発光強度及び感度の調整が不要と判定された場合には、処理を完了する。
【0117】
以上説明したように、本発明の第6の実施形態によれば、光センサ61a〜61pの反射強度情報に基づいて光センサ61a〜61pの発光強度及び感度を調整することにより、適切なレンジでセンサ値を検出することができる。
【0118】
(その他の実施形態)
上記のように、本発明は第1〜第6の実施形態によって記載したが、この開示の一部をなす論述及び図面は本発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
【0119】
例えば、本発明の第1〜第6の実施形態において、装着装置3が、装着装置3を装着したユーザの顔面の皮膚の移動量を検出する反射型イメージセンサを更に備えていてもよい。或いは、装着装置3が、光センサ61a〜61pを用いる代わりに、装着装置3を装着したユーザの顔面の皮膚の移動量を検出する反射型イメージセンサを備えていてもよい。反射型イメージセンサとしては、例えばCMOSイメージセンサやCCDイメージセンサが使用可能である。反射型イメージセンサは、例えば1次元又は2次元の顔面の皮膚の移動量を検出する。表情識別部33は、光センサ61a〜61pからのセンサ値と、反射型イメージセンサからの移動量に基づいて、装着装置3を装着したユーザの顔表情を識別する。これにより、ユーザの顔表情の識別精度を更に向上させることができる。
【0120】
また、本発明の第1〜第6の実施形態において、装着装置3を装着しているユーザ本人の学習データが学習データ記憶部51に格納されている場合には、顔表情識別部33は、ユーザ本人の学習データを読み出して、顔表情を識別してもよい。一方、装着装置3を装着しているユーザ本人の学習データが学習データ記憶部51に格納されていない場合には、顔表情識別部33は、学習データ記憶部51に格納されている他者の学習データを用いてよい。
【0121】
この場合、顔表情識別部33は、光センサ61a〜61pのセンサ値と、装着装置3を装着しているユーザの現在の顔表情に対応するラベルを入力データとして、他者の学習データ毎に、ユーザの現在の顔表情に対応するラベルと同一のラベルが付与された(同一の顔表情の)テンプレート表情に対する類似度を算出する。顔表情識別部33は更に、類似度が最も高い他者の学習データを読み込んで、ユーザの顔表情を識別する。
【0122】
これにより、装着装置3を装着しているユーザ本人の学習データが無い場合であっても、ユーザと類似する他者の学習データを利用して、適切に顔表情を識別することができる。なお、ユーザの顔表情に対応するラベルは、入力装置5を介して入力されたものを使用してもよい。また、本発明の第3の実施形態のように、アバター表示制御部31により抽出されたアバターの顔画像をユーザが真似て光センサ61a〜61pのセンサ値を検出している場合には、アバター表示制御部31により抽出されたアバターの顔画像のデータに基づいてラベルを生成してもよい。
【0123】
また、第1〜第6の実施形態に係る顔表情識別システムの各構成を互いに組み合わせてもよい。例えば、
図1に示したCPU1が、
図9に示した時刻情報取得部15及び顔表情分布算出部16を更に備え、
図1に示した記憶装置2が、
図9に示した地理情報記憶部22及び顔表情マップ記憶部23を更に備えていてもよい。また、第1〜第6の実施形態に係る機械学習方法(学習フェーズ)の処理と、第1〜第6の実施形態に係る顔表情識別方法(識別方法)の処理とを、互いに異なる実施形態同士で組み合わせてもよい。