(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024134676
(43)【公開日】2024-10-04
(54)【発明の名称】食事管理装置、方法及びプログラム
(51)【国際特許分類】
G16H 10/00 20180101AFI20240927BHJP
【FI】
G16H10/00
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023044992
(22)【出願日】2023-03-22
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100092772
【弁理士】
【氏名又は名称】阪本 清孝
(74)【代理人】
【識別番号】100119688
【弁理士】
【氏名又は名称】田邉 壽二
(72)【発明者】
【氏名】水口 恵美子
(72)【発明者】
【氏名】高井 公一
【テーマコード(参考)】
5L099
【Fターム(参考)】
5L099AA15
(57)【要約】
【課題】簡素な構成で客観的な食事指導が可能な食事管理装置を提供する。
【解決手段】ユーザが食事している食べ物を少なくとも撮影(11)した画像より、各時刻において食べ物の種別及び量を検出する第1処理(12)と、当該検出した種別及び量の履歴(13)から、各時刻でのユーザの食事速度を推定する第2処理(14)と、各時刻において前記推定された食事速度と、当該ユーザの適正食事速度(16)とを比較(15)した結果に基づいて、当該食事速度が適切であるかに関するアドバイス情報を出力する第3処理(17)と、を実行する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ユーザが食事している食べ物を少なくとも撮影した画像より、各時刻において食べ物の種別及び量を検出する第1処理と、
当該検出した種別及び量の履歴から、各時刻でのユーザの食事速度を推定する第2処理と、
各時刻において前記推定された食事速度と、当該ユーザの適正食事速度とを比較した結果に基づいて、当該食事速度が適切であるかに関するアドバイス情報を出力する第3処理と、を実行することを特徴とする食事管理装置。
【請求項2】
前記第2処理では、前時刻から現時刻までの間における前記検出した種別ごとの量の減少の和として、食事量の体積速度として食事速度を推定することを特徴とする請求項1に記載の食事管理装置。
【請求項3】
前記第2処理では、前時刻から現時刻までの間における前記検出した種別ごとの量の減少の和から、当該種別ごとの体積あたりのカロリー量を参照して、食事量のカロリー速度として食事速度を推定することを特徴とする請求項1に記載の食事管理装置。
【請求項4】
前記第3処理では、前期推定された食事速度が前記適正食事速度を超えている場合に、食事速度が速すぎで不適切である旨のアドバイス情報を出力することを特徴とする請求項1に記載の食事管理装置。
【請求項5】
前記第2処理では、前記検出した種別の各々について予め設定されている、より食べやすい種別の食べ物ほどより小さな値となる重みを、前記検出した量に乗じたうえで前記食事速度を推定することで、
前記第3処理において、より食べやすい種別の食べ物の場合には前記推定された食事速度が低い側に補正されるようにすることを特徴とする請求項1に記載の食事管理装置。
【請求項6】
前記画像内で前記検出されている食べ物の各種に対して、前記重みの情報の情報を付与してユーザに対して表示する第4処理をさらに実行することを特徴とする請求項5に記載の食事管理装置。
【請求項7】
ユーザが食事している食べ物を少なくとも撮影した画像より、各時刻において食べ物の種別及び量を検出する第1処理と、
当該検出した種別及び量の履歴から、各時刻でのユーザの食事速度を推定する第2処理と、
各時刻において前記推定された食事速度と、当該ユーザの適正食事速度とを比較した結果に基づいて、当該食事速度が適切であるかに関するアドバイス情報を出力する第3処理と、をコンピュータが実行することを特徴とする食事管理方法。
【請求項8】
コンピュータを請求項1ないし6のいずれかに記載の食事管理装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、食事管理装置、方法及びプログラムに関する。
【背景技術】
【0002】
食事に関してアドバイス情報を生成することに関連した既存手法として例えば特許文献1~3の技術がある。特許文献1は、ユーザの頭部に付けた筋電センサやリストバンドなどから食事や睡眠・運動など生活に係るより総合的な情報を生成し提供可能な生活モニタ装置に関する。特許文献2は、ユーザが食事をする様子を撮影する撮影装置と生体データを測定する装置から食事に関するアドバイスを提供するシステムに関する。特に、体重と血糖値の増減に大きく寄与する項目について優先的にアドバイスを行う。特許文献3は、食事者の頭部に装着する装置より咀嚼情報を生成し、咀嚼回数から早食いや咀嚼不足を判定し、無線で接続された伝達媒体を使って報知するシステムに関する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2021-189513号公報
【特許文献2】特開2017-54163号公報
【特許文献3】特開2018-033568号公報
【非特許文献】
【0004】
【非特許文献1】農林水産省ホームページ ホーム>組織・政策>消費・安全>食育の推進>みんなの食育>世代・ライフスタイル別トピックス>中高年男性編>ゆっくり食べる[令和5年2月16日検索],インターネット<URL:https://www.maff.go.jp/j/syokuiku/minna_navi/topics/topics4_02.html>
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、モバイル端末等の汎用的な機器以外に生体センサ等の専用的な機器を追加で必要とすることがない形により、コスト的な負担が少ない簡素な構成で、各ユーザに適した形での客観的な食事指導としてのペースメイク(食事の速度調整)機能を提供することができなかった。
【0006】
例えば非特許文献1に開示されるように、ゆっくり食べることの身体的ないし健康面での意義については一般に知られているところである。ところが、本人がゆっくり食べるよう自発的に意識したり、ゆっくり食べる必要性を理解してもらえるよう教育的にリーフレットを本人に対して食事指導者が示すことで本人の意識付けを促したりといったように、属人的な動機付け等に頼る以外に明確な対処方法や技術が存在しない。また、仮に本人が自発的にゆっくりと食事しようと意識したとしても、実際のところ客観的には、本人にとって速すぎる食事となってしまっている、といったことが起こりうる。
【0007】
特許文献1~3の各手法は、食事に関連したアドバイス情報を生成する技術ではあるものの、いずれも客観的な食事のペースメイク機能に関するものではなかった。また、いずれも生体センサ等の専用的な機器を追加で必要とするものであったため、設備が総合的に高額となって一般のユーザが日常的に使用するには費用的なコストが大きくなったり、また、センサ等の装着等の必要性から手軽に利用することが難しくなりうる可能性があった。
【0008】
特に、特許文献2では、生体データ(体重、血糖値)に最も良い影響を与える食事速度や食事順を判断し、食事速度が悪影響を与えていると判断した場合には食事中アドバイスとして「ゆっくり食べましょう」というアドバイスを報知するものの、これは1回の食事全体での速度に関するものであり、食事中にリアルタイム性を有する形で、その場の食事内容に応じた適切なメースメイクを実現できるものではなかった。また、客観的にどの程度「ゆっくり」の食事であるべきかについての情報も得ることができなかった。
【0009】
また、特許文献3では、食事するユーザの頭部に装置を装着することで、咀嚼回数から早食いや咀嚼不足を判定している。しかしながら、咀嚼回数と食事量の情報が連携しておらず、食事の内容に応じた判定がなされていない点において、客観的なペースメイクを実現するにはさらなる改善の余地があった。さらに、ユーザにはその頭部に装置を装着する必要性も発生した。
【0010】
食事の内容に応じた適切なペースメイクを実現するには例えば次のような点を考慮する必要があるが、従来技術ではこうした考慮はなされていなかった。
【0011】
国民の健康・栄養調査では、肥満体型(BMI(体重[kg]/身長[m]2で定義されるボディマス指数)が25以上)の男性は肥満ではない人に比べて食べる速さが早いことが分かっている。早食いを改善し、よく噛んで食べることを習慣づけることにより、少量の食事の量でも満腹のサインが脳に伝わりやすく食欲が抑えられる。1回の食事時間は20分程度が望ましいとされているが、実際は食事内容に応じて変化するものと考えられる。つまり、個々にとって適切な量を20分かけて食べることが重要であり、食事の量や内容を無視して全ての食事を20分で食べることは推奨されていない。例えば、1000kcalを20分かけて食べるのと、500kcalを20分かけて食べるのでは、同じ20分でも、消化器官への負担は後者のほうが少ない。食事内容に応じて適切な食事時間は決まるが、早食いの人に対して「ゆっくり食べましょう」というアナウンスをするだけでは、適切なペースをつかみ保つことが困難である。
【0012】
上記従来技術の課題に鑑み、本発明は、簡素な構成で客観的な食事指導が可能な食事管理装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
上記目的を達成するため、本発明は食事管理装置であって、ユーザが食事している食べ物を少なくとも撮影した画像より、各時刻において食べ物の種別及び量を検出する第1処理と、当該検出した種別及び量の履歴から、各時刻でのユーザの食事速度を推定する第2処理と、各時刻において前記推定された食事速度と、当該ユーザの適正食事速度とを比較した結果に基づいて、当該食事速度が適切であるかに関するアドバイス情報を出力する第3処理と、を実行することを特徴とする。また、当該装置に対応する方法及びプログラムであることを特徴とする。
【発明の効果】
【0014】
本発明によれば、生体センサ等の特別な機器を必須とせずに、一般的な端末で利用しやすいカメラで取得可能な画像を解析することでユーザの食事速度を推定し、各時刻において適正食事速度との比較に基づいてアドバイス情報を出力するので、簡素な構成で客観的な食事指導が可能となる。
【図面の簡単な説明】
【0015】
【
図1】一実施形態に係る食事管理装置の機能ブロック図である。
【
図2】食事管理装置による撮影の様子を示す模式図である。
【
図3】説明用の例として食事管理装置が撮影して解析する対象となる映像の例を示す図である。
【
図4】一実施形態に係る食事管理装置の動作のフローチャートである。
【
図5】対象ユーザについて構築する食事速度管理テーブルの例を示す図である。
【
図6】一実施形態に係る検出部の処理のフローチャートである。
【
図7】一実施形態に係る速度推定部の処理のフローチャートである。
【
図8】画面表示される視覚的なアドバイス情報の模式例を示す図である。
【
図9】アドバイス情報として食べ物の種別ごとの食べやすさの情報を視覚的に出力する例を示す図である。
【
図10】一般的なコンピュータのハードウェア構成を示す図である。
【発明を実施するための形態】
【0016】
図1は、一実施形態に係る食事管理装置10の機能ブロック図であり、食事管理装置10は、撮影部11、検出部12、履歴管理部13、速度推定部14、判定部15、食事速度管理テーブル構築部16及びアドバイス出力部17を備える。食事管理装置10はスマートフォンやタブレット等の汎用的な情報端末装置として実現することができ、
図2に模式的に示すように、撮影部11を構成するハードウェアとしてのカメラによる撮影機能で食事中のユーザを撮影し、その映像の各時刻t(t=1,2,…)のフレーム画像P(t)を解析することで食事中のユーザに対して各時刻tにおいてリアルタイムで、必要に応じてその食事速度に関するアドバイス情報を視覚的あるいは聴覚的な形式で提供することが可能である。
【0017】
この
図2は食事管理装置10による撮影の様子の例を示す模式図であり、ユーザUが食事を行うテーブルTB上にタブレット端末等の汎用的な情報端末装置で構成される食事管理装置10を設置し、そのフロントカメラとして構成される撮影部11により、食事中のユーザUの様子を撮影している。なお、本実施形態の食事管理装置10における撮影は、少なくともユーザUが食事をしている食べ物Fが撮影されている(撮影部11のカメラの画角範囲R内に食べ物Fが存在する)ようにすればよく、必ずしも食事中のユーザU自身は撮影されていなくともよい。
【0018】
図3は、食事管理装置10が撮影して解析する対象となる映像の例を示す図であり、食事中の各時刻k=1,2,…,T(k=1が食事開始時刻、k=Tが食事終了時刻とする)に撮影される当該映像内のフレーム画像P(k)を、k=1,t-1,t,T(ここでtは食事中の任意の時刻とする)の場合について示している。
図3の例は、食べ物(料理)が茶碗に入った白米と味噌汁、魚、小鉢のサラダの4品である例であり、食事の進行に沿って映像上で食べ物が減っていく様子が示されている。
【0019】
なお、
図3の各フレーム画像P(k)内に付された吹き出しは、画像の内容を表すのではなく、当該画像を食事管理装置10において後述する手法で解析した結果を模式的に表すものである。この
図3は以下の説明において再度、説明のための例として参照する。
【0020】
図4は、一実施形態に係る食事管理装置10の動作のフローチャートである。ステップS1では、ユーザ情報の入力を受け付けることで、予め食事速度管理テーブル構築部16において当該ユーザの食事速度を管理するのに必要となるデータベースを構築しておき、ステップS2へと進む。ステップS2では、カメラとして構成される撮影部11において当該ユーザの食事の様子の撮影を開始してからステップS3へと進む。ステップS3では、撮影部11で各時刻tにおいてリアルタイムで撮影されている映像の現時刻tのフレーム画像P(t)を食事管理装置10が解析してユーザの食事速度を推定し、食事速度が速すぎると判定された場合等はその必要に応じてアドバイス情報をユーザに提示してから、ステップS4へと進む。ステップS4は食事管理装置10でのリアルタイムの処理タイミングを管理するステップであり、現時刻tを次の時刻t+1に更新してからステップS3へ戻る。こうして、ステップS3の処理がリアルタイムの各時刻t=1,2,3…において繰り返し実行される形で、ユーザに対してリアルタイムで必要に応じてアドバイス情報を提示することが可能となる。
【0021】
以下、以上の
図4の各ステップを具体的に実現している、
図1の食事管理装置10の各機能部の詳細について説明する。
【0022】
<ステップS1…食事速度管理テーブル構築部16>
図5は、食事速度管理テーブル構築部16において対象ユーザについて構築する食事速度管理テーブルTBの例を示す図である。図示されるように、食事速度管理テーブル構築部16では、ユーザから各質問項目に対する回答の入力を、メニュー内から選択したり、テキストを直接入力する等の、既存手法における任意の様式によって受け付けることで、当該ユーザの食事速度管理テーブルTB(以下では適宜「テーブルTB」と略記)を構築することができる。
【0023】
なお、
図5に例示されるテーブルTBのうち、項目群M1の各項目については当該ユーザ及びその食事に関連する個人情報として、当該ユーザからの入力を受け付けることでそれぞれの設定値を取得することができる。一方で、図中でも「計算値」として記載している通り項目群M2の各項目については、項目群M1に当該入力された設定値を参照することで、その設定値を食事速度管理テーブル構築部16において自動で算出することができる。食事速度管理テーブル構築部16では、項目群M1に当該入力された設定値と、項目群M2当該算出された設定値とを、テーブルTBとして保存する。(なお、
図5はテーブルTBの模式例として、設定値の欄の具体的な値は一部を除いて記載を省略してある。)
【0024】
具体的に、項目群M1に示されるように、初期設定として、当該ユーザの身長と年齢、性別、身体活動レベル(例えば、「レベル1:低い、レベル2:普通、レベル3:高い」の3レベル)の入力を受け付け、この入力をもとに、項目群M2の各項目の設定値を以下のように算出する。
【0025】
● 「標準体重W」を以下の通り、身長から算出する。
W[kg]=(身長[m])2×22[kg/m2]
【0026】
この算出は、例えば以下の非特許文献2に開示されるような一般的な知識に基づく。
[非特許文献2]「成人男性が1日に必要なカロリーとは?健康に過ごすための秘訣も解説」[令和5年2月16日検索],インターネット<URL:https://medipalette.lotte.co.jp/diet/1952>
【0027】
● 「1日の必要カロリー数Z」を、年齢、性別、身体活動レベルに応じた体重1kg当たりの推定必要カロリーを標準体重Wに乗ずることで以下の通り計算する。
Z[kcal]=W[kg]×1kg当たりの必要カロリー[kcal/kg]
【0028】
ここで、「1kg当たりの必要カロリー」(CALとする)は、入力されている3つの変数である、年齢x1、性別x2及び身体活動レベルx3に応じた値CAL=CAL(x1,x2,x3)として、例えば以下の非特許文献3に開示されるような一般的な知識に基づく所定の計算式や関数を用いて計算することができる。
[非特許文献3]「厚生労働省「日本人の食事摂取基準」(2020年版)」[令和5年2月16日検索],インターネット<URL:https://www.mhlw.go.jp/content/10904750/000586556.pdf?_ga=2.68837526.666361972.1652509222-1074234362.1652509222>
【0029】
● 上記「1日の必要カロリー数Z」を朝食、昼食、夕食に配分した値を求める。このための配分比率として、入力されている朝・昼・夕のカロリー比率(r1:r2:r3とする)を用いて、当該比率に応じてZを配分した値A,B,Cをそれぞれ以下の通り求める。なお、これら「必要なカロリー」は「適正食事量」を意味する。
朝食に必要なカロリーA=Z*r1/(r1+r2+r3)
昼食に必要なカロリーB=Z*r2/(r1+r2+r3)
夕食に必要なカロリーC=Z*r3/(r1+r2+r3)
【0030】
なお、朝昼夕のカロリー比率r1:r2:r3については、項目群M1においてユーザの個別設定を入力として受け付けるようにしてもよいし、当該入力を受け付けることなく、標準的な初期設定値として例えば「r1:r2:r3=3:3:4」を利用するようにしてもよい。(あるいは、ユーザが特に個別のカロリー比率の設定を希望しない旨を項目群M1の入力の際に受け付けている場合には、当該初期設定値を採用するものとしてもよい。)この初期設定値は、例えば以下の非特許文献4に開示されるような一般的な知識に基づく。
[非特許文献4]「時間栄養学で判明 3食の理想の比率は「3・3・4」」[令和5年2月16日検索],インターネット<URL:https://style.nikkei.com/article/DGXKZO16220180R10C17A5NZBP01/?page=2>
【0031】
なお、ユーザの食習慣に合わせて、朝昼夕の1日3食に限らず、2食や4食とする設定を受け付けるようにしてもよく、その際のカロリー比率についてもユーザの所望の設定を受け付けるようにしてよく、3食の場合と同様にして1日の必要カロリー数Zを各食に配分すればよい。例えば、いつも朝は多めに食べる・間食をする・夜勤があるなど、個人ごとの設定変更が可能である。
【0032】
● 上記の必要なカロリーA,B,Cから、1回の食事時間は20分程度が望ましいという所定の知見に基づいた朝昼夕の適正食事所要時間を例えばそれぞれ15分、15分、20分とする設定のもとで、食べた食事に含まれるカロリーに対して定義される適正食事速度a,b,c[kcal/min]をそれぞれ以下の通り求める。(なお、3食に限らず、2食や4食の設定の場合も同様に、所与の各食の適切食事所要時間を用いて算出すればよい。)
朝食の適正食事速度a=A[kcal]/15[min]
昼食の適正食事速度b=B[kcal]/15[min]
夕食の適正食事速度c=C[kcal]/20[min]
【0033】
● 以上の速度a,b,cはカロリーに基づく適正食事速度であるが、項目群M3に示されるように、食べた体積に基づく適正食事速度α,β,γ[cm3/min]をテーブルTBに記録してもよい。
朝食の適正食事速度α=VA[cm3]/15[min]
昼食の適正食事速度β=VB[cm3]/15[min]
夕食の適正食事速度γ=VC[cm3]/20[min]
【0034】
なお、朝食、昼食、夕食の体積VA,VB,VCについては、後述するようにステップS2で実際に食事の映像を取得した時点での画像を解析して取得すればよい。(従って、項目群M1,M2とは異なって項目群M3の設定値は映像取得前の事前処理としてステップS1では算出できないものではあるが、テーブルTBに記録できる情報であるため、ここで説明している。)
【0035】
<ステップS2…撮影部11>
撮影部11は、そのハードウェア構成をカメラとして実現することができ、
図2の模式例で説明した通り食事するユーザUの食べ物Fが少なくとも撮影されるように撮影を行うことで映像を取得し、リアルタイムでの各時刻t=1,2,3,…の画像F(t)を検出部12へと出力する。なお、検出部12以降では食事速度を推定して必要に応じてアドバイス情報を提示する処理が行われるが、当該処理のためには撮影中の食べ物Fが
図3の模式例のように減っていく様子を各フレーム画像F(t)について、その直前時刻t-1のフレーム画像F(t-1)との違いから検出すればよい。
【0036】
このため、撮影部11を構成するカメラのフレームレートが例えば30fps(フレーム毎秒)や60fpsである場合であっても、検出部12以降へ解析対象として出力する各フレーム画像F(t)の各時刻t=1,2,3,…の実時間上の間隔は、30秒ごと、あるいは1分ごとといったように、当該時間間隔において食べ物Fが少なくともある程度、ユーザUによって食べられた結果として減っていることが隣接時刻の画像F(t),F(t-1)間で認識できるような間隔として、予め設定しておけばよい。(すなわち、前述のステップS4の各時刻tの処理タイミングを、隣接時刻(各時刻tとその次の時刻t+1)がこのように実時間上では30秒等の間隔をなすものとして予め設定しておけばよい。)撮影部11は、映像を撮影したうえで30秒や1分ごとの各フレーム画像F(t)を検出部12に出力してもよいし、30秒や1分ごとに静止画像を撮影して、これを各フレーム画像F(t)として検出部12に出力してもよい。
【0037】
<ステップS3…検出部12、履歴管理部13、速度推定部14、判定部15、アドバイス出力部17>
このステップS3で当該各機能部が行う処理の概要は以下の通りである。
【0038】
検出部12は、フレーム画像F(t)に物体認識を適用することでフレーム画像F(t)から食べ物の種別K(t)及びその量V(t)を検出し、履歴管理部13に出力する。履歴管理部13は、検出部12から各時刻tにおいて当該出力された種別及び量を記憶することで、現時刻tに至るまでの食事履歴Hist(t)={(K(k),V(k))|k=1,2,3,…,t}として管理し、この食事履歴Hist(t)を次の速度推定部14の参照に供する。
【0039】
速度推定部14は、食事履歴Hist(t)を参照し、現時刻tで(その全部を完食するに至らずに)残っている食べ物状態(K(k),V(k))と、その前時刻t-1で残っている食べ物状態(K(t-1),V(t-1))とから、現時刻tの食事速度v(t)を、前時刻t-1から現時刻tに至るまでの間に食べた食べ物の種別及び量(体積)のうち少なくとも体積に基づく速度として推定し、この食事速度v(t)を判定部15へと出力する。
【0040】
判定部15は、現時刻tの食事速度v(t)を、当該食事しているユーザについて構築され保存されている食事速度管理テーブル構築部16のテーブルTBに記録されている当該ユーザ情報である適正食事速度と照合することで、この食事速度v(t)が速すぎないか否か等に関する判定結果を得てアドバイス出力部17へと出力する。アドバイス出力部17は、現時刻tの判定結果に応じたアドバイス情報をユーザに対して視覚的及び/又は聴覚的な形式等の任意の態様で、ユーザに対して現時刻tにおいて提示することにより、ユーザに対する食事途中でのリアルタイムでのアドバイス提供を実現する。
【0041】
以下、これらステップS3の処理を行う各機能部の詳細をさらに説明する。
【0042】
<検出部12>
図6は、一実施形態に係る検出部12の処理のフローチャートである。ステップS11では、撮影部11の映像から現時刻tのフレーム画像F(t)を入力として取得する。ステップS12では、フレーム画像F(t)に物体認識処理を適用し、画像F(t)内の食べ物を識別し、各食べ物の識別した種別K(t)の情報を得る。ステップS13では、当該識別した種別K(t)のそれぞれについて、フレーム画像F(t)の各食べ物領域に関して体積認識処理を適用し、その食べ物の体積V(t)を計算する。ステップS14では、当該画像F(t)に当該認識処理を適用して得た結果の種別K(t)及び体積V(t)を履歴管理部13に出力して保存させ、
図6のフローを終了する。
【0043】
検出部12における物体認識及び体積認識には、深層学習ネットワーク等の手法による任意の既存手法を用いるようにしてよい。例えば、予め学習用に、多数の食べ物画像を、その食べ物種別の正解ラベルと共に用意しておき、深層学習ネットワークを誤差逆伝播法等の既存手法により学習して、食べ物種別認識ネットワークのパラメータを求め、当該パラメータのネットワークを用いて、食べ物種別K(t)を認識することができる。また同様に、この多数の学習用の食べ物画像についてはさらに、その体積の正解値ラベルも用意しておき、同様に食べ物体積認識ネットワークのパラメータを求め、当該パラメータのネットワークを用いて、食べ物体積V(t)を認識することができる。また同様に、このようにステップS12で画像P(t)に「食べ物種別認識ネットワーク」を適用してから、ステップS13でさらにその結果の画像P(t)内の各食べ物領域に対して「体積認識ネットワーク」を適用するのではなく、これらを一括で認識できるような「食べ物の種別及び体積の認識ネットワーク」を予め学習しておいて利用するようにしてもよい。
【0044】
また、物体認識及び体積認識を、深層学習ネットワーク以外の手法として、類似画像検索によって実現するようにしてもよい。すなわち、正解となるリファレンス画像データとして、各種別及び各体積で構成される食べ物領域画像を複数、用意しておき、画像P(t)内からリファレンス食べ物領域画像と類似判定される画像領域を検出して、当該類似判定されたリファレンス食べ物領域画像に予め紐づけられている種別及び体積を、認識結果として用いるようにしてもよい。類似画像検索の手法としては、画像から各種の特徴量を抽出して、この特徴量が特徴量空間において近いと判定されるものを類似画像と判定する等の、任意の既存手法を用いることができる。
【0045】
前述の
図3の例には、各時刻k=1,t-1,t,Tにおける画像P(k)に対して検出部12が検出した結果の食べ物種別K(k)及び体積V(k)も示されている。すなわち、食べ物種別K(k)はいずれの時刻kにおいても4種類で、K(k)={白米Ka,味噌汁Kb,魚Kc,サラダKd}(このKa,Kb,Kc,Kdは当該食べ物種別のインデクスとする)として検出されると共に、この4種類の食べ物について各時刻kでその体積値が4つそれぞれV(k)={Va(k),Vb(k),Vc(k),Vd(k)}として検出されている。
【0046】
<検出部12による項目群M3の設定について>
なお、前述の
図4のテーブルTBの項目群M3の設定値を得るために、検出部12では次の処理を追加で行うようにすればよい。すなわち、時刻t=1の食事開始時の画像P(1)の検出結果から、当該食事が朝食であればその全体積VAを以下の通り算出したうえで、テーブルTBに記録すればよい。
VA=Va(1)+Vb(1)+Vc(1)+Vd(1)
【0047】
ここで、現在の食事が朝食、昼食、夕食のいずれであるかは、ユーザから手動入力の指定を受け付けるようにしてもよいし、時計機能により自動的に判定してもよい。
【0048】
<履歴管理部13>
履歴管理部13は、上記の通り検出部12で得た各時刻の検出結果である食べ物種別及び体積を、現時刻tに至るまでの食事履歴Hist(t)={(K(k),V(k))|k=1,2,3,…,t}として保存することで、速度推定部14の参照に供する。
【0049】
<速度推定部14>
図7は、一実施形態に係る速度推定部14の処理のフローチャートである。ステップS21では、現時刻tまでの食事履歴Hist(t)={(K(k),V(k))|k=1,2,3,…,t}の情報を履歴管理部13から取得する。ステップS22では、食事履歴Hist(t)内から現時刻tで残っている食べ物状態の情報(K(t),V(t))を取得する。ステップS23では、食事履歴Hist(t)内から現時刻tよりも一定時間t1だけ前の食べ物状態の情報(K(t-t1),V(t-t1))を取得する。この一定時間t1については、t1=1,2,…等の任意の時間を予め設定しておけばよいが、以下では説明のため、t1=1に設定されていたものとして、現時刻tの直前の時刻t-1の食べ物状態の情報(K(t-1),V(t-1))が取得されたものとする。
【0050】
ステップS24では、以上のステップS22,S23で求めた情報から、現時刻tまでの一定時間でユーザが食べることによって減少した、各種類の食べ物の体積を算出する。ステップS25では、当該減少した体積の食べ物種別ごとの和を食事速度v(t)として算出する。
図3の例であれば、食事速度v(t)は前時刻t-1から現時刻tに至る間での食べ物種別ごとの減少体積の和として以下の式(1)のように算出できる。(なお、通常は食事の進行に沿って各食べ物が減ることで0≦Va(t)≦Va(t-1)等が成立するため、-v(t)≦0として計算することでv(t)≧0として減少する方向に正の値の速度v(t)を計算する。式(1)以外による速度v(t)も同様である。)
-v(t)={Va(t)-Va(t-1)}+{Vb(t)-Vb(t-1)}+{Vc(t)-Vc(t-1)}+{Vd(t)-Vd(t-1)}…(1)
【0051】
あるいは、食事速度v(t)は当該減少体積から算出できる食べた分のカロリー速度として以下の式(2)のように算出してもよい。ここで、Ca,Cb,Cc,Cd[kcal/cm3]はそれぞれ、白米、味噌汁、魚、サラダの体積あたりのカロリー[kcal/cm3]としてその値をデータベースに保持しておき、参照することでカロリー速度を計算することができる。
-v(t)=Ca*{Va(t)-Va(t-1)}+Cb*{Vb(t)-Vb(t-1)}
+Cc*{Vc(t)-Vc(t-1)}+Cd*{Vd(t)-Vd(t-1)} …(2)
【0052】
あるいは、食事速度は、各種別の食べ物の食べやすさを考慮した重みwを乗じて、式(1)の変形として以下の式(1-w)で、あるいは式(2)の変形として以下の式(2-w)で算出するようにしてもよい。
-v(t)=wa*{Va(t)-Va(t-1)}+wb*{Vb(t)-Vb(t-1)}
+wc*{Vc(t)-Vc(t-1)}+wd*{Vd(t)-Vd(t-1)} …(1-w)
-v(t)=wa*Ca*{Va(t)-Va(t-1)}+wb*Cb*{Vb(t)-Vb(t-1)}
+wc*Cc*{Vc(t)-Vc(t-1)}+wd*Cc*{Vd(t)-Vd(t-1)} …(2-w)
【0053】
ここで、wa,wb,wc,wdはそれぞれ、白米、味噌汁、魚、サラダの食べやすさに応じた所定の重み係数として、その値をデータベースに保持しておき、参照することで食べやすさを考慮した体積速度やカロリー速度を計算することができる。
【0054】
この重み係数は、次のような考察によって食べ物種別ごとに所定値を設定しておけばよい。例えばパンなどの場合は、食物の密度が小さいことを考慮して、通常より速く食べるのが自然であることから0.5などの1より小さい値の重みを設定し、逆に、逆に硬い食べ物(せんべいなど)や噛み切れにくい食べ物(ホルモン肉など)の場合は通常より遅く食べるのが自然であることから1を超える値を重みとして設定しておけばよい。
【0055】
なお、以上の式(1)等は、
図3の例に即したものとして4種類の食べ物「白米、味噌汁、魚、サラダ」が存在する場合を例示として挙げている。これらの例示としての「白米、味噌汁、魚、サラダ」の4種類以外の任意数の種類の食事の場合も同様に、減少体積の和に少なくとも基づくものとして式(1)等と同様の計算により、食事速度v(t)を算出することができる。
【0056】
<判定部15及びアドバイス出力部17>
判定部15は、速度推定部14で得た食事速度v(t)を、食事速度管理テーブル構築部16のテーブルTBを参照して得られる閾値THと比較し、「v(t)>TH」が真であり食事速度が不適切に大きい場合に、その旨の判定結果をアドバイス出力部17へと出力し、アドバイス出力部17は食事速度が速すぎて不適切である旨の情報を、現時刻tのアドバイス情報としてユーザに対して出力する。
【0057】
閾値THについては、当該対象としている食事が朝食、昼食、夕食のいずれであるかと、食事速度v(t)の定義(式(1)等の体積速度か、式(2)等のカロリー速度か)とに応じた値をテーブルTBから取得して利用すればよい。例えば、対象とする食事が朝食であり食事速度v(t)について体積速度として定義されたものを用いている場合であれば、項目群M3より値αを参照して、TH=αを利用すればよい。また例えば、対象とする食事が朝食であり食事速度v(t)についてカロリー速度として定義されたものを用いている場合であれば、項目群M2より値Aを参照して、TH=Aを利用すればよい。
【0058】
なお、前述の式(1-w)や式(2-w)による重み利用の処理は、重みを利用しない場合の判定部15の判定処理を、重みによって緩和あるいは逆により厳しくしているものと解釈することもできる。すなわち、食べ物が固いなどで食べることがより困難な傾向にある場合は、0<w<1の重みを乗じることで食事速度を減らす方向に補正しているが、これは、食事速度v(t)で重みを利用せずに、且つ、判定閾値をTH/wとして大きくすることと同等であるため、食べるのが困難な食べ物は食事速度が相対的に速くなることを許容する形で、閾値判定に変動を許容することに相当する。同様にして逆に、食べ物が柔らかいなどで食べることがより容易な傾向にある場合は、w>1の重みを乗じることで食事速度を増やす方向に補正しているが、これは、食事速度v(t)で重みを利用せずに、且つ、判定閾値をTH/wとして小さく補正することと同等であるため、食事速度を相対的に遅くすることを促す形で、閾値判定に変動を許容することに相当する。
【0059】
また、判定部15における判定及びこれに応じたアドバイス出力部17におけるアドバイス情報の出力は、食事速度v(t)と閾値THとの大小比較に応じて、より細やかな判定を行い、これに対応するアドバイス情報を出力するようにしてもよい。具体例として、以下のような各種の態様が可能である。
【0060】
食事量の減少量から推定された食事速度v(t)を、ディスプレイ画面上に適正食事速度(対応する閾値TH)と比較してどの程度早い/遅いのかわかるよう表示する(例えば、赤色は早すぎ、緑は適正、青はゆっくり過ぎる等)ようにしてもよい。適正食事速度を超える場合には、音声装置や画像機器から食事をゆっくりと食べるようアドバイスおよびペースメイクの音を出力するようにしてよい。
【0061】
音を出すことができない環境に食事者がいる場合、あるいは音のペースメイクが効果的でない場合を想定し、画面上にメトロノームを表示しカチ、カチ、カチと食事速度のテンポがわかるようなアニメーションを出力するようにしてもよい。こうした模式例を
図8の例EX2として示す。ここでは、観測された食事速度に対して、適正食事速度からの逸脱具合をバー上の矢印で示す。早い場合は、メトロノームが作動し、ペースメイクの音が鳴り、メトロノームの針が動き食事速度のテンポをとる。「ペースが速いです!ゆっくり食べましょう。」というアドバイスも表示される。
【0062】
食事速度v(t)が適正食事速度(閾値TH)の値に下がってきたら、食事者に食べる速度を維持するようにアドバイスを出力する。理想のタイム±5~10%程度であれば「食時間は早すぎず遅すぎず素晴らしいペースでした。これからも続けましょう。」±10~20%程度の誤差であれば「良いペースでしたね。その調子です。」、±20~40%程度の誤差であれば「惜しいです。あともう少しペースを意識して食べてみましょう。」、±40%以上の誤差であれば「良く噛んでいますか?食べるペースを心掛けることで、より健康に近づきますよ。」といったように、食事速度v(t)が閾値THにどれだけ近いか等に応じたアドバイスを表示する。
【0063】
同様に、追加的な実施形態として、アドバイス出力部17では前述のテーブルTBの項目群M2のうち当該食事に該当する量を参照したうえで、理想の量±5~10%程度であれば「食事のボリュームは完璧です。」±10~20%程度の誤差であれば「食事のボリュームはちょうど良いです。」、±20~40%程度の誤差であれば「食事のボリュームは惜しいです。自分の適量に合わせて栄養を摂りましょう。」、±40%以上の誤差であれば「食事のボリュームを見直してみましょう。」というアドバイスを、少なくとも食事開始時に表示するようにしてもよい。
図8の例EX1は、食事開始時に、食事の量が適切であるかを画面表示する例である。
【0064】
なお、理想の量は、テーブルTBで算出した必要カロリーZを配分した各食の必要カロリーA,B,Cを用いればよい。一方、この理想量と比較する実際の食事のカロリー量は、食事撮影開始時t=1の撮影画像P(1)について前記式(2)を算出する際に参照可能となる以下の総カロリー量を用いればよい。
Ca*Va(1)+Cb*Vb(1)+Cc*Vc(1)+Cd*Vd(1)
【0065】
また、1食毎の適切なカロリー量と実際に食事画像(t=1の食事開始時の画像P(1))から算出されたカロリー値に大きく違いがある場合、画像P(t)から食べ物の種別を判定した結果を参照して、「とんかつは2切れ減らしておきましょう」「おかずをもう1品、足してみましょう。」などと量に関するアドバイスを出力するようにしてもよい。
【0066】
以上、本発明の実施形態によれば、従来のアプローチと比べてユーザ本人は動画撮影が可能で食卓上に置くことができ、本発明の実施形態に係るアプリケーションが作動するタブレットやスマートフォンなど使用者が保有している既存デバイス単体のみを用意すればよく、機器の装着等の手間や負担なく低コストでリアルタイムに食事速度のアドバイスを受けることができる。また、「ゆっくり」がどの速度なのか、客観的かつ体感的に食事速度の適切なペースを習得し、「個人に合わせた適正な量をゆっくり食べる」の習慣付けをすることができる。これにより、食事摂取速度や食事量が改善され、胃腸の消化を健全に保つことにより肥満予防など健康管理に効果が期待できる。
【0067】
以下、種々の補足例、変形例、追加例などについて説明する。
【0068】
(1) 本実施形態の食事管理装置10によれば、ユーザに適切な食事速度での食事を促すことが可能となるため、国連が主導する持続可能な開発目標(SDGs)の目標3「あらゆる年齢のすべての人々の健康的な生活を確保し、福祉を推進する」に貢献することが可能となる。
【0069】
(2) 前記式(1-w)や式(2-w)の重みwに応じて、画像P(t)上で認識されている当該種別の食べ物の領域に色分け表示等を行ったものを、補助的なアドバイス情報であって食べやすさを意味するものとして、アドバイス出力部17から出力するようにしてもよい。
図9は、このように食べやすさを表すアドバイス表示の例を、
図3の画像P(t)について示したものである。
【0070】
(3) アドバイス出力部17での追加的な実施形態として、推定した食事速度v(t)をグラフ形式で表示する等の形により、ユーザに対して食事後の全体的なレビューが可能となるようにしてもよい。例えばある夕食について規定通りに20分の所要時間であったものとし、20分間のうち、ある時間帯は早かった(具体的にはXXを食べている時は早かったなど)、逆に別の時間帯では少々遅い(嫌いなものを食べている時)などが確認でき、次回以降の食事速度を考慮できる。この際、食事速度v(t)のグラフに追加する情報として、残りの食べ物の状態の情報(K(t),V(t))を紐づけるようにしてもよい。
【0071】
(4)<ハードウェア構成>
図10は、一般的なコンピュータにおけるハードウェア構成の例を示す図である。食事管理装置10は、このような構成を有する1台以上のコンピュータ装置70として実現可能である。なお、2台以上のコンピュータ装置70で食事管理装置10を実現する場合、ネットワーク経由で処理に必要な情報の送受を行うようにしてよい。コンピュータ装置70は、所定命令を実行するCPU(中央演算装置)71、CPU71の実行命令の一部又は全部をCPU71に代わって又はCPU71と連携して実行する専用プロセッサとしてのGPU(グラフィックス演算装置)72、CPU71(及びGPU72)にワークエリアを提供する主記憶装置(メモリ)としてのRAM73、補助記憶装置(ストレージ)としてのROM74、通信インタフェース75、ディスプレイ76、マウス、キーボード、タッチパネル等によりユーザ入力を受け付ける入力インタフェース77、カメラ81、スピーカ82、ライト83、振動素子84とこれらの間でデータを授受するためのバスBSと、を備える。
【0072】
食事管理装置10の各機能部は、各部の機能に対応する所定のプログラムをROM74から読み込んで実行するCPU71及び/又はGPU72によって実現することができる。なお、CPU71及びGPU72は共に、演算装置(プロセッサ)の一種である。ここで、表示関連の処理が行われる場合にはさらに、ディスプレイ76が連動して動作し、データ送受信に関する通信関連の処理が行われる場合にはさらに通信インタフェース75が連動して動作する。
【0073】
アドバイス出力部17においてアドバイス出力を視覚的に行う場合は、ディスプレイ76における表示やライト83の点灯等を用いるようにすればよい。また、聴覚的にアドバイス出力を行う場合は、スピーカ82を用いるようにすればよい。また、振動発生によるアラート出力を行う場合は、バイブレータ等で構成される振動素子84を用いるようにすればよい。
【符号の説明】
【0074】
10…食事管理装置、11…撮影部、12…検出部、13…履歴管理部、14…速度推定部、15…判定部、16…食事速度管理テーブル構築部、17…アドバイス出力部