IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立情報通信エンジニアリングの特許一覧

特許7526589移動体移動予測システム及び移動体移動予測方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-24
(45)【発行日】2024-08-01
(54)【発明の名称】移動体移動予測システム及び移動体移動予測方法
(51)【国際特許分類】
   G06Q 30/0202 20230101AFI20240725BHJP
   G06Q 10/04 20230101ALI20240725BHJP
【FI】
G06Q30/0202
G06Q10/04
【請求項の数】 8
(21)【出願番号】P 2020086998
(22)【出願日】2020-05-18
(65)【公開番号】P2021182220
(43)【公開日】2021-11-25
【審査請求日】2023-02-03
(73)【特許権者】
【識別番号】000233295
【氏名又は名称】株式会社日立情報通信エンジニアリング
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】北野 佑
【審査官】野元 久道
(56)【参考文献】
【文献】特開2012-108748(JP,A)
【文献】特開2011-118777(JP,A)
【文献】特開2012-103902(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
プロセッサと、記憶装置と、を有する移動体移動予測システムであって、
前記記憶装置は、
移動体の時刻ごとの位置情報を含む動線情報と、
前記移動体が移動可能な空間の地図情報と、
前記移動体の移動に関する状態を示す状態情報と、を保持し、
前記地図情報は、それぞれ前記移動体が通過、滞留及び行列の少なくともいずれかをし得る複数のチェックポイントの位置及び種類の情報を含み、
前記地図情報は、前記複数のチェックポイントの種類の情報として、各チェックポイントの種類が行列型であるかを示す情報を含み、
前記移動体の状態は、前記行列型のチェックポイントの行列に並んでいる状態を含み、
前記プロセッサは、
前記動線情報、前記地図情報及び前記移動体の状態に基づいて、前記移動体の移動先を予測する移動モデルを学習し、
前記移動体の初期条件及び前記移動モデルに基づいて前記移動体の仮想的な動線を生成し、
前記動線情報及び前記地図情報に基づいて、前記行列型のチェックポイントから所定の距離以内かつ最近傍にあり、かつ、移動速度が所定の値以下である前記移動体の状態を、前記行列型のチェックポイントの行列の先頭に並んでいる状態と判定し、前記行列における順序が特定されている前記移動体から所定の距離以内かつ最近傍にあり、かつ、移動速度が所定の値以下である前記移動体の状態を、前記行列における順序が特定されている前記移動体の次に並んでいる状態と判定し、判定の結果を前記状態情報として前記記憶装置に格納することを特徴とする移動体移動予測システム。
【請求項2】
請求項1に記載の移動体移動予測システムであって、
前記地図情報は、前記複数のチェックポイントの種類の情報として、各チェックポイントの種類が滞留型であるかを示す情報を含み、
前記移動体の状態は、前記滞留型のチェックポイントに滞留している状態を含み、
前記プロセッサは、前記滞留型のチェックポイントの領域内で、所定の時間以上、移動速度が所定の値以下である前記移動体の状態を、前記滞留型のチェックポイントに滞留している状態と判定することを特徴とする移動体移動予測システム。
【請求項3】
請求項1に記載の移動体移動予測システムであって、
前記移動モデルには、前記移動体と前記移動体の目的地との位置関係が入力され、
前記行列型のチェックポイントに前記移動体が並んでいない場合、前記行列型のチェックポイントに向かう前記移動体の目的地は、前記行列型のチェックポイントに属するいずれかの地点であり、
前記行列型のチェックポイントに1以上の前記移動体が並んでいる場合、前記行列型のチェックポイントに向かう前記移動体の目的地は、前記行列の最後尾に並んでいる前記移動体の位置であり、
前記行列型のチェックポイントに1以上の前記移動体が並んでいる場合、前記行列型のチェックポイントの先頭に並んでいる前記移動体の目的地は、前記行列型のチェックポイントに属するいずれかの地点であり、
前記行列型のチェックポイントに2以上の前記移動体が並んでいる場合、前記行列型のチェックポイントの2番目以降に並んでいる前記移動体の目的地は、前記行列の一つ前に並んでいる前記移動体の位置であることを特徴とする移動体移動予測システム。
【請求項4】
請求項1に記載の移動体移動予測システムであって、
前記移動体は人であり、
前記プロセッサは、前記動線情報から、複数の前記人の間の距離及び各人の移動速度が所定の条件を満たす状態の持続時間に基づいて、前記複数の人の間の対話の発生を判定した結果を、前記状態情報に含めて前記記憶装置に格納することを特徴とする移動体移動予測システム。
【請求項5】
請求項4に記載の移動体移動予測システムであって、
前記プロセッサは、
前記複数の人の間の対話の発生を判定した結果に基づいて、前記空間内の領域ごとの対話の発生確率を計算し、
前記生成された仮想的な動線に基づいて、前記人が他の人とすれ違った場合に、前記対話の発生確率に従って対話の発生を予測することを特徴とする移動体移動予測システム。
【請求項6】
請求項1に記載の移動体移動予測システムであって、
前記プロセッサは、前記移動体の状態によって分類された前記動線情報と前記地図情報とに基づいて、前記移動体の状態ごとに、前記移動モデルを学習することを特徴とする移動体移動予測システム。
【請求項7】
請求項1に記載の移動体移動予測システムであって、
前記プロセッサは、前記移動体の状態が特徴量として入力される前記移動モデルを学習することを特徴とする移動体移動予測システム。
【請求項8】
プロセッサと、記憶装置と、を有する計算機システムによる移動体移動予測方法であって、
前記記憶装置は、
移動体の時刻ごとの位置情報を含む動線情報と、
前記移動体が移動可能な空間の地図情報と、
前記移動体の移動に関する状態を示す状態情報と、を保持し、
前記地図情報は、それぞれ前記移動体が通過、滞留及び行列の少なくともいずれかをし得る複数のチェックポイントの位置及び種類の情報を含み、
前記地図情報は、前記複数のチェックポイントの種類の情報として、各チェックポイントの種類が行列型であるかを示す情報を含み、
前記移動体の状態は、前記行列型のチェックポイントの行列に並んでいる状態を含み、
前記移動体移動予測方法は、
前記プロセッサが、前記動線情報、前記地図情報及び前記移動体の状態に基づいて、前記移動体の移動先を予測する移動モデルを学習する手順と、
前記プロセッサが、前記移動体の初期条件及び前記移動モデルに基づいて前記移動体の仮想的な動線を生成する手順と、
前記プロセッサが、前記動線情報及び前記地図情報に基づいて、前記行列型のチェックポイントから所定の距離以内かつ最近傍にあり、かつ、移動速度が所定の値以下である前記移動体の状態を、前記行列型のチェックポイントの行列の先頭に並んでいる状態と判定し、前記行列における順序が特定されている前記移動体から所定の距離以内かつ最近傍にあり、かつ、移動速度が所定の値以下である前記移動体の状態を、前記行列における順序が特定されている前記移動体の次に並んでいる状態と判定し、判定の結果を前記状態情報として前記記憶装置に格納する手順と、を含むことを特徴とする移動体移動予測方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、人等の移動体の移動を予測する技術に関する。
【背景技術】
【0002】
空港や工場などの施設等では、窓口の増減、案内板の配置といった施策によって、利用者の混雑回避が求められている。またオフィスなどのコミュニケーションスペース等では、レイアウト変更等の施策を実施することによって、利用者のコミュニケーションを活性化させることが求められている。
【0003】
レーザーレーダまたはカメラ等を用いて取得された動線データを統計分析することで、利用者の混雑度およびコミュニケーション活性度を把握することが可能である。しかし施策を事前に評価するためには、施策実行時の動線データが存在しないため、シミュレーションによる動線データ生成が求められている。
【0004】
人の行動を予測する先行技術として、特許文献1に示すような技術が知られている。また動線を予測する先行技術として、特許文献2に示すような技術が知られている。
【0005】
特許文献1では、群衆の活動エリアにおける群衆の動きをモデル化するために、エリア属性とエリア間属性から、エリア間の移動頻度を出力する移動頻度モデルを推定する技術が開示されている。
【0006】
特許文献2では、動線データと商品の配置情報から、逆強化学習によって行動モデルを生成し、商品の配置変更後の人の流れを予測する技術が開示されている。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2006-221329号公報
【文献】国際公開第2018/131214号
【発明の概要】
【発明が解決しようとする課題】
【0008】
計測された動線データには、各人の行き先情報が含まれていないので、OD(Origin-Destination)ごとに動線データを分割してから、動線予測モデルを学習する必要がある。しかし、計測した動線データには、移動以外に滞留状態も含まれるため、OD分割だけでは、動線シミュレーションの精度が低下するという問題がある。また空港における行列待ち時間およびオフィスのコミュニケーション活性度等を評価するためには、行列待ち中および対話中の滞留シミュレーションも必要となる。
【課題を解決するための手段】
【0009】
上記の課題の少なくとも一つを解決するため、本発明は、プロセッサと、記憶装置と、を有する移動体移動予測システムであって、前記記憶装置は、移動体の時刻ごとの位置情報を含む動線情報と、前記移動体が移動可能な空間において、それぞれ、前記移動体が通過及び滞留の少なくともいずれかをし得る複数のチェックポイントの位置の情報を含む地図情報と、前記移動体の移動に関する状態を示す状態情報と、を保持し、前記地図情報は、それぞれ前記移動体が通過、滞留及び行列の少なくともいずれかをし得る複数のチェックポイントの位置及び種類の情報を含み、前記地図情報は、前記複数のチェックポイントの種類の情報として、各チェックポイントの種類が行列型であるかを示す情報を含み、前記移動体の状態は、前記行列型のチェックポイントの行列に並んでいる状態を含み、前記プロセッサは、前記動線情報、前記地図情報及び前記移動体の状態に基づいて、前記移動体の移動先を予測する移動モデルを学習し、前記移動体の初期条件及び前記移動モデルに基づいて前記移動体の仮想的な動線を生成し、前記動線情報及び前記地図情報に基づいて、前記行列型のチェックポイントから所定の距離以内かつ最近傍にあり、かつ、移動速度が所定の値以下である前記移動体の状態を、前記行列型のチェックポイントの行列の先頭に並んでいる状態と判定し、前記行列における順序が特定されている前記移動体から所定の距離以内かつ最近傍にあり、かつ、移動速度が所定の値以下である前記移動体の状態を、前記行列における順序が特定されている前記移動体の次に並んでいる状態と判定し、判定の結果を前記状態情報として前記記憶装置に格納することを特徴とする。
【発明の効果】
【0010】
本発明の一態様によると、動線シミュレーションを高精度化することができる。それによって、レイアウト設計による動線への影響を事前に評価することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0011】
図1】本発明の実施例1の人間行動予測システムの基本構成を表すブロック図である。
図2】本発明の実施例1の人間行動予測システムにてモデル学習時に行われる処理を表すシーケンス図である。
図3】本発明の実施例1の人間行動予測システムにてシミュレーション時に行われる処理を表すシーケンス図である。
図4A】本発明の実施例1の動線DBのデータ構造例を表す説明図である。
図4B】本発明の実施例1の地図DBのデータ構造例を表す説明図である。
図4C】本発明の実施例1の地図DBのデータ構造例を表す説明図である。
図4D】本発明の実施例1の地図DBのデータ構造例を表す説明図である。
図5A】本発明の実施例1の状態DBのデータ構造例を表す説明図である。
図5B】本発明の実施例1の状態DBのデータ構造例を表す説明図である。
図6A】本発明の実施例1のモデルDBのデータ構造例を表す説明図である。
図6B】本発明の実施例1のモデルDBのデータ構造例を表す説明図である。
図6C】本発明の実施例1のモデルDBのデータ構造例を表す説明図である。
図6D】本発明の実施例1のモデルDBのデータ構造例を表す説明図である。
図6E】本発明の実施例1のモデルDBのデータ構造例を表す説明図である。
図7】本発明の実施例1の状態判定部で行われる処理のフローチャートである。
図8A】本発明の実施例1のOD分析部で行われる処理の説明図である。
図8B】本発明の実施例1のOD分析部で行われる処理の説明図である。
図9】本発明の実施例1の行列判定部で行われる処理のフローチャートおよび具体的な説明図である。
図10】本発明の実施例1の行動モデル学習部で行われる処理のフローチャートである。
図11】本発明の実施例1の特徴量算出部で行われる処理の説明図である。
図12A】本発明の実施例1のシミュレーションDBのデータ構造例を表す説明図である。
図12B】本発明の実施例1のシミュレーションDBのデータ構造例を表す説明図である。
図13】本発明の実施例1の初期人流生成部および仮想動線生成部で行われるシミュレーションを示したフローチャートである。
図14】本発明の実施例1の人間行動予測システムのインタフェースの例を表す説明図である。
図15】本発明の実施例2の人間行動予測システムの基本構成を表すブロック図である。
図16A】本発明の実施例2の状態DBのデータ構造例を表す説明図である。
図16B】本発明の実施例2のモデルDBのデータ構造例を表す説明図である。
図17】本発明の実施例2の状態判定部で行われる処理のフローチャートである。
図18】本発明の実施例1および実施例2の計測システムおよび人間行動予測システムを構成する各装置のハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態を添付図面に基づいて説明する。
【0013】
本発明は人の行き先を予測するシステムに関するものである。なお本システムで予測するのは人だけでなく、船舶や車などの移動体であってもよい。ここでは人に焦点をあてて、説明を行う。
【0014】
本発明は、空港等の施設内で、レーザーレーダまたはカメラ等のセンサを用いて計測された動線データから動線予測モデルを学習し、その動線予測モデルを用いて動線シミュレーションを行う。ここで、動線予測モデルとは、例えば、人等の移動体の所定の時間後(例えば1秒後)の移動先を予測するモデルである。計測された動線データには、移動状態および滞留状態等、様々な状態のデータが含まれる。ここで、移動状態とは、例えば人が歩行している状態のような、移動体が移動している状態であり、滞留状態とは移動体がある場所に滞留している状態である。これらはいずれも移動に関する状態の一例である。このように、計測された動線データに様々な状態のデータが含まれるため、1つのモデルを用いて動線シミュレーションを行うと、精度が落ちるという問題がある。そのため、状態ごとに分割された動線データを用いて、動線予測モデルを学習し、動線シミュレーションを行う。ここでいう状態とは、移動状態および滞留状態に加えて、チェックポイント間の遷移に関する情報も含む。チェックポイントとは、例えば対象地域における移動体の滞留点または通過点等である。各チェックポイントに関する情報は、その位置を示す情報と種別を示す情報との対を含んでもよい。
【実施例1】
【0015】
図1は、本発明の実施例1の人間行動予測システムの基本構成を表すブロック図である。
【0016】
本実施例の人間行動予測システム10は、計測システム11から計測データを、ユーザ12から地図データを受信し、計測データから抽出した動線データを状態ごとに分割した後、動線予測モデルを学習する機能と、ユーザ12から動線シミュレーションのための初期パラメータを受信した後、学習した動線予測モデルを用いて、動線シミュレーションを行う機能と、を備える。
【0017】
上記機能を実現するために、人間行動予測システム10は、動線データ抽出部101と、動線データベース(DB)105と、地図データ入力部103と、地図DB108と、状態判定部102と、状態DB106と、行動モデル学習部110と、モデルDB107と、初期人流生成部104と、仮想動線生成部111とシミュレーションDB109と、を備える。
【0018】
動線データ抽出部101は、計測システム11にて計測されたデータから、動線データを抽出し、動線DB105に格納する。この際、計測システム11にて計測されるデータは、対象領域の動画データでもよいし、レーザーレーダデータでもよい。動画データから動線データを抽出する際は、公知の画像処理技術によって人を認識し、人の座標を抽出してもよい。レーザーレーダデータから動線データを抽出する際は、公知の技術を用いてセンサからの距離が変化する移動体を人として抽出し、座標情報に変換してもよい。
【0019】
地図データ入力部103は、ユーザ12から施設等の対象領域に関する地図情報を受信し、地図DB108に格納する機能を備える。上記機能を実現するために、地図データ入力部103は、壁レイアウト入力部1031と、チェックポイント入力部1032と、行列レイアウト入力部1033と、を備える。壁レイアウト入力部1031は、対象領域の壁等、人が通過することができないオブジェクトに関するレイアウト情報を受信する。チェックポイント入力部1032は、対象領域のチェックポイントに関するレイアウト情報を受信する。行列レイアウト入力部1033は、チェックポイントに関するレイアウト情報の中でも行列に関する追加レイアウト情報を受信する。
【0020】
状態判定部102は、動線DB105に格納された動線データと、地図DB108に格納されたチェックポイントデータと、を受信し、動線データに対する状態判定を行い、判定結果を状態DB106に格納する機能を備える。上記機能を実現するために、状態判定部102は、動線データから行列に並んでいる状態を判定する行列判定部1021と、動線データからチェックポイントの遷移状態を判定するOD分析部1022と、を備える。各部の具体的な処理については後述する。
【0021】
行動モデル学習部110は、動線DB105に格納された動線データと、状態DB106に格納された行列状態データおよびチェックポイント遷移データと、地図DB108に格納されたレイアウトデータと、を受信し、動線予測モデルを学習し、モデルDB107に学習した動線予測モデルを格納する。上記機能を実現するために、行動モデル学習部110は、動線データ分割部1101と、特徴量算出部1102と、モデル学習部1103と、を備える。各部の具体的な処理内容については後述する。
【0022】
初期人流生成部104は、ユーザ12から動線シミュレーションのための初期パラメータを受信した後、初期人流を生成し、シミュレーションDB109に格納する。具体的な処理内容については後述する。
【0023】
仮想動線生成部111は、シミュレーションDB109から現在の動線データと、地図DB108からレイアウトデータと、モデルDB107から学習した動線予測モデルと、を受信し、1ステップ後の動線データを予測してシミュレーションDB109に格納する。具体的な処理内容については後述する。
【0024】
動線DB105、状態DB106、モデルDB107、地図DB108、シミュレーションDB109に格納されるデータについては後述する。
【0025】
図2は、本発明の実施例1の人間行動予測システム10にてモデル学習時に行われる処理を表すシーケンス図である。以下に全体の処理について説明する。
【0026】
動線予測モデルを学習する際は、最初に計測システム11が施設内など対象領域における動画データ、またはレーザーレーダデータを動線データ抽出部101に送信する(201)。動線データ抽出部101は、受信したデータから動線データを抽出し(202)、動線DB105に格納する(203)。
【0027】
一方ユーザ12は、対象領域の壁レイアウトデータ、チェックポイントデータおよび行列のレイアウトデータ等の地図データ群を地図データ入力部103に入力する(214)。地図データ入力部103は、入力された地図データ群を地図DB108に格納する(213)。この処理203と処理213の順序はどちらが先でもよく、同時に実施されてもよい。
【0028】
処理203と処理213が実施された後、状態判定部102は、動線DB105から計測された動線データを受信し(204)、地図DB108から地図データ群を受信した後(208)、状態判定を行い(205)、判定された状態データを状態DB106に格納する(206)。
【0029】
その後、行動モデル学習部110は、動線DB105から計測された動線データを受信し(207)、状態DB106から判定された状態データを受信し(209)、地図DB108から地図データ群を受信した後(211)、動線予測モデルを学習し(210)、モデルDB107に学習した動線予測モデルの情報を格納する(212)。
【0030】
図3は、本発明の実施例1の人間行動予測システム10にてシミュレーション時に行われる処理を表すシーケンス図である。
【0031】
図3に示す処理を実施する前に、図2で説明した動線予測モデルを学習する処理を行っておく必要がある。以下に全体の処理について説明する。
【0032】
シミュレーションを行う際、施策実行などのため、モデル学習時と異なる地図データ群を用いてシミュレーションをする場合、まず最初に地図データ入力部103が、施策実行時の地図データを地図DB108に格納する(301)。モデル学習時と同じ地図データ群を用いる場合は、このステップは省略される。
【0033】
その後、初期人流生成部104は、シミュレーション開始時の人流情報を生成し、(306)、シミュレーションDB109に格納する(305)。その後、仮想動線生成部111は、地図DB108から地図データ群を受信し(302)、モデルDB107から動線予測モデルを受信し(304)、シミュレーションを実施する(303)。
【0034】
その際、仮想動線生成部111は、まずはシミュレーションDB109から現在の人流について、動線データおよび状態データを受信し(307)、次の時間ステップにおける動線データおよび状態データを予測し(303)、予測した動線データおよび状態データをシミュレーションDB109に格納する(308)。これを終了条件を満たすまで繰り返す(309)。
【0035】
図4Aは、本発明の実施例1の動線DB105のデータ構造例を表す説明図である。
【0036】
図4B図4Dは、本発明の実施例1の地図DB108のデータ構造例を表す説明図である。
【0037】
動線DB105には計測システム11によって取得された動線データが格納され、地図DB108には事前に準備された、あるいはユーザ12によって入力された地図データ群が格納される。
【0038】
まずは動線DB105について説明する。動線DB105には動線テーブル401(図4A)が格納される。動線テーブル401は、動線データを格納するテーブルである。動線テーブル401には、例えば、人ごとに、また一定の時間(例えば1秒)ごとに、動線データの座標をサンプリングしたような形のデータが格納される。
【0039】
START_TIME4011およびEND_TIME4012は、それぞれ、動線データをサンプリングする際の開始時間および終了時間を表し、PID4013は人のIDを表す。WKT4014は対応するPID4013の人がSTART_TIME4011からEND_TIME4012までの間に動いた際の動線のラインストリングに関するジオメトリ情報を表す。図4Aの例では、WKT4014に、対応するPID4013の人のSTART_TIME4011およびEND_TIME4012それぞれにおける位置を示す2次元座標値が格納される。なおこのジオメトリ情報に関する座標系は任意のものでよく、例えば平面直角座標系などでもよい。
【0040】
なお動線テーブル401は、人の向きの情報を含んでいても良い。具体的にはEND_TIME4012においてPID4013の人が向いている方向を角度で表した情報を含んでいても良い。この角度情報は、レーザーレーダを用いて計測した場合は、3D点群データに対し、Pose Estimation等の公知技術を使って向きを検出した結果を格納しても良い。
【0041】
カメラを用いて計測した場合は、公知の画像処理技術を用いて向きを検出した結果を格納しても良い。あるいは、動線データから向き推定を行った結果を格納しても良い。動線データから向き推定を行う場合、PID4013の人がSTART_TIME4011からEND_TIME4012にかけて動いた座標の差分ベクトルを算出して向き検出を行った結果を格納しても良い。
【0042】
次に地図DB108について説明する。地図DB108には、人が通行不可である壁などの領域を表す地図テーブル402(図4B)、チェックポイントに関する地図テーブル403(図4C)、および、チェックポイントの中でも行列に関する追加レイアウトを格納する地図テーブル404(図4D)が格納される。チェックポイントは、対象領域内で人が移動する際の立ち寄り場所、および、何らかの属性が付加された通過場所を示す。例えば対象領域として空港施設内を考える場合、チェックポイントは入り口および自動チェックイン(CI)機等の情報に相当する。
【0043】
図4Bに示す地図テーブル402は、壁等のオブジェクトに関するIDであるWID4021、オブジェクトの種別を表すKIND4022、ならびに、オブジェクトの位置情報および形状情報を表すWKT4023を格納する。
【0044】
WKT4023は、オブジェクト形状を表す座標を、ポリゴンまたはラインストリングといった形のジオメトリとして表したものである。WKT4014と同様に、座標系は任意のものでよい。
【0045】
図4Cに示す地図テーブル403は、チェックポイントのIDを表すCID4031、チェックポイントの種類に関するIDを表すKID4032、チェックポイントの名前を表すNAME4033、チェックポイントの位置情報および形状情報を表すWKT4034、ならびに、チェックポイントの種類を表すTYPE4035を格納する。
【0046】
チェックポイントの種類は、通過型(Pass)、滞留型(Stay)、または行列型(Queue)のいずれかを示す。例えば、入り口等のチェックポイントは立ち寄る場所とは異なり、通過するだけの場所であるため、これに該当するチェックポイントのTYPE4035にはPassが格納される。CIカウンター等のチェックポイントは、人が立ち寄る場所であるため、これに該当するチェックポイントのTYPE4035にはStayが格納される。これに対し、CIカウンター前の行列に該当するチェックポイントのTYPE4035にはQueueが格納される。
【0047】
なお、行列型のチェックポイントの場合は、行列として人が並びうる領域ではなく、行列の先頭ラインを示すジオメトリ情報がWKT4034に格納される。ここで、CID4031は異なるが、KID4032が同じとなるようなチェックポイントは存在しうる。例えば施設の入口などは複数存在しうるためである。
【0048】
図4Dに示す地図テーブル404は、地図テーブル403に格納される行列型チェックポイントに関して、追加のレイアウト情報4041~4044を格納する。CID4041は、チェックポイントのIDであり、地図テーブル403に格納されるCID4031と同等のものである。ただし、地図テーブル404には行列型チェックポイントのIDのみ格納される。
【0049】
S_WKT4042は、CID4041に対応する行列に関して、行列に並んだ後にサービスを受ける場所のジオメトリ情報である。これは行列の先頭ラインについて、人が並ぶ側と反対側に存在する位置になる。例えば、CIカウンター前の行列におけるS_WKT4042は、行列に並んだ人が実際にその後サービスを受けるカウンターの位置に相当する。
【0050】
P_WKT4043は、整列して並ぶためのパーティションを表すジオメトリ情報である。このパーティションは、例えば隣の行列との干渉を防ぐためのものであっても良いし、行列が蛇行する形になるように、その行列に並ぶ人を整列させるためのパーティションであっても良い。
【0051】
N_ID4044は、対応するCID4041の行列に並んだ人が、そのあと、次に向かいうるCID4041のリストを格納する。なおCID4041のリストの代わりにKID4032のリストを格納しても良い。
【0052】
図5Aおよび図5Bは、本発明の実施例1の状態DB106のデータ構造例を表す説明図である。
【0053】
状態DB106には、動線状態テーブル501(図5A)と、行列状態テーブル502(図5B)とが格納される。動線状態テーブル501は、計測された動線データにおいて、各人がいつ、どのチェックポイントからどのチェックポイントに向かっているか、またその人が行列にて滞留しているかどうか、に関する情報を格納する。行列状態テーブル502は、各行列にどの人がどの順番で並んでいたかに関する情報を格納する。
【0054】
図5Aに示す動線状態テーブル501は、START_TIME5011、END_TIME5012、PID5013、O_ID5014、D_ID5015およびQ_ID5016を格納する。START_TIME5011およびEND_TIME5012は、それぞれ、対応する人においてその状態が開始する日時および終了する日時を表す。PID5013は、対応する人のIDを表す。O_ID5014およびD_ID5015は、それぞれ、対応する人がチェックポイント間を移動する際の開始チェックポイントのIDおよび終了チェックポイントのIDを表す。Q_ID5016は、対応する人が並んでいる行列のCID4041を表す。
【0055】
O_ID5014およびD_ID5015に関して、状態判定部102にて開始・終了チェックポイントが判定できなかった場合はそれぞれ-1、またはNULLを格納しても良い。また、状態判定部102にて行列に並んでいないと判定された場合は、Q_ID5016には-1を格納する。なおO_ID5014およびD_ID5015が同一である場合、対応する人はそのチェックポイントに滞留している。この場合、Q_ID5016にその人が滞留している滞留型チェックポイントのIDを格納してもよい。
【0056】
図5Bに示す行列状態テーブル502は、START_TIME5021、END_TIME5022、CID5023およびPID_LIST5024を格納する。START_TIME5021およびEND_TIME5022は、それぞれ、対応する行列の状態についての開始時刻および終了時刻を表す。CID5023は、対応する行列のCID4041を表す。PID_LIST5024は、対応する行列に並んでいる人のIDをサービス待ちの順番通りに並べたIDリストである。
【0057】
図6A図6Eは、本発明の実施例1のモデルDB107のデータ構造例を表す説明図である。
【0058】
行動モデル学習部110にて学習された動線予測モデルは状態ごとに生成される。そのため、モデルDB107には、状態ごとのモデルパラメータが格納される。またチェックポイント間の遷移確率や最初のチェックポイントが選ばれる確率等も格納される。具体的には、モデルDB107には、移動モデルテーブル601(図6A)、行列モデルテーブル602(図6B)、チェックポイント滞留モデルテーブル603(図6C)、チェックポイント遷移確率テーブル604(図6D)およびチェックポイント初期確率テーブル605(図6E)が格納される。
【0059】
図6Aに示す移動モデルテーブル601は、チェックポイント間の移動を予測するモデルのパラメータ6011~6014を格納する。これには、行列またはチェックポイント内における滞留に関するモデルのパラメータは含まれない。滞留以外の動線に関する予測モデルは、チェックポイント遷移ごとに生成されるため、チェックポイント遷移ごとにモデルパラメータを格納する。
【0060】
O_ID6011およびD_ID6012は、それぞれ、人がチェックポイント間を移動する際の開始チェックポイントのIDおよび終了チェックポイントのIDを表す。
【0061】
M_Param16013~M_ParamM6014は、対応するチェックポイント遷移に関する予測モデルのモデルパラメータである。ここで、このモデルパラメータはM次元のベクトルとして表され、例えばSocial Force Modelのようなエージェントモデルのパラメータでもよいし、Gradient Boosting Regression Tree、Suppport Vector Regression、Long Short Term Memory、またはConvolutional Neural Networkなどの機械学習におけるモデルパラメータなどでもよい。
【0062】
なおここではチェックポイント遷移の種類ごとにモデルパラメータを格納しているが、動線予測モデルをD_ID6012ごとに生成し、D_ID6012ごとにモデルパラメータを格納してもよい。この場合、対応するO_ID6011がないため、NULLまたは-1が格納される。
【0063】
図6Bに示す行列モデルテーブル602は、行列内の滞留行動を予測するモデルのパラメータ6021~6023を格納する。このモデルパラメータは行列ごとに格納される。
【0064】
Q_ID6021は、行列型チェックポイントのCID4041に対応する。Q_Param16022~Q_ParamN6023は、対応する行列に関する予測モデルのモデルパラメータである。モデルパラメータはN次元のベクトルとして表され、上記の例と同様、例えばGradient Boosting Regression Tree、Suppport Vector Regression、またはLong Short Term Memoryなどの機械学習におけるモデルパラメータなどでもよい。あるいは、モデルパラメータは、行列に並ぶ際の人との間隔およびサービス待ち時間に関するパラメータであってもよいし、それらを正規分布などの任意の確率分布として表す際のパラメータなどであってもよい。
【0065】
図6Cに示すチェックポイント滞留モデルテーブル603は、滞留型チェックポイントにおける滞留行動を予測するモデルのパラメータ6031~6033を格納する。このモデルパラメータは、滞留型チェックポイントごとに格納される。
【0066】
S_ID6031は、滞留型チェックポイントのCID4031に対応する。S_Param16032~S_ParamO6033は、対応する滞留型チェックポイントに関する予測モデルのモデルパラメータである。モデルパラメータはO次元のベクトルとして表され、上記の例と同様、例えばGradient Boosting Regression Tree、Suppport Vector Regression、またはLong Short Term Memoryなどの機械学習におけるモデルパラメータなどでもよい。あるいは、モデルパラメータは、滞留している際の滞留時間に関するパラメータであってもよいし、それを正規分布などの任意の確率分布として表す際のパラメータなどであってもよい。
【0067】
図6Dに示すチェックポイント遷移確率テーブル604は、チェックポイント間の遷移確率に関するパラメータ6041~6043を格納する。
【0068】
O_ID6041およびD_ID6042は、それぞれチェックポイント間を移動する際の開始チェックポイントのIDおよび終了チェックポイントのIDを表す。T_Prob6043は、O_ID6041から次のチェックポイントを選択する際に、D_ID6042を選択する確率を示す。同じO_ID6041に関して、対応するT_Prob6043のすべての値の和をとると、1になる。
【0069】
図6Eに示すチェックポイント初期確率テーブル605は、シミュレーションを開始する際に、どのチェックポイントに人を発生させるかの発生確率を格納する。具体的には、チェックポイント初期確率テーブル605は、チェックポイントのCID4031に対応するID6051と、そのチェックポイントにおける発生確率I_Prob6052とを格納する。
【0070】
図7は、本発明の実施例1の状態判定部102で行われる処理のフローチャートである。
【0071】
処理701は、状態判定部102の処理開始を表す。
【0072】
処理702は、動線DB105に格納されている動線データと地図DB108に格納されている地図テーブル403とについて、空間的な交差判定を行い、どの人がどの通過型チェックポイントをいつ通過したかを判定する処理である。
【0073】
処理703は、動線DB105に格納されている動線データと地図DB108に格納されている地図テーブル403とについて、空間的な交差判定を行い、どの人がどの滞留型チェックポイントでいつ滞留したかを判定する処理である。
【0074】
処理702および処理703は、状態判定部102内のOD分析部1022にて行われる。これらの処理の詳細については後述する。
【0075】
処理704は、動線DB105に格納されている動線データと地図DB108に格納されている地図テーブル402、403および404とを用いて、どの人がどの行列型チェックポイントにて、いつ並んでいたかを判定する処理である。
【0076】
処理705は、動線DB105に格納されている動線データと地図DB108に格納されている地図テーブル402、403および404とを用いて、各行列型チェックポイントにおいて、いつどの人がどの順番で並んでいたかの判定結果を状態DB106の行列状態テーブル502に格納する処理である。
【0077】
処理704および処理705は、状態判定部102内の行列判定部1021にて行われる。これらの処理の詳細については後述する。
【0078】
処理706は、処理702、703および704の結果を統合し、各人について、いつ、どのチェックポイントからどのチェックポイントへ向かっていたか、どの行列型チェックポイントに並んでいたか、および、どの滞留型チェックポイントにて滞留していたかの情報を、状態DB106の動線状態テーブルに格納する処理である。
【0079】
処理707は、状態判定部102の処理終了を表す。
【0080】
図8Aおよび図8Bは、本発明の実施例1のOD分析部1022で行われる処理の説明図である。
【0081】
OD分析部1022は、動線DB105に格納された動線データと、地図DB108に格納された通過型・滞留型チェックポイントに関して、空間的な交差判定を行い、どの人が、いつ、どのチェックポイントを通過・滞留したかを判定する。
【0082】
図801は、通過型チェックポイントと動線データとの空間的交差判定の説明図である。これは、人が通行可能な領域を含む空間を上方から観察する平面図である。斜線でハッチングされた領域803は、壁などの人が通行不可である領域を示し、太線で表示されたゲート804は、通過型チェックポイントの例を示す。
【0083】
データ805は動線データの例であり、各時刻における人の座標情報を時系列順につないだデータである。この場合、データ805とゲート804は、空間的に交差しているために、データ805に対応する人は、ゲート804を通過したと判定される。この際、交差した直後の時刻が通過時刻として検出される。この通過時刻が通過型チェックポイントに到着した時刻とみなされ、また通過型チェックポイントを出発した時刻とみなされる。
【0084】
図802は、滞留型チェックポイントと動線データとの空間的交差判定の説明図である。データ806および807は動線データの例であり、太線で表示された領域808は、滞留型チェックポイントの例を示す。
【0085】
この例において、データ806は領域808と空間的に交差しているが、領域808の中で滞留せずに通り過ぎている。このため、データ806に対応する人は、この滞留型チェックポイントに立ち寄ったとはみなさない。これに対し、データ807は、領域808の中で滞留しているため、データ807に対応する人は、この滞留型チェックポイントに立ち寄ったと判定される。この例において、一定時間以上、一定以下の速度となっている状態を滞留とみなす。この際、滞留を始めた時刻がこのチェックポイントに到着した時刻、滞留を終えた時刻がこのチェックポイントを出発した時刻とみなす。
【0086】
図9は、本発明の実施例1の行列判定部1021で行われる処理のフローチャートおよび具体的な説明図である。
【0087】
行列判定部1021は、動線DB105に格納された動線データと、地図DB108に格納された行列型チェックポイントとから、どの人が、いつ、どの行列型チェックポイントにて、何番目に並んでいたか、を判定する。なお処理901~905のフローは毎時刻行われる。
【0088】
処理901は、行列判定部1021の処理開始を表す。
【0089】
処理902は、各行列型チェックポイントにて先頭に並ぶ人を抽出する処理である。この処理を説明図906に沿って説明する。
【0090】
説明図906は、行列が発生する空間の平面図である。ゲート9061は行列型チェックポイント、斜線でハッチングされた領域9064は人が侵入不可である壁等の領域、グレー表示された領域9065はゲート9061の行列に対応するパーティションP_WKT4043、受付9063はゲート9061に対応する行列に並んだ人に対して、その後にサービスを提供する受付である。そのため、受付9063はゲート9061の行列に対応するS_WKT4042に対応する。
【0091】
行列判定部1021は、ゲート9061に対応する行列先頭を抽出する際、ゲート9061から一定の距離以内かつ最近傍にいる人で速度が一定以下となる人9062を行列の先頭として抽出する。この際、行列判定部1021は、ゲート9061に対し、受付9063とは反対側にいる人であり、かつ、ゲート9061とその人とを線分で結んだ際、その線分が領域9064および領域9065のいずれとも交差しない人物を、行列先頭の人9062として抽出する。
【0092】
なお、図9において、人9062の丸は、ある時刻におけるその人の位置を示し、その丸に接する直線の先端は、その前の時刻(例えば1秒前)におけるその人の位置を示す。他の人も同様に表示される。後述する図11図14図17も同様である。
【0093】
処理903は、各行列型チェックポイントにて2番目以降に並ぶ人を抽出する処理である。この処理を説明図907に沿って説明する。
【0094】
行列判定部1021は、直前ステップで抽出した人9071(例えば説明図906の人9062に相当する)から、一定の距離以内かつ最近傍にいる人であって、速度が一定以下の人9072を次に並んでいる人として抽出する。この際、行列判定部1021は、人9071と人9072とを結ぶ線分がゲート9061、領域9064および領域9065のいずれとも交差しないように、人9072を抽出する。
【0095】
処理904において、行列判定部1021は、直前ステップで抽出した人から、一定の距離以内で速度が一定以下となり、かつ、直前ステップで抽出した人とその探索対象の人とを結ぶ線分がゲート9061、領域9064及び領域9065のいずれとも交差しない人がいるかどうかを判定する。そのような人がいない場合は終了条件を満たすとし、処理905に進む。終了条件を満たさない場合は処理903に戻る。
【0096】
処理905は、行列判定部1021の処理終了を表す。
【0097】
なおこの行列判定処理に、各人の向きの情報を用いてもよい。例えば、行列の先頭に並ぶ人を抽出する際に、処理902の判定条件を満たす人の中で、行列型チェックポイントの方へ向いている人のみを抽出してもよいし、2番目以降に並ぶ人を抽出する際に、処理903の判定条件を満たす人の中で、直前ステップで抽出された人の方を向いている人のみを抽出してもよい。
【0098】
図10は、本発明の実施例1の行動モデル学習部110で行われる処理のフローチャートである。
【0099】
処理1001は、行動モデル学習部110の処理開始を表す。
【0100】
処理1002は、動線DB105に格納された動線データと状態DB106に格納された動線状態テーブル501を紐づけ、状態ごとに動線データを分割する処理である。ここで、状態とは、O_ID5014、D_ID5015、Q_ID5016の三種類の組み合わせで構成されるものとする。この処理は行動モデル学習部110の動線データ分割部1101によって行われる。
【0101】
処理1003は、処理1002において分割された動線データと地図DB108の地図テーブル402、403および404とを用いて、目的変数、および、周囲の人・チェックポイント・壁等に関する特徴量を算出する。この処理は行動モデル学習部110の特徴量算出部1102によって行われる。処理内容の詳細については、後述する。
【0102】
処理1004は、状態ごとに動線予測モデルを学習しその際のモデルパラメータをモデルDB107に格納する処理である。この処理はモデル学習部1103によって行われる。ここで、処理1004について説明する。
【0103】
まず、モデル学習部1103は、Q_ID5016が-1となり、かつ、O_ID5014とD_ID5015とが等しくないか、O_ID5014とD_ID5015とが等しいが、またはその値が滞留型チェックポイントのCID5023ではない動線データを用いて、滞留しない移動型の動線予測モデルを学習する。
【0104】
この際、モデル学習部1103は、D_ID5015ごとにモデルを学習してもよいし、O_ID5014とD_ID5015との組み合わせごとにモデルを学習してもよい。あるいは、モデル学習部1103は、D_ID5015またはO_ID5014とD_ID5015との組み合わせを特徴量として(すなわち説明変数の一つとして)入力するモデルを学習してもよい。
【0105】
ここで学習する際は、Social Force Modelのようなエージェントモデルのパラメータを学習してもよいし、例えばGradient Boosting Regression Tree、Suppport Vector Regression、Long Short Term Memory、またはConvolutional Neural Networkなどの機械学習のモデルパラメータを学習してもよい。ここでいう機械学習とは、特徴量から目的変数を予測するモデルをデータから学習する方法である。ここで学習したモデルパラメータは移動モデルテーブル601に格納される。
【0106】
次に、モデル学習部1103は、Q_ID5016が-1となり、かつO_ID5014とD_ID5015が等しく、その値が滞留型チェックポイントのCID4031となる動線データを用いて、チェックポイントにおける滞留型の動線予測モデルを学習する。モデル学習部1103は、移動型の動線予測モデルを学習するときと同じく、エージェントモデルまたは機械学習等を用いて滞留型の動線予測モデルを学習してもよい。あるいは、モデル学習部1103は、確率的に滞留時間を出力するモデルを生成してもよい。この際のモデルパラメータはチェックポイント滞留モデルテーブル603に格納される。
【0107】
最後に、モデル学習部1103は、Q_ID5016が-1でもNULLでもない動線データを用いて、行列型の動線予測モデルを学習する。モデル学習部1103は、移動型の動線予測モデルを学習するときと同じく、エージェントモデルまたは機械学習等を用いて行列型の動線予測モデルを学習してもよい。あるいは、モデル学習部1103は、前に並ぶ人との距離が一定の閾値以上であれば、前に並ぶ人の方向へ微小移動するモデルを学習してもよい。この際のモデルパラメータは行列モデルテーブル602に格納される。
【0108】
上記の例では、モデル学習部1103は状態ごとに動線予測モデルを学習する。この場合、モデル学習部1103は、状態ごとに分類された動線データ(例えば、チェックポイント間を移動中の動線データ、滞留型チェックポイントに滞留している動線データ、又は行列型チェックポイントの行列に並んでいる動線データ)を用いた学習が行われ、状態ごとの動線予測モデルが得られる。
【0109】
しかし、このような動線予測モデルの生成方法は一例であり、状態に基づいて動線を予測するモデルを生成できれば、ほかの方法を採用してもよい。例えば、モデル学習部1103は、状態を特徴量の一つとして入力して動線を予測するモデルを学習してもよい。
【0110】
処理1005は、状態DB106に格納されている動線状態テーブル501の情報を集計し、状態遷移確率、初期確率を算出し、モデルDB107に格納する処理である。具体的には、行動モデル学習部110は、動線状態テーブル501のPID5013ごとにO_ID5014とD_ID5015とを抽出し、チェックポイントの遷移情報を算出し、集計する。行動モデル学習部110は、PID5013の一番最初のチェックポイントの確率分布を初期確率として算出し、チェックポイント初期確率テーブル605に格納し、O_ID5014を固定した際のD_ID5015をとりうる確率をチェックポイント遷移確率テーブル604に格納する。
【0111】
1006は、行動モデル学習部110の処理終了を表す。
【0112】
図11は、本発明の実施例1の特徴量算出部1102で行われる処理の説明図である。
【0113】
画面11001は動線データを計測した対象領域の平面図であり、ある時刻における動線データ、壁レイアウトおよびチェックポイントの情報を表示したものである。斜線でハッチングされた領域11002は壁等の人が侵入不可である領域、太い実線の枠で表示された領域11003および領域11004は滞留型チェックポイント、ゲート11005は行列型チェックポイント、グレー表示された領域11011はゲート11005に対応する行列のパーティションを表す。人11006、11007、11008、11009および11010について、目的変数と、周囲の人、壁および目的地チェックポイント等に関する特徴量とをどのように算出するかを説明する。
【0114】
周囲の人および周囲の壁の特徴量については、人11006、11007、11008、11009および11010のいずれでも同じ算出方法となる。例えば、現在いる自分の位置を中心とした様々な方向に関する人までの距離および壁までの距離を特徴量として算出してもよい。この際の方向は、その人の前ステップにおける速度ベクトルの方向またはその人の目的地までの向きを基準とした相対的な方向であってもよい。あるいは、X軸またはY軸を基準とした方向であってもよい。
【0115】
なお各方向に対して、人または壁等が存在しない場合は、適当な閾値を代入してもよい。あるいは距離を特徴量とするのではなく、現在いる自分の位置を中心とした適当なサイズのグリッドを生成し、各グリッド内の壁の占有面積、占有率または人のカウント値などを特徴量としてもよい。この際、同様にその人の前ステップにおける速度ベクトルの方向またはその人の目的地までの向きを基準としたグリッドを生成してもよいし、X軸またはY軸を基準としてもよい。なお壁の特徴量を算出する際に、壁の領域11002だけではなく、行列のパーティションに関する領域11011も含めて、壁の特徴量を算出してもよい。
【0116】
チェックポイントに関する特徴量は、現在の人の位置とその人が目的地とするポイントから算出される。この際、その人の位置から目的地までの距離および目的地への方向情報を特徴量とする。目的地の方向を算出する際、その人の前ステップにおける速度ベクトルの方向を基準とした相対的な方向でもよい。このとき、X軸またはY軸を基準としてもよい。目的地とするポイントは人11006、11007、11008、11009、11010でそれぞれ異なる。
【0117】
人11006は、所定の速度以上で移動している動線である。人11006のD_ID5016が領域11003に対応するCID4031である場合、人11006の目的地は領域11003内に含まれる任意の点であり、例えば領域11003の重心でもよい。
【0118】
人11007は、上の例と同じく所定の速度以上で移動している動線だが、D_ID5016はゲート11005に対応するCID4031である。この際、人11007の目的地は、ゲート11005に含まれる点ではなく、ゲート11005の行列に並んでいる最後尾の人の座標となる。この情報は状態DB106の行列状態テーブル502のPID_LIST5024の最後の値に対応するPID4013の動線データから取得可能である。
【0119】
人11008は、行列の先頭に並んでいる所定の速度以下の動線の例であり、この場合もD_ID5016はゲート11005に対応するCID4031である。この際の目的地は行列の先頭ラインを示すゲート1105に含まれる任意の点であり、ゲート11005の重心でもよい。
【0120】
人11009は、二番目以降に行列に並んでいる所定の速度以下の動線であり、上の例と同じくD_ID5016はゲート11005に対応するCID4031となるが、目的地は自分の前に並んでいる人の座標となる。この情報は状態DB106の行列状態テーブル502のPID_LIST5024の中で、人11009のPID4013の前の値に対応するPID4013の動線データから取得可能である。
【0121】
人11010は、滞留型チェックポイント内にて所定の速度以下で滞留している動線の例であり、人11010のD_ID5016は領域11004に対応するCID4031である。この場合、目的地は領域11004に含まれる点であり、領域11004の重心でもよい。但しチェックポイント内で滞留している場合は、既に目的地に到着しており、目的地に関するチェックポイントに関する特徴量がモデルに寄与しない可能性もあるため、特徴量算出を省いてもよい。
【0122】
特徴量算出部1102は、予測対象となる目的変数として、基本的には1ステップ先の時刻の速度を算出する。1ステップ先の時刻の速度は絶対座標系でもよく、また現在の時刻における速度ベクトルの方向を基準として、1ステップ先の時刻の速度を相対的な速度ベクトルに変換してもよい。相対的な速度ベクトルに変換する際、目的地までの方向を基準としてもよい。
【0123】
なお滞留型チェックポイント内で滞留している人11010に関しては、1ステップ先の時刻の速度ではなく、残り滞留時間、または、1ステップ先に次のD_ID5015に遷移して移動を開始する確率を説明変数としてもよい。
【0124】
図12Aおよび図12Bは、本発明の実施例1のシミュレーションDB109のデータ構造例を表す説明図である。
【0125】
シミュレーションDB109は、仮想動線テーブル1201および仮想行列状態テーブル1202を格納する。仮想動線生成部111にて生成された動線データが仮想動線テーブル1201に、仮想動線生成部111にて更新された行列の状態データが仮想行列状態テーブル1202に、逐次的に格納される。
【0126】
仮想動線テーブル1201は、人ごとに、また一定の時間(例えば1秒)ごとにシミュレートされた動線データの座標とその状態に関する情報12011~12017が逐次的に格納する。
【0127】
START_TIME12011およびEND_TIME12012は、それぞれ、1秒ごとにシミュレートされた動線データの開始時間および終了時間を表す。WKT12013は、対応する人がSTART_TIME12011からEND_TIME12012までの間に動いた動線のラインストリングに関するジオメトリ情報を表す。
【0128】
PID12014は、対応する人のIDを示す。O_ID12015およびD_ID12016は、それぞれシミュレーション時の開始チェックポイントおよび終了チェックポイントを表す。Q_ID12017は、対応する人が並んでいる行列のCID4041を表す。なお行列に並んでいない際はQ_ID12017には-1を格納する。
【0129】
仮想行列状態テーブル1202は、情報12021~12024を格納する。START_TIME12021およびEND_TIME12022は、それぞれ、対応する行列の状態についての開始時刻および終了時刻を表す。CID12023は、対応する行列のCID4041を表す。PID_LIST12024は、対応する行列に並んでいる人のIDをサービス待ちの順番通りに並べたIDリストである。
【0130】
図13は、本発明の実施例1の初期人流生成部104および仮想動線生成部111で行われるシミュレーションを示したフローチャートである。
【0131】
処理1301は、シミュレーションの処理開始を表す。
【0132】
処理1302は、ユーザ12からシミュレーションを実施する際の人流の需要情報を受信して初期人流を生成する処理を表す。この処理は初期人流生成部104にて行われる。ここで人流の需要情報とは、シミュレーション上で発生させる人の数、シミュレーション開始時刻、出発地、および最初の目的地に関する情報を指す。これらの情報は、統計値という形で入力されてもよいし、シミュレーション開始時刻と出発地、目的地の情報が一人ひとり詳細に入力されてもよい。
【0133】
統計値という形で入力される場合、初期人流生成部104は、ポアソン分布などを用いたサンプリング処理によってシミュレーション開始時刻を設定する。さらに、初期人流生成部104は、モデルDB107に含まれるチェックポイント初期確率テーブル605およびチェックポイント遷移確率テーブル604によって確率的に出発地および目的地の情報を一人ひとりに設定する。この際、出発地、目的地に関する情報はKID4032、もしくはCID4031という形で与え、最初の目的地だけでなくその後の目的地の遷移をすべて含んでいてもよい。
【0134】
初期人流生成部104は、一人ひとりにシミュレーション開始時刻、出発地および目的地に関する情報を生成したら、初期位置および初期速度に関する情報をそれぞれ付加する。初期人流生成部104は、初期位置として最初の出発地に関するチェックポイントに含まれる点を選択する。この際、チェックポイントのジオメトリ情報から算出した重心座標を初期位置としてもよいし、チェックポイントの領域内に関してランダムに点をサンプリングして初期位置としてもよいし、動線DB105に格納されている動線データを分析し、そのチェックポイントから出発する際の座標情報を抽出して用いてもよい。
【0135】
初期速度はベクトルとして与えられる。初期人流生成部104は、初期速度のベクトルをランダムでサンプリングしてもよいし、目的地とするチェックポイントへの方向ベクトルから算出してもよいし、動線DB105に格納されている動線データを分析し、そのチェックポイントから出発する際の速度ベクトルを抽出して用いてもよい。
【0136】
処理1303は、開始時刻(t=0)を設定し、シミュレーションを実際に開始する処理を表す。
【0137】
処理1304は、処理1302にて生成した初期人流について、シミュレーション上の時刻tにおける人だけを抽出し、シミュレーション対象に加える処理を表す。その際、仮想動線生成部111は、新しく抽出された初期人流をシミュレーションDB109に格納する。
【0138】
処理1305は、特徴量を算出して、モデルを用いて次の時刻の人流位置を予測する処理を表す。具体的には、仮想動線生成部111は、シミュレーション対象である人流に対して、地図DB108に格納されているシミュレーション用の地図テーブル402、403および404を用いて、図11で説明したものと同様の方法で特徴量を特徴量算出部1111にて算出する。そして、仮想動線生成部111は、算出した特徴量を用いて、モデルDB107に格納された状態ごとの動線予測モデルを用いて時刻t+1における人流の位置を動線予測部1112にて予測し、その結果をシミュレーションDB109の仮想動線テーブル1201に格納する。
【0139】
この際、動線予測モデルの出力が速度ではなく、残り滞留時間δtである場合、仮想動線生成部111は、時刻がt+δtになるまで、シミュレーション対象の人を同じ位置で滞留させてもよい。また、Q_ID12017が-1でない場合、その人は行列に並んでいるため、仮想動線生成部111は、その人がほかの人に所定の距離より近づかないように予測位置を補正してもよい。
【0140】
このステップにおける目的地は、時刻tにおける人流のD_ID12016、Q_ID12017とシミュレーションDB109の仮想行列状態テーブル1202によって決め方が異なるため、以下に説明する。
【0141】
Q_ID12017≠-1かつその人が行列の先頭に並んでいる場合、その行列型チェックポイントに含まれる点を目的地とする。
【0142】
Q_ID12017≠-1かつその人が行列の二番目以降に並んでいる場合、その人の一つ前に並んでいる人を目的地とする。
【0143】
Q_ID12017=-1かつ、D_ID12016が行列型チェックポイント以外である場合、D_ID12016に対応するチェックポイントの中に含まれる点を目的地とする。D_ID12016としてKID4032の情報が使われている場合、一つのKID4032に複数のチェックポイントが目的地候補として存在しうるが、この時は目的地候補の中から、その人流に対して近い方のチェックポイントを選んでもよいし、人が滞留していない方のチェックポイントを選んでもよい。
【0144】
Q_ID12017=-1、かつ、D_ID12016が行列型チェックポイントであり、かつ、時刻tにおいて該当行列に人が並んでいない場合、D_ID12016に対応する行列チェックポイントの中に含まれる点を目的地とする。上記の例と同じく、D_ID12016としてKID4032の情報が使われている場合、一つのKID4032に複数のチェックポイントが目的地候補として存在しうるが、この時は目的地候補の中から、その人流に対して近い方のチェックポイントを選んでもよいし、人が並んでいない方のチェックポイントを選んでもよい。
【0145】
Q_ID12017=-1、かつ、D_ID12016が行列型チェックポイントであり、かつ、時刻tにおいて該当行列に人が並んでいる場合、D_ID12016に対応する行列に並んでいる人の最後尾の人を目的地とする。上記の例と同じく、D_ID12016としてKID4032の情報が使われている場合、一つのKID4032に複数の行列が存在しうるが、その人流と行列の最後尾の距離が短い方の最後尾の人を目的地としてもよいし、並んでいる人数が少ない方の行列の最後尾を選んでもよい。
【0146】
処理1306は、予測した人流の位置から、人流に対して状態判定し、次の状態に遷移させる処理を表す。この処理は、状態遷移部1113にて行われる。ここでの状態判定方法と遷移方法を以下に記述する。
【0147】
Q_ID12017≠-1かつ、該当する人が行列の先頭以外の人である場合、状態遷移部1113は、状態を遷移させず時刻tの状態をそのまま引き継ぐ。
【0148】
Q_ID12017≠-1かつ、該当する人が行列の先頭の人である場合、状態遷移部1113は、行列に並んだ後に向かうチェックポイントに人が滞留していなければ、Q_ID12017を-1、時刻t+1におけるO_ID12015を時刻tにおけるD_ID12016に、時刻t+1におけるD_ID12016を次に向かうチェックポイントのIDに遷移させる。一方、行列に並んだ後に向かうチェックポイントに人が滞留している場合、状態遷移部1113は、状態を遷移させず時刻tの状態をそのまま引き継ぐ。
【0149】
Q_ID12017=-1の場合は、状態遷移部1113は、まず目的地に到着したかどうか判定する。具体的には時刻t+1における人の位置が目的地から所定の距離以内である場合、状態遷移部1113は、その人が目的地に到着したと判定する。
【0150】
目的地が行列の最後尾だった場合、状態遷移部1113は、Q_ID12017をその行列のIDに更新し、仮想行列状態テーブル1202のPID_LIST12024を更新する。
【0151】
目的地が滞留型チェックポイントであり、かつ、O_ID12015とD_ID12016とが等しくない場合、状態遷移部1113は、O_ID12015およびD_ID12016を共に滞留型チェックポイントのIDに更新し、状態を滞留状態にする。
【0152】
目的地が滞留型チェックポイントであり、かつ、O_ID12015とD_ID12016が等しい場合、状態遷移部1113は、処理1305にて予測した結果、人がδt以上滞留しているならば、D_ID12016を次の目的地に更新し、処理1305の結果まだ滞留していると見なされる場合は、状態を遷移させない。
【0153】
目的地が通過型チェックポイントの場合、状態遷移部1113は、時刻t+1におけるO_ID12015を時刻tにおけるD_ID12016に、時刻t+1におけるD_ID12016を次に向かうチェックポイントのIDに遷移させる。
【0154】
なおD_ID12016を更新する際に次に選ばれるチェックポイントのIDは、処理1302で生成した初期人流に目的地の遷移情報がすべて含まれている場合は、その情報に従って目的地を遷移させるように選択される。目的地の遷移情報がすべて含まれていない場合は、モデルDB107のチェックポイント遷移確率テーブル604に従い、確率的に目的地を遷移させてもよい。ここで、次の目的地が存在しない場合は、その人流を消す処理を行う。
【0155】
処理1307は、シミュレーションの時刻tを一つ進める処理を表す。
【0156】
処理1308は、シミュレーションの終了条件を満たすかどうかを判定する処理を表す。終了条件を満たす場合は、処理1304に戻り、満たさない場合は処理1309へ進む。終了条件は、例えばシミュレーションを開始して一定時間過ぎたかどうかであってもよいし、シミュレーション対象である人流がすべて最終的な目的地に到達したかどうかであってもよい。
【0157】
処理1309は、シミュレーションの処理終了を表す。
【0158】
図14は、本発明の実施例1の人間行動予測システム10のインタフェースの例を表す説明図である。以下、インタフェースの例である画面1401の詳細について説明する。
【0159】
画面1401に含まれる画面1402は、動線DB105に格納された動線データ、シミュレーションDB109に格納された仮想動線データ、ならびに、地図DB108に格納された地図テーブル402、403および404を表示する画面である。ここで、それぞれの動線データは各レコードのLINESTRINGを描画したものであるが、LINESTRINGの終点にマーカーをつけて描画してもよいし、状態ごとに色を変えて描画してもよい。描画されているデータは画面上で選択することができ、選択した場合は動線データ14021のように太さまたは色などの表示を変化させて描画してもよい。
【0160】
ボタン1403は、動線データ計測を行うためのボタンである。このボタンが操作されると、計測システム11にて対象領域におけるデータが取得され、動線データが動線DB105に格納される。
【0161】
ボタン1404は、地図データを入力するためのボタンである。このボタンが操作されると、ダイアログが立ち上がり、ユーザ12が地図テーブル402、403および404に関する情報を入力することができる。入力された情報が、地図データ入力部103によって地図DB108に格納される。
【0162】
ボタン1405は、計測した動線データに対して、状態判定処理を行うためのボタンである。このボタンが操作されると、状態判定部102の処理が実行される。
【0163】
ボタン1406は、動線データの表示を切り替えるボタンである。動線データは、シミュレーションDB109に格納されたデータと、動線DB105に格納されたデータとの2種類があるため、ボタン1406を操作することによってこれらを切り替えることができる。
【0164】
ボタン1407は、動線DB105に格納された動線データから動線予測モデルを学習するためのボタンである。このボタンが操作されると、行動モデル学習部110の処理が実行される。
【0165】
ボタン1408は、初期人流を生成するためのボタンである。このボタンが操作されると、ダイアログボックスが表示され、処理1302にて説明した人流の需要情報を入力することができ、その後、初期人流生成部104の処理が実行される。
【0166】
ボタン1409は、学習した動線予測モデルに従い、シミュレーションを実施するためのボタンである。このボタンが操作されると、仮想動線生成部111の処理が実行される。
【0167】
ボタン1410は、画面1402上で選択されているデータの詳細情報を表示するためのボタンである。具体的には、このボタンが操作されると、選択されているデータに対応する動線DB105、シミュレーションDB109、状態DB106および地図DB108の一つ以上のデータベースが呼び出され、選択しているデータの情報が表示される。図14の例では、動線データ14021が選択されているため、このデータに対応する動線テーブル401および動線状態テーブル501の情報が記載されたダイアログボックスが立ち上がる。
【0168】
ボタン1411は、動線データを再生する際に操作される停止ボタンである。画面上で動線データの再生を行っている際に、このボタンを操作することでその再生を止めることができる。
【0169】
ボタン1412は、動線データの再生ボタンである。このボタンを操作すると、動線データを時間ごとに連続再生する処理が行われる。
【0170】
ボタン1413は、動線データを再生する際に操作される巻き戻しボタンである。画面上で動線データの表示を行っている際に、このボタンを操作することで表示している時間を巻き戻すことができる。
【0171】
プログレスバー1414は、動線データの再生時間の位置を示すバーである。この画面を参照しているユーザ12がバーを直接移動させることで、動線データを表示している時間をずらすことができる。
【0172】
ボタン1415は、動線データを再生する際に操作される早送りボタンである。画面上で動線データの表示を行っている際に、このボタンを操作することで表示している時間を早送りことができる。
【0173】
テキスト1416は、現在動線データが表示されている時間を示すテキストボックスである。ユーザはこのテキスト1416を直接編集して、再生時間を変更することができる。
【0174】
チェックボックス1417は、動線データを一括で表示するか、時間ごとに表示をするかを切り替えるチェックボックスである。このチェックボックス1417にチェックが入っている場合は、動線データがすべて表示され、ボタン1411~1415およびテキスト1416は操作することができなくなる。
【0175】
上記の実施例1では、人の動線予測モデルを生成して、それに基づいて人の仮想動線を生成するシステムを説明した。ここで、人は移動体の一例であり、人以外の移動体、例えば船舶または車両等にも本実施例を適用することができる。このため、人間行動予測システムは移動体移動予測システムと読み替えてもよい。
【実施例2】
【0176】
以下、本発明の実施例2について図面を参照して説明する。以下に説明する相違点を除き、実施例2の人間行動予測システムの各部は、実施例1の同一の符号を付された各部と同一の機能を有するため、それらの説明は省略する。
【0177】
本発明の実施例1における滞留状態は、滞留型チェックポイント内での滞留、行列に並んでいる間の滞留をさしていた。一方、実施例2では、人同士の対話状態も滞留状態として考慮してシミュレーションを実施する。
【0178】
図15は、本発明の実施例2の人間行動予測システム10の基本構成を表すブロック図である。
【0179】
図15に示す人間行動予測システム10の構成要素のうち、計測システム11、動線データ抽出部101、地図データ入力部103、初期人流生成部104、行動モデル学習部110、仮想動線生成部111については、実施例1のものと同様であるため、説明を省略する。
【0180】
状態判定部102は、動線DB105に格納された動線データと、地図DB108に格納されたチェックポイントデータと、を受信し、動線データに対する状態判定を行い、判定結果を状態DB1502に格納する機能を備える。上記機能を実現するために、前記状態判定部102は、行列判定部1021と、OD分析部1022と、対話判定部1501を備える。行列判定部1021およびOD分析部1022は、実施例1のものと同様である。対話判定部1501の具体的な処理については後述する。
【0181】
状態DB1502およびモデルDB1503のデータ構造については後述する。
【0182】
図16Aは、本発明の実施例2の状態DB1502のデータ構造例を表す説明図である。
【0183】
状態DB1502に関して、実施例1の状態DB106と異なるのは、動線状態テーブル15021に格納される情報である。動線状態テーブル15021に格納される情報150211~150216は、動線状態テーブル501に格納される情報5011~5016と同様である。異なるのはGID150217である。GID150217は、対応する人が対話状態であるかどうかを示す情報である。具体的には対話のIDである。対応する人が対話状態でなければ、GID=-1とする。
【0184】
対話のIDは、場所、時間および人数によらず対話という現象に対して割り当てられる。例えば、2人が対話している際に、もう1人加わって3人で対話を始めた場合、2人が対話を開始してから3人が対話を終了するまで、対応するすべての人に同じGID150217が割り当てられる。すなわち、その最初の2人が対話している間はその2人のみに当該GIDが割り当てられ、3人目が加わった時刻からは3人に同じGIDが割り当てられる。
【0185】
図16Bは、本発明の実施例2のモデルDB1503のデータ構造例を表す説明図である。
【0186】
モデルDB1503に関しては、実施例1のテーブル601~605に加えて、対話モデルテーブル15031が新しく格納される。これは各場所において、対話の発生のしやすさを表す情報を格納したテーブルである。
【0187】
SHAPE_ID150311は対話場所の候補であるグリッドのIDを表し、WKT150312はそのグリッドのジオメトリ情報である。Prob150313はその場所における対話の発生のしやすさを定量化したものであり、たとえばその場所で対話が発生する確率でもよい。
【0188】
このパラメータは、例えば、状態判定部102が対話判定を行った後、行動モデル学習部110が対話モデルを学習する際に、グリッドごとに対話が起こった回数をカウントし、その回数を確率に変換して格納することによって生成されてもよい。実際に実施したシミュレーションの中で、移動中の人がある場所で他の人とすれ違った場合、その場所に対応するProb150313の値を用いて確率的に対話を発生させてもよい。このとき、シミュレーションにおける対話時間として、実際の動線データの対話判定結果から抽出した対話時間を用いてもよい。
【0189】
図17は、本発明の実施例2の状態判定部102で行われる処理のフローチャートである。
【0190】
処理1701は、状態判定部102の処理開始を表す。
【0191】
処理1702~1705は、処理702~705と同様である。
【0192】
処理1706は、動線データの滞留状態から対話判定を行う処理である。対話判定部1501は、動線データを確認した際に、所定の距離の範囲内に所定の速度以下の人が複数いる場合、対話をしていると判定する。この処理について説明図1709を用いて説明する。
【0193】
この例では、所定の距離の範囲である領域1711の中に所定の速度以下の人が複数いるため、人1710は対話をしていると判定される。人1712は所定の速度以下で移動しているが、所定の距離の範囲内に他の所定の速度以下の人がいないため、対話をしていると判定されない。人1713は所定の距離の範囲である領域1711内に存在するが、所定の速度以下でないので、対話をしていると判定されない。
【0194】
なお行列判定の時と同じく、対話判定を行う際に、人の向きの情報を用いてもよい。例えば、距離および速度が条件を満たしていて、かつ、それぞれの人の向きと相手の人がいる方向とのなす角が所定の値より小さいなどの所定の条件を満たす場合に、対話をしていると判定してもよい。
【0195】
処理1707は、状態データを状態DB1502に格納する処理である。具体的には、状態判定部102は、処理1702~1705の結果を統合し、各人について、いつ、どのチェックポイントからどのチェックポイントへ向かっていたか、どの行列型チェックポイントに並んでいたか、どの滞留型チェックポイントにて滞留していたか、対話していたか、の情報を、状態DB1502の動線状態テーブル15021に格納する。
【0196】
処理1708は、状態判定部102の処理終了を表す。
【0197】
図18は、本発明の実施例1および実施例2の計測システム11および人間行動予測システム10を構成する各装置のハードウェア構成を示すブロック図である。
【0198】
計測システム11は、レーザ計測システム2001、カメラシステム2002、および端末測位システム2003のいずれか一つ以上から構成される。
【0199】
レーザ計測システム2001は、レーザ光を発信するレーザ発振器20011、レーザの反射光を読み取るレーザ受光器20012、レーザの発振、受光にかかった時間等からレーザ計測システム2001の周囲の物体までの距離を求め点群データに変換する演算装置20013からなる。
【0200】
カメラシステム2002は一般的なカメラを備えたシステムであり、イメージセンサ20021によって可視光を画像として得て、演算装置20022が公知の方法によってその画像の中から人を検知してその位置を推定することができる装置である。
【0201】
端末測位システム2003は、プロセッサ20031、記憶装置20032、モニタ20033、GPS受信機20034、DRAM20035、入力装置20036および無線通信ボード20037を備える。プロセッサ20031は、演算性能を持つ。DRAM20035は、高速に読み書きが可能な揮発性一時記憶領域である。記憶装置20032は、ハードディスクドライブ(HDD)またはフラッシュメモリなどを利用した永続的な記憶領域である。入力装置20036は、人の操作を受け付ける。モニタ20033は、現在の端末の状況を提示する。無線通信ボード20037は、無線通信を行うためのネットワークインタフェースカードである。GPS受信機20034は、端末の位置を特定する。
【0202】
DRAM20035等の記憶領域に記録されたプログラムをプロセッサ20031が実行すると、GPS受信機20034等を用いて自己の位置を推定して無線通信ボード20037を経由して配信する。
【0203】
人間行動予測システム10は、プロセッサ112、記憶装置113、モニタ114、DRAM115、入力装置116及びNIC117を備える。プロセッサ112は、演算性能を有する。DRAM115は、高速に読み書きが可能な揮発性一時記憶領域である。記憶装置113は、HDDまたはフラッシュメモリなどを利用した永続的な記憶領域である。入力装置116は、人の操作を受け付ける。モニタ114は、情報を提示する。NIC117は、通信を行うためのネットワークインタフェースカードである。
【0204】
DRAM115等の記憶領域に記録されたプログラムをプロセッサ112が実行することによって、動線データ抽出部101、状態判定部102、地図データ入力部103、初期人流生成部104、行動モデル学習部110および仮想動線生成部111を実現できる。すなわち、実施例1および2において上記の各部が実行する処理は、実際にはプロセッサ112がプログラムに従って実行する。また、動線DB105、状態DB106、モデルDB107、地図DB108、シミュレーションDB109は記憶装置113に記憶することによって実現できる。
【0205】
人間行動予測システム10は、例えば図18に示す構成の一つの計算機によって実現されてもよいが、複数の計算機によって実現されてもよい。例えば、前述した人間行動予測システム10が保持する情報が、複数の記憶装置113またはDRAM115に分散して格納されてもよいし、前述した人間行動予測システム10の機能が、複数の計算機の複数のプロセッサによって分散して実行されてもよい。
【0206】
上記の本発明の実施形態は、次のような例を含んでもよい。
【0207】
(1)プロセッサ(例えばプロセッサ112)と、記憶装置(例えば記憶装置113およびDRAM115の少なくともいずれか)と、を有する移動体移動予測システムであって、記憶装置は、移動体の時刻ごとの位置情報を含む動線情報(例えば動線DB105)と、移動体が移動可能な空間の地図情報(例えば地図DB108)と、移動体の移動に関する状態を示す状態情報(例えば状態DB106)と、を保持し、プロセッサは、動線情報、地図情報及び移動体の状態に基づいて、移動体の移動先を予測する移動モデルを学習し(例えば図10の処理)、移動体の初期条件及び移動モデルに基づいて移動体の仮想的な動線を生成する(例えば図13の処理)。
【0208】
これによって、動線シミュレーションを高精度化することができる。それによって、レイアウト設計による動線への影響を事前に評価することができる。
【0209】
(2)上記(1)において、地図情報は、それぞれ移動体が通過、滞留及び行列の少なくともいずれかをし得る複数のチェックポイントの位置及び種類の情報(例えば地図テーブル403)を含み、プロセッサは、動線情報及び地図情報に基づいて、移動体とチェックポイントとの位置関係、チェックポイントの種類及び移動体の速度から、移動体の状態を判定した結果を、状態情報として記憶装置に格納する(例えば図7の処理)。
【0210】
これによって、移動体の状態を適切に分類して、動線シミュレーションを高精度化することができる。
【0211】
(3)上記(2)において、地図情報は、各チェックポイントの種類が滞留型であるかを示す情報を含み、移動体の状態は、滞留型のチェックポイントに滞留している状態を含み、プロセッサは、滞留型のチェックポイントとの位置関係が所定の条件を満たし、かつ、移動速度が所定の値以下である移動体の状態を、滞留型のチェックポイントに滞留している状態と判定する(例えば図7の処理703)。
【0212】
これによって、移動体の状態を適切に分類して、動線シミュレーションを高精度化することができる。
【0213】
(4)上記(2)において、地図情報は、各チェックポイントの種類が行列型であるかを示す情報を含み、前記移動体の状態は、前記行列型のチェックポイントの行列に並んでいる状態を含み、前記プロセッサは、前記行列型のチェックポイントとの位置関係が所定の条件を満たし、かつ、移動速度が所定の値以下である前記移動体の状態を、前記行列型のチェックポイントの行列に並んでいる状態と判定する(例えば図7の処理704)。
【0214】
これによって、移動体の状態を適切に分類して、動線シミュレーションを高精度化することができる。
【0215】
(5)上記(4)において、プロセッサは、行列型のチェックポイントと、行列型のチェックポイントにおける行列の対象の地点(例えば行列に並んだ人にサービスを提供する場所)と、行列型のチェックポイントの行列に並んでいる状態に分類された移動体と、の位置関係に基づいて、行列の先頭に並んでいる移動体を特定し(例えば図9の処理902)、行列における順序が特定されている移動体と他の移動体との位置関係に基づいて、行列における順序が特定されている移動体の次に並んでいる移動体を特定する処理を再帰的に行うことによって、行列に並んでいる移動体の順序を特定する(例えば図9の処理903)。
【0216】
これによって、移動体の状態を適切に分類して、動線シミュレーションを高精度化することができる。
【0217】
(6)上記(5)において、移動モデルに入力される特徴量は、移動体と移動体の目的地との位置関係に関する特徴量を含み、行列型のチェックポイントに移動体が並んでいない場合、行列型のチェックポイントに向かう移動体の目的地は、行列型のチェックポイントに属するいずれかの地点であり、行列型のチェックポイントに1以上の前記移動体が並んでいる場合、行列型のチェックポイントに向かう移動体の目的地は、行列の最後尾に並んでいる移動体であり、行列型のチェックポイントに1以上の移動体が並んでいる場合、行列型のチェックポイントの先頭に並んでいる移動体の目的地は、行列型のチェックポイントに属するいずれかの地点であり、行列型のチェックポイントに2以上の移動体が並んでいる場合、行列型のチェックポイントの2番目以降に並んでいる移動体の目的地は、行列の一つ前に並んでいる移動体である。
【0218】
これによって、分類された移動体の状態に基づいて、行列に関連する動線シミュレーションを高精度化することができる。
【0219】
(7)上記(2)において、移動体は人であり、プロセッサは、動線情報から、複数の人の間の距離及び各人の移動速度が所定の条件を満たす状態の持続時間に基づいて、複数の人の間の対話の発生を判定した結果を、状態情報に含めて記憶装置に格納する(例えば図17の処理)。
【0220】
これによって、人同士の対話状態も滞留状態として考慮したシミュレーションを実行することができる。
【0221】
(8)上記(7)において、プロセッサは、複数の人の間の対話の発生を判定した結果に基づいて、空間内の領域ごとの対話の発生確率を計算し、生成された仮想的な動線と、対話の発生確率とに基づいて、対話の発生を予測する。
【0222】
これによって、人同士の対話状態も滞留状態として考慮したシミュレーションを実行することができる。
【0223】
(9)上記(1)において、プロセッサは、移動体の状態によって分類された動線情報と地図情報とに基づいて、移動体の状態ごとに、移動モデルを学習する。
【0224】
これによって、状態に基づいて移動先を予測するモデルを生成し、動線シミュレーションを高精度化することができる。
【0225】
(10)上記(1)において、プロセッサは、移動体の状態が特徴量として入力される移動モデルを学習する。
【0226】
これによって、状態に基づいて移動先を予測するモデルを生成し、動線シミュレーションを高精度化することができる。
【0227】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明のより良い理解のために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0228】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によってハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【0229】
また、制御線及び情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線及び情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0230】
10 人間行動予測システム
11 計測システム
12 ユーザ
101 動線データ抽出部
102 状態判定部
103 地図データ入力部
104 初期人流生成部
105 動線DB
106 状態DB
107 モデルDB
108 地図DB
109 シミュレーションDB
110 行動モデル学習部
111 仮想動線生成部
112 プロセッサ
113 記憶装置
114 モニタ
115 DRAM
116 入力装置
117 NIC
1021 行動判定部
1022 OD分析部
1031 壁レイアウト入力部
1032 チェックポイント入力部
1033 行列レイアウト入力部
1101 動線データ分割部
1102 特徴量算出部
1103 モデル学習部
1111 特徴量算出部
1112 動線予測部
1113 状態遷移部
2001 レーザ計測システム
2002 カメラシステム
2003 端末測位システム
20011 レーザ発振器
20012 レーザ受光器
20013 演算装置
20021 イメージセンサ
20022 演算装置
20031 プロセッサ
20032 記憶装置
20033 モニタ
20034 GPS受信機
20035 DRAM
20036 入力装置
20037 無線通信ボード
図1
図2
図3
図4A
図4B
図4C
図4D
図5A
図5B
図6A
図6B
図6C
図6D
図6E
図7
図8A
図8B
図9
図10
図11
図12A
図12B
図13
図14
図15
図16A
図16B
図17
図18