(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-02
(45)【発行日】2023-10-11
(54)【発明の名称】感情推定装置、感情推定方法及びプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20231003BHJP
H04N 7/18 20060101ALI20231003BHJP
【FI】
G06T7/00 130
H04N7/18 K
(21)【出願番号】P 2020108272
(22)【出願日】2020-06-23
【審査請求日】2022-06-22
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】市川 翠
【審査官】淀川 滉也
(56)【参考文献】
【文献】国際公開第2019/193781(WO,A1)
【文献】特開2019-101472(JP,A)
【文献】米国特許出願公開第2016/0072902(US,A1)
【文献】米国特許出願公開第2017/0351330(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
H04N 7/18
(57)【特許請求の範囲】
【請求項1】
ユーザの顔画像を取得する画像取得部と、
前記画像取得部で取得された顔画像に基づいて、平静状態を含む複数に分類された感情のそれぞれに対して評価値を設定する評価値設定部と、
平静状態のタイミングで前記画像取得部が取得した平静時顔画像に基づいて設定された評価値を用いて補正値を算出する補正値算出部と、
前記評価値設定部によって設定された評価値に対して、前記補正値算出部で算出された補正値を反映することでユーザの感情を推定する感情推定部と、
を有
し、
前記補正値算出部は、前記平静時顔画像に基づいて前記評価値設定部が設定した評価値のうち最も高い評価値に対応する感情が平静状態以外の他感情である場合に、該他感情の評価値と平静状態の評価値との差分を前記補正値とする感情推定装置。
【請求項2】
前記感情推定部は、前記評価値設定部で最も高い評価値が設定された感情が前記他感情である場合に前記補正値を反映し、前記評価値設定部で最も高い評価値が設定された感情が前記他感情以外の感情である場合には前記補正値を反映しない請求項1に記載の感情推定装置。
【請求項3】
前記感情推定部は、前記最も高い評価値が設定された感情が前記他感情である場合には、二番目に高い評価値に対応する次点感情の評価値と前記他感情の評価値との差分が、前記補正値と同じ又は前記補正値よりも小さい場合に、前記次点感情をユーザの感情として推定する請求項2に記載の感情推定装置。
【請求項4】
前記画像取得部は、車両が所定の走行状態でかつ運転者が所定の運転状態である場合に、運転者の顔画像を平静時顔画像として取得する請求項1~3の何れか1項に記載の感情推定装置。
【請求項5】
前記所定の走行状態とは、車両が直進している状態である請求項4に記載の感情推定装置。
【請求項6】
前記所定の運転状態とは、運転者が発話していない状態である請求項
4に記載の感情推定装置。
【請求項7】
ユーザの顔画像を取得する画像取得ステップと、
前記画像取得ステップで取得された顔画像に基づいて、平静状態を含む複数に分類された感情のそれぞれに対して評価値を設定する評価値設定ステップと、
平静状態のタイミングで前記画像取得ステップで取得された平静時顔画像に基づいて設定された評価値を用いて補正値を算出する補正値算出ステップと、
前記評価値設定ステップによって設定された評価値に対して、前記補正値算出ステップで算出された補正値を反映することでユーザの感情を推定する感情推定ステップと、
を含
み、
前記補正値算出ステップでは、前記平静時顔画像に基づいて前記評価値設定ステップで設定した評価値のうち最も高い評価値に対応する感情が平静状態以外の他感情である場合に、該他感情の評価値と平静状態の評価値との差分を前記補正値とする感情推定方法。
【請求項8】
ユーザの顔画像を取得する画像取得ステップと、
前記画像取得ステップで取得された顔画像に基づいて、平静状態を含む複数に分類された感情のそれぞれに対して評価値を設定する評価値設定ステップと、
平静状態のタイミングで前記画像取得ステップで取得された平静時顔画像に基づいて設定された評価値を用いて補正値を算出する補正値算出ステップと、
前記評価値設定ステップによって設定された評価値に対して、前記補正値算出ステップで算出された補正値を反映することでユーザの感情を推定する感情推定ステップと、
を含
み、
前記補正値算出ステップでは、前記平静時顔画像に基づいて前記評価値設定ステップで設定した評価値のうち最も高い評価値に対応する感情が平静状態以外の他感情である場合に、該他感情の評価値と平静状態の評価値との差分を前記補正値とする処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、感情推定装置、感情推定方法及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、ユーザの感情を推定する感情推定装置が開示されている。この特許文献1に記載の装置では、感情属性のそれぞれに対する評価値の集合である第1評価値群を取得し、この第1評価値群よりも前に取得した第2評価値群との関係に応じて補正処理を実行する。具体的には、第1評価値群及び第2評価値群における評価値の差異が基準を超えない場合に、最高評価値に対する感情属性の補正値を減少させ、他の感情属性の補正値を均等に増加させることで、各感情の評価値が徐々に等しくなるように補正する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記特許文献1に記載の装置では、各感情の評価値が等しくなるように補正することで、僅かな表情の変化が感情に反映される。しかしながら、画像の検出誤差などによって誤った感情が出力される可能性があり、精度を向上させる観点で改善の余地がある。
【0005】
本発明は上記事実を考慮し、表情に個人差がある場合であっても精度良く感情を推定することができる感情推定装置、感情推定方法及びプログラムを得ることを目的とする。
【課題を解決するための手段】
【0006】
請求項1に係る感情推定装置は、ユーザの顔画像を取得する画像取得部と、前記画像取得部で取得された顔画像に基づいて、平静状態を含む複数に分類された感情のそれぞれに対して評価値を設定する評価値設定部と、平静状態のタイミングで前記画像取得部が取得した平静時顔画像に基づいて設定された評価値を用いて補正値を算出する補正値算出部と、前記評価値設定部によって設定された評価値に対して、前記補正値算出部で算出された補正値を反映することでユーザの感情を推定する感情推定部と、を有し、前記補正値算出部は、前記平静時顔画像に基づいて前記評価値設定部が設定した評価値のうち最も高い評価値に対応する感情が平静状態以外の他感情である場合に、該他感情の評価値と平静状態の評価値との差分を前記補正値とする。
【0007】
請求項1に係る感情推定装置では、画像取得部によってユーザの顔画像が取得される。また、評価値設定部は、画像取得部で取得された顔画像に基づいて、複数に分類された各感情のそれぞれに対して評価値を設定する。
【0008】
ここで、感情推定装置は補正値算出部を有しており、この補正値算出部は、平静状態のタイミングで画像取得部が取得した平静時顔画像に基づいて設定された評価値を用いて補正値を算出する。また、感情推定部は、評価値設定部によって設定された各感情の評価値に対して補正値を反映することでユーザの感情を推定する。このように、平静状態をユーザの表情の基準とし、この平常状態の顔画像に基づいて設定された評価値を用いることで、個人差によって評価値が変動するのを抑制することができる。
【0010】
また、平静時顔画像に基づいて設定された評価値のうち、最も高い評価値に対応する感情が平静状態以外の他感情であれば、補正値算出部は、該他感情の評価値と平静状態の評価値との差分を前記補正値とする。これにより、ユーザの平静状態と感情推定部が推定した一般モデルの感情との誤差を補正することができる。なお、ここでいう「他感情」とは、例えば、喜び、驚き、怒り、悲しみ、緊張、疲労などの感情を指す。
【0011】
請求項2に係る感情推定装置は、請求項1において、前記感情推定部は、前記評価値設定部で最も高い評価値が設定された感情が前記他感情である場合に前記補正値を反映し、前記評価値設定部で最も高い評価値が設定された感情が前記他感情以外の感情である場合には前記補正値を反映しない。
【0012】
請求項2に係る感情推定装置では、評価値設定部で最も高い評価値が設定された感情が他感情である場合に補正値を反映する。これにより、適切にユーザと一般モデルとの評価値の差分を吸収することができる。一方、他感情以外の感情である場合には補正値を反映しないため、他感情以外の感情である場合には、感情推定部によって一般モデルの評価値に基づいて感情が推定される。
【0013】
請求項3に係る感情推定装置は、請求項2において、前記感情推定部は、前記最も高い評価値が設定された感情が前記他感情である場合には、二番目に高い評価値に対応する次点感情の評価値と前記他感情の評価値との差分が、前記補正値と同じ又は前記補正値よりも小さい場合に、前記次点感情をユーザの感情として推定する。
【0014】
請求項3に係る感情推定装置では、平静状態で他感情に近い表情のユーザの場合、補正値が反映されなければ、他感情として誤った推定されることとなる。これに対して、次点感情の評価値と他感情の評価値との差分が、補正値と同じ又は補正値よりも小さい場合に次点感情をユーザの感情とすることで、平静状態の評価値が一般モデルと異なるユーザであっても、より正確に感情を推定することができる。
【0015】
請求項4に係る感情推定装置は、請求項1~3の何れか1項において、前記画像取得部は、車両が所定の走行状態でかつ運転者が所定の運転状態である場合に、運転者の顔画像を平静時顔画像として取得する。
【0016】
請求項4に係る感情推定装置では、車両の走行状態と運転者の運転状態に基づいて取得した顔画像を平静時顔画像とする。これにより、走行状態及び運転状態の一方のみに基づいて平静時顔画像を取得する場合と比較して、精度良く平静状態の顔画像を取得することができる。
【0017】
請求項5に係る感情推定装置は、請求項4において、前記所定の走行状態とは、車両が直進している状態である。
【0018】
請求項5に係る感情推定装置では、車両が直進している状態では、運転者の視線が車両前方を向いているため、右左折時などのタイミングと比較して精度良く平静状態の顔画像を取得することができる。
【0019】
請求項6に係る感情推定装置は、請求項4において、前記所定の運転状態とは、運転者が発話していない状態である。
【0020】
請求項6に係る感情推定装置では、運転者が発話していない状態では、発話している状態よりも平静状態である可能性が高い。これにより、精度良く平静状態の顔画像を取得することができる。
【0021】
請求項7に係る感情推定方法は、ユーザの顔画像を取得する画像取得ステップと、前記画像取得ステップで取得された顔画像に基づいて、平静状態を含む複数に分類された感情のそれぞれに対して評価値を設定する評価値設定ステップと、平静状態のタイミングで前記画像取得ステップで取得された平静時顔画像に基づいて設定された評価値を用いて補正値を算出する補正値算出ステップと、前記評価値設定ステップによって設定された評価値に対して、前記補正値算出ステップで算出された補正値を反映することでユーザの感情を推定する感情推定ステップと、を含み、前記補正値算出ステップでは、前記平静時顔画像に基づいて前記評価値設定ステップで設定した評価値のうち最も高い評価値に対応する感情が平静状態以外の他感情である場合に、該他感情の評価値と平静状態の評価値との差分を前記補正値とする。
【0022】
請求項8に係るプログラムは、ユーザの顔画像を取得する画像取得ステップと、前記画像取得ステップで取得された顔画像に基づいて、平静状態を含む複数に分類された感情のそれぞれに対して評価値を設定する評価値設定ステップと、平静状態のタイミングで前記画像取得ステップで取得された平静時顔画像に基づいて設定された評価値を用いて補正値を算出する補正値算出ステップと、前記評価値設定ステップによって設定された評価値に対して、前記補正値算出ステップで算出された補正値を反映することでユーザの感情を推定する感情推定ステップと、を含み、前記補正値算出ステップでは、前記平静時顔画像に基づいて前記評価値設定ステップで設定した評価値のうち最も高い評価値に対応する感情が平静状態以外の他感情である場合に、該他感情の評価値と平静状態の評価値との差分を前記補正値とする処理をコンピュータに実行させる。
【発明の効果】
【0023】
以上説明したように、本発明に係る感情推定装置、感情推定方法及びプログラムによれば、表情に個人差がある場合であっても精度よく感情を推定することができる。
【図面の簡単な説明】
【0024】
【
図1】実施形態に係る感情推定装置のハードウェア構成を示すブロック図である。
【
図2】実施形態に係る感情推定装置の機能構成を示すブロック図である。
【
図3】実施形態に係る感情推定装置による補正値取得処理の流れの一例を示すフローチャートである。
【
図4】実施形態に係る感情推定装置による感情推定処理の流れの一例を示すフローチャートである。
【
図5】(A)は実施形態に係る感情推定装置によって推定された感情推定結果を示す概略図であり、(B)は比較例における感情推定結果を示す概略図である。
【
図6】実施形態に係る感情推定装置による補正値取得処理の流れの他の例を示すフローチャートの一部である。
【
図7】
図6の続きを示すフローチャートの一部である。
【発明を実施するための形態】
【0025】
実施形態に係る感情推定装置10について、図面を参照して説明する。
【0026】
図1に示されるように、本実施形態の感情推定装置10は、車両に搭載された制御部であるECU(Electronic Control Unit)12を備えている。すなわち、本実施形態の感情推定装置10は一例として、車両に搭載されている。このため、感情推定装置10のユーザは、車両の乗員となる。
【0027】
ECU12は、CPU(Central Processing Unit:プロセッサ)14、ROM(Read Only Memory)16、RAM(Random Access Memory)18、ストレージ20、通信インタフェース22及び入出力インタフェース24を含んで構成されている。各構成は、バス26を介して相互に通信可能に接続されている。
【0028】
CPU14は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU14は、ROM16又はストレージ20からプログラムを読み出し、RAM18を作業領域としてプログラムを実行する。CPU14は、ROM16又はストレージ20に記録されているプログラムに従って、上記各構成の制御および各種の演算処理を行う。
【0029】
ROM16は、各種プログラムおよび各種データを格納する。RAM18は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ20は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する非一時的記録媒体である。本実施形態では、ROM16又はストレージ20には、補正値を取得するための補正値取得プログラム、及び感情推定プログラムなどが格納されている。
【0030】
通信インタフェース22は、ECU12がコンピュータネットワークによって通信するためのインタフェースであり、例えば、5G、LTE、Wi-Fi(登録商標)、イーサネット(登録商標)などの規格が用いられる。
【0031】
入出力インタフェース24には、車室内カメラ28、車両周辺カメラ30、マイク32及び表示パネル34が電気的に接続されている。車室内カメラ28は、車室内の乗員を撮像するための光学カメラであり、本実施形態では一例として、車両前部のインストルメントパネルに配設されて運転者へ向けられている。そして、車室内カメラ28によって運転者の顔を含む映像が撮影され、撮影された画像がECU12へ送信される。
【0032】
車両周辺カメラ30は、車室内又は車両の骨格などに取り付けられており、車両の周辺を撮影できるように構成されている。本実施形態では一例として、車両の前方を撮影する光学カメラ、及び車両の後方を撮影する光学カメラの2つの光学カメラによって車両周辺カメラ30が構成されている。そして、車両周辺カメラ30で撮影された車両前方の画像及び車両後方の画像がECU12へ送信される。
【0033】
マイク32は、車室内における運転席の近傍に設けられており、本実施形態では一例として、運転席へ向けて配置された指向性のマイクとされている。このため、マイク32は、運転者が発話した音声を集音し、集音された音声がECU12へ送信される。また、マイク32は指向性を有するため、助手席などの他の座席に着座した乗員が発話した音声は全く又は殆ど集音されないように構成されている。
【0034】
表示パネル34は、インストルメントパネルなどに配置されており、運転者を含む乗員へ情報を表示させる。例えば、表示パネル34には、ナビゲーションシステムに関する情報、エンタテインメントに関する情報、及び注意喚起に関する情報などが表示される。
【0035】
(感情推定装置10の機能構成)
感情推定装置10は、上記のハードウェア資源を用いて、各種の機能を実現する。感情推定装置10が実現する機能構成について
図2を参照して説明する。
【0036】
図2に示されるように、感情推定装置10は、機能構成として、画像取得部40、周辺情報検知部42、評価値設定部44、平静状態検知部46、補正値算出部48及び感情推定部50を含んで構成されている。各機能構成は、CPU14がROM16又はストレージ20に記憶されたプログラムを読み出し、実行することにより実現される。
【0037】
画像取得部40は、車室内カメラ28で撮影された運転者の顔画像を取得する。また、周辺情報検知部42は、車両周辺カメラ30で撮影された画像に基づいて車両の周辺情報を検知する。具体的には、周辺情報検知部42は、車両前方及び車両後方の他車両を検知する。
【0038】
評価値設定部44は、画像取得部40で取得された顔画像に基づいて、平静状態を含む複数に分類された感情のそれぞれに対して評価値を設定する。本実施形態では一例として、平静(Neutral)、喜び(Happy)、イライラ(Irritated)、緊張(Nervous)、疲れ(Tired)の5つに分類された感情のそれぞれに対して評価値を設定する。また、本実施形態では、それぞれの感情である確率を評価値としており、5つの評価値の総和が100%となるように正規化している。例えば、評価値設定部44によって設定された評価値のデータは、Neutral:5%、Happy:40%、Irritated:50%、Nervous:5%、Tired:0%などで示され、1つのデータとしてECU12へ送信される。なお、評価値設定部44によって評価値を設定する間隔は、数秒間隔でもよく、数分間隔でもよい。また、一定の間隔ではなく、所定のタイミングで評価値を設定してもよい。評価値の設定方法は、例えば、人の顔画像と感情とが組となった教師データによって学習された学習済モデルを用いる方法を採用し得る。
【0039】
平静状態検知部46は、車両が所定の走行状態でかつ運転者が所定の運転状態である場合に、運転者が平静状態であること検知する。本実施形態では一例として、車両が直進している状態で、かつ、運転者が発話していない状態であるときに平静状態であると検知する。車両の状態は、例えば、車両周辺カメラ30から取得した車両前方の画像から車両が直進している状態であると判断してもよい。
【0040】
運転者の状態は、例えば、マイク32から取得した信号によって運転者が発話していない状態であると判断してもよい。また、他の座席にも同様の指向性マイクを配設し、何れのマイクからも発話が確認されなかった場合に、発話していないと判断してもよい。
【0041】
補正値算出部48は、平静状態のタイミングで画像取得部40が取得した平静時における顔画像、すなわち平静時顔画像に基づいて設定された評価値を用いて補正値Δを算出する。以下、
図5(A)を参照して、補正値算出部48による補正値の具体的な算出方法について説明する。
【0042】
図5(A)に図示された上下2つの顔画像のうち、上の顔画像は、平静状態検知部46で検知された平静状態のタイミングで画像取得部40によって取得された平静時顔画像である。そして、平静時顔画像の右には、平静時顔画像に基づいて評価値設定部44が設定した評価値のデータが示されている。
【0043】
この評価値のデータでは、Neutral:40%、Happy:0%、Irritated:50%、Nervous:5%、Tired:5%となっている。すなわち、平静状態にもかかわらず、NeutralよりもIrritatedの感情の評価値が高くなっている。このように、平静時顔画像に基づいて評価値設定部44が設定した評価値のうち最も高い評価値に対応する感情が平静状態以外の他感情である場合に、補正値算出部48は、他感情の評価値と平静状態の評価値との差分を補正値Δとして算出する。
【0044】
すなわち、
図5(A)の例では、最も高い評価値に対応する感情がIrritatedであり、このIrritatedが他感情に該当する。このため、補正値算出部48は、Irritatedの評価値である50%と、Neutralの評価値である40%との差分の10%を補正値Δとして算出する。そして、補正値算出部48によって算出された補正値Δは、記憶部であるストレージ20に格納される。また、平静状態でNeutralよりも評価値が高い他感情がIrritatedであることがストレージ20に格納される。すなわち、他感情がIrritatedであることと、補正値Δが10%であることが記憶される。
【0045】
図2に示されるように、感情推定部50は、評価値設定部44によって設定された各感情の評価値に対して、補正値算出部48で算出された補正値Δを反映することでユーザの感情を推定する。以下、
図5(A)を参照して、感情推定部50による感情推定の具体的な算出方法について説明する。
【0046】
図5(A)に図示された上下2つの顔画像のうち、下の顔画像は、所定のタイミングで画像取得部40によって取得された顔画像である。そして、この顔画像の右には、評価値設定部44が設定した評価値のデータが示されている。
【0047】
この評価値のデータでは、Neutral:5%、Happy:40%、Irritated:50%、Nervous:5%、Tired:0%となっている。すなわち、Irritatedが最も高い評価値となっているため、補正値Δを反映する前の状態では、Irritatedが運転者の感情として推定されることとなる。
【0048】
ここで、本実施形態の感情推定部50は、評価値設定部44で最も高い評価値が設定された感情が他感情である場合に補正値Δを反映する。
図5(A)の例では、他感情として記憶されている感情がIrritatedであり、最も高い評価値として設定された感情と一致するため、補正値Δを反映する。一方、感情推定部50は、評価値設定部44で最も高い評価値が設定された感情が他感情以外の感情である場合には、補正値Δを反映しない。例えば、他感情として記憶されている感情がIrritatedであり、最も高い評価値として設定された感情がHappyであった場合には、補正値Δを反映しない。
【0049】
感情推定部50は、二番目に高い評価値に対応する次点感情の評価値と他感情の評価値との差分が、補正値Δと同じ又は補正値Δよりも小さい場合に、次点感情をユーザの感情として推定する。
図5(A)の例では、二番目に高い評価値に対応する次点感情はHappyであり、評価値が40%となっている。このため、他感情であるIrritatedの評価値との差分は、50%-40%=10%となる。
【0050】
ここで、補正値算出部48によって算出された補正値Δは10%であるため、評価値の差分と同じ値となっている。このため、感情推定部50は、補正値Δを反映して、次点感情であるHappyを運転者の感情として推定する。一方、例えば、差分が15%であった場合は、補正値Δよりも差分が大きくなるため、感情推定部50は、最も評価値が高い他感情を運転者の感情として推定する。
【0051】
(作用)
次に、本実施形態の作用を説明する。
【0052】
(補正値取得処理の一例)
図3は、感情推定装置10による補正値取得処理の流れの一例を示すフローチャートである。この補正値取得処理は、CPU14がROM16又はストレージ20からプログラムを読み出して、RAM18に展開して実行することによって実行される。本実施形態では一例として、イグニッションがONにされた後、又はパワーがONにされた後、所定の間隔で補正値取得処理が行われる。また、補正値Δを登録した場合は、車両の運転が終了するまで補正値取得処理を行わない。すなわち、補正値Δは一度だけ登録される。
【0053】
図3に示されるように、CPU14は、ステップS102で車両のシフトレンジがDレンジであるか否かについて判定する。具体的には、CPU14は、シフトレンジからの信号を受信することで現在のシフトレンジを判定する。そして、CPU14は、シフトレンジがDレンジである場合にはステップS104の処理へ移行し、シフトレンジがDレンジではなかった場合には補正値取得処理を終了する。
【0054】
CPU14は、ステップS104で評価値設定部44による評価値の設定処理を作動させる。すなわち、本実施形態では、車両の走行が可能な状態になってから評価値の設定を開始する。そして、CPU14は、ステップS106の処理へ移行する。
【0055】
CPU14は、ステップS106で車両が直進中であるか否かについて判定する。具体的には、CPU14は、平静状態検知部46の機能により、車両周辺カメラ30からの信号によって車両前方の道路がカーブのない道路である場合に、車両が直進中であると判定する。そして、CPU14は、車両が直進中であると判定した場合、ステップS108の処理へ移行する。一方、CPU14は、右左折時など車両が直進中ではないと判定した場合、すなわち、車両の右左折時及びカーブの走行中であると判定した場合、補正値取得処理を終了する。
【0056】
CPU14は、ステップS108で乗員が発話していないか否かについて判定する。具体的には、CPU14は、平静状態検知部46の機能により、マイク32から運転者の音声が集音されなかった場合には、運転者が発話していないと判定する。そして、CPU14は、運転者が発話していないと判定した場合、ステップS110の処理へ移行する。一方、CPU14は、マイク32から運転者の音声が集音されるなどして運転者が発話していると判定した場合、補正値取得処理を終了する。
【0057】
CPU14は、ステップS110で評価値を取得する。具体的には、CPU14は、評価値設定部44の機能によって設定された評価値を取得する。ここでは、評価値設定部44は、車両が直進している状態で、かつ運転者が発話していない平静状態における平静時顔画像に基づいて評価値を設定する。
【0058】
続いて、CPU14は、ステップS112で平静よりも評価値が高い感情が存在するか否かについて判定する。具体的には、最も評価値が高い感情が平静以外であるか否かについて判定する。そして、CPU14は、ステップS110で取得された各感情の評価値のうち、平静の評価値よりも高い評価値があれば、ステップS114の処理へ移行する。例えば、
図5(A)における上の顔画像では、NeutralよりもIrritatedの評価値が高いため、ステップS114の処理へ移行する。一方、CPU14は、平静の評価値よりも高い評価値がない場合、すなわち、平静の評価値が最も高い評価値である場合には、補正値を取得せずに補正値取得処理を終了する。
【0059】
図3に示されるように、CPU14は、ステップS114で補正値Δを算出し、ストレージ20に登録する。具体的には、補正値算出部48の機能によって補正値Δを算出する(補正値算出ステップ)。
図5(A)における上の顔画像では、50%-40%=10%が補正値Δとなる。そして、他感情がIrritatedであり、補正値Δが10%として登録される。そして、CPU14は、補正値取得処理を終了する。
【0060】
(感情推定処理の一例)
図4は、感情推定装置10による感情推定処理の流れの一例を示すフローチャートである。この感情推定処理は、CPU14がROM16又はストレージ20からプログラムを読み出して、RAM18に展開して実行することによって実行される。また、感情推定処理は、車両の始動後に数秒から数分の間隔で実行される。
【0061】
CPU14は、ステップS202で画像を取得する。具体的には、CPU14は、画像取得部40の機能によって運転者の顔画像を取得する(画像取得ステップ)。
【0062】
CPU14は、ステップS204で評価値を設定する。具体的には、CPU14は、評価値設定部44の機能により、運転者の顔画像に基づいて評価値を設定する(評価値設定ステップ)。なお、以下の説明において、ステップS204で設定された評価値のうち、最も高い感情の評価値をVa1とし、二番目に高い感情である次点感情の評価値をVa2とする。
【0063】
CPU14は、ステップS206で補正値Δが登録済みであるか否かについて判定する。そして、CPU14は、補正値算出部48の処理によって算出された補正値Δが登録されていると判定した場合、ステップS208の処理へ移行する。また、CPU14は、補正値Δが登録されていないと判定した場合、ステップS214の処理へ移行する。ステップS214の処理については後述する。
【0064】
CPU14は、ステップS208で補正値を登録した感情の評価値が最も高いか否かについて判定する。すなわち、CPU14は、ステップS204で設定したVa1の感情が補正値の登録時の感情であると判定された場合は、ステップS210の処理へ移行する。また、CPU14は、Va1の感情と補正値の登録時の感情とが異なると判定された場合は、ステップS214の処理へ移行する。ステップS214の処理については後述する。
【0065】
CPU14は、ステップS210でVa1とVa2の差分が補正値Δ以下であるか否かについて判定する。そして、CPU14は、Va1とVa2の差分が補正値Δ以下である場合は、ステップS212の処理へ移行する。また、CPU14は、Va1とVa2の差分が補正値Δよりも大きい場合は、ステップS214の処理へ移行する。
【0066】
CPU14は、ステップS212でVa2に対応する感情を運転者の感情として推定する(感情推定ステップ)。例えば、
図5(A)の例では、Va1がIrritatedの評価値である50となり、Va2がHappyの評価値である40となっている。そして、差分の10が補正値Δと同じであるため、Va2に対応するHappyを運転者の感情として推定する。
【0067】
一方、CPU14は、ステップS206で補正値が登録されていないと判定された場合、ステップS208でVa1の感情と補正値Δの登録時の感情とが異なると判定された場合、及びステップS210でVa1とVa2の差分が補正値Δよりも大きいと判定された場合には、ステップS214の処理へ移行する。そして、CPU14は、ステップS214でVa1に対応する感情を運転者の感情として推定する(感情推定ステップ)。そして、CPU14は、感情推定処理を終了する。
【0068】
以上のように、本実施形態に係る感情推定装置10では、感情推定部50は、評価値設定部44によって設定された各感情の評価値に対して補正値Δを反映することでユーザの感情を推定する。このように、平静状態をユーザの表情の基準とし、この平常状態の顔画像に基づいて設定された評価値を用いることで、個人差によって評価値が変動するのを抑制することができる。この結果、表情に個人差がある場合であっても精度よく感情を推定することができる。また、学習済モデルのみを用いて感情を推定する場合と比較して、個人差による表情の推定の誤りを抑制することができる。
【0069】
また、本実施形態では、平静時顔画像に基づいて設定された評価値のうち、最も高い評価値に対応する感情が平静状態以外の他感情であれば、補正値算出部48は、他感情の評価値と平静状態の評価値との差分を補正値Δとする。これにより、ユーザの平静状態と感情推定部50が推定した一般モデルの感情との誤差を補正することができる。
【0070】
さらに、本実施形態では、評価値設定部44で最も高い評価値が設定された感情が他感情である場合に補正値を反映する。これにより、適切にユーザと一般モデルとの評価値の差分を吸収することができる。一方、評価値設定部44で最も高い評価値が設定された感情が他感情以外の感情である場合には、補正値を反映しない。このため、感情推定部50によって一般モデルの評価値に基づいて感情が推定される。
【0071】
さらにまた、平静状態で他感情に近い表情のユーザの場合、補正値Δが反映されなければ、他感情として誤った推定されることとなる。これに対して、本実施形態では、次点感情の評価値と他感情の評価値との差分が、補正値Δと同じ又は補正値Δよりも小さい場合に次点感情をユーザの感情とする。これにより、平静状態の評価値が一般モデルと異なるユーザであっても、より正確に感情を推定することができる。この作用について、
図5(B)を参照して説明する。
【0072】
図5(B)は、比較例における感情の推定方法であり、評価値設定部44によって評価値を設定し、最も高い評価値に対応する感情を運転者の感情として推定する方法である。ここでは、運転者は平静状態であるが、顔画像が一般のモデルよりもイライラしているように判断される。このため、比較例における感情の推定方法では、運転者の感情がイライラしていると推定される。
【0073】
一方、本実施形態では、他感情及び次点感情がそれぞれIrritatedとHappyとなっており、これらの評価値の差分が補正値Δよりも小さい場合に、次点感情であるHappyを運転者の感情として推定することができる。
【0074】
また、本実施形態では、車両の走行状態と運転者の運転状態に基づいて取得した顔画像を平静時顔画像とすることで、走行状態及び運転状態の一方のみに基づいて平静時顔画像を取得する場合と比較して、精度良く平静状態の顔画像を取得することができる。特に、車両が直進している状態で、かつ運転者が発話していない状態で取得した顔画像を平静時顔画像とすることで、右左折時などのタイミングと比較して精度良く平静状態の顔画像を取得することができる。また、発話している状態よりも発話していない状態の方が平静状態である可能性が高いため、精度良く平静状態の顔画像を取得することができる。
【0075】
なお、上記実施形態では、平静時顔画像を取得する条件として、車両が直進している状態で、かつ、運転者が発話していない状態としたが、これに限定されず、さらに条件を付加して平静状態の検知精度を向上させてもよい。また、上記実施形態では、補正値Δを一度だけ算出して登録する構成としたが、これに限定されない。例えば、
図6及び
図7に示す補正値取得処理を採用してもよい。
【0076】
(補正値取得処理の他の例)
図6及び
図7は、感情推定装置10による補正値取得処理の流れの他の例を示すフローチャートである。この補正値取得処理は、CPU14がROM16又はストレージ20からプログラムを読み出して、RAM18に展開して実行することによって実行される。また、以下の説明において、上記実施形態で説明した補正値取得処理と同様の処理については適宜説明を省略する。
【0077】
図6に示されるように、CPU14は、
図3のフローチャートと同様にステップS102からステップS108までの処理を実行する。そして、CPU14は、ステップS108で運転者が発話していないと判断した場合、ステップS109の処理へ移行する。
【0078】
CPU14は、ステップS109で車間が所定以上であるか否かについて判定する。具体的には、CPU14は、周辺情報検知部42の機能により、車両周辺カメラ30で撮影された車両前方を走行する他車両との車間距離を計測する。また、CPU14は、周辺情報検知部42の機能により、車両周辺カメラ30で撮影された車両後方を走行する他車両との車間距離を計測する。そして、CPU14は、自車両の前後の車間距離が所定以上であれば、車間が所定以上であると判定してステップS110の処理へ移行する。
【0079】
このように、車間距離を平静状態の条件として加えることにより、精度よく平静状態を検知することができる。すなわち、イライラしている場合など、平静以外の感情である場合には、先行車との車間が狭まっていることが多い。また、後方車両から煽られている場合も同様に、平静状態以外の感情である場合が多い。このため、車間距離を平静状態の条件に加えることで、平静状態である可能性を高めることができる。
【0080】
図7に示されるように、CPU14は、ステップS112で平静よりも評価値が高い感情が存在するか否かについて判定する。そして、CPU14は、ステップS110で取得された各感情の評価値のうち、平静の評価値よりも高い評価値があれば、ステップS113の処理へ移行する。
【0081】
CPU14は、ステップS113で補正値Δを算出する。次に、CPU14は、ステップS116の処理へ移行し、補正値Δが所定値よりも小さいか否かについて判定する。ここで設定される所定値は、通常の範囲から大きくはずれる値に設定されている。このため、補正値Δが所定値以上の場合は、平静状態が誤検知されていると判断することができる。
【0082】
CPU14は、ステップS116で補正値Δが所定値よりも小さい場合は、ステップS118の処理へ移行し、上記実施形態と同様に補正値Δを登録する。
【0083】
一方、CPU14は、ステップS116で補正値Δが所定値以上である場合は、ステップS120の処理へ移行する。そして、CPU14は、ステップS120で補正値Δを登録せずに補正値取得処理を終了する。このようにすることで、誤った補正値Δが登録されるのを抑制することができる。
【0084】
以上、実施形態に係る感情推定装置10について説明したが、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。例えば、上記実施形態では、平静(Neutral)、喜び(Happy)、イライラ(Irritated)、緊張(Nervous)、疲れ(Tired)の5つの感情に分類したが、これに限定されない。さらに多くの感情に分類してもよく、驚き、怒り及び悲しみなどの感情を分類してもよい。また逆に、4つ以下の感情に分類してもよい。
【0085】
また、上記実施形態では、車両周辺カメラ30から取得した車両前方の画像から車両が直進している状態であると判断したが、これに限定されず、他の方法によって車両が直進していると判断してもよい。例えば、操舵角を検知して車両が直進している状態であると判断してもよい。また、ナビゲーションシステムで走行ルートを設定している場合には、走行ルートの情報から直進状態であると判断してもよい。
【0086】
さらに、上記実施形態では、運転者が発話していないことを平静状態の条件としたが、これに限定されない。例えば、運転席に生体センサを搭載し、この生体センサから心拍数及び呼吸の状態などの情報を取得することで、運転者が平静状態であるか否かを判定してもよい。
【0087】
さらにまた、上記実施形態では、感情推定部50は、Va1とVa2との差分が、補正値Δと同じ又は補正値Δよりも小さい場合に、次点感情をユーザの感情として推定したが、これに限定されない。例えば、Va1とVa2との差分が、補正値Δよりも小さい場合のみ次点感情をユーザの感情として推定してもよい。そして、Va1とVa2との差分が、補正値Δと同じ場合には、Va1に対応する感情とVa2に対応する次点感情の両方の感情であると推定してもよい。
【0088】
また、上記実施形態では、感情推定装置10を車両に適用した場合について説明したが、これに限定されない。例えば、自宅及び病院などにおいて、ユーザの感情を推定する場合に広く利用することができる。
【0089】
さらに、上記実施形態及び変形例でCPU14がソフトウェア(プログラム)を読み込んで実行した補正値取得処理及び感情推定処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、補正値取得処理及び感情推定処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【0090】
さらに、上記実施形態では、ストレージ20を記録部としたが、これに限定されない。例えば、CD(Compact Disk)、DVD(Digital Versatile Disk)、及びUSB(Universal Serial Bus)メモリ等の非一時的記録媒体を記録部としてもよい。この場合、これらの記録媒体に各種プログラムを格納してもよい。
【符号の説明】
【0091】
10 感情推定装置
40 画像取得部
44 評価値設定部
48 補正値算出部
50 感情推定部