(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態に係る外観検査装置について説明する。以下、当該外観検査装置をプリント基板のSMT(Surface Mount Technology)ラインに使用する例を説明する。
図1は、プリント基板のSMTラインを説明するための図である。SMTラインは「半田印刷」(S1)→「CHIP部品搭載」(S2)→「外観検査(異物検査)」(S3)→「BGA(Ball Grid Array)部品搭載」(S4)→「リフロー」(S5)→「外観検査(全体検査)」(S6)と推移する。
【0015】
「半田印刷」(S1)はプリント基板上に、クリームはんだをパターンに合わせて印刷する工程である。「チップ部品搭載」(S2)はプリント基板上にCHIP部品を搭載する工程である。「外観検査(異物検査)」(S3)は、プリント基板上に異物がないか検査する工程である。BGA部品搭載箇所にCHIP部品があると、後工程の「外観検査(全体検査)」(S6)では検出できないため、「外観検査(異物検査)」(S3)は「BGA部品搭載」(S4)より前に行う必要がある。
【0016】
「BGA部品搭載」(S4)はプリント基板上にBGA部品を搭載する工程である。「リフロー」(S5)はプリント基板に熱を加えて、はんだを溶かし、はんだ付けを行う工程である。「外観検査(全体検査)」(S6)は、最終的な外観検査を行う工程である。本実施の形態では、「外観検査(異物検査)」(S3)に注目する。
【0017】
図2は、本発明の実施の形態に係る外観検査装置500の概略構成を示す図である。外観検査装置500は、計算装置100と撮像装置200を備える。計算装置100にはPCなどを用いることができる。撮像装置200にはCCDカメラやCMOSカメラを用いることができる。撮像装置200は、コンペアライン700上を移動する観察対象である被検査対象(本実施の形態では、CHIP部品が搭載されたプリント基板600)を撮影する。
【0018】
図3は、計算装置100の構成を示す機能ブロック図である。計算装置100は、画像取得部10、位置検出部20、位置補正部30、良品画像保持部40、画像比較部50および判定部60を備える。画像取得部10は、撮像装置200により撮影された被検査対象の撮影画像を取得する。位置検出部20は、撮影画像内の被検査対象の位置を検出する。位置補正部30は、位置検出部20による位置検出結果をもとに被検査対象の位置を補正する。撮影画像が事前登録用の画像である場合、位置補正部30は補正後の画像を良品画像保持部40に登録する。なお、登録される画像は、被検査対象が良品の場合のときの画像である。撮影画像が検査時の画像である場合、位置補正部30は補正後の画像を画像比較部50に供給する。
【0019】
画像比較部50は、位置補正部30により位置補正された被検査画像と、良品画像保持部40に保持される良品画像とを比較する。具体的には両画像の差分画像を生成する。判定部60は、当該差分画像をもとに被検査対象が良品であるか否かを判定する。たとえば、異物の有無を検出する。
【0020】
図4(A)、(B)は、プリント基板を撮影した画像を示す。
図4(A)は事前に撮影された基準画像である良品画像を示し、
図4(B)は検査時に撮影された被検査画像を示す。
図4(B)に示す被検査画像では、BGA搭載領域内の丸で囲っている箇所に異物A1が付着している。「外観検査(異物検査)」(S3)にて、画像比較部50は事前に撮影された良品画像と被検査対象の被検査画像とを比較し、判定部60はその結果をもとにプリント基板上に異物がないか否か検査する。上述したように、この検査では撮影条件により、良品画像との撮影倍率のズレ、撮影位置のズレ、撮影角度のズレが生じる。
【0021】
図5(A)−(D)は、画像比較部50による画像比較手順を説明するための図である。
図5(A)は良品画像を示し、
図5(B)は、
図5(A)に示す良品画像の太枠内の画像を示す。
図5(B)に示す画像は被検査対象(本実施の形態ではBGA搭載領域)に注目した画像である。位置検出部20は、撮像装置200により撮影された撮影画像内の被検査対象の位置を検出する。位置補正部30は、その位置検出結果にもとづき位置補正(たとえば、アフィン変換による回転)を行い、良品画像保持部40に保存する。
図5(B)では被検査対象およびその周辺領域を切り出して保存する例を描いている。
【0022】
図5(C)は被検査画像を示し、
図5(D)は、
図5(C)に示す被検査画像の太枠内の画像を示す。
図5(D)に示す画像も被検査対象(本実施の形態ではBGA搭載領域)に注目した画像である。位置検出部20は、撮像装置200により撮影された撮影画像内の被検査対象の位置を検出する。位置補正部30は、その位置検出結果にもとづき位置補正を行う。画像比較部50は、位置補正された良品画像と被検査画像との差分画像を生成する。判定部60は、差分画像内において、設定された閾値を超える輝度値や設定された閾値を超える色成分が検出された場合、その位置に異物が存在すると判定する。
【0023】
図6は、
図5(B)と
図5(D)との差分画像を示す図である。
図6に示す例では、拡大図に示すように被検査対象の右上領域に異物が存在し、撮影されたプリント基板は不良であることが分かる。
【0024】
図7(A)−(C)は、撮影画像内から被検査対象の位置を検出する一般的な方法を説明するための図である。
図7(A)は被検査対象であるBGA搭載領域を含む撮影画像を示し、
図7(B)はBGA搭載領域の太枠(左下)内の拡大画像を示し、
図7(C)はBGA搭載領域の太枠(右上)内の拡大画像を示す。
図7(A)−(C)に示す例では、位置合わせのための目印として、BGA搭載領域の左下隅のパッドA2と、当該領域の右上隅のパッドA3を用いている。すなわち、対角線上の二つの隅に基準点を設定している。なお、BGA搭載領域のパッドは、FPGのはんだボール(以下、単にボールという)と接合される部材である。
【0025】
図8は、位置合わせの一般的な方法を説明するための図である。位置検出部20は、被検査画像に画像処理を施し、基準点を検出する。そして、被検出画像の基準点と良品画像の基準点を用いて、被検査対象の、本来あるべき位置からの倍率差D
2/D
1、角度差θ、およびズレ量Zを算出する。
図8では点線で囲われた領域が被検査対象の本来あるべき位置を示し、実線で囲われた領域が被検査画像内の被検査対象の位置を示している。
【0026】
図9(A)−(C)は、撮影画像内から目印としての基準点を抽出する際の問題点を説明するための図である。位置検出部20は、撮影画像内から、設定された閾値を超える輝度値または設定された閾値を超える色成分が検出された領域に目印(
図9(A)−(C)ではパッド)が存在するとして、その目印を抽出する。
図9(A)は、上記閾値を超えている画素がパッドの中心部に集中しており、当該パッドを正確な位置で抽出できる例を示している。
図9(B)は、上記閾値を超えている画素がパッドの中心部からずれており、当該パッドを正確な位置で抽出できていない例を示している。
図9(C)は、目印としているパッドA4の近傍に、上記閾値を超えている画素領域A5があり、その画素領域A5も目印として抽出する例を示している。
【0027】
このように、目印の位置を画像処理によって検出する場合、撮像条件(たとえば、光やノイズ)、被検査対象の形状や色のバラツキによって、中心を正しく検出できないことがある。さらに、抽出不足や過剰抽出が発生して、正確な位置検出ができない場合もある。換言すれば、抽出失敗や他の目印を余計に抽出してしまう場合がある。その場合、上述した差分画像には、位置ズレによる差分が大きく生じるため、見過ぎや見逃しが発生しやすくなる。
【0028】
図10は、本発明の実施の形態に係る位置検出部20の構成を示す図である。位置検出部20は、設計情報入力部21、設計情報分析部22、設計情報分析結果保持部23、画像入力部24、画像分析部25、位置分析部26および位置情報出力部27を備える。これらの構成は、ハードウエア的には、任意のプロセッサ、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【0029】
設計情報入力部21は、被検査対象の客観的な設計情報を外部から受け付ける。たとえば、ユーザ操作に起因して当該設計情報が設計情報入力部21に与えられる。設計情報入力部21は、被検査対象の設計情報として、設計情報から得られる特徴点の位置集合P、および位置集合Pの要素間接続条件式を受け付ける。当該特徴点とは、理想的な被検査画像に対して画像処理を行った際に得られる抽出点を、上記設計情報から取得したものである。当該画像処理として、エッジ検出フィルタやカラーフィルタを用いる処理が考えられる。
【0030】
設計情報分析部22は、設計情報から得られる複数の特徴点の位置情報を分析して、特徴点間の距離、角度および接続関係を算出する。本実施の形態では、特徴点がBGAのボールに対応するパッドである例を考える。
図11は、BGA搭載領域の各パッドとパッド間の接続関係を模式的に描いた図である。
【0031】
設計情報から得られる特徴点の位置集合Pは、下記(式1)により定義される。
【数1】
【0032】
位置集合Pの要素間接続条件式とは、特徴点の位置情報から接続情報を取得するための条件式または接続情報そのものをいう。
位置集合Pの要素間の距離D
ijは、下記(式2)により定義される。
【数2】
位置集合Pの要素間の角度α
ijは、下記(式3)により定義される。なお、要素間の角度α
ijはx軸に対する角度を示す。
【数3】
位置集合Pの要素間の接続C
ijは、下記(式4)により定義される。
【数4】
ここで、0は未接続を示し、1は接続を示す。
【0033】
位置集合Pの要素間の接続C
ijは、設計情報入力部21に入力される入力情報であるが、条件式(0:D
ij≦D、1:D
ij>D)に、角度α
ij等の条件を加えてもよい。また、要素間の接続C
ijを条件式ではなく、直接指定してもよい。
【0034】
以下、具体例を挙げながらより詳細に説明する。
図12は、設計情報入力部21に入力された設計情報の一例を示す。
図12では、xy平面に特徴点が9個プロットされている。ここで、9個の特徴点のうち接続されている組み合わせ(C
ij=1)は、以下の通りである。C
12、C
14、C
21、C
23、C
25、C
32、C
36、C
41、C
45、C
47、C
52、C
54、C
56、C
58、C
63、C
65、C
69、C
74、C
78、C
85、C
87、C
89、C
96、C
98である。それ以外の特徴点の組み合わせは接続されていない。
【0035】
設計情報分析部22は、設計情報から得られる特徴点の位置集合P、位置集合Pの要素間の距離D
IJ、位置集合Pの要素間の角度α
IJおよび位置集合Pの要素間の接続C
IJを設計情報分析結果保持部23に保存する。
【0036】
画像入力部24は、撮像装置200により撮影された被検査画像を受け付ける。画像分析部25は、画像入力部24に入力された被検査画像に対して上述した画像処理を行い、特徴点を抽出し、特徴点の位置情報を取得する。
【0037】
図13(A)、(B)は、画像分析部25による位置情報抽出処理の具体例を示す図である。
図13(A)は、位置情報抽出対象の被検査画像を示す。画像分析部25は、当該被検査画像に対して、エッジ検出フィルタおよびカラーフィルタをかけて、BGAのボールに対応するBGA搭載領域のパッドを特徴点として抽出する。
図13(B)は、位置情報の抽出結果を示す。
【0038】
位置分析部26は、画像分析部25により抽出された被検査画像の特徴点の位置情報と、設計情報分析結果保持部23に保持される設計情報分析結果にもとづき、特徴点の位置分析を行う。
【0039】
被検査画像から得られる特徴点の位置集合Qは、下記(式5)により定義される。
【数5】
位置集合Qの要素間の距離E
IJは、下記(式6)により定義される。
【数6】
位置集合Pの要素間の角度β
IJは、下記(式7)により定義される。
【数7】
位置集合Qの要素に対する位置集合Pの要素の対応関係M
iは、下記(式8)により定義される。
【数8】
ここで、0は未対応を示し、kは対応を示す。
【0040】
図14は、
図12に示した設計情報から得られた位置集合Pと、被検査画像から得られた位置集合Qの対応関係の一例を示す図である。
図14において、位置集合Pと位置集合Qとの間で対応している特徴点間を点線で結んで描いている。位置集合Qの特徴点1に対応する位置集合Pの特徴点は存在しないため、対応関係M
1は0である。位置集合Pの特徴点9は、位置集合Qでは欠損している。
【0041】
以下、位置集合Qと位置集合Pの要素間対応関係M
iの算出方法について説明する。以下の処理では、位置集合P内の要素が、位置集合Q内の要素のいずれかであるという仮定を、すべての組み合わせにおいて検証する。各々の仮定に対して、位置集合P内の接続関係を用いて、位置集合Q内の接続状況を確認する。すなわち、位置集合P内の各要素の位置および各要素間の距離、角度を用いて、位置集合Q内に対応する要素が、対応する位置の近傍に存在するか否か検証する。そして、すべての組み合わせにおいて位置集合Qと位置集合Pの要素間対応関係M
iを算出し、最も要素間対応関係M
iが近似する仮定を採用する。
【0042】
図15は、位置集合Qと位置集合Pとの間で、最も近似する要素間対応関係M
iを探索するためのフローチャートである。位置分析部26は初期値設定として、位置集合Qの要素パラメータiを0に設定する(S10)。つぎに、要素パラメータiをインクリメントする(S11)。要素パラメータiが位置集合Qの最後の要素を超えたか否か判定する(S12)。超えた場合(S12のY)、本探索処理を終了する。超えていない場合(S12のN)、ステップS13以降の処理を継続する。
【0043】
位置分析部26は初期値設定として、位置集合Pの要素パラメータaを0に設定する(S13)。つぎに、要素パラメータaをインクリメントする(S14)。要素パラメータaが位置集合Pの最後の要素を超えたか否か判定する(S15)。超えた場合(S15のY)の処理は後述する。超えていない場合(S15のN)、ステップS16以降の処理を継続する。
【0044】
位置分析部26は、位置集合Q内の要素パラメータiで特定される要素iと、位置集合P内の要素パラメータaで特定される要素aとが対応関係があると仮定する(S16)。すなわち、対応関係M
i=a、対応関係M
j=0とする。ここで、要素jは位置集合Q内の要素i以外のすべての要素を指し、要素i以外の要素については対応関係なしと仮定する。
【0045】
位置分析部26は、仮の対応関係M
i=aに対して、位置集合Pの要素間の接続C
ab=1となる要素中から一つの要素bを選択する(S17)。すなわち、位置集合Pの要素aに接続されている要素を選択する。
【0046】
位置分析部26は、位置集合Pの要素a、要素bに対して条件式1(D
abS
range1<E
ij<D
abS
range2)および条件式2(α
ab−α
range<β
ij<α
ab+α
range)を満たし、かつ対応関係M
j=0である位置集合Q内の要素jを検索する(S18)。なお、S
range1は倍率の最小値を示し、S
range2は倍率の最大値を示し、α
rangeは最大回転角度を示す。これらの設定値は、実験結果、シミュレーション結果または実施結果などに基づき、設計者やユーザによって設定または調整される。上記条件式1、2による判定結果は環境条件によりその感度が変化するため、ユーザにより調整可能であることが好ましい。なお、上記条件式1、2を両方満たす要素jが複数存在する場合、複数の距離E
ijおよび角度β
ijのうち、距離D
abおよび角度α
abに最も近いE
ijおよびβ
ijを特定し、その要素jを選択する。なお、距離の比較と角度の比較とで重みづけをしてもよい。たとえば、前者をゼロにして角度だけで比較してもよい。
【0047】
位置分析部26は、要素jが存在したか否か判定する(S19)。存在しない場合(S19のN)、ステップS17に遷移し、C
ab=1となる要素中から別の要素bを選択する(S17)。ステップS19にて要素jが存在する場合(S19のY)、位置分析部26は、距離E
ijおよび角度β
ijと、距離D
abおよび角度α
abとの近似度を対応関係として保持する(S20)。
【0048】
位置分析部26は、要素間の接続C
ab=1となる要素中に選択していない要素bが残っているか否か判定する(S21)。残っている場合(S21のN)、ステップS17に遷移し、C
ab=1となる要素中から別の要素bを選択する(S17)。ステップS21にて残っていない場合(S21のY)、ステップS20にて保存した対応関係のうち、最も近似度が高い要素bを対応関係M
jとする(S22)。これにより、対応関係M
i=aとした場合の最適な対応関係M
j=bを検出できる。なお、対応関係M
j=bが検索されない場合もある。その後、ステップS14に遷移する。
【0049】
位置集合Qの要素iについて、同様の処理を位置集合Pのつぎの要素について実行する。以下、この処理を繰り返すことにより、最終的に位置集合Pのすべての要素について実行することになる(S15のY)。位置分析部26は、対応関係M
j=bの近似度が最も高い対応関係M
i=aを採用する(S23)。以下、以上の処理を位置集合Qのすべての要素について実行する。
【0050】
位置分析部26により算出された、位置集合Qと位置集合Pとの要素間対応関係M
iに対して、対応付けられた位置集合Q内の集合Tは、下記(式9)により定義される。
【数9】
【0051】
位置集合Qと位置集合Pと各々の要素の対応関係から、要素間距離の平均比率(平均倍率)Sは、下記(式10)により定義される。
【数10】
また、位置集合Qと位置集合Pと各々の要素の対応関係から、要素間角度の平均差分θは、下記(式11)により定義される。
【数11】
なお、i∈T,j∈T,i≠jは、異なるiとjのすべての組み合わせを示す。
【0052】
つぎに、要素間距離の平均比率Sと、要素間角度の平均差分θを用いて、位置集合Pを写像した位置集合Rは、下記(式12)により定義される。
【数12】
【0053】
d
iおよびθ
iが、下記(式13)および(式14)であるとすると、
【数13】
【数14】
W
iおよびZ
iは、下記(式15)および(式16)により定義される。
【数15】
【数16】
【0054】
最後に、写像した位置集合Rと位置集合Qの対応する要素同士の平均距離を示す平均ズレ量Gは、下記(式17)により定義される。
【数17】
なお、上記(式17)におけるg
x、g
yは、下記(式18)および(式19)により示される。
【数18】
【数19】
【0055】
図16は、
図14に示した位置集合Pと位置集合Qとの要素間距離の平均比率Sと、要素間角度の平均差分θとを用いて、位置集合Pを写像した位置集合Rを示す図である。なお、
図16では図面を見やすくするために、位置集合P、位置集合Qおよび位置集合Rが重ならないように描いているが、実際は位置集合Qと位置集合Rは重なることが多い。
【0056】
位置情報出力部27は、位置分析部26で算出された、距離の平均比率S、角度の平均差分θおよび平均ズレ量Gを出力する。本実施の形態では、位置補正部30に出力する。位置補正部30は、これらの情報にもとづき、被検査対象の位置を正確に検知することができる。位置補正部30は、被検査画像の位置(角度や大きさ)を補正することができる。なお、良品画像についても、これまで説明してきた手法により生成可能である。
【0057】
図17(A)、(B)は、位置分析部26および位置補正部30による位置情報抽出処理の具体例を示す図である。
図17(A)は、位置情報抽出対象の被検査画像を示す。位置分析部26は、当該被検査画像から得られるBGAのボールに対応するBGA搭載領域のパッドの位置情報と上記設計情報分析結果を分析する。位置補正部30は、位置分析部26による分析結果をもとに、上記設計情報と対応関係にあるパッドの位置情報を補正する。
図17(B)は、補正された位置情報の抽出結果を示す。
図13(B)と比較し、複数の位置情報の統計値と、位置情報間の接続関係を使用しているため、多少の位置情報の欠落や過剰検出があっても、高精度に位置情報を抽出できる。
【0058】
図18(A)−(C)は、位置情報分析結果の具体例を示す図である。
図18(A)は、要素間距離ヒストグラムを示し、
図18(B)は、要素間角度ヒストグラムを示し、
図18(C)は、対応要素間ズレ量を示す。この具体例では、要素間の平均距離は14.40ドットである。要素間の平均角度は0.014radである。対応要素間の平均ズレ量は、x成分が0.0569ドット、y成分が0.3830ドットである。
【0059】
これらの分析結果をみると、一見同じようにみえる要素間の距離、角度、ズレ量もかなりバラツクことが分かる。したがって、
図7、
図8に示したように、各抽出点ごとに位置を検出する方法では、正確な位置を検出することが難しいことが分かる。本実施の形態では、対応関係にある位置情報間の距離、角度、ズレ量のそれぞれの平均値を算出することにより、個々の位置情報の抽出ズレを吸収する。
【0060】
図19(A)−(C)は、位置情報分析結果を用いた画像比較を示す図である。
図19(A)は良品画像を示し、
図19(B)は不良画像を示し、
図19(C)は
図19(A)の画像と
図19(B)の画像との差分画像を示す。不良画像内の異物A6が差分画像において正確な位置で検出されていることが分かる。
【0061】
以上説明したように本実施の形態によれば、被検査画像内から抽出される複数の抽出点を位置検出用に用い、位置検出処理中に各抽出点の位置情報だけでなく各抽出点間の接続関係(たとえば、各抽出点間の距離や角度)を用いることにより、抽出点の過不足があっても、被検査画像内から被検査対象の位置を高精度に検出できる。より具体的には、上述した距離の比率、角度の差分の平均値を用いることにより、被検査対象の検出時の位置ズレを最小限に抑えることができる。これに対し、個々の抽出点をそのまま用いた場合、大きな位置ズレが発生しやすくなる。
【0062】
一般に、被検査画像から得られる特徴点の集合は、撮像条件のバラツキや被検査対象の形状や色のバラツキにより、抽出設計値より得られる特徴点の集合と比べて、抽出点の位置や角度のズレ、抽出点の欠落、過剰抽出が多く発生する。この点、本実施の形態に係る位置検出装置によれば、抽出点の位置や角度のズレ、抽出点の多少の欠落や過剰抽出があっても、被検査対象の位置を高精度に検出できる。
【0063】
このように、複数の位置検出箇所とその相互関係を用いて高精度に位置検出、位置補正することにより、外観検査による比較検査時において見過ぎや見逃しを最小限に抑えることができる。
【0064】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せによりいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0065】
上述した実施の形態では、観察対象をプリント基板のBGA搭載領域としたが、プリント基板のその他の領域であってもよい。また、観察対象はプリント基板に限るものではない。たとえば、人間の生体情報(たとえば、指紋、静脈、虹彩)であってもよい。生体情報の場合でも、上述した特徴点、各特徴点間の距離や角度、各特徴点間の接続の有無を観念できる。指紋認証の場合、隆線の端点および/または分岐点を特徴点に設定できる。静脈認証や虹彩認証の場合、毛細血管の分岐点を特徴点に設定できる。この場合も、撮影画像内の生体情報の位置を高精度に検出できる。