【文献】
LEISTNER,C., ROTH P.M., GRABNER H., BISCHOF H., STARZACHER, A. and RINNER B.,Visual on-line Learning in Distributed Camera Networks,2008 Second ACM/IEEE International Conference on Distributed Smart Cameras,米国,IEEE [online],2008年09月30日,p.1-10
【文献】
福岡久和、平賀由利亜、三谷剛正、中田 尚、中島康彦,分散CNNにおける圧縮と集約による情報転送の最適化,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2017年11月12日,Vol.117,No.314,p.51−54(CPSY2017-59),ISSN 0913-5685
(58)【調査した分野】(Int.Cl.,DB名)
第2の識別手段が他の識別システム別に、前記中間データと、他の識別システムのモデルにおける固有層のパラメータ値とに基づいて導出した識別結果を統合することによって、第1の識別手段が識別結果を導出したデータに対するラベルを特定する統合手段を備える
請求項1から請求項3のうちのいずれか1項に記載の識別システム。
【発明を実施するための形態】
【0018】
以下、本発明の実施形態を図面を参照して説明する。
【0019】
図1は、本発明の識別システムが複数設けられている状況を示す模式図である。
図1では、6個の識別システム100が各所に設けられている場合を例示しているが、各所に設けられる識別システム100の数は、特に限定されない。本実施形態では、複数の識別システム100が同様の構成であるものとして説明する。
【0020】
個々の識別システム100はそれぞれ、データ収集部(後述の
図3に示すデータ収集部101)を備える。各識別システム100のデータ収集部(
図1において図示略。後述の
図3を参照。)は、データを収集する各地に設置される。データ収集部は、データ収集部の設置場所におけるデータを収集する。例えば、データ収集部は、設置場所において画像や音声データを収集する。データ収集部は、カメラやマイクロホンによって実現される。例えば、データ収集部は、監視場所を撮影することによって画像を収集してもよい。また、例えば、設置場所において録音することによって音声データを収集してもよい。
【0021】
個々の識別システム100は、データ収集部とは別にコンピュータを備え、そのコンピュータは、データ(画像や音声データ等)が表わす物体を識別する。
【0022】
個々の識別システム100は、データが表わす物体を識別するためのモデルを記憶する。ただし、個々の識別システム100は、識別システム100自身のために作成されたモデルと、他の複数の識別システムのために作成された複数のモデルとを記憶する。
【0023】
個々の識別システム100のためのモデルは、例えば、各識別システム100とは異なる外部システム(図示略)によって識別システム100毎にそれぞれ作成される。ただし、各識別システム100に対応するモデルは、一部分が各識別システム100で共通になるように作成される。上記の外部システムが、モデルの一部分が各識別システム100で共通になるように識別システム100毎にモデルを生成する方法として、ファインチューニングや転移学習等の方法がある。
【0024】
個々の識別システム100は、具体的には、モデルのうち各識別システム100で共通となる共通部分を記憶するとともに、識別システム100自身のために作成されたモデルに固有の部分(共通部分以外の部分)とを記憶し、さらに、他の複数の識別システム100のために作成されたそれぞれのモデル毎に、モデルに固有の部分(共通部分以外の部分)を記憶する。
【0025】
また、個々の識別システム100は、識別システム100自身のために作成されたモデルに固有の部分を更新する。
【0026】
以下の説明では、識別対象となるデータが画像であり、識別システム100が、画像が表わす物体を識別する場合を例にして説明する。
【0027】
図2は、物体を識別するためのモデルの例を示す模式図である。以下、モデルが、画像に写っている物体が「自動車」、「オートバイ」、「バス」、「背景(すなわち、自動車、オートバイおよびバスは写っていない。)」の何れであるかを判定するためのモデルである場合を例にして説明する。モデルを定める際には、画像と、その画像と対になるラベル(本例では「自動車」、「オートバイ」、「バス」、「背景」のいずれか)との組を複数組定め、その複数の組を教師データとして用いる。前述のように、例えば、外部システムが、モデルの一部分が各識別システム100で共通になるように、ファインチューニングや転移学習等の方法によって、識別システム100毎にモデルを定める。
【0028】
また、モデルを用いて判定される対象(本例では、「自動車」、「オートバイ」、「バス」および「背景」)は、各識別システム100で共通である。
【0029】
モデルに適用される画像の画素数がnであるとすると、その画像は、n個の画素の各画素値を要素とするベクトル(X1,X2,・・・,Xn)
Tと表すことができる。例えば、X1は、画像における1番目の画素の画素値を表す。X2〜Xnに関しても同様である。また、ここで、Tは、転置を意味する。モデルは、複数の層を有し、層毎に複数の係数を含んでいる。
図2に示す例では、第1層は、係数a1〜amを含み、第2層は、係数b1〜bjを含んでいる。なお、
図2では、第k層や第k+1層の各係数の図示を省略している。画像を表すベクトルの個々の要素X1〜Xnは、第1層の各係数a1〜amと関連付けられる。
図2では、この関連付けを線で表している。また、ある層の各係数は、その前の層の各係数と関連付けられる。
図2では、この関連付けも線で表している。関連付けられた要素間には重みが定められる。例えば、関連付けられたa1とb1や、関連付けられたa1とb2等にそれぞれ重みが定められる。ある層(第p層とする。)の係数とその前の層(第p−1層とする。)の係数との間の重みの値は、第p層のパラメータ値として扱う。また、ある層(第p層)の係数の値も、第p層のパラメータ値として扱う。
【0030】
このように、
図2に示すモデルでは、層毎にパラメータ値が定められている。
【0031】
さらに、所定の層(以下、共通層と記す。)のパラメータ値は、各識別システム100で共通に定められる。
図2に示す例では、第1層から第k層までが共通層である場合を示している。従って、第1層から第k層までの各層のパラメータ値(係数値や重みの値)は、各識別システム100に対応するモデルで共通である。
【0032】
また、モデルの各層のうち、共通層以外の層のパラメータ値(係数値や重みの値)は、各識別システム100に対応するモデルで共通であるとは限らない。以下、モデルにおいて、共通層以外の層を、固有層と記す。
図2に示す例では、第k+1層から最終層までが固有層に該当する。
【0033】
例えば、前述の外部システムは、共通層(より具体的には、共通層の各パラメータ値)が各識別システム100で共通になるように、ファインチューニングや転移学習等の方法によって、識別システム100毎にモデルを定める。また、このとき、外部システムは、共通層に含まれる層の数が多くなるように、各識別システム100のモデルを定めることが好ましい。
【0034】
図2に示す例では、第1層から第k層までが共通層である場合を例示したが、共通層は、第1層を起点とする1つまたは連続する複数の層であればよい。
【0035】
図3は、本発明の実施形態の識別システム100の構成例を示すブロック図である。識別システム100は、データ収集部101と、コンピュータ102とを備える。データ収集部101とコンピュータ102とは、有線または無線で通信可能に接続される。以下の説明では、データ収集部101がカメラである場合を例にして説明し、データ収集部101をカメラ101と記す。カメラ101は、そのカメラ101の設置場所から撮影を行う。なお、カメラ101の設置場所と、コンピュータ102の設置場所とが異なっていてもよい。
【0036】
コンピュータ102は、共通パラメータ値記憶部131と、第1の固有パラメータ値記憶部132と、第2の固有パラメータ値記憶部133と、データ取得部105と、中間データ導出部134と、中間データ記憶部135と、第1の識別部106と、決定部107と、第2の識別部111と、表示制御部112と、属性データ記憶部113と、統合部114と、ディスプレイ装置115と、マウス116と、結果記憶部117と、学習部103とを備える。
【0037】
共通パラメータ値記憶部131は、各識別システム100に対応するそれぞれのモデルにおける共通部分を記憶する記憶装置である。すなわち、共通パラメータ値記憶部131は、各モデルでパラメータ値が共通となる共通層のパラメータ値を記憶する。
【0038】
第1の固有パラメータ値記憶部132は、その第1の固有パラメータ値記憶部132を備える識別システム100自身(
図3に示す識別システム100自身)に対応するモデルにおける固有層(換言すれば、共通層以外の層)のパラメータ値を記憶する記憶装置である。以下、
図3に示す識別システム100に対応するモデルを、
図3に示す識別システム100とは異なる他の識別システム100に対応するモデルと区別して、モデルzと記す。
【0039】
図3に示す識別システム100に対応するモデルは、共通層と固有層とを分離する態様で、コンピュータ102に記憶される。
【0040】
第1の固有パラメータ値記憶部132に記憶されたモデルzの固有層のパラメータ値は、後述の学習部103によって更新される。
【0041】
第2の固有パラメータ値記憶部133は、その第2の固有パラメータ値記憶部133を備える識別システム100自身(
図3に示す識別システム100自身)とは異なる他の複数の識別システム100に対応する複数のモデルそれぞれにおける固有層のパラメータ値を他の識別システム100毎に記憶する記憶装置である。この複数の識別システム100は、
図3に示す識別システム100以外の全ての識別システム100である必要はなく、例えば、
図1に例示する各識別システム100を管理する管理者が予め定めた複数の識別システムであればよい。以下に示す例では、説明を簡単にするために、
図3に示す第2の固有パラメータ値記憶部133が、
図3に示す識別システム100とは異なる他の2つの識別システム100に対応する2つのモデルそれぞれにおける固有層のパラメータ値を他の識別システム100毎に記憶する場合を例にして説明する。また、上記の2つの識別システム100を、便宜的に、識別システム100A、識別システム100Bと記す。また識別システム100Aに対応するモデルをモデルaと記し、識別システム100Bに対応するモデルをモデルbと記す。すなわち、本例では、第2の固有パラメータ値記憶部133は、モデルaの固有層のパラメータ値と、モデルbの固有層のパラメータ値とを記憶する。ただし、他の識別システムの数は2に限定されない。
【0042】
共通パラメータ値記憶部131に、共通層のパラメータ値を予め記憶させる方法は、特に限定されない。例えば、各識別システム100の管理者が、共通パラメータ値記憶部131に共通層のパラメータ値を予め記憶させてもよい。同様に、第1の固有パラメータ値記憶部132に、モデルzの固有層のパラメータ値の初期値を予め記憶させる方法も、特に限定されない。同様に、第2の固有パラメータ値記憶部133に、モデルaの固有層のパラメータ値と、モデルbの固有層のパラメータ値とを予め記憶させる方法も、特に限定されない。
【0043】
データ取得部105は、カメラ101が撮影によって得た新たな画像をカメラ101から取得する。データ取得部105は、カメラ101から画像を受信するためのインタフェースである。
【0044】
一般に、層毎にパラメータ値が定められたモデルにデータ(本例では画像)を適用する場合、第1層から順番に、パラメータ値を用いた演算を行って、データの識別結果を得る。
【0045】
本実施形態では、データ取得部105が新たな画像をカメラ101から取得したときに、中間データ導出部134が、その画像と、共通パラメータ値記憶部131に記憶されている共通層のパラメータ値とに基づいて、第1層から順次、演算を行い、共通層内の最後の層の演算結果を導出する。この演算結果は、画像が表わす物体を識別する処理における中間データである。
【0046】
以下、
図2に示すように第1層から第k層までが共通層であるとする。この場合、中間データ導出部134は、データ取得部105がカメラ101から取得した画像と、共通層のパラメータ値とに基づいて、第1層から第k層まで順次、演算を行い、第k層の演算結果を中間データとして導出する。
【0047】
中間データ導出部134は、導出した中間データを中間データ記憶部135に記憶させる。中間データ記憶部135は、中間データを記憶する記憶装置である。
【0048】
第1の識別部106は、中間データ導出部134によって導出された中間データ(第k層の演算結果)を中間データ記憶部135から読み込み、その中間データと、第1の固有パラメータ値記憶部132に記憶されているモデルzの固有層のパラメータ値とに基づいて、データ取得部105がカメラ101から取得した画像が表わす物体を識別する。具体的には、第1の識別部106は、中間データを用いて、固有層における最初の層(第k+1層)から順次、各層の演算を行うことによって、「自動車」、「オートバイ」、「バス」、「背景」の信頼度を算出する。そして、第1の識別部106は、「自動車」、「オートバイ」、「バス」、「背景」のうち、最も高い信頼度が得られたラベルを、画像に写っている物体を示すラベルとして定める。例えば、第1の識別部106が、固有層における最後の層までの演算を行った結果、「自動車」、「オートバイ」、「バス」、「背景」それぞれの信頼度として、“0.6”、“0.2”、“0.1”、“0.1”が得られたとする。この場合、第1の識別部106は、画像に写っている物体は、最も高い信頼度“0.6”が得られた「自動車」であると識別する。
【0049】
第1の識別部106は、識別処理の対象とした画像(データ取得部105がカメラ101から取得した画像)と、識別結果に該当するラベルと、そのラベルに対応する信頼度とを対応付けて、結果記憶部117に記憶させる。例えば、上記の例のように、第1の識別部106が、画像に写っている物体が、最も高い信頼度“0.6”が得られた「自動車」であると判定したとする。この場合、第1の識別部106は、その画像と、ラベル「自動車」と、信頼度“0.6”とを対応付けて、結果記憶部117に記憶させる。結果記憶部117は、識別結果等を記憶する記憶装置である。
【0050】
第2の識別部111は、第1の識別部106が処理対象とした各画像のうち、所定の画像に写っている物体を、他の識別システム100A,100B別に識別する。
【0051】
ここで、モデルz、識別システム100Aに対応するモデルa、および、識別システム100Bに対応するモデルbにおいて、第1層から第k層までが共通層である。従って、同一の画像をモデルz、モデルa、およびモデルbに適用した場合、第1層から第k層までの演算は共通となり、第k層の演算結果も共通となる。そして、第k層の演算結果は、中間データとして中間データ記憶部135に記憶される。従って、その中間データと、モデルaの固有層のパラメータ値を用いることによって、モデルaにおける第k+1層以降の層の演算を行うことができ、画像をモデルaに適用した場合の識別結果を得ることができる。同様に、その中間データと、モデルbの固有層のパラメータ値を用いることによって、モデルbにおける第k+1層以降の層の演算を行うことができ、画像をモデルbに適用した場合の識別結果を得ることができる。
【0052】
第2の識別部111は、中間データ記憶部135に記憶されている中間データ(第k層の演算結果)を読み込む。そして、第2の識別部111は、他の識別システム100A,100B別に、その中間データと、他の識別システムにおけるモデルの固有層のパラメータ値とに基づいて、第1の識別部106が識別結果を導出した画像が表わす物体を識別する。すなわち、本例では、第2の識別部111は、中間データと、モデルaの固有層のパラメータ値とに基づいて、第1の識別部106が識別結果を導出した画像が表わす物体を識別し、同様に、中間データと、モデルbの固有層のパラメータ値とに基づいて、その画像が表わす物体を識別する。
【0053】
上記の例において、中間データと、モデルaの固有層のパラメータ値とを用いる場合、第2の識別部111は、中間データを用いて、モデルaの固有層における最初の層(第k+1層)から最後の層まで演算を行い、最後の層の演算結果として、「自動車」、「オートバイ」、「バス」、「背景」それぞれの信頼度を得る。そして、第2の識別部111は、最も高い信頼度が得られたラベルを、画像に写っている物体を示すラベルとして定める。中間データと、モデルbの固有層のパラメータ値とを用いる場合の動作も同様である。
【0054】
なお、第2の識別部111は、モデルaの固有層のパラメータ値、および、モデルbの固有層のパラメータ値を、第2の固有パラメータ値記憶部133から読み込む。
【0055】
また、第1の識別部106が識別対象とした各画像のうちの所定の画像とは、第1の識別部106が識別対象とした各画像のうち、決定部107が、第2の識別部111に識別結果を導出させると決定した画像である。
【0056】
決定部107は、第1の識別部106が識別対象とした各画像のうち、第2の識別部111に識別結果を導出させる画像を決定する。以下、この決定方法として、3種類の決定方法を例示して説明する。決定部107は、以下に示す3種類の決定方法のいずれの決定方法を用いてもよい。
【0057】
[第1の決定方法]
第1の決定方法は、画像に写っている物体を表わすラベルとして第1の識別部106によって定められたラベルが誤りであった場合に、決定部107が、その画像の識別結果を第2の識別部111に導出させると決定する方法である。すなわち、決定部107が、第1の識別部106が誤識別した画像の識別結果を第2の識別部111に導出させると決定する方法である。第1の識別部106によって定められたラベルが、誤りであるか否かは、例えば、識別システム100のオペレータによって判断されてもよい。以下、この場合を例にして説明する。第1の識別部106が画像に対するラベルを定めた場合、決定部107は、その画像と、その画像に対して定められたラベルと、そのラベルが正しいか否かをオペレータが入力するためのGUI(Graphical User Interface)(本例では、2つのボタンとする。)とを表わす画面を、ディスプレイ装置115上に表示する。
図4は、第1の決定方法において決定部107がディスプレイ装置115上に表示する画面の例を示す模式図である。
【0058】
決定部107は、第1の識別部106が画像に対するラベルを定めた場合、
図4に例示するように、第1の識別部106が識別対象とした画像301と、第1の識別部106によって定められたラベル302(
図4に示す例では「オートバイ」)と、第1ボタン304および第2ボタン305とを表わす画面を、ディスプレイ装置115上に表示する。第1ボタン304は、画像に対するラベルが正しいことを入力するためのボタンであり、第1ボタン304がクリックされたということは、画像に対するラベルが正しい旨の情報がオペレータから入力されたことを意味する。また、第2ボタン305は、画像に対するラベルが誤っていることを入力するためのボタンであり、第2ボタン305がクリックされたといういことは、画像に対するラベルが誤っている旨の情報がオペレータから入力されたことを意味する。
図4に示す例では、画像301には自動車が写っているが、第1の識別部106によって定められたラベルとして「オートバイ」が表示されている。従って、オペレータは、マウス116を用いて第2ボタン305をクリックする。なお、
図4に示す例では、第1の識別部106によって定められたラベルとして「自動車」が表示されているならば、オペレータは、第1ボタン304をクリックする。
【0059】
決定部107は、
図4に例示する画面において、第2ボタン305がクリックされると、第1の識別部106によって定められたラベルが誤っていると判定し、第1の識別部106が識別対象とした画像301に関して、第2の識別部111に識別結果を導出させると決定する。
【0060】
なお、第1ボタン304がクリックされた場合には、決定部107は、第1の識別部106が識別対象とした画像301に関して、第2の識別部111に識別結果を導出させないと決定する。
【0061】
[第2の決定方法]
第2の決定方法は、画像に対して定められたラベルに対応する信頼度が予め定められた閾値以下である場合に、決定部107が、その画像の識別結果を第2の識別部111に導出させると決定する方法である。
【0062】
すなわち、第1の識別部106が画像に対して定めたラベルに対応する信頼度が閾値以下である場合、決定部107は、第2の識別部111にその画像の識別結果を導出させると決定する。また、第1の識別部106が画像に対して定めたラベルに対応する信頼度が閾値を超えている場合には、決定部107は、第2の識別部111にその画像の識別結果を導出させないと決定する。閾値は、例えば、“0.5”であるが、“0.5”以外の値であってもよい。
【0063】
第2の決定方法では、決定部107は、第1の識別部106が導出した信頼度と閾値との比較によって、第2の識別部111に画像の識別結果を導出させるか否かを決定する。従って、第2の決定方法では、
図4に例示する画面を表示する必要はない。
【0064】
[第3の決定方法]
第3の決定方法は、第1の識別部106が画像に対して定めたラベルが「背景」であるにも関わらず、その画像に「自動車」、「オートバイ」または「バス」が写っている場合に、決定部107が、第2の識別部111にその画像の識別結果を導出させると決定する方法である。換言すれば、第3の決定方法は、第1の識別部106が画像に「自動車」、「オートバイ」および「バス」のいずれも写っていないと判定したにも関わらず、その画像に「自動車」、「オートバイ」または「バス」が写っている場合に、決定部107が、第2の識別部111にその画像の識別結果を導出させると決定する方法である。特定されたラベルが「背景」である場合に、画像に「自動車」等が写っているか否かの判断は、識別システム100のオペレータが行う。
【0065】
第3の方法では、画像に対するラベルとして「背景」が定められた場合、決定部107は、その画像と、そのラベル「背景」と、前述の第1ボタン304および第2ボタン305とを表わす画面を、ディスプレイ装置115上に表示する。
図5は、第3の決定方法において決定部107がディスプレイ装置115上に表示する画面の例を示す模式図である。
【0066】
決定部107は、第1の識別部106が画像に対してラベルとして「背景」を定めた場合、
図5に例示するように、第1の識別部106が識別対象とした画像301と、ラベル302と、第1ボタン304および第2ボタン305とを表わす画面を、ディスプレイ装置115上に表示する。第3の決定方法で表示される画面では、ラベル302として「背景」が表示される。第1ボタン304および第2ボタン305は、
図4に示す第1ボタン304および第2ボタン305と同様であり、説明を省略する。
【0067】
図5に示す例では、第1の識別部106が画像301に対して定めたラベルが「背景(自動車、オートバイおよびバスは写っていない。)」であるにも関わらず、画像301には、自動車が写っている。従って、オペレータは、マウス116を用いて第2ボタン305をクリックする。なお、画像301に、自動車、オートバイおよびバスのいずれもが写っていないならば、オペレータは、第1ボタン304をクリックする。
【0068】
決定部107は、
図5に例示する画面において、第2ボタン305がクリックされると、ラベル「背景」が特定されているが、画像には「自動車」、「オートバイ」および「バス」のいずれかが写っていると判定し、第2の識別部111にその画像の識別結果を導出させると決定する。
【0069】
なお、
図5に例示する画面において第1ボタン304がクリックされた場合には、決定部107は、画像には「自動車」、「オートバイ」および「バス」のいずれも写っておらず、ラベル「背景」は正しいと判断し、第2の識別部111にその画像の識別結果を導出させないと決定する。
【0070】
第2の識別部111は、決定部107が第2の識別部111に識別結果を導出させると決定した画像に関して、その画像の識別結果を導出する。前述のように、第2の識別部111は、他の識別システム100A,100B別に、画像の識別結果を導出する。具体的には、第2の識別部111は、中間データ記憶部135に記憶されている中間データを読み込む。そして、第2の識別部111は、他の識別システム100A,100B別に、その中間データと、他の識別システムにおけるモデルの固有層のパラメータ値とに基づいて、その画像が表わす物体を識別する。すなわち、本例では、第2の識別部111は、中間データと、モデルaの固有層のパラメータ値とに基づいて、その画像が表わす物体を識別し、同様に、中間データと、モデルbの固有層のパラメータ値とに基づいて、その画像が表わす物体を識別する。
【0071】
第2の識別部111は、中間データと、モデルの固有層のパラメータ値に基づいて、「自動車」、「オートバイ」、「バス」、「背景」の信頼度をそれぞれ算出する。そして、第2の識別部111は、「自動車」、「オートバイ」、「バス」、「背景」のうち、最も高い信頼度が得られたラベルを、画像に写っている物体を示すラベルとして定める。また、第2の識別部111は、ラベル毎に求めた信頼度、並びに、画像に写っている物体を示すラベルおよびそのラベルに対応する信頼度を、既に結果記憶部117に記憶されているその画像に対応付けて、結果記憶部117に記憶させる。第2の識別部111は、この処理を、他の識別システム100のモデル毎に行う。本例では、第2の識別部111は、この処理を、他の識別システム100A,100Bに対応するモデルa、モデルbそれぞれに関して行う。
【0072】
この場合、結果記憶部117には、画像と、第1の識別部106がその画像に対して識別処理を行って定めたラベルと、そのラベルに対応する信頼度とが記憶される。さらに、それらの情報に対応付けて、第2の識別部111が中間データとモデルaの固有層のパラメータ値とに基づいて得たラベル毎の信頼度、および、最も信頼度が高いラベルとそのラベルに対応する信頼度、並びに、第2の識別部111が中間データとモデルbの固有層のパラメータ値とに基づいて得たラベル毎の信頼度、および、最も信頼度が高いラベルとそのラベルに対応する信頼度も、結果記憶部117に記憶される。
【0073】
結果記憶部117は、上記のような情報のセットが蓄積される
【0074】
ただし、決定部107が第2の識別部111に識別結果を導出させないと決定した画像に関しては、画像と、第1の識別部106がその画像に対して識別処理を行って定めたラベルと、そのラベルに対応する信頼度が結果記憶部117に記憶され、他の情報は記憶されない。
【0075】
表示制御部112は、結果記憶部117に記憶された情報から、1組の情報のセットを読み出し、画像と、第1の識別部106が導出したラベルおよびそのラベルに対応する信頼度と、第2の識別部111が他の識別システム100A,100B別に導出したラベルおよびそのラベルに対応する信頼度とを含む画面を、ディスプレイ装置115上に表示する。
【0076】
図6は、表示制御部112が表示する画面の例を示す模式図である。表示制御部112は、第1の識別部106が導出したラベルおよびそのラベルに対応する信頼度501と、第2の識別部111が中間データおよびモデルaの固有層のパラメータ値に基づいて導出したラベルおよびそのラベルに対応する信頼度502と、第2の識別部111が中間データおよびモデルbの固有層のパラメータ値に基づいて導出したラベルおよびそのラベルに対応する信頼度503とを、画像301に重畳した画面を、ディスプレイ装置115上に表示する。
【0077】
さらに、表示制御部112は、この画面内に、チェックボックス504と、再学習ボタン505と、画面切り替えボタン506,507を表示させる。
【0078】
チェックボックス504は、画面内に表示されている画像301を教師データに含めるか否かを指定するためのGUIである。チェックボックス504がチェックされている場合、画像301を教師データに含めることを意味する。チェックボックス504がチェックされていない場合、画像301を教師データに含めないことを意味する。なお、表示制御部112は、モデルaやモデルbの固有層のパラメータ値を用いて導出された信頼度に応じて、予めチェックされた状態でチェックボックス504を表示してもよい。例えば、モデルaやモデルbの固有層のパラメータ値を用いて導出されたラベルおよび信頼度の組において、信頼度が閾値(例えば、“0.5”)よりも大きい組が1組以上あれば、表示制御部112は、予めチェックされた状態でチェックボックス504を表示してもよい。オペレータは、チェックボックス504をマウス116でクリックすることによって、チェックボックス504にチェックを入れたり、チェックボックス504からチェックを外したりすることができる。オペレータは、画像301と、ラベルおよびそのラベルに対応する信頼度502,503を参照することによって、画像301を教師データに含めるか否かを判断すればよい。そして、オペレータは、その判断に基づいて、チェックボックス504にチェックを入れるか否かを決定すればよい。
【0079】
画面切り替えボタン506,507は、異なる画像を表示する画面に切り替えるためのボタンである。例えば、画面切り替えボタン506がクリックされた場合、表示制御部112は、時系列順で画像301よりも前の画像を含んでいる、
図6に示す画面と同様の画面に切り替える。また、例えば、画面切り替えボタン507がクリックされた場合、表示制御部112は、時系列順で画像301よりも後の画像を含んでいる、
図6に示す画像と同様の画面に切り替える。オペレータは、切り替えた各画面において、チェックボックス504にチェックを入れるか否かを決定すればよい。
【0080】
再学習ボタン505は、オペレータが識別システム100に、モデルzの固有層のパラメータ値の再学習を指示するためのボタンである。再学習ボタン505がクリックされた場合、統合部114は、チェックボックス504がチェックされた画面の画像毎に、ラベルを特定する。以下の説明では、説明を簡単にするために、
図6に例示する画面のみで、チェックボックス504がチェックされている場合を例にして説明する。この場合、統合部114は、
図6に例示する画像301のラベルを特定する。
【0081】
以下、統合部114が1つの画像のラベルを特定する処理について説明する前に、まず、属性データ記憶部113について説明する。属性データ記憶部113は、属性データ記憶部113を含むコンピュータ102に接続されているカメラ101の属性を示すデータ(属性データ)と、固有層のパラメータ値が第2の固有パラメータ値記憶部133に記憶されているモデル(以下、外部モデルと記す)に対応する他の各識別システム100(本例では、識別システム100A,100B)のカメラ101の属性データとを記憶する記憶装置である。以下、外部モデルに対応する識別システム100のカメラ101の属性データを、その外部モデルに対応する属性データと記す。本例では、外部モデルは、モデルaおよびモデルbである。モデルaに対応する属性データを属性データαと記す。また、モデルbに対応する属性データを属性データβと記す。属性データαは、識別システム100Aのカメラ101の属性データであり、属性データβは、識別システム100Bのカメラ101の属性データである。
【0082】
また、上記のように、属性データ記憶部113は、その属性データ記憶部113を含むコンピュータ102に接続されているカメラ101の属性データを記憶する。この属性データを、基準属性データと記す。すなわち、本例では、属性データ記憶部113は、基準属性データと、属性データαと、属性データβとを記憶する。属性データ記憶部113に、基準属性データ、属性データα、属性データβを予め記憶させる方法は、特に限定されない。例えば、各識別システム100の管理者が、属性データ記憶部113に、基準属性データ、属性データα、属性データβを予め記憶させてもよい。
【0083】
カメラ101の属性として、カメラ101自体の属性や、カメラ101が設置されている環境に依存する属性等が挙げられる。各属性の値は数値で表される。また、各属性の値は、各識別システム100の管理者がカメラ101の設定や設置環境に応じて予め決定すればよい。属性データは、このような属性の値(数値)を要素とするベクトルで表される。
【0084】
カメラ101の属性データは、少なくとも、「カメラ101の画角」、「カメラ101が屋内に設置されているか屋外に設置されているか」、「カメラ101の撮影対象」、「カメラ101の撮影対象の移動方向」という各属性のうちの少なくとも一部の属性の値を含む。また、ベクトルで表される属性データが、どの属性の値を要素としているかは、全ての識別システム100で共通であり、どの属性の値がベクトルの何番目の要素なっているかに関しても、全ての識別システム100で共通である。ベクトルの各要素となる数値は、識別システム100毎に異なっていてよい。
【0085】
「カメラ101の画角」は、数値で表されるので、管理者は、画角を表わす数値をベクトルの要素として定めればよい。
【0086】
「カメラ101が屋内に設置されているか屋外に設置されているか」という属性に関しては、例えば、カメラ101が屋内に設置されている場合には、この属性の値を“0”に定め、カメラ101が屋外に設置されている場合には、この属性の値を“1”に定めればよい。
【0087】
また、「カメラ101の撮影対象」という属性に関しては、例えば、カメラ101が車両を撮影するように設置されている場合(例えば、カメラ101が車道に向けて設置されている場合)、この属性の値を“0”に定める。また、カメラ101が歩行者を撮影するように設置されている場合(例えば、カメラ101が歩道に向けて設置されている場合)、この属性の値を“1”に定める。また、カメラ101が車両と歩行者の両方を撮影するように設置されている場合(例えば、カメラ101が車両と歩行者の両方が通る道に向けて設置されている場合)、この属性の値を“0.5”に定める。
【0088】
「カメラ101の撮影対象の移動方向」という属性に関しては、カメラ101の主軸方向等に基づいた基準軸を定め、その基準軸と、撮影対象の主たる移動方向とのなす角度を、この属性の値として定めればよい。
【0089】
また、上記以外の属性の値を属性データに含めてもよい。例えば、「カメラ101の設置場所の高さ」、「カメラ101の俯角」、「カメラ101の解像度」等の値を属性データに含めてもよい。「カメラ101の設置場所の高さ」、「カメラ101の俯角」、「カメラ101の解像度」はいずれも数値で表されるので、それらの数値をベクトルの要素として定めればよい。
【0090】
統合部114は、第2の識別部111が、画像に対して外部モデル毎に導出した各ラベルの信頼度(本実施形態では、「自動車」、「オートバイ」、「バス」、「背景」それぞれの信頼度)を、ラベル毎に統合し、その統合結果に基づいてその画像のラベルを特定する。
【0091】
このとき、統合部114は、基準属性データ(すなわち、その統合部114を含む識別システム100のカメラ101の属性データ)と、予め定められた他の複数の識別システム100(本例では、識別システム100A,100B)のカメラ101の属性データとの類似度を、他の識別システム100毎に算出する。本例では、統合部114は、基準属性データと属性データαとの類似度と、基準属性データと属性データβとの類似度とを、それぞれ算出する。基準属性データと属性データαとの類似度を、識別システム100Aに関連する類似度と記す。また、基準属性データと属性データβとの類似度を、識別システム100Bに関連する類似度と記す。
【0092】
属性データはベクトルで表される。統合部114は、2つの属性データ(ベクトル)の類似度を算出する場合、その2つのベクトルの距離の逆数を、類似度として算出すればよい。
【0093】
統合部114は、モデルaの固有層のパラメータ値と中間データとを用いて導出した各ラベルの信頼度と、モデルbの固有層のパラメータ値と中間データとを用いて導出した各ラベルの信頼度とを、ラベル毎に統合するときに、識別システム100A,100Bに関連する類似度で重み付けして、統合する。統合部114は、信頼度の統合結果が最も高くなったラベルを、画像のラベルとして特定すればよい。
【0094】
外部モデル毎に導出した各ラベルの信頼度を、ラベル毎に統合する演算について、具体的に説明する。統合部114が信頼度を統合する演算方法として2つの演算方法を説明する。ここでは、1つのラベルに関して、外部モデル毎に導出した信頼度を統合する場合を説明する。統合部114は、他のラベルに関しても、同様の演算を行って、外部モデル毎に導出した信頼度を統合すればよい。
【0095】
[第1の演算方法]
まず、信頼度を統合する第1の演算方法について説明する。i番目の外部モデルの固有層のパラメータ値および中間データを用いて得られた、着目しているラベルの信頼度をLiとする。また、i番目の外部モデルに関して算出された類似度(基準属性データと、i番目の外部モデルに対応する属性データとの類似度)をWiとする。また、外部モデルの数をN個とする。この場合、統合部114は、着目しているラベルの信頼度を、以下に示す式(1)の計算によって統合すればよい。
【0097】
すなわち、統合部114は、外部モデル毎にLiとWiとの積を算出し、その積の平均値を、着目しているラベルの信頼度の統合結果とすればよい。統合部114は、他のラベルに関しても、同様の演算を行う。そして、統合部114は、統合結果が最も高くなったラベルを、画像のラベルとして特定する。
【0098】
図7は、第1の演算方法の具体例を示す説明図である。外部モデルとして、2つのモデルa,bがあるとする。モデルaの固有層のパラメータ値および中間データを用いて導出された「自動車」、「オートバイ」、「バス」および「背景」の信頼度がそれぞれ、“0.1”,“0.7”,“0.1”,“0.1”であるとする。また、基準属性データと属性データαとの類似度が“0.9”であるとする。統合部114は、上記の信頼度毎に、類似度“0.9”を乗じた結果を算出する。この結果、「自動車」、「オートバイ」、「バス」および「背景」それぞれに関して、“0.09”,“0.63”,“0.09”,“0.09”という乗算結果(積)が得られる。
【0099】
また、モデルbの固有層のパラメータ値および中間データを用いて導出された「自動車」、「オートバイ」、「バス」および「背景」の信頼度がそれぞれ、“0.1”,“0.6”,“0.2”,“0.1”であるとする。また、基準属性データと属性データβとの類似度が“0.8”であるとする。統合部114は、上記の信頼度毎に、類似度“0.8”を乗じた結果を算出する。この結果、「自動車」、「オートバイ」、「バス」および「背景」それぞれに関して、“0.08”,“0.48”,“0.16”,“0.08”という乗算結果(積)が得られる。
【0100】
統合部114は、「自動車」、「オートバイ」、「バス」および「背景」毎に得られた乗算結果(積)の平均値を計算する。「自動車」、「オートバイ」、「バス」および「背景」それぞれに関して算出された平均値は、”0.085”,”0.555”,”0.125”,”0.085”である。従って、統合部114は、平均値(統合結果)が最も高い「オートバイ」を、画像のラベルとして特定する。
【0101】
[第2の演算方法]
次に、信頼度を統合する第2の演算方法について説明する。前述の場合と同様に、i番目の外部モデルの固有層のパラメータ値および中間データを用いて得られた、着目しているラベルの信頼度をLiとする。また、i番目の外部モデルに関して算出された類似度(基準属性データと、i番目の外部モデルに対応する属性データとの類似度)をWiとする。また、個々の外部モデルに関して算出された個々の類似度の総和をWtとする。また、外部モデルの数をN個とする。統合部114は、Wtを以下に示す式(2)の計算によって算出すればよい。
【0103】
この場合、統合部114は、着目しているラベルの信頼度を、以下に示す式(3)の計算によって統合すればよい。
【0105】
すなわち、統合部114は、外部モデル毎に、類似度の総和に対する、外部モデルに関して算出された類似度の割合を算出し、その割合の算出結果を重みとして、着目しているラベルの信頼度の重み付け和を算出し、その算出結果を、着目しているラベルの信頼度の統合結果とすればよい。統合部114は、他のラベルに関しても、同様の演算を行う。そして、統合部114は、統合結果が最も高くなったラベルを、画像のラベルとして特定する。
【0106】
図8は、第2の演算方法の具体例を示す説明図である。外部モデルとして、2つのモデルa,bがあるとする。モデルaの固有層のパラメータ値および中間データを用いて導出された「自動車」、「オートバイ」、「バス」および「背景」の信頼度がそれぞれ、“0.1”,“0.7”,“0.1”,“0.1”であるとする。モデルbの固有層のパラメータ値および中間データを用いて導出された「自動車」、「オートバイ」、「バス」および「背景」の信頼度がそれぞれ、“0.1”,“0.6”,“0.2”,“0.1”であるとする。モデルaに関して算出された類似度(基準属性データと属性データαとの類似度)が“0.9”であるとする。モデルbに関して算出された類似度(基準属性データと属性データβとの類似度)が“0.8”であるとする。この場合、類似度の総和は、0.9+0.8=1.7である。よって、類似度の総和“1.7”に対する、類似度“0.9”の割合は、“0.9/1.7”である。また、類似度の総和“1.7”に対する、類似度“0.8”の割合は、“0.8/1.7”である。統合部114は、“0.9/1.7”および“0.8/1.7”を重みとして、ラベル毎に、信頼度の重み付け和を算出し、その算出結果を、ラベルの信頼度の統合結果とする。すると、「自動車」、「オートバイ」、「バス」および「背景」それぞれの統合結果は、“0.0999”,“0.6528”,“0.1470”,“0.0999”となる。従って、統合部114は、統合結果が最も高い「オートバイ」を、画像のラベルとして特定する。
【0107】
第1の演算方法および第2の演算方法は、いずれも、個々の外部モデル毎に導出したラベルの信頼度を、属性データの類似度で重み付けして統合する演算であると言える。
【0108】
統合部114が、各ラベルの信頼度の統合結果に基づいて、画像のラベルを特定すると、学習部103は、その画像と、統合部114によって特定されたラベルとの組を、既存の教師データに含める。なお、既存の教師データは、カメラ101が撮影によって得た画像と、その画像が表わす物体を示すラベルとの組の集合として、予め生成しておけばよい。学習部103は、教師データを用い、ディープラーニングによって、モデルzの固有層のパラメータ値を学習し直す。そして、学習部103は、第1の固有パラメータ値記憶部132に記憶されている固有層のパラメータ値(モデルzの固有層のパラメータ値)を、学習によって得た新たなパラメータ値(固有層のパラメータ値)に更新する。
【0109】
中間データ導出部134、第1の識別部106、決定部107、第2の識別部111、表示制御部112、統合部114、および、学習部103は、例えば、パラメータ値更新プログラムに従って動作するコンピュータ102のCPU(Central Processing Unit )によって実現される。例えば、CPUが、コンピュータ102のプログラム記憶装置等のプログラム記録媒体からパラメータ値更新プログラムを読み込み、パラメータ値更新プログラムに従って、中間データ導出部134、第1の識別部106、決定部107、第2の識別部111、表示制御部112、統合部114、および、学習部103として動作すればよい。
【0110】
また、共通パラメータ値記憶部131、第1の固有パラメータ値記憶部132、第2の固有パラメータ値記憶部133、中間データ記憶部135、属性データ記憶部113、および、結果記憶部117は、コンピュータ102が備える記憶装置によって実現される。
【0111】
次に、本発明の実施形態の処理経過について説明する。
図9は、カメラ101が撮影を行ってから、第2の識別部111が画像が表わす物体を識別するまでの処理経過の例を示すフローチャートである。なお、既に説明した動作については、詳細な説明を省略する。
【0112】
また、
図2に示す場合と同様に、モデルの第1層から第k層までが共通層であるものとする。従って、各モデルにおいて、第k+1層以降の層が固有層に該当する。
【0113】
共通パラメータ値記憶部131(
図3参照)には、共通層のパラメータ値が予め記憶されている。第1の固有パラメータ値記憶部132(
図3参照)には、
図3に示す識別システム100に対応するモデルzの固有層のパラメータ値が予め記憶されている。また、第2の固有パラメータ値記憶部133(
図3参照)には、他の識別システム100Aに対応するモデルaの固有層のパラメータ値、および、他の識別システム100Bに対応するモデルbの固有層のパラメータ値が予め記憶されている。
【0114】
まず、カメラ101が、そのカメラ101の設置場所で撮影を行うことによって、画像を得る(ステップS1)。カメラ101は、その画像をコンピュータ102に送信する。
【0115】
コンピュータ102の中間データ導出部134は、データ取得部105を介して、その画像を受け取る。そして、中間データ導出部134は、画像と、共通層のパラメータ値とに基づいて、第1層から順次、演算を行い、第k層の演算結果を導出し、第k層の演算結果を中間データとして、中間データ記憶部135に記憶させる(ステップS2)。
【0116】
次に、第1の識別部106は、中間データ記憶部135から中間データを読み込み、中間データと、モデルzの固有層のパラメータ値とに基づいて、ステップS1で得られた画像に写っている物体を識別する(ステップS3)。ステップS3において、第1の識別部106は、中間データを用いて、第k+1層から最終層まで順次、演算を行うことによって、画像に写っている物体を表わすラベルと、そのラベルの信頼度を導出する。第1の識別部106は、画像と、導出したラベルおよび信頼度とを対応付けて結果記憶部117に記憶させる。
【0117】
次に、決定部107は、ステップ3で第1の識別部106が識別結果を導出した画像に関して、第2の識別部111に識別結果を導出させるか否かを決定する(ステップS4)。決定部107は、例えば、前述の第1の決定方法、第2の決定方法、および、第3の決定方法のうちのいずれかの方法で、ステップS4を実行すればよい。
【0118】
第2の識別部111に画像の識別結果を導出させないと決定した場合(ステップS4のNo)、ステップS1以降の処理を繰り返す。
【0119】
第2の識別部111に画像の識別結果を導出させると決定した場合(ステップS4のYes)、第2の識別部111が、中間データ記憶部135から中間データを読み込む。そして、第2の識別部111は、他の識別システム100A,100B別に、中間データと、他の識別システムのモデルにおける固有層のパラメータ値に基づいて、画像が表わす物体を識別する(ステップS5)。
【0120】
本例では、まず、第2の識別部111は、中間データと、識別システム100Aに対応するモデルaの固有層のパラメータ値とを用いて、第k+1層から最終層まで順次、演算を行うことによって、各ラベル(「自動車」、「オートバイ」、「バス」および「背景」)それぞれの信頼度を導出し、各信頼度を画像に対応付けて、結果記憶部117に記憶させる。また、第2の識別部111は、信頼度が最も高かったラベルと、そのラベルに対応する信頼度の組も、画像に対応づけて、結果記憶部117に記憶させる。
【0121】
第2の識別部111は、識別システム100Bに対応するモデルbの固有層のパラメータ値に関しても、同様の処理を行う。すなわち、第2の識別部111は、中間データと、識別システム100Bに対応するモデルbの固有層のパラメータ値とを用いて、第k+1層から最終層まで順次、演算を行うことによって、各ラベル(「自動車」、「オートバイ」、「バス」および「背景」)それぞれの信頼度を導出し、各信頼度を画像に対応付けて、結果記憶部117に記憶させる。また、第2の識別部111は、信頼度が最も高かったラベルと、そのラベルに対応する信頼度の組も、画像に対応づけて、結果記憶部117に記憶させる。
【0122】
ステップS5の後、ステップS1以降の処理を繰り返す。
【0123】
図10は、オペレータからの指示に基づいて、モデルzの固有層のパラメータ値を更新する場合の処理経過の例を示すフローチャートである。以下の説明においても、既に説明した動作については、詳細な説明を省略する。
【0124】
表示制御部112は、第1の識別部106が導出したラベルおよびそのラベルに対応する信頼度と、第2の識別部111が他の識別システム100A,100B別に導出した各ラベルおよびその各ラベルに対応する信頼度とを、画像に重畳した画面を、ディスプレイ装置115上に表示する(ステップS11)。このとき、表示制御部112は、この画面内に、チェックボックス504と、再学習ボタン505と、画面切り替えボタン506,507とを含める。表示制御部112は、ステップS11において、例えば、
図6に例示する画面を表示する。
【0125】
オペレータは、
図6に例示する画面を確認し、表示されている画像301を教師データに含めるか否かを判断する。オペレータは、チェックボックス504にチェックを入れることで、表示されている画像301を教師データの含めることを指定する。すなわち、チェックボックス504にチェックが入れられた画面に表示された画像は、教師データに含める画像として指定された画像である。また、オペレータは、教師データの含める画像を指定した後、再学習ボタン505をクリックする。
【0126】
オペレータによって再学習ボタン505がクリックされると、統合部114は、基準属性データと、個々の外部モデルに対応する個々の属性データとの類似度をそれぞれ算出する(ステップS12)。本例では、統合部114は、基準属性データと、モデルaに対応する属性データαとの類似度を算出し、同様に、基準属性データと、モデルbに対応する属性データβとの類似度を算出する。既に説明したように、属性データはベクトルで表される。統合部114は、2つの属性データ(ベクトル)の類似度を算出する場合、その2つのベクトルの距離の逆数を、類似度として算出すればよい。
【0127】
次に、統合部114は、他の識別システム100A,100B別に導出されたラベルの信頼度を、ステップS12で算出した各類似度を用いて、統合する。統合部114は、この処理をラベル毎に行い、信頼度の統合結果が最も高いラベルを、教師データに含める画像に対するラベルとして特定する(ステップS13)。
【0128】
教師データの含める画像がオペレータによって複数指定されている場合には、統合部114は、その画像毎に、ステップS13の処理を実行する。
【0129】
次に、学習部103は、画像と、統合部114によって特定されたラベルとの組を既存の教師データに含める。そして、学習部103は、その教師データを用いて、モデルzの固有層のパラメータ値を学習し直す。さらに、学習部103は、第1の固有パラメータ値記憶部132に記憶されているモデルzの固有層のパラメータ値を、学習によって得た新たなパラメータ値に更新する(ステップS14)。
【0130】
この後、第1の識別部106が、ステップS3(
図9参照)において、画像に写っている物体を識別する場合には、ステップS14で更新されたパラメータ値(モデルzの固有層のパラメータ値)を用いる。
【0131】
本実施形態によれば、決定部107は、前述の第1の決定方法、第2の決定方法および第3の決定方法のうちのいずれかの方法で、第1の識別部106が識別結果を導出した画像に関して第2の識別部111に識別結果を導出させるか否かを決定する。従って、第2の識別部111によって識別結果が導出される画像は、第1の識別部106によって定められたラベルが誤りであった画像、画像に対して定められたラベルに対応する信頼度が閾値以下であった画像、または、第1の識別部106によって定められたラベルが「背景」であるにも関わらず、物体(「自動車」、「オートバイ」または「バス」)が写っている画像である。本実施形態では、学習部103が、このような画像を他の識別システム100A,100Bに対応するモデル(モデルa、モデルb)に適用した場合に得られる結果に基づいて特定されるラベルと、その画像との組を既存の教師データに含める。そして、学習部103が、その教師データを用いて、モデルzの固有層のパラメータ値を学習し直し、第1の固有パラメータ値記憶部132に記憶されているモデルzの固有層のパラメータ値を新たなパラメータ値に更新する。従って、第1の識別部106が、画像が表わす物体を識別する際の識別精度を向上させることができる。
【0132】
また、前述のように、モデルz、モデルaおよびモデルbにおいて、第1層から第k層までが共通層である場合、同一の画像をモデルz、モデルa、およびモデルbに適用した場合、第1層から第k層までの演算は共通となり、第k層の演算結果も共通となる。本実施形態では、ステップS2(
図9参照)で得られる第k層の演算結果を中間データとして、中間データ記憶部135に記憶させる。そして、第2の識別部111は、その中間データと、モデルaの固有層のパラメータ値とに基づいて、画像が表わす物体を識別し、同様に、その中間データと、モデルbの固有層のパラメータ値とに基づいて、画像が表わす物体を識別する。従って、モデルzの固有層のパラメータ値を更新するまでの過程において、第2の識別部111は、共通層の演算を行うことなく、他の識別システム100A,100B別に画像の識別結果を導出することができる。従って、上記の識別精度向上を実現するための処理量を少なく抑えることができる。
【0133】
また、共通層に含まれる層の数が多いほど、処理量を少なく抑えられるという上記の効果が大きくなる。従って、例えば、外部システムが、識別システム100毎にモデルを生成する場合、共通層に含まれる層の数が多くなるように、各識別システム100のモデルを定めることが好ましい。
【0134】
上記の実施形態では、
図3に示す第2の固有パラメータ値記憶部133が、
図3に示す識別システムとは異なる他の2つの識別システム100A,100Bに対応する2つのモデル(モデルa,モデルb)それぞれにおける固有層のパラメータ値を記憶する場合を例にして説明した。他の識別システム100の数は2に限定されない。
【0135】
図11は、本発明の実施形態における識別システム100が備えるコンピュータ102の構成例を示す概略ブロック図である。
図11では、コンピュータを符号“1000”で表す。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、ディスプレイ装置1005と、入力デバイス1006と、データ収集部101(例えば、カメラ)とのインタフェース1008とを備える。
【0136】
識別システム100が備えるコンピュータの動作は、パラメータ値更新プログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、そのパラメータ値更新プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開する。そして、CPU1001は、そのパラメータ値更新プログラムに従って、上記の実施形態で示したコンピュータ102(
図3を参照)の処理を実行する。
【0137】
補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD−ROM(Compact Disk Read Only Memory )、DVD−ROM(Digital Versatile Disk Read Only Memory )、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、上記の処理を実行してもよい。
【0138】
また、プログラムは、上記の実施形態で示したコンピュータ102の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで前述の処理を実現する差分プログラムであってもよい。
【0139】
また、各構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【0140】
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【0141】
次に、本発明の概要について説明する。
図12は、本発明の識別システムの概要を示すブロック図である。本発明の識別システムは、共通パラメータ値記憶手段700と、第1の固有パラメータ値記憶手段701と、第2の固有パラメータ値記憶手段702と、中間データ導出手段703と、第1の識別手段704と、第2の識別手段705と、固有パラメータ値更新手段706とを備える。
【0142】
共通パラメータ値記憶手段700(例えば、共通パラメータ値記憶部131)は、データ(例えば、画像)が表わす物体を識別するためのモデルであって、層毎にパラメータ値が定められるとともに、所定の層(例えば、共通層)のパラメータ値が複数の識別システムで共通に定められるモデルにおける、その所定の層のパラメータ値を記憶する。
【0143】
第1の固有パラメータ値記憶手段701(例えば、第1の固有パラメータ値記憶部132)は、当該識別システムに対応するモデル(例えば、モデルz)における、所定の層以外の層である固有層のパラメータ値を記憶する。
【0144】
第2の固有パラメータ値記憶手段702(例えば、第2の固有パラメータ値記憶部133)は、当該識別システムとは異なる他の複数の識別システム(例えば、2つの識別システム100A,100B)に対応する複数のモデル(例えば、モデルa、モデルb)それぞれにおける固有層のパラメータ値を、他の識別システム毎に記憶する。
【0145】
中間データ導出手段703(例えば、中間データ導出部134)は、共通パラメータ値記憶手段700に記憶された所定の層のパラメータ値と、データとに基づいて、当該データが表わす物体を識別する処理における中間データを導出する。
【0146】
第1の識別手段704(例えば、第1の識別部106)は、中間データと、第1の固有パラメータ値記憶手段701に記憶された固有層のパラメータ値とに基づいて、そのデータが表わす物体を識別する。
【0147】
第2の識別手段705(例えば、第2の識別部111)は、所定の場合に、他の識別システム別に、中間データと、他の識別システムのモデルにおける固有層のパラメータ値とに基づいて、第1の識別手段704が識別結果を導出したデータが表わす物体を識別する。
【0148】
固有パラメータ値更新手段706(例えば、学習部103)は、第2の識別手段705が導出した識別結果に基づいて定まるデータに対するラベルと、そのデータとを含む教師データに基づいて、当該識別システムに対応するモデルにおける固有層のパラメータ値を学習し、第1の固有パラメータ値記憶手段701に記憶されているパラメータ値を、学習したパラメータ値に更新する。
【0149】
そのような構成によって、データが表わす物体を識別する際の識別精度を向上させることができ、また、その精度向上のための処理量を少なく抑えることができる。
【0150】
所定の層は、第1層を起点とする1つまたは連続する複数の層である。
【0151】
また、導出された中間データを記憶する中間データ記憶手段(例えば、中間データ記憶部135)を備える構成であってもよい。
【0152】
また、第2の識別手段705が他の識別システム別に、中間データと、他の識別システムのモデルにおける固有層のパラメータ値とに基づいて導出した識別結果を統合することによって、第1の識別手段704が識別結果を導出したデータに対するラベルを特定する統合手段(例えば、統合部114)を備える構成であってもよい。
【0153】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0154】
本発明は、データが表わす物体を識別する識別システムに好適に適用される。