IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社国際電気通信基礎技術研究所の特許一覧

特許7594285感情推定装置、コンピュータプログラム及びコンピュータ
<>
  • 特許-感情推定装置、コンピュータプログラム及びコンピュータ 図1
  • 特許-感情推定装置、コンピュータプログラム及びコンピュータ 図2
  • 特許-感情推定装置、コンピュータプログラム及びコンピュータ 図3
  • 特許-感情推定装置、コンピュータプログラム及びコンピュータ 図4
  • 特許-感情推定装置、コンピュータプログラム及びコンピュータ 図5
  • 特許-感情推定装置、コンピュータプログラム及びコンピュータ 図6
  • 特許-感情推定装置、コンピュータプログラム及びコンピュータ 図7
  • 特許-感情推定装置、コンピュータプログラム及びコンピュータ 図8
  • 特許-感情推定装置、コンピュータプログラム及びコンピュータ 図9
  • 特許-感情推定装置、コンピュータプログラム及びコンピュータ 図10
  • 特許-感情推定装置、コンピュータプログラム及びコンピュータ 図11
  • 特許-感情推定装置、コンピュータプログラム及びコンピュータ 図12
  • 特許-感情推定装置、コンピュータプログラム及びコンピュータ 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-26
(45)【発行日】2024-12-04
(54)【発明の名称】感情推定装置、コンピュータプログラム及びコンピュータ
(51)【国際特許分類】
   G06T 7/20 20170101AFI20241127BHJP
   G06T 7/00 20170101ALI20241127BHJP
   G06V 40/20 20220101ALI20241127BHJP
