(57)【要約】【課題】映像から計算される動き情報から群集の滞留を特定することを目的とする。【解決手段】滞留判定装置１０では、積算部２１が、映像から計算された被写体の動きを示す動きベクトル３１を積算して合成ベクトル３２を生成する。乱雑度計算部２３が、積算部２１によって生成された合成ベクトル３２のノルムの逆数を乱雑度３３として計算する。そして、判定部２４が、乱雑度計算部２３によって計算された乱雑度３３に応じて、被写体が滞留しているか否かを判定する。【選択図】図１
2017151875.tif 000002
【特許請求の範囲】
【請求項１】
映像から計算された被写体の動きを示す動きベクトルを積算して合成ベクトルを生成する積算部と、
前記積算部によって生成された前記合成ベクトルのノルムの逆数を乱雑度として計算する乱雑度計算部と、
前記乱雑度計算部によって計算された前記乱雑度に応じて、前記被写体が滞留しているか否かを判定する判定部と
を備える滞留判定装置。
【請求項２】
前記積算部は、映像に含まれる複数の画素ブロックそれぞれを対象ブロックとして、前記対象ブロックについての前記合成ベクトルを計算し、
前記判定部は、前記対象ブロックについての前記合成ベクトルから計算された前記乱雑度に応じて、前記対象ブロックにおいて前記被写体が滞留しているか否かを判定する
請求項１に記載の滞留判定装置。
【請求項３】
前記積算部は、前記動きベクトルのノルムを積算して合計ノルムを計算し、
前記乱雑度判定部は、前記合成ベクトルのノルムを前記合計ノルムで除した値の逆数を前記乱雑度として計算する
請求項１又は２に記載の滞留判定装置。
【請求項４】
前記動きベクトルは、前記映像のフレーム間における前記被写体の動きを示し、
前記積算部は、基準フレーム数分の前記動きベクトルを積算して前記合成ベクトルを生成する
請求項１から３までのいずれか１項に記載の滞留判定装置。
【請求項５】
映像から計算された被写体の動きを示す動きベクトルを積算して合成ベクトルを生成する積算処理と、
前記積算処理によって生成された前記合成ベクトルのノルムの逆数を乱雑度として計算する乱雑度計算処理と、
前記乱雑度計算処理によって計算された前記乱雑度に応じて、前記被写体が滞留しているか否かを判定する判定処理と
をコンピュータに実行させる滞留判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、映像から被写体が滞留している状態を検知する技術に関する。
【背景技術】
【０００２】
音楽イベントと花火大会といった多くの人が集まる環境において群集の滞留は雑踏事故につながる危険がある。雑踏事故防止のため、監視カメラ等の映像による群集の滞留状態把握は、有効である。しかし、監視範囲が広範であるほどカメラ設置台数が増加し、映像を見る人間の負荷が高くなることにより、事故の予兆を見逃すといったリスクが高まる。
そのため、特許文献１に記載された動体検知、非特許文献１に記載された映像解析による事故予兆の検知といった技術が提案されている。
【０００３】
映像から被写体の動きを示す動きベクトルを計算する技術が知られている。非特許文献２には、画像から特徴点を抽出し、フレーム間で特徴点の移動を表すオプティカルフローと呼ばれるベクトルを算出する技術が記載されている。
映像から計算された動きベクトルは、映像そのものよりも情報量が小さいが、動物体の動きを表せる。そのため、動きベクトルは、映像監視用途などで幅広く使われており、解析目的に対する汎用性も高い。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−３２７６０号公報
【非特許文献】
【０００５】
【非特許文献１】Ｓ．  Ａｂｄｕｌｌａ、  ｅｔ  ａｌ．，  “Ｒｅｃｅｎｔ  ｓｕｒｖｅｙ  ｏｎ  ｃｒｏｗｄ  ｄｅｎｓｉｔｙ  ｅｓｔｉｍａｔｉｏｎ  ａｎｄ  ｃｏｕｎｔｉｎｇ  ｆｏｒ  ｖｉｓｕａｌ  ｓｕｒｖｅｉｌｌａｎｃｅ”、  Ｅｎｇｉｎｅｅｒｉｎｇ  Ａｐｐｌｉｃａｔｉｏｎｓ  ｏｆ  Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ、  ４１、  １０３−１１４  （２０１５）
【非特許文献２】Ｂ．  Ｄ．  Ｌｕｃａｓ  ａｎｄ  Ｔ。  Ｋａｎａｄｅ、  “Ａｎ  ｉｔｅｒａｔｉｖｅ  ｉｍａｇｅ  ｒｅｇｉｓｔｒａｔｉｏｎ  ｔｅｃｈｎｉｑｕｅ  ｗｉｔｈ  ａｎ  ａｐｐｌｉｃａｔｉｏｎ  ｔｏ  ｓｔｅｒｅｏ  ｖｉｓｉｏｎ”、  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｉｍａｇｉｎｇ  Ｕｎｄｅｒｓｔａｎｄｉｎｇ  Ｗｏｒｋｓｈｏｐ、  ｐ．  １２１−１３０  （１９８１）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
汎用性の高い特徴量の１つである動きベクトルから群集の滞留状態を検知する技術は存在しなかった。
この発明は、映像から計算される動きベクトルから群集の滞留を特定することを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る滞留判定装置は、
映像から計算された被写体の動きを示す動きベクトルを積算して合成ベクトルを生成する積算部と、
前記積算部によって生成された前記合成ベクトルのノルムの逆数を乱雑度として計算する乱雑度計算部と、
前記乱雑度計算部によって計算された前記乱雑度に応じて、前記被写体が滞留しているか否かを判定する判定部と
を備える。
【発明の効果】
【０００８】
この発明では、被写体の動きを示す動きベクトルから乱雑度を計算して、被写体が滞留しているか否かを判定する。これにより、動きベクトルから群集の滞留を特定することが可能である。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係る滞留判定装置１０の構成図。
【図２】実施の形態１に係る滞留判定装置１０の動作を示すフローチャート。
【図３】実施の形態１に係る合成ベクトル３２の説明図。
【図４】実施の形態１に係る滞留状態にある群集に対して算出される動きベクトル３１の説明図。
【図５】実施の形態１に係る滞留状態にない群集に対して算出される動きベクトル３１の説明図。
【図６】実施の形態１に係る画素ブロックにおける滞留発生時間の説明図。
【図７】変形例２に係る滞留判定装置１０の構成図。
【発明を実施するための形態】
【００１０】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１を参照して、実施の形態１に係る滞留判定装置１０の構成を説明する。
滞留判定装置１０は、コンピュータである。
滞留判定装置１０は、プロセッサ１１と、記憶装置１２と、入力インタフェース１３と、出力インタフェース１４とのハードウェアを備える。プロセッサ１１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１１】
プロセッサ１１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ１１は、具体例としては、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
【００１２】
記憶装置１２は、メモリ１２１と、ストレージ１２２とを備える。メモリ１２１は、具体例としては、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。ストレージ１２２は、具体例としては、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。また、ストレージ１２２は、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカード、ＣＦ（ＣｏｍｐａｃｔＦｌａｓｈ）、ＮＡＮＤフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤといった可搬記憶媒体であってもよい。
【００１３】
入力インタフェース１３は、キーボード、マウスといった入力装置と、外部サーバといった外部装置との少なくともいずれかを接続する装置である。入力インタフェース１３は、具体例としては、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＩＥＥＥ１３９４の接続端子、又は、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
【００１４】
出力インタフェース１４は、ディスプレイといった出力装置とを接続する装置である。出力インタフェース１４は、具体例としては、ＵＳＢ、ＨＤＭＩ（登録商標、Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）、ＩＥＥＥ１３９４の接続端子、又は、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
【００１５】
滞留判定装置１０は、機能構成要素として、積算部２１と、カウンタ２２と、乱雑度計算部２３と、判定部２４とを備える。積算部２１と、カウンタ２２と、乱雑度計算部２３と、判定部２４との各部の機能はソフトウェアにより実現される。
記憶装置１２のストレージ１２２には、滞留判定装置１０の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ１１によりメモリ１２１に読み込まれ、プロセッサ１１によって実行される。これにより、滞留判定装置１０の各部の機能が実現される。
【００１６】
プロセッサ１１によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、メモリ１２１、又は、プロセッサ１１内のレジスタ又はキャッシュメモリに記憶される。以下の説明では、プロセッサ１１によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、メモリ１２１に記憶されるものとして説明する。
【００１７】
プロセッサ１１によって実現される各機能を実現するプログラムは、記憶装置１２に記憶されているとした。しかし、このプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤといった可搬記憶媒体に記憶されてもよい。
【００１８】
図１では、プロセッサ１１は、１つだけ示されていた。しかし、プロセッサ１１は、複数であってもよく、複数のプロセッサ１１が、各機能を実現するプログラムを連携して実行してもよい。
【００１９】
＊＊＊動作の説明＊＊＊
図２から図６を参照して、実施の形態１に係る滞留判定装置１０の動作を説明する。
実施の形態１に係る滞留判定装置１０の動作は、実施の形態１に係る滞留判定方法に相当する。また、実施の形態１に係る滞留判定装置１０の動作は、実施の形態１に係る滞留判定プログラムの処理に相当する。
【００２０】
（図２のステップＳＴ１：受付処理）
積算部２１は、入力インタフェース１３を介して映像から計算された動きベクトル３１の入力を受け付ける。
動きベクトル３１は、対象とするフレームと直前のフレームとの間の被写体の動きを表す２次元ベクトルであり、映像の輝度勾配等から計算されるオプティカルフロー、符号化映像に含まれる動きベクトルといった２次元ベクトルである。動きベクトル３１は、映像のフレーム毎に、映像が示す領域に存在する全ての被写体それぞれについて計算される。実施の形態１では、被写体は人である。
【００２１】
（図２のステップＳＴ２：積算処理）
積算部２１は、映像が示す領域を分割した、複数の画素から構成される画素ブロック毎にメモリ１２１に記憶された合成ベクトル３２に、ステップＳＴ１で受け付けられた動きベクトル３１を加える。合成ベクトル３２は、初期値として各次元のノルムが０に設定されている。つまり、図３に示すように、積算部２１は、画素ブロック毎に複数のフレームの動きベクトル３１を積算して合成ベクトル３２を生成する。これは、積算部２１は、フレーム間で空間的に同一箇所にある動きベクトル３１を、次元毎に積算することに相当する。
なお、各画素ブロックは、領域が重複しないように選択されてもよいし、一部が重複するように選択されてもよい。
【００２２】
（図２のステップＳＴ３：加算処理）
カウンタ２２は、メモリ１２１に記憶された入力済フレーム数に１を加算する。
【００２３】
（図２のステップＳＴ４：カウント判定処理）
カウンタ２２は、メモリ１２１に記憶された入力済フレーム数が基準フレーム数と一致するか否かを判定する。基準フレーム数は、映像のフレームレートと、被写体の平均的な移動速度といった情報に応じて定められ、メモリ１２１に記憶されている。
カウンタ２２は、入力済フレーム数が基準フレーム数と一致する場合には、処理をステップＳＴ５に進める。一方、カウンタ２２は、入力済フレーム数が基準フレーム数と一致しない場合には、処理をステップＳＴ１に戻す。
【００２４】
続いて、各画素ブロックを順に対象ブロックとして、ステップＳＴ５からステップＳＴ８までの処理を含むループ１が繰り返し実行される。
【００２５】
（図２のステップＳＴ５：ゼロ判定処理）
乱雑度計算部２３は、ステップＳＴ２で生成された対象ブロックについての合成ベクトル３２をメモリ１２１から読み出す。そして、乱雑度計算部２３は、対象ブロックについての合成ベクトル３２のノルムが０であるか否かを判定する。
乱雑度計算部２３は、合成ベクトル３２のノルムが０である場合には、処理をループ１内におけるステップＳＴ８の後に進める。一方、乱雑度計算部２３は、合成ベクトル３２のノルムが０でない場合には、処理をステップＳＴ６に進める。
【００２６】
（図２のステップＳＴ６：乱雑度計算処理）
乱雑度計算部２３は、対象ブロックについての合成ベクトル３２のノルムの逆数を乱雑度３３として計算し、メモリ１２１に書き込む。
図４に示すように、滞留状態にある群集に対して算出される動きベクトル３１は、時間的に乱雑である。つまり、滞留状態にある群集に対して算出される動きベクトル３１は、フレーム毎に方向が異なる場合が多い。これは、静止している人は、乱雑な動きをする傾向が強いためである。このようになるのは、起立状態にある人は完全に静止できず、前後左右に揺れてしまう傾向があることに起因する。そのため、動きベクトル３１の合成ベクトル３２のノルムは小さくなり、その逆数である乱雑度３３は大きくなる。
一方、図５に示すように、スムーズに動く群集に対して算出される動きベクトル３１は、方向が一定である場合が多い。そのため、動きベクトル３１の合成ベクトル３２のノルムは大きくなり、乱雑度３３は小さくなる。
また、被写体がいない場合、動きベクトル３１が算出されないため、合成ベクトル３２のノルムは０になり、乱雑度３３が算出されない。
【００２７】
（図２のステップＳＴ７：滞留判定処理）
判定部２４は、ステップＳＴ６で計算された乱雑度３３をメモリ１２１から読み出し、乱雑度３３が閾値を上回っているか否かを判定する。閾値は、被写体の平均的な移動速度といった情報に応じて定められ、メモリ１２１に記憶されている。
判定部２４は、乱雑度３３が閾値を上回っている場合には、処理をステップＳＴ８に進める。一方、判定部２４は、乱雑度３３が閾値を上回っていない場合には、処理をループ１内におけるステップＳＴ８の後に進める。
【００２８】
（図２のステップＳＴ８：位置記憶処理）
判定部２４は、対象ブロックで滞留が発生していると判定し、対象ブロックの位置を示す位置情報３４をメモリ１２１に書き込む。
【００２９】
（図２のステップＳＴ９：出力処理）
判定部２４は、位置情報３４をメモリ１２１から読み出し、出力インタフェース１４を介して出力する。
【００３０】
（図２のステップＳＴ１０：初期化処理）
積算部２１は、各画素ブロックについての合成ベクトル３２の各次元のノルムを０に初期化する。また、カウンタ２２は、入力済フレーム数を０に初期化する。
【００３１】
＊＊＊実施の形態１の効果＊＊＊
以上のように、実施の形態１に係る滞留判定装置１０は、映像から計算される動きベクトル３１を積算して合成ベクトル３２を生成し、合成ベクトル３２のノルムの逆数を乱雑度３３とする。そして、乱雑度３３が大きいか否かにより群集の滞留が発生しているか否かを判定する。これにより、動きベクトル３１のみから群集の滞留が発生しているか否かを特定することが可能である。
【００３２】
なお、上記説明では、位置情報３４を出力することにより、滞留が発生している位置を特定できるようにした。しかし、ある画素ブロックについての乱雑度３３を時系列にメモリ１２１から読み出せば、図６に示すようにその画素ブロックにおける滞留が発生している時間を特定することができる。
【００３３】
＊＊＊他の構成＊＊＊
＜変形例１＞
実施の形態１では、合成ベクトル３２のノルムの逆数を乱雑度３３とした。しかし、変形例１として、合成ベクトル３２のノルムを、動きベクトル３１のノルムを積算した合計ノルムで除した値の逆数を乱雑度３３としてもよい。
具体的には、数１により乱雑度３３を計算してもよい。数１において、εは乱雑度３３であり、ｖ→ｊはｊ番目の動きベクトル３１である。εには、例えば対数等のフィルタをかけてもよい。
【数１】
2017151875.tif 000003
【００３４】
実施の形態１のように、合成ベクトル３２のノルムの逆数を乱雑度３３とした場合、動きベクトル３１のノルムが短い場合には、一定方向に進んでいる場合であっても滞留と判定される恐れがある。これに対して、変形例１のように、合成ベクトル３２のノルムを、動きベクトル３１のノルムを積算した合計ノルムで除した値の逆数を乱雑度３３とすることにより、移動する方向が乱雑な状態の場合にだけ、滞留と判定されるようになる。
【００３５】
＜変形例２＞
実施の形態１では、滞留判定装置１０の各部の機能がソフトウェアで実現された。しかし、変形例２として、滞留判定装置１０の各部の機能はハードウェアで実現されてもよい。この変形例２について、実施の形態１と異なる点を説明する。
【００３６】
図７を参照して、変形例２に係る滞留判定装置１０の構成を説明する。
各部の機能がハードウェアで実現される場合、滞留判定装置１０は、プロセッサ１１と記憶装置１２とに代えて、処理回路１５を備える。処理回路１５は、滞留判定装置１０の各部の機能及び記憶装置１２の機能を実現する専用の電子回路である。
【００３７】
処理回路１５は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が想定される。
各部の機能を１つの処理回路１５で実現してもよいし、各部の機能を複数の処理回路１５に分散させて実現してもよい。
【００３８】
＜変形例３＞
変形例３として、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、滞留判定装置１０の各部のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
【００３９】
プロセッサ１１と記憶装置１２と処理回路１５とを、総称して「プロセッシングサーキットリー」という。つまり、各部の機能は、プロセッシングサーキットリーにより実現される。
【符号の説明】
【００４０】
１０  滞留判定装置、１１  プロセッサ、１２  記憶装置、１３  入力インタフェース、１４  出力インタフェース、１５  処理回路、２１  積算部、２２  カウンタ、２３  乱雑度計算部、２４  判定部、３１  移動ベクトル、３２  合成ベクトル、３３  乱雑度。
【図１】
2017151875.tif 000004
【図２】
2017151875.tif 000005
【図３】
2017151875.tif 000006
【図４】
2017151875.tif 000007
【図５】
2017151875.tif 000008
【図６】
2017151875.tif 000009
【図７】
2017151875.tif 000010