(57)【要約】【課題】検査対象毎に検査パラメータを設定する必要がなく、半田付けの実装の良否を適切に判定すること。【解決手段】複数の半田接合部を含む画像から、半田接合部を含む部分画像を複数抽出する抽出部と、抽出部により抽出された複数の部分画像を用いて、半田接合部の実装の良否を判定する基準となる基準画像を作成する作成部と、作成部により作成された基準画像と各部分画像とを比較する比較部と、比較部による比較結果に基づき、各半田接合部の実装の良否を判定する判定部と、を備える。【選択図】図２
2013065809.tif 000002
【特許請求の範囲】
【請求項１】
複数の半田接合部を含む画像から、前記半田接合部を含む部分画像を複数抽出する抽出部と、
前記抽出部により抽出された複数の部分画像を用いて、前記半田接合部の実装の良否を判定する基準となる基準画像を作成する作成部と、
前記作成部により作成された基準画像と各部分画像とを比較する比較部と、
前記比較部による比較結果に基づき、各半田接合部の実装の良否を判定する判定部と、
を備える検査装置。
【請求項２】
前記抽出部は、
照明位置が異なる複数の前記画像それぞれに対して前記部分画像を複数抽出し、
前記作成部は、
複数の前記画像それぞれに対して前記基準画像を作成し、
前記比較部は、
前記画像毎に、該画像の基準画像と、該画像の各部分画像とを比較する請求項１記載の検査装置。
【請求項３】
前記抽出部は、
撮像部の視点位置が異なる複数の前記画像それぞれに対して前記部分画像を複数抽出し、
前記作成部は、
複数の前記画像それぞれに対して前記基準画像を作成し、
前記比較部は、
前記画像毎に、該画像の基準画像と、該画像の各部分画像とを比較する請求項１又は２記載の検査装置。
【請求項４】
複数の前記画像は、左右の２視点から撮像された画像であり、
前記左右の画像を用いて３次元計測を行って、前記部分画像内の検査対象部品の３次元位置を計測する計測部をさらに備え、
前記判定部は、
前記３次元位置及び前記比較結果に基づき、各半田接合部の実装の良否を判定する請求項３記載の検査装置。
【請求項５】
前記作成部は、
前記複数の部分画像に対し、部分画像同士で相関値を算出し、該相関値が閾値より高い部分画像を平均化することで前記基準画像を作成する請求項１乃至４いずれか一項に記載の検査装置。
【請求項６】
前記抽出部は、
前記照明位置及び／又は前記視点位置が異なる前記複数の画像に対し、共通の部分画像領域を検出する領域検出部と、
前記複数の画像それぞれから、前記共通の部分画像領域内の部分画像を複数抽出する部分画像抽出部とを備える請求項３記載の検査装置。
【請求項７】
前記領域検出部は、
前記複数の画像それぞれの水平又は垂直方向の輝度積分の総和に基づき、前記共通の部分画像領域の位置及びサイズを検出する請求項６記載の検査装置。
【請求項８】
前記領域検出部は、
前記複数の画像それぞれにおける水平方向の画素間の輝度差の総和に基づき、前記共通の部分画像領域に対する共通の間隔を検出する請求項７記載の検査装置。
【請求項９】
複数の半田接合部を含む画像から、前記半田接合部を含む部分画像を複数抽出し、
抽出された複数の前記部分画像を用いて、前記半田接合部の実装の良否を判定する基準となる基準画像を作成し、
作成された前記基準画像と各部分画像とを比較し、
比較結果に基づき、各半田接合部の実装の良否を判定する処理をコンピュータが実行する検査方法。
【請求項１０】
複数の半田接合部を含む画像から、前記半田接合部を含む部分画像を複数抽出し、
抽出された複数の前記部分画像を用いて、前記半田接合部の実装の良否を判定する基準となる基準画像を作成し、
作成された前記基準画像と各部分画像とを比較し、
比較結果に基づき、各半田接合部の実装の良否を判定する処理をコンピュータに実行させるための検査プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半田付けの実装の良否を検査する検査装置、検査方法及び検査プログラムに関する。
【背景技術】
【０００２】
プリント基板の実装検査において、現在、自動検査を行った後に、ＮＧ候補については人が目視検査を行っている。総合的な正確さや信頼性の点で、人の目の性能がまだ自動検査を上回っているからである。
【０００３】
しかし、人による目視検査では、見逃しが生じる、検査基準にばらつきが出る、人件費がかかる、といった問題があり、より一層の自動化が求められている。
【０００４】
プリント基板の実装検査においては、部品の取り付け位置や姿勢だけではなく、半田付けの状態が正常か不良かの検査が必要である。半田の接合状態が悪い場合、後になって製品の不具合となって現れる恐れがある。半田の接合状態は、半田フィレットの形状や濡れの具合により、外観で判断することができる。
【０００５】
プリント基板の実装部品の中でも、多ピンのコネクタ類は目視検査への依存度が高い。狭ピッチでリードの数が多く、検査すべきポイントが多数集中しているためである。また、リードの形状などが様々で、特定の検査基準を適用し難く、個別のティーチングが必要になる。
【０００６】
そのため、ティーチングの手間を増やすことなく、このようなコネクタ類の自動検査の精度を高めて、目視検査の作業量を減らすことが特に要求されている。
【０００７】
半田接合部の外観検査は、複雑な立体形状の半田フィレット表面が金属反射をして画像に映るため、プリント基板の実装検査の中でも特に難しい検査である。構造照明を用いることで光沢の問題を避ける方式も用いられているが、構造パターンが照射されている部分の立体形状しか分からない上、装置が複雑になってコスト増となり易い。
【０００８】
ここで、従来の半田付けの状態を検査する技術としては、カラーハイライト方式がある。このカラーハイライト方式に関し、例えば、部品の実装位置が正常な良品画像及び実装位置が正常でない不良品画像を用いて検査用のパラメータの１つである色条件を自動生成する技術がある。
【０００９】
また、他の検査技術としては、複数の同一パターンの半田付け部のうち、ある半田付け部形状を示す情報と、他の半田付け部の形状を示す情報とを比較することで半田付け状態の良否を判定する技術がある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００６−８６４５１号公報
【特許文献２】特開２００８−１９１１０６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、従来のカラーライト方式では、良品と不良品との実装部品の画像をそれぞれ記憶するＤＢ（Data Base）を用意する必要がある。そのため、新規の部品が増えれば、その部品用のＤＢを用意する必要があり、検査対象の部品毎に検査パラメータを変えなければならなかった。また、他の検査技術では、良否判定が、比較の基となる所定の半田付け部形状に大きく依存するため、適切に半田付けの実装の良否を判定することができているとは言えない。
【００１２】
よって、検査対象毎に検査パラメータを設定する必要がなく、半田付けの実装の良否を適切に判定することができる技術が求められている。
【００１３】
そこで、開示の技術では、検査対象毎に検査パラメータを設定する必要がなく、半田付けの実装の良否を適切に判定することができる検査装置、検査方法及び検査プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
開示の一態様における検査装置は、複数の半田接合部を含む画像から、前記半田接合部を含む部分画像を複数抽出する抽出部と、前記抽出部により抽出された複数の部分画像を用いて、前記半田接合部の実装の良否を判定する基準となる基準画像を作成する作成部と、前記作成部により作成された基準画像と各部分画像とを比較する比較部と、前記比較部による比較結果に基づき、各半田接合部の実装の良否を判定する判定部と、を備える。
【発明の効果】
【００１５】
開示の技術によれば、検査対象毎に検査パラメータを設定する必要がなく、半田付けの実装の良否を適切に判定することができる。
【図面の簡単な説明】
【００１６】
【図１】実施例１における検査装置のハードウェアの一例を示すブロック図。
【図２】実施例１における検査装置の機能の一例を示すブロック図。
【図３】検査対象の一例を示す図。
【図４】良否判定の処理概要を説明するための図。
【図５】リード間隔の検出を説明するための図。
【図６】輝度差のヒストグラムを示す図。
【図７】部分画像の抽出を説明するための図。
【図８】基準画像の作成方法を説明するための図。
【図９】基準画像と各部分画像との相関値を示す図。
【図１０】実施例１における検査処理の一例を示すフローチャート。
【図１１】実施例１における部分画像の抽出処理の一例を示すフローチャート。
【図１２】実施例１における基準画像の作成処理（方法１）の一例を示すフローチャート。
【図１３】実施例１における基準画像の作成処理（方法２）の一例を示すフローチャート。
【図１４】実施例１における基準画像の作成処理（方法３）の一例を示すフローチャート。
【図１５】実施例２における検査装置のハードウェアの一例を示すブロック図。
【図１６】実施例２における検査装置の機能の一例を示すブロック図。
【図１７】撮像部と照明機器との位置関係の一例を示す図。
【図１８】各検査画像から生成される各基準画像の一例を示す図。
【図１９】実施例２における検査処理の一例を示すフローチャート。
【図２０】実施例３における検査装置の機能の一例を示すブロック図。
【図２１】ステレオマッチングに基づき視差検出を説明するための図。
【図２２】視差に基づくリード高さの計測を説明するための図。
【図２３】半田の良否判定を説明するための図。
【図２４】リードの高さに基づく良否判定を説明するための図。
【図２５】実施例３における検査処理の一例を示すフローチャート。
【図２６】部分画像領域共通化（その１）の場合の処理概要を説明するための図。
【図２７】部分画像領域共通化（その２）の場合の処理概要を説明するための図。
【図２８】実施例４における抽出部の機能の一例を示すブロック図。
【図２９】共通リード間隔の検出を説明するための図。
【図３０】リード間隔の処理効率化を説明するための図。
【図３１】金具部分を含む検査画像の一例を示す図。
【図３２】共通部分画像領域の垂直範囲を検出するための図。
【図３３】実施例４における検査処理の一例を示すフローチャート。
【図３４】実施例４における共通部分画像領域の検出処理の一例を示すフローチャート。
【発明を実施するための形態】
【００１７】
以下、各実施例について、添付図面を参照しながら説明する。
【００１８】
［実施例１］
＜ハードウェア＞
図１は、実施例１における検査装置１０のハードウェアの一例を示すブロック図である。図１に示す例では、検査装置１０は、照明機器１１、撮像部１２、表示部１３と接続される。
【００１９】
照明機器１１は、例えば発行素子を有し、検査対象を照明する機器である。撮像部１２は、例えばカメラなどの撮像素子を有する装置である。撮像部１２は、検査対象を撮像し、例えばモノクロ画像を生成する。表示部１２は、例えばＣＲＴ（Cathode Ray Tube）やＬＣＤ（Liquid Crystal Display）等であり、検査装置１０から取得した検査結果を表示する。
【００２０】
図１に示す検査装置１０は、制御部１０１、主記憶部１０２、補助記憶部１０３、通信部１０４、ドライブ装置１０５を有する。各部は、バスを介して相互にデータ送受信可能に接続されている。
【００２１】
制御部１０１は、コンピュータの中で、各装置の制御やデータの演算、加工を行うＣＰＵ（Central Processing Unit）である。また、制御部１０１は、主記憶部１０２や補助記憶部１０３に記憶されたプログラムを実行する演算装置であり、入力装置や記憶装置からデータを受け取り、演算、加工した上で、出力装置や記憶装置に出力する。
【００２２】
主記憶部１０２は、例えば、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などである。主記憶部１０２は、制御部１０１が実行する基本ソフトウェアであるＯＳやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【００２３】
補助記憶部１０３は、例えばＨＤＤ（Hard Disk Drive）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。補助記憶部１０３は、例えば撮像部１２から取得した画像を記憶する。
【００２４】
通信部１０４は、有線又は無線で周辺機器とデータ通信を行う。通信部１０４は、例えばネットワークを介して、文字を含む画像を取得し、補助記憶部１０３に記憶する。
【００２５】
ドライブ装置１０５は、記録媒体１０６、例えばフレキシブルディスクやＣＤ（Compact Disc）から所定のプログラムを読み出し、記憶装置にインストールする。
【００２６】
また、記録媒体１０６に、所定のプログラムを格納し、この記録媒体１０６に格納されたプログラムは、ドライブ装置１０５を介して検査装置１０にインストールされる。インストールされた所定のプログラムは、検査装置１０により実行可能となる。
【００２７】
なお、図１に示す検査装置１０は、照明機器１１、撮像部１２及び表示部１３を別構成としたが、いずれか一つ、又は複数を含む構成としてもよい。
【００２８】
＜機能＞
図２は、実施例１における検査装置１０の機能の一例を示すブロック図である。図２に示す例では、検査装置１０は、取得部２０１、画像処理部２０２、判定部２０３を有する。取得部２０１、画像処理部２０２及び判定部２０３は、例えば制御部１０１及びワークメモリとしての主記憶部１０２などにより実現されうる。
【００２９】
取得部２０１は、撮像部１２から、検査対象の半田接合部を複数含む画像を取得する。以下、この画像を検査画像と呼ぶ。半田接合部とは、リードに半田付けを行って形成された半田フィレットを含む部分をいう。取得部２０１は、取得した検査画像を画像処理部２０２に出力する。
【００３０】
画像処理部２０２は、取得部２０１から入力された検査画像に対し、画像処理を行って、各半田接合部の半田付けの状態又は形状の良否を判定するのに用いる画像を生成し、生成した画像から判定パラメータを算出する。以下、半田付けの状態又は形状の良否を、半田付けの実装の良否とも言う。判定パラメータは、半田接合部の実装の良否を判定するのに用いるパラメータをいい、例えば画像間の相関値である。
【００３１】
画像処理部２０２は、判定パラメータを算出するため、抽出部２１１、作成部２１２、記憶部２１３、比較部２１４を有する。
【００３２】
抽出部２１１は、検査画像内に含まれるリードの間隔を検出し、リード間隔に基づいて、半田接合部を含む部分画像を抽出する。１つの部分画像は、１つの半田接合部を含む画像である。抽出部２１１は、抽出した複数の部分画像を作成部２１２に出力する。また、抽出部２１１は、記憶部２１３に対し、部分画像を抽出するためのデータをやり取りする。部分画像の具体的な抽出処理については後述する。
【００３３】
作成部２１２は、抽出部２１１から取得した複数の部分画像を用いて、半田付けの実装の良否判定に用いる基準画像を作成する。基準画像は、例えば、複数の部分画像の平均画像である。作成部２１２は、作成した基準画像を記憶部２１３に記憶し、比較部２１４に作成完了を通知する。基準画像の具体的な作成処理については後述する。
【００３４】
記憶部２１３は、作成部２１２により作成された基準画像を記憶する。基準画像は作成部２１２により書き込まれ、比較部２１４により読み出される。
【００３５】
比較部２１４は、作成部２１２から基準画像の作成完了通知を受けると、記憶部２１３から基準画像を読み出す。比較部２１４は、取得した基準画像と、検査画像に含まれる各部分画像とを比較する。
【００３６】
比較部２１４は、算出部２２１を有する。算出部２２１は、基準画像と検査画像の部分画像との相関値を算出する。算出部２１４は、この相関値を比較結果として判定部２０３に出力する。算出部２２１は、画像間の類似度を算出し、この類似度を比較結果としてもよい。
【００３７】
判定部２０３は、画像処理部２０２から基準画像と、検査画像内の部分画像との比較結果を取得すると、部分画像内の半田接合部の実装の良否を判定する。判定部２０３は、検査画像内の各部分画像に対し良否判定を行い、１つでも不良だと判定した場合には実装不良と判定する。
【００３８】
判定部２０３は、例えば、取得した判定結果である相関値が閾値よりも小さい場合は不良であると判定する。閾値は、例えば０．８５とし、この閾値は実験などにより適切な値が設定されればよい。判定部２０３は、判定結果を、表示部１３に出力する。表示部１３は、判定結果を表示する。
【００３９】
＜検査対象＞
図３は、検査対象の一例を示す図である。図３に示す例では、基板２３の表面に半導体集積回路２０が実装される。実装された半導体集積回路２０は例えば樹脂に覆われており、複数のリード２１を備える。各リードは、基板２３の表面に形成されるランドに半田付けされる。これにより、半田でリードとランドとが接合された部分を示す半田接合部２２が形成される。半田接合部２２は、例えば半田フィレットを有する。
【００４０】
撮像部１２は、図３に示すような複数のリードと半田接合部とを上方から撮像し、検査画像を生成する。
【００４１】
なお、図３に示す検査対象は一例であり、本実施例は、複数の半田接合部を有する検査対象物に適用可能であり、例えば、基板に表面実装された多ピン型コネクタの外観検査に適用可能である。
【００４２】
＜処理概要＞
図４は、良否判定の処理概要を説明するための図である。図４に示す例では、検査画像３０は、撮像部１２により撮像された検査対象物を含む画像である。部分画像３１は、リード２１と半田接合部２２とを含む矩形領域の画像である。基準画像３２は、複数の部分画像を用いて作成された、半田付けの実装の良否判定を行う基準となる画像である。
【００４３】
図４に示すように、半田付けの実装の良否判定が以下の手順で行われる。
（１）リード間隔検出
（２）部分画像抽出
（３）基準画像作成
（４）基準画像と部分画像との比較結果により良否判定
以下、（１）〜（４）の各処理について具体的に説明する。
【００４４】
（１）リード間隔検出
半田フィレット部分及び半田が乗ったリード表面は、微妙に表面形状が異なる上に金属反射を起こすため、明るさの分布がそれぞれ少しずつ異なって映る。従って、抽出部２１１は、安定して求めることのできるリードの間隔を検出する。なお、以下の説明では、リードが水平方向に並んでいるとするが、垂直方向にリードが並んでいても水平と垂直とを逆にして同様の処理を行えばよい。
【００４５】
リード部分は明るく、それ以外の部分は暗く映るため、抽出部２１１は、明るい領域が水平に等間隔で並んでいる部分を探索してリード領域として抽出し、その明るい領域の繰返し周期をリード間隔として求める。
【００４６】
画素レベルで考えると、明るい画素同士の間隔、あるいは、暗い画素同士の間隔がリード間隔に相当するため、同じ輝度の画素がどれだけ離れているかによりリード間隔が求められる。但し、半田部分の輝度にはばらつきが大きく、個々の画素で見るとノイズが多いため、抽出部２１１は、様々な位置で様々な間隔の画素同士の輝度差を見ることにより、総合して正確なリード間隔を求める。
【００４７】
図５は、リード間隔の検出を説明するための図である。図５に示すように、抽出部２１１は、水平ライン上で２つの画素を取り、その間隔（画素数）ｄ、および、輝度の差ΔＶを求める。例えば、水平方向の位置ｉの輝度値をＶｉ、位置ｊの輝度値をＶｊとする。このとき、輝度差ΔＶは、次の式（１）により求められる。
ΔＶ＝｜Ｖｉ−Ｖｊ｜  ・・・式（１）
画素の位置に関係なく、間隔ｄがリード間隔に近ければ輝度差ΔＶはほぼゼロになり、ｄがリード間隔より半周期ずれている場合は輝度差が最も大きくなる。これを利用して、抽出部２１１は、画素のペアを色々と変えて、つまり、ｉとｊとを変更して間隔ｄ毎の輝度差ΔＶを累積する。
【００４８】
図６は、輝度差のヒストグラムを示す図である。図６に示すグラフは、抽出部２１１が輝度差ΔＶを間隔ｄ毎に累積した場合の輝度ヒストグラムの一例を示す。この輝度ヒストグラムの最初に現れる極小値がリードの間隔に対応する。
【００４９】
間隔ｄの範囲を広げれば、リードの周期となるリード間隔の２倍、３倍に相当する極小値（ｄ＝ｍ２，ｍ３）が現れる。例えば、２倍のリード間隔に当たるｍ２を２で割ることにより、抽出部２１１は、サブピクセル精度で正確なリード間隔を得ることができる。例えば、ｍ２が３１画素の場合、ｍ２／２＝１５．５となり、小数単位の画素でリード間隔を表すことができる。
【００５０】
なお、図６に示すようなヒストグラムにこのような極大値と極小値が現れないような水平ライン上には、抽出部２１１は、コネクタのリードが存在していないものと判定する。リードの存在位置が不明の場合、抽出部２１１は、このような水平ラインを何箇所か設定し、リード間隔が正しく算出できる位置を見つける。
【００５１】
（２）部分画像抽出
抽出部２１１は、（１）の処理で求められたリード間隔を取得し、このリード間隔を用いて、リードの明るい領域を包含する矩形領域を部分画像として抽出する。矩形領域には、リードの一部と半田接合部とが含まれる。
【００５２】
図７は、部分画像の抽出を説明するための図である。図７（Ａ）は、検査画像の一例を示す。図７に示す例では、抽出部２１１は、リード間隔が得られた水平ラインとそのリード間隔に基づいて、水平方向・垂直方向に検査画像を輝度積分する。これにより、リードが存在する部分で積分値が大きくなる。
【００５３】
ただし、垂直方向の積分結果にはノイズによる凸凹が含まれており、平滑化しても必ずしもピークが均等な間隔で並ぶとは限らない。しかし、一つ一つのピーク位置はばらついても、全てのリードを足し合わせれば、リードの中心部分でピークとなることが期待できる。
【００５４】
図７（Ｂ）は、検査画像の輝度を垂直方向に積分した積分値を示す。抽出部２１１は、図７（Ｂ）に示す所定の始点Ｘ０からリード間隔ｍの距離ずつ水平方向にシフトした積分値をそれぞれ加算する。抽出部２１１は、この加算をＸ０からｍまで１画素ずつずらして行う。図７（Ｃ）は、間隔ｍ毎の累積積分値を示すグラフである。図７（Ｃ）は、始点Ｘ０から間隔ｍ毎に切り取った積分値を重ね合わせたグラフでもある。図７（Ｃ）に示すグラフのピーク値（極大値）を取る位置をＸ０ｍａｘとする。
【００５５】
抽出部２１１は、Ｘ０ｍａｘの位置を、リードの中心位置に決定する。抽出部２１１は、リードの中心位置が決まれば、その左右両側の所定範囲ｔを部分画像の横幅とする。図７（Ｄ）は、水平方向の部分画像の所定範囲ｔを示す。所定範囲ｔは、例えば、ピークの位置から左右に所定の長さ分と設定しておけばよい。また、所定範囲ｔは、垂直方向の輝度積分値のピーク値と極小値との間の長さに基づいて設定されてもよい。
【００５６】
図７（Ｅ）は、検査画像の輝度を水平方向に積分した積分値を示す。抽出部２１１は、例えば、積分値が閾値を超える部分を、半田接合部がある画像の下方向に所定値だけずらして垂直方向の所定範囲ｓを決定する。
【００５７】
抽出部２１１は、水平方向の所定範囲ｔと垂直方向の所定範囲ｓとに基づき矩形領域の部分画像を複数抽出する。抽出部２１１は、例えば、リードの中心位置からリード間隔ｍずつ離れた部分画像を複数抽出する。
【００５８】
（３）基準画像作成
作成部２１２は、抽出部２１１から取得した複数の部分画像を用いて、半田付けの実装の良否を判定する基準となる基準画像を作成する。ここでは、３通りの作成方法について説明する。
【００５９】
なお、作成部２１２は、基準画像の作成時に、不良の疑いのある部分画像を含めると基準画像の質が低下する。従って、作成部２１２は、不良の疑いがある部分画像は除外して基準画像を作成する。不良の疑いがある部分画像は、部分画像同士の相関値などを用いて検出すればよい。作成部２１２は、例えば、テンプレートマッチング又はパターンマッチングした位置の部分画像同士を加算平均することによって、基準画像を作成する。基準画像は、後述する良否判定のテンプレートマッチングにおいて、基準のテンプレートとなる。
【００６０】
（方法１）
作成部２１２は、部分画像の特定の１つ（ここでは左端）を基準として、他の部分画像とのテンプレートマッチング処理を行い、その位置と相関値を求める。処理時間は３つの方法の中では一番少ない。作成部２１２は、基準とした部分画像のみが不良だった場合、他の部分画像との相関値は全て低くなるため、基準とした部分画像が不良と判定することができる。
【００６１】
具体的な処理としては、作成部２１２は、各部分画像について、左端の部分画像との相関値を調べ、所定の閾値以上であれば、基準画像として平均をとる。この時、作成部２１２は、相関値が所定の閾値以下のものは基準画像には加算しない。所定の閾値は、例えば０．８５とするが、実験などにより適切な値が設定されればよい。
【００６２】
これは、不良あるいは不良の疑いのある部分画像を基準画像に混ぜないためである。また、作成部２１２は、基準画像として平均した部分画像の数もカウントし、所定の数以下であれば、不良あるいは不良に近い部分画像が幾つか含まれているとみなし、良否判定をＮＧとする。所定の数は、例えば部分画像の半分の値とするが、その他の値でもよい。
【００６３】
左端のリードだけが不良である場合も、カウント数が１となりＮＧと判定される。作成部２１２は、良否判定をＮＧと判定した場合は、別の部分画像を基準として前述した処理を行ってもよい。
【００６４】
（方法２）
作成部２１２は、全ての部分画像に関して、その両隣の部分画像とそれぞれテンプレートマッチング処理を行う。作成部２１２は、両端の部分画像については両端同士でのテンプレートマッチング処理を行う。これにより、全てのリードについて２つずつの相関値が得られる。
【００６５】
作成部２１２は、両方の相関値が所定の閾値より低い部分画像について不良に近いと判定して基準画像の作成からは除外することができる。これにより、方法２は、方法１よりも基準画像の正確さを高めることができる。
【００６６】
（方法３）
作成部２１２は、方法２を最大限に拡張したものとして、全ての部分画像間で総当りでテンプレートマッチング処理を行う。これにより、作成部２１２は、相関値が所定の閾値より低い部分画像を不良と判断して除外し、残りの部分画像で平均をとって基準画像を作成する。方法３は、処理時間が増えるものの、より正確な基準画像を作成することができる。
【００６７】
図８は、基準画像の作成方法を説明するための図である。図８（Ａ）は、方法１を説明するための図である。方法１は、図８（Ａ）に示すように、作成部２１２は、左端の部分画像とのテンプレートマッチング処理を行って、６番目の部分画像との相関値が低いと判断できる。よって、作成部２１２は、１〜５番目、７〜８番目の部分画像をテンプレートマッチングでマッチングした位置で平均化した平均画像を基準画像として作成する。
【００６８】
図８（Ｂ）は、方法２を説明するための図である。図８（Ｂ）に示すように、作成部２１２は、両隣の部分画像にテンプレートマッチング処理を行い、２つの相関値が所定の閾値より低い６番目の部分画像を除外する。よって、作成部２１２は、１〜５番目、７〜８番目の部分画像をテンプレートマッチングでマッチングした位置で平均化した平均画像を基準画像として作成する。
【００６９】
図８（Ｃ）は、方法３を説明するための図である。図８（Ｃ）に示すように、作成部２１２は、全ての部分画像間でテンプレートマッチング処理を行い、相関値の行列を作成する。このとき、相関値の平均が所定の閾値より低い６番目の部分画像を、作成部２１２は、除外する。よって、作成部２１２は、１〜５番目、７〜８番目の部分画像をテンプレートマッチングでマッチングした位置で平均化した平均画像を基準画像として作成する。
【００７０】
作成部２１２は、方法１〜３のいずれか１つを用いて基準画像を作成すればよい。方法１〜３のいずれかの方法が予め設定されていてもよいし、作成の都度、利用者に選択させるようにしてもよい。
【００７１】
なお、作成部２１２は、基準画像を作成する際、相関値の差異に基づいた重み付けを行って部分画像を加算し、平均画像を生成してもよい。
【００７２】
（４）基準画像と部分画像との比較結果により良否判定
比較部２１４は、作成部２１２により作成した基準画像を用いて各部分画像とのテンプレートマッチング処理を行い、それぞれの部分画像との相関値を求める。比較部２１４は、算出した相関値を判定部２０３に出力する。
【００７３】
判定部２０３は、相関値が低い部分画像は、半田接合部が、基準画像の半田接合部との差異が大きく、不良であることを示すと判断する。
【００７４】
図９は、基準画像と各部分画像との相関値を示す図である。図９に示すように、６番目の部分画像の相関値が閾値よりも小さい。よって、判定部２０３は、６番目の部分画像に含まれる半田接合部が不良であると判定する。この閾値は、例えば０．９とするが、実験などにより適切な値が設定されればよい。
【００７５】
ここで、平均画像を基準にして良否判定を行う理由は、次の通りである。個々のリードを含む部分画像にはばらつきがあるため、例え良品同士であっても、個々のペアの相関値は必ずしも高くなく、そのばらつきも大きい。そのため、良品と不良品の相関値による切り分けが難しい。
【００７６】
しかし、複数の部分画像の平均画像を作成することにより、ばらつきが相殺されて、真の良品画像（理想的な良品画像）に近い部分画像が得られる。従って、この平均画像を基準画像として個々の部分画像との相関値を算出すれば、それぞれの半田付けの実装の良否を適切に判定することが可能になる。
【００７７】
これにより、予め閾値さえ設定しておけばよいので、検査対象毎のパラメータ設定が不要となり、ティーチング処理を大幅に簡略化し、半田付けの実装の良否判定を適切に行うことができる。
【００７８】
＜動作＞
次に、実施例１における検査装置１０の動作について説明する。図１０は、実施例１における検査処理の一例を示すフローチャートである。図１０に示すステップＳ１０１で、撮像部１２は、検査対象物を撮像し、例えばモノクロの撮像画像を生成する。この撮像画像は検査画像として取得部２０１に取得され、抽出部２１１に入力される。
【００７９】
ステップＳ１０２で、抽出部２１１は、検査画像から、半田接合部を含む部分画像の抽出に成功したか否かを判定する。抽出処理の詳細は、図１１を用いて説明する。抽出に成功すれば（ステップＳ１０２−ＹＥＳ）ステップＳ１０３に進み、抽出に失敗すれば（ステップＳ１０２−ＮＯ）検査処理を終了する。
【００８０】
ステップＳ１０３で、作成部２１２は、基準画像の作成に成功したか否かを判定する。基準画像の作成処理は、図１２〜１４を用いて説明する。基準画像の作成に成功すれば（ステップＳ１０３−ＹＥＳ）ステップ１０４に進み、基準画像の作成に失敗すれば（ステップＳ１０３−ＮＯ）検査処理を終了する。
【００８１】
ステップＳ１０４で、比較部２１４は、基準画像と、各部分画像とを比較する。例えば、比較部２１４は、基準画像のリード及び半田接合部と、部分画像のリード及び半田接合部とのテンプレートマッチングを行い、相関値を算出する。相関値は、画像間の画素の類似度でもよい。
【００８２】
ステップＳ１０５で、判定部２０３は、比較部２１４の比較結果に基づいて、各部分画像に含まれる半田接合部の半田付けの実装の良否を判定する。これにより、適切な基準画像を作成して、良否判定を適切に行うことができる。
【００８３】
なお、部分画像の抽出失敗、又は基準画像の作成失敗の場合は、実装異常の程度が大きすぎることを示唆しているため、判定部２０３は、実装不良と判定する。
【００８４】
図１１は、実施例１における部分画像の抽出処理の一例を示すフローチャートである。図１１に示すステップＳ２０１で、抽出部２１１は、検査画像の中の水平ラインを選択する。抽出部２１１は、予め所定ライン（例えば中心から数ライン下のラインなど）を選択するようにしておく。
【００８５】
ステップＳ２０２で、抽出部２１１は、選択した水平ライン上の２つの画素の輝度差を累積して、図６に示すような輝度差ヒストグラムを作成する。
【００８６】
ステップＳ２０３で、抽出部２１１は、輝度差ヒストグラムの極小位置を検出できるかを判定する。輝度差ヒストグラムに極小位置がない場合は、その水平ラインにリードがない可能性が高い。よって、極小位置がなければ（ステップＳ２０３−ＮＯ）ステップＳ２０１に戻り、抽出部２１１は、他の水平ラインを選択する。極小位置があれば（ステップＳ２０３−ＹＥＳ）ステップＳ２０４に進む。
【００８７】
ステップＳ２０４で、抽出部２１１は、輝度ヒストグラムの極小位置に基づき、リード間隔を検出できるか否かを判定する。リード間隔が検出できれば（ステップＳ２０４−ＹＥＳ）ステップＳ２０５、Ｓ２０９に進み、リード間隔が検出できなければ（ステップＳ２０４−ＮＯ）抽出処理を終了する。
【００８８】
ステップＳ２０５で、抽出部２１１は、検査画像の垂直方向の輝度積分を行う（図７（Ｂ）参照）。
【００８９】
ステップＳ２０６で、抽出部２１１は、垂直方向の輝度積分値をリード間隔毎に累積する（図７（Ｃ）参照）。
【００９０】
ステップＳ２０７で、抽出部２１１は、リード間隔内での、輝度積分値の累積値のピークを、リード内の中心位置として検出する。
【００９１】
ステップＳ２０８で、抽出部２１１は、検査画像の左端のリードの水平範囲として、リードの中心位置に基づく所定範囲ｔを検出する。
【００９２】
ステップＳ２０９で、抽出部２１１は、検査画像の水平方向の輝度積分を行う（図７（Ｅ）参照）。
【００９３】
ステップＳ２１０で、抽出部２１１は、水平方向の輝度積分値を用いて、リードの垂直範囲として、所定範囲ｓを検出する。
【００９４】
なお、ステップＳ２０５〜Ｓ２０８とステップＳ２０９〜Ｓ２１０とは、順不同であり、平行して処理が行われてもよいし、どちらかが先に行われてもよい。
【００９５】
ステップＳ２１１で、抽出部２１１は、検出された左端の水平範囲の所定範囲ｔと、垂直範囲の所定範囲ｓとによる矩形領域の画像を部分画像に決定する。この部分画像には、リードや半田接合部が含まれる。
【００９６】
ステップＳ２１２で、抽出部２１１は、左端の部分画像が決定したら、例えば部分画像の中心位置をリード間隔分水平方向にずらしていくことで、全ての部分画像を決定することができる。これにより、検査画像から、リード及び半田接合部を含む部分画像を全て抽出することができる。
【００９７】
図１２は、実施例１における基準画像の作成処理（方法１）の一例を示すフローチャートである。図１２に示すステップＳ３０１で、作成部２１２は、左端の部分画像をテンプレートマッチング対象に設定する。左端をｎ＝１とする。
【００９８】
ステップＳ３０２で、作成部２１２は、パラメータｃｏｕｎｔを０に初期化する。ステップＳ３０３で、作成部２１２は、ｎに１を加算する。
【００９９】
ステップＳ３０４で、作成部２１２は、テンプレートマッチング対象の部分画像に基づき、ｎ番目の部分画像周辺をマッチング探索する。テンプレートマッチング処理では、相関値とマッチングした位置を算出することにする。
【０１００】
ステップＳ３０５で、作成部２１２は、２つの部分画像間の相関値とマッチングした位置とを取得する。
【０１０１】
ステップＳ３０６で、作成部２１２は、取得した相関値が閾値以上であるか否かを判定する。閾値は例えば０．８５である。相関値が閾値以上であれば（ステップＳ３０６−ＹＥＳ）ステップＳ３０７に進み、相関値が閾値未満であれば（ステップＳ３０６−ＮＯ）ステップＳ３０３に戻る。
【０１０２】
ステップＳ３０７で、作成部２１２は、マッチングした部分画像をマッチングした位置で平均画像に加算する。平均画像は、相関値が閾値以上の部分画像を平均化した画像である。
【０１０３】
ステップＳ３０８で、作成部２１２は、ｃｏｕｎｔに１を加算する。
【０１０４】
ステップＳ３０９で、作成部２１２は、ｎがＮであるかを判定する。Ｎは、抽出部２１１により抽出された部分画像の総数である。ｎ＝Ｎであれば（ステップＳ３０９−ＹＥＳ）ステップＳ３１０に進み、ｎ＝Ｎでなければ（ステップＳ３０９−ＮＯ）ステップＳ３０３に戻る。
【０１０５】
ステップＳ３１０で、作成部２１２は、ｃｏｕｎｔが閾値以上であるか否かを判定する。この閾値は、例えばＮ／２とする。なお、閾値は実験などにより適切な値が設定されればよい。ｃｏｕｎｔが閾値以上であれば（ステップＳ３１０−ＹＥＳ）ステップＳ３１１に進み、ｃｏｕｎｔが閾値未満であれば（ステップＳ３１０−ＮＯ）ステップＳ３１２に進む。
【０１０６】
ステップＳ３１１で、作成部２１２は、相関値が閾値以上の部分画像が平均化された平均画像を基準画像に設定する。作成された基準画像は、記憶部２１３に記憶される。
【０１０７】
ステップＳ３１２で、作成部２１２は、半田付けにそもそも実装不良が多いということで、判定ＮＧと判断する。作成部２１２は、判定ＮＧと判定した場合、判定部２０３にその旨を通知する。
【０１０８】
図１３は、実施例１における基準画像の作成処理（方法２）の一例を示すフローチャートである。図１３に示すステップＳ４０１で、作成部２１２は、ｎ＝１に設定する。
【０１０９】
ステップＳ４０２で、作成部２１２は、基準画像の左端からｎ番目の部分画像をマッチング対象の部分画像に設定する。
【０１１０】
ステップＳ４０３で、作成部２１２は、テンプレートマッチング対象の部分画像に基づき、ｎ＋１番目の部分画像周辺をマッチング探索する。テンプレートマッチング処理では、相関値とマッチングした位置とを算出することにする。ｎがＮの場合は、１番目の部分画像とのマッチングを行う。
【０１１１】
ステップＳ４０４で、作成部２１２は、２つの部分画像間の相関値とマッチングした位置とを取得する。ステップＳ４０５で、作成部２１２は、ｎに１を加算する。
【０１１２】
ステップＳ４０６で、作成部２１２は、ｎ＞Ｎであるかを判定する。Ｎは、抽出部２１１により抽出された部分画像の総数である。ｎ＞Ｎであれば（ステップＳ４０６−ＹＥＳ）ステップＳ４０７に進み、ｎ≦Ｎであれば（ステップＳ４０６−ＮＯ）ステップＳ４０２に戻る。
【０１１３】
ステップＳ４０７で、作成部２１２は、ｃｏｕｎｔ、ｎを０に初期化する。ステップＳ４０８で、作成部２１２は、ｎに１を加算する。
【０１１４】
ステップＳ４０９で、作成部２１２は、作成部２１２は、ｎ−１番目及びｎ番目の相関値２個の平均を算出する。この平均を平均相関値と呼ぶ。
【０１１５】
ステップＳ４１０で、作成部２１２は、平均相関値が閾値以上か否かを判定する。この閾値は例えば０．８５である。平均相関値が閾値以上であれば（ステップＳ４１０−ＹＥＳ）ステップＳ４１１に進み、平均相関値が閾値未満であれば（ステップＳ４１０−ＮＯ）Ｓ４０８に戻る。この閾値は、例えば０．８５とするが、実験などにより適切な値が設定されればよい。
【０１１６】
ステップＳ４１１で、作成部２１２は、ｎ番目の部分画像をマッチングした位置で平均画像に加算する。ステップＳ４１２で、作成部２１２は、ｃｏｕｎｔに１を加算する。
【０１１７】
ステップＳ４１３で、作成部２１２は、ｎ＝Ｎであるかを判定する。ｎ＝Ｎであれば（ステップＳ４１３−ＹＥＳ）ステップＳ４１４に進み、ｎ＝Ｎでなければ（ステップＳ４１３−ＮＯ）ステップＳ４０８に戻る。
【０１１８】
ステップＳ４１４以降の処理は、図１２に示すステップＳ３１０以降の処理と同様であるため、その説明を省略する。
【０１１９】
図１４は、実施例１における基準画像の作成処理（方法３）の一例を示すフローチャートである。図１４に示すステップＳ５０１〜Ｓ５０２の処理は、図１３に示すステップＳ４０１〜Ｓ４０２の処理と同様であるため、その説明を省略する。
【０１２０】
ステップＳ５０３で、作成部２１２は、テンプレートマッチング対象の部分画像に基づき、ｎ＋１番目からＮ番目の部分画像周辺をそれぞれマッチング探索する。
【０１２１】
ステップＳ５０４で、作成部２１２は、テンプレートマッチング対象の部分画像と、ｎ＋１番目からＮ番目の部分画像それぞれとの相関値及びマッチング位置を全て取得する。
【０１２２】
ステップＳ５０５〜Ｓ５０８の処理は、図１３に示すステップＳ４０５〜Ｓ４０８の処理と同様であるため、その説明を省略する。
【０１２３】
ステップＳ５０９で、作成部２１２は、ｎ番目以外の相関値Ｎ−１個の平均を算出し、この平均を平均相関値とする。
【０１２４】
ステップＳ５１０以降の処理は、図１３に示すステップＳ４１０以降の処理と同様であるため、その説明を省略する。
【０１２５】
以上、実施例１によれば、検査対象毎にパラメータを設定する必要がなく、適切に半田付けの実装の良否を判定することができる。また、実施例１によれば、照明の具合が変化しても、ティーチングをやり直すことなく、良否判定処理を適用することができる。また、実施例１によれば、コネクタの種類ごとに個別にティーチングを行う必要がない。また、実施例１によれば、新規の同種部品にも、ティーチングをやり直すことなくそのまま適用することができる。
【０１２６】
［実施例２］
次に、実施例２における検査装置について説明する。実施例２では、照明機器の位置を変えたり、複数の視点から検査対象物を撮像したりして取得した検査画像に基づいて良否判定を行うことで、判定の精度を上げる。
【０１２７】
＜ハードウェア＞
図１５は、実施例２における検査装置１０のハードウェアの一例を示すブロック図である。図１５に示す例では、検査装置１０のハードウェアは実施例１と変わらないが、撮像部が複数ある。図１５に示す例では、２つの撮像部が検査装置１０に接続される。第１撮像部１２−１は、例えば左視点から検査対象物を撮像する装置であり、第２撮像部１２−２は、例えば右視点から検査対象物を撮像する装置である。これにより、検査対象物をいろいろな角度から撮像することができる。
【０１２８】
その他の構成は、実施例１と同様であるため、図１に示す符号と同じ符号を付し、その説明を省略する。
【０１２９】
＜機能＞
図１６は、実施例２における検査装置１０の機能の一例を示すブロック図である。図１６に示す検査装置１０は、取得部３００、設定部３０１、画像処理部３０２、判定部３０３を有する。取得部３００、設定部３０１、画像処理部３０２及び判定部３０３は、例えば制御部１０１及びワークメモリとしての主記憶部１０２により実現されうる。
【０１３０】
取得部３００は、第１撮像部１２−１、第２撮像部１２−２から取得した撮像画像を抽出部３１１に出力する。この撮像画像は検査画像として扱われる。
【０１３１】
設定部３０１は、照明機器１１の位置を設定する。例えば、検査対象物の左上方、真上、右上方に照明機器１１が来るよう照明機器１１の位置を調節する。照明機器１１は、設定部３０１により可動制御される。
【０１３２】
なお、実施例２では、照明機器１１の位置を調節するのではなく、照明機器１１を複数備えて、各照明機器を順に照明することで、各方向から検査対象物を照明するにようにしてもよい。また、設定部３０１は、照明機器１１の照明位置を変更するのではなく、照明方向を変更するようにしてもよい。
【０１３３】
画像処理部３０２は、１つの検査対象物に対して各照明方向、各視点からの検査画像を用いて、各半田接合部の実装の良否を判定する。
【０１３４】
画像処理部３０２の抽出部３１１、作成部３１２、記憶部３１３、比較部３１４の各機能は、実施例１と基本的には同様である。実施例１と異なることは、複数の検査画像に対して、処理を行うことである。
【０１３５】
判定部３０３は、複数の検査画像それぞれに対し、比較結果を取得する。この比較結果に基づいて、いずれの検査画像にも不良がない場合に、判定部３０３は、その検査対象物の半田接合部の実装に不良はないと判定する。
【０１３６】
これは、半田フィレットは、立体形状の上に金属反射を起こすため、見え方によっては不良部分がはっきりと分からないことがある。そこで、例えば左右の２個の撮像部から視点を変えて撮像し、また、照明の位置、方向を変化させて撮像部が撮像することで、複数の検査画像を得ることができる。この複数の検査画像に対して、実施例１と同様の判定処理を行い、いずれの検査画像にも不良がない場合は、判定部３０３は、半田フィレットの形状に不良はないと判定する。
【０１３７】
図１７は、撮像部と照明機器との位置関係の一例を示す図である。図１７に示す例では、第１撮像部１２−１は、左方向から検査対象物を撮像し、第２撮像部１２−２は、右方向から検査対象物を撮像する。また、照明機器１１は、例えば左上方、真上、右上方と照明位置を変更する。図１７に示す例では、撮像部の視点が２通り、照明位置が３通りあるため、検査装置１０は、６通りの検査画像を得ることができる。
【０１３８】
なお、第１撮像部１２−１、第２撮像部１２−２は、例えば、集積回路２０から複数出ているリード及び半田接合部を含む点線枠を撮像するように調整されている。
【０１３９】
図１８は、各検査画像から生成される各基準画像の一例を示す図である。図１８に示す例は、図１７に示す視点位置、照明位置で撮像された検査画像を示す。また、各検査画像から作成された基準画像を示す。基準画像の半田フィレット部分は、照明の方向によって、その輝度の濃淡が異なる。
【０１４０】
これにより、視点位置、照明位置が異なる複数の検査画像で良否判定を行うことで、半田接合部の実装の良否判定の精度を向上させることができる。
【０１４１】
＜動作＞
次に、実施例２における検査装置１０の動作について説明する。図１９は、実施例２における検査処理の一例を示すフローチャートである。
【０１４２】
図１９に示すステップＳ６０１で、設定部３０１は、照明機器１１の位置を所定位置に設定する。
【０１４３】
ステップＳ６０２で、第１撮像部１２−１、第２撮像部１２−２は、検査対象物を撮像し、検査画像を検査装置１０に出力する。例えば、左右の方向から撮像した左右の検査画像が検査装置１０に出力される。
【０１４４】
ステップＳ６０３で、抽出部３１１は、左右の検査画像から、半田接合部を含む部分画像の抽出に成功したか否かを判定する。抽出処理は、図１１に示す処理と同様である。抽出に成功すれば（ステップＳ６０３−ＹＥＳ）ステップＳ６０４に進み、抽出に失敗すれば（ステップＳ６０３−ＮＯ）検査処理を終了する。
【０１４５】
ステップＳ６０４で、作成部３１２は、右の検査画像から基準画像の作成に成功したか否かを判定する。基準画像の作成処理は、図１２〜１４の処理の何れかを用いる。右の基準画像の作成に成功すれば（ステップ６０４−ＹＥＳ）ステップ６０５に進み、右の基準画像の作成に失敗すれば（ステップＳ６０４−ＮＯ）検査処理を終了する。
【０１４６】
ステップＳ６０５で、作成部３１２は、左の検査画像から基準画像の作成に成功したか否かを判定する。基準画像の作成処理は、図１２〜１４の処理の何れかを用いる。左の基準画像の作成に成功すれば（ステップ６０５−ＹＥＳ）ステップ６０６に進み、左の基準画像の作成に失敗すれば（ステップＳ６０５−ＮＯ）検査処理を終了する。なお、ステップＳ６０４、Ｓ６０５の順序は問わない。
【０１４７】
ステップＳ６０６で、設定部３０１は、全ての照明条件で撮像を行ったかを判定する。例えば、設定部３０１は、右、中央、左の順で照明位置を変更する場合、左に照明機器１１がある場合は、全ての照明条件で撮像したと判定する。
【０１４８】
全ての照明条件で撮像していれば（ステップＳ６０６−ＹＥＳ）ステップＳ６０７に進み、全ての照明条件で撮像していなければ（ステップＳ６０６−ＮＯ）照明条件を変更するためステップＳ６０１に戻る。
【０１４９】
ステップＳ６０７で、比較部３１４は、複数の検査画像それぞれに対して、基準画像と、各部分画像とを比較する。例えば、比較部２１４は、基準画像のリード及び半田接合部と、部分画像のリード及び半田接合部とのテンプレートマッチングを行い、相関値を算出する。
【０１５０】
ステップＳ６０８で、判定部３０３は、比較部３１４の比較結果に基づいて、複数の検査画像の１つでも不良が見つかった場合には、その検査対象物の半田付けの実装を不良と判定する。判定部３０３は、複数の検査画像に対して１つも不良がなかった場合に、その検査対象物の半田付けの実装は良品であると判定する。
【０１５１】
なお、実施例２では、視点位置と、照明位置の両方を変更する例について説明したが、いずれか一方の位置を変更するだけでもよい。
【０１５２】
以上、実施例２によれば、異なる視点、異なる照明位置により複雑な半田形状を撮像するため、異常状態を撮像する可能性が高くなり、異常の検査漏れを少なくし、ロバストに半田形状の異常を検出することができる。
【０１５３】
［実施例３］
次に、実施例３における検査装置について説明する。実施例３では、左右の撮像部により撮像されたステレオ画像を用いて、各リードの高さ計測を行う。これにより、リードの高さの異常を検出することができ、半田付けにおける実装の良否判定の精度を上げることができる。
【０１５４】
＜ハードウェア＞
実施例３における検査装置のハードウェアや検査装置に接続される機器は、実施例２と同様であるため、その説明を省略する。
【０１５５】
＜機能＞
図２０は、実施例３における検査装置１０の機能の一例を示すブロック図である。図２０に示す検査装置１０は、取得部３００、設定部３０１、画像処理部４０１、判定部４０２を有する。取得部３００、設定部３０１、画像処理部４０１及び判定部４０２は、例えば制御部１０１及びワークメモリとしての主記憶部１０２により実現されうる。なお、図２０に示す構成で、図１６に示す構成と同様の機能のものは同じ符号を付し、その説明を省略する。抽出部３１１は、抽出した部分画像を記憶部３１３に記憶する。
【０１５６】
画像処理部４０１は、計測部４１１を有する。計測部４１１は、左右の検査画像からそれぞれリードの位置を検出し、三角測量の原理で左右の対応点の３次元位置を求める。この方法により、基準面からみた３次元位置として、リードの高さが得られる。
【０１５７】
図２１は、ステレオマッチングに基づき視差検出を説明するための図である。ステレオマッチングとは、左右に配置された２台のカメラで撮影された２枚１組の画像を用いる。また、左のカメラで撮影された画像が、右のカメラで撮影された画像のどの部分に対応するかを面積相関の計算により求める。次に、その対応関係を使った三角測量により、各点の３次元的位置を推測する。この方法がステレオマッチングである。
【０１５８】
計測部４１１は、まず、左検査画像５０のリード部分の画像５１を切り出す。リード部分の画像をリード画像と呼ぶ。
【０１５９】
計測部４１１は、リード画像５１の中心座標を左画像の検出位置として求める。このリード画像５１を用いて、右検査画像５２の所定の探索範囲５４をテンプレートマッチングにより探索する。
【０１６０】
計測部４１１は、最もマッチング度の高い位置で、右検査画像５２上でのリード画像５３を検出する。左右の検査画像において検出したこれらの水平方向の位置の差が視差Ｄである。例えば、視差Ｄは、リード画像５１の中心と、リード画像５３の中心との差である。
【０１６１】
左右のカメラ座標におけるリードの検出位置から、左右の対応点までの距離が三角測量の原理により求まる。
【０１６２】
図２２は、視差に基づくリード高さの計測を説明するための図である。図２２に示す例では、左右の撮像部の光軸が交差している場合、視差が負に大きいほど距離が近く、視差が正に大きくなるほど距離が遠いということになる。
【０１６３】
計測部４１１は、撮像部の中心軸の交差点を基準面とすると、対応点までの距離に基づいて、基準面からのリードの高さが求められる。計測部４１１は、計測したリードの高さを判定部４０２に出力する。
【０１６４】
判定部４０２は、半田良否判定部４２１、高さ良否判定部４２２を有する。半田良否判定部４２１は、実施例２で説明した判定部３０３と同様である。
【０１６５】
図２３は、半田の良否判定を説明するための図である。図２３に示すように、半田良否判定部４２１は、例えば６通りの撮像条件による相関値を６次元の特徴ベクトルとみなすと、それぞれの半田接合部の相関値は、６次元特徴空間内の１点で表される。半田良否判定部４２１は、各リードについて、予め設定した良否判定面を下回るリードがあれば不良と判定する。良否判定面は、各次元において例えば０．９の面を表す。
【０１６６】
また、半田良否判定部４２１は、６次元特徴空間内のデータの分散により、良否判定面を適応的に調節してもよい。また、半田良否判定部４２１は、相関値は、左右の撮像部、照明位置によってサブグループ化することができるため、このサブグループ毎に良否判定面を設定することにより、判定精度を高めることもできる。なお、これらの方法は、実施例２においても適用できる。
【０１６７】
高さ良否判定部４２２は、計測部４１１から、各リードの高さを取得する。高さ良否判定部４２２は、次の２つの相対的な基準に基づいて判定を行う。高さ良否判定部４２２は、１つ目の基準として、リード高さのばらつきが閾値を超えていれば、浮いたリードがあるとして不良と判定する。
【０１６８】
高さ良否判定部４２２は、２つ目の基準として、リードの高さの分布の傾きが閾値を超えていれば、コネクタの取り付けが傾いているとして不良と判定する。
【０１６９】
図２４は、リードの高さに基づく良否判定を説明するための図である。図２４に示すように、高さ良否判定部４２２は、抽出された部分画像に含まれるリード毎に、リードの高さを計測し、ばらつき幅が閾値を超えた場合、又は高さの近似直線の傾きが閾値を超えた場合、不良があると判定する。なお、高さ良否判定部４２２は、計測された高さが所定範囲内にないリードがある場合に不良であると判定してもよい。
【０１７０】
判定部４０２は、半田良否判定部４２１、高さ良否判定部４２２のいずれかで不良と判定された場合には、半田付けにおける実装の不良があると判定する。これにより、半田付けとリードの高さとを含むコネクタの実装の良否判定の精度を向上させることができる。
【０１７１】
＜動作＞
次に、実施例３における検査装置１０の動作について説明する。図２５は、実施例３における検査処理の一例を示すフローチャートである。図２５に示すステップＳ７０１〜Ｓ７０５の処理は、図１９に示すステップＳ６０１〜Ｓ６０５の処理と同様であるため、その説明を省略する。
【０１７２】
ステップＳ７０６で、計測部４１１は、左右の検査画像からステレオマッチングにより各リードの高さを計測する。
【０１７３】
ステップＳ７０７〜Ｓ７０８の処理は、図１９に示すステップＳ６０６〜Ｓ６０７の処理と同様であるため、その説明を省略する。
【０１７４】
ステップＳ７０９は、半田良否判定部４２１は、半田接合部の実装の良否判定を判定する。判定方法は、実施例２と同様である。
【０１７５】
ステップＳ７１０で、高さ良否判定部４２２は、リードの高さで、浮いているリードが無いか、コネクタが傾いていないかを判定する。
【０１７６】
判定部４０２は、ステップＳ７０９、Ｓ７１０で、１つでも不良と判定されていれば、コネクタの実装は不良と判定する。
【０１７７】
以上、実施例３によれば、左右の視点から撮像されたステレオ画像を用いて、各リードの高さを計測することにより、リードの高さ不良を適切に検出することができるため、コネクタの実装不良を精度良く検出することができる。
【０１７８】
［実施例４］
次に、実施例４における検査装置について説明する。実施例４では、照明位置や視点位置を変えて撮像された複数の検査画像に対して、部分画像の位置やサイズを共通化する。これにより、共通の位置やサイズの部分画像を用いて良否判定をすることができ、効率よく実装不良を検出することができる。
【０１７９】
また、実施例４では、部分画像のサイズが同じになるため、同じ閾値を用いて良否判定を行うこができる。なお、共通化については、同一視点の検査画像に対して部分画像の位置やサイズを共通化したり、全ての検査画像に対して部分画像の位置やサイズを共通化したりすることができる。
【０１８０】
まず、実施例４における処理の概要について説明する。図２６は、部分画像領域共通化（その１）の場合の処理概要を説明するための図である。図２６に示す例では、左右のカメラで照明条件１，２において撮像し、４枚の検査画像を取得する。
【０１８１】
図２６に示す例では、同一視点の検査画像に対し、部分画像の領域を共通化する。これにより、同一視点では、同じ領域の部分画像を抽出し、同じ閾値を用いて良否判定を行うことができる。よって、全ての検査画像で独立して部分領域を抽出したり、閾値を設定したりする必要がない。
【０１８２】
同一視点において、照明条件が異なるだけで同じ対象物を撮像しているため、マッチング処理を行う部分画像の領域の位置やサイズは統一されていた方が望ましい。
【０１８３】
図２７は、部分画像領域共通化（その２）の場合の処理概要を説明するための図である。図２７に示す例では、左右のカメラで照明条件１，２において撮像し、４枚の検査画像を取得する。
【０１８４】
図２７に示す例では、全ての検査画像に対し、部分画像の領域を共通化する。これにより、全ての検査画像から同じ領域の部分画像を抽出し、統一的な閾値を用いて良否判定を行うことができる。よって、良否判定の閾値の設定は１つでよく、効率よく良否判定を行うことができる。
【０１８５】
複数の視点、又は複数の照明条件で検査画像が撮像されていた場合でも、同じ対象物を撮像しているため、マッチング処理を行う部分画像の領域の位置やサイズは統一されていた方が望ましい。複数の視点又は照明条件の検査画像を総合的に利用して、共通した最適な部分画像領域を検出すれば、どの視点又はどの照明条件の検査画像についても均一なマッチングスコアが得られるため、良否判定の精度向上が期待できる。以下では、図２７に示す例を用いて実施例４を説明する。
【０１８６】
＜ハードウェア＞
実施例４における検査装置のハードウェアや検査装置に接続される機器は、実施例２と同様であるため、その説明を省略する。
【０１８７】
＜機能＞
実施例４における機能的な構成については、実施例２や実施例３の機能的な構成に対して抽出部以外の機能は同様である。よって、以下では、実施例４における抽出部の機能について説明する。なお、実施例４における抽出部は、実施例２でも実施例３でも適用可能であるが、以下では、実施例３に適用する場合について説明する。
【０１８８】
図２８は、実施例４における抽出部５０１の機能の一例を示すブロック図である。図２８に示す例では、抽出部５０１は、領域検出部５１０、部分画像抽出部５２０を有する。
【０１８９】
領域検出部５１０は、取得部３００から入力された照明位置及び視点位置が異なる複数の検査画像に対し、共通の部分画像領域を検出する。なお、領域検出部５１０は、照明位置又は視点位置が異なる複数の画像に対し、共通の部分画像領域を検出してもよい。
【０１９０】
領域検出部５１０は、共通間隔検出部５１１、部分画像領域検出部５１２を有する。共通間隔検出部５１１は、複数の検査画像それぞれにおける水平方向の画素間の輝度差の総和に基づき、共通の部分画像領域に対する共通の間隔を検出する。共通間隔の検出処理の詳細は後述する。
【０１９１】
部分画像領域検出部５１２は、複数の検査画像それぞれの水平又は垂直方向の輝度積分の総和に基づき、共通の部分画像領域の位置及びサイズを検出する。共通領域の検出処理の詳細は後述する。
【０１９２】
部分画像抽出部５２０は、複数の検査画像それぞれから、共通の部分画像領域内の部分画像を複数抽出する。部分画像抽出部５２０は、抽出した複数の部分画像を作成部３１２及び記憶部３１３に出力する。
【０１９３】
＜共通化処理＞
次に、部分画像領域の共通化処理について説明する。まず、共通のリード間隔が検出される。
【０１９４】
図２９は、共通リード間隔の検出を説明するための図である。まず、視点や照明条件が異なっても、リード間隔は一定であるため、図２９に示すように複数の検査画像を総合的に処理することにより、共通リード間隔を求める。図２９では、説明を簡単にするため、左右のカメラで撮像された検査画像に対して、共通リード間隔を求める例を示す。
【０１９５】
図２９（Ａ）は、左カメラで撮像された検査画像を示し、図２９（Ｂ）は、右カメラで撮像された検査画像を示す。共通間隔検出部５１１は、左右の検査画像それぞれに対して、図２９（Ｃ）、（Ｄ）に示すような輝度差のヒストグラムを作成する。共通間隔検出部５１１は、図５や６で説明した処理と同様の処理を行って、輝度差のヒストグラムを作成する。
【０１９６】
図２９（Ｃ）、（Ｄ）に示すヒストグラムは、図６と同様に、極小となる横軸の画素間隔がコネクタのリード間隔に相当する。図２９（Ｃ）、（Ｄ）に示すように、左右のヒストグラムは、各リードの見え方の違いやノイズなどのために幾らか歪んでいるが、左右のヒストグラムを加算して平均化すればそのようなノイズが相殺される。
【０１９７】
よって、共通間隔検出部５１１は、図２９（Ｅ）に示すように、左右のヒストグラムを加算して平均化したヒストグラムを作成する。共通間隔検出部５１１は、図２９（Ｅ）に示すヒストグラムの極小位置を検出することで、適切な共通リード間隔を求めることができる。
【０１９８】
検査装置は、検出された共通のリード間隔を利用することで、左右それぞれの画像におけるリードの矩形領域の検出精度を向上させることができる。
【０１９９】
なお、照明条件が異なる条件が追加されても、共通間隔検出部５１１は、照明条件及び視点位置が異なる複数の検査画像から作成された輝度差のヒストグラムを加算して平均化すればよい。
【０２００】
なお、左右のカメラでスケールが異なる場合には、共通間隔検出部５１１は、カメラキャリブレーションで得られたスケール差に合わせて、左右間の画面内の距離（画素数）を変換すればよい。
【０２０１】
次に、リード間隔の検出について処理を効率化する例を説明する。図３０は、リード間隔の処理効率化を説明するための図である。ここで、コネクタ部品のリード間隔は、それぞれの製品分野における規格により概ね決まっている。
【０２０２】
例えば、リード間隔が、０．４ｍｍおよび０．５ｍｍのいずれかであるということが予め分かっていれば、抽出部は、図３０に示すように、リード間隔に応じた画素間隔の部分に絞ってヒストグラム作成を行えばよい。これにより、リード間隔における処理量を削減できる。なお、この処理効率化は、実施例１〜３についても適用することができる。
【０２０３】
また、検査画像中には、リードの半田接合部以外にも、コネクタのハウジングの金具などが周期的に映る場合がある。図３１は、金具部分を含む検査画像の一例を示す図である。ここで、抽出したリードや半田接合部以外の輝度値が高い部分をノイズ部分と呼ぶ。ノイズ部分は、例えば図３１に示すような金具部分である。
【０２０４】
抽出部は、リード間隔を検出する際に、ノイズ部分を除去するためには、以下の判定基準を用いることができる。
・明るい部分の大きさが所定の範囲であればノイズ部分と見なす。
特に、垂直方向のサイズが小さければリードではなく金具と考えられる。
・明るい部分の広がりが所定の形状であればノイズ部分と見なす。
特に、横長の形状であればリードではなく金具と考えられる。
・抽出した領域の相関値が所定の値以上であれば金具部分と見なす。
リードや半田フィレットの画像は個々にばらつきがあるが、金具の部分はほとんど同じ画像であるため、相関値が非常に高い値に集中する。
【０２０５】
よって、抽出部は、上記のいずれかの条件を満たす部分をノイズ部分として除去し、他の位置でリード間隔を検出する。これにより、検査画像中の様々な部分でリード間隔の検出を行う時に、適切なリード間隔を検出することが可能となる。
【０２０６】
次に、共通の部分画像領域の検出について説明する。複数の検査画像それぞれの部分画像領域の検出の仕方は、図７で説明した通りである。よって、部分画像領域検出部５１２は、それぞれの検査画像に対し、水平、垂直方向の輝度積分を行い、所定の輝度積分値以上の範囲を部分画像領域として検出する。
【０２０７】
部分画像領域検出部５１２は、それぞれの検査画像で求められた水平、垂直方向の輝度積分値の加算し、加算された積分値に基づいて、共通の部分画像領域を検出する。
【０２０８】
図３２は、共通部分画像領域の垂直範囲を検出するための図である。図３２では、説明を簡単にするため、左右のカメラで撮像された検査画像に対して、共通部分画像領域の垂直範囲を求める例を示す。共通部分画像領域とは、複数の検査画像で共通して用いられる、部分画像の領域をいう。
【０２０９】
図３２（Ａ）は、左カメラの検査画像を示し、図３２（Ｂ）は、左カメラの検査画像に対して水平方向に積分を行った積分値を示す。図３２（Ｃ）は、右カメラの検査画像を示し、図３２（Ｄ）は、右カメラの検査画像に対して水平方向に積分を行った積分値を示す。
【０２１０】
部分画像領域検出部５１２は、図３２（Ｂ）に示す輝度積分値と図３２（Ｄ）に示す輝度積分値の和を求め（図３２（Ｅ））、この左右の積分値の和に基づいて垂直方向の範囲を定める。垂直方向の所定範囲ｓについては、図７に示す処理と同様にして求められる。
【０２１１】
また、図３２（Ｆ）は、左カメラの検査画像に対して垂直方向に積分を行った積分値を示し、図３２（Ｇ）は、右カメラの検査画像に対して垂直方向に積分を行った積分値を示す。
【０２１２】
部分画像領域検出部５１２は、垂直方向と同様にして、図３２（Ｆ）に示す積分値と図３２（Ｇ）に示す積分値との和を求め、この左右の積分値の和に基づいて水平方向の範囲を定める。この水平方向の所定範囲ｔについては、図７に示す処理と同様にして求められる。
【０２１３】
なお、リードや半田接合部は複雑な立体形状であるため、視点や照明位置が変われば明るく映る部分も変化し、半田接合部であっても暗く映ってしまう場合がある。この場合には、部分画像領域検出部５１２は、左右の検査画像のどちらか一方でも明るい部分をリード部分とみなして部分画像領域を設定してもよい。部分領域検出部５１２は、例えば、左右の対応する垂直、水平位置の輝度積分の論理和を取ったり、単純な加算平均も行ったりすることも可能である。
【０２１４】
これにより、検査すべき部分を含んだ部分画像領域を検出することができる。左右で共通の垂直、水平範囲の部分画像を用いることにより、共通部分画像領域が得られる。
【０２１５】
＜動作＞
次に、実施例４における検査装置の動作について説明する。図３３は、実施例４における検査処理の一例を示すフローチャートである。図３３に示すステップＳ８０１〜Ｓ８０２の処理は、図１９に示すステップＳ６０１〜Ｓ６０２の処理と同様であるため、その説明を省略する。
【０２１６】
ステップＳ８０３で、設定部３０１は、全ての照明条件で撮像を行ったかを判定する。例えば、設定部３０１は、右、中央、左の順で照明位置を変更する場合、左に照明機器１１がある場合は、全ての照明条件で撮像したと判定する。
【０２１７】
全ての照明条件で撮像していれば（ステップＳ８０３−ＹＥＳ）ステップＳ８０４に進み、全ての照明条件で撮像していなければ（ステップＳ８０３−ＮＯ）照明条件を変更しステップＳ８０１に戻る。
【０２１８】
ステップＳ８０４で、抽出部５０１は、全ての検査画像に対して共通部分画像領域の抽出に成功したかを判定する。共通部分領域画像の検出処理については図３４を用いて説明する。抽出に成功すれば（ステップＳ８０４−ＹＥＳ）ステップＳ８０５に進み、抽出に失敗すれば（ステップＳ８０４−ＮＯ）検査処理を終了する。
【０２１９】
ステップＳ８０５〜Ｓ８０７では、図２５に示すステップＳ７０４〜Ｓ７０６の処理を照明条件毎に行う。
【０２２０】
ステップＳ８０８〜Ｓ８１０は、図２５に示すステップＳ７０８〜Ｓ７１０と同様であるため、その説明を省略する。
【０２２１】
図３４は、実施例４における共通部分画像領域の検出処理の一例を示すフローチャートである。図３４に示すステップＳ９０１で、抽出部５０１は、検査画像の画面全体での水平方向の輝度積分を行う。
【０２２２】
ステップＳ９０２で、抽出部５０１は、全検査画像に対して、水平方向の輝度積分を累積したかを判定する。全検査画像に対して累積していれば（ステップＳ９０２−ＹＥＳ）ステップＳ９０３に進み、全検査画像に対して累積していなければ（ステップＳ９０−ＮＯ）未処理の検査画像に対して処理を行うためステップＳ９０１に戻る。
【０２２３】
ステップＳ９０３〜Ｓ９０４の処理は、図１１に示すステップＳ２０１〜Ｓ２０２の処理と同様であるため、その説明を省略する。
【０２２４】
ステップＳ９０５で、抽出部５０１は、全検査画像に対して、輝度差ヒストグラムの作成が完了したかを判定する。全検査画像に対して作成が完了していれば（ステップＳ９０５−ＹＥＳ）ステップＳ９０６に進み、全検査画像に対して作成が完了していなければ（ステップＳ９０５−ＮＯ）全検査画像に対して輝度差ヒストグラムを作成するためステップＳ９０４に戻る。
【０２２５】
ステップＳ９０６〜Ｓ９０７の処理は、図１１に示すステップＳ２０３〜Ｓ２０４の処理と同様であるため、その説明を省略する。
【０２２６】
ステップＳ９０８で、抽出部５０１は、リード間隔が検出された水平位置の上下近傍に対して、水平方向の輝度積分値を取得する。
【０２２７】
ステップＳ９０９で、抽出部５０１は、輝度積分値が所定値以上を表す高輝度が、所定の長さ連続しているかを判定する。所定の長さとは、リード部分の長さに相当し、実験などにより適切な値が設定される。高輝度が所定の長さ連続していれば（ステップＳ９０９−ＹＥＳ）、全検査画像から共通のリード間隔を検出できたとしてステップＳ９１０、Ｓ９１４に進み、高輝度が所定の長さ連続していなければ（ステップＳ９０９−ＮＯ）別の水平ラインを選択するためステップＳ９０３に戻る。この処理により、例えば金具などのノイズ部分を除去することができる。
【０２２８】
ステップＳ９１０で、抽出部５０１は、全検査画像に対して、垂直方向の輝度積分を行う。
【０２２９】
ステップＳ９１１で、抽出部５０１は、全検査画像の垂直方向の輝度積分値をリード間隔毎に累積する。
【０２３０】
ステップＳ９１２で、抽出部５０１は、リード間隔内での、輝度積分値の累積値のピークを、リード内の中心位置として検出する。
【０２３１】
ステップＳ９１３で、抽出部５０１は、全検査画像の左端のリードの水平範囲として、リードの中心位置に基づく所定範囲ｔを検出する。
【０２３２】
ステップＳ９１４で、抽出部５０１は、全検査画像の水平方向の輝度積分値を用いて、リードの垂直範囲として、所定範囲ｓを検出する。
【０２３３】
なお、ステップＳ９１０〜Ｓ９１３とステップＳ９１４とは、順不同であり、平行して処理が行われてもよいし、どちらかが先に行われてもよい。
【０２３４】
ステップＳ９１５で、抽出部５０１は、検出された左端の水平範囲の所定範囲ｔと、垂直範囲の所定範囲ｓとによる矩形領域の画像を共通部分画像領域として検出する。
【０２３５】
ステップＳ９１６で、抽出部５０１は、左端の共通部分画像領域が決定したら、例えば共通部分画像領域の中心位置を共通リード間隔だけ水平方向にずらしていくことで、全ての共通部分画像領域を検出することができる。
【０２３６】
これにより、全検査画像から、リード及び半田接合部を含む共通部分画像領域を検出することができる。この後、抽出部５０１は、全検査画像に対して、共通部分画像領域に含まれる画像を部分画像として抽出する。
【０２３７】
以上、実施例４によれば、照明位置や視点位置を変えて撮像された複数の検査画像に対して、部分画像の位置やサイズを共通化することで、共通の位置やサイズの部分画像を用いて良否判定をすることができ、効率よく実装不良を検出することができる。
【０２３８】
［変形例］
なお、前述した各実施例で説明した検査処理を実現するためのプログラムを記録媒体に記録することで、各実施例での検査処理をコンピュータに実施させることができる。例えば、このプログラムを記録媒体に記録し、このプログラムが記録された記録媒体をコンピュータに読み取らせて、前述した検査処理を実現させることも可能である。
【０２３９】
なお、記録媒体は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。この記録媒体には、搬送波は含まれない。
【０２４０】
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した各実施例の構成要素を全部又は複数を組み合わせることも可能である。
【０２４１】
なお、以上の各実施例に関し、さらに以下の付記を開示する。
（付記１）
複数の半田接合部を含む画像から、前記半田接合部を含む部分画像を複数抽出する抽出部と、
前記抽出部により抽出された複数の部分画像を用いて、前記半田接合部の実装の良否を判定する基準となる基準画像を作成する作成部と、
前記作成部により作成された基準画像と各部分画像とを比較する比較部と、
前記比較部による比較結果に基づき、各半田接合部の実装の良否を判定する判定部と、
を備える検査装置。
（付記２）
前記抽出部は、
照明位置が異なる複数の前記画像それぞれに対して前記部分画像を複数抽出し、
前記作成部は、
複数の前記画像それぞれに対して前記基準画像を作成し、
前記比較部は、
前記画像毎に、該画像の基準画像と、該画像の各部分画像とを比較する付記１記載の検査装置。
（付記３）
前記抽出部は、
撮像部の視点位置が異なる複数の前記画像それぞれに対して前記部分画像を複数抽出し、
前記作成部は、
複数の前記画像それぞれに対して前記基準画像を作成し、
前記比較部は、
前記画像毎に、該画像の基準画像と、該画像の各部分画像とを比較する付記１又は２記載の検査装置。
（付記４）
複数の前記画像は、左右の２視点から撮像された画像であり、
前記左右の画像を用いて３次元計測を行って、前記部分画像内の検査対象部品の３次元位置を計測する計測部をさらに備え、
前記判定部は、
前記３次元位置及び前記比較結果に基づき、各半田接合部の実装の良否を判定する付記３記載の検査装置。
（付記５）
前記判定部は、
前記複数の画像毎に異なる実装の良否判定を行う付記４記載の検査装置。
（付記６）
前記判定部は、
各部分画像の前記３次元位置のばらつき幅、又は各部分画像の前記３次元位置から求められる近似直線の傾きに基づき良否判定を行う付記４記載の検査装置。
（付記７）
前記作成部は、
前記複数の部分画像に対し、部分画像同士で相関値を算出し、該相関値が閾値より高い部分画像を平均化することで前記基準画像を作成する付記１乃至６いずれか一項に記載の検査装置。
（付記８）
前記抽出部は、
前記照明位置及び／又は前記視点位置が異なる前記複数の画像に対し、共通の部分画像領域を検出する領域検出部と、
前記複数の画像それぞれから、前記共通の部分画像領域内の部分画像を複数抽出する部分画像抽出部とを備える付記３記載の検査装置。
（付記９）
前記領域検出部は、
前記複数の画像それぞれの水平又は垂直方向の輝度積分の総和に基づき、前記共通の部分画像領域の位置及びサイズを検出する付記８記載の検査装置。
（付記１０）
前記領域検出部は、
前記複数の画像それぞれにおける水平方向の画素間の輝度差の総和に基づき、前記共通の部分画像領域に対する共通の間隔を検出する付記９記載の検査装置。
（付記１１）
複数の半田接合部を含む画像から、前記半田接合部を含む部分画像を複数抽出し、
抽出された複数の前記部分画像を用いて、前記半田接合部の実装の良否を判定する基準となる基準画像を作成し、
作成された前記基準画像と各部分画像とを比較し、
比較結果に基づき、各半田接合部の実装の良否を判定する処理をコンピュータが実行する検査方法。
（付記１２）
複数の半田接合部を含む画像から、前記半田接合部を含む部分画像を複数抽出し、
抽出された複数の前記部分画像を用いて、前記半田接合部の実装の良否を判定する基準となる基準画像を作成し、
作成された前記基準画像と各部分画像とを比較し、
比較結果に基づき、各半田接合部の実装の良否を判定する処理をコンピュータに実行させるための検査プログラム。
【符号の説明】
【０２４２】
１０  検査装置
１１  照明機器
１２  撮像部
１２−１  第１撮像部
１２−２  第２撮像部
１３  表示部
２０  集積回路
２１  リード
２２  半田接合部
１０１  制御部
１０２  主記憶部
１０３  補助記憶部
１０４  通信部
１０５  ドライブ装置
２０１、３００  取得部
２０２、３０２、４０１  画像処理部
２０３、３０３  判定部
２１１、３１１、５０１  抽出部
２１２、３１２  作成部
２１３、３１３  記憶部
２１４、３１４  比較部
２２１、３２１  算出部
３０１  設定部
４１１  計測部
４２１  半田良否判定部
４２２  高さ良否判定部
５１０  領域検出部
５１１  共通間隔検出部
５１２  部分画像領域検出部
５２０  部分画像抽出部
【図１】
2013065809.tif 000003
【図２】
2013065809.tif 000004
【図３】
2013065809.tif 000005
【図４】
2013065809.tif 000006
【図５】
2013065809.tif 000007
【図６】
2013065809.tif 000008
【図７】
2013065809.tif 000009
【図８】
2013065809.tif 000010
【図９】
2013065809.tif 000011
【図１０】
2013065809.tif 000012
【図１１】
2013065809.tif 000013
【図１２】
2013065809.tif 000014
【図１３】
2013065809.tif 000015
【図１４】
2013065809.tif 000016
【図１５】
2013065809.tif 000017
【図１６】
2013065809.tif 000018
【図１７】
2013065809.tif 000019
【図１８】
2013065809.tif 000020
【図１９】
2013065809.tif 000021
【図２０】
2013065809.tif 000022
【図２１】
2013065809.tif 000023
【図２２】
2013065809.tif 000024
【図２３】
2013065809.tif 000025
【図２４】
2013065809.tif 000026
【図２５】
2013065809.tif 000027
【図２６】
2013065809.tif 000028
【図２７】
2013065809.tif 000029
【図２８】
2013065809.tif 000030
【図２９】
2013065809.tif 000031
【図３０】
2013065809.tif 000032
【図３２】
2013065809.tif 000033
【図３３】
2013065809.tif 000034
【図３４】
2013065809.tif 000035
【図３１】
2013065809.tif 000036