以下に図面を参照して、本発明にかかる監視装置、監視方法および監視プログラムの実施の形態を詳細に説明する。
(監視方法の一実施例)
図1は、実施の形態にかかる監視方法の一実施例を示す説明図である。図1において、監視装置100は、カメラC(例えば、カメラ101〜103)により撮影される動画像のうちのいずれかの画像から検出した移動対象物のうち、特徴量の抽出対象となる移動対象物を決定するコンピュータである。
カメラCは、移動対象物を撮影する撮影装置である。カメラCは、例えば、監視エリア内の多地点に配置される。監視エリアは、例えば、商業施設、駅構内、市街地、高速道路などである。カメラCは、監視装置100と接続され、所定の時間間隔(例えば、1/30[秒])で撮影した一連の画像を動画像として監視装置100に出力する。
移動対象物は、移動する物体であり、例えば、人物、車両、犬や猫などの動物である。特徴量とは、カメラCにより撮影される画像を画像処理して得られる、移動対象物を特徴付ける情報である。画像は、例えば、カメラCにより撮影される動画像を形成する1フレーム分の画像データである。
例えば、移動対象物を「人物」とすると、特徴量は、人物の顔画像、身長、年齢、性別、服装などである。また、移動対象物を「車両」とすると、特徴量は、車体画像、車種、車体の色、ナンバープレートに記された車両の登録地や番号などを示す文字列である。また、移動対象物を「動物」とすると、特徴量は、動物の顔画像、体長、品種などである。
以下の説明では、移動対象物として「人物」を例に挙げて説明する。
ここで、商業施設や駅構内などの歩行者の多い監視エリアでは、多地点に配置されるカメラCに映る人物が多くなり、人物の特徴量を抽出するための画像処理にかかる処理時間が爆発的に増加する場合がある。一方で、コンピュータでリアルタイムに処理できる処理量には限りがある。
このため、カメラCにより次々と撮影される画像から特徴量を抽出するための画像処理が追いつかず、カメラCに映る全ての人物の特徴量をリアルタイムに抽出することができない場合がある。したがって、カメラCに映る人物のうち、どの人物の特徴量を優先して抽出すべきであるかという取捨選択が重要となる。
ところが、特徴量を優先して抽出すべき人物の選択を適切に行わないと、特徴量を抽出する機会を失ってしまう人物が出てきてしまう。例えば、図1に示すように、ある時刻t1に、場所Aに設置されたカメラ101に人物P1が映っており、場所Bに設置されたカメラ103に人物P2が映っているとする。
ここで、時刻t1に特徴量を抽出する人物を、人物P1,P2のいずれにするか選択する場合を想定する。ただし、人物P1は、時刻t1以降に、矢印L1で示す移動方向に移動して、時刻t2において、カメラ102でも映る場合を想定する。一方、人物P2は、時刻t1以降は、カメラ101〜103のいずれにも映らない場合を想定する。
例えば、時刻t1に人物P2の特徴量を抽出すると選択した場合、時刻t1に人物P1の特徴量は抽出できないが、時刻t2にカメラ102に人物P1が映る。このため、人物P1の特徴量は、時刻t2にカメラ102により撮影される画像から抽出することができる。
一方、時刻t1に人物P1の特徴量を抽出すると選択した場合、時刻t1に人物P2の特徴量を抽出できない。また、人物P2は時刻t1以降いずれのカメラCにも映らない。このため、時刻t1に人物P2の特徴量を抽出できなければ、人物P2の特徴量の抽出漏れが発生してしまうことになる。
そこで、本実施の形態では、監視エリアにおいて今後特徴量を抽出する機会が少ない人物を優先して特徴量の抽出対象に決定することで、人物の特徴量の抽出漏れの発生を抑制する監視方法について説明する。以下、監視装置100の監視処理例について説明する。
(1)監視装置100は、複数のカメラCの少なくともいずれかのカメラCにより撮影された画像から特徴量の抽出対象候補となる人物を検出して、人物の位置を特定する。例えば、監視装置100は、背景差分法を用いて、カメラCにより撮影された画像から人物領域を抽出することにより、人物を検出することにしてもよい。
ここで、背景差分法とは、事前に用意した背景画像と、観測画像(カメラCによって撮影された画像)とを比較して、事前に用意した背景画像に存在しない物体を抽出するものである。具体的には、例えば、監視装置100は、事前に用意した背景画像とカメラCにより撮影された画像との差分をとり、差分が大きい領域を人物領域として抽出する。
人物の位置は、例えば、画像座標系における座標で表現される。具体的には、例えば、人物の位置は、画像上の人物領域を囲う外接矩形領域の中心座標でもよく、また、人物領域を囲う外接矩形領域の上端または下端の中心座標でもよい。特定された人物の位置は、後述の図3に示すメモリ302やディスク305などの記憶装置に履歴情報として記録される。
以下の説明では、カメラCにより撮影された画像から検出された特徴量の抽出対象候補となる人物を「対象人物P」と表記する場合がある。
図1の例では、監視装置100は、カメラ101により撮影された画像から特徴量の抽出対象候補となる対象人物P1を検出し、対象人物P1の位置を特定する。また、監視装置100は、カメラ103により撮影された画像から特徴量の抽出対象候補となる対象人物P2を検出し、対象人物P2の位置を特定する。
ただし、カメラCにより撮影される画像の中には、人物の特徴量の抽出に適さない画像が含まれている場合がある。例えば、照度が不十分な状態で撮影された画像や逆光状態で撮影された画像は、人物の特徴量の抽出に適していない。このため、監視装置100は、人物の特徴量の抽出に適さない画像を処理対象から除外することにしてもよい。
(2)監視装置100は、特定した対象人物Pの位置の時系列変化に基づいて、対象人物の移動方向Lおよび移動速度Vを算出する。ここで、対象人物Pの位置の時系列変化とは、時間の経過にしたがって変化する対象人物Pの位置である。対象人物Pの位置の時系列変化は、例えば、記録された対象人物Pの位置の履歴情報から特定される。
一例として、カメラ101により撮影される動画像のうち、現フレームの画像上での対象人物P1の位置c1と、直前フレームの画像上での対象人物P1の位置c2が、対象人物P1の位置の履歴情報として記録されているとする。
この場合、監視装置100は、対象人物P1の位置c1,c2を画像座標系から空間座標系に変換し、変換後の位置c2から位置c1に向かうベクトルの方向を、対象人物P1の移動方向L1として算出する。また、監視装置100は、変換後の位置c1と位置c2との距離を、フレーム間の時間間隔(例えば、1/30[秒])で除算することにより、対象人物P1の移動速度V1を算出する。
対象人物P2についても同様に、監視装置100は、対象人物P2の位置の履歴情報に基づいて、対象人物P2の移動方向L2および移動速度V2を算出する。
(3)監視装置100は、記憶部110を参照して、算出した対象人物Pの移動方向Lおよび移動速度Vに基づいて、対象人物Pの抽出可能期間Tを算出する。ここで、記憶部110は、複数のカメラCのそれぞれの撮影範囲に関する情報を記憶する。撮影範囲は、カメラCにより撮影される範囲である。
より具体的には、例えば、記憶部110は、監視エリアに設置された各カメラCの撮影範囲のうち抽出可能範囲dを特定する情報を記憶することにしてもよい。抽出可能範囲dは、カメラCの撮影範囲のうち人物の特徴量を抽出可能な範囲である。各カメラCの抽出可能範囲dは、予め任意に設定可能である。
特徴量の種類によっては、カメラCに対象人物Pの一部が映っていれば抽出できるものもあれば、対象人物Pの全体が映っていないと抽出できないものもある。また、カメラCの周辺にある物(例えば、看板、壁、屋根など)が妨げとなって、カメラCの撮影範囲であっても人物が映り込まない範囲が存在することがある。
このため、各カメラCの抽出可能範囲dは、特徴量の種類やカメラCの設置状況などを考慮して適宜設定される。各カメラCの抽出可能範囲dは、例えば、人物の特徴量を抽出可能な距離によって表現される(単位は、例えば、[m(メートル)])。また、各カメラCの撮影範囲全体を、各カメラCの抽出可能範囲dとして設定することにしてもよい。
抽出可能期間Tは、監視エリアにおいて、対象人物Pの特徴量を抽出可能な残りの予測期間である。抽出可能期間Tが長いほど、対象人物Pの特徴量を抽出できる機会が多いことを意味する。抽出可能期間Tは、例えば、監視エリア内で対象人物Pの特徴量を抽出可能な画像を撮影できる、残りのフレーム数、あるいは、残り時間によって表現される。
より詳細に説明すると、記憶部110は、例えば、各カメラCに映る位置から所定方向に移動した場合の経路上に存在する各カメラCの抽出可能範囲dを特定する情報を記憶している。図1の例では、記憶部110は、カメラ101に映る位置から移動方向L1に移動した場合の経路上に存在するカメラ101,102の抽出可能範囲d1,d2を特定する情報を記憶している。
また、記憶部110は、カメラ103に映る位置から移動方向L2に移動した場合の経路上に存在するカメラ103の抽出可能範囲d3を特定する情報を記憶している。すなわち、監視エリアにおいて、カメラ103に映る位置から移動方向L2に移動した経路上には、カメラ103以外のカメラCは存在しない。
この場合、監視装置100は、記憶部110を参照して、対象人物P1の位置(空間座標系における位置)から移動方向L1に移動した場合の経路上に存在するカメラ101,102を特定する。そして、監視装置100は、特定したカメラ101,102の抽出可能範囲d1,d2と、対象人物P1の移動速度V1に基づいて、対象人物P1の抽出可能期間T1を算出する。
より具体的には、例えば、監視装置100は、カメラ101,102の抽出可能範囲d1,d2の合計値を、対象人物P1の移動速度V1で除算することにより、対象人物P1の抽出可能期間T1を算出する。この場合、対象人物P1の抽出可能期間T1は「T1=(d1+d2)/V1」となる。
同様に、監視装置100は、記憶部110を参照して、対象人物P2の位置(空間座標系における位置)から移動方向L2に移動した場合の経路上に存在するカメラ103を特定する。そして、監視装置100は、特定したカメラ103の抽出可能範囲d3と、対象人物P2の移動速度V2に基づいて、対象人物P2の抽出可能期間T2を算出する。
より具体的には、例えば、監視装置100は、カメラ103の抽出可能範囲d3を、対象人物P2の移動速度V2で除算することにより、対象人物P2の抽出可能期間T2を算出する。この場合、対象人物P2の抽出可能期間T2は「T2=d3/V2」となる。ここでは、抽出可能期間T1,T2の大小関係は「T1>T2」となる。
(4)監視装置100は、検出した対象人物Pのうち、算出した抽出可能期間Tが相対的に少ない対象人物Pを優先して特徴量の抽出対象に決定する。図1の例では、監視装置100は、検出した対象人物P1,P2のうち、抽出可能期間T2が抽出可能期間T1よりも少ない対象人物P2を優先して特徴量の抽出対象に決定する。
このように、監視装置100によれば、特徴量の抽出対象候補となる対象人物Pが、今後どの方向にどれくらいの速度で移動するかを予測して、対象人物Pの特徴量を抽出可能な抽出可能期間Tを算出することができる。これにより、監視エリアにおいて対象人物Pの特徴量を抽出可能な機会がどれくらい残されているのかを定量的に評価することが可能となる。
また、監視装置100によれば、検出した対象人物Pのうち、算出した抽出可能期間Tが相対的に少ない対象人物Pを優先して特徴量の抽出対象に決定することができる。これにより、今後特徴量を抽出可能な機会が少ない対象人物Pの特徴量を優先して抽出することが可能となり、対象人物Pの特徴量の抽出漏れの発生を抑制することができる。
なお、監視装置100により抽出対象に決定された対象人物Pについての特徴量の抽出処理は、例えば、監視装置100において実行されてもよく、また、監視装置100に接続された他のコンピュータで実行されてもよい。
(監視システム200のシステム構成例)
つぎに、実施の形態にかかる監視システム200のシステム構成例について説明する。監視システム200は、例えば、犯罪者、迷子、行方不明者などの捜索に利用される人物検索システムに適用される。
図2は、監視システム200のシステム構成例を示す説明図である。図2において、監視システム200は、監視装置100と、カメラC1〜Cnと、を含む構成である(nは、2以上の自然数)。監視システム200において、監視装置100とカメラC1〜Cnは、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
ここで、監視装置100は、対象人物情報DB(データベース)220およびカメラ情報DB230を有し、各カメラC1〜Cnにより撮影される画像から検出した対象人物Pのうち、特徴量の抽出対象となる対象人物Pを決定する。監視装置100は、例えば、サーバである。各種DB等220,230の記憶内容については、図4および図5を用いて後述する。
カメラC1〜Cnは、監視エリア内の多地点に配置され、人物を撮影する撮影装置である。カメラC1〜Cnは、時間間隔INVで撮影した一連の画像を動画像として監視装置100に出力する。時間間隔INVは、例えば、1/30[秒]である。カメラC1〜Cnは、例えば、単眼カメラであってもステレオカメラ(二眼カメラ)であってもよい。また、図1に示したカメラ101〜103は、例えば、カメラC1〜Cnに対応する。
以下の説明では、カメラC1〜Cnのうちのいずれかのカメラを「カメラCi」と表記する場合がある(i=1,2,…,n)。
(監視装置100のハードウェア構成例)
図3は、監視装置100のハードウェア構成例を示すブロック図である。図3において、監視装置100は、CPU(Central Processing Unit)301と、メモリ302と、I/F(Interface)303と、ディスクドライブ304と、ディスク305と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
ここで、CPU301は、監視装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
I/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータ(例えば、図2に示したカメラC1〜Cn)に接続される。そして、I/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。I/F303には、例えば、モデムやLANアダプタなどを採用することができる。
ディスクドライブ304は、CPU301の制御に従ってディスク305に対するデータのリード/ライトを制御する。ディスク305は、ディスクドライブ304の制御で書き込まれたデータを記憶する。ディスク305としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
なお、監視装置100は、上述した構成部のほか、例えば、SSD(Solid State Drive)、キーボード、マウス、ディスプレイなどを有することにしてもよい。
(対象人物情報DB220の記憶内容)
つぎに、図2に示した対象人物情報DB220の記憶内容について説明する。対象人物情報DB220は、例えば、図3に示したメモリ302やディスク305などの記憶装置により実現される。
図4は、対象人物情報DB220の記憶内容の一例を示す説明図である。図4において、対象人物情報DB220は、直前フレームの対象人物情報(例えば、対象人物情報410−1,410−2)と現フレームの対象人物情報(例えば、対象人物情報420−1,420−2)とを記憶する。具体的には、対象人物情報DB220は、人物ID、検出カメラID、色ヒストグラム、人物位置、移動方向および移動速度のフィールドを有し、各フィールドに情報を設定することで、直前フレームおよび現フレームの対象人物情報をレコードとして記憶する。
ここで、人物IDは、対象人物Pを識別する識別子である。検出カメラIDは、対象人物Pが検出されたカメラCiを識別する識別子である。色ヒストグラムは、カメラCiにより撮影された画像から抽出される対象人物Pの人物領域の中に、どの色成分(例えば、RGBやHSV)が何画素含まれているかを示すヒストグラムである。
人物位置は、カメラCiにより撮影された画像上での対象人物Pの位置(画像座標系における位置)である。移動方向は、対象人物Pの移動方向Lである。ここでは、移動方向は、東西南北などの方角によって表現される。移動速度は、対象人物Pの移動速度Vである。ここでは、移動速度は、[m(メートル)/frame(フレーム)]の単位によって表現される。
図示は省略するが、対象人物情報DB220には、例えば、人物IDと対応付けて、対象人物Pの人物領域の画像データが記憶される。人物領域の画像データは、例えば、対象人物Pの特徴量を抽出する特徴抽出処理に利用される。
なお、上述した説明では、対象人物情報DB220は、直前フレームの対象人物情報と現フレームの対象人物情報とを記憶する場合を例に挙げて説明したが、これに限らない。例えば、対象人物情報DB220は、過去数フレーム分の対象人物情報を記憶することにしてもよい。
(カメラ情報DB230の記憶内容)
つぎに、図2に示したカメラ情報DB230の記憶内容について説明する。カメラ情報DB230は、例えば、図3に示したメモリ302やディスク305などの記憶装置により実現される。また、図1に示した記憶部110は、例えば、カメラ情報DB230に対応する。
図5は、カメラ情報DB230の記憶内容の一例を示す説明図である。図5において、カメラ情報DB230は、カメラID、移動方向、移動先カメラIDおよび特徴抽出可能距離のフィールドを有し、各フィールドに情報を設定することで、カメラ情報(例えば、カメラ情報500−1〜500−3)をレコードとして記憶する。
ここで、カメラIDは、カメラCiを識別する識別子である。移動方向は、カメラCiに映る位置からの移動方向である。移動先カメラIDは、カメラCiに映る位置から対応する移動方向に移動した場合の経路上に存在するカメラCjを識別する識別子である(j≠i、j=1,2,…,n)。
特徴抽出可能距離は、カメラCiの撮影範囲のうち人物の特徴量を抽出可能な抽出可能範囲を特定する情報である。特徴抽出可能距離は、例えば、事前にカメラCiにより撮影された画像Fiを用いて人物の特徴量を抽出する特徴抽出処理を実施し、人物の特徴量を抽出できた画像Fi上の範囲をもとに設定される。特徴抽出可能距離の詳細な説明については、図6を用いて後述する。
カメラ情報500−1を例に挙げると、カメラC1に映る位置から東方向に移動した場合の経路上に存在するカメラC1,C2,C3,C4の特徴抽出可能距離をそれぞれ示している。なお、カメラC3の特徴抽出可能距離が「0[m]」となっているのは、人物がカメラC3の撮影方向と同一方向を向いて移動することになり、人物の正面を撮影できないためである。
(カメラCiの特徴抽出可能距離の具体例)
図6は、カメラCiの特徴抽出可能距離の具体例を示す説明図である。図6において、画像600は、カメラCiにより撮影される画像Fiである。画像600において、領域610(実線枠)は、カメラCiの撮影範囲を示す。また、領域620(点線枠)は、カメラCiの撮影範囲のうち人物の特徴量を抽出可能な抽出可能範囲である。
この場合、画像座標系における領域620の右下の端点621(または、左下の端点)と右上の端点622(または、左上の端点)との距離を、空間座標系における距離で表した値(図6の例では、8[m])が、カメラCiの特徴抽出可能距離として設定される。すなわち、カメラCiの抽出可能範囲を人物が通過する際の最短距離相当が、カメラCiの特徴抽出可能距離として設定される。
(監視装置100の機能的構成例)
図7は、監視装置100の機能的構成例を示すブロック図である。図7において、監視装置100は、取得部701と、検出部702と、方向/速度算出部703と、期間算出部704と、決定部705と、特徴抽出部706と、出力部707と、を含む構成である。取得部701〜出力部707は制御部となる機能であり、具体的には、例えば、図3に示したメモリ302、ディスク305などの記憶装置に記憶された監視プログラムをCPU301に実行させることにより、または、I/F303により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク305などの記憶装置に記憶される。
取得部701は、カメラCiにより撮影された画像Fiを取得する。ここで、画像Fiは、カメラCiにより撮影される動画像のうちの1フレーム分の画像データである。具体的には、例えば、取得部701は、カメラC1〜Cnにより時間間隔INVでそれぞれ撮影される画像F1〜Fnを、カメラC1〜Cnからそれぞれ取得する。
検出部702は、カメラCiにより撮影された画像Fiから特徴量の抽出対象候補となる対象人物Pを検出して、対象人物Pの位置を特定する。具体的には、例えば、検出部702は、背景差分法を用いて、カメラCiにより撮影された画像Fiから人物領域を抽出することにより、対象人物Pを検出する。
ここで、図8を用いて、対象人物Pの検出例について説明する。
図8は、対象人物Pの検出例を示す説明図である。図8において、画像800は、カメラCiにより撮影された画像Fiである。検出部702は、事前に用意した背景画像とカメラCiにより撮影された画像800との差分をとり、差分が大きい領域を人物領域として抽出する。
図8の例では、画像800から人物領域801〜804が抽出される。一例として、人物領域801を例に挙げると、検出部702は、画像800上の人物領域801を囲う外接矩形領域810の下端の中心座標811を、人物領域801に対応する対象人物Pの位置として特定する。
また、検出部702は、人物領域801の色ヒストグラムを作成する。色ヒストグラムは、例えば、RGB色空間のRGBそれぞれを16分割した16×16×16ビンのヒストグラムや、HSV色空間のHue(色相)とSaturation(彩度)のそれぞれを64分割した64×64ビンのヒストグラムなどである。
具体的には、例えば、検出部702は、人物領域801の画素情報に基づいて、RGB色空間のRGBそれぞれを16分割した16×16×16ビンの色ヒストグラムを作成する。また、例えば、検出部702は、人物領域801の画素情報に基づいて、HSV色空間の色相と彩度のそれぞれを64分割した64×64ビンの色ヒストグラムを作成することにしてもよい。
また、検出部702は、人物領域801〜804ごとに人物IDを付与し、人物ID、検出カメラID、色ヒストグラムおよび対象人物Pの位置(人物位置)を対応付けて、対象人物情報DB220に記録する。これにより、新たな対象人物情報が対象人物情報DB220に新規登録される。この時点では、対象人物情報の移動方向および移動速度は未設定である。
なお、画像Fiで複数の人物領域が重なっている場合には、検出部702は、例えば、カメラCiから人物までの距離情報をもとに、人物領域を分離することにしてもよい。カメラCiから人物までの距離情報は、例えば、カメラCiとしてステレオカメラ(二眼カメラ)を利用することで、カメラCiから得ることができる。
また、対象人物情報DB220には、上述したように、直前フレームの対象人物情報と現フレームの対象人物情報とが記憶される。このため、次フレームの画像Fiが取得されると、現フレームの対象人物情報が直前フレームの対象人物情報となり、次フレームの対象人物情報が現フレームの対象人物情報となる。
図7の説明に戻り、検出部702は、カメラC1〜Cnのうち逆光状態ではないカメラCiにより撮影された画像Fiから特徴量の抽出候補となる対象人物Pを検出することにしてもよい。ここで、逆光状態で人物を撮影すると人物領域は全体的に暗くなる。すなわち、人物領域の中に輝度の高い画素が含まれない場合は、カメラCiが逆光状態であると判断できる。
このため、検出部702は、例えば、カメラCiにより撮影された画像Fiの背景領域外の画素群のうち輝度値が閾値以上の画素の割合に基づいて、カメラCiが逆光状態であるか否かを判定することにしてもよい。なお、カメラCiの逆光状態を判定する具体的な処理手順については、図16のフローチャートを用いて後述する。
また、検出部702は、カメラC1〜Cnのうち撮影範囲の照度が十分であると判定したカメラCiにより撮影された画像Fiから特徴量の抽出候補となる対象人物Pを検出することにしてもよい。ここで、照度とは、光に照らされている面(撮影範囲)の明るさの度合いである。
具体的には、例えば、検出部702は、カメラCiにより撮影された画像Fiの背景領域の画素の平均輝度値に基づいて、カメラCiの撮影範囲の照度が十分であるか否かを判定することにしてもよい。なお、カメラCiの撮影範囲の照度を判定する具体的な処理手順については、図15のフローチャートを用いて後述する。
方向/速度算出部703は、特定した対象人物Pの位置の時系列変化に基づいて、対象人物Pの移動方向Lおよび移動速度Vを算出する。具体的には、例えば、まず、方向/速度算出部703は、対象人物情報DB220の現フレームの対象人物情報の色ヒストグラムと直前フレームの対象人物情報の色ヒストグラムとを比較して、対象人物Pの対応付けを行う。
なお、比較対象とする色ヒストグラムは、例えば、同一のカメラCiにより撮影された現フレームの画像Fiおよび直前フレームの画像Fiのそれぞれに基づく対象人物情報の色ヒストグラムとする。
より詳細に説明すると、例えば、方向/速度算出部703は、現フレームの対象人物情報の色ヒストグラムと直前フレームの対象人物情報の色ヒストグラムとの類似度を算出する。色ヒストグラムの類似度としては、例えば、Bhattacharyya(バタチャリア)係数を利用することができる。
この場合、方向/速度算出部703は、例えば、下記式(1)を用いて、ビン数がnである色ヒストグラムhAと色ヒストグラムhBのBhattacharyya係数Bを求めることができる。ただし、色ヒストグラムは、全体を画素数で除算することで正規化済みとする。Bhattacharyya係数Bが高いほど、色ヒストグラムhAと色ヒストグラムhBの類似度が高いことを表す。
方向/速度算出部703は、直前フレームの対象人物情報の色ヒストグラムのうち、現フレームの対象人物情報の色ヒストグラムとの類似度(Bhattacharyya係数B)が最大となる色ヒストグラムを特定する。そして、方向/速度算出部703は、現フレームの対象人物情報と、特定した類似度が最大の色ヒストグラムを含む直前フレームの対象人物情報とを対応付ける。
この際、現フレームの対象人物情報の人物IDを、対応する直前フレームの対象人物情報の人物IDに書き換える。これにより、現フレーム/直前フレーム間で対象人物Pの対応付けを行うことができる。
ただし、最大の類似度が、予め設定された閾値以下であれば、方向/速度算出部703は、現フレームの対象人物情報と直前フレームの対象人物情報との対応付けを行わないことにしてもよい。すなわち、最大の類似度が閾値以下であれば、現フレームの画像Fiに映る対象人物Pは全て新規に出現した人物として扱う。
さらに、方向/速度算出部703は、直前フレームの対象人物情報のうち、現フレームの対象人物情報の人物位置との距離が近い対象人物情報ほど、色ヒストグラムの類似度が高くなるように重み付けすることにしてもよい。
また、方向/速度算出部703は、直前フレームの対象人物情報のうち、現フレームの対象人物情報の人物位置との距離が最小かつ閾値以下となる人物位置を含む対象人物情報を、現フレームの対象人物情報と対応付けることにしてもよい。すなわち、方向/速度算出部703は、フレーム間での人物位置の距離が最小かつ閾値以下となる対象人物P同士を対応付けることにしてもよい。
つぎに、方向/速度算出部703は、フレーム間で対応する対象人物情報の人物位置の時系列変化に基づいて、対象人物Pの移動方向および移動速度を算出する。具体的には、例えば、下記式(2)および(3)を用いて、フレーム間で対応する対象人物情報の人物位置を画像座標系から空間座標系に変換する。
ただし、(u,v)は、画像座標系における人物位置の座標位置である。また、(Xw,Yw,Zw)は、空間座標系における人物位置の座標位置である。また、pnmは、カメラCiの設置位置や歪み係数などを考慮して、事前にカメラキャリブレーションにより求めた係数である(n=1,2,3、m=1,2,3,4)。また、Ywは「Yw=0」とする。また、ここでは、カメラCiが単眼カメラである場合を想定する。
ここで、空間座標系における現フレームの人物位置を「人物位置c1」とし、直前フレームの人物位置を「人物位置c2」とする。この場合、方向/速度算出部703は、人物位置c2から人物位置c1に向かうベクトルの方向を、対象人物Pの移動方向Lとして算出する。移動方向Lは、例えば、東西南北の方角によって表現される。
また、方向/速度算出部703は、人物位置c1と人物位置c2との距離を、フレーム間の時間間隔INV(例えば、1/30[秒])で除算することにより、対象人物Pの移動速度Vを算出する。すなわち、移動速度Vは、対象人物Pが1フレームごとに進む距離を表す(単位:[m/frame])。
算出された対象人物Pの移動方向Lおよび移動速度Vは、対象人物情報DB220内の対応する現フレームの対象人物情報に設定される。
期間算出部704は、カメラ情報DB230を参照して、算出された対象人物Pの移動方向Lおよび移動速度Vに基づいて、対象人物Pの特徴量を抽出可能な抽出可能期間Tを算出する。具体的には、例えば、まず、期間算出部704は、カメラ情報DB230を参照して、対象人物Pの位置から、対象人物Pの移動方向Lに移動した場合の経路上に存在する移動先カメラCを特定する。
そして、期間算出部704は、特定した移動先カメラCの特徴抽出可能距離dと、対象人物Pの移動速度Vとに基づいて、対象人物Pの抽出可能期間Tを算出する。より具体的には、例えば、期間算出部704は、特定した移動先カメラCの特徴抽出可能距離dの合計値Dを算出し、算出した合計値Dを対象人物Pの移動速度Vで除算することにより、対象人物Pの抽出可能期間Tを算出する。
また、期間算出部704は、特定した移動先カメラCのうち逆光状態ではないカメラCiの特徴抽出可能距離diと、対象人物Pの移動速度Vとに基づいて、対象人物Pの抽出可能期間Tを算出することにしてもよい。これにより、移動先カメラCのうち逆光状態にあるカメラを除外して、対象人物Pの抽出可能期間Tを算出することができる。
また、期間算出部704は、特定した移動先カメラCのうち撮影範囲の照度が十分であると判定したカメラCiの特徴抽出可能距離diと、対象人物Pの移動速度Vとに基づいて、対象人物Pの抽出可能期間Tを算出することにしてもよい。これにより、移動先カメラCのうち撮影範囲の照度が不十分なカメラを除外して、対象人物Pの抽出可能期間Tを算出することができる。
また、期間算出部704は、特定した移動先カメラCのうち現フレームの画像Fiに対象人物Pが映っているカメラCiの特徴抽出可能距離diとして、特徴抽出可能距離diから距離mdを引いた値を用いることにしてもよい。ここで、現フレームの画像Fiに対象人物Pが映っているカメラCiとは、対象人物Pの検出元となる画像を撮影したカメラである。
また、距離mdとは、カメラCiの特徴抽出可能距離diのうち対象人物Pが既に移動した距離である。これにより、対象人物Pが映っているカメラCiの特徴抽出可能距離diから対象人物Pが既に移動した距離mdを除外して、対象人物Pの抽出可能期間Tを算出することができる。
なお、対象人物Pの抽出可能期間Tの算出例については、図10および図11を用いて後述する。また、算出された対象人物Pの抽出可能期間Tは、例えば、図9に示す抽出可能期間テーブル900に記憶される。ここで、抽出可能期間テーブル900の記憶内容について説明する。
図9は、抽出可能期間テーブル900の記憶内容の一例を示す説明図である。図9において、抽出可能期間テーブル900は、人物IDおよび抽出可能期間のフィールドを有し、各フィールドに情報を設定することで、抽出可能期間情報(例えば、抽出可能期間情報900−1〜900−7)をレコードとして記憶する。
ここで、人物IDは、対象人物Pを識別する識別子である。抽出可能期間は、対象人物Pの抽出可能期間Tである。抽出可能期間テーブル900では、対象人物Pの抽出可能期間Tが昇順となるように抽出可能期間情報がソートされて記憶されている。抽出可能期間情報900−1を例に挙げると、対象人物P12の抽出可能期間T12「T12=2[フレーム]」を示している。
図7の説明に戻り、決定部705は、検出された対象人物Pのうち、算出された抽出可能期間Tが相対的に少ない対象人物Pを優先して特徴量の抽出対象に決定する。具体的には、例えば、決定部705は、図9に示した抽出可能期間テーブル900を参照して、抽出可能期間Tが少ないほうから所定数Mの抽出可能期間情報を選択する。
ここで、所定数Mは、任意に設定される値である。例えば、所定数Mは、カメラCiにより撮影される画像Fiから人物の特徴量をリアルタイムに抽出できるように、人物の特徴量を抽出する特徴抽出処理を実行するコンピュータ(例えば、監視装置100)の処理能力や特徴抽出処理の処理内容に応じて適宜設定される。より具体的には、例えば、所定数Mは、抽出対象となる全ての対象人物Pの特徴量を抽出する特徴抽出処理にかかる処理時間が、予め規定された処理時間(例えば、時間間隔INV)を超えないように設定される。
そして、決定部705は、選択した抽出可能期間情報の人物IDから識別される対象人物Pを、現フレームにおいて特徴量を抽出する抽出対象に決定する。一例として、所定数Mを「M=5」とすると、決定部705は、抽出可能期間テーブル900を参照して、対象人物P12,P5,P8,P11,P9を抽出対象に決定する。なお、特徴量を抽出済みの対象人物Pについては、特徴量の抽出対象候補から除外することにしてよい。
特徴抽出部706は、抽出対象に決定された対象人物Pの特徴量を抽出する。具体的には、例えば、特徴抽出部706は、カメラCiにより撮影された現フレームの画像Fi内の対象人物Pの人物領域の画像データから、対象人物Pの顔画像、身長、年齢、性別、服装などの特徴量を抽出する。
出力部707は、抽出された対象人物Pの特徴量を出力する。出力部707の出力形式としては、例えば、メモリ302やディスク305などの記憶装置への記憶、I/F303による外部のコンピュータへの送信、不図示のディスプレイへの表示、不図示のプリンタへの印刷出力などがある。
なお、上述した説明では、特徴抽出部706により対象人物Pの特徴量を抽出することにしたが、監視装置100は特徴抽出部706を有していなくてもよい。この場合、例えば、出力部707は、決定部705によって抽出対象に決定された対象人物Pの人物領域の画像データを出力することにしてもよい。
(対象人物Pの抽出可能期間Tの算出例)
つぎに、図10および図11を用いて、対象人物Pの抽出可能期間Tの算出例について説明する。ここでは、図4に示した現フレームの対象人物情報420−1を例に挙げて、対象人物P1の抽出可能期間T1の算出例について説明する。
図10は、カメラC1に映る対象人物P1の位置の具体例を示す説明図である。図10において、画像1000は、カメラC1により撮影された画像F1である。画像1000において、領域1010(点線枠)は、カメラC1の撮影範囲のうち人物の特徴量を抽出可能な抽出可能範囲であり、特徴抽出可能距離d1は「d1=6[m]」である。
ここで、対象人物P1は、移動方向L1(東の方角)に向かって移動している。対象人物P1の位置1001(空間座標系)は、領域1010を移動方向L1に沿って2[m]進んだ位置となっている。すなわち、カメラC1の特徴抽出可能距離d1のうち対象人物P1が既に移動した距離mdは、「md=2[m]」である。
この距離mdは、例えば、以下のように特定することができる。
まず、期間算出部704は、画像座標系において、対象人物P1の位置1001を通り、かつ、領域1010の上辺と平行な直線1020と、領域1010の左辺との交点1002を特定する。つぎに、期間算出部704は、交点1002の座標位置と領域1010の左上の端点1003の座標位置を空間座標系に変換する。
そして、期間算出部704は、空間座標系において、交点1002と端点1003との間の距離を算出することにより、領域1010内で対象人物P1が移動方向L1に沿って既に移動した距離mdを求めることができる。以下、図11を用いて、図10に示す対象人物P1の抽出可能期間T1の算出例について説明する。
図11は、移動先カメラCiの特徴抽出可能距離diの具体例を示す説明図である。まず、期間算出部704は、現フレームの対象人物情報420−1を参照して、対象人物P1の検出カメラID「C1」および移動方向「東」を特定する。つぎに、期間算出部704は、特定した検出カメラID「C1」および移動方向「東」を検索キーとして、カメラ情報DB230を参照して、カメラC1に映る位置から移動方向「東」に移動した場合の経路上に存在する移動先カメラを特定する。
ここでは、図11に示すように、移動先カメラC1,C2,C3,C4が特定される。移動先カメラC1,C2,C3,C4の特徴抽出可能距離d1,d2,d3,d4は、6[m]、8[m]、0[m]、8[m]である。ただし、図11では、移動先カメラC3は、特徴抽出可能距離d3が「0[m]」のため図示を省略する。
また、移動先カメラC4は、人物の特徴量の抽出に適さない逆光状態であるカメラであるとする。また、図10に示したように、対象人物P1は、カメラC1の特徴抽出可能距離d1のうち既に2[m]移動している。このため、カメラC1の特徴抽出可能距離d1は、6[m]から2[m]を引いた4[m]とする。
この場合、期間算出部704は、移動先カメラC1,C2,C3の特徴出可能距離d1,d2,d3の合計値Dを算出する。ここでは、合計値Dは、「D=12[m]」となる。そして、期間算出部704は、算出した合計値Dを対象人物P1の移動速度V1で除算することにより、対象人物P1の抽出可能期間T1を算出する。現フレームの対象人物情報420−1の例では、対象人物P1の移動速度V1は、1.0[m/frame]である。このため、対象人物P1の抽出可能期間T1は、12[frame]となる。
(監視装置100の監視処理手順)
つぎに、監視装置100の監視処理手順について説明する。ここでは、ある時刻tにおいてカメラC1〜Cnにより撮影された画像F1〜Fnに対して実行される監視処理手順について説明する。この監視処理は、例えば、時間間隔INVごとにカメラC1〜Cnにより撮影される画像F1〜Fnが取得される度に実行される。
図12および図13は、監視装置100の監視処理手順の一例を示すフローチャートである。図12のフローチャートにおいて、まず、監視装置100は、カメラCiの「i」を「i=1」とし(ステップS1201)、カメラCiにより撮影された画像Fiを読み込む(ステップS1202)。
つぎに、監視装置100は、画像Fiに対して画像選定処理を実行する(ステップS1203)。画像選定処理は、人物の特徴量の抽出に適した処理対象画像を選定するための処理である。画像選定処理の具体的な処理手順については、図14を用いて後述する。
そして、監視装置100は、画像Fiが処理対象画像であるか否かを判断する(ステップS1204)。ここで、画像Fiが処理対象画像でない場合(ステップS1204:No)、監視装置100は、ステップS1206に移行する。
一方、画像Fiが処理対象画像である場合(ステップS1204:Yes)、監視装置100は、画像Fiに対して人物検出処理を実行する(ステップS1205)。人物検出処理は、画像Fiから対象人物Pを検出するための処理である。人物検出処理の具体的な処理手順については、図17を用いて後述する。
つぎに、監視装置100は、カメラCiの「i」をインクリメントして(ステップS1206)、「i」が「n」より大きいか否かを判断する(ステップS1207)。ここで、「i」が「n」以下の場合(ステップS1207:No)、監視装置100は、ステップS1202に戻る。
一方、「i」が「n」より大きい場合(ステップS1207:Yes)、監視装置100は、図13に示すステップS1301に移行する。
図13のフローチャートにおいて、まず、監視装置100は、対象人物情報DB220から、未選択の現フレームの対象人物情報を選択する(ステップS1301)。そして、監視装置100は、選択した現フレームの対象人物情報に対する特徴抽出可能期間算出処理を実行する(ステップS1302)。特徴抽出可能期間算出処理は、対象人物Pの特徴量を抽出可能な抽出可能期間Tを算出するための処理である。特徴抽出可能期間算出処理の具体的な処理手順については、図19を用いて後述する。
つぎに、監視装置100は、対象人物情報DB220から選択されていない未選択の現フレームの対象人物情報があるか否かを判断する(ステップS1303)。ここで、未選択の現フレームの対象人物情報がある場合(ステップS1303:Yes)、監視装置100は、ステップS1301に戻る。
一方、未選択の現フレームの対象人物情報がない場合(ステップS1303:No)、監視装置100は、特徴抽出対象決定処理を実行する(ステップS1304)。特徴抽出対象決定処理は、特徴量の抽出対象となる対象人物Pを決定するための処理である。特徴抽出対象決定処理の具体的な処理手順については、図20を用いて後述する。
つぎに、監視装置100は、抽出対象に決定された対象人物Pの特徴量を抽出する特徴抽出処理を実行する(ステップS1305)。そして、監視装置100は、実行した特徴抽出処理の処理結果を出力して(ステップS1306)、本フローチャートによる一連の処理を終了する。これにより、抽出対象に決定された対象人物Pの特徴量を抽出することができる。
<画像選定処理の具体的処理手順>
つぎに、図12に示したステップS1203の画像選定処理の具体的な処理手順について説明する。
図14は、画像選定処理の具体的処理手順の一例を示すフローチャートである。図14のフローチャートにおいて、まず、監視装置100は、カメラCiの撮影範囲の照度を判定する照度判定処理を実行する(ステップS1401)。照度判定処理の具体的な処理手順については、図15を用いて後述する。
つぎに、監視装置100は、カメラCiの撮影範囲の照度が十分であるか否かを判断する(ステップS1402)。ここで、カメラCiの撮影範囲の照度が十分でない場合(ステップS1402:No)、監視装置100は、画像選定処理を呼び出したステップに戻る。
一方、カメラCiの撮影範囲の照度が十分である場合(ステップS1402:Yes)、監視装置100は、カメラCiの逆光状態を判定する逆光状態判定処理を実行する(ステップS1403)。逆光状態判定処理の具体的な処理手順については、図16を用いて後述する。
つぎに、監視装置100は、カメラCiが逆光状態であるか否かを判断する(ステップS1404)。ここで、カメラCiが逆光状態である場合(ステップS1404:Yes)、監視装置100は、画像選定処理を呼び出したステップに戻る。
一方、カメラCiが逆光状態でない場合(ステップS1404:No)、監視装置100は、画像Fiを処理対象画像に決定して(ステップS1405)、画像選定処理を呼び出したステップに戻る。これにより、人物の特徴量の抽出に適さない画像Fiを処理対象から除外することができる。
<照度判定処理の具体的処理手順>
つぎに、図14に示したステップS1401の照度判定処理の具体的な処理手順について説明する。
図15は、照度判定処理の具体的処理手順の一例を示すフローチャートである。図15のフローチャートにおいて、まず、監視装置100は、画像Fiの背景領域の画素の平均輝度値を算出する(ステップS1501)。そして、監視装置100は、算出した平均輝度値が、予め設定された閾値以上であるか否かを判断する(ステップS1502)。
ここで、平均輝度値が閾値以上の場合(ステップS1502:Yes)、監視装置100は、カメラCiの撮影範囲の照度が十分であると判定して(ステップS1503)、照度判定処理を呼び出したステップに戻る。
一方、平均輝度値が閾値未満の場合(ステップS1502:No)、監視装置100は、カメラCiの撮影範囲の照度が十分でないと判定して(ステップS1504)、照度判定処理を呼び出したステップに戻る。これにより、カメラCiの撮影範囲の照度が十分であるか否かを判定することができる。
<逆光状態判定処理の具体的処理手順>
つぎに、図14に示したステップS1403の逆光状態判定処理の具体的な処理手順について説明する。
図16は、逆光状態判定処理の具体的処理手順の一例を示すフローチャートである。図16のフローチャートにおいて、まず、監視装置100は、カウント値cnt1,cnt2を「cnt1=0、cnt2=0」とする(ステップS1601)。
つぎに、監視装置100は、画像Fiから未選択の画素を選択する(ステップS1602)。そして、監視装置100は、選択した画素が、画像Fiの人物領域内の画素であるか否かを判断する(ステップS1603)。なお、人物領域は、例えば、背景領域外の領域であり、背景差分法により画像Fiから特定される。
ここで、人物領域内の画素でない場合(ステップS1603:No)、監視装置100は、ステップS1607に移行する。一方、人物領域内の画素の場合(ステップS1603:Yes)、監視装置100は、カウント値cnt1をインクリメントする(ステップS1604)。
そして、監視装置100は、選択した画素の輝度値が、予め設定された閾値以上であるか否かを判断する(ステップS1605)。ここで、画素の輝度値が閾値未満の場合(ステップS1605:No)、監視装置100は、ステップS1607に移行する。
一方、画素の輝度値が閾値以上の場合(ステップS1605:Yes)、監視装置100は、カウント値cnt2をインクリメントする(ステップS1606)。そして、監視装置100は、画像Fiから選択されていない未選択の画素があるか否かを判断する(ステップS1607)。
ここで、未選択の画素がある場合(ステップS1607:Yes)、監視装置100は、ステップS1602に戻る。一方、未選択の画素がない場合(ステップS1607:No)、カウント値cnt2をカウント値cnt1で除算した(cnt2/cnt1)が、予め設定された閾値以上であるか否かを判断する(ステップS1608)。
ここで、(cnt2/cnt1)が閾値以上の場合(ステップS1608:Yes)、監視装置100は、カメラCiが逆光状態でないと判定して(ステップS1609)、逆光状態判定処理を呼び出したステップに戻る。
一方、(cnt2/cnt1)が閾値未満の場合(ステップS1608:No)、監視装置100は、カメラCiが逆光状態であると判定して(ステップS1610)、逆光状態判定処理を呼び出したステップに戻る。これにより、カメラCiが逆光状態であるか否かを判定することができる。
<人物検出処理の具体的処理手順>
つぎに、図12に示したステップS1205の人物検出処理の具体的な処理手順について説明する。
図17は、人物検出処理の具体的処理手順の一例を示すフローチャートである。図17のフローチャートにおいて、まず、監視装置100は、画像Fiから未抽出の人物領域を抽出する(ステップS1701)。そして、監視装置100は、人物領域が抽出されたか否かを判断する(ステップS1702)。
ここで、人物領域が抽出されなかった場合(ステップS1702:No)、監視装置100は、人物検出処理を呼び出したステップに戻る。一方、人物領域が抽出された場合(ステップS1702:Yes)、監視装置100は、抽出した人物領域を囲う外接矩形領域の下端の中心座標を算出することにより、対象人物Pの位置を特定する(ステップS1703)。
つぎに、監視装置100は、人物領域の色ヒストグラムを作成する(ステップS1704)。そして、監視装置100は、対象人物Pを識別する人物IDを生成し(ステップS1705)、人物ID、検出カメラID、色ヒストグラムおよび対象人物Pの位置を対応付けて、対象人物情報DB220に記録する(ステップS1706)。
これにより、現フレームの対象人物情報が対象人物情報DB220に新規登録される。ただし、この時点では、対象人物情報の移動方向および移動速度は未設定である。また、検出カメラIDは、画像Fiを撮影したカメラCiのカメラIDである。
つぎに、監視装置100は、対象人物Pの移動方向Lおよび移動速度Vを算出する方向/速度算出処理を算出する(ステップS1707)。方向/速度算出処理の具体的な処理手順については、図18を用いて後述する。そして、監視装置100は、画像Fiから抽出されていない未抽出の人物領域があるか否かを判断する(ステップS1708)。
ここで、未抽出の人物領域がある場合(ステップS1708:Yes)、監視装置100は、ステップS1701に戻る。一方、未抽出の人物領域がない場合(ステップS1708:No)、監視装置100は、人物検出処理を呼び出したステップに戻る。これにより、カメラCiに映る対象人物Pの現フレームの対象人物情報を対象人物情報DB220に登録することができる。
<方向/速度算出処理の具体的処理手順>
つぎに、図17に示したステップS1707の方向/速度算出処理の具体的な処理手順について説明する。
図18は、方向/速度算出処理の具体的処理手順の一例を示すフローチャートである。図18のフローチャートにおいて、まず、監視装置100は、対象人物情報DB220から、検出カメラIDにカメラCiのカメラIDが設定された未選択の直前フレームの対象人物情報を選択する(ステップS1801)。
そして、監視装置100は、現フレームの対象人物情報の色ヒストグラムと、選択された直前フレームの対象人物情報の色ヒストグラムとの類似度を算出する(ステップS1802)。現フレームの対象人物情報は、図17に示したステップS1706において対象人物情報DB220に新規登録された対象人物情報である。
つぎに、監視装置100は、対象人物情報DB220から選択されていない未選択の直前フレームの対象人物情報があるか否かを判断する(ステップS1803)。ただし、選択対象となる直前フレームの対象人物情報は、検出カメラIDにカメラCiのカメラIDが設定された対象人物情報である。
ここで、未選択の直前フレームの対象人物情報がある場合(ステップS1803:Yes)、監視装置100は、ステップS1801に移行する。一方、未選択の直前フレームの対象人物情報がない場合(ステップS1803:No)、監視装置100は、算出した類似度のうちの最大の類似度を特定する(ステップS1804)。
そして、監視装置100は、特定した最大の類似度が、予め設定された閾値以下であるか否かを判断する(ステップS1805)。ここで、最大の類似度が閾値以下の場合(ステップS1805:Yes)、監視装置100は、方向/速度算出処理を呼び出したステップに戻る。
一方、最大の類似度が閾値より大きい場合(ステップS1805:No)、現フレームの対象人物情報の人物IDを、類似度が最大となる色ヒストグラムを含む直前フレームの対象人物情報の人物IDに書き換える(ステップS1806)。これにより、現フレーム/直前フレーム間で対象人物Pの対応付けを行うことができる。
つぎに、監視装置100は、現フレーム/直前フレーム間で対応する対象人物情報の人物位置の時系列変化に基づいて、対象人物Pの移動方向Lを算出するとともに(ステップS1807)、対象人物Pの移動速度Vを算出する(ステップS1808)。
そして、監視装置100は、算出した対象人物Pの移動方向Lおよび移動速度Vを、対象人物情報DB220内の対応する現フレームの対象人物情報に設定して(ステップS1809)、方向/速度算出処理を呼び出したステップに戻る。これにより、対象人物Pの移動方向Lおよび移動速度Vを算出することができる。
<特徴抽出可能期間算出処理の具体的処理手順>
つぎに、図13に示したステップS1302の特徴抽出可能期間算出処理の具体的な処理手順について説明する。
図19は、特徴抽出可能期間算出処理の具体的処理手順の一例を示すフローチャートである。図19のフローチャートにおいて、まず、監視装置100は、対象人物情報DB220から未選択の現フレームの対象人物情報を選択する(ステップS1901)。
そして、監視装置100は、カメラ情報DB230を参照して、選択した現フレームの対象人物情報の検出カメラIDおよび移動方向を検索キーとして、移動先カメラCを特定する(ステップS1902)。移動先カメラCは、対象人物Pの位置から、対象人物Pの移動方向Lに移動した場合の経路上に存在するカメラCiである。
つぎに、監視装置100は、特定した移動先カメラCのうち、逆光状態でなく、かつ、撮影範囲の照度が十分であると判定した移動先カメラCを特定する(ステップS1903)。そして、監視装置100は、カメラ情報DB230を参照して、特定した逆光状態でなく、かつ、撮影範囲の照度が十分であると判定した移動先カメラCの特徴抽出可能距離dの合計値Dを算出する(ステップS1904)。
つぎに、監視装置100は、対象人物Pが映るカメラCiの特徴抽出可能距離diのうち対象人物Pが既に移動した距離mdを算出して(ステップS1905)、算出した合計値Dから距離mdを減算する(ステップS1906)。そして、監視装置100は、減算後の合計値Dを、選択した現フレームの対象人物情報の移動速度Vで除算することにより、対象人物Pの抽出可能期間Tを算出する(ステップS1907)。
つぎに、監視装置100は、算出した対象人物Pの抽出可能期間Tを、選択した現フレームの対象人物情報の人物IDと対応付けて抽出可能期間テーブル900に登録する(ステップS1908)。これにより、対象人物Pの抽出可能期間情報が抽出可能期間テーブル900に新規登録される。
そして、監視装置100は、対象人物情報DB220から選択されていない未選択の現フレームの対象人物情報があるか否かを判断する(ステップS1909)。ここで、未選択の現フレームの対象人物情報がある場合(ステップS1909:Yes)、ステップS1901に戻る。
一方、未選択の現フレームの対象人物情報がない場合(ステップS1909:No)、監視装置100は、特徴抽出可能期間算出処理を呼び出したステップに戻る。これにより、対象人物Pの特徴量を抽出可能な抽出可能期間Tを算出することができる。
<特徴抽出対象決定処理の具体的処理手順>
つぎに、図13に示したステップS1304の特徴抽出対象決定処理の具体的な処理手順について説明する。
図20は、特徴抽出対象決定処理の具体的処理手順の一例を示すフローチャートである。図20のフローチャートにおいて、まず、監視装置100は、抽出可能期間テーブル900に登録されている抽出可能期間情報を、抽出可能期間が昇順となるようにソートする(ステップS2001)。
そして、監視装置100は、抽出可能期間テーブル900内の上位M個の抽出可能期間情報を選択する(ステップS2002)。つぎに、監視装置100は、選択した上位M個の抽出可能期間情報の人物IDから識別される対象人物Pを、現フレームにおいて特徴量を抽出する抽出対象に決定する(ステップS2003)。
そして、監視装置100は、抽出可能期間テーブル900の記憶内容を初期化して(ステップS2004)、特徴抽出対象決定処理を呼び出したステップに戻る。これにより、現フレームにおいて特徴量の抽出対象となる対象人物Pを決定することができる。
以上説明したように、実施の形態にかかる監視装置100によれば、カメラCiにより撮影された画像Fiから対象人物Pを検出して、対象人物Pの位置を特定し、対象人物Pの位置の時系列変化に基づいて、対象人物Pの移動方向Lおよび移動速度Vを算出することができる。これにより、特徴量の抽出対象候補となる対象人物Pが、今後どの方向にどれくらいの速度で移動するかを予測することができる。
また、監視装置100によれば、カメラ情報DB230を参照して、算出した対象人物Pの移動方向Lおよび移動速度Vに基づいて、対象人物Pの特徴量を抽出可能な抽出可能期間Tを算出することができる。これにより、監視エリアにおいて対象人物Pの特徴量を抽出可能な機会がどれくらい残されているのかを定量的に評価することが可能となる。
また、監視装置100によれば、検出した対象人物Pのうち、算出した抽出可能期間Tが相対的に少ない対象人物Pを優先して特徴量の抽出対象に決定することができる。これにより、今後特徴量を抽出可能な機会が少ない対象人物Pの特徴量を優先して抽出することが可能となり、対象人物Pの特徴量の抽出漏れの発生を抑制することができる。
また、監視装置100によれば、カメラC1〜Cnのうち逆光状態ではないカメラCiにより撮影された画像Fiから特徴量の抽出候補となる対象人物Pを検出することができる。これにより、逆光状態で撮影されたために、人物の特徴量の抽出に適さない画像を処理対象から除外することができ、人物の特徴量の抽出精度を向上させることができる。
また、監視装置100によれば、カメラC1〜Cnのうち撮影範囲の照度が十分であると判定したカメラCiにより撮影された画像Fiから特徴量の抽出候補となる対象人物Pを検出することができる。これにより、照度が不十分な状態で撮影されたために、人物の特徴量の抽出に適さない画像を処理対象から除外することができ、人物の特徴量の抽出精度を向上させることができる。
また、監視装置100によれば、カメラ情報DB230を参照して、対象人物Pの位置から対象人物Pの移動方向Lに移動した場合の経路上に存在する移動先カメラCを特定し、移動先カメラCの特徴抽出可能距離dと、対象人物Pの移動速度Vとに基づいて、対象人物Pの抽出可能期間Tを算出することができる。これにより、対象人物Pが今後撮影されるカメラCiを予測して、対象人物Pの特徴量を抽出可能な機会がどれくらい残されているのかを定量的に評価することが可能となる。
また、監視装置100によれば、特定した移動先カメラCのうち逆光状態ではないカメラCiの特徴抽出可能距離diと、対象人物Pの移動速度Vとに基づいて、対象人物Pの抽出可能期間Tを算出することができる。これにより、移動先カメラCのうち現フレームの時点で逆光状態にあるために、対象人物Pが今後撮影されたとしても、人物の特徴量の抽出に適した画像を撮影できない可能性が高いカメラを除外して、対象人物Pの抽出可能期間Tを算出することができる。
また、監視装置100によれば、特定した移動先カメラCのうち撮影範囲の照度が十分であると判定したカメラCiの特徴抽出可能距離diと、対象人物Pの移動速度Vとに基づいて、対象人物Pの抽出可能期間Tを算出することができる。これにより、移動先カメラCのうち現フレームの時点で撮影範囲の照度が不十分であるために、対象人物Pが今後撮影されたとしても、人物の特徴量の抽出に適した画像を撮影できない可能性が高いカメラを除外して、対象人物Pの抽出可能期間Tを算出することができる。
これらのことから、監視装置100によれば、毎フレームごとに、カメラC1〜Cnに映る全ての人物を対象として特徴量の抽出を試みるのではなく、今後特徴量を抽出しやすい機会が少ない人物の特徴量を優先して抽出することができる。これにより、人物の特徴量の抽出漏れの発生を抑制するとともに、システム全体の処理量を抑えることができる。
また、監視装置100によれば、人物の特徴量の抽出に適さない画像を処理対象から除外することができる。これにより、人物の特徴量の抽出精度を向上させるとともに、人物の特徴量を抽出できないような画像に対する特徴抽出処理を削減して処理時間の増加を抑えることができる。
なお、本実施の形態で説明した監視方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本監視プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本監視プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)複数のカメラの少なくともいずれかのカメラにより撮影された画像から特徴量の抽出対象候補となる移動対象物を検出して、前記移動対象物の位置を特定し、
特定した前記移動対象物の位置の時系列変化に基づいて、前記移動対象物の移動方向および移動速度を算出し、
前記複数のカメラそれぞれの撮影範囲に関する情報を記憶する記憶部を参照して、算出した前記移動対象物の移動方向および移動速度に基づいて、前記移動対象物の特徴量を抽出可能な抽出可能期間を算出し、
検出した前記移動対象物のうち、算出した前記抽出可能期間が相対的に少ない移動対象物を優先して特徴量の抽出対象に決定する、
制御部を有することを特徴とする監視装置。
(付記2)前記記憶部は、前記複数のカメラそれぞれに映る位置から所定方向に移動した場合の経路上に存在するカメラの撮影範囲のうち特徴量を抽出可能な抽出可能範囲を特定する情報を記憶しており、
前記制御部は、
前記記憶部を参照して、前記移動対象物の位置から前記移動対象物の移動方向に移動した場合の経路上に存在するカメラを特定し、特定した前記カメラの抽出可能範囲と、前記移動対象物の移動速度とに基づいて、前記移動対象物の抽出可能期間を算出することを特徴とする付記1に記載の監視装置。
(付記3)前記制御部は、
特定した前記カメラのうち逆光状態ではないと判定したカメラの抽出可能範囲と、前記移動対象物の移動速度とに基づいて、前記移動対象物の抽出可能期間を算出することを特徴とする付記2に記載の監視装置。
(付記4)前記制御部は、
特定した前記カメラのうち撮影範囲の照度が十分であると判定したカメラの抽出可能範囲と、前記移動対象物の移動速度とに基づいて、前記移動対象物の抽出可能期間を算出することを特徴とする付記2または3に記載の監視装置。
(付記5)前記制御部は、
前記複数のカメラのうち逆光状態ではないと判定したカメラにより撮影された画像から特徴量の抽出候補となる移動対象物を検出することを特徴とする付記2〜4のいずれか一つに記載の監視装置。
(付記6)前記制御部は、
前記複数のカメラそれぞれにより撮影された画像の背景領域外の画素群のうち輝度値が閾値以上の画素の割合に基づいて、前記複数のカメラのうち逆光状態ではないカメラを判定することを特徴とする付記5に記載の監視装置。
(付記7)前記制御部は、
前記複数のカメラのうち撮影範囲の照度が十分であると判定したカメラにより撮影された画像から特徴量の抽出候補となる移動対象物を検出することを特徴とする付記2〜6のいずれか一つに記載の監視装置。
(付記8)前記制御部は、
前記複数のカメラそれぞれにより撮影された画像の背景領域内の画素の平均輝度値に基づいて、前記複数のカメラのうち撮影範囲の照度が十分であるカメラを判定することを特徴とする付記7に記載の監視装置。
(付記9)前記制御部は、
前記複数のカメラのうち前記割合が閾値以上となるカメラを逆光状態ではないカメラと判定することを特徴とする付記6に記載の監視装置。
(付記10)前記制御部は、
前記複数のカメラのうち前記平均輝度値が閾値以上となるカメラを撮影範囲の照度が十分であるカメラと判定することを特徴とする付記8に記載の監視装置。
(付記11)前記制御部は、
決定した前記抽出対象となる移動対象物の特徴量を前記画像から抽出することを特徴とする付記1〜10のいずれか一つに記載の監視装置。
(付記12)コンピュータが、
複数のカメラの少なくともいずれかのカメラにより撮影された画像から特徴量の抽出対象候補となる移動対象物を検出して、前記移動対象物の位置を特定し、
特定した前記移動対象物の位置の時系列変化に基づいて、前記移動対象物の移動方向および移動速度を算出し、
前記複数のカメラそれぞれの撮影範囲に関する情報を記憶する記憶部を参照して、算出した前記移動対象物の移動方向および移動速度に基づいて、前記移動対象物の特徴量を抽出可能な抽出可能期間を算出し、
検出した前記移動対象物のうち、算出した前記抽出可能期間が相対的に少ない移動対象物を優先して特徴量の抽出対象に決定する、
処理を実行することを特徴とする監視方法。
(付記13)コンピュータに、
複数のカメラの少なくともいずれかのカメラにより撮影された画像から特徴量の抽出対象候補となる移動対象物を検出して、前記移動対象物の位置を特定し、
特定した前記移動対象物の位置の時系列変化に基づいて、前記移動対象物の移動方向および移動速度を算出し、
前記複数のカメラそれぞれの撮影範囲に関する情報を記憶する記憶部を参照して、算出した前記移動対象物の移動方向および移動速度に基づいて、前記移動対象物の特徴量を抽出可能な抽出可能期間を算出し、
検出した前記移動対象物のうち、算出した前記抽出可能期間が相対的に少ない移動対象物を優先して特徴量の抽出対象に決定する、
処理を実行させることを特徴とする監視プログラム。
(付記14)コンピュータに、
複数のカメラの少なくともいずれかのカメラにより撮影された画像から特徴量の抽出対象候補となる移動対象物を検出して、前記移動対象物の位置を特定し、
特定した前記移動対象物の位置の時系列変化に基づいて、前記移動対象物の移動方向および移動速度を算出し、
前記複数のカメラそれぞれの撮影範囲に関する情報を記憶する記憶部を参照して、算出した前記移動対象物の移動方向および移動速度に基づいて、前記移動対象物の特徴量を抽出可能な抽出可能期間を算出し、
検出した前記移動対象物のうち、算出した前記抽出可能期間が相対的に少ない移動対象物を優先して特徴量の抽出対象に決定する、
処理を実行させる監視プログラムを記録したことを特徴とする前記コンピュータに読み取り可能な記録媒体。