以下の説明では、「インターフェース部」は、一以上のインターフェースで良い。当該一以上のインターフェースは、ユーザインターフェース部と、通信インターフェース部とのうちの少なくとも通信インターフェース部を含んで良い。ユーザインターフェース部は、一以上のI/Oデバイス(例えば入力デバイス(例えばキーボードおよびポインティングデバイス)と出力デバイス(例えば表示デバイス))と表示用計算機とのうちの少なくとも一つのI/Oデバイスでも良いし、それに代えてまたは加えて、当該少なくとも一つのI/Oデバイスに対するインターフェースデバイスでも良い。通信インターフェース部は、一以上の通信インターフェースデバイスで良い。一以上の通信インターフェースデバイスは、一以上の同種の通信インターフェースデバイス(例えば一以上のNIC(Network Interface Card))であっても良いし2以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であっても良い。
また、以下の説明では、「メモリ部」は、一以上のメモリであり、典型的には主記憶デバイスで良い。メモリ部における少なくとも一つのメモリは、揮発性メモリであっても良いし不揮発性メモリであっても良い。
また、以下の説明では、「PDEV部」は、一以上のPDEVであり、典型的には補助記憶デバイスで良い。「PDEV」は、物理的な記憶デバイス(Physical storage DEVice)を意味し、典型的には、不揮発性の記憶デバイス、例えばHDD(Hard Disk Drive)またはSSD(Solid State Drive)である。
また、以下の説明では、「プロセッサ部」は、一以上のプロセッサである。少なくとも一つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサであるが、GPU(Graphics Processing Unit)のような他種のプロセッサでも良い。少なくとも一つのプロセッサは、シングルコアでも良いしマルチコアでも良い。少なくとも一つのプロセッサは、処理の一部または全部を行うハードウェア回路(例えばFPGA(Field-Programmable Gate Array)またはASIC(Application Specific Integrated Circuit))といった広義のプロセッサでも良い。
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ部によって実行されることで、定められた処理を、適宜に記憶部および/またはインターフェース部等を用いながら行うため、処理の主語が、プロセッサ部(或いは、そのプロセッサ部を有するコントローラのようなデバイス)とされても良い。プログラムは、プログラムソースから計算機のような装置にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な(例えば非一時的な)記録媒体であっても良い。また、以下の説明において、二以上のプログラムが一つのプログラムとして実現されても良いし、一つのプログラムが二以上のプログラムとして実現されても良い。
また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号のうちの共通符号を使用し、同種の要素を区別して説明する場合は、参照符号を使用することがある。例えば、カメラを特に区別しないで説明する場合には、「カメラ809」と記載し、個々のカメラを区別して説明する場合には、「カメラ809A」、「カメラ809B」のように記載することがある。
また、以下の説明では、「データセット」とは、アプリケーションプログラムのようなプログラムから見た1つの論理的な電子データの塊であり、例えば、レコード、ファイル、キーバリューペアおよびタプルのうちのいずれでも良い。
本発明の第一の実施例を図1から図15を用いて説明する。
図1は、本発明の第一の実施例に係るシステムの構成図である。
図1において、参照符号101は、対象となる移動体の周囲の環境を示すデータである移動体環境データを取得するための移動体環境取得装置を示す。参照符号102は、対象となる建物内の環境を示すデータである建物環境データを取得するための建物環境取得装置を示す。参照符号103は、対象となる移動体の建物内における移動経路を推定するための移動経路推定装置を示す。参照符号104は、移動体環境取得装置101および建物環境取得装置102から取得されたデータに基づいて、移動経路推定装置103において推定された移動体の移動経路に対して移動体の識別子を付与する移動経路特定装置を示す。参照符号105は、移動体環境取得装置101、建物環境取得装置102、移動経路推定装置103および移動経路特定装置104の間における通信を行うためのネットワークを示す。ネットワーク105は、有線および無線のいずれのネットワークでも良い。あるいは、ネットワーク105は、有線ネットワークと無線ネットワークが混在している構成でも良い。また、移動体環境取得装置101、建物環境取得装置102および移動経路推定装置103の少なくとも1つは、複数存在しても良い。
装置101〜104の少なくとも一つは、一以上の物理的な計算機で良い。物理的な計算機は、汎用計算機でも専用計算機でも良い。少なくとも一つの物理的な計算機において、1以上の仮想的な計算機(例えばVM(Virtual Machine))が実行されても良い。また、装置101〜104の少なくとも1つは、一以上の物理計算機(例えばクラウド基盤)の各々にインストールされた所定のソフトウェアが実行されることにより実現されるソフトウェアディファインドの装置でも良い。ネットワーク105の少なくとも一部は仮想的なネットワークでも良い。
図2は、移動体環境取得装置101の構成図を示す。
図2における参照符号201は、移動体環境取得装置101における各プログラムを実行するためのデータ処理装置(プロセッサ部の一例)を示す。参照符号202は、データ取得の開始や終了等を制御するためのキーボード、ボタン、マウスあるいはタッチパネル等の入力装置を示す。参照符号203は、移動体環境取得装置101における状況を表示するためのディスプレイやLED(Light Emitting Diode)等の出力装置を示す。また、参照符号204は、一以上のセンサであるセンサ群を示す。本実施例では、センサ群204は、複数のセンサであるとする。当該複数のセンサの各々は、環境に関する値を測定する環境センサである。当該複数の環境センサは、一種類のセンサでも複数種類のセンサでも良い。センサ群204は、温度、湿度、CO2や揮発性有機化合物などのガス濃度、雑音レベル、照度、振動レベル、粒子濃度、放射線レベル等のうちの少なくとも1つを測定して良い。センサ群204の少なくとも一部は、移動体環境取得装置101の外に存在しても良い。また、センサ群204と移動体環境取得装置101との接続は有線接続でも無線接続でも良い。図2において、参照符号205は、移動体環境データ209中のセンサデータを移動経路特定装置104に送信するといった通信のための通信装置(インターフェース部の一例)を示す。通信装置205は、有線および無線のいずれでデータを送信しても良いが、移動体環境取得装置101は移動体に装着して使用されるため、通信装置205は、無線通信装置であることが望ましい。参照符号206は、移動体環境取得装置101における各プログラムを格納するための記憶装置(記憶部の一例)を示す。記憶装置206には、センサデータ取得プログラム207および通信プログラム208が格納され、また、移動体環境データ209も格納される。また、参照符号209は、取得されたセンサデータを含む移動体環境データを示す。移動体環境データ209は、センサ群204を構成するセンサ毎に、センサデータを含む。以下、移動体環境データ209におけるセンサデータを「移動体センサデータ」と言うことができる。センサと移動体センサデータは、例えば1:1で対応する。移動体センサデータは、時系列の移動体センサデータセット(センサ値を含んだデータセット)で良い。
図2によれば、データ処理装置201に、入力装置202、出力装置203、センサ群204、通信装置205および記憶装置206が接続される。データ処理装置201が、プログラム207および208を実行する。
図3は、センサデータ取得プログラム207によって実行される処理の流れ図である。
図3では、複数のセンサが使用されることを想定しており、ステップ301において、センサ取得プログラム207は、複数のセンサのうち移動体センサデータを取得する対象となるセンサを一つ選択する。選択は、全てのセンサに対して均等に移動体センサデータの取得が行われるような選択(例えば、ラウンドロビン)である。
ステップ302では、センサデータ取得プログラム207は、選択したセンサから有効な移動体センサデータ(例えば、当該センサにおいてアップデートが済んだ移動体センサデータ)が取得可能であるかどうかを判定する。有効な移動体センサデータが取得可能な場合は処理がステップ303に進み、有効な移動体センサデータが取得可能でない場合は処理がステップ301に戻る。
ステップ303では、センサデータ取得プログラム207は、選択されたセンサから有効な移動体センサデータを全て取得する。ステップ304において、センサデータ取得プログラム207は、取得した移動体センサデータを移動体環境データ209に保存する(含める)。ステップ305では、センサデータ取得プログラム207は、入力装置202を用いた利用者からの終了指示があるかどうかを判定する。終了指示がある場合は処理が終了し、終了指示が無い場合は処理がステップ301に戻る。なお、「終了指示がある」ことは、センサ取得プログラム207によって実行される処理の終了イベントの一例で良い。
図2における通信プログラム208は、移動体環境取得装置101から移動経路特定装置104へ移動体環境データ209に保存されている移動体センサデータを送信するプログラムである。通信プログラム208は、移動体環境データ209に、センサデータ取得プログラム207によって新たに取得された移動体センサデータが存在する場合、それらの移動体センサデータを移動経路特定装置104へ送信する。送信するタイミングは、新たに取得されたセンサデータの存在が通信プログラム208により特定された時点でも良いし、あるいは、通信プログラム208は、あらかじめ定められた周期で移動体センサデータの特定および送信を実行するようにしても良い。あるいは、通信プログラム208は、新しく取得された移動体センサデータの総量があらかじめ定められたデータ量を超えた時点で、それらの移動体センサデータを移動経路特定装置104に送信するようにしても良い。また、通信プログラム208は、入力装置202を用いて利用者から送信指示を受けた場合に未送信の移動体センサデータを送信するようにしても良い。
図4は、通信プログラム208によって移動体環境取得装置101から移動経路特定装置104へ送信される移動体センサデータのフォーマットの一例を示す図である。
図4において、移動体センサデータは、装置識別子401、センサ識別子402、データセット数403、取得日時404及び取得値405といった複数のデータ要素を含む。
装置識別子401は、移動体環境取得装置101が複数存在する場合に、いずれの移動体環境取得装置101であるかを区別するために、移動体環境取得装置に付与された識別子である。装置識別子401は、一つ以上の数字、文字、記号等を任意に組み合わせた列を用いることができる。装置識別子401としては、少なくとも、対象となる建物内で使用する全ての移動体環境取得装置101において唯一の識別子となるように定義する。また、一つの移動体に対して一つのみの移動体環境取得装置101を設置することにより、装置識別子401は移動体の識別子としても利用することが可能である。あるいは、移動体の識別子を特定するために、別途、移動体の識別子と装置識別子の対応表を使用するようにしても良い。
図4において、センサ識別子402は、移動体環境取得装置101に接続されたどのセンサから取得されたデータであるかを示す識別子、データセット数403は、送信される移動体センサデータを構成する移動体センサデータセット(ここでは、取得日時404と取得値405との組)の個数を示す数値である。センサ識別子402は、一つ以上の数字、文字、記号等を任意に組み合わせた列を用いることができる。また、センサ識別子402としては、各々の移動体環境取得装置101で定めたものを用いることもできるし、あるいは、全ての移動体環境取得装置101において唯一のセンサ識別子を定義して用いることもできる。さらには、センサの種類毎に定義した共通部分と各センサに固有の部分とを含むセンサ識別子が用いられても良い。
図4におけるデータ要素404および405の組が、送信されるセンサデータセットである。取得日時404は、値が取得(測定)された日時を示す。取得値405は、センサから取得された値(センサ値)を示す。取得値405は、数値あるいは記号により表現されるが、含まれる数値や記号の数はセンサの種類に応じて決定される。
上記の説明では、センサデータ取得プログラム207と通信プログラム208は、独立して実行されるという想定であるが、逐次的に実行されるようにしても良い。すなわち、センサデータ取得プログラム207が一つのセンサから移動体センサデータを取得した場合、通信プログラム208は取得された移動体センサデータを移動経路特定装置104へ送信しても良い。あるいは、センサデータ取得プログラム207が全てのセンサの各々から一回ずつ移動体センサデータの取得を試みた後、通信プログラム208は取得された移動体センサデータを移動経路特定装置104へ送信するようにしても良い。
建物環境取得装置102の構成は、移動体環境取得装置101の構成と同様の構成で実現することができる。建物環境取得装置102は、あらかじめ定められた配置で建物内のあらかじめ定められた箇所に固定して配置されることを想定している。建物環境取得装置102に接続されるセンサの数および種類は、移動体環境取得装置101に接続されるセンサと同じであっても異なっていても良い。なお、建物環境取得装置102の記憶装置には、移動体環境データ209に代えて建物環境データが保存される。建物環境データは、建物環境取得装置102が有するセンサ毎に、センサデータを含む。以下、建物環境データにおけるセンサデータを、「建物センサデータ」と言い、建物環境センサデータ内のデータセット(取得日時と取得値との組)を、「環境センサデータセット」と言うことができる。建物環境取得装置102では、建物センサデータについて、図3の処理が行われ、建物環境データにおける建物センサデータが、建物環境取得装置102から移動経路特定装置104に送信される。
図5は、移動経路推定装置103の構成図を示す。
本実施例において、移動経路推定装置103は、監視カメラ等から取得した映像から移動体の移動経路を推定することを前提とした構成となっている。図5における参照符号501は、移動経路推定装置103における各プログラムを実行するためのデータ処理装置(プロセッサ部の一例)を示す。参照符号502は、データ取得の開始や終了等を制御するためのキーボード、ボタン、マウスあるいはタッチパネル等の入力装置を示す。参照符号503は、移動経路推定装置103における状況を表示するためのディスプレイやLED等の出力装置を示す。また、参照符号504は、移動体を含む建物内の映像を取得するためのカメラ群を示す。移動体の移動経路を特定する必要がある建物内の全領域を撮影できるように、カメラ群504は、複数台のカメラであるが、カメラ群504は、一台のカメラでも良い。また、カメラ群504は、移動経路推定装置103に、直接接続されても良いし、有線あるいは無線のネットワークを介して接続されても良い。図5において、参照符号505は、移動体の推定経路データ511を移動経路特定装置104に送信するための通信装置(インターフェース部の一例)を示す。通信装置505は、有線および無線のいずれでデータを送信しても良い。参照符号506は、移動経路推定装置103における各プログラムを格納するための記憶装置(記憶部の一例)を示す。記憶装置506には、カメラ画像取得プログラム507、移動経路推定プログラム508および通信プログラム509が格納される。また、参照符号510は、カメラ画像取得プログラム507によって取得された1または複数の画像(カメラ画像)であるカメラ画像群を示す。参照符号511は、移動経路推定プログラム508によって推定された移動経路毎の移動経路データを含んだデータベース(移動経路データベース)を示す。カメラ画像群510および移動経路データベース511も、記憶装置506に格納される。
図6は、カメラ画像取得プログラム507によって実行される処理の流れ図である。
図6では、複数台のカメラが使用されることを想定しており、ステップ601において、カメラ画像取得プログラム507は、画像を取得する対象となるカメラを一つ選択する。選択は、全てのカメラに対して均等に画像の取得が行われるような選択(例えば、ラウンドロビン)である。
ステップ602では、カメラ画像取得プログラム507は、選択されたカメラから画像を取得する。ステップ603において、カメラ画像取得プログラム507は、取得した画像をカメラ画像510に保存する(含める)。ステップ604では、カメラ画像取得プログラム507は、入力装置502を用いた利用者からの終了指示があるかどうかを判定する。終了指示がある場合は処理が終了し、終了指示が無い場合は処理がステップ601に戻る。なお、「終了指示がある」ことは、カメラ画像取得プログラム507によって実行される処理の終了イベントの一例で良い。
移動経路推定プログラム508は、カメラ画像510に保存されている画像を解析することにより、画像中の移動体を検出し、検出した移動体を追跡することにより、移動体の移動経路を推定する処理を実行するためのプログラムである。移動経路としては、特に、移動体が建物内の床面上をどのように移動したかを表す経路、すなわち、建物のフロアレイアウト上の移動経路を推定することを想定する。このような移動経路の推定を行う方法としては、特定のカメラから取得された画像列をカメラ画像群510から読み出し、例えば、「特許第6182607号、”映像監視システム、監視装置”」に開示の技術を用いることで、推定することができる。「特許第6182607号」を用いることにより、複数のカメラから推定した移動経路を統合し、一枚のフロアレイアウト上における移動経路として取得することが可能である。移動経路推定プログラム508としては、上記以外にも、カメラ画像列から移動体を検出し、追跡する手法であれば、どのような手法を用いても良い。この場合、複数のカメラ画像から推定した移動経路に対しては、移動経路として移動体が床面と接する箇所の移動経路を求め、さらに、各カメラ画像中の床面とフロアレイアウトとの対応点を4点以上求め、よく知られた平面射影変換を用いることにより、各カメラ画像から推定した移動経路を一枚のフロアレイアウト上における移動経路に変換し、取得することができる。カメラ画像中の床面とフロアレイアウトとの対応点は、目視で対応する箇所を確認し、手動で対応箇所の座標値を確認することにより求めることができる。移動経路推定プログラム508は、推定した移動経路を示す移動経路データを移動経路データベース511に格納する。
図5における通信プログラム509は、移動経路推定装置103から移動経路特定装置104へ移動経路データを送信する処理を実行するプログラムである。通信プログラム509は、移動経路データベース511に、移動経路推定プログラム508によって新たに取得された移動経路データが存在する場合、それらの移動経路データを移動経路特定装置104へ送信する。送信するタイミングは、新たに取得された移動経路データの存在が特定された時点でも良いし、あるいは、通信プログラム509は、あらかじめ定められた周期で移動経路データの特定および送信を実行するようにしても良い。あるいは、通信プログラム509は、新しく取得された移動経路データの総量があらかじめ定められたデータ量を超えた時点で、それらの移動経路データを移動経路特定装置104に送信するようにしても良い。また、通信プログラム509は、入力装置502を用いて利用者から送信指示を受けた場合に未送信の移動経路データを送信するようにしても良い。
図7は、通信プログラム509によって移動経路推定装置103から移動経路特定装置104へ送信される移動経路データのフォーマットの一例を示す図である。
図7において、移動経路データは、装置識別子701、センサ識別子702、データセット数703、撮影日時704及び位置座標705といった複数のデータ要素を含む。
装置識別子701は、移動経路推定装置103が複数存在する場合に、いずれの移動経路推定装置103であるかを区別するために、移動経路推定装置103に付与された識別子である。装置識別子701は、一つ以上の数字、文字、記号等を任意に組み合わせた列を用いることができる。装置識別子701としては、少なくとも、対象となる建物内で使用する全ての移動経路推定装置において唯一の識別子となるように定義する。
移動経路識別子702は、一つの移動経路推定装置103内で検出された各移動経路(推定された移動経路)に付与される識別子である。移動経路識別子702は、一つ以上の数字、文字、記号等を任意に組み合わせた列を用いることができる。移動経路識別子702としては、少なくとも、対象となる移動経路推定装置103内で唯一の識別子となるように定義する。あるいは、全ての移動経路推定装置103において、唯一の識別子となるように定義することもできる。この場合、装置識別子701を省略することも可能である。
データセット数703は、移動経路データに含まれる座標データセットの数を表す数値である。移動経路データは、通常、フロアレイアウト上の点をあらわす座標データセットの時系列データとして表されるため、データセット数703は推定された移動経路の長さに相当する。撮影日時704および位置座標705の組が、座標データセットである。撮影日時704は、座標データセットの基となる画像の撮影日時を示す。位置座標705は、フロアレイアウト上の点を表す場合は、二次元の実数値あるいは整数値によって表される。また、複数のフロアが存在する場合は、位置座標705は、三次元の実数値あるいは整数値によって表されても良いし、どのフロアかを示す値を含んでも良い。
上記の説明では、カメラ画像取得プログラム507、移動経路推定プログラム508および通信プログラム509は、独立して実行されるという想定であるが、逐次的に実行されるようにしても良い。すなわち、カメラ画像取得プログラム507が画像を取得しながら移動経路推定プログラム508が移動経路の推定を行い、移動経路推定プログラム508が一つの移動経路の推定を完了した場合、通信プログラム509は推定された移動経路データを移動経路特定装置104へ送信するようにしても良い。
図8は、移動体環境取得装置101、建物環境取得装置102および移動経路推定装置103が使用される状況の一例を示す図である。
図8において、参照符号801は、移動体が移動する建物のフロアを示す。参照符号802は、フロア上を移動する移動体を示す。移動体802は、図8の例では、人物であると想定している。移動体802としては、人物以外の例えば、ロボットなどのフロア上を移動する物であれば何でも良い。
移動体802に、移動体環境取得装置101が装着されている。一つの移動体802に対して一つの移動体環境取得装置101が装着される。移動体802は複数存在しても良い。
複数の建物環境取得装置102(例えば102A〜102E)が、あらかじめ定められた間隔で建物内に配置される。建物環境取得装置102の間の間隔は均等である必要は無く、場所によって間隔が異なっていても良い。図8において建物環境取得装置102は、建物の壁に設置されている想定であるが、フロアや柱、フロア上に存在する設備などに設置されていても良い。あるいは建物環境取得装置102は、建物の天井に設置されていても良い。
移動経路推定装置103に接続されるカメラ群504を構成する複数のカメラ809(例えば809A〜809C)が設置されている。複数のカメラ809は、移動体802の移動範囲を全て撮影できるような配置と方向となるように設置される。
図8において、移動体環境取得装置101は移動経路特定装置104に無線接続されると想定している。また、建物環境取得装置102と移動経路特定装置104の接続、およびカメラ809と移動経路推定装置103との接続は、有線接続あるいは無線接続のいずれでも良い。
図9は、移動経路特定装置104の構成図を示す。
図9における参照符号901は、移動経路特定装置104における各プログラムを実行するためのデータ処理装置(プロセッサ部の一例)を示す。参照符号902は、処理の開始や終了等を制御するためのキーボード、ボタン、マウスあるいはタッチパネル等の入力装置を示す。参照符号303は、移動経路特定装置104による処理の状況や結果を表示するためのディスプレイ等の出力装置を示す。図9において参照符号904は、移動経路特定装置104で実行される各プログラムを格納するための記憶装置(記憶部の一例)を示す。記憶装置904には、通信プログラム905、環境データ予測プログラム906および移動経路特定プログラム907が格納されている。また、参照符号908は、移動体環境取得装置101から受信した移動体環境データを含む移動体環境データベースを示す。参照符号909は、建物環境取得装置102から受信した建物環境データを含む建物環境データベースを示す。参照符号910は、移動経路推定装置103から受信した移動経路データを含む移動経路データベースを示す。参照符号911は、移動体経路データに対応する移動体の特定結果を示す移動体特定結果データを保存する移動体特定結果データベースを示す。データベース908〜911も、記憶装置904に格納される。
図9における通信プログラム905は、移動体環境取得装置101、建物環境取得装置102および移動経路推定装置103の各々からデータを受信し、受信したデータを、そのデータに対応する保存先(移動体環境データベース908、建物環境データベース909および移動経路データベース910のいずれか)に保存する(含める)。
移動体環境データベース908に保存される移動体環境データのフォーマットは、図4と同じフォーマットである。建物環境データベース909に保存される建物環境データのフォーマットも、図4と同じフォーマットである。移動体環境データおよび建物環境データのいずれについても、装置識別子401およびセンサ識別子402は、取得日時404が適切な順序になるように、一つにまとめて保存することができる。あるいは、半日分をまとめて保存する、一日分をまとめて保存するなど、あらかじめ定めた時間単位でまとめて保存されても良い。
移動経路データベース910に保存される移動経路データのフォーマットは、図7と同じフォーマットである。このため、通信プログラム905は、移動経路推定装置103から受信した移動経路データをそのまま移動経路データベース910に保存するようにすればよい。あるいは、ある移動経路データの終了時の位置座標705や撮影日時704などと、別の移動経路データの開始時の位置座標705や撮影日時704などがあらかじめ定められた範囲内にある場合に、それらの移動経路データを撮影日時704が適切な順序になるようにそれらの移動経路データを一つにまとめて保存する(言い換えれば、分離した二以上の移動経路を一つの移動経路とした移動経路データを保存する)ようにしても良い。
図10は、環境データ予測プログラム906によって実行される処理の流れ図である。
環境データ予測プログラム906は、建物環境データベース909および移動経路データベース910を用いて、移動経路データが示す経路上を移動体が移動した場合に取得される移動体環境データを予測するプログラムである。
図10におけるステップ1001では、環境データ予測プログラム906は、移動経路データベース910の中から、移動体環境データが予測されていない移動経路データを一つ選択する。これは、例えば、環境データ予測プログラム906は、移動経路推定装置103から新たに受信した移動経路データの中から選択すれば良い。
ステップ1002では、環境データ予測プログラム906は、選択された移動経路データ中の座標データセット(撮影日時704および位置座標705の組)を一つ選択するする。座標データセットは、移動経路データにおける並び順に、あるいは、撮影日時704の順に、選択されて良い。
ステップ1003では、環境データ予測プログラム906は、ステップ1002で選択された座標データセットが移動経路データの最後の座標データセットであるかどうか(次のステップ1002において選択可能な撮影日時704および位置座標705が無いかどうか)を判定する。選択する撮影日時704および位置座標705が存在した場合は処理がステップ1003に進み、そうでない場合は処理がステップ1007に進む。
ステップ1004では、環境データ予測プログラム906は、ステップ1002で選択した撮影日時704と同じ取得日時の建物センサデータセットを建物環境データベース909から取得する。ステップ1004では、例えば、環境データ予測プログラム906は、選択した撮影日時704と同じ取得日時が建物センサデータ中にある場合に、その取得日時を含んだ建物センサデータセット内の取得値を選択すれば良い。あるいは、選択した撮影日時704と同じ取得日時が建物センサデータ中に無い場合は、環境データ予測プログラム906は、その撮影日時704と最も近い取得日時を含んだ建物センサデータセットを選択し、その建物センサデータセット内の取得値を選択するようにしても良い。あるいは、環境データ予測プログラム906は、選択した撮影日時704を間に挟む関係となる二つの取得日時を建物センサデータから選択し、選択した二つの取得日時をそれぞれ含む二つの環境センサデータセットがそれぞれ有する二つの取得値から、線形補間法などのよく知られているデータの補間方法を用いることにより、選択した撮影日時704に対応する取得値(建物センサデータセット)を計算するようにしても良い。ステップ1004では、上記の処理により、全ての建物環境取得装置102の各々の建物環境データベース909から、推定経路データの撮影日時704に対応する建物センサデータセットを取得し、取得した環境センサデータセットを記憶装置904に保存する。
ステップ1005では、環境データ予測プログラム906は、ステップ1004で取得した建物センサデータセットから、ステップ1002で選択した位置座標705に対応する建物センサデータセットを推定し、推定した建物センサデータセットを、その位置座標705が示す座標位置上に移動体が存在した場合に取得されると予測される移動体センサデータセットとする。図11を用いて、移動体センサデータセットの予測方法を説明する。
図11において、参照符号1101は、移動体が移動すると想定される建物のフロアを真上から見た様子を示している。建物内には、図11にも示すように、複数の建物環境取得装置102(例えば102A〜102L)が設置されている。また、参照1114は、移動経路推定装置103によって推定された移動経路(移動体の推定された移動経路)の一つを示す。
ここで、移動経路上の対象座標位置(ステップ1002で選択した位置座標705が示す座標位置)に対応する建物センサデータセット(特に取得値)は、例えば次のようにして推定されて良い。すなわち、環境データ予測プログラム906は、移動経路上の対象座標位置に近い建物環境取得装置102をあらかじめ定められた個数選択し、ステップ1004で取得された建物センサデータの内、選択した建物環境取得装置102に対応する建物センサデータを選択する。環境データ予測プログラム906は、選択した建物環境取得装置102と移動経路上の対象座標位置との位置関係に基づいて、選択した建物センサデータセットの取得値を補間する。これにより、推定経路上の対象座標位置に対応する建物センサデータセットが推定される。データの補間方法は一般に利用される方法を使用することができる。例えば、建物環境取得装置102が図11に示すように配置されており、位置座標に最も近い4つの建物環境取得装置を選択すると定めた場合は、推定経路上の座標位置1115について、環境データ予測プログラム906は、座標位置1115に最も近い建物環境取得装置102B、102C、102Fおよび102Gを選択し、最近傍補間法やバイリニア補間法などの一般に良く知られた方法を用いることにより、移動経路上の座標位置に対する建物センサデータセットを推定することができる。建物環境取得装置の配置が図11に示すような碁盤状で無い場合は、例えば、座標位置に最も近い建物環境取得装置102から取得された建物センサデータセットを選択する方法や、各建物環境取得装置102までの距離の比を重みとして各建物環境取得装置102からの建物センサデータセット中の取得値を合計して求める方法などを用いることができる。
再び図10を参照する。ステップ1006では、環境データ予測プログラム906は、推定された建物センサデータセットを、移動経路データに対する予測移動体環境データの一部として記憶装置904に保存する。そして、処理がステップ1002に戻る。
記憶装置904に保存される予測移動体環境データのフォーマットの一例を図12に示す。
図12において、予測移動体環境データは、装置識別子1201、移動経路識別子1202、データセット数1203、センサ数1204、日時1205、センサ識別子1206およびセンサ予測値1207を含む。
装置識別子1201、移動経路識別子1202およびデータセット数1203は、ステップ1001において選択された移動経路データに含まれている装置識別子701、移動経路識別子702およびデータセット数703とそれぞれ同じである。センサ数1204は、建物環境取得装置102に接続されているセンサの数と同じである。上述したステップ1004の処理において、全てのセンサに関するセンサデータが収集されるため、その結果に基づいてセンサの数を求め、センサ数1204として保存されれば良い。
予測移動体環境データにおいて、複数の予測データセットが記録される。各予測データセットは、移動体経路データの各撮影日時704の位置座標705に対応するように記録される。各予測データセットが、撮影日時1205と、1以上の予測サブデータセットを含む。撮影日時1205は、選択された撮影日時704と同じである。各予測サブデータセットが、センサ識別子1206およびセンサ予測値1207の組である。センサ識別子1206は、データがどのセンサに関するデータであるかを示す識別子であり、例えば、センサ識別子402と同じである。センサ予測値1207は、センサの取得値として予測された値であり、例えば、取得値405に基づいて予測された値である。
図12によれば、予測移動体環境データは、推定された移動経路に沿って移動をした移動体に装着されている移動体環境取得装置101の各センサの予測された時系列のセンサ値を含む。図12に示すフォーマットでは、センサ数が全ての撮影日時において同じであると想定しているが、建物環境取得装置102に接続されるセンサが設置場所によって異なる場合は、移動体の位置座標に対応する撮影日時によって、推定されるセンサ数が異なることも想定される。このような場合は、図12に示すフォーマットにおいて、各撮影日時に対応するデータにセンサ数が含まれれば良い。例えば、撮影日時1205の前後いずれかにセンサ数をそれぞれ挿入すればよい。
さて、図10において、テップ1007では、環境データ予測プログラム906は、入力装置902を用いた利用者からの終了指示があるかどうかを判定する。終了指示がある場合は処理が終了し、終了指示が無い場合は処理がステップ1001に戻る。なお、「終了指示がある」ことは、環境データ予測プログラム906によって実行される処理の終了イベントの一例で良い。
図9における移動経路特定プログラム907は、各移動経路データについて、環境データ予測プログラム906によって得られた予測移動体環境データと、移動体環境取得装置101毎の移動体環境データとを用いて、当該移動経路データに対応する移動体を特定するプログラムである。図13を用いて、移動経路データに対する移動体を特定する処理を説明する。
図13において、参照符号1301は、環境データ予測プログラム906によって得られた予測移動体環境データを示す。予測移動体環境データ1301によれば、各センサの時系列の予測値(予測された取得値)がグラフで表現されている。予測移動体環境データ1301では、横軸を時間、縦軸を予測値である。
一方、参照符号1302は、移動体環境取得装置101から取得された移動体環境データのうちの、予測移動体環境データの時間範囲(例えば、最先の撮影日時と最後の撮影日時間の範囲)に対応した部分としての移動体環境データを示す。移動体環境データ1302によれば、予測移動体環境データ1301と同様に、各センサの時系列の取得値がグラフで表現されている。移動経路特定プログラム907は、移動体環境データから、予測移動体環境データ1301における各撮影日時に対応する取得日時と組をなす取得値を抽出し、装置識別子401が同じ取得値を図12に示すフォーマットと同様のフォーマットにまとめることにより取得することができる。移動経路特定プログラム907は、各移動体の移動体環境データ1302について、予測移動体環境データ1301と当該移動体環境データ1302との類似度を求める。図13に示すように、データ1301および1302は、いずれも、多次元の時系列データであるため、それらのデータ間の類似度は、音声認識などの分野でよく知られているDPマッチング(動的計画法)などの手法を用いることで求めることができる。また、移動体環境データを表す多次元の時系列データから直接類似度を求める以外に、対象となる時系列データから特徴量を抽出し、抽出した特徴量に基づいて類似度を計算するようにしても良い。特徴量としては、時系列データを対象としたパターン認識技術において広く利用されている特徴量であれば、どのようなものでも使用することができる。例えば、元の時系列データを微分して得られる時系列データ、各日時あるいは定められた期間におけるデータ値の変化を閾値などに基づいて分類した結果の列、時系列データに対して周波数分析を行い各周波数成分の大きさで表した時系列データなどを用いることができる。時系列データから抽出した特徴量を用いることにより、移動と停止の順番、長さおよびタイミングのみに着目した類似度の算出が可能となり、異なる種類のデータ、例えば、温度変化とカメラ上の位置などのように、異なる種類のデータから直接類似度を求めることが可能となる。
移動経路特定プログラム907は、各移動体の移動体環境データ1302について、予測移動体環境データ1301と移動体環境データ1302との類似度を求めた後、求めた類似度が最も大きい移動体環境データに対応する移動体を、予測移動体環境データ1301に対応する移動経路データに対応付ける。図13の参照符号1304は、グラフを示す。グラフ1304に関し、横軸は移動体、縦軸は類似度である。グラフ1304において、予測移動体環境データ1301と移動体2の移動体環境データとの類似度が最も大きいため、移動経路特定プログラム907は、予測移動体環境データ1301に対応する移動経路データは、移動体2の移動経路データであると特定する。以上の処理では、移動経路データに対する予測移動体環境データと、移動体環境取得装置101の移動体環境データとの類似度を求めることを想定しているが、それに代えてまたは加えて、移動経路特定プログラム907は、両者の差分を求めるようにしても良い。その場合は、移動経路特定プログラム907は、差分が最も小さい移動体環境データに対応する移動体を、予測移動体環境データに対応する移動経路データに対応付ければ良い。
特徴量として、各日時において値(取得値または予測値)の近さに応じて移動体をグループ分けした結果なども用いることができる。グループ分けを行う方法としては、Nearest Neighber法やMean Shift法など、クラスタリング手法として一般的に利用されている方法を使用することができる。この場合は、各日時において、当該日時に対応する取得日時とそれぞれ組を成す複数の取得値をグループ分けした結果としての一以上の取得値グループと、当該日時に対応する撮影日時とそれぞれ組を成す複数の位置座標をグループ分けした結果としての一以上の位置座標グループとを、時間経過に沿って比較することにより、どの移動体がどの移動経路に対応するかを推定することができる。この処理は、予測移動体環境データと類似した移動体環境データに対応している移動体は、当該予測移動体環境データに対応した移動経路データが示す移動経路上の座標位置に近い位置に存在している、という仮定に基づいた処理である。
例えば、移動体環境データをグループ分けした結果と移動経路データの位置座標をグループ化した結果が図14のように変化した場合を考える。グループ名につけられている番号または文字はグループが特定された順番につけられた通し番号または文字である。また、識別子A〜Eは、移動体環境取得装置101に付与された装置識別子としての移動体識別子、識別子a〜eは、移動経路データに付与された移動経路識別子である。以下、移動体識別子“A”に対応した移動体を「移動体A」と言い、移動経路識別子“a”に対応した移動経路を「移動経路a」と言う。また、図14において、日時2にグループ1に移動体Bが属するが、これは、日時2に対応した取得日時に取得されグループ1に属した値が移動体Bによって取得されたことを意味する。また、図14において、日時1にグループαに移動経路aが属するが、これは、日時1に対応した撮影日時に取得されグループαに属した座標位置が移動経路aに含まれていることを意味する。また、図14における「グループ」は、「クラスタ」と読み替えられてもよい。
図14の例によれば、移動経路特定プログラム907は、下記の規則(1)および(2)に従って、各移動経路について、当該移動経路に対応した移動体を特定し、当該移動経路と当該移動体とを対応付けることができる。
(1)属する移動体が一つである取得値グループが一つであり、属する移動経路が一つである位置座標グループも一つである場合、当該移動経路と当該移動体とが対応付く。
(2)或る取得値グループに複数の移動体が属しており、当該複数の移動体のうちの或る移動体が或る移動経路に対応付けられており、当該或る移動経路が或る位置座標グループに属しており、当該或る位置座標グループに複数の移動経路が属している場合、当該複数の移動体のいずれかが当該複数の移動経路のいずれかに対応付く。
以上の規則(1)および(2)によれば、図14について、例えば次のことが言える。
すなわち、日時1では、移動体が一つである取得値グループがグループ2のみであり、移動経路が一つである位置座標グループがグループβのみである。このため、規則(1)によれば、移動体Cとが移動経路aに対応付く。
日時2では、移動体が一つである取得値グループがグループ1のみであり、移動経路が一つである位置座標グループがグループγのみである。このため、規則(1)によれば、移動体Bと移動経路eが対応付く。さらに日時2では、移動体Cと移動経路aが既に対応付いているため、規則(2)によれば、移動体Cが属するグループ2に属する移動体Aが、移動経路aが属するグループβに属する移動経路cに対応付く。そして、グループ2に属する移動体は、既に対応付けが決まっている移動体Cを除けば、移動体Aの一つのみであり、同様に、グループβに属する移動経路は、既に対応付けが決まっている移動経路aを除けば、移動経路cの一つのみである。このため、規則(1)によれば、残りの移動体Aと移動経路cが対応付く。
さらに、日時3では、対応付けが決まっていない移動体は、移動体DおよびEであり、対応付けが決まっていない移動経路は、移動経路bおよびdである。移動体Dと同一グループ3に属する移動体Aは、グループαに属する移動経路cに対応付いており、移動体Eと同一グループ2に属する移動体Cは、グループγに属する移動経路aに対応付いている。このため、規則(1)および(2)によれば、移動体Dは、グループαに属する残りの移動経路bに対応付き、移動体Eは、グループγに属する残りの移動経路dに対応付く。
以上により、移動経路特定プログラム907は、移動体環境取得装置101に、移動経路推定装置103により検出された移動経路データを対応付けることができる。
移動経路データに対する移動体の特定が行われた結果は、移動体特定結果データ911に保存する。移動体特定結果データ911は、移動体と移動経路との組毎に、対応関係データを含む。図15に、対応関係データのフォーマットの一例を示す。図15において、対応関係データは、移動経路推定装置識別子1501、移動経路識別子1502および移動体識別子1503を含む。移動経路推定装置識別子1501および移動経路識別子1502は、対応する移動経路データを取得した移動経路推定装置103の識別子、およびそれによって推定された移動経路データの識別子であり、図7のフォーマットにおける装置識別子701および移動経路識別子702と同じものである。移動体識別子1503は、該当する移動経路データに対応するとして特定された移動体を示す識別子であり、図4における移動体環境取得装置101の装置識別子401と同じである。あるいは、移動体環境取得装置101の識別子と移動体の識別子の対応表を別途用意しておき、移動体環境取得装置101の識別子に対応した移動体の識別子が移動体識別子1503として記録されても良い。
また、上記の説明では、通信プログラム905、環境データ予測プログラム906および移動経路特定プログラム907は、独立して実行されるという想定であるが、逐次的に実行されるようにしても良い。すなわち、通信プログラム905が一つの移動経路データを取得した場合、取得した移動経路データに対して環境データ予測プログラム906および移動経路特定プログラム907の処理を実行し、取得された移動経路データに対する移動体を特定し、その結果を移動体特定結果データ911に保存する、という処理を繰り返すようにすることができる。この場合、移動経路データが取得される以前に、移動体の特定に必要な移動体環境データおよび建物環境データが全て取得されているようにする必要がある。
以上の説明では、建物環境取得装置102から取得される建物環境データベース909内の環境センサデータは、移動体環境取得装置101で使用されるセンサと同様のセンサを用いて取得されるという想定であったが、建物内において、センサで取得される値に影響を与える設備や装置の種類およびその位置があらかじめ明らかである場合、対象となる設備や装置がセンサに与える影響を示すモデル(建物環境モデル)を用いてセンサ値(センサデータセットにおける取得値)の補正が行なわれるようにしても良い。建物環境モデルには、センサに影響を与える設備や装置の建物内における位置や、設備や装置がセンサに影響を与える程度、範囲、方向などのデータが格納される。例えば、対象となる設備や装置が熱や有害成分などの発生源である場合、設備や装置からの距離に応じた温度分布や濃度分布などである。それらの建物環境モデルを、環境データ予測プログラム906が、図10におけるステップ1005において、建物環境取得装置102間における予測センサ値を求める際に、センサ値を補正するためのデータとして使用することもできる。例えば、隣り合う2つの建物環境取得装置AおよびBがあり、装置Aが取得したセンサ値(取得値)および装置Bが取得したセンサ値が同じ場合、線形補間などを用いて、装置AとB間におけるセンサ値を予測すると、装置AとB間のどの位置でも予測センサ値は同じ値となる。ここで、装置Aから装置Bへの方向と反対側にセンサ値に影響を与える設備や装置が存在し、それらの設備や装置から離れるほどセンサ値が小さくなるという建物環境モデルがある場合、建物環境モデルを考慮した装置AとB間のセンサ値は、装置Aから装置Bへ移動する間に一旦低下し、装置Bに近づくにつれて再度センサ値が上昇するという形に補正することが可能となる。また、複数の設備や装置がある場合は、それぞれの設備や装置に対応する建物環境モデルを重ね合わせることにより、予測センサ値の補正に使用することができる。建物環境モデルの重ね合せ方法については、特に限定されるものではない。さらに、空気の流れなど分布に偏りを生じさせる要素を考慮した建物環境モデルを使用することもできる。
また、以上の説明では、移動経路推定装置103では、カメラから取得された画像を用いて移動体を検出し、その移動経路を推定するという想定であったが、移動体の経路を推定する方法としてはその他、移動体に装着した加速度センサやジャイロセンサなどの慣性センサを用いて算出する方法、作業手順や作業場所などの建物内で行なわれる作業や行動の種類およびその順序に関する知識を用いて推定する方法、および、保存されている過去の移動体の移動経路データを利用する方法などを利用することができる。
慣性センサを用いて移動体の移動経路を推定する場合は、図5におけるカメラ群504が慣性センサ群(一以上の慣性センサ)に置き換わり、カメラ画像取得プログラム507は、慣性センサ群からのセンサ値を取得するセンサデータ取得プログラムに置き換わり、カメラ画像群510は、センサ毎のセンサデータを含むデータに置き換わる。また、慣性センサ群は移動体に装着するため、移動体環境取得装置101および移動経路推定装置103は一体化しても良い。慣性センサ群から取得したセンサデータを用いて移動経路を推定する方法としては、よく知られた「歩行者自律航法(PDR)」と呼ばれる手法を用いることができる。移動経路推定装置103を移動体に装着するため、推定した移動経路データに対する移動体の識別子はすでに特定されていることになるが、歩行者自律航法は開始時刻からの相対的な移動経路を推定する手法であり、建物内のどの位置から移動が開始されたかは推定することができない。このため、図5における移動経路推定プログラム508は、可能性のある開始位置を想定した全ての移動経路の推定を行なう。さらに、図9における移動経路特定プログラム907は、推定された移動経路から求めた予測移動体環境データと、移動体環境取得装置101によって取得された移動体環境データとの類似度を求める。この際、同じ移動体に関する予測移動体環境データおよび移動体環境データのみを対象とすれば良い。類似度が最も大きくなる推定された移動経路を選択することにより、移動体の移動開始位置を特定することが可能となる。
建物内で行なわれる作業や行動の種類およびその順序に関する知識を用いて移動体の移動経路を推定する場合は、図5におけるカメラ群504、カメラ画像取得プログラム507は不要となる。また、カメラ画像群510は、建物内で行なわれる作業や行動の種類およびその順序に関する知識を表す作業データとなる。この方法を使用する場合は、作業や行動の開始時間に基づいて移動体が滞在する場所に関するデータを作業データから順次取得し、滞在場所に対応する位置座標を時間軸にそって並べることにより移動経路データを生成することができる。この際、ある滞在場所から別の滞在場所への移動が含まれる場合は、通路などの移動に使用する場所に関するデータを別途保存しておき、そのデータを使用して滞在場所の間を接続することにより、連続した移動経路データを生成することができる。この際、歩行速度の平均値などを用いることにより、適切な時系列データとして移動経路データを生成することができる。また、作業データ中に作業担当者も含まれている場合は、作業担当者と移動体識別子の対応表を用意することにより、移動経路特定プログラム907における処理において、移動経路データから推定される移動体環境データの予測値と移動体環境取得装置から取得された移動体環境データとの類似度を求める際に、類似度の計算を行なうデータの範囲を限定することも可能となる。
保存されている過去の移動体の移動経路データを利用して移動体の移動経路を推定する場合は、図5におけるカメラ群504、カメラ画像取得プログラム507は不要となる。また、カメラ画像群510は過去の移動経路データとなる。この方法を使用する場合は、移動経路推定プログラム508は、過去の移動経路データから可能性のある全ての移動経路データを選択するようにすれば良い。あるいは、時間帯、日時あるいは曜日などに基づいて該当する移動経路データのみを選択するようにしても良い。
さらに、複数種類のデータを用いることにより、生成される移動経路データの範囲を制限するようにしても良い。例えば、慣性センサ群を用いて移動体の移動経路を推定する場合は、建物内で行なわれる作業や行動の種類やその順序に関する知識、保存されている過去の移動体の移動経路データ、設備や装置の位置のデータなどを用いることにより、図5における移動経路推定プログラム508において生成する移動経路の範囲を制限することもできる。建物内で行なわれる作業や行動の種類およびその順序に関する知識を用いて移動体の移動経路を推定する場合は、過去の移動体の移動経路データ、設備や装置の位置のデータなどを用いることにより、生成する移動経路データの範囲を制限することが可能となる。過去の移動体の移動経路データを利用して移動体の移動経路を推定する場合は、建物内で行なわれる作業や行動の種類やその順序に関する知識、設備や装置の位置のデータなどを用いて生成する移動経路データの範囲を制限することができる。
以上により、監視カメラ、温度センサ、湿度センサおよびガス濃度センサといったセンサのデータ、すなわち、移動体や建物内への導入が比較的容易であるまたは予め設けられているセンサのデータを基に、言い換えれば、建物内に通常は設置しないセンサを導入すること無しに、移動体と移動経路の対応付けが可能になる。
本発明に係る第三の実施例を図18および図19を用いて説明する。その際、第一および第二の実施例との相違点を主に説明し、第一および第二の実施例との共通点については説明を省略または簡略する。
図18は、本発明の第三の実施例に係るシステムの構成を示す。
図18が示す構成は、第一の実施例に係るシステムから建物環境取得装置102を除いた構成となっている。
図19は、第三の実施例に係る移動経路特定装置104の構成を示す。
図19によれば、図9における建物環境データベース909が建物環境モデル1901で置き換えられている。建物環境モデル1901は、建物内の設備や装置がセンサに与える影響を示すモデルであり、センサに影響を与える設備や装置の建物内における位置や、設備や装置がセンサに影響を与える程度、範囲、方向などのデータが格納される。
さらに第三の実施例では、移動経路特定装置104における環境データ予測プログラム1902が、移動経路データに対応する予測移動体環境データを建物環境モデル1901に基づいて求める。
以上により、建物内に通常は設置しないセンサを導入すること無しに、移動体と移動経路の対応付けが可能であるとともに、それが、建物環境取得装置102が無しに実現可能である。
以上の実施例1〜実施例3の説明を、例えば下記のように総括することができる。なお、下記の総括は、上述の説明に無い事項を含んでも良い。また、以下、「kkk部」(インターフェース部、記憶部及びプロセッサ部を除く)の表現にて機能を説明することがあるが、機能は、1以上のコンピュータプログラムがプロセッサ部によって実行されることで実現されてもよいし、1以上のハードウェア回路(例えばFPGA又はASIC)によって実現されてもよい。プログラムがプロセッサ部によって実行されることで機能が実現される場合、定められた処理が、適宜に記憶部及び/又はインターフェース部等を用いながら行われるため、機能はプロセッサ部の少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサ部あるいはそのプロセッサ部を有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機又は計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。各機能の説明は一例であり、複数の機能が1つの機能にまとめられたり、1つの機能が複数の機能に分割されたりしてもよい。
移動経路特定システムの一例が、上述の装置101〜104のうちの少なくとも装置104に相当する。
移動経路特定システムは、移動体環境取得部、移動経路取得部、および、移動経路特定部を有する。移動体環境取得部および移動経路取得部は、例えば、通信プログラム905を含む1以上のプログラムがデータ処理装置901で実行されることにより実現されて良い。移動経路特定部は、例えば、移動経路特定プログラム907を含む1以上のプログラムがデータ処理装置901で実行されることにより実現されて良い。
移動体環境取得部は、建物内を移動する二以上の移動体の各々について、当該移動体のセンサ装置である移動体センサ装置(例えば移動体環境取得装置101)から送信されるセンサ値(例えば取得値405)を基に、当該移動体の周囲の環境に関する時系列の環境値を示す移動体環境データを取得する。なお、「環境値」は、センサ値それ自体でも良いし、1以上のセンサ値に基づく値でも良い。
移動経路取得部は、それぞれが建物内における推定された時系列の位置である二以上の移動経路を取得する。この「取得」は、当該二以上の移動経路を推定することであっても良いし、推定された二以上の移動経路を示すデータを受信することであっても良いし、当該データを記憶部から読み出すことであっても良い。
移動経路特定部は、二以上の移動体の各々についての移動体環境データが示す時系列の環境値と、二以上の移動経路の各々についての時系列の位置(移動経路データが示す時系列の位置)とに基づいて、二以上の移動経路の各々について、二以上の移動体のうちの当該移動経路を移動した移動体を特定し、当該移動経路に当該特定した移動体を対応付ける。ここで言う「対応付ける」とは、相対的な対応付けで良く、具体的には、当該移動経路を示す移動経路データに移動体の識別子を対応付けることであっても良いし、当該移動体の識別子に当該移動経路の識別子を関連付けることであっても良い。
これにより、移動体や建物内への導入が容易であるまたは予め設けられているセンサを用いることにより、言い換えれば、建物内に通常は設置しないセンサ装置を導入すること無しに、移動体と移動経路とを対応付けることができる。
なお、例えば、経済的な負担や装置類の維持管理の点を考慮すると、新たなセンサ装置を導入することなく、建物内に一般的に設置されるセンサ装置を用いて移動体と移動経路を対応付けられることが望ましいと考えられる。特に、工場内では、設備などの関係から、装置の設置スペースが限られている、工場内環境から装置の追加が適切ではないといったような制約が、他種の建物に比べて多い傾向にあると考えられる。二以上の移動体の各々または建物内について、センサ装置は、温度、湿度、ガス濃度、雑音レベル、放射線レベル、照度、振動レベル、および、粒子濃度のうちの少なくとも一を検出する一種類以上のセンサを有する装置である。このように、移動体センサ装置は、移動体(例えば、工場内の移動体)への導入が容易であるセンサを有する装置である。工場内であれば、このようなセンサは、安全性等を考慮して設置される可能性が高く、また、移動体の周囲の状況を取得するために移動体に装備される可能性が高いと考えられる。
また、推定された移動経路は、下記のうちの少なくとも一つ、
・一以上のカメラからの映像、
・慣性センサにより取得した情報、
・建物内で行われる作業や行動に関する知識としてのデータ、および、
・過去の移動体の移動経路に関する情報、
を基に、推定された移動経路で良い。建物内に設けられているセンサの種類等に応じて採用されたいずれの情報に基づいて推定された移動経路でも、適用可能である。
移動経路特定システムは、さらに、環境データ予測部を有して良い。環境データ予測部は、例えば、環境データ予測プログラム906を含む1以上のプログラムがデータ処理装置901で実行されることにより実現されて良い。環境データ予測部は、二以上の移動経路の各々について、当該移動経路と、建物内の環境に関する情報である建物環境情報とから、当該移動経路についての移動体環境データを予測する。二以上の移動経路の各々について、予測された移動体環境データは、当該移動経路を構成する時系列の各位置の周囲の環境に関する環境値であり時系列の予測された環境値である。移動経路特定部は、二以上の移動経路の各々についての予測された移動体環境データが示す時系列の環境値と、二以上の移動体の各々についての移動体環境データが示す時系列の環境値との類似度を基に、二以上の移動経路の各々について、当該移動経路を移動した移動体を特定する。このように、建物環境情報と推定された移動経路とを基に当該移動経路上を移動した移動体の移動体環境データが予測され、当該予測された移動体環境データに類似する移動体環境データに対応した移動体が特定される。これにより、建物内に通常は設置しないセンサ装置が無くても、移動経路に対応した移動体を精度良く特定できることが期待される。
移動経路特定システムが、さらに、建物環境取得部を有して良い。建物環境取得部は、例えば、通信プログラム905を含む1以上のプログラムがデータ処理装置901で実行されることにより実現されて良い。建物環境取得部は、建物内に設けられた複数のセンサ装置である複数の建物センサ装置(例えば建物環境取得装置102)の各々について、当該建物センサ装置から送信されるセンサ値を基に、当該建物センサ装置の周囲の環境に関する時系列の環境値を示す建物環境データを取得する。この「取得」は、建物環境データを受信することであっても良いし、当該データを記憶部から読み出すことであっても良い。環境データ予測部は、二以上の移動経路の各々について、下記を基に、
・当該移動経路を構成する時系列の位置、
・複数の建物センサ装置の各々についての建物環境データが示す時系列の環境値、および、
・複数の建物センサ装置の各々の位置(例えば、複数の建物センサ装置の各々の位置を示すデータが記憶部に格納されている)、
当該移動経路についての移動体環境データを予測する。このように、移動体環境データの予測に、建物内に設置されている各建物センサ装置からのデータを利用することができる。なお、二以上の移動体の各々についての前記移動体センサ装置が有するセンサの種類と、複数の建物センサ装置が有するセンサの種類は、同じで良い。これにより、移動体環境データを精度良く予測できることが期待される。各移動体センサ装置と、複数の建物センサ装置は、温度、湿度、ガス濃度、雑音レベル、放射線レベル、照度、振動レベル、および、粒子濃度のうちの少なくとも一を検出する一種類以上のセンサを有する装置で良い。また、二以上の移動経路の少なくとも一つは、複数の建物センサ装置の少なくとも一つについての建物環境データが示す時系列の環境値の変化量が所定の変化量を超えた日時を基に推定された移動経路で良い。
また、建物環境情報は、上述した建物環境データに代えて、建物内の設備や装置が建物内のセンサ装置に与える影響を示すモデルであっても良い。この場合、建物内のセンサ装置からのセンサデータが無くても移動体環境データの予測が可能である。当該モデルは、データでも良いし、入力に対する出力を発生するニューラルネットワークのようなモデルでも良い。
移動経路特定部は、二以上の移動経路の各々についての予測された移動体環境データが示す時系列の環境値と、二以上の移動体の各々についての移動体環境データが示す時系列の環境値との類似度を、下記のうちのいずれか、
・移動体についての移動体環境データが示す時系列の環境値と、移動経路について予測された移動体環境データが示す時系列の環境値との照合を行う、および、
・移動体についての移動体環境データが示す時系列の環境値に従う時間変化の大きさに基づいて抽出した特徴量と、移動経路について予測された移動体環境データが示す時系列の環境値に従う時間変化の大きさに基づいて抽出した特徴量とを照合する、
により算出して良い。
移動経路特定部は、複数の日時の各々についての二以上の移動体グループと二以上の移動経路グループとに基づいて、二以上の移動経路の各々について、二以上の移動体のうちの当該移動経路を移動した移動体を特定して良い。移動経路特定部が、クラスタリングの手法等により、複数の日時の各々について、二以上の移動体グループ(例えば取得値グループ)と二以上の移動経路グループ(例えば位置座標グループ)を生成して良い。複数の日時の各々について、各種グループは下記の通りである。
・当該日時に対応した二以上の移動体グループの各々は、当該日時における環境値に基づき分類された移動体のグループである。
・当該日時に対応した二以上の移動経路グループの各々は、当該日時における位置に基づき分類された移動経路のグループである。
このように、異なる複数の日時の各々についての二以上の移動体グループと二以上の移動経路グループを利用することで、建物内の環境に関する情報である建物環境情報無しに、移動経路と移動体との対応付けが可能である。
なお、移動経路特定部は、下記の規則に従って、各移動経路について、当該移動経路に対応した移動体を特定して良い。これにより、建物環境情報無しに、移動経路と移動体とを1:1で対応付けることが期待できる。
・属する移動体が一つである移動体グループが一つであり、属する移動経路が一つである移動経路グループも一つである場合、当該移動経路と当該移動体とが対応付く。
・或る移動体グループに複数の移動体が属しており、当該複数の移動体のうちの或る移動体が或る移動経路に既に対応付けられており、当該或る移動経路が或る移動経路グループに属しており、当該或る移動経路グループに複数の移動経路が属している場合、当該複数の移動体のいずれかが当該複数の移動経路のいずれかに対応付く。
以上、幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実行することが可能である。