(57)【要約】【課題】  エッジ付近の欠陥を抽出する能力を高めることで、検査の精度を大幅に向上する。【解決手段】  対象物を撮像して得られた処理対象画像およびモデルの画像を含む基準画像のそれぞれについて、各画素の濃度勾配方向に直交する方向を示す角度データ（エッジコード）を算出し、このエッジコードを座標に対応づけたデータ（エッジコード画像）を作成する。対象物のエッジコード画像ＩＣにおいて、エッジを示す画素ｇに着目し、モデルのエッジコード画像ＭＣ上で画素ｇに対応する座標を基準に所定大きさのマスクＭを設定する。そして、このマスクＭ内の各画素のエッジコードと画素ｇのエッジコードとを順に比較する。この比較処理において、画素ｇに対応するエッジコードが抽出されなかった場合には、前記画素ｇは欠陥のエッジを示すものとみなされる。【選択図】  図３
2005228062.tif 000002
【特許請求の範囲】
【請求項１】
対象物を撮像して得られた濃淡画像をモデルの画像を含む基準画像と比較して、前記対象物のエッジの適否を検査する方法であって、
前記対象物の濃淡画像および基準画像のそれぞれについて、少なくとも濃度勾配の大きさが所定値を超える画素毎に、濃度勾配方向に基づく角度データを算出し、
前記対象物の濃淡画像上で濃度勾配の大きさが前記所定値を超える画素を着目画素として、前記基準画像上で着目画素に対応する座標を基準に所定大きさのマスクを設定するステップＡと、前記マスク内の各画素と前記着目画素との間で前記角度データを順に比較するステップＢと、前記ステップＢにおいて着目画素に対応する角度データを抽出できなかったとき、前記着目画素をモデルとの不一致部分として抽出するステップＣとを実行することを特徴とする検査方法。
【請求項２】
請求項１に記載された方法において、
前記ステップＡ，Ｂ，Ｃの実行に先立ち、前記対象物の濃淡画像と基準画像との濃度差を求める処理を実行し、
前記対象物の濃淡画像上において、基準画像の対応する座標との濃度差が所定のしきい値を超え、かつ前記濃度勾配の大きさが前記所定値を超える画素を着目画素として、前記ステップＡ，Ｂ，Ｃを実行するようにした検査方法。
【請求項３】
対象物を撮像して得られた濃淡画像を入力する画像入力手段と、
前記濃淡画像上の少なくとも濃度勾配の大きさが所定値を超える画素について、濃度勾配方向に基づく角度データを算出する角度データ算出手段と、
前記対象物のモデルの画像を含む基準画像を、この基準画像に対する前記角度データ算出手段の算出結果とともにメモリに登録する登録手段と、
前記画像入力手段より入力された濃淡画像上で濃度勾配方向が前記所定値を超える画素を着目画素に設定する着目画素設定手段と、
前記基準画像上に前記着目画素に対応する座標を基準にして所定大きさのマスクを設定し、このマスク内の各画素と前記着目画素との間で前記角度データを順に比較する角度データ比較手段と
前記角度データ比較手段が前記着目画素に対応する角度データを抽出できなかったとき、前記着目画素をモデルとの不一致部分として抽出する不一致部分抽出手段とを具備して成る検査装置。
【請求項４】
請求項３に記載された検査装置において、
前記画像入力手段が入力した濃淡画像と前記基準画像との濃度差を求める差分演算手段を備え、
前記着目画素設定手段は、前記対象物の濃淡画像上において、前記差分演算手段により求められた濃度差が所定のしきい値を超え、かつ前記濃度勾配の大きさが前記所定値を超える画素を着目画素として設定する検査装置。
【請求項５】
請求項３または４に記載された検査装置において、
前記着目画素設定手段に着目画素を変更させながら、前記角度データ比較手段および不一致部分抽出手段を動作させる制御手段と、前記制御手段により選択されたすべての着目画素にかかる不一致部分の抽出結果を用いて前記対象物のエッジの適否を判別する判別手段と、前記判別手段による判別結果を出力する判別結果出力手段とを具備して成る検査装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、所定の対象物を撮像して得られた濃淡画像をコンピュータに入力して所定の画像処理を実行し、前記対象物の適否を判別する技術に関する。特に、この発明は、処理対象の濃淡画像をあらかじめ得た対象物のモデルの画像を含む濃淡画像（以下、「基準画像」という。）と比較して、前記対象物のモデルに一致しない部分（不一致部分）を抽出し、その抽出結果を用いて対象物のエッジ（輪郭線）の適否を判別する技術に関する。
【背景技術】
【０００２】
たとえば、成型品や印刷文字などの対象物に欠けやキズなどの欠陥がないかどうかを検査する場合、従来は、検査対象の濃淡画像（以下、「処理対象画像」という。）と基準画像との差分演算を行って、両画像間の差異を抽出する方法（画像間演算処理）が実施されている。
【０００３】
このほか、出願人が以前に提案した方法で、下記の特許文献１に開示されたものがある。この方法では、モデル画像を膨張および収縮させた画像を生成し、処理対象画像につき、膨張画像および収縮画像のそれぞれに対する差異を抽出した後、各抽出結果を総合することにより、欠陥の抽出精度を高めるようにしている。
【０００４】
【特許文献１】特開２００２−１４０６９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
一般に、対象物を撮像する場合、カメラの撮像素子と対象物との位置関係は微妙に（１画素より小さい範囲で）変化するので、濃淡画像上のエッジやその付近の画素の濃度変化の傾きにも、画像毎に微小な差異が生じる。また、実際の対象物の大きさがモデルと若干異なっている場合もある。このように、処理対象の画像中の対象物と基準画像中のモデルとをどのように厳密に位置合わせしても、エッジ付近の濃度には差異が生じるため、画像間演算処理では、エッジ付近の濃度差を処理対象からはずすようにしている。この結果、画像間演算処理では、エッジ付近の欠陥を抽出できなくなる可能性がある。
【０００６】
一方、特許文献１に記載された発明では、同文献の図４に示すように、膨張画像におけるエッジと収縮画像におけるエッジとに挟まれる範囲内のエッジを良好なものであるとして、この範囲を越えた濃度変化を抽出するようにしている。しかしながら、背景の濃度と対象物の濃度との中間の濃度を持つ異物がエッジ付近に付着したり、きわめて小さな欠けやバリが発生した場合には、これらの欠陥部分のエッジは、前記膨張画像におけるエッジと収縮画像におけるエッジとの間に含まれてしまい、欠陥を抽出できなくなる可能性がある。
【０００７】
この発明は上記問題に着目してなされたもので、エッジ付近の欠陥を抽出する能力を高めることで、検査の精度を大幅に向上することを目的とする。
【課題を解決するための手段】
【０００８】
この発明にかかる検査方法は、対象物を撮像して得られた濃淡画像をモデルを含む基準画像と比較して、前記対象物のエッジの適否を検査するためのものである。この発明では、前記対象物の濃淡画像および基準画像のそれぞれについて、少なくとも濃度勾配の大きさが所定値を超える画素毎に、濃度勾配方向に基づく角度データを算出する。また、前記対象物の濃淡画像上で濃度勾配が前記所定値を超える画素を着目画素として、前記基準画像上で着目画素に対応する座標を基準に所定大きさのマスクを設定するステップＡと、前記マスク内の各画素と前記着目画素との間で前記角度データを順に比較するステップＢと、前記ステップＢにおいて着目画素に対応する角度データを抽出できなかったとき、前記着目画素をモデルとの不一致部分として抽出するステップＣとを実行するようにしている。なお、ステップＡを実行する際には、モデルに対する対象物のおよその位置ずれ量を抽出し、その位置ずれ量に基づき、処理対象画像と基準画像との間での座標の対応関係を求めるようにするのが望ましい。
【０００９】
濃度勾配方向は、所定のエッジ抽出フィルタを用いて水平方向（ｘ軸方向）および垂直方向（ｙ軸方向）における濃度変化の大きさおよび方向（＋方向または−方向）をベクトルとして抽出し、これらのベクトルの合成ベクトルを求めることにより得ることができる。前記角度データは、濃度勾配方向から所定角度だけ回転した方向に対応するもので、所定の基準方向に対する角度として表すことができる。好ましくは、濃度勾配方向そのものを示す角度、または濃度勾配方向に直交する方向を示す角度を角度データとするのがよい。
【００１０】
「濃度勾配の大きさが所定値を超える画素」とは、画像中の物体（対象物またはモデルのほか欠陥などのノイズを含む。）と背景部分との境界線（エッジ）を構成する画素であると考えることができる。以下では、このエッジを構成する画素を、「エッジ画素」という。
【００１１】
処理対象画像上の対象物と基準画像上のモデル画像との間で、位置、形状、大きさが完全に一致している場合には、処理対象画像上の対象物のエッジ画素に対し、基準画像上にも、そのエッジ画素と同じ座標位置に、同じ濃度勾配方向を持つエッジ画素が存在すると考えることができる。ただし、現実には、対象物のエッジは、モデルのエッジに対して位置ずれするから、その位置ずれの範囲内に前記エッジ画素に対応する画素が存在すると考えることができる。
これに対し、前記エッジ付近の欠陥（欠け、バリ、異物の付着など）にかかるエッジ画素の濃度勾配方向は、本来の良好なエッジにおけるものと大きく異なる可能性がある。このため、基準画像上で前記エッジ画素に対応する座標やその周囲を検索しても、このエッジ画素と同じ濃度勾配方向を持つ画素は見あたらない可能性が高い。
【００１２】
この発明では、上記の原理に基づき、前記したステップＡ，Ｂ，Ｃの処理を実行する。すなわち、ステップＡにおいて、対象物のエッジとモデルのエッジとの位置ずれ量を考慮した大きさのマスクを設定すれば、ステップＢにおいて、設定されたマスク内の各画素を順に比較対象として、その画素と着目画素との角度データを比較し、角度データとの差が所定のしきい値以内のものを着目画素に対応する角度データとして抽出することができる。ステップＣでは、マスク内のすべての画素について、前記角度データの差がしきい値を超えた場合に、着目画素に対応する角度データを抽出できなかったものと判断し、着目画素をモデルとの不一致部分として抽出することができる。
【００１３】
なお、ステップＢにおいて、マスク内に角度データが算出されていない画素がある場合には、その画素は着目画素に対応しないものとみなすことができる。また、基準画像上のすべての画素について角度データが算出されている場合でも、濃度勾配の大きさが前記所定値を超えないもの（すなわち、基準画像上のエッジ画素以外の画素）については、着目画素に対応しないものとみなして、比較処理を行わないようにするのが望ましい。
【００１４】
上記の検査方法によれば、位置合わせ時に生じる誤差や対象物の大きさの変動の範囲に基づいてマスクの大きさを調整することにより、モデルとの不一致部分を精度良く抽出することができる。よって、処理対象の画像上のエッジ画素に順に着目しつつ、ステップＡ，Ｂ，Ｃの処理を実行した後、最終的に不一致部分として抽出された画素の数を計数したり、近傍の不一致部分をグループ化する処理などによって、欠陥の位置や大きさを判別することができる。
【００１５】
上記検査方法の好ましい態様では、ステップＡ，Ｂ，Ｃの実行に先立ち、前記対象物の濃淡画像と基準画像との濃度差を求める処理を実行し、前記対象物の濃淡画像上において、基準画像の対応する座標との濃度差が所定のしきい値を超え、かつ前記濃度勾配の大きさが前記所定値を超える画素を着目画素として、前記ステップＡ，Ｂ，Ｃを実行する。この態様によれば、対象物のエッジのうち、モデルのエッジから位置ずれした部分や、バリや異物の付着のように本来のエッジから突出した欠陥を、ステップＡ，Ｂ，Ｃの処理対象とすることができる。よって、基準画素との濃度差が大きい部分を、モデルのエッジから位置ずれしているだけの部分（正常な部分）とモデルのエッジと一致していない部分（欠陥部分）とを切り分けて認識することができる。
なお、対象物のエッジのうち、モデルのエッジに対応する位置にあるエッジに欠けなどの欠陥がある場合には、前記濃度差によってその欠陥を検出することができる。
【００１６】
この発明にかかる検査装置は、対象物を撮像して得られた濃淡画像を入力する画像入力手段と、前記濃淡画像上の少なくとも濃度勾配の大きさが所定値を超える画素について、濃度勾配方向に基づく角度データを算出する角度データ算出手段と、前記対象物のモデルの画像を含む基準画像を、この基準画像に対する前記角度データ算出手段の算出結果とともにメモリに登録する登録手段と、前記画像入力手段より入力された濃淡画像上で濃度勾配方向が前記所定値を超える画素を着目画素に設定する着目画素設定手段と、前記基準画像上に前記着目画素に対応する画素を基準にして所定大きさのマスクを設定し、このマスク内の各画素と前記着目画素との間で前記角度データを順に比較する角度データ比較手段と、前記角度データ比較手段が前記着目画素に対応する角度データを抽出できなかったとき、前記着目画素をモデルとの不一致部分として抽出する不一致部分抽出手段とを具備する。
【００１７】
上記において、画像入力手段は、撮像手段からの画像信号を受け付けるインターフェース回路などにより構成することができる。また、撮像手段がアナログカメラにより構成される場合には、画像入力手段には、Ａ／Ｄ変換回路やノイズカット用のフィルタ回路などを含めることができる。
【００１８】
角度データ算出手段、登録手段、着目画素設定手段、角度データ比較手段、不一致部分抽出手段の各手段は、いずれもその手段の処理用のプログラムが組み込まれたコンピュータにより構成することができる。またこれらの手段を１台のコンピュータにより構成することもできる。なお、前記基準画像やその角度データなどを登録するためのメモリは、前記コンピュータの内部メモリでも良いが、別途、専用のメモリを設定してもよい。
上記各手段の一部またはすべては、演算処理回路により構成することも可能である。特に、角度データ算出手段を専用の演算処理回路により構成すれば、処理対象の画像をメモリに取り込む間に、別途、各画素の角度データを算出することができる。さらに、この角度データ算出手段に、演算過程で抽出したエッジ画素の座標を出力する機能を付与すれば、画像入力が終了すると同時に、エッジ画素を順に選択して角度データの比較処理を進めることができ、処理を高速化することができる。
【００１９】
上記の検査装置を使用する場合、あらかじめ対象物のモデルを撮像するなどして基準画像を作成し、この基準画像および基準画像に対する角度データの算出結果をメモリに登録しておく。検査時には、対象物を撮像して、得られた画像上のエッジ画素に順に着目しつつ、角度データの比較処理や不一致部分の抽出処理を実行することにより、エッジ付近の欠陥を抽出することができる。
【００２０】
上記検査装置の好ましい態様には、前記画像入力手段が入力した濃淡画像と前記基準画像との濃度差を求める差分演算手段が設けられる。また、前記着目画素設定手段は、前記対象物の濃淡画像上において、前記差分演算手段により求められた濃度差が所定のしきい値を超え、かつ前記濃度勾配の大きさが前記所定値を超える画素を着目画素として設定するように構成される。
【００２１】
さらに、この発明にかかる検査装置には、着目画素設定手段に着目画素を変更させながら、前記角度データ比較手段および不一致部分抽出手段を動作させる制御手段と、前記制御手段により選択されたすべての着目画素にかかる不一致部分の抽出結果を用いて前記対象物のエッジの適否を判別する判別手段と、前記判別手段による判別結果を出力する判別結果出力手段とを設けることができる。制御手段や判別手段は、その処理に必要なプログラムが組み込まれたコンピュータとすることができる。判別結果出力手段は、判別結果を表示データに加工してモニタ装置に出力したり、判別結果を外部機器に出力するもので、出力先の機器の使用に応じたインターフェース回路などで構成することができる。
【００２２】
さらに、この発明にかかる検査装置では、対象物の濃淡画像上のエッジ画素以外の画素についても、基準画像との濃度差を求める処理により、モデルとの不一致部分を抽出することができる。この場合の不一致部分は、対象物の表面の濃度むらやキズなどの欠陥に相当すると考えることができる。
【発明の効果】
【００２３】
この発明によれば、処理対象の画像上のエッジ画素毎に、そのエッジ画素がモデルとの不一致部分に相当するものであるか否かを判別することができるので、エッジ付近の小さな欠陥を画素単位で抽出することが可能となり、検査の精度を向上することができる。
【発明を実施するための最良の形態】
【００２４】
図１は、この発明の一実施例にかかる検査装置の構成を示す。
この実施例の検査装置１は、ＣＣＤを具備するシャッタカメラ２（以下、単に「カメラ２」という。）に接続されて使用されるもので、前記カメラ２が撮像した検査対象物の画像を処理して、前記検査対象物（以下、単に「対象物」という。）の表面や輪郭上に欠陥がないかどうかを判別するものである。
【００２５】
前記検査装置１には、制御部１０のほか、画像入力部１１、画像メモリ１２、タイミング制御部１３、エッジ抽出部１４、画像出力部１５、入出力部１６などが組み込まれる。タイミング制御部１３は、カメラ２と画像入力部１１との動作の同期をとるためのものである。画像入力部１１は、カメラ用のインターフェース回路やＡ／Ｄ変換回路などを含む。この画像入力部１１で生成された画素毎のディジタル画像データ（以下、「画素データ」という。）は、画像メモリ１２およびエッジ抽出部１４に供給される。
【００２６】
エッジ抽出部１４は、シフトレジスタや微分回路などを具備する専用ＩＣであり、画像入力部１１からの画素データを順に取り込みつつ、画素毎に、濃度勾配の大きさ（以下、この大きさを「エッジ強度」という。）、および濃度勾配方向に基づく角度データ（以下、この角度データを「エッジコード」という。）を算出する。
【００２７】
画像メモリ１２には、画像入力部１１によりディジタル変換された対象物の濃淡画像（以下、これを「入力画像」という。）のほか、エッジ抽出部１４による演算処理の結果が格納される。エッジ強度、エッジコードとも、通常の画像データと同様に、画素毎に得られたデータを座標に対応づけた形で保存される。以下では、エッジ強度を座標に対応づけたデータを「エッジ強度画像」と呼び、エッジコードを座標に対応づけたデータを「エッジコード画像」と呼ぶことにする。
【００２８】
さらに、前記画像メモリ１２内には、対象物のモデル用の記憶領域が設定される。このモデル用の記憶領域には、あらかじめ、モデルを撮像して得られた基準画像のほか、この基準画像から生成されたエッジ強度画像やエッジコード画像が登録される。
【００２９】
前記制御部１０は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３を主体とするもので、このほかに、検査のための処理手順を示す制御プログラムがインストールされたハードディスク１０４が組み込まれる。ＣＰＵ１０１は、ハードディスク１０４内の制御プログラムに基づき、画像メモリ１２にアクセスしつつ、目的とする検査を実行する。
【００３０】
画像出力部１５は、Ｄ／Ａ変換回路やモニタ用のインターフェース回路を含むもので、前記画像メモリ１２に入力された入力画像やエッジ強度画像をアナログ画像に変換して、これを外部のモニタ３に表示させる。また、一連の検査が終了した時点で、ＣＰＵ１０１から検査結果を示す情報の供給を受け、この情報が合成された画像を生成してモニタ３に表示させることもできる。入出力部１６は、キーボード、マウスなどの入力装置用のインターフェース回路や外部機器との通信用のインターフェース回路を含む。
【００３１】
ここで、前記エッジ強度およびエッジコードの求め方について説明する。
前記エッジ抽出部１４では、入力画像上の画素毎に、水平方向（ｘ軸方向）における濃度の変化量Ｅｘ（ｘ，ｙ）と垂直方向（ｙ軸方向）における濃度の変化量Ｅｙ（ｘ，ｙ）とを求める。そして、これらＥｘ（ｘ，ｙ），Ｅｙ（ｘ，ｙ）が示すベクトルの合成ベクトルについて、つぎの（１）式により、ベクトルの長さＩＥ（ｘ，ｙ）を算出する。このＩＥ（ｘ，ｙ）がエッジ強度である。
【００３２】
【数１】
2005228062.tif 000003
【００３３】
また、前記合成ベクトルの示す方向は、着目画素における濃度勾配方向に対応する。この実施例では、図２に示すように、所定の座標位置（ｘ，ｙ）にある画素Ｅについて、濃度勾配方向を示すベクトルＦに直交するベクトルＣを設定し、このベクトルＣの方向を示す角度ＥＣ（ｘ，ｙ）をエッジコードとする。なお、ベクトルＦは、明るい方から暗い方に向かう方向であり、ベクトルＣは、ベクトルＦを時計回り方向に９０度回転させた方向に相当する。またエッジコードＥＣ（ｘ，ｙ）は、前記画素Ｅからｘ軸の正方向に向かうベクトルＢを基準に表されるもので、Ｅｘ（ｘ，ｙ），Ｅｙ（ｘ，ｙ）の値に応じて、下記（ａ）〜（ｅ）のいずれかの式により求められる。
【００３４】
（ａ）  Ｅｘ（ｘ，ｙ）＞０  および  Ｅｙ（ｘ，ｙ）≧０のとき、
ＥＣ（ｘ，ｙ）＝ａｔａｎ（Ｅｙ（ｘ，ｙ）／Ｅｘ（ｘ，ｙ））
（ｂ）  Ｅｘ（ｘ，ｙ）＞０  および  Ｅｙ（ｘ，ｙ）＜０のとき、
ＥＣ（ｘ，ｙ）＝３６０＋ａｔａｎ（Ｅｙ（ｘ，ｙ）／Ｅｘ（ｘ，ｙ））
（ｃ）  Ｅｘ（ｘ，ｙ）＜０のとき、
ＥＣ（ｘ，ｙ）＝１８０＋ａｔａｎ（Ｅｙ（ｘ，ｙ）／Ｅｘ（ｘ，ｙ））
（ｄ）  Ｅｘ（ｘ，ｙ）＝０  および  Ｅｙ（ｘ，ｙ）＞０のとき、
ＥＣ（ｘ，ｙ）＝０
（ｅ）  Ｅｘ（ｘ，ｙ）＝０  および  Ｅｙ（ｘ，ｙ）＜０のとき、
ＥＣ（ｘ，ｙ）＝１８０
【００３５】
図３は、上記検査装置１が特徴とする欠陥判別処理の概念を示す。
図中、ＩＣは入力画像から生成されたエッジコード画像であり、ＭＣは基準画像から生成されたエッジコード画像である。この実施例では、対象物のエッジコード画像ＩＣ上の所定の画素ｇに着目し、モデルのエッジコード画像ＭＣ上で画素ｇに対応する位置に所定大きさのマスクＭを設定する。そして、マスクＭ内の各画素のエッジコードを前記着目画素ｇのエッジコードと順に比較する。
【００３６】
いま、前記画素ｇとして、対象物のエッジにかかるエッジ画素が選択されているものとすると、対象物とモデルとが完全に位置合わせされているならば、マスクＭ内の中心の画素ｍ０が画素ｇに対応することになる。この場合には、画素ｇと画素ｍ０とのエッジコードは近似する値を示すと考えることができる。
【００３７】
しかしながら、実際には、位置合わせ時に生じる誤差や対象物の大きさの変動によって、前記画素ｍ０のエッジコードが画素ｇのエッジコードに対応しない可能性がある。前記マスクＭの大きさは、この位置合わせ時に生じる誤差や対象物の大きさの変動量を考慮して調整される。すなわち、画素ｇが対象物のエッジを示す場合には、前記対応画素ｍ０がモデルのエッジを示す画素でなく、エッジの内側または外側に対応する画素であっても、マスクＭ内のいずれかの位置にエッジを示す画素が存在し、その画素におけるエッジコードが前記画素ｇのエッジコードに近似すると考えることができる。よって、前記マスクＭから画素ｇのエッジコードに近似するエッジコードが抽出された場合には、前記画素ｇのエッジコードは対象物のエッジを示すものであると考えることができる。
【００３８】
これに対し、画素ｇがエッジを示す場合でも、マスクＭ内に画素ｇのエッジコードに近似するエッジコードがない場合には、画素ｇのエッジコードは、対象物以外のエッジ、すなわち欠陥のエッジを示すと考えることができる。
【００３９】
なお、この実施例では、入力画像上のエッジ画素のうち、基準画像上の対応する座標（ここでは、前記画素ｍ０の座標をいう。）に対する濃度の差が所定の基準値を超えるものに、上記のエッジコードの比較処理を行うようにしている。入力画像上のエッジ画素であって基準画像との濃度差が大きい画素は、対象物のエッジがモデルのエッジに対して位置ずれした部分、またはバリや欠陥などにより本来のエッジから突出している部分に相当すると考えることができる。よって、基準画像との間の濃度差が前記基準値を超えるエッジ画素についてエッジコードの比較処理を行うことにより、対象物のエッジと欠陥のエッジとを精度良く切り分けることができる。
【００４０】
図４は、ＣＰＵ１０１が実行する検査の手順を示す。なお、この図４および以下の図５，６において、ＳＴは「ＳＴＥＰ（ステップ）」の略である。以下の説明でも同様に、各ステップを「ＳＴ」と略記する。
【００４１】
この検査の手順は、前記画像メモリへの画像入力処理が終了したことに応じてスタートする。まず、最初のＳＴ１では、入力画像中の対象物について、ｘ，ｙの各方向毎に、基準画像中のモデルに対する位置ずれ量ｄｘ，ｄｙを計測する。この計測処理では、たとえば、基準画像からモデルの画像を含む所定領域内の画像を切り出し、この画像を入力画像上で走査しつつ、各走査位置で濃度相関値を算出する。この結果、濃度相関値が最も高くなったときのモデルの画像の設定位置から対象物の画像を含む画像領域を切り出し、この画像領域内の代表点の座標から位置ずれ量ｄｘ，ｄｙを算出する。
【００４２】
ＳＴ２〜１１では、前記対象物の画像を含む領域として切り出した画像領域、および前記基準画像上のモデルを含む領域を処理対象領域として、それぞれ１画素ずつ着目画素をずらしながら着目画素間のデータを照合する。なお、ＳＴ２〜１１において、（ｘ，ｙ）は、基準画像側の着目画素の座標である。ＳＴ２，３で初期設定される座標（ｘ１，ｙ１）は、前記基準画像上の処理対象領域の左上頂点であり、最終の座標（ｘ２，ｙ２）は、前記処理対象領域の右下頂点である。また、入力画像側の着目画素は（ｘ＋ｄｘ，ｙ＋ｄｙ）となる。
【００４３】
上記ＳＴ２〜１１のループのうちのＳＴ４は、入力画像と基準画像との対応する画素間の濃度差濃度差ＤＩ（ｘ，ｙ）を求める処理であり、処理対象画像内のすべての画素について行われる。具体的には、入力画像側の着目画素の画素データをＩ（ｘ＋ｄｘ、ｙ＋ｄｙ）、基準画像側の着目画素の画素データをＭ（ｘ，ｙ）として、下記の（２）式を実行する。
ＤＩ（ｘ，ｙ）＝｜Ｉ（ｘ＋ｄｘ、ｙ＋ｄｙ）−Ｍ（ｘ，ｙ）｜  ・・・（２）
【００４４】
ＳＴ５では、前記濃度差ＤＩ（ｘ，ｙ）を所定の基準値Ｄ０と比較する。ここで、濃度差ＤＩ（ｘ，ｙ）が基準値Ｄ０を上回る場合には、ＳＴ６に進む。
ＳＴ６では、前記対象物のエッジ強度画像から着目画素のエッジ強度ＩＥ（ｘ＋ｄｘ，ｙ＋ｄｙ）を読み出し、これを所定の基準値ＩＥ０と比較する。この基準値ＩＥ０は、エッジ画素とみなされる画素から抽出したエッジ強度に基づき設定されたものである。前記ＩＥ（ｘ＋ｄｘ，ｙ＋ｄｙ）が基準値ＩＥ０を上回る場合には、ＳＴ６が「ＹＥＳ」となり、ＳＴ７のエッジコード比較処理を実行する。
【００４５】
ここで図５を用いて、エッジコード比較処理の詳細を説明する。なお、この図５中、ｍｘ，ｍｙは、前記マスクＭの中心の画素ｍからマスクの境界までの距離に相当するものである。たとえば、前記した図３の場合には、ｍｘ＝ｍｙ＝２となる。このｍｘ，ｍｙは、検査に先立ち、ユーザーの設定操作などを受けて登録されるもので、適宜変更することができる。また、ｍｘとｍｙとは一致しなくともよい。
【００４６】
この例のエッジコード比較処理では、着目画素に対するエッジコードの差の最小値を求めるようにしている。ＳＴ１０１では、まず、この最小値ＭＩＮに初期値１８０を設定するとともに、ｙ軸側のカウンタｉを−ｍｙに設定する。つぎのＳＴ１０２では、ｘ軸側のカウンタｊを−ｍｘに設定する。
【００４７】
以下、ｉ，ｊの値を１つずつ動かすことによって、マスクＭ内を走査する。ＳＴ１０３では、モデルのエッジ強度画像から走査位置におけるエッジ強度ＭＥ（ｘ＋ｊ，ｙ＋ｉ）を読み出し、これを所定の基準値ＭＥ０と比較する。この基準値ＭＥ０は前記基準値ＩＥ０とほぼ同様の値に設定される。
【００４８】
前記エッジ強度ＭＥ（ｘ＋ｊ，ｙ＋ｉ）が基準値ＭＥ０を上回る場合には、ＳＴ１０３からＳＴ１０４に進み、入力画像上の着目画素とマスク内の着目画素とについて、下記の（３）に基づき、エッジコード差ＤＣを算出する。
【００４９】
ＤＣ＝ｆ（ＩＣ（ｘ＋ｄｘ，ｙ＋ｄｙ）−ＭＣ（ｘ＋ｊ，ｙ＋ｉ））・・・（３）
【００５０】
なお、上記（３）式において、（ＩＣ（ｘ＋ｄｘ，ｙ＋ｄｙ）−ＭＣ（ｘ＋ｊ，ｙ＋ｉ））＝θとすると、関数ｆ（θ）が示す値は、θによってつぎのようになる。
【００５１】
【数２】
2005228062.tif 000004
【００５２】
エッジコード差ＤＣが算出されると、ＳＴ１０５では、このＤＣの値を前記最小値ＭＩＮと比較する。そしてＤＣがＭＩＮより小さい場合には、つぎのＳＴ１０６に進んでＤＣの値によりＭＩＮを書き換える。
【００５３】
マスク内の走査が終了すると、ＳＴ１０８，１１０がともに「ＹＥＳ」となり、ＳＴ１１１において、前記最小値ＭＩＮを所定のしきい値ＴＨと比較する。このときのＭＩＮには、マスクＭ内で求めたエッジコード差ＤＣのうちの最小値が格納されていることになる。よってこの最小値ＭＩＮがしきい値ＴＨよりも小さい場合には、前記入力画像上の着目画素に対応するエッジコードを抽出したとみなしてＳＴ１１２に進み、前記濃度差ＤＩ（ｘ，ｙ）を０に変更する。一方、最小値ＭＩＮがしきい値ＴＨ以上であれば、ＳＴ１１２はスキップされ、前記ＳＴ４で求めた濃度差ＤＩ（ｘ，ｙ）が維持される。
【００５４】
よって、図４のＳＴ３〜ＳＴ１１では、入力画像上の処理対象領域に含まれるエッジ画素のうち、基準画像に対する濃度差が基準値Ｄ０を上回るエッジ画素のみを対象として、エッジコード比較処理を実行することになる。このエッジコード比較処理において着目画素に対応するエッジコードが抽出された場合には、その着目画素にかかる濃度差ＤＩ（ｘ，ｙ）は０に書き換えられる。一方、着目画素に対応するエッジコードが見つからなかった場合には、前記濃度差ＤＩ（ｘ，ｙ）の値は維持される。したがって、前記ＳＴ３〜１１のループが終了した時点で前記基準値Ｄ０を超える濃度差が設定されている画素が、モデルと一致しない部分、すなわち欠陥であると考えることができる。
【００５５】
なお、図４の手順によれば、着目画素がエッジ画素でない場合の濃度差ＤＩ（ｘ，ｙ）も維持されるので、処理対象画像中でモデルのエッジに対応する位置にある対象物のエッジに欠けが生じていたり、対象物の表面に濃度むらやキズがある場合には、濃度差ＤＩ（ｘ，ｙ）をもって、これらの欠陥を抽出することができる。
【００５６】
ＳＴ１１が「ＹＥＳ」となると、つぎのＳＴ１２では、入力画像上の処理対象領域から前記濃度差が基準値Ｄ０を超える画素を抽出する。続くＳＴ１３では、抽出された画素の数を計数したり、これら画素の中で連続するものを１つのグループとして統合し、グループの重心や面積を求めるなどして、欠陥の大きさや位置を判別する。
【００５７】
ＳＴ１４では、この判別結果を含むデータをモニタ３に表示したり、外部に出力する処理を実行する。なお、モニタ３への表示を行う場合には、最終の濃度差ＤＩ（ｘ，ｙ）を基準値Ｄ０により２値化し、その結果を示す２値画像を入力画像に合成して表示するなど、ユーザーが欠陥部位を簡単に視認できるような表示を行うのが望ましい。
【００５８】
図６は、前記エッジコード比較処理の他の手順を示す。
この例のエッジコード比較処理でも、基準画像にマスクを設定してエッジコード差ＤＣを求める点は変わらない（図中のＳＴ２０１〜２０９）が、エッジコード差ＤＣの最小値を求めるのに代えて、毎時のＤＣの値をしきい値ＴＨと比較するようにしている（ＳＴ２０５）。そして、ＤＣの値がしきい値ＴＨを下回ると、その時点でＳＴ２０２〜２０９のループを抜け、前記濃度差ＤＩ（ｘ，ｙ）を０に更新する（ＳＴ２１０）。この処理によれば、入力画像上の着目画素に対応するエッジコードが見つかった時点で走査を終了することができるので、処理時間を短縮することができる。
【図面の簡単な説明】
【００５９】
【図１】この発明が適用された検査装置の構成を示すブロック図である。
【図２】エッジコードの求め方を示す図である。
【図３】検査装置における欠陥判別処理の概念を示す図である。
【図４】検査の手順を示すフローチャートである。
【図５】エッジコード比較処理の詳細な手順を示すフローチャートである。
【図６】エッジコード比較処理の他の手順を示すフローチャートである。
【符号の説明】
【００６０】
１  検査装置
１０  制御部
１１  画像入力部
１２  画像メモリ
１４  エッジ抽出部
１５  画像出力部
１６  入出力部
１０１  ＣＰＵ
【図１】
2005228062.tif 000005
【図２】
2005228062.tif 000006
【図３】
2005228062.tif 000007
【図４】
2005228062.tif 000008
【図５】
2005228062.tif 000009
【図６】
2005228062.tif 000010