実装部品の検査のためのモデル登録方法、実装部品の検査方法およびこの方法を用いた基板検査装置
【課題】部品の正否を正しく見分けるのに必要な不良モデルの登録を、簡単かつ精度良く実行できるようにする。
【解決手段】部品分類処理部103は、CADデータ入力部101が入力した基板のCADデータを用いて、基板上の各部品を部品種およびサイズが同一のもの毎に分類する。モデル登録部104は、品番毎に、その品番の部品の画像の良モデルをモデル記憶部111に登録するとともに、同じグループに属する他の部品の良モデルを用いて、不良モデルを設定する。検査実行部107は、検査対象の部品について、その部品に対応する良モデルおよび不良モデルを用いて、各モデルに対する検査対象画像の類似度を求める。この結果、いずれの不良モデルに対する類似度よりも良モデルに対する類似度の方が高くなった場合には、検査対象の部品は正しい部品であると判別される。
【解決手段】部品分類処理部103は、CADデータ入力部101が入力した基板のCADデータを用いて、基板上の各部品を部品種およびサイズが同一のもの毎に分類する。モデル登録部104は、品番毎に、その品番の部品の画像の良モデルをモデル記憶部111に登録するとともに、同じグループに属する他の部品の良モデルを用いて、不良モデルを設定する。検査実行部107は、検査対象の部品について、その部品に対応する良モデルおよび不良モデルを用いて、各モデルに対する検査対象画像の類似度を求める。この結果、いずれの不良モデルに対する類似度よりも良モデルに対する類似度の方が高くなった場合には、検査対象の部品は正しい部品であると判別される。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、部品の実装工程を終了した後の基板を対象に、正しい部品が実装されているか否かを判別する自動外観検査に関する。
【背景技術】
【0002】
近年の基板生産ラインでは、マウンタの導入によって、部品を自動的に実装することができるが、パーツフィーダへの部品の補充や交換は人手により行われるため、人為ミスによって誤った部品が実装されることがある。このため、従来は、部品実装後の基板の画像から部品の本体部に印刷された文字列を抽出し、これが正しい文字列であるかどうかを判別するなどの方法により、部品の実装間違いを検出するようにしている(特許文献1参照。)。また、文字列のない部品についても、部品の色彩やサイズに基づいて実装間違いを検出するようにしている。
【0003】
【特許文献1】特開2004−235582
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1をはじめとする従来の実装部品の検査では、検査対象の部品の画像(以下、「検査対象画像」という。)を、あらかじめ登録した正しい部品の画像(以下、「良モデル」という。)と照合することによって、部品の正否を判別している。たとえば、文字列が印刷された部品については、検査対象画像から切り出した文字列と良モデル中の文字列との類似度を求め、この類似度が所定の判定基準値を上回るときに、検査対象の部品は正しい部品であると判別する。
【0005】
ところで、部品の実装間違いは、外観が似通った部品との取り違えにより生じることが多い。特に文字列が印刷された部品については、文字列の一部が異なるだけで、その他の外観がほぼ同一であるような部品が複数存在するため、部品の取り違えが起こりやすい。
【0006】
したがって、文字列の照合により部品の正否を見分ける場合には、文字列の一部の違いでも検出できるように、判定基準値を高く設定する必要がある。しかし、判定基準値を高くすると、正しい部品であっても、文字のかすれやにじみ等により良モデルに対する類似度が落ちた場合には、誤った部品であると判別される可能性があり、検査の精度を確保できなくなる。
【0007】
このような問題を解決する方法として、良モデルのほかに、誤って実装される可能性がある部品の画像(以下、「不良モデル」という。)を登録しておき、これら良/不良の各モデルを検査対象の文字列と個別に照合する方法が考えられる。この場合、検査対象画像について、不良モデルに対する類似度よりも良モデルに対する類似度の方が高ければ、検査対象の部品は正しい部品であると判別し、不良モデルに対する類似度の方が高ければ、検査対象の部品は誤った部品であると判別することになる。
【0008】
しかし、上記の方法では、どのような不良モデルを登録すれば良いかをユーザが判断する必要があるため、登録に手間がかかる。また、多数のモデルを登録しても、ユーザによるモデルの選択に誤りがあると、検査の精度を確保できないという問題もある。
【0009】
この発明は上記の問題に着目してなされたもので、部品の実装工程を経た基板を撮像し、生成された画像中の部品に関する特徴(たとえば文字列、または色彩)を用いて基板に正しい部品が実装されているかどうかを検査する場合に、部品の正否を正しく見分けるのに必要な不良モデルの登録を、簡単かつ精度良く実行できるようにすることを、課題とするものである。
【課題を解決するための手段】
【0010】
上記の課題を解決するために、この発明では、検査に先立ち、基板の設計データ(たとえばCADデータ)を用いて、各実装部品を部品種およびサイズに基づきグループ分けするステップA、基板上の各部品の画像の良モデルを登録するステップB、ステップBで登録された良モデルに順に着目し、着目中の良モデルが適用される部品と同一のグループに分類された他の部品の良モデルを、着目中の良モデルに対応する不良モデルとして設定するステップC、の各ステップを実行する。そして、検査においては、検査対象の部品毎に、その部品の画像を対象に良モデルおよび不良モデルに対する当該部品の画像の類似度を求め、いずれの不良モデルに対する類似度よりも良モデルに対する類似度の方が高くなったとき、検査対象の部品は正しい部品であると判別し、良モデルに対する類似度よりもいずれか不良モデルに対する類似度の方が高くなったとき、検査対象の部品は誤った部品であると判別する。
【0011】
部品の実装間違いの大半は、パーツフィーダへの部品の補充や交換時に、類似する部品を見誤ることによって生じると考えられる。よって、正しい部品と同一種、同一サイズの部品として実在する部品であって、かつ同じ基板に実装するために現場に準備されている部品が誤実装される可能性が高いと思われる。
【0012】
この発明にかかるモデル登録方法では、上記の点を考慮して、基板上の各実装部品を部品種が同一でサイズが同等の部品毎にグループ分けし、各部品について、それぞれその部品と同じグループに属する部品の良モデルを不良モデルとして設定するので、実装間違いの検出に適した不良モデルを自動的に設定することが可能になる。なお、不良モデルの設定では、各種良モデルをそのまま他の部品の不良モデルとしても良いが、これに限らず、たとえば、不良モデルとするモデルについて、他の部品の良モデルに最も類似する領域を特定し、この領域内の画像を不良モデルとしてもよい。
【0013】
また、ステップAでは、部品種およびサイズに加えて、部品に文字列が印刷されているかを、グループ分けの条件としてもよい。文字列がある部品と文字列のない部品とでは、検査のアルゴリズムが異なるためである。
【0014】
より好ましい態様においては、検査の前に、ステップCで設定された不良モデルの各画素に、それぞれ良モデルの対応画素に対する差に応じた重みを設定し、これらの重みを不良モデルに対応づけて登録するステップDを、さらに実行する。この場合の検査では、検査対象画像と各不良モデルとの間で、それぞれステップDで当該モデルにつき登録された重みにより対応画素間の差を重み付けした値を用いて、画像間の差が大きいほど値が大きくなるように設定された類似度を求める演算により、各不良モデルに対する検査対象画像の類似度を算出する。一方、良モデルについては、各不良モデルに設定したのと同じ重みを用いて前記演算を複数回実行することにより、良モデルに対する検査対象画像の類似度を複数とおり算出する。そして、良モデルに対する類似度と不良モデルに対する類似度とを、同じ重みを用いて算出されたもの毎に組み合わせて比較し、すべての組み合わせにおいて、不良モデルに対する類似度よりも良モデルに対する類似度の方が高くなったとき、前記検査対象の部品は正しい部品であると判別し、いずれかの組み合わせにおいて、不良モデルに対する類似度が良モデルに対する類似度よりも高くなったとき、前記検査対象の部品は誤った部品であると判別する。
【0015】
上記の態様によれば、検査対象画像とモデルとの間に差がある場合には、その差を重み付けする重みの値によって、類似度の高低の度合いが変わる。各画素に対する重みは、不良モデルと良モデルとの間の差に応じて設定されるので、良、不良のモデル間で実際に大きな差が生じる画素に大きな重みが設定される。検査対象部品が正しい部品である場合の検査対象画像では、いずれの不良モデルに対しても、良モデルに対して求めたのと同様の差が同様の位置に生じると考えられるから、その差が重み付けにより強調され、算出される類似度は低くなる(値としては高くなる。)。これに対し、良モデルに対しては、いずれの画素でも大きな差は算出されないと考えられるから、算出される類似度は高くなる(値としては低くなる。)。よって、類似度のいずれの組み合わせにおいても、不良モデルに対する類似度より良モデルに対する類似度の方が高くなると考えられる。
【0016】
検査対象部品が誤った部品である場合には、検査対象画像とモデルとの差は、誤った部品に対応する不良モデルを対象とするときに最も小さくなるから、この不良モデルに対する類似度が最も高くなると考えられる。一方、検査対象画像と良モデルとの間では、誤った部品に対応する不良モデルと良モデルとの間で求めたのと同様の差が同様の位置に生じるから、この不良モデルに対応する重みを用いて良モデルに対する類似度を算出した場合、その類似度は、不良モデルに対する類似度より低くなると考えられる。
【0017】
したがって、良モデルおよび不良モデルについて、同じ重みを用いて算出された類似度を比較すると、検査対象の部品が正しい場合には、良モデルに対する類似度の方が不良モデルに対する類似度よりも高くなると考えられる。また検査対象の部品が誤った部品である場合には、その部品に対応する不良モデルに対する類似度が、同じ重みを用いて算出された良モデルに対する類似度よりも高くなると考えられる。よって、上記の態様によれば、実際の部品に対応するモデルに対する類似度が、他のモデルに対する類似度より大きくなるから、部品の成否の判別を高い確度で行うことができる。
【0018】
上記の方法を用いた基板検査装置は、検査対象の基板上の各部品の画像の良モデルが登録されたメモリと、検査対象の基板の設計データの入力を受け付けて、入力された設計データを用いて、各実装部品を部品種およびサイズに基づきグループ分けする分類手段と、メモリに登録された良モデルに順に着目し、着目中の良モデルが適用される部品と同一のグループに分類された他の部品の良モデルを、着目中の良モデルに対応する不良モデルとして設定する不良モデル設定手段と、検査対象の基板が撮像されたとき、生成された画像中の検査対象の部品毎に、対応する良モデルおよび不良モデルに対する当該部品の画像の類似度を求め、これらの類似度に基づき、各部品が正しい部品であるかどうかを判別する判別手段を具備する。また判別手段は、いずれの不良モデルに対する類似度よりも良モデルに対する類似度の方が高くなったとき、検査対象の部品は正しい部品であると判別し、前記良モデルに対する類似度よりもいずれかの不良モデルに対する類似度の方が高くなったとき、前記検査対象の部品は誤った部品であると判別する。
【0019】
上記構成の基板検査装置によれば、検査対象の基板の設計データを入力することによって、部品の実装の正否を判別するのに適した不良モデルを自動的に設定し、精度の高い検査を実行することが可能になる。
【発明の効果】
【0020】
上記の方法および基板検査装置によれば、正しい部品が実装されているか否かの検査について、基板の設計データや良モデルとして登録される画像を用いて、誤って実装され得る部品に対応する不良モデルを簡単かつ精度良く設定することができる。よって、実装部品の成否を判別する検査の精度を確保することができる。
【発明を実施するための最良の形態】
【0021】
図1は、この発明が適用されたプリント基板の自動外観検査装置の構成を示す。
この自動外観検査装置(以下、単に「検査装置」という。)は、基板生産ラインの部品実装工程を経た基板を対象に検査するもので、コントローラ1、カメラ2、照明装置3、基板ステージ4、入力部5、モニタ6などにより構成される。
【0022】
基板ステージ4には、基板8を支持するためのテーブル部41や、X軸ステージおよびY軸ステージ(いずれも図示せず。)を含む移動機構42などが含まれる。
【0023】
カメラ2および照明部3は、「カラーハイライト方式」と称される光学系を構成する。カメラ2は、カラー静止画像を生成するもので、基板ステージ41の上方に撮像面を下方に向け、かつ光軸を鉛直方向に合わせた状態で配備される。照明部3は、基板ステージ4とカメラ2との間に配置された3個の円環状光源3R,3G,3Bにより構成される。これらの光源3R,3G,3Bは、それぞれ、赤、緑、青の色彩光を発するもので、各中心部をカメラ4の光軸に位置合わせした状態で配備されている。また、各光源3R,3G,3Bは、基板8に対しそれぞれ異なる方向から光を照射できるように、互いに異なる大きさの径を有するように設定される。
【0024】
コントローラ1には、コンピュータによる制御部10のほか、画像入力部11、撮像制御部12、照明制御部13、XYステージ制御部14、メモリ15、CD−ROMドライブ16、通信用インターフェース17などが設けられる。画像入力部11には、カメラ2に対するインターフェース回路などが含まれる。撮像制御部12は、カメラ2に対し、撮像を指示するタイミング信号を出力するためのものである。
【0025】
照明制御部13は、前記照明部3の各光源3R,3G,3Bの点灯・消灯動作の制御や光量の調整などを行う。XYステージ制御部14は、基板ステージ4の移動タイミングや移動量を制御する。
【0026】
メモリ15には、検査用のプログラム(後記する部品検査システム用のプログラムを含む。)や各種検査データ(たとえば、検査対象の部品の部品情報、検査領域の設定データ、被検査部位を検出するための2値化しきい値など)が格納される。さらに、この実施例のメモリ15には、後記するモデル記憶部111、グループデータ記憶部112、重みデータ記憶部113の各記憶部に相当する領域も設けられる。
【0027】
制御部10は、XYステージ制御部14を介して基板ステージ42の移動を制御することにより、カメラ2と基板8とを位置合わせし、撮像する。この撮像により生成されたカラー画像は画像入力部11を介して制御部10に入力され、その内部メモリ(RAM)に格納される。制御部10は、このRAMに格納されたカラー画像を用いて、各部品に対する検査を順に実行する。さらに、制御部10は、各部品に対する計測結果や判定結果、ならびに検査に使用された画像を、通信用インターフェース17を用いて図示しない外部装置に送信する。
【0028】
なお、上記の検査装置で実行される検査には、実装部品が正しいかどうかの検査(以下、「部品検査」という。)と、部品の位置や向きが正しいかどうかの検査とが含まれるが、以下では、部品検査のみに限定して説明する。
【0029】
この実施例の部品検査は、さらに2つの種類に分類される。1つは、部品本体に所定の文字列(型番、抵抗値など)が印刷されている部品を対象に、画像上の文字列が正しいかどうかによって部品の正否を判別するものである。もう1つは、文字列が印刷されていない部品を対象に、画像上の部品のサイズや色彩が正しいかどうかによって、部品の正否を判別するものである。いずれの場合にも、部品毎に、その部品の正しいサンプル画像と、誤った部品のサンプル画像とが、それぞれ良モデル、不良モデルとして登録される。
【0030】
制御部10は、部品の実際の画像について、後記する手順により良モデルおよび不良モデルに対する類似度を算出し、モデル間の類似度の大小を比較する処理により、部品が正しいものであるかどうかを判別する。
【0031】
さらに、この検査装置では、基板のCADデータを用いて、部品の誤実装を検出するのに適した不良モデルを、制御部10内で自動的に設定できるようにしている。以下、文字列の検査を行う場合を例に、不良モデルの設定方法を説明する。
【0032】
図2は、検査対象の基板の構成例を、図3は、この基板のCADデータの内容を、それぞれ示す。この例では、説明を簡単にするために、基板上の実装部品を9個に限定し、各部品に、それぞれ1〜9の部品番号が付与されているものとする。以下の説明でも、個々の部品に言及する場合には、「○番の部品」というように、部品番号を用いて示す。
【0033】
図3の例のCADデータは、上記の部品番号に、品番、部品種、サイズ、部品中心のx,y座標、および搭載角度(所定の方向を向いた状態の部品を基準にして、この基準の状態に対する実際の部品の回転角度をいう。)の各データを対応づけた構成のものである。図3では、部品番号、搭載角度以外の情報を、アルファベット等の文字で示しているが、同一内容のデータを同じ文字により表現している。
【0034】
上記のCADデータによれば、6番の部品を除く各部品は同じ部品種I(この例では角チップ)に属している。部品種Iに属する部品のうち、4番を除く各部品(図3中、部品番号に網点を付した部分)は同じサイズである。さらに、部品種Iの同一サイズの部品のうち、2番、5番、8番、9番の各部品は品番が同一であり、3番および7番の各部品も品番が同一である。
【0035】
また、図2の基板の構成図によれば、部品種Iに属する部品には、4番の部品を除き、すべて部品本体に文字列が印刷されている。この例の文字列(101,102,103)は抵抗値を示すものであり、同一品番の部品にはすべて同一の文字列が印刷される。
【0036】
ところで、部品の誤実装は、作業員のミスにより生じるが、最も起こりやすいミスは、外観が類似する部品との取り違えであると思われる。また、外観が明らかに異なる部品に取り違えた場合には、良モデルとのマッチングによって誤実装を検出することが可能であるが、正しい部品に外観がきわめて近い部品に取り違えた場合(たとえば、図2,3に示した品番Aの部品を品番BやCの部品と取り違えた場合)には、良モデルのみでは誤実装を検出できない可能性がある。また、このような誤実装の検出精度を上げるために、類似度の判定基準値を高くすると、正しい部品であるのに、文字列に欠けやかすれ等の不備がある部品までが、誤った部品であると判別されてしまう。
【0037】
このような問題に鑑み、この実施例では、CADデータを用いて、基板上の各実装部品を、部品種が同じでサイズが共通するもの毎にグループ分けする。さらに、同一種、同サイズの部品の中に、部品本体に文字列がある部品とない部品とが混じっている場合には、文字列の有無によってグループを分ける場合もある。そして各部品について、それぞれその部品の良モデルを登録するとともに、同じグループに分類された他の部品の良モデルを不良モデルとして設定し、登録する。さらに、後記する重みデータを用いたマッチング処理によって、部品の正否判別の精度を高めるようにしている。
【0038】
図4は、図2に示した各部品を、部品種およびサイズが同じもの毎にグループ分けした結果を示す。この例によれば、部品種Iに属する4種類の部品のうち、サイズが同一の3種類の部品(品番A,B,C)が同じグループ(グループ1)に分類され、その他の品番D,Eは、それぞれ個別のグループ2,3に分類される。よって、グループ1の品番Aの部品については、品番BおよびCの部品の良モデルが不良モデルとして設定される。同様に、品番Bの部品については、品番AおよびCの部品の良モデルが不良モデルとして設定され、品番Cの部品については、品番AおよびBの部品の良モデルが不良モデルとして設定される。
【0039】
上記のモデルの登録方法によれば、検査対象の部品と明らかに外観が異なる部品が誤実装されている場合には、従来と同様に、検査対象の部品の画像を良モデルと照合することによって、誤実装を検出することができる。また、検査対象の部品と外観が類似する部品が誤実装されている場合には、その部品の良モデルから設定された不良モデルを用いた照合処理によって、誤実装を検出することができる。
【0040】
また、上記の方法では、基板のCADデータを用いて、部品種およびサイズが同一のもの毎に各部品をグループ分けするので、実際に作業者による取り違えが起こる可能性が高い部品同士を、同じグループに分類することができる。多くの場合、マウンタの近傍には、基板に実装される部品が、部品種やサイズ毎に分類されてストックされているため、外観の似た部品間での取り違えが起こりやすい。しかし、この実施例では、取り違えられる可能性の高い部品毎に、その部品を検出するための不良モデルを登録することができるから、部品検査のための判定基準値を高い値に絞り込まなくとも、検査の精度を確保することが可能になる。
【0041】
図5は、図1の検査装置に導入される部品検査システムの機能ブロック図である。この部品検査システム100は、上記した部品の分類処理およびモデルの登録処理を実行した上で、検査対象の基板の画像を取り込んで検査を実行するものである。システム100には、モデル記憶部111、グループデータ記憶部112、重みデータ記憶部113の各記憶部のほか、CADデータ入力部101、良品画像取得部102、部品分類処理部103、モデル登録部104、重みデータ設定部105、基板画像取得部106、検査実行部107、検査結果出力部108などが含まれる。
【0042】
CADデータ入力部101は、CD−ROM等の記憶媒体や外部機器などから、検査対象の基板のCADデータを取り込む。良品画像取得部102は、カメラ2により基板8のモデルが撮像されたときに生成された画像を、良品基板の画像(以下、「良品画像」という。)として取り込む。取り込まれたCADデータや良品画像は、図示しない作業用メモリ内に格納される。
【0043】
部品分類処理部103は、CADデータ中の品番、部品種、サイズの各情報に基づき、各実装部品を、部品種およびサイズが同一の部品毎にグループ分けする。また、設定された各グループに、それぞれ固有の識別番号(以下、「グループ番号」という。)を設定して、グループデータ記憶部112に保存する。さらに、グループ毎に、そのグループに所属する部品の品番および部品番号、ならびにグループの属性情報(各所属部品に共通の部品種およびサイズ、ならびに文字列の有無)を上記のグループ番号に対応づけて、グループデータ記憶部112に保存する(以下、上記のグループデータ記憶部112にグループ番号を保存する処理を「グループを登録する処理」といい、グループ番号に対応づけてデータを保存する処理のことを「グループにデータを登録する処理」という。)。
【0044】
モデル登録部104は、上記のCADデータに基づき、各品番につき、それぞれ最初に着目した部品の画像を基板の良品画像から切り出し、当該品番に共通の良モデルとして、モデル記憶部111に登録する。またモデル登録部104は、部品分類処理部103のグループ分け結果に基づき、各品番について、それぞれその品番と同じグループに属する他の品番を認識し、認識した品番の良モデルを不良モデルとして設定する。
【0045】
重みデータ設定部105は、各不良モデルについて、それぞれ対応する良モデルに対する差異を反映した重みデータを設定し、これを重みデータ記憶部113に登録する。
【0046】
基板画像取得部106は、カメラ2により検査対象の基板8が撮像されたときに、生成された画像を取り込み、検査実行部107に供給する。検査実行部107は、供給された画像に含まれる各部品に順に着目しつつ、着目部品の画像をモデル記憶部111や重みデータ記憶部113の登録データを用いて処理することにより、部品検査を実行する。検査結果出力部108は、基板上の全ての部品に対する部品検査が終了したとき、各検査結果を統合し、モニタ6や図示しない外部機器などに出力する。
【0047】
つぎに、上記の部品検査システム100で登録される良/不良モデルおよび重みデータについて、説明する。
【0048】
図6(1)(2)は、同じグループに属する2つの部品について、それぞれ良モデルを登録する例を示す。図6(1)は、部品本体に文字列が印刷された部品(前出の品番A,B)を拡大して示したものである。図6(2)は、部品本体には文字列がないが、色彩の一部が共通する部品の例である。
【0049】
この実施例では、各部品について、良品画像中の部品本体の部分に所定大きさの矩形領域50を設定し、この領域50内の画像を良モデルとして切り出して登録するようにしている。文字列を有する部品の場合には、全ての文字列が含まれるように領域の位置および大きさを調整する必要がある。
【0050】
この実施例のように、同じグループに属する複数の部品にそれぞれ設定された良モデルを、他の部品の不良モデルとして使用する場合には、不良モデルとしての登録処理は、特段に必要ではない。ただし、この実施例では、良モデルとの実質的な差を精度良く反映した不良モデルを設定するために、着目中の良モデルを用いたマッチング処理により、他の部品の良モデル中で着目中の良モデルに最も類似する領域を特定し、その領域内の画像を不良モデルとしてモデル記憶部111に登録するようにしている。
【0051】
重みデータは、設定した不良モデルと着目中の良モデルとの実質的な差に基づき設定される。具体的には、これらのモデル間の差画像を作成した後に、差画像を平滑化し、平滑化後の差画像を、不良モデルに対応する重みデータとして設定する。
【0052】
図7は、重みデータの設定の一例として、差画像(上段)および平滑処理後の画像(下段)について、それぞれ各画素の濃度(階調)を示したものである。この例の平滑処理は、差画像の各構成画素に順に着目しながら、着目画素の階調を、当該画素および周囲近傍8画素の階調の平均値に置き換えるものである。平滑処理後の差画像の各構成画素の画素データは、不良モデルの対応画素(座標が同じ画素)に対する「重み」として、検査対象画像のモデルに対する相違度を算出するのに使用される。
【0053】
なお、この実施例ではカラー画像を処理するので、良/不良の各モデルは、いずれもR,G,Bの3種類の画像データを組み合わせたものとなる。よって、重みデータも、R,G,B毎に設定される。
【0054】
具体的に、良または不良のモデルの座標(x,y)にある画素のR,G,B値を、それぞれMr(x,y)、Mg(x,y)、Mb(x,y)とし、検査対象画像の対応画素のR,G,B値をIr(x,y)、Ig(x,y)、Ib(x,y)とし、重みデータをHr(x,y)、Hg(x,y)、Hb(x,y)とすると、このモデルに対する検査対象画像の相違度Sは、以下の(1)式により求められる(式中のX,Yはx,y座標の最大値である。)。
【0055】
【数1】
【0056】
上記の(1)式による相違度Sは、実質的に、モデルに対する検査対象画像の類似度を表している。すなわち、検査対象画像がモデルに近いほど値が小さくなるようなパラメータをもって、類似度を表現しているのである。また、(1)式によれば、差の値が大きな画素に大きな重みが対応づけられている場合には、その差がさらに強められて、類似度が低められる。
【0057】
重みHr(x,y)、Hg(x,y)、Hb(x,y)の値は、不良モデルと良モデルとの対応画素間の差に応じて決まる(差の大きな画素には大きな重みが設定される。)。検査対象の部品が不良モデルに対応する部品であれば、この不良モデルと検査対象画像との差を求めた場合、対応画素間の差の値は、どの位置においても0に近くなると考えられる。よって、類似度は比較的高くなると考えられる。
【0058】
一方、良モデルと検査対象画像との差を求めた場合には、大きな重みが対応づけられている画素に対応する差の値は、良モデルと不良モデルとの間で算出される値に匹敵する大きさになり、さらにその差が重みによって強められる。よって、この場合の類似度は、不良モデルに対する類似度より小さくなると考えられる。
【0059】
検査対象の部品が正しい場合には、不良モデルと検査対象画像との間で差を求めた場合には、大きな重みが対応づけられている画素間の差が大きくなり、この画素における差が強められるから、類似度は低くなる。これに対し、良モデルと検査対象画像との差を求める場合には、対応する画素間の差は、いずれの位置でも0に近くなる。よって、いずれの不良モデルに対しても、その不良モデルに対する類似度よりも良モデルに対する類似度の方が大きくなると考えられる。
【0060】
この実施例の部品検査システムでは、上記の点に鑑み、不良モデル毎に、その不良モデルにつき求めた重みデータを用いた(1)式により、当該不良モデルに対する検査対象画像の相違度S(以下、相違度S(n)とする。)を算出する。さらに、良モデルについても、同じ重みデータを用いた(1)式により、検査対象画像の相違度S(以下、相違度S(o)とする。)を算出し、S(o),S(n)の値を比較する。
【0061】
上記の処理によれば、各不良モデルについて、それぞれそのモデルに対応する重みデータを用いて検査対象画像との類似度を算出する一方で、良モデルについて、各不良モデルに対応する複数とおりの重みデータを用いて複数とおりの類似度を算出し、各類似度を同じ重みデータにより算出されたもの毎に組み合わせて比較していることになる。
【0062】
ここで、いずれの重みデータについても、良モデルに対する類似度の方が不良モデルに対する類似度より大きくなった場合には、検査対象の部品を正しい部品であると判断する(ただし、各類似度が所定の基準値を上回ることを前提とする。)。
【0063】
上記に対し、いずれかの重みデータを用いて類似度を算出したときに、良モデルに対する類似度より不良モデルに対する類似度の方が大きくなり、かつその類似度が上記の基準値よりも大きくなった場合には、検査対象の部品は、不良モデルが示す部品である可能性が高い。よって、この場合には、検査対象の部品は正しい部品ではないと判断する。
【0064】
このような処理によれば、検査対象画像中の良/不良の各モデル間の相違部分に対応する画像がいずれのモデルに近いかによって、各モデルに対する類似度の値が変動する。よって、これらの類似度を比較することにより、誤実装の有無を高い確度で判別することが可能になる。
【0065】
なお、図7の例では、不良モデルの構成画素毎に、良モデルに対する差の大きさに応じた重みを設定しているが、これに限らず、たとえば、良モデルに対する差の大きさが所定値以上になる画素にのみ、一定の値の重みを設定してもよい。
【0066】
以下、上記部品検査システムで実行される処理の流れを、種類毎に説明する。
まず図8は、部品の分類および良モデルの登録に関する処理手順を示す。この手順の最初のステップであるST101では、部品番号を特定するカウンタiに初期値の「1」をセットするとともに、グループ数jmaxを「0」に設定する。
【0067】
ST102では、i番目の部品BiのCADデータを読み出し、そのデータ中の品番が既にいずれかのグループに分類されているかどうかをチェックする(ST103)。i=1の段階では、まだグループが設定されていないから、この判定は「NO」となってST104に進み、着目グループを示すカウンタjに初期値の0をセットする。
【0068】
つぎのST105では、カウンタjを1つ大きな値(すなわち1)に更新した後、ST106において更新後のjをjmaxと比較する。処理が開始された直後は、jmax=0であるから、j>jmaxとなり、ST106の判定は「NO」となる。この場合には、ST111に進み、jの値によりjmaxを更新する(すなわちjmax=1)。
【0069】
つぎのST112では、グループデータ記憶部112にj番目のグループGjを登録する(具体的には、グループ番号jを登録することになる。)。続くST113では、部品Biの属性情報(部品種およびサイズ、ならびに文字列の有無)を、j番目のグループGjの属性情報として、グループデータ記憶部112に登録する。さらにこの後は、ST114に進み、部品Biの品番および部品番号をグループGjに登録する。
【0070】
ST115では、基板の良品画像から部品Biの画像を切り出す。さらに、この部品Biの搭載角度が0度以外の角度である場合には、搭載角度が0度の画像になるように、切り出した画像を回転補正する。ST116は、ST115で取得した画像を部品Biに対応する品番の良モデルとして、モデル記憶部111に登録する。
【0071】
ST117では、iの値を1つ大きな値に更新する。更新後のiが実装部品の総数imaxより大きくならない場合には、つぎのST118が「YES」となってST102に戻る。以下、同様に、iを更新することによって着目部品を変更しながら、同様の処理を実行するが、2番目移行の部品については、少なくとも1つのグループが存在することになるから、ST102〜105の処理の後、ST106が「YES」となって、ST107に進む。
【0072】
ST107では、部品Biの属性情報(部品種およびサイズならびに文字列の有無)を、グループGjの属性情報と比較する。ここで部品種が同一であり、サイズも同一であり、文字列の有無状態も同一であると判断された場合(ST108〜110がすべて「YES」の場合)は、ST114に進み、部品Biの品番および部品番号を着目中のグループGjに登録する。以下、ST115,116を実行することにより、部品Biに対応する品番の良モデルを設定して登録する。
【0073】
一方、設定されているグループのいずれに対しても、属性情報の一致を確認できない場合には、j=jmaxになるまでST105〜110のループが繰り返された後に、ST106が「NO」となる。この場合には、ST111〜113を実行し、しかる後にST114〜116を実行することにより、新たなグループを設定し、そのグループに部品Biを登録する。
【0074】
部品Biの品番が既にいずれかのグループに分類されている場合には、ST103が「YES」となってST119に進み、当該品番が分類されているグループに、部品Biの部品番号を登録することで対応する。
【0075】
以上の処理をiが実装部品の総数imaxに達するまで実行することにより、各部品は、それぞれ属性情報が同一のもの毎にグループ分けされる。また、品番毎に、良モデルが設定され、モデル記憶部111に登録される。
【0076】
図9は、図8の処理により登録された1グループ内に対し、不良モデルおよび重みデータを品番単位で登録する処理の手順を示す(グループが複数ある場合には、グループ毎に図9の処理が実行される。)。
【0077】
まず最初のST201では、品番および良モデルを特定するためのカウンタmに初期値の「1」をセットする。ST202では、このmが示す良モデルOmを読み出す。
【0078】
つぎのST203では、着目中の良モデル以外の良モデルの読出し回数を記憶するためのカウンタk(k≦M−1(Mはグループ内の品番の登録数))に初期値の「1」をセットする。ST204では、着目中の良モデル以外の良モデルOk(Okは、k番目に読み出された良モデルを意味する。)を読み出す。
【0079】
ST205では、読み出した2つのモデルOm,Ok間でマッチング処理を行い、モデルOkにおいてOmに最も類似する領域を特定する。ST206では、この特定した領域内の画像をm番目の品番のk番目の不良モデルNkとして、モデル記憶部111に登録する。
【0080】
さらに、ST207では、上記のモデルOmとNkとの差画像を生成し、ST208では、生成された差画像を平滑化する処理を実行する。さらにST209では、平滑処理後の差画像の各画素データを、不良モデルNkに対応する重みデータHkとして、重みデータ記憶部113に登録する。
【0081】
この後は、ST210において、kの値を1つ大きな値に更新する。以下、この更新後にk>(M−1)になるまで、ST203〜211のループを繰り返す。これにより、着目中の良モデルOmに対応する品番と同じグループに登録されている各品番の部品について、その部品が誤って実装された場合を検出するための不良モデルNkおよび重みデータHkが登録される。
【0082】
以下同様に、カウンタmをm>Mとなるまで更新し、毎時のmにより特定される部品について、上記ST202〜211のループを繰り返す。これにより、グループ内のすべての品番について、同じグループに属する他の品番の部品を誤実装した場合に対応するための不良モデルが登録されることになる。
【0083】
図10は、上記の各モデルや重みデータを用いた検査の手順を示す。
まず最初のST301では、検査対象の基板の撮像により生成された画像を入力する。この後は、メモリ15に登録された部品情報に基づき、実装部品に順に着目して下記の処理を実行する。
【0084】
部品情報には、図4のCADデータと同内容のデータが含まれている。ST302では、このデータ中の部品番号によりグループデータ記憶部112を検索して、着目中の部品が所属するグループおよびこのグループに登録されている品番の数Mを認識する。ST303では、着目中の部品の品番によりモデル記憶部111を検索して、対応する良モデルを読み出す。
【0085】
ST304では、不良モデルの読出し数を示すカウンタkに「1」をセットするとともに、良モデルに対する相違度の最大値Smaxを初期値の0に設定する。つぎのST305では、k番目の不良モデルNkおよびこれに対応する重みデータHkを読み出す。ST306では、重みデータHkに含まれる各重みを用いて上記した(1)式を実行することにより、良モデルに対する処理対象画像の相違度S(o)kを算出する。
【0086】
ST307では、同様に重みデータHkを用いた(1)式によって、不良モデルNkに対する処理対象画像の相違度S(n)kを算出する。
【0087】
ST308では、ST306で求めた相違度S(o)kを最大値Smaxと比較する。ここでS(o)k>SmaxであればST309に進み、Smaxを現在のS(o)kの値に書き換える。S(o)k≦Smaxの場合には、ST309はスキップされる。
【0088】
ST310では、ST306,307でそれぞれ求めた相違度S(o)k,S(n)kを比較する。ここでS(o)k<S(n)k、すなわち良モデルに対する類似度の方が高い場合には、ST311に進んでkの値を更新した後、ST312を介してST305に戻る。
【0089】
以下、設定されているすべての不良モデルについて、ST305〜312の処理が実行され、いずれの不良モデルに対する類似度よりも良モデルに対する類似度の方が高くなった場合には、ST312が「NO」となってST313に進み、その時点での良モデルに対する相違度の最大値Smaxを所定のしきい値Sthと比較する。ここでSmax<Sthであれば(すなわち、各種重みデータを用いて求めた良モデルに対する類似度のうちの最も小さいものが、一定の基準値を上回る場合には)、ST314に進み、着目中の部品は正しい部品であると判定する。
【0090】
他方、上記の比較処理において、Smax≧Sthであった場合には、ST316に進み、着目中の部品は誤った部品であると判定する。このようなケースは、正しい部品とは異なるグループの部品が誤実装されている場合に生じると可能性がある。
【0091】
もし、正しい部品と同じグループに属する部品が誤って実装されているならば、その部品に対応する不良モデルを対象にST310の比較処理を行った場合の判定が「NO」となる。この場合は、ST315に進み、相違度S(n)kがしきい値Sthより小さいか否かをチェックする。S(n)k<Sthであれば、ST316に進み、着目中の部品は誤った部品であると判定する。
【0092】
基板上のすべての実装部品に対し、ST302〜316の処理を実行することにより、部品毎に、その部品が正しい部品であるか、誤った部品であるかが判定される。全ての実装部品に対する判定処理が終了すると、ST317が「YES」となってST318に進み、基板全体にかかる検査結果を出力する。この出力先は、モニタ6のほか、図示しない外部機器に対して行うことができる。
【0093】
なお、上記の実施例では、不良モデルについて、R,G,Bの色データ毎に重みデータを設定したが、これに限らず、良品モデルとの間で差が生じる色データに限定して重みデータを設定してもよい。たとえば、部品に赤色の文字列が印刷される場合であれば、Rには重みデータを設定するが、G,Bには重みデータを設定しないようにする。また、このように特定の色データのみに重みデータを設定した場合には、類似度の算出についても、重みデータが設定された色の画像データのみを用いて行えばよい。ただし、これに限らず、特定の色データにつき、重みデータを設定して類似度を算出するとともに、その他の色データについても、重みデータを設定せずに類似度を算出し、すべての類似度の総和を求めてもよい。
【0094】
また上記の(1)式による類似度の算出は、対応画素間の差の総和を求めるものであるが、これに代えて、正規化相関演算を実行してもよい。この場合も、類似度が高くなるほど演算結果の値が低くなるような式を設定することにより、検査対象部品がいずれかの不良モデルに対応する場合には、該当する不良モデルに対する類似度が最も高くなるような結果を得ることができるから、部品の正否を判別することができる。
【0095】
上記の記載を整理すると、部品検査においては、以下の3とおりの方法により各モデルに対する類似度を求めることができる。
(1)前述の(1)式を用いて、R,G,Bの各色データ毎に、対応画素間の差を求め、その総和を類似度とする方法。
この方法により求められる類似度を、以下では、「総合差分演算による類似度」という。
(2)重みデータが設定された色データ(たとえばR)に限定して、対応画素間の差を求め、その差を類似度とする方法。
この方法により求められる類似度を、以下では、「特定色の差分演算による類似度」という。
(3)正規化相関演算により類似度を求める方法。
この方法により求められる類似度を、以下では、「正規化相関演算による類似度」という。
【0096】
実際の部品検査においては、上記3通りの演算処理による類似度のうち、検査対象画像に適合するモデルに対する類似度とその他のモデルに対する類似度との間の差が、できるだけ顕著になるようなものを選択するのが望ましい。基板には種々の部品が実装されており、上記3通りの類似度の中のいずれが適しているかは、部品の種類によって異なる。よって、類似度の算出方法についても、グループ毎にあらかじめ選択しておけば、検査の精度をさらに向上することができる。
【0097】
なお、(2)の方法については、前記したように、特定の色データ以外の色データについて、重みデータを設定しない類似度を求め、これらを、特定の色データの重みデータを用いた類似度に加算する方法に、差し替えることもできる。また(3)の方法についても、差分演算による類似度と同様に、R,G,Bの各色データを用いて相関値を求める場合と、特定の色データのみを用いて相関値を求める場合とに分類してもよい。
【0098】
以下、この類似度の演算方法を自動的に選択する処理について、図11〜図13を用いて具体的に説明する。この例は、図8,9の処理により、良モデルおよび不良モデルならびに重みデータの登録が完了した特定の品番に着目し、上記(1)〜(3)の各方法による類似度のうちのいずれを求めるのが適切であるかを、基板の良品画像を用いて自動的に判別するものである。
【0099】
図11中、OK1〜OK3は、着目中の品番の部品について、良品画像から抜き出したサンプル画像(以下、「良サンプル」という。)の名称である。またNG1〜NG5は、着目中の品番と同じグループに属する他品番の部品について、良品画像から抜き出したサンプル画像(以下、「不良サンプル」という。)の名称である。各サンプルは、それぞれ良品画像から個別に切り出されたものである。したがって、同じ品番のサンプルであっても、色合いなどが微妙に異なる。また、不良サンプルについては、着目中の部品以外の品番が複数存在する場合には、これらの品番のすべてについて、不良サンプルが設定されるのが望ましい。
【0100】
図11は、上記3通りの演算方法により、それぞれ着目品番の部品の良品モデルに対する各サンプルの類似度を求めた結果を示す。なお、良サンプルのうちの「OK1」は、良モデルの作成に使用されたものであるため、いずれの演算結果も「0」(すなわち類似度100パーセント)となっている。
【0101】
図12は、これらの類似度のグラフ上で、判別処理のために使用されるパラメータを示したものである。
図中、●印は、図11に示した良品サンプルの類似度を示し、■印は、不良品サンプルの類似度を示す。また、太い一点鎖線は、良品サンプルの類似度の分布範囲の中間値(最大値と最小値との平均値)であり、太い二点差線は、不良品サンプルの類似度の分布範囲の中間値である。
【0102】
各グラフにおいて、Dは、良サンプルの中間値と不良サンプルの中間値との差である。また、Rは、良サンプルの最小の類似度の値(数値上は最大値)から不良サンプルの最大の類似度の値(数値上は最小値との差)である。
【0103】
Dは、良サンプルと不良サンプルとの間での類似度の平均的な差の大きさを示すと考えられる。Rは、良サンプルの分布範囲と不良サンプルとの分布範囲との間の隔たりの大きさを示すと考えられる。このRが大きくなるほど、正しい部品と誤った部品との切り分けが容易になると考えられる。よって、この実施例では、(1)〜(3)の演算毎に、Dに対するRの比(R/D)を求め、その比の大きさが最大になる演算処理を選択するようにしている。
【0104】
図13は、上記図11に示した各演算結果について、それぞれR,D,R/Dを求めた結果を示す。この例によれば、R/Dが最も大きくなるのは、(3)の相関値による類似度を求めた場合であるから、検査の際に実行する演算としても、(3)の方法が選択される。
【0105】
上記の図11〜13に示した類似度の算出方法の選択処理は、モデルの登録処理と同様に、検査対象となる基板の種類毎に行われるのが望ましい。
【図面の簡単な説明】
【0106】
【図1】基板の外観自動検査装置の電気構成および光学的構成を示す図である。
【図2】基板上の部品の配置例を示す説明図である。
【図3】図2の各部品のCADデータの内容を示す説明図である。
【図4】図2の各部品の品番をグループ分けした結果を示す説明図である。
【図5】部品検査システムの機能ブロック図である。
【図6】良モデルの登録例を示す説明図である。
【図7】重みデータの設定例を示す説明図である。
【図8】部品の分類およびOKモデルの登録に関する処理手順を示すフローチャートである。
【図9】不良モデルおよび重みデータの登録に関する処理手順を示すフローチャートである。
【図10】検査の流れを示すフローチャートである。
【図11】3とおりの演算処理方法によりサンプル画像に対する類似度を求めた例を示すテーブルである。
【図12】図11の演算結果から、類似度の演算方法の選択処理に用いるパラメータを求める方法を示すグラフである。
【図13】図11の演算結果から求めたR,D,R/Dの値を示すテーブルである。
【符号の説明】
【0107】
1 コントローラ
2 カメラ
10 制御部
15 メモリ
100 部品検査システム
101 CADデータ入力部
103 部品分類処理部
104 モデル登録部
105 重みデータ設定部
107 検査実行部
111 モデル記憶部
112 グループデータ記憶部
113 重みデータ記憶部
【技術分野】
【0001】
この発明は、部品の実装工程を終了した後の基板を対象に、正しい部品が実装されているか否かを判別する自動外観検査に関する。
【背景技術】
【0002】
近年の基板生産ラインでは、マウンタの導入によって、部品を自動的に実装することができるが、パーツフィーダへの部品の補充や交換は人手により行われるため、人為ミスによって誤った部品が実装されることがある。このため、従来は、部品実装後の基板の画像から部品の本体部に印刷された文字列を抽出し、これが正しい文字列であるかどうかを判別するなどの方法により、部品の実装間違いを検出するようにしている(特許文献1参照。)。また、文字列のない部品についても、部品の色彩やサイズに基づいて実装間違いを検出するようにしている。
【0003】
【特許文献1】特開2004−235582
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1をはじめとする従来の実装部品の検査では、検査対象の部品の画像(以下、「検査対象画像」という。)を、あらかじめ登録した正しい部品の画像(以下、「良モデル」という。)と照合することによって、部品の正否を判別している。たとえば、文字列が印刷された部品については、検査対象画像から切り出した文字列と良モデル中の文字列との類似度を求め、この類似度が所定の判定基準値を上回るときに、検査対象の部品は正しい部品であると判別する。
【0005】
ところで、部品の実装間違いは、外観が似通った部品との取り違えにより生じることが多い。特に文字列が印刷された部品については、文字列の一部が異なるだけで、その他の外観がほぼ同一であるような部品が複数存在するため、部品の取り違えが起こりやすい。
【0006】
したがって、文字列の照合により部品の正否を見分ける場合には、文字列の一部の違いでも検出できるように、判定基準値を高く設定する必要がある。しかし、判定基準値を高くすると、正しい部品であっても、文字のかすれやにじみ等により良モデルに対する類似度が落ちた場合には、誤った部品であると判別される可能性があり、検査の精度を確保できなくなる。
【0007】
このような問題を解決する方法として、良モデルのほかに、誤って実装される可能性がある部品の画像(以下、「不良モデル」という。)を登録しておき、これら良/不良の各モデルを検査対象の文字列と個別に照合する方法が考えられる。この場合、検査対象画像について、不良モデルに対する類似度よりも良モデルに対する類似度の方が高ければ、検査対象の部品は正しい部品であると判別し、不良モデルに対する類似度の方が高ければ、検査対象の部品は誤った部品であると判別することになる。
【0008】
しかし、上記の方法では、どのような不良モデルを登録すれば良いかをユーザが判断する必要があるため、登録に手間がかかる。また、多数のモデルを登録しても、ユーザによるモデルの選択に誤りがあると、検査の精度を確保できないという問題もある。
【0009】
この発明は上記の問題に着目してなされたもので、部品の実装工程を経た基板を撮像し、生成された画像中の部品に関する特徴(たとえば文字列、または色彩)を用いて基板に正しい部品が実装されているかどうかを検査する場合に、部品の正否を正しく見分けるのに必要な不良モデルの登録を、簡単かつ精度良く実行できるようにすることを、課題とするものである。
【課題を解決するための手段】
【0010】
上記の課題を解決するために、この発明では、検査に先立ち、基板の設計データ(たとえばCADデータ)を用いて、各実装部品を部品種およびサイズに基づきグループ分けするステップA、基板上の各部品の画像の良モデルを登録するステップB、ステップBで登録された良モデルに順に着目し、着目中の良モデルが適用される部品と同一のグループに分類された他の部品の良モデルを、着目中の良モデルに対応する不良モデルとして設定するステップC、の各ステップを実行する。そして、検査においては、検査対象の部品毎に、その部品の画像を対象に良モデルおよび不良モデルに対する当該部品の画像の類似度を求め、いずれの不良モデルに対する類似度よりも良モデルに対する類似度の方が高くなったとき、検査対象の部品は正しい部品であると判別し、良モデルに対する類似度よりもいずれか不良モデルに対する類似度の方が高くなったとき、検査対象の部品は誤った部品であると判別する。
【0011】
部品の実装間違いの大半は、パーツフィーダへの部品の補充や交換時に、類似する部品を見誤ることによって生じると考えられる。よって、正しい部品と同一種、同一サイズの部品として実在する部品であって、かつ同じ基板に実装するために現場に準備されている部品が誤実装される可能性が高いと思われる。
【0012】
この発明にかかるモデル登録方法では、上記の点を考慮して、基板上の各実装部品を部品種が同一でサイズが同等の部品毎にグループ分けし、各部品について、それぞれその部品と同じグループに属する部品の良モデルを不良モデルとして設定するので、実装間違いの検出に適した不良モデルを自動的に設定することが可能になる。なお、不良モデルの設定では、各種良モデルをそのまま他の部品の不良モデルとしても良いが、これに限らず、たとえば、不良モデルとするモデルについて、他の部品の良モデルに最も類似する領域を特定し、この領域内の画像を不良モデルとしてもよい。
【0013】
また、ステップAでは、部品種およびサイズに加えて、部品に文字列が印刷されているかを、グループ分けの条件としてもよい。文字列がある部品と文字列のない部品とでは、検査のアルゴリズムが異なるためである。
【0014】
より好ましい態様においては、検査の前に、ステップCで設定された不良モデルの各画素に、それぞれ良モデルの対応画素に対する差に応じた重みを設定し、これらの重みを不良モデルに対応づけて登録するステップDを、さらに実行する。この場合の検査では、検査対象画像と各不良モデルとの間で、それぞれステップDで当該モデルにつき登録された重みにより対応画素間の差を重み付けした値を用いて、画像間の差が大きいほど値が大きくなるように設定された類似度を求める演算により、各不良モデルに対する検査対象画像の類似度を算出する。一方、良モデルについては、各不良モデルに設定したのと同じ重みを用いて前記演算を複数回実行することにより、良モデルに対する検査対象画像の類似度を複数とおり算出する。そして、良モデルに対する類似度と不良モデルに対する類似度とを、同じ重みを用いて算出されたもの毎に組み合わせて比較し、すべての組み合わせにおいて、不良モデルに対する類似度よりも良モデルに対する類似度の方が高くなったとき、前記検査対象の部品は正しい部品であると判別し、いずれかの組み合わせにおいて、不良モデルに対する類似度が良モデルに対する類似度よりも高くなったとき、前記検査対象の部品は誤った部品であると判別する。
【0015】
上記の態様によれば、検査対象画像とモデルとの間に差がある場合には、その差を重み付けする重みの値によって、類似度の高低の度合いが変わる。各画素に対する重みは、不良モデルと良モデルとの間の差に応じて設定されるので、良、不良のモデル間で実際に大きな差が生じる画素に大きな重みが設定される。検査対象部品が正しい部品である場合の検査対象画像では、いずれの不良モデルに対しても、良モデルに対して求めたのと同様の差が同様の位置に生じると考えられるから、その差が重み付けにより強調され、算出される類似度は低くなる(値としては高くなる。)。これに対し、良モデルに対しては、いずれの画素でも大きな差は算出されないと考えられるから、算出される類似度は高くなる(値としては低くなる。)。よって、類似度のいずれの組み合わせにおいても、不良モデルに対する類似度より良モデルに対する類似度の方が高くなると考えられる。
【0016】
検査対象部品が誤った部品である場合には、検査対象画像とモデルとの差は、誤った部品に対応する不良モデルを対象とするときに最も小さくなるから、この不良モデルに対する類似度が最も高くなると考えられる。一方、検査対象画像と良モデルとの間では、誤った部品に対応する不良モデルと良モデルとの間で求めたのと同様の差が同様の位置に生じるから、この不良モデルに対応する重みを用いて良モデルに対する類似度を算出した場合、その類似度は、不良モデルに対する類似度より低くなると考えられる。
【0017】
したがって、良モデルおよび不良モデルについて、同じ重みを用いて算出された類似度を比較すると、検査対象の部品が正しい場合には、良モデルに対する類似度の方が不良モデルに対する類似度よりも高くなると考えられる。また検査対象の部品が誤った部品である場合には、その部品に対応する不良モデルに対する類似度が、同じ重みを用いて算出された良モデルに対する類似度よりも高くなると考えられる。よって、上記の態様によれば、実際の部品に対応するモデルに対する類似度が、他のモデルに対する類似度より大きくなるから、部品の成否の判別を高い確度で行うことができる。
【0018】
上記の方法を用いた基板検査装置は、検査対象の基板上の各部品の画像の良モデルが登録されたメモリと、検査対象の基板の設計データの入力を受け付けて、入力された設計データを用いて、各実装部品を部品種およびサイズに基づきグループ分けする分類手段と、メモリに登録された良モデルに順に着目し、着目中の良モデルが適用される部品と同一のグループに分類された他の部品の良モデルを、着目中の良モデルに対応する不良モデルとして設定する不良モデル設定手段と、検査対象の基板が撮像されたとき、生成された画像中の検査対象の部品毎に、対応する良モデルおよび不良モデルに対する当該部品の画像の類似度を求め、これらの類似度に基づき、各部品が正しい部品であるかどうかを判別する判別手段を具備する。また判別手段は、いずれの不良モデルに対する類似度よりも良モデルに対する類似度の方が高くなったとき、検査対象の部品は正しい部品であると判別し、前記良モデルに対する類似度よりもいずれかの不良モデルに対する類似度の方が高くなったとき、前記検査対象の部品は誤った部品であると判別する。
【0019】
上記構成の基板検査装置によれば、検査対象の基板の設計データを入力することによって、部品の実装の正否を判別するのに適した不良モデルを自動的に設定し、精度の高い検査を実行することが可能になる。
【発明の効果】
【0020】
上記の方法および基板検査装置によれば、正しい部品が実装されているか否かの検査について、基板の設計データや良モデルとして登録される画像を用いて、誤って実装され得る部品に対応する不良モデルを簡単かつ精度良く設定することができる。よって、実装部品の成否を判別する検査の精度を確保することができる。
【発明を実施するための最良の形態】
【0021】
図1は、この発明が適用されたプリント基板の自動外観検査装置の構成を示す。
この自動外観検査装置(以下、単に「検査装置」という。)は、基板生産ラインの部品実装工程を経た基板を対象に検査するもので、コントローラ1、カメラ2、照明装置3、基板ステージ4、入力部5、モニタ6などにより構成される。
【0022】
基板ステージ4には、基板8を支持するためのテーブル部41や、X軸ステージおよびY軸ステージ(いずれも図示せず。)を含む移動機構42などが含まれる。
【0023】
カメラ2および照明部3は、「カラーハイライト方式」と称される光学系を構成する。カメラ2は、カラー静止画像を生成するもので、基板ステージ41の上方に撮像面を下方に向け、かつ光軸を鉛直方向に合わせた状態で配備される。照明部3は、基板ステージ4とカメラ2との間に配置された3個の円環状光源3R,3G,3Bにより構成される。これらの光源3R,3G,3Bは、それぞれ、赤、緑、青の色彩光を発するもので、各中心部をカメラ4の光軸に位置合わせした状態で配備されている。また、各光源3R,3G,3Bは、基板8に対しそれぞれ異なる方向から光を照射できるように、互いに異なる大きさの径を有するように設定される。
【0024】
コントローラ1には、コンピュータによる制御部10のほか、画像入力部11、撮像制御部12、照明制御部13、XYステージ制御部14、メモリ15、CD−ROMドライブ16、通信用インターフェース17などが設けられる。画像入力部11には、カメラ2に対するインターフェース回路などが含まれる。撮像制御部12は、カメラ2に対し、撮像を指示するタイミング信号を出力するためのものである。
【0025】
照明制御部13は、前記照明部3の各光源3R,3G,3Bの点灯・消灯動作の制御や光量の調整などを行う。XYステージ制御部14は、基板ステージ4の移動タイミングや移動量を制御する。
【0026】
メモリ15には、検査用のプログラム(後記する部品検査システム用のプログラムを含む。)や各種検査データ(たとえば、検査対象の部品の部品情報、検査領域の設定データ、被検査部位を検出するための2値化しきい値など)が格納される。さらに、この実施例のメモリ15には、後記するモデル記憶部111、グループデータ記憶部112、重みデータ記憶部113の各記憶部に相当する領域も設けられる。
【0027】
制御部10は、XYステージ制御部14を介して基板ステージ42の移動を制御することにより、カメラ2と基板8とを位置合わせし、撮像する。この撮像により生成されたカラー画像は画像入力部11を介して制御部10に入力され、その内部メモリ(RAM)に格納される。制御部10は、このRAMに格納されたカラー画像を用いて、各部品に対する検査を順に実行する。さらに、制御部10は、各部品に対する計測結果や判定結果、ならびに検査に使用された画像を、通信用インターフェース17を用いて図示しない外部装置に送信する。
【0028】
なお、上記の検査装置で実行される検査には、実装部品が正しいかどうかの検査(以下、「部品検査」という。)と、部品の位置や向きが正しいかどうかの検査とが含まれるが、以下では、部品検査のみに限定して説明する。
【0029】
この実施例の部品検査は、さらに2つの種類に分類される。1つは、部品本体に所定の文字列(型番、抵抗値など)が印刷されている部品を対象に、画像上の文字列が正しいかどうかによって部品の正否を判別するものである。もう1つは、文字列が印刷されていない部品を対象に、画像上の部品のサイズや色彩が正しいかどうかによって、部品の正否を判別するものである。いずれの場合にも、部品毎に、その部品の正しいサンプル画像と、誤った部品のサンプル画像とが、それぞれ良モデル、不良モデルとして登録される。
【0030】
制御部10は、部品の実際の画像について、後記する手順により良モデルおよび不良モデルに対する類似度を算出し、モデル間の類似度の大小を比較する処理により、部品が正しいものであるかどうかを判別する。
【0031】
さらに、この検査装置では、基板のCADデータを用いて、部品の誤実装を検出するのに適した不良モデルを、制御部10内で自動的に設定できるようにしている。以下、文字列の検査を行う場合を例に、不良モデルの設定方法を説明する。
【0032】
図2は、検査対象の基板の構成例を、図3は、この基板のCADデータの内容を、それぞれ示す。この例では、説明を簡単にするために、基板上の実装部品を9個に限定し、各部品に、それぞれ1〜9の部品番号が付与されているものとする。以下の説明でも、個々の部品に言及する場合には、「○番の部品」というように、部品番号を用いて示す。
【0033】
図3の例のCADデータは、上記の部品番号に、品番、部品種、サイズ、部品中心のx,y座標、および搭載角度(所定の方向を向いた状態の部品を基準にして、この基準の状態に対する実際の部品の回転角度をいう。)の各データを対応づけた構成のものである。図3では、部品番号、搭載角度以外の情報を、アルファベット等の文字で示しているが、同一内容のデータを同じ文字により表現している。
【0034】
上記のCADデータによれば、6番の部品を除く各部品は同じ部品種I(この例では角チップ)に属している。部品種Iに属する部品のうち、4番を除く各部品(図3中、部品番号に網点を付した部分)は同じサイズである。さらに、部品種Iの同一サイズの部品のうち、2番、5番、8番、9番の各部品は品番が同一であり、3番および7番の各部品も品番が同一である。
【0035】
また、図2の基板の構成図によれば、部品種Iに属する部品には、4番の部品を除き、すべて部品本体に文字列が印刷されている。この例の文字列(101,102,103)は抵抗値を示すものであり、同一品番の部品にはすべて同一の文字列が印刷される。
【0036】
ところで、部品の誤実装は、作業員のミスにより生じるが、最も起こりやすいミスは、外観が類似する部品との取り違えであると思われる。また、外観が明らかに異なる部品に取り違えた場合には、良モデルとのマッチングによって誤実装を検出することが可能であるが、正しい部品に外観がきわめて近い部品に取り違えた場合(たとえば、図2,3に示した品番Aの部品を品番BやCの部品と取り違えた場合)には、良モデルのみでは誤実装を検出できない可能性がある。また、このような誤実装の検出精度を上げるために、類似度の判定基準値を高くすると、正しい部品であるのに、文字列に欠けやかすれ等の不備がある部品までが、誤った部品であると判別されてしまう。
【0037】
このような問題に鑑み、この実施例では、CADデータを用いて、基板上の各実装部品を、部品種が同じでサイズが共通するもの毎にグループ分けする。さらに、同一種、同サイズの部品の中に、部品本体に文字列がある部品とない部品とが混じっている場合には、文字列の有無によってグループを分ける場合もある。そして各部品について、それぞれその部品の良モデルを登録するとともに、同じグループに分類された他の部品の良モデルを不良モデルとして設定し、登録する。さらに、後記する重みデータを用いたマッチング処理によって、部品の正否判別の精度を高めるようにしている。
【0038】
図4は、図2に示した各部品を、部品種およびサイズが同じもの毎にグループ分けした結果を示す。この例によれば、部品種Iに属する4種類の部品のうち、サイズが同一の3種類の部品(品番A,B,C)が同じグループ(グループ1)に分類され、その他の品番D,Eは、それぞれ個別のグループ2,3に分類される。よって、グループ1の品番Aの部品については、品番BおよびCの部品の良モデルが不良モデルとして設定される。同様に、品番Bの部品については、品番AおよびCの部品の良モデルが不良モデルとして設定され、品番Cの部品については、品番AおよびBの部品の良モデルが不良モデルとして設定される。
【0039】
上記のモデルの登録方法によれば、検査対象の部品と明らかに外観が異なる部品が誤実装されている場合には、従来と同様に、検査対象の部品の画像を良モデルと照合することによって、誤実装を検出することができる。また、検査対象の部品と外観が類似する部品が誤実装されている場合には、その部品の良モデルから設定された不良モデルを用いた照合処理によって、誤実装を検出することができる。
【0040】
また、上記の方法では、基板のCADデータを用いて、部品種およびサイズが同一のもの毎に各部品をグループ分けするので、実際に作業者による取り違えが起こる可能性が高い部品同士を、同じグループに分類することができる。多くの場合、マウンタの近傍には、基板に実装される部品が、部品種やサイズ毎に分類されてストックされているため、外観の似た部品間での取り違えが起こりやすい。しかし、この実施例では、取り違えられる可能性の高い部品毎に、その部品を検出するための不良モデルを登録することができるから、部品検査のための判定基準値を高い値に絞り込まなくとも、検査の精度を確保することが可能になる。
【0041】
図5は、図1の検査装置に導入される部品検査システムの機能ブロック図である。この部品検査システム100は、上記した部品の分類処理およびモデルの登録処理を実行した上で、検査対象の基板の画像を取り込んで検査を実行するものである。システム100には、モデル記憶部111、グループデータ記憶部112、重みデータ記憶部113の各記憶部のほか、CADデータ入力部101、良品画像取得部102、部品分類処理部103、モデル登録部104、重みデータ設定部105、基板画像取得部106、検査実行部107、検査結果出力部108などが含まれる。
【0042】
CADデータ入力部101は、CD−ROM等の記憶媒体や外部機器などから、検査対象の基板のCADデータを取り込む。良品画像取得部102は、カメラ2により基板8のモデルが撮像されたときに生成された画像を、良品基板の画像(以下、「良品画像」という。)として取り込む。取り込まれたCADデータや良品画像は、図示しない作業用メモリ内に格納される。
【0043】
部品分類処理部103は、CADデータ中の品番、部品種、サイズの各情報に基づき、各実装部品を、部品種およびサイズが同一の部品毎にグループ分けする。また、設定された各グループに、それぞれ固有の識別番号(以下、「グループ番号」という。)を設定して、グループデータ記憶部112に保存する。さらに、グループ毎に、そのグループに所属する部品の品番および部品番号、ならびにグループの属性情報(各所属部品に共通の部品種およびサイズ、ならびに文字列の有無)を上記のグループ番号に対応づけて、グループデータ記憶部112に保存する(以下、上記のグループデータ記憶部112にグループ番号を保存する処理を「グループを登録する処理」といい、グループ番号に対応づけてデータを保存する処理のことを「グループにデータを登録する処理」という。)。
【0044】
モデル登録部104は、上記のCADデータに基づき、各品番につき、それぞれ最初に着目した部品の画像を基板の良品画像から切り出し、当該品番に共通の良モデルとして、モデル記憶部111に登録する。またモデル登録部104は、部品分類処理部103のグループ分け結果に基づき、各品番について、それぞれその品番と同じグループに属する他の品番を認識し、認識した品番の良モデルを不良モデルとして設定する。
【0045】
重みデータ設定部105は、各不良モデルについて、それぞれ対応する良モデルに対する差異を反映した重みデータを設定し、これを重みデータ記憶部113に登録する。
【0046】
基板画像取得部106は、カメラ2により検査対象の基板8が撮像されたときに、生成された画像を取り込み、検査実行部107に供給する。検査実行部107は、供給された画像に含まれる各部品に順に着目しつつ、着目部品の画像をモデル記憶部111や重みデータ記憶部113の登録データを用いて処理することにより、部品検査を実行する。検査結果出力部108は、基板上の全ての部品に対する部品検査が終了したとき、各検査結果を統合し、モニタ6や図示しない外部機器などに出力する。
【0047】
つぎに、上記の部品検査システム100で登録される良/不良モデルおよび重みデータについて、説明する。
【0048】
図6(1)(2)は、同じグループに属する2つの部品について、それぞれ良モデルを登録する例を示す。図6(1)は、部品本体に文字列が印刷された部品(前出の品番A,B)を拡大して示したものである。図6(2)は、部品本体には文字列がないが、色彩の一部が共通する部品の例である。
【0049】
この実施例では、各部品について、良品画像中の部品本体の部分に所定大きさの矩形領域50を設定し、この領域50内の画像を良モデルとして切り出して登録するようにしている。文字列を有する部品の場合には、全ての文字列が含まれるように領域の位置および大きさを調整する必要がある。
【0050】
この実施例のように、同じグループに属する複数の部品にそれぞれ設定された良モデルを、他の部品の不良モデルとして使用する場合には、不良モデルとしての登録処理は、特段に必要ではない。ただし、この実施例では、良モデルとの実質的な差を精度良く反映した不良モデルを設定するために、着目中の良モデルを用いたマッチング処理により、他の部品の良モデル中で着目中の良モデルに最も類似する領域を特定し、その領域内の画像を不良モデルとしてモデル記憶部111に登録するようにしている。
【0051】
重みデータは、設定した不良モデルと着目中の良モデルとの実質的な差に基づき設定される。具体的には、これらのモデル間の差画像を作成した後に、差画像を平滑化し、平滑化後の差画像を、不良モデルに対応する重みデータとして設定する。
【0052】
図7は、重みデータの設定の一例として、差画像(上段)および平滑処理後の画像(下段)について、それぞれ各画素の濃度(階調)を示したものである。この例の平滑処理は、差画像の各構成画素に順に着目しながら、着目画素の階調を、当該画素および周囲近傍8画素の階調の平均値に置き換えるものである。平滑処理後の差画像の各構成画素の画素データは、不良モデルの対応画素(座標が同じ画素)に対する「重み」として、検査対象画像のモデルに対する相違度を算出するのに使用される。
【0053】
なお、この実施例ではカラー画像を処理するので、良/不良の各モデルは、いずれもR,G,Bの3種類の画像データを組み合わせたものとなる。よって、重みデータも、R,G,B毎に設定される。
【0054】
具体的に、良または不良のモデルの座標(x,y)にある画素のR,G,B値を、それぞれMr(x,y)、Mg(x,y)、Mb(x,y)とし、検査対象画像の対応画素のR,G,B値をIr(x,y)、Ig(x,y)、Ib(x,y)とし、重みデータをHr(x,y)、Hg(x,y)、Hb(x,y)とすると、このモデルに対する検査対象画像の相違度Sは、以下の(1)式により求められる(式中のX,Yはx,y座標の最大値である。)。
【0055】
【数1】
【0056】
上記の(1)式による相違度Sは、実質的に、モデルに対する検査対象画像の類似度を表している。すなわち、検査対象画像がモデルに近いほど値が小さくなるようなパラメータをもって、類似度を表現しているのである。また、(1)式によれば、差の値が大きな画素に大きな重みが対応づけられている場合には、その差がさらに強められて、類似度が低められる。
【0057】
重みHr(x,y)、Hg(x,y)、Hb(x,y)の値は、不良モデルと良モデルとの対応画素間の差に応じて決まる(差の大きな画素には大きな重みが設定される。)。検査対象の部品が不良モデルに対応する部品であれば、この不良モデルと検査対象画像との差を求めた場合、対応画素間の差の値は、どの位置においても0に近くなると考えられる。よって、類似度は比較的高くなると考えられる。
【0058】
一方、良モデルと検査対象画像との差を求めた場合には、大きな重みが対応づけられている画素に対応する差の値は、良モデルと不良モデルとの間で算出される値に匹敵する大きさになり、さらにその差が重みによって強められる。よって、この場合の類似度は、不良モデルに対する類似度より小さくなると考えられる。
【0059】
検査対象の部品が正しい場合には、不良モデルと検査対象画像との間で差を求めた場合には、大きな重みが対応づけられている画素間の差が大きくなり、この画素における差が強められるから、類似度は低くなる。これに対し、良モデルと検査対象画像との差を求める場合には、対応する画素間の差は、いずれの位置でも0に近くなる。よって、いずれの不良モデルに対しても、その不良モデルに対する類似度よりも良モデルに対する類似度の方が大きくなると考えられる。
【0060】
この実施例の部品検査システムでは、上記の点に鑑み、不良モデル毎に、その不良モデルにつき求めた重みデータを用いた(1)式により、当該不良モデルに対する検査対象画像の相違度S(以下、相違度S(n)とする。)を算出する。さらに、良モデルについても、同じ重みデータを用いた(1)式により、検査対象画像の相違度S(以下、相違度S(o)とする。)を算出し、S(o),S(n)の値を比較する。
【0061】
上記の処理によれば、各不良モデルについて、それぞれそのモデルに対応する重みデータを用いて検査対象画像との類似度を算出する一方で、良モデルについて、各不良モデルに対応する複数とおりの重みデータを用いて複数とおりの類似度を算出し、各類似度を同じ重みデータにより算出されたもの毎に組み合わせて比較していることになる。
【0062】
ここで、いずれの重みデータについても、良モデルに対する類似度の方が不良モデルに対する類似度より大きくなった場合には、検査対象の部品を正しい部品であると判断する(ただし、各類似度が所定の基準値を上回ることを前提とする。)。
【0063】
上記に対し、いずれかの重みデータを用いて類似度を算出したときに、良モデルに対する類似度より不良モデルに対する類似度の方が大きくなり、かつその類似度が上記の基準値よりも大きくなった場合には、検査対象の部品は、不良モデルが示す部品である可能性が高い。よって、この場合には、検査対象の部品は正しい部品ではないと判断する。
【0064】
このような処理によれば、検査対象画像中の良/不良の各モデル間の相違部分に対応する画像がいずれのモデルに近いかによって、各モデルに対する類似度の値が変動する。よって、これらの類似度を比較することにより、誤実装の有無を高い確度で判別することが可能になる。
【0065】
なお、図7の例では、不良モデルの構成画素毎に、良モデルに対する差の大きさに応じた重みを設定しているが、これに限らず、たとえば、良モデルに対する差の大きさが所定値以上になる画素にのみ、一定の値の重みを設定してもよい。
【0066】
以下、上記部品検査システムで実行される処理の流れを、種類毎に説明する。
まず図8は、部品の分類および良モデルの登録に関する処理手順を示す。この手順の最初のステップであるST101では、部品番号を特定するカウンタiに初期値の「1」をセットするとともに、グループ数jmaxを「0」に設定する。
【0067】
ST102では、i番目の部品BiのCADデータを読み出し、そのデータ中の品番が既にいずれかのグループに分類されているかどうかをチェックする(ST103)。i=1の段階では、まだグループが設定されていないから、この判定は「NO」となってST104に進み、着目グループを示すカウンタjに初期値の0をセットする。
【0068】
つぎのST105では、カウンタjを1つ大きな値(すなわち1)に更新した後、ST106において更新後のjをjmaxと比較する。処理が開始された直後は、jmax=0であるから、j>jmaxとなり、ST106の判定は「NO」となる。この場合には、ST111に進み、jの値によりjmaxを更新する(すなわちjmax=1)。
【0069】
つぎのST112では、グループデータ記憶部112にj番目のグループGjを登録する(具体的には、グループ番号jを登録することになる。)。続くST113では、部品Biの属性情報(部品種およびサイズ、ならびに文字列の有無)を、j番目のグループGjの属性情報として、グループデータ記憶部112に登録する。さらにこの後は、ST114に進み、部品Biの品番および部品番号をグループGjに登録する。
【0070】
ST115では、基板の良品画像から部品Biの画像を切り出す。さらに、この部品Biの搭載角度が0度以外の角度である場合には、搭載角度が0度の画像になるように、切り出した画像を回転補正する。ST116は、ST115で取得した画像を部品Biに対応する品番の良モデルとして、モデル記憶部111に登録する。
【0071】
ST117では、iの値を1つ大きな値に更新する。更新後のiが実装部品の総数imaxより大きくならない場合には、つぎのST118が「YES」となってST102に戻る。以下、同様に、iを更新することによって着目部品を変更しながら、同様の処理を実行するが、2番目移行の部品については、少なくとも1つのグループが存在することになるから、ST102〜105の処理の後、ST106が「YES」となって、ST107に進む。
【0072】
ST107では、部品Biの属性情報(部品種およびサイズならびに文字列の有無)を、グループGjの属性情報と比較する。ここで部品種が同一であり、サイズも同一であり、文字列の有無状態も同一であると判断された場合(ST108〜110がすべて「YES」の場合)は、ST114に進み、部品Biの品番および部品番号を着目中のグループGjに登録する。以下、ST115,116を実行することにより、部品Biに対応する品番の良モデルを設定して登録する。
【0073】
一方、設定されているグループのいずれに対しても、属性情報の一致を確認できない場合には、j=jmaxになるまでST105〜110のループが繰り返された後に、ST106が「NO」となる。この場合には、ST111〜113を実行し、しかる後にST114〜116を実行することにより、新たなグループを設定し、そのグループに部品Biを登録する。
【0074】
部品Biの品番が既にいずれかのグループに分類されている場合には、ST103が「YES」となってST119に進み、当該品番が分類されているグループに、部品Biの部品番号を登録することで対応する。
【0075】
以上の処理をiが実装部品の総数imaxに達するまで実行することにより、各部品は、それぞれ属性情報が同一のもの毎にグループ分けされる。また、品番毎に、良モデルが設定され、モデル記憶部111に登録される。
【0076】
図9は、図8の処理により登録された1グループ内に対し、不良モデルおよび重みデータを品番単位で登録する処理の手順を示す(グループが複数ある場合には、グループ毎に図9の処理が実行される。)。
【0077】
まず最初のST201では、品番および良モデルを特定するためのカウンタmに初期値の「1」をセットする。ST202では、このmが示す良モデルOmを読み出す。
【0078】
つぎのST203では、着目中の良モデル以外の良モデルの読出し回数を記憶するためのカウンタk(k≦M−1(Mはグループ内の品番の登録数))に初期値の「1」をセットする。ST204では、着目中の良モデル以外の良モデルOk(Okは、k番目に読み出された良モデルを意味する。)を読み出す。
【0079】
ST205では、読み出した2つのモデルOm,Ok間でマッチング処理を行い、モデルOkにおいてOmに最も類似する領域を特定する。ST206では、この特定した領域内の画像をm番目の品番のk番目の不良モデルNkとして、モデル記憶部111に登録する。
【0080】
さらに、ST207では、上記のモデルOmとNkとの差画像を生成し、ST208では、生成された差画像を平滑化する処理を実行する。さらにST209では、平滑処理後の差画像の各画素データを、不良モデルNkに対応する重みデータHkとして、重みデータ記憶部113に登録する。
【0081】
この後は、ST210において、kの値を1つ大きな値に更新する。以下、この更新後にk>(M−1)になるまで、ST203〜211のループを繰り返す。これにより、着目中の良モデルOmに対応する品番と同じグループに登録されている各品番の部品について、その部品が誤って実装された場合を検出するための不良モデルNkおよび重みデータHkが登録される。
【0082】
以下同様に、カウンタmをm>Mとなるまで更新し、毎時のmにより特定される部品について、上記ST202〜211のループを繰り返す。これにより、グループ内のすべての品番について、同じグループに属する他の品番の部品を誤実装した場合に対応するための不良モデルが登録されることになる。
【0083】
図10は、上記の各モデルや重みデータを用いた検査の手順を示す。
まず最初のST301では、検査対象の基板の撮像により生成された画像を入力する。この後は、メモリ15に登録された部品情報に基づき、実装部品に順に着目して下記の処理を実行する。
【0084】
部品情報には、図4のCADデータと同内容のデータが含まれている。ST302では、このデータ中の部品番号によりグループデータ記憶部112を検索して、着目中の部品が所属するグループおよびこのグループに登録されている品番の数Mを認識する。ST303では、着目中の部品の品番によりモデル記憶部111を検索して、対応する良モデルを読み出す。
【0085】
ST304では、不良モデルの読出し数を示すカウンタkに「1」をセットするとともに、良モデルに対する相違度の最大値Smaxを初期値の0に設定する。つぎのST305では、k番目の不良モデルNkおよびこれに対応する重みデータHkを読み出す。ST306では、重みデータHkに含まれる各重みを用いて上記した(1)式を実行することにより、良モデルに対する処理対象画像の相違度S(o)kを算出する。
【0086】
ST307では、同様に重みデータHkを用いた(1)式によって、不良モデルNkに対する処理対象画像の相違度S(n)kを算出する。
【0087】
ST308では、ST306で求めた相違度S(o)kを最大値Smaxと比較する。ここでS(o)k>SmaxであればST309に進み、Smaxを現在のS(o)kの値に書き換える。S(o)k≦Smaxの場合には、ST309はスキップされる。
【0088】
ST310では、ST306,307でそれぞれ求めた相違度S(o)k,S(n)kを比較する。ここでS(o)k<S(n)k、すなわち良モデルに対する類似度の方が高い場合には、ST311に進んでkの値を更新した後、ST312を介してST305に戻る。
【0089】
以下、設定されているすべての不良モデルについて、ST305〜312の処理が実行され、いずれの不良モデルに対する類似度よりも良モデルに対する類似度の方が高くなった場合には、ST312が「NO」となってST313に進み、その時点での良モデルに対する相違度の最大値Smaxを所定のしきい値Sthと比較する。ここでSmax<Sthであれば(すなわち、各種重みデータを用いて求めた良モデルに対する類似度のうちの最も小さいものが、一定の基準値を上回る場合には)、ST314に進み、着目中の部品は正しい部品であると判定する。
【0090】
他方、上記の比較処理において、Smax≧Sthであった場合には、ST316に進み、着目中の部品は誤った部品であると判定する。このようなケースは、正しい部品とは異なるグループの部品が誤実装されている場合に生じると可能性がある。
【0091】
もし、正しい部品と同じグループに属する部品が誤って実装されているならば、その部品に対応する不良モデルを対象にST310の比較処理を行った場合の判定が「NO」となる。この場合は、ST315に進み、相違度S(n)kがしきい値Sthより小さいか否かをチェックする。S(n)k<Sthであれば、ST316に進み、着目中の部品は誤った部品であると判定する。
【0092】
基板上のすべての実装部品に対し、ST302〜316の処理を実行することにより、部品毎に、その部品が正しい部品であるか、誤った部品であるかが判定される。全ての実装部品に対する判定処理が終了すると、ST317が「YES」となってST318に進み、基板全体にかかる検査結果を出力する。この出力先は、モニタ6のほか、図示しない外部機器に対して行うことができる。
【0093】
なお、上記の実施例では、不良モデルについて、R,G,Bの色データ毎に重みデータを設定したが、これに限らず、良品モデルとの間で差が生じる色データに限定して重みデータを設定してもよい。たとえば、部品に赤色の文字列が印刷される場合であれば、Rには重みデータを設定するが、G,Bには重みデータを設定しないようにする。また、このように特定の色データのみに重みデータを設定した場合には、類似度の算出についても、重みデータが設定された色の画像データのみを用いて行えばよい。ただし、これに限らず、特定の色データにつき、重みデータを設定して類似度を算出するとともに、その他の色データについても、重みデータを設定せずに類似度を算出し、すべての類似度の総和を求めてもよい。
【0094】
また上記の(1)式による類似度の算出は、対応画素間の差の総和を求めるものであるが、これに代えて、正規化相関演算を実行してもよい。この場合も、類似度が高くなるほど演算結果の値が低くなるような式を設定することにより、検査対象部品がいずれかの不良モデルに対応する場合には、該当する不良モデルに対する類似度が最も高くなるような結果を得ることができるから、部品の正否を判別することができる。
【0095】
上記の記載を整理すると、部品検査においては、以下の3とおりの方法により各モデルに対する類似度を求めることができる。
(1)前述の(1)式を用いて、R,G,Bの各色データ毎に、対応画素間の差を求め、その総和を類似度とする方法。
この方法により求められる類似度を、以下では、「総合差分演算による類似度」という。
(2)重みデータが設定された色データ(たとえばR)に限定して、対応画素間の差を求め、その差を類似度とする方法。
この方法により求められる類似度を、以下では、「特定色の差分演算による類似度」という。
(3)正規化相関演算により類似度を求める方法。
この方法により求められる類似度を、以下では、「正規化相関演算による類似度」という。
【0096】
実際の部品検査においては、上記3通りの演算処理による類似度のうち、検査対象画像に適合するモデルに対する類似度とその他のモデルに対する類似度との間の差が、できるだけ顕著になるようなものを選択するのが望ましい。基板には種々の部品が実装されており、上記3通りの類似度の中のいずれが適しているかは、部品の種類によって異なる。よって、類似度の算出方法についても、グループ毎にあらかじめ選択しておけば、検査の精度をさらに向上することができる。
【0097】
なお、(2)の方法については、前記したように、特定の色データ以外の色データについて、重みデータを設定しない類似度を求め、これらを、特定の色データの重みデータを用いた類似度に加算する方法に、差し替えることもできる。また(3)の方法についても、差分演算による類似度と同様に、R,G,Bの各色データを用いて相関値を求める場合と、特定の色データのみを用いて相関値を求める場合とに分類してもよい。
【0098】
以下、この類似度の演算方法を自動的に選択する処理について、図11〜図13を用いて具体的に説明する。この例は、図8,9の処理により、良モデルおよび不良モデルならびに重みデータの登録が完了した特定の品番に着目し、上記(1)〜(3)の各方法による類似度のうちのいずれを求めるのが適切であるかを、基板の良品画像を用いて自動的に判別するものである。
【0099】
図11中、OK1〜OK3は、着目中の品番の部品について、良品画像から抜き出したサンプル画像(以下、「良サンプル」という。)の名称である。またNG1〜NG5は、着目中の品番と同じグループに属する他品番の部品について、良品画像から抜き出したサンプル画像(以下、「不良サンプル」という。)の名称である。各サンプルは、それぞれ良品画像から個別に切り出されたものである。したがって、同じ品番のサンプルであっても、色合いなどが微妙に異なる。また、不良サンプルについては、着目中の部品以外の品番が複数存在する場合には、これらの品番のすべてについて、不良サンプルが設定されるのが望ましい。
【0100】
図11は、上記3通りの演算方法により、それぞれ着目品番の部品の良品モデルに対する各サンプルの類似度を求めた結果を示す。なお、良サンプルのうちの「OK1」は、良モデルの作成に使用されたものであるため、いずれの演算結果も「0」(すなわち類似度100パーセント)となっている。
【0101】
図12は、これらの類似度のグラフ上で、判別処理のために使用されるパラメータを示したものである。
図中、●印は、図11に示した良品サンプルの類似度を示し、■印は、不良品サンプルの類似度を示す。また、太い一点鎖線は、良品サンプルの類似度の分布範囲の中間値(最大値と最小値との平均値)であり、太い二点差線は、不良品サンプルの類似度の分布範囲の中間値である。
【0102】
各グラフにおいて、Dは、良サンプルの中間値と不良サンプルの中間値との差である。また、Rは、良サンプルの最小の類似度の値(数値上は最大値)から不良サンプルの最大の類似度の値(数値上は最小値との差)である。
【0103】
Dは、良サンプルと不良サンプルとの間での類似度の平均的な差の大きさを示すと考えられる。Rは、良サンプルの分布範囲と不良サンプルとの分布範囲との間の隔たりの大きさを示すと考えられる。このRが大きくなるほど、正しい部品と誤った部品との切り分けが容易になると考えられる。よって、この実施例では、(1)〜(3)の演算毎に、Dに対するRの比(R/D)を求め、その比の大きさが最大になる演算処理を選択するようにしている。
【0104】
図13は、上記図11に示した各演算結果について、それぞれR,D,R/Dを求めた結果を示す。この例によれば、R/Dが最も大きくなるのは、(3)の相関値による類似度を求めた場合であるから、検査の際に実行する演算としても、(3)の方法が選択される。
【0105】
上記の図11〜13に示した類似度の算出方法の選択処理は、モデルの登録処理と同様に、検査対象となる基板の種類毎に行われるのが望ましい。
【図面の簡単な説明】
【0106】
【図1】基板の外観自動検査装置の電気構成および光学的構成を示す図である。
【図2】基板上の部品の配置例を示す説明図である。
【図3】図2の各部品のCADデータの内容を示す説明図である。
【図4】図2の各部品の品番をグループ分けした結果を示す説明図である。
【図5】部品検査システムの機能ブロック図である。
【図6】良モデルの登録例を示す説明図である。
【図7】重みデータの設定例を示す説明図である。
【図8】部品の分類およびOKモデルの登録に関する処理手順を示すフローチャートである。
【図9】不良モデルおよび重みデータの登録に関する処理手順を示すフローチャートである。
【図10】検査の流れを示すフローチャートである。
【図11】3とおりの演算処理方法によりサンプル画像に対する類似度を求めた例を示すテーブルである。
【図12】図11の演算結果から、類似度の演算方法の選択処理に用いるパラメータを求める方法を示すグラフである。
【図13】図11の演算結果から求めたR,D,R/Dの値を示すテーブルである。
【符号の説明】
【0107】
1 コントローラ
2 カメラ
10 制御部
15 メモリ
100 部品検査システム
101 CADデータ入力部
103 部品分類処理部
104 モデル登録部
105 重みデータ設定部
107 検査実行部
111 モデル記憶部
112 グループデータ記憶部
113 重みデータ記憶部
【特許請求の範囲】
【請求項1】
部品の実装工程を経た基板を撮像し、生成された画像中の部品に関する特徴を用いて前記基板に正しい部品が実装されているかどうかを検査するためのモデルを登録する方法であって、
前記基板の設計データを用いて、各実装部品を部品種およびサイズに基づきグループ分けするステップA、
前記基板上の各部品の画像の良モデルを登録するステップB、
ステップBで登録された良モデルに順に着目し、着目中の良モデルが適用される部品と同一のグループに分類された他の部品の良モデルを、前記着目中の良モデルに対応する不良モデルとして設定して登録するステップC、
の各ステップを実行することを特徴とする実装部品の検査のためのモデル登録方法。
【請求項2】
部品の実装工程を経た基板を撮像し、生成された画像中の部品に関する特徴を用いて前記基板に正しい部品が実装されているかどうかを検査する方法であって、
前記基板の設計データを用いて、各実装部品を部品種およびサイズに基づきグループ分けするステップA、
前記基板上の各部品の画像の良モデルを登録するステップB、
ステップBで登録された良モデルに順に着目し、着目中の良モデルが適用される部品と同一のグループに分類された他の部品の良モデルを、前記着目中の良モデルに対応する不良モデルとして設定して登録するステップC、
の各ステップを、検査前に実行しておき、
検査において、検査対象の部品毎に、その部品の画像を対象に良モデルおよび不良モデルに対する当該部品の画像の類似度を求め、いずれの不良モデルに対する類似度よりも良モデルに対する類似度の方が高くなったとき、検査対象の部品は正しい部品であると判別し、前記良モデルに対する類似度よりもいずれかの不良モデルに対する類似度の方が高くなったとき、前記検査対象の部品は誤った部品であると判別する、実装部品の検査方法。
【請求項3】
請求項2に記載された方法において、
前記検査の前に、前記ステップCで設定された不良モデルの各画素に、それぞれ良モデルの対応画素に対する差に応じた重みを設定し、これらの重みを前記不良モデルに対応づけて登録するステップDを、さらに実行し、
前記検査では、
検査対象画像と各不良モデルとの間で、それぞれ前記ステップDで当該モデルにつき登録された重みにより対応画素間の差を重み付けした値を用いて、画像間の差が大きいほど値が大きくなるように設定された類似度を求める演算により、各不良モデルに対する検査対象画像の類似度を求める一方、良モデルについて、各不良モデルに設定したのと同じ重みを用いて前記演算を複数回実行することにより、前記良モデルに対する検査対象画像の類似度を複数とおり算出し、
良モデルに対する類似度と不良モデルに対する類似度とを、同じ重みを用いて算出されたもの毎に組み合わせて比較し、すべての組み合わせにおいて、不良モデルに対する類似度よりも良モデルに対する類似度の方が高くなったとき、前記検査対象の部品は正しい部品であると判別し、いずれかの組み合わせにおいて、不良モデルに対する類似度が良モデルに対する類似度よりも高くなったとき、前記検査対象の部品は誤った部品であると判別する、実装部品の検査方法。
【請求項4】
部品の実装工程を経た基板を撮像し、生成された画像中の部品に関する特徴を用いて前記基板に正しい部品が実装されているかどうかを検査する装置であって、
検査対象の基板上の各部品の画像の良モデルが登録されたメモリと、
検査対象の基板の設計データの入力を受け付けて、入力された設計データを用いて、各実装部品を部品種およびサイズに基づきグループ分けする分類手段と、
前記メモリに登録された良モデルに順に着目し、着目中の良モデルが適用される部品と同一のグループに分類された他の部品の良モデルを、前記着目中の良モデルに対応する不良モデルとして設定する不良モデル設定手段と、
検査対象の基板が撮像されたとき、生成された画像中の検査対象の部品毎に、対応する良モデルおよび不良モデルに対する当該部品の画像の類似度を求め、これらの類似度に基づき、各部品が正しい部品であるかどうかを判別する判別手段とを、備え、
前記判別手段は、いずれの不良モデルに対する類似度よりも良モデルに対する類似度の方が高くなったとき、検査対象の部品は正しい部品であると判別し、前記良モデルに対する類似度よりもいずれかの不良モデルに対する類似度の方が高くなったとき、前記検査対象の部品は誤った部品であると判別する、基板検査装置。
【請求項1】
部品の実装工程を経た基板を撮像し、生成された画像中の部品に関する特徴を用いて前記基板に正しい部品が実装されているかどうかを検査するためのモデルを登録する方法であって、
前記基板の設計データを用いて、各実装部品を部品種およびサイズに基づきグループ分けするステップA、
前記基板上の各部品の画像の良モデルを登録するステップB、
ステップBで登録された良モデルに順に着目し、着目中の良モデルが適用される部品と同一のグループに分類された他の部品の良モデルを、前記着目中の良モデルに対応する不良モデルとして設定して登録するステップC、
の各ステップを実行することを特徴とする実装部品の検査のためのモデル登録方法。
【請求項2】
部品の実装工程を経た基板を撮像し、生成された画像中の部品に関する特徴を用いて前記基板に正しい部品が実装されているかどうかを検査する方法であって、
前記基板の設計データを用いて、各実装部品を部品種およびサイズに基づきグループ分けするステップA、
前記基板上の各部品の画像の良モデルを登録するステップB、
ステップBで登録された良モデルに順に着目し、着目中の良モデルが適用される部品と同一のグループに分類された他の部品の良モデルを、前記着目中の良モデルに対応する不良モデルとして設定して登録するステップC、
の各ステップを、検査前に実行しておき、
検査において、検査対象の部品毎に、その部品の画像を対象に良モデルおよび不良モデルに対する当該部品の画像の類似度を求め、いずれの不良モデルに対する類似度よりも良モデルに対する類似度の方が高くなったとき、検査対象の部品は正しい部品であると判別し、前記良モデルに対する類似度よりもいずれかの不良モデルに対する類似度の方が高くなったとき、前記検査対象の部品は誤った部品であると判別する、実装部品の検査方法。
【請求項3】
請求項2に記載された方法において、
前記検査の前に、前記ステップCで設定された不良モデルの各画素に、それぞれ良モデルの対応画素に対する差に応じた重みを設定し、これらの重みを前記不良モデルに対応づけて登録するステップDを、さらに実行し、
前記検査では、
検査対象画像と各不良モデルとの間で、それぞれ前記ステップDで当該モデルにつき登録された重みにより対応画素間の差を重み付けした値を用いて、画像間の差が大きいほど値が大きくなるように設定された類似度を求める演算により、各不良モデルに対する検査対象画像の類似度を求める一方、良モデルについて、各不良モデルに設定したのと同じ重みを用いて前記演算を複数回実行することにより、前記良モデルに対する検査対象画像の類似度を複数とおり算出し、
良モデルに対する類似度と不良モデルに対する類似度とを、同じ重みを用いて算出されたもの毎に組み合わせて比較し、すべての組み合わせにおいて、不良モデルに対する類似度よりも良モデルに対する類似度の方が高くなったとき、前記検査対象の部品は正しい部品であると判別し、いずれかの組み合わせにおいて、不良モデルに対する類似度が良モデルに対する類似度よりも高くなったとき、前記検査対象の部品は誤った部品であると判別する、実装部品の検査方法。
【請求項4】
部品の実装工程を経た基板を撮像し、生成された画像中の部品に関する特徴を用いて前記基板に正しい部品が実装されているかどうかを検査する装置であって、
検査対象の基板上の各部品の画像の良モデルが登録されたメモリと、
検査対象の基板の設計データの入力を受け付けて、入力された設計データを用いて、各実装部品を部品種およびサイズに基づきグループ分けする分類手段と、
前記メモリに登録された良モデルに順に着目し、着目中の良モデルが適用される部品と同一のグループに分類された他の部品の良モデルを、前記着目中の良モデルに対応する不良モデルとして設定する不良モデル設定手段と、
検査対象の基板が撮像されたとき、生成された画像中の検査対象の部品毎に、対応する良モデルおよび不良モデルに対する当該部品の画像の類似度を求め、これらの類似度に基づき、各部品が正しい部品であるかどうかを判別する判別手段とを、備え、
前記判別手段は、いずれの不良モデルに対する類似度よりも良モデルに対する類似度の方が高くなったとき、検査対象の部品は正しい部品であると判別し、前記良モデルに対する類似度よりもいずれかの不良モデルに対する類似度の方が高くなったとき、前記検査対象の部品は誤った部品であると判別する、基板検査装置。
【図1】
【図3】
【図5】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図4】
【図6】
【図3】
【図5】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図4】
【図6】
【公開番号】特開2008−153255(P2008−153255A)
【公開日】平成20年7月3日(2008.7.3)
【国際特許分類】
【出願番号】特願2006−336689(P2006−336689)
【出願日】平成18年12月14日(2006.12.14)
【出願人】(000002945)オムロン株式会社 (3,542)
【公開日】平成20年7月3日(2008.7.3)
【国際特許分類】
【出願日】平成18年12月14日(2006.12.14)
【出願人】(000002945)オムロン株式会社 (3,542)
[ Back to top ]