説明

画像処理装置、画像処理方法、プログラムおよび記録媒体

【課題】検査画像から検査対象を短時間かつ高精度で検出する。
【解決手段】画像処理装置1は、輪郭画像生成部123と、輪郭マッチング実行部124と、相関マッチング実行部126とを備える。輪郭画像生成部123は、検査画像から検査対象の輪郭が抽出された輪郭画像を生成する。輪郭マッチング実行部124は、輪郭画像に第1のテンプレートを重ね合わせるためのパラメータを変化させながら第1のテンプレートを輪郭画像に照合する輪郭マッチングを実行する。その後、輪郭マッチング実行部124は、第1のテンプレートと輪郭画像との類似度が最大となるときのパラメータを求める。相関マッチング実行部126は、輪郭マッチング実行部124で求められたパラメータを用いて第2のテンプレートを検査画像に重ね合わせて相関マッチングを実行する。相関マッチング実行部126は、相関値が閾値以上である場合に検査画像に検査対象が存在すると判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検査画像から検査対象を検出する画像処理装置、画像処理方法、プログラムおよび記録媒体に関する。
【背景技術】
【0002】
従来から、テンプレートマッチングを用いて検査画像から検査対象を検出する画像処理装置が知られている。
【0003】
従来の画像処理装置の一例としては、相関マッチング(正規化相関マッチング)を用いて検査対象を検出する装置がある(例えば特許文献1,2参照)。この画像処理装置は、カメラで撮像された撮像画像を検査画像とし、テンプレートを検査画像内で移動させながら検査画像に照合していき、検査画像におけるテンプレートの各位置ごとにテンプレートの各画素の輝度値と検査画像の各画素の輝度値との相互相関係数を求めていく。その後、上記画像処理装置は、相互相関係数の最大値が閾値以上である場合に、検査画像に検査対象が存在すると判定する。
【0004】
また、従来の画像処理装置の他の例としては、テンプレートと検査画像との間で輪郭同士を比較する輪郭マッチングを用いて検査対象を検出する装置がある。この画像処理装置は、検査対象の輪郭が含まれているテンプレートを、検査画像から検査対象の輪郭が抽出された輪郭画像内で移動させながら輪郭画像に照合していき、輪郭画像におけるテンプレートの各位置ごとに類似度を求めていく。その後、上記画像処理装置は、類似度の最大値が閾値以上である場合に、輪郭画像(検査画像)に検査対象が存在すると判定する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平9−223233号公報
【特許文献2】特開2003−216931号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、相関マッチングを用いて検査対象を検出する画像処理装置の場合、検査画像におけるテンプレートの各位置ごとに相互相関係数を求める処理を行うため、この処理で扱う情報量が多くなり、その結果、処理時間が長くなるという問題があった。
【0007】
一方、輪郭マッチングを用いて検査対象を検出する画像処理装置の場合、テンプレートと検査画像との間で輪郭情報の類似度を求めるため、検査対象との間で輪郭が同一または類似である物体がある場合、上記物体を検査対象として誤判定するという問題があった。
【0008】
本発明は上記の点に鑑みて為され、本発明の目的は、検査画像から検査対象を短時間かつ高精度で検出することができる画像処理装置、画像処理方法、プログラムおよび記録媒体を提供することにある。
【課題を解決するための手段】
【0009】
本発明の画像処理装置は、検査画像から検査対象の輪郭が抽出された輪郭画像を生成する輪郭画像生成部と、予め登録された基準画像から前記検査対象の輪郭が抽出された画像である第1のテンプレートを、前記輪郭画像に前記第1のテンプレートを重ね合わせるためのパラメータを変化させながら前記輪郭画像に照合する輪郭マッチングを実行し、前記第1のテンプレートと前記輪郭画像との類似度が最大となるときのパラメータを求める輪郭マッチング実行部と、前記輪郭マッチング実行部で求められた前記パラメータを用いて、前記基準画像から前記検査対象の輝度値が抽出された画像である第2のテンプレートを前記検査画像に重ね合わせて前記第2のテンプレートと前記検査画像との間で各画素の輝度値の相関値を求める相関マッチングを実行し、前記相関値が予め設定された閾値以上である場合に前記検査画像に前記検査対象が存在すると判定する相関マッチング実行部とを備えることを特徴とする。
【0010】
この画像処理装置において、前記輪郭画像において前記検査対象の輪郭の一部が抽出されていない場合に、この抽出されていない輪郭を推定してマスク領域を設定するマスク領域設定部を備え、前記相関マッチング実行部は、前記検査画像から前記マスク領域を除いた領域に対して前記相関マッチングを実行し、前記相関値が前記閾値以上である場合に前記検査画像に前記検査対象が存在すると判定することが好ましい。
【0011】
この画像処理装置において、前記パラメータは、前記第1のテンプレートの拡大縮小率を含み、前記相関マッチング実行部は、前記輪郭マッチング実行部で求められた前記拡大縮小率に応じて前記第2のテンプレートの大きさを補正し、この大きさを補正した第2のテンプレートを前記検査画像に重ね合わせて前記相関マッチングを実行することが好ましい。
【0012】
この画像処理装置において、前記検査対象として、輪郭の形状がすべて同じであって輝度値の配列がそれぞれ異なって複数存在し、前記第1のテンプレートは、各検査対象で共通であり、前記第2のテンプレートは、各検査対象ごとに対応付けられてあり、前記輪郭マッチング実行部は、前記第1のテンプレートを用いて前記輪郭マッチングを実行し、前記相関マッチング実行部は、各検査対象ごとに前記第2のテンプレートを用いて前記相関マッチングを実行し、各検査対象ごとに前記相関値が前記閾値以上である場合に前記検査画像に前記検査対象が存在すると判定することが好ましい。
【0013】
本発明の画像処理方法は、検査画像から検査対象の輪郭が抽出された輪郭画像を生成する第1のステップと、予め登録された基準画像から前記検査対象の輪郭が抽出された画像である第1のテンプレートを、前記輪郭画像に前記第1のテンプレートを重ね合わせるためのパラメータを変化させながら前記輪郭画像に照合する輪郭マッチングを実行し、前記第1のテンプレートと前記輪郭画像との類似度が最大となるときのパラメータを求める第2のステップと、前記第2のステップで求めた前記パラメータを用いて、前記基準画像から前記検査対象の輝度値が抽出された画像である第2のテンプレートを前記検査画像に重ね合わせて前記第2のテンプレートと前記検査画像との間で各画素の輝度値の相関値を求める相関マッチングを実行し、前記相関値が予め設定された閾値以上である場合に前記検査画像に前記検査対象が存在すると判定する第3のステップとを有することを特徴とする。
【0014】
本発明のプログラムは、検査画像から検査対象の輪郭が抽出された輪郭画像を生成する第1の機能と、予め登録された基準画像から前記検査対象の輪郭が抽出された画像である第1のテンプレートを、前記輪郭画像に前記第1のテンプレートを重ね合わせるためのパラメータを変化させながら前記輪郭画像に照合する輪郭マッチングを実行し、前記第1のテンプレートと前記輪郭画像との類似度が最大となるときのパラメータを求める第2の機能と、前記第2の機能によって求められた前記パラメータを用いて、前記基準画像から前記検査対象の輝度値が抽出された画像である第2のテンプレートを前記検査画像に重ね合わせて前記第2のテンプレートと前記検査画像との間で各画素の輝度値の相関値を求める相関マッチングを実行し、前記相関値が予め設定された閾値以上である場合に前記検査画像に前記検査対象が存在すると判定する第3の機能とをコンピュータに実現させるためのプログラムである。
【0015】
本発明の記録媒体は、検査画像から検査対象の輪郭が抽出された輪郭画像を生成する第1の機能と、予め登録された基準画像から前記検査対象の輪郭が抽出された画像である第1のテンプレートを、前記輪郭画像に前記第1のテンプレートを重ね合わせるためのパラメータを変化させながら前記輪郭画像に照合する輪郭マッチングを実行し、前記第1のテンプレートと前記輪郭画像との類似度が最大となるときのパラメータを求める第2の機能と、前記第2の機能によって求められた前記パラメータを用いて、前記基準画像から前記検査対象の輝度値が抽出された画像である第2のテンプレートを前記検査画像に重ね合わせて前記第2のテンプレートと前記検査画像との間で各画素の輝度値の相関値を求める相関マッチングを実行し、前記相関値が予め設定された閾値以上である場合に前記検査画像に前記検査対象が存在すると判定する第3の機能とをコンピュータに実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【0016】
本発明は、検査画像から生成された輪郭画像に対して輪郭マッチングを実行し、基準画像から検査対象の輪郭が抽出された画像である第1のテンプレートと輪郭画像との類似度が最大となるときのパラメータを求めることによって、検査画像内の検査対象の候補を高速に検出することができる。また、本発明は、類似度が最大となるときのパラメータを用いて、基準画像から検査対象の輝度値が抽出された画像である第2のテンプレートを検査画像に重ね合わせて相関マッチングを実行することによって、検査対象の存否を精度よく判定することができる。その結果、本発明は、検査画像から検査対象を短時間かつ高精度で検出することができる。
【図面の簡単な説明】
【0017】
【図1】実施形態1に係る画像処理装置において、(a)は、全体構成を示すブロック図、(b)は、制御部の構成を示すブロック図である。
【図2】同上に係る画像処理装置において、(a)は、輪郭の一部が検出されなかった輪郭画像を示す図、(b)は、マスク領域が設定された第2のテンプレートを示す図である。
【図3】同上に係る画像処理装置において、(a)は、拡大前の第2のテンプレートを示す図、(b)は、拡大後の第2のテンプレートを示す図である。
【図4】同上に係る画像処理方法を示すフローチャートである。
【図5】実施形態2に係る画像処理装置の第1のテンプレートおよび第2のテンプレートについて説明する図である。
【図6】同上に係る画像処理方法を示すフローチャートである。
【発明を実施するための形態】
【0018】
(実施形態1)
実施形態1に係る画像処理装置は、検査画像に画像処理を実施して検査画像から検査対象を検出する装置である。図1(a)に示すように、本実施形態の画像処理装置1は、カメラインタフェース11と、制御部12と、メモリ13と、入力インタフェース14と、外部メモリインタフェース15とを備えている。画像処理装置1は、カメラ2と入力装置3とで画像処理システムを構成する。画像処理装置1は、コンピュータ(マイクロコンピュータを含む)を主構成要素とし、さまざまな画像処理を実行するためのプログラムを搭載している。上記コンピュータは、処理装置であるマイクロプロセッサ(MPU:Micro Processing Unit)と、データおよびプログラムを記憶する記憶装置(メモリ)と、他の機器と接続するためのインタフェースとを備える装置である。ユーザは、動作条件を指定するパラメータをプログラムに与えることによって、プログラムを実行させることができる。なお、上記コンピュータに搭載されるマイクロプロセッサは、1個であってもよいし、複数個であってもよい。
【0019】
カメラ2は、例えばCCD(Charge Coupled Device)カメラなどであり、検査対象を撮像する撮像装置である。カメラ2で撮像された撮像画像は、モノクロ画像(モノクローム画像)であってもよいし、カラー画像であってもよい。撮像画像の画像データは、カメラ2から画像処理装置1に出力される。
【0020】
入力装置3は、例えばキーパッドやキーボードなどであり、ユーザが画像処理装置1への指示を入力するときに用いられる装置である。入力装置3には、ユーザの入力操作によって各種指示が入力される。入力装置3に入力された指示は、画像処理装置1に出力される。
【0021】
カメラインタフェース11は、カメラケーブル111によってカメラ2に接続されている。カメラ2で撮像された撮像画像は、カメラインタフェース11を介して画像処理装置1に取り込まれる。制御部12が後述の第1のテンプレートと第2のテンプレートとを生成する場合、画像処理装置1に取り込まれた撮像画像は基準画像となる。基準画像は登録される。一方、制御部12が検査画像から検査対象を検査する場合、画像処理装置1に取り込まれた撮像画像は検査画像となる。
【0022】
制御部12は、図1(b)に示すように、第1のテンプレート生成部121と、第2のテンプレート生成部122と、輪郭画像生成部123と、輪郭マッチング実行部124と、マスク領域設定部125と、相関マッチング実行部126とを備えている。制御部12は、マイクロプロセッサを主構成要素とし、メモリ13に格納されているプログラムに基づいて動作する。なお、制御部12は、1個のマイクロプロセッサを主構成要素としてもよいし、2個以上のマイクロプロセッサを主構成要素としてもよい。
【0023】
第1のテンプレート生成部121は、基準画像に対してエッジ検出を行い、基準画像内のエッジ(エッジ画素)を抽出して2値画像を生成する。その後、第1のテンプレート生成部121は、上記2値画像に対してラベル付け(ラベリング)を行い、基準画像における検査対象の輪郭線を抽出した画像を生成し、この画像を第1のテンプレートとする。つまり、第1のテンプレートは、基準画像から検査対象の輪郭が抽出された画像である。第1のテンプレートにおいて、輪郭部分の画素の輝度値は「1」であり、他の画素の輝度値は「0」である。第1のテンプレートは、メモリ13に格納される。
【0024】
第2のテンプレート生成部122は、基準画像から検査対象の輝度値を抽出して第2のテンプレートを生成する。つまり、第2のテンプレートは、基準画像から検査対象の輝度値が抽出された画像である。第2のテンプレートは、メモリ13に格納される。
【0025】
輪郭画像生成部123は、検査時において、検査画像に対してエッジ検出を行い、検査画像内のエッジを抽出して2値画像を生成する。その後、輪郭画像生成部123は、上記2値画像に対してラベル付けを行い、検査画像における検査対象の輪郭を抽出して2値の輪郭画像を生成する。つまり、輪郭画像は、検査画像から検査対象の輪郭が抽出された画像である。輪郭画像において、輪郭部分の画素の輝度値は「1」であり、他の画素の輝度値は「0」である。
【0026】
輪郭マッチング実行部124は、輪郭画像に第1のテンプレートを重ね合わせるためのパラメータ(位置・回転角度・拡大縮小率の組み合わせ)を変化させながら第1のテンプレートを輪郭画像に照合する輪郭マッチングを実行し、各パラメータごとに第1のテンプレートと輪郭画像との類似度(一致度)を求めていく。その後、輪郭マッチング実行部124は、類似度が最大となるときのパラメータを求める。つまり、輪郭マッチング実行部124は、検査対象である可能性が高い検査対象候補を検査画像から検出する。
【0027】
輪郭マッチング実行部124による輪郭マッチングの実行例として、まず、輪郭マッチング実行部124は、第1のテンプレートの全体パターンから特徴的な形状を示す部分パターンを抽出する。その後、輪郭マッチング実行部124は、部分パターンごとに類似度を求める。その後、輪郭マッチング実行部124は、グループ内のすべての部分パターンの類似度の合計が最大となるパラメータを求める。なお、輪郭マッチング実行部124による輪郭マッチングは、上記以外の方法であってもよい。
【0028】
マスク領域設定部125は、輪郭マッチング実行部124の実行結果から検査対象候補の輪郭線情報を取得する。図2(a)に示す輪郭画像5において検査対象候補の輪郭51の一部が輪郭画像生成部123によって抽出されなかった場合、マスク領域設定部125は、輪郭画像生成部123によって抽出された輪郭511(図2(a)の実線部分)を用いて、抽出されなかった輪郭512(図2(a)の破線部分)を推定する。その後、マスク領域設定部125は、抽出されなかった輪郭512で囲まれた領域52に対応する領域を含むように、図2(b)に示す第2のテンプレート6にマスク領域61(図2(b)の斜線部分)を設定する。
【0029】
図1に示す相関マッチング実行部126は、輪郭マッチング実行部124で求められたパラメータを用いて検査画像に第2のテンプレートを重ね合わせる。その後、相関マッチング実行部126は、第2のテンプレートと検査画像との間で各画素の輝度値の相互相関係数C(数1)を求める相関マッチングを実行する。相関マッチング実行部126は、相互相関係数Cが閾値以上である場合に検査画像に検査対象が存在すると判定する。相互相関係数Cが閾値未満である場合、相関マッチング実行部126は、検査画像には検査対象が存在しないと判定する。閾値は、予め設定された値である。
【0030】
【数1】

