【文献】
小林 匠,“安全・安心のための動画像認識技術”,情報処理学会研究報告,日本,一般社団法人情報処理学会,2013年 4月15日,Vol.2013-CVIM-186, No.27,pp.1-6
【文献】
繁田 浩功、外7名,“グラフカットを用いた生体骨組織における血管透過性の評価手法”,情報処理学会研究報告,日本,一般社団法人情報処理学会,2013年 4月15日,Vol.2013-BIO-33, No.3,pp.1-6
(58)【調査した分野】(Int.Cl.,DB名)
前記動き特徴量算出手段は、前記複数の時空間セグメントのうちその時間長が予め定めた値以上であるものから前記動き特徴量を算出することを特徴とする請求項1に記載の群衆解析装置。
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態(以下実施形態という)について、図面に基づいて説明する。本実施形態として、公共スペースを撮影した時系列画像から異常な動きをしている人物を検知する異常検知装置の例を説明する。この異常検知装置は、群衆が撮影された空間の時系列画像から当該群衆の動き特徴量を算出し、動き特徴量に基づいて群衆の動きを解析する群衆解析装置の例ともなっており、その動きの解析により、群衆内に発生した異常な動きを検出する。
【0019】
[異常検知装置1の構成]
図1は異常検知装置1の概略の構成を示すブロック図である。異常検知装置1は撮影部2、記憶部3、画像処理部4、出力部5及びユーザーインターフェース部6から構成される。
【0020】
撮影部2はいわゆる監視カメラであり、CCD素子又はC−MOS素子等の撮像素子、光学系部品、A/D変換器等を含んで構成される。撮影部2は画像処理部4と接続され、監視の対象であり群衆が発生し得る所定空間(以下、監視空間と称する)を時間の経過と共に順次撮影して時系列画像を生成し、その時系列画像を画像処理部4に入力する。撮影部2は例えば、イベント会場や街中の歩道などの公共スペースに立てられたポールに当該公共スペースを俯瞰する視野に固定された状態で設置され、当該公共スペースを移動する群衆を所定の撮影周期で撮影し、撮影した画像を順次、画像処理部4に入力する。撮影部2は群衆内の同一人物の領域がフレーム間で重なる程度の撮影周期、解像度、画角等を設定される。以下、上記撮影周期で刻まれる時間の単位を時刻と称する。
【0021】
記憶部3はROM (Read Only Memory)、RAM (Random Access Memory)、HDD(Hard Disk Drive)等の記憶装置である。記憶部3は画像処理部4で用いられる各種プログラムや各種データを記憶し、画像処理部4との間でこれらの情報を入出力する。各種データには時系列画像、及び監視空間における群衆の正常な動き特徴量を表す正常モデルが含まれる。
【0022】
画像処理部4はCPU(Central Processing Unit)、DSP(Digital Signal Processor)、MCU(Micro Control Unit)等の演算装置を用いて構成され、撮影部2、記憶部3、出力部5及びユーザーインターフェース部6に接続される。画像処理部4は記憶部3からプログラムを読み出して実行することで後述する各手段として機能する。画像処理部4は撮影部2からの時系列画像を処理し、時系列画像から異常な動きをしている人物を検知した場合に異常信号を出力部5へ出力する。
【0023】
出力部5は画像処理部4と外部装置を接続する通信インターフェース回路である。例えば、出力部5は監視センターのサーバーとの通信を行う通信装置であり、画像処理部4から入力された異常信号をサーバーに送信する。
【0024】
ユーザーインターフェース部6はキーボード、マウス、ディスプレイ等からなるユーザーインターフェース機器であり、異常検知装置1の管理者などのユーザーにより使用され、正常モデル生成処理と異常検知処理との切り替えを指示する指示入力などに用いられる。
【0025】
図2は異常検知装置1の概略の機能ブロック図である。撮影部2により順次撮影される時系列画像は、
図2には示さないが、記憶部3に循環記憶され、画像処理部4での処理に供される。また記憶部3は正常モデル記憶手段30として機能する。
図2に示す群衆検出手段40、時空間分割手段41、動き特徴量算出手段42、動き解析手段43、個別人物追跡手段44及び個別異常検知手段45は主として画像処理部4により実現される機能である。動き解析手段43は正常モデル生成手段430、正常モデル記憶手段30及び異常判定手段431を含む。動き解析手段43は、正常モデルを生成する学習処理を行うときには正常モデル生成手段430として機能し、群衆内の異常を検知する検知処理を行うときには異常判定手段431として機能する。異常判定手段431は状態仮設定手段431A、エネルギー算出手段431B及び乖離評価値算出手段431Cを含む。
【0026】
群衆検出手段40は時系列画像中の人物密度を推定し、推定した人物密度が予め定めた密度下限値を超えた場合に群衆が発生していると判定する。密度下限値は人物同士が接する程度の人物密度に対応する値に予め設定され、例えば、4〜5人/m
2とすることができる。
【0027】
例えば、予め密度下限値を超えた人物密度の群衆が撮影された学習画像を用いて人物密度ごとに機械学習した識別器を用いて人物密度を推定する。時系列画像を構成する各画像をブロック分割して各ブロックの画像を人物密度ごとの識別器に入力し、当該識別器の出力が真であるブロックにおいて人物密度が密度下限値を超えたと推定する。あるいは、時系列画像を構成する各画像から背景差分処理により差分領域を抽出すると共に各画像をブロック分割し、各ブロックにおける差分領域の面積から人物密度を推定する。群衆検出手段40はこれらの手法により、いずれかのブロックにおいて人物密度が密度下限値を超えたと推定した場合に群衆が発生していると判定する。
【0028】
時空間分割手段41は記憶部3に記憶されている所定時間長の時系列画像を順次読み出し、読み出した時系列画像に対して時空間セグメンテーションを行う。ここで、時系列画像を構成する各時刻の2次元画像(空間画像)の座標軸をX軸、Y軸とすると、時系列画像はX軸及びY軸と時間軸であるT軸とで定義される時空間における3次元画像と考えることができ、ここでは当該3次元画像を時空間画像と称する。すなわち、時系列画像の各時刻の画像を時間軸に沿って並べたものが時空間画像となり、時系列画像の撮影時刻tの画像における位置(x,y)の画素値が時空間画像の画素値I(x,y,t)となる。
【0029】
時空間画像ではX軸、Y軸方向に関する画素の近傍関係、つまり空間的な画素の近傍関係と同様、T軸方向に関する画素の近傍関係、つまり時間的な画素の近傍関係を考えることができる。例えば、任意の画素(x,y,t)について空間的又は時間的に隣接する6画素の画素値であるI(x±1,y,t)、I(x,y±1,t)及びI(x,y,t±1)が近傍画素の画素値となる。さらに、任意の画素に対し空間的及び時間的に隣接する画素を近傍画素に含めることもできる。その場合、任意の画素(x,y,t)について空間的又は/及び時間的に隣接する26画素の画素値であるI(x±1,y,t)、I(x,y±1,t)、I(x,y,t±1)、I(x±1,y±1,t)、I(x±1,y,t±1)、I(x,y±1,t±1)及びI(x±1,y±1,t±1)が近傍画素の画素値となる。
【0030】
時空間分割手段41は時空間画像における近傍画素間での画素値の相違度を算出し、当該相違度に基づき時空間画像を複数の時空間セグメントに分割する。具体的には、時空間分割手段41は、分割の境界が位置する画素間における相違度が時空間セグメント内に包含される画素間における相違度よりも高くなるように時空間画像を分割し、時空間セグメントを生成する。
【0031】
ここで、読み出す時系列画像に含まれる撮影時刻の範囲を分析区間、読み出す時系列画像の時間長を分析区間長と呼ぶ。分析区間長は予め設定される。分析区間長は長い方が動き特徴量の信頼度が高くなることが期待できる点で好適である一方、処理速度が低下し得る。本実施形態では分析区間長を5時刻(5フレーム)とした例を説明する。
【0032】
具体的には、以下の手順(A1)〜(A5)のようにして時空間セグメンテーションを行う。
【0033】
(A1)時空間における近傍画素間の輝度(画素値)の差をエッジコストとして求める。上述したように近傍画素とは、画素位置が隣接する画素だけでなく、撮影時刻が隣接する画素も含む。
【0034】
(A2)各画素を初期の時空間セグメントとし、各時空間セグメントの内部コストの初期値を0とする。
【0035】
(A3)時空間セグメント間のエッジコストの昇順に、次式を満たす時空間セグメント同士を結合させ、結合した時空間セグメント内部における最大エッジコストを当該時空間セグメントの内部コストとする。
S
C <min(C
INT+α/N) ………(1)
【0036】
上の式において、S
Cは時空間セグメント間のエッジコストであり、C
INTは時空間セグメント内のコスト(内部コスト)である。またα/Nは画素数が小さい時空間セグメントを統合するための緩和項である。αは定数であり、例えば4とすることができる。Nは時空間セグメントの画素数である。また最小値minは、結合するか否かを判定する2つの時空間セグメントそれぞれの(C
INT+α/N)のうちいずれか小さい方をS
Cと比較し、結合を判定することを意味する。
【0037】
(A4)上記(A3)の、それぞれの時空間セグメント内部の最大エッジコストよりも時空間セグメント間のエッジコストが小さければ時空間セグメント同士を結合する、という処理を繰り返す。
【0038】
(A5)時空間セグメントの画素数の最小値が予め定めた下限画素数以上に達した場合に、時空間セグメンテーションを終了する。下限画素数には人の部位の大きさ以下の値を予め設定し、群衆内の人の各部位ないし各人がそれぞれ1つの時空間セグメントとしてまとまるようにする。
【0039】
上記処理により生成される時空間セグメントは、当該時空間セグメントに隣接する時空間セグメント(以下、隣接セグメント)との間のエッジコストが、当該時空間セグメント内部の最大エッジコストおよび隣接セグメント内部の最大エッジコストよりも大きくなっており、隣接セグメントとの間で排他的に分割された時空間セグメントとなっている。つまり、上記処理により生成される時空間セグメントは、近傍画素における画素値の相違度に基づいて、空間的にも時間的にも隣接セグメントとの間で排他的に分割された時空間セグメントとなっている。
【0040】
そのため、単に前後する画像の間で画像特徴が類似するグリッドを結んだオプティカルフローとは異なり、密集した群衆内であっても、物体や部位の境界にて高い確度で分割された時空間セグメントが生成される。
【0041】
生成された各時空間セグメントは、分析区間長に含まれる撮影時刻のいずれかの時刻の時空間セグメントとみなす。どの時刻のものとみなすかは予め定めておけばよい。例えば、現時刻tにおいて撮影時刻がt−4からtである5時刻分の時系列画像から分割した時空間セグメントを現時刻tの時空間セグメントとすることができる。
【0042】
図3は時空間セグメンテーションの様子を説明する模式図であり、時空間セグメンテーションの初期段階での時空間画像の一部分を示している。
図3はX軸、Y軸、T軸で定義される時空間の斜視図であり、当該時空間にX軸方向、T軸方向それぞれに2画素ずつ並んだ4画素500〜503をそれぞれ立方体で示し、当該立方体の中に示す数字は輝度値を表している。なお、ここではα=4として式(1)を計算している。
【0043】
図3(a)は時空間セグメンテーションの開始時を表しており、画素500の輝度値I(x−1,0,t)=2、画素501の輝度値I(x,0,t)=2、画素502の輝度値I(x−1,0,t−1)=3、画素503の輝度値I(x,0,t−1)=6であり、よって、画素500,501間のエッジコストは0、画素500,502間のエッジコストは1、画素501,503間のエッジコストは4、画素502,503間のエッジコストは3である。
【0044】
エッジコストが最小である時空間セグメントである画素500と画素501との対が結合するか否かの判定対象とされる。この場合、S
Cは画素500,501間のエッジコストであり0である。一方、式(1)の右辺はmin(0+4/1,0+4/1)=4である。よって式(1)が成立するので画素500と画素501とを結合して時空間セグメント510を生成する。
図3(b)はこの時空間セグメント510が生成された状態を示している。時空間セグメント510の内部コストは画素500,501間のエッジコストと同じであり0となる。
【0045】
次にエッジコストが最小である時空間セグメント510と画素502との対が評価される。この場合、S
Cは画素500と画素502との間のエッジコストで与えられ1である。一方、式(1)の右辺はmin(0+4/2,0+4/1)=2である。よって式(1)が成立するので時空間セグメント510と画素502とを結合して時空間セグメント520を生成する。
図3(c)はこの時空間セグメント520が生成された状態を示している。画素500,502間のエッジコストが時空間セグメント520の内部コストとなり、その値は1である。
【0046】
次いでエッジコストが最小である時空間セグメント520と画素503との対が評価される。この場合、S
Cは画素502と画素503との間のエッジコストで与えられ3である。一方、式(1)の右辺はmin(1+4/3,0+4/1)≒2.3である。よって式(1)が成立しないので時空間セグメント520と画素503とは結合されない。
図3(d)は、画素500〜503からなる時空間画像が3画素からなる時空間セグメント520と画素503のみからなる時空間セグメントとに分割された状態を示している。
【0047】
動き特徴量算出手段42は時空間分割手段41から入力された時空間セグメントのそれぞれから動き特徴量を算出する。具体的には、動き特徴量算出手段42は複数の時空間セグメントのそれぞれにおいて、撮影時刻が同一である画素の代表位置を算出し、代表位置の時間変化を表す動き特徴量を算出する。算出された各時空間セグメントの動き特徴量は動き解析手段43へ出力される。例えば、動き特徴量算出手段42は、時空間セグメントにおける重心位置の時間変化を一次近似した速度ベクトルを、当該時空間セグメントの動き特徴量とする。
【0048】
上述したように、時空間分割手段41が排他的に分割した時空間セグメントは物体や部位の境界で分割されている確度が高い。そのため、それらの時空間セグメントから動き特徴量算出手段42が算出した動き特徴量は密集した群衆内の物体や部位の動きを精度良く表したものとなる。
【0049】
図4は動き特徴量算出の例を説明する時空間の模式的な斜視図である。時空間セグメント600は現時刻tにおいて分析区間[t−4,t]の時系列画像から分割されたものの1つであり、時空間セグメント600に含まれる画素のうち、撮影時刻がt−4である画素のまとまりを切片601とし、同様に撮影時刻がt−3,t−2,t−1,tである画素のまとまりのそれぞれを切片602,603,604,605としている。また切片601,602,603,604,605の重心位置をそれぞれ(x1,y1,t−4),(x2,y2,t−3),(x3,y3,t−2),(x4,y4,t−1),(x5,y5,t)で表している。この時系列の重心位置を最小二乗法などで近似した直線611を求める。そして、分析区間中で最も古い時刻の重心位置(x1,y1,t−4) から直線611に下ろした垂線との交点Vsを始端とし、分析区間中で最も新しい時刻の重心位置(x5,y5,t)から直線611に下ろした垂線との交点Veを終端とした速度ベクトルを現時刻tにおける時空間セグメント600の動き特徴量とする。
【0050】
なお、上記例においては動き特徴量を算出する際の代表位置として、撮影時刻が同一の画素の重心を求めたが、これに代えて、撮影時刻が同一の画素からなる領域を楕円近似し当該楕円の重心を当該代表位置としてもよいし、同領域の外接矩形の重心を代表位置としてもよい。
【0051】
ここで、オクルージョンが原因で一時的にしか写っていない人物や一時的にしか写っていない人物の部位に係る時空間セグメントや、ノイズが原因で生じた時空間セグメントは群衆の動き解析の精度を低下させる要因となる。これらの時空間セグメントは時間長が短い傾向がある。時間長が短くなると動き特徴量を算出する線形近似の信頼性が低くなり、その結果、既に述べたように動き解析の精度低下を生じる。
【0052】
そこで動き特徴量算出手段42は、時空間分割手段41から入力された複数の時空間セグメントのうち予め定めた下限時間長以上である時空間セグメントのみから動き特徴量を算出する。例えば、下限時間長として分析区間長と同一の長さを設定し、5時刻分の時間長を有する時空間セグメントのみから動き特徴量を算出する。このように時間長の短い時空間セグメントを取り除くことで信頼性の高い動き特徴量のみを利用した高精度な動きの解析が可能となる。
【0053】
図5は時間長の短い時空間セグメントの除去を説明する時空間の模式的な斜視図である。現時刻tにおいて分析区間[t−4,t]の時系列画像から分割された時空間セグメントの1つが時空間セグメント700であり、別の1つが時空間セグメント701である。例えば、時空間セグメント700,701は互いに同一人物の同一部位に係るものであり、撮影時刻t−4,t−2において当該部位が他の人物の陰に隠れて写らなかったために当該部位の像が得られずに途切れたことが想定される。その結果、時空間セグメント700,701の時間長はそれぞれ1時刻と2時刻になり、いずれも5時刻未満であるため動き特徴量の算出対象から除外される。
【0054】
動き解析手段43は動き特徴量算出手段42で算出された複数の時空間セグメントの動き特徴量から時系列画像に撮影された群衆の動きを解析する。動き解析手段43は例えば、解析の結果、群衆内の異常な動きを検出した場合に異常信号を出力部5へ出力する。
【0055】
上述したように、時空間分割手段41が排他的に分割した時空間セグメントは物体や部位の境界で分割されている確度が高い。そのため、動き解析手段43は、それらの時空間セグメントから算出した動き特徴量を用いて、密集した群衆の動きを精度良く解析できる。
【0056】
解析方法として、例えば、各時空間セグメントの動き特徴量と、当該時空間セグメントと同位置で予め解析した正常時の群衆の動き特徴量との差を算出し、正常時に対する動き特徴量の当該差が予め定めた基準値以上である時空間セグメントがあれば、当該時空間セグメントの動き特徴量は正常時から乖離し異常な動きを示しているとして群衆内に異常な動きがあると判定する。当該解析を行うために、動き解析手段43は正常時の群衆の動き特徴量を学習し、記憶部3に記憶させる機能を備えている。
【0057】
また他の解析方法として例えば、各時空間セグメントとその周囲の時空間セグメントとの動き特徴量の差の絶対値の平均値を計算し、その平均値が異常判定閾値以上であれば、当該時空間セグメントの動き特徴量は周囲と異なる異常な動きを示しているとして群衆内に異常な動きがあると判定してもよい。
【0058】
動きの解析は、時空間セグメント単位で行っても良いし、時空間セグメントの動き特徴量を当該時空間セグメント内の各画素の動き特徴量とみなして画素単位で行っても良い。
また、現時刻で得られた時空間セグメントの動き特徴量から動きの解析を行っても良いし、複数時刻の時空間セグメントの動き特徴量を利用して統計的に動きの解析を行っても良い。現時刻で得られた時空間セグメントの動き特徴量のみを利用して動きの解析を行えば、瞬間的な動きの変化を検出することが可能である。一方で、各時刻の時空間セグメントの動き特徴量を統計して解析を行えば、より安定した動きの解析が可能である。統計的に動きの解析を行う場合、異なる時刻から得られた時空間セグメント間では時空間セグメント同士の位置及び形状が一致しないため、上述したように画素単位の解析を行って画素位置ごとに動き特徴量の統計量を算出するとよい。統計量は、例えば複数時刻の動き特徴量の平均値とすることができ、また例えば複数時刻の動き特徴量の混合正規分布などとすることができる。
【0059】
正常モデル記憶手段30は予め群衆の正常な動きを表す正常特徴量(正常モデル)を、時系列画像に対応する画素位置ごとに記憶する。なお、正常モデルは正常モデル生成手段430により生成される。
【0060】
正常モデル生成手段430は異常判定処理の開始前に動作され、監視空間において異常が発生していない正常な状態で撮影された時系列画像から算出された動き特徴量を統計分析して正常特徴量を算出し、算出した正常特徴量を正常モデル記憶手段30に記憶させる。
【0061】
正常特徴量は、複数時刻の動き特徴量を時系列画像の画素ごとに集計した動き特徴量の分布とすることができる。当該分布は所定の分布モデルを用いてモデル化された形式で表現できる。例えば混合正規分布モデルを用いることができる。または正常特徴量は、時系列画像の画素ごとに複数時刻の動き特徴量を平均して算出してもよい。
【0062】
異常判定手段431は複数の時空間セグメントそれぞれについて、その動き特徴量と当該時空間セグメントに対応する画素位置の正常特徴量とを比較して、時系列画像に撮影された群衆の動きの正常な動きに対する乖離の大きさを評価し、その乖離の大きさを示す評価値が異常判定閾値(基準値)以上である場合に群衆に異常な動きが発生したと判定する。
【0063】
なお、人の存在しない背景領域の時空間セグメントから算出された動き特徴量は異常判定から除外する。そのために、異常判定手段431は、ベクトルの大きさが予め定めた静止判定閾値(例えば速さ10cm/秒相当)以下の動き特徴量を削除してから異常判定を行う。
【0064】
本実施形態では異常判定手段431は現時刻の時空間セグメントと正常モデルとの動き特徴量の相違度、及び、現時刻における各時空間セグメントとその周囲の時空間セグメントとの動き特徴量の相違度に基づいて異常検出を行う。
【0065】
このように2種類の相違度を用いることにより、正常と異なる動きかつ周囲と異なる動きが強調される。そのため、群衆内での逆行や転倒など、群衆内の一部の人物がとった他の人物と異なる動きを精度良く検出できる。
【0066】
また、2種類の相違度を用いることにより、会場の出入口における入場者の流れと退場者の流れとが隣り合う群衆など、進行方向が異なる流れが隣り合って生じた群衆において、流れの境界が多少ずれても誤って異常とする誤判定を抑制できる。例えば、正常モデルとの相違度のみを用いると、入場者の流れが正常モデルよりも増えた場合に、正常モデルにおける流れの境界を越えた入場者が異常と判定されてしまうが、周囲との相違度を併せて用いれば、境界を越えた入場者の動き特徴量が周囲の入場者の動き特徴量と類似することにより異常と判定されにくくすることができる。
【0067】
具体的には、群衆の時系列画像(時空間画像)から分割された複数の時空間セグメントのそれぞれを正常な動き特徴量を有する正常セグメントと異常な動き特徴量を有する異常セグメントのいずれかに分類する問題を設定し、その問題を正常モデルとの相違度及び周囲セグメントとの相違度に応じて定義されるエネルギー関数を最小化する最小化問題として解く。当該最小化問題は例えばグラフカット法を適用して解くことができる。エネルギー最小化問題に帰着させることで、各時空間セグメントの動き特徴量が正常か否かを判定する閾値を予め設定する必要がなくなる。そのため多様な群衆に対して柔軟に異常判定を行うことができる。
【0068】
異常判定手段431は上述の最小化問題を解くために状態仮設定手段431A、エネルギー算出手段431B及び乖離評価値算出手段431Cを備える。以下、これらを含めて異常判定手段431について説明する。
【0069】
図6は上述の最小化問題に対するグラフカット法の適用を説明するグラフの模式図である。
図6に示すグラフにおいて、3行3列のマトリクス状に配列された9個の円(斜視図である
図6では楕円に表されている)が画素e
iであり、当該画素が並ぶ水平面が或る時刻(例えば現時刻t)における空間画像を模式的に表している。また複数の画素を囲む線が現時刻tの空間画像に現れる時空間セグメントの輪郭を表しており、
図6には3つの時空間セグメントが示されている。時空間セグメントpは時空間画像中の任意の時空間セグメントであり、時空間セグメントqは現時刻tの空間画像上にて時空間セグメントpに隣接する任意の時空間セグメントである。ソースSは正常セグメント側の仮想のターミナルであり、シンクTは異常セグメント側の仮想のターミナルである。隣接する時空間セグメント間にリンク(n−link)を設定し、各画素とソースとの間及び各画素とシンクとの間にもリンク(t−link)を設定する。さらに各リンクに当該リンクの結合度を設定する。結合度は領域分割のために行うリンクの切断に要するコストとしてエネルギーに計上される。以下、結合度の値をコストと称する。
【0070】
各n−linkには、正常セグメントと異常セグメントとの間の境界設定に伴い当該n−linkを切断するときのコストを設定する。また、各画素とソースSとの間のt−linkには当該t−linkを切断して当該画素が属する時空間セグメントを異常セグメントに帰属させるときのコスト(異常側帰属時コスト)を設定し、各画素とシンクTとの間のt−linkには当該t−linkを切断して当該画素が属する時空間セグメントを正常セグメントに帰属させるときのコスト(正常側帰属時コスト)を設定する。
【0071】
各コストは時空間セグメントの分類が正しくないときに高くなるように設定される。すなわち、n−linkのコストは、時空間セグメントp,qが類似するほど大きくなる量、つまり動き特徴量の類似度を表す量に設定され、画素とソースSとの間のt−linkのコストは、当該画素を含む時空間セグメントの動き特徴量が正常特徴量に類似するほど大きくなる量、つまり正常特徴量との類似度を表す量に設定され、また、画素とシンクTとの間のt−linkのコストは、当該画素を含む時空間セグメントの動き特徴量が異常であるほど大きくなる量、つまり正常特徴量との相違度を表す量に設定される。
【0072】
エネルギーは、時空間セグメントを正常セグメントと異常セグメントとに分類する際に切断されるリンクのコストの総和で定義される。そして、当該エネルギーを最小化する時空間セグメントの正常/異常の分類が求められる。
【0073】
状態仮設定手段431Aは複数の時空間セグメントのうち任意の時空間セグメントを異常セグメントに仮設定すると共に残りの時空間セグメントを正常セグメントに仮設定することにより、時系列画像における群衆の動き状態を複数通りに仮設定する。
【0074】
エネルギー算出手段431Bは群衆の正常な動きに対する動き状態の乖離を評価するためのエネルギー値を、異常セグメントの動き特徴量と当該異常セグメントに対応する画素位置の正常特徴量との類似度、正常セグメントの動き特徴量と当該正常セグメントに対応する画素位置の正常特徴量との相違度、及び空間画像において異常セグメントに隣接する正常セグメントと当該異常セグメントとの動き特徴量の類似度を総和して算出する。
【0075】
具体的には、複数通りに仮設定した群衆の動き状態Lのそれぞれに対して式(2)で定義されるエネルギー関数E(L)を算出する。
【0077】
式(2)の右辺第1項が現時刻の時空間セグメントと正常モデルとの動きの相違度に応じたエネルギーである。具体的にはD
p(L
p)は時空間セグメントに対してラベルL
pを割り当てるコストを計算するデータコスト関数である。D
p(L
p)で定義するデータコスト関数は、時空間セグメントに異常ラベルを仮設定する場合には、正常モデルとの動きの類似度をデータコストとして出力し、時空間セグメントに正常ラベルを仮設定する場合には、正常モデルとの動きの相違度をデータコストとして出力する。
【0078】
ちなみに、現時刻の時空間セグメントと学習時に得られた時空間セグメントは同一形状とならないため、現時刻の時空間セグメントと正常モデルの比較は画素単位で行う。すなわち複数の時空間セグメントの動き特徴量とそれぞれに対応する画素位置の正常特徴量とを比較する。そして、注目している時空間セグメントpに含まれている各画素e
iにおける類似度または相違度を平均して当該時空間セグメントpにおけるデータコストD
p(L
p)を算出する。また、異常ラベルを仮設定する場合のデータコストは、当該時空間セグメント(の各画素e
i)とソースSとの間のt−linkに設定される異常側帰属時コストに対応し、一方、正常ラベルを仮設定する場合のデータコストは、当該時空間セグメント(の各画素e
i)とシンクTとの間のt−linkに設定される正常側帰属時コストに対応する。
【0079】
式(2)の右辺第2項が現時刻における各時空間セグメントとその周囲の時空間セグメントとの動きの相違度に応じたエネルギーである。Nは時空間セグメントpに隣接する時空間セグメントの集合であり、V
(p,q)(L
p,L
q)は時空間セグメントpと隣接する時空間セグメントqとに、それぞれラベルL
p、ラベルL
qを割り当てたときのコストを計算するスムーズコスト関数である。時空間セグメント同士が隣接しているかの判定は、時空間セグメント同士が時系列画像を構成する画像(空間画像)上で接しているかによって判定する。なお、時空間セグメント間の重心位置の距離が所定以下かどうかにより時空間セグメント同士の隣接を判定してもよい。
【0080】
上記例において、スムーズコストの値は時空間セグメント間の動きの相違度に基づいて算出したが、次の複数の値のいずれか、又は次の複数の値の重み付け和に基づいて算出してもよい。
・時空間セグメント間の重心距離
・時空間セグメント間の面積比
【0081】
λは2種類の指標の寄与を調整するための正の定数であり、事前の実験に基づき予め設定される。
【0082】
乖離評価値算出手段431Cは複数の動き状態のうちエネルギー値が最小となる動き状態における異常セグメントの大きさを、時系列画像に撮影された群衆の動きとその正常な動きとの差(乖離)を表す評価値(乖離評価値)として算出する。異常セグメントの大きさは、或る時刻(例えば現時刻t)の空間画像における異常セグメントに属する面積(画素数)とすることができる。また、異常セグメントである各時空間セグメントの体積(画素数)をその時間長で除して正規化サイズを定義し、正規化サイズの和を異常セグメントの大きさとしてもよい。
【0083】
異常判定手段431は、乖離評価値が、予め定めた基準値である異常判定閾値以上である場合に群衆に異常な動きが発生したと判定する。また、エネルギー値が最小の動き状態における異常セグメントを、異常が発生している領域と判定する。
【0084】
個別人物追跡手段44は群衆検出手段40が群衆を検出しなかった時系列画像に撮影されている個々の人物を追跡し、各人物の移動軌跡を算出する。
【0085】
個別異常検知手段45は個別人物追跡手段44が算出した各人物の移動軌跡を予め定めた基準と比較して、長時間滞留している人物やうろついている人物などの移動軌跡を異常と判定する。そして、個別異常検知手段45はいずれかの移動軌跡が異常と判定された場合に異常信号を出力部5へ出力する。
【0086】
[異常検知装置1の学習(正常モデル生成)時の動作]
図7は異常検知装置1が正常モデルを生成する学習動作時の概略のフロー図である。
【0087】
撮影部2は監視空間を撮影して、撮影した画像を順次、画像処理部4に入力する。画像処理部4は、撮影部2から画像を取得すると(ステップS10)、まず群衆検出手段40として動作し、取得した画像に群衆が撮影されているか否かを判定する(ステップS11)。群衆検出手段40は取得した画像をブロック分割し、密度下限値を超えた人物密度の画像を学習した識別器に各ブロックの画像を識別させて各ブロックの人物密度が密度下限値を超えているか否かを推定する。そして、いずれかのブロックにおいて人物密度が密度下限値を超えたと推定された場合に、群衆を検出したと判定し(S11にてYESの場合)、画像処理部4はステップS11で取得した画像を記憶部3に蓄積する(ステップS12)。一方、群衆が検出されなかった場合(S11にてNOの場合)はステップS12をスキップする。
【0088】
管理者は十分な長さの画像が蓄積できた時点(例えば10分間。それ以上の長さであってもよい)でユーザーインターフェース部6のマウスやキーボードを操作して蓄積終了指示を入力する。
【0089】
画像処理部4は蓄積終了指示が入力されたか否かを確認し(ステップS13)、蓄積終了指示が入力されていなければ(S13にてNOの場合)、処理をステップS10に戻し、画像蓄積を継続する。一方、蓄積終了指示が入力されていれば(S13にてYESの場合)、画像処理部4は蓄積した画像を順次、ユーザーインターフェース部6のディスプレイに表示すると共に蓄積した画像の中から正常区間を指定する操作を受け付ける(ステップS14)。
【0090】
管理者は表示された画像を目視確認し、群衆内に異常な動きが無い画像の時間区間(正常区間)をユーザーインターフェース部6のマウスやキーボードを操作して指定する。
【0091】
正常区間の指定が完了すると、画像処理部4は時空間分割手段41及び動き特徴量算出手段42として動作し、ステップS15〜S18のループ処理を行う。
【0092】
時空間分割手段41は正常区間の先頭から分析区間長の時系列画像を順次読み出し(ステップS15)、読み出した時系列画像を複数の時空間セグメントに分割する(ステップS16)。
【0093】
動き特徴量算出手段42は時空間セグメントごとに動き特徴量を算出して記憶部3に格納する(ステップS17)。その際、動き特徴量算出手段42は時空間セグメントの時間長を確認し、時間長が下限時間長以上の時空間セグメントから動き特徴量を算出し、時間長が下限時間長未満の時空間セグメントからは動き特徴量を算出しない。
【0094】
時空間分割手段41は未だ処理していない正常区間の画像があるかを確認し(ステップS18)未処理の画像があれば(S18にてYESの場合)、処理をステップS15に戻して次の時系列画像を処理する。
【0095】
正常区間の画像を全て処理し終えると(S18にてNOの場合)、画像処理部4は動き解析手段43の正常モデル生成手段430として動作し、記憶部3に記憶している複数時刻の動き特徴量を統計分析する(ステップS19)。
【0096】
正常モデル生成手段430は、複数時刻の動き特徴量を画素ごとに集計し、各画素における動き特徴量の分布を混合正規分布モデルでモデル化する。各画素について算出した統計量、すなわち動き特徴量の混合正規分布が当該画素における正常特徴量となる。正常モデル生成手段430は、各画素の正常特徴量を記憶部3の正常モデル記憶手段30に記憶させる(ステップS20)。
【0097】
以上の処理を終えると異常検知装置1の学習動作は完了し、異常検知装置1は次に述べる異常検知動作を開始することが可能となる。
【0098】
[異常検知装置1の異常検知処理時の動作]
図8は異常検知装置1の異常検知動作時の概略のフロー図である。異常検知動作におけるステップS50〜S52の処理内容は学習動作時のステップS10〜S11と同様である。撮影部2から画像処理部4が取得した画像は記憶部3に格納される。群衆検出手段40が群衆を検出した場合(S52にてYESの場合)、画像処理部4は群衆の動き解析処理を行う(ステップS53)。なお、分析区間長の画像が蓄積されるまでの間、当該動き解析処理S53は省略される。
【0099】
図9は群衆の動き解析処理の概略のフロー図である。まず、画像処理部4は時空間分割手段41として動作し、現時刻から遡及する分析区間長の期間に撮影された画像を、現時刻に解析する時系列画像として記憶部3から読み出し(ステップS530)、読み出した時系列画像を複数の時空間セグメントに分割する(ステップS531)。
【0100】
次に画像処理部4は動き特徴量算出手段42として動作し、時空間セグメントごとに動き特徴量を算出して記憶部3に格納する(ステップS532)。その際、動き特徴量算出手段42は時空間セグメントの時間長を確認し、時間長が下限時間長以上の時空間セグメントから動き特徴量を算出し、時間長が下限時間長未満の時空間セグメントからは動き特徴量を算出しない。
【0101】
画像処理部4は異常判定手段431の状態仮設定手段431A、エネルギー算出手段431B、乖離評価値算出手段431Cとして動作し、ステップS533〜S539の処理を行う。
【0102】
エネルギー算出手段431Bは、後のステップS535に備えて記憶部3の正常モデル記憶手段30から正常特徴量を読み出す(S533)。状態仮設定手段431Aは、群衆の動き状態Lを順次仮設定して(S534)、ステップS534〜S538の反復処理を繰り返す。例えば、反復の初回では乱数に基づき各時空間セグメントを正常セグメントと異常セグメントとのいずれかに設定し、反復の2回目以降では乱数に基づいて選択した時空間セグメントの正常/異常の設定を前回設定から変更する。
【0103】
エネルギー算出手段431Bは、仮設定された動き状態Lに関し各時空間セグメントと正常特徴量との相違度(または類似度)に応じた評価値を算出する(S535)。具体的には、異常セグメントに仮設定された時空間セグメントについては、当該時空間セグメントに対応する画素位置e
iごとに、異常側帰属時コストであるC(e
i,S)の総和を求める。C(e
i,S)は当該時空間セグメントの動き特徴量と画素位置e
iでの正常特徴量との類似度である。一方、正常セグメントに仮設定された時空間セグメントについては、当該時空間セグメントに対応する画素位置e
iごとに、正常側帰属時コストであるC(e
i,T)の総和を求める。C(e
i,T)は当該時空間セグメントの動き特徴量と画素位置e
iでの正常特徴量との相違度である。そして、異常側帰属時コストC(e
i,S)の総和と正常側帰属時コストC(e
i,T)の総和とを加算して、仮設定された動き状態Lに関する正常特徴量との相違度に基づく評価値であるデータコスト(式(2)の右辺第1項)を求める。ちなみに、当該評価値は、状態Lについての正常モデルとの比較に基づく尤もらしくなさを表しており、当該評価値が小さいほど状態Lの尤もらしさが高くなる。
【0104】
また、エネルギー算出手段431Bは、仮設定された動き状態Lに関し周囲セグメントとの相違度に基づく評価値を算出する(S536)。具体的には、異常セグメントに仮設定された各時空間セグメントの動き特徴量と、当該時空間セグメントに隣接し且つ正常セグメントに仮設定された時空間セグメントの動き特徴量との類似度を算出し、算出した類似度の総和を計算し、仮設定された動き状態Lに関する周囲セグメントとの相違度に基づく評価値であるスムーズコスト(式(2)の右辺第2項)を求める。ちなみに、隣接する異常/正常セグメント間の類似度の和で定義される当該評価値は、異常セグメントと正常セグメントとの境界設定の尤もらしくなさを表しており、当該評価値が小さいほど異常/正常の境界設定の尤もらしさが高くなる。
【0105】
エネルギー算出手段431Bは、式(2)に示すように周囲セグメントとの相違度をλで重み付けして正常特徴量との相違度に加算し、仮設定した群衆の動き状態Lに対するエネルギー値E(L)を求める(S537)。
【0106】
乖離評価値算出手段431Cは、算出されたエネルギー値E(L)が最小のエネルギー値であるかを判定する(S538)。例えば、反復の各回のエネルギー値を順に記憶部3に記憶させ、エネルギー値の低下が予め設定した収束判定閾値未満になった場合に最小のエネルギー値に達したと判定する。また、反復上限回数を予め設定し、反復回数が反復上限回数に達したときに打ち切る条件を加えてもよい。
【0107】
乖離評価値算出手段431Cは、エネルギー値が未だ最小化されていないと判定した場合(S538にてNOの場合)、処理をステップS534に戻して反復処理を継続する。
【0108】
一方、乖離評価値算出手段431Cは、エネルギー値が最小化されたと判定した場合(S538にてYESの場合)、最小化時に仮設定していた群衆の動き状態を現在の動き状態として確定し、当該動き状態において異常セグメントに設定されている時空間セグメントの中で撮影時刻が現時刻である画素の数を乖離評価値として算出する(ステップS539)。
【0109】
異常判定手段431は算出した乖離評価値を異常判定閾値と比較し(ステップS540)、乖離評価値が異常判定閾値以上であれば(S540にてYESの場合)、異常信号を生成して(ステップS541)、処理を
図8のステップS54に進める。他方、乖離評価値が異常判定閾値未満であれば(S540にてNOの場合)、異常信号を生成せずに処理を
図8のステップS54に進める。
【0110】
図8に戻り異常検知処理時の動作の説明を続ける。上述した群衆の動き解析S53にて群衆内の異常な動きを検出した場合(S54にてYESの場合)、異常判定手段431はステップS541にて生成した異常信号を出力部5へ出力し(ステップS55)、処理をステップS50に戻す。一方、異常な動きを検出しなかった場合(S54にてNOの場合)、ステップS55をスキップして処理をステップS50に戻す。
【0111】
さて、群衆が検出されなかった場合(S52にてNOの場合)、画像処理部4は個別人物追跡手段44及び個別異常検知手段45として動作する。個別人物追跡手段44は取得した画像に撮影されている人物を個々に追跡し、各人物の移動軌跡を算出する(ステップS56)。
【0112】
個別異常検知手段45は算出された各人物の移動軌跡が長時間滞留を示す異常な移動軌跡またはうろつきを示す異常な移動軌跡であるかを判定する(ステップS57)。個別異常検知手段45は異常な移動軌跡を検出した場合(S57にてYESの場合)、異常信号を生成して出力部5へ出力し(ステップS58)、処理をステップS50に戻す。一方、異常な移動軌跡を検出しなかった場合(S57にてNOの場合)、ステップS58をスキップして処理をステップS50に戻す。
【0113】
図10は異常検知装置1による群衆の動きの解析例を示す模式的な画像である。画像800における点線は時空間セグメントの境界を表しており、群衆における人の形状、部位に対応して当該境界が現れている。また、矢印は時空間セグメントそれぞれの動き特徴量を表している。画像800に写る空間での群衆の正常な動きは画面にて上から下への人の流れである。
図10に示す画像は多くの人が正常な動きをしている中、2人(人物802)が正常な動きの人の流れに割り込もうとしている様子を示している。当該2人に係る時空間セグメントでは画面左から右ないし画面下から上への動き特徴が抽出されている。これらの動き特徴量は正常特徴量との相違度が高く、また周囲の時空間セグメントとの相違度も高いため、異常セグメント(
図10の斜線部)として検出される。乖離評価値として異常セグメントの面積の総和が算出され、その総和が異常判定閾値と比較される。例えば、
図10の例では当該閾値を超えたと判定され、群衆内の異常な動きが検出される。
【0114】
[変形例]
(1)上記実施形態においてエネルギー算出手段431Bは、正常特徴量に基づくエネルギーと周囲セグメントに基づくエネルギーを加算したが、エネルギー算出手段431Bはいずれか一方に基づくエネルギーを算出してもよい。すなわち正常モデルに基づくエネルギーのみでも異常検知を行うことができる。
【0115】
また例えば一方通行の通路のように群衆全体が一方向に移動することが正常な監視空間では、周囲セグメントに基づくエネルギーのみでも十分に異常検知を行うことができる。周囲セグメントに基づくエネルギーのみを用いる場合、正常モデル生成手段430及び正常モデル記憶手段30は不要であり、正常モデルを学習する手間が省けるため運用が容易となる。
【0116】
(2)上記実施形態において異常判定手段431がエネルギー最小化問題をグラフカット法で解く例を示したが、グラフカット法に代えて確率伝播法を適用することができる。グラフカット法で解く場合、エネルギー算出手段431Bは正常モデルに基づくエネルギーを、(a)異常セグメントの動き特徴量と当該異常セグメントに対応する画素位置の正常特徴量との類似度、(b)正常セグメントの動き特徴量と当該正常セグメントに対応する画素位置の正常特徴量との相違度、及び(c)時空間において異常セグメントに隣接する正常セグメントと当該異常セグメントとの動き特徴量の類似度の3要素を総和して算出したが、確率伝播法を適用する場合、エネルギー算出手段431Bは前記(b)の要素を用いずにエネルギーを算出する。
【0117】
(3)上記実施形態において動き解析手段43は群衆内の異常な動きを検出したが、これに限らず、動き解析手段43は時空間セグメントごとの動き特徴量に基づいて群衆の流量計測を行うこともできる。例えば、動き解析手段43は、全ての時空間セグメントの動き特徴量の平均速度を群衆全体の速度として算出し、全ての時空間セグメントの動き特徴量の平均方向を群衆全体の移動方向として算出することができる。