以下,本実施の形態について,図を用いて説明する。
近年,人の状況に応じて,適切なサービスをシステム側が自律的に提供してくれるコンテキストアウェアサービスが着目されている。このようなサービスとしては,例えば,店舗の前に来たときにクーポンを配信することで購買意欲を向上させるサービスや,社外に出たときに閲覧できる情報を制限することでセキュリティを強固にするサービス,会議が始まったときに参加者に会議資料を送信して検索の手間を省くサービスなどが挙げられる。
このようなサービスを展開するためには,人の状況を知る必要があるが,人の状況はその人の位置と密に関連しているため,人の位置を知ることが重要であると考えられる。特にサービス視点から見ると,位置といっても正確な座標ではなく,例えば部屋などの意味のある単位エリアがわかることが重要となる。
位置検知の技術として,GPSを利用した技術がある。GPSを利用した位置検知の技術は,屋外では有用である。しかし,GPSを利用した位置検知の技術は,屋内で利用する場合,その精度が極端に下がるという問題がある。
また,建物や部屋,通路などの出入口にゲートを設置し,赤外線通信やRFIDタグ,超音波などの近距離無線の発信器の通過を検知する技術がある。この技術を用いれば,発信器を備える人や物のエリア間の遷移を,精度よく検知することが可能となる。しかし,この技術を用いるには,エリア間の遷移可能な場所にゲートを設置するなど,専用のデバイス等を用意する必要があるため,インフラ構築のコストがかかるという問題がある。多数のエリアが存在する環境では,実用的でない。
近年,スマート端末等を用いて,手軽に無線LAN(Local Area Network)の信号強度(RSSI:Received Signal Strength Indicator)を取得することが可能になっている。以下では,信号強度をRSSIとも呼ぶ。例えば,無線LANのRSSIを位置検出に用いるとした場合,特にインフラとして,屋内においても無線LANの接続環境が整備されつつあることから,コストと実用性との両観点で有用である。ただし,その反面,無線LANは距離減衰が少なく,遠距離まで届くため,広域での位置検出を行うことが一般に難しい。端末が存在する部屋を検出するような場合には,無線LANなどの遠距離無線のRSSIを用いることが適していると考えられる。
RSSIを用いて位置を特定する技術として,複数のアクセスポイントからの距離に基づいて,三角測量の原理で位置を推定する技術が存在する。RSSIは,アクセスポイントから離れれば離れるほど弱くなる。そのため,各アクセスポイントについてのRSSIの値から,各アクセスポイントからどのぐらい離れているかを推定することができる。しかし,RSSIはノイズが多いので,十分な精度の位置検知結果が得られないという問題がある。
また,RSSIを用いて位置を特定する技術として,事前に取得したRSSIとの比較に基づいて,位置を推定する技術が考えられる。この技術では,事前に各地点におけるRSSIを取得し,取得したRSSIから各地点での比較基準となるRSSIを求めて,事前データとして保持しておく。エリア検知を行う際には,そのとき得られるRSSIの観測データと保持された事前データと比較し,RSSIが近い地点が現在地点であると推定する。この技術では,事前に多数の地点でRSSIを取得しておく必要があるので,準備に手間がかかるという問題がある。逆に,事前データを取得しておく範囲を少なくすると,事前の準備の手間は軽減されるが,エリア検知の精度が低くなる。
図1は,事前データの取得範囲の例を説明する図である。
図1に示す例において,部屋#A〜部屋#Dの4つのエリアが,エリア検知を行う範囲である。携帯端末10は,今回,存在するエリアを検知する対象となるスマート端末などの情報端末である。図1に示す例では,人が存在するエリアの検知を,その人が持つ携帯端末10が行うものとする。発信器20は,無線LANなどの遠距離無線におけるアクセスポイントである。出入口30は,各部屋間すなわち各エリア間で,携帯端末10の遷移が起こり得る場所である。
図1に示す例において,例えば,各部屋のすべての領域を網羅するようにRSSIについての事前データを準備するには,非常に手間がかかる。そこで,図1の破線枠に示す領域に事前データの取得範囲を限定することを考える。図1に示す例では,各部屋全体のバランスを考慮して事前データの取得範囲が設定されている。このように,事前データの取得範囲を限定すれば,事前データの準備の手間を軽減できる。
しかし,事前データの取得範囲を限定すると,誤検知が増える。特に,遠距離無線の場合,距離に基づく電波減衰が少ないため,誤検知が広範囲で発生する。例えば,図1に示す例において,部屋#Bと部屋#Cとの間には,出入口がなく,携帯端末10を持った人が両部屋間で直接移動することは不可能である。しかし,図1に示すように,携帯端末10を持った人が,事前データの取得範囲から離れた部屋#Bと部屋#Cとの間の壁際にいるような場合には,部屋#Bから部屋#Cへの部屋遷移が検知されるなどの,物理的に起こり得ない部屋遷移が検知されることがある。
このような状況から,無線LANなどの遠距離無線のRSSIを用いたエリアの検知において,事前データの取得範囲をできるだけ少なくしつつ,物理制約などにより起こり得ない部屋遷移を防止する技術が望まれる。以下では,無線LANなどの遠距離無線のRSSIを用いたエリアの検知において,事前データの取得範囲を少なくしつつも精度が高いエリアの検知が可能となる,本実施の形態による技術の例を説明する。
図2は,本実施の形態による携帯端末の構成例を示す図である。
図2に示す携帯端末10は,自身の存在エリアを検知する対象となる装置の一例である。図2に示すように,本実施の形態による携帯端末10は,エリア検知部100を備える。エリア検知部100は,例えば無線LANなどの遠距離無線のアクセスポイントから発信される無線信号のRSSIに基づいて,検知を行う対象空間における自身の携帯端末10の存在エリアを検知する。携帯端末10は,無線LANなどの遠距離無線のアクセスポイントから発信される無線信号のRSSIを観測できる装置であればよい。例えば,近年の多くのスマート端末やタブレット端末,ノートパソコンなどには,無線LANのアクセスポイントから発信される無線信号のRSSIを観測する機能が備えられている。
エリア検知部100は,信号強度取得部101,判定部102,更新部103,出力部104を備える。また,エリア検知部100は,信号強度記憶部110,特定場所信号強度記憶部120,存在情報記憶部130を備える。
信号強度取得部101は,発信器から発信された無線信号について観測されたRSSIを取得する。発信器は,例えば無線LANにおけるアクセスポイントである。信号強度取得部101は,取得したRSSIを信号強度記憶部110に記憶する。信号強度記憶部110は,信号強度取得部101により取得された,観測されたRSSIを記憶する記憶部である。
例えば,信号強度取得部101は,各発信器について観測されたRSSIを,所定の時間間隔で取得する。各発信器について観測されたRSSIの経時変化には,ノイズによる変化も含まれる可能性があるが,自携帯端末10の位置変化による変化も含まれる。
特定場所信号強度記憶部120は,隣接するエリア間で遷移が起こり得る場所におけるRSSIを記憶する記憶部である。本実施の形態では,事前データとして,出入口などの隣接するエリア間で遷移が起こり得る場所におけるRSSIを取得し,特定場所信号強度記憶部120に保持しておく。出入口などの隣接するエリア間で遷移が起こり得る場所や,特定場所信号強度記憶部120に保持する事前データのRSSI等の詳細については,後述する。
判定部102は,信号強度取得部101により取得された,観測されたRSSIの変化と,特定場所信号強度記憶部120に記憶された,隣接するエリア間で遷移が起こり得る場所におけるRSSIとの関係から,隣接するエリア間の遷移が検知されたか否かを判定する。判定部102は,観測されたRSSIの変化量が,隣接するエリア間で遷移が起こり得る場所における一方のエリア側のRSSIから他方のエリア側のRSSIへの変化量に十分に近い場合に,隣接するエリア間の一方のエリアから他方のエリアへの遷移が検知されたと判定する。
例えば,判定部102は,観測された信号強度の変化と,隣接するエリア間で遷移が起こり得る場所における信号強度とから,隣接するエリア間での遷移生起の尤度を算出する。隣接するエリア間での遷移生起の尤度を算出する例については,後述する。例えば,判定部102は,所定の閾値以上の尤度が得られた場合に,該尤度が得られた隣接するエリア間の遷移が検知されたと判定する。
存在情報記憶部130は,各エリアにおける存在可能性を記憶する記憶部である。存在情報記憶部130には,検知を行う対象空間に存在するエリアごとの自携帯端末10の存在可能性が記憶される。存在情報記憶部130に記憶された各エリアの存在可能性は,隣接するエリア間の遷移が検知されることに応じて,随時更新される。
更新部103は,判定部102により隣接するエリア間の遷移が検知されたと判定された場合に,存在情報記憶部130に記憶された,各エリアにおける存在可能性を更新する。例えば,更新部103は,隣接するエリア間の遷移が検知されたと判定された場合に,遷移前のエリアにおける存在可能性を,該遷移前のエリアにおける存在可能性に応じて減少させる更新を行う。また,例えば,更新部103は,隣接するエリア間の遷移が検知されたと判定された場合に,遷移後のエリアにおける存在可能性を,遷移前のエリアにおける存在可能性に応じて増加させる更新を行う。
また,判定部102によって隣接するエリア間での遷移生起の尤度が算出されている場合に,更新部103は,さらに,検知された隣接するエリア間の遷移について算出された尤度に応じて,存在情報記憶部130に記憶された各エリアにおける存在可能性の更新を行う。例えば,更新部103は,検知された隣接するエリア間の遷移について,算出された尤度が高い場合には,遷移前のエリアと遷移後のエリアの存在可能性をより大きく更新し,算出された尤度が低い場合には,遷移前のエリアと遷移後のエリアの存在可能性をより小さく更新するように調整を行う。
出力部104は,存在情報記憶部130に記憶された各エリアにおける存在可能性を参照し,存在可能性が最も高いエリアを出力する。出力部104による出力先は,例えば,携帯端末10の存在エリアに応じたサービスを行うアプリケーションなどである。
図3は,本実施の形態による携帯端末を実現するコンピュータのハードウェア構成例を示す図である。
図2に示す携帯端末10を実現するコンピュータ1は,例えば,CPU(Central Processing Unit )2,主記憶となるメモリ3,記憶装置4,通信装置5,入力装置6,出力装置7等を備える。記憶装置4は,例えばHDD(Hard Disk Drive )等の外部記憶装置や,補助記憶装置などである。入力装置6は,例えばタッチパネル,キーボード,マウス等の入力機器である。出力装置7は,例えばディスプレイ等の表示装置である。
図2に示す携帯端末10が備える各機能部は,コンピュータ1が備えるCPU2,メモリ3等のハードウェアと,ソフトウェアプログラムとによって実現することが可能である。コンピュータ1が実行可能なプログラムは,記憶装置4に記憶され,その実行時にメモリ3に読み出され,CPU2により実行される。
コンピュータ1は,可搬型記録媒体から直接プログラムを読み取り,そのプログラムに従った処理を実行することもできる。また,コンピュータ1は,サーバコンピュータからプログラムが転送されるごとに,逐次,受け取ったプログラムに従った処理を実行することもできる。さらに,このプログラムは,コンピュータ1で読み取り可能な記録媒体に記録しておくことができる。
以下では,本実施の形態のエリア検知部100による,より具体的な処理の例を説明する。以下で説明する例では,壁で隔てられた部屋をエリアとする。
図4は,エリア検知を行う対象空間の例を示す図である。
図4に示す空間は,本実施の形態によるエリア検知を行う対象空間の一例である。以下では,図4に示す空間をエリア検知の対象空間として,説明を行う。図4に示す部屋#A〜部屋#Dの4つのエリアからなる空間が,エリア検知を行う対象空間となる。各発信器20は,無線LANなどの遠距離無線におけるアクセスポイントである。各出入口30は,隣接する部屋間で,携帯端末10を持った人が移動できる場所である。すなわち,各出入口30は,隣接するエリア間で携帯端末10の遷移が起こり得る場所である。
図4に示す例では,各隣接する部屋間の出入口30付近に,事前データの取得範囲が設定されている。図4に示す例において,部屋#Bと部屋#Cとは隣接しているが,部屋#Bと部屋#Cとの間には出入口30がない。部屋#Bと部屋#Cとの間では物理的にエリア間の遷移が起こり得ないため,部屋#Bと部屋#Cとの境界には事前データの取得範囲が設定されてない。このように,本実施の形態では,隣接するエリア間で遷移が起こり得る場所のRSSIを事前に取得し,特定場所信号強度記憶部120で保持しておく。
図5は,隣接する部屋間で遷移が起こり得る場所におけるRSSIの例を説明する図である。
図5(A)は,部屋#A−部屋#B間の出入口30付近の事前データの取得範囲を示している。ここでは,図4に示すエリア検知の対象空間において,隣接する部屋#Aと部屋#Bとの間の出入口30付近におけるRSSIを例に説明を行う。図5(A)において,地点P1は,部屋#A−部屋#B間の出入口30付近における部屋#A側の地点である。また,地点P2は,部屋#A−部屋#B間の出入口30付近における部屋#B側の地点である。
図5(A)において,例えば,携帯端末10を持ったユーザが,出入口30を通って部屋#Aから部屋#Bに移動したものとする。このとき,そのユーザは,地点P1を通過し,出入口30を通って地点P2を通過する。そのユーザが持つ携帯端末10は,例えば部屋#Bの隅にある発信器20から発信される無線信号のRSSIを観測する。
図5(B)は,携帯端末10が地点P1から地点P2に遷移した際に,図5(A)に示す部屋#Bにある発信器20から発信される無線信号を携帯端末10が観測した例を示す。例えば,部屋#A側にある地点P1と部屋#Bにある発信器20との間には壁があるため,その壁の影響を受けて,地点P1で観測されるRSSIは低い値となる。部屋#B側にある地点P2と部屋#Bにある発信器20との間には壁がないため,地点P2で観測されるRSSIは高い値となる。そのため,携帯端末10が出入口30を通って部屋#Aから部屋#Bに遷移する際には,図5(B)に示すような顕著なRSSI変化が見られると考えられる。
図6は,本実施の形態によるRSSI学習データの例を示す図である。
図6に示すRSSI学習データは,特定場所信号強度記憶部120にあらかじめ保持される,隣接するエリア間で遷移が起こり得る場所における信号強度のデータの一例を示す。図6に示すRSSI学習データは,遷移場所,地点,発信器#1〜#n等の情報を持つ。
図6に示すRSSI学習データにおいて,遷移場所は,隣接するエリア間で遷移が起こり得る場所を示す。例えば,図6に示すRSSI学習データの遷移場所において,“#A−#B”は,隣接する部屋#Aと部屋#Bとの間で遷移が起こり得る出入口30付近を示している。なお,以下では,隣接するエリア間で遷移が起こり得る場所を,単に遷移場所とも呼ぶ。
図6に示すRSSI学習データにおいて,地点は,遷移場所におけるいずれのエリア側の地点であるかを示す。例えば,遷移場所“#A−#B”における地点“#A側”は,隣接する部屋#Aと部屋#Bとの間で遷移が起こり得る出入口30付近における,部屋#A側の地点を示している。
図6に示すRSSI学習データにおいて,発信器#1〜#nの各項目に記録される数値は,RSSIを観測する対象の各発信器20について,それぞれ事前に用意して保持された,該当遷移場所,該当地点における代表的なRSSIである。発信器#1〜#nの各項目に示されるRSSIが,携帯端末10により時々刻々と観測されるRSSIと比較される,該当遷移場所,該当地点における基準のRSSIである。
図6に示すRSSI学習データにおける,各発信器20のRSSIの値は,例えば,各出入口30の各地点で観測されるRSSIの学習処理を事前に行うことにより得られる。遷移場所“#A−#B”における地点“#A側”,“#B側”のRSSIを取得する手順は,例えば,次の通りとなる。
(手順1)携帯端末10を持つユーザは,図5(A)に示す地点P1で,数分間静止状態でいる。このとき,携帯端末10は,各発信器(#1〜#n)20のRSSIを観測する。
(手順2)携帯端末10は,数分間で観測された各発信器(#1〜#n)20のRSSIについて,それぞれ平均値を算出する。
(手順3)携帯端末10は,RSSI学習データに遷移場所“#A−#B”,地点“#A側”のレコードを生成し,各発信器(#1〜#n)20について,それぞれ(手順2)で算出されたのRSSIの平均値を記録する。
(手順4)携帯端末10を持つユーザは,図5(A)に示す地点P2に移動する。地点P2でも,(手順1)〜(手順3)が,同様に行われる。
このような手順を,すべての隣接する部屋間の出入口30で行うことにより,図6に示すRSSI学習データが得られる。本実施の形態では,このようにして得られたRSSI学習データが,事前に特定場所信号強度記憶部120に保持された状態で,エリア検知部による携帯端末10が存在するエリアの検知が実施される。
存在エリアの検知を行う対象の携帯端末10において,エリア検知部100の信号強度取得部101は,所定の時間間隔で,各発信器20について観測された現在のRSSIを取得する。信号強度取得部101は,取得した,観測された現在のRSSIを信号強度記憶部110に記憶する。また,信号強度取得部101は,信号強度記憶部110から,直前のタイミングで観測されたRSSIを取得する。
なお,携帯端末10は,本実施の形態によるエリア検知で観測の対象となっていない発信器のRSSIも観測してしまう。例えば,エリア検知部100は,本実施の形態によるエリア検知で観測の対象となる発信器20の識別情報のリストを保持しており,信号強度取得部101は,リストにある識別情報を発信している発信機20のRSSIを選択して,取得する。
図7は,観測されたRSSIの例を示す図である。
図7(A)に示す現在のRSSIは,信号強度取得部101により取得された,各発信器20について観測された現在のRSSIの一例を示す。図7(B)に示す直前のRSSIは,信号強度取得部101により信号強度記憶部110から取得された,直前のタイミングで観測されたRSSIの一例を示す。これは,携帯端末10で観測されるRSSIが,図7(B)に示す直前のRSSIから図7(A)に示す現在のRSSIに変化したことを意味する。
判定部102は,観測されたRSSIの変化から,携帯端末10の隣接したエリア間の遷移が検知されたか否かを判定する。ここでは,判定部102は,観測されたRSSIの変化と,特定場所信号強度記憶部120に記憶されたRSSI学習データを用いて,起こり得る各エリア間の遷移について,それぞれの遷移生起の尤もらしさを示す遷移尤度を求める。
判定部102は,部屋iから部屋jへの遷移尤度Lt (i,j)を,例えば,次式(1)により算出する。
Lt (i,j)=−{‖xt −x’i,j ‖2 +‖xt-1 −x”i,j ‖2 } (1)
式(1)において,tは,観測されたRSSIを取得した現在のタイミングを示し,t−1は,観測されたRSSIを取得した直前のタイミングを示す。また,‖・‖は,ユークリッド距離を示す。xt は,現在のRSSIを示すn次元のベクトルであり,xt-1 は,直前のRSSIを示すn次元のベクトルである。x’i,j は,部屋i−部屋j間の遷移場所における遷移後の部屋j側のn次元のRSSIベクトルである。x”i,j は,部屋i−部屋j間の遷移場所における遷移前の部屋i側のn次元のRSSIベクトルである。なお,nは,エリア検知においてRSSIを取得する対象の発信器20の数である。
図8は,本実施の形態による遷移尤度の算出を説明する図である。
図8に示すグラフは,ある発信器20のRSSIの経時変化を示すグラフである。図8に示すグラフにおいて,○のポイントは,観測されたRSSIを示す。×のポイントは,RSSI学習データのRSSIを示す。tは,現在のRSSIを取得したタイミングを示す。t−1は,直前のRSSIを取得したタイミングを示す。
図8に示す例において,現在のRSSIと,RSSI学習データにおける図5(A)に示す地点P2のRSSIとが近い値となっているものとする。また,直前のRSSIと,RSSI学習データにおける図5(A)に示す地点P1のRSSIとが近い値となっているものとする。この場合,図5(A)に示す部屋#Aから部屋#Bへの遷移があった可能性が考えられる。その可能性は,現在のRSSIの値と地点P2のRSSIの値とが近ければ近いほど,また直前のRSSIの値と地点P1のRSSIの値とが近ければ近いほど高いと考えられる。したがって遷移尤度は,部屋遷移の可能性を表す評価指標となる。
上記の式(1)では,任意の数の発信器20について,観測されたRSSI値とRSSI学習データにおけるRSSI値との関係の近さを評価した遷移尤度が求められる。例えば,図7に示すRSSI情報から,部屋#Aから部屋#Bへの遷移尤度を求める場合,上記の式(1)において,xt は,図7(A)に示す現在のRSSIのベクトルとなり,xt-1 は,図7(B)に示す直前のRSSIのベクトルとなる。x’i,j は,図6に示すRSSI学習データにおける遷移場所“#A−#B”,地点“#B側”のRSSIベクトルとなり,x”i,j は,図6に示すRSSI学習データにおける遷移場所“#A−#B”,地点“#A側”のRSSIベクトルとなる。
なお,上記の式(1)を用いて遷移尤度を求める処理は,遷移尤度を求める処理の一例である。遷移尤度を求める処理は,現在のRSSIが,遷移場所における遷移後の部屋側の地点でのRSSIに類似するほど,直前のRSSIが,遷移場所における遷移前の部屋側の地点でのRSSIに類似するほど,遷移尤度が高くなるように設計されればよい。
また,上記の式(1)は,現在のRSSIと直前のRSSIとを用いた比較で遷移尤度を求めているが,さらに現在のRSSIと2つ前のRSSI,現在のRSSIと3つ前のRSSIというように,現在のRSSIと複数の過去のRSSIとを用いた比較で遷移尤度を求めるようにしてもよい。また,上記の式(1)では,遷移前の部屋側の地点と遷移後の部屋側の地点の2地点の比較で遷移尤度を求めているが,3地点以上の比較で遷移尤度を求めるようにしてもよい。例えば,RSSI学習データに隣接する部屋間の境界地点のRSSIも保持しておき,遷移前の部屋側の地点,遷移前後の部屋の境界地点,遷移後の部屋側の地点の3地点の比較で,遷移尤度を求めるようにしてもよい。
判定部102は,起こり得るすべてのエリア間の遷移について,遷移尤度を求める。例えば,図4に示す対象空間において,起こり得る部屋間の遷移は,部屋#A→部屋#B,部屋#B→部屋#A,部屋#A→部屋#D,部屋#D→部屋#A,部屋#B→部屋#D,部屋#D→部屋#B,部屋#C→部屋#D,部屋#D→部屋#Cの8通りである。
図9は,遷移尤度の算出結果の例を示す図である。
図9に示す例は,図4に示す対象空間で起こり得る8通りの部屋間の遷移について,それぞれ上記の式(1)で遷移尤度を算出した例を示す。図9に示す遷移尤度の算出結果において,部屋遷移は,起こり得る隣接する部屋間の遷移を示す。例えば,部屋遷移“#A→#B”は,部屋#Aから部屋#Bへの遷移を示す。上記の式(1)は,遷移尤度が高い部屋遷移ほど,高い値が得られるように設計されている。そのため,図9に示す遷移尤度の算出結果では,値が高いほど遷移尤度が高くなる。なお,以下では,起こり得る隣接する部屋間の遷移を,単に部屋遷移とも呼ぶ。
判定部102は,求められた遷移尤度が,所定の尤度の閾値を超えた部屋遷移がある場合に,その部屋遷移が検知されたと判定する。例えば,尤度の閾値が“−50”である場合,図9に示す遷移尤度の算出結果において,部屋遷移“#A→#B”の遷移尤度“−20”が尤度の閾値を超えているので,判定部102は,部屋#Aから部屋#Bへの遷移が検知されたと判定する。ここでは,判定部102は,複数の遷移尤度が尤度の閾値を超えた場合,遷移尤度が最大となる部屋遷移のみが検出されたと判定する。
なお,尤度の閾値Lthは,例えば次のように定めることができる。隣接する部屋間で遷移が起こり得る出入口30を何度か出入りする実験を行い,そのときに観測されるRSSIを取得する。取得されたRSSIを用いて,上記の式(1)により,出入りごとの遷移尤度Lt (i,j)を求める。得られた出入りごとの遷移尤度Lt (i,j)のうち,最小の遷移尤度を尤度の閾値Lthとする。このとき,尤度の閾値Lthは,次の式(2)で定められる。式(2)において,Tは,出入り実験の回数を示す。
Lth(i,j)=min Lt (i,j) [1<t<T] (2)
なお,遷移場所ごとに得られる遷移尤度の範囲は異なるので,遷移場所ごとに,尤度の閾値を求めるようにしてもよい。さらに,遷移方向ごとに,尤度の閾値を求めるようにしてもよい。また,エリア検知の対象空間におけるすべての遷移場所について,まとめて1つの尤度の閾値を求めるようにしてもよい。
判定部102は,隣接する部屋間の遷移が検知されたと判定した場合,検知された部屋遷移について,遷移尤度をもとに確信度を算出する。本実施の形態による確信度は,後の更新部103による処理で用いるために,検知された部屋遷移について,その遷移尤度を0〜1の値に正規化したものである。すなわち,本実施の形態において,確信度は,表現を変えた遷移尤度であるともいえる。確信度qt の算出は,例えば次の式(3)に従って行われる。式(3)において,Lt (i,j)は,検知された部屋遷移の遷移尤度であり,Lthは,尤度の閾値である。
q=1−{Lt (i,j)/Lth} (3)
式(3)では,検知された部屋遷移について,遷移尤度が0の場合,すなわち観測されたRSSIと,RSSI学習データのRSSIとが完全に一致した場合に,確信度が1となるように設計されている。また,検知された部屋遷移について,遷移尤度が尤度の閾値Lthに近いほど,確信度が0に近づくように設計されている。確信度を算出する式は,式(3)とは異なる設計も可能である。
図10は,部屋遷移検知結果の例を示す図である。
図10に示す部屋遷移検知結果は,図9に示す遷移尤度の算出結果に基づいた部屋遷移の検知結果の一例を示す。図9に示す遷移尤度の算出結果から,部屋#Aから部屋#Bへの遷移尤度“−20”は,所定の尤度の閾値“−50”を超えている。このとき,上記の式(3)で確信度を求めると,図10に示す確信度“0.6”が得られる。
更新部103は,判定部102によって部屋遷移が検知されたと判定された場合に,存在情報記憶部130に記憶された,各部屋における携帯端末10の存在可能性を示す情報を更新する。
図11は,本実施の形態による存在部屋確率データの例を示す図である。
図11に示す存在部屋確率データは,図4に示す対象空間の各部屋における携帯端末10の存在可能性を示す情報の一例を示す。図11に示す存在部屋確率データでは,各部屋における携帯端末10の存在可能性が,0〜1の確率で表されている。本実施の形態による存在部屋確率データでは,全部屋の確率の合計が1となるように正規化されている。
本実施の形態の例では,エリア検知部100は,遠距離無線ゆえの誤検知を防ぐために,存在部屋確率データを存在情報記憶部130で管理し,その存在部屋確率データを部屋遷移の検知結果をもとに更新していく。本実施の形態の例では,例えば,存在部屋確率データにおける各部屋の確率の初期値は,均等に設定される。部屋遷移が検知されるたびに,その検知結果に応じて存在部屋確率データを更新することにより,存在部屋確率データにおける各部屋の確率の精度が,徐々に高くなっていく。
上述のように,無線LAN等の遠距離無線のRSSIを用いて部屋遷移を検知する場合,誤検知が発生する。そのため,部屋遷移の検知結果に応じて存在部屋確率データを更新する際に,正しく検知された可能性が高い部屋遷移についてはその影響が大きくなるように,誤検知の可能性が高い部屋遷移についてはその影響が小さくなるように,存在部屋確率データの更新を行いたい。
以下では,部屋遷移の検知結果の正誤の可能性に応じて,存在部屋確率データにおける各部屋の確率を更新する例を説明する。以下の説明において,Rpre は,部屋遷移の検知結果における遷移前の部屋を示し,Rpostは,部屋遷移の検知結果における遷移後の部屋を示す。Rother は,遷移前/遷移後の部屋以外の部屋を示す。qは,部屋遷移の検知結果における確信度を示す。
〔処理1〕:遷移前の部屋Rpre の確率の更新
遷移前の部屋Rpre の確率は,例えば,次の式(4)によって更新される。
pt+1 (Rpre )=pt (Rpre )−pt (Rpre )・q (4)
pt (Rpre )は,更新前の遷移前の部屋Rpre の確率を示す。pt+1 (Rpre )は,更新後の遷移前の部屋Rpre の確率を示す。
式(4)の右辺第2項に示すように,遷移前の部屋Rpre の確率については,その値を減少させる更新の処理が行われる。式(4)の右辺第2項に示すように,遷移前の部屋Rpre の確率の減少量は,更新前の遷移前の部屋Rpre の確率pt (Rpre )に依存する。また,遷移前の部屋Rpre の確率の減少量は,部屋遷移の検知結果の確信度qに依存する。すなわち,更新前の遷移前の部屋Rpre の確率pt (Rpre )が高いほど,また部屋遷移の検知結果の確信度qが高いほど,更新により遷移前の部屋Rpre の確率が減少する量は多くなる。
例えば,部屋遷移の検知結果において,遷移前の部屋Rpre は,遷移前に携帯端末10が存在したであろうとされた部屋である。更新前の存在部屋確率データにおいて,遷移前の部屋Rpre の確率が低い場合,部屋遷移の検知結果と更新前の存在部屋確率データとが,矛盾しているとみなすことができる。逆に,更新前の存在部屋確率データにおいて,遷移前の部屋Rpre の確率が高い場合,部屋遷移の検知結果と更新前の存在部屋確率データとは,矛盾していないとみなすことができる。
式(4)の右辺第2項では,遷移前の部屋Rpre の確率が低い場合,部屋遷移の検知結果が矛盾しているとみなされて部屋遷移の検知結果で軽視されるため,遷移前の部屋Rpre の確率の減少量が少なくなる。また,式(4)の右辺第2項では,遷移前の部屋Rpre の確率が高い場合,部屋遷移の検知結果が矛盾していないとみなされて部屋遷移の検知結果が重視されるため,遷移前の部屋Rpre の確率の減少量が多くなる。
〔処理2〕:遷移後の部屋Rpostの確率の更新
遷移後の部屋Rpostの確率は,例えば,次の式(5)によって更新される。
pt+1 (Rpost)=pt (Rpost)・(1−q)+pt (Rpre )・q (5)
pt (Rpost)は,更新前の遷移後の部屋Rpostの確率を示す。pt+1 (Rpost)は,更新後の遷移後の部屋Rpostの確率を示す。
式(5)の右辺第2項に示すように,遷移後の部屋Rpostの確率については,その値を増加させる更新の処理が行われる。式(5)の右辺第2項に示すように,遷移後の部屋Rpostの確率の増加量は,更新前の遷移前の部屋Rpre の確率pt (Rpre )に依存する。また,遷移後の部屋Rpostの確率の増加量は,部屋遷移の検知結果の確信度qに依存する。すなわち,更新前の遷移前の部屋Rpre の確率pt (Rpre )が高いほど,また部屋遷移の検知結果の確信度qが高いほど,更新により遷移後の部屋Rpostの確率が増加する量は多くなる。
式(5)の右辺第2項では,遷移前の部屋Rpre の確率が低い場合,部屋遷移の検知結果が矛盾しているとみなされて部屋遷移の検知結果が軽視されるため,遷移後の部屋Rpostの確率の増加量が少なくなる。また,式(5)の右辺第2項では,遷移前の部屋Rpre の確率が高い場合,部屋遷移の検知結果が矛盾していないとみなされて部屋遷移の検知結果が重視されるため,遷移前の部屋Rpre の確率の増加量が多くなる。
また,式(5)の右辺第1項に示すように,更新前の遷移後の部屋Rpostの確率pt (Rpost)を,部屋遷移の検知結果の確信度qに応じて減少させる更新の処理が行われている。遷移後の部屋Rpostは,部屋遷移の検知結果において,遷移前に携帯端末10が存在していなかったであろうとされた部屋である。このような部屋遷移の検知結果が,式(5)の右辺第1項によって反映されている。
〔処理3〕:遷移前/遷移後の部屋以外の部屋Rother の確率の更新
遷移前/遷移後の部屋以外の部屋Rother の確率は,例えば,次の式(6)によって更新される。
pt+1 (Rother )=pt (Rother )・(1−q) (6)
pt (Rother )は,更新前の遷移前/遷移後の部屋以外の部屋Rother の確率を示す。pt+1 (Rother )は,更新後の遷移前/遷移後の部屋以外の部屋Rother の確率を示す。
式(6)に示すように,更新前の遷移前/遷移後の部屋以外の部屋Rother の確率pt (Rother )を,部屋遷移の検知結果の確信度qに応じて減少させる更新の処理が行われている。遷移前/遷移後の部屋以外の部屋Rother は,部屋遷移の検知結果において,遷移前に携帯端末10が存在していなかったであろうとされた部屋である。このような部屋遷移の検知結果が,式(6)によって反映されている。
ここで示した〔処理1〕から〔処理3〕の例は,部屋遷移の検知結果に応じて各部屋における存在可能性を更新する一例である。例えば,〔処理1〕から〔処理3〕の例では,遷移前の部屋の確率に応じた各部屋の確率の更新を行うとともに,部屋遷移の検知結果の確信度に応じた各部屋の確率の更新を行っている。遷移前の部屋の確率に応じた更新のみを行い,部屋遷移の検知結果の確信度に応じた更新を行わないようにしてもよい。例えば,式(4),式(5)の右辺第2項において,確信度qの代わりに固定値を用いるようにしてもよい。また,例えば,式(5),式(6)の右辺第1項において,確信度qを用いた更新を行わないようにしてもよい。
また,例えば,上述のように,遷移前の部屋の確率に応じて,遷移前/遷移後の部屋の確率の更新量を決定するという前提であれば,具体的な式(4)〜式(6)については,異なる設計も可能である。また,部屋遷移の検知結果の確信度も利用する場合には,部屋遷移の検知結果の確信度に応じて,各部屋の確率の更新量を決定するという前提であれば,具体的な式(4)〜式(6)については,異なる設計も可能である。
図12は,本実施の形態による存在部屋確率データの更新の例(1)を説明する図である。
部屋遷移が検知される前に存在情報記憶部130に記憶されていた,更新前の存在部屋確率データが,図12(A)に示す通りであったものとする。ここで,部屋遷移の検知によって,図12(B)に示すような部屋遷移検知結果が得られたものとする。
更新部103は,上述の〔処理1〕によって,図12(B)に示す部屋遷移検知結果における遷移前の部屋#Aの確率を更新する。図12(A)に示す存在部屋確率データにおいて,更新前の部屋#Aの確率は“0.8”である。図12(B)に示す部屋遷移検知結果において,確信度は“0.8”である。上記の式(4)から,更新後の部屋#Aの確率は,
0.8−0.8*0.8=0.16
となる。
更新部103は,上述の〔処理2〕によって,図12(B)に示す部屋遷移検知結果における遷移後の部屋#Bの確率を更新する。図12(A)に示す存在部屋確率データにおいて,更新前の部屋#Bの確率は“0.1”である。上記の式(5)から,更新後の部屋#Bの確率は,
0.1*(1−0.8)+0.8*0.8=0.66
となる。
更新部103は,上述の〔処理3〕によって,図12(B)に示す部屋遷移検知結果における遷移前/遷移後の部屋以外の部屋#C,部屋#Dの確率を更新する。図12(A)に示す存在部屋確率データにおいて,更新前の部屋#C,部屋#Dの確率は,いずれも“0.05”である。上記の式(6)から,更新後の部屋#C,部屋#Dの確率は,いずれも,
0.05*(1−0.8)=0.01
となる。
〔処理1〕〜〔処理3〕によって,図12(A)に示す存在部屋確率データにおける各部屋の確率を更新した結果の存在部屋確率データは,図12(C)に示す通りとなる。更新部103は,全部屋の確率の合計値が1になるように,図12(C)に示す存在部屋確率データを正規化する。図12(C)に示す存在部屋確率データを正規化した結果が,図12(D)に示す存在部屋確率データとなる。更新部103は,存在情報記憶部130に記憶されている図12(A)に示す存在部屋確率データを,図12(D)に示す存在部屋確率データで更新する。
出力部104は,存在情報記憶部130に記憶されている最新の存在部屋確率データで確率が最大の部屋を,携帯端末10が存在する部屋の検知結果として出力する。図12(D)に示す存在部屋確率データでは,確率が最大である部屋#Bが出力される。
図12の示す例では,更新前の部屋#Aの確率は,図12(A)の存在部屋確率データに示すように,“0.8”という高い値になっている。これは,図12(B)に示す部屋遷移検知結果で,部屋#Aが遷移前の部屋とされたことと矛盾しない。そのため,図12に示す例では,遷移前の部屋#Aの確率が“0.8”から“0.19”に大きく減少され,遷移後の部屋#Bの確率が“0.1”から“0.786”に大きく増加されている。
このように,本実施の形態では,部屋遷移が検知される前の各部屋における存在可能性と,部屋遷移の検知結果の遷移前の部屋との関係において,互いに矛盾しないとみなせる場合には,遷移前の部屋と遷移後の部屋の存在可能性を大きく更新する。これは,検知された部屋遷移が,正しい可能性が高いからである。
図12に示す例において,部屋遷移が検知される前の図12(A)に示す存在部屋確率データでは,携帯端末10の存在可能性が最も高い部屋は部屋#Aであり,部屋遷移が検知された後の図12(D)に示す存在部屋確率データでは,携帯端末10の存在可能性が最も高い部屋は部屋#Bである。これは,図12(B)に示す部屋遷移検知結果に矛盾しない。
図13は,本実施の形態による存在部屋確率データの更新の例(2)を説明する図である。
部屋遷移が検知される前に存在情報記憶部130に記憶されていた,更新前の存在部屋確率データが,図13(A)に示す通りであったものとする。ここで,部屋遷移の検知によって,図13(B)に示すような部屋遷移検知結果が得られたものとする。
更新部103は,上述の〔処理1〕によって,図13(B)に示す部屋遷移検知結果における遷移前の部屋#Aの確率を更新する。図13(A)に示す存在部屋確率データにおいて,更新前の部屋#Aの確率は“0.1”である。図13(B)に示す部屋遷移検知結果において,確信度は“0.6”である。上記の式(4)から,更新後の部屋#Aの確率は,
0.1−0.1*0.6=0.04
となる。
更新部103は,上述の〔処理2〕によって,図13(B)に示す部屋遷移検知結果における遷移後の部屋#Bの確率を更新する。図13(A)に示す存在部屋確率データにおいて,更新前の部屋#Bの確率は“0.1”である。上記の式(5)から,更新後の部屋#Bの確率は,
0.1*(1−0.6)+0.1*0.6=0.1
となる。
更新部103は,上述の〔処理3〕によって,図13(B)に示す部屋遷移検知結果における遷移前/遷移後の部屋以外の部屋#C,部屋#Dの確率を更新する。図13(A)に示す存在部屋確率データにおいて,更新前の部屋#C,部屋#Dの確率は,それぞれ“0.1”,“0.7”である。上記の式(6)から,更新後の部屋#C,部屋#Dの確率は,それぞれ,
0.1*(1−0.6)=0.04
0.7*(1−0.6)=0.28
となる。
〔処理1〕〜〔処理3〕によって,図13(A)に示す存在部屋確率データにおける各部屋の確率を更新した結果の存在部屋確率データは,図13(C)に示す通りとなる。更新部103は,全部屋の確率の合計値が1になるように,図13(C)に示す存在部屋確率データを正規化する。図13(C)に示す存在部屋確率データを正規化した結果が,図13(D)に示す存在部屋確率データとなる。更新部103は,存在情報記憶部130に記憶されている図13(A)に示す存在部屋確率データを,図13(D)に示す存在部屋確率データで更新する。
出力部104は,存在情報記憶部130に記憶されている最新の存在部屋確率データで確率が最大の部屋を,携帯端末10が存在する部屋の検知結果として出力する。図13(A)に示す存在部屋確率データでは,確率が最大である部屋#Dが出力される。
図13の示す例では,更新前の部屋#Aの確率は,図13(A)の存在部屋確率データに示すように,“0.1”という低い値になっている。これは,図13(B)に示す部屋遷移検知結果で,部屋#Aが遷移前の部屋とされたことと矛盾する。そのため,図13に示す例では,遷移前の部屋#Aの確率が“0.1”から“0.087”に小さく減少され,遷移後の部屋#Bの確率が“0.1”から“0.217”に小さく増加されている。
このように,本実施の形態では,部屋遷移が検知される前の各部屋における存在可能性と,部屋遷移の検知結果の遷移前の部屋との関係において,互いに矛盾するとみなせる場合には,遷移前の部屋と遷移後の部屋の存在可能性の更新を小さくする。これは,検知された部屋遷移が,誤検知である可能性が高いからである。
図13に示す例において,部屋遷移が検知される前の図13(A)に示す存在部屋確率データでも,部屋遷移が検知された後の図13(D)に示す存在部屋確率データでも,携帯端末10の存在可能性が最も高い部屋は部屋#Dである。図13(B)に示す部屋遷移検知結果が誤検知である可能性を考えれば,この結果は妥当である。
ただし,図13(B)に示す部屋遷移検知結果が正しく,図13(A)に示す存在部屋確率データの確率が実状を表していない可能性もある。そのため,本実施の形態では,矛盾するとみなせる場合であっても,部屋遷移の検知結果をもとに小さい更新を行う。これにより,図13(A)に示す存在部屋確率データの確率が実状を表していない場合であっても,小さい更新を繰り返す過程で,その確率が徐々に正確な実状を表す確率に収束される。例えば,図13(A)に示す存在部屋確率データと,図13(D)に示す存在部屋確率データとでは,ともに部屋#Dの確率が最も高いが,図13(B)に示す部屋遷移検知結果を踏まえて,その確率が“0.7”から“0.609”に下げられている。
以下,本実施の形態のエリア検知部100によるエリア検知処理の流れの例について,図14,図15のフローチャートを用いて説明する。
図14,図15は,本実施の形態のエリア検知部によるエリア検知処理フローチャートである。
エリア検知部100において,信号強度取得部101は,各発信器から発信された無線信号について,観測された現在のRSSIを取得する(ステップS10)。また,信号強度取得部101は,信号強度記憶部110から,観測された直前のRSSIを取得する(ステップS11)。なお,信号強度取得部101は,取得した現在のRSSIを,信号強度記憶部110に記憶しておく。
判定部102は,カウンタiを1に初期化する(ステップS12)。判定部102は,カウンタjを1に初期化する(ステップS13)。
判定部102は,部屋iから部屋jへの遷移可能性があるかを判定する(ステップS14)。遷移可能性があるか否かは,例えば,特定場所信号強度記憶部120に記憶された図6に示すRSSI学習データを参照することにより,判定可能である。例えば,部屋1が部屋#Aを示し,部屋4が部屋#Dを示す場合に,図6に示すRSSI学習データから,部屋1から部屋4への遷移可能性があると判定できる。また,例えば,部屋2が部屋#Bを示し,部屋3が部屋#Cを示す場合に,図6に示すRSSI学習データから,部屋2から部屋3への遷移可能性がないと判定できる。なお,iとjとが同じ値である場合には,部屋iと部屋jは同じ部屋となるので,遷移可能性がないと判定される。遷移可能性がないと判定された場合には(ステップS14のNO),判定部102は,ステップS17の処理に進む。
遷移可能性があると判定された場合には(ステップS14のYES),判定部102は,RSSI学習データから,部屋i−部屋j間の遷移場所における,部屋i側地点のRSSIと部屋j側地点のRSSIとを取得する(ステップS15)。判定部102は,観測された直前のRSSI,現在のRSSIと,部屋i側地点のRSSI,部屋j側地点のRSSIとから,例えば上記の式(1)を用いて,部屋iから部屋jへの遷移尤度を算出する(ステップS16)。
判定部102は,カウンタjが最後であるかを判定する(ステップS17)。例えば,部屋が4つであれば,カウンタj=4が最後になる。カウンタjが最後でなければ(ステップS17のNO),判定部102は,カウンタjをインクリメントし(ステップS18),ステップS14の処理に戻る。カウンタjが最後であれば(ステップS17のYES),判定部102は,カウンタiが最後であるかを判定する(ステップS19)。例えば,部屋が4つであれば,カウンタi=4が最後になる。カウンタiが最後でなければ(ステップS19のNO),判定部102は,カウンタiをインクリメントし(ステップS20),ステップS13の処理に戻る。
カウンタiが最後であれば(ステップS19のYES),判定部102は,算出された遷移尤度が所定の尤度の閾値を超える部屋遷移があるかを判定する(ステップS21)。遷移尤度が所定の尤度の閾値を超える部屋遷移がなければ(ステップS21のNO),部屋遷移が検知されていないと判定されたことになる。このとき,存在情報記憶部130に記憶された存在部屋確率データの更新は行われない。出力部104は,存在部屋確率データにおいて確率が最大の部屋を,携帯端末10が存在する部屋の検知結果として出力する(ステップS33)。
遷移尤度が所定の尤度の閾値を超える部屋遷移があれば(ステップS21のYES),該当部屋遷移が検知されたと判定されたことになる。なお,ここでは,複数の部屋遷移の遷移尤度が閾値を超えている場合,最大の遷移尤度が得られた部屋遷移が検知されたものとする。判定部102は,検知された部屋遷移について,例えば上記の式(3)を用いて,遷移尤度から確信度を算出する(ステップS22)。
部屋遷移が検知された場合,更新部103は,存在情報記憶部130から存在部屋確率データを取得する(ステップS23)。更新部103は,カウンタkを1に初期化する(ステップS24)。
更新部103は,部屋遷移の検知結果において,部屋kが遷移前の部屋であるかを判定する(ステップS25)。部屋kが遷移前の部屋であれば(ステップS25のYES),更新部103は,上述の〔処理1〕に従って,遷移前の部屋である部屋kの確率を更新し(ステップS26),ステップS30の処理に進む。
部屋kが遷移前の部屋でなければ(ステップS25のNO),更新部103は,部屋遷移の検知結果において,部屋kが遷移後の部屋であるかを判定する(ステップS27)。部屋kが遷移後の部屋であれば(ステップS27のYES),更新部103は,上述の〔処理2〕に従って,遷移後の部屋である部屋kの確率を更新し(ステップS28),ステップS30の処理に進む。
部屋kが遷移後の部屋でなければ(ステップS27のNO),部屋kは,遷移前/遷移後の部屋以外の部屋である。更新部103は,上述の〔処理3〕に従って,遷移前/遷移後の部屋以外の部屋である部屋kの確率を更新し(ステップS29),ステップS30の処理に進む。
更新部103は,カウンタkが最後であるかを判定する(ステップS30)。例えば,部屋が4つであれば,カウンタk=4が最後になる。カウンタkが最後でなければ(ステップS30のNO),更新部103は,カウンタkをインクリメントし(ステップS31),ステップS25の処理に戻る。
カウンタkが最後であれば(ステップS30のYES),更新部102は,〔処理1〕〜〔処理3〕によって更新された存在部屋確率データを正規化する(ステップS32)。存在情報記憶部130に記憶される存在部屋確率データが,部屋遷移の検知結果が反映された新たな存在部屋確率データに更新される。出力部104は,存在部屋確率データにおいて確率が最大の部屋を,携帯端末10が存在する部屋の検知結果として出力する(ステップS33)。
以上説明した本実施の形態のエリア検知部100によって,携帯端末10の存在エリアの検知が可能となる。
本実施の形態によるエリア検知では,隣接するエリア間で遷移が起こり得る場所のRSSIのみを事前データとするので,事前データの準備の手間が少ない。また,隣接するエリア間で遷移が起こり得る場所でのみエリア遷移の検知が行われるので,誤検知で物理的に起こり得ないエリア間の遷移が検知されることはない。
また,本実施の形態によるエリア検知では,各エリアの存在可能性の情報を保持し,エリア間の遷移が検知された場合には,遷移前のエリアの存在可能性に応じて,遷移前のエリアの存在可能性と遷移後のエリアの存在可能性とを更新する。これにより,エリア間の遷移の検知結果に応じて,保持された各エリアの存在可能性を更新することが可能となる。すなわち,エリア間の遷移の検知結果が,正しい検知結果である可能性が高い場合には大きく,誤検知である可能性が高い場合にはそれなりに,保持された各エリアの存在可能性が更新される。
以上,本実施の形態について説明したが,本発明はその主旨の範囲において種々の変形が可能であることは当然である。
例えば,本実施の形態の例では,携帯端末10がエリア検知部100を備えて,自身が存在するエリアを検知しているが,エリア検知部100を備えるサーバが,携帯端末10の存在エリアを検知するようにしてもよい。例えば,携帯端末10がサーバに対して,観測されたRSSIを送信し,その観測されたRSSIをサーバのエリア検知部100が取得して,該当携帯端末10の存在エリアを検知し,サーバが該当携帯端末10に対してその存在エリアに応じたサービスを行うといった実施も可能である。
また,例えば,本実施の形態では,主にエリアが壁で区切られた屋内の部屋である場合の例を説明しているが,エリアは屋外の領域であってもよい。例えば,エリアが,低いフェンスなどで区切られた空間などであってもよい。