(57)【要約】【課題】ユーザによる食事行動を検知すること。【解決手段】本実施例における検知装置は、対象者の腕の動作を検知可能な第一のセンサから第一のセンシングデータを取得し、対象者の心拍を検知可能な第二のセンサから第二のセンシングデータを取得する。検知装置は、第一のセンシングデータに基づき、前記対象者の前記腕による特定動作が少なくとも２回以上実行された動作区間を設定する。検知装置は、動作区間に対応する前記第二のセンシングデータと、食事時における前記特定動作の単位動作に対応する学習情報とに基づき、前記動作区間の一部を少なくとも含む区間において食事が行われたか否かを判定する。【選択図】図１
2019005232.tif 000002
【特許請求の範囲】
【請求項１】
対象者の腕の動作を検知可能な第一のセンサから第一のセンシングデータを取得し、
前記対象者の心拍を検知可能な第二のセンサから第二のセンシングデータを取得し、
前記第一のセンシングデータに基づき、前記対象者の前記腕による特定動作が少なくとも２回以上実行された動作区間を設定し、
前記動作区間に対応する前記第二のセンシングデータと、食事時における前記特定動作の単位動作に対応する学習情報とに基づき、前記動作区間の一部を少なくとも含む区間において食事が行われたか否かを判定する
処理をコンピュータに実行させる食事検知プログラム。
【請求項２】
前記第一のセンサは慣性センサであって、前記特定動作は、食事中に繰り返される前記腕の前記単位動作であって、前記動作区間は、前記単位動作が少なくとも２回以上繰り返された区間であることを特徴とする請求項１に記載の食事検知プログラム。
【請求項３】
前記学習情報は、食事時の人間の心拍応答の特性を示す食事推定モデルであって、
前記判定する処理は、前記動作区間に対応する前記第二のセンシングデータと、前記学習情報とに基づく類似度が所定の条件を満たす場合に、前記動作区間の一部を少なくとも含む区間において食事が行われたと判定することを特徴とする請求項１又は２に記載の食事検知プログラム。
【請求項４】
前記学習情報は、食事時の人間の心拍応答の特性を示す応答パラメータであって、
前記判定する処理は、前記動作区間に対応する前記第二のセンシングデータと、前記学習情報とに基づく類似度が所定の条件を満たす場合に、前記動作区間の一部を少なくとも含む区間において食事が行われたと判定することを特徴とする請求項１又は２に記載の食事検知プログラム。
【請求項５】
前記応答パラメータは、前記心拍の振幅、心拍の上昇速度及び上昇時間、心拍の下降速度及び下降時間、並びに心拍グラフに占める心拍の上昇から下降までの面積のうち少なくとも一つに関することを特徴とする請求項４に記載の食事検知プログラム。
【請求項６】
前記判定する処理は、前記学習情報である前記応答パラメータが示す波形を累計した時系列データと、前記動作区間に対応する前記第二のセンシングデータとに基づき、行われることを特徴とする請求項４または５に記載の食事検知プログラム。
【請求項７】
前記学習情報は、心拍が通常の状態から所定の状態まで変化するまでの区間である動作開始区間と、心拍が前記所定の状態を持続する動作中区間と、心拍が前記所定の状態から前記通常の状態に戻るまでの区間である動作終了区間とのそれぞれに対応し、
前記判定する処理は、前記動作区間に対応する前記第二のセンシングデータを、前記動作開始区間、前記動作中区間及び前記動作終了区間に分割し、
前記動作開始区間、前記動作中区間及び前記動作終了区間に対応する前記第二のセンシングデータと、前記動作開始区間、前記動作中区間及び前記動作終了区間に対応する前記学習情報とに基づき、行われることを特徴とする請求項１乃至６のいずれか一項に記載の食事検知プログラム。
【請求項８】
前記学習情報は、前記動作区間内の少なくとも一部を含む区間内の前記特定動作の頻度と、前記動作区間内の少なくとも一部を含む区間内の心拍データの増減との関係に関する情報であることを特徴とする請求項１に記載の食事検知プログラム。
【請求項９】
コンピュータが、
対象者の腕の動作を検知可能な第一のセンサから第一のセンシングデータを取得し、
前記対象者の心拍を検知可能な第二のセンサから第二のセンシングデータを取得し、
前記第一のセンシングデータに基づき、前記対象者の前記腕による特定動作が少なくとも２回以上実行された動作区間を設定し、
前記動作区間に対応する前記第二のセンシングデータと、食事時における前記特定動作の単位動作に対応する学習情報とに基づき、前記動作区間の一部を少なくとも含む区間において食事が行われたか否かを判定する
処理を実行することを特徴とする食事検知方法。
【請求項１０】
対象者の腕の動作を検知する第一のセンサと、
前記対象者の心拍を検知する第二のセンサと、
前記第一のセンサ及び前記第二のセンサから取得されたデータを用いて食事を検知する検知装置と、
を有する食事検知システムであって、前記検知装置は、
前記第一のセンサから第一のセンシングデータを取得する第一取得部と、
前記第二のセンサから第二のセンシングデータを取得する第二取得部と、
前記第一のセンシングデータに基づき、前記対象者の前記腕による特定動作が少なくとも２回以上実行された動作区間を設定する動作抽出部と、
前記動作区間に対応する前記第二のセンシングデータと、食事時における前記特定動作の単位動作に対応する学習情報とに基づき、前記動作区間の一部を少なくとも含む区間において食事が行われたか否かを判定する行動検知部と
を有することを特徴とする食事検知システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、食事検知プログラム、食事検知方法及び食事検知システムに関する。
【背景技術】
【０００２】
ユーザの心拍数や腕の動きなどをセンサで検知することにより、ユーザの食行動を判定する技術が知られている。例えば、ユーザの両腕の下腕部に取り付けられる少なくとも相直交する３軸の加速度を加速度センサで検出し、検知されたセンサ信号を、記憶された食行動判定基準に照らし、ユーザの食行動の有無を判定する技術が知られている。
【０００３】
また、心拍数の時系列データを取得し、時系列データに含まれる部分データごとに、食事開始後に心拍数のピークが先行して現れる第１ピークよりも後続して現れる第２ピークに関する特徴量を算出する技術も知られている。当該技術では、部分データごとに算出された第２ピークに関する特徴量を用いて、部分データにおける食事の有無を判定し、食事が有りと判定された部分データから食事時刻を推定する。さらに、心拍数の時系列データから食事終了時に現れる心拍変化の特徴との類似度が指標化された特徴量を算出して、当該特徴量から食事時間を推定する技術も知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１１５５０８号公報
【特許文献２】国際公開第２０１６／０９２７０７号
【特許文献３】国際公開第２０１６／１４３０７４号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば、腕の動作を用いて食事を検出する場合、顔に触れるなどの他の動作や、実際には食事をしていないのに食事をするふりをする動作であっても、食事の動作であると誤検出される場合がある。また、心拍は、気温などの外部環境、及び健康状態や精神状態などの内的要因など、食事以外の要因によっても影響が出るため、心拍だけでは食事の検出精度が十分ではない場合がある。
【０００６】
一つの側面では、ユーザによる食事行動を検知できる食事検知プログラム、食事検知方法及び食事検知システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの態様において、本実施例における検知装置は、対象者の腕の動作を検知可能な第一のセンサから第一のセンシングデータを取得し、対象者の心拍を検知可能な第二のセンサから第二のセンシングデータを取得する。検知装置は、第一のセンシングデータに基づき、前記対象者の前記腕による特定動作が少なくとも２回以上実行された動作区間を設定する。検知装置は、動作区間に対応する前記第二のセンシングデータと、食事時における前記特定動作の単位動作に対応する学習情報とに基づき、前記動作区間の一部を少なくとも含む区間において食事が行われたか否かを判定する。
【発明の効果】
【０００８】
一つの態様によれば、ユーザによる食事行動を検知できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、システム構成の一例を示す図である。
【図２】図２は、心拍と腕動作区間との組み合わせの一例を示す図である。
【図３】図３は、動作と心拍との応答関係の一例を示す図である。
【図４】図４は、特定動作と応答パラメータとの関係の一例を示す図である。
【図５】図５は、実施例１における検知装置の一例を示す図である。
【図６】図６は、実施例１における検知処理の一例を示すフローチャートである。
【図７】図７は、実施例２における動作区間の一例を示す図である。
【図８】図８は、実施例２における複数の特定動作に対応する波形の重ね合わせの一例を示す図である。
【図９】図９は、実施例２における検知装置の一例を示す図である。
【図１０】図１０は、実施例２における検知処理の一例を示すフローチャートである。
【図１１】図１１は、実施例３における教師データの一例を示す図である。
【図１２】図１２は、実施例３における検知装置の一例を示す図である。
【図１３】図１３は、実施例３における学習処理の一例を示すフローチャートである。
【図１４】図１４は、実施例３における検知処理の一例を示すフローチャートである。
【図１５】図１５は、実施例４における相対区間の一例を示す図である。
【図１６】図１６は、実施例４における検知装置の一例を示す図である。
【図１７】図１７は、実施例４における学習処理の一例を示すフローチャートである。
【図１８】図１８は、実施例４における検知処理の一例を示すフローチャートである。
【図１９】図１９は、実施例５における判定時刻の前後の時間帯との検知結果の比較の一例を示す図である。
【図２０】図２０は、実施例５における教師データの一例を示す図である。
【図２１】図２１は、食事検知プログラムを実行するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示する食事検知プログラム、食事検知方法及び食事検知システムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。なお、以下の実施例において、先に説明した図面に示す部位と同一の部位には同一の符号を付し、重複する説明は省略する。
【実施例１】
【００１１】
［システム構成］
本実施例における検知システムについて、図１を用いて説明する。図１は、システム構成の一例を示す図である。図１に示す検知システム１は、動作測定装置１０と、心拍測定装置２０と、検知装置１００と、端末装置２００とを有する。検知装置１００の構成については、後に詳しく説明する。
【００１２】
本実施例において、検知装置１００と端末装置２００、並びに動作測定装置１０及び心拍測定装置２０と端末装置２００とは、無線又は有線のネットワークを通じて通信可能に接続される。かかるネットワークの一態様としては、有線または無線を問わず、携帯電話などの移動体通信、インターネット（Internet）、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）などの任意の種類の通信網を採用できる。なお、図１には、動作測定装置１０及び心拍測定装置２０並びに端末装置２００がそれぞれ１つである場合を図示したが、検知システム１には、複数の動作測定装置１０及び心拍測定装置２０並びに端末装置２００が収容されることとしてもかまわない。
【００１３】
図１に示す動作測定装置１０は、例えばリストバンド型の測定装置であり、対象者の利き腕等に装着される。動作測定装置１０は、例えば相直交する３軸の加速度を検出するモーションセンサ１１を用いて、所定のサンプリング周期で対象者の腕の動きを測定する。動作測定装置１０は、測定した腕の動きに関するデータを、通信Ｉ／Ｆ（Interface）部１３により端末装置２００に送信する。なお、動作測定装置１０は、第一のセンサの一例であり、腕の動きに関するデータは、第一のセンシングデータの一例である。
【００１４】
これによって、動作測定装置１０は、サンプリング点ごとにモーションセンサ１１によりセンシングされる上下左右前後の加速度の時系列データを加速度データとして取得する。かかる加速度データには、一例として、時間及び加速度などの項目が対応付けられたデータを採用できる。ここで言う「時間」は、上記の心拍データと同様、動作測定装置１０上でローカルに管理されるシステム時間、例えば任意の開始時点からの経過時間であってもよいし、年月日時分秒等のカレンダ上の暦で表現される時間であってもかまわない。また、「加速度」には、上下方向、左右方向および前後方向の３軸の加速度を含めることができる。例えば、３軸の加速度のうち一部の方向の加速度に絞って検知装置１００に使用させる場合、検知装置１００で使用されない方向の加速度は加速度データから除去することもできる。
【００１５】
図１に示す心拍測定装置２０は、心拍取得部２１として、ユーザの生体部位、例えば胸、腕、手首などに装着する装着型の心拍センサを採用することができる。例えば光電脈波センサによる脈拍を採用することもできる。心拍測定装置２０は、心拍取得部２１が測定した心拍に関するデータを、通信Ｉ／Ｆ部２３により端末装置２００に送信する。なお、心拍測定装置２０は、第二のセンサの一例であり、心拍に関するデータは、第二のセンシングデータの一例である。
【００１６】
図１に示す端末装置２００は、例えば動作測定装置１０及び心拍測定装置２０を装着する対象者により利用される。なお、端末装置２００は、例えばスマートフォンやタブレット、ノート型コンピュータなどの携帯可能なコンピュータであるが、これに限られず、据置型のコンピュータなどであってもよい。
【００１７】
端末装置２００は、通信Ｉ／Ｆ部２１０を通じて、動作測定装置１０及び心拍測定装置２０から腕の動作に関するデータ及び心拍に関するデータを受信し、検知装置１００に送信する。端末装置２００は、検知装置１００から食事判定結果に関する情報を受信し、表示操作部２２０に表示させる。
【００１８】
図１に示す検知装置１００は、端末装置２００から受信した腕の動作に関するデータ及び心拍に関するデータを用いて、対象者が食事中であるか否かを検知する。検知装置１００は、例えば対象者の腕の動作に関するデータから、後に説明する処理により、食事動作に起因する可能性の高い特定の動作が連続または頻発する区間を抽出する。また、検知装置１００は、後に説明する処理により、抽出した特定の動作の発生時刻の前後における心拍に関するデータを抽出する。そして、検知装置１００は、抽出したデータと学習情報とに基づき、ユーザによる食事行動を検知する。なお、以下において、特定の動作を「特定動作」と表記する場合がある。
【００１９】
図２は、心拍と腕動作区間との組み合わせの一例を示す図である。図２は、食事時に発生する特定動作２１１１に対応する動作区間２１２１と、当該期間における心拍の変化とを、組み合わせてグラフ化された一例を示す。なお、動作区間は、１度の腕の昇降（特定動作）に対応する単位区間を、少なくとも２以上含む。図２に示す縦軸２００１は心拍数を指し、横軸２１０１は経過時刻（時間）を指す。
【００２０】
そして、本実施例における検知装置１００は、腕の動作に心拍の変化を付与したデータが所定の条件を満たす場合に、対象者が食事中であると判定する。なお、以下において、対象者が食事中であると判定することを「食事と判定する」と表記する場合がある。また、以下において、対象者が食事中ではないことを単に「非食事」と表記する場合がある。
【００２１】
ところで、食事中に生じる動作においては、図３に示すように、食事以外の動作とは異なる心拍パターンが現れる場合が多い。図３は、動作と心拍との応答関係の一例を示す図である。図３において、食事中に生じる特定動作２１１１に対応する心拍パターン２１９１は、動作後も心拍が高い状態を持続する。一方、例えば鼻を掻くなどの食事以外の動作２９１１に対応する心拍パターン２９９１は、一時的に心拍が上昇するものの、すぐに安静時の心拍に回復する。これは、食事動作においては、腕の昇降等に伴う心拍の上昇に加えて、食事行為により摂取された摂取物、すなわち食物等に対する食道の蠕動運動や消化器官（胃腸等）内の消化活動に起因して、心拍が上昇するためである。
【００２２】
このように、食事動作に応答する心拍数の変化は、心拍の上昇速度及び上昇時間、心拍の振幅、心拍の下降速度及び下降時間、及び心拍が上昇してから安静時の状態に戻るまでのグラフの面積等のパラメータが、特定のパターンに類似する場合が多い。なお、以下において、食事動作に応答する心拍数の変化のパターンを規定する各パラメータを、「応答パラメータ」と表記する場合がある。また、以下において、「振幅」は、安静時の状態の心拍数と、食事動作に伴い心拍が上昇した状態の心拍数との差分に該当し、「面積」は、食事動作を開始してから心拍が安静時の状態に戻るまでの間の、上昇した心拍数と安静時の状態の心拍数との差分の累計に該当する。また、心拍の「上昇時間」は、心拍が安静時の状態から上昇した状態までに要する時間を示し、心拍の「下降時間」は、心拍が上昇した状態から安静時の状態へ下降するまでに要する時間を示す。
【００２３】
図４は、特定動作と応答パラメータとの関係の一例を示す図である。図４の矢印２２０１は、特定動作２１１１に対応する応答パラメータの振幅の大きさを示す。図４のグラフの傾き２２０２は心拍の上昇速度を示し、矢印２２０３は心拍の上昇時間を示す。同様に、図４のグラフの傾き２２０４は心拍の下降速度を示し、矢印２２０５は心拍の下降時間を示す。また、図４のグラフの面積２２０６は、特定動作に応答して増加した心拍数の累計を示す。
【００２４】
図４に示す応答パラメータ２２０１乃至２２０６は、例えば過去の食事時における、特定の動作に対する心拍の変動の平均値等を用いて算出するが、これに限られない。例えば、１回の特定の動作に対する心拍の変動を用いて算出してもよい。また、機械学習において用いるモデルは、例えば特定の動作に対応する心拍の変動から算出した応答パラメータ２２０１乃至２２０６に、各判定時刻において実際に食事をしていたか否かの情報をさらに紐づけたデータから生成される。なお、機械学習には、例えばディープラーニングやＳＶＭ（Support  Vector  Machine）、決定木やランダムフォレスト、ニアレストネイバーといったアルゴリズムを用いることができる。
【００２５】
本実施例における検知装置１００は、例えば、動作区間に対応する心拍データと食事時の特定動作の単位動作に対応する学習情報に基づき、前記動作区間の一部を少なくとも含む区間  が食事であるか否かを判定する。例えば、動作区間に対応する心拍データは、図２に示す特定動作２１１１に応答する心拍の変動を示す心拍の波形のグラフ２０１１である。例えば、単位動作は、一つ一つの特定動作である。例えば、動作区間の一部を少なくとも含む区間  は動作区間そのものである。例えば、食事時の特定動作の単位動作に対応する学習情報は、図４に示す食事時の応答パラメータ２２０１乃至２２０６である。例えば、検知装置１００は、図２に示す特定動作２１１１に応答する心拍の変動を示す心拍の波形のグラフ２０１１と、図４に示す食事時の応答パラメータ２２０１乃至２２０６とを比較して、類似度を算出する。そして、検知装置１００は、算出した類似度に基づいて、対象者が食事中か否かを判定する。
【００２６】
以上説明したように、本実施例における検知装置は、特定の腕の動作を検出し、動作を含む区間の心拍の波形のグラフと、食事時の心拍の応答特性を示す応答パラメータとを比較して対象者が食事中か否かを判定するので、精度よく食事を検知できる。
【００２７】
［機能ブロック］
次に、本実施例における検知装置１００について、図５を用いて説明する。図５は、実施例１における検知装置の一例を示す図である。図５に示す検知装置１００は、通信Ｉ／Ｆ部１１０と、記憶部１２０と、制御部１３０とを有する。なお、本実施例における検知装置１００は、例えば端末装置２００から処理要求を受け付けるサーバコンピュータ等のコンピュータであるが、これに限られない。検知装置１００は、例えばパーソナルコンピュータ等のスタンドアロン型コンピュータであってもよく、またスマートフォンやタブレット、ノート型コンピュータなどの携帯可能なコンピュータであってもよい。
【００２８】
通信Ｉ／Ｆ部１１０は、有線又は無線を問わず、端末装置２００など、その他のコンピュータ等との通信を制御する。通信Ｉ／Ｆ部１１０は、例えばＮＩＣ（Network  Interface  Card）等の通信インタフェース等である。
【００２９】
記憶部１２０は、例えば制御部１３０が実行するプログラムや、各種データなどを記憶する。また、記憶部１２０は、応答パラメータ１２１を有する。記憶部１２０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。
【００３０】
応答パラメータ１２１は、例えば図４に示すような応答パラメータ２２０１乃至２２０６に対応する数値を記憶する。応答パラメータ１２１に記憶される数値は、例えば通信Ｉ／Ｆ部１１０及び入出力部１３１を通じて、外部のコンピュータから予め取得される。なお、応答パラメータ１２１が、制御部１３０が算出した応答パラメータ２２０１乃至２２０６に対応する数値を記憶するような構成であってもよい。
【００３１】
制御部１３０は、検知装置１００の全体的な処理を司る処理部である。制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。
【００３２】
制御部１３０は、入出力部１３１、特定動作検出部１３２、応答波形算出部１３３、類似度推定部１３４及び行動検知部１３５を有する。なお、入出力部１３１、特定動作検出部１３２、応答波形算出部１３３、類似度推定部１３４及び行動検知部１３５は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【００３３】
入出力部１３１は、通信Ｉ／Ｆ部１１０を通じて、端末装置２００との間において情報の入出力を行う。入出力部１３１は、端末装置２００等のその他のコンピュータから、食事検知処理の開始指示を受け付ける。入出力部１３１は、端末装置２００から、腕の動作に関するデータ及び心拍に関するデータの入力を受け、特定動作検出部１３２及び応答波形算出部１３３に出力する。また、入出力部１３１は、行動検知部１３５による食事判定結果を、端末装置２００等のその他のコンピュータに出力する。なお、入出力部１３１は、第一取得部及び第二取得部の一例である。
【００３４】
特定動作検出部１３２は、入出力部１３１から出力された腕の動作に関するデータを用いて、腕の特定の動作を算出する。特定動作検出部１３２は、例えば特定の動作として腕の回転を検出する場合、判定時刻における過去５秒間の角加速度の積算値が所定以上の場合、特定の動作を検出する。なお、特定動作検出部１３２は、動作抽出部の一例である。
【００３５】
特定動作検出部１３２は、例えば、動作の前後における、所定の時間の幅を有する「窓」を設定し、この窓の幅を満たす期間分の腕の動作に関するデータを取得するまで、入出力部１３１から腕の動作に関するデータの取得を繰り返す。そして、特定動作検出部１３２は、判定時刻を逐次後ろに動かしながら、取得した腕の動作に関するデータを用いて、各判定時刻に対応する窓内の腕の動作が、特定の動作に該当するか否かを判定する。
【００３６】
特定動作検出部１３２は、特定の動作に該当する動作が検出された場合、当該特定の動作が少なくとも２回以上実行された区間を動作区間として設定する。特定動作検出部１３２は、例えば特定の動作の前後数秒間を動作区間として設定する。そして、特定動作検出部１３２は、特定の動作であると判定された動作、並びに当該動作に対応する判定時刻及び動作区間を、応答波形算出部１３３に出力する。なお、以下において、食事かどうかを判定する時刻を「判定時刻」と表記する場合がある。
【００３７】
応答波形算出部１３３は、入出力部１３１から出力された心拍に関するデータを用いて、判定時刻における特定動作に対応する動作区間における、心拍の変動を示す心拍の波形を算出する。応答波形算出部１３３は、算出した心拍の波形を、類似度推定部１３４に出力する。
【００３８】
類似度推定部１３４は、応答波形算出部１３３から取得した心拍の波形が、応答パラメータ１２１に記憶された各応答パラメータに類似するか否かを示す類似度を算出する。例えば、類似度推定部１３４は、応答パラメータ１２１を参照して、例えば図４に示すような応答パラメータが示す波形を生成する。次に、類似度推定部１３４は、生成した応答パラメータが示す波形と、応答波形算出部１３３から取得した心拍の波形との類似度を算出する。類似度推定部１３４は、例えば２つ波形の差の絶対値の平均値を、２つの波形それぞれで算出した最大値−最小値のうち小さい方で割った値を１から引いた値を類似度とする。類似度推定部１３４は、算出した類似度を、行動検知部１３５に出力する。
【００３９】
行動検知部１３５は、類似度を用いて、判定時刻が食事に該当するか否かを判定する。例えば、行動検知部１３５は、類似度推定部１３４から出力された類似度が所定の閾値以上であるか否かを判定し、所定の閾値以上であると判定した場合に、判定時刻が食事に該当すると判定する。行動検知部１３５は、食事判定結果を、例えば入出力部１３１を通じて端末装置２００に出力する。
【００４０】
［処理の流れ］
次に、本実施例における処理について、図６を用いて説明する。図６は、実施例１における検知処理の一例を示すフローチャートである。図６に示すように、検知装置１００の入出力部１３１は、例えば通信Ｉ／Ｆ部１１０を通じて、端末装置２００又はその他のコンピュータから開始指示を受け付けるまで待機する（Ｓ１００：Ｎｏ）。
【００４１】
入出力部１３１は、開始指示を受け付けたと判定した場合（Ｓ１００：Ｙｅｓ）、特定動作及び波形を算出する対象とする判定時刻を設定する（Ｓ１０１）。次に、入出力部１３１は、通信Ｉ／Ｆ部１１０を通じて、端末装置２００から腕の動作に関するセンサデータ及び心拍の変化に関するセンサデータを取得する（Ｓ１０２）。次に、特定動作検出部１３２は、特定動作の検出に必要な量のセンサデータが得られたか否かを判定する（Ｓ１１０）。特定動作検出部１３２は、必要な量のセンサデータが得られていないと判定した場合（Ｓ１１０：Ｎｏ）、Ｓ１０２に戻って処理を繰り返す。
【００４２】
一方、特定動作検出部１３２は、必要な量のセンサデータが得られたと判定した場合（Ｓ１１０：Ｙｅｓ）、センサデータを用いて特定動作を検出する（Ｓ１１１）。次に、特定動作検出部１３２は、検出された特定動作に対応する動作区間を特定し、応答波形算出部１３３に出力する（Ｓ１１２）。応答波形算出部１３３は、動作区間における心拍の波形を算出し、類似度推定部１３４に出力する（Ｓ１１３）。類似度推定部１３４は、応答パラメータ１２１を参照して、動作区間における心拍の波形と、応答パラメータが規定する波形との類似度を算出し、行動検知部１３５に出力する（Ｓ１１４）。
【００４３】
そして、行動検知部１３５は、類似度が一定以上、例えば所定の値以上であるか否かを判定する（Ｓ１４０）。行動検知部１３５は、類似度が所定の値以上であると判定した場合（Ｓ１４０：Ｙｅｓ）、判定時刻を食事であると判定し（Ｓ１４１）、Ｓ１５０へ移行する。一方、行動検知部１３５は、類似度が所定の値未満であると判定した場合（Ｓ１４０：Ｎｏ）、判定時刻を非食事であると判定し（Ｓ１４２）、Ｓ１５０へ移行する。
【００４４】
そして、入出力部１３１は、例えば通信Ｉ／Ｆ部１１０を通じて、端末装置２００又はその他のコンピュータから終了指示を受け付けたか否かを判定する（Ｓ１５０）。入出力部１３１は、終了指示を受け付けていないと判定した場合（Ｓ１５０：Ｎｏ）、判定時刻を進めて（Ｓ１５１）、Ｓ１０２に戻って処理を繰り返す。一方、入出力部１３１は、終了指示を受け付けたと判定した場合（Ｓ１５０：Ｙｅｓ）、処理を終了する。
【００４５】
［効果］
以上説明したように、本実施例における検知装置は、対象者の腕の動作を検知可能な第一のセンサから第一のセンシングデータを取得し、対象者の心拍を検知可能な第二のセンサから第二のセンシングデータを取得する。検知装置は、第一のセンシングデータに基づき、前記対象者の前記腕による特定動作が少なくとも２回以上実行された動作区間を設定する。検知装置は、動作区間に対応する前記第二のセンシングデータと、食事時における前記特定動作の単位動作に対応する学習情報とに基づき、前記動作区間の一部を少なくとも含む区間において食事が行われたか否かを判定する。これにより、腕の動きと心拍の反応との応答関係に基づいて、ユーザによる食事行動を検知できる。また、本実施例における検知装置は、対象者の頸部に集音マイクを装着する構成等と比べると、対象者によるセンサ装着の負担を軽減できる。
【００４６】
また、本実施例における検知装置において、第一のセンサは慣性センサであり、特定動作は、食事中に繰り返される腕の単位動作であり、動作区間は、単位動作が少なくとも２回以上繰り返された区間である。これにより、繰り返し発生する腕の動作と心拍の変化とを組み合わせて食事を検知する際における誤検知を抑制できる。
【実施例２】
【００４７】
ところで、食事は一回の特定動作で終わるとは限らず、複数回の特定動作が継続して発生し、又は短期間に頻発することが多い。特定動作が継続し又は頻発すると、応答する心拍パターンも相互に重複し、単発の応答パラメータと合致しなくなる場合がある。
【００４８】
例えば、食事においては、腕の昇降等の特定動作が、ある程度の時間継続する場合が多い。また、食事においては、複数の特定動作が、例えば数分間のうちに頻発する場合が多い。図７は、実施例２における動作区間の一例を示す図である。図７において、特定動作２１１１乃至２１１３の各特定動作は、互いに２分以上の間隔を空けることなく、継続して発生している。一方、特定動作２１１４は、特定動作２１１３から２分以上の間隔の後に発生している。
【００４９】
このような場合において、本実施例においては、特定動作２１１１乃至２１１３の期間が動作区間２１２１として特定される。動作区間２１２１のように、所定の期間において特定動作が継続し又は頻発するような場合、各特定動作に応答する心拍の変動が重なりあうことで、単発での動作とは心拍の変動が異なる場合がある。図８は、実施例２における複数の特定動作に対応する波形の重ね合わせの一例を示す図である。図８において、波形２３２１乃至２３２５は、それぞれ特定動作２３１１乃至２３１５に対応する応答パラメータを示す。かかる波形２３２１乃至２３２５を重ね合わせると、グラフ２３３３に示すような波形となる。なお、以下において、特定動作に対応する応答パラメータが示す波形（応答波形）を重ね合わせた波形を、「重ね合わせ波形」と表記する場合がある。また、重ね合わせ波形は、例えば以下のような式（１）により算出される。
【００５０】
【数１】
2019005232.tif 000003
【００５１】
式（１）において、Ｆ（ｔ）は波形２３２１乃至２３２５に示すような応答波形を示し、τは特定動作２３１１乃至２３１５の時間差を示す。なお、式（１）により算出される重ね合わせ波形は、応答パラメータが示す波形を累計した時系列データの一例である。本実施例においては、特定動作が連発し又は頻発する場合において、グラフ２３３３のような各特定動作に対応する応答波形を重ね合わせた波形を用いて、食事を検知する構成について説明する。
【００５２】
［機能ブロック］
本実施例における検知装置５００について、図９を用いて説明する。図９は、実施例２における検知装置の一例を示す図である。図９に示す検知装置５００は、通信Ｉ／Ｆ部１１０と、記憶部１２０と、制御部５３０とを有する。
【００５３】
制御部５３０は、検知装置５００の全体的な処理を司る処理部である。制御部５３０は、例えば、ＣＰＵやＭＰＵ等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部５３０は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されるようにしてもよい。
【００５４】
制御部５３０は、入出力部１３１、特定動作検出部５３２、応答波形算出部１３３、類似度推定部５３４及び行動検知部１３５に加えて、波形重ね合わせ部５３６をさらに有する。なお、特定動作検出部５３２、類似度推定部５３４及び波形重ね合わせ部５３６も、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【００５５】
本実施例における特定動作検出部５３２は、腕の特定の動作を算出し、特定の動作であると判定された動作及び当該動作に対応する判定時刻を、応答波形算出部１３３及び波形重ね合わせ部５３６に出力する。
【００５６】
波形重ね合わせ部５３６は、特定動作に対応する複数の応答パラメータの波形を重ね合わせる。波形重ね合わせ部５３６は、応答パラメータ１２１を参照して、例えば式（１）を用いて、特定動作検出部５３２から出力された特定動作に対応する応答パラメータが規定する波形を重ね合わせて、重ね合わせ波形を生成する。波形重ね合わせ部５３６は、生成した重ね合わせ波形を、類似度推定部５３４に出力する。
【００５７】
本実施例における類似度推定部５３４は、応答波形算出部１３３から取得した心拍の波形が、波形重ね合わせ部５３６から出力された重ね合わせ波形に類似するか否かを示す類似度を算出する。類似度推定部５３４は、例えば、図２のグラフ２０１１に示すような心拍の波形と、図８のグラフ２３３３に示すような重ね合わせ波形との類似度を算出する。類似度推定部５３４は、算出した類似度を、行動検知部１３５に出力する。
【００５８】
［処理の流れ］
次に、本実施例における処理について、図１０を用いて説明する。図１０は、実施例２における検知処理の一例を示すフローチャートである。なお、以下の説明において、図６に示すステップと同じ符号については同様のステップであるため、詳細な説明を省略する。
【００５９】
図１０に示すように、検知装置５００の波形重ね合わせ部５３６は、特定動作検出部５３２から特定の動作に対応する判定時刻の出力を受けると、応答パラメータ１２１から応答パラメータを抽出する。そして、動作区間の各判定時刻に対応する応答パラメータの波形を重ね合わせ、類似度推定部５３４に出力する（Ｓ２１４）。
【００６０】
次に、類似度推定部５３４は、応答波形算出部１３３から出力された動作区間における心拍の波形と、重ね合わせ波形との類似度を算出し、行動検知部１３５に出力する（Ｓ２１５）。その後、Ｓ１４０に移行する。
【００６１】
［効果］
以上説明したように、本実施例における検知装置は、学習情報である応答パラメータが示す波形を累計した時系列データと、動作区間に対応する第二のセンシングデータとに基づき、動作区間の一部を少なくとも含む区間において食事が行われたか否かを判定する。これにより、特定動作が連続することにより、特定動作と応答パラメータとの関係を特定することが難しい場合においても、よりユーザによる食事行動を検知できる。
【実施例３】
【００６２】
実施例１及び２においては、特定動作に対応する心拍パターンを、既知の応答パラメータと比較する構成について説明したが、実施の形態はこれに限られない。例えば、食事時の前記特定動作の単位動作に対応する学習情報として、検出された心拍の変動が、食事の際における心拍の変動と類似するか否かを判定する判定モデルを用いてもよい。例えば、判定モデルを機械学習により生成し、特定動作に対応する心拍の変動と生成された判定モデルとに基づいて、対象者が食事中であるか否かを判定してもよい。例えば、対応データの心拍波形と特定動作から単一動作に対応する心拍応答の特性を表す特徴量を計算し、機械学習により生成した判定モデルを用いて、食事か否かを判定しても良い。
【００６３】
本実施例において、判定モデルは、例えば腕動作特徴量と、心拍特徴量と、食事か非食事かを少なくとも含む教師データを用いて生成される。本実施例における心拍特徴量は、例えば心拍の変動を示す心拍の波形のうち、応答パラメータ２２０１乃至２２０６に対応する数値に基づいて算出される。また、本実施例における腕動作特徴量は、例えば判定時刻における過去５秒間の角加速度の積算値など、腕の動作に関するデータに基づいて算出される。
【００６４】
図１１は、実施例３における教師データの一例を示す図である。図１１に示すように、本実施例における教師データは、「判定時刻」における「食事」の有無と「心拍特徴量」及び「腕動作特徴量」とを、「判定時刻」ごとに対応付けて記憶する。
【００６５】
［機能ブロック］
本実施例における検知装置６００について、図１２を用いて説明する。図１２は、実施例３における検知装置の一例を示す図である。図１２に示す検知装置６００は、通信Ｉ／Ｆ部１１０と、記憶部６２０と、制御部６３０とを有する。
【００６６】
記憶部６２０は、例えば制御部６３０が実行するプログラムや、各種データなどを記憶する。また、記憶部６２０は、動作区間判定モデル６２２を有する。記憶部６２０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【００６７】
動作区間判定モデル６２２は、判定時刻に対応する動作区間の一部を少なくとも含む区間が食事か否かを判定するためのモデルを記憶する。動作区間判定モデル６２２は、例えば「判定時刻」における「食事」の有無と「心拍特徴量」及び「腕動作特徴量」に関する各項目を用いて、公知の機械学習により生成される。なお、動作区間判定モデル６２２は、例えば後に説明する学習部６３９により登録され又は更新される。また、動作区間判定モデル６２２は、例えば技術者により初期値を登録され、又は更新されるような構成であってもよい。
【００６８】
制御部６３０は、検知装置６００の全体的な処理を司る処理部である。制御部６３０は、例えば、ＣＰＵやＭＰＵ等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部６３０は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されるようにしてもよい。
【００６９】
制御部６３０は、入出力部１３１、特定動作検出部６３２、類似度推定部６３４及び行動検知部１３５に加えて、特徴量算出部６３７及び学習部６３９をさらに有する。なお、特定動作検出部６３２、類似度推定部６３４、特徴量算出部６３７及び学習部６３９も、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【００７０】
本実施例における特定動作検出部６３２は、腕の特定の動作を算出し、特定の動作であると判定された動作、並びに当該動作に対応する判定時刻及び動作区間を、特徴量算出部６３７に出力する。また、特定動作検出部６３２は、学習処理の際に、特定の動作であると判定された動作、並びに当該動作に対応する判定時刻及び動作区間を、学習部６３９に出力する。
【００７１】
特徴量算出部６３７は、入出力部１３１から出力された心拍に関するデータを用いて、判定時刻を含む動作区間に対応する心拍の変動を示す心拍特徴量を算出する。特徴量算出部６３７は、入出力部１３１から出力された腕の動作に関するデータを用いて、判定時刻を含む動作区間に対応する腕の動作を示す腕動作特徴量を算出する。特徴量算出部６３７は、心拍特徴量と腕動作特徴量を類似度推定部６３４に出力する。また、特徴量算出部６３７は、学習処理の際に、判定時刻を含む動作区間における心拍特徴量と動作特徴量とを、学習部６３９に出力する。
【００７２】
類似度推定部６３４は、動作区間判定モデル６２２を参照し、特徴量算出部６３７から取得した心拍特徴量と動作特徴量とから、食事の確からしさを算出し、それを類似度として算出する。類似度推定部６３４は、算出した類似度を、行動検知部１３５に出力する。
【００７３】
学習部６３９は、図１１に示すような教師データを用いて、動作区間判定モデル６２２を更新する。学習部６３９は、例えば端末装置２００若しくは図示しないその他の外部のコンピュータから通信Ｉ／Ｆ部１１０を通じて、食事の有無に関するデータを取得する。学習部６３９は、取得したデータと、特徴量算出部６３７から出力された特徴量とを用いて、例えば公知の教師あり機械学習の手法により、動作区間判定モデル６２２を登録し、又は更新する。
【００７４】
［処理の流れ］
本実施例における処理について、図１３及び図１４を用いて説明する。図１３は、実施例３における学習処理の一例を示すフローチャートである。図１３に示す学習処理は、例えば新たな教師データを取得する度に実行される。
【００７５】
まず、図１３に示すように、検知装置６００の入出力部１３１は、例えば通信Ｉ／Ｆ部１１０を通じて外部のコンピュータ又は図示しない検知装置６００の管理者から、過去の時点におけるセンサデータを取得するまで待機する（Ｓ５００：Ｎｏ）。
【００７６】
入出力部１３１は、センサデータを取得したと判定した場合（Ｓ５００：Ｙｅｓ）、取得したセンサデータを特定動作検出部６３２及び特徴量算出部６３７に出力する。特定動作検出部６３２は、センサデータを用いて特定動作を検出する（Ｓ５０１）。次に、学習部６３９は、各判定時刻に対応する動作区間を特定する（Ｓ５０２）。特徴量算出部６３７は、取得したセンサデータを用いて、各判定時刻での心拍特徴量と動作特徴量とを算出し、学習部６３９に出力する（Ｓ５０３）。
【００７７】
次に、行動検知部１３５は、各判定時刻での食事の有無に関するデータを取得する（Ｓ５０４）。そして、行動検知部１３５は、各判定時刻での心拍特徴量と、腕動作特徴量と、食事の有無とを少なくとも含む教師データを用いて教師あり機械学習を行い、学習モデルを生成して動作区間判定モデル６２２に登録し（Ｓ５０５）、処理を終了する。
【００７８】
次に、本実施例における検知処理について、図１４を用いて説明する。図１４は、実施例３における検知処理の一例を示すフローチャートである。なお、以下の説明において、図６に示すステップと同じ符号については同様のステップであるため、詳細な説明を省略する。
【００７９】
図１４に示すように、検知装置６００の特徴量算出部６３７は、判定時刻に対応する動作区間における心拍特徴量と腕動作特徴量とを算出し、類似度推定部６３４に出力する（Ｓ３１３）。類似度推定部６３４は、特徴量算出部６３７から動作区間における心拍特徴量と腕動作特徴量との出力を受けると、動作区間判定モデル６２２から判定モデルを読み出す（Ｓ３１４）。そして、類似度推定部６３４は、心拍特徴量と腕動作特徴量と判定モデルとに基づいて類似度を算出し、行動検知部１３５に出力する（Ｓ３１５）。その後、Ｓ１４０に移行する。
【００８０】
［効果］
以上説明したように、本実施例における検知装置は、学習情報として、食事時の人間の心拍応答の特性を示す食事推定モデルである学習情報を用いる。検知装置は、動作区間に対応する第二のセンシングデータと、学習情報とに基づく類似度が所定の条件を満たす場合に、動作区間の一部を少なくとも含む区間において食事が行われたと判定する。これにより、応答パラメータを予め設定することなく、ユーザによる食事行動を検知できる。
【実施例４】
【００８１】
実施例３において、動作区間における最初の特定動作から最後の特定動作までを一つの区間として、特定動作に対応する心拍パターンと生成されたモデルとを用いて、対象者が食事中であるか否かを判定する構成について説明した。しかし、動作区間においても、心拍数が安静時の状態から上昇する期間と、心拍が上昇した状態が継続する定常状態の心拍数を維持する期間と、定常状態の心拍数から安静時の状態へと回復していく期間とでは、心拍特徴量の現れ方に違いがある。そこで、本実施例においては、動作区間を細分化して、細分化された各区間において異なる特徴量や判定モデルを用いる構成について説明する。なお、以下において、動作区間を細分化した各区間を、「相対区間」と表記する場合がある。なお、定常状態は所定の状態の一例である。
【００８２】
図１５は、実施例４における相対区間の一例を示す図である。図１５に示すように、本実施例における心拍の変動期間は、動作開始区間８００１と、定常区間８００２と、動作終了区間８００３という３つの相対区間に細分化される。
【００８３】
図１５において、動作開始区間８００１は、動作区間２１２１の最初の特定動作２１１１の前後において、心拍数が安静状態から定常状態に上昇するまでの区間を示す。定常区間８００２は、全区間が動作区間２１２１に含まれており、心拍が定常状態にある区間を示す。動作終了区間８００３は、動作区間２１２１の最後の特定の動作２１１９の前後において、心拍数が定常状態から安静時の状態に回復するまでの区間を示す。なお、定常区間は、動作中区間の一例である。
【００８４】
各相対区間８００１乃至８００３の長さは、例えば、特定の動作の動作時刻を基準として、その前後の所定時間である。また、各相対区間８００１乃至８００３の長さは、例えば、動作区間２１２１の長さの前後の所定の割合を除外した区間としてもよい。例えば、動作開始区間８００１を、特定動作２１１１の前後２分間としてもよい。また、定常区間８００２を、動作区間２１２１の長さの前後１０％を除外した区間としてもよい。
【００８５】
動作開始区間８００１においては、特定動作２１１１及びこれに続く各特定の動作のそれぞれに伴う心拍上昇の重ね合わせが生じる。また、動作区間８００１の前においては、特定の動作に伴う心拍応答が存在しないため、動作区間８００１の開始時点においては安静時の心拍に近い場合が多い。そのため、動作開始区間８００１における心拍の変動は、例えば実施例１の図４に示すような応答パラメータが規定する波形とは異なる場合がある。
【００８６】
例えば、動作開始区間８００１においては、単位動作に伴う心拍の変動と比べて、心拍数の振幅、心拍変化の上昇速度及び下降速度に基づいて変化する心拍の傾きといった特徴量が異なる。また、動作開始区間８００１においては、特定動作２１１１の時点から所定の心拍数を超えるまでに要する時間及び心拍数が一定のレベルに達するまでの時間といった特徴量も異なる。これらの特徴量は、動作開始区間８００１において発生する特定の動作の間隔に応じて変化する。
【００８７】
また、定常区間８００２においては、応答パラメータに示すような心拍の変動の重ね合わせによる、心拍数の変化が定常状態に近づく。このため、定常区間８００２においては、動作区間２１２１における１回の特定の動作に対する心拍の応答を特定することができる。
【００８８】
例えば、安静時の心拍数と、定常区間８００２内の心拍数の平均値との差は、動作区間２１２１に含まれる特定の動作の発生間隔と、図４に示す応答パラメータのうち主にグラフの面積２２０６とに影響される。定常状態から安静時の状態への心拍数の変化の傾きは、図４に示す応答パラメータのうち主にグラフの傾き２２０４に示される心拍の下降速度に影響される。また、定常区間８００２における、心拍数の時間変化と、特定の動作の回数の動作区間２１２１に占める時間密度変化との相関係数に基づいて、判定結果が学習モデルに合致しているか否かを判定できる。また、定常区間８００２においては、単発での特定の動作に対する応答と類似する心拍数の変化を観察できるので、特定の動作の直後の心拍変化に基づいて、図４に示すような応答パラメータに相当する数値を算出することができる。このように、心拍特徴量は単位動作に対応する心拍応答の特徴を示す。
【００８９】
また、動作終了区間８００３においては、図４に示すような特定の動作に対する応答パラメータのうち、グラフの傾き２２０２及び矢印２２０３に示されるような心拍数の上昇に関するパラメータをほぼ無視することができる。そのため、心拍数の定常状態から安静時への回復速度等、応答パラメータの立下りの特性を反映した波形が得られる。
【００９０】
例えば、図４のグラフの傾き２２０４に示すような心拍変化の傾きは、心拍の回復速度が早ければ急になる。また、動作終了区間８００３においては、特定の動作２１１９の時点から安静時の心拍数に回復するまでに要する時間といった特徴量も異なる。これらの特徴量は、動作終了区間８００３において発生する特定の動作の間隔に応じて変化する。
【００９１】
［機能ブロック］
次に、本実施例における検知装置７００について説明する。図１６は、実施例４における検知装置の一例を示す図である。図１６に示す検知装置７００は、通信Ｉ／Ｆ部１１０と、記憶部７２０と、制御部７３０とを有する。
【００９２】
記憶部７２０は、例えば制御部７３０が実行するプログラムや、各種データなどを記憶する。また、記憶部７２０は、相対区間判定モデル７２３を有する。記憶部７２０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【００９３】
相対区間判定モデル７２３は、図１５に示すような各区間が食事か否かを判定するためのモデルを記憶する。相対区間判定モデル７２３は、例えば「判定時刻」における「食事」の有無と「心拍特徴量」及び「腕動作特徴量」に関する各項目を用いて、公知の機械学習により生成される。なお、相対区間判定モデル７２３は、例えば後に説明する学習部７３９により登録され又は更新される。また、相対区間判定モデル７２３は、例えば技術者により初期値を登録され、又は更新されるような構成であってもよい。
【００９４】
相対区間判定モデル７２３は、例えば動作開始区間８００１と、定常区間８００２と、動作終了区間８００３とで、それぞれ異なる判定モデルを保有する。例えば、動作開始区間８００１においては、図４のグラフに示すような応答パラメータのうち、心拍の上昇速度や心拍の上昇時間に重み付けされたモデルとしてもよい。また、特定の動作の判定時刻に基づく特定の動作の発生間隔を判定モデルに反映させてもよい。
【００９５】
制御部７３０は、検知装置７００の全体的な処理を司る処理部である。制御部７３０は、例えば、ＣＰＵやＭＰＵ等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部７３０は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されるようにしてもよい。
【００９６】
制御部７３０は、入出力部１３１、特定動作検出部７３２、類似度推定部７３４及び行動検知部１３５に加えて、特徴量算出部７３７、相対区間特定部７３８及び学習部７３９をさらに有する。なお、特定動作検出部７３２、類似度推定部７３４、特徴量算出部７３７、相対区間特定部７３８及び学習部７３９も、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【００９７】
本実施例における特定動作検出部７３２は、腕の特定の動作を算出し、特定の動作であると判定された動作、並びに当該動作に対応する判定時刻及び動作区間を、特徴量算出部７３７に出力する。また、特定動作検出部７３２は、学習処理の際に、特定の動作であると判定された動作、並びに当該動作に対応する判定時刻及び動作区間を、学習部７３９に出力する。
【００９８】
相対区間特定部７３８は、特定動作検出部７３２から出力された動作区間に対応する各相対区間を特定する。相対区間特定部７３８は、例えば動作区間２１２１の最初の特定動作２１１１の前後の所定の時間を、動作開始区間８００１として特定する。同様に、相対区間特定部７３８は、動作区間２１２１における特定の動作に基づいて、定常区間８００２及び動作終了区間８００３を特定する。相対区間特定部７３８は、特定した相対区間に関する情報を、特徴量算出部７３７に出力する。
【００９９】
特徴量算出部７３７は、入出力部１３１から出力された心拍に関するデータを用いて、判定時刻における特定動作に対応する心拍の変動である心拍特徴量を算出する。特徴量算出部７３７は、特徴量算出部７３７は、相対区間特定部７３８から出力された各相対区間における心拍特徴量を算出し、類似度推定部７３４に出力する。また、特徴量算出部７３７は、学習処理の際に、判定時刻に対応する心拍特徴量を、学習部７３９に出力する。
【０１００】
類似度推定部７３４は、相対区間判定モデル７２３を参照し、特徴量算出部７３７から取得した心拍特徴量と、食事の際に発生する心拍特徴量との類似度を算出する。類似度推定部７３４は、算出した類似度を、行動検知部１３５に出力する。
【０１０１】
学習部７３９は、図１１に示すような教師データを用いて、各相対区間に対応する相対区間判定モデル７２３を更新する。学習部７３９は、例えば端末装置２００若しくは図示しないその他の外部のコンピュータから通信Ｉ／Ｆ部１１０を通じて、食事の有無に関するデータを取得する。学習部７３９は、取得したデータと、特定動作検出部７３２から出力された腕動作特徴量と、特徴量算出部７３７から出力された特徴量とを用いて、例えば公知の教師あり機械学習の手法により、相対区間判定モデル７２３を登録し、又は更新する。
【０１０２】
［処理の流れ］
本実施例における処理について、図１７及び図１８を用いて説明する。図１７は、実施例４における学習処理の一例を示すフローチャートである。図１７に示す学習処理は、例えば新たな教師データを取得する度に実行される。なお、以下の説明において、図１３に示すステップと同じ符号については同様のステップであるため、詳細な説明を省略する。
【０１０３】
図１７に示すように、検知装置７００の相対区間特定部７３８は、特定動作検出部７３２から特定動作の出力を受けると、相対区間を検出し、特徴量算出部７３７に出力する（Ｓ６１１）。次に、特徴量算出部７３７は、各相対区間における特徴量を算出し（Ｓ６１２）、その後Ｓ５０４に移行する。
【０１０４】
次に、本実施例における検知処理について、図１８を用いて説明する。図１８は、実施例４における検知処理の一例を示すフローチャートである。なお、以下の説明において、図１４に示すステップと同じ符号については同様のステップであるため、詳細な説明を省略する。
【０１０５】
図１８に示すように、検知装置７００の相対区間特定部７３８は、特定動作検出部７３２から出力された動作区間に対応する各相対区間を特定し、特徴量算出部７３７に出力する（Ｓ４１３）。特徴量算出部７３７は、各相対区間における心拍特徴量と腕動作特徴量とを算出し、類似度推定部７３４に出力する（Ｓ４１４）。類似度推定部７３４は、相対区間判定モデル７２３から判定モデルを読み出す（Ｓ４１５）。そして、類似度推定部７３４は、心拍特徴量と腕動作特徴量と判定モデルとに基づいて類似度を算出し、行動検知部１３５に出力する（Ｓ４１６）。その後、Ｓ１４０に移行する。
【０１０６】
また、行動検知部１３５は、判定時刻を食事と判定した場合（Ｓ１４０）及び非食事と判定した場合（Ｓ１４１）のいずれにおいても、全ての相対区間について判定を完了したか否かを判定する（Ｓ４４３）。行動検知部１３５は、全ての相対区間について判定を完了していないと判定した場合（Ｓ４４３：Ｎｏ）、Ｓ４１４に戻って処理を繰り返す。一方、行動検知部１３５は、全ての相対区間について判定を完了したと判定した場合（Ｓ４４３：Ｙｅｓ）、Ｓ１５０に移行する。
【０１０７】
［効果］
以上説明したように、本実施例における学習情報は、心拍が通常の状態から所定の状態まで変化するまでの区間である動作開始区間と、心拍が所定の状態を持続する動作中区間と、心拍が所定の状態から通常の状態に戻るまでの区間である動作終了区間とのそれぞれに対応する。本実施例における判定する処理は、動作区間に対応する前記第二のセンシングデータを、前記動作開始区間、前記動作中区間及び前記動作終了区間に分割された各区間に対応するセンシングデータと、分割された区間に対応する学習情報とに基づき行われる。これにより、食事動作の開始や終了などの時点に応じて、よりユーザによる食事行動を検知できる。
【実施例５】
【０１０８】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。また、図示した各処理は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
【０１０９】
例えば、実施例１乃至４においては、特定の動作として食事動作について説明したが、これに限られず、腕の動作と心拍の変動とに一定のパターンが見られるその他の動作を検出してもよい。
【０１１０】
また、実施例１乃至４において、特定動作が検出された判定時刻における心拍変動に基づいて食事か否かを判定する構成を説明したが、これに限られない。例えば、応答パラメータに類似する心拍が測定された時点を判定時刻として特定し、判定時刻における腕の動作が特定の動作に該当するか否かに応じて食事か否かを判定するような構成であってもよい。
【０１１１】
また、実施例２に示した、特定の動作が頻発し又は継続する区間を、実施例４に示すような動作開始区間、定常区間及び動作終了区間に細分化してもよい。これにより、学習モデルを用いずに応答パラメータとの類比を判定するような構成においても、食事動作の開始や終了などの時点に応じて、よりユーザによる食事行動を検知できる。
【０１１２】
なお、特定の判定時刻における食事の有無の判定結果が、当該判定時刻の前後の時刻での判定結果と異なる場合、当該特定の判定時刻における食事の有無の判定結果が誤検知又は検知漏れによるものである可能性が高い。図１９は、実施例５における判定時刻の前後の時間帯との検知結果の比較の一例を示す図である。図１９は、判定時刻５００１の「×」は、当該時刻において非食事であると判定されたことを示す。同様に、判定時刻５００２の「○」は、当該時刻が食事であると判定されたことを示す。
【０１１３】
この場合において、期間５１００は、対象者が食事をとっている期間であると考えられる。しかし、期間５１００に含まれる判定時刻５０１１においては、非食事であると判定されている。この場合において、本実施例における検知装置は、判定時刻５０１１は、検知結果にかかわらず、「食事である」と判定してもよい。このように、前後の判定時刻における検知結果に応じて食事判定結果を更新することにより、誤検知又は検知漏れによる判定制度の低下を抑制することができる。
【０１１４】
また、実施例２では、機械学習により、判定時刻において対象者が食事中であるか否かを判定する構成について説明したが、これに限られず、対象者の食事の内容又は種類等をさらに判定するような構成であってもよい。このような構成は、図１１に示すような項目に加えて、食事の分類又は内容をさらに含む教師データを用意することにより実現できる。
【０１１５】
図２０は、実施例５における教師データの一例を示す図である。図２０に示すように、本実施例における教師データは、「判定時刻」における「食事」の有無、「心拍特徴量」及び「腕動作特徴量」に加えて、さらに食事の「分類」及び「内容」を対応付けて記憶する。
【０１１６】
図２０において、「分類」は、「菓子」や「主食」など、食事をカテゴリ分けする。「内容」は、対象者が食べた食料の内容を示す。本実施例において、行動検知部１３５は、図２０に示すような教師データを用いて、学習モデルを生成する。これにより、食事の有無に加えて、食事の分類や内容についても精度よく検知できる。なお、教師データとして、食事の分類や内容に加えて、食事のカロリー量などを与えて、腕動作特徴量及び心拍特徴量を用いて摂取カロリー量を検知するような構成であってもよい。
【０１１７】
また、実施例４における図１５に示す相対区間は一例である。例えば、図１５においては、動作開始区間８００１と、定常区間８００２と、動作終了区間８００３との間に空白期間が設けられているが、実施の形態はこれに限られない。例えば、各相対区間が空白区間を介さずに隣接していてもよく、また各相対区間が重複する期間があってもよい。また、動作区間２１２１前後の心拍数又は腕の動作に基づいて、相対区間を選択してもよい。例えば、特定の時刻の一分後に心拍数が３ｂｐｍ以上減少した場合、又は当該特定の時刻に所定の腕の動作が検出された場合に、当該特定の時刻を相対区間の開始時刻として、当該開始時刻の５分後を相対区間の終了時刻としてもよい。さらに、相対区間の数は一例であり、相対区間が２つであったり、４つ以上であったりしてもよい。
【０１１８】
また、動作測定装置１０及び心拍測定装置２０は、上記した例に限られない。例えば、動作測定装置１０は、モーションセンサ１１として、加速度センサの代わりにジャイロセンサを用いることができる。この場合、動作測定装置１０は、ジャイロセンサによりセンシングされた慣性データを用いて、対象者の腕の動きを取得する。
【０１１９】
また、心拍センサには、必ずしも装着型のものを採用せずともかまわない。例えば、ユーザの生体の一部が所定のサンプリング周波数で撮像される画像に関する輝度の時系列変化から心拍数を検出したり、ＲＦ（Radio  Frequency）モーションセンサを用いて拍動に伴うドップラ周波数を検出したりすることにより、心拍数の検出をユーザの生体部位に非接触の状態で実現することとしてもかまわない。
【０１２０】
［システム］
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１２１】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。  
【０１２２】
［スタンドアロン］
上記の実施例１では、動作測定装置１０、心拍測定装置２０及び検知装置１００を含むクライアントサーバシステムとして構築される場合を例示したが、これに限定されない。例えば、心拍データの取得から食事時刻の推定までの一連の処理を動作測定装置１０、心拍測定装置２０、検知装置１００、あるいはその他のコンピュータにスタンドアロンで実行させることとしてもかまわない。  
【０１２３】
［システムの応用例］
上記の実施例１では、検知システム１に検知装置１００が含まれることとしたが、必ずしも検知装置１００が含まれずともかまわない。すなわち、端末装置２００がウェアラブルガジェット等として実装される場合、ウェアラブルガジェットにより近距離無線通信等で接続されるスマートフォンやタブレット端末で心拍データの取得以外の各種の処理、例えば食事時刻の推定を実行させることとしてもかまわない。  
【０１２４】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、入出力部１３１、特定動作検出部１３２、応答波形算出部１３３、類似度推定部１３４及び行動検知部１３５を検知装置１００の外部装置としてネットワーク経由で接続するようにしてもよい。
【０１２５】
［食事検知プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図２１を用いて、上記の実施例と同様の機能を有する食事検知プログラムを実行するコンピュータの一例について説明する。なお、図２１においては実施例１における検知装置１００について説明するが、実施例２乃至４における検知装置５００、６００及び７００についても、同様の構成により実現できる。
【０１２６】
図２１は、食事検知プログラムを実行するコンピュータのハードウェア構成例を示す図である。図２１に示すように、コンピュータ１０００は、操作部１１００ａと、スピーカ１１００ｂと、カメラ１１００ｃと、ディスプレイ１２００と、通信部１３００とを有する。さらに、このコンピュータ１０００は、ＣＰＵ１５００と、ＲＯＭ１６００と、ＨＤＤ１７００と、ＲＡＭ１８００とを有する。これら１１００〜１８００の各部はバス１４００を介して接続される。  
【０１２７】
ＨＤＤ１７００には、図２１に示すように、上記の実施例１で示した入出力部１３１、特定動作検出部１３２、応答波形算出部１３３、類似度推定部１３４及び行動検知部１３５と同様の機能を発揮する食事検知プログラム１７００ａが記憶される。この食事検知プログラム１７００ａは、図５に示した入出力部１３１、特定動作検出部１３２、応答波形算出部１３３、類似度推定部１３４及び行動検知部１３５の各構成要素と同様、統合又は分離してもかまわない。すなわち、ＨＤＤ１７００には、必ずしも上記の実施例１で示した全てのデータが格納されずともよく、処理に用いるデータがＨＤＤ１７００に格納されればよい。  
【０１２８】
このような環境の下、ＣＰＵ１５００は、ＨＤＤ１７００から食事検知プログラム１７００ａを読み出した上でＲＡＭ１８００へ展開する。この結果、食事検知プログラム１７００ａは、図２１に示すように、食事検知プロセス１８００ａとして機能する。この食事検知プロセス１８００ａは、ＲＡＭ１８００が有する記憶領域のうち食事検知プロセス１８００ａに割り当てられた領域にＨＤＤ１７００から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、食事検知プロセス１８００ａが実行する処理の一例として、図６に示す処理などが含まれる。なお、ＣＰＵ１５００では、必ずしも上記の実施例１で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。  
【０１２９】
なお、上記の食事検知プログラム１７００ａは、必ずしも最初からＨＤＤ１７００やＲＯＭ１６００に記憶されておらずともかまわない。例えば、コンピュータ１０００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ１０００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１０００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ１０００がこれらから各プログラムを取得して実行するようにしてもよい。
【符号の説明】
【０１３０】
１  検知システム
１０  動作測定装置
２０  心拍測定装置
１００、５００、６００、７００  検知装置
１１０  通信Ｉ／Ｆ部
１２０、６２０、７２０  記憶部
１２１  応答パラメータ
６２２  動作区間判定モデル
７２３  相対区間判定モデル
１３０、５３０、６３０、７３０  制御部
１３１  入出力部
１３２、５３２、６３２、７３２  特定動作検出部
１３３  応答波形算出部
１３４、５３４、６３４、７３４  類似度推定部
１３５  行動検知部
５３６  波形重ね合わせ部
６３７、７３７  特徴量算出部
７３８  相対区間特定部
２００  端末装置
【図１】
2019005232.tif 000004
【図２】
2019005232.tif 000005
【図３】
2019005232.tif 000006
【図４】
2019005232.tif 000007
【図５】
2019005232.tif 000008
【図６】
2019005232.tif 000009
【図７】
2019005232.tif 000010
【図８】
2019005232.tif 000011
【図９】
2019005232.tif 000012
【図１０】
2019005232.tif 000013
【図１１】
2019005232.tif 000014
【図１２】
2019005232.tif 000015
【図１３】
2019005232.tif 000016
【図１４】
2019005232.tif 000017
【図１５】
2019005232.tif 000018
【図１６】
2019005232.tif 000019
【図１７】
2019005232.tif 000020
【図１８】
2019005232.tif 000021
【図１９】
2019005232.tif 000022
【図２０】
2019005232.tif 000023
【図２１】
2019005232.tif 000024