(57)【要約】【課題】クライアント側で取得した情報の特徴量を抽出した上で、パブリックネットワークの入り口となる複数のエッジサーバから１つを選択して特徴量辞書との照合を行い、照合結果のみをパブリックネットワークを介してクラウドに送信する。【解決手段】実施形態のデータ処理システムは、データを入力するデータ取得部と、取得したデータから特徴量を抽出する特徴量抽出部と、抽出した特徴量と、取得したデータの識別情報とを含む認識データを送信する第１の通信部を備える情報処理端末と、認識データを受信する第２の通信部を備える複数のエッジサーバと、認識メタデータを受信する第３の通信部と、受信した認識メタデータを記憶する記憶部を備える１つ以上のデータ処理サーバとを備える。【選択図】  図１
2019028744.tif 000002
【特許請求の範囲】
【請求項１】
データを入力するデータ取得部と、
前記データ取得部にて取得したデータから特徴量を抽出する特徴量抽出部と、
前記特徴量抽出部で抽出した特徴量と、前記データ取得部にて取得したデータの識別情報と、を含む認識データを送信する第１の通信部と、
を備える１つ以上の情報処理端末と、
前記認識データを受信する第２の通信部を備える複数のエッジサーバと、
前記複数のエッジサーバのうち、１つ以上のエッジサーバは、
前記第２の通信部にて受信した認識データを用いて特徴量の識別処理を行い、その識別処理結果を前記認識データに付加し前記認識データ内の特徴量を破棄した認識メタデータを生成する仮想マシン部を備える認識サーバであり、
前記認識メタデータを受信する第３の通信部と、
受信した前記認識メタデータを記憶する記憶部と、
を備える１つ以上のデータ処理サーバと、
を備え、
前記第２の通信部は、さらに、認識データを送信、および認識メタデータを受信でき、
前記情報処理端末が送信した認識データが認識メタデータとなって前記データ処理サーバに到達するまでに、少なくとも1つ以上の認識サーバを通過する、データ処理システム。
【請求項２】
１つ以上の情報端末と複数のエッジサーバと１つ以上のデータ処理サーバを有するデータ処理システムのデータ処理方法であって、
前記１つ以上の情報端末は、
データを入力するデータ取得ステップと、
前記データ取得ステップにて取得したデータから特徴量を抽出する特徴量抽出ステップと、
前記特徴量抽出ステップで抽出した特徴量と、前記データ取得ステップにて入力したデータの識別情報と、を含む認識データを送信する第１の通信ステップと、を有し、
前記複数のエッジサーバは、
前記認識データを受信する第２の通信ステップを有し、
前記複数のエッジサーバのうち、１つ以上のエッジサーバは、
前記第２の通信ステップにて受信した認識データを用いて特徴量の識別処理を行い、その識別処理結果を前記認識データに付加し前記認識データ内の特徴量を破棄した認識メタデータを生成する認識メタデータ生成ステップを有した認識サーバであり、
前記１つ以上のデータ処理サーバは、
前記認識メタデータを受信する第３の通信ステップと、
受信した前記認識メタデータを記憶する記憶ステップと、
を有し、
前記第２の通信ステップは、さらに、認識データを送信、および認識メタデータを受信し、
前記情報端末が送信した認識データが認識メタデータとなって前記データ処理サーバに到達するまでに、少なくとも1つ以上の認識サーバを通過する、データ処理方法。
【請求項３】
前記複数のエッジサーバのうちの１つである第１のエッジサーバは、エッジサーバのネットワーク状況および、前記第１のエッジサーバと第１のエッジサーバ以外のエッジサーバ間の距離を取得する制御データ通信ステップと、
前記制御データ通信ステップの通信結果に基づいて、接続先優先度を特定するための優先度テーブルを生成し、第２のエッジサーバを特定するルーティング制御ステップと、
を備え、
前記ルーティング制御ステップで特定した第２のエッジサーバに優先的にデータ送信を行う、請求項２に記載のデータ処理方法。
【請求項４】
前記第１のエッジサーバが仮想マシン部を持たず、前記第１のエッジサーバの通信手段で認識データを受信した場合、
前記制御データ通信ステップは、第１のエッジサーバ以外のエッジサーバが仮想マシン部を持つか否かの情報を取得し、
前記ルーティング制御ステップは、仮想マシン部を持つか否かの情報に基づいて接続先優先度を特定するためのルーティングテーブルを生成し、第３のエッジサーバを特定し、
前記ルーティング制御ステップで特定した第３のエッジサーバを目的地として設定する、請求項２または請求項３に記載のデータ処理方法。
【請求項５】
前記複数のエッジサーバのうちの１つである、仮想マシン部を持つ第４のエッジサーバは、
第４のエッジサーバ以外のエッジサーバおよび前記データ処理サーバから、認識データの識別処理に利用する特徴量辞書を取得するステップと、
取得した前記特徴量辞書を一時保持するステップと、
を備える、請求項２から請求項４のいずれかに記載のデータ処理方法。
【請求項６】
前記データは画像である、請求項２から請求項５のいずれかに記載のデータ処理方法。
【請求項７】
前記データは音声である、請求項２から請求項５のいずれか記載のデータ処理方法。
【請求項８】
前記特徴量抽出部は、前記データ取得部にて取得したデータに対して識別番号を付与し、
前記データ取得部にて取得したデータよりも前に取得した一定回数分のデータを、各々のデータに付与した識別番号と、各々のデータより算出された特徴量と、各々のデータから生成した認識データの送信先であるエッジサーバと、を関連付けて一時記憶し、
前記データ取得部にて取得したデータの識別番号は、前記一時記憶の内容に基づき付与され、
前記データ取得部にて取得したデータに付与された識別番号と、前記データ取得部にて取得したデータよりも前に取得したデータに同一の識別番号が付与されているデータが存在する場合、
前記第１の通信部は、前記一時記憶の内容に基づいて、前記データ取得部にて取得したデータと同一の識別番号が付与されているデータから生成された認識データの送信先であるエッジサーバに、前記データ取得部にて取得したデータより生成された認識データを優先的に送信する、請求項１に記載のデータ処理システム。
【請求項９】
前記特徴量抽出ステップは、前記データ取得ステップにて取得したデータに対して識別番号を付与し、
前記データ取得ステップにて取得したデータよりも前に取得した一定回数分のデータを、各々のデータに付与した識別番号と、各々のデータより算出された特徴量と、各々のデータから生成した認識データの送信先であるエッジサーバと、を関連付けて一時記憶し、
前記データ取得ステップにて取得したデータの識別番号は、前記一時記憶の内容に基づき付与され、
前記データ取得ステップにて取得したデータに付与された識別番号と、前記データ取得部にて取得したデータよりも前に取得したデータに同一の識別番号が付与されているデータが存在する場合、
前記第１の通信ステップは、前記一時記憶の内容に基づいて、前記データ取得ステップにて取得したデータと同一の識別番号が付与されているデータから生成された認識データの送信先であるエッジサーバに、前記データ取得ステップにて取得したデータより生成された認識データを優先的に送信する、請求項２に記載のデータ処理方法。
【請求項１０】
前記ルーティング制御ステップは、前記第２の通信ステップにて受信した認識データよりも前に受信した一定回数分のデータを、各々の認識データの送信先として特定されたエッジサーバと、各々の認識データに付与された識別番号と、を関連付けて一時記憶し、
前記第２の通信ステップにて受信した認識データに付与された識別番号と、前記第２の通信ステップにて受信したデータよりも前に受信した認識データに同一の識別番号が付与されているデータが存在する場合、
前記第２の通信ステップは、前記一時記憶の内容に基づいて、前記第２の通信ステップにて受信した認識データと同一の識別番号が付与されている認識データの送信先として特定されたエッジサーバに、前記第２の通信ステップにて受信した認識データを優先的に送信する、請求項３から請求項７、請求項９のいずれかに記載のデータ処理方法。
【請求項１１】
１つ以上の情報端末と複数のエッジサーバと１つ以上のデータ処理サーバを備えるデータ処理システムによって実行されるプログラムであって、
上記１つ以上の情報端末は、
データを入力するデータ取得機能と、
前記データ取得機能にて取得したデータから特徴量を抽出する特徴量抽出機能と、
前記特徴量抽出機能で抽出した特徴量と、前記データ取得機能で入力したデータの識別情報と、を含む認識データを送信する第１の通信機能と、
を備え、
前記複数のエッジサーバは、
認識データを受信する第２の通信手段を備え、
前記複数のエッジサーバのうち、１つ以上のエッジサーバは、
前記第２の通信手段にて受信した認識データを用いて特徴量の識別処理を行い、その識別処理結果を前記認識データに付加し前記認識データ内の特徴量を破棄した認識メタデータを生成する認識メタデータ生成機能を備えた認識サーバであり、
前記１つ以上のデータ処理サーバは、
認識メタデータを受信する第３の通信機能と、
受信した前記認識メタデータを記憶する記憶機能と、
を備え、
前記第２の通信手段は、さらに、認識データを送信、および認識メタデータを受信し、
前記情報端末が送信した認識データが認識メタデータとなって前記データ処理サーバに到達するまでに、少なくとも1つ以上の認識サーバを通過することをコンピュータに実現させる、
データ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
データ処理システム、データ処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、次から次へとデータ照合を求められるような、データ量が大きく、データ処理やその際に使用する辞書の更新にリアルタイム性が求められる場面が増えている。従来のデータ処理システムの形態として、オンプレミス型、Chip to cloud型が知られている。
【０００３】
システム全体をユーザが利用するオンサイト環境に設置する、オンプレミス型のデータ処理システムでは、クライアントとサーバがそれぞれオンサイト若しくはその近くに設置されているため、ユーザ側のインフラ環境を最大限活用でき、画像などの大きいデータを、ネットワークを介してやり取りする場合のレスポンスタイムを短くできる。また、パブリック環境を利用しないような構成をとることで、特に人物画像を送信する場合は、個人情報を含む画像の漏えいリスクが無いシステムを構築できる。しかし、あらかじめシステムインテグレーション（以下、ＳＩとする）されたハードウェア構成を容易に変更できないという課題がある。また、顧客の要求に応じて都度が必要となり、開発コストとＳＩコストの両面でコスト増加を抑えることが難しいという課題がある。
【０００４】
各デバイスに組み込まれたソフトウェアが、クラウド上に存在するサーバに上げるべきデータかあるいは現場で処理すべきデータかを機器側で判断し、必要な情報のみをクラウドに送る、Chip to cloud型（以下C2C型とする）と呼ばれるデータ処理システムでは、クラウド上で共用するサーバ側でスケールイン・アップを行えるため柔軟なシステム構築が可能であり、ＳＩコストを低減できる。また、クライアント端末数が増加してもサーバ側で一括管理ができる、複数のテナントを同時に運用できるなどのメリットがある。しかし、画像などの情報量の多いデータをクラウドとやり取りするため、パブリックネットワーク帯域の通信資源の制約（ベストエフォート型）により、リアルタイム処理に必要な高速レスポンスが実現できないという課題がある。また、特に人物画像や声等を送信する場合は、個人情報を含むデータをパブリックに公開しなければならず、個人情報漏えいの危険が伴うという課題がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2002-183014号公報
【発明の概要】
【０００６】
クライアント側で取得した情報の特徴量を抽出した上で、パブリックネットワークの入り口となる複数のエッジサーバから１つを選択して特徴量辞書との照合を行い、照合結果のみをパブリックネットワークを介してクラウドに送信する。エッジサーバは、エッジサーバ毎のローカルルールやエッジサーバ全体に設定されるグローバルなルールに基づいて接続先が動的に変更される。
【発明が解決しようとする課題】
【０００７】
本発明が解決しようとする課題は、オンプレミス型とC2C型の両方の課題に対して好適なシステムを提供することである。 計算資源を必要とする辞書との照合を複数のエッジサーバで行うことで、スケーラビリティを実現でき、構成を容易に変更できる。エッジサーバ上のアプリケーションを共通化することでコスト増加を抑制できる。クライアントから距離的に近いエッジサーバで照合を行うことで、高速レスポンスが実現できる。パブリックネットワークに上る前に、特に人物画像や声等を送信する場合は、データから個人情報を落とすことに加え、エッジサーバの接続先が動的に変更されることにより個人情報の漏えいリスクを低減できる。
【課題を解決するための手段】
【０００８】
上記課題を達成するために、実施形態のデータ処理システムは、データを入力するデータ取得部と、前記データ取得部にて取得したデータから特徴量を抽出する特徴量抽出部と、前記特徴量抽出部で抽出した特徴量と、前記データ取得部にて取得したデータの識別情報と、を含む認識データを送信する第１の通信部と、を備える１つ以上の情報処理端末と、前記認識データを受信する第２の通信部を備える複数のエッジサーバと、前記複数のエッジサーバのうち、１つ以上のエッジサーバは、前記第２の通信部にて受信した認識データを用いて特徴量の識別処理を行い、その識別処理結果を前記認識データに付加し前記認識データ内の特徴量を破棄した認識メタデータを生成する仮想マシン部を備える認識サーバであり、前記認識メタデータを受信する第３の通信部と、受信した前記認識メタデータを記憶する記憶部と、を備える１つ以上のデータ処理サーバと、を備える。
【図面の簡単な説明】
【０００９】
【図１】第一の実施形態に係るデータ処理システムの構成例
【図２】第一の実施形態に係るデータ処理端末１１０の構成例
【図３】第一の実施形態に係るデータ処理端末１１０の機能ブロック図の一例
【図４】第一の実施形態に係るデータ処理端末１１０におけるデータ処理フローの一例
【図５】第一の実施形態に係るエッジサーバ２１０の機能ブロック図の一例（仮想マシン部あり）
【図６】第一の実施形態に係るエッジサーバ２１０の機能ブロック図の一例（仮想マシン部なし）
【図７】第一の実施形態に係るエッジサーバ２１０におけるデータ処理フローの一例
【図８】第一の実施形態に係るベストルートのルーティングの一例
【図９】第一の実施形態に係るワーストルートのルーティングの一例
【図１０】第一の実施形態に係る好適なルーティングの一例
【図１１】第一の実施形態に係る好適なルーティングを行うためのルーティング制御フローの一例
【図１２】仮想マシン部の有無に関する欄を備えたエッジＡ３の優先度テーブルの一例
【図１３】目的地であるエッジＡ１までの距離を含めたエッジＡ３の優先度テーブルの一例
【図１４】目的地であるエッジＡ１までの距離を含めたエッジＡ２の優先度テーブルの一例
【図１５】目的地であるデータ処理サーバまでの距離を含めたエッジＡ１の優先度テーブルの一例
【図１６】目的地であるデータ処理サーバまでの距離を含めたエッジＢ１の優先度テーブルの一例
【図１７】第二の実施形態に係るデータ処理端末１１０内のデータ認識部１１８の機能ブロック図の一例
【発明を実施するための形態】
【００１０】
（第一の実施形態）
以下、発明を実施するための実施形態について説明する。
【００１１】
図１は、本実施形態に係るデータ処理システムの構成例を示している。本データ処理システムは、データ処理端末群１００、エッジサーバ群２００、データ処理サーバ群３００を備える。
【００１２】
データ処理端末群１００は、１つ以上のデータ処理端末１１０から構成されている。また、データ処理サーバ群３００は、１つ以上のデータ処理サーバ３１０から構成されている。データ処理端末１１０は、エッジサーバ群２００を介してデータ処理サーバ群３００に接続されている。
【００１３】
エッジサーバ群２００は、複数のエッジサーバ２１０とそれぞれのエッジサーバ２１０とを接続するネットワークで構成される。これらのエッジサーバ２１０は、同一サイトだけでなく、物理的に異なる１つ以上の場所に設置される。例えば、エッジサーバ２１０は、複数のインターネットサービスプロバイダ（ISP）が提供するデータセンターに設置されてもよい。また、これらを接続するネットワークは高速な通信を実現する専用の通信資源で接続されてもよいし、パブクリックネットワーク回線を利用してもよい。また、それぞれが混在する構成としてもよい。ここでは、特定のエッジサーバ２１０、もしくはデータ処理端末１１０、もしくはデータ処理サーバ３１０に接続されている例を示しているが、いずれのエッジサーバ２１０と接続されていてもよい。
【００１４】
本実施形態では、処理対象のデータが人物を含む画像である場合、特に連続して識別処理、例えば照合を求められるような動画を扱う場合を説明する。照合とは、予め登録されたデータと照合対象となるデータとの類似度を算出し、同一かどうかを判定する処理である。なお、処理対象のデータは、犬や猫等の動物の画像や非生物の画像であってもよいし、人物の声や動物の鳴き声等、生物の発する音声や、特徴的な音声を発する装置や車両等、非生物の音声を含む音声データ等、人物画像でなくても良い。また、識別処理では、照合以外の処理として、属性判定を行っても良い。属性判定とは、予め登録されたデータと属性判定対象となるデータの属性ごとの類似度を算出し、どの属性の類似度が高いかどうかを判定する処理である。一例として、人物画像から性別を判定するような処理に該当する。
【００１５】
＜データ処理端末について＞
まず、データ処理端末１１０の構成例を図２に示す。データ処理端末１１０はＣＰＵ（Central  Processing  Unit）などのプロセッサ１１１、ＲＡＭ（Random  Access  Memory）やＲＯＭ（Read  Only  Memory）などのメモリ１１２、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）などのストレージ１１３、カメラやマイクなどのセンサ１１４、入力デバイス、表示デバイスといった機器を接続するための機器Ｉ／Ｆ１１５、ネットワークを介して外部と通信を行う通信部１１６を備える。
【００１６】
ＣＰＵ１１１は、プログラムを実行する機能、例えばストレージに保存した画像をアップコンバート／ダウンコンバート／トリミングしたり、画像のフォーマットを変換したり、画像を圧縮したりする機能を有する。メモリ１１２は、前記プログラムを格納したり、画像データを格納したりすることが可能で、一般的なコンピュータや組み込み機器で用いられるメモリである。
【００１７】
ストレージ１１３は、ＣＰＵ上で動作するプログラムやセンサ１１４でセンシングされたデータ（例えばカメラで撮影された画像やマイクで集音された音声など）を格納する。そして、ストレージ１１３は、本システムが起動された時の最初の処理で、当該プログラムをメモリ１１２にコピーする。
【００１８】
センサ１１４は、例えば画像を撮影・キャプチャするカメラであっても良いし、例えば、音声を録音、キャプチャするマイクであっても良い。このセンサ１１４が例えばカメラである場合、センシングしたデータをイメージ化できる機能を有しており、例えば、USB接続可能なWebカメラなどでもよいし、ネットワーク接続可能なIPカメラでもよいし、デジタルカメラなどで利用されるイメージセンサでもよい。また、赤外線センサやレーザーセンサなどの特殊なセンサを用いてもよい。このセンサ１１４が例えばマイクである場合は、センシングしたデータを音声化できる機能を有しており、例えば、ＵＳＢ接続可能なWebマイクなどでも良いし、スマートフォンのような埋め込み型マイクでも良い。
【００１９】
機器Ｉ／Ｆ１１５は、データ処理端末１１０と外部機器を接続するインターフェースであり、例えば外部ストレージ機器を当該機器Ｉ／Ｆに接続して、ストレージ１１３やメモリ１１２に保存されている画像を出力したり、データやファイルを出力したりする。あるいは、マウスなどの入力デバイスを接続しても良いし、ディスプレイなどの表示デバイスを接続しても良い。通信部１１６は、外部のネットワークとデータをやり取りする機能を有する。なお、データ処理端末１１０は、例えば、ＰＣやセットトップボックスなどの計算資源であり、その上で動作するソフトウェアによって機能を実現してもよい。または、専用のハードウェア装置であってもよい。もしくは、その両方の組み合わせでもよい。ここでは一般的な機能として各部を記載しているが、利用しない機能については必須構成ではない。
【００２０】
続いて、本実施形態に係るデータ処理端末１１０の機能ブロック図を図３に示す。データ処理端末１１０は、データ取得部１１７、データ認識部１１８、データ切り出し部１１９、特徴量抽出部１２０、制御部１２１、通信部１２２を備える。
【００２１】
データ取得部１１７は、例えば、イメージセンサ等であり、人物が含まれる画像を取得する。データ認識部１１８は、画像から人物の上半身や人物の顔を検出し、その座標を特定する。データ切り出し部１１９は、データ認識部１１８における検出データに基づいて、画像から検出部分のみの画像を切り出す。特徴量抽出部１２０は、検出部分のみを切り出した画像から、人物を照合するために必要な画像特徴量を抽出する。または、人物の性別・年齢などの属性情報を判断するために必要な画像特徴量を抽出する。制御部１２１は、データ認識部１１８の検出動作や通信部１２２のデータ送受信を制御する。通信部１２２は、通信プロトコルに合わせてデータをネットワークに伝送する。
【００２２】
本実施形態に係るデータ処理端末１１０におけるデータ処理フローを図４に示す。本実施形態では、処理対象のデータが人物を含む画像である。まず、データ取得部１１７は、画像Aを取得し、画像Aの画像情報と共にデータ認識部１１８へ送信される（S1）。画像Aの画像情報とは、画像Aに附随した情報であり、例えば、付与された画像識別IDや画像Aを取得した時刻などを含む。データ認識部１１８は、取得した画像Aに人物が含まれるか否か判断し（S2）、含まれる場合は、画像Aに含まれる人物の領域、例えば人物の顔の領域を検出し、画像A内の座標を特定する（S3）。この検出処理では、人物の顔や人物の上半身、全身などの人物認識や、自動車やバイクなどのオブジェクト認識に至るまで、あらかじめ定めた特定の対象物を認識することができる公知技術を使用する。例えば、画像からHOG（Histogram of Gradient）特徴量を算出し、あらかじめ特定の対象物向けに作成した特徴量辞書とマッチングを行う方法などが挙げられる。特開2010-44439では、HOGの共起発生確率を用いた特徴量を用いて対象物を認識する手法がある。本実施形態では、例えば図２に図示しない人物の顔の特徴量辞書を備えており、画像A内の特徴量を算出し、特徴量辞書との類似度を計算することにより、人物の顔の領域を特定する。ここで、特徴量や、認識に用いるアルゴリズムは、対象物によって異なる場合がある。例えば、モノクロ画像のみを利用するアルゴリズムとカラー画像を利用するアルゴリズム、デプス画像（レンジ画像）を用いるアルゴリズムなどの違いが含まれる。
【００２３】
なお、画像Aに複数の人物がいる場合は、複数の検出座標データを含んでも良いが、本実施形態では１人の人物を含んだ画像に対する処理について記述する。複数の場合には、本実施の処理フローに沿って、Ｓ３からＳ６の処理を繰り返せばよい。なお、検出座標データとは、例えば矩形領域の４点の頂点の内、画像の左上の頂点と画像の右下の頂点の座標から成るデータである。これら２つの頂点が判れば、切り出し開始座標と、切り出し画像幅、切り出し画像高が算出できる。
【００２４】
その後、画像Aとその画像情報、検出した座標データをデータ切り出し部１１９に渡す。データ切り出し部１１９は、データ認識部１１８で検出した座標データに基づき、画像Aの顔の領域を切り出した画像Bを作成し、画像Bと画像Bの元画像である画像Aの画像情報を特徴量抽出部１２０に渡す（S4）。特徴量抽出部１２０は、画像Bの特徴量を算出する（S5）。この特徴量データは、例えば人物の性別・年齢などの属性情報を判断したり、人物の照合を行ったり、識別処理をするために必要な画像の特徴量であり、画像内に複数の人物が存在する場合は、特徴量が複数個存在する。なお、特徴量抽出部１２０は、算出した特徴量データや画像情報（画像識別ID、画像を取得した時刻を含む）を含む、画像認識データを通信するために好適なフォーマットに整形する機能を含めてもよい。例えば、HTTP通信などで一般的に使われるXMLやJSON、SQLなどである。
【００２５】
特徴量データ、画像情報を含む画像認識データは、通信部１２２を介してエッジサーバに送信される（S6）。このとき、画像認識データとして画像Aおよび画像Bを含んでも良いが、人物の顔の画像という個人情報を含むデータがネットワークを介して送信されることとなるため、含まない方が望ましい。データ処理端末１１０に特徴量抽出部１２０を備えていない場合には、画像を含む画像認識データが送信される。
【００２６】
＜エッジサーバについて＞
続いて、本実施形態に係るエッジサーバ２１０の機能ブロック図を図５に示す。エッジサーバ２１０は、制御データ通信部２１１、ルーティング制御部２１２、通信部２１３、仮想マシン部２１４を備える。制御データ通信部２１１は、自分以外のエッジサーバ２１０と定期的に通信しており、各エッジサーバ２１０のネットワーク状況等を監視している。ルーティング制御部２１２は、制御データ通信部２１１の監視の結果に基づいて、通信部２１３が受け取ったデータのドメイン名を解釈し、データの目的地（IPアドレス）を決定する。なお、データの目的地とは、最終目的地だけではなく、ルーティングの経路上の目的地も含む。通信部２１３は、ルーティング制御部２１２が提供するIPアドレスに従い、データの送受信を行う。なお、制御データ通信部２１１と通信部２１３は、異なるネットワークで構成されていてもよい。制御データ通信部２１１においてネットワーク制御情報が受信できないと、通信部２１３で受け取ったデータの目的地あるいはそのルートが照会できないため、制御データ通信部２１１は、より信頼性の高いネットワークインフラを利用して接続されるのが望ましい。仮想マシン部２１４は、アプリケーションを実行することが可能な仮想計算資源であり、例えば、受信した画像認識データに対して人物の識別処理を行う。
【００２７】
エッジサーバ２１０の一般的な機能は、エッジサーバに送られているデータパケットの名前解決を行い、最終目的地までデータパケットのルーティング制御を行うことで、ドメインネームシステム（DNS）に相当する。エッジサーバ２１０は、データのキャッシングを行う機能を持っていてもよい。なお、図５では仮想マシン部２１４のあるエッジサーバ２１０の機能ブロック図の一例を示したが、全てのエッジサーバに必ずしも仮想マシン部２１４が必要とは限らない。図６のような仮想マシン部２１４が無い場合は、一般的なDNS機能としてルーティング制御を行えばよい。
【００２８】
次に、本実施形態に係るエッジサーバ２１０におけるデータ処理フローを図７を用いて説明する。まず、通信部２１３がデータを受信し、通信部２１３は、受信したデータAが画像認識データか否かを判断する（S7）。通信部２１３が受信するデータAは、識別処理、例えば人物照合・属性判断等を必要する画像認識データか、人物照合・属性判断等の識別処理が適用された認識メタデータ（詳細は後述する）のいずれかである。画像認識データでなかった場合（S7のNo）、つまり後述する認識メタデータだった場合、通信部２１３は、ルーティング制御部２１２が制御データ通信部２１１の監視の結果に基づき決定した目的地へデータAを送信し（S8)、フローは終了となる。このとき、通信部２１３は、ルーティング制御部２１２が受け取ったIPアドレスに従って、次のエッジサーバへとデータAを送信する。
【００２９】
制御データ通信部２１１は、自分（エッジサーバ２１０）以外のエッジサーバと定期的に通信しており、各エッジサーバのネットワーク状況等を監視している。これらの情報はネットワーク制御情報として、各エッジサーバ間でやり取りされる。例えば、ネットワーク障害が発生しているエッジサーバの情報を受け取ると、ルーティング制御部２１２は、ルーティング対象リスト（後述する優先度テーブル）から当該エッジサーバ２１０のIPアドレスを除外する。また、ネットワーク帯域の細いエッジサーバや、過去にデータ漏えいが発生したことがあるエッジサーバなど、信頼性が低いエッジサーバをルーティング対象リストから除外したり、優先度を下げたりといった制御を行ってもよい。
【００３０】
通信部２１３が受け取ったデータが画像認識データであった場合（S7のYes）、続いて、エッジサーバ２１０内に仮想マシン部２１４が存在するか否か判断する（S9）。図６に図示するような仮想マシン部２１４が存在しない構成の場合、通信部２１３は、ルーティング制御部２１２が制御データ通信部２１１の監視の結果に基づき決定した目的地へ向けてデータAを送信し（S8)、処理は終了となる。
【００３１】
図５に図示するような仮想マシン部２１４が存在する構成の場合、画像認識データであるデータAの一部、少なくとも画像特徴量データを仮想マシン部２１４へ送信する（S9）。続いて、仮想マシン部２１４は、受信したデータに基づき、人物の性別・年齢などの属性の判断や人物照合等の識別処理を行う（S10)。仮想マシン部２１４は、データを受け取ると、図５に図示しない記憶部から画像認識アプリケーションをロードする。画像認識アプリケーションは、仮想マシン部２１４で即時起動・もしくは常駐されており、受信したデータに対し識別処理を行う。このとき、図５に図示しない人物毎あるいは属性毎の特徴量辞書を備えており、受信した画像特徴量データから特徴量辞書との類似度を計算する等、公知の技術を使用することにより、画像認識データ内の特徴量データから人物の照合処理や属性の判断等、識別処理を行う。
【００３２】
ここで、照合処理について説明する。照合処理とは検出された対象物の同一性を判定する処理である。例えば、人物の顔の場合、検出された顔の画像もしくは、顔の特徴量を辞書に登録する。人物が検出された場合には、あらかじめ辞書に登録された人物とのマッチングを行い、同一人物かどうかを照合する。ここで、照合処理を用いることで、複数の異なる場所のイメージセンサで検出された人物などの動線を管理することも可能となる。
【００３３】
さらに、属性とは、例えば、人物の顔画像から認識することのできる、性別、年齢、メガネの着用状況、マスクの着用状況等である。さらに、会話をしている、笑っている、怒っている、などの感情情報を判別してもよい。例えば、判定したい属性のデータを大量に収集し、その属性の正解データを用いて属性判定辞書を作成することで、属性の類似度を算出し、判定を行う。また、単一の認識結果だけでなく、時間的な認識情報を総合的に認識することで、行動パターンの認識も可能となる。例えば、検出位置を時間的に収集し、行動パターンを推定することで、移動方向や異常検知などにも活用できる。このように認識対象は、画面中の人物やオブジェクトだけとは限らない。
【００３４】
ここで、データ処理端末１１０で特徴量算出が行われていない場合、仮想マシン部２１４は、画像認識データ内に含まれる画像を元に特徴量を算出しても良い。
【００３５】
なお、各エッジサーバが持つ辞書の識別情報あるいは各辞書のバージョン、さらに仮想マシン部２１４にロードする画像認識アプリケーションの有無等についても制御データ通信部２１１が情報を収集・記憶しており、当該エッジサーバ２１０に辞書が存在しない場合は、各辞書に付与されている辞書識別ID等をもとに近くのエッジサーバやデータ処理サーバ群３００から取ってきても良い。この場合、仮想マシン部２１４にロードする画像認識アプリケーションや辞書データなどが、エッジサーバのストレージやメモリに蓄積され、キャッシュサーバとして機能する。また、ルーティング制御部２１２が制御して、データAを辞書や画像認識アプリケーションを持つ近くのエッジサーバに送信し、そのエッジサーバにて画像処理を行ってもよい。また、辞書は存在するが、辞書のバージョンが最新でない可能性がある場合、速度を優先するため、その辞書を用いて識別処理しても良いし、正確さを優先するため、近くのエッジサーバやデータ処理サーバ群３００から最新のバージョンの辞書を取ってきても良い。また、データAに対する画像処理後のデータはデータBとして通信部２１３に送信される。
【００３６】
通信部２１３は、ルーティング制御部２１２から受け取った目的地を示すIPアドレスとデータBから出力データとして認識メタデータを生成し、出力する（S11）。認識メタデータは、画像認識データと異なり、画像認識データの照合結果、例えば画像識別ＩＤや照合の結果特定された人物の人物識別ＩＤ、判断された属性を含む。認識メタデータを生成することにより、データ処理端末１１０で特徴量算出がなされていなかった場合には画像そのもののデータ、なされている場合でも特徴量データも捨てることで、データ量を大幅に削減することができる。加えて、個人情報を含むデータを捨てることができる。また、画像認識データと比較して、認識メタデータは少ないデータ量であるため、複数のエッジサーバ２１０を経由しても、短いレスポンスタイムでデータを転送できる。
【００３７】
＜ルーティングについて＞
次に、エッジサーバ群２００におけるルーティングについて説明する。エッジサーバ２１０は、上述した通り必ずしも仮想マシン部２１４が存在するわけではないため、データサイズの大きい画像認識データを、データ処理端末のエンドポイントからできるだけ近い仮想マシン部２１４を持つエッジサーバで処理することが望ましい。
【００３８】
図８は、ベストルートのルーティングの一例を示す。図中のボックスはエッジサーバを示しており、網掛けのボックスは仮想マシン部２１４を持つエッジサーバである。説明を簡略化するため、各エッジサーバとの距離がそのままネットワークの通信速度を示すこととする。例えばエッジA1とエッジB1の通信速度は、エッジA1とエッジA2の通信速度よりも遅いことを意味する。
【００３９】
図８では、データ処理端末のエンドポイントから入力が仮想マシン部２１４を有するエッジA1に到着しているため、ここで識別処理が行われ、画像認識データ（特徴量データ、画像識別ID、画像の取得時刻を含む）が認識メタデータ（画像識別ＩＤ、人物識別ＩＤ、属性を含む）へと変換される。認識メタデータは画像認識データよりも小さいデータであり、エッジB1、エッジC1、エッジD1、エッジE1、エッジE2と最短距離のルートを経由して、目的地に到着する。
【００４０】
図９は仮想マシン部２１４を有するエッジサーバがデータ処理端末からの最短経路に無い場合のルーティングの一例を示す。図９では、データ処理端末のエンドポイントから入力がエッジA3に到着してしまうと、エッジB3、エッジC3、エッジD3、エッジE3へとデータサイズの大きい画像認識データが受け渡されてしまう。エッジE3は仮想マシン部２１４を持つため、ここで識別処理が行われ、認識メタデータが生成される。その後、エッジE2を経由して目的地に到着する。この場合、データサイズの大きい画像認識データが、最終目的地であるデータ処理サーバの近くまで伝送されてしまうため、通信におけるレスポンスタイムが増加すると共に、情報漏えいのリスクが高まる。
【００４１】
そこで、本実施形態では、仮想マシン部２１４を考慮したルーティング制御を行うことで好適なルーティングを行う。図１０は、提案するルーティングの一例を示す。データ処理端末のエンドポイントからの入力がエッジA3に到着すると、エッジA3は、制御データ通信部２１１の監視の結果や各エッジサーバの仮想マシン部２１４の有無の情報、エッジA3からの距離等を加味し、後述する優先度テーブルを生成する。優先度が最も高いエッジA1が特定される。そして他のルーティング制御情報に従って、画像認識データはエッジA２を経由してエッジA1に到達する。ここで、エッジA1は仮想マシン部２１４を持つため、識別処理が行われて、認識メタデータが生成される。その後、エッジA1においてデータ対象が画像認識データから認識メタデータに変換されるため、目的地までの距離を含めた優先度テーブルを生成し、他のルーティング制御情報に従って、エッジB1、エッジC1、エッジD1、エッジE1、エッジE2を経由して、目的地まで到達する。
【００４２】
続いて、図１０のような好適なルーティングを行うためのルーティング制御フローについて、図１１を用いて説明する。まず、データ処理端末から送信されたデータCがエッジサーバ群２００のうちのエッジA３に到着すると、エッジA3の通信部２１３は、データCが画像認識データか否か判断する（S12）。通信部２１３が受信するデータCは、識別処理、例えば人物照合・属性判断等を必要する画像認識データか、人物照合・属性判断等の識別処理が適用された認識メタデータのいずれかである。データCが画像認識データであった場合、ルーティング制御部２１２は、仮想マシンの有無に関する欄を備えた優先度テーブルを生成する（S１３）。図１２に仮想マシンの有無に関する欄を備えたエッジＡ３の優先度テーブル２１２aの一例を示す。本実施形態では、制御データ通信部２１１による監視の結果、他のエッジサーバのネットワーク等に問題がないとする。優先度テーブル２１２aは、各エッジサーバの仮想マシンの有無について格納する「仮想マシン有無」欄と、各エッジサーバのエッジA3からの距離を格納する「当該エッジからの距離」欄と、接続先の優先度を順位付けする「接続先優先度」欄を含む。ここで、仮想マシンの有無の欄は、有だと「１」無だと「０」が格納される。またエッジA3からの距離は、縦方向を１０、横方向を５０としている。なお、これらの具体的な数値は説明を具体化するための一例である。本実施形態では、仮想マシンの有無を第一優先とし、当該エッジからの距離を第二優先として、「接続先優先度」欄に順位を格納する。本実施形態では、図１２に示すように、仮想マシンの有無やエッジＡ３から他のエッジサーバの距離に基づいて、仮想マシンが有り、かつエッジA3からの距離が近い順に接続先優先度が割り振られている。優先度テーブル２１２aの接続先優先度に基づき、「１」が格納されているエッジA1を目的地として設定する（S14)。このとき、データＣには目的地はエッジＡ１であることを示すデータも付随する。なお別の実施形態として、「仮想マシンの有無」と「当該エッジからの距離」を重み付き線形関数などで表現しても良い。
【００４３】
例えば、「仮想マシンの有無」をＸ、「当該エッジからの距離」をＹとし、重み係数をそれぞれＷ１、Ｗ２としたとき、コストＰはＰ＝Ｗ１×Ｘ＋Ｗ２×Ｙで表される。例えば、Ｗ１＝−１０、Ｗ２＝１とした場合、Ｘ＝１である（仮想マシンを有する）エッジのコストＰが小さく評価される。このコストＰを基準として小さい順に並び替え、接続先優先度を決定しても良い。
【００４４】
データCが画像認識データではなく、認識メタデータである場合、ルーティング制御部２１２は、目的地をデータ処理サーバ３１０に設定する（S１５）。この時も、データＣには目的地に関するデータが附随する。
【００４５】
続いて、エッジＡ３のルーティング制御部２１２は、目的地であるエッジＡ１と各々のエッジサーバの距離を示す欄を備えたエッジＡ３の優先度テーブル２１２bを生成する（Ｓ１７）。図１３に目的地であるエッジＡ１までの距離を含めた優先度テーブル２１２bの一例を示す。優先度テーブル２１２bは、各エッジサーバのエッジＡ３からの距離を格納する「当該エッジからの距離」欄と、各エッジサーバの目的地であるエッジＡ１までの距離を格納する「目的地までの距離」欄と、接続先の優先度を順位付けする「接続先優先度」欄を含む。本実施形態では、サーバ同士が隣り合っているなど、エッジＡ３とネットワーク的に通信可能なエッジサーバのみを優先度テーブルに入れる。また、例えば、「当該エッジからの距離」欄に格納された数値と「目的地までの距離」欄に格納された数値とを足し合わせ、値が小さい順に接続先優先度を決定し、その順位を「接続先優先度」欄に格納する。ここでは、接続先優先度「１」であるエッジＡ２をデータＣの次の送信先として設定し、データＣを送信する（Ｓ１８）。
【００４６】
続いて、通信部２１３は、受け取ったデータＣが持つ目的地のデータが当該エッジサーバか否か判断する（Ｓ１９）。ここでは、目的地はＡ１で、当該エッジサーバはＡ２であるので、Ｓ１９はＮｏであり、Ｓ１７に戻る。
【００４７】
次にエッジＡ２のルーティング制御部２１２は、目的地であるエッジＡ１と各々のエッジサーバの距離を示す欄を備えたエッジＡ３の優先度テーブル２１２ｃを生成する（Ｓ１７）。図１４に目的地であるＡ１までの距離を含めた優先度テーブル２１２ｃの一例を示す。優先度テーブル２１２ｃは、各エッジサーバのエッジＡ２からの距離を格納する欄と、各エッジサーバのエッジＡ１までの距離を格納する欄を備える。ここでも、エッジＡ３からの距離と目的地エッジＡ１までの距離とを足し合わせ、値が小さい順に接続先優先度を決定し、エッジＡ１をデータＣの送信先として決定、送信する（Ｓ１８）。受け取ったエッジＡ１の通信部２１３はデータＣの持つ目的地情報がエッジＡ１か否か判断するが、目的地はエッジＡ１と一致するため、Ｓ１９はＹｅｓで、Ｓ２０に進む。続いて、エッジＡ１の通信部２１３は、現在設定している目的地がデータ処理サーバか否か判断する（Ｓ２０）。現在目的地に設定されているのはエッジＡ１であり、Ｓ２０のＮｏへ進み、最初に戻る。ここで、エッジＡ１は仮想マシン部２１４があるため、データＣは画像認識データから認識メタデータであるデータＤに変換される。
【００４８】
まず、データＤは画像認識データか否か判断する（Ｓ１２）が、認識メタデータであるため、Ｓ１５に進む。Ｓ１５では、データ処理サーバを目的地に設定する。続いて、エッジＡ１のルーティング制御部２１２は、目的地であるデータ処理サーバまでの距離を含めた優先度テーブル２１２ｄを生成する（Ｓ１７）。図１５に優先度テーブル２１２ｄの一例を示す。ここでも、エッジＡ１とネットワーク的に通信可能なエッジサーバのみを優先度テーブルに入れている。また、当該エッジからの距離と目的地までの距離を足し合わせることによって、接続先優先度を順位づけしている。優先度テーブル２１２ｄから、エッジＢ１を次の送信先として設定し、データＤを送信する（Ｓ１８）。次に、データＤを受け取ったエッジＢ１の通信部２１３は、データＤの持つ目的地がエッジＢ１か否か判断する（Ｓ１９）が、目的地はデータ処理サーバのため、Ｓ１７に戻る。続いて、エッジＢ１のルーティング制御部２１２は、目的地であるデータ処理サーバまでの距離を含めた優先度テーブル２１２eを生成する（Ｓ１８）。図１６に優先度テーブル２１２eの一例を示す。ここでも、エッジＢ１とネットワーク的に通信可能なエッジサーバのみを優先度テーブルに入れている。また、当該エッジからの距離と目的地までの距離を足し合わせることによって、接続先の優先順位を決める。このとき、最も高い優先順位を持つエッジサーバが、エッジＢ２、エッジＣ１と２つとなるが、本実施形態では、目的地までの距離がより短いエッジＣ１の接続先優先度を「１」としている。ここで、当該エッジからの距離が近いエッジサーバにより良い順位をつけても良いし、制御データ通信部２１１の監視の結果に含まれるエッジサーバ間のネットワークの状態を加味しても良い。各エッジサーバの送信先を１つに絞ることができるならば、どんな方法で接続先優先度の順位を設定しても良い。
【００４９】
次に、エッジＣ１を次の送信先として設定し、データＤを送信する（Ｓ１８）。このように、目的地にデータが送信されるまで、優先度テーブルを生成し、送信先を設定、データを送信することを繰り返す。このデータＤが目的地であるデータ処理サーバに到達すると、データ処理サーバ３１０の通信部は、目的地に到達したと判断し（Ｓ２０のＹｅｓ）、処理が終了する。
【００５０】
本実施形態における優先度テーブルは、説明を具体化するための一例であって、制御データ通信部２１１の監視の結果に基づく等、様々な情報を加味する。例えば、優先度テーブルにネットワーク状況の良し悪し、最新の辞書の有無、過去に当該データが通信されたか否か等について格納する欄を備えてもよい。
【００５１】
＜データ処理サーバについて＞
データ処理サーバ３１０は、例えばクラウドサービスなどを展開するデータセンターに設置され、図示しないが、データを送受信するための通信部、人物の性別・年齢などの属性情報を判断したり、人物の照合を行ったり、識別処理をする際に使用する特徴量辞書、仮想マシン部にロードする画像認識アプリケーション、エッジサーバ群２００から送信される認識メタデータ等が保存される記憶部を備える。また、ルール制御部を備え、エッジサーバ群２００のネットワーク情報、例えば、ネットワークの帯域、信頼度、連続接続時間等を収集し、その情報に基づいてルーティングのグローバルなルールを制御してもよい。
【００５２】
さらに、仮想マシン部を備えていないエッジサーバのみを通過した画像認識データに対し識別処理を行うために、仮想マシン部を備えていても良い。
【００５３】
本実施形態では、データ処理端末１１０から出力された画像認識データは、いずれかのエッジサーバ２１０を経由して、識別処理が行われ、認識メタデータとして、いずれかのエッジサーバ２１０を介してデータ処理サーバ群２００へ伝送される。
【００５４】
送信対象のデータがデータ量の多い画像認識データである場合には、仮想マシン部２１４のある、当該エッジサーバから距離の近い1つ以上のエッジサーバのリストである優先度テーブルを作成し、そのリストの優先度に従ってルーティングすることで、レスポンスタイムを削減すると共に、データ処理端末やそのエンドポイントに近い部分で、個人情報を含む画像に関連するデータを捨てることができ、情報漏えいのリスクを低減することが可能となる。
【００５５】
（第二の実施形態）
＜追跡を行う場合＞
第二の実施形態として、処理対象のデータが人物を含む画像であり、連続して同一人物を追跡するような場合を説明する。なお、処理対象のデータは、犬や猫等の動物の画像や非生物の画像であってもよいし、人物の声や動物の鳴き声等、生物の発する音声や、特徴的な音声を発する装置や車両等、非生物の音声を含む音声データ等、人物画像でなくても良い。
【００５６】
本実施形態に係るデータ処理システムの構成例、データ処理端末１１０の構成例は図１、２、３と同様であるので、詳細な説明を割愛する。本実施形態に係るデータ処理端末１１０内のデータ認識部１１８の機能ブロック図を図１７に示す。データ認識部１１８は、上半身検出部１１８a、上半身追跡部１１８b、顔検出部１１８c、顔追跡部１１８d、データ整形部１１８eを備える。
【００５７】
上半身検出部１１８aは、データ取得部１１７が取得した画像から上半身を検出し、その座標を特定する。上半身追跡部１１８bは、上半身検出部１１８aが検出した上半身の検出データを元に、過去の検出データとの照合を行う。例えば、上半身検出部１１８aは、過去一定回数分の検出データを人物識別情報（人物識別番号）とひも付けてキャッシングする。なお、この検出データとは、例えば画像の上半身部分からその特徴量を算出したものである。記憶された上半身の検出データを元に、画像の時間方向で検出データを照合することができ、照合の結果、同一人物とみなされたデータには同一の人物識別番号を記す。
【００５８】
同様に、顔に関しても、顔検出部１１８ｃは取得した画像から顔の検出データを生成し、顔追跡部１１８dが、記憶している過去の顔の検出データを元に、同一の顔を持つ画像認識データに同一の顔識別番号を記す。ここで、一致する人物、顔が存在しない場合には、キャッシングされているデータに付与されていない、別の識別番号を記す。なお、追跡の対象が人物でない場合でも、追跡対象を特定する識別番号を記す。
【００５９】
データ整形部１１８eは、当該データを取得したデータ取得部１１７の識別ＩＤ（以下カメラ識別ＩＤとする）、人物識別番号あるいは顔識別番号を付与し、当該データの識別情報および取得した時刻と共に、データを好適なフォーマットに整形する。
【００６０】
ここで、あくまでデータ処理端末１１０のデータ認識部１１８では、過去に取得した画像内に存在する人物と同一人物か否かを判断し、同一人物と判断された際に同一の人物識別番号あるいは顔識別番号を付与できれば良い。データ認識部１１８で算出した特徴量を元に、エッジサーバ群２００へ送信する前に、データ処理端末１１０で画像認識データを生成する。
【００６１】
その後、データ処理端末１１０の通信部１２２からデータをエッジサーバ２１０へ送信する。その後、エッジサーバ２１０での識別処理（属性の判断や人物照合）の手順は第一の実施形態と同様であるので、詳細は省略する。この時、送受信されるデータには、識別処理結果の他に、当該データを取得した時刻を含む画像情報と、カメラ識別ＩＤを含む。
【００６２】
次に、ルーティングの更新タイミングについて説明する。第一の実施形態で記した通り、エッジサーバ２１０は、データがエッジサーバ２１０に到着する毎に、ローカルで当該エッジサーバの優先度テーブルを更新している。さらに、本実施形態では、ローカルな更新だけでなく、エッジサーバ群２００にグローバルに設定されたルールによっても、エッジサーバ群２００全体の優先度テーブルが更新される。例えば、データ処理サーバが管理する制御情報（ネットワークの帯域、信頼度、連続接続時間など）に基づいてグローバルなルールが変更され、接続先が動的に変更される。このルーティングの更新によっても、データの目的地は更新される。
【００６３】
例えば、特定のデータ処理端末１１０の画像認識データを同一のエッジサーバで連続的で処理し、認識メタデータに変換していれば、同一人物の連続した画像として認識される。しかし、あるタイミングで優先度テーブルが更新され、別のエッジサーバに誘導されてしまうと、データにカメラＩＤ等の識別情報が付与されていなければ、時間方向の連続性が途切れ、別の人物として画像認識されてしまう。例えば、エッジサーバの仮想マシン部２１４で人物数のカウントを行うアプリケーションを起動している場合、特定のエッジサーバ２１０で同一人物として処理されていた人物の画像が、優先度テーブルの更新により、別のサーバで処理されると、２名にカウントされる可能性がある。
【００６４】
そこで、同一のデータ処理端末１１０から出力される画像認識データに、人物識別番号および顔識別番号、カメラID等の識別情報を付与し、関連する一連のデータをデータ処理サーバ側でひも付ける。本実施形態では、データ処理端末１１０で人物のトラッキングを行い、同一人物に同一の人物識別番号または顔識別番号を割り当てる。また、画像を取得したデータ処理端末１１０のカメラＩＤを画像認識データに記す。なお、カメラIDではなく、取得した画像データ附随する位置情報を利用しても良い。
【００６５】
例えば、人物識別番号または顔識別番号が同一の画像認識データは、過去に識別処理が行われたエッジサーバを優先的にルーティングすることで、辞書やアプリケーションが揃ったエッジサーバへ優先的にルーティングでき、識別処理を軽くできる。このとき、情報処理端末およびエッジサーバは、人物識別番号または顔識別番号と、人物識別番号または顔識別番号に対応付けられた画像認識データを送信したエッジサーバをひも付けてキャッシングし、その情報に基づいて送信先を決定することで、実現できる。
【００６６】
また、ある時刻に特定のエッジサーバ２１０の追跡処理が途切れた場合であっても、カメラ識別ＩＤと画像の取得時刻から、データ処理サーバ３１０に到着した認識メタデータをマージし、カメラの識別ＩＤおよび照合結果の人物識別ＩＤが同一である認識メタデータのカウント数を足し合わせることで、同一人物のカウントが可能である。ここで、ルーティングの更新タイミングが固定である場合、その時間分の過去の画像認識データを画像処理端末１１０がバッファリングし、冗長化したデータとして送る構成としてもよい。この場合、固定時間でルーティングが更新されても、エッジサーバ２１０には、更新される前の過去の画像認識データから現在までのデータが一括して受け取れるため、ルーティングの更新による影響を排除できる。
【００６７】
このように計算資源を必要とする特徴量辞書との照合を複数のエッジサーバで行うことで、スケーラビリティを実現でき、構成を容易に変更できる。エッジサーバ上のアプリケーションを共通化することでコスト増加を抑制できる。
【００６８】
また、カメラから距離的に近いエッジサーバで照合を行うことで、高速レスポンスが実現できる。パブリックネットワークに上る前に、画像から個人情報を落とすことに加え、カメラの接続先が動的に変更されることでより個人情報の漏えいリスクを低減できる。
【００６９】
尚、上記の実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（CD−ROM、DVD等）、光磁気ディスク（MO）、半導体メモリ等の記憶媒体に格納して頒布することもできる。
【００７０】
ここで、記憶媒体としては、プログラムを記憶でき、且つコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。
【００７１】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のMW（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行しても良い。
【００７２】
さらに、本実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【００７３】
また、記憶媒体は１つに限らず、複数の媒体から本実施形態における処理が実行される場合も本実施形態における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【００７４】
尚、本実施形態におけるコンピュータとは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【００７５】
また、本実施形態の各記憶装置は１つの記憶装置で実現しても良いし、複数の記憶装置で実現しても良い。
【００７６】
そして、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態の機能を実現することが可能な機器、装置を総称している。
【００７７】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、説明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７８】
１００…データ処理端末群
１１０…データ処理端末
１１１…CPU
１１２…メモリ
１１３…ストレージ
１１４…センサ
１１５…機器I/F
１１６…通信部
１１７…データ取得部
１１８…データ認識部
１１８a…上半身検出部
１１８b…上半身追跡部
１１８c…顔検出部
１１８d…顔追跡部
１１８e…データ整形部
１１９…データ切り出し部
１２０…特徴量抽出部
１２１…制御部
１２２…通信部
２００…エッジサーバ群
２１０…エッジサーバ
２１１…制御データ通信部
２１２…ルーティング制御部
２１２aー２１２e…優先度テーブル
２１３…通信部
２１４…仮想マシン部
３００…データ処理サーバ群
３１０…データ処理サーバ
【図１】
2019028744.tif 000003
【図２】
2019028744.tif 000004
【図３】
2019028744.tif 000005
【図４】
2019028744.tif 000006
【図５】
2019028744.tif 000007
【図６】
2019028744.tif 000008
【図７】
2019028744.tif 000009
【図８】
2019028744.tif 000010
【図９】
2019028744.tif 000011
【図１０】
2019028744.tif 000012
【図１１】
2019028744.tif 000013
【図１２】
2019028744.tif 000014
【図１３】
2019028744.tif 000015
【図１４】
2019028744.tif 000016
【図１５】
2019028744.tif 000017
【図１６】
2019028744.tif 000018
【図１７】
2019028744.tif 000019