(57)【特許請求の範囲】
【請求項１】
被検査体の表面の欠陥を検出する方法であって、
前記被検査体の画像を取込む画像取込ステップと、
取込んだ前記画像を２値化して、被検査画像を作成する２値化ステップと、
前記被検査画像から検査対象を抽出する検査対象抽出ステップと、
抽出した前記検査対象の輪郭線に前記欠陥が存在するかを判断し前記輪郭線を推定して背景と分離させた欠陥と、前記検査対象内で前記輪郭線部分以外に存在する前記欠陥と、を含まない良品形状推定画像を、前記輪郭線を含む前記検査対象から作成する良品形状画像作成ステップと、
前記良品形状推定画像と、前記被検査画像とを比較し前記欠陥を検出する検出ステップと、を備える、ことを特徴とする欠陥検出方法。
【請求項２】
前記良品形状画像作成ステップは、前記検査対象の前記輪郭線を形成する第１の画素の集合である輪郭点列を抽出する輪郭線抽出ステップと、
抽出した前記輪郭点列の前記輪郭点を２点以上含む処理範囲を設定する処理範囲設定ステップと、
前記処理範囲内の前記輪郭点列の２点を抽出する２点抽出ステップと、
抽出した前記２点間の前記処理範囲内の前記輪郭線である第１の輪郭線に沿う輪郭線長さを算出する輪郭線長さ算出ステップと、
抽出した前記２点間の直線長さを算出する直線長さ算出ステップと、
前記輪郭線長さと、前記直線長さとから算出した比較値と、所定の閾値とを比較し、前記第１の輪郭線に前記欠陥が存在するかを判断する比較値判断ステップと、
前記比較値判断ステップの判断結果に基づき抽出した前記２点間を直線で描画する直線描画ステップと、
前記処理範囲内に抽出すべき別の２点が存在するかを判断する２点抽出判断ステップと、
前記検査対象に処理すべき別の処理範囲が存在するかを判断する処理範囲設定判断ステップと、
前記検査対象内の孤立した第２の画素の論理値を切換える孤立点塗つぶしステップと、を具備する、ことを特徴とする請求項１に記載の欠陥検出方法。
【請求項３】
前記比較値判断ステップは、前記比較値が所定の前記閾値以下の場合、前記第１の輪郭線は変えず、前記処理範囲設定判断ステップに進み、前記比較値が所定の前記閾値より大きい場合、前記直線描画ステップに進む、ことを特徴とする請求項２に記載の欠陥検出方法。
【請求項４】
前記比較値は、前記輪郭線長さを前記直線長さで割った値又は前記輪郭線長さから前記直線長さを差引いた値のいずれか一方である、ことを特徴とする請求項２又は３に記載の欠陥検出方法。
【請求項５】
前記検出ステップは、前記良品形状推定画像を形成する画素と、前記被検査画像を形成する前記画素との排他的論理和から検査画像を作成する、ことを特徴とする請求項１乃至４の少なくともいずれか一項に記載の欠陥検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、製品の外観表面欠陥、詳しくは、製品の検査対象の輪郭線部分に存在する欠陥と、輪郭線部分以外に存在する欠陥を画像で検出する欠陥検出方法に関する。
【背景技術】
【０００２】
従来技術の外観表面欠陥を画像で検出する方法として、所定のパターンを形成した被検査物と撮影装置とを相対的に１次元的又は２次的に走査して検査パターンデータを得、検査パターンデータを予め記録したマスタパターンデータとを比較してパターンの欠陥を検査するようにしたパターン欠陥検査方法において、マスタパターンデータ中の欠陥認識精度の重要度が低いパターン部に対応する所望のずれ量に設定したずれ許容パターンデータを形成し、ずれ許容パターンデータとマスタパターンデータとに基づいて比較用マスタパターンデータの輪郭データを形成し、比較用パターンデータと検査パターンデータとを比較して欠陥部を抽出すると共に、抽出された欠陥部を輪郭データでマスクしてパターンの欠陥の有無を判定するパターン欠陥検査が開示されている（例えば、特許文献１参照。）。
【０００３】
また、基準パターン画像と被検査パターン画像を比較し、両画像間の異なる部分を欠陥として検出する画像のパターン欠陥検出方法において、被検査パターン画像自体に対して、パターンの前景と背景の境界線に沿った方向のみ平滑化を行ったものを、基準パターン画像とするパターン欠陥検出方法が開示されている（例えば、特許文献２参照。）。
【０００４】
また、検査対象の印刷パターンにつき輪郭線を抽出し、輪郭線上の着目点での輪郭線の曲がり具合いに関する情報を取得する処理を、着目点を順次移動させつつ、実行し、この結果得られた輪郭線の曲がり具合いに関する情報を、予め登録されている基準情報と比較して印刷パターンの合否判定を行う印刷パターンの検査方法が開示されている。この輪郭線の曲がり具合いに関する情報は、着目点の前後輪郭線からそれぞれを含む線分を抽出し、抽出した線分同士のなす角度（曲率に相当する角度）の算出値で、輪郭線を構成する全ての点（画素）で曲率に相当する角度が取得される（例えば、特許文献３参照。）。
【特許文献１】特開平２−５４３７５号公報
【特許文献２】特開平９−３０５７６４号公報
【特許文献３】特開平８−３１３５８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１によれば、マスクパターンは、比較用マスタパターンの輪郭部分を所定の幅の線状のパターンとして作成されるため、マスク領域の線幅以下の欠陥が輪郭線部分に存在する場合、欠陥がマスク領域に埋もれてしまい検出できない問題がある。また、欠陥の一部がマスク領域にかかっている場合、マスク領域により欠陥の一部分が削られ、検出される欠陥の大きさは実際より小さくなり、正しく検出されない問題がある。
【０００６】
また、特許文献２によれば、輪郭部分に欠陥のない良品の輪郭線が水平、垂直、斜め等の一定方向の単純な形状である場合は、予め同じ方向のテンプレート画像を用意し、輪郭線に凹凸形状の欠陥がある被検査画像の輪郭部分の凹凸を平滑化した基準パターン画像を作成し、被検査パターン画像と基準パターン画像とを比較することにより輪郭部分を含めた欠陥を検出できる。しかし、良品の輪郭線が、曲線で方向が定まらない場合には、予めテンプレート画像を用意することが事実上不可能であるため、輪郭部分の凹凸を平滑化できず、輪郭部分の欠陥検出が不可能になる問題がある。
【０００７】
また、特許文献３によれば、輪郭線を構成する全ての点（画素）で取得される曲率に相当する角度は、三角関数等を用いる必要があるため、コンピュータの計算負荷は重くなる問題がある。さらに、曲がり具合だけの比較では、欠陥の大きさが判らず、欠陥の大きさに基づいた良、不良の判定の検査ができない。
【０００８】
本発明は上記問題点に鑑みてなされたものであり、製品の外観表面の欠陥を画像で検出する方法であって、製品の検査対象の輪郭線の形状が複雑であっても、輪郭線部分に存在する欠陥と、輪郭線部分以外に存在する欠陥を検出できると共に、欠陥の形状と大きさが正確に判り、且つ欠陥検出に要する計算負荷が軽い欠陥検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、請求項１に記載の発明は、被検査体の表面の欠陥を検出する方法であって、被検査体の画像を取込む画像取込ステップと、取込んだ画像を２値化して、被検査画像を作成する２値化ステップと、被検査画像から検査対象を抽出する検査対象抽出ステップと、抽出した検査対象の輪郭線に欠陥が存在するかを判断し輪郭線を推定して背景と分離させた欠陥と、検査対象内で輪郭線部分以外に存在する欠陥と、を含まない良品形状推定画像を、輪郭線を含む検査対象から作成する良品形状画像作成ステップと、良品形状推定画像と、被検査画像とを比較し欠陥を検出する検出ステップと、を備える。
【００１０】
また、請求項２に記載の発明は、良品形状画像作成ステップは、検査対象の輪郭線を形成する第１の画素の集合である輪郭点列を抽出する輪郭線抽出ステップと、抽出した輪郭点列の輪郭点を２点以上含む処理範囲を設定する処理範囲設定ステップと、処理範囲内の輪郭点列の２点を抽出する２点抽出ステップと、抽出した２点間の処理範囲内の輪郭線である第１の輪郭線に沿う輪郭線長さを算出する輪郭線長さ算出ステップと、抽出した２点間の直線長さを算出する直線長さ算出ステップと、輪郭線長さと、直線長さとから算出した比較値と、所定の閾値とを比較し、第１の輪郭線に欠陥が存在するかを判断する比較値判断ステップと、比較値判断ステップの判断結果に基づき抽出した２点間を直線で描画する直線描画ステップと、処理範囲内に抽出すべき別の２点が存在するかを判断する２点抽出判断ステップと、検査対象に処理すべき別の処理範囲が存在するかを判断する処理範囲設定判断ステップと、検査対象内の孤立した第２の画素の論理値を切換える孤立点塗つぶしステップと、を具備する。
【００１１】
また、請求項３に記載の発明は、比較値判断ステップは、比較値が所定の閾値以下の場合、第１の輪郭線は変えず、処理範囲設定判断ステップに進み、比較値が所定の閾値より大きい場合、直線描画ステップに進む。
【００１２】
また、請求項４に記載の発明は、比較値は、輪郭線長さを直線長さで割った値又は輪郭線長さから直線長さを差引いた値のいずれか一方である。
【００１３】
また、請求項５に記載の発明は、検出ステップは、良品形状推定画像を形成する画素と、被検査画像を形成する画素との排他的論理和から検査画像を作成する。
【発明の効果】
【００１４】
請求項１に記載の発明では、被検査体を２値化した被検査画像から検査対象を抽出する。次に良品形状画像作成ステップで、抽出した検査対象の輪郭線に欠陥が存在するかを判断し輪郭線を推定して背景と分離させた欠陥と、検査対象内で輪郭線部分以外に存在する欠陥と、を含まない良品形状推定画像を、輪郭線を含む検査対象から作成する。そして、作成した欠陥を含まない良品形状推定画像と、欠陥を含む被検査画像とを検査ステップにより比較することで、欠陥が取得された検査画像が作成できる。この検査画像は、従来技術のマスター画像（予めインプットされた比較基準となる画像、例えば図面）と被検査画像との形状差異および位置ズレを補正するためのマスク画像は使わず、被検査画像から作成された良品形状推定画像を使って作成される。従って従来技術で起こるマスク画像による輪郭線部分の欠陥検出が不可能の問題は発生しない。結果、輪郭線部分に存在する欠陥と、輪郭線部分以外に存在する欠陥を検出できる。
【００１５】
また、２値化レベルを適正にすることと、２値化する画素の分解能を適正にすることにより、２値化ステップで精度の高い２値化した被検査画像が作成される。また、良品形状推定画像は、精度の高い被検査画像から作成されるので、欠陥が取得される検査画像も精度良く作成できる。結果、輪郭線部分に存在する欠陥および輪郭線部分以外に存在する欠陥の形状と大きさが正確に判り、製品の欠陥の良否判定検査ができる。
【００１６】
さらに、良品形状推定画像は、検査対象の輪郭線の２点間の輪郭線長さと、２点間の直線長さとの大小を簡単な計算式（例えば、割り算）で比較することにより作成できるので、従来技術に比べ欠陥検出に要する計算負荷は軽減される。
【００１７】
以上により、製品の検査対象の輪郭線の形状が複雑であっても、輪郭線部分に存在する欠陥と、輪郭線部分以外に存在する欠陥を検出できると共に、欠陥の形状と大きさが正確に判り、且つ欠陥検出に要する計算負荷の軽い欠陥検出方法を提供できる。
【００１８】
また、請求項２に記載の発明では、比較値判断ステップにより比較値と閾値とを比較し、処理範囲内の抽出された２点間の輪郭線である第１の輪郭線に欠陥が存在するかを判断する。欠陥が存在すると判断した場合、直線描画ステップにより、処理範囲内の抽出された２点間を直線で結んで描画する。直線描画ステップを実行後、又は、欠陥が存在しないと判断した場合、２点抽出判断ステップにより別の２点を抽出し、同様の比較値判断ステップ、直線描画ステップを実行する。２点抽出判断ステップにより、２点の抽出が終了した場合は、処理範囲設定判断ステップにより、別の処理範囲を設定し、同様の比較値判断、直線描画、２点抽出判断を実行する。処理範囲設
定判断ステップにより、処理範囲の設定が終了した場合は、孤立点塗つぶしステップとにより、検査対象内の全ての孤立した画素（黒）の論理値は切換えられ、白に塗つぶされる。従って、検査対象内の欠陥は、検査対象内の孤立した画素（黒）から構成されるので、検査対象内の欠陥は、検査対象から取除かれる。
【００１９】
以上により、欠陥を含まない良品形状推定画像が作成される。そして検査ステップにより良品形状推定画像を構成する画素と、被検査画像を構成する画素との排他的論理和から欠陥（白）が取得された検査画像が作成される。結果、製品の検査対象の輪郭線の形状が複雑であっても、輪郭線部分に存在する欠陥と、輪郭線部分以外に存在する欠陥を検出できると共に、欠陥の形状と大きさが正確に判る。
【００２０】
また、良品形状推定画像、被検査画像、検査画像を構成する画素の分解能（ｍｍ／画素）を適正値にすることにより、各々の画像の精度が向上する。また、比較値判断ステップの判断基準となる閾値を適正値にすることで、輪郭線部分に存在する欠陥が正確に求まる。結果、輪郭線部分に存在する欠陥および輪郭線部分以外に存在する欠陥の形状と大きさが正確に判り、製品の欠陥の良否判定検査ができる。
【００２１】
また、処理範囲内の２点間の輪郭線長さと、直線長さは、それぞれ輪郭線長さ算出ステップと、直線長さ算出ステップにより、第１の輪郭線と、直線をそれぞれ構成する画素の画素数と画素の分解能との掛け算で簡単に算出できる。また、比較値判断ステップの比較値は、輪郭線長さと、直線長さとの大小を比較すれば良い。従って、従来技術に比べ、計算負荷が軽減される。
【００２２】
以上により、製品の検査対象の輪郭線の形状が複雑であっても、輪郭線部分に存在する欠陥と、輪郭線部分以外に存在する欠陥を検出できると共に、欠陥の形状と大きさが正確に判り、且つ欠陥検出に要する計算負荷の軽い欠陥検出方法を提供できる。
【００２３】
また、請求項３に記載の発明では、比較値が所定の閾値以下の場合、処理範囲の２点間の輪郭線は変えず、良品形状推定画像を作成する。比較値が所定の閾値より大きい場合、処理範囲の２点間の輪郭線を直線で描画し、良品形状推定画像を作成する。従って、所定の閾値を適正値に設定することにより、検査対象から輪郭線部分に存在する欠陥が削除され、正確な良品形状推定画像が作成される。結果、欠陥の形状と大きさが正確に判り、微細な欠陥も検出できる。
【００２４】
また、請求項４に記載の発明では、欠陥を検出する際、輪郭線長さと直線長さとから算出する比較値の算出式は、（輪郭線長さ÷直線長さ）、又は、（輪郭線長さ−直線長さ）のいずれか一方の式で、従来技術で使用される三角関数等の算出式に比較して簡単である。また、輪郭線長さおよび直線長さは、輪郭線および直線を構成する画素数×画素分解能（ｍｍ／画素）の式から簡単に計算できる。従って、従来技術に比べ、計算負荷が軽減される。
【００２５】
また、請求項５に記載の発明では、欠陥を含まない良品形状推定画像を構成する画素と、欠陥を含む被検査画像を構成する画素との排他的論理和から検査画像が作成されるので、検査画像には、輪郭線部分に存在する欠陥と、輪郭線部分以外に存在する欠陥が抽出される。従って、良品形状推定画像、被検査画像、検査画像を構成する画素の分解能を適正値にすることにより、欠陥の形状と大きさが高精度で描画され、微細な欠陥も検出できる。
【発明を実施するための最良の形態】
【００２６】
以下に本発明の実施形態を図面を参照しつつ詳細に説明する。なお、本実施形態の欠陥検出方法の各ステップは、各ステップを処理する処理手段により行われる。
【００２７】
図１は、本発明の実施形態に係わる欠陥検査方法のフローチャートである。
【００２８】
図１に示すように、本発明の実施形態の欠陥検出方法は、画像取込ステップ１と、２値化ステップ２と、検査対象抽出ステップ３と、良品形状画像作成ステップ４と、検査ステップ５とを備える。
【００２９】
画像取込ステップ１は、被検査体（図示せず）をカメラなどで撮影し、画像としてを取り込む。
【００３０】
２値化ステップ２は、取り込んだ被検査体の画像を白、その背景を斜線（以下、黒）、欠陥を斜線（以下、黒）の２値になるように、最適な２値化レベルで２値化した被検査画像を作成する。尚、白黒はそれぞれ反対でも良い。その場合は、以下に述べる説明の白と黒は入替る。
【００３１】
検査対象抽出ステップ３は、被検査画像から検査対象を抽出する。
【００３２】
良品形状画像作成ステップ４は、抽出した検査対象の輪郭線部分と、検査対象内で輪郭線部分以外とに欠陥が存在するかを判断し、検査対象から輪郭線部分に存在する欠陥と、検査対象内で輪郭線部分以外に存在する欠陥とを含まない良品形状を推定した且つ２値化された良品形状推定画像を作成する。
【００３３】
検査ステップ５は、良品形状推定画像と、被検査画像とを比較し、欠陥を抽出し且つ２値化された検査画像を作成する。
【００３４】
図２は、良品形状推定画像を作成する良品形状画像作成ステップ４のフローチャートである。図２に示すように、良品形状画像作成ステップ４は、輪郭線抽出ステップ１０と、処理範囲設定ステップ１１と、２点抽出ステップ１２と、輪郭線長さ算出ステップ１３と、直線長さ算出ステップ１４と、比較値判断ステップ１５と、直線描画ステップ１６と、２点抽出判断ステップ１７と、処理範囲設定判断ステップ１８と、孤立点塗つぶしステップ１９とを具備する。
【００３５】
輪郭線抽出ステップ１０は、検査対象と、検査対象の背景との境界である輪郭線を画像中の画素の座標点の集合（以下、輪郭点列）として抽出する。輪郭点列を形成する座標点は、輪郭点であり、画素の中心点である。従って、輪郭線は、輪郭点の画像が連なって構成される。
【００３６】
処理範囲設定ステップ１１は、被検査体の良品形状の推定処理を行う処理範囲を任意に設定する。この場合、処理範囲は取得画像より小さく、少なくとも２点以上の輪郭点を含む。
【００３７】
２点抽出ステップ１２は、処理範囲内の輪郭点列の任意の２点を抽出する。
【００３８】
輪郭線長さ算出ステップ１３は、抽出した２点間の処理範囲の輪郭線である第１の輪郭線に沿う輪郭線長さを算出する。ここで、輪郭線長さは、（輪郭点列の点の数(画素数)）×（画素分解能（ｍｍ／画素））として算出する。但し、画素は正方形で、点列が上下左右に繋がる場合は１画素、斜めに繋がる場合は１．４１４画素（２０.５倍）として点の数を算出する。
【００３９】
直線長さ算出ステップ１４は、抽出した２点間を結ぶ直線長さを算出する。
【００４０】
比較値判断ステップ１５は、輪郭線長さと、直線長さとの比較値を算出し、比較値が所定の閾値より大きい場合は、第１の輪郭線に欠陥が存在すると判断して直線描画ステップ１６に進む。所定の閾値以下の場合は、第１の輪郭線に欠陥が存在しないと判断して２点抽出判断ステップ１７に進む。この場合、閾値は検出すべき欠陥に合せて適正値に設定し、その値は一定値でも可変値でも良い。可変値の場合、処理範囲毎に個別に設定するか、あるいは、直線長さに応じて可変として設定する。またはその両方を組合せて設定しても良い。
【００４１】
直線描画ステップ１６は、比較値が所定の閾値より大きい場合に実行され、処理範囲内の２点間を直線で結び描画する。
【００４２】
２点抽出判断ステップ１７は、処理範囲内に別の抽出すべき２点が存在るか否かを判断し、存在する場合は２点抽出ステップ１２に戻る。そして２点抽出ステップ１２から２点抽出判断ステップ１７までの各ステップは、処理すべき別の２点がなくなるまで繰返し処理を実行する。処理すべき別の２点の処理が終了すると、処理範囲設定判断ステップ１８へ進む。また２点が存在しない場合、２点抽出判断ステップ１７は処理範囲設定判断ステップ１８へ進む。
【００４３】
処理範囲設定判断ステップ１８は、推定処理をすべき処理範囲が存在するか否かを判断し、存在する場合は、処理範囲設定ステップ１１に戻る。そして処理範囲設定ステップ１１から処理範囲設定判断ステップ１８までの各ステップが、処理すべき別の処理範囲がなくなるまで繰返し処理される。処理すべき処理範囲がなくなると、孤立点塗つぶしステップ１９へ進む。また処理範囲が存在しない場合、処理範囲設定判断ステップ１８は孤立点塗つぶしステップ１９へ進む。
【００４４】
孤立点塗つぶしステップ１９は、検査対象(白)内の孤立した欠陥を形成する画素（以後、第２の画素）（黒）を白で塗つぶし、良品形状推定画像を作成する。孤立点塗つぶしステップ１９により、直線描画によって背景３４と分離されて孤立した輪郭線部分の欠陥や、もともと存在する輪郭線部分以外の欠陥が白に切換えられる。
【００４５】
図３は、本実施形態の被検査体の検査対象の輪郭線部分に欠陥が存在せず、輪郭線部分以外に欠陥が存在する場合の画像図である。図中（ａ）は、被検査画像２０を示し、（ｂ）、（ｃ）、（ｄ）は後述する良品形状推定画像を作成する過程を示し、（ｂ１）は（ｂ）の部分拡大図を示す。被検査画像２０は、画像取込ステップ１で被検査体（図示せず）を取込み、取込んだ画像を２値化ステップ２で適正な２値化レベルに２値化した画像である。図３（ａ）に示すように、被検査画像２０は、検査対象２３（白）の内側に欠陥２２（黒）が存在するが、検査対象２３の背景２４(黒)と、検査対象２３（白）の境界である輪郭線２５部分には欠陥を含まない。
【００４６】
図４は、本実施形態の被検査体の検査対象の輪郭線部分と、輪郭線部分以外に欠陥が存在する場合の画像図である。図中（ａ）は、被検査画像３０を示し、（ｂ）〜（ｅ）は後述する良品形状推定画像を作成する過程を示す。被検査画像３０は、画像取込ステップ１で被検査体（図示せず）を取込み、取込んだ画像を２値化ステップ２で適正な２値化レベルに２値化した画像である。図４（ａ）に示すように、被検査画像３０は、検査対象３３（白）と、検査対象３３の背景３４(黒)との境界である輪郭線３５部分に欠陥３１が存在する。また、検査対象３３（白）の内側に欠陥３２（黒）が存在する。
【００４７】
被検査画像２０の輪郭線２５、被検査画像３０の輪郭線３５は、前述した輪郭点を連ねた集合である輪郭点列として抽出さる。
【００４８】
次に、本実施形態の作動について、図３と図４とを並行、且つ対比しつつ図１と、図２のフローチャートに基づき説明する。尚、実際に実行される処理は、例えば図３又は図４のいずれか一方である。
【００４９】
（画像取得ステップ、２値化ステップ、検査対象抽出ステップの作動について）
図１のフローチャートに示すように、画像取得ステップ１により被検査体の画像が取込まれ、被検査原画像（図示せず）が取得される。この被検査原画像には、被検査体の検査対象、背景（検査しない領域）、欠陥が含まれ、まだ、この時点では２値化されていない。
【００５０】
次に、撮影された被検査原画像は、２値化ステップ２により適正な２値化レベルに２値化され、被検査画像２０、３０が作成される。ここで、検査対象２３、３３が白、その背景２４、３４が黒、欠陥２２、３１、３２が黒の２値に変換される。
【００５１】
２値化処理が終了すると、検査対象抽出ステップ３により、被検査画像２０、３０から検査対象２３、３３が抽出される。そして以下に述べるように、検査対象２３、３３から被検査体の２値化した良品形状推定画像２０d、３０ｅが図２のフローチャートに基づき作成される。
【００５２】
（輪郭線抽出ステップ、処理範囲設定ステップ、２点抽出ステップの作動について）
図２、図３、図４に示すように、輪郭線抽出ステップ１０により輪郭線２５、３５の輪郭点列Ｅ２５（図５（ａ））、Ｅ３５（図６（ａ））を抽出する。
【００５３】
抽出した輪郭点列Ｅ２５、Ｅ３５に対して処理範囲設定ステップ１１により処理範囲Ｍ（図３（ｂ））、Ｎ（図４（ｂ））が設定される。
【００５４】
次に、２点抽出ステップ１２により処理範囲Ｍ、Ｎ内の任意の２点、即ち（Ａ点とＢ点）の２点、（Ｃ点とＤ点）の２点を抽出する（図３（ｂ）、図４（ｂ））。ここで、処理範囲Ｍ内のＡ点、Ｂ点間の輪郭線２５と、処理範囲Ｎ内のＣ点、Ｄ点間の輪郭線３５をそれぞれ第１の輪郭線２７、第１の輪郭線３７とする。即ち、輪郭線２５と、輪郭線３５は、それぞれ第１の輪郭線２７と、第１の輪郭線３７を含む。
【００５５】
（輪郭線長さ算出ステップ、直線長さ算出ステップ、比較値判断ステップの作動について）
次に、輪郭線長さ算出ステップ１３によりそれぞれの輪郭線２５、３５に沿う処理範囲Ｍ内のＡ点、Ｂ点間（２点間）の第１の輪郭線２７の輪郭線長さＡＢ（輪郭線長さ）、処理範囲Ｎ内のＣ点、Ｄ点間（２点間）の第１の輪郭線３７の輪郭線長さＣＤ（輪郭線長さ）を算出する。尚、輪郭線長さと、直線長さと、比較値の計算は、２点抽出判断出ステップ１７の判断に基づき実行される。
【００５６】
また直線長さ算出ステップ１４によりＡ点、Ｂ点間の直線２８の直線長さＡＢ（直線長さ）、Ｃ点、Ｄ点間の直線３８の直線長さＣＤ（直線長さ）を算出する。
【００５７】
図３では輪郭線長さＡＢと直線長さＡＢは、ほぼ同一の長さになる。しかし、図４では輪郭線長さＣＤは直線長さＣＤに比べ長く、その長さの差が大きい。これは、以下に述べる理由により、図３は輪郭線２５部分に欠陥が存在しないが、図４では輪郭線３５部分に欠陥３１が存在するためである。
【００５８】
次に、比較値判断ステップ１５により比較値（輪郭線長さＡＢ÷直線長さＡＢ）、（輪郭線長さＣＤ÷直線長さＣＤ）を算出し、所定の適切な閾値を超えるか否かが判断される。ここで閾値を例えば１．９６０とする。下記するように、図３の場合は（輪郭線長さＡＢ÷直線長さＡＢ）＝１．１１０＜閾値１．９６０で閾値より小さく、図４の場合は（輪郭線長さＣＤ÷直線長さＣＤ）＝２．０２１＞閾値１．９６０で閾値を超える。
【００５９】
図５は、図３の処理範囲Ｍの画素構造を拡大した図で、（ａ）は画像を構成する画素Ｅと、輪郭線２５の輪郭点列Ｅ２５の一部を示し、（ｂ）は輪郭線長さＡＢと直線長さＡＢを算出する説明図である。
【００６０】
図５の（ａ）に示すように、□、■は画像を構成する２値の画素Ｅを示す。×印のついた画素は輪郭線２５を構成する第１の画素Ｅ２で、第１の画素Ｅ２が連なった集合が輪郭線２５の輪郭点列Ｅ２５である。従って、第１の画素Ｅ２は画素Ｅに含まれる。
【００６１】
図３の場合、図５の（ｂ）に示すように、輪郭線長さＡＢの輪郭点列は、Ａ点の画素ＥａからＢ点の画素Ｅｂの間の△で示される画素を含む１６画素数で、その内、上下左右に繋がる画素数は１１画素で、斜めに繋がる画素数が４画素あるので、輪郭線長さＡＢの画素数は（１１＋１．４１４×４）＝１６．６５６である。輪郭線長さＡＢ＝１６．６５６（画素）×画素分解能（ｍｍ／画素）となる。
【００６２】
直線長さＡＢの輪郭点列は、Ａ点の画素ＥａからＢ点の画素Ｅｂの間の○で示される画素を含む１６画素数で、斜めに繋がる画素数が０画素で、上下左右に繋がる画素数は１５画素である。直線長さＡＢ＝１５（画素）×画素分解能（ｍｍ／画素）となる。
【００６３】
従って、（輪郭線長さＡＢ÷直線長さＡＢ）＝１．１１０となる。
【００６４】
上記計算は、Ａ点と、Ｂ点間の計算であるが、Ａ点と、隣の△点からＢ点間に至るまで順次、２点抽出判断ステップ１７の判断の基づき実行される。
【００６５】
図５の（ｂ）のＡ点と△で示される全ての点間について、（輪郭線長さＡ△÷直線長さＡ△）の比較値を計算する。その結果、Ａ点と△で示される全ての点間の閾値は１．９６０より小さい。
【００６６】
図６は、図４の処理範囲Ｎの画素構造を拡大した図で、（ａ）は画像を構成する画素Ｅと、輪郭線３５の輪郭点列Ｅ３５の一部を示し、（ｂ）は輪郭線長さＣＤと直線長さＣＤを算出する説明図である。
【００６７】
図４の場合、図６の（ａ）に示すように、□、■は画像を構成する２値の画素Ｅを示す。
×印のついた画素は輪郭線３５を構成する第１の画素Ｅ３で、第１の画素Ｅ３が連なった集合が輪郭線３５の輪郭点列Ｅ３５である。従って、第１の画素Ｅ３は画素Ｅに含まれる。
【００６８】
図６の（ｂ）に示すように、輪郭線長さＣＤの輪郭点列はＣ点の画素ＥｃからＤ点の画素Ｅｄの間の△で示される画素を含む２８画素数で、その内、上下左右に繋がる画素数は１９画素で、斜めに繋がる画素が８画素あるので、輪郭線長さＡＢの画素数は（１９＋１．４１４×８）＝３０．３１２である。輪郭線長さＡＢ＝３０．３１２画素×画素分解能（ｍｍ／画素）となる。
【００６９】
直線長さＣＤの輪郭点列はＣ点の画素ＥｃからＤ点の画素Ｅｄの間の○で示される画素を含む１５画素数で、斜めに繋がる画素数が０画素で、直線長さＣＤの画素数は１５である。直線長さＣＤ＝１５画素×画素分解能（ｍｍ／画素）となる。
【００７０】
従って、（輪郭線長さＣＤ÷直線長さＣＤ）＝２．０２１となる。
【００７１】
上記計算は、Ｃ点と、Ｄ点間の計算であるが、Ｃ点と、隣の△点からＤ点間に至るまで順次、２点抽出判断ステップ１７の判断の基づき実行される。
【００７２】
図６（ｂ）のＣ点と、△で示される全ての点間について、（輪郭線長さＣ△÷直線長さＣ△）の比較値を計算する。その結果、Ｃ点と△で示される全ての点間の閾値は、１．９６０より小さい。即ち、Ｃ点と、Ｄ点の一つ手前の△の点までは、Ｃ点と△で示される全ての点間の比較値は閾値１．９６０より小さく、Ｃ点、Ｄ点間で初めて閾値は１．９６０を超える。
【００７３】
また、比較値判断ステップ１５により算出される比較値は、輪郭線長さと直線長さの差異が判れば良く、（輪郭線長さ−直線長さ）の式で算出しても良い。
【００７４】
（直線描画ステップ、２点抽出判断ステップの作動について）
比較値が閾値を超える場合は、直線描画ステップ１６により２点間を直線で結び描画する。この処理を処理範囲内の全ての輪郭点列について実施し、全ての輪郭点列について実施が終了しているか否かは２点抽出判断ステップ１７により判断される。
【００７５】
図３の場合、比較値（輪郭線長さＡＢ÷直線長さＡＢ）が閾値より小さいので、直線描画ステップ１６をスキップして、２点抽出判断ステップ１７に進む。
【００７６】
図４の場合、比較値（輪郭線長さＣＤ÷直線長さＣＤ）が閾値を超えるので、Ｃ点、Ｄ点間の第１の輪郭線３７は欠陥であると判断する。そこで、Ｃ点、Ｄ点間の良品の輪郭線は、Ｃ点とＤ点の２点間を結ぶ直線と推定し、Ｃ点とＤ点を直線３８で結び描画する（図４（ｃ））。
【００７７】
図４（ｃ）の描画により、図４（ａ）の被検査画像３０において、検査対象３３の背景３４(黒)と同化していた検査対象３３の輪郭線３５部分に存在する欠陥３１が描画した直線３８により背景３４と分離され、直線描画ステップ１６の処理が終了する。次に２点抽出判断ステップ１７が実行され、処理範囲Ｎ内の処理が終了したことが判断され、処理範囲設定判断ステップ１８が実行される。
【００７８】
一方、（輪郭線長さ÷直線長さ）が閾値以下の場合は、２点間の第１の輪郭線は変化せず保持される。この処理を処理範囲内の全ての輪郭点列について実行し、全ての輪郭点列について実行が終了しているか否かは２点抽出判断ステップ１７により判断される。
【００７９】
図３の場合、（輪郭線長さＡＢ÷直線長さＡＢ）が閾値以下であるので、Ａ点、Ｂ点間（２点間）の第１の輪郭線２７は良品の輪郭線と判断され、第１の輪郭線２７は現状のまま保持される（図３（ｃ））。次に２点抽出判断ステップ１７が実行され、処理範囲Ｍ内の処理が終了したことが判断され、処理範囲設定判断ステップ１８が実行される。
【００８０】
（処理範囲設定判断ステップの作動について）
処理範囲設定判断ステップ１８では、処理すべき別の処理範囲が存在するか否かが判断される。ある場合は、処理範囲設定ステップ１１のステップに戻り、処理範囲設定ステップ１１から処理範囲設定判断ステップ１８までの一連のステップが、実行され処理すべき処理範囲が存在しなくなるまで繰返し実行される。即ち、検査対象２３、３３の輪郭線２５、３５の全周に亘り、処理範囲設定ステップ１１から処理範囲設定判断ステップ１８までの一連のステップが、処理すべき処理範囲が存在しなくなるまで繰返し実行され、処理範囲設定判断ステップ１８が終了する。
【００８１】
図４の場合、検査対象３３の輪郭線３５部分には、一箇所、欠陥３１が存在するだけなので、第１の輪郭線３７が直線描画ステップ１６により直線３８が描画される（図４（ｃ））。その結果、図４（ａ）に示される輪郭線３５部分に存在する欠陥３１が背景３４と分離され、図４（ｄ）に示すように、良品と推定される直線３８を含む輪郭線３５ｄが描画され、画像３０ｄが取得される。
【００８２】
輪郭線３５ｄは、直線３８と輪郭線３５の第１の輪郭線３７を除いた輪郭線とからなる。この時点では、まだ画像３０ｄには、被検査画像３０の欠陥３１、欠陥３２が存在している。そして、処理範囲設定判断ステップ１８が終了する。
【００８３】
図３の場合は、輪郭線２５は全周に亘り、直線描画ステップ１６と、２点抽出判断ステップ１７をスキップして、処理範囲設定ステップ１１から処理範囲設定判断ステップ１８が実行され、検査対象２３の輪郭線２５は、変化しない結果が取得される（図３（ｃ））。即ち、輪郭線２５部分には、欠陥が存在しないと判断する。この時点では、画像２０ｃには、被検査画像２０の欠陥２２と同じ欠陥２２が存在している。そして、処理範囲設定判断ステップ１８が終了する。
【００８４】
（孤立点塗つぶしステップの作動について）
処理範囲設定判断ステップ１８が終了すると、孤立点塗つぶしステップ１９が実行され、検査対象(白)内の孤立した孤立点（黒）である第２画素を白で塗潰して黒から白に切換え、欠陥を含まない良品形状の良品形状推定画像が作成される。
【００８５】
図７は、図４の欠陥３１、欠陥３２の画素構造を拡大した図である。図中、（ａ）は欠陥３２を拡大した図を示し、（ｂ）は欠陥３１を拡大した図を示す。
【００８６】
欠陥３２は、検査対象３３（白）から孤立した第２の画素Ｅ３２の集合した画素群として形成される。
【００８７】
欠陥３１も欠陥３２と同様に、検査対象３３（白）から孤立した第２の画素Ｅ３１の集合した画素群として形成される。
【００８８】
図４の場合、図７に示すように、欠陥３２は、検査対象３３（白）内の孤立した第２の画素Ｅ３２（黒）の集合である。また欠陥３１も欠陥３２と同様に、検査対象３３（白）内の孤立した第２の画素Ｅ３１（黒）の集合である。従って、図４（ｅ）に示すように、孤立点塗つぶしステップ１９により画像３０ｄの検査対象３３内に存在する欠陥３２の第２の画素Ｅ３２の黒が白に切換えられ、同様に、画像３０ｄの検査対象３３内に存在する欠陥３１の第２の画素Ｅ３１の黒が白に切換えられ、良品形状推定画像３０ｅが作成される。
【００８９】
即ち、良品形状推定画像３０ｅは、被検査画像３０に存在している欠陥３１と、欠陥３２が取除かれ、また画像３０ｄの直線３８を含む輪郭線３５ｄが描画されている。
【００９０】
図３の場合は、図４の場合と同様に、図３（ｄ）に示すように、被検査画像２０の欠陥３２の黒が白に切換えられ白に塗つぶされ良品形状推定画像２０ｄが作成され、良品形状推定画像２０ｄは被検査画像２０の欠陥２２が取除かれる。良品形状推定画像２０ｄの輪郭線２５は、被検査画像２０の輪郭線２５である。
【００９１】
以上により、良品形状画像作成ステップ４により、図４に示す被検査画像３０から検査対象３３の輪郭線３５部分と、輪郭線３５部分以外にそれぞれ欠陥３１、３２が存在する場合の良品形状推定画像３０ｅが作成される。同じように良品形状画像作成ステップ４により、図３に示す被検査画像２０から検査対象２３の輪郭線２５部分に欠陥は存在せず、輪郭線２５部分以外に欠陥２２が存在する場合の良品形状推定画像２０ｄが作成される。そして良品形状画像作成ステップ４の一連の処理が終了し、次に検査ステップ５の処理が実行される。
【００９２】
（検査ステップの作動について）
良品形状推定画像が作成されると、図１のフローチャートの検査ステップ５が実行される。
【００９３】
図８は、図４の実施形態において実行される検査ステップによる処理の説明図で、図中、ｅｏｒは排他的論理和、＝は等号を示す。
【００９４】
図４の場合、図８に示すように、図４（ｅ）の良品形状推定画像３０ｅと図４（ａ）の被検査画像３０との排他的論理和が計算されて検査画像４０が作成される。即ち、検査画像４０は、被検査画像３０から欠陥３１、３２を抽出し、抽出した欠陥４１、４２を描画したものである。検査画像４０は、被検査画像３０の輪郭線３５部分に存在する欠陥３１が白で示される欠陥４１、輪郭線３５の内側の欠陥３２が白で示される欠陥４２、そして欠陥４１、４２の背景４４は黒として作成される。これにより被検査画像３０の輪郭線３５に存在する欠陥３１、輪郭線３５の内側に存在する欠陥３２が検知される。また、検査画像４０の欠陥４１、４２の形状および大きさは、被検査体の欠陥の形状および大きさとほとんど同じである。
【００９５】
図９は、図３の実施形態において実行される検査ステップによる処理の説明図である。
【００９６】
図３の場合、図９に示すように、図３（ｄ）の良品形状推定画像２０ｄと図３（ａ）の被検査画像２０との排他的論理和が計算されて検査画像５０が作成される。検査画像５０は、被検査画像２０の欠陥２２が、白で示される欠陥５２、そして欠陥５２の背景５４は黒として作成される。これにより被検査画像２０の欠陥２２が検知される。また、検査画像５０の欠陥５２の形状および大きさは、被検査体の欠陥の形状および大きさとほとんど同じである。
【００９７】
以上により、検査ステップ５により、図４に示す被検査画像３０から検査対象３３の輪郭線３５部分に存在する欠陥３１と、輪郭線３５部分以外に存在する欠陥３２が抽出された検査画像４０が作成される。また、同じように、検査ステップ５により、図３に示す被検査画像２０から検査対象２３の輪郭線２５部分以外に存在する欠陥２２が抽出された検査画像５０が作成される。
【００９８】
次に、本実施形態の効果について説明する。
【００９９】
被検査体の被検査画像３０から検査対象３３を抽出し、抽出した検査対象３３から被検査体の良品形状、即ち欠陥３１、３２を取除いた良品形状推定画像３０ｅを作成する。従って、良品形状推定画像３０ｅと被検査画像３０から欠陥３１、３２が取得される検査画像４０を作成する際、従来技術の問題であるマスター画像と被検査画像との形状の差異あるいは位置ズレは発生せず、輪郭線部分をマスクするマスク画像は不要である。これにより、輪郭線３５部分に存在する欠陥３１の不感帯は発生しない。
【０１００】
そして良品形状推定画像３０ｅを構成する画素と、被検査画像３０を構成する画素との排他的論理和から欠陥３１、３２が描画される検査画像４０を作成する。この検査画像４０には、被検査画像３０の欠陥３１と同じ欠陥４１と、被検査画像３０の欠陥３２と同じ欠陥４２とが取得される。結果、製品の検査対象３３の輪郭線３５の形状が複雑でも、輪郭線３５部分に存在する欠陥３１と、輪郭線３５以外部分に存在する欠陥３２を検出できると共に、欠陥の形状と大きさが正確に判る。
【０１０１】
また、２値化レベルを適性にすることにより、精度の高い被検査画像３０を取得できる。検査画像４０は、良品形状推定画像３０ｅを構成する画素と、被検査画像３０を構成する画素との排他的論理和から作成されるので、検査画像４０には、輪郭線３５部分に存在する欠陥３１と、輪郭線３５部分以外に存在する欠陥３２が抽出される。従って、各々の画像３０ｅ、被検査画像３０、検査画像４０を構成する画素の分解能を適正値にすることにより、検査画像４０に抽出される欠陥４１および欠陥４２の形状と大きさは高精度で描画される。
【０１０２】
さらに、比較値が所定の閾値以下の場合（図３の場合）は、第１の輪郭線２７には欠陥が存在ないと判断し、処理範囲Ｍ内のＡ点、Ｂ点の２点間の第１の輪郭線２７を変えずに保持し、良品形状推定画像２０ｄを作成する。比較値が所定の閾値より大きい場合（図４の場合）は、第１の輪郭線３７に欠陥が存在すると判断し、処理範囲Ｎの第１の輪郭線３７を、Ｃ点、Ｄ点の２点間を直線３８で描画しＣ点、Ｄ点間の輪郭線とし、画像３０ｄを作成する。従って、所定の閾値を適正値に設定することにより、輪郭線３５部分に存在する欠陥３１が、背景３４からから正確に分離される。そして、孤立点塗つぶしステップ１９により、欠陥３１が正確に削除された良品形状推定画像３０ｅが作成でき、検査画像４０に欠陥３１が正確に描画される。また輪郭線３５部分以外に存在する欠陥３２も、孤立点塗つぶしステップ１９により削除された良品形状推定画像３０ｅが作成され、検査画像４０に欠陥４１が正確に描画される。
【０１０３】
従って、検査画像４０は、高精度で、正確に描画される。これにより輪郭線３５部分に存在する欠陥３１および輪郭線３５部分以外に存在する欠陥３２の形状と大きさは、従来技術では欠陥の形状と大きさが判らないが、本発明では正確に判る。結果、輪郭線３５部分に存在する欠陥３１および輪郭線３５部分以外に存在する欠陥３２が微小でも、その形状と大きさが正確に判り、製品の欠陥の良否判定検査ができる。
【０１０４】
また、欠陥３１、３２を検出する際、比較値判断ステップ１５で使用される比較値の計算式は、（輪郭線長さ÷直線長さ）、又は、（輪郭線長さ−直線長さ）で、従来技術で使用される三角関数等の算出式に比較して簡単である。また、輪郭線長さおよび直線長さは、輪郭線および直線を構成する画素数×画素分解能（ｍｍ／画素）の式から簡単に計算できる。結果、従来技術に比べ、計算負荷が軽減される。
【０１０５】
以上により、製品の検査対象３３の輪郭線３５の形状が複雑でも、輪郭線３５部分に存在する欠陥３１と、輪郭線３５以外部分に存在する欠陥３２を検出できると共に、各々の欠陥３１および欠陥３２の形状と大きさが正確に判り、且つ欠陥検出に要する計算負荷の軽い欠陥検出方法を提供できる。
【図面の簡単な説明】
【０１０６】
【図１】本発明の実施形態に係わる欠陥検査方法のフローチャートである。
【図２】図１に示される良品形状画像作成ステップのフローチャートである。
【図３】本実施形態の検査対象の輪郭線部分に欠陥がない場合の画像図である。
【図４】本実施形態の検査対象の輪郭線部分に欠陥がある場合の画像図である。
【図５】図３の処理範囲の画素構造を拡大した図である。
【図６】図４の処理範囲の画素構造を拡大した図である。
【図７】図４の検査対象内の孤立した欠陥の画素構造の拡大図である。
【図８】図４の実施形態において実行される検査ステップの処理の説明図である。
【図９】図３の実施形態において実行される検査ステップの処理の説明図である。
【符号の説明】
【０１０７】
１  画像取込ステップ
２  ２値化ステップ
３  検査対象抽出ステップ
４  良品形状画像作成ステップ
５  検出ステップ
１０  輪郭線抽出ステップ
１１  処理範囲設定ステップ
１２  ２点抽出ステップ
１３  輪郭線長さ算出ステップ
１４  直線長さ算出ステップ
１５  比較値判断ステップ
１６  直線描画ステップ
１７  ２点抽出判断ステップ
１８  処理範囲設定判断ステップ
１９  孤立点塗つぶしステップ
２０、３０  被検査画像
２０ｄ、３０ｅ  良品形状推定画像
２２、３１、３２  欠陥
２３、３３  検査対象
２４、３４  背景
２５、３５  輪郭線
２７、３７  第１の輪郭線
３８  直線
４０、５０  検査画像
Ｅ  画素
Ｅ２、Ｅ３  第１の画素
Ｅ３１、Ｅ３２  第２の画素
Ｅ２５、Ｅ３５  輪郭点列
Ｍ、Ｎ  処理範囲
【図１】
0005157575.tif 000002
【図２】
0005157575.tif 000003
【図３】
0005157575.tif 000004
【図４】
0005157575.tif 000005
【図５】
0005157575.tif 000006
【図６】
0005157575.tif 000007
【図７】
0005157575.tif 000008
【図８】
0005157575.tif 000009
【図９】
0005157575.tif 000010