【文献】
鍋谷 俊輔、他3名,ウェアラブルデバイスによる食べる動作に着目した食事内容推定の研究,第22回マルチメディア通信と分散処理ワークショップ (第22回DPSWS論文集) 情報処理学会シンポジウムシリーズ Vol.2014 No.5,日本,一般社団法人情報処理学会,2014年12月 1日,Vol.2014 No.5,P160-167
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0014】
[構成]
図1は、本発明の実施形態に係る食事管理システムの全体構成を示すブロック図である。この食事管理システムは、食事を摂るユーザの身体状態を検出する身体状態検出装置1と、ユーザによって携帯されて操作される通信装置2と、ユーザの食事を管理する情報処理装置3と、通信装置2及び情報処理装置3を通信可能に接続する通信網4とを備えている。
【0015】
身体状態検出装置1は、ユーザの身体に装着される、例えばスマートウォッチやリストバンド型のウェアラブルデバイスであり、加速度、角速度、音、脈拍、皮膚温度又は表面筋電位などの身体状態の指標となる値を検出するセンサ群を含んでいる。典型的には、身体状態検出装置1は、ユーザの利き腕に装着され、その利き腕の動きに応じた加速度又は角速度を少なくとも検出する。
【0016】
通信網4は移動通信網及び固定通信網を含む。通信装置2は、例えばスマートホンやタブレットであり、通信網の無線基地局と例えばLTE(Long Term Evolution)等の通信規格の無線通信を行う通信装置、又は通信網の無線アクセスポイントと例えばWi−Fi(登録商標)等の通信規格の無線通信を行う通信装置である。通信装置2は、身体状態検出装置1によって検出された結果に応じた検出データを、例えばブルートゥース(登録商標)などの通信規格などの近距離無線通信によって身体状態検出装置1から取得し、通信網4を介して情報処理装置3に送信する。
【0017】
情報処理装置3は、通信装置2から取得した検出データについて認識モデルを用いた解析を行うことで、ユーザが摂った食事に関する食事情報を生成し、この食事情報を通信装置2を介してユーザに提示する。
【0018】
このように、食事管理システムは、ユーザの動作を検出し、この検出結果を利用して食事に関する情報を生成して記録することで、ユーザの日々の食事内容や食事量を自動的に管理する。これにより、ユーザによる食事に関する情報の入力負担が軽減され、継続的に食事管理を行うことが可能となる。
【0019】
図2は、食事管理システムにおける各装置のハードウェア構成を示すブロック図である。身体状態検出装置1は、例えば加速度センサ、角速度センサ、マイクセンサ、脈拍センサ、皮膚温度センサ又は表面筋電位センサなどの身体状態の指標となる値を検出するセンサ群11と、例えばブルートゥース(登録商標)などの通信規格の近距離無線通信を行うためのアンテナや通信回路を含み、身体状態の指標となる値に応じた検出データを通信装置2に送信する近距離無線通信部12とを備えている。さらに、身体状態検出装置1は、検出データを一時的に保存するための記憶装置を備え、この記憶装置に検出データ群を一時的に記憶しておいて、これらをまとめて通信装置2に送信するようにしてもよい。
【0020】
通信装置2は、制御部21と、無線通信部22と、記憶部23と、UI(User Interface)部24と、近距離無線通信部25と備えたコンピュータである。制御部21は、CPU(Central Processing Unit)などの演算装置と、ROM(Read Only Memory)及びRAM(Random Access Memory)などの記憶装置とを備えている。ROMには、CPUによって実行されるプログラムが記憶されている。CPUは、RAMをワークエリアとして用いてROMや記憶部23に記憶されたプログラムを実行することによって、通信装置20の各部の動作を制御する。無線通信部22は、例えばLTEなどの通信規格のアンテナや通信回路を備えており、移動通信網を介した通信を行う。記憶部23は、例えばEEPROM(Electronically Erasable and Programmable ROM)やフラッシュメモリなどの記憶手段であり、制御部21が用いるデータ群やプログラム群を記憶している。UI部24は、キーやタッチセンサなどの操作子が設けられた操作部と、液晶パネルや液晶駆動回路などの表示部とを含んでいる。近距離無線通信部25は、例えばブルートゥース(登録商標)などの通信規格の近距離無線通信を行うためのアンテナや通信回路を備えている。通信装置2は、これらの構成以外に、例えばマイクやスピーカ、カメラなどを含んでいてもよい。
【0021】
情報処理装置3は、制御部31と、記憶部32と、通信部33とを備えたコンピュータである。制御部31は、CPU等の演算装置と、ROM及びRAMなどの記憶装置とを備えている。CPUは、RAMをワークエリアとして用いてROMや記憶部32に記憶されたプログラムを実行することによって、情報処理装置10の各部の動作を制御する。通信部33は通信網4に接続されている。記憶部32は、例えばハードディスク等の大容量で不揮発性の記憶手段である。記憶部32は、制御部31が用いるデータ群やプログラム群を記憶しており、例えばユーザに関するユーザ情報及び食品に関する食品情報を予め記憶している。
【0022】
図3は、食事管理システムにおける各装置の機能構成を示すブロック図である。身体状態検出装置1は、ユーザの身体状態を検出する身体状態検出部101と、ユーザについて身体状態検出部101が検出した結果に応じた検出データを通信装置2に送信する検出データ送信部102とを備えている。身体状態検出部101は主にセンサ群11によって実現され、検出データ送信部102は主に近距離無線通信部12によって実現される。
【0023】
通信装置2は、身体状態検出装置1から送信されてくる検出データを受信する検出データ受信部201と、その検出データを情報処理装置3に送信する検出データ送信部202と、情報処理装置3からユーザが摂った食事に関する食事情報を受け取ってユーザに提示する食事情報提示部203と、ユーザによる食事情報の修正を受け付けてその修正結果を情報処置装置3に通知する食事情報修正部204とを備えている。検出データ受信部201は近距離無線通信部25によって実現され、検出データ送信部202は主に無線通信部22によって実現され、食事情報提示部203及び食事情報修正部204は、主に制御部21、UI部24及び無線通信部22によって実現される。
【0024】
情報処理装置3は、通信装置2から送信されてくる検出データを取得する検出データ取得部301と、その検出データを保存する検出データ保存部302と、ユーザに関するユーザ情報を記憶するユーザ情報記憶部303と、食品に関する食品情報を記憶する食品情報記憶部304と、検出データについて認識モデルを用いた解析を行ってユーザが摂った食事に関する食事情報を生成する検出データ解析部305と、認識モデルを保持する認識モデル保持部306と、生成された食事情報を保存してこの食事情報に関して通信装置2と遣り取りする食事情報保存部307とを備えている。認識モデル保持部306が保存する認識モデルは、複数のユーザに対して汎用的に共通で利用することができる汎用認識モデルと、ユーザごとに最適化された個人用認識モデルとを含む。検出データ保存部302が保存する検出データは、身体状態検出装置1によって検出された検出データが加工されることなく保存されたものであってもよいし、情報処理装置3によって例えば特徴量抽出が行われたあとの検出データが保存されたものであってもよい。検出データ取得部301は主に通信部33によって実現され、検出データ保存部302、ユーザ情報記憶部303、食品情報記憶部304及び認識モデル保持部306は主に記憶部32によって実現され、食事情報保存部307は制御部31、記憶部32及び通信部33によって実現され、検出データ解析部305は主に制御部31によって実現される。
【0025】
次に、情報処理装置3において予め記憶されている情報について説明する。
図4は、ユーザ情報記憶部303に記憶されているユーザ情報の一例を示す図であり、各情報の内容は以下のとおりである。
User_id:ユーザの識別情報である。
registered_date:ユーザ情報が情報処理装置3に登録された日時に関する情報である。
birth:ユーザの生年月日である。
age:ユーザの年齢(才)である。
sex:ユーザの性別である。
height:ユーザの身長(cm)である。
weight:ユーザの体重(kg)である。
physical_activity_level:ユーザの活動レベルの指標値である。
このように、生年月日、性別、身長、体重、活動レベルといった、ユーザ固有の属性情報が各ユーザにユニークな識別情報と紐づけされた状態で記憶されている。
【0026】
図5は、食品情報記憶部304に記憶されている食品情報の一例を示す図である。本実施形態においては、ユーザが摂った食事の量を認識するために、人間の一般的な食事量(一般食事量)が食品情報として事前に用意されている。この一般食事量は、例えば総務省の国民健康・栄養調査などの年齢、性別、地域ブロック別の統計値や農水省が公表する食事バランスガイドのSV早見表に従う。例えばSV早見表においては、食事内容を主食(staple)、主菜(entree)、副菜(side)、牛乳・乳製品(dairy)、果物(fruit)という5つのグループに分け、これらの食事内容ごとに、人間が一般的に食べられると推定される食事量を規定している。この食事量は、
図4に示したユーザの性別、年齢、身長、体重又は活動レベルといったユーザ情報に応じて変動させてもよいが、ここでは、全ユーザで共通の固定量とする。
図5に例示した食品情報は、食品ごとに事前に定められた食事量を定義する情報であり、例えば丼もの(Rice bowl)は、主食(staple)としての量が2、主菜(entree)としての量が1、副菜(side)としての量が2、牛乳・乳製品(dairy)としての量が0、果物(fruit)としての量が0である。
【0027】
図6は、これらの主食(staple)、主菜(entree)、副菜(side)、牛乳・乳製品(dairy)、果物(fruit)ごとに用意された、具体的な食事内容(Rice bowl…Fried egg…)とその識別情報(staple_food_id、entree_food_id、side_dish_id、dairy_id、fruit_id)との対応表である。これらの対応表も食品情報として食品情報記憶部304に予め記憶されている。
【0028】
[動作]
次に、食事管理システムの動作を説明する。
図7は、情報処理装置3において食事情報を生成する処理を示すフローチャートである。まず、身体状態検出装置1によって得られた検出データは、通信装置2を介して情報処理装置3に送信されてくる。情報処理装置3の検出データ取得部301は、通信装置2から送信されてくる検出データを取得すると、これを検出データ保存部202に保存する。食事情報を生成するべき所定の時期(例えば定期的な時期)が到来すると、検出データ解析部305は、認識モデル保持部306が保持する認識モデルを読み出す(ステップS11)。
【0029】
検出データ解析部305は、検出データ保存部202に保存されている検出データについて、読み出した認識モデルを用いた解析を行って、ユーザが摂った食事の内容又は量のうち少なくともいずれか一方に関する食事情報を生成する(ステップS12)。食事情報保存部307は、生成した食事情報を通信装置2に送信する(ステップS13)。
【0030】
通信装置2の食事情報提示部203は、食事情報を表示してユーザに提示する。提示された情報についてユーザによる修正が無ければ(ステップS14;修正なし)、食事情報提示部203はその旨を食事情報保存部307に通知する。食事情報保存部307は、この通知に応じて上記食事情報をそのまま保存する(ステップS15)。一方、ユーザによる修正があれば(ステップS14;修正あり)、食事情報提示部203はその旨を食事情報保存部307に通知する。この通知に応じて、検出データ解析部305は、認識モデル保持部306が保存する認識モデルを更新する(ステップS16)。食事情報保存部307は、通知された修正の内容に基づいて上記食事情報を更新して保存する(ステップS15)。
【0031】
ここで、認識モデルについて説明する。前述したように、認識モデルは、複数のユーザに対して汎用的に共通で利用することができる汎用認識モデルと、ユーザごとに最適化された個人用認識モデルとを含むが、まず
図8を用いて、汎用認識モデルの構築処理について説明する。
図8において、検出データ解析部305は、汎用認識モデルの構築処理用の検出データを検出データ保存部302に保存する(ステップS41)。この汎用認識モデルの構築処理用の検出データは、検出データ取得部301により取得された検出データの一部でもよいし、予めサンプルとして用意された検出データであってもよい。
【0032】
検出データ解析部305は、この検出データに対して、ノイズ除去を目的としたプレフィルタ及びサブサンプリングを行う(ステップS42)。ここで、ノイズ除去を目的としたプレフィルタは、例えば移動窓を用いたガウシアンフィルタ、移動平均法によるもの又はローパスフィルタなどが考えられる。サブサンプリングは処理を高速化するために実施される。このとき、検出データの情報量を落とすことが無いように、人間の動作に対して一般に対応するとされる周波数(例えば加速度センサの場合は20Hz)を考慮してサンプリングの定理などを踏まえて、このサンプリングを実施してもよい。ここで、検出データの特徴量として考えられるものは、例えば検出データを或る時間幅で区切ったときの平均、分散或いは標準偏差(移動窓に対する平均や分散、標準偏差など)によって表現される統計量、又は、ユーザの腕の往復回数、回転数、移動方向或いは移動距離によって表現される運動量のうち、少なくともいずれか一方が考えられる。後者の運動量は、例えば、角速度の検出データを時間に沿って積分することで得られる移動量や、離散化フーリエ変換によって得られる周波数特性などによって表される量が考えられる。身体状態検出装置1が身体状態として音を検出する場合においても、加速度や角速度と同様の統計量や、離散化フーリエ変換によって得られるケプストラムなどの特徴量を用いればよい。また、皮膚温度センサ又は表面筋電位センサから得られた検出データに対しても同様の処理を施すことで得られる特徴量などが考えられる。
【0033】
ここで、例えばラーメンを啜る動作においては、その動作に特徴的な加速度、角速度、音、脈拍、皮膚温度又は表面筋電位が検出されはずである。検出データ解析部305は、認識対象とする食事内容ごとに取得した検出データ集合を、Dfood=[logData1,food, logData2,food, logData3,food, …,logDatan,food]とする。ここで、food∈[Rice bowl, Omerice, Curry Rice, Spaghetti, Hamburger, … ]であり、食事内容の集合である。nは食事内容ごとの検出データの数を意味する。検出データ解析部305は、このDfoodから特徴量を抽出し、特徴量集合Ffood=[f1,food,f2,food,f3,food,…fm,food]を得る(ステップS43)。ここで、mは特徴量の取得数である。
【0034】
検出データ解析部305は、特徴量集合Ffoodに対して、一般に文書分類や画像分類の技術で用いられるBag-of-Words(BOWs)モデルを適用し、word集合Wfood =[word1,food,word2,food,word3,food,…,wordl,food] に変換する(ステップS44)。lは食事内容ごとのword数を意味する。ここでは、k-meansやk-means++、x-meansなどのクラスタリング手法を用いることで、特徴量集合Ffoodの類似性の高い特徴量を、ひとつのwordと呼ばれる代表的な特徴量で表現している。k-meansの場合、指定するクラスタリング数kは食事中に発生する特徴的な動作の数を意味し、上記 l と同意である。この特徴的な動作とは、例えばラーメンを啜る動作や米を掻き込む動作など、それぞれの食事内容に固有の動作である。BOWsモデルを適用時は検出データの時系列情報は無視されることになる。foodのすべてに対するwordを集めたものはdictionary又はcodebookと呼ばれ、認識対象である食事内容すべての代表的な特徴量を集めたものである。
【0035】
検出データ解析部305は、集合Dfoodに含まれる各検出データに対して、Wfoodを時系列順に並べ、連続するN個のwordを新たなwordとして割り当てることで、N-gramにおける表現を行う(ステップS45)。検出データ解析部305は、N-gramを適用し、新たなwordを用いて食事内容ごとのwordのヒストグラムを作成する(ステップS46)。具体的には、検出データ解析部305は、
図9に例示するように、特徴量からwordsを取得してA,A,D,B,B,C,C…と時系列順に並べ、連続するN個(ここではN=3)のwordsを抽出し、N個(ここではN=3)のwordsの組AAD、ADB、DBB…に対して、それぞれ f1,f2…をwordとした新たな辞書F=[f1,f2,…]を取得し、局所的な連続性を加味したFでヒストグラム化を行う。
【0036】
このように、連続したN個のwordをひとつのwordとしてとらえたN-gramによって、局所的な連続性を考慮した食事内容の認識を行うことができる。例えば、食事内容がラーメンであった場合は、箸で麺を持ち上げる→麺に息を吹きかける→啜る、といった一連の動作の特徴を食事内容の認識に利用すること可能となる。このとき特徴量を抽出するときの窓幅は一定間隔であってもよいし、加速度センサなどの値をもとに可変な間隔として設定してもよい。ただし、認識する食事内容及び量をマルチラベル(例えば、ラーメン+餃子など)で認識する場合は、この間隔は狭い方が好ましい。ただし、このヒストグラム化は次ステップにおいて機械学習のひとつであるNaive Bayesを利用するためであり、その他の学習手法を用いる場合はその限りではない。
【0037】
そして、検出データ解析部305は、ヒストグラム化によって食事内容ごとのwordの出現確率が算出可能となるから、Naive Bayesを適用して食事内容ごとに発生するwordの尤度を算出する(ステップS47)。検出データ解析部305は、以上の処理によって生成した汎用認識モデルを認識モデル保持部306に保存する(ステップS48)。
【0038】
図10は、食事内容を生成する場合(
図7:ステップS12)において、食事内容を解析するための具体的処理を示すフローチャートである。まず、検出データ解析部305は、検出データ保存部302から検出データを読み出す(ステップS21)。検出データ解析部305は、読み出した検出データに対して、汎用認識モデル構築時と同様の手順で(ステップS41〜S46)、ヒストグラム化までの処理を行う(ステップS22)。このときのヒストグラム化の処理はNaive Bayesを用いるために行っており、その他の機械学習手法を用いる場合はその限りではない。
【0039】
検出データ解析部305は、上述した汎用認識モデル又はユーザ単位で最適化された個人用認識モデルの有無を確認し(ステップS23)、利用する認識モデルを選択する(ステップS24,S25)。つまり、検出データ解析部305は、食事の解析対象となるユーザについての個人用認識モデルが有れば(ステップS23;あり)、個人用認識モデルを選択するし(ステップS25)、個人用認識モデルが無ければ(ステップS23;なし)、汎用認識モデルを選択する(ステップS24)。検出データ解析部305は、選択した認識モデルを用いた機械学習手法(Naive Bayes)によって確率が最も高い食事内容に関する食事情報を認識結果として食事情報保存部307に保存する(ステップS26,S27)。保存された食事情報は通信装置2に送信されてユーザに提示される。ここで、最も確率の高い食事情報だけでなく、2番目や3番目に確率が高い食事情報も認識結果として食事情報保存部307に保存しておいてユーザに提示してもよい。これら次順の食事情報は、ユーザが最も確率の高い食事情報を修正するときに利用される。
【0040】
次に、
図11は、食事量を解析するための具体的処理を示すフローチャートである。検出データ解析部305は、食事内容の認識処理が行われたのち、認識された食事内容に対応する一般食事量Igeneral を食品情報記憶部304から読み出す(ステップS31)。
【0041】
検出データ解析部305は、検出されたユーザの腕の加速度及び角速度に基づいて、前腕の動きを特徴づける値αを求める(ステップS32)。αは、例えばユーザの腕の往復回数、回転数、移動方向或いは移動距離によって表現される運動量を意味し、具体的には角速度が一定の閾値を超えた回数や、加速度及び角速度から求められる前腕の移動軌跡において前腕が前後/左右に移動した回数などである。
【0042】
次に、検出データ解析部305は、ユーザを特徴づける固有のパラメータβを読み出す(ステップS33)。βは、ユーザの年齢、性別、身長、体重又は活動レベル等に応じて設定される係数行列であり、例えばαが腕を口に運ぶ回数を意味するとき、βは一口の食事量を意味する係数として考えることができる。この係数行列は食事内容によって異なっていてもよいし同じであってもよい。一口で摂取する食事量は個人差があるが、同一ユーザが同一食品を摂取した場合には、一般に5〜9gの範囲でおおよそ一定値を示すことが知られている。このβはユーザ情報に基づいて算出される。
【0043】
次に、検出データ解析部305は、更新された値γがあるか否かを判断する(ステップS34)。γは食事内容によって変化するパラメータであり、αが示す値のうち各々の食事内容に費やした割合又は重みを意味する。γは単一の食品を食べる場合は1.0であるが、複数の食品を食べる場合は初期値としてIgeneralを用いた割合を設定することが考えられる。更新された値γがない場合には(ステップS34;なし)、γの初期値が利用されるし(ステップS35)、更新された値γがある場合には(ステップS34;あり)それが利用される(ステップS36)。
【0044】
次に、検出データ解析部305は、食事量Ieat= α × β × γ という式に従って食事量Ieatを求め、この食事量Ieatを用いて、最終的な認識結果となる食事量Irecを算出する(ステップS37)。認識結果となる食事量Irecは、 Ieatをそのものの値としてもよいし、Igeneral及びIeatの調和平均や算術平均であってもよい。ここで、調和平均は次式によって表される。上付きTは転置行列を意味する。
Irec =2 Ieat × ITgeneral/(Ieat + Igeneral)
検出データ解析部305は、Irecを算出する際に、ユーザ情報記憶部303に記憶された、類似性の高い他のユーザの食事量を反映させてもよい。例えば、協調フィルタリングなどを用いた方法や、食事にかかった時間を使った方法も考えられる。なお、ここでは、Irecは食品に対する食事量を、例えばサービング数の単位で認識しているが、グラム単位などでも良い。
【0045】
そして、食事情報がユーザによって修正された場合には、検出データ解析部305は、ユーザの修正した食事量をαにより除算してβ、γの値を更新する。
【0046】
図12は食事情報(食事内容)の一例を示す図であり、
図13は食事情報(食事量)の一例を示す図である。
図12に例示する食事内容は以下のとおりである。
registerd_date:検出データに基づく認識結果が情報処理装置3に登録された日時である。ユーザによって下記のデータが修正された場合は、その修正日時に更新される。
staple_food_id:主食として認識された食事内容の識別情報である。
entree_food_id:主菜として認識された食事内容の識別情報である。
side_dish_id:副菜として認識された食事内容の識別情報である。
dairy_id:乳製品として認識された食事内容の識別情報である。
fruit_id:果物として認識された食事内容の識別情報である。
【0047】
図13に例示する食事の量は以下のとおりである。
registerd_date:検出データに基づく認識結果が情報処理装置3に登録された日時である。ユーザによって下記のデータが修正された場合は、その修正日時に更新される。
recognition_values:主食、主菜、副菜、乳製品、果物について摂取された食事量を意味する。
図13の例では厚生労働省が推進する食事バランスガイドにそった食事量の表示形式である。この例では食事量はサービング数[SV]と呼ばれる単位である。
correct_values:ユーザによって修正された食事量である。
【0048】
認識モデルの更新、つまり個人用認識モデルの生成は、ユーザが食事情報の修正を行った場合に実施される。これは事前に構築した汎用認識モデルをユーザごとに最適化して認識精度を向上させるためである。検出データ解析部305は、ユーザが修正した食事内容や食事量を正解ラベルとみなすことで、認識モデルに対して教師あり学習を実施し、更新した認識モデルを個人用認識モデルとして認識モデル保持部306に保存する。
【0049】
また、
図14に示すように、ユーザによる食事情報の修正が一定期間行われなかった場合は(ステップS51;修正なし)、検出データ解析部305は、認識結果が正しいとみなし、この認識結果を正解ラベルとして、認識モデルに対する教師あり学習を実施する(ステップS52)。検出データ解析部305は、認識モデルを更新する際には、新たに検出データを保存し、汎用モデルの構築時に用いた日時の古い検出データを順次削除する、First-In First-Out方式を採用してもよい。ただし、モデル構築に用いる検出データの数は食事内容によって大きく偏ることがないようにすることが望ましい。このように、認識結果が誤りの場合にユーザが修正した場合だけでなく、一定期間(例えば1週間や1ヵ月など)経た後、認識モデルを更新することで、モデルがユーザごとに最適化されることになる。
【0050】
以上の実施形態によれば、ユーザの負担を軽減したうえで、食事の内容や量の記録を継続的に行うことが可能となる。そして、このように自動で記録される食事情報を用いることで、ユーザは健康を増進する目的のアドバイスを受けることができる。また、カメラなどの撮像手段ではなく、身体状態検出装置1がユーザの動きを検出するので、例えばカメラを用いたときのように周囲の人に対するプライバシ問題を引き起こす、という可能性を低減できる。また、認識モデルとして事前に用意したものを利用可能なため、食生活支援サービスのコールドスタート問題を引き起こすことなく、ユーザはすぐに一定レベルのサービスを利用することが可能となる。またユーザの修正に基づき認識モデルを更新できるため、ユーザにあった認識モデルを用いることが可能となる。
【0051】
[変形例]
上述した実施形態は次のような変形が可能である。また、以下の変形例を互いに組み合わせて実施してもよい。
[変形例1]
実施形態では、Naive Bayesを用いていたが、この限りではない。例えば加速度センサ又は角速度センサの検出データを時系列の情報として捉えると、隠れマルコフモデルなどを用いた方法も考えられる。また、実施形態では特徴量を抽出する方法を用いていたが、検出データが大量に集まることで汎用認識モデルの構築に深層学習を用いることも考えられ、特徴量を抽出する必要がない場合がある。
【0052】
[変形例2]
実施形態では、利き腕の前腕部に装着した1つの身体状態検出装置1を用いていたが、例えば左右両方の前腕や、上腕に装着した身体状態検出装置1を複数組み合わせて取得した検出データを用いて認識モデルを構築してもよい。例えば、利き手の前腕と非利き手の前腕に身体状態検出装置1を装着して食事を摂った場合には、箸などで料理を持ち上げ口に運ぶ動作に加え、非利き腕によって茶碗などを持ち上げる動作を組み合わせた検出データが取得できる。これらの検出データを複合的に用いてもよい。また、複数の身体状態検出装置1を装着する場合は、各身体状態検出装置1に搭載されるセンサが同一でなくともよい。これは、例えば右前腕に対して加速度センサを搭載した身体状態検出装置1を装着し、左前腕に対して角速度センサを搭載した身体状態検出装置1を装着することなどが考えられる。
【0053】
[変形例3]
実施形態では、食事量として農林水産省が活用を勧めている食事バランスガイドを用いているが、これは熱量を意味するカロリーなどを指標として使用することも考えられる。
【0054】
[変形例4]
ユーザが腕に装着した身体状態検出装置1に搭載されたセンサ群11によって音に関するデータを取得してもよいし、その他の箇所に装着又はユーザが携帯する情報機器などによってこの音を取得してもよい。また、身体状態検出装置1がWi-Fiなどを利用した無線通信部を有する場合は、通信装置2を介さずに情報処理装置3と通信を行ってもよい。また、通信装置2に対して、身体状態検出装置1が有線によって接続された状態で検出データを通信装置2に送信してもよい。また、通信装置2は、スマートホンやタブレットなどの無線通信を行う装置に限らず、例えばノートブック型のパーソナルコンピュータなどの有線通信を行う装置であってもよい。
【0055】
[その他の変形例]
なお、上記実施の形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及び/又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び/又は論理的に結合した1つの装置により実現されてもよいし、物理的及び/又は論理的に分離した2つ以上の装置を直接的及び/又は間接的に(例えば、有線及び/又は無線)で接続し、これら複数の装置により実現されてもよい。
【0056】
本明細書で説明した各態様/実施形態は、LTE(Long Term Evolution)、LTE−A(LTE-Advanced)、SUPER 3G、IMT−Advanced、4G、5G、FRA(Future Radio Access)、W−CDMA(登録商標)、GSM(登録商標)、CDMA2000、UMB(Ultra Mobile Broadband)、IEEE 802.11(Wi−Fi)、IEEE 802.16(WiMAX)、IEEE 802.20、UWB(Ultra-WideBand)、Bluetooth(登録商標)、その他の適切なシステムを利用するシステム及び/又はこれらに基づいて拡張された次世代システムに適用されてもよい。
【0057】
本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
本明細書で説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
【0058】
本明細書で使用する「システム」及び「通信網」という用語は、互換的に使用される。
【0059】
本明細書で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。
【0060】
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。また、「含む(including)」、「含んでいる(comprising)」、及びそれらの変形が、本明細書或いは特許請求の範囲で使用されている限り、これら用語は、用語「備える」と同様に、包括的であることが意図される。さらに、本明細書或いは特許請求の範囲において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。また、本開示の全体において、例えば、英語でのa, an, 及びtheのように、翻訳により冠詞が追加された場合、これらの冠詞は、文脈から明らかにそうではないことが示されていなければ、複数のものを含むものとする。
【0061】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)などの有線技術及び/又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
【0062】
「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。本明細書で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及び/又はプリント電気接続を使用することにより、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどの電磁エネルギーを使用することにより、互いに「接続」又は「結合」されると考えることができる。
【0063】
本発明に係る情報処理装置3は、実施形態で説明したようにそれぞれの機能の全てを一体に備えた装置によっても実現可能であるし、それぞれの装置の機能を、さらに複数の装置に分散して実装したシステムであってもよい。
【0064】
本発明は、情報処理装置3が行う情報処理方法、或いは、情報処理装置3としてコンピュータを機能させるためのプログラムといった形態でも実施が可能である。かかるプログラムは、光ディスク等の記録媒体に記録した形態で提供されたり、インターネット等の通信網を介して、コンピュータにダウンロードさせ、これをインストールして利用可能にするなどの形態で提供されたりすることが可能である。