(57)【要約】【課題】異常な人流に関する情報をユーザに提示可能とすることを目的とする。【解決手段】画像の範囲ごとに群衆の移動ベクトルを取得する取得手段と、取得手段により取得された移動ベクトルに基づいて人流クラスタを生成する生成手段と、生成手段により生成された人流クラスタを正常な人流クラスタと異常な人流クラスタとに分類する分類手段と、正常な人流クラスタと異常な人流クラスタとを視覚的に判別可能な形で画像に重畳して表示する表示手段と、を有する。【選択図】図２
2019067208.tif 000002
【特許請求の範囲】
【請求項１】
画像の範囲ごとに群衆の移動ベクトルを取得する取得手段と、
前記取得手段により取得された移動ベクトルに基づいて人流クラスタを生成する生成手段と、
前記生成手段により生成された人流クラスタを正常な人流クラスタと異常な人流クラスタとに分類する分類手段と、
前記正常な人流クラスタと前記異常な人流クラスタとを視覚的に判別可能な形で前記画像に重畳して表示する表示手段と、
を有する画像処理装置。
【請求項２】
前記生成手段は、前記取得手段により取得された移動ベクトルに基づいて、同じ方向に移動する群衆から方向付き人流クラスタを生成し、
前記表示手段は、前記方向付き人流クラスタを視覚的に判別可能な形で前記画像に重畳して表示する請求項１記載の画像処理装置。
【請求項３】
前記生成手段は、前記取得手段により取得された移動ベクトルに基づいて、同位置に滞留する群衆から滞留クラスタを生成し、
前記表示手段は、前記滞留クラスタを視覚的に判別可能な形で前記画像に重畳して表示する請求項１又は２記載の画像処理装置。
【請求項４】
前記生成手段は、前記取得手段により取得された移動ベクトルに基づいて、乱雑な方向に移動する群衆から乱雑クラスタを生成し、
前記表示手段は、前記乱雑クラスタを視覚的に判別可能な形で前記画像に重畳して表示する請求項１乃至３何れか１項記載の画像処理装置。
【請求項５】
前記生成手段は、生成した人流クラスタを構成する人数を取得し、
前記表示手段は、前記人流クラスタに対し、前記人数を表示する請求項１乃至４何れか１項記載の画像処理装置。
【請求項６】
前記生成手段は、生成した人流クラスタの速度を取得し、
前記表示手段は、前記人流クラスタに対し、前記速度を表示する請求項１乃至４何れか１項記載の画像処理装置。
【請求項７】
前記生成手段は、生成した人流クラスタの方向を取得し、
前記表示手段は、前記人流クラスタに対し、前記方向を表示する請求項１乃至４何れか１項記載の画像処理装置。
【請求項８】
前記分類手段は、前記生成手段により生成された人流クラスタの発生確率に基づき、前記人流クラスタを正常な人流クラスタと異常な人流クラスタとに分類する請求項１乃至７何れか１項記載の画像処理装置。
【請求項９】
前記分類手段は、前記生成手段により生成された前記画像の第１の範囲の人流クラスタと前記生成手段により生成された前記画像の前記第１の範囲の周辺の範囲である第２の範囲の人流クラスタとに基づき、前記第１の範囲の人流クラスタを正常な人流クラスタと異常な人流クラスタとに分類する請求項１乃至７何れか１項記載の画像処理装置。
【請求項１０】
前記取得手段は、時間的に連続する画像間のそれぞれに対して人体検出を施し、検出した人体に対する対応付け処理を行う人体追尾を施すことで群衆の移動ベクトルを取得する請求項１乃至９何れか１項記載の画像処理装置。
【請求項１１】
前記取得手段は、時間的に連続する画像の範囲を入力として、群衆の密度分布と移動ベクトルの分布とを推定する推定器を用いることで群衆の移動ベクトルを取得する請求項１乃至９何れか１項記載の画像処理装置。
【請求項１２】
画像上の座標を地図上の座標に変換することで前記取得手段により取得された移動ベクトルを地図上に変換する変換手段を更に有し、
前記生成手段は、前記地図上の範囲ごとに地図上に変換された移動ベクトルに基づいて人流クラスタを生成し、
前記表示手段は、前記地図上の範囲ごとに前記正常な人流クラスタと前記異常な人流クラスタとを視覚的に判別可能な形で重畳して表示する請求項１乃至１１何れか１項記載の画像処理装置。
【請求項１３】
画像の範囲ごとに群衆の移動ベクトルを取得する取得手段と、
前記取得手段により取得された移動ベクトルに基づいて人流クラスタを生成する生成手段と、
前記生成手段により生成された人流クラスタの異常度を取得する異常度取得手段と、
前記人流クラスタの異常度を視覚的に判別可能な形で前記画像に重畳して表示する表示手段と、
を有する画像処理装置。
【請求項１４】
画像の範囲ごとに群衆の移動ベクトルを取得する取得手段と、
前記取得手段により取得された移動ベクトルに基づいて人流クラスタを生成する生成手段と、
前記生成手段により生成された人流クラスタを正常な人流クラスタと異常な人流クラスタとに分類する分類手段と、
前記分類手段により前記生成手段で生成された人流クラスタが異常な人流クラスタであると分類された場合、異常な人流クラスタの発生を通知する通知手段と、
を有する画像処理装置。
【請求項１５】
前記通知手段は、前記異常な人流クラスタに関する情報を通知する請求項１４記載の画像処理装置。
【請求項１６】
前記生成手段により生成された人流クラスタに関する情報を記憶する記憶手段を更に有する請求項１４又は１５記載の画像処理装置。
【請求項１７】
画像の範囲ごとに群衆の移動ベクトルを取得する取得工程と、
前記取得工程により取得された移動ベクトルに基づいて人流クラスタを生成する生成工程と、
前記生成工程により生成された人流クラスタを正常な人流クラスタと異常な人流クラスタとに分類する分類工程と、
前記正常な人流クラスタと前記異常な人流クラスタとを視覚的に判別可能な形で前記画像に重畳して表示する表示工程と、
を含む画像処理方法。
【請求項１８】
画像の範囲ごとに群衆の移動ベクトルを取得する取得工程と、
前記取得工程により取得された移動ベクトルに基づいて人流クラスタを生成する生成工程と、
前記生成工程により生成された人流クラスタの異常度を取得する異常度取得工程と、
前記人流クラスタの異常度を視覚的に判別可能な形で前記画像に重畳して表示する表示工程と、
を含む画像処理方法。
【請求項１９】
画像の範囲ごとに群衆の移動ベクトルを取得する取得工程と、
前記取得工程により取得された移動ベクトルに基づいて人流クラスタを生成する生成工程と、
前記生成工程により生成された人流クラスタを正常な人流クラスタと異常な人流クラスタとに分類する分類工程と、
前記分類工程により前記生成工程で生成された人流クラスタを異常な人流クラスタであると分類された場合、異常な人流クラスタの発生を通知する通知工程と、
を含む画像処理方法。
【請求項２０】
コンピュータを、請求項１乃至１６何れか１項記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、撮像装置で所定の領域を撮影して、撮影した画像を解析することによって画像中の人流を解析するシステムが提案されている。人流の解析により、通常時の人流の向きと異なる向きに流れる人流の発生や、大勢の群衆の流れに逆らって移動する小規模な一団の発生等をいち早く検出することができる。このようなシステムの活用により、公共領域や大規模商業施設等における予期せぬ損害等の未然防止等の実現が期待されている。
特許文献１は、人物同士が接触するほど密集した群衆の人流を解析し、群衆内に異常な動きが発生したことを検知する技術を開示している。特許文献１の技術では、時系列画像を複数の時空間セグメントに分割し、時空間セグメントのそれぞれに対して動き特徴量を算出し、時空間セグメントごとに、正常セグメントか異常セグメントかの何れかに分類する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−６８５９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、時空間セグメントは、必ずしも群衆を構成する人ひとりひとりと一致するとは限らない。そのため、異常な人流を検出することはできるが、その人流を構成する人数が何人か等の情報を取得することができない問題があった。
【課題を解決するための手段】
【０００５】
本発明の画像処理装置は、画像の範囲ごとに群衆の移動ベクトルを取得する取得手段と、前記取得手段により取得された移動ベクトルに基づいて人流クラスタを生成する生成手段と、前記生成手段により生成された人流クラスタを正常な人流クラスタと異常な人流クラスタとに分類する分類手段と、前記正常な人流クラスタと前記異常な人流クラスタとを視覚的に判別可能な形で前記画像に重畳して表示する表示手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、異常な人流に関する情報をユーザに提示可能とすることができる。
【図面の簡単な説明】
【０００７】
【図１】画像処理装置のハードウェア構成の一例を示す図である。
【図２】画像処理装置の機能構成の一例を示す図である。
【図３】画像処理装置による情報処理の一例を示すフローチャートである。
【図４】画面を小画像に分割する一つの方法を示す図である。
【図５】対応付けの一例を示す図である。
【図６】移動ベクトル抽出部の機能の一例を示す図である。
【図７】人物の密度分布及び移動ベクトルの分布の一例を示す図である。
【図８】階級を区切ったヒストグラムの一例を示す図（その１）である。
【図９】階級を区切ったヒストグラムの一例を示す図（その２）である。
【図１０】人流学習部が学習した人流クラスタの発生確率の一例を示す図である。
【図１１】人流クラスタに対応するアイコンの一例を示す図である。
【図１２】表示部による表示の一例を示す図である。
【図１３】画像処理装置の機能構成の一例を示す図である。
【図１４】画像処理装置による情報処理の一例を示すフローチャートである。
【図１５】座標変換における対応点の一例を示す図である。
【図１６】正常な人流と異常な人流とを視覚的に区別して表示する例を示す図である。
【図１７】画像処理装置の機能構成の一例を示す図である。
【図１８】画像処理装置による情報処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
＜実施形態１＞
図１は、画像処理装置１００のハードウェア構成の一例を示す図である。
画像処理装置１００は、ハードウェア構成として、ＣＰＵ１０、メモリ１１、ネットワークＩ／Ｆ１２、表示装置１３、入力装置１４を含む。ＣＰＵ１０は、画像処理装置１００の全体の制御を司る。メモリ１１は、ＣＰＵ１０が処理に利用するデータ、プログラム等を記憶する。入力装置１４は、マウス、又はボタン等であり、ユーザの操作を画像処理装置１００に入力する。表示装置１３は、液晶表示装置等であり、ＣＰＵ１０による処理の結果等を表示する。ネットワークＩ／Ｆ１２は、画像処理装置１００をネットワークに接続するインタフェースである。ＣＰＵ１０がメモリ１１に記憶されたプログラムに基づき処理を実行することにより、後述する図２の画像処理装置１００の機能構成及び後述する図３のフローチャートの処理が実現される。
【００１０】
図２は、画像処理装置１００の機能構成の一例を示す図である。
画像処理装置１００は、機能構成として、画像取得部２０１、移動ベクトル抽出部２０２、人流抽出部２０３、人流学習部２０４、異常人流判定部２０５、表示部２０６を含む。
画像取得部２０１は、人流解析の対象となる入力画像を取得する。
移動ベクトル抽出部２０２は、画像取得部２０１が取得した画像を、小画像に分割する。続いて、移動ベクトル抽出部２０２は、映像解析を行い、小画像ごとの移動ベクトルを取得する。ここで移動ベクトルとは、ある所定の微小時間（例えば１／５秒）において、群衆を構成する各個人の頭部がどの位置からどの位置まで動いたかを表す情報である。
人流抽出部２０３は、移動ベクトル抽出部２０２によって小画像ごとに推定された移動ベクトルを受け取る。続いて、人流抽出部２０３は、小画像ごとに移動ベクトルをクラスタリングし、移動ベクトルをいくつかのクラスタに分割することで、人流クラスタを得る。
人流学習部２０４は、人流抽出部２０３により得られた人流クラスタを、ある学習期間において収集する。そして、人流学習部２０４は、収集した人流クラスタから、人流クラスタの発生確率を統計的に得る。人流学習部２０４が人流クラスタの発生確率を統計的に得ることにより、例えば、駅の改札口の前後では、改札口と垂直な向きに移動する人流クラスタが発生しやすいことが分かるようになる。正常な人流の向きは曜日や時間帯によって変わるため、人流学習部２０４は、曜日や時間帯ごとに人流クラスタの発生確率を得るようにしてもよい。また、人流学習部２０４は、常に直近の所定の時間（例えば１５分）における人流クラスタの発生確率を得るようにしてもよい。
異常人流判定部２０５は、人流学習部２０４により得られた人流クラスタのそれぞれについて、正常か異常か判定する。又は、異常人流判定部２０５は、人流クラスタが異常である確率、即ち異常度を出力する。
表示部２０６は、人流抽出部２０３により得られた人流クラスタを表示装置１３に表示する。この際、表示部２０６は、異常人流判定部２０５により判定された、正常な人流クラスタと、異常な人流クラスタとを、視覚的に判別できる形で表示する。
【００１１】
図３は、画像処理装置１００による情報処理の一例を示すフローチャートである。
Ｓ３０１において、画像取得部２０１は、人流解析の対象となる入力画像を取得する。画像取得部２０１は、ＣＭＯＳセンサやＣＣＤセンサ等の固体撮像素子から画像を取得してもよいし、ハードディスク等の記憶装置から画像を取得してもよい。
Ｓ３０２において、移動ベクトル抽出部２０２は、画像取得部２０１が取得した画像を、複数の小画像に分割する。図４は、画面を小画像に分割する一つの方法を示す図である。図４では、移動ベクトル抽出部２０２が、各小画像の大きさと、各小画像内に映る人体の大きさと、の比率がほぼ一定となるよう、画像を分割している例を示している。続いて、移動ベクトル抽出部２０２は、映像解析を行い、小画像ごとの移動ベクトルを抽出する。Ｓ３０２の処理は、画像の範囲ごとに群衆の移動ベクトルを取得処理の一例である。移動ベクトルの取得には種々の方法を用いることができる。
移動ベクトル取得方法の一つ目は、人体検出と人体追尾とを組み合せる方法である。
人体検出とは、画像中の顔や人体の全体又はその一部等、予め定められた部位の位置を特定する処理であり、既知のパターン認識や機械学習の各種手法を利用して実現される。
人体追尾とは、時間的に連続する画像間のそれぞれに対して人体検出を施して得られた人体検出結果に対して、人体の対応付け処理を行う処理である。対応付け処理は、各画像の人体検出結果のうち、同一人に対応する人体検出結果同士をペアリングするマッチング問題として定式化できる。まず、移動ベクトル抽出部２０２は、人体検出結果間の類似度を、人体を表す図形の位置やサイズ、画像から抽出された特徴量等任意の値を使って定義する。次に、移動ベクトル抽出部２０２は、最も類似度の高い人体検出結果の組から順番にペアを作る方法や、全体の類似度の和が最大になるようペアを作る全体最適化方法を用いて、人体検出結果のマッチングを決定することができる。移動ベクトル抽出部２０２は、対応付けされた人体検出結果には同一のＩＤを付与し、人体追尾結果とする。
図５は、対応付けの一例を示す図である。図５（ａ）は、時刻ｔ１において取得した画像に対して人体検出を施した結果である。また、図５（ｂ）は、時刻ｔ１から所定の微小時間（例えば１／５秒）が経過した時刻ｔ２において取得した画像に対して人体検出を施した結果である。矩形５０１、矩形５０２、矩形５０３及び矩形５０４が検出された人体に相当する。人体追尾を行うことで、矩形５０１と矩形５０３とにＩＤ１が、また矩形５０２と矩形５０４とにＩＤ２が与えられる。同一のＩＤが付与された矩形の移動前の位置と移動後の位置とを結んだものが移動ベクトルとなる。図５の場合、矩形５０１の中心を始点、矩形５０３の中心を終点として結んだ矢印５０５が移動ベクトルとなる。同様に、矩形５０２の中心を始点、矩形５０４の中心を終点として結んだ矢印５０６が移動ベクトルとなる。
【００１２】
移動ベクトル取得方法の二つ目は、時間的に連続する複数の小画像を入力として、群衆の密度分布と移動ベクトルの分布とを推定する推定器を用いる方法である。画像中の人物の密度分布及び移動ベクトルの分布を推定する方法としては、例えば、文献「Walach E., Wolf L. (2016) Learning to Count with CNN Boosting. In: Leibe B., Matas J., Sebe N., Welling M. (eds) Computer Vision - ECCV 2016. ECCV 2016. Lecture Notes in Computer Science, vol 9906. Springer, Cham」に記載されている方法を用いることができる。この文献では事前に機械学習によって得たニューラルネットワークを用いて、画像から人物の密度分布を求める。本実施形態ではこの方法を応用し、連続する２フレームの小画像を入力して画像中の人物の密度分布及び移動ベクトルの分布を同時推定するニューラルネットワークを事前に学習し、推定に用いる。図６は、移動ベクトル抽出部２０２の機能の一例を示す図である。図６中、ニューラルネットの出力のうち、人物密度分布は濃淡の濃い部分が人物頭部の位置を表す。移動ベクトルは濃淡の濃い値ほど移動量が大きいことを表す。図６の例では、群衆の横方向への移動のため、横方向の移動ベクトルは大きく、縦方向の移動ベクトルは小さい値を持つ。また、密度分布は、ある範囲における密度分布の値の和をとると、その範囲に存在する人物の人数とほぼ等しくなるように設計しておく。
図７は、推定器により推定された、ある小画像における人物の密度分布及び移動ベクトルの分布の一例を示す図である。移動ベクトル抽出部２０２は、横方向移動ベクトルと、縦方向移動ベクトルとを合成することで、移動ベクトルを抽出することができる。移動ベクトルは、密度分布の値と等しい重みをもつ。図７の例では、小画像中に、７本の重み付き移動ベクトルが得られる。
以上、二つの移動ベクトル取得方法について説明した。移動ベクトルを高精度に抽出するためには、群衆の密集度が小さい場合は一つ目の方法を用い、群衆の密集度が大きい場合は二つ目の方法を用いることができる。また、移動ベクトル取得方法はこれらに限定されるものではなく、任意の方法を用いることができる。
【００１３】
Ｓ３０３において、人流抽出部２０３は、移動ベクトル抽出部２０２によって小画像ごとに推定された移動ベクトルを受け取る。続いて、人流抽出部２０３は、小画像ごとに移動ベクトルをクラスタリングし、移動ベクトルをいくつかのクラスタに分割することで、人流クラスタを得る。
移動ベクトルのクラスタリングは、任意の方法で行うことができる。以下では、ヒストグラムを用いる方法について説明する。最初に、人流抽出部２０３は、移動ベクトル抽出部２０２によって取得された各移動ベクトルのうち、その長さが所定の閾値以上である移動ベクトルから、その向きに基づくヒストグラムを生成する。ここで、人流抽出部２０３は、移動ベクトルに重みが付いている場合は、その重みを考慮して頻度をカウントする。図８は、３０度ごとに階級を区切ったヒストグラムの一例を示す図である。
次に、このヒストグラムにおいて値が極大となる階級、即ち隣り合う二つの階級の何れの度数よりも大きな度数を持つ階級を探す。ここで、角度の周期性より、「０度以上３０度未満」の階級と「３３０度以上３６０度未満」の階級とは連続しているものとみなす。図８の例では、「１２０度以上１５０度未満」の階級、「２１０度以上２４０度未満」の階級及び「３３０度以上３６０度未満」の階級が極大である。
【００１４】
次に、人流抽出部２０３は、値が極大となる階級のうち、瑣末な階級を除去する。例えば、人流抽出部２０３は、その度数が閾値未満である階級を瑣末な階級であるとして除去する。閾値が１５とすると、図８の例では、「２１０度以上２４０度未満」の階級が除去され、二つの階級が残る。階級の除去方法はこれに限定されない。例えば、人流抽出部２０３は、「その階級の度数を全階級の度数の和で除した値」が閾値以下であるか否かによって階級を除去する方法をとってもよい。この処理により残った階級を極大階級と呼ぶ。
次に、人流抽出部２０３は、各極大階級に対応する人流クラスタを生成する。人流抽出部２０３は、人流クラスタを、各極大階級又はその極大階級の周辺に位置する階級に属する移動ベクトルの集合から生成する。どの階級までを周辺と定義するかにはいくつかの方法がある。一つ目の方法は、極大階級の前後Ｎ個（Ｎは０以上の整数）の階級までを周辺と定義する方法である。例えば、図８にて前後１個の階級までを周辺と定義した場合、「Ａ」と記した３つの階級に属する移動ベクトルの集合が一つ目の人流クラスタ、「Ｂ」と記した３つの階級に属する移動ベクトルの集合が二つ目の人流クラスタとなる。二つ目の方法は、極大階級の周囲にある階級のうち、極大階級の度数に所定の係数をかけた値より大きな度数を持つ階級までを周辺と定義する方法である。
次に、人流抽出部２０３は、各人流クラスタについて、構成人数、速度、方向等の統計値を計算する。構成人数は、人流クラスタを構成する移動ベクトルの数により得られる。速度は、人流クラスタを構成する移動ベクトルの大きさの平均値や、中央値を取ることにより求められる。方向も速度と同様、人流クラスタを構成する移動ベクトルの方向の平均値や、中央値を取ることにより求められる。以上の処理により、方向付き人流クラスタが得られる。この方向付き人流クラスタを生成する処理は、移動ベクトルに従って、同じ方向に移動する群衆から方向付き人流クラスタを生成する処理の一例である。
人流抽出部２０３は、方向付き人流クラスタについて、各領域につき最大値を定めてもよい。例えば、人流抽出部２０３は、各領域につき、方向付き人流クラスタは最大２個までしか出力しないようにしてもよい。その場合、人流抽出部２０３は、構成人数が多い人流クラスタから順に採用する。この方向付き人流クラスタを生成する処理も、移動ベクトルに従って、同じ方向に移動する群衆から方向付き人流クラスタを生成する処理の一例である。
人流のクラスタリングは、上記の方法に限定されない。例えば、人流抽出部２０３は、ｋ−ｍｅａｎｓ法や階層的手法等、既知のクラスタ分析手法を用いても行うことができる。
ところで、長さがある所定の閾値未満である移動ベクトル、つまりほぼ動きのない頭部に対応する移動ベクトルは、「滞留」と呼ぶ特別な階級に属させる。人流抽出部２０３は、もし滞留階級の度数が閾値以上であった場合は、これも一つの独立した人流クラスタとする。閾値が１５とすると、図８の例では、滞留階級の度数が閾値以上であるため、滞留階級に属する移動ベクトルの集合が三つ目の人流クラスタとなる。以降、このように生成された人流クラスタを滞留クラスタと呼ぶ。この滞留クラスタを生成する処理は、移動ベクトルに従って、同位置に滞留する群衆から滞留クラスタを生成する処理の一例である。
人流のクラスタリングが困難な場合について述べる。群衆を構成する個人が乱雑に動き回り、移動ベクトルの方向に傾向がない場合は、図９のように、どの方向にもほぼ均等に移動ベクトルが出現する。このように、人流抽出部２０３は、各階級における移動ベクトルの度数の分散が小さい場合は、「乱雑」と呼ぶ特別な人流クラスタを一つ生成する。以降、このように生成した人流クラスタを乱雑クラスタと呼ぶ。この乱雑クラスタを生成する処理は、移動ベクトルに従って、乱雑な方向に移動する群衆から乱雑クラスタを生成する処理の一例である。
【００１５】
Ｓ３０４において、人流抽出部２０３は、現在が学習期間中か否かを判定する。学習期間は、例えば毎月の最初の一週間等固定された期間であることもがあれば、ユーザが明示的に指定することもある。また、直近の１５分における人流クラスタの発生確率を常に計算する必要がある場合は、常に学習期間とする。人流抽出部２０３は、現在が学習期間中だと判定された場合はＳ３０５へ、学習期間でないと判定された場合はＳ３０６へ進む。
Ｓ３０５において、人流学習部２０４は、人流抽出部２０３により得られた人流クラスタを、学習期間において収集する。そして、人流学習部２０４は、収集した人流クラスタから、人流クラスタの発生確率を統計的に得る。
図１０は、人流学習部２０４が学習した人流クラスタの発生確率の一例を示す図である。図１０の例では、人流学習部２０４は、３時間おきに人流クラスタの発生確率を学習する。図１０の例では、平日の朝６時から朝９時の間に、小画像１にて、向きが０度以上３０度未満であるような人流クラスタが４５％の割合で発生したことが分かる。
また、人流学習部２０４は、直近のある所定の時間における人流クラスタの発生確率を統計的に得るようにしてもよい。例えば、人流学習部２０４は、直近の１５分における人流クラスタの発生確率を常に計算しておくようにできる。
【００１６】
Ｓ３０６において、異常人流判定部２０５は、人流学習部２０４により得られた人流クラスタのそれぞれについて、正常か異常かを判定する。異常人流判定部２０５は、人流学習部２０４により学習された、人流クラスタの発生確率に基づき、発生確率が低い人流が発生した際に、異常だと判定する。以下では、異常と判定する閾値を１０％とする。例えば、平日の朝８時に、小画像１にて１５度の向きに移動する人流クラスタが発生したとき、このような人流クラスタの発生確率は図１０によると４５％であるため、この人流クラスタは正常である、と判定される。同時刻に、小画像２にて１５度の向きに移動する人流クラスタが発生したとき、このような人流クラスタの発生確率は図１０によると５％であるため、この人流クラスタは異常である、と判定される。
異常人流判定部２０５は、人流クラスタを正常か異常かの２値で分類するのではなく、人流クラスタが異常である確率、即ち異常度を出力するようにしてもよい。この処理は、異常人流判定部２０５は、人流クラスタの異常度を取得する異常度取得処理の一例である。例えば、異常人流判定部２０５は、発生確率がｘである人流クラスタが発生したとき、人流クラスタの異常度を１−ｘとして返すようにすることができる。
異常人流判定部２０５は、人流学習部２０４により学習された人流クラスタの発生確率を使わずに、注目する小画像の人流クラスタが正常か異常かを判定するようにしてもよい。例えば、異常人流判定部２０５は、一方通行で群衆が動くことが期待されるような環境においては、ある小領域で複数の方向付き人流クラスタが発生することは異常だと判定できる。又は、異常人流判定部２０５は、注目する小画像の周囲にある小画像で発生した人流クラスタを用いて、注目する小画像の人流クラスタが正常か異常かを判定するようにしてもよい。例えば、異常人流判定部２０５は、注目する小画像において、その周辺に存在する小画像において発生した人流クラスタの何れとも異なる方向を持つ方向付き人流クラスタが発生した場合、その人流クラスタを異常と判定する。
また、異常人流判定部２０５は、人流学習部２０４により学習された人流クラスタの発生確率、及び、注目する小画像の周囲にある小画像で発生した人流クラスタの両方を用いて、注目する小画像の人流クラスタが正常か異常かを判定するようにしてもよい。
【００１７】
Ｓ３０７において、表示部２０６は、人流抽出部２０３により得られた人流クラスタを表示する。図１１は、人流クラスタに対応するアイコンの一例を示す図である。図１１（ａ）のアイコンは、方向付き人流クラスタを意味する。矢印の向きで人流の方向を表す。更に、表示部２０６は、矢印の太さで人流の構成人数を、矢印の長さで人流の速度を表すようにしてもよい。また、表示部２０６は、人流の構成人数を、矢印の近傍に数字で重畳してもよい。図１１（ｂ）のアイコンは、滞留クラスタを意味する。表示部２０６は、丸の半径や色により、滞留クラスタの構成人数や、滞留の平均時間を表すようにしてもよい。図１１（ｃ）のアイコンは、乱雑クラスタを意味する。表示部２０６は、アイコンの半径や色により、乱雑クラスタの構成人数や乱雑度合いを表すようにしてもよい。人流クラスタとアイコンとの対応付けはこれらの方法に限定されず、任意の方法をとってよい。
表示部２０６は、異常人流判定部２０５により判定された、正常な人流クラスタと、異常な人流クラスタとを、視覚的に判別できる形で表示する。より具体的には、表示部２０６は、アイコンの色や太さ、透明度、彩度、輪郭の太さ等で正常と異常とを区別して表示する。又は、表示部２０６は、アイコンに網掛け処理を施すことで正常と異常を区別する。又は、表示部２０６は、異常な人流であることをアイコンの近傍に文字で明記してもよい。又は、表示部２０６は、異常な人流が発生した小画像の枠内全体に対して、視覚的に判別可能な処理を施してもよい。ここで、アイコンとは、ある意味を文字や図、絵で表している画像である。
【００１８】
図１２は、表示部２０６による表示の一例を示す図である。表示部２０６は、各小画像に、小画像ごとに得られた各種人流クラスタに対応するアイコンを重畳する。表示部２０６は、小画像に複数の人流クラスタが存在する場合は、複数のアイコンを重畳する。
図１２のアイコン１２０１は、異常人流判定部２０５により異常と判定された、右方向に移動する人流クラスタである。この人流クラスタは、画面の奥側から手前側に向かって現れる人流を横切るように、画面の左側から右側へ移動する人流に対応する。図１２のアイコン１２０２は、異常人流判定部２０５により異常と判定された、滞留クラスタである。この滞留クラスタは、普段滞留の発生確率が低い場所で起こった滞留に対応する。
また、異常人流判定部２０５が、人流クラスタの異常度を出力する場合、表示部２０６は、その確率に応じて、人流を視覚的に判別できる形で表示するようにもできる。例えば、表示部２０６は、人流クラスタの異常度が高いほど色の彩度を高くアイコンを表示するようにしてもよい。
【００１９】
＜実施形態２＞
本実施形態では、地図上に、人流を重畳して表示する場合について説明する。本実施形態では、実施形態１と同じ部分については説明を省略し、実施形態１と異なる点について説明する。ＣＰＵ１０がメモリ１１に記憶されたプログラムに基づき処理を実行することにより、後述する図１３の画像処理装置１３００の機能構成及び後述する図１４のフローチャートの処理が実現される。
図１３は、画像処理装置１３００の機能構成の一例を示す図である。図１３の画像処理装置１３００は、図２の画像処理装置１００に、座標変換部１３０１が新たに加えられたものである。座標変換部１３０１は、撮像画像上の検出座標から地図上の検出座標に変換する処理を行う。
図１４は、画像処理装置１３００による情報処理の一例を示すフローチャートである。図１４のフローチャートは、図３のフローチャートに、Ｓ１４０１が新たに加えられたものである。
Ｓ１４０１において、座標変換部１３０１は、撮像画像中の検出座標から地図上の検出座標に変換する処理を行う。座標変換の一つの方法として、対応点に基づいた射影変換がある。座標変換部１３０１は、図１５に示すように撮像画像中の任意の４点と、地図中の任意の４点とを、ユーザに指定させる。これにより撮像画像中の任意の点を地図の対応位置に変換できるよう、射影変換の式を導出することができる。対応点を指定する際は間違った対応付けにならないよう、点を指定する順番に制約を定めておくとよい。例えば「左上起点で時計回り」のように定める。また、座標変換部１３０１が図１５に示したように点を指定した順番を数字で示すことも効果的である。座標変換部１３０１は、指定された座標点とその順序とが分かれば所定の制約に従って入力されたものか判定することもできる。そのため、制約に違反していた場合、座標変換部１３０１は、設定の失敗を通知し、再度の入力を促す。複数のカメラが設置されている場合、座標変換部１３０１は、すべてのカメラに対して地図との対応付けを行う。
座標変換部１３０１が座標変換処理を施すことで、Ｓ３０２によって抽出された移動ベクトルを、地図上の座標に変換することができる。Ｓ３０３以降の処理をすべて地図上の座標に基づいて行うことで、表示部２０６は、図１６のように、地図上に人流クラスタを重畳して表示することができる。図１６では、アイコン１６０１、１６０２及び１６０３が異常な人流クラスタを表し、それ以外のアイコンが正常な人流クラスタを表す。
【００２０】
＜実施形態３＞
本実施形態では、異常人流の発生時に、異常人流に関する情報を通知する場合について説明する。本実施形態では、実施形態１と同じ部分については説明を省略し、実施形態１と異なる点について説明する。ＣＰＵ１０がメモリ１１に記憶されたプログラムに基づき処理を実行することにより、後述する図１７の画像処理装置１７００の機能構成及び後述する図１８のフローチャートの処理が実現される。
図１７は、画像処理装置１７００の一例を示す図である。図１７は、図２の画像処理装置１００から表示部２０６を除き、通知部１７０１及び記録部１７０２を新たに加えたものである。通知部１７０１は、異常人流判定部２０５により異常人流が発生したとき、異常人流に関する情報を、ネットワークＩ／Ｆ１２を通じて外部に通知する処理を行う。記録部１７０２は、人流抽出部２０３によって抽出された人流クラスタに関する情報をメモリ１１に保存する。
図１８は、画像処理装置１７００による情報処理の一例を示すフローチャートである。図１８は、図３のフローチャートからＳ３０７を取り除き、Ｓ１８０１及びＳ１８０２を新たに加えたものである。
Ｓ１８０１において、通知部１７０１は、異常人流判定部２０５により異常と判定された人流クラスタが発生したとき、異常人流クラスタに関する情報を、ネットワークＩ／Ｆ１２を通じて外部に通知する処理を行う。異常人流クラスタに関する情報には、異常人流クラスタの画面上又は地図上における発生場所、人流クラスタを構成する人数、人流クラスタの移動方向、人流クラスタの移動速度の少なくとも一つを含む。
異常人流の発生時に通知を行うことで、警備員に異常の発生をいち早く知らせたり、異常発生時の映像を録画して保存したりといった処置が可能となる。
Ｓ１８０２において、記録部１７０２は、人流抽出部２０３によって抽出された人流クラスタに関する情報をメモリ１１に保存する。人流クラスタに関する情報には、人流クラスタの画面上又は地図上における発生場所、人流クラスタの発生時刻、人流クラスタが正常か異常の何れか（又は異常度）、人流クラスタを構成する人数、人流クラスタの移動方向、人流クラスタの移動速度の少なくとも一つを含む。また、記録部１７０２は、異常人流判定部２０５により異常と判定された人流クラスタに関する情報のみを保存しておくようにしてもよい。人流クラスタに関する情報を保存しておくことにより、後で異常な人流が発生した場面に絞って映像を検索すること等が可能になる。
【００２１】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００２２】
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
例えば、画像処理装置１００のハードウェア構成として、ＣＰＵは複数存在してもよく、複数のＣＰＵがメモリに記憶されているプログラムに基づき処理を実行するようにしてもよい。また、画像処理装置１００のハードウェア構成として、ＣＰＵに替えてＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いることとしてもよい。
また、画像処理装置１００の機能構成の一部又はすべてはハードウェア構成として画像処理装置１００に実装されてもよい。
また、上述した実施形態を任意に組み合わせて実施してもよい。
【００２３】
以上、上述した各実施形態の処理によれば、異常な人流を検出し、その人流に関する情報をユーザに提示可能とすることができる。
【符号の説明】
【００２４】
１０  ＣＰＵ
１１  メモリ
１２  ネットワークＩ／Ｆ
１３  表示装置
１４  入力装置
【図１】
2019067208.tif 000003
【図２】
2019067208.tif 000004
【図３】
2019067208.tif 000005
【図４】
2019067208.tif 000006
【図５】
2019067208.tif 000007
【図６】
2019067208.tif 000008
【図７】
2019067208.tif 000009
【図８】
2019067208.tif 000010
【図９】
2019067208.tif 000011
【図１０】
2019067208.tif 000012
【図１１】
2019067208.tif 000013
【図１２】
2019067208.tif 000014
【図１３】
2019067208.tif 000015
【図１４】
2019067208.tif 000016
【図１５】
2019067208.tif 000017
【図１６】
2019067208.tif 000018
【図１７】
2019067208.tif 000019
【図１８】
2019067208.tif 000020