本発明の理解を容易にするために、本発明の一実施形態の概要をまず説明する。本発明の一実施形態によれば、被検査体画像の画素を精度よくクラスタリングする方法が提供される。被検査体を撮像した画像の画素そのものではなく、複数種類の情報を新たに付加した多次元の画素をクラスタリングする。複数の代表画素を設定し、各画素がいずれの代表画素に似た性質を有しているかによって画素を分類する。その結果例えば、所望の検査項目に関して被検査体画像の画素を合格画素群と不合格画素群とに精度よく分類して、良好な検査精度を実現することができるようになる。
もう少し詳しく述べる。本発明の一実施形態においては、まず、被検査体画像の1画素に複数の属性を対応づけて多次元の画素値をもつ画素を生成する。複数の属性の一例は、同一の被検査体を異なる複数の撮像条件で撮像して得られた複数の被検査体画像それぞれの対応画素の画素値である。画素値のように定量的な情報だけではなく、定性的な属性を画素に対応づけてもよい。複数の属性は、異種の属性を組み合わせることが好ましい。この多次元の画素値を有する画素を、以下では便宜上、「一般化された画素」または「一般化画素」と呼ぶ。ある1つの属性が複数の検査項目に影響したり、あるいは逆に複数の属性が1つの検査項目に影響する場合もある。1つの画素に複数の属性を対応づけることにより、従来のように複数の画像を個別的に処理するのに比べて、統一的で効率的な処理が可能となる。
一般化画素は、複数属性を次元とする状態空間にマッピングされる。本願発明者は、被検査体画像についてこのマッピングを行うと、一般化画素が一様に状態空間に分布するのではなく大きく偏在する傾向があるということを見出した。その主な理由の1つは、被検査体の表面上の各点は性質によっていくつかに分類され、各点を撮像して得られた画素も同様に分類されるからである。例えば被検査体が電子基板である場合には、例えば基板表面であるか部品表面であるかにより分類されるし、表面の色、あるいは汚れやキズの有無によっても分類され得る。
マッピング結果は、より低次元の空間に投影される。例えば、マッピング空間内のある直線に一般化画素を投影する。そうすると、その直線上に一般化画素の偏在状態が反映される。つまりマッピング空間での画素の密度分布が直線上に転写される。直線上の投影位置に応じて各画素に例えば輝度を割り当てることにより、被検査体の特定の性質が強調された新たな検査画像を作成することができる。
この投影直線は例えば、所望の検査項目について合格が確認済みの画素と不合格が確認済みの画素とを結ぶ直線とする。共通特性をもつ画素のマッピング空間での偏在により、確認済みの合格画素の近傍に他の合格画素も群集し、確認済みの不合格画素の近傍に他の不合格画素も群集する。よって、投影直線上で確認済みの合格画素と不合格画素との間に判定基準を設定することにより、合格画素群と不合格画素群とを良好な精度で判別することができる。
図1は、本発明の一実施形態を概念的に説明するための図である。一実施形態に係る検査装置は画像処理部を備えており、図1に示される検査画像生成処理は主として画像処理部が実行する。
まず、被検査体1000が準備される。被検査体1000は例えば、電子部品が実装された電子基板である。被検査体1000は撮像部により撮像される。図1では矢印1002で撮像処理を示している。撮像部により被検査体画像1004が撮像される。
被検査体画像1004は1枚でも複数枚でもよいが、図1では5枚の画像A乃至画像Eが撮像される。複数の被検査体画像1004は異なる照明条件で撮像される。例えば、第1画像は緑色LEDを照明光源として基板表面に垂直に入射する照明光のもとで撮像された単色画像である。第2画像は白色LEDを照明光源として基板表面に斜めに入射する照明光のもとで撮像されたカラー画像であり、RGBの3つの色成分からなる。第3画像は青色LEDを照明光源として基板表面に斜めに入射する照明光のもとで撮像された単色画像である。図1においては、画像Aが第1画像に相当し、画像B乃至Dが第2画像の各色成分に相当し、画像Eが第3画像に相当する。
複数の被検査体画像1004の各々は、被検査体1000の表面上の同一位置に対応する画素1006を有している。画像処理部は、各被検査体画像1004の対応画素1006を特定し、各対応画素1006の画素値を1組に統合する。この統合処理を図1では矢印1008で示している。統合処理により、上述の一般化画素1012が生成される。一般化画素1012の集合を以下では一般化画像1010と呼ぶ。個々の被検査体画像1004の対応画素1006を1つの要素に対応づけることにより、多次元の画素値を有する一般化画素1012が生成される。図1では画像A乃至画像Eから5次元の一般化画素1012が生成される。一般化画素1012は例えば、画像A乃至画像Eの対応画素1006の輝度を成分とする5次元のベクトルとして表記することができる。撮像したすべての被検査体画像1004を一般化画像1010に必ずしも統合しなくてもよく、統合する被検査体画像1004の組合せを検査項目に応じて異ならせてもよい。
なお、一般化画素1012に対応づける属性は対応画素1006の画素値には限られず、図2に示すように、1つの被検査体画像1004上のある画素とその画素の近傍の画素とから演算される画素間情報を一般化画素1012に対応づけてもよい。画素間情報は例えばエッジ検出に有効である。画素間情報を用いて一般化画素を生成する場合には、被検査体画像1004は複数枚でなくてもよく、1枚であってもよい。
画素間情報は例えば上下左右の隣接画素それぞれとの画素値の差であってもよいし、上下左右の隣接画素とその中心画素との画素値の平均であってもよい。例えば図2に示されるように中心画素1030、上画素1032、右画素1034、下画素1036、左画素1038の画素値がそれぞれ80、70、20、70、20である場合には、画素間情報として周囲4画素との平均値、上画素との輝度差、右画素との輝度差、下画素との輝度差、左画素との輝度差をそれぞれ52、10、60、10、60と求めることができる。なお斜めに隣接する画素や、直接隣接していない近傍の画素を用いて画素間情報を演算することも可能である。
図2に示される場合においては、1枚の被検査体画像1004から最大で6次元の一般化画像を生成することができる。中心画素輝度、上下左右画素との平均輝度、上下左右画素それぞれとの輝度差で合計6次元である。図1に示される5枚の被検査体画像A乃至Eそれぞれについて図2のように6次元の画素間情報を演算した場合には、最大30次元の一般化画像1010が生成される。
図1に戻る。統合処理1008に続いて、画像処理部は、一般化画素1012が有する複数の次元からなる状態空間1016に各一般化画素1012をマッピングする。つまり、一般化画素1012が有する複数の画素値を状態空間1016における座標として状態空間1016上に位置づける。このマッピング処理を図1では矢印1014で示している。図1では状態空間1016は、画像A乃至画像Eに対応する次元A乃至次元Eからなる5次元空間である。図1では5次元の状態空間1016を概念的に図示している。本明細書では文脈によって状態空間1016を例えば、「マッピング空間」と呼ぶこともあるし、「高次元空間」と呼ぶこともある。
一般化画像1010を高次元空間1016にマッピングすると、たいていは、一般化画素1012は偏在した分布を示す。高次元空間1016における一般化画素1012の密度分布には疎密が生じる。一般化画素1012は複数のクラスタに群集する傾向を有する。図1では、第1クラスタ1018及び第2クラスタ1020を例として示す。第1クラスタ1018及び第2クラスタ1020は第1画素群及び第2画素群と呼ぶこともある。図1では第1クラスタ1018及び第2クラスタ1020に含まれる一般化画素1012をそれぞれ白丸及び黒丸で示している。
このように偏在するのは上述のように、各一般化画素1012が被検査体1000表面のある位置に対応し、その位置の表面特性を示す情報を有しているからである。よって、被検査体1000表面で類似の性質を有する複数の位置に対応する複数の一般化画素1012は、マッピング空間1016上で互いに近接することになる。例えば基板表面(典型的には緑色表面)に対応する一般化画素1012は空間1016で1つのクラスタをなすことになるし、部品表面の特定色部分(例えば青色部分)や基板上の文字部分(例えば白色)もそれぞれクラスタをなす。基板表面のキズにより下層が露出されている部位に対応する一般化画素1012、あるいは汚れや指紋の付着箇所等もそれぞれクラスタをなすと考えられる。
画像処理部は、マッピングされた一般化画素1012を基準点1021との位置関係により単純化して表現する。図1ではこの変換処理を矢印1022で示している。変換処理1022は、高次元空間1016でのクラスタ分布を保ちつつ、より低次元の空間に各画素をマッピングし直す処理である。この低次元空間の次元は高次元空間1016の次元と重複していてもよいし、完全に異なっていてもよい。
例えば図1に示されるように、画像処理部は、基準点1021との距離によって各一般化画素1012を1次元の画素値で表現する。基準点1021はマッピング空間1016の原点であってもよいし、任意の点であってもよい。基準点1021は一般化画素1012から選択された代表画素であってもよいし、一般化画素に基づいて生成された代表画素であってもよい。
その結果、一般化画素1012(図1では第1クラスタ1018及び第2クラスタ1020)は、高次元空間1016でのクラスタ分布が反映された状態で直線1024上にマッピングされる。画像処理部は、直線1024上での基準点1021と各画素の距離から各画素の輝度を演算する。例えば基準点1021を最大輝度に設定し、基準点1021から離れるほど小さい輝度値を各画素に割り当てる。逆に、基準点1021を最小輝度に設定し、基準点1021から離れるほど大きい輝度値を各画素に割り当ててもよい。
画像処理部は、このようにして輝度が割り当てられた画素から新たな検査画像1028を作成する。図1ではこの作成処理を矢印1026で示している。画像処理部は、元の被検査体画像1004における画素の配列に沿って直線1024上の各画素を並べ直して検査画像1028を作成する。この検査画像1028は、個々の被検査体画像1004のもつ情報を統合した上で、各画素の性質に応じたクラスタ分布が反映された画像となっている。例えば図3に示されるように、基板に実装された電子部品は全体的に明るく表示され、基板表面は暗く表示された画像を得ることができる。また基板表面上の汚れやキズを明るく際立たせることもできる。
したがって、画像処理部における処理を所望の検査項目に応じて予め最適化することにより、その検査での判別対象が強調された検査画像を作成することができる。例えば、マッピング空間の次元となる複数の属性を所望の検査項目について予め適切に設定しておくことにより、作業者がその都度調整作業をしなくても精度のよい検査結果を得ることができるようになる。従前のように個別的な複数の被検査体画像に多様なチューニングを属人的に施して良好な検査結果を得るのではなく、精密な検査に寄与する検査画像を経験の浅い作業者でも容易に得ることができる。
本発明の一実施形態においては、被検査体の検査装置は、被検査体を照明する照明光源と、照明された被検査体からの光を受けるセンサと、センサ出力に基づく被検査体の検査を制御するメイン制御ユニットと、を備えてもよい。被検査体の検査装置は、被検査体からの光をセンサへと導く光学系と、センサと被検査体とを相対的に移動させる移動機構と、を備えてもよい。センサは撮像部であってもよい。
メイン制御ユニットは、撮像部により撮像された被検査体画像から検査画像を作成する画像処理部と、画像処理部で作成された検査画像に基づいて被検査体を検査する検査部と、を含んでもよい。画像処理部は、被検査体画像の各画素に複数の属性を対応づけて一般化画素を生成する画像統合部と、一般化画素に基づいて代表画素を設定する代表画素設定部と、複数の属性を次元とする空間における一般化画素と代表画素との距離に応じて決定された輝度を有する画素からなる新たな検査画像を作成する輝度演算部と、を備えてもよい。画像処理部は、複数の属性を次元とする空間に一般化画素をマッピングするマッピング処理部を備えてもよい。複数の属性は、第1の被検査体画像に由来する属性と、第1の被検査体画像とは異なる第2の被検査体画像に由来する属性と、を含んでもよい。複数の属性は例えば、第1の照明条件で撮像された第1の被検査体画像の第1色成分の輝度と、第1の撮像条件とは異なる第2の照明条件で撮像された第2の被検査体画像の第2色成分の輝度と、を含んでもよい。第1色成分と第2色成分とは同じであってもよいし、異なってもよい。
代表画素設定部は、一般化画素から代表画素を選択してもよいし、一般化画素に基づいて一般化画素とは異なる値を有する代表画素を演算してもよい。代表画素は例えば、所望の検査項目に合格であることが保証されている画素であってもよいし、逆に、所望の検査項目に不合格であることが保証されている画素であってもよい。代表画素は、事前の検査により予め学習されていてもよい。
一実施形態においては、代表画素設定部は、少なくとも第1代表画素及び第2代表画素を設定してもよい。輝度演算部は、第1代表画素の輝度を最大値にかつ第2代表画素の輝度を最小値に設定してもよい。輝度演算部は、一般化画素が第1代表画素に近いほど該最大値に近い輝度を与え、一般化画素が第2代表画素に近いほど該最小値に近い輝度を与えてもよい。この場合例えば、第1代表画素からの距離が第1しきい値よりも小さい一般化画素については第1代表画素からの距離に基づいて輝度を設定し、第2代表画素からの距離が第2しきい値よりも小さい一般化画素については第2代表画素からの距離に基づいて輝度を設定してもよい。第1しきい値及び第2しきい値は例えばマッピング空間における画素の偏在を考慮して定めることができる。輝度演算部は、第1代表画素と共通の特性を有する一般化画素については第1代表画素に近いほど該最大値に近い輝度を与え、第2代表画素と共通の特性を有する一般化画素については第2代表画素に近いほど該最小値に近い輝度を与えてもよい。
また、輝度演算部は、一般化画素と第1代表画素との距離と、当該一般化画素と第2代表画素との距離との比に応じて輝度を決定してもよい。このように、第1代表画素及び第2代表画素それぞれと一般化画素との距離の比を用いることにより、演算された複数画素間の輝度差を比較的大きくすることができる。具体的には例えば、第1代表画素と一般化画素の距離と第2代表画素と一般化画素の距離との合計に対する第1代表画素(または第2代表画素)と一般化画素の距離の割合に応じて輝度を決定してもよい。このようにすれば、特に第1代表画素と第2代表画素とがマッピング空間において近接している場合に、新たに作成される検査画像のコントラストを大きくすることができるという点で好ましい。検査画像のコントラストが大きければ検査をしやすくすることができる。また、第1代表画素及び第2代表画素それぞれとの距離が同程度である画素の輝度を第1及び第2代表画素からの距離にかかわらず同程度に調整することもできる。
輝度演算部は、上述のように距離比を輝度に変換することに代えて、例えば一般化画素と第1代表画素との距離と、当該一般化画素と第2代表画素との距離との差に応じて輝度を決定してもよい。このように、輝度演算部は、一般化画素と第1代表画素との距離と、当該一般化画素と第2代表画素との距離との違いを表す指標に応じて輝度を決定してもよい。なお逆に、第1代表画素及び第2代表画素それぞれとの距離が同程度である画素の輝度を第1及び第2代表画素からの距離に応じて異ならせるように調整してもよい。
すなわち、輝度演算部は、第1代表画素を「白」とし、第2代表画素を「黒」として、第1代表画素及び第2代表画素と各画素との位置関係に基づいて各画素にグレイレベルの画素値を与えてもよい。輝度演算部は例えば、輝度を求めるべき画素と第1代表画素との距離と当該画素と第2代表画素との距離との比を求め、最大輝度と最小輝度との中間におけるこの距離比に応じた輝度値を当該画素に割り当ててもよい。
輝度演算部は、第1代表画素に近い一般化画素については第1代表画素との距離に応じて第1色成分の輝度を決定してもよいし、第2代表画素に近い一般化画素については第2代表画素との距離に応じて第1色成分とは異なる第2色成分の輝度を決定してもよい。輝度演算部は、第1代表画素と共通の特性を有する一般化画素については第1代表画素との距離に応じて第1色成分の輝度を決定してもよい。輝度演算部は、第2代表画素と共通の特性を有する画素については第2代表画素との距離に応じて、第1色成分とは異なる第2色成分の輝度を決定してもよい。このようにして新たなカラー検査画像を生成してもよい。
一実施形態においては、代表画素設定部は、少なくとも第1代表画素及び第2代表画素を設定し、第1代表画素及び第2代表画素の少なくとも一方については共通の特性を有する代表画素を複数設定してもよい。また、代表画素設定部は、共通の特性を有する複数の第1代表画素と、第1代表画素とは異なる共通の特性を有する複数の第2代表画素とを設定してもよい。代表画素設定部は、被検査体の設計情報に基づいて共通の特性を有する代表画素を複数設定してもよい。輝度演算部は、第1代表画素の輝度を最大値にかつ第2代表画素の輝度を最小値に設定してもよい。輝度演算部は、一般化画素と当該一般化画素に最も近接する第1代表画素及び第2代表画素それぞれとの距離に基づいて当該一般化画素の輝度を決定してもよい。すなわち、輝度演算部は、最近接第1代表画素を「白」とし、最近接第2代表画素を「黒」として、最近接第1代表画素及び最近接第2代表画素と各画素との位置関係に基づいて各画素にグレイレベルの画素値を与えてもよい。輝度演算部は例えば、輝度を求めるべき画素と最近接第1代表画素との距離と当該画素と最近接第2代表画素との距離との比を求め、最大輝度と最小輝度との中間におけるこの距離比に応じた輝度値を当該画素に割り当ててもよい。
一実施形態においては、代表画素設定部は、複数の代表画素を設定してもよい。輝度演算部は、一般化画素と最も近接する代表画素との距離に応じて輝度を決定してもよい。上述のように、被検査体画像の一般化画素はマッピング空間において偏在している。よって、マッピング処理部は、最も近接する代表画素を特定することにより一般化画素をクラスタリングしてもよい。その上で、輝度演算部が最近接代表画素との距離に応じて輝度を決定することにより、代表画素を複数設けた場合の演算処理を単純化することができる。
また、輝度演算部は、複数の代表画素が設定されている場合に、一般化画素との距離を計算する代表画素を被検査体の設計情報に基づいて選択してもよい。この場合、輝度演算部は、被検査体の設計情報に基づいて、それぞれの一般化画素に相対的に類似する代表画素を選択してもよい。被検査体の設計情報として例えば基板表面及び実装部品の色情報を用いてもよく、または、被検査体を撮像したカラー画像から得られる基板表面及び実装部品の色情報を用いてもよい。輝度演算部は例えば、所定の色空間における一般化画素の位置と、代表画素に対応する被検査体上の基準位置の当該色空間での位置との偏差が最小である代表画素を選択してもよい。または、その偏差が所定のしきい値以内である代表画素のうちいずれかを選択してもよい。このようにすれば、同様の性質(例えば同じ色味)を有する画素は共通の代表画素を基準として輝度が演算される。設計情報を加味することで、より精度を高めることができる。
第1代表画素は所望の検査項目に合格であることが保証されている画素であり、第2代表画素は所望の検査項目に不合格であることが保証されている画素であってもよい。逆に第1代表画素が不合格画素であり第2代表画素が合格画素であってもよい。第1代表画素についての共通の特性は例えば、基板上に実装されている部品に相当する画像領域の画素であることであってもよい。第2代表画素についての共通の特性は例えば、基板表面に相当する画像領域の画素であることであってもよい。逆に第1代表画素が基板表面に相当する画素であり、第2代表画素が部品に相当する画素であってもよい。輝度演算部は、共通の特性を有する画素を被検査体の設計情報(例えば実装部品の位置情報、基板表面及び実装部品の色情報など)に基づいて特定してもよいし、被検査体を撮像した画像に基づいて特定してもよい。
代表画素設定部は、検査項目に応じて代表画素を変更してもよい。例えば第1の検査項目においては代表画素の第1セットを用い、第2の検査項目においては代表画素の第2セットを用いてもよい。あるいは1つの検査項目について異なる複数セットの代表画素を併用してもよい。代表画素の1つのセットに含まれる代表画素は1つであってもよいし複数であってもよい。この場合、輝度演算部は、代表画素の第1セットを用いて得られた輝度を第1色成分に割り当て、代表画素の第2セットを用いて得られた輝度を第2色成分に割り当てて、新たなカラー検査画像を作成してもよい。例えば、第1セットは基板表面上に設定した合格画素と、部品上に設定した不合格画素とを含み、第2セットは部品上の背景部分に設定した合格画素と、部品上の文字部分に設定した不合格画素とを含んでもよい。第1セットに基づいて得られた輝度を赤成分に割り当て、第2セットに基づいて得られた輝度を緑成分に割り当てて、新たなカラー検査画像を作成してもよい。
一実施形態においては、撮像部は、第1撮像条件で被検査体を撮像して第1画像を取得し、第1撮像条件とは異なる第2撮像条件で被検査体を撮像して第2画像を取得してもよい。画像統合部は、第1画像の各画素に第2画像の対応画素の画素値を対応づけて一般化画素を生成してもよい。さらに、撮像部は第3撮像条件で被検査体を撮像して第3画像を取得し、画像統合部は第1画像の各画素に第3画像の対応画素の画素値を対応づけてもよい。
撮像条件には例えば、撮像部におけるパラメータと、照明条件とが含まれる。照明条件には例えば、照明源から被検査体に入射する照明光の照度や色、照明光の照射角度、被検査体上での照射範囲などがある。照明光の照射角度には例えば、被検査体の基板表面に垂直に入射する場合と、斜めに入射する場合とがある。被検査体上での照射範囲の設定には例えば、被検査体全体に照射する場合と、部分的に照射する場合とがある。部分的に照射する場合には例えば、被検査体基板の端部への照射を避けて中心部に照射する場合がある。また、撮像部に対し被検査体を相対移動する場合には、移動方向に直交する方向に一次元的に延びる照明形状としてもよい。この場合、照明の長手方向と被検査体の相対移動方向との交差角度を垂直以外の角度に設定してもよい。異なる複数の交差角度の照明で撮像することにより、照明の当たらない死角となる領域を減らすことができる。
一実施形態においては、画像統合部は、被検査体画像の画素の画素値と当該画素の周囲の画素の画素値とに基づいて演算される画素間情報を当該画素に対応づけてもよい。画素間情報は例えば、隣接画素との輝度差であってもよいし、周囲の画素との平均輝度であってもよい。
一実施形態においては、代表画素設定部は、代表画素の学習処理を行う。この場合、代表画素設定部は、指定範囲から複数の代表画素候補を選択し、該複数の代表画素候補に基づいて代表画素を生成してもよい。代表画素設定部は、指定範囲に含まれる画素を代表画素候補に選択し、代表画素候補を結合することにより代表画素を生成してもよい。指定範囲は被検査体の画像上に設定されてもよいし、マッピング空間上に設定されてもよい。代表画素候補の結合は、代表画素候補の平均または重み付け平均であってもよい。
代表画素設定部は、1つの指定範囲から任意の数の代表画素を生成してもよい。また、複数の指定範囲から1つの代表画素を生成してもよい。すなわち、代表画素設定部は、第1の指定範囲から生成された代表画素と、第1の指定範囲とは異なる第2の指定範囲から生成された代表画素とを結合して新たな代表画素を生成してもよい。代表画素設定部は、第1の指定範囲と第2の指定範囲とが共通の性質を有する場合には第1及び第2の指定範囲の代表画素の結合を許可し、第1の指定範囲と第2の指定範囲とが共通の性質を有しない場合には第1及び第2の指定範囲の代表画素の結合を禁止してもよい。第1の指定範囲から生成される代表画素の数を第2の指定範囲から生成される代表画素の数とは異ならせてもよい。
第1の指定範囲は基板上に実装されている部品に相当する画像領域に含まれていてもよいし、第2の指定範囲は基板表面に相当する画像領域に含まれていてもよい。この場合、第1の指定範囲から生成される代表画素の数を第2の指定範囲から生成される代表画素の数よりも多くしてもよい。そうすると、例えば部品上の複数の色に対応させて複数の代表画素を設ける一方、基板の一様な表面性状に対応させてより少数の代表画素を設けることができる。基板表面の実情にあわせた検査画像の作成が可能となる。また、例えば代表画素を調整することで検査画像作成処理のチューニングも可能となり、高度な知識及び経験を有する作業者が求める繊細な調整の要求に応えることもできる。
一実施形態においては、画像処理部は、被検査体画像の画素に与えられている複数の属性を次元とする高次元空間に各画素をマッピングする第1マッピング処理部と、検査に合格であることが保証されている合格画素を設定する代表画素設定部と、高次元空間における合格画素と各画素との距離に応じて決定された輝度を有する画素からなる検査画像を作成する第2マッピング処理部と、を備えてもよい。
一実施形態においては、画像処理部は、被検査体画像の画素に与えられている複数の属性を次元とする高次元空間に各画素をマッピングする第1マッピング処理部と、検査に合格であることが保証されている合格画素と、該検査に不合格であることが保証されている不合格画素とを設定する代表画素設定部と、高次元空間において合格画素と不合格画素とを結ぶ直線に各画素を投影する第2マッピング処理部と、を備えてもよい。
第2マッピング処理部は、合格画素を含む第1画素群と不合格画素を含む第2画素群との高次元空間における偏在状態が反映されるように高次元空間から低次元空間に各画素を投影してもよい。高次元空間において第1画素群の画素と第2画素群の画素とは例えば互いに混在することなく、第1画素群と第2画素群とは離れて分布する傾向にある。第2マッピング処理部は、高次元空間における画素の密度分布が保存される形式で高次元空間よりも低次元の空間に各画素をマッピングしてもよい。
第2マッピング処理部は、高次元空間における代表画素と各画素との位置関係を、代表画素と各画素との距離の大小関係を保ちつつ低次元の空間で表現してもよい。第2マッピング処理部は、低次元空間の次元を複数の色成分のそれぞれに対応させることにより、新たなカラー検査画像を作成してもよい。第2マッピング処理部は例えば、マッピング空間から3次元空間に各画素を投影し、各次元をRGB成分のそれぞれに対応させて新たなカラー検査画像を作成してもよい。第2マッピング処理部は、高次元空間における代表画素と各画素との距離を求め、各画素との距離に応じて決定された輝度を有する画素からなる新たな単色の検査画像を作成してもよい。
本発明の一実施形態に係る画像処理装置は、被検査体を照明する照明手段と、照明手段により照明された被検査体を撮像し被検査体画像を生成する撮像手段と、被検査体画像から画素情報を生成する画素情報生成手段と、画素情報生成手段が生成した全ての画素情報を情報数に応じた多次元空間にマッピングする多次元空間マッピング手段と、多次元空間内での位置情報に基づいて各画素の輝度を生成する輝度変換手段と、を備えてもよい。
照明手段は、被検査体の同一箇所を異なる照明角度で照明するよう構成されていてもよい。撮像手段は、それぞれ異なる照明角度による複数の被検査体画像を生成してもよい。多次元空間マッピング手段は、異なる照明条件で撮像手段により生成された複数の画像の画素情報を使用してもよい。
画素情報生成手段は、各被検査体画像の画素情報及び画素間情報を生成してもよい。画素情報は、各被検査体画像の画素の輝度情報及び色情報の少なくとも1つを含んでもよい。画素の色情報は複数のパラメータ(例えばRGBの3つのパラメータ)を含んでもよい。画素間情報は、周辺画素の輝度値との演算で求めるモーメント情報を含んでもよい。モーメント情報は、周辺画素の輝度値との演算で求める1次モーメント値及び2次モーメント値の少なくとも1つを含んでもよい。
輝度変換手段は、多次元空間内に予め指定したOK位置からの距離に応じて各画素の輝度を生成してもよい。輝度変換手段は、多次元空間内に予め指定したOK位置とNG位置との距離の比に応じて各画素の輝度を生成してもよい。
輝度変換手段は、多次元空間内にマッピングされた画素と多次元空間内に予め指定した全てのOK位置との距離を計算し、最も距離が近いOK位置からの距離に応じて各画素の輝度を生成してもよい。輝度変換手段は、多次元空間内にマッピングされた画素と多次元空間内に予め指定した全てのOK位置および全てのNG位置の距離を計算し、最も距離が近いOK位置との距離及び最も距離が近いNG位置との距離の比に応じて各画素の輝度を生成してもよい。
図4は、本発明の一実施形態に係る外観検査装置10の構成を模式的に示す。この装置は、被検査体の検査面をラインセンサで走査して画像を形成し、画像認識によって被検査体の部品実装状態等の合否を判定するものである。ラインセンサによる撮像ラインに対して垂直に走査ヘッドを駆動することで順次ラインごとの画像が得られ、走査ヘッドの一次元運動で検査が完了する。
図4のごとく、外観検査装置10は、メインユニット12と試験ユニット14を備える。試験ユニット14の下部には支持台22が設けられ、被検査体である基板1が把持される。支持台22にはコンベアが設けられており、被検査体である基板1が把持された状態で、例えば、他の工程から一定の速度で流れてくるようになっている。試験ユニット14の上部には、走査ヘッド16と、それを駆動するステッピングモータ20と、走査ヘッド16を支持するリニアガイド等のガイド18が設けられている。
走査ヘッド16は照明ユニット30、レンズ32およびラインセンサ34を有する。これらの部材はフレーム36上に固定されている。照明ユニット30は、後述の落射照明源、側方照明源、ハーフミラーなどを内蔵する。基板1から垂直上方への反射光はミラーでレンズ32へ導かれ、レンズ32を通過した後、一次元CCDセンサであるラインセンサ34へ入力される。ラインセンサ34はライン単位に基板1を撮像してその画像データ54を出力する。
試験ユニット14には、検査前の待機状態における待機位置にある走査ヘッド16と対向する位置にシェーディング補正用の基準プレート60が設けられている。基準プレート60は、基準プレート60の位置を調整する位置調整機構(図示せず)に接続されている。基準プレート60は、蛍光増白剤を含む樹脂製の白色の板状部材である。基準プレート60に代えて、蛍光増白剤を含む樹脂製の白色シートであってもよい。
メインユニット12は、本装置全体を統括的に制御するもので、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされたコーティング検査機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
メインユニット12のヘッド制御ユニット40はまず、照明制御クロック50(以下、同期信号ともいう)を照明ユニット30へ供給し、1ライン毎に落射照明と側方照明とを交互に切り替えて点灯させる。ヘッド制御ユニット40はさらに、モータ制御信号52をモータ20へ、試験開始信号56をメモリ制御ユニット42へそれぞれ出力する。モータ制御信号52によってモータ20のステップ制御がなされ、検査の開始に際し、走査ヘッド16が基板1の端部へ移動する。以下、この位置を「スタート位置」という。以降、1ライン撮像するたびにモータ制御信号52によって走査ヘッド16が1ライン分進行する。一方、試験開始信号56を参照し、メモリ制御ユニット42はメモリ44への画像データ54の書込を制御し、以降、画像データ54がライン単位で記録されていく。画像データ54は、落射照明で撮像されたものと、側方照明で撮像されたものとが1ライン毎に選択的に入力され、全ラインの撮像が終わると、メモリ44内には、落射照明で撮像された画像と、側方照明で撮像された画像とが形成される。
メインユニット12は、例えば待機状態においてシェーディング補正をする。待機状態においては外観検査装置10に基板1は設けられていない。メインユニット12のヘッド制御ユニット40は、シェーディング補正をするとき、モータ制御信号52によってモータ20を制御して走査ヘッド16を待機位置に維持する。ヘッド制御ユニット40は、照明制御クロック50を照明ユニット30へ出力し、シェーディング補正のための点灯状態を制御する。メインユニット12は、それぞれの光源で基準プレート60を照明したときに得られる反射光の輝度が予め設定された基準輝度となるようシェーディング補正値を生成する。シェーディング補正は、ラインセンサ34のRGBの色成分それぞれについて行う。
なお、メモリ44の内部構成、メモリ44内の画像データ54の配置については設計上の自由度があり、いろいろな構成が可能である。たとえば、メモリ44内に、複数の画像を個別に格納するための独立した2つの記憶領域が設けられ、メモリ制御ユニット42は、1ライン毎に各記憶領域に分けて画像データ54が個別に格納されるように制御してもよい。あるいは、メモリ44内には、複数の画像を格納するための単一の記憶領域が設けられ、メモリ制御ユニット42は、その単一の記憶領域に画像データ54が1ラインずつ交互に格納されるように制御してもよい。
解析ユニット46は、走査と並行して、または走査完了後にメモリ44から画像データを読み出し、先に得られたシェーディング補正値を加味し、判定基準記憶部48に予め記録された判定基準に照らして、検査項目ごとに合否を判断する。検査項目としては例えば、部品の位置ずれ、欠品、ハンダのヌレ、ハンダブリッジの有無、実装部品の間違い、極性の反転、基板表面の汚れやキズの有無などがある。解析ユニット46はさらに、各検査項目について基板上の位置を特定してもよい。判定基準記憶部48には予め合否に関する判断基準または基準画像が記録されている。解析ユニット46は、実際にラインセンサ34で取得された画像にそれらの基準または画像を適用して合否判定を行う。あるいは、解析ユニット46は、実際に撮像した画像を処理して作成した検査画像に判定基準を適用して合否判定を行う。
図5は試験ユニット14の斜視図、図6は試験ユニット14を撮像ラインの方向110(以下、単に撮像ライン方向と呼ぶ)から見た模式図である。図5または図6に示した状態で1ライン分の画像データが取り込まれると、走査ヘッド16はガイド18(図4参照)によって駆動方向へ1ライン分送り出される。以降同様の処理を繰り返すことにより、基板1全面にわたる画像データが取得される。
照明ユニット30は落射照明源100と側方照明源102を有し、これらがハーフミラー108を取り囲んでいる。落射照明源100とハーフミラー108にはレンチキュラーシート106が間挿され、落射光はレンチキュラーシート106、ハーフミラー108を通過して基板1の検査面へ入射角がほぼゼロで投じられる。側方照明源102の下にはアクリルシート104が設けられる。この実施の形態では落射照明源100に幅をもたせており、基板1が反ったときでも入射角がゼロになるような落射光成分が存在するよう配慮している。
アクリルシート104は、側方照明源102からの側方光を拡散する。側方照明源102は点光源であるLEDの集合体であるため、拡散作用がないと、スポット的な光が画像データへ写り込んで検査精度に悪影響を及ぼす懸念がある。一方、レンチキュラーシート106は、撮像ライン方向110について落射光を基板1に垂直な成分に絞り込むよう作用する。なお、落射光に関する拡散作用はレンチキュラーシート106によって実現される。
図6のごとく、落射照明源100は中央からふたつのサブ基板100a、100bに分かれ、それぞれ撮像ライン方向110にLED(発光ダイオード)群をもつ。落射照明源100は緑色LED群からなる。これらのサブ基板100a、100bは微妙に内側を向け合う形で接続され、それぞれのLED群が効率的に検査中のライン112へ落射光を投ずる配置とされている。
一方、ふたつの側方照明源102は、3列のLED群をもつ高側方照明源102aと、1列のLED群をもつ低側方照明源102bとを有し、落射照明源100同様、ライン112へ効率的に側方光を投ずるよう傾斜がつけられている。高側方照明源102aは白色LED群からなり、低側方照明源102bは青色LED群からなる。高側方照明源102aよりも低側方照明源102bのほうが、より大きい入射角(入射光線と入射点での法線とがなす角度)で照明光をライン112に照射する。ライン112からの反射光はハーフミラー108で反射し、レンズ32へ向けられる。これを図5で示せば、落射照明源100内のある点Pからの落射光L1は基板1上の点Q付近で反射し、反射光L2がハーフミラー108で再度反射し、その反射光L3がレンズ32へ入射する。なお、落射照明源100、高側方照明源102a、及び低側方照明源102bは、それぞれ独立に点灯制御可能なよう、図示しない電源が別系統になっている。
また、照明ユニット30は、基板1に平行な面内で落射照明源100が撮像ライン方向110と任意の交差角度をなすように、図示される標準位置から落射照明源100を回転または移動させる駆動機構(図示せず)を備えてもよい。同様に、照明ユニット30は、基板1に平行な面内で側方照明源102が撮像ライン方向110と任意の交差角度をなすように側方照明源102を回転または移動させる駆動機構(図示せず)を備えてもよい。複数の角度で照明して撮像することにより、照明の当たらない死角を減らすことができる。なお、ミラー108等の付随する光学系、及びラインセンサ34等の角度または位置を変更する駆動機構を更に備えてもよく、落射照明源100または側方照明源102の交差角度を標準位置から変更したときは、ミラー108等の付随する光学系、及びラインセンサ34等もこの移動機構により対応する角度または位置に移動させてもよい。
図7は、ラインセンサ34の構成を示す。ラインセンサ34は、それぞれがRGB3色のいずれかに対応した赤色撮像素子列150、緑色撮像素子列152、青色撮像素子列154とからなる。これら素子列は5000個〜10000個の撮像素子162が配置されて構成される。赤色撮像素子列150は、赤色成分を抽出する赤色カラーフィルタ156がその入射面に設けられる。同様に、緑色撮像素子列152と青色撮像素子列154の入射面に、それぞれ緑色成分を抽出する緑色カラーフィルタ158と青色成分を抽出する青色カラーフィルタ160とが設けられる。赤色撮像素子列150および緑色撮像素子列152、および、緑色撮像素子列152および青色撮像素子列154は、それぞれΔCのピッチを保つ。よって、ラインセンサ34は、赤成分画像、青成分画像、及び緑成分画像をメインユニット12に出力する。
これらRGB3色の画像には、ピッチΔCに起因してわずかな位置ズレが生じている。この位置ズレを解消するための位置補正をしながら合成することによって、ズレのない検査用画像を生成する。RGB3色の画像の位置補正および合成は、ラインセンサ34からメモリ44へ取り込む際にメモリ制御ユニットによって実行してもよいし、RGB3色の画像を別個にメモリ44へ取り込んでおき、後に解析ユニット46によって位置補正および合成を実行してもよい。また、解析ユニット46は、RGB3色の画像のいずれかを検査用画像として選択してもよい。
図8は、本発明の一実施形態に係る解析ユニット46の構成の一例を示す図である。解析ユニットは、検査部70及び画像処理部72を含んで構成される。検査部70は、判定基準記憶部48に予め記録された判定基準と検査画像とに基づいて、検査項目ごとに合否を判断する。また、不合格の場合、検査部70は、検出された異常の位置を検査画像上において特定してもよい。画像処理部72は、メモリ44から画像データを読み出して検査画像を生成し、検査画像を検査部70に与える。画像処理部72は、画像統合部74、マッピング処理部76、代表画素設定部78、及び輝度演算部80を含んで構成される。
図9は、以上の構成による外観検査装置10の検査手順を示すフローチャートである。落射照明の点灯と側方照明の点灯を同期信号に合わせて選択して行い、基板1上を走査ヘッド16が一回移動する間に落射照明による画像と側方照明による画像の両方の画像を個別かつ一度に形成する。具体的には、緑色LED照明による単色画像、白色LED照明によるカラー画像、及び青色LED照明による単色画像が一度に得られる。なお、外観検査装置10による画像解像度は十分に高く、画像を数ラインおきに取得しても十分検査目的に耐えるとする。
まず、第1モードである落射照明モードが選択され、走査ヘッド16がスタート位置へ送られる(S50)。落射照明モードの選択に伴い、ヘッド制御ユニット40によって落射照明源100が点灯状態、高側方照明源102a及び低側方照明源102bが消灯状態におかれる。落射照明のもと、ラインセンサ34により第1ラインの撮像が実施され(S52)、その画像データ54がメモリ44へ書き込まれる(S54)。
つづいて、ヘッド制御ユニット40により走査ヘッド16が駆動方向へ1ライン分送られ(S56)、予め入力されていた基板1に関する情報に従い、その位置が走査のエンド位置、すなわち基板1の終了端であるか否かが判定される(S58)。エンド位置でなければ(S58のN)、高側方照明モードへ切り替えが行われる(S60)。高側方照明モードの選択に伴い、ヘッド制御ユニット40によって側方照明源102のうち高側方照明源102aが点灯状態、落射照明源100及び低側方照明源102bが消灯状態におかれる。高側方照明のもと、ラインセンサ34による第2ラインの撮像、メモリ44への画像データ54の書込、走査ヘッド16の進行(S52、S54、S56)が行われる。
さらに同様にして、ヘッド制御ユニット40により走査ヘッド16が駆動方向へ1ライン分送られ(S56)、その位置が走査のエンド位置であるか否かが判定される(S58)。エンド位置でなければ(S58のN)、低側方照明モードへ切り替えが行われる(S60)。低側方照明モードの選択に伴い、ヘッド制御ユニット40によって側方照明源102のうち低側方照明源102bが点灯状態、落射照明源100及び高側方照明源102aが消灯状態におかれる。低側方照明のもと、ラインセンサ34による第3ラインの撮像、メモリ44への画像データ54の書込、走査ヘッド16の進行(S52、S54、S56)が行われる。
走査ヘッド16がエンド位置にくるまでS52からS60の処理は繰り返され、複数の画像が形成される。3N+1番目(N=0,1,2,・・・)のラインの画像は、落射光によって形成される画像であり、3N+2番目(N=0,1,2,・・・)のラインの画像は、高側方照明によって形成される画像であり、3N番目(N=1,2,・・・)のラインの画像は、低側方照明によって形成される画像である。このインターリーブ方式によれば、走査ヘッド下に基板1を1度通過させることにより複数画像を取得でき、検査時間の短縮が実現される。
走査ヘッド16がエンド位置にくれば、処理はS58のYからS62へ進む。ステップS62では、解析ユニット46は、撮像した被検査体画像に基づいて、検査に使用する検査画像を作成する。解析ユニット46は、検査項目ごとに異なる検査画像を作成してもよい。ついで、解析ユニット46は、作成した検査画像を用いて各検査項目について検査する(S64)。検査の合否判定基準その他の情報は判定基準記憶部48から読み出され、利用される。検査が終わると結果が表示され(S66)、一連の処理を終える。合否は表示だけでなくメモリ44へ記録してもよい。支持台22のコンベア上を流れてくる後続の基板1に対する検査処理を続ける場合には、その基板1に対してS50からS66の処理を同様に行う。このように、順次流れてくる基板1に対して検査処理を連続的に行うことができる。
図10は、本発明の一実施形態に係る検査画像作成処理S62を示すフローチャートである。検査画像作成処理は上述のように、被検査体を撮像して得た被検査体画像の持つ情報を各画素に多次元的に関連づけ、各画素の性質に応じたクラスタ分布が反映された新たな検査画像を作成する処理である。一実施例においては、検査画像作成処理は、画像処理部72に含まれる画像統合部74、代表画素設定部78、及び輝度演算部80(図8参照)により実行される。
画像統合部74は、マッピング空間の次元とする属性を決定する(S70)。画像統合部74は、メモリ44に記憶されている画像から抽出し得るすべての属性をマッピング空間の次元として選択してもよいし、要求検査項目に必要な属性を次元として選択してもよい。ここでは理解を容易にするために、簡単な一例としてマッピング空間の次元を2次元とする。緑色LEDの照明光で基板表面に垂直方向から照射して撮像した画像(トップ画像と呼ぶ)の輝度と、青色LEDの照明光で斜めから照射して撮像した画像(ロー画像と呼ぶ)の輝度との2つの属性をマッピング空間の次元とする。
画像統合部74は、複数の画像それぞれにおいて対応する画素が有する情報を1つの多次元画素に統合する(S72)。画像統合部74は例えば、トップ画像の各画素にロー画像の各対応画素の輝度値を対応づけて、トップ画像での輝度値及びロー画像での輝度値の2つの成分を有する2次元の一般化画素を生成する。
代表画素設定部78は、一般化画素に基づいて代表画素を設定する(S74)。代表画素設定部78は、生成された一般化画素から代表画素を選択してもよいし、予め設定または学習されている代表画素をメモリ44から読み出してもよい。代表画素設定部78は、マッピング空間内のOK位置(例えば所望の検査項目に合格の画素)及びNG位置(例えば所望の検査項目に不合格の画素)を代表画素とする。なお、「OK位置」及び「NG位置」との表現は単に異なる種類の基準位置を区別するために用いている表現にすぎず、OK位置は合格画素には限られないし、NG位置は不合格画素には限られない。
輝度演算部80は、画像統合部74により生成された一般化画素と代表画素設定部78により設定されたOK位置及びNG位置とに基づいて各画素の輝度を演算する(S76)。輝度演算部80は、マッピング空間での各画素から最も近いOK位置までの距離(以下、OK距離という)を求める。輝度演算部80は、マッピング空間での各画素から最も近いNG位置までの距離(以下、NG距離という)を求める。輝度演算部80は、OK距離とNG距離との和(合計距離という)を各画素について求める。輝度演算部80は、OK距離と合計距離との比、及びNG距離と合計距離との比を各画素について求める。
さらに、輝度演算部80は、NG位置よりもOK位置に近い画素(すなわちOK距離がNG距離より小さい画素)については、作成する検査画像での最大輝度と最小輝度との輝度差にOK距離と合計距離との比を掛けた値を最大輝度から引いて得られる値を輝度として与える。一方、輝度演算部80は、OK位置よりもNG位置に近い画素(すなわちOK距離がNG距離より大きい画素)については、作成する検査画像での最大輝度と最小輝度との輝度差にNG距離と合計距離との比を掛けた値を最小輝度に加えて得られる値を輝度として与える。例えば最大輝度は255、最小輝度は0に設定される。このようにすればOK位置に近い画素ほど大きな輝度が与えられ、NG画素に近い画素ほど小さな輝度が与えられる。また、距離の比に応じて輝度を与えることにより、OK位置とNG位置とが近接している場合であっても画素間の輝度差を大きくすることができる。OK位置及びNG位置の両方から等距離である画素に関して、OK位置及びNG位置から近くても遠くても同じ輝度を与えることができる。
輝度演算部80は、このようにして演算された各画素の輝度値から検査画像を作成し(S78)、例えば検査部70に与える。輝度演算部80は、検査画像をメモリ44に書き出してもよいし、検査装置の表示部(図示せず)に表示してもよい。
一変形例として、輝度演算部80は、各画素から最も近いOK位置またはNG位置までの距離を求める代わりに、検査対象基板の設計情報に基づいて各画素の性質に最も近いOK位置またはNG位置までの距離を求めてもよい。検査対象基板の設計情報は例えばメモリ44に予め記憶されている。輝度演算部80は例えば、各画素に最も近い色を有するOK位置またはNG位置までの距離を求める。輝度演算部80は、各OK位置が有する各色成分の輝度を設計情報から読み出して、距離を演算しようとしている画素の各色成分の輝度との偏差が最も小さいOK位置を選択する。輝度演算部80は、この偏差が最小のOK位置を用いて上述の実施例と同様にして各画素の輝度を求めてもよい。
図11及び図12はそれぞれ、検査対象基板の同一領域のトップ画像及びロー画像の一例を示す図である。図11及び図12において矢印が指しているのは、基板表面に平行なハンダ面領域である。トップ画像は落射照明光で撮像されているのでハンダ面領域が明るいが、ロー画像は側方照明光で撮像されているのでハンダ面領域からの反射光が撮像装置に入射せず暗く見える。また、図11及び図12の中央部には基板上に印刷された文字が観察される。文字表面で照明光が拡散されるため、ロー画像のほうが文字は明るく見える。
ハンダ面領域及び文字領域の画素のマッピングの例を図13に示す。この例ではマッピング空間の次元は2次元であるので、マッピング空間を平面で表すことができる。図13では横軸がトップ画像での輝度を示し、縦軸がロー画像での輝度を示す。上述のように、基板表面に平行なハンダ面領域の画素はトップ画像では明るくロー画像では暗い。文字領域の画素はトップ画像では暗くロー画像では明るい。よって、ハンダ面領域の画素群と文字領域の画素群とはマッピング空間で離れた位置をとる。マッピング空間内の適当な直線(例えば縦軸または横軸)に各画素を投影し、その直線上での各画素の位置によって輝度を割り当てることにより、ハンダ面領域の画素群と文字領域の画素群との間に大きな輝度差をつけることができる。したがって、ハンダ面と文字とを明りょうに識別できる検査画像を得ることができる。
トップ画像及びロー画像を単に取得した段階においては、2つの画像におけるハンダ面及び文字の輝度の違いについての知識をもとに2つの画像を対比しなければ、ハンダ面と文字とを識別することができない。これは簡単な例であるが、実際の検査においては更なる知識や経験を前提とした複雑なチューニング作業が必要とされるのが実情である。ところが本実施形態によれば、作成された検査画像からハンダ面と文字とを容易に識別することが可能であり、同様にして多様な種類の画素を識別可能な検査画像を作成することもできる。
本発明の一実施形態によれば、1画素に多数の情報を関連づけて各画素が多次元空間にマッピングされ、例えばOK位置またはNG位置との近さでクラスタリングがなされる。多数の個別画像から良好な検査精度を得るための高度な属人的チューニングを作業者に求める必要性が小さくなる。多数の画素情報が統一的かつ効率的に処理され、精度よい検査に寄与する新たな検査画像を簡単に作成することができる。