説明

事物決定装置、事物決定方法、プログラムおよび記録媒体

【課題】センサノードが装着された物体及び物体の状態を推定する。
【解決手段】事物決定装置1は、センサノード2から受信したセンサデータから変化が起こっている区間を抽出するデータ変化抽出手段11と、抽出した変化から、物体の事象であるイベントを特定するイベント特定手段12と、複数のイベントの中から略同時に起こっているイベント同士をグループ化してイベント集合を求め、イベント集合を時系列順に並べることでイベント集合系列を求めるイベント集合特定手段13と、物体の状態と物体に起こり得る状態間遷移の関係を物体毎に記述した複数の状態遷移図を予め記憶する記憶手段15と、状態遷移図毎にイベント集合系列が得られる尤もらしさを求めることにより、センサノード2が装着された物体と物体の状態を同定する物体同定手段14とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、目的用途を固定しない汎用のセンサノードを用いて、センサノードから取得した加速度、照度、温度等のデータを用いてセンサノードが装着された物体及びその物体の状態を推定する事物決定装置、事物決定方法、プログラムおよび記録媒体に関するものである。
【背景技術】
【0002】
センシングデバイスを用いた状態推定に関する研究で現在最も盛んな分野は、ADL(Activity in Daily Living)の推定である。ユーザに加速度センサを携帯させて計測した波形から、「歩く」、「テレビを見る」、「歯を磨く」などの20種類のユーザの行動を認識する研究がある(例えば非特許文献1参照)。また、画像処理のアプローチから、カメラで撮影した人物の映像を用いて人物の動作を認識する研究も行われている(例えば非特許文献2参照)。
【0003】
しかし、これらの研究はトレーニングデータを用いた学習による推定を行うため、様々な環境下での適用を実現するためには膨大なトレーニングデータが必要となる。さらに、これらの研究が想定する環境下では、例えば様々な大きさのドアにセンサノードが設置されていても、それら全てをドアと認識する必要がある。つまり、物体自体や物体環境に多数のバリエーションが考えられるため、トレーニングデータを用いた推定は困難である。
【0004】
一方、状態遷移図に注目してユビキタスコンピューティング環境における出来事を表現する研究が数多く存在する(例えば非特許文献3参照)。このような研究では、状態遷移図を用いて家庭内の状態をモデル化している。例えば、浴室の利用状況を表す状態遷移図は、「入浴中」と「入浴中でない」の二つの状態間を、浴室のドアの開閉やユーザの浴室への進入・退出といったイベントにより遷移するようモデル化されている。状態遷移図を用いることで、「ドアの開閉」などといった実際のセンサから得られるような信号に比べて抽象化した記述ができるため、様々な環境に適用可能なモデルを作成することが可能であると考えられる。
【0005】
【非特許文献1】L.Bao and S.S.Intille,“Activity Recognition from User-Annotated Acceleration Data”,Proc.PERVASIVE 2004,p.1-17,2004
【非特許文献2】J.Yamato,J.Ohya,and K.Ishii,“Recognizing Human Action in Time-Sequential Images using Hidden Markov Mode1”,Proc.IEEE Conf.Computer Vision and Pattern Recognition,p.379-385,1992
【非特許文献3】藤波香織,山邉哲生,小林勲美,長谷部晴美,中島達夫,“現実世界のモデル化と家庭におけるコンテクストアウェアネスヘの応用”,マルチメディア,分散,協調とモバイル(DICOMO2004)シンポジウム,P.527-530
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、物体に装着する従来のセンサノードはそれぞれの物体に特化して作製されており、専門的な知識のない人にとってはセンサノードの取り付けが難しいという問題点があった。例えば、人が座ったかどうかを判定するために、椅子に圧力センサを取り付けることが考えられるが、専門的な知識のない人が圧力センサを理解して、さらに適切な位置に圧力センサを取り付けることは困難である。
【0007】
本発明は、上記課題を解決するためになされたもので、目的用途を固定しない汎用のセンサノードを用いて、センサノードが装着された物体及びその物体の状態を推定することができる事物決定装置、事物決定方法、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、複数のセンサからなるセンサノードが装着された物体とこの物体の状態を推定する事物決定装置であって、前記センサノードから受信したセンサデータから変化が起こっている区間を抽出するデータ変化抽出手段と、このデータ変化抽出手段が抽出した変化から、物体の事象であるイベントを特定するイベント特定手段と、このイベント特定手段が求めた複数のイベントの中から略同時に起こっているイベント同士をグループ化してイベント集合を求め、このイベント集合を時系列順に並べることでイベント集合系列を求めるイベント集合特定手段と、物体の状態と物体に起こり得る状態間遷移の関係を物体毎に記述した複数の状態遷移図を予め記憶する記憶手段と、前記状態遷移図毎に前記イベント集合系列が得られる尤もらしさを求めることにより、前記センサノードが装着された物体とこの物体の状態を同定する物体同定手段とを有するものである。
また、本発明の事物決定装置の1構成例において、前記状態遷移図は、状態間遷移が起こる際に前記センサノードの各センサによって取得されると予想されるイベントの情報が、各状態間遷移に付随して記述されるものであり、前記物体同定手段は、前記状態間遷移に付随して記述されるイベントの情報に基づいて、前記イベント集合系列の各イベント集合について前記状態遷移図の全ての状態間遷移との類似度を計算する類似度計算手段と、前記イベント集合系列のそれぞれのイベント集合毎に対応し得る状態間遷移を選択する状態間遷移選択手段と、前記類似度計算手段の計算結果と前記状態間遷移選択手段の選択結果とから、前記イベント集合系列に対するスコアを状態遷移図毎に計算するスコア計算手段と、前記計算したスコアが最も高い状態遷移図に対応する物体を、前記センサノードが装着された物体として同定し、この状態遷移図について前記状態間遷移選択手段で選択された状態間遷移の系列を前記同定した物体の状態の系列とする判定手段とを含むものである。
【0009】
また、本発明は、CPUと記憶装置とを備えたコンピュータにおいて、複数のセンサからなるセンサノードが装着された物体とこの物体の状態を推定する事物決定方法であって、前記センサノードから受信したセンサデータから変化が起こっている区間を抽出するデータ変化抽出手順と、このデータ変化抽出手順で抽出された変化から、物体の事象であるイベントを特定するイベント特定手順と、このイベント特定手順で求めた複数のイベントの中から略同時に起こっているイベント同士をグループ化してイベント集合を求め、このイベント集合を時系列順に並べることでイベント集合系列を求めるイベント集合特定手順と、物体の状態と物体に起こり得る状態間遷移の関係を物体毎に予め記述した複数の状態遷移図の各々について、前記イベント集合系列が得られる尤もらしさを求めることにより、前記センサノードが装着された物体とこの物体の状態を同定する物体同定手順とを、前記記憶装置に記憶されたプログラムに従って前記CPUに実行させるようにしたものである。
また、本発明の事物決定方法の1構成例において、前記状態遷移図は、状態間遷移が起こる際に前記センサノードの各センサによって取得されると予想されるイベントの情報が、各状態間遷移に付随して記述されるものであり、前記物体同定手順は、前記状態間遷移に付随して記述されるイベントの情報に基づいて、前記イベント集合系列の各イベント集合について前記状態遷移図の全ての状態間遷移との類似度を計算する類似度計算手順と、前記イベント集合系列のそれぞれのイベント集合毎に対応し得る状態間遷移を選択する状態間遷移選択手順と、前記類似度計算手順の計算結果と前記状態間遷移選択手順の選択結果とから、前記イベント集合系列に対するスコアを状態遷移図毎に計算するスコア計算手順と、前記計算したスコアが最も高い状態遷移図に対応する物体を、前記センサノードが装着された物体として同定し、この状態遷移図について前記状態間遷移選択手順で選択された状態間遷移の系列を前記同定した物体の状態の系列とする判定手順とを含むものである。
【0010】
また、本発明の事物決定プログラムは、前記センサノードから受信したセンサデータから変化が起こっている区間を抽出するデータ変化抽出手順と、このデータ変化抽出手順で抽出された変化から、物体の事象であるイベントを特定するイベント特定手順と、このイベント特定手順で求めた複数のイベントの中から略同時に起こっているイベント同士をグループ化してイベント集合を求め、このイベント集合を時系列順に並べることでイベント集合系列を求めるイベント集合特定手順と、物体の状態と物体に起こり得る状態間遷移の関係を物体毎に予め記述した複数の状態遷移図の各々について、前記イベント集合系列が得られる尤もらしさを求めることにより、前記センサノードが装着された物体とこの物体の状態を同定する物体同定手順とを、コンピュータに実行させるようにしたものである。
また、本発明の記録媒体は、事物決定プログラムを記録したことを特徴とするものである。
【発明の効果】
【0011】
本発明によれば、ユーザがセンサノードについての知識を持っている必要がなく、目的用途を固定しない汎用のセンサノードを家具などの物体に装着するだけで、センサノードが装着された物体とその物体の状態を推定することができる。その結果、本発明では、専門的な知識のないユーザでもセンサノードを物体に装着するだけで、簡単にユビキタス環境の基盤を構築することができる。
【発明を実施するための最良の形態】
【0012】
以下、本発明の実施の形態について図面を参照して説明する。本実施の形態は、センサノードが装着されている物体やその物体がどのような状態にあるのかを推定するシステムに関するものである。特に、加速度、照度、温度の信号のトレーニングデータが存在しない場合に関係する。
【0013】
ここで、物体の推定とは、その物体が何なのかを決定することであり、対象とする物体としては、椅子や机、ドア、コップといった日常生活に存在する家具や道具などである。また、物体には部位によって動作が異なるものも存在するが、そのような場合はセンサノードが装着されている部位ごとに推定を行うものとする。例えば、ドアのノブとドア板は、開かれる際に得られる加速度の信号が大きく異なる。物体の状態は、その物体が何であるかに依存するが、その物体に固有の一般的な状態であり、例えば椅子には「人が座っている状態」と「人が座っていない状態」がある。また、ドアには「開状態」と「閉状態」がある。
【0014】
本実施の形態が想定している環境では、室内の様々な物体に汎用的なセンサノードが装着される。センサノードには、それが装着される物体に関する情報を与えなくてよい。この環境内でユーザが活動し、センサノードは、センシングして得られたデータをある程度の期間収集する。そして、あらかじめ用意した様々な物体のメタデータとセンシングデータを比較して、センシングデータが観測され得る尤もらしいメタデータを決定することで、物体の推定を実現する。
【0015】
本実施の形態では、物体のメタデータを状態遷移図を用いて表現する。物体の状態遷移図とは、物体の状態と物体に起こり得る状態間の遷移の関係をグラフとして記述したものである。さらに、本実施の形態では、物体を決定することで、そのセンサノードが装着されている物体がどういう状態にあるかも同時に推定することができる。
【0016】
まず、本実施の形態の一般的な想定環境について説明する。本実施の形態では、環境内の様々な物体にセンサノードを装着する。センサノードは、収集したデータを自身のメモリ内に蓄積するか、または有線や無線通信を介して外部のストレージに蓄積する。センサノードには様々なセンサが搭載されている。このようなセンサの例としては、例えば温度センサ、照度センサ、焦電センサ、加速度センサ、地磁気センサなどがある。このように、センサノードは、様々なセンサを搭載しており、物体に係る様々な物理量の変化を検知することができるため、汎用的なセンサノードとして機能する。つまり、センサノードは装着される物体を選ばないため、専門的な知識のないユーザが物体にセンサノードを貼り付けるだけで物体の推定を実現できる。
【0017】
本実施の形態では、環境内の床に床圧センサが設置されていてもよいとする。床圧センサは、床面の圧力の有無をある程度の分解能で観測することができる(本実施の形態で、実際に用いたセンサは床面の圧力の有無を180mm四方の分解能で観測することができる)。
【0018】
次に、物体の状態遷移図の表現方法について説明する前に、図1を用いてセンサノードが検知する物理量の変化と物体の事象であるイベントと物体の状態と状態間遷移の関係を説明する。
図1は、ドアが「開く」、「閉じる」、「開閉する」という一連の遷移を2回繰り返したときに、ドアに装着されたセンサノードから得られた出力を示す波形図である。acc_xはX軸方向の加速度センサの出力、acc_zはZ軸方向の加速度センサの出力、illumiは照度センサの出力を表している。図1では、他のセンサの波形は省略している。
【0019】
cxi,czi(i=1,・・・,6)は、それぞれX方向、Z方向の加速度センサから得られた波形における変化であり、以降は単に変化と呼ぶ。これらの変化を解析して特定した現象をイベントと呼ぶ。センサデータの変化を抽出する方法と、抽出した変化を解析してイベントを特定する方法については後述する。加速度センサについては、3軸の加速度変化を解析することによりイベントを求め、照度センサについては照度変化を解析することによりイベントを求める。
【0020】
emi(i=1,・・・,6)は加速度センサから求めることができるイベントである。例えば、加速度センサから求めることができるイベントには、「水平方向に移動する」、「回転する」などがある。eii(i=1,・・・,6)は、照度センサから求めることができるイベントである。照度センサから求めることができるイベントには、「照度が上がる」、「照度が変化する」などがある。
【0021】
異なるセンサでほぼ同時刻に起こったイベントの集まりをイベント集合と呼ぶ。ここで、ほぼ同時刻に起こったイベントとは、あるセンサのイベントを基準としたときに、この基準のイベントが発生した時刻から所定の時間範囲内に起こった別のセンサのイベントのことを言う。図1の例では、gi(i=1,・・・,6)がそれぞれイベント集合である。例えば、g1はイベントem1とei1からなるイベント集合である。ただし、図1では説明を簡単にするため、床圧センサのイベントを無視している。
【0022】
イベント集合は、センサデータから抽出した変化を解析して得られたイベント同士をまとめたものであり、これらの処理を行うことでセンサデータからはgi(i=1,・・・,6)のようなイベント集合の系列が得られる。ここで、イベント集合は、状態遷移図における遷移に対応し、イベント集合が起こっていない間は、状態遷移図における固定の状態に対応する。例えば、イベント集合g1とg4はドアを「開く」遷移に対応する。つまり、このような対応付けを見つけることで、センサノードによって得られた変化が得られるであろう状態遷移図を決定していくことができる。
【0023】
図1の例では、ドアを「開閉する」を一つの遷移としている。一般的には、開閉は「開く」と「閉じる」の二つの現象が連続して起こるものとしたほうが自然である。しかし、図1のcx3などの波形を見ても分かるように、センサデータからは「開く」と「閉じる」の二つの遷移が連続して起こったと認識するのは不可能である。これはトレーニングデータをあらかじめ用意しないことに起因するが、「開閉する」という遷移が認識できれば、ドアが開いたということも認識できるため問題はないと考える。以上のように、間を置かずに連続して起こる現象は一つの遷移とする。
【0024】
次に、物体の推定のためにあらかじめ用意しておく状態遷移図について説明する。実際にある物体の状態遷移図を記述するときは、物体に一般的に起こると考えられる遷移と物体の状態を抽出し、それらをつなげることで状態遷移図の形を決める。つまり、状態遷移図は人手で作成する。このとき、前述したような連続した遷移を考慮する必要がある。
【0025】
図2に1例としてドアの状態遷移図を示す。「Closed」はドアが閉じているという状態を表し、「Opened」はドアが開いているという状態を表している。また、「Open」はドアが開くという状態間遷移を表し、「Close」はドアが閉じるという状態間遷移を表し、「Open−and−shut」はドアが開閉するという状態間遷移を表し、「Knock」はドアがノックされるという状態間遷移を表している。
【0026】
矢印で表す「Open」という遷移から出ているバルーンBは、その遷移が起こる際のイベントの集合を時系列で表しており、Bはその遷移の値である。図2の例では「Open」という遷移には、2通りのイベントの系列が記述されており、一つ目は人が歩きながらドアを開けて通り抜けていくというイベントの系列を表し、二つ目は、人がドアの前まで歩いてきて立ち止まってからドアを開け、ドアから離れて歩いていくというイベントの系列を表している。
【0027】
すなわち、「floor.change.walk.through」は、人が歩きながら通り抜けていくというイベントを表し、「acc.change.rotate」はドアが開いた際の回転運動に対応するイベントを表し、「illumi.change」はドアが開いたことによって照度が変化したというイベントを表している。また、「floor.change.walk.here」は人がドアの前まで歩いてきて立ち止まったというイベントを表し、「floor.change.walk.away」はドアから離れて歩いていくというイベントを表している。このように一つの遷移に対して複数のケースを記述できるため、様々な状況を考慮することができる。
【0028】
図3に他の例として椅子の状態遷移図を示す。図3の例では、「Sat」は人が座っているという状態を表し、「Not−sat」は人が座っていないという状態を表している。また、「Sit」は人が座ったという状態間遷移を表し、「Get−up」は人が立ち上がったという状態間遷移を表している。なお、遷移の値の書き方の詳細は以降で説明する。
【0029】
状態遷移図における遷移は、その遷移が起こる際にそれぞれのセンサによって取得されるであろうと考えられるイベントの系列を値としてもつ。値とは、例えば照度センサと加速度センサが同時に変化を検出したあとに、床圧センサが人の歩行を検知するなどといったイベントの系列である。イベント同士の時間関係を表現したものとしては、アレン(J.F.Allen)が提案した図4に示すような時区間論理表現がある。
【0030】
例えば図4に示すようにイベントXの時間範囲を示す黒の矩形の後にイベントYの時間範囲を示す白の矩形があるような関係、すなわちイベントYの前にイベントXが起こるという時間関係を表すには、「X before Y」と記述する。イベントXを示す黒の矩形とイベントYを示す白の矩形が同じ長さで上下に重なっているような関係、すなわちイベントXとYが同じ時間範囲で起こるという関係を表すには、「X equal Y」と記述する。イベントXを示す黒の矩形とイベントYを示す白の矩形が繋がっている関係、すなわちイベントXが終わると同時にイベントYが起こるという関係を表すには、「X meets Y」と記述する。イベントXを示す黒の矩形とイベントYを示す白の矩形の一部が上下に重なっているような関係、すなわちイベントXとYが重複して起こるという関係を表すには、「X overlaps Y」と記述する。
【0031】
イベントXを示す黒の矩形がイベントYを示す白の矩形の中央に載っているような関係、すなわちイベントYが起こっている途中でイベントXが起こるという関係を表すには、「X during Y」と記述する。イベントXを示す黒の矩形とイベントYを示す白の矩形が先端を揃えて上下に重なっているような関係、すなわちイベントXとYの起こる時刻が同じであるという関係を表すには、「X starts Y」と記述する。イベントXを示す黒の矩形とイベントYを示す白の矩形が終端を揃えて上下に重なっているような関係、すなわちイベントXとYの終わる時刻が同じであるという関係を表すには、「X finishes Y」と記述する。
本実施の形態では、以上のような時区間論理表現を用いて、遷移の際に起こり得るイベント系列の時間的な関係を遷移の値として記述する。
【0032】
次に、あるセンサノードのセンサデータからそのノードが装着されている物体を同定する手順について説明する。図5は本実施の形態に係る事物決定装置の構成例を示すブロック図、図6は図5の事物決定装置の動作を示すフローチャートである。図5において、1は事物決定装置、2は温度センサ、照度センサ、焦電センサ、加速度センサ等の複数のセンサを搭載したセンサノード、3は床の圧力を計測する床圧センサ、4はセンサノード2及び床圧センサ3のセンサデータを有線通信あるいは無線通信で受けて一時的に記憶するセンサデータ用ストレージである。
【0033】
事物決定装置1は、データ取得手段10と、データ変化抽出手段11と、イベント特定手段12と、イベント集合特定手段13と、物体同定手段14と、記憶手段15とから構成される。
【0034】
まず、事物決定装置1のデータ取得手段10は、センサノード2と床圧センサ3のセンサデータをセンサデータ用ストレージ4から取得する(図6ステップS1)。
続いて、データ変化抽出手段11は、データ取得手段10が取得したセンサデータから変化が起こっている区間を抽出する(ステップS2)。
【0035】
イベント特定手段12は、データ変化抽出手段11が抽出した変化を解析することでイベントを特定する(ステップS3)。イベントとは、「照度が上昇する」などの各種センサにより取得できる事象である。
そして、イベント集合特定手段13は、イベント特定手段12が求めた複数のイベントの中からほぼ同時に起こっているイベント同士をグループ化することで、イベント集合を求め、得られたイベント集合を時系列順に並べることでイベント集合の系列を求める(ステップS4)。
【0036】
記憶手段15には、予めセンサノード2が装着されると予想し得る物体毎に状態遷移図が登録されている。物体同定手段14は、記憶手段15に記憶された物体の状態遷移図毎に、ステップS4で求められたイベント集合の系列が出力されうる尤もらしさを求めることで物体の同定を行う(ステップS5)。
【0037】
次に、事物決定装置1の以上の動作について詳細に説明する。事物決定装置1では、センサから得られた信号を解析することによりイベントを特定する。このイベント特定の説明の前に、データ変化抽出手段11の動作(ステップS2)について説明する。図7はデータ変化抽出手段11の動作を示すフローチャートである。
各種センサから得られるセンサデータには、ノイズとなる小さな振動が常にあり、ノイズの振幅は時刻の移り変わりと共に変化するものが多く、その振幅にセンサの個体差もある。また、振動は周期的ではない。このようなセンサデータにおいて変化を抽出する方法について述べる。
【0038】
センサノード2と床圧センサ3は、一定時間(本実施の形態では60msec)毎にサンプリングを行っている。つまり、センサノード2と床圧センサ3からは一定時間毎にセンサデータが出力される。
事物決定装置1のデータ変化抽出手段11は、センサデータの各々の時点での変化量を計算する(図7ステップS10)。図8(A)、図(B)を用いて、ある時点(センサノードにより得られたサンプリング列のある点)pにおける変化量の計算方法について説明する。ただし、本実施の形態では、各センサから得られた1時間毎のデータに対して下記の手順を適用する。
【0039】
ここでは、ある程度の幅を持つウインドウW1を考える。そのウインドウW1内における信号強度の最大値と最小値との差をセンサデータの変化量ΔDとする(図8(B))。ただし、図8(A)に示すように時点pがウインドウW1内に含まれるようにウインドウW1を時間方向に沿ってスライドさせ、その中で最も大きな変化量を時点pにおける変化量ΔDとする。
【0040】
続いて、データ変化抽出手段11は、各々の時点の変化量ΔDからノイズを減算する。ここで、ウインドウW1のサイズは本実施の形態では15サンプルとしている。ノイズは、時点pの周辺の変化量から計算する。具体的には図8(C)のように時点pを中心とする大きなウインドウW2を幅が同じである複数の小さなウインドウW3に分割し、それぞれのウインドウW3内の変化量を図8(B)と同様にして計算する(本実施の形態では、ウインドウW2のサイズを1000サンプル、ウインドウW3の数を10としている)。ただし、この場合はウインドウW3の移動はせずにウインドウW3内における信号強度の最大値と最小値との差を変化量とする。
【0041】
そして、データ変化抽出手段11は、複数のウインドウW3で計算した変化量のうち最も多く現れる変化量をノイズとし、先に求めた時点pにおける変化量ΔDからノイズを減算することで、時点pにおけるノイズを除いた変化量ΔIを求める。これで、ステップS10の処理が終了する。
【0042】
次に、データ変化抽出手段11は、変化量が変化量閾値を超えている範囲をセンサデータの変化とする。変化量閾値は、以下の手順により動的に決定される。
まず、データ変化抽出手段11は、ステップS10で求めた変化量ΔIの分散を計算する(ステップS11)。データ変化抽出手段11は、計算した分散と所定の変化量分散閾値(本実施の形態では10-11)とを比較し(ステップS12)、分散が変化量分散閾値より小さいときはその系列に変化はないものとして(ステップS13)、処理を終了する。
【0043】
また、データ変化抽出手段11は、分散が変化量分散閾値以上の場合は、センサデータに変化があるものと判定し、変化量閾値を決定する(ステップS14)。データ変化抽出手段11は、変化量閾値を決定するために、ステップS10で求めた各時点の変化量ΔIを昇順に並び替え、この変化量ΔIのリストを用いてどこからをセンサデータの変化として認識するかを決定する。
【0044】
データ変化抽出手段11は、変化量ΔIのリストを先頭から走査していき、次の変化量ΔIとの差Diが変化量分散閾値より初めて大きくなった変化量ΔIiに注目する。次の変化量との差が変化量分散閾値より大きく、かつ変化量ΔIiと同じ値とみなされる変化量の数が全ての変化量ΔIの数の20%以下であれば、変化量ΔIiを変化量閾値とする。ここで、注目している変化量ΔIiと同じ値とみなされる変化量とは、変化量ΔIiとの差の絶対値が変化量分散閾値以下のものである。以上の条件に適合しなかったときは、リストの走査を継続していき、次の変化量との差がDiの200%を超えた変化量ΔIを変化量閾値とする。こうして、ステップS14の処理が終了する。
【0045】
最後に、データ変化抽出手段11は、変化量ΔIが変化量閾値を超えている範囲をセンサデータの変化の区間として抽出する(ステップS15)。
本実施の形態のように、ノイズと変化量閾値を動的に決定することで、センサの個体差やノイズの時間的な変化に対応した、センサデータの変化の抽出が可能となる。データ変化抽出手段11は、以上のような変化の検出を、センサノード2の各センサ毎に行う。
【0046】
次に、データ変化抽出手段11が抽出したセンサデータの変化からイベントを特定するイベント特定手段12の動作(ステップS3)について説明する。イベント特定手段12は、具体的には温度の上昇や歩行などのイベントを検知する。
【0047】
図9に本実施の形態で想定している詳細なイベント群を示す。図9のそれぞれの木構造はセンサの種類毎に取得できるイベントを示している。「illumi」を根とする木は、照度センサのデータの変化を解析することにより求めることができるイベントを表しており、まず最も抽象的なイベントとして「change」、すなわち照度の変化がある。イベント「change」の子に対応する具体的なイベントとしては、照度が上がったというイベント「brightly」と、照度が下がったというイベント「darkly」がある。
【0048】
「temperature」を根とする木は、温度センサのデータの変化を解析することにより求めることができるイベントを表しており、最も抽象的なイベントとして「change」、すなわち温度の変化がある。イベント「change」の子に対応する具体的なイベントとしては、温度が上がったというイベント「increase」と、温度が下がったというイベント「decrease」がある。
【0049】
「acc」を根とする木は、加速度センサのデータの変化を解析することにより求めることができるイベントを表しており、最も抽象的なイベントとして「change」、すなわち加速度の変化がある。イベント「change」の子に対応する具体的なイベントとしては、落下というイベント「drop」と、水平方向への移動というイベント「slide」と、垂直上方向への移動というイベント「raise」と、倒れるというイベント「fa11」と、回転というイベント「rotate」がある。
【0050】
「floor」を根とする木は、床圧センサのデータの変化を解析することにより求めることができるイベントを表しており、最も抽象的なイベントとして「change」、すなわち床圧の変化がある。イベント「change」の子に対応する具体的なイベントとしては、人が歩くというイベント「walk」と、一箇所で何らかの動作をしているイベント「point」がある。
【0051】
次に、加速度センサと照度センサのイベントの検出について説明する。まず、抽出した加速度センサの変化を図9の「acc」を根とする木に示すイベントに抽象化する。「acc.change.rotate」と「acc.change.slide」の検出は、ルンゲクッタ法を用いて加速度を2回積分し、センサノード2の軌跡を求めることで行っている。つまり、センサノード2の軌跡が弧を描いており、弧の中心軸がほぼ鉛直ならば「acc.change.rotate」とし、軌跡がほぼ直線で水平ならば「acc.change.slide」とする。
【0052】
「acc.change.drop」と「acc.change.fall」の検出は、センサノード2の軌跡と鉛直方向の加速度の大きさを求めることで行っている。つまり、センサノード2の軌跡がほぼ直線で鉛直下向き方向ならば「acc.change.drop」とし、軌跡が弧を描いており、弧の中心軸がほぼ水平ならば「acc.change.fall」としている。「acc.change.raise」の検出は、センサノード2の軌跡の方向が鉛直上向きかどうかを判定することで行っている。そして、以上のイベントに該当しないものは、「acc.change」とする。
【0053】
抽出した照度センサの変化も同様に図9の「illumi」を根とする木に示すイベントに抽象化する。本実施の形態で用いた照度センサは、0から1024までの値を照度として出力する。本実施の形態では、変化の前後で照度が20以上上がった場合は「illumi.change.brightly」とし、照度が20以上下がった場合は「illumi.change.darkly」とした。そして、それ以外の変化は「illumi.change」とした。
【0054】
次に、床圧センサ3のイベント検出について説明する。本実施の形態で用いた床圧センサ3は、圧力の変化をオン/オフで出力する。その解像度は18×18cmとなっている。イベント特定手段12は、床圧センサ3で得られたオンの変化をそれらの時間的・空間的距離を考慮してクラスタリングした後に、変化の位置の分散などから歩行のイベントを検出する。クラスタリングは、任意の2つの変化の生起時間の間隔が所定の時間閾値(本実施の形態では2秒)以内で、かつ2つの変化の距離が所定の変化距離閾値(本実施の形態では100cm)以内のものを同じグループとすることで行う。
【0055】
イベントの特定に関しては、同じグループ内における圧力の変化の位置の分散、同じグループ内の任意の二点間の最大距離、および同じグループ内の最初に起こった変化と最後に起こった変化の時間差を用いる。ここで、位置の分散としては、床圧センサにおける変化のX座標とY座標の分散の平均を用いる。イベント特定手段12は、同じグループ内における変化の位置の分散が所定の分散閾値(本実施の形態では2)より大きく、かつ同じグループ内の任意の二点の変化間の最大距離が所定の最大距離閾値(本実施の形態では1m)より大きいときは、歩行イベント「floor.change.walk」とする。
【0056】
また、イベント特定手段12は、同じグループ内における変化の位置の分散が分散閾値より小さく、同じグループ内の任意の二点の変化間の最大距離が最大距離閾値より小さく、かつ同じグループ内の最初と最後の変化の時間差が所定の変化時間差閾値(本実施の形態では2秒)より小さいときは床の一点に接地したイベント「floor.change.point」とする。それ以外は床に何らかの変化が起こったというイベント「floor.change」と解釈する。こうして、イベント特定手段12は、床圧センサ3のイベントを特定することができる。
【0057】
次に、イベント特定手段12が求めた各種センサのイベント群から同時刻に起きたイベントをグループ化することでイベント集合を求めるイベント集合特定手段13の動作(ステップS4)について説明する。
イベント集合特定手段13は、図1に示すように時間的に重複しているイベントの範囲の論理和からイベント集合を求める。ただし、重複していなくても、イベント生起時刻の時間差が所定のイベント時間差閾値(本実施の形態では0.5秒)以内であれば、同じイベント集合に含まれるとしてもよい。
【0058】
さらに、イベント集合特定手段13は、同じイベント集合に含まれるイベント同士の時間的な関係を図4に示した時区間論理表現で表す。そして、イベント集合特定手段13は、得られたイベント集合を時系列に並べることにより、イベント集合の系列を作成する。
【0059】
次に、物体の同定を行う物体同定手段14の動作(ステップS5)について説明する。物体同定手段14は、センサノード2及び床圧センサ3から得られたイベント集合の系列が出力される尤もらしさ(スコア)を、記憶手段15に予め記憶された物体の状態遷移図毎に計算し、スコアが最も大きい状態遷移図に対応する物体にセンサノード2が装着されていると見なす。
【0060】
まず、イベント集合の系列に対する状態遷移図のスコアを計算する方法の大まかな流れについて説明する。図10は物体同定手段14の動作を示すフローチャートである。物体同定手段14は、それぞれのイベント集合について状態遷移図の全ての遷移との類似度を計算し(図10ステップS20)、状態遷移図の形状などの条件を考慮して、それぞれのイベント集合毎に対応し得る遷移を決定し(ステップS21)、イベント集合の系列に対するスコアを状態遷移図毎に計算し(ステップS22)、計算したスコアを基に物体とその物体の状態を同定する(ステップS23)。以下では、図10の処理の流れの詳細について説明する。
【0061】
状態遷移図に記述された遷移のイベントは、その遷移の値として前述の図4に示したような時区間論理表現で表されている。これに対して、物体同定手段14は、イベント集合特定手段13が求めたイベント集合との類似度を求める(ステップS20)。例えば状態遷移図の遷移に付随するバルーンの中に記述された時区間論理表現が図11(A)のように「X meets Y」を示しているときに、イベント集合に含まれるイベントXとイベントYが図11(B)のような時間的関係を持つ場合、この状態遷移図の遷移とイベント集合との誤差は、「X meets Y」を満たすためにイベントXまたはYをずらす時間(秒)となる。図11(A)、図11(B)の例では、イベントXの終了時刻とイベントYの開始時刻の差となる。
【0062】
このような時間的な類似度に加えて、詳細なイベントの類似度を考慮することで、状態遷移図に記述された遷移とイベント集合との類似度スコアを計算する。イベントの類似度は、図9に示した木構造を用いて計算する。例えば、状態遷移図に記述された遷移のイベントが「acc.change.slide」であり、それに対してイベント集合のイベントが「acc.change」であるとすると、これらのイベントの類似度は木構造におけるそれぞれのノード間の距離である1となる。その理由は、図9の例では、「acc」を根とする木構造において、イベント「slide」からイベント「change」への距離が1となっているからである。
【0063】
また、状態遷移図に記述された遷移のイベントが「acc.change.slide」であり、それに対してイベント集合のイベントが「acc.change.drop」であるとすると、これらのイベントの類似度は2となる。その理由は、「acc」を根とする木構造において、イベント「slide」からイベント「drop」へ到達するには、イベント「change」を経由する必要があるため、距離が2となるからである。
【0064】
ただし、状態遷移図における、ある遷移のイベントが「acc.change」であり、イベント集合のイベントが「acc.change.slide」である場合のように、状態遷移図の遷移のイベントの方が抽象度が大きいときは類似度を0とする。イベント集合と状態遷移図の遷移のイベントとの最終的な類似度は、前記の時間的な類似度と図9の木構造を用いて計算した類似度との和となる。なお、類似度が小さいほど、イベント間が類似していることは言うまでもない。物体同定手段14は、以上のようにして各イベント集合と各状態遷移図の全ての遷移との類似度を計算する。
【0065】
次に、物体同定手段14は、各イベント集合と遷移の写像の全ての組み合わせを求める(ステップS21)。例えば時系列的に並んだ10個のイベント集合があるとき、それぞれのイベント集合毎に対応し得る遷移の組み合わせの系列を求める。この例では状態遷移図に含まれる遷移の値の数の10乗通りもの系列を求める必要がある。そこで、下記の(a)〜(c)の3つの方法を用いて枝狩りを行う。
【0066】
(a)物体同定手段14は、状態遷移図を考慮して矛盾する系列は無視する。ここで、矛盾とは、例えばドアの状態遷移図において、「Open」という遷移が起こった直後に、ドアの開閉、すなわち「Open−and−shut」という遷移が起こることなどを意味する。
【0067】
(b)物体同定手段14は、あるイベント集合giに対応する状態遷移図の遷移tnを決定するとき、状態遷移図においてある状態に移る遷移が複数あれば、それらの遷移のうちステップS20で計算した類似度が最大のもののみしか選ばない。
【0068】
(c)物体同定手段14は、イベント集合の系列において、加速度センサや照度センサのデータ波形がそれぞれ類似しているイベント集合同士を、同じ遷移に対応付ける。例えば、図1のイベント集合g1とg4は加速度センサおよび照度センサのデータ波形が類似しているため、ある系列においてイベント集合g1が「Open」という遷移に対応するならば、イベント集合g4も同じ「Open」という遷移に対応するものとする。
【0069】
センサデータの波形の類似度は、DP(Dynamic Programming )マッチングを用いて計算する。具体的には、2つの波形を正規化し(それぞれの波形の最大値を1に最小値を0にするように波形を伸縮させる)、その後DPマッチングを用いて2つの波形間の距離を求める。距離が所定の閾値(本実施の形態では照度センサについては0.04、加速度センサについては0.07としている)より小さければ、類似した波形とする。なお、DPマッッチングについては、例えば文献「H.Sakoe,S.Chiba,“Dynamic programming algorithm optimization for spoken word recognitioh”,IEEE Trans.Acoust.,Speech,and Signal Process.,Vol.ASSP-26,p.43-49,1978」に記述されている。
【0070】
そして、物体同定手段14は、ステップS21でイベント集合系列の各イベント集合毎に選んだ遷移についてステップS20で計算した類似度を加算した総和を、イベント集合系列に対する状態遷移図のスコアとする(ステップS22)。物体同定手段14は、このようなスコアの計算を記憶手段15に予め用意された物体の状態遷移図毎に行う。
【0071】
最後に、物体同定手段14は、ステップS22で計算したスコアが最も高い状態遷移図に対応する物体を、センサノード2が装着された物体として同定し、この状態遷移図についてステップS21で選んだ遷移の系列をデータ収集期間に起こった物体の状態間遷移とする(ステップS23)。
【0072】
以上のように、本実施の形態では、センサノード2が装着された物体とその物体の状態を推定することができるので、専門的な知識のないユーザでも、汎用的なセンサノードを家具などの物体に装着するだけで、簡単にユビキタス環境の基盤を構築することができる。
【0073】
なお、本実施の形態の事物決定装置1は、CPU、記憶装置および外部とのインタフェースを備えたコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。このようなコンピュータにおいて、本発明の事物決定方法を実現させるためのプログラムは、フレキシブルディスク、CD−ROM、DVD−ROM、メモリカードなどの記録媒体に記録された状態で提供される。CPUは、記録媒体から読み込んだプログラムを記憶装置に書き込み、プログラムに従って前述の処理を実行する。
【産業上の利用可能性】
【0074】
本発明は、汎用のセンサノードを用いて、センサノードが装着された物体及びその物体の状態を推定する技術に適用することができる。
【図面の簡単な説明】
【0075】
【図1】本発明の実施の形態においてセンサノードから得られた出力の1例を示す波形図である。
【図2】ドアの状態遷移図の1例を示す図である。
【図3】椅子の状態遷移図の1例を示す図である。
【図4】本発明の実施の形態においてイベント同士の時間関係を表す時区間論理表現の1例を示す図である。
【図5】本発明の実施の形態に係る事物決定装置の1構成例を示すブロック図である。
【図6】本発明の実施の形態に係る事物決定装置の動作を示すフローチャートである。
【図7】本発明の実施の形態に係る事物決定装置のデータ変化抽出手段の動作を示すフローチャートである。
【図8】本発明の実施の形態におけるセンサデータの変化量の計算方法を説明するための図である。
【図9】本発明の実施の形態におけるイベントの1例を示す図である。
【図10】本発明の実施の形態に係る事物決定装置の物体同定手段の動作を示すフローチャートである。
【図11】本発明の実施の形態においてイベント集合と状態遷移図の遷移との類似度の計算方法を説明するための図である。
【符号の説明】
【0076】
1…事物決定装置、2…センサノード、3…床圧センサ、4…センサデータ用ストレージ、10…データ取得手段、11…データ変化抽出手段、12…イベント特定手段、13…イベント集合特定手段、14…物体同定手段、15…記憶手段。

