【文献】
町田 史門,外3名,センシティブデータの漏洩検知による適応的な公開範囲設定システムのプロトタイプ実装,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2014年 2月28日,Vol.113 No.480,第51頁−第56頁
(58)【調査した分野】(Int.Cl.,DB名)
前記第1の特定手段は、前記レベル設定手段により第1の開示レベルが設定された場合に、前記第1の管理者の前記学習データの特徴量データを前記開示データとして特定し、
前記第2の特定手段は、前記レベル設定手段により第1の開示レベルが設定された場合に、前記他の管理者の学習データの特徴量データを前記参照データとして特定することを特徴とする請求項1乃至3何れか1項に記載の情報処理装置。
前記第1の特定手段は、前記レベル設定手段により前記第2の開示レベルに比べて開示の程度が高い第3の開示レベルが設定された場合に、前記第1の管理者の前記学習データの前記特徴量データ、前記撮影パラメータ及び前記学習データを前記開示データとして特定し、
前記第2の特定手段は、前記レベル設定手段により前記第3の開示レベルが設定された場合に、前記他の管理者の学習データの前記特徴量データ、前記撮影パラメータ及び前記学習データを、前記参照データとして特定することを特徴とする請求項5に記載の情報処理装置。
前記第2の特定手段は、さらに、前記他の管理者のデータと、前記第1の管理者の前記学習データと、の類似度に応じて、前記参照データを特定することを特徴とする請求項1乃至6何れか1項に記載の情報処理装置。
前記レベル設定手段は、ユーザから開示レベルの設定指示を受け付けた場合に、前記設定指示に従い前記開示レベルを設定することを特徴とする請求項1乃至7何れか1項に記載の情報処理装置。
前記第1の特定手段は、前記関連データを得るためのアルゴリズムが更新された場合に、前記レベル設定手段により設定された前記開示レベルに応じて、更新後のアルゴリズムによって得られる関連データの中から、前記開示データを特定することを特徴とする請求項1乃至9何れか1項に記載の情報処理装置。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について図面に基づいて説明する。
(第1の実施形態)
図1は、第1の実施形態に係る情報共有システムを示す図である。情報共有システムは、3つの異なる工場の生産ラインそれぞれに対応する、3つの情報処理装置100a,100b,100cを有している。ここで、各情報処理装置100a,100b,100cは、各生産ラインにおいて、異なる検査対象の物体120a〜120cの外観検査を行うものである。なお、本実施形態においては、異なる3つの生産ラインに対して、情報共有システムを導入した場合を例示したが、生産ラインの数は3つである必要はなく、生産ラインの数に合わせて、同様のシステムを実現できることは言うまでもない。
【0012】
各情報処理装置100a〜100cに対応して設けられた撮像装置106a〜106cは、それぞれ検査対象の物体120a〜120cを撮像する。撮影画像は、検査データとして、情報処理装置100a〜100cに入力される。情報処理装置100a〜100cは、検査データを基に、識別器を用いて、検査対象の物体120a〜120cの外観検査を行う。具体的には、情報処理装置100a〜100cは、自動外観検査アルゴリズムを用いて、検査データから複数の特徴量を抽出し、抽出した複数の特徴量の組み合わせにより、検査対象の物体120a〜120cが良品であるか不良品であるかを判定する。自動外観検査アルゴリズムは、例えば、特開2010−102690号公報に示されるように、入力データとして撮影された検査対象画像から抽出された特徴量の組合せによって良品か不良品であるかを判定するものとする。検査データに対するユーザからの教示やパラメータ調整等は、ユーザによって各情報処理装置100a〜100cに入力される。
【0013】
情報処理装置100a〜100cはまた、識別器の生成(学習)を行う。学習時には、撮像装置106a〜106cは、良品であるか不良品であるかが既知の学習用の物体120a〜120cを撮影する。撮影画像は、学習データとして、情報処理装置100a〜100cに入力される。情報処理装置100a〜100cは、自動外観検査アルゴリズムを用いて、学習データから複数の特徴量を抽出し、抽出した複数の特徴量を用いて識別器の学習を行う。本願発明における学習データには、良品又は不良品を示すようなラベルが予め付与されているデータだけでなく、ラベルが付与されていないデータも含まれる。
【0014】
なお、学習時には、学習データには、良品又は不良品を示すラベルが予めユーザによって付与されているものとする。これにより、良品であるか不用品であるかを教示することができる。さらに、学習データには、ラベルの他に、学習用の物体に関するパラメータが付与されているものとする。パラメータとしては、部品名や材質、製造年月日、撮影時の撮像系パラメータ、ロット番号や気温、湿度等が挙げられる。これらのパラメータは、情報処理装置100a〜100cの間で学習データを共有する際に補助的に利用される。
【0015】
オフラインでの学習処理とオンラインでの外観検査処理とに用いられる基本的なアルゴリズムは、情報処理装置100a〜100cにおいて共通のものが利用されるものとする。一方で、情報処理装置100a〜100cで扱うデータに応じて、情報処理装置100a〜100cそれぞれにおいて識別器を定義するパラメータや設定が独立に設定されるものとする。これにより、統一的なフレームワークが実現される。
【0016】
情報処理装置100aは、CPU101と、RAM102と、HDD103と、入力部104と、表示部105と、を有している。CPU101は、制御プログラムに従い、各種処理を実行する。HDD103は、画像データや各種プログラム等各種情報を記憶する。なお、後述する情報処理装置100aの機能や処理は、CPU101がHDD103に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。入力部104は、ユーザ操作を受け付ける。表示部105は、各種情報を表示する。なお、情報処理装置100b及び情報処理装置100cのハードウェア構成は、情報処理装置100aのハードウェア構成と同様である。
【0017】
共通記憶装置110は、学習データ及び関連データを記憶する。ここで、関連データとは、学習データに関連するデータであり、学習データから抽出された特徴量データや、撮影パラメータ等が挙げられる。学習データ及び関連データは、管理者単位で管理され、共通記憶装置110は、学習データ及び関連データを、管理者を識別する管理者IDに対応付けて記憶する。これにより、情報共有システムは、学習データ及び関連データの管理者を識別することができる。なお、共通記憶装置110に記憶される学習データ及び関連データは、これらのデータの管理者により他の管理者への開示(提供)が許可されたデータのみである。
【0018】
本実施形態においては、情報処理装置100aにおいて得られたデータの管理者は、管理者Aであるものとする。また、情報処理装置100bにおいて得られたデータの管理者は、管理者Bであるものとする。また、情報処理装置100cにおいて得られたデータの管理者は、管理者Cであるものとする。なお、例えば、会社、会社内の部門等の組織や、組織を代表する人物等が管理者として設定される。
【0019】
以下、本実施形態においては、共通記憶装置110には、管理者Bが管理対象とする、情報処理装置100bの学習データ及び関連データのうち、他の管理者(他のユーザ)への開示が許可されたデータが既に記憶されているものとする。共通記憶装置110にはまた、管理者Cが管理対象とする、情報処理装置100cの学習データ等のうち、他の管理者への開示が許可されたデータが既に記憶されているものとする。以下、管理者Xが管理するデータを、管理者Xのデータと称することとする。
【0020】
一方で、情報処理装置100aにおいては、識別器の学習に十分な量の学習データが得られていないものとする。この場合、情報処理装置100aは、共通記憶装置110から情報処理装置100aの管理者以外の管理者(管理者B、C)の管理対象のデータを参照データとして取得する。そして、情報処理装置100aは、取得した参照データと、入力部104から入力された学習データ等とを用いて、識別器を学習することができる。本処理について
図2を参照しつつ説明する。
【0021】
図2は、情報処理装置100aにより実行される識別器生成処理を示すフローチャートである。まず、S201において、情報処理装置100aのCPU101は、撮像装置106aから、学習データの入力を受け付ける。CPU101はまた、学習データの撮影に係る撮影パラメータの入力を受け付ける。CPU101はさらに、学習データから、識別器の学習に必要な複数の特徴量を抽出する。なお、抽出する特徴量の数は特に限定されるものではない。以降の処理において、S201において得られた撮影パラメータ及び特徴量データは、学習データの関連データとして処理される。
【0022】
次に、S202において、CPU101は、ユーザ入力に応じて、開示レベルの仮設定指示を受け付ける。ここで、開示レベルとは、S201において受け付けた学習データを開示する程度に対応する情報である。
【0023】
図3は、開示レベルの説明図である。
図3(A)は、開示レベルが設定された場合に、他の管理者に開示するデータを示す図である。また、
図3(B)は、開示レベルが設定された場合に、共通記憶装置110から取得可能な、他の管理者のデータを示す図である。
図3(A)に示されるように、開示レベルは、Lv.1〜Lv.5の5段階に分かれている。
【0024】
Lv.1は、開示の程度が最も低いレベルである。Lv.1では、開示データは設定されない。すなわち、Lv.1が設定された場合には、情報処理装置100aは、自装置において得られた学習データ及び関連データのいずれについても共通記憶装置110への蓄積を行わない。Lv.2は、Lv.1の次に開示の程度が低いレベルである。Lv.2では、自装置において得られた学習データから得られた複数の特徴量データのうち、ユーザによって選択された特徴量データが開示データとして設定される。すなわち、Lv.2が設定された場合には、情報処理装置100aは、ユーザによって選択された特徴量データを共通記憶装置110に蓄積する。
【0025】
Lv.3では、自装置において得られた複数の特徴量データのすべてが開示データとして設定される。すなわち、Lv.3に設定された場合には、情報処理装置100aは、情報処理装置100aにおいて得られた複数の特徴量データのすべてを共通記憶装置110に蓄積する。Lv.4は、Lv.3の次に開示の程度が低いレベルである。Lv.4では、学習用の物体の外観画像以外が開示データとして設定される。Lv.4に設定された場合には、情報処理装置100aは、自装置において得られた複数の特徴量データに加えて、撮影パラメータを共通記憶装置110に蓄積する。Lv.5は、開示の程度が最も高いレベルである。Lv.5では、情報処理装置100aにおいて得られたすべてのデータ、すなわち学習データ及び関連データのすべてが開示データとして設定される。すなわち、Lv.5に設定された場合には、情報処理装置100aは、学習データ及び関連データのすべてを共通記憶装置110に蓄積する。
【0026】
このように、CPU101は、ユーザによって開示レベルが設定されると、設定された開示レベルに応じて開示対象のデータの種類を特定する。そして、CPU101は、自装置において得られたデータのうち、開示レベルに応じて決定された種類のデータを共通記憶装置110に蓄積する。すなわち、開示レベルに応じて決定された種類のデータは、他の管理者が参照可能な形態で開示されることとなる。このように、ユーザは、自装置において得られた学習データや検査対象や学習用の物体の機密度に応じた開示レベルを設定することにより、開示対象とするデータの種類を指定することができる。
【0027】
図3(B)に示されるように、Lv.1においては、参照データは設定されていない。自装置のデータをまったく開示しないことに対応している。Lv.2においては、他の管理者のデータのうち、選択された特徴量データが参照データとして設定されている。Lv.3においては、他の管理者のすべての特徴量データが参照データとして設定されている。Lv.4においては、他の管理者のすべての特徴量データと撮影パラメータとが参照データとして設定されている。Lv.5においては、他の管理者のすべてのデータ、すなわち学習データ及び関連データのすべてが参照データとして設定されている。このように、各開示レベルにおいて、開示データと参照データとが対応するよう定められている。したがって、管理者は、自身が開示したデータに応じたデータを取得可能となる。
【0028】
図2に戻り、S203において、CPU101は、S202において受け付けた仮設定指示に係る開示レベルに応じた仮の参照データの探索を行い、リストを作成する。ここで、仮の参照データとは、仮設定指示に係る開示レベルが設定された場合に、CPU101が取得可能なデータである。次に、S204において、CPU101は、仮設定指示に係る開示レベルに応じて定まる仮の開示データと仮の参照データと、に基づいて、類似度を算出する。そして、CPU101は、類似度が高い順に所定数のデータを仮の参照データとして絞り込む。なお、類似度算出の処理については後に詳述する。そして、CPU101は、仮の参照データを示す表示データを、情報処理装置100aの表示部105に表示するよう制御する(表示処理)。非特許文献1にも記載されている通り、転移学習が最も効果を発揮するのは蓄積された転移元データと検査対象である転移先データが適度に類似しているときである。したがって、このように、参照データを類似度に応じて絞り込むことにより、適切なデータを仮の参照データとして得ることができる。
【0029】
図4は、S203、S204の処理時に情報処理装置100aの表示部105に表示される操作ウインドウの一例を示す図である。
図4(A)に示す操作ウインドウ400の学習データ領域410には、自装置(情報処理装置100a)の学習データと、学習データの関連データ等のパラメータが表示されている。学習データ領域410には、部品名や代表外観画像、材質や気温、湿度、撮影パラメータ等、ユーザによって登録された、検査対象物に関する情報が表示されている。
【0030】
420は開示レベルの操作バーである。
図4(A)の例においては、ユーザによって、操作バー420において、Lv.2の仮設定の操作が行われている。430は、開示レベルの設定指示を入力するためのボタンである。ユーザは、操作バー420を所望の開示レベルに合わせた状態でボタン430を押下することにより、設定指示を入力することができる。参照データ領域440には、操作バー420の操作に応じて入力された仮設定指示に係る開示レベルに応じてS203、S204の処理によって得られた、仮の参照データが表示される。
図4(A)の例では、仮の参照データが5つ表示されている。なお、参照データ領域440の最下段のデータは、自装置のデータである。参照データ領域440の表示内容は、S204において表示される表示データに相当する。
【0031】
開示レベルLv.2の仮設定指示を受け付けた場合、CPU101は、
図3を参照しつつ説明した通り、管理者Aのデータのうち、ユーザにより選択された特徴量データが開示データとして設定される。したがって、
図4(A)に示すように、仮の参照データは、管理者Aの学習データ及び関連データと、他の管理者の、選択された特徴量データのみとなる。他の管理者のデータに関しては、特徴量データしか参照できないため、これに対応し、元画像(撮影画像)がどのようなテクスチャだったか等の情報は表示部105には表示されない。
【0032】
図4(A)の例では、選択された特徴量データのみで評価してデータ分布が類似していると評価された、他の管理者のデータのうち上位所定数のデータが自動的に選ばれて、参照データ領域440に表示されている。なお、Lv.2では、左の列に表示されるべき、代表の撮影画像は表示されない。なお、撮影画像441は、自装置において得られた学習データである。
【0033】
図4(B)は、ユーザにより、Lv.5の仮設定の操作が行われた場合の操作ウインドウ400を示している。開示レベルLv.5は、すべてのデータを開示する設定であり、公開設定されたすべてのデータが参照データとなる。つまり、情報開示レベルをLv.5に設定すると、他の管理者のLv.5の設定に対応するデータが全て参照可能となる。このため、
図4(B)の例では、
図4(A)の例に比べて参照データ領域440に表示されるデータが増加している。なお、他の管理者によりLv.5よいも低い開示レベルが設定されているデータは、参照データとして選択されることはない。また、CPU101は、開示レベルLv.5の仮設定指示を受け付けた場合には、類似度算出の際にテクスチャ類似度を考慮して類似度を算出するため、S203、S204において得られる仮の参照データが異なってくる。
【0034】
このように、操作ウインドウ400において、開示レベルを変更することにより、仮の参照データを確認することができるので、開示レベルに応じて、管理者Aが参照できるデータの量(質)の変化をユーザに直感的に理解させることができる。また、ユーザによるデータ開示の行動を促進する効果もある。
【0035】
図2に戻り、S206において、CPU101は、ユーザ操作に応じた指示内容を確認する。CPU101は、操作バー420の操作に応じて開示レベルが変更された仮設定指示を受け付けた場合には(S206で仮設定指示)、処理をS203へ進める。この場合、S203以降の処理を繰り返す。CPU101は、ボタン430の押下に応じて、設定指示を受け付けた場合には(S206で設定指示)、処理をS207へ進める。
【0036】
S207において、CPU101は、設定指示に係る開示レベルに応じて、参照データを特定する(特定処理)。そして、CPU101は、参照データを共通記憶装置110から取得(受信)する(取得処理)。さらに、このとき、CPU101は、設定指示に係る開示レベルに応じて、管理者Aのデータの中から、開示データを特定する(特定処理)。そして、CPU101は、開示データを共通記憶装置110に登録(送信)する。これにより、共通記憶装置110には、開示データが管理者Aの管理者IDに対応付けられた状態で記憶される。
【0037】
次に、S208において、CPU101は、受信した参照データを、自装置の学習データに対応させて利用するように、転移学習を実行する。その後、CPU101は、転移させたデータのうち、境界付近のデータに関して正常データであるか異常データであるかをユーザに入力させ、最終的に識別器を生成する(生成処理)。なお、このとき共通記憶装置110から獲得した他の管理者のデータに対して新しく情報が付加されたことになる。CPU101は、この付加された情報を、共通記憶装置110に保存する。例えば、CPU101は、新たに発生した異常データの特徴量やその他ラベリング情報量等を共通記憶装置110にフィードバックする。これにより、データを開示したことにより、共通記憶装置110に蓄積される情報が増えるだけでなく、更なる情報が付加されることとなり、自らが利用するデータの情報的価値を高めることができる。
【0038】
次に、S204における、類似度算出処理について説明する。本実施形態においては、CPU101は、最も広く適用できる類似度を定義する方法として、2つの分布間のカルバック・ライブラー情報量で測定する方法を用いる。転移元のデータ及び検査対象である転移先データの分布は連続確率分布に従うため、(式1)で定義される。
【数1】
ここで、Pは、転移元データの分布、Qは、転移先データの分布を表す。また、p、qはそれぞれP、Qの確率密度関数を表す。
【0039】
(式1)で定義された情報量が小さい方が2つの分布は類似していると言える。開示レベルがLv.2のときは選択特徴量のうち同じ特徴量セットのみでカルバック・ライブラー情報量を測定することとなるが、Lv.3では全抽出特徴量を用いた測定が可能となる。Lv.4では前記した部品名や材質、気温、湿度、撮影パラメータ等まで参照して類似した対象であるかを比較でき、さらにLv.5では正常状態のテクスチャ同士の類似度を抽出特徴とは別の枠組みで測定することができる。つまり、Lv.4までに用いた抽出特徴量以外にテクスチャ同士の類似度を評価する関数も用いて類似した対象であるかどうかを評価して利用できる。
【0040】
ここで言うテクスチャ同士の類似度算出方法は
図5に示した具体例によって実施することができる。CPU101は、検査対象画像から正常ラベルのついた画像を1個または数個ランダムに選択し、選択された画像のみからテクスチャ類似度算出のための特徴量を抽出する。CPU101は、入力画像のサイズが事前に定義した一定の画像サイズになるように調整する。本実施形態においては、常に入力画像の縦と横のどちらか長い方の長さが等しくなるように拡大/縮小されるものとする。
【0041】
そして、CPU101は、画像サイズの調整された1個または数個の画像を周波数ドメインへの変換手法の一つであるハールウェーブレット変換を行う。CPU101は、まず変換前の入力パターンに対して四種類のフィルターを用いて内積演算を行う。その結果、四種類のパターン、垂直方向高周波成分抽出パターン(HL)、対角方向高周波成分抽出パターン(HH)、水平方向高周波成分抽出パターン(LH)、低周波成分抽出パターン(LL)が生成される。垂直方向高周波成分抽出パターンの生成方法を具体的に示す。
図7のように入力パターンの4つの画素
【数2】
の内積(a+b−c−d)を垂直方向高周波成分抽出パターンの画素の値とする。
【0042】
CPU101は、このような計算を4画素ずつすべての画像領域においてこれをオーバーラップすることなく行い、垂直方向高周波成分抽出パターンを作る。対角方向高周波成分抽出パターン、水平方向高周波成分パターン、低周波成分抽出パターンでは、それぞれ
【数3】
をフィルターとして用いる。
【0043】
CPU101は、結果的に四種類のパターンを解像度二分の一で作り出す。CPU101は、さらに低周波成分抽出パターンから次のレベルのハールウェーブレット変換を行い、さらに解像度二分の一にした四種類のパターンを作り出す。CPU101は、このように、階層的に低い周波数へと変換していく。このようにして画像の縦または横のどちらかが1ピクセルになるまで処理を繰り返すことで複数のパターンを得ることができる。
【0044】
例えば7回繰り返すと変換前の元画像を含めると1+4×7=29種類のパターンが得られる。そしてこれら得られた29種のパターンから平均値と標準偏差の値の組合せをそれぞれ得る。これによって1個の画像から58個の数値を連結した58次元のベクトルが得られ、これを、テクスチャを記述するベクトルとする。CPU101は、最初に複数の正常画像を選択した場合はこれら複数の画像から得た58次元のベクトルの各値の平均値を求め、これを、テクスチャを記述するベクトルと定義する。そして、CPU101は、テクスチャ同士の類似度は上記で定義したベクトル同士を比較して得られる距離で求める。このときの距離はユークリッド距離でもマンハッタン距離でも距離であれば何でも良い。
【0045】
CPU101は、上記方法にて特徴量の分布同士の比較から得られたカルバック・ライブラー情報量の他に正常テクスチャ同士の類似度から算出されるスコアの両方を用いて、1次元スコアを算出して、類似データ候補絞込みが実施される。CPU101は、1次元スコア算出に当たり、それぞれのスコアに重み付けを行って和をとってもよい。
【0046】
以上のように、本実施形態に係る情報共有システムにおいては、ユーザは、自装置において得られたデータの開示をするかしないかという二者択一でなく、開示レベルに応じて、開示対象のデータを決定することができる。したがって、すべてのデータを開示することができないような場合においても、開示可能なレベルのデータだけでも開示するよう促す効果が得られる。このように、本実施形態に係る情報共有システムにおいては、各情報処理装置は、共通記憶装置110からデータを取得する際に、自装置のデータを共通記憶装置110に段階的に提供することができる。また、装置間で開示レベルの異なる場合にも統一的なフレームワークでデータを共有することができる。特に立上げ時の識別器の設定が容易となる。この仕組みにより、各情報処理装置は、他の情報処理装置から十分な学習データを集め、集めた学習データを用いて適切な識別器を生成することができる。
【0047】
現実の外観検査では各々の製品に関する機密上のポリシーは個別に異なっており過去に蓄積したデータを簡単に他の検査に流用できない場合がある。また、他のユーザのデータを自分のデータに適用させて精度が上がるということに対しては問題ないが、自分のデータを他のユーザが使って識別器の性能を上げるということに抵抗があるというユーザも存在する。特に他のユーザが他の工場、他の企業のユーザである場合に抵抗感を強く感じるユーザが増加する傾向がある。
【0048】
例えば製品の外観検査用画像は製品デザインそのものや、その一部となっていることが多い。このため各企業にとって機密扱いになることが多く、その場合にはエリアセンサなどで取り込まれた画像そのものは他のユーザに開示することができない傾向が強い。データが多く集まる方が精度の良い識別器構築の可能性が高まりユーザ全体にとってメリットがあるが、ユーザがデータを出すことに対する心理的障壁が高い状態ではデータの収集・蓄積がスムーズに進行しない。データが集まらない結果として、蓄積されたデータからの知見を新規データに適用させて精度の高い識別器を生成する仕組みを実現することが困難となる。これに対し、本実施形態に係る情報共有システムにおいては、各情報処理装置は、他の情報処理装置から十分な学習データを集め、集めた学習データを用いて適切な識別器を生成することができる。
【0049】
第1の実施形態の変更例としては、開示レベルの設定方法は実施形態に限定されるものではない。他の例としては、序列のついたレベル設定に限らず、パラメータ毎に開示するか否かを設定してもよい。
【0050】
(第2の実施形態)
次に、第2の実施形態に係る情報共有システムについて説明する。ここでは、3人の管理者の異なる生産ラインに、それぞれ情報共有システムが導入されているものとする。
図6は、第2の実施形態に係る情報共有システムの全体図である。情報共有システムは、各管理者が保有する生産ラインに導入された、第1のシステム610a、第2のシステム610b、第3のシステム610cと、管理者間共通記憶装置630と、アルゴリズム記憶装置640と、を有している。第1のシステム610aは、第1の共通記憶装置620aを有している。第2のシステム610bは、第2の共通記憶装置620bを有している。第3のシステム610cは、第3の共通記憶装置620cを有している。
【0051】
各システム610a〜610cは、第1の実施形態において説明した情報共有システムと同様の構成である。各共通記憶装置620a〜620cに記憶されるデータは、同一管理者のデータであるため、同一システム内の情報処理装置間では、自由にデータを共有し、転移学習用に利用することができる。そして、本実施形態においては、各共通記憶装置620a〜620cに記憶されるデータに対し開示レベルが設定され、開示レベルに応じたデータが管理者間共通記憶装置630に記憶される。その他仕組みは、第1の実施形態と同様である。
【0052】
第1の実施形態において説明した通り、生産ラインで得たデータを他の管理者に公開することに対して抵抗感を持つ場合が多い。このため、前述の通り、各管理者の生産ラインから、管理者間共通記憶装置630に直接データが登録される仕組みでは、システム導入への障壁が高い可能性がある。そこで、第1段階として、データ共有により、生産ライン立上げ時の負荷が減ることをユーザが理解できるように、各管理者が保有する複数の生産ライン間でデータを共有(参照)できるシステムを導入する。つまり、この段階では、各システム610a〜610cと、管理者間共通記憶装置630とは接続されていない。そして、各ユーザが各自のデータを生産ライン間で共有し、本システムを導入することによる利点を充分に理解したとする。このとき、初めて、開示レベルを設定することにより、適宜、管理者間共通記憶装置630にデータを提供し、管理者間共通記憶装置630からデータを取得するようにしてもよい。
【0053】
また、このように段階的にシステムを構築する場合において、各管理者のデータ開示に対するポリシーが変わり、管理者間共通記憶装置630との連携を停止する場合には、管理者間共通記憶装置630とユーザのシステムの接続を切断するだけでよい。その後も、各管理者は、同一ユーザの生産ライン間の閉じた環境でシステムを継続して使用することが可能である。
【0054】
データ開示に対するポリシーが更新され場合も、更新後の参照データは、開示レベルに応じて設定される。これにより、管理者間共通記憶装置630に記憶されているデータのうち、過去のポリシーで参照できた他の管理者のデータに関しては、更新後のポリシーで参照できなくなる場合もある。しかし、過去に設定したポリシーで開示されたデータは、管理者間共通記憶装置630から削除されない。これは、過去にデータを開示することにより、他の管理者のデータを参照し、各自の識別器を洗練させて利用した事に対する対価をデータ提供という形式で支払っているのと同義であるためである。
【0055】
また、管理者間共通記憶装置630には、アルゴリズム記憶装置640が連結されている。アルゴリズム記憶装置640は、全システム610a〜610cに共通するアルゴリズムを管理している。アルゴリズム記憶装置640は、特徴抽出方法や識別器、各種パラメータなど方式に関する情報を管理し、アルゴリズムが更新された場合には、管理者間共通記憶装置630に更新情報を送信する。
【0056】
アルゴリズムが更新されると、過去のアルゴリズムで得られ、管理者間共通記憶装置630に記憶されたデータ(抽出特徴量やその他パラメータ)に関しても更新する必要が発生する。そのため、管理者間共通記憶装置630に記憶されている過去のデータに対して、更新後のアルゴリズムが適用される。例えば特徴抽出方法が新たに追加された場合、過去に保存された元画像群に対して新たに追加された特徴抽出方法によって抽出された特徴量が追加情報として元データに付加して保存される。さらに、共通記憶装置620a〜620cに送信されて実行されたり、末端の生産ラインの外観検査装置にも送信され、新規のデータの学習に利用されたりする。
【0057】
また、自社の生産ラインのデータのうち、新製品に関するデータについては、機密性が高く、管理者間共通記憶装置630に提供したくないと考える可能性が高い。一方で、製造開始から時間が経過した製品や、既に市場に出回った製品、既に製造中止になった製品に関するデータについては開示してもよいと考える場合がある。識別器の学習に際しての参照データとしての価値は、データが得られたタイミングに関わらず同等である。そこで、本実施形態においては、このように過去に得られたデータで、管理者間共通記憶装置630に提供されることなく、共通記憶装置620a〜620cに記憶されていたデータを開示データとして設定することができるものとする。そして、過去に得られたデータを開示データとして提供した管理者は、開示データの提供に応じて、参照データを取得することができるものとする。
【0058】
過去に製造していた製品に関するデータで、開示していないデータを管理者間共通記憶装置630に提供する場合、CPU101は、
図7に示すように、
図4で例示した操作ウインドウ400の他に過去データの操作ウインドウ700を表示する。なお、操作ウインドウ400は、
図4を参照しつつ説明した、第1の実施形態に係る操作ウインドウ400と同様である。管理者が過去に管理者間共通記憶装置630に提供していないデータを、新たに管理者間共通記憶装置630に提供するために、提供対象の過去のデータのIDや名称等を入力すると、操作ウインドウ700が表示される。操作ウインドウ700の上部には、過去の学習データ領域710が設けられ、学習データ領域410と同様に、過去の学習データと、学習データの関連データ等のパラメータが表示されている。
【0059】
また、領域720には、過去データの対象期間を入力するための入力ボックスが配置されている。領域720において、対象期間を入力すると、領域720に、対象となるサンプル数が表示される。
図7の例においては、サンプル数が300000個であると表示されている。730は、開示レベルの操作バーである。ユーザは、操作バー730を操作することにより、過去のデータについての開示レベルの仮設定指示や設定指示に係る開示レベルを入力する。操作バー730が操作されると、これに合わせて、操作ウインドウ400の参照データ領域440には、開示レベルに応じて特定された仮の参照データが表示される。なお、CPU101は、過去のデータとは関係なく、処理時点において、処理対象となっている学習データ、すなわち、学習データ領域410に表示されているデータに近い傾向のデータを、仮の参照データとして特定する。
【0060】
図7の例においては、操作ウインドウ400において、処理対象の学習データに対して設定された開示レベルはLv.2であるが、過去のデータに対して設定(変更)された開示レベルはLv.5である。この場合、変更後の開示レベルLv.5に応じたデータが仮の参照データとして特定される。開示する過去のデータのサンプル数が300000個の場合に、現行検査対象が300000サンプル検査する間は情報開示レベルがLv.5の際と同等のサービスが提供される。この300000サンプルの検査終了後、再度データ参照レベルはLv.2に戻るが、Lv.5の間に獲得した識別器のパラメータ等は保持される。
【0061】
以上が、データの状態や開示レベルを柔軟に設定することによって検査に関するデータをシェアして有効利用し精度向上に繋げるための方法である。ただし、データ記憶装置は開示/非開示の2層分だけでなく開示レベルごとにさらに細かく分類して設置しても良いことは言うまでも無い。さらに、情報開示レベルに応じてシステム利用料を変更することによってデータ開示を促進させてもよい。
【0062】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【0063】
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。