(57)【特許請求の範囲】
【請求項１】
事象を検出するセンシング機能および通信機能を備えた複数のセンサノードと、これらのセンサノードからデータを収集するサーバとからなる事象認識システムにおいて、
前記サーバは、
学習用のサンプル事象を検出したセンサノードの時系列のセンサデータから特徴ベクトルを生成し、この特徴ベクトルと前記サンプル事象の望ましい認識結果とから、事象認識の決定木を生成する決定木生成手段と、
学習時に前記決定木に従って各センサノードの機能を選択するセンサノード機能選択手段と、
学習時に前記センサノード機能選択手段によって選択された機能を各センサノードに通知するセンサノード機能通知手段と、
学習後の動作において事象を検出したセンサノードからセンサデータが得られたときに、前記決定木を用いて事象を認識する事象認識手段とを備えることを特徴とする事象認識システム。
【請求項２】
請求項１記載の事象認識システムにおいて、
前記センサノード機能選択手段は、各センサノードをデータ中継を行う中継ノードと、事象の検出とデータ中継の両方を行うセンシングノードに区分することを特徴とする事象認識システム。
【請求項３】
請求項１記載の事象認識システムにおいて、
前記センサノードは、
事象を検出するセンサと、
自ノードの通信コストとセンシングコストを決定するコスト決定手段と、
このコスト決定手段が決定した通信コストとセンシングコストを他のセンサノードに通知するコスト通知手段と、
前記サーバまでの直通の通信路を確保できない場合に、通信範囲内にある他のセンサノードから通信コストとセンシングコストのデータを受信し、自ノードの通信範囲内にあるセンサノードのうち、通信コストとセンシングコストの和が最小となるセンサノードを中継ノードとして選択する中継ノード選択手段と、
前記センサが事象を検出したときに、事象を検出したことを示すセンサデータを送信するセンサデータ送信手段と、
他のセンサノードからセンサデータを受信したときに、前記サーバまでの直通の通信路を確保できている場合は、受信したセンサデータを前記サーバ宛に転送し、前記サーバまでの直通の通信路を確保できない場合は、受信したセンサデータを前記中継ノード選択手段が選択した中継ノード宛に転送するデータ中継手段とを備えることを特徴とする事象認識システム。
【請求項４】
事象を検出するセンシング機能および通信機能を備えた複数のセンサノードと、これらのセンサノードからデータを収集するサーバとを用いて事象を認識する事象認識方法において、
サーバが、学習用のサンプル事象を検出したセンサノードの時系列のセンサデータから特徴ベクトルを生成し、この特徴ベクトルと前記サンプル事象の望ましい認識結果とから、事象認識の決定木を生成する決定木生成ステップと、
サーバが、学習時に前記決定木に従って各センサノードの機能を選択するセンサノード機能選択ステップと、
サーバが、学習時に前記センサノード機能選択ステップで選択した機能を各センサノードに通知するセンサノード機能通知ステップと、
サーバが、学習後の動作において事象を検出したセンサノードからセンサデータが得られたときに、前記決定木を用いて事象を認識する事象認識ステップとを備えることを特徴とする事象認識方法。
【請求項５】
請求項４記載の事象認識方法において、
前記センサノード機能選択ステップは、各センサノードをデータ中継を行う中継ノードと、事象の検出とデータ中継の両方を行うセンシングノードに区分することを特徴とする事象認識方法。
【請求項６】
請求項４記載の事象認識方法において、
センサノードが、自ノードの通信コストとセンシングコストを決定するコスト決定ステップと、
センサノードが、前記コスト決定ステップで決定した通信コストとセンシングコストを他のセンサノードに通知するコスト通知ステップと、
センサノードが、前記サーバまでの直通の通信路を確保できない場合に、通信範囲内にある他のセンサノードから通信コストとセンシングコストのデータを受信し、自ノードの通信範囲内にあるセンサノードのうち、通信コストとセンシングコストの和が最小となるセンサノードを中継ノードとして選択する中継ノード選択ステップと、
センサノードが、事象を検出したときに、事象を検出したことを示すセンサデータを送信するセンサデータ送信ステップと、
センサノードが、他のセンサノードからセンサデータを受信したときに、前記サーバまでの直通の通信路を確保できている場合は、受信したセンサデータを前記サーバ宛に転送し、前記サーバまでの直通の通信路を確保できない場合は、受信したセンサデータを前記中継ノード選択ステップで選択した中継ノード宛に転送するデータ中継ステップとを備えることを特徴とする事象認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センシング機能および通信機能を備えた複数のセンサノードと、これらのセンサノードからデータを収集して事象を認識するサーバとからなる事象認識システムに関するものである。
【背景技術】
【０００２】
近年、環境計測、防災、防犯、製造などの分野でネットワークに接続されたセンサを用いてリアルタイムで情報を収集できるものがある。このようなものの中には、単純にセンサの応答値を通信回線によって遠隔地に送信するものの他に、検知データの特性、例えば緊急度などに応じて通信回線を選択するものなどがある。また、情報収集の簡易化から、バッテリ駆動かつ無線によるデータ通信機能をもっセンサノードからなるセンサネットワークを用いるものがある。
【０００３】
このようなバッテリ駆動の無線センサネットワークにおいては、センシング機能の高度化と駆動時間の長期化とを両立する技術が開発されている。例えば、センサノードのセンシング機能を有するハードウェアモジュールで消費する電力と通信機能を有するハードウェアモジュールで消費する電力の和の平均が一定になるように制御したり、電力の和の平均が各センサノード間で等しくなるように制御したり、あるいは電力の和の平均が残存バッテリ容量に比例するように制御したりして、緊急度の高い情報や重要な情報をセンシングするセンサノードにおいてはセンシング機能のハードウェアモジュールで消費する電力を多くし、その他は通信機能のハードウェアモジュールで消費する電力を多くするようなセンサネットワークが提案されている（特許文献１参照）。
【０００４】
【特許文献１】特開２００５−２０８７１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１で提案されたセンサネットワークには、以下のような問題点があった。すなわち、このセンサネットワークにおいて、センサノードは人の存在や粒子濃度、ひずみの存在といった単一の事象を検知するものである。しかし、このセンサネットワークでは、空間的な動きである人の行動パターンなど、変化する事象を複数のセンサノードで検出する場合、重要な情報を検出しているセンサノードを特定したり評価したりすることができず、センシング事象の時間的な変化に対応することができなかった。
【０００６】
本発明は、上記課題を解決するためになされたもので、事象の認識にとって重要なセンサノードを選択して事象を認識することができる事象認識システムおよび事象認識方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、事象を検出するセンシング機能および通信機能を備えた複数のセンサノードと、これらのセンサノードからデータを収集するサーバとからなる事象認識システムにおいて、前記サーバは、学習用のサンプル事象を検出したセンサノードの時系列のセンサデータから特徴ベクトルを生成し、この特徴ベクトルと前記サンプル事象の望ましい認識結果とから、事象認識の決定木を生成する決定木生成手段と、学習時に前記決定木に従って各センサノードの機能を選択するセンサノード機能選択手段と、学習時に前記センサノード機能選択手段によって選択された機能を各センサノードに通知するセンサノード機能通知手段と、学習後の動作において事象を検出したセンサノードからセンサデータが得られたときに、前記決定木を用いて事象を認識する事象認識手段とを備えることを特徴とするものである。
また、本発明の事象認識システムの１構成例において、前記センサノード機能選択手段は、各センサノードをデータ中継を行う中継ノードと、事象の検出とデータ中継の両方を行うセンシングノードに区分することを特徴とするものである。
また、本発明の事象認識システムの１構成例において、前記センサノードは、事象を検出するセンサと、自ノードの通信コストとセンシングコストを決定するコスト決定手段と、このコスト決定手段が決定した通信コストとセンシングコストを他のセンサノードに通知するコスト通知手段と、前記サーバまでの直通の通信路を確保できない場合に、通信範囲内にある他のセンサノードから通信コストとセンシングコストのデータを受信し、自ノードの通信範囲内にあるセンサノードのうち、通信コストとセンシングコストの和が最小となるセンサノードを中継ノードとして選択する中継ノード選択手段と、前記センサが事象を検出したときに、事象を検出したことを示すセンサデータを送信するセンサデータ送信手段と、他のセンサノードからセンサデータを受信したときに、前記サーバまでの直通の通信路を確保できている場合は、受信したセンサデータを前記サーバ宛に転送し、前記サーバまでの直通の通信路を確保できない場合は、受信したセンサデータを前記中継ノード選択手段が選択した中継ノード宛に転送するデータ中継手段とを備えることを特徴とするものである。
【０００８】
また、本発明の事象認識方法は、サーバが、学習用のサンプル事象を検出したセンサノードの時系列のセンサデータから特徴ベクトルを生成し、この特徴ベクトルと前記サンプル事象の望ましい認識結果とから、事象認識の決定木を生成する決定木生成ステップと、サーバが、学習時に前記決定木に従って各センサノードの機能を選択するセンサノード機能選択ステップと、サーバが、学習時に前記センサノード機能選択ステップで選択した機能を各センサノードに通知するセンサノード機能通知ステップと、サーバが、学習後の動作において事象を検出したセンサノードからセンサデータが得られたときに、前記決定木を用いて事象を認識する事象認識ステップとを備えることを特徴とするものである。
また、本発明の事象認識方法の１構成例において、前記センサノード機能選択ステップは、各センサノードをデータ中継を行う中継ノードと、事象の検出とデータ中継の両方を行うセンシングノードに区分することを特徴とするものである。
また、本発明の事象認識方法の１構成例は、センサノードが、自ノードの通信コストとセンシングコストを決定するコスト決定ステップと、センサノードが、前記コスト決定ステップで決定した通信コストとセンシングコストを他のセンサノードに通知するコスト通知ステップと、センサノードが、前記サーバまでの直通の通信路を確保できない場合に、通信範囲内にある他のセンサノードから通信コストとセンシングコストのデータを受信し、自ノードの通信範囲内にあるセンサノードのうち、通信コストとセンシングコストの和が最小となるセンサノードを中継ノードとして選択する中継ノード選択ステップと、センサノードが、事象を検出したときに、事象を検出したことを示すセンサデータを送信するセンサデータ送信ステップと、センサノードが、他のセンサノードからセンサデータを受信したときに、前記サーバまでの直通の通信路を確保できている場合は、受信したセンサデータを前記サーバ宛に転送し、前記サーバまでの直通の通信路を確保できない場合は、受信したセンサデータを前記中継ノード選択ステップで選択した中継ノード宛に転送するデータ中継ステップとを備えることを特徴とするものである。
【発明の効果】
【０００９】
本発明によれば、学習用のサンプル事象を検出したセンサノードの時系列のセンサデータから特徴ベクトルを生成し、この特徴ベクトルとサンプル事象の望ましい認識結果とから決定木を生成し、決定木に従って各センサノードの機能を選択し、選択した機能を各センサノードに通知するようにしたので、事象の認識にとって重要な最低限必要なセンシングノードとセンシングを行わない中継ノードとを特定することが可能となる。したがって、本発明では、認識したい事象の例を予め学習用のサンプル事象として与えて、事象認識システムを学習させ、決定木を生成させるようにすれば、事象認識システムが事象の認識にとって重要な最低限必要なセンシングノードを自動的に選択するので、人の行動パターンなどの変化する事象に対応することができる。また、本発明では、センシング能力を犠牲にすることなく最小限のセンサノードによるセンサネットワークを構成することが可能となる。
【００１０】
また、本発明では、センサノードが、自ノードの通信コストとセンシングコストを決定して他のセンサノードに通知し、サーバまでの直通の通信路を確保できない場合に、通信範囲内にある他のセンサノードから通信コストとセンシングコストのデータを受信し、自ノードの通信範囲内にあるセンサノードのうち、通信コストとセンシングコストの和が最小となるセンサノードを中継ノードとして選択するようにしたので、センサネットワークを再構成することができ、センシング機能を犠牲にすることなく、センシング機能と通信機能を両立させることができる。また、学習後の動作において行うようにすれば、最新の通信状況やセンサノードの最新のリソースに応じて、センサネットワークを再構成することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態の事象認識システムおよび事象認識方法について図に基づいて詳細に説明する。図１は本実施の形態に係るセンサノードの構成を示すブロック図である。センサノード１は、温度センサやガスセンサ、人感センサやスイッチなどの状態測定用センサ２と、センサノード１の検出結果やセンサノード１に固有のＩＤを送信し、後述するサーバから信号を受信する無線通信機能モジュール３と、センサデータおよびプログラムを記憶するメモリ４と、メモリ４に格納されたプログラムに従って状態測定用センサ２や無線通信機能モジュール３を制御するＣＰＵ（Central Processing Unit）５などを備えている。
【００１２】
状態測定用センサ２としては、室内の人の行動をセンシングするために使用される場合は人感センサやスイッチが採用され、環境計測に使用される場合はガスセンサや温度センサなどが採用される。人感センサとしては、例えば赤外線、超音波、可視光などを用いたものがある。このように、状態測定用センサ２はセンシング目的により適宜選択されるものである。
【００１３】
センサノード１は、小型であり、また図示しない内部のバッテリによって駆動可能であるため、ユーザが容易に設置することが可能である。センサノード１の電源として商用電源を利用することも可能であるが、バッテリ駆動により場所を選ばず設置することができる。無線通信機能モジュール３と後述するサーバとの間の無線通信としては、無線ＬＡＮ（Local Area Network）、特定小電力無線、微弱無線、ＺｉｇＢｅｅ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）などを利用できる。これらの無線通信を利用した場合、無線通信距離は数ｍから数十ｍである。ただし、センサノード１は中継機能を備えているため、他のセンサノード１とサーバとの間の通信を中継することにより長距離の通信を実現できる。
【００１４】
図２は本実施の形態に係るサーバの構成を示すブロック図である。サーバ６は、パーソナルコンピュータのようなもので構成することが可能である。このサーバ６は、データやプログラムを記憶するメモリ７と、メモリ７に格納されたプログラムに従ってサーバ全体を制御するＣＰＵ８と、通信インタフェース１０などを備えている。通信インタフェース１０には、センサノード１と無線通信を行うセンサノード用送受信器９が接続されている。
【００１５】
通信インタフェース１０としては、例えばシリアルポート、パラレルポート、ＬＡＮポート、ＵＳＢ（Universal Serial Bus）ポート、ＣＦ（CompactFlash）カードスロットなどを利用することができる。いずれの場合も、センサノード用送受信器９側にも同様のインタフェースが必要となる。
【００１６】
図３は本実施の形態に係る事象認識システムの構成を示す図である。ユーザ（不図示）の周囲に設置されている複数のセンサノード１−１〜１−３は、ユーザの存在を人感センサなどの状態測定用センサ２によって検出し、ユーザの存在を検出したことを示す検出データとセンサノードのＩＤとをサーバ６へ送信するか、あるいは検出データの代わりにＩＤをサーバ６へ送信する。以下、センサノード１から得られる検出データとＩＤを総称して、センサデータと呼ぶ。
【００１７】
サーバ６は、センサノード用送受信器９を経由してセンサノード１からセンサデータを受信する。そして、サーバ６は、受信したセンサデータに基づいてパターン認識を行うことにより、センサノード１で検出された事象（ユーザの行動や環境の状態）を認識する。さらに、サーバ６は、各センサノード１をセンシングノードと中継ノードに区分し、各センサノード１に機能を通知する。
【００１８】
図４はサーバ６のＣＰＵ８によって実現される機能手段を示すブロック図である。ＣＰＵ８によって実現される機能手段としては、センサノード制御部１２と、データベース１３と、事象認識部１４とがある。センサノード制御部１２は、決定木生成部１５と、センサノード機能選択部１６と、センサノード機能通知部１７とから構成される。
【００１９】
決定木生成部１５は、学習時にセンサノード１から得られたセンサデータとユーザによって入力された望ましい認識結果とをメモリ７に格納して、メモリ７にデータベース１３を構築し、このセンサデータと望ましい認識結果とから、センサノード１によって検出された事象を認識するための決定木をデータベース１３に構築する。
【００２０】
センサノード機能選択部１６は、データベース１３に構築された決定木に基づいて、事象の認識にとって重要な最低限必要なセンサノード１を選択することにより、各センサノード１の機能を選択する。
センサノード機能通知部１７は、センサノード機能選択部１６によって選択された機能を通信インタフェース１０を通じて各センサノード１に通知する。
【００２１】
事象認識部１４は、学習後の認識動作において、センサノード１から得られたセンサデータを基にデータベース１３を参照し、決定木を用いたパターン認識を行って事象を認識する。
ＣＰＵ８は、メモリ７に格納されたプログラムを実行することにより、センサノード制御部１２とデータベース１３と事象認識部１４とを実現する。
【００２２】
なお、センサノード制御部１２とデータベース１３と事象認識部１４とは必ずしもサーバ６内に構築されなければならないわけでなく、より高性能の計算資源を利用するためにシステム外部にセンサノード制御部１２とデータベース１３と事象認識部１４とを配置し、通信ネットワークを経由してサーバ６と通信を行うようにしてもよい。また、データベース１３を、ユーザ毎に用意することもできる。
【００２３】
図５はある環境、例えば居室内におけるセンサノード１−１〜１−１０の配置例を表した平面図である。センサノード１−１〜１−１０は、居室の入口５０から通路５１に沿って配置されている。各センサノード１−１〜１−１０の状態測定用センサ２としては、ユーザによる接触を検出する接触センサや、ユーザの接近を検出する人感センサなどが使用される。
サーバ６は、ユーザの行動を認識し、居室の照明や空調などの環境制御をしたり、ユーザの監視を行ったりする。
【００２４】
以下、学習データ（センサノード１からのデータとサンプル事象の望ましい認識結果）の獲得と決定木の生成とセンサノード１の機能選択とセンサノード１への機能通知とを行う学習時の動作について説明する。図６はサーバ６の学習時の動作を示すフローチャートである。図７にユーザのある行動（サンプル事象）に対するセンサノード１−１〜１−１０の検出例を示す。センサノード１−１〜１−１０は、ユーザの存在を検出したときに、ユーザの存在を検出したことを示すセンサデータをサーバ６に送信する。図７の例では、このセンサノード１−１〜１−１０から送信されたセンサデータをパルス６０で表している。前述のとおり、センサノード１−１〜１−１０は、ユーザの存在を検出したことを示すセンサデータとして、自身に固有のＩＤを送信するようにしてもよい。
【００２５】
ユーザは、入室し、机５２に向かって通路５１を移動した。この結果、図７に示すように、センサノード１−１，１−２，１−３，１−４，１−５，１−６，１−７，１−８，１−９，１−１０がユーザの存在を順に検出した。そして、ユーザはしばらく机５２で作業をしたので、この作業の間、センサノード１−１０がユーザの存在を連続して検出した。その後、ユーザは、机５２を退席し、通路５１を移動して退室した。この退席、退室により、センサノード１−９，１−８，１−７，１−６，１−５，１−４，１−３，１−２，１−１がユーザの存在を順に検出した。
【００２６】
以上の一連の行動の中で入室、着席、退席、退室の４つの行動に着目する。この４つの行動は、入室時に照明をつける、着席時に机上の個別照明をつける、退席時に個別照明を消す、退室時に照明を消すなど、ユーザによる環境制御と関連する可能性が高いものである。このため、この４つの行動を認識することを考える。
【００２７】
ユーザの入室はセンサノード１−１が検出し、着席はセンサノード１−１０が検出し、退席はセンサノード１−９が検出し、退室はセンサノード１−１が検出しているため、これらのセンサ１−１，１−９，１−１０が４つの行動と密接に関連していることが分かる。ただし、これらのセンサだけでは４つの行動を認識することはできない。すなわち、センサノード１−１の検出がユーザの入室を示すものなのか退室を示すものなのかが分からず、センサノード１−１０の検出がユーザの着席を示すものなのか机での作業を示すものなのかが分からず、センサノード１−９の検出が着席前の検出を示すものなのか退席を示すものなのかが分からない。
【００２８】
ここで、１０個のセンサノード１−１〜１−１０のセンサデータをＳ１〜Ｓ１０とし、センサ検出ベクトルを（Ｓ１，Ｓ２，Ｓ３，Ｓ４，Ｓ５，Ｓ６，Ｓ７，Ｓ８，Ｓ９，Ｓ１０）、ユーザの存在を現在検出しているという状態をｒ、ユーザの存在を現在からｘ時刻前に検出したという状態をｐｘ、ユーザの存在をｔ時刻前から現在までの間検出していないという状態をｎとする。ｔとｘは正の数で（ｔ≧ｘ）、ｔを次数と呼ぶ。ｔ＝３の場合、センサノード１−１〜１−１０の時系列の検出結果からセンサ検出ベクトルは、図８のように表すことができる。ただし、図８の例では、ユーザはノード間を移動するのに１時刻かかるものとする。
【００２９】
サーバ６の決定木生成部１５は、学習時にセンサノード１−１〜１−１０からセンサデータを受け取ると、このデータをメモリ７に格納する（図６ステップＳ１１）。
また、ユーザは、サンプル事象の望ましい認識結果として、ユーザの注目すべき行動（入室、着席、退席、退室）をセンサデータと対応付けるようにしてサーバ６に入力する（ステップＳ１２）。つまり、ユーザが最初にセンサノード１−１を通過したときのセンサ検出ベクトルに「入室」という行動を対応付け、ユーザがセンサノード１−１０を通過したときのセンサ検出ベクトルに「着席」という行動を対応付け、ユーザがセンサノード１−９を通過したときのセンサ検出ベクトルに「退席」という行動を対応付け、ユーザが最後にセンサノード１−１を通過したときのセンサ検出ベクトルに「退室」という行動を対応付ける。こうして、センサノード１−１〜１−１０のデータとサンプル事象の望ましい認識結果とが対応付けられたデータベース１３が構築される。
【００３０】
上記の例では、入室、退室、着席、退席というユーザの４つの行動は、センサ１−１〜１−１０の時系列の検出結果から生成されたセンサ検出ベクトルによって区別することができる。さらに、一例として直感的にセンサノード１−１，１−２，１−９，１−１０の情報を利用することにより、ユーザの行動を認識できるということが分かる。人間はこのような選択を比較的容易に行うことができるが、様々な場合にいちいち人間が考えていては手間がかかりすぎる。例えば、個人によって照明などの環境をどのように調節、制御したいかは異なるであろうし、環境によってもそれぞれ異なるであろう。それをユーザが考えながらセンサノードを設置したり動作させたりするのは大変な労力を要する。したがって、人手を介さずこのようなセンサ選択を自動的に実現させる必要がある。
【００３１】
ここでは、情報利得に基づいて、パターン認識における特徴量の選択を行う。具体的には、クインラン（J.R.Quinlan）の決定木の方法を利用する（文献「J.R.Quinlan，“Induction of Decision Trees”，Machine Learning 1:81-106，1986」参照）。情報利得とは、決定木の分岐ノードとなる属性（ここではセンサノード）の重要度を表すものであり、特徴量とは、各センサノード１の検出結果と考えることができる。
【００３２】
決定木生成部１５は、クインランのＩＤ３アルゴリズムを用いて開発された決定木ソフトウエアを含むデータマイニングツールＷＥＫＡを用いて決定木をデータベース１３に構築する（図６ステップＳ１３）。データマイニングツールＷＥＫＡについては、例えば文献「http://www.cs.waikato.ac.nz/ml/weka/」に開示されている。この決定木の構築処理では、決定木生成部１５は、ある次数のもとでセンサノード１の時系列のセンサデータから特徴ベクトルであるセンサ検出ベクトルを生成し、各センサノード１の情報利得を求め、情報利得が最大となるセンサノード１を決定木の分岐ノードにする操作を行う。
【００３３】
図９に決定木生成部１５によって生成された決定木の例を示す。図９の決定木によると、Ｓ１＝ｒ，Ｓ２＝ｎであればユーザの入室と認識できることが分かる。同様に、Ｓ１＝ｒ，Ｓ２＝ｐ１であればユーザの退室と認識でき、Ｓ１＝ｎ，Ｓ１０＝ｒ，Ｓ９＝ｐ１であればユーザの着席と認識でき、Ｓ１＝ｎ，Ｓ１０＝ｐ１であればユーザの退席と認識できる。また、図９の決定木によると、センサノード１−１，１−２，１−９，１−１０以外の６つのセンサノード１−３〜１−８のセンサデータはユーザの行動の認識に利用されておらず、したがって行動認識に最低限必要なセンサノードを選択できていることが分かる。
【００３４】
以上のようにステップＳ１３の処理により、事象の認識ルールの生成と、事象の認識に最低限必要なセンサノード１の決定の両方を実現できていることが分かる。
続いて、センサノード機能選択部１６は、データベース１３に構築された決定木において分岐ノードになっているセンサノード１を、事象の認識にとって重要な最低限必要なセンサノード１として選択することにより、各センサノード１の機能を選択する（図６ステップＳ１４）。図９の例では、事象の認識に最低限必要なセンサノード１として、センサノード１−１，１−２，１−９，１−１０が選択されることになる。
【００３５】
複数のセンサノード１からなるセンサネットワークにおいて、センシング機能と通信機能を両立させることは重要であり、どちらか一方を欠いてもセンサネットワークを構成することはできない。あるセンサノード１からサーバ６まで直通の無線通信路を確保できない場合、別のセンサノード１を中継ノードとして利用することにより無線通信路を確保できる。このような中継ノードをどのように決めるかが問題となる。中継ノードとなるセンサノード１は、自分以外の他のセンサノード１の通信を中継するため、消費電力は大きくなる。もし、センシングと中継の両方を行うと、電力を大量に消費し、センサノード１の機能が停止することも考えられる。よって、上記センサノード１の選択機能を利用し、センサノード１をセンシングノードと中継ノードに区分することにより、センサネットワーク全体としての機能を損ねないようにすることが重要である。
【００３６】
すなわち、センサノード機能選択部１６は、事象の認識に最低限必要なセンサノード１−１，１−２，１−９，１−１０を事象の検出を行い、場合によってはデータの中継も行うセンシングノードとして選択し、その他のセンサノード１−３〜１−８を中継ノードとして選択する（ステップＳ１４）。こうして、センサノード１をセンシングノードと中継ノードに区分し、各センサノード１の機能を選択できたことになる。
【００３７】
センサノード機能通知部１７は、センサノード機能選択部１６によって選択された機能を通信インタフェース１０を通じて各センサノード１に通知する（図６ステップＳ１５）。図９の例によれば、センサノード機能通知部１７は、センサノード１−１，１−２，１−９，１−１０に対して、実現すべき機能がセンシング機能であることを通知し、またセンサノード１−３〜１−８に対して、実現すべき機能が中継機能であることを通知する。
【００３８】
最後に、各センサノード１は、サーバ６のセンサノード機能通知部１７から通知された機能によりセンシングコストを算出し、通信コストとセンシングコストの和が最小である中継ノードを選択してセンサネットワークを再構成する（図６ステップＳ１６）。
図１０はセンサノード１のＣＰＵ５によって実現される機能手段を示すブロック図である。ＣＰＵ５によって実現される機能手段としては、センサデータ送信部１８と、機能設定部１９と、コスト決定部２０と、コスト通知部２１と、中継ノード選択部２２と、データ中継部２３とがある。ＣＰＵ５は、メモリ４に格納されたプログラムを実行することにより、これらの機能手段を実現する。
【００３９】
各センサノード１は、サーバ６までの直通の無線通信路を確保できない場合、自ノードの無線通信範囲内にあり、かつサーバ６までの無線通信路が確保されている幾つかのセンサノード１を中継ノードとして選択する。この中継ノードの選択基準としては、まず、通信コスト、すなわちサーバ６まで通信する際のノイズ等による通信パケットの損失頻度が挙げられる。センサネットワークにおいては、データをできる限り高い確度でサーバ６まで送信するために、パケット損失の少ない無線通信路を選択することが重要である。
【００４０】
さらに、中継ノードの別の選択基準として、センシングコスト、すなわち重要な情報をセンシングするのに必要なリソースが挙げられる。ここで、リソースとは、バッテリの容量だけでなく、センサノード１のＣＰＵ５の使用頻度やメモリ４の使用頻度を指している。センサネットワークにおいては、センシング機能を確保することは基本であり、重要な情報をセンシングしているノード１はリソースをそれだけ消費する。通信によるリソース消費がセンシング機能に影響を与える可能性があるため、できるだけセンシング機能に専念させることが重要であり、もし可能であるならばセンシングコストの低いセンサノード１を中継ノードとして選択することが重要である。よって、通信コストとセンシングコストの和が最小のセンサノード１を中継ノードとして選択することになる。
【００４１】
各センサノード１の機能設定部１９は、サーバ６から通知された機能を、自ノードが実現すべき機能として設定する。これにより、各センサノード１は、センシングノードあるいは中継ノードとして動作する。なお、センシングノードは、主たる動作としてセンシングを行うが、場合によっては中継ノードとしても動作する。
【００４２】
各センサノード１のコスト決定部２０は、サーバ６から通知された機能と自ノードのリソースにより、自ノードのセンシングコストを決定する。サーバ６から通知された機能が中継機能である場合、このセンサノード１のセンシングコストは０である。また、コスト決定部２０は、サーバ６から通知された機能がセンシング機能である場合、自ノードの現在のリソースにより、自ノードのセンシングコストを決定する。さらに、コスト決定部２０は、例えば送受信データの損失頻度などに基づいて、自ノードの通信コストを決定する。
【００４３】
各センサノード１のコスト通知部２１は、コスト決定部２０が決定した自ノードの通信コストとセンシングコストを、例えば一定時間毎に無線通信機能モジュール３を通じて他のセンサノード１に無線送信する。
【００４４】
各センサノード１の中継ノード選択部２２は、サーバ６までの直通の無線通信路を確保できない場合、無線通信範囲内にある他のセンサノード１から通信コストとセンシングコストのデータを受信し、自ノードの無線通信範囲内にあるセンサノード１のうち、通信コストとセンシングコストの和が最小となるセンサノード１を中継ノードとして選択する（図６ステップＳ１６）。なお、各センサノード１の中継ノード選択部２２は、サーバ６宛に信号を無線送信し、サーバ６からの応答がない場合に、サーバ６までの直通の無線通信路を確保できていないと判断する。
以上のようにして、センサネットワークを再構成することができ、学習時の動作が終了する。
【００４５】
図１１に事象認識システムにおいてセンサネットワークを再構成する動作の１例を示す。図１１は、サーバ６に直接センサデータを送信できないセンサノード１−Ａがサーバ６にデータを送信する場合を示している。センサノード１−Ａは、無線通信範囲内にあるセンサノード１−Ｂ，１−Ｃ，１−Ｄのいずれかを中継ノードとして選択する。このとき、センサノード１−Ｂは、センシングノードとして動作すべきことをサーバ６から通知されている。また、センサノード１−Ｃ，１−Ｄは、中継ノードとして動作すべきことをサーバ６から通知されている。
【００４６】
センシングノードのセンシングコストを１０とし、センシングを行わない中継ノードのセンシングコストを０とする。また、センサノード１−Ｂのサーバ６ヘの通信コストを３、センサノード１−Ｃのサーバ６への通信コストを５、センサノード１−Ｄのサーバ６への通信コストを４とする。この場合、センサノード１−Ａは、通信コストとセンシングコストの和が最小であるセンサノード１−Ｄを中継ノードとして選択する。センサノード１−Ｃは、センシングにも通信にも寄与しておらず、センサノード１−Ｄの代わりの中継ノードとして休眠状態に遷移したり、未使用センサノードとしてセンサネットワークから除外されたりする。
【００４７】
図１２にセンサネットワークを再構成する動作の別の例を示す。ここでは、図１１の例と同じ構成において、センサノード１−Ｂ，１−Ｃ，１−Ｄの通信コストをそれぞれ３、１５、２０とする。センサノード１−Ｃと１−Ｄは、ノイズの混濁が多いノイズ領域１２０に含まれるために、通信品質が悪く、通信コストが高くなっている。よって、センサノード１−Ｃや１−Ｄを中継ノードとして選択しても、センサデータがサーバ６まで届かない可能性が高い。
【００４８】
センサノード１−Ａは、通信コストとセンシングコストの和が最小であるセンサノード１−Ｂを中継ノードとして選択する。この場合は、リソースを消費することになるが、センサノード１−Ｂは、センシングノードとして動作すると同時に中継ノードとしても動作する。センサノード１−Ｃや１−Ｄは、他の場所に設置されたりセンサネットワークから除外されたりする。
【００４９】
なお、ステップＳ１５で各センサノード１に機能が通知される前の初期センサネットワークでは、各センサノード１は、センシングノードとして動作すると同時に中継ノードとしても動作する。初期センサネットワークでは、各センサノード１の中継ノード選択部２２は、サーバ６までの直通の無線通信路を確保できない場合、通信コストのみを考慮し、自ノードの無線通信範囲内にあるセンサノード１のうち、通信コストが最小となるセンサノード１を中継ノードとして選択する。
【００５０】
学習時および学習後の通常の認識動作について、各センサノード１のセンサデータ送信部１８は、センシングノードとして動作する場合、前述のとおり、自ノードの状態測定用センサ２がユーザの存在を検出したときに、センサデータを無線通信機能モジュール３を通じて無線送信する。このとき、センサデータ送信部１８は、サーバ６までの直通の無線通信路を確保できている場合は、サーバ６宛にセンサデータを送信し、サーバ６までの直通の無線通信路を確保できない場合は、自ノードの中継ノード選択部２２が選択した中継ノード宛にセンサデータを送信する。
【００５１】
学習時および学習後の通常の認識動作について、各センサノード１のデータ中継部２３は、センシングノードまたは中継ノードとして動作する場合、他のセンサノード１から受信したセンサデータを無線通信機能モジュール３を通じて転送する。このとき、データ中継部２３は、サーバ６までの直通の無線通信路を確保できている場合は、サーバ６宛にセンサデータを転送し、サーバ６までの直通の無線通信路を確保できない場合は、自ノードの中継ノード選択部２２が選択した中継ノード宛にセンサデータを転送する。
【００５２】
以上のように、本実施の形態では、学習用のサンプル事象を検出したセンサノード１の時系列のセンサデータから特徴ベクトルを生成し、この特徴ベクトルとサンプル事象の望ましい認識結果とから決定木を生成し、決定木に従って各センサノードの機能を選択し、選択した機能を各センサノード１に通知するようにしたので、事象の認識にとって重要な最低限必要なセンシングノードとセンシングを行わない中継ノードとを特定することが可能となる。したがって、本実施の形態では、認識したい事象の例を予め学習用のサンプル事象として与えて、事象認識システムを学習させ、決定木を生成させるようにすれば、事象認識システムが事象の認識にとって重要な最低限必要なセンシングノードを自動的に選択するので、人の行動パターンなどの変化する事象に対応することができる。また、本実施の形態では、センシング能力を犠牲にすることなく最小限のセンサノードによるセンサネットワークを構成することが可能となる。
【００５３】
なお、センサネットワークの再構成は、学習時だけでなく、学習後の動作においても同様に実行するようにしてもよい。
例えば、各センサノード１のコスト決定部２０は、一定時間毎に自ノードの最新の通信コストと最新のセンシングコストを決定し、この通信コストとセンシングコストをコスト通知部２１が無線送信する。各センサノード１の中継ノード選択部２２は、サーバ６までの直通の無線通信路を確保できない場合、無線通信範囲内にある他のセンサノード１から受信した最新の通信コストと最新のセンシングコストに基づいて中継ノードを選択し直す。これにより、最新の通信状況やセンサノード１の最新のリソースに応じて、センサネットワークを再構成することができる。
【００５４】
また、本実施の形態では、事象認識システムで認識する事象として、ユーザの行動を挙げたが、これに限るものではなく、例えば室内の状態などの環境の状態を、認識する事象としてもよい。
【産業上の利用可能性】
【００５５】
本発明は、複数のセンサノードを利用して事象を認識する技術に適用することができる。
【図面の簡単な説明】
【００５６】
【図１】本発明の実施の形態に係るセンサノードの構成を示すブロック図である。
【図２】本発明の実施の形態に係るサーバの構成を示すブロック図である。
【図３】本発明の実施の形態に係る事象認識システムの構成を示す図である。
【図４】本発明の実施の形態においてサーバのＣＰＵによって実現される機能手段を示すブロック図である。
【図５】本発明の実施の形態におけるセンサノードの配置例を表す平面図である。
【図６】本発明の実施の形態に係るサーバの学習時の動作を示すフローチャートである。
【図７】本発明の実施の形態におけるセンサノードの検出例を示す図である。
【図８】本発明の実施の形態におけるセンサ検出ベクトルの例を示す図である。
【図９】本発明の実施の形態における決定木の例を示す図である。
【図１０】本発明の実施の形態においてセンサノードのＣＰＵによって実現される機能手段を示すブロック図である。
【図１１】本発明の実施の形態においてセンサネットワークを再構成する動作の１例を示す図である。
【図１２】本発明の実施の形態においてセンサネットワークを再構成する動作の別の例を示す図である。
【符号の説明】
【００５７】
１…センサノード、２…状態測定用センサ、３…無線通信機能モジュール、４…メモリ、５…ＣＰＵ、６…サーバ、７…メモリ、８…ＣＰＵ、９…センサノード用送受信器、１０…通信インタフェース、１２…センサノード制御部、１３…データベース、１４…事象認識部、１５…決定木生成部、１６…センサノード機能選択部、１７…センサノード機能通知部、１８…センサデータ送信部、１９…機能設定部、２０…コスト決定部、２１…コスト通知部、２２…中継ノード選択部、２３…データ中継部。
【図１】
0005026324.tif 000002
【図２】
0005026324.tif 000003
【図３】
0005026324.tif 000004
【図５】
0005026324.tif 000005
【図６】
0005026324.tif 000006
【図７】
0005026324.tif 000007
【図８】
0005026324.tif 000008
【図９】
0005026324.tif 000009
【図１０】
0005026324.tif 000010
【図１１】
0005026324.tif 000011
【図１２】
0005026324.tif 000012
【図４】
0005026324.tif 000013