(57)【要約】【課題】正面を向いていない顔画像に対して表情判定を行っても、容易に判定結果を得る。【解決手段】ロボット１は、カメラ２２と、顔検出部１１１と、顔角度推定部１１２と、表情判定部１１４と、を備える。カメラ２２は、画像データを取得する。顔検出部１１１は、カメラ２２が取得した画像データから人の顔を検出する。顔角度推定部１１２は、顔検出部１１１が検出した顔の角度を推定する。表情判定部１１４は、顔角度推定部１１２が推定した角度に基づき顔の表情を判定する。【選択図】図３
2019003536.tif 000002
【特許請求の範囲】
【請求項１】
画像データを取得する画像取得部と、
前記画像取得部が取得した画像データから人の顔を検出する顔検出部と、
前記顔検出部が検出した顔の角度を推定する顔角度推定部と、
前記顔角度推定部が推定した角度に基づき前記顔の表情を判定する表情判定部と、
を備える表情判定装置。
【請求項２】
前記顔角度推定部が推定する顔の角度は、撮像装置の正面の方向に対する角度である、
請求項１に記載の表情判定装置。
【請求項３】
前記顔角度推定部が推定する顔の角度は、ピッチ角、ロール角及びヨー角のうちのいずれか１つ以上である、
請求項１又は２に記載の表情判定装置。
【請求項４】
前記表情判定部は、前記顔角度推定部が推定した角度の絶対値が表情識別可能角度以下のときに、前記顔角度推定部が推定した角度に基づき、前記顔の表情を判定する、
請求項１から３のいずれか１項に記載の表情判定装置。
【請求項５】
前記画像取得部は、前記顔検出部が顔を検出してから、前記表情判定部において前記表情を判定するのに必要な時間である画像取得基準時間の間、前記画像データを取得する、
請求項１から４のいずれか１項に記載の表情判定装置。
【請求項６】
前記画像取得部は、前記顔検出部が顔を検出してから、前記表情判定部において前記表情を判定するのに必要なフレーム数である画像取得基準フレーム数の前記画像データを取得する、
請求項１から４のいずれか１項に記載の表情判定装置。
【請求項７】
前記顔角度推定部は、前記顔検出部が検出した顔の画像データから顔パーツを検出し、正面を向いた標準的な顔の３次元形状モデルに前記検出した顔パーツを当てはめることによって、前記顔検出部が検出した顔の角度を推定する、
請求項１から６のいずれか１項に記載の表情判定装置。
【請求項８】
前記顔検出部は、前記検出した顔に目及び口を含むように正規化された画像データを生成し、
前記表情判定部は、前記顔検出部が生成した前記正規化された画像データに含まれる顔の表情を判定する、
請求項１から７のいずれか１項に記載の表情判定装置。
【請求項９】
前記顔検出部が検出した顔の表情の尤度を取得する表情識別部を備え、
前記表情判定部は、前記顔角度推定部が推定した角度と前記表情識別部が取得した尤度とに基づき前記顔の表情を判定する、
請求項１から８のいずれか１項に記載の表情判定装置。
【請求項１０】
前記表情識別部が取得する顔の表情の尤度は、前記顔検出部が検出した顔の表情の程度を示す表情スコアであり、
前記表情判定部は、前記顔角度推定部が推定した角度に基づいて、前記表情識別部が取得した表情スコアを修正した修正表情スコアを算出することによって前記顔の表情を判定する、
請求項９に記載の表情判定装置。
【請求項１１】
前記表情識別部は、少なくとも、前記顔の表情がどの程度笑顔になっているかを示す数値である笑顔スコアを取得する笑顔識別部を含む、
請求項１０に記載の表情判定装置。
【請求項１２】
前記顔角度推定部は、前記顔の上下方向の角度であるピッチ角を推定し、
前記表情判定部は、前記顔角度推定部が推定したピッチ角が上向きの角度なら前記笑顔識別部が取得した笑顔スコアを前記ピッチ角に応じて増加させた修正笑顔スコアを算出することによって前記顔の表情を判定する、
請求項１１に記載の表情判定装置。
【請求項１３】
前記表情識別部は、少なくとも、前記顔の表情がどの程度笑顔になっているかを示す数値である笑顔スコアを取得する笑顔識別部と、前記顔の表情がどの程度ネガティブな表情になっているかを示す数値であるネガティブスコアを取得するネガティブ表情識別部と、を含み、
前記顔角度推定部は、前記顔の上下方向の角度であるピッチ角を推定し、
前記表情判定部は、
前記顔角度推定部が推定したピッチ角が上方向の角度なら前記笑顔識別部が取得した笑顔スコアを前記ピッチ角に応じて増加させた修正笑顔スコアを算出し、
前記顔角度推定部が推定したピッチ角が下方向の角度なら前記ネガティブ表情識別部が取得したネガティブスコアを前記ピッチ角に応じて増加させた修正ネガティブスコアを算出することによって前記顔の表情を判定する、
請求項１０に記載の表情判定装置。
【請求項１４】
前記表情識別部は、喜び識別部、驚き識別部、恐怖識別部、嫌悪識別部、怒り識別部、悲しみ識別部及び平常識別部を含み、
前記表情判定部は、喜び、驚き、恐怖、嫌悪、怒り、悲しみ及び平常時の顔の表情を判定する、
請求項９から１３のいずれか１項に記載の表情判定装置。
【請求項１５】
前記顔角度推定部が推定した角度の絶対値が表情識別可能角度以下のときに、前記表情判定部が判定した結果を判定時刻とともに記憶する判定結果記憶部をさらに備え、
前記表情判定部は、前記顔角度推定部が推定した角度の絶対値が前記表情識別可能角度を超えているときに、前記判定結果記憶部に記憶されている判定結果のうち、判定時刻が有効時間内のものを、前記顔の表情の判定結果とする、
請求項１から１４のいずれか１項に記載の表情判定装置。
【請求項１６】
画像データを取得する画像取得ステップと、
前記画像取得ステップで取得した画像データから人の顔を検出する顔検出ステップと、
前記顔検出ステップで検出した顔の角度を推定する顔角度推定ステップと、
前記顔角度推定ステップで推定した角度に基づき前記顔の表情を判定する表情判定ステップと、
を含む表情判定方法。
【請求項１７】
コンピュータに、
画像データを取得する画像取得ステップ、
前記画像取得ステップで取得した画像データから人の顔を検出する顔検出ステップ、
前記顔検出ステップで検出した顔の角度を推定する顔角度推定ステップ、及び、
前記顔角度推定ステップで推定した角度に基づき前記顔の表情を判定する表情判定ステップ、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表情判定装置、表情判定方法及びプログラムに関する。
【背景技術】
【０００２】
人の顔の画像から、その顔の表情を判定する装置が開発されてきている。例えば、特許文献１には、被写体の人の顔の表情が笑顔となったときに自動的に撮影を行う撮像装置が記載されている。ただし、特許文献１に記載の撮像装置は、被写体の顔が正面を向いている場合の顔画像を表情判定の対象としている。これに対し、顔認証に関する技術であるが、特許文献２には、３次元顔モデルを用いて正面からの顔に正規化する処理を行うことによって、顔の向きによらずに顔認証を行うことのできる顔認証装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−４９４８９号公報
【特許文献２】特開２００９−４３０６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の撮像装置は、被写体の顔の表情が笑顔となったときに撮影を行うので、基本的には被写体の顔が正面を向いている場合の顔画像を表情判定の対象としている。したがって、正面を向いていない顔画像に対して表情判定を行うと、妥当な判定結果を得ることができない。また、特許文献２に記載の顔認証装置は、正面を向いていない顔画像に対しても顔認証を行うことができるが、３次元モデルを用いて正面を向いた顔に正規化するという複雑な処理を、顔認証処理の前に行う必要がある。
【０００５】
本発明は、上記の課題を鑑みてなされたものであり、正面を向いていない顔画像に対して表情判定を行っても、容易に判定結果を得ることができる表情判定装置、表情判定方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の表情判定装置は、
画像データを取得する画像取得部と、
前記画像取得部が取得した画像データから人の顔を検出する顔検出部と、
前記顔検出部が検出した顔の角度を推定する顔角度推定部と、
前記顔角度推定部が推定した角度に基づき前記顔の表情を判定する表情判定部と、
を備える。
【発明の効果】
【０００７】
本発明によれば、正面を向いていない顔画像に対して表情判定を行っても、容易に判定結果を得ることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態１に係るロボットの外観図である。
【図２】頭の回転方向を説明するための図である。
【図３】実施の形態１に係る、表情判定装置としてのロボットの機能構成を示す図である。
【図４】顔画像データの正規化を説明するための図である。
【図５】顔の向きを変化させた時の顔画像データの一例を示す図である。
【図６】顔角度推定部が推定した顔のピッチ角の一例を示す折れ線グラフである。
【図７】笑顔識別部が出力した笑顔スコアの一例を示す折れ線グラフである。
【図８】笑顔識別部が出力した笑顔スコアの一例と表情判定部が修正した表情判定値の一例とを示す折れ線グラフである。
【図９】実施の形態１に係る表情判定処理のフローチャートである。
【図１０】変形例２に係る表情判定処理のフローチャートである。
【図１１】本発明の実施の形態２に係る、表情判定装置としてのロボットの機能構成を示す図である。
【図１２】実施の形態２に係る表情判定処理のフローチャートである。
【図１３】（ａ）口領域を含む正規化後の顔画像データの一例を示す図である。（ｂ）口領域を含まない正規化後の顔画像データの一例を示す図である。（ｃ）目領域のみを含む正規化後の顔画像データの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態に係る表情判定装置、表情判定方法及びプログラムについて、図表を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。
【００１０】
（実施の形態１）
本発明の実施の形態１に係る表情判定装置は、人の顔の画像から、その人の顔の表情が笑顔であるか否かを判定するロボット１である。ロボット１は、図１に示すように、頭２と胴体３とを備えた人型のコミュニケーションロボットである。ロボット１は、例えば住宅内を移動し、住人と会話をすることができる。また、ロボット１は、例えばイベント会場内を移動し、イベント来場者を案内したり、イベント来場者からの問い合わせに応答したりすることができる。
【００１１】
図１に示すように、ロボット１の頭２には、マイク２１と、カメラ２２と、スピーカ２３と、センサ群２４と、が設けられている。
【００１２】
マイク２１は、頭２の上部に複数設けられており、アレーマイクを構成する。マイク２１は、ロボット１の周囲の音声のデータを取得する音声取得部として機能する。
【００１３】
カメラ２２は、頭２の前面の中央部、人の顔でいうところの鼻の位置に設けられている撮像装置である。カメラ２２は、ロボット１の正面の画像のデータを取得する画像取得部として機能し、取得した画像データを後述する制御部１００に入力する。カメラ２２は、画像データを１秒間にフレームレートの数だけ取得することができる。例えばフレームレートが３０の場合は、１／３０秒毎に１つの画像データ（フレーム）を取得することができる。（１／フレームレート）秒毎に取得される画像データの１つ１つをフレーム画像とも言う。
【００１４】
スピーカ２３は、カメラ２２の下側、人の顔でいうところの口の位置に設けられている。スピーカ２３は、音声を出力する音声出力部として機能する。
【００１５】
センサ群２４は、人の顔でいうところの目の位置と耳の位置と設けられている。センサ群２４は、加速度センサ、障害物検知センサ等を含み、各種物理量を検出して、ロボット１の姿勢制御や安全性確保のために使用される。
【００１６】
ロボット１の頭２と胴体３とは、図１に示すように、破線で示される首関節３１によって相互に連結されている。首関節３１は、複数のモータを含む。後述する制御部１００がこれら複数のモータを駆動することにより、ロボット１の頭２を回転させることができる。頭２は、図２に示すように、Ｘ軸を中心とするピッチ角の回転、Ｙ軸を中心とするヨー角の回転、Ｚ軸を中心とするロール角の回転、のそれぞれの回転が可能である。
【００１７】
図１に示すように、ロボット１の胴体３の下部には足回り部３２が設けられている。足回り部３２は、４つの車輪（ホイール）と駆動モータとを含む。４つの車輪のうち、２つが前輪として胴体３の前側に、残り２つが後輪として胴体３の後ろ側に、それぞれ配置されている。車輪としては、例えば、オムニホイール、メカナムホイール等を使用しても良い。後述の制御部１００が、駆動モータを制御して車輪を回転させると、ロボット１は移動する。
【００１８】
次に、図３を参照して、ロボット１の機能構成を説明する。図３に示すように、ロボット１は、上述の構成に加え、操作ボタン３３と、制御部１００と、記憶部１０１と、を備える。
【００１９】
操作ボタン３３は、胴体３の背中の位置に設けられている。操作ボタン３３は、ロボット１を操作するための各種ボタンである。操作ボタン３３は、電源ボタン、スピーカ２３の音量調節ボタン等を含む。
【００２０】
制御部１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等で構成される。制御部１００は、記憶部１０１に記憶されたプログラムを実行することにより、後述する顔検出部１１１、顔角度推定部１１２、表情識別部１１３、表情判定部１１４及び対話処理部１１５として機能する。
【００２１】
記憶部１０１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、制御部１００のＣＰＵが実行するプログラム、各種データ等を記憶する。また、記憶部１０１は、機能的には判定結果記憶部１２１を備える。判定結果記憶部１２１は、表情判定部１１４が判定した結果（後述する表情判定値）を、判定時刻とともに記憶する。
【００２２】
次に、制御部１００が実現する各機能について説明する。制御部１００は、前述したように、記憶部１０１に記憶されたプログラムを実行することにより、顔検出部１１１、顔角度推定部１１２、表情識別部１１３、表情判定部１１４及び対話処理部１１５として機能する。
【００２３】
顔検出部１１１は、カメラ２２から入力されたフレーム画像から人の顔を検出し、該フレーム画像内で、人の顔が存在している領域を取得して正規化する。人の顔の検出方法は公知技術なので詳細は省略するが、例えば人の顔のテンプレートのデータを予め記憶部１０１に格納しておき、フレーム画像内で当該テンプレートとの類似度が基準値以上になる部分を顔画像として検出すればよい。そして、顔検出部１１１は、検出した顔のサイズ、位置、ロール角（顔を傾げる角度）等に基づいて、顔画像の画像データ（顔画像データ）を正規化することができる。この正規化は、３次元モデルを必要としないので、比較的軽い処理で高速に行うことができる。
【００２４】
例えば、図４に示すように、顔が検出されたフレーム画像から、両目が水平になるようにロール角を調整し、左右の目の中心間の距離に基づいて顔のサイズを正規化し、目の高さ位置及び左右位置に基づいて顔の位置を正規化することができる。図４では、左右の目の中心間の距離をＥＥ、画像左端から左右の目の中心までの距離をＬＬ、画像上端から目の中心までの距離をＵＵ、目の中心から画像下端までの距離をＤＤで表している。これらの値を適切に設定することにより、顔検出部１１１は、画像サイズ（水平，垂直）が（ＬＬ×２，ＵＵ＋ＬＬ）である正規化された顔画像データを生成することができる。
【００２５】
具体的には、例えば、ＥＥを８０ドット、ＬＬを１００ドット、ＵＵを７０ドット、ＤＤを１３０ドットに設定すると、画像サイズが（２００ドット，２００ドット）の正規化顔画像データが得られる。この設定例では、ＵＵに比べてＤＤに大きな値を設定することによって、目の周辺領域と口の周辺領域を含む正規化顔画像データを取得している。
【００２６】
顔角度推定部１１２は、顔検出部１１１で検出され正規化された顔画像データに基づいて、その顔のピッチ角（カメラ２２の正面方向に対する顔の上下方向の角度。顔がカメラ２２に対して正面を向いている場合を０度とし、上方向を負の角度、下方向を正の角度とする。）を推定する。この顔のピッチ角の推定のために、記憶部１０１は、正面を向いた標準的な顔の３次元形状モデル（顔モデル）を予め記憶している。顔角度推定部１１２は、ＣＬＮＦ（Ｃｏｎｄｉｔｉｏｎａｌ  Ｌｏｃａｌ  Ｎｅｕｒａｌ  Ｆｉｅｌｄｓ）、ＣＬＭ（Ｃｏｎｓｔｒａｉｎｅｄ  Ｌｏｃａｌ  Ｍｏｄｅｌ）等を用いることにより、顔パーツ（目、鼻、口等）を検出する。そして、顔角度推定部１１２は、検出した各顔パーツの３次元形状と画像上での２次元座標とを用いて、該各顔パーツを顔モデルに当てはめる。そして、顔角度推定部１１２は、ＰｎＰ（Ｐｅｒｓｐｅｃｔｉｖｅ  ｎ−Ｐｏｉｎｔ）問題を解くことにより、２次元座標と３次元座標の関係から、顔の角度を算出（推定）することができる。なお、上述した顔の角度の推定方法は一例であり、顔角度推定部１１２は、これ以外の方法で顔の角度を推定しても良い。
【００２７】
一例として、被験者に顔の表情を笑顔の状態のまま変えずに、顔の向きを下向きから上向きにしてまた下向きに戻してもらった時の顔画像データの抜粋を図５に示す。図５において、各顔画像データの下の数字は、その顔画像データを取得した時のフレームナンバーを示している。なお、フレームナンバーとは、カメラ２２が画像データ（フレーム）を取得する毎に１ずつ増えていくカウンタの数値である。そして、被験者に図５に示す動作をしてもらった時の顔画像データを１フレーム毎に顔角度推定部１１２が推定した顔のピッチ角の一例を示す折れ線グラフを図６に示す。
【００２８】
表情識別部１１３は、表情の種類毎に各表情の尤度（各表情のスコア）を取得する各表情識別部を備える。実施の形態１においては、表情識別部１１３は各表情識別部として笑顔識別部１１６を備える。笑顔識別部１１６は、顔検出部１１１で検出及び正規化された顔画像データの特徴量が入力されると、その顔の表情がどの程度の笑顔になっているかを示す数値である笑顔スコア（笑顔の尤度を表し、笑顔の程度が大きければ大きな値となる）を取得する。笑顔スコアは表情のスコアのうちの１つであるが、表情のスコアの大きさによって、その顔の表情がどの程度その表情になっているかを識別できるので、「表情のスコアを取得する」ことを、「表情を識別する」とも言う。そして、表情のスコアのことを表情の識別結果とも言う。上述したように、実施の形態１においては、表情識別部１１３は笑顔識別部１１６を備え、笑顔識別部１１６は、顔の表情のうち笑顔を識別する識別部である。
【００２９】
具体的には、笑顔識別部１１６は、正面を向いた笑顔の顔画像データを正例とし、笑顔以外の正面を向いた顔画像データを負例として、それらの顔画像データの特徴量を入力させて、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）による機械学習によって生成された識別器である。笑顔識別部１１６に入力される顔画像データの特徴量には、顔検出部１１１で検出及び正規化された顔画像データのＬＢＰ（Ｌｏｃａｌ  Ｂｉｎａｒｙ  Ｐａｔｔｅｒｎｓ）ヒストグラムを用いる。なお、笑顔識別部１１６として、例えばニューラルネットワーク等、ＳＶＭ以外の識別器を使用しても良い。また、笑顔識別部１１６に入力する顔画像データの特徴量として、ＬＢＰヒストグラム以外の特徴量を使用しても良い。
【００３０】
一例として、被験者に図５に示す動作をしてもらった時の顔画像データの特徴量を、１フレーム毎に笑顔識別部１１６に入力した時に笑顔識別部１１６が取得した笑顔スコアの一例を示す折れ線グラフを図７に示す。図７を見ると、被験者は表情を笑顔の状態のまま変えていないのに、顔の向きが上を向くにつれて笑顔識別部１１６の取得する値（笑顔スコアの値）が小さくなることが確認できる。つまり、被験者が上を向くと、笑顔の表情の識別率が悪くなる。笑顔の識別においては、口角が上がっていることの識別が重要と考えられるが、顔を撮影する角度によって口角の上がり角度が変化することが、笑顔識別部１１６の取得する値に影響を与えてしまっていると考えられる。
【００３１】
また、笑顔識別部１１６は、正面を向いた顔画像データで機械学習されているため、入力される顔画像データの顔の向きが正面とかなり違う方向を向いている場合は、正常に笑顔を識別できない（識別率がかなり悪くなる）可能性が高い。笑顔識別部１１６（及び後述する他の各表情識別部）において、正常に表情を識別できる限界の角度を表情識別可能角度（例えば３０度）と呼ぶことにする。笑顔識別部１１６（及び後述する他の各表情識別部）は、入力される顔画像の顔の向きが正面の向きと表情識別可能角度以内の範囲で使用されるのが望ましい。
【００３２】
表情判定部１１４は、表情識別部１１３が取得した表情のスコア（表情の尤度）の値を、顔角度推定部１１２が推定した角度に基づいて修正した値である修正表情スコアを算出する。本実施の形態１においては、表情判定部１１４は、表情識別部１１３が備える笑顔識別部１１６が取得した笑顔スコアの値を、顔角度推定部１１２が推定した角度に基づいて修正した値である修正笑顔スコアを算出する。そして、表情判定部１１４が算出した修正笑顔スコア（修正表情スコア）の値が表情判定値となる。表情判定値の大きさによって、その顔の表情がどの程度笑顔になっているかを判定できるので、「表情判定値を算出する」ことを、「表情を判定する」とも言う。そして、表情判定値のことを表情の判定結果とも言う。具体的には、表情判定部１１４は、以下の式（１）に基づいて、笑顔識別部１１６が取得した笑顔スコア（Ｓ）に、修正係数を乗じたピッチ角を加算することによって修正笑顔スコアすなわち表情判定値（ＧＥ）を算出する。なお、本実施の形態１においては、修正係数（ｃｏｅｆ）として、−０．０２５を使用している。
ＧＥ＝Ｓ＋ｃｏｅｆ×Ｐｉｔｃｈ  …（１）
ただし、
ＧＥ：表情判定値（修正笑顔スコア）
Ｓ：笑顔識別部の取得値（笑顔スコア）
ｃｏｅｆ：修正係数
Ｐｉｔｃｈ：顔角度推定部の推定値（ピッチ角）
【００３３】
一例として、被験者に図５に示す動作をしてもらった時の顔画像データを入力した時に笑顔識別部１１６が取得した笑顔スコアの一例と、表情判定部１１４が上記式（１）に基づいて算出した表情判定値の一例と、を示す折れ線グラフを図８に示す。図８を見ると、笑顔識別部１１６が取得する笑顔スコアの値は被験者の顔の向きの影響を大きく受けるのに対し、表情判定部１１４が算出した表情判定値の値は被験者の顔の向きの影響をそれほど受けず、比較的安定した値になることが確認できる。
【００３４】
対話処理部１１５は、表情判定部１１４が判定した表情（表情判定値）に基づいて、ユーザとの対話を行う。例えば、対話処理部１１５は、表情判定部１１４が取得した表情判定値の値が笑顔基準値（例えば１）以上なら、現在の対話で使用している話題での会話を継続し、表情判定値の値が笑顔基準値未満なら、話題を変更することを試みる。
【００３５】
以上、ロボット１の機能構成について説明した。次に、ロボット１の表情判定処理について、図９を参照して説明する。この処理は、ロボット１が起動すると他の処理（対話処理、自律移動処理等）と並行して開始される。まず、ロボット１の顔検出部１１１は、カメラ２２から画像データを取得する（ステップＳ１０１）。ステップＳ１０１は、画像取得ステップとも呼ばれる。次に、顔検出部１１１は、取得した該画像データから顔を検出する処理を行う（ステップＳ１０２）。ステップＳ１０２は、顔検出ステップとも呼ばれる。そして、制御部１００は、顔検出部１１１により顔が検出されたか否かを判定する（ステップＳ１０３）。顔が検出されなければ（ステップＳ１０３；Ｎｏ）、ステップＳ１０１に戻る。
【００３６】
顔が検出されたら（ステップＳ１０３；Ｙｅｓ）、顔検出部１１１は、画像取得基準時間（例えば０．５秒）の間、カメラ２２から顔画像データを取得する（ステップＳ１０４）。画像取得基準時間とは、顔角度推定部１１２において顔の角度の推定を行うのに必要な枚数の顔画像データを取得するための時間と、表情識別部１１３において表情を識別する（表情のスコアを取得する）のに必要な枚数の顔画像データを取得するための時間と、のどちらか大きい方の時間以上の時間である。この時間を大きい値に設定すると、顔角度推定や表情の識別の精度が向上するが、表情判定の速度が低下するというトレードオフがある。ロボット１は、表情の識別や、顔の角度の推定において、ここで取得した複数枚の顔画像データを用いることによって、１枚だけの顔画像データを用いる場合よりも、信頼性の高い表情の識別や、顔の角度の推定を行うことができる。
【００３７】
なお、ステップＳ１０４において、顔検出部１１１は、画像取得基準時間ではなく、画像取得基準フレーム数（例えば１０フレーム）分の顔画像データをカメラ２２から取得しても良い。画像取得基準フレーム数とは、顔角度推定部１１２において顔の角度の推定を行うのに必要な顔画像データのフレーム数と、表情識別部１１３において表情を識別する（表情のスコアを取得する）のに必要な顔画像データのフレーム数と、のどちらか大きい方のフレーム数以上のフレーム数である。画像取得基準時間同様に、画像取得基準フレーム数も、大きい値に設定すると、顔角度推定や表情の識別の精度が向上するが、表情判定の速度が低下するというトレードオフがある。ロボット１は、表情の識別や、顔の角度の推定において、ここで取得した画像取得基準フレーム数の顔画像データを用いることによって、１枚だけの顔画像データを用いる場合よりも、信頼性の高い表情の識別や、顔の角度の推定を行うことができる。
【００３８】
次に、顔角度推定部１１２は、顔検出部１１１が取得した複数の顔画像データから、顔のピッチ角を推定する（ステップＳ１０５）。ステップＳ１０５は、顔角度推定ステップとも呼ばれる。
【００３９】
そして、制御部１００は、顔角度推定部１１２が推定した顔のピッチ角の絶対値が表情識別可能角度（例えば３０度）を超えるか否かを判定する（ステップＳ１０６）。表情識別可能角度以下なら（ステップＳ１０６；Ｎｏ）、表情識別部１１３は、顔検出部１１１が検出した顔の表情のスコア（笑顔スコア）を取得（表情を識別）する（ステップＳ１０７）。ステップＳ１０７は、表情識別ステップとも呼ばれる。そして、表情判定部１１４が、顔角度推定部１１２の推定したピッチ角と表情識別部１１３の取得した表情のスコア（笑顔スコア）とを上記式（１）に適用して表情判定値を算出（表情を判定）する（ステップＳ１０８）。ステップＳ１０８は、表情判定ステップとも呼ばれる。
【００４０】
そして、表情判定部１１４は、算出した表情判定値と現在時刻とを判定結果記憶部１２１に記憶させる（ステップＳ１０９）。そして、表情判定部１１４は、表情判定値（表情の判定結果）を対話処理部１１５に出力し（ステップＳ１１０）、ステップＳ１０１に戻る。
【００４１】
一方、ステップＳ１０６において、顔のピッチ角の絶対値が表情識別可能角度を超えているなら（ステップＳ１０６；Ｙｅｓ）、そのような顔に対しては、表情識別部１１３で表情の識別を正しく行えない可能性が高い。そこで、制御部１００は、過去の有効時間（例えば１０秒）内に表情判定部１１４が判定した結果が判定結果記憶部１２１に記憶されているか否かを判定する（ステップＳ１１１）。記憶されていないなら（ステップＳ１１１；Ｎｏ）、制御部１００は、現在の顔の表情を判定せず（表情判定値を算出せず）、対話処理部１１５には何も出力せずに、ステップＳ１０１に戻る。
【００４２】
過去の有効時間内に表情判定部１１４が判定した結果が判定結果記憶部１２１に記憶されているなら（ステップＳ１１１；Ｙｅｓ）、制御部１００は、判定結果記憶部１２１に記憶されている判定結果（表情判定値）を対話処理部１１５に出力し（ステップＳ１１２）、ステップＳ１０１に戻る。
【００４３】
以上の表情判定処理によって、ロボット１は、人が下や上を向いていても、顔の向きの影響をあまり受けずに、顔の表情の判定を行うことができる。また、顔の向きが表情識別可能角度を超えて上や下を向いている時には、制御部１００は正常な表情の判定はできないと判断して、過去の有効時間内に判定した表情を対話処理部１１５に出力する。これにより、現在の顔の表情を判定できない時でも、対話処理部１１５は、現在の表情の可能性が高い過去の判定結果（表情判定値）を得ることができる。
【００４４】
（変形例１）
実施の形態１では、表情判定部１１４は、顔角度推定部１１２が推定したピッチ角の絶対値が表情識別可能角度以下なら、式（１）に基づいて表情判定値を算出している。しかし、これに限られない。例えば、表情判定部１１４は、顔角度推定部１１２が推定したピッチ角が上向き基準角度（例えば−３度）未満のとき（顔が上を向いているとき）のみ式（１）に基づいて表情判定値を算出し、該ピッチ角が上向き基準角度以上のとき（顔が正面又は下を向いているとき）は表情識別部１１３が取得した笑顔スコアをそのまま表情判定値として用いても良い。ここで、上向き基準角度とは、顔が上を向いているか否かを判定する基準となる角度であり、ピッチ角（上方向が負の値）が上向き基準角度未満のときは、顔が上を向いていると判定される。
【００４５】
また、例えば、表情判定部１１４は、顔角度推定部１１２が推定したピッチ角の絶対値が修正最低角度（例えば５度）以上の場合のみ式（１）に基づいて表情判定値を算出し、顔角度推定部１１２が推定したピッチ角の絶対値が修正最低角度未満なら表情識別部１１３が取得した表情のスコア（笑顔スコア）をそのまま表情判定値として用いても良い。ここで、修正最低角度とは、表情判定部１１４が表情識別部１１３の取得値を修正する必要があるか否かを判定する基準となる角度であり、ピッチ角の絶対値が修正最低角度未満のときは、表情識別部１１３の取得値の修正は不要と判定される。
【００４６】
上述したような処理を行うことにより、式（１）に基づいた表情判定値の算出をしなくても良い場合が生じるため、表情判定部１１４の計算処理量を減らすことができる。
【００４７】
（変形例２）
実施の形態１では、ステップＳ１０４で顔画像を取得した後に、顔角度推定部１１２が顔のピッチ角を推定し、ピッチ角の絶対値が許容角以下の場合に表情識別部１１３が表情を識別して表情のスコア（笑顔スコア）を取得している。しかし、そもそも顔のピッチ角が許容角を超えている場合には、表情識別部１１３で正常に表情を識別することはできず、表情識別部１１３が取得する表情のスコア（笑顔スコア）の値はかなり小さくなることが予想される。そこで、顔角度推定部１１２がピッチ角を推定する前に、表情識別部１１３が表情を識別する変形例２を説明する。
【００４８】
変形例２は、実施の形態１と比較すると、図９を参照して説明した表情判定処理における一部の処理の順番が異なるだけなので、異なる点を中心に図１０を参照して説明する。ステップＳ１０１からステップＳ１０４までは、実施の形態１に係るロボット１の表情判定処理（図９）と同じである。ステップＳ１０４の次に、表情識別部１１３は、顔検出部１１１が検出した顔の表情のスコア（笑顔スコア）を取得（表情を識別）する（ステップＳ１２１）。
【００４９】
そして、制御部１００は、表情識別部１１３が取得した表情のスコア（笑顔スコア）が基準表情スコア（例えば１）未満か否かを判定する（ステップＳ１２２）。基準表情スコア以上であれば（ステップＳ１２２；Ｎｏ）、表情判定部１１４は、表情識別部１１３が取得した表情のスコア（笑顔スコア）を修正せずに、そのまま表情判定値として用いて表情を判定し（ステップＳ１２３）、ステップＳ１０９に進む。表情識別部１１３が取得した表情のスコア（笑顔スコア）が基準表情スコア未満なら（ステップＳ１２２；Ｙｅｓ）、ステップＳ１０５に進む。
【００５０】
ステップＳ１０５及びステップＳ１０６の処理は、実施の形態１と同じである。ステップＳ１０６での判定がＮｏとなる場合は、ステップＳ１２４に進む。そして、ステップＳ１２４では、ステップＳ１０８と同様に、表情判定部１１４が、顔角度推定部１１２の推定したピッチ角と表情識別部１１３の取得した表情のスコア（笑顔スコア）とを上記式（１）に適用して表情判定値を算出（表情を判定）する。その後の処理は、実施の形態１と同じである。
【００５１】
変形例２では、表情のスコア（笑顔スコア）が基準表情スコア以上の場合には顔角度推定部１１２による顔のピッチ角の推定や、表情判定部による式（１）の演算をする必要がないので、制御部１００の処理量を減らすことができる。
【００５２】
（実施の形態２）
実施の形態１では、ロボット１は、表情識別部１１３が備えた笑顔識別部１１６により、人の顔の表情のうち、どの程度の笑顔であるかを示す値である笑顔スコアを求めることができる。ロボット１は、対話相手の笑顔スコアを知ることができるだけでも、対話相手とのコミュニケーションをかなり円滑に進めることができるようになるが、笑顔以外の表情も判定できると、コミュニケーションの質をさらに高めることができる。そこで、ロボット１の表情識別部１１３が、ネガティブ表情識別部１１７も備える実施の形態２について説明する。
【００５３】
実施の形態２に係るロボット１の機能構成は、図１１に示すように、実施の形態１に係るロボット１の機能構成において、表情識別部１１３がネガティブ表情識別部１１７も備える構成になっている。ネガティブ表情識別部１１７は、笑顔識別部１１６と同様の識別器であるが、機械学習に用いる学習データが異なる。ネガティブ表情識別部１１７は、正面を向いたネガティブ表情（恐怖を示す顔、嫌悪を示す顔、怒りを示す顔、軽蔑を示す顔等）の顔画像データを正例とし、ネガティブ表情以外の正面を向いた顔画像データを負例として、それらの顔画像データの特徴量を入力させて機械学習によって生成された識別器である。そして、ネガティブ表情識別部１１７は、入力された顔画像データの特徴量に基づき、その顔の表情がどの程度のネガティブ表情になっているかを示すネガティブスコア（ネガティブ表情の程度が大きければ大きな値となる）を取得する。
【００５４】
また、実施の形態２に係るロボット１の表情判定部１１４は、笑顔識別部１１６が取得した笑顔スコアの値と、ネガティブ表情識別部１１７が取得したネガティブスコアの値と、顔角度推定部１１２が推定した角度と、に基づいて算出した値である表情判定値を用いて表情を判定する。該表情判定値は、笑顔の程度が大きければ正の大きな値となり、ネガティブ表情の程度が大きければ絶対値の大きな負の値となる。笑顔識別部１１６とは異なり、ネガティブ表情識別部１１７が取得する値（ネガティブスコア）は、顔が上を向いている時（ピッチ角が負の時）に大きくなり、下を向いている時（ピッチ角が正の時）には明確な傾向がないことが実験により得られている。そこで、顔の上下の向きによらずに比較的安定した表情判定値を得るためには、ピッチ角に正の係数を乗算した値をネガティブ表情識別部１１７の取得したネガティブスコアに加算すれば良いことがわかる。
【００５５】
そこで、実施の形態２に係るロボット１の表情判定部１１４は、表情判定値（ＧＥ）を、以下の式（２）に基づいて算出する。なお、ここでは、笑顔修正係数（ｃｏｅｆｓ）として−０．０２５を、ネガティブ表情修正係数（ｃｏｅｆｎ）として＋０．０２５を、それぞれ使用する。式（２）において、Ｓ＋ｃｏｅｆｓ×Ｐｉｔｃｈが修正笑顔スコアであり、Ｎ＋ｃｏｅｆｎ×Ｐｉｔｃｈが修正ネガティブスコアである。そして、修正ネガティブスコアに−１を掛けて、修正笑顔スコアに加算したものが表情判定値（ＧＥ）となる。
ＧＥ＝Ｓ＋ｃｏｅｆｓ×Ｐｉｔｃｈ−（Ｎ＋ｃｏｅｆｎ×Ｐｉｔｃｈ）  …（２）
ただし、
ＧＥ：表情判定値
Ｓ：笑顔識別部の取得値
ｃｏｅｆｓ：笑顔修正係数
Ｐｉｔｃｈ：顔角度推定部の推定値
Ｎ：ネガティブ表情識別部の取得値
ｃｏｅｆｎ：ネガティブ表情修正係数
【００５６】
そして、実施の形態２に係るロボット１の対話処理部１１５は、表情判定部１１４が判定した表情（表情判定値）に基づいて、ユーザとの対話を行う。例えば、対話処理部１１５は、表情判定部１１４が出力した表情判定値の値が正なら、現在の対話で使用している話題での会話を継続し、表情判定値の値が負なら、ユーザに謝罪の言葉を発してから、話題を変更することを試みる等の処理を行う。
【００５７】
次に、実施の形態２に係るロボット１の表情判定処理について、図１２を参照して説明する。この処理は、実施の形態１に係るロボット１の表情判定処理（図９）と共通する部分が多いため、異なる点を中心に説明する。
【００５８】
ステップＳ１０１からステップＳ１０７までは、実施の形態１に係るロボット１の表情判定処理（図９）と同じである。ステップＳ１０７の次に、ネガティブ表情識別部１１７は、顔検出部１１１が検出した顔の表情のネガティブスコアを取得（ネガティブ表情を識別）する（ステップＳ１３１）。そして、表情判定部１１４が、顔角度推定部１１２の推定したピッチ角と笑顔識別部１１６の取得した笑顔スコアとネガティブ表情識別部１１７の取得したネガティブスコアとを上記式（２）に適用して表情判定値を算出（表情を判定）する（ステップＳ１３２）。
【００５９】
その後の処理は、実施の形態１に係るロボット１の表情判定処理と同じである。以上の表情判定処理によって、実施の形態２に係るロボット１は、人が下や上を向いていても、顔の向きの影響をあまり受けずに、笑顔だけでなく、ネガティブ表情を含めた顔の表情の判定を行うことができる。
【００６０】
なお、上述した実施の形態２では、笑顔スコアをピッチ角と笑顔修正係数とで修正した修正笑顔スコアを正の値、ネガティブスコアをピッチ角とネガティブ表情修正係数とで修正した修正ネガティブスコアに−１を掛けて負の値として、両者を加算することによって、表情判定値をスカラー値で定義しているが、これに限られない。例えば、修正笑顔スコアと修正ネガティブスコアとをそれぞれ持つ２次元のベクトルとして表情判定値を定義することもできる。複数の表情を１つのスカラー値で表そうとすると、表情の情報の一部が失われてしまう可能性が高いので、複数の表情を識別する場合には、表情の種類数を次元数とし、各表情に対応する修正表情スコアを要素とするベクトルで、総合的な表情判定値を定義するのが望ましい。ただし、ベクトルよりもスカラーの方が計算が簡単なため、計算量を増やしたくない場合等は、スカラーを用いても良い。
【００６１】
また、上述した実施の形態２では、本来複数の表情であるネガティブ表情（恐怖、嫌悪、怒り、軽蔑）の程度をネガティブスコアという１つのスカラー値で表しているが、これを各表情に分けて識別しても良い。この場合、ネガティブ表情識別部１１７の代わりに、恐怖表情識別部、嫌悪表情識別部、怒り表情識別部、軽蔑表情識別部を用意し、各表情識別部を、各表情の顔画像データを正例とし、該表情以外の顔画像データを負例として、機械学習させる。そして、他の各表情識別部（例えば笑顔識別部１１６）の取得値と合わせて、表情判定値をベクトルで表す。
【００６２】
この場合も、それぞれの表情識別部の取得値について顔の角度の影響を実験等で求め、顔の角度の影響を抑える修正式を各表情識別部について定義して、各表情のスコアの修正値である修正表情スコアを算出することができる。そして、表情判定部１１４は、算出された各修正表情スコアから、（修正笑顔スコア，修正恐怖スコア，修正嫌悪スコア，修正怒りスコア，修正軽蔑スコア）という５次元のベクトルで総合的な表情判定値を定義することができる。表情判定部１１４は、このベクトルの値に基づいて表情を判定（例えば、最も大きな修正表情スコアに対応する表情と判定）して、対話処理部１１５に判定した表情の情報を渡しても良いし、このベクトル自体を対話処理部１１５に渡しても良い。
【００６３】
また、ロボット１は、判定する表情をさらに増やすために、喜んだ顔の程度を示す喜びスコア、驚いた顔の程度を示す驚きスコア、悲しんだ顔の程度を示す悲しみスコア、泣き顔の程度を示す泣き顔スコア、平常時の顔の程度を示す平常スコア等を取得する、各表情に対応する複数の表情識別部を備えても良い。例えば、ロボット１が、表情識別部として、喜び識別部、驚き識別部、恐怖識別部、嫌悪識別部、怒り識別部、悲しみ識別部、平常識別部を備える場合、各表情識別部の取得値を顔の角度に基づいて修正した値を要素とする７次元ベクトル（修正喜びスコア，修正驚きスコア，修正恐怖スコア，修正嫌悪スコア，修正怒りスコア，修正悲しみスコア，修正平常スコア）で総合的な表情判定値を定義することができる。このようにすることによって、ロボット１は、判定できる表情の種類数を増やすことができる。
【００６４】
（変形例３）
また、上述した実施の形態では、表情判定部１１４は、顔の角度として主にピッチ角を用いて各表情識別部の取得値を修正しているが、これに限られない。例えば、顔のヨー角の影響を大きく受ける表情については、顔角度推定部１１２が顔のヨー角を推定し、表情判定部１１４は、ヨー角を用いて各表情識別部の取得値を修正しても良い。また、修正時に用いる角度を１つに限定する必要はなく、顔角度推定部１１２が顔のピッチ角、ロール角及びヨー角のうちの２つ又は３つを推定し、表情判定部１１４は、これらの角度を用いて各表情識別部の取得値を表情識別部毎に修正しても良い。このようにすることによって、ロボット１は、表情判定の精度をさらに向上させることができる。
【００６５】
例えば、「左目を閉じてウインク」という表情（以下「左ウインク」と言う。）を識別する左ウインク識別部を考える。この左ウインクの識別においては、左目が閉じられていることの識別が重要と考えられるが、被験者が顔を左に向けていくと、カメラ２２が取得する画像中で、左目が顔の端に移動していき、ついには隠れてしまう。したがって、被験者が顔を左に向けていくと、左目が隠れる前であっても、左ウインク識別部の取得する値（以下「左ウインクスコア」と言う）は小さくなると考えられる。逆に被験者が顔を右に向けていくと、左目が顔の中央に来るまでは左ウインクスコアは大きくなり、さらに顔を右に向けていくと、左ウインクスコアは小さくなると考えられる。
【００６６】
したがって、ヨー角を、顔が正面の時に０で、顔を左に向けていくと正になるように定義すると、左ウインクの識別においては、ヨー角が正の時は、ヨー角に比例した値を左ウインクスコアに加算する（左ウインクスコアよりも大きな値に修正される）と良いと考えられる。また、左目の方向と顔の正面方向との角度の差を左目基準角度（例えば−１５度）と定義すると、ヨー角が負で左目基準角度以上の時は、ヨー角（負の値）に比例した値を左ウインクスコアに加算し（負の値の加算なので、左ウインクスコアより小さな値に修正される）、ヨー角が左目基準角度未満の時は、（ヨー角−左目基準角度）（負の値）に比例した値を左ウインクスコアから減算する（負の値の減算なので、左ウインクスコアより大きな値に修正される）と良いと考えられる。表情判定部１１４は、このようにして、左ウインク識別部の取得値を修正しても良い。
【００６７】
（変形例４）
また、上述した実施の形態では、顔検出部１１１は、図４を参照して説明したように、顔全体が含まれる正規化顔画像データを取得している。しかし、正規化顔画像データの生成方法はこれに限られない。顔のパーツの中で表情に大きな影響を与えるのは、目の周辺領域（以下、「目領域」と言う。）と口の周辺領域（以下、「口領域」と言う。）である。したがって、顔検出部１１１は、顔画像から抽出した目領域の画像データと口領域の画像データとをそれぞれ正規化した画像データを用いて、表情識別部１１３に入力する画像データを生成しても良い。例えば、図１３（ａ）に示す画像データは、目領域の画像データと口領域の画像データとを両方とも含む形で正規化された画像データである。
【００６８】
また、口領域の画像データは笑顔の識別には重要であるが、人が発話しているときには口の形は発話内容に応じて変化する。このため、発話しているときには、発話による口の形の変化が表情識別に悪影響を与える可能性がある。そこで、図１３（ｂ）に示すような口領域の画像データを含まない形で正規化された画像データを用いて表情識別を行っても良い。
【００６９】
具体的には、変形例４に係るロボット１は、各表情識別部について、図１３（ａ）に示すような口領域を含む画像データを用いて機械学習した口有り表情識別部と、図１３（ｂ）に示すような口領域を含まない画像データを用いて機械学習した口無し表情識別部とを備える。そして、変形例４に係るロボット１は、表情識別の際に、マイク２１で取得した音声データにより、人が発話しているか否かを判定する。そして、発話していなければ、口有り表情識別部を用いて表情識別を行い、発話していれば、口無し表情識別部を用いて表情識別を行う。このようにすることにより、変形例４に係るロボット１は、人が発話しているか否かに関わらず、精度の高い表情判定を行うことができる。
【００７０】
また、表情によっては、発話の有無とは関係なく、特定の顔のパーツの形状が重要な場合がある。例えば、上述した「左ウインク」の識別には、目領域の画像データが重要であり、他の部分の画像データはノイズになってしまうと考えられる。したがって、左ウインクを識別する左ウインク識別部は、図１３（ｃ）に示すような目領域のみを含む画像データを用いて機械学習を行い、表情認識の際は顔検出部１１１が目領域のみを含む画像データを正規化した顔画像データを生成しても良い。
【００７１】
同様にして、各表情識別部に対して、識別する表情における顔の重要な領域のみを用いて表情識別部の機械学習を行い、当該領域のみを入力して表情識別を行うようにしても良い。このようにすることによって、ロボット１は、表情判定の精度をさらに向上させることができる。
【００７２】
なお、表情判定装置としてのロボット１の各機能は、通常のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等のコンピュータによっても実施することができる。具体的には、上記実施の形態では、ロボット１が行う表情判定処理のプログラムが、記憶部１０１のＲＯＭに予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  Ｄｉｓｃ）及びＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。
【００７３】
以上、本発明の好ましい実施の形態について説明したが、本発明は係る特定の実施の形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【００７４】
（付記１）
画像データを取得する画像取得部と、
前記画像取得部が取得した画像データから人の顔を検出する顔検出部と、
前記顔検出部が検出した顔の角度を推定する顔角度推定部と、
前記顔角度推定部が推定した角度に基づき前記顔の表情を判定する表情判定部と、
を備える表情判定装置。
【００７５】
（付記２）
前記顔角度推定部が推定する顔の角度は、撮像装置の正面の方向に対する角度である、
付記１に記載の表情判定装置。
【００７６】
（付記３）
前記顔角度推定部が推定する顔の角度は、ピッチ角、ロール角及びヨー角のうちのいずれか１つ以上である、
付記１又は２に記載の表情判定装置。
【００７７】
（付記４）
前記表情判定部は、前記顔角度推定部が推定した角度の絶対値が表情識別可能角度以下のときに、前記顔角度推定部が推定した角度に基づき、前記顔の表情を判定する、
付記１から３のいずれか１つに記載の表情判定装置。
【００７８】
（付記５）
前記画像取得部は、前記顔検出部が顔を検出してから、前記表情判定部において前記表情を判定するのに必要な時間である画像取得基準時間の間、前記画像データを取得する、
付記１から４のいずれか１つに記載の表情判定装置。
【００７９】
（付記６）
前記画像取得部は、前記顔検出部が顔を検出してから、前記表情判定部において前記表情を判定するのに必要なフレーム数である画像取得基準フレーム数の前記画像データを取得する、
付記１から４のいずれか１つに記載の表情判定装置。
【００８０】
（付記７）
前記顔角度推定部は、前記顔検出部が検出した顔の画像データから顔パーツを検出し、正面を向いた標準的な顔の３次元形状モデルに前記検出した顔パーツを当てはめることによって、前記顔検出部が検出した顔の角度を推定する、
付記１から６のいずれか１つに記載の表情判定装置。
【００８１】
（付記８）
前記顔検出部は、前記検出した顔に目及び口を含むように正規化された画像データを生成し、
前記表情判定部は、前記顔検出部が生成した前記正規化された画像データに含まれる顔の表情を判定する、
付記１から７のいずれか１つに記載の表情判定装置。
【００８２】
（付記９）
前記顔検出部が検出した顔の表情の尤度を取得する表情識別部を備え、
前記表情判定部は、前記顔角度推定部が推定した角度と前記表情識別部が取得した尤度とに基づき前記顔の表情を判定する、
付記１から８のいずれか１つに記載の表情判定装置。
【００８３】
（付記１０）
前記表情識別部が取得する顔の表情の尤度は、前記顔検出部が検出した顔の表情の程度を示す表情スコアであり、
前記表情判定部は、前記顔角度推定部が推定した角度に基づいて、前記表情識別部が取得した表情スコアを修正した修正表情スコアを算出することによって前記顔の表情を判定する、
付記９に記載の表情判定装置。
【００８４】
（付記１１）
前記表情識別部は、少なくとも、前記顔の表情がどの程度笑顔になっているかを示す数値である笑顔スコアを取得する笑顔識別部を含む、
付記１０に記載の表情判定装置。
【００８５】
（付記１２）
前記顔角度推定部は、前記顔の上下方向の角度であるピッチ角を推定し、
前記表情判定部は、前記顔角度推定部が推定したピッチ角が上向きの角度なら前記笑顔識別部が取得した笑顔スコアを前記ピッチ角に応じて増加させた修正笑顔スコアを算出することによって前記顔の表情を判定する、
付記１１に記載の表情判定装置。
【００８６】
（付記１３）
前記表情識別部は、少なくとも、前記顔の表情がどの程度笑顔になっているかを示す数値である笑顔スコアを取得する笑顔識別部と、前記顔の表情がどの程度ネガティブな表情になっているかを示す数値であるネガティブスコアを取得するネガティブ表情識別部と、を含み、
前記顔角度推定部は、前記顔の上下方向の角度であるピッチ角を推定し、
前記表情判定部は、
前記顔角度推定部が推定したピッチ角が上方向の角度なら前記笑顔識別部が取得した笑顔スコアを前記ピッチ角に応じて増加させた修正笑顔スコアを算出し、
前記顔角度推定部が推定したピッチ角が下方向の角度なら前記ネガティブ表情識別部が取得したネガティブスコアを前記ピッチ角に応じて増加させた修正ネガティブスコアを算出することによって前記顔の表情を判定する、
付記１０に記載の表情判定装置。
【００８７】
（付記１４）
前記表情識別部は、喜び識別部、驚き識別部、恐怖識別部、嫌悪識別部、怒り識別部、悲しみ識別部及び平常識別部を含み、
前記表情判定部は、喜び、驚き、恐怖、嫌悪、怒り、悲しみ及び平常時の顔の表情を判定する、
付記９から１３のいずれか１つに記載の表情判定装置。
【００８８】
（付記１５）
前記顔角度推定部が推定した角度の絶対値が表情識別可能角度以下のときに、前記表情判定部が判定した結果を判定時刻とともに記憶する判定結果記憶部をさらに備え、
前記表情判定部は、前記顔角度推定部が推定した角度の絶対値が前記表情識別可能角度を超えているときに、前記判定結果記憶部に記憶されている判定結果のうち、判定時刻が有効時間内のものを、前記顔の表情の判定結果とする、
付記１から１４のいずれか１つに記載の表情判定装置。
【００８９】
（付記１６）
画像データを取得する画像取得ステップと、
前記画像取得ステップで取得した画像データから人の顔を検出する顔検出ステップと、
前記顔検出ステップで検出した顔の角度を推定する顔角度推定ステップと、
前記顔角度推定ステップで推定した角度に基づき前記顔の表情を判定する表情判定ステップと、
を含む表情判定方法。
【００９０】
（付記１７）
コンピュータに、
画像データを取得する画像取得ステップ、
前記画像取得ステップで取得した画像データから人の顔を検出する顔検出ステップ、
前記顔検出ステップで検出した顔の角度を推定する顔角度推定ステップ、及び、
前記顔角度推定ステップで推定した角度に基づき前記顔の表情を判定する表情判定ステップ、
を実行させるためのプログラム。
【符号の説明】
【００９１】
１…ロボット、２…頭、３…胴体、２１…マイク、２２…カメラ、２３…スピーカ、２４…センサ群、３１…首関節、３２…足回り部、３３…操作ボタン、１００…制御部、１０１…記憶部、１１１…顔検出部、１１２…顔角度推定部、１１３…表情識別部、１１４…表情判定部、１１５…対話処理部、１１６…笑顔識別部、１１７…ネガティブ表情識別部、１２１…判定結果記憶部
【図１】
2019003536.tif 000003
【図２】
2019003536.tif 000004
【図３】
2019003536.tif 000005
【図４】
2019003536.tif 000006
【図５】
2019003536.tif 000007
【図６】
2019003536.tif 000008
【図７】
2019003536.tif 000009
【図８】
2019003536.tif 000010
【図９】
2019003536.tif 000011
【図１０】
2019003536.tif 000012
【図１１】
2019003536.tif 000013
【図１２】
2019003536.tif 000014
【図１３】
2019003536.tif 000015
【手続補正書】
【提出日】平成30年11月1日(2018.11.1)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
上記目的を達成するため、本発明の表情判定装置は、
画像データを取得する画像取得部と、
前記画像取得部が取得した画像データから人の顔を検出する顔検出部と、
前記顔検出部が検出した顔の角度を推定する顔角度推定部と、
前記顔角度推定部が推定した前記顔の角度に基づき前記顔の表情を判定する表情判定部と、
を備える。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像データを取得する画像取得部と、
前記画像取得部が取得した画像データから人の顔を検出する顔検出部と、
前記顔検出部が検出した顔の角度を推定する顔角度推定部と、
前記顔角度推定部が推定した前記顔の角度に基づき前記顔の表情を判定する表情判定部と、
を備える表情判定装置。
【請求項２】
前記画像取得部は画像を撮像する撮像部を更に備え、
前記顔角度推定部が推定する前記顔の角度は、前記撮像部の光軸方向に対する角度である、
請求項１に記載の表情判定装置。
【請求項３】
前記顔角度推定部が推定する前記顔の角度は、ピッチ角、ロール角及びヨー角のうちのいずれか１つ以上である、
請求項１又は２に記載の表情判定装置。
【請求項４】
前記表情判定部は、前記顔角度推定部が推定した前記顔の角度の絶対値が表情識別可能角度以下のときに、前記顔角度推定部が推定した前記顔の角度に基づき、前記顔の表情を判定する、
請求項１から３のいずれか１項に記載の表情判定装置。
【請求項５】
前記画像取得部は、前記顔検出部が顔を検出してから、前記表情判定部において前記表情を判定するのに必要な時間である画像取得基準時間の間、前記画像データを取得する、
請求項１から４のいずれか１項に記載の表情判定装置。
【請求項６】
前記画像取得部は、前記顔検出部が顔を検出してから、前記表情判定部において前記表情を判定するのに必要なフレーム数である画像取得基準フレーム数の前記画像データを取得する、
請求項１から４のいずれか１項に記載の表情判定装置。
【請求項７】
前記顔角度推定部は、前記顔検出部が検出した顔の画像データから顔パーツを検出し、
正面を向いた標準的な顔の３次元形状モデルに前記検出した顔パーツを当てはめることによって、前記顔検出部が検出した前記顔の角度を推定する、
請求項１から６のいずれか１項に記載の表情判定装置。
【請求項８】
前記検出した顔に目及び口を含むように正規化された画像データを生成する生成手段を備え、
前記表情判定部は、前記生成手段が生成した前記正規化された画像データに含まれる顔の表情を判定する、
請求項１から７のいずれか１項に記載の表情判定装置。
【請求項９】
前記顔検出部が検出した顔の表情の尤度を取得する表情識別部を備え、
前記表情判定部は、前記顔角度推定部が推定した前記顔の角度と前記表情識別部が取得した尤度とに基づき前記顔の表情を判定する、
請求項１から８のいずれか１項に記載の表情判定装置。
【請求項１０】
前記表情識別部が取得する顔の表情の尤度は、前記顔検出部が検出した顔の表情の程度を示す表情スコアであり、
前記表情判定部は、前記顔角度推定部が推定した前記顔の角度に基づいて、前記表情識別部が取得した表情スコアを修正した修正表情スコアを算出することによって前記顔の表情を判定する、
請求項９に記載の表情判定装置。
【請求項１１】
前記表情識別部は、少なくとも、前記顔の表情がどの程度笑顔になっているかを示す数値である笑顔スコアを取得する笑顔識別部を含む、
請求項１０に記載の表情判定装置。
【請求項１２】
前記顔角度推定部は、前記顔の上下方向の角度であるピッチ角を推定し、
前記表情判定部は、前記顔角度推定部が推定したピッチ角が上向きの角度なら前記笑顔識別部が取得した笑顔スコアを前記ピッチ角に応じて増加させた修正笑顔スコアを算出することによって前記顔の表情を判定する、
請求項１１に記載の表情判定装置。
【請求項１３】
前記表情識別部は、少なくとも、前記顔の表情がどの程度笑顔になっているかを示す数値である笑顔スコアを取得する笑顔識別部と、前記顔の表情がどの程度ネガティブな表情になっているかを示す数値であるネガティブスコアを取得するネガティブ表情識別部と、
を含み、
前記顔角度推定部は、前記顔の上下方向の角度であるピッチ角を推定し、
前記表情判定部は、
前記顔角度推定部が推定したピッチ角が上方向の角度なら前記笑顔識別部が取得した笑顔スコアを前記ピッチ角に応じて増加させた修正笑顔スコアを算出し、
前記顔角度推定部が推定したピッチ角が下方向の角度なら前記ネガティブ表情識別部が取得したネガティブスコアを前記ピッチ角に応じて増加させた修正ネガティブスコアを算出することによって前記顔の表情を判定する、
請求項１０に記載の表情判定装置。
【請求項１４】
前記表情識別部は、喜び識別部、驚き識別部、恐怖識別部、嫌悪識別部、怒り識別部、
悲しみ識別部及び平常識別部を含み、
前記表情判定部は、喜び、驚き、恐怖、嫌悪、怒り、悲しみ及び平常時の顔の表情を判定する、
請求項９から１３のいずれか１項に記載の表情判定装置。
【請求項１５】
前記顔角度推定部が推定した前記顔の角度の絶対値が表情識別可能角度以下のときに、前記表情判定部が判定した結果を判定時刻とともに記憶する判定結果記憶部をさらに備え、
前記表情判定部は、前記顔角度推定部が推定した前記顔の角度の絶対値が前記表情識別可能角度を超えているときに、前記判定結果記憶部に記憶されている判定結果のうち、判定時刻が有効時間内のものを、前記顔の表情の判定結果とする、
請求項１から１４のいずれか１項に記載の表情判定装置。
【請求項１６】
前記表情判定部は、前記顔角度推定部が推定した前記顔の角度の絶対値が前記表情識別可能角度を超えているときに、前記判定結果記憶部に記憶されている判定結果のうち、最も新しい判定結果を前記顔の表情の判定結果とする、
請求項１５に記載の表情判定装置。
【請求項１７】
前記顔検出部により検出された人の顔の画像データの特徴量を取得する特徴量取得部を備え、
前記表情判定部は、前記特徴量取得部が取得した前記人の顔の画像データの特徴量と前記顔角度推定部が推定した前記顔の角度とに基づき前記顔の表情を判定する、
請求項１から１６のいずれか１項に記載の表情判定装置。
【請求項１８】
画像データを取得する画像取得ステップと、
前記画像取得ステップで取得した画像データから人の顔を検出する顔検出ステップと、
前記顔検出ステップで検出した顔の角度を推定する顔角度推定ステップと、
前記顔角度推定ステップで推定した前記顔の角度に基づき前記顔の表情を判定する表情判定ステップと、
を含む表情判定方法。
【請求項１９】
コンピュータに、
画像データを取得する画像取得機能、
前記画像取得機能で取得した画像データから人の顔を検出する顔検出機能、
前記顔検出機能で検出した顔の角度を推定する顔角度推定機能、及び、
前記顔角度推定機能で推定した前記顔の角度に基づき前記顔の表情を判定する表情判定機能、
を実現させるためのプログラム。