(本開示に至る経緯)
特開2017-25621号公報は扉の開閉の許否を判別することが想定されているので、この判別のために使用される画像は、監視カメラにより撮像された映像データに映る人物の顔画像だけである。一方で、街中等の屋外あるいは施設内等の屋内に数多く設置される監視カメラにより撮像される映像データに映る対象物(例えば人物)を高精度に検索したいニーズがある。このような検索に対応するために、監視カメラにより撮像された映像データに映る対象物(例えば人物)とその顔画像とを紐付け保存しておくことが考えられる。しかし、特開2017-25621号公報のように対象物(例えば人物)の検索に備えて顔画像だけを準備するだけでは高精度な検索を実現する上では不十分であった。
そこで、以下の実施の形態1では、画角内の映像データに映る1つ以上の対象物の検索精度の向上を支援する監視カメラ、パーツ紐付け方法およびプログラムの例を説明する。
一方で、特開2017-25621号公報は扉の開閉の許否を判別することが想定されているので、この判別のために使用される画像は、監視カメラにより撮像された映像データに映る人物の顔画像だけである。一方で、街中等の屋外あるいは施設内等の屋内に数多く設置される監視カメラにより撮像される映像データに映る対象物(例えば監視対象の人物)の行方(いわゆる動線)を高精度に追尾したいニーズがある。このような追尾に対応するためには、監視カメラにより撮像された映像データに映る対象物(例えば人物)とその顔画像とを紐付け保存しておくことが考えられる。しかし、特開2017-25621号公報のように対象物(例えば監視対象の人物)の追尾に顔画像だけを用いるだけでは高精度な追尾を実現する上では不十分であった。
そこで、以下の実施の形態1では、画角内の映像データに映る対象物の追尾精度の向上を支援する監視カメラ、追尾枠生成方法およびプログラムを提供することを目的とする。
以下、適宜図面を参照しながら、本開示に係る監視カメラ、パーツ紐付け方法およびプログラムを具体的に開示した実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になることを避け、当業者の理解を容易にするためである。なお、添付図面及び以下の説明は、当業者が本開示を十分に理解するために提供されるものであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
図1は、実施の形態1に係る監視カメラシステム100のシステム構成例を示す図である。監視カメラシステム100は、少なくとも1台の監視カメラ10と、クライアントサーバ20とを少なくとも含む。クライアントサーバ20とそれぞれの監視カメラ10とは、ネットワークNW1を介して通信可能に接続される。ネットワークNW1は、有線ネットワーク(例えば有線LAN(Local Area Network))でもよいし、無線ネットワーク(例えばWi-fi(登録商標)等の無線LAN、無線WAN(Wide Area NetWork)、4G(第4世代移動通信システム)、5G(第5世代移動通信システム))でもよい。なお、監視カメラシステム100を構成する監視カメラの構成は監視カメラ10と同一の構成でもよいし、監視カメラ10以外に監視カメラ10の構成と異なる構成を有する監視カメラが含まれてもよい。
監視カメラ10は、AI(Artificial Intelligents:人工知能)を搭載したコンピュータであり、監視カメラシステム100の運営者により指定されたモニタリングエリア(例えば屋内あるいは屋外)を撮像する。監視カメラ10は、モニタリングエリアの撮像により撮像画像のデータを取得し、撮像画像のデータに映る対象物(例えば人物)の特徴的なパーツ(部位)をAIに基づいて検知する。なお、以下の説明において、対象物として人物を主に例示するが、人物に限定されるものではなく、例えば車両あるいは自転車等の乗り物であってもよいし、人物および乗り物であってもよい(図5参照)。
監視カメラ10は、撮像部11と、メモリ12と、プロセッサ13と、受信部14と、送信部15とを含む。撮像部11、メモリ12、受信部14および送信部15のそれぞれは、プロセッサ13との間で内部バス(図示略)を介してデータの入力あるいは出力が可能となるように接続される。
撮像部11は、少なくとも光学素子としてのレンズ(不図示)とイメージセンサ(不図示)とを有して構成される。レンズは、モニタリングエリア内の対象物(被写体の一例)により反射された光を入射してイメージセンサの受光面(言い換えると、撮像面)に被写体の光学像を結像する。イメージセンサは、例えばCCD(Charged Coupled Device)あるいはCMOS(Complementary Metal Oxide Semiconductor)などの固体撮像素子である。イメージセンサは、所定時間(例えば1/30(秒))ごとに、レンズを介して撮像面に結像した光学像を電気信号に変換してプロセッサ13に送る。例えば所定時間が1/30(秒)である場合、監視カメラ10のフレームレートは30fpsとなる。また、撮像部11は、上述した所定時間ごとに、電気信号に所定の信号処理を施すことで撮像画像のデータを生成してもよい。なお、この撮像画像のデータを生成する処理はプロセッサ13により実行されてもよい。撮像部11は、撮像画像のデータをプロセッサ13に出力する。
メモリ12は、例えばRAM(Random Access Memory)とROM(Read Only Memory)とを用いて構成され、監視カメラ10の動作の実行に必要なプログラム、さらには、動作中に生成されたデータを一時的に保持する。RAMは、例えば、監視カメラ10の動作中に使用されるワークメモリである。ROMは、例えば、監視カメラ10を制御するための本開示に係るプログラムを予め記憶して保持する。言い換えると、プロセッサ13は、ROMに記憶されているプログラムを実行することで、コンピュータである監視カメラ10に、本開示に係るパーツ紐付け方法に関する各種の処理(ステップ)を実行可能である。例えば、メモリ12は、撮像部11によって撮像された撮像画像のデータ、クライアントサーバ20に送信するためのデータ(後述参照)を一時的に記憶する。また、メモリ12は、RAMおよびROM以外にフラッシュメモリをさらに有してもよく、撮像画像のデータあるいはクライアントサーバ20に送信するための送信用データ(後述参照)を記憶してよい。また、メモリ12は、AI処理部131(後述参照)が用いるAI処理用の学習モデルのデータ(後述参照)を記憶する。
プロセッサ13は、例えばCPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphical Processing Unit)もしくはFPGA(Field Programmable Gate Array)を用いて構成される。プロセッサ13は、監視カメラ10の全体的な動作を司るコントローラとして機能し、監視カメラ10の各部の動作を統括するための制御処理、監視カメラ10の各部との間のデータの入出力処理、データの演算処理およびデータの記憶処理を行う。プロセッサ13は、メモリ12に記憶されたプログラムに従って動作する。プロセッサ13は、動作時にメモリ12を使用し、プロセッサ13が生成または取得したデータをメモリ12に一時的に保存する。プロセッサ13は、AI処理部131および検知エリア・閾値設定部132を有する。
AI処理部131は、AI処理部131が実行可能にメモリ12から読み出したAI処理用の学習モデルのデータを用いて(言い換えると、AIに基づいて)、検知エリア・閾値設定部132により設定されたパラメータ(後述参照)の下で、撮像部11から入力された(言い換えると、入力されてくる)撮像画像のデータに各種の処理を実行する。ここで、AI処理用の学習モデルのデータは、例えばAI処理部131が実行する各種の処理の内容を規定するプログラム、各種の処理に必要なパラメータおよび教師データを含む。AI処理部131は、具体的には、部位検知紐付け部1311と、追尾部1312と、ベストショット判定部1313と、部位識別部1314とを有する。
ここで、AI処理用の学習モデルのデータを生成するための学習処理は、1つ以上の統計的分類技術を用いて行っても良い。統計的分類技術としては、例えば、線形分類器(Linear Classifiers)、サポートベクターマシン(Support Vector Machines)、二次分類器(Quadratic Classifiers)、カーネル密度推定(Kernel Estimation)、決定木(Decision Trees)、人工ニューラルネットワーク(Artificial Neural Networks)、ベイジアン技術および/またはネットワーク(Bayesian Techniques and/or Networks)、隠れマルコフモデル(Hidden Markov Models)、バイナリ分類子(Binary Classifiers)、マルチクラス分類器(Multi-Class Classifiers)、クラスタリング(Clustering Technique)、ランダムフォレスト(Random Forest Technique)、ロジスティック回帰(Logistic Regression Technique)、線形回帰(Linear Regression Technique)、勾配ブースティング(Gradient Boosting Technique)などが挙げられる。但し、使用される統計的分類技術はこれらに限定されない。また、学習モデルのデータの生成は、監視カメラ10内のAI処理部131で行われても良いし、例えばクライアントサーバ20で行われてもよい。
部位検知紐付け部1311は、撮像部11から入力された撮像画像のデータに映る、対象物の特徴的な複数のパーツ(部位)をAIに基づいて検知する。部位検知紐付け部1311は、検知された同一の対象物に対応する複数のパーツを、その対象物の識別情報となる対象物ID(ID:IDentification)で紐付け(関連付け)する(図2参照)。
図2は、撮像画像IMG1のデータに映る対象物としての人物PS1について同一の対象物IDで紐付けされる画像の種別例を示す図である。図2に示す撮像画像IMG1は、横断歩道を複数の人物が渡っている様子を示す。部位検知紐付け部1311は、撮像画像IMG1に映っている対象物(例えば人物)の一人一人を検知するとともに、それぞれの人物(例えば人物PS1)の特徴的なパーツを検知して同一の人物の識別情報で紐付けする。
ここで、検知されるべき対象物の特徴的なパーツは、クライアントサーバ20による人物PS1の検索精度を向上させるために、人物の身体的な特徴を示す部位であり、例えば人物PS1の全身、人物PS1の肩甲骨上部、人物PS1の顔である。すなわち、部位検知紐付け部1311は、人物PS1の検知に伴い、撮像画像IMG1のデータから全身枠部分WK1、肩甲骨上枠部分WK2、顔枠部分WK3を特定する情報(例えば撮像画像中の位置を示す座標、もしくは各部分の切り出し画像)を生成する。さらに、部位検知紐付け部1311は、検知された人物PS1の識別情報である対象物ID(例えばA001)を用いて、全身枠部分WK1、肩甲骨上枠部分WK2、顔枠部分WK3をそれぞれ特定する情報(上述参照)に同一の対象物ID(例えばA001)を付与して紐付けする。これにより、部位検知紐付け部1311は、撮像画像IMG1のデータに映る同一の人物(例えば人物PS1)を検索するための特徴的なパーツとして、全身枠部分WK1、肩甲骨上枠部分WK2、顔枠部分WK3の異なる3つのパーツを同一の人物PS1に紐づけることができるので、クライアントサーバ20による人物PS1の検索精度を向上させることができる。
追尾部1312は、部位検知紐付け部1311による検知結果ならびに紐付け処理結果を用いて、後述する追尾処理用の追尾枠を生成する(図7参照)。追尾枠の生成方法については、図7を参照して後述する。また、追尾部1312は、部位検知紐付け部1311による検知結果ならびに紐付け処理結果(例えば、撮像画像のデータに映る対象物の対象物IDで紐付けされた複数のパーツのそれぞれの座標情報)を用いて、撮像部11から入力される撮像画像のデータに映る対象物の行方(いわゆる動線)を追尾するための追尾処理を実行する。
ベストショット判定部1313は、部位検知紐付け部1311による検知結果ならびに紐付け処理結果と追尾部1312による対象物の追尾処理の結果とを入力する。ベストショット判定部1313は、部位検知紐付け部1311による検知結果ならびに紐付け結果と追尾部1312による対象物の追尾処理の結果とに基づいて、部位検知紐付け部1311により検知されたパーツが属性情報の識別処理に適する程度の画像品質を有するベストショットであるか否かを判定する。
ここで、部位検知紐付け部1311により検知されたパーツがベストショットであるか否かは、次のように判別可能である。例えば、ベストショット判定部1313は、フレーム中に人物PS1の全身、人物PS1の肩甲骨上部、人物PS1の顔の全てのうち少なくとも1つが部位検知紐付け部1311により検知された場合、その検知されたパーツはベストショットであると判定する。一方、ベストショット判定部1313は、フレーム中に人物PS1の全身、人物PS1の肩甲骨上部、人物PS1の顔のうちいずれか一つも部位検知紐付け部1311により検知されなかった場合、ベストショットのパーツはないと判定する。また、ベストショット判定部1313は、フレーム中に人物PS1の全身、人物PS1の肩甲骨上部、人物PS1の顔の全てを検知しかつその検知位置(つまり撮像画像中の座標)が中央付近である(言い換えると撮像画像のエッジ付近ではない)場合、それぞれのパーツをベストショットと判定してもよい。
部位識別部1314は、部位検知紐付け部1311により検知されたパーツがベストショットであるとのベストショット判定部1313からの判定結果を受けた場合、対象物IDに基づいて撮像部11から入力されたフレームからベストショットと判定された対象物の特徴的なパーツの画像(図2参照)を切り出し、切り出されたパーツの画像ごとに属性情報(図3参照)をAI(例えばディープラーニング)に基づいて識別する。つまり、部位識別部1314は、部位検知紐付け部1311により切り出された対象物の特徴的なパーツの切り出し画像(図2参照)の属性情報(図3参照)をAI(例えばディープラーニング)に基づいて識別(例えば、その属性情報が具体的にどのような内容を有するかを解析)する。
ここで、属性情報について、図3を参照して説明する。図3は、画像の種別と監視カメラ10により識別される属性との関係例を示す属性情報テーブルである。図3では、対象物が人物であり、部位識別部1314による識別処理の対象となるパーツの切り出し画像(図2参照)として、全身枠画像および肩甲骨上枠画像が例示されている。
部位識別部1314は、対象物の全身枠画像中に映る特徴的要素(例えば、服の色、服の種別、かばんの有無、マフラーの有無)を属性情報として識別して抽出する。なお、服の種別は、対象物(例えば人物)が着ている服の袖の長さを示す。これらの特徴的要素である属性情報は、クライアントサーバ20による人物の検索時に検索条件(つまり、人物の全身を映す画像から得られる人物の特徴的な要素)として使用可能となる検索用の項目である。これにより、このような属性情報が検索条件として入力されることでクライアントサーバ20の検索処理の負荷軽減が可能となる点において検索の効率性が増すことになる。
また、部位識別部1314は、対象物の肩甲骨上枠画像中に映る特徴的要素(例えば、髪型、髪色、髭、マスクの有無、めがねの有無、年齢、性別)を属性情報として識別して抽出する。これらの特徴的要素である属性情報は、クライアントサーバ20による人物の検索時に検索条件(つまり、人物の肩甲骨上部を映す画像から得られる人物の特徴的な要素)として使用可能となる検索用の項目である。これにより、このような属性情報が検索条件として入力されることでクライアントサーバ20の検索処理の負荷軽減が可能となる点において検索の効率性が増すことになる。
検知エリア・閾値設定部132は、クライアントサーバ20から送信されるマスキングエリア(つまり、対象物の検知の対象除外となるエリア)の設定データを、受信部14を介して取得してAI処理部131に設定する。この設定データは、AI処理部131によるAIの処理時に使用されるパラメータである。例えばマスキングエリアの設定データがAI処理部131に設定されると、部位検知紐付け部1311は、監視カメラ10の画角内のモニタリングエリアからマスキングエリアを除いたエリアを、対象物を検知するためのエリアとして対象物を検知する。
また、検知エリア・閾値設定部132は、クライアントサーバ20から送信される検知用の閾値の設定データを、受信部14を介して取得してAI処理部131に設定する。この設定データは、AI処理部131によるAIの処理時に使用されるパラメータである。例えば閾値の設定データがAI処理部131に設定されると、部位検知紐付け部1311は、AIの処理結果として得られるスコア(言い換えると、検知の精度を示す確率)が閾値の設定データを超えた場合に検知結果を出力する。
受信部14は、ネットワークNW1からデータの受信を行うための通信回路を用いて構成され、例えばクライアントサーバ20から送信されたデータを、ネットワークNW1を介して受信する。例えば、受信部14は、クライアントサーバ20から送信された検知エリアもしくはAIを用いた対象物のパーツの検知用の閾値のデータを受信してプロセッサ13に出力する。
送信部15は、ネットワークNW1にデータの送信を行うための通信回路を用いて構成され、例えばプロセッサ13により生成されたデータを、ネットワークNW1を介して送信する。例えば、送信部15は、プロセッサ13により生成された送信用データ(例えば、対象物のパーツごとの属性情報の識別結果と識別処理に用いたベストショットに関する情報)を、ネットワークNW1を介してクライアントサーバ20に送信する。
クライアントサーバ20は、運営者の下で運営される監視カメラシステム100の利用者であるユーザによって使用されるコンピュータであり、ネットワークNW1を介して、監視カメラ10との間でデータの送受信を実行する。クライアントサーバ20は、監視カメラ10のパラメータの一例としての設定データ(上述参照)を、ネットワークNW1を介して監視カメラ10に送信して設定させることができる。設定データは、例えば、マスキングエリアの設定データ、あるいは、監視カメラ10のAIによる対象物の検知用の閾値の設定データである。また、クライアントサーバ20は、ユーザの操作により入力された検索条件(例えば図3に示される属性情報)に基づいて、記憶部26を参照して検索条件を満たす画像データあるいは画像データのサムネイルを抽出あるいは生成して表示部27に表示することができる。
クライアントサーバ20は、入力部21と、メモリ22と、プロセッサ23と、受信部24と、送信部25と、記憶部26と、表示部27とを含む。入力部21、メモリ22、受信部24、送信部25、記憶部26および表示部27のそれぞれは、プロセッサ23との間で内部バス(図示略)を介してデータの入力あるいは出力が可能となるように接続される。なお、入力部21と、メモリ22と、プロセッサ23と、受信部24と、送信部25と、記憶部26と、表示部27とを含むコンピュータの構成を備えるのであれば、クライアントサーバ20の代わりに、PC(Personal Computer)、スマートフォン、あるいはタブレットにより構成されてもよい。
入力部21は、ユーザの入力操作を検知するユーザインターフェースであり、例えばマウス、キーボードまたはタッチパネルなどを用いて構成される。入力部21は、ユーザの入力操作により指定された各種の入力事項(例えば対象物の検索条件)のデータを受け付けてプロセッサ23に送る。
メモリ22は、例えばRAMとROMとを用いて構成され、クライアントサーバ20の動作の実行に必要なプログラム、さらには、動作中に生成されたデータを一時的に保持する。RAMは、例えば、クライアントサーバ20の動作中に使用されるワークメモリである。ROMは、例えば、クライアントサーバ20を制御するためのプログラムを予め記憶して保持する。言い換えると、プロセッサ23は、ROMに記憶されているプログラムを実行することで、コンピュータであるクライアントサーバ20に各種の処理(ステップ)を実行可能である。例えば、メモリ12は、入力部21により入力された検索条件を満たす対象物の画像データあるいはサムネイルの検索処理を行うためのプログラムを格納している。
プロセッサ23は、例えばCPU、DSP、GPUもしくはFPGAを用いて構成される。プロセッサ23は、クライアントサーバ20の全体的な動作を司るコントローラとして機能し、クライアントサーバ20の各部の動作を統括するための制御処理、クライアントサーバ20の各部との間のデータの入出力処理、データの演算処理およびデータの記憶処理を行う。プロセッサ23は、メモリ22に記憶されたプログラムに従って動作する。プロセッサ23は、動作時にメモリ22を使用し、プロセッサ23が生成または取得したデータをメモリ22に一時的に保存する。プロセッサ23は、人物検索部231および検索出力部232を有する。
人物検索部231は、ユーザの操作によって入力部21により入力された検索条件を満たす対象物の画像データあるいはサムネイルの検索処理を行い、検索処理の結果を検索出力部232に送る。
検索出力部232は、人物検索部231からの検索処理の結果を表示部27に出力して表示させる。
受信部24は、ネットワークNW1からデータの受信を行うための通信回路を用いて構成され、例えば監視カメラ10から送信された送信用データ(例えば、対象物のパーツごとの属性情報の識別結果と識別処理に用いたベストショットに関する情報)を、ネットワークNW1を介して受信する。例えば、受信部24は、監視カメラ10から送信された送信用データを受信してプロセッサ23に出力する。
送信部25は、ネットワークNW1にデータの送信を行うための通信回路を用いて構成され、例えばプロセッサ23により生成されたデータを、ネットワークNW1を介して送信する。例えば、送信部25は、プロセッサ23により生成された検知エリアもしくはAIを用いた対象物のパーツの検知用の閾値のデータを、ネットワークNW1を介して監視カメラ10に送信する。
記憶部26は、例えばフラッシュメモリ、ハードディスクドライブ(Hard Disk Drive)またはソリッドステートドライブ(Solid State Drive)を用いて構成される。記憶部26は、1台以上の監視カメラ10からそれぞれ送信された送信用データを送信元の監視カメラ10の識別情報と対応付けて格納(保存)する。
表示部27は、例えばLCD(Liquid Crystal Display)または有機EL(Electroluminescence)などのディスプレイを用いて構成される。表示部27は、ユーザの操作に基づいてプロセッサ23により生成された検索結果のデータを表示する。
次に、実施の形態1に係る監視カメラ10の紐付け処理の動作手順例について、図4を参照して説明する。図4は、実施の形態1に係る監視カメラ10による紐付け処理の動作手順例を示すフローチャートである。図4に示す動作手順は、主に監視カメラ10のプロセッサ13のAI処理部131の部位検知紐付け部1311によって、撮像部11から撮像画像のデータがプロセッサ13に入力される度に実行される。
図4において、AI処理部131は、撮像部11から入力された撮像画像のデータに映る、対象物(例えば人物)の特徴的な複数のパーツ(部位)をAI(例えば部位検知紐付け部1311)に基づいて検知する(St1)。ステップSt1では、AIに基づく検知結果として、例えば図2に示したように、全身枠部分WK1、肩甲骨上枠部分WK2、顔枠部分WK3を特定する情報(例えば撮像画像中の位置を示す座標、もしくは各部分の切り出し画像)が生成される。
AI処理部131は、ステップSt1で検知された対象物の主要部位(例えば肩甲骨上部)を特定する情報(例えば主要部位の撮像画像中の位置を示す座標、もしくは主要部位の切り出し画像)に新規の対象物ID(例えば図2に示した「A001」)を付与する(St2)。ここで、対象物が人物である場合の主要部位(主要パーツ)が肩甲骨上部としているのは、撮像画像のデータに映る人物のパーツとして比較的安定して検知され易く、かつ肩甲骨上部に対応する肩甲骨上枠画像の識別処理により得られる属性情報の数が最も多いので(図3参照)、対象物である人物の特徴的なパーツとしての有用性が高いためである。
ステップSt2に続くステップSt3では、AI処理部131は、ステップSt2で対象物IDが付与された主要部位と他の特徴的なパーツとを紐付け処理する(St3~St5)。このステップSt3~St5は、撮像部11から入力された撮像画像のデータに映る対象物の主要部位ごとに実行される。なお、撮像部11から入力された撮像画像のデータにおいて、同一の対象物からステップSt1で複数のパーツが検知できず単一であった場合にはその対象物に対応する紐付け処理ができないため、その対象物を対象としたステップSt3~St5の処理は省略される。
AI処理部131は、ステップSt1において検知された対象物の主要部位とステップSt1において検知された対象物の他のパーツとが同一の対象物から検知されたものとして紐付け処理が可能か否かを判定する(St4)。例えば、AI処理部131は、ステップSt1において検知された主要部位(例えば肩甲骨上枠部分)を有する同一の対象物(例えば人物)から検知された他のパーツ(例えば全身枠部分、顔枠部分)が存在するか否かを判定する(St4)。主要部位を有する同一の対象物から検知された他のパーツが無い場合には(St4、NO)、その対象物に関する紐付け処理ができないのでAI処理部131は現在処理中の撮像画像のデータに映る他の対象物に関する紐付け処理を実行する。つまり、AI処理部131は、ステップSt1で検知された対象物ごとに、主要部位と他のパーツとの紐付け処理ができるか否かを判定して紐付け処理ができると判定した場合に紐付け処理を実行する。
一方、AI処理部131は、主要部位を有する同一の対象物から検知された他のパーツがある場合には(St4、YES)、主要部位を有する同一の対象物から検知された他のパーツを特定する情報(例えば他のパーツの撮像画像中の位置を示す座標、もしくは他のパーツの切り出し画像)に、主要部位を特定する情報に付与された対象物IDと同一の対象物IDを付与することで紐付け処理する(St5)。
なお、ステップSt1において単一のパーツ(例えば、全身枠、肩甲骨上部、あるいは顔)しか検知できなかった場合、AI処理部131は、その対象物に関してその単一のパーツを特定する情報(例えばそのパーツの撮像画像中の位置を示す座標、もしくはその他のパーツの切り出し画像)に新規の対象物IDを付与する(St6)。
また実施の形態1では、AI処理部131の部位検知紐付け部1311は、撮像画像のデータに映る複数の対象物の主要部位同士を紐付け処理してもよい(図5参照)。図5は、撮像画像IMG2のデータに映る対象物としての人物および自転車の紐付け例の説明図である。つまり、図5の例では、1人の人物および1台の自転車のペアが複数の対象物となり、3組のペアが示されている。
具体的には、図5に示すように、撮像画像IMG2のデータには3人の人物および3台の自転車が映っている。3人の人物のそれぞれの間近に各人物が使用している自転車が位置している。このような撮像画像IMG2のデータが入力されると、AI処理部131は、撮像画像IMG2のデータに映る複数の対象物のそれぞれをAIに基づいて検知し、検知された対象物ごとにパーツを特定する。例えば、AI処理部131は、人物の全身枠部分WK11,WK12,WK13および自転車の全体枠部分WK14,WK15,WK16を特定する。
AI処理部131は、例えば人物の全身枠部分WK11と自転車の全体枠部分WK14との距離、人物の全身枠部分WK12と自転車の全体枠部分WK15との距離、人物の全身枠部分WK13と自転車の全体枠部分WK16との距離がそれぞれ近いことに基づいて、人物の全身枠部分WK11および自転車の全体枠部分WK14、人物の全身枠部分WK12および自転車の全体枠部分WK15、人物の全身枠部分WK13および自転車の全体枠部分WK16のそれぞれを紐付け処理する。例えば、AI処理部131は、人物の全身枠部分WK11および自転車の全体枠部分WK14に対象物ID「B001」を付与し、人物の全身枠部分WK12および自転車の全体枠部分WK15に対象物ID「B002」を付与し、人物の全身枠部分WK13および自転車の全体枠部分WK16に対象物ID「B003」を付与する。これにより、監視カメラ10は、撮像画像IMG2のデータに映る、異なる種別(例えば人物、自転車)を有する複数の対象物のペアを同一の対象物IDで紐付け処理できる。
次に、実施の形態1に係る監視カメラ10の対象物の主要部位あるいは他のパーツの識別処理の動作手順例について、図6を参照して説明する。図6は、実施の形態1に係る監視カメラ10による部位ごとの識別処理の動作手順例を示すフローチャートである。図6に示す動作手順は、図4に示す動作手順の後に、主に監視カメラ10のプロセッサ13のAI処理部131の追尾部1312、ベストショット判定部1313および部位識別部1314のそれぞれによって、撮像部11から撮像画像のデータがプロセッサ13に入力される度に実行される。したがって、図6の動作手順が開始される前に、図4を参照して説明した対象物に関する紐付け処理結果が得られている。
図6において、AI処理部131は、撮像部11から入力された撮像画像のデータに映る1つ以上の対象物(例えば人物)に関する紐付け処理結果(図4参照)を用いて、その対象物の行方(いわゆる動線)を追跡するための追尾処理(トラッキング)を追尾部1312において行う(St11)。このステップSt11の動作の詳細については、図7および図8を参照して詳述する。
AI処理部131は、部位検知紐付け部1311により検知された主要部位あるいは他のパーツが識別処理に適するベストショットであるか否かをベストショット判定部1313において判定する(St12)。なお、主要部位あるいは他のパーツがベストショットであるか否かの判定方法は上述した通りであるため、ここでの説明は割愛する。主要部位あるいは他のパーツがベストショットではないと判定された場合には(St13、NO)、その撮像画像のデータ(フレーム)は対象物の主要部位あるいは他のパーツの識別処理に適さないので、その撮像画像のデータ(フレーム)に関する図6の動作手順は終了する。
AI処理部131は、主要部位あるいは他のパーツがベストショットであると判定した場合(St13、YES)、主要部位あるいは他のパーツごとに識別処理を実行する(St14~St16)。具体的には、AI処理部131は、ベストショットと判定された主要部位あるいは他のパーツ(言い換えると、パーツ)のそれぞれごとに、撮像画像のデータから該当する部位の画像を切り出す(St15)。つまり、AI処理部131は、主要部位あるいは他のパーツの切り出し画像を生成する(St15)。
AI処理部131は、ステップSt15において生成された主要部位あるいは他のパーツの切り出し画像と属性情報テーブル(例えば、切り出し画像の種別とその種別に応じた属性情報との関係を規定したテーブル、図3参照)とを用いて、その切り出し画像の識別処理をAI(例えばディープラーニング)に基づいて実行する(St16)。例えば、切り出し画像の種別が肩甲骨上枠画像である場合、AI処理部131は、肩甲骨上枠画像に応じた属性情報(例えば、髪型、髪色、髭、マスクの有無、めがねの有無、年齢、性別)の各内容を抽出する。また、例えば切り出し画像の種別が全身枠画像である場合、AI処理部131は、全身枠画像に応じた属性情報(例えば、服の色、服の種別、かばんの有無、マフラーの有無)の各内容を抽出する。
プロセッサ13は、AI処理部131により実行されたステップSt14~St16の識別結果データを取得するとともに、この識別結果データと識別処理に用いたベストショットの情報を示すベストショット情報とを含めた送信用データを生成する。ベストショット情報は、例えばベストショットであると判定されたパーツが映る撮像画像が撮像された日時情報、ベストショットのID、ベストショットであると判定されたパーツの撮像画像中の位置を示す座標等の位置情報を少なくとも含む。識別結果データは、例えばAI処理部131による識別処理の結果(例えば各属性情報の内容を示すデータ、AIの識別処理精度を示すスコア)を少なくとも含む。プロセッサ13は、この生成された送信用データを、送信部15およびネットワークNW1を介してクライアントサーバ20に送信する(St17)。
次に、監視カメラ10による対象物の行方(いわゆる動線)を追跡するための追尾処理(トラッキング)の動作手順例について、図7および図8を参照して説明する。図7は、追尾枠の生成例の説明図である。図8は、図6のステップSt11の詳細な動作手順例を示すフローチャートである。図8に示す動作手順は、図4に示す動作手順の後に、主に監視カメラ10のプロセッサ13のAI処理部131の追尾部1312によって、撮像部11から撮像画像のデータがプロセッサ13に入力される度に実行される。したがって、図8の動作手順が開始される前に、図4を参照して説明した対象物に関する紐付け処理結果が得られている。
図8において、AI処理部131は、部位検知紐付け部1311による検知結果ならびに紐付け処理結果を用いて、対象物ごとに追尾処理用の追尾枠C1~C4(図7参照)を生成する(St21~St25)。
ここで、図7を参照して追尾部1312による追尾枠の生成方法例について説明する。追尾枠の生成方法は、(1)対象物(例えば人物)の肩甲骨上部が検知された場合、(2)対象物(例えば人物)の顔のみが検知された場合、(3)対象物(例えば人物)の全身のみが検知された場合、(4)対象物(例えば人物)の全身および顔のみが検知された場合、の4通りで異なる。図7の説明において、対象物(例えば人物)の主要部位は図4の説明と同様に肩甲骨上部である。
(方法1)対象物(例えば人物)の肩甲骨上部が検知された場合
追尾部1312は、肩甲骨上部を示す肩甲骨上枠B1が部位検知紐付け部1311により検知された場合、例えばその肩甲骨上枠B1と同一の領域を追尾枠C1として採用して追尾枠C1のデータ(追尾枠情報の一例)を生成する。この追尾枠C1のデータが後述するステップSt26の追尾処理に用いられる。
(方法2)対象物(例えば人物)の顔のみが検知された場合
追尾部1312は、顔を示す顔枠B2のみが部位検知紐付け部1311により検知された場合、例えばその顔枠B2を2倍に拡大した領域を追尾枠C2として採用して追尾枠C2のデータ(追尾枠情報の一例)を生成する。この追尾枠C2のデータが後述するステップSt26の追尾処理に用いられる。
(方法3)対象物(例えば人物)の全身のみが検知された場合
追尾部1312は、全身を示す全身枠B3のみが部位検知紐付け部1311により検知された場合、例えば幅に関して全身枠B3の幅を0.6倍に縮小し、高さに関して全身枠B3の幅を1.07倍に拡大し、水平方向を示すX方向(図7参照)の中心位置を全身枠B3のX方向の座標と一致させ、かつ、鉛直方向を示すY方向(図7参照)の中心位置を全身枠B3の上端の位置から全身枠B3の高さ(Y方向)の0.2倍した分だけY方向に移動した座標と一致させることで得られた領域を追尾枠C3として採用して追尾枠C3のデータ(追尾枠情報の一例)を生成する。この追尾枠C3のデータが後述するステップSt26の追尾処理に用いられる。
(方法4)対象物(例えば人物)の全身および顔のみが検知された場合
追尾部1312は、全身枠B3および顔枠B2のみが部位検知紐付け部1311により検知された場合、顔のみの検知に基づく追尾枠C2の領域と全身のみの検知に基づく追尾枠C3の領域とを平均化した領域を追尾枠C4として採用して追尾枠C4のデータ(追尾枠情報の一例)を生成する。この追尾枠C4のデータが後述するステップSt26の追尾処理に用いられる。
AI処理部131は、図4を参照して説明した対象物に関する紐付け処理結果に基づいて、対象物において比較的安定的に検知され易い主要部位(例えば対象物が人物である場合の肩甲骨上部)が検知されたか否かを判定する(St22)。AI処理部131は、対象物の主要部位が検知されたと判定した場合(St22、YES)、上述した(方法1)を参照して、撮像部11から入力された撮像画像のデータにおける主要部位の座標(言い換えると、位置)から追尾枠(例えば追尾枠C1)を生成する(St23)。
一方、AI処理部131は、対象物の主要部位が検知されなかったと判定した場合(St22、NO)、上述した(方法2)~(方法4)のうちいずれかを参照して、その対象物の主要部位以外の他の部位(例えば全身、顔)から主要部位(例えば肩甲骨上部)の位置(座標)を推定する(St24)。さらに、AI処理部131は、上述した(方法2)~(方法4)のうちいずれかを参照して、ステップSt24において推定された主要部位の位置(座標)から追尾枠を生成する(St25)。
AI処理部131は、ステップSt22~St25において生成された追尾枠を用いて、撮像画像のデータ中に映る対象物の行方(いわゆる動線)を追跡するための追尾処理(トラッキング)を追尾部1312において実行する(St26)。つまり、追尾枠は追尾処理において追尾対象となる対象物の行方(いわゆる動線)を安定して検知するために生成されるので、AI処理部131の追尾部1312は、撮像画像のデータ中に映る対象物ごとの追尾枠の位置の変化を画像解析によって捉えることで、対象物の追尾処理を安定して行うことができる。
以上により、実施の形態1に係る監視カメラ10は、画角内の少なくとも1つの対象物(例えば人物)を撮像する撮像部11と、人工知能(AI)を搭載し、撮像部11から入力される撮像画像のデータに映る対象物の特徴的な複数のパーツ(例えば全身、肩甲骨上部、顔)を人工知能に基づいて検知するプロセッサ13と、を備える。プロセッサ13は、検知された複数のパーツのそれぞれを特定する情報(例えばパーツの撮像画像中の位置を示す座標、もしくはパーツの切り出し画像)を、複数のパーツに対応する同一の対象物IDを用いて紐付けする。
これにより、監視カメラ10は、モニタリングエリア内で設定された画角内の撮像画像のデータ(映像データ)に映る対象物に関する複数の特徴的なパーツを的確に紐付けできるので、画角内の映像データに映る1つ以上の対象物の検索精度の向上を支援できる。
また、プロセッサ13は、同一の対象物IDで紐付けされた複数のパーツのそれぞれの紐付け処理結果(例えば全身枠部分、肩甲骨上枠部分、顔枠部分等の位置を特定する情報)を用いて、対象物IDに対応する対象物の追尾処理を実行する。これにより、監視カメラ10は、次々に撮像部11から入力されてくる撮像画像のデータに映る対象物の行方(いわゆる動線)を的確に捕捉できる。
また、プロセッサ13は、対象物IDが付与されたパーツが対象物の属性情報の識別処理に適するベストショットであるか否かを判定する。プロセッサ13は、対象物IDが付与されたパーツがベストショットであると判定した場合に、紐付けに用いた対象物IDに基づいて撮像画像のデータからベストショットと判定されたパーツを切り出し、切り出されたパーツに属性情報の識別処理を実行する。これにより、監視カメラ10は、識別処理に適する高品質なベストショットのパーツを撮像画像のデータから切り出した切り出し画像データを得ることができ、それぞれの切り出し画像データの識別処理によって同一の対象物から数多くの属性情報の内容を的確に抽出できる。
また、監視カメラ10は、対象物の特徴的なパーツごとの属性情報の識別結果(識別処理結果)とベストショットに関する情報(ベストショット情報)とを、監視カメラ10と通信可能に接続されたサーバ(例えばクライアントサーバ20)に送信する送信部15、をさらに備える。これにより、クライアントサーバ20は、監視カメラ10によって得られた対象物(例えば人物)ごとの属性情報の識別結果とその識別処理に用いたベストショットに関する情報とを対応付けて保存できるので、その対象物に関する検索処理の精度を向上できる。
また、対象物は、少なくとも1人の人物である。複数のパーツは、人物の肩甲骨上部と、人物の全身あるいは人物の顔とを有する。これにより、監視カメラ10は、モニタリングエリアに現れる1人以上の人物について、各人物の特徴的なパーツの画像から人物の特徴的な情報である様々な属性情報を網羅的に抽出できる。
また、プロセッサ13は、肩甲骨上部を示す肩甲骨上枠の切り出し画像に基づいて人物の性別、年齢、髪型、髪色、髭、マスクおよび眼鏡の有無のうち少なくとも1つを識別する。プロセッサ13は、全身を示す全身枠の切り出し画像に基づいて人物の服の種別、服色、かばんおよびマフラーのうち少なくとも1つを識別する。これにより、監視カメラ10は、人物の肩甲骨上部を示す肩甲骨上枠の切り出し画像に基づいて、人物の性別、年齢、髪型、髪色、髭、マスクおよび眼鏡の有無のうち少なくとも1つの内容を高精度に抽出できる。また、監視カメラ10は、人物の全身を示す全身枠の切り出し画像に基づいて、人物の服の種別、服色、かばんおよびマフラーのうち少なくとも1つの内容を高精度に抽出できる。
また、対象物は、複数の人物および乗り物である。複数のパーツは、人物の全身と、乗り物全体とを有する。これにより、監視カメラ10は、撮像画像のデータに映る、異なる種別(例えば人物、自転車)を有する複数の対象物のペアを同一の対象物IDで紐付け処理できる。
また、実施の形態1に係る監視カメラ10は、画角内の少なくとも1つの対象物(例えば人物)を撮像する撮像部11と、人工知能(AI)を搭載し、撮像部11から入力される撮像画像のデータに映る対象物の特徴的なパーツ(例えば全身、肩甲骨上部、顔)を人工知能に基づいて検知するプロセッサ13と、を備える。プロセッサ13は、人工知能に基づいて検知されたパーツである検知パーツ(例えば全身、肩甲骨上部、顔)が対象物の追尾処理に適する優先パーツ(例えば肩甲骨上部)であるか否かを判定する。プロセッサ13は、検知パーツが優先パーツであると判定した場合に(上述した(方法1)参照)、優先パーツを追尾枠として用いて対象物の追尾処理を実行する。
これにより、監視カメラ10は、モニタリングエリア内で設定された画角内の撮像画像のデータ(映像データ)に映る対象物(例えば人物)の追尾に適する優先パーツ(例えば肩甲骨上部)を追尾枠として利用できるので、画角内の映像データに映る対象物の追尾精度の向上を支援できる。したがって、例えば監視カメラ10から人物を見た場合に、その人物の手前に遮蔽物(例えば机、複合機、壁)の一部あるいは全部が人物を遮蔽する場合であっても、優先パーツ(例えば肩甲骨上部)を追尾枠として利用することで、クライアントサーバ20が効率的な検索処理を実行できる。
また、プロセッサ13は、検知パーツが優先パーツでないと判定した場合に(上述した(方法2)~(方法4)参照)、検知パーツに基づいて追尾枠を生成して対象物の追尾処理を実行する。これにより、監視カメラ10は、対象物の動きあるいは姿勢等によって優先パーツの検知が困難な状況であっても、優先パーツではない検知パーツ(例えば全身、顔)を特定する情報(例えば検知パーツの撮像画像中の位置を示す座標)から優先パーツ(例えば肩甲骨上部)の位置を推定して追尾枠を生成できるので、汎用的かつ的確に対象物の追尾処理を実行できる。
また、対象物は、少なくとも1人の人物である。優先パーツは、人物の肩甲骨上部である。これにより、監視カメラ10は、モニタリングエリアに現れる1人以上の人物について、各人物の肩甲骨上部を示す肩甲骨上枠部分を特定する情報(例えば肩甲骨上部の撮像画像中の位置を示す座標)を用いて、高精度に追尾処理を行える。
また、プロセッサ13は、検知パーツが人物の顔のみであると判定した場合に、人物の顔枠情報(つまり、顔枠部分を特定する、撮像画像中の座標等の情報)に基づいて追尾枠を生成する。これにより、監視カメラ10は、人物の動きあるいは姿勢等によってAIに基づいて顔しか検知できなかった場合でも、顔枠情報(上述参照)を用いて優先パーツ(例えば肩甲骨上部)の位置を高精度に推定できるので、人物を対象とした追尾処理の精度劣化を抑制できる。
また、プロセッサ13は、検知パーツが人物の全身のみであると判定した場合に、人物の全身枠情報(つまり、全身枠部分を特定する、撮像画像中の座標等の情報)に基づいて追尾枠を生成する。これにより、監視カメラ10は、人物の動きあるいは姿勢等によってAIに基づいて全身しか検知できなかった場合でも、全身枠情報(上述参照)のデータを用いて優先パーツ(例えば肩甲骨上部)の位置を高精度に推定できるので、人物を対象とした追尾処理の精度劣化を抑制できる。
また、プロセッサ13は、検知パーツが人物の顔および全身のみであると判定した場合に、人物の顔枠情報(上述参照)および全身枠情報(上述参照)に基づいて追尾枠を生成する。これにより、監視カメラ10は、人物の動きあるいは姿勢等によってAIに基づいて全身および顔しか検知できなかった場合でも、全身枠情報(上述参照)および顔枠情報(上述参照)の各データを用いて優先パーツ(例えば肩甲骨上部)の位置を高精度に推定できるので、人物を対象とした追尾処理の精度劣化を抑制できる。
以上、添付図面を参照しながら各種の実施の形態について説明したが、本開示はかかる例に限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例、修正例、置換例、付加例、削除例、均等例に想到し得ることは明らかであり、それらについても本開示の技術的範囲に属すると了解される。また、発明の趣旨を逸脱しない範囲において、上述した各種の実施の形態における各構成要素を任意に組み合わせてもよい。
本開示は、画角内の少なくとも1人の人物を撮像する撮像部と、人工知能を搭載し、前記撮像部から入力される同一の撮像画像に映る前記人物の特徴的な属性情報の識別に適する複数のパーツを前記人工知能に基づいて検知するプロセッサと、を備え、前記プロセッサは、前記人工知能に基づいて検知された前記複数のパーツを、同一の識別情報を用いて紐付けし、前記人物の特徴的な属性情報の識別に適する複数のパーツのそれぞれとそのパーツごとに識別される属性情報との関係を定義する属性情報テーブルを用いて、前記人工知能に基づいて検知されて前記同一の識別情報を用いて紐付けされた前記複数のパーツのそれぞれに応じて、前記パーツごとに異なる属性情報を識別する、監視カメラを提供する。
また、本開示は、人工知能を搭載する監視カメラにより実行されるパーツ紐付け方法であって、画角内の少なくとも1人の人物を撮像し、入力される同一の撮像画像に映る前記人物の特徴的な属性情報の識別に適する複数のパーツを前記人工知能に基づいて検知し、前記人工知能に基づいて検知された前記複数のパーツを、同一の識別情報を用いて紐付けし、前記人物の特徴的な属性情報の識別に適する複数のパーツのそれぞれとそのパーツごとに識別される属性情報との関係を定義する属性情報テーブルを用いて、前記人工知能に基づいて検知されて前記同一の識別情報を用いて紐付けされた前記複数のパーツのそれぞれに応じて、前記パーツごとに異なる属性情報を識別する、パーツ紐付け方法を提供する。
また、本開示は、コンピュータである、人工知能を搭載する監視カメラに、画角内の少なくとも1人の人物を撮像する処理と、入力される同一の撮像画像に映る前記人物の特徴的な属性情報の識別に適する複数のパーツを前記人工知能に基づいて検知する処理と、前記人工知能に基づいて検知された前記複数のパーツを、同一の識別情報を用いて紐付けする処理と、前記人物の特徴的な属性情報の識別に適する複数のパーツのそれぞれとそのパーツごとに識別される属性情報との関係を定義する属性情報テーブルを用いて、前記人工知能に基づいて検知されて前記同一の識別情報を用いて紐付けされた前記複数のパーツのそれぞれに応じて、前記パーツごとに異なる属性情報を識別する処理と、を実行させるための、プログラムを提供する。