以下、図面を参照しつつ、本開示の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
[第1の実施の形態]
1.発明の概要
図1は、本開示の動作を判別するための装置を含む動作判別システムの全体的な構成の一例を示す図である。図1に示されるように、動作判別システムにおいて、使用者Pは、センサケース200に収納された検出装置100を装着している。検出装置100は、動作を判別するための装置の一実施の形態である。センサケース200は、使用者Pが履いている靴500に取り付けられている。検出装置100は、たとえば、3軸方向のそれぞれについての動きを表わすデータを検出するセンサ(後述する、図8等の加速度センサ120)を含む。
検出装置100は、特徴量に基づいて予め定められた2以上の領域を特定する情報を格納している。2以上の領域のそれぞれは、2種類以上の動作(たとえば、「歩行」「ジョギング」「ジャンプ」「走行」)のいずれかを特定する。本明細書では、動作の特定に用いられる「領域」を、当該動作についての「信頼区間(confidence region)」とも言う。
また、検出装置100は、上記のセンサが出力するデータを用いて、予め定められた2以上の特徴量を算出する。検出装置100は、上記2種類以上の動作のそれぞれに対応する領域のうち、算出された2以上の特徴量の組合せを含む領域を特定する。そして、検出装置100は、特定された領域が対応する動作の種類を、使用者Pが実行した動作の種類として出力する。
検出装置100は、ネットワーク600を介して、スマートフォン900と通信可能である。スマートフォン900は、検出装置100から出力された動作の種類および当該種類に関する統計値を出力する(後述する、図24の画面990)。なお、スマートフォン900は、検出装置100から出力された動作の種類および当該種類に関する統計値を出力する装置の一例である。当該装置は、パーソナルコンピュータ等のいかなる通信装置であってもよい。
図2は、上記した動作の種類を特定するために利用される2以上の領域を模式的に示す図である。図2には、互いに異なる2つの特徴量(特徴量F1および特徴量F2)を用いて作成されたグラフが示されている。図2のグラフでは、横軸が特徴量F1を表わし、縦軸が特徴量F2を表わす。
特徴量F1および特徴量F2の算出には、たとえば、図2において式(1)で示されたような、RMS(二乗平均平方根:root mean square)が利用される。式(1)において、xiは、センサにおけるx軸方向の加速度の検出値である。yiは、センサにおけるy軸方向の加速度の検出値である。ziは、センサにおけるz軸方向の加速度の検出値である。x軸、y軸、およびz軸は、3次元において互いに直交する軸である。
センサは、一定時間(たとえば、1秒間)内に、x軸、y軸およびz軸のそれぞれについてX個の検出値を出力する。つまり、x軸、y軸およびz軸のそれぞれの3つの検出値のセットは、一定時間内にXセット出力される。Xは整数である。Xの一例は、「100」である。
特徴量F1の一例は、Xセットのそれぞれについて算出されたRMSNの平均値(MEAN(RMS))である。特徴量F2の一例は、Xセットのそれぞれについて算出されたRMSNの標準偏差(STD(RMS))である。
図2のグラフは、特徴量F1および特徴量F2によって特定される、4つの領域RWA,RJO,RJU,RRUを示す。4つの領域RWA,RJO,RJU,RRUのそれぞれの形状は、楕円である。なお、ユーザの動作を識別するために特定される領域の形状は、楕円に限定されない。また、当該領域は、特定の条件に基づいて決定される除外領域を含んでいてもよい。つまり、たとえば、当該領域の形状は、基本的に楕円であるが、当該楕円の中の一部の部分が特定の条件に基づいて当該領域から除外される場合もある。また、当該領域は、追加部分を含んでいてもよい。つまり、たとえば、当該領域の形状は、基本的に楕円であるが、当該楕円に特定の条件に基づく追加部分が追加されることによって当該領域が構成されてもよい。
領域RWAは、動作「歩行」に関連付けられている。領域RJOは、動作「ジョギング」に関連付けられている。領域RJUは、動作「ジャンプ」に関連付けられている。領域RRUは、動作「ランニング」に関連付けられている。
検出装置100は、使用者Pに装着されているセンサの一定時間内の検出値を用いて上記特徴量F1および特徴量F2を算出し、図2に示された4つの領域RWA,RJO,RJU,RRUから、算出された特徴量F1と特徴量F2の組合せによって生成されるプロットを含む領域を特定する。そして、検出装置100は、上記プロットを含むと特定された領域に対応する動作を、プロットの生成に利用された検出値が対応する一定時間の使用者Pが実行した動作の種類として、出力する。
図3は、動作の種類の判別の具体例を説明するための図である。図3には、図2に示された4つの領域RWA,RJO,RJU,RRUとともに、使用者Pに装着されているセンサの検出値から導出された3つのプロットdp1,dp2,dp3が示されている。
プロットdp1は、動作「歩行」に対応する領域RWA内に位置している。このため、検出装置100は、プロットdp1に対応する判別結果として、動作「歩行」を出力する。換言すれば、プロットdp1が期間Aの検出値から生成された場合、検出装置100は、当該期間Aの動作が「歩行」であると判別される。
プロットdp2は、2つの領域(領域RWAおよび領域RJU)の中に位置している。プロットが2以上の領域内に位置する場合は、検出装置100は、予め定められた基準に基づいて、当該2以上の領域のいずれか1つを選択し、選択された領域に対応する種類の動作を、使用者Pの動作の判別結果として出力する。当該基準は、たとえば、2以上の領域のそれぞれの中心とプロットとの距離である。つまり、2以上の領域のそれぞれの中心とプロットとの距離が算出される。そして、その距離が最も短い領域に対応する動作の種類が、判別結果として出力される。
図3に示された例において、領域RJUの中心は、点CTJUで示されている。領域RWAの中心は、点CTWAで示されている。プロットdp2と点CTJUとの距離は、プロットdp2と点CTWAとの距離よりも短い。これにより、検出装置100は、プロットdp2に対応する判別結果として、領域RJUに対応する動作「ジャンプ」を出力する。
プロットdp3は、4つの領域RWA,RJO,RJU,RRUのいずれにも含まれない。このような場合、検出装置100は、プロットdp3に対応する判別結果として、「判別不可」を出力する。なお、検出装置100は、プロットがいずれの領域にも含まれない場合、他の判別結果(たとえば、「未判別」)を出力してもよい。
なお、4つの領域RWA,RJO,RJU,RRUとして示されたような、それぞれの動作を特定する領域は、モニタとしてそれぞれの動作を実行している者に装着されているセンサの検出値を用いて設定される。たとえば、領域RWAは、歩くように指示されて歩いているモニタが装着しているセンサの検出値を用いて設定される。このような領域の生成については、後述する。
本明細書では、動作の種類の特定の対象となる者を「使用者」と呼ぶ。一方、図2の4つの領域RWA,RJO,RJU,RRUとして示されたような「信頼区間」を生成するために動作を実行する者を「被験者」と呼ぶ。
2.センサケースおよび検出装置の外観
図4〜図7は、センサケース200および検出装置100の外観を説明するための図である。図4には、センサケース200が靴500のベルト501に取り付けられている状態が示されている。
図5には、検出装置100がどのようにセンサケース200に収納されるかが示されている。図6は、センサケース200の側面図である。センサケース200は、収納部210とカバー部220とを含む。検出装置100は、矢印Aに示されるように、収納部210の開口210Aを介して、収納部210の内部に導入される。収納部210の一つの面には、接着部211が設けられている。カバー部220の一端は、収納部210に連結されている。カバー部220の他端には、接着部221が設けられている。接着部211,221は、たとえば、固定手段として一般的に採用されている、たとえば、粘着剤層、鍵ホック、ホックボタン、マジックテープ(登録商標)等の面ファスナー、または、マグネットによって実現される。
図7に示されるように、カバー部220が収納部210に巻きつけられることにより、接着部211と接着部221とが当接し、これにより、検出装置100がセンサケース200内に収納される。
なお、図7に示されたように検出装置100がセンサケース200内に収納されたとき、図6において隙間GP1として示されるように、収納部210とカバー部220との間に隙間が生じる。図4に示されるようにセンサケース200が靴500のベルト501に装着されるとき、収納部210とカバー部220との間に挟まれ、ベルト501は、図6において隙間GP1として示された部分に位置する。
3.検出装置のハードウェア構成
図8は、検出装置100のハードウェア構成を示す図である。図8に示されるように、検出装置100は、主たる構成要素として、CPU(Central Processing Unit)110と、加速度センサ120と、メモリ130と、通信I/F140と、バッテリ150とを備える。CPU110は、検出装置100の動作を制御するための処理を実行する。
加速度センサ120は、3つの互いに異なる軸(たとえば、x軸、y軸、およびz軸)のそれぞれの方向の加速度を検出して、各加速度をCPU110へ出力する。検出装置100は、装置の使用者の3次元の軸方向の各々の動きを表わす少なくとも1つのデータを検出するための検出手段の一例として、加速度センサ120を備える。なお、検出手段は、当該使用者の1次元または2次元の軸方向の動きを検出するものである場合もある。
メモリ130は、RAM(Random Access Memory)またはROM(Read-Only Memory)などの記憶装置によって実現される。メモリ130には、CPU110が実行するプログラムおよび当該プログラムの実行において利用される各種のデータが格納される。
通信インターフェイス(I/F)140は、アンテナやコネクタによって実現される。通信I/F140は、スマートフォン900(図1参照)を含む外部の機器との間で、データを送受信する。
バッテリ150は、検出装置100の各要素に対して、当該各要素が動作するための電力を供給する。
4.スマートフォンのハードウェア構成
図9は、スマートフォン900のハードウェア構成を示す図である。図9に示されるように、スマートフォン900は、主たる構成要素として、CPU910と、タッチパネル920と、メモリ930と、メモリインターフェイス940と、通信インターフェイス950とを含む。
タッチパネル920は、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式などのいずれのタイプであってもよい。タッチパネル920は、光センサ液晶を含んでもよい。タッチパネル920は、所定時間毎に外部の物体によるタッチパネル920へのタッチ操作を検知して、タッチ座標(タッチ位置)をCPU910に入力する。換言すれば、CPU910は、タッチパネル920から順次タッチ座標を取得する。
メモリ930は、RAMまたはROMなどの記憶装置によって実現される。メモリ930は、CPU910によって実行されるプログラム、および、当該プログラムの実行において利用されるデータが格納される。
メモリインターフェイス940は、外部の記憶媒体941からデータを読み出す。記憶媒体941は、スマートフォン900に対して着脱可能である。CPU910は、メモリインターフェイス940を介して外部の記憶媒体941に格納されているデータを読み出して、当該データをメモリ930に格納する。また、CPU910は、メモリ930からデータを読み出し、当該データを、メモリインターフェイス940を介して記憶媒体941に格納する。CPU910が実行するプログラムは、記憶媒体941に格納されていてもよい。また、CPU910が実行するプログラムは、ネットワーク600を介してダウンロードされて、メモリ930に格納されてもよい。
通信I/F950は、アンテナやコネクタによって実現される。通信I/F950は、有線通信あるいは無線通信によって他の装置との間で、データを送受信する。CPU910は、通信I/F950を介して、他の装置からプログラムや画像データやテキストデータなどを受信し、また、他の装置に画像データやテキストデータを送信する。
CPU910は、メモリ930あるいは記憶媒体941に記憶されているプログラムを実行することによって、スマートフォン900の各部を制御する。
5.動作判別システムの機能ブロック
まず、図10に示された検出装置100の機能を説明する。図10は、検出装置100の機能ブロックの一例を示す図である。
検出装置100において、CPU110は、メモリ130に格納されたプログラムを実行することにより、サンプルデータ取得部111、信頼区間生成部112、評価部113、特徴量算出部114、および動作特定部115として機能する。メモリ130は、サンプルデータ記憶部131、組合せ記憶部132、信頼区間記憶部133、動作特定用情報記憶部134、およびプログラム記憶部135として機能する。プログラム記憶部135は、CPU110によって実行されるプログラムを格納する。
サンプルデータ取得部111は、サンプルとして利用される被験者の加速度センサ120の検出結果を、被験者を特定する情報および当該被験者が実行した動作の種類に関連付けて、サンプルデータ記憶部131に格納する。図11は、サンプルデータ記憶部131に格納されている情報の構成を模式的に示す図である。図11に示されるように、サンプルデータ記憶部131には、N人分のM種類の動作のそれぞれのデータ、つまり、N×M個のデータ(データ(1,1)〜(N,M))が格納されている。NおよびMのそれぞれは、予め定められた整数を表す。NおよびMの値は、すべての動作の種類において同じでなくてもよい。データ(1,1)〜(N,M)のそれぞれは、一定時間分の加速度センサ120の検出結果である。また、データ(1,1)〜(N,M)のそれぞれは、3つの軸(x軸、y軸、およびz軸)のそれぞれの方向についての検出結果を含む。
図12は、被験者が、動作「歩行」を実行したときの、1秒間の加速度センサ120の検出結果の一例を示す図である。図13は、図12と同じ被験者が、動作「ジョギング」を実行したときの、1秒間の加速度センサ120の検出結果の一例を示す図である。図14は、図12と同じ被験者が、動作「ジャンプ」を実行したときの、1秒間の加速度センサ120の検出結果の一例を示す図である。図15は、図12と同じ被験者が、動作「走行」を実行したときの、1秒間の加速度センサ120の検出結果の一例を示す図である。
図12〜図15のそれぞれにおいて、実線はx軸方向の加速度を示し、点線はy軸方向の加速度を示し、そして、一点鎖線はz軸方向の加速度を示す。図12〜図15に示されるように、被験者が実行する動作の種類が異なると、加速度センサ120の検出結果によって示される3軸(x,y,z)のそれぞれの方向における加速度の変化の組合せが異なる。
なお、加速度センサ120の検出出力におけるx,y,およびz軸は、当該加速度センサ120内の相対的なものである。また、図5に示されたように、検出装置100における加速度センサ120の設置角度は変更可能である。検出装置100における加速度センサ120の設置角度が変更された場合、図12〜図15に示された検出結果は変化し得る。
図12〜図15に示されたデータは、加速度センサ120のサンプルレートが100Hzに設定された状態で、1秒間に取得された。これにより、図12〜図15のそれぞれには、100フレーム分のデータが示されている。
図16は、組合せ記憶部132に格納されている情報の構成を模式的に示す図である。図16に示された例では、P個の組合せ(組合せ(1)〜(P))のそれぞれについて、特徴量の組合せが示されている。たとえば、組合せ(1)は、Q個の特徴量(特徴量(1,1)〜(1,Q))を含む。PおよびQのそれぞれは、予め定められた整数を表す。
信頼区間生成部112は、サンプルデータ記憶部131に格納されたN人それぞれのM種類の動作において取得されたサンプルデータ(データ(1,1)〜(N,M))を利用して、特徴量のP個の組合せ(図16の組合せ(1)〜(P))のそれぞれに対応する領域のセットを生成する。各セットは、M種類の動作のそれぞれを特定するM個の領域を含む。そして、信頼区間生成部112は、生成されたP個のセットの領域(各セットは、M種類の動作のそれぞれの領域を含む)を特定する情報を、信頼区間記憶部133に格納する。各領域の生成は、以下の3つの工程<1>〜<3>を含む。
<1>N人分のサンプルデータのそれぞれについての、Q個の特徴量のそれぞれの算出
<2>算出されたQ個の特徴量を用いた、多次元(次元数は、特徴量の数である「Q」)の正規分布の生成
<3>生成された正規分布における、予め定められた分散係数(たとえば、分散係数σ=2)を示す領域(利用された特徴量の数が「1」であれば線であり、「2」であれば面であり、「3」以上であれば空間)の特定
各領域は、工程<3>において特定された面(または線)によって特定される。
たとえば、領域の特定に利用される特徴量の数が「2」であれば、各領域は、図2において領域RWA,RJO,RJU,RRUとして示されたように、2次元空間における楕円である。
信頼区間生成部112は、P個の組合せのそれぞれに対応して生成された領域を、信頼区間記憶部133に格納する。図17は、信頼区間記憶部133に格納されている情報の構成を模式的に示す図である。信頼区間記憶部133には、P個の組合せ(組合せ(1)〜(P))のそれぞれについて、M種類の動作のそれぞれについての領域を特定する情報、つまり、P×M個の信頼区間(信頼区間(1,1)〜(P,M))を特定する情報を含む。各信頼区間を特定する情報は、当該信頼区間が2個の特徴量を用いて生成される場合には、図2において領域RWA,RJO,RJU,RRUとして示されたような楕円を特定する。
図18および図19を参照して、信頼区間を特定する情報について、より具体的に説明する。図18は、1番目の組合せ(組合せ(1))の、M種類の動作のそれぞれの領域の一例を示す図である。図19は、2番目の組合せ(組合せ(2))の、M種類の動作のそれぞれの領域の一例を示す図である。
図18および図19のそれぞれに示された例では、動作の種類の数Mの一例として、「2」が採用されている。より具体的には、図18および図19のそれぞれに示された例では、動作「歩行」および動作「ジョギング」のそれぞれを特定する2つの領域が示されている。
また、図18および図19のそれぞれに示された例では、利用される特徴量の数Q(図16参照)の一例として、「2」が採用されている。
より具体的には、図18の例では、図16の組合わせ(1)に従った2つの特徴量(特徴量F(1,1)および特徴量F(1,2))が採用されている。図19の例では、図16の組合わせ(2)に従った2つの特徴量(特徴量F(2,1)および特徴量F(2,2))が採用されている。特徴量F(1,1)と特徴量F(1,2)の組合せの一例は、図2に示された「MEAN(RMS)」と「STD(RMS)」である。特徴量F(2,1)と特徴量F(2,2)の組合せの一例は、「サンプルデータの高速フーリエ変換および主成分分析によって得られる第1主成分」と「図2に示されたRMS」である。
以下、図18および図19のそれぞれに示された例について、詳細に説明する。まず、図18の例について説明する。
図18において、動作「歩行」は、領域RWA1によって特定される。また、動作「ジョギング」は、領域RJO1によって特定される。
図18の円形のプロットのそれぞれは、動作「歩行」を実行しているN人の被験者から得られた、N個のサンプルデータ(図11のデータ(1,1)〜(N,1))に対応する。より具体的には、図18の円形のプロットのそれぞれは、当該N個のサンプルデータのそれぞれの、特徴量F(1,1)および特徴量F(1,2)の算出結果である。
図18の三角形のプロットのそれぞれは、動作「ジョギング」を実行しているN人の被験者から得られた、N個のサンプルデータ(図11のデータ(1,2)〜(N,2))に対応する。より具体的には、図18の三角形のプロットのそれぞれは、当該N個のサンプルデータのそれぞれの、特徴量F(1,1)および特徴量F(1,2)の算出結果である。
図18には、2つの領域(領域RWA1および領域RJO1)とともに、テーブルT1が示されている。テーブルT1は、2つの領域(領域RWA1および領域RJO1)を特定する情報として信頼区間記憶部133に格納される情報の具体例である。テーブルT1は、動作「歩行」として例示される動作(1)を特定する領域を特定する情報(信頼区間(1,1))と、動作「ジョギング」として例示される動作(2)を特定する領域を特定する情報(信頼区間(1,2))とを含む。
領域RWA1は、図18中のN個の円形のプロットの2次元の正規分布によって特定される信頼領域の一例である。領域RWA1の形状の一例は楕円である。領域RWA1のサイズは、標準偏差σ(たとえば、σ=2)によって特定される。テーブルT1中の信頼区間(1,1)は、領域RWA1の楕円を規定する。
領域RJO1は、図18中のN個の三角形のプロットの2次元の正規分布によって特定される信頼領域の一例である。領域RJO1の形状の一例は楕円である。領域RJO1のサイズは、標準偏差σ(たとえば、σ=2)によって特定される。テーブルT1中の信頼区間(1,2)は、領域RJO1の楕円を規定する。
次に、図19の例について説明する。図19において、動作「歩行」は、領域RWA2によって特定される。また、動作「ジョギング」は、領域RJO2によって特定される。
図19の円形のプロットのそれぞれは、図18の円形のプロットのそれぞれが対応するのと同じ、動作「歩行」のN個のサンプルデータに対応する。より具体的には、図19の円形のプロットのそれぞれは、当該N個のサンプルデータのそれぞれの、特徴量F(2,1)および特徴量F(2,2)の算出結果である。
図19の三角形のプロットのそれぞれは、図18の三角形のプロットのそれぞれが対応するのと同じ、動作「ジョギング」のN個のサンプルデータに対応する。より具体的には、図19の三角形のプロットのそれぞれは、当該N個のサンプルデータのそれぞれの、特徴量F(2,1)および特徴量F(2,2)の算出結果である。
図19には、2つの領域(領域RWA2および領域RJO2)とともに、テーブルT2が示されている。テーブルT2は、2つの領域(領域RWA2および領域RJO2)を特定する情報として信頼区間記憶部133に格納される情報の具体例である。テーブルT2は、動作「歩行」として例示される動作(1)を特定する領域を特定する情報(信頼区間(2,1))と、動作「ジョギング」として例示される動作(2)を特定する領域を特定する情報(信頼区間(2,2))とを含む。
領域RWA2は、図19中のN個の円形のプロットの2次元の正規分布によって特定される信頼領域の一例である。領域RWA2の形状の一例は楕円である。領域RWA2のサイズは、標準偏差σ(たとえば、σ=2)によって特定される。テーブルT2中の信頼区間(2,1)は、領域RWA2の楕円を規定する。
領域RJO2は、図19中のN個の三角形のプロットの2次元の正規分布によって特定される信頼領域の一例である。領域RJO2の形状の一例は楕円である。領域RJO2のサイズは、標準偏差σ(たとえば、σ=2)によって特定される。テーブルT2中の信頼区間(2,2)は、領域RJO2の楕円を規定する。
図10に戻って、評価部113は、信頼区間生成部112によって生成された、特徴量のP個の組合せ(図16の組合せ(1)〜(P))から、2以上の互いに異なる動作を最も正確に分離できる組合せを選択する。当該選択は、たとえば、P個の組合せのそれぞれについて算出された評価値に基づいて実現される。
評価値は、ある特徴量の組合せ(たとえば、図2に示された、特徴量F1と特徴量F2)に対応して設定された複数の領域(たとえば、図2に示された、4つの領域RWA,RJO,RJU,RRU)の間の、動作の分離性能を表わす指標である。評価値の一例は、M種類の動作のそれぞれのN個のサンプルデータ(N×M個のサンプルデータ)のうち、正しい動作の種類に分類される割合である。以下、評価部113による評価値の算出について、詳細に説明する。
評価部113は、たとえば図18に示されるように、サンプルデータに基づいて2以上の動作のそれぞれを特定する領域が生成された後、生成された領域を用いて、サンプルデータのそれぞれに対応する動作の種類を特定する。図18の例では、評価部113は、サンプルデータのプロットが、領域RWA1内に位置すれば、当該サンプルデータに対応する動作の種類として動作「歩行」を出力する。また、評価部113は、サンプルデータのプロットが、領域RJO1内に位置すれば、当該サンプルデータに対応する動作の種類として動作「ジョギング」を出力する。
なお、評価部113は、1つのサンプルデータのプロットが、領域RWA1および領域RJO1の内部に位置する場合には、当該プロットが領域RWA1および領域RJO1のいずれの中心点に近いかを判断する。そして、評価部113は、当該プロットが、領域RJO1の中心点よりも領域RWA1の中心点に近いと判断すると、当該プロットのサンプルデータに対応する動作の種類として、動作「歩行」を出力する。また、評価部113は、当該プロットが、領域RWA1の中心点よりも領域RJO1の中心点に近いと判断すると、当該プロットのサンプルデータに対応する動作の種類として、動作「ジョギング」を出力する。
より具体的に、図18のプロットdp11について説明する。図18において、領域RWA1の中心点が、点CTWAとして示されている。また、領域RJO1の中心点が、点CTJOとして示されている。プロットdp11は、領域RWA1内に位置し、かつ、領域RJO1内に位置する。プロットdp11から点CTWAまでの距離D1は、プロットdp11から点CTJOまでの距離D2よりも短い。これにより、評価部113は、プロットdp11のサンプルデータに対応する動作の種類として、動作「歩行」を出力する。
図18に示されたように各サンプルデータに対応する動作の種類が領域の中心点を利用して特定されるため、あるサンプルデータに対して特定される動作の種類が、本来の動作の種類(当該サンプルデータが取得されたときに被験者が実行していた動作)とは異なる場合があり得る。図18と図19との間で2以上の動作のそれぞれを特定する2以上の領域の中心点の配置が異なるように、2以上の領域の中心点の配置は、特徴量の組合せによって変化し得る。したがって、N個のサンプルデータのうち、本来の動作の種類とは異なる種類として特定されるデータの割合は、特徴量の組合せによって変化し得る。
評価部113は、特徴量のP個の組合せごとに、評価値として、N個のサンプルデータのうち、本来の動作の種類とは異なる種類として特定されるデータの割合を算出する。そして、評価部113は、評価値が最も小さい組合せを、ユーザの動作の種類の判定に利用する特徴量の組合せとして選択する。そして、評価部113は、選択された組合せによって特定される2以上の領域のそれぞれを特定する情報を、動作特定用情報記憶部134に格納する。評価部113によって選択された組合せに対応する2以上の領域が、使用者の動作の種類の特定に利用される2以上の領域である。
図20は、動作特定用情報記憶部134に格納される情報の一例を模式的に示す図である。図20には、使用者の動作の種類の特定に利用されるM個の信頼区間(信頼区間(1)〜(M))のそれぞれを特定する情報が示されている。図18に示された領域RWA1および領域RJO1が使用者の動作の種類の特定に利用される場合、図20の信頼区間(1)は領域RWA1の楕円を特定し、図20の信頼区間(2)は領域RJO1の楕円を特定する。図20に示された例では、1つの動作の種類に1つの信頼区間が割り当てられている。1つの動作の種類に2つ以上の信頼区間が割り当てられる場合もあり得る。
図10に戻って、特徴量算出部114は、加速度センサ120から、x軸、y軸、およびz軸の方向に沿った加速度の検出結果を取得する。そして、特徴量算出部114は、取得した検出結果について、動作を特定するためのM個の特徴量を算出する。M個の特徴量とは、組合せ記憶部132に格納されたP個の組合せのうち、上記のように評価部113によって選択された組合せを構成するM個の特徴量である。図18に示された例では、M個の特徴量は、2個の特徴量F(1,1)および特徴量F(1,2)である。そして、特徴量算出部114は、算出したM個の特徴量を、動作特定部115へ出力する。
動作特定部115は、特徴量算出部114が取得した検出結果に対応する動作の種類を特定する。より具体的には、動作特定部115は、特徴量算出部114によって算出されたM個の特徴量の組合せのプロットが、動作特定用情報記憶部134内の情報によって特定される2以上の領域の中のいずれかの内部に位置するかどうかを判断する。そして、当該プロットが内部に位置する領域に対応する動作の種類を、特徴量算出部114が取得した検出結果に対応する動作の種類として特定する。そして、動作特定部115は、特定された動作の種類を、使用者が実行した動作の種類として、スマートフォン900に向けて出力する。
次に、図10に示されたスマートフォン900の機能を説明する。スマートフォン900のCPU910は、レポート生成部911および表示制御部912として機能する。レポート生成部911および表示制御部912は、たとえば、CPU910が検出装置100において特定された動作の種類および当該種類に関する統計値を表示するためのアプリケーションプログラムを実行することによって、実現される。
レポート生成部911は、検出装置100から、使用者P(図1)の動作の種類を受信し、受信した動作の種類またはそれに関する統計値を表示するための画面データを生成する。表示制御部912は、生成された当該画面データを、タッチパネル920に表示する。表示される画面の具体例は、図24を参照して後述する。
6.使用者の動作の判定
検出装置100において実行される、使用者の動作の種類の特定のための処理について、より具体的に説明する。図21は、検出装置100のCPU110によって実行される処理のフローチャートである。
図21を参照して、ステップS10で、CPU110は、加速度センサ120から、1ウィンドウ分のデータを取得したか否かを判断する。1ウィンドウ分のデータ(x軸、y軸、およびz軸についての加速度に対応する検出結果)とは、たとえば、図12に示された100フレーム分のデータである。なお、加速度センサ120は、1フレーム分のデータを生成するたびにCPU110へ当該データを出力してもよいし、予め定められた数のフレーム分のデータをまとめてCPU110へ出力してもよい。
CPU110は、1ウィンドウ分のデータを取得したと判断するまでステップS10に制御を留め(ステップS10でNO)、1ウィンドウ分のデータを取得したと判断するとステップS20へ制御を進める(ステップS10でYES)。
ステップS20で、CPU110は、加速度センサ120から取得した1ウィンドウ分のデータの2個以上の特徴量を算出する。2個以上の特徴量とは、たとえば、図2に示される特徴量F1および特徴量F2である。そして、制御はステップS30へ進められる。
ステップS30で、CPU110は、ステップS20で算出された2以上の特徴量の組合せに対応するプロットが、2以上の領域(信頼区間)のいずれかに含まれるかどうかを判断する。ステップS30における2以上の領域(信頼区間)とは、図2において4つの領域RWA,RJO,RJU,RRUとして示されたような、動作の種類の特定に利用される2以上の領域である。そして、CPU110は、当該プロットが2以上の領域のいずれかに含まれると判断すると(ステップS30でYES)、ステップS40へ制御を進める。一方、CPU110は、当該プロットが2以上の領域のいずれにも含まれないと判断すると(ステップS30でNO)、ステップS70へ制御を進める。
ステップS40で、CPU110は、2以上の領域のうち、その内部にステップS30の判断対象のプロットを含むような領域の数が1であるか否かを判断する。そして、CPU110は、当該数が1であると判断すると(ステップS40でYES)、ステップS50へ制御を進める。また、CPU110は、当該数が2以上であると判断すると(ステップS40でNO)、ステップS60へ制御を進める。
ステップS50で、CPU110は、その内部にステップS30の判断対象のプロットを含むような領域について、当該領域に対応する動作の種類を、スマートフォン900に向けて出力し、図21の処理を終了する。出力される動作の種類は、図21の処理の対象となったウィンドウに対応する時間区間についての使用者の動作の種類である。領域(信頼区間)と動作の種類とは、たとえば図20に示された情報によって関連付けられている。
ステップS60で、CPU110は、その中心がステップS30の判断対象のプロットに最も近い領域を選択し、選択された当該領域に対応する動作の種類をスマートフォン900に向けて出力する。ステップS60における領域の選択は、たとえば、図18を参照して説明された方法に従う。
ステップS70で、CPU110は、スマートフォン900に向けて、結果「特定不可」を出力して、図21の処理を終了する。結果「特定不可」は、図21の処理の対象となったウィンドウに対応する時間区間について、検出装置100が使用者の動作の種類を特定できなかったことを意味する。
以上説明された図21の処理において、CPU110は、1ウィンドウ分の加速度センサ120のデータを取得し、当該データから2以上の特徴量を算出し、当該2以上の特徴量の組合せのプロットを生成し、その内部に当該プロットを含むような領域を特定し、そして、特定された領域に対応する動作の種類を使用者が実行した動作の種類として出力する。動作の種類の特定には、2以上の領域(たとえば、図2の4つの領域RWA,RJO,RJU,RRU)が利用される。
図22は、2以上の特徴量の組合せが2以上の領域のそれぞれに含まれるか否かの判断の他の態様に利用される数式を示す図である。2以上の領域は、それぞれ、多次元の正規分布が利用されることによって生成される。次元の数は、用いられる特徴量の数である。そして、特徴量の組合せが2以上の領域のそれぞれに含まれるか否かの判断には、上記したプロットを用いる方法の代わりに、図22に示された数式が利用されても良い。
図22に示された式は、動作の種類ごとに生成される。図22に示された式において、kは、各領域の中心からの標準偏差(σ)を表す。F1〜Fnは、各領域の生成に利用されたn個の特徴量を表す。nは、予め定められた整数である。M1〜Mnは、各領域の生成に利用されたn個の特徴量のそれぞれについてのサンプルデータの平均値を表す。行列C1,1〜Cn,nは、各領域の元となるモニタの動作において得られたトレーニングデータの共分散行列(Cov(n,n))のコレスキ分解(Cholesky decomposition)によって得られる。図23は、共分散行列(Cov(n,n))を示す図である。図23において、共分散行列(Cov(n,n))の要素は、行列R1,1〜Rn,nとして示されている。図22に示された式の左辺は、ユークリッド距離を表すことから、2本の縦二重線で挟まれるように記述されている。
加速度センサ120から検出結果が出力されると、CPU110は、当該検出結果を利用してn個の特徴量F1〜Fnを算出する。次に、CPU110は、当該n個の特徴量F1〜Fnを2以上の動作の種類のそれぞれについて定義された図22の式の左辺に代入する。次に、2以上の動作の種類のそれぞれについて、当該左辺の値を算出する。そして、CPU110は、当該左辺の値が1以下であって、最小の値をとる、動作の種類を、上記検出結果に対応する動作の種類として出力する。
なお、ユーザの動作の特定に利用される信頼区間の生成は、汎用のコンピュータ等の検出装置100以外の装置で実行されてもよい。信頼区間が検出装置100以外の装置によって生成された場合、検出装置100は、図2に示されたような、サンプルデータ取得部111、信頼区間生成部112、評価部113、サンプルデータ記憶部131、組合せ記憶部132、および、信頼区間記憶部133を備える必要はない。特徴量の組合せが図22に示された数式に基づいて判断される場合には、検出装置100は、動作特定用情報記憶部134に、当該数式を特定する値k,M1〜Mn,C1,1〜Cn,nを格納する。
7.判定結果の出力
図24は、スマートフォン900のタッチパネル920における、使用者の動作の種類に関する統計値の表示画面の一例を示す図である。図24の画面990は、4つの表示欄991〜994を含む。表示欄991は、4種類の動作の種類のそれぞれに対応する4種類の統計値を示す。各統計値の一例は、表示対象とされた日における、各種類の動作が実行された累積時間である。当該累積時間の算出方法の一例は、図25を参照して後述される。
表示欄992は、表示欄991に示された統計値に対する判定結果に対応するメッセージを示す。統計値に対する判定は、たとえばメモリ930に格納された、予め定められた基準に基づく。メモリ930には、複数のメッセージが、複数の判定結果のそれぞれに関連付けられて、格納されている。スマートフォン900のCPU910は、たとえば、メモリ930から、判定結果に関連付けられたメッセージを選択して、表示欄992に表示する。
表示欄993は、上記判定結果に対応する商品の画像を示す。表示欄994は、上記判定結果に対応する商品のID(RU001)を示す。メモリ930には、複数の商品についての画像とIDとの組み合わせが、複数の判定結果のそれぞれに関連付けられて、格納されている。CPU910は、たとえば、メモリ930から、判定結果に関連付けられた画像とIDとの組み合わせを選択して、当該組み合わせを表示欄993,994に表示する。
図25は、1分間ごとの、検出装置100の使用者によって実行された動作の種類を特定する処理の一例のフローチャートである。なお、図25の処理の実行間隔は、動作の特定について求められる精度に応じて、変更され得る。CPU910は、図24の画面990の対象となる期間(たとえば、1日)に含まれる1分間ごとに実行された動作の種類を、図25に示されたフローチャートに従って特定する。そして、CPU910は、特定された種類の動作が当該1分間継続して実行されたと仮定し、表示対象の期間における動作の種類ごとの累積時間を算出する。なお、図25の処理は、スマートフォン900が、検出装置100から、ステップS50〜S70(図21)の出力として、5秒ごとの出力(つまり、1分間に対して12個の出力)を取得することを前提としている。
図25を参照して、ステップSA10で、CPU910は、図25の処理の対象となる1分間に対する検出装置100からの12個の出力のうち8個以上が同一の動作の種類を示すものであるか否かを判断する。そして、CPU910は、12個の出力のうち8個以上が同一の動作の種類を示すと判断すると(ステップSA10でYES)、ステップSA20へ制御を進める。一方、CPU910は、12個の出力が8個以上の同一の動作の種類を示す出力を含まないと判断すると(ステップSA10でNO)、ステップSA30へ制御を進める。
ステップSA20で、CPU910は、当該同一の動作の種類を、対象となる1分間に実行された動作の種類として特定して、図25の処理を終了する。
ステップSA30で、CPU910は、対象となる1分間に実行された動作はなかったことを特定して、図25の処理を終了する。
図25の処理において採用された3つの数値「1分間」「12個」および「8個」は、それぞれの数値の一例である。これらの数値は、適宜変更され得る。
第1の実施の形態では、図1に示されるように、検出装置100は、当該使用者Pの動作の種類を特定し、特定された動作の種類を出力する。これにより、使用者Pが検出装置100を装着しながら動作を実行するだけで、当該使用者Pの動作の種類が特定され得る。そして、図24に示されるように、スマートフォン900は、検出装置100からの出力を利用して、使用者Pの複数の動作の種類についての統計値を表示する。これにより、使用者Pが検出装置100を装着しながら動作を実行するだけで、使用者Pの動作の種類についての統計的な情報が、使用者Pの両親等に提供され得る。
なお、第1の実施の形態における、動作の種類の特定のための特徴量の組合せの選択に利用されるデータは、図16(組合せ記憶部132)および図17(信頼区間記憶部133)に示されたものに限定されない。1つの動作を他の動作と区別できる能力が高い特徴量の組合せを選択することができる限り、他の態様のデータが利用されてもよい。
8.変形例(1)
検出装置100では、2つ以上の動作の種類のそれぞれに対応する2つ以上の領域が設定されている。CPU110は、加速度センサ120からの1ウィンドウ分の検出結果から、2つ以上の特徴量を算出し、そして、上記2つ以上の領域から、当該2つ以上の特徴量の組合せを含む領域を特定する。なお、算出された特徴量の数は1である場合もあり得る。この場合、CPU110は、上記2つ以上の領域から、算出された単一の特徴量を含む領域を特定する。
検出装置100のCPU110は、図21に示された動作を特定するための処理を、たとえば、加速度センサ120が1ウィンドウ分の検出値を出力するたびに実行しても良い。
9.変形例(2)
CPU110は、メモリ130に、たとえば1日分など、ある一定の期間分の検出値を蓄積する。そして、CPU110は、蓄積されたある一定期間分の検出値の中から、1ウィンドウ分ずつ検出値を読み出して、図21に示された処理を実行しても良い。
10.変形例(3)
第1の実施の形態において利用され得る特徴量の他の例は、1ウィンドウ内で、検出値が予め定められた閾値を下回ったフレームの数である。さらに他の例は、1ウィンドウ内で、検出値が予め定められた閾値を下回ったフレームが連続する数である。
11.変形例(4)
検出装置100では、加速度センサ120の代わりに、または、加速度センサ120に加えて、x軸、y軸、およびz軸のそれぞれを軸とした3種類の角速度を検出する角速度センサが用いられても良い。検出装置では、少なくともx軸、y軸、およびz軸の3種類の軸についての加速度または角速度の検出結果が利用されれば、当該検出結果がどのような種類のセンサによって取得されたものであっても良い。
12.変形例(5)
図26は、検出装置100の使用者への装着方法に関する変形例を説明するための図である。
図26に示されるように、靴500Aは、ベルト501を備え、さらに、当該ベルト501の一端にポケット502を備える。靴500Aでは、矢印Bによって示されるように検出装置100がポケット502内に導入された後、接着部511と接着部512とが接着されることにより、検出装置100がポケット502内に収納される。
なお、靴500Aにおいて、ポケットは、ベルト501とは別の場所に設けられても良い。他の箇所の一例は、靴500Aの先端部(つま先部)である。他の例は、靴500Aに靴紐が設けられたときの、当該靴ひもの上を覆う部分(ベロ部)である。さらに他の例は、靴500Aの踵部である。また、検出装置100は、靴に取り付けられる代わりに、靴下に取り付けられてもよいし、使用者の足にベルトなどによって直接装着されてもよい。
[第2の実施の形態]
第2の実施の形態では、1ウィンドウごとの動作の種類の特定において、動作の種類が特定されなかったときに、ウィンドウを構成する複数のフレームの一部が入れ替えられた後、再度、動作の種類の特定が実行される。図27は、ウィンドウを構成する複数のフレームの一部の入れ替えを説明するための図である。
図27には、3種類のウィンドウw1,w2,w3が示されている。ウィンドウw1は、動作の特定の対象となる時間期間の開始からの100フレームを含む。ウィンドウw2は、ウィンドウw1の後半の50フレームと、その先の50フレームとを含む。ウィンドウw3は、ウィンドウw2の後半の50フレームと、その先の50フレームとを含む。
第2の実施の形態において、検出装置100のCPU110は、まず、ウィンドウw1を対象として、使用者が実行した動作の種類を特定する。
当該特定において動作の種類が特定されなければ、CPU110は、特定の対象をウィンドウw1からウィンドウw2へと変更して、使用者が実行した動作の種類を特定する。
ウィンドウw2を用いた特定において動作の種類が特定されなければ、CPU110は、特定の対象をウィンドウw2からウィンドウw3へと変更して、使用者が実行した動作の種類を特定する。
そして、ウィンドウw2を用いた特定において動作の種類が特定されなければ、CPU110は、動作の種類の特定ができなかったことを示す結果を出力する。
第2の実施の形態では、動作の種類の特定の対象とされるウィンドウは、最大で2回、変更される。なお、変更される最大の数は、適宜変更され得る。
以上説明されたように、第2の実施の形態に係る動作の種類の特定の態様によると、ウィンドウを構成する複数のフレームの一部の入替えにより、加速度センサ120等のセンサの検出結果の出力のタイミングが、使用者Pの動作の実行のタイミングに適合するように調整され得る。
今回開示された実施の形態およびその変形例はすべての点で例示であって制限的なものではないと考えられるべきである。本開示の領域は上記した説明ではなくて特許請求の領域によって示され、特許請求の領域と均等の意味および領域内でのすべての変更が含まれることが意図される。