以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
(説明の流れについて)
本稿における説明の流れは次の通りである。まず、図1を参照しながら、本発明の各実施形態に係る情報処理装置を含むネットワークの構成について説明する。次いで、図2を参照しながら、同実施形態に係る情報処理装置の構成例について説明する。
次いで、図3を参照しながら、本発明の第1の実施形態に係る情報処理装置の機能構成について説明する。次いで、図4〜図20を参照しながら、本発明の第1の実施形態に係る情報処理方法の概要及び応用例について説明する。次いで、図21〜図23を参照しながら、本発明の第1の実施形態に係る情報処理方法の変形例について説明する。
次いで、図24を参照しながら、本発明の第2の実施形態に係る情報処理方法の機能構成について説明する。次いで、図25及び図26を参照しながら、本発明の第2の実施形態に係る情報処理方法の概要及び応用例について説明する。
さらに、図27を参照しながら、本発明の各実施形態に係る情報処理装置の機能を実現することが可能なハードウェア構成について説明する。最後に、同実施形態の技術的思想について纏め、当該技術的思想から得られる作用効果について簡単に説明する。
1.ネットワークの構成例
2.情報処理装置100、500の構成例
3.本発明の第1の実施形態に係る情報処理装置100の機能構成
4.情報処理装置100による情報処理方法の概要
5.情報処理装置100による情報処理方法の応用例
6.第1の実施形態の変形例について
7.本発明の第2の実施形態に係る情報処理装置500の機能構成
8.情報処理装置500による情報処理方法の応用例
9.情報処理装置100、500のハードウェア構成例
10.まとめ
<1.ネットワークの構成例>
まず、図1を参照しながら、本発明の各実施形態に係る情報処理装置を含むネットワークの構成について説明する。図1は、同実施形態に係る情報処理システム1のシステム構成例を示す説明図である。
図1に示すように、情報処理システム1は、主に情報処理装置100(情報処理装置500でもよい。以下、図1及び図2を参照して説明する記載について同じである。)と、サーバ102と、通信網104とを有する。
情報処理装置100は、サーバ102から受信した行動表現データを表示画面上にオブジェクトとして表示するために所定のデータに基づいて処理を行う。また、情報処理装置100は、ユーザの行動に対応した行動情報に基づくオブジェクトを生成してサーバ102に送信する。情報処理装置100は、上記の処理以外にも様々な処理を行うことが可能である。この情報処理装置100については、以下で改めて詳細に説明する。また、上記の所定のデータとして、例えば、ユーザが行った行動に基づく加速度センサデータやジャイロセンサデータが挙げられる。この所定のデータについても、以下で詳細に説明する。
サーバ102は、情報処理装置100から伝送される行動情報を他の情報処理装置100に対して提供する。また、サーバ102は、情報処理装置100から伝送される行動情報を他の情報処理装置100に提供する。
通信網104は、情報処理装置100およびサーバ102をそれぞれ双方向通信又は一方向通信可能に接続する通信回線網である。この通信網104は、例えば、インターネット、NGN(Next Generation Network)網、電話回線網、衛星通信網、同報通信路等の公衆回線網や、WAN(Wide Area Network)、LAN(Local Area Network)、IP−VPN(Internet Protocol−Virtual Private Network)、Ethernet(登録商標)、ワイヤレスLAN等の専用回線網などで構成されており、有線/無線を問わない。
サーバ102が、通信網104を介して情報処理装置100から取得した行動情報を他の情報処理装置100に提供する。情報処理装置100は、サーバ102から取得した行動情報、及び自装置100で生成した行動情報を処理することによって、複数のユーザがオブジェクトとして表示された映像信号を作成する。
<2.情報処理装置100、500の構成例>
ここで、図2を参照しながら、情報処理装置100の構成例について説明する。図2は、情報処理装置100の構成例を示す説明図である。図2では、本発明の効果を発揮するために望ましい情報処理装置100として携帯電話を例にとって説明する。但し、図2には、同実施形態に係る入力操作に用いられる主要なキーのみが描画されている。
図2に示すように、情報処理装置100は、表示画面160と、入力キー162と、通話キー164と、クリアキー166と、電源キー168と、メニューキー170と、メールキー172と、メモリーキー174と、通信キー176と、十字キー178とを有する。
まず、情報処理装置100には、表示画面160が設けられている。表示画面160は、送受信した電子メールの表示をしたり各種の情報が表示されたりするためのものである。また、表示画面160は、タッチパネルの機能を有することもできる。
また、情報処理装置100には、入力キー162が設けられている。入力キー162は、電子メールを作成する場合に文字などが入力されるためのものである。また、入力キー162は、通話する場合の通話相手の番号が入力されるためのものでもある。
また、情報処理装置100には、通話キー164が設けられている。通話キー164は、通話を可能にするためのものである。また、情報処理装置100には、クリアキー166が設けられている。クリアキー166は、各種の情報をクリアにするためのものである。さらに、情報処理装置100には、電源キー168が設けられている。電源キー168は、情報処理装置100の電源の入力を行うためのものである。
また、情報処理装置100には、メニューキー170が設けられている。メニューキー170は、各種のメニューを表示するためのものである。また、情報処理装置100には、メールキー172が設けられている。メールキー172は、メールを作成するための表示画面を出力するためのものである。さらに、情報処理装置100には、メモリーキー174が設けられている。メモリーキー174には、例えば、ユーザが登録しておいた他のユーザの電話番号やメールアドレスを表示させるためのものである。
また、情報処理装置100には、通信キー176が設けられている。通信キー176は、例えば、インターネット接続を可能にするためのものである。さらに、情報処理装置100には、十字キー178が設けられている。十字キー178は、例えば、表示画面上に出力した各種の情報をカーソルで選択するためのものである。
なお、情報処理装置100の一例である携帯電話は、上記説明してきた形態や機能を有するものには限られない。
<3.本発明の第1の実施形態に係る情報処理装置100の機能構成>
次に、図3を参照しながら、情報処理装置100の機能構成について説明する。図3は、本発明の第1の実施形態に係る情報処理装置100の機能構成例を示す説明図である。情報処理装置100は、ユーザの行動に依存したセンサデータのフィルタリング機能及び演算機能、各行動の認識結果の後処理機能に特徴を有する。
情報処理装置100は、センサデータ作成部110と、行動認識部112と、行動管理部114と、行動情報後処理部116と、データ制御部150と、記憶部152と、表示制御部154と、表示画面160とを有する。行動認識部112は、行動判定部118と、センサデータ処理部120とを有する。行動判定部118は、静止状態判定部122と、歩行・走行状態判定部124と、跳躍状態判定部126と、姿勢変化判定部128と、エレベータ搭乗判定部130と、電車搭乗判定部132と、右折・左折判定部134とを有する。センサデータ処理部120は、センサデータ演算部136と、特定領域除去部138と、低領域除去部140と、センサデータ記憶部142とを有する。行動情報後処理部116は、排他行動情報再処理部144と、誤認識行動情報再処理部146と、行動情報実時間調整部148とを有する。
センサデータ作成部110は、ユーザ行動156を感知して、当該ユーザの行動に対応する情報であるセンサデータを作成する。なお、ここで言うユーザ行動156とは、ユーザが歩行している、走行している、立っている、座っている、跳躍している、静止している、電車に乗っている、エレベータに乗っている、右折もしくは左折しているなどといった情報を指す。上記のユーザ行動156に関する情報は、例えば、情報処理装置100を付随しているユーザの行動を表した情報である。上記のセンサデータは、情報処理装置100を有するユーザの取った行動に基づく。
行動認識部112は、センサデータ作成部110からセンサデータを取得する。行動認識部112は、当該センサデータに対して所定の閾値処理を行ってユーザが行った行動を認識し、ユーザが行った行動を表す情報である行動情報を生成する。行動認識部112は、ユーザが行う行動に特化した複数の行動判定部118を更に備え、当該複数の行動判定部118における判定結果に基づいて上記の行動情報を生成する。なお、センサデータには、例えば、加速度センサデータと、ジャイロセンサデータとが含まれる。
更に、加速度センサデータには、第一加速度センサデータと、第二加速度センサデータと、第三加速度センサデータとが含まれる。第一加速度センサデータとは、所定の座標軸に沿った加速度に関するデータである。また、第二加速度センサデータとは、第一加速度センサデータとは異なる座標軸に沿った加速度に関するデータであり、例えば、第一加速度センサデータの座標軸に直交する座標軸に沿う。また、第三加速度センサデータとは、第一加速度センサデータ及び第二加速度センサデータとは異なる座標軸に沿った加速度に関するデータであり、例えば、第一加速度センサデータ及び第二加速度センサデータの座標軸に直交する座標軸に沿う。
上記の複数の行動判定部118には、静止状態判定部122と、歩行・走行状態判定部124と、跳躍状態判定部126と、姿勢変化判定部128と、エレベータ搭乗判定部130と、電車搭乗判定部132と、右折・左折判定部134とが含まれる。
静止状態判定部122は、ユーザが静止状態にあるか否かを判定する。歩行・走行状態判定部124は、ユーザが歩行状態または走行状態にあるかを判定する。跳躍状態判定部126は、ユーザが跳躍している状態である跳躍状態にあるか否かを判定する。姿勢変化判定部128は、ユーザが座っている状態または立っている状態にあるのか否かを判定する。エレベータ搭乗判定部130は、ユーザがエレベータに乗っている状態か否かを判定する。電車搭乗判定部132は、ユーザが電車に乗っている状態か否かを判定する。右折・左折判定部134は、ユーザが右折したか左折したかを判定する。このように、本実施形態に係る情報処理装置100によれば、上記の各行動毎に特化した行動認識機能を有しており、当該各行動を精度良く把握することができる。それぞれの行動に関する認識機能は後に詳述する。
センサデータ処理部120は、上記の複数の行動判定部118から夫々の行動に基づいた処理を行うための信号を受信する。センサデータ処理部120は、当該信号に基づいてセンサデータの処理を行い、ユーザの行動を表す情報である行動情報を生成する。より具体的には、センサデータ演算部136と、特定領域除去部138と、低領域除去部140と、センサデータ記憶部142とが、上記の処理を各行動に特化した所定の処理方法によって行う。センサデータ演算部136は、センサデータを用いて所定の演算を行う。特定領域除去部138は、入力されたデータの中から特定の領域以外の範囲を除去する。低領域除去部140は、入力されたデータの中から所定の閾値未満の範囲を除去する。センサデータ記憶部142は、センサデータをFIFO(First In First Out)形式で記録する。上記の各行動に特化した所定の処理方法に関する具体的な方法については、図11〜図17を参照しながら後に詳述する。
行動管理部114は、行動認識部112により生成された行動情報を当該行動情報に対応する行動がなされた時刻と関連づけて管理する。より詳細には、行動管理部114は、管理している行動情報を行動情報後処理部116に伝達する。そして、行動情報後処理部116が上記の行動情報に対して所定の後処理を行った後に、行動管理部114は行動情報を取得して管理する。
行動情報後処理部116は、上述のように、行動管理部114により入力された行動情報に対して所定の後処理を行う。所定の後処理は、排他行動情報再処理部144、誤認識行動情報再処理部146、及び行動情報実時間調整部148によって行われる。排他行動情報再処理部144は、ユーザが同時に2つ以上の行動を取ることはできない排他的特性に基づいて各行動に関する単位時間毎の行動情報を再処理する。より具体的には、排他行動情報再処理部144は、2つ以上の行動が上記排他的特性を有する場合には上記2つ以上の行動のうち少なくとも1つの行動に関する行動情報を排除する。また、誤認識行動情報再処理部146は、ユーザが各行動を取るのに必要となる行動情報必要条件に基づいて単位時間毎の上記行動情報を再処理する。より具体的には、誤認識行動情報再処理部146は、ユーザの行動が上記行動情報必要条件を満たしていない場合には上記行動に関する行動情報を排除する。また、行動情報実時間調整部148は、行動認識部112が行動管理部114に行動情報を送達した時間から、行動認識部112による各行動に関する行動情報の生成に要した時間分だけ遡った時間にユーザが各行動を取ったことと判断する。この行動情報後処理部116による所定の後処理については、図18〜図21を参照しながら後に詳述する。このように、本実施形態に係る情報処理装置100によれば、行動情報について上記のような後処理を行うために、各行動毎に特化した行動情報について、誤認識等なく精度良く把握することができる。
データ制御部150は、行動管理部114から上記後処理がなされた行動情報を取得する。データ制御部150は、取得した行動情報に関する各行動に基づいたオブジェクトである映像信号を生成することができる。
また、データ制御部150は、サーバ102から他のユーザの情報処理装置100で生成された行動情報を取得することもできる。他のユーザとは、情報処理装置100を有するユーザとは異なるユーザのことを指す。そのため、データ制御部150は、上記他のユーザの行動情報に関する各行動に基づいたオブジェクトである映像信号も生成することもできる。そして、データ制御部150は、上記の映像信号を表示制御部154に送信する。表示制御部154は、映像信号の切り替え制御機能を有する。そのため、表示制御部154は、当該映像信号を受信後、表示画面160に表示させることができる。その結果、例えば、情報処理装置100は、情報処理装置100を所有するユーザのみならず他のユーザの当該行動情報に関するオブジェクトを表示画面160上に配置して映像信号として表示することができる。このように、本実施形態に係る情報処理装置100によれば、ユーザは、例えば、他のユーザの行動を把握することも可能である。
記憶部152は、上記のようにデータ制御部150が取得した行動情報を記録しておくことができる。そのため、データ制御部150は、表示制御部154から過去の行動情報を取得して、過去の行動情報に関する各行動に基づいたオブジェクトである映像信号を生成することができる。このように、情報処理装置100によれば、ユーザは、例えば、過去のユーザ本人及び他のユーザの行動を把握することも可能である。
<4.情報処理装置100による情報処理方法の概要>
(4−1.行動認識機能及び行動情報後処理機能について)
次に図4を参照しながら、行動認識機能及び行動情報後処理機能について説明する。図4は、行動認識機能及び行動情報後処理機能についての概要を示した説明図である。まず、センサデータ作成部110がユーザの行動に基づいたセンサデータ200を作成する。当該センサデータに対して、行動認識部112、行動管理部114、行動情報後処理部116が各行動などに応じて所定の処理を行う。その処理後に、ユーザが時間毎にどのような行動を行っていたかを示す行動情報210が生成される。符号212、214、216、218、220、222は、それぞれ時間毎に各行動が行われていたのか否かを示している。詳細については後述する。
図5は、本実施形態に係る情報処理装置100がどのようにして使用されるのかを示した一例の説明図である。図5に示すように、例えばユーザ1000の着用している衣服のポケットなどの中に、情報処理装置100は収容される。情報処理装置100の表示画面160には、ユーザ1000が実際にどのような行動を取っているのかが表示される。このように表示されるのは、ユーザ1000本人の行動状態のみならず、サーバなどを介して、他人の行動状態についても可能である。
図6は、上記の行動認識機能及び行動情報後処理機能についてより詳細に説明した図である。まず、ユーザの行動に基づいてセンサデータ200をセンサデータ作成部110が生成する。次に、行動認識部112が、上記センサデータ200に対して所定の閾値処理を行ってユーザが行った行動を認識し、ユーザが行った行動を表す情報である行動情報202を生成する。更に、行動管理部114が、行動認識部112により生成された上記行動情報を、当該行動情報に対応する行動がなされた時刻と関連づけてデータ206として管理する。次に、行動情報後処理部116は、行動管理部114が管理している行動情報に対して所定の後処理を行う。行動情報後処理部116は、FIFO形式で記録された行動毎のデータ206に対して、所定の後処理を行う。具体的な後処理方法については、以下で詳述する。このようにして、後処理204を行われた行動情報210が得られ、情報処理装置100によれば各行動の精度が向上する。
(4−2.行動認識機能について)
図7は、行動認識機能についての概要を示した説明図である。センサデータ作成部110が作成したセンサデータ200についての行動情報202を行動認識部112は生成する。具体的には、センサデータ200を取得した行動認識部112は、各行動に特化した行動判定部118が、センサデータ処理部120に対して当該各行動毎に特化した固有の処理を行わせる。センサデータ処理部120が、各行動毎の所定の処理を行い(符号224)、行動情報202を生成する。上記所定の処理の具体的な方法については、後述する。このようにして、行動認識部112は、各行動に特化した処理方法を有しているので、各行動を精度良く認識することができる。
(4−3.行動情報後処理機能について)
図8は、行動情報後処理機能についての概要を示した説明図である。行動認識部112が生成した行動情報について、行動管理部114が行動情報に対応する行動がなされた時刻と関連づけてデータ226として管理する。次に、行動情報後処理部116が、行動管理部114が管理している行動情報226に対して所定の後処理を行う。行動情報後処理部116は、FIFO形式で記録された行動毎のデータ228に対して、所定の後処理を行う。後処理としては、排他行動情報再処理部144と、誤認識行動情報再処理部146と、行動情報実時間調整部148とが行う。具体的な後処理方法については、以下で詳述する。その結果、後処理がなされた行動情報210が得られる。このようにして、行動認識部112が生成した行動情報に対して、所定の後処理がなされるので、ユーザの実際の行動と比較して誤認識等がない状態で、行動情報が生成される。
<5.情報処理装置100による情報処理方法の応用例>
次に、図9〜図20を参照しながら、情報処理方法の応用例について説明する。本実施形態に係る情報処理装置100は、行動認識部112を有する。行動認識部112は、行動判定部118と、センサデータ処理部120とを有する。行動認識部112は、ユーザが行う特定の行動に特化した複数の行動判定部118を有する。具体的には、行動判定部118は、静止状態判定部122と、歩行・走行状態判定部124と、跳躍状態判定部126と、姿勢変化判定部128と、エレベータ搭乗判定部130と、電車搭乗判定部132と、右折・左折判定部134とを有する。本実施形態に係る情報処理装置100によれば、各行動毎に特化した行動認識機能を有しており、当該各行動を精度良く把握することができる。センサデータ処理部120が、センサデータ演算部136と、特定領域除去部138と、低領域除去部140と、センサデータ記憶部142とを有し、各行動毎に行動判定部118の指示に応じて所定の処理を行う。
センサデータ演算部136は、センサデータに所定の演算を行う。特定領域除去部138は、センサデータの所定領域の範囲外を除去する。低領域除去部140は、センサデータの所定値以下の領域を除去する。センサデータ記憶部142は、センサデータをFIFO形式で記録する。以下に各行動毎の行動認識方法について詳述する。
なお、本実施形態に係る情報処理装置100が有するセンサデータ作成部110が作成するセンサデータは、加速度センサデータとジャイロセンサデータとを含む。加速度センサデータは、第一加速度センサデータと、第二加速度センサデータと、第三加速度センサデータとを有する。第一加速度センサデータとは、所定の座標軸に沿った加速度に関するデータである。また、第二加速度センサデータとは、第一加速度センサデータとは異なる座標軸に沿った加速度に関するデータであり、例えば、第一加速度センサデータの座標軸に直交する座標軸に沿う。また、第三加速度センサデータとは、第一加速度センサデータ及び第二加速度センサデータとは異なる座標軸に沿った加速度に関するデータであり、例えば、第一加速度センサデータ及び第二加速度センサデータの座標軸に直交する座標軸に沿う。ここで、以下の説明で参照する図11〜17で表記される、x−accは、第一加速度センサデータの一例であり、X軸、Y軸、及びZ軸の3軸から成る座標軸のうちX軸方向の加速度センサデータのことを指す。また、y−accは、第二加速度センサデータの一例であり、Y軸方向の加速度センサデータのことを指す。また、z−accは、第三加速度センサデータの一例であり、Z軸方向の加速度センサデータのことを指す。また、x−gyroは、第一ジャイロセンサデータの一例であり、X軸、Y軸、及びZ軸の3軸から成る座標軸のうちX軸方向のジャイロセンサデータのことを指す。また、y−gyroは、第二ジャイロセンサデータの一例であり、Y軸方向のジャイロセンサデータのことを指す。また、z−gyroは、第三ジャイロセンサデータの一例であり、Z軸方向のジャイロセンサデータのことを指す。
(5−1.行動認識機能及び行動情報後処理機能について)
まず、行動認識方法及び行動情報後処理方法の流れについて、図9を参照しながら説明する。図9は、本実施形態に係る行動認識方法及び行動情報後処理方法の流れを説明する図である。ある時刻tnのサンプル(ユーザ行動)に対して、入力信号としてセンサデータをセンサデータ作成部110が作成する。上記センサデータに対して、行動認識部112は、デジタルフィルタ処理(信号/統計処理)を行う(S100)。その結果、行動認識部112は、各行動の特徴を代表する検出値を算出して、閾値処理を行う(S102)。その結果として、行動認識部112が、上記検出値が閾値の範囲外であると判定した場合には、行動管理部114は無効フラグを立て、各行動についてのフラグの状態管理を行う(S104)。また、行動認識部112が、上記検出値が閾値の範囲内であると判定した場合には、行動管理部114は有効フラグを立て、各行動についてのフラグの状態管理を行う(S104)。更に行動管理部114は、行動の有無を判定して(S106)、行動がある場合にはラベル化してFIFO形式で記録する(S108)。行動管理部114は、行動の開始・終了時刻とその認識状態を記録する。次に、行動情報後処理部116が、上記の認識結果に対して後処理を行う(S110)。上記後処理としては、例えば、行動情報後処理部116の排他行動情報再計算部144が、排他行動の整合性を確保する処理を行うことが挙げられる。また、行動情報後処理部116の誤認識行動情報再計算部146が、経験則に基づいて誤認識を回避する処理を行うことも挙げられる。また、行動情報後処理部116の行動情報実時間調整部148が、デジタルフィルタの時間遅れを調整する処理を行うことも挙げられる。このようにして時刻tnのサンプルに対する認識処理が行われる。特に、各行動に対応したデジタルフィルタリング機能を有する行動の認識方法については、以下で詳述する。
更に、過去の時刻tn−dの認識結果を取得する機能について図10を参照しながら更に説明する。図10は、行動情報後処理機能についての流れを説明する図である。行動管理部114は、時刻tn−dの認識結果について、指定時間としての時間遅れを算出する(S120)。行動管理部114は、FIFO形式で記録されたデータについて先頭から順番にラベルを走査する(S122)。次に、行動管理部114は、上記の指定時間前の時刻についてラベルの有無を判定する(S124)。その結果、時刻tn−dについて、行動の有無を認識することができる。
(5−2.一時停止しているのか、静止しているのかについての認識方法)
まず、図11を参照しながら、ユーザが一時停止しているのか静止しているのかを認識する方法について説明する。図11は、行動認識部112が、ユーザが一時停止しているのか、静止しているのかを認識する方法についての流れを示した説明図である。まず、センサデータ作成部110が、ユーザ行動156を感知してセンサデータを作成する。次に行動認識部112が、上記センサデータをセンサデータ作成部110から取得する。一時停止しているのか、静止しているのかを認識するために、まず、行動判定部118のうち静止状態判定部122が、センサデータ処理部120に一時停止しているのか、静止しているのかを認識するための信号を送信する。また、センサデータ処理部120は、センサデータ作成部110からセンサデータを取得する。
次に、センサデータ記憶部142がx−acc、y−acc、及びz−accをFIFO形式で記録する(S1000)。センサデータ記憶部142に所定のデータ分だけ記録された後に、センサデータ演算部136は、センサデータ記憶部142からx−acc、y−acc、及びz−accを取得する。ここで、所定のデータは、例えば、情報処理装置100に設定された時間分だけのデータと設定されていてもよいし、ユーザが設定した時間分だけのデータであってもよい。次に、センサデータ演算部136は、上記のx−acc、y−acc、及びz−accに関する夫々の分散値を算出する(S1002)。また、次に、センサデータ演算部136は、上記夫々の分散値のうち、最も大きい分散値である静止判定用最大分散値(det)を抽出する(S1004)。
次に、静止状態判定部122が、上記の静止判定用最大分散値をセンサデータ処理部120から取得する。静止状態判定部122は、上記静止判定用最大分散値がユーザは静止していると認識する静止認識値D1より小さいか否かを判定する(S1006)。静止判定用最大分散値がD1より小さくなく、つまりD1以上である場合には、静止状態判定部122は、ユーザが静止していないと判定する。すなわち、ユーザは、何かしらの行動を取っていることとなる。静止状態判定部122は、ユーザが静止していないという行動情報を生成する(S1014)。
一方、静止判定用最大分散値がD1よりも小さい場合には、静止状態判定部122は、上記の最大分散値についてD1より小さい時間が静止認識時間T1より長く続くか否かを判定する(S1008)。ここで、静止認識時間T1とは、静止状態判定部122によってユーザが静止していると認識される最小の時間を指す。上記の静止判定用最大分散値についてD1より小さい時間がT1より長く続く場合には、静止状態判定部122はユーザが静止していると判定し、当該ユーザが静止しているという行動情報を生成する(S1010)。一方、上記の静止判定用最大分散値についてD1より小さい時間がT1より長く続かない場合には、静止状態判定部122はユーザが一時的に停止していると判定し、当該ユーザが一時的に停止しているという行動情報を生成する(S1012)。なお、D1及びT1については、予め情報処理装置100に設定されていてもよいし、ユーザが情報処理装置100に設定してもよい。このように、本実施形態に係る情報処理装置100ではユーザの各行動に特化したセンサデータ処理機能により、ユーザが静止しているか、一時停止しているのか、その両者の何れでもなく何かしらの動きを取っているのかを精度良く認識することができる。
(5−3.歩行しているのか、走行しているのかについての認識方法)
次に、図12を参照しながら、ユーザが歩行しているのか、走行しているのかを認識する方法について説明する。図12は、行動認識部112が、ユーザが歩行、もしくは走行しているのかを認識する方法についての流れを示した説明図である。まず、センサデータ作成部110が、ユーザ行動156を感知してセンサデータを作成する。次に行動認識部112が、上記センサデータをセンサデータ作成部110から取得する。歩行もしくは、走行しているのかを認識するために、まず、行動判定部118のうち歩行・走行状態判定部124が、センサデータ処理部120に歩行もしくは、走行しているのかを認識するための信号を送信する。また、センサデータ処理部120は、センサデータ作成部110からセンサデータを取得する。
次に、特定領域除去部138が、x−acc、y−acc、及びz−accについて、ユーザが歩行もしくは走行していると認識される歩行及び走行認識周波数領域の範囲外の周波数を除去する(S2000)。つまり、特定領域除去部138は、バンドパスフィルター(BPF)としての機能を行うことができる。また、上記の歩行及び走行認識周波数領域は、予め情報処理装置100に設定されていてもよいし、情報処理装置100がユーザ独自の行動パターンを取得してユーザの行動に応じて設定されてもよい。次に、センサデータ記憶部142が、上記のような処理が実行されたx−acc、y−acc、及びz−accをFIFO形式で記録する(S2002)。次に、センサデータ記憶部142に所定のデータ分だけ記録された後に、センサデータ演算部136は、センサデータ記憶部142からx−acc、y−acc、及びz−accを取得する。ここで、所定のデータは、例えば、情報処理装置100に設定された時間分だけのデータと設定される。
次に、センサデータ演算部136は、FIFO形式で所定のデータ分だけ記録されたx−acc、y−acc、及びz−accについて、簡略化自己相関関数(SACF(Summary Autocorrelation Function))を算出する。更に、センサデータ演算部136は、上記の簡略化自己相関関数(SACF)に基づいて、強調された簡略化自己相関関数(ESACF(Enhanced SACF))を算出する(S2006)。SACFのピークの経時的な発生は、センサデータにおける歩行及び走行の周期的な動きに対応する。しかしながら、SACFは、実際の歩行及び走行を表現する周波数の整数倍の周波数を有するデータをも含んでしまっている。そのため、センサデータ演算部136は、ESACFを算出することで、余分なピークデータを除去して上記実際の歩行及び走行を表現する周波数のみを含んだデータを得ることができる。その結果、センサデータ演算部136は、上記ESACFに基づくピークを算出することで(S2008)、歩行・走行判定用周波数(freq)を算出することができる。
また、センサデータ処理部120がセンサデータ作成部110からセンサデータを取得した後、センサデータ記憶部142は、x−acc、y−acc、及びz−accをFIFO形式で記録する(S2010)。次に、センサデータ記憶部142に所定のデータ分だけ記録された後に、センサデータ演算部136は、センサデータ記憶部142からx−acc、y−acc、及びz−accを取得する。ここで、所定のデータは、例えば、情報処理装置100に設定された時間分だけのデータと設定されていてもよい。
次に、センサデータ演算部136は、FIFO形式で所定のデータ分だけ記録されたx−acc、y−acc、及びz−accについて、夫々の分散値を算出する(S2012)。また、次に、センサデータ演算部136は、上記夫々の分散値のうち、最も大きい分散値である歩行・走行判定用最大分散値(var)を抽出する(S2014)。
次に、センサデータ演算部136は、上記した歩行・走行判定用周波数(freq)と歩行・走行判定用最大分散値(var)の積を求める(S2016)。すなわち、簡潔に説明すると、歩行・走行に関する単位時間当たりの歩数をfreqで表現されており、歩行・走行に関する動きの大きさがvarで表現されている。つまり、歩行・走行は、歩数と動きの大小で判断可能であり、freqとvarの積が、後述するように所定の領域の範囲内にある場合には、ユーザが歩行していると判断される。また、上記積が、上記所定の領域を超える場合には、ユーザが走行していると判断される。更に、上記積が、上記所定の領域にも満たない場合には、ユーザは歩行も走行もしていないと判断される。
次に、上記積について、低領域除去部140が、ユーザの歩行もしくは走行が誤認識されうる周波数領域を除去して、歩行もしくは走行しているかを判定するための歩行・走行判定データを算出する(S2018)。つまり、低領域除去部140は、ローパスフィルター(LPF)としての機能を行うことができる。また、上記の除去される周波数領域は、予め情報処理装置100に設定されていてもよいし、情報処理装置100がユーザ独自の行動パターンを取得してユーザの行動に応じて設定されてもよい。
次に、歩行・走行状態判定部124が、歩行・走行判定データをセンサデータ処理部120から取得する。歩行・走行状態判定部124は、上記歩行・走行判定データの値が、ユーザが歩行していると認識するための下限値である最小歩行認識値D2よりも大きいか判定する(S2020)。また、歩行・走行状態判定部124は、上記歩行・走行判定データの値が、ユーザが歩行していると認識するための上限値である最大歩行認識値D3よりも小さいか判定する(S2020)。上記歩行・走行判定データの値が、D2よりも大きく、D3よりも小さい場合、歩行・走行状態判定部124は、ユーザが歩行しているという行動情報を生成する(S2022)。また、歩行・走行状態判定部124は、上記歩行・走行判定データの値が、D3よりも大きいか否かを判定する(S2024)。上記歩行・走行判定データの値が、D3よりも大きい場合、歩行・走行状態判定部124は、ユーザが走行しているという行動情報を生成する(S2026)。また、上記歩行・走行判定データの値が、D2以下である場合、歩行・走行状態判定部124は、歩行も走行もしていないという行動情報を生成する(S2028)。このように、本実施形態に係る情報処理装置100ではユーザの各行動に特化したセンサデータ処理機能により、ユーザが歩行しているか、走行しているのか、その両者の何れでもない何かしらの行動を取っているのかを精度良く認識することができる。
一方で、センサデータ演算部136は、上記のfreqを積分することもできる(S2028)。そして、上記の積分の結果によって、歩行・走行状態判定部124が、所定の時間におけるユーザの歩数についての行動情報を生成することができる。つまり、所定の時間において、ユーザがどれだけ歩いたかについても、情報処理装置100によれば認識することができる。なお、当該所定の時間については、例えば、情報処理装置100に設定された時間分であってもよいし、ユーザが設定した時間であってもよい。
(5−4.跳んでいるか否かについての認識方法)
次に、図13を参照しながら、ユーザが跳躍しているのか否かを認識する方法について説明する。図13は、行動認識部112が、ユーザが跳躍しているのか否かを認識する方法についての流れを示した説明図である。まず、センサデータ作成部110が、ユーザ行動156を感知してセンサデータを作成する。次に行動認識部112が、上記センサデータをセンサデータ作成部110から取得する。跳躍しているのか否かを認識するために、まず、行動判定部118のうち跳躍状態判定部126が、センサデータ処理部120に跳躍しているのかを認識するための信号を送信する。また、センサデータ処理部120は、センサデータ作成部110からセンサデータを取得する。
次に、センサデータ演算部136が、x−acc、y−acc、及びz−accについての大きさで表される跳躍加速度を算出する(S3000)。次に、特定領域除去部138が、上記跳躍加速度についてユーザが跳躍していると認識される跳躍認識値領域の範囲外の周波数を除去する(S3002)。つまり、特定領域除去部138は、バンドパスフィルター(BPF)としての機能を行うことができる。また、上記の跳躍認識値領域は、ユーザが設定してもよいし、予め情報処理装置100に設定されていてもよいし、情報処理装置100がユーザ独自の行動パターンを取得してユーザの行動に応じて設定されてもよい。また、その結果、特定領域除去部138は、跳躍しているか否かを認識するための絶対値である補正跳躍加速度を算出する(S3004)。具体的には、例えば、補正跳躍加速度は、跳躍加速度に比べて、跳躍したときに起こりうる情報処理装置100の揺れや振動などに起因するデータ成分が除去されている。次に、低領域除去部140が、上記の補正跳躍加速度についてユーザの跳躍が誤認識されうる周波数領域を除去する(S3006)。つまり、低領域除去部140は、ローパスフィルター(LPF)としての機能を行うことができる。また、上記の除去される周波数領域は、ユーザが設定してもよいし、予め情報処理装置100に設定されていてもよいし、情報処理装置100がユーザ独自の行動パターンを取得してユーザの行動に応じて設定されてもよい。また、その結果、低領域除去部140は、跳躍しているか否かを判定する跳躍状態判定値(det)を算出する。
次に、跳躍状態判定部126が、跳躍状態判定値をセンサデータ処理部120から取得する。跳躍状態判定部126は、上記跳躍状態判定値が、ユーザが跳躍していると認識するための下限値である最小跳躍認識値D4よりも大きいか判定する(S3008)。上記の跳躍状態判定値の値が最小跳躍認識値D4よりも大きい場合には、跳躍状態判定部126はユーザが跳躍しているという行動情報を生成する(S3010)。一方で、上記の跳躍状態判定値の値が最小跳躍認識値D4以下である場合には、跳躍状態判定部126はユーザが跳躍していないという行動情報を生成する(S3012)。このように、本実施形態に係る情報処理装置100ではユーザの各行動に特化したセンサデータ処理機能により、ユーザが跳躍しているのか、していないのかを精度良く認識することができる。
(5−5.座っているのか立っているのかについての認識方法)
次に、図14を参照しながら、ユーザが座っているのか立っているのかを認識する方法について説明する。図14は、行動認識部112が、ユーザが座っているのか立っているのかを認識する方法についての流れを示した説明図である。まず、センサデータ作成部110が、ユーザ行動156を感知してセンサデータを作成する。次に行動認識部112が、上記センサデータをセンサデータ作成部110から取得する。座っているのか立っているのかを認識するということは、もともと座っているユーザが立ったことを認識すること、もしくはもともと立っているユーザが座ることを認識することでもある。つまり、ユーザの姿勢変化を認識することである。このように、ユーザが姿勢変化をしているのかを認識するために、まず、行動判定部118のうち姿勢変化判定部128が、センサデータ処理部120に姿勢変化をしているのかを認識するための信号を送信する。また、センサデータ処理部120は、センサデータ作成部110からセンサデータを取得する。
次に、低領域除去部140が、x−acc、y−acc、及びz−accの夫々についてユーザの姿勢変化が誤認識されうる周波数領域を除去する(S4000)。低領域除去部140は、ローパスフィルター(LPF)としての機能を行うことができる。また、上記の除去される第一の周波数領域は、予め情報処理装置100に設定されていてもよいし、情報処理装置100がユーザ独自の行動パターンを取得してユーザの行動に応じて設定されてもよい。その結果、低領域除去部140は、x−accに基づくx−grav、y−accに基づくy−grav、及びz−accに基づくz−gravを算出する。x−gravは、第一加速度センサデータに基づく第一重力データの一例であり、X軸、Y軸、及びZ軸の3軸から成る座標軸のうちX軸方向の加速度センサデータのことを指す。y−gravは、第二加速度センサデータに基づく第二重力データの一例であり、X軸、Y軸、及びZ軸の3軸から成る座標軸のうちY軸方向の加速度センサデータのことを指す。z−gravは、第三加速度センサデータに基づく第三重力データの一例であり、X軸、Y軸、及びZ軸の3軸から成る座標軸のうちZ軸方向の加速度センサデータのことを指す。
次に、センサデータ演算部136は、上記算出したx−gravが所定の時間前のx−gravからどれだけ変化したかを示す値δ(x−grav)を算出する(S4002)。δ(x−grav)は、第一重力変化データの一例である。また、センサデータ演算部136は、上記算出したy−gravが所定の時間前のy−gravからどれだけ変化したかを示すδ(y−grav)を算出する(S4002)。δ(y−grav)は、第二重力変化データの一例である。また、センサデータ演算部136は、上記算出したz−gravが所定の時間前のz−gravからどれだけ変化したかを示すδ(z−grav)を算出する(S4002)。δ(z−grav)は、第一重力変化データの一例である。次に、センサデータ演算部136は、δ(x−grav)、δ(y−grav)、及びδ(z−grav)の大きさを表す姿勢変化値を算出する(S4004)。当該姿勢変化値は、ユーザの姿勢変化を認識可能なものとする。
次に、低領域除去部140は、上記姿勢変化値についてユーザの姿勢変化が誤認識されうる領域を除去する(S4006)。低領域除去部140は、ローパスフィルター(LPF)としての機能を行うことができる。その結果、低領域除去部140は、姿勢変化しているか否かを判定する姿勢変化判定値(det)を算出する。また、上記の除去される領域は、予め情報処理装置100に設定されていてもよいし、情報処理装置100がユーザ独自の行動パターンを取得してユーザの行動に応じて設定されてもよい。
次に、姿勢変化判定部128が、姿勢変化判定値をセンサデータ処理部120から取得する。姿勢変化判定部128は、ユーザが姿勢変化していると認識するための下限値である最小姿勢変化認識値D5よりも上記姿勢変化判定値が大きい場合、姿勢変化が行われていると判定する(S4008)。姿勢変化が行われている場合に、姿勢変化判定部128は、既にユーザが立っているのか座っているのかを判定する(S4010)。ユーザが既に立っている場合には、姿勢変化が行われてユーザは座ることとなり、姿勢変化判定部128は、ユーザが座っているという行動情報を生成する(S4012)。また、ユーザが既に座っている場合には、姿勢変化が行われてユーザは立つこととなり、姿勢変化判定部128は、ユーザが立っているという行動情報を生成する(S4014)。つまり、一方、上記姿勢変化判定値がD5以下である場合、姿勢変化は行われておらず、姿勢変化判定部128は、姿勢変化に関する状態の変化はないという行動情報を生成する(S4016)。このように、本実施形態に係る情報処理装置100ではユーザの各行動に特化したセンサデータ処理機能により、ユーザが姿勢変化を行っているのか、行っていないのかを精度良く認識することができる。すなわち、ユーザの姿勢変化について判定することに基づいて、ユーザが座っている状態にあるのか、立っている状態にあるのかを認識することができる。
(5−6.エレベータで上昇しているか下降しているかの認識方法)
次に、図15を参照しながら、ユーザがエレベータに乗っているのか否かを認識する方法について説明する。図15は、行動認識部112が、ユーザがエレベータに乗っているのか否かを認識する方法についての流れを示した説明図である。まず、センサデータ作成部110が、ユーザ行動156を感知してセンサデータを作成する。次に行動認識部112が、上記センサデータをセンサデータ作成部110から取得する。このように、ユーザがエレベータに乗っているのか否かを認識するために、まず、行動判定部118のうちエレベータ搭乗判定部130が、センサデータ処理部120にエレベータに乗っているのか否かを認識するための信号を送信する。また、センサデータ処理部120は、センサデータ作成部110からセンサデータを取得する。
次に、低領域除去部140が、x−acc、y−acc、及びz−accを基に、重力方向の加速度であると誤認識されうる周波数領域を除去する(S5000)。低領域除去部140は、ローパスフィルター(LPF)としての機能を行うことができる。また、上記の除去される周波数領域は、予め情報処理装置100に設定されていてもよいし、情報処理装置100がユーザ独自の行動パターンを取得してユーザの行動に応じて設定されてもよい。次に、センサデータ演算部136が、上記の周波数領域が除去された、x−acc、y−acc、及びz−accに基づいて重力方向加速度センサデータ(acc)を算出する(S5002)。
一方、センサデータ演算部136が、重力の値を調整可能にするx−acc、y−acc、及びz−accの大きさで表される重力調整データを算出して(S5004)、当該重力調整データをセンサデータ記憶部142に記録する(S5006)。センサデータ演算部136は、所定のデータ分だけ記録された上記重力調整データについての分散値である重力調整分散値(var)を算出する(S5008)。また、センサデータ演算部136は、所定のデータ分だけ記録された上記重力調整データについての平均値である重力調整平均データを算出する(S5008)。
次に、センサデータ演算部136は、上記重力調整分散値が重力の調整を許容する最大の分散値である最大許容重力調整分散値V1よりも小さいか否か判定する(S5010)。上記重力調整分散値がV1以上である場合には、センサデータ演算部136は重力の値を更新しない(S5012)。上記の機能は、ユーザに付随する情報処理装置100の向きによって、重力の微調整が必要な場合に行われるものであり、上記重力調整分散値がV1以上である場合には、調整後の重力の変化があまりにも大きく、実現象との乖離が大きくなりすぎるからである。
一方、上記重力調整分散値が重力の調整を許容する最大の分散値である最大許容重力調整分散値V1よりも小さい場合について説明する。センサデータ演算部136は引き続いて、上記の重力調整平均データが重力の調整を許容する最小の平均値である最小許容重力平均値A1よりも大きく、上記重力調整平均データが重力の調整を許容する最大の平均値である最大許容重力平均値A2よりも小さいか否か判定する(S5014)。上記重力調整平均データの値がA1よりも大きく、A2よりも小さい場合には、当該重力調整平均データの値を調整後の重力とみなす。一方、上記重力調整平均データの値が、A1以下もしくはA2以上である場合には、センサデータ演算部136は重力の値を更新しない(S5016)。
次に、低領域除去部140が、上記重力調整平均データについて重力であると誤認識されうる低領域を除去する(S5018)。低領域除去部140は、ローパスフィルター(LPF)としての機能を行うことができる。また、上記の除去される周波数領域は、予め情報処理装置100に設定されていてもよいし、情報処理装置100がユーザ独自の行動パターンを取得してユーザの行動に応じて設定されてもよい。その結果、低領域除去部140は、補正重力調整平均データを算出する。
次に、センサデータ演算部136は、上記重力方向加速度センサデータと上記補正重力調整平均データとの差分を算出する(S5020)。つまり、ユーザの行動によって重力の変化があるのか否かによって、エレベータに乗っているのか否かを判定する。次に、低領域除去部140が、上記差分についてユーザがエレベータに乗っていると誤認識されうる周波数領域を除去して、上記ユーザがエレベータに乗っているか否かを判定するエレベータ昇降判定データを算出する。上記の除去される周波数領域は、予め情報処理装置100に設定されていてもよいし、情報処理装置100がユーザ独自の行動パターンを取得してユーザの行動に応じて設定されてもよい。
次に、エレベータ搭乗判定部130が、エレベータ昇降判定データをセンサデータ処理部120から取得する。エレベータ搭乗判定部130は、エレベータ昇降判定データが所定値D6よりも大きいのかそれとも小さいのかといった判定(S5024)と、所定値D7よりも大きいのかそれとも小さいのかといった判定(S5032)を行う。所定値D6とは、ユーザがエレベータで上昇を始めたことを認識するための下限値であり、Dαの一例である。所定値D7とは、ユーザがエレベータで下降を始めたことを認識するための上限値であり、Dβの一例である。より具体的に説明すると、エレベータ搭乗判定部130は、当該エレベータ昇降判定データが最初は所定値D6よりも大きく、次に所定値D7よりも小さくなる場合には、ユーザがエレベータで上昇していたと判定する。そして、ユーザがエレベータで上昇していたという行動情報を生成する(S5024、S5026、S5028、S5032、S5034、S5038)。また、エレベータ搭乗判定部130は、当該エレベータ昇降判定データが最初は所定値D7よりも大きく、次に所定値D6よりも小さくなる場合には、ユーザがエレベータで下降していたと判定する。そして、ユーザがエレベータで下降していたという行動情報を生成する(S5024、S5026、S5030、S5032、S5034、S5036)。上記のような方法によれば、例えばエレベータで上昇し始めた状況と、その後の状況についての加速度センサデータに基づいてユーザの行動を認識するので、エレベータ搭乗中のユーザが何かしらの行動を取ることによる誤認識を防げる。
更に、エレベータ昇降判定データが所定値D6以下であり、所定値D7以上であるかについても、エレベータ搭乗判定部130は、ユーザの行動を判定する(S5040)。ユーザがエレベータに乗っている場合には、エレベータが加速及び減速の状態にはないという行動情報を生成する(S5042)。すなわち、当該行動情報により、エレベータが停止もしくは等速度運動している状態にあることが分かる。また、ユーザがエレベータに乗っていない場合には、エレベータに乗っていないという行動情報を生成する(S5044)。このように、本実施形態に係る情報処理装置100ではユーザの各行動に特化したセンサデータ処理機能により、ユーザがエレベータに乗って、上昇しているのか下降しているのかを精度良く認識することができる。すなわち、ユーザの上下方向の加速又は減速を検出することで、エレベータに搭乗しているのか否かを認識することができる。
(5−7.電車に乗っているのか否かの認識方法)
次に、図16を参照しながら、ユーザが電車に乗っているのか否かを認識する方法について説明する。図16は、行動認識部112が、ユーザが電車に乗っているのか否かを認識する方法についての流れを示した説明図である。まず、センサデータ作成部110が、ユーザ行動156を感知してセンサデータを作成する。次に行動認識部112が、上記センサデータをセンサデータ作成部110から取得する。このように、ユーザが電車乗っているのか否かを認識するために、まず、行動判定部118のうち電車搭乗判定部132が、センサデータ処理部120に電車に乗っているのか否かを認識するための信号を送信する。また、センサデータ処理部120は、センサデータ作成部110からセンサデータを取得する。
次に、低領域除去部140は、x−acc、y−acc、及びz−accを基に、ユーザが電車に乗っていると誤認識されうる周波数領域を除去する(S6000)。低領域除去部140は、ローパスフィルター(LPF)としての機能を行うことができる。また、上記の除去される周波数領域は、予め情報処理装置100に設定されていてもよいし、情報処理装置100がユーザ独自の行動パターンを取得してユーザの行動に応じて設定されてもよい。次に、センサデータ演算部136が、上記周波数領域が除去されたx−acc、y−acc、及びz−accに基づいて、水平方向加速度センサデータ、及び垂直方向加速度センサデータを算出する(S6002、S6004)。ここで、水平方向とは、電車の走っている地面に対して平行な方向である。また、垂直方向とは、上記水平方向に対して垂直な方向を指す。
次に、センサデータ記憶部142は、上記の水平方向加速度センサデータ、及び垂直方向加速度センサデータを所定のデータ分だけFIFO形式で記録する(S6006、S6008)。ここで、所定のデータは、例えば、情報処理装置100に設定された時間分だけのデータと設定されていてもよいし、ユーザが設定した時間分だけのデータであってもよい。上記のようにFIFO形式で記録された水平方向加速度センサデータについて、センサデータ演算部136は水平方向分散値(h−var)を算出する(S6010)。また、上記のようにFIFO形式で記録された垂直方向加速度センサデータについて、センサデータ演算部136は垂直方向分散値(v−var)を算出する(S6012)。水平方向分散値(h−var)は、電車の走行時の水平方向の揺れ、振動の度合いを表現したものとなる。また、垂直方向分散値(v−var)は、電車の走行時の垂直方向の揺れ、振動の度合いを表現したものとなる。
更に、上記の垂直方向分散値(v−var)が、最小の許容される垂直方向分散値である最小許容垂直分散値V1より大きく、かつ最大の許容される垂直方向分散値である最大許容垂直分散値V2より小さいかについて判定する(S6014)。上記の垂直方向分散値(v−var)が、上記V1以下である場合、もしくは上記V2以上である場合には、センサデータ演算部136は、以下に述べる電車搭乗判定データ(det)をゼロとする。すなわち、上記の垂直方向分散値(v−var)が、上記V1以下である場合、もしくは上記V2以上である場合には、垂直方向分散値は、電車の走行時の揺れ、振動の度合いを表現するには適切ではないと判断されるため、センサデータ演算部136が電車搭乗判定データ(det)をゼロと補正する。また、V1、V2については、例えば、情報処理装置100に設定された値である。
次に、センサデータ演算部136は、垂直方向分散値と水平方向分散値の何れが小さいかを判定する(S6016)。垂直方向分散値(v−var)の方が小さい場合、センサデータ演算部136は、垂直方向分散値(v−var)の所定分だけの積分値を算出する(S6018)。上記所定分については、例えば、情報処理装置100に設定された分であってもよいし、ユーザが設定した分であってもよい。また、水平方向分散値(h−var)の方が小さい場合、センサデータ演算部136は、水平方向分散値(h−var)の所定分だけの積分値を算出する(S6020)。上記所定分については、例えば、情報処理装置100に設定された分であってもよいし、ユーザが設定した分であってもよい。上記の積分により、センサデータ演算部136は、ユーザが電車に乗っているか否かを判定する電車搭乗判定データ(det)を算出する。また、上述のように、上記の垂直方向分散値(v−var)が、上記V1以下である場合、もしくは上記V2以上である場合には、センサデータ演算部136は、以下に述べる電車搭乗判定データ(det)をゼロとする(S6028)。
次に電車搭乗判定部132が、電車搭乗判定データをセンサデータ処理部120から取得する。電車搭乗判定部132は、電車搭乗判定データが、ユーザが電車に搭乗していると認識するための下限値である最小電車搭乗認識値D8よりも大きいか否かを判定する(S6022)。電車搭乗判定データが、D8よりも大きい場合には、電車搭乗判定部132は、ユーザが電車に乗っていると判定する。その場合には、電車搭乗判定部132は、ユーザが電車に搭乗しているという行動情報を生成する(S6024)。一方、電車搭乗判定データが、D8以下である場合には、電車搭乗判定部132は、ユーザが電車に乗っていないと判定する(S6026)。その場合には、電車搭乗判定部132は、ユーザが電車に搭乗していないという行動情報を生成する(S6026)。このように、本実施形態に係る情報処理装置100ではユーザの各行動に特化したセンサデータ処理機能により、ユーザが電車に乗っているのか否かを精度良く認識することができる。
なお、上述してきたような電車に乗っているのか否かの認識について、情報処理装置100は、エレベータに乗っているのか否かを認識する方法と同様に、電車の加速状態から減速状態までを着目することができる。すなわち、電車に搭乗していて、電車が駅に停車している場合、認識結果として、後述するように「false」のフラグが立てられる。つまり、電車が停車した場合、もしくは、電車が駅に着いてユーザが電車から降りて歩き始めた場合には、電車搭乗判定部132は、電車に乗っていないと判定する。かかる場合、後述するように、行動情報後処理部116は、所定の後処理を行う。すなわち、電車の加速状態から減速状態に基づいて、所定の条件を満たした場合には電車に乗っていた、もしくは、電車に乗っていると後処理する。
(5−8.右折もしくは左折しているのかの認識方法)
次に、図17を参照しながら、ユーザが右折もしくは左折しているのかを認識する方法について説明する。図17は、行動認識部112が、ユーザが右折もしくは左折しているのかを認識する方法についての流れを示した説明図である。まず、センサデータ作成部110が、ユーザ行動156を感知してセンサデータを作成する。次に行動認識部112が、上記センサデータをセンサデータ作成部110から取得する。このように、ユーザが右折もしくは左折しているのかを認識するために、まず、行動判定部118のうち右折・左折判定部134が、センサデータ処理部120に電車に乗っているのか否かを認識するための信号を送信する。また、センサデータ処理部120は、センサデータ作成部110からセンサデータを取得する。
次に、低領域除去部140は、x−acc、y−acc、及びz−accを基に、ユーザが右折もしくは左折していると誤認識されうる周波数領域を除去する(S7000)。低領域除去部140は、ローパスフィルター(LPF)としての機能を行うことができる。また、上記の除去される周波数領域は、ユーザが設定してもよいし、予め情報処理装置100に設定されていてもよいし、情報処理装置100がユーザ独自の行動パターンを取得してユーザの行動に応じて設定されてもよい。
センサデータ演算部136が、上記周波数領域が除去されたx−acc、y−acc、及びz−accと、x−gyro、y−gyro、及びz−gryoと、に基づいて重力方向の角速度を算出する(S7002)。次に、特定領域除去部138が、上記角速度について、ユーザが右折もしくは左折していると認識される曲がり認識領域の範囲外の値を除去して、補正角速度(det)を算出する(S7004)。特定領域除去部138は、バンドパスフィルター(BPF)としての機能を行うことができる。また、上記の曲がり認識領域は、ユーザが設定してもよいし、予め情報処理装置100に設定されていてもよいし、情報処理装置100がユーザ独自の行動パターンを取得してユーザの行動に応じて設定されてもよい。
次に右折・左折判定部134が、補正角速度をセンサデータ処理部120から取得する。右折・左折判定部134は、補正角速度がユーザは右折していると認識するための上限値である最大右折認識値D9よりも小さいか否かを判定する(S7006)。補正角速度がD9よりも小さい場合、右折・左折判定部134が、ユーザは右折しているという行動情報を生成する(S7008)。一方、補正角速度がD9以上である場合であって、ユーザが左折していると認識するための下限値である最小左折認識値D10よりも大きい場合には、右折・左折判定部134は、ユーザは左折していると判定する(S7010)。補正角速度がD10よりも大きい場合、右折・左折判定部134は、ユーザは左折しているという行動情報を生成する(S7012)。更に、補正角速度がD9以上であって、D10以下である場合には、右折も左折もしていないという行動情報を生成する(S7014)。ここで、本実施形態においてD9は、負の値を有し、D10は、正の値を有する。このように、本実施形態に係る情報処理装置100ではユーザの各行動に特化したセンサデータ処理機能により、ユーザが右折しているのか、もしくは左折しているのかを精度良く認識することができる。
(5−9.行動情報後処理方法について)
次に、行動情報後処理機能について、図18〜図20を参照しながら説明する。図18は、行動情報が行動管理部114によって管理された後に、行動情報後処理部116によって行動の認識結果が判定され、ラベル化された状態を示した概念図である。矢印230はFIFOの走査方向を指している。行動管理部114は、行動情報を当該行動情報に対応する行動がなされた時刻と関連付けて管理している。そして、行動情報後処理部116は、所定のサンプリングレート毎に、行動が行われたことを示す「true」か、行動が行われなかった「false」のフラグが立てられる。上記所定のサンプリングレートは例えば、32Hzが挙げられる。
行動情報後処理部116は、上記フラグの内容を元の内容とは異なる内容に変更する再処理を行うことができる。例えば、行動情報後処理部116が有する、排他行動情報再処理部144は、ユーザが同時に2つ以上の行動を取ることはできない排他的特性に基づいて各行動に関する単位時間毎の行動情報を再処理する。そして、排他行動情報再処理部144は、フラグの内容を元の内容とは異なる内容に変更することができる。上記排他的特性について更に詳細に説明する。以下の表1に示すように、例えば、歩行と、走行と、跳躍とをユーザは同時に行うことはできない。しかし、上述してきたような行動認識部112による行動情報の生成過程では、歩行と、走行と、走行とがユーザによって同時に行われると判定されうる。そこで、排他行動情報再処理部144は、このような排他的な関係にある行動について、単位時間ごとの行動情報を再処理する。表1に示すように、排他関係が共にAと表記されている「静止している」状態と、「一時停止している」状態は、排他関係にある。すなわち、これらの行動状態は同時に起こりえない。また、排他関係が共にBと表記されている「歩行している」状態と、「走行している」状態と、「跳躍している」状態とは、排他関係にある。すなわち、これらの行動状態は同時に起こりえない。また、排他関係が共にCと表記されている「座っている」状態と、「立っている」状態とは、排他関係にある。すなわち、これらの行動状態は同時に起こりえない。また、排他関係が共にDと表記されている「エレベータに上昇している」状態と、「エレベータで下降している」状態と、「電車に乗っている」状態とは、排他関係にある。すなわち、これらの行動状態は同時に起こりえない。また、排他関係が共にEと表記されている「右折している」状態と、「左折している」状態とは、排他関係にある。すなわち、これらの行動状態は同時に起こりえない。排他行動情報再処理部144が、この場合、どちらの行動状態を選択するのかについては、例えば、行動管理部114に管理されているユーザの過去の行動情報に基づいて、前後の行動との関係において、どちらの行動状態を選択しやすいかを統計的に処理してもよい。また、その他の選択方法であってもよい。選択されなかった行動情報については、排他行動情報再処理部144が排除する。排他行動情報再処理部144が、行動はなかったものとする行動情報を作成してもよい。何れにしても、排他行動情報再処理部144は、符号232にあるように上記フラグの「true」と表示されていた部分を「false」と表示し直す。
また、図19は、センサデータに対して、行動認識部112による処理によって得られる行動情報では、当該処理のため時間遅れが生じていることを示している。例えば、時刻tnで処理された行動は、実際にはtn’で行われたものである。行動情報後処理部116は、行動情報実時間調整部148を有する。行動情報実時間調整部148が行動毎のこの時間遅れを認識していて、tnを、tn’に補正することで、行動毎の正確な認識時刻に直すことができる。
また、行動情報後処理部116は、誤認識行動情報再処理部146も有する。誤認識行動情報再処理部146は、ある行動について、当該行動の所要時間が極端に短すぎる場合には、上記行動に関する行動情報はノイズであって、実際には行動が行われていなかったものと処理する。例えば、行動認識部112によって、ユーザが「走行している」という行動情報を生成した場合であっても、走行に要した時間が極端に短かった場合には、誤認識行動情報再処理部146は、上記行動情報をノイズとみなす再処理をする。また、誤認識行動情報再処理部146は、本来起こりえない行動に関する行動情報であるものについては、実際には行動が行われていなかったものと処理する。例えば、行動認識部112によって、ユーザが「座っている」状態において、「歩行している」状態が認識されたら、「座っている」のではなくて「立っている」と判定し直す。このように、誤認識行動情報再処理部146は、各行動に関する行動情報が、各行動を取るのに必要となる行動情報必要条件を満たしていない場合には上記行動に関する行動情報を修正する。
次に、図20は、FIFOに格納されている2つの行動情報の認識結果について、現在時刻(tcurrent)に対する指定時間(ttime−delay)前の時刻(tpoint−of−interest)における行動の有無を行動管理部114が取得する様子を概念的に示したものである。図20に示すように、例えばtnの存在する位置が時間軸に対して、行動Aと行動Bで異なってくる。より具体的には、図18を参照しながら説明してきた処理や図19を参照しながら説明した処理を、行動情報後処理部116が行った後、FIFOには、図20に示すような状態で各行動情報が記録される。このように各行動情報が記録されていて、過去の各行動情報について時間調整がなされているので、行動管理部114は、例えばデータ制御部150に容易に過去の行動情報を送信することができる。
<6.第1の実施形態の変形例について>
次に、図21〜図23を参照しながら、本発明の第1の実施形態の変形例について説明する。なお、情報処理装置101による情報処理方法の概要については、図4〜図8を参照しながら説明したような情報処理装置100による情報処理方法の概要と実質的に同一であるので、かかる内容については説明を省略する。
まず、図21を参照しながら、同変形例に係る情報処理装置101の機能構成について説明する。図21は、同変形例に係る情報処理装置101の機能構成例を示す説明図である。
情報処理装置101は、センサデータ作成部110と、行動認識部112と、行動管理部114と、行動情報後処理部117と、データ制御部150と、記憶部152と、表示制御部154と、表示画面160とを有する。行動判定部118は、静止状態判定部122と、歩行・走行状態判定部124と、跳躍状態判定部126と、姿勢変化判定部128と、エレベータ搭乗判定部130と、電車搭乗判定部132と、右折・左折判定部134とを有する。センサデータ処理部120は、センサデータ演算部136と、特定領域除去部138と、低領域除去部140と、センサデータ記憶部142とを有する。行動情報後処理部117は、排他行動情報再処理部144と、誤認識行動情報再処理部146と、行動情報実時間調整部148と、行動間比較再処理部149とを有する。
情報処理装置101において、センサデータ作成部110、行動認識部112、及び行動管理部114については、第1の実施形態に係る情報処理装置100のセンサデータ作成部110、行動認識部112、及び行動管理部114と実質的に同一である。また、データ制御部150、記憶部152、表示制御部154、及び表示画面160についても、情報処理装置100のデータ制御部150、記憶部152、表示制御部154、及び表示画面160と実質的に同一である。また、排他行動情報再計算部144、誤認識行動情報再計算部146、及び行動情報実時間調整部148についても、情報処理装置100の排他行動情報再計算部144、誤認識行動情報再計算部146、及び行動情報実時間調整部148と実質的に同一である。そのため、本実施形態では、行動情報後処理部117の行動間比較再処理部149について中心に説明し、上記第1の実施形態と同様の構成についての説明は省略する。
行動情報後処理部117は、行動管理部114により入力された行動情報に対して所定の後処理を行う。本変形例では、行動間比較再処理部149が上記後処理の一部を行う。行動間比較再処理部149は、所定時間内に行われた行動について、類似しているか否かに関する類似行動情報に基づいて、類似していると判定した所定の2つ以上の上記行動についての夫々の上記行動情報の合計時間を比較する。更に、行動間比較再処理部149は、合計時間が最も長い行動情報を前記所定時間の行動情報として選択する。上記の類似行動情報は、各行動夫々が互いに類似しているか否かを表す情報のことであり、例えば、センサデータ記憶部142や他のデータベース等に記憶されている。
行動間比較再処理部149による処理について、より具体的に、図22に示す例を参照しながら説明する。図22は、同変形例についての情報処理方法の一例を示す説明図である。
まず、図22の(a)に示すように、行動認識部による処理によって、所定時間において、そのうちの前半に自動車に搭乗していたと判定され、後半にバスに搭乗していたと判定された場合を例に説明する。この例では、上記所定時間は50秒とする。この場合、まず、行動間比較再処理部149は、類似行動情報に基づいて、自動車に搭乗するという行動とバスに搭乗するという行動とが類似しているか否かについて判定し、かかる2つの行動は類似していると判定する。そして、(a)に示す例では、自動車に搭乗していた時間は3メモリ分(15秒間)であり、バスに搭乗していた時間は7メモリ分(35秒間)である。すなわち、自動車に搭乗していた時間よりもバスに搭乗していた時間が長いことから、行動間比較再処理部149は、所定時間内において、バスの搭乗のみが行われていたものと処理をする。
次に、図22の(b)に示すように、行動認識部による処理によって、所定時間において、自動車、バス、自動車、バス、自動車の順に搭乗していたと判定された場合を例に説明する。この場合も、まず、行動間比較再処理部149は、類似行動情報に基づいて、自動車に搭乗するという行動とバスに搭乗するという行動とが類似しているか否かについて判定し、かかる2つの行動は類似していると判定する。そして、(b)に示す例では、自動車に搭乗していた時間は、1メモリ分が3箇所あることから合計で3メモリ分(15秒間)であり、バスに搭乗していた時間は、3メモリ分と4メモリ分とが1箇所ずつあることから合計で7メモリ分(35秒間)である。すなわち、自動車に搭乗していた合計時間よりもバスに搭乗していた合計時間が長いことから、行動間比較再処理部149は、所定時間内において、バスの搭乗のみが行われていたものと処理をする。
次に、図22の(c)に示すように、行動認識部による処理によって、所定時間において、自動車、電車、バスの順に搭乗していたと判定された場合を例に説明する。このように、3つの乗物についての搭乗が認識された場合にも、まず、行動間比較再処理部149は、類似行動情報に基づいて、夫々の乗物に搭乗するという行動が類似しているか否かについて判定し、かかる3つの行動は類似していると判定する。そして、(c)に示す例では、自動車に搭乗していた時間は、2メモリ分(10秒間)であり、電車に搭乗していた時間は6メモリ分(30秒間)であり、バスに搭乗していた時間は2メモリ分(10秒間)である。すなわち、電車に搭乗していたと判定された時間が最も長いことから、行動間比較再処理部149は、所定時間内において、電車の搭乗のみが行われていたものと処理をする。
図22に示した例は、自動車等に搭乗していたと判定された場合のものであり、後述する第2の実施形態に係る乗物搭乗判定部532による行動認識結果に対するものを例に説明したが、行動間比較再処理部149による処理はかかる例に限定されない。すなわち、自動車、バス、及び電車のように、上記類似行動情報に基づいて類似していると判定される2つ以上の行動であればいずれのものでもよい。
このように、50秒程度の短時間で、自動車、バス、及び電車といった複数の乗物に搭乗することは現実的に想定し難いが、行動間比較再処理部149が上述したような後処理を行うことで、行動認識結果が現実のユーザの行動をより精度良く反映したものとなる。なお、所定時間は、上述の例では50秒としたが、かかる例に限定されない。また、上記所定時間は、予め設定されていてもよいし、ユーザが設定してもよい。通常、車、バス、電車等の乗物に搭乗する時間は、短くても数分である。つまり、上記の所定時間は、実際に乗物に搭乗している時間よりも短い。そのため、行動間比較再処理部149が後処理をする時間は、実際にユーザが乗物に搭乗している時間と比較すると誤差の範囲に相当するものであり、上述のように行動間比較再処理部149が後処理をしても、行動認識結果の精度を悪くするものではない。
次に、図23を参照しながら、行動認識方法及び行動情報後処理方法の流れについて、図23を参照しながら説明する。図23は、同変形例に係る行動認識方法及び行動情報後処理方法の流れを示す説明図である。同変形例において、ステップS100、102、104、106、及び108で行われる処理方法は、図9を参照しながら説明した本発明の第1の実施形態に係る行動認識方法及び行動情報後処理方法の流れにおけるステップS100、102、104、106、及び108で行われる処理方法と実質的に同一である。そのため、本変形例では、ステップS111で行われる処理方法について中心に説明し、上記第1の実施形態と同様の処理方法についての説明は省略する。
ステップS111では、ステップS100〜S108で行われる処理により得られた行動認識結果に対して、行動情報後処理部117が後処理を行う。上記後処理としては、例えば、行動情報後処理部116の排他行動情報再計算部144が、排他行動の整合性を確保する処理を行うことが挙げられる。また、行動情報後処理部116の誤認識行動情報再計算部146が、経験則に基づいて誤認識を回避する処理を行うことも挙げられる。また、行動情報後処理部116の行動情報実時間調整部148が、デジタルフィルタの時間遅れを調整する処理を行うことも挙げられる。行動情報後処理部116の行動間比較再処理部149が、多数決により信頼性を向上させるための処理を行うことも挙げられる。かかる多数決による処理とは、図22を参照しながら説明したように、所定時間における2つ以上の行動の行動情報に関する所定の評価値を比較して、大きい方の上記評価値を有する行動情報に対応する行動が、上記所定時間に行われていたと処理することを指す。例えば、行動間比較再処理部149は、ラベル化された行動認識結果について、ある一定時間内における夫々の行動の合計時間を算出して、その中で最も長い時間のものを有効として、それ以外を無効として扱う。上記の行動情報後処理部117の後処理については、図18〜図22を参照しながら説明したため、ここでは詳細な説明は省略するが、これらの後処理が行われることにより、情報処理装置101によって算出された行動認識結果の信頼性がより向上する。
<7.本発明の第2の実施形態に係る情報処理装置500の機能構成>
次に、図24を参照しながら、本発明の第2の実施形態に係る情報処理装置500の機能構成について説明する。図24は、本発明の第2の実施形態に係る情報処理装置500の機能構成例を示す説明図である。情報処理装置500は、ユーザの行動に依存したセンサデータの特徴ベクトルの算出機能、識別関数の演算機能及び閾値の判定機能を特徴の一つとして有する。
情報処理装置500は、センサデータ作成部110と、行動認識部512と、行動管理部114と、行動情報後処理部117と、データ制御部150と、記憶部152と、表示制御部154と、表示画面160とを有する。行動認識部512は、行動判定部518と、センサデータ処理部520とを有する。センサデータ処理部520は、センサデータ演算部536と、センサデータ記憶部142とを有する。行動情報後処理部117は、排他行動情報再処理部144と、誤認識行動情報再処理部146と、行動情報実時間調整部148と、行動間比較再処理部149とを有する。行動判定部518は、静止状態判定部122と、歩行・走行状態判定部124と、跳躍状態判定部126と、姿勢変化判定部128と、エレベータ搭乗判定部130と、乗物搭乗判定部532と、右折・左折判定部134とを有する。センサデータ処理部120は、センサデータ演算部536と、特定領域除去部138と、低領域除去部140と、センサデータ記憶部142とを有する。
情報処理装置500において、センサデータ作成部110、行動管理部114、及びデータ制御部150については、第1の実施形態に係る情報処理装置100のセンサデータ作成部110、行動管理部114、及びデータ制御部150と実質的に同一である。また、行動情報後処理部117については、第1の実施形態の変形例に係る情報処理装置101の行動情報後処理部117と実質的に同一である。また、記憶部152、表示制御部154、及び表示画面160についても、第1の実施形態に係る情報処理装置100の記憶部152、表示制御部154、及び表示画面160と実質的に同一である。また、静止状態判定部122及び歩行・走行状態判定部124についても、情報処理装置100の静止状態判定部122及び歩行・走行状態判定部124と実質的に同一である。また、跳躍状態判定部126及び姿勢変化判定部128についても、情報処理装置100の跳躍状態判定部126及び姿勢変化判定部128と実質的に同一である。また、エレベータ搭乗判定部130及び右折・左折判定部134についても、第1の実施形態に係る情報処理装置100のエレベータ搭乗判定部130及び右折・左折判定部134と実質的に同一である。そのため、本実施形態では、行動認識部512の乗物搭乗判定部518及びセンサデータ処理部520のセンサデータ演算部536について中心に説明し、上記第1の実施形態及びその変形例と同様の構成についての説明は省略する。
行動認識部512は、センサデータ作成部110からセンサデータを取得する。行動認識部512は、当該センサデータに対して所定の閾値処理を行ってユーザが行った行動を認識し、ユーザが行った行動を表す情報である行動情報を生成する。行動認識部512は、センサデータ演算部536を含むセンサデータ処理部520を有する。センサデータ演算部536は、センサデータの一例である加速度センサデータに基づいて特徴ベクトルを算出する。そして、センサデータ演算部536は、上記特徴ベクトルを乗物の種類毎に設定された識別関数に代入して、当該識別関数の値を算出する。行動認識部512は、ユーザが所定の乗物へ搭乗したか否かについての判定を行う乗物搭乗判定部518を更に有し、乗物搭乗判定部518の判定結果に基づいて行動情報を生成する。乗物搭乗判定部518は、センサデータ演算部536により算出された上記識別関数の値が、当該識別関数に対応する乗物に乗っていることを認識する際に用いられる乗物搭乗認識値より大きいか否か判定する。
上記の特徴ベクトルには、例えば、センサデータから生成される、垂直方向又は水平方向の平均値、分散値、及び周波数等といった、夫々の乗物への搭乗を表すための必要な物理量が含まれる。上記識別関数は、統計的に有意な数のデータに基づいて、一般的な機械学習の手段に則って、夫々の乗物毎に予め設定されている。当該データとは、決まった乗物に乗っている際の実測の特徴ベクトルである。なお、上記識別関数は、予めセンサデータ記憶部142に記憶されているが、ユーザ入力により更新されてもよい。上記の乗物は、限定されるものではないが、例えば、電車、自動車、バス、及び自転車等が挙げられる。
このように、情報処理装置500では、センサデータ記憶部142に乗物毎に識別関数が設定されており、デジタルフィルタの設計に対して、識別関数の設計は簡易であるため、装置の大型化等の懸念なく、判定する乗物の種類を増加することができる。例えば、以下の表2に示すように、加速度センサに基づいて、星印を付した複数の乗物の夫々に搭乗しているか否かを容易に判定することができる。また、乗物搭乗判定部532は、夫々の乗物に特化した識別関数に基づいて乗物に搭乗しているか否かを判定するため、ユーザが搭乗する乗物の加速度の変化が大きくなくても、夫々の乗物に搭乗しているか否かをより精度良く判定することができる。また、特徴ベクトルの算出方法は、夫々の乗物で共通しており、識別関数の設定のみが乗物毎で異なるため、より単純な方法でユーザが乗物に搭乗しているか否かについて判定することができる。更に、識別関数については、予め設定されたものを、ユーザが事後的に学習させ更新することもできるので、例えば、時代の変遷に伴う乗物の動きの変化に応じて、識別関数を更新することが可能となる。更に、行動間比較再処理部149等の行動情報後処理部116が後処理を行うことで、数十秒程度の短い時間で、複数の乗物に何度も乗り換えるという行動認識結果が生成しまう懸念もなく、精度の良い行動認識結果を得ることができる。
<8.情報処理装置500による情報処理方法の応用例>
次に、図25及び図26を参照しながら、情報処理方法の応用例について説明する。なお、情報処理装置500による情報処理方法の概要については、情報処理装置100による情報処理方法の概要で説明したものと実質的に同一であるので、かかる内容については説明を省略する。
(8−1.行動認識機能及び行動情報後処理機能について)
図25は、情報処理装置500の情報処理方法の流れを示す説明図である。図25のステップS102、104、106、及び108で行われる処理方法は、図9を参照しながら説明したステップS102、104、106、及び108で行われる処理方法と実質的に同一である。また、ステップS111で行われる処理方法は、図23を参照しながら説明したステップS111で行われる処理方法と実質的に同じである。そのため、ここでは、ステップS200で行われる処理について中心に説明し、図9及び図23で説明したものと同様の処理についての説明は省略する。また、図10を参照しながら説明した過去の時刻tn−dの認識結果を取得する機能については、本実施形態においても実質的に同様の機能が実行されるので、ここではその説明は省略する。
ステップS200では、行動認識部512は、入力信号としてセンサデータ作成部110が作成したセンサデータに対して、特徴ベクトルを算出し、乗物の種類毎に設定されている識別関数により、当該識別関数の値を出力する。ステップS200で行われる処理については、図26を参照しながら以下で詳細に説明する。
(8−2.乗物に搭乗しているのか否かについての認識方法)
次に、図26を参照しながら、ユーザが乗物に搭乗しているのか否かについて認識する方法について説明する。図26は、行動認識部512により、ユーザが乗物に搭乗しているか否かを認識する方法についての流れを示した説明図である。
まず、センサデータ作成部110が、ユーザ行動156を感知してセンサデータを作成する。次に、行動認識部512が、上記センサデータをセンサデータ作成部110から取得する。ユーザが乗物に乗っているか否かを認識するために、まず、乗物搭乗判定部518が、センサデータ処理部520に乗物に乗っているか否かを認識するための信号を送信する。また、センサデータ処理部520は、センサデータ作成部110からセンサデータを取得する。
センサデータ演算部536は、x−acc、y−acc、及びz−accに関する特徴ベクトルを算出する(S8000)。特徴ベクトルには、例えば、センサデータに由来する、垂直方向又は水平方向の平均値、分散値、周波数等の複数の特徴量が含まれる。この特徴ベクトルは、ユーザが搭乗している乗物の種類によらず、同じ方法で算出されてよい。
次に、センサデータ演算部536は、特徴ベクトルをセンサデータ記憶部142から取得した識別関数に代入して、当該識別関数の値を出力する(S8002)。ここで、所定の識別関数は、乗物の種類毎に設定され、非線形式又は線形式の関数である。上記識別関数は、予めセンサデータ記憶部142に記憶されているものであってもよいし、ユーザ入力により更新されてもよい。また、上記の乗物としては、例えば、電車、自動車、バス、及び自転車等が挙げられる。
次に、乗物搭乗判定部518により、出力された前記識別関数の値が、当該識別関数に関する乗物に乗っていると判定して、前記乗物に乗っていることを認識するための乗物搭乗認識値D11より大きいか否かを判定する。(S8004)。上記の乗物搭乗認識値D11は、乗物の種類によって異なっていてよい。
次に、上記識別関数の値が上記乗物搭乗認識値D11より大きい場合には、乗物搭乗判定部518は、ユーザが所定の乗物に乗っているという行動情報を生成する(S8006)。例えば、上記の処理が、ユーザが電車に乗っているか否かを判定しているものである場合には、乗物搭乗判定部518は、ユーザが電車に乗っているという行動情報を生成する。また、例えば、上記の処理が、ユーザがバスに乗っているか否かを判定しているものである場合には、乗物搭乗判定部518は、ユーザがバスに乗っているという行動情報を生成する。また、例えば、上記の処理が、ユーザが自動車に乗っているか否かを判定しているものである場合には、乗物搭乗判定部518は、ユーザが自動車に乗っているという行動情報を生成する。また、例えば、上記の処理が、ユーザが自転車に乗っているか否かを判定しているものである場合には、乗物搭乗判定部518は、ユーザが自転車に乗っているという行動情報を生成する。
上記の夫々の乗物毎のユーザが搭乗しているか否かの判定は、同時に行われてもよい。それにより例えば、50秒程度の短時間で、ユーザが自動車及びバスに乗っているという行動認識結果が得られる場合もある。しかし、この場合には、例えば、図21〜図23を参照しながら説明したように、行動間比較再処理部149が、自動車及びバスのうちの長く乗っていたと判断される方の乗物にのみ上記時間に搭乗していたと再処理をする。行動間比較再処理部149がこのような後処理を行うか否かについては、予め情報処理装置500に設定されていてもよいし、ユーザ操作により入力されてもよい。
一方、上記識別関数の値が上記乗物搭乗認識値D11以下である場合には、乗物搭乗判定部518は、ユーザが所定の乗物に乗っていないという行動情報を生成する(S8008)。例えば、上記の処理が、ユーザが電車に乗っているか否かを判定しているものである場合には、乗物搭乗判定部518は、ユーザが電車に乗っていないという行動情報を生成する。また、例えば、上記の処理が、ユーザがバスに乗っているか否かを判定しているものである場合には、乗物搭乗判定部518は、ユーザがバスに乗っていないという行動情報を生成する。また、例えば、上記の処理が、ユーザが自動車に乗っているか否かを判定しているものである場合には、乗物搭乗判定部518は、ユーザが自動車に乗っていないという行動情報を生成する。また、例えば、上記の処理が、ユーザが自転車に乗っているか否かを判定しているものである場合には、乗物搭乗判定部518は、ユーザが自転車に乗っていないという行動情報を生成する。
<9.情報処理装置100、500のハードウェア構成例>
上記装置が有する各構成要素の機能は、例えば、図21に示すハードウェア構成を有する情報処理装置により、上記の機能を実現するためのコンピュータプログラムを用いて実現することが可能である。図21は、上記装置の各構成要素が有する機能を実現することが可能な情報処理装置のハードウェア構成を示す説明図である。この情報処理装置の形態は任意である。例えば、パーソナルコンピュータ、携帯電話、PHS(Personal Handy−phone System)、PDA(Personal Digital Assistant)等の携帯情報端末、ゲーム機、又は各種情報家電等の形態がこれに含まれる。
図21に示すように、上記の情報処理装置は、主に、CPU(Central Processing Unit)902と、ROM(Read Only Memory)904とにより構成される。また、上記の情報処理装置はRAM(Random Access Memory)906と、ホストバス908と、ブリッジ910と、外部バス912と、インターフェース914とにより構成される。さらに上記の情報処理装置は入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926とにより構成される。
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、例えば、CPU902に読み込まれるプログラムや演算に用いるデータ等を格納する。RAM906は、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等を一時的又は永続的に格納する。これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス908によって相互に接続されている。また、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続されている。
入力部916は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等の操作手段である。また、入力部916は、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントロール手段(所謂、リモコン)であってもよい。なお、入力部916は、上記の操作手段を用いて入力された情報を入力信号としてCPU902に伝送するための入力制御回路等により構成されている。
出力部918は、例えば、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)等のディスプレイ装置が挙げられる。又、出力部918は、PDP(Plasma DisplayPanel)、ELD(Electro−Luminescence Display)等のディスプレイ装置が挙げられる。又、出力部918は、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。
記憶部920は、各種のデータを格納するための装置であり、例えば、ハードディスクドライブ(HDD;Hard Disk Drive)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等により構成される。
ドライブ922は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928は、例えば、DVDメディア、Blu−rayメディア、HD DVDメディア、メモリースティック、又はSDメモリカード(Secure Digital memory card)等である。もちろん、リムーバブル記録媒体928は、例えば、非接触型ICチップを搭載したICカード(Integrated Circuit Card)、又は電子機器等であってもよい。
接続ポート924は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、等のような外部接続機器930を接続するためのポートである。又、接続ポート924は、例えば、SCSI(Small Computer System Interface)、RS−232Cポート、又は光オーディオ端子等のような外部接続機器930を接続するためのポートである。外部接続機器930は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。
通信部926は、ネットワーク932に接続するための通信デバイスであり、例えば、有線又は無線LAN(Local Area Network)、又はWUSB(Wireless USB)用の通信カードである。又、通信部926は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、又は各種通信用のモデム等である。また、通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内LAN、赤外線通信、可視光通信、放送、又は衛星通信等である。
<10.まとめ>
最後に、各実施形態の情報処理装置が有する機能構成と、当該機能構成により得られる作用効果について簡単に纏める。
まず、同実施形態に係る情報処理装置の機能構成は次のように表現することができる。当該情報処理装置は、センサデータ作成部と、行動認識部と、行動管理部と、行動情報後処理部とを有する。センサデータ作成部は、ユーザの行動を感知し、当該ユーザの行動に対応するセンサデータを作成する。行動認識部は、上記センサデータに対して所定の閾値処理を行ってユーザが行った行動を認識し、ユーザが行った行動を表す情報である行動情報を生成する。行動管理部は、上記行動認識部により生成された上記行動情報を、当該行動情報に対応する行動がなされた時刻と関連づけて管理する。行動情報後処理部は、上記行動管理部が管理している行動情報に対して所定の後処理を行う。上記行動認識部は、ユーザが行う特定の行動に特化した複数の行動判定部を更に備え、上記複数の行動判定部における判定結果に基づいて上記行動情報を生成する。このように、ユーザが行う特定の行動に特化した複数の行動判定部を備え、当該行動判定部によって行動情報を生成するため、精度良く上記行動を認識することができ、誤認識が軽減される。
また、同実施形態に係る情報処理装置の機能は次のようにも表現することができる。行動認識部は、静止状態判定部と、歩行・走行状態判定部と、跳躍状態判定部と、姿勢変化判定部と、エレベータ搭乗判定部と、電車搭乗判定部と、右折・左折判定部とを備える。静止状態判定部は、ユーザが静止状態にあるか否かを判定する。歩行・走行状態判定部は、ユーザが歩行状態または走行状態にあるか否かを判定する。跳躍状態判定部は、ユーザが跳躍している状態である跳躍状態にあるか否かを判定する。姿勢変化判定部は、ユーザが座っている状態、立っている状態にあるのか否かを判定する。エレベータ搭乗判定部は、ユーザがエレベータに乗っている状態か否かを判定する。電車搭乗判定部は、ユーザが電車に乗っている状態か否かを判定する。右折・左折判定部は、ユーザが右折または左折している状態にあるか否かを判定する。このように、ユーザが行う特定の行動に特化した上記複数の行動判定部を備え、当該行動判定部によって行動情報を生成するため、精度良く上記行動を認識することができ、誤認識が軽減される。
また、同実施形態に係る情報処理装置の機能は次のようにも表現することができる。上記情報処理装置では、行動認識部は、行動判定部として、前記センサデータ及び予め設定された所定の識別関数を利用して、ユーザが乗物に搭乗しているか否かを判定する乗物搭乗判定部を備える。このように、デジタルフィルタの設計に対して、設計が容易な識別関数が設定されることで、装置の大型化等の懸念なく、判定する乗物の種類を増加することができる。また、乗物搭乗判定部は、夫々の乗物に特化した識別関数に基づいて乗物に搭乗しているか否かを判定するため、ユーザが搭乗する乗物の加速度の変化が大きくなくても、夫々の乗物に搭乗しているか否かをより精度良く判定することができる。
また、同実施形態に係る情報処理装置の機能は次のようにも表現することができる。行動認識部は、センサデータ記憶部は、上記センサデータをFIFO形式で記録する。センサデータ演算部は、上記センサデータを用いて所定の演算を行う。特定領域除去部は、入力されたデータの中から特定の領域以外の値を除去する。低領域除去部は、入力されたデータの中から所定の閾値未満の範囲を除去する。上記複数の行動判定部それぞれは、上記センサデータ処理部から出力された演算結果に基づいて、ユーザが行った行動を判定する。このように、ユーザが行う特定の行動に特化した上記複数の行動判定部を備え、当該行動判定部がセンサデータ処理部に各行動に応じた所定の演算が行わせる。そのため、精度良くユーザの上記行動を認識することができ、誤認識が軽減される。
また、同実施形態に係る情報処理装置の機能は次のようにも表現することができる。行動情報後処理部は、ユーザが同時に行うことが困難な排他的な行動を行っていることを表す排他的特性が行動情報に存在するか否かを検出する排他行動情報再処理部を更に備える。上記排他行動情報再処理部は、2つ以上の行動が上記排他的特性を有する場合には上記2つ以上の行動のうち少なくとも1つの行動に関する行動情報を排除する。このように、行動認識部によって行われた処理後の行動情報について、排他的特性を有するものについては排除されるため、精度良くユーザの上記行動情報が生成され、誤認識が軽減される。
また、同実施形態に係る情報処理装置の機能は次のようにも表現することができる。行動情報後処理部が、上記ユーザが各行動を取るのに必要となる行動情報必要条件に基づいて単位時間毎の上記行動情報を再処理する誤認識行動情報再処理部を有する。上記誤認識行動情報再処理部は、上記行動情報が行動情報必要条件を満たしていない場合には上記行動に関する行動情報を修正する。このように、行動認識部によって行われた処理後の行動情報について、行動情報必要条件を有しないものについては排除されるため、精度良くユーザの上記行動情報が生成され、誤認識が軽減される。
また、同実施形態に係る情報処理装置の機能は次のようにも表現することができる。行動情報後処理部が、上記行動認識部が上記行動管理部に上記行動情報を送達した時間から上記行動認識部による各行動に関する上記行動情報の生成に要した時間分だけ遡った時間に上記ユーザが上記各行動を取ったことと処理をする行動情報実時間調整部を有する。このように、行動認識部によって行われた処理後の行動情報について、行動認識処理に要した時間は補正されるため、ユーザの行動が行われた時刻を精度良く把握することができる。
また、同実施形態に係る情報処理装置の機能は次のようにも表現することができる。上記情報処理装置では、行動情報後処理部が、行動間比較再処理部を有する。行動間比較再処理部は、所定時間内に行われた2つ以上の行動が類似している場合に、前記2つ以上の行動夫々について、前記行動情報の合計時間を比較する。更に、行動間比較再処理部は、上記合計時間が最も長い行動情報を前記所定時間の行動情報として選択する。所定時間が、例えば、数十秒程度の短時間である場合に、複数の乗物に搭乗することは、現実的に想定し難い。しかしながら、このように、行動間比較再処理部が上記の後処理を行うことで、行動認識結果が現実のユーザの行動をより精度良く反映したものとなる。
また、同実施形態に係る情報処理装置の機能は次のようにも表現することができる。上記センサデータは、所定の座標軸に沿った加速度に関するデータである第一〜第三加速度センサデータを含む。まず、上記センサデータ演算部が、上記センサデータ記憶部によって記録された第一の所定時間範囲における上記第一加速度センサデータ、上記第二加速度センサデータ、及び上記第三加速度センサデータの夫々の分散値を算出する。次に、行動判定部は、当該分散値のうち最も大きい最大分散値が上記ユーザは静止していると認識する静止認識値より小さくいか否かを判定する。さらに上記最大分散値が上記静止認識値より小さい時間が上記ユーザは静止していると認識する静止認識時間より長く続くか判定する。その場合、上記ユーザが静止しているという行動情報を生成する。また、上記最大分散値が上記静止認識値より小さいか判定する。更に上記最大分散値が上記静止認識値より小さい時間が上記静止認識時間より長く続かないか判定する。その場合には、上記ユーザが一時的に静止しているという行動情報を生成する。このように、静止状態判定部が、行動に特化した固有の処理をセンサデータ処理部に行わせるため、ユーザが静止しているのか、一時停止しているのか否かを精度良く認識することができる。
また、同実施形態に係る情報処理装置の機能は次のようにも表現することができる。センサデータ演算部は、センサデータ記憶部によって記録された第二の所定時間範囲における上記第一加速度センサデータ、上記第二加速度センサデータ、及び上記第三加速度センサデータの夫々の分散値を算出する。次に当該分散値のうち最も大きい最大分散値を算出する。次に、特定領域除去部が、ユーザが歩いているもしくは走っていると認識される歩行及び走行認識周波数領域の範囲外の周波数が除去する。次に、センサデータ記憶部によって記録された上記加速度センサデータの自己相関関数を算出して当該自己相関関数の最大値を算出する。その結果、センサデータ演算部は、上記ユーザが歩いているもしくは走っている際の歩行及び走行周波数データをさらに算出する。
次に、センサデータ演算部は、上記歩行及び走行周波数データと上記最大分散値とに対して乗算をする。次に、低領域除去部が、当該所定の演算をなされた上記歩行及び走行周波数データと上記最大分散値についてユーザの歩行もしくは走行が誤認識されうる周波数領域を除去する。このように、低領域除去部による処理によって、後に生成される行動情報のノイズなどは軽減され、行動をより精度良く認識することができる。そして、その結果、歩行もしくは走行していると判定するための歩行及び走行判定データを算出する。次に、歩行・走行状態判定部が、当該歩行及び走行判定データの値が、上記ユーザが歩行していると認識するための下限値である最小歩行認識値よりも大きいか判定する。更に、上記ユーザが歩行していると認識するための上限値である最大歩行認識値よりも小さいか判定する。その場合には、上記ユーザが歩行しているという行動情報を生成する。また、上記歩行及び走行判定データの値が、上記最大歩行認識値よりも大きい場合には、上記ユーザが走行しているという行動情報を生成する。このように、歩行・走行状態判定部が、行動に特化した固有の処理をセンサデータ処理部に行わせるため、ユーザが歩行しているのか、走行しているのか否かを精度良く認識することができる。さらにセンサデータ演算部が、上記歩行及び走行周波数データを積分して、当該積分の結果より歩行・走行状態判定部が上記ユーザの歩数についての行動情報を生成することもできる。
また、同実施形態に係る情報処理装置の機能は次のようにも表現することができる。まず、センサデータ演算部が、上記ユーザの跳躍を認識可能にする、上記第一加速度センサデータ、上記第二加速度センサデータ、及び上記第三加速度センサデータの大きさで表される跳躍加速度を算出する。次に特定領域除去部が、上記跳躍加速度について上記ユーザが跳躍していると認識される跳躍認識領域の範囲外を除去して補正跳躍加速度を算出する。このように、特定領域除去部による処理によって、後に生成される行動情報のノイズなどは軽減され、行動をより精度良く認識することができる。次に、低領域除去部が、当該補正跳躍加速度についてユーザの跳躍が誤認識されうる領域を除去して、跳躍しているか否かを判定する跳躍状態判定値を算出する。このように、低領域除去部による処理によって、後に生成される行動情報のノイズなどは軽減され、行動をより精度良く認識することができる。次に、跳躍状態判定部が、当該跳躍状態判定値は上記ユーザが跳躍していると認識するための下限値である最小跳躍認識値よりも大きいか判定する。その場合には、上記ユーザが跳躍しているという行動情報を生成する。このように、跳躍状態判定部が、行動に特化した固有の処理をセンサデータ処理部に行わせるため、ユーザが跳躍しているのか否かを精度良く認識することができる。
また、同実施形態に係る情報処理装置の機能は次のようにも表現することができる。まず、低領域除去部が、上記第一加速度センサデータ、上記第二加速度センサデータ、及び上記第三加速度センサデータの夫々ついて上記ユーザの姿勢変化が誤認識されうる領域を除去する。このように、低領域除去部による処理によって、後に生成される行動情報のノイズなどは軽減され、行動をより精度良く認識することができる。そして、その結果、姿勢変化があるか否かを判定可能にする上記第一加速度センサデータに基づく第一重力データ、上記第二加速度センサデータに基づく第二重力データ、及び上記第三加速度センサデータに基づく第三重力データを算出する。センサデータ演算部が、その結果を基に、上記ユーザの姿勢変化を認識可能にする姿勢変化判定値を算出する。
次に、低領域除去部が、当該姿勢変化判定値について上記ユーザの姿勢変化が誤認識されうる領域を除去して、姿勢変化しているか否かを判定する補正姿勢変化判定値を算出する。このように、低領域除去部による処理によって、後に生成される行動情報のノイズなどは軽減され、行動をより精度良く認識することができる。そして、姿勢変化判定部は、当該補正姿勢変化判定値が上記ユーザは姿勢変化していると認識するための下限値である最小姿勢変化認識値よりも大きいか判定する。更に、上記ユーザが既に立っていた場合には上記ユーザは座っているという行動情報を生成する。一方、姿勢変化判定部は、上記補正姿勢変化判定値が最小姿勢変化認識値よりも大きいかも判定する。更に、上記ユーザが既に座っていた場合には上記ユーザは立っているという行動情報を生成する。このように、姿勢変化判定部が、行動に特化した固有の処理をセンサデータ処理部に行わせるため、ユーザが座っているのか、立っているのか否かを精度良く認識することができる。
また、同実施形態に係る情報処理装置の機能は次のようにも表現することができる。まず、低領域除去部が、上記第一加速度センサデータ、上記第二加速度センサデータ、及び上記第三加速度センサデータの重力方向の加速度を誤認識されうる領域を除去する。このように、低領域除去部による処理によって、後に生成される行動情報のノイズなどは軽減され、行動をより精度良く認識することができる。センサデータ演算部が、上記領域が除去された上記第一加速度センサデータ、上記第二加速度センサデータ、及び上記第三加速度センサデータに基づいて重力方向加速度センサデータを算出する。センサデータ演算部が、重力の値を調整可能にする上記第一加速度センサデータ、上記第二加速度センサデータ、及び上記第三加速度センサデータの大きさで表される重力調整データを計算する。次に、当該重力調整データを上記センサデータ記憶部に記録する。次に、当該センサデータ記憶部に記録された重力調整データの分散値である重力調整分散値、及び重力調整データの平均値である重力調整平均データを算出する。センサデータ演算部は、上記重力調整分散値が重力の調整を許容する最大の分散値である最大許容重力調整分散値よりも小さいか判定する。更に上記重力調整平均データが重力の調整を許容する最小の平均値である最小許容重力平均値よりも大きく、上記重力調整平均データが重力の調整を許容する最大の平均値である最大許容重力平均値よりも小さいか判定する。その場合には、センサデータ演算部は、上記重力調整平均データによる値を調整後の重力とみなす。このように、重力が調整されることで、ユーザが情報処理装置を傾けて所持している場合などに起こりうる重力の変化などの問題は起きにくくなり、誤った行動情報が生成されにくくなる。
次に、低領域除去部が、上記重力調整平均データについて重力であると誤認識されうる領域を除去して補正重力調整平均データを算出する。このように、低領域除去部による処理によって、後に生成される行動情報のノイズなどは軽減され、行動をより精度良く認識することができる。次に、センサデータ演算部が、上記重力方向加速度センサデータと上記補正重力調整平均データとの差分を算出する。次に、低領域除去部が、当該差分について上記ユーザがエレベータに乗っていると誤認識されうる領域を除去する。このように、低領域除去部による処理によって、後に生成される行動情報のノイズなどは軽減され、行動をより精度良く認識することができる。そして、その結果、低領域除去部は、上記ユーザがエレベータに乗っているか否かを判定するエレベータ昇降判定データを算出する。エレベータ搭乗判定部は、当該エレベータ昇降判定データが最初は所定値Dαよりも大きく、次に所定値Dβよりも小さくなるか判定する。その場合には、上記ユーザがエレベータで上昇していたという行動情報を生成する。当該エレベータ昇降判定データが最初は所定値Dβよりも小さく、次に所定値Dαよりも大きくなる場合には、上記ユーザがエレベータで下降していたという行動情報を生成する。なお、上記Dαは、上記ユーザがエレベータで上昇を始めたことを認識するための下限値である最小エレベータ上昇認識値である。上記Dβは、上記ユーザがエレベータで下降を始めたことを認識するための上限値である最大エレベータ下降認識値である。このように、エレベータ搭乗判定部が、行動に特化した固有の処理をセンサデータ処理部に行わせるため、ユーザがエレベータに乗っているのか否かを精度良く認識することができる。
また、同実施形態に係る情報処理装置の機能は次のようにも表現することができる。まず、低領域除去部が、上記第一加速度センサデータ、上記第二加速度センサデータ、及び上記第三加速度センサデータの夫々について上記ユーザが電車に乗っていると誤認識されうる周波数領域を除去する。このように、低領域除去部による処理によって、後に生成される行動情報のノイズなどは軽減され、行動をより精度良く認識することができる。次に、センサデータ演算部が、上記周波数領域が除去された上記第一加速度センサデータ、上記第二加速度センサデータ、及び上記第三加速度センサデータに基づいて、水平方向加速度センサデータ、及び垂直方向加速度センサデータを算出する。次に、センサデータ演算部は、センサデータ記憶部に水平方向加速度センサデータ、及び垂直方向加速度センサデータを記録する。次に、センサデータ記憶部に記録した水平方向加速度センサデータに基づいて水平方向分散値を算出する。
次に、センサデータ記憶部に記録した上記垂直方向加速度センサデータに基づいて垂直方向分散値を算出する。センサデータ演算部は、上記水平方向分散値と上記補正垂直方向分散値とのうち小さい方の分散値について積分をする。その結果、センサデータ演算部は、電車に乗っているか否かを判定する電車搭乗判定データを算出する。次に、電車搭乗判定部が、当該電車搭乗判定データが上記ユーザは電車に搭乗していると認識するための下限値である最小電車搭乗認識値よりも大きいか判定する。その場合には、電車搭乗判定部は、上記ユーザが電車に搭乗しているという行動情報を生成する。また、センサデータ演算部が、上記垂直方向分散値が最小の許容される垂直方向分散値である最小許容垂直分散値以下であるかを判定する。さらに、センサデータ演算部は、上記垂直方向分散値が上記最大の許容される垂直方向分散値である最大許容垂直分散値以上であるか判定する。その場合には、上記電車搭乗判定データをゼロと算出する。このように、電車搭乗判定部が、行動に特化した固有の処理をセンサデータ処理部に行わせるため、ユーザが電車に乗っているのか否かを精度良く認識することができる。
また、同実施形態に係る情報処理装置の機能は次のようにも表現することができる。まず、低領域除去部が、上記第一加速度センサデータ、上記第二加速度センサデータ、及び上記第三加速度センサデータの夫々について上記ユーザが右折もしくは左折していると誤認識されうる領域を除去する。このように、低領域除去部による処理によって、後に生成される行動情報のノイズなどは軽減され、行動をより精度良く認識することができる。次に、センサデータ演算部が、上記領域が除去された上記第一〜第三加速度センサデータと、上記第一〜第三ジャイロセンサデータと、に基づいて重力方向の角速度を算出する。次に、特定領域除去部が、上記角速度について上記ユーザが右折または左折していると認識される曲がり認識領域の範囲外の領域を除去して、補正角速度を算出する。このように、特定領域除去部による処理によって、後に生成される行動情報のノイズなどは軽減され、行動をより精度良く認識することができる。右折・左折判定部は、当該補正角速度が上記ユーザは右折していると認識するための上限値である最大右折認識値よりも小さいか判定する。その場合には、上記ユーザは右折しているという行動情報を生成する。また、当該補正角速度が、上記ユーザが左折していると認識するための下限値である最小左折認識値よりも大きい場合には、上記ユーザは左折しているという行動情報を生成する。このように、電車搭乗判定部が、行動に特化した固有の処理をセンサデータ処理部に行わせるため、ユーザが右折又は左折いるのか否かを精度良く認識することができる。
また、同実施形態に係る情報処理装置の機能は次のようにも表現することができる。まず、前記センサデータ演算部が、前記第一〜第三加速度センサデータに基づいて生成された特徴ベクトルと、乗物の種類毎に設定された識別関数とを利用して当該識別関数の値を算出する。次に、前記乗物搭乗判定部は、算出された前記識別関数の値が、当該識別関数に対応する乗物に乗っていることを認識する際に用いられる乗物搭乗認識値より大きい場合に、前記ユーザが前記識別関数に対応する乗物に乗っていることを表す行動情報を生成する。このように、上記情報処理装置では、設計が簡易な識別関数が乗物毎に設定されることで、装置の大型化等の懸念なく、判定する乗物の種類を増加することができる。また、乗物搭乗判定部は、夫々の乗物に特化した識別関数に基づいて乗物に搭乗しているか否かを判定するため、ユーザが搭乗する乗物の加速度の変化が大きくなくても、夫々の乗物に搭乗しているか否かをより精度良く判定することができる。更に、行動間比較再処理部等の行動情報後処理部が後処理を行うことで、数十秒程度の短い時間で、複数の乗物に何度も乗り換えるという行動認識結果が生成しまう懸念もなく、精度の良い行動認識結果を得ることができる。
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。