●第1の実施形態
〔全体概略〕
以下、図面を用いて、本発明の第1の実施形態の全体の概略について説明する。本実施形態は、エッジコンピューティングを実現する通信システムを開示している。即ち、本実施形態は、サービス提供サーバ8での処理及び画像取得端末2での処理の協同により、画像取得端末2でサービス提供サーバ8から提供されるサービスを実現する発明を開示している。
〔実施形態の全体構成〕
図1は、本実施形態に係る通信システムの概略図である。図1に示されているように、本実施形態の通信システムは、実時間データ処理端末3、近端末データ処理装置5、分散データ処理端末6、集中データ処理サーバ7、サービス提供サーバ8、及び認証サーバ9a,9b,9cによって構築されている。なお、実時間データ処理端末3、近端末データ処理装置5、及び分散データ処理端末6によって、分散処理システム100が構築されている。分散処理システム100は複数存在するが、図1では、図面を簡略化するため、1つだけ記載している。
近端末データ処理装置5は、イントラネット200を介して分散データ処理端末6と通信可能に接続されている。分散データ処理端末6は、インターネット600を介して、集中データ処理サーバ7、サービス提供サーバ8、及び認証サーバ9a,9b,9cと通信可能に接続されている。なお、認証サーバ9は、認証サーバ9a,9b,9cの総称である。
これらのうち、実時間データ処理端末3は、撮像画像のデータを得るための実時間処理(リアルタイムの処理)を行なう端末である。実時間データ処理端末3には、CMOS(Complementary Metal Oxide Semiconductor)センサやCCD(Charge Coupled Device)センサなどの被写体を撮像する画像センサを備えた撮像ユニット40が着脱自在に接続される。これにより、実時間データ処理端末3は、撮像ユニット40から入力された撮像画像のデータ(以下、「撮像画像データ」という)をデジタル化し、実時間(たとえば1/60秒ごと)で物体(ここでは、顔)の画像を検出する。実時間データ処理端末3は、撮像画像のうちの物体部分の領域である部分画像のデータ(以下、「部分画像データ」という)を近端末データ処理装置5に送信する。
近端末データ処理装置5は、実時間データ処理端末3に最も近いところに配置され、例えばハードウェア的にも密接にデータバスやUSB(Universal Serial Bus)等で1対1に接続されている。近端末データ処理装置5は、実時間データ処理端末3から受信した部分画像データをJPEG(Joint Photographic Experts Group)などの汎用的なフォーマットに符号化した後、顔画像の照合が行なわれる場合の被照合データとして、イントラネット200を介して分散データ処理端末6に送信する。なお、通常、実時間データ処理端末3と近端末データ処理装置5は接続されて一体になっており、ここでは、実時間データ処理端末3と近端末データ処理装置5とで画像取得端末2を構成している。
分散データ処理端末6は、近端末データ処理装置5に比較的近い位置で利用者によって利用され、利用者の各種操作を受け付けることが可能なコンピュータである。分散データ処理端末6は、予め、顔画像の照合が行なわれる場合の照合データを登録して保存している。分散データ処理端末6は、インターネット600を介して、集中データ処理サーバ7に、照合データと被照合データとの照合を要求することができる。この場合、分散データ処理端末6は、近端末データ処理装置5から受信した被照合データ、及び予め登録している照合データも送信する。更に、分散データ処理端末6は、集中データ処理サーバ7から、類似度を含む応答情報を応答として受信することができる。また、分散データ処理端末6は、グラフィックインターフェースを介して照合結果を表示させることができる。なお、応答情報には、類似度のほかに、類似度から導かれた物体の名称が含まれていても良い。この物体の名称とは、例えば、自動車、飛行機、列車や物品の名称、人物名や型番、識別コードなどである。
集中データ処理サーバ7は、近端末データ処理装置5から比較的遠い位置に設置されており、分散データ処理端末6とはインターネット600等の通信ネットワークを介して通信することができる。集中データ処理サーバ7は、照合要求を示す照合要求情報並びに照合データ及び被照合データを受信した場合、照合データ及び被照合データの照合を行い、類似度を判断する。そして、集中データ処理サーバ7は、分散データ処理端末6に対して、類似度を含んだ応答情報を送信する。
サービス提供サーバ8は、画像取得端末2に対して、各種サービスを提供するサーバである。
認証サーバ9aは、画像取得端末2がサービス提供サーバ8からサービスを受けられる正当な権限があるか否かを判断するためにIDの認証を行なう。認証サーバ9b,9cも同様である。
〔ハードウェア構成〕
次に、図2乃至図6を用いて、本実施形態の通信システムの各ハードウェア構成について説明する。
<実時間データ処理端末のハードウェア構成>
図2は、実時間データ処理端末のハードウェア構成図である。実時間データ処理端末3は、CPU301、ROM302、RAM303、EEPROM304、CMOSセンサ305、加速度・方位センサ306、メディアI/F308、GPS受信部309を備えている。
これらのうち、CPU301は、実時間データ処理端末3全体の動作を制御する。ROM302は、CPU301の駆動に用いられるプログラムを記憶する。RAM303は、CPU301のワークエリアとして使用される。EEPROM304は、CPU301の制御にしたがって、実時間データ処理端末用プログラム等の各種データの読み出し又は書き込みを行う。CMOSセンサ305は、CPU301の制御に従って被写体(主に撮像ユニット40の死角)を撮像して、撮影画像データを得る。加速度・方位センサ306は、地磁気を検知する電子磁気コンパスやジャイロコンパス、加速度センサ等の各種センサである。メディアI/F308は、フラッシュメモリ等の記録メディア307に対するデータの読み出し又は書き込み(記憶)を制御する。GPS受信部309は、GPS衛星からGPS信号を受信する。
また、実時間データ処理端末3は、撮像ユニットI/F313、マイク314、スピーカ315、音入出力I/F316、ディスプレイ317、外部機器接続I/F318、及びタッチパネル321を備えている。
これらのうち、撮像ユニットI/F313は、外付けの撮像ユニット40が接続された場合に、撮像ユニット40の駆動を制御する回路である。マイク314は、音声を入力する内蔵型の集音手段の一種である。音入出力I/F316は、CPU301の制御に従ってマイク314及びスピーカ315との間で音信号の入出力を処理する回路である。ディスプレイ317は、被写体の画像や各種アイコン等を表示する液晶や有機ELなどの表示手段の一種である。外部機器接続I/F318は、各種の外部機器を接続するためのインターフェースである。タッチパネル321は、利用者がディスプレイ317を押下することで、実時間データ処理端末3を操作する入力手段の一種である。
また、実時間データ処理端末3は、バスライン310を備えている。バスライン310は、図2に示されているCPU301等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
<撮像ユニットのハードウェア構成>
図3は、撮像ユニットのハードウェア構成図である。特に、図3(a)は、撮像ユニット40のうち、単眼の撮像ユニット40aのハードウェア構成図である。図3(b)は、撮像ユニット40のうち、複眼の撮像ユニット40bのハードウェア構成図である。なお、撮像ユニット40は、撮像素子の数又はレンズの種類が異なる複数種類の撮像ユニット(撮像ユニット40a、40b等)の総称である。
図3(a)に示されているように、撮像ユニット40aは、CMOSやCCD等の撮像素子401a、レンズ402a、及び実時間データ処理端末3の撮像ユニットI/F313に電気的に接続するための接続I/F408aを有している。撮像ユニット40aが実時間データ処理端末3の撮像ユニットI/F313に接続された場合には、撮像素子401aは、撮像ユニットI/F313から接続I/F408aを介して送られて来た撮像制御信号により撮像を行い、接続I/F408aを介して撮像ユニットI/F313に撮像画像データを送信する。
また、図3(b)に示されているように、撮像ユニット40bは、CMOSやCCD等の撮像素子401b1,401b2、レンズ402b1,402b2、及び実時間データ処理端末3の撮像ユニットI/F313に電気的に接続するための接続I/F408bを有している。レンズ402b1,402b2は、例えば、魚眼レンズである。撮像ユニット40aが実時間データ処理端末3の撮像ユニットI/F313に接続された場合には、撮像素子401aは、撮像ユニットI/F313から接続I/F408aを介して送られて来た撮像制御信号により撮像を行い、接続I/F408bを介して撮像ユニットI/F313に、複数の撮像画像データを送信する。
図3(a)に示されている撮像ユニット40aは、一般の平面画像を得るが、図3(b)に示されている撮像ユニット40bは、全天球画像を得ることができる。ここで、図4を用いて、撮像ユニット40bで撮像された画像から正距円筒射影画像ECが作成されるまでの処理の概略を説明する。なお、図4(a)は撮像ユニット40bで撮影された半球画像(前側)、図4(b)は撮像ユニット40bで撮影された半球画像(後側)、図4(c)は正距円筒図法により表された画像(以下、「正距円筒射影画像」という)を示した図である。
図4(a)に示されているように、撮像素子401b1によって得られた画像は、レンズ402b1によって湾曲した半球画像(前側)となる。また、図4(b)に示されているように、撮像素子403bによって得られた画像は、レンズ402b2によって湾曲した半球画像(後側)となる。そして、半球画像(前側)と、180度反転された半球画像(後側)とは合成され、図4(c)に示されているように、正距円筒射影画像ECが作成される。
<近端末データ処理装置、分散データ処理端末のハードウェア構成>
図5は、近端末データ処理装置又は分散データ処理端末のハードウェア構成図である。ここでは、近端末データ処理装置5と分散データ処理端末6とは、同じハードウェア構成を備えている場合を示しているため、近端末データ処理装置5について説明し、分散データ処理端末6の説明は省略する。
図5に示されているように、近端末データ処理装置5は、CPU501、ROM502、RAM503、EEPROM504、CMOSセンサ505、加速度・方位センサ506、メディアI/F508、GPS受信部509を備えている。
これらのうち、CPU501は、近端末データ処理装置5全体の動作を制御する。ROM502は、CPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。EEPROM504は、CPU501の制御にしたがって、近端末データ処理装置用プログラム等の各種データの読み出し又は書き込みを行う。CMOSセンサ505は、CPU501の制御に従って被写体(主に近端末データ処理装置5を操作するユーザの自画像)を撮像し、撮影画像データを得る。加速度・方位センサ506は、地磁気を検知する電子磁気コンパスやジャイロコンパス、加速度センサ等の各種センサである。メディアI/F508は、フラッシュメモリ等の記録メディア507に対するデータの読み出し又は書き込み(記憶)を制御する。GPS受信部509は、GPS衛星からGPS信号を受信する。
また、近端末データ処理装置5は、遠距離通信回路511、遠距離通信回路511のアンテナ511a、CMOSセンサ512、撮像素子I/F513、マイク514、スピーカ515、音入出力I/F516、ディスプレイ517、外部機器接続I/F518、近距離通信回路519、近距離通信回路519のアンテナ519a、及びタッチパネル521を備えている。
これらのうち、遠距離通信回路511は、イントラネット200を介して、他の機器と通信する回路である。CMOSセンサ512は、CPU501の制御に従って被写体を撮像して、撮影画像データを得る内蔵型の撮像手段の一種である。撮像素子I/F513は、カメラ512の駆動を制御する回路である。マイク514は、音声を入力する内蔵型の集音手段の一種である。音入出力I/F516は、CPU501の制御に従ってマイク514及びスピーカ515との間で音信号の入出力を処理する回路である。ディスプレイ517は、被写体の画像や各種アイコン等を表示する液晶や有機ELなどの表示手段の一種である。外部機器接続I/F518は、各種の外部機器を接続するためのインターフェースである。近距離通信回路519は、NFC(Near Field radio Communication)やBluetooth(登録商標)等の通信回路である。タッチパネル521は、利用者がディスプレイ517を押下することで、近端末データ処理装置5を操作する入力手段の一種である。
また、近端末データ処理装置5は、バスライン510を備えている。バスライン510は、図5に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
<集中データ処理サーバ、サービス提供サーバ、認証サーバのハードウェア構成>
図6は、集中データ処理サーバ、サービス提供サーバ、又は認証サーバのハードウェア構成図である。ここでは、集中データ処理サーバ7、サービス提供サーバ8、及び認証サーバ9は、同じハードウェア構成を備えている場合を示しているため、集中データ処理サーバ7について説明し、サービス提供サーバ8及び認証サーバ9の説明は省略する。
図6は、集中データ処理サーバのハードウェア構成図である。集中データ処理サーバ7は、コンピュータによって構築されており、図6に示されているように、CPU701、ROM702、RAM703、HD704、HDD(Hard Disk Drive)705、記録メディア706、メディアI/F707、ディスプレイ708、ネットワークI/F709、キーボード711、マウス712、CD−RWドライブ714、及び、バスライン710を備えている。なお、集中データ処理サーバ7は、サーバとして機能するため、キーボード711やマウス712等の入力装置や、ディスプレイ708等の出力装置はなくてもよい。
これらのうち、CPU701は、集中データ処理サーバ7全体の動作を制御する。ROM702は、CPU701の駆動に用いられるプログラムを記憶する。RAM703は、CPU701のワークエリアとして使用される。HD704は、プログラム等の各種データを記憶する。HDD705は、CPU701の制御にしたがってHD704に対する各種データの読み出し又は書き込みを制御する。メディアI/F707は、フラッシュメモリ等の記録メディア706に対するデータの読み出し又は書き込み(記憶)を制御する。ディスプレイ708は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。ネットワークI/F709は、インターネット600を利用してデータ通信をするためのインターフェースである。キーボード711は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。マウス712は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。CD−RWドライブ714は、着脱可能な記録媒体の一例としてのCD−RW(Compact Disc-ReWritable)713に対する各種データの読み出し等を制御する。
また、集中データ処理サーバ7は、バスライン710を備えている。バスライン710は、図6に示されているCPU701等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
〔ソフトウェア構成〕
図7は、画像取得端末における実時間データ処理端末及び近端末データ処理装置のソフトウェア構成図である。
図7に示されているように、実時間データ処理端末3は、OS300、及び画像認識アプリケーション(以下、「アプリケーション」は「アプリ」と示す)AP1を有している。画像認識アプリAP1は、実時間データ処理端末3のRAM303の作業上で動作する。このうち、OS300は、基本的な機能を提供し、実時間データ処理端末3全体を管理する基本ソフトウェアである。画像認識アプリAP1は、撮像画像から人物や動物等の顔を認識するためのアプリである。
また、近端末データ処理装置5は、OS500、及び通信アプリAP2を有している。通信アプリAP2は、近端末データ処理装置5のRAM503の作業上で動作する。このうち、OS500は、基本的な機能を提供し、近端末データ処理装置5全体を管理する基本ソフトウェアである。通信アプリAP2は、分散データ処理端末6等の他の端末(装置)と通信を行うためのアプリである。
このように、画像取得端末2では、実時間データ処理端末3が画像認識を行うのに対して、近端末データ処理装置5がイントラネット200を介して分散データ処理端末6と通信を行なうことで、分散処理を行なうことができる。
なお、実時間データ処理端末3及び近端末データ処理装置5は、OSだけでなく、ドライバ、ソフトウェア開発キット(SDK)、またはアプリケーションプログラミングインタフェース(API)を搭載しており、それぞれが異なっていてもよい。
続いて、図面を用いて、本発明の一実施形態の機能構成及び処理について説明する。
〔機能構成〕
まず、図8乃至図16を用いて、本実施形態に係る通信システムを構成する端末、装置、及びサーバの各機能構成について説明する。図8は、実施形態に係る通信システムの機能ブロック図である。図8は、特に画像取得端末2の機能ブロックを示している。
<実時間データ処理端末の機能構成>
図8に示されているように、実時間データ処理端末3は、判断部33、画像処理部34、物体検出部35、イベント生成部36、表示制御部37、接続部38、記憶・読出部39、及び通信部48を有している。これら各部は、図2に示されている各構成要素のいずれかが、EEPROM304からRAM303上に展開されたプログラムに従ったCPU301からの命令によって、動作することで実現される機能又は手段である。
また、実時間データ処理端末3は、図2に示されているROM302、RAM303、及びEEPROM304によって構築される記憶部3000を有している。記憶部3000には、後述の形状モデルデータが記憶されている。更に、記憶部3000には、撮像素子情報管理DB3001、サイクル値管理DB3002、画像取得プログラム管理DB3003、合成処理プログラム管理DB3004、歪み補正プログラム管理DB3005、及びサービスプログラム管理DB3006が構築されている。
撮像素子情報管理DB3001は、後述の撮像素子情報管理テーブルによって構成されている。サイクル値管理DB3002は、後述のサイクル値管理テーブルによって構成されている。画像取得プログラム管理DB3003は、後述の画像取得プログラム管理テーブルによって構成されている。合成処理プログラム管理DB3004は、後述の合成処理プログラム管理テーブルによって構成されている。歪み補正プログラム管理DB3005は、後述の歪み補正プログラム管理テーブルによって構成されている。サービスプログラム管理DB3006は、後述のサービスプログラム管理テーブルによって構成されている。
(撮像素子情報管理テーブル)
図10(a)は、撮像素子情報管理テーブルを示す概念図である。この撮像素子情報管理テーブルでは、撮像ユニット40の型番、及び撮像ユニット40が有する撮像素子の数、及びこの撮像素子に使われるレンズの種類が関連付けて管理されている。なお、型番は、撮像素子の数及びこの撮像素子に使われるレンズの種類の違いに応じた撮像ユニットの種類を示す種類情報の一例である。また、撮像素子数や、レンズの種類が特定できるものであれば、型番に限らず、製品番号、バーコードなどの識別情報であってもよい。
(サイクル値管理テーブル)
図10(b)は、サイクル値管理テーブルを示す概念図である。このサイクル値管理テーブルでは、撮像ユニット40が有する撮像素子の数、及び後述の物体認識の処理のサイクル値(Frames Per Second)が関連付けて管理されている。
図11に示されている各テーブルは、各プログラムが、実時間データ処理端末3にインストールされているか否かを管理するためのテーブルである。
(画像取得プログラム管理テーブル)
図11(a)は、画像取得プログラム管理テーブルを示す概念図である。この画像取得プログラム管理テーブルでは、撮像ユニット40が有する撮像素子の数、及び画像取得プログラム(又はこの名称)が関連付けて管理されている。例えば、撮像素子の数「1」の場合の画像取得プログラムが実時間データ処理端末3にインストールされている場合には、プログラム「ProgC01 (1系統の画像取得)」が関連付けて管理されている。撮像素子の数「2」の場合の画像取得プログラムが実時間データ処理端末3にインストールされている場合には、プログラム「ProgC02 (2系統の画像取得)」が関連付けて管理されている。
(合成処理プログラム管理テーブル)
図11(b)は、合成処理プログラム管理テーブルを示す概念図である。この合成処理プログラム管理テーブルでは、撮像ユニット40が有する撮像素子の数、及び合成処理プログラムの名称が関連付けて管理されている。
(歪み補正プログラム管理テーブル)
図11(c)は、歪み補正プログラム管理テーブルを示す概念図である。この歪み補正プログラム管理テーブルでは、撮像ユニット40が有するレンズの種類、及び歪み補正プログラム(又はこの名称)が関連付けて管理されている。例えば、レンズの種類「広角」の場合の歪み補正プログラムが実時間データ処理端末3にインストールされている場合には、プログラム「ProgW01(広角歪み補正)」が関連付けて管理されている。レンズの種類「魚眼」の場合の歪み補正プログラムが実時間データ処理端末3にインストールされている場合には、プログラム「ProgW02(魚眼歪み補正)」が関連付けて管理されている。
(サービスプログラム管理テーブル)
図11(d)は、サービスプログラム管理テーブルを示す概念図である。このサービスプログラム管理テーブルでは、認証サーバを識別するための認証サーバID、及び画像取得端末2が提供されるサービスを実行するためのサービスプログラムの名称が関連付けて管理されている。例えば、認証サーバID「a01」の場合のサービスプログラムが実時間データ処理端末3にインストールされている場合には、プログラム「ProgD01 (物体検出)」が関連付けて管理されている。また、認証サーバID「a02」の場合のサービスプログラムが実時間データ処理端末3にインストールされている場合には、プログラム「ProgD02 (物体計数)」が関連付けて管理されている。
(実時間データ処理端末の各機能構成)
次に、図8を用いて、実時間データ処理端末3の各機能構成について更に詳細に説明する。
実時間データ処理端末3の判断部33は、CPU301の処理によって実現され、各種判断を行なう。例えば、判断部33は、撮像ユニット40から送られて来る型番に基づき、撮像素子情報管理DB3001を参考にして、撮像素子の数を判断する。
画像処理部34は、CPU301の処理によって実現され、図11に示されている各プログラム(画像取得プログラム、画像合成プログラム、歪み補正プログラム、及びサービスプログラム)の実行により、各種画像処理を行なう。具体的には、画像処理部34は、取得するために認証が不要な第1のプログラム(例えば、画像取得プログラム、画像合成プログラム、及び歪み補正プログラム)を実行することで、画像データに対して第1の画像処理(例えば、画像取得、画像合成、歪み補正)を行なう。また、画像処理部34は、取得するために認証が必要な第2のプログラム(例えば、サービスプログラム)を実行することで、画像データに対して第2の画像処理(例えば、物体検出処理、物体計数処理)を行なう。
物体検出部35は、CPU301の処理によって実現され、画像処理部34で取得された撮像画像のデータにおいて、画像処理により、顔などの予め決められた特定の物体の候補となる特徴点を検出し、顔などの予め定められた特定の物体の形状モデルを示す形状モデルデータを参照して、撮像画像の中の物体の位置を検出する。
イベント生成部36は、CPU301の処理によって実現され、物体検出部35で物体の位置が検出された旨の検出情報(イベント情報)を生成する。
表示制御部37は、CPU301の処理によって実現され、表示手段の一例であるディスプレイ317に各種画面を表示させる。
接続部38は、撮像ユニットI/F313、及びCPU301の処理によって実現され、撮像ユニット40を実時間データ処理端末3に機械的及び電気的に接続するためのインターフェースである。
記憶・読出部39は、CPU301の処理によって実現され、記憶部3000に各種データ(または情報)を記憶したり、記憶部3000から各種データ(または情報)を読み出したりする。
通信部48は、外部機器接続I/F318、及びCPU301の処理によって実現され、1対1の通信を介して近端末データ処理装置5の後述の通信部58と各種データ(または情報)の送受信を行う。なお、この通信は有線だけでなく無線であってもよい。
<近端末データ処理装置の機能構成>
図8に示されているように、近端末データ処理装置5は、送受信部51、データ検出部56、表示制御部57、通信部58、及び記憶・読出部59を有している。これら各部は、図5に示されている各構成要素のいずれかが、近端末データ処理装置5において、EEPROM504からRAM503上に展開されたプログラムに従ったCPU501からの命令によって、動作することで実現される機能又は手段である。
また、近端末データ処理装置5は、図5に示されているROM502、RAM503、及びEEPROM504によって構築される記憶部5000を有している。
(近端末データ処理装置の各機能構成)
次に、図8を用いて、近端末データ処理装置5の各機能構成について更に詳細に説明する。
近端末データ処理装置5の送受信部51は、遠距離通信回路511、アンテナ511a、及びCPU501の処理によって実現され、通信ネットワーク(ここでは、イントラネット200)を介して、分散データ処理端末6との間で各種データ(または情報)の送受信を行う。
データ検出部56は、CPU501の処理によって実現され、実時間データ処理端末3からのデータを受信するべきイベントが発生しているか否か、データの受信が完了したか否かを検出する。
表示制御部57は、CPU501の処理によって実現され、表示手段の一例であるディスプレイ517に各種画面を表示させる。
通信部58は、外部機器接続I/F518、及びCPU501の処理によって実現され、1対1の通信を介して実時間データ処理端末3の通信部48と各種データ(または情報)の送受信を行う。なお、この通信は有線だけでなく、無線であってもよい。
記憶・読出部59は、CPU501の処理によって実現され、記憶部5000に各種データ(または情報)を記憶したり、記憶部5000から各種データ(または情報)を読み出したりする。
<分散データ処理端末の機能構成>
図9に示されているように、分散データ処理端末6は、送受信部61、受付部62、判断部63、表示制御部67、及び記憶・読出部69を有している。これら各部は、図5に示されている各構成要素のいずれかが、分散データ処理端末6において、EEPROM504からRAM503上に展開されたプログラムに従ったCPU501からの命令によって、動作することで実現される機能又は手段である。
また、分散データ処理端末6は、図5に示されているROM502、RAM503、及びEEPROM504によって構築される記憶部6000を有している。この記憶部6000には、照合データが記憶されている。更に、記憶部6000には、照合データ管理DB6001が構築されている。照合データ管理DB6001は、後述の照合データ管理テーブルによって構成されている。なお、照合データは、分散データ処理端末6以外の他のデータ管理サーバ等で記憶してもよい。
(照合データ管理テーブル)
図12は、照合データ管理テーブルを示す概念図である。この照合データ管理テーブルでは、照合データのファイル名を示す画像ファイル、及び照合画像で示される人物の名前が関連付けて管理されている。なお、照合データ管理テーブルの概念図は、ここに示すほか、照合データのファイル名と、照合結果や、照合対象名の3つの項目が設定されても良い。具体的には、照合データのファイル名として、照合要求を行った2つのデータまたは、他の実施形態で示した1つのデータのファイル名を設定する。照合結果の項目には、集中データ処理サーバから提供される応答情報に基づく、判断結果である「OK」や「NG」の照合結果が設定される。さらに、照合対象名は、集中データ処理サーバから提供される、照合結果の物体に対する名称(例えば、車や飛行機、列車の名称、型番、人物名、物品名や識別コード)が設定される。
(分散データ処理端末の各機能構成)
分散データ処理端末6の送受信部61は、分散データ処理端末6における、遠距離通信回路511、アンテナ511a、及びCPU501の処理によって実現され、通信ネットワーク(ここでは、インターネット600)を介して、集中データ処理サーバ7と各種データ(または情報)の送受信を行う。例えば、送受信部61は、照合データと被照合データとの照合要求を集中データ処理サーバ7に対して送信したり、集中データ処理サーバ7から送られて来た照合結果に対する処理を行ったりする。
受付部62は、分散データ処理端末6における、タッチパネル521、及びCPU501の処理によって実現され、利用者の各種操作を受け付ける。
判断部63は、分散データ処理端末6におけるCPU501の処理によって実現され、各種判断を行なう。
表示制御部67は、分散データ処理端末6におけるCPU501の処理によって実現され、表示手段の一例であるディスプレイ517に各種画面を表示させる。
記憶・読出部69は、分散データ処理端末6におけるCPU501の処理によって実現され、記憶部6000に各種データ(または情報)を記憶したり、記憶部6000から各種データ(または情報)を読み出したりする。例えば、記憶・読出部69は、受付部62で受け付けられた登録要求により、照合データ(ここでは、顔画像データ)を記憶部6000に記憶して登録させる。これ以外にも、記憶・読出部69は、検出対象となった照合データと被照合データとを記憶部6000(照合データ管理DB6001)に記憶して登録させることでも良い。
<集中データ処理サーバの機能構成>
図9に示されているように、集中データ処理サーバ7は、送受信部71、受付部72、特徴量生成部74、照合部75、及び記憶・読出部79を有している。これら各部は、図6に示されている各構成要素のいずれかが、分散データ処理端末6において、HD704からRAM703上に展開されたプログラムに従ったCPU701からの命令によって、動作することで実現される機能又は手段である。
また、集中データ処理サーバ7は、図6に示されているROM702、RAM703、及びHD704によって構築される記憶部7000を有している。記憶部7000には、後述の照合側の特徴量データと、当該特徴量を持つ物体名称や識別コードなどが記憶されている。
(集中データ処理サーバの各機能構成)
集中データ処理サーバ7の送受信部71は、ネットワークI/F709、及びCPU701の処理によって実現され、通信ネットワーク(ここでは、インターネット600)を介して、分散データ処理端末6と各種データ(または情報)の送受信を行う。送受信部71は、照合データと被照合データとの照合要求を分散データ処理端末6から受信したり、分散データ処理端末6に対して類似度を含む応答情報を送信したりする。
受付部72は、キーボード711、マウス712、及びCPU701の処理によって実現され、利用者の各種操作を受け付ける。
特徴量生成部74は、CPU701の処理によって実現され、送受信部71によって受信された被照合データ(部分画像データ)及び照合データから特徴量のパラメータを生成する。
照合部75は、CPU701の処理によって実現され、特徴量生成部74で生成された特徴量を用いて照合データ側の特徴量と被照合データ側の特徴量とを照合し、類似度を示す得点(ポイント)を算出する。
記憶・読出部79は、CPU701の処理によって実現され、記憶部7000に各種データ(または情報)を記憶したり、記憶部7000から各種データ(または情報)を読み出したりする。
<サービス提供サーバの機能構成>
次に、図9、図13乃至図15を用いて、サービス提供サーバ8の各機能構成について詳細に説明する。図9に示されているように、サービス提供サーバ8は、送受信部81、判断部82、取出部87、及び記憶・読出部89を有している。これら各部は、図6に示されている各構成要素のいずれかが、HD704からRAM703上に展開されたサービス提供サーバ8用プログラムに従ったCPU701からの命令によって動作することで実現される機能又は手段である。
また、サービス提供サーバ8は、図6に示されているRAM703、及びHD704によって構築される記憶部8000を有している。この記憶部8000には、分散データ処理端末6又は認証サーバ9から送られて来る各種データが記憶される。また、記憶部8000には、図11で示されている各プログラムが全て記憶されており、サービス提供サーバ8は、実時間データ処理端末3の要求に応じて、要求対象のプログラムを送信することができる。
更に、記憶部8000には、セッション管理DB8001、及び認証サーバ管理DB8002が構築されている。このうち、セッション管理DB8001は、後述のセッション管理テーブルによって構成されている。認証サーバ管理DB8002は、後述の認証サーバ管理テーブルによって構成されている。以下、各テーブルについて詳細に説明する。
(セッション管理テーブル)
図13は、セッション管理テーブルを示す概念図である。このセッション管理テーブルでは、分散データ処理端末6にサービスを提供するために、分散データ処理端末6と確立する通信セッションを識別するためのセッションID、分散データ処理端末6を識別するための端末ID、及び端末IDで示される利用者の分散データ処理端末6のIPアドレスが関連付けて記憶されて管理されている。
図14(a)、(b)、(c)は、端末ID(identification)の一例として、電子メールアドレスを示しており、それぞれ認証対象部分と認証対象外部分によって構成されている。認証対象部分は、認証サーバ9によって認証される際に利用される利用者IDである。認証対象外部分は、認証サーバ9によって認証される際に利用されない部分である。
このうち、図14(a)に示されている第1のパターンでは、認証対象部分は、アカウント名”asai”、ホスト名”myhost”、及びドメイン名の前段部分“ricoo.com”によって構成されている。一方、認証対象外部分は、ドメイン名の後段部分”theta1”によって構成されている。この場合、取出部87は、”/”によって、認証対象部分と認証対象外部分を区別する。
また、図14(b)も第1のパターンを示しているが、認証対象外部分が図14(a)と異なる。即ち、認証サーバ9は、図14(a)に示されている端末IDと、図14(b)に示されている端末IDでは、認証対象部分が同じであるため、同じIDとして認証する。
なお、端末IDは、図14(c)に示されている第2のパターンであってもよい。この第2のパターンでは、認証対象部分は、アカウント名の前段部分”asai”によって構成されている。一方、認証対象外部分は、アカウント名の後段部分”theta2”、ホスト名”myhost”、及びドメイン名“ricoo.com”によって構成されている。この場合、取出部87は、”+”によって、認証対象部分と認証対象外部分を区別する。
(認証サーバ管理テーブル)
図15は、認証サーバ管理テーブルを示す概念図である。この認証サーバ管理テーブルでは、各認証サーバ9を識別するための認証サーバID毎に、各認証サーバ9にアクセスするためのURL(Uniform Resource Locator)が関連付けて記憶されて管理されている。
(サービス提供サーバの各機能構成)
次に、図9を用いて、サービス提供サーバ8の各機能構成について詳細に説明する。
サービス提供サーバ8の送受信部81は、主に、図6に示されているCPU701からの命令、及びネットワークI/F709によって実現され、通信ネットワーク600を介して分散データ処理端末6、又は認証サーバ9と各種データ(または情報)の送受信を行う。
判断部82は、主に、図6に示されているCPU701からの命令によって実現され、例えば、分散データ処理端末6にサービスを提供するための通信セッションが既に確立されているか否かを判断する。
取出部87は、主に、図6に示されているCPU701からの命令によって実現され、端末IDから、図14に示されているような利用者ID(認証対象部分)を取り出す処理を行う。
記憶・読出部89は、主に、図6に示されているCPU701からの命令、及びHDD705によって実現され、記憶部8000に各種データを記憶したり、記憶部8000から各種データを読み出したりする。
<認証サーバの機能構成>
次に、図9及び図11を用いて、認証サーバ9の機能構成について詳細に説明する。認証サーバ9は、送受信部91、認証部92、及び、記憶・読出部99を有している。これら各部は、図6に示されている各構成要素のいずれかが、HD704からRAM703上に展開された認証サーバ9用プログラムに従ったCPU701からの命令によって動作することで実現される機能又は手段である。
また、認証サーバ9は、図6に示されているRAM703、及びHD704によって構築される記憶部9000を有している。この記憶部9000には、分散データ処理端末6又はサービス提供サーバ8から送られて来る各種データが記憶される。
更に、記憶部9000には、認証管理DB9001が構築されている。認証管理DB9001は、後述の認証管理テーブルによって構成されている。以下、このテーブルについて詳細に説明する。
(認証管理テーブル)
図16(a)は認証サーバ9aが有する認証管理テーブルを示す概念図、図16(b)は認証サーバ9bが有する認証管理テーブルを示す概念図、図16(c)は認証サーバ9cが有する認証管理テーブルを示す概念図である。
各認証管理テーブルでは、端末IDのうちの利用者ID(認証対象部分)とパスワードとが関連付けて記憶されて管理されている。
(認証サーバの各機能構成)
次に、図9を用いて、認証サーバ9の各機能構成について詳細に説明する。
認証サーバ9の送受信部91は、主に、図6に示されているCPU701からの命令、及びネットワークI/F709によって実現され、インターネット600を介して分散データ処理端末6及びサービス提供サーバ8と各種データ(または情報)の送受信を行う。
認証部92は、主に、図6に示されているCPU701からの命令によって実現され、認証要求を送信した画像取得端末2に、サービスを受けられる正当な権限があるか否かを判断することで、分散データ処理端末6のIDの認証を行なう。このような認証を実施するのは、分散データ処理端末6が、画像取得端末2を管理していることに由来する。
記憶・読出部99は、主に、図6に示されているCPU701からの命令、及びHDD705によって実現され、記憶部9000に各種データ(または情報)を記憶したり、記憶部9000から各種データ(または情報)を読み出したりする。
〔本実施形態の処理又は動作〕
続いて、図17乃至図29を用いて、本実施形態の処理又は動作について説明する。
<認証処理>
まずは、図17乃至図20を用いて、認証処理について説明する。図17及び図18は、認証処理を示したシーケンス図である。図19及び図20は、分散データ処理端末の画面例を示す図である。
図17に示されているように、分散データ処理端末6の送受信部61からサービス提供サーバ8に対して、認証先選択画面の要求を送信する(ステップS21)。この要求には、分散データ処理端末6の端末IDが含まれている。また、この際、送受信部61は、自端末のIPアドレスを送信する。これにより、サービス提供サーバ8の送受信部81は、認証先選択画面の要求、及び分散データ処理端末6のIPアドレスを受信する。
次に、サービス提供サーバ8の判断部82は、セッション管理テーブル(図13参照)に、ステップS21で受信された端末IDが所定のセッションIDと関連づけて管理されているか否かを判断する(ステップS22)。以降、端末IDが管理されていなかった場合について説明する。
サービス提供サーバ8の送受信部81は分散データ処理端末6に対して、認証先選択画面のデータを送信する(ステップS23)。これにより、分散データ処理端末6の送受信部61は、認証先選択画面のデータを受信する。
次に、分散データ処理端末6の表示制御部63はディスプレイ517に対して、図19に示されているような認証先選択画面s1を表示させる(ステップS24)。図19では、分散データ処理端末6としての画面例が示されている。この認証先選択画面s1には、端末IDの入力欄b1、パスワードの入力欄b2、及びログイン要求(認証要求)するためのログインボタンb3が表示されている。更に、認証先選択画面s1には、認証サーバ9a,9b,9cをそれぞれ選択するための認証サーバ選択ボタンa1,a2,a3が表示されている。例えば、認証サーバ選択ボタンa1は、利用者が物体検出処理のサービスを受ける場合のボタンである。認証サーバ選択ボタンa2は、利用者が物体計数処理のサービスを受ける場合のボタンである。
ここで、利用者が、入力欄b1に自己の端末ID、入力欄b2に自己のパスワードを入力し、認証サーバ選択ボタンa1,a2,a3のうち所望のボタンを押下し、ログインボタンb3を押下すると、受付部62が各入力及び選択を受け付ける(ステップS25)。ここでは、認証サーバ選択ボタンa1が選択されることで、画像認識処理のうち、物体検出処理プログラムProgD01により物体検出処理が実行される場合について説明する。
送受信部61はサービス提供サーバ8に対して、ID(ここでは、端末ID又は利用者ID)の認証要求を送信する(ステップS26)。この認証要求には、ステップS25で受け付けられた端末ID及びパスワード、並びに認証サーバ9の選択結果及び分散データ処理端末6のURLが含まれている。この選択結果は、認証サーバ9を識別するための認証サーバIDを示している。これにより、サービス提供サーバ8の送受信部81は、IDの認証要求を受信する。
次に、サービス提供サーバ8の記憶・読出部89は、ステップS26で受信された選択結果としての認証サーバIDを検索キーとして、認証サーバ管理テーブル(図15参照)を検索することにより、対応する認証サーバのURLを読み出す(ステップS27)。
次に、取出部87は、ステップS26で受信された端末IDのうち、利用者ID(認証対象部分)のみを取り出す(ステップS28)。そして、送受信部81は、ステップS27で読み出されたURLで示される認証サーバ9に対して、IDの認証要求を送信する(ステップS29)。このIDの認証要求には、ステップS28で取り出された利用者ID(認証対象部分)、ステップS26で受信されたパスワード、及びステップ26で受信された分散データ処理端末6のURLが含まれている。これにより、認証サーバ9の送受信部71は、利用者の認証要求を受信する。
次に、認証サーバ9の記憶・読出部99は、ステップS29によって受信された利用者ID(認証対象部分)及びパスワードの組を検索キーとし、認証管理テーブル(図16参照)において同じ組の認証対象部分及びパスワードを検索した結果を用いて、認証部92が認証を行なう(ステップS30)。認証部92は、同じ組が管理されている場合には、分散データ処理端末6はサービス提供サーバ8からサービスを受けるための正当な端末であると判断し、同じ組が管理されていない場合には、分散データ処理端末6はサービス提供サーバ8からサービスを受けるための正当な端末でないと判断する。
なお、ステップS28では、取出部87が端末IDから認証対象部分を取り出したが、これに限るものではない。例えば、分散データ処理端末6が、ステップS26の処理の前に端末IDから認証対象部分を取り出してもよい。この場合、ステップS26では、端末IDではなく、利用者ID(認証対象部分)が送信される。また、認証サーバ9が、ステップS29の処理の後に端末IDから認証対象部分を取り出してもよい。この場合、ステップS29では、利用者ID(認証対象部分)ではなく、端末IDが送信される。
続いて、図18に示されているように、認証サーバ9の認証部92は、トークン(送信権)の暗号化を行なう(ステップS41)。そして、送受信部91は、ステップS29によって受信された分散データ処理端末6のURLに基づいて、この分散データ処理端末6に認証結果を送信する(ステップS42)。この認証結果は、分散データ処理端末6が正当であるか否かを示すとともに、ステップS41によって暗号化されたトークンが含まれている。これにより、分散データ処理端末6の送受信部61は、利用者の認証結果を受信する。以降、利用者が正当な権限を有する場合について説明する。
分散データ処理端末6の送受信部61は、サービス提供サーバ8に対して、セッション確立要求を送信する(ステップS43)。このセッション確立要求には、端末ID、及びステップS42で受信された暗号化されているトークンが含まれている。これにより、サービス提供サーバ8の送受信部81は、セッション確立要求を受信する。
次に、サービス提供サーバ8は、セッション確立要求を送信した分散データ処理端末6が、ステップS30で正当であると判断されたことを確認するため、送受信部81は認証サーバ9に対してトークンの認証要求を送信する(ステップS44)。このトークンの認証要求には、ステップS43で受信された暗号化されているトークンが含まれている。これにより、認証サーバ9の送受信部91は、トークンの認証要求を受信する。
次に、認証部92は、ステップS44によって受信された、暗号化されているトークンを復号化する(ステップS45)。そして、認証部92は、ステップS41で暗号化する前のトークンと、ステップS45で復号化した後のトークンを比較することで、トークンの認証を行なう(ステップS46)。そして、認証サーバ9の送受信部91は、サービス提供サーバ8に対して、ステップS46の認証結果を送信する(ステップS47)。これにより、サービス提供サーバ8の送受信部81は、認証結果を受信する。以降、ステップS46において、トークンが正当であると判断された場合について説明する。
次に、サービス提供サーバ8の記憶・読出部89は、セッション管理テーブル(図13参照)において、新たにセッションIDを割り当てるとともに、このセッションIDに対して、ステップS26で受信された端末ID及びIPアドレスを関連付けて管理する(ステップS48)。そして、送受信部81は、分散データ処理端末6に対してサービス提供画面のデータを送信する(ステップS49)。これにより、分散データ処理端末6の送受信部61は、サービス提供画面のデータを受信する。
次に、分散データ処理端末6の表示制御部63は、ディスプレイ517上に、図20に示されているようなサービス提供画面s2を表示させる(ステップS50)。図20では、分散データ処理端末6の画面例が示されている。ここでは、サービス提供例として、分散データ処理端末6から画像取得端末2に対する遠隔操作を実現させるための遠隔操作サービスについて説明する。図20に示されているサービス提供画面s2には、遠隔操作対象を特定するためのIPアドレスの入力欄c1、及び「遠隔操作開始」ボタンc2が表示されている。
<画像認識の準備処理>
続いて、図21乃至図23を用いて、画像認識の準備処理について説明する。図21は、画像認識の開始要求の処理を示したシーケンス図である。
図21に示されているように、分散データ処理端末6では、受付部62が利用者から画像認識の開始要求を受け付ける(ステップS61)。この場合、分散データ処理端末6のGUI(Graphical User Interface)が利用される。これにより、分散データ処理端末6の送受信部61は、近端末データ処理装置5に対して、画像認識の開始要求を示す画像認識の開始要求情報を送信する(ステップS62)。この開始要求情報には、上述の認証処理(図17及び図18参照)で認証を行なった認証サーバ9を識別するための認証サーバIDと、図18で設定されたセッションIDが含まれている。これにより、近端末データ処理装置5の送受信部51は、画像認識の開始要求情報を受信する。そして、通信部58は、実時間データ処理端末3に対して、画像認識の開始要求情報を送信する(ステップS63)。これにより、実時間データ処理端末3の通信部48は、画像認識の開始要求情報を受信する。このように、ユーザーインタフェースを実時間データ処理端末3から分離することで、分散データ処理端末6から遠隔(リモート)操作が可能となる。
図22は、実時間データ処理端末の実時間処理の準備処理を示したシーケンス図である。例えば、図21で示される開始要求情報を受信した画像取得端末2における実時間データ処理端末は、図22のシーケンスを実行することになる。
図22に示されているように、実時間データ処理端末3の接続部38は、撮像ユニット40から、この撮像ユニット40の型番を取得する(ステップS71)。この場合、接続部38から撮像ユニット40に型番を要求し、撮像ユニット40がこの要求に応じて自ユニットの型番を送信する。
次に、記憶・読出部39は、ステップS71によって取得された型番を検索キーとして、撮像素子情報管理DB3001(図10(a)参照)を検索することにより、対応する撮像素子の数、及びレンズの種類を読み出す(ステップS72)。更に、記憶・読出部39は、ステップS72によって読み出された撮像素子の数を検索キーとして、サイクル値管理DB3002(図10(b)参照)を検索することにより、対応するサイクル値を読み出す(ステップS73)。
次に、記憶・読出部39は、ステップS72によって読み出された撮像素子の数を検索キーとして、画像取得プログラム管理DB3003(図11(a)参照)で管理されている画像取得プログラムを検索する(ステップS74)。次に、記憶・読出部39は、ステップS72によって読み出された撮像素子の数を検索キーとして、合成処理プログラム管理DB3004(図11(b)参照)で管理されている合成処理プログラムを検索する(ステップS75)。次に、記憶・読出部39は、ステップS72によって読み出されたレンズの種類を検索キーとして、歪み補正プログラム管理DB3005(図11(c)参照)で管理されている歪み補正プログラムを検索する(ステップS76)。次に、記憶・読出部39は、ステップS72によって読み出されたレンズの種類を検索キーとして、サービスプログラム管理DB3006(図11(d)参照)で管理されているサービスプログラムを検索する(ステップS77)。
次に、判断部33は、上記ステップS74〜S77の検索結果に基づき、実行するプログラムが管理されているか否かにより、実行するプログラムが全てインストール済みか否かを判断する(ステップS78)。例えば、ステップS74で、記憶・読出部39が画像処理プログラムを検索した結果、画像処理プログラムが管理されている場合には、判断部33は、インストール済みと判断し、管理されていない場合には、判断部33は、インストール済みではないと判断する。
そして、判断部33によって、4つ全てのプログラムが管理されていると判断された場合には(ステップS78;YES)、図22に示されている処理は終了する。一方、判断部33によって、4つのプログラムのうち、少なくとも1つのプログラムがインストールされていないと判断された場合には(ステップS78;NO)、後述のステップS91へ進む。
図23は、プログラムの取得処理を示したシーケンス図である。ここでは、実時間データ処理端末3が、図22に示されている処理によってインストールされていないと判明したプログラムを、サービス提供サーバ8から取得する処理を示している。
まず、図23に示されているように、実時間データ処理端末3の通信部48が、近端末データ処理装置5の通信部58に対して、インストールされていないプログラムの要求を示す要求情報を送信する(ステップS91)。この要求情報には、要求するプログラム名、認証サーバID、及びセッションIDが含まれている。
次に、近端末データ処理装置5の送受信部51は、通信部58によって受信された要求情報を、分散データ処理端末6の送受信部61に送信する(ステップS92)。そして、分散データ処理端末6の送受信部61は、サービス提供サーバ8の送受信部81に要求情報を送信する(ステップS93)。
次に、サービス提供サーバ8では、記憶・読出部89が、認証サーバID及びセッションIDに基づいて、要求の正当性を確認し、要求情報に含まれているプログラム名で示されるプログラムを読み出す(ステップS94)。そして、送受信部81が、読み出されたプログラムを分散データ処理端末6の送受信部61に送信する(ステップS95)。この際、プログラム名も送信される。
次に、分散データ処理端末6の送受信部61は、近端末データ処理装置5の送受信部51に、プログラム名を含めたプログラムを送信する(ステップS96)。そして、近端末データ処理装置5の通信部58は、実時間データ処理端末3の通信部48に対して、プログラム名を含めたプログラムを送信する(ステップS97)。
次に、実時間データ処理端末3の記憶・読出部39は、通信部48によって取得されたプログラムをインストールするとともに、図11に示されている各テーブルのうち、インストールするプログラム名、及び認証サーバID関連付けて管理する(ステップS98)。
次に、記憶・読出部39は、画像認識処理に必要な全てのプログラムを起動させる(ステップS99)。これにより、実時間データ処理端末3が、起動されたプログラムを実行することで、以下に示されている実時間処理を開始する。
<画像認識処理>
ここでは、図19に示される「物体検出処理サービスへのログイン」ボタンa1が押下されて、サービス提供サーバ8が、画像認識処理のサービスのうち、物体検出処理のサービスを実行する場合について説明する。図24は、画像認識処理を示したシーケンス図である。
まず、実時間データ処理端末3は、実時間処理を行なう(ステップS111)。ここで、図25及び図26を用いて、実時間処理について説明する。図25は、実時間処理のうちの物体検出の処理を示したフローチャートである。
図25に示されているように、判断部33は、接続されている撮像ユニット40における撮像素子の数が1つであるか否かを判断する(ステップS201)。この場合、判断部33は、上述のステップS72の処理によって読み出された撮像素子の数に基づいて判断する。そして、撮像素子の数が1つの場合には(ステップS201;YES)、画像処理部34が、処理を繰り返すサイクル値を1/60秒に設定する(ステップS202)。この場合、画像処理部34は、上述のステップS73の処理によって読み出されたサイクル値に設定する。
次に、接続部38は、撮像ユニット40から1系統である撮像画像データを取得する(ステップS203)。この撮像画像データは、デジタル画像データであり、たとえば4K画像(幅3840画像×高さ2160画素)のデータである。この場合、接続部38は、図11(a)に示されている画像取得プログラム(ProgC01 (1系統))により処理を実行する。
次に、物体検出部35が、撮像画像データにおいて、物体の候補となる特徴点を検出することで、物体を検出する(ステップS204)。この場合、物体検出部35は、開始要求情報に含まれる認証サーバIDを用いて、適切な認証サーバIDを持っているか否かを、サービスプログラム管理テーブル(図11(d)参照)より判断し、当該DBに示されているサービスプログラム(ProgD01 (物体検出処理))の実行の可否を判断してから、処理を実行する。物体検出部35は、予め記憶部3000に記憶されている物体の形状モデルデータと比較しながら撮像画像の端から矩形を探索し、もっともらしい物体の特徴点の位置を選択する。なお、ステップS204の処理については、例えば、「顔認識技術とその応用:パブリックセーフティを支える要素技術・ソリューション特集 ; バイオメトリクス認証, NEC技報, Vol.63, no.3, pp.26−30, 2010-09」で開示されているような、既知技術を用いることができる。
次に、画像処理部34が、検出された物体の画像の歪みを補正する(ステップS205)。
この場合、画像処理部34は、図11(c)に示されている画像処理プログラム(ProgW01(広角歪み補正))により処理を実行する。この処理の実行にあたって、実時間データ処理端末3は開始要求情報に含まれる認証サーバIDを用いて、図11(d)を参照して広角歪み補正プログラムの実行の可否を判断する必要は無い。
一方、上記ステップS201において、撮像素子の数が1つではない場合には(ステップS201;NO)、画像処理部34は、実時間処理を繰り返すサイクル値を1/30秒に設定する(ステップS206)。この場合、画像処理部34は、上述のステップS73の処理によって読み出されたサイクル値に設定する。サイクル値を1/30秒とすることで、1入力と比較して、サイクル値を大きく取ることにより、後述の画像合成処理が間に合わなくなることを防ぐことが出来る。
次に、接続部38は、撮像ユニット40から2系統である2つの撮像画像データを取得する(ステップS207)。2つの撮像画像データは、それぞれ図4(a)、(b)に示されているような半球画像のデータである。この場合、接続部38は、図11(a)に示されている画像取得プログラム(ProgC02 (2系統))により処理を実行する。この処理の実行にあたって、先に示したように、実行の可否を判断する必要は無い。
そして、画像処理部34は、2つの撮像画像データを合成して、図4(c)に示されているような正距円筒射影画像ECを作成する(ステップS208)。この場合、画像処理部34は、図11(b)に示されている合成処理プログラム(ProgS02 (合成処理))により処理を実行する。そして、ステップS204に進み、物体検出部35は、正距円筒射影画像ECのデータにおいて、物体の候補となる特徴点を検出することで、物体を検出する。この場合、上述したように、物体検出部35は、開始要求情報に含まれる認証サーバIDを用いて、図11(d)に示されているサービスプログラム(ProgD01 (物体検出処理))の実行の可否を判断してから、処理を実行する。
次に、ステップS205によって、画像処理部34が、検出された物体の画像の歪みを補正する。この場合、画像処理部34は、図11(c)に示されている画像処理プログラム(ProgW02(魚眼歪み補正))により処理を実行する。この処理の実行にあたって、実時間データ処理端末3は開始要求情報に含まれる認証サーバIDを用いて、サービスプログラム管理テーブル(図11(d)参照)を参照して魚眼歪み補正プログラムの実行の可否を判断する必要は無い。
以上により、図24に示されているように、実時間データ処理端末3の通信部48は、近端末データ処理装置5の通信部58へ撮像画像データを送信する(ステップS112)。そして、近端末データ処理装置5の送受信部51は、ステップS112で受信された撮像画像データを、分散データ処理端末6の送受信部61へ送信する(ステップS113)。これにより、分散データ処理端末6の表示制御部67は、ディスプレイ517に、図27(a)に示されているような撮像画像をリアルタイムで表示させる(ステップS114)。図27(a)、(b)は、分散データ処理端末における撮像画像の表示例を示した図である。ステップS112〜S114は、ストリーミングの処理である。
<通信・通信抑制>
続いて、図26乃至図29を用いて、通信及び通信抑制について説明する。図26は、実時間処理のうちのイベント生成の処理を示したフローチャートである。図28は、照合する処理を示したシーケンス図である。図29は、ある部屋に画像取得端末を設置した場合の撮像ユニットによる撮影範囲を示した図である。
まず、物体検出部35が顔の検出回数(カウント)を0にセットした後(ステップS211)、上述のステップS204の処理によって、物体検出部35が、2つの物体(ここでは、顔)を検出しなかった場合には(ステップS212;NO)、所定時間(設定されているサイクル値)待機後に(ステップS213)、再びステップS211の処理に戻る。例えば、検出は1秒間に30回行われる。
これに対し、上述のステップS204の処理によって、物体検出部35が、2つの物体(ここでは、顔)を検出した場合には(ステップS212;YES)、ステップS214の処理へ進む。そして、検出された位置が2つのうちのどちらかでも照合可能範囲Qにない場合には(ステップS214;NO)、ステップS213の処理に進む。
ここで、図29を使って照合可能範囲Qを説明する。図29は、ある部屋に画像取得端末2を設置した場合の撮像ユニットによる撮影範囲を示した図である。検出可能範囲Pは、撮像ユニット40の撮影範囲が物体(ここでは、顔)を検出することができる範囲である。この検出可能範囲P内に、物体(ここでは、顔)の画像を照合可能な照合可能範囲Qと、この照合可能範囲Q外であって照合不可能な照合不可能範囲Rが含まれる。図29において、マージンa、マージンbは、検出可能範囲Pにおいて、それぞれx方向の左右端、y方向の上下端に設けられた所定の値である。これらの値は、実時間データ処理端末3が、図23に示されているステップS97で取得したサービスプログラム内に記憶されている。
上述のステップS204の処理による顔検出は、撮影範囲である検出可能範囲Pの全体にわたって行われる。物体が、マージンa,bできまる矩形の範囲外にある場合は、物体は照合可能範囲Q内にない(つまり照合不可能範囲R内にある)。ここで、(x1,y1)は、物体が検出された部分画像データの左上隅の座標を示す。
図26に戻り、判断部33によって、検出位置が2つとも照合可能範囲Qにあると判断された場合には(ステップS214;YES)、物体検出部35は検出回数を1つ増やした後に(ステップS215)、ステップS216の処理へ進む。例えば、物体が図29の座標(x2、y2)で示される位置にあれば照合可能範囲Qにあると判断される。そして、2つの物体の検出位置が照合可能範囲Qにあった場合には(ステップS216;YES)、ステップS218の処理に進む。そして、検出回数が所定値(たとえば10回)を超過していない場合は(ステップS216;NO)、所定時間待機後に(ステップS217)、ステップS212の処理に戻る。
ステップS216で、検出回数が所定値を超過した場合のみ次のステップS218の処理に進むのは、利用者が、図27(a)に示されているように、画像取得端末2の撮像ユニット40で自分の顔とカード(自分の顔の写真が印刷されたカード)を読み取らせる場合、顔認証したくないような利用者がほんの一瞬だけカードを読み取らせようとしたり、カードを持った利用者が画像取得端末2の前を通りすがったりするような場合には、近端末データ処理装置5から分散データ処理端末6に部分画像データを送信させないようにして、過度な回数の処理要求(若しくは通信回数又は通信量)を抑制するためである(第1の抑制)。
一方、判断部33によって、検出回数が所定値を超過していないと判断された場合は(ステップS216;YES)、画像処理部34は、検出位置での物体を含んだ2つの部分画像データをJPEGなどの汎用形式で符号化する(ステップS218)。そして、イベント生成部36は、近端末データ処理装置5に対して部分画像データを送信することを通知するイベントメッセージを生成する(ステップS219)。具体的には、イベント生成部36は、”Send”といったイベントメッセージを生成し、検出回数を0に設定(リセット)した後(ステップS220)、ステップS221の処理に進む。これにより、図28に示されているステップS121の処理が実行され、近端末データ処理装置5から分散データ処理端末6に、利用者の顔とカードに印刷された顔の各部分画像データが送信される。
続いて、図25のステップS204の処理によって、画像処理部34が、2つの物体(ここでは、顔)を検出していた場合には(ステップS221;YES)、所定時間(設定されているサイクル値)待機後に(ステップS222)、再びステップS220の処理に戻り、件数回数が0にリセットされる。この場合、利用者は画像取得端末2でカードの写真を長い間読み取らせていると考えられるため、ステップS121によって、再度同じ利用者の顔とカードに印刷された顔の各部分画像データが送信されることを防止して、過度な回数の処理要求(若しくは通信回数又は通信量)を抑制する(第2の抑制)。
これに対し、上述のステップS204の処理によって、画像処理部34が2つの物体(ここでは、顔)を検出していない場合には(ステップS212;NO)、検出回数を1つ増やした後に(ステップS223)、ステップS224の処理へ進む。そして検出回数が所定値(たとえば10回)を超過していない場合は(ステップS224;NO)、所定時間(設定されているサイクル値)待機後に(ステップS225)、ステップS221の処理に戻る。この場合、利用者は画像取得端末2でカードの写真を短時間だけ自分の方に裏返したりして、まだ同一人物が照合可能範囲Q内にいると考えられるため、ステップS221によって、再度同じ利用者の顔とカードに印刷された顔の各部分画像データが送信されることを防止して、過度な回数の処理要求、通信回数や通信量を抑制する(第3の抑制)。
一方、検出回数が所定値(たとえば10回)を超過した場合は(ステップS224;YES)、ステップS213の処理に戻る。
以上により、図24に示されているステップS111の処理が終了する。これにより、通信部48は、近端末データ処理装置5の通信部58に対して、ステップS219で生成されたイベントメッセージ、及びステップS205で歪み補正された部分画像データを送信する(ステップS115)。なお、ステップS204の処理において、複数の物体(ここでは、顔)が検出された場合には、1つのイベントメッセージと共に、複数の部分画像データが送信される。また、通信システムが、店舗等で利用される場合、実時間データ処理端末3は、イベントメッセージ及び部分画像データを保存しておき、店舗が閉店した後(例えば、夜)に、まとめて近端末データ処理装置5に送信してもよい。
次に、近端末データ処理装置5では、データ検出部56が、通信部58によって”Send”のイベントメッセージの受信の有無を検出する(ステップS116)。そして、イベントメッセージの受信が検出された場合には(ステップS116;YES)、通信部58は、イベントメッセージと共に送信された部分画像データを受信する(ステップS117)。そして、記憶・読出部59が、記憶部5000に部分画像データを一時的に記憶する(ステップS118)。
次に、データ検出部56は、部分画像データの受信が完了したか否かを監視する(ステップS119)。このステップS119の処理は、1つのイベントメッセージにつき、全ての部分画像データが受信されるまで繰り返される(ステップS119;NO)。そして、部分画像データの受信が完了した場合には(ステップS119;YES)、記憶・読出部59は、記憶部5000から1つのイベントメッセージと共に送られ、記憶部5000に一時的に記憶されている全ての部分画像データを読み出す(ステップS120)。その後、送受信部51は、イントラネット200を介して、分散データ処理端末6の送受信部61に対して、ステップS120で読み出された全ての(ここでは、2つの)部分画像データを送信する(ステップS121)。これにより、分散データ処理端末6の送受信部61は、2つの部分画像データを受信する。2つの部分画像データは、後ほど互いの類似度を比較する対象として利用される。
<照合処理>
続いて、図28を用いて、2つの部分画像データの照合処理について説明する。図28は、照合する処理を示したシーケンス図である。
まず、上述のステップS121の処理により、分散データ処理端末6の送受信部61が、2つの部分画像データを受信すると、インターネット600を介し、集中データ処理サーバ7に対して、照合要求を示す照合要求情報を送信する(ステップS314)。この照合要求情報には、2つの部分画像データが含まれている。これにより、集中データ処理サーバ7の送受信部71は、照合要求情報を受信する。
次に、集中データ処理サーバ7では、特徴量生成部74が、両データ(2つの部分画像データ)をビットマップデータに復号化する変換を行ない、両データに係る顔画像の目鼻の凹凸や傾き等の個人を識別するための特徴量のパラメータを生成する(ステップS315)。そして、照合部75は、両データに係る特徴量のパラメータを比較して類似度を算出する(ステップS316)。この類似度の算出方法には、例えば、「ディープラーニングと画像認識 : 基礎と最近の動向(<特集>ニューロサイエンスと数理モデリング) オペレーションズ・リサーチ : 経営の科学 60(4), 198-204, 2015-04-01」に開示されているような、深層神経回路網(DNN: Deep Neural Network)が利用される。なお、利用者の部分画像データの特徴量のパラメータは、第1の特徴量のパラメータの一例であり、カードの利用者の写真の部分画像データの特徴量のパラメータは、第2の特徴量のパラメータの一例である。
次に、集中データ処理サーバ7の送受信部71は、インターネット600を介して、分散データ処理端末6の送受信部61に対し、ステップS314の照合要求に対応する応答を示す応答情報を送信する(ステップS317)。この応答情報には、ステップS316の計算結果である類似度(例えば、0.9))が含まれている。これにより、分散データ処理端末6の送受信部61は、応答情報を受信する。なお、集中データ処理サーバ7は、先に示した類似度が予め定めている閾値より大きい場合には、当該特徴量に対応する当該特徴量を持つ物体名称や識別コードなどを、記憶部7000から読み出し、この応答情報に含めて、ステップS317で分散データ処理端末6に送信しても良い。
次に、分散データ処理端末6の判断部63は、所定の閾値(例えば、0.8)と類似度とを比較し、類似度が閾値より大きければ「OK」と判断し、そうでなければ「NG」と判断する(ステップS318)。そして、表示制御部67は、分散データ処理端末6のディスプレイ517上に、図27(a)に示されているリアルタイムの撮像画像上において、図27(b)に示されているような照合結果メッセージを表示させる(ステップS319)。この照合結果メッセージm1には、照合結果「OK」または「NG」が表示される。
〔本実施形態の主な効果〕
以上説明したように本実施形態によれば、ステップS216で、検出回数が所定値を超過した場合のみ、イベントメッセージの生成の処理(ステップS219)に進ようにした。即ち、物体検出部35によって第1の物体及び第2の物体が検出された回数が所定値を超過した場合には、送受信部51は、第1の物体に基づく第1の画像データ及び前記第2の物体に基づく第2の画像データを、分散データ処理端末6等の他の装置へ送信する(S121参照)。これにより、利用者が、図27(a)に示されているように、画像取得端末2の撮像ユニット40で自分の顔とカード(自分の顔の写真が印刷されたカード)を読み取らせる場合、顔認証したくないような利用者がほんの一瞬だけカードを読み取らせようとしたり、カードを持った利用者が画像取得端末2の前を通りすがったりするような場合には、近端末データ処理装置5から分散データ処理端末6に部分画像データを送信させないようにして、過度な回数の処理要求(若しくは通信回数又は通信量)を抑制することができるという効果を奏する(第1の抑制)。
また、画像処理部34が、2つの物体(ここでは、顔)を検出していた場合には(ステップS221;YES)、所定時間(設定されているサイクル値)待機後に(ステップS222)、再びステップS220の処理に戻り、件数回数を0にリセットする。即ち、送受信部51によって第1の画像データ及び第2の画像データが送信された後に、物体検出部35によって、第1の物体及び第2の物体を検出しない状態が生じないまま、再び第1の物体及び第2の物体が検出された場合には、送受信部51は、第1の画像データ及び第2の画像データを送信しない。この場合、利用者は画像取得端末2でカードの写真を長い間読み取らせていると考えられるため、ステップS121によって、再度同じ利用者の顔とカードに印刷された顔の各部分画像データが送信されることを防止して、過度な回数の処理要求(若しくは通信回数又は通信量)を抑制することができるという効果を奏する(第2の抑制)。
更に、上述のステップS204の処理によって、画像処理部34が2つの物体(ここでは、顔)を検出していない場合には(ステップS212;NO)、検出回数を1つ増やした後に(ステップS223)、ステップS224の処理へ進む。そして検出回数が所定値(たとえば10回)を超過していない場合は(ステップS224;NO)、所定時間(設定されているサイクル値)待機後に(ステップS225)、ステップS221の処理に戻る。即ち、送受信部51によって第1の画像データ及び第2の画像データが送信され、物体検出部35によって、第1の物体及び第2の物体を検出されない状態が生じた後に、再び第1の物体及び第2の物体のいずれか一方が検出された場合には、送受信部51、第1の画像データ及び第2の画像データを送信しない。この場合、利用者は画像取得端末2でカードの写真を短時間だけ自分の方に裏返したりして、まだ同一人物が照合可能範囲Q内にいると考えられるため、ステップS121によって、再度同じ利用者の顔とカードに印刷された顔の各部分画像データが送信されることを防止して、過度な回数の処理要求(若しくは通信回数又は通信量)を抑制することができるという効果を奏する(第3の抑制)。
●第2の実施形態
続いて、図24、図26及び図30を用いて、第2の実施形態について説明する。なお、これまでの実施形態との相違点を説明しながら、第2の実施形態について説明する。
(第2の実施形態の課題)
これまでの実施形態では、分散データ処理端末6から集中データ処理サーバ7へ2つの部分画像データ(照合データと被照合データ)との照合を要求する場合について説明してきた。しかしながら、集中データ処理サーバ7が予め照合データの特徴量パラメータを記憶部7000に備えておき、分散データ処理端末6から集中データ処理サーバ7へ1つの部分画像データ(被照合データ)を送信することで、さらに、簡便に照合するための変形例を示す。
〔通信システムの構成〕
これまでの実施形態で示した通信システムの構成と相違する点のみを記載し、一致点については、これまでの実施形態を援用する。
<集中データ処理サーバ>
集中データ処理サーバの記憶部7000には、例えば、図12に示したような照合データ管理テーブルが設けられている。具体的には、この照合データ管理テーブルは、予め照合対象となる画像ファイルの項目、当該画像ファイルの特徴量を示す特徴量パラメータと、当該画像の名称などの項目で設定されており、それぞれ画像ファイル、特徴量パラメータと、当該画像ファイルの内容を示す名称が記憶されている。
〔本実施形態の処理又は動作〕
図26は、実時間処理のうちイベント生成の処理を示したフローチャートである。図30は、図28に示されている照合する処理の他の例を示すシーケンス図である。ここで、第2の実施形態における図26の相違点について説明する。なお、図26に大きな変更点はないため、図26からの変更点を含むフローチャートの図示を省略する。
まず、第2の実施形態では、求められる部分画像データ(被照合データ)は1つで良いため、図26のステップS212はS212Aとして、ステップS221はS221Aとして「物体(顔)は1つ?」という判断ステップに変更される。同様に、ステップS214はステップS214Aとして「物体(顔)は照合可能範囲にあるのか?」という判断ステップに変更される。
次に変更された図26の処理について、次のように示す。
まず、物体検出部35が顔の検出回数(カウント)を0にセットした後(ステップS211A)、上述のステップS204の処理によって、物体検出部35が、1つの物体(ここでは、顔)を検出しなかった場合には(ステップS212A;NO)、所定時間(設定されているサイクル値)待機後に(ステップS213)、再びステップS211の処理に戻る。例えば、検出は1秒間に30回行われる。
これに対し、上述のステップS204の処理によって、物体検出部35が、1つの物体(ここでは、顔)を検出した場合には(ステップS212A;YES)、ステップS214Aの処理へ進む。そして、検出された位置が照合可能範囲Qにない場合には(ステップS214A;NO)、ステップS213の処理に進む。
ここで、照合可能範囲Qについては、既に図29を用いて説明したので割愛する。判断部33によって、検出位置が照合可能範囲Qにあると判断された場合には(ステップS214A;YES)、物体検出部35は検出回数を1つ増やした後に(ステップS215)、ステップS216の処理へ進む。例えば、物体が図29の座標(x2、y2)で示される位置にあれば照合可能範囲Qにあると判断される。そして、物体の検出位置が照合可能範囲Qにあった場合には(ステップS216;YES)、ステップS218の処理に進む。そして、検出回数が所定値(たとえば10回)を超過していない場合は(ステップS216;NO)、所定時間待機後に(ステップS217)、ステップS212Aの処理に戻る。
ステップS216で、検出回数が所定値を超過した場合のみ次のステップS218の処理に進むのは、利用者が、自分の顔を撮影させる場合、顔認証したくないような利用者がほんの一瞬だけ画像取得端末2に向いたり、利用者が画像取得端末2の前を通りすがったりするような場合には、近端末データ処理装置5から分散データ処理端末6に部分画像データを送信させないようにして、過度な回数の処理要求、通信回数や通信量を抑制するためである(第1の抑制)。
一方、判断部33によって、検出回数が所定値を超過していないと判断された場合は(ステップS216;YES)、画像処理部34は、検出位置での物体を含んだ部分画像データをJPEGなどの汎用形式で符号化する(ステップS218)。そして、イベント生成部36は、近端末データ処理装置5に対して部分画像データを送信することを通知するイベントメッセージを生成する(ステップS219)。具体的には、イベント生成部36は、”Send”といったイベントメッセージを生成し、検出回数を0に設定(リセット)した後(ステップS220)、ステップS221Aの処理に進む。これにより、図30に示されているステップS421の処理が実行され、近端末データ処理装置5から分散データ処理端末6に、利用者の顔の部分画像データが送信される。
続いて、図25のステップS204の処理によって、画像処理部34が、物体(ここでは、顔)を検出していた場合には(ステップS221A;YES)、所定時間(設定されているサイクル値)待機後に(ステップS222)、再びステップS220の処理に戻り、件数回数が0にリセットされる。この場合、利用者は顔を長い間読み取らせていると考えられるため、ステップS121Aによって、再度同じ利用者の顔の部分画像データが送信されることを防止して、過度な回数の処理要求、通信回数や通信量を抑制する(第2の抑制)。
これに対し、上述のステップS204の処理によって、画像処理部34が物体(ここでは、顔)を検出していない場合には(ステップS212A;NO)、検出回数を1つ増やした後に(ステップS223)、ステップS224の処理へ進む。そして検出回数が所定値(たとえば10回)を超過していない場合は(ステップS224;NO)、所定時間(設定されているサイクル値)待機後に(ステップS225)、ステップS221Aの処理に戻る。この場合、利用者は画像取得端末2で顔を短時間だけ振り向いたり、横を向いたりして、まだ同一人物が照合可能範囲Q内にいると考えられるため、ステップS221Aによって、再度同じ利用者の顔の部分画像データが送信されることを防止して、過度な回数の処理要求、通信回数や通信量を抑制する(第3の抑制)。
一方、検出回数が所定値(たとえば10回)を超過した場合は(ステップS224;YES)、ステップS213の処理に戻る。
以上により、これまでの実施形態と同様に図24に示されているステップS111の処理が終了する。これにより、通信部48は、近端末データ処理装置5の通信部58に対して、ステップS219で生成されたイベントメッセージ、及びステップS205で歪み補正された部分画像データを送信する(ステップS115)。なお、ステップS204の処理において、複数の物体(ここでは、顔)が検出された場合には、1つのイベントメッセージと共に、複数の部分画像データが送信される。また、通信システムが、店舗等で利用される場合、実時間データ処理端末3は、イベントメッセージ及び部分画像データを保存しておき、店舗が閉店した後(例えば、夜)に、まとめて近端末データ処理装置5に送信してもよい。
<照合処理>
続いて、図30を用いて、部分画像データの照合処理について説明する。図30は、図28に示されている、照合する処理の他の例を示すシーケンス図である。
分散データ処理端末6では、上述のステップS421の処理により、送受信部61が被照合データとしての部分画像データを受信した場合には、送受信部61は、集中データ処理サーバ7に対して、照合要求を示す照合要求情報を送信する(S511)。この照合要求情報には、被照合データが含まれている。これにより、集中データ処理サーバ7の送受信部71は、照合要求情報を受信する。
次に、集中データ処理サーバ7では、特徴量生成部74が、上述のステップS511で受信された被照合データをビットマップデータに変換し、被照合データに係る顔画像の目鼻の凹凸や傾き等の個人を識別するための特徴量のパラメータを生成する(S512)。そして、記憶・読出部79は、記憶部7000を検索することで、登録されている照合データの特徴量パラメータが残っているか否かを判断する(S513)。このステップS513によって特徴量パラメータが残っていると判断された場合には(S513;YES)、照合部75は、両データ(照合データ及び被照合データ)に係る特徴量のパラメータを比較して類似度を算出する(S514)。その後、ステップS513の処理に戻ることで、登録されている照合データの特徴量のパラメータに関して全て類似度が算出されるまで、ステップS513,S514の処理が繰り返される。一方、ステップS513の処理において、照合データの特徴量のパラメータが残っていない(全くない場合も含む)と判断された場合には、ステップS515の処理に進む。
次に、記憶・読出部79が、記憶部7000から読み出した特徴量パラメータに対応する「名称」をさらに読み出し、ステップS514の処理で計算された「類似度」とを組にして一時的に記憶部7000に記憶する(S515)。
次に、記憶・読出部79は、記憶部7000に一時的に記憶していた類似度の中から最大類似度の照合データに付けられた類似度を読み出す(S516)。そして、送受信部71は、分散データ処理端末6に対して、上述のステップS511の照合要求の応答を示す応答情報を送信する(S517)。この応答情報には、ステップS516で読み出された類似度が含まれている。ここで、先に示したステップS515で記憶部7000で記憶している「名称」を応答情報に含めても良い。
次に、分散データ処理端末6の判断部63は、所定の閾値(例えば、0.8)と類似度とを比較し、類似度が閾値より大きければ「OK」と判断し、そうでなければ「NG」と判断する(ステップS518)。そして、表示制御部67は、分散データ処理端末6のディスプレイ517上に、リアルタイムの撮像画像上において、照合結果メッセージを表示させる(ステップS519)。この照合結果メッセージには、照合結果「OK」または「NG」が表示される。
〔本実施形態の主な効果〕
以上説明したように本実施形態によれば、被照合データを送受信するため、第1の実施形態の効果に加えて、通信負荷をさらに軽減することができる。
〔補足〕
上記の実施形態では、実時間データ処理端末3が、検出回数が所定値を超過するか否かを判断する場合について説明したが(ステップS216,S224)、閾値以上になるか否かを判断してもよい。
また、上記実施形態では、物体検出部35が、画像処理により撮像画像の中の物体の位置を検出したが、これに限るものではない。例えば、物体検出部35が、画像処理にLiDAR(Light Detection and Ranging)を組み合わせることで、対象物にレーザ光を照射し、その反射光を検出器で測定することで距離を測定してもよい。これにより、例えば、撮像ユニットにより2人の人物が手前と奥に重なって撮像された場合であっても、1人と認識せずに2人と認識することができるため、誤認識を防ぐことができる。
また、上記実施形態では、撮像画像データについて説明したが、これに限らず、撮影されずに利用者によって作成された作成画像データであってもよい。この場合、撮影画像データ及び作成画像データは、「画像データ」の一例である。また。画像取得端末2は、通信端末の一例であり、画像データを外部から取得せず、自端末で作成してもよい。更に、通信端末は、集音により音データを取得してもよいし、温度センサにより温度データを取得してもよいし、湿度センサにより湿度データを取得してもよい。
また、各CPU301,501,701等の各構成要素は、単一であってもよく複数であってもよい。また、画像取得端末2、分散データ処理端末6、及び集中データ処理サーバ7は、それぞれ複数あってもよい。更に、分散データ処理端末6はサーバであってもよい。
また、上述の実施形態における各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本実施形態における「処理回路」は、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上述した各機能を実行するよう設計されたASIC(Application Specific Integrated
Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)、SOC(System on a chip)、GPU、及び従来の回路モジュール等のデバイスを含む。