(57)【要約】【課題】機器の負荷の分散、および、処理結果が返されるまでの応答時間の短縮を実現する。【解決手段】認識装置は、入力情報が属するクラスを求める認識処理の要求を下位装置から受信する受信部と、辞書情報を用いて認識処理を実行し、入力情報が属するクラスと類似性を示すスコアとを出力する認識部と、スコアに基づいて、上位装置に要求を転送するか否かを判定する判定部と、転送すると判定された場合に、要求を上位装置に送信する送信部と、入力情報と求められたクラスとに基づいて、辞書情報を更新する更新部と、を備える。【選択図】図３
2018045369.tif 000002
【特許請求の範囲】
【請求項１】
入力情報が属するクラスを求める認識処理の要求を下位装置から受信する受信部と、
辞書情報を用いて前記認識処理を実行し、前記入力情報が属するクラスとの類似性を示すスコアとを出力する認識部と、
前記スコアに基づいて、上位装置に前記要求を転送するか否かを判定する判定部と、
転送すると判定された場合に、前記要求を前記上位装置に送信する送信部と、
前記入力情報と求められたクラスとに基づいて、前記辞書情報を更新する更新部と、
を備える認識装置。
【請求項２】
前記判定部は、前記スコアが第１閾値より小さい場合に、前記上位装置に前記要求を転送すると判定する、
請求項１に記載の認識装置。
【請求項３】
前記受信部は、予め定められた地域内の１以上の下位装置から前記要求を受信し、
前記認識部は、前記地域に応じて定められた前記辞書情報を用いて前記認識処理を実行する、
請求項１に記載の認識装置。
【請求項４】
前記更新部は、求められたクラスの信頼度を算出し、前記信頼度が第２閾値より大きい場合に、前記辞書情報を更新する、
請求項１に記載の認識装置。
【請求項５】
前記更新部は、複数のクラスに対して算出される複数のスコアに基づいて前記信頼度を算出する、
請求項４に記載の認識装置。
【請求項６】
前記更新部は、前記入力情報と求められたクラスとを対応づけた情報を追加した学習データを用いて前記辞書情報を更新する、
請求項４に記載の認識装置。
【請求項７】
前記認識部は、部分空間法、修正二次識別関数法、または、球面疑似ベイズ法により前記認識処理を実行し、
前記更新部は、学習部分空間法、または、平均学習部分空間法により前記辞書情報を更新する、
請求項４に記載の認識装置。
【請求項８】
前記認識部は、ニューラルネットワークを用いた認識処理を実行し、
前記更新部は、誤差逆伝播法により前記辞書情報を更新する、
請求項４に記載の認識装置。
【請求項９】
下位装置と、認識装置と、上位装置と、を備える認識システムであって、
前記下位装置は、
入力情報が属するクラスを求める認識処理の要求を前記認識装置に送信する第１送信部を備え、
前記上位装置は、前記要求に応じて前記認識処理を実行する第１認識部を備え、
前記認識装置は、
前記要求を前記下位装置から受信する受信部と、
辞書情報を用いて前記認識処理を実行し、前記入力情報が属するクラスとスコアとを出力する第２認識部と、
前記スコアに基づいて、前記上位装置に前記要求を転送するか否かを判定する判定部と、
転送すると判定された場合に、前記要求を前記上位装置に送信する第２送信部と、
前記入力情報と求められたクラスとに基づいて、前記辞書情報を更新する更新部と、を備える、
認識システム。
【請求項１０】
入力情報が属するクラスを求める認識処理の要求を下位装置から受信する受信ステップと、
辞書情報を用いて前記認識処理を実行し、前記入力情報が属するクラスとスコアとを出力する認識ステップと、
前記スコアに基づいて、上位装置に前記要求を転送するか否かを判定する判定ステップと、
転送すると判定された場合に、前記要求を前記上位装置に送信する送信ステップと、
前記入力情報と求められたクラスとに基づいて、前記辞書情報を更新する更新ステップと、
を含む認識方法。
【請求項１１】
コンピュータを、
入力情報が属するクラスを求める認識処理の要求を下位装置から受信する受信部と、
辞書情報を用いて前記認識処理を実行し、前記入力情報が属するクラスとスコアとを出力する認識部と、
前記スコアに基づいて、上位装置に前記要求を転送するか否かを判定する判定部と、
転送すると判定された場合に、前記要求を前記上位装置に送信する送信部と、
前記入力情報と求められたクラスとに基づいて、前記辞書情報を更新する更新部と、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、認識装置、認識システム、認識方法およびプログラムに関する。
【背景技術】
【０００２】
画像認識、音声認識および音声合成などのクラウドサービスでは、ユーザ側の端末（ユーザ端末）からの要求がクラウドに送信され、クラウドでの処理結果がユーザ端末に返却されるという枠組みを取ることが通例である。クラウドは一般に複数台の機器で構成されるが、クラウド自体の設置箇所は少数である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４７２３１７０号公報
【特許文献２】特許第４８４５３２１号公報
【特許文献３】特開平０１−２１９９７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のようなクラウドサービスでは、クラウド内の機器の負荷の分散、および、処理結果が返されるまでの応答時間の短縮などが求められている。
【課題を解決するための手段】
【０００５】
実施形態の認識装置は、入力情報が属するクラスを求める認識処理の要求を下位装置から受信する受信部と、辞書情報を用いて認識処理を実行し、入力情報が属するクラスとの類似性を示すスコアとを出力する認識部と、スコアに基づいて、上位装置に要求を転送するか否かを判定する判定部と、転送すると判定された場合に、要求を上位装置に送信する送信部と、入力情報と求められたクラスとに基づいて、辞書情報を更新する更新部と、を備える。
【図面の簡単な説明】
【０００６】
【図１】図１は、本実施形態にかかる認識システムの構成の一例を示すブロック図である。
【図２】図２は、本実施形態による認識処理の概要を説明するための図である。
【図３】図３は、エッジサーバ、マスタサーバ、および、ユーザ端末の機能構成の一例を示すブロック図である。
【図４】図４は、本実施形態における認識処理の一例を示すフローチャートである。
【図５】図５は、本実施形態にかかる装置のハードウェア構成例を示す説明図である。
【発明を実施するための形態】
【０００７】
以下に添付図面を参照して、この発明にかかる認識装置、認識システム、認識方法およびプログラムの好適な実施形態を詳細に説明する。
【０００８】
上記のように、従来は、１つまたは少数の地域に設置されるクラウド上に要求が送信されて処理される。このため、例えば類似した要求が行われることが多い地理的に近接した地点のユーザ端末からの要求であっても、遠隔地のクラウド上に送信して処理される場合がある。このため、応答時間が長くなる場合がある。また、すべての要求が遠隔地のクラウド上で一様に処理されるため、要求間の地理的近接性が処理結果に反映されない。
【０００９】
ユーザ端末からの同一の要求に対する応答性を向上するための仕組みとして、ユーザ端末からの要求をクラウド内のマスタサーバに中継するためのエッジサーバを階層的に各地に設ける構成がある。エッジサーバは、例えば過去の要求および処理結果を対にしてキャッシュする機能を持つ。エッジサーバは、過去の要求と同一の要求は上位サーバに転送せず、キャッシュされた結果をそのままユーザ側に応答する。しかし、要求が過去と同一になることがほとんどない画像認識などの場合には、上記のような構成は有効ではない。
【００１０】
要求間の地理的近接性を反映するための仕組みとして、オンプレミスの形態で各地にシステムを構築し、システム上の辞書をそれぞれ別箇にメンテナンスする方法もある。しかし、システムが分散することによりメンテナンスのコストが増加する。
【００１１】
本実施形態では、以下の流れで処理を行うことにより、クラウドシステム全体での辞書照合処理の量を変えずに、上位サーバに送信される要求および上位サーバでの処理量を減らすことにより、クラウド内の各サーバの負荷を軽減する。また、エッジサーバは、地域特性を反映した辞書情報（ローカル辞書）を要求の発生地点から近接した位置に自動的に構築する特性を持つ。これにより、システム全体の応答性および応答精度を効率的に高めることが可能となる。
（１）各地に配置された下位装置としてのエッジサーバが、ユーザ端末からの認識処理の要求を受け付ける。
（２）要求を受けたサーバ（エッジサーバ、または、最上位のマスタサーバ）は、自身の保持する辞書情報を用いて認識処理を実行する。サーバがマスタサーバでなく、かつ、認識結果の類似性を示すスコアが高くない場合、当該サーバは、要求を上位装置（上位のエッジサーバ、または、マスタサーバ）に転送する。それ以外の場合、サーバは、認識結果を下位のサーバまたはユーザ端末に返す。
（３）経由された全サーバを通じてユーザ端末に認識結果が返された後、経由された各サーバは、認識結果を用いて自身が保持する辞書を更新する。
【００１２】
本実施形態の認識システムは、例えば画像認識および音声認識などのパターン認識処理を実行する。認識処理では、認識処理の対象として入力された情報（入力情報：画像、音声など）が属するクラスが求められる。認識対象となるクラスは、どのようなクラスであってもよい。例えば、画像内の物体を認識する場合は、物体を分類する複数のクラス（車、人物、動物など）を認識対象のクラスとしてもよい。画像内の人物の顔を認識する場合は、各人物の顔を認識対象のクラスとしてもよい。
【００１３】
適用可能な認識処理は画像認識および音声認識に限られるものではなく、従来から用いられているあらゆる認識処理を適用できる。以下では、主に画像認識に適用する場合を例に説明する。
【００１４】
図１は、本実施形態にかかる認識システムの構成の一例を示すブロック図である。図１に示すように認識システムは、クラウド１０と、ユーザ端末３００ａ〜３００ｄと、を含む。
【００１５】
クラウド１０は、認識処理の要求をユーザ端末３００ａ〜３００ｄから受け付け、要求に応じて認識処理を実行し、認識結果をユーザ端末３００ａ〜３００ｄに返す。クラウド１０と、ユーザ端末３００ａ〜３００ｄとは、例えばインターネットなどの任意のネットワーク形態により接続される。
【００１６】
以下では、区別する必要がない場合はユーザ端末３００ａ〜３００ｄを単にユーザ端末３００という。ユーザ端末３００の個数は４に限られるものではなく、任意の個数とすることができる。
【００１７】
ユーザ端末３００は、ユーザの操作を受け、画像を含む要求をクラウド１０中の近接したエッジサーバ１００に送信する。例えば、ユーザはユーザ端末３００に備えられる撮像装置（カメラなど）により顔を含む画像を撮影する。ユーザ端末３００は、ユーザによる顔認識の指示に応じて、画像を含む要求であって、画像の認識処理（顔認証）の要求をクラウド１０に送信する。ユーザ端末３００は、クラウド１０から認識処理の処理結果を受け取り、処理結果を表示または蓄積する。
【００１８】
ユーザ端末３００は、携帯電話、スマートフォン、タブレット端末、および、パーソナルコンピュータなどに、要求の送信機能、および、処理結果の受信機能などを備えたクライアントアプリケーションを搭載することによって構成できる。クラウド１０が提供するＷｅｂサービスにこれらのクライアントアプリケーションと等価な機能を備えさせ、ユーザ端末３００は、このサービスにアクセスするように構成してもよい。
【００１９】
クラウド１０は、マスタサーバ２００と、認識装置としての複数のエッジサーバ１００ａ〜１００ｆと、を備えている。エッジサーバ１００ａ〜１００ｆは、区別する必要がない場合は単にエッジサーバ１００という。エッジサーバ１００の個数は６に限られるものではなく、任意の個数とすることができる。
【００２０】
マスタサーバ２００は、マスタサーバ２００による認識処理に用いる辞書２５０を備えている。エッジサーバ１００は、エッジサーバ１００による認識処理に用いるローカル辞書１５０ａ〜１５０ｆを備えている。ローカル辞書１５０ａ〜１５０ｆは、区別する必要がない場合は単にローカル辞書１５０という。
【００２１】
クラウド１０は、階層的に構成された複数のサーバを含む。クラウド１０内のサーバは、マスタサーバ２００とエッジサーバ１００とに二分される。マスタサーバ２００は、下位に１以上のエッジサーバ１００が接続され、上位にはサーバが接続されない。
【００２２】
エッジサーバ１００は、下位に、１以上の他のエッジサーバ１００またはユーザ端末３００が接続される。エッジサーバ１００は、上位に１つのサーバ（他のエッジサーバ１００、または、マスタサーバ２００）が接続される。図１では、エッジサーバ１００を２階層とする構成の例が示されているが、エッジサーバ１００の階層数は１であってもよいし、３以上であってもよい。
【００２３】
最下層のエッジサーバ１００は、例えば、予め定められた複数の地域（都道府県など）のいずれかにそれぞれ設置される。最下層のエッジサーバ１００は、さらに、設置された地域内に存在するユーザ端末３００からの要求を受付けるように構成してもよい。中位階層のエッジサーバ１００は、例えばその下位に接続される各エッジサーバ１００に対応する複数の地域を包括する地域（地方など）に設置される。
【００２４】
このように地理的に定められる地域に応じてエッジサーバ１００を設置することにより、要求間の地理的近接性を反映し、認識処理の応答性および応答精度を高めることが可能となる。
【００２５】
エッジサーバ１００とユーザ端末３００とを接続する回線の通信速度が大きければ、応答時間の増加を抑制することができる。従って、このような場合には、エッジサーバ１００が設置される地域と、このエッジサーバ１００に接続されるユーザ端末３００が存在する地域とは異なっていてもよい。
【００２６】
次に、本実施形態による認識処理の概要について説明する。図２は、本実施形態による認識処理の概要を説明するための図である。
【００２７】
まず、下位のエッジサーバ１００またはユーザ端末３００は、認識処理の要求を上位のエッジサーバ１００に送信する（ステップＳ１）。上位のエッジサーバ１００は、受信した要求に基づき、自身が保持するローカル辞書１５０を用いた認識処理を実行する（ステップＳ２）。
【００２８】
認識処理のスコアが高くない場合、認識処理を実行したエッジサーバ１００は、要求を上位のサーバ（他のエッジサーバ１００、または、マスタサーバ２００）に転送する（ステップＳ３）。上位のサーバは、要求に応じて認識処理を実行し、認識結果を要求元のエッジサーバ１００に返す。上位のサーバがエッジサーバ１００である場合、このエッジサーバ１００は、さらに認識処理のスコアを判定し、要求の上位への転送処理を実行してもよい。
【００２９】
エッジサーバ１００は、上位のサーバからの認識結果を受け取る（ステップＳ４）。エッジサーバ１００は、スコアが高いと判定した場合は、自装置内で実行した認識処理の結果を下位のエッジサーバ１００またはユーザ端末３００に返送する（ステップＳ５）。上位のサーバに要求を転送した場合、エッジサーバ１００は、上位のサーバから返された認識結果を下位のエッジサーバ１００またはユーザ端末３００に返送する。
【００３０】
この後、任意のタイミングで、エッジサーバ１００は、認識結果によるローカル辞書１５０の更新処理を実行する（ステップＳ６）。エッジサーバ１００は、自装置内で認識処理が実行された場合は、この認識処理の認識結果を用い、上位のサーバで認識処理が実行された場合は、この認識処理の認識結果を用いて、ローカル辞書１５０を更新する。
【００３１】
このようにして、エッジサーバ１００は、例えば自装置が設置される地域に特有の辞書を更新して保持できるようになる。
【００３２】
例えば各地域内のユーザ端末３００から、撮像した看板の画像の認識処理が要求される例を考える。同じ地域のユーザ端末３００からは、同じ看板の画像の認識処理が要求される可能性があるが、画像自体が同一になることはほとんどないと考えられる。本実施形態によれば、画像自体は異なるとしても、同一の対象を撮像した画像による認識結果を学習データとして辞書を更新できる。これにより、地域の特性を反映した辞書を構築することが可能となる。
【００３３】
他の例として、ある企業の従業員の顔認証（顔画像の認識）に適用する例を考える。この場合、ある地域に設置されるエッジサーバ１００は、この地域内の拠点に勤務する従業員を認証するための辞書を保持すればよい。この辞書を用いて認証できない場合（スコアが小さい場合）、より広域の拠点に設置される他のエッジサーバ１００、または、全従業員を認証するための辞書を保持するマスタサーバ２００に、認証処理の要求が転送される。
【００３４】
他の例として、地域ごとに異なる音声認識辞書を用いた音声認識処理を実行する例を考える。ある地域に設置されるエッジサーバ１００は、この地域に特有の言語（母国語、方言など）に応じた音声を認識するための辞書を保持し、更新していくことができる。
【００３５】
次に、本実施形態の各装置の機能構成例について説明する。図３は、エッジサーバ１００、マスタサーバ２００、および、ユーザ端末３００の機能構成の一例を示すブロック図である。
【００３６】
ユーザ端末３００は、カメラ３２１と、表示部３２２と、制御部３０１と、送信部３０２と、受信部３０３と、を備えている。
【００３７】
カメラ３２１は、認識処理の対象となる画像を撮像する撮像装置である。例えばユーザ端末３００のユーザは、カメラ３２１を用いて、顔認証に用いる画像を撮像する。音声認識を実行する場合、ユーザ端末３００は、カメラ３２１の代わりに、または、カメラ３２１に加えて、音声を取得する音声入力装置（マイクなど）を備えてもよい。
【００３８】
表示部３２２は、各種処理で用いられる各種情報（例えば認識処理の結果）を表示する。表示部３２２は、例えば、液晶ディスプレイまたはタッチパネルなどにより実現できる。
【００３９】
送信部３０２は、エッジサーバ１００などの外部装置に対して各種情報を送信する。例えば送信部３０２は、認識処理の要求をエッジサーバ１００に送信する。認識処理の要求は、認識処理の対象となる画像（入力情報の一例）を含む。
【００４０】
受信部３０３は、外部装置から各種情報を受信する。例えば受信部３０３は、認識処理の要求を送信したエッジサーバ１００から、認識処理の結果を受信する。
【００４１】
制御部３０１は、ユーザ端末３００による各種処理の全体を制御する。例えば制御部３０１は、カメラ３２１による画像の撮像、撮像された画像を含む認識処理の要求の送信、および、認識結果の受信などを、各部に実行させる。
【００４２】
次にエッジサーバ１００の機能構成例について説明する。エッジサーバ１００は、記憶部１２１と、受信部１０１と、認識部１０２と、判定部１０３と、送信部１０４と、更新部１０５と、を備えている。
【００４３】
記憶部１２１は、エッジサーバ１００による各種処理で用いる各種情報を記憶する。例えば記憶部１２１は、認識処理に用いる辞書情報（図１のローカル辞書１５０など）を記憶する。
【００４４】
受信部１０１は、ユーザ端末３００、他のエッジサーバ１００、および、マスタサーバ２００（接続されている場合）などの外部装置から各種情報を受信する。例えば受信部１０１は、認識処理の要求を下位装置（ユーザ端末３００または他のエッジサーバ１００）から受信する。上記のようにエッジサーバ１００が同じ地域のユーザ端末３００と対応付けられる場合は、受信部１０１は、対応する予め定められた地域内の１以上のユーザ端末３００から要求を受信してもよい。
【００４５】
認識部１０２は、要求に応じて認識処理を実行し、クラスと、このクラスに対するスコアとを出力する。スコアは、入力情報がクラスに属することの確からしさを示す度合いである。認識部１０２による認識処理のアルゴリズムは任意であるが、例えば最近傍決定法を適用することができる。
【００４６】
ローカル辞書１５０は、例えば適用するアルゴリズムに従って事前に学習データにより学習され、記憶部１２１に記憶される。エッジサーバ１００が同じ地域のユーザ端末３００と対応付けられる場合は、地域ごとにローカル辞書１５０を学習して記憶するように構成してもよい。認識部１０２は、ローカル辞書１５０と入力情報とを照合し、ローカル辞書１５０に含まれる各クラスに対するスコアを算出する。
【００４７】
例えば、最近傍決定法を用いる場合、認識部１０２は、学習用画像（学習データ）から抽出された特徴ベクトルおよびクラスラベルの対（ｘｎ，ｙｎ）（ｎ＝１〜Ｎ、Ｎは学習データの個数）をローカル辞書１５０として用いる。認識部１０２は、要求に含まれる画像（入力情報）から抽出された特徴ベクトルｘを用いて、クラスｃと特徴ベクトルｘとの類似性を示すスコアｓｃを以下の（１）式で決定する。
【数１】
2018045369.tif 000003
【００４８】
判定部１０３は、スコアを用いて、認識処理の要求を上位装置（他のエッジサーバ１００またはマスタサーバ２００）に転送するか否かを判定する。例えば判定部１０３は、スコアが予め定められた閾値（第１閾値）より小さい場合に要求を上位装置に転送すると判定する。閾値と比較するスコアは、例えば、全クラスに対して求められたスコアｓｃのうち最大値である。
【００４９】
転送すると判定されなかった場合、すなわち、認識部１０２による認識結果のスコアが閾値以上である場合、送信部１０４は、認識部１０２により得られた認識結果を要求元（他のエッジサーバ１００またはユーザ端末３００）に送信する。認識結果は、例えばスコアの最大値を与えるクラスとする。
【００５０】
送信部１０４は、判定部１０３により転送すると判定された場合に、要求を上位装置に送信する。要求が上位装置に転送された場合は、受信部１０１は、転送先の上位装置から認識結果を受信する。上位装置から受信された認識結果が、自装置の認識結果として用いられる。
【００５１】
更新部１０５は、認識結果を用いてローカル辞書１５０を更新する。例えば更新部１０５は、入力情報と認識結果として求められたクラスとを学習データとして追加し、追加後の学習データを用いた再学習によりローカル辞書１５０を更新する。
【００５２】
更新処理のタイミングは任意であるが、例えば以下のようなタイミングで実行してもよい。
・各認識処理の実行後
・所定の回数、認識処理が実行されたとき
・ＣＰＵ使用率およびネットワーク使用率などの負荷が一定閾値を下回ったとき
・所定の時刻を経過したとき
【００５３】
更新部１０５は、認識結果が信頼できる場合に更新処理を実行するように構成してもよい。例えば更新部１０５は、認識結果の信頼度を算出し、信頼度が予め定められた閾値（第２閾値）より大きい場合に辞書情報を更新してもよい。更新部１０５は、例えば、前回の更新処理以降に求められた認識結果のうち、信頼度が十分高い認識結果をクラスラベルとして学習データに追加する。更新部１０５は、追加した学習データを用いてローカル辞書１５０を再学習する。
【００５４】
認識結果の信頼度は、例えば、例えば以下の（２）式または（３）式で示す判定関数により算出できる。ｓ１〜ｓＣは、認識対象となるＣ個のクラスに対するスコアｓｃを上位から順に並べたものである。αｃおよびβｃは定数である。
【数２】
2018045369.tif 000004
【数３】
2018045369.tif 000005
【００５５】
信頼度は上記例に限られるものではない。例えば判定関数は、以下のように求められる値のうち少なくとも１つの線形結合により表されてもよい。
・複数のクラスに対して算出される複数のスコア
・上記スコアの値を定数倍した値
・上記スコアの値を定数倍して指数関数に与えることによって得られる値
・上記値のいずれかの線型和の対数をとった値
例えば、あるクラスに対するスコアがそのクラスに対する尤度または対数尤度と定数倍または定数差を除いて一致する場合、事後確率を信頼度として用いることができる。
【００５６】
また、複数の判定関数のうち予め定められた閾値（第３閾値）を上回った判定関数の個数を信頼度とし、信頼度（判定関数の個数）が閾値（第２閾値）より大きい場合に、更新部１０５が更新処理を行ってもよい。
【００５７】
次にマスタサーバ２００の機能構成例について説明する。マスタサーバ２００は、記憶部２２１と、受信部２０１と、認識部２０２と、送信部２０４と、更新部２０５と、を備えている。
【００５８】
マスタサーバ２００は、少なくとも、判定部１０３を備えないこと、および、判定部１０３の判定結果に応じて要求を転送しないことがエッジサーバ１００と異なっている。
【００５９】
記憶部２２１は、マスタサーバ２００による各種処理で用いる各種情報を記憶する。例えば記憶部２２１は、認識処理に用いる辞書情報（図１の辞書２５０など）を記憶する。辞書２５０は、例えば適用するアルゴリズムに従って事前に学習データにより学習され、記憶部２２１に記憶される。
【００６０】
受信部２０１は、エッジサーバ１００などの外部装置から各種情報を受信する。例えば受信部２０１は、認識処理の要求を下位のエッジサーバ１００から受信する。
【００６１】
認識部２０２は、要求に応じて認識処理を実行し、クラスと、このクラスに対するスコアとを出力する。認識部２０２による認識処理は、記憶部２２１に記憶される辞書２５０を用いる以外は、エッジサーバ１００による認識処理と同様である。
【００６２】
送信部２０４は、認識部２０２により得られた認識結果を要求元であるエッジサーバ１００に送信する。
【００６３】
更新部２０５は、認識結果を用いて辞書２５０を更新する。更新部２０５による更新処理は、エッジサーバ１００の更新部１０５による更新処理と同様である。
【００６４】
なお、上記各部は、例えば、ＣＰＵ（Central  Processing  Unit）などの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、ＩＣ（Integrated  Circuit）などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
【００６５】
各記憶部（記憶部１２１、記憶部２２１）は、ＨＤＤ（Hard  Disk  Drive）、光ディスク、メモリカード、ＲＡＭ（Random  Access  Memory）などの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００６６】
次に、このように構成された本実施形態にかかるエッジサーバ１００による認識処理について図４を用いて説明する。図４は、本実施形態における認識処理の一例を示すフローチャートである。
【００６７】
受信部１０１は、下位装置（ユーザ端末３００、または、他のエッジサーバ１００）からの認識処理の要求の受信を待機する（ステップＳ１０１）。受信部１０１は、認識処理の要求を受信したか否かを判定する（ステップＳ１０２）。要求を受信した場合（ステップＳ１０２：Ｙｅｓ）、認識部１０２は、要求に応じた認識処理を実行する（ステップＳ１０３）。
【００６８】
判定部１０３は、認識処理により求められたスコアが閾値より小さいか否かを判定する（ステップＳ１０４）。スコアが閾値より小さい場合（ステップＳ１０４：Ｙｅｓ）、送信部１０４は、認識処理の要求を上位のサーバ（他のエッジサーバ１００、または、マスタサーバ２００）に転送する（ステップＳ１０５）。
【００６９】
要求を転送後、または、ステップＳ１０２で要求を受信していない場合（ステップＳ１０２：Ｎｏ）、受信部１０１は、上位のサーバから認識結果を受信したか否かを判定する（ステップＳ１０６）。
【００７０】
認識結果を受信していない場合（ステップＳ１０６：Ｎｏ）、ステップＳ１０１に戻り処理が繰り返される。認識結果を受信した場合（ステップＳ１０６：Ｙｅｓ）、受信部１０１は、受信した認識結果を例えば記憶部１２１に記録する（ステップＳ１０７）。ステップＳ１０４でスコアが閾値以上であると判定された場合（ステップＳ１０４：Ｎｏ）、認識部１０２は、自身による認識処理の結果を例えば記憶部１２１に記録する。送信部１０４は、記録された認識結果を要求元に送信する（ステップＳ１０８）。
【００７１】
更新部１０５は、辞書の更新タイミングであるか否かを判定する（ステップＳ１０９）。更新タイミングでない場合（ステップＳ１０９：Ｎｏ）、ステップＳ１０１に戻り処理が繰り返される。更新タイミングである場合（ステップＳ１０９：Ｙｅｓ）、更新部１０５は、認識結果を学習データに追加して辞書の更新処理を実行する（ステップＳ１１０）。
【００７２】
なお、マスタサーバ２００の場合は、ステップＳ１０４〜ステップＳ１０６が実行されず、認識処理（ステップＳ１０３）の後にステップＳ１０７以降の処理が実行される。この場合、ステップＳ１０２：Ｎｏの後は、ステップＳ１０１に遷移すればよい。
【００７３】
（変形例）
上記実施形態では、認識処理に最近傍決定法を用いる例を説明した。認識処理はこれに限られるものではない。また、辞書の更新処理は、適用する認識処理のアルゴリズムに応じた任意の更新処理を適用できる。
【００７４】
例えば、認識処理では、部分空間法、修正二次識別関数法、または、球面疑似ベイズ法を用いてもよい。この場合、更新処理では、学習部分空間法、または、平均学習部分空間法を用いてもよい。
【００７５】
また、認識処理では、ニューラルネットワークを用いた認識処理を用いてもよい。この場合、更新処理では、誤差逆伝播法を用いてもよい。
【００７６】
以上説明したとおり、本実施形態によれば、機器の負荷の分散、および、応答時間の短縮などが可能となる。
【００７７】
次に、本実施形態にかかる各装置（ユーザ端末、エッジサーバ、マスタサーバ）のハードウェア構成について図５を用いて説明する。図５は、本実施形態にかかる装置のハードウェア構成例を示す説明図である。
【００７８】
本実施形態にかかる装置は、ＣＰＵ（Central  Processing  Unit）５１などの制御装置と、ＲＯＭ（Read  Only  Memory）５２やＲＡＭ（Random  Access  Memory）５３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、各部を接続するバス６１を備えている。
【００７９】
本実施形態にかかる装置で実行されるプログラムは、ＲＯＭ５２等に予め組み込まれて提供される。
【００８０】
本実施形態にかかる装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【００８１】
さらに、本実施形態にかかる装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態にかかる装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【００８２】
本実施形態にかかる装置で実行されるプログラムは、コンピュータを上述した装置の各部として機能させうる。このコンピュータは、ＣＰＵ５１がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【００８３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８４】
１００  エッジサーバ
１０１  受信部
１０２  認識部
１０３  判定部
１０４  送信部
１０５  更新部
１２１  記憶部
２００  マスタサーバ
２０１  受信部
２０２  認識部
２０４  送信部
２０５  更新部
２２１  記憶部
３００  ユーザ端末
３０１  制御部
３０２  送信部
３０３  受信部
３２１  カメラ
３２２  表示部
【図１】
2018045369.tif 000006
【図２】
2018045369.tif 000007
【図３】
2018045369.tif 000008
【図４】
2018045369.tif 000009
【図５】
2018045369.tif 000010