(57)【要約】【課題】システムを正常な状態へと復旧することができる物体検出装置のエラー制御方法及びエラー制御プログラムを提供する。【解決手段】物体検出装置のエラー制御方法として、ネットワークカメラから画像データを取得できない第１のエラーである場合、該当するネットワークカメラの初期化又は除外を行う第１のエラー処理段階と（３１→３１５）、サーバコンピュータから１つのアクセラレータ装置へ画像データを送信できない第２のエラーである場合、該当するアクセラレータ装置の初期化又は切替を行う第２のエラー処理段階と（３５→３１６）、１つのアクセラレータ装置からサーバコンピュータへ返信された計算結果が予期しない値となる第３のエラーである場合、該当するアクセラレータ装置のデータ更新又は初期化又は切替を行う第３のエラー処理段階と（３１１→３１７）を有する。【選択図】図３
2016206697.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)コアや、事前に作成した専用の論理回路ブロックや、メモリ回路ブロックなどとして構成することができる。又、画像処理アクセラレータ１４は、１つ以上のＦＰＧＡを搭載した１枚のボード（ハードウェア基板）として構成することができる。
【００２７】
このような画像処理アクセラレータ１４は、画像処理サーバ１３と画像処理アクセラレータ１４の間の通信用インタフェースである通信Ｉ／Ｆ部２５と、ハードウェア制御部２１３の命令に基づき各機能ブロックを制御するＩＰ制御部２６と、画像データに存在する物体を検出する物体検出部２７と、入出力時や計算で生じたデータを保持するデータ保持部２８と、を備えている。物体検出処理に用いる参照データも、このデータ保持部２８にネットワークカメラ１０の台数分保存されている。
【００２８】
物体検出部２７では、非特許文献２に示されるような機構を用いて物体検出を行うことで、高速に処理を行うことが可能である。検出した結果は、画像処理サーバ１３において座標情報へと変換される。以上により高速にフィルタリング処理を行うことができる。
【００２９】
物体検出の方法としては背景差分を用いた方法などがある。このような方法では、入力された画像データとデータ保持部２８に保存されている参照データとを用いて物体検出処理が行われる。参照データとしては各時刻の画像データを基に計算された背景画像の特徴量データなどを用いる。又、参照データの更新は物体検出処理時もしくは後述するリフレッシュ処理時に行われる。
【００３０】
このようにして、フィルタリングシステム１２は、１台以上のネットワークカメラ１０からネットワーク１１を介して画像データを取得し、物体検出処理を行った後、物体情報を画像処理サーバ１３の通信Ｉ／Ｆ部２１０から指定したデータ解析サーバ１５の通信Ｉ／Ｆ部２１１に送信する。
【００３１】
図３は、フィルタリングシステム１２の処理手順を示すフローチャートである。このフィルタリングシステム１２の動作は、まず、処理回数ｋ＝１とし、ステップ３０において、後述する管理テーブル４０に従って選択したネットワークカメラ１０からフレーム（画像データ）を画像取得部２０が取得する。次に、ステップ３１において正しく画像データが取得できたかを判定する。できなかった場合（失敗の場合）は、ステップ３１５において後述するエラー処理１（第１のエラー処理段階）を行い、その後、ステップ３０に戻って、次のネットワークカメラ１０から画像データを取得する。画像データを正しく取得できた場合（成功の場合）は、ステップ３２において、取得した画像データをデータ保持部２１に保存する。
【００３２】
ここで、正しく画像データが取得できたかどうかの判定は、画像ファイルの破損チェックにより行っている。例えば、ネットワークカメラ１０より取得するデータはＨＴＴＰ（Hyper Text Transfer Protocol）形式のレスポンスメッセージとなっているため、上記ステップ３０では取得データから画像データの分離が必要となる。このとき、なんらかの原因（カメラ不具合、ネットワーク不具合、ソフトエラーなど）によりレスポンスメッセージが破損していた場合、正常な画像データを取り出せないことが考えられるため、取り出した画像データの破損チェックが必要となり、画像データの破損がない場合、正しく画像データが取得できたと判定している。
【００３３】
保存した画像データはステップ３３においてデータデコード部２２でデコードされ、ステップ３４においてデコード画像データを画像処理サーバ１３から画像処理アクセラレータ１４内のデータ保持部２８に通信Ｉ／Ｆ部２３、通信路２４、通信Ｉ／Ｆ部２５を介して送信する。
【００３４】
ステップ３５では、デコード画像データが正しく画像処理アクセラレータ１４内のデータ保持部２８に送信できたかを判定し、できなかった場合（失敗の場合）は、ステップ３１６において後述するエラー処理２（第２のエラー処理段階）を行い、その後、ステップ３０に戻って、次のネットワークカメラ１０から画像データを取得する。画像データを正しく送信できた場合（成功の場合）は、ステップ３６においてデータ保持部２８に保持された参照データを用いて、物体検出部２７で物体検出処理又は参照データを最新のデータに更新するリフレッシュ処理を行い、その結果はデータ保持部２８に格納される。
【００３５】
ここで、デコード画像データが正しく送信できたかどうかの判定は、通信エラーの有無により判定している。ここでの通信には、一般的なＤＭＡ（Direct Memory Access）転送を用いており、その仕様に基づいて通信の成否がソフト側に通知されており、対象のデコード画像データを通信エラーなしにデータ保持部２８に転送できた場合、正しく送信できたと判定している。
【００３６】
次に、ステップ３７において、物体検出処理及びリフレッシュ処理を行った処理回数ｋが規定値（Ｎ回）であるかを判定し、一致していなければ、処理回数ｋをインクリメント（ｋ＝ｋ＋１）した上でステップ３０に戻り、ステップ３０〜ステップ３７の処理を繰り返す。一致していた場合には、ｋ＝１とした上で、ステップ３８において、データ保持部２８に保持された計算結果を画像処理サーバ１３に通信Ｉ／Ｆ部２５、通信路２４、通信Ｉ／Ｆ部２３を介して送信する。
【００３７】
画像処理サーバ１３に送られた結果はステップ３９においてデータ保持部２１に保存される。そして、ステップ３１０において、それぞれの結果に対し物体座標の計算を物体座標計算部２９で行う。ステップ３１１では、計算した物体座標が予期しない異常値でないか判定し、異常値だった場合（異常検知がYesの場合）は、ステップ３１７において後述するエラー処理３（第３のエラー処理段階）を行い、その後、ステップ３０に戻って、次のネットワークカメラ１０から画像データを取得する。正常値であった場合（異常検知がNoの場合）は、ステップ３１２において、データ保持部２１に物体座標を保存する。
【００３８】
ここで、計算した物体座標が予期しない異常値でないかどうかの判定は、計算した物体座標が事前に指定した範囲内の座標にあるかどうかで判定している。事前に指定した範囲外の座標から物体検出がされた場合、計算した物体座標が異常値であると判定する。
【００３９】
次に、ステップ３１３において得られた物体座標を基に物体情報のみを特定のデータ解析サーバ１５に向けて通信Ｉ／Ｆ部２１０を介して送信する。その後、フィルタリングシステム１２の処理継続判定をステップ３１４で行い、外部より停止命令が来ない限りステップ３０に戻り、上記の動作を繰り返す。
【００４０】
図４は、１台以上のネットワークカメラ１０に対してフィルタリング処理を行う際の管理方法を説明する図である。フィルタリングシステム１２は、ソフトウェア制御部２１２に格納されている管理テーブル４０によって１台以上のネットワークカメラ１０に対するフィルタリング処理を管理する。管理テーブル４０は、画像の取得順番を表すフレーム番号４１と、画像データを取得するネットワークカメラ１０を一意に識別する識別番号となるカメラＩＤ４２と、自身の処理順番が回ってきた際に通常処理（物体検出処理）を行うかリフレッシュ処理を行うかを判定するためのＲＳＴ（リセット）フラグ４３と、を有する。
【００４１】
フィルタリングシステム１２の動作は管理テーブル４０を基に繰り返し行われる。ＲＳＴフラグ４３は、フレーム番号４１に対応するカメラＩＤ４２を変えた際、即ち、画像を取得するネットワークカメラ１０を切替えた際に「１」になる。このＲＳＴフラグ４３に従ってリフレッシュ処理を行うことで、物体検出処理を行う際に参照する参照データを、切り替え後のネットワークカメラ１０から得たデータに更新することができ、ノイズの発生を回避することができる。
【００４２】
つまり、フレーム番号４１に対するカメラＩＤ４２は、ネットワークカメラ１０の取得順番を登録することと同義であり、又、ＲＳＴフラグ４３は、登録されているネットワークカメラ１０の変更の有無を示すことと同義である。そして、登録されているネットワークカメラ１０に変更がない場合にＲＳＴフラグ４３を「０」とし、このときに物体検出処理が行われ、登録されているネットワークカメラ１０に変更がある場合にＲＳＴフラグ４３を「１」とし、このときにリフレッシュ処理が行われる。なお、カメラＩＤ４２に「０」が設定されているときは、これらの処理をスキップする。
【００４３】
なお、図４に示した管理テーブル４０においては、フレーム番号４１が「２」のカメラＩＤ４２が「２」に変わったので、ＲＳＴフラグ４３が「１」となって、リフレッシュ処理を行うことを示しており、フレーム番号４１が「Ｎ−１」、「Ｎ」のカメラＩＤ４２が共に「０」であるので、処理をスキップすることを示している。
【００４４】
図５は、ネットワークカメラ１０から画像データを取得できない第１のエラーが起きた場合のエラー処理１（図３におけるステップ３１５）の手順を示すフローチャートである。
【００４５】
このフローでは、まず、ステップ５０において、同じネットワークカメラ１０に対して連続してエラーが起きたかを判定する。連続したエラーであった場合は、後述するステップ５５に進む。連続したエラーではなかった場合は、ステップ５１において、対象となるネットワークカメラ１０から応答があるか確認する。
【００４６】
ここで、連続してエラーが起きたかどうかの判定は、エラー処理１におけるエラー時にカウンタをインクリメントし、通常処理時にカウンタをクリアすることにより、連続エラーの判定を行うことができる。
【００４７】
次に、ステップ５２において、応答の有無を判定し、応答がなかった場合（失敗の場合）は、後述するステップ５５に進む。応答があった場合（成功の場合）は、ステップ５３において、対象となるネットワークカメラ１０の初期化を行い、ステップ５４においてエラーログを出力する。
【００４８】
ステップ５０で連続したエラーであった場合、ステップ５２で応答がなかった場合は、ステップ５５において、対象となるネットワークカメラ１０を異常と判断して、今後のデータ解析対象から除外し、ステップ５６において、管理者に対してアラート通知を行う。その後、ステップ５４でエラーログを出力する。以上の動作により、異常動作を行ったネットワークカメラ１０に対して、復旧もしくは除外を行うことができる。
【００４９】
図６は、画像処理サーバ１３から１つの画像処理アクセラレータ１４へ画像データを送信できない第２のエラーが起きた場合のエラー処理２（図３におけるステップ３１６）の手順を示すフローチャートである。つまり、画像処理アクセラレータ１４のハードエラーを検知した場合の手順を示している。
【００５０】
このフローでは、まず、ステップ６０において、画像処理アクセラレータ１４に対して画像データの送信が連続して失敗したかを判定する。連続したエラーであった場合は、後述するステップ６６に進む。連続したエラーではなかった場合は、ステップ６１において、画像処理アクセラレータ１４から応答があるか確認する。
【００５１】
ここでも、連続してエラーが起きたかどうかの判定は、エラー処理２におけるエラー時にカウンタをインクリメントし、通常処理時にカウンタをクリアすることにより、連続エラーの判定を行うことができる。
【００５２】
次に、ステップ６２において、応答の有無を判定し、応答がなかった場合（失敗の場合）は、後述するステップ６６に進む。応答があった場合（成功の場合）は、ステップ６３において、画像処理アクセラレータ１４に実装された再構成可能デバイス２１４の初期化を行う。その後、ステップ６４では、画像処理サーバ１３において全てのＲＳＴフラグを「１」にする。その後、ステップ６５において、エラーログを出力する。
【００５３】
ここでは、全てのＲＳＴフラグを「１」にすることにより、全ての参照データをリフレッシュしている。これは、最初のエラー時にＦＰＧＡ内に実装した回路に不具合があった可能性があり、不具合のある回路で計算された参照データが誤っている可能性もあるからであり、そのため、一度全ての参照データをリフレッシュすることにしている。
【００５４】
ステップ６０で連続したエラーであった場合、ステップ６２で応答がなかった場合は、ステップ６６において、対象となる画像処理アクセラレータ１４から他の画像処理アクセラレータ１４への切り替えを行い、ステップ６７において、管理者に対してアラート通知を行う。その後、ステップ６５でエラーログを出力する。以上の動作により、ハードエラーを起こした画像処理アクセラレータ１４に対して、復旧もしくは交換を行うことができる。
【００５５】
図７は、１つの画像処理アクセラレータ１４から画像処理サーバ１３へ返信された計算結果が予期しない値となる第３のエラーが起きた場合のエラー処理３（図３におけるステップ３１７）の手順を示すフローチャートである。つまり、画像処理アクセラレータ１４のソフトエラーを検知した場合の手順を示している。
【００５６】
このフローでは、まず、ステップ７０において、画像処理サーバ１３のデータ保持部２１に保持された計算結果を破棄する。次に、ステップ７１において、同一のネットワークカメラ１０から得た画像データに対する計算結果に異常値が連続して発生したかを判定する。連続したエラーではなかった場合（連続エラー回数＝０の場合）は、後述するステップ７２へ進み、連続したエラーであった場合は、後述するステップ７４に進む。
【００５７】
ここでも、連続してエラーが起きたかどうかの判定は、エラー処理３におけるエラー時にカウンタをインクリメントし、通常処理時にカウンタをクリアすることにより、連続エラーの判定を行うことができる。
【００５８】
１回連続したエラーであるとステップ７４において判定された場合は、ステップ７５において、画像処理アクセラレータ１４に実装された再構成可能デバイス２１４の初期化を行い、ステップ７２に進む。２回以上連続したエラーであるとステップ７４において判定された場合は、ステップ７６において、対象となる画像処理アクセラレータ１４から他の画像処理アクセラレータ１４への切り替えを行い、ステップ７７において、管理者に対してアラート通知を行い、その後、ステップ７２に進む。
【００５９】
ステップ７２においては、画像処理サーバ１３において全てのＲＳＴフラグを「１」にして、ステップ７３でエラーログを出力する。以上の動作により、ソフトエラーを起こした画像処理アクセラレータ１４に対して、復旧もしくは交換を行うことができる。
【００６０】
ここでも、全てのＲＳＴフラグを「１」にすることにより、全ての参照データをリフレッシュしている。これは、最初のエラー時にＦＰＧＡ内に実装した回路に不具合があった可能性があり、不具合のある回路で計算された参照データが誤っている可能性もあるからであり、そのため、一度全ての参照データをリフレッシュすることにしている。
【００６１】
このように、本実施形態では、ネットワークカメラ１０から画像データを取得できたか確認して、このエラーを復旧するエラー処理１と、画像処理アクセラレータ１４に画像データを送信できたか確認して、このエラーを復旧するエラー処理２と、画像処理アクセラレータ１４から送られた結果に予期しない値がないか確認して、このエラーを復旧するエラー処理３とを有しているので、ネットワークカメラ１０からの応答が途切れた場合、画像処理アクセラレータ１４においてエラーが起こった場合でも、システムを正常な状態へと復旧することができる。
【００６２】
そして、上述したエラー処理を行うと共に、ネットワークカメラからの画像データ取得を行う画像処理サーバ１３と物体検出を行う画像処理アクセラレータ１４とを組み合わせることにより、１台以上のネットワークカメラ１０から取得した画像データに対してフィルタリングを行うことができる。
【産業上の利用可能性】
【００６３】
本発明は、複数のネットワークカメラから得た画像データに存在する物体の詳細な情報を機械学習手法によって解析するデータ処理システムに好適なものである。
【符号の説明】
【００６４】
１０  ネットワークカメラ
１１  ネットワーク
１２  フィルタリングシステム
１３  画像処理サーバ
１４  画像処理アクセラレータ
１５  データ解析サーバ
２０  画像取得部
２１  データ保持部
２２  データデコード部
２３  通信Ｉ／Ｆ部
２４  通信路
２５  通信Ｉ／Ｆ部
２６  ＩＰ制御部
２７  物体検出部
２８  データ保持部
２９  物体座標計算部
２１０  通信Ｉ／Ｆ部
２１１  通信Ｉ／Ｆ部
２１２  ソフトウェア制御部
２１３  ハードウェア制御部
２１４  再構成可能デバイス
【図１】
2016206697.tif 000003
【図２】
2016206697.tif 000004
【図３】
2016206697.tif 000005
【図４】
2016206697.tif 000006
【図５】
2016206697.tif 000007
【図６】
2016206697.tif 000008
【図７】
2016206697.tif 000009