(58)【調査した分野】(Int.Cl.,DB名)
前記処理装置は、前記一連動作に対応する所定のパターンの時系列信号と、前記加速度センサの出力信号の時系列との間の相関係数に基づいて、前記ユーザの食動作の有無を判定する、請求項1に記載の食動作検出装置。
【発明を実施するための形態】
【0009】
以下、添付図面を参照しながら各実施例について詳細に説明する。
【0010】
図1は、食動作検出装置1の概略構成の一例を示す図である。
【0011】
食動作検出装置1は、処理装置100と、加速度センサ10とを含む。
【0012】
処理装置100は、任意の形態のコンピューターで構成されてもよい。処理装置100の各種機能(以下で説明する機能を含む)は、任意のハードウェア、ソフトウェア、ファームウェア又はそれらの組み合わせにより実現されてもよい。例えば、処理装置100の機能の任意の一部又は全部は、特定用途向けASIC(application-specific integrated circuit)、FPGA(Field Programmable Gate Array)等により実現されてもよい。また、処理装置100は、複数の処理装置により実現されてもよい。尚、
図1に示す例では、処理装置100は、クラウド2上に位置するサーバ(ホストコンピューター)の形態である。
【0013】
加速度センサ10は、ユーザの胸部に装着可能な任意の形態を有する。例えば、加速度センサ10は、ユーザの衣服の胸部のポケット等に収められる形態であってもよいし、専用のベルト等でユーザの胸部に固定されるものであってもよいし、クリップ等でユーザの衣服の胸部に取り付けられてもよい。加速度センサ10は、処理装置100と無線通信網を介して通信可能である。例えば、加速度センサ10は、処理装置100とBluetooth(登録商標)やWiMAX(Worldwide Interoperability for Microwave Access)などの規格に基づいて無線通信を行うものであってよい。
【0014】
加速度センサ10は、ユーザの胸部における加速度データを取得する。加速度センサ10は、取得した加速度データを処理装置100に送信する。加速度センサ10は、
図1に示すように、加速度データを処理装置100に直接送信してもよいし、スマートフォンのような他の通信端末30を介して処理装置100に送信してもよい。
【0015】
尚、処理装置100は、クラウド2上に位置するサーバに代えて、コンピューター20(又は、携帯端末内のコンピューター等)により実現されてもよい。この場合、加速度センサ10は、コンピューター20に無線通信又は有線通信を介して加速度データを送信してもよい。また、処理装置100は、加速度センサ10内に実装されてもよい。また、処理装置100の機能の一部又は全部は、物理的に離れた複数の処理装置により協動して実現されてもよい。例えば、処理装置100の機能の一部又は全部は、加速度センサ10内の処理装置と、コンピューター20(又はクラウド2上に位置するサーバ)とにより協動して実現されてもよい。
【0016】
図2は、加速度センサ10の軸方向の定義の一例を示す図である。ここでは、一例として、
図2に示すように、X軸は、ユーザの上下方向(縦方向)に対応し、Y軸は、ユーザの左右方向(横方向)に対応し、Z軸は、ユーザの前後方向(正面/背面方向)に対応する。X軸、Y軸及びZ軸は互いに直交する。加速度センサ10は、これらの3軸方向の加速度、即ち互いに直交する3軸方向の加速度を検出する。尚、ここでは、加速度センサ10の3軸は、ユーザの胸部に対して固定された関係であるとする。但し、加速度センサ10が衣服等に格納されるときは、ユーザの胸部に対する衣服の動きに起因して完全な固定関係は失われうるが、かかる点は考慮しない(無視することができる)。
【0017】
図3は、加速度センサ10の検出軸の正負方向の定義の一例を示す図である。
図3(A)は、加速度センサ10を装着したユーザをX軸に沿った上面視で概略的に示す図であり、
図3(B)は、同ユーザをY軸に沿った側面視で概略的に示す図である。
【0018】
以下では、
図3に示すように、Z軸はユーザの後側を「正」とし、X軸はユーザの上側を「正」として説明を行う。この場合、例えば、加速度センサ10は、加速度センサ10の筐体の一表面の法線方向外向きがZ軸の正方向となるように、筐体内に収容されてよい。この場合、ユーザは、筐体の当該一表面側が胸部に向くように装着するようにすればよい。尚、
図3に示す正負の方向の定義は、あくまで一例であり、逆の設定も可能である。
【0019】
図4は、処理装置100のハードウェア構成の一例を示す図である。
【0020】
図4に示す例では、処理装置100は、制御部101、主記憶部102、補助記憶部103、ドライブ装置104、ネットワークI/F部106、入力部107を含む。
【0021】
制御部101は、主記憶部102や補助記憶部103に記憶されたプログラムを実行する演算装置であり、入力部107や記憶装置からデータを受け取り、演算、加工した上で、記憶装置などに出力する。
【0022】
主記憶部102は、ROM(Read Only Memory)やRAM(Random Access Memory)などであり、制御部101が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【0023】
補助記憶部103は、HDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
【0024】
ドライブ装置104は、記録媒体105、例えばフレキシブルディスクからプログラムを読み出し、記憶装置にインストールする。
【0025】
記録媒体105は、所定のプログラムを格納する。この記録媒体105に格納されたプログラムは、ドライブ装置104を介して処理装置100にインストールされる。インストールされた所定のプログラムは、処理装置100により実行可能となる。
【0026】
ネットワークI/F部106は、有線及び/又は無線回線などのデータ伝送路により構築されたネットワークを介して接続された通信機能を有する周辺機器(例えば、加速度センサ10等)と処理装置100とのインターフェースである。
【0027】
入力部107は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、マウスやスライスパット等を有する。
【0028】
尚、
図4に示す例において、以下で説明する各種処理は、プログラムを処理装置100に実行させることで実現することができる。また、プログラムを記録媒体105に記録し、このプログラムが記録された記録媒体105を処理装置100に読み取らせて、以下で説明する各種処理を実現させることも可能である。なお、記録媒体105は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。なお、記録媒体105には、搬送波は含まれない。
【0029】
図5は、食動作時に得られる加速度センサ10の加速度データ(出力信号の時系列)の一例を示す図である。
図6は、対比として、ユーザの腕に装着される3軸の加速度センサを用いた場合に食動作時に得られる加速度データの一例を示す図である。
【0030】
図5及び
図6においては、食動作を行った際の波形部分がA1,A2,A3及びA1',A2',A3'により示されている。A1及びA1'は、食物をつかんだ後に口に運ぶ通常的な食動作に関し、A2及びA2'は、箸を回しながら食物を口に運ぶ変則的な食動作に関し、A3及びA3'は、近くにある食物をつかんだ後に口に運ぶ食動作に関する。
【0031】
先ず、比較例として、腕に装着される3軸の加速度センサの場合、
図6に示すように、食動作時に特徴的な波形が発生する。しかしながら、A1',A2',A3'内に示すように、腕の動き(特徴的な波形)は、多様な食動作に応じて多様となる。更に、図示は省略するが、食動作時のユーザの腕の動きは、食動作以外の他動作時のユーザの腕の動き(例えば鼻をかむ、目をこする、物を取る等の行動時の両腕の動き)と類似する場合が多くある。従って、腕に装着される3軸の加速度センサを用いる場合には、食動作を精度良く検出することは困難であることが分かる。
【0032】
これに対して、胸部に装着される加速度センサ10の場合、
図5に示すように、食動作時に特徴的な波形が発生する。例えば、前後加速度GZについて、A1,A2,A3内に示すように、食動作を行う際の特徴的な波形パターンが出現する。具体的には、前後加速度GZについて、A1,A2,A3内には、「一定値、減少、一定値、増加、一定値」という共通の波形パターンが見られる。これは、ユーザが食動作を行う際の「静止、前に屈む、静止、後に戻る、静止」という一連動作に対応する。
【0033】
従って、
図5から分かるように、食動作時における加速度センサ10からの加速度信号のZ軸成分には、「静止、前に屈む、静止、後に戻る、静止」という一連動作に対応して、それぞれ特徴的な波形が発生する。この一連の動作は、胸部の動きであるが故に、腕の動きとは対照的に、多様な食動作に関して共通に発生する。従って、処理装置100は、この特徴的な波形パターンを検出することで、食動作を精度良く検出することができる。
【0034】
また、胸部に装着される加速度センサ10の場合、
図5に示すように、上下加速度GXについて、前後加速度GZの特徴的な波形と同様の傾向が出現する。具体的には、前後加速度GZが減少するのに同期して、上下加速度GXが減少し、前後加速度GZが減少後に増加するのに同期して、上下加速度GXが増加する。これは、「前に屈む」及び「後に戻る」際のユーザの胸部の傾斜(鉛直方向に対する角度)の変化に起因するためである。このような特徴についても、胸部の動きであるが故に、腕の動きとは対照的に、多様な食動作に関して共通に発生する。従って、処理装置100は、この特徴的な波形パターンを更に検出することで、食動作を精度良く検出することができる。
【0035】
また、胸部に装着される加速度センサ10の場合、
図5に示すように、左右加速度GYについて、略変化がないという、食動作を行う際の特徴的な波形パターンが出現する。これは、食動作は、胸部を左右に傾ける動作を伴わないためである。この点、対照的に、腕に装着される3軸の加速度センサの場合、
図6に示すように、各軸の加速度波形には、多様な変化パターンが生じている。従って、処理装置100は、この特徴的な波形パターンを更に検出することで、食動作を精度良く検出することができる。
【0036】
上述のような食動作時に特有の波形パターンは、任意の方法で検出されてよい。例えば、複数の閾値を時系列に用いて検出されてもよいし、パターンマッチングにより検出されてもよい。
【0037】
次に、上述のような食動作時に特有の前後加速度GZの波形パターンの検出方法の例を説明する。本例では、食動作時に特有の前後加速度GZの波形パターンに対応した所定の波形パターン(食動作パターン)を予め作成し、かかる食動作パターンと、実際に得られる加速度信号との相関係数を算出することで、食動作を検出する方法について主に説明する。
【0038】
図7は、食動作パターンの一例を示す図である。
【0039】
食動作パターンは、食動作時に実際に得られる前後加速度の時系列との相関係数が、食動作以外の時に実際に得られる前後加速度の時系列との相関係数よりも有意に高くなるように生成される。
図7に示す例では、食動作パターンは、「静止、前に屈む、静止、後に戻る、静止」という食動作時の一連動作に対応して、「一定、低下、一定、上昇、一定」というパターンを含む。
【0040】
図7において、Ta,Tb,Tc,L
1,L
2は、食動作パターンを決めるパラメータであり、Ta,Tb,Tcは時間であり、L
1,L
2は、振幅(パターン信号値)である。具体的には、Taは、「一定、低下、一定、上昇、一定」のうちの1番目の「一定」の時間幅を表し、Tbは、2番目の「一定」の時間幅を表し、Tcは、3番目の「一定」の時間幅を表す。また、L
1,L
2は、「一定、低下、一定、上昇、一定」のうちの「低下」時の振幅の低減幅を表し、L
2は、「一定、低下、一定、上昇、一定」のうちの「上昇」時の振幅の上昇幅を表す。
【0041】
パラメータTa,Tb,Tc,L
1,L
2は、食動作時に実際に得られる前後加速度の時系列と食動作パターンとの相関係数が、食動作以外の時に実際に得られる前後加速度の時系列と食動作パターンとの相関係数よりも有意に高くなるように設定される。例えば、パラメータTa及びTcは、1秒〜4秒の範囲内の任意の値であってもよい。パラメータTbは、0.4秒〜20秒の範囲内の任意の値であってもよい。パラメータL
1,L
2は、1500mG〜8000mGの範囲内の任意の値であってもよい。
【0042】
食動作パターンは、好ましくは、複数個生成される。これは、「静止、前に屈む、静止、後に戻る、静止」という一連動作としては同じであっても、詳細(例えばパラメータTa,Tb,Tc,L
1,L
2)が異なる場合があるためである。このため、食動作パターンは、多様な食動作時に実際に得られる加速度信号に基づいて、複数個生成されてよい。この際、食動作パターンは、個人差を考慮してユーザ毎に生成されてもよいし、複数のユーザからのデータに基づいて生成されてもよい。
【0043】
図8は、相関係数の算出方法の一例の説明図である。
図8において、D1は、ある期間の前後加速度の時系列の一例を示す。D1は、一定窓幅W1のウインドウ(窓)を動かして得られる前後加速度の時系列の一部に対応してよい。D2は、食動作パターンの一例を示す。以下では、一定窓幅W1のウインドウ内の加速度データを、「窓データ」とも称する。
【0044】
相関係数は、窓データと食動作パターンとの間で算出されてよい。この際、窓データと食動作パターンとは、時間幅が異なりうるので、窓データと食動作パターンのうちの、幅が短い方を所定時間だけずらしながら、複数の相関係数が算出されてもよい。
図8に示す例では、窓データの方が食動作パターンの時間幅よりも長いため、食動作パターンが、
図8にてP1,P2で示すように、右に所定時間だけずらしながら、複数の相関係数が算出される。この結果、
図8に示すように、1つの窓データに対して複数個(ずらした数に応じた)相関係数が算出される。
【0045】
相関係数は、窓データと食動作パターンとの間の類似度(相関)が大きいときに高い値となる。例えば、相関係数corは、以下の式に基づいて算出されてもよい。
【0046】
【数1】
ここで、Xは、窓データの信号を表し、Yは、食動作パターンの信号を表す。また、mean(Xi)は、データXの相加平均であり、mean(Yi)は、データYの相加平均である。
【0047】
この場合、相関係数が所定閾値Tz以上である場合、形状類似であると(食動作パターンに対応する波形が存在すると)判定してよい。1つの窓データに対して相関係数が複数個得られる場合は、相関係数の最大値を形状類似度とし、その形状類似度が所定閾値Tz以上である場合、形状類似であると判定してよい。この場合、相関係数が最大値となるときの窓データ内のデータ範囲(P1,P2等)を、「パターン類似と判定された窓期間」とも称する。
【0048】
尚、窓データの時間幅を決定する窓の一定窓幅W1は、任意であるが、例えば、複数の食動作パターンのうちの最大の時間幅と同一であってもよい。或いは、一定窓幅W1は、複数の食動作パターンのうちの最大の時間幅よりも有意に長くてもよい。一定窓幅W1が長い場合は、窓データにおける食動作パターンの時間幅以上に離間した複数の位置で、相関係数の極大値(所定閾値Tz以上)が発生しうる。これは、当該窓データ内において、食動作が複数回存在しうることを意味する。この場合、パターン類似と判定された窓期間が複数存在することになる。
【0049】
図9は、所定閾値Tzの設定方法の一例の説明図である。
【0050】
所定閾値Tzは、食動作時の相関係数とそれ以外の動作時(無動作時を含む)の相関係数とを仕切るための閾値であり、任意の態様で設定されてもよい。例えば、所定閾値Tzは、経験的に設定されてもよいし、学習結果(試験結果)に基づいて適合されてもよい。
【0051】
学習結果に基づく場合、例えば以下のようにして所定閾値Tzが導出されてもよい。先ず、食動作時に実際に得られる前後加速度の時系列と、食動作以外の時(他動作時)に実際に得られる前後加速度の時系列とをそれぞれ複数個用意する。この時系列のデータの時間幅は任意であるが、例えば、窓データの時間幅に対応する時間幅であってよい。次いで、食動作時に実際に得られる前後加速度の時系列に対して、全ての食動作パターンとの形状類似度を算出し、その最大値SimMaxを取得する。これは、複数個用意された食動作時の前後加速度の時系列のそれぞれに対して実行される。同様に、他動作時に実際に得られる前後加速度の時系列に対して、全ての食動作パターンとの形状類似度を算出し、その最大値SimMaxを取得する。これは、複数個用意された他動作時の前後加速度の時系列のそれぞれに対して実行される。次いで、食動作時のSimMaxの平均m
M及び標準偏差σ
Mを算出すると共に、他動作時のSimMaxの平均m
O及び標準偏差σ
Oを算出する。そして、食動作時と他動作時との間のマハラノビス距離が等しくなる点を、閾値Tzとして求める。即ち、以下の式を満たす閾値Tzが算出される。
【0052】
【数2】
尚、同様に、閾値Tzは、個人差を考慮してユーザ毎に生成されてもよいし、複数のユーザからのデータに基づいて生成されてもよい。
【0053】
また、食動作時に特有の前後加速度GZの波形パターンは、
図5に示すように、所定の振幅特徴を有する。振幅特徴は、単に前後加速度GZの最大振幅や最小振幅、平均振幅等であってもよいし、前後加速度GZの最大値と前後加速度GZの最小値との差(以下、「最大最小差」とも称する)であってもよい。従って、このような振幅特徴を利用して食動作時に特有の前後加速度GZの波形パターンを検出してもよい。例えば、前後加速度GZの時系列の最大最小差が所定範囲内である場合、前後方向の振幅条件が満たすと判定してもよい。所定範囲は、任意の方法で設定されてもよいが、例えば以下の方法で設定されてもよい。先ず、食動作時に実際に得られる前後加速度GZの時系列を複数個用意する。次いで、これらの時系列データ毎に最大最小差を算出し、その最小値と最大値とに基づいて設定する。即ち、所定範囲は、食動作時に実際に得られる前後加速度GZの時系列の最大最小差の取りうる範囲に対応するように設定されてよい。尚、所定範囲は、個人差を考慮してユーザ毎に決定されてもよいし、複数のユーザからのデータに基づいて決定されてもよい。
【0054】
次に、食動作時に特有の上下加速度GXの波形パターンの検出方法の例を説明する。
【0055】
図10は、食動作時に得られる上下加速度GXの波形パターンと、同食動作時に得られる前後加速度GZの波形パターンとの関係の一例を示す図である。
【0056】
上述の如く、食動作時に得られる上下加速度GXの波形パターンは、
図10に示すように、同食動作時に得られる前後加速度GZの波形パターンと一定の相関を有する。例えば食動作時の「前に屈む」動作は、"前方"且つ"下向き"に起こるため、上下加速度GX及び前後加速度GZが共に負方向に変化する。即ち、上下加速度GX及び前後加速度GZには正の相関がある。
【0057】
上下加速度GX及び前後加速度GZに正の相関があるか否かは、上下加速度の時系列と前後加速度の時系列の双方の変化方向を監視することで判定されてもよいし、上下加速度の時系列と前後加速度の時系列との相関係数を算出することで判定されてもよい。相関係数を算出する場合、相関係数は、パターン類似と判定された窓期間を含む窓データ全体間で算出されてもよい。或いは、相関係数は、パターン類似と判定された窓期間のデータ間で算出されてもよい。
【0058】
また、食動作時に特有の上下加速度GXの波形パターンは、
図10に示すように、所定の振幅特徴を有する。振幅特徴は、単に上下加速度GXの最大振幅や最小振幅、平均振幅等であってもよいし、上下加速度GXの最大値と上下加速度GXの最小値との差(最大最小差)であってもよい。従って、このような振幅特徴を利用して食動作時に特有の上下加速度GXの波形パターンを検出してもよい。例えば、上下加速度GXの時系列の最大最小差が所定範囲内である場合、上下方向の振幅条件が満たすと判定してもよい。所定範囲は、任意の方法で設定されてもよいが、例えば以下の方法で設定されてもよい。先ず、食動作時に実際に得られる上下加速度の時系列を複数個用意する。次いで、これらの時系列毎に最大最小差を算出し、その最小値と最大値とに基づいて設定する。即ち、所定範囲は、食動作時に実際に得られる上下加速度の時系列の最大最小差の取りうる範囲に対応するように設定されてよい。尚、所定範囲は、個人差を考慮してユーザ毎に決定されてもよいし、複数のユーザからのデータに基づいて決定されてもよい。
【0059】
次に、食動作時に特有の左右加速度GYの波形パターンの検出方法の例を説明する。
【0060】
図11は、食動作時に得られる左右加速度GYの波形パターンと、同食動作時に得られる前後加速度GZの波形パターンとの関係の一例を示す図である。上述の如く、食動作時に得られる左右加速度GYの波形パターンは、
図11に示すように、食動作時に変化がほとんど生じない。即ち、食動作中における左右加速度GYの分散値は低い。従って、左右加速度GYの分散値が所定閾値Tyを超えなければ、左右方向の食動作条件を満たすと判定してもよい。この判定に使用される左右加速度GYの分散値は、パターン類似と判定された窓期間を含む窓データ全体内で算出されてもよいし、パターン類似と判定された窓期間内で算出されてもよい。
【0061】
所定閾値Tyは、任意の方法で設定されてもよいが、例えば以下の方法で設定されてもよい。先ず、食動作時に実際に得られる左右加速度の時系列を複数個用意する。次いで、時系列毎に分散値を算出し、その最大値を閾値Tyとして設定する。即ち、所定閾値Tyは、食動作時に実際に得られる左右加速度の分散値の取りうる範囲の最大値に対応するように設定されてよい。尚、所定閾値Tyは、個人差を考慮してユーザ毎に決定されてもよいし、複数のユーザからのデータに基づいて決定されてもよい。
【0062】
次に、処理装置100の機能(処理)の具体例について説明する。
【0063】
図12は、処理装置100の機能の一例を示す機能ブロック図である。
【0064】
図12に示す例では、処理装置100は、Z軸加速度データ取得部152と、データ分割部154と、振幅条件判定部156と、形状判定部158と、X・Y軸加速度データ取得部160と、縦方向動作条件判定部162と、横方向動作条件判定部164とを含む。また、処理装置100は、食動作頻度算出部166と、食事期間候補検出部168と、時間的妥当性判定部170と、結果保持部172とを含む。また、処理装置100は、観測加速データ保持部180と、食動作パターンデータ保持部182と、閾値データ保持部184とを含む。観測加速データ保持部180、食動作パターンデータ保持部182及び閾値データ保持部184は、任意の記憶装置により実現されてよい。
【0065】
図13は、処理装置100により実行される処理の一例を示すフローチャートである。
図14は、
図13の説明図であり、データ分割例を示す図である。
図15及び
図16は、
図13の説明図であり、
図13の処理の幾つかの段階で得られる結果の例を示す図である。
図13に示す処理は、一例として、1日おきに実行されるが、より短い周期で実行されてもよいし、より長い周期で実行されてもよい。
【0066】
ステップ1300では、Z軸加速度データ取得部152は、観測加速データ保持部180内に蓄積された一日分の加速度データを取得する。尚、観測加速データ保持部180には、加速度センサ10から得られる加速度データが蓄積される。観測加速データ保持部180には、何日分の加速度データが蓄積されてもよい。加速度センサ10からの出力信号は、所定の処理を受けた後(例えばフィルタ処理等)、観測加速データ保持部180に蓄積されてもよい。
【0067】
ステップ1302では、データ分割部154は、一定窓幅W1のウインドウ(窓)を移動させることで、Z軸加速度データ取得部152により取得された一日分の加速度データを一定窓幅W1で分割する。これにより、一定窓幅W1の窓データが複数個得られる。
図14には、i番目の窓データと、i+1番目の窓データとが示されている。尚、
図14に示す例では、窓は、一定窓幅W1毎にずらされているが、一定窓幅W1より小さい幅(例えば、一定窓幅W1の半分程度)毎にずらされてもよい。
【0068】
ステップ1304では、i=1に設定される。尚、iは、窓データの番号である。
【0069】
ステップ1306では、i番目の窓データに対して食動作があるか否かを判定する。食動作があるか否かは、上述の如く、食動作時に特有の波形パターンが検出されるか否かに応じて判定されてよい。ステップ1306の処理の具体例は後述する。
【0070】
ステップ1308では、iが最後であるか否かが判定される。iが最後である場合は、ステップ1310に進み、それ以外の場合は、i=i+1と更新してステップ1304に戻る。このようにして、全ての窓データに対して、食動作があるか否かが判定される。その結果、
図15(A)に示すような判定結果が得られる。尚、
図15(A)に示す例は、窓データがN個ある場合であり、Noは、食動作が無いと判定されたことを表し、Yesは、食動作が有ると判定されたことを表す。
【0071】
ステップ1310では、食動作頻度算出部166は、上記ステップ1308の処理結果に基づいて、一定区間幅W2の期間毎に食動作の頻度を算出する。
図15(B)に示す例では、一例として、一定区間幅W2は、10分であり、一定窓幅W1が40秒であり、窓のずらし幅は20秒である。この場合、10分に相当する窓データ数は、29(={(10×60)/(40/2)}−1)である。
図15(B)に示す例では、例えば期間番号kについては、食動作が有ると判定された回数が15回であるので、食動作頻度は、0.49(=15/29)となっている。また、期間番号Kについては、食動作が有ると判定された回数が0回であるので、食動作頻度は、0(=0/29)となっている。
【0072】
ステップ1312では、食事期間候補検出部168は、上記ステップ1310で算出した食動作頻度に基づいて、食動作頻度を算出した各期間について、食事期間であるか否かを判定する。食事期間候補検出部168は、例えば、食動作頻度が所定閾値頻度Ra以上である場合に、その食動作頻度に係る期間を食事期間(候補)と判定してもよい。これは、食事中は、食動作が頻繁に発生する傾向があるためである。所定閾値頻度Raは、経験的に設定されてもよいし、試験結果等に基づいて適合されてもよい。また、所定閾値頻度Raは、個人差を考慮してユーザ毎に決定されてもよいし、複数のユーザからのデータに基づいて決定されてもよい。この結果、
図15(C)に示すような判定結果が得られる。尚、
図15(C)に示す例は、食動作頻度を算出した期間がM個ある場合であり、Noは、食事期間(候補)で無いと判定されたことを表し、Yesは、食事期間(候補)であると判定されたことを表す。
【0073】
ステップ1314では、食事期間候補検出部168は、食事期間(候補)であると判定した場合、食事期間(候補)の開始時刻及び終了時刻を取得する。尚、食事期間で無いと判定した場合は、開始時刻及び終了時刻は取得されなくてよい。この結果、
図16(A)に示すような開始時刻及び終了時刻の情報が得られる。
【0074】
ステップ1316では、j=1に設定される。尚、jは、食事期間(候補)の番号である。
【0075】
ステップ1318では、時間的妥当性判定部170は、番号jに係る食事期間(候補)について、食事期間としての時間の妥当性を判断する。これは、食事は、基本的に決まった時間範囲内に行い、且つ、決まった時間内に終わるという一般的な傾向に基づくものである。例えば、朝食は、6時〜8時の時間範囲内、昼食は、11時〜14時の時間範囲内、夕食は、18時〜24時の時間範囲内、食事時間長は、8分〜30分といった具合である。尚、これらの時間範囲や食事時間長は、業務スタイルや家庭事情等に応じて個人差を伴うことが多い。従って、各食事(朝食、昼食、夕食)の時間帯及び食事時間長について、事前にアンケートを行い、そのアンケート結果に基づいて、時間の妥当性を判断してもよい。
【0076】
例えば、事前アンケートは、以下のような4項目を含んでよい。
・朝食をとる時間帯は何時(T1a)から何時(T1b)までか
・昼食をとる時間帯は何時(T2a)から何時(T2b)までか
・夕食をとる時間帯は何時(T3a)から何時(T3b)までか
・食事時間長は何分(Tp)以上何分(Tq)未満か
この場合、番号jに係る食事期間(候補)の開始時刻がT0aであり且つ終了時刻がT0bであるとすると、T1a < T0a、かつ、 T0b < T1b、かつ、Tp<(T0b-T0a)<Tqの場合は、"朝食"として妥当であると判定することしてよい。また、T2a < T0a、かつ、 T0b < T2b、かつ、Tp<(T0b-T0a)<Tqの場合は、"昼食"として妥当であると判定することしてよい。また、 T3a < T0a、かつ、 T0b < T3b、かつ、Tp<(T0b-T0a)<Tqの場合は、"夕食"として妥当として妥当であると判定することしてよい。
【0077】
ステップ1320では、jが最後であるか否かが判定される。jが最後である場合は、ステップ1322に進み、それ以外の場合は、j=j+1と更新してステップ1316に戻る。このようにして、全ての食事期間(候補)に対して、時間の妥当性が判定される。
【0078】
ステップ1322では、上記ステップ1318の判定結果を出力する。この結果、
図16(B)に示すような判定結果が得られる。判定結果は、結果保持部172に保持される。尚、
図16(B)に示す例は、食事期間(候補)が4個ある場合であり、候補番号1が朝食と判定され、候補番号2が昼食と判定され、候補番号4が夕食と判定されたことを表す。
【0079】
尚、
図13に示す処理では、間食や夜食については、食事と扱っていないが、これらについても食事として扱ってもよい。また、
図13に示す処理では、朝食、昼食、夕食の全ての食事を検出しているが、いずれか任意の1つだけ、又は任意の2つだけを検出してもよい。
【0080】
図17は、
図13に示す処理の利用例の説明図であり、
図13に示す処理結果の表示例を示す図である。
【0081】
図17には、
図13に示す処理結果に基づく食習慣(食生活)を表す表示が示されている。具体的には、朝食、昼食、夕食の各食事期間の履歴が1週間分表示されている。かかる表示は、ユーザの携帯する端末(例えば携帯電話やスマートフォン)や固定端末等に表示されてもよい。例えば、
図13に示す処理は、ユーザの携帯する端末内のアプリケーションにより実現され、その処理結果が同端末のディスプレイ上に
図17に示すように表示されてもよい。
図17に示す例では、
図13に示す処理結果に基づく食習慣に対して、アドバイスが出力されている。このようなアドバイスは、
図13に示す処理結果に基づいて生成されてよい。これにより、ユーザは、自己の食習慣を事後的に確認することができると共に、自己の食習慣を見直す方向性を得ることができる。
【0082】
ところで、メタボリック症候群、糖尿病などの生活習慣病を予防するに当って、日頃の「運動」「食事」「睡眠」などの生活習慣を記録しておき、自らの問題点に気づき、改善していくプロセスが重要である。特に「食事」に関する予防策は、下記の通り、「いつ」「何を」「どれだけ」食べたかをコントロールすることに相当する
1.規則正しく三食を摂る(「いつ」)
2.朝食をとる(「いつ」)
3.バランス良く栄養をとる(「何を」)
4.カロリーを摂取し過ぎない(「どれだけ」)
5.塩分は控える(「何を」)
ここで、例えば「いつ」食べたかの長期記録があれば、不規則な食習慣(例えば夕食が遅い、朝食なし)を検知し、予防アドバイスを提供する等のサービスを実施することができる(
図17参照)。
【0083】
この点、毎食の時間を手動で記録するのは、大変煩わしいが、上述の
図13に示す処理によれば、上述の如く、食事期間を日常的に自動記録することが可能である。従って、上述の
図13に示す処理によれば、不規則な食習慣(例えば夕食が遅い、朝食なし)を検知し、適切な予防アドバイスを提供する等が可能となる。
【0084】
次に、
図13に示した処理におけるステップ1306の食動作判定処理に関する具体例について説明する。
【0085】
図18は、処理装置100により実行される食動作判定処理(その1)の一例を示すフローチャートである。
図19は、
図18に示す食動作判定処理の続き(その2)の一例を示すフローチャートである。
図20乃至
図23は、
図18及び
図19に示す処理の幾つかの段階で得られる結果の例及び
図18及び
図19に示す処理で使用されるデータの例等を示す図である。
【0086】
ステップ1800では、i番目の窓データ(前後加速度GZの時系列)を入力する。尚、窓データは、上述の如くデータ分割部154により得られる(
図13のステップ1302参照)。即ち、データ分割部154は、一定窓幅W1のウインドウ(窓)を移動させることで、前後加速度GZの加速度データを一定窓幅W1で分割する。
図20(A)に示す例では、m番目の窓データと、m+1番目の窓データとが示されている。尚、
図20(A)に示す例では、
図14に示した例とは異なり、窓は、一定窓幅W1より小さい所定ずらし幅(例えば、一定窓幅W1の半分程度)毎にずらされている。
図20(B)は、このようにして得られるM個分の窓データを示す。
図20(B)に示す例では、一定窓幅W1は40秒間に相当し、サンプリング周波数が200ms/回である。
【0087】
ステップ1802及びステップ1804では、振幅条件判定部156は、入力した前後加速度GZの時系列の振幅特徴が、食動作時に実際に得られる前後加速度の時系列の振幅特徴に類似するか否かを判定する。ここでは、振幅特徴の一例として、前後加速度GZの最大値と最小値との差amp(以下、「最大最小差amp」とも称する)が使用される。
【0088】
具体的には、ステップ1802では、振幅条件判定部156は、i番目の窓データにおける前後加速度GZの最大値からi番目の窓データにおける前後加速度GZの最小値を引くことで、前後加速度GZの最大最小差ampを算出する。
【0089】
ステップ1804では、振幅条件判定部156は、上記ステップ1802で算出した前後加速度GZの最大最小差ampが1500mG〜8000mGの範囲内であるか否かを判定する。1500mG〜8000mGの範囲は、食動作時に実際に得られる前後加速度の時系列の最大最小差ampが取りうる範囲に対応してよく、試験等により適合されてよい。尚、この数値範囲は、あくまで一例であり、適宜修正されてよい。最大最小差ampが1500mG〜8000mGの範囲内である場合は、振幅条件を満たすと判定してステップ1806に進み、それ以外の場合は、ステップ1805に進む。
【0090】
ステップ1805では、振幅条件判定部156は、振幅条件を満たさないため、i番目の窓データに係る窓期間においては食動作が無いと判定する。これにより、食動作以外の他動作に係る窓データを排除することができる。例えば落ちたものを拾う動作のように、最大最小差ampが食動作時よりも有意に大きい動作や、例えば椅子を引く動作ように、最大最小差ampが食動作時よりも有意に小さい動作のような、他動作に係る窓データを排除することができる。
【0091】
ステップ1806では、形状判定部158は、所定閾値Tzの値を閾値データ保持部184から読み込む。
【0092】
ステップ1808では、n=1に設定する。尚、nは、食動作パターンの番号である。食動作パターンは、
図7に示した5つのパラメータTa,Tb,Tc,L
1,L
2に基づいて複数用意される。
図21に示す例では、これらの5つのパラメータの組合せがN通り(即ち食動作パターンがN個)用意されている。
図21(B)において、"NULL"はデータが無いこと、食動作パターンの時間幅が短いことを意味する。例えば、パターンNに係る食動作パターンは、時間ステップTまでデータが有るのに対して、パターン1やパターン2に食動作パターンは、時間ステップTより前にデータが終了している(パターンNに係る食動作パターンよりも時間幅が短い)。尚、
図21(B)に示すデータテーブルは、食動作パターンデータ保持部182に保持される。
【0093】
ステップ1810では、形状判定部158は、食動作パターンデータ保持部182から番号nに係る食動作パターンY(n)を読み込む。即ち、
図21(B)に示すデータテーブルから、番号nに対応する食動作パターンY(n)を読み込む。
【0094】
ステップ1812では、形状判定部158は、上記ステップ1800で入力した前後加速度GZの時系列のデータ長(即ち一定窓幅W1)と、上記ステップ1810で読み込んだ食動作パターンY(n)のデータ長と比較し、小さい方を信号A,大きい方を信号Bと設定する。
【0095】
ステップ1814では、k=1に設定する。尚、kは、相関係数の算出に用いるデータの開始位置を示す(ステップ1816の説明参照)。
【0096】
ステップ1816では、形状判定部158は、信号Aと同じデータ長の信号B'を取得(抽出)する。これは、相関係数の算出に必要な同じデータ長の信号を得るためである。信号B'は、以下の通りである。
B'=B[k:k+L]
但し、Lは、Aのデータ長に対応する。即ち、信号B'は、信号Bのうちの時間ステップkから時間ステップk+Lまでのデータである。
【0097】
ステップ1818では、形状判定部158は、信号Aと信号B'との相関係数cor(k)を算出する。相関係数cor(k)は、上記の数1に示した式に基づいて算出されてよい。この場合、Xは、信号Aに対応し、Yは、信号B'に対応する。
【0098】
ステップ1820では、形状判定部158は、k+Lが信号Bのデータ長に一致するか否かを判定する。一致しない場合は、k=k+1に変更されて、ステップ1816及びステップ1818の処理が実行される。このようにして、k+Lが信号Bのデータ長に一致するまで、ステップ1816及びステップ1818の処理が繰り返され、複数の相関係数が取得される。
図22は、相関係数の算出例を示す図であり、(A)は、前後加速度GZの時系列の一例を示し、(B)は、食動作パターンY(n)の一例を示し、(C)は、これらから算出される相関係数の一例を示す。
図22に示す例では、窓データ(前後加速度GZの時系列)のデータ長は、時間ステップが200であり、食動作パターンY(n)のデータ長は、時間ステップが80である。従って、前後加速度GZの時系列が信号Bとなり、食動作パターンY(n)が信号Aとなる。
図22に示す例では、前後加速度GZの時系列(信号B)に対して、食動作パターンY(n)を1時間ステップ刻みでずらしながら、相関係数が算出される(
図8参照)。従って、この場合、
図22(C)に示すように、121(=200−80+1)個の相関係数が算出されることになる。
【0099】
ステップ1822では、形状判定部158は、上記ステップ1818で算出した相関係数の最大値(形状類似度)が、上記ステップ1806で読み込んだ所定閾値Tz以上であるか否かを判定する。相関係数の最大値が所定閾値Tz以上である場合は、形状条件を満たす(形状類似である)と判定して
図19のステップ1900に進み、それ以外の場合は、ステップ1824に進む。
【0100】
ステップ1824では、nが最後であるか否かが判定される。nが最後で無い場合は、n=n+1としてステップ1810の処理に戻る。このようにして、所定閾値Tz以上となる相関係数の最大値が得られるまで、全ての食動作パターン(
図21(B)参照)に対して、形状判定部158による形状判定処理が継続される。nが最後である場合(即ち、所定閾値Tz以上となる相関係数の最大値が得られないまま、全ての食動作パターンとの形状判定が終了した場合)、ステップ1826に進む。
【0101】
ステップ1826では、形状判定部158は、形状条件を満たさないため、i番目の窓データに係る窓期間においては食動作が無いと判定する。これにより、食動作以外の他動作に係る窓データを排除することができる。
【0102】
図19に移り、ステップ1900では、X・Y軸加速度データ取得部160は、所定閾値Tz以上となる相関係数の最大値が得られたi番目の窓データに係る窓期間内の上下加速度GXの時系列を取得する。
図23は、上下加速度GXの時系列の取得範囲の一例を示す図である。
図23には、観測加速データ保持部180内の全データのうち、所定閾値Tz以上となる相関係数の最大値が得られたi番目の窓データに係る窓期間が範囲72で示されている。即ち、時間ステップT(m)から時間ステップT(m)+200までの期間が、所定閾値Tz以上となる相関係数の最大値が得られたi番目の窓データに係る窓期間に対応する。この場合、X・Y軸加速度データ取得部160は、時間ステップT(m)から時間ステップT(m)+200までの期間内の上下加速度GXの時系列70を取得する。
【0103】
ステップ1902では、縦方向動作条件判定部162は、上記ステップ1800で入力した前後加速度GZの時系列と、上記ステップ1900で取得した上下加速度GXの時系列との間の相関係数を算出する。尚、この場合、前後加速度GZの時系列と上下加速度GXの時系列のデータ長は、同じであるので(一定窓幅W1)、1つの相関係数が算出されることになる。
【0104】
ステップ1904では、縦方向動作条件判定部162は、上記ステップ1902で算出した相関係数が正の値であるか否かを判定する。上記ステップ1902で算出した相関係数が正の値である場合は、ステップ1908に進み、それ以外の場合は、ステップ1906に進む。
【0105】
ステップ1906では、縦方向動作条件判定部162は、縦方向動作条件を満たさないため、i番目の窓データに係る窓期間においては食動作が無いと判定する。これにより、食動作以外の他動作に係る窓データであって、Z軸方向における振幅条件及び形状条件を満たす窓データを排除することができる。
【0106】
ステップ1908では、縦方向動作条件判定部162は、i番目の窓データにおける上下加速度GXの最大値からi番目の窓データにおける上下加速度GXの最小値を引くことで、上下加速度GXの最大最小差ampを算出する。
【0107】
ステップ1910では、縦方向動作条件判定部162は、上記ステップ1908で算出した上下加速度GXの最大最小差ampが500mG〜4000mGの範囲内であるか否かを判定する。500mG〜4000mGの範囲は、食動作時に実際に得られる上下加速度の時系列の最大最小差ampが取りうる範囲に対応してよく、試験等により適合されてよい。尚、この数値範囲は、あくまで一例であり、適宜修正されてよい。上下加速度GXの最大最小差ampが500mG〜4000mGの範囲内である場合は、縦方向動作条件の振幅条件を満たすと判定してステップ1914に進み、それ以外の場合は、ステップ1912に進む。
【0108】
ステップ1912では、縦方向動作条件判定部162は、縦方向動作条件を満たさないため、i番目の窓データに係る窓期間においては食動作が無いと判定する。これにより、食動作以外の他動作に係る窓データであって、Z軸方向における振幅条件及び形状条件を満たす窓データを排除することができる。
【0109】
ステップ1914では、横方向動作条件判定部164は、所定閾値Tyの値を閾値データ保持部184から読み込む。
【0110】
ステップ1916では、X・Y軸加速度データ取得部160は、所定閾値Tz以上となる相関係数の最大値が得られたi番目の窓データに係る窓期間内の左右加速度GYの時系列(
図23参照)を取得する。
【0111】
ステップ1918では、横方向動作条件判定部164は、上記ステップ1916で取得した左右加速度GYの時系列の分散値Vyを算出する。
【0112】
ステップ1920では、横方向動作条件判定部164は、上記ステップ1918で算出した分散値Vyが、上記ステップ1914で読み込んだ所定閾値Tyより小さいか否かを判定する。分散値Vyが所定閾値Tyより小さい場合は、横方向動作条件を満たすと判定してステップ1924に進み、それ以外の場合は、ステップ1922に進む。
【0113】
ステップ1922では、横方向動作条件判定部164は、横方向動作条件を満たさないため、i番目の窓データに係る窓期間においては食動作が無いと判定する。これにより、食動作以外の他動作に係る窓データであって、Z軸方向における振幅条件及び形状条件及びX軸方向における縦方向動作条件を満たす窓データを排除することができる。
【0114】
ステップ1924では、横方向動作条件を満たすため、i番目の窓データに係る窓期間において食動作があると判定する。このように、
図18及び
図19に示す処理によれば、Z軸方向における振幅条件及び形状条件、X軸方向における縦方向動作条件、及び、Y軸方向における横方向動作条件を満たす場合に限り、i番目の窓データに係る窓期間においては食動作があると判定される。
【0115】
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。
【0116】
例えば、上述した実施例では、食動作の検出結果は、食事期間の検出に用いられているが、他の用途(例えば食後の薬を飲む時間の案内等)に用いられてもよい。この場合、
図12に示す食動作頻度算出部166、食事期間候補検出部168、時間的妥当性判定部170、及び結果保持部172は省略されてよく、これに対応して、
図13に示す処理において、ステップ1310以降の処理は省略されてよい。
【0117】
また、上述した実施例では、精度向上の観点から、Z軸方向における振幅条件及び形状条件に加えて、X軸方向における縦方向動作条件、及び、Y軸方向における横方向動作条件を判定している。しかしながら、Z軸方向における形状条件以外の条件の判定は省略されてもよい。この場合、X軸方向及びY軸方向の加速度の検出も不要である。但し、好ましくは、Z軸方向における形状条件に加えて、X軸方向における縦方向動作条件(特に正の相関に関する条件)は判定される。他の条件については、任意の組合せで追加されてもよい。また、判定順序についても任意であり、Z軸方向における形状条件の判定が最後に実行されてもよい。
【0118】
また、上述した実施例では、長時間に係る加速度データを扱いやすくするために、一定窓幅W1の窓を用いて加速度データを複数に分割しているが、かかる分割は省略されてもよい。この場合、加速度データの全時系列に対して、食動作パターンを所定時間刻みでずらしながら相関係数を算出すればよい。この場合、複数の食動作に対応して複数の相関係数のピーク値が出現するので、相関係数のピーク値が出現する期間内の加速度データを用いて、X軸方向における縦方向動作条件等を判定すればよい。
【0119】
また、上述した実施例では、食動作パターンデータ保持部182で保持される食動作パターンや閾値データ保持部184で保持される各種閾値(所定閾値Tz等)は、事前に外部で(例えば、食動作検出装置1の設計者により)生成されて、処理装置100に記憶される。しかしながら、食動作パターンや各種閾値は、処理装置100内で自動的に生成(学習)されてもよい。
【0120】
また、上述した実施例では、加速度センサ10は、ユーザの胸部に装着されているが、ユーザの胸部と略同一の動きとなる他の部位(例えば、腹部の上部)に装着されてもよい。腹部の上部とは、例えば腹部の臍より上の部分であってよい。
【0121】
なお、以上の実施例に関し、さらに以下の付記を開示する。
(付記1)
ユーザの胸部に又は腹部の上部に装着される加速度センサと、
前記加速度センサの出力信号に基づいて、前記ユーザが食物を口に運ぶ動作である食動作の有無を判定する処理装置とを備える、食動作検出装置。
(付記2)
前記処理装置は、前記加速度センサの出力信号に基づいて、前記ユーザの「静止、前に屈む、静止、後に戻る、静止」という一連動作を検出した場合に、前記ユーザの食動作が有ると判定する、付記1に記載の食動作検出装置。
(付記3)
前記処理装置は、前記一連動作に対応する所定のパターンの時系列信号と、前記加速度センサの出力信号の時系列との間の相関係数に基づいて、前記ユーザの食動作の有無を判定する、付記2に記載の食動作検出装置。
(付記4)
前記所定のパターンの時系列信号は、前記ユーザの食動作時に発生する前記加速度センサの出力信号の時系列に対して、前記ユーザの食動作以外の他動作時に発生する前記加速度センサの出力信号の時系列よりも高い相関係数を生む時系列信号である、付記1〜3のうちのいずれか1項に記載の食動作検出装置。
(付記5)
前記所定のパターンの時系列信号は、複数種類用意される、付記4に記載の食動作検出装置。
(付記6)
前記加速度センサは、前記ユーザの前後方向に係る前後加速度を検出し、
前記処理装置は、前記所定のパターンの時系列信号と、所定期間における前記前後加速度の時系列との相関係数が所定閾値以上である場合に、前記所定期間において食動作が有ると判定する、付記4又は5に記載の食動作検出装置。
(付記7)
前記処理装置は、更に、前記所定期間における前記前後加速度の最大値と最小値との差の絶対値が所定範囲内である場合に、前記所定期間において食動作が有ると判定する、付記6に記載の食動作検出装置。
(付記8)
前記加速度センサは、前記ユーザの前後方向に係る前後加速度及び前記ユーザの上下方向に係る上下加速度を検出し、
前記処理装置は、前記ユーザの前後方向に係る前後加速度と、前記ユーザの上下方向に係る上下加速度との関係に基づいて、前記ユーザの食動作の有無を判定する、付記1〜7のうちのいずれか1項に記載の食動作検出装置。
(付記9)
前記加速度センサは、更に、前記ユーザの上下方向に係る上下加速度を検出し、
前記処理装置は、更に、前記前後加速度の正方向を後方向とし、前記上下加速度の正方向を上方向としたとき、前記所定期間における前記前後加速度の時系列と、前記所定期間における前記上下加速度の時系列との間に正の相関がある場合に、前記所定期間において食動作が有ると判定する、付記6又は7に記載の食動作検出装置。
(付記10)
前記処理装置は、更に、前記所定期間における前記上下加速度の最大値と最小値との差の絶対値が所定範囲内である場合に、前記所定期間において食動作が有ると判定する、付記9に記載の食動作検出装置。
(付記11)
前記加速度センサは、更に、前記ユーザの左右方向に係る左右加速度を検出し、
前記処理装置は、更に、前記所定期間における左右加速度の時系列のばらつき度合いが所定値以下である場合に、前記所定期間において食動作が有ると判定する、付記9又は10に記載の食動作検出装置。
(付記12)
前記処理装置は、前記食動作の有無の判定結果に基づいて、所定時間当たりの食動作頻度を算出し、算出した食動作頻度に基づいて、食事期間を推定する、付記1〜11のうちのいずれか1項に記載の食動作検出装置。
(付記13)
前記処理装置は、前記食事期間の推定結果に基づいて、ユーザに食生活に関するアドバイスを生成して出力する、付記12に記載の食動作検出装置。
(付記14)
ユーザの胸部に又は腹部の上部に装着される加速度センサの出力信号を取得し、
前記加速度センサの出力信号に基づいて、前記ユーザが食物を口に運ぶ動作である食動作の有無を判定する、食動作検出方法。
(付記15)
ユーザの胸部に又は腹部の上部に装着される加速度センサの出力信号を取得し、
前記加速度センサの出力信号に基づいて、前記ユーザが食物を口に運ぶ動作である食動作の有無を判定する、
処理をコンピューターに実行させるプログラム。