【特許請求の範囲】
【請求項1】
複数のセンサからなるセンサノードが装着された物体とこの物体の状態を推定する事物決定装置であって、
前記センサノードから受信したセンサデータから変化が起こっている区間を抽出するデータ変化抽出手段と、
このデータ変化抽出手段が抽出した変化から、物体の事象であるイベントを特定するイベント特定手段と、
このイベント特定手段が求めた複数のイベントの中から略同時に起こっているイベント同士をグループ化してイベント集合を求め、このイベント集合を時系列順に並べることでイベント集合系列を求めるイベント集合特定手段と、
物体の状態と物体に起こり得る状態間遷移の関係を物体毎に記述した複数の状態遷移図を予め記憶する記憶手段と、
前記状態遷移図毎に前記イベント集合系列が得られる尤もらしさを求めることにより、前記センサノードが装着された物体とこの物体の状態を同定する物体同定手段とを有することを特徴とする事物決定装置。
【請求項2】
請求項1記載の事物決定装置において、
前記状態遷移図は、状態間遷移が起こる際に前記センサノードの各センサによって取得されると予想されるイベントの情報が、各状態間遷移に付随して記述されるものであり、
前記物体同定手段は、
前記状態間遷移に付随して記述されるイベントの情報に基づいて、前記イベント集合系列の各イベント集合について前記状態遷移図の全ての状態間遷移との類似度を計算する類似度計算手段と、
前記イベント集合系列のそれぞれのイベント集合毎に対応し得る状態間遷移を選択する状態間遷移選択手段と、
前記類似度計算手段の計算結果と前記状態間遷移選択手段の選択結果とから、前記イベント集合系列に対するスコアを状態遷移図毎に計算するスコア計算手段と、
前記計算したスコアが最も高い状態遷移図に対応する物体を、前記センサノードが装着された物体として同定し、この状態遷移図について前記状態間遷移選択手段で選択された状態間遷移の系列を前記同定した物体の状態の系列とする判定手段とを含むことを特徴とする事物決定装置。
【請求項3】
CPUと記憶装置とを備えたコンピュータにおいて、複数のセンサからなるセンサノードが装着された物体とこの物体の状態を推定する事物決定方法であって、
前記センサノードから受信したセンサデータから変化が起こっている区間を抽出するデータ変化抽出手順と、
このデータ変化抽出手順で抽出された変化から、物体の事象であるイベントを特定するイベント特定手順と、
このイベント特定手順で求めた複数のイベントの中から略同時に起こっているイベント同士をグループ化してイベント集合を求め、このイベント集合を時系列順に並べることでイベント集合系列を求めるイベント集合特定手順と、
物体の状態と物体に起こり得る状態間遷移の関係を物体毎に予め記述した複数の状態遷移図の各々について、前記イベント集合系列が得られる尤もらしさを求めることにより、前記センサノードが装着された物体とこの物体の状態を同定する物体同定手順とを、前記記憶装置に記憶されたプログラムに従って前記CPUに実行させることを特徴とする事物決定方法。
【請求項4】
請求項3記載の事物決定方法において、
前記状態遷移図は、状態間遷移が起こる際に前記センサノードの各センサによって取得されると予想されるイベントの情報が、各状態間遷移に付随して記述されるものであり、
前記物体同定手順は、
前記状態間遷移に付随して記述されるイベントの情報に基づいて、前記イベント集合系列の各イベント集合について前記状態遷移図の全ての状態間遷移との類似度を計算する類似度計算手順と、
前記イベント集合系列のそれぞれのイベント集合毎に対応し得る状態間遷移を選択する状態間遷移選択手順と、
前記類似度計算手順の計算結果と前記状態間遷移選択手順の選択結果とから、前記イベント集合系列に対するスコアを状態遷移図毎に計算するスコア計算手順と、
前記計算したスコアが最も高い状態遷移図に対応する物体を、前記センサノードが装着された物体として同定し、この状態遷移図について前記状態間遷移選択手順で選択された状態間遷移の系列を前記同定した物体の状態の系列とする判定手順とを含むことを特徴とする事物決定方法。
【請求項5】
複数のセンサからなるセンサノードが装着された物体とこの物体の状態を推定する事物決定装置としてコンピュータを動作させる事物決定プログラムであって、
前記センサノードから受信したセンサデータから変化が起こっている区間を抽出するデータ変化抽出手順と、
このデータ変化抽出手順で抽出された変化から、物体の事象であるイベントを特定するイベント特定手順と、
このイベント特定手順で求めた複数のイベントの中から略同時に起こっているイベント同士をグループ化してイベント集合を求め、このイベント集合を時系列順に並べることでイベント集合系列を求めるイベント集合特定手順と、
物体の状態と物体に起こり得る状態間遷移の関係を物体毎に予め記述した複数の状態遷移図の各々について、前記イベント集合系列が得られる尤もらしさを求めることにより、前記センサノードが装着された物体とこの物体の状態を同定する物体同定手順とを、コンピュータに実行させることを特徴とする事物決定プログラム。
【請求項6】
請求項5記載の事物決定プログラムにおいて、
前記状態遷移図は、状態間遷移が起こる際に前記センサノードの各センサによって取得されると予想されるイベントの情報が、各状態間遷移に付随して記述されるものであり、
前記物体同定手順は、
前記状態間遷移に付随して記述されるイベントの情報に基づいて、前記イベント集合系列の各イベント集合について前記状態遷移図の全ての状態間遷移との類似度を計算する類似度計算手順と、
前記イベント集合系列のそれぞれのイベント集合毎に対応し得る状態間遷移を選択する状態間遷移選択手順と、
前記類似度計算手順の計算結果と前記状態間遷移選択手順の選択結果とから、前記イベント集合系列に対するスコアを状態遷移図毎に計算するスコア計算手順と、
前記計算したスコアが最も高い状態遷移図に対応する物体を、前記センサノードが装着された物体として同定し、この状態遷移図について前記状態間遷移選択手順で選択された状態間遷移の系列を前記同定した物体の状態の系列とする判定手順とを含むことを特徴とする事物決定プログラム。
【請求項7】
請求項5又は6記載の事物決定プログラムを記録したことを特徴とする記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2008−128939(P2008−128939A)
【公開日】平成20年6月5日(2008.6.5)
【国際特許分類】
【出願番号】特願2006−316875(P2006−316875)
【出願日】平成18年11月24日(2006.11.24)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 2006年7月13〜14日 社団法人 情報処理学会発行の「情報処理学会研究報告 情処研報 Vol.2006,NO.78」に発表
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成18年9月21日 日本データベース学会発行の「日本データベース学会Letters Vol.5 No.2 September 2006」に発表
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】