(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024161559
(43)【公開日】2024-11-19
(54)【発明の名称】情報管理方法及びコンピュータプログラム
(51)【国際特許分類】
G06T 7/20 20170101AFI20241112BHJP
G06T 7/254 20170101ALI20241112BHJP
G06T 7/00 20170101ALI20241112BHJP
H04N 7/18 20060101ALI20241112BHJP
【FI】
G06T7/20 300Z
G06T7/254 A
G06T7/00 660B
H04N7/18 D
H04N7/18 K
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2024139502
(22)【出願日】2024-08-21
(62)【分割の表示】P 2022515201の分割
【原出願日】2020-11-26
(31)【優先権主張番号】P 2020071807
(32)【優先日】2020-04-13
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100132241
【弁理士】
【氏名又は名称】岡部 博史
(74)【代理人】
【識別番号】100135703
【弁理士】
【氏名又は名称】岡部 英隆
(74)【代理人】
【識別番号】100199314
【弁理士】
【氏名又は名称】竹内 寛
(72)【発明者】
【氏名】宮田 淳司
(72)【発明者】
【氏名】市村 大治郎
(72)【発明者】
【氏名】秦 秀彦
(57)【要約】 (修正有)
【課題】撮像画像から複数の移動体を検知する処理を効率良くする移動体検知システム及びその情報管理装置を提供する。
【解決手段】動線検知システムは、所定周期で画像を撮像して画像データを夫々生成する複数の撮像装置(カメラ)と、各撮像装置による画像データに画像認識を行って各画像データが示す撮像画像における移動体を夫々検知する複数の画像認識装置(動線抽出サーバ)と、各撮像装置から各画像認識装置へ供給される画像データを管理する情報管理装置(混雑管理サーバ)と、を備え、情報管理装置は、各撮像装置及び各画像認識装置とデータ通信を行う通信部と、通信部の動作を制御する制御部と、を備える。制御部は、撮像装置毎に各画像データが示す撮像画像の範囲内に移動体が局在する数量を示す混雑情報を管理し、混雑情報が示す数量の大きさに応じて、複数の撮像装置による画像データを分配して各画像認識装置に供給するように通信部を制御する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
撮像画像に基づき複数の移動体を検知する移動体検知システムであって、
画像を撮像して、画像データをそれぞれ生成する複数の撮像装置と、
前記複数の撮像装置にそれぞれ対応して設けられ、対応した前記各撮像装置による画像データに画像認識を行って、各画像データが示す撮像画像における移動体をそれぞれ検知する複数の画像認識装置と、
前記各撮像装置から前記各画像認識装置へ供給される画像データを管理する情報管理装置とを備え、
前記情報管理装置は、
前記各撮像装置及び前記各画像認識装置とデータ通信を行う通信部と、
前記通信部の動作を制御する制御部とを備え、
前記複数の撮像装置は、第1の撮像装置を含み、
前記複数の画像認識装置は、前記第1の撮像装置に対応した第1の画像認識装置と、前記第1の撮像装置に対応していない第2の画像認識装置とを含み、
前記制御部は、
前記撮像装置毎に各画像データが示す撮像画像の範囲内に移動体が局在する数量を示す混雑情報を管理し、
前記第1の撮像装置による第1の画像データにおいて、前記混雑情報が示す数量の大きさが所定量未満の場合、前記第1の画像データを前記第1の画像認識装置に供給し、
前記第1の画像データにおいて、前記混雑情報が示す数量の大きさが前記所定量以上の場合、前記第1の画像データを分配して、少なくとも前記第1の画像認識装置と前記第2の画像認識装置とに供給するように、前記通信部を制御する
移動体検知システム。
【請求項2】
前記各画像認識装置は、前記移動体を繰り返し検知して、前記移動体による動線を示す動線情報を生成する
請求項1に記載の移動体検知システム。
【請求項3】
前記各画像認識装置により生成された動線情報に基づいて、前記複数の撮像装置により撮像される範囲の全体において前記移動体の動線を示す情報を生成する情報統合装置をさらに備える
請求項2に記載の移動体検知システム。
【請求項4】
前記制御部は、
前記各撮像装置によって順次撮像される複数フレームの画像データに基づいて、前記撮像画像における移動体の動き量を算出して、
前記算出した動き量に基づいて、前記混雑情報を生成する
請求項1から3のいずれか1項に記載の移動体検知システム。
【請求項5】
前記制御部は、
前記各画像認識装置によって検知された移動体の個体数を取得して、
前記取得した移動体の個体数に基づき、前記混雑情報を生成する
請求項1から4のいずれか1項に記載に移動体検知システム。
【請求項6】
前記制御部は、前記複数の撮像装置において前記第1の撮像装置に隣接した撮像装置に関する前記混雑情報と、前記複数の撮像装置が配置された環境において前記移動体の移動により前記混雑情報が変化する傾向を示す情報と、の少なくとも一方に応じて前記第1の撮像装置による第1の画像データにおいて前記混雑情報が示す数量の大きさが前記所定量以上になる前に前記第1の画像データを分配することを予め決定して、前記混雑情報を更新する
請求項1から5のいずれか1項に記載の移動体検知システム。
【請求項7】
前記制御部は、
前記複数の撮像装置による各々の画像データにおいて、各画像データが示す画像を分割する領域毎に、当該領域における混雑情報を示す混雑度を算出し、
前記算出した混雑度に基づき、前記複数の撮像装置による各々の画像データを前記複数の画像認識装置に分配して送信する
請求項1から6のいずれか1項に記載の移動体検知システム。
【請求項8】
前記複数の撮像装置は、前記第2の画像認識装置に対応した第2の撮像装置を含み、
前記第2の撮像装置による第2の画像データにおいて、前記混雑情報が示す数量の大きさが前記所定量未満である
請求項1から7のいずれか1項に記載の移動体検知システム。
【請求項9】
前記制御部は、
前記第2の画像データを前記第2の画像認識装置に供給し、
前記第1の画像データにおいて、前記混雑情報が示す数量の大きさが前記所定量以上の場合、前記第1の画像データが示す撮像画像を複数の領域に分割する複数の分割データを、分配先の前記第1及び第2の画像認識装置に別個に供給するように、前記通信部を制御する
請求項8に記載の移動体検知システム。
【請求項10】
複数の撮像装置と、前記複数の撮像装置にそれぞれ対応して設けられ、対応した前記各撮像装置による画像データに基づいて各画像データが示す撮像画像における移動体をそれぞれ認識する複数の画像認識装置とを備えた移動体検知システムにおける情報管理装置であって、
前記情報管理装置は、
前記各撮像装置及び前記各画像認識装置とデータ通信を行う通信部と、
前記各撮像装置から前記各画像認識装置へ供給される画像データを管理するように、前記通信部の動作を制御する制御部とを備え、
前記複数の撮像装置は、第1の撮像装置を含み、
前記複数の画像認識装置は、前記第1の撮像装置に対応した第1の画像認識装置と、前記第1の撮像装置に対応していない第2の画像認識装置とを含み、
前記制御部は、
前記撮像装置毎に各画像データが示す撮像画像における移動体の数量を示す混雑情報を管理し、
前記第1の撮像装置による第1の画像データにおいて、前記混雑情報が示す数量の大きさが所定量未満の場合、前記第1の画像データを前記第1の画像認識装置に供給し、
前記第1の画像データにおいて、前記混雑情報が示す数量の大きさが前記所定量以上の場合、前記第1の画像データを分配して、少なくとも前記第1の画像認識装置と前記第2の画像認識装置とに供給するように、前記通信部を制御する
情報管理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、撮像画像に基づき複数の移動体を検知する移動体検知システム、及び移動体検知システムにおける情報管理装置に関する。
【背景技術】
【0002】
特許文献1は、1以上の監視カメラと、監視サーバと、ユーザが所持する携帯端末とを備える監視システムを開示している。特許文献1の監視サーバは、監視カメラの映像から人物といった移動体オブジェクトの動線を抽出し、携帯端末の周辺領域等に含まれる動線を選択する。監視サーバは、選択した動線に基づき、動線の通過経路を含む領域の映像を特定してユーザに提示する。このように特許文献1では、動線の解析結果に応じた映像をユーザに提示することにより、ユーザによる映像の確認作業の効率化を図っている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、複数の撮像装置を用いた移動体検知システムにおいて撮像画像から複数の移動体を検知する処理を効率良くすることができる移動体検知システム、及びその情報管理装置を提供する。
【課題を解決するための手段】
【0005】
本開示の一態様に係る移動体検知システムは、撮像画像に基づき複数の移動体を検知する。移動体検知システムは、複数の撮像装置と、複数の画像認識装置と、情報管理装置とを備える。複数の撮像装置は、所定周期で画像を撮像して、画像データをそれぞれ生成する。複数の画像認識装置は、各撮像装置による画像データに画像認識を行って、各画像データが示す撮像画像における移動体をそれぞれ検知する。情報管理装置は、各撮像装置から各画像認識装置へ供給される画像データを管理する。情報管理装置は、各撮像装置及び各画像認識装置とデータ通信を行う通信部と、通信部の動作を制御する制御部とを備える。制御部は、撮像装置毎に各画像データが示す撮像画像の範囲内に移動体が局在する数量を示す混雑情報を管理し、混雑情報が示す数量の大きさに応じて、複数の撮像装置による画像データを分配して各画像認識装置に供給するように通信部を制御する。
【0006】
本開示の一態様に係る情報管理装置は、複数の撮像装置と、各撮像装置による画像データに基づいて各画像データが示す撮像画像における複数の移動体をそれぞれ認識する複数の画像認識装置とを備えた移動体検知システムにおける情報管理装置である。情報管理装置は、各撮像装置及び各画像認識装置とデータ通信を行う通信部と、各撮像装置から各画像認識装置へ供給される画像データを管理するように、通信部の動作を制御する制御部とを備える。制御部は、撮像装置毎に各画像データが示す撮像画像の範囲内に移動体が局在する数量を示す混雑情報を管理し、混雑情報が示す数量の大きさに応じて、複数の撮像装置による画像データを分配して各画像認識装置に供給するように通信部を制御する。
【発明の効果】
【0007】
本開示に係る移動体検知システム及び情報管理装置によると、撮像画像から複数の移動体を検知する処理を効率良くすることができる。
【図面の簡単な説明】
【0008】
【
図1】本開示の実施の形態1に係る動線検知システムの概要を示す図
【
図2】実施形態1の混雑管理サーバの構成を例示するブロック図
【
図3】実施形態1の動線抽出サーバの構成を例示するブロック図
【
図4】実施形態1の動線結合サーバの構成を例示するブロック図
【
図5】動線検知システム1の動作例を説明するための図
【
図6】動線検知システム1における混雑時の動作を説明するための図
【
図7】実施形態1の混雑管理サーバにおける混雑判定処理を例示するフローチャート
【
図8】実施形態1の混雑判定処理を説明するための図
【
図9】実施形態1の混雑判定処理における混雑情報テーブルを例示する図
【
図10】実施形態1の混雑管理サーバにおける画像分配処理を例示するフローチャート
【
図11】実施形態1の画像分配処理を説明するための図
【
図12】実施形態1の動線抽出サーバにおける動線抽出処理を例示するフローチャート
【
図13】実施形態1の動線抽出処理を説明するための図
【
図14】実施形態1の動線結合サーバにおける動線結合処理を例示するフローチャート
【
図15】実施形態2の複数のカメラ間での混雑状態の伝搬を説明するための図
【
図16】実施形態3の画像分配処理を例示するフローチャート
【
図17】実施形態4の混雑判定処理を例示するフローチャート
【発明を実施するための形態】
【0009】
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、発明者(ら)は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
【0010】
(実施形態1)
1.構成
実施形態1に係る動線検知システムについて、
図1を用いて説明する。
図1は本実施形態に係る動線検知システム1の概要を示す図である。
【0011】
1-1.システムの概要
本システム1は、
図1に示すように、複数のカメラ2-1~2-3と、混雑管理サーバ7と、複数の動線抽出サーバ8-1~8-3と、動線結合サーバ9とを備える。以下、カメラ2-1,2-2,2-3を総称して「カメラ2」ともいう。又、動線抽出サーバ8-1,8-2,8-3を総称して「動線抽出サーバ8」ともいう。
【0012】
本システム1は、店舗の売り場、作業場または工場等の環境6において複数の人物11等がそれぞれ移動する軌跡すなわち動線を検知対象として、環境6の全体を撮像するように複数のカメラ2を用いる移動体検知システムの一例である。本システム1は、例えば環境6の管理者または分析担当者といったユーザ3に、環境6における様々な人物11の動線を提示するための表示端末4を備えてもよい。
【0013】
本システム1では、各カメラ2-1,2-2,2-3に対応して各動線抽出サーバ8-1,8-2,8-3が設けられる。動線抽出サーバ8は、カメラ2による撮像画像から動線を抽出するための画像認識の処理を実行するサーバ装置である。混雑管理サーバ7は、各カメラ2-1,2-2,2-3から各動線抽出サーバ8-1,8-2,8-3に供給される画像データを管理するためのサーバ装置である。動線結合サーバ9は、各動線抽出サーバ8-1,8-2,8-3によって抽出された動線等を統合した情報を生成するためのサーバ装置である。
【0014】
本実施形態では、以上のような動線検知システム1において、混雑管理サーバ7を用いることにより、多数の人物11による混雑が生じたとしても環境6全体の動線等をリアルタイムに得やすくする。
【0015】
以下、本システム1におけるカメラ2、混雑管理サーバ7、動線抽出サーバ8、および動線結合サーバ9それぞれの具体的な構成を説明する。
【0016】
1-2.カメラの構成
カメラ2は、本システム1における撮像装置の一例である。カメラ2は、画像を撮像する撮像部と、撮像部が撮像した画像を示す画像データを送信する送信部とを備える。撮像部は、CCDイメージセンサ、又はCMOSイメージセンサなどで実現される。送信部は、所定の通信規格(例えばIEEE802.11、USB)に準拠して外部機器との通信を行うためのインタフェース回路を含む。
【0017】
本実施形態のカメラ2は、例えば魚眼レンズを備えた全方位カメラである。本システム1のカメラ2は、特に全方位カメラに限らない種々の撮像装置であってもよい。又、
図1では、3つのカメラ2-1,2-2,2-3を例示しているが、本システム1に含まれるカメラ2の個数は特に3つに限定されず、2つ又は4つ以上であってもよい。
【0018】
本システム1において、例えば環境6中の各所を移動する人物11の動線を精度良く検知する観点から、環境6において各カメラ2-1,2-2,2-3が撮像する撮像範囲が、例えば部分的に互いに重畳するように設定される。
【0019】
1-3.混雑管理サーバの構成
図2は、本実施形態の混雑管理サーバ7の構成を例示するブロック図である。混雑管理サーバ7は、本実施形態における情報管理装置の一例である。
図2に例示する混雑管理サーバ7は、制御部70と、記憶部74と、通信インタフェース75とを備える。
【0020】
制御部70は、混雑管理サーバ7の動作を制御する。制御部70は、例えばソフトウェアと協働して所定の機能を実現するCPUまたはMPUで構成される。制御部70は、記憶部74に格納されたデータ及びプログラムを読み出して種々の演算処理を行い、各種の機能を実現する。例えば、制御部70は、混雑管理サーバ7の各種処理を実現するための命令群を含んだプログラムを実行する。上記のプログラムは、例えばアプリケーションプログラムであり、インターネット等の通信ネットワークから提供されてもよいし、可搬性を有する記憶媒体に格納されてもよい。
【0021】
図2に例示する混雑管理サーバ7において、制御部70は、例えば機能的構成として混雑判定部71および画像分配部72を備える。混雑判定部71は、各カメラ2-1,2-2,2-3の撮像画像が後述する混雑状態であるか否かを判定する処理である混雑判定処理を行う。画像分配部72は、混雑判定処理の結果に基づき、複数の動線抽出サーバ8から複数のカメラ2の画像データを分配する分配先を決定し、各動線抽出サーバ8-1,8-2,8-3に画像データを送信する処理である画像分配処理を行う。
【0022】
なお、制御部70は、所定の機能を実現するように設計された専用の電子回路又は再構成可能な電子回路などのハードウェア回路であってもよい。制御部70は、マイコン、DSP、FPGA及びASIC等の半導体集積回路で構成されてもよい。また、制御部70は、各種のデータ及びプログラムを保持する一時的な記憶領域として内部メモリを備えてもよい。
【0023】
記憶部74は、データ及びプログラムを記憶する。記憶部74は、例えばハードディスクドライブ(HDD)または半導体記憶装置(SSD)により構成される。記憶部74は、複数のカメラ2から取得した画像データを記憶する。記憶部74は、例えばDRAMまたはSRAM等のRAMにより構成される一時的な記憶素子を備えてもよく、制御部70の作業領域として機能してもよい。例えば記憶部74は、混雑判定部71の判定結果および画像分配部72による分配先の決定結果を一時的に記憶してもよい。
【0024】
通信インタフェース75は、例えばUSB、IEEE 802.11またはBluetooth(登録商標)といった規格に準拠して、機器間の接続及びデータの通信等を行う接続回路である。通信インタフェース75は、例えば複数のカメラ2および複数の動線抽出サーバ8と、混雑管理サーバ7を接続する。通信インタフェース75は、通信ネットワークと接続するための回路を備えてもよく、例えば複数のカメラ2および複数の動線抽出サーバ8等と通信ネットワークを介してデータの通信を行ってもよい。
【0025】
1-4.動線抽出サーバの構成
図3は、本実施形態の動線抽出サーバ8の構成を例示するブロック図である。動線抽出サーバ8は、本実施形態における画像認識装置の一例である。
図3に例示する動線抽出サーバ8は、制御部80と、記憶部84と、通信インタフェース85とを備える。
【0026】
制御部80は、動線抽出サーバ8の動作を制御する。制御部80は、例えばソフトウェアと協働して所定の機能を実現するCPU、MPU、GPU、GPGPUまたはTPU或いはそれらの組み合わせで構成される。制御部80は、記憶部84に格納されたデータ及びプログラムを読み出して種々の演算処理を行い、各種の機能を実現する。
【0027】
図3に例示する動線抽出サーバ8において、制御部80は、例えば機能的構成として動線抽出部81を備える。動線抽出部81は、混雑管理サーバ7から受信した画像データに基づいて、画像認識の対象として予め設定された人物11等の物体を検知する画像認識の処理を含んだ動線抽出処理を行う。動線抽出処理では、画像認識による検知結果に基づいて人物11等の位置情報が算出される。動線抽出部81は、動線抽出サーバ8-1に対応するカメラ2-1の画像データから算出した位置情報に基づく動線を示す個別動線情報Lnを生成して、記憶部84に蓄積させる。動線抽出部81における画像認識の処理には、例えば各種の機械学習による学習済みモデル等が適用される。
【0028】
なお、制御部80は、所定の機能を実現するように設計された専用の電子回路又は再構成可能な電子回路などのハードウェア回路であってもよい。制御部80は、マイコン、DSP、FPGA及びASIC等の半導体集積回路で構成されてもよい。また、制御部80は、各種のデータ及びプログラムを保持する一時的な記憶領域として内部メモリを備えてもよい。
【0029】
記憶部84は、データ及びプログラムを記憶する。記憶部84は、例えばハードディスクドライブ(HDD)または半導体記憶装置(SSD)により構成される。記憶部84は、個別動線情報Lnを記憶する。記憶部84は、例えばDRAMまたはSRAM等のRAMにより構成される一時的な記憶素子を備えてもよく、制御部80の作業領域として機能してもよい。
【0030】
通信インタフェース85は、例えばUSB、IEEE 802.11またはBluetoothといった規格に準拠して、機器間の接続及びデータの通信等を行う接続回路である。通信インタフェース85は、例えば混雑管理サーバ7及び動線結合サーバ9に通信接続する。通信インタフェース85は、他の動線抽出サーバ8と通信可能に接続されてもよい。通信インタフェース85は、通信ネットワークと接続するための回路を備えてもよく、例えば複数の動線抽出サーバ8の間で通信ネットワークを介してデータの通信を行ってもよい。
【0031】
1-5.動線結合サーバの構成
図4は、本実施形態の動線結合サーバ9の構成を例示するブロック図である。動線結合サーバ9は、本実施形態における情報統合装置の一例である。
図4に例示する動線結合サーバ9は、制御部90と、記憶部94と、通信インタフェース95と、出力インタフェース96とを備える。
【0032】
制御部90は、動線結合サーバ9の動作を制御する。制御部90は、例えばソフトウェアと協働して所定の機能を実現するCPUまたはMPUで構成される。制御部90は、記憶部94に格納されたデータ及びプログラムを読み出して種々の演算処理を行い、各種の機能を実現する。
【0033】
図4に例示する動線結合サーバ9において、制御部90は、例えば機能的構成として動線結合部91を備える。動線結合部91は、各動線抽出サーバ8-1,8-2,8-3から受信した各々の個別動線情報L1等を結合して、複数のカメラ2の画像データに基づく全体動線情報L0を生成し、記憶部94に蓄積させる。
【0034】
なお、制御部90は、所定の機能を実現するように設計された専用の電子回路又は再構成可能な電子回路などのハードウェア回路であってもよい。制御部90は、マイコン、DSP、FPGA及びASIC等の半導体集積回路で構成されてもよい。また、制御部90は、各種のデータ及びプログラムを保持する一時的な記憶領域として内部メモリを備えてもよい。
【0035】
記憶部94は、データ及びプログラムを記憶する。記憶部94は、例えばハードディスクドライブ(HDD)または半導体記憶装置(SSD)により構成される。記憶部94は、全体動線情報L0を記憶する。記憶部94は、例えばDRAMまたはSRAM等のRAMにより構成される一時的な記憶素子を備えてもよく、制御部90の作業領域として機能してもよい。
【0036】
通信インタフェース95は、例えばUSB、IEEE 802.11またはBluetoothといった規格に準拠して、機器間の接続及びデータの通信等を行う接続回路である。通信インタフェース95は、例えば複数の動線抽出サーバ8と動線結合サーバ9を通信接続する。通信インタフェース95は、通信ネットワークと接続するための回路を備えてもよく、例えば複数の動線抽出サーバ8等と通信ネットワークを介してデータの通信を行ってもよい。
【0037】
出力インタフェース96は、情報を出力する出力部の一例である。出力インタフェース96は、例えばHDMI(登録商標)規格などに準拠した映像信号等の出力インタフェース回路である。出力インタフェース96は、各種の情報を表示するためにモニタ、プロジェクタ、およびヘッドマウントディスプレイなど外付けの表示デバイスに信号を出力する。また、情報統合装置の出力部は、出力インタフェース96に限らず、例えば液晶ディスプレイまたは有機ELディスプレイといった表示デバイスとして構成されてもよい。
【0038】
2.動作
2-1.動作の概要
本実施形態に係る動線検知システム1の動作の概要を、
図1及び
図5を用いて説明する。
図5は、本実施形態に係る動線検知システム1の動作例を説明するための図である。
【0039】
動線検知システム1において、各カメラ2-1,2-2,2-3は、環境6における各々の撮像範囲の画像を撮像して、例えば動画のフレーム周期で画像データを生成する。各カメラ2-1,2-2,2-3は、各々の画像データを、例えば互いに同期した撮像時刻と関連付けて順次、混雑管理サーバ7に送信する。
【0040】
本実施形態における混雑管理サーバ7は、例えば各カメラ2-1,2-2,2-3により撮像された画像の画像データを取得して、混雑判定部71及び画像分配部72としての処理を行う(
図5のS1,S2参照)。例えば、後述する混雑状態が特に生じていない場合、混雑管理サーバ7は、各カメラ2-1,2-2,2-3からの画像データを、それぞれ対応する動線抽出サーバ8-1,8-2,8-3に送信する。
【0041】
各動線抽出サーバ8-1,8-2,8-3は、それぞれ受信した画像データに基づき、複数のカメラ2-1,2-2,2-3の撮像画像に対する画像認識処理を並列に行い、人物11等による動線を検知する(
図5のS3参照)。各動線抽出サーバ8-1,8-2,8-3は、各々の検知結果を示す個別動線情報をそれぞれ生成して、動線結合サーバ9に送信する。
【0042】
動線結合サーバ9は、例えば表示端末4において環境6の地図を示す地図画像上に動線が表示されるように、複数の動線抽出サーバ8により検知された動線等の情報を統合する(
図5のS4参照)。
【0043】
2-1-1.混雑時の動作
以上のような動線検知システム1における混雑時の動作について、
図5及び
図6を用いて説明する。
【0044】
図5は、環境6における特定のカメラ2-3の撮像範囲のみが人物11により混雑している場合における本システム1の動作を例示する。
図6(A),(B),(C)は、
図5の動作例における各カメラ2-1,2-2,2-3の撮像画像I21,I22,I23をそれぞれ例示する。混雑中の撮像画像I23の状態を「混雑状態」といい、混雑状態でない撮像画像I21,I22の状態を「非混雑状態」という。
【0045】
混雑状態の撮像画像I23によると、多数の人物が当該画像I23の範囲内に局在していることから、画像認識を実行する動線抽出サーバ8-3の処理負荷が過大になる事態が想定される。この場合、複数の動線抽出サーバ8-1~8-3の内の特定の動線抽出サーバ8-3の処理の遅延により、動線結合サーバ9の処理(S4)が遅れ、ひいてはリアルタイムな動線の表示を実現困難になってしまう。
【0046】
そこで、本実施形態の動線検知システム1においては、混雑管理サーバ7によって撮像画像I21~I23における混雑状態を管理する。
【0047】
まず、混雑管理サーバ7は、混雑判定部71により、各カメラ2-1,2-2,2-3について混雑判定処理(S1)を行う。
図5の例では、特定のカメラ2-3の撮像画像I23のみが混雑状態であると判定され、残りのカメラ2-1,2-2の撮像画像I21,I22は混雑状態でないと判定される。
【0048】
次に、混雑管理サーバ7は、混雑判定処理(S1)の結果にしたがい、画像分配部72により画像データ21,22,23の画像分配処理(S2)を行う。画像分配部72は、非混雑状態と判定されたカメラ2-1,2-2の画像データ21,22を、それぞれのカメラ2-1,2-2に対応する動線抽出サーバ8-1,8-2に送信する。一方、画像分配部72は、混雑状態と判定されたカメラ2-3の画像データ23を、撮像画像I23を分割するように、複数の動線抽出サーバ8に分配する。こうした分配の一例を
図6(C)~(F)に示す。
【0049】
図6(D),(E),(F)は、
図6(C)の撮像画像I23を分割した分割画像I23b,I23c,I23adを例示する。
図5の例では、混雑管理サーバ7は、分割画像I23ad,I23b,I23cを示す画像データ23ad,23b,23cを、特定の動線抽出サーバ8-3だけでなく、他の動線抽出サーバ8-1,8-2にも分配して供給する。
【0050】
各動線抽出サーバ8-1,8-2,8-3は、各々の動線抽出部81により、混雑管理サーバ7から供給された画像データに画像認識の処理を実行して、対応するカメラ2-1,2-2,2-3の画像データに基づく動線を抽出する動線抽出処理(S3)を行う。この際、上記特定の動線抽出サーバ8-3は、画像認識の処理対象が
図6(C),(F)に示すように混雑状態の撮像画像I23から分割画像I23adに削減されることから、処理負荷が低減される。一方、残りの分割画像I23b,I23cは、それぞれ混雑状態でない撮像画像I21,I22と共に、他の動線抽出サーバ8-1,8-2の処理対象となる。
【0051】
よって、複数の動線抽出サーバ8-1~8-3の間で処理負荷が分散され、動線抽出処理(S3)を効率良く行うことができる。また、本実施形態では、複数の動線抽出サーバ8-1~8-3は、分割画像I23ad、I23b、I23cの画像認識による検知結果の情報を互いに送受信することで、それぞれ対応するカメラ2-1~2-3の画像データに基づく個別動線情報L1,L2,L3を生成する。各動線抽出サーバ8-1,8-2,8-3は、それぞれ個別動線情報L1,L2,L3を動線結合サーバ9に送信する。
【0052】
動線結合サーバ9は、受信した個別動線情報L1,L2,L3を統合して全体動線情報L0を生成する動線結合処理(S4)を行う。動線結合サーバ9は、全体動線情報L0を、例えば記憶部94に予め格納された環境6の地図画像を示す地図画像データと合わせて、表示端末4に送信する。これにより、表示端末4は、地図画像と重畳させて全体動線情報L0が示す動線を表示する(S5)。
【0053】
動線検知システム1は、以上の処理(S1~S5)を、例えば周期的に繰り返す。これにより、例えば表示端末4において、動線の表示がリアルタイムに更新される。
【0054】
以上の動作によると、混雑状態の撮像画像I23adが生じたとしても、複数の動線抽出サーバ8-1~8-3間で処理負荷を分散させ、動線抽出処理(S3)を効率良く行うことができる。よって、その後の動線結合処理(S4)等の遅延も抑制でき、例えば表示端末4における動線のリアルタイム表示を行い易くすることができる。
【0055】
このような動線検知システム1によると、混雑判定処理(S1)の結果に応じて、複数のカメラ2の画像データが複数の動線抽出サーバ8に分配される(S2)。これにより、例えば混雑と判定されたカメラ2-3に対応する動線抽出サーバ8-3において、動線抽出処理(S3)での画像認識処理の負荷が集中して処理が遅れること抑制できる。環境6における人物11等の移動に応じて、混雑判定処理(S1)の結果も変化して、画像分配処理(S2)における画像の分割及び分配が更新されることで、リアルタイムに動線結合処理(S4)及び動線の表示(S5)を行うことができる。
【0056】
2-2.混雑判定処理
混雑管理サーバ7における混雑判定処理(
図5のS1)について、
図7及び
図8を用いて説明する。混雑判定処理(S1)では、各カメラ2の混雑情報が用いられる。混雑情報は、複数のカメラ2の各々の撮像画像における人物11の数量に対応するような移動体による混雑の程度を示す種々の情報である。
【0057】
図7は、混雑管理サーバ7における混雑判定処理(S1)を例示するフローチャートである。
図8は、混雑判定処理を説明するための図である。
図9は、混雑判定処理における混雑情報テーブルを例示する図である。
【0058】
図7のフローチャートに示す各処理は、混雑判定部71として機能する混雑管理サーバ7の制御部70によって、例えばカメラ2のフレーム周期で実行される。
図7のフローチャートは、例えば、混雑管理サーバ7が通信インタフェース75を介して、複数のカメラ2から画像データを受信すると開始される。画像データは、例えばカメラ2毎に2フレーム分など所定のフレーム数分、記憶部74に保持される。
【0059】
図7のフローチャートにおいて、まず、混雑判定部71は、例えば記憶部74から、各カメラ2の画像データを取得する(S10)。
図8(A),(B)に、ステップS10で取得される画像データを例示する。
図8(A)は、1つのカメラ2において撮像された現在フレームF2の画像データを例示する。
図8(B)は、
図8(A)と同じカメラ2で1フレーム前の過去フレームF1の画像データを例示する。ステップS10において、混雑判定部71は、
図8(A),(B)のような現在及び過去の画像データをカメラ2毎に取得する。
【0060】
混雑判定部71は、複数のカメラ2-1~2-3の各々に関して、取得した画像データに基づいて、動き差分データHを各々生成する(S11)。
図8(C)は、
図8(A),(B)の画像データに基づき生成される動き差分データHを例示する。動き差分データHは、例えば撮像画像の領域全体におけるヒートマップとして過去から現在への動きによる差分を示すデータである。混雑判定部71は、例えば各画素におけるフレーム間の差分を演算するなど、過去フレームF1の画像データと、現在フレームF2の画像データとを画素毎に比較して、動き差分データHを生成する。
【0061】
次に、混雑判定部71は、複数のカメラ2-1~2-3の各々における動き差分データH1,H2,H3に基づき、各カメラ2の撮像画像における混雑状態を判定する(S12)。混雑判定部71は、例えば、1つのカメラ2当たりの現在フレームF2の混雑度として動き差分データHの全画素にわたる合計値を計算して、混雑度が所定の閾値以上か否かにより混雑状態または非混雑状態を判定する。所定の閾値は、例えば撮像画像の範囲内で処理負荷が過大となる人物の人数を考慮して、当該人数と動き差分との相関関係から設定される。混雑判定部71は、以上の処理を各カメラ2の動き差分データH1,H2,H3に行う。
【0062】
次に、混雑判定部71は、例えば上記の判定結果などの各カメラ2の混雑情報を格納するための混雑情報テーブルT1を、例えば混雑管理サーバ7の記憶部74に記憶する(S13)。
図9に、混雑情報テーブルT1を例示する。
【0063】
図9の例において、混雑情報テーブルT1は、複数のカメラ2-1~2-3の各々を識別する「カメラID」に対応付けて、上述した「動き差分データ」と上述した「混雑度」と、混雑状態の判定結果を示す「混雑フラグ」とをそれぞれ混雑情報の一例として格納する。混雑判定部71は、カメラ2毎の混雑状態又は非混雑状態の判定結果に応じてそれぞれの混雑フラグを「オン」または「オフ」に設定する。
【0064】
図9の例では、各カメラ2-1,2-2,2-3の動き差分データH1,H2,H3、及び混雑度X1,X2,X3といった混雑情報が、混雑情報テーブルT1に格納される。更に、
図9の混雑情報テーブルT1において、例えばカメラIDが「3」の混雑情報としては、カメラ2-3の動き差分データH3に基づき、混雑フラグが「オン」、すなわち「混雑状態」という判定結果が得られている。
【0065】
図7に戻り、混雑判定部71は、混雑情報テーブルT1を記憶すると(S13)、
図7のフローチャートによる処理を終了する。
【0066】
以上のように、本実施形態の混雑管理サーバ7において、混雑判定部71は、本システム1におけるカメラ2毎に、画像データを取得して(S10)、現在の各種混雑情報を生成する(S11,S12)。これにより、混雑管理サーバ7は、カメラ2毎の画像データの種々の混雑情報を管理することができる。また、動き差分データH(S11)によると、特に画像認識を用いなくとも、各カメラ2の撮像画像の範囲内における人物の人数に応じた混雑度を算出可能である。
【0067】
2-3.画像分配処理
混雑管理サーバ7における画像分配処理(
図5のS2)について、
図10及び
図11を用いて説明する。画像分配処理(S2)では、カメラ2毎の混雑情報に基づき、複数の動線抽出サーバ8-1~8-3において各カメラ2の画像データを分配する分配先が決定される。
【0068】
図10は、混雑管理サーバ7における画像分配処理(S2)を例示するフローチャートである。
図11は、混雑管理サーバ7における画像分配処理を説明するための図である。
【0069】
図10のフローチャートに示す各処理は、画像分配部72として機能する混雑管理サーバ7の制御部70によって実行される。
図10のフローチャートは、例えば、混雑判定部71の動作により混雑情報テーブルT1が記憶された(
図7のS13)状態で開始される。
【0070】
図10のフローチャートにおいて、まず、混雑管理サーバ7の画像分配部72は、例えば記憶部74から、複数のカメラ2の現在の画像データ及び混雑情報テーブルT1の各種混雑情報を取得する(S20)。
【0071】
次に、画像分配部72は、複数のカメラ2から、1つのカメラiを選択する(S21)。
図5の例では、カメラ2-1,2-2,2-3が、ステップS21ごとに順次、カメラiとして選択される。
【0072】
画像分配部72は、例えば
図9の混雑情報テーブルT1を参照して、選択したカメラiの混雑フラグが「オン」か否かを判断する(S22)。画像分配部72は、カメラiのカメラIDに該当する混雑情報を参照することで当該判断を行う。例えば、
図9の例において、カメラ2-1の選択時に参照される混雑フラグは「オフ」である。
【0073】
選択したカメラiの混雑フラグが「オフ」である場合(S22でNO)、対応する撮像画像は非混雑状態と判定されている。この場合、画像分配部72は、ステップS23,S24の処理を特に実行せず、ステップS25に進む。
【0074】
画像分配部72は、ステップS21において全てのカメラ2-1,2-2,2-3が選択されたか否かを判断する(S25)。全てのカメラ2-1,2-2,2-3が選択されるまで(S25でNO)、画像分配部72は、ステップS21以降の処理を繰り返す。
【0075】
図5の例では、カメラ2-1,2-2がそれぞれ選択された場合、混雑情報テーブルT1において混雑フラグが「オフ」であるため(S22でNO)、ステップS25に進む。すると、未だ全てのカメラが選択されていない(S25でNO)ことから、カメラ2-3が選択される(S21)。この際、カメラ2-3の選択時に
図9の混雑情報テーブルT1において参照される混雑フラグは「オン」である。
【0076】
選択したカメラiの混雑フラグが「オン」である場合(S22でYES)、対応する撮像画像は混雑状態と判定されている。この場合、画像分配部72は、カメラiの画像データが示す撮像画像を分割するための処理を行う(S23)。
【0077】
ステップS23の処理例を
図11に示す。画像分配部72は、例えば、画像データが示す撮像画像I23を所定の分割数(例えば4または9)に分割する領域R1~R4を設定する。
図11(A),(B)では、分割数「4」の一例を示す。
図11(B)の例では、各領域R1~R4に対応する分割画像I23a~I23dが、互いに隣接する部分において重畳するように設定されている。
【0078】
ステップS23において、画像分配部72は、例えば
図9の混雑情報テーブルT1を参照して、分割画像I23a~I23dの各々の混雑度を、
図7のステップS12と同様に算出する。例えば、画像分配部72は、所定の閾値未満の混雑度が算出された場合、当該分割数を採用する。一方、画像分配部72は、所定の閾値以上の混雑度が算出された場合、より大きい分割数を用いて以上の計算を再度行う。所定の閾値は、複数の動線抽出サーバ8の各々において、リアルタイムに動線抽出処理を実行できる程度に小さい値であり、例えばステップS12の閾値と同様に設定される。
【0079】
分割画像I23a~I23dを示す画像データは、各々の混雑度と対応付けて、例えば混雑管理サーバ7の制御部70の内部メモリに保持される。画像分配部72は、こうした混雑度に基づいて、例えば上記の閾値未満の範囲内で2つ以上の分割画像I23a,I23dを統合した分割画像I23adとしてもよい(
図6(F)参照)。
【0080】
図5の例では、ステップS21においてカメラiとしてカメラ2-3が選択された場合、混雑情報テーブルT1における各混雑情報の混雑フラグが「オン」である(S22でYES)ことから、
図11(A),(B)に示すように、カメラ2-3の画像I23が分割される。
【0081】
画像分配部72は、複数のカメラ2の混雑情報に基づき、選択したカメラiの分割画像を分配する分配先の動線抽出サーバ8を決定する(S24)。各カメラ2に対応する動線抽出サーバ8は、予め当該カメラ2の画像データの供給先に設定されている。例えば、画像分配部72は、混雑情報テーブルT1を参照して、混雑フラグが「オフ」であるカメラ2に対応する動線抽出サーバ8から追加の分配先を決定する。そして、画像分配部72は、混雑フラグが「オン」であるカメラ2に対応して予め供給先に設定された動線抽出サーバ8への分割画像の配信を決定する。
図5の例では、分割画像I23b,I23cの分配先がそれぞれ動線抽出サーバ8-1,8-2に決定される。そして、動線抽出サーバ8-3への分割画像I23a,I23dを統合した分割画像I23adの配信が決定される。
【0082】
ステップS24において、画像分配部72は、例えば混雑情報テーブルT1における各カメラ2の混雑度と、分割画像毎に算出した混雑度とに基づき、各動線抽出サーバ8の混雑度が同程度とみなせる所定範囲内となるように、分配先を決定してもよい。また、分配先の決定に応じて混雑情報テーブルT1におけるカメラ2毎の混雑度が更新され、以降の処理が更新後の混雑情報テーブルT1に基づいて実行されてもよい。
【0083】
画像分配部72としての制御部70は、例えば全てのカメラ2-1~2-3が選択されたと判断すると(S25でYES)、通信インタフェース75を制御して、各画像データを複数の動線抽出サーバ8に送信する(S26)。各カメラ2に対応する動線抽出サーバ8には、各カメラ2の撮像画像又は分割画像の画像データが送信される。さらに、追加で分配先に決定された動線抽出サーバ8に、分割画像の画像データが送信される。この際、各画像データは、例えば各カメラ2のカメラIDと関連付けて送信される。
【0084】
画像分配部72は、画像データを複数の動線抽出サーバ8に送信すると(S26)、本フローチャートに示す処理を終了する。
【0085】
以上のように、画像分配部72は、複数のカメラ2の混雑情報に基づき、各カメラ2の撮像画像のうち混雑情報に基づき「混雑状態」と判定されたカメラ2の撮像画像を分割して(S22,S23)、複数の動線抽出サーバ8に分配する(S24)。これにより、複数の動線抽出サーバ8の各々における処理の負荷を分散させることができる。
【0086】
なお、ステップS23において、混雑度の閾値は、
図7のステップS12と同様の値に限らず適宜、異なる値が設定されてもよい。例えば、画像分配部72は、混雑情報テーブルT1に基づいて、選択されたカメラiの近傍とみなす複数のカメラ2の混雑度の平均値を閾値として算出してもよい。この場合、例えば複数のカメラ2間の位置関係に基づいて各カメラの近傍とみなすカメラの組み合わせが予め設定される。
【0087】
また、ステップS23において、画像の領域分割は、例えば
図11(B)に示すように各分割画像が隣接する分割画像と部分的に重畳するように行われてもよい。このように画像を重畳させて分割することで、複数の動線抽出サーバ8による後述の動線抽出処理において、人物11といった移動体を分割画像の境界部分において検知する際に、検知漏れを抑制することができる。
【0088】
2-4.動線抽出処理
動線抽出サーバ8の動作について、
図12及び
図13を用いて説明する。各動線抽出サーバ8-1~8-3は、それぞれ複数のカメラ2-1~2-3のうち当該動線抽出サーバ8と対応するカメラ2の画像データに基づく個別動線情報を生成する、といった動線抽出処理(
図5のS3)を行う。
【0089】
図12は、動線抽出サーバ8における動線抽出処理(S3)を例示するフローチャートである。
図13は、動線抽出処理を説明するための図である。
図12のフローチャートに示す各処理は、各動線抽出サーバ8において、動線抽出部81として機能する制御部80によって実行される。
図12のフローチャートは、例えば、動画のフレーム周期で開始される。
【0090】
図12のフローチャートにおいて、まず、動線抽出部81は、通信インタフェース85を介して混雑管理サーバ7から画像データを受信する(S30)。例えば、
図5の例の動線抽出サーバ8-1は、対応するカメラ2-1(即ち担当のカメラ)による撮像画像I21の画像データ21と、分割画像I23bの画像データ23bとを受信する。
【0091】
動線抽出部81は、受信した画像データにおいて、物体検知の画像認識処理を行って、認識対象である人物11等の画像上の位置を示す画像位置を検出する(S31)。ステップS31の処理例を
図13(A),(B)に示す。
【0092】
図13(A)は、非混雑状態の撮像画像I21において、対応する動線抽出サーバ8-1により検出される画像位置P21を例示する。
図13(B)は、
図13(A)と同じ動線抽出サーバ8-1により、分割画像I23bにおいて検出される画像位置P23bを例示する。
【0093】
ステップS31における物体検知の画像認識処理においては、
図13(A)に例示するように、撮像画像I21における認識対象の物体の検知結果として、例えば矩形状の検知領域40が認識される。動線抽出部81は、例えば検知領域40における中心点の画像上の座標を、画像位置P21として算出する。画像位置P21は、例えば制御部80の内部メモリに保持される。
【0094】
図13(A),(B)の例では、動線抽出サーバ8-1の動線抽出部81は、
図13(A)に示すように担当のカメラ2-1の画像データ21における画像位置P21を検出し、分割画像I23bから担当外のカメラ2-3の画像データ23bにおける画像位置P23bを検出する。
【0095】
次に、動線抽出部81は、ステップS31において画像位置が検出された画像データにおいて、自機と対応していない担当外のカメラ2の画像データがあるか否かを判断する(S32)。動線抽出部81は、例えば画像データ毎に関連付けられたカメラIDを参照して、担当外のカメラ2の画像データか否かを判断する。
【0096】
動線抽出部81は、担当外のカメラ2の画像データがあると判断すると(S32でYES)、複数の動線抽出サーバ8-1~8-3のうちの当該カメラ2に対応する動線抽出サーバ8に、上記画像データから検出した画像位置を示す情報を送信する(S33)。本実施形態において、複数の動線抽出サーバ8は、各々の通信インタフェース85を介して画像位置の情報を互いに送受信する。
【0097】
例えば、動線抽出サーバ8-1の動線抽出部81は、分割画像I23b(
図13(B))の画像データ23bが担当外のカメラ2-3の画像データであることから(S32でNO)、分割画像I23bにおける画像位置P32の情報を、当該カメラ2-3に対応する動線抽出サーバ8-3に送信する(S33)。
【0098】
一方、動線抽出部81は、担当外のカメラ2の画像データがないと判断すると(S32でNO)、ステップS33を特に実行せず、ステップS34に進む。
【0099】
動線抽出部81は、自機の通信インタフェース85が、複数の動線抽出サーバ8-1~8-3のうちの他の動線抽出サーバ8から画像位置の情報を、例えば所定期間以内に受信したか否かを判断する(S34)。
【0100】
他の動線抽出サーバ8から担当のカメラ2についての画像位置の情報が受信された場合(S34でYES)、動線抽出部81は、受信した画像位置の情報に基づき、担当のカメラ2の画像位置の検出結果を更新する(S35)。
図13(C)は、混雑状態の撮像画像I23における検出結果の画像位置P23を例示する。例えば、動線抽出サーバ8-3の動線抽出部81は、対応カメラ2-3の画像位置P23bの情報を動線抽出サーバ8-1から受信して(S32でYES)、検出結果の画像位置P23に追加する(S35)。
【0101】
一方、画像位置の情報が他の動線抽出サーバ8から受信されなかった場合(S34でNO)、動線抽出部81は、ステップS35を特に実行せず、ステップS36に進む。
【0102】
次に、動線抽出部81は、検出結果の画像位置を座標変換する演算を行うことにより、例えば環境6の地図上における人物11といった認識対象の位置を示す地図位置を算出する(S36)。動線抽出サーバ8の各々において、動線抽出部81は、例えば予め自機の記憶部84に格納された、担当のカメラ2の画像位置から地図位置への変換を規定するパラメータに基づき、座標変換を行う。
【0103】
動線抽出部81は、地図位置を算出した現在から数フレーム前までといった所定範囲の過去の動線情報を取得する(S37)。動線抽出部81は、例えば自機の記憶部84に格納された個別動線情報から、地図位置及び速度といった過去の動線情報を取得する。
【0104】
次に、動線抽出部81は、算出した現在の地図位置と、取得した過去の動線情報とに基づき、現在の個別動線情報を生成する(S38)。動線抽出部81は、例えば、各動線の過去の動線情報における地図位置と速度から予測される、現在のフレームにおける地図位置すなわち予測位置を算出し、予測位置と算出した地図位置の距離が所定値よりも近い動線に、現在の地図位置を紐づけることで、個別動線情報を生成する。距離の所定値は、例えば地図上で同じ点とみなせる程度に小さい値である。又、紐づけできなかった地図位置は、撮像範囲外から来た人物の位置等を示すと考えられることから、当該位置は個別動線情報に含める。生成された個別動線情報は、例えば記憶部84に記憶される。
【0105】
動線抽出部81は、例えば通信インタフェース85を介して、生成した個別動線情報を動線結合サーバ9に送信する(S39)と、本フローチャートに示す処理を終了する。各動線抽出サーバ8-1,8-2,8-3における以上の処理により、動線抽出サーバ8-1,8-2,8-3から、それぞれ個別動線情報L1,L2,L3が動線結合サーバ9に送信される。
【0106】
以上のように、複数の動線抽出サーバ8の各々において、動線抽出部81は、混雑管理サーバ7の画像分配部72から画像データを取得して(S30)、対応カメラの画像データに基づく個別動線情報を生成する(S38)。これにより、画像認識の処理負荷が複数の動線抽出サーバ8において分散され、一部の動線抽出サーバにおける処理時間の長期化を抑制することができる。
【0107】
また、動線抽出部81は、画像データから画像認識処理により認識対象である移動体の画像位置を検出して(S31)、複数の動線抽出サーバ8の間で画像位置を送受信する(S33,S34)ことで、動線抽出サーバ8毎の担当のカメラ2による画像位置を利用する。これにより、各動線抽出サーバ8において担当のカメラ2の画像データに基づく個別動線情報を得ることができる。
【0108】
2-5.動線結合処理
動線結合サーバ9の動作について、
図14を用いて説明する。動線結合サーバ9は、複数の動線抽出サーバ8-1~8-3の各々において生成された個別動線情報L1,L2,L3を、複数のカメラ2-1~2-3の撮像範囲における全ての動線を示す全体動線情報L0に結合する、動線結合処理(
図5のS4)を行う。
【0109】
図14は、動線結合サーバ9による動線結合処理(S4)を例示するフローチャートである。
図14のフローチャートに示す各処理は、動線結合サーバ9において、動線結合部91として機能する制御部90によって実行される。
図14のフローチャートは、例えば、動画のフレーム周期で開始される。
【0110】
まず、動線結合部91は、通信インタフェース95を介して、複数の動線抽出サーバ8-1~8-3の各々から、それぞれの個別動線情報L1,L2,L3を受信する(S40)。
【0111】
次に、動線結合部91は、受信した複数の個別動線情報L1~L3に基づいて全体動線情報L0を生成する(S41)。動線結合部91は、例えば別々の個別動線情報L1~L3における各動線の地図位置を互いに比較して、同一人物の動線であると考えられる動線の結合を行う。動線の結合は、例えばステップS38と同様に、地図上で同一とみなせる距離範囲を考慮して行われる。
【0112】
動線結合部91は、例えば全体動線情報L0と、環境6の地図を示す地図データとを出力インタフェース96を介して表示端末4に出力する(S42)。地図データは、例えば予め記憶部84に格納されている。これにより動線結合部91は、表示端末4上で全体動線情報を地図データに重畳して表示させる。
【0113】
動線結合部91は、全体動線情報L0の出力(S42)により、本フローチャートに示す処理を終了する。
【0114】
以上のように、動線結合部91は、複数の動線抽出サーバ8から取得した個別動線情報L1~L3を結合して全体動線情報L0を生成し(S41,S42)、例えば地図データと合わせて出力する(S42)。これにより、複数のカメラ2に基づく動線を結合して表示させることができ、ユーザ3が、複数のカメラ2の各々の撮像範囲にわたる動線の分析を行い易くなる。
【0115】
3.効果等
以上のように、本実施形態に係る動線検知システム1は、撮像画像に基づき人物11等の複数の移動体を検知する移動体検知システムの一例である。動線検知システム1は、所定周期で画像を撮像して画像データをそれぞれ生成する複数のカメラ2(複数の撮像装置)と、各カメラによる画像データに画像認識を行って、各画像データが示す撮像画像における移動体をそれぞれ検知する複数の動線抽出サーバ8(複数の画像認識装置)と、各カメラから各動線抽出サーバへ供給される画像データを管理する混雑管理サーバ7(情報管理装置)とを備える。混雑管理サーバ7は、各カメラ2-1,2-2,2-3及び動線抽出サーバ8-1,8-2,8-3とデータ通信を行う通信インタフェース75(通信部)と、通信インタフェース75の動作を制御する制御部70とを備える。制御部70は、カメラ2-1,2-2,2-3毎に各画像データが示す撮像画像の範囲内に移動体が局在する数量を示す混雑情報を、例えば混雑情報テーブルT1のように管理し(S1)、混雑情報が示す混雑度などの数量の大きさに応じて、複数のカメラ2による画像データを分配して各動線抽出サーバ8-1,8-2,8-3に供給するように通信インタフェース75を制御する(S2)。
【0116】
以上の動線検知システム1によると、混雑情報が示す数量の大きさに応じて、複数のカメラ2による画像データを分配して複数の動線抽出サーバ8に供給する。これにより、複数の動線抽出サーバ8において移動体を検知する処理を効率良く行うことができる。
【0117】
本実施形態において、制御部70は、画像分配部72として機能して、複数のカメラ2による画像データにおいて混雑情報が所定量以上の数量を示す画像データに、複数の分配先の動線抽出サーバを設定する(S2)。これにより、複数の動線抽出サーバ8の一部において画像認識を行って移動体を検知する処理の負荷が高くなることを抑制し、複数の動線抽出サーバ8における処理を効率良く行うことができる。
【0118】
本実施形態において、制御部70は、画像分配部72として機能して、1つの画像データが示す撮像画像を複数の領域に分割する複数の分割データを、複数の分配先の動線抽出サーバに別個に供給するように、通信インタフェース75を制御する(S2)。これにより、各動線抽出サーバ8-1,8-2,8-3における処理の負荷を同程度に分散させ易くすることができる。
【0119】
本実施形態において、各動線抽出サーバ8-1,8-2,8-3は、移動体を繰り返し検知して、移動体による動線を示す動線情報の一例として個別動線情報L1,L2,L3を生成する(S3)。なお、各動線抽出サーバ8-1,8-2,8-3は、例えば画像認識のみを行い、それぞれ通信インタフェース85を介して移動体の検知結果を送信してもよい。この場合、動線情報の生成は、例えば検知結果を受信した動線結合サーバ9または動線検知システム1の外部の情報処理装置により行われてもよい。
【0120】
本実施形態の動線検知システム1は、各動線抽出サーバ8-1,8-2,8-3により生成された個別動線情報L1,L2,L3に基づいて、複数のカメラ2により撮像される範囲の全体において移動体の動線を示す情報の一例として全体動線情報L0を生成する(S4)、動線結合サーバ9(情報統合装置)をさらに備える。これにより、例えばユーザ3が複数のカメラ2による撮像範囲の全体における動線を分析することができる。
【0121】
本実施形態において、制御部70は、各カメラ2-1,2-2,2-3によって順次撮像される複数フレームの画像データに基づいて、撮像画像における移動体の動き量の一例として動き差分を算出して、算出した動き差分に基づいて、混雑情報を生成する(S1)。これにより、小さい計算量で算出可能な動き差分を用いることで、混雑管理サーバ7の処理負荷を抑えながら、最新のフレームに基づく情報を含めて混雑情報を生成することができる。
【0122】
本実施形態の混雑管理サーバ7は、複数のカメラ2と、各カメラ2-1,2-2,2-3による画像データに基づいて各画像データが示す撮像画像における複数の移動体をそれぞれ認識する複数の動線抽出サーバ8とを備えた動線検知システム1における情報管理装置の一例である。混雑管理サーバ7は、各カメラ2-1,2-2,2-3及び各動線抽出サーバ8-1,8-2,8-3とデータ通信を行う通信インタフェース75と、各カメラ2-1,2-2,2-3から各動線抽出サーバ8-1,8-2,8-3へ供給される画像データを管理するように、通信インタフェース75の動作を制御する制御部70とを備える。制御部70は、カメラ2-1,2-2,2-3毎に各画像データが示す撮像画像の範囲内に移動体が局在する混雑情報を管理し(S1)、混雑情報が示す数量の大きさに応じて、複数のカメラ2による画像データを分配して各動線抽出サーバ8-1,8-2,8-3に供給するように通信インタフェース75を制御する(S2)。
【0123】
以上の混雑管理サーバ7によると、動線検知システム1において、複数の動線抽出サーバ8が移動体を認識する処理を効率良く行うことができる。
【0124】
(実施形態2)
以下、
図15を用いて本開示の実施形態2を説明する。実施形態2では、複数のカメラ2間の位置関係を利用して、混雑情報及び画像データの分配を管理する混雑管理サーバ7の動作を説明する。
【0125】
以下、実施形態1に係る動線検知システム1及び混雑管理サーバ7と同様の構成、動作の説明は適宜省略して、本実施形態に係る動線検知システム1及び混雑管理サーバ7について説明する。
【0126】
図15は、本実施形態における複数のカメラ間での混雑状態の伝搬を説明するための図である。
図15(A)は、複数のカメラ2の隣接情報を例示する。当該隣接情報は、複数のカメラ2が環境6に配置された状態におけるカメラ間の位置関係を示す配置情報の一例である。
【0127】
図15(A)では、複数のカメラ2において隣接するカメラの関係を実線で図示している。例えば、
図15(A)の図示では、カメラ2-1がカメラ2-2,2-3と隣接する。隣接情報は、例えば予め混雑管理サーバ7の記憶部74に格納される。
図15(B)は、
図15(A)の隣接情報に基づく本実施形態の混雑判定処理を説明した図である。
【0128】
本実施形態において、混雑管理サーバ7の混雑判定部71は、まず、複数のカメラ2における1つのカメラについて、例えば実施形態1と同様に当該カメラの画像データから混雑情報を生成する。なお、本実施形態の混雑情報は、特に動き差分データを含まず、カメラIDと混雑フラグとを対応付けた情報であればよい。
図15(B)は、カメラ2-1の混雑情報が生成され、当該混雑情報における混雑フラグが「オン」である場合の例を示す。
【0129】
混雑判定部71は、次に、複数のカメラ2の隣接情報に基づき、混雑情報の混雑フラグが「オン」であるカメラに隣接するカメラについての混雑情報を更新する。混雑フラグが「オン」のカメラに隣接するカメラは、今後、混雑状態となる可能性が高いと考えられる。そこで、本実施形態の混雑判定部71は、混雑フラグとは別のフラグなどにより、上記隣接するカメラが「混雑予定」であることを示す混雑情報を生成する。
図15(B)の例では、カメラ2-1に隣接するカメラ2-2,2-3が「混雑予定」に設定される。
【0130】
混雑判定部71は、「混雑予定」であるカメラについて、例えば現在のフレームから所定のフレーム数後に、混雑フラグを「オン」に変更し、画像分配部72の処理対象に設定する。所定のフレーム数は、隣接するカメラの撮像範囲における混雑が伝搬することが想定される期間を示す。当該フレーム数は、複数の動線抽出サーバ8における動線抽出処理の認識対象である移動体に応じて設定されてもよい。
【0131】
混雑判定部71は、複数のカメラ2における混雑情報に基づき、複数のカメラ2によるフレーム周期で実行される混雑判定処理の度に、各カメラの混雑フラグを更新する。なお、混雑フラグが「オン」であるカメラについて、例えば現在のフレームから所定のフレーム数後に、他の混雑フラグが「オン」のカメラと隣接していなければ、混雑フラグが「オフ」に更新されてもよい。
【0132】
以上の処理によると、複数のカメラ2における各カメラの隣接情報に基づき、混雑情報の混雑フラグが更新され、人物11といった移動体による混雑の状態の伝搬を反映するような混雑判定処理を実行することができる。これにより画像分配処理では、複数のカメラ2において混雑フラグが「オン」のカメラに隣接するカメラの画像を予め分割して、複数の動線抽出サーバ8に分配することができ、リアルタイムでの動線抽出処理を行い易くすることができる。
【0133】
以上のように、本実施形態に係る混雑管理サーバ7の制御部70は、混雑判定部71として機能して、複数のカメラ2の配置に関する情報の一例として隣接情報に基づき、混雑情報を更新する(
図15(A),(B)参照)。これにより、例えば各カメラの撮像範囲に実際に移動体が移動する前に、画像の分割を開始することができる。
【0134】
(実施形態3)
以下、
図16を用いて本開示の実施形態3を説明する。実施形態1では、混雑管理サーバ7において、混雑判定部71による判定結果の混雑フラグに基づいて画像分配部72が動作する例を説明した。実施形態3では、画像分配部72は特に混雑フラグを用いずに、まず複数のカメラ2における全てのカメラの画像を分割し、混雑情報に応じて分配する混雑管理サーバ7を説明する。
【0135】
本実施形態の混雑管理サーバ7における画像分配部72の動作を、
図16を用いて説明する。
図16は、実施形態3の画像分配部72による画像分配処理を例示するフローチャートである。以下では、実施形態1の画像分配処理(
図10)と同様の処理の説明は適宜、省略する。
【0136】
まず、本実施形態の混雑管理サーバ7における画像分配部72としての制御部70は、複数のカメラ2の画像データを取得する(S20A)。
【0137】
制御部70は、取得した各カメラの画像データに基づき、各々の撮像画像における混雑度を算出する(S50)。制御部70は、例えば実施形態1の混雑判定処理(
図7)と同様に混雑度を算出する。制御部70は、各カメラの混雑度の平均として、全カメラについての平均的な混雑度を示す平均混雑度を算出する(S51)。
【0138】
制御部70は、複数のカメラ2から1つのカメラiを選択して(S21)、カメラiの画像データが示す画像を所定の分割数に分割する(S23A)。所定の分割数は、例えば
図10のステップS23と同様に設定される。制御部70は、分割画像毎にステップS50と同様に混雑度を算出して各分割画像の画像データと対応付け、例えば内部メモリに保持する。所定の分割数は、ステップS51の平均混雑度に応じて、分割後の画像データにおける混雑度が平均混雑度より小さくなるように、適宜設定されてもよい。
【0139】
次に、制御部70は、カメラiの分割画像についての混雑度と平均混雑度に基づき、複数の動線抽出サーバ8から分割画像の分配先を決定する(S24A)。具体的には、制御部70は、複数の動線抽出サーバ8の各々について、分配する分割画像の混雑度の合計値が平均混雑度と同程度になるように、分配先を決定する。制御部70は、例えば、分割画像の混雑度の合計値が平均混雑度より小さくなるように分配を行う。
【0140】
制御部70は、複数のカメラ2における全てのカメラを選択するまで(S25でNO)、ステップS21~S24Aを繰り返す。全てのカメラが選択されると(S25でYES)、制御部70は、複数のカメラ2の各カメラの分割画像を示す画像データを、複数の動線抽出サーバ8から、ステップS24Aで分配先に決定された動線抽出サーバに送信する(S26A)。
【0141】
画像分配部72は、複数の動線抽出サーバ8に画像データを送信(S26A)して、本フローチャートに示す処理を終了する。
【0142】
以上の処理によると、本実施形態の画像分配部72は、複数のカメラ2における平均混雑度を算出し(S51)、全てのカメラについて、画像を分割して(S23A)、分割画像の混雑度と平均混雑度といった混雑情報に基づき複数の動線抽出サーバ8に分配する(S24A)。これにより、複数の動線抽出サーバ8の各々における動線抽出処理での負荷が、均等に近づくように複数のカメラ2の画像を分配することができ、リアルタイムに動線抽出処理を実行し易くなる。
【0143】
また、本実施形態のステップS50では、混雑判定部71から取得した現在のフレームを示す画像データにおいて混雑度を算出したが、これに限らず、例えば、過去のフレームの画像データにおける混雑度を算出してもよく、ステップS23Aでは、過去のフレームにおける混雑度に基づき、現在のフレームの画像が分割されてもよい。
【0144】
以上のように、本実施形態に係る混雑管理サーバ7の制御部70は、画像分配部72として機能して、複数のカメラ2による各々の画像データにおいて、各画像データが示す画像を分割する領域毎に、当該領域における混雑情報を示す混雑度を算出する(S23A)。制御部70は、算出した混雑度に基づき、複数のカメラ2による各々の画像データを複数の動線抽出サーバ8に分配して送信する(S24A,S26A)。なお、本実施形態において制御部70は、複数のカメラ2により撮像された動画の過去のフレームの画像データから算出した混雑度に基づき、現在のフレームの画像を分割及び分配してもよい。
【0145】
(実施形態4)
以下、
図17を用いて本開示の実施形態4を説明する。実施形態1では、混雑管理サーバ7において、画像データにおける動き差分に基づく混雑度及び混雑情報を用いる動作例を説明した。実施形態4では、複数の動線抽出サーバ8の検出結果に基づく混雑情報を用いる混雑管理サーバ7の動作例を説明する。
【0146】
図17は、実施形態4における混雑判定処理を例示するフローチャートである。以下、実施形態1の混雑判定処理(
図7)と同様の処理は適宜、省略して説明する。
【0147】
本実施形態の混雑判定部71は、複数の動線抽出サーバ8から、例えば通信インタフェース75を介して、複数のカメラ2の各々の画像データにおける認識対象の検出結果を取得する(S60)。具体的には、混雑判定部71は、複数のカメラ2の各カメラについて、過去のフレームの画像データにおいて検出された認識対象の個数を取得する。過去のフレームは、例えば混雑判定処理が実行されるフレーム周期だけ前に複数の動線抽出サーバ8に送信されたフレームである。
【0148】
混雑判定部71は、検出結果として取得した認識対象の個数に基づき、複数のカメラ2の混雑情報を生成する(S12A)。例えば、本実施形態の混雑判定部71は、各カメラのカメラIDと、認識対象の個数が所定数以上か否かにより混雑または非混雑を判定した混雑フラグと、認識対象の個数とを対応付けた混雑情報を生成する。所定数は、実施形態1のステップS12における所定の閾値と同様の観点において、十分に小さい数である。
【0149】
以上の処理によると、本実施形態の混雑判定部71は、複数のカメラ2の各々について、過去のフレームの画像データにおける認識対象の個数に基づき、混雑情報を生成する。これにより画像分配部72は、当該混雑情報に基づき、現在のフレームの画像データに画像分配処理を行う。
【0150】
以上のように、本実施形態に係る混雑管理サーバ7の制御部70は、混雑判定部71として機能して、複数の動線抽出サーバ8の各動線抽出サーバによって検知された人物11等の移動体の個体数を取得して(S60)、取得した移動体の個体数に基づき、混雑情報を生成する(S12A)。これにより、各動線抽出サーバによる検知結果を用いることで、混雑管理サーバ7が行う処理を軽減して、混雑判定処理を効率よく実行することができる。
【0151】
(他の実施形態)
以上のように、本出願において開示する技術の例示として、実施形態1~4を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置換、付加、省略などを行った実施の形態にも適用可能である。また、上記各実施形態で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。そこで、以下、他の実施形態を例示する。
【0152】
上記の実施形態では、動線抽出部81は、混雑管理サーバ7から画像データを取得した(S30)。本実施形態の動線抽出部81は、画像データに加えて、混雑情報を取得してもよい。さらに本実施形態において、動線抽出サーバ8は、例えば通信インタフェース85を介してカメラ2と通信可能に構成されてもよい。これにより動線抽出部81は、例えば取得した混雑情報に応じて、分割画像以外の画像データを、混雑管理サーバ7を介さずにカメラ2から直接取得してもよい。
【0153】
実施形態1では、画像分配処理(S2)において、各カメラ2に対応する動線抽出サーバ8は、予め当該カメラ2の画像データの供給先に設定された(S24)。本実施形態の画像分配処理では、複数のカメラ2の画像データが、1つの動線抽出サーバ8に供給されてもよい。例えば、本実施形態の画像分配部72は、非混雑状態と判定されたカメラ2-1,2-2の画像データ21,22を何れも動線抽出サーバ8-1に送信してもよい。この場合、画像分配部72は、混雑状態と判定されたカメラ2-3の画像データ23は、撮像画像I23を分割するように、動線抽出サーバ8-2、8-3に分配してもよい。
【0154】
上記の画像分配処理によれば、例えば撮像画像I23における混雑度が、撮像画像I21,I22の混雑度より特に高い場合であっても、複数の動線抽出サーバ8-1~8-3の間で処理負荷を分散させ易くすることができる。
【0155】
実施形態1では、動線検知システム1において、各カメラ2-1,2-2,2-3に対応して各動線抽出サーバ8-1,8-2,8-3が設けられた。本実施形態の動線検知システム1では、複数のカメラ2の個数と複数の動線抽出サーバ8の個数が同数でなくてもよく、例えば複数のカメラ2の個数より多い個数の動線抽出サーバ8が設けられてもよい。
【0156】
実施形態1では、混雑判定部71は、画像データに基づく動き差分を用いて、混雑情報を生成した(S11,S12)。本実施形態の混雑判定部71は、動き差分に代えて、動線結合サーバ9の記憶部94に格納された全体動線情報L0を取得して、全体動線情報L0における過去の動線情報を用いてもよい。これにより混雑判定部71は、複数のカメラ2におけるカメラ毎に、例えば過去の動線情報における認識対象の位置及び速度と、各カメラの撮像範囲に基づき、混雑または非混雑の混雑フラグを混雑情報として生成してもよい。
【0157】
実施形態1では、画像分配部72は、動き差分による混雑情報の混雑フラグに基づき、画像データを分割(S22,S23)及び分配(S24)した。本実施形態の画像分配部72は、混雑フラグに代えて、動線結合サーバ9の記憶部94に格納された全体動線情報L0を取得して、全体動線情報L0における過去の動線情報を用いてもよい。画像分配部72は、複数のカメラ2の各カメラの画像について、例えば過去の動線情報における人物11といった認識対象の位置に基づき、各分割画像における人物の数が同程度になるように分割し、各分配先における分割画像内の人物の総数が同程度になるように分配先を決定してもよい。
【0158】
実施形態2では、複数のカメラ2の隣接情報に基づいて各カメラの混雑フラグを設定した。本実施形態の混雑管理サーバ7は、特に上記に限らず、混雑を予測して画像データを分配するための種々の情報を用いて混雑情報を更新してもよい。例えば、本実施形態の混雑判定部71は、隣接情報の代わりに、複数のカメラ2の各々の撮像範囲における事前情報に基づいて混雑フラグを設定してもよい。事前情報としては、例えば、店舗の売り場のような環境6において、時間帯を分けて特定の販売を行うスケジュールを示す情報など、本システム1が適用される環境6現場の各種知識を用いることができる。
【0159】
上記のような事前情報は、例えば、複数のカメラ2における特定のカメラの撮像範囲において混雑フラグが「オン」である場合に、別のカメラの撮像範囲の混雑フラグが所定時間後に「オン」となることを示すように規定される。また、事前情報は、特定のカメラの撮像範囲において特定の時間帯に混雑フラグが「オン」であることを示すように規定されてもよい。これにより、隣接していないカメラであっても、混雑フラグを設定して、画像分配部72による画像の分割及び分配に用いることができる。以上のような事前情報は、人物11等の移動体が移動する傾向に関する情報の一例である。
【0160】
また、本実施形態では、過去の動線情報といった事前情報の機械学習により混雑予測を行う学習済みモデルを適用して、本システム1における混雑状態の管理が行われてもよい。こうした機械学習においては、例えば本システム1を用いる際の時刻、曜日、季節、天気および環境6に関する各種イベントなどを示す付加情報が利用されてもよい。
【0161】
上記の実施形態では、移動体検知システムの一例として動線検知システム1を説明した。本実施形態において、移動体検知システムは、特に動線検知システム1に限らず、例えば複数のカメラにより人物などの移動体の動きを監視するための監視システム、または追跡するための追跡システムに適用されてもよい。また、本実施形態において、移動体検知システムの検知対象は、特に人物に限らず、種々の移動体であってもよい。例えば、検知対象の移動体は、店舗のような環境6におけるカートであってもよいし、工場などの環境6における自動搬送機であってもよいし、各種の車両であってもよい。
【0162】
上記の実施形態では、画像認識装置の一例として、動線抽出サーバ8を説明した。本実施形態において、画像認識装置は、特に動線抽出サーバ8に限らず、例えばGPUまたはTPUとして構成されてもよい。また、画像認識の処理に深層学習による学習済みモデルを適用する場合、画像認識装置は、深層学習の処理に特化した専用のハードウェアとして構成されてもよい。
【0163】
上記の実施形態では、情報管理装置の一例として混雑管理サーバ7を説明した。本実施形態において、情報管理装置は、例えばPCであってもよい。また、情報統合装置及び画像認識装置も同様に、例えばそれぞれPCであってもよい。
【0164】
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
【0165】
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【0166】
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
【産業上の利用可能性】
【0167】
本開示は、複数の撮像装置に基づく情報をリアルタイムに処理する種々の移動体検知システムに適用可能であり、例えば動線検知システム、監視システム及び追跡システムに適用可能である。
【手続補正書】
【提出日】2024-08-21
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
情報管理方法であって、
コンピュータが、複数の撮像装置から画像データを取得するステップと、
前記コンピュータの制御部が、前記撮像装置毎に各画像データが示す撮像画像の範囲内に移動体が局在する数量を示す混雑情報を生成するステップと、
前記複数の撮像装置のうちの第1の撮像装置による第1の画像データにおいて、前記混雑情報が示す数量の大きさが所定量未満の場合、前記制御部が、前記第1の画像データを複数の画像認識装置のうちの第1の画像認識装置に供給するステップと、
前記第1の画像データにおいて、前記混雑情報が示す数量の大きさが前記所定量以上の場合、前記制御部が、前記第1の画像データを分配して、少なくとも前記第1の画像認識装置と、前記複数の画像認識装置のうちの前記第1の画像認識装置とは異なる第2の画像認識装置とに供給するステップと、を含む
情報管理方法。
【請求項2】
前記各画像認識装置は、前記移動体を繰り返し検知して、前記移動体による動線を示す動線情報を生成する
請求項1に記載の情報管理方法。
【請求項3】
情報統合装置が、前記各画像認識装置により生成された動線情報に基づいて、前記複数の撮像装置により撮像される範囲の全体において前記移動体の動線を示す情報を生成するステップをさらに含む
請求項2に記載の情報管理方法。
【請求項4】
前記制御部は、
前記各撮像装置によって順次撮像される複数フレームの画像データに基づいて、前記撮像画像における移動体の動き量を算出して、
前記算出した動き量に基づいて、前記混雑情報を生成する
請求項1から3のいずれか1項に記載の情報管理方法。
【請求項5】
前記制御部は、
前記各画像認識装置によって検知された移動体の個体数を取得して、
前記取得した移動体の個体数に基づき、前記混雑情報を生成する
請求項1から4のいずれか1項に記載に情報管理方法。
【請求項6】
前記制御部は、前記複数の撮像装置において前記第1の撮像装置に隣接した撮像装置に関する前記混雑情報と、前記複数の撮像装置が配置された環境において前記移動体の移動により前記混雑情報が変化する傾向を示す情報と、の少なくとも一方に応じて前記第1の撮像装置による第1の画像データにおいて前記混雑情報が示す数量の大きさが前記所定量以上になる前に前記第1の画像データを分配することを予め決定して、前記混雑情報を更新する
請求項1から5のいずれか1項に記載の情報管理方法。
【請求項7】
前記制御部は、
前記複数の撮像装置による各々の画像データにおいて、各画像データが示す画像を分割する領域毎に、当該領域における混雑情報を示す混雑度を算出し、
前記算出した混雑度に基づき、前記複数の撮像装置による各々の画像データを前記複数の画像認識装置に分配して送信する
請求項1から6のいずれか1項に記載の情報管理方法。
【請求項8】
前記複数の撮像装置は、前記第2の画像認識装置に対応した第2の撮像装置を含み、
前記第2の撮像装置による第2の画像データにおいて、前記混雑情報が示す数量の大きさが前記所定量未満である
請求項1から7のいずれか1項に記載の情報管理方法。
【請求項9】
前記制御部は、
前記第2の画像データを前記第2の画像認識装置に供給し、
前記第1の画像データにおいて、前記混雑情報が示す数量の大きさが前記所定量以上の場合、前記第1の画像データが示す撮像画像を複数の領域に分割する複数の分割データを、分配先の前記第1及び第2の画像認識装置に別個に供給する
請求項8に記載の情報管理方法。
【請求項10】
コンピュータプログラムであって、コンピュータの制御部により実行されると、前記コンピュータに、
複数の撮像装置から画像データを取得するステップと、
前記撮像装置毎に各画像データが示す撮像画像における移動体の数量を示す混雑情報を生成するステップと、
前記複数の撮像装置のうちの第1の撮像装置による第1の画像データにおいて、前記混雑情報が示す数量の大きさが所定量未満の場合、前記第1の画像データを複数の画像認識装置のうちの第1の画像認識装置に供給するステップと、
前記第1の画像データにおいて、前記混雑情報が示す数量の大きさが前記所定量以上の場合、前記第1の画像データを分配して、少なくとも前記第1の画像認識装置と前記複数の画像認識装置のうちの前記第1の画像認識装置とは異なる第2の画像認識装置とに供給するステップと、を実行させる
コンピュータプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報管理方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
特許文献1は、1以上の監視カメラと、監視サーバと、ユーザが所持する携帯端末とを備える監視システムを開示している。特許文献1の監視サーバは、監視カメラの映像から人物といった移動体オブジェクトの動線を抽出し、携帯端末の周辺領域等に含まれる動線を選択する。監視サーバは、選択した動線に基づき、動線の通過経路を含む領域の映像を特定してユーザに提示する。このように特許文献1では、動線の解析結果に応じた映像をユーザに提示することにより、ユーザによる映像の確認作業の効率化を図っている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、複数の撮像装置を用いた撮像画像に対する画像認識装置の処理を効率良くすることができる情報管理方法及びコンピュータプログラムを提供する。
【課題を解決するための手段】
【0005】
本開示の一態様に係る情報管理方法は、コンピュータが、複数の撮像装置から画像データを取得するステップと、コンピュータの制御部が、撮像装置毎に各画像データが示す撮像画像の範囲内に移動体が局在する数量を示す混雑情報を管理生成するステップと、複数の撮像装置のうちの第1の撮像装置による第1の画像データにおいて、混雑情報が示す数量の大きさが所定量未満の場合、制御部が、第1の画像データを複数の画像認識装置のうちの第1の画像認識装置に供給するステップと、第1の画像データにおいて、混雑情報が示す数量の大きさが所定量以上の場合、制御部が、第1の画像データを分配して、少なくとも第1の画像認識装置と、複数の画像認識装置のうちの第1の画像認識装置とは異なる第2の画像認識装置とに供給するステップと、を含む。
【0006】
本開示の一態様に係るコンピュータプログラムは、コンピュータの制御部により実行されると、コンピュータに、複数の撮像装置から画像データを取得するステップと、撮像装置毎に各画像データが示す撮像画像の範囲内に移動体が局在する数量を示す混雑情報を生成するステップと、複数の撮像装置のうちの第1の撮像装置による第1の画像データにおいて、混雑情報が示す数量の大きさが所定量未満の場合、第1の画像データを複数の画像認識装置のうちの第1の画像認識装置に供給するステップと、第1の画像データにおいて、混雑情報が示す数量の大きさが所定量以上の場合、第1の画像データを分配して、少なくとも第1の画像認識装置と、複数の画像認識装置のうちの第1の画像認識装置とは異なる第2の画像認識装置とに供給するステップと、を実行させる。
【発明の効果】
【0007】
本開示に係る情報管理方法及びコンピュータプログラムによると、複数の撮像装置を用いた撮像画像に対する画像認識装置の処理を効率良くすることができる。
【図面の簡単な説明】
【0008】
【
図1】本開示の実施の形態1に係る動線検知システムの概要を示す図
【
図2】実施形態1の混雑管理サーバの構成を例示するブロック図
【
図3】実施形態1の動線抽出サーバの構成を例示するブロック図
【
図4】実施形態1の動線結合サーバの構成を例示するブロック図
【
図5】動線検知システム1の動作例を説明するための図
【
図6】動線検知システム1における混雑時の動作を説明するための図
【
図7】実施形態1の混雑管理サーバにおける混雑判定処理を例示するフローチャート
【
図8】実施形態1の混雑判定処理を説明するための図
【
図9】実施形態1の混雑判定処理における混雑情報テーブルを例示する図
【
図10】実施形態1の混雑管理サーバにおける画像分配処理を例示するフローチャート
【
図11】実施形態1の画像分配処理を説明するための図
【
図12】実施形態1の動線抽出サーバにおける動線抽出処理を例示するフローチャート
【
図13】実施形態1の動線抽出処理を説明するための図
【
図14】実施形態1の動線結合サーバにおける動線結合処理を例示するフローチャート
【
図15】実施形態2の複数のカメラ間での混雑状態の伝搬を説明するための図
【
図16】実施形態3の画像分配処理を例示するフローチャート
【
図17】実施形態4の混雑判定処理を例示するフローチャート
【発明を実施するための形態】
【0009】
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、発明者(ら)は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
【0010】
(実施形態1)
1.構成
実施形態1に係る動線検知システムについて、
図1を用いて説明する。
図1は本実施形態に係る動線検知システム1の概要を示す図である。
【0011】
1-1.システムの概要
本システム1は、
図1に示すように、複数のカメラ2-1~2-3と、混雑管理サーバ7と、複数の動線抽出サーバ8-1~8-3と、動線結合サーバ9とを備える。以下、カメラ2-1,2-2,2-3を総称して「カメラ2」ともいう。又、動線抽出サーバ8-1,8-2,8-3を総称して「動線抽出サーバ8」ともいう。
【0012】
本システム1は、店舗の売り場、作業場または工場等の環境6において複数の人物11等がそれぞれ移動する軌跡すなわち動線を検知対象として、環境6の全体を撮像するように複数のカメラ2を用いる移動体検知システムの一例である。本システム1は、例えば環境6の管理者または分析担当者といったユーザ3に、環境6における様々な人物11の動線を提示するための表示端末4を備えてもよい。
【0013】
本システム1では、各カメラ2-1,2-2,2-3に対応して各動線抽出サーバ8-1,8-2,8-3が設けられる。動線抽出サーバ8は、カメラ2による撮像画像から動線を抽出するための画像認識の処理を実行するサーバ装置である。混雑管理サーバ7は、各カメラ2-1,2-2,2-3から各動線抽出サーバ8-1,8-2,8-3に供給される画像データを管理するためのサーバ装置である。動線結合サーバ9は、各動線抽出サーバ8-1,8-2,8-3によって抽出された動線等を統合した情報を生成するためのサーバ装置である。
【0014】
本実施形態では、以上のような動線検知システム1において、混雑管理サーバ7を用いることにより、多数の人物11による混雑が生じたとしても環境6全体の動線等をリアルタイムに得やすくする。
【0015】
以下、本システム1におけるカメラ2、混雑管理サーバ7、動線抽出サーバ8、および動線結合サーバ9それぞれの具体的な構成を説明する。
【0016】
1-2.カメラの構成
カメラ2は、本システム1における撮像装置の一例である。カメラ2は、画像を撮像する撮像部と、撮像部が撮像した画像を示す画像データを送信する送信部とを備える。撮像部は、CCDイメージセンサ、又はCMOSイメージセンサなどで実現される。送信部は、所定の通信規格(例えばIEEE802.11、USB)に準拠して外部機器との通信を行うためのインタフェース回路を含む。
【0017】
本実施形態のカメラ2は、例えば魚眼レンズを備えた全方位カメラである。本システム1のカメラ2は、特に全方位カメラに限らない種々の撮像装置であってもよい。又、
図1では、3つのカメラ2-1,2-2,2-3を例示しているが、本システム1に含まれるカメラ2の個数は特に3つに限定されず、2つ又は4つ以上であってもよい。
【0018】
本システム1において、例えば環境6中の各所を移動する人物11の動線を精度良く検知する観点から、環境6において各カメラ2-1,2-2,2-3が撮像する撮像範囲が、例えば部分的に互いに重畳するように設定される。
【0019】
1-3.混雑管理サーバの構成
図2は、本実施形態の混雑管理サーバ7の構成を例示するブロック図である。混雑管理サーバ7は、本実施形態における情報管理装置の一例である。
図2に例示する混雑管理サーバ7は、制御部70と、記憶部74と、通信インタフェース75とを備える。
【0020】
制御部70は、混雑管理サーバ7の動作を制御する。制御部70は、例えばソフトウェアと協働して所定の機能を実現するCPUまたはMPUで構成される。制御部70は、記憶部74に格納されたデータ及びプログラムを読み出して種々の演算処理を行い、各種の機能を実現する。例えば、制御部70は、混雑管理サーバ7の各種処理を実現するための命令群を含んだプログラムを実行する。上記のプログラムは、例えばアプリケーションプログラムであり、インターネット等の通信ネットワークから提供されてもよいし、可搬性を有する記憶媒体に格納されてもよい。
【0021】
図2に例示する混雑管理サーバ7において、制御部70は、例えば機能的構成として混雑判定部71および画像分配部72を備える。混雑判定部71は、各カメラ2-1,2-2,2-3の撮像画像が後述する混雑状態であるか否かを判定する処理である混雑判定処理を行う。画像分配部72は、混雑判定処理の結果に基づき、複数の動線抽出サーバ8から複数のカメラ2の画像データを分配する分配先を決定し、各動線抽出サーバ8-1,8-2,8-3に画像データを送信する処理である画像分配処理を行う。
【0022】
なお、制御部70は、所定の機能を実現するように設計された専用の電子回路又は再構成可能な電子回路などのハードウェア回路であってもよい。制御部70は、マイコン、DSP、FPGA及びASIC等の半導体集積回路で構成されてもよい。また、制御部70は、各種のデータ及びプログラムを保持する一時的な記憶領域として内部メモリを備えてもよい。
【0023】
記憶部74は、データ及びプログラムを記憶する。記憶部74は、例えばハードディスクドライブ(HDD)または半導体記憶装置(SSD)により構成される。記憶部74は、複数のカメラ2から取得した画像データを記憶する。記憶部74は、例えばDRAMまたはSRAM等のRAMにより構成される一時的な記憶素子を備えてもよく、制御部70の作業領域として機能してもよい。例えば記憶部74は、混雑判定部71の判定結果および画像分配部72による分配先の決定結果を一時的に記憶してもよい。
【0024】
通信インタフェース75は、例えばUSB、IEEE 802.11またはBluetooth(登録商標)といった規格に準拠して、機器間の接続及びデータの通信等を行う接続回路である。通信インタフェース75は、例えば複数のカメラ2および複数の動線抽出サーバ8と、混雑管理サーバ7を接続する。通信インタフェース75は、通信ネットワークと接続するための回路を備えてもよく、例えば複数のカメラ2および複数の動線抽出サーバ8等と通信ネットワークを介してデータの通信を行ってもよい。
【0025】
1-4.動線抽出サーバの構成
図3は、本実施形態の動線抽出サーバ8の構成を例示するブロック図である。動線抽出サーバ8は、本実施形態における画像認識装置の一例である。
図3に例示する動線抽出サーバ8は、制御部80と、記憶部84と、通信インタフェース85とを備える。
【0026】
制御部80は、動線抽出サーバ8の動作を制御する。制御部80は、例えばソフトウェアと協働して所定の機能を実現するCPU、MPU、GPU、GPGPUまたはTPU或いはそれらの組み合わせで構成される。制御部80は、記憶部84に格納されたデータ及びプログラムを読み出して種々の演算処理を行い、各種の機能を実現する。
【0027】
図3に例示する動線抽出サーバ8において、制御部80は、例えば機能的構成として動線抽出部81を備える。動線抽出部81は、混雑管理サーバ7から受信した画像データに基づいて、画像認識の対象として予め設定された人物11等の物体を検知する画像認識の処理を含んだ動線抽出処理を行う。動線抽出処理では、画像認識による検知結果に基づいて人物11等の位置情報が算出される。動線抽出部81は、動線抽出サーバ8-1に対応するカメラ2-1の画像データから算出した位置情報に基づく動線を示す個別動線情報Lnを生成して、記憶部84に蓄積させる。動線抽出部81における画像認識の処理には、例えば各種の機械学習による学習済みモデル等が適用される。
【0028】
なお、制御部80は、所定の機能を実現するように設計された専用の電子回路又は再構成可能な電子回路などのハードウェア回路であってもよい。制御部80は、マイコン、DSP、FPGA及びASIC等の半導体集積回路で構成されてもよい。また、制御部80は、各種のデータ及びプログラムを保持する一時的な記憶領域として内部メモリを備えてもよい。
【0029】
記憶部84は、データ及びプログラムを記憶する。記憶部84は、例えばハードディスクドライブ(HDD)または半導体記憶装置(SSD)により構成される。記憶部84は、個別動線情報Lnを記憶する。記憶部84は、例えばDRAMまたはSRAM等のRAMにより構成される一時的な記憶素子を備えてもよく、制御部80の作業領域として機能してもよい。
【0030】
通信インタフェース85は、例えばUSB、IEEE 802.11またはBluetoothといった規格に準拠して、機器間の接続及びデータの通信等を行う接続回路である。通信インタフェース85は、例えば混雑管理サーバ7及び動線結合サーバ9に通信接続する。通信インタフェース85は、他の動線抽出サーバ8と通信可能に接続されてもよい。通信インタフェース85は、通信ネットワークと接続するための回路を備えてもよく、例えば複数の動線抽出サーバ8の間で通信ネットワークを介してデータの通信を行ってもよい。
【0031】
1-5.動線結合サーバの構成
図4は、本実施形態の動線結合サーバ9の構成を例示するブロック図である。動線結合サーバ9は、本実施形態における情報統合装置の一例である。
図4に例示する動線結合サーバ9は、制御部90と、記憶部94と、通信インタフェース95と、出力インタフェース96とを備える。
【0032】
制御部90は、動線結合サーバ9の動作を制御する。制御部90は、例えばソフトウェアと協働して所定の機能を実現するCPUまたはMPUで構成される。制御部90は、記憶部94に格納されたデータ及びプログラムを読み出して種々の演算処理を行い、各種の機能を実現する。
【0033】
図4に例示する動線結合サーバ9において、制御部90は、例えば機能的構成として動線結合部91を備える。動線結合部91は、各動線抽出サーバ8-1,8-2,8-3から受信した各々の個別動線情報L1等を結合して、複数のカメラ2の画像データに基づく全体動線情報L0を生成し、記憶部94に蓄積させる。
【0034】
なお、制御部90は、所定の機能を実現するように設計された専用の電子回路又は再構成可能な電子回路などのハードウェア回路であってもよい。制御部90は、マイコン、DSP、FPGA及びASIC等の半導体集積回路で構成されてもよい。また、制御部90は、各種のデータ及びプログラムを保持する一時的な記憶領域として内部メモリを備えてもよい。
【0035】
記憶部94は、データ及びプログラムを記憶する。記憶部94は、例えばハードディスクドライブ(HDD)または半導体記憶装置(SSD)により構成される。記憶部94は、全体動線情報L0を記憶する。記憶部94は、例えばDRAMまたはSRAM等のRAMにより構成される一時的な記憶素子を備えてもよく、制御部90の作業領域として機能してもよい。
【0036】
通信インタフェース95は、例えばUSB、IEEE 802.11またはBluetoothといった規格に準拠して、機器間の接続及びデータの通信等を行う接続回路である。通信インタフェース95は、例えば複数の動線抽出サーバ8と動線結合サーバ9を通信接続する。通信インタフェース95は、通信ネットワークと接続するための回路を備えてもよく、例えば複数の動線抽出サーバ8等と通信ネットワークを介してデータの通信を行ってもよい。
【0037】
出力インタフェース96は、情報を出力する出力部の一例である。出力インタフェース96は、例えばHDMI(登録商標)規格などに準拠した映像信号等の出力インタフェース回路である。出力インタフェース96は、各種の情報を表示するためにモニタ、プロジェクタ、およびヘッドマウントディスプレイなど外付けの表示デバイスに信号を出力する。また、情報統合装置の出力部は、出力インタフェース96に限らず、例えば液晶ディスプレイまたは有機ELディスプレイといった表示デバイスとして構成されてもよい。
【0038】
2.動作
2-1.動作の概要
本実施形態に係る動線検知システム1の動作の概要を、
図1及び
図5を用いて説明する。
図5は、本実施形態に係る動線検知システム1の動作例を説明するための図である。
【0039】
動線検知システム1において、各カメラ2-1,2-2,2-3は、環境6における各々の撮像範囲の画像を撮像して、例えば動画のフレーム周期で画像データを生成する。各カメラ2-1,2-2,2-3は、各々の画像データを、例えば互いに同期した撮像時刻と関連付けて順次、混雑管理サーバ7に送信する。
【0040】
本実施形態における混雑管理サーバ7は、例えば各カメラ2-1,2-2,2-3により撮像された画像の画像データを取得して、混雑判定部71及び画像分配部72としての処理を行う(
図5のS1,S2参照)。例えば、後述する混雑状態が特に生じていない場合、混雑管理サーバ7は、各カメラ2-1,2-2,2-3からの画像データを、それぞれ対応する動線抽出サーバ8-1,8-2,8-3に送信する。
【0041】
各動線抽出サーバ8-1,8-2,8-3は、それぞれ受信した画像データに基づき、複数のカメラ2-1,2-2,2-3の撮像画像に対する画像認識処理を並列に行い、人物11等による動線を検知する(
図5のS3参照)。各動線抽出サーバ8-1,8-2,8-3は、各々の検知結果を示す個別動線情報をそれぞれ生成して、動線結合サーバ9に送信する。
【0042】
動線結合サーバ9は、例えば表示端末4において環境6の地図を示す地図画像上に動線が表示されるように、複数の動線抽出サーバ8により検知された動線等の情報を統合する(
図5のS4参照)。
【0043】
2-1-1.混雑時の動作
以上のような動線検知システム1における混雑時の動作について、
図5及び
図6を用いて説明する。
【0044】
図5は、環境6における特定のカメラ2-3の撮像範囲のみが人物11により混雑している場合における本システム1の動作を例示する。
図6(A),(B),(C)は、
図5の動作例における各カメラ2-1,2-2,2-3の撮像画像I21,I22,I23をそれぞれ例示する。混雑中の撮像画像I23の状態を「混雑状態」といい、混雑状態でない撮像画像I21,I22の状態を「非混雑状態」という。
【0045】
混雑状態の撮像画像I23によると、多数の人物が当該画像I23の範囲内に局在していることから、画像認識を実行する動線抽出サーバ8-3の処理負荷が過大になる事態が想定される。この場合、複数の動線抽出サーバ8-1~8-3の内の特定の動線抽出サーバ8-3の処理の遅延により、動線結合サーバ9の処理(S4)が遅れ、ひいてはリアルタイムな動線の表示を実現困難になってしまう。
【0046】
そこで、本実施形態の動線検知システム1においては、混雑管理サーバ7によって撮像画像I21~I23における混雑状態を管理する。
【0047】
まず、混雑管理サーバ7は、混雑判定部71により、各カメラ2-1,2-2,2-3について混雑判定処理(S1)を行う。
図5の例では、特定のカメラ2-3の撮像画像I23のみが混雑状態であると判定され、残りのカメラ2-1,2-2の撮像画像I21,I22は混雑状態でないと判定される。
【0048】
次に、混雑管理サーバ7は、混雑判定処理(S1)の結果にしたがい、画像分配部72により画像データ21,22,23の画像分配処理(S2)を行う。画像分配部72は、非混雑状態と判定されたカメラ2-1,2-2の画像データ21,22を、それぞれのカメラ2-1,2-2に対応する動線抽出サーバ8-1,8-2に送信する。一方、画像分配部72は、混雑状態と判定されたカメラ2-3の画像データ23を、撮像画像I23を分割するように、複数の動線抽出サーバ8に分配する。こうした分配の一例を
図6(C)~(F)に示す。
【0049】
図6(D),(E),(F)は、
図6(C)の撮像画像I23を分割した分割画像I23b,I23c,I23adを例示する。
図5の例では、混雑管理サーバ7は、分割画像I23ad,I23b,I23cを示す画像データ23ad,23b,23cを、特定の動線抽出サーバ8-3だけでなく、他の動線抽出サーバ8-1,8-2にも分配して供給する。
【0050】
各動線抽出サーバ8-1,8-2,8-3は、各々の動線抽出部81により、混雑管理サーバ7から供給された画像データに画像認識の処理を実行して、対応するカメラ2-1,2-2,2-3の画像データに基づく動線を抽出する動線抽出処理(S3)を行う。この際、上記特定の動線抽出サーバ8-3は、画像認識の処理対象が
図6(C),(F)に示すように混雑状態の撮像画像I23から分割画像I23adに削減されることから、処理負荷が低減される。一方、残りの分割画像I23b,I23cは、それぞれ混雑状態でない撮像画像I21,I22と共に、他の動線抽出サーバ8-1,8-2の処理対象となる。
【0051】
よって、複数の動線抽出サーバ8-1~8-3の間で処理負荷が分散され、動線抽出処理(S3)を効率良く行うことができる。また、本実施形態では、複数の動線抽出サーバ8-1~8-3は、分割画像I23ad、I23b、I23cの画像認識による検知結果の情報を互いに送受信することで、それぞれ対応するカメラ2-1~2-3の画像データに基づく個別動線情報L1,L2,L3を生成する。各動線抽出サーバ8-1,8-2,8-3は、それぞれ個別動線情報L1,L2,L3を動線結合サーバ9に送信する。
【0052】
動線結合サーバ9は、受信した個別動線情報L1,L2,L3を統合して全体動線情報L0を生成する動線結合処理(S4)を行う。動線結合サーバ9は、全体動線情報L0を、例えば記憶部94に予め格納された環境6の地図画像を示す地図画像データと合わせて、表示端末4に送信する。これにより、表示端末4は、地図画像と重畳させて全体動線情報L0が示す動線を表示する(S5)。
【0053】
動線検知システム1は、以上の処理(S1~S5)を、例えば周期的に繰り返す。これにより、例えば表示端末4において、動線の表示がリアルタイムに更新される。
【0054】
以上の動作によると、混雑状態の撮像画像I23adが生じたとしても、複数の動線抽出サーバ8-1~8-3間で処理負荷を分散させ、動線抽出処理(S3)を効率良く行うことができる。よって、その後の動線結合処理(S4)等の遅延も抑制でき、例えば表示端末4における動線のリアルタイム表示を行い易くすることができる。
【0055】
このような動線検知システム1によると、混雑判定処理(S1)の結果に応じて、複数のカメラ2の画像データが複数の動線抽出サーバ8に分配される(S2)。これにより、例えば混雑と判定されたカメラ2-3に対応する動線抽出サーバ8-3において、動線抽出処理(S3)での画像認識処理の負荷が集中して処理が遅れること抑制できる。環境6における人物11等の移動に応じて、混雑判定処理(S1)の結果も変化して、画像分配処理(S2)における画像の分割及び分配が更新されることで、リアルタイムに動線結合処理(S4)及び動線の表示(S5)を行うことができる。
【0056】
2-2.混雑判定処理
混雑管理サーバ7における混雑判定処理(
図5のS1)について、
図7及び
図8を用いて説明する。混雑判定処理(S1)では、各カメラ2の混雑情報が用いられる。混雑情報は、複数のカメラ2の各々の撮像画像における人物11の数量に対応するような移動体による混雑の程度を示す種々の情報である。
【0057】
図7は、混雑管理サーバ7における混雑判定処理(S1)を例示するフローチャートである。
図8は、混雑判定処理を説明するための図である。
図9は、混雑判定処理における混雑情報テーブルを例示する図である。
【0058】
図7のフローチャートに示す各処理は、混雑判定部71として機能する混雑管理サーバ7の制御部70によって、例えばカメラ2のフレーム周期で実行される。
図7のフローチャートは、例えば、混雑管理サーバ7が通信インタフェース75を介して、複数のカメラ2から画像データを受信すると開始される。画像データは、例えばカメラ2毎に2フレーム分など所定のフレーム数分、記憶部74に保持される。
【0059】
図7のフローチャートにおいて、まず、混雑判定部71は、例えば記憶部74から、各カメラ2の画像データを取得する(S10)。
図8(A),(B)に、ステップS10で取得される画像データを例示する。
図8(A)は、1つのカメラ2において撮像された現在フレームF2の画像データを例示する。
図8(B)は、
図8(A)と同じカメラ2で1フレーム前の過去フレームF1の画像データを例示する。ステップS10において、混雑判定部71は、
図8(A),(B)のような現在及び過去の画像データをカメラ2毎に取得する。
【0060】
混雑判定部71は、複数のカメラ2-1~2-3の各々に関して、取得した画像データに基づいて、動き差分データHを各々生成する(S11)。
図8(C)は、
図8(A),(B)の画像データに基づき生成される動き差分データHを例示する。動き差分データHは、例えば撮像画像の領域全体におけるヒートマップとして過去から現在への動きによる差分を示すデータである。混雑判定部71は、例えば各画素におけるフレーム間の差分を演算するなど、過去フレームF1の画像データと、現在フレームF2の画像データとを画素毎に比較して、動き差分データHを生成する。
【0061】
次に、混雑判定部71は、複数のカメラ2-1~2-3の各々における動き差分データH1,H2,H3に基づき、各カメラ2の撮像画像における混雑状態を判定する(S12)。混雑判定部71は、例えば、1つのカメラ2当たりの現在フレームF2の混雑度として動き差分データHの全画素にわたる合計値を計算して、混雑度が所定の閾値以上か否かにより混雑状態または非混雑状態を判定する。所定の閾値は、例えば撮像画像の範囲内で処理負荷が過大となる人物の人数を考慮して、当該人数と動き差分との相関関係から設定される。混雑判定部71は、以上の処理を各カメラ2の動き差分データH1,H2,H3に行う。
【0062】
次に、混雑判定部71は、例えば上記の判定結果などの各カメラ2の混雑情報を格納するための混雑情報テーブルT1を、例えば混雑管理サーバ7の記憶部74に記憶する(S13)。
図9に、混雑情報テーブルT1を例示する。
【0063】
図9の例において、混雑情報テーブルT1は、複数のカメラ2-1~2-3の各々を識別する「カメラID」に対応付けて、上述した「動き差分データ」と上述した「混雑度」と、混雑状態の判定結果を示す「混雑フラグ」とをそれぞれ混雑情報の一例として格納する。混雑判定部71は、カメラ2毎の混雑状態又は非混雑状態の判定結果に応じてそれぞれの混雑フラグを「オン」または「オフ」に設定する。
【0064】
図9の例では、各カメラ2-1,2-2,2-3の動き差分データH1,H2,H3、及び混雑度X1,X2,X3といった混雑情報が、混雑情報テーブルT1に格納される。更に、
図9の混雑情報テーブルT1において、例えばカメラIDが「3」の混雑情報としては、カメラ2-3の動き差分データH3に基づき、混雑フラグが「オン」、すなわち「混雑状態」という判定結果が得られている。
【0065】
図7に戻り、混雑判定部71は、混雑情報テーブルT1を記憶すると(S13)、
図7のフローチャートによる処理を終了する。
【0066】
以上のように、本実施形態の混雑管理サーバ7において、混雑判定部71は、本システム1におけるカメラ2毎に、画像データを取得して(S10)、現在の各種混雑情報を生成する(S11,S12)。これにより、混雑管理サーバ7は、カメラ2毎の画像データの種々の混雑情報を管理することができる。また、動き差分データH(S11)によると、特に画像認識を用いなくとも、各カメラ2の撮像画像の範囲内における人物の人数に応じた混雑度を算出可能である。
【0067】
2-3.画像分配処理
混雑管理サーバ7における画像分配処理(
図5のS2)について、
図10及び
図11を用いて説明する。画像分配処理(S2)では、カメラ2毎の混雑情報に基づき、複数の動線抽出サーバ8-1~8-3において各カメラ2の画像データを分配する分配先が決定される。
【0068】
図10は、混雑管理サーバ7における画像分配処理(S2)を例示するフローチャートである。
図11は、混雑管理サーバ7における画像分配処理を説明するための図である。
【0069】
図10のフローチャートに示す各処理は、画像分配部72として機能する混雑管理サーバ7の制御部70によって実行される。
図10のフローチャートは、例えば、混雑判定部71の動作により混雑情報テーブルT1が記憶された(
図7のS13)状態で開始される。
【0070】
図10のフローチャートにおいて、まず、混雑管理サーバ7の画像分配部72は、例えば記憶部74から、複数のカメラ2の現在の画像データ及び混雑情報テーブルT1の各種混雑情報を取得する(S20)。
【0071】
次に、画像分配部72は、複数のカメラ2から、1つのカメラiを選択する(S21)。
図5の例では、カメラ2-1,2-2,2-3が、ステップS21ごとに順次、カメラiとして選択される。
【0072】
画像分配部72は、例えば
図9の混雑情報テーブルT1を参照して、選択したカメラiの混雑フラグが「オン」か否かを判断する(S22)。画像分配部72は、カメラiのカメラIDに該当する混雑情報を参照することで当該判断を行う。例えば、
図9の例において、カメラ2-1の選択時に参照される混雑フラグは「オフ」である。
【0073】
選択したカメラiの混雑フラグが「オフ」である場合(S22でNO)、対応する撮像画像は非混雑状態と判定されている。この場合、画像分配部72は、ステップS23,S24の処理を特に実行せず、ステップS25に進む。
【0074】
画像分配部72は、ステップS21において全てのカメラ2-1,2-2,2-3が選択されたか否かを判断する(S25)。全てのカメラ2-1,2-2,2-3が選択されるまで(S25でNO)、画像分配部72は、ステップS21以降の処理を繰り返す。
【0075】
図5の例では、カメラ2-1,2-2がそれぞれ選択された場合、混雑情報テーブルT1において混雑フラグが「オフ」であるため(S22でNO)、ステップS25に進む。すると、未だ全てのカメラが選択されていない(S25でNO)ことから、カメラ2-3が選択される(S21)。この際、カメラ2-3の選択時に
図9の混雑情報テーブルT1において参照される混雑フラグは「オン」である。
【0076】
選択したカメラiの混雑フラグが「オン」である場合(S22でYES)、対応する撮像画像は混雑状態と判定されている。この場合、画像分配部72は、カメラiの画像データが示す撮像画像を分割するための処理を行う(S23)。
【0077】
ステップS23の処理例を
図11に示す。画像分配部72は、例えば、画像データが示す撮像画像I23を所定の分割数(例えば4または9)に分割する領域R1~R4を設定する。
図11(A),(B)では、分割数「4」の一例を示す。
図11(B)の例では、各領域R1~R4に対応する分割画像I23a~I23dが、互いに隣接する部分において重畳するように設定されている。
【0078】
ステップS23において、画像分配部72は、例えば
図9の混雑情報テーブルT1を参照して、分割画像I23a~I23dの各々の混雑度を、
図7のステップS12と同様に算出する。例えば、画像分配部72は、所定の閾値未満の混雑度が算出された場合、当該分割数を採用する。一方、画像分配部72は、所定の閾値以上の混雑度が算出された場合、より大きい分割数を用いて以上の計算を再度行う。所定の閾値は、複数の動線抽出サーバ8の各々において、リアルタイムに動線抽出処理を実行できる程度に小さい値であり、例えばステップS12の閾値と同様に設定される。
【0079】
分割画像I23a~I23dを示す画像データは、各々の混雑度と対応付けて、例えば混雑管理サーバ7の制御部70の内部メモリに保持される。画像分配部72は、こうした混雑度に基づいて、例えば上記の閾値未満の範囲内で2つ以上の分割画像I23a,I23dを統合した分割画像I23adとしてもよい(
図6(F)参照)。
【0080】
図5の例では、ステップS21においてカメラiとしてカメラ2-3が選択された場合、混雑情報テーブルT1における各混雑情報の混雑フラグが「オン」である(S22でYES)ことから、
図11(A),(B)に示すように、カメラ2-3の画像I23が分割される。
【0081】
画像分配部72は、複数のカメラ2の混雑情報に基づき、選択したカメラiの分割画像を分配する分配先の動線抽出サーバ8を決定する(S24)。各カメラ2に対応する動線抽出サーバ8は、予め当該カメラ2の画像データの供給先に設定されている。例えば、画像分配部72は、混雑情報テーブルT1を参照して、混雑フラグが「オフ」であるカメラ2に対応する動線抽出サーバ8から追加の分配先を決定する。そして、画像分配部72は、混雑フラグが「オン」であるカメラ2に対応して予め供給先に設定された動線抽出サーバ8への分割画像の配信を決定する。
図5の例では、分割画像I23b,I23cの分配先がそれぞれ動線抽出サーバ8-1,8-2に決定される。そして、動線抽出サーバ8-3への分割画像I23a,I23dを統合した分割画像I23adの配信が決定される。
【0082】
ステップS24において、画像分配部72は、例えば混雑情報テーブルT1における各カメラ2の混雑度と、分割画像毎に算出した混雑度とに基づき、各動線抽出サーバ8の混雑度が同程度とみなせる所定範囲内となるように、分配先を決定してもよい。また、分配先の決定に応じて混雑情報テーブルT1におけるカメラ2毎の混雑度が更新され、以降の処理が更新後の混雑情報テーブルT1に基づいて実行されてもよい。
【0083】
画像分配部72としての制御部70は、例えば全てのカメラ2-1~2-3が選択されたと判断すると(S25でYES)、通信インタフェース75を制御して、各画像データを複数の動線抽出サーバ8に送信する(S26)。各カメラ2に対応する動線抽出サーバ8には、各カメラ2の撮像画像又は分割画像の画像データが送信される。さらに、追加で分配先に決定された動線抽出サーバ8に、分割画像の画像データが送信される。この際、各画像データは、例えば各カメラ2のカメラIDと関連付けて送信される。
【0084】
画像分配部72は、画像データを複数の動線抽出サーバ8に送信すると(S26)、本フローチャートに示す処理を終了する。
【0085】
以上のように、画像分配部72は、複数のカメラ2の混雑情報に基づき、各カメラ2の撮像画像のうち混雑情報に基づき「混雑状態」と判定されたカメラ2の撮像画像を分割して(S22,S23)、複数の動線抽出サーバ8に分配する(S24)。これにより、複数の動線抽出サーバ8の各々における処理の負荷を分散させることができる。
【0086】
なお、ステップS23において、混雑度の閾値は、
図7のステップS12と同様の値に限らず適宜、異なる値が設定されてもよい。例えば、画像分配部72は、混雑情報テーブルT1に基づいて、選択されたカメラiの近傍とみなす複数のカメラ2の混雑度の平均値を閾値として算出してもよい。この場合、例えば複数のカメラ2間の位置関係に基づいて各カメラの近傍とみなすカメラの組み合わせが予め設定される。
【0087】
また、ステップS23において、画像の領域分割は、例えば
図11(B)に示すように各分割画像が隣接する分割画像と部分的に重畳するように行われてもよい。このように画像を重畳させて分割することで、複数の動線抽出サーバ8による後述の動線抽出処理において、人物11といった移動体を分割画像の境界部分において検知する際に、検知漏れを抑制することができる。
【0088】
2-4.動線抽出処理
動線抽出サーバ8の動作について、
図12及び
図13を用いて説明する。各動線抽出サーバ8-1~8-3は、それぞれ複数のカメラ2-1~2-3のうち当該動線抽出サーバ8と対応するカメラ2の画像データに基づく個別動線情報を生成する、といった動線抽出処理(
図5のS3)を行う。
【0089】
図12は、動線抽出サーバ8における動線抽出処理(S3)を例示するフローチャートである。
図13は、動線抽出処理を説明するための図である。
図12のフローチャートに示す各処理は、各動線抽出サーバ8において、動線抽出部81として機能する制御部80によって実行される。
図12のフローチャートは、例えば、動画のフレーム周期で開始される。
【0090】
図12のフローチャートにおいて、まず、動線抽出部81は、通信インタフェース85を介して混雑管理サーバ7から画像データを受信する(S30)。例えば、
図5の例の動線抽出サーバ8-1は、対応するカメラ2-1(即ち担当のカメラ)による撮像画像I21の画像データ21と、分割画像I23bの画像データ23bとを受信する。
【0091】
動線抽出部81は、受信した画像データにおいて、物体検知の画像認識処理を行って、認識対象である人物11等の画像上の位置を示す画像位置を検出する(S31)。ステップS31の処理例を
図13(A),(B)に示す。
【0092】
図13(A)は、非混雑状態の撮像画像I21において、対応する動線抽出サーバ8-1により検出される画像位置P21を例示する。
図13(B)は、
図13(A)と同じ動線抽出サーバ8-1により、分割画像I23bにおいて検出される画像位置P23bを例示する。
【0093】
ステップS31における物体検知の画像認識処理においては、
図13(A)に例示するように、撮像画像I21における認識対象の物体の検知結果として、例えば矩形状の検知領域40が認識される。動線抽出部81は、例えば検知領域40における中心点の画像上の座標を、画像位置P21として算出する。画像位置P21は、例えば制御部80の内部メモリに保持される。
【0094】
図13(A),(B)の例では、動線抽出サーバ8-1の動線抽出部81は、
図13(A)に示すように担当のカメラ2-1の画像データ21における画像位置P21を検出し、分割画像I23bから担当外のカメラ2-3の画像データ23bにおける画像位置P23bを検出する。
【0095】
次に、動線抽出部81は、ステップS31において画像位置が検出された画像データにおいて、自機と対応していない担当外のカメラ2の画像データがあるか否かを判断する(S32)。動線抽出部81は、例えば画像データ毎に関連付けられたカメラIDを参照して、担当外のカメラ2の画像データか否かを判断する。
【0096】
動線抽出部81は、担当外のカメラ2の画像データがあると判断すると(S32でYES)、複数の動線抽出サーバ8-1~8-3のうちの当該カメラ2に対応する動線抽出サーバ8に、上記画像データから検出した画像位置を示す情報を送信する(S33)。本実施形態において、複数の動線抽出サーバ8は、各々の通信インタフェース85を介して画像位置の情報を互いに送受信する。
【0097】
例えば、動線抽出サーバ8-1の動線抽出部81は、分割画像I23b(
図13(B))の画像データ23bが担当外のカメラ2-3の画像データであることから(S32でNO)、分割画像I23bにおける画像位置P32の情報を、当該カメラ2-3に対応する動線抽出サーバ8-3に送信する(S33)。
【0098】
一方、動線抽出部81は、担当外のカメラ2の画像データがないと判断すると(S32でNO)、ステップS33を特に実行せず、ステップS34に進む。
【0099】
動線抽出部81は、自機の通信インタフェース85が、複数の動線抽出サーバ8-1~8-3のうちの他の動線抽出サーバ8から画像位置の情報を、例えば所定期間以内に受信したか否かを判断する(S34)。
【0100】
他の動線抽出サーバ8から担当のカメラ2についての画像位置の情報が受信された場合(S34でYES)、動線抽出部81は、受信した画像位置の情報に基づき、担当のカメラ2の画像位置の検出結果を更新する(S35)。
図13(C)は、混雑状態の撮像画像I23における検出結果の画像位置P23を例示する。例えば、動線抽出サーバ8-3の動線抽出部81は、対応カメラ2-3の画像位置P23bの情報を動線抽出サーバ8-1から受信して(S32でYES)、検出結果の画像位置P23に追加する(S35)。
【0101】
一方、画像位置の情報が他の動線抽出サーバ8から受信されなかった場合(S34でNO)、動線抽出部81は、ステップS35を特に実行せず、ステップS36に進む。
【0102】
次に、動線抽出部81は、検出結果の画像位置を座標変換する演算を行うことにより、例えば環境6の地図上における人物11といった認識対象の位置を示す地図位置を算出する(S36)。動線抽出サーバ8の各々において、動線抽出部81は、例えば予め自機の記憶部84に格納された、担当のカメラ2の画像位置から地図位置への変換を規定するパラメータに基づき、座標変換を行う。
【0103】
動線抽出部81は、地図位置を算出した現在から数フレーム前までといった所定範囲の過去の動線情報を取得する(S37)。動線抽出部81は、例えば自機の記憶部84に格納された個別動線情報から、地図位置及び速度といった過去の動線情報を取得する。
【0104】
次に、動線抽出部81は、算出した現在の地図位置と、取得した過去の動線情報とに基づき、現在の個別動線情報を生成する(S38)。動線抽出部81は、例えば、各動線の過去の動線情報における地図位置と速度から予測される、現在のフレームにおける地図位置すなわち予測位置を算出し、予測位置と算出した地図位置の距離が所定値よりも近い動線に、現在の地図位置を紐づけることで、個別動線情報を生成する。距離の所定値は、例えば地図上で同じ点とみなせる程度に小さい値である。又、紐づけできなかった地図位置は、撮像範囲外から来た人物の位置等を示すと考えられることから、当該位置は個別動線情報に含める。生成された個別動線情報は、例えば記憶部84に記憶される。
【0105】
動線抽出部81は、例えば通信インタフェース85を介して、生成した個別動線情報を動線結合サーバ9に送信する(S39)と、本フローチャートに示す処理を終了する。各動線抽出サーバ8-1,8-2,8-3における以上の処理により、動線抽出サーバ8-1,8-2,8-3から、それぞれ個別動線情報L1,L2,L3が動線結合サーバ9に送信される。
【0106】
以上のように、複数の動線抽出サーバ8の各々において、動線抽出部81は、混雑管理サーバ7の画像分配部72から画像データを取得して(S30)、対応カメラの画像データに基づく個別動線情報を生成する(S38)。これにより、画像認識の処理負荷が複数の動線抽出サーバ8において分散され、一部の動線抽出サーバにおける処理時間の長期化を抑制することができる。
【0107】
また、動線抽出部81は、画像データから画像認識処理により認識対象である移動体の画像位置を検出して(S31)、複数の動線抽出サーバ8の間で画像位置を送受信する(S33,S34)ことで、動線抽出サーバ8毎の担当のカメラ2による画像位置を利用する。これにより、各動線抽出サーバ8において担当のカメラ2の画像データに基づく個別動線情報を得ることができる。
【0108】
2-5.動線結合処理
動線結合サーバ9の動作について、
図14を用いて説明する。動線結合サーバ9は、複数の動線抽出サーバ8-1~8-3の各々において生成された個別動線情報L1,L2,L3を、複数のカメラ2-1~2-3の撮像範囲における全ての動線を示す全体動線情報L0に結合する、動線結合処理(
図5のS4)を行う。
【0109】
図14は、動線結合サーバ9による動線結合処理(S4)を例示するフローチャートである。
図14のフローチャートに示す各処理は、動線結合サーバ9において、動線結合部91として機能する制御部90によって実行される。
図14のフローチャートは、例えば、動画のフレーム周期で開始される。
【0110】
まず、動線結合部91は、通信インタフェース95を介して、複数の動線抽出サーバ8-1~8-3の各々から、それぞれの個別動線情報L1,L2,L3を受信する(S40)。
【0111】
次に、動線結合部91は、受信した複数の個別動線情報L1~L3に基づいて全体動線情報L0を生成する(S41)。動線結合部91は、例えば別々の個別動線情報L1~L3における各動線の地図位置を互いに比較して、同一人物の動線であると考えられる動線の結合を行う。動線の結合は、例えばステップS38と同様に、地図上で同一とみなせる距離範囲を考慮して行われる。
【0112】
動線結合部91は、例えば全体動線情報L0と、環境6の地図を示す地図データとを出力インタフェース96を介して表示端末4に出力する(S42)。地図データは、例えば予め記憶部84に格納されている。これにより動線結合部91は、表示端末4上で全体動線情報を地図データに重畳して表示させる。
【0113】
動線結合部91は、全体動線情報L0の出力(S42)により、本フローチャートに示す処理を終了する。
【0114】
以上のように、動線結合部91は、複数の動線抽出サーバ8から取得した個別動線情報L1~L3を結合して全体動線情報L0を生成し(S41,S42)、例えば地図データと合わせて出力する(S42)。これにより、複数のカメラ2に基づく動線を結合して表示させることができ、ユーザ3が、複数のカメラ2の各々の撮像範囲にわたる動線の分析を行い易くなる。
【0115】
3.効果等
以上のように、本実施形態に係る動線検知システム1は、撮像画像に基づき人物11等の複数の移動体を検知する移動体検知システムの一例である。動線検知システム1は、所定周期で画像を撮像して画像データをそれぞれ生成する複数のカメラ2(複数の撮像装置)と、各カメラによる画像データに画像認識を行って、各画像データが示す撮像画像における移動体をそれぞれ検知する複数の動線抽出サーバ8(複数の画像認識装置)と、各カメラから各動線抽出サーバへ供給される画像データを管理する混雑管理サーバ7(情報管理装置)とを備える。混雑管理サーバ7は、各カメラ2-1,2-2,2-3及び動線抽出サーバ8-1,8-2,8-3とデータ通信を行う通信インタフェース75(通信部)と、通信インタフェース75の動作を制御する制御部70とを備える。制御部70は、カメラ2-1,2-2,2-3毎に各画像データが示す撮像画像の範囲内に移動体が局在する数量を示す混雑情報を、例えば混雑情報テーブルT1のように管理し(S1)、混雑情報が示す混雑度などの数量の大きさに応じて、複数のカメラ2による画像データを分配して各動線抽出サーバ8-1,8-2,8-3に供給するように通信インタフェース75を制御する(S2)。
【0116】
以上の動線検知システム1によると、混雑情報が示す数量の大きさに応じて、複数のカメラ2による画像データを分配して複数の動線抽出サーバ8に供給する。これにより、複数の動線抽出サーバ8において移動体を検知する処理を効率良く行うことができる。
【0117】
本実施形態において、制御部70は、画像分配部72として機能して、複数のカメラ2による画像データにおいて混雑情報が所定量以上の数量を示す画像データに、複数の分配先の動線抽出サーバを設定する(S2)。これにより、複数の動線抽出サーバ8の一部において画像認識を行って移動体を検知する処理の負荷が高くなることを抑制し、複数の動線抽出サーバ8における処理を効率良く行うことができる。
【0118】
本実施形態において、制御部70は、画像分配部72として機能して、1つの画像データが示す撮像画像を複数の領域に分割する複数の分割データを、複数の分配先の動線抽出サーバに別個に供給するように、通信インタフェース75を制御する(S2)。これにより、各動線抽出サーバ8-1,8-2,8-3における処理の負荷を同程度に分散させ易くすることができる。
【0119】
本実施形態において、各動線抽出サーバ8-1,8-2,8-3は、移動体を繰り返し検知して、移動体による動線を示す動線情報の一例として個別動線情報L1,L2,L3を生成する(S3)。なお、各動線抽出サーバ8-1,8-2,8-3は、例えば画像認識のみを行い、それぞれ通信インタフェース85を介して移動体の検知結果を送信してもよい。この場合、動線情報の生成は、例えば検知結果を受信した動線結合サーバ9または動線検知システム1の外部の情報処理装置により行われてもよい。
【0120】
本実施形態の動線検知システム1は、各動線抽出サーバ8-1,8-2,8-3により生成された個別動線情報L1,L2,L3に基づいて、複数のカメラ2により撮像される範囲の全体において移動体の動線を示す情報の一例として全体動線情報L0を生成する(S4)、動線結合サーバ9(情報統合装置)をさらに備える。これにより、例えばユーザ3が複数のカメラ2による撮像範囲の全体における動線を分析することができる。
【0121】
本実施形態において、制御部70は、各カメラ2-1,2-2,2-3によって順次撮像される複数フレームの画像データに基づいて、撮像画像における移動体の動き量の一例として動き差分を算出して、算出した動き差分に基づいて、混雑情報を生成する(S1)。これにより、小さい計算量で算出可能な動き差分を用いることで、混雑管理サーバ7の処理負荷を抑えながら、最新のフレームに基づく情報を含めて混雑情報を生成することができる。
【0122】
本実施形態の混雑管理サーバ7は、複数のカメラ2と、各カメラ2-1,2-2,2-3による画像データに基づいて各画像データが示す撮像画像における複数の移動体をそれぞれ認識する複数の動線抽出サーバ8とを備えた動線検知システム1における情報管理装置の一例である。混雑管理サーバ7は、各カメラ2-1,2-2,2-3及び各動線抽出サーバ8-1,8-2,8-3とデータ通信を行う通信インタフェース75と、各カメラ2-1,2-2,2-3から各動線抽出サーバ8-1,8-2,8-3へ供給される画像データを管理するように、通信インタフェース75の動作を制御する制御部70とを備える。制御部70は、カメラ2-1,2-2,2-3毎に各画像データが示す撮像画像の範囲内に移動体が局在する混雑情報を管理し(S1)、混雑情報が示す数量の大きさに応じて、複数のカメラ2による画像データを分配して各動線抽出サーバ8-1,8-2,8-3に供給するように通信インタフェース75を制御する(S2)。
【0123】
以上の混雑管理サーバ7によると、動線検知システム1において、複数の動線抽出サーバ8が移動体を認識する処理を効率良く行うことができる。
【0124】
(実施形態2)
以下、
図15を用いて本開示の実施形態2を説明する。実施形態2では、複数のカメラ2間の位置関係を利用して、混雑情報及び画像データの分配を管理する混雑管理サーバ7の動作を説明する。
【0125】
以下、実施形態1に係る動線検知システム1及び混雑管理サーバ7と同様の構成、動作の説明は適宜省略して、本実施形態に係る動線検知システム1及び混雑管理サーバ7について説明する。
【0126】
図15は、本実施形態における複数のカメラ間での混雑状態の伝搬を説明するための図である。
図15(A)は、複数のカメラ2の隣接情報を例示する。当該隣接情報は、複数のカメラ2が環境6に配置された状態におけるカメラ間の位置関係を示す配置情報の一例である。
【0127】
図15(A)では、複数のカメラ2において隣接するカメラの関係を実線で図示している。例えば、
図15(A)の図示では、カメラ2-1がカメラ2-2,2-3と隣接する。隣接情報は、例えば予め混雑管理サーバ7の記憶部74に格納される。
図15(B)は、
図15(A)の隣接情報に基づく本実施形態の混雑判定処理を説明した図である。
【0128】
本実施形態において、混雑管理サーバ7の混雑判定部71は、まず、複数のカメラ2における1つのカメラについて、例えば実施形態1と同様に当該カメラの画像データから混雑情報を生成する。なお、本実施形態の混雑情報は、特に動き差分データを含まず、カメラIDと混雑フラグとを対応付けた情報であればよい。
図15(B)は、カメラ2-1の混雑情報が生成され、当該混雑情報における混雑フラグが「オン」である場合の例を示す。
【0129】
混雑判定部71は、次に、複数のカメラ2の隣接情報に基づき、混雑情報の混雑フラグが「オン」であるカメラに隣接するカメラについての混雑情報を更新する。混雑フラグが「オン」のカメラに隣接するカメラは、今後、混雑状態となる可能性が高いと考えられる。そこで、本実施形態の混雑判定部71は、混雑フラグとは別のフラグなどにより、上記隣接するカメラが「混雑予定」であることを示す混雑情報を生成する。
図15(B)の例では、カメラ2-1に隣接するカメラ2-2,2-3が「混雑予定」に設定される。
【0130】
混雑判定部71は、「混雑予定」であるカメラについて、例えば現在のフレームから所定のフレーム数後に、混雑フラグを「オン」に変更し、画像分配部72の処理対象に設定する。所定のフレーム数は、隣接するカメラの撮像範囲における混雑が伝搬することが想定される期間を示す。当該フレーム数は、複数の動線抽出サーバ8における動線抽出処理の認識対象である移動体に応じて設定されてもよい。
【0131】
混雑判定部71は、複数のカメラ2における混雑情報に基づき、複数のカメラ2によるフレーム周期で実行される混雑判定処理の度に、各カメラの混雑フラグを更新する。なお、混雑フラグが「オン」であるカメラについて、例えば現在のフレームから所定のフレーム数後に、他の混雑フラグが「オン」のカメラと隣接していなければ、混雑フラグが「オフ」に更新されてもよい。
【0132】
以上の処理によると、複数のカメラ2における各カメラの隣接情報に基づき、混雑情報の混雑フラグが更新され、人物11といった移動体による混雑の状態の伝搬を反映するような混雑判定処理を実行することができる。これにより画像分配処理では、複数のカメラ2において混雑フラグが「オン」のカメラに隣接するカメラの画像を予め分割して、複数の動線抽出サーバ8に分配することができ、リアルタイムでの動線抽出処理を行い易くすることができる。
【0133】
以上のように、本実施形態に係る混雑管理サーバ7の制御部70は、混雑判定部71として機能して、複数のカメラ2の配置に関する情報の一例として隣接情報に基づき、混雑情報を更新する(
図15(A),(B)参照)。これにより、例えば各カメラの撮像範囲に実際に移動体が移動する前に、画像の分割を開始することができる。
【0134】
(実施形態3)
以下、
図16を用いて本開示の実施形態3を説明する。実施形態1では、混雑管理サーバ7において、混雑判定部71による判定結果の混雑フラグに基づいて画像分配部72が動作する例を説明した。実施形態3では、画像分配部72は特に混雑フラグを用いずに、まず複数のカメラ2における全てのカメラの画像を分割し、混雑情報に応じて分配する混雑管理サーバ7を説明する。
【0135】
本実施形態の混雑管理サーバ7における画像分配部72の動作を、
図16を用いて説明する。
図16は、実施形態3の画像分配部72による画像分配処理を例示するフローチャートである。以下では、実施形態1の画像分配処理(
図10)と同様の処理の説明は適宜、省略する。
【0136】
まず、本実施形態の混雑管理サーバ7における画像分配部72としての制御部70は、複数のカメラ2の画像データを取得する(S20A)。
【0137】
制御部70は、取得した各カメラの画像データに基づき、各々の撮像画像における混雑度を算出する(S50)。制御部70は、例えば実施形態1の混雑判定処理(
図7)と同様に混雑度を算出する。制御部70は、各カメラの混雑度の平均として、全カメラについての平均的な混雑度を示す平均混雑度を算出する(S51)。
【0138】
制御部70は、複数のカメラ2から1つのカメラiを選択して(S21)、カメラiの画像データが示す画像を所定の分割数に分割する(S23A)。所定の分割数は、例えば
図10のステップS23と同様に設定される。制御部70は、分割画像毎にステップS50と同様に混雑度を算出して各分割画像の画像データと対応付け、例えば内部メモリに保持する。所定の分割数は、ステップS51の平均混雑度に応じて、分割後の画像データにおける混雑度が平均混雑度より小さくなるように、適宜設定されてもよい。
【0139】
次に、制御部70は、カメラiの分割画像についての混雑度と平均混雑度に基づき、複数の動線抽出サーバ8から分割画像の分配先を決定する(S24A)。具体的には、制御部70は、複数の動線抽出サーバ8の各々について、分配する分割画像の混雑度の合計値が平均混雑度と同程度になるように、分配先を決定する。制御部70は、例えば、分割画像の混雑度の合計値が平均混雑度より小さくなるように分配を行う。
【0140】
制御部70は、複数のカメラ2における全てのカメラを選択するまで(S25でNO)、ステップS21~S24Aを繰り返す。全てのカメラが選択されると(S25でYES)、制御部70は、複数のカメラ2の各カメラの分割画像を示す画像データを、複数の動線抽出サーバ8から、ステップS24Aで分配先に決定された動線抽出サーバに送信する(S26A)。
【0141】
画像分配部72は、複数の動線抽出サーバ8に画像データを送信(S26A)して、本フローチャートに示す処理を終了する。
【0142】
以上の処理によると、本実施形態の画像分配部72は、複数のカメラ2における平均混雑度を算出し(S51)、全てのカメラについて、画像を分割して(S23A)、分割画像の混雑度と平均混雑度といった混雑情報に基づき複数の動線抽出サーバ8に分配する(S24A)。これにより、複数の動線抽出サーバ8の各々における動線抽出処理での負荷が、均等に近づくように複数のカメラ2の画像を分配することができ、リアルタイムに動線抽出処理を実行し易くなる。
【0143】
また、本実施形態のステップS50では、混雑判定部71から取得した現在のフレームを示す画像データにおいて混雑度を算出したが、これに限らず、例えば、過去のフレームの画像データにおける混雑度を算出してもよく、ステップS23Aでは、過去のフレームにおける混雑度に基づき、現在のフレームの画像が分割されてもよい。
【0144】
以上のように、本実施形態に係る混雑管理サーバ7の制御部70は、画像分配部72として機能して、複数のカメラ2による各々の画像データにおいて、各画像データが示す画像を分割する領域毎に、当該領域における混雑情報を示す混雑度を算出する(S23A)。制御部70は、算出した混雑度に基づき、複数のカメラ2による各々の画像データを複数の動線抽出サーバ8に分配して送信する(S24A,S26A)。なお、本実施形態において制御部70は、複数のカメラ2により撮像された動画の過去のフレームの画像データから算出した混雑度に基づき、現在のフレームの画像を分割及び分配してもよい。
【0145】
(実施形態4)
以下、
図17を用いて本開示の実施形態4を説明する。実施形態1では、混雑管理サーバ7において、画像データにおける動き差分に基づく混雑度及び混雑情報を用いる動作例を説明した。実施形態4では、複数の動線抽出サーバ8の検出結果に基づく混雑情報を用いる混雑管理サーバ7の動作例を説明する。
【0146】
図17は、実施形態4における混雑判定処理を例示するフローチャートである。以下、実施形態1の混雑判定処理(
図7)と同様の処理は適宜、省略して説明する。
【0147】
本実施形態の混雑判定部71は、複数の動線抽出サーバ8から、例えば通信インタフェース75を介して、複数のカメラ2の各々の画像データにおける認識対象の検出結果を取得する(S60)。具体的には、混雑判定部71は、複数のカメラ2の各カメラについて、過去のフレームの画像データにおいて検出された認識対象の個数を取得する。過去のフレームは、例えば混雑判定処理が実行されるフレーム周期だけ前に複数の動線抽出サーバ8に送信されたフレームである。
【0148】
混雑判定部71は、検出結果として取得した認識対象の個数に基づき、複数のカメラ2の混雑情報を生成する(S12A)。例えば、本実施形態の混雑判定部71は、各カメラのカメラIDと、認識対象の個数が所定数以上か否かにより混雑または非混雑を判定した混雑フラグと、認識対象の個数とを対応付けた混雑情報を生成する。所定数は、実施形態1のステップS12における所定の閾値と同様の観点において、十分に小さい数である。
【0149】
以上の処理によると、本実施形態の混雑判定部71は、複数のカメラ2の各々について、過去のフレームの画像データにおける認識対象の個数に基づき、混雑情報を生成する。これにより画像分配部72は、当該混雑情報に基づき、現在のフレームの画像データに画像分配処理を行う。
【0150】
以上のように、本実施形態に係る混雑管理サーバ7の制御部70は、混雑判定部71として機能して、複数の動線抽出サーバ8の各動線抽出サーバによって検知された人物11等の移動体の個体数を取得して(S60)、取得した移動体の個体数に基づき、混雑情報を生成する(S12A)。これにより、各動線抽出サーバによる検知結果を用いることで、混雑管理サーバ7が行う処理を軽減して、混雑判定処理を効率よく実行することができる。
【0151】
(他の実施形態)
以上のように、本出願において開示する技術の例示として、実施形態1~4を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置換、付加、省略などを行った実施の形態にも適用可能である。また、上記各実施形態で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。そこで、以下、他の実施形態を例示する。
【0152】
上記の実施形態では、動線抽出部81は、混雑管理サーバ7から画像データを取得した(S30)。本実施形態の動線抽出部81は、画像データに加えて、混雑情報を取得してもよい。さらに本実施形態において、動線抽出サーバ8は、例えば通信インタフェース85を介してカメラ2と通信可能に構成されてもよい。これにより動線抽出部81は、例えば取得した混雑情報に応じて、分割画像以外の画像データを、混雑管理サーバ7を介さずにカメラ2から直接取得してもよい。
【0153】
実施形態1では、画像分配処理(S2)において、各カメラ2に対応する動線抽出サーバ8は、予め当該カメラ2の画像データの供給先に設定された(S24)。本実施形態の画像分配処理では、複数のカメラ2の画像データが、1つの動線抽出サーバ8に供給されてもよい。例えば、本実施形態の画像分配部72は、非混雑状態と判定されたカメラ2-1,2-2の画像データ21,22を何れも動線抽出サーバ8-1に送信してもよい。この場合、画像分配部72は、混雑状態と判定されたカメラ2-3の画像データ23は、撮像画像I23を分割するように、動線抽出サーバ8-2、8-3に分配してもよい。
【0154】
上記の画像分配処理によれば、例えば撮像画像I23における混雑度が、撮像画像I21,I22の混雑度より特に高い場合であっても、複数の動線抽出サーバ8-1~8-3の間で処理負荷を分散させ易くすることができる。
【0155】
実施形態1では、動線検知システム1において、各カメラ2-1,2-2,2-3に対応して各動線抽出サーバ8-1,8-2,8-3が設けられた。本実施形態の動線検知システム1では、複数のカメラ2の個数と複数の動線抽出サーバ8の個数が同数でなくてもよく、例えば複数のカメラ2の個数より多い個数の動線抽出サーバ8が設けられてもよい。
【0156】
実施形態1では、混雑判定部71は、画像データに基づく動き差分を用いて、混雑情報を生成した(S11,S12)。本実施形態の混雑判定部71は、動き差分に代えて、動線結合サーバ9の記憶部94に格納された全体動線情報L0を取得して、全体動線情報L0における過去の動線情報を用いてもよい。これにより混雑判定部71は、複数のカメラ2におけるカメラ毎に、例えば過去の動線情報における認識対象の位置及び速度と、各カメラの撮像範囲に基づき、混雑または非混雑の混雑フラグを混雑情報として生成してもよい。
【0157】
実施形態1では、画像分配部72は、動き差分による混雑情報の混雑フラグに基づき、画像データを分割(S22,S23)及び分配(S24)した。本実施形態の画像分配部72は、混雑フラグに代えて、動線結合サーバ9の記憶部94に格納された全体動線情報L0を取得して、全体動線情報L0における過去の動線情報を用いてもよい。画像分配部72は、複数のカメラ2の各カメラの画像について、例えば過去の動線情報における人物11といった認識対象の位置に基づき、各分割画像における人物の数が同程度になるように分割し、各分配先における分割画像内の人物の総数が同程度になるように分配先を決定してもよい。
【0158】
実施形態2では、複数のカメラ2の隣接情報に基づいて各カメラの混雑フラグを設定した。本実施形態の混雑管理サーバ7は、特に上記に限らず、混雑を予測して画像データを分配するための種々の情報を用いて混雑情報を更新してもよい。例えば、本実施形態の混雑判定部71は、隣接情報の代わりに、複数のカメラ2の各々の撮像範囲における事前情報に基づいて混雑フラグを設定してもよい。事前情報としては、例えば、店舗の売り場のような環境6において、時間帯を分けて特定の販売を行うスケジュールを示す情報など、本システム1が適用される環境6現場の各種知識を用いることができる。
【0159】
上記のような事前情報は、例えば、複数のカメラ2における特定のカメラの撮像範囲において混雑フラグが「オン」である場合に、別のカメラの撮像範囲の混雑フラグが所定時間後に「オン」となることを示すように規定される。また、事前情報は、特定のカメラの撮像範囲において特定の時間帯に混雑フラグが「オン」であることを示すように規定されてもよい。これにより、隣接していないカメラであっても、混雑フラグを設定して、画像分配部72による画像の分割及び分配に用いることができる。以上のような事前情報は、人物11等の移動体が移動する傾向に関する情報の一例である。
【0160】
また、本実施形態では、過去の動線情報といった事前情報の機械学習により混雑予測を行う学習済みモデルを適用して、本システム1における混雑状態の管理が行われてもよい。こうした機械学習においては、例えば本システム1を用いる際の時刻、曜日、季節、天気および環境6に関する各種イベントなどを示す付加情報が利用されてもよい。
【0161】
上記の実施形態では、移動体検知システムの一例として動線検知システム1を説明した。本実施形態において、移動体検知システムは、特に動線検知システム1に限らず、例えば複数のカメラにより人物などの移動体の動きを監視するための監視システム、または追跡するための追跡システムに適用されてもよい。また、本実施形態において、移動体検知システムの検知対象は、特に人物に限らず、種々の移動体であってもよい。例えば、検知対象の移動体は、店舗のような環境6におけるカートであってもよいし、工場などの環境6における自動搬送機であってもよいし、各種の車両であってもよい。
【0162】
上記の実施形態では、画像認識装置の一例として、動線抽出サーバ8を説明した。本実施形態において、画像認識装置は、特に動線抽出サーバ8に限らず、例えばGPUまたはTPUとして構成されてもよい。また、画像認識の処理に深層学習による学習済みモデルを適用する場合、画像認識装置は、深層学習の処理に特化した専用のハードウェアとして構成されてもよい。
【0163】
上記の実施形態では、情報管理装置の一例として混雑管理サーバ7を説明した。本実施形態において、情報管理装置は、例えばPCであってもよい。また、情報統合装置及び画像認識装置も同様に、例えばそれぞれPCであってもよい。
【0164】
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
【0165】
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【0166】
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
【産業上の利用可能性】
【0167】
本開示は、複数の撮像装置に基づく情報をリアルタイムに処理する種々の技術に適用可能であり、例えば動線検知システム、監視システム及び追跡システムなどの移動体検知システムに適用可能である。