(57)【要約】      （修正有）【課題】処理を分担させるシステムにおいて、処理をより細かい単位で分担させる。【解決手段】少なくともｎ層（ｎ≧２）で構成されたニューラルネットワークを用いたニューラルネットワーク処理を行う情報処理システム９００−１であって、第１層から第ｋ層（１≦ｋ≦ｎ−１）までを用いたニューラルネットワーク処理を行って、第ｋ層出力値を出力する第１のニューラルネットワーク処理部と、第ｋ層出力値を通信用第ｋ層出力値に変換する第１の変換部と、通信用第ｋ層出力値を第１の通信ネットワークへ送信する第１の送信部と、通信用第ｋ層出力値を第１の通信ネットワークから受信する第１の受信部と、第１の受信部が受信した通信用第ｋ層出力値を第ｋ層出力値に変換する第２の変換部と、第ｋ層出力値を入力とし、少なくとも第ｋ＋１層を用いたニューラルネットワーク処理を行う第２のニューラルネットワーク処理部と、を有する。【選択図】図３
2019053581.tif 000002
【特許請求の範囲】
【請求項１】
ｎを２以上の整数としたとき、少なくともｎ層で構成されたニューラルネットワークを用いたニューラルネットワーク処理を行う情報処理システムであって、
ｋを１以上ｎ−１以下の整数としたとき、入力データを入力とし、前記ニューラルネットワークのうち第１層から第ｋ層までを用いた前記ニューラルネットワーク処理を行って、第ｋ層出力値を出力する第１のニューラルネットワーク処理部と、
前記第ｋ層出力値を通信用第ｋ層出力値に変換する第１の変換部と、
前記通信用第ｋ層出力値を第１の通信ネットワークへ送信する第１の送信部と、
前記通信用第ｋ層出力値を前記第１の通信ネットワークから受信する第１の受信部と、
前記第１の受信部が受信した前記通信用第ｋ層出力値を前記第ｋ層出力値に変換する第２の変換部と、
前記第ｋ層出力値を入力とし、前記ニューラルネットワークのうち少なくとも第ｋ＋１層を用いた前記ニューラルネットワーク処理を行う第２のニューラルネットワーク処理部と、
を有する、情報処理システム。
【請求項２】
前記ｎは３以上の整数であり、
前記情報処理システムは、
前記第１のニューラルネットワーク処理部と前記第２のニューラルネットワーク処理部との処理分担境界を示す前記ｋの値を決定する処理分担決定部をさらに有する、請求項１に記載の情報処理システム。
【請求項３】
ｑを１以上ｎ以下の整数としたとき、前記処理分担決定部は、第１の入力データを入力とした前記ニューラルネットワーク処理において前記ニューラルネットワークのうちの第ｑ層により出力される第ｑ層出力値に基づいて、第１の入力データとは異なる第２の入力データを入力とした前記ニューラルネットワーク処理における前記ｋの値を決定する、請求項２に記載の情報処理システム。
【請求項４】
前記第１の入力データ、及び前記第２の入力データはセンシングにより取得されるセンシングデータであり、
前記情報処理システムは、前記第ｑ層出力値に基づいて、第２の入力データを取得するための前記センシングに係る分解能を決定する分解能決定部をさらに有する、請求項３に記載の情報処理システム。
【請求項５】
前記処理分担決定部は、前記分解能決定部が前記分解能としてより高い値を決定する場合に、前記第１のニューラルネットワーク処理部と前記第２のニューラルネットワーク処理部のうち、より低い処理性能を有する方の処理負荷が、より小さくなるように、前記ｋの値を決定する、請求項４に記載の情報処理システム。
【請求項６】
前記第１の入力データ、及び前記第２の入力データは画像データであり、
前記ニューラルネットワークは前記画像データに含まれる物体を認識するためのニューラルネットワークであり、
前記第ｑ層出力値は、前記物体の検出結果に関する情報を含む、請求項３〜５のいずれか一項に記載の情報処理システム。
【請求項７】
前記ｎは３以上の整数であり、
ｍをｋ＋１以上ｎ−１以下の整数としたとき、
前記第２のニューラルネットワーク処理部は、前記ニューラルネットワークのうち前記第ｋ＋１層から第ｍ層までを用いた前記ニューラルネットワーク処理を行って、第ｍ層出力値を出力し、
前記情報処理システムは、
前記第ｍ層出力値を通信用第ｍ層出力値に変換する第３の変換部と、
前記通信用第ｍ層出力値を第２の通信ネットワークへ送信する第２の送信部と、
前記通信用第ｍ層出力値を前記第２の通信ネットワークから受信する第２の受信部と、
前記第２の受信部が受信した前記通信用第ｍ層出力値を前記第ｍ層出力値に変換する第４の変換部と、
前記第ｍ層出力値を入力とし、前記ニューラルネットワークのうち少なくとも第ｍ＋１層を用いた前記ニューラルネットワーク処理を行う第３のニューラルネットワーク処理部と、
をさらに有する、請求項１〜６のいずれか一項に記載の情報処理システム。
【請求項８】
ｎを２以上の整数、ｋを１以上ｎ−１以下の整数、としたとき、少なくともｎ層で構成されたニューラルネットワークのうち第１層から第ｋ層までを用いたニューラルネットワーク処理を行って、第ｋ層出力値を出力する第１のニューラルネットワーク処理部と、
前記第ｋ層出力値を通信用第ｋ層出力値に変換する第１の変換部と、
前記通信用第ｋ層出力値を第１の通信ネットワークへ送信する第１の送信部と、
を備える、情報処理装置。
【請求項９】
ｎを２以上の整数、ｋを１以上ｎ−１以下の整数、としたとき、少なくともｎ層で構成されたニューラルネットワークのうち第１層から第ｋ層までを用いたニューラルネットワーク処理を行って、第ｋ層出力値を出力する機能と、
前記第ｋ層出力値を通信用第ｋ層出力値に変換する機能と、
前記通信用第ｋ層出力値を第１の通信ネットワークへ送信する機能と、
をコンピュータに実現させるためのプログラム。
【請求項１０】
ｎを２以上の整数、ｋを１以上ｎ−１以下の整数、としたとき、少なくともｎ層で構成されたニューラルネットワークのうち第１層から第ｋ層までを用いたニューラルネットワーク処理を行って出力された第ｋ層出力値を変換して得られた通信用第ｋ層出力値を、第１の通信ネットワークから受信する第１の受信部と、
前記第１の受信部が受信した前記通信用第ｋ層出力値を前記第ｋ層出力値に変換する第の２変換部と、
前記第ｋ層出力値を入力とし、前記ニューラルネットワークのうち少なくとも第ｋ＋１層を用いた前記ニューラルネットワーク処理を行う第２のニューラルネットワーク処理部と、
を有する、情報処理システム。
【請求項１１】
ｎを２以上の整数、ｋを１以上ｎ−１以下の整数、としたとき、少なくともｎ層で構成されたニューラルネットワークのうち第１層から第ｋ層までを用いたニューラルネットワーク処理を行って出力された第ｋ層出力値を変換して得られた通信用第ｋ層出力値を、第１の通信ネットワークから受信する機能と、
前記通信用第ｋ層出力値を前記第ｋ層出力値に変換する機能と、
前記第ｋ層出力値を入力とし、前記ニューラルネットワークのうち少なくとも第ｋ＋１層を用いた前記ニューラルネットワーク処理を行う機能と、
をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、及びプログラムに関する。
【背景技術】
【０００２】
現在、様々な場所に監視カメラが設置されるようになり、監視カメラの数は増加傾向にある。また、ネットワークに接続された監視カメラの普及も進んでおり、ネットワークを介して監視カメラから得られる画像（静止画像、または動画像）を用いた多様な応用が考えられる。
【０００３】
例えば下記特許文献１には、監視カメラの撮像により得られた撮像画像を、ネットワークを介してサーバへ送信し、当該サーバにおいて必要な処理を行うことで、防犯等に活用するシステムが提案されている。また、下記特許文献１では、処理を監視カメラ及び複数のサーバで分担させることにより、リアルタイム性を保つことが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３６１２２２０号公報
【非特許文献】
【０００５】
【非特許文献１】Sachin  Sudhakar  Farfade、外２名、「Multi-view  Face  Detection  Using  Deep  Convolutional  Neural  Networks」、In  Proceedings  of the  5th  ACM  on  International  Conference  on  Multimedia  Retrieval（ＩＣＭＲ）、２０１５年６月、ｐ.６４３―６５０
【非特許文献２】Florian  Schroff、外２名、「FaceNet:  A  Unified  Embedding  for  Face  Recognition  and  Clustering」、In  Proceedings  of  the  IEEE  Computer  Society  Conference  on  Computer  Vision  and  Pattern  Recognition（ＣＶＰＲ）、２０１５年６月
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上記特許文献１に記載の技術では、撮像画像から人物候補画像を抽出する処理を監視カメラで行うため、監視カメラが係る処理をリアルタイムに行うための性能を有していない場合には、リアルタイム性を保つことが出来なかった。このように処理を分担させるシステムにおいて、処理をより細かい単位で分担させることが可能な仕組みが望まれていた。
【０００７】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、処理をより細かい単位で分担させることが可能な、新規かつ改良された情報処理システム、情報処理装置、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある観点によれば、ｎを２以上の整数としたとき、少なくともｎ層で構成されたニューラルネットワークを用いたニューラルネットワーク処理を行う情報処理システムであって、ｋを１以上ｎ−１以下の整数としたとき、入力データを入力とし、前記ニューラルネットワークのうち第１層から第ｋ層までを用いた前記ニューラルネットワーク処理を行って、第ｋ層出力値を出力する第１のニューラルネットワーク処理部と、前記第ｋ層出力値を通信用第ｋ層出力値に変換する第１の変換部と、前記通信用第ｋ層出力値を第１の通信ネットワークへ送信する第１の送信部と、前記通信用第ｋ層出力値を前記第１の通信ネットワークから受信する第１の受信部と、前記第１の受信部が受信した前記通信用第ｋ層出力値を前記第ｋ層出力値に変換する第２の変換部と、前記第ｋ層出力値を入力とし、前記ニューラルネットワークのうち少なくとも第ｋ＋１層を用いた前記ニューラルネットワーク処理を行う第２のニューラルネットワーク処理部と、を有する、情報処理システムが提供される。
【０００９】
前記ｎは３以上の整数であり、前記情報処理システムは、前記第１のニューラルネットワーク処理部と前記第２のニューラルネットワーク処理部との処理分担境界を示す前記ｋの値を決定する処理分担決定部をさらに有してもよい。
【００１０】
ｑを１以上ｎ以下の整数としたとき、前記処理分担決定部は、第１の入力データを入力とした前記ニューラルネットワーク処理において前記ニューラルネットワークのうちの第ｑ層により出力される第ｑ層出力値に基づいて、第１の入力データとは異なる第２の入力データを入力とした前記ニューラルネットワーク処理における前記ｋの値を決定してもよい。
【００１１】
前記第１の入力データ、及び前記第２の入力データはセンシングにより取得されるセンシングデータであり、前記情報処理システムは、前記第ｑ層出力値に基づいて、第２の入力データを取得するための前記センシングに係る分解能を決定する分解能決定部をさらに有してもよい。
【００１２】
前記処理分担決定部は、前記分解能決定部が前記分解能としてより高い値を決定する場合に、前記第１のニューラルネットワーク処理部と前記第２のニューラルネットワーク処理部のうち、より低い処理性能を有する方の処理負荷が、より小さくなるように、前記ｋの値を決定してもよい。
【００１３】
前記第１の入力データ、及び前記第２の入力データは画像データであり、前記ニューラルネットワークは前記画像データに含まれる物体を認識するためのニューラルネットワークであり、前記第ｑ層出力値は、前記物体の検出結果に関する情報を含んでもよい。
【００１４】
前記ｎは３以上の整数であり、ｍをｋ＋１以上ｎ−１以下の整数としたとき、前記第２のニューラルネットワーク処理部は、前記ニューラルネットワークのうち前記第ｋ＋１層から第ｍ層までを用いた前記ニューラルネットワーク処理を行って、第ｍ層出力値を出力し、前記情報処理システムは、前記第ｍ層出力値を通信用第ｍ層出力値に変換する第３の変換部と、前記通信用第ｍ層出力値を第２の通信ネットワークへ送信する第２の送信部と、前記通信用第ｍ層出力値を前記第２の通信ネットワークから受信する第２の受信部と、前記第２の受信部が受信した前記通信用第ｍ層出力値を前記第ｍ層出力値に変換する第４の変換部と、前記第ｍ層出力値を入力とし、前記ニューラルネットワークのうち少なくとも第ｍ＋１層を用いた前記ニューラルネットワーク処理を行う第３のニューラルネットワーク処理部と、をさらに有してもよい。
【００１５】
また、上記課題を解決するために、本発明の別の観点によれば、ｎを２以上の整数、ｋを１以上ｎ−１以下の整数、としたとき、少なくともｎ層で構成されたニューラルネットワークのうち第１層から第ｋ層までを用いたニューラルネットワーク処理を行って、第ｋ層出力値を出力する第１のニューラルネットワーク処理部と、前記第ｋ層出力値を通信用第ｋ層出力値に変換する第１の変換部と、前記通信用第ｋ層出力値を第１の通信ネットワークへ送信する第１の送信部と、を備える、情報処理装置が提供される。
【００１６】
また、上記課題を解決するために、本発明の別の観点によれば、ｎを２以上の整数、ｋを１以上ｎ−１以下の整数、としたとき、少なくともｎ層で構成されたニューラルネットワークのうち第１層から第ｋ層までを用いたニューラルネットワーク処理を行って、第ｋ層出力値を出力する機能と、前記第ｋ層出力値を通信用第ｋ層出力値に変換する機能と、前記通信用第ｋ層出力値を第１の通信ネットワークへ送信する機能と、をコンピュータに実現させるためのプログラムが提供される。
【００１７】
また、上記課題を解決するために、本発明の別の観点によれば、ｎを２以上の整数、ｋを１以上ｎ−１以下の整数、としたとき、少なくともｎ層で構成されたニューラルネットワークのうち第１層から第ｋ層までを用いたニューラルネットワーク処理を行って出力された第ｋ層出力値を変換して得られた通信用第ｋ層出力値を、第１の通信ネットワークから受信する第１の受信部と、前記第１の受信部が受信した前記通信用第ｋ層出力値を前記第ｋ層出力値に変換する第の２変換部と、前記第ｋ層出力値を入力とし、前記ニューラルネットワークのうち少なくとも第ｋ＋１層を用いた前記ニューラルネットワーク処理を行う第２のニューラルネットワーク処理部と、を有する、情報処理システムが提供される。
【００１８】
また、上記課題を解決するために、本発明の別の観点によれば、ｎを２以上の整数、ｋを１以上ｎ−１以下の整数、としたとき、少なくともｎ層で構成されたニューラルネットワークのうち第１層から第ｋ層までを用いたニューラルネットワーク処理を行って出力された第ｋ層出力値を変換して得られた通信用第ｋ層出力値を、第１の通信ネットワークから受信する機能と、前記第１の受信部が受信した前記通信用第ｋ層出力値を前記第ｋ層出力値に変換する機能と、前記第ｋ層出力値を入力とし、前記ニューラルネットワークのうち少なくとも第ｋ＋１層を用いた前記ニューラルネットワーク処理を行う機能と、をコンピュータに実現させるためのプログラムが提供される。
【発明の効果】
【００１９】
以上説明したように本発明によれば、処理をより細かい単位で分担させることが可能である。
【図面の簡単な説明】
【００２０】
【図１】本発明の各実施形態に共通する監視システム９００の概略構成を説明するための説明図である。
【図２】本発明の第１の実施形態の概要を説明するための説明図である。
【図３】同実施形態に係る監視システム９００−１の構成例を示すブロック図である。
【図４】同実施形態に係る監視システム９００−１の処理フローを示すシーケンス図である。
【図５】本発明の第２の実施形態の概要を説明するための説明図である。
【図６】同実施形態に係る監視システム９００−２の構成例を示すブロック図である。
【図７】同実施形態に係る監視システム９００−２の処理フローを示すシーケンス図である。
【図８】本発明の第３の実施形態の概要を説明するための説明図である。
【図９】同実施形態に係る監視システム９００−３の構成例を示すブロック図である。
【図１０】決定部２５３による整数ｋ、整数ｍ、及び分解能（フレームレート、及び解像度）の決定の一例を示す表である。
【図１１】同実施形態に係る監視システム９００−３の処理フローを示すシーケンス図である。
【図１２】ハードウェア構成例を示す説明図である。
【発明を実施するための形態】
【００２１】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２２】
また、本明細書及び図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なるアルファベットを付して区別する場合もある。ただし、実質的に同一の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。
【００２３】
＜＜１．概要＞＞
＜１−１．背景＞
現在、街のいたるところに監視カメラが設置されており、監視カメラの数は増加傾向にある。また、監視カメラの多くはネットワークに接続され、ネットワークを介して監視カメラから得られる画像（静止画像、または動画像）を用いた多様な応用が考えられる。
【００２４】
例えば、特許文献１には、監視カメラの撮像により得られた撮像画像を、ネットワークを介してサーバへ送信し、当該サーバにおいて必要な処理を行うことで、防犯等に活用する技術が提案されている。また、特許文献１には、処理を監視カメラ及び複数のサーバで分担させることにより、リアルタイム性を保つことも記載されている。
【００２５】
しかし、上記特許文献１に記載の技術では、撮像画像から人物検出を行って人物候補画像を抽出する処理を監視カメラで行うため、監視カメラが係る処理をリアルタイムに行うための性能を有していない場合には、リアルタイム性を保つことが出来ない。リアルタイム性を保つため、例えばフレームレート（時間分解能）を減らしたり、解像度（空間分解能）を減らしたりすることも可能であるが、係る場合には人物検出の精度が低下する恐れがある。したがって、処理をより細かい単位で分担させることが可能な仕組みが望まれていた。
【００２６】
また、上記特許文献１の技術では、監視カメラからサーバへ、人物の映った画像が送信され得る。したがって、もし監視カメラとサーバとの間の通信内容が盗み取られてしまった場合には、画像を目視することで、当該人物がいつどこにいたのか、当該人物が何をしていたのか、といった情報が把握され、当該人物のプライバシーが侵害される恐れがあった。
【００２７】
＜１−２．基本構成＞
以上、本発明の実施形態の背景について説明した。本件発明者は、上述した事情を一着眼点にして本発明の実施形態を創作するに至った。
【００２８】
以下、本発明の各実施形態に共通する監視システム９００の基本構成について、図１を参照して説明を行う。図１は、本発明の各実施形態に共通する監視システム９００の概略構成を説明するための説明図である。図１に示すように、監視システム９００は、監視カメラ１と、中間サーバ２と、認識サーバ３と、通信ネットワーク５Ａと、通信ネットワーク５Ｂとを有する。
【００２９】
図１に示すように、監視カメラ１と中間サーバ２とは、通信ネットワーク５Ａを介して接続され、中間サーバ２と認識サーバ３とは、通信ネットワーク５Ｂを介して接続される。
【００３０】
通信ネットワーク５Ａ、及び通信ネットワーク５Ｂは、それぞれ通信ネットワーク５Ａ、及び通信ネットワーク５Ｂに接続されている装置、またはシステムから送信される情報の有線、または無線の伝送路である。例えば、通信ネットワーク５（通信ネットワーク５Ａ、及び通信ネットワーク５Ｂ）は、インターネット、電話回線網、衛星通信網等の公衆回線網や、Ethernet（登録商標）を含む各種のＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等を含んでもよい。また、通信ネットワーク５は、ＩＰ−ＶＰＮ（Internet  Protocol-Virtual  Private  Network）等の専用回線網を含んでもよい。
【００３１】
監視システム９００は、監視カメラ１の撮像により得られた画像データに含まれる人物の顔（物体の一例）を認識するために、ニューラルネットワークを用いたニューラルネットワーク処理を行う。顔認識を実現するためのニューラルネットワークは、例えば上記の非特許文献１、または非特許文献２のような手法で生成することが可能である。また、ニューラルネットワークを用いたニューラルネットワーク処理は、ニューラルネットワークパラメータにより特定することが可能である。
【００３２】
例えば、監視システム９００が行うニューラルネットワーク処理は、画像データから人物の顔を見つけ出す顔検出処理と、検出された顔が誰であるかを照合する顔認証処理とを含み得る。ただし、監視システム９００が行うニューラルネットワーク処理は、顔検出処理と顔認証処理とが明確に区別されているとは限らない。
【００３３】
ニューラルネットワークは、脳機能に見られるいくつかの特性を計算機上のシミュレーションによって表現することを目指した数学モデルである。例えば、ニューラルネットワークは、多数の層から構成され、入力データの特徴量を抽出する処理や、抽出された特徴量を識別する処理等を係る多数の層により行うことが可能である。
【００３４】
本発明の各実施形態に係る監視システム９００は、ニューラルネットワークの層単位で処理を分割し、分割された処理を監視カメラ１、中間サーバ２、認識サーバ３のうち少なくとも２つの装置に分担させる。係る構成により、細かい単位で処理を分担させることが可能であり、より高い解像度、より高いフレームレートで撮像が行われる場合であっても、リアルタイム性を保ちやすい。
【００３５】
また、後述する第２の実施形態、及び、第３の実施形態では、装置間で画像データは送信されず、各装置に分担された各段階の処理結果である出力値が送信されるため、万一通信内容が盗み取られてしまった場合であっても、プライバシーが侵害され難い。
【００３６】
以上、本発明の各実施形態に共通する監視システム９００の基本構成について説明した。以下では、上述した効果を実現する本発明の各実施形態について、順次詳細に説明する。
【００３７】
＜＜２．各実施形態の詳細な説明＞＞
＜２−１．第１の実施形態＞
（概要）
まず、本発明の第１の実施形態に係る監視システム９００の概要について説明する。なお、以下では、本発明の第１の実施形態に係る監視システム９００を監視システム９００−１と呼称し、監視システム９００−１が有する監視カメラ１、中間サーバ２、及び認識サーバ３をそれぞれ監視カメラ１−１、中間サーバ２−１、及び認識サーバ３−１と呼称する。
【００３８】
図２は、本発明の第１の実施形態の概要を説明するための説明図である。図２には、本実施形態に係る監視システム９００−１が用いるニューラルネットワークＮＮ１が示されている。図２に示すように、ニューラルネットワークＮＮ１は、ｎ層で構成されたニューラルネットワークである。なお、本実施形態において、ｎは少なくとも２以上の整数であるものとする。
【００３９】
また、図２に示すニューラルネットワークＮＮ１は、各層の出力値が、当該層の次の（右の）層に入力されるニューラルネットワークである。なお、各層の出力値は、スカラー値に限られず、例えばベクトル値であってもよい。以下、図２に示すように、本実施形態に係るニューラルネットワークＮＮ１を構成する各層を左から順に第１層Ｌ１、第２層Ｌ２、第３層Ｌ３、・・・、第ｎ層Ｌｎと呼称する。
【００４０】
本実施形態に係る監視システム９００−１は、ニューラルネットワークＮＮ１を用いたニューラルネットワーク処理を、中間サーバ２−１と、認識サーバ３−１とで分担させる。図２に示す例では、中間サーバ２−１が第１層Ｌ１〜第ｋ層Ｌｋのニューラルネットワーク処理を担当し、認識サーバ３−１が、第ｋ＋１層Ｌｋ＋１〜第ｎ層Ｌｎのニューラルネットワーク処理を担当する。ここで、ｋは１以上ｎ−１以下の整数であり、中間サーバ２−１と認識サーバ３−１の（より正確には、後述するように中間サーバ２−１と認識サーバ３−１がそれぞれ有する処理部の）処理分担境界を示している。
【００４１】
本実施形態において、中間サーバ２−１と認識サーバ３−１の処理分担境界を示す整数ｋは予め設定された値であってもよい。例えば整数ｋは、中間サーバ２−１と認識サーバ３−１の処理性能や、監視カメラ１−１のフレームレートや解像度等を考慮し、要求される処理時間を満たすようにユーザにより設定されてもよい。なお、本実施形態において、ニューラルネットワークＮＮ１は、顔検出処理と顔認証処理とが明確に区別されていてもよいし、明確に区別されていなくてもよい。ニューラルネットワークＮＮ１において顔検出処理と顔認証処理とが明確に区別されていた場合であっても、中間サーバ２−１と認識サーバ３−１の処理分担境界を示す整数ｋは、顔検出処理と顔認証処理の境界とは依存せずに設定され得る。さらに言えば、中間サーバ２−１と認識サーバ３−１の処理分担境界を示す整数ｋは、ニューラルネットワークＮＮ１の各層がいかなる処理のための層であるかに依存せずに設定されてもよい。係る構成により、処理をより細かい単位で中間サーバ２−１と認識サーバ３−１に分担させることが可能である。
【００４２】
（構成例）
以上、本実施形態に係る監視システム９００−１の概要を説明した。続いて、本実施形態に係る監視システム９００−１の構成例について、より詳細に説明する。図３は、本実施形態に係る監視システム９００−１の構成例を示すブロック図である。
【００４３】
監視カメラ１−１は、図３に示すように、撮像部１１１、及び通信インタフェース部１２０を備える。
【００４４】
撮像部１１１は、画像データ（センシングデータの一例）を撮像（センシングの一例）により取得するカメラモジュールである。例えば、撮像部１１１は、は、ＣＣＤ（Charge  Coupled  Device）またはＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等の撮像素子を用いて周囲の実空間を撮像することにより、光を電気信号に変換し、画像データを生成する。撮像部１１１は、画像データを通信インタフェース部１２０へ提供する。
【００４５】
通信インタフェース部１２０は、監視カメラ１−１による他の装置との間の通信を仲介する。通信インタフェース部１２０は、任意の無線通信プロトコルまたは有線通信プロトコルをサポートし、通信ネットワーク５Ａを介して、あるいは直接に他の装置との間の通信接続を確立する。通信インタフェース部１２０は、図３に示すように変換部１２２、及び通信部１２４を含む。
【００４６】
変換部１２２は、データを通信部１２４が送信可能な形式のデータ（通信用データ）に変換する。例えば、変換部１２２は、撮像部１１１から提供された画像データを通信用画像データに変換し、通信部１２４へ提供する。
【００４７】
通信部１２４は、通信ネットワーク５Ａを介して、あるいは直接に他の装置へ通信用データを送信し、または他の装置から通信用データを受信する。例えば、通信部１２４は、変換部１２２から提供された通信用画像データを通信ネットワーク５Ａへ送信する。なお、本実施形態では、通信用画像データが通信ネットワーク５Ａを介して監視カメラ１−１から中間サーバ２−１へ送信されるため、通信ネットワーク５Ａは高いセキュリティを有する通信ネットワークであることが望ましい。
【００４８】
中間サーバ２−１は、図３に示すように、通信インタフェース部２２０、処理部２３１、及び記憶部２４０を備える情報処理装置である。
【００４９】
通信インタフェース部２２０は、中間サーバ２−１による他の装置との間の通信を仲介する。通信インタフェース部２２０は、任意の無線通信プロトコルまたは有線通信プロトコルをサポートし、通信ネットワーク５Ａ、または通信ネットワーク５Ｂを介して、あるいは直接に他の装置との間の通信接続を確立する。通信インタフェース部２２０は、図３に示すように変換部２２２、及び通信部２２４を含む。
【００５０】
変換部２２２は、通信部２２４が受信した通信用データを処理部２３１や記憶部２４０が扱うためのデータに変換（逆変換）し、処理部２３１や記憶部２４０へ提供する。例えば、変換部２２２は、通信部２２４が通信ネットワーク５Ａから受信した通信用画像データを画像データ（本実施形態における入力データ）に変換し、処理部２３１へ提供する。
【００５１】
また、変換部２２２は、データを通信部２２４が送信可能な形式のデータ（通信用データ）に変換する。例えば、変換部２２２は、本実施形態における第１の変換部として機能し、後述する処理部２３１から出力されるニューラルネットワークＮＮ１の第ｋ層出力値を通信用第ｋ層出力値に変換し、通信部２２４へ提供する。
【００５２】
通信部２２４は、通信ネットワーク５Ａを介して、または通信ネットワーク５Ｂを介して、あるいは直接に他の装置へ通信用データを送信し、または他の装置から通信用データを受信する。例えば、通信部２２４は、本実施形態における第１の送信部として機能し、変換部２２２から提供された通信用第ｋ層出力値を通信ネットワーク５Ｂ（本実施形態における第１の通信ネットワーク）へ送信する。また、通信部２２４は、監視カメラ１−１が送信した通信用画像データを通信ネットワーク５Ａから受信する。
【００５３】
処理部２３１は、ニューラルネットワーク処理を行う。処理部２３１が行うニューラルネットワーク処理は、例えば、記憶部２４０に記憶されるニューラルネットワークパラメータによって特定され得る。なお、記憶部２４０に記憶されるニューラルネットワークパラメータは、ニューラルネットワークＮＮ１全体に対応するパラメータであってもよいし、ニューラルネットワークＮＮ１のうち第１層Ｌ１から第ｋ層Ｌｋまでに対応するパラメータであってもよい。処理部２３１と後述する認識サーバ３−１が有する処理部３３１の処理分担境界を示す整数ｋが記憶部２４０に記憶されていてもよい。
【００５４】
処理部２３１は、本実施形態における第１のニューラルネットワーク処理部として機能し、画像データを入力とし、図２に示したニューラルネットワークＮＮ１のうち第１層Ｌ１から第ｋ層Ｌｋまでを用いたニューラルネットワーク処理を行う。また、処理部２３１は、本実施形態における第１のニューラルネットワーク処理部として機能し、第ｋ層Ｌｋの出力値である第ｋ層出力値を通信インタフェース部２２０へ出力する。
【００５５】
記憶部２４０は、中間サーバ２−１の動作に用いられるプログラム及びデータを記憶する。また、記憶部２４０はニューラルネットワークＮＮ１に関するニューラルネットワークパラメータを記憶する。
【００５６】
認識サーバ３−１は、図３に示すように、通信インタフェース部３２０、処理部３３１、及び記憶部３４０を備える情報処理装置である。
【００５７】
通信インタフェース部３２０は、認識サーバ３−１による他の装置との間の通信を仲介する。通信インタフェース部３２０は、任意の無線通信プロトコルまたは有線通信プロトコルをサポートし、通信ネットワーク５Ｂを介して、あるいは直接に他の装置との間の通信接続を確立する。通信インタフェース部３２０は、図３に示すように変換部３２２、及び通信部３２４を含む。
【００５８】
変換部３２２は、通信部３２４が受信した通信用データを処理部３３１や記憶部３４０が扱うためのデータに変換（逆変換）し、処理部３３１や記憶部３４０へ提供する。例えば、変換部３２２は、本実施形態における第２の変換部として機能し、通信部３２４が通信ネットワーク５Ｂ（本実施形態における第１の通信ネットワーク）から受信した通信用第ｋ層出力値を第ｋ層出力値に変換し、処理部３３１へ提供する。
【００５９】
通信部３２４は、通信ネットワーク５Ｂを介して、あるいは直接に他の装置へ通信用データを送信し、または他の装置から通信用データを受信する。例えば、通信部３２４は、本実施形態における第１の受信部として機能し、中間サーバ２−１が送信した通信用第ｋ層出力値を通信ネットワーク５Ｂから受信する。
【００６０】
処理部３３１は、ニューラルネットワーク処理を行う。処理部３３１が行うニューラルネットワーク処理は、例えば、記憶部３４０に記憶されるニューラルネットワークパラメータによって特定され得る。なお、記憶部３４０に記憶されるニューラルネットワークパラメータは、ニューラルネットワークＮＮ１全体に対応するパラメータであってもよいし、ニューラルネットワークＮＮ１のうち第ｋ＋１層Ｌｋ＋１から第ｎ層Ｌｎまでに対応するパラメータであってもよい。中間サーバ２−１が有する処理部２３１と処理部３３１の処理分担境界を示す整数ｋが記憶部３４０に記憶されていてもよい。
【００６１】
処理部３３１は、本実施形態における第２のニューラルネットワーク処理部として機能し、第ｋ層出力値を入力とし、図２に示したニューラルネットワークＮＮ１のうち第ｋ＋１層Ｌｋ＋１から第ｎ層Ｌｎまでを用いたニューラルネットワーク処理を行う。処理部３３１は、第ｎ層Ｌｎの出力値である第ｎ層出力値を出力し、例えば記憶部３４０へ記憶させてもよい。あるいは、処理部３３１により出力された第ｎ層出力値は、不図示の表示部に表示されてもよいし、変換部３２２により通信用データに変換された後に通信部３２４により他の装置へ送信されてもよい。なお、上述したように、本実施形態に係るニューラルネットワークＮＮ１は、顔認識のためのニューラルネットワークであり、第ｎ層出力値は、例えば監視カメラ１−１が撮像した画像に誰の顔が含まれるか、という情報を含み得る。
【００６２】
記憶部３４０は、認識サーバ３−１の動作に用いられるプログラム及びデータを記憶する。また、記憶部３４０はニューラルネットワークＮＮ１に関するニューラルネットワークパラメータを記憶する。
【００６３】
（動作例）
以上、本発明の第１の実施形態に係る監視システム９００−１の構成例について説明した。続いて、本実施形態の動作例について、図４を参照して説明する。図４は、本実施形態に係る監視システム９００−１の処理フローを示すシーケンス図である。
【００６４】
図４に示すように、まず監視カメラ１−１は、撮像部１１１の撮像により画像データを取得する（Ｓ１０２）。続いて、監視カメラ１−１の変換部１２２が、画像データを通信用画像データに変換する（Ｓ１０６）。さらに、監視カメラ１−１の通信部１２４が、通信用画像データを通信ネットワーク５Ａへ送信し、中間サーバ２−１の通信部２２４が当該通信用画像データを通信ネットワーク５Ａから受信する（Ｓ１０８）。
【００６５】
続いて、中間サーバ２−１の変換部２２２が、ステップＳ１０８で受信された通信用画像データを画像データに変換する（Ｓ１１０）。さらに、中間サーバ２−１の処理部２３１が、当該画像データを入力とし、ニューラルネットワークＮＮ１のうち第１層Ｌ１から第ｋ層Ｌｋまでを用いたニューラルネットワーク処理を行って第ｋ層出力値を出力する（Ｓ１１２）。
【００６６】
続いて、中間サーバ２−１の変換部２２２が第ｋ層出力値を通信用第ｋ層出力値に変換する（Ｓ１１４）。さらに、中間サーバ２−１の通信部２２４が、通信用第ｋ層出力値を通信ネットワーク５Ｂへ送信し、認識サーバ３−１の通信部３２４が当該通信用第ｋ層出力値を通信ネットワーク５Ｂから受信する（Ｓ１１６）。
【００６７】
続いて、認識サーバ３−１の変換部３２２が、ステップＳ１１６で受信された通信用第ｋ層出力値を第ｋ層出力値に変換する（Ｓ１１８）。さらに、認識サーバ３−１の処理部３３１が、当該第ｋ層出力値を入力とし、ニューラルネットワークＮＮ１のうち第ｋ＋１層Ｌｋ＋１から第ｎ層Ｌｎまでを用いたニューラルネットワーク処理を行って第ｎ層出力値を出力する（Ｓ１２０）。
【００６８】
（効果）
以上、本発明の第１の実施形態について説明した。本実施形態によれば、監視カメラ１−１の撮像により取得された画像データを入力としたニューラルネットワーク処理が、中間サーバ２−１と認識サーバ３−１とで分担される。また、上述したように、中間サーバ２−１と認識サーバ３−１との処理分担境界を示す整数ｋは、各層に係る処理に依存せず設定され得るため、処理をより細かい単位で中間サーバ２−１と認識サーバ３−１に分担させることが可能である。さらに、中間サーバ２−１と認識サーバ３−１との間では、画像データに係る通信が行われず、通信用第ｋ層出力値が通信される。係る構成により、仮に通信ネットワーク５Ｂを介した中間サーバ２−１と認識サーバ３−１との間の通信内容が盗み取られてしまった場合であっても、プライバシーが侵害され難い。
【００６９】
＜２−２．第２の実施形態＞
（概要）
上記第１の実施形態では、ニューラルネットワーク処理を中間サーバ２−１と認識サーバ３−１の２つの装置で分担させる例を説明したが、ニューラルネットワーク処理を３つ以上の装置で分担させることも可能である。以下では、ニューラルネットワーク処理を監視カメラ１、中間サーバ２、及び認識サーバ３の３つの装置で分担させる例について、本発明に係る第２の実施形態として説明する。なお、以下では、本発明の第２の実施形態に係る監視システム９００を監視システム９００−２と呼称し、監視システム９００−２が有する監視カメラ１、中間サーバ２、及び認識サーバ３をそれぞれ監視カメラ１−２、中間サーバ２−２、及び認識サーバ３−２と呼称する。
【００７０】
図５は、本発明の第２の実施形態の概要を説明するための説明図である。図５には、本実施形態に係る監視システム９００−２が用いるニューラルネットワークＮＮ２が示されている。図５に示すように、ニューラルネットワークＮＮ２は、ｎ層で構成されたニューラルネットワークである。なお、本実施形態において、ｎは少なくとも３以上の整数であるものとする。
【００７１】
また、図５に示すニューラルネットワークＮＮ２は、各層の出力値が、当該層の次の（右の）層に入力されるニューラルネットワークである。なお、各層の出力値は、スカラー値に限られず、例えばベクトル値であってもよい。以下、図５に示すように、本実施形態に係るニューラルネットワークＮＮ２を構成する各層を左から順に第１層Ｌ１、第２層Ｌ２、第３層Ｌ３、・・・、第ｎ層Ｌｎと呼称する。
【００７２】
本実施形態に係る監視システム９００−２は、ニューラルネットワークＮＮ２を用いたニューラルネットワーク処理を、監視カメラ１−２、中間サーバ２−２、及び認識サーバ３−２で分担させる。図５に示す例では、監視カメラ１−２が第１層Ｌ１〜第ｋ層Ｌｋのニューラルネットワーク処理を担当する。また、中間サーバ２−２が第ｋ＋１層Ｌｋ＋１〜第ｍ層Ｌｍのニューラルネットワーク処理を担当する。また、認識サーバ３−２が、第ｍ＋１層Ｌｍ＋１〜第ｎ層Ｌｎのニューラルネットワーク処理を担当する。ここで、ｋは１以上ｍ−１以下の整数であり、監視カメラ１−２と中間サーバ２−２の（より正確には、後述するように監視カメラ１−２と中間サーバ２−２がそれぞれ有する処理部の）処理分担境界を示している。また、ｍはｋ＋１以上ｎ−１以下の整数であり、中間サーバ２−２と認識サーバ３−２の（より正確には、後述するように中間サーバ２−２と認識サーバ３−２がそれぞれ有する処理部の）処理分担境界を示している。
【００７３】
本実施形態において、監視カメラ１−２と中間サーバ２−２の処理分担境界を示す整数ｋ、及び中間サーバ２−２と認識サーバ３−２の処理分担境界を示す整数ｍはそれぞれ予め設定された値であってもよい。例えば整数ｋ、及び整数ｍは、監視カメラ１−２、中間サーバ２−２、及び認識サーバ３−２の処理性能や、監視カメラ１−２のフレームレートや解像度等を考慮し、要求される処理時間を満たすようにユーザにより設定されてもよい。なお、本実施形態において、ニューラルネットワークＮＮ２は、顔検出処理と顔認証処理とが明確に区別されていてもよいし、明確に区別されていなくてもよい。ニューラルネットワークＮＮ２において顔検出処理と顔認証処理とが明確に区別されていた場合であっても、整数ｋ、及び整数ｍは、顔検出処理と顔認証処理の境界とは依存せずに設定され得る。さらに言えば、整数ｋ、及び整数ｍは、ニューラルネットワークＮＮ２の各層がいかなる処理のための層であるかに依存せずに設定されてもよい。係る構成により、処理をより細かい単位で監視カメラ１−２、中間サーバ２−２、及び認識サーバ３−３に分担させることが可能である。
【００７４】
（構成例）
以上、本実施形態に係る監視システム９００−２の概要を説明した。続いて、本実施形態に係る監視システム９００−２の構成例について、より詳細に説明する。図６は、本実施形態に係る監視システム９００−２の構成例を示すブロック図である。なお、本実施形態に係る監視システム９００−２は、一部において第１の実施形態に係る監視システム９００−１と同様の構成を有するため、適宜省略しながら説明を行う。
【００７５】
監視カメラ１−２は、図６に示すように、撮像部１１２、処理部１３２、記憶部１４０、及び通信インタフェース部１７０を備える情報処理装置である。
【００７６】
撮像部１１２は、図３を参照して説明した撮像部１１１と同様に画像データ（センシングデータの一例）を撮像（センシングの一例）により取得するカメラモジュールである。ただし、本実施形態に係る撮像部１１２は、画像データ（本実施形態における入力データ）を処理部１３２へ提供する点において、図３を参照して説明した撮像部１１１と異なる。
【００７７】
処理部１３２は、ニューラルネットワーク処理を行う。処理部１３２が行うニューラルネットワーク処理は、例えば、記憶部１４０に記憶されるニューラルネットワークパラメータによって特定され得る。なお、記憶部１４０に記憶されるニューラルネットワークパラメータは、ニューラルネットワークＮＮ２全体に対応するパラメータであってもよいし、ニューラルネットワークＮＮ２のうち第１層Ｌ１から第ｋ層Ｌｋまでに対応するパラメータであってもよい。処理部１３２と後述する中間サーバ２−２が有する処理部２３２の処理分担境界を示す整数ｋが記憶部１４０に記憶されていてもよい。
【００７８】
処理部１３２は、本実施形態における第１のニューラルネットワーク処理部として機能し、撮像部１１２から提供される画像データを入力とし、図５に示したニューラルネットワークＮＮ２のうち第１層Ｌ１から第ｋ層Ｌｋまでを用いたニューラルネットワーク処理を行う。また、処理部１３２は、本実施形態における第１のニューラルネットワーク処理部として機能し、第ｋ層Ｌｋの出力値である第ｋ層出力値を通信インタフェース部１７０へ出力する。
【００７９】
記憶部１４０は、監視カメラ１−２の動作に用いられるプログラム及びデータを記憶する。また、記憶部１４０はニューラルネットワークＮＮ２に関するニューラルネットワークパラメータを記憶する。
【００８０】
通信インタフェース部１７０は、図３を参照して説明した通信インタフェース部１２０と同様に、監視カメラ１−２による他の装置との間の通信を仲介する。通信インタフェース部１７０は、任意の無線通信プロトコルまたは有線通信プロトコルをサポートし、通信ネットワーク５Ａを介して、あるいは直接に他の装置との間の通信接続を確立する。通信インタフェース部１７０は、図６に示すように変換部１７２、及び通信部１７４を含む。
【００８１】
変換部１７２は、データを通信部１７４が送信可能な形式のデータ（通信用データ）に変換する。例えば、変換部１７２は、本実施形態における第１の変換部として機能し、処理部１３２から出力されるニューラルネットワークＮＮ２の第ｋ層出力値を通信用第ｋ層出力値に変換し、通信部１７４へ提供する。
【００８２】
通信部１７４は、通信ネットワーク５Ａを介して、あるいは直接に他の装置へ通信用データを送信し、または他の装置から通信用データを受信する。例えば、通信部１７４は、変換部１７２から提供された通信用第ｋ層出力値を通信ネットワーク５Ａ（本実施形態における第１の通信ネットワーク）へ送信する。
【００８３】
通信部１７４は、通信ネットワーク５Ａを介して、あるいは直接に他の装置へ通信用データを送信し、または他の装置から通信用データを受信する。例えば、通信部１７４は、本実施形態における第１の送信部として機能し、変換部１７２から提供された通信用第ｋ層出力値を通信ネットワーク５Ａ（本実施形態における第１の通信ネットワーク）へ送信する。
【００８４】
中間サーバ２−２は、図６に示すように、処理部２３２、記憶部２４０、及び通信インタフェース部２７０を備える情報処理装置である。図６に示す記憶部２４０の機能は図３を参照して説明した記憶部２４０の機能と同様であるため、説明を省略する。
【００８５】
処理部２３２は、ニューラルネットワーク処理を行う。処理部２３２が行うニューラルネットワーク処理は、例えば、記憶部２４０に記憶されるニューラルネットワークパラメータによって特定され得る。なお、本実施形態において記憶部２４０に記憶されるニューラルネットワークパラメータは、ニューラルネットワークＮＮ２全体に対応するパラメータであってもよいし、ニューラルネットワークＮＮ２のうち第ｋ＋１層Ｌｋ＋１から第ｍ層Ｌｍまでに対応するパラメータであってもよい。また、監視カメラ１−２が有する処理部１３２と処理部２３２の処理分担境界を示す整数ｋ、及び処理部２３２と後述する認識サーバ３−１が有する処理部３３２の処理分担境界を示す整数ｍが記憶部２４０に記憶されていてもよい。
【００８６】
処理部２３２は、本実施形態における第２のニューラルネットワーク処理部として機能し、第ｋ層出力値を入力とし、図５に示したニューラルネットワークＮＮ２のうち第ｋ＋１層Ｌｋ＋１から第ｍ層Ｌｍまでを用いたニューラルネットワーク処理を行う。また、処理部２３２は、本実施形態における第２のニューラルネットワーク処理部として機能し、第ｍ層Ｌｍの出力値である第ｍ層出力値を通信インタフェース部２７０へ出力する。
【００８７】
通信インタフェース部２７０は、図３を参照して説明した通信インタフェース部２２０と同様に、中間サーバ２−２による他の装置との間の通信を仲介する。通信インタフェース部２７０は、任意の無線通信プロトコルまたは有線通信プロトコルをサポートし、通信ネットワーク５Ａ、または通信ネットワーク５Ｂを介して、あるいは直接に他の装置との間の通信接続を確立する。通信インタフェース部２７０は、図６に示すように変換部２７２、及び通信部２７４を含む。
【００８８】
変換部２７２は、通信部２７４が受信した通信用データを処理部２３２や記憶部２４０が扱うためのデータに変換（逆変換）し、処理部２３２や記憶部２４０へ提供する。例えば、変換部２７２は、本実施形態における第２の変換部として機能し、通信部２７４が通信ネットワーク５Ａから受信した通信用第ｋ層出力値を第ｋ層出力値に変換し、処理部２３２へ提供する。
【００８９】
また、変換部２７２は、データを通信部２７４が送信可能な形式のデータ（通信用データ）に変換する。例えば、変換部２７２は、本実施形態における第３の変換部として機能し、処理部２３２から出力されるニューラルネットワークＮＮ２の第ｍ層出力値を通信用第ｍ層出力値に変換し、通信部２７４へ提供する。
【００９０】
通信部２７４は、通信ネットワーク５Ａを介して、または通信ネットワーク５Ｂを介して、あるいは直接に他の装置へ通信用データを送信し、または他の装置から通信用データを受信する。例えば、通信部２７４は、本実施形態における第１の受信部として機能し、監視カメラ１−１が送信した通信用第ｋ層出力値を通信ネットワーク５Ａから受信する。また、通信部２７４は、本実施形態における第２の送信部として機能し、変換部２７２から提供された通信用第ｍ層出力値を通信ネットワーク５Ｂ（本実施形態における第２の通信ネットワーク）へ送信する。
【００９１】
認識サーバ３−２は、図６に示すように、処理部３３２、記憶部３４０、及び通信インタフェース部３７０を備える情報処理装置である。図６に示す記憶部３４０の機能は図３を参照して説明した記憶部３４０の機能と同様であるため、説明を省略する。
【００９２】
処理部３３２は、ニューラルネットワーク処理を行う。処理部３３２が行うニューラルネットワーク処理は、例えば、記憶部３４０に記憶されるニューラルネットワークパラメータによって特定され得る。なお、本実施形態において記憶部３４０が記憶するニューラルネットワークパラメータは、ニューラルネットワークＮＮ２全体に対応するパラメータであってもよいし、ニューラルネットワークＮＮ２のうち第ｍ＋１層Ｌｍ＋１から第ｎ層Ｌｎまでに対応するパラメータであってもよい。また、中間サーバ２−２が有する処理部２３２と処理部３３２の処理分担境界を示す整数ｍが記憶部３４０に記憶されていてもよい。
【００９３】
処理部３３２は、本実施形態における第３のニューラルネットワーク処理部として機能し、第ｍ層出力値を入力とし、図５に示したニューラルネットワークＮＮ２のうち第ｍ＋１層Ｌｍ＋１から第ｎ層Ｌｎまでを用いたニューラルネットワーク処理を行う。処理部３３２により出力される第ｎ層Ｌｎの出力値である第ｎ層出力値は、記憶部３４０に記憶されてもよいし、不図示の表示部に表示されてもよいし、変換部３７２により通信用データに変換された後に通信部３７４により他の装置へ送信されてもよい。
【００９４】
通信インタフェース部３７０は、認識サーバ３−２による他の装置との間の通信を仲介する。通信インタフェース部３７０は、任意の無線通信プロトコルまたは有線通信プロトコルをサポートし、通信ネットワーク５Ｂを介して、あるいは直接に他の装置との間の通信接続を確立する。通信インタフェース部３７０は、図６に示すように変換部３７２、及び通信部３７４を含む。
【００９５】
変換部３７２は、通信部３７４が受信した通信用データを処理部３３２や記憶部３４０が扱うためのデータに変換（逆変換）し、処理部３３２や記憶部３４０へ提供する。例えば、変換部３７２は、本実施形態における第４の変換部として機能し、通信部３７４が通信ネットワーク５Ｂ（本実施形態における第２の通信ネットワーク）から受信した通信用第ｍ層出力値を第ｍ層出力値に変換し、処理部３３２へ提供する。
【００９６】
通信部３７４は、通信ネットワーク５Ｂを介して、あるいは直接に他の装置へ通信用データを送信し、または他の装置から通信用データを受信する。例えば、通信部３７４は、本実施形態における第２の受信部として機能し、中間サーバ２−２が送信した通信用第ｍ層出力値を通信ネットワーク５Ｂから受信する。
【００９７】
（動作例）
以上、本発明の第２の実施形態に係る監視システム９００−２の構成例について説明した。続いて、本実施形態の動作例について、図７を参照して説明する。図７は本実施形態に係る監視システム９００−２の処理フローを示すシーケンス図である。
【００９８】
図７に示すように、まず監視カメラ１−２は、撮像部１１２の撮像により画像データを取得する（Ｓ２０２）。続いて、監視カメラ１−２の処理部１３２が、当該画像データを入力とし、ニューラルネットワークＮＮ２のうち第１層Ｌ１から第ｋ層Ｌｋまでを用いたニューラルネットワーク処理を行って第ｋ層出力値を出力する（Ｓ２０４）。
【００９９】
続いて、監視カメラ１−２の変換部１７２が、第ｋ層出力値を通信用第ｋ層出力値に変換する（Ｓ２０６）。さらに、監視カメラ１−２の通信部１７４が、通信用第ｋ層出力値を通信ネットワーク５Ａへ送信し、中間サーバ２−２の通信部２７４が当該通信用第ｋ層出力値を通信ネットワーク５Ａから受信する（Ｓ２０８）。
【０１００】
続いて、中間サーバ２−２の変換部２７２が、ステップＳ２０８で受信された通信用第ｋ層出力値を第ｋ層出力値に変換する（Ｓ２１０）。さらに、中間サーバ２−２の処理部２３２が、当該第ｋ層出力値を入力とし、ニューラルネットワークＮＮ２のうち第ｋ＋１層Ｌｋ＋１から第ｍ層Ｌｍまでを用いたニューラルネットワーク処理を行って第ｍ層出力値を出力する（Ｓ２１２）。
【０１０１】
続いて、中間サーバ２−２の変換部２７２が第ｍ層出力値を通信用第ｍ層出力値に変換する（Ｓ２１４）。さらに、中間サーバ２−２の通信部２７４が、通信用第ｍ層出力値を通信ネットワーク５Ｂへ送信し、認識サーバ３−２の通信部３７４が当該通信用第ｍ層出力値を通信ネットワーク５Ｂから受信する（Ｓ２１６）。
【０１０２】
続いて、認識サーバ３−２の変換部３７２が、ステップＳ２１６で受信された通信用第ｍ層出力値を第ｍ層出力値に変換する（Ｓ２１８）。さらに、認識サーバ３−２の処理部３３２が、当該第ｍ層出力値を入力とし、ニューラルネットワークＮＮ２のうち第ｍ＋１層Ｌｍ＋１から第ｎ層Ｌｎまでを用いたニューラルネットワーク処理を行って第ｎ層出力値を出力する（Ｓ２２０）。
【０１０３】
（効果）
以上、本発明の第２の実施形態について説明した。本実施形態によれば、監視カメラ１−２の撮像により取得された画像データを入力としたニューラルネットワーク処理が、監視カメラ１−２、中間サーバ２−２、及び認識サーバ３−２の、３つの装置で分担される。また、上述したように、監視カメラ１−２と中間サーバ２−２の処理分担境界を示す整数ｋ、及び中間サーバ２−２と認識サーバ３−２の処理分担境界を示す整数ｍは、各層に係る処理に依存せず設定され得るため、処理をより細かい単位で分担させることが可能である。さらに、各装置間では、画像データに係る通信が行われず、通信用第ｋ層出力値または、通信用第ｍ層出力値が通信される。係る構成により、仮に通信ネットワーク５Ａを介した監視カメラ１−２と中間サーバ２−２との間の通信内容、または通信ネットワーク５Ｂを介した中間サーバ２−２と認識サーバ３−２との間の通信内容が盗み取られてしまった場合であっても、プライバシーが侵害され難い。
【０１０４】
なお、上記第２の実施形態では、ニューラルネットワーク処理が、３つの装置で分担される例を説明したが、本発明は係る例に限定されず、ニューラルネットワーク処理は４つ以上の装置で分担されてもよい。
【０１０５】
＜２−３．第３の実施形態＞
（概要）
上記第１の実施形態、及び第２の実施形態では、装置間の処理分担境界を示す整数ｋ、及び整数ｍが予め設定される例を説明したが、処理分担境界を動的に決定することも可能である。以下では、処理分担境界が動的に決定される例について、本発明に係る第３の実施形態として説明する。なお、以下では、本発明の第３の実施形態に係る監視システム９００を監視システム９００−３と呼称し、監視システム９００−３が有する監視カメラ１、中間サーバ２、及び認識サーバ３をそれぞれ監視カメラ１−３、中間サーバ２−３、及び認識サーバ３−３と呼称する。
【０１０６】
図８は、本発明の第３の実施形態の概要を説明するための説明図である。図８には、本実施形態に係る監視システム９００−３が用いるニューラルネットワークＮＮ３が示されている。図８に示すように、ニューラルネットワークＮＮ３は、ｎ層で構成されたニューラルネットワークである。なお、本実施形態において、ｎは少なくとも３以上の整数であるものとする。
【０１０７】
また、図８に示すニューラルネットワークＮＮ３は、各層の出力値が、当該層の次の（右の）層に入力されるニューラルネットワークである。なお、各層の出力値は、スカラー値に限られず、例えばベクトル値であってもよい。以下、図８に示すように、本実施形態に係るニューラルネットワークＮＮ３を構成する各層を左から順に第１層Ｌ１、第２層Ｌ２、第３層Ｌ３、・・・、第ｎ層Ｌｎと呼称する。
【０１０８】
本実施形態において、ニューラルネットワークＮＮ３に含まれる各層は、図８に示すように顔検出処理と顔認証処理とが明確に区別されている。図８に示すように、ニューラルネットワークＮＮ３においては、第１層Ｌ１〜第ｑ層Ｌｑが顔検出処理に対応し、第ｑ＋１層Ｌｑ＋１〜第ｎ層Ｌｎが顔認証処理に対応する。つまり、第ｑ層Ｌｑの出力値である第ｑ層出力値は、顔検出結果に関する情報を含む。なお、ここでｑは１以上ｎ−１以下の整数である。
【０１０９】
本実施形態に係る監視システム９００−３は、第２の実施形態に係る監視システム９００−２と同様に、ニューラルネットワークＮＮ３を用いたニューラルネットワーク処理を、監視カメラ１−３、中間サーバ２−３、及び認識サーバ３−３で分担させる。図８に示す例では、監視カメラ１−３が第１層Ｌ１〜第ｋ層Ｌｋのニューラルネットワーク処理を担当する。また、中間サーバ２−３が第ｋ＋１層Ｌｋ＋１〜第ｍ層Ｌｍのニューラルネットワーク処理を担当する。また、認識サーバ３−３が、第ｍ＋１層Ｌｍ＋１〜第ｎ層Ｌｎのニューラルネットワーク処理を担当する。ここで、ｋは１以上ｑ−１以下の整数であり、監視カメラ１−３と中間サーバ２−３の（より正確には、後述するように監視カメラ１−３と中間サーバ２−３がそれぞれ有する処理部の）処理分担境界を示している。また、ｍはｑ＋１以上ｎ−１以下の整数であり、中間サーバ２−３と認識サーバ３−３の（より正確には、後述するように中間サーバ２−３と認識サーバ３−３がそれぞれ有する処理部の）処理分担境界を示している。
【０１１０】
本実施形態において、監視カメラ１−３と中間サーバ２−３の処理分担境界を示す整数ｋ、及び中間サーバ２−３と認識サーバ３−３の処理分担境界を示す整数ｍは動的に変化し得る。整数ｋ及び整数ｍの決定方法の詳細については後述するが、上述したようにｋは１以上ｑ−１以下の範囲で、ｍはｑ＋１以上ｎ−１以下の範囲で決定される。係る構成により、中間サーバ２−３は、常に第ｑ層Ｌｑを用いたニューラルネットワーク処理を行うこととなる。そのため中間サーバ２−３は、現在のフレームの画像データ（第１の入力データ）を入力とした顔検出処理の結果に関する情報を含む第ｑ層出力値を得ることが可能である。そして、中間サーバ２−３は当該第ｑ層出力値に基づいて、次のフレームの画像データ（第２の入力データ）の撮像（センシング）に係る分解能や、次のフレームの画像データを入力としたニューラルネットワーク処理の処理分担境界を決定する。係る構成により、例えば要求される処理時間を満たすように処理を分担しつつ、より高精度な顔認識を行うことが可能となる。
【０１１１】
（構成例）
以上、本実施形態に係る監視システム９００−３の概要を説明した。続いて、本実施形態に係る監視システム９００−３の構成例について、より詳細に説明する。図９は、本実施形態に係る監視システム９００−３の構成例を示すブロック図である。なお、本実施形態に係る監視システム９００−３は、一部において第１の実施形態に係る監視システム９００−１や第２の実施形態に係る監視システム９００−２と同様の構成を有するため、適宜省略しながら説明を行う。
【０１１２】
監視カメラ１−３は、図９に示すように、撮像部１１３、処理部１３３、記憶部１４０、処理制御部１６３、及び通信インタフェース部１８０を備える情報処理装置である。図９に示す記憶部１４０の機能は図６を参照して説明した記憶部１４０の機能と同様であるため、説明を省略する。
【０１１３】
撮像部１１３は、図６を参照して説明した撮像部１１２と同様に画像データ（センシングデータの一例）を撮像（センシングの一例）により取得するカメラモジュールである。ただし、本実施形態に係る撮像部１１３は、後述する処理制御部１６３の制御に従ったフレームレート（時間分解能）、及び解像度（空間分解能）で撮像を行う点で、図６を参照して説明した撮像部１１２と異なる。
【０１１４】
処理部１３３は、ニューラルネットワーク処理を行う。処理部１３３が行うニューラルネットワーク処理は、例えば、記憶部１４０に記憶されるニューラルネットワークパラメータによって特定され得る。なお、記憶部１４０に記憶されるニューラルネットワークパラメータは、ニューラルネットワークＮＮ３全体に対応するパラメータであってもよいし、ニューラルネットワークＮＮ３のうち第１層Ｌ１から第ｑ層Ｌｑまでに対応するパラメータであってもよい。
【０１１５】
処理部１３３は、本実施形態における第１のニューラルネットワーク処理部として機能し、撮像部１１３から提供される画像データを入力とし、図８に示したニューラルネットワークＮＮ３のうち第１層Ｌ１から第ｋ層Ｌｋまでを用いたニューラルネットワーク処理を行う。また、処理部１３３は、本実施形態における第１のニューラルネットワーク処理部として機能し、第ｋ層Ｌｋの出力値である第ｋ層出力値を通信インタフェース部１８０へ出力する。
【０１１６】
上述したように、処理部１３３と後述する中間サーバ２−３が有する処理部２３３の処理分担境界を示す整数ｋは動的に変化し得る。例えば、処理部１３３は、後述する処理制御部１６３の制御に従って第１層Ｌ１から第ｋ層Ｌｋまでを用いたニューラルネットワーク処理を行う。
【０１１７】
処理制御部１６３は、後述する通信インタフェース部１８０から提供される処理制御情報に基づいて、撮像部１１３、及び処理部１３３を制御する。通信インタフェース部１８０から処理制御部１６３に提供される処理制御情報には、例えば撮像部１１３の撮像（センシングの一例）に係るフレームレート（時間分解能）、及び解像度（空間分解能）の情報が含まれていてもよい。そして、処理制御部１６３は、処理制御情報に基づいて、撮像部１１３のフレームレート（時間分解能）、及び解像度（空間分解能）の設定を変更してもよい。また、通信インタフェース部１８０から処理制御部１６３に提供される処理制御情報には、処理部１３３と後述する中間サーバ２−３が有する処理部２３３の処理分担境界を示す整数ｋの情報（値）が含まれていてもよい。
【０１１８】
通信インタフェース部１８０は、監視カメラ１−３による他の装置との間の通信を仲介する。通信インタフェース部１８０は、任意の無線通信プロトコルまたは有線通信プロトコルをサポートし、通信ネットワーク５Ａを介して、あるいは直接に他の装置との間の通信接続を確立する。通信インタフェース部１８０は、図９に示すように変換部１８２、及び通信部１８４を含む。
【０１１９】
変換部１８２は、データを通信部１８４が送信可能な形式のデータ（通信用データ）に変換する。例えば、変換部１７８は、本実施形態における第１の変換部として機能し、処理部１３３から出力されるニューラルネットワークＮＮ３の第ｋ層出力値を通信用第ｋ層出力値に変換し、通信部１８４へ提供する。
【０１２０】
また、変換部１８２は、通信部１８４が受信した通信用データを処理部１３３や記憶部１４０、処理制御部１６３が扱うためのデータに変換（逆変換）し、処理部１３３や記憶部１４０、処理制御部１６３へ提供する。例えば、変換部１８２は、通信部１８４が通信ネットワーク５Ａから受信した通信用処理制御情報を処理制御情報に変換し、処理制御部１６３へ提供する。
【０１２１】
通信部１８４は、通信ネットワーク５Ａを介して、あるいは直接に他の装置へ通信用データを送信し、または他の装置から通信用データを受信する。例えば、通信部１８４は、変換部１８２から提供された通信用第ｋ層出力値を通信ネットワーク５Ａ（本実施形態における第１の通信ネットワーク）へ送信する。通信部１８４は、中間サーバ２−３が送信した通信用処理制御情報を通信ネットワーク５Ａから受信する。
【０１２２】
中間サーバ２−３は、図９に示すように、処理部２３３、記憶部２４０、決定部２５３、処理制御部２６３、及び通信インタフェース部２８０を備える情報処理装置である。図９に示す記憶部２４０の機能は図３を参照して説明した記憶部２４０の機能と同様であるため、説明を省略する。
【０１２３】
処理部２３３は、ニューラルネットワーク処理を行う。処理部２３３が行うニューラルネットワーク処理は、例えば、記憶部２４０に記憶されるニューラルネットワークパラメータによって特定され得る。なお、本実施形態において記憶部２４０に記憶されるニューラルネットワークパラメータは、ニューラルネットワークＮＮ３全体に対応するパラメータであってもよい。
【０１２４】
処理部２３３は、本実施形態における第２のニューラルネットワーク処理部として機能し、第ｋ層出力値を入力とし、図８に示したニューラルネットワークＮＮ３のうち第ｋ＋１層Ｌｋ＋１から第ｍ層Ｌｍまでを用いたニューラルネットワーク処理を行う。また、処理部２３３は、本実施形態における第２のニューラルネットワーク処理部として機能し、第ｍ層Ｌｍの出力値である第ｍ層出力値を通信インタフェース部２８０へ出力する。
【０１２５】
上述したように、監視カメラ１−３が有する処理部１３３と処理部２３３の処理分担境界を示す整数ｋ、及び処理部２３２と後述する認識サーバ３−１が有する処理部３３２の処理分担境界を示す整数ｍは動的に変化し得る。例えば、処理部２３３は、後述する処理制御部２６３の制御に従って第ｋ＋１層Ｌｋ＋１から第ｍ層Ｌｍまでを用いたニューラルネットワーク処理を行う。
【０１２６】
決定部２５３は、処理分担決定部として機能し、処理部１３３と処理部２３３の処理分担境界を示す整数ｋの値、及び処理部２３２と処理部３３２の処理分担境界を示す整数ｍの値を決定する。例えば、決定部２５３は、現在のフレームの画像データ（第１の入力データ）を入力としたニューラルネットワーク処理における第ｑ層出力値に基づいて、次以降のフレームの画像データ（第２の入力データ）を入力としたニューラルネットワーク処理における整数ｋの値、及び整数ｍの値を決定してもよい。
【０１２７】
また、決定部２５３は、分解能決定部として機能し、監視カメラ１−３が有する撮像部１１３の撮像に係る分解能（フレームレート、及び解像度）を決定する。例えば、決定部２５３は、現在のフレームの画像データ（第１の入力データ）を入力としたニューラルネットワーク処理における第ｑ層出力値に基づいて、次以降のフレームの画像データ（第２の入力データ）の撮像に係る分解能を決定してもよい。
【０１２８】
ここで、上述したように、第ｑ層出力値は、顔検出の結果を示す情報を含み、例えば、決定部２５３は第ｑ層出力値に基づいて、顔検出されたか否かを判定することが可能である。したがって、決定部２５３は、顔検出結果に基づいて、整数ｋの値、整数ｍの値、及び上記分解能を決定し得る。
【０１２９】
図１０は、決定部２５３による整数ｋ、整数ｍ、及び分解能（フレームレート、及び解像度）の決定の一例を示す表である。図１０において、初期設定におけるｋの値であるｐは１以上ｑ以下の整数、初期設定におけるｍの値であるｒはｑ以上ｎ−１以下の整数であり、例えばそれぞれ予め設定されていてもよい。
【０１３０】
図１０に示すように、決定部２５３は、顔検出時には、より高精度に顔認識処理が行われるように、分解能決定部として、分解能（フレームレート、及び解像度）が高くなるように分解能を設定してもよい。ただし、係る場合、全体の処理負荷も高くなってしまうため、処理分担を変更しないと要求される処理時間で処理を完了することが出来ない恐れがある。そのため、決定部２５３は、分解能としてより高い値を決定する場合に、処理部１３３と処理部２３３のうち、より低い処理性能を有する方の処理負荷が、より小さくなるように、ｋの値を決定してもよい。
【０１３１】
例えば、本実施形態において、監視カメラ１−３の処理部１３３よりも、中間サーバ２−３の処理部２３３の方が高い処理性能を有するものとする。そのため、図１０に示す例では、フレームレート、及び解像度が高い値に決定される顔検出時には、ｋの値は初期設定のｐよりも小さい値に決定される。また、同様に、中間サーバ２−３の処理部２３３よりも、認識サーバ３−３の処理部３３３の方が高い処理性能を有してもよい。そのため、図１０に示す例では、フレームレート、及び解像度が高い値に決定される顔検出時には、ｍの値は初期設定のｒよりも小さい値に決定される。
【０１３２】
また、図１０に示すように、決定部２５３は、顔未検出時には、処理負荷を低減させるため、分解能決定部として、分解能（フレームレート、及び解像度）が低くなるように分解能を設定してもよい。係る場合、全体の処理負荷も低くなるため、処理分担を変更し、要求される処理時間を満たす範囲で可能な限り処理部１３３に処理を分担させることで、後段の処理部２３３、及び処理部３３３の処理負荷をより軽減することが可能となる。そこで、図１０に示す例では、フレームレート、及び解像度が低い値に決定される顔未検出時には、ｋの値は初期設定のｐ以上であり、ｑより小さい値に決定される。また、図１０に示す例では、フレームレート、及び解像度が低い値に決定される顔未検出時には、ｍの値は初期設定のｒ以上であり、ｎよりも小さい値に決定される。
【０１３３】
以上、図１０を参照して決定部２５３による整数ｋの値、整数ｍの値、及び分解能の決定方法について説明したが、図１０に示したのは一例であって、係る例に限定されない、例えば、決定部２５３は、検出された顔の数に応じて、より多段階で整数ｋの値、整数ｍの値、及び分解能を決定してもよい。
【０１３４】
決定部２５３は、決定した整数ｋの値、整数ｍの値、及び分解能の情報を含む処理制御情報を生成し、処理制御部２６３、及び通信インタフェース部２８０へ提供する。
【０１３５】
図９に戻って説明を続ける。処理制御部２６３は、決定部２５３から提供された処理制御情報に含まれる整数ｋの値、整数ｍの値に基づいて処理部２３３を制御する。決定部２５３から処理制御部２６３に提供される処理制御情報には、整数ｋ、及び整数ｍの情報（値）が含まれていてもよい。
【０１３６】
通信インタフェース部２８０は、図３を参照して説明した通信インタフェース部２２０と同様に、中間サーバ２−３による他の装置との間の通信を仲介する。通信インタフェース部２８０は、任意の無線通信プロトコルまたは有線通信プロトコルをサポートし、通信ネットワーク５Ａ、または通信ネットワーク５Ｂを介して、あるいは直接に他の装置との間の通信接続を確立する。通信インタフェース部２８０は、図９に示すように変換部２８２、及び通信部２８４を含む。
【０１３７】
変換部２８２は、通信部２８４が受信した通信用データを処理部２３３や記憶部２４０が扱うためのデータに変換（逆変換）し、処理部２３３や記憶部２４０へ提供する。例えば、変換部２８２は、本実施形態における第２の変換部として機能し、通信部２８４が通信ネットワーク５Ａから受信した通信用第ｋ層出力値を第ｋ層出力値に変換し、処理部２３３へ提供する。
【０１３８】
また、変換部２８２は、データを通信部２８４が送信可能な形式のデータ（通信用データ）に変換する。例えば、変換部２８２は、本実施形態における第３の変換部として機能し、処理部２３３から出力されるニューラルネットワークＮＮ３の第ｍ層出力値を通信用第ｍ層出力値に変換し、通信部２８４へ提供する。また、本実施形態に係る変換部２８２は、決定部２５３から提供された処理制御情報を通信用処理制御情報に変換し、通信部２８４へ提供する。
【０１３９】
通信部２８４は、通信ネットワーク５Ａを介して、または通信ネットワーク５Ｂを介して、あるいは直接に他の装置へ通信用データを送信し、または他の装置から通信用データを受信する。例えば、通信部２８４は、本実施形態における第１の受信部として機能し、監視カメラ１−１が送信した通信用第ｋ層出力値を通信ネットワーク５Ａから受信する。また、通信部２８４は、本実施形態における第２の送信部として機能し、変換部２８２から提供された通信用第ｍ層出力値を通信ネットワーク５Ｂ（本実施形態における第２の通信ネットワーク）へ送信する。また、本実施形態に係る通信部２８４は、変換部２８２から提供された通信用処理制御情報を通信ネットワーク５Ａ、及び通信ネットワーク５Ｂへ送信する。
【０１４０】
認識サーバ３−３は、図６に示すように、処理部３３３、記憶部３４０、及び通信インタフェース部３８０を備える情報処理装置である。図９に示す記憶部３４０の機能は図３を参照して説明した記憶部３４０の機能と同様であるため、説明を省略する。
【０１４１】
処理部３３３は、ニューラルネットワーク処理を行う。処理部３３３が行うニューラルネットワーク処理は、例えば、記憶部３４０に記憶されるニューラルネットワークパラメータによって特定され得る。なお、本実施形態において記憶部３４０が記憶するニューラルネットワークパラメータは、ニューラルネットワークＮＮ３全体に対応するパラメータであってもよいし、ニューラルネットワークＮＮ３のうち第ｑ＋１層Ｌｑ＋１から第ｎ層Ｌｎまでに対応するパラメータであってもよい。
【０１４２】
処理部３３３は、本実施形態における第３のニューラルネットワーク処理部として機能し、第ｍ層出力値を入力とし、図８に示したニューラルネットワークＮＮ３のうち第ｍ＋１層Ｌｍ＋１から第ｎ層Ｌｎまでを用いたニューラルネットワーク処理を行う。処理部３３３により出力される第ｎ層Ｌｎの出力値である第ｎ層出力値は、記憶部３４０に記憶されてもよいし、不図示の表示部に表示されてもよいし、変換部３８２により通信用データに変換された後に通信部３８４により他の装置へ送信されてもよい。
【０１４３】
上述したように、中間サーバ２−３が有する処理部２３２と処理部３３２の処理分担境界を示す整数ｍは動的に変化し得る。例えば、処理部３３３は、後述する処理制御部３６３の制御に従って第ｍ＋１層Ｌｍ＋１から第ｎ層Ｌｎまでを用いたニューラルネットワーク処理を行う。
【０１４４】
処理制御部３６３は、後述する通信インタフェース部３８０から提供される処理制御情報に基づいて、及び処理部３３３を制御する。通信インタフェース部３８０から処理制御部３６３に提供される処理制御情報には処理部２３３と、処理部３３３の処理分担境界を示す整数ｍの情報（値）が含まれていてもよい。
【０１４５】
通信インタフェース部３８０は、認識サーバ３−３による他の装置との間の通信を仲介する。通信インタフェース部３８０は、任意の無線通信プロトコルまたは有線通信プロトコルをサポートし、通信ネットワーク５Ｂを介して、あるいは直接に他の装置との間の通信接続を確立する。通信インタフェース部３８０は、図９に示すように変換部３８２、及び通信部３８４を含む。
【０１４６】
変換部３８２は、通信部３８４が受信した通信用データを処理部３３３や記憶部３４０が扱うためのデータに変換（逆変換）し、処理部３３３や記憶部３４０へ提供する。例えば、変換部３８２は、本実施形態における第４の変換部として機能し、通信部３８４が通信ネットワーク５Ｂ（本実施形態における第２の通信ネットワーク）から受信した通信用第ｍ層出力値を第ｍ層出力値に変換し、処理部３３３へ提供する。また、変換部３８２は、通信部３８４が通信ネットワーク５Ｂから受信した通信用処理制御情報を処理制御情報に変換し、処理制御部３６３へ提供する。
【０１４７】
通信部３８４は、通信ネットワーク５Ｂを介して、あるいは直接に他の装置へ通信用データを送信し、または他の装置から通信用データを受信する。例えば、通信部３８４は、本実施形態における第２の受信部として機能し、中間サーバ２−３が送信した通信用第ｍ層出力値を通信ネットワーク５Ｂから受信する。また通信部３８４は、中間サーバ２−３が送信した通信用処理制御情報を通信ネットワーク５Ｂから受信する。
【０１４８】
（動作例）
以上、本発明の第３の実施形態に係る監視システム９００−３の構成例について説明した。続いて、本実施形態の動作例について、図１１を参照して説明する。図１１は、本実施形態に係る監視システム９００−３の処理フローを示すシーケンス図である。
【０１４９】
図１１に示すように、まず監視カメラ１−３は、撮像部１１３の撮像により画像データを取得する（Ｓ３０２）。続いて、監視カメラ１−３の処理部１３３が、当該画像データを入力とし、ニューラルネットワークＮＮ３のうち第１層Ｌ１から第ｋ層Ｌｋまでを用いたニューラルネットワーク処理を行って第ｋ層出力値を出力する（Ｓ３０４）。
【０１５０】
続いて、監視カメラ１−３の変換部１８２が、第ｋ層出力値を通信用第ｋ層出力値に変換する（Ｓ２０６）。さらに、監視カメラ１−３の通信部１８４が、通信用第ｋ層出力値を通信ネットワーク５Ａへ送信し、中間サーバ２−３の通信部２８４が当該通信用第ｋ層出力値を通信ネットワーク５Ａから受信する（Ｓ３０８）。
【０１５１】
続いて、中間サーバ２−３の変換部２８２が、ステップＳ３０８で受信された通信用第ｋ層出力値を第ｋ層出力値に変換する（Ｓ３１０）。さらに、中間サーバ２−３の処理部２３３が、当該第ｋ層出力値を入力とし、ニューラルネットワークＮＮ３のうち第ｋ＋１層Ｌｋ＋１から第ｑ層Ｌｑまでを用いたニューラルネットワーク処理を行って第ｑ層出力値を出力する（Ｓ３１４）。
【０１５２】
続いて、中間サーバ２−３の決定部２５３が顔検出結果を示す第ｑ層出力値に基づいて、整数ｋの値、整数ｍの値、及び分解能を決定し、整数ｋの値、整数ｍの値、及び分解能の情報を含む処理制御情報を生成する（Ｓ３１４）。さらに、中間サーバ２−３の変換部２８２が処理制御情報を通信用処理制御情報に変換する（Ｓ３１６）。そして、中間サーバ２−２の通信部２７４が、通信用処理制御情報を通信ネットワーク５Ａへ送信し、監視カメラ１−３の通信部１８４が当該通信用処理制御情報を通信ネットワーク５Ａから受信する（Ｓ３１８）。
【０１５３】
続いて、監視カメラ１−３の変換部１８２が、通信用処理制御情報を処理制御情報に変換する（Ｓ３２０）。さらに、監視カメラ１−３の処理制御部１６３が、処理制御情報に基づいて、撮像部１１３の画像取得（撮像）に係る分解能の設定を変更する（Ｓ３２２）。
【０１５４】
続いて、中間サーバ２−３の処理部２３３が、ニューラルネットワークＮＮ３のうち第ｑ＋１層Ｌｑ＋１から第ｍ層Ｌｍまでを用いたニューラルネットワーク処理を行って第ｍ層出力値を出力する（Ｓ３２４）。
【０１５５】
さらに、中間サーバ２−３の変換部２８２が第ｍ層出力値を通信用第ｍ層出力値に変換する（Ｓ３２６）。さらに、中間サーバ２−３の通信部２８４が、通信用処理制御情報と通信用第ｍ層出力値を通信ネットワーク５Ｂへ送信し、認識サーバ３−３の通信部３８４が当該通信用処理制御情報と当該通信用第ｍ層出力値を通信ネットワーク５Ｂから受信する（Ｓ３２８）。
【０１５６】
続いて、認識サーバ３−３の変換部３８２が、ステップＳ３２８で受信された通信用処理制御情報と通信用第ｍ層出力値をそれぞれ処理制御情報と第ｍ層出力値に変換する（Ｓ３３０）。さらに、認識サーバ３−３の処理部３３３が、当該第ｍ層出力値を入力とし、ニューラルネットワークＮＮ３のうち第ｍ＋１層Ｌｍ＋１から第ｎ層Ｌｎまでを用いたニューラルネットワーク処理を行って第ｎ層出力値を出力する（Ｓ３３２）。
【０１５７】
なお、上述したステップＳ３０２〜Ｓ３３２の処理は、適宜、または必要に応じて繰り返されてもよい。そして、次のフレームの撮像は、ステップＳ３２２で設定された分解能で行われ、次のフレームの画像データを入力としたニューラルネットワーク処理は、ステップＳ３１４で決定された新たな処理分担境界に基づいて分担されるように制御される。
【０１５８】
（効果）
以上、本発明の第３の実施形態について説明した。本実施形態によれば、監視カメラ１−３の撮像により取得された画像データを入力としたニューラルネットワーク処理が、監視カメラ１−３、中間サーバ２−３、及び認識サーバ３−３の、３つの装置で分担される。また、上述したように、監視カメラ１−３と中間サーバ２−３の処理分担境界を示す整数ｋ、及び中間サーバ２−３と認識サーバ３−３の処理分担境界を示す整数ｍが動的に決定されるため、より柔軟に処理を分担させることが可能である。また、上述したように、監視カメラ１−３による撮像に係る分解能を制御することで、より高精度に顔認識を行うことが可能である。
【０１５９】
＜＜３．変形例＞＞
以上、本発明の第１の実施形態、第２の実施形態、及び第３の実施形態について説明した。以下では、上記各実施形態の幾つかの変形例を説明する。なお、以下に説明する各変形例は、単独で各実施形態に適用されてもよいし、組み合わせで各実施形態に適用されてもよい。また、各変形例は、各実施形態で説明した構成に代えて適用されてもよいし、各実施形態で説明した構成に対して追加的に適用されてもよい。
【０１６０】
＜３−１．変形例１＞
上記実施形態では、監視システム９００に１つの監視カメラ１と、１つの中間サーバ２と、１つの認識サーバ３が含まれる例を説明したが、本技術は係る例に限定されない。監視システム９００は各装置を複数含んでもよく、例えば、１つの認識サーバ３に対して、複数の中間サーバ２が対応していてもよいし、１つの中間サーバ２に対して、複数の監視カメラ１が対応していてもよい。係る構成の場合、上述した第３の実施形態では、顔未検出時には中間サーバ２や認識サーバ３の処理負荷を低減させることが可能であるため、処理リソースを効率的に利用可能となる。
【０１６１】
＜３−２．変形例２＞
上記実施形態では、各層の出力値が、当該層の次の番号（順番）を有する層に入力されるニューラルネットワークを用いたニューラルネットワーク処理を例に説明を行ったが、本技術は係る例に限定されない。例えば、本技術は、複数の層の出力が１の層へ入力され、または１の層の出力が複数の層へ入力されるニューラルネットワークを用いたニューラルネットワーク処理においても適用可能である。係る場合には、出力値を入力される側（受け取る側）の層の番号が出力値を出力する側の層の番号よりも大きくなるように、番号が設定されてよい。
【０１６２】
＜３−３．変形例３＞
上記実施形態では、記憶部１４０、記憶部２４０、及び記憶部３４０に予めニューラルネットワークパラメータが記憶される例を説明したが、本技術は係る例に限定されない。例えば、１つの装置の記憶部にのみニューラルネットワークパラメータが記憶されていて、他の装置は、当該１つの装置からニューラルネットワークパラメータを受信してもよい。
【０１６３】
＜３−４．変形例４＞
上記第３の実施形態では、顔検出結果を示す第ｑ層出力値に基づいて処理分担境界を示す整数ｋ、及び整数ｍが決定される例を説明したが、本技術は係る例に限定されない。例えば、決定部２５３は、第ｑ層出力値に代えて、または加えて、通信状況や、現在の各処理部のリソース状況等に基づいて、処理分担境界を決定してもよい。
【０１６４】
＜＜４．ハードウェア構成例＞＞
以上、本発明の各実施形態を説明した。上述したニューラルネットワーク処理、分担決定処理、分解能決定処理等の情報処理は、ソフトウェアと、監視カメラ１、中間サーバ２、認識サーバ３のハードウェアとの協働により実現される。以下では、本発明の実施形態に係る情報処理装置である監視カメラ１、中間サーバ２、認識サーバ３のハードウェア構成例として、情報処理装置１０００のハードウェア構成について説明する。
【０１６５】
図１２は、本発明の実施形態に係る情報処理装置１０００のハードウェア構成を示す説明図である。図１２に示したように、情報処理装置１０００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１００１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１００２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１００３と、入力装置１００４と、出力装置１００５と、ストレージ装置１００６と、通信装置１００７とを備える。
【０１６６】
ＣＰＵ１００１は、演算処理装置及び制御装置として機能し、各種プログラムに従って情報処理装置１０００内の動作全般を制御する。また、ＣＰＵ１００１は、マイクロプロセッサであってもよい。ＲＯＭ１００２は、ＣＰＵ１００１が使用するプログラムや演算パラメータなどを記憶する。ＲＡＭ１００３は、ＣＰＵ１００１の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一時記憶する。これらはＣＰＵバスなどから構成されるホストバスにより相互に接続されている。主に、ＣＰＵ１００１、ＲＯＭ１００２及びＲＡＭ１００３とソフトウェアとの協働により、例えば、処理部１３２、１３３、２３１、２３２、２３３、３３１、３３２、３３３、決定部２５３、処理制御部１６３、２６３、３６３等の機能が実現される。
【０１６７】
入力装置１００４は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチ及びレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、ＣＰＵ１００１に出力する入力制御回路などから構成されている。情報処理装置１０００のユーザは、該入力装置１００４を操作することにより、情報処理装置１０００に対して各種のデータを入力したり処理動作を指示したりすることができる。
【０１６８】
出力装置１００５は、例えば、液晶ディスプレイ（ＬＣＤ）装置、ＯＬＥＤ装置及びランプなどの表示装置を含む。さらに、出力装置１００５は、スピーカ及びヘッドホンなどの音声出力装置を含む。例えば、表示装置は、撮像された画像や生成された画像などを表示する。一方、音声出力装置は、音声データなどを音声に変換して出力する。
【０１６９】
ストレージ装置１００６は、データ格納用の装置である。ストレージ装置１００６は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置及び記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。ストレージ装置１００６は、ＣＰＵ１００１が実行するプログラムや各種データを格納する。なお、ストレージ装置１００６は、記憶部１４０、２４０、３４０に対応する。
【０１７０】
通信装置１００７は、例えば、通信網に接続するための通信デバイスなどで構成された通信インタフェースである。また、通信装置１００７は、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）対応通信装置、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）対応通信装置、有線による通信を行うワイヤー通信装置、またはブルートゥース（登録商標）通信装置を含んでもよい。なお、通信装置１００７は、通信インタフェース部１２０、１７０、１８０、２２０、２７０、２８０、３２０、３７０、３８０、に対応する。
【０１７１】
＜＜５．むすび＞＞
以上説明したように、本発明の実施形態によれば、処理をより細かい単位で分担させることが可能である。そのため、要求される処理時間を満たすことがより容易となり、例えばより容易に処理のリアルタイム性を保つことが可能となる。
【０１７２】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【０１７３】
例えば、上記実施形態では、監視システム９００が通信ネットワーク５Ａと通信ネットワーク５Ｂを有する例を説明したが、本発明はかかる例に限定されない。例えば、通信ネットワーク５Ａと通信ネットワーク５Ｂは同一の通信ネットワークであってもよい。
【０１７４】
また、上記実施形態におけるシーケンス図では、監視カメラ１から一連の処理が開始されていたが、認識サーバ３から監視カメラ１へ処理開始のためのアクセスが行われて、一連の処理が開始されてもよい。
【０１７５】
また、上記実施形態における各ステップは、必ずしもシーケンス図として記載された順序に沿って時系列に処理される必要はない。例えば、上記実施形態の処理における各ステップは、シーケンス図として記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
【０１７６】
また、上記実施形態によれば、ＣＰＵ１００１、ＲＯＭ１００２、及びＲＡＭ１００３などのハードウェアを、上述した監視カメラ１、中間サーバ２、認識サーバ３の各構成と同様の機能を発揮させるためのコンピュータプログラムも提供可能である。また、該コンピュータプログラムが記録された記録媒体も提供される。
【符号の説明】
【０１７７】
１  監視カメラ
２  中間サーバ
３  認識サーバ
５  通信ネットワーク
１１１  撮像部
１２０  通信インタフェース部
１２２  変換部
１２４  通信部
１３２  処理部
１４０  記憶部
１６３  処理制御部
２２０  通信インタフェース部
２２２  変換部
２２４  通信部
２３１  処理部
２４０  記憶部
２５３  決定部
２６３  処理制御部
３２０  通信インタフェース部
３２２  変換部
３２４  通信部
３３１  処理部
３４０  記憶部
３６３  処理制御部
９００  監視システム
【図１】
2019053581.tif 000003
【図２】
2019053581.tif 000004
【図３】
2019053581.tif 000005
【図４】
2019053581.tif 000006
【図５】
2019053581.tif 000007
【図６】
2019053581.tif 000008
【図７】
2019053581.tif 000009
【図８】
2019053581.tif 000010
【図９】
2019053581.tif 000011
【図１０】
2019053581.tif 000012
【図１１】
2019053581.tif 000013
【図１２】
2019053581.tif 000014