(57)【特許請求の範囲】
【請求項１】
検査対象となる物体の輪郭線を含む画像に基づいて欠陥を検出する欠陥検出装置において、
検査対象となる物体の一部又は全ての輪郭線を含む画像から一定方向に一定間隔で複数のエッジ点を検出するエッジ点検出手段と、
該エッジ点検出手段で検出された複数のエッジ点の中で、少なくとも２つの隣接するエッジ点を含み、検出対象となる欠陥の大きさに合わせて調整された、予め定められた所定の幅の参照範囲内に存在する複数の前記エッジ点を代表する代表エッジ点を、前記参照範囲を前記一定方向に前記一定間隔で順次移動させつつ、前記参照範囲の移動位置ごとに算出する代表エッジ点算出手段と、
前記エッジ点検出手段で検出された前記参照範囲の移動位置ごとの複数のエッジ点のうち、前記参照範囲の中央近傍の注目エッジ点と、前記参照範囲の移動位置ごとに算出された各代表エッジ点との残差を算出する残差算出手段と、
算出された残差に基づいて欠陥の位置及び大きさを特定する欠陥特定手段と、
前記エッジ点検出手段で検出されたすべてのエッジ点と、対応するすべての代表エッジ点とを、同一の位置座標上で重ねて表示する表示手段と
を備えることを特徴とする欠陥検出装置。
【請求項２】
前記残差算出手段で算出された残差に基づいて、前記エッジ点に割り振る重み付け係数を算出する重み付け係数算出手段を備えることを特徴とする請求項１に記載の欠陥検出装置。
【請求項３】
前記重み付け係数算出手段は、前記残差が大きいほど、重み付け係数を小さく算出し、前記残差が小さいほど、重み付け係数を大きく算出するようにしてあることを特徴とする請求項２に記載の欠陥検出装置。
【請求項４】
前記代表エッジ点算出手段は、
前記重み付け係数算出手段で算出された前記重み付け係数に基づいて前記代表エッジ点を再算出するようにしてあることを特徴とする請求項２又は３に記載の欠陥検出装置。
【請求項５】
検査対象となる物体の輪郭線を含む画像に基づいて欠陥を検出する欠陥検出装置で実行することが可能な欠陥検出方法において、
検査対象となる物体の一部又は全ての輪郭線を含む画像から一定方向に一定間隔で複数のエッジ点を検出し、
検出された複数のエッジ点の中で、少なくとも２つの隣接するエッジ点を含み、検出対象となる欠陥の大きさに合わせて調整された、予め定められた所定の幅の参照範囲内に存在する複数の前記エッジ点を代表する代表エッジ点を、前記参照範囲を前記一定方向に前記一定間隔で順次移動させつつ、前記参照範囲の移動位置ごとに算出し、
検出された前記参照範囲の移動位置ごとの複数のエッジ点のうち、前記参照範囲の中央近傍の注目エッジ点と、前記参照範囲の移動位置ごとに算出された各代表エッジ点との残差を算出し、
算出された残差に基づいて欠陥の位置及び大きさを特定し、
検出されたすべてのエッジ点と、対応するすべての代表エッジ点とを、同一の位置座標上で重ねて表示することを特徴とする欠陥検出方法。
【請求項６】
算出された残差に基づいて、前記エッジ点を割り振る重み付け係数を算出することを特徴とする請求項５に記載の欠陥検出方法。
【請求項７】
前記残差が大きいほど、重み付け係数を小さく算出し、前記残差が小さいほど、重み付け係数を大きく算出することを特徴とする請求項６に記載の欠陥検出方法。
【請求項８】
算出された前記重み付け係数に基づいて前記代表エッジ点を再算出することを特徴とする請求項６又は７に記載の欠陥検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連結性のある複数のエッジ点に対して基準線を設定し、該基準線からの各エッジ点の差異に基づいてバリ、欠け等の欠陥を正確に検出することができる欠陥検出装置、欠陥検出方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、撮像された画像からバリ、欠け等の欠陥も存在を検出する場合、例えば曲線形状の輪郭線を有する物体については、輪郭線に沿って一定間隔又は一定角度で複数のエッジ点を取得し、取得したエッジ点列を包絡する自由曲線を算出している。そして、算出された自由曲線と取得した各エッジ点との差分を求めることにより、欠陥の幅、高さ、面積等の特徴量を求め、バリ、欠け等の存在の有無を判定している。
【０００３】
例えば特許文献１では、事前に登録してある教示画像と撮像画像とを比較し、画素ごとの偏差データを乗じた差分値を用いて所定の閾値より大きい部分が欠陥であると判断する画像処理方法が開示されている。また、特許文献２では、投影信号の微分情報に基づき、微分値が所定値より大きい部分を欠陥であると判定するガラス容器等の口部検査方法が開示されている。
【０００４】
また、特許文献３及び４では、エッジ点列を回帰分析することにより、近似直線（特許文献３）又は近似円（特許文献４）を算出し、算出された近似直線又は近似円との差分に基づいて欠陥の存在を検出する検査方法が開示されている。
【特許文献１】特開２００１−１７５８６５号公報
【特許文献２】特開２０００−０５５８２７号公報
【特許文献３】特開２００１−３１７９２７号公報
【特許文献４】特開２００３−３１１４６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に開示されている画像処理方法では、教示画像と撮像画像との位置あわせを正確に行う必要があり、形状が微妙に変化するような物体については欠陥判断の精度が低くなってしまうという問題点があった。また、特許文献２に開示されている検査方法では、微分情報を用いて判定していることから、欠陥の存在を検出できた場合であっても、欠陥の正確な幅、サイズ等を特定することができないという問題点があった。
【０００６】
さらに、特許文献３及び４に開示されている検査方法では、直線状又は円状等の特定の形状に対しては精度良く欠陥判定を行うことができるものの、自由曲線形状を有する物体については判定することができないという問題点があった。
【０００７】
自由曲線形状を有する物体について欠陥判定するためには、Ｎ次の近似曲線を求め、求めた近似曲線とエッジ点との差分を用いて欠陥の存在を判定する必要がある。しかし、形状が複雑な場合、近似曲線の次数Ｎを適切に設定することが困難であり、異なる曲線形状を含む物体である場合には、部分ごとに適切な次数が相違することから、適切な近似曲線を得ることができないという問題点もあった。
【０００８】
本発明は上記事情に鑑みてなされたものであり、複雑な形状を有する物体であっても、複数のエッジ点に対して適切な基準線を設定し、該基準線からの各エッジ点の差異に基づいてバリ、欠け等の欠陥を正確に検出することができる欠陥検出装置、欠陥検出方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために第１発明に係る欠陥検出装置は、検査対象となる物体の輪郭線を含む画像に基づいて欠陥を検出する欠陥検出装置において、検査対象となる物体の一部又は全ての輪郭線を含む画像から一定方向に一定間隔で複数のエッジ点を検出するエッジ点検出手段と、該エッジ点検出手段で検出された複数のエッジ点の中で、少なくとも２つの隣接するエッジ点を含み、検出対象となる欠陥の大きさに合わせて調整された、予め定められた所定の幅の参照範囲内に存在する複数の前記エッジ点を代表する代表エッジ点を、前記参照範囲を前記一定方向に前記一定間隔で順次移動させつつ、前記参照範囲の移動位置ごとに算出する代表エッジ点算出手段と、前記エッジ点検出手段で検出された前記参照範囲の移動位置ごとの複数のエッジ点のうち、前記参照範囲の中央近傍の注目エッジ点と、前記参照範囲の移動位置ごとに算出された各代表エッジ点との残差を算出する残差算出手段と、算出された残差に基づいて欠陥の位置及び大きさを特定する欠陥特定手段と、前記エッジ点検出手段で検出されたすべてのエッジ点と、対応するすべての代表エッジ点とを、同一の位置座標上で重ねて表示する表示手段とを備えることを特徴とする。
【００１２】
また、第２発明に係る欠陥検出装置は、第１発明において、前記残差算出手段で算出された残差に基づいて、前記エッジ点に割り振る重み付け係数を算出する重み付け係数算出手段を備えることを特徴とする。
【００１３】
また、第３発明に係る欠陥検出装置は、第２発明において、前記重み付け係数算出手段は、前記残差が大きいほど、重み付け係数を小さく算出し、前記残差が小さいほど、重み付け係数を大きく算出するようにしてあることを特徴とする。
【００１４】
また、第４発明に係る欠陥検出装置は、第２又は第３発明において、前記代表エッジ点算出手段は、前記重み付け係数算出手段で算出された前記重み付け係数に基づいて前記代表エッジ点を再算出するようにしてあることを特徴とする。
【００１５】
次に上記目的を達成するために第５発明に係る欠陥検出方法は、検査対象となる物体の輪郭線を含む画像に基づいて欠陥を検出する欠陥検出装置で実行することが可能な欠陥検出方法において、検査対象となる物体の一部又は全ての輪郭線を含む画像から一定方向に一定間隔で複数のエッジ点を検出し、検出された複数のエッジ点の中で、少なくとも２つの隣接するエッジ点を含み、検出対象となる欠陥の大きさに合わせて調整された、予め定められた所定の幅の参照範囲内に存在する複数の前記エッジ点を代表する代表エッジ点を、前記参照範囲を前記一定方向に前記一定間隔で順次移動させつつ、前記参照範囲の移動位置ごとに算出し、検出された前記参照範囲の移動位置ごとの複数のエッジ点のうち、前記参照範囲の中央近傍の注目エッジ点と、前記参照範囲の移動位置ごとに算出された各代表エッジ点との残差を算出し、算出された残差に基づいて欠陥の位置及び大きさを特定し、検出されたすべてのエッジ点と、対応するすべての代表エッジ点とを、同一の位置座標上で重ねて表示することを特徴とする。
【００１８】
また、第６発明に係る欠陥検出方法は、第５発明において、算出された残差に基づいて、前記エッジ点を割り振る重み付け係数を算出することを特徴とする。
【００１９】
また、第７発明に係る欠陥検出方法は、第６発明において、前記残差が大きいほど、重み付け係数を小さく算出し、前記残差が小さいほど、重み付け係数を大きく算出することを特徴とする。
【００２０】
また、第８発明に係る欠陥検出方法は、第６又は第７発明において、算出された前記重み付け係数に基づいて前記代表エッジ点を再算出することを特徴とする。
【００２２】
第１発明及び第５発明では、検査対象となる物体の一部又は全ての輪郭線を含む画像から一定方向に一定間隔で複数のエッジ点を検出し、検出された複数のエッジ点の中で、少なくとも２つの隣接するエッジ点を含み、検出対象となる欠陥の大きさに合わせて調整された、予め定められた所定の幅の参照範囲内に存在する複数のエッジ点を代表する代表エッジ点を、参照範囲を一定方向に一定間隔で順次移動させつつ、参照範囲の移動位置ごとに算出する。検出された参照範囲の移動位置ごとの複数のエッジ点のうち、参照範囲の中央近傍の注目エッジ点と、参照範囲の移動位置ごとに算出された各代表エッジ点との残差を算出し、算出された残差に基づいて欠陥の位置及び大きさを特定する。事前に教示画像を準備する必要がなく、輪郭が直線状又は円状等の特定の形状を有している必要もないことから、任意の形状に対して欠陥を検出することができる。また、代表エッジ点を参照範囲を順次移動させつつ算出することにより、複雑な形状を有する物体であっても欠陥の正確な幅、サイズ等も含めて検出することができる。さらに参照範囲の幅を変動させることにより、検出可能な欠陥の大きさを調整することが可能となる。また、検出されたすべてのエッジ点と、対応するすべての代表エッジ点とを、同一の位置座標上で重ねて表示する。同一の位置座標上で重ねて表示することにより、バリ、欠け等の欠陥がどの位置にどのような大きさで生じているか容易に確認することができる。
【００２５】
第２発明及び第６発明では、算出された残差に基づいて、エッジ点に割り振る重み付け係数を算出することにより、例えば欠陥である可能性が高いエッジ点には小さい重み付け係数を割り振り、欠陥である可能性が低いエッジ点には大きい重み付け係数を割り振り、割り振られた重み付け係数を用いて代表エッジ点の算出を行うことで、欠陥部分の影響を抑制した代表エッジ点を算出することができ、欠陥の検出能力を向上させることができる。
【００２６】
第３発明及び第７発明では、残差が大きいほど、重み付け係数を小さく算出し、残差が小さいほど、重み付け係数を大きく算出することにより、欠陥である可能性が高いエッジ点には小さい重み付け係数を割り振り、欠陥である可能性が低いエッジ点には大きい重み付け係数を割り振り、割り振られた重み付け係数を用いて代表エッジ点の算出を行うことで、欠陥部分の影響を抑制した代表エッジ点を算出することができ、欠陥の検出能力を向上させることができる。
【００２７】
第４発明及び第８発明では、算出された重み付け係数に基づいて代表エッジ点を再算出する。代表エッジ点を再算出することにより、欠陥部分の影響を強く受けて歪んだ代表エッジ点列が算出されるのを未然に防止することができ、欠陥の検出能力を向上させることができる。
【００２８】
なお、後述する実施の形態では、エッジ点検出手段は、主制御部２１のステップＳ２０２の処理が、代表エッジ点算出手段は、主制御部２１のステップＳ２０６乃至ステップＳ２０９の処理が、残差算出手段は、主制御部２１のステップＳ２１０の処理が、欠陥特定手段は、主制御部２１のステップＳ２１１、ステップＳ９０４、ステップＳ１２０７の処理が、それぞれ該当する。
【００２９】
また、第１の表示手段及び第２の表示手段は、主制御部２１のステップＳ２１２、ステップＳ９０５、ステップＳ１２０８の処理が、重み付け係数算出手段は、主制御部２１のステップＳ９０１、ステップＳ１２０２の処理が、それぞれ該当する。
【発明の効果】
【００３０】
本発明によれば、事前に教示画像を準備する必要がなく、輪郭が直線状又は円状等の特定の形状を有している必要もないことから、任意の形状に対して欠陥を検出することができる。また、代表エッジ点を参照範囲を順次移動させつつ算出することにより、複雑な形状を有する物体であっても欠陥の正確な幅、サイズ等も含めて検出することができる。さらに参照範囲の幅を変動させることにより、検出可能な欠陥の大きさを調整することが可能となる。また、検出されたすべてのエッジ点と、対応するすべての代表エッジ点とを、同一の位置座標上で重ねて表示する。同一の位置座標上で重ねて表示することにより、バリ、欠け等の欠陥がどの位置にどのような大きさで生じているか容易に確認することができる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施の形態に係る欠陥検出装置について、図面を参照して説明する。なお、参照する図面を通じて、同一又は同様の構成又は機能を有する要素については、同一又は同様の符号を付して、詳細な説明を省略する。
【００３２】
（実施の形態１）
図１は、本発明の実施の形態１に係る欠陥検出装置の構成を模式的に示すブロック図である。図１に示すように本実施の形態１に係る欠陥検出装置は、多値画像を撮像する撮像手段であるカメラ１及び撮像された多値画像又は生成された画像を表示する表示装置３に接続されている。
【００３３】
欠陥検出装置２は、少なくともＣＰＵ（中央演算装置）、ＬＳＩ等で構成された主制御部２１、ＲＡＭ２２、記憶手段２３、入力手段２４、出力手段２５、通信手段２６、補助記憶手段２７及び上述したハードウェアを接続する内部バス２８で構成されている。主制御部２１は、内部バス２８を介して欠陥検出装置２の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶手段２３に記憶されているコンピュータプログラム５に従って、種々のソフトウェア的機能を実行する。ＲＡＭ２２は、ＳＲＡＭ、ＳＤＲＡＭ等の揮発性メモリで構成され、コンピュータプログラム５の実行時にロードモジュールが展開され、コンピュータプログラム５の実行時に発生する一時的なデータ等を記憶する。
【００３４】
記憶手段２３は、内蔵される固定型記憶装置（ハードディスク、フラッシュメモリ）、ＲＯＭ等で構成されている。記憶手段２３に記憶されているコンピュータプログラム５は、プログラム及びデータ等の情報を記録したＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ等の可搬型記録媒体４から、補助記憶手段２７によりダウンロードされ、実行時には記憶手段２３からＲＡＭ２２へ展開して実行される。もちろん、通信手段２６を介して外部コンピュータからダウンロードされたコンピュータプログラムであっても良い。
【００３５】
通信手段２６は内部バス２８に接続されており、インターネット、ＬＡＮ、ＷＡＮ等の外部のネットワークに接続されることにより、外部のコンピュータ等とデータ送受信を行うことが可能となっている。すなわち、上述した記憶手段２３は、欠陥検出装置２に内蔵される構成に限定されるものではなく、通信手段２６を介して接続されている外部のサーバコンピュータ等に設置されているハードディスク等の外部記録媒体であっても良い。
【００３６】
入力手段２４は、キーボード及びマウス等のデータ入力媒体の他、液晶パネル等と一体となったタッチパネル等の入力情報を取得する装置全般を含む広い概念である。出力手段２５は、レーザプリンタ、ドットプリンタ等の印刷装置等を意味する。
【００３７】
カメラ１は、ＣＣＤ撮像素子を備えたＣＣＤカメラ等である。表示装置３は、ＣＲＴ、液晶パネル等を有する表示装置である。カメラ１、表示装置３等は、欠陥検出装置２と一体化されても良いし、分離されていても良い。
【００３８】
上述した構成の欠陥検出装置２の処理の流れについて説明する。本実施の形態１に係る欠陥検出装置２では、検査対象となる物体の輪郭線を示すエッジ点列に基づいて近似曲線を求める。エッジ点列に対して直接近似曲線を求めるのではなく、局所的な代表エッジ点を複数点算出し、代表エッジ点列を補間した擬似的な近似曲線を求めることにより、様々な曲線に対応することが可能となる。図２は、本発明の実施の形態１に係る欠陥検出装置２の主制御部２１の処理手順を示すフローチャートである。
【００３９】
図２に示すように、本実施の形態１に係る欠陥検出装置２の主制御部２１は、カメラ１で撮像された、検査対象となる物体の一部又は全ての輪郭線を含む多値画像を取得し（ステップＳ２０１）、取得した多値画像から複数のエッジ点を検出する（ステップＳ２０２）。
【００４０】
エッジ点の検出方法は、周知の検出方法であれば特に限定されるものではない。例えば、エッジ点の検出対象となる領域である対象領域内にて、任意の大きさのセグメントを移動させ、セグメントが移動したそれぞれの位置にて１エッジ点を検出する。図３は、対象領域が矩形領域である場合のエッジ点検出方法を説明する模式図である。
【００４１】
検査対象となる物体３０の輪郭線の一部又は全てを含む対象領域３１内に、所定の幅Ｂを有する矩形領域であるセグメント３２を設定する。セグメント３２を矢印３３の方向にスパン３４にて順次移動させ、移動位置ごとに物体３０の輪郭線の中点の座標値をエッジ点３５、３５、・・・として検出する。
【００４２】
セグメント３２の幅Ｂを大きくするほど、ノイズに左右されること無くエッジ点を安定して検出することができる。一方、細かい変動は無視されるようになる。また、セグメント３２の幅Ｂを大きくするほど、エッジ点の検出時間を短縮することができるが、検出されるエッジ点の数は少なくなり、欠陥検出の精度は低下する。
【００４３】
また図４は、対象領域が円形領域である場合のエッジ点検出方法を説明する模式図である。対象領域が円形領域である場合には、極座標変換を実行した後にエッジ点を以下の手順で検出する。
【００４４】
検査対象となる物体４０の輪郭線の一部又は全てを含む対象領域４１内に、所定の中心角θを有する領域であるセグメント４２を設定する。セグメント４２を矢印４３の方向にスパン中心角４４にて回転移動させ、回転位置ごとに物体４０の輪郭線の中点の極座標値をエッジ点４５、４５、・・・として検出する。
【００４５】
セグメント４２の中心角θを大きくするほど、ノイズに左右されること無くエッジ点を安定して検出することができる。一方、細かい変動は無視されるようになる。また、セグメント４２の中心角θを大きくするほど、エッジ点の検出時間を短縮することができるが、検出されるエッジ点の数は少なくなり、欠陥検出の精度は低下する。
【００４６】
本実施の形態１では、対象領域が矩形領域である場合を例に挙げて、以下の処理を説明するが、極座標変換した場合には対象領域が円形領域である場合であっても同様の処理を実行することができることは言うまでもない。図５は、対象領域が矩形領域である場合に検出されたエッジ点の例示図である。
【００４７】
図５では、セグメント３２の移動方向をＸ軸方向、該Ｘ軸方向に直交する方向をＹ軸方向とした場合のエッジ点列を例示している。図５の例では、エッジ点５１、及びエッジ点列５２に欠陥が含まれていると推測することができる。
【００４８】
図２に戻って、欠陥検出装置２の主制御部２１は、予め定められた幅の参照範囲の設定を受け付け（ステップＳ２０３）、参照範囲の移動量の設定も受け付ける（ステップＳ２０４）。そして主制御部２１は、参照範囲の移動開始位置（初期位置）の設定を受け付ける（ステップＳ２０５）。
【００４９】
ステップＳ２０３にて設定することが可能な参照範囲は、上述したエッジ検出方法で設定したスパン３４に基づいて、少なくとも２つの隣接するエッジ点を含む範囲が設定することが可能な最小の幅となる。それ以上広い範囲は、ユーザが所望する、参照範囲内に含ませたいエッジ点の数によっては、それ以上に広い範囲で設定しても良い。
【００５０】
またステップＳ２０４にて設定することが可能な参照範囲の移動量は、上述したエッジ検出方法で設定したスパン３４、つまりエッジ点間の幅が最小の移動量となる。それ以上の移動量は、エッジ点間の最小移動量の整数倍として設定することが可能である。
【００５１】
また、ステップＳ２０５での参照範囲の初期位置は、任意の位置にユーザにより設定可能とする代わりに、上述したエッジ検出時に検出した最も左端に位置するエッジ点を中心とした位置に自動的に設定するようにしても良い。この場合、後述する２次の近似曲線を用いる場合には、エッジ点が最低３点必要となる。しかし、移動開始の位置においては、最小二乗法による計算で必要な点数が範囲内に存在しないことから、例外的な処理として、参照範囲の中心に位置するエッジ点を代表エッジ点とすれば良い。
【００５２】
したがって、ステップＳ２０３における参照範囲の幅、及びステップＳ２０４における参照範囲の移動量の最小単位は、上述するエッジ点検出方法を実行する場合に用いるセグメントの移動スパンに基づいて設定される。
【００５３】
主制御部２１は、移動開始位置における参照範囲内に含まれる複数のエッジ点を代表する代表エッジ点を算出する（ステップＳ２０６）。図６は、代表エッジ点の算出方法を説明するための模式図である。
【００５４】
図６では、参照範囲６１中に存在する注目エッジ点６２を中心として、左右３個ずつ、総計７点のエッジ点６３、６３、・・・に基づいて、エッジ点列のＮ次回帰曲線６４を求めている。参照範囲６１の幅は、検出対象となる欠陥の大きさに合わせて設定することが可能となっている。代表エッジ点６５は、注目エッジ点６２のＸ座標値に対応するＮ次回帰曲線６４のＹ座標値として算出する。
【００５５】
なお、Ｎ次回帰曲線の次数については特に限定されるものではなく、可変でも良いし固定でも良い。また、Ｎを'２'と仮定すると、Ｎ次回帰曲線６４を求めるためには、少なくとも参照範囲６１内にエッジ点が３点含まれていることが必要となる。なお、計算コストと性能とを考慮した場合、回帰曲線の次数は'２'程度で良いが、次数が'１'でも計算することは可能である。
【００５６】
回帰曲線の次数が'２'である場合の具体的な計算方法としては、上述したエッジ点検出方法にて得られたエッジ点列を（ｘi 、ｙi ）、求める回帰曲線をｙ＝ａｘ2 ＋ｂｘ＋ｃとした場合、式（１）の行列方程式を解くことにより、最小二乗法による近似曲線のパラメータａ、ｂ、ｃを求めることができる。
【００５７】
【数１】
0005422129.tif 000002
【００５８】
参照範囲６１中に、回帰曲線を算出するために必要な個数のエッジ点が存在しない場合、例えば取得した画像の端部について代表エッジ点を算出する場合には、エッジ点自体を代表エッジ点として算出する。このようにすることで、参照範囲の移動量の間隔ごとに、必ず一点ずつ代表エッジ点を求めることができる。
【００５９】
参照範囲６１の幅に応じて、検出される欠陥の大きさ（サイズ）を制御することができる。すなわち、参照範囲６１の幅が広い場合には、大きな欠陥も検出対象とすることができるのに対して、参照範囲６１の幅が狭い場合には、小さな欠陥は検出対象とすることができるが、大きな欠陥は、求めた代表エッジ点列間を曲線又は直線で補間した近似曲線（以下、擬似近似曲線という）の対象となり、欠陥として検出しないようにすることができる。このため、ユーザが検出したい欠陥のサイズに対応する幅を設定することにより、所望の欠陥を検出することができる。
【００６０】
図２に戻って、欠陥検出装置２の主制御部２１は、参照範囲６１を設定された移動量だけ移動させた後の移動位置を特定し（ステップＳ２０７）、参照範囲６１が最終位置まで移動したか否か、例えば移動する参照範囲６１に含まれなかったエッジ点が存在するか否かを判断する（ステップＳ２０８）。
【００６１】
主制御部２１が、欠陥を検出する対象領域全てを包含していないと判断した場合（ステップＳ２０８：ＮＯ）、主制御部２１は、参照範囲６１の位置を移動後の位置に設定し（ステップＳ２０９）、処理をステップＳ２０６へ戻し、上述した処理を繰り返す。主制御部２１が、欠陥を検出する対象領域全てを包含したと判断した場合（ステップＳ２０８：ＹＥＳ）、主制御部２１は、算出された複数の代表エッジ点の座標値（Ｙ座標値）と対応するエッジ点の座標値（Ｙ座標値）との残差をエッジ点ごとに算出する（ステップＳ２１０）。主制御部２１は、算出された残差に基づいて欠陥の位置及び大きさを特定する（ステップＳ２１１）。
【００６２】
なお、残差の算出方法は特に限定されるものではないが、例えば代表エッジ点列がエッジ点列と同一の間隔で算出されている場合には、Ｘ座標値が一致するエッジ点と代表エッジ点とのＹ座標値の差分を算出すれば足りる。一方、代表エッジ点列の間隔がエッジ点列の間隔と相違する場合には、代表エッジ点間を補間した補間値とエッジ点とのＹ座標値の差分を算出すれば良い。補間方法としては、単純な直線補間であっても良いし、ラグランジェ補間、スプライン補間等の曲線補間であっても良い。
【００６３】
主制御部２１は、特定された欠陥の位置及びサイズに関する情報を表示出力する（ステップＳ２１２）。表示出力される情報は特に限定されるものではないが、例えば検出されたエッジ点６３、６３、・・・と、それぞれに対応する代表エッジ点６５、６５、・・・とを、同一の位置座標軸にて重ねて、表示装置３に表示出力することが好ましい。バリ、欠け等の欠陥がどの位置にどのような大きさで生じているか容易に確認することができるからである。
【００６４】
図７は、参照範囲６１を１エッジ点間隔で移動させた場合に算出された代表エッジ点を、対応するエッジ点と同一の位置座標軸に表示した例示図である。図７では、各エッジ点６３につき、対応する代表エッジ点６５が１点ずつ算出されている。欠陥と推定されるエッジ点５１、及びエッジ点列５２が存在していても、欠陥を包絡することのない近似曲線が求まっていることがわかる。したがって、エッジ点５１、及びエッジ点列５２の位置を容易に特定することができ、近似曲線との差分によりエッジ点５１、及びエッジ点列５２における欠陥の大きさを特定することができる。
【００６５】
また主制御部２１が、算出された代表エッジ点と対応するエッジ点との残差を、エッジ点６３、６３、・・・及び代表エッジ点６５、６５、・・・と同一の位置座標軸にて重ねて、表示装置３に表示出力しても良い。バリ、欠け等の欠陥がどの位置にどのような大きさで生じているかを明確にすることができるからである。
【００６６】
図８は、算出された代表エッジ点と、対応するエッジ点との残差を同一の位置座標軸に表示した場合の例示図である。図８では、各残差８１がエッジ点と同一の位置座標軸に表示されており、欠陥と推定されるエッジ点５１、及びエッジ点列５２に対応する位置では、残差８２、８３が突出した値を示していることがわかる。また、残差８２、８３の値により、エッジ点５１、及びエッジ点列５２における欠陥の大きさも正確に把握することができる。
【００６７】
以上のように本実施の形態１によれば、事前に教示画像を準備する必要がなく、輪郭が直線状又は円状等の特定の形状を有している必要もないことから、任意の形状に対して欠陥を検出することができる。また、代表エッジ点を、参照範囲を順次移動させつつ算出することにより、複雑な形状を有する物体であっても欠陥の正確な幅、サイズ等も含めて検出することができる。さらに参照範囲の幅を変動させることにより、検出可能な欠陥の大きさ（サイズ）を調整することが可能となる。
【００６８】
（実施の形態２）
本発明の実施の形態２に係る欠陥検出装置の構成は、実施の形態１と同様であることから、同一の符号を付することにより詳細な説明は省略する。本実施の形態２では、残差に基づいて各エッジ点に重み付けを行い、該重み付けに基づいて代表エッジ点列を算出する点で実施の形態１と相違する。
【００６９】
図９は、本発明の実施の形態２に係る欠陥検出装置２の主制御部２１の処理手順を示すフローチャートである。図９において、ステップＳ２１０までの処理は実施の形態１の図２と同様の処理であることから、詳細な説明は省略する。本発明の実施の形態２に係る欠陥検出装置２の主制御部２１は、算出された複数の代表エッジ点と対応するエッジ点との残差をエッジ点ごとに算出する（ステップＳ２１０）。
【００７０】
主制御部２１は、算出された残差に基づいて、各エッジ点に割り振る重み付け係数を算出する（ステップＳ９０１）。なお、重み付け係数は、該重み付け係数を用いて生成される擬似近似曲線（代表エッジ点列）にて、検出した欠陥に関与するエッジ点による影響を極力抑制するために、検出された残差が大きい場合には重み付けが小さく、小さい場合には重み付けが大きくなるように設定している。本実施の形態２では、重み付け係数Ｗi （ｉはエッジ点を識別する点列番号）は０≦Ｗi ≦１の値を取り、代表エッジ点列と近いエッジ点ほど１に近づく値となるようにしてあり、代表エッジ点列と遠いエッジ点ほど０に近づく値となるようにしてある。
【００７１】
具体的には、算出された全ての残差ｄi （ｉはエッジ点を識別する点列番号）について標準偏差σを算出する。各エッジ点に割り振る重み付け係数Ｗi は、式（２）に従って算出される。式（１）において、Ｃは、重み付け係数Ｗiの変化度合を調整するための定数である。
【００７２】
【数２】
0005422129.tif 000003
【００７３】
図１０は、重み付け係数Ｗi の分布度合の例示図である。図１０に示すように、残差ｄi が一定値Ｃ×σ以上であるエッジ点は重み付け係数Ｗi を０にする。残差ｄi がそれ以下のエッジ点については、０≦Ｗi ≦１の範囲で重み付け係数Ｗi を割り振る。代表エッジ点と一致したエッジ点、すなわち残差ｄi が０である場合の重み付け係数Ｗi を１とし、代表エッジ点から離れるに従って０に近づけるよう重み付け係数Ｗi を割り振る。
【００７４】
なお、残差ｄi の標準偏差σを基準に重み付け係数Ｗiの変化度合を算出する方法に限定されるものではなく、他の統計値、例えば残差ｄi の中央値（メディアン）を用いて、中央値での重み付け係数Ｗi を１とし、中央値から離れるに従って０に近づけるよう重み付け係数Ｗi を割り振っても良い。
【００７５】
図９に戻って、主制御部２１は、上述した実施の形態１にて説明した通常の最小二乗法によって求めた代表エッジ点列に対して、各エッジ点に割り振られた重み付け係数Ｗi を用いて、代表エッジ点を再算出する（ステップＳ９０２）。
【００７６】
Ｎの次数が二次である場合の具体的な計算方法としては、上述したエッジ点検出方法にて得られたエッジ点列を（ｘi 、ｙi ）、各エッジ点に割り振られた重み付け係数をＷi 、求める回帰曲線をｙ＝ａｘ2 ＋ｂｘ＋ｃとした場合、式（３）の行列方程式を解くことにより、最小二乗法による近似曲線のパラメータａ、ｂ、ｃを求めることができる。
【００７７】
【数３】
0005422129.tif 000004
【００７８】
主制御部２１は、得られた代表エッジ点とエッジ点との残差を再度算出して（ステップＳ９０３）、算出された残差に基づいて欠陥の位置及び大きさを特定する（ステップＳ９０４）。
【００７９】
欠陥の判定方法は、特に限定されるものではないが、例えば所定の閾値以上の残差が存在するか否かを判断し、存在すると判断された位置に欠陥が存在すると判断しても良い。
【００８０】
主制御部２１は、特定された欠陥の位置及びサイズに関する情報を表示出力する（ステップＳ９０５）。表示出力される情報は特に限定されるものではないが、例えば実施の形態１と同様、検出されたエッジ点６３、６３、・・・と、それぞれに対応する代表エッジ点６５、６５、・・・とを、同一の位置座標軸にて重ねて、表示装置３に表示出力することが好ましい。バリ、欠け等の欠陥がどの位置にどのような大きさで生じているか容易に確認することができるからである。
【００８１】
図１１は、参照範囲６１を１エッジ点間隔で移動させた場合に算出された代表エッジ点を、対応するエッジ点と同一の位置座標軸に表示した例示図である。図１１では、各エッジ点６３につき、対応する代表エッジ点６５が１点ずつ算出されている。欠陥と推定されるエッジ点５１、及びエッジ点列５２が存在していても、欠陥に影響されて擬似近似曲線（代表エッジ点列）が彎曲する度合が実施の形態１よりも弱まり、自然な擬似近似曲線（代表エッジ点列）が求まっていることがわかる。したがって、欠陥と推定されるエッジ点５１、及びエッジ点列５２の位置を容易に特定することができ、擬似近似曲線（代表エッジ点列）との差分によりエッジ点５１、及びエッジ点列５２における欠陥の大きさをより正確に特定することができる。
【００８２】
また実施の形態１と同様、主制御部２１は、算出された代表エッジ点と対応するエッジ点との残差を、エッジ点６３、６３、・・・及び代表エッジ点６５、６５、・・・と同一の位置座標軸にて重ねて、表示装置３に表示出力しても良い。バリ、欠け等の欠陥がどの位置にどのような大きさで生じているかを明確にすることができるからである。
【００８３】
なお、上述した重み付け係数による代表エッジ点の再算出処理を一定の回数繰り返し実行することにより、より欠陥部分の影響を受けない擬似近似曲線（代表エッジ点列）を求めることができ、欠陥部分の位置、大きさ等をより正確に検出することができる。図１２は、繰り返し算出する場合の主制御部２１の処理手順を示すフローチャートである。図１２において、ステップＳ２１０までの処理は実施の形態１の図２と同様の処理であることから、詳細な説明は省略する。
【００８４】
図１２に示すように、欠陥検出装置２の主制御部２１は、カウンタを初期化しておき（本実施の形態２では０に設定）、算出された複数の代表エッジ点と対応するエッジ点との残差をエッジ点ごとに算出する（ステップＳ２１０）。主制御部２１は、カウンタを１インクリメントし（ステップＳ１２０１）、算出された残差に基づいて、各エッジ点に割り振る重み付け係数を算出し（ステップＳ１２０２）、算出された重み付け係数を用いて代表エッジ点の算出を行う（ステップＳ１２０３）。重み付け係数Ｗi （ｉはエッジ点を識別する点列番号）の算出方法は上述した方法と同様であることから、詳細な説明は省略する。
【００８５】
主制御部２１は、得られた代表エッジ点とエッジ点との残差を再度算出して（ステップＳ１２０４）、カウンタが所定値以上であるか否かを判断する（ステップＳ１２０５）。
【００８６】
主制御部２１が、カウンタが所定値より小さいと判断した場合（ステップＳ１２０５：ＮＯ）、主制御部２１は、カウンタを１インクリメントし（ステップＳ１２０６）、処理をステップＳ１２０２へ戻して、上述した処理を繰り返す。主制御部２１が、カウンタが所定値以上であると判断した場合（ステップＳ１２０５：ＹＥＳ）、主制御部２１は、算出された残差に基づいて欠陥の位置及び大きさを特定する（ステップＳ１２０７）。
【００８７】
主制御部２１は、特定された欠陥の位置及びサイズに関する情報を表示出力する（ステップＳ１２０８）。表示出力される情報は特に限定されるものではないが、例えば実施の形態１と同様、検出されたエッジ点と、それぞれに対応する代表エッジ点とを、同一の位置座標軸にて重ねて、表示装置３に表示出力することが好ましい。バリ、欠け等の欠陥がどの位置にどのような大きさで生じているか容易に確認することができるからである。
【００８８】
以上のように本実施の形態２によれば、残差を算出して、重み付け係数を算出し、代表エッジ点を再算出するという一連の処理を所定の回数繰り返し実行することにより、欠陥の存在に影響されて擬似近似曲線（代表エッジ点列）が彎曲することがほとんど無くなり、検出すべき欠陥以外のエッジ点を包絡した自然な擬似近似曲線（代表エッジ点列）を求めることができる。したがって、欠陥の位置を容易に特定することができ、擬似近似曲線（代表エッジ点列）との差分により欠陥の大きさをより正確に特定することができる。
【００８９】
もちろん、実施の形態１と同様、主制御部２１は、算出された代表エッジ点と対応するエッジ点との残差を、エッジ点及び代表エッジ点と同一の位置座標軸にて重ねて、表示装置３に表示出力しても良い。バリ、欠け等の欠陥がどの位置にどのような大きさで生じているかを明確にすることができるからである。
【００９０】
なお、本実施の形態１及び２で用いる欠陥の判定方法は、本実施の形態１に開示されている方法に限定されるものではない。例えば所定の閾値以上である残差が連続して存在する場合、斯かる残差算出の基礎となったエッジ点列を一つの連続体と判断し、連続体ごとに幅（連続点数）、面積（閾値を超えたエッジ点の残差の総和）、重心位置等の特徴量を算出し、基準の特徴量と対比することにより欠陥であるか否かを判断しても良い。
【００９１】
また、残差の統計的な特徴量として、残差の最大値、最小値、平均値、標準偏差、閾値を超えたエッジ点数、閾値を超えた総面積（閾値を超えたエッジ点の残差の総和）等を算出し、基準の特徴量と対比することにより欠陥であるか否かを判定しても良い。
【００９２】
なお、本実施の形態１及び２における参照範囲６１は、ユーザにより適切な値を入力することが好ましい。検出対象となる欠陥の大きさに応じて、検出できるか否かを調整するためである。図１３は、表示装置３で表示されるユーザインタフェースの例示図である。なお、本発明で検出対象となる欠陥の大きさとは、参照範囲の幅方向における大きさ（サイズ）を意味している。
【００９３】
図１３に示すように、画像表示領域１３０１には、取得した多値画像又は該多値画像にエッジ点列、擬似近似曲線（代表エッジ点列）を重ねて表示する。残差表示領域１３０２には、エッジ点と擬似近似曲線（代表エッジ点列）との残差が波形として表示される。Ｘ座標が画像表示領域１３０１と合致しているので、欠陥がどこに存在するのか目視確認することができる。
【００９４】
また、表示画像選択領域１３０３では、処理の状態を確認するために用いる画像を選択する。例えば、事前に記憶手段２３に登録してある画像を用いる場合には「登録画像」を、任意のタイミングで取り込む画像を用いる場合には「入力画像」を選択する。
【００９５】
近似線モデル選択領域１３０４では、エッジ点列を近似する場合に用いる近似線モデルを選択する。例えば直線、円、楕円、自由曲線等を選択することができる。欠陥検出方向特定領域１３０５では、欠陥として検出する凹凸の方向を特定する。たとえば「＋方向」では凸部のみを欠陥の検出対象とし、「−方向」では凹部のみを欠陥の検出対象とし、「＋−両方」では凹部及び凸部の両方を欠陥の検出対象とする。
【００９６】
参照範囲設定領域１３０６では、検出対象となる欠陥の大きさに合わせて参照範囲の幅を設定する。図１３では全エッジ点数に対する参照点数の割合で設定しているが、特にこれに限定されるものではない。閾値設定領域１３０７では、残差に対して欠陥であるか否かを判断する基準となる閾値を設定する。
【００９７】
ユーザは、参照範囲設定領域１３０６及び閾値設定領域１３０７での設定値を変更しつつ、画像表示領域１３０１及び残差表示領域１３０２に表示される結果出力を参照することができ、検出した欠陥に応じたパラメータ設定を容易に行うことができる。
【図面の簡単な説明】
【００９８】
【図１】本発明の実施の形態１に係る欠陥検出装置の構成を模式的に示すブロック図である。
【図２】本発明の実施の形態１に係る欠陥検出装置の主制御部の処理手順を示すフローチャートである。
【図３】対象領域が矩形領域である場合のエッジ点検出方法を説明する模式図である。
【図４】対象領域が円形領域である場合のエッジ点検出方法を説明する模式図である。
【図５】対象領域が矩形領域である場合に検出されたエッジ点の例示図である。
【図６】代表エッジ点の算出方法を説明するための模式図である。
【図７】参照範囲を１エッジ点間隔で移動させた場合に算出された代表エッジ点を、対応するエッジ点と同一の位置座標軸に表示した例示図である。
【図８】算出された代表エッジ点と、対応するエッジ点との残差を同一の位置座標軸に表示した場合の例示図である。
【図９】本発明の実施の形態２に係る欠陥検出装置の主制御部の処理手順を示すフローチャートである。
【図１０】重み付け係数の分布度合の例示図である。
【図１１】参照範囲を１エッジ点間隔で移動させた場合に算出された代表エッジ点を、対応するエッジ点と同一の位置座標軸に表示した例示図である。
【図１２】繰り返し算出する場合の主制御部の処理手順を示すフローチャートである。
【図１３】表示装置で表示されるユーザインタフェースの例示図である。
【符号の説明】
【００９９】
１  カメラ（撮像手段）
２  欠陥検出装置
３  表示装置
４  可搬型記録媒体
５  コンピュータプログラム
２１  主制御部
２２  ＲＡＭ
２３  記憶手段
２４  入力手段
２５  出力手段
２６  通信手段
２７  補助記憶手段
２８  内部バス
【図１】
0005422129.tif 000005
【図２】
0005422129.tif 000006
【図３】
0005422129.tif 000007
【図４】
0005422129.tif 000008
【図５】
0005422129.tif 000009
【図６】
0005422129.tif 000010
【図７】
0005422129.tif 000011
【図８】
0005422129.tif 000012
【図９】
0005422129.tif 000013
【図１０】
0005422129.tif 000014
【図１１】
0005422129.tif 000015
【図１２】
0005422129.tif 000016
【図１３】
0005422129.tif 000017