外観検査装置、外観検査方法
【課題】検査対象物の濃淡画像に微分を行わずにクラックを抽出してノイズの影響を低減し、粗面に生じた微細なクラックであっても精度よく検出することを可能にする。
【解決手段】検査対象物Wを撮像装置2により撮像した濃淡画像から2値化手段11により2値画像を生成する。候補選別手段13は、2値画像内で黒画素の連結成分のうち細長い形状の連結成分をクラック候補領域として抽出する。候補選別手段により抽出されたクラック候補領域は、クラスタリング手段14により、慣性主軸の傾きの類似性を用いて分類される。クラスタリング手段により分類されたクラック候補領域は、連結処理手段15により、分類ごとに連結可能性が評価される。判定手段16は、連結処理手段15が1つのクラックに属すると判断したクラック候補領域の長さの合計を用いて検査対象物Wの良否を判定する。
【解決手段】検査対象物Wを撮像装置2により撮像した濃淡画像から2値化手段11により2値画像を生成する。候補選別手段13は、2値画像内で黒画素の連結成分のうち細長い形状の連結成分をクラック候補領域として抽出する。候補選別手段により抽出されたクラック候補領域は、クラスタリング手段14により、慣性主軸の傾きの類似性を用いて分類される。クラスタリング手段により分類されたクラック候補領域は、連結処理手段15により、分類ごとに連結可能性が評価される。判定手段16は、連結処理手段15が1つのクラックに属すると判断したクラック候補領域の長さの合計を用いて検査対象物Wの良否を判定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検査対象物を撮像した濃淡画像を用いることにより検査対象物に生じたクラックを抽出する外観検査装置、外観検査方法に関するものである。
【背景技術】
【0002】
一般に、検査対象物を撮像した濃淡画像を用いた外観検査により検査対象物に生じたクラックを検出する技術が提案されている。
【0003】
たとえば、特許文献1には、検査対象物の表面の傷やクラックのうち、直線状の傷やクラックを検出する技術が示されている。特許文献1に記載の技術では、検査対象物の濃淡画像を用いてエッジを強調したエッジ画像を生成し、エッジ画像に含まれるエッジにラベリングを行った後、エッジの接線方向(実際にはエッジ上の画素の濃度勾配の方向)が所定角度範囲内である画素群を抽出し、この画素群を通る傷候補直線を設定している。傷候補直線は角度範囲毎に求められ、ラベルが付与されたエッジ上の画素から各傷候補直線までの距離を求めるとともに、評価値を用いてエッジが直線状か否かが判定される。
【0004】
また、特許文献2には、クラックの発生場所とクラックの延長方向との関係に着目することにより、クラックをごみのような異物と識別して抽出する技術が記載されている。特許文献2に記載の技術では、検査対象物を撮像した濃淡画像からエッジ画像を生成し、クラックが生じる可能性のある検査スタートポイントを設定するとともに、検査スタートポイントに合わせて幅の狭い検出エリアを設定し、検査スタートポイントの周りで検出エリアを回転走査している。また、検出エリアの走査の間に、検出エリアに含まれるエッジ上の画素から得られる欠陥候補点の総数などが評価され、クラックと異物とが識別される。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−58253号公報
【特許文献2】特開2007−147407号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述した特許文献1、2に記載の技術は、いずれも検査対象物の濃淡画像からエッジ画像を生成し、エッジ画像に含まれる画素を規定の規則で評価することによって、クラックを識別している。
【0007】
ところで、エッジ画像を生成する技術には、濃淡画像を微分した微分画像に対して適宜の閾値を適用して微分画像を2値化する技術が多く採用されている。すなわち、濃淡画像に対して微分フィルタ(ないし、エッジ強調フィルタ)を適用すると、濃淡画像において濃淡値の変化が大きい部位をエッジとして抽出することができる。ただし、微分フィルタを適用すると、濃淡画像に含まれるエッジだけではなくノイズも強調して抽出することになる。
【0008】
また、水平方向の2次微分の結果と垂直方向の2次微分の結果とを足し合わせることにより、ラプラシアンフィルタを用いた場合と同様に、濃淡画像の2次微分の値が得ることができる。このようにして求めた2次微分の値では、方向に依存することなくエッジを抽出することができる。ただし、2次微分では、微分を繰り返しているから、ノイズをさらに強調することになる。
【0009】
とくに検査対象物の表面が粗面であるときには、ノイズ成分が大幅に増加するから,濃淡画像からクラックを分離することが困難になるという問題が生じる。
【0010】
本発明は上記事由に鑑みて為されたものであり、その目的は、検査対象物の濃淡画像に微分を行うことなくクラックを抽出することでノイズの影響を低減し、結果的に粗面に生じた微細なクラックであっても精度よく検出することを可能にした外観検査装置、外観検査方法を提供することにある。
【課題を解決するための手段】
【0011】
本発明は、上記目的を達成するために、検査対象物を撮像した濃淡画像から2値画像を生成する2値化手段と、2値画像内で検査対象物に生じたクラックに対応した画素値を持つ連結成分のうちクラックの特性を有する連結成分をクラック候補領域として抽出する候補選別手段と、候補選別手段により抽出されたクラック候補領域を慣性主軸の傾きの類似性を用いて分類するクラスタリング手段と、クラスタリング手段により分類されたクラック候補領域について分類ごとに連結可能性を評価する連結処理手段と、連結処理手段により1つのクラックに属すると判断されたクラック候補領域を用いて検査対象物の良否を判定する判定手段とを備えることを特徴とする。
【0012】
候補選別手段は、以下の(1)〜(3)のいずれかの構成を採用することができる。
【0013】
(1)2値化手段により生成した2値画像の連結成分について円形度を求め、円形度が基準値以下である連結成分をクラック候補領域として抽出する構成。
【0014】
(2)2値化手段により生成した2値画像の連結成分について慣性主軸の方向の長さ寸法が、当該方向に直交する方向の幅寸法に対してなすアスペクト比を求め、アスペクト比が基準値以上である連結成分をクラック候補領域として抽出する構成。
【0015】
(3)2値化手段により生成した2値画像の連結成分について2値画像の座標軸に平行な辺を有する外接矩形の対角線の傾きと、当該連結成分の慣性主軸の傾きとの角度差が基準値以下である連結成分をクラック候補領域として抽出する構成。
【0016】
また、クラスタリング手段は、候補選別手段により抽出された複数個のクラック候補領域のうち慣性主軸の角度差が最小である2個のクラック候補領域を抽出し、両クラック候補領域の面積を重み係数として慣性主軸の傾きの重み付き平均を慣性主軸の傾きに持つとともに両クラック候補領域の面積の合計を面積に持つ新たなクラック候補領域を元のクラック候補領域に代えて設定する処理を、慣性主軸の角度差が規定範囲内のクラック候補領域がなくなるまで繰り返し、新たなクラック候補領域の設定に用いた元のクラック候補領域の集合を、慣性主軸の傾きに類似性を有するクラック候補領域の集合とする構成が望ましい。
【0017】
連結処理手段は、以下の(a)〜(d)のいずれかの構成を採用することができる。
【0018】
(a)クラスタリング手段が形成した集合内に複数個のクラック候補領域が存在すると、各クラック候補領域の慣性主軸の方向における端点の位置を求めるとともに、互いに異なるクラック候補領域の端点間距離が基準値以下である2個のクラック候補領域を1つのクラックに属するクラック候補領域と判断する構成。
【0019】
(b)クラスタリング手段が形成した集合内に複数個のクラック候補領域が存在すると、各クラック候補領域の面積を重み係数とした慣性主軸の傾きの重み付き平均である基準方向を求めるとともに、各クラック候補領域の重心を通る基準方向の直線を設定し、直線間の距離が基準値以下である2個のクラック候補領域を1つのクラックに属するクラック候補領域と判断する構成。
【0020】
(c)クラスタリング手段が形成した集合内に複数個のクラック候補領域が存在すると、各クラック候補領域の面積を重み係数とした慣性主軸の傾きの重み付き平均である基準方向を求めるとともに、各クラック候補領域の重心を通る基準方向の直線を設定して2値画像の座標軸と各直線の交点の位置を求め、基準方向を用いて交点間の距離を基準方向に直交する方向に正規化し、正規化した距離が基準値以下である2個のクラック候補領域を1つのクラックに属するクラック候補領域と判断する構成。
【0021】
(d)クラスタリング手段が形成した集合内に複数個のクラック候補領域が存在すると、すべてのクラック候補領域の面積を重み係数とした慣性主軸の傾きの重み付き平均である基準方向と、各クラック候補領域の重心同士を結ぶ直線との角度差を求め、角度差が規定範囲内である2個のクラック候補領域を1つのクラックに属すると判断する構成。
【0022】
判定手段は、連結処理手段で1つのクラックに属すると判断された複数個のクラック候補領域のそれぞれを2値画像の座標軸に投影した射影幅を求めるとともに、射影幅の合計を判定閾値と比較し、投影幅の合計が判定閾値以上であれば、検査対象物をクラックの生じた不良品と判断する構成を採用することが望ましい。
【発明の効果】
【0023】
本発明の構成によれば、検査対象物の濃淡画像から2値画像を生成し、微分を行わずにクラックを抽出するから、粗面のように微分を行うとノイズが検出されやすい面に形成された微細なクラックでも精度よく検出することができる。
【0024】
とくに、2値画像から抽出した連結成分のうちクラックの特性を有する連結成分をクラック候補領域として抽出し、さらに、慣性主軸の傾きが類似しているクラック候補領域をグループ化した集合を形成し、さらに集合内でクラック候補領域の連結の可能性を評価しているから、2値画像内の連結成分についてクラックである可能性を3種類の方法で徐々に絞り込んでいくことになり、クラックの有無を精度よく検出することが可能になる。
【0025】
2値画像における連結成分についてクラックの特性を有するか否かを評価するために、円形度、アスペクト比、外接矩形の対角線と慣性主軸の傾きとの角度差とのいずれかに着目することにより、連結成分が細長い形状であるか否かを定量的に判断することが可能になる。
【0026】
クラックの特性を有するクラック候補領域については、慣性主軸の傾きが近いもの同士を集めて集合を形成するから、1つのクラックに属している可能性が高いクラック候補領域ごとにグループ化され、各クラック候補領域が1つのクラックに属しているか否かの判定を行う範囲を絞り込むことができる。すなわち、処理負荷が軽減されることになる。
【0027】
クラック候補領域を慣性主軸の傾きが類似するグループに分けた後に、グループ内のクラック候補領域について、端点間距離、重心間距離、正規化した重心間距離、重心を通る直線の傾きのいずれかに着目することにより、1つのクラックに属するか否かを客観的に判断することが可能になる。とくに、重心を通る直線の傾きを用いると、分岐したクラックでも連結の可能性を判断することが可能になる。
【0028】
また、1つのクラックに属すると判断された複数個のクラック候補領域のそれぞれの射影幅を求め、射影幅の合計を判定閾値と比較することにより検査対象物の良否を判定するから、射影幅の合計がクラックの延長方向に依存するが、クラック候補領域の慣性主軸の方向における長さの合計を用いるよりも判定が単純化される。
【図面の簡単な説明】
【0029】
【図1】実施形態を示すブロック図である。
【図2】同上の概略の処理手順を示す動作説明図である。
【図3】同上においてクラックの特性を判定する動作例の説明図である。
【図4】同上においてクラックの特性を判定する他の動作例の説明図である。
【図5】同上においてクラックの特性を判定する別の動作例の説明図である。
【図6】同上における主軸角の分類手順の例を示す動作説明図である。
【図7】同上におけるクラック候補領域の一分類例を示す説明図である。
【図8】同上におけるクラック候補領域の他の分類例を示す説明図である。
【図9】同上におけるクラック候補領域のさらに他の分類例を示す説明図である。
【図10】同上におけるクラック候補領域の別の分類例を示す説明図である。
【図11】図10に示した分類例の他例を示す説明図である。
【図12】実施形態においてクラック候補領域を抽出するまでの説明図である。
【図13】同上においてクラック候補領域を評価する動作の説明図である。
【図14】同上において図7に例示した動作の説明図である。
【図15】同上において図8に例示した動作の説明図である。
【図16】同上において図9に例示した動作の説明図である。
【図17】同上において図10に例示した動作の説明図である。
【発明を実施するための形態】
【0030】
(実施形態1)
本実施形態では、検査対象物におけるクラックの有無を検出するために、検査対象物を含む濃淡画像を2値化した2値画像を用いてクラックの候補となる画素群を背景から分離する技術を採用している。
【0031】
図1に示すように、検査対象物WはTVカメラのような撮像装置2により撮像され、撮像装置2から出力される濃淡画像はコンピュータを用いて構成された画像処理装置1に入力される。コンピュータは、以下の処理を実現するプログラムを実行する汎用のコンピュータを用いるほか、画像処理装置1として専用のハードウェアを備えるものを用いてもよい。
【0032】
撮像装置2は、検査対象物Wの正面に配置される。撮像装置2には、検査対象物Wの細部を拡大して撮像できるように図示しない光学系を設けるのが望ましい。検査対象物Wの表面には照明装置(図示せず)により斜方照明が行われ、クラックの部位において影が生じるようにしてある。ただし、撮像装置2と照明装置とは、撮像装置2により撮像した濃淡画像内でクラックを識別できる位置関係であれば適宜に変更可能である。
【0033】
画像処理装置1は、撮像装置2から出力された濃淡画像を格納する画像メモリ10を有し、画像メモリ10に格納された濃淡画像に対して以下の処理を行うことにより検査対象物Wの表面に生じたクラックを検出する。画像メモリ10は、濃淡画像だけではなく、処理過程で生じる2値画像なども記憶する。
【0034】
画像処理装置1には、画像メモリ10のほかにクラックを検出する処理過程で必要なデータを記憶するデータ記憶部や処理過程で生じるデータを一時的に記憶する作業用記憶部も設けられるが、これらの記憶部にはコンピュータに設けたメモリや記憶装置の記憶領域を割り当てて用いる。また、処理過程の画像や処理結果などはコンピュータに設けたモニタ装置17に表示される。
【0035】
画像処理装置1は、クラックの有無を検出するために、図2に示すように、撮像装置2により撮像した濃淡画像を2値化して2値画像を生成し(S1)、クラックに相当する画素値を持つ画素のうちクラックの特性を有している画素をクラック候補領域として抽出する(S2)。さらに、クラック候補領域について、慣性主軸の傾き(主軸角)の類似性に基づいて分類を行い、主軸角が近い(主軸角の類似度が大きい)クラック候補領域の集合を形成する(S3)。
【0036】
次に、クラック候補領域の集合内で、クラック候補領域が1つのクラックに属するか否かを評価し、1つのクラックに属すると判断されるクラック候補領域のグループを形成し(S4)、グループごとにクラックの有無に関する良否判定を定量的に行う(S5)。
【0037】
画像処理装置1は、図1に示すように、濃淡画像から2値画像を生成する2値化手段11を備える。2値化手段11では濃淡画像に含まれる画素の濃淡値に応じて2値化のための閾値を動的に決定する。閾値を動的に決定するには、濃度分布のヒストグラムに現れる背景とクラックとのピークの間の谷部分の濃淡値となるように閾値を設定する。あらかじめ定めた背景の濃淡値を用いて、背景とクラックとの境界となる閾値を決定することも可能である。2値化手段11では、上述のように閾値を動的に決定することにより、いわゆる浮動2値化を行う。2値化手段11により生成された2値画像は、画像メモリ10に保存される。
【0038】
本実施形態では、2値化に際してクラックに相当する画素値を1(黒画素)とし、背景に相当する画素値を0(白画素)とする。画像処理装置1は、2値画像に含まれる黒画素の領域にラベルを付与するラベリング手段12を備える。ラベリング手段12では、黒画素についてクラックかノイズかの識別を行わず、すべての黒画素にラベルを付与する。ラベルは、複数個の黒画素の連結成分に付与するのが一般的であるが、1個の黒画素が単独で存在している場合もラベルを付与する。以下では、ラベルが付与された黒画素については、連結成分の黒画素か単独の黒画素かにかかわらず、まとめて連結成分として扱う。連結成分にラベルが付与された2値画像は画像メモリ10に格納される。
【0039】
ラベリング手段12により連結成分にラベルが付与されると、ラベルが付与された2値画像に含まれる黒画素の連結成分について、クラックの特性を有するか否かを評価する。この評価は、候補選別手段13が行う。候補選別手段13では、下記(1)〜(3)の3種類の評価方法のいずれかを用いることにより、ラベル単位で黒画素の連結成分がクラックの特性を有するか否かを判定する。
【0040】
(1)〜(3)の評価方法は、いずれもクラックは細長い形状になるという知見に基づいている。クラックの特性を有する黒画素は、クラックとしての必要条件を満たしているが、クラックであることは保証されていないから、以下ではクラック候補領域と呼ぶことにする。
【0041】
(1)円形度による評価
円形度は、連結成分の面積Sと連結成分の周囲長Lとを用い、4πS/L2と定義する。面積Sは連結成分の画素数であり、周囲長Lは輪郭線の追跡に際して上下左右に追跡する画素数C1と斜めに追跡する画素数C2とを用いて、C1+21/2C2と定義される。この円形度は、連結成分の外形が円形に近いときには最大値である1になり、細長い形状であれば1よりも小さくなる。このことを利用して、円形度が基準値以下である場合に、黒画素の連結成分をクラック候補領域とする。
【0042】
連結成分N(斜線部)が図3(a)に示す形状であれば、S=12、L≒13.6(C1=8、C2=4)であるから、円形度は0.81になる。また、図3(b)に示す形状であれば、S=12、L≒20であるから、円形度は0.38になる。この例からわかるように、円形度に基準値を規定しておくことにより、基準値以下であればクラックの特性を有していると推定することができる。
【0043】
(2)アスペクト比による評価
アスペクト比は、図4に示すように、連結成分Nの慣性主軸Axの方向の長さ寸法L1と、当該方向に直交する方向の幅寸法L2とを用い、L1/L2と定義する。上述のように、黒画素の画素値を1としているから、(p+q)次のモーメントM(p,q)は、数1の上式で表される。このモーメントを用いることにより、2次モーメントを最小にする慣性主軸の傾き(以下では、「主軸角」という)θは、数1の下式で表される。
【0044】
【数1】
数1のようにして主軸角θが求められると、連結成分Nに対して主軸角θに平行な辺を持つ外接矩形R(図4参照)を設定することができる。この外接矩形の長辺と短辺との長さ寸法の比は上述したアスペクト比L1/L2になる。連結成分Nがクラックに属している場合は、アスペクト比が大きくなると考えられるから、アスペクト比が基準値以上である場合に、黒画素の連結成分Nがクラックの特性を有していると推定することができる。
【0045】
(3)射影幅による評価
射影幅は、2値画像の座標軸に連結成分を投影したときの幅として定義される。いま、2値画像の水平方向をx方向とし、垂直方向をy方向とする直交座標系を規定すると、射影幅として、図5に示すように、連結成分Nをx軸に投影したx射影幅Wxと、y軸に投影したy射影幅Wyとを求めることができる。x射影幅Wxとy射影幅Wyとは、連結成分Nに対して座標軸に平行な辺を持つ外接矩形の長辺と短辺との長さ寸法になる。
【0046】
連結成分Nがクラックに属している場合は、座標軸に平行な辺を持つ外接矩形の対角線の方向と連結成分Nの主軸角θとがほぼ一致すると考えられるから、外接矩形の対角線の傾き(=arctan(Wy/Wx))と、数1の下式を用いて求められる主軸角θとを比較し、角度差が基準値以下である場合に、黒画素の連結成分Nがクラックの特性を有していると推定することができる。
【0047】
候補選別手段13では、上述した(1)〜(3)の評価方法の少なくとも1種類の評価方法を用いてクラックの特性を有していると推定された連結成分Nをクラック候補領域とするのである。(1)〜(3)の評価方法は単独で用いることができ、適宜に組み合わせて用いることも可能である。組み合わせる場合には、着目する黒画素の連結成分Nが、各評価方法のすべてにおいてクラックの特性を有していると推定されたときに、当該連結成分Nをクラック候補領域とする。あるいはまた、3種類の評価方法を採用し、着目する黒画素の連結成分Nが、いずれかの評価方法においてクラックの特性を有していると推定されるときに、当該連結成分Nをクラック候補領域としてもよい。
【0048】
ラベリング手段12によりラベルが付与された連結成分のうち候補選別手段13により選別されたクラック候補領域は、クラスタリング手段14により主軸角の類似性に応じて分類される。すなわち、同一のクラックに属するクラック候補領域の主軸角は近似しているという経験則に基づいて、主軸角の差分が規定範囲内であるクラック候補領域同士が同一の集合を形成するように分類する。
【0049】
クラスタリング手段14では、主軸角の差分が小さいほうから一対ずつのクラック候補領域を選択し、両クラック候補領域の主軸角の差分が規定範囲内であれば両クラック候補領域を同一の集合に属すると判断する。また、同集合に分類されたクラック候補領域は1個のクラック候補領域として扱うことができるように、主軸角および面積が統合され、統合された属性を用いて他のクラック候補領域と同じ集合に分類可能か否かが判定される。
【0050】
主軸角の差分が等しくなるクラック候補領域の組み合わせが複数存在する場合には、合計の面積が最大になる組み合わせを優先して同一の集合に属するか否かが判定される。各クラック候補領域の面積は、主軸角を統合する際の重み係数としても用いられる。すなわち、2個のクラック候補領域をまとめて1個のクラック候補領域として扱う際の主軸角θは、2個のクラック候補領域のそれぞれの主軸角θ1,θ2に対してそれぞれの面積A1,A2を重み係数とする重み付き平均(=A1・θ1+A2・θ2/(A1+A2))として求められる。
【0051】
以下では、具体例を用いてクラスタリング手段14の動作を説明する。図6は候補選別手段13により8個のクラック候補領域が抽出された状態を示している。各クラック候補領域E1〜E8は、表1に示す主軸角と面積とを有しているものとする。また、主軸角が昇順に並ぶように並べ替え(ソート)が行われているものとする。このように主軸角を順に並べることによって、隣接するクラック候補領域の主軸角を比較するだけで、主軸角の差分の大小を比較することが可能になる。
【0052】
【表1】
表1に示した各クラック候補領域E1〜E8について、主軸角の小さい順に隣接する各一対のクラック候補領域E1〜E8の差分を求めると、7、2、10、4、18、9、13であるから、まず最初に、クラック候補領域E2,E3の組み合わせについて同一の集合に属するか否かが判定される。クラック候補領域E2,E3の主軸角の差分は2であって、規定範囲(本例では、15°に設定している)内であるから、クラック候補領域E2,E3を統合してクラック候補領域E23とする。クラック候補領域E23の主軸角は、15(=5×14+5×16/(5+5))になり、面積は、10(=5+5)になる。クラック候補領域E2,E3が同一の集合に分類されると、主軸角が15°かつ面積が10であるクラック候補領域E23として扱われる。
【0053】
クラック候補領域E23について、隣接する各クラック候補領域E1,E4との主軸角の差分を求めると、それぞれ8、11であって、クラック候補領域E23,E1の組み合わせでは、主軸角の差分がクラック候補領域E4,E5の組み合わせよりも大きいから、クラック候補領域E4,E5の組み合わせが先に同一の集合への分類の可能性が判定されることになる。
【0054】
クラスタリング手段14では、上述の手順を繰り返すことによりクラック候補領域を分類し、主軸角の差分が規定範囲以下になる組み合わせがなくなった時点でクラック候補領域を分類する処理を終了する。表1に示す例では、図6のように、クラック候補領域E1〜5をまとめたクラック候補領域E23145(主軸角15、面積20)と、クラック候補領域E6,E7をまとめたクラック候補領域E67(主軸角52、面積9)と、クラック候補領域E8(主軸角70、面積5)との3グループに分類される。
【0055】
上述のようにしてクラック候補領域を分類したことにより、各集合は1つのクラックに属する可能性のあるクラック候補領域のグループになっているが、依然として1つのクラックであることの必要条件が満たされているだけであり、同一の集合に属するクラック候補領域であっても必ずしも1つのクラックに属しているとは限らない。
【0056】
そこで、各集合に属しているクラック候補領域について、連結処理手段15により1つのクラックに属しているか否かを評価し、クラック候補領域が属している集合ごとに1つのクラックに属していると判断できるクラック候補領域を連結する。連結処理手段15では、以下の(a)〜(d)の評価方法の少なくとも1種類を用いることにより、同一集合内の各クラック候補領域が1つのクラックに属するか否かを判定する。
【0057】
(a)端点間距離による評価
端点間距離は、クラック候補領域の慣性主軸の方向における端点について、異なるクラック候補領域の端点間の最短距離として定義される。たとえば、図7に示すように、4個のクラック候補領域E11〜E14が同一の集合に含まれている場合に、それぞれ隣接する各一対のクラック候補領域E11〜E14について端点ps1,pe1,ps2,pe2,…,pe4間の最短距離を求め、求めた距離が基準値以下であれば1つのクラックに属していると判断する。
【0058】
図示例では、クラック候補領域E11,E12は近接しているから1つのクラックに属すると判断する。また、クラック候補領域E12,E13も近接しているから1つのクラックに属すると判断する。クラック候補領域E11,E13は、基準値を超えていると判断されるが、クラック候補領域E12との距離がそれぞれ基準値以内であることにより、クラック候補領域E11〜E13は1つのクラックに属していると判断される。
【0059】
一方、クラック候補領域E14は、他のクラック候補領域E11〜E13とのいずれとも端点間の距離が基準値を超えるので、クラック候補領域E11〜E13とクラック候補領域E14とは1つのクラックに属していないと判断される。
【0060】
(b)重心間距離による評価
重心間距離は、1つの集合に含まれるクラック候補領域の主軸角を代表する基準方向を規定したときに、着目する一対のクラック候補領域の重心を通る基準方向の直線間の距離として定義する。この重心間距離が基準値以下であれば1つのクラックに属していると判断する。
【0061】
基準方向は、1つの集合に含まれるクラック候補領域の面積を重み係数に用いて、クラック候補領域の主軸角の重み付き平均として求められる。すなわち、クラスタリング手段14において、同一の集合に分類した複数個のクラック候補領域の主軸角を求める演算と同様の演算により基準方向を求める。基準方向を求めた後は、各クラック候補領域の重心を通る基準方向の直線を設定し、基準方向に直交する方向における各直線間の距離を重心間距離として求める。
【0062】
いま、図8(a)のように、6個のクラック候補領域E21〜E26が同一の集合に含まれている場合を想定する。クラック候補領域E21〜E24の重心G1〜G6を通る直線K1〜K6の関係を見ると、直線K1〜K4は近接しており、直線K5,K6は近接しているが、直線K4と直線K5とは近接していない。したがって、直線K1〜K6の相互間距離を求め、直線K1〜K4が1つのクラックに属すると判断され、直線K4と直線K5とが異なるクラックに属すると判断されるように基準値を決めておくことにより、クラック候補領域E21〜E24をクラック別に分類することが可能になる。
【0063】
ここに、集合内に3個以上のクラック候補領域が含まれている場合に、重心を通る直線が隣接している2個ずつのクラック候補領域の重心間距離が基準値以下であるとしても、重心を通る直線が離れている2個のクラック候補領域の重心間距離が基準値を超える場合があり、この場合、両クラック候補領域は1つのクラックに属していないと判断される。しかしながら、図8(b)のように、2本の直線K1,K3の間に他の直線K2があり、間の直線K2と他の2本の直線K1,K3との距離がそれぞれ基準値以下であれば、2本の直線K1,K3は1つのクラックに属していると考えられる可能性がある。
【0064】
そこで、重心間距離を基準値と比較する際には、面積が最大であるクラック候補領域の重心を通る直線を基準に用い、当該直線と他のクラック候補領域の重心を通る直線との距離を評価するのが望ましい。
【0065】
図8(b)の例では、3個のクラック候補領域E21〜E23のうちクラック候補領域E22の面積が最大であれば、3個のクラック候補領域E21〜E23が1つのクラックに属することになる。一方、クラック候補領域E21,E23のいずれかの面積が最大であれば、クラック候補領域E21とクラック候補領域E23とは1つのクラックに属さないことになる。
【0066】
(c)正規化した重心間距離による評価
基本的には(b)の評価方法と同様であるが、(b)の評価方法では、各クラック候補領域の重心を通る直線間の距離を直接求めているのに対して、各直線がy軸と交差する座標(y切片)の差分から求めている点で相違している。y切片の差分は、各直線を数式で表すことにより単純に求めることができる。しかしながら、y切片の差分は基準方向(x軸に対して直線がなす角度)に依存しており、直線間の距離が一定であっても直線の傾きが変化するとy切片の差分は変化する。
【0067】
そこで、図9のように、2本の直線K1,K2のy切片の差分がDであり、基準方向がφであるときに、Dcosφを直線K1,K2間の距離として用いることにより、y切片の差分を用いながらも基準方向φの変化に依存せずに重心間距離を評価することが可能になる。このように、y切片の差分Dにcosφを乗じることをy切片の正規化と呼んでいる。ただし、基準方向φが90°である場合(直線がy軸に平行である場合)、y切片の差分が得られないが、この場合は直線の式がx=aの形式になるから、単なる減算を行うことで直線間の距離を求めることができる。他の手順は(b)の評価方法と同様である。
【0068】
(d)重心を通る直線の傾きによる評価
一対のクラック候補領域が1つのクラックに属しているときに、両クラック候補領域の重心を結ぶ直線と、クラック候補領域の慣性主軸との角度差は小さいという経験則を用いて、両クラック候補領域を1つのクラックに属すると判断する。
【0069】
本例では、慣性主軸の主軸角(基準方向)を、(b)の評価方法と同様に、集合に含まれる各クラック候補領域の面積を重み係数に用いて各クラック候補領域の主軸角の重み付き平均として求める。
【0070】
いま、図10に示すように、3個のクラック候補領域E31〜E32が存在し、各クラック候補領域E31〜E33の重心の座標が、それぞれ(x1,y1)(x2,y2)(x3,y3)であるものとする。クラック候補領域E31,E32の重心を結ぶ直線の傾きは、arctan{(y2−y1)/(x2−x1)}であるから、この角度を上述のようにして求めた基準方向(図中に角度φで示す)と比較し、両者の角度差が規定範囲(たとえば、5°)内であれば、両クラック候補領域E31,E32は1つのクラックに属すると判断する。
【0071】
一方、図10におけるクラック候補領域E33は、他のクラック候補領域E31,E32との重心間を結ぶ直線の傾きと基準方向との角度差が規定範囲を超えるので、クラック候補領域E33は、クラック候補領域E31,E32とは同じクラックに属していないと判断する。
【0072】
ところで、各クラック候補領域の重心を相互に結ぶ直線の傾きを利用することにより、クラックが分岐している場合にも同じクラックに属するか否かを判定することが可能である。すなわち、図11に示すように、同じ集合内に4個のクラック候補領域E31〜E34が存在する場合を想定し、クラック候補領域E32,E33が比較的近い位置に併存しているとすると、これらのクラック候補領域E32,E33は、いずれもがクラック候補領域E31とともに1つのクラックに属すると考えられ、かつ分岐したクラックの一部であると考えることができる。
【0073】
そこで、クラック候補領域E32,E33のように、クラック候補領域E31との間で重心を結ぶ直線の傾きが基準方向に近い(角度差が規定範囲内)場合は、クラック候補領域E32,E33の重心を結ぶ直線の傾きと基準方向との角度差が規定範囲を超えていても、クラック候補領域E31と同じクラックに属すると判断する。要するに、複数個のクラック候補領域の重心を結ぶ直線の傾きと基準方向との角度差が規定範囲を超えている場合でも、それらのクラック候補領域と他のいずれかのクラック候補領域との重心を結ぶ直線の傾きと基準方向との角度差が規定範囲内であれば、同じクラックに属すると判断するのである。
【0074】
図示例において、クラック候補領域E34は、他のクラック候補領域E31〜E33との間で重心を結ぶ直線の傾きが、いずれも基準方向とは大きく異なる(規定範囲を超えている)から、クラック候補領域E34は別のクラックに属すると判断する。
【0075】
上述のようにして、クラスタリング手段14により主軸角の方向がほぼ等しいクラック候補領域の集合を形成した後に、連結処理手段15により、(a)〜(d)の評価方法のいずれかを用いて各集合内においてクラック候補領域が1つのクラックに属するか否かを判定するから、1つのクラックに属するクラック候補領域を抽出することができる。(a)〜(d)の評価方法は、単独で使用することを想定しているが、複数種類の評価方法を組み合わせて用いてもよい。
【0076】
上述のようにして1つのクラックに属すると判断されたクラック候補領域は、判定手段16において、各クラック候補領域のx射影幅とy射影幅との一方がそれぞれ求められ、判定手段16では、x射影幅またはy射影幅の合計値を適宜の判定閾値と比較し、合計値が判定閾値以上であるときに検査対象物Wにクラックが生じていると判定する。すなわち、検査対象物Wについて、判定閾値以上であれば不良品、判定閾値未満であれば良品と判定する。
【0077】
図2では本実施形態の処理手順を簡略に示したが、本実施形態の詳細な処理手順を図12〜図15にまとめて記載する。図12は図2におけるステップS1,S2に対応する処理であって、2値化手段11、ラベリング手段12、候補選別手段13での処理に相当している。検査を開始すると、まず2値化手段11により濃淡画像の浮動2値化が行われ(S11)、次にラベリング手段12により黒画素にラベルが付与される(S12)。
【0078】
次に、不要な検査を省略できるように、明らかに不良品と判断できる検査対象物Wを取り除く。そのため、候補選別手段13において、ラベルが付与された黒画素ごとに(S13,S20)、面積および射影幅を上限値と比較する(S14,S15)。面積と射影幅との一方が上限値を超えている場合には(S14:noまたはS15:no)、検査対象物Wを不良品と判断し(S21)、当該検査対象物Wについての検査を終了する。
【0079】
一方、面積および射影幅がともに上限値以下であれば(S14:yesかつS15:yes)、面積および射影幅を下限値と比較する(S16,S17)。上述した例では、面積(画素数)が1でもクラック候補領域として採用しているが、図12に示す動作例では、面積や射影幅が下限値未満である場合には(S16:noまたはS17:no)、クラック候補領域としては採用しないようにしている。
【0080】
面積および射影幅がともに下限値以上であれば(S16:yesかつS17:yes)、候補選別手段13では、各ラベルを付与した黒画素がクラックの特性を有するか否かを判定する(S18)。クラックの特性は、上述した(1)〜(3)の評価方法により判定する。ラベルを付与した黒画素がクラックの特性を有していない場合は(S18:no)、クラック候補領域として採用しない。また、ラベルを付与した黒画素がクラックの特性を有していると判断された場合は(S18:yes)、当該ラベルの黒画素をクラック候補領域として記憶部10に保存する(S19)。
【0081】
ここまでの処理は、ラベルを付与したすべての黒画素に対して行う(S13,S20)。この時点において、クラック候補領域が複数個存在しなければ(S22:no)、検査対象物Wをクラックのない良品と判断する(S23)。
【0082】
ラベルが付与されたクラック候補領域について、クラスタリング手段14では、図13に示すように、それぞれ主軸角を求め、さらに各クラック候補領域の主軸角の差分を求める(S31)。クラスタリング手段14の処理は、図2のステップS3に相当する。主軸角の差分は規定範囲(規定の上限値)と比較され(S32)、規定範囲を超えている場合には(S32:no)、集合を形成するクラック候補領域は存在せず、クラックは存在しないと判断される(S33)。
【0083】
一方、着目する2つのクラック候補領域の主軸角の差分が規定範囲内(上限値以下)であるときには(S32:yes)、両クラック候補領域は1つの集合の要素として扱う。また、両クラック候補領域の面積を重み係数に用いて主軸角の重み付き平均を求める(S34)。また、両クラック候補領域を統合して1つのクラック候補領域とみなし、統合したクラック候補領域の主軸角には主軸角の重み付き平均を用い、統合したクラック候補領域の面積には面積の合計を用いる。
【0084】
その後、統合前のクラック候補領域を統合後のクラック候補領域に置き換え、他のクラック候補領域とともに着目する2個のクラック候補領域の主軸角の差分を求める(S36)。主軸角の差分は上述した規定範囲と比較され(S37)、主軸角の差分が規定範囲内であれば(S37:yes)、ステップS34に戻ってクラック候補領域が統合される。ステップS34〜S36の処理を繰り返し、主軸角の差分が規定範囲内であるクラック候補領域の組み合わせがなくなれば(S37:no)、クラック候補領域を主軸角で分類する処理を終了する。
【0085】
クラック候補領域を主軸角に応じて分類した後には、連結処理手段15において、分類内(集合内)のクラック候補領域について同一のクラックに属するか否かを評価する(S81)。連結処理手段15は、図2のステップS4の処理に対応する。連結処理手段15では、上述した(a)〜(d)の評価方法のいずれかを用いて集合内のクラック候補領域の連結可能性を評価する。
【0086】
すなわち、(a)の評価方法では、図14に示すように、集合内の各クラック候補領域において慣性主軸と交差する端点を求め(S41)、着目する2個のクラック候補領域の端点間の距離を求める(S42)。端点間の距離は基準値と比較され(S43)、端点間の距離の最小値が基準値を超えているときは(S43:no)、両クラック候補領域は異なるクラックに属すると判断される(S44)。
【0087】
一方、両クラック候補領域の端点間の距離の最小値が基準値以下であるときは(S43:yes)、両クラック候補領域が1つのクラックに属すると判断する(S45)。すなわち、1つのクラックに属するクラック候補領域に分類する。
【0088】
ステップS42〜S45の処理は、集合内のすべてのクラック候補領域について行う(S46)。組み合わせるクラック候補領域がなくなれば、連結処理手段15の処理を終了する。
【0089】
また、(b)の評価方法では、図15に示すように、集合内の各クラック候補領域の面積を重み係数として主軸角の重み付き平均を求めるとともに、求めた重み付き平均の傾きを持ち各クラック候補領域の重心を通る直線を設定し(S51)、各直線間の距離(重心間距離)をそれぞれ求める(S52)。
【0090】
集合内で面積が最大であるクラック候補領域を通る直線に着目し、この直線と他の直線との距離(重心間距離)を基準値と比較する(S54)。重心間距離が基準値以下になるクラック候補領域が存在しなければ(S54:no)、面積が最大であるクラック候補領域は他のクラック候補領域とは独立していると判断する(S55)。
【0091】
一方、重心間距離が基準値以下になるクラック候補領域が存在すれば(S54:yes)、当該クラック候補領域を面積が最大であるクラック候補領域とともに1つのクラックに属すると判断する(S56)。
【0092】
ステップS54〜S56の処理は、集合内のすべてのクラック候補領域について行い(S53,S57)、直線間の距離を評価していない組み合わせがなくなれば、連結処理手段15の処理を終了する。
【0093】
(c)の評価方法では、図16に示すように、集合内の各クラック候補領域の面積を重み係数として主軸角の重み付き平均を求めるとともに、求めた重み付き平均の傾きを持ち各クラック候補領域の重心を通る直線を設定し(S61)、各直線のy切片の差分を正規化する(S62)。
【0094】
次に、集合内で面積が最大であるクラック候補領域のy切片に着目し、このy切片と他のクラック候補領域を通る直線のy切片との差分を正規化した値を基準値と比較する(S64)。正規化したy切片の差分が基準値以下になるクラック候補領域が存在しなければ(S64:no)、面積が最大であるクラック候補領域は他のクラック候補領域とは独立していると判断する(S65)。
【0095】
一方、正規化したy切片の差分が基準値以下になるクラック候補領域が存在すれば(S64:yes)、当該クラック候補領域を面積が最大であるクラック候補領域とともに1つのクラックに属すると判断する(S66)。
【0096】
ステップS64〜S66の処理は、集合内のすべてのクラック候補領域について行い(S63,S67)、直線間の距離を評価していない組み合わせがなくなれば、連結処理手段15の処理を終了する。
【0097】
(d)の評価方法では、図17に示すように、集合内の各一対のクラック候補領域の重心を通る直線を設定する(S71)。また、各クラック候補領域の面積を重み係数に用いて集合内のクラック候補領域の主軸角の重み付き平均を基準方向として求めておき、ステップS71で求めた直線の傾きと基準方向との角度差を求め、この角度差を規定範囲と比較する(S72)。角度差が規定範囲(上限値)を超えている場合は(S72:no)、重心を通る直線を設定した両クラック候補領域は1つのクラックに属していないと判断する(S73)。また、角度差が規定範囲内ある場合は(S72:yes)、重心を通る直線を設定した両クラック候補領域は1つのクラックに属していると判断する(S74)。
【0098】
ステップS72〜S74の処理は、集合内のすべてのクラック候補領域について繰り返し、クラック候補領域の組み合わせがなくなると、連結処理手段15の処理を終了する(S75)。
【0099】
連結処理手段15により集合内のクラック候補領域の連結の可能性が判断された後、図13に戻り、判定手段16において、図2におけるステップS5に相当する処理を行う。図2のステップS5に相当し、すなわち、連結処理手段15で連結可能と判断されたクラック候補領域のx射影幅とy射影幅との一方を求める(S82)。判定手段16は、連結可能なクラック候補領域について求めたx射影幅とy射影幅との合計を求め、合計値を判定閾値と比較する(S83)。
【0100】
判定手段16は、合計値が判定閾値を超えたと判断したときは(S83:yes)、検査対象物Wをクラックが生じている不良品と判断する(S84)。一方、合計値が判定閾値を超えない場合は、他の集合についてステップS81以降の処理を繰り返し(S85)、すべての集合についてx射影幅とy射影幅との一方が判定閾値を超えなければ、当該検査対象物Wにクラックは生じていないと判断する(S86)。
【符号の説明】
【0101】
1 画像処理装置
2 撮像装置
10 画像メモリ
11 2値化手段
12 ラベリング手段
13 候補選別手段
14 クラスタリング手段
15 連結処理手段
16 判定手段
W 検査対象物
【技術分野】
【0001】
本発明は、検査対象物を撮像した濃淡画像を用いることにより検査対象物に生じたクラックを抽出する外観検査装置、外観検査方法に関するものである。
【背景技術】
【0002】
一般に、検査対象物を撮像した濃淡画像を用いた外観検査により検査対象物に生じたクラックを検出する技術が提案されている。
【0003】
たとえば、特許文献1には、検査対象物の表面の傷やクラックのうち、直線状の傷やクラックを検出する技術が示されている。特許文献1に記載の技術では、検査対象物の濃淡画像を用いてエッジを強調したエッジ画像を生成し、エッジ画像に含まれるエッジにラベリングを行った後、エッジの接線方向(実際にはエッジ上の画素の濃度勾配の方向)が所定角度範囲内である画素群を抽出し、この画素群を通る傷候補直線を設定している。傷候補直線は角度範囲毎に求められ、ラベルが付与されたエッジ上の画素から各傷候補直線までの距離を求めるとともに、評価値を用いてエッジが直線状か否かが判定される。
【0004】
また、特許文献2には、クラックの発生場所とクラックの延長方向との関係に着目することにより、クラックをごみのような異物と識別して抽出する技術が記載されている。特許文献2に記載の技術では、検査対象物を撮像した濃淡画像からエッジ画像を生成し、クラックが生じる可能性のある検査スタートポイントを設定するとともに、検査スタートポイントに合わせて幅の狭い検出エリアを設定し、検査スタートポイントの周りで検出エリアを回転走査している。また、検出エリアの走査の間に、検出エリアに含まれるエッジ上の画素から得られる欠陥候補点の総数などが評価され、クラックと異物とが識別される。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−58253号公報
【特許文献2】特開2007−147407号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述した特許文献1、2に記載の技術は、いずれも検査対象物の濃淡画像からエッジ画像を生成し、エッジ画像に含まれる画素を規定の規則で評価することによって、クラックを識別している。
【0007】
ところで、エッジ画像を生成する技術には、濃淡画像を微分した微分画像に対して適宜の閾値を適用して微分画像を2値化する技術が多く採用されている。すなわち、濃淡画像に対して微分フィルタ(ないし、エッジ強調フィルタ)を適用すると、濃淡画像において濃淡値の変化が大きい部位をエッジとして抽出することができる。ただし、微分フィルタを適用すると、濃淡画像に含まれるエッジだけではなくノイズも強調して抽出することになる。
【0008】
また、水平方向の2次微分の結果と垂直方向の2次微分の結果とを足し合わせることにより、ラプラシアンフィルタを用いた場合と同様に、濃淡画像の2次微分の値が得ることができる。このようにして求めた2次微分の値では、方向に依存することなくエッジを抽出することができる。ただし、2次微分では、微分を繰り返しているから、ノイズをさらに強調することになる。
【0009】
とくに検査対象物の表面が粗面であるときには、ノイズ成分が大幅に増加するから,濃淡画像からクラックを分離することが困難になるという問題が生じる。
【0010】
本発明は上記事由に鑑みて為されたものであり、その目的は、検査対象物の濃淡画像に微分を行うことなくクラックを抽出することでノイズの影響を低減し、結果的に粗面に生じた微細なクラックであっても精度よく検出することを可能にした外観検査装置、外観検査方法を提供することにある。
【課題を解決するための手段】
【0011】
本発明は、上記目的を達成するために、検査対象物を撮像した濃淡画像から2値画像を生成する2値化手段と、2値画像内で検査対象物に生じたクラックに対応した画素値を持つ連結成分のうちクラックの特性を有する連結成分をクラック候補領域として抽出する候補選別手段と、候補選別手段により抽出されたクラック候補領域を慣性主軸の傾きの類似性を用いて分類するクラスタリング手段と、クラスタリング手段により分類されたクラック候補領域について分類ごとに連結可能性を評価する連結処理手段と、連結処理手段により1つのクラックに属すると判断されたクラック候補領域を用いて検査対象物の良否を判定する判定手段とを備えることを特徴とする。
【0012】
候補選別手段は、以下の(1)〜(3)のいずれかの構成を採用することができる。
【0013】
(1)2値化手段により生成した2値画像の連結成分について円形度を求め、円形度が基準値以下である連結成分をクラック候補領域として抽出する構成。
【0014】
(2)2値化手段により生成した2値画像の連結成分について慣性主軸の方向の長さ寸法が、当該方向に直交する方向の幅寸法に対してなすアスペクト比を求め、アスペクト比が基準値以上である連結成分をクラック候補領域として抽出する構成。
【0015】
(3)2値化手段により生成した2値画像の連結成分について2値画像の座標軸に平行な辺を有する外接矩形の対角線の傾きと、当該連結成分の慣性主軸の傾きとの角度差が基準値以下である連結成分をクラック候補領域として抽出する構成。
【0016】
また、クラスタリング手段は、候補選別手段により抽出された複数個のクラック候補領域のうち慣性主軸の角度差が最小である2個のクラック候補領域を抽出し、両クラック候補領域の面積を重み係数として慣性主軸の傾きの重み付き平均を慣性主軸の傾きに持つとともに両クラック候補領域の面積の合計を面積に持つ新たなクラック候補領域を元のクラック候補領域に代えて設定する処理を、慣性主軸の角度差が規定範囲内のクラック候補領域がなくなるまで繰り返し、新たなクラック候補領域の設定に用いた元のクラック候補領域の集合を、慣性主軸の傾きに類似性を有するクラック候補領域の集合とする構成が望ましい。
【0017】
連結処理手段は、以下の(a)〜(d)のいずれかの構成を採用することができる。
【0018】
(a)クラスタリング手段が形成した集合内に複数個のクラック候補領域が存在すると、各クラック候補領域の慣性主軸の方向における端点の位置を求めるとともに、互いに異なるクラック候補領域の端点間距離が基準値以下である2個のクラック候補領域を1つのクラックに属するクラック候補領域と判断する構成。
【0019】
(b)クラスタリング手段が形成した集合内に複数個のクラック候補領域が存在すると、各クラック候補領域の面積を重み係数とした慣性主軸の傾きの重み付き平均である基準方向を求めるとともに、各クラック候補領域の重心を通る基準方向の直線を設定し、直線間の距離が基準値以下である2個のクラック候補領域を1つのクラックに属するクラック候補領域と判断する構成。
【0020】
(c)クラスタリング手段が形成した集合内に複数個のクラック候補領域が存在すると、各クラック候補領域の面積を重み係数とした慣性主軸の傾きの重み付き平均である基準方向を求めるとともに、各クラック候補領域の重心を通る基準方向の直線を設定して2値画像の座標軸と各直線の交点の位置を求め、基準方向を用いて交点間の距離を基準方向に直交する方向に正規化し、正規化した距離が基準値以下である2個のクラック候補領域を1つのクラックに属するクラック候補領域と判断する構成。
【0021】
(d)クラスタリング手段が形成した集合内に複数個のクラック候補領域が存在すると、すべてのクラック候補領域の面積を重み係数とした慣性主軸の傾きの重み付き平均である基準方向と、各クラック候補領域の重心同士を結ぶ直線との角度差を求め、角度差が規定範囲内である2個のクラック候補領域を1つのクラックに属すると判断する構成。
【0022】
判定手段は、連結処理手段で1つのクラックに属すると判断された複数個のクラック候補領域のそれぞれを2値画像の座標軸に投影した射影幅を求めるとともに、射影幅の合計を判定閾値と比較し、投影幅の合計が判定閾値以上であれば、検査対象物をクラックの生じた不良品と判断する構成を採用することが望ましい。
【発明の効果】
【0023】
本発明の構成によれば、検査対象物の濃淡画像から2値画像を生成し、微分を行わずにクラックを抽出するから、粗面のように微分を行うとノイズが検出されやすい面に形成された微細なクラックでも精度よく検出することができる。
【0024】
とくに、2値画像から抽出した連結成分のうちクラックの特性を有する連結成分をクラック候補領域として抽出し、さらに、慣性主軸の傾きが類似しているクラック候補領域をグループ化した集合を形成し、さらに集合内でクラック候補領域の連結の可能性を評価しているから、2値画像内の連結成分についてクラックである可能性を3種類の方法で徐々に絞り込んでいくことになり、クラックの有無を精度よく検出することが可能になる。
【0025】
2値画像における連結成分についてクラックの特性を有するか否かを評価するために、円形度、アスペクト比、外接矩形の対角線と慣性主軸の傾きとの角度差とのいずれかに着目することにより、連結成分が細長い形状であるか否かを定量的に判断することが可能になる。
【0026】
クラックの特性を有するクラック候補領域については、慣性主軸の傾きが近いもの同士を集めて集合を形成するから、1つのクラックに属している可能性が高いクラック候補領域ごとにグループ化され、各クラック候補領域が1つのクラックに属しているか否かの判定を行う範囲を絞り込むことができる。すなわち、処理負荷が軽減されることになる。
【0027】
クラック候補領域を慣性主軸の傾きが類似するグループに分けた後に、グループ内のクラック候補領域について、端点間距離、重心間距離、正規化した重心間距離、重心を通る直線の傾きのいずれかに着目することにより、1つのクラックに属するか否かを客観的に判断することが可能になる。とくに、重心を通る直線の傾きを用いると、分岐したクラックでも連結の可能性を判断することが可能になる。
【0028】
また、1つのクラックに属すると判断された複数個のクラック候補領域のそれぞれの射影幅を求め、射影幅の合計を判定閾値と比較することにより検査対象物の良否を判定するから、射影幅の合計がクラックの延長方向に依存するが、クラック候補領域の慣性主軸の方向における長さの合計を用いるよりも判定が単純化される。
【図面の簡単な説明】
【0029】
【図1】実施形態を示すブロック図である。
【図2】同上の概略の処理手順を示す動作説明図である。
【図3】同上においてクラックの特性を判定する動作例の説明図である。
【図4】同上においてクラックの特性を判定する他の動作例の説明図である。
【図5】同上においてクラックの特性を判定する別の動作例の説明図である。
【図6】同上における主軸角の分類手順の例を示す動作説明図である。
【図7】同上におけるクラック候補領域の一分類例を示す説明図である。
【図8】同上におけるクラック候補領域の他の分類例を示す説明図である。
【図9】同上におけるクラック候補領域のさらに他の分類例を示す説明図である。
【図10】同上におけるクラック候補領域の別の分類例を示す説明図である。
【図11】図10に示した分類例の他例を示す説明図である。
【図12】実施形態においてクラック候補領域を抽出するまでの説明図である。
【図13】同上においてクラック候補領域を評価する動作の説明図である。
【図14】同上において図7に例示した動作の説明図である。
【図15】同上において図8に例示した動作の説明図である。
【図16】同上において図9に例示した動作の説明図である。
【図17】同上において図10に例示した動作の説明図である。
【発明を実施するための形態】
【0030】
(実施形態1)
本実施形態では、検査対象物におけるクラックの有無を検出するために、検査対象物を含む濃淡画像を2値化した2値画像を用いてクラックの候補となる画素群を背景から分離する技術を採用している。
【0031】
図1に示すように、検査対象物WはTVカメラのような撮像装置2により撮像され、撮像装置2から出力される濃淡画像はコンピュータを用いて構成された画像処理装置1に入力される。コンピュータは、以下の処理を実現するプログラムを実行する汎用のコンピュータを用いるほか、画像処理装置1として専用のハードウェアを備えるものを用いてもよい。
【0032】
撮像装置2は、検査対象物Wの正面に配置される。撮像装置2には、検査対象物Wの細部を拡大して撮像できるように図示しない光学系を設けるのが望ましい。検査対象物Wの表面には照明装置(図示せず)により斜方照明が行われ、クラックの部位において影が生じるようにしてある。ただし、撮像装置2と照明装置とは、撮像装置2により撮像した濃淡画像内でクラックを識別できる位置関係であれば適宜に変更可能である。
【0033】
画像処理装置1は、撮像装置2から出力された濃淡画像を格納する画像メモリ10を有し、画像メモリ10に格納された濃淡画像に対して以下の処理を行うことにより検査対象物Wの表面に生じたクラックを検出する。画像メモリ10は、濃淡画像だけではなく、処理過程で生じる2値画像なども記憶する。
【0034】
画像処理装置1には、画像メモリ10のほかにクラックを検出する処理過程で必要なデータを記憶するデータ記憶部や処理過程で生じるデータを一時的に記憶する作業用記憶部も設けられるが、これらの記憶部にはコンピュータに設けたメモリや記憶装置の記憶領域を割り当てて用いる。また、処理過程の画像や処理結果などはコンピュータに設けたモニタ装置17に表示される。
【0035】
画像処理装置1は、クラックの有無を検出するために、図2に示すように、撮像装置2により撮像した濃淡画像を2値化して2値画像を生成し(S1)、クラックに相当する画素値を持つ画素のうちクラックの特性を有している画素をクラック候補領域として抽出する(S2)。さらに、クラック候補領域について、慣性主軸の傾き(主軸角)の類似性に基づいて分類を行い、主軸角が近い(主軸角の類似度が大きい)クラック候補領域の集合を形成する(S3)。
【0036】
次に、クラック候補領域の集合内で、クラック候補領域が1つのクラックに属するか否かを評価し、1つのクラックに属すると判断されるクラック候補領域のグループを形成し(S4)、グループごとにクラックの有無に関する良否判定を定量的に行う(S5)。
【0037】
画像処理装置1は、図1に示すように、濃淡画像から2値画像を生成する2値化手段11を備える。2値化手段11では濃淡画像に含まれる画素の濃淡値に応じて2値化のための閾値を動的に決定する。閾値を動的に決定するには、濃度分布のヒストグラムに現れる背景とクラックとのピークの間の谷部分の濃淡値となるように閾値を設定する。あらかじめ定めた背景の濃淡値を用いて、背景とクラックとの境界となる閾値を決定することも可能である。2値化手段11では、上述のように閾値を動的に決定することにより、いわゆる浮動2値化を行う。2値化手段11により生成された2値画像は、画像メモリ10に保存される。
【0038】
本実施形態では、2値化に際してクラックに相当する画素値を1(黒画素)とし、背景に相当する画素値を0(白画素)とする。画像処理装置1は、2値画像に含まれる黒画素の領域にラベルを付与するラベリング手段12を備える。ラベリング手段12では、黒画素についてクラックかノイズかの識別を行わず、すべての黒画素にラベルを付与する。ラベルは、複数個の黒画素の連結成分に付与するのが一般的であるが、1個の黒画素が単独で存在している場合もラベルを付与する。以下では、ラベルが付与された黒画素については、連結成分の黒画素か単独の黒画素かにかかわらず、まとめて連結成分として扱う。連結成分にラベルが付与された2値画像は画像メモリ10に格納される。
【0039】
ラベリング手段12により連結成分にラベルが付与されると、ラベルが付与された2値画像に含まれる黒画素の連結成分について、クラックの特性を有するか否かを評価する。この評価は、候補選別手段13が行う。候補選別手段13では、下記(1)〜(3)の3種類の評価方法のいずれかを用いることにより、ラベル単位で黒画素の連結成分がクラックの特性を有するか否かを判定する。
【0040】
(1)〜(3)の評価方法は、いずれもクラックは細長い形状になるという知見に基づいている。クラックの特性を有する黒画素は、クラックとしての必要条件を満たしているが、クラックであることは保証されていないから、以下ではクラック候補領域と呼ぶことにする。
【0041】
(1)円形度による評価
円形度は、連結成分の面積Sと連結成分の周囲長Lとを用い、4πS/L2と定義する。面積Sは連結成分の画素数であり、周囲長Lは輪郭線の追跡に際して上下左右に追跡する画素数C1と斜めに追跡する画素数C2とを用いて、C1+21/2C2と定義される。この円形度は、連結成分の外形が円形に近いときには最大値である1になり、細長い形状であれば1よりも小さくなる。このことを利用して、円形度が基準値以下である場合に、黒画素の連結成分をクラック候補領域とする。
【0042】
連結成分N(斜線部)が図3(a)に示す形状であれば、S=12、L≒13.6(C1=8、C2=4)であるから、円形度は0.81になる。また、図3(b)に示す形状であれば、S=12、L≒20であるから、円形度は0.38になる。この例からわかるように、円形度に基準値を規定しておくことにより、基準値以下であればクラックの特性を有していると推定することができる。
【0043】
(2)アスペクト比による評価
アスペクト比は、図4に示すように、連結成分Nの慣性主軸Axの方向の長さ寸法L1と、当該方向に直交する方向の幅寸法L2とを用い、L1/L2と定義する。上述のように、黒画素の画素値を1としているから、(p+q)次のモーメントM(p,q)は、数1の上式で表される。このモーメントを用いることにより、2次モーメントを最小にする慣性主軸の傾き(以下では、「主軸角」という)θは、数1の下式で表される。
【0044】
【数1】
数1のようにして主軸角θが求められると、連結成分Nに対して主軸角θに平行な辺を持つ外接矩形R(図4参照)を設定することができる。この外接矩形の長辺と短辺との長さ寸法の比は上述したアスペクト比L1/L2になる。連結成分Nがクラックに属している場合は、アスペクト比が大きくなると考えられるから、アスペクト比が基準値以上である場合に、黒画素の連結成分Nがクラックの特性を有していると推定することができる。
【0045】
(3)射影幅による評価
射影幅は、2値画像の座標軸に連結成分を投影したときの幅として定義される。いま、2値画像の水平方向をx方向とし、垂直方向をy方向とする直交座標系を規定すると、射影幅として、図5に示すように、連結成分Nをx軸に投影したx射影幅Wxと、y軸に投影したy射影幅Wyとを求めることができる。x射影幅Wxとy射影幅Wyとは、連結成分Nに対して座標軸に平行な辺を持つ外接矩形の長辺と短辺との長さ寸法になる。
【0046】
連結成分Nがクラックに属している場合は、座標軸に平行な辺を持つ外接矩形の対角線の方向と連結成分Nの主軸角θとがほぼ一致すると考えられるから、外接矩形の対角線の傾き(=arctan(Wy/Wx))と、数1の下式を用いて求められる主軸角θとを比較し、角度差が基準値以下である場合に、黒画素の連結成分Nがクラックの特性を有していると推定することができる。
【0047】
候補選別手段13では、上述した(1)〜(3)の評価方法の少なくとも1種類の評価方法を用いてクラックの特性を有していると推定された連結成分Nをクラック候補領域とするのである。(1)〜(3)の評価方法は単独で用いることができ、適宜に組み合わせて用いることも可能である。組み合わせる場合には、着目する黒画素の連結成分Nが、各評価方法のすべてにおいてクラックの特性を有していると推定されたときに、当該連結成分Nをクラック候補領域とする。あるいはまた、3種類の評価方法を採用し、着目する黒画素の連結成分Nが、いずれかの評価方法においてクラックの特性を有していると推定されるときに、当該連結成分Nをクラック候補領域としてもよい。
【0048】
ラベリング手段12によりラベルが付与された連結成分のうち候補選別手段13により選別されたクラック候補領域は、クラスタリング手段14により主軸角の類似性に応じて分類される。すなわち、同一のクラックに属するクラック候補領域の主軸角は近似しているという経験則に基づいて、主軸角の差分が規定範囲内であるクラック候補領域同士が同一の集合を形成するように分類する。
【0049】
クラスタリング手段14では、主軸角の差分が小さいほうから一対ずつのクラック候補領域を選択し、両クラック候補領域の主軸角の差分が規定範囲内であれば両クラック候補領域を同一の集合に属すると判断する。また、同集合に分類されたクラック候補領域は1個のクラック候補領域として扱うことができるように、主軸角および面積が統合され、統合された属性を用いて他のクラック候補領域と同じ集合に分類可能か否かが判定される。
【0050】
主軸角の差分が等しくなるクラック候補領域の組み合わせが複数存在する場合には、合計の面積が最大になる組み合わせを優先して同一の集合に属するか否かが判定される。各クラック候補領域の面積は、主軸角を統合する際の重み係数としても用いられる。すなわち、2個のクラック候補領域をまとめて1個のクラック候補領域として扱う際の主軸角θは、2個のクラック候補領域のそれぞれの主軸角θ1,θ2に対してそれぞれの面積A1,A2を重み係数とする重み付き平均(=A1・θ1+A2・θ2/(A1+A2))として求められる。
【0051】
以下では、具体例を用いてクラスタリング手段14の動作を説明する。図6は候補選別手段13により8個のクラック候補領域が抽出された状態を示している。各クラック候補領域E1〜E8は、表1に示す主軸角と面積とを有しているものとする。また、主軸角が昇順に並ぶように並べ替え(ソート)が行われているものとする。このように主軸角を順に並べることによって、隣接するクラック候補領域の主軸角を比較するだけで、主軸角の差分の大小を比較することが可能になる。
【0052】
【表1】
表1に示した各クラック候補領域E1〜E8について、主軸角の小さい順に隣接する各一対のクラック候補領域E1〜E8の差分を求めると、7、2、10、4、18、9、13であるから、まず最初に、クラック候補領域E2,E3の組み合わせについて同一の集合に属するか否かが判定される。クラック候補領域E2,E3の主軸角の差分は2であって、規定範囲(本例では、15°に設定している)内であるから、クラック候補領域E2,E3を統合してクラック候補領域E23とする。クラック候補領域E23の主軸角は、15(=5×14+5×16/(5+5))になり、面積は、10(=5+5)になる。クラック候補領域E2,E3が同一の集合に分類されると、主軸角が15°かつ面積が10であるクラック候補領域E23として扱われる。
【0053】
クラック候補領域E23について、隣接する各クラック候補領域E1,E4との主軸角の差分を求めると、それぞれ8、11であって、クラック候補領域E23,E1の組み合わせでは、主軸角の差分がクラック候補領域E4,E5の組み合わせよりも大きいから、クラック候補領域E4,E5の組み合わせが先に同一の集合への分類の可能性が判定されることになる。
【0054】
クラスタリング手段14では、上述の手順を繰り返すことによりクラック候補領域を分類し、主軸角の差分が規定範囲以下になる組み合わせがなくなった時点でクラック候補領域を分類する処理を終了する。表1に示す例では、図6のように、クラック候補領域E1〜5をまとめたクラック候補領域E23145(主軸角15、面積20)と、クラック候補領域E6,E7をまとめたクラック候補領域E67(主軸角52、面積9)と、クラック候補領域E8(主軸角70、面積5)との3グループに分類される。
【0055】
上述のようにしてクラック候補領域を分類したことにより、各集合は1つのクラックに属する可能性のあるクラック候補領域のグループになっているが、依然として1つのクラックであることの必要条件が満たされているだけであり、同一の集合に属するクラック候補領域であっても必ずしも1つのクラックに属しているとは限らない。
【0056】
そこで、各集合に属しているクラック候補領域について、連結処理手段15により1つのクラックに属しているか否かを評価し、クラック候補領域が属している集合ごとに1つのクラックに属していると判断できるクラック候補領域を連結する。連結処理手段15では、以下の(a)〜(d)の評価方法の少なくとも1種類を用いることにより、同一集合内の各クラック候補領域が1つのクラックに属するか否かを判定する。
【0057】
(a)端点間距離による評価
端点間距離は、クラック候補領域の慣性主軸の方向における端点について、異なるクラック候補領域の端点間の最短距離として定義される。たとえば、図7に示すように、4個のクラック候補領域E11〜E14が同一の集合に含まれている場合に、それぞれ隣接する各一対のクラック候補領域E11〜E14について端点ps1,pe1,ps2,pe2,…,pe4間の最短距離を求め、求めた距離が基準値以下であれば1つのクラックに属していると判断する。
【0058】
図示例では、クラック候補領域E11,E12は近接しているから1つのクラックに属すると判断する。また、クラック候補領域E12,E13も近接しているから1つのクラックに属すると判断する。クラック候補領域E11,E13は、基準値を超えていると判断されるが、クラック候補領域E12との距離がそれぞれ基準値以内であることにより、クラック候補領域E11〜E13は1つのクラックに属していると判断される。
【0059】
一方、クラック候補領域E14は、他のクラック候補領域E11〜E13とのいずれとも端点間の距離が基準値を超えるので、クラック候補領域E11〜E13とクラック候補領域E14とは1つのクラックに属していないと判断される。
【0060】
(b)重心間距離による評価
重心間距離は、1つの集合に含まれるクラック候補領域の主軸角を代表する基準方向を規定したときに、着目する一対のクラック候補領域の重心を通る基準方向の直線間の距離として定義する。この重心間距離が基準値以下であれば1つのクラックに属していると判断する。
【0061】
基準方向は、1つの集合に含まれるクラック候補領域の面積を重み係数に用いて、クラック候補領域の主軸角の重み付き平均として求められる。すなわち、クラスタリング手段14において、同一の集合に分類した複数個のクラック候補領域の主軸角を求める演算と同様の演算により基準方向を求める。基準方向を求めた後は、各クラック候補領域の重心を通る基準方向の直線を設定し、基準方向に直交する方向における各直線間の距離を重心間距離として求める。
【0062】
いま、図8(a)のように、6個のクラック候補領域E21〜E26が同一の集合に含まれている場合を想定する。クラック候補領域E21〜E24の重心G1〜G6を通る直線K1〜K6の関係を見ると、直線K1〜K4は近接しており、直線K5,K6は近接しているが、直線K4と直線K5とは近接していない。したがって、直線K1〜K6の相互間距離を求め、直線K1〜K4が1つのクラックに属すると判断され、直線K4と直線K5とが異なるクラックに属すると判断されるように基準値を決めておくことにより、クラック候補領域E21〜E24をクラック別に分類することが可能になる。
【0063】
ここに、集合内に3個以上のクラック候補領域が含まれている場合に、重心を通る直線が隣接している2個ずつのクラック候補領域の重心間距離が基準値以下であるとしても、重心を通る直線が離れている2個のクラック候補領域の重心間距離が基準値を超える場合があり、この場合、両クラック候補領域は1つのクラックに属していないと判断される。しかしながら、図8(b)のように、2本の直線K1,K3の間に他の直線K2があり、間の直線K2と他の2本の直線K1,K3との距離がそれぞれ基準値以下であれば、2本の直線K1,K3は1つのクラックに属していると考えられる可能性がある。
【0064】
そこで、重心間距離を基準値と比較する際には、面積が最大であるクラック候補領域の重心を通る直線を基準に用い、当該直線と他のクラック候補領域の重心を通る直線との距離を評価するのが望ましい。
【0065】
図8(b)の例では、3個のクラック候補領域E21〜E23のうちクラック候補領域E22の面積が最大であれば、3個のクラック候補領域E21〜E23が1つのクラックに属することになる。一方、クラック候補領域E21,E23のいずれかの面積が最大であれば、クラック候補領域E21とクラック候補領域E23とは1つのクラックに属さないことになる。
【0066】
(c)正規化した重心間距離による評価
基本的には(b)の評価方法と同様であるが、(b)の評価方法では、各クラック候補領域の重心を通る直線間の距離を直接求めているのに対して、各直線がy軸と交差する座標(y切片)の差分から求めている点で相違している。y切片の差分は、各直線を数式で表すことにより単純に求めることができる。しかしながら、y切片の差分は基準方向(x軸に対して直線がなす角度)に依存しており、直線間の距離が一定であっても直線の傾きが変化するとy切片の差分は変化する。
【0067】
そこで、図9のように、2本の直線K1,K2のy切片の差分がDであり、基準方向がφであるときに、Dcosφを直線K1,K2間の距離として用いることにより、y切片の差分を用いながらも基準方向φの変化に依存せずに重心間距離を評価することが可能になる。このように、y切片の差分Dにcosφを乗じることをy切片の正規化と呼んでいる。ただし、基準方向φが90°である場合(直線がy軸に平行である場合)、y切片の差分が得られないが、この場合は直線の式がx=aの形式になるから、単なる減算を行うことで直線間の距離を求めることができる。他の手順は(b)の評価方法と同様である。
【0068】
(d)重心を通る直線の傾きによる評価
一対のクラック候補領域が1つのクラックに属しているときに、両クラック候補領域の重心を結ぶ直線と、クラック候補領域の慣性主軸との角度差は小さいという経験則を用いて、両クラック候補領域を1つのクラックに属すると判断する。
【0069】
本例では、慣性主軸の主軸角(基準方向)を、(b)の評価方法と同様に、集合に含まれる各クラック候補領域の面積を重み係数に用いて各クラック候補領域の主軸角の重み付き平均として求める。
【0070】
いま、図10に示すように、3個のクラック候補領域E31〜E32が存在し、各クラック候補領域E31〜E33の重心の座標が、それぞれ(x1,y1)(x2,y2)(x3,y3)であるものとする。クラック候補領域E31,E32の重心を結ぶ直線の傾きは、arctan{(y2−y1)/(x2−x1)}であるから、この角度を上述のようにして求めた基準方向(図中に角度φで示す)と比較し、両者の角度差が規定範囲(たとえば、5°)内であれば、両クラック候補領域E31,E32は1つのクラックに属すると判断する。
【0071】
一方、図10におけるクラック候補領域E33は、他のクラック候補領域E31,E32との重心間を結ぶ直線の傾きと基準方向との角度差が規定範囲を超えるので、クラック候補領域E33は、クラック候補領域E31,E32とは同じクラックに属していないと判断する。
【0072】
ところで、各クラック候補領域の重心を相互に結ぶ直線の傾きを利用することにより、クラックが分岐している場合にも同じクラックに属するか否かを判定することが可能である。すなわち、図11に示すように、同じ集合内に4個のクラック候補領域E31〜E34が存在する場合を想定し、クラック候補領域E32,E33が比較的近い位置に併存しているとすると、これらのクラック候補領域E32,E33は、いずれもがクラック候補領域E31とともに1つのクラックに属すると考えられ、かつ分岐したクラックの一部であると考えることができる。
【0073】
そこで、クラック候補領域E32,E33のように、クラック候補領域E31との間で重心を結ぶ直線の傾きが基準方向に近い(角度差が規定範囲内)場合は、クラック候補領域E32,E33の重心を結ぶ直線の傾きと基準方向との角度差が規定範囲を超えていても、クラック候補領域E31と同じクラックに属すると判断する。要するに、複数個のクラック候補領域の重心を結ぶ直線の傾きと基準方向との角度差が規定範囲を超えている場合でも、それらのクラック候補領域と他のいずれかのクラック候補領域との重心を結ぶ直線の傾きと基準方向との角度差が規定範囲内であれば、同じクラックに属すると判断するのである。
【0074】
図示例において、クラック候補領域E34は、他のクラック候補領域E31〜E33との間で重心を結ぶ直線の傾きが、いずれも基準方向とは大きく異なる(規定範囲を超えている)から、クラック候補領域E34は別のクラックに属すると判断する。
【0075】
上述のようにして、クラスタリング手段14により主軸角の方向がほぼ等しいクラック候補領域の集合を形成した後に、連結処理手段15により、(a)〜(d)の評価方法のいずれかを用いて各集合内においてクラック候補領域が1つのクラックに属するか否かを判定するから、1つのクラックに属するクラック候補領域を抽出することができる。(a)〜(d)の評価方法は、単独で使用することを想定しているが、複数種類の評価方法を組み合わせて用いてもよい。
【0076】
上述のようにして1つのクラックに属すると判断されたクラック候補領域は、判定手段16において、各クラック候補領域のx射影幅とy射影幅との一方がそれぞれ求められ、判定手段16では、x射影幅またはy射影幅の合計値を適宜の判定閾値と比較し、合計値が判定閾値以上であるときに検査対象物Wにクラックが生じていると判定する。すなわち、検査対象物Wについて、判定閾値以上であれば不良品、判定閾値未満であれば良品と判定する。
【0077】
図2では本実施形態の処理手順を簡略に示したが、本実施形態の詳細な処理手順を図12〜図15にまとめて記載する。図12は図2におけるステップS1,S2に対応する処理であって、2値化手段11、ラベリング手段12、候補選別手段13での処理に相当している。検査を開始すると、まず2値化手段11により濃淡画像の浮動2値化が行われ(S11)、次にラベリング手段12により黒画素にラベルが付与される(S12)。
【0078】
次に、不要な検査を省略できるように、明らかに不良品と判断できる検査対象物Wを取り除く。そのため、候補選別手段13において、ラベルが付与された黒画素ごとに(S13,S20)、面積および射影幅を上限値と比較する(S14,S15)。面積と射影幅との一方が上限値を超えている場合には(S14:noまたはS15:no)、検査対象物Wを不良品と判断し(S21)、当該検査対象物Wについての検査を終了する。
【0079】
一方、面積および射影幅がともに上限値以下であれば(S14:yesかつS15:yes)、面積および射影幅を下限値と比較する(S16,S17)。上述した例では、面積(画素数)が1でもクラック候補領域として採用しているが、図12に示す動作例では、面積や射影幅が下限値未満である場合には(S16:noまたはS17:no)、クラック候補領域としては採用しないようにしている。
【0080】
面積および射影幅がともに下限値以上であれば(S16:yesかつS17:yes)、候補選別手段13では、各ラベルを付与した黒画素がクラックの特性を有するか否かを判定する(S18)。クラックの特性は、上述した(1)〜(3)の評価方法により判定する。ラベルを付与した黒画素がクラックの特性を有していない場合は(S18:no)、クラック候補領域として採用しない。また、ラベルを付与した黒画素がクラックの特性を有していると判断された場合は(S18:yes)、当該ラベルの黒画素をクラック候補領域として記憶部10に保存する(S19)。
【0081】
ここまでの処理は、ラベルを付与したすべての黒画素に対して行う(S13,S20)。この時点において、クラック候補領域が複数個存在しなければ(S22:no)、検査対象物Wをクラックのない良品と判断する(S23)。
【0082】
ラベルが付与されたクラック候補領域について、クラスタリング手段14では、図13に示すように、それぞれ主軸角を求め、さらに各クラック候補領域の主軸角の差分を求める(S31)。クラスタリング手段14の処理は、図2のステップS3に相当する。主軸角の差分は規定範囲(規定の上限値)と比較され(S32)、規定範囲を超えている場合には(S32:no)、集合を形成するクラック候補領域は存在せず、クラックは存在しないと判断される(S33)。
【0083】
一方、着目する2つのクラック候補領域の主軸角の差分が規定範囲内(上限値以下)であるときには(S32:yes)、両クラック候補領域は1つの集合の要素として扱う。また、両クラック候補領域の面積を重み係数に用いて主軸角の重み付き平均を求める(S34)。また、両クラック候補領域を統合して1つのクラック候補領域とみなし、統合したクラック候補領域の主軸角には主軸角の重み付き平均を用い、統合したクラック候補領域の面積には面積の合計を用いる。
【0084】
その後、統合前のクラック候補領域を統合後のクラック候補領域に置き換え、他のクラック候補領域とともに着目する2個のクラック候補領域の主軸角の差分を求める(S36)。主軸角の差分は上述した規定範囲と比較され(S37)、主軸角の差分が規定範囲内であれば(S37:yes)、ステップS34に戻ってクラック候補領域が統合される。ステップS34〜S36の処理を繰り返し、主軸角の差分が規定範囲内であるクラック候補領域の組み合わせがなくなれば(S37:no)、クラック候補領域を主軸角で分類する処理を終了する。
【0085】
クラック候補領域を主軸角に応じて分類した後には、連結処理手段15において、分類内(集合内)のクラック候補領域について同一のクラックに属するか否かを評価する(S81)。連結処理手段15は、図2のステップS4の処理に対応する。連結処理手段15では、上述した(a)〜(d)の評価方法のいずれかを用いて集合内のクラック候補領域の連結可能性を評価する。
【0086】
すなわち、(a)の評価方法では、図14に示すように、集合内の各クラック候補領域において慣性主軸と交差する端点を求め(S41)、着目する2個のクラック候補領域の端点間の距離を求める(S42)。端点間の距離は基準値と比較され(S43)、端点間の距離の最小値が基準値を超えているときは(S43:no)、両クラック候補領域は異なるクラックに属すると判断される(S44)。
【0087】
一方、両クラック候補領域の端点間の距離の最小値が基準値以下であるときは(S43:yes)、両クラック候補領域が1つのクラックに属すると判断する(S45)。すなわち、1つのクラックに属するクラック候補領域に分類する。
【0088】
ステップS42〜S45の処理は、集合内のすべてのクラック候補領域について行う(S46)。組み合わせるクラック候補領域がなくなれば、連結処理手段15の処理を終了する。
【0089】
また、(b)の評価方法では、図15に示すように、集合内の各クラック候補領域の面積を重み係数として主軸角の重み付き平均を求めるとともに、求めた重み付き平均の傾きを持ち各クラック候補領域の重心を通る直線を設定し(S51)、各直線間の距離(重心間距離)をそれぞれ求める(S52)。
【0090】
集合内で面積が最大であるクラック候補領域を通る直線に着目し、この直線と他の直線との距離(重心間距離)を基準値と比較する(S54)。重心間距離が基準値以下になるクラック候補領域が存在しなければ(S54:no)、面積が最大であるクラック候補領域は他のクラック候補領域とは独立していると判断する(S55)。
【0091】
一方、重心間距離が基準値以下になるクラック候補領域が存在すれば(S54:yes)、当該クラック候補領域を面積が最大であるクラック候補領域とともに1つのクラックに属すると判断する(S56)。
【0092】
ステップS54〜S56の処理は、集合内のすべてのクラック候補領域について行い(S53,S57)、直線間の距離を評価していない組み合わせがなくなれば、連結処理手段15の処理を終了する。
【0093】
(c)の評価方法では、図16に示すように、集合内の各クラック候補領域の面積を重み係数として主軸角の重み付き平均を求めるとともに、求めた重み付き平均の傾きを持ち各クラック候補領域の重心を通る直線を設定し(S61)、各直線のy切片の差分を正規化する(S62)。
【0094】
次に、集合内で面積が最大であるクラック候補領域のy切片に着目し、このy切片と他のクラック候補領域を通る直線のy切片との差分を正規化した値を基準値と比較する(S64)。正規化したy切片の差分が基準値以下になるクラック候補領域が存在しなければ(S64:no)、面積が最大であるクラック候補領域は他のクラック候補領域とは独立していると判断する(S65)。
【0095】
一方、正規化したy切片の差分が基準値以下になるクラック候補領域が存在すれば(S64:yes)、当該クラック候補領域を面積が最大であるクラック候補領域とともに1つのクラックに属すると判断する(S66)。
【0096】
ステップS64〜S66の処理は、集合内のすべてのクラック候補領域について行い(S63,S67)、直線間の距離を評価していない組み合わせがなくなれば、連結処理手段15の処理を終了する。
【0097】
(d)の評価方法では、図17に示すように、集合内の各一対のクラック候補領域の重心を通る直線を設定する(S71)。また、各クラック候補領域の面積を重み係数に用いて集合内のクラック候補領域の主軸角の重み付き平均を基準方向として求めておき、ステップS71で求めた直線の傾きと基準方向との角度差を求め、この角度差を規定範囲と比較する(S72)。角度差が規定範囲(上限値)を超えている場合は(S72:no)、重心を通る直線を設定した両クラック候補領域は1つのクラックに属していないと判断する(S73)。また、角度差が規定範囲内ある場合は(S72:yes)、重心を通る直線を設定した両クラック候補領域は1つのクラックに属していると判断する(S74)。
【0098】
ステップS72〜S74の処理は、集合内のすべてのクラック候補領域について繰り返し、クラック候補領域の組み合わせがなくなると、連結処理手段15の処理を終了する(S75)。
【0099】
連結処理手段15により集合内のクラック候補領域の連結の可能性が判断された後、図13に戻り、判定手段16において、図2におけるステップS5に相当する処理を行う。図2のステップS5に相当し、すなわち、連結処理手段15で連結可能と判断されたクラック候補領域のx射影幅とy射影幅との一方を求める(S82)。判定手段16は、連結可能なクラック候補領域について求めたx射影幅とy射影幅との合計を求め、合計値を判定閾値と比較する(S83)。
【0100】
判定手段16は、合計値が判定閾値を超えたと判断したときは(S83:yes)、検査対象物Wをクラックが生じている不良品と判断する(S84)。一方、合計値が判定閾値を超えない場合は、他の集合についてステップS81以降の処理を繰り返し(S85)、すべての集合についてx射影幅とy射影幅との一方が判定閾値を超えなければ、当該検査対象物Wにクラックは生じていないと判断する(S86)。
【符号の説明】
【0101】
1 画像処理装置
2 撮像装置
10 画像メモリ
11 2値化手段
12 ラベリング手段
13 候補選別手段
14 クラスタリング手段
15 連結処理手段
16 判定手段
W 検査対象物
【特許請求の範囲】
【請求項1】
検査対象物を撮像した濃淡画像から2値画像を生成する2値化手段と、2値画像内で検査対象物に生じたクラックに対応した画素値を持つ連結成分のうちクラックの特性を有する連結成分をクラック候補領域として抽出する候補選別手段と、候補選別手段により抽出されたクラック候補領域を慣性主軸の傾きの類似性を用いて分類するクラスタリング手段と、クラスタリング手段により分類されたクラック候補領域について分類ごとに連結可能性を評価する連結処理手段と、連結処理手段により1つのクラックに属すると判断されたクラック候補領域を用いて検査対象物の良否を判定する判定手段とを備えることを特徴とする外観検査装置。
【請求項2】
前記候補選別手段は、前記2値化手段により生成した2値画像の連結成分について円形度を求め、円形度が基準値以下である連結成分をクラック候補領域として抽出することを特徴とする請求項1記載の外観検査装置。
【請求項3】
前記候補選別手段は、前記2値化手段により生成した2値画像の連結成分について慣性主軸の方向の長さ寸法が、当該方向に直交する方向の幅寸法に対してなすアスペクト比を求め、アスペクト比が基準値以上である連結成分をクラック候補領域として抽出することを特徴とする請求項1記載の外観検査装置。
【請求項4】
前記候補選別手段は、前記2値化手段により生成した2値画像の連結成分について2値画像の座標軸に平行な辺を有する外接矩形の対角線の傾きと、当該連結成分の慣性主軸の傾きとの角度差が基準値以下である連結成分をクラック候補領域として抽出することを特徴とする請求項1記載の外観検査装置。
【請求項5】
前記クラスタリング手段は、前記候補選別手段により抽出された複数個のクラック候補領域のうち慣性主軸の角度差が最小である2個のクラック候補領域を抽出し、両クラック候補領域の面積を重み係数として慣性主軸の傾きの重み付き平均を慣性主軸の傾きに持つとともに両クラック候補領域の面積の合計を面積に持つ新たなクラック候補領域を元のクラック候補領域に代えて設定する処理を、慣性主軸の角度差が規定範囲内のクラック候補領域がなくなるまで繰り返し、新たなクラック候補領域の設定に用いた元のクラック候補領域の集合を、慣性主軸の傾きに類似性を有するクラック候補領域の集合とすることを特徴とする請求項1〜4のいずれか1項に記載の外観検査装置。
【請求項6】
前記連結処理手段は、前記クラスタリング手段が形成した集合内に複数個のクラック候補領域が存在すると、各クラック候補領域の慣性主軸の方向における端点の位置を求めるとともに、互いに異なるクラック候補領域の端点間距離が基準値以下である2個のクラック候補領域を1つのクラックに属するクラック候補領域と判断することを特徴とする請求項5記載の外観検査装置。
【請求項7】
前記連結処理手段は、前記クラスタリング手段が形成した集合内に複数個のクラック候補領域が存在すると、各クラック候補領域の面積を重み係数とした慣性主軸の傾きの重み付き平均である基準方向を求めるとともに、各クラック候補領域の重心を通る基準方向の直線を設定し、直線間の距離が基準値以下である2個のクラック候補領域を1つのクラックに属するクラック候補領域と判断することを特徴とする請求項5記載の外観検査装置。
【請求項8】
前記連結処理手段は、前記クラスタリング手段が形成した集合内に複数個のクラック候補領域が存在すると、各クラック候補領域の面積を重み係数とした慣性主軸の傾きの重み付き平均である基準方向を求めるとともに、各クラック候補領域の重心を通る基準方向の直線を設定して2値画像の座標軸と各直線の交点の位置を求め、基準方向を用いて交点間の距離を基準方向に直交する方向に正規化し、正規化した距離が基準値以下である2個のクラック候補領域を1つのクラックに属するクラック候補領域と判断することを特徴とする請求項5記載の外観検査装置。
【請求項9】
前記連結処理手段は、前記クラスタリング手段が形成した集合内に複数個のクラック候補領域が存在すると、すべてのクラック候補領域の面積を重み係数とした慣性主軸の傾きの重み付き平均である基準方向と、各クラック候補領域の重心同士を結ぶ直線との角度差を求め、角度差が規定範囲内である2個のクラック候補領域を1つのクラックに属すると判断することを特徴とする請求項5記載の外観検査装置。
【請求項10】
前記判定手段は、前記連結処理手段で1つのクラックに属すると判断された複数個のクラック候補領域のそれぞれを2値画像の座標軸に投影した射影幅を求めるとともに、射影幅の合計を判定閾値と比較し、投影幅の合計が判定閾値以上であれば、検査対象物をクラックの生じた不良品と判断することを特徴とする請求項6〜9のいずれか1項に記載の外観検査装置。
【請求項11】
検査対象物を撮像した濃淡画像から2値画像を生成した後、2値画像内で検査対象物に生じたクラックに対応した画素値を持つ連結成分のうちクラックの特性を有する連結成分をクラック候補領域として抽出し、抽出されたクラック候補領域を慣性主軸の方向の類似性を用いて分類し、さらに分類されたクラック候補領域について分類ごとに連結可能性を評価し、1つのクラックに属すると判断されたクラック候補領域を用いて検査対象物の良否を判定することを特徴とする外観検査方法。
【請求項1】
検査対象物を撮像した濃淡画像から2値画像を生成する2値化手段と、2値画像内で検査対象物に生じたクラックに対応した画素値を持つ連結成分のうちクラックの特性を有する連結成分をクラック候補領域として抽出する候補選別手段と、候補選別手段により抽出されたクラック候補領域を慣性主軸の傾きの類似性を用いて分類するクラスタリング手段と、クラスタリング手段により分類されたクラック候補領域について分類ごとに連結可能性を評価する連結処理手段と、連結処理手段により1つのクラックに属すると判断されたクラック候補領域を用いて検査対象物の良否を判定する判定手段とを備えることを特徴とする外観検査装置。
【請求項2】
前記候補選別手段は、前記2値化手段により生成した2値画像の連結成分について円形度を求め、円形度が基準値以下である連結成分をクラック候補領域として抽出することを特徴とする請求項1記載の外観検査装置。
【請求項3】
前記候補選別手段は、前記2値化手段により生成した2値画像の連結成分について慣性主軸の方向の長さ寸法が、当該方向に直交する方向の幅寸法に対してなすアスペクト比を求め、アスペクト比が基準値以上である連結成分をクラック候補領域として抽出することを特徴とする請求項1記載の外観検査装置。
【請求項4】
前記候補選別手段は、前記2値化手段により生成した2値画像の連結成分について2値画像の座標軸に平行な辺を有する外接矩形の対角線の傾きと、当該連結成分の慣性主軸の傾きとの角度差が基準値以下である連結成分をクラック候補領域として抽出することを特徴とする請求項1記載の外観検査装置。
【請求項5】
前記クラスタリング手段は、前記候補選別手段により抽出された複数個のクラック候補領域のうち慣性主軸の角度差が最小である2個のクラック候補領域を抽出し、両クラック候補領域の面積を重み係数として慣性主軸の傾きの重み付き平均を慣性主軸の傾きに持つとともに両クラック候補領域の面積の合計を面積に持つ新たなクラック候補領域を元のクラック候補領域に代えて設定する処理を、慣性主軸の角度差が規定範囲内のクラック候補領域がなくなるまで繰り返し、新たなクラック候補領域の設定に用いた元のクラック候補領域の集合を、慣性主軸の傾きに類似性を有するクラック候補領域の集合とすることを特徴とする請求項1〜4のいずれか1項に記載の外観検査装置。
【請求項6】
前記連結処理手段は、前記クラスタリング手段が形成した集合内に複数個のクラック候補領域が存在すると、各クラック候補領域の慣性主軸の方向における端点の位置を求めるとともに、互いに異なるクラック候補領域の端点間距離が基準値以下である2個のクラック候補領域を1つのクラックに属するクラック候補領域と判断することを特徴とする請求項5記載の外観検査装置。
【請求項7】
前記連結処理手段は、前記クラスタリング手段が形成した集合内に複数個のクラック候補領域が存在すると、各クラック候補領域の面積を重み係数とした慣性主軸の傾きの重み付き平均である基準方向を求めるとともに、各クラック候補領域の重心を通る基準方向の直線を設定し、直線間の距離が基準値以下である2個のクラック候補領域を1つのクラックに属するクラック候補領域と判断することを特徴とする請求項5記載の外観検査装置。
【請求項8】
前記連結処理手段は、前記クラスタリング手段が形成した集合内に複数個のクラック候補領域が存在すると、各クラック候補領域の面積を重み係数とした慣性主軸の傾きの重み付き平均である基準方向を求めるとともに、各クラック候補領域の重心を通る基準方向の直線を設定して2値画像の座標軸と各直線の交点の位置を求め、基準方向を用いて交点間の距離を基準方向に直交する方向に正規化し、正規化した距離が基準値以下である2個のクラック候補領域を1つのクラックに属するクラック候補領域と判断することを特徴とする請求項5記載の外観検査装置。
【請求項9】
前記連結処理手段は、前記クラスタリング手段が形成した集合内に複数個のクラック候補領域が存在すると、すべてのクラック候補領域の面積を重み係数とした慣性主軸の傾きの重み付き平均である基準方向と、各クラック候補領域の重心同士を結ぶ直線との角度差を求め、角度差が規定範囲内である2個のクラック候補領域を1つのクラックに属すると判断することを特徴とする請求項5記載の外観検査装置。
【請求項10】
前記判定手段は、前記連結処理手段で1つのクラックに属すると判断された複数個のクラック候補領域のそれぞれを2値画像の座標軸に投影した射影幅を求めるとともに、射影幅の合計を判定閾値と比較し、投影幅の合計が判定閾値以上であれば、検査対象物をクラックの生じた不良品と判断することを特徴とする請求項6〜9のいずれか1項に記載の外観検査装置。
【請求項11】
検査対象物を撮像した濃淡画像から2値画像を生成した後、2値画像内で検査対象物に生じたクラックに対応した画素値を持つ連結成分のうちクラックの特性を有する連結成分をクラック候補領域として抽出し、抽出されたクラック候補領域を慣性主軸の方向の類似性を用いて分類し、さらに分類されたクラック候補領域について分類ごとに連結可能性を評価し、1つのクラックに属すると判断されたクラック候補領域を用いて検査対象物の良否を判定することを特徴とする外観検査方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2011−58940(P2011−58940A)
【公開日】平成23年3月24日(2011.3.24)
【国際特許分類】
【出願番号】特願2009−208434(P2009−208434)
【出願日】平成21年9月9日(2009.9.9)
【出願人】(000005832)パナソニック電工株式会社 (17,916)
【Fターム(参考)】
【公開日】平成23年3月24日(2011.3.24)
【国際特許分類】
【出願日】平成21年9月9日(2009.9.9)
【出願人】(000005832)パナソニック電工株式会社 (17,916)
【Fターム(参考)】
[ Back to top ]