以下、図面を参照してこの発明に係わる実施形態を説明する。
[一実施形態]
(1)構成
(1-1)全体構成
図1は、この発明の一実施形態に係る人物追跡システム1の全体構成の一例を示す図である。
人物追跡システム1は、例えば、オフィスビルや百貨店等の複数フロアを有する建物、複数店舗を含む商業施設、等の広い監視範囲を有する大型施設において、特定の人物を追跡するシステムである。
この人物追跡システム1は、複数台の監視カメラ10と、各監視カメラ10に対応して設けられた映像解析機能部20及びこの発明の一実施形態に係る人物追跡装置として機能するWebサーバ30を備えるサーバ装置SVと、監視端末40と、を含む。各監視カメラ10と、サーバ装置SVと、監視端末40とは、ネットワークNETを介して接続されている。
ネットワークNETは、構内ネットワークであり、例えば、無線LAN(Local Area Network)または有線LANである。ネットワークNETは、インターネットのような広域ネットワークであっても良い。
複数の監視カメラ10は、互いの撮影範囲が重ならないように或いは一部重なるように、大型施設内に分散配置されたネットワークカメラである。監視カメラ10は、撮影範囲内の動画像を撮影するビデオカメラであって良く、動画像を構成する各フレーム画像を撮影範囲の監視画像として取得することができる。また監視カメラ10は、一定のタイムインターバルで静止画像を撮影することで、定期的に監視画像を取得するスチルカメラであっても良い。
サーバ装置SV内に配置された複数の映像解析機能部20のそれぞれは、対応する監視カメラ10から取得した監視画像に対する様々な解析機能を有している。この映像解析機能部20が提供する解析機能の詳細については、後述する。なお、映像解析機能部20は、このようにサーバ装置SVの内部に配置されるのではなく、専用の演算装置やクラウドなどに独立して配置し、ネットワークNETを介して対応する監視カメラ10とサーバ装置SVとの間でデータを授受することも可能である。また、映像解析機能部20は、監視カメラ10が演算機能を持つのであれば、そのカメラ内部に配置することも可能である。なお、本実施形態では、監視カメラ10と映像解析機能部20とを1対1に対応させて構成しているが、一つの映像解析機能部20が複数台の監視カメラ10に割り当てられていても良い。
サーバ装置SVのWebサーバ30は、サーバコンピュータによって構成され、機能部として、ファイルサーバ31、データベース(以下、DBと略記する。)サーバ32、Webアプリケーション35、検索用人検知結果保存機能部33、及び、検知/追跡結果判定機能部34を含む。これら各機能部の詳細については、後述する。
監視端末40は、パーソナルコンピュータ等のコンピュータによって構成され、Webブラウザ41のプログラムを実行することができる。Webブラウザ41により、監視端末40を操作する警備員等の監視者は、Webサーバ30のWebアプリケーション35が提供する人物追跡結果を閲覧することができる。なお、図1では、監視端末40は、一台のみを示しているが、人物追跡システム1は、監視端末40を複数含んでも良い。
また、サーバ装置SVが監視端末40の機能を備えていても良い。
(1-2)映像解析機能部20
図2は、図1に示した映像解析機能部20の構成の一例を示すブロック図である。映像解析機能部20は、画像取得モジュール21、人検知情報抽出機能部22及び監視/追跡実行機能部23を備える。
画像取得モジュール21は、ネットワークNETを介して監視カメラ10からRTSP(Real Time Streaming Protocol)等の所定の通信プロトコルに従って送信されてくるフレーム画像を取得する。画像取得モジュール21は、取得したフレーム画像をサーバ内通信やWebsocket等によりWebサーバ30に送信し、ファイルサーバ31に蓄積させる。なお、映像解析機能部20がサーバ装置SVから独立して配置されている場合には、画像取得モジュール21は、取得したフレーム画像をネットワークNETを介してWebサーバ30に送信する。また、画像取得モジュール21は、取得したフレーム画像を人検知情報抽出機能部22に送る。
人検知情報抽出機能部22は、入力された画像から人物の全身画像を抽出し、この全身画像からその特徴量である全身特徴量及び人物の顔画像を抽出し、さらにこの顔画像からその特徴量である顔特徴量を抽出する抽出部として機能する。具体的には、人検知情報抽出機能部22は、全身検出モジュール221、領域追跡モジュール222、全身特徴量抽出モジュール223、顔検出モジュール224及び顔特徴量抽出モジュール225を備える。
全身検出モジュール221は、入力画像であるフレーム画像に写っている人物それぞれの全身を検出して、全身画像を抽出する全身画像抽出部である。全身検出モジュール221は、例えば、深層学習(Deep Leaning)等の機械学習により事前に学習させた人物の全身画像に基づいて、人物の全身を検出することができる。全身検出モジュール221は、抽出した全身画像を、サーバ内通信やWebsocket等によりWebサーバ30に送信し、ファイルサーバ31に蓄積させる。なお、映像解析機能部20がサーバ装置SVから独立して配置されている場合には、全身検出モジュール221は、抽出した全身画像をネットワークNETを介してWebサーバ30に送信する。また、全身検出モジュール221は、抽出した全身画像を、全身特徴量抽出モジュール223及び顔検出モジュール224にも送る。さらに、全身検出モジュール221は、フレーム画像と抽出した全身画像を領域追跡モジュール222に送る。
領域追跡モジュール222は、全身検出モジュール221から入力されたフレーム画像中の全身画像の領域位置を検出する。
全身特徴量抽出モジュール223は、入力された全身画像から全身特徴量を抽出する全身特徴量抽出部である。全身特徴量は、全身画像に含まれる人物の体の特徴を客観的に数値化したものである。例えば、全身特徴量は、画像から推定される体型、身長、性別、年代、等の人物自体の属性情報を数値化したものとすることができる。全身特徴量抽出モジュール223は、深層学習(例えばDeep-person-reid等)等の事前に学習したモデルを用いて、全身特徴量を抽出することができる。また、全身特徴量抽出モジュール223は、これら全身特徴量を、HOG(Histogram of Oriented Gradients)やSIFT(Scaled Invariance Feature Transform)等の局所画像特徴量として算出することも可能である。全身特徴量抽出モジュール223は、抽出した全身特徴量を、サーバ内通信やWebsocket等によりWebサーバ30に送信し、ファイルサーバ31に蓄積させる。なお、映像解析機能部20がサーバ装置SVから独立して配置されている場合には、全身特徴量抽出モジュール223は、抽出した全身特徴量をネットワークNETを介してWebサーバ30に送信する。さらに、全身特徴量抽出モジュール223は、抽出した全身特徴量を、監視/追跡実行機能部23に送る。
顔検出モジュール224は、入力された全身画像から人物の顔を検出して、顔画像を抽出する顔画像抽出部である。顔検出モジュール224は、例えば、深層学習等の機械学習により事前に学習させた人物の顔画像に基づいて、人物の顔を検出することができる。顔検出モジュール224は、抽出した顔画像を、顔特徴量抽出モジュール225に送る。
顔特徴量抽出モジュール225は、入力された顔画像から顔特徴量を抽出する顔特徴量抽出部である。顔特徴量は、顔画像に含まれる人物の顔の特徴を客観的に数値化したものである。顔特徴量抽出モジュール225は、例えば、全身特徴量を抽出する全身特徴量抽出モジュール223と同様に、深層学習等で事前に学習したモデルを用いて顔特徴量を抽出することができる。また、顔検出モジュール224は、これら顔特徴量を、HOGやSIFT等の局所画像特徴量として算出しても良い。顔検出モジュール224は、抽出した顔特徴量を、サーバ内通信やWebsocket等によりWebサーバ30に送信し、ファイルサーバ31に蓄積させる。なお、映像解析機能部20がサーバ装置SVから独立して配置されている場合には、顔特徴量抽出モジュール225は、抽出した顔特徴量をネットワークNETを介してWebサーバ30に送信する。さらに、顔検出モジュール224は、抽出した顔特徴量を、監視/追跡実行機能部23に送る。
また、監視/追跡実行機能部23は、二つの入力画像の全身特徴量の類似度である全身画像類似度、及び、二つの入力画像の顔特徴量の類似度である顔画像類似度を算出する類似度算出部として機能する。具体的には、監視/追跡実行機能部23は、全身照合モジュール231及び顔照合モジュール232を備える。
全身照合モジュール231は、全身特徴量抽出モジュール223から入力された全身特徴量と、監視端末40から指示された追跡対象の人物の全身特徴量との類似度を算出する。追跡対象の人物の全身特徴量は、例えば、全身特徴量抽出モジュール223によって予め抽出されて、Webサーバ30のファイルサーバ31に登録されている。全身照合モジュール231は、算出した類似度を、サーバ内通信やWebsocket等によりWebサーバ30に送信する。なお、映像解析機能部20がサーバ装置SVから独立して配置されている場合には、全身照合モジュール231は、算出した類似度をネットワークNETを介してWebサーバ30に送信する。
顔照合モジュール232は、顔特徴量抽出モジュール225から入力された顔特徴量と、監視端末40から指示された追跡対象の人物の顔特徴量との類似度を算出する。追跡対象の人物の顔特徴量は、例えば、顔特徴量抽出モジュール225によって予め抽出されて、Webサーバ30のファイルサーバ31に登録されている。顔照合モジュール232は、算出した類似度を、サーバ内通信やWebsocket等によりWebサーバ30に送信する。なお、映像解析機能部20がサーバ装置SVから独立して配置されている場合には、顔照合モジュール232は、算出した類似度をネットワークNETを介してWebサーバ30に送信する。
(1-3)Webサーバ30
図3は、Webサーバ30のソフトウェア構成を示すブロック図である。前述したように、Webサーバ30は、機能部として、ファイルサーバ31、DBサーバ32、検索用人検知結果保存機能部33、検知/追跡結果判定機能部34、及び、Webアプリケーション35を有する。
ファイルサーバ31は、各種のデータファイルを蓄積する。ファイルサーバ31は、過去検索用データ記憶部311、検知履歴データ記憶部312及び管理データ記憶部313を含むことができる。
過去検索用データ記憶部311は、複数の映像解析機能部20それぞれで取得したデータである過去検索用データを記憶する。図4は、この過去検索用データ記憶部311に記憶される過去検索用データの一例を示す図である。過去検索用データは、各映像解析機能部20の全身検出モジュール221がフレーム画像から検出した全身画像毎に、過去検索用データ記憶部311に記憶されることができる。過去検索用データは、映像解析機能部20の画像取得モジュール21が取得したフレーム画像3111、全身検出モジュール221が抽出した全身画像3112、全身特徴量抽出モジュール223が抽出した全身特徴量3113、及び、顔特徴量抽出モジュール225が抽出した顔特徴量3114を含むことができる。これらフレーム画像3111、全身画像3112、全身特徴量3113及び顔特徴量3114は、例えば、同一のパスに記憶したり、ファイル名の一部に同一の文字列を付したりすることで、紐付けることができる。
検知履歴データ記憶部312は、不審者、迷子、得意顧客といった監視対象者として検知された人物それぞれに関するデータである検知履歴データを記憶する。図5は、この検知履歴データ記憶部312に記憶される検知された人物の検知履歴データの一例を示す図である。検知履歴データは、検知された人物の顔画像である検知顔画像3121と、その検知顔画像3121に対応する顔特徴量3122と、を含むことができる。これら検知顔画像3121と顔特徴量3122は、例えば、同一のパスに記憶したり、ファイル名の一部に同一の文字列を付したりすることで、紐付けることができる。
なお、特に図示はしていないが、監視対象者に関するデータは、ファイルサーバ31に事前に記憶されている。この監視対象者に関するデータは、例えば、監視端末40からネットワークNETを介してWebサーバ30に、監視対象者の顔画像を入力することで、ファイルサーバ31に記憶させることができる。そして、Webサーバ30が、その顔画像をサーバ内通信やWebsocket等により一つの映像解析機能部20の顔特徴量抽出モジュール225に入力することで、当該顔特徴量抽出モジュール225から顔特徴量を取得して、ファイルサーバ31に記憶させることができる。また、ネットワークNETを介して、過去検索用データ記憶部311に記憶されている複数の人物の全身画像3112を監視端末40のWebブラウザ41にて閲覧し、監視端末40から任意の全身画像3112を指定することで、その人物を監視対象者として指定することも可能である。この場合、Webサーバ30は、その指定された全身画像3112をサーバ内通信やWebsocket等により一つの映像解析機能部20の顔検出モジュール224に入力することで、当該顔検出モジュール224から顔画像を取得して、ファイルサーバ31に監視対象者の顔画像として記憶させることができる。また、Webサーバ30は、過去検索用データ記憶部311に記憶されている、指定された全身画像3112を有する過去検索用データから顔特徴量3114を取得して、それをファイルサーバ31に記憶させることができる。
また、監視対象者に関するデータをファイルサーバ31に記憶する際、当該監視対象者についての情報を記載した監視対象者テーブルもDBサーバ32に記憶される。この監視対象者テーブルには、当該監視対象者を一意に識別する識別情報である不審者ID、監視対象者の名称である不審者名称、どのような理由の監視対象者であるかを示す危険度種別、当該監視対象者についての身体的特徴や行動様式、注意点等の説明文、等を記載しておくことができる。
検知履歴データにおける検知顔画像3121は、Webサーバ30が、例えば、何れかの監視カメラ10の監視画像から、監視対象者に関するデータとの比較によって監視対象者を検知した時に、検知履歴データ記憶部312に記憶させることができる。すなわち、Webサーバ30は、当該監視画像から取得されて過去検索用データ記憶部311に記憶されている全身画像を、サーバ内通信やWebsocket等により一つの映像解析機能部20の顔検出モジュール224に入力することで、当該顔検出モジュール224から顔画像を取得し、それを検知顔画像3121として検知履歴データ記憶部312に記憶させることができる。この一つの映像解析機能部20は、監視対象者が検知された監視画像を取得した監視カメラ10に対応する映像解析機能部20であって良い。映像解析機能部20の顔検出モジュール224が、抽出した顔画像をバッファリングしている場合には、Webサーバ30は、当該顔検出モジュール224にバッファリングしている顔画像を要求することで検知顔画像3121を取得しても良い。
管理データ記憶部313は、追跡対象者それぞれに関するデータである管理データを記憶する。図6は、この管理データ記憶部313に記憶される追跡対象者毎の管理データの一例を示す図である。追跡対象者毎の管理データは、監視端末40からの指定に応じて管理データ記憶部313に記憶されることができる。管理データは、指定された追跡対象者の顔画像である登録顔画像3131と、その登録顔画像3131から抽出された特徴である顔特徴量3132と、追跡対象者の全身画像である登録全身画像3133と、その登録全身画像3133から抽出された特徴である全身特徴量3134と、を含むことができる。これら登録顔画像3131、顔特徴量3132、登録全身画像3133及び全身特徴量3134は、例えば、同一のパスに記憶したり、ファイル名の一部に同一の文字列を付したりすることで、紐付けることができる。
例えば、Webサーバ30は、監視対象者が検知された際に、検知履歴データ記憶部312に記憶したその監視対象に対する検知履歴データにおける検知顔画像3121を監視端末40のWebブラウザ41にて監視者に閲覧させる。そして、監視端末40から当該人物を追跡対象者とする指定が行われると、Webサーバ30は、検知履歴データにおける検知顔画像3121をこの管理データにおける登録顔画像3131として記憶させる。さらに、Webサーバ30は、検知履歴データにおける顔特徴量3122を、この管理データにおける顔特徴量3132として記憶させることができる。また、Webサーバ30は、指定された検知履歴データにおける検知顔画像3121の元となった全身画像を過去検索用データ記憶部311に記憶された過去検索用データから取得すると共に、その全身特徴量も当該過去検索用データから取得し、それらをこの管理データにおける登録全身画像3133及び全身特徴量3134として記憶させる。
或いは、Webサーバ30は、過去検索用データ記憶部311に記憶されている複数の人物の全身画像3112を監視端末40のWebブラウザ41にて閲覧させ、監視端末40から任意の全身画像の指定を受けて、その人物を指定の追跡対象者とするようにしても良い。この場合、Webサーバ30は、その指定された全身画像3112をサーバ内通信やWebsocket等により一つの映像解析機能部20の顔検出モジュール224に入力することで、当該顔検出モジュール224から顔画像を取得して、管理データ記憶部313に登録顔画像3131として記憶させることができる。またこの場合、顔特徴量3132、登録全身画像3133及び全身特徴量3134については、過去検索用データ記憶部311に記憶されているものを取得して記憶させれば良い。或いは、追跡対象者の顔画像及び全身画像についても、監視対象者の顔画像と同様に、監視端末40からネットワークNETを介してWebサーバ30に入力することで、管理データ記憶部313に登録顔画像3131及び登録全身画像3133として記憶させるようにしても構わない。この場合には、Webサーバ30は、その入力された顔画像及び全身画像をサーバ内通信やWebsocket等により映像解析機能部20へ送って、顔特徴量3132及び全身特徴量3134を取得すれば良い。
DBサーバ32は、各種のデータテーブルを蓄積する。DBサーバ32は、カメラ情報テーブル記憶部321、過去検索用データテーブル記憶部322、検知履歴テーブル記憶部323、管理テーブル記憶部324、等を含むことができる。
カメラ情報テーブル記憶部321は、複数の監視カメラ10のそれぞれに対応して設けられ、その対応する監視カメラ10に関する各種情報が記載されたカメラ情報テーブル3211を予め記憶している。図7は、このカメラ情報テーブル記憶部321に記憶される、監視カメラ10毎のカメラ情報テーブル3211の記載内容の一例を示す図である。カメラ情報テーブル3211には、例えば、カメラID、カメラ名称、アスペクト比、カメラ位置X、カメラ位置Y、カメラ角度、顔照合閾値、全身照合閾値、等々が記載されている。
ここで、カメラIDは、対応する監視カメラ10を一意に識別する識別情報である。カメラ名称は、対応する監視カメラ10の名称である。これは、対応する監視カメラ10の大型施設における設置位置と関連付けた名称とすることができる。アスペクト比は対応する監視カメラ10で取得される画像のアスペクト比である。カメラ位置X及びカメラ位置Yは、対応する監視カメラ10の設置位置を示す大型施設内のXY座標である。カメラ角度は、対応する監視カメラ10の設置向きを示している。顔照合閾値及び全身照合閾値は、映像解析機能部20の全身照合モジュール231及び顔照合モジュール232が算出した類似度と比較するための閾値である。類似度がこの閾値よりも大きい場合、Webサーバ30は、対応する監視カメラ10の監視画像から抽出された人物の全身画像又は顔画像が監視対象者或いは追跡対象者の全身画像又は顔画像であると判定することができる。この顔照合閾値及び全身照合閾値は、監視カメラ10自体の特性や設置条件に依存するため、監視カメラ10を設置してから実際の運用が開始されるまでの間に、適切な値に調整される。なお、この顔照合閾値及び全身照合閾値は、監視対象者に対する閾値と追跡対象者に対する閾値とで異なる値として、それぞれ別個にカメラ情報テーブル3211に記載しても良い。
過去検索用データテーブル記憶部322は、過去検索用データ記憶部311に記憶される過去検索用データのそれぞれに対応して、その過去検索用データに関する各種データが記載された過去検索用データテーブル3221を記憶する。Webサーバ30は、過去検索用データ記憶部311に過去検索用データを記憶する際に、この過去検索用データテーブル3221を作成して、過去検索用データテーブル記憶部322に記憶させる。図8は、この過去検索用データテーブル記憶部322に記憶される過去検索用データテーブル3221の記載内容の一例を示す図である。過去検索用データテーブル3221には、例えば、検知ID、検知日時、検知カメラID、トラッキングID、フレームID、検知座標情報X、検知座標情報Y、検知座標情報Width、検知座標情報Height、等々が記載される。
ここで、検知IDは、映像解析機能部20の全身検出モジュール221が検出したフレーム画像3111中の全身画像3112毎に振られる識別情報である。検知日時は、全身検出モジュール221が当該全身画像3112を検出した日時である。検知カメラIDは、フレーム画像3111を取得した監視カメラ10のカメラIDである。トラッキングIDは、複数フレーム画像間で、同一の人物の全身画像3112を紐付けるための識別情報である。フレームIDはフレーム画像3111を一意に識別するための識別情報である。検知座標情報X、検知座標情報Y、検知座標情報Width及び検知座標情報Heightは、領域追跡モジュール222によって検出されたフレーム画像3111中の全身画像3112の領域位置を示す情報であり、全身画像3112の例えば左上隅のフレーム画像中のXY座標と、そこからの画像幅及び画像高さを示す。
なお、Webサーバ30は、過去検索用データテーブル3221のトラッキングIDを、例えば、以下のようにして付与することができる。Webサーバ30は、映像解析機能部20の人検知情報抽出機能部22から与えられる全身画像の領域位置と、過去検索用データテーブル記憶部322に記憶されている当該監視カメラ10の前フレーム画像における過去検索用データテーブル3221それぞれの全身画像の領域位置とを比較して、重複領域等を考慮することで、全身画像の人物の同一性を判別する。同一人物が前フレーム画像に写っていなければ、Webサーバ30は、新たなトラッキングIDを付与する。また、同一人物が前フレーム画像に写っていれば、当該人物の全身画像3112に対応する過去検索用データテーブル3221よりトラッキングIDを引き継ぐ。なお、Webサーバ30は、全身画像の位置ではなくて、全身特徴量を比較することで、人物の同一性を判別し、新規トラッキングID付与の要否を決定するようにしても良い。
検知履歴テーブル記憶部323は、検知履歴データ記憶部312に記憶される検知履歴データのそれぞれに対応して、その検知履歴データに関する各種データが記載された検知履歴テーブル3231を記憶する。Webサーバ30は、検知履歴データ記憶部312に検知履歴データを記憶する際に、この検知履歴テーブル3231を作成して、検知履歴テーブル記憶部323に記憶させる。図9は、この検知履歴テーブル記憶部323に記憶される検知履歴テーブル3231の記載内容の一例を示す図である。検知履歴テーブル3231には、例えば、検知ID、検知日時、検知カメラID、不審者ID、顔認証スコア、顔左右角度、顔上下角度、トラッキングID、等々が記載される。
ここで、検知ID、検知日時、検知カメラID及びトラッキングIDは、過去検索用データテーブル3221について説明した通りである。不審者IDは、図示しない監視対象者テーブルに記載されている、検知された監視対象者の不審者IDである。顔認証スコアは、映像解析機能部20の全身照合モジュール231及び顔照合モジュール232が算出した、その監視対象者の画像との類似度である。顔左右角度及び顔上下角度は、対応する検知履歴データの検知顔画像3121における顔の向きを示す。
管理テーブル記憶部324は、管理データ記憶部313に記憶される管理データのそれぞれに対応して、その管理データに関する各種データが記載された管理テーブル3241を記憶する。Webサーバ30は、管理データ記憶部313に管理データを記憶する際に、この管理テーブル3241を作成して、管理テーブル記憶部324に記憶させる。図10は、この管理テーブル記憶部324に記憶される管理テーブル3241の記載内容の一例を示す図である。管理テーブル3241には、例えば、不審者ID、不審者名称、危険度種別、説明文、クエリ顔画像パス、顔特徴量ファイルパス、監視ステータス、ピン留めフラグ、長期間滞在フラグ、等々が記載される。
ここで、不審者ID、不審者名称、危険度種別及び説明文は、図示しない監視対象者テーブルに記載されている、追跡対象者として指定された監視対象者についての情報が転記される。クエリ顔画像パス及び顔特徴量ファイルパスは、管理データ記憶部313における、管理データの登録顔画像3131及び顔特徴量3132の保存パスを示す。監視ステータスは、危険度種別以外の、追跡対象者に対して監視端末40から任意に設定される属性情報である。ピン留めフラグは、追跡対象者として指定された際に、そのことを示すためにセットされるフラグである。長期間滞在フラグは、追跡対象者として指定されていないが、規定の時間以上、当該施設に滞在している場合にセットされるフラグである。すなわち、Webサーバ30は、監視対象以外ではないが長期間滞在している人物が存在するとき、その人物の顔画像及び顔特徴量も管理データ記憶部313に記憶させ、管理テーブル記憶部324に管理テーブルを記憶させることができる。これにより、新たな不審者や新規顧客の候補を発見できるようになる。
検索用人検知結果保存機能部33及び検知/追跡結果判定機能部34は、Webサーバのバックエンド機能として提供される。検索用人検知結果保存機能部33は、映像解析機能部20の人検知情報抽出機能部22の各機能部の出力を受けて、過去検索用データテーブル記憶部322に記憶する検索用データテーブルを作成する。検知/追跡結果判定機能部34は、映像解析機能部20の監視/追跡実行機能部23の各機能部の出力を受けて、事前に記憶してある監視対象者の顔画像と同一の人物が何れかの監視カメラ10の監視画像内に現れたことを検知し、検知履歴テーブル記憶部323に記憶する検知履歴テーブルを作成すると共に、人検知情報抽出機能部22の各機能部で抽出した、その人物の検知顔画像3121及び顔特徴量3122を検知履歴データ記憶部312へ記憶させる。検知/追跡結果判定機能部34は、また、映像解析機能部20の監視/追跡実行機能部23の各機能部の出力を受けて、複数の監視カメラ10の撮影範囲を跨いで追跡対象者を追跡し、その追跡結果を示す表示用結果を生成する。
Webアプリケーション35は、監視端末40のWebブラウザ41からの要求に応じて各種処理を行い、その処理結果を示す閲覧用のデータを作成するアプリケーションプログラムである。Webアプリケーション35は、Webサーバ30に、ログイン機能部351、監視機能部352、追跡機能部353及び過去検索機能部354としての機能を提供する。
ログイン機能部351は、Webブラウザ41からのログインを受け付けて、認証を行い、正規ユーザに対して当該Webアプリケーション35が提供する機能の利用を許可する。
監視機能部352は、検知/追跡結果判定機能部34が監視対象者の顔画像と同一の人物を検知した際にアラートを発生して、Webブラウザ41に提示する。
追跡機能部353は、検知/追跡結果判定機能部34が検知した監視対象者の顔画像と同一の人物の顔画像及び全身画像で、複数の監視カメラ10を跨いでリアルタイムに該当人物を追跡した追跡結果を、Webブラウザ41に提示する。そのために、追跡機能部353は、画像登録機能部3531と検知アラート出力機能部3532とを含む。画像登録機能部3531は、Webブラウザ41上での監視者から指定操作による、追跡を行うべき追跡対象者の顔画像の指定を受けて、管理データ記憶部313に登録顔画像3131及び顔特徴量3132を記憶させると共に、管理テーブル3241を作成して管理テーブル記憶部324に記憶させる。検知アラート出力機能部3532は、検知/追跡結果判定機能部34が生成した表示用結果をWebブラウザ41に提示する。
過去検索機能部354は、Webブラウザ41からの時間及び場所の指定を受けて、その指定された時間・場所に来訪した人物を一覧表示し、その中から検索する人物の指定を受け付ける。そして、過去検索機能部354は、検知/追跡結果判定機能部34がその指定された人物の顔画像及び全身画像から、過去検索用データ記憶部311に記憶された類似人物を検索した結果をWebブラウザ41に提示する。
図11は、Webサーバ30のハードウェア構成を示すブロック図である。Webサーバ30は、例えば、CPU(Central Processing Unit)などのハードウェアプロセッサ301A、プログラムメモリ301B、記憶装置302及び通信インタフェース装置303を備える。プログラムメモリ301B、記憶装置302及び通信インタフェース装置303は、バス304を介してハードウェアプロセッサ301Aに接続されている。
通信インタフェース装置303は、例えば一つ以上の有線または無線の通信インタフェースユニットを含んでおり、ネットワークNETで使用される通信プロトコルに従い、映像解析機能部20及び監視端末40との間で各種情報の送受信を可能にする。
プログラムメモリ301Bは、記憶媒体として、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)などの随時書込み及び読出しが可能な不揮発性メモリと、ROM(Read Only Memory)等の不揮発性メモリとを組み合わせて使用したもので、CPUなどのハードウェアプロセッサ301Aが実行することで、この発明の一実施形態に係る各種制御処理を実行するために必要なプログラムを記憶している。すなわち、ハードウェアプロセッサ301Aは、プログラムメモリ301Bに記憶されたプログラムを読み出して実行することで、図3に示すような検索用人検知結果保存機能部33及び検知/追跡結果判定機能部34として機能することができる。なお、これらの処理機能部は、それぞれ別個のハードウェアプロセッサで実現されても良い。すなわち、Webサーバ30は、複数のハードウェアプロセッサを備えていても良い。また、これらの処理機能部の少なくとも一部は、ASIC(Application Specific Integrated Circuit)、FPGA(field-programmable gate array)、GPU(Graphics Processing Unit)などの集積回路を含む、他の多様なハードウェア回路の形式で実現されても良い。また、プログラムメモリ301Bに記憶されるプログラムは、図3に示すようなWebアプリケーションを含むことができる。
記憶装置302は、記憶媒体として、例えば、HDDまたはSSDなどの随時書込み及び読出しが可能な不揮発性メモリと、RAM(Random Access Memory)などの揮発性メモリとを組み合わせて使用したもので、人物追跡処理を行う過程で取得及び作成された各種データを記憶するために用いられる。また、記憶装置302には、図3に示すようなファイルサーバ31及びDBサーバ32を構成することができる。
(2)動作
次に、以上のように構成された人物追跡システムの動作を説明する。
(2-1)監視動作
監視端末40でWebブラウザ41が起動されてWebサーバ30に対するアクセス操作がなされると、Webサーバ30は、Webアプリケーション35が提供するログイン機能部351により、認証動作を実施する。そして、正規ユーザであることが確認されたならば、Webサーバ30は、Webアプリケーション35が提供する監視機能部352により、Webブラウザ41での閲覧用の監視画面を生成して、Webブラウザ41へ送信する。監視画面は、以下のようにして生成されることができる。
複数台の監視カメラ10はそれぞれ、監視画像を定期的に取得し、取得した監視画像を対応する映像解析機能部20に入力する。映像解析機能部20の画像取得モジュール21は、対応する監視カメラ10からの監視画像であるフレーム画像を取得し、人検知情報抽出機能部22は、そのフレーム画像に写っている人物の全身画像、その全身画像の領域位置、全身特徴量及び顔特徴量を抽出する。そして、映像解析機能部20は、それらフレーム画像、全身画像、全身画像の領域位置、全身特徴量及び顔特徴量をサーバ内通信やWebsocket等によりWebサーバ30に送信する。
Webサーバ30は、複数の映像解析機能部20のそれぞれから送信されてきたフレーム画像、全身画像、全身特徴量及び顔特徴量を、過去検索用データとして、ファイルサーバ31の過去検索用データ記憶部311に蓄積する。またこのとき、Webサーバ30の検索用人検知結果保存機能部33は、複数の映像解析機能部20のそれぞれから送信されてきた全身画像の領域位置を含む過去検索用データテーブルを作成して、DBサーバ32の過去検索用データテーブル記憶部322に記憶させる。こうして、各監視カメラ10での監視画像の取得毎に、過去検索用データ記憶部311に過去検索用データが蓄積されていくと共に、過去検索用データテーブル記憶部322にそれら過去検索用データに紐付いた過去検索用データテーブルが蓄積されていく。
監視機能部352は、こうして過去検索用データ記憶部311に蓄積されていく各監視カメラ10からのフレーム画像を、一つの画面に並べることで、監視画面を生成することができる。監視端末40のWebブラウザ41に表示されたこの監視画面を閲覧することで、警備員等の監視者は、施設内の各部のリアルタイムな状況を把握することが可能となる。
一方、各映像解析機能部20の監視/追跡実行機能部23は、サーバ内通信やWebsocket等によりファイルサーバ31にアクセスし、そこに事前に記憶されている複数の監視対象者それぞれの顔特徴量と、人検知情報抽出機能部22が抽出した顔特徴量と、の類似度を算出する。そして、監視/追跡実行機能部23は、算出した各監視対象者の顔特徴量との類似度をサーバ内通信やWebsocket等によりWebサーバ30に送信する。
Webサーバ30の検知/追跡結果判定機能部34は、複数の映像解析機能部20のそれぞれから送信されてきた類似度を、カメラ情報テーブル記憶部321の対応する監視カメラ10のカメラ情報テーブル3211に記憶された顔照合閾値及び全身照合閾値と比較する。そして、類似度が閾値よりも大きい場合には、検知/追跡結果判定機能部34は、人検知情報抽出機能部22が抽出した顔特徴量を有する人物が監視対象であるとして、検知アラート画面を生成する。さらに、検知/追跡結果判定機能部34は、検知履歴データ記憶部312に検知履歴データとして、検知顔画像3121と顔特徴量3122を記憶させると共に、検知履歴テーブル3231を生成して、それを検知履歴テーブル記憶部323に記憶させる。
監視機能部352は、こうして検知/追跡結果判定機能部34が生成した検知アラート画面を、ネットワークNETを介してWebブラウザ41に送信して、表示させる。Webブラウザ41では、監視画面の一部に設けられたアラート画面表示領域に、或いは、監視画面とは別のウィンドウを開いて、この検知アラート画面を表示する。
図12は、Webブラウザ41に表示される検知アラート画面42の一例を示す図である。検知アラート画面42は、検知された人物毎の検知人物カード421を含む。この検知人物カード421は、その表示内容として、監視対象者顔画像4211、検知顔画像4212、注意喚起メッセージ4213、検知ID4214、類似度4215、検知情報4216、及び、追跡開始ボタン4217を含むことができる。
ここで、監視対象者顔画像4211は、ファイルサーバ31に事前に記憶されていた監視対象者の顔画像であり、検知顔画像4212は、その監視対象者であると検知された人物の、検知履歴データ記憶部312に記憶された検知顔画像3121である。注意喚起メッセージ4213は、監視者の注意を促すためのメッセージであり、点滅表示灯の識別表示を行うようにしても良い。検知ID4214は、過去検索用データテーブル3221または検知履歴テーブル3231から転記される識別情報である。類似度4215は、監視対象者の顔画像と検知された人物の顔画像との類似度である。検知情報4216は、過去検索用データテーブル3221または検知履歴テーブル3231における検知カメラIDに基づく検出カメラ場所情報と、同じく検知日時に基づく検出日時情報と、を含む。追跡開始ボタン4217は、当該人物を追跡する場合に押下されるボタンである。
なお、この検知人物カード421は、監視対象人物として新たに人物が検知される毎に、検知アラート画面42の最上位に表示されるように、古い検知人物カード421が下方にシフトされていく。同一人物については新たな検知人物カード421は追加されない。一つの検知人物カード421を選択することで、検知履歴データ記憶部312及び検知履歴テーブル記憶部323に記憶されている当該人物の履歴が一覧表示される。
(2-2)追跡動作
監視者が検知アラート画面42の追跡開始ボタン4217の押下操作を行うと、Webサーバ30は、Webアプリケーション35が提供する追跡機能部353により、映像解析機能部20及び検知/追跡結果判定機能部34を利用して、当該人物を追跡した追跡結果を、Webブラウザ41に提示させていく。この追跡動作は、追跡機能部353の画像登録機能部3531による画像登録処理と、映像解析機能部20の監視/追跡実行機能部23による監視/追跡処理と、検知/追跡結果判定機能部34による検知/追跡結果判定処理と、追跡機能部353の検知アラート出力機能部3532による検知アラート出力処理と、を含む。
図13は、追跡機能部353の画像登録機能部3531による画像登録処理の処理手順を示すフローチャートである。画像登録機能部3531は、定期的に、例えば監視カメラ10の監視画像の取得間隔に同期して、このフローチャートに示す処理を実施する。
画像登録機能部3531は、まず、監視端末40において、監視者によってWebブラウザ41に表示される検知アラート画面42における追跡開始ボタン4217の押下操作が行われたか否か判断する(ステップS11)。追跡開始ボタン4217の押下操作が行われていないと判断した場合には、画像登録機能部3531は、この画像登録処理を終了する。
これに対して、追跡開始ボタン4217の押下操作が行われたと判断した場合には、画像登録機能部3531は、その人物の顔画像を追跡用顔画像として取得する(ステップS12)。すなわち、画像登録機能部3531は、検知アラート画面42の検知IDを有する検知履歴テーブル記憶部323のトラッキングIDに基づいて、検知履歴データ記憶部312から検知顔画像3121を追跡用顔画像として取得する。例えば、画像登録機能部3531は、当該トラッキングIDを有する検知履歴テーブル3231の内、検知日時が特定時期のもの、例えば最新のものに記載された検知IDで特定される検知顔画像3121を取得することができる。特定時期としては、最新に限らず、最古、指定期間の間での最新又は最古、季節(春夏秋冬など)であって良い。或いは、画像登録機能部3531は、当該トラッキングIDを有する検知履歴テーブル3231のそれぞれに記載された検知IDで特定される検知顔画像3121を一覧形式で含む選択画面を生成し、それをWebブラウザ41に表示させて、監視者に追跡用顔画像とする検知顔画像3121を選択させるようにしても良い。そして、画像登録機能部3531は、取得した追跡用顔画像を、管理データ記憶部313に登録顔画像3131として記憶させる。また、画像登録機能部3531は、DBサーバ32に事前に記憶されている図示しない監視対象者テーブルに記載された該当の監視対象者に関する情報に基づいて管理テーブル3241を作成し、それを管理テーブル記憶部324に記憶させる。管理テーブル3241は、管理データ記憶部313における登録顔画像3131の記憶パスを示すクエリ顔特徴パスを含む。
そして、画像登録機能部3531は、追跡用顔画像として検知履歴データ記憶部312から取得された検知顔画像3121に対応する全身画像を追跡用全身画像として取得する(ステップS13)。すなわち、画像登録機能部3531は、その追跡用顔画像として取得された検知顔画像3121について検知履歴テーブル3231に記載された検知IDに基づいて、過去検索用データ記憶部311から全身画像3112を追跡用全身画像として取得する。画像登録機能部3531は、この取得した追跡用全身画像を、管理データ記憶部313に登録全身画像3133として記憶させる。また、画像登録機能部3531は、管理テーブル記憶部324に記憶されている管理テーブル3241に、管理データ記憶部313における登録全身画像3133の記憶パスを示すクエリ全身特徴パスを追記する。
さらに、画像登録機能部3531は、追跡用顔画像特徴量と追跡用全身画像特徴量を取得する(ステップS14)。すなわち、画像登録機能部3531は、上記検知IDに基づいて、検知履歴データ記憶部312から顔特徴量3122を追跡用顔特徴量として取得し、また、過去検索用データ記憶部311から全身特徴量3113を追跡用全身特徴量として取得する。画像登録機能部3531は、これら取得した追跡用顔特徴量及び追跡用全身特徴量を、管理データ記憶部313に顔特徴量3132及び全身特徴量3134として記憶させる。また、画像登録機能部3531は、管理テーブル記憶部324に記憶されている管理テーブル3241に、それら特徴量記憶パスを示す顔特徴量ファイルパス及び全身特徴量ファイルパスを追記する。
そして、画像登録機能部3531は、管理データ記憶部313に記憶された登録顔画像3131及び登録全身画像3133を追跡用画像として、また、顔特徴量3132及び全身特徴量3134を追跡用特徴量として、サーバ内通信やWebsocket等により、複数の映像解析機能部20のそれぞれへ送信する(ステップS15)。その後、画像登録機能部3531は、この画像登録処理を終了する。
図14は、映像解析機能部20の監視/追跡実行機能部23による監視/追跡処理の処理手順を示すフローチャートである。監視/追跡実行機能部23は、定期的に、このフローチャートに示す処理を実施する。このフローチャートに示す処理を実施する時間間隔は、例えば、数秒おきというように、任意の時間間隔とすることができる。或いは、監視/追跡実行機能部23は、監視カメラ10の監視画像の取得間隔の整数倍の時間間隔で、このフローチャートに示す処理を実施するようにしても良い。
監視/追跡実行機能部23は、まず、Webサーバ30の画像登録機能部3531から追跡用画像と特徴量を受信したか否か判断する(ステップS21)。追跡用画像と特徴量を受信していないと判断した場合には、監視/追跡実行機能部23は、この監視/追跡処理を終了する。
これに対して、追跡用画像と特徴量を受信したと判断した場合には、監視/追跡実行機能部23は、人検知情報抽出機能部22から、時刻tの全身画像とその特徴量とを、照合用全身画像と照合用全身特徴量として取得する(ステップS22)。対応する監視カメラ10の監視画像に複数の人物の全身画像が含まれる場合には、監視/追跡実行機能部23は、それぞれの人物について、照合用全身画像と照合用全身特徴量を取得する。
そして、監視/追跡実行機能部23は、全身照合モジュール231により、人検知情報抽出機能部22からの照合用全身特徴量のそれぞれについて、画像登録機能部3531からの追跡用全身特徴量との類似度である全身画像類似度を算出する(ステップS23)。
また、監視/追跡実行機能部23は、人検知情報抽出機能部22から、時刻tの顔画像とその特徴量とを、照合用顔画像と照合用顔特徴量として取得する(ステップS24)。対応する監視カメラ10の監視画像に複数の人物の顔画像が含まれる場合には、監視/追跡実行機能部23は、それぞれの人物について、照合用顔画像と照合用顔特徴量を取得する。なお、人物の向きによって、全身画像は抽出できても顔画像が抽出できない場合も有る。よって、上記ステップS22で取得される照合用全身画像の数とこのステップS24で取得する照合用顔画像の数とは一致するとは限らない。また、一人も顔画像が抽出できず、照合用顔画像(及び照合用顔特徴量)が取得されない場合もあり得る。
そして、監視/追跡実行機能部23は、顔照合モジュール232により、人検知情報抽出機能部22からの照合用顔特徴量のそれぞれについて、画像登録機能部3531からの追跡用顔特徴量との類似度である顔画像類似度を算出する(ステップS25)。
その後、監視/追跡実行機能部23は、それら全身画像及び顔画像についての類似度と照合用画像とのセットを、サーバ内通信やWebsocket等により、Webサーバ30の検知/追跡結果判定機能部34へ送信する(ステップS26)。なお、類似度と照合用画像のセットは、全身画像類似度と照合用全身画像とのセットと顔画像類似度と照合用顔画像とのセットとの両方を含む場合も有れば、顔画像類似度と照合用顔画像とのセットの無い全身画像類似度と照合用全身画像とのセットのみを含む場合もあり得る。
そして、監視/追跡実行機能部23は、監視端末40において、監視者によってWebブラウザ41に表示される検知アラート出力画面における追跡停止ボタンの押下操作が行われたか否か判断する(ステップS27)。追跡停止ボタンを有する検知アラート出力画面の詳細については、後述する。追跡停止ボタンの押下操作が行われたと判断した場合には、監視/追跡実行機能部23は、この監視/追跡処理を終了する。
また、追跡停止ボタンの押下操作が行われていないと判断した場合には、監視/追跡実行機能部23は、時刻tを「+1」して、すなわち、次の処理タイミングとなるのを待った後(ステップS28)、上記ステップS22から上記の処理を繰り返す。
図15は、検知/追跡結果判定機能部34による検知/追跡結果判定処理の処理手順を示すフローチャートである。検知/追跡結果判定機能部34は、定期的に、例えば映像解析機能部20の監視/追跡実行機能部23の処理間隔に同期して、このフローチャートに示す処理を実施する。
検知/追跡結果判定機能部34は、まず、監視/追跡実行機能部23から類似度と照合用画像のセットを受信したか否か判断する(ステップS31)。類似度と照合用画像のセットを受信していないと判断した場合には、検知/追跡結果判定機能部34は、この検知/追跡結果判定処理を終了する。
これに対して、類似度と照合用画像のセットを受信したと判断した場合には、検知/追跡結果判定機能部34は、顔照合閾値と全身照合閾値を取得する(ステップS32)。すなわち、検知/追跡結果判定機能部34は、カメラ情報テーブル記憶部321に記憶されている、それら類似度と照合用画像のセットの送信元である映像解析機能部20に対応する監視カメラ10についてのカメラ情報テーブル3211から、顔照合閾値と全身照合閾値を取得する。
そして、検知/追跡結果判定機能部34は、受信した全身画像類似度のそれぞれについて、取得した全身照合閾値と比較し、全身照合閾値よりも大きいか全身画像類似度が有るか否か判断する(ステップS33)。全身照合閾値よりも大きい全身画像類似度が有ると判断した場合には、検知/追跡結果判定機能部34は、その大きいと判断された全身画像類似度を、上記ステップS31で受信した対応する照合用全身画像と共に、記憶装置302の所定の記憶領域に保存しておく(ステップS34)。すなわち、全身照合閾値よりも大きい全身画像類似度を持つ人物は追跡対象者であるとして、その照合用全身画像と全身画像類似度を保存する。
その後、或いは上記ステップS33において全身照合閾値よりも大きい全身画像類似度が無いと判断した場合、検知/追跡結果判定機能部34は、受信した顔画像類似度のそれぞれについて、取得した顔照合閾値と比較し、顔照合閾値よりも大きい顔画像類似度が有るか否か判断する(ステップS35)。顔照合閾値よりも大きい顔画像類似度が有ると判断した場合には、検知/追跡結果判定機能部34は、その大きいと判断された顔画像類似度を、対応する照合用顔画像と共に、記憶装置302に保存しておく(ステップS36)。すなわち、顔照合閾値よりも大きい顔画像類似度を持つ人物は追跡対象者であるとして、その照合用顔画像と顔画像類似度を保存する。
その後、或いは上記ステップS35において顔照合閾値よりも大きい顔画像類似度が無いと判断した場合には、検知/追跡結果判定機能部34は、さらに、照合用画像と類似度を保存済みであるか否か判断する(ステップS37)。照合用画像と類似度を保存済みではないと判断した場合、すなわち追跡対象者が存在しない場合には、検知/追跡結果判定機能部34は、この検知/追跡結果判定処理を終了する。
これに対して、照合用画像と類似度を保存済みであると判断した場合には、検知/追跡結果判定機能部34は記憶装置302の所定の記憶領域に保存されている情報に基づいて、表示用結果を作成する(ステップS38)。そして、検知/追跡結果判定機能部34は、その作成した表示用結果を、検知アラート出力機能部3532へ送信する(ステップS39)。その後、検知/追跡結果判定機能部34は、この検知/追跡結果判定処理を終了する。
追跡機能部353の検知アラート出力機能部3532は、図示しないアラート出力処理により、検知/追跡結果判定機能部34から送られてきた表示用結果に基づいて、検知アラート出力画面を生成する。そして、検知アラート出力機能部3532は、それをネットワークNETを介して監視端末40に送信し、Webブラウザ41に表示させる。Webブラウザ41では、監視画面の一部に設けられたアラート画面表示領域に、或いは、監視画面とは別のウィンドウを開いて、この検知アラート出力画面を表示する。
図16は、Webブラウザ41に表示される検知アラート出力画面43の一例を示す図である。検知アラート出力画面43は、追跡するべき追跡対象者毎に表示される。検知アラート出力画面43は、追跡対象者情報領域431と、経過時間情報領域432と、追跡情報カード433と、を含む。
追跡対象者情報領域431は、追跡対象に関する情報を表示する領域である。この追跡対象者情報領域431は、注意喚起メッセージ4311、検知ID4312、登録画像4313、検知情報4314、過去検知画像4315、不審者ID4316、危険度種別4317、説明文4318、及び、追跡停止ボタン4319を含む。
ここで、注意喚起メッセージ4311は、監視者の注意を促すためのメッセージであり、例えば、追跡対象者として指定された監視対象者の危険度種別を表示することができる。この危険度種別は、管理テーブル3241から転記されることができる。検知ID4312は、管理テーブル3241から転記される識別情報である。登録画像4313は、追跡対象者の管理データ記憶部313に記憶された登録顔画像3131及び登録全身画像3133である。検知情報4314は、検知履歴テーブル3231における検知カメラIDに基づく検出カメラ場所情報及び検知日時に基づく検出日時情報を含む。この検知情報4314の表示は、新しい監視カメラ10の監視画像から追跡対象者が検知される毎に、その検出カメラ場所情報と検出日時情報とが追加されていく。過去検知画像4315は、過去検索用データ記憶部311または検知履歴データ記憶部312に記憶されている、当該人物の顔画像または全身画像である。当該人物が過去に検知されたことがない場合には、この過去検知画像4315は、ブランクとされる。不審者ID4316、危険度種別4317及び説明文4318は、管理テーブル3241から転記されることができる。追跡停止ボタン4319は、当該人物の追跡を終了する場合に押下されるボタンである。
また、経過時間情報領域432は、検知アラート画面42の追跡開始ボタン4217が押下されてからの経過時間を表示する領域である。
また、追跡情報カード433は、検知/追跡結果判定機能部34の表示用結果を提示するものであり、検知/追跡結果判定機能部34が表示用結果を出力する毎に、検知アラート出力画面43の最上位に追加表示されていく。古い追跡情報カード433は順次下方にシフトされていく。この追跡情報カード433は、その表示内容として、検出日時情報4331、検出カメラ場所情報4332、検出画像4333、画像類似度情報4334、及び、検出背景画像4335を含む。
ここで、検出日時情報4331は、当該追跡対象者が何れかの監視カメラ10の監視画像から検知された日時情報である。検出カメラ場所情報4332は、その検知した監視カメラIDに基づくカメラ場所情報である。検出画像4333は、検知されて保存された追跡対象者の照合用顔画像及び/または照合用全身画像である。画像類似度情報4334は、検知されて保存された顔画像類似度及び/または全身画像類似度である。検出背景画像4335は、照合用顔画像及び/または照合用全身画像を抽出した元の監視画像であるフレーム画像である。このフレーム画像は、過去検索用データ記憶部311に記憶されているフレーム画像3111が用いられる。
図17は、Webブラウザ41に表示される検知アラート出力画面43の別の例を示す図である。図16の検知アラート出力画面43は、追跡対象者の顔と全身が検知された場合の例を示しているが、図17は、そこから当該追跡対象者が移動して、別の監視カメラ10の監視画像により、全身画像から当該追跡対象者が検知された場合を示している。ここでは、顔画像からは追跡対象者が検知されていないので、検出画像4333には全身画像のみが表示され、また、画像類似度情報4334についても全身画像類似度のみが表示されている。このように、監視カメラ10により追跡対象者の顔画像が取得できない場合でも、追跡対象者を追跡することができる。
(2-3)過去検索動作
追跡機能部353による追跡動作は、リアルタイムで追跡対象者を追跡する機能である。一方で、過去に特定の人物が当該施設に来訪していないか調査したい場合が存在する。
そこで、過去検索機能部354は、Webブラウザ41からの時間及び場所の指定を受けて、過去検索用データテーブル記憶部322に記憶されている過去検索用データテーブル3221に基づいて、過去検索用データ記憶部311からその指定された時間・場所に来訪した人物の全身画像3112を抽出する。そして、その抽出した全身画像3112を一覧表示した選択画面を作成し、Webブラウザ41に表示させる。
Webブラウザ41から検索する人物の選択指定を受けて、過去検索機能部354は、その選択指定された全身画像3112を追跡用全身画像とし、また、リアルタイムの監視カメラ10からの監視画像に代えて指定された時間・場所についての過去検索用データ記憶部311に記憶されたフレーム画像3111を対象として、追跡機能部353と同様の動作を行う。
これにより、過去検索機能部354は、過去検索用データ記憶部311に記憶されている過去の来訪者の中から、選択指定された人物に類似する人物を検索し、その結果を検知アラート出力画面43としてWebブラウザ41に表示させることができる。
(3)効果
以上詳述したように一実施形態に係る人物追跡装置では、登録部としての画像登録機能部3531によって、追跡を行うべき追跡対象者の顔画像及び全身画像を登録する。そして、検知部としての検知/追跡結果判定機能部34により、複数台の監視カメラ10それぞれで定期的に取得した監視画像のそれぞれについて、登録された顔画像に類似する顔画像と、登録された全身画像に類似する全身画像と、の少なくとも一方を検知し、出力部としての検知アラート出力機能部3532によって、その検知した顔画像及び全身画像の少なくとも一方を出力する。よって、監視カメラ10により追跡対象者の顔画像が取得できない場合でも、全身画像を利用して追跡対象者を追跡できるようになる。
なお、画像登録機能部3531は、監視者が操作する監視端末40から追跡対象者の顔画像の指定を受け付け、指定された顔画像とその顔画像に対応する全身画像とを、追跡用顔画像及び追跡用全身画像として登録し、検知/追跡結果判定機能部34は、監視画像のそれぞれについて、登録された追跡用顔画像に類似する顔画像と、登録された追跡用全身画像に類似する全身画像と、の少なくとも一方を検知する。このように、監視端末40から追跡用顔画像及び追跡用全身画像を容易に登録することができる。登録する画像は、監視画像から抽出したものを指定しても良いし、写真や画像ファイル等を監視端末で読み込むようにしても良い。
また、人物追跡装置は、更に、監視画像のそれぞれから人物の全身画像を抽出し、全身画像からその特徴量である全身特徴量及び人物の顔画像を抽出し、顔画像からその特徴量である顔特徴量を抽出する抽出部としての人検知情報抽出機能部22が抽出した、全身画像、全身特徴量及び顔特徴量を、人検知情報抽出機能部22から取得して、それら取得した全身画像、全身特徴量及び顔特徴量を監視画像と共に蓄積する画像蓄積部であるファイルサーバ31を備えることができる。また、画像登録機能部3531は、監視者が操作する監視端末40から追跡対象者の顔画像の指定を受け付け、その指定された顔画像に対応するファイルサーバ31に蓄積された全身画像、全身特徴量及び顔特徴量と、顔特徴量を抽出した顔画像とを、追跡用全身画像、追跡用全身特徴量、追跡用顔特徴量及び追跡用顔画像として登録する。そして、検知/追跡結果判定機能部34は、画像登録機能部3531による登録の時点からファイルサーバ31に蓄積されていく監視画像を照合用画像として、照合用画像それぞれについての、人検知情報抽出機能部22が抽出した全身特徴量と追跡用全身特徴量との類似度である全身画像類似度、及び、人検知情報抽出機能部22が抽出した顔特徴量と追跡用顔特徴量との類似度である顔画像類似度を算出する類似度算出部としての監視/追跡実行機能部23から、当該監視/追跡実行機能部23が算出した全身画像類似度及び顔画像類似度と追跡用顔画像及び追跡用全身画像とのセットを取得し、全身画像類似度及び顔画像類似度の少なくとも一方が、対応する閾値よりも大きいか否か判定し、閾値よりも大きい場合に、人検知情報抽出機能部22が照合用画像から抽出した全身画像である照合用全身画像及び顔画像である照合用顔画像の内の少なくとも一方の類似度に対応する画像と、照合用画像としての監視画像を取得した監視カメラ10の位置情報とを、画像登録機能部3531によって登録された追跡用全身画像及び追跡用顔画像と共に表示するための表示用結果を作成する。検知アラート出力機能部3532は、検知/追跡結果判定機能部34によって作成された表示用結果を監視端末40に送信して、監視端末40に表示用結果を表示させる。よって、特徴量の類似度に基づいて、照合用画像から容易に追跡用画像に類似する顔または全身を持つ人物を検知して追跡することができる。
なお、検知/追跡結果判定機能部34は、表示用結果に、さらに、全身画像類似度及び顔画像類似度の少なくとも一方の表示を含めるようにしても良い。これにより、検知された人物がどの程度類似した人物であるのかを容易に把握できるようになる。
また、検知/追跡結果判定機能部34は、表示用結果に、さらに、照合用画像の表示を含めても良い。これにより、検知された人物の画像を閲覧して、どの程度類似した人物であるのかを容易に把握できるようになる。
なお、画像登録機能部3531は、登録の時点以前にファイルサーバ31に蓄積されていた追跡対象者についての全身画像、全身特徴量及び顔特徴量の中から、特定時期に蓄積された、例えば最新の、全身画像、全身特徴量及び顔特徴量を、追跡用全身画像、追跡用全身特徴量及び追跡用顔特徴量として登録することができる。これにより、最新の画像に基づいて人物を追跡することができる。
或いは、画像登録機能部3531は、登録の時点以前にファイルサーバ31に蓄積されていた追跡対象者についての全身画像、全身特徴量及び顔特徴量の中から、登録する追跡用全身画像、追跡用全身特徴量及び追跡用顔特徴量の選択を、監視端末40から受け付けるようにしても良い。これにより、最も当該人物を把握しやすい画像を指定でき、ご見地の可能性を少なくすることができる。
また、一実施形態に係る人物追跡システムは、一実施形態に係る人物追跡装置と、複数台の監視カメラ10と、監視者が操作する監視端末40と、人検知情報抽出機能部22及び監視/追跡実行機能部23を備える解析部としての映像解析機能部20と、を備えることができる。
なお、人検知情報抽出機能部22は、監視画像から全身画像を抽出する全身画像抽出部としての全身検出モジュール221と、全身検出モジュール221によって抽出された全身画像から全身特徴量を抽出する全身特徴量抽出部としての全身特徴量抽出モジュール223と、全身検出モジュール221によって抽出された全身画像から顔画像を抽出する顔画像抽出部としての顔検出モジュール224と、顔検出モジュール224によって抽出された顔画像から顔特徴量を抽出する顔特徴量抽出部としての顔特徴量抽出モジュール225と、を含むことがでる。このように専用のモジュールを有することで、全身画像、全身特徴量、顔画像及び顔特徴量を容易に抽出することができる。
また、監視/追跡実行機能部23は、照合用画像それぞれについての全身特徴量抽出モジュール223によって抽出された全身特徴量と画像登録機能部3531によって登録された全身特徴量との類似度である全身画像類似度を算出する全身類似度算出部としての全身照合モジュール231と、照合用画像のそれぞれについての顔特徴量抽出モジュール225によって抽出された顔特徴量と画像登録機能部3531によって登録された顔特徴量との類似度である顔画像類似度を算出する顔類似度算出部としての顔照合モジュール232と、を含むことができる。このように専用のモジュールを有することで、全身画像類似度と顔画像類似度を容易に算出することができる。
また、一実施形態に係る人物追跡方法は、複数台の監視カメラ10が取得した監視画像から追跡を行うべき追跡対象者を追跡する人物追跡方法であって、コンピュータであるWebサーバ30が、複数台の監視カメラ10それぞれで定期的に取得した監視画像を記憶装置であるファイルサーバ31に蓄積させ、監視画像のそれぞれから人物の全身画像を抽出し、全身画像からその特徴量である全身特徴量及び人物の顔画像を抽出し、顔画像からその特徴量である顔特徴量を抽出する抽出装置である映像解析機能部20の人検知情報抽出機能部22から、当該人検知情報抽出機能部22が抽出した全身画像、全身特徴量及び顔特徴量を取得し、それら取得した前記全身画像、前記全身特徴量及び前記顔特徴量をファイルサーバ31に蓄積させ、監視者が操作する監視端末40からの追跡を行うべき追跡対象者の顔画像の指定を受け付け、その指定された顔画像に対応するファイルサーバ31に蓄積された全身画像、全身特徴量及び顔特徴量と、顔特徴量を抽出した顔画像とを、追跡用全身画像、追跡用全身特徴量、追跡用顔特徴量及び追跡用顔画像として登録し、登録の時点からファイルサーバ31に蓄積されていく監視画像を照合用画像として、照合用画像それぞれについての、人検知情報抽出機能部22が抽出した全身特徴量と追跡用全身特徴量との類似度である全身画像類似度、及び、人検知情報抽出機能部22が抽出した顔特徴量と追跡用顔特徴量との類似度である顔画像類似度を算出する類似度算出装置である映像解析機能部20の監視/追跡実行機能部23から、当該監視/追跡実行機能部23が算出した全身画像類似度及び顔画像類似度と追跡用顔画像及び追跡用全身画像とのセットを取得し、照合用画像それぞれについての全身画像類似度及び顔画像類似度の少なくとも一方が、対応する閾値よりも大きいか否か判定し、全身画像類似度及び顔画像類似度の少なくとも一方が対応する閾値よりも大きい場合に、照合用画像から抽出した全身画像である照合用全身画像及び顔画像である照合用顔画像の内の少なくとも一方の類似度に対応する画像と、照合用画像としての監視画像を取得した監視カメラ10の位置情報とを、登録された追跡用全身画像及び追跡用顔画像と共に表示するための表示用結果を作成し、作成した表示用結果を監視端末40に送信して、監視端末40に表示用結果を表示させるようにしている。よって、監視カメラ10により追跡対象者の顔画像が取得できない場合でも、全身画像を利用して追跡対象者を追跡できるようになる。
[他の実施形態]
前記一実施形態では、全身画像特徴量及び顔画像特徴量として、人物自体の属性情報を数値化したものとしたが、これに限定するものではない。全身特徴量は、例えば、服装、持ち物(バッグの種類や色、ベビーカー、等)、装飾品(サングラス、マスク、等)、等の人に付随する付随情報を数値化したものを含んでも良い。さらに、全身特徴量は、発熱情報、脈拍、等の画像から得られる又は他のセンサから得られる人の内部情報を数値化したものを含んでも良い。また、顔特徴量は、装飾品(メガネ、帽子、等)等の顔に付随する付随情報を数値化したものを含んでも良い。
また、全身画像特徴量及び顔画像特徴量は人物自体の属性情報を数値化したもののみとし、それら付随情報を数値化したものや人の内部情報を数値化したものを別の特徴量として、全身画像特徴量及び顔画像特徴量と同様の検知基準の一つとして、その別の特徴量を使用するようにしても良い。
また、前記一実施形態では、ファイルサーバ31の過去検索用データ記憶部311に、過去検索用データとしてフレーム画像3111、全身画像3112、全身特徴量3113及び顔特徴量3114を記憶していくものとしたが、顔特徴量3114を抽出する元となった顔画像も記憶するようにしても良い。
また、映像解析機能部20は、監視画像であるフレーム画像から先ず人物の全身画像を抽出し、その抽出した全身画像から顔画像を抽出するものとしたが、これとは逆に、先ずフレーム画像から人物の顔画像を抽出し、その抽出した顔画像を含む全身画像をフレーム画像から抽出するものであっても良い。
また、図13乃至図15のフローチャートに示した処理ステップの順序は一例であり、この順に限定するものではない。例えば、図14において、ステップS22及びS23の処理とステップS24及びS25の処理とは、順番が逆でも良いし、並行して行っても良い。また、図15において、ステップS33及びS34の処理とステップS35及びS36の処理とについても、その順番は逆でも良い。このように、各処理ステップは、先行の又は後続する処理ステップと齟齬が生じない限り、処理順序を変更して構わない。
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除しても良い。さらに、異なる実施形態に亘る構成要素を適宜組み合わせても良い。