本明細書において、「計数エリア内における長さが所定の長さ以上である」との記載における長さとは、時間的な長さ(時間)、及び空間的な長さ(軌跡の長さ)の両方を包含するものとする。したがって、「計数エリア内における長さが所定の長さ以上である」とは、(1)計数エリア内における時間、すなわち計数エリア内に軌跡が存在する時間が所定の時間以上であることと、(2)計数エリア内における空間的な長さ(軌跡の長さ)が所定の空間的な長さ以上であることとの少なくとも一方を満たすことを言う。
また、上記(1)の場合の時間とは、秒等の直接的に時の長さを表すもののみならず、映像(動画)のフレーム数(コマ数)等の間接的に時の長さを表すものも包含するものとする。
以下、本発明に係るエリア設定支援装置、エリア設定支援方法及びエリア設定支援プログラムの好適な実施形態を、図面を参照しながら説明する。本発明において、調査エリアにて調査される人物の具体的な状況(移動状況)は、特に限定されないが、以下では、調査エリアを通過した人物の人数を調査、すなわち計数する場合について説明し、調査エリアを計数エリアとして説明する。また、以下では、エリア設定支援装置の機能と人数計数装置の機能とを併せ持った情報処理装置を例にして、本発明に係る好適な実施形態の説明を行う。
なお、以下の説明において、同一又は同様の機能を有する構成には同一の符号を異なる実施形態及び図面間で共通して適宜用い、その構成についての繰り返しの説明は適宜省略する。
(実施形態1)
<エリア設定支援装置を含むシステムの全体構成>
まず、図1を用いて、実施形態1に係るエリア設定支援装置を含むシステムの全体構成について説明する。図1に示すように、このシステムは、屋内外の所定エリア(例えば屋外の通路)等を対象にして構築されるものであり、カメラ1と、レコーダ(画像記録装置)2と、エリア設定支援装置を含む情報処理装置3と、を備えている。所定エリアは、適宜設定可能であるが、商店街の通路等の複雑な人の動きがあるエリアが好適である。
カメラ1は、屋内外の所望の場所に設置される。カメラ1により屋内外の所定エリアが撮影される。撮影された映像(各フレーム)は、レコーダ2に蓄積される。
情報処理装置3には、撮影した映像等を表示するモニタ(表示装置)4と、操作者が種々の入力操作を行う入力デバイス5(例えばマウス)とが接続されている。なお、モニタ4及び入力デバイス5は、タッチパネルディスプレイ等の入力機能付きの表示装置から構成されてもよい。
情報処理装置3は、操作者が、モニタ4によって、カメラ1で撮像された映像をリアルタイムで閲覧できるように構成されるとともに、レコーダ2に録画された過去の映像を閲覧できるように構成されている。
<情報処理装置(エリア設定支援装置)の構成>
次に、図2を用いて、情報処理装置3、特にエリア設定支援装置6の構成について説明する。情報処理装置3は、一般的なパーソナルコンピューター相当の機能を有し、図2に示すように、制御部10及び記憶部20を備えている。
制御部10は、映像入力部11と、軌跡検出部12と、仮調査エリア設定部としての仮計数エリア設定部13と、軌跡分類部14と、支援情報生成部15と、表示情報生成部16と、計数エリア設定部17と、人物計数部18と、表示情報生成部19との機能を備えている。制御部10は、例えば、各種の処理を実現するためのソフトウェアプログラムと、該ソフトウェアプログラムを実行するCPU(Central Processing Unit)と、該CPUによって制御される各種ハードウェア等によって構成されている。制御部10の動作に必要なソフトウェアプログラムやデータは記憶部20に記憶される。
制御部10の映像入力部11、軌跡検出部12、仮計数エリア設定部13、軌跡分類部14、支援情報生成部15、表示情報生成部16及び計数エリア設定部17と、記憶部20とによってエリア設定支援装置6が構成されている。また、制御部10の人物計数部18及び表示情報生成部19と、記憶部20とによって人物計数装置7が構成されている。
なお、制御部10の図2に示した各部は、制御部10のCPUでエリア設定支援プログラム及び人数計数プログラムを実行させることによって実現される。エリア設定支援プログラム及び人数計数プログラムは、情報処理装置3に予め導入されてもよいし、汎用OS上で動作可能なアプリケーションプログラムとして、コンピュータ読み取り可能な記録媒体に記録して、又は、ネットワークを介して、操作者に提供されてもよい。
記憶部20は、ハードディスク装置や不揮発性メモリ等の記憶装置から構成される。
映像入力部11は、カメラ1又はレコーダ2から映像を取得する処理を行う。人数計数をリアルタイムで行う場合にはカメラ1から映像を取得し、過去の映像から人数計数を行う場合にはレコーダ2から映像を取得する。
軌跡検出部12は、図3に示すように、カメラ1による映像から、所定エリア(画面)全体において所定期間内(サンプル期間内)の人物ごとの軌跡(移動軌跡)を検出する処理を行う。ここでは、商店街の通路を監視カメラで撮影した場合について例示する。この軌跡検出処理は、公知の画像認識技術(人物検出技術及び人物追跡技術等)を利用することができる。
具体的には、例えば、軌跡検出部12は、まず、既存の人物検出技術を利用して、撮影された所定エリア全体において各人物の頭部、肩、肘、手、腰、膝、足等の部位を検出して姿勢を推定し、フレームごとに各人物の座標情報を生成する。座標情報には、検出した各部位の位置情報や、検出した人物が撮影された時刻等に関する情報が含まれる。なお、検出した人物の撮影時刻は、フレームの撮像時刻から取得可能である。
続いて、生成した人物の座標情報を連続するフレーム間で照合し、基準を満たした座標情報をもつ人物の対応付けを行うことによって、所定エリア全体において人物ごとの追跡を行う。対応付けは、例えば、その人物に共通のIDナンバーを付与することによって行う。このとき、軌跡検出部12は、他の人物に隠れる等して人物の追跡が途切れた場合でも、所定のフレーム数(例えばMフレーム、Mは2以上の整数)の間はその人物の追跡を継続する。例えば、追跡が途切れる前の座標情報を保持するとともに、その人物のその後の位置をフレーム毎に推定し、推定した位置近傍に基準を満たした座標情報をもつ人物が検出された場合は、その人物を追跡が途切れる前の人物と同一の人物であるとして対応付けを行う。また、本実施形態では、人物の追跡が途切れた場合、後述する軌跡が計数エリア内に存在するフレーム数fは、追跡が途切れている間のフレームの数も加えてカウントされる。なお、上記Mフレームは、カメラ1の設定に応じて適宜変更可能である。
人物の追跡を行うとき、人物の中心軸上の部位、中心軸から左に外れた部位、及び中心軸から右に外れた部位のうちの、少なくとも2つの部位をそれぞれ追跡することが好ましい。これにより、2人の人物がすれ違った場合に対応付けの誤りが発生するのを抑制することができる。すれ違う人物では左右の部位が中心軸に対して反対に位置することから、同一人物ではないと判定することが可能であるためである。例えば、図4に示すように、人物の中心軸上の左右の肩の中心と、中心軸から左に外れた左肩及び左腰と、中心軸から右に外れた右肩及び右腰とをそれぞれ追跡する。そして、各部位のフレーム間での移動距離を算出し、算出した5つの部位の移動距離の平均を取り、その平均距離に基づいて人物の対応付けを行う。また、例えば、人物の中心軸上の部位と右肩とをそれぞれ追跡してもよいし、人物の中心軸上の部位と左肩とをそれぞれ追跡してもよい。なお、既存の人物検出技術であっても人物の左右の部位を区別して検出することが可能であることから、上述のように左右の部位を区別して容易に追跡することが可能である。
そして、軌跡検出部12は、対応付けられた人物の座標情報に基づいて、その人物の軌跡を生成する処理を行う。軌跡は、特定の部位(例えば頭部)を検出した特定点を連結することによって生成される。
軌跡検出部12で検出した人物ごとの軌跡に関する軌跡情報21は、軌跡検出部12によって記憶部20に記憶される。
仮計数エリア設定部13は、まず、図5に示すように、操作者の入力操作に応じて、所定エリア内に、仮の調査ラインとして、仮計数ライン(仮の計数ライン)を設定する処理を行う。すなわち、この段階では、仮計数エリア設定部13は、仮計数ライン設定部として機能する。仮計数ラインは、操作者が希望する通過人数を計測したいライン(一次元)であり、操作者は、マウス等の入力デバイス5を用いて、カメラ1又はレコーダ2から取得した映像が表示されたモニタ4の画面上にて仮計数ラインの位置を入力する。
そして、仮計数エリア設定部13は、仮計数ラインに基づいて、仮の調査エリアとして、仮計数エリア(仮の計数エリア)を設定する処理を行う。具体的には、仮計数ラインと平行であり、かつ仮計数ラインからそれぞれ所定幅wだけ離れた位置に2本のラインL1及びL2を設定し、2本のラインL1及びL2を2辺とする四角形の領域を仮計数エリアとして設定する。ラインL1及びL2の幅(長さ)は、軌跡情報21に基づいて仮計数ラインからそれぞれ所定幅wだけ離れた位置において軌跡が通る領域を検出し、それらの領域の幅と同じ幅に設定される。なお、所定幅wは、プログラム起動前等の段階で予め操作者により設定されており、所定数の画素数に相当する幅であってもよい。
軌跡分類部14は、軌跡検出部12により検出された軌跡を、それらの軌跡の方向に基づいて複数の種類に分類する。より具体的には、まず、図6に示すように、軌跡検出部12で取得された軌跡情報21に基づいて、所定エリア(画面)全体の軌跡から仮計数エリア内の軌跡を抽出する。このとき、仮計数エリアの内外に跨る軌跡は、仮計数エリア内の部分が仮計数エリア内の軌跡として抽出される。
そして、軌跡分類部14は、抽出した軌跡を、図7(a)に示すように、人物の移動状況の調査、すなわち本実施形態では人物の通過人数の調査に適した目的の方向の軌跡と、図7(b)に示すように、人物の通過人数の調査に適さない目的外の方向の軌跡とに分類する。ここでは、目的の方向の軌跡として、通路方向の軌跡(仮計数ラインと交差する方向に延在する軌跡)と、目的外の方向の軌跡として、通路方向以外の軌跡とに分類する。より具体的には、軌跡分類部14は、軌跡がラインL1及びL2の一方の辺から仮計数エリア内に進行してラインL1及びL2の他方の辺に進行する場合、その軌跡を目的の方向の軌跡とし、それ以外の軌跡を目的外の方向の軌跡とする。このように、目的の方向は、プログラム起動前等の段階で予め設定されてもよいし、軌跡の分類処理を行う前に操作者から受け付けてもよい。操作者から受け付ける場合は、例えば、モニタ4の画面上に、目的の方向の候補として、複数の方向をそれぞれ表すアイコン(例えば矢印)を表示し、操作者がマウス等の入力デバイス5を用いていずれかのアイコンを選択することによって、目的の方向を設定してもよい。
なお、軌跡が仮計数エリアのどの辺から仮計数エリア内に進行するかは、図8に示すように、仮計数エリア内でその軌跡を描く初めの所定数のフレーム(例えばKフレーム、ただし、Kは2以上の整数)を用いて平均の移動方向を計算し、軌跡の始点(仮計数エリア内で初めて検出された特定点)からその移動方向と反対方向に軌跡を延長して交差する辺を検出することによって判定される。同様に、軌跡が仮計数エリアのどの辺に進行するかは、仮計数エリア内でその軌跡を描く最後の所定数のフレーム(例えばLフレーム、ただし、LはKと同じ数)を用いて平均の移動方向を計算し、軌跡の終点(計数エリア内で最後に検出された特定点)からその移動方向に軌跡を延長して交差する辺を検出することによって判定される。したがって、軌跡は、後述する図14の軌跡A及びCのように、仮計数エリア内で途切れていてもよく、そのような軌跡であっても、上述のようにラインL1及びL2の一方の辺から仮計数エリア内に進行してラインL1及びL2の他方の辺に進行する場合は、目的の方向の軌跡として分類される。
軌跡分類部14によって分類された軌跡に関する情報である分類結果22は、軌跡分類部14によって記憶部20に記憶される。
支援情報生成部15は、軌跡分類部14によって分類された種類ごとの軌跡の本数に基づいて、計数エリアの設定を支援する情報である設定支援情報23を生成する。より具体的には、図9に示すように、まず、所定エリア(画面)全体を、予めピッチが設定されたメッシュで複数のセグメントに区切り、分類結果22に基づいて、各セグメント内で、目的の方向の軌跡(通路方向の軌跡)の本数と、目的外の方向の軌跡(通路方向以外の軌跡)の本数とをそれぞれ計数する。なお、軌跡は、通常、複数のセグメントに跨って存在するが、この場合、各セグメントにて当該軌跡を1本ずつカウントする。
次いで、支援情報生成部15は、各セグメントにて、目的外の方向の軌跡の本数の割合Z(%)を算出する。割合Zは、目的内の方向の軌跡の本数Naと目的外の方向の軌跡の本数Nbとの合計に対する目的外の方向の軌跡の本数Nbの割合であり、Nb/(Na+Nb)×100の式から算出される。なお、割合Zは、Nb/Na等の比率であってもよい。
次いで、支援情報生成部15は、割合Zが許容範囲内である(例えば所定の基準値以下である)セグメントを計数セグメントとし、割合Zが許容範囲外である(例えば所定の基準値を超える)セグメントをノイズセグメントとする。このとき、軌跡が内部に存在しないセグメントについては、人物の通行が検出されなかった非通行セグメントとする。計数セグメントは、目的外の方向の軌跡の本数の割合Zが許容範囲内の領域であることから、人物の通過人数の計数に適した、すなわち計数エリアに適した適合エリアに相当する。ノイズセグメントは、目的外の方向の軌跡の本数の割合Zが許容範囲外の領域であることから、人物の通過人数の計数に適さない、すなわち計数エリアに適さない不適合エリアに相当する。非通行セグメントは、人物の通行が検出されなかった領域であることから、人物の通過人数の計数に適さない、すなわち計数エリアに適さない不適合エリアに相当する。
支援情報生成部15によって生成された設定支援情報23は、支援情報生成部15によって記憶部20に記憶される。設定支援情報23には、各セグメントが計数セグメント、ノイズセグメント及び非通行セグメントのいずれであるかを示す情報や、所定エリア内で計数エリアに適した適合エリアを示す情報である適合エリア情報、所定エリア内で計数エリアに適さない不適合エリアを示す情報である不適合エリア情報等が含まれる。適合エリア情報には、計数セグメントの位置情報等が含まれ、不適合エリア情報には、ノイズセグメント及び非通行セグメントの位置情報等が含まれる。
表示情報生成部16は、図10に示すように、設定支援情報23に基づいて、計数セグメント、ノイズセグメント及び非通行セグメントを可視化する処理を行う。より具体的には、適合エリア情報及び不適合エリア情報に基づいて、適合エリアである計数セグメントと、不適合エリアであるノイズセグメント及び非通行セグメントとを表す表示情報であるエリア表示情報を生成する。このとき、表示情報生成部16は、適合エリア及び不適合エリアが互いに異なった態様で表示されるように、エリア表示情報を生成する。生成されたエリア表示情報は、モニタ4に出力され、適合エリア及び不適合エリアが互いに異なった態様でモニタ4に表示される。
より好ましくは、表示情報生成部16は、上述の3種のセグメントが互いに異なった態様で表示されるように、エリア表示情報を生成し、3種のセグメントが互いに異なった態様でモニタ4に表示される。例えば、各種のセグメントの中心に異なる記号が表示され、図10に示した例では、計数セグメントには点(・)が表示され、ノイズセグメントにはプラス(+)が表示され、非通行セグメントにはマイナス(-)が表示される。
計数エリア設定部17は、図11に示すように、操作者の入力操作に応じて、ある面積を持つ計数エリア(例えば多角形のエリア)を仮計数エリア内に設定する処理を行う。このとき、操作者は、マウス等の入力デバイス5を用いて、カメラ1又はレコーダ2から取得した映像に各種のセグメントを表す記号がオーバーレイ表示されたモニタ4の画面上にて、計数エリアの位置を仮計数エリア内にて入力する。操作者は、適合エリアである計数セグメントの位置と、不適合エリアであるノイズセグメント及び非通行セグメントの位置とを参照しながら計数エリアの位置を設定することができるため、計数エリアを映像内に容易かつ効果的に設定することができる。設定される計数エリアの形状は、特に限定されず、例えば、多角形や、円、楕円等が挙げられる。
<エリア設定支援処理の手順>
次に、図12を用いて、エリア設定支援装置6で行われるエリア設定支援処理の手順について説明する。
図12に示すように、まず、映像入力部11に、カメラ1又はレコーダ2から映像(フレーム)が入力される(S11)。
次に、軌跡検出部12が、入力された映像から所定期間内の人物ごとの軌跡を検出する(S12)。
次に、仮計数エリア設定部13が、操作者の入力操作に応じて、所定エリア内に仮計数ラインを設定し、設定した仮計数ラインに基づいて仮計数エリアを設定する処理を行う(S13)。
次に、軌跡分類部14が、軌跡検出部12により検出された軌跡を、それらの軌跡の方向に基づいて複数の種類に分類する(S14)。
次に、支援情報生成部15が、軌跡分類部14によって分類された種類ごとの軌跡の本数に基づいて設定支援情報を生成する(S15)。
次に、表示情報生成部16が、設定支援情報23に基づいて、適合エリアである計数セグメントと、不適合エリアであるノイズセグメント及び非通行セグメントとを表す表示情報であるエリア表示情報を生成する(S16)。
そして、計数エリア設定部17が、操作者の入力操作に応じて、計数エリアを仮計数エリア内に設定し(S17)、エリア設定支援処理を終了する。
<人数計数装置の概要>
次に、図13及び14を用いて、人物計数装置7の概要について説明する。人物計数装置7は、図13に示すように、所定エリア(例えば、商店街の通路)内に上述のように設定された計数エリア内における時間(計数エリア内に存在する時間)、ここでは計数エリア内に存在するフレーム数fが所定のフレーム数(以下、基準フレーム数)以上である軌跡の本数を数える。これにより、混雑時に人物の軌跡が途切れたとしても、その人物を計数することができる。すなわち、図14に示すように、特許文献1に記載の方法とは異なり、本実施形態では、計数エリアと交差しない軌跡Aであっても、計数エリア内に存在するフレーム数fが基準フレーム数以上であれば、その人物を計数対象とすることができる。したがって、軌跡の途切れによる計数漏れの発生を低減することができる。
もちろん、計数エリアと交差する軌跡Bや軌跡Cであっても、計数エリア内に存在するフレーム数fが基準フレーム数以上であれば、その人物は計数対象になり得る。
他方、フレーム数fが基準フレーム数未満である軌跡Dについては、その人物は計数対象から除外される。これは、自転車等の人物以外を人物として誤検出する等、短時間だけ誤検出した軌跡を計数対象から除外するためである。このような誤検出は、基準フレーム数をN(Nは2以上の整数)に設定し、(N-1)フレームしか検出されなかった軌跡を計数対象から除外することによって、効果的に排除することができる。
以上より、本実施形態では、混雑時であっても人数の計数漏れを低減でき、人数計数の精度を向上させることができる。
また、本実施形態では、図14に示したように、種々の方向に移動する軌跡が存在する場合に、それらの軌跡を所定の方向ごと(例えば、図14に示すように上方向と下方向の2方向)に分類するとともにカウントし、所定の方向ごとに人物を計数することができる。
また、本実施形態では、以下の場合を計数対象から除外することで、計数エリアを通過する人物の計数精度をより高精度なものとすることができる。
1)軌跡の計数エリア内での平均移動量が所定値より小さい場合。
これにより、計数エリア内で長期間滞留している人物を計数対象から除外することができる。このように長期間滞留している人物を計数対象から除外しないと、その人物の手前を他の人物が通過する等した場合に追跡が途切れて複数の軌跡が検出され、同一人物に対して複数回計数してしまう可能性がある。
2)軌跡がUターンした場合。
これにより、計数エリア内をUターンした人物を計数対象から除外することができる。したがって、計数エリアを通過する人物の計数精度の向上が可能である。
<情報処理装置(人物計数装置)の構成>
次に、情報処理装置3、特に人物計数装置7の構成について説明する。図2に示したように、人物計数装置7は、制御部10の人物計数部18及び表示情報生成部19と、記憶部20とを備えている。
人物計数部18は、軌跡検出部12で取得された軌跡情報21に含まれる人物ごとの軌跡の本数に基づいて、計数エリアを通過した人物を計数する処理を行う。本実施形態では、軌跡が計数エリア内で検出されたフレームの数(=フレーム数f)が基準フレーム数以上であると、計数エリアを通過したものと判断して、その人物を計数対象とする。
また、人物計数部18は、図14に示したように、種々の方向に移動する複数の軌跡が存在する場合に、それらの軌跡を所定の方向ごと(例えば、上方向と下方向の2方向)に分類するとともに計数する。これにより、所定の方向ごとに人物を計数することができる。
なお、軌跡を所定の方向のどの方向に分類するかは、軌跡の始点(起点)と終点の座標を比較することによって判定してもよい。例えば、図15に示すような場合、軌跡の始点(計数エリア内で初めて検出された特定点)のY座標が軌跡の終点(計数エリア内で最後に検出された特定点)のY座標より小さい場合は、上方向と判定し、反対に、軌跡の始点のY座標が軌跡の終点のY座標より小さくない場合は、下方向と判定してもよい。また、軌跡の始点と終点の左右方向の座標に差があれば左右方向も同時にカウントしてもよい。すなわち、軌跡の始点のX座標が軌跡の終点のX座標より小さい場合は、右方向と判定し、反対に、軌跡の始点のX座標が軌跡の終点のX座標より小さくない場合は、左方向と判定してもよい。
また、人物計数部18は、軌跡が計数エリア内に滞留している場合、具体的には軌跡の計数エリア内での平均移動量が所定値より小さい場合は、その軌跡を計数対象から除外する。これにより、計数エリア内で長期間滞留している人物を計数対象から除外することができる。平均移動量は、例えば、所定数のフレーム(例えば1フレーム)当たりの平均移動量であってもよいし、所定時間(例えば1秒)当たりの平均移動量であってもよい。
更に、人物計数部18は、軌跡が計数エリア内をUターンした場合も、その軌跡を計数対象から除外する。これにより、計数エリア内をUターンした人物を計数対象から除外することができる。
より具体的には、人物計数部18では、軌跡が計数エリアのある辺から計数エリア内に進行して同じ辺に戻る場合、その軌跡を計数対象から除外する。
なお、軌跡が計数エリアのどの辺から計数エリア内に進行するかは、図15に示すように、計数エリア内でその軌跡を描く初めの所定数のフレーム(例えばPフレーム、ただし、Pは2以上の整数)を用いて平均の移動方向を計算し、軌跡の始点(計数エリア内で初めて検出された特定点)からその移動方向と反対方向に軌跡を延長して交差する辺を検出することによって判定される。同様に、軌跡が計数エリアのどの辺に戻る(進行する)かは、計数エリア内でその軌跡を描く最後の所定数のフレーム(例えばQフレーム、ただし、QはPと同じ数)を用いて平均の移動方向を計算し、軌跡の終点(計数エリア内で最後に検出された特定点)からその移動方向に軌跡を延長して交差する辺を検出することによって判定される。
人物計数部18は、軌跡の終点部分の移動方向がその軌跡の始点部分の移動方向と反対である場合、その軌跡を計数対象から除外してもよい。これにより、計数エリアが、円や楕円等の多角形でない場合でも、計数エリア内をUターンした人物を計数対象から効果的に除外することができる。なお、軌跡の終点部分と始点部分の移動方向が反対であるか否かは、図15に示したように終点部分と始点部分の平均の移動方向を算出して、両方向のなす角を所定の角度範囲(例えば180°±20°の範囲)と比較し、所定の角度範囲内であれば反対であると判定され、所定の角度範囲内でなければ反対でないと判定される。
表示情報生成部19は、人物計数部18の計数結果に基づいて、計数エリアを通過した人物の人数を表す表示情報を生成する処理を行う。また、表示情報生成部19は、軌跡検出部12で検出された人物ごとの軌跡に関する軌跡情報21に基づいて、計数エリアを通行している人物の軌跡を表す表示情報を生成する処理を行う。生成された表示情報は、モニタ4に出力され、計数エリアを通過した人物の人数が所定の方向ごとにモニタ4に表示されるとともに、人物ごとの軌跡が表示される。
<人物計数処理の手順>
次に、図16を用いて、人物計数装置3で行われる人数計数処理の手順について説明する。
図16に示すように、人物計数部18によって以下の処理が行われる。まず、軌跡検出部12によって検出された軌跡が計数エリア内に存在するフレーム数fが基準フレーム数以上であるか否かの判定が行われる(S21)。より具体的には、計数エリア内で軌跡が追跡されたフレーム数(追跡が一時的に途切れた場合のその間のフレーム数を含む)がNフレーム(Nは2以上の整数)以上であるか否かが判定され、計数エリア内で追跡されたフレーム数がNフレーム未満である場合には(S21でNo)、その軌跡を計数せずに人数計数処理を終了する(S22)。計数エリア内で追跡されたフレーム数がNフレーム以上であれば(S21でYes)、その軌跡が計数エリア内に滞留しているか否かの判定が行われる(S23)。軌跡が計数エリア内に滞留している場合には(S23でYes)、その軌跡を計数せずに人数計数処理を終了する(S22)。軌跡が計数エリア内に滞留していなければ(S23でNo)、その軌跡が計数エリア内をUターンしているか否かの判定が行われる(S24)。軌跡が計数エリア内をUターンしている場合には(S24でYes)、その軌跡を計数せずに人数計数処理を終了する(S22)。軌跡が計数エリア内をUターンしていなければ(S24でNo)、その軌跡の始点のY座標(その軌跡を計数エリア内で検出した最初のフレームでのY座標)が軌跡の終点のY座標(その軌跡を計数エリア内で検出した最終フレームでのY座標)より小さいか否かの判定が行われる(S25)。軌跡の始点のY座標軌跡が軌跡の終点のY座標より小さくなければ(S25でNo)、上方向のカウント値を1増分する処理が行われる(S26)。軌跡の始点のY座標軌跡が軌跡の終点のY座標より小さければ(S25でYes)、下方向のカウント値を1増分する処理が行われる(S27)。
なお、図16に示した例では、所定の方向ごとに軌跡の本数を計数する処理を行ったが、この処理を軌跡の方向に関係なく行ってもよい。すなわち、軌跡が計数エリア内をUターンしていなければ(S24でNo)、すぐにカウント値を1増分する処理を行ってもよい。
<人数計数結果の閲覧画面>
次に、図17~19を用いて人数計数結果を操作者が閲覧するための人数計数画面について説明する。
本実施形態では、図17に示すように、表示情報生成部19において、人物計数部18での計数結果に基づいて、計数エリアを通過した人物の人数を表す表示情報を生成してモニタ4に出力し、モニタ4に、計数結果を操作者が閲覧するための計数結果表示画面が表示される。この計数結果表示画面には、映像表示部41と、計数結果表示部42と、が設けられている。
映像表示部41には、カメラ1による映像とともに、上述のように設定された計数エリアと人物ごとの軌跡とがオーバーレイ表示される。計数結果表示部42には、人数計数結果である計数エリアの通過人数が所定の方向(例えば、上方向と下方向)ごとにオーバーレイ表示される。
図18は、計数エリアが四角形以外の多角形、具体的には5角形で設定された場合を示す計数結果表示画面の例である。
図19は、屋内の部屋の入室人数と退室人数を計数した結果を示す計数結果表示画面の例であり、計数結果表示部42には、入室人数(IN)及び退室人数(OUT)がそれぞれオーバーレイ表示される。
この例では、頂点が6点ある6角形の計数エリアが設定されている。各頂点は、入力デバイス5であるマウスの操作(クリック及びドラッグ)により自在に移動可能であり、操作者は、モニタ4の画面上に表示される計数セグメント、ノイズセグメント及び非通行セグメントの位置(図19では図示せず)を参照しながら、容易に計数エリアを所望の位置に設定することができる。
また、計数エリアの中央には、入室(IN)の方向及び退室(OUT)の方向を示す両矢印が表示されている。この両矢印は、マウスの操作で回転可能であり、例えば、中心をクリックし、右にドラッグで右回転、左にドラッグで左回転する。これにより、操作者は、入室(IN)の方向及び退室(OUT)の方向に容易に設定することができる。
以上説明したように、本実施形態では、軌跡を軌跡の方向に基づいて複数の種類に分類し、分類された種類ごとの移動軌跡の本数に基づいて、計数エリアの設定を支援する情報である設定支援情報を生成することから、設定支援情報に基づいて計数エリアを映像内に容易に設定することができる。
また、本実施形態では、計数エリア内における時間、詳細には計数エリア内に存在するフレーム数fが所定のフレーム数(基準フレーム数)以上である軌跡の本数に基づいて、計数エリアを通過した人物の人数を計数することから、混雑時に人物の軌跡が途切れたとしても、その人物を計数することができる。したがって、混雑時であっても人数の計数漏れを低減でき、人数計数の精度を向上させることができる。
(実施形態2)
本実施形態は、軌跡検出部12により検出された軌跡を条件(属性)に応じて異なった態様でモニタ4に表示することを除いて、実質的に実施形態1と同じである。
図20に示すように、本実施形態では、制御部10は、表示情報生成部31の機能を更に備えている。
表示情報生成部31は、図21に示すように、軌跡情報21に基づいて、軌跡を条件(属性)に応じて異なった態様で可視化する処理を行う。すなわち、表示情報生成部31は、軌跡検出部12により検出された軌跡を条件に応じて異なった態様で表す軌跡表示情報を表示情報として生成する。生成された軌跡表示情報は、モニタ4に出力され、軌跡が条件に応じて異なった態様でモニタ4に表示される。したがって、操作者は、モニタ4に条件に応じて異なる態様で表示される軌跡を参照しながら仮計数ライン(仮の計数ライン)又は仮計数エリア(仮の計数エリア)を容易に設定することが可能になる。
軌跡を異なった態様で表示するための条件(属性)は、特に限定されず、例えば、下記(a)~(h)の条件が挙げられる。なかでも下記(a)、(c)、(e)、(g)及び(h)の条件が好ましい。
(a)性別
(b)方向
(c)平均移動量(速度)
(d)時間帯
(e)持ち物
(f)自転車に乗っているか否か
(g)仮計数ラインを通過しているか否か
(h)仮計数エリアを通過しているか否か
上記(a)の場合、表示情報生成部31によって軌跡に係る人物の性別を判別する処理が行われ、例えば、図21に示したように、軌跡に係る人物の性別が男性の場合と女性の場合とで異なった態様で軌跡が表示される。これにより、性別ごとに人物を選択的に計数することができる。また、例えば、女性専用車両等の女性しか入れない場所に、男性が入っている場合を表示することができる。なお、人物の性別を映像から判別する処理には、公知の画像認識技術を利用することができる。
上記(b)の場合は、表示情報生成部31によって軌跡の方向を判別する処理が行われ、例えば、図22に示すように、軌跡の方向が第一の方向の場合と、それと反対の第二の方向の場合とで異なった態様で軌跡が表示される。これにより、例えば、左側通行のシーンで、右側通行している人物を表示することができる。
なお、いずれの場合においても、具体的な表示態様は、特に限定されず、図21及び22に示したように線の種類を互いに異ならせてもよいし、線の色を互いに異ならせてもよい。
上記(c)の場合は、軌跡の映像内での平均移動量に応じて表示態様を異ならせる。これにより、例えば、各軌跡に係る人物が、早歩きか立ち止まっているか等が分かるため、当該人物が単なる通行人か店舗等に興味をもった人物であるか等を調査することができる。また、イベント等を開催した場合に、立ち止まってイベントを見た人物がどの程度いたかを表示することができる。更に、立ち止まってはいけない場所で、立ち止まっている人物を表示することができる。なお、ここでの平均移動量も、上述のように、例えば、所定数のフレーム(例えば1フレーム)当たりの平均移動量であってもよいし、所定時間(例えば1秒)当たりの平均移動量であってもよい。また、2つの平均移動量のグループの何れに属するかに応じて表示態様を異ならせてもよいし、3つの平均移動量のグループの何れに属するかに応じて表示態様を異ならせてもよい。
上記(d)の場合は、軌跡に係る人物がカメラ1に撮影された時間帯に応じて表示態様を異ならせる。
上記(e)の場合は、表示情報生成部31によって軌跡に係る人物が所定の持ち物(例えば旅行者用のキャリーバッグ)を持っているか否かを判別する処理が行われ、その結果に応じて軌跡の表示態様を異ならせる。これにより、例えば、旅行者がどの店舗に興味を示すか等を調査することができる。なお、人物の所定の持ち物を映像から検出する処理には、公知の画像認識技術を利用することができる。
上記(f)の場合は、表示情報生成部31によって軌跡に係る人物が自転車に乗っているか否かを判別する処理が行われ、その結果に応じて軌跡の表示態様を異ならせる。なお、人物が自転車に乗っているか否かを映像から判別する処理には、公知の画像認識技術を利用することができる。
上記(h)の場合は、操作者の入力操作に応じて、仮計数ライン設定部としての仮計数エリア設定部13によって所定エリア内に設定された仮計数ラインを、軌跡が通過しているか否かに応じて表示態様を異ならせる。軌跡が仮計数ラインを通過しているか否かは、表示情報生成部31によって判別される。例えば、図23に示すように、表示情報生成部31は、軌跡表示情報として、仮計数ラインを通過した軌跡を表示せず、かつ仮計数ラインを通過していない軌跡を表示する表示情報を生成する。すなわち、仮計数ラインを通過していない軌跡がモニタ4に分かりやすく表示される。
上記(g)の場合は、操作者の入力操作に応じて、仮計数エリア設定部13によって所定エリア内に設定された仮計数エリアを、軌跡が通過しているか否かに応じて表示態様を異ならせる。軌跡が仮計数エリアを通過しているか否かは、表示情報生成部31によって判別される。このとき、軌跡が仮計数エリアの境界線と少なくとも2回交差していれば、当該軌跡は仮計数エリアを通過しているものとする。例えば、図24に示すように、表示情報生成部31は、軌跡表示情報として、仮計数エリアを通過した軌跡を表示せず、かつ仮計数エリアを通過していない軌跡を表示する表示情報を生成する。すなわち、仮計数エリアを軌跡が通過していない軌跡がモニタ4に分かりやすく表示される。
なお、図23及び24では、説明の便宜上、仮計数ライン又は仮計数エリアを通過した軌跡を点線にて図示しているが、実際のモニタ4上では表示されない。
また、上記(h)及び(g)の場合、仮計数ライン又は仮計数エリアを通過した軌跡を表示しないようにするのではなく、仮計数ライン又は仮計数エリアを通過していない軌跡とは異なる態様で表示してもよい。
更に、上記(g)の場合、仮計数エリアは、実施形態1の場合と同様に操作者の入力操作によって設定された仮計数ラインに基づいて設定されたものでもよいし、操作者の入力操作によって直接設定されたものであってもよい。後者の場合は、例えば、操作者は、マウス等の入力デバイス5を用いて、軌跡が表示されたモニタ4の画面上にて、仮計数エリアの位置を所定エリア内にて入力する。
また、表示情報生成部31は、軌跡検出部12により検出された軌跡を間引いた上で軌跡表示情報を生成してもよい。すなわち、所定数の軌跡ごとに平均を取る等して表示すべき軌跡の数を減らし、減らした軌跡のみを表す軌跡表示情報を生成してもよい。これにより、人数が多いために軌跡が重なり合って見難い状況であっても、軌跡を容易に視認し易くすることができる。
次に、図25及び26を用いて、本実施形態におけるエリア設定支援処理の手順について説明する。まず、図25を用いて、上記(a)~(f)の場合について説明する。
これらの場合、まず、実施形態1と同様に、映像入力部11による映像(フレーム)の入力と(S11)、軌跡検出部12による軌跡の検出を行う(S12)。
次に、表示情報生成部31が、軌跡検出部12により検出された軌跡を、上記(a)~(f)のいずれかの条件に応じて異なった態様で表す軌跡表示情報を生成する(S21)。
次に、仮計数エリア設定部13が、操作者の入力操作に応じて、所定エリア内に仮計数ラインを設定し、設定した仮計数ラインに基づいて仮計数エリアを設定する処理を行う(S13)。このとき、軌跡はモニタ4上に条件に応じて異なる態様で表示されていることから、操作者は、各軌跡の属性情報を目で確認しながら最適な仮計数ラインを入力することができる。
その後、実施形態1と同様に、軌跡分類部14による軌跡の分類(S14)以降のステップを実行し、エリア設定支援処理を終了する。
次に、図26を用いて、上記(g)及び(h)の場合について説明する。
これらの場合、まず、実施形態1と同様に、映像入力部11による映像(フレーム)の入力と(S11)、軌跡検出部12による軌跡の検出を行う(S12)。
次に、仮計数エリア設定部13が、操作者の入力操作に応じて、所定エリア内に仮計数ライン又は仮計数エリアを設定する処理を行う(S20)。
次に、表示情報生成部31が、軌跡検出部12により検出された軌跡を、上記(g)又は(h)の条件に応じて異なった態様で表す軌跡表示情報を生成する(S21)。このとき、仮計数ライン又は仮計数エリアを通過していない軌跡が仮計数ライン又は仮計数エリアを通過した軌跡とは異なる態様でモニタ4上に表示されていることから、操作者は、設定した仮計数ライン又は仮計数エリアが最適なものであるかを容易に確認することができる。
その後、操作者による仮計数ライン又は仮計数エリアの再設定の入力があった場合は、上記ステップS13及びS21を繰り返し実行し、操作者による仮計数ライン又は仮計数エリアの再設定の入力がない場合は、実施形態1と同様に、軌跡分類部14による軌跡の分類(S14)以降のステップを実行し、エリア設定支援処理を終了する。
以上説明したように、本実施形態では、検出された軌跡を条件に応じて異なった態様で表す軌跡表示情報を生成することから、操作者は、モニタ4に表示される軌跡を見ながら最適な仮計数ライン又は仮計数エリアを映像内に容易に設定することができる。また、条件に合致する軌跡に係る人物、及び/又は条件に合致しない軌跡に係る人物をそれぞれ選択的に計数できることから、より効果的なマーケティング方法を提供できるようになる。
なお、上記実施形態では、操作者が、モニタ4の画面上で、設定支援情報(各種セグメントの位置情報)を参照しながら、計数エリアを手動で設定する場合について説明したが、設定支援情報に基づく計数エリアの設定は、エリア設定支援装置6にて自動で行ってもよい。この場合、例えば、計数セグメントのみを包含し、かつ面積が最大となる領域(例えば、多角形や、円や楕円)を計数エリア設定部17が仮計数エリア内で検出し、計数エリアとして設定してもよい。
また、上記実施形態では、仮計数エリアを設定するためのラインL1及びL2の幅(長さ)を、仮計数ラインからそれぞれ所定幅wだけ離れた位置において軌跡が通る領域の幅に設定する場合について説明したが、図27に示すように、各ラインL1、L2は、映像の端から端まで突き抜けていてもよい。この場合、各ラインL1、L2の幅を計算する必要がなくなる。
また、上記実施形態では、計数エリア内における時間的な長さ(時間)が所定の時間以上である軌跡の本数に基づいて、計数エリアを通過した人物の人数を計数する場合について説明したが、図28に示すように、計数エリア内での空間的な長さ(軌跡の長さ)Lが所定の空間的な長さ(以下、基準長さ)以上である軌跡の本数に基づいて、計数エリアを通過した人物の人数を計数してもよい。この場合も、混雑時に人物の軌跡が途切れたとしても、その人物を計数することができる。すなわち、図28に示すように、計数エリアと交差しない軌跡aであっても、計数エリア内での長さLが基準長さ以上であれば、その人物を計数対象とすることができる。したがって、軌跡の途切れによる計数漏れの発生を低減することができる。
もちろん、計数エリアと交差する軌跡bや軌跡cであっても、計数エリア内での長さLが基準長さ以上であれば、その人物は計数対象になり得る。他方、誤検出した軌跡を計数対象から除外する観点から、長さLが基準長さ未満である軌跡dについては、その人物は計数対象から除外される。
また、計数エリア内に存在する時間が所定の時間以上であり、かつ計数エリア内での長さLが基準長さ以上である軌跡の本数に基づいて、計数エリアを通過した人物の人数を計数してもよい。
なお、計数エリア内での空間的な長さ(軌跡の長さ)は、例えば、計数エリア内の全ての特定点の座標(画素)から算出されてもよいし、計数エリア内で初めに検出された特定点、すなわち始点の座標(画素)と、計数エリア内で最後に検出された特定点、すなわち終点の座標(画素)とから算出されてもよい。
また、上記実施形態では、人物の状況を調査する調査エリアとして、人物の通過人数を調査(計数)する計数エリアを設定する場合について説明したが、調査エリアは、例えば、人物の滞留時間を調査するエリアであってもよい。
また、上記実施形態、特に実施形態2では、操作者が仮計数ライン又は仮計数エリアを設定するのを支援するために検出された軌跡を条件に応じて異なる態様で表示する場合について説明したが、本発明に係るエリア設定支援装置、エリア設定支援方法及びエリア設定支援プログラムは、軌跡を条件に応じて異なる態様で表示可能にしつつ、操作者から調査ライン又は調査エリア(計数ライン又は計数エリアでもよい)の入力を直接受け付けるように構成されていてもよい。この場合、本発明は、所定エリアを撮影した映像に基づいて、人物の状況を調査する調査ライン若しくは調査エリアの設定を支援するライン若しくはエリア設定支援装置、ライン若しくはエリア設定支援方法、又はライン若しくはエリア設定支援プログラムであって、前記映像から人物ごとの移動軌跡を検出する軌跡検出部、軌跡検出ステップ又は軌跡検出処理と、前記軌跡検出部、前記軌跡検出ステップ又は前記軌跡検出処理により検出された前記移動軌跡を条件に応じて異なった態様で表す軌跡表示情報を生成する表示情報生成部、表示情報生成ステップ又は表示情報生成処理と、操作者の入力操作に応じて前記所定エリア内に前記調査ライン又は前記調査エリアを設定する設定部、設定ステップ又は設定処理と、を必須の構成要件として備えるものであってもよい。
以上、図面を参照しながら本発明の実施形態を説明したが、本発明は、上記実施形態に限定されるものではない。また、各実施形態の構成は、本発明の要旨を逸脱しない範囲において適宜組み合わされてもよいし、変更されてもよい。