(57)【要約】【課題】参照データの管理を行うと共に、処理結果に発生するノイズを回避することができる物体検出装置、物体検出装置の制御方法及び制御プログラムを提供する。【解決手段】管理テーブルを有し、ネットワークカメラ１０から管理テーブルに従って画像データを取得する画像処理サーバ１３と、ネットワークカメラ１０の台数分の参照データを保持するデータ保持部２８と、１台のネットワークカメラ１０から取得した画像データに対し、該当する参照データをデータ保持部２８から読み出して、画像データから物体を検出すると共に、管理テーブルが変更された場合には、変更されたネットワークカメラ１０から取得した画像データを参照データとしてデータ保持部２８で更新する物体検出部２７とを有する画像処理アクセラレータ１４とからなる。【選択図】図２
2016206696.tif 000002
【特許請求の範囲】
【請求項１】
１台以上のネットワークカメラから画像データを取得する１台以上のサーバコンピュータと、前記サーバコンピュータの各々に接続され、前記画像データから物体を検出するアクセラレータ装置とからなる物体検出装置において、
前記サーバコンピュータは、前記ネットワークカメラの取得順番が登録された管理テーブルを有し、前記管理テーブルに従って選択した１台の前記ネットワークカメラから画像データを取得し、
前記アクセラレータ装置は、データ保持部と物体検出部とを有し、
前記データ保持部は、前記ネットワークカメラの台数分の参照データを保持し、
前記物体検出部は、
前記選択した１台の前記ネットワークカメラから取得した画像データに対し、該当する前記ネットワークカメラの前記参照データを前記データ保持部から読み出し、当該参照データを参照して、前記画像データから物体を検出する物体検出処理を行うと共に、
前記管理テーブルに登録された前記ネットワークカメラが変更された場合には、変更された前記ネットワークカメラから取得した画像データを、該当する前記ネットワークカメラの前記参照データとして前記データ保持部で更新するリフレッシュ処理を行う
ことを特徴とする物体検出装置。
【請求項２】
請求項１に記載の物体検出装置において、
前記管理テーブルは、前記取得順番に従って登録された前記ネットワークカメラの識別番号を有し、
前記データ保持部は、前記ネットワークカメラの前記識別番号毎に前記参照データを保持し、
前記サーバコンピュータは、前記取得順番に従って、該当する前記識別番号の前記ネットワークカメラを１台選択し、選択した前記ネットワークカメラから画像データを取得し、
前記アクセラレータ装置は、該当する前記識別番号の前記ネットワークカメラの前記参照データを前記データ保持部から読み出し、当該参照データを参照して、選択した前記ネットワークカメラの前記画像データから物体を検出する
ことを特徴とする物体検出装置。
【請求項３】
請求項１又は請求項２に記載の物体検出装置において、
前記管理テーブルは、登録されている前記ネットワークカメラの変更の有無を示すフラグを有し、
前記サーバコンピュータは、登録されている前記ネットワークカメラに変更がない場合に前記フラグを０とし、登録されている前記ネットワークカメラに変更がある場合に前記フラグを１とすると共に、前記リフレッシュ処理の完了後に前記フラグを０にし、
前記アクセラレータ装置は、前記フラグが０のときに前記物体検出処理を行い、前記フラグが１のときに前記リフレッシュ処理を行う
ことを特徴とする物体検出装置。
【請求項４】
１台以上のネットワークカメラから画像データを取得する１台以上のサーバコンピュータと、前記サーバコンピュータの各々に接続され、前記画像データから物体を検出するアクセラレータ装置とからなる物体検出装置の制御方法において、
前記ネットワークカメラの取得順番が登録された管理テーブルに従って選択した１台の前記ネットワークカメラから画像データを取得し、
前記選択した１台の前記ネットワークカメラから取得した画像データに対し、前記ネットワークカメラの台数分の参照データを保持するデータ保持部から、該当する前記ネットワークカメラの前記参照データを読み出し、当該参照データを参照して、前記画像データから物体を検出する物体検出処理を行うと共に、
前記管理テーブルに登録された前記ネットワークカメラが変更された場合には、変更された前記ネットワークカメラから取得した画像データを、該当する前記ネットワークカメラの前記参照データとして前記データ保持部で更新するリフレッシュ処理を行う
ことを特徴とする物体検出装置の制御方法。
【請求項５】
請求項４に記載の物体検出装置の制御方法において、
前記取得順番に従って、前記ネットワークカメラの識別番号を前記管理テーブルに登録し、
前記ネットワークカメラの前記識別番号毎に前記参照データを前記データ保持部に保持し、
前記取得順番に従って、該当する前記識別番号の前記ネットワークカメラを１台選択し、選択した前記ネットワークカメラから画像データを取得し、
該当する前記識別番号の前記ネットワークカメラの前記参照データを前記データ保持部から読み出し、当該参照データを参照して、選択した前記ネットワークカメラの前記画像データから物体を検出する
ことを特徴とする物体検出装置の制御方法。
【請求項６】
請求項４又は請求項５に記載の物体検出装置の制御方法において、
登録されている前記ネットワークカメラの変更の有無を示すフラグを前記管理テーブルに設け、
登録されている前記ネットワークカメラに変更がない場合に前記フラグを０とし、登録されている前記ネットワークカメラに変更がある場合に前記フラグを１とし、
前記フラグが０のときに前記物体検出処理を行い、前記フラグが１のときに前記リフレッシュ処理を行い、
前記リフレッシュ処理の完了後に前記フラグを０にする
ことを特徴とする物体検出装置の制御方法。
【請求項７】
請求項４から請求項６のいずれか１つに記載の物体検出装置の制御方法を前記サーバコンピュータ及び前記アクセラレータ装置に実行させる
ことを特徴とする物体検出装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データから物体検出処理を行う物体検出装置、物体検出装置の制御方法及び制御プログラムに関する。
【背景技術】
【０００２】
近年、与えられたデータを高速で処理することができ、かつ、短時間で大量の処理要求をこなすことができるデータ処理システムに対する要望が益々高まっている。
【０００３】
例えば、ネットワーク上に存在するデータを解析する情報通信サービスでは、取り扱うデータ量の増加に伴って、サーバあるいはデータセンタ側のデータ処理システムにおける処理能力の増強が求められている。このような要求に対し、一般的なデータセンタにおける既存システムでは、サーバコンピュータの台数を増やし、複数のサーバコンピュータに対する負荷を分散することで、負荷が集中するのを防ぐ方法がとられている（非特許文献１）。又、この負荷分散を最適に行うためのアルゴリズムの検討が行われている。
【０００４】
しかしながら、一般的なサーバコンピュータの処理方法であるソフトウェアを使った処理は、ハードウェアを使った処理に比べ低速であるといった問題がある。又、処理量の増大に伴って設置面積や消費電力の増加が問題となる。従って、今後益々増大する処理量に対し、このような分散処理のみで対処するのは困難となっている。
【０００５】
そこで、処理量の増加を抑える方法として、ハードウェア構成によるアクセラレータをデータ処理システムに接続し、入力データのフィルタリング処理をアクセラレータで行うことで、データ処理システムの処理負荷を低減する方法がある。高速に画像処理が行えるアクセラレータとして非特許文献２に示されるようなものがある。このようなアクセラレータを用いて、解析に用いるデータを事前にフィルタリングすることで、サーバあるいはデータセンタ側のデータ処理システムで解析する情報量を減らして、処理負荷を低減することができる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】松岡  聡、「アクセラレータ，再び  アクセラレータ技術の影と光」、情報処理学会誌、Vol. 50, No. 2, 2009年2月, pp. 95-99
【非特許文献２】内苑  孝俊、他５名、「同期シフトデータ転送による２次元アレイ型トラッキングハードウェア」、電子情報通信学会技術研究報告、Vol. 111, No.397, 2012年1月18日, pp. 19-24
【非特許文献３】小田  哲、他３名、「Jubatus : Big Dataのリアルタイム処理を可能にする分散処理技術」、電子情報通信学会技術研究報告、Vol. 111, No.409， 2012年1月19日，pp. 35-40
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ネットワークカメラから得た画像データに対して、その画像データに存在する物体の詳細な情報を機械学習手法によって解析するデータ処理システムとして、非特許文献３に示されるような分散処理フレームワークを用いたソフトウェア処理によって処理を行うものがある。この構成による画像データの解析では画像全体が解析対象となるため、不必要な情報に対してまで処理を行わなければならない。そのため、低フレームレート処理かつネットワークカメラ１台につき１台以上のサーバコンピュータが必要になる。
【０００８】
これに対して、サーバコンピュータに物体検出処理を行うアクセラレータ装置を組み合わせることで、複数台のネットワークカメラから取得した画像データに対して処理対象とする物体領域を抽出することができる。
【０００９】
しかしながら、複数台のカメラを扱う場合、物体検出処理を行う際に参照するデータが複数存在することになるため、参照データの管理について課題がある。又、ネットワークカメラを切替えた（変更した）場合、古い参照データを処理に用いることで処理結果にノイズが発生する課題がある。
【００１０】
本発明は上記課題に鑑みなされたもので、参照データの管理を行うと共に、処理結果に発生するノイズを回避することができる物体検出装置、物体検出装置の制御方法及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決する第１の発明に係る物体検出装置は、
１台以上のネットワークカメラから画像データを取得する１台以上のサーバコンピュータと、前記サーバコンピュータの各々に接続され、前記画像データから物体を検出するアクセラレータ装置とからなる物体検出装置において、
前記サーバコンピュータは、前記ネットワークカメラの取得順番が登録された管理テーブルを有し、前記管理テーブルに従って選択した１台の前記ネットワークカメラから画像データを取得し、
前記アクセラレータ装置は、データ保持部と物体検出部とを有し、
前記データ保持部は、前記ネットワークカメラの台数分の参照データを保持し、
前記物体検出部は、
前記選択した１台の前記ネットワークカメラから取得した画像データに対し、該当する前記ネットワークカメラの前記参照データを前記データ保持部から読み出し、当該参照データを参照して、前記画像データから物体を検出する物体検出処理を行うと共に、
前記管理テーブルに登録された前記ネットワークカメラが変更された場合には、変更された前記ネットワークカメラから取得した画像データを、該当する前記ネットワークカメラの前記参照データとして前記データ保持部で更新するリフレッシュ処理を行う
ことを特徴とする。
【００１２】
上記課題を解決する第２の発明に係る物体検出装置は、
上記第１の発明に記載の物体検出装置ムにおいて、
前記管理テーブルは、前記取得順番に従って登録された前記ネットワークカメラの識別番号を有し、
前記データ保持部は、前記ネットワークカメラの前記識別番号毎に前記参照データを保持し、
前記サーバコンピュータは、前記取得順番に従って、該当する前記識別番号の前記ネットワークカメラを１台選択し、選択した前記ネットワークカメラから画像データを取得し、
前記アクセラレータ装置は、該当する前記識別番号の前記ネットワークカメラの前記参照データを前記データ保持部から読み出し、当該参照データを参照して、選択した前記ネットワークカメラの前記画像データから物体を検出する
ことを特徴とする。
【００１３】
上記課題を解決する第３の発明に係る物体検出装置は、
上記第１又は第２の発明に記載の物体検出装置において、
前記管理テーブルは、登録されている前記ネットワークカメラの変更の有無を示すフラグを有し、
前記サーバコンピュータは、登録されている前記ネットワークカメラに変更がない場合に前記フラグを０とし、登録されている前記ネットワークカメラに変更がある場合に前記フラグを１とすると共に、前記リフレッシュ処理の完了後に前記フラグを０にし、
前記アクセラレータ装置は、前記フラグが０のときに前記物体検出処理を行い、前記フラグが１のときに前記リフレッシュ処理を行う
ことを特徴とする。
【００１４】
上記課題を解決する第４の発明に係る物体検出装置の制御方法は、
１台以上のネットワークカメラから画像データを取得する１台以上のサーバコンピュータと、前記サーバコンピュータの各々に接続され、前記画像データから物体を検出するアクセラレータ装置とからなる物体検出装置の制御方法において、
前記ネットワークカメラの取得順番が登録された管理テーブルに従って選択した１台の前記ネットワークカメラから画像データを取得し、
前記選択した１台の前記ネットワークカメラから取得した画像データに対し、前記ネットワークカメラの台数分の参照データを保持するデータ保持部から、該当する前記ネットワークカメラの前記参照データを読み出し、当該参照データを参照して、前記画像データから物体を検出する物体検出処理を行うと共に、
前記管理テーブルに登録された前記ネットワークカメラが変更された場合には、変更された前記ネットワークカメラから取得した画像データを、該当する前記ネットワークカメラの前記参照データとして前記データ保持部で更新するリフレッシュ処理を行う
ことを特徴とする。
【００１５】
上記課題を解決する第５の発明に係る物体検出装置の制御方法は、
上記第４の発明に記載の物体検出装置の制御方法において、
前記取得順番に従って、前記ネットワークカメラの識別番号を前記管理テーブルに登録し、
前記ネットワークカメラの前記識別番号毎に前記参照データを前記データ保持部に保持し、
前記取得順番に従って、該当する前記識別番号の前記ネットワークカメラを１台選択し、選択した前記ネットワークカメラから画像データを取得し、
該当する前記識別番号の前記ネットワークカメラの前記参照データを前記データ保持部から読み出し、当該参照データを参照して、選択した前記ネットワークカメラの前記画像データから物体を検出する
ことを特徴とする。
【００１６】
上記課題を解決する第６の発明に係る物体検出装置の制御方法は、
上記第４又は第５の発明に記載の物体検出装置の制御方法において、
登録されている前記ネットワークカメラの変更の有無を示すフラグを前記管理テーブルに設け、
登録されている前記ネットワークカメラに変更がない場合に前記フラグを０とし、登録されている前記ネットワークカメラに変更がある場合に前記フラグを１とし、
前記フラグが０のときに前記物体検出処理を行い、前記フラグが１のときに前記リフレッシュ処理を行い、
前記リフレッシュ処理の完了後に前記フラグを０にする
ことを特徴とする。
【００１７】
上記課題を解決する第７の発明に係る物体検出装置の制御プログラムは、
上記第４〜第６のいずれか１つの発明に記載の物体検出装置の制御方法を前記サーバコンピュータ及び前記アクセラレータ装置に実行させる
ことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、ネットワークカメラの取得順番が登録された管理テーブルと、ネットワークカメラの台数分の参照データを保持するデータ保持部とを有し、管理テーブルに従って選択した１台のネットワークカメラから画像データを取得し、取得した画像データに対し、該当するネットワークカメラの参照データをデータ保持部から読み出し、当該参照データを参照して、物体の検出を行っているので、複数の参照データの管理を適切に行うと共に、１台以上のネットワークカメラに対し、常に適切な参照データを用いて、物体検出処理を行うことができる。
【００１９】
又、本発明によれば、管理テーブルに登録されたネットワークカメラが変更された場合には、変更されたネットワークカメラから取得した画像データを、最新の参照データとしてデータ保持部で更新するので、常に最新の参照データに基づいて、物体検出処理を行うことができ、処理結果に発生するノイズを回避することができる。
【００２０】
そして、ネットワークカメラからの画像データ取得を行うサーバコンピュータと物体検出を行うアクセラレータ装置とを組み合わせることにより、１台以上のネットワークカメラから取得した画像データに対してフィルタリングを行うことができる。
【図面の簡単な説明】
【００２１】
【図１】本発明に係る物体検出装置を有する画像処理装置の実施形態の一例を示す概略構成図である。
【図２】図１に示した物体検出装置の構成を示すブロック図である。
【図３】図２に示した物体検出装置における処理手順を示すフローチャートである。
【図４】複数のカメラに対して処理を行う際の管理方法を説明する図である。
【図５】画像処理アクセラレータでの物体検出処理を説明するシーケンスチャートである。
【図６】画像処理アクセラレータでのリフレッシュ処理を説明するシーケンスチャートである。
【図７】任意の参照データを呼び出す方法を説明する図である。
【図８】カメラを切替えた次周期の管理テーブルを示す図である。
【図９】カメラを切替えた次次周期の管理テーブルを示す図である。
【発明を実施するための形態】
【００２２】
以下、本発明に係る物体検出装置、物体検出装置の制御方法及び制御プログラムの好ましい実施の形態について、図面を参照して説明する。
【００２３】
本実施形態において、画像処理装置は、図１に示すように、１台以上のネットワークカメラ１０と、ネットワーク１１と、１台以上のフィルタリングシステム１２（物体検出装置）と、１台以上のデータ解析サーバ１５と、から構成される。詳細は図２を参照して説明するが、フィルタリングシステム１２は、画像処理サーバ１３と、画像処理アクセラレータ１４と、から構成される。これらのネットワークカメラ１０、フィルタリングシステム１２及びデータ解析サーバ１５は、ネットワーク１１を介して接続されている。
【００２４】
そして、本実施形態では、ネットワークカメラ１０からネットワーク１１を通してフィルタリングシステム１２が画像データを取得し、画像データ内に存在する物体検出を行い、物体の情報のみをデータ解析サーバ１５に送信する。データ解析サーバ１５では受け取った物体情報をもとにデータ解析を行っている。このような構成により、画像データから物体情報を抽出する画像処理装置として機能している。
【００２５】
画像処理サーバ１３は一般的なサーバコンピュータである。画像処理サーバ１３は、図２に示すように、１台以上のネットワークカメラ１０からネットワーク１１を介して画像データを取得する画像取得部２０と、画像データや計算過程で発生する各種データを保持するデータ保持部２１と、圧縮された画像データを伸張するデータデコード部２２と、画像処理サーバ１３と画像処理アクセラレータ１４の間の通信用インタフェースである通信Ｉ／Ｆ部２３と、画像処理アクセラレータ１４で検出した物体の座標を計算する物体座標計算部２９と、画像処理サーバ１３とデータ解析サーバ１５の間の通信用インタフェースである通信Ｉ／Ｆ部２１０と、画像処理サーバ１３の各ブロックを制御するソフトウェア制御部２１２と、画像処理アクセラレータ１４の動作を制御するハードウェア制御部２１３と、を備えている。
【００２６】
画像処理サーバ１３と画像処理アクセラレータ１４の間の通信は通信路２４を通して行われる。具体的な通信路の例として、“ＰＣＩ  Ｅｘｐｒｅｓｓ”（登録商標）や“Ｅｔｈｅｒｎｅｔ”（登録商標）などを用いることができる。
【００２７】
なお、データデコード部２２は、画像データが圧縮されていなければ、デコードしなくても良い。又、画像処理サーバ１３ではなく、後述する画像処理アクセラレータ１４にデータデコード部を設け、画像処理アクセラレータ１４で画像データをデコードするようにしても良い。
【００２８】
又、画像処理アクセラレータ１４はアクセラレータ装置であり、図２に示すように、再構成可能デバイス２１４を用いることでハードウェア処理を実現している。再構成可能デバイス２１４は、再構成可能なＬＳＩ（Large-Scale Integrated circuit）、ＦＰＧＡ（Field Programmable Gate Array）などによって構成することができる。再構成可能デバイス２１４内で実行される処理は、ＦＰＧＡ内に実装する単位処理回路、即ち、個々の処理回路によって行われる処理であり、既存のＩＰ(Intellectual Property)コアや、事前に作成した専用の論理回路ブロックや、メモリ回路ブロックなどとして構成することができる。又、画像処理アクセラレータ１４は、１つ以上のＦＰＧＡを搭載した１枚のボード（ハードウェア基板）として構成することができる。
【００２９】
このような画像処理アクセラレータ１４は、画像処理サーバ１３と画像処理アクセラレータ１４の間の通信用インタフェースである通信Ｉ／Ｆ部２５と、ハードウェア制御部２１３の命令に基づき各機能ブロックを制御するＩＰ制御部２６と、画像データに存在する物体を検出する物体検出部２７と、入出力時や計算で生じたデータを保持するデータ保持部２８と、を備えている。物体検出処理に用いる参照データも、このデータ保持部２８にネットワークカメラ１０の台数分保存されている。
【００３０】
物体検出部２７では、非特許文献２に示されるような機構を用いて物体検出を行うことで、高速に処理を行うことが可能である。検出した結果は、画像処理サーバ１３において座標情報へと変換される。以上により高速にフィルタリング処理を行うことができる。
【００３１】
物体検出の方法としては背景差分を用いた方法などがある。このような方法では、入力された画像データとデータ保持部２８に保存されている参照データとを用いて物体検出処理が行われる。参照データとしては各時刻の画像データを基に計算された背景画像の特徴量データなどを用いる。本発明では、複数のネットワークカメラ１０からの画像データを処理するため、ネットワークカメラ１０を切り替えた際に参照データが対応しない可能性がある。そこで、物体検出部２７では後述するリフレッシュ処理も行う。これにより参照データを最新のデータに更新し、常に正しい処理を行うことが可能である。
【００３２】
このようにして、フィルタリングシステム１２は、１台以上のネットワークカメラ１０からネットワーク１１を介して画像データを取得し、物体検出処理を行った後、物体情報を画像処理サーバ１３の通信Ｉ／Ｆ部２１０から指定したデータ解析サーバ１５の通信Ｉ／Ｆ部２１１に送信する。
【００３３】
図３は、フィルタリングシステム１２の処理手順を示すフローチャートである。このフィルタリングシステム１２での動作は、まず、処理回数ｋ＝１とし、ステップ３０において、後述する管理テーブル４０に従って選択したネットワークカメラ１０からフレーム（画像データ）を画像取得部２０が取得する。取得した画像データはステップ３１においてデータ保持部２１に保存する。保存した画像データはステップ３２においてデータデコード部２２でデコードされ、ステップ３３においてデコード画像を画像処理サーバ１３から画像処理アクセラレータ１４内のデータ保持部２８に通信Ｉ／Ｆ部２３、通信路２４、通信Ｉ／Ｆ部２５を介して送信する。
【００３４】
次に、ステップ３４において、データ保持部２８に保持された該当する参照データを用いて物体検出部２７で物体検出処理を行い、その結果はデータ保持部２８に格納される。ステップ３５において、物体検出処理を行った処理回数ｋが規定値（Ｎ回）であるかを判定し、一致していれば、ｋ＝１とした上で、ステップ３６において、データ保持部２８に保持された計算結果を画像処理サーバ１３に通信Ｉ／Ｆ部２５、通信路２４、通信Ｉ／Ｆ部２３を介して送信する。一致していなければ、処理回数ｋをインクリメント（ｋ＝ｋ＋１）した上でステップ３０に戻り、ステップ３０〜ステップ３４の処理を繰り返す。
【００３５】
画像処理サーバ１３に送られた結果はステップ３７においてデータ保持部２１に保存される。そして、ステップ３８において、それぞれの結果に対し物体座標の計算を物体座標計算部２９で行い、ステップ３９でデータ保持部２１に物体座標を保存する。次に、ステップ３１０において、得られた物体座標を基に物体情報のみを特定のデータ解析サーバ１５に向けて通信Ｉ／Ｆ部２１０を介して送信する。その後、フィルタリングシステム１２の処理継続判定をステップ３１１で行い、外部より停止命令が来ない限りステップ３０に戻り、上記の動作を繰り返す。
【００３６】
図４は、１台以上のネットワークカメラ１０に対してフィルタリング処理を行う際の管理方法を説明する図である。フィルタリングシステム１２は、ソフトウェア制御部２１２に格納されている管理テーブル４０によって１台以上のネットワークカメラ１０に対するフィルタリング処理を管理する。管理テーブル４０は、画像の取得順番を表すフレーム番号４１と、画像データを取得するネットワークカメラ１０を一意に識別する識別番号となるカメラＩＤ４２と、自身の処理順番が回ってきた際に通常処理（物体検出処理）を行うかリフレッシュ処理を行うかを判定するためのＲＳＴ（リセット）フラグ４３と、を有する。
【００３７】
フィルタリングシステム１２の動作は管理テーブル４０を基に繰り返し行われる。ＲＳＴフラグ４３は、フレーム番号４１に対応するカメラＩＤ４２を変えた際、即ち、画像を取得するネットワークカメラ１０を切替えた際に「１」になる。このＲＳＴフラグ４３に従ってリフレッシュ処理を行うことで、物体検出処理を行う際に参照する参照データを、切り替え後のネットワークカメラ１０から得たデータに更新することができ、ノイズの発生を回避することができる。
【００３８】
つまり、フレーム番号４１に対するカメラＩＤ４２は、ネットワークカメラ１０の取得順番を登録することと同義であり、又、ＲＳＴフラグ４３は、登録されているネットワークカメラ１０の変更の有無を示すことと同義である。そして、登録されているネットワークカメラ１０に変更がない場合にＲＳＴフラグ４３を「０」とし、このときに物体検出処理が行われ、登録されているネットワークカメラ１０に変更がある場合にＲＳＴフラグ４３を「１」とし、このときにリフレッシュ処理が行われる。なお、カメラＩＤ４２に「０」が設定されているときは、これらの処理をスキップする。
【００３９】
なお、図４に示した管理テーブル４０においては、フレーム番号４１が「２」のカメラＩＤ４２が「２」に変わったので、ＲＳＴフラグ４３が「１」となって、リフレッシュ処理を行うことを示しており、フレーム番号４１が「Ｎ−１」、「Ｎ」のカメラＩＤ４２が共に「０」であるので、処理をスキップすることを示している。
【００４０】
図５は、フィルタリングシステム１２での物体検出処理を説明するシーケンスチャートである。まず、管理テーブル４０の取得順番に従って選択したネットワークカメラ１０から画像データを画像取得部２０が取得すると、ソフトウェア制御部２１２にＲｅａｄｙ信号を送る。次に、ソフトウェア制御部２１２はハードウェア制御部２１３に対して、Ｒｅａｄｙ信号と、処理対象となるネットワークカメラ１０のカメラＩＤ４２の情報と、ＲＳＴフラグ４３の情報と、を送信する。その後、ハードウェア制御部２１３は画像処理アクセラレータ１４内のＩＰ制御部２６に対して、カメラＩＤ４２の情報（SetCamID=j）と、ＲＳＴフラグ４３の情報（RstFlag=0）と、を送信する。
【００４１】
ＩＰ制御部２６は受信した情報を基に通常処理（物体検出処理）の設定を物体検出部２７に命令し、参照データ読出しをデータ保持部２８に命令する。処理対象となるネットワークカメラ１０に該当する参照データの読出しが完了すると、ＩＰ制御部２６からハードウェア制御部２１３にＲｅａｄｙ信号が送信され、それを受けてハードウェア制御部２１３はソフトウェア制御部２１２にＲｅａｄｙ信号を送信する。その時点で、データ保持部２８には処理対象の画像データが保存されており、ソフトウェア制御部２１２はデータ保持部２１に画像読出し命令を送り、データ保持部２１から物体検出処理部２７に処理対象の画像データ（SendFrame）が送信される。
【００４２】
物体検出処理部２７においては、処理対象となるネットワークカメラ１０に該当する参照データを参照して、処理対象の画像データから物体を検出する物体検出処理が行われ、この物体検出処理が終わると参照データと解析結果がデータ保持部２８に保存される。このとき、データ保持部２８に保存される参照データは、物体検出処理の結果に基づいて、一部のデータを更新しても良い。その後、Ｒｅａｄｙ信号がＩＰ制御部２６、ハードウェア制御部２１３に送信される。
【００４３】
ここまでの処理をＮ回繰り返す（図５中のLoop[N]の線で囲む処理参照）。Ｎ回目の処理が終わると、ハードウェア制御部２１３はＩＰ制御部２６に対して結果送信命令（GetResult）を発行し、それを受けて、解析結果読出し命令がＩＰ制御部２６からデータ保持部２８に送信され、Ｎ回分の物体検出結果（SendResult）がデータ保持部２８からデータ保持部２１に送信される。以上が、フィルタリングシステム１２における物体検出処理の流れである。
【００４４】
図６は、フィルタリングシステム１２でのリフレッシュ処理を説明するシーケンスチャートである。まず、管理テーブル４０の取得順番に従って選択したネットワークカメラ１０から画像データを画像取得部２０が取得すると、ソフトウェア制御部２１２にＲｅａｄｙ信号を送る。次に、ソフトウェア制御部２１２はハードウェア制御部２１３に対して、Ｒｅａｄｙ信号と、処理対象となるネットワークカメラ１０のカメラＩＤ４２の情報と、ＲＳＴフラグ４３の情報と、を送信する。その後、ハードウェア制御部２１３は画像処理アクセラレータ１４内のＩＰ制御部２６に対して、カメラＩＤ４２の情報（SetCamID=j）と、ＲＳＴフラグ４３の情報（RstFlag=1）と、を送信する。
【００４５】
ここでは、ＲＳＴフラグ４３＝１であり、管理テーブル４０に登録されたネットワークカメラ１０が変更されているので、ＩＰ制御部２６は受信した情報を基にリフレッシュ処理の設定を物体検出部２７に命令する。
【００４６】
その後、ＩＰ制御部２６からハードウェア制御部２１３にＲｅａｄｙ信号が送信され、それを受けてハードウェア制御部２１３はソフトウェア制御部２１２にＲｅａｄｙ信号を送信する。その時点で、データ保持部２８には処理対象の画像データが保存されており、ソフトウェア制御部２１２はデータ保持部２１に画像読出し命令を送り、データ保持部２１から物体検出処理部２７に処理対象の画像データ（SendFrame）が送信される。
【００４７】
その後、参照データがデータ保持部２８に保存され、Ｒｅａｄｙ信号がＩＰ制御部２６、ハードウェア検出部２１３に送信される。つまり、変更されたネットワークカメラ１０から取得した画像データを、このネットワークカメラ１０に該当する最新の参照データとしてデータ保持部２８で更新している。以上がフィルタリングシステム１２におけるリフレッシュ処理の流れである。
【００４８】
図７は任意の参照データを呼び出す方法を説明する図である。参照データはデータ保持部２８に保存され、物体検出処理を行う際に物体検出部２７に読みだされる。データ保持部２８内にはネットワークカメラ１０の台数分だけ参照データの保持領域が作成されており、参照データはカメラＩＤ毎に保存され、カメラＩＤで管理される。このカメラＩＤを用いて、読み出す参照データが画像処理サーバ１３より通知され、ＩＰ制御部２６を通してデータ保持部２８の読み出し対象の参照データにアクセスする。なお、リフレッシュ処理においては参照データの読出しは行われない。
【００４９】
図８はネットワークカメラ１０を切替えた次周期の管理テーブル４０を示す図である。例えば、フレーム番号４１が「２」のネットワークカメラ１０をカメラＩＤ４２が「Ｍ＋１」のものに切り替えた場合、対応するＲＳＴフラグ４３が「１」に更新され、次周期において、この情報を基にリフレッシュ処理が行われる。このとき、図７に示すデータ保持部２８においては、カメラＩＤ４２＝「Ｍ＋１」に対応する参照データの保持領域が追加され、この保持領域にリフレッシュ処理における参照データが保存される。更に、その次周期では、図９に示すように、ＲＳＴフラグ４３が「０」に更新され、以降は、通常処理である物体検出処理が行われる。
【００５０】
このように、管理テーブル４０の各フレーム番号４１に設定されているカメラＩＤ４２を確認することにより、ネットワークカメラ１０が切り替わったかどうかを判定しており、ネットワークカメラ１０が切り替わった場合には、ＲＳＴフラグ４３を「１」に更新している。
【００５１】
以上説明したように、本実施形態では、ネットワークカメラ１０の取得順番が登録された管理テーブル４０と、ネットワークカメラ１０の台数分の参照データを保持するデータ保持部２８とを有し、管理テーブル４０に従って選択した１台のネットワークカメラ１０から画像データを取得し、取得した画像データに対し、該当するネットワークカメラ１０の参照データをデータ保持部２８から読み出し、当該参照データを参照して、物体の検出を行っているので、複数の参照データの管理を適切に行うと共に、１台以上のネットワークカメラ１０に対し、常に適切な参照データを用いて、物体検出処理を行うことができる。
【００５２】
又、本実施形態では、管理テーブル４０に登録されたネットワークカメラ１０が変更された場合には、変更されたネットワークカメラ１０から取得した画像データを、最新の参照データとしてデータ保持部２８で更新するので、常に最新の参照データに基づいて、物体検出処理を行うことができ、処理結果に発生するノイズを回避することができる。
【００５３】
そして、上述した、ネットワークカメラからの画像データ取得を行う画像処理サーバ１３と物体検出を行う画像処理アクセラレータ１４とを組み合わせることにより、１台以上のネットワークカメラ１０から取得した画像データに対してフィルタリングを行うことができる。
【産業上の利用可能性】
【００５４】
本発明は、複数のネットワークカメラから得た画像データに存在する物体の詳細な情報を機械学習手法によって解析するデータ処理システムに好適なものである。
【符号の説明】
【００５５】
１０  ネットワークカメラ
１１  ネットワーク
１２  フィルタリングシステム
１３  画像処理サーバ
１４  画像処理アクセラレータ
１５  データ解析サーバ
２０  画像取得部
２１  データ保持部
２２  データデコード部
２３  通信Ｉ／Ｆ部
２４  通信路
２５  通信Ｉ／Ｆ部
２６  ＩＰ制御部
２７  物体検出部
２８  データ保持部
２９  物体座標計算部
２１０  通信Ｉ／Ｆ部
２１１  通信Ｉ／Ｆ部
２１２  ソフトウェア制御部
２１３  ハードウェア制御部
２１４  再構成可能デバイス
【図１】
2016206696.tif 000003
【図２】
2016206696.tif 000004
【図３】
2016206696.tif 000005
【図４】
2016206696.tif 000006
【図５】
2016206696.tif 000007
【図６】
2016206696.tif 000008
【図７】
2016206696.tif 000009
【図８】
2016206696.tif 000010
【図９】
2016206696.tif 000011