(57)【要約】【課題】ユーザが摂った食事内容や食事量をユーザに負担をかけずに特定する。【解決手段】身体状態検出装置１は、ユーザの身体に装着される例えばスマートウォッチやリストバンド型のウェアラブルデバイスであり、加速度、角速度、音、脈拍、皮膚温度又は表面筋電位などの身体状態の指標となる値を検出するセンサ群を含んでいる。通信装置２は、例えばスマートホンやタブレットであり、身体状態検出装置１によって検出された結果に応じた検出データを近距離無線通信によって取得し、通信網４を介して情報処理装置３に送信する。情報処理装置３は、取得した検出データについて認識モデルを用いた解析を行うことで、ユーザが摂った食事の内容又は量に関する食事情報を生成し、通信装置２を介してユーザに提示する。【選択図】図１
2018067137.tif 000002
【特許請求の範囲】
【請求項１】
ユーザについて身体状態検出装置が検出した結果に応じた検出データを取得する検出データ取得部と、
取得された前記検出データについて認識モデルを用いた解析を行って、前記ユーザが摂った食事の内容又は量のうち少なくともいずれか一方に関する食事情報を生成し、当該食事情報が前記ユーザにより修正されると、修正された当該食事情報に更新する検出データ解析部と
を備えることを特徴とする情報処理装置。
【請求項２】
前記身体状態検出装置による検出結果は、ユーザの腕の動きに応じた加速度又は角速度を含む
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記検出データ解析部は、前記検出データを時間幅で区切ったときの平均、分散或いは標準偏差によって表現される統計量、又は、前記ユーザの腕の往復回数、回転数、移動方向或いは移動距離によって表現される運動量のうち、少なくともいずれか一方を用いて前記解析を行う
ことを特徴とする請求項１〜２のいずれか１項に記載の情報処理装置。
【請求項４】
前記身体状態検出装置による検出結果は、収音された音を含む
ことを特徴とする請求項１〜３のいずれか１項記載の情報処理装置。
【請求項５】
前記身体状態検出装置による検出結果は、前記ユーザの脈拍、皮膚温度又は表面筋電位を含む
ことを特徴とする請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記検出データ解析部は、生成した前記食事情報が前記ユーザにより修正された場合、当該修正の内容に応じて前記認識モデルを更新する
ことを特徴とする請求項１〜５のいずれか１項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの食事動作に基づいてそのユーザが摂った食事に関する情報を生成する技術に関する。
【背景技術】
【０００２】
健康管理等を目的として、ユーザに対して食生活についてアドバイスしたり食事内容の振り返りを支援したりするサービスが知られている。これらのサービスにおいては、日々の食事に関する情報を欠損なく継続的に記録することが望ましい。食事に関する情報を記録する方法として、例えば、ユーザが食事に関する情報を自らテキスト入力したり複数の選択肢から選択したりする方法や、スマートホンなどに搭載されるカメラを用いて撮影された料理の写真を画像解析して食事に関する情報を推定する方法などがある。しかし、食事のたびに入力や撮影を行うことは、ユーザにとっての作業負担が大きい。さらに、これらの入力や撮影を忘れることもあり、この点がこのサービスの継続的な利用に対する阻害要因となっている。特許文献１，２には、ユーザについて検出された皮膚温度、脈拍、皮膚表面電位又は加速度などに基づき、ユーザの食事の有無を自動的に検知する仕組みが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】：特開２０１２−１２８７５０
【特許文献２】：特開２００３−１７３３７５
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１，２に記載された仕組みは、ユーザの食事の有無や食事時間を検知するに留まっており、ユーザの健康管理に有効な情報、例えば食事の内容や量までをも認識するものではない。
【０００５】
そこで、本発明は、ユーザが摂った食事の内容又は量をユーザに負担をかけずに認識することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明は、ユーザについて身体状態検出装置が検出した結果に応じた検出データを取得する検出データ取得部と、取得された前記検出データについて認識モデルを用いた解析を行って、前記ユーザが摂った食事の内容又は量のうち少なくともいずれか一方に関する食事情報を生成
し、当該食事情報が前記ユーザにより修正されると、修正された当該食事情報に更新する検出データ解析部とを備えることを特徴とする情報処理装置を提供する。
【０００７】
前記身体状態検出装置による検出結果は、ユーザの腕の動きに応じた加速度又は角速度を含むようにしてもよい。
【０００８】
前記検出データ解析部は、前記検出データを時間幅で区切ったときの平均、分散或いは標準偏差によって表現される統計量、又は、前記ユーザの腕の往復回数、回転数、移動方向或いは移動距離によって表現される運動量のうち、少なくともいずれか一方を用いて前記解析を行うようにしてもよい。
【０００９】
前記身体状態検出装置による検出結果は、収音された音を含むようにしてもよい。
【００１０】
前記身体状態検出装置による検出結果は、前記ユーザの脈拍、皮膚温度又は表面筋電位を含むようにしてもよい。
【００１１】
前記検出データ解析部は、生成した前記食事情報が前記ユーザにより修正された場合、当該修正の内容に応じて前記認識モデルを更新するようにしてもよい。
【発明の効果】
【００１２】
本発明によれば、ユーザが摂った食事の内容又は量をユーザに負担をかけずに認識することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係る食事管理システムの全体構成を示す図である。
【図２】食事管理システムにおける各装置のハードウェア構成を示すブロック図である。
【図３】食事管理システムにおける各装置の機能構成を示すブロック図である。
【図４】情報処理装置が記憶しているユーザ情報の一例を示す図である。
【図５】情報処理装置が記憶している食品情報の一例を示す図である。
【図６】情報処理装置が記憶している対応表の一例を示す図である。
【図７】情報処理装置において食事情報を生成する処理を示すフローチャートである。
【図８】汎用認識モデルを生成する処理を示すフローチャートである。
【図９】汎用認識モデルを生成する処理を説明する模式図である。
【図１０】食事内容の解析処理の具体的内容を示すフローチャートである。
【図１１】食事量の解析処理の具体的内容を示すフローチャートである。
【図１２】食事情報（食事内容）の一例を示す図である。
【図１３】食事情報（食事量）の一例を示す図である。
【図１４】認識モデルの更新処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
［構成］
図１は、本発明の実施形態に係る食事管理システムの全体構成を示すブロック図である。この食事管理システムは、食事を摂るユーザの身体状態を検出する身体状態検出装置１と、ユーザによって携帯されて操作される通信装置２と、ユーザの食事を管理する情報処理装置３と、通信装置２及び情報処理装置３を通信可能に接続する通信網４とを備えている。
【００１５】
身体状態検出装置１は、ユーザの身体に装着される、例えばスマートウォッチやリストバンド型のウェアラブルデバイスであり、加速度、角速度、音、脈拍、皮膚温度又は表面筋電位などの身体状態の指標となる値を検出するセンサ群を含んでいる。典型的には、身体状態検出装置１は、ユーザの利き腕に装着され、その利き腕の動きに応じた加速度又は角速度を少なくとも検出する。
【００１６】
通信網４は移動通信網及び固定通信網を含む。通信装置２は、例えばスマートホンやタブレットであり、通信網の無線基地局と例えばＬＴＥ（Long Term Evolution）等の通信規格の無線通信を行う通信装置、又は通信網の無線アクセスポイントと例えばＷｉ−Ｆｉ（登録商標）等の通信規格の無線通信を行う通信装置である。通信装置２は、身体状態検出装置１によって検出された結果に応じた検出データを、例えばブルートゥース（登録商標）などの通信規格などの近距離無線通信によって身体状態検出装置１から取得し、通信網４を介して情報処理装置３に送信する。
【００１７】
情報処理装置３は、通信装置２から取得した検出データについて認識モデルを用いた解析を行うことで、ユーザが摂った食事に関する食事情報を生成し、この食事情報を通信装置２を介してユーザに提示する。
【００１８】
このように、食事管理システムは、ユーザの動作を検出し、この検出結果を利用して食事に関する情報を生成して記録することで、ユーザの日々の食事内容や食事量を自動的に管理する。これにより、ユーザによる食事に関する情報の入力負担が軽減され、継続的に食事管理を行うことが可能となる。
【００１９】
図２は、食事管理システムにおける各装置のハードウェア構成を示すブロック図である。身体状態検出装置１は、例えば加速度センサ、角速度センサ、マイクセンサ、脈拍センサ、皮膚温度センサ又は表面筋電位センサなどの身体状態の指標となる値を検出するセンサ群１１と、例えばブルートゥース（登録商標）などの通信規格の近距離無線通信を行うためのアンテナや通信回路を含み、身体状態の指標となる値に応じた検出データを通信装置２に送信する近距離無線通信部１２とを備えている。さらに、身体状態検出装置１は、検出データを一時的に保存するための記憶装置を備え、この記憶装置に検出データ群を一時的に記憶しておいて、これらをまとめて通信装置２に送信するようにしてもよい。
【００２０】
通信装置２は、制御部２１と、無線通信部２２と、記憶部２３と、ＵＩ（User Interface）部２４と、近距離無線通信部２５と備えたコンピュータである。制御部２１は、ＣＰＵ（Central Processing Unit）などの演算装置と、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）などの記憶装置とを備えている。ＲＯＭには、ＣＰＵによって実行されるプログラムが記憶されている。ＣＰＵは、ＲＡＭをワークエリアとして用いてＲＯＭや記憶部２３に記憶されたプログラムを実行することによって、通信装置２０の各部の動作を制御する。無線通信部２２は、例えばＬＴＥなどの通信規格のアンテナや通信回路を備えており、移動通信網を介した通信を行う。記憶部２３は、例えばＥＥＰＲＯＭ（Electronically Erasable and Programmable ROM）やフラッシュメモリなどの記憶手段であり、制御部２１が用いるデータ群やプログラム群を記憶している。ＵＩ部２４は、キーやタッチセンサなどの操作子が設けられた操作部と、液晶パネルや液晶駆動回路などの表示部とを含んでいる。近距離無線通信部２５は、例えばブルートゥース（登録商標）などの通信規格の近距離無線通信を行うためのアンテナや通信回路を備えている。通信装置２は、これらの構成以外に、例えばマイクやスピーカ、カメラなどを含んでいてもよい。
【００２１】
情報処理装置３は、制御部３１と、記憶部３２と、通信部３３とを備えたコンピュータである。制御部３１は、ＣＰＵ等の演算装置と、ＲＯＭ及びＲＡＭなどの記憶装置とを備えている。ＣＰＵは、ＲＡＭをワークエリアとして用いてＲＯＭや記憶部３２に記憶されたプログラムを実行することによって、情報処理装置１０の各部の動作を制御する。通信部３３は通信網４に接続されている。記憶部３２は、例えばハードディスク等の大容量で不揮発性の記憶手段である。記憶部３２は、制御部３１が用いるデータ群やプログラム群を記憶しており、例えばユーザに関するユーザ情報及び食品に関する食品情報を予め記憶している。
【００２２】
図３は、食事管理システムにおける各装置の機能構成を示すブロック図である。身体状態検出装置１は、ユーザの身体状態を検出する身体状態検出部１０１と、ユーザについて身体状態検出部１０１が検出した結果に応じた検出データを通信装置２に送信する検出データ送信部１０２とを備えている。身体状態検出部１０１は主にセンサ群１１によって実現され、検出データ送信部１０２は主に近距離無線通信部１２によって実現される。
【００２３】
通信装置２は、身体状態検出装置１から送信されてくる検出データを受信する検出データ受信部２０１と、その検出データを情報処理装置３に送信する検出データ送信部２０２と、情報処理装置３からユーザが摂った食事に関する食事情報を受け取ってユーザに提示する食事情報提示部２０３と、ユーザによる食事情報の修正を受け付けてその修正結果を情報処置装置３に通知する食事情報修正部２０４とを備えている。検出データ受信部２０１は近距離無線通信部２５によって実現され、検出データ送信部２０２は主に無線通信部２２によって実現され、食事情報提示部２０３及び食事情報修正部２０４は、主に制御部２１、ＵＩ部２４及び無線通信部２２によって実現される。
【００２４】
情報処理装置３は、通信装置２から送信されてくる検出データを取得する検出データ取得部３０１と、その検出データを保存する検出データ保存部３０２と、ユーザに関するユーザ情報を記憶するユーザ情報記憶部３０３と、食品に関する食品情報を記憶する食品情報記憶部３０４と、検出データについて認識モデルを用いた解析を行ってユーザが摂った食事に関する食事情報を生成する検出データ解析部３０５と、認識モデルを保持する認識モデル保持部３０６と、生成された食事情報を保存してこの食事情報に関して通信装置２と遣り取りする食事情報保存部３０７とを備えている。認識モデル保持部３０６が保存する認識モデルは、複数のユーザに対して汎用的に共通で利用することができる汎用認識モデルと、ユーザごとに最適化された個人用認識モデルとを含む。検出データ保存部３０２が保存する検出データは、身体状態検出装置１によって検出された検出データが加工されることなく保存されたものであってもよいし、情報処理装置３によって例えば特徴量抽出が行われたあとの検出データが保存されたものであってもよい。検出データ取得部３０１は主に通信部３３によって実現され、検出データ保存部３０２、ユーザ情報記憶部３０３、食品情報記憶部３０４及び認識モデル保持部３０６は主に記憶部３２によって実現され、食事情報保存部３０７は制御部３１、記憶部３２及び通信部３３によって実現され、検出データ解析部３０５は主に制御部３１によって実現される。
【００２５】
次に、情報処理装置３において予め記憶されている情報について説明する。図４は、ユーザ情報記憶部３０３に記憶されているユーザ情報の一例を示す図であり、各情報の内容は以下のとおりである。
User_id：ユーザの識別情報である。
registered_date：ユーザ情報が情報処理装置３に登録された日時に関する情報である。
birth：ユーザの生年月日である。
age：ユーザの年齢（才）である。
sex：ユーザの性別である。
height：ユーザの身長（cm）である。
weight：ユーザの体重（kg）である。
physical_activity_level：ユーザの活動レベルの指標値である。
このように、生年月日、性別、身長、体重、活動レベルといった、ユーザ固有の属性情報が各ユーザにユニークな識別情報と紐づけされた状態で記憶されている。
【００２６】
図５は、食品情報記憶部３０４に記憶されている食品情報の一例を示す図である。本実施形態においては、ユーザが摂った食事の量を認識するために、人間の一般的な食事量（一般食事量）が食品情報として事前に用意されている。この一般食事量は、例えば総務省の国民健康・栄養調査などの年齢、性別、地域ブロック別の統計値や農水省が公表する食事バランスガイドのＳＶ早見表に従う。例えばＳＶ早見表においては、食事内容を主食（staple）、主菜（entree）、副菜（side）、牛乳・乳製品（dairy）、果物（fruit）という５つのグループに分け、これらの食事内容ごとに、人間が一般的に食べられると推定される食事量を規定している。この食事量は、図４に示したユーザの性別、年齢、身長、体重又は活動レベルといったユーザ情報に応じて変動させてもよいが、ここでは、全ユーザで共通の固定量とする。図５に例示した食品情報は、食品ごとに事前に定められた食事量を定義する情報であり、例えば丼もの（Rice bowl）は、主食（staple）としての量が２、主菜（entree）としての量が１、副菜（side）としての量が２、牛乳・乳製品（dairy）としての量が０、果物（fruit）としての量が０である。
【００２７】
図６は、これらの主食（staple）、主菜（entree）、副菜（side）、牛乳・乳製品（dairy）、果物（fruit）ごとに用意された、具体的な食事内容（Rice bowl…Fried egg…）とその識別情報（staple_food_id、entree_food_id、side_dish_id、dairy_id、fruit_id）との対応表である。これらの対応表も食品情報として食品情報記憶部３０４に予め記憶されている。
【００２８】
［動作］
次に、食事管理システムの動作を説明する。
図７は、情報処理装置３において食事情報を生成する処理を示すフローチャートである。まず、身体状態検出装置１によって得られた検出データは、通信装置２を介して情報処理装置３に送信されてくる。情報処理装置３の検出データ取得部３０１は、通信装置２から送信されてくる検出データを取得すると、これを検出データ保存部２０２に保存する。食事情報を生成するべき所定の時期（例えば定期的な時期）が到来すると、検出データ解析部３０５は、認識モデル保持部３０６が保持する認識モデルを読み出す（ステップＳ１１）。
【００２９】
検出データ解析部３０５は、検出データ保存部２０２に保存されている検出データについて、読み出した認識モデルを用いた解析を行って、ユーザが摂った食事の内容又は量のうち少なくともいずれか一方に関する食事情報を生成する（ステップＳ１２）。食事情報保存部３０７は、生成した食事情報を通信装置２に送信する（ステップＳ１３）。
【００３０】
通信装置２の食事情報提示部２０３は、食事情報を表示してユーザに提示する。提示された情報についてユーザによる修正が無ければ（ステップＳ１４；修正なし）、食事情報提示部２０３はその旨を食事情報保存部３０７に通知する。食事情報保存部３０７は、この通知に応じて上記食事情報をそのまま保存する（ステップＳ１５）。一方、ユーザによる修正があれば（ステップＳ１４；修正あり）、食事情報提示部２０３はその旨を食事情報保存部３０７に通知する。この通知に応じて、検出データ解析部３０５は、認識モデル保持部３０６が保存する認識モデルを更新する（ステップＳ１６）。食事情報保存部３０７は、通知された修正の内容に基づいて上記食事情報を更新して保存する（ステップＳ１５）。
【００３１】
ここで、認識モデルについて説明する。前述したように、認識モデルは、複数のユーザに対して汎用的に共通で利用することができる汎用認識モデルと、ユーザごとに最適化された個人用認識モデルとを含むが、まず図８を用いて、汎用認識モデルの構築処理について説明する。図８において、検出データ解析部３０５は、汎用認識モデルの構築処理用の検出データを検出データ保存部３０２に保存する（ステップＳ４１）。この汎用認識モデルの構築処理用の検出データは、検出データ取得部３０１により取得された検出データの一部でもよいし、予めサンプルとして用意された検出データであってもよい。
【００３２】
検出データ解析部３０５は、この検出データに対して、ノイズ除去を目的としたプレフィルタ及びサブサンプリングを行う（ステップＳ４２）。ここで、ノイズ除去を目的としたプレフィルタは、例えば移動窓を用いたガウシアンフィルタ、移動平均法によるもの又はローパスフィルタなどが考えられる。サブサンプリングは処理を高速化するために実施される。このとき、検出データの情報量を落とすことが無いように、人間の動作に対して一般に対応するとされる周波数（例えば加速度センサの場合は２０Ｈｚ）を考慮してサンプリングの定理などを踏まえて、このサンプリングを実施してもよい。ここで、検出データの特徴量として考えられるものは、例えば検出データを或る時間幅で区切ったときの平均、分散或いは標準偏差（移動窓に対する平均や分散、標準偏差など）によって表現される統計量、又は、ユーザの腕の往復回数、回転数、移動方向或いは移動距離によって表現される運動量のうち、少なくともいずれか一方が考えられる。後者の運動量は、例えば、角速度の検出データを時間に沿って積分することで得られる移動量や、離散化フーリエ変換によって得られる周波数特性などによって表される量が考えられる。身体状態検出装置１が身体状態として音を検出する場合においても、加速度や角速度と同様の統計量や、離散化フーリエ変換によって得られるケプストラムなどの特徴量を用いればよい。また、皮膚温度センサ又は表面筋電位センサから得られた検出データに対しても同様の処理を施すことで得られる特徴量などが考えられる。
【００３３】
ここで、例えばラーメンを啜る動作においては、その動作に特徴的な加速度、角速度、音、脈拍、皮膚温度又は表面筋電位が検出されはずである。検出データ解析部３０５は、認識対象とする食事内容ごとに取得した検出データ集合を、Dfood=[logData1,food, logData2,food, logData3,food, …,logDatan,food]とする。ここで、food∈[Rice bowl, Omerice, Curry Rice, Spaghetti, Hamburger, … ]であり、食事内容の集合である。nは食事内容ごとの検出データの数を意味する。検出データ解析部３０５は、このDfoodから特徴量を抽出し、特徴量集合Ffood=[f1,food,f2,food,f3,food,…fm,food]を得る（ステップＳ４３）。ここで、mは特徴量の取得数である。
【００３４】
検出データ解析部３０５は、特徴量集合Ffoodに対して、一般に文書分類や画像分類の技術で用いられるBag-of-Words（BOWs）モデルを適用し、word集合Wfood =[word1,food,word2,food,word3,food,…,wordl,food] に変換する（ステップＳ４４）。lは食事内容ごとのword数を意味する。ここでは、k-meansやk-means++、x-meansなどのクラスタリング手法を用いることで、特徴量集合Ffoodの類似性の高い特徴量を、ひとつのwordと呼ばれる代表的な特徴量で表現している。k-meansの場合、指定するクラスタリング数kは食事中に発生する特徴的な動作の数を意味し、上記 l と同意である。この特徴的な動作とは、例えばラーメンを啜る動作や米を掻き込む動作など、それぞれの食事内容に固有の動作である。BOWsモデルを適用時は検出データの時系列情報は無視されることになる。foodのすべてに対するwordを集めたものはdictionary又はcodebookと呼ばれ、認識対象である食事内容すべての代表的な特徴量を集めたものである。
【００３５】
検出データ解析部３０５は、集合Dfoodに含まれる各検出データに対して、Wfoodを時系列順に並べ、連続するN個のwordを新たなwordとして割り当てることで、N-gramにおける表現を行う（ステップＳ４５）。検出データ解析部３０５は、N-gramを適用し、新たなwordを用いて食事内容ごとのwordのヒストグラムを作成する（ステップＳ４６）。具体的には、検出データ解析部３０５は、図９に例示するように、特徴量からwordsを取得してA,A,D,B,B,C,C…と時系列順に並べ、連続するN個（ここではN=３）のwordsを抽出し、N個（ここではN=3）のwordsの組AAD、ADB、DBB…に対して、それぞれ f1,f2…をwordとした新たな辞書F=[f1,f2,…]を取得し、局所的な連続性を加味したＦでヒストグラム化を行う。
【００３６】
このように、連続したN個のwordをひとつのwordとしてとらえたN-gramによって、局所的な連続性を考慮した食事内容の認識を行うことができる。例えば、食事内容がラーメンであった場合は、箸で麺を持ち上げる→麺に息を吹きかける→啜る、といった一連の動作の特徴を食事内容の認識に利用すること可能となる。このとき特徴量を抽出するときの窓幅は一定間隔であってもよいし、加速度センサなどの値をもとに可変な間隔として設定してもよい。ただし、認識する食事内容及び量をマルチラベル（例えば、ラーメン+餃子など）で認識する場合は、この間隔は狭い方が好ましい。ただし、このヒストグラム化は次ステップにおいて機械学習のひとつであるNaive Bayesを利用するためであり、その他の学習手法を用いる場合はその限りではない。
【００３７】
そして、検出データ解析部３０５は、ヒストグラム化によって食事内容ごとのwordの出現確率が算出可能となるから、Naive Bayesを適用して食事内容ごとに発生するwordの尤度を算出する（ステップＳ４７）。検出データ解析部３０５は、以上の処理によって生成した汎用認識モデルを認識モデル保持部３０６に保存する（ステップＳ４８）。
【００３８】
図１０は、食事内容を生成する場合（図７：ステップＳ１２）において、食事内容を解析するための具体的処理を示すフローチャートである。まず、検出データ解析部３０５は、検出データ保存部３０２から検出データを読み出す（ステップＳ２１）。検出データ解析部３０５は、読み出した検出データに対して、汎用認識モデル構築時と同様の手順で（ステップＳ４１〜Ｓ４６）、ヒストグラム化までの処理を行う（ステップＳ２２）。このときのヒストグラム化の処理はNaive Bayesを用いるために行っており、その他の機械学習手法を用いる場合はその限りではない。
【００３９】
検出データ解析部３０５は、上述した汎用認識モデル又はユーザ単位で最適化された個人用認識モデルの有無を確認し（ステップＳ２３）、利用する認識モデルを選択する（ステップＳ２４，Ｓ２５）。つまり、検出データ解析部３０５は、食事の解析対象となるユーザについての個人用認識モデルが有れば（ステップＳ２３；あり）、個人用認識モデルを選択するし（ステップＳ２５）、個人用認識モデルが無ければ（ステップＳ２３；なし）、汎用認識モデルを選択する（ステップＳ２４）。検出データ解析部３０５は、選択した認識モデルを用いた機械学習手法（Naive Bayes）によって確率が最も高い食事内容に関する食事情報を認識結果として食事情報保存部３０７に保存する（ステップＳ２６，Ｓ２７）。保存された食事情報は通信装置２に送信されてユーザに提示される。ここで、最も確率の高い食事情報だけでなく、２番目や３番目に確率が高い食事情報も認識結果として食事情報保存部３０７に保存しておいてユーザに提示してもよい。これら次順の食事情報は、ユーザが最も確率の高い食事情報を修正するときに利用される。
【００４０】
次に、図１１は、食事量を解析するための具体的処理を示すフローチャートである。検出データ解析部３０５は、食事内容の認識処理が行われたのち、認識された食事内容に対応する一般食事量Igeneral を食品情報記憶部３０４から読み出す（ステップＳ３１）。
【００４１】
検出データ解析部３０５は、検出されたユーザの腕の加速度及び角速度に基づいて、前腕の動きを特徴づける値αを求める（ステップＳ３２）。αは、例えばユーザの腕の往復回数、回転数、移動方向或いは移動距離によって表現される運動量を意味し、具体的には角速度が一定の閾値を超えた回数や、加速度及び角速度から求められる前腕の移動軌跡において前腕が前後/左右に移動した回数などである。
【００４２】
次に、検出データ解析部３０５は、ユーザを特徴づける固有のパラメータβを読み出す（ステップＳ３３）。βは、ユーザの年齢、性別、身長、体重又は活動レベル等に応じて設定される係数行列であり、例えばαが腕を口に運ぶ回数を意味するとき、βは一口の食事量を意味する係数として考えることができる。この係数行列は食事内容によって異なっていてもよいし同じであってもよい。一口で摂取する食事量は個人差があるが、同一ユーザが同一食品を摂取した場合には、一般に5〜9gの範囲でおおよそ一定値を示すことが知られている。このβはユーザ情報に基づいて算出される。
【００４３】
次に、検出データ解析部３０５は、更新された値γがあるか否かを判断する（ステップＳ３４）。γは食事内容によって変化するパラメータであり、αが示す値のうち各々の食事内容に費やした割合又は重みを意味する。γは単一の食品を食べる場合は1.0であるが、複数の食品を食べる場合は初期値としてIgeneralを用いた割合を設定することが考えられる。更新された値γがない場合には（ステップＳ３４；なし）、γの初期値が利用されるし（ステップＳ３５）、更新された値γがある場合には（ステップＳ３４；あり）それが利用される（ステップＳ３６）。
【００４４】
次に、検出データ解析部３０５は、食事量Ieat＝ α × β × γ  という式に従って食事量Ieatを求め、この食事量Ieatを用いて、最終的な認識結果となる食事量Irecを算出する（ステップＳ３７）。認識結果となる食事量Irecは、 Ieatをそのものの値としてもよいし、Igeneral及びIeatの調和平均や算術平均であってもよい。ここで、調和平均は次式によって表される。上付きTは転置行列を意味する。
Irec =2 Ieat × ITgeneral/（Ieat + Igeneral）
検出データ解析部３０５は、Irecを算出する際に、ユーザ情報記憶部３０３に記憶された、類似性の高い他のユーザの食事量を反映させてもよい。例えば、協調フィルタリングなどを用いた方法や、食事にかかった時間を使った方法も考えられる。なお、ここでは、Irecは食品に対する食事量を、例えばサービング数の単位で認識しているが、グラム単位などでも良い。
【００４５】
そして、食事情報がユーザによって修正された場合には、検出データ解析部３０５は、ユーザの修正した食事量をαにより除算してβ、γの値を更新する。
【００４６】
図１２は食事情報（食事内容）の一例を示す図であり、図１３は食事情報（食事量）の一例を示す図である。図１２に例示する食事内容は以下のとおりである。
registerd_date：検出データに基づく認識結果が情報処理装置３に登録された日時である。ユーザによって下記のデータが修正された場合は、その修正日時に更新される。
staple_food_id：主食として認識された食事内容の識別情報である。
entree_food_id：主菜として認識された食事内容の識別情報である。
side_dish_id：副菜として認識された食事内容の識別情報である。
dairy_id：乳製品として認識された食事内容の識別情報である。
fruit_id：果物として認識された食事内容の識別情報である。
【００４７】
図１３に例示する食事の量は以下のとおりである。
registerd_date：検出データに基づく認識結果が情報処理装置３に登録された日時である。ユーザによって下記のデータが修正された場合は、その修正日時に更新される。
recognition_values：主食、主菜、副菜、乳製品、果物について摂取された食事量を意味する。図１３の例では厚生労働省が推進する食事バランスガイドにそった食事量の表示形式である。この例では食事量はサービング数[SV]と呼ばれる単位である。
correct_values：ユーザによって修正された食事量である。
【００４８】
認識モデルの更新、つまり個人用認識モデルの生成は、ユーザが食事情報の修正を行った場合に実施される。これは事前に構築した汎用認識モデルをユーザごとに最適化して認識精度を向上させるためである。検出データ解析部３０５は、ユーザが修正した食事内容や食事量を正解ラベルとみなすことで、認識モデルに対して教師あり学習を実施し、更新した認識モデルを個人用認識モデルとして認識モデル保持部３０６に保存する。
【００４９】
また、図１４に示すように、ユーザによる食事情報の修正が一定期間行われなかった場合は（ステップＳ５１；修正なし）、検出データ解析部３０５は、認識結果が正しいとみなし、この認識結果を正解ラベルとして、認識モデルに対する教師あり学習を実施する（ステップＳ５２）。検出データ解析部３０５は、認識モデルを更新する際には、新たに検出データを保存し、汎用モデルの構築時に用いた日時の古い検出データを順次削除する、First-In First-Out方式を採用してもよい。ただし、モデル構築に用いる検出データの数は食事内容によって大きく偏ることがないようにすることが望ましい。このように、認識結果が誤りの場合にユーザが修正した場合だけでなく、一定期間（例えば１週間や１ヵ月など）経た後、認識モデルを更新することで、モデルがユーザごとに最適化されることになる。
【００５０】
以上の実施形態によれば、ユーザの負担を軽減したうえで、食事の内容や量の記録を継続的に行うことが可能となる。そして、このように自動で記録される食事情報を用いることで、ユーザは健康を増進する目的のアドバイスを受けることができる。また、カメラなどの撮像手段ではなく、身体状態検出装置１がユーザの動きを検出するので、例えばカメラを用いたときのように周囲の人に対するプライバシ問題を引き起こす、という可能性を低減できる。また、認識モデルとして事前に用意したものを利用可能なため、食生活支援サービスのコールドスタート問題を引き起こすことなく、ユーザはすぐに一定レベルのサービスを利用することが可能となる。またユーザの修正に基づき認識モデルを更新できるため、ユーザにあった認識モデルを用いることが可能となる。
【００５１】
［変形例］
上述した実施形態は次のような変形が可能である。また、以下の変形例を互いに組み合わせて実施してもよい。
[変形例１]
実施形態では、Naive Bayesを用いていたが、この限りではない。例えば加速度センサ又は角速度センサの検出データを時系列の情報として捉えると、隠れマルコフモデルなどを用いた方法も考えられる。また、実施形態では特徴量を抽出する方法を用いていたが、検出データが大量に集まることで汎用認識モデルの構築に深層学習を用いることも考えられ、特徴量を抽出する必要がない場合がある。
【００５２】
[変形例２]
実施形態では、利き腕の前腕部に装着した１つの身体状態検出装置１を用いていたが、例えば左右両方の前腕や、上腕に装着した身体状態検出装置１を複数組み合わせて取得した検出データを用いて認識モデルを構築してもよい。例えば、利き手の前腕と非利き手の前腕に身体状態検出装置１を装着して食事を摂った場合には、箸などで料理を持ち上げ口に運ぶ動作に加え、非利き腕によって茶碗などを持ち上げる動作を組み合わせた検出データが取得できる。これらの検出データを複合的に用いてもよい。また、複数の身体状態検出装置１を装着する場合は、各身体状態検出装置１に搭載されるセンサが同一でなくともよい。これは、例えば右前腕に対して加速度センサを搭載した身体状態検出装置１を装着し、左前腕に対して角速度センサを搭載した身体状態検出装置１を装着することなどが考えられる。
【００５３】
[変形例３]
実施形態では、食事量として農林水産省が活用を勧めている食事バランスガイドを用いているが、これは熱量を意味するカロリーなどを指標として使用することも考えられる。
【００５４】
[変形例４]
ユーザが腕に装着した身体状態検出装置１に搭載されたセンサ群１１によって音に関するデータを取得してもよいし、その他の箇所に装着又はユーザが携帯する情報機器などによってこの音を取得してもよい。また、身体状態検出装置１がWi-Fiなどを利用した無線通信部を有する場合は、通信装置２を介さずに情報処理装置３と通信を行ってもよい。また、通信装置２に対して、身体状態検出装置１が有線によって接続された状態で検出データを通信装置２に送信してもよい。また、通信装置２は、スマートホンやタブレットなどの無線通信を行う装置に限らず、例えばノートブック型のパーソナルコンピュータなどの有線通信を行う装置であってもよい。
【００５５】
［その他の変形例］
なお、上記実施の形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック（構成部）は、ハードウェア及び／又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び／又は論理的に結合した１つの装置により実現されてもよいし、物理的及び／又は論理的に分離した２つ以上の装置を直接的及び／又は間接的に（例えば、有線及び／又は無線）で接続し、これら複数の装置により実現されてもよい。
【００５６】
本明細書で説明した各態様／実施形態は、ＬＴＥ（Long  Term  Evolution）、ＬＴＥ−Ａ（LTE-Advanced）、ＳＵＰＥＲ  ３Ｇ、ＩＭＴ−Ａｄｖａｎｃｅｄ、４Ｇ、５Ｇ、ＦＲＡ（Future  Radio  Access）、Ｗ−ＣＤＭＡ（登録商標）、ＧＳＭ（登録商標）、ＣＤＭＡ２０００、ＵＭＢ（Ultra  Mobile  Broadband）、ＩＥＥＥ  ８０２．１１（Ｗｉ−Ｆｉ）、ＩＥＥＥ  ８０２．１６（ＷｉＭＡＸ）、ＩＥＥＥ  ８０２．２０、ＵＷＢ（Ultra-WideBand）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、その他の適切なシステムを利用するシステム及び／又はこれらに基づいて拡張された次世代システムに適用されてもよい。
【００５７】
本明細書で説明した各態様／実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
本明細書で説明した各態様／実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知（例えば、「Ｘであること」の通知）は、明示的に行うものに限られず、暗黙的（例えば、当該所定の情報の通知を行わない）ことによって行われてもよい。
【００５８】
本明細書で使用する「システム」及び「通信網」という用語は、互換的に使用される。
【００５９】
本明細書で使用する「判断（determining）」、「決定（determining）」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定（judging）、計算（calculating）、算出（computing）、処理（processing）、導出（deriving）、調査（investigating）、探索（looking up）（例えば、テーブル、データベース又は別のデータ構造での探索）、確認（ascertaining）した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信（receiving）（例えば、情報を受信すること）、送信（transmitting）（例えば、情報を送信すること）、入力（input）、出力（output）、アクセス（accessing）（例えば、メモリ中のデータにアクセスすること）した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決（resolving）、選択（selecting）、選定（choosing）、確立（establishing）、比較（comparing）などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。
【００６０】
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。また、「含む（including）」、「含んでいる（comprising）」、及びそれらの変形が、本明細書或いは特許請求の範囲で使用されている限り、これら用語は、用語「備える」と同様に、包括的であることが意図される。さらに、本明細書或いは特許請求の範囲において使用されている用語「又は（or）」は、排他的論理和ではないことが意図される。また、本開示の全体において、例えば、英語でのa, an, 及びtheのように、翻訳により冠詞が追加された場合、これらの冠詞は、文脈から明らかにそうではないことが示されていなければ、複数のものを含むものとする。
【００６１】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線（ＤＳＬ）などの有線技術及び／又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び／又は無線技術は、伝送媒体の定義内に含まれる。
【００６２】
「接続された（connected）」、「結合された（coupled）」という用語、又はこれらのあらゆる変形は、２又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された２つの要素間に１又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。本明細書で使用する場合、２つの要素は、１又はそれ以上の電線、ケーブル及び／又はプリント電気接続を使用することにより、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光（可視及び不可視の両方）領域の波長を有する電磁エネルギーなどの電磁エネルギーを使用することにより、互いに「接続」又は「結合」されると考えることができる。
【００６３】
本発明に係る情報処理装置３は、実施形態で説明したようにそれぞれの機能の全てを一体に備えた装置によっても実現可能であるし、それぞれの装置の機能を、さらに複数の装置に分散して実装したシステムであってもよい。
【００６４】
本発明は、情報処理装置３が行う情報処理方法、或いは、情報処理装置３としてコンピュータを機能させるためのプログラムといった形態でも実施が可能である。かかるプログラムは、光ディスク等の記録媒体に記録した形態で提供されたり、インターネット等の通信網を介して、コンピュータにダウンロードさせ、これをインストールして利用可能にするなどの形態で提供されたりすることが可能である。
【符号の説明】
【００６５】
１・・・身体状態検出装置、２・・・通信装置、３・・・情報処理装置、１１・・・センサ群、１２・・・近距離無線通信部、２１・・・制御部、２２・・・無線通信部、２３・・・記憶部、２４・・・ＵＩ部、２５・・・近距離無線通信部、３１・・・制御部、３２・・・記憶部、３３・・・通信部、１０１・・・身体状態検出部、１０２・・・検出データ送信部、２０１・・・検出データ受信部、２０２・・・検出データ送信部、２０３・・・食事情報提示部、２０４・・・食事情報提示部、３０１・・・検出データ取得部、３０２・・・検出データ保存部、３０３・・・ユーザ情報記憶部、３０４・・・食品情報記憶部、３０５・・・検出データ解析部、３０６・・・認識モデル保持部、３０７・・・食事情報保存部、４・・・通信網。
【図１】
2018067137.tif 000003
【図２】
2018067137.tif 000004
【図３】
2018067137.tif 000005
【図４】
2018067137.tif 000006
【図５】
2018067137.tif 000007
【図６】
2018067137.tif 000008
【図７】
2018067137.tif 000009
【図８】
2018067137.tif 000010
【図９】
2018067137.tif 000011
【図１０】
2018067137.tif 000012
【図１１】
2018067137.tif 000013
【図１２】
2018067137.tif 000014
【図１３】
2018067137.tif 000015
【図１４】
2018067137.tif 000016