【文献】
小林 宏充、外2名,“時空間特徴と教師なし学習を用いた製造機械の異常動作シーンの抽出”,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2014年 2月27日,Vol.113, No.470,pp.87-92
(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来のコーチングでは、コーチが、自身の知識や経験に基づいて対象者の非言語メッセージを読み取り、対象者とのコミュニケーションに役立てている。しかしながら、知識や経験の少ないコーチにとって、非言語メッセージを読み取ることは難しい。また、熟練したコーチであっても、様々な事項を検討しながらコーチングにあたるため、非言語メッセージを見落とすおそれがある。
【0006】
そこで、本発明は、対象者が非言語メッセージを発していることをリアルタイムにユーザに知らせることができるモニタリング装置、モニタリングシステム、モニタリング方法及びモニタリングプログラムを提供する。
【課題を解決するための手段】
【0007】
本発明の一態様に係るモニタリング装置は、対象者の挙動を表す時系列データを取得する取得部と、時系列データを、教師なし学習により生成された判定モデルに入力し、判定モデルの出力に基づき、時系列データが外れ値を含むか否かを判定する判定部と、時系列データに基づいて、判定モデルに含まれるパラメータを更新する更新部と、時系列データが外れ値を含むと判定された場合に、ユーザに通知する通知部と、を備える。
【0008】
この態様によれば、教師なし学習によってユーザの主観に依存しないように生成された判定モデルのパラメータを逐次更新し、取得している時系列データに適した判定モデルによって外れ値を検出することで、対象者が非言語メッセージを発していることを検出し、リアルタイムにユーザに知らせることができる。
【0009】
上記態様において、判定部は、時系列データのうち連続して取得された所定数のデータを判定モデルに入力し、更新部は、所定数のデータに基づいてパラメータを更新し、時系列データが外れ値を含むと判定された場合に、所定数のデータのうち最も外れ度が大きいデータを表示する表示部をさらに備えてもよい。
【0010】
この態様によれば、対象者が発した非言語メッセージを確認し直すことができ、ユーザが対象者とより良くコミュニケーションをとれるように支援することができる。
【0011】
上記態様において、表示部は、時系列データが外れ値を含むと判定された場合に、所定数のデータの一つ前に判定モデルに入力された所定数のデータのうち代表的なデータを表示してもよい。
【0012】
この態様によれば、外れ値と判定された対象者の状態を、対象者の通常の状態と比較することができ、ユーザが対象者とより良くコミュニケーションをとれるように支援することができる。
【0013】
上記態様において、判定モデルは、混合ガウスモデルであり、パラメータは、混合ガウスモデルの平均、分散及び混合重みを含んでもよい。
【0014】
この態様によれば、時系列データが多鋒性の確率分布に従う場合であっても、精度よく判定を行うことができる。
【0015】
上記態様において、時系列データは、対象者の姿勢を表す姿勢データを含んでもよい。
【0016】
この態様によれば、対象者が発した姿勢に関する非言語メッセージを検出し、ユーザに通知することができる。
【0017】
上記態様において、対象者を撮影した動画に基づき、姿勢データを逐次生成する生成部をさらに備えてもよい。
【0018】
この態様によれば、動画から定量的な姿勢データを生成することができる。
【0019】
上記態様において、時系列データは、対象者の視線の方向を表す視線データを含んでもよい。
【0020】
この態様によれば、対象者が発した視線に関する非言語メッセージを検出し、ユーザに通知することができる。
【0021】
上記態様において、時系列データは、対象者の表情を表す表情データを含んでもよい。
【0022】
この態様によれば、対象者が発した表情に関する非言語メッセージを検出し、ユーザに通知することができる。
【0023】
本発明の他の態様に係るモニタリングシステムは、モニタリング装置と、ユーザにより装着されるウェアラブルデバイスと、を備えるモニタリングシステムであって、モニタリング装置は、対象者の挙動を表す時系列データを取得する取得部と、時系列データを、教師なし学習により生成された判定モデルに入力し、判定モデルの出力に基づき、時系列データが外れ値を含むか否かを判定する判定部と、時系列データに基づいて、判定モデルに含まれるパラメータを更新する更新部と、時系列データが外れ値を含むと判定された場合に、ウェアラブルデバイスに通知する通知部と、を有し、ウェアラブルデバイスは、通知に応じて振動する振動部を有する。
【0024】
この態様によれば、教師なし学習によってユーザの主観に依存しないように生成された判定モデルのパラメータを逐次更新し、取得している時系列データに適した判定モデルによって外れ値を検出することで、対象者が非言語メッセージを発していることを検出し、ウェアラブルデバイスの振動によってリアルタイムにユーザに知らせることで、ユーザと対象者のコミュニケーションを阻害しないように、ユーザに非言語メッセージが検出されたことを知らせることができる。
【0025】
上記態様において、ウェアラブルデバイスは、通知があったことを表示する表示部をさらに備えてもよい。
【0026】
この態様によれば、触覚のみならず、視覚を通じて非言語メッセージが検出されたことを知らせることができる。
【0027】
上記態様において、ウェアラブルデバイスは、判定モデルにより外れ値を検出する感度を調整する入力を受け付ける入力部をさらに備えてもよい。
【0028】
この態様によれば、実際の使用状況に応じて、通知の頻度を増減させることができる。
【0029】
本発明の他の態様に係るモニタリング方法は、対象者の挙動を表す時系列データを取得することと、時系列データを、教師なし学習により生成された判定モデルに入力し、判定モデルの出力に基づき、時系列データが外れ値を含むか否かを判定することと、時系列データに基づいて、判定モデルに含まれるパラメータを更新することと、時系列データが外れ値を含むと判定された場合に、ユーザに通知することと、を含む。
【0030】
この態様によれば、教師なし学習によってユーザの主観に依存しないように生成された判定モデルのパラメータを逐次更新し、取得している時系列データに適した判定モデルによって外れ値を検出することで、対象者が非言語メッセージを発していることを検出し、リアルタイムにユーザに知らせることができる。
【0031】
本発明の他の態様に係るモニタリングプログラムは、モニタリング装置に備えられたプロセッサを、対象者の挙動を表す時系列データを取得する取得部、時系列データを、教師なし学習により生成された判定モデルに入力し、判定モデルの出力に基づき、時系列データが外れ値を含むか否かを判定する判定部、時系列データに基づいて、判定モデルに含まれるパラメータを更新する更新部、及び時系列データが外れ値を含むと判定された場合に、ユーザに通知する通知部、として機能させる。
【0032】
この態様によれば、教師なし学習によってユーザの主観に依存しないように生成された判定モデルのパラメータを逐次更新し、取得している時系列データに適した判定モデルによって外れ値を検出することで、対象者が非言語メッセージを発していることを検出し、リアルタイムにユーザに知らせることができる。
【発明の効果】
【0033】
本発明によれば、対象者が非言語メッセージを発していることをリアルタイムにユーザに知らせることができるモニタリング装置、モニタリングシステム、モニタリング方法及びモニタリングプログラムを提供することができる。
【発明を実施するための形態】
【0035】
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【0036】
図1は、本発明の実施形態に係るモニタリングシステム100の概要を示す図である。モニタリングシステム100は、モニタリング装置10と、ユーザ1により装着されるウェアラブルデバイス(本例ではスマートウォッチ20)と、カメラ30と、アイトラッカー40と、を備える。本例では、ユーザ1は、対象者2(Coachee)をコーチングするコーチ(Coach)であり、モニタリング装置10は、ユーザ1が用いるPC(Personal Computer)であるため「Coach´s PC」と記載されている。また、スマートウォッチ20は、「Smartwatch」と記載され、カメラ30は、「Web Camera」と記載され、アイトラッカー40は、「Eye tracker」と記載されている。
【0037】
モニタリング装置10は、カメラ30により撮影された動画及びアイトラッカー40により測定された視線データを含む時系列データに基づいて、対象者2が発する非言語メッセージを検出する。モニタリング装置10によって対象者2が非言語メッセージを発していることが検出された場合、即座にスマートウォッチ20に通知がなされる。このとき、スマートウォッチ20は、振動によって通知をユーザ1に知らせてよい。
【0038】
モニタリング装置10によって対象者2が非言語メッセージを発していることが検出された場合、スマートウォッチ20に通知を送るとともに、検出された場面を表す画像を表示部に表示してよい。
【0039】
図2は、本実施形態に係るモニタリング装置10の機能ブロックを示す図である。モニタリング装置10は、取得部11、生成部12、判定部13、更新部14、通知部15及び表示部10fを備える。
【0040】
取得部11は、対象者2の挙動を表す時系列データを取得する。取得部11は、例えば数Hzのレートで時系列データを取得してよい。時系列データは、対象者2の姿勢を表す姿勢データを含んでよい。姿勢データは、対象者2の体の部位の位置を表すデータであってよい。ここで、体の部位は、両手首、両肘、両肩、首、目等を含んでよい。なお、本例では、対象者2が座った状態でコーチングを受ける場合を想定しているため、姿勢データは、上半身の部位の位置を表すデータであってよいが、一般には足関節や腰の位置を表すデータを含んでもよい。姿勢データを用いることで、対象者2が発した姿勢に関する非言語メッセージを検出し、ユーザ1に通知することができる。
【0041】
時系列データは、対象者2の視線の方向を表す視線データを含んでよい。視線データは、アイトラッカー40により測定されたものであってよく、対象者2の両目の視線の方向を表すデータであってよい。なお、対象者2が目をこする等して視線が読み取れない場合、視線データは、欠損値を含んでよい。モニタリング装置10は、このような欠損値も他の正常な値と同様に扱って、非言語メッセージを検出する処理を行ってよい。このように、対象者2が発した視線に関する非言語メッセージを検出し、ユーザ1に通知することができる。
【0042】
時系列データは、対象者2の表情を表す表情データを含んでよい。表情データは、例えば、中立、怒り、軽蔑、嫌悪、恐怖、喜び、悲しみ及び驚きといった感情に対応する離散値であってよい。これにより、対象者2が発した表情に関する非言語メッセージを検出し、ユーザ1に通知することができる。
【0043】
生成部12は、対象者2を撮影した動画に基づき、姿勢データを逐次生成する。生成部12は、例えば、非特許文献1及び2に記載の技術によって、動画に基づいて姿勢データを生成してよい。これにより、動画から定量的な姿勢データを生成することができる。
【0044】
また、生成部12は、対象者2を撮影した動画に基づき、表情データを逐次生成してよい。生成部12は、例えば、画像から人の表情を認識するCNN(Convolutional Neural Network)を用いて、表情データを生成してよい。これにより、動画から定量的な表情データを生成することができる。
【0045】
判定部13は、時系列データを、教師なし学習により生成された判定モデル13aに入力し、判定モデル13aの出力に基づき、時系列データが外れ値を含むか否かを判定する。判定部13は、時系列データのうち連続して取得された所定数のデータを判定モデル13aに入力してよい。より具体的には、所定数をNと表し、時系列データの次元をMと表すとき、判定モデル13aの入力は、x
(t)というN×M行列であってよい。ここで、tは、時刻を表す変数である。
【0046】
更新部14は、時系列データに基づいて、判定モデル13aに含まれるパラメータを更新する。更新部14は、所定数のデータに基づいて、パラメータを更新してもよい。
【0047】
判定モデル13aは、混合ガウスモデルであり、パラメータは、混合ガウスモデルの平均、分散及び混合重みを含んでよい。具体的には、混合ガウスモデルの平均をμ
(t)i、分散をΣ
(t)i、混合重みをc
(t)iと表すとき、判定モデル13aは、以下の数式(1)で表される外れ度a
(t)が閾値以上であれば、時系列データが外れ値を含むと判定してよい。一方、判定モデル13aは、外れ度a
(t)が閾値未満であれば、時系列データが外れ値を含まないと判定してよい。
【0049】
ここで、添え字iは、混合ガウス分布を構成する単一のガウス分布を識別するものである。本例の場合、判定モデル13aは、l+1個のガウス分布を混合した混合ガウスモデルである。
【0050】
更新部14は、以下の数式(2)〜(7)によって、パラメータを更新してよい。
【0057】
このように、時系列データにアノテーションを付与して学習データを作成しなくても、教師なし学習によって、時系列データの外れ値を精度よく検出することができる。また、混合ガウスモデルを用いることで、時系列データが多鋒性の確率分布に従う場合であっても、精度よく判定を行うことができる。
【0058】
通知部15は、時系列データが外れ値を含むと判定された場合に、ユーザ1に通知する。通知部15は、ユーザ1が装着するスマートウォッチ20に通知を送信し、スマートウォッチ20は、通知に応じて振動する振動部を有してよい。このように、教師なし学習によってユーザ1の主観に依存しないように生成された判定モデル13aのパラメータを逐次更新し、取得している時系列データに適した判定モデル13aによって外れ値を検出することで、対象者2が非言語メッセージを発していることを検出し、リアルタイムにユーザ1に知らせることができる。
【0059】
また、対象者2が非言語メッセージを発していることを検出し、ウェアラブルデバイスの振動によってリアルタイムにユーザ1に知らせることで、ユーザ1と対象者2のコミュニケーションを阻害しないように、ユーザ1に非言語メッセージが検出されたことを知らせることができる。
【0060】
図3は、本実施形態に係るモニタリング装置10の物理的構成を示す図である。モニタリング装置10は、プロセッサに相当するCPU(Central Processing Unit)10aと、記憶部に相当するRAM(Random Access Memory)10bと、記憶部に相当するROM(Read only Memory)10cと、通信部10dと、入力部10eと、表示部10fと、を有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。なお、本例ではモニタリング装置10が一台のコンピュータで構成される場合について説明するが、モニタリング装置10は、複数のコンピュータが組み合わされて実現されてもよい。また、
図3で示す構成は一例であり、モニタリング装置10はこれら以外の構成を有してもよいし、これらの構成のうち一部を有さなくてもよい。
【0061】
CPU10aは、RAM10b又はROM10cに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。CPU10aは、動画や視線データに基づいて対象者2の非言語メッセージを検出するプログラム(モニタリングプログラム)を実行する演算部である。CPU10aは、入力部10eや通信部10dから種々のデータを受け取り、データの演算結果を表示部10fに表示したり、RAM10bやROM10cに格納したりする。
【0062】
RAM10bは、記憶部のうちデータの書き換えが可能なものであり、例えば半導体記憶素子で構成されてよい。RAM10bは、CPU10aが実行するモニタリングプログラム、動画及び視線データ等を記憶してよい。なお、これらは例示であって、RAM10bには、これら以外のデータが記憶されていてもよいし、これらの一部が記憶されていなくてもよい。
【0063】
ROM10cは、記憶部のうちデータの読み出しが可能なものであり、例えば半導体記憶素子で構成されてよい。ROM10cは、例えばモニタリングプログラムや、書き換えが行われないデータを記憶してよい。
【0064】
通信部10dは、モニタリング装置10を他の機器に接続するインターフェースである。通信部10dは、インターネット等の通信ネットワークNに接続されてよい。
【0065】
入力部10eは、ユーザからデータの入力を受け付けるものであり、例えば、キーボードやタッチパネルを含んでよい。
【0066】
表示部10fは、CPU10aによる演算結果を視覚的に表示するものであり、例えば、LCD(Liquid Crystal Display)により構成されてよい。表示部10fは、撮影された画像を表示したり、検出された非言語メッセージを示す画像を表示したりしてよい。
【0067】
モニタリングプログラムは、RAM10bやROM10c等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部10dにより接続される通信ネットワークを介して提供されてもよい。モニタリング装置10では、CPU10aがモニタリングプログラムを実行することにより、
図2を用いて説明した様々な動作が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、モニタリング装置10は、CPU10aとRAM10bやROM10cが一体化したLSI(Large-Scale Integration)を備えていてもよい。
【0068】
図4は、本実施形態に係るモニタリングシステム100に含まれるウェアラブルデバイスの表示例を示す図である。本例では、ウェアラブルデバイスは、スマートウォッチ20である。スマートウォッチ20は、モニタリング装置10から通知があったことを表示する表示部を備える。スマートウォッチ20の表示部には、メッセージM1と、第1ボタンB1と、第2ボタンB2とが表示されている。なお、スマートウォッチ20は、表示部に重畳してタッチスクリーンが設けられており、第1ボタンB1又は第2ボタンB2をタッチすることで、それぞれのボタンを押下することができる。
【0069】
メッセージM1は、「Alert!」という文字であり、時系列データが外れ値を含んでいると判定されたことをユーザ1に通知するものである。メッセージM1は、ユーザ1が一瞥しただけで理解できるように、単純な単語であることが望ましい。このように、スマートウォッチ20は、振動部による振動と、表示部によるメッセージM1によって、ユーザ1に通知を行う。このように、触覚のみならず、視覚を通じて非言語メッセージが検出されたことを知らせることができる。
【0070】
スマートウォッチ20は、判定モデル13aにより外れ値を検出する感度を調整する入力を受け付ける入力部を備える。本例では、入力部は、タッチスクリーンである。第1ボタンB1には「More」と記載され、第2ボタンB2には「Less」と記載されている。ユーザ1により第1ボタンB1がタッチされると、モニタリング装置10は、判定モデル13aによって外れ度a
(t)との比較に用いられる閾値を増大させる。また、ユーザ1により第2ボタンB2がタッチされると、モニタリング装置10は、判定モデル13aによって外れ度a
(t)との比較に用いられる閾値を減少させる。
【0071】
このように、ユーザ1は、実際の使用状況に応じて、判定モデル13aによって外れ度a
(t)との比較に用いられる閾値を増減させ、通知の頻度を増減させることができる。
【0072】
図5は、本実施形態に係るモニタリング装置10の表示例を示す図である。同図では、モニタリング装置10の表示部10fに表示される画面の一例を示している。画面の左側には、「検出されたフレーム」の第1画像P1が表示され、右側には「直前の代表的なフレーム」の第2画像P2が表示されている。ここで、第1画像P1は、モニタリング装置10によって、外れ値と判定されたフレームの画像であり、非言語メッセージを含む蓋然性が高いフレームである。第1画像P1は、対象者が右手で後頭部を抑えている様子を示している。
【0073】
モニタリング装置10は、連続して取得された所定数のデータを判定モデル13aに入力し、時系列データが外れ値を含むと判定された場合に、所定数のデータのうち最も外れ度が大きいデータを表示してよい。所定数のデータx
(t)n(n=1〜N)のうち最も外れ度が大きいデータは、以下の数式(8)で与えられてよい。なお、モニタリング装置10は、最も外れ度が大きいデータだけでなく、外れ度が上位所定順位以内のデータを表示してもよい。
【0075】
外れ値を検出した場合に、実際に撮影された画像を表示することで、対象者2が発した非言語メッセージを確認し直すことができ、ユーザ1が対象者とより良くコミュニケーションをとれるように支援することができる。
【0076】
モニタリング装置10は、時系列データが外れ値を含むと判定された場合に、所定数のデータの一つ前にモデルに入力された所定数のデータのうち代表的なデータを表示してよい。直前に取得された所定数のデータx
(t-1)n(n=1〜N)のうち代表的なデータは、以下の数式(9)で与えられてよい。ここでは、直前に取得された所定数のデータx
(t-1)nから代表的なl+1個のデータを選択する場合を示す。
図5に示す例では、選択されたl+1個のデータのうち1つを表示する場合を示しているが、モニタリング装置10は、選択されたl+1個のデータを並べて表示してもよい。また、モニタリング装置10は、数式(9)により選択されたl+1個のデータを、数式(8)により選択されたデータと比較可能に表示してもよい。さらに、モニタリング装置10は、所定数のデータx
(t)nのうち外れ度が上位l+1以内のデータを選択し、直前に取得された所定数のデータx
(t-1)nからl+1個の代表的なデータを選択して、並べて表示してもよい。
【0078】
外れ値を検出した場合に、直前に撮影された代表的な画像を表示することで、外れ値と判定された対象者2の状態を、対象者2の通常の状態と比較することができ、ユーザ1が対象者2とより良くコミュニケーションをとれるように支援することができる。
【0079】
図6は、本実施形態に係るモニタリング装置10により実行される第1処理のフローチャートを示す図である。第1処理は、モニタリング装置10によって外れ値を検出して、ユーザ1に通知する処理である。
【0080】
はじめに、モニタリング装置10は、対象者2の動画を取得し(S10)、動画を解析して姿勢データを生成し(S11)、動画を解析して表情データを生成する(S12)。これらの処理は、動画を撮影しながらリアルタイムで行われる。また、モニタリング装置10は、対象者の視線データを取得する(S13)。なお、表情データは、必ずしも生成されなくてもよい。
【0081】
モニタリング装置10は、姿勢データ、表情データ及び視線データを含む時系列データを判定モデル13aに入力し、算出された外れ度を閾値と比較して、外れ値を含むか判定する(S14)。また、モニタリング装置10は、時系列データに基づいて、判定モデル13aに含まれるパラメータを更新する(S15)。
【0082】
時系列データが外れ値を含む場合(S16:YES)、モニタリング装置10は、外れ値を含むと判定されたことをユーザ1に通知する(S17)。一方、時系列データが外れ値を含まない場合(S16:NO)、特に通知は行わずに次の処理に進む。
【0083】
処理を終了しない場合(S18:NO)、モニタリング装置10は、再び動画の取得(S10)及び視線データの取得(S13)を行い、以上の処理を繰り返す。一方、処理を終了する場合(S18:YES)、モニタリング装置10は、動作を停止して処理を終了する。
【0084】
図7は、本実施形態に係るモニタリング装置10により実行される第2処理のフローチャートを示す図である。第2処理は、
図6に示すユーザ1に通知を行う処理(S17)である。
【0085】
モニタリング装置10は、ユーザ1のスマートウォッチ20にアラートを通知する(S171)。また、モニタリング装置10は、ユーザ1のスマートウォッチ20から閾値を調整する入力を受け付ける(S172)。
【0086】
そして、モニタリング装置10は、現在のバッチに含まれる時系列データのうち最も外れ度が大きいデータを表示する(S173)。また、モニタリング装置10は、直前のバッチに含まれる時系列データのうち代表的なデータを表示する(S174)。
【0087】
モニタリング装置10は、閾値の調整がされた場合(S175:YES)、ユーザ1による入力に基づいて閾値を更新し(S176)、処理を終了する。一方、閾値の調整がされない場合(S175:NO)、処理を終了する。
【0088】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。