(実施の形態1の内容に至る経緯)
昨今、魚眼レンズを搭載するカメラ装置によって撮像した撮像領域の撮像画像の背景画像を繰り返し作成して撮像画像に含まれる移動体の滞留位置または通過位置に関する動線情報を抽出し、撮像画像の背景画像に移動体の動線情報を重畳した動線分析画像を作成する動線分析システムおよび動線分析方法がある。また、同様に例えばコンビニエンスストアまたは百貨店等の施設で使用される防犯用のカメラ装置は、撮像領域の真上からの撮像よりも固定の画角で斜め前方下側を撮像可能に設置されることが多い。よって、このようなカメラ装置が設置された場合、従来の魚眼レンズを搭載するカメラ装置は、混雑時には撮像領域に映る人物と人物との分離が困難となり、人物を正確に検出しきれない可能性があった。上述した特許文献1では、固定の画角で斜め前方下側を撮像可能に設置されるカメラ装置によって人物を検出する技術については想定されていない。
以下、適宜図面を参照しながら、本開示に係るカメラ装置、人物検出システムおよび人物検出方法の構成および作用を具体的に開示した実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になることを避け、当業者の理解を容易にするためである。なお、添付図面及び以下の説明は、当業者が本開示を十分に理解するために提供されるものであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
(実施の形態1)
図1は、実施の形態1に係るカメラ装置100を用いた人物検出システム1000の一例を示す説明図である。図1に示す人物検出システム1000は、複数の施設A,B,C,…にそれぞれに設置された人数カウントシステム500A,500B,500C,…と、本社HOに設置されたPC(Personal Computer)600と、クラウドサーバ700とを含む構成である。複数の施設A,B,C,…は、例えばコンビニエンスストア、百貨店、大型複合商業施設、ドラッグストア等の施設であっても、百貨店または大型複合商業施設等の1つの施設であってもよい。また、実施の形態1に係るカメラ装置は、防犯用のカメラ装置であり、撮像領域の真上からの撮像よりも固定の画角で斜め前方下側を撮像可能に設置される。
それぞれの人数カウントシステム500A,500B,500C,…と、本社HOに設置されたPC600と、クラウドサーバ700とは、ネットワークNW1を介して互いに通信可能に接続されている。ネットワークNW1は、無線ネットワークまたは有線ネットワークである。無線ネットワークは、例えば無線LAN(Local Area Network)、無線WAN(Wide Area Network)、4G(第4世代移動通信システム)、LTE(Long Term Evolution)、LTE−Advanced、5G(第5世代移動通信システム)、Wi−fi(登録商標)、またはWiGig(Wireless Gigabit)である。有線ネットワーク は、例えばイントラネットまたはインターネットである。
図1に示す施設Aに設置された人数カウントシステム500Aは、フロア1に設置された複数のカメラ装置100,100A,100B,100Cと、レコーダ200と、サーバ装置300と、入力デバイス400と、モニタ450とを含んで構成される。なお、フロア2は、フロア1と同様の構成であり複数のカメラ装置が設置されているが、図1ではカメラ装置の図示を省略している。また、施設Aの各フロアで使用されるカメラ装置100,100A,100B,100C,…の内部構成は同じである。
レコーダ200は、例えば半導体メモリまたはハードディスク装置を用いて構成され、施設A内に設置された複数のカメラ装置100,100A,100B,100C,…のそれぞれによって撮像された撮像画像のデータ(以下、撮像画像データと表記)を記憶する。レコーダ200に記憶された撮像画像データは、例えば防犯上の監視業務または業務上の管理業務等に提供される。
外部端末の一例としてのサーバ装置300は、例えば入力デバイス400を操作するユーザ(例えば、施設Aで働く従業員、施設Aを管理する管理人および本社HOの従業員等)の入力操作に応じて、所定の撮像画像データおよび後述する計測結果の一例としての人数カウントのカウント結果を示すデータ(以下、カウント結果データ)をモニタ450に表示させる。
入力デバイス400は、例えばマウス、キーボード、タッチパネルまたはタッチパッドによって構成されて、ユーザの入力操作に応じた信号をカメラ装置100,100A,100B,100C,…またはサーバ装置300に出力する。なお、図1に示す入力デバイス400は、図面を簡単にするためにカメラ装置100のみ矢印(破線)が図示されているが、他のカメラ装置100A,100B,100C,…との間に矢印が図示されてもよい。
表示装置の一例としてのモニタ450は、例えばLCD(Liquid Crystal Display)または有機EL(Electroluminescence)を用いて構成され、サーバ装置300によって作成されたカウント結果データを表示する。なお、モニタ450は、サーバ装置300とは異なる外部端末として設けられるが、サーバ装置300の内部に含まれる構成であってもよい。
本社HOに設置されるPC600は、PC600を操作する本社HOのユーザ(例えば、管理業務を行う社員あるいは役員等)の入力操作に応じて、各施設A,B,C,…内に設置された人数カウントシステム500A,500B,500C,…において作成されたカウント結果データ、およびカメラ装置100,100A,100B,100C,…において撮像された撮像画像データを取得して表示する。また、PC600は、カウント結果データを作成するために必要となる各種情報(例えば、来店者数情報、イベント日程情報、最高気温情報、最低気温情報、天気情報、売上情報等)を保持する。なお、これらの各種情報は、施設A,B,C,…ごとに設けられたサーバ装置(例えば、施設Aであればサーバ装置300)に保持されていてもよい。なお、PC600は、施設A,B,C,…内に設置されたサーバ装置における各処理を実行してもよい。これにより、PC600は、各施設A,B,C,…のデータを集約してカウント結果データを作成することができ、本社HOのPC600に対する入力操作によって選択された1つの施設の詳細データ(例えば、図12に示すカウント結果データ等)を取得することができ、または各施設A,B,C,…の特定のエリア(例えば、製菓売場、肉売場等)および施設のデータを比較した結果を表示することができる。
クラウドサーバ700は、各施設A,B,C,…内に設置された人数カウントシステム500A,500B,500C,…において作成されたカウント結果データ、およびカメラ装置100,100A,100B,100C,…において撮像された撮像画像データを記憶する。クラウドサーバ700は、本社HOのPC600を操作する本社HOのユーザ(例えば、管理業務を行う社員あるいは役員等)の入力操作に応じて、所定の処理(例えば、指定された日付および指定された期間のカウント結果データの検索および抽出)を行い、処理結果を本社HOに設置されたPC600に送信する。
図2は、実施の形態1に係るカメラ装置100とPC600とサーバ装置300とのシステム構成の一例を示す図である。カメラ装置100と、PC600と、サーバ装置300とは、ネットワークNW1を介して互いに通信可能に接続される。
ネットワークNW1は、無線ネットワークまたは有線ネットワークである。無線ネットワークは、例えば無線LAN(Local Area Network)、無線WAN(Wide Area Network)、4G(第4世代移動通信システム)、LTE(Long Term Evolution)、LTE−Advanced、5G(第5世代移動通信システム)、Wi−fi(登録商標)、またはWiGig(Wireless Gigabit)である。有線ネットワークは、例えばイントラネットまたはインターネットである。
カメラ装置100は、制御部10と、撮像部11と、メモリ19と、受信部110と、送信部120とを含んで構成される。また、制御部10は、検出部12と、追尾部13と、ライン通過判定部14と、人数カウント部15と、学習データ16と、を含んで構成される。また、カメラ装置100は、撮像対象とする撮像領域を撮像可能な位置に設置される。
制御部10は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)もしくはFPGA(Field Programmable Gate Array)を用いて構成される。制御部10は、カメラ装置100の全体的な動作を司るコントローラとして機能し、メモリ19と協働してカメラ装置100の各部の動作を統括するための制御処理、カメラ装置100の各部との間のデータの入出力処理、データの演算(計算)処理およびデータの記憶処理を行う。制御部10は、メモリ19に記憶されたプログラムおよびデータに従って動作する。制御部10は、動作時にメモリ19を使用し、制御部10が作成または取得したデータもしくは情報をメモリ19に一時的に記憶させる。
また、制御部10は、後述する所定のフレームレート(例えば、10fps(frame per second))で撮像される撮像画像に基づく機械学習により、最新のマスクエリアデータ、背景画像データ、および足元座標算出データ(図6参照)を作成し、これらのデータを学習データ16の一部として設定する。
マスクエリアデータは、例えばメモリ19に記憶され、ドアまたはガラス等の人物の鏡像が映る領域に関するデータであり、人物検出の対象外となる領域として設定される。マスクエリアデータは、人物の一部および全身の誤検出を抑制するためのデータである。マスクエリアデータは、カメラ装置100の設置時には、最初に撮像された撮像画像に基づく初期設定データとして、PC600またはサーバ装置300によって設定される。また、マスクエリアデータは、カメラ装置100の設置後には、後述する所定のフレームレートで撮像された撮像画像に基づく機械学習により、最新のマスクエリアデータとして作成される。作成された最新の背景画像データは、学習データ16の一部として設定される。
背景画像データは、例えばメモリ19に記憶され、撮像画像に含まれる移動体(例えば、人物の一部および全身等)を排除して作成されて、撮像領域に映る人物の一部または全身を検出するための背景画像のデータである。背景画像データは、カメラ装置100の設置時には、最初に撮像された撮像画像に基づく初期設定データとして、PC600またはサーバ装置300によって設定される。また、背景画像データは、カメラ装置100の設置後には、後述する所定のフレームレートで撮像された撮像画像に基づく機械学習により、最新の背景画像データとして作成される。作成された最新の背景画像データは、学習データ16の一部として設定される。
足元座標算出データは、検出された人物の一部と、その人物の撮像画像中の位置とによってその人物の足元座標を算出するためのデータである。なお、後述するが、足元座標算出データは、カメラ装置100の設置時に、カメラ装置100の設置角度に基づく足元座標算出データをサーバ装置300またはPC600から取得され、撮像した撮像画像と、撮像領域に映る人物とに基づいて、カメラ装置100自身が足元座標算出データを作成して設定してもよい。なお、カメラ装置100の設定時に作成された足元座標算出データは、初期設定データとしてメモリ19に記憶される。また、足元座標算出データは、カメラ装置100の設置後には、後述する所定のフレームレートで撮像された撮像画像に基づく機械学習により、最新の足元座標算出データとして作成されてもよい。なお、作成された最新の足元座標算出データは、学習データ16の一部として設定される。
メモリ19は、例えば制御部10の各処理を実行する際に用いられるワークメモリとしてのRAM(Random Access Memory)と、制御部10の動作を規定したプログラムおよびデータを格納するROM(Read Only Memory)とを有する。RAMには、制御部10により作成あるいは取得されたデータもしくは情報が一時的に保存される。ROMには、制御部10の動作(例えば、撮像部11が撮像した撮像画像データから検出部12が人物および人物の一部を検出する方法、および追尾部13が検出部12によって検出された人物の一部および全身を追尾する方法等)を規定するプログラムが書き込まれている。メモリ19は、カメラ装置100の設置時のカメラ装置100の設置位置および設置角度等のデータを記憶している。
また、メモリ19は、撮像部11が撮像した撮像画像データ、検出部12が検出した人物の一部および全身のデータ、および人数カウント部15がカウントした人数のデータ等を記憶する。さらにメモリ19は、カメラ装置100の設置時に予め設定される各種データを記憶する。各種データは、例えばマスクエリアデータ、背景画像データ、および足元座標算出データ等である。各種データは、PC600またはサーバ装置300から送信されてネットワークNW1を介して受信部110で受信される。
撮像部11は、少なくともレンズとイメージセンサとを有して構成される。撮像部11は、所定のフレームレート(例えば、30fpsまたは60fps(frame per second))で撮像領域を撮像する。また、イメージセンサは、例えばCCD(Charged−Coupled Device)またはCMOS(Complementary Metal Oxide Semiconductor)の固体撮像素子であり、撮像面に結像した光学像を電気信号に変換する。
検出部12は、例えばCPU、MPUまたはDSPを用いて構成され、撮像部11からの電気信号を用いて所定の信号処理を行うことで、人間が認識可能なRGB(Red Green Blue)またはYUV(輝度・色差)等により規定される撮像画像のデータを作成する。検出部12は、作成した撮像画像のデータに基づいて、撮像領域に映る人物の一部および全身を、マスクエリアデータおよび背景画像データとの比較によって検出する。検出部12は、撮像領域のうちマスクエリアデータに基づいて人物検出の対象外となる領域を除いた撮像領域に映る人物を検出する。検出部12は、撮像領域に映る人物の一部および全身のそれぞれを検出する第1検出部12a,第2検出部12b,第3検出部12c,第4検出部12dを含んで構成される。
第1検出部12a,第2検出部12b,第3検出部12c,第4検出部12dのそれぞれは、検出した人物の一部および全身のそれぞれに対応する部分を、追尾部13によって追尾を行うための追尾用のオブジェクトの候補として検出する。なお、追尾用のオブジェクトの候補は、検出用オブジェクトの一例である。第1検出部12a,第2検出部12b,第3検出部12c,第4検出部12dのそれぞれは、人物の一部を示す複数の追尾用のオブジェクトの候補のそれぞれを検出する。また、第1検出部12a,第2検出部12b,第3検出部12c,第4検出部12dのそれぞれは、検出した追尾用のオブジェクトの候補の大きさを示す人物検出枠OB1,OB2,OB3,OB4(図5参照)を設定する。人物検出枠OB1,OB2,OB3,OB4のそれぞれについては、図5を参照して後述する。
また、検出部12は、第1検出部12a,第2検出部12b,第3検出部12c,第4検出部12dのそれぞれによって検出された複数の追尾用のオブジェクトの候補のそれぞれを検出結果として取得する。検出部12は、取得した検出結果と所定の閾値との比較を行い、撮像領域に対する混雑判定を行う。検出部12は、例えば検出結果に含まれる複数の人物の一部と、全身とのそれぞれの検出数を比較し、比較結果と設定された所定の閾値とに応じて撮像領域が混雑しているか否かを判定する。なお、所定の閾値は、例えば撮像中の頭部の検出数に対する全身の検出数の比であっても、人数を示す値であってもよい。検出部12は、混雑判定の結果に基づいて、非混雑の場合には人物の全身を追尾用のオブジェクトとして設定し、混雑の場合には人物の一部を追尾用のオブジェクトとして設定して、追尾部13に出力する。なお、第1の検出用オブジェクトとしての一例は、非混雑の場合に設定される追尾用のオブジェクトであり、第2の検出用オブジェクトとしての一例は、混雑の場合に設定される追尾用のオブジェクトである。
追尾部13は、検出部12から入力された追尾用のオブジェクトに基づいて、撮像領域に映る複数の人物をそれぞれ検出して追尾するための追尾用のオブジェクトのデータ13aを設定する。追尾部13は、追尾によって撮像領域内を移動する人物の動線情報を、追尾用のオブジェクトと足元座標算出データとを用いてその人物の足元座標を算出して作成する。動線情報は、撮像領域に映る複数の人物のそれぞれに対して作成されて、人物がどの位置で滞留、あるいはどの位置を通過したかを示す情報である。追尾部13は、作成した動線情報をライン通過判定部14に出力する。追尾部13は、入力された追尾用のオブジェクトのデータ13aに対する追尾を終了するまでの間記憶する。
ライン通過判定部14は、追尾部13から入力される人物の動線情報と、設定された所定のラインとに基づいて、その人物が所定のラインを通過したか否かを判定する。所定のラインは、撮像領域における任意の位置に対してPC600によって予め設定されており、ラインの数は複数であってもよい。ライン通過判定部14は、動線情報に基づいて所定のラインを通過する方向を区別することができる。よって、ライン通過判定部14は、例えば施設入口に設けられた所定のラインに対して、入店人数と退店人数とをそれぞれ区別して判定することができる。これにより、各施設A,B,C,…のそれぞれの人数カウントシステム500A,500B,500C,…において作成されたカウント結果データには、入店人数と退店人数等の人物の動線情報によって得ることができるデータが含まれるため、本社HOの従業員はカウント結果データからより多様な情報を得ることができる。またライン通過判定部14は、人物が所定のラインを通過したと判定すると、所定のラインに対する通過方向ごとの判定結果を人数カウント部15に出力する。
人数カウント部15は、ライン通過判定部14から入力された判定結果に基づいて、所定のラインを通過した人物の人数をカウントし、カウント結果を送信部120に出力する。
受信部110は、カメラ装置100の設置時にPC600またはサーバ装置300からマスクエリアデータ、背景画像データ、および足元座標算出データ等の人物の検出およびカウントを実施するために必要なデータを、ネットワークNW1を介して受信する。また、受信部110は、入力デバイス400を操作するユーザの入力操作に応じて、カメラ装置100が撮像する撮像領域の混雑判定を行うための所定の閾値、または撮像領域に映る人物の人数をカウントするための所定のライン等の情報が変更された場合には、これらの情報を受信する。
送信部120は、撮像部11によって撮像される撮像画像から随時作成される学習データ16(マスクエリアデータ、背景画像データ、および足元座標算出データ等)、人物の滞留あるいは通過に関する動線情報、および所定のラインを通過する人物のカウント結果データを取得してサーバ装置300に送信する。
次に、図2に示すPC600について説明する。外部端末および表示装置の一例としてのPC600は、制御部20と、表示部21と、入力部22と、記憶部28と、メモリ29と、受信部210と、送信部220とを含んで構成される。なお、以下の説明においては説明を簡単にするためにカメラ装置100のみを記載しているが、PC600と通信可能に接続されている他のカメラ装置100A,100B,100C,…であってもよい。
制御部20は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)もしくはFPGA(Field Programmable Gate Array)を用いて構成される。制御部20は、PC600の全体的な動作を司るコントローラとして機能し、メモリ29と協働してPC600の各部の動作を統括するための制御処理、PC600の各部との間のデータの入出力処理、データの演算(計算)処理およびデータの記憶処理を行う。制御部20は、メモリ29に記憶されたプログラムおよびデータに従って動作する。制御部20は、動作時にメモリ29を使用し、制御部20が作成または取得したデータもしくは情報をメモリ29に一時的に記憶させる。
表示部21は、カメラ装置100によって作成されたカウントデータを表示する。また表示部21は、カメラ装置100によって撮像される撮像領域の混雑判定を行うための所定の閾値、または撮像領域に映る人物の人数をカウントするための所定のライン等の設定情報を表示する。
入力部22は、カメラ装置ごとに撮像される撮像領域の混雑判定を行うための所定の閾値、または撮像領域に映る人物の人数をカウントするための所定のライン等の設定情報を表示する。また、入力部22はユーザの入力操作に基づいて、カメラ装置100の設置時に必要な初期設定としてのデータ(例えば、マスクエリアデータ、背景画像データ、および足元座標算出データ等)を入力する。なお、マスクエリアデータ、背景画像データ、および足元座標算出データは、ユーザによって設定されて記憶部28に記憶されているデータであっても、カメラ装置100の設置時に最初に撮像した撮像画像に基づいてユーザが設定したデータであってもよい。また、入力部22は、ユーザの入力操作に応じて、既存の設定(例えば、所定の閾値、所定のライン、マスクエリアデータおよび足元座標算出データ等)の設定変更を行うことができる。
記憶部28は、サーバ装置300あるいはPC600によってカメラ装置ごとに設定された設定値を記憶する。また、記憶部38は、カメラ装置100から取得したカウントデータあるいはPC600によって加工されたカウントデータ(例えば、他のカメラ装置100A,100B,100C,…とカメラ装置100とによって得られたそれぞれのカウントデータを比較したデータ等)を記憶する。記憶部28は、ユーザによって設定されたカメラ装置の設置時に必要な初期設定としてのデータ(例えば、マスクエリアデータ、背景画像データ、および足元座標算出データ等)を、カメラ装置ごとに記憶する。
メモリ29は、例えば制御部20の各処理を実行する際に用いられるワークメモリとしてのRAM(Random Access Memory)と、制御部10の動作を規定したプログラムおよびデータを格納するROM(Read Only Memory)とを有する。RAMには、制御部20により作成あるいは取得されたデータもしくは情報が一時的に保存される。ROMには、制御部20の動作(例えば、カメラ装置ごとに作成されたカウントデータのそれぞれを取得して加工する方法、およびカメラ装置ごとに所定の閾値または所定のライン等の設定を設定する方法等)を規定するプログラムが書き込まれている。メモリ29は、カメラ装置100の設置時に設定されるカメラ装置100の設置位置および設置角度等のデータを記憶する。
受信部210は、現在のカメラ装置100に設定されている設定情報あるいはカメラ装置100によって作成されたカウント結果データを受信する。また、送信部220は、ユーザの入力操作に応じて既存の設定(例えば、所定の閾値、所定のライン、マスクエリアデータおよび足元座標算出データ等)が変更された場合にその設定情報を送信することができる。
次に、図2に示すサーバ装置300について説明する。外部端末の一例としてのサーバ装置300は、制御部30と、記憶部38と、メモリ39と、受信部310と、送信部320とを含んで構成される。なお、以下の説明においては説明を簡単にするためにカメラ装置100のみを記載しているが、サーバ装置300と通信可能に接続されている他のカメラ装置100A,100B,100C,…であってもよい。
サーバ装置300は、図1に示す入力デバイス400を操作するユーザの入力操作に応じて、既存の設定(例えば、所定の閾値、所定のライン、マスクエリアデータおよび足元座標算出データ等)の設定変更を行うことができる。
制御部30は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)もしくはFPGA(Field Programmable Gate Array)を用いて構成される。制御部30は、サーバ装置300の全体的な動作を司るコントローラとして機能し、メモリ39と協働してサーバ装置300の各部の動作を統括するための制御処理、サーバ装置300の各部との間のデータの入出力処理、データの演算処理およびデータの記憶処理を行う。制御部30は、メモリ39に記憶されたプログラムおよびデータに従って動作する。制御部30は、動作時にメモリ39を使用し、制御部30が作成または取得したデータもしくは情報をメモリ39に一時的に記憶させる。
記憶部38は、サーバ装置300あるいはPC600によってカメラ装置ごとに設定された設定値を記憶する。また、記憶部38は、カメラ装置100によって作成されたカウントデータあるいはPC600によって加工されたカウントデータを記憶する。
受信部310は、カメラ装置100によって作成されたカウント結果データを受信する。受信部310によって受信されたカウント結果データは、記憶部38に記憶される。また、送信部320は、ユーザの入力操作に応じて既存の設定(例えば、所定の閾値、所定のライン、マスクエリアデータおよび足元座標算出データ等)が変更された場合には、その設定情報を送信することができる。
次に、図3Aおよび図3Bを参照して、足元座標算出データの設定例について説明する。図3Aは、足元座標算出データの設定例(前面)を示す説明図である。図3Bは、足元座標算出データの設定例(背面)を示す説明図である。
図3Aおよび図3Bは、カメラ装置100は設置時に人物HU1が映る撮像画像SC1を撮像して、足元座標算出データを設定する様子を示す。足元座標算出データは、カメラ装置100により撮像された撮像画像SC1と、撮像画像SC1に映る人物HU1とに基づいて設定される。また、足元座標算出データは、人物HU1の前面および背面のそれぞれの撮像画像SC1を用いて設定される。なお、説明を簡単にするために図3Aおよび図3Bでは、人物の前面および背面のそれぞれに対して撮像画像SC1,SC2をそれぞれ1例ずつ示しているが、複数の撮像画像を用いて足元座標算出データを設定してもよい。
また、足元座標算出データの設定に使用される撮像画像は、カメラ装置100の機械学習を行うためのデータとしても記憶される。よって、カメラ装置100は、人物の前面および背面のそれぞれが映る撮像画像のそれぞれを使用して人物の一部または全身を検出してもよいし、いずれか一方を使用して人物の一部または全身を検出してもよい。また、カメラ装置100は、人物の背面が映る撮像画像では検出に用いる特徴量(言い換えると、背景画像データに対する差分)が大きく異なるため、人物の背面が映る撮像画像においては、人物の頭部の検出が困難となる。このため、カメラ装置100は、足元座標算出データの設定に使用される撮像画像に人物の前面および背面のそれぞれにおける人物の頭部が映る撮像画像を使用する場合、効率よく機械学習を行うことができ、運用時にはより高精度に人物の頭部を検出することができる。
図3Aは、撮像画像SC1に映る人物HU1が前面を向いている状態での足元座標算出データを設定する様子を示す。撮像画像SC1上には、ラインL1と、人物HU1の足元座標Pt1と、人物検出枠OB11とが表示される。カメラ装置100は、撮像画像SC1に映る人物HU1を検出し、人物HU1の全身の検出を示す人物検出枠OB11と、人物HU1の足元座標Pt1とを検出して設定する。ラインL1は、PC600に予め設定されたラインの設定に基づいて設定される。
同様に、図3Bは、撮像画像SC2に映る人物HU2が背面を向いている状態での足元座標算出データを設定する様子を示す。なお、人物HU2と人物HU1は同一人物であってもよい。撮像画像SC2上には、ラインL2と、人物HU2の足元座標Pt2と、人物検出枠OB12とが表示される。カメラ装置100は、撮像画像SC2に映る人物HU2を検出し、人物HU2の全身の検出を示す人物検出枠OB12と、人物HU2の足元座標Pt2とを検出して設定する。ラインL2は、PC600に予め設定されたラインの設定に基づいて設定される。なおラインL2は、ラインL1と同一のラインである。
図4は、足元座標算出データの設定手順例を示すシーケンス図である。足元座標算出データは、カメラ装置100と、PC600とによって設定される。
カメラ装置100は、撮像部11によって撮像領域内に映る人物がそれぞれ異なる位置を通過する様子について複数の撮像画像を撮像する(T1)。
カメラ装置100は、第1検出部12aによって、複数の撮像画像のそれぞれから設定用のオブジェクトとして人物の全身をそれぞれ検出する(T2)。ここでいう設定用のオブジェクトは、人物の全身が検出されたオブジェクトである。
カメラ装置100は、検出部12によって検出された設定用のオブジェクトのそれぞれを、検出された設定用のオブジェクトの足元座標と、設定用のオブジェクトの大きさ(言い換えると、人物の大きさ)とを関連付けて取得する(T3)。
カメラ装置100は、取得した複数の設定用のオブジェクトの足元座標および大きさのそれぞれを関連付けた検出結果を、送信部120からネットワークNW1を介してPC600に送信する(T4)。
PC600は、複数の設定用のオブジェクトの足元座標および大きさのそれぞれを受信部210によって受信する(T5)。
PC600は、受信した複数の設定用のオブジェクトの足元座標および大きさのそれぞれと、予めPC600に設定された人の平均的な身長データとを比較して、撮像領域の所定の座標に対応するオブジェクトの相対的な大きさを設定値として算出し、これらの設定値に基づいて足元座標算出データを作成する(T6)。
PC600は、作成した足元座標算出データをカメラ装置100の足元座標算出データとして記憶部28に記憶して、送信部220からネットワークNW1を介して、カメラ装置100に送信する(T7)。
カメラ装置100は、受信部110によって足元座標算出データを受信する(T8)。
カメラ装置100は、受信した足元座標算出データをメモリ19に記憶して、検出部12が参照する足元座標算出データとして設定する(T9)。これにより、カメラ装置100は、検出された追尾用のオブジェクトの候補が人物の一部を示すオブジェクトであっても、追尾用のオブジェクトの候補の大きさ(言い換えると、人物検出枠OB2,OB3,OB4)と、追尾用のオブジェクトの候補の位置に応じて人物の全身の大きさを推定することができ、さらには推定した大きさから人物の足元座標を推定することができる。したがって、カメラ装置100は、作成された足元座標算出データに基づいて、撮像領域に映る人物の足元座標を推定することができる。
図5は、複数の追尾用のオブジェクトの候補例を示す図である。図5は、撮像領域に映る人物HU0を撮像した撮像画像DE0である。追尾用のオブジェクトの候補は、第1検出部12a,第2検出部12b,第3検出部12c,第4検出部12dのそれぞれによって検出されるオブジェクトである。追尾用のオブジェクトの候補は、検出された人物の一部および全身の大きさを示す人物検出枠OB1〜OB4のそれぞれが設定される。
検出部12は、撮像した撮像画像に基づく深層学習を用いた機械学習、あるいは背景画像との差分によって、検出した人物HU0の一部および全身のそれぞれを検出する。第1検出部12aは、人物HU0の全身を検出し、全身を検出した領域(大きさ)に人物検出枠OB1を設定する。第2検出部12bは、人物HU0の一部である上半身を検出し、上半身を検出した領域(大きさ)に人物検出枠OB2を設定する。第3検出部12cは、人物HU0の一部である肩甲骨上を検出し、肩甲骨上を検出した領域(大きさ)に人物検出枠OB3を設定する。第4検出部12dは、人物HU0の一部である頭部を検出し、頭部を検出した領域(大きさ)に人物検出枠OB4を設定する。よって、撮像領域に映る人物HU0は、第1検出部12a〜第4検出部12dによって人物の一部および全身のそれぞれの場所を、複数の追尾用のオブジェクトの候補として検出される。これにより、カメラ装置100は、混雑時であっても人物HU01に対して複数の追尾用のオブジェクトの候補を関連付けて追尾することができるため、追尾精度を向上させることができる。
なお、第1検出部12a〜第4検出部12dは、図2に示すように4つの検出部に限らず、カメラ装置100の設置角度、撮像領域の大きさ、または検出対象の設定等によって増やしても減らしてもよい。また、第1検出部12a〜第4検出部12dが検出する人物の一部および全身はこれに限らず、例えば目および鼻等の顔の一部または動きが大きい腕および足であってもよい。これにより、カメラ装置100は、様々な設置角度、設置環境および検出対象に合わせた追尾用のオブジェクトの候補を設定することができ、高精度な人物検出を行うことができる。
図6は、足元座標算出データの一例を示す図である。図6に示す足元座標算出データは、図4を参照して説明した足元座標算出データとは異なり、カメラ装置100のメモリ19に保持されたデータであり、カメラ装置100の設置角度と、検出された人物の一部あるいは全身の検出位置とに基づいて、足元座標を推定するためのデータである。
図6に示す足元座標算出データTB1は、カメラ装置100の設置角度に対応する撮像領域に映る人物の位置と、検出された人物の大きさとを含んで構成される。カメラ装置100は、検出された人物の一部の大きさと、人物の検出サイズX1,X2,X3のそれぞれとの比較により、人物の足元座標が領域Ar1,Ar2,Ar3のいずれか1つの領域に位置するかを推定する。また、カメラ装置100は、人物の全身が検出された場合には、人物の足元座標と、足元座標が位置する領域Ar1,Ar2,Ar3に対応する人物の検出サイズX1,X2,X3とを比較することにより、より高精度な足元座標算出データTB1を作成することができる。なお、領域Ar1,Ar2,Ar3のそれぞれは、撮像領域モデルSC0に示すように、撮像領域における手前を領域Ar1、中央を領域Ar2および奥を領域Ar3と設定する。また、領域Ar1,Ar2,Ar3のそれぞれは、図6に示すように3つの領域に限定されず、カメラ装置100の設置角度、撮像領域の大きさおよびユーザが必要とする検出精度によって、さらに多くの領域を設定してもよい。これにより、カメラ装置100は、ユーザによる設定を必要とせずに人物の足元座標を推定し、さらに領域を多く設定することにより、足元座標の推定精度を向上させることができる。
図7は、追尾用のオブジェクトの決定例を示すフローチャートである。図7は、撮像領域に映る複数の人物を検出部12によって検出し、検出された複数の追尾用のオブジェクトの候補から、現時点における撮像領域に映る人物の追尾用のオブジェクトとして適したオブジェクトを設定するためのフローチャートである。
カメラ装置100は、撮像部11によって撮像領域を撮像する(St11)。カメラ装置100は、第1検出部12a〜第4検出部12dによって、撮像された撮像画像に映る複数の人物のそれぞれに対して、複数の追尾用のオブジェクトの候補をそれぞれ検出する(St12)。
カメラ装置100は、検出された複数の追尾用のオブジェクトの候補のうち、第1検出部12aによって検出された人物の全身を示す追尾用のオブジェクトの候補の数と第2検出部12b〜第4検出部12dによって検出された人物の一部を示す追尾用のオブジェクトの候補の数とを取得する(St13)。
カメラ装置100は、取得された人物の全身を示す追尾用のオブジェクトの候補の数と、人物の一部を示す追尾用のオブジェクトの候補の数と、混雑判定に使用する所定の閾値とを比較することにより、混雑判定を行う(St14)。なお、所定の閾値は、ユーザによって任意に設定され、割合を示す値であっても人数を示す値であってもよい。
ここで、混雑判定の判定方法の一例について説明する。カメラ装置100は、例えば人物の全身を示す追尾用のオブジェクトの候補の数が2に対して、人物の一部(例えば、頭部)を示す追尾用のオブジェクトの候補の数が8である場合、撮像された複数の人物のうち、人物の全身が見えている人物は2人であり、人物の一部のみしか見えていない人物は6人であると判断する。ここで、所定の閾値が例えば50%という割合の場合には、人物の全身の検出率が50%以下である場合に混雑と判定し、人物の全身の検出率が50%より大きい場合には非混雑と判定する。カメラ装置100は、現在撮像領域に映る複数の人物の全身の検出率がおよそ33%であることから、撮像領域は混雑していると判定する。なお、所定の閾値が人数を示す値である場合も同様にして判定することができる。また、カメラ装置100は、混雑判定において比較する追尾用のオブジェクトの候補を、例えば全身および上半身と、肩甲骨上および頭部とがそれぞれ検出された追尾用のオブジェクトの候補の数に基づいて比較してもよい。
カメラ装置100は、ステップSt14における混雑判定の結果、撮像領域が混雑していると判定された場合(St15,YES)には、ユーザによって指定されたオブジェクトを追尾用のオブジェクトとして決定する(St16)。指定されたオブジェクトは、ユーザによって指定された、例えば上半身、肩甲骨上および頭部等の人物の一部を示すオブジェクトのすべてであっても、複数存在するオブジェクトのうち肩甲骨上のみであってもよい。
カメラ装置100は、ステップSt14における混雑判定の結果、撮像領域が混雑していないと判定された場合(St15,NO)には、人物の全身を示すオブジェクトを追尾用のオブジェクトとして決定する(St17)。
カメラ装置100は、決定された追尾用のオブジェクトを設定する(St18)。これにより、カメラ装置100は、撮像した撮像画像に映る複数の人物を、決定された追尾用のオブジェクトに基づいて簡易に追尾することができる。なお、カメラ装置100は、ステップSt18によって追尾用のオブジェクトが決定された後、図8に示す撮像領域に映る人物の人数のカウント手順例を示すフローチャートの処理に移行する。
図8は、撮像領域に映る人物のカウント手順例を示すフローチャートである。図8は、図7に示すフローチャートの処理によって追尾用のオブジェクトが設定された後に、追尾用のオブジェクトに基づいて人物の追尾を行うためのフローチャートである。
カメラ装置100は、ステップSt18において設定された追尾用のオブジェクトが、人物の全身を示すオブジェクトであるか否かを判定する(St21)。
カメラ装置100は、ステップSt18において設定された追尾用のオブジェクトが人物の一部を示すオブジェクトである場合(St21,NO)には、撮像画像から検出された複数の追尾用のオブジェクトの候補からステップSt18において設定された追尾用のオブジェクトのみを抽出(選択)して決定する(St22)。
カメラ装置100は、決定した追尾用のオブジェクトの検出位置と、検出された大きさとに基づいて、足元座標算出データを参照する(St23)。なお、参照する足元座標算出データは、カメラ装置100の設置時に設定された足元座標算出データであっても、カメラ装置100が撮像した撮像画像から機械学習によって作成された新しい足元座標算出データであってもよい。
カメラ装置100は、足元座標算出データに基づいて、追尾用のオブジェクトが示す人物の足元座標を推定する(St24)。
カメラ装置100は、ステップSt18において設定された追尾用のオブジェクトが人物の全身を示すオブジェクトである場合(St21,YES)、あるいはステップSt18によって設定された追尾用のオブジェクトが人物の一部を示すオブジェクトであって、ステップSt24において足元座標が推定された場合には、追尾部13によって追尾用のオブジェクトを追尾した動線情報を作成する。カメラ装置100は、ライン通過判定部14によって作成した動線情報に基づいて追尾用のオブジェクトが、ユーザによって設定されたラインを通過したか否かを判定し、通過した場合はその通過情報(例えば、通過した方向と時間等)を検出する(St25)。
カメラ装置100は、人数カウント部15によって、検出された通過情報に基づいて、ラインを通過した追尾用のオブジェクトの数に対応する人数をカウントする(St26)。
カメラ装置100は、人数のカウント結果に基づいてカウント結果データを作成し、PC600またはサーバ装置300に送信して表示させる(St27)。なお、カメラ装置100は、カウント結果データを作成した後は、図7のステップSt11の処理に戻る。
図9Aは、非混雑状態における人物の検出例を示す図である。図9Bは、混雑状態における人物の検出例を示す図である。図9Aは、混雑判定の結果、撮像領域が非混雑であると判定された場合の人物の検出例であって、人物の全身を検出している。図9Bは、混雑判定の結果、撮像領域が混雑であると判定された場合の人物の検出例であって、人物の一部を検出している。なお、図9Aは通過方向アイコンLU,LDが示す方向にそれぞれ0人および1人の人物が通過した様子を示しており、図9Bは通過方向アイコンLU,LDが示す方向にそれぞれ0人および5人の人物が通過した様子を示す。また、撮像画像SC3,SC4のそれぞれはPC600の表示部21に表示される。
図9Aにおいて、カメラ装置100は、撮像した撮像画像SC3に映る複数の人物の全身を検出する。撮像画像SC3上には、人物検出枠OB13,OB14,OB15,OB16,OB17,OB18のそれぞれと、所定のラインL3と、通過方向アイコンLU,LDのそれぞれと、カウント値C11,C21のそれぞれとが表示される。人物検出枠OB13〜OB18のそれぞれは、複数の人物の全身のそれぞれに対する検出範囲を示す。通過方向アイコンLUは、手前から奥に向かって所定のラインL3を通過したことを示す。通過方向アイコンLDは、奥から手前に向かって所定のラインL3を通過したことを示す。カウント値C11,C21のそれぞれは、通過方向アイコンLU,LDのそれぞれに対応する方向に所定のラインL3を通過した人物の人数を示す。
図9Bにおいて、カメラ装置100は、撮像した撮像画像SC4に映る複数の人物の一部を検出する。撮像画像SC4上には、人物の上半身の検出範囲を示す人物検出枠OB21,OB22,OB26のそれぞれと、人物の肩甲骨上の検出範囲を示す人物検出枠OB31,OB32,OB33,OB34,OB35,OB36,OB37のそれぞれと、人物の頭部の検出範囲を示す人物検出枠OB41,OB42,OB43,OB44,OB45,OB46,OB47のそれぞれと、所定のラインL4と、通過方向アイコンLU,LDのそれぞれと、カウント値C12,C22のそれぞれとが表示される。通過方向アイコンLUは、手前から奥に向かって所定のラインL4を通過したことを示す。通過方向アイコンLDは、奥から手前に向かって所定のラインL4を通過したことを示す。カウント値C12,C22のそれぞれは、通過方向アイコンLU,LDのそれぞれに対応する方向に所定のラインL4を通過した人物の人数を示す。なお、図9Bにおいて人物の頭部の検出範囲を示す人物検出枠OB41〜OB47のそれぞれと、所定のラインL4の一部とが破線によって図示されているが、これは図面を見やすくする目的で破線に変更している。
図10は、実施の形態1に係るカメラ装置100を用いた人物検出システム1000の動作手順例を示す図である。図10は、前述した図7および図8に示すフローチャートの処理とは異なり、より適した追尾用のオブジェクトを自動で設定することができる。
カメラ装置100は、撮像部11によって撮像領域を撮像する(St30)。カメラ装置100は、第1検出部12a〜第4検出部12dによって、撮像された撮像画像に映る複数の人物のそれぞれに対して、複数の追尾用のオブジェクトをそれぞれ検出する(St31)。
カメラ装置100は、検出された複数の追尾用のオブジェクトのうち、第1検出部12aによって検出された人物の全身を示す追尾用のオブジェクトの数と第2検出部12b〜第4検出部12dによって検出された人物の一部を示す追尾用のオブジェクトの数とを取得する(St32)。
カメラ装置100は、取得された人物の全身を示す追尾用のオブジェクトの数と、人物の一部を示す追尾用のオブジェクトの数と、混雑判定に使用する所定の閾値とを比較することにより、混雑判定を行う(St33)。なお、所定の閾値は、ユーザによって任意に設定され、割合を示す値であっても人数を示す値であってもよい。
カメラ装置100は、ステップSt32において検出された複数の追尾用のオブジェクトのうち、1人の人物から検出されたと推定される複数の追尾用のオブジェクトの候補をその1人の人物に関連付けて設定する(St34)。なお、カメラ装置100は、追尾用のオブジェクトのそれぞれに対して推定される足元座標に基づいて複数の追尾用のオブジェクトのそれぞれを関連付ける。
カメラ装置100は、人物ごとに検出された複数の追尾用のオブジェクトのうち、最も特徴量を多く含むオブジェクトを追尾用のオブジェクトとして決定する。追尾用のオブジェクトは、より多くの特徴量またはより大きい面積で検出されるオブジェクトが好ましいが、ユーザの指定するオブジェクトであっても、ユーザによって設定されたオブジェクトの優先順位(例えば、面積の広い上半身、肩甲骨上、頭部の順)に基づいて決定されてもよい。
また、追尾用のオブジェクトは、カメラ装置100の設置角度に基づいて決定されてもよい。例えば、追尾用のオブジェクトは、カメラ装置100の設置角度が30°の場合には人物の上半身の検出が容易であるため、上半身を検出するように決定される。また、追尾用のオブジェクトは、カメラ装置100の設置角度が45°の場合には、カメラ装置100の設置角度が30°の場合に比べて、人物の上半身を検出するのが難しく、また人物の頭部を検出したときの検出面積(言い換えると、人物検出枠の枠の大きさ)が大きくなるため、人物の頭部を検出するように決定されてもよい。
カメラ装置100は、人物ごとに決定された追尾用のオブジェクトのデータを更新する(St36)。なお、カメラ装置100は、決定した追尾用のオブジェクトに含まれる特徴量が少ない等、検出精度の低下を招く可能性がある場合には、複数のオブジェクトを追尾用のオブジェクトとして決定してもよい。これにより、カメラ装置100は、追尾用のオブジェクトのデータの更新を頻繁に行わなくてもよく、また検出精度を確保することができる。
カメラ装置100は、決定された追尾用のオブジェクトのそれぞれに対して、設定された足元座標データを用いて足元座標を推定して、追尾部13によって追尾用のオブジェクトを追尾した動線情報を作成する。カメラ装置100は、ライン通過判定部14によって作成した動線情報に基づいて追尾用のオブジェクトが、ユーザによって設定されたラインを通過したか否かを判定し、通過した場合はその通過情報(例えば、通過した方向と時間等)を検出する(St37)。
カメラ装置100は、人数カウント部15によって、検出された通過情報に基づいて、ラインを通過した追尾用のオブジェクトの数に対応する人数をカウントする(St38)。
カメラ装置100は、人数のカウント結果に基づいてカウント結果データを作成し、PC600またはサーバ装置300に送信して表示させる(St39)。なお、カメラ装置100は、カウント結果データを作成した後は、ステップSt30の処理に戻る。
図11は、カメラ装置100によって撮像された撮像画像例を示す図である。図11は、人物の全身のみを検出した撮像画像SC5であり、通過方向アイコンLU,LDが示す方向にそれぞれ4人および5人の人物が通過した様子を示す。また、撮像画像SC5はPC600の表示部21に表示される。
図11において、カメラ装置100は、撮像した撮像画像SC5に映る複数の人物の全身を検出する。撮像画像SC5上には、所定のラインL5と、通過方向アイコンLU,LDのそれぞれと、カウント値C13,C23のそれぞれとが表示される。通過方向アイコンLUは、手前から奥に向かって所定のラインL5を通過したことを示す。通過方向アイコンLDは、奥から手前に向かって所定のラインL5を通過したことを示す。カウント値C13,C23のそれぞれは、通過方向アイコンLU,LDのそれぞれに対応する方向に所定のラインL5を通過した人物の人数を示す。このように、カメラ装置100は、カメラ装置100の設置角度およびユーザの設定に基づいて、人物の全身のみに人物検出枠を設定してもよいし、図10で説明したように人物の一部をすべて検出してもよい。また、カメラ装置100は、撮像画像SC5上にそれぞれの人物の動線情報を表示してもよい。
図12は、カウント結果データの一例を示し、施設Aのフロア別における入店人数、退店人数の時間帯別推移の一例を示す図である。カウント結果データは、サーバ装置300またはPC600に送信されて、モニタ450またはPC600の表示部21に表示される。
図12の横軸は時間帯(例えば、1時間ごとの時間帯)を示し、図12の縦軸はカメラ装置100,100A,100B,100C,…のそれぞれによって検出された、所定のラインを通過した人物の時間帯別のカウント数を示す。サーバ装置300またはPC600は、カメラ装置100,100A,100B,100C,…のそれぞれから受信したカウント結果データを用いて、人数の時間帯別の推移をグラフ化して、モニタ450またはPC600の表示部21に表示する。
図12では、例えば開店時刻である10:00〜閉店時刻である21:00までの、入店人数(合計)と、入店人数(前年合計)と、退店人数(合計)と、退店人数(前年合計)と、入店人数(B2F:地下2階)と、退店人数(B2F:地下2階)と、入店人数(B1F:地下1階)と、退店人数(B1F:地下1階)と、入店人数(1F:1階)と、退店人数(1F:1階)と、入店人数(2F:2階)と、退店人数(2F:2階)とにおける1時間ごとのカウント結果の推移が示されている。
これにより、ユーザ(例えば、本社または施設の従業員)は、施設ごとの人物の動きを数値またはグラフによって可視化することができるため、マーケティングの分析業務に活用することができる。また、カメラ装置が施設内の店舗の内部を撮像する場合には、ユーザは、来店客の流れも把握することができるため、施設内の各店舗の配置等のレイアウトの検討の参考情報として活用することができる。
以上により、実施の形態1に係るカメラ装置100,100A,100B,100C,…は、撮像領域を撮像する撮像部11と、撮像部11によって撮像された撮像領域に映る人物を、人物の一部または全身を対象とする複数の検出用オブジェクトのそれぞれによって検出し、検出された検出用オブジェクトの数と所定の閾値との比較に応じて撮像領域の混雑判定を行う検出部12と、を備えている。検出部12は、混雑判定の結果が非混雑の場合には、人物の全身からその人物を検出するための第1の検出用オブジェクトを用いてその人物を検出し、混雑判定の結果が混雑の場合には、人物の一部からその人物を検出するための第2の検出用オブジェクトを用いてその人物を検出する。
これにより、カメラ装置100,100A,100B,100C,…は、例えばコンビニエンスストアまたは百貨店等の施設で使用される防犯用のカメラ装置であり、撮像領域の真上からの撮像よりも固定の画角で斜め前方下側を撮像可能に設置される場合であっても、混雑時には撮像領域に映る人物を人物の一部および全身のそれぞれによって検出可能なため、より高精度に人物の検出を行うことができる。
また、カメラ装置100,100A,100B,100C,…は、人物の動きを追尾して人物の動線情報を作成する追尾部13を、さらに備える。追尾部13は、混雑判定に基づいて使用される第1の検出用オブジェクトまたは第2の検出用オブジェクトを、人物を追尾するための追尾用のオブジェクトとして設定して追尾する。これにより、カメラ装置100,100A,100B,100C,…は、撮像領域における混雑状態に応じて追尾のための使用するオブジェクトを自動で設定して、人物の動きを追尾することができる。また、カメラ装置100,100A,100B,100C,…は、追尾によって人物の動線情報を得ることができるため、人物がどの方向からどの方向へ通過(移動)したのかを示す移動方向に関する情報を得ることができる。
また、カメラ装置100,100A,100B,100C,…は、カメラ装置100,100A,100B,100C,…の設置角度において撮像された撮像領域に映る人物の足元座標を算出するための足元座標算出データを取得する取得部、をさらに備える。これにより、カメラ装置100,100A,100B,100C,…は、混雑時に人物の一部のみが検出された場合であっても、追尾用オブジェクトが示す人物の足元座標を算出することができる。さらに、カメラ装置100,100A,100B,100C,…は、算出した足元座標により人物の動きを追尾することができる。なお、取得部は、PC600から送信される足元座標算出データを受信するための受信部110の一例である。
また、カメラ装置100,100A,100B,100C,…は、カメラ装置100,100A,100B,100C,…の設置時の設置角度と、設置角度において撮像された撮像領域に映る人物の足元座標を算出するための足元座標算出データを設定する設定部、をさらに備える。これにより、カメラ装置100,100A,100B,100C,…は、混雑時に人物の一部のみが検出された場合であっても、追尾用オブジェクトが示す人物の足元座標を算出することができる。さらに、カメラ装置100,100A,100B,100C,…は、算出した足元座標により人物の動きを追尾することができる。なお、設定部は、足元座標算出データを記憶するメモリ19の一例である。
また、カメラ装置100,100A,100B,100C,…は、足元座標算出データと、第2の検出用オブジェクトとに基づいて、人物が所定のラインを通過したか否かを判定するライン通過判定部14、をさらに備える。これにより、カメラ装置100,100A,100B,100C,…は、撮像領域が混雑状態であって検出用オブジェクトが人物の一部を示すものであっても、人物が位置する足元座標を算出することができるため、所定のラインを通過したか否かをより高精度に判定することができる。
また、カメラ装置100,100A,100B,100C,…は、ライン通過判定部14によって所定のラインを通過した人物の人数を計測する人数カウント部15、をさらに備える。人数カウント部15は、所定のラインを通過した人数に基づく計測結果を作成する。これにより、カメラ装置100,100A,100B,100C,…は、所定のラインを通過した人物の人数をカウントすることができる。
また、カメラ装置100,100A,100B,100C,…は、ライン通過判定部14によって所定のラインを通過した人物の人数を計測する人数カウント部15、をさらに備える。人数カウント部15は、動線情報に基づいて人物が所定のラインを通過する通過方向ごとに人物の人数を計測した計測結果を作成する。これにより、カメラ装置100,100A,100B,100C,…は、所定のラインを通過した人物の人数を、通過した方向ごとにカウントすることができる。
また、カメラ装置100,100A,100B,100C,…は、計測結果を表示するための外部端末の一例としてのサーバ装置300またはPC600に送信する送信部120、をさらに備えて、計測結果の一例としてのカウント結果データをカメラ装置100,100A,100B,100C,…と通信可能に接続されたサーバ装置300またはPC600に送信する。これにより、ユーザは、施設Aに設置されたカメラ装置100,100A,100B,100C,…のそれぞれの計測結果をサーバ装置300と接続されるモニタ450またはPC600の表示部21に表示させることができる。
また、所定のラインは、外部端末の一例としてのサーバ装置300またはPC600の入力に基づいて設定される。これにより、ユーザは、所定のラインに関する設定についての入力操作を、サーバ装置300の入力デバイス400またはPC600の入力部22によって入力することができるため、所定のラインを自由に設定することができる。
また、所定の閾値は、外部端末の一例としてのサーバ装置300またはPC600の入力に基づいて設定される。これにより、ユーザは、所定の閾値に関する設定についての入力操作を、サーバ装置300の入力デバイス400またはPC600の入力部22によって入力することができるため、所定の閾値を自由に設定することができる。
また、第2の検出用オブジェクトは、人物の上半身、肩甲骨上または頭部である。これにより、カメラ装置100,100A,100B,100C,…は、撮像領域が混雑状態であっても、人物の一部を検出用のオブジェクトとして検出することができるため、複数の人物が分離されずに映る場合であっても、複数の人物の検出をより高精度に行うことができる。
以上、添付図面を参照しながら各種の実施の形態について説明したが、本開示はかかる例に限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例、修正例、置換例、付加例、削除例、均等例に想到し得ることは明らかであり、それらについても本開示の技術的範囲に属すると了解される。また、発明の趣旨を逸脱しない範囲において、上述した各種の実施の形態における各構成要素を任意に組み合わせてもよい。