【0031】
ところで、マスク領域設定部125によって第2のテンプレート6にマスク領域61(図2(b)参照)が設定された場合、相関マッチング実行部126は、検査画像からマスク領域61を除いた領域に対して相関マッチングを実行する。相互相関係数Cが閾値以上である場合に、相関マッチング実行部126は、検査画像に検査対象が存在すると判定する。
【0032】
また、相関マッチング実行部126は、図3に示すように、輪郭マッチング実行部124で求められた拡大縮小率を用いて第2のテンプレート6の大きさを補正する。図3には、第2のテンプレート6を拡大する場合が示されている。図3(a)が拡大前の第2のテンプレート6であり、図3(b)が拡大後の第2のテンプレート6である。第2のテンプレートを拡大する場合、相関マッチング実行部126は、拡大前の第2のテンプレート6において隣接する第1の画素と第2の画素との間に、拡大後の第2のテンプレート6において配列される画素の輝度値を設定する必要がある。本実施形態の相関マッチング実行部126は、例えば、第1の画素と第2の画素との間に配列される各画素の輝度値を第1の画素から第2の画素に向かって連続的に変化するように設定する。その後、相関マッチング実行部126は、拡大前から存在する画素の輝度値と新たに設定された輝度値とを用いて、第2のテンプレート6を拡大する。これに対して、第2のテンプレート6を縮小する場合、相関マッチング実行部126は、縮小前から存在する画素の一部を間引いて、残りの画素の輝度値を用いて第2のテンプレート6を縮小する。相関マッチング実行部126は、大きさを補正した第2のテンプレート6を検査画像に重ね合わせて相関マッチングを実行する。なお、相関マッチング実行部126は、他の例として、第1の画素と第2の画素との間に配列される各画素の輝度値を、第1の画素と第2の画素のいずれか近いほうの輝度値として設定してもよい。
【0033】
図1に示すメモリ13は、ROM(Read Only Memory)131と、RAM(Random AccessMemory)132とを備えている。ROM131としては、データの書き換えができないマスクROM、データの書き換えができるEEPROM(Electrically Erasable Programmable Read Only Memory)などが用いられる。RAM132としては、DRAM(Dynamic Random Access Memory)やSRAM(StaticRandom Access Memory)が用いられる。ROM131およびRAM132には、それぞれ各種データが記憶されている。特に、RAM132には、基準画像の画像データが格納されていたり、第1のテンプレートおよび第2のテンプレートの各画像データが格納されていたりする。一方、ROM131には、画像処理を実行するためのプログラムが格納されている。つまり、ROM131には、第1のテンプレート生成部121と第2のテンプレート生成部122と輪郭画像生成部123と輪郭マッチング実行部124とマスク領域設定部125と相関マッチング実行部126との各機能を実行するためのプログラムが格納されている。
【0034】
なお、上記プログラムは、画像処理装置1の出荷時にROM131に予め記憶される。ただし、画像処理装置1が上記プログラムを出荷後に搭載する場合、画像処理装置1が上記プログラムを搭載する手法の一例としては、上記プログラムを格納する記録媒体(例えばメモリカード、CD−ROM、DVD−ROMなど)を用いる手法がある。記録媒体を用いる場合、画像処理装置1は、記録媒体のデータを読み込むためのドライブ装置(図示せず)を備えていればよい。また、他の例としては、ネットワークを用いて上記プログラムをダウンロードする手法がある。ネットワークを介して上記プログラムをダウンロードする場合、画像処理装置1は、ネットワークを用いて通信するための通信機能(図示せず)を有していればよい。
【0035】
入力インタフェース14は、ケーブル141によって入力装置3と接続している。入力装置3からは、入力インタフェース14を介してユーザの指示が入力される。入力インタフェース14に入力された指示は、制御部12に出力される。
【0036】
外部メモリインタフェース15は、制御部12の指示にしたがって、ソケット(図示せず)に装着された外部メモリ4からデータを取得したり、画像処理装置1のデータを外部に取り出す際に外部メモリ4にデータを記憶させたりする。外部メモリ4としては、例えばSDメモリカード(登録商標)やコンパクトフラッシュ(登録商標)などがある。ユーザは、外部メモリ4に取り出されたデータを外部装置(例えばパーソナルコンピュータなど)で確認することができる。
【0037】
次に、本実施形態に係る画像処理装置1を用いた画像処理方法について図4を用いて説明する。まず、カメラ2で撮像された撮像画像がカメラインタフェース11を介して画像処理装置1に取り込まれ(図4のS1)、基準画像が設定される(S2)。その後、制御部12の第2のテンプレート生成部122が基準画像から第2のテンプレート(相関マッチング用のテンプレート)を生成する(S3)。また、第1のテンプレート生成部121が基準画像から第1のテンプレート(輪郭マッチング用のテンプレート)を生成する(S4)。
【0038】
検査時において、カメラ2で撮像された検査画像がカメラインタフェース11を介して画像処理装置1に取り込まれる(S5)。輪郭画像生成部123が検査画像から輪郭画像を生成する(S6)。その後、輪郭マッチング実行部124は、第1のテンプレートを輪郭画像に照合する輪郭マッチングを実行し、第1のテンプレートと輪郭画像との類似度が最大となるときのパラメータを求める(S7)。その後、マスク領域設定部125は、輪郭マッチング実行部124の実行結果から輪郭線情報を取得する(S8)。マスク領域設定部125は、輪郭画像生成部123によって抽出されなかった輪郭が存在するか否かを判定する(S9)。抽出されなかった輪郭が存在する場合、マスク領域設定部125は、マスク領域61を設定する(S10)。抽出されなかった輪郭が存在しない場合、マスク領域61は設定されない。
【0039】
その後、相関マッチング実行部126は、輪郭マッチングの実行結果から検査対象の輪郭の拡大縮小率を取得する(S11)。拡大縮小率が1以外である場合(S12)、相関マッチング実行部126は、拡大縮小率に応じて第2のテンプレートの大きさを変更する(S13)。拡大縮小率が1である場合、第2のテンプレートの大きさはそのままである。
【0040】
その後、相関マッチング実行部126は、ステップS7で求められたパラメータを用いて検査画像に第2のテンプレートを重ね合わせて相関マッチングを実行して相互相関係数C(数1)を求める(S14)。相互相関係数Cが閾値以上である場合(S15)、相関マッチング実行部126は、検査画像に検査対象が存在すると判定する(S16)。相互相関係数Cが閾値未満である場合(S15)、相関マッチング実行部126は、検査画像には検査対象が存在しないと判定する(S17)。
【0041】
上記より、本実施形態の画像処理装置1によれば、輪郭マッチング実行部124は、検査画像から生成された輪郭画像に対して輪郭マッチングを実行し、基準画像から検査対象の輪郭が抽出された画像である第1のテンプレートと輪郭画像との類似度が最大となるときのパラメータを求める。これにより、本実施形態の画像処理装置1は、検査画像内の検査対象の候補を高速に検出することができる。また、本実施形態の画像処理装置1によれば、相関マッチング実行部126は、類似度が最大となるときのパラメータを用いて、基準画像から検査対象の輝度値が抽出された画像である第2のテンプレートを検査画像に重ね合わせて相関マッチングを実行する。これにより、本実施形態の画像処理装置1は、検査対象の存否を精度よく判定することができる。その結果、本実施形態の画像処理装置1は、検査画像から検査対象を短時間かつ高精度で検出することができる。
【0042】
また、本実施形態の画像処理装置1によれば、マスク領域設定部125が輪郭画像5(図2参照)において抽出されなかった輪郭512を推定して第2のテンプレート6にマスク領域61を設定し、相関マッチング実行部126がマスク領域61を除いた領域で相関マッチングを実行する。これにより、本実施形態の画像処理装置1は、検査画像に検査対象が存在するか否かを精度よく判定することができる。つまり、本実施形態の画像処理装置1は、検査画像において検査対象の一部が隠れている場合であっても、検査画像に検査対象が存在するか否かを精度よく判定することができる。
【0043】
さらに、本実施形態の画像処理装置1によれば、相関マッチング実行部126が第1のテンプレートの拡大縮小率に応じて第2のテンプレート6(図3参照)の大きさを補正する。これにより、本実施形態の画像処理装置1は、検査画像内の検査対象の大きさに対応させて相関マッチングを実行することができるので、検査画像内の検査対象の大きさに関係なく、検査画像に検査対象が存在するか否かを精度よく検査することができる。
【0044】
なお、本実施形態において、マスク領域設定部125は必須の構成要素ではなく、画像処理装置1は、マスク領域設定部125を備えていない構成であってもよい。この場合、図4のステップS8からステップS10の処理は実行されない。このような画像処理装置1であっても、検査画像から検査対象を短時間かつ高精度で検出することができる。
【0045】
また、本実施形態の変形例として、検査画像内の検査対象の大きさがほぼ一定である場合、相関マッチング実行部126は、第2のテンプレートの大きさを補正する機能を有していなくてもよい。上記変形例の場合、図4のステップS11からステップS13の処理は実行されない。このような画像処理装置1であっても、本実施形態と同様に、検査画像から検査対象を短時間かつ高精度で検出することができる。
【0046】
(実施形態2)
実施形態2では、輪郭の形状がすべて同じであって輝度値の配列がそれぞれ異なる複数の検査対象が存在する場合について説明する。つまり、本実施形態では、図5に示すような複数(図示例では6枚)の基準画像7a〜7fが存在する。なお、本実施形態の画像処理装置1は、実施形態1の画像処理装置1と同様、図1に示されている。
【0047】
本実施形態のカメラインタフェース11には、各検査対象ごとに基準画像7a〜7fがカメラ2から取り込まれる。
【0048】
本実施形態の第1のテンプレート生成部121は、入力装置3から第1のテンプレート8の生成個数を読み込んで設定する。その後、第1のテンプレート生成部121は、基準画像7a〜7fから第1のテンプレート8を設定個数分生成する。本実施形態では、第1のテンプレート8は、各検査対象で共通である。なお、本実施形態の第1のテンプレート生成部121は、上記以外の点において実施形態1の第1のテンプレート生成部121と同様である。
【0049】
なお、第1のテンプレート生成部121は、m個の検査対象に対してn(2≦n<m)個の第1のテンプレート8を生成してもよい。例えば、第1のテンプレート生成部121は、基準画像7a〜7cに共通する第1のテンプレート8と、基準画像7d〜7fに共通する第1のテンプレート8とをそれぞれ生成し、各第1のテンプレート8ごとに輪郭マッチングを実行してもよい。
【0050】
本実施形態の第2のテンプレート生成部122は、入力装置3から第2のテンプレート6a〜6fの生成個数を読み込んで設定する。その後、第2のテンプレート生成部122は、各検査対象ごとに基準画像7a〜7fから第2のテンプレート6a〜6fを設定個数分生成する。つまり、本実施形態では、第2のテンプレート6a〜6fは、各検査対象ごとに対応付けられている。なお、本実施形態の第2のテンプレート生成部122は、上記以外の点において実施形態1の第2のテンプレート生成部122と同様である。
【0051】
本実施形態の輪郭マッチング実行部124は、第1のテンプレート8を用いて輪郭マッチングを実行する。なお、本実施形態の輪郭マッチング実行部124は、上記以外の点において実施形態1の輪郭マッチング実行部124と同様である。
【0052】
本実施形態の相関マッチング実行部126は、各検査対象ごとに第2のテンプレート6a〜6fを用いて相関マッチングを実行して相互相関係数C(数1)を求める。相関マッチング実行部126は、各検査対象ごとに、相互相関係数Cと閾値とを比較し、相互相関係数Cが閾値以上である場合に検査画像に検査対象が存在すると判定する。相互相関係数Cが閾値未満である場合、相関マッチング実行部126は、検査画像に検査対象は存在しないと判定する。なお、本実施形態の相関マッチング実行部126は、上記以外の点において実施形態1の相関マッチング実行部126と同様である。
【0053】
次に、本実施形態に係る画像処理装置1を用いた画像処理方法について図6を用いて説明する。まず、カメラ2で撮像された撮像画像がカメラインタフェース11を介して画像処理装置1に取り込まれ(図6のS21)、複数の基準画像7a〜7fが設定される(S22)。その後、制御部12の第2のテンプレート生成部122は、入力装置3から第2のテンプレート6a〜6fの生成個数を読み込む(S23)。その後、第2のテンプレート生成部122は、基準画像7a〜7fから第2のテンプレート6a〜6fを生成する(S24)。その後、第1のテンプレート生成部121は、入力装置3から第1のテンプレート8の生成個数を読み込む(S25)。その後、第1のテンプレート生成部121は、基準画像7a〜7fから第1のテンプレート8を生成する(S26)。
【0054】
検査時において、カメラ2で撮像された検査画像がカメラインタフェース11を介して画像処理装置1に取り込まれる(S27)。輪郭画像生成部123が検査画像から輪郭画像を生成する(S28)。その後、輪郭マッチング実行部124は、第1のテンプレート8ごとに、第1のテンプレート8を輪郭画像に照合する輪郭マッチングを実行し、第1のテンプレート8と輪郭画像との類似度が最大となるときのパラメータ(位置・回転角度)を求める(S29)。
【0055】
その後、相関マッチング実行部126は、第2のテンプレート6a〜6fごとに、ステップS29で求められたパラメータを用いて第2のテンプレート6a〜6fを検査画像に重ね合わせて相関マッチングを実行して相互相関係数C(数1)を求める(S30)。相互相関係数Cが閾値以上である場合(S31)、相関マッチング実行部126は、検査画像に検査対象が存在すると判定する(S32)。相互相関係数Cが閾値未満である場合(S31)、相関マッチング実行部126は、検査画像に検査対象は存在しないと判定する(S33)。本実施形態の画像処理装置1は、検査画像に存在する検査対象が決定されるまで、各第2のテンプレート6a〜6fごとに、ステップS30からステップS33までの処理を実行する(S34)。
【0056】
上記より、本実施形態の画像処理装置1は、輪郭の形状がすべて同じであって輝度値の配列がそれぞれ異なる複数の検査対象に対して、輪郭マッチングの実行回数は1回でよいので、全体の処理時間を短縮することができる。また、本実施形態の画像処理装置1は、輪郭マッチングを実行した後、各検査対象ごとに相関マッチングを実行することによって、各検査対象の輝度値の配列を精度よく判別することができる。上記より、本実施形態の画像処理装置1では、検査画像に各検査対象がそれぞれ存在するか否かを短時間かつ高精度で検査することができる。つまり、本実施形態の画像処理装置1は、輪郭の形状が同じであって模様が異なる複数の検査対象が存在する場合に、各検査対象の検出処理を短時間かつ高精度で実行することができる。
【0057】
なお、本実施形態の変形例として、画像処理装置1は、実施形態1の画像処理装置1が有する機能(マスク領域61を設定する機能、第2のテンプレート6a〜6fの大きさを変更する機能)を各検査対象ごとに有してもよい。
【0058】
また、実施形態1,2の変形例として、第1のテンプレート生成部121が第1のテンプレートを生成する時点、第2のテンプレート生成部122が第2のテンプレートを生成する時点までに、基準画像が外部メモリ(図示せず)などに予め格納されて用意されていてもよい。
【0059】
さらに、実施形態1,2において、第1のテンプレートが外部装置(図示せず)で生成されて用意される場合、第1のテンプレート生成部121は必須の構成要素ではなく、画像処理装置1は、第1のテンプレート生成部121を備えていない構成であってもよい。同様に、第2のテンプレートが外部装置で生成されて用意される場合、第2のテンプレート生成部122は必須の構成要素ではなく、画像処理装置1は、第2のテンプレート生成部122を備えていない構成であってもよい。上記のような画像処理装置1であっても、検査画像から検査対象を短時間かつ高精度で検出することができる。
【0060】
また、実施形態1,2の画像処理装置1は、画像処理用の専用機器であってもよいし、汎用機器(例えばパーソナルコンピュータなど)であってもよい。画像処理装置1が汎用コンピュータである場合、画像処理を実行するためのプログラムを画像処理装置1が搭載する手法としては、上述したように、上記プログラムを格納する記録媒体を用いる手法や、ネットワークを用いて上記プログラムをダウンロードする手法がある。
【符号の説明】
【0061】
1 画像処理装置
123 輪郭画像生成部
124 輪郭マッチング実行部
125 マスク領域設定部
126 相関マッチング実行部
5 輪郭画像
6,6a〜6f 第2のテンプレート
61 マスク領域
8 第1のテンプレート

