(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-30
(45)【発行日】2022-07-08
(54)【発明の名称】表情認識方法、オブジェクト認識方法、表情認識装置及び表情トレーニング方法
(51)【国際特許分類】
G06T 7/20 20170101AFI20220701BHJP
G06T 7/00 20170101ALI20220701BHJP
【FI】
G06T7/20 300B
G06T7/00 350C
(21)【出願番号】P 2018230089
(22)【出願日】2018-12-07
【審査請求日】2020-11-30
(31)【優先権主張番号】10-2018-0002105
(32)【優先日】2018-01-08
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung-ro,Yeongtong-gu,Suwon-si,Gyeonggi-do,Republic of Korea
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】兪 炳仁
(72)【発明者】
【氏名】郭 榮竣
(72)【発明者】
【氏名】金 暎星
(72)【発明者】
【氏名】李 曙炯
【審査官】堀井 啓明
(56)【参考文献】
【文献】特開2015-169977(JP,A)
【文献】特開2017-120609(JP,A)
【文献】米国特許出願公開第2017/0185827(US,A1)
【文献】特開2011-013731(JP,A)
【文献】米国特許出願公開第2012/0200492(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/20
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
発話に基づいた表情認識方法において、
オブジェクトを含むオブジェクトイメージを取得するステップと、
発話モデルに基づいて前記オブジェクトイメージから発話マップを抽出するステップと、
表情モデルに基づいて前記オブジェクトイメージから表情特徴を抽出するステップと、
前記表情特徴及び前記発話マップに基づいて前記オブジェクトの表情を認識するステップと、
を含む発話に基づいた表情認識方法。
【請求項2】
前記オブジェクトの表情を認識するステップは、
前記発話マップに基づいて前記表情特徴のうち発話に関わりやすい特徴に対応する値を減少させるステップと、
前記発話マップに基づいて前記表情特徴のうち発話と関わりにくい特徴に対応する値を増加させるステップと、
を含む、請求項1に記載の発話に基づいた表情認識方法。
【請求項3】
前記発話マップを抽出するステップは、前記発話モデルに基づいて前記オブジェクトイメージの領域ごとに発話に関する程度に応じて加重値を決定することで前記発話マップを生成するステップを含む、請求項1又は2に記載の発話に基づいた表情認識方法。
【請求項4】
前記発話マップを生成するステップは、
前記発話モデルに基づいて、前記オブジェクトイメージの対象領域が発話に関する程度が大きいほど前記対象領域に対して加重値を増加させるステップと、
前記発話モデルに基づいて、前記オブジェクトイメージの対象領域が発話に関する程度が小さいほど前記対象領域に対して加重値を減少させるステップと、
を含む、請求項3に記載の発話に基づいた表情認識方法。
【請求項5】
前記オブジェクトの表情を認識するステップは、
前記発話マップを反転させるステップと、
前記反転した発話マップ及び前記表情特徴に基づいて前記オブジェクトの表情を認識するステップと、
を含む、請求項1に記載の発話に基づいた表情認識方法。
【請求項6】
前記発話マップを反転させるステップは、最大値から前記発話マップの値を差し引くことにより前記発話マップを反転させるステップを含む、請求項5に記載の発話に基づいた表情認識方法。
【請求項7】
前記発話マップを抽出するステップは、前記発話モデルに基づいて、前記オブジェクトイメージから前記オブジェクトの発話に対応する部分を指示する発話特徴ベクトルを抽出するステップを含み、
前記表情特徴を抽出するステップは、前記表情モデルに基づいて、前記オブジェクトイメージから前記オブジェクトの表情に対応する部分を指示する表情特徴ベクトルを抽出するステップを含む、請求項1又は2に記載の発話に基づいた表情認識方法。
【請求項8】
前記オブジェクトの表情を認識するステップは、
前記発話特徴ベクトルを反転させて反転ベクトルを生成するステップと、
前記反転ベクトルを前記表情特徴ベクトルに適用して対象ベクトルを生成するステップと、
前記対象ベクトルに基づいて前記オブジェクトの表情を識別するステップと、
を含む、請求項7に記載の発話に基づいた表情認識方法。
【請求項9】
前記対象ベクトルに基づいて前記オブジェクトの表情を識別するステップは、前記対象ベクトルに基づいて、表情レイブルのうち前記オブジェクトの表情に対応する表情レイブルを決定するステップを含む、請求項8に記載の発話に基づいた表情認識方法。
【請求項10】
前記対象ベクトルに基づいて前記オブジェクトの表情を識別するステップは、
前記対象ベクトルを正規化することにより正規化されたベクトルを生成するステップと、
前記正規化されたベクトルに基づいて前記オブジェクトの表情を識別するステップと、
を含む、請求項8に記載の発話に基づいた表情認識方法。
【請求項11】
前記オブジェクトの表情を認識するステップは、前記オブジェクトの音声信号を表情認識から排除するステップを含む、請求項1に記載の発話に基づいた表情認識方法。
【請求項12】
前記オブジェクトイメージを取得するステップは、
前記オブジェクトに関する連続した複数のフレームイメージを含む入力イメージを取得するステップと、
前記フレームイメージからいずれかのフレームイメージを前記オブジェクトイメージで順次選択するステップと、
を含み、
前記オブジェクトの表情を認識するステップは、前記複数のフレームイメージのそれぞれに対して順次前記オブジェクトの表情を認識するステップを含む、請求項1ないし11のうち何れか一項に記載の発話に基づいた表情認識方法。
【請求項13】
前記オブジェクトに関する音声信号を取得するステップをさらに含み、
前記発話マップを抽出するステップは、前記音声信号及び前記発話モデルにさらに基づいて前記オブジェクトイメージから前記発話マップを抽出するステップを含む、請求項1ないし12のうち何れか一項に記載の発話に基づいた表情認識方法。
【請求項14】
請求項1ないし13のいずれか一項に記載の方法を装置のコンピュータに実行させるための命令語を含むコンピュータプログラム。
【請求項15】
発話に基づいた
表情トレーニング装置において、
表情モデル、発話モデル、及び命令を格納するメモリと、
前記命令を実行するプロセッサと、
を含み、前記命令は、前記プロセッサに、
基準イメージ及び基準表情を取得するステップと、
前記表情モデル及び前記発話モデルに基づいて前記基準イメージから前記基準表情を出力するよう、前記表情モデルのパラメータ及び前記発話モデルのパラメータをトレーニングするステップと、
を行わせ、前記表情モデルは、オブジェクトイメージから表情特徴を抽出するように構成され、前記発話モデルは、前記オブジェクトイメージから発話マップを抽出するように構成されている、発話に基づいた表情トレーニング装置。
【請求項16】
発話に基づいた表情トレーニング方法において、
基準イメージ及び基準表情を取得するステップと、
表情モデル及び発話モデルに基づいてプロセッサが前記基準イメージから前記基準表情を出力するよう、前記表情モデルのパラメータ及び前記発話モデルのパラメータをトレーニングさせるステップと、
を含み、
前記表情モデルは、オブジェクトイメージから表情特徴を抽出するように構成され、前記発話モデルは、前記オブジェクトイメージから発話マップを抽出するように構成される、発話に基づいた表情トレーニング方法。
【請求項17】
前記基準イメージ及び前記基準表情を取得するステップは、前記基準イメージに対応する基準音声をさらに取得するステップを含み、
前記トレーニングさせるステップは、
前記発話モデルに基づいて前記基準イメージから抽出された、発話マップから音声情報を復元するステップと、
前記復元された音声情報及び前記基準音声間の発話損失を最小化することで前記発話モデルをトレーニングさせるステップと、
を含む、請求項16に記載の発話に基づいた表情トレーニング方法。
【請求項18】
前記トレーニングさせるステップは、前記表情モデル及び前記発話モデルに基づいて前記基準イメージから認識される表情及び前記基準表情間の表情損失を最小化することで前記表情モデルをトレーニングさせるステップを含む、請求項16又は17に記載の発話に基づいた表情トレーニング方法。
【請求項19】
前記トレーニングさせるステップは、
前記表情モデルに基づいて前記基準イメージから抽出された表情特徴に前記発話モデルに基づいて、前記基準イメージから抽出された発話マップを適用するステップと、
前記発話マップが適用された表情特徴に基づいて決定された表情レイブル及び前記基準表情に対応するレイブル間の表情損失を最小化するステップと、
をさらに含む、請求項18に記載の発話に基づいた表情トレーニング方法。
【請求項20】
前記発話マップを適用するステップは、前記基準イメージから抽出された発話マップを反転させた、反転された発話マップを前記基準イメージから抽出された表情特徴に反映するステップを含む、請求項19に記載の発話に基づいた表情トレーニング方法。
【請求項21】
発話に基づいて表情を認識する装置において、
表情モデル、発話モデル、及び命令を格納するメモリと、
前記命令を実行するプロセッサと、
を含み、
前記命令は、
オブジェクトのイメージを取得し、
前記発話モデルに基づいて前記イメージから発話マップを抽出し、
前記表情モデルに基づいて前記イメージから表情特徴を抽出し、
前記発話マップ及び前記表情特徴に基づいて前記オブジェクトの表情を認識する、発話に基づいて表情を認識する装置。
【請求項22】
前記プロセッサは、
前記オブジェクトの前記発話に対応する前記イメージの部分を指示する発話特徴ベクトルを前記発話モデルに基づいて抽出し、
前記発話特徴ベクトルを反転させ、
前記表情に対応する前記イメージの部分を指示する表情特徴ベクトルを、前記表情モデルに基づいて抽出し、
前記表情特徴ベクトルに前記反転したベクトルを適用することに基づいて前記表情を識別する、請求項21に記載の発話に基づいて表情を認識する装置。
【請求項23】
前記プロセッサは、
前記イメージをキャプチャーするイメージ取得部と、
前記発話に対応する前記イメージの部分を指示する発話特徴ベクトルを、前記発話モデルに基づいて検出する発話特徴検出部と、
前記表情に対応する前記イメージの部分を指示する表情特徴ベクトルを、前記表情モデルに基づいて抽出する表情特徴抽出部と、
前記発話特徴ベクトル及び前記表情特徴ベクトルに基づいて前記オブジェクトの前記表情に対応するレイブルを決定する表情認識部と、
を含む、請求項21又は22に記載の発話に基づいて表情を認識する装置。
【請求項24】
前記プロセッサは、音声信号を取得する音声取得部をさらに含み、
前記発話特徴検出部は、前記イメージ及び前記音声信号に基づいて前記発話特徴ベクトルを検出する、請求項23に記載の発話に基づいて表情を認識する装置。
【発明の詳細な説明】
【技術分野】
【0001】
以下、表情変化に堅牢なオブジェクト及び表情を認識する技術が提供される。
【背景技術】
【0002】
近年、入力パターンを特定グループに分類する問題を解決するために、人が有する効率的なパターン認識方法を実際のコンピュータに適用しようとする研究が盛んに行われている。このような研究の1つとして、人の生物学的な神経細胞の特性を数学的な表現によってモデリングした人工ニューラルネットワーク(artificial neural network)に対する研究が行われている。入力パターンを特定グループに分類する問題を解決するために、人工ニューラルネットワークは、人が有している学習という能力を模倣したアルゴリズムを用いる。このアルゴリズムにより人工ニューラルネットワークは、入力パターンと出力パターンとの間のマッピングを生成し、このようなマッピングを生成する能力は、人工ニューラルネットワークの学習能力と表現される。また、人工ニューラルネットワークは、学習された結果に基づいて学習に利用されていない入力パターンに対して比較的正しい出力を生成できる一般化能力を有する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
一実施形態に係る課題は、表情認識装置において、オブジェクトの発話の有無を考慮して適切に表情を認識することである。
【課題を解決するための手段】
【0004】
一実施形態に係る発話に基づいた表情認識方法は、オブジェクトを含むオブジェクトイメージを取得するステップと、発話モデルに基づいて前記オブジェクトイメージから発話マップを抽出するステップと、表情モデルに基づいて前記オブジェクトイメージから表情特徴を抽出するステップと、前記表情特徴及び前記発話マップに基づいて前記オブジェクトの表情を認識するステップとを含む。
【0005】
前記オブジェクトの表情を認識するステップは、前記発話マップに基づいて前記表情特徴のうち発話に関わりやすい特徴に対応する値を減少させるステップと、前記発話マップに基づいて前記表情特徴のうち発話と関わりにくい特徴に対応する値を増加させるステップとを含み得る。
【0006】
前記発話マップを抽出するステップは、前記発話モデルに基づいて前記オブジェクトイメージの領域ごとに発話に関する程度に応じて加重値を決定することで前記発話マップを生成するステップを含み得る。
【0007】
前記発話マップを生成するステップは、前記発話モデルに基づいて、前記オブジェクトイメージの対象領域が発話に関する程度が大きいほど前記対象領域に対して加重値を増加させるステップと、前記発話モデルに基づいて、前記オブジェクトイメージの対象領域が発話に関する程度が小さいほど前記対象領域に対して加重値を減少させるステップとを含み得る。
【0008】
前記オブジェクトの表情を認識するステップは、前記発話マップを反転させるステップと、前記反転した発話マップ及び前記表情特徴に基づいて前記オブジェクトの表情を認識するステップとを含み得る。
【0009】
前記発話マップを反転させるステップは、最大値から前記発話マップの値を差し引くことにより前記発話マップを反転させるステップを含み得る。
【0010】
前記発話マップを抽出するステップは、前記発話モデルに基づいて、前記オブジェクトイメージから前記オブジェクトの発話に対応する部分を指示する発話特徴ベクトルを抽出するステップを含み、前記表情特徴を抽出するステップは、前記表情モデルに基づいて、前記オブジェクトイメージから前記オブジェクトの表情に対応する部分を指示する表情特徴ベクトルを抽出するステップを含み得る。
【0011】
前記オブジェクトの表情を認識するステップは、前記発話特徴ベクトルを反転させて反転ベクトルを生成するステップと、前記反転ベクトルを前記表情特徴ベクトルに適用して対象ベクトルを生成するステップと、前記対象ベクトルに基づいて前記オブジェクトの表情を識別するステップとを含み得る。
【0012】
前記対象ベクトルに基づいて前記オブジェクトの表情を識別するステップは、前記対象ベクトルに基づいて、表情レイブルのうち前記オブジェクトの表情に対応する表情レイブルを決定するステップを含み得る。
【0013】
前記対象ベクトルに基づいて前記オブジェクトの表情を識別するステップは、前記対象ベクトルを正規化することにより正規化されたベクトルを生成するステップと、前記正規化されたベクトルに基づいて前記オブジェクトの表情を識別するステップとを含み得る。
【0014】
前記オブジェクトの表情を認識するステップは、前記オブジェクトの音声信号を表情認識から排除するステップを含み得る。
【0015】
前記オブジェクトイメージを取得するステップは、前記オブジェクトに関する複数の連続したフレームイメージを含む入力イメージを取得するステップと、前記フレームイメージからいずれかのフレームイメージを前記オブジェクトイメージで順次選択するステップとを含み、前記オブジェクトの表情を認識するステップは、前記複数のフレームイメージのそれぞれに対して順次前記オブジェクトの表情を認識するステップを含み得る。
【0016】
方法は、前記オブジェクトに関する音声信号を取得するステップをさらに含み、前記発話マップを抽出するステップは、前記音声信号及び前記発話モデルにさらに基づいて前記オブジェクトイメージから前記発話マップを抽出するステップを含み得る。
【0017】
一実施形態に係る発話に基づいたオブジェクト認識方法は、オブジェクトを含むオブジェクトイメージを取得するステップと、発話モデルに基づいて前記オブジェクトイメージから発話マップを抽出するステップと、オブジェクトモデルに基づいて前記オブジェクトイメージからオブジェクト特徴を抽出するステップと、前記オブジェクト特徴及び前記発話マップに基づいて、前記オブジェクトを認識するステップとを含む。
【0018】
一実施形態に係る発話に基づいた表情トレーニング方法は、基準イメージ及び基準表情を取得するステップと、表情モデル及び発話モデルに基づいてプロセッサが前記基準イメージから前記基準表情を出力するよう、前記表情モデルのパラメータ及び前記発話モデルのパラメータをトレーニングさせるステップとを含み、前記表情モデルは、オブジェクトイメージから表情特徴を抽出するように構成され、前記発話モデルは、前記オブジェクトイメージから発話マップを抽出するように構成される。
【0019】
前記基準イメージ及び前記基準表情を取得するステップは、前記基準イメージに対応する基準音声をさらに取得するステップを含み、前記トレーニングさせるステップは、前記発話モデルに基づいて前記基準イメージから抽出された、発話マップから音声情報を復元するステップと、前記復元された音声情報及び前記基準音声間の発話損失を最小化することで前記発話モデルをトレーニングさせるステップとを含み得る。
【0020】
前記トレーニングさせるステップは、前記表情モデル及び前記発話モデルに基づいて前記基準イメージから認識される表情及び前記基準表情間の表情損失を最小化することで前記表情モデルをトレーニングさせるステップを含み得る。
【0021】
前記トレーニングさせるステップは、前記表情モデルに基づいて前記基準イメージから抽出された表情特徴に前記発話モデルに基づいて、前記基準イメージから抽出された発話マップを適用するステップと、前記発話マップが適用された表情特徴に基づいて決定された表情レイブル及び前記基準表情に対応するレイブル間の表情損失を最小化するステップとをさらに含み得る。
【0022】
前記発話マップを適用するステップは、前記基準イメージから抽出された発話マップを反転させた、反転された発話マップを前記基準イメージから抽出された表情特徴に反映するステップを含み得る。
【0023】
一実施形態に係る発話に基づいて表情を認識する装置は、表情モデル、発話モデル、及び命令を格納するメモリと、前記命令を実行するプロセッサとを含み、前記命令は、オブジェクトのイメージを取得し、前記発話モデルに基づいて前記イメージから発話マップを抽出し、前記表情モデルに基づいて前記イメージから表情特徴を抽出し、前記発話マップ及び前記表情特徴に基づいて前記オブジェクトの表情を認識するためのものである。
【0024】
前記プロセッサは、前記オブジェクトの前記発話に対応する前記イメージの部分を指示する発話特徴ベクトルを前記発話モデルに基づいて抽出し、前記発話特徴ベクトルを反転させ、前記表情に対応する前記イメージの部分を指示する表情特徴ベクトルを、前記表情モデルに基づいて抽出し、前記表情特徴ベクトルに前記反転したベクトルを適用することに基づいて前記表情を識別し得る。
【0025】
前記プロセッサは、前記イメージをキャプチャーするイメージ取得部と、前記発話に対応する前記イメージの部分を指示する発話特徴ベクトルを、前記発話モデルに基づいて検出する発話特徴検出部と、前記表情に対応する前記イメージの部分を指示する表情特徴ベクトルを、前記表情モデルに基づいて抽出する表情特徴抽出部と、前記発話特徴ベクトル及び前記表情特徴ベクトルに基づいて前記オブジェクトの前記表情に対応するレイブルを決定する表情認識部とを含み得る。
【0026】
前記プロセッサは、音声信号を取得する音声取得部をさらに含み、前記発話特徴検出部は、前記イメージ及び前記音声信号に基づいて前記発話特徴ベクトルを検出し得る。
【発明の効果】
【0027】
一実施形態に係る発話に基づいた表情認識装置は、オブジェクトで発話の有無を考慮して表情を認識することにより、高い表情認識の正確度を示すことができる。
【図面の簡単な説明】
【0028】
【
図1】一実施形態に係るモデルの例示を説明する図である。
【
図2】一実施形態に係る発話に基づいた表情変化を説明する図である。
【
図3A】一実施形態に係る発話に基づいた表情認識方法を説明するフローチャートである。
【
図3B】一実施形態に係る発話に基づいたオブジェクト認識方法を説明するフローチャートである。
【
図4】一実施形態に係る表情モデル及び発話モデルに基づいた表情認識過程を説明する図である。
【
図5A】一実施形態に係る表情特徴及び発話特徴に基づいた表情認識を説明する図である。
【
図5B】一実施形態に係るオブジェクト特徴及び発話特徴に基づいた表情認識を説明する図である。
【
図6A】一実施形態に係る発話に基づいた表情認識装置を説明するブロック図である。
【
図6B】一実施形態に係る発話に基づいたオブジェクト認識装置を説明するブロック図である。
【
図7】一実施形態に係る表情モデル及び発話モデルに基づいて表情認識結果を出力する過程を説明する図である。
【
図8】一実施形態に係る発話に基づいた表情トレーニング方法を説明するフローチャートである。
【
図9】一実施形態に係る発話に基づいた表情トレーニング装置を説明するブロック図である。
【
図10】一実施形態に係る表情モデル及び発話モデルをトレーニングさせる過程を説明する図である。
【
図11】一実施形態に係る表情認識装置の例示を説明する図である。
【
図12】一実施形態に係る表情認識装置の例示を説明する図である。
【発明を実施するための形態】
【0029】
以下、添付する図面を参照しながら実施形態を詳細に説明する。しかし、特許出願の範囲がこのような実施形態によって制限も限定もされることはない。各図面に提示された同一の参照符号は同一の部材を示す。
【0030】
本明細書で開示されている特定の構造的又は機能的な説明は単に実施形態を説明するための目的として例示されたものであり、実施形態は様々な異なる形態で実施され、本明細書に説明された実施形態に限定されることはない。
【0031】
本明細書で用いた用語は、単に特定の実施形態を説明するために用いられるものであって、本発明を限定しようとする意図はない。単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、1つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【0032】
異なる定義がされない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【0033】
また、添付図面を参照して説明することにおいて、図面符号に関係なく同一の構成要素は同一の参照符号を付与し、これに対する重複する説明は省略する。実施形態の説明において関連する公知技術に対する具体的な説明が実施形態の要旨を不要に曖昧にすると判断される場合、その詳細な説明は省略する。
【0034】
図1は、一実施形態に係るモデルの例示を説明する図である。
【0035】
一実施形態によれば、表情モデル、オブジェクトモデル及び発話モデルはニューラルネットワーク100を含む。ニューラルネットワーク100に基づいて、表情認識を行う方法及びその方法を行う装置(以下、表情認識装置)が提案され、該当ニューラルネットワーク100をトレーニングさせる方法及び装置(以下、表情トレーニング装置)が提案される。本明細書で、認識は、検証及び識別を含む。検証は、入力データが真であるか又は偽であるかを判断する動作を含み、識別は、複数のレイブル又はラベル(label)のうち入力データが指示するレイブルを判断する動作を示す。
【0036】
一実施形態に係る表情認識を説明する前に、先ず、ニューラルネットワーク100の概略的な構造を説明する。
【0037】
一実施形態によれば、ニューラルネットワーク100は、複数のノードで構成される複数のレイヤを含む。また、ニューラルネットワーク100は、複数のレイヤのそれぞれに含まれた複数のノードを他のレイヤに含まれたノードに連結させる接続加重値を含む。表情トレーニング装置は、ニューラルネットワーク100をメモリに格納された内部データベースから取得し、通信部を介して外部サーバから受信して取得する。
【0038】
例えば、ニューラルネットワーク100は、連結線(edge)に接続された複数の人工ニューロンを用いて生物学的なシステムの算出能力を模倣する認識モデルを示す。ニューラルネットワーク100は、ソフトウェア、ハードウェア、又は、その組合で具現する。ニューラルネットワーク100は、人工ニューラルネットワークに称される。
【0039】
ニューラルネットワーク100は、生物学的なニューロンの機能を単純化させた人工ニューロンを用いる。人工ニューロンは、ノードに称される。人工ニューロンは、接続加重値を有する連結線によって相互接続される。接続加重値は、連結線が有する特定の値として、シナプス加重値又は接続強度と称される。
【0040】
ニューラルネットワーク100は、複数のレイヤを含む。例えば、ニューラルネットワーク100は、入力レイヤ110、隠れレイヤ120、出力レイヤ130を含む。入力レイヤ110は、トレーニング又は認識を行うための入力を受信して隠れレイヤ120に伝達し、出力レイヤ130は、隠れレイヤ120から受信した信号に基づいてニューラルネットワーク100の出力を生成する。隠れレイヤ120は、入力レイヤ110と出力レイヤ130の間に位置し、入力レイヤ110によって伝えられたトレーニングデータのトレーニング入力を予測しやすい値に変化させ得る。
【0041】
入力レイヤ110、隠れレイヤ120、及び出力レイヤ130は、複数のノードを含む。入力レイヤ110に含まれたノードは入力ノードに称され、隠れレイヤ120に含まれたノードは隠れノードに称され、出力レイヤ130に含まれたノードは出力ノードに称される。
【0042】
入力レイヤ110に含まれた入力ノードと隠れレイヤ120に含まれた隠れノードは、接続加重値を有する連結線によって接続される。隠れレイヤ120に含まれた隠れノードと出力レイヤ130に含まれた出力ノードは、接続加重値を有する連結線によって接続される。
【0043】
図面に図示しなていないが、ニューラルネットワークは、複数の隠れレイヤを含む。複数の隠れレイヤを含むニューラルネットワークは、深度ニューラルネットワーク、又はn個レイヤニューラルネットワークに称される。DNN又はn個レイヤニューラルネットワークは、畳み込みニューラルネットワーク(CNN、convolutional neural network)、循環ニューラルネットワーク(RNN、recurrent neural network)、DBN(deep belief network)、FCネットワーク(fully connected network)、双方向ニューラルネットワーク(bi-directional neural network)、制限されたボルツマンマシン(restricted Boltzman machine)に対応し、又は、異なるニューラルネットワークの部分又は重なるニューラルネットワークの部分をそれぞれ完全接続、畳み込み接続、循環接続、及び/又は双方向接続として含み得る。例えば、ニューラルネットワーク100はCNNとして具現されるが、これに限定されることはない。
図1で、ニューラルネットワーク100の例示に対応するCNNの数個の畳み込みレイヤが示されているが、CNNは、示された畳み込みレイヤに加えてプールレイヤ又は完全接続レイヤなどをさらに含んでもよい。
【0044】
深度ニューラルネットワークを学習させることは深度学習のように称される。隠れレイヤ120に第1隠れレイヤ、第2隠れレイヤ、及び第3隠れレイヤが含まれる場合を仮定すると、第1隠れレイヤに属する隠れノードの出力は、第2隠れレイヤに属する隠れノードに接続される。第2隠れレイヤに属する隠れノードの出力は、第3隠れレイヤに属する隠れノードに接続される。
【0045】
例えば、表情トレーニング装置及び表情認識装置は、各隠れレイヤに以前隠れレイヤに含まれた以前隠れノードの出力を接続加重値を有する連結線によって入力し、以前隠れノードの出力に接続加重値が適用された値及び活性化関数に基づいて隠れレイヤに含まれた隠れノードの出力を生成する。一実施形態によれば、次の隠れノードに出力を発話するため、活性化関数の結果は現在の隠れノードの閾値を超過しなければならない。この場合、ノードは、入力ベクトルによって特定の閾値活性化強度に達する前には次のノードに信号を発話することなく、不活性化状態を保持する。
【0046】
一実施形態に係る表情トレーニング装置は、教師あり学習によってニューラルネットワーク100をトレーニングさせ得る。表情トレーニング装置は、ソフトウェアモジュール、ハードウェアモジュール、又は、その組合せで具現される。教師あり学習は、トレーニングデータのトレーニング入力に対応するトレーニング出力とともにニューラルネットワーク100に入力し、トレーニングデータのトレーニング出力に対応する出力データが出力されるよう、連結線の接続加重値をアップデートする方式である。トレーニングデータは、トレーニング入力及びトレーニング出力の対を含むデータである。
図1は、ニューラルネットワークの構造をノード構造として表現したが、実施形態は、このようなノード構造に限定されない。メモリストレージにニューラルネットワークを格納するために様々なデータ構造が用いられる。
【0047】
一実施形態によれば、表情トレーニング装置は、ニューラルネットワークに逆伝播される損失及びニューラルネットワークに含まれたノードの出力値に基づいた勾配下降(gradient descent)方式によって、ノードのパラメータを決定する。例えば、表情トレーニング装置は、損失逆伝播学習によってノード間の接続加重値をアップデートする。損失逆伝播学習は、与えられたトレーニングデータに対してフォワード算出により損失を推定した後、出力レイヤ130から始まって隠れレイヤ120及び入力レイヤ110に向かう逆方向に推定した損失を伝播しながら、損失を減らす方向に接続加重値をアップデートする方法である。ニューラルネットワーク100の処理は、入力レイヤ110、隠れレイヤ120、及び出力レイヤ130の方向に進行されるが、損失逆伝播トレーニングで接続加重値のアップデート方向は、出力レイヤ130、隠れレイヤ120、及び入力レイヤ110の方向に進行される。1つ又はそれ以上のプロセッサは、ニューラルネットワークを所望する方向に処理するため、レイヤ又は一連の算出データを格納するバッファメモリを用いることができる。
【0048】
表情トレーニング装置は、現在に設定された接続加重値がどれほど最適に近接しているかを測定するための目的関数を定義し、目的関数の結果に基づいて接続加重値を引き続き変更し、トレーニングを繰り返し行ってもよい。例えば、目的関数は、ニューラルネットワーク100がトレーニングデータのトレーニング入力に基づいて実際出力した出力値と出力の所望する期待値との間の損失を算出するための損失関数である。表情トレーニング装置は、損失関数の値を減らす方向に接続加重値をアップデートし得る。
【0049】
図2は、一実施形態に係る発話に基づいた表情変化を説明する図である。
【0050】
本明細書において、発話はオブジェクトが声を出して話す行為を含む。オブジェクトは、例えば人であってもよい。
【0051】
オブジェクトが話す間に該当オブジェクトを複数のフレームイメージに撮影する場合、複数のフレームイメージのそれぞれはオブジェクトが話す一連の過程の一時的な側面を示す。したがって、話すオブジェクトの内部状態(例えば、感情)は変わらないが、該当オブジェクトの外部状態(例えば、全般的な印象(look))は変わるように認識され得る。
【0052】
例えば、
図2は、オブジェクトが話す過程で内部状態210と外部状態220のギャップを説明する。オブジェクトの発話によって音声信号240が生成され、該当音声信号240に対応する、オブジェクトに関する複数のフレームイメージ230が取得される。オブジェクトの内部状態210は、発話の開始から終了まで中立(又はニュートラル)であってもよい。一方、オブジェクトの外部状態220は、発話の開始から終了まで喜び(happy)、驚き(surprise)、及び軽蔑(contempt)のように変化するように見える。
【0053】
以下、発話に基づいた表情認識によって、オブジェクトが話す間にも正確に表情を認識する方法及び装置を説明する。
【0054】
図3Aは、一実施形態に係る発話に基づいた表情認識方法を説明するフローチャートである。
【0055】
まず、ステップS310において、発話に基づいた表情認識装置は、オブジェクトを含むオブジェクトイメージを取得する。オブジェクトは、上述したようにの人であってもよい。オブジェクトイメージは、オブジェクトの少なくとも一部を含むイメージである。例えば、オブジェクトイメージは、人の少なくとも一部として顔を含むイメージであってもよい。表情認識装置は、カメラによってオブジェクトの少なくとも一部を撮影することで、オブジェクトイメージを取得する。また、表情認識装置は、オブジェクトに関する、複数の連続したフレームイメージを含む入力イメージを取得する。表情認識装置は、複数のフレームイメージのうち1つのフレームイメージを順次オブジェクトイメージとして選択する。
【0056】
そして、ステップS320において、表情認識装置は、発話モデルに基づいてオブジェクトイメージから発話マップを抽出する。表情認識装置のプロセッサは、発話モデルにオブジェクトイメージを入力することで発話マップを算出する。発話マップは、オブジェクトイメージで発話に関する領域を示す情報であり得る。例えば、発話マップは、横でm個、縦でn個のエレメントを含んでもよく、各エレメントに割り当てられた値は発話に関する程度を示す。ここで、m及びnは、整数である。オブジェクトイメージについても、横でm個、縦でn個のピクセルを含む。発話マップのエレメントは、オブジェクトイメージのピクセルに対応する。例えば、オブジェクトイメージの任意のピクセルに対応するエレメントに割り当てられた値は、該当ピクセルが発話に関する程度を示す。ただし、オブジェクトイメージを構成するピクセルの個数及び解像度が発話マップを構成するエレメントの個数及び解像度と同一なものと限定することはない。発話モデルは、基準イメージから基準音声に対応する発話マップを出力するようトレーニングされたモデルとして、例えば、ニューラルネットワークを含む機械学習構造であり得る。
【0057】
次に、ステップS330において、表情認識装置は、表情モデルに基づいてオブジェクトイメージから表情特徴を抽出する。表情認識装置のプロセッサは、表情モデルにオブジェクトイメージを入力することで表情特徴を抽出する。表情特徴は、オブジェクトの表情に関わりやすい特徴を示す。表情モデルは、基準イメージから基準表情を出力するようトレーニングされたモデルとして、例えば、ニューラルネットワークを含む機械学習構造であり得る。
【0058】
そして、ステップS340において、表情認識装置は、表情特徴及び発話マップに基づいてオブジェクトの表情を認識する。例えば、表情認識装置は、発話マップを反転させ、反転された発話マップを表情特徴に反映して対象ベクトルを生成し、生成された対象ベクトルに基づいてオブジェクトの表情を識別する。一実施形態によれば、複数のフレームイメージを取得した場合に応答して、表情認識装置は、複数のフレームイメージのそれぞれに対して順次オブジェクトの表情を認識する。
【0059】
また、表情認識装置は、オブジェクトの音声信号を表情認識から排除する。表情認識装置は、音声信号を排除しても発話モデルに基づいて発話マップを抽出し得る。
【0060】
ただし、これに限定されることなく、表情認識装置は、オブジェクトに関する音声信号を取得する。表情認識装置は、基準イメージ及び音声信号に基づいてオブジェクトイメージから発話マップを抽出する。
【0061】
図3Bは、一実施形態に係る発話に基づいたオブジェクト認識方法を説明するフローチャートである。
【0062】
図3Aでは、発話に基づいて表情を認識する方法を説明したが、これに限定されることはない。オブジェクト認識装置は、発話に基づいてオブジェクトを認識してもよい。
【0063】
まず、ステップS350において、発話に基づいたオブジェクト認識装置は、オブジェクトを含むオブジェクトイメージを取得する。オブジェクトは、上述したように人であり得る。オブジェクトイメージは、オブジェクトの少なくとも一部を含むイメージである。例えば、オブジェクトイメージは、人の少なくとも一部として顔を含むイメージであり得る。
【0064】
そして、ステップS360において、オブジェクト認識装置は、発話モデルに基づいてオブジェクトイメージから発話マップを抽出する。オブジェクト認識装置のプロセッサは、発話モデルにオブジェクトイメージを入力することによって、発話マップを算出する。
【0065】
次に、ステップS370において、オブジェクト認識装置は、オブジェクトモデルに基づいてオブジェクトイメージからオブジェクト特徴を抽出する。オブジェクト認識装置のプロセッサは、オブジェクトモデルにオブジェクトイメージを入力することによりオブジェクト特徴を抽出する。オブジェクト特徴は、オブジェクトに関する特徴として、オブジェクトが抽象化された特徴を示す。例えば、オブジェクトが人であり、オブジェクトイメージが人の少なくとも一部として顔を含んでいる場合、オブジェクト特徴は顔に関する特徴を示す。オブジェクトモデルは、基準イメージから基準オブジェクトを出力するようトレーニングされたモデルとして、ニューラルネットワークを含む機械学習構造であり得る。
【0066】
そして、ステップS380において、オブジェクト認識装置は、オブジェクト特徴及び発話マップに基づいてオブジェクトを認識する。
【0067】
例えば、オブジェクト認識装置は、発話マップを反転させ、反転された発話マップをオブジェクト特徴に反映して対象ベクトルを生成し、生成された対象ベクトルに基づいてオブジェクトを識別する。オブジェクト認識装置は、対象ベクトルから、複数のオブジェクトレイブル(object labels)のうちオブジェクトに対応するオブジェクトレイブルを決定する。オブジェクトレイブルは、例えば、オブジェクトのアイデンティティを示す。
【0068】
異なる例として、オブジェクト認識装置は、第1オブジェクトイメージからオブジェクトモデルに基づいて第1オブジェクト特徴を抽出してもよい。オブジェクト認識装置は、第1オブジェクト特徴に反転した発話マップを反映して第1対象ベクトルを生成する。また、オブジェクト認識装置は、第2オブジェクトイメージからオブジェクトモデルに基づいて第2オブジェクト特徴を抽出する。オブジェクト認識装置は、第2オブジェクト特徴に反転した発話マップを反映して第2対象ベクトルを生成する。オブジェクト認識装置は、第1対象ベクトル及び第2対象ベクトルに基づいてオブジェクトを検証する。例えば、第1オブジェクトイメージは検証の対象となる対象イメージであってもよく、第2オブジェクトイメージは、検証の基準となる登録イメージであってもよいが、これに限定されることはない。
【0069】
一実施形態によれば、オブジェクト認識装置は、第1対象ベクトル及び第2対象ベクトル間の比較に基づいて、第1オブジェクトイメージ及び第2オブジェクトイメージが同一のオブジェクトを指示するか否かを検証する。オブジェクト認識装置は、第1対象ベクトル及び第2対象ベクトル間の類似度スコアを算出し、類似度スコアが閾値類似を超過する場合、第1対象ベクトル及び第2対象ベクトルが類似するものと決定する。オブジェクト認識装置は、第1対象ベクトル及び第2対象ベクトルが類似していると判断される場合、第1オブジェクトイメージ及び第2オブジェクトイメージが同一のオブジェクトを指示するものと決定する。例えば、オブジェクト認識装置は、登録イメージのオブジェクトと対象イメージのオブジェクトが同一の場合、対象イメージのオブジェクトに対応するユーザに対する認証が有効であるものと決定する。したがって、オブジェクト認識装置がスマート機器及び認証機器などによって具現された場合、オブジェクト認識装置は、上述した動作を行って対象イメージと登録イメージとの間のオブジェクトの同一性を決定し、認証が有効な場合、スマート機器に対するアクセスを許容する。
【0070】
図4は、一実施形態に係る表情モデル及び発話モデルに基づいた表情認識過程を説明する図である。
【0071】
まず、表情認識装置は、オブジェクトイメージ410を取得する。上述したように、表情認識装置のカメラがオブジェクトを撮影することで、オブジェクトイメージ410を生成する。表情認識装置は、オブジェクトイメージ410から表情特徴を抽出する。
【0072】
そして、表情認識装置は、オブジェクトイメージ410から発話マップ420を抽出する。発話マップ420に含まれたエレメントのそれぞれは、オブジェクトイメージ410に含まれたピクセルに対応し、該当のピクセルが発話に関する程度に対応する値を有する。例えば、表情認識装置は、発話モデルに基づいてオブジェクトイメージ410の領域ごとに発話に関する程度に応じて加重値を決定することで発話マップ420を生成する。
図4に示された発話マップ420は、発話に関する程度を指示する強度値に表現されたマップであり得る。
【0073】
図4において、発話マップ420は、オブジェクトイメージ410を構成する各ピクセルと同じ個数のエレメントを含み、各エレメントは各ピクセルに対応する。発話マップ420を構成するエレメントには、強度値が割り当てられる。
図4に示された発話マップ420では、エレメントに割り当てられた強度値が大きいほど、該当エレメントがさらに明るく図示される。したがって、
図4に示された発話マップ420において明るい部分は、発話に関する程度が大きい部分を示す。また、発話マップ420は、発話特徴ベクトルに表現され得る。
【0074】
一実施形態によれば、表情認識装置は、発話モデルに基づいてオブジェクトイメージ410の対象領域が発話に関する程度が大きいほど、対象領域に対して高い加重値を決定する。また、表情認識装置は、発話モデルに基づいてオブジェクトイメージ410の対象領域が発話に関する程度が小さいほど、対象領域に対して低い加重値を決定する。対象領域は、例えば、オブジェクトイメージで発話に関する複数のピクセルを含む。例えば、表情認識装置は、対象ピクセルが発話に関する情報に比例して決定された予め決定された範囲内の値(例えば、0から1の間の値)を対象ピクセルに対応するエレメントに割り当てることができる。
【0075】
次に、表情認識装置は、発話マップ420を反転させ、反転された発話マップ430を生成する。表情認識装置は、所定の最大値(例えば、1)から発話マップ420の値を差し引くことで発話マップ420を反転させ得る。一実施形態によれば、所定の最大値は、発話マップ420の各エレメントに割り当てられる加重値に対して予め一定の範囲の最大値である。例えば、予め決定された範囲が0から1の間の範囲である場合、所定の最大値は1である。ただし、予め一定の範囲をこれに限定されることなく、設計に応じて変更され得る。
【0076】
反転された発話マップ430に含まれた各エレメントは、発話に関する程度が低いほど高い値を有する。例えば、人が話す間に顔のうち口の周辺が変化し、オブジェクトイメージ410で口を含む領域は。発話に関する程度が大きい。したがって、発話マップ420では、口の周辺に関するエレメントが高い加重値を有し、それと異なって、反転された発話マップ430では口の周辺に関するエレメントが目に関するエレメントに比べて低い加重値を有する
図4に示された反転した発話マップ430で明るい部分は、発話に関する程度が小さい部分を示す。反転した発話マップ430は、反転ベクトルのように表現されてもよい。
【0077】
そして、表情認識装置は、反転された発話マップ430及び表情特徴に基づいてオブジェクトの表情を認識する。
【0078】
例えば、表情認識装置は、オブジェクトイメージ410から抽出された表情特徴に反転した発話マップ430を適用する。表情認識装置は、反転ベクトルを表情特徴ベクトルに適用して対象ベクトル440を生成する。表情認識装置は、オブジェクトの表情に対応する部分を指示する、反転された発話マップ430の加重値を表情特徴ベクトルに乗算することで対象ベクトル440を生成する。対象ベクトルは加重された特徴ベクトルであり得る。ただし、対象ベクトル440の生成をこれに限定することなく、対象ベクトル440は、反転された発話マップ430及び表情特徴ベクトルを変数にする関数に基づいて生成されてもよい。例えば、反転された発話マップ430及び表情特徴ベクトルの次元及び元素の個数が同じである場合、アダマール積(Hadamard product)が使用され、この場合、対象ベクトル440は、反転された発話マップ430の各エレメント及び表情特徴ベクトルの各エレメントを乗算した結果を示す。
【0079】
一実施形態によれば、表情認識装置は、発話マップ420に基づいて表情特徴のうち発話に関わりやすい特徴に対応する値を減少させ得る。表情認識装置は、発話に関する程度を示す発話マップ420を反転させ、反転された発話マップ430を表情特徴に適用することで発話に関わりやすい特徴に対応する値を減少させ得る。例えば、
図4に示すように、加重された特徴ベクトル440で口に関する領域443に対応する表情特徴は弱く強調することができる。
【0080】
反対に、表情認識装置は、発話マップ420に基づいて表情特徴のうち発話と関わりにくい特徴に対応する値を増加させ得る。表情認識装置は、発話に関する程度を示す発話マップ420を反転させ、反転された発話マップ430を表情特徴に適用することで、発話と関わりにくい特徴に対応する値を増加させ得る。例えば、
図4に示すように、対象ベクトル440で、目に関する領域441,442に対応する表情特徴は強調され得る。
【0081】
表情認識装置は、対象ベクトル440に基づいてオブジェクトの表情を識別する。例えば、表情認識装置は、対象ベクトル440から複数の表情レイブルのうちオブジェクトの表情に対応する表情レイブル450を決定する。
【0082】
参考として、
図4は、主に表情認識について説明したが、これに限定されることはない。
図4を参照して説明した動作は、オブジェクト認識にも適用され得る。例えば、オブジェクト認識装置は、表情モデルの代わりに、オブジェクトモデルを用いてもよい。例えば、オブジェクト認識装置は、オブジェクトモデルに基づいてオブジェクトイメージから抽出されたオブジェクト特徴に反転した発話マップを適用する。オブジェクト特徴のうち発話に関わりやすい特徴は弱く強調され、発話と関わりにくい特徴は強調される。
【0083】
図5Aは、一実施形態に係る表情特徴及び発話特徴に基づいた表情認識を説明する図である。
【0084】
表情認識装置は、イメージ取得部510、表情特徴抽出部530、発話特徴検出部540、及び表情認識部550を含む。
【0085】
イメージ取得部510は、上述したようにオブジェクトイメージ501を取得する。表情特徴抽出部530、は表情モデルに基づいてオブジェクトイメージ501からオブジェクトの表情に対応する部分を指示する表情特徴ベクトルを抽出する。発話特徴検出部540は、発話モデルに基づいてオブジェクトイメージ501からオブジェクトの発話に対応する部分を指示する発話特徴ベクトルを抽出する。表情認識部550は、表情特徴ベクトル及び発話特徴ベクトルに基づいて表情認識結果509を出力する。表情認識結果509は、例えば、オブジェクトの表情を指示するレイブルであり得る。
【0086】
本明細書において、表情は、怒り、軽蔑、嫌悪、恐怖、喜び、悲しみ、驚き、及び中立(例えば、無感情)などの感情を示す情報である。異なる例として、表情は、眠気、集中、否定、肯定、興奮、及び均衡などの状態を示す情報である。ただし、表情の種類をこれに限定することなく、設計に応じて他の分類体系が使用されてもよい。表情レイブルは、上述したように分類される表情タイプのうちの1つを指示するレイブルを示す。
【0087】
また、表情認識装置は、音声取得部520をさらに含んでもよい。音声取得部520は、オブジェクトの発話から生成される音声信号502を取得する。この場合、発話特徴検出部540は、オブジェクトイメージ501及び音声信号502に基づいて発話特徴ベクトルを抽出してもよい。その後、表情認識部550は、表情特徴ベクトル及び発話特徴ベクトルに基づいて表情認識結果509を出力し得る。
【0088】
図5Bは、一実施形態に係るオブジェクト特徴及び発話特徴に基づいた表情認識を説明する図である。
【0089】
参考として、
図5Aは主に表情認識について説明したが、これに限定されることはない。
図5Aを参照して説明した動作は、
図5Bに示すようにオブジェクト認識にも適用され得る。
【0090】
例えば、オブジェクト認識装置は、表情モデルの代わりに、オブジェクトモデルを用いてもよい。一実施形態によれば、オブジェクト認識装置は、表情特徴抽出部530の代わりにオブジェクト特徴抽出部531を、表情認識部550の代わりにオブジェクト認識部551を含んでもよい。
【0091】
オブジェクト特徴抽出部531は、オブジェクトモデルに基づいてオブジェクトイメージ501からオブジェクトの特徴が抽象化されたオブジェクト特徴ベクトルを抽出する。オブジェクト認識部551は、オブジェクト特徴ベクトル及び発話特徴ベクトルに基づいてオブジェクト認識結果508を出力する。オブジェクト認識結果508は、例えば、オブジェクトのアイデンティティを指示するレイブルであり得る。
【0092】
図6Aは、一実施形態に係る発話に基づいた表情認識装置を説明するブロック図である。
【0093】
発話に基づいた表情認識装置600は、イメージ取得部630、プロセッサ610、及びメモリ620を含む。
【0094】
イメージ取得部630は、オブジェクトイメージを取得する。例えば、イメージ取得部630はカメラを含んでもよく、オブジェクトを撮影することによって該当オブジェクトを含むオブジェクトイメージを取得し得る。
【0095】
プロセッサ610は、表情モデル621及び発話モデル622に基づいてオブジェクトイメージからオブジェクトの表情を認識する。例えば、プロセッサ610は、表情モデル621にオブジェクトイメージを入力して表情特徴ベクトルを算出し、発話モデル622にオブジェクトイメージを入力して発話特徴ベクトルを算出する。プロセッサ610は発話特徴ベクトルを反転して生成した、反転ベクトルを上述した表情特徴ベクトルに適用することで対象ベクトルを生成する。プロセッサ610は、対象ベクトルに対応する表情を識別する。例えば、プロセッサ610は、対象ベクトルに対応する表情レイブルを決定する。
【0096】
メモリ620は、表情モデル621及び発話モデル622を格納する。表情モデル621及び発話モデル622は、トレーニングデータに基づいて予めトレーニングされたモデルであり得る。また、表情モデル621及び発話モデル622は、ニューラルネットワークで構成されてもよい。
【0097】
図6Bは、一実施形態に係る発話に基づいたオブジェクト認識装置を説明するブロック図である。
【0098】
図6Aを参照して表情認識を主に説明したが、これに限定されることなく、発話モデルをオブジェクト認識にも適用され得る。この場合、オブジェクト認識装置690は、表情モデルの代わりにオブジェクトモデル623を発話モデル622と共に利用してもよい。
【0099】
例えば、オブジェクト認識装置690は、表情認識装置600と同様にプロセッサ610、メモリ620、及びイメージ取得部630を含む。メモリ620は、表情モデルの代わりにオブジェクトモデル623を発話モデル622と共に格納する。ただし、これに限定されることなく、メモリ620は、表情モデル、オブジェクトモデル623及び発話モデル622を全て格納してもよい。
【0100】
プロセッサ610は、オブジェクトモデル623及び発話モデル622に基づいてオブジェクトイメージからオブジェクトを認識する。例えば、プロセッサ610は、オブジェクトモデル623にオブジェクトイメージを入力してオブジェクト特徴ベクトルを算出し、発話モデル622にオブジェクトイメージを入力して発話特徴ベクトルを算出する。プロセッサ610は、発話特徴ベクトルを反転して生成した、反転ベクトルを上述したオブジェクト特徴ベクトルに適用することで対象ベクトルを生成する。プロセッサ610は、対象ベクトルに対応するオブジェクトを識別する。例えば、プロセッサ610は、対象ベクトルに対応するオブジェクトレイブルを決定する。
【0101】
また、これに限定されることなく、プロセッサ610は、対象ベクトルに基づいてオブジェクトを検証してもよい。
【0102】
説明の便宜のために省略したが、
図6Aの残りの動作についても
図6Bに適用され得る。
【0103】
図7は、一実施形態に係る表情モデル及び発話モデルに基づいて表情認識結果を出力する過程を説明する図である。
【0104】
表情認識装置は、表情モデル710にオブジェクトイメージ701を入力する。表情認識装置は、表情モデル710に基づいてオブジェクトイメージ701から表情特徴ベクトルvextを算出する。表情モデル710は、例えば、vext=fext(I;Wext)により表現される。ここで、Iはオブジェクトイメージ701であり、Wextは表情モデル710のパラメータとして接続加重値を示す。fextは予めトレーニングされた表情モデル710のパラメータWextにより、オブジェクトイメージ701Iから表情特徴ベクトルvextを出力するモデルがモデリングされた関数を示す。
【0105】
また、表情認識装置は、発話モデル720にオブジェクトイメージ701を入力する。表情認識装置は、発話モデル720に基づいてオブジェクトイメージ701から発話特徴ベクトルvattを抽出する。発話モデル720は、例えば、vatt=fatt(I;Watt)により表現される。ここで、Iはオブジェクトイメージ701であり、Wattは発話モデル720のパラメータとして接続加重値を示す。fattは、予めトレーニングされた発話モデル720のパラメータWattにより、オブジェクトイメージ701Iから発話特徴ベクトルvattを出力するモデルがモデリングされた関数を示す。
【0106】
表情認識装置は、表情認識部730に上述した表情特徴ベクトルvext及び発話特徴ベクトルvattを入力し、表情認識結果709を算出する。表情認識部730は、各特徴ベクトルを受信するためのレイヤ731,732を含み、反転演算733、アテンション演算734、正規化演算735、及び認識演算736を行う。
【0107】
例えば、表情認識装置は、表情特徴ベクトルvextを表情認識部730の第1レイヤ731に入力する。また、表情認識装置は、発話特徴ベクトルvattを第2レイヤ732に入力する。第1レイヤ731及び第2レイヤ732は、表情特徴ベクトルvext及び発話特徴ベクトルvattを表情モデル710及び発話モデル720から受信する複数のノードを含み、受信されたベクトルを次のレイヤに伝達するように構成される。表情認識装置は、発話特徴ベクトルvattに対して反転演算733を行って反転ベクトル^vattを生成する。反転演算733は、例えば、下記の数式(1)のように示す。
【0108】
【0109】
上述した数式(1)において、反転ベクトル^vattは所定の最大値(例えば、1)から発話特徴ベクトルvattを差し引いたベクトルに表現される。上述した数式(1)において、発話特徴ベクトルvattの各エレメントは、例えば、0から1の間の値を有し、所定の最大値は1であり得る。
【0110】
表情認識装置はアテンション演算734を行って、表情特徴ベクトルvext及び反転ベクトル^vattを統合する。表情認識装置は、2つの特徴ベクトルを統合するために、表情特徴ベクトルvextに反転ベクトル^vattを適用する。例えば、表情認識装置は、表情特徴ベクトルvext及び反転ベクトル^vattの積によって対象ベクトルv*を生成する。アテンション演算734は、例えば、下記の数式(2)のように示す。
【0111】
【0112】
表情認識装置は、対象ベクトルv*を正規化する正規化演算735を行って正規化された対象ベクトル-v*を生成する。正規化演算735は、例えば、下記の数式(3)のように示す。
【0113】
【0114】
上述した数式(3)のように、表情認識装置は、対象ベクトルv*及び対象ベクトルv*の最小値の間の差を、対象ベクトルv*の最大値と最小値との間の差に割ることで対象ベクトルv*を正規化する。正規化された対象ベクトル-v*は0から1間の値を有する。
【0115】
表情認識装置は、正規化された対象ベクトル-v*に基づいて認識演算736を行うことで、オブジェクトの表情を識別し得る。例えば、表情認識装置は、下記の数式(4)による認識演算736を行う。
【0116】
【数4】
一実施形態によれば、表情認識装置は、プールレイヤ(pooling layer)に基づいて認識演算736を行ってもよい。この場合、上述した数式(4)において、W
recはプールレイヤの接続加重値を示す。cは任意の表情レイブルを示し、yは現在のオブジェクトイメージ701の表情を示す。したがって、表情認識装置は、数式(4)により、与えられた正規化された対象ベクトル
-v
*及びプールレイヤの接続加重値W
recに対し、オブジェクトイメージ701の表情yが特定表情レイブルcである確率P(y=c|I)を算出する。
【0117】
したがって、表情認識装置は、表情認識部730によって下記の数式(5)のように、オブジェクトイメージ701が特定表情レイブルに対応する確率P(y=c|I)を決定する。表情認識結果709は、オブジェクトイメージ701が特定表情レイブルに対応する確率P(y=c|c)であり得る。
【0118】
【0119】
さらに、
図7は、主に表情認識について説明したが、これに限定されることはない。例えば、表情モデル710がオブジェクトモデルに代替されて具現されてもよく、この場合オブジェクト認識装置は、オブジェクトモデル及び発話モデル720に基づいてオブジェクトを認識し得る。
【0120】
図8は、一実施形態に係る発話に基づいた表情トレーニング方法を説明するフローチャートである。
【0121】
まず、ステップS810において、表情トレーニング装置は、基準イメージ及び基準表情を取得する。基準イメージは、トレーニングのために与えられたオブジェクトを含むイメージを示す。基準表情は、基準イメージにマッピングされた表情として、基準イメージに含まれたオブジェクトが示す表情を指示するレイブルであり得る。トレーニングデータは、基準イメージ及び基準表情の対を含む。表情トレーニング装置は、メモリからトレーニングデータをロードして取得する。ただし、これに限定されることなく、表情トレーニング装置は、外部からトレーニングデータを取得してもよい。また、表情トレーニング装置は、基準イメージに対応する基準音声をさらに取得する。
【0122】
そして、ステップS820において、表情トレーニング装置は、オブジェクトイメージから表情特徴を抽出する表情モデル及びオブジェクトイメージから発話マップを抽出する発話モデルに基づいてプロセッサが基準イメージから基準表情を出力するように、表情モデルのパラメータ及び発話モデルのパラメータをトレーニングさせ得る。例えば、トレーニングの間に表情トレーニング装置は、基準イメージからトレーニング発話マップ及びトレーニング表情特徴を抽出してトレーニング発話マップ及びトレーニング表情特徴に基づいてトレーニング表情レイブルを算出し、トレーニング表情レイブル及び基準表情間の表情損失が最小化されるよう表情モデルをトレーニングさせ得る。また、表情トレーニング装置は、トレーニング発話マップから音声情報を復元し、復元された音声情報及び基準音声との発話損失が最小化されるよう発話モデルをトレーニングさせ得る。
【0123】
表情モデル及び発話モデルのトレーニングは、下記で詳細に説明する。
【0124】
図9は、一実施形態に係る発話に基づいた表情トレーニング装置を説明するブロック図である。
【0125】
発話に基づいた表情トレーニング装置900は、プロセッサ910及びメモリ920を含む。
【0126】
プロセッサ910は、上述したようにトレーニングデータ923を取得し、取得されたトレーニングデータ923に基づいて表情モデル921及び発話モデル922をトレーニングする。
【0127】
例えば、プロセッサ910は、発話モデル922が基準イメージから基準音声に対応する発話特徴を出力するよう、発話モデル922をトレーニングさせる。プロセッサ910は、トレーニングの間に発話モデル922に基づいて基準イメージからトレーニング発話特徴を抽出し、該当トレーニング発話特徴を音声信号形態に変換して基準音声と比較する。プロセッサ910は、トレーニング発話特徴から復元されたトレーニング音声及び基準音声間の発話損失が最小化されるよう、発話モデル922のパラメータをアップデートすることで発話モデル922をトレーニングさせることができる。
【0128】
また、プロセッサ910は、表情モデル921が基準イメージから基準表情に対応する表情レイブルを出力するよう、表情モデル921をトレーニングさせる。例えば、プロセッサ910は、表情モデル921及び発話モデル922に基づいて基準イメージから認識される表情及び基準表情間の表情損失を最小化することで表情モデル921をトレーニングさせ得る。プロセッサ910は、トレーニングの間に、表情モデル921に基づいて基準イメージからトレーニング表情特徴を抽出し、該当トレーニング表情特徴に対応する表情レイブルを算出して基準表情と比較する。プロセッサ910は、トレーニング表情特徴に対応する表情レイブル及び基準表情間の表情損失が最小化されるよう、表情モデル921のパラメータをアップデートすることで表情モデル921をトレーニングさせ得る。
【0129】
上述した表情モデル921及び発話モデル922のトレーニングは同時に実行されるが、これに限定されることはない。発話モデル922のトレーニングが先に実行され、発話モデル922のパラメータが決定された後、表情トレーニング装置900は表情モデル921をトレーニングさせてもよい。
【0130】
メモリ920は、表情モデル921及び発話モデル922を格納する。また、メモリ920は、トレーニングデータ923で格納する。プロセッサ910は、メモリ920からトレーニングデータ923をロードしてトレーニングに使用してもよい。プロセッサ910は、トレーニングの間パラメータがアップデートされる、表情モデル921及び発話モデル922を格納する。
【0131】
図10は、一実施形態に係る表情モデル及び発話モデルをトレーニングさせる過程を説明する図である。
【0132】
表情トレーニング装置は、
図7を参照して説明した構造の表情モデル1010及び発話モデル1020をトレーニングさせる。一実施形態によれば、表情トレーニング装置は、発話モデル1020をトレーニングさせた後、表情モデル1010をトレーニングさせる。ただし、これに限定されることなく、表情トレーニング装置は、表情モデル1010及び発話モデル1020を一度にトレーニングさせてもよい。表情トレーニング装置は、基準イメージ1001及び基準表情の対を含むトレーニングデータに基づいて、表情モデル1010及び発話モデル1020をトレーニングさせてもよく、追加的に基準音声をさらに含んでもよい。
【0133】
例えば、表情トレーニング装置は、発話モデル1020をトレーニングさせるために発話損失1008を算出する。表情トレーニング装置は、基準イメージ1001からトレーニング発話特徴を発話モデル1020に基づいて算出する。表情トレーニング装置は、表情認識部1030の第2レイヤ1032にトレーニング発話特徴を入力する。表情トレーニング装置は、トレーニング発話特徴から、それに対応するトレーニング音声を復号化演算1037によって復元する。トレーニング音声は、発話モデル1020のトレーニングの間に一時的に算出されたトレーニング発話特徴から復元された音声を示す。復号化演算1037は、下記の数式(6)のように示す。
【0134】
【0135】
上述した数式(6)において、vattはトレーニング発話特徴を示し、Wdecは復号化演算1037のパラメータを示し、fdecは復号化演算1037のパラメータWdecを用いてトレーニング発話特徴vattからトレーニング音声^vvoiceを復元する復号化演算1037がモデリングされた関数を示す。上述した数式(6)は、クロスモダリティ関数(cross-modality function)とも示す。
【0136】
表情トレーニング装置は、発話損失1008を下記の数式(7)のように算出される。
【0137】
【0138】
表情トレーニング装置は、発話損失1008Ltlkを、上述した数式(7)のようにトレーニング音声^vvoice及び基準音声vvoice間のL2-normに算出し得る。表情トレーニング装置は、上述した数式(7)による発話損失1008Ltlkが最小化されるよう、発話モデル1020のパラメータをアップデートすることで発話モデル1020をトレーニングさせる。ただし、発話損失1008の関数を上述したものに限定することなく、設計に応じて様々な損失関数が使用されてもよい。
【0139】
一実施形態によれば、表情トレーニング装置は、上述したように発話損失1008Ltlkの最小化により学習された発話モデル1020のパラメータWattをフリージングした後、表情モデル1010をトレーニングさせ得る。
【0140】
表情トレーニング装置は、表情モデル1010をトレーニングさせるために表情損失1009を算出する。表情トレーニング装置は、表情モデル1010に基づいて基準イメージ1001から抽出された表情特徴に発話モデル1020に基づいて基準イメージ1001から抽出された発話マップを適用する。ここで、表情トレーニング装置は、基準イメージ1001から抽出された発話マップを反転させた、反転された発話マップを基準イメージ1001から抽出された表情特徴に反映する。表情トレーニング装置は、発話マップが適用された表情特徴に基づいて決定された表情レイブル及び基準表情に対応するレイブル間の表情損失を最小化できる。
【0141】
例えば、表情トレーニング装置は、基準イメージ1001からトレーニング表情特徴を表情モデル1010に基づいて算出する。表情トレーニング装置は、表情認識部1030の第1レイヤ1031にトレーニング表情特徴を入力する。表情トレーニング装置は、トレーニング表情特徴に反転ベクトル^vattを適用することによりアテンション演算1034を行ってもよい。反転ベクトル^vattは、トレーニング発話特徴vattに対して反転演算1033が実行されたベクトルである。表情トレーニング装置は、アテンション演算1034によって生成された対象ベクトルv*を正規化1035して正規化された対象ベクトル-v*を生成し、正規化された対象ベクトル-v*に認識演算1036を行うことでトレーニング表情レイブルP(y=c|I)を決定し得る。表情トレーニング装置は、下記の数式(8)のように表情損失1009Lrecを算出する。
【0142】
【数8】
表情トレーニング装置は、上述した数式(8)により算出された表情損失1009L
recが最小化されるよう表情モデル1010のパラメータをアップデートすることで、表情モデル1010をトレーニングさせ得る。ただし、表情損失1009の関数を上述したものに限定することなく、設計に応じて様々な損失関数が使用されてもよい。
【0143】
図10において、説明の便宜のために、表情モデル1010及び発話モデル1020のトレーニングを順に説明したが、これに限定されることはない。表情トレーニング装置は、1つのトレーニングサイクルの間に表情損失1009及び発話損失1008が最小化されるよう表情モデル1010及び発話モデル1020のパラメータを一度にアップデートしてもよい。
【0144】
また、
図8ないし
図10は、主に表情認識のための表情モデルについて説明したが、これに限定されることはない。表情モデルの代わりに、オブジェクトモデルが発話モデルと共にトレーニングされてもよい。
【0145】
例えば、トレーニングデータは、基準イメージ及び基準オブジェクトの対を含む。オブジェクトトレーニング装置は、メモリからトレーニングデータをロードして取得する。オブジェクトトレーニング装置は、オブジェクトイメージからオブジェクト特徴を抽出するオブジェクトモデル及びオブジェクトイメージから発話マップを抽出する発話モデルに基づいて、プロセッサが基準イメージから基準オブジェクトを出力するよう、オブジェクトモデルのパラメータ及び発話モデルのパラメータをトレーニングさせ得る。
【0146】
トレーニングの間にオブジェクトトレーニング装置は、基準イメージからトレーニング発話マップ及びトレーニングオブジェクト特徴を抽出する。オブジェクトトレーニング装置は、トレーニング発話マップ及びトレーニングオブジェクト特徴に基づいてトレーニングオブジェクトレイブルを算出する。オブジェクトトレーニング装置は、トレーニングオブジェクトレイブル及び基準オブジェクト間のオブジェクト損失が最小化されるようオブジェクトモデルをトレーニングさせ得る。また、表情トレーニング装置は、トレーニング発話マップから音声情報を復元し、復元された音声情報及び基準音声との発話損失が最小化されるよう発話モデルをトレーニングさせ得る。
【0147】
説明の便宜のために省略したが、
図8ないし
図10の残りの動作についてもオブジェクトトレーニング装置に適用されてもよい。例えば、
図8ないし
図10で動作は表情モデルをオブジェクトモデルであり、表情特徴をオブジェクト特徴で、表情レイブルをオブジェクトレイブルで、基準表情を基準オブジェクトで、表情損失をオブジェクト損失で置き換え、オブジェクトトレーニング装置に適用される。
【0148】
図11及び
図12は、一実施形態に係る表情認識装置の例示を説明する図である。
【0149】
図11は、モバイル装置で具現された表情認識装置1100を示す。
図12は、ロボットで具現された表情認識装置1200を示す。また、表情認識装置1100,1200は、スマートTVなどのような様々なスマート機器で具現される。
【0150】
一実施形態に係る表情認識装置1100,1200は、オブジェクトが話している状況でもオブジェクトの表情を正確に認識できる。上述したように、表情認識装置1100,1200は、発話マップを抽出することによりオブジェクトで表情に関する部分に集中し、発話に関する部分には少なく集中し、オブジェクトの表情を認識し得る。また、表情認識装置1100,1200は、別途の音声信号の取得なくてもオブジェクトから発話に関する部分を排除できる。
【0151】
図11及び
図12は、主に表情認識装置1100,1200を説明したが、これに限定されることはない。オブジェクト認識装置もスマート機器などで具現され得る。
【0152】
また、
図1ないし
図12を参照して説明した表情認識装置及びオブジェクト認識装置は、単一の認識機器に統合されて具現されてもよい。例えば、認識機器は、表情モデル、オブジェクトモデル、及び発話モデルを含む。認識機器は、表情モデルに基づいて抽出した表情特徴及びオブジェクトモデルに基づいてオブジェクト特徴に発話モデルに基づいた発話マップを反転して適用することで対象ベクトルを生成し得る。認識機器は、対象ベクトルに基づいて表情を認識したりオブジェクトを認識し得る。
【0153】
以上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサー、又は命令(instruction)を実行して応答する異なる装置のように、1つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム(OS)及びオペレーティングシステム上で実行される1つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は1つが使用されるものとして説明する場合もあるが、当技術分野で通常の知識を有する者は、処理装置が複数の処理要素(processing element)及び/又は複数類型の処理要素を含むことが把握する。例えば、処理装置は、複数のプロセッサ又は1つのプロセッサ及び1つのコントローラを含む。また、並列プロセッサ(parallel processor)のような、他の処理構成も可能である。
【0154】
ソフトウェアは、コンピュータプログラム、コード、命令、又はこののうちの1つ以上の組合せを含み、希望通りに動作するように処理装置を構成し、独立的又は結合的に処理装置に命令する。ソフトウェア及び/又はデータは、処理装置によって解釈され、処理装置に命令又はデータを提供するためのあらゆる類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、或いは送信される信号波を介して永久的又は一時的に具現化される。ソフトウェアは、ネットワークに連結されたコンピュータシステム上に分散され、分散された方法で格納されるか又は実行される。ソフトウェア及びデータは1つ以上のコンピュータ読み取り可能な記録媒体に格納される。
【0155】
本実施形態による方法は、様々なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD-ROM、DYIJDのような光記録媒体、フロプティカルディスクのような磁気-光媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明に示す動作を実行するために1つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【0156】
上述したように実施形態をたとえ限定された図面によって説明したが、当技術分野で通常の知識を有する者であれば、上記の説明に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順序で実行されるし、及び/又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組み合わせられてもよいし、他の構成要素又は均等物によって置き換え又は置換されたとしても適切な結果を達成することができる。
【0157】
したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【0158】
600:表情認識装置
610:プロセッサ
620:メモリ
630:イメージ取得部