(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-09
(45)【発行日】2022-11-17
(54)【発明の名称】人流推定装置、人流推定方法、及び人流推定プログラム
(51)【国際特許分類】
G06Q 10/04 20120101AFI20221110BHJP
【FI】
G06Q10/04
(21)【出願番号】P 2019128428
(22)【出願日】2019-07-10
【審査請求日】2021-08-13
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(73)【特許権者】
【識別番号】504132272
【氏名又は名称】国立大学法人京都大学
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】田中 佑典
(72)【発明者】
【氏名】倉島 健
(72)【発明者】
【氏名】戸田 浩之
(72)【発明者】
【氏名】田中 利幸
【審査官】岸 健司
(56)【参考文献】
【文献】特開2019-95895(JP,A)
【文献】特開2017-16186(JP,A)
【文献】河井悠佑, 外3名,少量の移動履歴を考慮した大規模な集計データからの人流推定,日本データベース学会和文論文誌,日本データベース学会,2019年03月,Vol.17-J, Article No.7,p.1-8
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
複数の観測点の各々における各時間ステップの人の流入数からなる集計データである流入データ、及び前記複数の観測点の各々における各時間ステップの人の流出数からなる集計データである流出データに基づいて、前記流入データ、前記流出データ、各時間ステップにおいて各観測点間を移動した人数である移動人数、各時間ステップにおいて前記観測点のペアの各々についての一方から他方へ人が移動する遷移確率、前記複数の観測点の各々における各時間ステップの人の流入数に対するノイズである流入ノイズ、及び前記複数の観測点の各々における各時間ステップの人の流出数に対するノイズである流出ノイズを用いて表される目的関数を最適化するように、前記遷移確率のパラメータ、前記流入ノイズのパラメータ、前記流出ノイズのパラメータ、及び前記移動人数を推定するパラメータ推定部
を含む人流推定装置。
【請求項2】
前記目的関数は、前記流入データ、前記流出データ、前記移動人数、前記遷移確率、前記流入ノイズ、前記流出ノイズ、及び前記観測点のペアの各々についての一方から他方への移動時間の分布を表す移動時間分布を用いて表され、
前記パラメータ推定部は、前記目的関数を最適化するように、前記遷移確率のパラメータ、前記流入ノイズのパラメータ、前記流出ノイズのパラメータ、前記移動時間分布のパラメータ、及び前記移動人数を推定する
請求項1記載の人流推定装置。
【請求項3】
前記パラメータ推定部は、EMアルゴリズムにより、前記遷移確率のパラメータ、前記流入ノイズのパラメータ、及び前記流出ノイズのパラメータを固定して前記移動人数を推定するEステップと、前記Eステップにより推定された前記移動人数を用いて前記遷移確率のパラメータ、前記流入ノイズのパラメータ、及び前記流出ノイズのパラメータを推定するMステップとを繰り返すことにより、前記目的関数を最適化する、前記遷移確率のパラメータ、前記流入ノイズのパラメータ、前記流出ノイズのパラメータ、及び前記移動人数を推定する
請求項1記載の人流推定装置。
【請求項4】
前記パラメータ推定部は、EMアルゴリズムにより、前記遷移確率のパラメータ、前記流入ノイズのパラメータ、前記流出ノイズのパラメータ、及び前記移動時間分布のパラメータを固定して前記移動人数を推定するEステップと、前記Eステップにより推定された前記移動人数を用いて前記遷移確率のパラメータ、前記流入ノイズのパラメータ、前記流出ノイズのパラメータ、及び前記移動時間分布のパラメータを推定するMステップとを繰り返すことにより、前記目的関数を最適化する、前記遷移確率のパラメータ、前記流入ノイズのパラメータ、前記流出ノイズのパラメータ、前記移動時間分布のパラメータ、及び前記移動人数を推定する
請求項2記載の人流推定装置。
【請求項5】
人流推定を行う対象である対象時間ステップの入力を受け付ける検索部と、
前記パラメータ推定部により推定された、前記対象時間ステップにおける前記複数の観測点の各々における移動人数を出力する出力部と、
を含む請求項1~請求項4の何れか1項記載の人流推定装置。
【請求項6】
パラメータ推定部が、複数の観測点の各々における各時間ステップの人の流入数からなる集計データである流入データ、及び前記複数の観測点の各々における各時間ステップの人の流出数からなる集計データである流出データに基づいて、前記流入データ、前記流出データ、各時間ステップにおいて各観測点間を移動した人数である移動人数、各時間ステップにおいて前記観測点のペアの各々についての一方から他方へ人が移動する遷移確率、前記複数の観測点の各々における各時間ステップの人の流入数に対するノイズである流入ノイズ、及び前記複数の観測点の各々における各時間ステップの人の流出数に対するノイズである流出ノイズを用いて表される目的関数を最適化するように、前記遷移確率のパラメータ、前記流入ノイズのパラメータ、前記流出ノイズのパラメータ、及び前記移動人数を推定する
人流推定方法。
【請求項7】
コンピュータを、請求項1乃至5の何れか1項記載の人流推定装置の各部として機能させるための人流推定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は、人流推定装置、人流推定方法、及び人流推定プログラムに関する。
【背景技術】
【0002】
センサ、GPS(Global Positioning System)等から得られる人間の位置情報は、プライバシーの観点から個人を追跡できないよう集計データ(aggregated data)として提供されることがある。集計データとは、時間及び空間に対してある粒度でサンプルを集計したデータのことを指す。具体的には、ある時間ステップtにおいて、ある観測点iから流出した人数(流出数)と、ある観測点iに流入した人数(流入数)とが与えられる。従来技術として、人間が移動する観測点間のつながりをグラフで表現し、グラフ上の人の流れを確率モデルにより表現することで、集計データに基づいて観測点間を移動する人数を推定し、将来の人流量の推定を行う手法であるCFDM(Collective Flow Diffusion Model)が提案されている(例えば、非特許文献1、2)。CFDMでは、「時間ステップtにおいて全ての観測点から流出した人の合計人数と、同じ時間ステップtにおいて全ての観測点に流入する人の合計人数は等しい」という「移動人数の保存」を表す制約を加味した最適化問題を解くことによって、人流の推定を行っている。
【0003】
また、CFDMの改良として、観測点間の移動時間をモデルに組み込み、移動時間分布を同時に推定する手法が提案されている(非特許文献3)。非特許文献3の手法は、観測点の数が少なく、観測点における人の流入と流出との間に時間遅れが発生する場合に有効であることが知られている。
【先行技術文献】
【非特許文献】
【0004】
【文献】A. Kumar, D. Sheldon, and B. Srivastava, “Collective Diffusion over Networks: Models and Inference”, In Proceedings of International Conference on Uncertainty in Artificial Intelligence (UAI) , 2013, pp.351-360.
【文献】D. Sheldon, T. Sun, A. Kumar, and T. G. Dietterich, “Approximate Inference in Collective Graphical Models”, In Proceedings of International Conference on Machine Learning (ICML) , 2013, pp.1004-1012.
【文献】Y. Tanaka, T. Iwata, T. Kurashima, H. Toda, and N. Ueda, "Estimating latent people flow without tracking individuals", In IJCAI'18, 2018, pp.3556-3563.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、現実問題への従来手法の適用を考えると「移動人数の保存」を表す制約は必ずしも満たされるとは限らない。すなわち、(1)観測対象とする人の合計人数が変動する場合や、(2)観測可能範囲に制限がある場合を考慮していないため、人流の推定精度が低下してしまう、という問題があった。
【0006】
開示の技術は、上記の点に鑑みてなされたものであり、各時間ステップにおける各観測点の人流量を精度良く推定することができる人流推定装置、人流推定方法、及び人流推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示の第1態様は、人流推定装置であって、複数の観測点の各々における各時間ステップの人の流入数からなる集計データである流入データ、及び前記複数の観測点の各々における各時間ステップの人の流出数からなる集計データである流出データに基づいて、前記流入データ、前記流出データ、各時間ステップにおいて各観測点間を移動した人数である移動人数、各時間ステップにおいて前記観測点のペアの各々についての一方から他方へ人が移動する遷移確率、前記複数の観測点の各々における各時間ステップの人の流入数に対するノイズである流入ノイズ、及び前記複数の観測点の各々における各時間ステップの人の流出数に対するノイズである流出ノイズを用いて表される目的関数を最適化するように、前記遷移確率のパラメータ、前記流入ノイズのパラメータ、前記流出ノイズのパラメータ、及び前記移動人数を推定するパラメータ推定部を含む。
【0008】
本開示の第2態様は、人流推定方法であって、パラメータ推定部が、複数の観測点の各々における各時間ステップの人の流入数からなる集計データである流入データ、及び前記複数の観測点の各々における各時間ステップの人の流出数からなる集計データである流出データに基づいて、前記流入データ、前記流出データ、各時間ステップにおいて各観測点間を移動した人数である移動人数、各時間ステップにおいて前記観測点のペアの各々についての一方から他方へ人が移動する遷移確率、前記複数の観測点の各々における各時間ステップの人の流入数に対するノイズである流入ノイズ、及び前記複数の観測点の各々における各時間ステップの人の流出数に対するノイズである流出ノイズを用いて表される目的関数を最適化するように、前記遷移確率のパラメータ、前記流入ノイズのパラメータ、前記流出ノイズのパラメータ、及び前記移動人数を推定する。
【発明の効果】
【0009】
開示の技術によれば、各時間ステップにおける各観測点の人流量を精度良く推定することができる。
【図面の簡単な説明】
【0010】
【
図1】本実施形態に係る人流推定装置として機能するコンピュータの概略構成を示すブロック図である。
【
図2】本実施形態に係る人流推定装置の機能構成の例を示すブロック図である。
【
図3】本実施形態に係る人流推定装置の出力例を示す図である。
【
図4】本実施形態に係る人流推定装置の人流推定処理ルーチンを示すフローチャートである。
【
図5】本実施形態に係る人流推定装置のパラメータ推定処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【0011】
<本開示の技術の実施形態に係る人流推定装置の概要>
まず、本実施形態に係る人流推定装置の概要について説明する。
従来技術では、「時間ステップtにおいて全ての観測点から流出した人の合計人数と、同じ時間ステップtにおいて全ての観測点に流入する人の合計人数は等しい」という「移動人数の保存」を表す制約を加味した最適化問題を解くことによって、集計データから人流の推定を行うことができる。しかし、現実問題への適用を考えると「移動人数の保存」を表す制約は必ずしも満たされるとは限らない。そこで、本開示では、「移動人数の保存」を表す制約を破り得る要因として、以下の2つの要因について考える。
【0012】
<<1.観測対象とする人の合計人数の変動>>
例として、展示会場で位置情報を取得する場合を考える。展示会場内のイベントブースにはセンサが設置されており、各イベントブースにおける人の流入数及び流出数を時間ステップ毎に取得できるものとする。展示会場には人の出入りがあるため、会場内にいる人の合計人数は変動する。つまり、流入数には「新たに会場に到着した人」が含まれ、流出数には「会場から出て行った人」が含まれる。従って、このような場合に「移動人数の保存」の制約は満たされない。
【0013】
<<2.観測可能範囲の制限>>
上記と同様に展示会場での例を考える。展示会場が広い場合、会場を全て覆うような膨大な数のセンサを配置することはコストの観点で現実的ではない。上記のようにセンサの個数が限られている状況においては、観測対象とする全ての人を全ての時間ステップにおいて観測することは難しい。ある時間ステップtに出発した全ての人が、同時間ステップにおいて他のブースに到着するわけではない。従って、このような場合に「移動人数の保存」の制約は満たされない。
【0014】
従来技術では、上記の2つの要因を同時に加味しないため、人流推定精度が低下するという問題が存在した。本開示は、上記の点に鑑みてなされたものであり、(1)各観測点における流入数及び流出数にノイズモデルを仮定することにより、集計データに基づいたロバストな人流推定を実現することを目標とする。更に、本開示は、(2)観測点間の移動時間を「移動人数の保存」の制約に組み込むことによって、集計データに基づいたロバストな人流推定を実現することを目標とする。そのための手段として、下記手段1及び手段2を開示する。
【0015】
<<手段1:ノイズを加味した確率モデル及びパラメータ推定手段>>
「観測点間の人の遷移確率分布」と、「各時間ステップにおいて各観測点間を移動した人数」と、「各観測点における流入数に対する確率分布」と、「各観測点における流出数に対する確率分布」とを未知変数とする確率モデルに基づいて、集計データからEMアルゴリズムを用いて確率モデルの未知変数を推定する手段を有する。
【0016】
観測対象とする範囲(例えば展示会場)には人の出入りがあるため、会場内にいる人の合計人数は変動する。つまり、流入数には「新たに会場に到着した人」が含まれ、流出数には「会場から出て行った人」が含まれる。このような場合に「移動人数の保存」の制約は満たされないことが考えられる。手段1に対する効果として、「各観測点における流入数に対する確率分布」と「各観測点における流出数に対する確率分布」とを導入することによって、各観測点におけるノイズの大きさ(制約の強さ)を加味しながら、ロバストな人流推定を行うことができる。
【0017】
<<手段2:ノイズと移動時間を加味した確率モデル及びパラメータ推定手段>>
「観測点間の人の遷移確率分布」と、「各時間ステップにおいて各観測点間を移動した人数」と、「各観測点における流入数に対する確率分布」と、「各観測点における流出数に対する確率分布」と、「各観測点間の移動時間分布」とを未知変数とする確率モデルに基づいて、集計データからEMアルゴリズムを用いて確率モデルの未知変数を推定する手段を有する。
【0018】
手段2に対する効果として、手段1に対する効果に加えて、「各観測点間の移動時間分布」を「移動人数の保存」の制約に組み込むことによって、センサの個数が限られている状況において、観測対象とする全ての人を全ての時間ステップにおいて観測することは難しい場合でも、ロバストに人流推定を行うことができる。
【0019】
<本開示の技術の実施形態に係る人流推定装置の構成>
以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
【0020】
図1は、本実施形態に係る人流推定装置10のハードウェア構成を示すブロック図である。
図1に示すように、人流推定装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16及び通信インタフェース(I/F)17を有する。各構成は、バス19を介して相互に通信可能に接続されている。
【0021】
CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。本実施形態では、ROM12又はストレージ14には、パラメータ推定処理を含む処理を実行するための人流推定プログラムが格納されている。
【0022】
ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
【0023】
入力部15は、マウス等のポインティングデバイス、及びキーボードを含み、各種の入力を行うために使用される。
【0024】
表示部16は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能しても良い。
【0025】
通信インタフェース17は、外部装置(図示しない)等の他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
【0026】
次に、人流推定装置10の機能構成について説明する。
図2は、人流推定装置10の機能構成の例を示すブロック図である。
図2に示すように、人流推定装置10は、機能構成として、流入数格納部101と、流出数格納部102と、操作部103と、検索部104と、人流算出部105と、出力部113とを有する。各機能構成は、CPU11がROM12又はストレージ14に記憶された人流推定プログラムを読み出し、RAM13に展開して実行することにより実現される。
【0027】
流入数格納部101には、複数の観測点の各々における各時間ステップの人の流入数からなる集計データである流入データが格納されている。集計データとは、時間及び空間に対してある粒度でサンプルを集計したデータのことを指す。対象とするデータは、個人が「どこからどこへ行ったか」という追跡を行うことができないようになっているものとする。以下では、一例として、一般的な位置情報の集計データが与えられた条件の下で、人流推定を行う場合について説明する。
【0028】
具体的には、流入数格納部101には、人流算出部105によって解析され得る流入データYinが格納されており、流入数格納部101は、人流算出部105からの要求に従って、流入データYinを読み出し、人流算出部105に送信する。今、観測点をiとし、時間ステップをtとしたとき、観測点iにおける時間ステップtの流入数をYin
t,iと表す。ここで、Yin
t,iは、時間区間[t-1,t)に観測点iに流入した人の合計を表すものとする。流入数格納部101に格納されている流入データYinは、下記式で表される。
【0029】
【0030】
ここで、上記式において、Tは全時間ステップ数であり、集合V(数式中では、Vは太字。以下、明細書中において、単にVと表記する)は全観測点の集合である。
【0031】
流出数格納部102には、複数の観測点の各々における各時間ステップの人の流出数からなる集計データである流出データが格納されている。
【0032】
具体的には、流出数格納部102には、人流算出部105によって解析され得る流出データYoutが格納されており、流出数格納部102は、人流算出部105からの要求に従って、流出データYoutを読み出し、人流算出部105に送信する。観測点iにおける時間ステップtの流出量をYout
t,iと表す。ここで、Yout
t,iは、時間区間[t-1,t)に観測点iから流出した人の合計を表すものとする。流出数格納部102に格納されている流出データYoutは、下記式で表される。
【0033】
【0034】
なお、流入数格納部101及び流出数格納部102は、Webサーバや、データベースを具備するデータベースサーバ等として構成することもできる。
【0035】
操作部103は、流入数格納部101及び流出数格納部102に格納されている集計データに対するユーザからの各種操作を受け付ける。各種操作とは、データを登録、修正、削除する操作等である。そして、操作部103は、受け付けた各種操作に応じて、流入数格納部101及び流出数格納部102に格納されている集計データに対して操作を行う。流入数格納部101及び流出数格納部102に格納されている集計データは、ユーザから受け付けた各種操作に基づいて、操作部103により予め格納されたものである。
【0036】
検索部104は、人流推定を行う対象である対象時間ステップtの入力を受け付ける。そして、検索部104は、受け付けた対象時間ステップtを、人流算出部105に渡す。
【0037】
人流算出部105は、人流推定を行うためのパラメータ及び各観測点における移動人数を推定する。具体的には、人流算出部105は、パラメータ推定部106と、遷移確率パラメータ格納部107と、移動人数格納部108と、移動時間分布パラメータ格納部109と、流入数に対するノイズパラメータ格納部110と、流出数に対するノイズパラメータ格納部111と、人流取得部112とを有する。
【0038】
パラメータ推定部106は、複数の観測点の各々における各時間ステップの人の流入数からなる集計データである流入データ、及び複数の観測点の各々における各時間ステップの人の流出数からなる集計データである流出データに基づいて、当該流入データ、当該流出データ、各時間ステップにおいて各観測点間を移動した人数である移動人数、各時間ステップにおいて当該観測点のペアの各々についての一方から他方へ人が移動する遷移確率、複数の観測点の各々における各時間ステップの人の流入数に対するノイズである流入ノイズ、及び当該複数の観測点の各々における各時間ステップの人の流出数に対するノイズである流出ノイズ、及び観測点のペアの各々についての一方から他方への移動時間の分布を表す移動時間分布を用いて表される目的関数を最適化するように、遷移確率のパラメータ、流入ノイズのパラメータ、流出ノイズのパラメータ、移動時間分布のパラメータ、及び移動人数を推定する。
【0039】
具体的には、パラメータ推定部106は、EMアルゴリズムにより、遷移確率のパラメータ、流入ノイズのパラメータ、流出ノイズのパラメータ、及び移動時間分布のパラメータを固定して移動人数を推定するEステップと、Eステップにより推定された移動人数を用いて遷移確率のパラメータ、流入ノイズのパラメータ、流出ノイズのパラメータ、及び移動時間分布のパラメータを推定するMステップとを繰り返すことにより、当該目的関数を最適化する、遷移確率のパラメータ、流入ノイズのパラメータ、流出ノイズのパラメータ、移動時間分布のパラメータ、及び移動人数を推定する。
【0040】
パラメータ推定部106は、流入データ及び流出データを学習データとして、遷移確率のパラメータ、流入ノイズのパラメータ、流出ノイズのパラメータ、及び移動時間分布のパラメータ、及び移動人数を、これらの未知変数を組み込んだ上で、観測点間のつながりをグラフとして表現し、当該グラフ上の人の流れを確率モデルにより表現し、EMアルゴリズムにより推定を行う。以下に、当該確率モデル及びパラメータの推定方法について説明する。
【0041】
観測点iから観測点jへと移動する遷移確率をθij≧0とし、下記式を満たすものとする。
【0042】
【0043】
ここで、Ei(数式では太字のE)は、Ei⊂Vであり、観測点iの近傍の観測点の集合を表す。Nout
t,iをYout
t,iからノイズが取り除かれた人数を表す潜在変数とし、Nin
t,iをYin
t,iからノイズが取り除かれた人数を表す潜在変数とする。更に、時間ステップtに観測点iを出発し、その後観測点jに到着する人数をMtijとし、観測点iからの移動人数をまとめて下記式で表す。
【0044】
【0045】
流入数Nout
t,iが与えられたとしたとき、iからの移動人数Mtiは、下記式(1)で表される多項分布に従って生成するものと仮定する。
【0046】
【0047】
ここで、θiは、下記式で表されることとした。
【0048】
【0049】
次に、「移動人数の保存」を表す2つの制約を、下記式(2)及び(3)とする。
【0050】
【0051】
上記式(2)は、時間ステップtにおいて、観測点iから流出する人数の保存を表す。また、上記式(3)は、時間ステップtにおいて、観測点iに流入する人数の保存を表す。ここで、Δt,τ=t-τは移動時間を表し、τは出発時間ステップを、tは到着時間ステップを表す。F(Δt,τ;γji)≧0は移動時間確率であり、観測点jから観測点iへの移動にかかる時間がΔt,τである確率を表す。γjiは、移動時間分布のスケールを決めるパラメータである。
【0052】
次に、移動時間確率Fを具体的に計算する方法について述べる。まず、連続時間を表す変数をΔ>0として、連続時間上における移動時間分布をf(Δ;γji)とする。ここで、f(Δ;γji)には様々な確率密度関数を使用することが考えられる。指数分布及びレイリー分布を用いた場合についてまとめた例を、下記表に示す。
【0053】
【0054】
移動時間分布f(Δ;γji)を各時間区間[Δt,τ,Δt,τ+1]において積分した値を下記式(4)とし、下記式(4)を移動時間確率として用いる。
【0055】
【0056】
次に、「移動人数の保存」を表す2つの制約を示す上記式(2)及び式(3)が、ノイズにより満たされない状況を考える。観測であるYout
t,i及びYin
t,iは、Nout
t,i及びNin
t,iをそれぞれの平均とする下記式(5)及び式(6)に表されるガウス分布に従って生成されるものと仮定する。
【0057】
【0058】
ここで、σi
2>0及びλi
2>0は、観測点iにおける流出数及び流入数のそれぞれに対するノイズ分散を表すパラメータ(以下、「ノイズパラメータ」という)である。これらのノイズパラメータは、各観測点における「移動人数の保存」を表す制約をどの程度加味するか、を制御する役割を果たす。
【0059】
パラメータ推定部106において推定すべきパラメータは、遷移確率パラメータ
、移動時間分布パラメータ
、流出数に対するノイズパラメータ
、及び流入数に対するノイズパラメータ
である。
【0060】
次に、パラメータ推定部106が、EMアルゴリズムに基づいてパラメータ推定を行う方法について説明する。推定すべき全てのパラメータをまとめてΦ={Θ,Γ,Σ,Λ}と書く。Q関数をQ(Φ^,Φ)とすると、下記式(7)で書くことができる。なお、X^は数式中では、記号X上に“^”であることを示す。
【0061】
【0062】
ここで、Φ^={Θ^,Γ^,Σ^,Λ^}は、現在の推定値を表すものとする。上記式(7)におけるMの全ての場合について和を計算することは、計算量の観点から困難である。そこで、当該Q関数を近似的に計算し、下記式(8)で表す。
【0063】
【0064】
ここで、M^は事後確率最大化によって求められるMAP推定値であり、下記式(9)である。
【0065】
【0066】
同様の近似手法が非特許文献2において導入されており、計算機実験の結果、妥当なパラメータ推定が行えることが示されている。EMアルゴリズムの手順は、Eステップにおいて、上記式(9)を解くことによりMAP推定値M^を推定し、Mステップにおいて、上記式(8)におけるQ関数を最大にするようなΦを推定する。パラメータ推定部106は、このEステップ及びMステップを、値の変動が収束するまで繰り返す。以下、Eステップ及びMステップにおいて解くべき最適化問題について具体的に述べる。
【0067】
<<Eステップ>>
Eステップについて説明する。パラメータの現在の推定値Φ^が与えられたとする。ベイズの定理を用いると、Mの事後分布は、下記式(10)で書くことができる。
【0068】
【0069】
ここで、「移動人数の保存」を表す制約式である上記式(2)及び式(3)を、上記式(9)に代入した。また、スターリングの近似
を用いて、logM
tij!及び
を近似した。上記式(10)において、Mに関する目的関数をL(M)とした。以上より、Eステップにおいて解くべき最適化問題は、下記式(11)となる。
【0070】
【0071】
上記式(11)は、例えばL-BFGS-B method(参考文献1)を用いて解くことができる。
[参考文献1]R. H. Byrd, P. Lu, J. Nocedal, and C. Zhu, "A limited memory algorithm for bound constrained optimization", SIAM Journal on Scientific Computing, 1995, 16:1190-1208.
【0072】
<<Mステップ>>
次に、Mステップについて説明する。移動人数の現在の推定値M^が与えられたとすると、近似されたQ関数は、下記式(12)と書ける。
【0073】
【0074】
ここで、パラメータに関する目的関数をJ(Θ,Γ,Σ,Λ)とおいた。θijの推定値は、ラグランジュの未定乗数法を用いて、下記式(13)となる。
【0075】
【0076】
その他のパラメータであるΓ、Σ、及びΛについては、下記式(14)で表される最適化問題を解くことにより求める。
【0077】
【0078】
そして、パラメータ推定部106は、上記Eステップ及びMステップをパラメータΦ^及び移動人数M^の値の変動が収束するまで繰り返し、求めたΘ^を遷移確率のパラメータとして遷移確率パラメータ格納部107に、求めたM^を移動人数として移動人数格納部108に、求めたΓ^を移動時間分布のパラメータとして移動時間分布パラメータ格納部109に、求めたΛ^を流入ノイズのパラメータとして流入数に対するノイズパラメータ格納部110に、求めたΣ^を流出ノイズのパラメータとして流出数に対するノイズパラメータ格納部111に、それぞれ格納する。
【0079】
遷移確率パラメータ格納部107には、パラメータ推定部106により推定された遷移確率のパラメータΘ^が格納されている。移動人数格納部108には、パラメータ推定部106により推定された移動人数M^が格納されている。移動時間分布パラメータ格納部109には、パラメータ推定部106により推定された移動時間分布のパラメータΓ^が格納されている。流入数に対するノイズパラメータ格納部110には、パラメータ推定部106により推定された流入ノイズのパラメータΛ^が格納されている。流出数に対するノイズパラメータ格納部111には、パラメータ推定部106により推定された流出ノイズのパラメータΣ^が格納されている。遷移確率パラメータ格納部107、移動人数格納部108、移動時間分布パラメータ格納部109、流入数に対するノイズパラメータ格納部110、及び流出数に対するノイズパラメータ格納部111は、格納された推定値が保存され、復元可能なものであればなんでもよい。例えば、データベースや、予め備えられた汎用的な記憶装置(メモリやハードディスク装置)の特定領域に記憶される構成としてもよい。
【0080】
人流取得部112は、検索部104で受け付けた対象時間ステップtにおける移動人数M^を、移動人数格納部108から取得する。そして、人流取得部112は、取得した対象時間ステップtにおける移動人数M^を出力部113に渡す。
【0081】
出力部113は、対象時間ステップtにおける移動人数M^に基づいて、各観測点間の移動人数を出力する。具体的には、出力部113は、表示部16に対象時間ステップtにおける各観測点間の移動人数を出力する。
図3に、5つの観測点(i
1,i
2,i
3,i
4,i
5)が存在するときの出力部113の出力例を示す。検索部104から分析対象とする対象時間ステップを受け取り、それに応じて、5つの観測点間の移動人数及び可視化結果が表示される。可視化結果における矢印の太さは、該当の観測点間の移動人数に比例して決まるものとする。このような出力例を用いて、例えば展示会場内の人々の行動パターンを把握することができ、ナビゲーションや混雑緩和への対応策の検討等に活用することができる。
【0082】
<本開示の技術の実施形態に係る人流推定装置の作用>
次に、人流推定装置10の作用について説明する。
図4は、人流推定装置10による人流推定処理の流れを示すフローチャートである。CPU11がROM12又はストレージ14からパラメータ推定プログラムを読み出して、RAM13に展開して実行することにより、人流推定処理が行なわれる。
【0083】
ステップS101において、CPU11は、パラメータ推定部106として、複数の観測点の各々における各時間ステップの人の流入数からなる集計データである流入データ、及び複数の観測点の各々における各時間ステップの人の流出数からなる集計データである流出データに基づいて、当該流入データ、当該流出データ、各時間ステップにおいて各観測点間を移動した人数である移動人数、各時間ステップにおいて当該観測点のペアの各々についての一方から他方へ人が移動する遷移確率、複数の観測点の各々における各時間ステップの人の流入数に対するノイズである流入ノイズ、及び当該複数の観測点の各々における各時間ステップの人の流出数に対するノイズである流出ノイズ、及び観測点のペアの各々についての一方から他方への移動時間の分布を表す移動時間分布を用いて表される目的関数を最適化するように、遷移確率のパラメータ、流入ノイズのパラメータ、流出ノイズのパラメータ、移動時間分布のパラメータ、及び移動人数を推定する。
【0084】
ステップS102において、CPU11は、検索部104として、人流推定を行う対象である対象時間ステップtの入力を受け付ける。
【0085】
ステップS103において、CPU11は、人流取得部112として、上記ステップS102により受け付けた対象時間ステップtにおける移動人数M^を、移動人数格納部108から取得する。
【0086】
ステップS104において、CPU11は、出力部113として、上記ステップS103により取得した対象時間ステップtにおける移動人数M^に基づいて、各観測点間の移動人数を出力し、処理を終了する。
【0087】
ここで、上記ステップS101におけるパラメータ推定処理について説明する。
図5は、上記ステップS101におけるパラメータ推定処理ルーチンを示すフローチャートである。
【0088】
ステップS201において、CPU11は、パラメータ推定部106として、遷移確率パラメータ格納部107、移動時間分布パラメータ格納部109、流入数に対するノイズパラメータ格納部110、及び流出数に対するノイズパラメータ格納部111から、現在のΦ^として、予め定めたΦの初期値を取得する。
【0089】
ステップS202において、CPU11は、パラメータ推定部106として、遷移確率のパラメータΘ^、流入ノイズのパラメータΛ^、流出ノイズのパラメータΣ^、及び移動時間分布のパラメータΓ^を固定して移動人数M^を推定するEステップを実行する。
【0090】
ステップS203において、CPU11は、パラメータ推定部106として、上記ステップS202により推定された移動人数M^を用いて遷移確率のパラメータΘ^、流入ノイズのパラメータΛ^、流出ノイズのパラメータΣ^、及び移動時間分布のパラメータΓ^を推定するMステップを実行する。
【0091】
ステップS204において、CPU11は、パラメータ推定部106として、値の変動が収束したか否かを判定する。
【0092】
値の変動が収束していない場合(上記ステップS204のNO)、CPU11は、ステップS202に戻る。一方、値の変動が収束した場合(上記ステップS204のYES)、ステップS205において、CPU11は、パラメータ推定部106として、求めたΘ^を遷移確率のパラメータとして遷移確率パラメータ格納部107に、求めたM^を移動人数として移動人数格納部108に、求めたΓ^を移動時間分布のパラメータとして移動時間分布パラメータ格納部109に、求めたΛ^を流入ノイズのパラメータとして流入数に対するノイズパラメータ格納部110に、求めたΣ^を流出ノイズのパラメータとして流出数に対するノイズパラメータ格納部111に、それぞれ格納し、リターンする。
【0093】
以上説明したように、本開示に係る人流推定装置によれば、複数の観測点の各々における各時間ステップの人の流入数からなる集計データである流入データ、及び複数の観測点の各々における各時間ステップの人の流出数からなる集計データである流出データに基づいて、当該流入データ、当該流出データ、各時間ステップにおいて各観測点間を移動した人数である移動人数、各時間ステップにおいて観測点のペアの各々についての一方から他方へ人が移動する遷移確率、複数の観測点の各々における各時間ステップの人の流入数に対するノイズである流入ノイズ、及び複数の観測点の各々における各時間ステップの人の流出数に対するノイズである流出ノイズを用いて表される目的関数を最適化するように、遷移確率のパラメータ、流入ノイズのパラメータ、流出ノイズのパラメータ、及び移動人数を推定することにより、「移動人数の保存」の制約に対しノイズを加味したパラメータ推定を実現し、各時間ステップにおける各観測点間の人流量を精度良く推定することができる。
【0094】
また、本開示に係る人流推定装置によれば、流入データ、流出データ、移動人数、遷移確率、流入ノイズ、流出ノイズ、及び観測点のペアの各々についての一方から他方への移動時間の分布を表す移動時間分布を用いて表される目的関数を最適化するように、遷移確率のパラメータ、流入ノイズのパラメータ、流出ノイズのパラメータ、移動時間分布のパラメータ、及び移動人数を推定することにより、「移動人数の保存」の制約に対しノイズと移動時間を加味したパラメータ推定を実現し、各時間ステップにおける各観測点間の人流量をより精度良く推定することができる。
【0095】
なお、本開示は、上述した実施形態に限定されるものではなく、本開示の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0096】
例えば、上記開示では、集計データは一般的な位置情報としたが、これに限定されるものではなく、様々な位置情報の集計データを用いることができる。例えば、屋内及び屋外におけるセンサ(BLE等)やカメラ、Wi-Fiなどによって取得された位置情報を対象としたものであり、観測データに応じて柔軟に適用できるものである。
【0097】
なお、上記実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した人流推定プログラムを、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、人流推定プログラムを、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【0098】
また、上記実施形態では、人流推定プログラムがストレージ14に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【符号の説明】
【0099】
10 人流推定装置
11 CPU
12 ROM
13 RAM
14 ストレージ
15 入力部
16 表示部
17 通信インタフェース
19 バス
101 流入数格納部
102 流出数格納部
103 操作部
104 検索部
105 人流算出部
106 パラメータ推定部
107 遷移確率パラメータ格納部
108 移動人数格納部
109 移動時間分布パラメータ格納部
110 流入数に対するノイズパラメータ格納部
111 流出数に対するノイズパラメータ格納部
112 人流取得部
113 出力部