【特許請求の範囲】
【請求項1】
検査画像から検査対象の輪郭が抽出された輪郭画像を生成する輪郭画像生成部と、
予め登録された基準画像から前記検査対象の輪郭が抽出された画像である第1のテンプレートを、前記輪郭画像に前記第1のテンプレートを重ね合わせるためのパラメータを変化させながら前記輪郭画像に照合する輪郭マッチングを実行し、前記第1のテンプレートと前記輪郭画像との類似度が最大となるときのパラメータを求める輪郭マッチング実行部と、
前記輪郭マッチング実行部で求められた前記パラメータを用いて、前記基準画像から前記検査対象の輝度値が抽出された画像である第2のテンプレートを前記検査画像に重ね合わせて前記第2のテンプレートと前記検査画像との間で各画素の輝度値の相関値を求める相関マッチングを実行し、前記相関値が予め設定された閾値以上である場合に前記検査画像に前記検査対象が存在すると判定する相関マッチング実行部と
を備えることを特徴とする画像処理装置。
【請求項2】
前記輪郭画像において前記検査対象の輪郭の一部が抽出されていない場合に、この抽出されていない輪郭を推定してマスク領域を設定するマスク領域設定部を備え、
前記相関マッチング実行部は、前記検査画像から前記マスク領域を除いた領域に対して前記相関マッチングを実行し、前記相関値が前記閾値以上である場合に前記検査画像に前記検査対象が存在すると判定する
ことを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記パラメータは、前記第1のテンプレートの拡大縮小率を含み、
前記相関マッチング実行部は、前記輪郭マッチング実行部で求められた前記拡大縮小率に応じて前記第2のテンプレートの大きさを補正し、この大きさを補正した第2のテンプレートを前記検査画像に重ね合わせて前記相関マッチングを実行する
ことを特徴とする請求項1または2記載の画像処理装置。
【請求項4】
前記検査対象として、輪郭の形状がすべて同じであって輝度値の配列がそれぞれ異なって複数存在し、
前記第1のテンプレートは、各検査対象で共通であり、
前記第2のテンプレートは、各検査対象ごとに対応付けられてあり、
前記輪郭マッチング実行部は、前記第1のテンプレートを用いて前記輪郭マッチングを実行し、
前記相関マッチング実行部は、各検査対象ごとに前記第2のテンプレートを用いて前記相関マッチングを実行し、各検査対象ごとに前記相関値が前記閾値以上である場合に前記検査画像に前記検査対象が存在すると判定する
ことを特徴とする請求項1〜3のいずれか1項に記載の画像処理装置。
【請求項5】
検査画像から検査対象の輪郭が抽出された輪郭画像を生成する第1のステップと、
予め登録された基準画像から前記検査対象の輪郭が抽出された画像である第1のテンプレートを、前記輪郭画像に前記第1のテンプレートを重ね合わせるためのパラメータを変化させながら前記輪郭画像に照合する輪郭マッチングを実行し、前記第1のテンプレートと前記輪郭画像との類似度が最大となるときのパラメータを求める第2のステップと、
前記第2のステップで求めた前記パラメータを用いて、前記基準画像から前記検査対象の輝度値が抽出された画像である第2のテンプレートを前記検査画像に重ね合わせて前記第2のテンプレートと前記検査画像との間で各画素の輝度値の相関値を求める相関マッチングを実行し、前記相関値が予め設定された閾値以上である場合に前記検査画像に前記検査対象が存在すると判定する第3のステップと
を有することを特徴とする画像処理方法。
【請求項6】
検査画像から検査対象の輪郭が抽出された輪郭画像を生成する第1の機能と、
予め登録された基準画像から前記検査対象の輪郭が抽出された画像である第1のテンプレートを、前記輪郭画像に前記第1のテンプレートを重ね合わせるためのパラメータを変化させながら前記輪郭画像に照合する輪郭マッチングを実行し、前記第1のテンプレートと前記輪郭画像との類似度が最大となるときのパラメータを求める第2の機能と、
前記第2の機能によって求められた前記パラメータを用いて、前記基準画像から前記検査対象の輝度値が抽出された画像である第2のテンプレートを前記検査画像に重ね合わせて前記第2のテンプレートと前記検査画像との間で各画素の輝度値の相関値を求める相関マッチングを実行し、前記相関値が予め設定された閾値以上である場合に前記検査画像に前記検査対象が存在すると判定する第3の機能と
をコンピュータに実現させるためのプログラム。
【請求項7】
検査画像から検査対象の輪郭が抽出された輪郭画像を生成する第1の機能と、
予め登録された基準画像から前記検査対象の輪郭が抽出された画像である第1のテンプレートを、前記輪郭画像に前記第1のテンプレートを重ね合わせるためのパラメータを変化させながら前記輪郭画像に照合する輪郭マッチングを実行し、前記第1のテンプレートと前記輪郭画像との類似度が最大となるときのパラメータを求める第2の機能と、
前記第2の機能によって求められた前記パラメータを用いて、前記基準画像から前記検査対象の輝度値が抽出された画像である第2のテンプレートを前記検査画像に重ね合わせて前記第2のテンプレートと前記検査画像との間で各画素の輝度値の相関値を求める相関マッチングを実行し、前記相関値が予め設定された閾値以上である場合に前記検査画像に前記検査対象が存在すると判定する第3の機能と
をコンピュータに実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−192066(P2011−192066A)
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願番号】特願2010−58241(P2010−58241)
【出願日】平成22年3月15日(2010.3.15)
【出願人】(000005832)パナソニック電工株式会社 (17,916)
【Fターム(参考)】