(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-07
(45)【発行日】2022-01-12
(54)【発明の名称】データ処理システム、データ処理方法およびプログラム
(51)【国際特許分類】
G06F 9/50 20060101AFI20220104BHJP
G06F 9/455 20060101ALI20220104BHJP
H04L 45/12 20220101ALI20220104BHJP
【FI】
G06F9/50 150C
G06F9/455 150
H04L12/733
(21)【出願番号】P 2017147758
(22)【出願日】2017-07-31
【審査請求日】2020-06-12
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】301063496
【氏名又は名称】東芝デジタルソリューションズ株式会社
(74)【代理人】
【識別番号】100111121
【氏名又は名称】原 拓実
(72)【発明者】
【氏名】谷沢 昭行
【審査官】漆原 孝治
(56)【参考文献】
【文献】特開2017-068627(JP,A)
【文献】特開2016-177444(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/50
G06F 9/455
H04L 12/733
(57)【特許請求の範囲】
【請求項1】
データを入力するデータ取得部と、前記データ取得部にて取得したデータから特徴量を抽出する特徴量抽出部と、前記特徴量抽出部で抽出した特徴量と、前記データ取得部にて取得したデータの識別情報と、を含む認識データを送信する第1の通信部と、を備える1つ以上の情報処理端末と、 前記認識データを受信する第2の通信部を備える複数のエッジサーバと、前記複数のエッジサーバのうち、1つ以上のエッジサーバは、前記第2の通信部にて受信した認識データを用いて特徴量の識別処理を行い、その識別処理結果を前記認識データに付加し前記認識データ内の特徴量を破棄した認識メタデータを生成する仮想マシン部を備える認識サーバであり、
前記複数のエッジサーバのうちの1つである第1のエッジサーバは、エッジサーバのネットワーク状況および、前記第1のエッジサーバと第1のエッジサーバ以外のエッジサーバ間の距離を取得する制御データ通信部と、前記制御データ通信部の通信結果に基づいて、接続先優先度を特定するための優先度テーブルを生成し、第2のエッジサーバを特定するルーティング制御部と、を備え、 前記認識メタデータを受信する第3の通信部と、受信した前記認識メタデータを記憶する記憶部と、を備える1つ以上のデータ処理サーバと、を備え、 前記第2の通信部は、さらに、認識データを送信、および認識メタデータを受信でき、 前記情報処理端末が送信した認識データが認識メタデータとなって前記データ処理サーバに到達するまでに、少なくとも1つ以上の認識サーバを通過する、データ処理システム。
【請求項2】
1つ以上の情報端末と複数のエッジサーバと1つ以上のデータ処理サーバを有するデータ処理システムのデータ処理方法であって、 前記1つ以上の情報端末は、データを入力するデータ取得ステップと、前記データ取得ステップにて取得したデータから特徴量を抽出する特徴量抽出ステップと、前記特徴量抽出ステップで抽出した特徴量と、前記データ取得ステップにて入力したデータの識別情報と、を含む認識データを送信する第1の通信ステップと、を有し、 前記複数のエッジサーバは、前記認識データを受信する第2の通信ステップを有し、前記複数のエッジサーバのうち、1つ以上のエッジサーバは、前記第2の通信ステップにて受信した認識データを用いて特徴量の識別処理を行い、その識別処理結果を前記認識データに付加し前記認識データ内の特徴量を破棄した認識メタデータを生成する認識メタデータ生成ステップを有した認識サーバであり、
前記複数のエッジサーバのうちの1つである第1のエッジサーバは、エッジサーバのネットワーク状況および、前記第1のエッジサーバと第1のエッジサーバ以外のエッジサーバ間の距離を取得する制御データ通信ステップと、前記制御データ通信ステップの通信結果に基づいて、接続先優先度を特定するための優先度テーブルを生成し、第2のエッジサーバを特定するルーティング制御ステップと、を備え、 前記1つ以上のデータ処理サーバは、前記認識メタデータを受信する第3の通信ステップと、受信した前記認識メタデータを記憶する記憶ステップと、を有し、 前記第2の通信ステップは、さらに、認識データを送信、および認識メタデータを受信し、 前記情報端末が送信した認識データが認識メタデータとなって前記データ処理サーバに到達するまでに、少なくとも1つ以上の認識サーバを通過する、データ処理方法。
【請求項3】
前記第1のエッジサーバが仮想マシン部を持たず、前記第1のエッジサーバの通信手段で認識データを受信した場合、前記制御データ通信ステップは、第1のエッジサーバ以外のエッジサーバが仮想マシン部を持つか否かの情報を取得し、前記ルーティング制御ステップは、仮想マシン部を持つか否かの情報に基づいて接続先優先度を特定するためのルーティングテーブルを生成し、第3のエッジサーバを特定し、前記ルーティング制御ステップで特定した第3のエッジサーバを目的地として設定する、請求項
2に記載のデータ処理方法。
【請求項4】
前記複数のエッジサーバのうちの1つである、仮想マシン部を持つ第4のエッジサーバは、第4のエッジサーバ以外のエッジサーバおよび前記データ処理サーバから、認識データの識別処理に利用する特徴量辞書を取得するステップと、取得した前記特徴量辞書を一時保持するステップと、を備える、請求項2
または請求項3に記載のデータ処理方法。
【請求項5】
前記データは画像である、請求項2から請求項
4のいずれかに記載のデータ処理方法。
【請求項6】
前記データは音声である、請求項2から請求項
5のいずれか記載のデータ処理方法。
【請求項7】
データを入力するデータ取得部と、前記データ取得部にて取得したデータから特徴量を抽出する特徴量抽出部と、前記特徴量抽出部で抽出した特徴量と、前記データ取得部にて取得したデータの識別情報と、を含む認識データを送信する第1の通信部と、を備える1つ以上の情報処理端末と、 前記認識データを受信する第2の通信部を備える複数のエッジサーバと、前記複数のエッジサーバのうち、1つ以上のエッジサーバは、前記第2の通信部にて受信した認識データを用いて特徴量の識別処理を行い、その識別処理結果を前記認識データに付加し前記認識データ内の特徴量を破棄した認識メタデータを生成する仮想マシン部を備える認識サーバであり、 前記認識メタデータを受信する第3の通信部と、受信した前記認識メタデータを記憶する記憶部と、を備える1つ以上のデータ処理サーバと、を備え、 前記第2の通信部は、さらに、認識データを送信、および認識メタデータを受信でき、 前記情報処理端末が送信した認識データが認識メタデータとなって前記データ処理サーバに到達するまでに、少なくとも1つ以上の認識サーバを通過する、データ処理システムであって、 前記特徴量抽出部は、前記データ取得部にて取得したデータに対して識別番号を付与し、前記データ取得部にて取得したデータよりも前に取得した一定回数分のデータを、各々のデータに付与した識別番号と、各々のデータより算出された特徴量と、各々のデータから生成した認識データの送信先であるエッジサーバと、を関連付けて一時記憶し、前記データ取得部にて取得したデータの識別番号は、前記一時記憶の内容に基づき付与され、前記データ取得部にて取得したデータに付与された識別番号と、前記データ取得部にて取得したデータよりも前に取得したデータに同一の識別番号が付与されているデータが存在する場合、前記第1の通信部は、前記一時記憶の内容に基づいて、前記データ取得部にて取得したデータと同一の識別番号が付与されているデータから生成された認識データの送信先であるエッジサーバに、前記データ取得部にて取得したデータより生成された認識データを優先的に送信する、データ処理システム。
【請求項8】
1つ以上の情報端末と複数のエッジサーバと1つ以上のデータ処理サーバを有するデータ処理システムのデータ処理方法であって、 前記1つ以上の情報端末は、データを入力するデータ取得ステップと、前記データ取得ステップにて取得したデータから特徴量を抽出する特徴量抽出ステップと、前記特徴量抽出ステップで抽出した特徴量と、前記データ取得ステップにて入力したデータの識別情報と、を含む認識データを送信する第1の通信ステップと、を有し、 前記複数のエッジサーバは、前記認識データを受信する第2の通信ステップを有し、前記複数のエッジサーバのうち、1つ以上のエッジサーバは、前記第2の通信ステップにて受信した認識データを用いて特徴量の識別処理を行い、その識別処理結果を前記認識データに付加し前記認識データ内の特徴量を破棄した認識メタデータを生成する認識メタデータ生成ステップを有した認識サーバであり、前記1つ以上のデータ処理サーバは、前記認識メタデータを受信する第3の通信ステップと、受信した前記認識メタデータを記憶する記憶ステップと、を有し、 前記第2の通信ステップは、さらに、認識データを送信、および認識メタデータを受信し、 前記情報端末が送信した認識データが認識メタデータとなって前記データ処理サーバに到達するまでに、少なくとも1つ以上の認識サーバを通過する、データ処理方法であって、 前記特徴量抽出ステップは、前記データ取得ステップにて取得したデータに対して識別番号を付与し、前記データ取得ステップにて取得したデータよりも前に取得した一定回数分のデータを、各々のデータに付与した識別番号と、各々のデータより算出された特徴量と、各々のデータから生成した認識データの送信先であるエッジサーバと、を関連付けて一時記憶し、前記データ取得ステップにて取得したデータの識別番号は、前記一時記憶の内容に基づき付与され、前記データ取得ステップにて取得したデータに付与された識別番号と、前記データ取得
ステップにて取得したデータよりも前に取得したデータに同一の識別番号が付与されているデータが存在する場合、前記第1の通信ステップは、前記一時記憶の内容に基づいて、前記データ取得ステップにて取得したデータと同一の識別番号が付与されているデータから生成された認識データの送信先であるエッジサーバに、前記データ取得ステップにて取得したデータより生成された認識データを優先的に送信する、データ処理方法。
【請求項9】
前記ルーティング制御ステップは、前記第2の通信ステップにて受信した認識データよりも前に受信した一定回数分のデータを、各々の認識データの送信先として特定されたエッジサーバと、各々の認識データに付与された識別番号と、を関連付けて一時記憶し、前記第2の通信ステップにて受信した認識データに付与された識別番号と、前記第2の通信ステップにて受信したデータよりも前に受信した認識データに同一の識別番号が付与されているデータが存在する場合、前記第2の通信ステップは、前記一時記憶の内容に基づいて、前記第2の通信ステップにて受信した認識データと同一の識別番号が付与されている認識データの送信先として特定されたエッジサーバに、前記第2の通信ステップにて受信した認識データを優先的に送信する、請求項3から請求項
6、請求項
8のいずれかに記載のデータ処理方法。
【請求項10】
1つ以上の情報端末と複数のエッジサーバと1つ以上のデータ処理サーバを備えるデータ処理システムによって実行されるプログラムであって、 上記1つ以上の情報端末は、データを入力するデータ取得機能と、前記データ取得機能にて取得したデータから特徴量を抽出する特徴量抽出機能と、前記特徴量抽出機能で抽出した特徴量と、前記データ取得機能で入力したデータの識別情報と、を含む認識データを送信する第1の通信機能と、を備え、 前記複数のエッジサーバは、認識データを受信する第2の通信手段を備え、前記複数のエッジサーバのうち、1つ以上のエッジサーバは、前記第2の通信手段にて受信した認識データを用いて特徴量の識別処理を行い、その識別処理結果を前記認識データに付加し前記認識データ内の特徴量を破棄した認識メタデー
タを生成する認識メタデータ生成機能を備えた認識サーバであり、
前記複数のエッジサーバのうちの1つである第1のエッジサーバは、エッジサーバのネットワーク状況および、前記第1のエッジサーバと第1のエッジサーバ以外のエッジサーバ間の距離を取得する制御データ通信機能と、前記制御データ通信機能の通信結果に基づいて、接続先優先度を特定するための優先度テーブルを生成し、第2のエッジサーバを特定するルーティング制御機能と、を備え、 前記1つ以上のデータ処理サーバは、認識メタデータを受信する第3の通信機能と、受信した前記認識メタデータを記憶する記憶機能と、を備え、 前記第2の通信手段は、さらに、認識データを送信、および認識メタデータを受信し、 前記情報端末が送信した認識データが認識メタデータとなって前記データ処理サーバに到達するまでに、少なくとも1つ以上の認識サーバを通過することをコンピュータに実現させる、データ処理プログラム。
【請求項11】
1つ以上の情報端末と複数のエッジサーバと1つ以上のデータ処理サーバを有するデータ処理システムによって実行されるプログラムであって、 前記1つ以上の情報端末は、データを入力するデータ取得機能と、前記データ取得機能にて取得したデータから特徴量を抽出する特徴量抽出機能と、前記特徴量抽出機能で抽出した特徴量と、前記データ取得機能にて入力したデータの識別情報と、を含む認識データを送信する第1の通信機能と、を有し、 前記複数のエッジサーバは、前記認識データを受信する第2の通信機能を有し、前記複数のエッジサーバのうち、1つ以上のエッジサーバは、前記第2の通信ステップにて受信した認識データを用いて特徴量の識別処理を行い、その識別処理結果を前記認識データに付加し前記認識データ内の特徴量を破棄した認識メタデータを生成する認識メタデータ生成機能を有した認識サーバであり、前記1つ以上のデータ処理サーバは、前記認識メタデータを受信する第3の通信機能と、受信した前記認識メタデータを記憶する記憶機能と、を有し、 前記第2の通信機能は、さらに、認識データを送信、および認識メタデータを受信し、 前記情報端末が送信した認識データが認識メタデータとなって前記データ処理サーバに到達するまでに、少なくとも1つ以上の認識サーバを通過する、データ処理方法によって実行されるプログラムであって、 前記特徴量抽出機能は、前記データ取得機能にて取得したデータに対して識別番号を付与し、前記データ取得機能にて取得したデータよりも前に取得した一定回数分のデータを、各々のデータに付与した識別番号と、各々のデータより算出された特徴量と、各々のデータから生成した認識データの送信先であるエッジサーバと、を関連付けて一時記憶し、前記データ取得機能にて取得したデータの識別番号は、前記一時記憶の内容に基づき付与され、前記データ取得機能にて取得したデータに付与された識別番号と、前記データ取得機能にて取得したデータよりも前に取得したデータに同一の識別番号が付与されているデータが存在する場合、前記第1の通信機能は、前記一時記憶の内容に基づいて、前記データ取得機能にて取得したデータと同一の識別番号が付与されているデータから生成された認識データの送信先であるエッジサーバに、前記データ取得機能にて取得したデータより生成された認識データを優先的に送信することをコンピュータに実現させる、データ処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
データ処理システム、データ処理方法およびプログラムに関する。
【背景技術】
【0002】
近年、次から次へとデータ照合を求められるような、データ量が大きく、データ処理やその際に使用する辞書の更新にリアルタイム性が求められる場面が増えている。従来のデータ処理システムの形態として、オンプレミス型、Chip to cloud型が知られている。
【0003】
システム全体をユーザが利用するオンサイト環境に設置する、オンプレミス型のデータ処理システムでは、クライアントとサーバがそれぞれオンサイト若しくはその近くに設置されているため、ユーザ側のインフラ環境を最大限活用でき、画像などの大きいデータを、ネットワークを介してやり取りする場合のレスポンスタイムを短くできる。また、パブリック環境を利用しないような構成をとることで、特に人物画像を送信する場合は、個人情報を含む画像の漏えいリスクが無いシステムを構築できる。しかし、あらかじめシステムインテグレーション(以下、SIとする)されたハードウェア構成を容易に変更できないという課題がある。また、顧客の要求に応じて都度が必要となり、開発コストとSIコストの両面でコスト増加を抑えることが難しいという課題がある。
【0004】
各デバイスに組み込まれたソフトウェアが、クラウド上に存在するサーバに上げるべきデータかあるいは現場で処理すべきデータかを機器側で判断し、必要な情報のみをクラウドに送る、Chip to cloud型(以下C2C型とする)と呼ばれるデータ処理システムでは、クラウド上で共用するサーバ側でスケールイン・アップを行えるため柔軟なシステム構築が可能であり、SIコストを低減できる。また、クライアント端末数が増加してもサーバ側で一括管理ができる、複数のテナントを同時に運用できるなどのメリットがある。しかし、画像などの情報量の多いデータをクラウドとやり取りするため、パブリックネットワーク帯域の通信資源の制約(ベストエフォート型)により、リアルタイム処理に必要な高速レスポンスが実現できないという課題がある。また、特に人物画像や声等を送信する場合は、個人情報を含むデータをパブリックに公開しなければならず、個人情報漏えいの危険が伴うという課題がある。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【0006】
クライアント側で取得した情報の特徴量を抽出した上で、パブリックネットワークの入り口となる複数のエッジサーバから1つを選択して特徴量辞書との照合を行い、照合結果のみをパブリックネットワークを介してクラウドに送信する。エッジサーバは、エッジサーバ毎のローカルルールやエッジサーバ全体に設定されるグローバルなルールに基づいて接続先が動的に変更される。
【発明が解決しようとする課題】
【0007】
本発明が解決しようとする課題は、オンプレミス型とC2C型の両方の課題に対して好適なシステムを提供することである。 計算資源を必要とする辞書との照合を複数のエッジサーバで行うことで、スケーラビリティを実現でき、構成を容易に変更できる。エッジサーバ上のアプリケーションを共通化することでコスト増加を抑制できる。クライアントから距離的に近いエッジサーバで照合を行うことで、高速レスポンスが実現できる。パブリックネットワークに上る前に、特に人物画像や声等を送信する場合は、データから個人情報を落とすことに加え、エッジサーバの接続先が動的に変更されることにより個人情報の漏えいリスクを低減できる。
【課題を解決するための手段】
【0008】
上記課題を達成するために、実施形態のデータ処理システムは、データを入力するデータ取得部と、前記データ取得部にて取得したデータから特徴量を抽出する特徴量抽出部と、前記特徴量抽出部で抽出した特徴量と、前記データ取得部にて取得したデータの識別情報と、を含む認識データを送信する第1の通信部と、を備える1つ以上の情報処理端末と、前記認識データを受信する第2の通信部を備える複数のエッジサーバと、前記複数のエッジサーバのうち、1つ以上のエッジサーバは、前記第2の通信部にて受信した認識データを用いて特徴量の識別処理を行い、その識別処理結果を前記認識データに付加し前記認識データ内の特徴量を破棄した認識メタデータを生成する仮想マシン部を備える認識サーバであり、前記認識メタデータを受信する第3の通信部と、受信した前記認識メタデータを記憶する記憶部と、を備える1つ以上のデータ処理サーバと、を備える。
【図面の簡単な説明】
【0009】
【
図1】第一の実施形態に係るデータ処理システムの構成例
【
図2】第一の実施形態に係るデータ処理端末110の構成例
【
図3】第一の実施形態に係るデータ処理端末110の機能ブロック図の一例
【
図4】第一の実施形態に係るデータ処理端末110におけるデータ処理フローの一例
【
図5】第一の実施形態に係るエッジサーバ210の機能ブロック図の一例(仮想マシン部あり)
【
図6】第一の実施形態に係るエッジサーバ210の機能ブロック図の一例(仮想マシン部なし)
【
図7】第一の実施形態に係るエッジサーバ210におけるデータ処理フローの一例
【
図8】第一の実施形態に係るベストルートのルーティングの一例
【
図9】第一の実施形態に係るワーストルートのルーティングの一例
【
図10】第一の実施形態に係る好適なルーティングの一例
【
図11】第一の実施形態に係る好適なルーティングを行うためのルーティング制御フローの一例
【
図12】仮想マシン部の有無に関する欄を備えたエッジA3の優先度テーブルの一例
【
図13】目的地であるエッジA1までの距離を含めたエッジA3の優先度テーブルの一例
【
図14】目的地であるエッジA1までの距離を含めたエッジA2の優先度テーブルの一例
【
図15】目的地であるデータ処理サーバまでの距離を含めたエッジA1の優先度テーブルの一例
【
図16】目的地であるデータ処理サーバまでの距離を含めたエッジB1の優先度テーブルの一例
【
図17】第二の実施形態に係るデータ処理端末110内のデータ認識部118の機能ブロック図の一例
【発明を実施するための形態】
【0010】
(第一の実施形態)
以下、発明を実施するための実施形態について説明する。
【0011】
図1は、本実施形態に係るデータ処理システムの構成例を示している。本データ処理システムは、データ処理端末群100、エッジサーバ群200、データ処理サーバ群300を備える。
【0012】
データ処理端末群100は、1つ以上のデータ処理端末110から構成されている。また、データ処理サーバ群300は、1つ以上のデータ処理サーバ310から構成されている。データ処理端末110は、エッジサーバ群200を介してデータ処理サーバ群300に接続されている。
【0013】
エッジサーバ群200は、複数のエッジサーバ210とそれぞれのエッジサーバ210とを接続するネットワークで構成される。これらのエッジサーバ210は、同一サイトだけでなく、物理的に異なる1つ以上の場所に設置される。例えば、エッジサーバ210は、複数のインターネットサービスプロバイダ(ISP)が提供するデータセンターに設置されてもよい。また、これらを接続するネットワークは高速な通信を実現する専用の通信資源で接続されてもよいし、パブクリックネットワーク回線を利用してもよい。また、それぞれが混在する構成としてもよい。ここでは、特定のエッジサーバ210、もしくはデータ処理端末110、もしくはデータ処理サーバ310に接続されている例を示しているが、いずれのエッジサーバ210と接続されていてもよい。
【0014】
本実施形態では、処理対象のデータが人物を含む画像である場合、特に連続して識別処理、例えば照合を求められるような動画を扱う場合を説明する。照合とは、予め登録されたデータと照合対象となるデータとの類似度を算出し、同一かどうかを判定する処理である。なお、処理対象のデータは、犬や猫等の動物の画像や非生物の画像であってもよいし、人物の声や動物の鳴き声等、生物の発する音声や、特徴的な音声を発する装置や車両等、非生物の音声を含む音声データ等、人物画像でなくても良い。また、識別処理では、照合以外の処理として、属性判定を行っても良い。属性判定とは、予め登録されたデータと属性判定対象となるデータの属性ごとの類似度を算出し、どの属性の類似度が高いかどうかを判定する処理である。一例として、人物画像から性別を判定するような処理に該当する。
【0015】
<データ処理端末について>
まず、データ処理端末110の構成例を
図2に示す。データ処理端末110はCPU(Central Processing Unit)などのプロセッサ111、RAM(Random Access Memory)やROM(Read Only Memory)などのメモリ112、HDD(Hard Disk Drive)やSSD(Solid State Drive)などのストレージ113、カメラやマイクなどのセンサ114、入力デバイス、表示デバイスといった機器を接続するための機器I/F115、ネットワークを介して外部と通信を行う通信部116を備える。
【0016】
CPU111は、プログラムを実行する機能、例えばストレージに保存した画像をアップコンバート/ダウンコンバート/トリミングしたり、画像のフォーマットを変換したり、画像を圧縮したりする機能を有する。メモリ112は、前記プログラムを格納したり、画像データを格納したりすることが可能で、一般的なコンピュータや組み込み機器で用いられるメモリである。
【0017】
ストレージ113は、CPU上で動作するプログラムやセンサ114でセンシングされたデータ(例えばカメラで撮影された画像やマイクで集音された音声など)を格納する。そして、ストレージ113は、本システムが起動された時の最初の処理で、当該プログラムをメモリ112にコピーする。
【0018】
センサ114は、例えば画像を撮影・キャプチャするカメラであっても良いし、例えば、音声を録音、キャプチャするマイクであっても良い。このセンサ114が例えばカメラである場合、センシングしたデータをイメージ化できる機能を有しており、例えば、USB接続可能なWebカメラなどでもよいし、ネットワーク接続可能なIPカメラでもよいし、デジタルカメラなどで利用されるイメージセンサでもよい。また、赤外線センサやレーザーセンサなどの特殊なセンサを用いてもよい。このセンサ114が例えばマイクである場合は、センシングしたデータを音声化できる機能を有しており、例えば、USB接続可能なWebマイクなどでも良いし、スマートフォンのような埋め込み型マイクでも良い。
【0019】
機器I/F115は、データ処理端末110と外部機器を接続するインターフェースであり、例えば外部ストレージ機器を当該機器I/Fに接続して、ストレージ113やメモリ112に保存されている画像を出力したり、データやファイルを出力したりする。あるいは、マウスなどの入力デバイスを接続しても良いし、ディスプレイなどの表示デバイスを接続しても良い。通信部116は、外部のネットワークとデータをやり取りする機能を有する。なお、データ処理端末110は、例えば、PCやセットトップボックスなどの計算資源であり、その上で動作するソフトウェアによって機能を実現してもよい。または、専用のハードウェア装置であってもよい。もしくは、その両方の組み合わせでもよい。ここでは一般的な機能として各部を記載しているが、利用しない機能については必須構成ではない。
【0020】
続いて、本実施形態に係るデータ処理端末110の機能ブロック図を
図3に示す。データ処理端末110は、データ取得部117、データ認識部118、データ切り出し部119、特徴量抽出部120、制御部121、通信部122を備える。
【0021】
データ取得部117は、例えば、イメージセンサ等であり、人物が含まれる画像を取得する。データ認識部118は、画像から人物の上半身や人物の顔を検出し、その座標を特定する。データ切り出し部119は、データ認識部118における検出データに基づいて、画像から検出部分のみの画像を切り出す。特徴量抽出部120は、検出部分のみを切り出した画像から、人物を照合するために必要な画像特徴量を抽出する。または、人物の性別・年齢などの属性情報を判断するために必要な画像特徴量を抽出する。制御部121は、データ認識部118の検出動作や通信部122のデータ送受信を制御する。通信部122は、通信プロトコルに合わせてデータをネットワークに伝送する。
【0022】
本実施形態に係るデータ処理端末110におけるデータ処理フローを
図4に示す。本実施形態では、処理対象のデータが人物を含む画像である。まず、データ取得部117は、画像Aを取得し、画像Aの画像情報と共にデータ認識部118へ送信される(S1)。画像Aの画像情報とは、画像Aに附随した情報であり、例えば、付与された画像識別IDや画像Aを取得した時刻などを含む。データ認識部118は、取得した画像Aに人物が含まれるか否か判断し(S2)、含まれる場合は、画像Aに含まれる人物の領域、例えば人物の顔の領域を検出し、画像A内の座標を特定する(S3)。この検出処理では、人物の顔や人物の上半身、全身などの人物認識や、自動車やバイクなどのオブジェクト認識に至るまで、あらかじめ定めた特定の対象物を認識することができる公知技術を使用する。例えば、画像からHOG(Histogram of Gradient)特徴量を算出し、あらかじめ特定の対象物向けに作成した特徴量辞書とマッチングを行う方法などが挙げられる。特開2010-44439では、HOGの共起発生確率を用いた特徴量を用いて対象物を認識する手法がある。本実施形態では、例えば
図2に図示しない人物の顔の特徴量辞書を備えており、画像A内の特徴量を算出し、特徴量辞書との類似度を計算することにより、人物の顔の領域を特定する。ここで、特徴量や、認識に用いるアルゴリズムは、対象物によって異なる場合がある。例えば、モノクロ画像のみを利用するアルゴリズムとカラー画像を利用するアルゴリズム、デプス画像(レンジ画像)を用いるアルゴリズムなどの違いが含まれる。
【0023】
なお、画像Aに複数の人物がいる場合は、複数の検出座標データを含んでも良いが、本実施形態では1人の人物を含んだ画像に対する処理について記述する。複数の場合には、本実施の処理フローに沿って、S3からS6の処理を繰り返せばよい。なお、検出座標データとは、例えば矩形領域の4点の頂点の内、画像の左上の頂点と画像の右下の頂点の座標から成るデータである。これら2つの頂点が判れば、切り出し開始座標と、切り出し画像幅、切り出し画像高が算出できる。
【0024】
その後、画像Aとその画像情報、検出した座標データをデータ切り出し部119に渡す。データ切り出し部119は、データ認識部118で検出した座標データに基づき、画像Aの顔の領域を切り出した画像Bを作成し、画像Bと画像Bの元画像である画像Aの画像情報を特徴量抽出部120に渡す(S4)。特徴量抽出部120は、画像Bの特徴量を算出する(S5)。この特徴量データは、例えば人物の性別・年齢などの属性情報を判断したり、人物の照合を行ったり、識別処理をするために必要な画像の特徴量であり、画像内に複数の人物が存在する場合は、特徴量が複数個存在する。なお、特徴量抽出部120は、算出した特徴量データや画像情報(画像識別ID、画像を取得した時刻を含む)を含む、画像認識データを通信するために好適なフォーマットに整形する機能を含めてもよい。例えば、HTTP通信などで一般的に使われるXMLやJSON、SQLなどである。
【0025】
特徴量データ、画像情報を含む画像認識データは、通信部122を介してエッジサーバに送信される(S6)。このとき、画像認識データとして画像Aおよび画像Bを含んでも良いが、人物の顔の画像という個人情報を含むデータがネットワークを介して送信されることとなるため、含まない方が望ましい。データ処理端末110に特徴量抽出部120を備えていない場合には、画像を含む画像認識データが送信される。
【0026】
<エッジサーバについて>
続いて、本実施形態に係るエッジサーバ210の機能ブロック図を
図5に示す。エッジサーバ210は、制御データ通信部211、ルーティング制御部212、通信部213、仮想マシン部214を備える。制御データ通信部211は、自分以外のエッジサーバ210と定期的に通信しており、各エッジサーバ210のネットワーク状況等を監視している。ルーティング制御部212は、制御データ通信部211の監視の結果に基づいて、通信部213が受け取ったデータのドメイン名を解釈し、データの目的地(IPアドレス)を決定する。なお、データの目的地とは、最終目的地だけではなく、ルーティングの経路上の目的地も含む。通信部213は、ルーティング制御部212が提供するIPアドレスに従い、データの送受信を行う。なお、制御データ通信部211と通信部213は、異なるネットワークで構成されていてもよい。制御データ通信部211においてネットワーク制御情報が受信できないと、通信部213で受け取ったデータの目的地あるいはそのルートが照会できないため、制御データ通信部211は、より信頼性の高いネットワークインフラを利用して接続されるのが望ましい。仮想マシン部214は、アプリケーションを実行することが可能な仮想計算資源であり、例えば、受信した画像認識データに対して人物の識別処理を行う。
【0027】
エッジサーバ210の一般的な機能は、エッジサーバに送られているデータパケットの名前解決を行い、最終目的地までデータパケットのルーティング制御を行うことで、ドメインネームシステム(DNS)に相当する。エッジサーバ210は、データのキャッシングを行う機能を持っていてもよい。なお、
図5では仮想マシン部214のあるエッジサーバ210の機能ブロック図の一例を示したが、全てのエッジサーバに必ずしも仮想マシン部214が必要とは限らない。
図6のような仮想マシン部214が無い場合は、一般的なDNS機能としてルーティング制御を行えばよい。
【0028】
次に、本実施形態に係るエッジサーバ210におけるデータ処理フローを
図7を用いて説明する。まず、通信部213がデータを受信し、通信部213は、受信したデータAが画像認識データか否かを判断する(S7)。通信部213が受信するデータAは、識別処理、例えば人物照合・属性判断等を必要する画像認識データか、人物照合・属性判断等の識別処理が適用された認識メタデータ(詳細は後述する)のいずれかである。画像認識データでなかった場合(S7のNo)、つまり後述する認識メタデータだった場合、通信部213は、ルーティング制御部212が制御データ通信部211の監視の結果に基づき決定した目的地へデータAを送信し(S8)、フローは終了となる。このとき、通信部213は、ルーティング制御部212が受け取ったIPアドレスに従って、次のエッジサーバへとデータAを送信する。
【0029】
制御データ通信部211は、自分(エッジサーバ210)以外のエッジサーバと定期的に通信しており、各エッジサーバのネットワーク状況等を監視している。これらの情報はネットワーク制御情報として、各エッジサーバ間でやり取りされる。例えば、ネットワーク障害が発生しているエッジサーバの情報を受け取ると、ルーティング制御部212は、ルーティング対象リスト(後述する優先度テーブル)から当該エッジサーバ210のIPアドレスを除外する。また、ネットワーク帯域の細いエッジサーバや、過去にデータ漏えいが発生したことがあるエッジサーバなど、信頼性が低いエッジサーバをルーティング対象リストから除外したり、優先度を下げたりといった制御を行ってもよい。
【0030】
通信部213が受け取ったデータが画像認識データであった場合(S7のYes)、続いて、エッジサーバ210内に仮想マシン部214が存在するか否か判断する(S9)。
図6に図示するような仮想マシン部214が存在しない構成の場合、通信部213は、ルーティング制御部212が制御データ通信部211の監視の結果に基づき決定した目的地へ向けてデータAを送信し(S8)、処理は終了となる。
【0031】
図5に図示するような仮想マシン部214が存在する構成の場合、画像認識データであるデータAの一部、少なくとも画像特徴量データを仮想マシン部214へ送信する(S9)。続いて、仮想マシン部214は、受信したデータに基づき、人物の性別・年齢などの属性の判断や人物照合等の識別処理を行う(S10)。仮想マシン部214は、データを受け取ると、
図5に図示しない記憶部から画像認識アプリケーションをロードする。画像認識アプリケーションは、仮想マシン部214で即時起動・もしくは常駐されており、受信したデータに対し識別処理を行う。このとき、
図5に図示しない人物毎あるいは属性毎の特徴量辞書を備えており、受信した画像特徴量データから特徴量辞書との類似度を計算する等、公知の技術を使用することにより、画像認識データ内の特徴量データから人物の照合処理や属性の判断等、識別処理を行う。
【0032】
ここで、照合処理について説明する。照合処理とは検出された対象物の同一性を判定する処理である。例えば、人物の顔の場合、検出された顔の画像もしくは、顔の特徴量を辞書に登録する。人物が検出された場合には、あらかじめ辞書に登録された人物とのマッチングを行い、同一人物かどうかを照合する。ここで、照合処理を用いることで、複数の異なる場所のイメージセンサで検出された人物などの動線を管理することも可能となる。
【0033】
さらに、属性とは、例えば、人物の顔画像から認識することのできる、性別、年齢、メガネの着用状況、マスクの着用状況等である。さらに、会話をしている、笑っている、怒っている、などの感情情報を判別してもよい。例えば、判定したい属性のデータを大量に収集し、その属性の正解データを用いて属性判定辞書を作成することで、属性の類似度を算出し、判定を行う。また、単一の認識結果だけでなく、時間的な認識情報を総合的に認識することで、行動パターンの認識も可能となる。例えば、検出位置を時間的に収集し、行動パターンを推定することで、移動方向や異常検知などにも活用できる。このように認識対象は、画面中の人物やオブジェクトだけとは限らない。
【0034】
ここで、データ処理端末110で特徴量算出が行われていない場合、仮想マシン部214は、画像認識データ内に含まれる画像を元に特徴量を算出しても良い。
【0035】
なお、各エッジサーバが持つ辞書の識別情報あるいは各辞書のバージョン、さらに仮想マシン部214にロードする画像認識アプリケーションの有無等についても制御データ通信部211が情報を収集・記憶しており、当該エッジサーバ210に辞書が存在しない場合は、各辞書に付与されている辞書識別ID等をもとに近くのエッジサーバやデータ処理サーバ群300から取ってきても良い。この場合、仮想マシン部214にロードする画像認識アプリケーションや辞書データなどが、エッジサーバのストレージやメモリに蓄積され、キャッシュサーバとして機能する。また、ルーティング制御部212が制御して、データAを辞書や画像認識アプリケーションを持つ近くのエッジサーバに送信し、そのエッジサーバにて画像処理を行ってもよい。また、辞書は存在するが、辞書のバージョンが最新でない可能性がある場合、速度を優先するため、その辞書を用いて識別処理しても良いし、正確さを優先するため、近くのエッジサーバやデータ処理サーバ群300から最新のバージョンの辞書を取ってきても良い。また、データAに対する画像処理後のデータはデータBとして通信部213に送信される。
【0036】
通信部213は、ルーティング制御部212から受け取った目的地を示すIPアドレスとデータBから出力データとして認識メタデータを生成し、出力する(S11)。認識メタデータは、画像認識データと異なり、画像認識データの照合結果、例えば画像識別IDや照合の結果特定された人物の人物識別ID、判断された属性を含む。認識メタデータを生成することにより、データ処理端末110で特徴量算出がなされていなかった場合には画像そのもののデータ、なされている場合でも特徴量データも捨てることで、データ量を大幅に削減することができる。加えて、個人情報を含むデータを捨てることができる。また、画像認識データと比較して、認識メタデータは少ないデータ量であるため、複数のエッジサーバ210を経由しても、短いレスポンスタイムでデータを転送できる。
【0037】
<ルーティングについて>
次に、エッジサーバ群200におけるルーティングについて説明する。エッジサーバ210は、上述した通り必ずしも仮想マシン部214が存在するわけではないため、データサイズの大きい画像認識データを、データ処理端末のエンドポイントからできるだけ近い仮想マシン部214を持つエッジサーバで処理することが望ましい。
【0038】
図8は、ベストルートのルーティングの一例を示す。図中のボックスはエッジサーバを示しており、網掛けのボックスは仮想マシン部214を持つエッジサーバである。説明を簡略化するため、各エッジサーバとの距離がそのままネットワークの通信速度を示すこととする。例えばエッジA1とエッジB1の通信速度は、エッジA1とエッジA2の通信速度よりも遅いことを意味する。
【0039】
図8では、データ処理端末のエンドポイントから入力が仮想マシン部214を有するエッジA1に到着しているため、ここで識別処理が行われ、画像認識データ(特徴量データ、画像識別ID、画像の取得時刻を含む)が認識メタデータ(画像識別ID、人物識別ID、属性を含む)へと変換される。認識メタデータは画像認識データよりも小さいデータであり、エッジB1、エッジC1、エッジD1、エッジE1、エッジE2と最短距離のルートを経由して、目的地に到着する。
【0040】
図9は仮想マシン部214を有するエッジサーバがデータ処理端末からの最短経路に無い場合のルーティングの一例を示す。
図9では、データ処理端末のエンドポイントから入力がエッジA3に到着してしまうと、エッジB3、エッジC3、エッジD3、エッジE3へとデータサイズの大きい画像認識データが受け渡されてしまう。エッジE3は仮想マシン部214を持つため、ここで識別処理が行われ、認識メタデータが生成される。その後、エッジE2を経由して目的地に到着する。この場合、データサイズの大きい画像認識データが、最終目的地であるデータ処理サーバの近くまで伝送されてしまうため、通信におけるレスポンスタイムが増加すると共に、情報漏えいのリスクが高まる。
【0041】
そこで、本実施形態では、仮想マシン部214を考慮したルーティング制御を行うことで好適なルーティングを行う。
図10は、提案するルーティングの一例を示す。データ処理端末のエンドポイントからの入力がエッジA3に到着すると、エッジA3は、制御データ通信部211の監視の結果や各エッジサーバの仮想マシン部214の有無の情報、エッジA3からの距離等を加味し、後述する優先度テーブルを生成する。優先度が最も高いエッジA1が特定される。そして他のルーティング制御情報に従って、画像認識データはエッジA2を経由してエッジA1に到達する。ここで、エッジA1は仮想マシン部214を持つため、識別処理が行われて、認識メタデータが生成される。その後、エッジA1においてデータ対象が画像認識データから認識メタデータに変換されるため、目的地までの距離を含めた優先度テーブルを生成し、他のルーティング制御情報に従って、エッジB1、エッジC1、エッジD1、エッジE1、エッジE2を経由して、目的地まで到達する。
【0042】
続いて、
図10のような好適なルーティングを行うためのルーティング制御フローについて、
図11を用いて説明する。まず、データ処理端末から送信されたデータCがエッジサーバ群200のうちのエッジA3に到着すると、エッジA3の通信部213は、データCが画像認識データか否か判断する(S12)。通信部213が受信するデータCは、識別処理、例えば人物照合・属性判断等を必要する画像認識データか、人物照合・属性判断等の識別処理が適用された認識メタデータのいずれかである。データCが画像認識データであった場合、ルーティング制御部212は、仮想マシンの有無に関する欄を備えた優先度テーブルを生成する(S13)。
図12に仮想マシンの有無に関する欄を備えたエッジA3の優先度テーブル212aの一例を示す。本実施形態では、制御データ通信部211による監視の結果、他のエッジサーバのネットワーク等に問題がないとする。優先度テーブル212aは、各エッジサーバの仮想マシンの有無について格納する「仮想マシン有無」欄と、各エッジサーバのエッジA3からの距離を格納する「当該エッジからの距離」欄と、接続先の優先度を順位付けする「接続先優先度」欄を含む。ここで、仮想マシンの有無の欄は、有だと「1」無だと「0」が格納される。またエッジA3からの距離は、縦方向を10、横方向を50としている。なお、これらの具体的な数値は説明を具体化するための一例である。本実施形態では、仮想マシンの有無を第一優先とし、当該エッジからの距離を第二優先として、「接続先優先度」欄に順位を格納する。本実施形態では、
図12に示すように、仮想マシンの有無やエッジA3から他のエッジサーバの距離に基づいて、仮想マシンが有り、かつエッジA3からの距離が近い順に接続先優先度が割り振られている。優先度テーブル212aの接続先優先度に基づき、「1」が格納されているエッジA1を目的地として設定する(S14)。このとき、データCには目的地はエッジA1であることを示すデータも付随する。なお別の実施形態として、「仮想マシンの有無」と「当該エッジからの距離」を重み付き線形関数などで表現しても良い。
【0043】
例えば、「仮想マシンの有無」をX、「当該エッジからの距離」をYとし、重み係数をそれぞれW1、W2としたとき、コストPはP=W1×X+W2×Yで表される。例えば、W1=-10、W2=1とした場合、X=1である(仮想マシンを有する)エッジのコストPが小さく評価される。このコストPを基準として小さい順に並び替え、接続先優先度を決定しても良い。
【0044】
データCが画像認識データではなく、認識メタデータである場合、ルーティング制御部212は、目的地をデータ処理サーバ310に設定する(S15)。この時も、データCには目的地に関するデータが附随する。
【0045】
続いて、エッジA3のルーティング制御部212は、目的地であるエッジA1と各々のエッジサーバの距離を示す欄を備えたエッジA3の優先度テーブル212bを生成する(S17)。
図13に目的地であるエッジA1までの距離を含めた優先度テーブル212bの一例を示す。優先度テーブル212bは、各エッジサーバのエッジA3からの距離を格納する「当該エッジからの距離」欄と、各エッジサーバの目的地であるエッジA1までの距離を格納する「目的地までの距離」欄と、接続先の優先度を順位付けする「接続先優先度」欄を含む。本実施形態では、サーバ同士が隣り合っているなど、エッジA3とネットワーク的に通信可能なエッジサーバのみを優先度テーブルに入れる。また、例えば、「当該エッジからの距離」欄に格納された数値と「目的地までの距離」欄に格納された数値とを足し合わせ、値が小さい順に接続先優先度を決定し、その順位を「接続先優先度」欄に格納する。ここでは、接続先優先度「1」であるエッジA2をデータCの次の送信先として設定し、データCを送信する(S18)。
【0046】
続いて、通信部213は、受け取ったデータCが持つ目的地のデータが当該エッジサーバか否か判断する(S19)。ここでは、目的地はA1で、当該エッジサーバはA2であるので、S19はNoであり、S17に戻る。
【0047】
次にエッジA2のルーティング制御部212は、目的地であるエッジA1と各々のエッジサーバの距離を示す欄を備えたエッジA3の優先度テーブル212cを生成する(S17)。
図14に目的地であるA1までの距離を含めた優先度テーブル212cの一例を示す。優先度テーブル212cは、各エッジサーバのエッジA2からの距離を格納する欄と、各エッジサーバのエッジA1までの距離を格納する欄を備える。ここでも、エッジA3からの距離と目的地エッジA1までの距離とを足し合わせ、値が小さい順に接続先優先度を決定し、エッジA1をデータCの送信先として決定、送信する(S18)。受け取ったエッジA1の通信部213はデータCの持つ目的地情報がエッジA1か否か判断するが、目的地はエッジA1と一致するため、S19はYesで、S20に進む。続いて、エッジA1の通信部213は、現在設定している目的地がデータ処理サーバか否か判断する(S20)。現在目的地に設定されているのはエッジA1であり、S20のNoへ進み、最初に戻る。ここで、エッジA1は仮想マシン部214があるため、データCは画像認識データから認識メタデータであるデータDに変換される。
【0048】
まず、データDは画像認識データか否か判断する(S12)が、認識メタデータであるため、S15に進む。S15では、データ処理サーバを目的地に設定する。続いて、エッジA1のルーティング制御部212は、目的地であるデータ処理サーバまでの距離を含めた優先度テーブル212dを生成する(S17)。
図15に優先度テーブル212dの一例を示す。ここでも、エッジA1とネットワーク的に通信可能なエッジサーバのみを優先度テーブルに入れている。また、当該エッジからの距離と目的地までの距離を足し合わせることによって、接続先優先度を順位づけしている。優先度テーブル212dから、エッジB1を次の送信先として設定し、データDを送信する(S18)。次に、データDを受け取ったエッジB1の通信部213は、データDの持つ目的地がエッジB1か否か判断する(S19)が、目的地はデータ処理サーバのため、S17に戻る。続いて、エッジB1のルーティング制御部212は、目的地であるデータ処理サーバまでの距離を含めた優先度テーブル212eを生成する(S18)。
図16に優先度テーブル212eの一例を示す。ここでも、エッジB1とネットワーク的に通信可能なエッジサーバのみを優先度テーブルに入れている。また、当該エッジからの距離と目的地までの距離を足し合わせることによって、接続先の優先順位を決める。このとき、最も高い優先順位を持つエッジサーバが、エッジB2、エッジC1と2つとなるが、本実施形態では、目的地までの距離がより短いエッジC1の接続先優先度を「1」としている。ここで、当該エッジからの距離が近いエッジサーバにより良い順位をつけても良いし、制御データ通信部211の監視の結果に含まれるエッジサーバ間のネットワークの状態を加味しても良い。各エッジサーバの送信先を1つに絞ることができるならば、どんな方法で接続先優先度の順位を設定しても良い。
【0049】
次に、エッジC1を次の送信先として設定し、データDを送信する(S18)。このように、目的地にデータが送信されるまで、優先度テーブルを生成し、送信先を設定、データを送信することを繰り返す。このデータDが目的地であるデータ処理サーバに到達すると、データ処理サーバ310の通信部は、目的地に到達したと判断し(S20のYes)、処理が終了する。
【0050】
本実施形態における優先度テーブルは、説明を具体化するための一例であって、制御データ通信部211の監視の結果に基づく等、様々な情報を加味する。例えば、優先度テーブルにネットワーク状況の良し悪し、最新の辞書の有無、過去に当該データが通信されたか否か等について格納する欄を備えてもよい。
【0051】
<データ処理サーバについて>
データ処理サーバ310は、例えばクラウドサービスなどを展開するデータセンターに設置され、図示しないが、データを送受信するための通信部、人物の性別・年齢などの属性情報を判断したり、人物の照合を行ったり、識別処理をする際に使用する特徴量辞書、仮想マシン部にロードする画像認識アプリケーション、エッジサーバ群200から送信される認識メタデータ等が保存される記憶部を備える。また、ルール制御部を備え、エッジサーバ群200のネットワーク情報、例えば、ネットワークの帯域、信頼度、連続接続時間等を収集し、その情報に基づいてルーティングのグローバルなルールを制御してもよい。
【0052】
さらに、仮想マシン部を備えていないエッジサーバのみを通過した画像認識データに対し識別処理を行うために、仮想マシン部を備えていても良い。
【0053】
本実施形態では、データ処理端末110から出力された画像認識データは、いずれかのエッジサーバ210を経由して、識別処理が行われ、認識メタデータとして、いずれかのエッジサーバ210を介してデータ処理サーバ群200へ伝送される。
【0054】
送信対象のデータがデータ量の多い画像認識データである場合には、仮想マシン部214のある、当該エッジサーバから距離の近い1つ以上のエッジサーバのリストである優先度テーブルを作成し、そのリストの優先度に従ってルーティングすることで、レスポンスタイムを削減すると共に、データ処理端末やそのエンドポイントに近い部分で、個人情報を含む画像に関連するデータを捨てることができ、情報漏えいのリスクを低減することが可能となる。
【0055】
(第二の実施形態)
<追跡を行う場合>
第二の実施形態として、処理対象のデータが人物を含む画像であり、連続して同一人物を追跡するような場合を説明する。なお、処理対象のデータは、犬や猫等の動物の画像や非生物の画像であってもよいし、人物の声や動物の鳴き声等、生物の発する音声や、特徴的な音声を発する装置や車両等、非生物の音声を含む音声データ等、人物画像でなくても良い。
【0056】
本実施形態に係るデータ処理システムの構成例、データ処理端末110の構成例は
図1、2、3と同様であるので、詳細な説明を割愛する。本実施形態に係るデータ処理端末110内のデータ認識部118の機能ブロック図を
図17に示す。データ認識部118は、上半身検出部118a、上半身追跡部118b、顔検出部118c、顔追跡部118d、データ整形部118eを備える。
【0057】
上半身検出部118aは、データ取得部117が取得した画像から上半身を検出し、その座標を特定する。上半身追跡部118bは、上半身検出部118aが検出した上半身の検出データを元に、過去の検出データとの照合を行う。例えば、上半身検出部118aは、過去一定回数分の検出データを人物識別情報(人物識別番号)とひも付けてキャッシングする。なお、この検出データとは、例えば画像の上半身部分からその特徴量を算出したものである。記憶された上半身の検出データを元に、画像の時間方向で検出データを照合することができ、照合の結果、同一人物とみなされたデータには同一の人物識別番号を記す。
【0058】
同様に、顔に関しても、顔検出部118cは取得した画像から顔の検出データを生成し、顔追跡部118dが、記憶している過去の顔の検出データを元に、同一の顔を持つ画像認識データに同一の顔識別番号を記す。ここで、一致する人物、顔が存在しない場合には、キャッシングされているデータに付与されていない、別の識別番号を記す。なお、追跡の対象が人物でない場合でも、追跡対象を特定する識別番号を記す。
【0059】
データ整形部118eは、当該データを取得したデータ取得部117の識別ID(以下カメラ識別IDとする)、人物識別番号あるいは顔識別番号を付与し、当該データの識別情報および取得した時刻と共に、データを好適なフォーマットに整形する。
【0060】
ここで、あくまでデータ処理端末110のデータ認識部118では、過去に取得した画像内に存在する人物と同一人物か否かを判断し、同一人物と判断された際に同一の人物識別番号あるいは顔識別番号を付与できれば良い。データ認識部118で算出した特徴量を元に、エッジサーバ群200へ送信する前に、データ処理端末110で画像認識データを生成する。
【0061】
その後、データ処理端末110の通信部122からデータをエッジサーバ210へ送信する。その後、エッジサーバ210での識別処理(属性の判断や人物照合)の手順は第一の実施形態と同様であるので、詳細は省略する。この時、送受信されるデータには、識別処理結果の他に、当該データを取得した時刻を含む画像情報と、カメラ識別IDを含む。
【0062】
次に、ルーティングの更新タイミングについて説明する。第一の実施形態で記した通り、エッジサーバ210は、データがエッジサーバ210に到着する毎に、ローカルで当該エッジサーバの優先度テーブルを更新している。さらに、本実施形態では、ローカルな更新だけでなく、エッジサーバ群200にグローバルに設定されたルールによっても、エッジサーバ群200全体の優先度テーブルが更新される。例えば、データ処理サーバが管理する制御情報(ネットワークの帯域、信頼度、連続接続時間など)に基づいてグローバルなルールが変更され、接続先が動的に変更される。このルーティングの更新によっても、データの目的地は更新される。
【0063】
例えば、特定のデータ処理端末110の画像認識データを同一のエッジサーバで連続的で処理し、認識メタデータに変換していれば、同一人物の連続した画像として認識される。しかし、あるタイミングで優先度テーブルが更新され、別のエッジサーバに誘導されてしまうと、データにカメラID等の識別情報が付与されていなければ、時間方向の連続性が途切れ、別の人物として画像認識されてしまう。例えば、エッジサーバの仮想マシン部214で人物数のカウントを行うアプリケーションを起動している場合、特定のエッジサーバ210で同一人物として処理されていた人物の画像が、優先度テーブルの更新により、別のサーバで処理されると、2名にカウントされる可能性がある。
【0064】
そこで、同一のデータ処理端末110から出力される画像認識データに、人物識別番号および顔識別番号、カメラID等の識別情報を付与し、関連する一連のデータをデータ処理サーバ側でひも付ける。本実施形態では、データ処理端末110で人物のトラッキングを行い、同一人物に同一の人物識別番号または顔識別番号を割り当てる。また、画像を取得したデータ処理端末110のカメラIDを画像認識データに記す。なお、カメラIDではなく、取得した画像データ附随する位置情報を利用しても良い。
【0065】
例えば、人物識別番号または顔識別番号が同一の画像認識データは、過去に識別処理が行われたエッジサーバを優先的にルーティングすることで、辞書やアプリケーションが揃ったエッジサーバへ優先的にルーティングでき、識別処理を軽くできる。このとき、情報処理端末およびエッジサーバは、人物識別番号または顔識別番号と、人物識別番号または顔識別番号に対応付けられた画像認識データを送信したエッジサーバをひも付けてキャッシングし、その情報に基づいて送信先を決定することで、実現できる。
【0066】
また、ある時刻に特定のエッジサーバ210の追跡処理が途切れた場合であっても、カメラ識別IDと画像の取得時刻から、データ処理サーバ310に到着した認識メタデータをマージし、カメラの識別IDおよび照合結果の人物識別IDが同一である認識メタデータのカウント数を足し合わせることで、同一人物のカウントが可能である。ここで、ルーティングの更新タイミングが固定である場合、その時間分の過去の画像認識データを画像処理端末110がバッファリングし、冗長化したデータとして送る構成としてもよい。この場合、固定時間でルーティングが更新されても、エッジサーバ210には、更新される前の過去の画像認識データから現在までのデータが一括して受け取れるため、ルーティングの更新による影響を排除できる。
【0067】
このように計算資源を必要とする特徴量辞書との照合を複数のエッジサーバで行うことで、スケーラビリティを実現でき、構成を容易に変更できる。エッジサーバ上のアプリケーションを共通化することでコスト増加を抑制できる。
【0068】
また、カメラから距離的に近いエッジサーバで照合を行うことで、高速レスポンスが実現できる。パブリックネットワークに上る前に、画像から個人情報を落とすことに加え、カメラの接続先が動的に変更されることでより個人情報の漏えいリスクを低減できる。
【0069】
尚、上記の実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD-ROM、DVD等)、光磁気ディスク(MO)、半導体メモリ等の記憶媒体に格納して頒布することもできる。
【0070】
ここで、記憶媒体としては、プログラムを記憶でき、且つコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。
【0071】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行しても良い。
【0072】
さらに、本実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【0073】
また、記憶媒体は1つに限らず、複数の媒体から本実施形態における処理が実行される場合も本実施形態における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【0074】
尚、本実施形態におけるコンピュータとは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【0075】
また、本実施形態の各記憶装置は1つの記憶装置で実現しても良いし、複数の記憶装置で実現しても良い。
【0076】
そして、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態の機能を実現することが可能な機器、装置を総称している。
【0077】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、説明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0078】
100…データ処理端末群
110…データ処理端末
111…CPU
112…メモリ
113…ストレージ
114…センサ
115…機器I/F
116…通信部
117…データ取得部
118…データ認識部
118a…上半身検出部
118b…上半身追跡部
118c…顔検出部
118d…顔追跡部
118e…データ整形部
119…データ切り出し部
120…特徴量抽出部
121…制御部
122…通信部
200…エッジサーバ群
210…エッジサーバ
211…制御データ通信部
212…ルーティング制御部
212aー212e…優先度テーブル
213…通信部
214…仮想マシン部
300…データ処理サーバ群
310…データ処理サーバ