(57)【要約】【課題】検査画像から検査対象を短時間かつ高精度で検出する。【解決手段】画像処理装置１は、輪郭画像生成部１２３と、輪郭マッチング実行部１２４と、相関マッチング実行部１２６とを備える。輪郭画像生成部１２３は、検査画像から検査対象の輪郭が抽出された輪郭画像を生成する。輪郭マッチング実行部１２４は、輪郭画像に第１のテンプレートを重ね合わせるためのパラメータを変化させながら第１のテンプレートを輪郭画像に照合する輪郭マッチングを実行する。その後、輪郭マッチング実行部１２４は、第１のテンプレートと輪郭画像との類似度が最大となるときのパラメータを求める。相関マッチング実行部１２６は、輪郭マッチング実行部１２４で求められたパラメータを用いて第２のテンプレートを検査画像に重ね合わせて相関マッチングを実行する。相関マッチング実行部１２６は、相関値が閾値以上である場合に検査画像に検査対象が存在すると判定する。【選択図】図１
2011192066.tif 000002
【特許請求の範囲】
【請求項１】
検査画像から検査対象の輪郭が抽出された輪郭画像を生成する輪郭画像生成部と、
予め登録された基準画像から前記検査対象の輪郭が抽出された画像である第１のテンプレートを、前記輪郭画像に前記第１のテンプレートを重ね合わせるためのパラメータを変化させながら前記輪郭画像に照合する輪郭マッチングを実行し、前記第１のテンプレートと前記輪郭画像との類似度が最大となるときのパラメータを求める輪郭マッチング実行部と、
前記輪郭マッチング実行部で求められた前記パラメータを用いて、前記基準画像から前記検査対象の輝度値が抽出された画像である第２のテンプレートを前記検査画像に重ね合わせて前記第２のテンプレートと前記検査画像との間で各画素の輝度値の相関値を求める相関マッチングを実行し、前記相関値が予め設定された閾値以上である場合に前記検査画像に前記検査対象が存在すると判定する相関マッチング実行部と
を備えることを特徴とする画像処理装置。
【請求項２】
前記輪郭画像において前記検査対象の輪郭の一部が抽出されていない場合に、この抽出されていない輪郭を推定してマスク領域を設定するマスク領域設定部を備え、
前記相関マッチング実行部は、前記検査画像から前記マスク領域を除いた領域に対して前記相関マッチングを実行し、前記相関値が前記閾値以上である場合に前記検査画像に前記検査対象が存在すると判定する
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記パラメータは、前記第１のテンプレートの拡大縮小率を含み、
前記相関マッチング実行部は、前記輪郭マッチング実行部で求められた前記拡大縮小率に応じて前記第２のテンプレートの大きさを補正し、この大きさを補正した第２のテンプレートを前記検査画像に重ね合わせて前記相関マッチングを実行する
ことを特徴とする請求項１または２記載の画像処理装置。
【請求項４】
前記検査対象として、輪郭の形状がすべて同じであって輝度値の配列がそれぞれ異なって複数存在し、
前記第１のテンプレートは、各検査対象で共通であり、
前記第２のテンプレートは、各検査対象ごとに対応付けられてあり、
前記輪郭マッチング実行部は、前記第１のテンプレートを用いて前記輪郭マッチングを実行し、
前記相関マッチング実行部は、各検査対象ごとに前記第２のテンプレートを用いて前記相関マッチングを実行し、各検査対象ごとに前記相関値が前記閾値以上である場合に前記検査画像に前記検査対象が存在すると判定する
ことを特徴とする請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
検査画像から検査対象の輪郭が抽出された輪郭画像を生成する第１のステップと、
予め登録された基準画像から前記検査対象の輪郭が抽出された画像である第１のテンプレートを、前記輪郭画像に前記第１のテンプレートを重ね合わせるためのパラメータを変化させながら前記輪郭画像に照合する輪郭マッチングを実行し、前記第１のテンプレートと前記輪郭画像との類似度が最大となるときのパラメータを求める第２のステップと、
前記第２のステップで求めた前記パラメータを用いて、前記基準画像から前記検査対象の輝度値が抽出された画像である第２のテンプレートを前記検査画像に重ね合わせて前記第２のテンプレートと前記検査画像との間で各画素の輝度値の相関値を求める相関マッチングを実行し、前記相関値が予め設定された閾値以上である場合に前記検査画像に前記検査対象が存在すると判定する第３のステップと
を有することを特徴とする画像処理方法。
【請求項６】
検査画像から検査対象の輪郭が抽出された輪郭画像を生成する第１の機能と、
予め登録された基準画像から前記検査対象の輪郭が抽出された画像である第１のテンプレートを、前記輪郭画像に前記第１のテンプレートを重ね合わせるためのパラメータを変化させながら前記輪郭画像に照合する輪郭マッチングを実行し、前記第１のテンプレートと前記輪郭画像との類似度が最大となるときのパラメータを求める第２の機能と、
前記第２の機能によって求められた前記パラメータを用いて、前記基準画像から前記検査対象の輝度値が抽出された画像である第２のテンプレートを前記検査画像に重ね合わせて前記第２のテンプレートと前記検査画像との間で各画素の輝度値の相関値を求める相関マッチングを実行し、前記相関値が予め設定された閾値以上である場合に前記検査画像に前記検査対象が存在すると判定する第３の機能と
をコンピュータに実現させるためのプログラム。
【請求項７】
検査画像から検査対象の輪郭が抽出された輪郭画像を生成する第１の機能と、
予め登録された基準画像から前記検査対象の輪郭が抽出された画像である第１のテンプレートを、前記輪郭画像に前記第１のテンプレートを重ね合わせるためのパラメータを変化させながら前記輪郭画像に照合する輪郭マッチングを実行し、前記第１のテンプレートと前記輪郭画像との類似度が最大となるときのパラメータを求める第２の機能と、
前記第２の機能によって求められた前記パラメータを用いて、前記基準画像から前記検査対象の輝度値が抽出された画像である第２のテンプレートを前記検査画像に重ね合わせて前記第２のテンプレートと前記検査画像との間で各画素の輝度値の相関値を求める相関マッチングを実行し、前記相関値が予め設定された閾値以上である場合に前記検査画像に前記検査対象が存在すると判定する第３の機能と
をコンピュータに実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検査画像から検査対象を検出する画像処理装置、画像処理方法、プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
従来から、テンプレートマッチングを用いて検査画像から検査対象を検出する画像処理装置が知られている。
【０００３】
従来の画像処理装置の一例としては、相関マッチング（正規化相関マッチング）を用いて検査対象を検出する装置がある（例えば特許文献１，２参照）。この画像処理装置は、カメラで撮像された撮像画像を検査画像とし、テンプレートを検査画像内で移動させながら検査画像に照合していき、検査画像におけるテンプレートの各位置ごとにテンプレートの各画素の輝度値と検査画像の各画素の輝度値との相互相関係数を求めていく。その後、上記画像処理装置は、相互相関係数の最大値が閾値以上である場合に、検査画像に検査対象が存在すると判定する。
【０００４】
また、従来の画像処理装置の他の例としては、テンプレートと検査画像との間で輪郭同士を比較する輪郭マッチングを用いて検査対象を検出する装置がある。この画像処理装置は、検査対象の輪郭が含まれているテンプレートを、検査画像から検査対象の輪郭が抽出された輪郭画像内で移動させながら輪郭画像に照合していき、輪郭画像におけるテンプレートの各位置ごとに類似度を求めていく。その後、上記画像処理装置は、類似度の最大値が閾値以上である場合に、輪郭画像（検査画像）に検査対象が存在すると判定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−２２３２３３号公報
【特許文献２】特開２００３−２１６９３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、相関マッチングを用いて検査対象を検出する画像処理装置の場合、検査画像におけるテンプレートの各位置ごとに相互相関係数を求める処理を行うため、この処理で扱う情報量が多くなり、その結果、処理時間が長くなるという問題があった。
【０００７】
一方、輪郭マッチングを用いて検査対象を検出する画像処理装置の場合、テンプレートと検査画像との間で輪郭情報の類似度を求めるため、検査対象との間で輪郭が同一または類似である物体がある場合、上記物体を検査対象として誤判定するという問題があった。
【０００８】
本発明は上記の点に鑑みて為され、本発明の目的は、検査画像から検査対象を短時間かつ高精度で検出することができる画像処理装置、画像処理方法、プログラムおよび記録媒体を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の画像処理装置は、検査画像から検査対象の輪郭が抽出された輪郭画像を生成する輪郭画像生成部と、予め登録された基準画像から前記検査対象の輪郭が抽出された画像である第１のテンプレートを、前記輪郭画像に前記第１のテンプレートを重ね合わせるためのパラメータを変化させながら前記輪郭画像に照合する輪郭マッチングを実行し、前記第１のテンプレートと前記輪郭画像との類似度が最大となるときのパラメータを求める輪郭マッチング実行部と、前記輪郭マッチング実行部で求められた前記パラメータを用いて、前記基準画像から前記検査対象の輝度値が抽出された画像である第２のテンプレートを前記検査画像に重ね合わせて前記第２のテンプレートと前記検査画像との間で各画素の輝度値の相関値を求める相関マッチングを実行し、前記相関値が予め設定された閾値以上である場合に前記検査画像に前記検査対象が存在すると判定する相関マッチング実行部とを備えることを特徴とする。
【００１０】
この画像処理装置において、前記輪郭画像において前記検査対象の輪郭の一部が抽出されていない場合に、この抽出されていない輪郭を推定してマスク領域を設定するマスク領域設定部を備え、前記相関マッチング実行部は、前記検査画像から前記マスク領域を除いた領域に対して前記相関マッチングを実行し、前記相関値が前記閾値以上である場合に前記検査画像に前記検査対象が存在すると判定することが好ましい。
【００１１】
この画像処理装置において、前記パラメータは、前記第１のテンプレートの拡大縮小率を含み、前記相関マッチング実行部は、前記輪郭マッチング実行部で求められた前記拡大縮小率に応じて前記第２のテンプレートの大きさを補正し、この大きさを補正した第２のテンプレートを前記検査画像に重ね合わせて前記相関マッチングを実行することが好ましい。
【００１２】
この画像処理装置において、前記検査対象として、輪郭の形状がすべて同じであって輝度値の配列がそれぞれ異なって複数存在し、前記第１のテンプレートは、各検査対象で共通であり、前記第２のテンプレートは、各検査対象ごとに対応付けられてあり、前記輪郭マッチング実行部は、前記第１のテンプレートを用いて前記輪郭マッチングを実行し、前記相関マッチング実行部は、各検査対象ごとに前記第２のテンプレートを用いて前記相関マッチングを実行し、各検査対象ごとに前記相関値が前記閾値以上である場合に前記検査画像に前記検査対象が存在すると判定することが好ましい。
【００１３】
本発明の画像処理方法は、検査画像から検査対象の輪郭が抽出された輪郭画像を生成する第１のステップと、予め登録された基準画像から前記検査対象の輪郭が抽出された画像である第１のテンプレートを、前記輪郭画像に前記第１のテンプレートを重ね合わせるためのパラメータを変化させながら前記輪郭画像に照合する輪郭マッチングを実行し、前記第１のテンプレートと前記輪郭画像との類似度が最大となるときのパラメータを求める第２のステップと、前記第２のステップで求めた前記パラメータを用いて、前記基準画像から前記検査対象の輝度値が抽出された画像である第２のテンプレートを前記検査画像に重ね合わせて前記第２のテンプレートと前記検査画像との間で各画素の輝度値の相関値を求める相関マッチングを実行し、前記相関値が予め設定された閾値以上である場合に前記検査画像に前記検査対象が存在すると判定する第３のステップとを有することを特徴とする。
【００１４】
本発明のプログラムは、検査画像から検査対象の輪郭が抽出された輪郭画像を生成する第１の機能と、予め登録された基準画像から前記検査対象の輪郭が抽出された画像である第１のテンプレートを、前記輪郭画像に前記第１のテンプレートを重ね合わせるためのパラメータを変化させながら前記輪郭画像に照合する輪郭マッチングを実行し、前記第１のテンプレートと前記輪郭画像との類似度が最大となるときのパラメータを求める第２の機能と、前記第２の機能によって求められた前記パラメータを用いて、前記基準画像から前記検査対象の輝度値が抽出された画像である第２のテンプレートを前記検査画像に重ね合わせて前記第２のテンプレートと前記検査画像との間で各画素の輝度値の相関値を求める相関マッチングを実行し、前記相関値が予め設定された閾値以上である場合に前記検査画像に前記検査対象が存在すると判定する第３の機能とをコンピュータに実現させるためのプログラムである。
【００１５】
本発明の記録媒体は、検査画像から検査対象の輪郭が抽出された輪郭画像を生成する第１の機能と、予め登録された基準画像から前記検査対象の輪郭が抽出された画像である第１のテンプレートを、前記輪郭画像に前記第１のテンプレートを重ね合わせるためのパラメータを変化させながら前記輪郭画像に照合する輪郭マッチングを実行し、前記第１のテンプレートと前記輪郭画像との類似度が最大となるときのパラメータを求める第２の機能と、前記第２の機能によって求められた前記パラメータを用いて、前記基準画像から前記検査対象の輝度値が抽出された画像である第２のテンプレートを前記検査画像に重ね合わせて前記第２のテンプレートと前記検査画像との間で各画素の輝度値の相関値を求める相関マッチングを実行し、前記相関値が予め設定された閾値以上である場合に前記検査画像に前記検査対象が存在すると判定する第３の機能とをコンピュータに実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１６】
本発明は、検査画像から生成された輪郭画像に対して輪郭マッチングを実行し、基準画像から検査対象の輪郭が抽出された画像である第１のテンプレートと輪郭画像との類似度が最大となるときのパラメータを求めることによって、検査画像内の検査対象の候補を高速に検出することができる。また、本発明は、類似度が最大となるときのパラメータを用いて、基準画像から検査対象の輝度値が抽出された画像である第２のテンプレートを検査画像に重ね合わせて相関マッチングを実行することによって、検査対象の存否を精度よく判定することができる。その結果、本発明は、検査画像から検査対象を短時間かつ高精度で検出することができる。
【図面の簡単な説明】
【００１７】
【図１】実施形態１に係る画像処理装置において、（ａ）は、全体構成を示すブロック図、（ｂ）は、制御部の構成を示すブロック図である。
【図２】同上に係る画像処理装置において、（ａ）は、輪郭の一部が検出されなかった輪郭画像を示す図、（ｂ）は、マスク領域が設定された第２のテンプレートを示す図である。
【図３】同上に係る画像処理装置において、（ａ）は、拡大前の第２のテンプレートを示す図、（ｂ）は、拡大後の第２のテンプレートを示す図である。
【図４】同上に係る画像処理方法を示すフローチャートである。
【図５】実施形態２に係る画像処理装置の第１のテンプレートおよび第２のテンプレートについて説明する図である。
【図６】同上に係る画像処理方法を示すフローチャートである。
【発明を実施するための形態】
【００１８】
（実施形態１）
実施形態１に係る画像処理装置は、検査画像に画像処理を実施して検査画像から検査対象を検出する装置である。図１（ａ）に示すように、本実施形態の画像処理装置１は、カメラインタフェース１１と、制御部１２と、メモリ１３と、入力インタフェース１４と、外部メモリインタフェース１５とを備えている。画像処理装置１は、カメラ２と入力装置３とで画像処理システムを構成する。画像処理装置１は、コンピュータ（マイクロコンピュータを含む）を主構成要素とし、さまざまな画像処理を実行するためのプログラムを搭載している。上記コンピュータは、処理装置であるマイクロプロセッサ（ＭＰＵ：Micro Processing Unit）と、データおよびプログラムを記憶する記憶装置（メモリ）と、他の機器と接続するためのインタフェースとを備える装置である。ユーザは、動作条件を指定するパラメータをプログラムに与えることによって、プログラムを実行させることができる。なお、上記コンピュータに搭載されるマイクロプロセッサは、１個であってもよいし、複数個であってもよい。
【００１９】
カメラ２は、例えばＣＣＤ（Charge Coupled Device）カメラなどであり、検査対象を撮像する撮像装置である。カメラ２で撮像された撮像画像は、モノクロ画像（モノクローム画像）であってもよいし、カラー画像であってもよい。撮像画像の画像データは、カメラ２から画像処理装置１に出力される。
【００２０】
入力装置３は、例えばキーパッドやキーボードなどであり、ユーザが画像処理装置１への指示を入力するときに用いられる装置である。入力装置３には、ユーザの入力操作によって各種指示が入力される。入力装置３に入力された指示は、画像処理装置１に出力される。
【００２１】
カメラインタフェース１１は、カメラケーブル１１１によってカメラ２に接続されている。カメラ２で撮像された撮像画像は、カメラインタフェース１１を介して画像処理装置１に取り込まれる。制御部１２が後述の第１のテンプレートと第２のテンプレートとを生成する場合、画像処理装置１に取り込まれた撮像画像は基準画像となる。基準画像は登録される。一方、制御部１２が検査画像から検査対象を検査する場合、画像処理装置１に取り込まれた撮像画像は検査画像となる。
【００２２】
制御部１２は、図１（ｂ）に示すように、第１のテンプレート生成部１２１と、第２のテンプレート生成部１２２と、輪郭画像生成部１２３と、輪郭マッチング実行部１２４と、マスク領域設定部１２５と、相関マッチング実行部１２６とを備えている。制御部１２は、マイクロプロセッサを主構成要素とし、メモリ１３に格納されているプログラムに基づいて動作する。なお、制御部１２は、１個のマイクロプロセッサを主構成要素としてもよいし、２個以上のマイクロプロセッサを主構成要素としてもよい。
【００２３】
第１のテンプレート生成部１２１は、基準画像に対してエッジ検出を行い、基準画像内のエッジ（エッジ画素）を抽出して２値画像を生成する。その後、第１のテンプレート生成部１２１は、上記２値画像に対してラベル付け（ラベリング）を行い、基準画像における検査対象の輪郭線を抽出した画像を生成し、この画像を第１のテンプレートとする。つまり、第１のテンプレートは、基準画像から検査対象の輪郭が抽出された画像である。第１のテンプレートにおいて、輪郭部分の画素の輝度値は「１」であり、他の画素の輝度値は「０」である。第１のテンプレートは、メモリ１３に格納される。
【００２４】
第２のテンプレート生成部１２２は、基準画像から検査対象の輝度値を抽出して第２のテンプレートを生成する。つまり、第２のテンプレートは、基準画像から検査対象の輝度値が抽出された画像である。第２のテンプレートは、メモリ１３に格納される。
【００２５】
輪郭画像生成部１２３は、検査時において、検査画像に対してエッジ検出を行い、検査画像内のエッジを抽出して２値画像を生成する。その後、輪郭画像生成部１２３は、上記２値画像に対してラベル付けを行い、検査画像における検査対象の輪郭を抽出して２値の輪郭画像を生成する。つまり、輪郭画像は、検査画像から検査対象の輪郭が抽出された画像である。輪郭画像において、輪郭部分の画素の輝度値は「１」であり、他の画素の輝度値は「０」である。
【００２６】
輪郭マッチング実行部１２４は、輪郭画像に第１のテンプレートを重ね合わせるためのパラメータ（位置・回転角度・拡大縮小率の組み合わせ）を変化させながら第１のテンプレートを輪郭画像に照合する輪郭マッチングを実行し、各パラメータごとに第１のテンプレートと輪郭画像との類似度（一致度）を求めていく。その後、輪郭マッチング実行部１２４は、類似度が最大となるときのパラメータを求める。つまり、輪郭マッチング実行部１２４は、検査対象である可能性が高い検査対象候補を検査画像から検出する。
【００２７】
輪郭マッチング実行部１２４による輪郭マッチングの実行例として、まず、輪郭マッチング実行部１２４は、第１のテンプレートの全体パターンから特徴的な形状を示す部分パターンを抽出する。その後、輪郭マッチング実行部１２４は、部分パターンごとに類似度を求める。その後、輪郭マッチング実行部１２４は、グループ内のすべての部分パターンの類似度の合計が最大となるパラメータを求める。なお、輪郭マッチング実行部１２４による輪郭マッチングは、上記以外の方法であってもよい。
【００２８】
マスク領域設定部１２５は、輪郭マッチング実行部１２４の実行結果から検査対象候補の輪郭線情報を取得する。図２（ａ）に示す輪郭画像５において検査対象候補の輪郭５１の一部が輪郭画像生成部１２３によって抽出されなかった場合、マスク領域設定部１２５は、輪郭画像生成部１２３によって抽出された輪郭５１１（図２（ａ）の実線部分）を用いて、抽出されなかった輪郭５１２（図２（ａ）の破線部分）を推定する。その後、マスク領域設定部１２５は、抽出されなかった輪郭５１２で囲まれた領域５２に対応する領域を含むように、図２（ｂ）に示す第２のテンプレート６にマスク領域６１（図２（ｂ）の斜線部分）を設定する。
【００２９】
図１に示す相関マッチング実行部１２６は、輪郭マッチング実行部１２４で求められたパラメータを用いて検査画像に第２のテンプレートを重ね合わせる。その後、相関マッチング実行部１２６は、第２のテンプレートと検査画像との間で各画素の輝度値の相互相関係数Ｃ（数１）を求める相関マッチングを実行する。相関マッチング実行部１２６は、相互相関係数Ｃが閾値以上である場合に検査画像に検査対象が存在すると判定する。相互相関係数Ｃが閾値未満である場合、相関マッチング実行部１２６は、検査画像には検査対象が存在しないと判定する。閾値は、予め設定された値である。
【００３０】
【数１】
2011192066.tif 000003
【００３１】
ところで、マスク領域設定部１２５によって第２のテンプレート６にマスク領域６１（図２（ｂ）参照）が設定された場合、相関マッチング実行部１２６は、検査画像からマスク領域６１を除いた領域に対して相関マッチングを実行する。相互相関係数Ｃが閾値以上である場合に、相関マッチング実行部１２６は、検査画像に検査対象が存在すると判定する。
【００３２】
また、相関マッチング実行部１２６は、図３に示すように、輪郭マッチング実行部１２４で求められた拡大縮小率を用いて第２のテンプレート６の大きさを補正する。図３には、第２のテンプレート６を拡大する場合が示されている。図３（ａ）が拡大前の第２のテンプレート６であり、図３（ｂ）が拡大後の第２のテンプレート６である。第２のテンプレートを拡大する場合、相関マッチング実行部１２６は、拡大前の第２のテンプレート６において隣接する第１の画素と第２の画素との間に、拡大後の第２のテンプレート６において配列される画素の輝度値を設定する必要がある。本実施形態の相関マッチング実行部１２６は、例えば、第１の画素と第２の画素との間に配列される各画素の輝度値を第１の画素から第２の画素に向かって連続的に変化するように設定する。その後、相関マッチング実行部１２６は、拡大前から存在する画素の輝度値と新たに設定された輝度値とを用いて、第２のテンプレート６を拡大する。これに対して、第２のテンプレート６を縮小する場合、相関マッチング実行部１２６は、縮小前から存在する画素の一部を間引いて、残りの画素の輝度値を用いて第２のテンプレート６を縮小する。相関マッチング実行部１２６は、大きさを補正した第２のテンプレート６を検査画像に重ね合わせて相関マッチングを実行する。なお、相関マッチング実行部１２６は、他の例として、第１の画素と第２の画素との間に配列される各画素の輝度値を、第１の画素と第２の画素のいずれか近いほうの輝度値として設定してもよい。
【００３３】
図１に示すメモリ１３は、ＲＯＭ（Read Only Memory）１３１と、ＲＡＭ（Random AccessMemory）１３２とを備えている。ＲＯＭ１３１としては、データの書き換えができないマスクＲＯＭ、データの書き換えができるＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）などが用いられる。ＲＡＭ１３２としては、ＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（StaticRandom Access Memory）が用いられる。ＲＯＭ１３１およびＲＡＭ１３２には、それぞれ各種データが記憶されている。特に、ＲＡＭ１３２には、基準画像の画像データが格納されていたり、第１のテンプレートおよび第２のテンプレートの各画像データが格納されていたりする。一方、ＲＯＭ１３１には、画像処理を実行するためのプログラムが格納されている。つまり、ＲＯＭ１３１には、第１のテンプレート生成部１２１と第２のテンプレート生成部１２２と輪郭画像生成部１２３と輪郭マッチング実行部１２４とマスク領域設定部１２５と相関マッチング実行部１２６との各機能を実行するためのプログラムが格納されている。
【００３４】
なお、上記プログラムは、画像処理装置１の出荷時にＲＯＭ１３１に予め記憶される。ただし、画像処理装置１が上記プログラムを出荷後に搭載する場合、画像処理装置１が上記プログラムを搭載する手法の一例としては、上記プログラムを格納する記録媒体（例えばメモリカード、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなど）を用いる手法がある。記録媒体を用いる場合、画像処理装置１は、記録媒体のデータを読み込むためのドライブ装置（図示せず）を備えていればよい。また、他の例としては、ネットワークを用いて上記プログラムをダウンロードする手法がある。ネットワークを介して上記プログラムをダウンロードする場合、画像処理装置１は、ネットワークを用いて通信するための通信機能（図示せず）を有していればよい。
【００３５】
入力インタフェース１４は、ケーブル１４１によって入力装置３と接続している。入力装置３からは、入力インタフェース１４を介してユーザの指示が入力される。入力インタフェース１４に入力された指示は、制御部１２に出力される。
【００３６】
外部メモリインタフェース１５は、制御部１２の指示にしたがって、ソケット（図示せず）に装着された外部メモリ４からデータを取得したり、画像処理装置１のデータを外部に取り出す際に外部メモリ４にデータを記憶させたりする。外部メモリ４としては、例えばＳＤメモリカード（登録商標）やコンパクトフラッシュ（登録商標）などがある。ユーザは、外部メモリ４に取り出されたデータを外部装置（例えばパーソナルコンピュータなど）で確認することができる。
【００３７】
次に、本実施形態に係る画像処理装置１を用いた画像処理方法について図４を用いて説明する。まず、カメラ２で撮像された撮像画像がカメラインタフェース１１を介して画像処理装置１に取り込まれ（図４のＳ１）、基準画像が設定される（Ｓ２）。その後、制御部１２の第２のテンプレート生成部１２２が基準画像から第２のテンプレート（相関マッチング用のテンプレート）を生成する（Ｓ３）。また、第１のテンプレート生成部１２１が基準画像から第１のテンプレート（輪郭マッチング用のテンプレート）を生成する（Ｓ４）。
【００３８】
検査時において、カメラ２で撮像された検査画像がカメラインタフェース１１を介して画像処理装置１に取り込まれる（Ｓ５）。輪郭画像生成部１２３が検査画像から輪郭画像を生成する（Ｓ６）。その後、輪郭マッチング実行部１２４は、第１のテンプレートを輪郭画像に照合する輪郭マッチングを実行し、第１のテンプレートと輪郭画像との類似度が最大となるときのパラメータを求める（Ｓ７）。その後、マスク領域設定部１２５は、輪郭マッチング実行部１２４の実行結果から輪郭線情報を取得する（Ｓ８）。マスク領域設定部１２５は、輪郭画像生成部１２３によって抽出されなかった輪郭が存在するか否かを判定する（Ｓ９）。抽出されなかった輪郭が存在する場合、マスク領域設定部１２５は、マスク領域６１を設定する（Ｓ１０）。抽出されなかった輪郭が存在しない場合、マスク領域６１は設定されない。
【００３９】
その後、相関マッチング実行部１２６は、輪郭マッチングの実行結果から検査対象の輪郭の拡大縮小率を取得する（Ｓ１１）。拡大縮小率が１以外である場合（Ｓ１２）、相関マッチング実行部１２６は、拡大縮小率に応じて第２のテンプレートの大きさを変更する（Ｓ１３）。拡大縮小率が１である場合、第２のテンプレートの大きさはそのままである。
【００４０】
その後、相関マッチング実行部１２６は、ステップＳ７で求められたパラメータを用いて検査画像に第２のテンプレートを重ね合わせて相関マッチングを実行して相互相関係数Ｃ（数１）を求める（Ｓ１４）。相互相関係数Ｃが閾値以上である場合（Ｓ１５）、相関マッチング実行部１２６は、検査画像に検査対象が存在すると判定する（Ｓ１６）。相互相関係数Ｃが閾値未満である場合（Ｓ１５）、相関マッチング実行部１２６は、検査画像には検査対象が存在しないと判定する（Ｓ１７）。
【００４１】
上記より、本実施形態の画像処理装置１によれば、輪郭マッチング実行部１２４は、検査画像から生成された輪郭画像に対して輪郭マッチングを実行し、基準画像から検査対象の輪郭が抽出された画像である第１のテンプレートと輪郭画像との類似度が最大となるときのパラメータを求める。これにより、本実施形態の画像処理装置１は、検査画像内の検査対象の候補を高速に検出することができる。また、本実施形態の画像処理装置１によれば、相関マッチング実行部１２６は、類似度が最大となるときのパラメータを用いて、基準画像から検査対象の輝度値が抽出された画像である第２のテンプレートを検査画像に重ね合わせて相関マッチングを実行する。これにより、本実施形態の画像処理装置１は、検査対象の存否を精度よく判定することができる。その結果、本実施形態の画像処理装置１は、検査画像から検査対象を短時間かつ高精度で検出することができる。
【００４２】
また、本実施形態の画像処理装置１によれば、マスク領域設定部１２５が輪郭画像５（図２参照）において抽出されなかった輪郭５１２を推定して第２のテンプレート６にマスク領域６１を設定し、相関マッチング実行部１２６がマスク領域６１を除いた領域で相関マッチングを実行する。これにより、本実施形態の画像処理装置１は、検査画像に検査対象が存在するか否かを精度よく判定することができる。つまり、本実施形態の画像処理装置１は、検査画像において検査対象の一部が隠れている場合であっても、検査画像に検査対象が存在するか否かを精度よく判定することができる。
【００４３】
さらに、本実施形態の画像処理装置１によれば、相関マッチング実行部１２６が第１のテンプレートの拡大縮小率に応じて第２のテンプレート６（図３参照）の大きさを補正する。これにより、本実施形態の画像処理装置１は、検査画像内の検査対象の大きさに対応させて相関マッチングを実行することができるので、検査画像内の検査対象の大きさに関係なく、検査画像に検査対象が存在するか否かを精度よく検査することができる。
【００４４】
なお、本実施形態において、マスク領域設定部１２５は必須の構成要素ではなく、画像処理装置１は、マスク領域設定部１２５を備えていない構成であってもよい。この場合、図４のステップＳ８からステップＳ１０の処理は実行されない。このような画像処理装置１であっても、検査画像から検査対象を短時間かつ高精度で検出することができる。
【００４５】
また、本実施形態の変形例として、検査画像内の検査対象の大きさがほぼ一定である場合、相関マッチング実行部１２６は、第２のテンプレートの大きさを補正する機能を有していなくてもよい。上記変形例の場合、図４のステップＳ１１からステップＳ１３の処理は実行されない。このような画像処理装置１であっても、本実施形態と同様に、検査画像から検査対象を短時間かつ高精度で検出することができる。
【００４６】
（実施形態２）
実施形態２では、輪郭の形状がすべて同じであって輝度値の配列がそれぞれ異なる複数の検査対象が存在する場合について説明する。つまり、本実施形態では、図５に示すような複数（図示例では６枚）の基準画像７ａ〜７ｆが存在する。なお、本実施形態の画像処理装置１は、実施形態１の画像処理装置１と同様、図１に示されている。
【００４７】
本実施形態のカメラインタフェース１１には、各検査対象ごとに基準画像７ａ〜７ｆがカメラ２から取り込まれる。
【００４８】
本実施形態の第１のテンプレート生成部１２１は、入力装置３から第１のテンプレート８の生成個数を読み込んで設定する。その後、第１のテンプレート生成部１２１は、基準画像７ａ〜７ｆから第１のテンプレート８を設定個数分生成する。本実施形態では、第１のテンプレート８は、各検査対象で共通である。なお、本実施形態の第１のテンプレート生成部１２１は、上記以外の点において実施形態１の第１のテンプレート生成部１２１と同様である。
【００４９】
なお、第１のテンプレート生成部１２１は、ｍ個の検査対象に対してｎ（２≦ｎ＜ｍ）個の第１のテンプレート８を生成してもよい。例えば、第１のテンプレート生成部１２１は、基準画像７ａ〜７ｃに共通する第１のテンプレート８と、基準画像７ｄ〜７ｆに共通する第１のテンプレート８とをそれぞれ生成し、各第１のテンプレート８ごとに輪郭マッチングを実行してもよい。
【００５０】
本実施形態の第２のテンプレート生成部１２２は、入力装置３から第２のテンプレート６ａ〜６ｆの生成個数を読み込んで設定する。その後、第２のテンプレート生成部１２２は、各検査対象ごとに基準画像７ａ〜７ｆから第２のテンプレート６ａ〜６ｆを設定個数分生成する。つまり、本実施形態では、第２のテンプレート６ａ〜６ｆは、各検査対象ごとに対応付けられている。なお、本実施形態の第２のテンプレート生成部１２２は、上記以外の点において実施形態１の第２のテンプレート生成部１２２と同様である。
【００５１】
本実施形態の輪郭マッチング実行部１２４は、第１のテンプレート８を用いて輪郭マッチングを実行する。なお、本実施形態の輪郭マッチング実行部１２４は、上記以外の点において実施形態１の輪郭マッチング実行部１２４と同様である。
【００５２】
本実施形態の相関マッチング実行部１２６は、各検査対象ごとに第２のテンプレート６ａ〜６ｆを用いて相関マッチングを実行して相互相関係数Ｃ（数１）を求める。相関マッチング実行部１２６は、各検査対象ごとに、相互相関係数Ｃと閾値とを比較し、相互相関係数Ｃが閾値以上である場合に検査画像に検査対象が存在すると判定する。相互相関係数Ｃが閾値未満である場合、相関マッチング実行部１２６は、検査画像に検査対象は存在しないと判定する。なお、本実施形態の相関マッチング実行部１２６は、上記以外の点において実施形態１の相関マッチング実行部１２６と同様である。
【００５３】
次に、本実施形態に係る画像処理装置１を用いた画像処理方法について図６を用いて説明する。まず、カメラ２で撮像された撮像画像がカメラインタフェース１１を介して画像処理装置１に取り込まれ（図６のＳ２１）、複数の基準画像７ａ〜７ｆが設定される（Ｓ２２）。その後、制御部１２の第２のテンプレート生成部１２２は、入力装置３から第２のテンプレート６ａ〜６ｆの生成個数を読み込む（Ｓ２３）。その後、第２のテンプレート生成部１２２は、基準画像７ａ〜７ｆから第２のテンプレート６ａ〜６ｆを生成する（Ｓ２４）。その後、第１のテンプレート生成部１２１は、入力装置３から第１のテンプレート８の生成個数を読み込む（Ｓ２５）。その後、第１のテンプレート生成部１２１は、基準画像７ａ〜７ｆから第１のテンプレート８を生成する（Ｓ２６）。
【００５４】
検査時において、カメラ２で撮像された検査画像がカメラインタフェース１１を介して画像処理装置１に取り込まれる（Ｓ２７）。輪郭画像生成部１２３が検査画像から輪郭画像を生成する（Ｓ２８）。その後、輪郭マッチング実行部１２４は、第１のテンプレート８ごとに、第１のテンプレート８を輪郭画像に照合する輪郭マッチングを実行し、第１のテンプレート８と輪郭画像との類似度が最大となるときのパラメータ（位置・回転角度）を求める（Ｓ２９）。
【００５５】
その後、相関マッチング実行部１２６は、第２のテンプレート６ａ〜６ｆごとに、ステップＳ２９で求められたパラメータを用いて第２のテンプレート６ａ〜６ｆを検査画像に重ね合わせて相関マッチングを実行して相互相関係数Ｃ（数１）を求める（Ｓ３０）。相互相関係数Ｃが閾値以上である場合（Ｓ３１）、相関マッチング実行部１２６は、検査画像に検査対象が存在すると判定する（Ｓ３２）。相互相関係数Ｃが閾値未満である場合（Ｓ３１）、相関マッチング実行部１２６は、検査画像に検査対象は存在しないと判定する（Ｓ３３）。本実施形態の画像処理装置１は、検査画像に存在する検査対象が決定されるまで、各第２のテンプレート６ａ〜６ｆごとに、ステップＳ３０からステップＳ３３までの処理を実行する（Ｓ３４）。
【００５６】
上記より、本実施形態の画像処理装置１は、輪郭の形状がすべて同じであって輝度値の配列がそれぞれ異なる複数の検査対象に対して、輪郭マッチングの実行回数は１回でよいので、全体の処理時間を短縮することができる。また、本実施形態の画像処理装置１は、輪郭マッチングを実行した後、各検査対象ごとに相関マッチングを実行することによって、各検査対象の輝度値の配列を精度よく判別することができる。上記より、本実施形態の画像処理装置１では、検査画像に各検査対象がそれぞれ存在するか否かを短時間かつ高精度で検査することができる。つまり、本実施形態の画像処理装置１は、輪郭の形状が同じであって模様が異なる複数の検査対象が存在する場合に、各検査対象の検出処理を短時間かつ高精度で実行することができる。
【００５７】
なお、本実施形態の変形例として、画像処理装置１は、実施形態１の画像処理装置１が有する機能（マスク領域６１を設定する機能、第２のテンプレート６ａ〜６ｆの大きさを変更する機能）を各検査対象ごとに有してもよい。
【００５８】
また、実施形態１，２の変形例として、第１のテンプレート生成部１２１が第１のテンプレートを生成する時点、第２のテンプレート生成部１２２が第２のテンプレートを生成する時点までに、基準画像が外部メモリ（図示せず）などに予め格納されて用意されていてもよい。
【００５９】
さらに、実施形態１，２において、第１のテンプレートが外部装置（図示せず）で生成されて用意される場合、第１のテンプレート生成部１２１は必須の構成要素ではなく、画像処理装置１は、第１のテンプレート生成部１２１を備えていない構成であってもよい。同様に、第２のテンプレートが外部装置で生成されて用意される場合、第２のテンプレート生成部１２２は必須の構成要素ではなく、画像処理装置１は、第２のテンプレート生成部１２２を備えていない構成であってもよい。上記のような画像処理装置１であっても、検査画像から検査対象を短時間かつ高精度で検出することができる。
【００６０】
また、実施形態１，２の画像処理装置１は、画像処理用の専用機器であってもよいし、汎用機器（例えばパーソナルコンピュータなど）であってもよい。画像処理装置１が汎用コンピュータである場合、画像処理を実行するためのプログラムを画像処理装置１が搭載する手法としては、上述したように、上記プログラムを格納する記録媒体を用いる手法や、ネットワークを用いて上記プログラムをダウンロードする手法がある。
【符号の説明】
【００６１】
１  画像処理装置
１２３  輪郭画像生成部
１２４  輪郭マッチング実行部
１２５  マスク領域設定部
１２６  相関マッチング実行部
５  輪郭画像
６，６ａ〜６ｆ  第２のテンプレート
６１  マスク領域
８  第１のテンプレート
【図１】
2011192066.tif 000004
【図２】
2011192066.tif 000005
【図３】
2011192066.tif 000006
【図４】
2011192066.tif 000007
【図５】
2011192066.tif 000008
【図６】
2011192066.tif 000009