欠陥検出装置、欠陥検出方法及びコンピュータプログラム
【課題】複雑な形状を有する物体であっても、複数のエッジ点に対して適切な基準線を設定し、該基準線からの各エッジ点の差異に基づいてバリ、欠け等の欠陥を正確に検出することができる欠陥検出装置、欠陥検出方法及びコンピュータプログラムを提供する。
【解決手段】検査対象となる物体の一部又は全ての輪郭線を含む画像から複数のエッジ点を検出する。所定の大きさの参照範囲内に存在する複数のエッジ点を代表する代表エッジ点を、参照範囲を順次移動させつつ、前記参照範囲の各移動位置にて算出する。算出された複数の代表エッジ点と対応するエッジ点との残差を算出し、算出された残差に基づいて欠陥の位置及び大きさを特定する。残差に重み付けをし、代表エッジ点を繰り返し算出して、擬似近似曲線(代表エッジ点列)を求める。
【解決手段】検査対象となる物体の一部又は全ての輪郭線を含む画像から複数のエッジ点を検出する。所定の大きさの参照範囲内に存在する複数のエッジ点を代表する代表エッジ点を、参照範囲を順次移動させつつ、前記参照範囲の各移動位置にて算出する。算出された複数の代表エッジ点と対応するエッジ点との残差を算出し、算出された残差に基づいて欠陥の位置及び大きさを特定する。残差に重み付けをし、代表エッジ点を繰り返し算出して、擬似近似曲線(代表エッジ点列)を求める。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、連結性のある複数のエッジ点に対して基準線を設定し、該基準線からの各エッジ点の差異に基づいてバリ、欠け等の欠陥を正確に検出することができる欠陥検出装置、欠陥検出方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
従来、撮像された画像からバリ、欠け等の欠陥も存在を検出する場合、例えば曲線形状の輪郭線を有する物体については、輪郭線に沿って一定間隔又は一定角度で複数のエッジ点を取得し、取得したエッジ点列を包絡する自由曲線を算出している。そして、算出された自由曲線と取得した各エッジ点との差分を求めることにより、欠陥の幅、高さ、面積等の特徴量を求め、バリ、欠け等の存在の有無を判定している。
【0003】
例えば特許文献1では、事前に登録してある教示画像と撮像画像とを比較し、画素ごとの偏差データを乗じた差分値を用いて所定の閾値より大きい部分が欠陥であると判断する画像処理方法が開示されている。また、特許文献2では、投影信号の微分情報に基づき、微分値が所定値より大きい部分を欠陥であると判定するガラス容器等の口部検査方法が開示されている。
【0004】
また、特許文献3及び4では、エッジ点列を回帰分析することにより、近似直線(特許文献3)又は近似円(特許文献4)を算出し、算出された近似直線又は近似円との差分に基づいて欠陥の存在を検出する検査方法が開示されている。
【特許文献1】特開2001−175865号公報
【特許文献2】特開2000−055827号公報
【特許文献3】特開2001−317927号公報
【特許文献4】特開2003−311464号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1に開示されている画像処理方法では、教示画像と撮像画像との位置あわせを正確に行う必要があり、形状が微妙に変化するような物体については欠陥判断の精度が低くなってしまうという問題点があった。また、特許文献2に開示されている検査方法では、微分情報を用いて判定していることから、欠陥の存在を検出できた場合であっても、欠陥の正確な幅、サイズ等を特定することができないという問題点があった。
【0006】
さらに、特許文献3及び4に開示されている検査方法では、直線状又は円状等の特定の形状に対しては精度良く欠陥判定を行うことができるものの、自由曲線形状を有する物体については判定することができないという問題点があった。
【0007】
自由曲線形状を有する物体について欠陥判定するためには、N次の近似曲線を求め、求めた近似曲線とエッジ点との差分を用いて欠陥の存在を判定する必要がある。しかし、形状が複雑な場合、近似曲線の次数Nを適切に設定することが困難であり、異なる曲線形状を含む物体である場合には、部分ごとに適切な次数が相違することから、適切な近似曲線を得ることができないという問題点もあった。
【0008】
本発明は上記事情に鑑みてなされたものであり、複雑な形状を有する物体であっても、複数のエッジ点に対して適切な基準線を設定し、該基準線からの各エッジ点の差異に基づいてバリ、欠け等の欠陥を正確に検出することができる欠陥検出装置、欠陥検出方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために第1発明に係る欠陥検出装置は、検査対象となる物体の輪郭線を含む画像に基づいて欠陥を検出する欠陥検出装置において、検査対象となる物体の一部又は全ての輪郭線を含む画像から複数のエッジ点を検出するエッジ点検出手段と、予め定められた所定の幅の参照範囲内に存在する複数の前記エッジ点を代表する代表エッジ点を、前記参照範囲を順次移動させつつ、前記参照範囲の各移動位置にて算出する代表エッジ点算出手段と、算出された複数の代表エッジ点と対応するエッジ点との残差を算出する残差算出手段と、算出された残差に基づいて欠陥の位置及び大きさを特定する欠陥特定手段とを備えることを特徴とする。
【0010】
また、第2発明に係る欠陥検出装置は、第1発明において、前記エッジ点検出手段で検出されたすべてのエッジ点と、対応するすべての代表エッジ点とを、同一の位置座標上で重ねて表示する第1の表示手段を備えることを特徴とする。
【0011】
また、第3発明に係る欠陥検出装置は、第1又は第2発明において、前記残差算出手段で算出された残差を表示する第2の表示手段を備えることを特徴とする。
【0012】
また、第4発明に係る欠陥検出装置は、第1乃至第3発明のいずれか1つにおいて、前記残差算出手段で算出された残差に基づいて、前記エッジ点に割り振る重み付け係数を算出する重み付け係数算出手段を備えることを特徴とする。
【0013】
また、第5発明に係る欠陥検出装置は、第4発明において、前記重み付け係数算出手段は、前記残差が大きい(小さい)ほど、重み付け係数を小さく(大きく)算出するようにしてあることを特徴とする。
【0014】
また、第6発明に係る欠陥検出装置は、第4又は第5発明において、前記代表エッジ点算出手段は、前記重み付け係数算出手段で算出された前記重み付け係数に基づいて前記代表エッジ点を再算出するようにしてあることを特徴とする。
【0015】
次に上記目的を達成するために第7発明に係る欠陥検出方法は、検査対象となる物体の輪郭線を含む画像に基づいて欠陥を検出する欠陥検出装置で実行することが可能な欠陥検出方法において、検査対象となる物体の一部又は全ての輪郭線を含む画像から複数のエッジ点を検出し、予め定められた所定の幅の参照範囲内に存在する複数の前記エッジ点を代表する代表エッジ点を、前記参照範囲を順次移動させつつ、前記参照範囲の各移動位置にて算出し、算出された複数の代表エッジ点と対応するエッジ点との残差を算出し、算出された残差に基づいて欠陥の位置及び大きさを特定することを特徴とする。
【0016】
また、第8発明に係る欠陥検出方法は、第7発明において、検出されたすべてのエッジ点と、対応するすべての代表エッジ点とを、同一の位置座標上で重ねて表示することを特徴とする。
【0017】
また、第9発明に係る欠陥検出方法は、第7又は第8発明において、算出された残差を表示することを特徴とする。
【0018】
また、第10発明に係る欠陥検出方法は、第7乃至第9発明のいずれか1つにおいて、算出された残差に基づいて、前記エッジ点を割り振る重み付け係数を算出することを特徴とする。
【0019】
また、第11発明に係る欠陥検出方法は、第10発明において、前記残差が大きい(小さい)ほど、重み付け係数を小さく(大きく)算出することを特徴とする。
【0020】
また、第12発明に係る欠陥検出方法は、第10又は第11発明において、算出された前記重み付け係数に基づいて前記代表エッジ点を再算出することを特徴とする。
【0021】
次に上記目的を達成するために第13発明に係るコンピュータプログラムは、検査対象となる物体の輪郭線を含む画像に基づいて欠陥を検出する欠陥検出装置で実行することが可能なコンピュータプログラムにおいて、前記欠陥検出装置を、検査対象となる物体の一部又は全ての輪郭線を含む画像から複数のエッジ点を検出するエッジ点検出手段、予め定められた所定の幅の参照範囲内に存在する複数の前記エッジ点を代表する代表エッジ点を、前記参照範囲を順次移動させつつ、前記参照範囲の各移動位置にて算出する代表エッジ点算出手段、算出された複数の代表エッジ点と対応するエッジ点との残差を算出する残差算出手段、及び算出された残差に基づいて欠陥の位置及び大きさを特定する欠陥特定手段として機能させることを特徴とする。
【0022】
第1発明、第7発明及び第13発明では、検査対象となる物体の一部又は全ての輪郭線を含む画像から複数のエッジ点を検出し、予め定められた所定の幅の参照範囲内に存在する複数の前記エッジ点を代表する代表エッジ点を、参照範囲を順次移動させつつ、前記参照範囲の各移動位置にて算出する。算出された複数の代表エッジ点と対応するエッジ点との残差を算出し、算出された残差に基づいて欠陥の位置及び大きさを特定する。事前に教示画像を準備する必要がなく、輪郭が直線状又は円状等の特定の形状を有している必要もないことから、任意の形状に対して欠陥を検出することができる。また、代表エッジ点を参照範囲を順次移動させつつ算出することにより、複雑な形状を有する物体であっても欠陥の正確な幅、サイズ等も含めて検出することができる。さらに参照範囲の幅を変動させることにより、検出可能な欠陥の大きさを調整することが可能となる。
【0023】
第2発明及び第8発明では、検出されたすべてのエッジ点と、対応するすべての代表エッジ点とを、同一の位置座標上で重ねて表示する。同一の位置座標上で重ねて表示することにより、バリ、欠け等の欠陥がどの位置にどのような大きさで生じているか容易に確認することができる。
【0024】
第3発明及び第9発明では、算出された残差も表示することにより、バリ、欠け等の欠陥がどの位置にどのような大きさで生じているかを、より明確に確認することができる。
【0025】
第4発明及び第10発明では、算出された残差に基づいて、前記エッジ点に割り振る重み付け係数を算出することにより、例えば欠陥である可能性が高いエッジ点には小さい重み付け係数を割り振り、欠陥である可能性が低いエッジ点には大きい重み付け係数を割り振り、割り振られた重み付け係数を用いて代表エッジ点の算出を行うことで、欠陥部分の影響を抑制した代表エッジ点を算出することができ、欠陥の検出能力を向上させることができる。
【0026】
第5発明及び第11発明では、残差が大きい(小さい)ほど、重み付け係数を小さく(大きく)算出することにより、欠陥である可能性が高いエッジ点には小さい重み付け係数を割り振り、欠陥である可能性が低いエッジ点には大きい重み付け係数を割り振り、割り振られた重み付け係数を用いて代表エッジ点の算出を行うことで、欠陥部分の影響を抑制した代表エッジ点を算出することができ、欠陥の検出能力を向上させることができる。
【0027】
第6発明及び第12発明では、算出された重み付け係数基づいて代表エッジ点を再算出する。代表エッジ点を再算出することにより、欠陥部分の影響を強く受けて歪んだ代表エッジ点列が算出されるのを未然に防止することができ、欠陥の検出能力を向上させることができる。
【0028】
なお、後述する実施の形態では、エッジ点検出手段は、主制御部21のステップS202の処理が、代表エッジ点算出手段は、主制御部21のステップS206乃至ステップS209の処理が、残差算出手段は、主制御部21のステップS210の処理が、欠陥特定手段は、主制御部21のステップS211、ステップS904、ステップS1207の処理が、それぞれ該当する。
【0029】
また、第1の表示手段及び第2の表示手段は、主制御部21のステップS212、ステップS905、ステップS1208の処理が、重み付け係数算出手段は、主制御部21のステップS901、ステップS1202の処理が、それぞれ該当する。
【発明の効果】
【0030】
本発明によれば、事前に教示画像を準備する必要がなく、輪郭が直線状又は円状等の特定の形状を有している必要もないことから、任意の形状に対して欠陥を検出することができる。また、代表エッジ点を参照範囲を順次移動させつつ算出することにより、複雑な形状を有する物体であっても欠陥の正確な幅、サイズ等も含めて検出することができる。さらに参照範囲の幅を変動させることにより、検出可能な欠陥の大きさを調整することが可能となる。
【発明を実施するための最良の形態】
【0031】
以下、本発明の実施の形態に係る欠陥検出装置について、図面を参照して説明する。なお、参照する図面を通じて、同一又は同様の構成又は機能を有する要素については、同一又は同様の符号を付して、詳細な説明を省略する。
【0032】
(実施の形態1)
図1は、本発明の実施の形態1に係る欠陥検出装置の構成を模式的に示すブロック図である。図1に示すように本実施の形態1に係る欠陥検出装置は、多値画像を撮像する撮像手段であるカメラ1及び撮像された多値画像又は生成された画像を表示する表示装置3に接続されている。
【0033】
欠陥検出装置2は、少なくともCPU(中央演算装置)、LSI等で構成された主制御部21、RAM22、記憶手段23、入力手段24、出力手段25、通信手段26、補助記憶手段27及び上述したハードウェアを接続する内部バス28で構成されている。主制御部21は、内部バス28を介して欠陥検出装置2の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶手段23に記憶されているコンピュータプログラム5に従って、種々のソフトウェア的機能を実行する。RAM22は、SRAM、SDRAM等の揮発性メモリで構成され、コンピュータプログラム5の実行時にロードモジュールが展開され、コンピュータプログラム5の実行時に発生する一時的なデータ等を記憶する。
【0034】
記憶手段23は、内蔵される固定型記憶装置(ハードディスク、フラッシュメモリ)、ROM等で構成されている。記憶手段23に記憶されているコンピュータプログラム5は、プログラム及びデータ等の情報を記録したDVD、CD−ROM、フラッシュメモリ等の可搬型記録媒体4から、補助記憶手段27によりダウンロードされ、実行時には記憶手段23からRAM22へ展開して実行される。もちろん、通信手段26を介して外部コンピュータからダウンロードされたコンピュータプログラムであっても良い。
【0035】
通信手段26は内部バス28に接続されており、インターネット、LAN、WAN等の外部のネットワークに接続されることにより、外部のコンピュータ等とデータ送受信を行うことが可能となっている。すなわち、上述した記憶手段23は、欠陥検出装置2に内蔵される構成に限定されるものではなく、通信手段26を介して接続されている外部のサーバコンピュータ等に設置されているハードディスク等の外部記録媒体であっても良い。
【0036】
入力手段24は、キーボード及びマウス等のデータ入力媒体の他、液晶パネル等と一体となったタッチパネル等の入力情報を取得する装置全般を含む広い概念である。出力手段25は、レーザプリンタ、ドットプリンタ等の印刷装置等を意味する。
【0037】
カメラ1は、CCD撮像素子を備えたCCDカメラ等である。表示装置3は、CRT、液晶パネル等を有する表示装置である。カメラ1、表示装置3等は、欠陥検出装置2と一体化されても良いし、分離されていても良い。
【0038】
上述した構成の欠陥検出装置2の処理の流れについて説明する。本実施の形態1に係る欠陥検出装置2では、検査対象となる物体の輪郭線を示すエッジ点列に基づいて近似曲線を求める。エッジ点列に対して直接近似曲線を求めるのではなく、局所的な代表エッジ点を複数点算出し、代表エッジ点列を補間した擬似的な近似曲線を求めることにより、様々な曲線に対応することが可能となる。図2は、本発明の実施の形態1に係る欠陥検出装置2の主制御部21の処理手順を示すフローチャートである。
【0039】
図2に示すように、本実施の形態1に係る欠陥検出装置2の主制御部21は、カメラ1で撮像された、検査対象となる物体の一部又は全ての輪郭線を含む多値画像を取得し(ステップS201)、取得した多値画像から複数のエッジ点を検出する(ステップS202)。
【0040】
エッジ点の検出方法は、周知の検出方法であれば特に限定されるものではない。例えば、エッジ点の検出対象となる領域である対象領域内にて、任意の大きさのセグメントを移動させ、セグメントが移動したそれぞれの位置にて1エッジ点を検出する。図3は、対象領域が矩形領域である場合のエッジ点検出方法を説明する模式図である。
【0041】
検査対象となる物体30の輪郭線の一部又は全てを含む対象領域31内に、所定の幅Bを有する矩形領域であるセグメント32を設定する。セグメント32を矢印33の方向にスパン34にて順次移動させ、移動位置ごとに物体30の輪郭線の中点の座標値をエッジ点35、35、・・・として検出する。
【0042】
セグメント32の幅Bを大きくするほど、ノイズに左右されること無くエッジ点を安定して検出することができる。一方、細かい変動は無視されるようになる。また、セグメント32の幅Bを大きくするほど、エッジ点の検出時間を短縮することができるが、検出されるエッジ点の数は少なくなり、欠陥検出の精度は低下する。
【0043】
また図4は、対象領域が円形領域である場合のエッジ点検出方法を説明する模式図である。対象領域が円形領域である場合には、極座標変換を実行した後にエッジ点を以下の手順で検出する。
【0044】
検査対象となる物体40の輪郭線の一部又は全てを含む対象領域41内に、所定の中心角θを有する領域であるセグメント42を設定する。セグメント42を矢印43の方向にスパン中心角44にて回転移動させ、回転位置ごとに物体40の輪郭線の中点の極座標値をエッジ点45、45、・・・として検出する。
【0045】
セグメント42の中心角θを大きくするほど、ノイズに左右されること無くエッジ点を安定して検出することができる。一方、細かい変動は無視されるようになる。また、セグメント42の中心角θを大きくするほど、エッジ点の検出時間を短縮することができるが、検出されるエッジ点の数は少なくなり、欠陥検出の精度は低下する。
【0046】
本実施の形態1では、対象領域が矩形領域である場合を例に挙げて、以下の処理を説明するが、極座標変換した場合には対象領域が円形領域である場合であっても同様の処理を実行することができることは言うまでもない。図5は、対象領域が矩形領域である場合に検出されたエッジ点の例示図である。
【0047】
図5では、セグメント32の移動方向をX軸方向、該X軸方向に直交する方向をY軸方向とした場合のエッジ点列を例示している。図5の例では、エッジ点51、及びエッジ点列52に欠陥が含まれていると推測することができる。
【0048】
図2に戻って、欠陥検出装置2の主制御部21は、予め定められた幅の参照範囲の設定を受け付け(ステップS203)、参照範囲の移動量の設定も受け付ける(ステップS204)。そして主制御部21は、参照範囲の移動開始位置(初期位置)の設定を受け付ける(ステップS205)。
【0049】
ステップS203にて設定することが可能な参照範囲は、上述したエッジ検出方法で設定したスパン34に基づいて、少なくとも2つの隣接するエッジ点を含む範囲が設定することが可能な最小の幅となる。それ以上広い範囲は、ユーザが所望する、参照範囲内に含ませたいエッジ点の数によっては、それ以上に広い範囲で設定しても良い。
【0050】
またステップS204にて設定することが可能な参照範囲の移動量は、上述したエッジ検出方法で設定したスパン34、つまりエッジ点間の幅が最小の移動量となる。それ以上の移動量は、エッジ点間の最小移動量の整数倍として設定することが可能である。
【0051】
また、ステップS205での参照範囲の初期位置は、任意の位置にユーザにより設定可能とする代わりに、上述したエッジ検出時に検出した最も左端に位置するエッジ点を中心とした位置に自動的に設定するようにしても良い。この場合、後述する2次の近似曲線を用いる場合には、エッジ点が最低3点必要となる。しかし、移動開始の位置においては、最小二乗法による計算で必要な点数が範囲内に存在しないことから、例外的な処理として、参照範囲の中心に位置するエッジ点を代表エッジ点とすれば良い。
【0052】
したがって、ステップS203における参照範囲の幅、及びステップS204における参照範囲の移動量の最小単位は、上述するエッジ点検出方法を実行する場合に用いるセグメントの移動スパンに基づいて設定される。
【0053】
主制御部21は、移動開始位置における参照範囲内に含まれる複数のエッジ点を代表する代表エッジ点を算出する(ステップS206)。図6は、代表エッジ点の算出方法を説明するための模式図である。
【0054】
図6では、参照範囲61中に存在する注目エッジ点62を中心として、左右3個ずつ、総計7点のエッジ点63、63、・・・に基づいて、エッジ点列のN次回帰曲線64を求めている。参照範囲61の幅は、検出対象となる欠陥の大きさに合わせて設定することが可能となっている。代表エッジ点65は、注目エッジ点62のX座標値に対応するN次回帰曲線64のY座標値として算出する。
【0055】
なお、N次回帰曲線の次数については特に限定されるものではなく、可変でも良いし固定でも良い。また、Nを'2'と仮定すると、N次回帰曲線64を求めるためには、少なくとも参照範囲61内にエッジ点が3点含まれていることが必要となる。なお、計算コストと性能とを考慮した場合、回帰曲線の次数は'2'程度で良いが、次数が'1'でも計算することは可能である。
【0056】
回帰曲線の次数が'2'である場合の具体的な計算方法としては、上述したエッジ点検出方法にて得られたエッジ点列を(xi 、yi )、求める回帰曲線をy=ax2 +bx+cとした場合、式(1)の行列方程式を解くことにより、最小二乗法による近似曲線のパラメータa、b、cを求めることができる。
【0057】
【数1】
【0058】
参照範囲61中に、回帰曲線を算出するために必要な個数のエッジ点が存在しない場合、例えば取得した画像の端部について代表エッジ点を算出する場合には、エッジ点自体を代表エッジ点として算出する。このようにすることで、参照範囲の移動量の間隔ごとに、必ず一点ずつ代表エッジ点を求めることができる。
【0059】
参照範囲61の幅に応じて、検出される欠陥の大きさ(サイズ)を制御することができる。すなわち、参照範囲61の幅が広い場合には、大きな欠陥も検出対象とすることができるのに対して、参照範囲61の幅が狭い場合には、小さな欠陥は検出対象とすることができるが、大きな欠陥は、求めた代表エッジ点列間を曲線又は直線で補間した近似曲線(以下、擬似近似曲線という)の対象となり、欠陥として検出しないようにすることができる。このため、ユーザが検出したい欠陥のサイズに対応する幅を設定することにより、所望の欠陥を検出することができる。
【0060】
図2に戻って、欠陥検出装置2の主制御部21は、参照範囲61を設定された移動量だけ移動させた後の移動位置を特定し(ステップS207)、参照範囲61が最終位置まで移動したか否か、例えば移動する参照範囲61に含まれなかったエッジ点が存在するか否かを判断する(ステップS208)。
【0061】
主制御部21が、欠陥を検出する対象領域全てを包含していないと判断した場合(ステップS208:NO)、主制御部21は、参照範囲61の位置を移動後の位置に設定し(ステップS209)、処理をステップS206へ戻し、上述した処理を繰り返す。主制御部21が、欠陥を検出する対象領域全てを包含したと判断した場合(ステップS208:YES)、主制御部21は、算出された複数の代表エッジ点の座標値(Y座標値)と対応するエッジ点の座標値(Y座標値)との残差をエッジ点ごとに算出する(ステップS210)。主制御部21は、算出された残差に基づいて欠陥の位置及び大きさを特定する(ステップS211)。
【0062】
なお、残差の算出方法は特に限定されるものではないが、例えば代表エッジ点列がエッジ点列と同一の間隔で算出されている場合には、X座標値が一致するエッジ点と代表エッジ点とのY座標値の差分を算出すれば足りる。一方、代表エッジ点列の間隔がエッジ点列の間隔と相違する場合には、代表エッジ点間を補間した補間値とエッジ点とのY座標値の差分を算出すれば良い。補間方法としては、単純な直線補間であっても良いし、ラグランジェ補間、スプライン補間等の曲線補間であっても良い。
【0063】
主制御部21は、特定された欠陥の位置及びサイズに関する情報を表示出力する(ステップS212)。表示出力される情報は特に限定されるものではないが、例えば検出されたエッジ点63、63、・・・と、それぞれに対応する代表エッジ点65、65、・・・とを、同一の位置座標軸にて重ねて、表示装置3に表示出力することが好ましい。バリ、欠け等の欠陥がどの位置にどのような大きさで生じているか容易に確認することができるからである。
【0064】
図7は、参照範囲61を1エッジ点間隔で移動させた場合に算出された代表エッジ点を、対応するエッジ点と同一の位置座標軸に表示した例示図である。図7では、各エッジ点63につき、対応する代表エッジ点65が1点ずつ算出されている。欠陥と推定されるエッジ点51、及びエッジ点列52が存在していても、欠陥を包絡することのない近似曲線が求まっていることがわかる。したがって、エッジ点51、及びエッジ点列52の位置を容易に特定することができ、近似曲線との差分によりエッジ点51、及びエッジ点列52における欠陥の大きさを特定することができる。
【0065】
また主制御部21が、算出された代表エッジ点と対応するエッジ点との残差を、エッジ点63、63、・・・及び代表エッジ点65、65、・・・と同一の位置座標軸にて重ねて、表示装置3に表示出力しても良い。バリ、欠け等の欠陥がどの位置にどのような大きさで生じているかを明確にすることができるからである。
【0066】
図8は、算出された代表エッジ点と、対応するエッジ点との残差を同一の位置座標軸に表示した場合の例示図である。図8では、各残差81がエッジ点と同一の位置座標軸に表示されており、欠陥と推定されるエッジ点51、及びエッジ点列52に対応する位置では、残差82、83が突出した値を示していることがわかる。また、残差82、83の値により、エッジ点51、及びエッジ点列52における欠陥の大きさも正確に把握することができる。
【0067】
以上のように本実施の形態1によれば、事前に教示画像を準備する必要がなく、輪郭が直線状又は円状等の特定の形状を有している必要もないことから、任意の形状に対して欠陥を検出することができる。また、代表エッジ点を、参照範囲を順次移動させつつ算出することにより、複雑な形状を有する物体であっても欠陥の正確な幅、サイズ等も含めて検出することができる。さらに参照範囲の幅を変動させることにより、検出可能な欠陥の大きさ(サイズ)を調整することが可能となる。
【0068】
(実施の形態2)
本発明の実施の形態2に係る欠陥検出装置の構成は、実施の形態1と同様であることから、同一の符号を付することにより詳細な説明は省略する。本実施の形態2では、残差に基づいて各エッジ点に重み付けを行い、該重み付けに基づいて代表エッジ点列を算出する点で実施の形態1と相違する。
【0069】
図9は、本発明の実施の形態2に係る欠陥検出装置2の主制御部21の処理手順を示すフローチャートである。図9において、ステップS210までの処理は実施の形態1の図2と同様の処理であることから、詳細な説明は省略する。本発明の実施の形態2に係る欠陥検出装置2の主制御部21は、算出された複数の代表エッジ点と対応するエッジ点との残差をエッジ点ごとに算出する(ステップS210)。
【0070】
主制御部21は、算出された残差に基づいて、各エッジ点に割り振る重み付け係数を算出する(ステップS901)。なお、重み付け係数は、該重み付け係数を用いて生成される擬似近似曲線(代表エッジ点列)にて、検出した欠陥に関与するエッジ点による影響を極力抑制するために、検出された残差が大きい場合には重み付けが小さく、小さい場合には重み付けが大きくなるように設定している。本実施の形態2では、重み付け係数Wi (iはエッジ点を識別する点列番号)は0≦Wi ≦1の値を取り、代表エッジ点列と近いエッジ点ほど1に近づく値となるようにしてあり、代表エッジ点列と遠いエッジ点ほど0に近づく値となるようにしてある。
【0071】
具体的には、算出された全ての残差di (iはエッジ点を識別する点列番号)について標準偏差σを算出する。各エッジ点に割り振る重み付け係数Wi は、式(2)に従って算出される。式(1)において、Cは、重み付け係数Wiの変化度合を調整するための定数である。
【0072】
【数2】
【0073】
図10は、重み付け係数Wi の分布度合の例示図である。図10に示すように、残差di が一定値C×σ以上であるエッジ点は重み付け係数Wi を0にする。残差di がそれ以下のエッジ点については、0≦Wi ≦1の範囲で重み付け係数Wi を割り振る。代表エッジ点と一致したエッジ点、すなわち残差di が0である場合の重み付け係数Wi を1とし、代表エッジ点から離れるに従って0に近づけるよう重み付け係数Wi を割り振る。
【0074】
なお、残差di の標準偏差σを基準に重み付け係数Wiの変化度合を算出する方法に限定されるものではなく、他の統計値、例えば残差di の中央値(メディアン)を用いて、中央値での重み付け係数Wi を1とし、中央値から離れるに従って0に近づけるよう重み付け係数Wi を割り振っても良い。
【0075】
図9に戻って、主制御部21は、上述した実施の形態1にて説明した通常の最小二乗法によって求めた代表エッジ点列に対して、各エッジ点に割り振られた重み付け係数Wi を用いて、代表エッジ点を再算出する(ステップS902)。
【0076】
Nの次数が二次である場合の具体的な計算方法としては、上述したエッジ点検出方法にて得られたエッジ点列を(xi 、yi )、各エッジ点に割り振られた重み付け係数をWi 、求める回帰曲線をy=ax2 +bx+cとした場合、式(3)の行列方程式を解くことにより、最小二乗法による近似曲線のパラメータa、b、cを求めることができる。
【0077】
【数3】
【0078】
主制御部21は、得られた代表エッジ点とエッジ点との残差を再度算出して(ステップS903)、算出された残差に基づいて欠陥の位置及び大きさを特定する(ステップS904)。
【0079】
欠陥の判定方法は、特に限定されるものではないが、例えば所定の閾値以上の残差が存在するか否かを判断し、存在すると判断された位置に欠陥が存在すると判断しても良い。
【0080】
主制御部21は、特定された欠陥の位置及びサイズに関する情報を表示出力する(ステップS905)。表示出力される情報は特に限定されるものではないが、例えば実施の形態1と同様、検出されたエッジ点63、63、・・・と、それぞれに対応する代表エッジ点65、65、・・・とを、同一の位置座標軸にて重ねて、表示装置3に表示出力することが好ましい。バリ、欠け等の欠陥がどの位置にどのような大きさで生じているか容易に確認することができるからである。
【0081】
図11は、参照範囲61を1エッジ点間隔で移動させた場合に算出された代表エッジ点を、対応するエッジ点と同一の位置座標軸に表示した例示図である。図11では、各エッジ点63につき、対応する代表エッジ点65が1点ずつ算出されている。欠陥と推定されるエッジ点51、及びエッジ点列52が存在していても、欠陥に影響されて擬似近似曲線(代表エッジ点列)が彎曲する度合が実施の形態1よりも弱まり、自然な擬似近似曲線(代表エッジ点列)が求まっていることがわかる。したがって、欠陥と推定されるエッジ点51、及びエッジ点列52の位置を容易に特定することができ、擬似近似曲線(代表エッジ点列)との差分によりエッジ点51、及びエッジ点列52における欠陥の大きさをより正確に特定することができる。
【0082】
また実施の形態1と同様、主制御部21は、算出された代表エッジ点と対応するエッジ点との残差を、エッジ点63、63、・・・及び代表エッジ点65、65、・・・と同一の位置座標軸にて重ねて、表示装置3に表示出力しても良い。バリ、欠け等の欠陥がどの位置にどのような大きさで生じているかを明確にすることができるからである。
【0083】
なお、上述した重み付け係数による代表エッジ点の再算出処理を一定の回数繰り返し実行することにより、より欠陥部分の影響を受けない擬似近似曲線(代表エッジ点列)を求めることができ、欠陥部分の位置、大きさ等をより正確に検出することができる。図12は、繰り返し算出する場合の主制御部21の処理手順を示すフローチャートである。図12において、ステップS210までの処理は実施の形態1の図2と同様の処理であることから、詳細な説明は省略する。
【0084】
図12に示すように、欠陥検出装置2の主制御部21は、カウンタを初期化しておき(本実施の形態2では0に設定)、算出された複数の代表エッジ点と対応するエッジ点との残差をエッジ点ごとに算出する(ステップS210)。主制御部21は、カウンタを1インクリメントし(ステップS1201)、算出された残差に基づいて、各エッジ点に割り振る重み付け係数を算出し(ステップS1202)、算出された重み付け係数を用いて代表エッジ点の算出を行う(ステップS1203)。重み付け係数Wi (iはエッジ点を識別する点列番号)の算出方法は上述した方法と同様であることから、詳細な説明は省略する。
【0085】
主制御部21は、得られた代表エッジ点とエッジ点との残差を再度算出して(ステップS1204)、カウンタが所定値以上であるか否かを判断する(ステップS1205)。
【0086】
主制御部21が、カウンタが所定値より小さいと判断した場合(ステップS1205:NO)、主制御部21は、カウンタを1インクリメントし(ステップS1206)、処理をステップS1202へ戻して、上述した処理を繰り返す。主制御部21が、カウンタが所定値以上であると判断した場合(ステップS1205:YES)、主制御部21は、算出された残差に基づいて欠陥の位置及び大きさを特定する(ステップS1207)。
【0087】
主制御部21は、特定された欠陥の位置及びサイズに関する情報を表示出力する(ステップS1208)。表示出力される情報は特に限定されるものではないが、例えば実施の形態1と同様、検出されたエッジ点と、それぞれに対応する代表エッジ点とを、同一の位置座標軸にて重ねて、表示装置3に表示出力することが好ましい。バリ、欠け等の欠陥がどの位置にどのような大きさで生じているか容易に確認することができるからである。
【0088】
以上のように本実施の形態2によれば、残差を算出して、重み付け係数を算出し、代表エッジ点を再算出するという一連の処理を所定の回数繰り返し実行することにより、欠陥の存在に影響されて擬似近似曲線(代表エッジ点列)が彎曲することがほとんど無くなり、検出すべき欠陥以外のエッジ点を包絡した自然な擬似近似曲線(代表エッジ点列)を求めることができる。したがって、欠陥の位置を容易に特定することができ、擬似近似曲線(代表エッジ点列)との差分により欠陥の大きさをより正確に特定することができる。
【0089】
もちろん、実施の形態1と同様、主制御部21は、算出された代表エッジ点と対応するエッジ点との残差を、エッジ点及び代表エッジ点と同一の位置座標軸にて重ねて、表示装置3に表示出力しても良い。バリ、欠け等の欠陥がどの位置にどのような大きさで生じているかを明確にすることができるからである。
【0090】
なお、本実施の形態1及び2で用いる欠陥の判定方法は、本実施の形態1に開示されている方法に限定されるものではない。例えば所定の閾値以上である残差が連続して存在する場合、斯かる残差算出の基礎となったエッジ点列を一つの連続体と判断し、連続体ごとに幅(連続点数)、面積(閾値を超えたエッジ点の残差の総和)、重心位置等の特徴量を算出し、基準の特徴量と対比することにより欠陥であるか否かを判断しても良い。
【0091】
また、残差の統計的な特徴量として、残差の最大値、最小値、平均値、標準偏差、閾値を超えたエッジ点数、閾値を超えた総面積(閾値を超えたエッジ点の残差の総和)等を算出し、基準の特徴量と対比することにより欠陥であるか否かを判定しても良い。
【0092】
なお、本実施の形態1及び2における参照範囲61は、ユーザにより適切な値を入力することが好ましい。検出対象となる欠陥の大きさに応じて、検出できるか否かを調整するためである。図13は、表示装置3で表示されるユーザインタフェースの例示図である。なお、本発明で検出対象となる欠陥の大きさとは、参照範囲の幅方向における大きさ(サイズ)を意味している。
【0093】
図13に示すように、画像表示領域1301には、取得した多値画像又は該多値画像にエッジ点列、擬似近似曲線(代表エッジ点列)を重ねて表示する。残差表示領域1302には、エッジ点と擬似近似曲線(代表エッジ点列)との残差が波形として表示される。X座標が画像表示領域1301と合致しているので、欠陥がどこに存在するのか目視確認することができる。
【0094】
また、表示画像選択領域1303では、処理の状態を確認するために用いる画像を選択する。例えば、事前に記憶手段23に登録してある画像を用いる場合には「登録画像」を、任意のタイミングで取り込む画像を用いる場合には「入力画像」を選択する。
【0095】
近似線モデル選択領域1304では、エッジ点列を近似する場合に用いる近似線モデルを選択する。例えば直線、円、楕円、自由曲線等を選択することができる。欠陥検出方向特定領域1305では、欠陥として検出する凹凸の方向を特定する。たとえば「+方向」では凸部のみを欠陥の検出対象とし、「−方向」では凹部のみを欠陥の検出対象とし、「+−両方」では凹部及び凸部の両方を欠陥の検出対象とする。
【0096】
参照範囲設定領域1306では、検出対象となる欠陥の大きさに合わせて参照範囲の幅を設定する。図13では全エッジ点数に対する参照点数の割合で設定しているが、特にこれに限定されるものではない。閾値設定領域1307では、残差に対して欠陥であるか否かを判断する基準となる閾値を設定する。
【0097】
ユーザは、参照範囲設定領域1306及び閾値設定領域1307での設定値を変更しつつ、画像表示領域1301及び残差表示領域1302に表示される結果出力を参照することができ、検出した欠陥に応じたパラメータ設定を容易に行うことができる。
【図面の簡単な説明】
【0098】
【図1】本発明の実施の形態1に係る欠陥検出装置の構成を模式的に示すブロック図である。
【図2】本発明の実施の形態1に係る欠陥検出装置の主制御部の処理手順を示すフローチャートである。
【図3】対象領域が矩形領域である場合のエッジ点検出方法を説明する模式図である。
【図4】対象領域が円形領域である場合のエッジ点検出方法を説明する模式図である。
【図5】対象領域が矩形領域である場合に検出されたエッジ点の例示図である。
【図6】代表エッジ点の算出方法を説明するための模式図である。
【図7】参照範囲を1エッジ点間隔で移動させた場合に算出された代表エッジ点を、対応するエッジ点と同一の位置座標軸に表示した例示図である。
【図8】算出された代表エッジ点と、対応するエッジ点との残差を同一の位置座標軸に表示した場合の例示図である。
【図9】本発明の実施の形態2に係る欠陥検出装置の主制御部の処理手順を示すフローチャートである。
【図10】重み付け係数の分布度合の例示図である。
【図11】参照範囲を1エッジ点間隔で移動させた場合に算出された代表エッジ点を、対応するエッジ点と同一の位置座標軸に表示した例示図である。
【図12】繰り返し算出する場合の主制御部の処理手順を示すフローチャートである。
【図13】表示装置で表示されるユーザインタフェースの例示図である。
【符号の説明】
【0099】
1 カメラ(撮像手段)
2 欠陥検出装置
3 表示装置
4 可搬型記録媒体
5 コンピュータプログラム
21 主制御部
22 RAM
23 記憶手段
24 入力手段
25 出力手段
26 通信手段
27 補助記憶手段
28 内部バス
【技術分野】
【0001】
本発明は、連結性のある複数のエッジ点に対して基準線を設定し、該基準線からの各エッジ点の差異に基づいてバリ、欠け等の欠陥を正確に検出することができる欠陥検出装置、欠陥検出方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
従来、撮像された画像からバリ、欠け等の欠陥も存在を検出する場合、例えば曲線形状の輪郭線を有する物体については、輪郭線に沿って一定間隔又は一定角度で複数のエッジ点を取得し、取得したエッジ点列を包絡する自由曲線を算出している。そして、算出された自由曲線と取得した各エッジ点との差分を求めることにより、欠陥の幅、高さ、面積等の特徴量を求め、バリ、欠け等の存在の有無を判定している。
【0003】
例えば特許文献1では、事前に登録してある教示画像と撮像画像とを比較し、画素ごとの偏差データを乗じた差分値を用いて所定の閾値より大きい部分が欠陥であると判断する画像処理方法が開示されている。また、特許文献2では、投影信号の微分情報に基づき、微分値が所定値より大きい部分を欠陥であると判定するガラス容器等の口部検査方法が開示されている。
【0004】
また、特許文献3及び4では、エッジ点列を回帰分析することにより、近似直線(特許文献3)又は近似円(特許文献4)を算出し、算出された近似直線又は近似円との差分に基づいて欠陥の存在を検出する検査方法が開示されている。
【特許文献1】特開2001−175865号公報
【特許文献2】特開2000−055827号公報
【特許文献3】特開2001−317927号公報
【特許文献4】特開2003−311464号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1に開示されている画像処理方法では、教示画像と撮像画像との位置あわせを正確に行う必要があり、形状が微妙に変化するような物体については欠陥判断の精度が低くなってしまうという問題点があった。また、特許文献2に開示されている検査方法では、微分情報を用いて判定していることから、欠陥の存在を検出できた場合であっても、欠陥の正確な幅、サイズ等を特定することができないという問題点があった。
【0006】
さらに、特許文献3及び4に開示されている検査方法では、直線状又は円状等の特定の形状に対しては精度良く欠陥判定を行うことができるものの、自由曲線形状を有する物体については判定することができないという問題点があった。
【0007】
自由曲線形状を有する物体について欠陥判定するためには、N次の近似曲線を求め、求めた近似曲線とエッジ点との差分を用いて欠陥の存在を判定する必要がある。しかし、形状が複雑な場合、近似曲線の次数Nを適切に設定することが困難であり、異なる曲線形状を含む物体である場合には、部分ごとに適切な次数が相違することから、適切な近似曲線を得ることができないという問題点もあった。
【0008】
本発明は上記事情に鑑みてなされたものであり、複雑な形状を有する物体であっても、複数のエッジ点に対して適切な基準線を設定し、該基準線からの各エッジ点の差異に基づいてバリ、欠け等の欠陥を正確に検出することができる欠陥検出装置、欠陥検出方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために第1発明に係る欠陥検出装置は、検査対象となる物体の輪郭線を含む画像に基づいて欠陥を検出する欠陥検出装置において、検査対象となる物体の一部又は全ての輪郭線を含む画像から複数のエッジ点を検出するエッジ点検出手段と、予め定められた所定の幅の参照範囲内に存在する複数の前記エッジ点を代表する代表エッジ点を、前記参照範囲を順次移動させつつ、前記参照範囲の各移動位置にて算出する代表エッジ点算出手段と、算出された複数の代表エッジ点と対応するエッジ点との残差を算出する残差算出手段と、算出された残差に基づいて欠陥の位置及び大きさを特定する欠陥特定手段とを備えることを特徴とする。
【0010】
また、第2発明に係る欠陥検出装置は、第1発明において、前記エッジ点検出手段で検出されたすべてのエッジ点と、対応するすべての代表エッジ点とを、同一の位置座標上で重ねて表示する第1の表示手段を備えることを特徴とする。
【0011】
また、第3発明に係る欠陥検出装置は、第1又は第2発明において、前記残差算出手段で算出された残差を表示する第2の表示手段を備えることを特徴とする。
【0012】
また、第4発明に係る欠陥検出装置は、第1乃至第3発明のいずれか1つにおいて、前記残差算出手段で算出された残差に基づいて、前記エッジ点に割り振る重み付け係数を算出する重み付け係数算出手段を備えることを特徴とする。
【0013】
また、第5発明に係る欠陥検出装置は、第4発明において、前記重み付け係数算出手段は、前記残差が大きい(小さい)ほど、重み付け係数を小さく(大きく)算出するようにしてあることを特徴とする。
【0014】
また、第6発明に係る欠陥検出装置は、第4又は第5発明において、前記代表エッジ点算出手段は、前記重み付け係数算出手段で算出された前記重み付け係数に基づいて前記代表エッジ点を再算出するようにしてあることを特徴とする。
【0015】
次に上記目的を達成するために第7発明に係る欠陥検出方法は、検査対象となる物体の輪郭線を含む画像に基づいて欠陥を検出する欠陥検出装置で実行することが可能な欠陥検出方法において、検査対象となる物体の一部又は全ての輪郭線を含む画像から複数のエッジ点を検出し、予め定められた所定の幅の参照範囲内に存在する複数の前記エッジ点を代表する代表エッジ点を、前記参照範囲を順次移動させつつ、前記参照範囲の各移動位置にて算出し、算出された複数の代表エッジ点と対応するエッジ点との残差を算出し、算出された残差に基づいて欠陥の位置及び大きさを特定することを特徴とする。
【0016】
また、第8発明に係る欠陥検出方法は、第7発明において、検出されたすべてのエッジ点と、対応するすべての代表エッジ点とを、同一の位置座標上で重ねて表示することを特徴とする。
【0017】
また、第9発明に係る欠陥検出方法は、第7又は第8発明において、算出された残差を表示することを特徴とする。
【0018】
また、第10発明に係る欠陥検出方法は、第7乃至第9発明のいずれか1つにおいて、算出された残差に基づいて、前記エッジ点を割り振る重み付け係数を算出することを特徴とする。
【0019】
また、第11発明に係る欠陥検出方法は、第10発明において、前記残差が大きい(小さい)ほど、重み付け係数を小さく(大きく)算出することを特徴とする。
【0020】
また、第12発明に係る欠陥検出方法は、第10又は第11発明において、算出された前記重み付け係数に基づいて前記代表エッジ点を再算出することを特徴とする。
【0021】
次に上記目的を達成するために第13発明に係るコンピュータプログラムは、検査対象となる物体の輪郭線を含む画像に基づいて欠陥を検出する欠陥検出装置で実行することが可能なコンピュータプログラムにおいて、前記欠陥検出装置を、検査対象となる物体の一部又は全ての輪郭線を含む画像から複数のエッジ点を検出するエッジ点検出手段、予め定められた所定の幅の参照範囲内に存在する複数の前記エッジ点を代表する代表エッジ点を、前記参照範囲を順次移動させつつ、前記参照範囲の各移動位置にて算出する代表エッジ点算出手段、算出された複数の代表エッジ点と対応するエッジ点との残差を算出する残差算出手段、及び算出された残差に基づいて欠陥の位置及び大きさを特定する欠陥特定手段として機能させることを特徴とする。
【0022】
第1発明、第7発明及び第13発明では、検査対象となる物体の一部又は全ての輪郭線を含む画像から複数のエッジ点を検出し、予め定められた所定の幅の参照範囲内に存在する複数の前記エッジ点を代表する代表エッジ点を、参照範囲を順次移動させつつ、前記参照範囲の各移動位置にて算出する。算出された複数の代表エッジ点と対応するエッジ点との残差を算出し、算出された残差に基づいて欠陥の位置及び大きさを特定する。事前に教示画像を準備する必要がなく、輪郭が直線状又は円状等の特定の形状を有している必要もないことから、任意の形状に対して欠陥を検出することができる。また、代表エッジ点を参照範囲を順次移動させつつ算出することにより、複雑な形状を有する物体であっても欠陥の正確な幅、サイズ等も含めて検出することができる。さらに参照範囲の幅を変動させることにより、検出可能な欠陥の大きさを調整することが可能となる。
【0023】
第2発明及び第8発明では、検出されたすべてのエッジ点と、対応するすべての代表エッジ点とを、同一の位置座標上で重ねて表示する。同一の位置座標上で重ねて表示することにより、バリ、欠け等の欠陥がどの位置にどのような大きさで生じているか容易に確認することができる。
【0024】
第3発明及び第9発明では、算出された残差も表示することにより、バリ、欠け等の欠陥がどの位置にどのような大きさで生じているかを、より明確に確認することができる。
【0025】
第4発明及び第10発明では、算出された残差に基づいて、前記エッジ点に割り振る重み付け係数を算出することにより、例えば欠陥である可能性が高いエッジ点には小さい重み付け係数を割り振り、欠陥である可能性が低いエッジ点には大きい重み付け係数を割り振り、割り振られた重み付け係数を用いて代表エッジ点の算出を行うことで、欠陥部分の影響を抑制した代表エッジ点を算出することができ、欠陥の検出能力を向上させることができる。
【0026】
第5発明及び第11発明では、残差が大きい(小さい)ほど、重み付け係数を小さく(大きく)算出することにより、欠陥である可能性が高いエッジ点には小さい重み付け係数を割り振り、欠陥である可能性が低いエッジ点には大きい重み付け係数を割り振り、割り振られた重み付け係数を用いて代表エッジ点の算出を行うことで、欠陥部分の影響を抑制した代表エッジ点を算出することができ、欠陥の検出能力を向上させることができる。
【0027】
第6発明及び第12発明では、算出された重み付け係数基づいて代表エッジ点を再算出する。代表エッジ点を再算出することにより、欠陥部分の影響を強く受けて歪んだ代表エッジ点列が算出されるのを未然に防止することができ、欠陥の検出能力を向上させることができる。
【0028】
なお、後述する実施の形態では、エッジ点検出手段は、主制御部21のステップS202の処理が、代表エッジ点算出手段は、主制御部21のステップS206乃至ステップS209の処理が、残差算出手段は、主制御部21のステップS210の処理が、欠陥特定手段は、主制御部21のステップS211、ステップS904、ステップS1207の処理が、それぞれ該当する。
【0029】
また、第1の表示手段及び第2の表示手段は、主制御部21のステップS212、ステップS905、ステップS1208の処理が、重み付け係数算出手段は、主制御部21のステップS901、ステップS1202の処理が、それぞれ該当する。
【発明の効果】
【0030】
本発明によれば、事前に教示画像を準備する必要がなく、輪郭が直線状又は円状等の特定の形状を有している必要もないことから、任意の形状に対して欠陥を検出することができる。また、代表エッジ点を参照範囲を順次移動させつつ算出することにより、複雑な形状を有する物体であっても欠陥の正確な幅、サイズ等も含めて検出することができる。さらに参照範囲の幅を変動させることにより、検出可能な欠陥の大きさを調整することが可能となる。
【発明を実施するための最良の形態】
【0031】
以下、本発明の実施の形態に係る欠陥検出装置について、図面を参照して説明する。なお、参照する図面を通じて、同一又は同様の構成又は機能を有する要素については、同一又は同様の符号を付して、詳細な説明を省略する。
【0032】
(実施の形態1)
図1は、本発明の実施の形態1に係る欠陥検出装置の構成を模式的に示すブロック図である。図1に示すように本実施の形態1に係る欠陥検出装置は、多値画像を撮像する撮像手段であるカメラ1及び撮像された多値画像又は生成された画像を表示する表示装置3に接続されている。
【0033】
欠陥検出装置2は、少なくともCPU(中央演算装置)、LSI等で構成された主制御部21、RAM22、記憶手段23、入力手段24、出力手段25、通信手段26、補助記憶手段27及び上述したハードウェアを接続する内部バス28で構成されている。主制御部21は、内部バス28を介して欠陥検出装置2の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶手段23に記憶されているコンピュータプログラム5に従って、種々のソフトウェア的機能を実行する。RAM22は、SRAM、SDRAM等の揮発性メモリで構成され、コンピュータプログラム5の実行時にロードモジュールが展開され、コンピュータプログラム5の実行時に発生する一時的なデータ等を記憶する。
【0034】
記憶手段23は、内蔵される固定型記憶装置(ハードディスク、フラッシュメモリ)、ROM等で構成されている。記憶手段23に記憶されているコンピュータプログラム5は、プログラム及びデータ等の情報を記録したDVD、CD−ROM、フラッシュメモリ等の可搬型記録媒体4から、補助記憶手段27によりダウンロードされ、実行時には記憶手段23からRAM22へ展開して実行される。もちろん、通信手段26を介して外部コンピュータからダウンロードされたコンピュータプログラムであっても良い。
【0035】
通信手段26は内部バス28に接続されており、インターネット、LAN、WAN等の外部のネットワークに接続されることにより、外部のコンピュータ等とデータ送受信を行うことが可能となっている。すなわち、上述した記憶手段23は、欠陥検出装置2に内蔵される構成に限定されるものではなく、通信手段26を介して接続されている外部のサーバコンピュータ等に設置されているハードディスク等の外部記録媒体であっても良い。
【0036】
入力手段24は、キーボード及びマウス等のデータ入力媒体の他、液晶パネル等と一体となったタッチパネル等の入力情報を取得する装置全般を含む広い概念である。出力手段25は、レーザプリンタ、ドットプリンタ等の印刷装置等を意味する。
【0037】
カメラ1は、CCD撮像素子を備えたCCDカメラ等である。表示装置3は、CRT、液晶パネル等を有する表示装置である。カメラ1、表示装置3等は、欠陥検出装置2と一体化されても良いし、分離されていても良い。
【0038】
上述した構成の欠陥検出装置2の処理の流れについて説明する。本実施の形態1に係る欠陥検出装置2では、検査対象となる物体の輪郭線を示すエッジ点列に基づいて近似曲線を求める。エッジ点列に対して直接近似曲線を求めるのではなく、局所的な代表エッジ点を複数点算出し、代表エッジ点列を補間した擬似的な近似曲線を求めることにより、様々な曲線に対応することが可能となる。図2は、本発明の実施の形態1に係る欠陥検出装置2の主制御部21の処理手順を示すフローチャートである。
【0039】
図2に示すように、本実施の形態1に係る欠陥検出装置2の主制御部21は、カメラ1で撮像された、検査対象となる物体の一部又は全ての輪郭線を含む多値画像を取得し(ステップS201)、取得した多値画像から複数のエッジ点を検出する(ステップS202)。
【0040】
エッジ点の検出方法は、周知の検出方法であれば特に限定されるものではない。例えば、エッジ点の検出対象となる領域である対象領域内にて、任意の大きさのセグメントを移動させ、セグメントが移動したそれぞれの位置にて1エッジ点を検出する。図3は、対象領域が矩形領域である場合のエッジ点検出方法を説明する模式図である。
【0041】
検査対象となる物体30の輪郭線の一部又は全てを含む対象領域31内に、所定の幅Bを有する矩形領域であるセグメント32を設定する。セグメント32を矢印33の方向にスパン34にて順次移動させ、移動位置ごとに物体30の輪郭線の中点の座標値をエッジ点35、35、・・・として検出する。
【0042】
セグメント32の幅Bを大きくするほど、ノイズに左右されること無くエッジ点を安定して検出することができる。一方、細かい変動は無視されるようになる。また、セグメント32の幅Bを大きくするほど、エッジ点の検出時間を短縮することができるが、検出されるエッジ点の数は少なくなり、欠陥検出の精度は低下する。
【0043】
また図4は、対象領域が円形領域である場合のエッジ点検出方法を説明する模式図である。対象領域が円形領域である場合には、極座標変換を実行した後にエッジ点を以下の手順で検出する。
【0044】
検査対象となる物体40の輪郭線の一部又は全てを含む対象領域41内に、所定の中心角θを有する領域であるセグメント42を設定する。セグメント42を矢印43の方向にスパン中心角44にて回転移動させ、回転位置ごとに物体40の輪郭線の中点の極座標値をエッジ点45、45、・・・として検出する。
【0045】
セグメント42の中心角θを大きくするほど、ノイズに左右されること無くエッジ点を安定して検出することができる。一方、細かい変動は無視されるようになる。また、セグメント42の中心角θを大きくするほど、エッジ点の検出時間を短縮することができるが、検出されるエッジ点の数は少なくなり、欠陥検出の精度は低下する。
【0046】
本実施の形態1では、対象領域が矩形領域である場合を例に挙げて、以下の処理を説明するが、極座標変換した場合には対象領域が円形領域である場合であっても同様の処理を実行することができることは言うまでもない。図5は、対象領域が矩形領域である場合に検出されたエッジ点の例示図である。
【0047】
図5では、セグメント32の移動方向をX軸方向、該X軸方向に直交する方向をY軸方向とした場合のエッジ点列を例示している。図5の例では、エッジ点51、及びエッジ点列52に欠陥が含まれていると推測することができる。
【0048】
図2に戻って、欠陥検出装置2の主制御部21は、予め定められた幅の参照範囲の設定を受け付け(ステップS203)、参照範囲の移動量の設定も受け付ける(ステップS204)。そして主制御部21は、参照範囲の移動開始位置(初期位置)の設定を受け付ける(ステップS205)。
【0049】
ステップS203にて設定することが可能な参照範囲は、上述したエッジ検出方法で設定したスパン34に基づいて、少なくとも2つの隣接するエッジ点を含む範囲が設定することが可能な最小の幅となる。それ以上広い範囲は、ユーザが所望する、参照範囲内に含ませたいエッジ点の数によっては、それ以上に広い範囲で設定しても良い。
【0050】
またステップS204にて設定することが可能な参照範囲の移動量は、上述したエッジ検出方法で設定したスパン34、つまりエッジ点間の幅が最小の移動量となる。それ以上の移動量は、エッジ点間の最小移動量の整数倍として設定することが可能である。
【0051】
また、ステップS205での参照範囲の初期位置は、任意の位置にユーザにより設定可能とする代わりに、上述したエッジ検出時に検出した最も左端に位置するエッジ点を中心とした位置に自動的に設定するようにしても良い。この場合、後述する2次の近似曲線を用いる場合には、エッジ点が最低3点必要となる。しかし、移動開始の位置においては、最小二乗法による計算で必要な点数が範囲内に存在しないことから、例外的な処理として、参照範囲の中心に位置するエッジ点を代表エッジ点とすれば良い。
【0052】
したがって、ステップS203における参照範囲の幅、及びステップS204における参照範囲の移動量の最小単位は、上述するエッジ点検出方法を実行する場合に用いるセグメントの移動スパンに基づいて設定される。
【0053】
主制御部21は、移動開始位置における参照範囲内に含まれる複数のエッジ点を代表する代表エッジ点を算出する(ステップS206)。図6は、代表エッジ点の算出方法を説明するための模式図である。
【0054】
図6では、参照範囲61中に存在する注目エッジ点62を中心として、左右3個ずつ、総計7点のエッジ点63、63、・・・に基づいて、エッジ点列のN次回帰曲線64を求めている。参照範囲61の幅は、検出対象となる欠陥の大きさに合わせて設定することが可能となっている。代表エッジ点65は、注目エッジ点62のX座標値に対応するN次回帰曲線64のY座標値として算出する。
【0055】
なお、N次回帰曲線の次数については特に限定されるものではなく、可変でも良いし固定でも良い。また、Nを'2'と仮定すると、N次回帰曲線64を求めるためには、少なくとも参照範囲61内にエッジ点が3点含まれていることが必要となる。なお、計算コストと性能とを考慮した場合、回帰曲線の次数は'2'程度で良いが、次数が'1'でも計算することは可能である。
【0056】
回帰曲線の次数が'2'である場合の具体的な計算方法としては、上述したエッジ点検出方法にて得られたエッジ点列を(xi 、yi )、求める回帰曲線をy=ax2 +bx+cとした場合、式(1)の行列方程式を解くことにより、最小二乗法による近似曲線のパラメータa、b、cを求めることができる。
【0057】
【数1】
【0058】
参照範囲61中に、回帰曲線を算出するために必要な個数のエッジ点が存在しない場合、例えば取得した画像の端部について代表エッジ点を算出する場合には、エッジ点自体を代表エッジ点として算出する。このようにすることで、参照範囲の移動量の間隔ごとに、必ず一点ずつ代表エッジ点を求めることができる。
【0059】
参照範囲61の幅に応じて、検出される欠陥の大きさ(サイズ)を制御することができる。すなわち、参照範囲61の幅が広い場合には、大きな欠陥も検出対象とすることができるのに対して、参照範囲61の幅が狭い場合には、小さな欠陥は検出対象とすることができるが、大きな欠陥は、求めた代表エッジ点列間を曲線又は直線で補間した近似曲線(以下、擬似近似曲線という)の対象となり、欠陥として検出しないようにすることができる。このため、ユーザが検出したい欠陥のサイズに対応する幅を設定することにより、所望の欠陥を検出することができる。
【0060】
図2に戻って、欠陥検出装置2の主制御部21は、参照範囲61を設定された移動量だけ移動させた後の移動位置を特定し(ステップS207)、参照範囲61が最終位置まで移動したか否か、例えば移動する参照範囲61に含まれなかったエッジ点が存在するか否かを判断する(ステップS208)。
【0061】
主制御部21が、欠陥を検出する対象領域全てを包含していないと判断した場合(ステップS208:NO)、主制御部21は、参照範囲61の位置を移動後の位置に設定し(ステップS209)、処理をステップS206へ戻し、上述した処理を繰り返す。主制御部21が、欠陥を検出する対象領域全てを包含したと判断した場合(ステップS208:YES)、主制御部21は、算出された複数の代表エッジ点の座標値(Y座標値)と対応するエッジ点の座標値(Y座標値)との残差をエッジ点ごとに算出する(ステップS210)。主制御部21は、算出された残差に基づいて欠陥の位置及び大きさを特定する(ステップS211)。
【0062】
なお、残差の算出方法は特に限定されるものではないが、例えば代表エッジ点列がエッジ点列と同一の間隔で算出されている場合には、X座標値が一致するエッジ点と代表エッジ点とのY座標値の差分を算出すれば足りる。一方、代表エッジ点列の間隔がエッジ点列の間隔と相違する場合には、代表エッジ点間を補間した補間値とエッジ点とのY座標値の差分を算出すれば良い。補間方法としては、単純な直線補間であっても良いし、ラグランジェ補間、スプライン補間等の曲線補間であっても良い。
【0063】
主制御部21は、特定された欠陥の位置及びサイズに関する情報を表示出力する(ステップS212)。表示出力される情報は特に限定されるものではないが、例えば検出されたエッジ点63、63、・・・と、それぞれに対応する代表エッジ点65、65、・・・とを、同一の位置座標軸にて重ねて、表示装置3に表示出力することが好ましい。バリ、欠け等の欠陥がどの位置にどのような大きさで生じているか容易に確認することができるからである。
【0064】
図7は、参照範囲61を1エッジ点間隔で移動させた場合に算出された代表エッジ点を、対応するエッジ点と同一の位置座標軸に表示した例示図である。図7では、各エッジ点63につき、対応する代表エッジ点65が1点ずつ算出されている。欠陥と推定されるエッジ点51、及びエッジ点列52が存在していても、欠陥を包絡することのない近似曲線が求まっていることがわかる。したがって、エッジ点51、及びエッジ点列52の位置を容易に特定することができ、近似曲線との差分によりエッジ点51、及びエッジ点列52における欠陥の大きさを特定することができる。
【0065】
また主制御部21が、算出された代表エッジ点と対応するエッジ点との残差を、エッジ点63、63、・・・及び代表エッジ点65、65、・・・と同一の位置座標軸にて重ねて、表示装置3に表示出力しても良い。バリ、欠け等の欠陥がどの位置にどのような大きさで生じているかを明確にすることができるからである。
【0066】
図8は、算出された代表エッジ点と、対応するエッジ点との残差を同一の位置座標軸に表示した場合の例示図である。図8では、各残差81がエッジ点と同一の位置座標軸に表示されており、欠陥と推定されるエッジ点51、及びエッジ点列52に対応する位置では、残差82、83が突出した値を示していることがわかる。また、残差82、83の値により、エッジ点51、及びエッジ点列52における欠陥の大きさも正確に把握することができる。
【0067】
以上のように本実施の形態1によれば、事前に教示画像を準備する必要がなく、輪郭が直線状又は円状等の特定の形状を有している必要もないことから、任意の形状に対して欠陥を検出することができる。また、代表エッジ点を、参照範囲を順次移動させつつ算出することにより、複雑な形状を有する物体であっても欠陥の正確な幅、サイズ等も含めて検出することができる。さらに参照範囲の幅を変動させることにより、検出可能な欠陥の大きさ(サイズ)を調整することが可能となる。
【0068】
(実施の形態2)
本発明の実施の形態2に係る欠陥検出装置の構成は、実施の形態1と同様であることから、同一の符号を付することにより詳細な説明は省略する。本実施の形態2では、残差に基づいて各エッジ点に重み付けを行い、該重み付けに基づいて代表エッジ点列を算出する点で実施の形態1と相違する。
【0069】
図9は、本発明の実施の形態2に係る欠陥検出装置2の主制御部21の処理手順を示すフローチャートである。図9において、ステップS210までの処理は実施の形態1の図2と同様の処理であることから、詳細な説明は省略する。本発明の実施の形態2に係る欠陥検出装置2の主制御部21は、算出された複数の代表エッジ点と対応するエッジ点との残差をエッジ点ごとに算出する(ステップS210)。
【0070】
主制御部21は、算出された残差に基づいて、各エッジ点に割り振る重み付け係数を算出する(ステップS901)。なお、重み付け係数は、該重み付け係数を用いて生成される擬似近似曲線(代表エッジ点列)にて、検出した欠陥に関与するエッジ点による影響を極力抑制するために、検出された残差が大きい場合には重み付けが小さく、小さい場合には重み付けが大きくなるように設定している。本実施の形態2では、重み付け係数Wi (iはエッジ点を識別する点列番号)は0≦Wi ≦1の値を取り、代表エッジ点列と近いエッジ点ほど1に近づく値となるようにしてあり、代表エッジ点列と遠いエッジ点ほど0に近づく値となるようにしてある。
【0071】
具体的には、算出された全ての残差di (iはエッジ点を識別する点列番号)について標準偏差σを算出する。各エッジ点に割り振る重み付け係数Wi は、式(2)に従って算出される。式(1)において、Cは、重み付け係数Wiの変化度合を調整するための定数である。
【0072】
【数2】
【0073】
図10は、重み付け係数Wi の分布度合の例示図である。図10に示すように、残差di が一定値C×σ以上であるエッジ点は重み付け係数Wi を0にする。残差di がそれ以下のエッジ点については、0≦Wi ≦1の範囲で重み付け係数Wi を割り振る。代表エッジ点と一致したエッジ点、すなわち残差di が0である場合の重み付け係数Wi を1とし、代表エッジ点から離れるに従って0に近づけるよう重み付け係数Wi を割り振る。
【0074】
なお、残差di の標準偏差σを基準に重み付け係数Wiの変化度合を算出する方法に限定されるものではなく、他の統計値、例えば残差di の中央値(メディアン)を用いて、中央値での重み付け係数Wi を1とし、中央値から離れるに従って0に近づけるよう重み付け係数Wi を割り振っても良い。
【0075】
図9に戻って、主制御部21は、上述した実施の形態1にて説明した通常の最小二乗法によって求めた代表エッジ点列に対して、各エッジ点に割り振られた重み付け係数Wi を用いて、代表エッジ点を再算出する(ステップS902)。
【0076】
Nの次数が二次である場合の具体的な計算方法としては、上述したエッジ点検出方法にて得られたエッジ点列を(xi 、yi )、各エッジ点に割り振られた重み付け係数をWi 、求める回帰曲線をy=ax2 +bx+cとした場合、式(3)の行列方程式を解くことにより、最小二乗法による近似曲線のパラメータa、b、cを求めることができる。
【0077】
【数3】
【0078】
主制御部21は、得られた代表エッジ点とエッジ点との残差を再度算出して(ステップS903)、算出された残差に基づいて欠陥の位置及び大きさを特定する(ステップS904)。
【0079】
欠陥の判定方法は、特に限定されるものではないが、例えば所定の閾値以上の残差が存在するか否かを判断し、存在すると判断された位置に欠陥が存在すると判断しても良い。
【0080】
主制御部21は、特定された欠陥の位置及びサイズに関する情報を表示出力する(ステップS905)。表示出力される情報は特に限定されるものではないが、例えば実施の形態1と同様、検出されたエッジ点63、63、・・・と、それぞれに対応する代表エッジ点65、65、・・・とを、同一の位置座標軸にて重ねて、表示装置3に表示出力することが好ましい。バリ、欠け等の欠陥がどの位置にどのような大きさで生じているか容易に確認することができるからである。
【0081】
図11は、参照範囲61を1エッジ点間隔で移動させた場合に算出された代表エッジ点を、対応するエッジ点と同一の位置座標軸に表示した例示図である。図11では、各エッジ点63につき、対応する代表エッジ点65が1点ずつ算出されている。欠陥と推定されるエッジ点51、及びエッジ点列52が存在していても、欠陥に影響されて擬似近似曲線(代表エッジ点列)が彎曲する度合が実施の形態1よりも弱まり、自然な擬似近似曲線(代表エッジ点列)が求まっていることがわかる。したがって、欠陥と推定されるエッジ点51、及びエッジ点列52の位置を容易に特定することができ、擬似近似曲線(代表エッジ点列)との差分によりエッジ点51、及びエッジ点列52における欠陥の大きさをより正確に特定することができる。
【0082】
また実施の形態1と同様、主制御部21は、算出された代表エッジ点と対応するエッジ点との残差を、エッジ点63、63、・・・及び代表エッジ点65、65、・・・と同一の位置座標軸にて重ねて、表示装置3に表示出力しても良い。バリ、欠け等の欠陥がどの位置にどのような大きさで生じているかを明確にすることができるからである。
【0083】
なお、上述した重み付け係数による代表エッジ点の再算出処理を一定の回数繰り返し実行することにより、より欠陥部分の影響を受けない擬似近似曲線(代表エッジ点列)を求めることができ、欠陥部分の位置、大きさ等をより正確に検出することができる。図12は、繰り返し算出する場合の主制御部21の処理手順を示すフローチャートである。図12において、ステップS210までの処理は実施の形態1の図2と同様の処理であることから、詳細な説明は省略する。
【0084】
図12に示すように、欠陥検出装置2の主制御部21は、カウンタを初期化しておき(本実施の形態2では0に設定)、算出された複数の代表エッジ点と対応するエッジ点との残差をエッジ点ごとに算出する(ステップS210)。主制御部21は、カウンタを1インクリメントし(ステップS1201)、算出された残差に基づいて、各エッジ点に割り振る重み付け係数を算出し(ステップS1202)、算出された重み付け係数を用いて代表エッジ点の算出を行う(ステップS1203)。重み付け係数Wi (iはエッジ点を識別する点列番号)の算出方法は上述した方法と同様であることから、詳細な説明は省略する。
【0085】
主制御部21は、得られた代表エッジ点とエッジ点との残差を再度算出して(ステップS1204)、カウンタが所定値以上であるか否かを判断する(ステップS1205)。
【0086】
主制御部21が、カウンタが所定値より小さいと判断した場合(ステップS1205:NO)、主制御部21は、カウンタを1インクリメントし(ステップS1206)、処理をステップS1202へ戻して、上述した処理を繰り返す。主制御部21が、カウンタが所定値以上であると判断した場合(ステップS1205:YES)、主制御部21は、算出された残差に基づいて欠陥の位置及び大きさを特定する(ステップS1207)。
【0087】
主制御部21は、特定された欠陥の位置及びサイズに関する情報を表示出力する(ステップS1208)。表示出力される情報は特に限定されるものではないが、例えば実施の形態1と同様、検出されたエッジ点と、それぞれに対応する代表エッジ点とを、同一の位置座標軸にて重ねて、表示装置3に表示出力することが好ましい。バリ、欠け等の欠陥がどの位置にどのような大きさで生じているか容易に確認することができるからである。
【0088】
以上のように本実施の形態2によれば、残差を算出して、重み付け係数を算出し、代表エッジ点を再算出するという一連の処理を所定の回数繰り返し実行することにより、欠陥の存在に影響されて擬似近似曲線(代表エッジ点列)が彎曲することがほとんど無くなり、検出すべき欠陥以外のエッジ点を包絡した自然な擬似近似曲線(代表エッジ点列)を求めることができる。したがって、欠陥の位置を容易に特定することができ、擬似近似曲線(代表エッジ点列)との差分により欠陥の大きさをより正確に特定することができる。
【0089】
もちろん、実施の形態1と同様、主制御部21は、算出された代表エッジ点と対応するエッジ点との残差を、エッジ点及び代表エッジ点と同一の位置座標軸にて重ねて、表示装置3に表示出力しても良い。バリ、欠け等の欠陥がどの位置にどのような大きさで生じているかを明確にすることができるからである。
【0090】
なお、本実施の形態1及び2で用いる欠陥の判定方法は、本実施の形態1に開示されている方法に限定されるものではない。例えば所定の閾値以上である残差が連続して存在する場合、斯かる残差算出の基礎となったエッジ点列を一つの連続体と判断し、連続体ごとに幅(連続点数)、面積(閾値を超えたエッジ点の残差の総和)、重心位置等の特徴量を算出し、基準の特徴量と対比することにより欠陥であるか否かを判断しても良い。
【0091】
また、残差の統計的な特徴量として、残差の最大値、最小値、平均値、標準偏差、閾値を超えたエッジ点数、閾値を超えた総面積(閾値を超えたエッジ点の残差の総和)等を算出し、基準の特徴量と対比することにより欠陥であるか否かを判定しても良い。
【0092】
なお、本実施の形態1及び2における参照範囲61は、ユーザにより適切な値を入力することが好ましい。検出対象となる欠陥の大きさに応じて、検出できるか否かを調整するためである。図13は、表示装置3で表示されるユーザインタフェースの例示図である。なお、本発明で検出対象となる欠陥の大きさとは、参照範囲の幅方向における大きさ(サイズ)を意味している。
【0093】
図13に示すように、画像表示領域1301には、取得した多値画像又は該多値画像にエッジ点列、擬似近似曲線(代表エッジ点列)を重ねて表示する。残差表示領域1302には、エッジ点と擬似近似曲線(代表エッジ点列)との残差が波形として表示される。X座標が画像表示領域1301と合致しているので、欠陥がどこに存在するのか目視確認することができる。
【0094】
また、表示画像選択領域1303では、処理の状態を確認するために用いる画像を選択する。例えば、事前に記憶手段23に登録してある画像を用いる場合には「登録画像」を、任意のタイミングで取り込む画像を用いる場合には「入力画像」を選択する。
【0095】
近似線モデル選択領域1304では、エッジ点列を近似する場合に用いる近似線モデルを選択する。例えば直線、円、楕円、自由曲線等を選択することができる。欠陥検出方向特定領域1305では、欠陥として検出する凹凸の方向を特定する。たとえば「+方向」では凸部のみを欠陥の検出対象とし、「−方向」では凹部のみを欠陥の検出対象とし、「+−両方」では凹部及び凸部の両方を欠陥の検出対象とする。
【0096】
参照範囲設定領域1306では、検出対象となる欠陥の大きさに合わせて参照範囲の幅を設定する。図13では全エッジ点数に対する参照点数の割合で設定しているが、特にこれに限定されるものではない。閾値設定領域1307では、残差に対して欠陥であるか否かを判断する基準となる閾値を設定する。
【0097】
ユーザは、参照範囲設定領域1306及び閾値設定領域1307での設定値を変更しつつ、画像表示領域1301及び残差表示領域1302に表示される結果出力を参照することができ、検出した欠陥に応じたパラメータ設定を容易に行うことができる。
【図面の簡単な説明】
【0098】
【図1】本発明の実施の形態1に係る欠陥検出装置の構成を模式的に示すブロック図である。
【図2】本発明の実施の形態1に係る欠陥検出装置の主制御部の処理手順を示すフローチャートである。
【図3】対象領域が矩形領域である場合のエッジ点検出方法を説明する模式図である。
【図4】対象領域が円形領域である場合のエッジ点検出方法を説明する模式図である。
【図5】対象領域が矩形領域である場合に検出されたエッジ点の例示図である。
【図6】代表エッジ点の算出方法を説明するための模式図である。
【図7】参照範囲を1エッジ点間隔で移動させた場合に算出された代表エッジ点を、対応するエッジ点と同一の位置座標軸に表示した例示図である。
【図8】算出された代表エッジ点と、対応するエッジ点との残差を同一の位置座標軸に表示した場合の例示図である。
【図9】本発明の実施の形態2に係る欠陥検出装置の主制御部の処理手順を示すフローチャートである。
【図10】重み付け係数の分布度合の例示図である。
【図11】参照範囲を1エッジ点間隔で移動させた場合に算出された代表エッジ点を、対応するエッジ点と同一の位置座標軸に表示した例示図である。
【図12】繰り返し算出する場合の主制御部の処理手順を示すフローチャートである。
【図13】表示装置で表示されるユーザインタフェースの例示図である。
【符号の説明】
【0099】
1 カメラ(撮像手段)
2 欠陥検出装置
3 表示装置
4 可搬型記録媒体
5 コンピュータプログラム
21 主制御部
22 RAM
23 記憶手段
24 入力手段
25 出力手段
26 通信手段
27 補助記憶手段
28 内部バス
【特許請求の範囲】
【請求項1】
検査対象となる物体の輪郭線を含む画像に基づいて欠陥を検出する欠陥検出装置において、
検査対象となる物体の一部又は全ての輪郭線を含む画像から複数のエッジ点を検出するエッジ点検出手段と、
予め定められた所定の幅の参照範囲内に存在する複数の前記エッジ点を代表する代表エッジ点を、前記参照範囲を順次移動させつつ、前記参照範囲の各移動位置にて算出する代表エッジ点算出手段と、
算出された複数の代表エッジ点と対応するエッジ点との残差を算出する残差算出手段と、
算出された残差に基づいて欠陥の位置及び大きさを特定する欠陥特定手段と
を備えることを特徴とする欠陥検出装置。
【請求項2】
前記エッジ点検出手段で検出されたすべてのエッジ点と、対応するすべての代表エッジ点とを、同一の位置座標上で重ねて表示する第1の表示手段を備えることを特徴とする請求項1記載の欠陥検出装置。
【請求項3】
前記残差算出手段で算出された残差を表示する第2の表示手段を備えることを特徴とする請求項1又は2記載の欠陥検出装置。
【請求項4】
前記残差算出手段で算出された残差に基づいて、前記エッジ点に割り振る重み付け係数を算出する重み付け係数算出手段を備えることを特徴とする請求項1乃至3のいずれか一項に記載の欠陥検出装置。
【請求項5】
前記重み付け係数算出手段は、前記残差が大きい(小さい)ほど、重み付け係数を小さく(大きく)算出するようにしてあることを特徴とする請求項4記載の欠陥検出装置。
【請求項6】
前記代表エッジ点算出手段は、
前記重み付け係数算出手段で算出された前記重み付け係数に基づいて前記代表エッジ点を再算出するようにしてあることを特徴とする請求項4又は5記載の欠陥検出装置。
【請求項7】
検査対象となる物体の輪郭線を含む画像に基づいて欠陥を検出する欠陥検出装置で実行することが可能な欠陥検出方法において、
検査対象となる物体の一部又は全ての輪郭線を含む画像から複数のエッジ点を検出し、
予め定められた所定の幅の参照範囲内に存在する複数の前記エッジ点を代表する代表エッジ点を、前記参照範囲を順次移動させつつ、前記参照範囲の各移動位置にて算出し、
算出された複数の代表エッジ点と対応するエッジ点との残差を算出し、
算出された残差に基づいて欠陥の位置及び大きさを特定することを特徴とする欠陥検出方法。
【請求項8】
検出されたすべてのエッジ点と、対応するすべての代表エッジ点とを、同一の位置座標上で重ねて表示することを特徴とする請求項7記載の欠陥検出方法。
【請求項9】
算出された残差を表示することを特徴とする請求項7又は8記載の欠陥検出方法。
【請求項10】
算出された残差に基づいて、前記エッジ点を割り振る重み付け係数を算出することを特徴とする請求項7乃至9のいずれか一項に記載の欠陥検出方法。
【請求項11】
前記残差が大きい(小さい)ほど、重み付け係数を小さく(大きく)算出することを特徴とする請求項10記載の欠陥検出方法。
【請求項12】
算出された前記重み付け係数に基づいて前記代表エッジ点を再算出することを特徴とする請求項10又は11記載の欠陥検出方法。
【請求項13】
検査対象となる物体の輪郭線を含む画像に基づいて欠陥を検出する欠陥検出装置で実行することが可能なコンピュータプログラムにおいて、
前記欠陥検出装置を、
検査対象となる物体の一部又は全ての輪郭線を含む画像から複数のエッジ点を検出するエッジ点検出手段、
予め定められた所定の幅の参照範囲内に存在する複数の前記エッジ点を代表する代表エッジ点を、前記参照範囲を順次移動させつつ、前記参照範囲の各移動位置にて算出する代表エッジ点算出手段、
算出された複数の代表エッジ点と対応するエッジ点との残差を算出する残差算出手段、及び
算出された残差に基づいて欠陥の位置及び大きさを特定する欠陥特定手段
として機能させることを特徴とするコンピュータプログラム。
【請求項1】
検査対象となる物体の輪郭線を含む画像に基づいて欠陥を検出する欠陥検出装置において、
検査対象となる物体の一部又は全ての輪郭線を含む画像から複数のエッジ点を検出するエッジ点検出手段と、
予め定められた所定の幅の参照範囲内に存在する複数の前記エッジ点を代表する代表エッジ点を、前記参照範囲を順次移動させつつ、前記参照範囲の各移動位置にて算出する代表エッジ点算出手段と、
算出された複数の代表エッジ点と対応するエッジ点との残差を算出する残差算出手段と、
算出された残差に基づいて欠陥の位置及び大きさを特定する欠陥特定手段と
を備えることを特徴とする欠陥検出装置。
【請求項2】
前記エッジ点検出手段で検出されたすべてのエッジ点と、対応するすべての代表エッジ点とを、同一の位置座標上で重ねて表示する第1の表示手段を備えることを特徴とする請求項1記載の欠陥検出装置。
【請求項3】
前記残差算出手段で算出された残差を表示する第2の表示手段を備えることを特徴とする請求項1又は2記載の欠陥検出装置。
【請求項4】
前記残差算出手段で算出された残差に基づいて、前記エッジ点に割り振る重み付け係数を算出する重み付け係数算出手段を備えることを特徴とする請求項1乃至3のいずれか一項に記載の欠陥検出装置。
【請求項5】
前記重み付け係数算出手段は、前記残差が大きい(小さい)ほど、重み付け係数を小さく(大きく)算出するようにしてあることを特徴とする請求項4記載の欠陥検出装置。
【請求項6】
前記代表エッジ点算出手段は、
前記重み付け係数算出手段で算出された前記重み付け係数に基づいて前記代表エッジ点を再算出するようにしてあることを特徴とする請求項4又は5記載の欠陥検出装置。
【請求項7】
検査対象となる物体の輪郭線を含む画像に基づいて欠陥を検出する欠陥検出装置で実行することが可能な欠陥検出方法において、
検査対象となる物体の一部又は全ての輪郭線を含む画像から複数のエッジ点を検出し、
予め定められた所定の幅の参照範囲内に存在する複数の前記エッジ点を代表する代表エッジ点を、前記参照範囲を順次移動させつつ、前記参照範囲の各移動位置にて算出し、
算出された複数の代表エッジ点と対応するエッジ点との残差を算出し、
算出された残差に基づいて欠陥の位置及び大きさを特定することを特徴とする欠陥検出方法。
【請求項8】
検出されたすべてのエッジ点と、対応するすべての代表エッジ点とを、同一の位置座標上で重ねて表示することを特徴とする請求項7記載の欠陥検出方法。
【請求項9】
算出された残差を表示することを特徴とする請求項7又は8記載の欠陥検出方法。
【請求項10】
算出された残差に基づいて、前記エッジ点を割り振る重み付け係数を算出することを特徴とする請求項7乃至9のいずれか一項に記載の欠陥検出方法。
【請求項11】
前記残差が大きい(小さい)ほど、重み付け係数を小さく(大きく)算出することを特徴とする請求項10記載の欠陥検出方法。
【請求項12】
算出された前記重み付け係数に基づいて前記代表エッジ点を再算出することを特徴とする請求項10又は11記載の欠陥検出方法。
【請求項13】
検査対象となる物体の輪郭線を含む画像に基づいて欠陥を検出する欠陥検出装置で実行することが可能なコンピュータプログラムにおいて、
前記欠陥検出装置を、
検査対象となる物体の一部又は全ての輪郭線を含む画像から複数のエッジ点を検出するエッジ点検出手段、
予め定められた所定の幅の参照範囲内に存在する複数の前記エッジ点を代表する代表エッジ点を、前記参照範囲を順次移動させつつ、前記参照範囲の各移動位置にて算出する代表エッジ点算出手段、
算出された複数の代表エッジ点と対応するエッジ点との残差を算出する残差算出手段、及び
算出された残差に基づいて欠陥の位置及び大きさを特定する欠陥特定手段
として機能させることを特徴とするコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2009−186338(P2009−186338A)
【公開日】平成21年8月20日(2009.8.20)
【国際特許分類】
【出願番号】特願2008−27143(P2008−27143)
【出願日】平成20年2月7日(2008.2.7)
【出願人】(000129253)株式会社キーエンス (681)
【Fターム(参考)】
【公開日】平成21年8月20日(2009.8.20)
【国際特許分類】
【出願日】平成20年2月7日(2008.2.7)
【出願人】(000129253)株式会社キーエンス (681)
【Fターム(参考)】
[ Back to top ]