(57)【特許請求の範囲】
【請求項１】
識別器を生成する際に用いられ得る学習データの、開示レベルを設定するレベル設定手段と、
前記開示レベルに応じて、前記学習データ及び前記学習データに関連する関連データの中から、前記学習データを管理する第１の管理者以外の他の管理者への開示対象とする開示データを特定する第１の特定手段と、
前記開示レベルに応じて、共通記憶装置に登録されている、前記他の管理者の学習データ及び関連データの中から、前記第１の管理者が参照可能な参照データを特定する第２の特定手段と、
前記第２の特定手段により特定された、前記参照データを前記共通記憶装置から取得する取得手段と、
前記取得手段が取得したデータを用いて、識別器を生成する生成手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記第１の特定手段は、前記開示レベルに応じた種類のデータを、前記開示データとして特定し、
前記第２の特定手段は、前記開示レベルに応じた種類のデータを、前記参照データとして特定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記レベル設定手段は、ユーザからの入力に従い前記開示レベルを設定することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記第１の特定手段は、前記レベル設定手段により第１の開示レベルが設定された場合に、前記第１の管理者の前記学習データの特徴量データを前記開示データとして特定し、
前記第２の特定手段は、前記レベル設定手段により第１の開示レベルが設定された場合に、前記他の管理者の学習データの特徴量データを前記参照データとして特定することを特徴とする請求項１乃至３何れか１項に記載の情報処理装置。
【請求項５】
前記学習データは、撮影画像であり、
前記第１の特定手段は、前記レベル設定手段により前記第１の開示レベルに比べて開示の程度が高い第２の開示レベルが設定された場合に、前記第１の管理者の前記学習データの前記特徴量データ及び撮影パラメータを前記開示データとして特定し、
前記第２の特定手段は、前記レベル設定手段により前記第２の開示レベルが設定された場合に、前記他の管理者の学習データの前記特徴量データ及び撮影パラメータを前記参照データとして特定することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記第１の特定手段は、前記レベル設定手段により前記第２の開示レベルに比べて開示の程度が高い第３の開示レベルが設定された場合に、前記第１の管理者の前記学習データの前記特徴量データ、前記撮影パラメータ及び前記学習データを前記開示データとして特定し、
前記第２の特定手段は、前記レベル設定手段により前記第３の開示レベルが設定された場合に、前記他の管理者の学習データの前記特徴量データ、前記撮影パラメータ及び前記学習データを、前記参照データとして特定することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記第２の特定手段は、さらに、前記他の管理者のデータと、前記第１の管理者の前記学習データと、の類似度に応じて、前記参照データを特定することを特徴とする請求項１乃至６何れか１項に記載の情報処理装置。
【請求項８】
前記レベル設定手段は、ユーザから開示レベルの設定指示を受け付けた場合に、前記設定指示に従い前記開示レベルを設定することを特徴とする請求項１乃至７何れか１項に記載の情報処理装置。
【請求項９】
ユーザから開示レベルの仮設定指示を受け付けた場合に、前記仮設定指示に係る前記開示レベルに応じて、仮の参照データを特定する第３の特定手段と、
前記仮の参照データを示す表示データを表示手段に表示するよう制御する表示処理手段と
をさらに有することを特徴とする請求項１乃至８何れか１項に記載の情報処理装置。
【請求項１０】
前記第１の特定手段は、前記関連データを得るためのアルゴリズムが更新された場合に、前記レベル設定手段により設定された前記開示レベルに応じて、更新後のアルゴリズムによって得られる関連データの中から、前記開示データを特定することを特徴とする請求項１乃至９何れか１項に記載の情報処理装置。
【請求項１１】
前記レベル設定手段は、過去に得られた学習データの前記開示レベルを変更し、
前記第１の特定手段は、前記レベル設定手段による変更後の前記開示レベルに応じて、過去に得られた学習データ又は前記学習データから得られた関連データの中から、前記開示データを特定し、
前記第２の特定手段は、前記レベル設定手段による変更後の前記開示レベルに応じて、前記参照データを特定することを特徴とする請求項１乃至１０何れか１項に記載の情報処理装置。
【請求項１２】
情報処理装置が実行する情報処理方法であって、
識別器を生成する際に用いられ得る学習データの、開示レベルを設定するレベル設定ステップと、
前記開示レベルに応じて、前記学習データ及び前記学習データに関連する関連データの中から、前記学習データを管理する第１の管理者以外の他の管理者への開示対象とする開示データを特定する第１の特定ステップと、
前記開示レベルに応じて、共通記憶装置に登録されている、前記他の管理者の学習データ及び関連データの中から、前記第１の管理者が参照可能な参照データを特定する第２の特定ステップと、
前記第２の特定ステップにおいて特定された、前記参照データを前記共通記憶装置から取得する取得ステップと、
前記取得ステップにおいて取得したデータを用いて、識別器を生成する生成ステップとを含むことを特徴とする情報処理方法。
【請求項１３】
コンピュータを、
識別器を生成する際に用いられ得る学習データの、開示レベルを設定するレベル設定手段と、
前記開示レベルに応じて、前記学習データ及び前記学習データに関連する関連データの中から、前記学習データを管理する第１の管理者以外の他の管理者への開示対象とする開示データを特定する第１の特定手段と、
前記開示レベルに応じて、共通記憶装置に登録されている、前記他の管理者の学習データ及び関連データの中から、前記第１の管理者が参照可能な参照データを特定する第２の特定手段と、
前記第２の特定手段により特定された、前記参照データを前記共通記憶装置から取得する取得手段と、
前記取得手段が取得したデータを用いて、識別器を生成する生成手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、生産現場における外観検査工程等において、外観検査の自動化のニーズが高まっている。自動化の技術としては、例えば、ラインセンサやエリアセンサ等による信号取り込みによって得られた映像・画像データに対して事前に定義された識別器により良品か不良品を分離する技術が知られている。
【０００３】
しかしながら、識別器を用いて外観検査を行う場合には、事前に識別器を定義する必要がある。識別器を定義するには、識別器の調整を適切に行う必要がある。識別器の調整は、生産ラインの立ち上げ時に行われることが多いが、立ち上げ時には識別器の生成に必要な学習データの数が少なかったり、不良品データがほとんど存在しない状態であったりと、学習データが十分でない場合がある。
【０００４】
非特許文献１には、機械学習の領域ではデータが少ない場合でも精度良い識別器を学習する技術として、「転移学習」と呼ばれる手法が開示されている。転移学習とは「新規タスクの効果的な仮説を効率的に見つけ出すために、一つ以上の別のタスクで学習された知識を得て、それを適用する」ことである。すなわち、転移学習は、データを蓄積しておき、新規の類似したデータに対して過去蓄積したデータを参照し、新しい識別器を定義するものである。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Sinno  Jialin  Pan  and  Qiang  Yang,  "A  Survey  on  Transfer  Learning"  IEEE  TRANSACTIONS  ON  KNOWLEDGE  AND  DATA  ENGINEERING,  VOL.  22,  NO.  10,  OCTOBER  2010
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述のように学習データを十分に得ることができれば、適切な識別器を生成することができるため、十分な学習データを集めることが望まれている。
【０００７】
本発明はこのような問題点に鑑みなされたもので、十分な学習データを集め、集めた学習データを用いて適切な識別器を生成することを目的とする。
【課題を解決するための手段】
【０００８】
そこで、本発明は、情報処理装置であって、識別器を生成する際に用いられ得る学習データの、開示レベルを設定するレベル設定手段と、前記開示レベルに応じて、前記学習データ及び前記学習データに関連する関連データの中から、前記学習データを管理する第１の管理者以外の他の管理者への開示対象とする開示データを特定する第１の特定手段と、前記開示レベルに応じて、共通記憶装置に登録されている、前記他の管理者の学習データ及び関連データの中から、前記第１の管理者が参照可能な参照データを特定する第２の特定手段と、前記第２の特定手段により特定された、前記参照データを前記共通記憶装置から取得する取得手段と、前記取得手段が取得したデータを用いて、識別器を生成する生成手段とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、十分な学習データを集め、集めた学習データを用いて適切な識別器を生成することができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態に係る情報共有システムを示す図である。
【図２】識別器生成処理を示すフローチャートである。
【図３】開示レベルの説明図である。
【図４】操作ウインドウの一例を示す図である。
【図５】類似度算出処理の説明図である。
【図６】第２の実施形態に係る情報共有システムの全体図である。
【図７】操作ウインドウの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面に基づいて説明する。
（第１の実施形態）
図１は、第１の実施形態に係る情報共有システムを示す図である。情報共有システムは、３つの異なる工場の生産ラインそれぞれに対応する、３つの情報処理装置１００ａ，１００ｂ，１００ｃを有している。ここで、各情報処理装置１００ａ，１００ｂ，１００ｃは、各生産ラインにおいて、異なる検査対象の物体１２０ａ〜１２０ｃの外観検査を行うものである。なお、本実施形態においては、異なる３つの生産ラインに対して、情報共有システムを導入した場合を例示したが、生産ラインの数は３つである必要はなく、生産ラインの数に合わせて、同様のシステムを実現できることは言うまでもない。
【００１２】
各情報処理装置１００ａ〜１００ｃに対応して設けられた撮像装置１０６ａ〜１０６ｃは、それぞれ検査対象の物体１２０ａ〜１２０ｃを撮像する。撮影画像は、検査データとして、情報処理装置１００ａ〜１００ｃに入力される。情報処理装置１００ａ〜１００ｃは、検査データを基に、識別器を用いて、検査対象の物体１２０ａ〜１２０ｃの外観検査を行う。具体的には、情報処理装置１００ａ〜１００ｃは、自動外観検査アルゴリズムを用いて、検査データから複数の特徴量を抽出し、抽出した複数の特徴量の組み合わせにより、検査対象の物体１２０ａ〜１２０ｃが良品であるか不良品であるかを判定する。自動外観検査アルゴリズムは、例えば、特開２０１０−１０２６９０号公報に示されるように、入力データとして撮影された検査対象画像から抽出された特徴量の組合せによって良品か不良品であるかを判定するものとする。検査データに対するユーザからの教示やパラメータ調整等は、ユーザによって各情報処理装置１００ａ〜１００ｃに入力される。
【００１３】
情報処理装置１００ａ〜１００ｃはまた、識別器の生成（学習）を行う。学習時には、撮像装置１０６ａ〜１０６ｃは、良品であるか不良品であるかが既知の学習用の物体１２０ａ〜１２０ｃを撮影する。撮影画像は、学習データとして、情報処理装置１００ａ〜１００ｃに入力される。情報処理装置１００ａ〜１００ｃは、自動外観検査アルゴリズムを用いて、学習データから複数の特徴量を抽出し、抽出した複数の特徴量を用いて識別器の学習を行う。本願発明における学習データには、良品又は不良品を示すようなラベルが予め付与されているデータだけでなく、ラベルが付与されていないデータも含まれる。
【００１４】
なお、学習時には、学習データには、良品又は不良品を示すラベルが予めユーザによって付与されているものとする。これにより、良品であるか不用品であるかを教示することができる。さらに、学習データには、ラベルの他に、学習用の物体に関するパラメータが付与されているものとする。パラメータとしては、部品名や材質、製造年月日、撮影時の撮像系パラメータ、ロット番号や気温、湿度等が挙げられる。これらのパラメータは、情報処理装置１００ａ〜１００ｃの間で学習データを共有する際に補助的に利用される。
【００１５】
オフラインでの学習処理とオンラインでの外観検査処理とに用いられる基本的なアルゴリズムは、情報処理装置１００ａ〜１００ｃにおいて共通のものが利用されるものとする。一方で、情報処理装置１００ａ〜１００ｃで扱うデータに応じて、情報処理装置１００ａ〜１００ｃそれぞれにおいて識別器を定義するパラメータや設定が独立に設定されるものとする。これにより、統一的なフレームワークが実現される。
【００１６】
情報処理装置１００ａは、ＣＰＵ１０１と、ＲＡＭ１０２と、ＨＤＤ１０３と、入力部１０４と、表示部１０５と、を有している。ＣＰＵ１０１は、制御プログラムに従い、各種処理を実行する。ＨＤＤ１０３は、画像データや各種プログラム等各種情報を記憶する。なお、後述する情報処理装置１００ａの機能や処理は、ＣＰＵ１０１がＨＤＤ１０３に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。入力部１０４は、ユーザ操作を受け付ける。表示部１０５は、各種情報を表示する。なお、情報処理装置１００ｂ及び情報処理装置１００ｃのハードウェア構成は、情報処理装置１００ａのハードウェア構成と同様である。
【００１７】
共通記憶装置１１０は、学習データ及び関連データを記憶する。ここで、関連データとは、学習データに関連するデータであり、学習データから抽出された特徴量データや、撮影パラメータ等が挙げられる。学習データ及び関連データは、管理者単位で管理され、共通記憶装置１１０は、学習データ及び関連データを、管理者を識別する管理者ＩＤに対応付けて記憶する。これにより、情報共有システムは、学習データ及び関連データの管理者を識別することができる。なお、共通記憶装置１１０に記憶される学習データ及び関連データは、これらのデータの管理者により他の管理者への開示（提供）が許可されたデータのみである。
【００１８】
本実施形態においては、情報処理装置１００ａにおいて得られたデータの管理者は、管理者Ａであるものとする。また、情報処理装置１００ｂにおいて得られたデータの管理者は、管理者Ｂであるものとする。また、情報処理装置１００ｃにおいて得られたデータの管理者は、管理者Ｃであるものとする。なお、例えば、会社、会社内の部門等の組織や、組織を代表する人物等が管理者として設定される。
【００１９】
以下、本実施形態においては、共通記憶装置１１０には、管理者Ｂが管理対象とする、情報処理装置１００ｂの学習データ及び関連データのうち、他の管理者（他のユーザ）への開示が許可されたデータが既に記憶されているものとする。共通記憶装置１１０にはまた、管理者Ｃが管理対象とする、情報処理装置１００ｃの学習データ等のうち、他の管理者への開示が許可されたデータが既に記憶されているものとする。以下、管理者Ｘが管理するデータを、管理者Ｘのデータと称することとする。
【００２０】
一方で、情報処理装置１００ａにおいては、識別器の学習に十分な量の学習データが得られていないものとする。この場合、情報処理装置１００ａは、共通記憶装置１１０から情報処理装置１００ａの管理者以外の管理者（管理者Ｂ、Ｃ）の管理対象のデータを参照データとして取得する。そして、情報処理装置１００ａは、取得した参照データと、入力部１０４から入力された学習データ等とを用いて、識別器を学習することができる。本処理について図２を参照しつつ説明する。
【００２１】
図２は、情報処理装置１００ａにより実行される識別器生成処理を示すフローチャートである。まず、Ｓ２０１において、情報処理装置１００ａのＣＰＵ１０１は、撮像装置１０６ａから、学習データの入力を受け付ける。ＣＰＵ１０１はまた、学習データの撮影に係る撮影パラメータの入力を受け付ける。ＣＰＵ１０１はさらに、学習データから、識別器の学習に必要な複数の特徴量を抽出する。なお、抽出する特徴量の数は特に限定されるものではない。以降の処理において、Ｓ２０１において得られた撮影パラメータ及び特徴量データは、学習データの関連データとして処理される。
【００２２】
次に、Ｓ２０２において、ＣＰＵ１０１は、ユーザ入力に応じて、開示レベルの仮設定指示を受け付ける。ここで、開示レベルとは、Ｓ２０１において受け付けた学習データを開示する程度に対応する情報である。
【００２３】
図３は、開示レベルの説明図である。図３（Ａ）は、開示レベルが設定された場合に、他の管理者に開示するデータを示す図である。また、図３（Ｂ）は、開示レベルが設定された場合に、共通記憶装置１１０から取得可能な、他の管理者のデータを示す図である。図３（Ａ）に示されるように、開示レベルは、Ｌｖ．１〜Ｌｖ．５の５段階に分かれている。
【００２４】
Ｌｖ．１は、開示の程度が最も低いレベルである。Ｌｖ．１では、開示データは設定されない。すなわち、Ｌｖ．１が設定された場合には、情報処理装置１００ａは、自装置において得られた学習データ及び関連データのいずれについても共通記憶装置１１０への蓄積を行わない。Ｌｖ．２は、Ｌｖ．１の次に開示の程度が低いレベルである。Ｌｖ．２では、自装置において得られた学習データから得られた複数の特徴量データのうち、ユーザによって選択された特徴量データが開示データとして設定される。すなわち、Ｌｖ．２が設定された場合には、情報処理装置１００ａは、ユーザによって選択された特徴量データを共通記憶装置１１０に蓄積する。
【００２５】
Ｌｖ．３では、自装置において得られた複数の特徴量データのすべてが開示データとして設定される。すなわち、Ｌｖ．３に設定された場合には、情報処理装置１００ａは、情報処理装置１００ａにおいて得られた複数の特徴量データのすべてを共通記憶装置１１０に蓄積する。Ｌｖ．４は、Ｌｖ．３の次に開示の程度が低いレベルである。Ｌｖ．４では、学習用の物体の外観画像以外が開示データとして設定される。Ｌｖ．４に設定された場合には、情報処理装置１００ａは、自装置において得られた複数の特徴量データに加えて、撮影パラメータを共通記憶装置１１０に蓄積する。Ｌｖ．５は、開示の程度が最も高いレベルである。Ｌｖ．５では、情報処理装置１００ａにおいて得られたすべてのデータ、すなわち学習データ及び関連データのすべてが開示データとして設定される。すなわち、Ｌｖ．５に設定された場合には、情報処理装置１００ａは、学習データ及び関連データのすべてを共通記憶装置１１０に蓄積する。
【００２６】
このように、ＣＰＵ１０１は、ユーザによって開示レベルが設定されると、設定された開示レベルに応じて開示対象のデータの種類を特定する。そして、ＣＰＵ１０１は、自装置において得られたデータのうち、開示レベルに応じて決定された種類のデータを共通記憶装置１１０に蓄積する。すなわち、開示レベルに応じて決定された種類のデータは、他の管理者が参照可能な形態で開示されることとなる。このように、ユーザは、自装置において得られた学習データや検査対象や学習用の物体の機密度に応じた開示レベルを設定することにより、開示対象とするデータの種類を指定することができる。
【００２７】
図３（Ｂ）に示されるように、Ｌｖ．１においては、参照データは設定されていない。自装置のデータをまったく開示しないことに対応している。Ｌｖ．２においては、他の管理者のデータのうち、選択された特徴量データが参照データとして設定されている。Ｌｖ．３においては、他の管理者のすべての特徴量データが参照データとして設定されている。Ｌｖ．４においては、他の管理者のすべての特徴量データと撮影パラメータとが参照データとして設定されている。Ｌｖ．５においては、他の管理者のすべてのデータ、すなわち学習データ及び関連データのすべてが参照データとして設定されている。このように、各開示レベルにおいて、開示データと参照データとが対応するよう定められている。したがって、管理者は、自身が開示したデータに応じたデータを取得可能となる。
【００２８】
図２に戻り、Ｓ２０３において、ＣＰＵ１０１は、Ｓ２０２において受け付けた仮設定指示に係る開示レベルに応じた仮の参照データの探索を行い、リストを作成する。ここで、仮の参照データとは、仮設定指示に係る開示レベルが設定された場合に、ＣＰＵ１０１が取得可能なデータである。次に、Ｓ２０４において、ＣＰＵ１０１は、仮設定指示に係る開示レベルに応じて定まる仮の開示データと仮の参照データと、に基づいて、類似度を算出する。そして、ＣＰＵ１０１は、類似度が高い順に所定数のデータを仮の参照データとして絞り込む。なお、類似度算出の処理については後に詳述する。そして、ＣＰＵ１０１は、仮の参照データを示す表示データを、情報処理装置１００ａの表示部１０５に表示するよう制御する（表示処理）。非特許文献１にも記載されている通り、転移学習が最も効果を発揮するのは蓄積された転移元データと検査対象である転移先データが適度に類似しているときである。したがって、このように、参照データを類似度に応じて絞り込むことにより、適切なデータを仮の参照データとして得ることができる。
【００２９】
図４は、Ｓ２０３、Ｓ２０４の処理時に情報処理装置１００ａの表示部１０５に表示される操作ウインドウの一例を示す図である。図４（Ａ）に示す操作ウインドウ４００の学習データ領域４１０には、自装置（情報処理装置１００ａ）の学習データと、学習データの関連データ等のパラメータが表示されている。学習データ領域４１０には、部品名や代表外観画像、材質や気温、湿度、撮影パラメータ等、ユーザによって登録された、検査対象物に関する情報が表示されている。
【００３０】
４２０は開示レベルの操作バーである。図４（Ａ）の例においては、ユーザによって、操作バー４２０において、Ｌｖ．２の仮設定の操作が行われている。４３０は、開示レベルの設定指示を入力するためのボタンである。ユーザは、操作バー４２０を所望の開示レベルに合わせた状態でボタン４３０を押下することにより、設定指示を入力することができる。参照データ領域４４０には、操作バー４２０の操作に応じて入力された仮設定指示に係る開示レベルに応じてＳ２０３、Ｓ２０４の処理によって得られた、仮の参照データが表示される。図４（Ａ）の例では、仮の参照データが５つ表示されている。なお、参照データ領域４４０の最下段のデータは、自装置のデータである。参照データ領域４４０の表示内容は、Ｓ２０４において表示される表示データに相当する。
【００３１】
開示レベルＬｖ．２の仮設定指示を受け付けた場合、ＣＰＵ１０１は、図３を参照しつつ説明した通り、管理者Ａのデータのうち、ユーザにより選択された特徴量データが開示データとして設定される。したがって、図４（Ａ）に示すように、仮の参照データは、管理者Ａの学習データ及び関連データと、他の管理者の、選択された特徴量データのみとなる。他の管理者のデータに関しては、特徴量データしか参照できないため、これに対応し、元画像（撮影画像）がどのようなテクスチャだったか等の情報は表示部１０５には表示されない。
【００３２】
図４（Ａ）の例では、選択された特徴量データのみで評価してデータ分布が類似していると評価された、他の管理者のデータのうち上位所定数のデータが自動的に選ばれて、参照データ領域４４０に表示されている。なお、Ｌｖ．２では、左の列に表示されるべき、代表の撮影画像は表示されない。なお、撮影画像４４１は、自装置において得られた学習データである。
【００３３】
図４（Ｂ）は、ユーザにより、Ｌｖ．５の仮設定の操作が行われた場合の操作ウインドウ４００を示している。開示レベルＬｖ．５は、すべてのデータを開示する設定であり、公開設定されたすべてのデータが参照データとなる。つまり、情報開示レベルをＬｖ．５に設定すると、他の管理者のＬｖ．５の設定に対応するデータが全て参照可能となる。このため、図４（Ｂ）の例では、図４（Ａ）の例に比べて参照データ領域４４０に表示されるデータが増加している。なお、他の管理者によりＬｖ．５よいも低い開示レベルが設定されているデータは、参照データとして選択されることはない。また、ＣＰＵ１０１は、開示レベルＬｖ．５の仮設定指示を受け付けた場合には、類似度算出の際にテクスチャ類似度を考慮して類似度を算出するため、Ｓ２０３、Ｓ２０４において得られる仮の参照データが異なってくる。
【００３４】
このように、操作ウインドウ４００において、開示レベルを変更することにより、仮の参照データを確認することができるので、開示レベルに応じて、管理者Ａが参照できるデータの量（質）の変化をユーザに直感的に理解させることができる。また、ユーザによるデータ開示の行動を促進する効果もある。
【００３５】
図２に戻り、Ｓ２０６において、ＣＰＵ１０１は、ユーザ操作に応じた指示内容を確認する。ＣＰＵ１０１は、操作バー４２０の操作に応じて開示レベルが変更された仮設定指示を受け付けた場合には（Ｓ２０６で仮設定指示）、処理をＳ２０３へ進める。この場合、Ｓ２０３以降の処理を繰り返す。ＣＰＵ１０１は、ボタン４３０の押下に応じて、設定指示を受け付けた場合には（Ｓ２０６で設定指示）、処理をＳ２０７へ進める。
【００３６】
Ｓ２０７において、ＣＰＵ１０１は、設定指示に係る開示レベルに応じて、参照データを特定する（特定処理）。そして、ＣＰＵ１０１は、参照データを共通記憶装置１１０から取得（受信）する（取得処理）。さらに、このとき、ＣＰＵ１０１は、設定指示に係る開示レベルに応じて、管理者Ａのデータの中から、開示データを特定する（特定処理）。そして、ＣＰＵ１０１は、開示データを共通記憶装置１１０に登録（送信）する。これにより、共通記憶装置１１０には、開示データが管理者Ａの管理者ＩＤに対応付けられた状態で記憶される。
【００３７】
次に、Ｓ２０８において、ＣＰＵ１０１は、受信した参照データを、自装置の学習データに対応させて利用するように、転移学習を実行する。その後、ＣＰＵ１０１は、転移させたデータのうち、境界付近のデータに関して正常データであるか異常データであるかをユーザに入力させ、最終的に識別器を生成する（生成処理）。なお、このとき共通記憶装置１１０から獲得した他の管理者のデータに対して新しく情報が付加されたことになる。ＣＰＵ１０１は、この付加された情報を、共通記憶装置１１０に保存する。例えば、ＣＰＵ１０１は、新たに発生した異常データの特徴量やその他ラベリング情報量等を共通記憶装置１１０にフィードバックする。これにより、データを開示したことにより、共通記憶装置１１０に蓄積される情報が増えるだけでなく、更なる情報が付加されることとなり、自らが利用するデータの情報的価値を高めることができる。
【００３８】
次に、Ｓ２０４における、類似度算出処理について説明する。本実施形態においては、ＣＰＵ１０１は、最も広く適用できる類似度を定義する方法として、２つの分布間のカルバック・ライブラー情報量で測定する方法を用いる。転移元のデータ及び検査対象である転移先データの分布は連続確率分布に従うため、（式１）で定義される。
【数１】
0006624963.tif 000002
ここで、Ｐは、転移元データの分布、Ｑは、転移先データの分布を表す。また、ｐ、ｑはそれぞれＰ、Ｑの確率密度関数を表す。
【００３９】
（式１）で定義された情報量が小さい方が２つの分布は類似していると言える。開示レベルがＬｖ．２のときは選択特徴量のうち同じ特徴量セットのみでカルバック・ライブラー情報量を測定することとなるが、Ｌｖ．３では全抽出特徴量を用いた測定が可能となる。Ｌｖ．４では前記した部品名や材質、気温、湿度、撮影パラメータ等まで参照して類似した対象であるかを比較でき、さらにＬｖ．５では正常状態のテクスチャ同士の類似度を抽出特徴とは別の枠組みで測定することができる。つまり、Ｌｖ．４までに用いた抽出特徴量以外にテクスチャ同士の類似度を評価する関数も用いて類似した対象であるかどうかを評価して利用できる。
【００４０】
ここで言うテクスチャ同士の類似度算出方法は図５に示した具体例によって実施することができる。ＣＰＵ１０１は、検査対象画像から正常ラベルのついた画像を１個または数個ランダムに選択し、選択された画像のみからテクスチャ類似度算出のための特徴量を抽出する。ＣＰＵ１０１は、入力画像のサイズが事前に定義した一定の画像サイズになるように調整する。本実施形態においては、常に入力画像の縦と横のどちらか長い方の長さが等しくなるように拡大／縮小されるものとする。
【００４１】
そして、ＣＰＵ１０１は、画像サイズの調整された１個または数個の画像を周波数ドメインへの変換手法の一つであるハールウェーブレット変換を行う。ＣＰＵ１０１は、まず変換前の入力パターンに対して四種類のフィルターを用いて内積演算を行う。その結果、四種類のパターン、垂直方向高周波成分抽出パターン（ＨＬ）、対角方向高周波成分抽出パターン（ＨＨ）、水平方向高周波成分抽出パターン（ＬＨ）、低周波成分抽出パターン（ＬＬ）が生成される。垂直方向高周波成分抽出パターンの生成方法を具体的に示す。図７のように入力パターンの４つの画素
【数２】
0006624963.tif 000003
の内積（ａ＋ｂ−ｃ−ｄ）を垂直方向高周波成分抽出パターンの画素の値とする。
【００４２】
ＣＰＵ１０１は、このような計算を４画素ずつすべての画像領域においてこれをオーバーラップすることなく行い、垂直方向高周波成分抽出パターンを作る。対角方向高周波成分抽出パターン、水平方向高周波成分パターン、低周波成分抽出パターンでは、それぞれ
【数３】
0006624963.tif 000004
をフィルターとして用いる。
【００４３】
ＣＰＵ１０１は、結果的に四種類のパターンを解像度二分の一で作り出す。ＣＰＵ１０１は、さらに低周波成分抽出パターンから次のレベルのハールウェーブレット変換を行い、さらに解像度二分の一にした四種類のパターンを作り出す。ＣＰＵ１０１は、このように、階層的に低い周波数へと変換していく。このようにして画像の縦または横のどちらかが１ピクセルになるまで処理を繰り返すことで複数のパターンを得ることができる。
【００４４】
例えば７回繰り返すと変換前の元画像を含めると１＋４×７＝２９種類のパターンが得られる。そしてこれら得られた２９種のパターンから平均値と標準偏差の値の組合せをそれぞれ得る。これによって１個の画像から５８個の数値を連結した５８次元のベクトルが得られ、これを、テクスチャを記述するベクトルとする。ＣＰＵ１０１は、最初に複数の正常画像を選択した場合はこれら複数の画像から得た５８次元のベクトルの各値の平均値を求め、これを、テクスチャを記述するベクトルと定義する。そして、ＣＰＵ１０１は、テクスチャ同士の類似度は上記で定義したベクトル同士を比較して得られる距離で求める。このときの距離はユークリッド距離でもマンハッタン距離でも距離であれば何でも良い。
【００４５】
ＣＰＵ１０１は、上記方法にて特徴量の分布同士の比較から得られたカルバック・ライブラー情報量の他に正常テクスチャ同士の類似度から算出されるスコアの両方を用いて、１次元スコアを算出して、類似データ候補絞込みが実施される。ＣＰＵ１０１は、１次元スコア算出に当たり、それぞれのスコアに重み付けを行って和をとってもよい。
【００４６】
以上のように、本実施形態に係る情報共有システムにおいては、ユーザは、自装置において得られたデータの開示をするかしないかという二者択一でなく、開示レベルに応じて、開示対象のデータを決定することができる。したがって、すべてのデータを開示することができないような場合においても、開示可能なレベルのデータだけでも開示するよう促す効果が得られる。このように、本実施形態に係る情報共有システムにおいては、各情報処理装置は、共通記憶装置１１０からデータを取得する際に、自装置のデータを共通記憶装置１１０に段階的に提供することができる。また、装置間で開示レベルの異なる場合にも統一的なフレームワークでデータを共有することができる。特に立上げ時の識別器の設定が容易となる。この仕組みにより、各情報処理装置は、他の情報処理装置から十分な学習データを集め、集めた学習データを用いて適切な識別器を生成することができる。
【００４７】
現実の外観検査では各々の製品に関する機密上のポリシーは個別に異なっており過去に蓄積したデータを簡単に他の検査に流用できない場合がある。また、他のユーザのデータを自分のデータに適用させて精度が上がるということに対しては問題ないが、自分のデータを他のユーザが使って識別器の性能を上げるということに抵抗があるというユーザも存在する。特に他のユーザが他の工場、他の企業のユーザである場合に抵抗感を強く感じるユーザが増加する傾向がある。
【００４８】
例えば製品の外観検査用画像は製品デザインそのものや、その一部となっていることが多い。このため各企業にとって機密扱いになることが多く、その場合にはエリアセンサなどで取り込まれた画像そのものは他のユーザに開示することができない傾向が強い。データが多く集まる方が精度の良い識別器構築の可能性が高まりユーザ全体にとってメリットがあるが、ユーザがデータを出すことに対する心理的障壁が高い状態ではデータの収集・蓄積がスムーズに進行しない。データが集まらない結果として、蓄積されたデータからの知見を新規データに適用させて精度の高い識別器を生成する仕組みを実現することが困難となる。これに対し、本実施形態に係る情報共有システムにおいては、各情報処理装置は、他の情報処理装置から十分な学習データを集め、集めた学習データを用いて適切な識別器を生成することができる。
【００４９】
第１の実施形態の変更例としては、開示レベルの設定方法は実施形態に限定されるものではない。他の例としては、序列のついたレベル設定に限らず、パラメータ毎に開示するか否かを設定してもよい。
【００５０】
（第２の実施形態）
次に、第２の実施形態に係る情報共有システムについて説明する。ここでは、３人の管理者の異なる生産ラインに、それぞれ情報共有システムが導入されているものとする。図６は、第２の実施形態に係る情報共有システムの全体図である。情報共有システムは、各管理者が保有する生産ラインに導入された、第１のシステム６１０ａ、第２のシステム６１０ｂ、第３のシステム６１０ｃと、管理者間共通記憶装置６３０と、アルゴリズム記憶装置６４０と、を有している。第１のシステム６１０ａは、第１の共通記憶装置６２０ａを有している。第２のシステム６１０ｂは、第２の共通記憶装置６２０ｂを有している。第３のシステム６１０ｃは、第３の共通記憶装置６２０ｃを有している。
【００５１】
各システム６１０ａ〜６１０ｃは、第１の実施形態において説明した情報共有システムと同様の構成である。各共通記憶装置６２０ａ〜６２０ｃに記憶されるデータは、同一管理者のデータであるため、同一システム内の情報処理装置間では、自由にデータを共有し、転移学習用に利用することができる。そして、本実施形態においては、各共通記憶装置６２０ａ〜６２０ｃに記憶されるデータに対し開示レベルが設定され、開示レベルに応じたデータが管理者間共通記憶装置６３０に記憶される。その他仕組みは、第１の実施形態と同様である。
【００５２】
第１の実施形態において説明した通り、生産ラインで得たデータを他の管理者に公開することに対して抵抗感を持つ場合が多い。このため、前述の通り、各管理者の生産ラインから、管理者間共通記憶装置６３０に直接データが登録される仕組みでは、システム導入への障壁が高い可能性がある。そこで、第１段階として、データ共有により、生産ライン立上げ時の負荷が減ることをユーザが理解できるように、各管理者が保有する複数の生産ライン間でデータを共有（参照）できるシステムを導入する。つまり、この段階では、各システム６１０ａ〜６１０ｃと、管理者間共通記憶装置６３０とは接続されていない。そして、各ユーザが各自のデータを生産ライン間で共有し、本システムを導入することによる利点を充分に理解したとする。このとき、初めて、開示レベルを設定することにより、適宜、管理者間共通記憶装置６３０にデータを提供し、管理者間共通記憶装置６３０からデータを取得するようにしてもよい。
【００５３】
また、このように段階的にシステムを構築する場合において、各管理者のデータ開示に対するポリシーが変わり、管理者間共通記憶装置６３０との連携を停止する場合には、管理者間共通記憶装置６３０とユーザのシステムの接続を切断するだけでよい。その後も、各管理者は、同一ユーザの生産ライン間の閉じた環境でシステムを継続して使用することが可能である。
【００５４】
データ開示に対するポリシーが更新され場合も、更新後の参照データは、開示レベルに応じて設定される。これにより、管理者間共通記憶装置６３０に記憶されているデータのうち、過去のポリシーで参照できた他の管理者のデータに関しては、更新後のポリシーで参照できなくなる場合もある。しかし、過去に設定したポリシーで開示されたデータは、管理者間共通記憶装置６３０から削除されない。これは、過去にデータを開示することにより、他の管理者のデータを参照し、各自の識別器を洗練させて利用した事に対する対価をデータ提供という形式で支払っているのと同義であるためである。
【００５５】
また、管理者間共通記憶装置６３０には、アルゴリズム記憶装置６４０が連結されている。アルゴリズム記憶装置６４０は、全システム６１０ａ〜６１０ｃに共通するアルゴリズムを管理している。アルゴリズム記憶装置６４０は、特徴抽出方法や識別器、各種パラメータなど方式に関する情報を管理し、アルゴリズムが更新された場合には、管理者間共通記憶装置６３０に更新情報を送信する。
【００５６】
アルゴリズムが更新されると、過去のアルゴリズムで得られ、管理者間共通記憶装置６３０に記憶されたデータ（抽出特徴量やその他パラメータ）に関しても更新する必要が発生する。そのため、管理者間共通記憶装置６３０に記憶されている過去のデータに対して、更新後のアルゴリズムが適用される。例えば特徴抽出方法が新たに追加された場合、過去に保存された元画像群に対して新たに追加された特徴抽出方法によって抽出された特徴量が追加情報として元データに付加して保存される。さらに、共通記憶装置６２０ａ〜６２０ｃに送信されて実行されたり、末端の生産ラインの外観検査装置にも送信され、新規のデータの学習に利用されたりする。
【００５７】
また、自社の生産ラインのデータのうち、新製品に関するデータについては、機密性が高く、管理者間共通記憶装置６３０に提供したくないと考える可能性が高い。一方で、製造開始から時間が経過した製品や、既に市場に出回った製品、既に製造中止になった製品に関するデータについては開示してもよいと考える場合がある。識別器の学習に際しての参照データとしての価値は、データが得られたタイミングに関わらず同等である。そこで、本実施形態においては、このように過去に得られたデータで、管理者間共通記憶装置６３０に提供されることなく、共通記憶装置６２０ａ〜６２０ｃに記憶されていたデータを開示データとして設定することができるものとする。そして、過去に得られたデータを開示データとして提供した管理者は、開示データの提供に応じて、参照データを取得することができるものとする。
【００５８】
過去に製造していた製品に関するデータで、開示していないデータを管理者間共通記憶装置６３０に提供する場合、ＣＰＵ１０１は、図７に示すように、図４で例示した操作ウインドウ４００の他に過去データの操作ウインドウ７００を表示する。なお、操作ウインドウ４００は、図４を参照しつつ説明した、第１の実施形態に係る操作ウインドウ４００と同様である。管理者が過去に管理者間共通記憶装置６３０に提供していないデータを、新たに管理者間共通記憶装置６３０に提供するために、提供対象の過去のデータのＩＤや名称等を入力すると、操作ウインドウ７００が表示される。操作ウインドウ７００の上部には、過去の学習データ領域７１０が設けられ、学習データ領域４１０と同様に、過去の学習データと、学習データの関連データ等のパラメータが表示されている。
【００５９】
また、領域７２０には、過去データの対象期間を入力するための入力ボックスが配置されている。領域７２０において、対象期間を入力すると、領域７２０に、対象となるサンプル数が表示される。図７の例においては、サンプル数が３０００００個であると表示されている。７３０は、開示レベルの操作バーである。ユーザは、操作バー７３０を操作することにより、過去のデータについての開示レベルの仮設定指示や設定指示に係る開示レベルを入力する。操作バー７３０が操作されると、これに合わせて、操作ウインドウ４００の参照データ領域４４０には、開示レベルに応じて特定された仮の参照データが表示される。なお、ＣＰＵ１０１は、過去のデータとは関係なく、処理時点において、処理対象となっている学習データ、すなわち、学習データ領域４１０に表示されているデータに近い傾向のデータを、仮の参照データとして特定する。
【００６０】
図７の例においては、操作ウインドウ４００において、処理対象の学習データに対して設定された開示レベルはＬｖ．２であるが、過去のデータに対して設定（変更）された開示レベルはＬｖ．５である。この場合、変更後の開示レベルＬｖ．５に応じたデータが仮の参照データとして特定される。開示する過去のデータのサンプル数が３０００００個の場合に、現行検査対象が３０００００サンプル検査する間は情報開示レベルがＬｖ．５の際と同等のサービスが提供される。この３０００００サンプルの検査終了後、再度データ参照レベルはＬｖ．２に戻るが、Ｌｖ．５の間に獲得した識別器のパラメータ等は保持される。
【００６１】
以上が、データの状態や開示レベルを柔軟に設定することによって検査に関するデータをシェアして有効利用し精度向上に繋げるための方法である。ただし、データ記憶装置は開示／非開示の２層分だけでなく開示レベルごとにさらに細かく分類して設置しても良いことは言うまでも無い。さらに、情報開示レベルに応じてシステム利用料を変更することによってデータ開示を促進させてもよい。
【００６２】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００６３】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６４】
１００ａ〜１００ｃ  情報処理装置
１０１  ＣＰＵ
１０５  表示部
１１０  共通記憶装置
【図１】
0006624963.tif 000005
【図２】
0006624963.tif 000006
【図３】
0006624963.tif 000007
【図４】
0006624963.tif 000008
【図５】
0006624963.tif 000009
【図６】
0006624963.tif 000010
【図７】
0006624963.tif 000011