【FI】
G06T7/20 300A
G06T7/00 350C
G06V40/20
【請求項の数】 11
(21)【出願番号】P 2021039907
(22)【出願日】2021-03-12
(65)【公開番号】P2022139491
(43)【公開日】2022-09-26
【審査請求日】2024-01-18
【新規性喪失の例外の表示】特許法第30条第2項適用 令和2年12月30日、MDPI Sensors(オンライン論文誌)にて発表
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成31年度、国立研究開発法人科学技術振興機構、戦略的創造研究推進事業 総括実施型研究ERATO「石黒共生ヒューマンロボットインタラクションプロジェクト」協働研究、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】393031586
【氏名又は名称】株式会社国際電気通信基礎技術研究所
(74)【代理人】
【識別番号】100099933
【弁理士】
【氏名又は名称】清水 敏
(72)【発明者】
【氏名】時 嘉祺
(72)【発明者】
【氏名】劉 超然
(72)【発明者】
【氏名】イシイ カルロス トシノリ
【審査官】藤原 敬利
(56)【参考文献】
【文献】特開2015-130151(JP,A)
【文献】特開2018-152004(JP,A)
【文献】特開2019-071008(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06T 7/20
G06V 40/20
(57)【特許請求の範囲】
【請求項1】
発話中の人物の3次元の骨格を表わすグラフの時系列と、当該時系列において隣接する時点での2つのグラフにおいて対応する要素の間を連結したエッジとを含む骨格グラフにつき、当該骨格グラフのノードの各々に関する素性を算出するための素性算出手段と、
前記骨格グラフの全てのノード間を1本のエッジで連結した完全グラフの各ノードについて、前記素性に関して自己アテンションを用いた空間方向及び時間方向に関する第1のグラフコンボリューションを行い、当該第1のグラフコンボリューションの結果に基いて、前記人物の発話時の感情を推定するように予め訓練されたグラフニューラルネットワークを含む感情推定手段とを含む、感情推定装置。
【請求項2】
前記感情推定手段の前記グラフニューラルネットワークは、
直列に接続された複数個のコンボリューションブロックと、
前記複数個のコンボリューションブロックの最後の出力を受けるように接続されたプーリング層とを含み、
前記複数個のコンボリューションブロックの先頭には、前記完全グラフを表わすように配列された前記素性を要素とする入力テンソルが入力され、
前記複数個のコンボリューションブロックの各々は、
前記完全グラフの空間方向に、自己アテンションを用いたグラフコンボリューションを行う空間コンボリューションブロックと、
前記完全グラフの時間方向に、自己アテンションを用いたグラフコンボリューションを行う時間コンボリューションブロックとを含み、
前記空間コンボリューションブロックと前記時間コンボリューションブロックとは互いに直列に接続され、
前記空間コンボリューションブロック及び前記時間コンボリューションブロックは、いずれも前記入力テンソルと同じ形式のテンソルを出力するよう構成されている、請求項1に記載の感情推定装置。
【請求項3】
前記複数個のコンボリューションブロックの各々はさらに、
前記骨格グラフの各ノードに対して第2のグラフコンボリューションを行うグラフニューラルネットワークからなるコンボリューション手段と、
前記空間コンボリューションブロック及び前記時間コンボリューションブロックの中で後段に存在するものの出力と、前記コンボリューション手段の出力とを所定の比率で混合して当該コンボリューションブロックの出力とするための混合手段を含む、請求項2に記載の感情推定装置。
【請求項4】
前記骨格グラフの前記ノードは、前記骨格の関節位置を表わす、請求項1から請求項3のいずれか1項に記載の感情推定装置。
【請求項5】
前記素性は、前記関節位置の3次元の座標データを含む、請求項4に記載の感情推定装置。
【請求項6】
前記骨格グラフの前記ノードは、前記骨格の骨を表わす、請求項1から請求項3のいずれか1項に記載の感情推定装置。
【請求項7】
前記素性は、前記骨を表わすベクトルの方向及び長さを含む、請求項6に記載の感情推定装置。
【請求項8】
請求項4又は請求項5に記載の第1の感情推定装置と、
請求項6又は請求項7に記載の第2の感情推定装置と、
前記第1の感情推定装置及び前記第2の感情推定装置の出力を入力とする全結合層とを含み、
前記第1の感情推定装置、前記第2の感情推定装置及び前記全結合層は、予め感情を示すラベルが付された骨格の時系列データを含む訓練データにより訓練されている、感情推定装置。
【請求項9】
請求項1から請求項7のいずれか1項に記載の、映像による感情推定装置と、
前記人物の発話中の音声データから前記人物の感情を推定するように予め訓練された、音声による感情推定手段と、
前記人物の前記発話の内容を示すテキストデータから前記人物の感情を推定するように予め訓練された、テキストによる感情推定手段と、
前記映像による感情推定装置、前記音声による感情推定手段、及び前記テキストによる感情推定手段の出力を受ける全結合層とを含む感情推定装置であって、
前記感情推定装置の前記映像による感情推定装置、前記音声による感情推定手段、前記テキストによる感情推定手段、及び前記全結合層は、前記人物の3次元の骨格データの、複数のタイムステップにわたる時系列からなる訓練データにより、さらに訓練されている、感情推定装置。
【請求項10】
コンピュータを、請求項1から請求項9のいずれか1項に記載の感情推定装置として機能させる、コンピュータプログラム。
【請求項11】
請求項1から請求項9のいずれか1項に記載の感情推定装置として機能するようにプログラムされている、コンピュータ。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は感情推定技術に関し、特に発話者のジェスチャを利用して発話者の感情を推定する技術に関する。
【背景技術】
【0002】
ロボットの制御又は対話型システムの運用等において、相手となっている人物の感情が推定できれば、様々なアプリケーションにおいてその感情に関する情報を利用できる。例えばバイオメトリックによるセキュリティ保護、ヘルスケア、及びゲームの分野等では、人物の感情に応じて様々な選択肢をとることができる。
【0003】
感情推定では特に、複数のモダリティを用いるマルチモーダル感情推定技術が有力視されている。例えば発話の音声、発話の内容、及び表情等が主要なモダリティである。こうした技術として後掲の非特許文献1に開示された技術がある。図1を参照して、非特許文献1に開示されたマルチモーダル感情推定装置50は、音声による感情推定装置60と、発話の内容を示すテキストによる感情推定装置62と、音声による感情推定装置60の出力するパラメータとテキストによる感情推定装置62の出力するパラメータとを受ける全結合層64とを含む。全結合層64の出力が感情推定結果66である。これら各部はニューラルネットワークからなり、マルチモーダル感情推定装置50も全体として一つのニューラルネットワークを構成している。
【0004】
音声による感情推定装置60は、音声から時系列で抽出されたMFCC(Mel-frequency cepstral coefficient)からなる音響素性92、94、…、96を順番に受けて隠れ状態82、84、…、86を順にとるRNN(Recurrent Neural Network)68と、音声から抽出されたプロソディ80とRNN68の最後の隠れ状態86を入力として受けるように接続され、出力が全結合層64の入力に結合された全結合層98とを含む。
【0005】
テキストによる感情推定装置62は、トークン112、114、…、116を順番に受け、内部状態を隠れ状態102、104、…、106の順番に変化させるRNN70と、隠れ状態106を入力とし出力が全結合層64の入力に結合された全結合層118とを含む。
【0006】
感情推定装置60及び62はそれぞれ別々に訓練される。さらに感情推定装置60及び62を全結合層64と組み合わせたマルチモーダル感情推定装置50について、発話の音声及びテキストと、その発話の話者の感情を示すラベルとを訓練データとしてさらに訓練をする。その結果、全結合層64の出力として例えばその発話をした話者の感情の確率を示す4つの値からなる感情推定結果66が得られる。ここでは、感情のラベルとして4種類(幸せ、怒り、悲しみ、中立)を採用している。
【0007】
ところで、人の場合には、発話にジェスチャが伴うことが多く、ジェスチャにより感情を強調する場面がよく目撃される。例えば怒りを表わすために、人はよく両腕を同時に大きく振り上げたり、激しく上下させたりする。こうしたジェスチャは音声又は表情等と異なり、遠くからもはっきりと認識できる。したがって、感情推定のための情報に、発話者のジェスチャを加えることが望ましい。
【0008】
しかし従来は、非特許文献1に記載されたように、発話者の音声と発話内容のテキストとを用いたものはよく見られるものの、ジェスチャによる感情推定は普及していない。その理由は、例えば音声、表情、発話内容のテキスト等については、感情推定のためにニューラルネットワークを訓練するためのデータが豊富に準備されているのに対し、動作の場合にはそのようなデータが少ないということが考えられる。ニューラルネットワークは様々な識別・分類に関する問題で非常に大きな効果を挙げているが、大量の訓練データを必要とするという問題がある。ジェスチャのように訓練データが少ない場合には、ニューラルネットワークを効率的に訓練することができない。
【0009】
このように不利な状況の中でも、ジェスチャを感情推定に用いるための研究がされており、後掲の非特許文献2にそのための提案がされている。非特許文献2に開示された技術は、発話中の人体の骨格構造を空間グラフに抽象化したものである。この空間グラフのノードは関節に対応し、エッジは骨による関節の接続に対応する。非特許文献2に開示された感情推定装置はさらに、空間-時間コンボリューションブロックを用いてグラフニューラルネットワークを構築し素性を抽出する。非特許文献2の感情推定装置は、この素性を用いて話者の感情を推定する。
【先行技術文献】
【非特許文献】
【0010】
【文献】Yoon, S.; Byun, S.; Jung, K. Multimodal speech emotion recognition using audio and text. In Proceedings of the 2018 IEEE Spoken Language Technology Workshop (SLT), Athens ,Greece, 18-21 December 2018; pp.112-118.
【文献】Yan, S.; Xiong, Y.; Lin, D. Spatial temporal graph convolutional networks for skeleton-based action recognition. arXiv, 2018, arXiv:1801.07455.
【発明の概要】
【発明が解決しようとする課題】
【0011】
上記した非特許文献2に開示された技術は、ジェスチャを感情の予測に用いるという意味で注目すべき技術である。しかしこの技術には解決すべき問題が残っている。
【0012】
すなわち、非特許文献2で使用されている骨格グラフでは、ジェスチャの特徴の一部しか用いてないという問題がある。関節と、各関節を結ぶ骨とに注目しているという意味では、骨格グラフは人体のジェスチャの自然な表現であると考えられる。しかし逆にそのために、非特許文献2の技術は人体の動きについての限定された情報しか利用できないという制約がある。ジェスチャからさらに多くの情報を引き出し、それらを用いて感情推定をすることができれば、推定の精度がより高くなると考えられる。
【0013】
それ故にこの発明の目的は、ジェスチャからより多くの情報を引き出すことで精度を高めることができる感情推定装置を提供することである。
【課題を解決するための手段】
【0014】
(1)本発明の第1の局面に係る感情推定装置は、発話中の人物の3次元の骨格を表わすグラフの時系列と、当該時系列において隣接する時点での2つのグラフにおいて対応する要素の間を連結したエッジとを含む骨格グラフにつき、当該骨格グラフのノードの各々に関する素性を算出するための素性算出手段と、骨格グラフの全てのノード間を1本のエッジで連結した完全グラフの各ノードについて、素性に関して自己アテンションを用いた空間方向及び時間方向に関する第1のグラフコンボリューションを行い、当該第1のグラフコンボリューションの結果に基いて、人物の発話時の感情を推定するように予め訓練されたグラフニューラルネットワークを含む感情推定手段とを含む。
【0015】
(2)好ましくは、感情推定手段のグラフニューラルネットワークは、直列に接続された複数個のコンボリューションブロックと、複数個のコンボリューションブロックの最後の出力を受けるように接続されたプーリング層とを含み、複数個のコンボリューションブロックの先頭には、完全グラフを表わすように配列された素性を要素とする入力テンソルが入力され、複数個のコンボリューションブロックの各々は、完全グラフの空間方向に、自己アテンションを用いたグラフコンボリューションを行う空間コンボリューションブロックと、完全グラフの時間方向に、自己アテンションを用いたグラフコンボリューションを行う時間コンボリューションブロックとを含み、空間コンボリューションブロックと時間コンボリューションブロックとは互いに直列に接続され、空間コンボリューションブロック及び時間コンボリューションブロックは、いずれも入力テンソルと同じ形式のテンソルを出力するよう構成されている。
【0016】
(3)より好ましくは、感情推定装置は、複数個のコンボリューションブロックの各々はさらに、骨格グラフの各ノードに対して第2のグラフコンボリューションを行うグラフニューラルネットワークからなるコンボリューション手段と、空間コンボリューションブロック及び時間コンボリューションブロックの中で後段に存在するものの出力と、コンボリューション手段の出力とを所定の比率で混合して当該コンボリューションブロックの出力とするための混合手段を含む。
【0017】
(4)さらに好ましくは、骨格グラフのノードは、骨格の関節位置を表わす。
【0018】
(5)好ましくは、素性は、関節位置の3次元の座標データを含む。
【0019】
(6)より好ましくは、骨格グラフのノードは、骨格の骨を表わす。
【0020】
(7)さらに好ましくは、素性は、骨を表わすベクトルの方向及び長さを含む。
【0021】
(8)本発明の第2の局面に係る感情推定装置は、(4)又は(5)に記載の第1の感情推定装置と、(6)又は(7)に記載の第2の感情推定装置と、第1の感情推定装置及び第2の感情推定装置の出力を入力とする全結合層とを含み、第1の感情推定装置、第2の感情推定装置及び全結合層は、予め感情を示すラベルが付された骨格の時系列データを含む訓練データにより訓練されている。
【0022】
(9)本発明の第3の局面に係る感情推定装置は、(1)から(7)のいずれかに記載の、映像による感情推定装置と、人物の音声データから人物の感情を推定するように予め訓練された、音声による感情推定手段と、人物の発話の内容を示すテキストデータから人物の感情を推定するように予め訓練された、テキストによる感情推定手段と、映像による感情推定装置、音声による感情推定手段、及びテキストによる感情推定手段の出力を受ける全結合層とを含む感情推定装置であって、感情推定装置の映像による感情推定装置、音声による感情推定手段、テキストによる感情推定手段、及び全結合層は、発話中の人物の3次元の骨格データの、複数のタイムステップにわたる時系列からなる訓練データにより、さらに訓練されている。
【0023】
(10)本発明の第4の局面に係るコンピュータプログラムは、コンピュータを、上記したいずれかの装置の各手段として機能させる。
【0024】
(11)本発明の第5の局面に係るコンピュータは、(1)から(9)のいずれかの感情推定装置として機能するようにプログラムされている。
【0025】
この発明の上記及び他の目的、特徴、局面及び利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【0026】
図1図1は、従来のマルチモーダル感情推定装置の構成を示すブロック図である。
図2図2は、この発明の第1実施形態に係るマルチモーダル感情推定装置の構成を示すブロック図である。
図3図3は、第1実施形態において発話中の人物の上半身の一連の映像から骨格グラフを抽出する過程を示すブロック図である。
図4図4は、あるタイムステップにおける人体の骨格から抽出されるグラフを示す模式図である。
図5図5は、人体の骨格の関節位置から抽出されるグラフに対応する完全グラフを示す模式図である。
図6図6は、2種類のコンボリューションの結果を加重して加算する処理を示す模式図である。
図7図7は、人体の骨格の関節と関節とを結ぶ骨に対応するベクトルによりグラフを形成する方法を説明するための模式図である。
図8図8は、この発明の第2実施形態に係る感情推定装置の構成を示すブロック図である。
図9図9は、この発明の各実施形態で用いられるS-STGCN(Self-attention enhanced Spatial Temporal Graph Convolution Network)を形成するグラフニューラルネットワークの構成を示すブロック図である。
図10図10は、図9に示す第1段目のコンボリューションブロックの構成を示すブロック図である。
図11図11は、図10に示すS-SGC層の構成を示すブロック図である。
図12図12は、この発明の各実施形態を実現するためのコンピュータシステムの外観図である。
図13図13は、図12に示すコンピュータシステムのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0027】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
【0028】
第1 第1実施形態
1.構成
(1)全体構成
図2にこの発明の第1実施形態に係るマルチモーダル感情推定装置150の概略構成をブロック図形式で示す。図2を参照して、マルチモーダル感情推定装置150は、図1に示すものと同じ感情推定装置60及び62と、映像から抽出した骨格情報の時系列から得られる骨格グラフを用いて感情推定を行うための感情推定装置160と、感情推定装置60及び62並びに感情推定装置160の出力を受けて感情推定結果164を出力するための全結合層162とを含む。全結合層162は、図1に示す全結合層64と同様の機能を持つが、感情推定装置60及び62に加えて感情推定装置160の入力も受けるように構成されている点で全結合層64と異なる。
【0029】
感情推定装置160は、複数の画像シーケンスからなる、人物の上半身の映像時系列170から抽出された、骨格の時系列を表わすグラフである時系列骨格グラフ172に対し、非特許文献2に記載のグラフコンボリューションと、グラフの時系列に対応する完全グラフに対する自己アテンションを用いたグラフコンボリューションとを組み合わせた処理を行うS-STGCN174と、S-STGCN174の出力を受ける入力と全結合層162に結合された出力とを持つ全結合層176とを含む。
【0030】
S-STGCN174の構成については、図9から図11を参照して後述する。
【0031】
(2)骨格グラフの形成
図3を参照して、映像時系列170から時系列骨格グラフ172を抽出する処理は、映像時系列170から被写体の人物の2次元の姿勢を推定する2D姿勢推定部200と、2D姿勢推定部200により推定された人物の2次元の姿勢から、その人物の3次元の姿勢を推定し、推定された姿勢から、人物の上半身の時系列骨格グラフ172を出力するための3D姿勢推定部202とを含む。これらはいずれも既存のオープンソースのソフトウェアで実現できる。
【0032】
(3)骨格グラフ
図4は、ある時点での骨格を表わすグラフ250の模式図である。図4を参照してこのグラフは、この例では10個のノード260、…、278と、9本のエッジ290、…、306とを含む。このグラフ250は非特許文献1で採用された骨格のグラフと同じである。
【0033】
ノード260、…、278は、それぞれ人物の上半身の関節に対応する。エッジ290、…、306はそれぞれこれらノードのうち特定の2つを接続する骨に対応する。この例ではエッジ290はノード260とノード262とを接続する。エッジ292はノード262とノード268とを接続する。エッジ294はノード264とノード266とを接続する。エッジ296はノード266とノード270とを接続する。エッジ298はノード268とノード270を接続する。エッジ300はノード270とノード272とを接続する。エッジ302はノード270とノード274とを接続する。エッジ304はノード274とノード276とを接続する。エッジ306はノード276とノード278とを接続する。
【0034】
時系列骨格グラフ172は、このグラフ250が時系列にしたがって並んだ重層的な構造を持つグラフである。隣接するタイムステップのグラフ250において、同じノード同士は図示しないエッジで連結されている。例えば、図4には図示していないが、あるタイムステップのノード260とその前後のタイムステップのノード260とは互いにエッジで連結されている。ただし、隣接するタイムステップでも、あるタイムステップのノード260と、隣接するタイムステップの他のノード262とは連結されていない。また、同じノード260でも、隣接していないタイムステップのノード260同士は連結されていない。
【0035】
なおこの骨格グラフは隣接行列として表現される。また非特許文献2でも提案されている分割戦略にしたがって、この隣接行列は複数個のサブ行列に分割されている。
【0036】
(4)完全グラフ
図5は、この第1実施形態で自己アテンションによるグラフコンボリューションを行う対象として想定される完全骨格グラフ350を説明するための図である。図5を参照して、ノード278は、図4ではノード276とエッジ306により連結されているが、他のノードとは接続されていない。しかし完全骨格グラフ350においては、ノード278は、エッジ370によりノード260と、エッジ372によりノード264と、エッジ374によりノード262と、エッジ376によりノード266と、エッジ378によりノード268と、エッジ380によりノード270と、エッジ382によりノード274と、エッジ384によりノード272と、それぞれ接続されている。
【0037】
エッジ370、…、384は互いに異なる太さとなっている。この太さの違いは、自己アテンションによりグラフコンボリューションで扱われる、ノード278と各ノードとの間の関係の大きさを示している。
【0038】
図5ではノード278について、ある時点での他のノードとの連結関係を示している。しかし、ノード278に限らず、他の全てのノードについても、他の各ノードと1本のエッジにより接続されている。
【0039】
このように全てのノードがそれぞれ1本のエッジにより他の全てのノードと接続されているグラフを完全グラフと呼ぶ。なお、完全骨格グラフ350の場合、あるタイムステップのグラフが完全グラフであるだけでなく、時系列を構成するノード全てが他の各ノードと1本のエッジで連結されている完全グラフとなっている。後述するように、こうした空間的及び時間的な関節の間の関係をグラフコンボリューションで抽出するために、この実施形態では空間方向と時間方向との両方向にわたりグラフコンボリューションを行う。
【0040】
なお、このように完全グラフに対するグラフコンボリューションは自己アテンションを用いたものとなる。そのグラフコンボリューションを行う仕組み(S-STGCN174の構成)については図9から図11を参照して後述する。
【0041】
(5)2種類のグラフコンボリューション結果の統合
上記したように、この実施形態では、非特許文献1により提案されたグラフコンボリューションと、本実施形態で提案する、完全グラフに基づく自己アテンションを用いたグラフコンボリューションとの2つのグラフコンボリューションを行い、その結果を統合している。
【0042】
図6を参照して、その統合方法について説明する。図6を参照して、グラフ250に対して非特許文献1に提案された従来技術のグラフコンボリューションを行う。一方、グラフ250に対応する完全骨格グラフ350については、本実施形態で提案する自己アテンションを用いたグラフコンボリューションを行う。そして、両者の結果を互いに加算することで両者を統合する。その際、互いの加算の比率について、この実施形態ではグラフ250に対するグラフコンボリューションの結果に対し、完全骨格グラフ350に対するグラフコンボリューションの値に定数rを乗算したものを加算することで最終的な結果を得るようにしている。定数rは訓練の対象となるパラメータである。
【0043】
2.訓練
感情推定装置60及び62、及び感情推定装置160、並びにマルチモーダル感情推定装置150の全体に関する訓練は、通常の誤差逆伝搬法を用いて行うことができる。より詳細には、ある感情をもって発話する人物の映像のサンプルを準備し、それらサンプルにその人物の感情を示すラベルを付したものを訓練データとする。感情推定装置60及び62、及び感情推定装置160はそれぞれ独立に訓練される。これらとマルチモーダル感情推定装置150の全体の訓練とのいずれにおいても、訓練データとしてある程度の数を準備し、対象となる感情推定装置に与えてその出力を得る。それら出力と訓練データに付されているラベルとの誤差を算出し、対象となる感情推定装置のパラメータを誤差逆伝搬法により更新する。
【0044】
3.動作
マルチモーダル感情推定装置150は以下のように動作する。感情推定装置60及び62は図1に示す従来のものと同様に動作する。
【0045】
感情推定装置160において、図3に示す2D姿勢推定部200が映像時系列170から一連の画像における発話者の2次元の姿勢を推定する。それら一連の2次元の姿勢から、3D姿勢推定部202が一連の3次元の姿勢を推定し、それらの各々における関節位置の3次元座標を推定して時系列骨格グラフ172を得る。なお、3次元の姿勢推定から骨格を抽出する際に、各関節位置とそれらの間の連結関係は予め定められている。したがって3D姿勢推定部202により計算された各関節位置から時系列骨格グラフ172を得ることは容易である。
【0046】
図2に示すS-STGCN174は、時系列骨格グラフ172に対しては非特許文献2により提案された先行技術のグラフコンボリューションを行う。S-STGCN174はまた、図9から図11を参照して説明するような、自己アテンションを用いたグラフコンボリューションを行う。両者の結果はS-STGCN174の内部で上記したように1:rの比で合算されてS-STGCN174の出力となる。
【0047】
第2 第2実施形態
1.構成
(1)骨ベクトルによるグラフ
上記第1実施形態では、発話者の骨格に関する情報のうち、関節をノードとし、関節を連結する骨をエッジとするグラフを考えた。しかしこの発明はそのような実施形態には限定されない。骨をノードとし、骨の端点に相当する関節をエッジとするグラフを考えることもできる。
【0048】
図7を参照して、第2実施形態では、グラフ250において例えばノード260である頂点v1と、ノード262である頂点v2とを結ぶ、骨格でいうと骨に相当する役割のベクトルe1,2をノードとする。つまりこの場合の骨ベクトルは、骨の方向と長さとを表わす。同様にして、グラフ250における各エッジをノードとし、各ノードをエッジとするグラフが考えられる。このグラフを第2実施形態ではS-STGCNの入力とする。
【0049】
第2実施形態は、そのようなグラフの時系列を入力とする第2のS-STGCNを用いる感情推定装置と、第1実施形態で説明した感情推定装置160との2系統により得られたパラメータに基いて感情推定を行う。
【0050】
(2)2系統感情推定装置
図8に、この第2実施形態に係る感情推定装置450の概略ブロック図を示す。図8を参照して、感情推定装置450は、一連の映像から抽出された3次元の姿勢を表わす骨格情報460から、第1実施形態に係る感情推定装置160と同様の手法により、感情推定のためのスコアベクトルを出力する関節による感情推定部462と、骨格情報460から上記した骨ベクトルの時系列に関する情報を抽出して得られた時系列骨格グラフを入力として、感情推定装置160と同様の手法により感情推定のためのスコアベクトルを出力する骨ベクトルによる感情推定部464と、関節による感情推定部462の出力及び骨ベクトルによる感情推定部464の出力を受けるように接続され、これらの出力するスコアの加重和を算出する統合部466とを含む。統合部466の出力は、上記した4つの感情の中で発話者の感情である確率が最も高い感情を示す出力を与える。
【0051】
関節による感情推定部462及び骨ベクトルによる感情推定部464はそれぞれグラフニューラルネットワークを形成する。さらにこれら2つの機能部と統合部466とを連結したものも全体としてニューラルネットワークを構成する。
【0052】
2.訓練
関節による感情推定部462及び骨ベクトルによる感情推定部464はそれぞれ独立に訓練される。その後、これらを統合部466と組み合わせた感情推定装置450についても訓練が行われる。
【0053】
関節による感情推定部462、骨ベクトルによる感情推定部464、及び感情推定装置450の全体に関する訓練は、第1実施形態と同様、通常の誤差逆伝搬法を用いて行うことができる。より詳細には、ある感情をもって発話する人物の映像のサンプルを準備し、それらサンプルにその人物の感情を示すラベルを付したものを訓練データとする。関節による感情推定部462、骨ベクトルによる感情推定部464、及び感情推定装置450の訓練のいずれにおいても、訓練データとしてある程度の数を準備し、対象となる感情推定装置に与えてその出力を得る。それら出力と訓練データに付されているラベルとの誤差を算出し、感情推定装置のパラメータを誤差逆伝搬法により更新する。
【0054】
3.動作
図8を参照して、関節による感情推定部462において、関節位置情報抽出部480が骨格情報460から関節位置情報を抽出する。S-STGCN482がその関節位置情報に基いて時系列骨格グラフを生成して通常のグラフコンボリューションと自己アテンションを用いたグラフコンボリューションとを行い、感情の推定結果を示すスコアベクトルを統合部466に出力する。
【0055】
骨ベクトルによる感情推定部464においても同様で、骨ベクトル情報抽出部490が骨格情報460から骨の長さと方向とを表わす骨ベクトル情報を抽出する。S-STGCN492がそれら骨ベクトル情報に基いて時系列骨格グラフを生成し、通常のグラフコンボリューションと自己アテンションを用いたグラフコンボリューションとを行い、感情の推定結果を示すスコアベクトルを統合部466に出力する。
【0056】
統合部466は、関節による感情推定部462からのスコアベクトルと骨ベクトルによる感情推定部464からのスコアベクトルとを加重和により統合し、最も確率が高い感情を予測468として出力する。
【0057】
第3 S-STGCN
1.構成
(1)全体ネットワーク構成
第1実施形態及び第2実施形態で共通して用いられているS-STGCN、例えばS-STGCN482は以下のような構造を持つ。
【0058】
図9を参照して、S-STGCN482は、骨格グラフ550を入力として受ける、直列に接続された10個のコンボリューションブロック552、…、570と、コンボリューションブロック570の出力に対してグローバル平均プーリングを行うプーリング層572と、プーリング層572の出力に対してSoftMax演算を行うSoftMax層574とを含む。
【0059】
骨格グラフ550は、前述したように時間方向と空間方向との2つの方向を持つ。コンボリューションブロック552、…、570の各々について、この時間方向と空間方向との各々についてグラフコンボリューションが行われる。
【0060】
またこの実施形態では、骨格グラフ550の各ノードの値は関節の場合には3次元座標であり、したがって入力のチャンネル数は3である。このチャンネル数はコンボリューションの処理にしたがって変動する。しかし、コンボリューションブロック552、…、570は基本的に同じ構造である。したがってこれらはそれぞれ、コンボリューションブロック552への入力である骨格グラフ550と同じ次元の入力を受け、同じ次元のデータを次のブロックに出力する。
【0061】
(2)コンボリューションブロックの構成
図10に、図9に示すコンボリューションブロック552のより詳細な構成を示す。コンボリューションブロック554、…、570も同じように構成されている。図10を参照して、コンボリューションブロック552は、直列に接続されたS-SGC層600、バッチ正規化層602、Relu604、T-Conv層606、バッチ正規化層608及びRelu610と、S-SGC層600への入力と同じ入力を受ける残差算出部612と、Relu610の出力に残差算出部612の出力を加算するための加算部614と、加算部614の出力を受けるRelu616とを含む。
【0062】
S-SGC層600は、入力により示される骨格グラフの空間方向へのグラフコンボリューションを行うためのものである。すなわちS-SGC層600は、骨格グラフの各ノードについて、同じタイムステップのノードとの間でグラフコンボリューションを行う。
【0063】
これに対してT-Conv層606は、骨格グラフの時間方向へのグラフコンボリューションを行うためのものである。すなわちT-Conv層606は、骨格グラフの各ノードについて、異なるタイムステップのノードとの間でグラフコンボリューションを行う。
【0064】
(3)S-SGC層の構成
S-SGC層600とT-Conv層606とは、対象とするノードが異なるだけで、その構成は同じである。したがって、以下ではS-SGC層600の構成のみについて説明する。
【0065】
なお、以下の説明に出現するテンソル、行列、ベクトル等の次元数について予め以下に一覧形式で示す。
【表1】
【0066】
ア.S-SGC層600の全体構成
図11を参照して、S-SGC層600は、コンボリューション部650、自己アテンショングラフコンボリューション部652、及びゲーティング部654を含む。
【0067】
自己アテンショングラフコンボリューション部652は、以下の参考文献1に記載された、Transformerと呼ばれる、自己アテンションを用いた深層学習モデルのエンコーダ部分と同様の構造を持つ。参考文献1の開示の全体をここに参照により援用する。
【0068】
[参考文献1]
Vaswani et al., Attention is all you need. In Proceedings of the Advances in neural information processing systems, Long Beach, CA, USA, 4-9 December 2017; pp. 5998-6008.
【0069】
イ.自己アテンショングラフコンボリューション部652
すなわち、図11を参照して、自己アテンショングラフコンボリューション部652は、前層からS-SGC層600への入力fin(次元がCin×T×Vのテンソル。ただしTは骨格グラフのタイムステップ数、Vは1タイムステップにおける骨格グラフの関節数である。)に対してバッチ正規化を行い、かつ次元がT×V×Cinに変換されたテンソルを出力するバッチ正規化部700と、バッチ正規化部700の出力を分岐したものをそれぞれ受ける、H個(この実施形態ではH=4)のヘッド670、…、676と、これらH個のヘッド670、…、676の出力を連接する連接部714と、連接部714の出力に対し行列を乗算することにより線形変換を行う線形変換部716と、バッチ正規化部700の出力に対して所定の残差算出を行うための残差算出部718と、線形変換部716の出力に残差算出部718の出力をポイントワイズで加算するための加算部720とを含む。
【0070】
H個のヘッド670、…、676はいずれも同じ構成を持つ。例えばヘッド670は、バッチ正規化部700の出力をそれぞれ受ける線形変換部702及び704、及び線形変換部706を含む。これらヘッド670、…、676の構成は互いに全く同じでパラメータの個数も同じである。しかし、訓練時に各パラメータは独立に乱数で初期化される。したがって訓練後の各ヘッドによる自己アテンションの計算は互いに異なるものとなる。
【0071】
線形変換部704は、バッチ正規化部700の出力に対して行列を乗算することで次元がT×V×Dkのテンソルを出力するためのものである。線形変換部704の出力は参考文献1ではキー(Key)と呼ばれ、通常「K」で示される。Dkは「K」で示されるテンソルが、ヘッド670で得られるアテンションの中でKが占める次元数を示す。この実施形態ではDk=0.25×Cinである。
【0072】
線形変換部702は、バッチ正規化部700の出力に対して行列を乗算することで次元がT×V×Dkのテンソルを出力するためのものである。参考文献1では線形変換部702の出力はクエリと呼ばれ、「Q」で示される。
【0073】
線形変換部706は線形変換部702及び704と同様、バッチ正規化部700の出力に対して行列を乗算することで、次元がT×V×Dのテンソルを出力するためのものである。線形変換部706の出力は参考文献1では「バリュー(Value)」と呼ばれ、「V」で示される。Dはヘッド670で得られるアテンションの中でVが占める次元数を示す。
【0074】
ヘッド670はさらに、線形変換部704からのキーKと線形変換部702からのクエリQとの間で以下の式で示されるスケール変換ドット積を行うためのスケール変換ドット積部708と、スケール変換ドット積部708の出力に対してソフトマックス演算を行うSoftMax演算部710と、SoftMax演算部710の出力と線形変換部706の出力との間で乗算を行うための乗算部712とを含む。
【0075】
ここで、各関節の特徴ベクトルをa(i=1,…,V)とする。すると、参考文献1の開示により、あるヘッド(head)におけるクエリQのi行目とキーKのj行目との類似度eij headは以下のスケール変換ドット積により算出される。
【数1】
【0076】
の二乗根で分子を除算(スケール変換)しているのは、この除算をせずにdの値が大きくなったときに、分子のドット積の値が大きくなり過ぎ、誤差逆伝搬における勾配が小さくなってしまい訓練に支障が生ずることを防止するためである。
【0077】
このヘッド(head)におけるSoftMax演算部710の出力のi行j列の要素αij headは以下の式で表される。
【数2】
【0078】
あるヘッドにおけるこれら値の加重結果は、以下の式により表される。
【数3】
ただしdはバリューVの次元である。上の式内のs headは以下の式により算出される。
【数4】
【0079】
連接部714の出力は以下の式で表される。
【数5】
【0080】
残差算出部718は、自己アテンショングラフコンボリューション部652の訓練を安定化させるために設けたものである。残差算出部718は、自己アテンショングラフコンボリューション部652への入力finに対して以下のように残差Residual(fin)を算出するためのものである。
【数6】
ただしCinは入力finのチャンネル数、Coutは自己アテンショングラフコンボリューション部652の出力fのチャンネル数、W∈RCin×Coutは入力のチャンネル数Cinと出力のチャンネル数Coutとを一致させるためのパラメータ行列である。
【0081】
加算部720の出力、すなわち自己アテンショングラフコンボリューション部652の出力fは以下の式で表される。
【数7】
【0082】
ウ.コンボリューション部650
コンボリューション部650は、非特許文献2に記載された従来のグラフコンボリューションを行うためのものである。ここでのコンボリューションのために、骨格グラフは隣接行列Aの形でコンボリューション部650に入力される。非特許文献2でも提案されている分割戦略にしたがって、行列AはK個(ここでいうKはアテンションヘッドへの入力のキーとは異なるもので、自然数を示す。)のサブ行列に分割されている。すなわち、A=Σ である。Vをノード数(関節数)としてA∈RV×Vである(ここでのVもアテンションヘッドへの入力のV(バリュー)とは異なるもので、自然数を表わす)。一方、自己アテンショングラフコンボリューション部652への入力finがコンボリューション部650にも与えられる。
【0083】
コンボリューション部650は、入力finに対して空間方向の2次元コンボリューションを行うための2次元コンボリューション部730と、2次元コンボリューション部730の出力と隣接行列Aとを乗算し出力をゲーティング部654に与える乗算部732とを含む。
【0084】
ここで、入力finは前述のとおりCin×T×Vの形のテンソルである。この入力finに対するコンボリューション演算は以下の式で表される。
【数8】
【0085】
2次元コンボリューション部730の出力fも、隣接行列Aと同様に以下のとおりK個のサブセットに分割される。
【数9】
【0086】
すると、乗算部732の出力、すなわちコンボリューション部650の出力fは以下のように表される。
【数10】
ただし、M∈RV×Vは訓練対象の重み行列であり、丸付きの乗算記号は行列の間の要素ごとの乗算を表わす。
【0087】
エ.ゲーティング部654
コンボリューション部650の出力と自己アテンショングラフコンボリューション部652の出力との、ノードの状態更新に対する貢献度が互いに異なることを想定して、訓練対象となる係数rを用いて自己アテンショングラフコンボリューション部652の出力の重みを調整することとした。すなわち、ゲーティング部654は、自己アテンショングラフコンボリューション部652の出力をr倍するゲート750と、ゲート750の出力とコンボリューション部650の出力とを加算して出力foutを出力するための加算部752とを含む。rは訓練対象であり、1に初期化される。
【0088】
S-SGC層600の出力foutは以下の式で表される。
【数11】
【0089】
ここで、図9に示す10個のコンボリューションブロックの具体的なチャンネル数、入出力されるテンソルの構成(次元数)、並びに内部のアテンションヘッドの数を以下にテーブル形式で示す。なおこのテーブルで「T」は、映像の時間長に相当し、具体的には時系列のタイムステップ数を示す。このテーブルから分かるように、入出力されるテンソルの次元数はチャンネル数を除き全て共通である。チャンネル数は各ブロック内でのコンボリューションに使用されるフィルタ数により変化する。
【表2】
【0090】
第4 実験
1.実験の設定
上記実施形態の感情推定装置について、以下の参考文献2に記載されたデータベースIEMOCAPを用いた実験を行った。参考文献2の開示の全体をここに参照により援用する。
【0091】
[参考文献2]
Busso, C.; Bulut, M.; Lee, C. C.; Kazemzadeh, A.; Mower, E.; Kim, S.; Chang, J .N.; Lee, S.; Narayanan, S. S. IEMOCAP: Interactive emotional dyadic motion capture database. Lang. Resour. Eval. 2008, 42,335.
【0092】
IEMOCAPは2人の人物が仮想的な、又は予め準備されたシナリオで対話をしたときの音声と映像とを記録したものである。各発話は3人又は4人のアノテータにより10クラスにラベル付けされた。これら10クラスとは、幸せ、悲しみ、怒り、驚き、おそれ、嫌悪、不満、興奮、及びその他等である。しかし、身体の動きに関しては、身体の骨格データの代わりに、頭部及び手の動きのみがキャプチャされてデータベース化されている。そのため、感情表現にとって重要な部位、例えば脊柱、肩及び腕については無視されている。
【0093】
過去の研究との整合を取るため、興奮ラベルについては幸せラベルに含ませ、4つの感情クラス、すなわち、中立、幸せ、悲しみ、及び怒りを用いた。実験で使用したデータセットは全部で5492サンプルであり、そのうち1606に幸せ、1081に悲しみ、1102に怒り、1703に中立というラベルが付されていた。
【0094】
実験においてMFCC素性及びプロソディ素性の抽出、及び事前学習済の300次元Gloveベクトル(参考文献3)によりトークンを初期化する処理については、以下の参考文献4に記載されているOpenSMILEツールキットを使用した。参考文献3の開示の全体及び参考文献4の開示の全体をそれぞれここに参照により援用する。
【0095】
[参考文献3]
Pennington et al.,: GloVe: Global vectors for word representation. In Proceedings of the 2014 conference on empirical methods in natural language processing (EMNLP), Doha, Qatar, 25-29 October 2014, pp.1532-1543.
[参考文献4]
Eyben et al.,: Opensmile: The munich versatile and fast open-source audio feature extractor. In Proceedings of the 18th ACM international conference on Multimedia, Firenze, Italy, 25-29 October 2010; pp.1459-1462.
【0096】
実験の訓練処理では、サンプルを訓練セット、開発セット及びテストセットに8:0.5:1.5の比率で分割した。誤差逆伝搬の際の損失関数としては相互エントロピー損失を用いた。
【0097】
2.結果
上記実施形態に係る感情推定モデルとベースラインのモデルとの性能を以下のテーブル3に示す。
【表3】
テーブル3において各モデルの後ろの[ ]内に記載した番号は、それぞれ以下の参考文献5-7を示す。
【0098】
[参考文献5]
Yoon et al.,: Multimodal speech emotion recognition using audio and text. In Proceedings of the 2018 IEEE Spoken Language Technology Workshop (SLT), Athens ,Greece, 18-21 December 2018; pp.112-118. (非特許文献1)
[参考文献6]He et al.,: Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition, Las Vegas, NV, USA, 27-30 June 2016; pp.770-778.
[参考文献7]
Yan et al.: Spatial temporal graph convolutional networks for skeleton-based action recognition. arXiv, 2018, arXiv:1801.07455. (非特許文献2)
参考文献7の開示の全体をここに参照により援用する。
【0099】
テーブル3は、音声信号、テキスト内容、及び上半身骨格データを用いたユニモーダル、及びマルチモーダルモデルについてのUAR(Unweighted Average Recall)及びWAR(Weighted Average Recall)を示す。サンプルが偏っていることに鑑み、各カテゴリーを同等に扱うことでモデルを評価するためにUARを用いた。UARの値はサンプル数の少ないカテゴリーにより容易に影響を受けるので、全体的な推定精度を測定するためにWARも用いた。WARはモデルの精度と数値的に等しいためである。
【0100】
テーブル3に示すS-STGCNが第1実施形態の一部である感情推定装置160(図2)を用いて感情推定を行うシステムであり、2s-S-STGCNは第2実施形態に示した感情推定装置450(図8)に対応する。またSERNは第1実施形態のマルチモーダル感情推定装置150(図2)であり、SERN-2sはマルチモーダル感情推定装置150の感情推定装置160を第2実施形態の感情推定装置450で置換したものである。
【0101】
テーブル3に示す「モダリティ」は「A」が音声信号を示し、「T」が発話のテキストを示し、「S」がジェスチャ(骨格情報)を示す。また例えば「A+T」は音声信号と発話のテキストとを用いたマルチモダリティ感情推定であることを示す。
【0102】
この実験で本発明と比較対象とすべきものはResNet18とST-GCNとした。ResNetは従来のコンボリューショナルネットワークに残差機構を追加したものであり、多くのタスクに広く用いられている。実験ではResNet18とST-GCNとを骨格データに適用し、本発明の各実施形態と性能を比較した。
【0103】
テーブル3から分かるように、S-STGCNモデルに関しては、UARが68.4%、WARも68.4%であった。この性能は、感情推定に関する他のネットワークの性能を上回っており、本発明に係るモデルの有効性を示している。この結果は、特に自己アテンションによるグラフコンボリューション層が動的な骨格シーケンスから感情に関する素性を効果的に抽出可能であることを示している。すなわち、自己アテンショングラフコンボリューション部652(図11)が、所定のグラフに対する空間グラフコンボリューションに、補助的な情報を効果的に追加できることが分かる。
【0104】
関節と骨とに関する2系統の構成を採用した場合には、さらに性能が目覚ましく改善された。すなわちこの構成を使用することで骨格の時系列から感情に関する情報をさらに有効に抽出できる。
【0105】
マルチモダリティ感情推定については、MDREを比較対象とした。MDREは音声信号とテキストとを用いた基本的なモデルである。この例でも、UARとWARとをモデルの性能尺度とした。
【0106】
本発明に係る、音声信号、テキスト及び骨格情報を用いるモデルSERNは、骨格情報を用いていないMDREと比較して、UARで8.4%、WARで8.6%だけ上回る性能を示した。この結果から、音声及びテキストに含まれていない感情に関する情報が骨格情報から抽出されていることが分かる。さらに、図2に示すSERNにおいて感情推定装置160(S-STGCN)を図8に示す感情推定装置450(2s-S-STGCN)で置換したSERN-2sをSERNと比較した。その結果、SERN-2sによりSERNよりさらにUAR及びWARに改善が見られた。
【0107】
以上のとおり、本発明に係る感情推定モデルにより、従来技術と比較して発話者の感情をより高精度で推定できることがわかった。
【0108】
第5 コンピュータによる実現
図12は、上記各実施形態を実現するコンピュータシステムの外観図である。図13は、図12に示すコンピュータシステムのハードウェアブロック図である。
【0109】
図12を参照して、このコンピュータシステム950は、DVD(Digital Versatile Disc)ドライブ1002を有するコンピュータ970と、いずれもコンピュータ970に接続された、ユーザと対話するためのキーボード974、マウス976、及びモニタ972とを含む。もちろんこれらはユーザ対話が必要となったときのための構成の一例であって、ユーザ対話に利用できる一般のハードウェア及びソフトウェア(例えばタッチパネル、音声入力、ポインティングデバイス一般)であればどのようなものも利用できる。
【0110】
図13を参照して、コンピュータ970は、DVDドライブ1002に加えて、CPU(Central Processing Unit)990と、GPU(Graphics Processing Unit)992と、CPU990、GPU992、DVDドライブ1002に接続されたバス1010と、バス1010に接続され、コンピュータ970のブートアッププログラム等を記憶するROM(Read-Only Memory)996と、バス1010に接続され、プログラムを構成する命令、システムプログラム、及び作業データ等を記憶するRAM(Random Access Memory)998と、バス1010に接続された不揮発性メモリであるSSD(Solid State Drive)1000とを含む。SSD1000は、CPU990及びGPU992が実行するプログラム、並びにCPU990及びGPU992が実行するプログラムが使用するデータ等を記憶するためのものである。コンピュータ970はさらに、他端末との通信を可能とするネットワーク986への接続を提供するネットワークI/F1008と、USB(Universal Serial Bus)メモリ984が着脱可能で、USBメモリ984とコンピュータ970内の各部との通信を提供するUSBポート1006とを含む。
【0111】
コンピュータ970はさらに、マイクロフォン982及び スピーカ980とバス1010とに接続され、CPU990により生成されRAM998又はSSD1000に保存された音声信号、映像信号及びテキストデータをCPU990の指示にしたがって読み出し、アナログ変換及び増幅処理をして スピーカ980を駆動したり、マイクロフォン982からのアナログの音声信号をデジタル化し、RAM998又はSSD1000の、CPU990により指定される任意のアドレスに保存したりするための音声I/F1004を含む。
【0112】
上記実施形態では、マルチモーダル感情推定装置150及び感情推定装置450を実現するためのグラフニューラルネットワークのパラメータ並びにグラフコンボリューションを実現するプログラム等は、いずれも例えば図13に示すSSD1000、RAM998、DVD978又はUSBメモリ984、若しくはネットワークI/F1008及びネットワーク986を介して接続された図示しない外部装置の記憶媒体等に格納される。典型的には、これらのデータ及びパラメータ等は、例えば外部からSSD1000に書込まれコンピュータ970の実行時にはRAM998にロードされる。
【0113】
このコンピュータシステムを、図2及び図8に示すマルチモーダル感情推定装置150及び感情推定装置450及びその各構成要素の機能を実現するよう動作させるためのコンピュータプログラムは、DVDドライブ1002に装着されるDVD978に記憶され、DVDドライブ1002からSSD1000に転送される。又は、これらのプログラムはUSBメモリ984に記憶され、USBメモリ984をUSBポート1006に装着し、プログラムをSSD1000に転送する。又は、このプログラムはネットワーク986を通じてコンピュータ970に送信されSSD1000に記憶されてもよい。
【0114】
プログラムは実行のときにRAM998にロードされる。もちろん、キーボード974、モニタ972及びマウス976を用いてソースプログラムを入力し、コンパイルした後のオブジェクトプログラムをSSD1000に格納してもよい。スクリプト言語の場合には、キーボード974等を用いて入力したスクリプトをSSD1000に格納してもよい。仮想マシン上で動作するプログラムの場合には、仮想マシンとして機能するプログラムを予めコンピュータ970にインストールしておく必要がある。ニューラルネットワークの訓練及びテストには大量の計算が伴うため、スクリプト言語ではなくコンピュータのネイティブなコードからなるオブジェクトプログラムとして本発明の実施形態の各部を実現する方が好ましい。
【0115】
CPU990は、その内部のプログラムカウンタと呼ばれるレジスタ(図示せず)により示されるアドレスにしたがってRAM998からプログラムを読み出して命令を解釈し、命令の実行に必要なデータを命令により指定されるアドレスにしたがってRAM998、SSD1000又はそれ以外の機器から読み出して命令により指定される処理を実行する。CPU990は、実行結果のデータを、RAM998、SSD1000、CPU990内のレジスタ等、プログラムにより指定されるアドレスに格納する。このとき、プログラムカウンタの値もプログラムによって更新される。コンピュータプログラムは、DVD978から、USBメモリ984から、又はネットワークを介して、RAM998に直接にロードしてもよい。なお、CPU990が実行するプログラムの中で、一部のタスク(主として数値計算)については、プログラムに含まれる命令により、又はCPU990による命令実行時の解析結果にしたがって、GPU992にディスパッチされる。
【0116】
コンピュータ970により上記した各実施形態に係る各部の機能を実現するプログラムは、それら機能を実現するようコンピュータ970を動作させるように記述され配列された複数の命令を含む。この命令を実行するのに必要な基本的機能のいくつかはコンピュータ970上で動作するオペレーティングシステム(OS)若しくはサードパーティのプログラム、又はコンピュータ970にインストールされる各種ツールキットのモジュールにより提供される。したがって、このプログラムはこの実施形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令の中で、所望の結果が得られるように制御されたやり方で適切な機能又は「プログラミング・ツール・キット」の機能を静的にリンクすることで、又は動的に呼出すことにより、上記した各装置及びその構成要素としての動作を実行する命令のみを含んでいればよい。そのためのコンピュータ970の動作方法は周知であるので、ここでは繰返さない。
【0117】
なお、GPU992は並列処理を行うことが可能であり、機械学習に伴う多量の計算を同時並列的又はパイプライン的に実行できる。例えばプログラムのコンパイル時にプログラム中で発見された並列的計算要素、又はプログラムの実行時に発見された並列的計算要素は、随時、CPU990からGPU992にディスパッチされ、実行され、その結果が直接に、又はRAM998の所定アドレスを介してCPU990に返され、プログラム中の所定の変数に代入される。
【0118】
第6 変形例
1.ジェスチャによるシングルトラックの感情推定装置
上記第1実施形態はマルチモダリティの感情推定システムに関し、第2実施形態はジェスチャを用いる2系統のグラフコンボリューション処理による感情推定システム(図2)に関する。しかし上記実験結果でも示したとおり、第1実施形態の感情推定装置160のみを利用しても従来技術よりも高精度で感情の推定を行うことができる。また、第2実施形態(図8)の場合には、2系統のそれぞれを単独で感情推定装置として用いることができる。
【0119】
2.モダリティを追加した感情推定装置
上記実施形態では、音声信号、テキスト、及び上半身の骨格情報を用いて感情推定を行っている。しかし使用する情報はこれに限らない。例えばさらに表情を用いたり、上半身以外の身体の動きを用いたりするようにしてもよい。
【0120】
3.次元のバリエーション
上記実施形態で挙げた各行列、テンソル、ベクトルの次元は1例である。これらの次元数は実施形態で採用したものに限らない。次元数は他の数でもよい。また自己アテンションの算出に使用するアテンションヘッドの数(H)は上記実施形態では4である。しかしヘッドの数が4に限定されないことはもちろんである。例えば参考文献1の開示と同様、ヘッドの数を8に設定してもよいし、それ以外の数にしてもよい。
【0121】
4.骨格情報のバリエーション
上記実施の形態では、利用できる訓練データの制約から、発話者の上半身の映像から骨格情報を抽出している。しかしこの発明はそのような実施形態には限定されない。全身の映像が得られるなら全身の映像を用いることも考えられる。又は、膝から上、下半身のみ、上半身と下半身とに分離した骨格情報等、様々な情報を用いることができる。
【0122】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【0123】
50、150 マルチモーダル感情推定装置
60、62、160、450 感情推定装置
66、164 感情推定結果
68、70 RNN
170 映像時系列
172 時系列骨格グラフ
174、482、492 S-STGCN
200 2D姿勢推定部
202 3D姿勢推定部
250 グラフ
350 完全骨格グラフ
460 骨格情報
462 関節による感情推定部
464 骨ベクトルによる感情推定部
466 統合部
468 予測
480 関節位置情報抽出部
490 骨ベクトル情報抽出部
550 骨格グラフ
552、554、556、558、560、562、564、566、568、570 コンボリューションブロック
600 S-SGC層
606 T-Conv層
612、718 残差算出部
650 コンボリューション部
652 自己アテンショングラフコンボリューション部
654 ゲーティング部
670 ヘッド
708 スケール変換ドット積部
714 連接部
730 2次元コンボリューション部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13