JP2018093324A - 映像監視システム、映像監視システムの制御方法および映像監視装置 - Google Patents

映像監視システム、映像監視システムの制御方法および映像監視装置 Download PDF

Info

Publication number
JP2018093324A
JP2018093324A JP2016233840A JP2016233840A JP2018093324A JP 2018093324 A JP2018093324 A JP 2018093324A JP 2016233840 A JP2016233840 A JP 2016233840A JP 2016233840 A JP2016233840 A JP 2016233840A JP 2018093324 A JP2018093324 A JP 2018093324A
Authority
JP
Japan
Prior art keywords
processing unit
analysis
processing
unit
camera
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016233840A
Other languages
English (en)
Other versions
JP6692736B2 (ja
Inventor
俊明 垂井
Toshiaki Tarui
俊明 垂井
廣池 敦
Atsushi Hiroike
敦 廣池
裕樹 渡邉
Hiroki Watanabe
裕樹 渡邉
森田 健一
Kenichi Morita
健一 森田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2016233840A priority Critical patent/JP6692736B2/ja
Publication of JP2018093324A publication Critical patent/JP2018093324A/ja
Application granted granted Critical
Publication of JP6692736B2 publication Critical patent/JP6692736B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Closed-Circuit Television Systems (AREA)
  • Alarm Systems (AREA)

Abstract

【課題】第1処理部を所定の周期で実行させるべく、第1処理部の実行時期と第2処理部の実行時期とを調停できるようにすること。【解決手段】複数のカメラ2を備える映像監視システムにおいて、各カメラ2から画像を取得して所定の第1処理を実行する第1処理部110と、第1処理部110の処理結果と画像とに基づいて所定の第2処理を実行する第2処理部120と、第1処理部110を所定の周期で実行させるべく、第1処理部110の実行時期と第2処理部120の実行時期とを調停する実行時期調停部160と、を備える。これにより、第2処理部120の処理時間が長い場合であっても、第1処理部110を所定の周期で実行させる。【選択図】図1

Description

本発明は、映像監視システム、映像監視システムの制御方法および映像監視装置に関する。
監視カメラの映像から不審者や不審物をリアルタイムで発見し、安心と安全を実現する映像監視システムが広く用いられている。近年、単一の場所を監視するだけではなく、複数の場所、さらには、施設全体を統合監視することのできる、映像監視システムが出現している。映像監視システムの大規模化に伴い、多数台のカメラの映像をリアルタイムで監視することが求められる。映像監視システムでは、カメラが撮影した映像を、映像解析プログラムで分析し、不審者等の有無を判断し、警報等により監視者に報告する。
本技術分野の背景技術として、特開2015−049532号公報(特許文献1)、特開2015−278515号(特許文献2)、および、「大規模映像解析システム向けのサーバ割当手法」(非特許文献1)が知られている。
特許文献1は、大規模監視システムの処理負荷を低減する方法を開示する。特許文献1では、各カメラの映像に撮影されている物体の状況に応じて各カメラの映像解析処理を切り替え、処理負荷を低減する際に、複数のカメラが撮影した映像内の物体の動きをシミュレートし、その結果に基づき処理負荷を低減できる処理方式を選択する。それにより、特許文献1では、多数台のカメラを持つシステムでの映像解析処理の負荷を低減する。
特許文献2は、所定処理の周期を厳守するように複数の映像解析処理を制御する方法を開示する。特許文献2では、各映像解析処理が必要とする画像取り込みのタイミングをスケジューリングする。これにより特許文献2では、複数の映像解析処理を並行して実行しつつ、各映像解析処理が必要とする画像取り込みのタイミングを守ることができる。
非特許文献1は、映像解析処理において、応答要求が高い処理と、応答要求が低い処理とを分離することにより、応答要求が高い処理の実行が遅延しないように制御する方法を開示している。非特許文献1では、応答要求が高い処理と応答要求が低い処理とをそれぞれ別のバッファに入れ、応答要求が高い処理を優先的に処理する。それにより、非特許文献1では、応答要求が低い処理の負荷が増大した場合でも、応答要求が高い処理の実行が遅延しないようにすることができる。
なお、非特許文献2は、映像から人の流れを解析する技術を開示する。
特開2015−049532号公報 特開2015−278515号公報
岩松他、「大規模映像解析システム向けのサーバ割当手法」、情報処理学会第77回全国大会1D−06 米司他、「Tracklet特徴量とMean−Shiftクラスタリングによる歩行者流量推定方式の提案」、電子情報通信学会技術研究報告.IBISML,情報論的学習理論と機械学習 113.197
映像解析プログラムでは、(A)一定時間毎に映像フレームを入力しなければならない処理と、(B)一回あたりの処理時間が大きく変動する処理とが混在する。
(A)の一定時間毎に映像フレームを入力しなければならない処理には、例えば、非特許文献2に記載のTracklet技術による人流解析技術や、背景差分による動体検出等がある。
(B)の一回あたりの処理時間が大きく変動する処理には、例えば、顔や物品などの認識、人物や物体の特徴(服色等)抽出等がある。
(A)の映像解析処理は、一定時間間隔で実行されなければならない。もし一定時間で実行できない場合、映像解析を正しく実行できなくなるためである。例えばTracklletによる移動物体の検出では、実行間隔が一定(例えば10FPS(Frame Per Second))で無い場合、移動物体を正しく検出できない。ただしこの場合、1フレームあたりの処理時間の変動は小さい。したがって、各フレームの処理がある一定時間内に終わる前提でスケジューリングすることができる。以下、本明細書では、これらの処理を総称して、「Light処理」と呼ぶ。
それに対して、(B)の映像解析処理では、検出された物体数に比例した計算時間が必要となるため、各映像フレームの分析がいつ終わるかを予測することができない。一方、これらの映像解析処理は、必ずしも一定時間間隔で実行される必要は無い。すなわち、人物の特徴抽出を、毎フレーム実行する必要は無く、人が画面に写っている間に一回〜数回実施すれば十分である。以下、本明細書では、これらの処理を総称して、「Heavy処理」と呼ぶ。
映像解析を行う画像処理システムは、複数のカメラの映像に対して、(A)(B)で述べた各映像解析処理を、各映像解析処理に対して要求されている時間間隔で、かつ、少ない計算リソースで実行できなければならない。
しかし、上述のLight処理とHeavy処理とを同一の計算リソースを使用してそのまま実行すると、一定頻度で実行されなければならない映像解析処理(Light処理)の実行が、Heavy処理によって妨げられるため、Light処理を一定頻度で実行できなくなる、という課題がある。
本発明は上述の課題に鑑みてなされたもので、その目的は、第1処理部を所定の周期で実行させるべく、第1処理部の実行時期と第2処理部の実行時期とを調停できるようにした映像監視システム、映像監視システムの制御方法および映像監視装置を提供することにある。
上記課題を解決すべく、本発明に従う映像監視システムは、複数のカメラを備える映像監視システムにおいて、各カメラから画像を取得して所定の第1処理を実行する第1処理部と、第1処理部の処理結果と画像とに基づいて所定の第2処理を実行する第2処理部と、第1処理部を所定の周期で実行させるべく、第1処理部の実行時期と第2処理部の実行時期とを調停する実行時期調停部と、を備える。
本発明によれば、第2処理部の処理時間が長い場合であっても、第1処理部を所定の周期で実行させることができる。
映像監視システムの機能構成図である。 映像監視システムのハードウェア構成図である。 「第1処理」としての第1解析処理のフローチャートである。 「第2処理」としての第2解析処理のフローチャートである。 初期化処理のフローチャートである。 「実行時期調停部」としてのタイミング調停部の動作を示すフローチャートである。 「処理対象選択部」としての解析対象選択部が実行する処理のフローチャートである。 一時記憶される取得画像およびその解析結果の例を示す説明図である。 第1解析処理と第2解析処理の動作タイミングを示す説明図である。 第2実施例に係り、解析対象選択部の動作を示す説明図である。 第4実施例に係り、解析対象選択部の動作を示す説明図である。 第5実施例に係り、第1解析処理のフローチャートである。 第6実施例に係り、カメラに割り当てるスレッド数を更する様子((a)(b))と、一つのカメラに複数スレッドを割り当てた場合の処理タイミング((c))とを示す説明図である。
以下、図面に基づいて本発明の実施の形態を説明する。本実施形態の映像監視システムは、処理時間が不定である処理(第2処理)に妨げられることなく、周期的に実行することが必要な処理(第1処理)を実行する。
本実施形態の映像監視システムは、後述のように、複数のカメラ2と、所定間隔でカメラ2から画像を取得する第1解析部110と、画像を解析する第2解析部120と、第1解析部110および第2解析部120の処理タイミングを所定のルールに基づき調停するタイミング調停部160とを備える。第1解析部110は、所定周期で実施しなければならない映像解析処理(Light処理)を実行する。第2解析部120は、処理時間が不定の映像解析処理(Heavy処理)を実施する。
換言すれば、本実施形態の映像監視システムは、第1解析処理を実施するためのスレッドをカメラ2毎に用意するとともに、複数のカメラに共有される第2解析処理用のスレッドを用意し、第1解析処理が所定の周期で実行されるように、第2解析処理用スレッドの優先度を第1解析処理用スレッドの優先度よりも低く設定する。本実施例の映像監視システムは、映像解析システムと呼ぶこともできる。
図1〜図9を用いて第1実施例を説明する。図1は映像監視システムの機能構成を示し、図2は映像監視システムのハードウェア構成を示す。先に図2を参照してハードウェア構成を説明し、次に図1を参照して機能構成を説明する。
映像監視システムは、図2に示すように例えば、「映像監視装置」としての映像解析サーバ1と、複数のカメラ2と、映像解析結果を保持するデータベースサーバ3と、映像解析結果を表示する端末4とを備える。端末4は、複数設けることができるが、図2では1つのみ示す。
映像解析サーバ1は、複数のカメラ2で撮影した映像(画像とも呼ぶ)を解析し、その解析結果をデータベースサーバ3および端末4へ出力する装置である。映像監視システムのユーザ(監視者)は、端末4を用いてデータベースサーバ3にアクセスすることで、解析結果を端末4に表示させて確認することができる。
映像解析サーバ1は、通常のPC(Personal Computer)サーバとして構成される。映像解析サーバ1は、例えば、CPU(Central Processing Unit)10と、メモリ11と、ストレージ12と、ネットワークインターフェース13と、入出力部14とを備える。
メモリ11は、例えば、第1解析処理プログラムP110と、第2解析処理プログラムP120と、解析対象選択処理プログラムP150と、タイミング調停処理プログラムP160とをそれぞれ実現するためのコンピュータプログラムを記憶している。それらのコンピュータプログラムは、ストレージ12からメモリ11へ読み出されてもよいし、最初からメモリ11に格納されていてもよい。CPU10がそれらのコンピュータプログラムを読み込んで実行することにより、第1解析部110、第2解析部120、解析対象選択部150、タイミング調停部160が実現される。なお、図1に示す一時記憶部130と解析結果出力部140とは、コンピュータプログラムP110,P120,P150,P160を実行する際に実現される。
ストレージ12は、例えば、ハードディスクドライブ(HDD:Hard Disk Drive)、フラッシュメモリデバイス(SSD:Solid State Drive)等である。
ネットワークインターフェース13は、専用通信回線または公衆通信回線等の通信ネットワークCN1を介して、データベースサーバ3および端末4と通信する。各カメラ2は、例えば、LAN(Local Area Network)等の通信ネットワークCN2を介して、映像解析サーバ1の入出力部14に映像を出力する。入出力部14が受信した映像は、ストレージ12に格納される。
カメラ2は、例えば、商業施設、官公庁の施設、駅、空港、交差点、工場、病院等に設置される。各カメラ2は、例えば、同一の施設内の同一フロアに分散して配置されてもよいし、同一施設内の異なるフロアにそれぞれ配置されてもよい。または、各カメラ2は、異なる施設の異なるフロアにそれぞれ配置されてもよい。カメラ2は、例えば、ボックス型カメラ、またはドーム型カメラのいずれでもよい。カメラレンズの向きや角度を遠隔操作できるカメラでもよい。
各カメラ2は、有線通信経路または無線通信経路のいずれかまたは両方を含む通信ネットワークCN2を介して、映像を映像解析サーバ1へ送信する。各カメラの種類、仕様、フレームレートなどの設定値は、同一であってもよいし、異なってもよい。複数のカメラ2の一部は、移動可能なカメラでもよい。
データベースサーバ3は、解析結果を管理するデータベース310を有する。データベースサーバ3は、例えば、CPU30と、メモリ31と、ストレージ32と、ネットワークインターフェース33とを備える。データベース310は、ストレージ32内に設けられている。データベースサーバ3は、ネットワークインターフェース33から通信ネットワークCN1を介して、映像解析サーバ1および端末4に接続されている。データベースサーバ3を映像解析サーバ1内に設ける構成でもよい。
端末4は、ユーザの使用する装置である。ユーザは、端末4を介してデータベースサーバ3にアクセスすることで、映像解析サーバ1の解析結果を利用することができる。端末4は、例えば、パーソナルコンピュータ、携帯電話(いわゆるスマートフォンを含む)、携帯情報端末、ウエアラブルコンピュータ等のように構成される。
端末4は、例えば、CPU40と、メモリ41と、ネットワークインターフェース43と、ユーザインターフェース部44とを備える。図示は省略するが端末4は、ストレージを備えてもよい。端末4は、ネットワークインターフェース43から通信ネットワークCN1を介して、データベースサーバ3に接続されている。
メモリ41には、例えば、実時間解析結果表示処理プログラムP410と、解析結果検索処理プログラムP420とを格納している。CPU40が、それらのコンピュータプログラムを読み込んで実行することで、実時間解析結果表示部410と解析結果検索部420とが実現される。
図1を参照する。第1解析部110は、各カメラ2に対応して設けられる。各第1解析部110は、対応するカメラ2から最新の映像フレームの画像を取得し、取得した画像について第1解析処理を実行する。第1解析部110は、画像から例えば人体や荷物などの各種オブジェクトを検出する。第1解析部110がカメラ2から取得した画像とその解析結果(オブジェクトの検出結果)とは、一時記憶部130に保持される。一時記憶部130は、メモリ11の空き領域に画像および解析結果を記憶する。
以下、第1解析部110による画像解析(映像中の画像の解析。以下同じ)を第1解析処理または一次解析とよぶことがある。第2解析部120による画像解析を第2解析処理または二次解析と呼ぶことがある。第1解析部110は、例えば「画像取得・解析処理部」と呼ぶこともできる。
第2解析部120は、一時記憶部130に記憶された画像およびその解析結果のうち、解析対象選択部150により選択されたカメラ2の画像およびその解析結果に基づいて、第2解析処理を実施する。第2解析部120は、例えば、画像から検出されたオブジェクトについて、その特徴を抽出する。オブジェクトの特徴としては、例えば、肌の色、顔色、手荷物の形状、危険性の有無等である。第2解析部120は、その解析結果を解析結果出力部140へ出力する。第2解析部120は、例えば「画像解析処理部」と呼ぶこともできる。
ここで、上述した通り、第1解析部110は、カメラ2と一対一で対応する。これに対し、第2解析部120の数(図中m)は、カメラの数(図中n)とは無関係に決めることができる。例えば、第2解析部120の数(m)は、カメラの数(n)以下に設定することができる(m≦n)。
解析対象選択部150は、上述の通り、各第1解析部110が処理した画像の中から、第2解析部120で処理すべき画像を選択する。後述のように、本実施例では、ほぼ一定の短時間で完了する第1解析部110の処理を、処理に要する時間が第1解析部110の解析結果等に依存するため定まらない第2解析部120の処理よりも優先する。したがって、解析対象選択部150は、第1解析部110の処理した画像の中から、第2解析部120の実行タイミングに適合する最新の画像を選択して、第2解析部120により処理させる。換言すれば、本実施例では、第1解析部110の処理した画像のうち選択しなかった画像、つまり第2解析部120の実行タイミングに適合しなかった画像を、第2解析部120の処理対象とせず、無視する。
タイミング調停部160は、「実行時期調停部」の例である。タイミング調停部160は、各第1解析部110および各第2解析部120の実行順序を所定のルールに基づいて制御する。
実時間解析結果表示部410は、各第1解析部110の解析結果を解析結果出力部140を介して取得し、端末4のユーザインターフェース部44に表示する。ユーザは、実時間解析結果表示部410を用いることで、第1解析部110による実時間の解析結果を確認することができる。
解析結果検索部420は、データベース310に格納されている、各第1解析部110の解析結果および各第2解析部120の解析結果に対して検索し、その検索結果をユーザインターフェース部44に表示する。
映像監視システムの動作について図3〜図7を用いて説明する。図3では第1解析処理を説明し、図4では第2解析処理を説明する。図4では、第2解析処理を説明する。図5では、初期化処理を説明する。図6では、タイミング調停処理を説明する。図7では、解析対象選択処理を説明する。
図3に示す第1解析処理は、各第1解析部110により実行される。以下に述べるように、各第1解析部110は、各カメラ2のうち対応するカメラ2から、最新の映像を取得するとともに(S111)、所定周期で実施しなければならない第1の解析処理(S112)を実施する。
具体的には、以下に示す処理が繰り返し実行される。すなわち、第1解析部110は、指定された実行タイミングになると(スケジュールされたタイミングになると)、第1解析部110は、対応するカメラ2から最新の画像データ(映像フレーム)を取得する(S111)。第1解析部110は、カメラ2の撮影する動画映像のストリームから、現時点での最新の映像フレームを表す静止画像のデータを取得する。以下、画像データを「画像」と略記する場合がある。
第1解析部110は、ステップS111で取得した画像に対して、第1解析処理を実施する(S112)。第1解析処理は、例えば、Trackletの人流解析や、背景差分による動体検出等の、所定周期で実施しなければならない解析処理である。
第1解析部110は、ステップS111で取得した画像と、ステップS112での解析結果のメタデータとを、一時記憶部130へ格納する(S113)。
解析結果のメタデータとは、例えば人流解析結果の場合、検出された人物の位置等を表す座標データである。図8を用いて解析結果のメータデータについて説明する。
図8は、一時記憶部130の記憶内容の例を示す。一時記憶部130は、例えばカメラID131と、時刻132と、取得画像133と、解析結果134とを対応づけて管理する。つまり、一時記憶部130は、カメラごとに、各カメラで撮影した画像とその解析結果とを対応づけて記憶する。
カメラID131は、映像監視システム内で各カメラ2を一意に特定するための識別情報である。時刻132は、カメラ2で撮影した画像を第1解析処理した時刻を示す。第1解析処理は、カメラ2で撮影した画像をほぼ実時間で処理するため、第1解析処理の時刻と撮影時刻とは近い。したがって、時刻132を撮影時刻と呼ぶこともできる。取得画像133は、カメラ2で撮影した画像のデータである。
解析結果134は、取得画像133について第1解析処理を行った結果を示す。解析結果134は、例えば、人物ID(オブジェクトID)と、人物の位置(オブジェクトの位置)と、人物の大きき(オブジェクトの大きさ)とを含む。
第1行目の例では、「123」は人物IDを示し、それに続く「100,50」はその人物の画像上の位置のxy座標である。その次の「150,300」はその人物の画像上での大きさを示す。ここでは、第1解析処理を実時間処理するために、人物と手荷物とを区別せずに検出している。これに限らず、第1解析処理は、人物と手荷物とを区別して検出してもよい。
図3に戻る。第1解析部110は、ステップS112の解析結果(および必要な場合は解析対象の画像)を、解析結果出力部140へ出力する(S114)。これにより一連の第1解析処理が終了すると、第1解析部110は、次の実行タイミングが来るまで待機する(S115)。実行タイミングは、タイミング調停部160により決定される。
以上の処理により、カメラ2から最新画像を取得する一連の流れの中で、第1解析処理が実施される。また、カメラ2と第1解析部110とは一対一で対応しているため、必ず同一のカメラ2から画像が取得される。したがって、第1解析部110の内部状態として、今までの映像フレームに対する処理結果を記憶しておくことにより、同一のカメラ2からの一定時間間隔の映像フレームを解析する、Trackletや背景差分等の処理を実施することができる。
ステップS114で出力された解析結果は、タイムスタンプとともに、データベース310に格納される。これにより、端末4からデータベース310に対して第1解析処理の結果を検索することができる。さらに、端末4は、第1解析処理の結果を実時間で表示することもできる。
図4は、第2解析部120の実行する第2解析処理のフローチャートである。第2解析部120は、一時記憶部130に記憶されている、処理対象となるカメラ2の最新の映像フレームの画像と、第1解析部110における解析結果とを取得して、第2解析処理を実施する。具体的には、以下に示す処理が繰り返し実行される。
すなわち、第2解析部120は、スケジュールされた実行タイミングが到来すると、画像解析対象決定機能150に問合せることにより、解析対象のカメラ2を決定する(S121)。続いて一時記憶部130より、前ステップで決定したカメラの最新映像フレームの画像データと該当する第1の映像解析結果を取得する(S122)。次に、取得した画像データ、さらには必要な場合は第1の映像解析結果を用いて、第2の映像解析処理を実施する(S123)。解析結果は、解析結果出力機能を介して、データベースサーバ3および端末4に出力される(S124)。
図4で述べたように、第2解析部120が実行されると、解析対象選択部150により決められたカメラ2の最新画像に対して、第2解析処理が実行される。
第2解析部120は、解析対象選択部150により選択されたカメラ2の最新画像とその最新画像についての第1解析処理の結果とを組として、一時記憶部130から取得することにより、第1解析処理の結果を用いて、第2解析処理を実施できる。
例えば、第1解析処理により人物を検出し、第2解析処理によりその人物の服の色や手荷物の形状等の特徴を解析することができる。第2解析部120は、一時記憶部130から第1解析処理の結果を得ることにより、第1解析処理で検出した人物の位置データを活用できるため、第2解析処理の負荷を軽減できる。
図5を参照して映像監視システムの初期化処理を説明する。映像解析サーバ1は起動すると、最初に、第1解析部110を初期化する。すなわち、映像解析サーバ1は、映像監視システム内のカメラ2の一覧であるカメラリストを取得する(S10)。映像解析サーバ1は、例えば、図示せぬ設定ファイルや構成データベースからカメラリストを取得することができる。その後、映像解析サーバ1は、各カメラ2に対して、ステップS11からステップS15の処理を繰り返す。
繰り返し処理では、処理対象のカメラ2を選択した後(S11)、選択されたカメラ2に対応した第1解析部110を一つ作成する(S12)。具体的には、例えば、選択されたカメラ2の画像の処理を担当するスレッドが1つ生成される。生成されたスレッドは、処理対象として選択されたカメラ2に紐づけられており、そのカメラ2のみから画像を取得して、第1解析処理を実施する。
映像解析サーバ1は、生成した第1解析部110の実行間隔を、予め決められた値に設定する(S13)。さらに、映像解析サーバ1は、第1解析処理の優先度を高優先度に設定する(S14)。
映像解析サーバ1は、第1解析部110に該当するスレッドの起動間隔を、予め決められた値に設定するとともに(S13)、その優先度を高く設定することにより(S14)、ステップS12で生成したスレッド(第1解析部)が必ず一定間隔で起動されるように設定する。これにより、所定の間隔で実行する必要がある第1解析処理を、決められた時間間隔で実行することができる。
映像解析サーバ1は、メモリ11またはストレージ12内に、第1解析処理の結果と解析対象の画像を記憶させるための一時記憶部130を確保する(S15)。映像解析サーバ1は、ステップS11〜S15の処理を全てのカメラ2について実行したか判定する(S16)。映像解析サーバ1は、未処理のカメラ2が残っていると判定すると(S16:NO)、ステップS11に戻って未処理のカメラ2の中から一つを選択し、ステップS12〜S15を実行する。
以上により、全てのカメラ2に対して、対応する第1解析部110がそれぞれ生成され、実行間隔と優先度および一時記憶部が設定される。
その後、映像解析サーバ1は、第2解析部120の初期化を開始する。すなわち、映像解析サーバ1は、第2解析部120の数を取得する(S17)。映像解析サーバ1は、ステップS17で取得した第2解析部120の数だけ、ステップS18およびS19の処理を繰り返す。
第2解析部120の数は、予め定められた設定値である。第2解析部120の数は、カメラ2の設置数とは無関係に定めることができる。第2解析部120を生成する数は、カメラ2の設置数以下に定めてもよいし、カメラ2の設置数よりも少なくてもよい。具体的には、映像監視システムの負荷や、第2解析部120を実行させるべき頻度等に応じて、最適な数を設定する必要がある。
繰り返し処理では、映像解析サーバ1は、第2解析部120を一つ作成する(S18)。具体的には、映像解析サーバ1は、第2解析部120に該当するスレッドを一個生成する。ここで、第2解析部120に該当するスレッドは、特定のカメラ2に紐づけられることはなく、解析対象選択部150により決められた任意のカメラ2の画像を解析する。
映像解析サーバ1は、ステップS18で作成した第2解析部120の優先度を、低優先度に設定する(S19)。すなわち第2解析部120は、第1解析部110の優先度よりも低い優先度に設定される。これにより、第2解析部120は、高優先度の第1解析部110が動作していない空き時間にのみ実行されるよう、タイミング調停部160によりスケジューリングされる。
映像解析サーバ1は、ステップS17で取得した数だけ、第2解析部120を生成したかチェックする(S20)。映像解析サーバ1は、ステップS17で取得した数だけ第2解析部120を生成していない場合(S20:NO)、ステップS18へ戻り、第2解析部120を新たに一つ作成し、優先度を設定する(S19)。
映像解析サーバ1は、ステップS17で取得した数だけ第2解析部120を作成すると(S20:YES)、本処理を終了する。
図6のフローチャートは、タイミング調停部160の動作を示す。タイミング調停部160は起動すると、基本状態に遷移し、以下のいずれかのイベントが発生するのを待つ(S161)。
(イベント1)第1解析部110の実行タイミングが到来(S161a)
タイミング調停部160は、第1解析部110の実行タイミングが到来すると(S161a)、映像解析サーバ1のCPUリソースに空きがあるか判定する(S162)。タイミング調停部160は、CPUリソースに空きがないと判定すると(S162:NO)、実行中の第2解析部120を一時停止させて、実行待ち状態とする(S163)。そして、タイミング調停部160は、第1解析部110を起動させて(S164)、ステップS161へ戻る。
一方、タイミング調停部160は、CPUリソースに空きがあると判定すると(S162:YES)、ステップS163をスキップし、第1解析部110を起動させて(S164)、基本状態へ戻る(S161)。
(イベント2)CPUリソースに空きが出た場合(S161b)
第1解析部110の実行が全て終了すると、映像解析サーバ1のCPUリソースに空きが生じる。タイミング調停部160は、映像解析サーバ1のCPUリソースに所定量以上の空きが生じると(S161b)、実行待ち状態の第2解析部120が存在するか判定する(S165)。
タイミング調停部160は、実行待ち状態の第2解析部120が存在すると判定すると(S165:YES)、実行待ち状態の第2解析部120を起動させた後(S166)、基本状態へ戻る(S161)。これに対し、タイミング調停部160は、実行待ち状態の第2解析部120が存在しない場合(S165:NO)、何もせずに基本状態へ戻る(S161)。
以上述べたタイミング調停部160の処理により、本実施例の映像解析サーバ1は、第1解析部110を定期的に実行するとともに、空いている時間で第2解析部120を実行することができる。タイミング調停部160は、例えば、バックグラウンド処理(デーモン等)、もしくはOS(Operating System)のスケジューリング等により実現することができる。
図7のフローチャートを用いて、解析対象選択部150の処理を説明する。解析対象選択部150は起動すると、カメラリストを取得する(S151)。解析対象選択部150は、カメラリストに記載されたカメラIDを順番に整列させて記憶する(S152)。その後、解析対象選択部150は、後述するステップS153からステップS157の処理を繰り返す。
解析対象選択部150は、解析対象のカメラを選択する要求が到来するのを待ち合わせる(S153)。この選択要求は、いずれかの第2解析部120において、図4で述べたステップS121が実行されると、発生する。つまり、この選択要求は、第2解析処理を実施すべきカメラ2の画像を選択するための要求である。
解析対象選択部150は、選択要求が発生すると(S153:YES)、最後に第2解析部120を起動させたカメラのIDを内部記憶から取得する(S154)。解析対象選択部150は、ステップS152で並べ替えた順番に従って、次に処理すべきカメラのIDを選択する(S155)。
解析対象選択部150は、ステップS155で選択したカメラIDを、ステップS153で受信した選択要求の発行元である第2解析部120へ出力する(S156)。選択さされたカメラIDを受信した第2解析部120は、図4で述べたステップS122〜S124の処理を実行する。なお、解析対象選択部150は、ステップS156で出力したカメラIDを内部記憶へ記憶する。
映像解析サーバ1は、解析対象選択処理により、第2解析部120が各カメラ2の画像データを均等に処理するように制御することができる。
解析対象選択部150は、全ての第2解析部120に対して1個のみ設けられる。解析対象選択部150を1個だけ設けることで、各第2解析部120に対して、処理を実施するカメラ2を均等に割り当てることができる。本実施例では、解析対象選択部150は、各第2解析部120に対して、カメラ2を順番に割り当てる。
図6、図7で述べた処理により、複数のカメラ2からの映像を解析する映像解析サーバ1において、第1解析処理を要求された頻度で実行することができ、限られた計算リソースを有効に活用してリアルタイムで監視することができる。
図9を用いて、本実施例の効果について説明する。図9は、第1解析部110および第2解析部120の動作タイミングを示すタイムチャートである。図9(1)および(2)は、比較例1,2の動作タイミングを示すタイムチャートである。図9(3)は、本実施例の動作タイミングを示すタイムチャートである。図9(3)に示す本実施例のタイムチャートは、図9(2)に示す比較例2の状況下に本実施例を適用した場合を示す。
図9では、2台のカメラ2の画像からオブジェクトを検出する軽い処理(Light処理)と、検出されたオブジェクトから特徴を検出する重い処理(Heavy処理)を、同一のCPUリソースで順番に実行する。Light処理は、第1解析部110の行う第1処理に相当し、例えば、人物の移動を解析する人流解析を行う。人流解析結果と画像とはデータベース310に書き込まれる。Heavy処理は、第2解析部120の行う第2処理に相当し、人物の服の色などの特徴を抽出する。人物の特徴はデータベース310に書き込まれる。
図9では、Light処理に符号”A”を、Heavy処理に符号”B”を付す。符号”A”および”B”には、カメラIDに対応する数字を付加する。つまり、符号”A1”は、1番目のカメラの画像に対するLight処理であることを示す。符号”A2”は、2番目のカメラの画像に対するLight処理であることを示す。同様に、符号”B1”は、1番目のカメラの画像に対するHeavy処理であることを示す。符号”B2”は、2番目のカメラの画像に対するHeavy処理であることを示す。ここでは以下、第1解析処理に符号”A”を用い、第2解析処理に符号”B”を用いる。
第1解析処理A1,A2は、所定の周期Tで定期的に実行される必要がある。前回の周期で取得した画像と今回の周期で取得した画像との差分を抽出することで、オブジェクトの存在を正確に検出するためである。各カメラ2に関する第1解析処理の所要時間は一定である。つまり、第1解析処理A1の処理時間ta1と第1解析処理A2の処理時間ta2とは等しい。
これに対し、第2解析処理B1,B2の処理に要する時間は一定ではなく、第1解析処理の結果等に応じて変動する。つまり、第2解析処理B1の処理時間tb1と第2解析処理B2の処理時間tb2とは、その長さがまちまちである。
図9(1)は、比較例の第1ケースにおけるタイムチャートを示す。第1ケースでは、第1解析処理A1,A2の実行されていない空き時間内に、第2解析処理B1,B2が行われる場合を示す。第1解析処理A1,A2の実行されていない空き時間とは、前の周期での第1解析処理A1,A2の終了時から次の周期での第1解析処理A1,A2の開始時までの時間である。図9(3)では、この空き時間に符号”ti”を付している。
図9(2)は、比較例の第2ケースにおけるタイムチャートを示す。第2ケースでは、周期T(2)で開始された第2解析処理B2の処理時間tb2が長くなったために、周期T(3)で行われるべきであった第1解析処理A1,A2が実行されていない。つまり、第1解析処理A1,A2を所定周期Tで実行できなくなる。この場合、第1解析処理A1,A2の解析精度は低下する。
図9(3)は、本実施例のタイムチャートを示す。図9(3)では、図9(1)(2)と同様に、2台のカメラ2の映像を1つのCPUリソースで処理する場合を示す。図9(3)では、第1解析処理A1を実行するタイムチャートTC1と、第1解析処理A2を実行するタイムチャートTC2と、第2解析処理B1,B2を実行するタイムチャートTC3とを上下に並べて示している。第1解析処理A1,A2および第2解析処理B1,B2は、この例ではスレッドにより実装されている。ここでは以下、第1解析部110スレッド、第2解析部120スレッドと呼ぶことがある。
本実施例では、各カメラ2の第1解析部110(図中A1,A2)のスレッド(TC1,TC2)は、必ず一定の時間間隔で実行されるようにスケジュールされる。これが可能になる理由は、図5で述べた初期化処理のステップS13で第1解析部110の実行間隔Tを設定し、さらに図6で述べたタイミング調停処理において、第1解析部110スレッドを定期的に起動(状態遷移S161a)させるためである。
第2解析部120スレッドにおける一枚のフレーム画像あたりの処理時間tb1,tb2は、処理対象の画像の内容(例えば画像に写っている人物の数等)に従って大きく変動する。しかし、本実施例では、第2解析部120の処理が長引いて、第2解析部120の実行中に次の第1解析部110の実行タイミングが到来した場合、第2解析部120をいったん休止させ、第1解析部110を優先的に実行させる。以下では、処理を休止させることを、処理を中断させると表現する場合がある。
第1解析部110の実行を第2解析部120よりも優先させることができるのは、初期化処理時に第2解析部120の優先度を第1解析部110の優先度よりも低く設定する(S19,S14)とともに、タイミング調停部160により第1解析部110を第2解析部120よりも優先して起動させるためである(図6のS163,S164)。
これに対し、第2解析部120の処理B1,B2は、初期化処理時に生成された第2解析部120スレッドにより、第1解析部110の空き時間でのみ実行される。すなわち、図6で述べたように、タイミング調停部160において、第1解析部110が動作するタイミングでCPUリソースに空きが無い場合は(S162)、第2解析部120スレッドの実行が休止され(S163)、第1解析部110が起動される(S164)。
その後、第1解析部110が全て終了してCPUリソースに空きが生じると(状態遷移S161b)、実行待ちの第2解析部120が存在するか判定され(S165)、実行待ちの第2解析部120が存在する場合には、実行が再開される(S166)。
具体的に説明する。図9の例では、周期T(2)で開始された第2解析処理B2は、周期T(3)での最初の第1解析処理A1の実行タイミングが到来したときに、その動作が一時中断される。そして、周期T(3)における最後の第1解析処理A2の実行が終了すると、中断されていた第2解析処理B2は再開される。
再開された第2解析処理B2の実行が、周期T(4)での第1解析処理A1の実行前に終了しなかった場合、再開された第2解析処理B2は再び中断する。つまり、再開された第2解析処理B2は、周期T(4)で最初に実行される第1解析処理A1の実行タイミングが到来したときに、再び休止する。
そして、周期T(4)で最後に実行される第1解析処理A2が終了すると、中断されていた第2解析処理B2は、再開される。第2解析処理B2が終了すると、ただちに他のカメラについての第2解析処理B1が開始される。
図9(3)に示す例では、第2解析部120スレッドは1個(タイムチャートTC3に該当するスレッド)のみ生成される。そのスレッドは、1番目のカメラに関する第2解析処理B1と、2番目のカメラに関する第2解析処理B2とを実施する。
すなわち、本実施例では、解析対象選択部150の指示に従い、第2解析処理を行うカメラを決定する。本実施例では、カメラを順番に処理する。すなわち、1番目のカメラの画像の第2解析処理B1と、2番目のカメラの画像の第2解析処理B2とは、交互に実施される。タイムチャートTC3の右端に示すように、第2解析処理B2が終了すると直ちに、第2解析処理B1が同一スレッドで実施される。
さらに、本実施例では、第2解析部120のスレッド数をシステム初期化処理時に予め設定するため(図5のS17)、第2解析部120が使用するCPUリソースを制限することができる。
すなわち、本実施例では、例えば画像に写っている人数が増えて、第2解析部120の負荷が増大した場合であっても、第2解析部120の負荷が無制限に増えて、同一CPUリソースを共有する他の処理の負荷を圧迫するのを未然に回避できる。
さらに、本実施例では、第2解析部120において、解析対象のカメラを決めた後(図4のS121)、解析対象のカメラの最新画像および第1解析部110の解析結果を一時記憶部130から取得する(S122)。これにより、本実施例では、常にリアルタイムで画像を解析することができる。
さらに、本実施例では、一時記憶部130から、最新画像とともに第1解析処理の解析結果を取得するため、依存関係のある映像解析処理を取り扱うことができる。
本実施例では、事前に設定したCPUリソース内で第2解析部120の実行を保証しつつ、第1解析部110のリアルタイム解析処理を実現することができる。つまり、本実施例では、処理時間が不定の映像解析処理(第2解析処理)に妨げられることなく、周期的に実行することが必要な映像解析処理(第1解析処理)を実行することができる。これにより本実施例では、例えば施設や道路などでのセキュリティ監視、病院や介護施設での秒人の見守り監視などをリアルタイムで行うことができる。
これに対し、非特許文献1に記載の技術を利用して、各第1解析処理の結果をバッファリングしておき、それぞれ独立にスケジューリングする構成とすれば、第1解析処理の実行周期を守ることはできる。しかしこの場合は、バッファリングによる遅延が生じるため、リアルタイム監視処理ができなくなる。
ここで、第1解析処理と第2解析処理との対応関係を説明する。図9(3)に二点鎖線で示すように、第2解析処理は、選択されたカメラの画像のうち最新の画像およびその第1解析結果について解析する。具体的には、周期T(1)の第2解析処理B1は、1番目のカメラの画像と第1解析処理A1の解析結果とに基づいて解析する。周期T(2)では、第2解析処理B2は、周期T(2)で実行された最新の第1解析処理A2の解析結果と画像とに基づいて解析する。周期T(1)で実行された第1解析結果A2の解析結果と画像とは、第2解析処理B2の対象とならない。
同様に、周期T(4)の第2解析処理B1では、周期T(4)で実行された最新の第1解析処理A1の解析結果と画像とに基づいて解析する。周期T(4)の第2解析処理B1は、周期T(2),T(3)でそれぞれ行われた第1解析処理A1の解析結果と画像については、処理対象としない。このように、第2解析部120は、選択されたカメラの最新画像とその画像に対する第1解析部110の解析結果とに基づいて、第2解析処理を実行する。これにより、第2解析部120は、常に最新の画像を対象として解析することができる。
図10を用いて第2実施例を説明する。本実施例を含む以下の各実施例は、第1実施例の変形例に該当するため、第1実施例との相違を中心に述べる。本実施例では、第2解析部120の実行頻度に上限を設ける。
第1実施例では、処理時間が不定の第2解析処理は、第2解析部120により、ベストエフォートで実行される。すなわち、第2解析処理は、初期化処理で生成された第2解析部120スレッドに空きがある限り、解析対象選択部150が指定したカメラ2の最新映像と第1解析処理の解析結果とを用いて実行される。
第2解析処理の処理時間は、画像の内容により大きく異なるため、第2解析処理の負荷が小さい場合、第2解析処理の実行頻度が極端に高くなることがある。例えば第1解析処理が検出した人物の服装の特徴を第2解析処理で検出する場合、第1解析処理で人物がほとんど検出されないときは、第2解析処理の実行時間が短くなる。しかし、必要以上の頻度で第2解析処理を実行しても、無駄にCPUリソースを消費するだけであり、効果は得られない。
そこで本実施例では、第2解析処理の実行頻度に上限を設ける。具体的には、解析対象選択部150内に、図10に示す第2解析部120の実行タイミングを管理するテーブル151を設ける。テーブル151は、解析対象選択部150により使用される。
テーブル151は、例えばカメラID1511と、第2解析部120を実行する間隔の下限1512と、第2解析部120を次回実行可能な時刻1513とを対応づけて管理している。
つまり、テーブル151は、カメラ毎に、第2解析処理を実行する間隔の下限(列1512)と、次回第2解析処理が実行可能になる時刻(列1513)を記憶する。初期化処理時に、テーブル151の列1512には、時間間隔の時間の初期値(設定値)が設定され、列1513には現時刻に時間間隔を加算した時刻が次回実行可能になる時刻として設定される。図10では、時間間隔の下限値1512には200msが設定されている。次回実行可能な時刻1513の値は、映像解析サーバ1の内部表現で設定されている。
解析対象選択部150は、各カメラ2を、次回第2解析処理が実行可能になる時刻(列1513)の順番にソートして記憶する。解析対象選択部150は、現時刻と、次回第2解析処理が実行可能になる時刻(列1513)の一番早い時刻とを比較し、次回第2解析処理能になる時刻(列1513)が現時刻よりも早い場合(既に実行可能になっている場合)は、該当するカメラのIDを出力する。これに対し、解析対象選択部150は、現時刻の方が次回第2解析処理が実行可能になる時刻(列1513)よりも早い場合(実行可能になっていない場合)は、カメラのIDと実行可能になる時刻とが出力する。
図4で述べた第2解析部120の実行する処理では、以下の部分の処理が第1実施例とは異なる。
すなわち、本実施例では、ステップS121において、解析対象のカメラ2を決定する場合に、対象のカメラ2が実行可能ではないと判断されると、カメラのIDがセットされた後、該当する第2解析部120スレッドの動作が休止され、タイミング調停部160の対象から外される。その後、実行可能になる時刻が到来したタイミングで、第2解析部120スレッドが再び実行可能になり、タイミング調停部160の対象に戻される。すなわち、CPUリソースに空きがある場合は、第2解析処理が再開される。
このように構成される本実施例も第1実施例と同様の作用効果を奏する。さらに本実施例では、処理時間が不定の第2解析処理が必要以上の頻度で実行されてしまい、CPUリソースをいたずらに浪費するのを抑制できる。
第3実施例を説明する。第1実施例では、各カメラ2に対応する第2解析処理は、全て同一頻度で実行されていた。しかし、映像監視の処理内容によっては、カメラ毎に第2解析処理の実行頻度を変更することが必要な場合がある。例えば、重要な場所に設置したカメラ2の解析処理の頻度を高く設定する場合である。
そこで、本実施例では、カメラ2に対する第2解析処理の実行頻度をカメラ毎に異なる値に設定するための手段を設ける。例えば、解析対象選択部150の初期化時において、ステップS152で映像解析対象のカメラIDを並べる場合に、処理頻度を高くする所定のカメラのIDが複数回入るようにする。その結果、ステップS155で次のカメラを選択する場合に、所定のカメラが他のカメラより高い頻度で選ばれるようになる。
C1,C2,C3,C4の4台のカメラ2から構成される映像監視システムを例に挙げて説明する。図示しなくてもいわゆる当業者であれば理解できるため、それら4台のカメラ2の図示は省略する。
通常の場合、ステップS152で作成されるカメラIDのリストは、例えば、[C1,C2,C3,C4]となる。カメラ2(C1)の実行頻度を高く設定する場合は、[C1,C2,C1,C3,C4]のように、カメラ2(C1)がリスト中に現れる頻度を高く設定する。これにより、カメラ2(C1)が第2解析部120で処理される頻度を上げることができる。この例では、カメラ2(C1)では、他のカメラの2倍の頻度で第2解析処理が実行される。
このように構成される本実施例も第1実施例と同様の作用効果を奏する。さらに本実施例では、カメラ毎に第2解析処理の実行頻度を変えることができるため、映像監視システムの使い勝手が向上する。本実施例は、第2実施例と組み合わせることもできる。
図11を用いて第4実施例を説明する。本実施例では、第2解析処理の実行頻度として任意の重みづけを設定する。
第2実施例で述べた、各カメラ2に対応する第2解析処理の実行比率を、カウンタを設けて管理することができる。
図11に示すように、解析対象選択部150の内部に、第2解析部の実行タイミングを管理するテーブル152を設ける。このテーブル152は、例えば、カメラID1521と、第2解析処理の実行比率を表す重み1522と、実行回数1523と、実行回数1523を重み1522で割った値1524とを対応づけて管理する。
すなわち、テーブル152は、カメラ毎に、第2解析処理を実行する比率を表す重みを表す設定値(列1522)と、第2解析処理の実行回数を表すカウンタ値(列1523)と、カウンタ値を設定値で割った値(列1524)とを保持する。
テーブル152の列1522は、第2解析処理の実行頻度の重みづけをカメラ毎に保持する。第2解析処理は、この重みに比例する実行頻度で実行されるように調整される(重みが大きいほど実行頻度は高くなる)。重みには、任意の正の値を設定できる。基本的には、システム初期設定時に値が設定される。
列1523は、該当するカメラに対して第2解析処理が何回実行されたかを記憶するカウンタの値を保持する。カウンタ値は、システムの初期化時にゼロに初期化される。列1524には、列1523の値を列1522の値で割った結果が入れられる。
解析対象選択部150は、次に第2解析処理を実行するカメラを選択する場合に、列1524の値が一番小さいカメラのIDを出力する。複数のカメラ2が同じ値の場合は、テーブル152において上側に記載されている方のカメラ2が選択される。
これにより、指定された重みに対して、第2解析処理の呼ばれた回数が一番少ないカメラ2が選択される。図11の例では、カメラID=2の列1524の値が”5”と一番小さいため、今回はカメラID=2のカメラが選択される。その結果、カメラID=2に対応するカウンタの値は”6”になる。このため次回は、カメラID=4の列1524の値が”5.5”で一倍小さくなるため、カメラID=4を持つカメラが選択される。
このように構成される本実施例も第1実施例と同様の作用効果を奏する。さらに本実施例では、、第2解析処理の実行頻度として、任意の重みづけを設定することができるため、使い勝手が向上する。
第3実施例および第4実施例では、カメラ2の実行頻度を変更する簡単な例を述べたが、これらに代えて、一般に重み付きラウンドロビン等で知られる任意のスケジューリングアルゴリズムを用いてもよい。
さらに上記においては、各カメラの解析処理頻度は固定であるが、撮影された映像の内容に応じて頻度を変更することも可能である。例えば、人が多く映っているカメラの解析処理頻度を高く設定することができる。これは、例えば第1解析処理の結果に基づいて第2解析処理を呼び出す重み(列1522)を定期的に見直すことにより、実現することができる。本実施例は第2実施例と組み合わせることもできる。
図12を用いて第5実施例を説明する。本実施例では、第1解析部110が、所定の場合に第2解析処理を実行する。
第1実施例では、第1解析処理および第2解析処理の内容は、それぞれ固定的に決められていた。例えば、第1解析処理では画像の中から人物を検知し、第2解析処理では第1解析処理により発見された人物の服装の特徴を検知する場合等である。しかし、映像監視システムによっては、第1解析処理と第2解析処理の内容を柔軟に変更することが求められる場合がある。
例えば、第1解析処理により発見された人物の服装の特徴を第2解析処理によって解析して検知する場合を考える。第1実施例では、第2解析処理は決められた数のスレッドでベストエフォートにより行われる。その結果、カメラに写る人数が予想以上に多い場合、第2解析処理に必要となる時間が増大し、第2解析処理の処理頻度が低下する、すなわち実行の時間間隔が増大する場合がある。
第2解析処理の実行間隔が開き過ぎると、第1解析処理により検知されたにも関わらず、第2解析処理が一回も実行されない人物が出現する可能性がある。第2解析処理が一回も実行されない場合、その人物の特徴量がデータベース310に書き込まれないため、後刻、その人物の特徴を検索することができなくなる。
そこで本実施例では、今回の映像フレームで初めて検出された人物、つまり画像中に初めて出現した人物については、その初出現の人物の特徴量解析と、データベース310への書き込み等との一連の処理(第2解析処理に相当する処理)を、第1解析部110の内部で実施する。
これにより、本実施例では、第1解析処理で検出された全ての人物に対して、特徴量検出処理が最低一回は実行されることを保証することができる。Trackletによる人流解析処理においては、検出した人物の追跡を可能にするために、検出した人物に対して映像フレームを渡っても共通なIDを付与して管理している。したがって、新しいIDが付与された人物が見つかった場合は、今回の映像フレームで初めて検出された人物と判断することができる。
図12のフローチャートを用いて、本実施例の第1解析部110の処理を説明する。図12のフローチャートは、図3のフローチャートと比べて、図3のフローチャートのステップS112の内容が異なる。
つまり、本実施例の第1解析部110は、第1解析処理としての人物検出処理を実行し、ステップS111で取得した画像から人物を検出する(S112A)。第1解析部110は、ステップS111Aで検出した人物が、該当する映像フレームで初めて検出された人物であるか判定する(S112B)。
初めて検出された人物が存在する場合(S112B:YES)、本実施例の第1解析部110は、その初出現の人物の特徴量を解析する処理(第2解析処理)を実行する(S112C)。
そして、第1解析部110は、ステップS112Aで検出した人物の情報とステップS112Cで検出した特徴量とを一時記憶部130へ記憶させる(S113)。それらの情報は、データベース310に格納されたり、解析結果出力部140から外部へ出力されたりする(S114)。
図示は省略するが、本実施例の第2解析部120は、ステップS112Cで既に分析された初出現の人物に対する特徴量検出処理を重複して実行することの無いように、図4に示す第2解析処理のステップS123を実行する。
このように構成される本実施例も第1実施例と同様の作用効果を奏する。さらに本実施例では、第2解析処理の負荷が増大した場合であっても、第1解析処理で検出された全ての人物に対して、第2解析処理の実行を保証することができる。これにより、映像監視システムの信頼性を向上することができる。本実施例は第2〜第4実施例のいずれとも組み合わせることができる。
図13を用いて第6実施例を説明する。本実施例では、複数のカメラ2のうちいずれか所定のカメラに割り当てるCPUリソースを動的に制御できるようにした。
図13(1)は、通常時における、カメラ2とスレッドの関係を示す。通常時では、各カメラ2に対して1つずつスレッドが割り当てられているものとする。
図13(2)は、重点監視対象として選択された1番目のカメラ2(#1)に複数のスレッド(#1,#2)を割当て、その他のカメラ2(#2,#3,#4)に対して残りのスレッド(#3,#4)を割り当てた様子を示す。
図13(3)は、1番目のカメラ2(#1)の解析処理のタイムチャートを示す。1番目のカメラ2(#1)に割り当てられた第1のスレッド(#1)では、第1解析処理A1と第2解析処理の一部B1−1が実行される。1番目のカメラ2(#1)に割り当てられた第2のスレッド(#2)では、第2解析処理の残りの部分B1−2が実行される。
第2解析処理の一部B1−1の処理時間tb1−1と、残りの部分B1−2の処理時間tb1−2とは、第1解析処理の結果などでそれぞれ異なり、一定ではない。
本実施例では、重点監視対象として選択したカメラ2に複数のスレッドを割り当てることができるため、重点監視対象として選択したカメラ2からの画像に対して、他のカメラの画像で行われるよりも詳しく第2解析処理を行うことができる。例えば、処理B1−1を共通の第2解析処理とし、処理B1−2を特別な第2解析処理とすれば、重点監視対象として選択したカメラ2の画像は詳細に解析することができ、他のカメラ2の画像には通常通りの第2解析処理を行うことができる。
このように構成される本実施例も第1実施例と同様の作用効果を奏する。さらに本実施例では、複数のカメラのうちいずれか所定のカメラに割り当てるCPUリソース量を制御することができるため、所定のカメラからの画像を重点的に解析等することもでき、使い勝手が向上する。
なお、本発明は前記各実施例に限定されるものではなく、様々な変形例が含まれる。例えば、各実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上述の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実場合には殆どすべての構成が相互に接続されていると考えてもよい。
1:映像解析サーバ1、2:カメラ、3:データベースサーバ、4:端末、110:第1解析部、120:第2解析部、130:一時記憶部、140:解析結果出力部、150:解析対象選択部、160:タイミング調停部、310:データベース、410:実時間解析結果表示部、420:解析結果検索部

Claims (15)

  1. 複数のカメラを備える映像監視システムにおいて、
    前記各カメラから画像を取得して所定の第1処理を実行する第1処理部と、
    前記第1処理部の処理結果と前記画像とに基づいて所定の第2処理を実行する第2処理部と、
    前記第1処理部を所定の周期で実行させるべく、前記第1処理部の実行時期と前記第2処理部の実行時期とを調停する実行時期調停部と、
    を備える映像監視システム。
  2. 前記第1処理部の実行には第1優先度が設定されており、
    前記第2処理部の実行には前記第1優先度よりも低い第2優先度が設定されており、
    前記実行時期調停部は、前記第1優先度および前記第2優先度に応じて、前記第1処理部の実行時期と前記第2処理部の実行時期とを調停する、
    請求項1に記載の映像監視システム。
  3. 前記実行時期調停部は、前記第1処理部の実行されていない時間に前記第2処理部を実行させるべく、前記第1処理部の実行時期と前記第2処理部の実行時期を調停する、
    請求項1に記載の映像監視システム。
  4. 前記実行時期調停部は、前記第2処理部の実行が完了する前に前記第1処理部の実行時期が到来する場合、前記第2処理部の実行を中断して前記第1処理部を実行させ、前記第1処理部の実行完了後に、前記中断した前記第2処理部の実行を再開させる、
    請求項3に記載の映像監視システム。
  5. 前記第1処理部は、一定時間内に実行完了し、
    前記第2処理部は、実行完了に要する時間が前記第1処理部の処理結果に依存し、定まらない、
    請求項1〜4のいずれか一項に記載の映像監視システム。
  6. 前記第1処理部の処理結果と対応する画像の組のうち、前記第2処理部の処理対象とする組を選択する処理対象選択部をさらに備える
    請求項5に記載の映像監視システム。
  7. 前記処理対象選択部は、前記第1処理部の処理結果と対応する画像の組のうち、最新の組を前記第2処理部の処理対象として選択する、
    請求項6に記載の映像監視システム。
  8. 前記第1処理は、前記カメラの画像からオブジェクトを検出する処理であり、
    前記第2処理は、前記第1処理により検出されたオブジェクトの特徴を前記カメラの画像から抽出する処理である、
    請求項5に記載の映像監視システム。
  9. 前記処理対象選択部は、前記第2処理部に割り当てられる計算リソースに上限値を設定する、
    請求項6に記載の映像監視システム。
  10. 前記処理対象選択部は、前記第2処理部の実行頻度に上限値を設定する、
    請求項6に記載の映像監視システム。
  11. 前記処理対象選択部は、前記第2処理部が前記カメラの画像を処理する頻度を表す重み値を前記カメラごとに指定する、
    請求項6に記載の映像監視システム。
  12. 前記第1処理は、前記カメラの画像から検出したオブジェクトが初めて出現したオブジェクトである場合、その初出現したオブジェクトの特徴を前記第2処理に代わって前記カメラの画像から抽出し、
    前記第2処理は、前記第1処理により既に検出されているオブジェクトの特徴を前記カメラの画像から抽出する処理である、
    請求項5に記載の映像監視システム。
  13. 前記第1処理部は、前記カメラと一対一で対応するように複数設けられており、
    前記第2処理部の数は、前記カメラの数以下に設定することができる、
    請求項1〜5のいずれか一項に記載の映像監視システム。
  14. 複数のカメラを備える映像監視システムの制御方法であって、
    前記映像監視システムは、前記各カメラから所定の周期で画像を取得して所定の第1処理を実行する第1処理部と、前記第1処理部の処理結果と前記画像とに基づいて所定の第2処理を実行する第2処理部とを備えており、
    前記所定の周期が到来すると、前記第2処理部が実行中であるか判定し、前記第2処理部が実行中の場合は前記第2処理部の実行を中断して前記第1処理部を実行し、前記第2処理部が実行中ではない場合は前記第1処理部を実行し、
    前記第1処理部による処理結果と対応する画像との組を記憶領域へ保存し、
    前記第1処理部の実行が終了して計算機リソースに空きが発生すると、実行すべき第2処理部または前記中断された所定の第2処理部がある場合に、前記記憶領域に保存された前記組のうち所定の組を選択し、
    前記所定の第2処理部を起動して、前記選択した組が含む前記第1処理部の処理結果および対応する画像に基づいて前記第2処理を実行する、
    映像監視システムの制御方法。
  15. 複数のカメラからの画像を監視する映像監視装置において、
    前記各カメラから画像を取得して所定の第1処理を実行する第1処理部と、
    前記第1処理部の処理結果と前記画像とに基づいて所定の第2処理を実行する第2処理部と、
    前記第1処理部を所定の周期で実行させるべく、前記第1処理部の実行時期と前記第2処理部の実行時期とを調停する実行時期調停部と、
    を備える映像監視装置。
JP2016233840A 2016-12-01 2016-12-01 映像監視システム、映像監視システムの制御方法および映像監視装置 Active JP6692736B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016233840A JP6692736B2 (ja) 2016-12-01 2016-12-01 映像監視システム、映像監視システムの制御方法および映像監視装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016233840A JP6692736B2 (ja) 2016-12-01 2016-12-01 映像監視システム、映像監視システムの制御方法および映像監視装置

Publications (2)

Publication Number Publication Date
JP2018093324A true JP2018093324A (ja) 2018-06-14
JP6692736B2 JP6692736B2 (ja) 2020-05-13

Family

ID=62566501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016233840A Active JP6692736B2 (ja) 2016-12-01 2016-12-01 映像監視システム、映像監視システムの制御方法および映像監視装置

Country Status (1)

Country Link
JP (1) JP6692736B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6628948B1 (ja) * 2019-01-30 2020-01-15 三菱電機株式会社 モータ駆動装置
WO2020095730A1 (ja) * 2018-11-08 2020-05-14 三菱電機株式会社 情報解析装置及び情報解析方法
CN115861905A (zh) * 2023-03-01 2023-03-28 青岛警友大象科技有限公司 一种基于物联网的酒店管理系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001169275A (ja) * 1999-12-08 2001-06-22 Nagoya Electric Works Co Ltd マルチタスクスケジューリングによる画像処理の統合方法
JP2004227160A (ja) * 2003-01-21 2004-08-12 Minolta Co Ltd 侵入物体検出装置
JP2009171296A (ja) * 2008-01-17 2009-07-30 Hitachi Ltd 映像ネットワークシステム及び映像データ管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001169275A (ja) * 1999-12-08 2001-06-22 Nagoya Electric Works Co Ltd マルチタスクスケジューリングによる画像処理の統合方法
JP2004227160A (ja) * 2003-01-21 2004-08-12 Minolta Co Ltd 侵入物体検出装置
JP2009171296A (ja) * 2008-01-17 2009-07-30 Hitachi Ltd 映像ネットワークシステム及び映像データ管理方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020095730A1 (ja) * 2018-11-08 2020-05-14 三菱電機株式会社 情報解析装置及び情報解析方法
JPWO2020095730A1 (ja) * 2018-11-08 2021-09-02 三菱電機株式会社 情報解析装置及び情報解析方法
JP6628948B1 (ja) * 2019-01-30 2020-01-15 三菱電機株式会社 モータ駆動装置
WO2020157865A1 (ja) * 2019-01-30 2020-08-06 三菱電機株式会社 モータ駆動装置
CN115861905A (zh) * 2023-03-01 2023-03-28 青岛警友大象科技有限公司 一种基于物联网的酒店管理系统

Also Published As

Publication number Publication date
JP6692736B2 (ja) 2020-05-13

Similar Documents

Publication Publication Date Title
US10860888B2 (en) Detecting objects in images
US10841236B1 (en) Distributed computer task management of interrelated network computing tasks
US10607062B2 (en) Grouping and ranking images based on facial recognition data
JP6362674B2 (ja) 映像監視支援装置、映像監視支援方法、およびプログラム
US10650340B2 (en) Tracking and/or analyzing facility-related activities
CN108062499B (zh) 一种人脸识别的方法、系统及平台
US20160275642A1 (en) Video analysis and post processing of multiple video streams
US10339420B1 (en) Entity recognition using multiple data streams to supplement missing information associated with an entity
US9658883B2 (en) Method and apparatus for controlling job schedule
TWI679886B (zh) 一種影像分析系統與方法
EP1733560A1 (en) Pipeline architecture for analyzing multiple video streams
JP6692736B2 (ja) 映像監視システム、映像監視システムの制御方法および映像監視装置
US9851873B2 (en) Electronic album creating apparatus and method of producing electronic album
JP2017520034A (ja) イメージの自動化された選択的なアップロード
WO2013165646A2 (en) User input processing with eye tracking
CN110765288B (zh) 一种图像信息同步方法、装置、系统及存储介质
US20190220655A1 (en) Overhead people detection and tracking system and method
US20180276471A1 (en) Information processing device calculating statistical information
US9977964B2 (en) Image processing device, image processing method and recording medium
CN108228709A (zh) 数据存储方法和系统、电子设备、程序和介质
US11509602B2 (en) Resource management server, control method, and non-transitory storage medium
CN106663191A (zh) 用于对像素进行分类的系统和方法
JPWO2016006090A1 (ja) 電子機器、方法及びプログラム
Naqvi et al. To cloud or not to cloud: a context-aware deployment perspective of augmented reality mobile applications
US9699501B2 (en) Information processing device and method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200312

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200331

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200415

R150 Certificate of patent or registration of utility model

Ref document number: 6692736

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150