(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023007260
(43)【公開日】2023-01-18
(54)【発明の名称】計算機及び外観検査方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20230111BHJP
G01N 21/88 20060101ALI20230111BHJP
【FI】
G06T7/00 350C
G01N21/88 J
G06T7/00 610Z
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2021110397
(22)【出願日】2021-07-01
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】近藤 直明
(72)【発明者】
【氏名】伊藤 晟
(72)【発明者】
【氏名】宮本 敦
【テーマコード(参考)】
2G051
5L096
【Fターム(参考)】
2G051AA90
2G051AB01
2G051AB02
2G051EB01
2G051EB05
5L096AA06
5L096BA03
5L096CA02
5L096DA01
5L096DA02
5L096EA35
5L096FA69
5L096GA08
5L096GA51
5L096HA11
5L096JA13
5L096KA04
5L096KA15
(57)【要約】 (修正有)
【課題】検査対象物が良品か不良品かを高精度に検査することを可能とする計算機及び外観検査方法を提供する。
【解決手段】方法は、対象物の検査画像を取得する画像取得ステップ121と、画像取得ステップ121で取得した検査画像が良品候補の検査画像か不良候補の検査画像かを判別する良否判別ステップ123と、良否判別ステップ123で不良候補と判別された検査画像が過検出の検査画像か過検出ではない非過検出の検査画像かを判別する過検出判別ステップ125と、画像取得ステップ104で取得した学習用良品画像105を用いて、良否判別ステップ123で用いる良品推定パラメータ111を追加学習する良品推定パラメータ追加学習ステップ110と、学習用良品画像105を用いて、過検出判別ステップ125で用いる過検出判別パラメータ109を学習する過検出判別パラメータ学習ステップ108と、を有する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
対象物が良品か不良品かを判別する計算機であって、
前記計算機はプロセッサを有し、前記プロセッサは、
前記対象物の検査画像を取得する画像取得ステップと、
前記画像取得ステップで取得した前記検査画像が良品候補の前記検査画像か不良候補の前記検査画像かを判別する良否判別ステップと、
前記良否判別ステップで不良候補と判別された前記検査画像が過検出の前記検査画像か過検出ではない非過検出の前記検査画像かを判別する過検出判別ステップと、
前記画像取得ステップで取得した学習用良品画像を用いて、前記良否判別ステップで用いる良品推定パラメータを学習する良品推定パラメータ学習ステップと、
前記学習用良品画像を用いて、前記過検出判別ステップで用いる過検出判別パラメータを学習する過検出判別パラメータ学習ステップと
を実行し、
前記過検出判別パラメータ学習ステップでは、前記学習用良品画像を前記良否判別ステップの前記検査画像として用い、良品候補の前記検査画像を非過検出の前記検査画像、不良候補の前記検査画像を過検出の前記検査画像であると前記良否判別ステップにおいて判別するように、前記過検出判別パラメータを学習する
ことを特徴とする計算機。
【請求項2】
請求項1に記載の計算機において、
前記過検出判別パラメータ学習ステップは、
前記良否判別ステップにおいて前記学習用良品画像が不良候補の前記検査画像であると判別された箇所を不良候補画像とする不良候補画像切り出しステップと、
前記不良候補画像から、第1画像を選択する第1画像取得ステップと、
前記学習用良品画像から、前記第1画像以外の領域を第2画像とする第2画像取得ステップと
を備え、
前記過検出判別パラメータ学習ステップでは、前記第1画像を過検出の前記検査画像であり、前記第2画像を非過検出の前記検査画像であると判別するように、前記過検出判別パラメータを学習する
ことを特徴とする計算機。
【請求項3】
請求項1に記載の計算機において、
前記過検出判別パラメータ学習ステップは、
前記良否判別ステップにおいて前記学習用良品画像が不良候補の前記検査画像であると判別された前記学習用良品画像から第1画像を選択する第1画像取得ステップと、
前記学習用良品画像のうち、前記第1画像以外の前記検査画像を第2画像として選択する第2画像取得ステップと
を備え、
前記過検出判別パラメータ学習ステップでは、前記第1画像を過検出の前記検査画像であり、前記第2画像を非過検出の前記検査画像であると判別するように、前記過検出判別パラメータを学習する
ことを特徴とする計算機。
【請求項4】
請求項1に記載の計算機において、
前記過検出判別パラメータ学習ステップは、
前記良否判別ステップにおいて前記学習用良品画像が不良候補の前記検査画像であると判別された箇所を第1画像とする第1画像取得ステップと、
前記良否判別ステップにおいて前記学習用良品画像が良品候補の前記検査画像であると判別された箇所を第2画像とする第2画像取得ステップと
を備え、
前記過検出判別パラメータ学習ステップでは、前記第1画像を過検出の前記検査画像であり、前記第2画像を非過検出の前記検査画像であると判別するように、前記過検出判別パラメータを学習する
ことを特徴とする計算機。
【請求項5】
請求項1に記載の計算機において、
前記良品推定パラメータ学習ステップでは、
前記良否判別ステップにおいて良品候補と判定された前記検査画像のうち、前記過検出判別ステップにおいて過検出の前記検査画像であると判別された前記検査画像と、前記良否判別ステップにおいて不良候補と判定された前記検査画像のうち、前記過検出判別ステップで非過検出の前記検査画像であると判別された前記検査画像とを用いて、前記良品推定パラメータを追加学習する
ことを特徴とする計算機。
【請求項6】
請求項1に記載の計算機において、
前記良品推定パラメータ学習ステップでは、前記学習用良品画像に基づいて、この学習用良品画像を推定するように前記良品推定パラメータを学習し、
前記良否判別ステップでは、前記良品推定パラメータを用いて前記検査画像から擬似良品画像を推定し、前記検査画像と前記擬似良品画像との差分画像を算出することで、前記検査画像が良品候補の前記検査画像であるか不良候補の前記検査画像であるかを判別する
ことを特徴とする計算機。
【請求項7】
請求項6に記載の計算機において、
前記過検出判別パラメータ学習ステップでは、前記良否判別ステップで得られた前記差分画像と前記学習用良品画像とを用いて、前記過検出判別パラメータを学習する
ことを特徴とする計算機。
【請求項8】
請求項1に記載の計算機において、
前記検査画像のうち、前記良否判別ステップで良品候補の前記検査画像であると判別された前記検査画像に基づいて正常な前記検査画像であるか正常ではない非正常の前記検査画像であるかを判別する正常判別ステップと、
前記学習用良品画像を用いて、前記正常判別ステップで用いる正常判別パラメータを学習する正常判別パラメータ学習ステップと
を備え、
前記正常判別パラメータ学習ステップでは、前記学習用良品画像を前記良否判別ステップの前記検査画像として用い、良品候補の前記検査画像を正常の前記検査画像、不良候補の前記検査画像を非正常の前記検査画像であると判別するように、前記正常判別パラメータを学習する
ことを特徴とする計算機。
【請求項9】
対象物が良品か不良品かを判別する計算機により実行される外観検査方法であって、
前記対象物の検査画像を取得する画像取得ステップと、
前記画像取得ステップで取得した前記検査画像が良品候補の前記検査画像か不良候補の前記検査画像かを判別する良否判別ステップと、
前記良否判別ステップで不良候補と判別された前記検査画像が過検出の前記検査画像か過検出ではない非過検出の前記検査画像かを判別する過検出判別ステップと、
前記画像取得ステップで取得した学習用良品画像を用いて、前記良否判別ステップで用いる良品推定パラメータを学習する良品推定パラメータ学習ステップと、
前記学習用良品画像を用いて、前記過検出判別ステップで用いる過検出判別パラメータを学習する過検出判別パラメータ学習ステップと
を備え、
前記過検出判別パラメータ学習ステップでは、前記学習用良品画像を前記良否判別ステップの前記検査画像として用い、良品候補の前記検査画像を非過検出の前記検査画像、不良候補の前記検査画像を過検出の前記検査画像であると前記良否判別ステップにおいて判別するように、前記過検出判別パラメータを学習する
ことを特徴とする外観検査方法。
【請求項10】
請求項9に記載の外観検査方法において、
前記過検出判別パラメータ学習ステップは、
前記良否判別ステップにおいて前記学習用良品画像が不良候補の前記検査画像であると判別された箇所を不良候補画像とする不良候補画像切り出しステップと、
前記不良候補画像から、第1画像を選択する第1画像取得ステップと、
前記学習用良品画像から、前記第1画像以外の領域を第2画像とする第2画像取得ステップと
を備え、
前記過検出判別パラメータ学習ステップでは、前記第1画像を過検出の前記検査画像であり、前記第2画像を非過検出の前記検査画像であると判別するように、前記過検出判別パラメータを学習する
ことを特徴とする外観検査方法。
【請求項11】
請求項9に記載の外観検査方法において、
前記過検出判別パラメータ学習ステップは、
前記良否判別ステップにおいて前記学習用良品画像が不良候補の前記検査画像であると判別された前記学習用良品画像から第1画像を選択する第1画像取得ステップと、
前記学習用良品画像のうち、前記第1画像以外の前記検査画像を第2画像として選択する第2画像取得ステップと
を備え、
前記過検出判別パラメータ学習ステップでは、前記第1画像を過検出の前記検査画像であり、前記第2画像を非過検出の前記検査画像であると判別するように、前記過検出判別パラメータを学習する
ことを特徴とする外観検査方法。
【請求項12】
請求項9に記載の外観検査方法において、
前記過検出判別パラメータ学習ステップは、
前記良否判別ステップにおいて前記学習用良品画像が不良候補の前記検査画像であると判別された箇所を第1画像とする第1画像取得ステップと、
前記良否判別ステップにおいて前記学習用良品画像が良品候補の前記検査画像であると判別された箇所を第2画像とする第2画像取得ステップと
を備え、
前記過検出判別パラメータ学習ステップでは、前記第1画像を過検出の前記検査画像であり、前記第2画像を非過検出の前記検査画像であると判別するように、前記過検出判別パラメータを学習する
ことを特徴とする外観検査方法。
【請求項13】
請求項9に記載の外観検査方法において、
前記良品推定パラメータ学習ステップでは、
前記良否判別ステップにおいて良品候補と判定された前記検査画像のうち、前記過検出判別ステップにおいて過検出の前記検査画像であると判別された前記検査画像と、前記良否判別ステップにおいて不良候補と判定された前記検査画像のうち、前記過検出判別ステップで非過検出の前記検査画像であると判別された前記検査画像とを用いて、前記良品推定パラメータを追加学習する
ことを特徴とする外観検査方法。
【請求項14】
請求項9に記載の外観検査方法において、
前記良品推定パラメータ学習ステップでは、前記学習用良品画像に基づいて、この学習用良品画像を推定するように前記良品推定パラメータを学習し、
前記良否判別ステップでは、前記良品推定パラメータを用いて前記検査画像から擬似良品画像を推定し、前記検査画像と前記擬似良品画像との差分画像を算出することで、前記検査画像が良品候補の前記検査画像であるか不良候補の前記検査画像であるかを判別する
ことを特徴とする外観検査方法。
【請求項15】
請求項9~請求項14のいずれか一項に記載の外観検査方法を計算機に実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、計算機及び外観検査方法に関する。
【背景技術】
【0002】
本発明は、好ましくは機械学習に基づく計算機及び外観検査方法に関する。予め学習用の良品を撮像して取得した学習用良品画像で学習した良品推定パラメータと過検出判別パラメータを用いて、実際の検査対象物が良品か不良品かを検査する装置と方法を提供する。
【0003】
機械、金属、化学、食品、繊維等を含む多くの工業製品においては検査画像を基に、形状不良、組立不良、異物の付着、内部の欠損や致命度、表面の傷や斑、汚れ等により、製品が良品か不良品かを検査する外観検査が広く行われている。一般的に、これらの外観検査の多くは検査員の目視判断により行われてきた。
【0004】
一方、大量生産や品質向上への要求増大に伴い、検査コストならびに検査員の負荷が増大している。また、人間の感覚に基づく官能検査では特に高い経験やスキルが求められる。検査員によって評価値が異なったり、検査の度に結果が異なるといった属人性や再現性も課題となる。このような検査のコスト、スキル、属人性等の課題に対し、検査の自動化が強く求められている。
【0005】
近年、機械学習に基づく自動外観検査が提案されている。機械学習に基づく自動外観検査では、検査対象物の画像と、検査員により教示された良・不良等の判定結果との対応を学習しておく。
【0006】
学習時には良品の画像と不良品の画像を大量に用意することが望ましいが、工業製品の製造ラインにおいて、不良品の画像の収集には多大なコストを要する。そのため、良品の画像のみを用いて機械学習を行い、検査対象物が良品か不良品かを検査する外観検査方法が提案されている。
【0007】
例えば、特許文献1では、欠陥の無い製品(良品)の画像を用いて、欠陥を有する製品の画像を入力しても欠陥の無い製品の画像を出力するニューラルネットワークを学習する方法が開示されている。
【先行技術文献】
【特許文献】
【0008】
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかし、特許文献1に代表される、機械学習に基づく自動外観検査方法では、良品の中にも明るさや形状のバリエーションがあるため、代表的な良品とは外観が大きく異なる良品部位が不良として検出(過検出)されることが多い。基本的に、不良内容に基づいた対策を製造プロセスにフィードバックするため、検査員は、外観検査装置が不良として検出した画像を確認することになるが、過検出の数が多いと、検査員が画像を確認する負荷が増大する。そのため、良品の画像のみを用いて学習する場合において、過検出を低減する外観検査方法が必要である。
【0010】
また、不良品の中にも明るさや形状のバリエーションがあるため、良品と外観が類似する不良部位が良品として判別(不良見逃し)されることが多い。不良見逃しが発生すると、製造プロセスへのフィードバックができないだけでなく、不良品を出荷してしまう恐れもあるため、良品の画像のみを用いて学習する場合において、不良見逃しを低減する外観検査方法が必要である。
【0011】
本発明は上記の課題に鑑みてなされたもので、検査対象物が良品か不良品かを高精度に検査することが可能な計算機及び外観検査方法を提供することにある。
【課題を解決するための手段】
【0012】
上記課題を解決すべく、本発明の一つの観点に従う計算機は、対象物が良品か不良品かを判別する計算機であって、計算機はプロセッサを有し、プロセッサは、対象物の検査画像を取得する画像取得ステップと、画像取得ステップで取得した検査画像が良品候補の検査画像か不良候補の検査画像かを判別する良否判別ステップと、良否判別ステップで不良候補と判別された検査画像が過検出の検査画像か過検出ではない非過検出の検査画像かを判別する過検出判別ステップと、画像取得ステップで取得した学習用良品画像を用いて、良否判別ステップで用いる良品推定パラメータを学習する良品推定パラメータ学習ステップと、学習用良品画像を用いて、過検出判別ステップで用いる過検出判別パラメータを学習する過検出判別パラメータ学習ステップとを実行し、過検出判別パラメータ学習ステップでは、学習用良品画像を良否判別ステップの検査画像として用い、良品候補の検査画像を非過検出の検査画像、不良候補の検査画像を過検出の検査画像であると良否判別ステップにおいて判別するように、過検出判別パラメータを学習することを特徴とする。
【発明の効果】
【0013】
本発明によれば、検査対象物が良品か不良品かを高精度に検査することが可能な計算機及び外観検査方法を実現することができる。
【図面の簡単な説明】
【0014】
【
図1】実施例1に係る外観検査装置の概略構成を示す図である。
【
図2】実施例1に係る外観検査装置の全体の処理シーケンスの一例を示す図である。
【
図3】実施例1に係る外観検査装置に用いられる良品推定器のニューラルネットワーク構成例を示す図である。
【
図4】実施例1に係る外観検査装置による検査画像が良品候補か不良候補かを判別する良否判別方法を示す図である。
【
図5】良品画像のみを用いた学習による一般的な外観検査方法の例を示す図である。
【
図6】実施例1に係る外観検査装置による過検出判別パラメータの学習方法の一例を示す図である。
【
図7】実施例1に係る外観検査装置による過検出判別パラメータの学習方法の一例を示す図である。
【
図8】実施例1に係る外観検査装置による過検出判別パラメータの学習方法の一例を示す図である。
【
図9】実施例1に係る外観検査装置による過検出判別パラメータの学習方法の一例を示す図である。
【
図10】実施例1に係る外観検査装置による過検出判別パラメータの学習方法の一例を示す図である。
【
図11】実施例1に係る外観検査装置による良品推定パラメータを追加学習する方法を示す図である。
【
図12】実施例2に係る外観検査装置の概略構成を示す図である。
【
図13】実施例2に係る外観検査装置の全体の処理シーケンスの一例を示す図である。
【
図14】実施例1、2に係る外観検査装置による、学習回数や良否判別しきい値の入力や、不良候補画像から第1画像を選択する画面を表示するGUIを示す図である。
【
図15】実施形態に係る外観検査方法における正常部と過検出部と異常部の分布の模式図である。
【
図16】実施形態に係る外観検査方法における正常部と過検出部と見逃し部の分布の模式図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0016】
なお、実施例を説明する図において、同一の機能を有する箇所には同一の符号を付し、その繰り返しの説明は省略する。
【0017】
また、以下の説明では、情報の一例として「xxxデータ」といった表現を用いる場合があるが、情報のデータ構造はどのようなものでもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxデータ」を「xxxテーブル」と言うことができる。さらに、「xxxデータ」を単に「xxx」と言うこともある。そして、以下の説明において、各情報の構成は一例であり、情報を分割して保持したり、結合して保持したりしても良い。
【0018】
なお、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インターフェースデバイス(例えばポート)を用いながら行うため、処理の主語がプログラムとされても良い。プログラムを主語として説明された処理は、プロセッサ或いはそのプロセッサを有する計算機が行う処理としても良い。
【0019】
なお、以降の説明において、"○○部は"と動作主体を記した場合、それは、プロセッサがメモリからプログラムである○○部の処理内容を読み出し、メモリにロードしたうえで○○部の機能(詳細後記)を実現することを意味する。
【0020】
上述した通り、良品にも良品と正しく判別される箇所と不良と誤って判別される箇所がある。良品の中でも良品と正しく判別される箇所を正常部、良品の中でも不良と誤って判別される箇所を過検出部と記載する。また、不良にも良品と誤って判別される箇所と不良と正しく判別される箇所がある。不良品の中でも良品と誤って判別される箇所を見逃し部、良品の中でも不良と正しく判別される箇所を異常部と記載する。
【0021】
本実施形態の外観検査装置及び外観検査方法は、一例として以下のような構成を有する。
【0022】
(1)対象物の検査画像を撮像する画像取得部と、画像取得部で取得した検査画像を入力して良品候補か不良候補かを判別する良否判別部と、画像取得部で取得した検査画像のうち、良否判別部で不良候補と判別された検査画像を入力して過検出か過検出ではないか(非過検出)を判別する過検出判別部と、画像取得部で取得した学習用良品画像を用いて、良否判別部で用いる良品推定パラメータを学習する良品推定パラメータ学習部と、画像取得部で取得した学習用良品画像を用いて、過検出判別部で用いる過検出判別パラメータを学習する過検出判別パラメータ学習部を備え、過検出判別パラメータ学習部は、学習用良品画像を良否判別部に入力して良品候補と不良候補に分け、良品候補を非過検出、不良候補を過検出と判別するように、過検出判別パラメータを学習することを特徴とする。
【0023】
本特徴について補足する。一般的な外観検査方法で不良として検出されるのは、良品中の過検出部、もしくは、不良品中の異常部である。そのため、一般的な外観検査方法で不良として検出された箇所が、過検出か過検出ではない(非過検出)かを判別できれば、非過検出と判別された箇所を不良とすることで、不良部位のみを検出でき、過検出の低減が期待できる。
【0024】
本処理の課題は、過検出判別部で用いる過検出判別パラメータを、どのように学習するかである。過検出部の画像と異常部の画像を用いて学習すれば、特徴量空間で過検出部の分布と異常部の分布を分離する適切な境界を決定できるが、学習用に不良品の画像を収集することが必要になるため、望ましくない。また、過検出部の画像だけでは、過検出部の分布と過検出部以外の分布を分離する適切な境界を決定することは難しい。
【0025】
そこで、本実施形態では、過検出部の画像と正常部の画像を用いて、過検出部と、過検出部以外を分離する境界を決定することで、過検出部と異常部との分離にも適用可能な境界を決定する。
【0026】
正常部と過検出部と異常部の分布を模式的に示したものを
図15に示す。
図15には、正常部の分布1301、過検出部の分布1302、異常部の分布1303を2次元の分布として、つまり特徴量平面上で示している。本実施形態では、過検出部の画像と、正常部の画像を用いることで、過検出部と、過検出部以外を分離する境界1304を決定する。具体的には、本実施形態では、学習用の良品の画像を、良否判別部に入力して、良品候補と不良候補に分け、良品候補を非過検出、不良候補を過検出と判別するように、過検出判別パラメータを学習する。なお、
図15(及び後述する
図16)では特徴量平面上で正常部の分布1301等を示しているが、これは理解を容易にするための単なる前提であり、3次元以上の多次元の分布として扱うことに何ら問題はない。
【0027】
(2)過検出判別パラメータ学習部において、学習用良品画像を良否判別部に入力して不良候補と判別された箇所を不良候補画像とする不良候補画像切り出し部と、不良候補画像から、第1画像を選択する第1画像取得部と、学習用良品画像から、第1画像以外の領域を第2画像とする第2画像取得部を備え、第1画像を過検出、第2画像を非過検出と判別するように、過検出判別パラメータを学習することを特徴とする。
【0028】
本特徴について補足する。一般的に、過検出部は良品の画像の局所的な領域に存在することが多く、残りの大半の領域は代表的な良品と外観が類似している。そのため、画像取得部で取得した画像全体を用いて、過検出判別パラメータを学習すると、過検出部以外の領域の特徴を含んで学習してしまうため、過検出判別の精度が低下する可能性がある。
【0029】
そのため、本実施形態では、良否判別部で不良候補と判別された箇所を切り出すことで、過検出部の特徴を、より学習することができ、過検出判別の精度の向上が期待できる。
【0030】
また、良否判別部で不良候補と判別された箇所も外観のバリエーションがあるため、不良候補と判別された箇所の画像全てを過検出判別パラメータの学習に用いても、過検出部の特徴を学習できず、過検出判別の精度が低下する可能性がある。そのため、本実施形態では、良否判別部で不良候補と判別された箇所を切り出した不良候補画像から、第1画像を選択し、第1画像を過検出と判別するように過検出判別パラメータを学習することで、過検出部の特徴を、より学習することができ、過検出判別の精度の向上が期待できる。
【0031】
(3)画像取得部で取得した検査画像のうち、良否判別部で良品候補と判別された検査画像を入力して正常か正常ではないか(非正常)を判別する正常判別部と、画像取得部で取得した学習用良品画像を用いて、正常判別部で用いる正常判別パラメータを学習する正常判別パラメータ学習部を備え、正常判別パラメータ学習部は、学習用良品画像を良否判別部に入力して良品候補と不良候補に分け、良品候補を正常、不良候補を非正常と判別するように、正常判別パラメータを学習することを特徴とする。
【0032】
本特徴について補足する。一般的な外観検査方法で良品として判別されるのは、良品中の正常部、もしくは、不良品中の見逃し部である。そのため、一般的な外観検査方法で良品として判別された箇所が、正常か非正常かを判別できれば、非正常と判別された箇所を不良とすることで、従来見逃していた不良部位を検出でき、不良見逃しの低減が期待できる。
【0033】
本処理の課題は、正常判別部で用いる正常判別パラメータを、どのように学習するかである。正常部の画像と見逃し部の画像を用いて学習すれば、特徴量空間で正常部の分布と見逃し部の分布を分離する適切な境界を決定できるが、学習用に不良品の画像を収集することが必要になるため、望ましくない。また、正常部の画像だけでは、正常部の分布と正常部以外の分布を分離する適切な境界を決定することは難しい。
【0034】
そこで、本実施形態では、正常部の画像と過検出部の画像を用いて、正常部と、正常部以外を分離する境界を決定することで、正常部と見逃し部との分離にも適用可能な境界を決定する。
【0035】
正常部と過検出部と見逃し部の分布を模式的に示したものを
図16に示す。
図16には、正常部の分布1401、過検出部の分布1402、見逃し部の分布1403を2次元の分布として示している。本実施形態では、正常部の画像と、過検出部の画像を用いることで、正常部と、正常部以外を分離する境界1404を決定する。具体的には、本実施形態では、学習用の良品の画像を、良否判別部に入力して、良品候補と不良候補に分け、良品候補を正常、不良候補を非正常と判別するように、正常判別パラメータを学習する。
【0036】
本実施形態によれば、機械学習を活用した外観検査の自動化において、良品の画像のみを用いて学習する場合に、代表的な良品とは外観が大きく異なる良品部位の過検出を低減し、良品と外観が類似する不良部位の見逃しを低減することができる。これにより、検査対象物が良品か不良品かを高精度に検査することが可能となる。
【実施例0037】
1.外観検査装置の概略構成
図1は、実施例1に係る外観検査装置の概略構成を示す図である。
外観検査装置10は、各種情報処理が可能な装置、一例として計算機等の情報処理装置である。外観検査装置10は、プロセッサ11及びメモリ12を有する。
【0038】
プロセッサ11は、例えばCPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field-Programmable Gate Array)等である。メモリ12は、例えばHDD(Hard Disk Drive)などの磁気記憶媒体、RAM(Random Access Memory)、ROM(Read Only Memory)、SSD(Solid State Drive)などの半導体記憶媒体等を有する。また、DVD(Digital Versatile Disk)等の光ディスク及び光ディスクドライブの組み合わせもメモリとして用いられる。その他、磁気テープメディアなどの公知の記憶媒体もメモリとして用いられる。
【0039】
メモリ12には、ファームウェアなどのプログラムが格納されている。外観検査装置10の動作開始時(例えば電源投入時)にファームウェア等のプログラムをこのメモリ12から読み出して実行し、外観検査装置10の全体制御を行う。また、メモリ12には、プログラム以外にも、外観検査装置10の各処理に必要なデータ等が格納されている。
【0040】
外観検査装置10には、撮像手段13、入力手段14及び表示手段15が接続されている。
【0041】
撮像手段13は、例えばCCDカメラ、光学顕微鏡、荷電粒子顕微鏡、超音波検査装置、X線検査装置等であり、検査対象物の表面あるいは内部をデジタル映像として撮像することで検査画像を外観検査装置10に出力する。入力手段14は、例えばキーボード、マウス等であり、外観検査装置10の検査員による操作に基づいて操作入力信号を外観検査装置10に出力する。表示手段15は、例えばディスプレイ等であり、外観検査装置10から送出される表示制御信号に基づいて所定の画面を表示する。
【0042】
なお、本実施例の外観検査装置10は、複数の情報処理装置が通信ネットワークを介して通信可能に構成された、いわゆるクラウドにより構成されてもよい。
【0043】
外観検査装置10のプロセッサ11は、機能実現部として画像取得部20、良品推定パラメータ学習部21、過検出判別パラメータ学習部22、良否判別部23、及び過検出判別部24を有する。過検出判別パラメータ学習部22は、不良候補画像切り出し部22a、第1画像取得部22b、及び第2画像取得部22cを有する。
【0044】
また、外観検査装置10のメモリ12には、良品推定パラメータ30及び過検出判別パラメータ31が格納されている。良品推定パラメータ30は、初期良品推定パラメータ30a及び最終良品推定パラメータ30bを有する。
【0045】
プロセッサ11に設けられた機能実現部のそれぞれ、及びメモリ12に格納されたパラメータのそれぞれの詳細については後述する。
【0046】
2.外観検査装置の全体の処理シーケンス
本実施例における外観検査装置10の全体の処理シーケンスを
図2に示す。処理シーケンスは大きく学習フェーズ101と検査フェーズ102に分かれる。
【0047】
学習フェーズ101では、画像取得部において、学習用の良品103を撮像して得られる学習用良品画像105を取得する(104)。学習用良品画像は、撮像手段13で学習用の良品の表面あるいは内部をデジタル映像として撮像することで取得する。
【0048】
なお、「取得」の他の例としては、ほかのシステムで撮像した画像を単に受信して、外観検査装置10が有するメモリ12に格納するだけでもよい。
【0049】
次に、良品推定パラメータ学習部において、学習用良品画像105を用いて、良否判別部(詳細は後述する
図4で説明する)で用いる良品推定パラメータを学習し、初期良品推定パラメータ107を得る(106)。
【0050】
良品推定パラメータは、画像取得部で撮像した画像を入力として、差分算出用の擬似良品画像を出力する機械学習に基づく良品推定器の内部パラメータである。良品推定器としては、既存の様々な機械学習のエンジンを用いることができるが、例えば、後述する
図3のようなニューラルネットワークが挙げられる。
【0051】
一般には、画像取得部において取得した検査対象物の画像(検査画像)を良品推定器に入力し、出力された擬似良品画像と検査画像とを比較検査することで、差異の大きい箇所を不良として判別する。しかし、後述する
図5に示すように、学習用の良品にも明るさや形状のバリエーションがあるため、代表的な良品と外観が大きく異なる良品部位は不良として検出(過検出)されることが多い。
【0052】
本実施例では、過検出判別パラメータ学習部において、学習用良品画像を良否判別部に入力して、初期良品推定パラメータ107を用いて、良品候補の検査画像(以下、単に「良品候補」と称する)と不良候補の検査画像(以下、単に「不良候補」と称する)に分け、良品候補を過検出ではない(非過検出)検査画像(以下、単に「非過検出」と称する)、不良候補を過検出の検査画像(以下、単に「過検出」と称する)と判別するように、過検出判別部で用いる過検出判別パラメータ109を学習する(108)。
【0053】
過検出判別パラメータは、画像取得部で撮像した画像のうち、良否判別処理で不良候補と判別された画像を入力として、過検出か非過検出かを判別する機械学習に基づく過検出判別器の内部パラメータである。過検出判別器としては、既存の様々な機械学習のエンジンを用いることができるが、例えばConvolutional Neural Network(CNN)に代表される深層ニューラルネットワークや、Support Vector Machine(SVM)/Support Vector Regress(SVR)、k-nearest neighbor(k-NN)等が挙げられる。これらのエンジンは分類問題を扱うことができる。
【0054】
また、本実施例では、良品推定パラメータ学習部において、学習用良品画像を良否判別処理で良品候補と不良候補に分け、良品候補を過検出判別部に入力して、過検出と判別された良品候補と、不良候補を過検出判別部に入力して、非過検出と判別された不良候補を用いて、良品推定パラメータを追加学習し、最終良品推定パラメータ111を得る(110)。良品推定パラメータの追加学習の詳細は後述する
図11で説明する。なお、この追加学習を行わずに、初期良品推定パラメータ107を最終良品推定パラメータ111としても良い。
【0055】
検査フェーズ102では、画像取得部において、検査対象物120を撮像して得られる検査画像122を取得する(121)。検査画像122は、撮像手段13で検査対象物120の表面あるいは内部をデジタル映像として撮像することで取得する。
【0056】
次に、後述する
図4のように、検査画像を良否判別部に入力し、最終良品推定パラメータ111を用いて、良品候補か不良候補かを判別する(123)。次に、検査画像のうち、123で不良候補と判別された検査画像124を過検出判別部に入力し、過検出か非過検出かを判別し、非過検出と判別された検査画像を不良画像126として出力する(125)。不良画像126は検査員が確認し(127)、不良等があれば対策を製造プロセスにフィードバックする。
【0057】
3.良品推定器
本実施例における、入力画像から擬似良品画像を推定する良品推定器として、例えば文献(Dong, Chao, et al. "Image super-resolution using deep convolutional networks." arXiv preprint arXiv:1501.00092 (2014))に記載されている畳み込みニューラルネットワークを用いれば良い。
【0058】
具体的には、
図3に示すような3層構造を持つニューラルネットワークを用いれば良い。ここで,Yは入力画像、F1(Y)、F2(Y)は中間データを示し、F(Y)が擬似良品画像の推定結果である。
【0059】
なお、中間データと推定結果は、下記に示す式(1)~(3)により算出される。ただし,"*"は畳み込み演算を表す。ここで、W1はn1個のc0×f1×f1サイズのフィルタであり、c0は入力画像のチャネル数、f1は空間フィルタのサイズを表す。入力画像にc0×f1×f1サイズのフィルタをn1回畳み込むことでn1次元の特徴マップが得られる。B1はn1次元のベクトルでありn1個のフィルタに対応したバイアス成分である。同様に、W2はn2個のn1×f2×f2サイズのフィルタ、B2はn2次元のベクトル、W3はc0個のn2×f3×f3サイズのフィルタ、B3はc0次元のベクトルである。
F1(Y)=max(0、W1*Y+B1) …(1)
F2(Y)=max(0、W2*F1(Y)+B2) …(2)
F(Y) =W3*F2(Y)+B3 …(3)
前述したc0は入力画像のチャネル数により決まる値である。また、f1やf2、n1、n2は学習シーケンス前にユーザが決定するハイパーパラメータであり、たとえばf1=9、f2=5、n1=128、n2=64とすれば良い。良品推定パラメータ学習部において調整するパラメータは、W1、W2、W3、B1、B2、B3である。
【0060】
良品推定パラメータの学習においては、学習用良品画像を良品推定器に入力することで、擬似良品画像を推定し、学習用良品画像と擬似良品画像との推定誤差を算出し、推定誤差が小さくなるように良品推定パラメータを更新する。この処理を予め決められた良品推定パラメータ学習回数N1だけ繰り返すことで学習を行う。
【0061】
なお、繰り返し回数がN1に満たない場合でも、推定誤差が小さい場合や、検査員等のユーザから学習終了の操作を受け付けた場合には、学習を終了しても良い。
【0062】
良品推定パラメータの更新においては、ニューラルネットワークの学習において一般的な誤差逆伝搬を用いれば良い。また、推定誤差を算出する際に、学習用良品画像の全てを用いても良いが、ミニバッチ方式を取っても良い。すなわち、学習用良品画像の中から数枚の画像をランダムに抜き出し、良品推定パラメータを更新することを繰り返し実行しても良い。
【0063】
さらには、学習用良品画像からパッチ画像をランダムに切り出し、ニューラルネットワークの入力画像Yとしても良い。これにより、学習を効率的に行える。
【0064】
なお、以上示した畳み込みニューラルネットワークの構成として他の構成を用いても良い。例えば、層の数を変更しても良く、4層以上のネットワークなどを用いても良いし、スキップコネクションを持つ構成にしても良い。
【0065】
4.良否判別
本実施例における良否判別部を用いて、検査画像が良品候補か不良候補かを判別する方法を
図4に示す。まず、良品推定パラメータ学習部で学習した良品推定パラメータ306を用いて、検査画像301から擬似良品画像308を推定する(307)。
図4では、例として、3枚の検査画像302、303、304と、不良305を図示している。また、検査画像302、303、304それぞれから推定した擬似良品画像309、310、311を
図4に図示している。
【0066】
次に、検査画像301と擬似良品画像308との差分画像313を算出する(312)。
図4では、検査画像302、303、304それぞれに対応する差分画像314、315、316を図示している。次に、差分画像313を入力として、差分画像の画素値が予め決められた良否判別しきい値THよりも小さい箇所を良品候補、差分画像の画素値がTHよりも大きい箇所を不良候補とし、良否判別結果318を出力する(317)。
図4では、検査画像302、303、304それぞれに対応する良否判別結果319、320、321と、不良候補322を図示している。
【0067】
5.過検出判別
5.1 一般的な課題
【0068】
前述の通り、本実施例では、過検出判別パラメータ学習部において、学習用良品画像を、良否判別部に入力して、良品候補と不良候補に分け、良品候補を非過検出、不良候補を過検出と判別するように、過検出判別パラメータを学習する。
【0069】
一般的な課題は、良品の中にも明るさや形状のバリエーションがあるため、代表的な良品とは外観が大きく異なる良品部位を不良として判別(過検出)されることが多いことにある。良品画像のみを用いた学習による一般的な外観検査方法を
図5に示す。
【0070】
学習フェーズ401ではまず、学習用良品画像402を用いて、良品推定パラメータ408を学習する(407)。
図5では、例として、3枚の学習用良品画像403、404、405と、過検出部406を図示している。
【0071】
検査フェーズ410では、
図4で説明したように、良品推定パラメータ408を用いて、検査画像411に対して良否判別を行い、良否判別結果418を得る(417)。
図5では、例として、3枚の検査画像412、413、414と、不良415と、過検出部416を図示している。また、
図5では、検査画像412、413、414それぞれに対応する良否判別結果419、420、421と、不良箇所422を図示している。
図5に示す通り、過検出部416が過検出される。これは、過検出部を有する学習用良品画像が少数の場合に、過検出部の特徴を十分に学習できないために起きる。
【0072】
図5で説明した方法で不良として判別されるのは、良品中の過検出部、もしくは、不良品中の異常部である。そのため、
図5で説明した方法で不良として判別された箇所が、過検出か非過検出かを判別できれば、非過検出と判別された箇所を不良とすることで、不良部位のみを検出でき、過検出の低減が可能となる。
【0073】
本実施例では、学習フェーズで、学習用良品画像を良否判別部に入力して良品候補と不良候補に分け、良品候補を非過検出、不良候補を過検出と判別するように、過検出判別パラメータを学習する。検査フェーズでは、検査画像を良否判別部に入力し、良品候補か不良候補かを判別し、不良候補と判別された検査画像を過検出判別部に入力し、過検出か非過検出かを判別し、非過検出と判別された検査画像を不良画像として出力する。本実施例の学習フェーズにおける、過検出判別パラメータの学習方法にはいくつかの例が挙げられる。以下、代表的な例について具体的に説明する。
【0074】
5.2 過検出判別パラメータの学習の方法1
本実施例における、過検出判別パラメータの学習方法の一例を
図6を用いて説明する。
【0075】
図6に示す例では、まず、初期良品推定パラメータ506を用いて学習用良品画像501に対して良否判別を行い、良否判別結果508を得る(507)。
図6では、例として、3枚の学習用良品画像502、503、504と、過検出部505を図示している。また、
図6では、学習用良品画像502、503、504それぞれに対応する良否判別結果509、510、511と、不良候補512を図示している。
【0076】
次に、学習用良品画像501のうち、良否判別で不良候補と判別された箇所がある画像を不良候補画像514とする(513)。次に、学習用良品画像501のうち、良否判別で不良候補と判別された箇所がない画像(画像の全領域が良品候補と判別された画像)を良品候補画像516とする(515)。次に、不良候補画像514を過検出、良品候補画像516を非過検出と判別するように、過検出判別パラメータ518を学習する(517)。
【0077】
過検出判別パラメータの学習においては、不良候補画像および良品候補画像を過検出判別器に入力することで、過検出か非過検出かを判別し、判別結果に基づいて、判別誤差を算出し、判別誤差が小さくなるように過検出判別パラメータを更新する。この処理を予め決められた過検出判別パラメータ学習回数N2だけ繰り返すことで学習を行う。
【0078】
判別誤差は式(4)により算出される。式(4)中のt_iは画像i(i=1、2、…、N、N:学習用良品画像数)の正解ラベル、y_iは画像iの判別結果を表すラベルであり、例えば、過検出のラベルを1、非過検出のラベルを0とすれば良い。なお、繰り返し回数がN2に満たない場合でも、判別誤差が小さい場合や、検査員等のユーザから学習終了の操作を受け付けた場合には、学習を終了しても良い。
L={Σ(t_i-y_i)^2}/N …(4)
【0079】
5.3 過検出判別パラメータの学習の方法2
本実施例における、5.2で説明した例と異なる過検出判別パラメータの学習方法の例を
図7を用いて説明する。
【0080】
図7に示す例では、まず、5.2で説明した方法と同様に、初期良品推定パラメータ602を用いて、学習用良品画像601に対して良否判別を行い、良否判別結果604を得る(603)。
【0081】
次に、不良候補画像切り出し部を用いて、良否判別で不良候補と判別された箇所を不良候補画像606として切り出し(605)、第1画像取得部を用いて、後述する
図10のように、不良候補画像606をGUIに表示し、検査員が不良候補画像606から第1画像608を選択し(607)、第2画像取得部を用いて、学習用良品画像601から、第1画像608以外の箇所を第2画像610として切り出し(609)、第1画像608を過検出、第2画像610を非過検出と判別するように、過検出判別パラメータ612を学習する(611)。
【0082】
よって、
図7に示す例では、良否判別部で不良候補と判別された箇所を切り出すことで、過検出部の特徴をより学習することができ、過検出判別の精度の向上が期待できる。
【0083】
5.4 過検出判別パラメータの学習の方法3
本実施例における、5.2~5.3で説明した例と異なる過検出判別パラメータの学習方法の例を
図8を用いて説明する。
【0084】
図8に示す例では、まず、5.2で説明した方法と同様に、初期良品推定パラメータ702を用いて、学習用良品画像701に対して良否判別を行い、良否判別結果704を得る(703)。
【0085】
次に、学習用良品画像701のうち、良否判別で不良候補と判別された箇所がある画像を不良候補画像706とし(705)、第1画像取得部を用いて、不良候補画像706をGUIに表示し、検査員が不良候補画像706から第1画像708を選択し(707)、第2画像取得部を用いて、学習用良品画像701から、第1画像708以外の画像を第2画像710とし(709)、第1画像708を過検出、第2画像710を非過検出と判別するように、過検出判別パラメータ612を学習する(711)。
【0086】
よって、
図8に示す例では、良否判別部で不良候補と判別された不良候補画像を取得し、この不良候補画像から第1画像を選択することで、過検出部の特徴をより学習することができ、過検出判別の精度の向上が期待できる。
【0087】
5.5 過検出判別パラメータの学習の方法4
本実施例における、5.2~5.4で説明した例と異なる過検出判別パラメータの学習方法の例を
図9を用いて説明する。
【0088】
図9に示す例では、まず、5.2で説明した方法と同様に、初期良品推定パラメータ802を用いて、学習用良品画像801に対して良否判別を行い、良否判別結果804を得る(803)。
【0089】
次に、第1画像取得部を用いて、学習用良品画像801から、良否判別で不良候補と判別された箇所を第1画像806として切り出し(805)、第2画像取得部を用いて、学習用良品画像801から、第1画像806以外の箇所(良否判別で良品候補と判別された箇所)を第2画像808として切り出し(807)、第1画像806を過検出、第2画像808を非過検出と判別するように、過検出判別パラメータ810を学習する(809)。
【0090】
よって、
図9に示す例では、良否判別部で不良候補と判別された箇所を第1画像として切り出すことで、過検出部の特徴をより学習することができ、過検出判別の精度の向上が期待できる。
【0091】
5.6 過検出判別パラメータの学習の方法5
本実施例における、5.2~5.5で説明した例と異なる過検出判別パラメータの学習方法の例を
図10を用いて説明する。
【0092】
図10に示す例では、まず、5.2で説明した方法と同様に、初期良品推定パラメータ902を用いて、学習用良品画像901に対して良否判別を行い、良否判別結果904を得る(903)。
【0093】
次に、学習用良品画像901の良否判別で不良候補と判別された箇所について、学習用良品画像901と、良否判別時に算出する差分画像とを切り出し、切り出した2枚の画像の対を第1画像対906とする(905)。
図10では、例として、学習用良品画像から不良候補部位を切り出した3枚の画像907、908、909を図示している。また、
図10では、画像907、908、909それぞれに対応する差分画像910、911、912と、第1画像対913、914、915を図示している。
【0094】
次に、学習用良品画像901の第1画像906以外の箇所(良否判別で良品候補と判別された箇所)について、学習用良品画像901と、良否判別時に算出する差分画像とを切り出し、切り出した2枚の画像の対を第2画像対917とする(916)。
図10では、例として、学習用良品画像から良品候補部位を切り出した3枚の画像918、919、920を図示している。また、
図10では、画像918、919、920それぞれに対応する差分画像921、922、923と、第2画像対924、925、926を図示している。
【0095】
次に、第1画像対906を過検出、第2画像対917を非過検出と判別するように、過検出判別パラメータ928を学習する(927)。
【0096】
よって、
図10に示す例では、良否判別で良品候補及び不良候補と判別された箇所のそれぞれについて、良否判別部が学習用良品画像と良否判別時に算出する差分画像とを切り出すことで、検査画像が良品候補か不良候補であるかを判別しているので、検査画像が良品候補か不良候補かを確実に判別することができる。
【0097】
加えて、
図10に示す例では、この差分画像と学習用良品画像とを用いて過検出判別パラメータの学習を行っているので、過検出部の特徴をより学習することができ、過検出判別の精度の向上が期待できる。
【0098】
5.7 過検出判別の効果
本実施例における外観検査装置では、学習フェーズにおいて、5.2~5.7で説明した方法により過検出判別パラメータを学習しておく。検査フェーズにおいて、良否判別により不良候補として判別されるのは、良品中の過検出部、もしくは、不良部位である。
【0099】
そのため、学習フェーズで学習した過検出判別パラメータを用いて、良否判別により不良候補として判別された箇所について、過検出か非過検出かを判別し、非過検出と判別された箇所を不良とすることで、不良部位のみを検出でき、過検出の低減が可能となる。
【0100】
よって、本実施例によれば、検査対象物が良品か不良品かを高精度に検査することが可能な外観検査装置及び外観検査方法を実現することができる。
【0101】
6.追加学習
本実施例における良品推定パラメータ学習部を用いて、良品推定パラメータを追加学習する方法を
図11を用いて説明する。
【0102】
まず、初期良品推定パラメータ1002を用いて、学習用良品画像1001に対して良否判別を行い、不良候補と判別された箇所がない画像(全領域が良品候補と判別された画像)を良品候補画像1004として取得し、不良候補と判別された箇所がある画像を不良候補画像1005として取得する(1003)。
【0103】
次に、過検出判別パラメータ学習部で学習した過検出判別パラメータ1006を用いて、良品候補画像を過検出判別部に入力し、過検出と判別された画像を過検出画像1008として取得する(1007)。
【0104】
次に、過検出判別パラメータ学習部で学習した過検出判別パラメータ1006を用いて、不良候補画像を過検出判別部に入力し、非過検出と判別された画像を非過検出画像1010として取得する(1009)。
【0105】
次に、初期良品推定パラメータを良品推定パラメータの初期値として、過検出画像1008と非過検出画像1010を用いて、追加学習を行うことで、最終良品推定パラメータ1012を得る(1011)。
【0106】
よって、
図11に示す例では、過検出画像と非過検出画像を用いて追加学習を行うことで、過検出部の特徴をより学習することができ、過検出判別の精度の向上が期待できる。
外観検査装置10のプロセッサ11は、機能実現部として画像取得部20、良品推定パラメータ学習部21、過検出判別パラメータ学習部22、及び正常判別パラメータ学習部25を有する。
次に、正常判別パラメータ学習部において、学習用良品画像1106を良否判別部に入力して、良品推定パラメータ1107を用いて、良品候補と不良候補に分け、良品候補を正常、不良候補を正常ではない(非正常)と判別するように、正常判別部で用いる正常判別パラメータ1111を学習する(1110)。
正常判別パラメータは、画像取得部で撮像した画像のうち、良否判別処理で良品候補と判別された画像を入力として、正常か非正常かを判別する機械学習に基づく正常判別器の内部パラメータである。正常判別器としては、過検出判別器同様、既存の様々な機械学習のエンジンを用いることができるが、例えばConvolutional Neural Network(CNN)に代表される深層ニューラルネットワークや、Support Vector Machine(SVM)/Support Vector Regress(SVR)、k-nearest neighbor(k-NN)等が挙げられる。これらのエンジンは分類問題を扱うことができる。
次に、検査画像のうち、1115で良品候補と判別された検査画像1118を正常判別部に入力し、正常か非正常かを判別し、非正常と判別されたものを不良画像1120として出力する(1119)。不良画像1120は検査員が確認し(1121)、不良等があれば対策を製造プロセスにフィードバックする。
一般的な課題は、不良品の中にも明るさや形状のバリエーションがあるため、良品と外観が類似する不良部位が良品として判別(不良見逃し)されることが多い。良否判別処理で良品候補として判別されるのは、良品中の正常部、もしくは、不良品中の見逃し部である。そのため、良否判別処理で良品候補として判別された箇所が、正常か非正常かを判別できれば、非正常と判別された箇所を不良とすることで、従来見逃していた不良部位を検出できる。
本GUI1201には、外観検査装置の学習フェーズで使用するパラメータを指定する入力部1206が表示される。入力部1206は、良品推定パラメータの学習回数N1を指定する入力部1207と、良否判別しきい値THを指定する入力部1208と、過検出判別パラメータの学習回数N2を指定する入力部1209から構成される。
本GUI1201には、過検出判別パラメータの学習を行う際に、検査員等のユーザが不良候補画像から第1画像を選択するための選択部1210が表示される。選択部1210は、不良候補画像を表示する不良候補画像表示部1211と、追加ボタン1218と、戻すボタン1219と、第1画像を表示する第1画像表示部1220から構成される。
一例として、本実施形態では入力情報として二次元の画像データを扱ったが、超音波の受信波等の一次元信号や、レーザレンジファインダ等で取得した三次元のボリュームデータを入力情報とした場合も本発明を適用することが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)、Python等の広範囲のプログラムまたはスクリプト言語で実装できる。
さらに、各実施例の機能を実現するソフトウェアのプログラムコードのすべてまたは一部は、予めメモリ12に格納されていてもよいし、必要に応じて、ネットワークに接続された他の装置の非一時的記憶装置から、または外観検査装置10が備える図略の外部I/Fを介して、非一時的な記憶媒体から、メモリ12に格納されてもよい。
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段またはCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。