以下、本発明による基板検査装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素は同一または相当するものであり、再度の説明を省略することがある。本実施の形態による基板検査装置は、ハンダ状態を検査する領域であるハンダ領域を自動的に特定するものである。また、本実施の形態による基板検査装置は、ハンダ状態の合否検査で用いる閾値を自動的に設定したり、変更したりするものである。
図1は、本実施の形態による基板検査装置1の構成を示す図である。本実施の形態による基板検査装置1は、被検査基板の外観検査を行うものであり、照明部11と、撮影部12と、記憶部13と、シルク除去部14と、低輝度領域特定部15と、ハンダ領域特定部16と、検査部17と、出力部18と、閾値設定部19と、受付部20と、閾値変更部21とを備える。本実施の形態では、基板検査装置1が被検査基板のハンダ状態に関する検査を行う場合について主に説明するが、基板検査装置1は、被検査基板に関するそれ以外の外観検査を行ってもよい。また、図1においては、撮影部12が、基板31を上方から撮影する場合について示しているが、そうでなくてもよい。基板31のハンダ面31aは、通常、基板31の裏面側となる。したがって、撮影部12は、基板31の下方から基板31のハンダ面31aを撮影してもよい。
照明部11は、撮影対象の基板31を照明するものであり、複数の白色光源11aと、複数の有色光源11b〜11dと、傘状部材11eとを備える。白色光源11aと、有色光源11b〜11dとは、傘状部材11eの内側に配置されている。複数の白色光源11aは、傘状部材11eの内側に円環状に配置されている。白色光源とは、色合いのない光である白色光を出射する光源である。白色光は、複数の波長を有する光であると考えてもよい。白色光は、例えば、昼光色や昼白色、電球色などであってもよい。複数の白色光源11aは、図1で示されるように、同心の複数の円環にそれぞれ沿うように配置されてもよく、または、一つの円環に沿うように配置されてもよい。同心の複数の円環は、それぞれ半径が異なるものであってもよい。複数の有色光源11b〜11dは、基板31に対して発光色ごとにそれぞれ異なる仰角となるように円環状に配置されている。有色光源とは、特定の色合いのある光である有色光を出射する光源である。有色光は、特定の波長を主に有する光であると考えてもよい。有色光は、例えば、赤色光、オレンジ色光、黄色光、緑色光、青色光、紫色光などであってもよい。本実施の形態では、基板31に対する仰角が大きい複数の有色光源11bの発光色が赤色であり、基板31に対する仰角が中程の複数の有色光源11cの発光色が緑色であり、基板31に対する仰角が小さい複数の有色光源11dの発光色が青色である場合について説明する。なお、光源の基板31に対する仰角とは、光源の出射方向の基板31に対する仰角であると考えてもよい。また、図1では、複数の有色光源11b〜11dの発光色ごとに円環の半径が異なる場合について示しているが、そうでなくてもよい。また、発光色ごとの複数の円環は同心であり、また、白色光源11aの円環とも同心であることが好適である。複数の白色光源11aや複数の有色光源11b〜11dが円環状に配置される際には、均等に配置されることが好適である。傘状部材11eは、例えば、ドーム形状であってもよく、半球形状であってもよく、または、その他の形状であってもよい。なお、傘状部材11eの中心には、撮影部12が基板31を撮影するための開口部が存在するものとする。また、複数の白色光源11aや、複数の有色光源11b〜11dによって形成される円環の中心軸が、基板31の法線方向となるように基板31が照明されることが好適である。また、白色光源11aや、有色光源11b〜11dは、例えば、発光ダイオード(LED:light emitting diode)であってもよく、その他の光源であってもよい。
撮影部12は、複数の有色光源11b〜11dが点灯されている際に良品基板31のハンダ面31aを撮影することによって有色撮影画像を取得する。基板31のハンダ面31aとは、基板31において、部品32のハンダ付けが行われる面である。例えば、部品が実装される面である部品面の裏面がハンダ面であってもよい。なお、チップ抵抗等の小さな部品32は、図1で示されるように、ハンダ面31a側に実装されることもある。また、ハンダ面31aには、通常、シルク印刷がなされている。そのシルク印刷は、例えば、部品の実装作業を補助する目的や、基板の品番等を表示する目的などのために設けられるものである。そのシルク印刷の箇所は、通常、白色であるため、上述のように、輝度によってハンダの箇所と区別することは困難である。なお、有色撮影画像に関する撮影の際には、複数の白色光源11aは、点灯されていてもよく、または、点灯されていなくてもよい。基板31に実装される部品は、例えば、抵抗、コンデンサ、IC(集積回路)、トランジスタ、ダイオード等の電子部品であってもよい。良品基板は、例えば、部品の実装された基板であって、検査者による目視検査(マニュアル検査)によってハンダの状態が合格である判断された基板であってもよい。すなわち、良品基板においては、各部品が良好なハンダ状態のハンダ付けによって実装されていることになる。また、撮影部12は、複数の白色光源11aが点灯されている際に良品基板31のハンダ面31aを撮影することによって白色撮影画像を取得する。白色撮影画像に関する撮影の際には、複数の有色光源11b〜11dは、消灯されているものとする。また、撮影部12は、複数の有色光源11b〜11dが点灯されている際に部品32の実装された被検査基板31のハンダ面31aを撮影することによって被検査基板画像を取得してもよい。その被検査基板画像に関する撮影は、被検査基板の合否検査を行うために行われるものである。被検査基板画像に関する撮影の際には、複数の白色光源11aは、点灯されていてもよく、または、点灯されていなくてもよい。被検査基板は、基板検査装置1による外観検査の対象となる基板である。その被検査基板は、ハンダ領域の特定の対象となった良品基板に対応する基板であることが好適である。良品基板に対応する被検査基板とは、良品基板と同様に部品が実装される基板である。なお、「良品基板」と「被検査基板」とを区別しない場合には、単に「基板」と呼ぶこともある。また、撮影部12は、検査部17による検査で用いられる閾値の設定のために、複数の良品基板のそれぞれを撮影することによって、複数の有色撮影画像を取得してもよい。すなわち、良品基板について有色撮影画像を取得する処理が、異なる良品基板について複数回、繰り返されてもよい。撮影部12は、上述のように、傘状部材11eの開口部を介して基板31の撮影を行ってもよい。撮影部12による撮影によって取得される画像は、カラー画像である。撮影部12は、例えば、CCDやCMOS等の撮像素子を有していてもよい。また、撮影部12によって撮影された各画像は、記憶部13に蓄積されてもよい。また、撮影部12による一回の撮影で基板31の全体が撮影できない場合には、撮影部12と基板31とが移動手段(図示せず)によって相対的に移動されながら複数回の撮影が行われてもよい。その場合には、撮影画像が合成されることによって、基板31の全体に対応する撮影画像が取得されてもよく、または、基板31を部分的に撮影した撮影画像ごとに、後述するハンダ領域の取得や合否検査などが行われてもよい。
記憶部13では、撮影部12による撮影によって取得された各種の撮影画像が記憶されてもよい。また、所定の領域を特定する情報や、ハンダ状態に関する合否検査で用いられる閾値、その合否検査の結果等が記憶されてもよい。記憶部13に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が記憶部13で記憶されるようになってもよく、通信回線等を介して送信された情報が記憶部13で記憶されるようになってもよく、または、入力デバイスを介して入力された情報が記憶部13で記憶されるようになってもよい。記憶部13での記憶は、RAM等における一時的な記憶でもよく、または、長期的な記憶でもよい。記憶部13は、所定の記録媒体(例えば、半導体メモリや磁気ディスクなど)によって実現されうる。
シルク除去部14は、有色撮影画像において、輝度の高い領域である高輝度領域を特定する。有色撮影画像において、輝度の高い領域は、ハンダを含む領域である。したがって、高輝度領域にハンダ領域が含まれることになる。シルク除去部14は、例えば、有色撮影画像において、輝度に関するあらかじめ決められた閾値よりも輝度の高い高輝度領域を特定してもよく、または、有色撮影画像における基板の箇所よりも輝度の高い高輝度領域を特定してもよい。後者の場合には、シルク除去部14は、例えば、ユーザから入力された基板の箇所を受け付けることによって、基板の箇所を特定してもよく、または、自動的に基板の箇所を特定してもよい。後者の場合、すなわち自動的に基板の箇所を特定する場合には、シルク除去部14は、例えば、有色撮影画像において、最も面積の広い色の箇所を基板の箇所として特定してもよく、または、あらかじめ設定された基板色の箇所や特定の位置の箇所(例えば、基板の周縁部など)を基板の箇所として特定してもよい。基板色は、基板に塗布されるソルダーレジストの色であり、通常、緑色である。なお、シルク印刷の色である白色は、通常、基板色よりも輝度が高いため、高輝度領域にはシルク印刷の箇所も含まれることになる。
シルク除去部14は、有色撮影画像と白色撮影画像との彩度の差の小さい領域である低彩度差領域を、上記のようにして特定した高輝度領域から除去した領域であるシルク除去領域を特定する。なお、低彩度差領域は、シルク印刷を含む領域である。低彩度差領域は、有色撮影画像の彩度から、白色撮影画像の彩度を減算した差が、彩度についてあらかじめ決められた閾値よりも小さい領域であってもよい。その閾値は、シルク印刷の箇所を適切に特定できるように設定されることが好適である。有色撮影画像と白色撮影画像との彩度の差として、両画像の彩度の差の絶対値を用いてもよい。図6で示されるように、ハンダの箇所には、通常、平面の箇所と、緩斜面の箇所と、急斜面の箇所が存在する。図6では、チップ抵抗に関するハンダの箇所を示しているが、リード線をランドにハンダ付けする場合であっても同様である。上述のように、照明部11において、赤色の仰角が大きく、青色の仰角が小さく、緑色の仰角がそれらの中間である場合には、図6で示されるように、有色撮影画像において、平面の箇所が赤色となり、緩斜面の箇所が緑色となり、急斜面の箇所が青色となる。したがって、有色撮影画像において、ハンダの箇所は、赤や青、緑などの高い彩度を有する箇所になる。一方、白色撮影画像においては、ハンダの箇所はすべて白色や銀色になるため、低い彩度を有する箇所になる。また、シルク印刷の箇所は、平面に白色で印刷された箇所であるため、有色撮影画像及び白色撮影画像の両方において白色になるため、低い彩度を有する箇所になる。したがって、上記低彩度差領域には、主にシルク印刷の箇所が含まれることになり、ハンダの箇所はあまり含まれないことになる。その結果、ハンダの箇所とシルク印刷の箇所とを含む高輝度領域から、低彩度差領域を除去することによって、シルク印刷の箇所を除去しながらも、ハンダの箇所を残すことができることになる。このように、シルク除去領域は、シルク印刷の箇所は含まないが、ハンダの箇所は含む領域となる。
低輝度領域特定部15は、有色撮影画像において、照明部11における基板31に対する仰角の小さい位置に配置された有色光源11dの発光色に関する輝度の低い領域である低輝度領域を特定する。図6から明らかなように、基板31に対する仰角の小さい位置に配置された有色光源11dの発光色に対応する領域は、ハンダの箇所における急斜面の領域となる。その急斜面の領域における反射光は、通常、撮影部12とは異なる方向に反射されることになるため、有色撮影画像においても、その急斜面の領域は暗く表示されることになる。したがって、その領域は、通常、高輝度領域に含まれないことになる。そのように、低輝度領域を特定することによって、ハンダの箇所の急斜面の領域を特定できるため、特定された低輝度領域もハンダ領域の一部となりうる。なお、輝度の低い領域とは、有色撮影画像において、高輝度領域の特定で用いた輝度に関する閾値よりも輝度の低い領域であってもよい。有色光源11dの発光色が青色であるとすると、低輝度領域特定部15は、有色撮影画像において、青色を含む所定の範囲の色相を有しており、閾値よりも低い輝度である領域を、低輝度領域として特定してもよい。
ハンダ領域特定部16は、シルク除去領域と低輝度領域とを用いて、ハンダ状態を検査する領域であるハンダ領域を特定する。理想的には、シルク除去領域と低輝度領域とをマージした領域がハンダ領域となる。しかしながら、現実には、シルク除去領域と低輝度領域とをマージした結果には、ハンダ領域ではない領域も含まれており、また、ハンダ領域の一部が含まれていないことがある。したがって、ハンダ領域特定部16は、シルク除去領域と低輝度領域とをマージした結果に含まれる連続している複数の領域(以下、この領域を「ハンダ候補領域」とする。)を特定し、そのようにして特定した複数のハンダ候補領域に関して、例えば、ノイズの除去と、領域の統合とを行うことによって、ハンダ領域を特定してもよい。ノイズとは、ハンダ領域ではない領域がハンダ候補領域となっている領域であってもよく、ハンダ領域がハンダ候補領域ではない領域となっている領域であってもよい。したがって、ノイズの除去は、例えば、ノイズであるハンダ候補領域をハンダ候補領域ではない領域とすることであってもよく、ハンダ候補領域の内部に含まれるハンダ候補領域ではない領域をハンダ候補領域とすることであってもよい。すなわち、ノイズの除去は、例えば、ハンダ候補領域をハンダ候補領域ではない領域に変更することや、ハンダ候補領域ではない領域をハンダ候補領域に変更することによって行われてもよい。そのノイズの除去は、後述するように、例えば、領域の大きさ(面積)を用いて行われてもよく、または、領域の形状を用いて行われてもよい。また、領域の統合は、例えば、あるハンダ候補領域と、そのハンダ候補領域に近接している別のハンダ候補領域とを、両領域の間に存在する領域を含めて一つのハンダ候補領域に変更することであってもよい。
具体的には、ハンダ領域特定部16は、次のようにしてハンダ領域を特定してもよい。ハンダ領域特定部16は、近接しているハンダ候補領域を統合して、新たなハンダ候補領域とする。ハンダ領域特定部16は、例えば、第1のハンダ候補領域と、第2のハンダ候補領域との最短距離を取得し、その最短距離が、最短距離に関するあらかじめ決められた閾値よりも小さい場合に、第1及び第2のハンダ候補領域を統合してもよい。その統合は、第1及び第2のハンダ候補領域と、第1及び第2のハンダ候補領域の間に存在する領域とを統合して、新たな一つのハンダ候補領域とすることによって行われてもよい。その統合の処理は、例えば、第1及び第2のハンダ候補領域の両方が、所定の閾値以上の面積である場合にのみ行われてもよい。また、ハンダ領域特定部16は、ハンダ候補領域の内部に存在するハンダ候補領域以外の領域であって、面積に関するあらかじめ決められた閾値よりも小さい大きさの領域については、そのハンダ候補領域に含めてもよい。この処理により、ハンダ候補領域内のノイズを除去することができる。また、ハンダ領域特定部16は、各ハンダ候補領域についてアスペクト比を取得する。アスペクト比は、領域の縦横比であり、例えば、長辺の長さを、短辺の長さで割ったものであってもよい。そして、ハンダ領域特定部16は、アスペクト比が、アスペクト比に関するあらかじめ決められた閾値よりも大きいハンダ候補領域を除去してもよい。すなわち、ハンダ領域特定部16は、アスペクト比が所定の範囲内にないハンダ候補領域を除去してもよい。なお、あるハンダ候補領域を除去するとは、そのハンダ候補領域を、ハンダ候補領域ではない領域とすることである。この除去によって、通常のハンダ領域の形状と明らかに異なる形状のハンダ候補領域を除去することができる。なお、アスペクト比の取得方法について簡単に説明する。ハンダ領域特定部16は、例えば、あるハンダ候補領域を含む最小の矩形を設定し、その設定した矩形の長辺を短辺で割ることによって、アスペクト比を算出してもよい。また、それ以外の方法によってアスペクト比を算出してもよい。通常、ハンダ領域の大きさや形状は大体決まっているため、そのハンダ領域の一辺よりも十分小さい値を、最短距離に関する閾値として設定してもよく、ハンダ領域の面積よりも十分小さい値を、面積に関する閾値として設定してもよく、そのハンダ領域のアスペクト比の上限よりも大きな値を、アスペクト比に関する閾値として設定してもよい。それらの閾値は、適切なハンダ領域の特定を行うことができるように微調整されてもよい。上述のようにハンダ候補領域の除去等の処理を行った後に、ハンダ領域特定部16は、残っている各ハンダ候補領域をそれぞれハンダ領域としてもよい。なお、ハンダ領域特定部16は、面積が所定の範囲内ではないハンダ候補領域を除去してハンダ領域の特定を行ってもよい。通常、ハンダ領域の面積は、所定の範囲内になると考えられるからである。その処理により、ハンダ領域ではない領域がハンダ候補領域となっているノイズを除去することができる。また、ハンダ領域特定部16は、最終的に残った各ハンダ候補領域よりも一回り大きい領域、例えば、各ハンダ候補領域の外縁をあらかじめ決められただけ外側に拡張した各領域を、ハンダ領域としてもよい。そのようにすることで、ハンダの過剰に関する検査を適切に行うことができうる。
なお、ハンダ領域を特定するまでの各処理は、例えば、画像処理として行ってもよく、または、そうでなくてもよい。上記各処理を、画像処理ではない処理として行う場合には、例えば、各領域の境界(外縁)を示す情報が取得され、その情報を用いて、領域の除去等が行われてもよい。例えば、第1の領域から第2の領域を除去する場合には、第1の領域と第2の領域とに共通する領域を特定し、その特定した領域を、第1の領域から除去してもよい。次に、ハンダ領域を特定するまでの各処理を画像処理として行う場合の一例について図3を用いて説明する。
図3(a)は、有色撮影画像であり、図3(b)は、白色撮影画像であるとする。なお、図3(a),図3(b)では、有色撮影画像と白色撮影画像との両方がグレースケールの画像となっているが、本来は両方ともカラーの画像である。シルク除去部14は、図3(a)の有色撮影画像において、輝度が閾値よりも高い領域が白となり、それ以外の領域が黒となるように二値化した図3(c)の画像を生成する。その図3(c)の画像が、高輝度領域を特定した画像となる。また、シルク除去部14は、図3(a)の有色撮影画像の彩度と、図3(b)の白色撮影画像の彩度との差を計算し、その差が閾値以上である領域である低彩度差領域を特定する。そして、シルク除去部14は、図3(c)の高輝度領域の画像において、その特定した低彩度差領域の箇所を黒に変換することによって、シルク除去領域を示す図3(d)の画像を取得する。なお、図3(d)において、白の領域が、シルク除去領域である。また、低輝度領域特定部15は、図3(a)の有色撮影画像において、輝度が閾値よりも低い青色の領域である低輝度領域を特定する。すると、ハンダ領域特定部16は、図3(d)のシルク除去領域を示す画像において、低輝度領域を白に変換することによって、シルク除去領域と低輝度領域とをマージした図3(e)の画像を生成する。その後、ハンダ領域特定部16は、図3(e)の画像において、ノイズの除去や領域の統合を行うことによって、図3(f)のハンダ領域を示す画像を取得する。このようにして、画像処理によって、ハンダ領域の特定を行うことができる。なお、結果としてハンダ領域を特定できるのであれば、ハンダ領域を特定する処理の内容は問わない。ハンダ領域を特定する処理は、例えば、ハンダ領域の輪郭を示す情報を取得する処理であってもよく、または、ハンダ領域以外をマスクするマスク画像を取得する処理であってもよい。
検査部17は、被検査基板画像におけるハンダ領域について、閾値を用いてハンダ状態の合否検査を行う。この合否検査は、ハンダ領域ごとに行われる。また、その合否検査で用いられる閾値は、通常、ハンダ領域ごとに設定されているものとする。その閾値は、例えば、ハンダ領域におけるハンダの面積の比、すなわち、(ハンダの面積)/(ハンダ領域の面積)であってもよく、ハンダの面積そのものであってもよく、その他の値であってもよい。本実施の形態では、閾値が、ハンダ領域におけるハンダの面積の比である場合について主に説明する。その閾値は、例えば、閾値設定部19によって設定されてもよく、また、閾値変更部21によって変更されてもよい。また、その閾値は、作業者によって手作業で変更されてもよい。ハンダ状態の合否検査は、例えば、ハンダの過多、ハンダの過少に関する検査であってもよい。そのハンダの過多、ハンダの過少の検査について、閾値が用いられてもよい。例えば、検査部17は、ハンダ領域におけるハンダの面積の比が上限閾値よりも大きい場合に、ハンダの過多であると判断し、合否検査の結果を不合格としてもよい。また、例えば、検査部17は、ハンダ領域におけるハンダの面積の比が下限閾値よりも小さい場合に、ハンダの過少であると判断し、合否検査の結果を不合格としてもよい。また、例えば、検査部17は、ハンダ領域におけるハンダの面積の比が下限閾値より大きく、上限閾値より小さい場合に、ハンダの状態が適切であると判断し、合否検査の結果を合格としてもよい。なお、検査部17は、ハンダ領域におけるハンダの面積の比が下限閾値や上限閾値と等しい場合に、合否検査の結果を不合格としてもよく、合格としてもよい。また、検査部17は、閾値を用いない検査(例えば、ハンダのブリッジの検査や、ハンダボールの検査等)も行ってもよい。各検査においてすべて合格と判断された場合には、合否検査の結果が合格となり、各検査のいずれかにおいて不合格と判断された場合には、合否検査の結果が不合格となる。ハンダ状態の合否検査についてはすでに公知であり、その詳細な説明を省略する。
出力部18は、検査部17による合否検査の結果に関する出力を行う。合否検査の結果に関する出力は、合否検査の結果の出力であってもよく、合否検査の結果に応じた制御等に関する出力であってもよい。前者は、例えば、作業者等に合否検査の結果を示すために行われてもよい。また、後者は、例えば、被検査基板の搬送装置に対して、不合格と判断された被検査基板を、不合格の被検査基板が集められている箇所に搬送するように指示するために行われてもよい。
ここで、この出力は、例えば、表示デバイス(例えば、液晶ディスプレイや有機ELディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、スピーカによる音声出力でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。なお、出力部18は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、または含まなくてもよい。また、出力部18は、ハードウェアによって実現されてもよく、または、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
閾値設定部19は、複数の有色撮影画像の取得が行われた場合に、その複数の有色撮影画像の各ハンダ領域におけるハンダ状態の合否検査の結果が合格となるように、閾値を設定する。その閾値の設定は、ハンダ領域ごとに行われる。また、その閾値は、上限閾値であってもよく、下限閾値であってもよく、または、両者であってもよい。その閾値は、例えば、複数の有色撮影画像のハンダ領域から取得されたハンダの面積の比の上限や下限を用いて設定されてもよい。例えば、複数の有色撮影画像から取得されたあるハンダ領域に関するハンダの面積の比の最大値が上限閾値に設定され、ハンダの面積の比の最小値が下限閾値に設定されてもよい。なお、その閾値の設定の際に、例えば、ハンダの面積の比の最大値よりもあらかじめ決められた値だけ大きい値を上限閾値に設定し、ハンダの面積の比の最小値よりもあらかじめ決められた値だけ小さい値を下限閾値に設定してもよい。また、取得された有色撮影画像の個数がある程度多い場合(例えば、20個や30個など)には、統計学的に上限閾値や下限閾値を設定してもよい。その場合には、閾値設定部19は、例えば、あるハンダ領域について取得したハンダの面積の複数の比から、平均値μと標準偏差σとを算出し、それらを用いて、良品基板のハンダの面積の比が下限閾値から上限閾値の範囲内に含まれるように各閾値を設定してもよい。具体的には、閾値設定部19は、μ+3σを上限閾値に設定し、μ−3σを下限閾値に設定してもよい。ハンダの面積の比が正規分布になると仮定すると、そのμ−3σからμ+3σまでの範囲に約99.7%の良品基板のハンダの面積の比が含まれることになるため、適切な上限閾値と下限閾値との設定であると考えられる。なお、合否検査において、上限閾値と下限閾値との一方のみが使用される場合には、閾値設定部19は、使用する閾値のみを設定してもよい。
受付部20は、検査部17によって不合格と判断された被検査基板のハンダ領域に関する目視検査の結果が合格である旨を受け付ける。例えば、検査部17によって不合格と判断された被検査基板の検査結果が出力部18によって出力された際に、検査者が、その不合格になった被検査基板を目視検査し、合格であると判断した場合に、その旨を基板検査装置1に入力したとすると、その不合格と判断されたハンダ領域に関する目視検査の結果が合格である旨の入力が、受付部20によって受け付けられることになる。なお、その入力は、例えば、被検査基板において不合格と判断されたすべてのハンダ領域について、目視検査の結果が合格である旨であってもよく、被検査基板において不合格と判断されたハンダ領域を特定する情報と、その情報によって特定されるハンダ領域について目視検査の結果が合格である旨とであってもよい。また、受付部20は、その他の指示等を受け付けてもよい。受付部20は、例えば、ハンダ領域の特定を開始する旨の指示や、検査を行う旨の指示、閾値の設定を開始する旨の指示などを受け付けてもよい。
受付部20は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された情報を受け付けてもよく、有線もしくは無線の通信回線を介して送信された情報を受信してもよい。なお、受付部20は、受け付けを行うためのデバイス(例えば、入力デバイスやネットワークカードなど)を含んでもよく、または含まなくてもよい。また、受付部20は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
閾値変更部21は、受付部20によって目視検査の結果が合格である旨が受け付けられたハンダ領域の検査部17による合否検査の結果が合格となるように、ハンダ領域に関する閾値を変更する。閾値変更部21は、例えば、目視検査の結果が合格である旨が受け付けられたハンダ領域に関するハンダの面積の比が、上限閾値または下限閾値となるように閾値を変更してもよい。具体的には、閾値変更部21は、そのハンダ領域に関するハンダの面積の比が、変更前の上限閾値よりも大きい場合には、上限閾値がそのハンダ領域に関するハンダの面積の比となるように変更してもよく、そのハンダ領域に関するハンダの面積の比が、変更前の下限閾値よりも小さい場合には、下限閾値がそのハンダ領域に関するハンダの面積の比となるように変更してもよい。なお、閾値変更部21は、上限閾値を変更する場合には、例えば、ハンダ領域に関するハンダの面積の比よりも微小な値だけ大きい値に上限閾値を変更してもよい。また、閾値変更部21は、下限閾値を変更する場合には、例えば、ハンダ領域に関するハンダの面積の比よりも微小な値だけ小さい値に下限閾値を変更してもよい。その微小な値は、あらかじめ決められた値であることが好適である。この閾値変更部21による閾値の変更が繰り返されることにより、閾値が適切な値に収束すると考えられる。
次に、基板検査装置1の動作について図2のフローチャートを用いて説明する。
(ステップS101)ハンダ領域特定部16は、ハンダ領域の特定を行うかどうか判断する。そして、ハンダ領域の特定を行う場合には、ステップS102に進み、そうでない場合には、ステップS108に進む。ハンダ領域特定部16は、例えば、基板検査装置1にハンダ領域の特定を行う旨の指示が入力された場合に、ハンダ領域の特定を行うと判断してもよい。
(ステップS102)撮影部12は、複数の有色光源11b〜11dによって照明された良品基板の画像である有色撮影画像を取得する。その取得された有色撮影画像は、記憶部13で記憶されてもよい。
(ステップS103)撮影部12は、複数の白色光源11aによって照明された良品基板の画像である白色撮影画像を取得する。その取得された白色撮影画像は、記憶部13で記憶されてもよい。
(ステップS104)シルク除去部14は、有色撮影画像において、輝度の高い領域である高輝度領域を特定する。
(ステップS105)シルク除去部14は、有色撮影画像と白色撮影画像との彩度の差の小さい低彩度差領域を、ステップS104で特定した高輝度領域から除去したシルク除去領域を特定する。
(ステップS106)低輝度領域特定部15は、有色撮影画像において、基板に対する仰角の小さい位置の有色光源11dの発光色に応じた色に関する輝度の低い領域である低輝度領域を特定する。
(ステップS107)ハンダ領域特定部16は、ステップS105で特定されたシルク除去領域と、ステップS106で特定された低輝度領域とを用いて、ハンダ領域を特定する。特定されたハンダ領域は、記憶部13で記憶されてもよい。そして、ステップS101に戻る。
(ステップS108)閾値設定部19は、閾値の設定を行うかどうか判断する。そして、閾値の設定を行う場合には、ステップS109に進み、そうでない場合には、ステップS111に進む。閾値設定部19は、例えば、基板検査装置1に閾値の設定を行う旨の指示が入力された場合に、閾値の設定を行うと判断してもよい。
(ステップS109)撮影部12は、複数の良品基板のそれぞれについて、複数の有色撮影画像を取得する。その取得された複数の有色撮影画像は、記憶部13で記憶されてもよい。また、その複数の有色撮影画像のうちの一つとして、ステップS102で撮影された有色撮影画像が用いられてもよい。
(ステップS110)閾値設定部19は、複数の有色撮影画像の各ハンダ領域におけるハンダの面積の比を用いて、複数の有色撮影画像に対応する複数の良品基板の合否検査の結果が合格となるように、各ハンダ領域の閾値を設定する。そして、ステップS101に戻る。
(ステップS111)検査部17は、被検査基板に関する合否検査を行うかどうか判断する。そして、合否検査を行う場合には、ステップS112に進み、そうでない場合には、ステップS115に進む。検査部17は、例えば、基板検査装置1に検査を行う旨の指示が入力された場合に、被検査基板の合否検査を行うと判断してもよい。
(ステップS112)撮影部12は、複数の有色光源11b〜11dによって照明された被検査基板の画像である被検査基板画像を取得する。その被検査基板画像は、記憶部13で記憶されてもよい。
(ステップS113)検査部17は、ステップS112で取得された被検査基板画像の各ハンダ領域について、閾値を用いてハンダ状態の合否検査を行う。その閾値は、例えば、閾値設定部19で設定された閾値や、閾値変更部21によって変更された閾値であってもよい。
(ステップS114)出力部18は、検査部17による合否検査の結果に関する出力を行う。そして、ステップS101に戻る。
(ステップS115)受付部20は、検査部17によって不合格と判断された被検査基板のハンダ領域に関する目視検査の結果が合格である旨を受け付けたかどうか判断する。そして、そのような入力を受け付けた場合には、ステップS116に進み、そうでない場合には、ステップS101に戻る。
(ステップS116)閾値変更部21は、受付部20によって目視検査の結果が合格である旨の受け付けられたハンダ領域に関する閾値を、そのハンダ領域に関する検査部17による合否検査の結果が合格になるように変更する。そして、ステップS101に戻る。
なお、図2のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、本実施の形態による基板検査装置1の動作について、具体例を用いて説明する。なお、この具体例では、シルク除去領域の特定等が画像処理によって行われる場合について説明する。まず、作業者が良品基板を基板検査装置1に装着し、ハンダ領域の特定を開始する旨の指示を入力したとする。すると、その指示は受付部20で受け付けられ、ハンダ領域特定部16に渡される。その指示を受け取ると、ハンダ領域特定部16は、ハンダ領域の特定を行うと判断し(ステップS101)、照明部11が複数の有色光源11b〜11dを点灯するように制御し、その複数の有色光源11b〜11dが点灯された状態において、撮影部12による撮影を行わせる。その結果、有色撮影画像が取得され、記憶部13に蓄積される(ステップS102)。次に、ハンダ領域特定部16は、照明部11が複数の白色光源11aを点灯するように制御し、その複数の白色光源11aが点灯された状態において、撮影部12による撮影を行わせる。その結果、白色撮影画像が取得され、記憶部13に蓄積される(ステップS103)。
その後、ハンダ領域特定部16は、シルク除去領域を特定するようにシルク除去部14に指示し、また、低輝度領域を特定するように低輝度領域特定部15に指示する。その指示を受け取ると、シルク除去部14は、記憶部13で記憶されている有色撮影画像を用いて高輝度領域を示す画像を取得する(ステップS104)。また、シルク除去部14は、記憶部13で記憶されている有色撮影画像と白色撮影画像との彩度の差の小さい領域である低彩度差領域を、高輝度領域から除去したシルク除去領域を示す画像を取得し、その画像をハンダ領域特定部16に渡す(ステップS105)。また、低輝度領域特定部15は、ハンダ領域特定部16からの指示に応じて、記憶部13で記憶されている有色撮影画像から、低輝度領域を示す画像を取得し、その画像をハンダ領域特定部16に渡す(ステップS106)。
シルク除去領域を示す画像、及び低輝度領域を示す画像を受け取ると、ハンダ領域特定部16は、それらをマージした画像を生成し、ノイズの除去と領域の統合を行うことによって、ハンダ領域を示す画像を取得する(ステップS107)。そして、ハンダ領域特定部16は、そのハンダ領域を示す画像における各ハンダ領域の輪郭を抽出し、図4Aで示されるように、その輪郭を示す領域情報を、ハンダ領域を識別する領域IDに対応付けて記憶部13に蓄積する。図4Aにおいて、例えば、領域ID「A1」で識別されるハンダ領域の輪郭を示す情報が、領域情報「D101」となる。
次に、作業者が閾値の設定を開始する旨の指示を入力したとする。すると、その指示は受付部20で受け付けられ、閾値設定部19に渡される。その指示を受け取ると、閾値設定部19は、閾値の設定を行うと判断し(ステップS108)、良品基板を装着する旨の指示を出力する。その指示は、例えば、出力部18によって表示されてもよい。その指示に応じて作業者が良品基板を基板検査装置1に装着すると、閾値設定部19は、図示しない経路を介して照明部11と撮影部12とを制御し、有色撮影画像を取得させる。閾値設定部19は、そのような処理を複数回繰り返す。その結果、複数の有色撮影画像が取得され、記憶部13で記憶されることになる(ステップS109)。その後、閾値設定部19は、ハンダ領域の特定に用いられた有色撮影画像と、閾値の設定のために取得された複数の有色撮影画像とを用いて、各ハンダ領域について閾値を設定する(ステップS110)。具体的には、閾値設定部19は、複数の有色撮影画像から、領域ID「A1」に対応する領域情報「D101」で示されるハンダ領域におけるハンダの面積の比をそれぞれ取得する。そして、閾値設定部19は、その取得した複数の比を用いて、領域ID「A1」で識別されるハンダ領域に関する上限閾値「TU101」と、下限閾値「TL101」とを取得し、領域ID「A1」に対応付けて記憶部13に蓄積する。閾値設定部19は、他のハンダ領域についても同様に、上限閾値と下限閾値とを取得して記憶部13に蓄積する。その結果、図4Bで示されるように、各ハンダ領域について閾値が設定されることになる。
その後、作業者が被検査基板を基板検査装置1に装着し、合否検査を開始する旨の指示を入力したとする。すると、その指示は受付部20で受け付けられ、検査部17に渡される。その指示を受け取ると、検査部17は、合否検査を行うと判断し(ステップS111)、照明部11と撮影部12とを制御し、被検査基板画像を取得させる(ステップS112)。その被検査基板画像は、記憶部13に蓄積される。検査部17は、その被検査基板画像を用いて合否検査を行う(ステップS113)。具体的には、検査部17は、まず、図4Bで示される領域ID「A1」に対応する領域情報「D101」を読み出し、被検査基板画像における領域情報「D101」で示されるハンダ領域を特定し、その特定したハンダ領域において、ハンダの面積を取得し、ハンダ領域におけるハンダの面積の比「A1−SR」を算出する。その面積の比「A1−SR」は、領域ID「A1」に対応する下限閾値「TL101」よりも小さかったとする。すると、検査部17は、領域ID「A1」で識別されるハンダ領域は不合格であると判断し、算出した比「A1−SR」と、不合格である旨とを記憶部13に蓄積する。また、検査部17は、領域ID「A2」で識別されるハンダ領域についてもハンダの面積の比「A2−SR」を算出し、その比が閾値の範囲内であるかどうか判断する。領域ID「A2」で識別されるハンダ領域については、ハンダの面積の比が下限閾値と上限閾値との間であったとする。すると、検査部17は、そのハンダ領域について合格であると判断する。このようにして、検査部17は、各ハンダ領域について順次、合否検査を行う。検査部17による合否検査が終了すると、出力部18は、記憶部13から被検査基板画像を読み出し、その被検査基板画像と、合否検査の結果が「不合格」である旨と、被検査基板画像において、不合格となったハンダ領域に対応する領域情報「D101」で示される位置を示す図形とを含む検査結果を、図5で示されるように表示する(ステップS114)。作業者は、その表示を見ることによって、領域情報「D101」で示されるハンダ領域のハンダ状態が不合格と判断されたことを知ることができる。なお、図5における×の位置が、不合格と判断されたハンダ領域の箇所である。このようにして、被検査基板のハンダの箇所に関する合否検査を行うことができる。
なお、不合格と判断された被検査基板のハンダ領域を作業者が目視検査したところ、ハンダの量がやや少ないが、ハンダ付けとしては問題なかったとする。そして、その作業者が、図5で示される表示において、「合格に変更」ボタンを選択したとする。すると、不合格と判断されたハンダ領域を合格に変更する旨が受付部20で受け付けられ、閾値変更部21に渡される(ステップS115)。すると、閾値変更部21は、不合格と判断された領域ID「A1」に対応するハンダの面積の比「A1−SR」を記憶部13から読み出し、その値「A1−SR」が上限閾値と下限閾値との間に含まれるように閾値を変更する(ステップS116)。具体的には、閾値変更部21は、図4Cで示されるように、領域ID「A1」に対応する下限閾値を、TL101−1に変更する。その下限閾値「TL101−1」は、A1−SRから、あらかじめ決められた微小な正の値εを減算した値である。そのように下限閾値が変更されることによって、領域ID「A1」のハンダ領域におけるハンダの面積の比「A1−SR」も下限閾値から上限閾値までの範囲内に含まれることになる。このようにして、目視検査の結果を簡単にフィードバックすることができ、閾値を適切な範囲に収束させることができるようになる。
なお、この具体例では、領域情報がハンダ領域の輪郭を示す情報である場合について説明したが、そうでなくてもよい。領域情報は、ハンダ領域以外の領域をマスクするマスク画像であってもよい。そのマスク画像を用いることによって、ハンダ領域を特定でき、また、ハンダ領域におけるハンダの面積を取得することもできるからである。また、この具体例において、図5で示されるように不合格である旨が出力された場合において、不合格である箇所が複数存在するときには、不合格である箇所ごとに、合格に変更するかどうかを入力できるようになっていてもよい。例えば、作業者が、合格に変更する箇所を選択し、「合格に変更」ボタンを選択できるためのインターフェースが表示されてもよい。
以上のように、本実施の形態による基板検査装置1によれば、ハンダ領域特定部16によって、ハンダ領域を自動的に特定することができる。したがって、作業者が手作業でハンダ領域を入力する必要がなくなり、作業者の労力が軽減されることになる。また、ハンダ領域の特定にシルク除去領域や低輝度領域を用いることによって、輝度のみによってシルク印刷とハンダとを区別する場合よりも、高精度なハンダ領域の特定を実現することができるようになる。特に、低輝度領域を用いることによって、高輝度領域に含まれないハンダの箇所も含めることができるようになるため、より高精度なハンダ領域の特定が可能となる。また、そのように自動的に特定されたハンダ領域を用いることによって、ハンダ状態に関する合否検査を行うこともできる。また、その合否検査で用いられる閾値を、良品基板の有色撮影画像を用いて自動的に設定したり、目視検査の結果を用いて自動的に変更したりすることもできるため、閾値の設定や変更に関する作業者の労力が軽減されることになる。また、ハンダ領域ごとに適切な閾値を設定できることになり、より高精度な合否検査を行うことができるようになる。
なお、本実施の形態では、閾値変更部21が、合格の範囲を広げる方向に閾値を変更する場合、すなわち、不合格と判断されたハンダ領域が合格と判断されるように閾値を変更する場合について説明したが、閾値変更部21は、合格の範囲を狭める方向に閾値を変更してもよい。合格の範囲を狭める方向に閾値を変更するとは、合格と判断されたハンダ領域が不合格と判断されるように閾値を変更することである。その場合には、受付部20は、検査部17によって合格と判断された被検査基板のハンダ領域に関する目視検査の結果が不合格である旨を受け付けてもよい。そして、閾値変更部21は、受付部20によって、目視検査の結果が不合格である旨が受け付けられたハンダ領域の検査部17による合否検査の結果が不合格となるように、そのハンダ領域に関する閾値を変更してもよい。その閾値の変更は、目視検査で不合格と判断されたハンダ領域に関するハンダの面積の比が、不合格の範囲となるように閾値を変更することであってもよい。
また、本実施の形態では、目視検査の結果に応じてハンダ領域に関する閾値を変更する場合について説明したが、そうでなくてもよい。そのような閾値の変更を行わない場合には、基板検査装置1は、閾値変更部21を備えていなくてもよい。また、受付部20は、不合格と判断された被検査基板のハンダ領域に関する目視検査の結果が合格である旨を受け付けなくてもよく、あるいは、基板検査装置1が受付部20を備えていなくてもよい。
また、本実施の形態では、複数の良品基板に関する複数の有色撮影画像を用いてハンダ領域に関する閾値を自動的に設定する場合について説明したが、そうでなくてもよい。そのような閾値の設定を行わない場合には、基板検査装置1は、閾値設定部19を備えていなくてもよい。基板検査装置1が閾値設定部19を備えていない場合には、ハンダ領域が特定された際に、例えば、その特定されたハンダ領域の閾値が、あらかじめ決められたデフォルトの値に設定されてもよい。その場合には、例えば、すべてのハンダ領域について、同じデフォルトの閾値が設定されてもよい。また、そのようにして設定された閾値は、例えば、閾値変更部21によって順次、変更されることによって、適切な値に収束することになる。
また、本実施の形態では、ハンダ領域の特定に低輝度領域も用いる場合について説明したが、そうでなくてもよい。ハンダ領域の特定に低輝度領域を用いない場合には、基板検査装置1は、低輝度領域特定部15を備えていなくてもよい。基板検査装置1が低輝度領域特定部15を備えていない場合には、ハンダ領域特定部16は、シルク除去領域を用いて、ハンダ領域を特定してもよい。その場合であっても、シルク印刷の箇所が適切に除去されたシルク除去領域を用いてハンダ領域を特定できるため、従来例と比較して、より高精度なハンダ領域の特定が可能となる。また、低輝度領域を用いない場合には、急斜面のハンダの箇所がハンダ領域に含まれなくなる可能性があるため、例えば、上記説明におけるハンダ候補領域からハンダ領域の特定する処理において、例えば、ハンダ候補領域の外縁をより大きく拡張した領域を、ハンダ領域とするようにしてもよい。そのようにすることによって、急斜面の箇所もハンダ領域に含めることができるようになると考えられる。
また、本実施の形態では、基板検査装置1がハンダ領域の特定を行う場合について説明したが、そうでなくてもよい。基板検査装置1は、ハンダ領域の特定を行わず、例えば、閾値の設定や、閾値の変更を行うものであってもよい。その場合には、基板検査装置1は、シルク除去部14、低輝度領域特定部15、ハンダ領域特定部16を備えていなくてもよい。そのような基板検査装置1は、従来、ハンダ状態の合否判定の検査で用いられる閾値を手動で設定したり、変更したりする作業者の負担が大きいという課題を解決することができ、そのような作業者の負担を軽減できるという効果を奏することになる。
また、本実施の形態では、ハンダ状態の検査において、ハンダ領域におけるハンダの面積の比を用いる場合について主に説明したが、そうでなくてもよい。ハンダ状態の検査において、ハンダ領域におけるハンダの面積の比以外のハンダ領域に関する値(例えば、ハンダの面積そのものなど)を用いてもよい。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記実施の形態で説明した各構成要素のうち、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、磁気ディスクや半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。