(57)【要約】【課題】行動認識の精度を向上させることを課題とする。【解決手段】移動体端末は、センサ値を測定する。そして、移動体端末は、測定された所定期間内におけるセンサ値の欠落を検出する。その後、移動体端末は、センサ値の欠落が検出された場合に、ガウス過程を用いて、欠落したセンサ値を補間する。クラウドサーバは、移動体端末から所定期間内のセンサ値を受信する。そして、クラウドサーバは、受信した所定期間内のセンサ値から移動体端末の利用者の行動を認識する。【選択図】図１
2016212066.tif 000002
【特許請求の範囲】
【請求項１】
センサ値を測定する測定部と、
前記測定部によって測定された所定期間内における前記センサ値の欠落を検出する検出部と、
前記検出部によって前記センサ値の欠落が検出された場合に、ガウス過程を用いて、前記欠落したセンサ値を補間する補間部と、
を有することを特徴とする移動体端末。
【請求項２】
前記補間部は、前記センサ値を用いた行動認識で認識される行動の種別に応じたカーネル関数を選択し、選択した前記カーネル関数にしたがったガウス過程を用いて、前記欠落したセンサ値を補間することを特徴とする請求項１に記載の移動体端末。
【請求項３】
予め測定された測定値から前記ガウス過程を用いて分布関数を導出し、導出した前記分布関数から前記測定値のパラメータを算出する算出部をさらに有し、
前記補間部は、前記算出部によって算出されたパラメータにしたがったガウス分布を用いて、前記欠落したセンサ値を補間することを特徴とする請求項１に記載の移動体端末。
【請求項４】
前記算出部は、前記移動体端末のユーザに対応付けられる前記測定値から分布関数を導出し、導出した分布関数から前記パラメータを算出し、
前記補間部は、前記ユーザに対応付けられる前記パラメータにしたがったガウス分布を用いて、前記欠落したセンサ値を補間することを特徴とする請求項３に記載の移動体端末。
【請求項５】
前記算出部は、前記センサ値を用いて実行される行動認識の対象となる各行動に対応付けられる各測定値から、前記各行動に対して各分布関数を導出し、導出した各分布関数から、前記各行動に対応付けられる測定値ごとにパラメータを算出し、
前記補間部は、認識対象である行動に対応付けられる前記パラメータにしたがったガウス分布を用いて、前記欠落したセンサ値を補間することを特徴とする請求項３に記載の移動体端末。
【請求項６】
コンピュータが
センサ値を測定し、
測定された所定期間内における前記センサ値の欠落を検出し、
前記センサ値の欠落が検出された場合に、ガウス過程を用いて、前記欠落したセンサ値を補間する、
処理を含むことを特徴とするセンサ値補間方法。
【請求項７】
コンピュータに
センサ値を測定し、
測定された所定期間内における前記センサ値の欠落を検出し、
前記センサ値の欠落が検出された場合に、ガウス過程を用いて、前記欠落したセンサ値を補間する、
処理を実行させることを特徴とするセンサ値補間プログラム。
【請求項８】
移動体端末が測定したセンサ値を取得する取得部と、
前記取得部によって取得された所定期間内における前記センサ値の欠落を検出する検出部と、
前記検出部によって前記センサ値の欠落が検出された場合に、ガウス過程を用いて、前記欠落したセンサ値を補間する補間部と、
補間された前記センサ値を含む前記所定期間内の前記センサ値を用いて、前記移動体端末の利用者の行動を認識する認識部と
を有することを特徴とする行動認識装置。
【請求項９】
移動体端末とサーバ装置を有する行動認識システムにおいて、
前記移動体端末は、
センサ値を測定する測定部と、
前記測定部によって測定された所定期間内における前記センサ値の欠落を検出する検出部と、
前記検出部によって前記センサ値の欠落が検出された場合に、ガウス過程を用いて、前記欠落したセンサ値を補間する補間部と、
前記補間部によって補間された前記所定期間内の前記センサ値を前記サーバ装置に送信する送信部と、を有し、
前記サーバ装置は、
前記移動体端末から受信した前記所定期間内の前記センサ値を用いて、前記移動体端末の利用者の行動を認識する認識部
を有することを特徴とする行動認識システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体端末、センサ値補間方法、センサ値補間プログラム、行動認識装置および行動認識システムに関する。
【背景技術】
【０００２】
近年、加速度センサなどのセンサを搭載したスマートフォンなどの移動体端末が普及し、センサ値を用いたサービスが提供されている。例えば、移動体端末が、加速度センサを用いて加速度データを連続して取得し、移動体端末やクラウドサーバなどが、取得される加速度データを学習して行動認識を実行する。このように、移動体端末が測定した加速度データは、移動体端末のユーザの生活行動などの認識に利用される。
【０００３】
一方で、人間の動きに伴う加速度データを正確に測定することは困難であり、データが欠落する期間が発生する。また、欠落の頻度や欠落する時間の長さも状況によって変化する。このような欠落データの補間として線形補間が利用されている。例えば、２００Ｈｚのサンプリング精度で加速度データを取得したとして、データ欠落によってデータ数が１秒間に２００サンプルに満たなかった場合に、１秒間のサンプル数が２００になるように、線形補間によってデータを補間する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１０８７４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記技術では、欠落データの補間精度が高くなく、行動認識の精度も劣化する。例えば、線形補間は、欠落期間の両端のデータを直線的に結んで欠落データを補間する。このため、欠落期間に本来存在したであろうデータを精度よく再現することができず、例えば加速度などの連続データとしての特徴が失われてしまう。したがって、線形補間されたデータを用いて行動認識を実行した場合、誤認識などが発生する。
【０００６】
１つの側面では、行動認識の精度を向上させることができる移動体端末、センサ値補間方法、センサ値補間プログラム、行動認識装置および行動認識システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の案では、移動体端末は、センサ値を測定する測定部と、前記測定部によって測定された所定期間内における前記センサ値の欠落を検出する検出部と、を有する。移動体端末は、前記検出部によって前記センサ値の欠落が検出された場合に、ガウス過程を用いて、前記欠落したセンサ値を補間する補間部を有する。
【発明の効果】
【０００８】
一実施形態によれば、行動認識の精度を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１に係るシステムの機能構成を示す機能ブロック図である。
【図２】図２は、センサＤＢに記憶される加速度データの例を示す図である。
【図３】図３は、欠落期間の検出を説明する図である。
【図４】図４は、欠落期間の補間を説明する図である。
【図５】図５は、学習処理の流れを示すフローチャートである。
【図６】図６は、補間処理の流れを示すフローチャートである。
【図７】図７は、補間の比較例を説明する図である。
【図８】図８は、実施例２に係る学習処理の流れを示すシーケンス図である。
【図９】図９は、実施例３に係る学習処理の流れを示すシーケンス図である。
【図１０】図１０は、ハードウェア構成例を説明する図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示する移動体端末、センサ値補間方法、センサ値補間プログラム、行動認識装置および行動認識システムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で、適宜組み合わせることができる。
【実施例１】
【００１１】
［全体構成］
実施例１に係る行動認識システムは、移動体端末１０とクラウドサーバ５０を有し、これらは、無線通信や有線通信などを用いて相互に通信可能に接続される。なお、以下の実施例では、一例として、１台の移動体端末１０と１台のクラウドサーバ５０を例にして説明するが、これに限定されるものではなく、台数等は任意に変更することができる。
【００１２】
移動体端末１０は、スマートフォンや携帯電話などの一例であり、加速度センサ、ジャイロセンサ、地磁気センサ、気圧センサなどの各種センサを有する。そして、移動体端末１０は、測定したセンサ値をクラウドサーバ５０に送信する。以下の実施例では、一例として加速度センサを用いた例を説明する。
【００１３】
クラウドサーバ５０は、行動認識を実行するコンピュータであり、例えばサーバ装置の一例である。クラウドサーバ５０は、移動体端末１０からセンサ値を受信し、受信したセンサ値を用いて、移動体端末１０のユーザの行動認識を実行する。例えば、クラウドサーバ５０は、ユーザが走っている、歩いている、料理をしている、掃除をしているなどの行動を認識する。
【００１４】
このようなシステムにおいて、移動体端末１０は、センサ値を測定し、測定された所定期間内におけるセンサ値の欠落を検出する。そして、移動体端末１０は、センサ値の欠落が検出された場合に、ガウス過程を用いて、欠落したセンサ値を補間する。また、クラウドサーバ５０は、移動体端末１０から受信した所定期間内のセンサ値を用いて、移動体端末１０の利用者の行動を認識する。
【００１５】
例えば、移動体端末１０が、測定した加速度データに欠落期間がある場合、ガウス過程を用いて欠落期間の加速度データを補間することで、クラウドサーバ５０が補間済みの加速度データによる行動認識を実行できる。この結果、移動体端末１０は、クラウドサーバ５０による行動認識の精度を向上させることができる。
【００１６】
［機能構成］
次に、図１を用いて、各装置の機能構成を説明する。図１は、実施例１に係るシステムの機能構成を示す機能ブロック図である。
【００１７】
（移動体端末の機能構成）
図１に示すように、移動体端末１０は、通信部１１、記憶部１２、制御部１５を有する。記憶部１２は、例えばハードディスクやメモリなどの記憶装置の一例である。制御部１５は、例えばＣＰＵ（Central  Processing  Unit）やＤＳＰ（Digital  Signal  Processor）などのプロセッサの一例である。
【００１８】
通信部１１は、他の装置との通信を実行する処理部である。例えば、通信部１１は、クラウドサーバ５０に加速度センサが測定した加速度データを送信する。また、通信部１１は、クラウドサーバ５０から、加速度データの補間に使用するパラメータや行動認識結果などの各種情報を受信する。
【００１９】
記憶部１２は、記憶装置の一例であり、センサＤＢ１２ａとパラメータＤＢ１２ｂを記憶する。センサＤＢ１２ａは、加速度センサが測定した加速度データを記憶するデータベースである。図２は、センサＤＢ１２ａに記憶される加速度データの例を示す図である。図２に示すように、センサＤＢ１２ａは、「時刻ｎ、Ｘ軸加速度、Ｙ軸加速度、Ｚ軸加速度」を対応付けて記憶する。時刻ｎは、加速度データが測定された時刻であり、Ｘ軸加速度は、当該時刻におけるＸ軸方向の加速度データであり、Ｙ軸加速度は、当該時刻におけるＹ軸方向の加速度データであり、Ｚ軸加速度は、当該時刻におけるＺ軸方向の加速度データである。図２の例では、時間１において、Ｘ軸データ、Ｙ軸データ、Ｚ軸データの加速度データが測定されたことを示す。
【００２０】
パラメータＤＢ１２ｂは、補間処理に使用されるパラメータを記憶するデータベースである。例えば、パラメータＤＢ１２ｂは、ガウス分布を表現できるパラメータとして、加速度データの平均（μ）および加速度データの分散（σ２）などを記憶する。また、パラメータＤＢ１２ｂは、これら以外にも、例えば平均（μ）や分散（σ２）の学習時に学習されるカーネル関数のハイパーパラメータや対数尤度関数のパラメータなどを記憶することもできる。なお、ここで例示した各パラメータは、クラウドサーバ５０から受信する。
【００２１】
制御部１５は、移動体端末１０全体の処理を司る処理部であり、測定部１６、欠落検出部１７、補間部１８、送信部１９を有する。なお、測定部１６、欠落検出部１７、補間部１８、送信部１９は、例えばプロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【００２２】
測定部１６は、図示しない加速度センサを用いて加速度データを測定する処理部である。具体的には、測定部１６は、加速度センサが測定した加速度データを随時取得し、センサＤＢ１２ａに格納する。なお、加速度センサは、Ｘ軸方向の加速度データ、Ｙ軸方向の加速度データ、Ｚ軸方向の加速度データを測定する。
【００２３】
欠落検出部１７は、測定部１６によって測定された所定期間内における加速度データの欠落を検出する処理部である。具体的には、欠落検出部１７は、センサＤＢ１２ａに記憶される加速度データをサンプリング期間ごとに読み出し、読み出した加速度データが欠落しているか否かを検出する。
【００２４】
図３は、欠落期間の検出を説明する図である。図３に示すように、欠落検出部１７は、１秒間に測定された加速度データをセンサＤＢ１２ａから読み出し、読み出した加速度データが２００サンプル未満の場合に、欠落データの存在を検出する。なお、ここで例示したサンプリング期間やサンプル数は、一例であり、任意に設定変更することができる。
【００２５】
補間部１８は、欠落検出部１７によって加速度データの欠落が検出された場合に、ガウス過程を用いて、欠落した加速度データを補間する処理部である。具体的には、補間部１８は、時間とともに変化する確率変数であるガウス過程を用いて、欠落期間の周辺のデータを考慮した補間を実行する。ガウス過程を用いることにより、欠落期間内の分布を高信頼度でモデル化することができる。
【００２６】
図４は、欠落期間の補間を説明する図である。図４に示すように、補間部１８は、パラメータＤＢ１２ｂに記憶される平均（μ）と分散（σ２）とを用いてガウス分布を導出する（図４のＡ）。そして、補間部１８は、欠落期間の加速度データを、ガウス分布にしたがって補間する。その後、補間部１８は、欠落期間が補間された、サンプリング期間の加速度データを送信部１９に出力したり、記憶部１２に格納したりする。
【００２７】
例えば、補間部１８は、ガウス分布にしたがって、欠落した直前の加速度データから次の加速度データ、すなわち欠落した加速度データを予測し、予測した加速度データで補間する。このように、補間部１８は、欠落した加速度データを直前の加速度データやガウス分布などを用いて予測して、欠落期間の加速度データを補間することで、曲線近似による補間を実現する。
【００２８】
送信部１９は、補間部１８によって補間された加速度データをクラウドサーバ５０に送信する処理部である。例えば、送信部１９は、欠落期間が補間された、サンプリング期間の加速度データを補間部１８から受信して、クラウドサーバ５０に送信する。また、送信部１９は、移動体端末１０の識別子を含めて送信することもできる。
【００２９】
［クラウドサーバの機能構成］
図１に示すように、クラウドサーバ５０は、通信部５１、記憶部５２、制御部５５を有する。記憶部５２は、例えばハードディスクやメモリなどの記憶装置の一例である。制御部５５は、例えばＣＰＵやＭＰＵ（Micro  Processor  Unit）などのプロセッサの一例である。
【００３０】
通信部５１は、他の装置との通信を実行する処理部である。例えば、通信部５１は、移動体端末１０から補間済みの加速度データを受信する。また、通信部５１は、加速度データの補間に使用するパラメータや行動認識結果などの各種情報を、移動体端末１０に送信する。
【００３１】
記憶部５２は、記憶装置の一例であり、パラメータＤＢ５２ａ、測定結果ＤＢ５２ｂ、認識結果ＤＢ５２ｃを記憶する。また、記憶部５２は、初期学習に利用される加速度データ、つまり教師データを記憶する。
【００３２】
パラメータＤＢ５２ａは、移動体端末１０が補間に使用するパラメータを記憶するデータベースである。例えば、パラメータＤＢ５２ａは、加速度データの平均（μ）および加速度データの分散（σ２）などを記憶する。また、パラメータＤＢ５２ａは、カーネル関数のハイパーパラメータや対数尤度関数のパラメータなどを記憶する。
【００３３】
なお、パラメータＤＢ５２ａは、移動体端末１０に識別子を付与し、各パラメータを識別子に対応付けて保持することで、移動体端末１０ごとにパラメータを記憶することもできる。
【００３４】
測定結果ＤＢ５２ｂは、移動体端末１０から受信した加速度データを記憶するデータベースである。つまり、測定結果ＤＢ５２ｂは、サンプリング期間内に測定された加速度データであって、移動体端末１０によって欠落期間内の欠落データが補間された加速度データを記憶する。なお、測定結果ＤＢ５２ｂは、移動体端末１０ごとに測定結果を記憶することもできる。
【００３５】
認識結果ＤＢ５２ｃは、行動認識の結果を記憶するデータベースである。例えば、認識結果ＤＢ５２ｃは、認識された時刻、移動体端末１０を識別する識別子、認識結果、認識に使用された加速度データ群または当該加速度データ群を特定する識別子などを対応付けて記憶する。
【００３６】
このような対応付けによって、各移動体端末１０のユーザが、どの時間帯にどのような行動をしていたかを特定することができる。また、加速度データとユーザの対応付け、ユーザと行動の対応付け、行動と加速度データの対応付け、ユーザと行動と加速度データの対応付けなどを行うことができる。
【００３７】
制御部５５は、クラウドサーバ５０全体の処理を司る処理部であり、受信部５６、特徴量算出部５７、行動認識部５８、学習部５９を有する。なお、受信部５６、特徴量算出部５７、行動認識部５８、学習部５９は、例えばプロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【００３８】
受信部５６は、移動体端末１０から加速度データを受信する処理部である。例えば、受信部５６は、移動体端末１０から補間された加速度データ群を受信して、測定結果ＤＢ５２ｂに格納する。このとき、受信部５６は、加速度データ群とともに、移動体端末１０を識別する識別子を受信した場合、識別子と加速度データ群とを対応付けて、測定結果ＤＢ５２ｂに格納する。
【００３９】
特徴量算出部５７は、受信部５６によって受信された加速度データ群から特徴量を算出する処理部である。具体的には、特徴量算出部５７は、行動認識を実行する指示を受け付けると、該当するユーザの加速度データを測定結果ＤＢ５２ｂから取得する。そして、特徴量算出部５７は、取得した加速度データに対して周波数解析などの一般的な特徴量算出処理を実行して、加速度データから特徴量を算出する。そして、特徴量算出部５７は、算出した特徴量を行動認識部５８に出力する。
【００４０】
例えば、特徴量算出部５７は、加速度データの最大値と最小値の差、加速度データの分散値、加速度データの平均値、加速度データの最大振幅などを算出する。なお、特徴量の算出には公知の様々な手法を採用することができる。例えば、特徴量算出部５７は、受信した加速度データの分布と、各行動に対応付けられる各分布とを比較して、受信した加速度データがどの行動の特徴を有するかを判定することもできる。
【００４１】
行動認識部５８は、特徴量算出部５７によって算出された特徴量にしたがって、移動体端末１０のユーザの行動を特定する処理部である。例えば、行動認識部５８は、各行動と特徴量とを対応付けた情報を記憶部５２等に保持する。そして、行動認識部５８は、特徴量算出部５７から受信した特徴量に対応する行動を、当該情報から特定する。
【００４２】
このようにして、行動認識部５８は、加速度データの特徴量から行動を特定する。その後、行動認識部５８は、ユーザを識別する識別子や加速度データを識別する識別子などと、特定した行動とを対応付けて認識結果ＤＢ５２ｃに格納する。また、行動認識部５８は、認識結果を移動体端末１０に送信することもできる。なお、ここで示した行動認識の手法は、あくまで一例であり、公知の様々な手法を採用することができる。
【００４３】
例えば、行動認識部５８は、混合ガウスモデル（GMM：Gaussian  Mixture  Model）を用いて、行動認識を実行することもできる。具体的には、行動認識部５８は、モデル学習用の加速度データから行動パターンごとにガウス分布のパラメータである重み「ｗ」、平均ベクトル「μ」、分散共分散行列「Σ」を推定する。その際、行動認識部５８は、いくつのガウス分布で行動をモデル化するかを設定した上で行う。
【００４４】
そして、行動認識部５８は、認識時の加速度データがどの行動パターンに属するものかを識別する際、学習されたガウス分布と認識時の加速度データの特徴量との対数尤度を式（１）および式（２）のように計算し、最も対数尤度が高かった行動パターンに識別する。ここで、「ｉ」は行動パターンの番号、「ｊ」はガウス分布の番号、「Ｍ」はガウス分布数、「ｘ」は認識時の加速度データの特徴量、「λ」は行動パターンのモデル、「ｄ」は特徴量の次元数、「ｗ」はガウス分布の重み、「μ」はガウス分布の平均ベクトル、「Σ」はガウス分布の分散共分散行列を表している。
【００４５】
【数１】
2016212066.tif 000003
【数２】
2016212066.tif 000004
【００４６】
学習部５９は、移動体端末１０が補間に使用するパラメータを学習する処理部である。また、学習部５９は、学習した各種パラメータを、移動体端末１０を識別する識別子などと対応付けてパラメータＤＢ５２ａに格納する。
【００４７】
（学習処理の説明）
ここで、学習処理について具体的に説明する。学習部５９は、ガウス過程に使用するカーネル関数のハイパーパラメータおよび対数尤度関数のパラメータを学習することで、平均（μ）や分散（σ２）を学習する。具体的には、学習部５９は、カーネル関数のハイパーパラメータと対数尤度関数のパラメータを初期値に設定し、加速度データを対数尤度関数に代入して値を求める。そして、学習部５９は、算出した値が上昇しているならば、各パラメータを更新し、算出した値が上昇していないならば、その時のパラメータを学習値に設定する。
【００４８】
ここで、図５および各式を用いて具体的に説明する。図５は、学習処理の流れを示すフローチャートである。図５に示すように、学習部５９は、学習処理を開始すると、加速度データを確認し（Ｓ１０１）、確認された加速度データに対応するカーネル関数を選択する（Ｓ１０２）。
【００４９】
ここで、カーネル関数の例を示す。式（３）は、ガウスカーネルであり、式（４）は、指数カーネルである。例えば、式（３）のｘおよびｘ´は入力値であり、任意の時刻（フレーム）に観測された加速度データを示し、観測された異なる時刻の加速度データをそれぞれ表す。また、νおよびｒがハイパーパラメータである。また、式（４）のｘおよびｘ´は式（３）と同様であり、ｘTは上記ｘの加速度データがベクトルになり、これを横に並べた横ベクトル（いわゆる、ベクトルの転置）を表す。また、θ０、θ１、θ２、θ３がハイパーパラメータである。
【００５０】
【数３】
2016212066.tif 000005
【数４】
2016212066.tif 000006
【００５１】
続いて、学習部５９は、カーネル関数のハイパーパラメータに初期値を設定し（Ｓ１０３）、対数尤度関数のパラメータに初期値を設定する（Ｓ１０４）。ここで式（５）は、対数尤度関数の例である。式（５）のｙが推定する値であり、Ｘが測定された加速度データであり、θが平均値や分散値であり、σがパラメータである。
【００５２】
【数５】
2016212066.tif 000007
【００５３】
その後、学習部５９は、Ｘ軸の加速度データと時間を記憶部５２から抽出し（Ｓ１０５）、対数尤度関数に代入して値を計算する（Ｓ１０６）。そして、学習部５９は、対数尤度関数の値が前回算出した値よりも上昇している場合（Ｓ１０７：Ｙｅｓ）、カーネル関数のハイパーパラメータを勾配法により更新し（Ｓ１０８）、対数尤度関数のパラメータを勾配法により更新する（Ｓ１０９）。その後、学習部５９は、Ｓ１０６以降を繰り返す。なお、学習部５９は、対数尤度関数の値が前回算出した値よりも上昇していない場合（Ｓ１０７：Ｎｏ）、学習を終了する。
【００５４】
同様に、学習部５９は、Ｙ軸の加速度データと時間を記憶部５２から抽出し（Ｓ１１０）、対数尤度関数に代入して値を計算する（Ｓ１１１）。そして、学習部５９は、対数尤度関数の値が前回算出した値よりも上昇している場合（Ｓ１１２：Ｙｅｓ）、カーネル関数のハイパーパラメータを勾配法により更新し（Ｓ１１３）、対数尤度関数のパラメータを勾配法により更新する（Ｓ１１４）。その後、学習部５９は、Ｓ１１１以降を繰り返す。なお、学習部５９は、対数尤度関数の値が前回算出した値よりも上昇していない場合（Ｓ１１２：Ｎｏ）、学習を終了する。
【００５５】
同様に、学習部５９は、Ｚ軸の加速度データと時間を記憶部５２から抽出し（Ｓ１１５）、対数尤度関数に代入して値を計算する（Ｓ１１６）。そして、学習部５９は、対数尤度関数の値が前回算出した値よりも上昇している場合（Ｓ１１７：Ｙｅｓ）、カーネル関数のハイパーパラメータを勾配法により更新し（Ｓ１１８）、対数尤度関数のパラメータを勾配法により更新する（Ｓ１１９）。その後、学習部５９は、Ｓ１１６以降を繰り返す。なお、学習部５９は、対数尤度関数の値が前回算出した値よりも上昇していない場合（Ｓ１１７：Ｎｏ）、学習を終了する。
【００５６】
［補間処理の流れ］
次に、補間処理について説明する。図６は、補間処理の流れを示すフローチャートである。なお、図６で説明する欠落の検出は一例である。
【００５７】
図６に示すように、補間部１８は、補間処理を開始すると、１つ前の時間部分との時間差を確認し（Ｓ２０１）、サンプリング間隔より長いか否かを判定する（Ｓ２０２）。
【００５８】
そして、補間部１８は、サンプリング間隔よりも長い場合（Ｓ２０２：Ｙｅｓ）、ガウス過程による補間を実施し（Ｓ２０３）、補間したデータでサンプリング間隔の加速度データを更新する（Ｓ２０４）。
【００５９】
その後、補間部１８は、次の時間の加速度データを処理対象にし（Ｓ２０５）、最終データであれば（Ｓ２０６：Ｙｅｓ）、処理を終了する。一方、補間部１８は、最終データではなく未処理のデータが残っている場合（Ｓ２０６：Ｎｏ）、次の時間の加速度データについてＳ２０１以降を実行する。
【００６０】
また、Ｓ２０２において、補間部１８は、サンプリング間隔よりも短い場合（Ｓ２０２：Ｎｏ）、Ｓ２０５以降を実行する。
【００６１】
ここで、補間処理を詳細に説明する。一般的に、入力変数ｘに対する出力変数ｙがガウス過程に従うとき、出力変数全体からなるベクトルｙは以下の多次元ガウス分布で表される（式（６））。
【００６２】
【数６】
2016212066.tif 000008
【００６３】
ここで、Ｋは、Ｋｉ，ｊ＝ｋ（ｘｉ，ｘｊ）を要素にもつグラム行列、ｋ（ｘｉ，ｘｊ）は２変数間の相関を表すカーネル関数である。βは出力変数ｙのノイズの精度を表すハイパーパラメータである。
【００６４】
そして、補間部１８は、Ｘ，Ｙ，Ｚ軸の加速度データをそれぞれ個別にガウス過程による補間処理を実行する。あらかじめ指定したサンプリングレイトで観測された加速度データの学習データ（データの欠落を含む）をｙ、ｙが観測されたフレームの時間をｘ、補間したいフレームの時間をｘ＊、補間したいフレームの加速度データをｙ＊で表すと、学習データ集合の加速度データｙと補間したいフレームの加速度データｙ＊の同時分布は、式（７）で表される。
【００６５】
【数７】
2016212066.tif 000009
【００６６】
このとき、補間したいフレームの加速度データｙ＊の予測分布は、式（８）および式（９）に示すような平均μ＊と共分散σ＊をもつガウス分布で表される。
【００６７】
【数８】
2016212066.tif 000010
【数９】
2016212066.tif 000011
【００６８】
そして、補間部１８は、補間したい加速度データのフレームに対して直前までのフレームの加速度データを用いて、上記の予測分布により加速度データの補間を行う。
【００６９】
［効果］
このように、行動認識システムは、信頼性の高いガウス過程を用いたデータ補間を行うことにより、自然界の事象が基本的にガウス分布に従うという普遍的な原理を取り入れることができる。また、線形補間と異なり、ガウス過程を用いると欠落期間の周辺のデータも考慮して欠落期間内の分布を高信頼度でモデル化できる。したがって、従来例のように、補間有無により重み付けを変更するような処理を追加せずとも、行動認識装置の認識率を上げることができる。
【００７０】
図７は、補間の比較例を説明する図である。図７上図に示すように、線形補間を用いた場合、計測されたフレーム間の加速度データに対して直線近似を行い、平均値としての補間しか実施できない。これに対してガウス過程では、計測された加速度データから予測分布を学習することで曲線近似が可能となり、補間したいフレームの時間を設定し、その時間の加速度データを補間することができる。また、この予測分布の分散により補間された値の信頼度も把握することができる。なお、図７の○は、測定された加速度データを示し、□は、補間された加速度データを示す。
【実施例２】
【００７１】
実施例１では、行動認識システムのクラウドサーバ５０が、補間に使用するパラメータを学習する例を説明したが、パラメータの学習に使用する教師データも学習することで、パラメータの精度を向上させることができる。
【００７２】
図８は、実施例２に係る学習処理の流れを示すシーケンス図である。図８に示すように、クラウドサーバ５０の学習部５９は、予め用意された汎用的な教師データ（加速度データ）を取得し（Ｓ３０１）、当該教師データを用いたパラメータを学習し（Ｓ３０２）、学習したパラメータを移動体端末１０に通知する（Ｓ３０３とＳ３０４）。
【００７３】
移動体端末１０の測定部１６は、受信したパラメータをパラメータＤＢ１２ｂに格納して、パラメータを保持する（Ｓ３０５）。その後、測定部１６が、加速度データを測定し（Ｓ３０６）、補間部１８が、パラメータを用いて、検出された欠落データを補間する（Ｓ３０７）。そして、送信部１９は、補間済みの加速度データをクラウドサーバ５０に送信する（Ｓ３０８とＳ３０９）。
【００７４】
続いて、クラウドサーバ５０の特徴量算出部５７や行動認識部５８は、受信した補間済みの加速度データを用いて、行動認識を実行し、ユーザの行動を認識する（Ｓ３１０）。その後、学習部５９は、補間済みの加速度データ、または、行動認識で認識された行動に対応する教師データで、学習対象の教師データを更新する（Ｓ３１１）。
【００７５】
そして、学習部５９は、更新した教師データでパラメータを学習し（Ｓ３１２）、学習したパラメータを、移動体端末１０に通知する（Ｓ３１３とＳ３１４）。
【００７６】
このようにすることで、行動認識結果や補間済みの加速度データから教師データを学習することができるので、パラメータについても、ユーザの行動や加速度データに追従して学習することができる。
【実施例３】
【００７７】
図１に示した行動認識システムのクラウドサーバ５０は、認識対象の行動ごとにパラメータを学習することで、パラメータの精度を向上させることができる。
【００７８】
図９は、実施例３に係る学習処理の流れを示すシーケンス図である。図９に示すように、クラウドサーバ５０の学習部５９は、予め用意された行動ごとの教師データ（加速度データ）を保持し（Ｓ４０１）、各教師データを取得する（Ｓ４０２）。例えば、学習部５９は、記憶部５２等から教師データを読み出す。そして、学習部５９は、行動ごとの教師データを用いて、行動ごとにパラメータを学習する（Ｓ４０３）。
【００７９】
そして、移動体端末１０は、ユーザ等によって指定された、認識対象の行動種別をクラウドサーバ５０に通知する（Ｓ４０４とＳ４０５）。この通知を受信したクラウドサーバ５０の学習部５９は、通知された行動の種別に対応するパラメータを移動体端末１０に通知する（Ｓ４０６とＳ４０７）。
【００８０】
移動体端末１０の測定部１６は、受信したパラメータをパラメータＤＢ１２ｂに格納して、パラメータを保持する（Ｓ４０８）。その後、測定部１６が、加速度データを測定し（Ｓ４０９）、補間部１８が、パラメータを用いて、検出された欠落データを補間する（Ｓ４１０）。そして、送信部１９は、補間済みの加速度データをクラウドサーバ５０に送信する（Ｓ４１１とＳ４１２）。
【００８１】
続いて、クラウドサーバ５０の特徴量算出部５７や行動認識部５８は、受信した補間済みの加速度データを用いて、行動認識を実行し、ユーザの行動を認識する（Ｓ４１３）。その後、学習部５９は、補間済みの加速度データ等で、学習対象の教師データを更新する（Ｓ４１４）。
【００８２】
そして、学習部５９は、更新した教師データでパラメータを学習し（Ｓ４１５）、学習したパラメータを、移動体端末１０に通知する（Ｓ４１６とＳ４１７）。
【００８３】
このようにすることで、行動ごとに教師データやパラメータを学習することができるので、汎用的な教師データを用いて学習する場合に比べて、パラメータの精度を向上させることができる。
【実施例４】
【００８４】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【００８５】
［個人ごとに学習］
実施例３では、行動ごとのパラメータを学習する例を説明したが、これに限定されるものではなく、例えば個人ごとに教師データを用意し、個人ごとにパラメータを学習することもできる。具体的には、クラウドサーバ５０は、ユーザＩＤごとに教師データを用意し、移動体端末１０からユーザＩＤを受信する。そして、クラウドサーバ５０は、受信したユーザＩＤに対応する教師データを用いてパラメータを学習して、移動体端末１０に通知することもできる。また、クラウドサーバ５０は、ユーザＩＤ、行動種別、教師データを対応付けて管理することで、各ユーザの行動ごとにパラメータを学習することもできる。
【００８６】
［機能の分担・統合］
実施例１では、移動体端末１０は加速度データを補間し、クラウドサーバ５０が行動認識を実行する例について説明したが、これに限定されるものではない。例えば、移動体端末１０が、加速度データの測定、補間、行動認識、学習を実行し、行動認識結果をクラウドサーバ５０に送信することもできる。また、移動体端末１０が、加速度データを測定してクラウドサーバ５０に送信し、クラウドサーバ５０は、加速度データの補間と行動認識を実行することもできる。このように、任意に処理を分散および統合することができる。
【００８７】
［システム］
また、図示した装置の各構成は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、任意の単位で分散または統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８８】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００８９】
［ハードウェア構成］
図１０は、ハードウェア構成例を説明する図である。図１０に示すように、移動体端末１０は、無線部１０ａ、オーディオ入出力部１０ｂ、記憶部１０ｃ、表示部１０ｄ、加速度センサ１０ｅ、プロセッサ１０ｆ、メモリ１０ｇを有する。なお、ここで示したハードウェアは一例であり、例えば他のセンサなどの他のハードウェアを有していてもよい。
【００９０】
また、ここでは、一例として移動体端末１０のハードウェア構成例について説明する。なお、クラウドサーバ５０は、プロセッサやメモリを有する一般的な物理サーバであってもよく、仮想マシンで実現することもできる。
【００９１】
無線部１０ａは、アンテナを介して無線通信を実行し、例えばメールの送受信や発着信などを実行する。オーディオ入出力部１０ｂは、スピーカから各種音声を出力し、マイクから各種音声を集音する。
【００９２】
記憶部１０ｃは、各種情報を記憶する記憶装置であり、例えばハードディスクやメモリなどである。例えば、記憶部１０ｃは、プロセッサ１０ｆが実行する各種プログラムや各種データを記憶する。表示部１０ｄは、各種情報を表示する表示部であり、例えばタッチパネルのディスプレイなどである。
【００９３】
プロセッサ１０ｆは、移動体端末１０全体の処理を司り、各種アプリケーションを実行する処理部であり、例えばＣＰＵなどである。例えば、プロセッサ１０ｆは、図１等に示した各処理部と同様の処理を実行するプログラムを記憶部１０ｃ等から読み出してメモリ１０ｇ等に展開することで、図１等で説明した各機能を実行するプロセスを動作させる。
【００９４】
すなわち、このプロセスは、移動体端末１０が有する各処理部と同様の機能を実行する。具体的には、プロセッサ１０ｆは、測定部１６、欠落検出部１７、補間部１８、送信部１９と同様の機能を有するプログラムを記憶部１０ｃ等から読み出す。そして、プロセッサ１０ｆは、測定部１６、欠落検出部１７、補間部１８、送信部１９と同様の処理を実行するプロセスを実行する。
【００９５】
このように移動体端末１０は、プログラムを読み出して実行することでセンサ値補間方法を実行する情報処理装置として動作する。なお、この他の実施例でいうプログラムは、移動体端末１０によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【符号の説明】
【００９６】
１０  移動体端末
１１  通信部
１２  記憶部
１２ａ  センサＤＢ
１２ｂ  パラメータＤＢ
１５  制御部
１６  測定部
１７  欠落検出部
１８  補間部
１９  送信部
５０  クラウドサーバ
５１  通信部
５２  記憶部
５２ａ  パラメータＤＢ
５２ｂ  測定結果ＤＢ
５２ｃ  認識結果ＤＢ
５５  制御部
５６  受信部
５７  特徴量算出部
５８  行動認識部
５９  学習部
【図１】
2016212066.tif 000012
【図２】
2016212066.tif 000013
【図３】
2016212066.tif 000014
【図４】
2016212066.tif 000015
【図５】
2016212066.tif 000016
【図６】
2016212066.tif 000017
【図７】
2016212066.tif 000018
【図８】
2016212066.tif 000019
【図９】
2016212066.tif 000020
【図１０】
2016212066.tif 000021