(57)【要約】【課題】  複数のモードが混在する場合でも精度よく良否判定を行うことができる良否判定装置、良否判定方法および良否判定プログラムの提供を課題とする。【解決手段】  良グループＧの分布領域に良否属性の異なる否グループＮのいずれかの要素が混在し、または、否グループＮの分布領域に良否属性の異なる良グループＧのいずれかの要素が混在する場合に、その混在する突出要素を中心として新たなグループＡ，Ｂ，Ｃ，Ｄを作成し、グループを細分化する。そして、細分化されたグループＧ，Ｎ，Ａ，Ｂ，Ｃ，Ｄの中心値Ｃg，Ｃn，Ｃa，Ｃb，Ｃc，Ｃdに対して検査対象のパラメータ値が近いかどうかを判断するため、精度の高い良否判定を実現することができる。【選択図】  図１５
2006226708.tif 000002
【特許請求の範囲】
【請求項１】
複数のサンプルおよび検査対象からそれぞれ１以上のパラメータを取得するパラメータ取得手段と、
パラメータ空間内において上記サンプルに対応し、共通する良否属性を有する複数の要素によって構成された複数のグループの位置と、同パラメータ空間内における上記検査対象に対応する要素の位置に基づいて当該検査対象の良否を判定する良否判定手段と、
上記パラメータ空間内における上記サンプルに対応する要素と上記グループの相対位置が所定の条件を満足するとき新たな上記グループを作成するグループ作成手段とを具備することを特徴とする良否判定装置。
【請求項２】
上記グループ作成手段は、
上記グループの上記パラメータ空間における中心値を算出する中心値算出手段と、
上記パラメータ空間における上記中心値と上記要素との距離を算出する距離算出手段と、
良否属性が共通する上記グループの上記中心値に対する上記距離である同属距離が、良否属性が共通しない上記グループの上記中心値に対する上記距離である異属距離よりも大きくなる上記要素を検出する検出手段とを具備するとともに、
上記検出手段にて検出された上記要素が属し、当該要素と良否属性が共通する上記要素で構成される新たなグループを作成することを特徴とする請求項１に記載の良否判定装置。
【請求項３】
上記良否判定手段は、
上記グループの上記パラメータ空間における中心値を算出する中心値算出手段と、
上記パラメータ空間における上記中心値と上記要素との距離を算出する距離算出手段を具備するとともに、
上記検査対象に対応する要素の上記距離が最も小さくなる上記グループの良否属性に基づいて当該検査対象の良否を判定することを特徴とする請求項１から請求項２のいずれかに記載の良否判定装置。
【請求項４】
上記良否判定手段は、
上記グループの上記パラメータ空間における中心値を算出する中心値算出手段と、
上記パラメータ空間における上記中心値と上記要素との距離を算出する距離算出手段を具備するとともに、
上記検査対象に対応する要素の属性が良の上記グループに対する上記距離が所定の閾値よりも大きくなるとき当該検査対象が否であると判定することを特徴とする請求項１から請求項２のいずれかに記載の良否判定装置。
【請求項５】
上記グループ作成手段は、上記同属距離が、上記異属距離の基準値Ｔｈ（０＜Ｔｈ＜１）倍よりも大きい要素が検出されたとき新たなグループを作成することを特徴とする請求項２から請求項４のいずれかに記載の良否判定装置。
【請求項６】
上記距離算出手段は、上記グループの上記中心値に対する上記要素のユークリッド距離に対して当該グループに対応した重み係数を乗算した値を上記距離として算出することを特徴とする請求項２から請求項５のいずれかに記載の良否判定装置。
【請求項７】
上記グループ作成手段は、上記新たなグループに取り込んだ要素について、同新たなグループの上記中心値に対する上記同属距離が、同新たなグループとは良否属性が共通しない上記グループの上記中心値に対する上記異属距離よりも小さいことを検証することを特徴とする請求項１から請求項６のいずれかに記載した良否判定装置。
【請求項８】
複数のサンプルおよび検査対象からそれぞれ１以上のパラメータを取得するパラメータ取得工程と、
パラメータ空間内において上記サンプルに対応し、共通する良否属性を有する複数の要素によって構成された複数のグループの位置と、同パラメータ空間内における上記検査対象に対応する要素の位置に基づいて当該検査対象の良否を判定する良否判定工程と、
上記パラメータ空間内における上記サンプルに対応する要素と上記グループの相対位置が所定の条件を満足するとき新たな上記グループを作成するグループ作成工程とを具備することを特徴とする良否判定方法。
【請求項９】
複数のサンプルおよび検査対象からそれぞれ１以上のパラメータを取得するパラメータ取得機能と、
パラメータ空間内において上記サンプルに対応し、共通する良否属性を有する複数の要素によって構成された複数のグループの位置と、同パラメータ空間内における上記検査対象に対応する要素の位置に基づいて当該検査対象の良否を判定する良否判定機能と、
上記パラメータ空間内における上記サンプルに対応する要素と上記グループの相対位置が所定の条件を満足するとき新たな上記グループを作成するグループ作成機能とをコンピュータによって実現することを特徴とする良否判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、良否判定装置、良否判定方法および良否判定プログラムに関する。
【背景技術】
【０００２】
従来、この種の良否判定装置として、サンプルから多数のパラメータを取得し、同パラメータから算出された判別関数を利用して良否判定を行うもの知られている。（例えば、特許文献１、参照。）。
かかる構成によれば、パラメータ空間において、良否のカテゴリーを判別関数によって分離させた上で良否判定の閾値を設定することができるため、誤判定の少ない良否判定を実現することが可能であった。
【特許文献１】特開２００４−０８５２１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述した良否判定装置において、良否のカテゴリーに複数の集団がある場合に、画一的な閾値を設定することができないという課題があった。すなわち、良否のカテゴリーに複数のモードが混在する場合、判別関数を適用したとしても良否のカテゴリーが入り組んで分布することがあり、単一の閾値では良否のカテゴリーの分布を区切ることができないという問題があった。
本発明は、上記課題にかんがみてなされたもので、複数のモードが混在する場合でも精度よく良否判定を行うことができる良否判定装置、良否判定方法および良否判定プログラムの提供を目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するため、請求項１にかかる発明では、複数のサンプルおよび検査対象からそれぞれ１以上のパラメータを取得するパラメータ取得手段と、パラメータ空間内において上記サンプルに対応し、共通する良否属性を有する複数の要素によって構成された複数のグループの位置と、同パラメータ空間内における上記検査対象に対応する要素の位置に基づいて当該検査対象の良否を判定する良否判定手段と、上記パラメータ空間内における上記サンプルに対応する要素と上記グループの相対位置が所定の条件を満足するとき新たな上記グループを作成するグループ作成手段とを具備する構成としてある。
【０００５】
上記のように構成した請求項１の発明において、パラメータ取得手段が複数のサンプルおよび検査対象からそれぞれ１以上のパラメータを取得する。パラメータ空間内において、上記サンプルに対応し、良否属性が共通する複数の要素によって構成された複数のグループが設けられる。上記サンプルは、予め良否属性が判明しているため、その良否属性に応じて、良否のグループを定義することができる。
【０００６】
良否判定手段は、上記パラメータ空間における上記グループと上記検査対象に対応する要素の相対位置に基づいて良否判定を行う。例えば、上記検査対象に対応する要素と、属性が良の上記グループとが上記パラメータ空間において近い場合には、当該検査対象は良であると判定できる。反対に、上記検査対象に対応する要素と、属性が否の上記グループとが上記パラメータ空間において近い場合には、当該検査対象は否であると判定できる。
【０００７】
さらに、グループ作成手段は、上記パラメータ空間内における上記サンプルに対応する要素と上記グループの相対位置が所定の条件を満足するとき新たな上記グループを作成する。すなわち、上記パラメータ空間における上記サンプルに対応する要素と上記グループの相対位置を調査し、新たなグループを作成する必要があると判断された場合には、新たなグループを作成する。すなわち、上記パラメータ空間における上記要素の分布傾向に基づいて新たなグループを作成し、上記良否判定手段による良否判定に反映させることができる。上記パラメータ空間における上記要素の分布傾向に基づいて新たなグループを作成することができるため、不良モードの把握等の煩雑な作業を予め行わなくてもグループの細分化を実現することができる。むろん、細分化されたグループを利用して上記良否判定手段が良否判定を行うため、精度のよい良否判定を実現することができる。
【０００８】
さらに、請求項２にかかる発明は、上記グループ作成手段は、上記グループの上記パラメータ空間における中心値を算出する中心値算出手段と、上記パラメータ空間における上記中心値と上記要素との距離を算出する距離算出手段と、良否属性が共通する上記グループの上記中心値に対する上記距離である同属距離が、良否属性が共通しない上記グループの上記中心値に対する上記距離である異属距離よりも大きくなる上記要素を検出する検出手段とを具備するとともに、上記検出手段にて検出された上記要素が属し、当該要素と良否属性が共通する上記要素で構成される新たなグループを作成する構成としてある。
【０００９】
上記のように構成した請求項２の発明において、中心値算出手段は、複数の上記グループの中心値をそれぞれ算出する。距離算出手段は、上記パラメータ空間における上記中心値と上記要素との距離を算出する。検出手段は、良否属性が共通する上記グループの上記中心値に対する上記距離である同属距離が、良否属性が共通しない上記グループの上記中心値に対する上記距離である異属距離よりも大きくなる上記要素を検出する。そして、上記同属距離が上記異属距離よりも大きい上記要素が検出されると、グループ作成手段は、当該要素が属するとともに、当該要素と属性が共通する上記要素で構成される新たなグループを作成する。
【００１０】
新たなグループが作成されると、上記中心値算出手段と上記距離算出手段は、同新たなグループについての上記中心値と上記距離を算出することとなる。さらに、上記良否判定手段は、新たなグループについての上記中心値と上記距離も考慮に入れて、上記同距離が最も小さくなる上記グループを検出することができる。すなわち、新たなグループを反映させて良否判定を行うことができる。これにより、グループを細分化し、精度よく良否判定を行うことができる。
【００１１】
また、請求項３にかかる発明は、上記良否判定手段は、上記グループの上記パラメータ空間における中心値を算出する中心値算出手段と、上記パラメータ空間における上記中心値と上記要素との距離を算出する距離算出手段を具備するとともに、上記検査対象に対応する要素の上記距離が最も小さくなる上記グループの良否属性に基づいて当該検査対象の良否を判定する構成としてある。
【００１２】
上記のように構成した請求項３の発明において、上記検査対象に対応する要素についての上記距離を取得し、同距離が最も小さくなる上記グループを検出する。そして、同検出された上記グループの良否属性に基づいて上記検査対象の良否を判定する。すなわち、上記パラメータ空間において、上記検査対象に対応する要素と最も近い上記グループの良否属性によって、当該検査対象の良否を判定する。最も近い上記グループと似たようなパラメータ特性を上記検査対象物が有していると判断することができ、上記検査対象物と最も近い上記グループの良否属性が共通するということができるからである。
【００１３】
さらに、請求項４にかかる発明は、上記良否判定手段は、上記グループの上記パラメータ空間における中心値を算出する中心値算出手段と、上記パラメータ空間における上記中心値と上記要素との距離を算出する距離算出手段を具備するとともに、上記検査対象に対応する要素の属性が良の上記グループに対する上記距離が所定の閾値よりも大きくなるとき当該検査対象が否であると判定する構成としてある。
【００１４】
上記のように構成した請求項４の発明において、上記検査対象に対応する要素の属性が良の上記グループに対する上記距離が所定の閾値よりも大きいことをもって、当該検査対象が不良であると判定する。すなわち、上記良否判定手段において、上記検査対象に対応する要素の属性が良の上記グループに対する上記距離のみに基づいて良否判定を行うため、処理の負担を軽減することができる。
【００１５】
また、請求項５にかかる発明は、上記グループを作成手段は、上記同属距離が、上記異属距離の基準値Ｔｈ（０＜Ｔｈ＜１）倍よりも大きい要素が検出されたとき新たなグループを作成する構成としてある。
【００１６】
上記のように構成した請求項５の発明において、上記同属距離が、上記異属距離の所定倍よりも大きい場合に、上記グループを作成手段が新たなグループを作成する。すなわち、基準値Ｔｈを増減させることにより、上記グループを作成手段が新たなグループを作成するための条件を調整することができる。なお、上記基準値Ｔｈを小さくすることにより、上記同属距離の値が小さくても新たなグループが作成されるようになる。
【００１７】
さらに、請求項６にかかる発明は、上記距離算出手段は、上記グループの上記中心値に対する上記要素のユークリッド距離に対して当該グループに対応した重み係数を乗算した値を上記距離として算出する構成としてある。
【００１８】
上記のように構成した請求項６の発明において、上記距離算出手段が上記グループの上記中心値と上記要素との上記距離を算出するにあたり、まず、上記中心値と上記要素とのユークリッド距離が算出される。そして、上記ユークリッド距離に当該グループに対応した重み係数を乗算した値を上記距離として算出する。すなわち、上記距離には対応する上記グループごとに重み付けが行われるため、上記グループごとの広がりに差がある場合でも上記距離を相対的に比較することが可能となる。
【００１９】
さらに、請求項７にかかる発明は、上記グループ作成手段は、上記新たなグループに取り込んだ要素について、同新たなグループの上記中心値に対する上記距離である同属距離が、同新たなグループとは良否属性が共通しない上記グループの上記中心値に対する上記距離である異属距離よりも小さいことを検証する構成としてある。
【００２０】
上記のように構成した請求項７の発明において、新たな上記要素を当該新たなグループに取り込むことにより、同新たなグループを拡大し、統計的信頼性を向上させることができる。また、上記新たなグループに取り込んだ上記要素についての同属距離が、同新たなグループとは良否属性が共通しない上記グループの上記中心値に対する異属距離よりも小さいことが保証される。従って、上記新たなグループに取り込んだ要素が、上記検出手段にて検出されることはなく、再度当該要素について新たなグループが作成されることが防止できる。
【００２１】
また、本発明の思想としては各種の態様を含むものであり、ソフトウェアであったりハ−ドウェアであったりするなど、適宜変更可能である。発明の思想の具現化例として良否判定装置を制御するソフトウェアとなる場合には、当該ハ−ドウェアやソフトウェアの記録媒体としても発明は成立する。また、上述した手法は、かかる装置を実現する方法としても適用可能であり、請求項８にかかる発明においても、基本的には同様の作用となる。また、請求項９にかかる発明のように、良否判定装置が具備する各手段を実現可能にするプログラムであってもよい。むろん、そのソフトウェアの記録媒体は、磁気記録媒体であってもよいし、光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。
【００２２】
また、一次複製品、二次複製品等の複製段階については全く問う余地も無く同様である。その他、供給方法として通信回線を利用して行う場合でも本発明が利用されていることには変わりはないし、半導体チップに書き込まれたようなものであっても同様である。さらに、一部がソフトウェアであって、一部がハ−ドウェアで実現されている場合においても発明の思想において全く異なるものではなく、一部を記録媒体上に記録しておいて必要に応じて適宜読み込まれているような形態のものでもよい。むろん、請求項２〜請求項７に記載された構成を請求項８，９の方法とプログラムに対応させることも可能である。
【発明の効果】
【００２３】
以上説明したように、請求項１、請求項８および請求項９にかかる発明によれば、複数のモードが混在する場合でも精度よく良否判定を行うことができる良否判定装置、良否判定方法および良否判定プログラムを提供することができる。
請求項２にかかる発明によれば、誤判定が防止できるグループ作成条件を提供することができる。
請求項３にかかる発明によれば、各モードのパラメータの分布が入り組んだ場合でも精度よく良否判定を行うことができる。
請求項４にかかる発明によれば、簡易な処理で良否判定を行うことができる。
【００２４】
請求項５にかかる発明によれば、グループ作成条件を調整することができる。
請求項６にかかる発明によれば、異なるグループの中心値に対する距離を比較することができる。
請求項７にかかる発明によれば、重複した処理を防止することができる。
【発明を実施するための最良の形態】
【００２５】
以下、下記の順序に従って本発明の実施形態を説明する。
（１）良否判定装置の構成：
（２）サンプルデータ登録処理：
（３）グループ作成処理：
（４）良否判定処理：
（５）変形例：
【００２６】
（１）良否判定装置の構成：
図１は、本発明にかかる良否判定装置の構成を示している。同図において、良否判定装置１０は、相互に接続された撮像ユニット２０とコンピュータ３０とから構成されている。撮像ユニット２０は検査対象物の実装基板５０を撮像して撮像イメージを生成し、同撮像イメージをコンピュータ３０に出力する。コンピュータ３０は撮像イメージを入力し、同撮像イメージを解析することにより、撮像を行った実装基板５０の良否を判定する。図１において、撮像ユニット２０は、実装基板５０が一定位置に載置されるとともに、コントローラ２１の指令に基づいてＸ−Ｙ（水平）方向に移動可能なＸ−Ｙステージ２３を備えている。カメラ２２は、所定の光学レンズからなる光学系２２ａを鉛直下方に配向させており、鉛直下方の像を入力することが可能となっている。カメラ２２の内部にはＣＣＤ撮像板２２ｂが備えられており、光学系２２ａは鉛直下方の像をＣＣＤ撮像板２２ｂに結像することが可能となっている。
【００２７】
ＣＣＤ撮像板２２ｂはドットマトリックス状に配列された複数のＣＣＤ撮像素子で構成されている。ＣＣＤ撮像素子は、それぞれ入力した光に応じて電荷を発生させる光電素子であるとともに、同発生した電荷を一時的に記憶する。そして、ＣＣＤ撮像素子にて生成した電荷をデジタル信号に変換しつつ、順次コントローラ２１に転送する。コントローラ２１は、転送された上記デジタル信号をＣＣＤ撮像板２２ｂにおけるＣＣＤ撮像素子の個々のアドレスに対応づけながら画像メモリ（ＶＲＡＭ）２１ａに蓄積する。すなわち、ＶＲＡＭ２１ａにおいてＣＣＤ撮像素子に対応する画素ごとに上記デジタル信号の階調を有する画像データが生成される。なお、本実施形態において、上記デジタル信号はＣＣＤ撮像素子に入力された光の輝度を表現するものとする。すなわち、画素ごとに輝度値を有する画像データがＶＲＡＭ２１ａにおいて記憶される。
【００２８】
上記のようにしてＶＲＡＭ２１ａに記憶された画像データはコンピュータ３０に対して出力される。また、カメラ２２にて撮像を行うごとにＶＲＡＭ２１ａには新たな画像データが記憶される。コントローラ２１は、Ｘ−Ｙステージ２３に対して駆動信号を出力しており、同駆動信号に応じてＸ−Ｙステージ２３が水平方向に駆動される。むろん、Ｘ−Ｙステージ２３上の一定位置に載置された実装基板５０も水平移動することとなる。このようにすることにより、カメラ２２を移動させることなく、実装基板５０上のあらゆる位置にカメラ２２の視野を移動させることが可能となる。なお、カメラ２２にて撮像する際には、Ｘ−Ｙステージ２３が停止するため、静止画像が撮像されることとなる。
【００２９】
Ｘ−Ｙステージ２３から所定量上方にリングライト２４ａが保持されている。リングライト２４は発光素子としてＬＥＤを具備している。このＬＥＤは円環状に形成されており、その中心位置が上方視においてカメラ２２の光学系２２ａの中心位置と一致させられている。すなわち、リングライト２４はカメラ２２の視野を外側から一定の角度で照射することが可能となっている。これにより、実装基板５０のリングライト２４による反射像をカメラ２２にて撮像した２次元の画像データを生成することができる。なお、リングライト２４ａは図示のように一段ではなく径の異なるリングライトを上下に複数配置し、照明角度の異なる画像データを生成するようにしてもよい。また、カメラ２２にて撮像した画像データを撮像イメージというものとする。
【００３０】
図２は、コンピュータ３０の内部構成をブロック図により示している。同図において、コンピュータ３０は、主要な構成としてＣＰＵ３１とＲＡＭ３２とビデオメモリ（ＶＲＡＭ）３３とハードディスク（ＨＤＤ）３４を備えている。ＣＰＵ３１は、ＨＤＤ３４に記憶されたオペレーティングシステム（Ｏ／Ｓ）３４ａや良否判定プログラム３４ｂ等に基づいた処理を実行させる演算装置であり、同処理を実行する際にＲＡＭ３２をワークエリアとして使用する。ＶＲＡＭ３３は、画像データを記憶するために特化したメモリであり、撮像イメージ３３ａが記憶される。なお、撮像イメージ３３ａは、コントローラ２１のＶＲＡＭ２１ａから転送された画像データである。
【００３１】
その他の構成として、コンピュータ３０にはビデオインターフェイス（Ｉ／Ｆ）３５と入力インターフェイス（Ｉ／Ｆ）３７とＩ／Ｏ３９が備えられている。ビデオＩ／Ｆ３５にはディスプレイ３６が接続され、入力Ｉ／Ｆ３７にはキーボード３８ａおよびマウス３８ｂが接続され、Ｉ／Ｏ３９には撮像ユニット２０のコントローラ２１が接続されている。Ｉ／Ｏ３９は、コントローラ２１に対してＸ−Ｙステージ２３を駆動させるための信号や、カメラ２２にて撮像を実行させるための信号等を出力するとともに、コントローラ２１から撮像イメージの入力を受け付けている。
【００３２】
図３は、コンピュータ３０にて実現されるソフトウェアの構成とデータの流れを示している。ＣＰＵ３１およびＲＡＭ３２にて、Ｏ／Ｓ３４ａと良否判定プログラム３４ｂとが実行されており、そのモジュール構成が示されている。良否判定プログラムＭは、撮像実行部Ｍ１と撮像イメージ取得部Ｍ２とパラメータ算出部Ｍ３と中心値算出部Ｍ４と距離算出部Ｍ５と検出部Ｍ６とグループ作成部Ｍ７と良否判定部Ｍ８を有している。
【００３３】
撮像実行部Ｍ１は、ＨＤＤ３４に記憶された基板データ３４ｃを取得し、同基板データ３４ｃに基づいて撮像ユニット２０に撮像を実行させる。具体的に説明すると、基板データ３４ｃには、実装基板５０の大きさや実装された部品の位置や大きさや形状や個数といった情報が格納されており、これらの情報に基づいてＸ−Ｙステージ２３を駆動させる。従って、実装基板５０上における所望の位置にカメラ２２の視野を動かすことができ、実装基板５０上における所望の位置について良否判定を実行することができる。
【００３４】
撮像イメージ取得部Ｍ２は、コントローラ２１から撮像イメージを入力し、ＶＲＡＭ３３に撮像イメージ３３ａを記憶させる。パラメータ算出部Ｍ３は撮像イメージ３３ａを入力し、撮像イメージ３３ａから複数のパラメータを算出する。ここで、パラメータとは撮像イメージ３３ａにおいて、はんだが撮像された画素領域から得られる特徴値であり、例えば平均輝度や最大輝度や最小輝度やエッジ数等のような値である。むろん、これらに限られるものではない。本実施形態において、パラメータはｈ（ｈは正の整数）種類用意されるものとする。なお、各パラメータの値をパラメータ値ｐk（ｋは０からｈまでの整数）と表記するものとする。
【００３５】
また、パラメータ算出部Ｍ３は、カメラ２２の視野のどの位置にはんだが配置されているかという位置情報を基板データ３４ｃから取得するため、はんだに対応する画素領域について画素データを抽出し、パラメータ値ｐk算出することができる。パラメータ算出部Ｍ３が算出したパラメータ値ｐkは、ＨＤＤ３４に割り当てられたサンプルデータテーブル３４ｄに格納される。図４は、サンプルデータテーブル３４ｄを示している。同サンプルデータごとに良／否が識別されている。この良否属性は、使用者によってキーボード３８ａやマウス３８ｂを介して入力される。
【００３６】
中心値算出部Ｍ４は、サンプルデータテーブル３４ｄから各グループの要素に対応したパラメータ値ｐkを取得し、このパラメータ値ｐkの中心値を算出する。そして、距離算出部Ｍ５は、この中心値と各パラメータ値ｐkとのユークリッド距離を算出する。検出部Ｍ６は、中心値と距離を入力し、同距離が所定条件を満足する要素を検出する。そして、同要素が検出された場合にグループ作成部Ｍ７が新たなグループを作成する。さらに、ユークリッド距離に対して重み付け係数α乗算することにより距離を算出する。
【００３７】
良否判定部Ｍ８は、距離算出部Ｍ５が算出した距離に基づいて、検査対象のはんだから取得されたパラメータ値ｐkと中心値の距離が最も近いグループを検出する。そして、検査対象から取得されたパラメータ値ｐkと中心値の距離が最も近いグループの良否属性に基づいて当該はんだの良否を決定する。
【００３８】
（２）サンプルデータ登録処理：
図５は、サンプルデータ登録処理の流れを示している。同図において、ステップＳ１００にて、サンプルとして用意された実装基板５０の撮像を行う。サンプルとして用意された実装基板５０に対しては、予め目視検査等の他の手法によってはんだの良否判定が行われており、実装基板５０に形成されたはんだの良否が判明している。
【００３９】
ステップＳ１１０においては、撮像イメージ３３ａが生成され、撮像イメージ取得部Ｍ２が撮像イメージ３３ａをＶＲＡＭ３３に記憶させる。図６は、カメラ２２の視野Ｓを示している。同図において、カメラ２２にて撮像される視野Ｓには、実装基板５０上の複数の実装部品やはんだが含まれることとなる。なお、本実施形態においては、実線で示すチップ部品５１のはんだ５２の形状についての良否判定を説明するものとする。ステップＳ１１０においては、視野Ｓ全体を表す画像データとして撮像イメージ３３ａが生成される。
【００４０】
ステップＳ１２０においては、撮像イメージ３３ａからはんだ５２が含まれる画素データのみを抽出する。すなわち、図６においてはんだ５２の周辺を実線で囲んだ評価領域Ｔの内側の画素データのみを抽出する。なお、ステップＳ１２０においてＣＰＵ３１は、ＨＤＤ３４に記憶された基板データ３４ｃに基づいて、視野Ｓのどこに良否判定対象のはんだ５２が配置されているかを特定する。そして、はんだ５２が撮像された画素に適正形状の評価領域Ｔを設定して、同評価領域Ｔに属する画素データの抽出を行う。
【００４１】
図７は、評価領域Ｔの様子を模式的に示している。同図において、評価領域Ｔは破線で区画された多数の画素Ｐa,bで構成されている。なお、各画素Ｐa,bの輝度値Ｂa,bは、実装基板５０上における各ＣＣＤ撮像素子が画像入力を担当する領域の平均輝度を意味する。なお、評価領域Ｔは図示の形状に限られるものではなく、算出するパラメータに応じて形状や個数が決定される。
【００４２】
ステップＳ１３０においては、ステップＳ１２０にて抽出した画素データについてパラメータ値ｐkを算出する。例えば、パラメータ値ｐkのひとつとして平均輝度を算出する場合には、評価領域Ｔに含まれる全画素の輝度値Ｂa,bの積算値を全画素数で除算した値がパラメータ値ｐkとして算出されることとなる。同様に、評価領域Ｔに含まれる全画素の輝度値Ｂa,bに対してパラメータ算出部Ｍ３が所定の演算を行うことにより、他の種類のパラメータ値ｐkを全部でｈ種類算出する。算出されたパラメータ値ｐkは、当該評価領域Ｔに対応するはんだに対して与えられた固有の通し番号とともに上述したサンプルデータテーブル３４ｄに格納される。
【００４３】
ステップＳ１４０においては、サンプルデータテーブル３４ｄに格納されたパラメータ値ｐkに対応づけて良否属性を登録する。使用者は予め実装基板５０上のはんだについての良否を目視検査等によって取得しており、これらの情報をキーボード３８ａやマウス３８ｂを介して入力する。すると、サンプルデータテーブル３４ｄにおける”良否属性”の欄に情報が追記される。これにより、一つのはんだ５２（要素）についてパラメータ値ｐkと既知の良否判定結果とを対応づけて登録することができる。
【００４４】
以上において、一つのはんだ５２（要素）についてパラメータ値ｐkと既知の良否判定結果とを対応づけて登録する処理を説明したが、通常、撮像イメージ３３ａには複数のはんだ（要素）が含まれるため、撮像イメージ３３ａにおいて各はんだ（要素）の評価領域Ｔに対するステップＳ１２０〜Ｓ１４０の処理を繰り返すこととなる。さらに、単一の実装基板５０上においても複数のはんだ（要素）が存在するため、Ｘ−Ｙステージ２３によって視野Ｓを移動させつつステップＳ１００〜Ｓ１４０が繰り返されることとなる。この場合、予め全てのはんだ（要素）についてパラメータ値ｐkを算出しておき、各はんだと良否属性との対応関係を損なうことなく、一括して良否属性を登録するようにしてもよい。なお、サンプルデータ登録処理をできるだけ多くの実装基板５０に対して実行し、できるだけ多くのパラメータ値ｐkと既知の良否判定結果との対応関係をサンプルデータテーブル３４ｄに登録しておくことが望ましい。
【００４５】
（３）グループ作成処理：
サンプルデータ登録処理によってサンプルデータテーブル３４ｄが作成されると、グループ作成部Ｍ７がグループ作成処理を実行する。図８は、グループ作成処理の流れを示している。ステップＳ２００においては、サンプルデータテーブル３４ｄに登録された各要素を、その良否属性によって良グループＧと否グループＮに分類する。図９は、分類後のサンプルデータテーブル３４ｄを示している。同図において、サンプルデータテーブル３４ｄが良否のテーブルに分割されており、それぞれに各要素が分類され、良否のパラメータ値ｇk，ｎkが格納されている。パラメータ値ｇk，ｎkは、パラメータ値ｐkと同じものを意味するが、良品のパラメータ値ｐkと不良品のパラメータ値ｎkとを識別するために異なる文字で表している。また、サンプルデータテーブル３４ｄにおいて良品の要素は全部でｔ個存在するものとし、不良品の要素は全部でｊ個存在するものとする。また、良グループＧに属する要素の通し番号をｓとして、否グループＮに属する要素の通し番号をｉと表すものとする。
【００４６】
図１０は、サンプルデータテーブル３４ｄに記述されたパラメータ値ｐkをパラメータのｈ次元のパラメータ空間における座標として示している。なお、同図においては図示の簡略化のためｈ＝２の平面にて座標を示しているが、実際にはパラメータの種類ｈごとに軸が形成されたｈ次元の空間となる。むろん、ｈ＝１，２となる場合もあり、その場合はそれぞれ直線と平面上にパラメータ値ｐkをプロットすることができる。良グループＧに属する各要素の座標を座標Ｐgと表記するものとし、否グループNに属する各要素の座標を座標Ｐnと表記するものとする。すると、ｓ，ｉ番目の座標Ｐg(s)，Ｐn(i)は下記式（１），（２）のように表すことができる。
Ｐg(s)＝｛ｇ1(s)，ｇ2(s)，ｇ3(s)・・ｇk(s)・・ｇ(h-1)(s)，ｇh(s)｝    ・・・（１）
Ｐn(i)＝｛ｎ1(i)，ｎ2(i)，ｎ3(i)・・ｎn(i)・・ｎ(h-1)(i)，ｎh(i)｝    ・・・（２）
また、座標Ｐg(s)，Ｐn(i)を空間にプロットすることにより、良グループＧおよび否グループNごとにパラメータ値ｇk，ｎkの分布傾向を把握することができる。なお、図１０において、座標Ｐg(s)を●で示し、Ｐn(i)を×で示している。所属するグループＧ，Ｎによって、
パラメータ値ｇk，ｎkの分布傾向が大きく相違していることが分かる。
【００４７】
次に、ステップＳ２０５において、距離算出部Ｍ５が良グループＧおよび否グループNの中心値Ｃg，Ｃnを算出する。中心値Ｃg，Ｃnは、下記式（３），（４）によって算出することができる。
【数３】
2006226708.tif 000003
【数４】
2006226708.tif 000004
上記式（３），（４）において、ｈ種類用意された各パラメータｇk，ｎkをそれぞれ全要素分積算し、同積算値を全要素数ｔ，ｊによって除算することにより、各パラメータｇk，ｎkの相加平均を算出している。なお、中心値Ｃg，Ｃnは、図１０のパラメータ空間において、☆，△によって示されている。
【００４８】
ステップＳ２１０において、距離算出部Ｍ５が中心値Ｃg，Ｃnに対する各要素の座標Ｐg(s)，Ｐn(i)のユークリッド距離を４通り算出する。具体的には、良グループGの中心値Ｃgに対する良グループＧに属する要素の座標Ｐg(s)のユークリッド距離ＣgＰg(s)と、否グループNの中心値Ｃnに対する否グループNに属する要素の座標Ｐn(i)のユークリッド距離ＣnＰn(i)と、良グループＧの中心値Ｃgに対する否グループNに属する要素の座標Ｐn(i)のユークリッド距離ＣgＰn(i)と、否グループNの中心値Ｃnに対する良グループGに属する要素の座標Ｐg(s)のユークリッド距離ＣnＰg(s)とが算出される。また、各ユークリッド距離ＣgＰg(s)，ＣnＰn(i)，ＣgＰn(i)，ＣnＰg(s)の計算式は下記式（５），（６），（７），（８）で表すことができる。
【００４９】
【数５】
2006226708.tif 000005
【数６】
2006226708.tif 000006
【数７】
2006226708.tif 000007
【数８】
2006226708.tif 000008
【００５０】
ここで、上記式（５），（６），（７），（８）の前二者は、各グループＧ，Ｎの中心値Ｃg，Ｃnに対する当該グループＧ，Ｎに属する要素の座標Ｐg(s)，Ｐn(i)のユークリッド距離ＣgＰg(s)，ＣnＰn(i)であるといえる。従って、ユークリッド距離ＣgＰg(s)，ＣnＰn(i)を同属距離というものとする。これに対して、上記式（５），（６），（７），（８）の後二者は、各グループＧ，Ｎの中心値Ｃg，Ｃnに対する当該グループＧ，Ｎに属しない要素の座標Ｐg(s)，Ｐn(i)のユークリッド距離ＣgＰn(i)，ＣnＰg(s)であるといえる。従って、ユークリッド距離ＣgＰn(i)，ＣnＰg(s)を異属距離というものとする。
【００５１】
さらに、各ユークリッド距離ＣgＰg(s)，ＣnＰn(i)，ＣgＰn(i)，ＣnＰg(s)に対して、重み係数αg，αnを乗算することにより、各グループＧ，Ｎの広がりが考慮された距離ＣgＰg*(s)，ＣnＰn* (i)，ＣgＰn* (i)，ＣnＰg*(s)が算出される。
ＣgＰg*(s)＝αg×ＣgＰg(s)    ・・・（９）
ＣnＰn*(i)＝αn×ＣnＰn(i)    ・・・（１０）
ＣgＰn*(i)＝αg×ＣgＰn(i)    ・・・（１１）
ＣnＰg*(s)＝αn×ＣnＰg(s)    ・・・（１２）
なお、各ユークリッド距離ＣgＰg(s)，ＣnＰn(i)，ＣgＰn(i)，ＣnＰg(s)に乗算される重み係数αg，αnは、その算出の起点となる中心値Ｃg，Ｃnに対応するグループＧ，Ｎ固有の重み係数αg，αnである。また、本実施形態において、グループＧ，Ｎの重み係数αg，αnは、ともに１．０であるものとする。なお、予めグループＧ，Ｎの分布傾向を調査しておき、その広がりに応じた重み係数αg，αnを設定するようにしてもよい。また、はじめの段階では、重み係数αg，αnをともに１．０であると仮定しておき、その後、重み係数αg，αnの妥当性について検討するようにしてもよい。
【００５２】
次に、ステップＳ２１５において、検出部Ｍ６が判定値ｒ(s)，ｒ(i)を算出する。判定値ｒ(s)，ｒ(i)は下記式（１３），（１４）によってそれぞれ算出することができる。
ｒ(s)＝ＣgＰg*(s)／ＣgＰn*(i)    ・・・（１３）
ｒ(i)＝ＣnＰn*(i)／ＣnＰg*(s)    ・・・（１４）
上記式（１３）において、良グループＧに属する要素の座標Ｐg(s)に関して同属距離を異属距離で除算した値が判定値ｒ(s)として算出されている。一方、上記式（１４）においては、否グループＮに属する要素の座標Ｐn(i)に関して同属距離を異属距離で除算した値が判定値ｒ(i)として算出されている。なお、判定値ｒ(s)，ｒ(i)は、全ての要素について算出される。
【００５３】
ステップＳ２２０においては、検出部Ｍ６が１以上の値となる判定値ｒ(s)，ｒ(i)が存在するかどうかを判定し、１以上の値となる判定値ｒ(s)，ｒ(i)がひとつも存在しない場合にはグループ作成処理を終了させる。すなわち、これ以上グループを作成する必要がないとして、処理を中止させる。一方、１以上の値となる判定値ｒ(s)，ｒ(i)がひとつでも検出された場合には、新たなグループを作成する必要があるとしてステップＳ２２５を実行する。なお、１以上の値となる判定値ｒ(s)，ｒ(i)が算出される要素を突出要素というものとする。
【００５４】
ステップＳ２２５においては、グループ作成部Ｍ７が判定値ｒ(s)，ｒ(i)が最大となる突出要素を検出し、同要素を中心とした新たなグループＡを作成する。なお、現時点でグループＡに属する要素は１個のみであるため、グループＡの中心値Ｃａは突出要素の座標と一致する。なお、ここでは否ループＮに属する要素が最大の判定値ｒ(i)となる突出要素として検出されたものとして以下説明する。従って、新たなグループＡは否の属性を有することとなる。なお、上記突出要素の座標、および、新たなグループＡの中心値Ｃａは、Ｐａ(1)＝｛ａ1(1)，ａ2(1)・・ａk(1)・・ａ(h-1)(1)，ａh(1)｝であるものとする。また、突出要素は否グループＮに属する座標Ｐn(i)から選択された一つの要素の座標であり、ａkはｐk，ｇk，ｎkと同様にパラメータ値を意味する。なお、良グループＧに属する要素が最大の判定値ｒ(s)となる突出要素として検出された場合には、新たなグループＡは良の属性を有することとなる。
【００５５】
次に、ステップＳ２３０において、良グループＮに属する各要素の座標Ｐn(i)と、グループＡの中心値Ｃａとのユークリッド距離ＣａＰn(i)を算出し、同ユークリッド距離ＣａＰn(i)が最小となる要素を検出する。なお、このとき既に新たなグループＡに属している要素については除外する。ここで検出された要素の座標をＰａ(2)＝｛ａ1(2)，ａ2(2)・・ａk(2)・・ａ(h-1)(2)，ａh(2)｝と表すものとする。
【００５６】
ステップＳ２３５においては、ステップＳ２３０にて検出した要素を新たなグループＡに取り込む。図１１は、ステップＳ２３５にて更新されたサンプルデータテーブル３４ｄを示している。同図において、座標がＰａ(1)，Ｐａ(2)で表現される２個の要素で構成された新たなグループＡが生成されている。また、新たなグループＡの属性は否とされている。すなわち、グループＡは否グループＮから分割して生成されたグループとしてサンプルデータテーブル３４ｄに登録されている。なお、新たなグループＡの生成に伴って、もともとの否グループＮの要素数が２個減り（ｊ−２）個となっている。
【００５７】
ステップＳ２４０においては、距離算出部Ｍ５が各グループＧ，Ｎ，Ａの中心値Ｃg，Ｃn，Ｃaを算出する。各グループＧ，Ｎについては、上記式（３），（４）にて中心値Ｃg，Ｃnを算出し、新たなグループＡについては下記式（１５）によって中心値Ｃaを算出する。なお、良グループＧの中心値ＣgはステップＳ２０５で算出したものと変動がないが、否グループNは要素が２個減少しているためステップＳ２０５と異なる中心値Ｃnが算出されることとなる。
【数１５】
2006226708.tif 000009
なお、上記式（１５）において、ｆはグループＡに属する要素の通し番号であり、現時点で最大値ｑ＝２となっている。
【００５８】
ステップＳ２４５にて距離算出部Ｍ５は、各要素と中心値Ｃg，Ｃaとのユークリッド距離を算出する。ここでは、新たなグループＡの中心値Ｃaと同グループＡに属する各要素の座標Ｐａ(f)とのユークリッド距離ＣaＰａ(f)と、良グループＧの中心値Ｃgと良グループＧに属する各要素の座標Ｐg(s)とのユークリッド距離ＣgＰg(s)と、良グループＧの中心値ＣgとグループＡに属する要素の座標Ｐａ(f)とのユークリッド距離ＣgＰａ(f)と、新たなグループＡの中心値Ｃａと良グループＧに属する各要素の座標Ｐg(s)とのユークリッド距離ＣaＰg(s)とを算出する。
【００５９】
ここで、前二者は、各グループＡ，Ｇの中心値Ｃa，Ｃgに対する当該グループＡ，Ｇに属する要素の座標Ｐａ(f)，Ｐg(s)のユークリッド距離ＣaＰａ(f)，ＣgＰg(s)であるといえる。従って、ユークリッド距離ＣaＰａ(f)，ＣgＰg(s)を同属距離というものとする。これに対して、後二者は、各グループＡ，Ｎの中心値Ｃa，Ｃgに対する当該グループＡ，Ｇに属しない要素の座標Ｐａ(f)，Ｐg(s)のユークリッド距離ＣgＰａ(f)，ＣaＰg(s)であるといえる。従って、ユークリッド距離ＣgＰａ(f)，ＣaＰg(s)を異属距離というものとする。
【００６０】
なお、ユークリッド距離ＣgＰg(s)は上記式（５）により算出することができ、他のユークリッド距離ＣaＰａ(f)，ＣgＰａ(f)，ＣaＰg(s)については下記式（１６），（１７），（１８）によって算出することができる。また、ユークリッド距離ＣaＰａ(f)，ＣgＰg(s)，ＣgＰａ(f)，ＣaＰg(s)は、全ての要素について算出される。
【数１６】
2006226708.tif 000010
【数１７】
2006226708.tif 000011
【数１８】
2006226708.tif 000012
【００６１】
ステップＳ２５０においては、新たなグループＡが適正であるか否かを、下記の条件式（１９），（２０）によって判定する。なお、ｆ，ｓの全ての組合せについて、下記式（１９），（２０）の充足が検証される。
ＣaＰa(f)＜ＣgＰa(f)    ・・・（１９）
ＣgＰg(s)＜ＣaＰg(s)    ・・・（２０）
【００６２】
図１２は、上記式（１９），（２０）の意味するところを模式的に示している。同図において、新たなグループＡと同グループＡと良否属性を異にする良カテゴリーＧとがパラメータ空間に示されている。上記式（１９）を充足するとき、新たなグループＡに属する要素のうち最も良グループＧの中心値Ｃgに近い要素が、良グループＧの中心値Ｃgよりも新たなグループＡの中心値Ｃaに近いことが保証される。一方、上記式（２０）を充足するとき、良グループＧに属する要素のうち新たなグループＡの中心値Ｃaに近い要素が、新たなグループＡの中心値Ｃaよりも良グループＧの中心値Ｃgに近いことが保証される。すなわち、上記式（１９），（２０）を充足することにより、新たなグループＡの分布領域に異なる良否属性の良グループＧの要素が混在しないことと、良グループＧの分布領域に新たなグループＡの要素が混在しないことが保証される。
【００６３】
そして、上記式（１９），（２０）が充足されない場合には、ステップＳ２５５にて新たなグループＡに取り込んだ直前の要素を除外して新たなグループＡの要素を確定する。上記の例では、新たなグループＡから座標Ｐａ(2)となる要素が除外されて、座標Ｐａ(1)の要素のみからなる新たなグループＡが確定される。新たなグループＡが確定すると、ステップＳ２０５に戻り、以降の処理を繰り返して実行する。
【００６４】
一方、上記式（１９），（２０）が充足された場合には、ステップＳ２６０にて、新たなグループＡについての重み係数αａを算出する。
αａ×ＣaＰa(f)＜ＣgＰa(f)    ・・・（２１）
ＣgＰg(s)＜αａ×ＣaＰg(s)    ・・・（２２）
上記式（２１），（２２）では、上記式（１９），（２０）において新たなグループＡの中心値Ｃaを起点としたユークリッド距離ＣaＰa(f)，ＣaＰg(s)に対して重み係数αａが乗算されている。そして、上記式（２１），（２２）を重み係数αａについて整理すると、下記式（２３）のようになる。
ＣgＰa(f)／ＣaＰa(f)＞αａ＞ＣgＰg(s)／ＣaＰg(s)    ・・・（２３）
【００６５】
そして、ステップＳ２６０では、上記式（２３）の左辺｛ＣgＰa(f)／ＣaＰa(f)｝の最小値と右辺｛ＣgＰg(s)／ＣaＰg(s)｝の最大値との相加平均の値を重み係数αａとして算出する。なお、分母ＣaＰa(f)＝０のときに左辺｛ＣgＰa(f)／ＣaＰa(f)｝が最小となる場合には、αａ＝２×ＣgＰg(s)／ＣaＰg(s)とする。
【００６６】
ステップＳ２６０が完了すると、ステップＳ２３０を再び実行させる。すなわち、否グループＮに属する各要素の座標Ｐn(i)と、新たなグループＡの中心値Ｃａとのユークリッド距離ＣａＰn(i)を算出し、同ユークリッド距離ＣａＰn(i)が最小となる要素を検出する。そして、ステップＳ２３５において、検出された要素を新たなグループＡに追加する。すなわち、ステップＳ２３０〜Ｓ２６０を繰り返して実行することにより、新たなグループＡの中心値Ｃａとのユークリッド距離が近く、新たなグループＡと良否属性が共通な要素を、順次、新たなグループＡに取り込み、新たなグループＡを拡大させることができる。そして、新たな要素を取り込むごとに、ステップＳ２５０にて新たなグループＡの要素が適正であるかどうかが検証される。
【００６７】
そして、新たなグループＡの要素が不適正である場合には、直前に取り込んだ要素をステップＳ２５５にて除外し、新たなグループＡを確定する。さらに、新たなグループＡの確定後はステップＳ２０５以降が繰り返される。ただし、グループはステップＳ２５５を経るごとに追加されるため、繰り返し実行されるステップＳ２０５，Ｓ２１０においては、既に作成されたグループＧ，Ｎ，Ａ・・を対象として処理が行われる。ステップＳ２１０において、新たなグループＡの中心値Ｃaを起点とした距離を算出する場合には、新たなグループＡについて算出された重み係数αaがユークリッド距離に乗算されることとなる。
【００６８】
また、繰り返し実行されるステップＳ２１５において、予めグループが増加しているため、複数のグループの中心値Ｃに対する複数の異属距離が一つの要素に対して算出される場合もある。この場合、複数の異属距離のうち最短のものが上記式（１３），（１４）に適用される。すなわち、良否属性が異なるグループのうち最も対象の要素に近いグループに属する要素がステップＳ２２０の検出の対象となる。そして、ステップＳ２２０にて新たなグループの作成が必要ないと判定されるまで、ステップＳ２０５〜Ｓ２６０が繰り返される。図１３は、最終的に作成されたサンプルデータテーブル３４ｄの一例を示している。同図において、属性が否の新たなグループＡ，Ｂ，Ｃが作成されており、属性が否の新たなグループDが作成されている。また、繰り返して実行されるステップ２６０にて各グループＡ，Ｂ，Ｃ，Ｄについて重み係数αg，αn，αa，αb，αc，αdが算出される。
【００６９】
（４）良否判定処理：
次に、実際に製品を検査する際に行われる良否判定処理について説明する。図１４は、良否判定処理の流れを示している。なお、良否判定処理はグループ作成処理が完了した後に実行される。ステップＳ３３０までは、サンプルデータ登録処理のステップＳ１３０までと同様であるため説明を省略する。ただし、ここで撮像を行う実装基板５０は、良否判定の結果が未知の基板である。なお、ステップＳ１００〜Ｓ１３０、および、ステップＳ３００〜Ｓ３３０を実行するハードウェアおよびソフトウェアが本発明のパラメータ取得手段に相当する。ステップＳ３３０において、実装基板５０上の、あるはんだについてのパラメータ値ｐ1，ｐ2・・ｐk・・ｐ(h-1)，ｐhが算出される。
【００７０】
次に、ステップＳ３４０にて、中心値算出部Ｍ４と距離算出部Ｍ５がパラメータ値ｐ1，ｐ2・・ｐk・・ｐ(h-1)，ｐhで定義されるパラメータ空間内の座標Ｘ＝｛ｐ1，ｐ2・・ｐk・・ｐ(h-1)，ｐh｝と、サンプルデータテーブル３４ｄに作成された各グループＧ，Ｎ，Ａ，Ｂ，Ｃ，Ｄの中心値Ｃg，Ｃn，Ｃa，Ｃb，Ｃc，Ｃdとの距離を算出する。すなわち、座標Ｘと中心値Ｃg，Ｃn，Ｃa，Ｃb，Ｃc，Ｃdとのユークリッド距離を上記式（５），（６），（７），（８），（１６），（１７），（１８）と同様の手法によって算出し、さらにユークリッド距離の起点となる中心値Ｃg，Ｃn，Ｃa，Ｃb，Ｃc，Ｃdが属するグループＧ，Ｎ，Ａ，Ｂ，Ｃ，Ｄに対応した重み係数αg，αn，αa，αb，αc，αdを乗算することにより、距離を算出する。
【００７１】
図１５は、グループ作成処理後のパラメータ空間をグラフに示している。同図において、グループＧ，Ｎ，Ａ，Ｂ，Ｃ，Ｄごとに中心値Ｃg，Ｃn，Ｃa，Ｃb，Ｃc，Ｃdが算出されている。また、座標Ｘを★により示し、各グループＧ，Ｎ，Ａ，Ｂ，Ｃ，Ｄに属する要素の分布領域を円で示している。同図において、ステップＳ２２５，Ｓ２５０を実行することにより、属性が良となるグループＧと、属性が否となるグループＮ，Ａ，Ｂ，Ｃ，Ｄの分布領域が重複してないように新たなグループＡ，Ｂ，Ｃ，Ｄが定義されていることがわかる。なお、重み係数αg，αn，αa，αb，αc，αdは、円で示す各グループＧ，Ｎ，Ａ，Ｂ，Ｃ，Ｄの広がりの差を解消するための補正係数であると考えることができる。従って、各中心値Ｃg，Ｃn，Ｃa，Ｃb，Ｃc，Ｃdに対するユークリッド距離に重み係数αg，αn，αa，αb，αc，αdを乗算することにより得られた各距離を、単純に比較することができる。
【００７２】
ステップＳ３５０においては、良否判定部Ｍ８がステップＳ３４０にて算出した座標Ｘの各グループＧ，Ｎ，Ａ，Ｂ，Ｃ，Ｄの中心値Ｃg，Ｃn，Ｃa，Ｃb，Ｃc，Ｃdに対する距離のうち最小のものを検出する。中心値Ｃg，Ｃn，Ｃa，Ｃb，Ｃc，Ｃdに対する距離が最小となる各グループＧ，Ｎ，Ａ，Ｂ，Ｃ，Ｄに座標Ｘが属すると考えることができる。従って、ステップＳ３６０においては、座標Ｘが属するグループＧ，Ｎ，Ａ，Ｂ，Ｃ，Ｄの良否属性を良否判定結果として特定する。そして、同特定された良否を当該はんだの良否判定結果としてディスプレイ３６等に出力する。図１５に示す例では、座標ＸとグループＤの中心値Ｃdが最も近く、検査対象のはんだが否であると判定される。
【００７３】
以上説明したように、本発明では検査対象から取得されたパラメータ値ｐ1，ｐ2・・ｐk・・ｐ(h-1)，ｐhの空間内において、同パラメータ値の座標Ｘ＝｛ｐ1，ｐ2・・ｐk・・ｐ(h-1)，ｐh｝に対して距離の短いグループの良否属性が良であるか否であるかによって良否判定を行っている。最も距離の短いグループを検出するにあたっては、単純なユークリッド距離に対して各グループごとに算出された重み係数αが乗算される。従って、各グループを構成する要素の広がりに依存することなく、各グループの中心値に対する距離同士を公平に比較することができる。すなわち、各グループごとに重み係数αを乗算することにより、パラメータ値の空間を各グループの広がりに応じて正規化することができる。
【００７４】
また、グループ作成処理において、上記式（１３），（１４）で表されるｒ(s)，ｒ(i)が１以上であることを新たなグループ作成の要件としている。すなわち、良否属性が共通するグループの中心値に対する同属距離が、良否属性が共通しないグループの中心値に対する異属距離よりも大きくなることを新たなグループ作成の要件としている。さらにいいかえれば、良グループＧの分布領域に良否属性の異なる否グループＮのいずれかの要素が混在し、または、否グループＮの分布領域に良否属性の異なる良グループＧのいずれかの要素が混在する場合に、その混在する突出要素を中心として新たなグループを作成している。これにより、図１５に示すように属性が良のグループＧの分布領域と、属性が否のグループＮ，Ａ，Ｂ，Ｃ，Ｄとが重複しないようなグループを作成することができる。
【００７５】
パラメータ空間において良グループＧと否グループＮとがそれぞれひとまとまりで分布していることは少なく、良グループＧと否グループＮは複合的な分布から成り立っている場合が多い。例えば、はんだを検査対象とした場合、否グループには、はんだ浮きモードやはんだ小モードや部品なしモード等の多種の不良モードを有する要素が含まれることとなる。これらは、それぞれ固有の形状的特徴を有しているため、パラメータ値ｐ1，ｐ2・・ｐk・・ｐ(h-1)，ｐhもそれぞれが固有の分布傾向を有することとなる。また、良グループについてもはんだの形成条件等によって複数のモードが発生する場合がある。
【００７６】
図１５に示した分布においても、属性が否となる各グループＮ，Ａ，Ｂ，Ｃ，Ｄのように複数の集団が見られ、それぞれが各不良モードに対応していると考えることができる。このような分布態様において、図１０のように良否グループＧ，Nをひとまとめにして、中心値Ｃg，Ｃnを算出し、同中心値Ｃg，Ｃnからの距離に基づいて座標Ｘで表される検査対象の良否判定を行ったとする。すると、図１０において★で示した検査対象は不良であるにもかかわらず、☆で示す良グループＧの中心値Ｃgに対する距離ＸＣgが、△で示す否グループＮの中心値Ｃnに対する距離ＸＣnよりも短いと判定されることにより、良品であると誤判定されることとなる。これに対して、図１５では図１０と同位置に★で示される検査対象について、☆で示す良グループＧの中心値Ｃgに対する距離ＸＣgよりも、△で示す属性が否の新たなグループＤの中心値Ｃdに対する距離ＸＣdが短いと判定されるため、当該検査対象を正確に不良品であると判定することができる。
【００７７】
すなわち、図１５のようにグループが細分化された後では、各モードに対応して形成されたグループＧ，Ｎ，Ａ，Ｂ，Ｃ，Ｄの中心値Ｃg，Ｃn，Ｃa，Ｃb，Ｃc，Ｃdに対して検査対象のパラメータ値が近いかどうかを判断することができる。つまり、各モードごとにパラメータ特性の類似性を判断することができ、精度の高い良否判定を実現することができる。なお、多変量解析に基づいて大量のパラメータから有効なものを選択し、同選択したパラメータを線形結合させる技術が知られているが、かかる技術によっても図１５のように良否の分布が入り組んだ状況においては、確実に良否を分断可能な閾値を設定することができない。
【００７８】
むろん、サンプルデータ登録の際に不良や良品のモード分類を行っておき、各モードごとにパラメータの傾向を調査し、予めモード個別のグループを作成することにより上記課題が解決されると考えられる。しかしながら、サンプルデータ登録の際に不良や良品のモード分類を行うことは非常に煩わしく、多数のモードに対応することができない。これに対して、本発明においては、最低限、良否の２グループからグループ作成処理を開始することができ、使用者の負担とならない。また、使用者にとって未知のモードに対しても、パラメータの分布傾向が特異的であれば自動的にグループを作成することができ、不良発生要因が多様かつ不明な検査対象物についても容易に対応することができる。むろん、明らかなモードについては人為的にモード分類を行っておいてから、本発明の処理を実行するようにしてもよい。
【００７９】
また、本発明においては属性が異なるグループとの距離を判断基準としているため、グループを新たに作成している。従って、図１５に示すように属性が否の各グループＮ，Ａ，Ｂ，Ｃ，Ｄに属する要素がパラメータ空間において重複するような場合であっても、否のグループを細分化していくことができる。すなわち、似たようなパラメータ特性を有する複数の不良モードが存在する場合にも、グループを細分化し、良否判定の精度を向上させることができる。
【００８０】
さらに、新たなグループを作成した後にステップＳ２３５〜Ｓ２５０を実行することにより、可能な限り新たなグループに要素を多く取り入れるようにしている。ただし、ステップＳ２５０において、新たなグループについても、新たなグループの分布領域に良否属性の異なるグループのいずれかの要素が混在しないことが検証されるため、新たなグループに取り込まれた要素を中心として、さらに新たなグループが作成されることはない。従って、処理が複雑化することが防止できる。なお、上記実施形態においては、はんだを検査対象とするものを例示したが、検査対象の特徴を示すパラメータが取得できれば、いかなる検査対象物にも適用することができる。
【００８１】
（５）変形例：
ところで、前実施形態において、グループ作成処理が完了する段階で、ｒ(s)＝ＣgＰg*(s)／ＣgＰn*(i)＜１、および、ｒ(i)＝ＣnＰn*(i)／ＣnＰg*(s)＜１となることが保証される。図１６は、各要素と各グループの中心値との距離の分布を示している。同図において、縦軸は属性が否となるグループの中心値に対する各要素の距離を示し、横軸は属性が良となるグループの中心値に対する各要素の距離を示している。また、属性が良の要素を●で示し、属性が否の要素を▲で示している。
【００８２】
同図において、ｒ(s)＝ＣgＰg*(s)／ＣgＰn*(i)＜１、および、ｒ(i)＝ＣnＰn*(i)／ＣnＰg*(s)＜１が満足されるように新たなグループが作成されるため、傾き１の直線を境界として、良の要素と否の要素が分離して分布している。すなわち、同属距離と異属距離との比が１：１となる座標を境界として、良の要素と否の要素が分離して分布することとなる。ただし、良否の要素は、分離しているものの、傾き１の直線付近に多数の要素が存在している。従って、当該直線の付近の距離となる要素については、微妙な誤差等によって誤判定が発生する場合もある。
【００８３】
そこで、ある程度、余裕を持たせるためにｒ(s)＝ＣgＰg*(s)／ＣgＰn*(i)＜Ｔｈ、および、ｒ(i)＝ＣnＰn*(i)／ＣnＰg*(s)＜Ｔｈをグループ作成の条件としてもよい。なお、基準値Ｔｈは、０＜Ｔｈ＜１を満足する任意の閾値を意味する。例えば、Ｔｈ＝０．９とした場合には、同属距離は異属距離の０．９倍よりも小さい値となっていなければならない。また、Ｔｈ＝０．８とした場合には、同属距離は異属距離の０．８倍よりも小さい値となっていなければならない。すなわち、基準値Ｔｈを小さくするほど、同属距離は異属距離と比べて小さくなることが保証される。
【００８４】
図１７は、Ｔｈ＝０．９５，０．９０，０．８５，０．８０としたときの各要素と各グループの中心値との距離の分布を示している。同図において、傾き１の直線の両側にそれぞれ良否の要素が分布しない領域を形成することができ、Ｔｈが小さいほど同領域を広く確保することができる。従って、距離の算出等に多少の誤差があった場合でも、誤判定が発生することが防止できる。ただし、Ｔｈをあまりにも小さい値に設定しすぎると、ｒ(s)＝ＣgＰg*(s)／ＣgＰn*(i)＜Ｔｈ、および、ｒ(i)＝ＣnＰn*(i)／ＣnＰg*(s)＜Ｔｈが満足される要件が厳しくなりすぎ、不必要なグループが作成され、グループ作成処理の効率が低下する。誤判定防止効果が確保されつつ、グループ作成処理の効率を低下させない基準値Ｔｈの値として、Ｔｈ＝０．８５〜０．９５が望ましい。
【００８５】
なお、基準値Ｔｈを適用した場合、ステップＳ２６０では、上記式（２３）の左辺｛ＣgＰa(f)／ＣaＰa(f)｝の最小値に基準値Ｔｈを乗算した値と、右辺｛ＣgＰg(s)／ＣaＰg(s)｝の最大値を基準値Ｔｈで除算した値との相加平均の値を重み係数αａとして算出する。また、分母ＣaＰa(f)＝０のときに左辺｛ＣgＰa(f)／ＣaＰa(f)｝が最小となる場合には、αａ＝２×ＣgＰg(s)／ＣaＰg(s)／Ｔｈとする。これにより、重み係数αに対して基準値Ｔｈを加重することができる。
【００８６】
さらに、上述した実施形態の良否判定において、各グループＧ，Ｎ，Ａ，Ｂ，Ｃ，Ｄの中心値Ｃg，Ｃn，Ｃa，Ｃb，Ｃc，Ｃdに対する座標Ｘの距離を全て算出し、最も距離が小さくなるグループＧ，Ｎ，Ａ，Ｂ，Ｃ，Ｄに基づいて良否を決定するようにしたが、他の手法を適用してもよい。例えば、良グループＧの中心値Ｃgに対する座標Ｘの距離のみを算出し、同距離が所定の閾値を下回る場合には良であると判定し、同距離が所定の閾値を上回る場合には否であると判定してもよい。
【００８７】
この閾値を設定するにあたっては、グループ作成処理により良グループＧを取り囲む否のグループＮ，Ａ，Ｂ，Ｃ，Ｄの位置関係が分かっているため、これらの分布領域に干渉しないような閾値を設定することができる。これにより、良否判定処理を行う際の処理負担を軽減させることができる。また、どのグループＧ，Ｎ，Ａ，Ｂ，Ｃ，Ｄの中心値Ｃg，Ｃn，Ｃa，Ｃb，Ｃc，Ｃdにも距離が短くない座標Ｘに対して、安全をみて否であると判定することができる。
【図面の簡単な説明】
【００８８】
【図１】本発明にかかる良否判定装置の全体図である。
【図２】コンピュータの内部ブロック図である。
【図３】良否判定を行うためのソフトウェアブロック図である。
【図４】サンプルデータテーブルを示す表である。
【図５】サンプルデータ登録処理のフローチャートである。
【図６】視野Ｓを示す平面図である。
【図７】評価領域Ｔを示す平面図である。
【図８】グループ作成処理のフローチャートである。
【図９】サンプルデータテーブルを示す表である。
【図１０】パラメータ空間を示すグラフである。
【図１１】サンプルデータテーブルを示す表である。
【図１２】新たなグループの成立条件を説明する図である。
【図１３】グループ作成処理後のサンプルデータテーブルを示す表である。
【図１４】良否判定処理のフローチャートである。
【図１５】パラメータ空間を示すグラフである。
【図１６】同属距離と異属距離との関係を示すグラフである。
【図１７】変形例における同属距離と異属距離との関係を示すグラフである。
【符号の説明】
【００８９】
１０…形状良否判定装置
２０…撮像ユニット
２１…コントローラ
２１ａ…画像メモリ（ＶＲＡＭ）
２２…カメラ
２２ａ…光学系
２２ｂ…ＣＣＤ撮像板
２３…Ｘ−Ｙステージ
２４…リングライト
３０…コンピュータ
３１…ＣＰＵ
３２…ＲＡＭ
３３…ビデオメモリ（ＶＲＡＭ）
３３ａ…撮像イメージ
３４…ハードディスク（ＨＤＤ）
３４ｂ…良否判定プログラム
３４ｃ…基板データ
３４ｄ…サンプルデータテーブル
３６…ディスプレイ
３８ａ…キーボード
３８ｂ…マウス
５０…実装基板
５１…チップ部品
５２…はんだ
Ｍ１…撮像実行部
Ｍ２…撮像イメージ取得部
Ｍ３…パラメータ算出部
Ｍ４…中心値算出部
Ｍ５…距離算出部
Ｍ６…検出部
Ｍ７…グループ作成部
Ｍ８…良否判定部
【図１】
2006226708.tif 000013
【図２】
2006226708.tif 000014
【図３】
2006226708.tif 000015
【図４】
2006226708.tif 000016
【図５】
2006226708.tif 000017
【図６】
2006226708.tif 000018
【図７】
2006226708.tif 000019
【図８】
2006226708.tif 000020
【図９】
2006226708.tif 000021
【図１０】
2006226708.tif 000022
【図１１】
2006226708.tif 000023
【図１２】
2006226708.tif 000024
【図１３】
2006226708.tif 000025
【図１４】
2006226708.tif 000026
【図１５】
2006226708.tif 000027
【図１６】
2006226708.tif 000028
【図１７】
2006226708.tif 000029