(57)【特許請求の範囲】
【請求項１】
検査対象物を第１の光学条件の下で撮像してなる第１の画像を取得する第１の画像取得部と、
前記検査対象物を前記第１の光学条件とは異なる第２の光学条件の下で撮像してなる第２の画像を取得する第２の画像取得部と、
前記第１の画像に基づいて第１のクラック点列を生成する第１のクラック点列生成部と、
前記第２の画像に基づいて第２のクラック点列を生成する第２のクラック点列生成部と、
前記第１のクラック点列と前記第２のクラック点列を連結してなる連結クラック点列を生成するクラック連結部と
を備え、
前記第１及び第２のクラック点列生成部はそれぞれ、
前記第１及び第２の画像のうちの対応するものである検査対象画像、並びに、線分を示すテンプレートに基づく幾何学マッチングにより、線分を示すクラック点列を取得するマッチング処理部と、
前記検査対象画像に対してエッジ抽出を実行することにより、前記クラック点列を構成する複数のクラック点のそれぞれについて、該クラック点の取り得る範囲を示す複数の候補点を取得する候補点取得部と、
前記複数の候補点の組み合わせにより示される複数の仮クラック点列の中から、前記検査対象画像内に現れているクラックとの一致度が最大となるものを最適化クラック点列として選択する最適化部と、
前記最適化クラック点列を構成する複数のクラック点のそれぞれについて、該クラック点の周辺領域との濃度差に基づき、クラックらしさを示すクラック点スコアを算出するクラック点スコア算出部と、
前記複数のクラック点それぞれの前記クラック点スコアに基づき、前記最適化クラック点列内におけるクラックらしさの連続性を示すクラックスコアを算出するクラックスコア算出部とを有し、
前記第１のクラック点列は、前記第１のクラック点列生成部の前記最適化部によって選択された前記最適化クラック列であり、
前記第２のクラック点列は、前記第２のクラック点列生成部の前記最適化部によって選択された前記最適化クラック列であり、
前記クラック連結部は、前記第１のクラック点列及び前記第２のクラック点列それぞれの前記クラックスコアがいずれも所定値以上である場合に、前記連結クラック点列を生成する
ことを特徴とする画像認識装置。
【請求項２】
前記第１のクラック点列生成部は１以上の前記第１のクラック点列を生成し、
前記第２のクラック点列生成部は１以上の前記第２のクラック点列を生成し、
前記クラック連結部は、
前記１以上の第１のクラック点列及び前記１以上の第２のクラック点列により構成される複数のクラック点列のそれぞれについて、当該クラック点列の始点と、他のクラック点列の終点とを連結することの妥当性を示す連結スコアを算出する連結スコア算出部と、
前記連結スコア算出部によって算出された前記連結スコアの大きいものから順に、前記複数のクラック点列それぞれの始点を、他の前記クラック点列の終点と一対一に連結する連結処理部とを有し、
前記連結スコアは、対応する始点を有する一方のクラック点列に関して算出された前記クラックスコア、対応する終点を有する他方のクラック点列に関して算出された前記クラックスコア、前記一方のクラック点列を構成するクラック点の数、前記他方のクラック点列を構成するクラック点の数、前記一方のクラック点列の中点から前記他方のクラック点列の中点に至る中点ベクトルと前記一方のクラック点列の終点から前記他方のクラック点列の始点に至る連結ベクトルとのなす角、及び、前記一方のクラック点列の始点と前記他方のクラック点列の終点の間の距離に基づいて算出される
ことを特徴とする請求項１に記載の画像認識装置。
【請求項３】
前記クラック点スコア算出部は、
前記最適化クラック点列を構成する複数のクラック点の中のｉ番目のクラック点の座標（ｘｉ，ｙｉ）に対応する前記検査対象画像内の画素の濃度Ｄ（ｘｉ，ｙｉ）、予め与えられる自然数である数値ｄ、クラックの色に応じて−１又は＋１のいずれかの値を取る数値ｓｉｇｎ、Ａ，Ｂのうちの最大値を返す関数ｍａｘ（Ａ，Ｂ）を用いる式（１）及び式（２）により前記ｉ番目のクラック点の濃度差ｄｅｆ（ｉ）を算出し、
【数１】
0005806786.tif 000020
さらに、予め与えられるしきい値ｔｈを用いる式（３）により、前記ｉ番目の画素の前記クラック点スコアｓ（ｉ）を算出する
【数２】
0005806786.tif 000021
ことを特徴とする請求項２に記載の画像認識装置。
【請求項４】
前記クラックスコア算出部は、前記最適化クラック点列を構成するクラック点の数Ｎ＋１、予め与えられる自然数である数値ｋ、２ｋ＋１に等しい数値ｗ、数値ｋに対応する評価値ｃｓ（ｋ）、評価値ｃｓ（ｋ）の重み係数α（ｋ）を用いる式（４）乃至式（６）により、前記最適化クラック点列のクラックスコアＣＳを算出する
【数３】
0005806786.tif 000022
ことを特徴とする請求項３に記載の画像認識装置。
【請求項５】
前記最適化部は、前記複数の仮クラック点列のそれぞれについて、当該仮クラック点列を構成するクラック点の数Ｎ＋１、当該仮クラック点列を構成する複数のクラック点の中のｉ番目のクラック点の座標（ｘｉ，ｙｉ）、該座標（ｘｉ，ｙｉ）に対応する前記検査対象画像内の画素についての前記濃度差ｄｅｆ（ｉ）、予め与えられる重み係数α，β，γを用いる式（７）乃至式（１０）によりエネルギーＥを算出し、該エネルギーが最小となる前記仮クラック点列を前記最適化クラック点列として選択する
【数４】
0005806786.tif 000023
ことを特徴とする請求項４に記載の画像認識装置。
【請求項６】
前記連結スコア算出部は、対応する始点を有する一方のクラック点列に関して算出された前記クラックスコアＣＳであるクラックスコアＣＳ１、対応する終点を有する他方のクラック点列に関して算出された前記クラックスコアＣＳであるクラックスコアＣＳ２、前記一方のクラック点列を構成するクラック点の数Ｎ１、前記他方のクラック点列を構成するクラック点の数Ｎ２、前記一方のクラック点列の中点から前記他方のクラック点列の中点に至る中点ベクトルと前記一方のクラック点列の終点から前記他方のクラック点列の始点に至る連結ベクトルとのなす角θ、前記一方のクラック点列の始点と前記他方のクラック点列の終点の間の距離Ｌｓ１ｅ２、及び、予め与えられる定数ｍを用いる式（１１）により、前記連結スコアＬＳｓ１ｅ２を算出する
【数５】
0005806786.tif 000024
ことを特徴とする請求項５に記載の画像認識装置。
【請求項７】
前記第１の光学条件は明視野照明であり、
前記第２の光学条件は暗視野照明である
ことを特徴とする請求項１乃至６のいずれか一項に記載の画像認識装置。
【請求項８】
線分を示すテンプレート及び検査対象画像に基づく幾何学マッチングにより、それぞれ線分を示す複数のクラック点列を取得するマッチング処理部と、
前記検査対象画像に対してエッジ抽出を実行することにより、前記複数のクラック点列を構成する複数のクラック点のそれぞれについて、該クラック点の取り得る範囲を示す複数の候補点を取得する候補点取得部と、
前記複数のクラック点列のそれぞれについて、対応する複数の前記候補点の組み合わせにより示される複数の仮クラック点列の中から、前記検査対象画像内に現れているクラックとの一致度が最大となるものを最適化クラック点列として選択する最適化部と、
前記最適化クラック列出力部から出力される複数の前記最適化クラック列の少なくとも一部を連結してなる連結クラック点列を生成するクラック連結部と
を備えることを特徴とする画像認識装置。
【請求項９】
検査対象画像に基づいて生成された複数のクラック点列のそれぞれを構成する複数のクラック点のそれぞれについて、該クラック点の周辺領域との濃度差に基づき、クラックらしさを示すクラック点スコアを算出するクラック点スコア算出部と、
前記複数のクラック点列のそれぞれについて、該クラック点列を構成する複数のクラック点それぞれの前記クラック点スコアに基づき、該クラック点列内におけるクラックらしさの連続性を示すクラックスコアを算出するクラックスコア算出部と、
前記複数のクラック点列のうち前記クラックスコアが所定値以上であるもののみを選択する選択部と、
前記選択部によって選択された複数の前記クラック点列の少なくとも一部を連結してなる連結クラック点列を生成するクラック連結部と
を備えることを特徴とする画像認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像認識装置に関し、特に、高い精度でクラックを検出できる画像認識装置に関する。
【背景技術】
【０００２】
電子部品の製造工程においては、製造された電子部品に傷、汚れ、異物の付着などがないことを検査する必要がある。この検査は一般に外観検査と呼ばれ、近年では、画像認識装置を利用して自動的に行われるようになっている。
【０００３】
外観検査において検出の対象となる欠陥のひとつに、クラックがある。ここでいうクラックとは検査対象物の表面に生じた不定形のひび割れのことであり、電子部品の品質を著しく低下させることから、外観検査においてはクラックの検出が必須となっている。
【０００４】
特許文献１〜８には、画像認識装置を用いて行うクラックの検出に関連する技術が開示されている。以下、各文献に記載される技術の概要を説明する。
【０００５】
特許文献１には、画像の明暗分割を行い、明部及び暗部のそれぞれにおいてクラック検出を実行し、その結果の論理和を取ることにより、クラックの濃淡値が安定していない場合にも安定してクラックを検出できるようにした技術が開示されている。
【０００６】
特許文献２には、微分絶対値画像上で細線化処理を行うことによりエッジを検出した後、そのエッジを構成する画素の近傍にその画素と同じ微分方向値を有する画素があった場合、そのエッジの一部として取り扱うことにより、本来一続きのエッジであるにもかかわらず上記細線化処理では異なるエッジとして検出されてしまった複数のエッジを連結できるようにした技術が開示されている。
【０００７】
特許文献３には、画像から抽出したエッジ部を構成する画素に対してハフ変換を施すことにより傷候補直線を求め、さらに、得られた傷候補直線とエッジ部を構成する各画素との距離を求め、この距離の分布に基づいて直線状の欠陥とそれ以外の欠陥とを区別するようにすることで、円環状の加工痕を有する対象物において、直線状の欠陥のみを検出可能とした技術が開示されている。
【０００８】
特許文献４には、検査領域内に細長い直線状の検出エリアを設定し、検出エリア内にある複数の画素のうち、微分絶対値が所定値を超え、かつ、微分方向値が検出エリアの延在方向を含む所定の角度範囲内にある画素を欠陥候補点として、この欠陥候補点の総数と、欠陥候補点の微分絶対値の総和とがそれぞれしきい値を超えている場合にその検出エリアにクラックが含まれていると判定するようにしたことで、直線状のクラックを他の欠陥から区別して検出可能とした技術が開示されている。
【０００９】
特許文献５には、微分画像ではなく２値画像からクラックを抽出するようにしたことにより、微分フィルターを通すとノイズだらけになってしまう粗面に生じたクラックを検出可能とした技術が開示されている。
【００１０】
特許文献６には、複数の原画像のそれぞれと対応付けて画像処理フローを予め記憶しておき、検査対象物を撮影することによって得られた画像と最も類似する原画像と対応付けて記憶している画像処理フローを用いて画像処理を行うことにより、作業員の経験、労力、時間が不足していても、ひび割れなどのコンクリートの変状を抽出可能とした技術が開示されている。
【００１１】
特許文献７には、ニューラルネットワークやサポートベクターマシーンといった人工知能に一般的なひび割れの形状を学習させ、この人工知能によって検査対象画像中の「ひび割れらしきもの」と一般的なひび割れの形状との比較を行うことにより、コンクリートのひび割れ箇所を抽出する技術が開示されている。
【００１２】
特許文献８には、検査対象の画像に対して方向及び幅の異なる複数種類の２次元エッジフィルターを適用し、画素ごとに、これら複数種類の２次元エッジフィルターを適用した後に得られる複数の画素値の中で最も大きいものをその画素の特徴量として選定し、各画素について選定した特徴量からなる画像に対してニューラル収束演算を行うことにより、コンクリートのひび割れを抽出する技術が開示されている。
【００１３】
また、特許文献９，１０及び非特許文献１には、画像内における対象物の輪郭を抽出するための技術である動的輪郭モデル又はそれを用いる技術が開示されている。具体的に説明すると、特許文献９には、体内器官内壁の隆起形状及び沈降形状を推定する処理において、ラベリング画像に基づいて生成した初期隆起モデル及び初期沈降モデルの修正に動的輪郭モデルを用いる技術が開示されている。また、特許文献１０には、ＳＥＭ画像から抽出した輪郭線をポリゴン座標データに変換する際に動的輪郭モデルを用いる技術が開示されている。非特許文献１には、輪郭線を構成する点に順序を付け、注目点とその両隣の３点のみで構成されるエネルギーを最小化するように構成した動的輪郭モデルが開示されている。
【００１４】
また、本願と同じ出願人による特許文献１１には、検査対象物を撮像してなる検査対象画像から抽出した幾何学的特徴（輪郭など）と、モデルデータの幾何学的特徴とを比較する幾何学マッチングにより、検査対象画像内における検査対象物の位置や向き（以下、「ポーズ」と称する）を認識可能とした技術が開示されている。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２０００−０２８５４１号公報
【特許文献２】特開２００１−２０９７９４号公報
【特許文献３】特開２００６−０５８２５３号公報
【特許文献４】特開２００７−１４７４０７号公報
【特許文献５】特開２０１１−０５８９４０号公報
【特許文献６】特開２００７−１０２４５８号公報
【特許文献７】特開２００９−１３３０８５号公報
【特許文献８】特開２０１１−２４２３６５号公報
【特許文献９】特開２００９−２９７４５０号公報
【特許文献１０】特開２０１１−０７６１４６号公報
【特許文献１１】特許第５６８５６６５号
【非特許文献】
【００１６】
【非特許文献１】アミル  エー．  アミニ(Amir A. Amini)、外２名、「画像における変分問題を解決するための動的計画法の利用(Using dynamic programming for solving variational problem in vision)」、パターン分析と機械知能に関する米国電気電子学会会報(IEEE Transactions on Pattern Analysis and Machine Intelligence)、１９９０年９月、第１２巻、第９号、ｐ．８５５―８６７
【発明の概要】
【発明が解決しようとする課題】
【００１７】
上述した特許文献１〜８のいずれにおいても、検査対象となる画像は一枚である。一枚の画像に対して微分や二値化などの処理を施すことにより、クラックの検出を行っている。しかしながら、このような検出方法では、互いに光学特性の異なる複数の領域が１つの検査対象面内に混在している場合、クラックを正しく検出できない場合がある。具体的な例を挙げて説明すると、例えばセラミック基板には、電極パターンが印刷されたパターン部と、基板本体である磁器部とが設けられる。このうちパターン部に発生したクラックは、暗視野照明の下で撮影した画像（暗視野画像）では確認できる一方、明視野照明の下で撮影した画像（明視野画像）では確認できない。逆に、磁器部に発生したクラックは、明視野画像では確認できる一方、暗視野画像では確認できない。このような場合、明視野画像と暗視野画像のいずれか一方のみを用いてクラック検出を行っても、クラックを正しく検出することは困難である。
【００１８】
したがって、本発明の目的の一つは、互いに光学特性の異なる複数の領域が１つの検査対象面内に混在している検査対象物についても、クラックを正しく検出可能とする画像認識装置を提供することにある。
【００１９】
また、特許文献１１に記載の幾何学マッチングは検査対象画像内における検査対象物のポーズを高速かつ安定に認識可能とする技術であり、これをクラックの検出に適用できれば、画面全体から高速にクラックを検出することが可能になると考えられる。しかしながら、幾何学マッチングを行うにはモデルデータが必要であるため、決まった形のないクラックの検出に幾何学マッチングを適用することは困難であった。
【００２０】
したがって、本発明の目的の他の一つは、クラックの検出に幾何学マッチングを利用できる画像認識装置を提供することにある。
【００２１】
さらに、従来の技術では、クラックのコントラストが小さい場合や、検査対象面にクラックに類似したパターンが多数存在する場合、クラックとクラック以外のパターンを区別することが困難であった。その結果、クラックでないパターンをクラックと誤認した状態で、後段の処理を行ってしまう場合があった。
【００２２】
したがって、本発明の目的のさらに他の一つは、クラックとクラック以外のパターンを高い精度で区別できる画像認識装置を提供することにある。
【課題を解決するための手段】
【００２３】
本発明の一側面による画像認識装置は、検査対象物を第１の光学条件の下で撮像してなる第１の画像を取得する第１の画像取得部と、前記検査対象物を前記第１の光学条件とは異なる第２の光学条件の下で撮像してなる第２の画像を取得する第２の画像取得部と、前記第１の画像に基づいて第１のクラック点列を生成する第１のクラック点列生成部と、前記第２の画像に基づいて第２のクラック点列を生成する第２のクラック点列生成部と、前記第１のクラック点列と前記第２のクラック点列を連結してなる連結クラック点列を生成するクラック連結部とを備えることを特徴とする。
【００２４】
本発明によれば、第１の光学条件の下で撮像してなる第１の画像から第１のクラック点列を生成し、第２の光学条件の下で撮像してなる第２の画像から第２のクラック点列を生成し、さらに、第１のクラック点列と第２のクラック点列を連結してなる連結クラック点列を生成しているので、互いに光学特性の異なる複数の領域が１つの検査対象面内に混在している検査対象物についても、クラックを正しく検出することが実現される。
【００２５】
上記画像認識装置において、前記第１及び第２のクラック点列生成部はそれぞれ、前記第１及び第２の画像のうちの対応するものである検査対象画像、並びに、線分を示すテンプレートに基づく幾何学マッチングにより、線分を示すクラック点列を取得するマッチング処理部と、前記検査対象画像に対してエッジ抽出を実行することにより、前記クラック点列を構成する複数のクラック点のそれぞれについて、該クラック点の取り得る範囲を示す複数の候補点を取得する候補点取得部と、前記複数の候補点の組み合わせにより示される複数の仮クラック点列の中から、前記検査対象画像内に現れているクラックとの一致度が最大となるものを最適化クラック点列として選択する最適化部と、前記最適化クラック点列を構成する複数のクラック点のそれぞれについて、該クラック点の周辺領域との濃度差に基づき、クラックらしさを示すクラック点スコアを算出するクラック点スコア算出部と、前記複数のクラック点それぞれの前記クラック点スコアに基づき、前記最適化クラック点列内におけるクラックらしさの連続性を示すクラックスコアを算出するクラックスコア算出部とを有し、前記第１のクラック点列は、前記第１のクラック点列生成部の前記最適化部によって選択された前記最適化クラック列であり、前記第２のクラック点列は、前記第２のクラック点列生成部の前記最適化部によって選択された前記最適化クラック列であり、前記クラック連結部は、前記第１のクラック点列及び前記第２のクラック点列それぞれの前記クラックスコアがいずれも所定値以上である場合に、前記連結クラック点列を生成することとしてもよい。
【００２６】
上記画像認識装置においてさらに、前記第１のクラック点列生成部は１以上の前記第１のクラック点列を生成し、前記第２のクラック点列生成部は１以上の前記第２のクラック点列を生成し、前記クラック連結部は、前記１以上の第１のクラック点列及び前記１以上の第２のクラック点列により構成される複数のクラック点列のそれぞれについて、当該クラック点列の始点と、他のクラック点列の終点とを連結することの妥当性を示す連結スコアを算出する連結スコア算出部と、前記連結スコア算出部によって算出された前記連結スコアの大きいものから順に、前記複数のクラック点列それぞれの始点を、他の前記クラック点列の終点と一対一に連結する連結処理部とを有し、前記連結スコアは、対応する始点を有する一方のクラック点列に関して算出された前記クラックスコア、対応する終点を有する他方のクラック点列に関して算出された前記クラックスコア、前記一方のクラック点列を構成するクラック点の数、前記他方のクラック点列を構成するクラック点の数、前記一方のクラック点列の中点から前記他方のクラック点列の中点に至る中点ベクトルと前記一方のクラック点列の終点から前記他方のクラック点列の始点に至る連結ベクトルとのなす角、及び、前記一方のクラック点列の始点と前記他方のクラック点列の終点の間の距離に基づいて算出されることとしてもよい。
【００２７】
上記画像認識装置においてさらに、前記クラック点スコア算出部は、前記最適化クラック点列を構成する複数のクラック点の中のｉ番目のクラック点の座標（ｘｉ，ｙｉ）に対応する前記検査対象画像内の画素の濃度Ｄ（ｘｉ，ｙｉ）、予め与えられる自然数である数値ｄ、クラックの色に応じて−１又は＋１のいずれかの値を取る数値ｓｉｇｎ、Ａ，Ｂのうちの最大値を返す関数ｍａｘ（Ａ，Ｂ）を用いる式（１）及び式（２）により前記ｉ番目のクラック点の濃度差ｄｅｆ（ｉ）を算出し、さらに、予め与えられるしきい値ｔｈを用いる式（３）により、前記ｉ番目の画素の前記クラック点スコアｓ（ｉ）を算出することとしてもよい。
【００２８】
【数１】
0005806786.tif 000002
【００２９】
上記画像認識装置においてさらに、前記クラックスコア算出部は、前記最適化クラック点列を構成するクラック点の数Ｎ＋１、予め与えられる自然数である数値ｋ、２ｋ＋１に等しい数値ｗ、数値ｋに対応する評価値ｃｓ（ｋ）、評価値ｃｓ（ｋ）の重み係数α（ｋ）を用いる式（４）乃至式（６）により、前記最適化クラック点列のクラックスコアＣＳを算出することとしてもよい。
【００３０】
【数２】
0005806786.tif 000003
【００３１】
上記画像認識装置においてさらに、前記最適化部は、前記複数の仮クラック点列のそれぞれについて、当該仮クラック点列を構成するクラック点の数Ｎ＋１、当該仮クラック点列を構成する複数のクラック点の中のｉ番目のクラック点の座標（ｘｉ，ｙｉ）、該座標（ｘｉ，ｙｉ）に対応する前記検査対象画像内の画素についての前記濃度差ｄｅｆ（ｉ）、予め与えられる重み係数α，β，γを用いる式（７）乃至式（１０）によりエネルギーＥを算出し、該エネルギーが最小となる前記仮クラック点列を前記最適化クラック点列として選択することとしてもよい。
【００３２】
【数３】
0005806786.tif 000004
【００３３】
上記画像認識装置においてさらに、前記連結スコア算出部は、対応する始点を有する一方のクラック点列に関して算出された前記クラックスコアＣＳであるクラックスコアＣＳ１、対応する終点を有する他方のクラック点列に関して算出された前記クラックスコアＣＳであるクラックスコアＣＳ２、前記一方のクラック点列を構成するクラック点の数Ｎ１、前記他方のクラック点列を構成するクラック点の数Ｎ２、前記一方のクラック点列の中点から前記他方のクラック点列の中点に至る中点ベクトルと前記一方のクラック点列の終点から前記他方のクラック点列の始点に至る連結ベクトルとのなす角θ、前記一方のクラック点列の始点と前記他方のクラック点列の終点の間の距離Ｌｓ１ｅ２、及び、予め与えられる定数ｍを用いる式（１１）により、前記連結スコアＬＳｓ１ｅ２を算出することとしてもよい。
【００３４】
【数４】
0005806786.tif 000005
【００３５】
上記各画像認識装置においてさらに、前記第１の光学条件は明視野照明であり、前記第２の光学条件は暗視野照明であることとしてもよい。
【００３６】
本発明の他の一側面による画像認識装置は、線分を示すテンプレート及び検査対象画像に基づく幾何学マッチングにより、それぞれ線分を示す複数のクラック点列を取得するマッチング処理部と、前記検査対象画像に対してエッジ抽出を実行することにより、前記複数のクラック点列を構成する複数のクラック点のそれぞれについて、該クラック点の取り得る範囲を示す複数の候補点を取得する候補点取得部と、前記複数のクラック点列のそれぞれについて、対応する複数の前記候補点の組み合わせにより示される複数の仮クラック点列の中から、前記検査対象画像内に現れているクラックとの一致度が最大となるものを最適化クラック点列として選択する最適化部と、前記最適化クラック列出力部から出力される複数の前記最適化クラック列の少なくとも一部を連結してなる連結クラック点列を生成するクラック連結部とを備えることを特徴とする。
【００３７】
本発明によれば、線分をモデルデータとして幾何学マッチングを行い、その結果得られる複数のクラック点列のそれぞれを動的計画法によって最適化し、最適化クラック列の少なくとも一部を連結してなる連結クラック点列を生成しているので、本発明の他の一側面による画像認識装置によれば、クラックの検出に幾何学マッチングを利用することが可能になる。
【００３８】
本発明のさらに他の一側面による画像認識装置は、検査対象画像に基づいて生成された複数のクラック点列のそれぞれを構成する複数のクラック点のそれぞれについて、該クラック点の周辺領域との濃度差に基づき、クラックらしさを示すクラック点スコアを算出するクラック点スコア算出部と、前記複数のクラック点列のそれぞれについて、該クラック点列を構成する複数のクラック点それぞれの前記クラック点スコアに基づき、クラックらしさの連続性を示すクラックスコアを算出するクラックスコア算出部と、前記複数のクラック点列のうち前記クラックスコアが所定値以上であるもののみを選択する選択部と、前記選択部によって選択された複数の前記クラック点列の少なくとも一部を連結してなる連結クラック点列を生成するクラック連結部とを備えることを特徴とする。
【００３９】
本発明によれば、検査対象画像に基づいて生成された複数のクラック点列のそれぞれについて、クラックらしさの連続性を示すクラックスコアを算出しているので、各クラック点列がクラックに対応するのか、それともクラック以外のパターンに対応するのかを高い精度で区別することが可能になる。
【発明の効果】
【００４０】
本発明の一側面による画像認識装置によれば、第１の光学条件の下で撮像してなる第１の画像から第１のクラック点列を生成し、第２の光学条件の下で撮像してなる第２の画像から第２のクラック点列を生成し、さらに、第１のクラック点列と第２のクラック点列を連結してなる連結クラック点列を生成しているので、互いに光学特性の異なる複数の領域が１つの検査対象面内に混在している検査対象物についても、クラックを正しく検出することが実現される。
【００４１】
また、本発明の他の一側面による画像認識装置は、決まった形のないクラックであっても線分の連結によって近似することができることを利用するもので、線分をモデルデータとして幾何学マッチングを行い、その結果得られる複数のクラック点列のそれぞれを動的計画法によって最適化し、最適化クラック列の少なくとも一部を連結してなる連結クラック点列を生成しているので、本発明の他の一側面による画像認識装置によれば、クラックの検出に幾何学マッチングを利用することが可能になる。
【００４２】
また、本発明のさらに他の一側面による画像認識装置によれば、検査対象画像に基づいて生成された複数のクラック点列のそれぞれについて、クラックらしさの連続性を示すクラックスコアを算出しているので、各クラック点列がクラックに対応するのか、それともクラック以外のパターンに対応するのかを高い精度で区別することが可能になる。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施の形態による画像認識装置１の機能ブロックを示す略ブロック図である。
【図２】図１に示した画像認識装置１による外観検査の対象となるセラミック基板２０の画像のレプリカであり、（ａ）は明視野画像、（ｂ）は暗視野画像、（ｃ）は（ａ）に示した領域Ｂの拡大図、（ｄ）は（ｂ）に示した領域Ｃの拡大図をそれぞれ示している。
【図３】図１に示したクラック点列生成部１１，１３の内部構成を示す略ブロック図である。
【図４】（ａ）は、図３に示したマッチング処理部３０が図２（ｂ）に示した領域Ｃ内に現れているクラックに関して取得するクラック点列Ｄを示す図であり、（ｂ）は、最適化部３２がクラック点列Ｄを最適化することによって取得する最適化クラック点列Ｅを示す図である。
【図５】図３に示した候補点取得部３１によって取得される候補点の説明図である。
【図６】ｉ番目のクラック点Ｐｉの周辺領域ＰＡｉを示す図である。
【図７】図３に示したクラック点スコア算出部３３によって算出されるクラック点スコアＳ（ｉ）の説明図である。
【図８】図３に示したクラックスコア算出部３４による評価値ｃｓ（ｋ）の算出の説明図である。
【図９】図１に示したクラック連結部１４の内部構成を示す略ブロック図である。
【図１０】図９に示した連結スコア算出部５０による連結スコア算出の説明図である。
【図１１】図３に示したマッチング処理部３０の内部構成を示す略ブロック図である。
【図１２】図１１に示した８方向エッジ検出部７０の内部構成を示す略ブロック図である。
【図１３】図１１に示したテンプレート生成部８０の内部構成を示す略ブロック図である。
【図１４】図１３に示した高解像度テンプレート生成部８３の内部構成を示す略ブロック図である。
【図１５】図１３に示した低解像度テンプレート生成部８５の内部構成を示す略ブロック図である。
【図１６】図１１に示したポーズ情報取得部９０の内部構成を示す略ブロック図である。
【図１７】図１６に示した全探索処理部９４の内部構成を示す略ブロック図である。
【図１８】（ａ）（ｂ）ともに、図１６に示した周辺探索処理部９５の内部構成を示す略ブロック図である。
【図１９】図１２に示したサブピクセル変位量算出部７０ｃによるサブピクセル変位量算出の説明図である。
【図２０】図１７に示した全探索処理部９４による一致度算出の説明図である。
【発明を実施するための形態】
【００４４】
以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
【００４５】
本実施の形態による画像認識装置１は、図１に示すように、機能的に、明視野照明撮像部１０（第１の画像取得部）、クラック点列生成部１１（第１のクラック点列生成部）、暗視野照明撮像部１２（第２の画像取得部）、クラック点列生成部１３（第２のクラック点列生成部）、クラック連結部１４、及びクラック評価部１５を備えて構成される。これらの機能は、パーソナルコンピュータなどの処理装置、記憶装置、及び入出力装置などを有するコンピュータにおいて、記憶装置に記憶されるプログラムを処理装置に実行させることによって実現されるものである。画像認識装置１は、工業用の計測，検査アプリケーションの一部を構成しており、電子部品に生じたクラックを検出するために用いられる。
【００４６】
図２は、画像認識装置１による外観検査の対象となるセラミック基板２０の画像のレプリカであり、（ａ）は、セラミック基板２０の直上から照らした照明（明視野照明）の下で撮影した画像（明視野画像）、（ｂ）は、セラミック基板２０の表面に対して浅い角度から照らした照明（暗視野照明）の下で撮影した画像（暗視野画像）、（ｃ）は（ａ）に示した領域Ｂの拡大図、（ｄ）は（ｂ）に示した領域Ｃの拡大図をそれぞれ示している。なお、図２に示したセラミック基板２０は画像認識装置１による外観検査の対象となる電子部品の一例であり、以下では、このセラミック基板２０に生じたクラックの検出を前提として画像認識装置１の説明を行うが、画像認識装置１による外観検査の対象は、図２に示したセラミック基板２０に限られるものではない。
【００４７】
セラミック基板２０の表面には、図２（ａ）に示すように、セラミック基板２０の本体である磁器部２１が露出した部分と、電極パターンが印刷されたパターン部２２とが存在している。このうち磁器部２１は、図２（ａ）に示す明視野画像では白っぽく写るのに対し、図２（ｂ）に示す暗視野画像では真っ黒となっている。一方、パターン部２２は、図２（ａ）に示す明視野画像では黒く写るのに対し、図２（ｂ）に示す暗視野画像では白っぽく写っている。なお、図２（ｂ）のパターン部２２内に生じているモアレ状の模様は、パターン部２２を形成する際に用いるメッキ処理の影響で、パターン部２２の表面が顕著に荒れていることに起因するものである。磁器部２１についても、セラミック特有の表面荒れの影響で、明視野画像中の各所に濃淡差が発生している。
【００４８】
セラミック基板２０は、図２（ａ）に符号Ａ−Ａで示したように、磁器部２１とパターン部２２に跨るクラックを有している。本実施の形態による画像認識装置１によって解決される課題の一つは、このように磁器部２１とパターン部２２に跨るクラックを正しく検出することにある。
【００４９】
図１に戻る。明視野照明撮像部１０は、検査対象物（例えば、図２のセラミック基板２０）を明視野照明（第１の光学条件）の下で撮像してなる明視野画像（第１の画像。例えば図２（ａ）の画像）を取得する機能部である。具体的には、明視野照明を実現する照明手段と、検査対象物の表面を撮像可能に構成された撮像手段とを有しており、照明手段によって明視野照明が点灯している間に撮像手段によって検査対象物の表面を撮像することにより、明視野画像を取得するよう構成される。明視野照明撮像部１０によって取得された明視野画像は、クラック点列生成部１１に供給される。
【００５０】
一方、暗視野照明撮像部１２は、同じ検査対象物を暗視野照明（第１の光学条件とは異なる第２の光学条件）の下で撮像してなる暗視野画像（第２の画像。例えば図２（ｂ）の画像）を取得する機能部である。具体的には、暗視野照明を実現する照明手段と、検査対象物の表面を撮像可能に構成された撮像手段とを有しており、照明手段によって暗視野照明が点灯している間に撮像手段によって検査対象物の表面を撮像することにより、暗視野画像を取得するよう構成される。暗視野照明撮像部１２によって取得された暗視野画像は、クラック点列生成部１３に供給される。
【００５１】
クラック点列生成部１１は、明視野照明撮像部１０から供給された明視野画像に基づいて、クラック点列（第１のクラック点列）及びクラックスコアを生成する機能部である。同様に、クラック点列生成部１３は、暗視野照明撮像部１２から供給された暗視野画像に基づいて、クラック点列（第２のクラック点列）及びクラックスコアを生成する機能部である。クラック点列生成部１１，１３の機能は、供給される画像（以下、「検査対象画像」と総称する）が異なるだけで基本的には同じものなので、以下、図３を参照しながら、クラック点列生成部１１，１３の機能についてまとめて説明する。
【００５２】
図３に示すように、クラック点列生成部１１，１３はそれぞれ、マッチング処理部３０、候補点取得部３１、最適化部３２、クラック点スコア算出部３３、クラックスコア算出部３４、及び選択部３５を有して構成される。
【００５３】
マッチング処理部３０は、検査対象画像と、線分を示すテンプレートとに基づく幾何学マッチングにより、線分を示すクラック点列を取得する機能部である。この幾何学マッチングは、決まった形のないクラックであっても、線分の連結によって近似することができることを利用するものである。クラック点列は、クラックに沿う（ものとして検出された）一連の座標（クラック点）からなる座標の集合であり、検査対象画像内におけるクラックの形状及び分布の態様によっては、１枚の検査対象画像から複数のクラック点列が取得される場合がある。
【００５４】
マッチング処理部３０が行うマッチング処理の詳細は、特許文献１１に開示した画像認識装置１が行うマッチング処理と同様である。ただし、本実施の形態では、マッチング処理部３０内に設けられる基準画像入力受付部６０（特許文献１１における基準画像入力受付部２。後述する図１１参照）によって受け付けられる基準画像として線分を示す画像を用い、同じくマッチング処理部３０内に設けられる探索対象画像入力受付部６２（特許文献１１における探索対象画像入力受付部４。後述する図１１参照）によって受け付けられる探索対象画像として、上述した検査対象画像を用いることになる。マッチング処理の詳細については、後ほどまとめて説明する。
【００５５】
図４（ａ）は、マッチング処理部３０が図２（ｂ）に示した領域Ｃ内に現れているクラックに関して取得するクラック点列Ｄを示す図である。なお、図４（ａ）では幅のある領域を示しているが、クラック点列Ｄを構成する各クラック点は、この領域の幅方向の中央に整列する。同図に示すように、マッチング処理部３０によって取得されるクラック点列Ｄは、実際のクラックの形状にかかわらず、線分を示すものとなる。これは、テンプレートとして線分を示す画像を用いているからである。テンプレートとして、例えば曲線を示す画像も用いることも可能であるが、クラックの形状は無限に存在するため、そのすべてをテンプレートとして用意することはできない。その結果、図４（ａ）に例示するように、マッチング処理部３０によって取得されるクラック点列は、通常、実際のクラックの形状と完全に一致するものにはならない。本実施の形態では、よりよい一致を得るため、候補点取得部３１及び最適化部３２を用いて、クラック点列の最適化を行う。以下、詳しく説明する。
【００５６】
候補点取得部３１は、検査対象画像に対してエッジ抽出を実行することにより、マッチング処理部３０によって取得されたクラック点列を構成する複数のクラック点のそれぞれについて、該クラック点の取り得る範囲を示す複数の候補点を取得する機能部である。エッジ抽出の具体的な方法としては、例えば微分処理を用いることが好適である。また、１つのクラック点について取得する候補点は、そのクラック点そのものの他、そのクラック点に対してクラック点列と直交する方向に位置するエッジ点（最大２つ）、及び、クラック点列内においてそのクラック点の両隣に隣接する２つのクラック点の中点とすることが好適である。
【００５７】
候補点取得部３１が取得する候補点について、具体的な例を挙げて説明する。図５には、マッチング処理部３０によって取得されたクラック点列４０と、候補点取得部３１によって抽出されたエッジ４１ａ，４１ｂとを示している。クラック点列４０上の黒点はクラック点の位置を示している（後掲する各図でも同様）。候補点取得部３１は、クラック点列４０上のクラック点Ｐｉについての候補点を取得する際、まず、クラック点Ｐｉに対してクラック点列４０と直行する方向に位置するエッジ点を探索する。その結果、図５の例では２つのエッジ点Ｅａｉ，Ｅｂｉが発見されるので、候補点取得部３１は、これらを候補点として取得する。また、候補点取得部３１は、クラック点列４０内においてクラック点Ｐｉの両隣に隣接するクラック点Ｐｉ−１，Ｐｉ＋１の中点Ｍｉを、候補点として取得する。そして、クラック点Ｐｉ自身も候補点に加え、最終的に４つの候補点を取得する。
【００５８】
最適化部３２は、候補点取得部３１によって取得された複数の候補点の組み合わせにより示される複数の仮クラック点列の中から、検査対象画像内に現れているクラックとの一致度が最大となるものを最適化クラック点列として選択する機能を有する。最適化部３２は、この処理をいわゆる動的計画法による動的輪郭モデルによって行う。
【００５９】
具体的に説明すると、最適化部３２は、まず次の式（１２）〜式（１４）により、複数の仮クラック点列のそれぞれを構成するすべてのクラック点に関して、３種類のエネルギーＥｌｅｎ（ｉ），Ｅｃｕｒｖｅ（ｉ），Ｅｉｍｇ（ｉ）を算出する。ただし、式中に現れる座標（ｘｉ，ｙｉ）はｉ番目のクラック点Ｐｉの座標である（すなわち、座標（ｘｉ−１，ｙｉ−１）はｉ−１番目のクラック点Ｐｉ−１の座標であり、座標（ｘｉ＋１，ｙｉ＋１）はｉ＋１番目のクラック点Ｐｉ＋１の座標である）。また、式（１４）右辺のｄｅｆ（ｉ）は、式（１５）及び式（１６）によって算出される。ただし、式（１５）中のＤ（ｘｉ，ｙｉ）はｉ番目のクラック点の座標（ｘｉ，ｙｉ）に対応する検査対象画像内の画素の濃度であり、ｄは、予め与えられる自然数である数値であってｉ番目のクラック点Ｐｉの周囲に設定される領域の肩幅を示し、ｓｉｇｎは、クラックの色に応じて−１又は＋１のいずれかの値を取る数値（より具体的には、クラックの色が黒である場合に−１、白である場合に＋１となる数値）であり、ｍａｘ（Ａ，Ｂ）は、Ａ，Ｂのうちの最大値を返す関数である。なお、ｓｉｇｎの値は、例えば図２（ａ）のような明視野画像が検索対象である場合（クラックが白色である場合）には＋１（白）となり、図２（ｂ）のような暗視野画像が検索対象である場合（クラックが黒色である場合）には−１（黒）となる。
【００６０】
【数５】
0005806786.tif 000006
【００６１】
式（１６）のｄｅｆ（ｉ）は、ｉ番目のクラック点Ｐｉと、その周辺領域（肩幅ｄによって示される範囲の領域）との濃度差を示している。図６には、クラック点Ｐｉの周辺領域ＰＡｉを示している。同図に示すように、周辺領域ＰＡｉは、クラック点Ｐｉの周辺に配置された、一辺の長さ２ｄの正方形の領域となる。また、式（１２）のエネルギーＥｌｅｎ（ｉ）は曲線の長さに依存したエネルギーを表し、式（１３）のエネルギーＥｃｕｒｖｅ（ｉ）は曲率に関するエネルギーを表し、式（１４）のエネルギーＥｉｍｇ（ｉ）は輪郭点が存在する画素から得られるエネルギーを表している。
【００６２】
次に、最適化部３２は、次の式（１７）により、仮クラック点列ごとのエネルギーを算出する。ただし、α，β，γは予め与えられる重み係数であり、Ｎは仮クラック点列内のクラック点の総数Ｎ＋１から１を減じた数である。
【００６３】
【数６】
0005806786.tif 000007
【００６４】
ここで、上述したように、候補点取得部３１は、マッチング処理部３０によって取得されたクラック点列内のクラック点ごとに４つの候補点を取得している。また、式（１２）及び式（１３）から理解されるように、エネルギーＥｌｅｎ（ｉ），Ｅｃｕｒｖｅ（ｉ）はそれぞれ、両隣に隣接する２つのクラック点の座標を含んでいる。したがって、マッチング処理部３０によって取得されたクラック点列内の１つのクラック点につき、算出されるエネルギーＥｌｅｎ（ｉ），Ｅｃｕｒｖｅ（ｉ），Ｅｉｍｇ（ｉ）の組は４３通り存在することになる。また、これにより、式（１７）によって算出されるエネルギーＥは、４３（Ｎ＋１）通りとなる。
【００６５】
最適化部３２は、こうして算出される４３（Ｎ＋１）通りのエネルギーＥの中から、最も小さいものを取得する。そして、その最小エネルギーＥの算出に用いたクラック点をつなぎ合わせることにより得られる仮クラック点列を、最適化クラック点列として選択する。こうして選択された最適化クラック点列と、検査対象画像内に現れているクラックとの一致度は、候補点取得部３１によって取得された複数の候補点の組み合わせにより示される複数の仮クラック点列の中で最大となる。
【００６６】
図４（ｂ）には、図４（ａ）に示したクラック点列Ｄを最適化部３２が最適化することによって得られる最適化クラック点列Ｅを示している。同図に示すように、クラック点列Ｅは、検査対象画像内に現れているクラックとよく一致している。
【００６７】
なお、マッチング処理部３０によって複数のクラック点列が取得された場合、候補点取得部３１及び最適化部３２は、これら複数のクラック点列のそれぞれについて上記処理を行う。したがってこの場合、最適化部３２は複数の最適化クラック点列を出力することになる。
【００６８】
図３に戻る。最適化部３２によって取得された最適化クラック点列は、クラック点スコア算出部３３及び選択部３５に供給される。このうちクラック点スコア算出部３３は、最適化クラック点列を構成する複数のクラック点のそれぞれについて、該クラック点の周辺領域との濃度差に基づき、クラックらしさを示すクラック点スコアを算出する機能部である。
【００６９】
具体的に説明すると、クラック点スコア算出部３３は、次の式（１８）により、最適化クラック点を構成するすべてのクラック点に関して、クラック点スコアＳ（ｉ）を算出するよう構成される。ただし、ｄｅｆ（ｉ）は式（１６）により算出される濃度差であり、ｔｈは予め与えられるしきい値である。
【００７０】
【数７】
0005806786.tif 000008
【００７１】
図７は、クラック点スコア算出部３３により算出されるクラック点スコアＳ（ｉ）の例を示す図である。同図の曲線Ｌ１は式（１８）により算出されるクラック点スコアＳ（ｉ）を示し、曲線Ｌ２は、式（１８）の第一式によって算出されるクラック点スコアＳ（ｉ）を示している。図７の記載からも理解されるように、式（１８）の第一式によって算出されるクラック点スコアＳ（ｉ）は、濃度差ｄｅｆ（ｉ）を変数とし、しきい値ｔｈを平均値とする正規分布であり、式（１８）は、しきい値ｔｈより大きい濃度差ｄｅｆ（ｉ）について、この正規分布を１．０で置き換えるものとなっている。クラック点スコアＳ（ｉ）は、０である場合にクラックらしさが最小であることを示し、１である場合にクラックらしさが最大であることを示すスコアであることから、式（１８）を用いることにより、濃度差ｄｅｆ（ｉ）がしきい値ｔｈより大きい場合、クラックらしさが強制的に最大値とされることになる。
【００７２】
図３に戻り、クラック点スコア算出部３３により算出されたクラック点スコアＳ（ｉ）は、クラックスコア算出部３４に供給される。クラックスコア算出部３４は、最適化クラック点を複数のクラック点それぞれのクラック点スコアＳ（ｉ）に基づき、最適化クラック点列内におけるクラックらしさの連続性を示すクラックスコアを算出する機能部である。
【００７３】
具体的に説明すると、クラックスコア算出部３４は、次の式（１９）〜式（２１）により、最適化クラック点列のクラックスコアＣＳを算出するよう構成される。ただし、式（１９）及び式（２０）のＮは最適化クラック点列内のクラック点の総数Ｎ＋１から１を減じた数であり、式（２０）のｋは予め与えられる自然数であってクラック点連続肩幅を示し、ｗは２ｋ＋１に等しい数値であってクラック点連続幅を示している。また、ｃｓ（ｋ）は数値ｋに対応する評価値であり、α（ｋ）は評価値ｃｓ（ｋ）の重み係数である。
【００７４】
【数８】
0005806786.tif 000009
【００７５】
図８は、式（２０）による評価値ｃｓ（ｋ）の算出の説明図である。同図には、ｋ＝２である場合の例を示している。式（２０）では、クラック点Ｐｉと、クラック点Ｐｉからｗ（＝２×２＋１＝５）分だけ離れたところにある２つのクラック点Ｐｉ−５，Ｐｉ＋５とのそれぞれについて、各クラック点の両側にｋの範囲にあるクラック点のクラック点スコアＳ（ｉ）の平均値が算出され、さらに、クラック点Ｐｉ−５，Ｐｉ，Ｐｉ＋５のそれぞれについて算出された平均値が掛け合わされる。こうして得られる値は、図８において一点鎖線で囲んだクラック点群についてのクラックらしさの連続性を示す値となる。式（２０）では、最適化クラック点列内のすべてのクラック点について同様の値が算出され、算出された各値を加算することにより、評価値ｃｓ（ｋ）が算出される。
【００７６】
評価値ｃｓ（ｋ）が以上のように算出されることから、式（２１）により算出されるクラックスコアＣＳは、最適化クラック点列内におけるクラックらしさの連続性を示すスコアとなる。算出されたクラックスコアＣＳは、図３に示した選択部３５に供給される。
【００７７】
なお、マッチング処理部３０によって複数のクラック点列が取得され、最適化部３２が複数の最適化クラック点列を出力した場合、クラック点スコア算出部３３及びクラックスコア算出部３４は、複数の最適化クラック点列のそれぞれについてクラックスコアＣＳを算出することになる。
【００７８】
図３に戻る。選択部３５は、最適化部３２から供給される１又は複数の最適化クラック点列の中から、クラックスコア算出部３４によって算出されるクラックスコアＣＳが所定値以上であるもののみを選択する機能部である。選択部３５は、選択した最適化クラック点列と、そのクラックスコアＣＳとを、図１に示したクラック連結部１４に供給するよう構成される。これにより、クラックスコアＣＳの低い、すなわちクラック以外のパターンを検出したものである可能性が高い最適化クラック点列が、後段の処理（クラック連結部１４が行うクラック点列の連結処理）の対象から排除される。
【００７９】
以上が、クラック点列生成部１１，１３の機能である。次に、図１に戻って、クラック連結部１４の機能について説明する。
【００８０】
クラック連結部１４は、クラック点列生成部１１，１３のそれぞれから１以上のクラック点列（最適化クラック点列）の供給を受け、その中から互いに連結すべき１又は複数の組み合わせを選択し、選択した組み合わせにかかる２つのクラック点列を連結することによって、連結クラック点列を生成する機能部である。以下、図９を参照しながら、クラック連結部１４の機能について詳しく説明する。
【００８１】
図９に示すように、クラック連結部１４は、連結スコア算出部５０及び連結処理部５１を有して構成される。
【００８２】
連結スコア算出部５０は、クラック点列生成部１１，１３のそれぞれから供給される複数のクラック点列のそれぞれについて、当該クラック点列の始点と、他のクラック点列の終点とを連結することの妥当性を示す連結スコアを算出する機能部である。
【００８３】
図１０は、連結スコア算出部５０による連結スコア算出の説明図である。以下、同図も参照しながら、連結スコア算出部５０による連結スコア算出について詳しく説明する。
【００８４】
連結スコア算出部５０は、次の式（２２）を用いることにより、複数のクラック点列の中から選択される２つのクラック点列のすべての組み合わせについて、連結スコアＬＳｓ１ｅ２を算出するよう構成される。ただし、式（２２）中のＣＳ１は、対応する始点ｓ１を有する一方のクラック点列に関して算出されたクラックスコアＣＳであり、ＣＳ２は、対応する終点ｅ２を有する他方のクラック点列に関して算出されたクラックスコアＣＳであり、Ｎ１は、一方のクラック点列を構成するクラック点の数であり、Ｎ２は、他方のクラック点列を構成するクラック点の数であり、θは、一方のクラック点列の中点から他方のクラック点列の中点に至る中点ベクトルＶＭと一方のクラック点列の終点ｅ１から他方のクラック点列の始点ｓ２に至る連結ベクトルＶＣとのなす角であり、Ｌｓ１ｅ２は、一方のクラック点列の始点ｓ１と他方のクラック点列の終点ｅ２の間の距離であり、ｍは予め与えられる定数である。ｍの具体的な値としては、例えば０．３とすることが好適である。なお、各クラック点列の始点と終点は、例えば、各クラック点列の両端のうちｙ座標が小さい方を始点とし、ｙ座標が同じ場合にはｘ座標が小さい方を始点とする、などの方法により予め決定される。
【００８５】
【数９】
0005806786.tif 000010
【００８６】
連結処理部５１は、連結スコア算出部５０によって算出された連結スコアＬＳｓ１ｅ２の大きいものから順に、クラック点列生成部１１，１３のそれぞれから供給された複数のクラック点列それぞれの始点を他のクラック点列の終点と一対一に連結することにより、１又は複数の連結クラック点列を生成する機能部である。このように連結スコアＬＳｓ１ｅ２の大きいものから順に連結していくようにすることで、クラック間の誤連結を抑える効果が得られる。なお、連結処理部５１は、連結スコアＬＳｓ１ｅ２が所定値以下であるクラック点列の組み合わせについては、たとえ連結する順番が回ってきたとしても、連結しないようにすることが好適である。生成された１又は複数の連結クラック点列（連結されなかったクラック点列を含む）は、図１に示したクラック評価部１５に供給される。
【００８７】
図１に戻る。クラック評価部１５は、クラック連結部１４から供給される１又は複数の連結クラック点列（連結されなかったクラック点列を含む）のそれぞれに対し、所定の特徴量（長さ、平均濃度など）を算出し、算出した特徴量についてユーザが指定する判定基準に基づき、さらに評価を行う機能部である。クラック評価部１５は、こうして得た評価とともに、各連結クラック点列を例えばディスプレイ（図示せず）に表示する。これにより、画像認識装置１のユーザは、クラック評価部１５による評価結果とともに、各連結クラック点列を確認することが可能になる。
【００８８】
以上説明したように、本実施の形態による画像認識装置１によれば、明視野照明の下で撮像してなる明視野画像からクラック点列を生成するとともに、暗視野照明の下で撮像してなる暗視野画像からもクラック点列を生成し、さらに、これらのクラック点列を連結してなる連結クラック点列を生成しているので、図２（ａ）に示した磁器部２１とパターン部２２のように、互いに光学特性の異なる複数の領域が１つの検査対象面内に混在している検査対象物についても、クラックを正しく検出することが実現される。
【００８９】
また、本実施の形態による画像認識装置１によれば、線分をモデルデータとして幾何学マッチングを行い、その結果得られる複数のクラック点列のそれぞれを動的計画法によって最適化し、最適化クラック列の少なくとも一部を連結してなる連結クラック点列を生成しているので、クラックの検出に幾何学マッチングを利用することが可能になる。その結果、幾何学マッチングを利用しない場合に比べて、画面全体から高速にクラックを検出することが可能になる。
【００９０】
さらに、本実施の形態による画像認識装置１によれば、検査対象画像に基づいて生成された複数のクラック点列のそれぞれについて、クラックらしさの連続性を示すクラックスコアＣＳを算出しているので、各クラック点列がクラックに対応するのか、それともクラック以外のパターンに対応するのかを高い精度で区別することが可能になる。
【００９１】
以下、図３に示したマッチング処理部３０が行うマッチング処理について、図１１〜図２０を参照しながら、詳しく説明する。
【００９２】
マッチング処理部３０は、図１１に示すように、基準画像入力受付部６０、設定値入力受付部６１、探索対象画像入力受付部６２、８方向エッジ検出部７０、テンプレート生成部８０、及びポーズ情報取得部９０を備えて構成される。
【００９３】
基準画像入力受付部６０は、上述したテンプレート（線分を示すテンプレート）のもととなる基準画像の入力を受け付ける機能を有して構成される。具体的な例では、ユーザ操作により、対象となる線分の写った写真から該線分を含む長方形の領域を切り出し、基準画像入力受付部６０に入力する。なお、基準画像としては、影や対象物以外のものなどが写り込んでいない画像を使用することが好適である。基準画像入力受付部６０が受け付けた基準画像は、テンプレート生成部８０に供給される。
【００９４】
設定値入力受付部６１は、後述するガウシアンフィルターの設定値である標準偏差値σ（以下、「σ値」という）、後述するガウシアンピラミッドの生成の際に方向別微分画像（後述）に基づく画像の生成を開始する階層ｎ、及びエッジ点の変形許容量Ｖのそれぞれについて、ユーザによる設定値の入力を受け付ける機能を有して構成される。設定値入力受付部６１は、σ値及び階層ｎをテンプレート生成部８０及びポーズ情報取得部９０のそれぞれに供給し、変形許容量Ｖを８方向エッジ検出部７０に供給するよう構成される。
【００９５】
探索対象画像入力受付部６２は、上述した検査対象画像（明視野画像又は暗視野画像）の入力を受け付ける機能を有して構成される。探索対象画像入力受付部６２が受け付けた検査対象画像は、ポーズ情報取得部９０に供給される。
【００９６】
ここで、明視野照明撮像部１０及び暗視野照明撮像部１２に設けられる撮像手段の視野内には、普通、認識の対象物だけでなく、計測器、搬送機などの種々の装置やこれらの影などが写り込む。したがって、検査対象画像内のテンプレートの自動認識を行うにあたってはこれらの影響をできるだけ除去する必要があるが、マッチング処理部３０によれば、背景や対象物に外観上の変化（エッジの変形を伴うような変化を含む）が発生した場合にも、高い精度での認識が実現される。
【００９７】
８方向エッジ検出部７０は、テンプレート生成部８０又はポーズ情報取得部９０から供給される画像（入力画像）に基づいてそれぞれ８枚の微分画像及び非極大抑制画像を生成し、さらに生成した８枚の非極大抑制画像と設定値入力受付部６１から供給される変形許容量Ｖとに基づいて８枚のエッジ距離画像を生成する機能を有して構成される。なお、本実施の形態では各画像の枚数を８枚としているが、この枚数は、後述する微分方向の数によって決定される。
【００９８】
図１２を参照して、８方向エッジ検出部７０の機能についてより詳しく説明する。８方向エッジ検出部７０は、図１２に示すように、方向別微分画像生成部７０ａ、非極大抑制処理部７０ｂ、サブピクセル変位量算出部７０ｃ、及びエッジ距離画像生成部７０ｄを有して構成される。
【００９９】
方向別微分画像生成部７０ａは、入力画像を所定数の微分方向のそれぞれで微分することにより、所定数の微分画像を生成するよう構成される。所定数の微分方向は３６０°を所定数かつ等間隔に分割してなる方向であり、本実施の形態ではこの所定数が８であることを前提として説明する。この場合、所定数の微分方向は、０°、４５°、９０°、１３５°、１８０°、２１５°、２７０°、３１５°の８つである。ただし、微分方向の数は必ずしも８でなくてもよく、好ましくは４の倍数であればよい。微分方向の数が多いほど認識精度が向上するが、一方で処理コストが大きくなるため、具体的な数は、要求される認識精度と許容される処理コストとを考慮して決定することが好適である。
【０１００】
方向別微分画像生成部７０ａが行う微分は一次微分（差分）であり、微分画像中の各画素の明度（微分値）は次の式（２３）によって決定される。ただし、方向別微分画像生成部７０ａは、ｆ（ｘ＋１）がｆ（ｘ−１）より小さい場合（式（２３）の右辺がマイナスとなる場合）には、式（２３）によらず関数ｇ（ｘ）の値を０に固定するよう構成される。ここで、式（２３）中のｘは対応する微分方向における座標を示し、座標ｘ−１，ｘ＋１はそれぞれ、対応する微分方向のマイナス側及びプラス側で、座標ｘにより示される画素と隣接する画素の座標である。また、関数ｆ（ｘ）は入力画像中の各画素の明度を示し、関数ｇ（ｘ）は微分画像中の各画素の明度（微分値）を示している。
【０１０１】
【数１０】
0005806786.tif 000011
【０１０２】
以上のようにして生成される８枚の微分画像＜７：０＞はそれぞれ、対応する微分方向に沿って暗から明に変化するエッジのみが強調された画像となる。なお、本明細書において、画像＜ａ：ｂ＞と記述した場合、画像＜ｂ＞から画像＜ａ＞までのａ−ｂ＋１枚の画像を表す。生成された微分画像＜７：０＞は、図１２に示すように、８方向エッジ検出部７０の出力のひとつを構成する。
【０１０３】
なお、方向別微分画像生成部７０ａが上記のようにして微分画像＜７：０＞の生成を行うのは、図１２にも示すように、入力画像が濃淡画像である場合のみである。入力画像自体が８枚の微分画像＜７：０＞となっている場合があり、その場合には、入力画像がそのまま方向別微分画像生成部７０ａの出力画像となる。
【０１０４】
非極大抑制処理部７０ｂは、上記８枚の微分画像＜７：０＞のそれぞれについて対応する微分方向での非極大抑制処理を行うことにより、８枚の仮非極大抑制画像＜７：０＞を生成するよう構成される。仮非極大抑制画像＜７：０＞はそれぞれ、対応する微分画像内において対応する微分方向に並ぶ画素の間で明度が極大となる画素（両側に既定数ずつの隣接画素と自分自身との間で最も明度が大きくなる画素）に対応する画素（以下、「エッジ点」と称する）のみに２５５が設定され、エッジ点以外のすべての画素の値に０が設定された画像となる。
【０１０５】
サブピクセル変位量算出部７０ｃは、非極大抑制処理部７０ｂによって生成された８枚の仮非極大抑制画像＜７：０＞それぞれに含まれるエッジ点ごとに、方向別微分画像生成部７０ａによって生成された８枚の微分画像＜７：０＞のうちの対応するものに基づき、対応する微分方向における該エッジ点の中心線と、該エッジ点に対応するエッジ（該エッジ点である画素内を通過するエッジ）との間の距離を示すサブピクセル変位量Δｘを算出する機能部である。以下、図１９も参照しながら、サブピクセル変位量Δｘについて詳しく説明する。
【０１０６】
図１９には、微分方向であるｘ方向に並ぶ９つの画素Ｐ１〜Ｐ９を示している。同図に示すｙ軸の値は、各画素の明度（微分値）を示している。同図の例では画素Ｐ５がエッジ点であり、同図に示すように画素Ｐ５の中をエッジが通過している。また、同図では、画素Ｐ５のｘ座標（画素Ｐ５のｘ方向の中心線のｘ座標）をｘ０とし、画素間距離（ｘ方向の中心線間の距離）を１としている。さらに、同図では、画素Ｐ５の明度をｄ（０）とし、画素Ｐ５にｘ方向の両側で隣接する画素Ｐ４，Ｐ６の明度をそれぞれｄ（−１），ｄ（＋１）としている。画素Ｐ５がエッジ点であることから、ｄ（０）≧ｄ（−１）かつｄ（０）≧ｄ（＋１）となる。
【０１０７】
図１９に示すように、画素Ｐ４〜Ｐ６の明度は放物線によって近似することができる。すると、この放物線の頂点のｘ座標は必ずしもｘ０になるとは限らず、むしろ通常、座標ｘ０から少し離れたところに位置する。これは、各画素のｘ座標が離散的であるためであり、放物線の頂点のｘ座標が実際のエッジの位置を示している。
【０１０８】
サブピクセル変位量Δｘは、図１９に示すように、上記放物線の頂点のｘ座標（実際のエッジ位置に相当するｘ座標）と、エッジ点のｘ座標ｘ０との距離である。具体的には、明度ｄ（−１），ｄ（０），ｄ（＋１）を用いて、次の式（２４）により求められる。こうして算出されるサブピクセル変位量Δｘは、−０．５以上０．５以下の範囲の値を取る。
【０１０９】
【数１１】
0005806786.tif 000012
【０１１０】
サブピクセル変位量算出部７０ｃは、式（２４）を用いて各エッジ点のサブピクセル変位量Δｘを算出し、算出したサブピクセル変位量Δｘを仮非極大抑制画像＜７：０＞の各エッジ点に格納することにより、非極大抑制画像＜７：０＞を生成するよう構成される。なお、サブピクセル変位量算出部７０ｃは、エッジ点以外の画素（背景を構成する画素）には、０ｘ７０００などの非常に大きな値を設定する。こうして生成された非極大抑制画像＜７：０＞も、図１２に示すように、８方向エッジ検出部７０の出力のひとつを構成する。
【０１１１】
エッジ距離画像生成部７０ｄは、非極大抑制画像＜７：０＞のそれぞれに含まれる１又は複数のエッジ点それぞれの近傍に位置する複数の画素ごとに、対応するエッジ点に設定されたサブピクセル変位量Δｘに基づいて、該画素と対応するエッジとの間の距離を示すエッジ距離ＥＤを算出し、非極大抑制画像＜７：０＞のうちの対応するものに設定することにより、８枚のエッジ距離画像＜７：０＞を生成するよう構成される。
【０１１２】
エッジ距離ＥＤは、具体的には次の式（２５）により算出される。ただし、ＰＤは、エッジ点の座標（図１９では座標ｘ０）からのピクセル変位量（画素間距離に方向性を付与したもの。例えば、図１９の画素Ｐ４ではＰＤ＝−１、画素Ｐ６ではＰＤ＝＋１となる）である。なお、図１９には、画素Ｐ１〜Ｐ９のそれぞれについて、式（２５）により算出されるエッジ距離ＥＤも図示している。
【０１１３】
【数１２】
0005806786.tif 000013
【０１１４】
エッジ距離画像生成部７０ｄは、式（２５）により各エッジ点と対応する微分方向で隣接する各画素のエッジ距離ＥＤを算出し、サブピクセル変位量算出部７０ｃから供給される非極大抑制画像＜７：０＞に設定することにより、８枚のエッジ距離画像＜７：０＞を生成する。ただし、この場合において、エッジ距離画像生成部７０ｄは、設定値入力受付部６１から供給される変形許容量Ｖを参照し、各エッジ点から±Ｖの範囲内に位置する画素にのみエッジ距離ＥＤを設定する。なお、図１９にはＶ＝３の場合の例を示している。また、１つの画素について複数のエッジ距離ＥＤが算出される場合があり得るが、その場合には、小さい方の値を設定する。こうしてエッジ距離ＥＤが設定された画素は、後に説明するポーズ情報取得部９０での探索処理において、エッジの一部を構成し得る画素とみなされることになる。エッジ距離画像生成部７０ｄにより生成されたエッジ距離画像＜７：０＞も、図１２に示すように、８方向エッジ検出部７０の出力のひとつを構成する。
【０１１５】
図１１に戻り、テンプレート生成部８０は、基準画像入力受付部６０から供給される基準画像を８方向エッジ検出部７０に供給し、その結果として８方向エッジ検出部７０から出力される非極大抑制画像＜７：０＞に基づき、テンプレートを生成する機能を有して構成される。詳しくは後述するが、テンプレートは、図１１に示すエッジ特徴点群＜１＞＜ｍ１：０＞〜＜Ｎ＞＜ｍＮ：０＞により表される。テンプレート生成部８０は、ピラミッドアルゴリズムによる粗密探索及び回転テンプレートに対応しており、したがって、テンプレート生成部８０によって実際に生成されるテンプレートは、解像度ごとかつ角度ごとのテンプレートを含んで構成される。
【０１１６】
図１３〜図１５を参照して、テンプレート生成部８０の機能についてより詳しく説明する。テンプレート生成部８０は、図１３に示すように、階層数算出部８１、高解像度ピラミッド生成部８２、高解像度テンプレート生成部８３、低解像度ピラミッド生成部８４、及び低解像度テンプレート生成部８５を有して構成される。
【０１１７】
階層数算出部８１は、基準画像入力受付部６０から供給される基準画像に基づいて、ピラミッドアルゴリズムの階層数Ｎを算出するよう構成される。この算出について具体的に説明すると、まず階層数算出部８１は、長方形である基準画像の長辺と短辺それぞれの長さのうち小さい方を基準サイズとして取得する。基準画像が正方形である場合には、その一辺の長さを基準サイズとすればよい。また、階層数算出部８１には、予めパタン最小サイズが設定される。このパタン最小サイズの設定値はピラミッドアルゴリズムで生成される最小画像のサイズを示しており、あまり小さくし過ぎると対象物の自動認識が困難になる。したがって、実際にパタン最小サイズを設定する際には、いくつかのパタン最小サイズを用いてマッチング処理部３０による認識処理を試行し、最適な結果が得られる値を選択することが好適である。
【０１１８】
基準サイズを取得した階層数算出部８１は、階層数Ｎに１を設定し、基準サイズを２Ｎで除算する。その結果得られた値が上記パタン最小サイズより小さかった場合、階層数算出部８１は、階層数Ｎ＝１を出力する。一方、得られた値が上記パタン最小サイズより大きかった場合、Ｎを１増加させてＮ＝２とし、再度基準サイズを２Ｎで除算する。その結果得られた値が上記パタン最小サイズより小さかった場合、階層数算出部８１は、階層数Ｎ＝２を出力する。一方、得られた値が上記パタン最小サイズより大きかった場合、再度Ｎを増加させて、基準サイズを２Ｎで除算する。階層数算出部８１は、このような処理を、除算の結果として得られる値が上記パタン最小サイズを下回るまで繰り返す。その結果、階層数算出部８１からは、何らかの正整数の値が階層数Ｎとして出力されることになる。階層数算出部８１から出力された階層数Ｎは、低解像度ピラミッド生成部８４及びポーズ情報取得部９０（図１１）に供給される。
【０１１９】
高解像度ピラミッド生成部８２（第１の高解像度ピラミッド生成部）は、基準画像入力受付部６０から供給される基準画像について、ｎ−２段階（ｎは設定値入力受付部６１から供給される値）にわたり、ガウシアンフィルターを適用しつつダウンサンプリング（低解像度化）を行い、さらに、各段階で得られるダウンサンプリング後の画像に差分フィルターを適用するように構成される。１段分のダウンサンプリングによる解像度の低下量は、画像の一辺のサイズが半分になる量に予め調節される。このダウンサンプリング及びフィルタリングにより、最終的に、基準画像そのものである濃淡画像＜１＞を含むｎ−１枚の濃淡画像＜ｎ−１：１＞（複数の第１の濃淡画像）が生成される。ここで、２段階目以降のダウンサンプリングは、前段のダウンサンプリングの結果として得られた濃淡画像を入力画像として行われる。したがって、生成されるｎ−１枚の濃淡画像＜ｎ−１：１＞の解像度は、濃淡画像＜１＞から順に低くなることになる。高解像度ピラミッド生成部８２が生成した濃淡画像＜ｎ−１：１＞は、高解像度テンプレート生成部８３に供給される。
【０１２０】
ここで、ダウンサンプリング前の画像にガウシアンフィルターを適用する目的について説明する。高解像度ピラミッド生成部８２の出力である濃淡画像＜ｎ−１：１＞は、後述する高解像度テンプレート生成部８３において微分画像化されるが、マッチング処理部３０が好適な認識を行うためには、こうして得られる微分画像に、マッチングに適したエッジ特徴が現れている必要がある。なお、マッチングに適したエッジ特徴とは、対象物の輪郭を安定的に含みながら、背景領域に含まれるエッジを極力含まない、というものである。
【０１２１】
従来の粗密検索では、画像のダウンサンプリングは、単に画像の解像度を落とすことによって行われていた。もしくは、エイリアシングの発生を防ぐ程度の小さなσ値を持つガウシアンフィルターを、原画像（基準画像入力受付部６０から供給された基準画像）のみに適用していた。この状態では、解像度は低下するものの対象物以外のノイズによる高周波情報が十分に残っているため、画面がエッジで埋め尽くされた状態となり、エッジ特徴マッチングに適した画像とは言えない。
【０１２２】
これに対し、マッチング処理部３０では、各段階でダウンサンプリング前の画像にガウシアンフィルターを適用するので、ノイズに代表される局所的なエッジを排除しつつ、対象物のエッジのような大局的なエッジを残すことが可能となっている。したがって、マッチング処理部３０では、マッチングに適したエッジ特徴が現れる微分画像を得ることが可能になる。
【０１２３】
なお、ガウシアンフィルターがこのような効果を有するためには、ある程度大きなσ値を設定する必要がある。しかし一方で、ガウシアンフィルターにはσ値が大きいほど処理コストが大きくなるという特徴があるため、あまり大きなσ値を設定することは好ましくない。これに対し、マッチング処理部３０では、複数段階にわたって画像のダウンサンプリングを行い、その都度ガウシアンフィルターを適用していくことから、ダウンサンプリングの段階が進むにつれてσ値が累乗されることになる。このことは、最終的に得られる濃淡画像に関して、段階数分累乗されたσ値を有するガウシアンフィルターが適用された場合と同じフィルタリング効果が得られることを意味する。したがって、設定値としてのσ値はそれほど大きな値でなくとも、実質的に、大きなσ値を設定した場合と同様の効果が得られることになるので、マッチング処理部３０では、大きなσ値を設定することによるガウシアンフィルターの処理コストの問題はほぼ生じない。具体的なσ値の設定値は、生成されるテンプレートを目視で確認しながら、マッチングに適したエッジ特徴が現れるよう、適宜調節することが好適である。
【０１２４】
高解像度テンプレート生成部８３は、高解像度ピラミッド生成部８２から供給される濃淡画像＜ｋ＞（ｋは１からｎ−１の整数）を８方向エッジ検出部７０に供給し、その結果として８方向エッジ検出部７０から出力される非極大抑制画像＜ｋ＞＜７：０＞に基づき、濃淡画像＜ｋ＞の解像度に対応するテンプレートを生成するよう構成される。高解像度テンプレート生成部８３は、１からｎ−１のｎ−１個のｋそれぞれについて、このテンプレートの生成を行うよう構成される。
【０１２５】
高解像度テンプレート生成部８３は、具体的には、図１４に示すように、画像取得部８３ａ、勾配値取得部８３ｂ、エッジ特徴点群生成部８３ｃ、単位回転角算出部８３ｄ、回転処理部８３ｅを有して構成される。以下、これらの機能部の動作について説明しつつ、高解像度テンプレート生成部８３によるテンプレート生成の具体的な手順について詳しく説明する。
【０１２６】
以下、高解像度ピラミッド生成部８２から濃淡画像＜ｋ＞が供給された場合の動作を例に取って説明する。高解像度ピラミッド生成部８２から濃淡画像＜ｋ＞が供給されると、まず画像取得部８３ａにより、供給された濃淡画像＜ｋ＞が８方向エッジ検出部７０に供給され、その結果として８方向エッジ検出部７０から出力される微分画像＜ｋ＞＜７：０＞及び非極大抑制画像＜ｋ＞＜７：０＞が取得される。画像取得部８３ａは、こうして取得した非極大抑制画像＜ｋ＞＜７：０＞のすべてをエッジ特徴点群生成部８３ｃに供給するとともに、微分画像＜ｋ＞＜７：０＞のうちそれぞれ微分方向０°、９０°、１８０°、２７０°に対応する微分画像＜ｋ＞＜０＞、微分画像＜ｋ＞＜２＞、微分画像＜ｋ＞＜４＞、微分画像＜ｋ＞＜６＞のみを勾配値取得部８３ｂに供給する。以下では、この４つの微分画像をまとめて、図１４にも示すように微分画像＜ｋ＞＜０，２，４，６＞と表記する。また、画像取得部８３ａは、ｋ＝ｎ−１の場合に限り、微分画像＜ｎ−１＞＜７：０＞を図１３に示す低解像度ピラミッド生成部８４に供給する。
【０１２７】
勾配値取得部８３ｂは、微分画像＜ｋ＞＜０，２，４，６＞から画素ごとの勾配方向を取得し、この勾配方向が各画素に設定された勾配画像＜ｋ＞を生成するとともに、取得した各画素の勾配方向を量子化することにより、量子化された勾配方向が各画素に設定された微分方向画像＜ｋ＞を生成する機能を有している。具体的に説明すると、勾配値取得部８３ｂはまず、それぞれ微分方向０°，１８０°に対応する微分画像＜ｋ＞＜０，４＞から、Ｘ方向微分画像を生成する。より具体的には、微分画像＜ｋ＞＜０＞から微分画像＜ｋ＞＜４＞を減算することにより、Ｘ方向微分画像を生成する。上述したように、微分画像＜７：０＞はそれぞれ、対応する微分方向に沿って暗から明に変化するエッジのみが強調された画像である。したがって、微分画像＜ｋ＞＜０＞は微分方向０°に沿って暗から明に変化するエッジのみが強調された画像であり、微分画像＜ｋ＞＜４＞は微分方向１８０°に沿って暗から明に変化するエッジのみが強調された画像である。これに対し、Ｘ方向微分画像は上記のように微分画像＜ｋ＞＜０＞から微分画像＜ｋ＞＜４＞を減算したものであるから、微分方向０°に沿って暗から明に変化するエッジと、微分方向１８０°に沿って暗から明に変化するエッジ（すなわち、微分方向０°に沿って明から暗に変化するエッジ）との両方が強調された画像となる。
【０１２８】
次に、勾配値取得部８３ｂは、それぞれ微分方向９０°，２７０°に対応する微分画像＜ｋ＞＜２，６＞から、Ｙ方向微分画像を生成する。より具体的には、微分画像＜ｋ＞＜２＞から微分画像＜ｋ＞＜６＞を減算することにより、Ｙ方向微分画像を生成する。こうして生成されるＹ方向微分画像は、Ｘ方向微分画像と同様の理由により、微分方向９０°に沿って暗から明に変化するエッジと、微分方向２７０°に沿って暗から明に変化するエッジ（すなわち、微分方向９０°に沿って明から暗に変化するエッジ）との両方が強調された画像となる。
【０１２９】
続いて、勾配値取得部８３ｂは、以上のように生成したＸ方向微分画像及びＹ方向微分画像により、勾配画像＜ｋ＞を生成する。具体的に説明すると、まず逆正接を用いる次の式（２６）により、各画素の勾配方向Ｇ（ｉ）（ｉは画素の通番）を算出する。ただし、式（２６）中のＸ（ｉ）はｉ番目の画素のＸ方向微分画像における明度（微分値）を示し、Ｙ（ｉ）はｉ番目の画素のＹ方向微分画像における明度（微分値）を示している。勾配値取得部８３ｂは、こうして算出した勾配方向Ｇ（ｉ）を各画素に設定することにより、勾配画像＜ｋ＞を生成する。
【０１３０】
【数１３】
0005806786.tif 000014
【０１３１】
次に、勾配値取得部８３ｂは、勾配画像＜ｋ＞から微分方向画像＜ｋ＞を生成する。具体的には、式（２６）により算出した勾配方向Ｇ（ｉ）を、上記所定数（（図１２に示した方向別微分画像生成部７０ａに設定される所定数。本実施の形態では「８」）の微分方向のうち最も近い方向に量子化してなる量子化勾配方向ＱＧ（ｉ）を取得する。一例を挙げて説明すると、ｉ番目の画素に対応する勾配方向Ｇ（ｉ）が例えば４０°であった場合、上述した微分方向０°、４５°、９０°、１３５°、１８０°、２１５°、２７０°、３１５°のうち、微分方向４５°が最も近い方向となるので、量子化勾配方向ＱＧ（ｉ）は４５°となる。以上のような量子化勾配方向ＱＧ（ｉ）をすべての画素について取得した後、勾配値取得部８３ｂは、量子化勾配方向ＱＧ（ｉ）を微分方向画像＜ｋ＞の各画素に設定する。これにより、勾配値取得部８３ｂによる微分方向画像＜ｋ＞の生成が完了する。勾配値取得部８３ｂが生成した微分方向画像＜ｋ＞は、エッジ特徴点群生成部８３ｃに供給される。
【０１３２】
エッジ特徴点群生成部８３ｃは、非極大抑制画像＜ｋ＞＜７：０＞に含まれる複数のエッジ点それぞれについて微分方向画像＜ｋ＞から量子化勾配方向を取得し、該複数のエッジ点それぞれの座標及び量子化勾配方向を示すエッジ特徴点群＜ｋ＞を生成するよう構成される。より具体的に言えば、エッジ特徴点群生成部８３ｃは、微分方向画像＜ｋ＞内の各画素がエッジ点であるか否かを判定する機能と、エッジ点であると判定した各画素について、微分方向画像＜ｋ＞内における座標（ピクセル座標）、微分方向画像＜ｋ＞内に設定された量子化勾配方向ＱＧ（ｉ）、この量子化勾配方向ＱＧ（ｉ）に対応する非極大抑制画像内の対応する画素に設定された値（サブピクセル変位量Δｘ）、及び、勾配画像＜ｋ＞内に設定された勾配方向Ｇ（ｉ）を含むエッジ特徴点群＜ｋ＞を生成する機能とを有して構成される。
【０１３３】
以下、微分方向画像＜ｋ＞内のｉ番目の画素にかかる処理に注目し、エッジ特徴点群生成部８３ｃの動作について、より具体的に説明する。エッジ特徴点群生成部８３ｃはまず、ｉ番目の画素に関して微分方向画像＜ｋ＞内に設定された量子化勾配方向ＱＧ（ｉ）を取得する。そして、８枚の非極大抑制画像＜ｋ＞＜７：０＞の中から、この量子化勾配方向ＱＧ（ｉ）に対応するものを選択する。続いて、エッジ特徴点群生成部８３ｃは、上記ｉ番目の画素に対応する選択した非極大抑制画像＜ｋ＞内の画素を参照し、そこに設定された値を取り出す。そして、取り出した値が−０．５以上０．５以下の範囲に含まれるか否かを判定し、含まれると判定した場合に、ｉ番目の画素がエッジ点であると判定する。含まれないと判定した場合には、ｉ番目の画素はエッジ点ではないと判定する。この判定では、要するに、非極大抑制画像＜ｋ＞内の対応する画素にサブピクセル変位量Δｘが設定されている場合にエッジ点であると判定し、そうでない場合にエッジ点ではないと判定していることになる。
【０１３４】
ｉ番目の画素がエッジ点であると判定した場合、エッジ特徴点群生成部８３ｃは、微分方向画像＜ｋ＞からｉ番目の画素の座標（ピクセル座標）及び量子化勾配方向ＱＧ（ｉ）を取得するとともに、選択した非極大抑制画像＜ｋ＞から対応する画素の設定値（サブピクセル変位量Δｘ）を取得し、さらに勾配画像＜ｋ＞内から対応する画素の勾配方向Ｇ（ｉ）を取得し、こうして取得した各情報を含む一群の情報を、エッジ特徴点群＜ｋ＞内に１レコードとして格納する。
【０１３５】
最終的に生成されるエッジ特徴点群＜ｋ＞は、微分方向画像＜ｋ＞内のすべての画素のうち、上記判定によりエッジ点であると判定された画素のそれぞれについて、同様のレコードを含む情報となる。こうして生成されるエッジ特徴点群＜ｋ＞は、マッチング処理部３０において使用される複数のテンプレートのうちのひとつを構成するもので、単位回転角算出部８３ｄ及び回転処理部８３ｅのそれぞれに供給される。
【０１３６】
単位回転角算出部８３ｄは、エッジ特徴点群＜ｋ＞に基づいて単位回転角θ０＜ｋ＞を算出する機能部である。単位回転角θ０＜ｋ＞とは、回転テンプレートを生成するためにテンプレートを回転させる際の回転角の基準値である。単位回転角算出部８３ｄによる単位回転角θ０＜ｋ＞の算出は、次の式（２７）から式（３１）に示す一連の計算を行うことによって行われる。ただし、式（２７）中のＤｊは、エッジ特徴点群＜ｋ＞に含まれるｊ番目のエッジ点と、エッジ特徴点群＜ｋ＞に含まれる全エッジ点の重心位置との間の距離である。また、ＮＥは、エッジ特徴点群＜ｋ＞に含まれるエッジ点の個数である。
【０１３７】
【数１４】
0005806786.tif 000015
【０１３８】
式（２７）から式（３１）について、計算の順を追いつつ詳しく説明する。まず単位回転角算出部８３ｄは、式（２７）により距離Ｄｊの平均値μを算出し、次いで式（２８）により距離Ｄｊの標準偏差値ｕを算出する。次に単位回転角算出部８３ｄは、式（２９）に示すように、平均値μと標準偏差値ｕを加算することによってエッジ基準距離値Ｄを算出する。そして、このエッジ基準距離値Ｄを用いて、式（３０）により角度変化量θｃを算出する。角度変化量θｃは、重心位置からエッジ基準距離値Ｄだけ離れた位置にあるエッジ点が重心位置を中心とした円軌道上を１画素分移動した場合の、該エッジ点の回転角を示している。最後に単位回転角算出部８３ｄは、式（３１）に示すように、角度変化量θｃに変形許容量Ｖ（設定値入力受付部６１から供給されるもの）を乗算した結果を、単位回転角θ０＜ｋ＞として出力する。
【０１３９】
回転処理部８３ｅは、単位回転角算出部８３ｄによって算出された単位回転角θ０＜ｋ＞に基づいてエッジ特徴点群＜ｋ＞を回転させることにより、このエッジ特徴点群＜ｋ＞であるエッジ特徴点群＜ｋ＞＜０＞を含むｍｋ＋１個のエッジ特徴点群＜ｋ＞＜ｍｋ：０＞を取得する。ただし、ｍｋは次の式（３２）で表わされる。
【０１４０】
【数１５】
0005806786.tif 000016
【０１４１】
以上のようにして生成されるエッジ特徴点群＜ｋ＞＜ｍｋ：０＞はそれぞれ、マッチング処理部３０において使用される複数のテンプレートのうちのひとつを構成する。
【０１４２】
ここまで、高解像度ピラミッド生成部８２から濃淡画像＜ｋ＞が供給された場合の動作を例に取って高解像度テンプレート生成部８３内の各部の動作を説明してきたが、実際の高解像度テンプレート生成部８３は、１からｎ−１のｎ−１個のｋそれぞれについて同様の動作を行うよう構成される。したがって、高解像度テンプレート生成部８３は最終的に、図１３に示すように、それぞれテンプレートである複数のエッジ特徴点群＜１＞＜ｍ１：０＞〜＜ｎ−１＞＜ｍｎ−１：０＞を生成することとなる。
【０１４３】
図１３に戻る。低解像度ピラミッド生成部８４（第１の低解像度ピラミッド生成部）は、高解像度テンプレート生成部８３から供給される微分画像＜ｎ−１＞＜７：０＞（濃淡画像＜ｎ−１：１＞のうちの最も解像度が低いものである濃淡画像＜ｎ−１＞が入力画像である場合に８方向エッジ検出部７０により生成される８枚の微分画像）それぞれの解像度をＮ−ｎ＋１段階にわたって落とすことにより、解像度ごとの８枚の微分画像＜７：０＞を含む８×（Ｎ−ｎ＋１）枚の微分画像＜Ｎ：ｎ＞＜７：０＞（第１の微分画像）を生成するよう構成される。
【０１４４】
低解像度ピラミッド生成部８４の基本的な動作原理については、高解像度ピラミッド生成部８２と同様であるので、詳しい説明は省略する。ただし、低解像度ピラミッド生成部８４は、８枚の微分画像＜ｎ−１＞＜７：０＞のそれぞれをダウンサンプリング及びフィルタリングの対象とし、Ｎ−ｎ＋１段階にわたって処理を繰り返すよう構成される。１段分のダウンサンプリングによる解像度の低下量は、高解像度ピラミッド生成部８２と同様、画像の一辺のサイズが半分になる量に予め調節される。
【０１４５】
低解像度テンプレート生成部８５は、低解像度ピラミッド生成部８４から供給される微分画像＜ｋ＞＜７：０＞（ｋはｎからＮの整数）を８方向エッジ検出部７０に供給し、その結果として８方向エッジ検出部７０から出力される非極大抑制画像＜ｋ＞＜７：０＞に基づき、微分画像＜ｋ＞＜７：０＞の解像度に対応するテンプレートを生成する機能部である。低解像度テンプレート生成部８５は、ｎからＮのＮ−ｎ＋１個のｋそれぞれについて、このテンプレートの生成を行うよう構成される。
【０１４６】
低解像度テンプレート生成部８５は、図１５に示すように、画像取得部８５ａ、勾配値取得部８５ｂ、エッジ特徴点群生成部８５ｃ、単位回転角算出部８５ｄ、回転処理部８５ｅを有して構成される。これらの機能部の動作は、基本的に、図１４に示した高解像度ピラミッド生成部８２内の各機能部の動作と同様である。以下、異なる点のみを説明する。
【０１４７】
画像取得部８５ａには、濃淡画像ではなく微分画像＜ｋ＞＜７：０＞が供給される。画像取得部８５ａは、これを８方向エッジ検出部７０に供給する。その結果として８方向エッジ検出部７０から低解像度テンプレート生成部８５に供給される画像は、図１４に示した高解像度ピラミッド生成部８２の例と同様、微分画像＜ｋ＞＜７：０＞及び非極大抑制画像＜ｋ＞＜７：０＞となる。なお、高解像度ピラミッド生成部８２の画像取得部８３ａは、こうして供給された画像のうち微分画像＜ｎ−１＞＜７：０＞を低解像度ピラミッド生成部８４に出力していたが、画像取得部８５ａはそのような出力は行わない。
【０１４８】
８方向エッジ検出部７０から供給された微分画像＜ｋ＞＜７：０＞及び非極大抑制画像＜ｋ＞＜７：０＞を受け、勾配値取得部８５ｂ、エッジ特徴点群生成部８５ｃ、単位回転角算出部８５ｄ、回転処理部８５ｅは、図１４に示した勾配値取得部８３ｂ、エッジ特徴点群生成部８３ｃ、単位回転角算出部８３ｄ、回転処理部８３ｅと同様の処理を行う。これにより、図１３に示すように、それぞれテンプレートである複数のエッジ特徴点群＜ｎ＞＜ｍｎ：０＞〜＜Ｎ＞＜ｍＮ：０＞が生成される。
【０１４９】
図１１に戻り、ポーズ情報取得部９０は、探索対象画像入力受付部６２から供給される探索対象画像を８方向エッジ検出部７０に供給し、その結果として８方向エッジ検出部７０から供給されるエッジ距離画像＜７：０＞（８枚の非極大抑制画像＜７：０＞に基づいて生成される８枚の画像）と、テンプレート生成部８０により生成されたテンプレート（エッジ特徴点群）とに基づいて、探索対象画像内における基準画像のポーズを示すポーズ情報を取得する機能を有して構成される。
【０１５０】
図１６〜図１８を参照して、ポーズ情報取得部９０の機能について詳しく説明する。ポーズ情報取得部９０は、図１６に示すように、高解像度ピラミッド生成部９１、画像取得部９２、低解像度ピラミッド生成部９３、全探索処理部９４、及び周辺探索処理部９５を有して構成される。
【０１５１】
高解像度ピラミッド生成部９１（第２の高解像度ピラミッド生成部）は、探索対象画像入力受付部６２から供給される探索対象画像について、ｎ−２段階（ｎは設定値入力受付部６１から供給される値）にわたり、ガウシアンフィルターを適用しつつダウンサンプリング（低解像度化）を行い、さらに、各段階で得られるダウンサンプリング後の画像に差分フィルターを適用するように構成される。１段分のダウンサンプリングによる解像度の低下量は、画像の一辺のサイズが半分になる量に予め調節される。高解像度ピラミッド生成部９１の具体的な機能はテンプレート生成部８０内の高解像度ピラミッド生成部８２と同様であるので、詳しい説明は省略する。最終的に、高解像度ピラミッド生成部９１は、探索対象画像そのものである濃淡画像＜１＞を含むｎ−１枚の濃淡画像＜ｎ−１：１＞（複数の第２の濃淡画像）を生成し、周辺探索処理部９５に供給する。また、濃淡画像＜ｎ−１：１＞のうち最も解像度が低い濃淡画像＜ｎ−１＞に限り、画像取得部９２にも供給する。
【０１５２】
画像取得部９２は、高解像度ピラミッド生成部９１から供給された濃淡画像＜ｎ−１＞を８方向エッジ検出部７０に供給し、その結果として８方向エッジ検出部７０から供給される微分画像＜ｎ−１＞＜７：０＞を低解像度ピラミッド生成部９３に供給するよう構成される。
【０１５３】
低解像度ピラミッド生成部９３（第２の低解像度ピラミッド生成部）は、画像取得部９２から供給される微分画像＜ｎ−１＞＜７：０＞それぞれの解像度をＮ−ｎ＋１段階にわたって落とすことにより、解像度ごとの８枚の微分画像＜７：０＞を含む複数の微分画像（第２の微分画像）を生成するように構成される。１段分のダウンサンプリングによる解像度の低下量は、画像の一辺のサイズが半分になる量に予め調節される。低解像度ピラミッド生成部９３の具体的な機能はテンプレート生成部８０内の低解像度ピラミッド生成部８４と同様であるので、詳しい説明は省略する。最終的に、低解像度ピラミッド生成部９３は、Ｎ−ｎ＋１組の８枚の微分画像＜Ｎ：ｎ＞＜７：０＞（複数の第２の微分画像）を生成し、そのうち微分画像＜Ｎ＞＜７：０＞を全探索処理部９４に、残りの微分画像＜Ｎ−１：ｎ＞＜７：０＞を周辺探索処理部９５にそれぞれ供給する。
【０１５４】
全探索処理部９４は、低解像度ピラミッド生成部９３から供給される微分画像＜Ｎ＞＜７：０＞と、テンプレート生成部８０から供給されるエッジ特徴点群＜Ｎ＞＜ｍＮ：０＞とに基づいて、探索対象画像内における基準画像のポーズの候補であるＡ＋１個のポーズ情報候補＜Ｎ＞＜Ａ：０＞を取得する機能部である。なお、Ａは探索の結果として得られる数値であり、予め決められているものではない。
【０１５５】
全探索処理部９４は、図１７に示すように、画像取得部９４ａ及び一致度空間取得部９４ｂを有して構成される。
【０１５６】
画像取得部９４ａは、低解像度ピラミッド生成部９３から供給される微分画像＜Ｎ＞＜７：０＞を８方向エッジ検出部７０に供給し、その結果として８方向エッジ検出部７０から供給されるエッジ距離画像＜Ｎ＞＜７：０＞を一致度空間取得部９４ｂに供給するよう構成される。
【０１５７】
一致度空間取得部９４ｂは、テンプレート生成部８０から供給されるｍＮ＋１個のエッジ特徴点群＜Ｎ＞＜ｍＮ：０＞ごとに、エッジ距離画像＜Ｎ＞＜７：０＞の各画素を原点位置（左上位置）として、エッジ特徴点群内の各エッジ点とエッジ距離画像＜Ｎ＞＜７：０＞内の各画素との一致度を算出する機能を有して構成される。以下、図２０も参照しながら詳しく説明する。
【０１５８】
一致度空間取得部９４ｂは、まずエッジ特徴点群＜Ｎ＞＜０＞に着目し、さらに、左上から順にエッジ距離画像＜Ｎ＞＜０＞の座標に順次着目する。図２０には、ある瞬間に一致度空間取得部９４ｂが着目した座標（ＸＯＦＦ，ＹＯＦＦ）を図示している。一致度空間取得部９４ｂによる一致度の算出処理では、エッジ距離画像＜Ｎ＞＜０＞のうち、着目した座標（ＸＯＦＦ，ＹＯＦＦ）を左上として、Ｘ方向の幅ＸｔｅｍｐかつＹ方向の幅Ｙｔｅｍｐの領域が処理対象となる。ここで、Ｘ方向の幅Ｘｔｅｍｐは、エッジ特徴点群＜Ｎ＞＜０＞に含まれる各画素のＸ座標のうち最大のものから最小のものを減じた値、つまりエッジ特徴点群＜Ｎ＞＜０＞のＸ方向の幅であり、Ｙ方向の幅Ｙｔｅｍｐは、エッジ特徴点群＜Ｎ＞＜０＞に含まれる各画素のＹ座標のうち最大のものから最小のものを減じた値、つまりエッジ特徴点群＜Ｎ＞＜０＞のＹ方向の幅である。エッジ特徴点群＜Ｎ＞＜０＞内の各エッジ点は、処理対象領域内のいずれかの画素と対応することになる。
【０１５９】
座標（ＸＯＦＦ，ＹＯＦＦ）に着目した一致度空間取得部９４ｂは、エッジ特徴点群＜Ｎ＞＜０＞内の各エッジ点について、次の式（３３）及び式（３４）により、エッジ距離画像＜Ｎ＞＜０＞内の対応する画素との一致度を算出する。ただし、関数Ｄ（ｘ，ｙ，ｄｉｒ）は、対応する微分方向がｄｉｒであるエッジ距離画像上の座標（ｘ，ｙ）に設定されているエッジ距離ＥＤ（式（２５）参照）である。また、Ｔｘ（ｉ）、Ｔｙ（ｉ）、Ｔｄｉｒ（ｉ）、Ｔｄ（ｉ）はそれぞれ、エッジ特徴点群に含まれるｉ番目のエッジ点のｘ座標、ｙ座標、量子化勾配方向ＱＧ（ｉ）、及びサブピクセル変位量Δｘである。Ｖは、設定値入力受付部６１から供給される変形許容量であり、Ｓ（ｉ）は、エッジ特徴点群に含まれるｉ番目のエッジ点について算出された一致度である。
【０１６０】
【数１６】
0005806786.tif 000017
【０１６１】
以上のようにしてエッジ特徴点群＜Ｎ＞＜０＞内の各エッジ点について一致度Ｓ（ｉ）を算出した一致度空間取得部９４ｂは、次の式（３５）により、その平均値Ｓｃｏｒｅを算出する。ただし、ＮＥは、エッジ特徴点群＜Ｎ＞＜０＞に含まれるエッジ点の個数である。
【０１６２】
【数１７】
0005806786.tif 000018
【０１６３】
一致度空間取得部９４ｂは、Ｘ軸、Ｙ軸、θ軸で特定される投票空間内の各座標に、上記のようにして算出した平均値Ｓｃｏｒｅを対応付ける。ただし、θ座標は、エッジ特徴点群に対応する回転角に対応させる。上記の場合では、一致度空間取得部９４ｂは、Ｘ座標ＸＯＦＦ、Ｙ座標ＹＯＦＦ、θ座標０°（エッジ特徴点群＜Ｎ＞＜０＞に対応する回転角）の点に、平均値Ｓｃｏｒｅを対応付けることになる。
【０１６４】
一致度空間取得部９４ｂは、互いに回転角の異なるｍＮ＋１個のエッジ特徴点群＜Ｎ＞＜ｍＮ：０＞と、互いに微分方向の異なる８枚のエッジ距離画像＜Ｎ＞＜７：０＞とのすべての組み合わせについて、エッジ距離画像内のすべての画素に順次着目しながら（座標（ＸＯＦＦ，ＹＯＦＦ）を切り替えながら）、以上の処理を実行する。ただし、微分方向が４５°、１３５°、２２５°、３１５°に対応するエッジ距離画像＜Ｎ＞＜１，３，５，７＞に関しては、式（３４）に代えて式（３６）を用いる。これは、これらの画像の画素間距離が、エッジ距離画像＜Ｎ＞＜０，２，４，６＞に比べて２の平方根倍になることに対応するものである。
【０１６５】
【数１８】
0005806786.tif 000019
【０１６６】
一致度空間取得部９４ｂの上記処理により、最終的に、Ｘ軸、Ｙ軸、θ軸で特定される投票空間内の各座標に、平均値Ｓｃｏｒｅが対応づけられる。一致度空間取得部９４ｂはさらに、その中で極大値を構成している座標を取得する。そして、取得した１つ以上の座標（Ｘ，Ｙ，θ）を、Ａ＋１個のポーズ情報候補＜Ｎ＞＜Ａ：０＞として出力する。Ａ＋１は、一致度空間取得部９４ｂが取得した座標の数である。
【０１６７】
全探索処理部９４は、以上のようにして取得したポーズ情報候補＜Ｎ＞＜Ａ：０＞を、周辺探索処理部９５に供給するよう構成される。
【０１６８】
周辺探索処理部９５は、ポーズ情報候補＜Ｎ＞＜Ａ：０＞のそれぞれに基づいて微分画像＜Ｎ−１：ｎ＞＜７：０＞及び濃淡画像＜ｎ−１：１＞のそれぞれから画像を抽出し、さらに、抽出した画像（抽出画像）とテンプレート生成部８０から供給されるエッジ特徴点群＜１＞＜ｍ１：０＞〜＜Ｎ−１＞＜ｍＮ−１：０＞とに基づいてポーズ情報を取得する機能部である。より具体的には、解像度ごとに、該解像度に対応する抽出画像が入力画像である場合に８方向エッジ検出部７０により生成される８枚のエッジ距離画像と、該解像度に対応するエッジ特徴点群（テンプレート）とに基づいて、探索対象画像内における基準画像のポーズの候補である少なくとも１つのポーズ情報候補を取得するよう構成される。マッチング処理部３０の最終的な出力であるポーズ情報は、最も高い解像度に対応して周辺探索処理部９５が取得する少なくとも１つのポーズ情報候補の中から、周辺探索処理部９５により選択される。
【０１６９】
周辺探索処理部９５は、図１８（ａ）（ｂ）に示すように、座標変換処理部９５ａ、テンプレート選択部９５ｂ、処理領域抽出部９５ｃ、画像取得部９５ｄ、一致度空間取得部９５ｅ、及び最終回答選択部９５ｆを有して構成される。周辺探索処理部９５は、これらの機能部を用いて、低い解像度から順に処理対象の解像度を上げながら、Ｎ−１段階の処理を行うよう構成される。このＮ−１段階の処理のそれぞれにおいて、周辺探索処理部９５は、Ａ＋１個のポーズ情報候補＜Ｎ＞＜Ａ：０＞のそれぞれに対応するポーズ情報候補を取得する。図１８（ａ）には、このうちｋ段階目（ｋは１からＮ−１の整数）の処理かつａ番目（ａは０からＡの整数）のポーズ情報候補＜ｋ＞＜ａ＞に関する部分を図示している。
【０１７０】
なお、本実施の形態による周辺探索処理部９５は、上記各段階のそれぞれでＡ＋１個のポーズ情報候補を取得するよう構成される。つまり、全探索処理部９４が取得したポーズ情報候補の数は周辺探索処理部９５の処理の間維持されるが、ある段階で算出した平均値Ｓｃｏｒｅが例えば予め決められた所定値を下回るようなポーズ情報候補については、その段階以降、処理の対象としないこととしてもよい。こうすることで、正しい回答である可能性の低いポーズ情報候補を処理対象から除去し、処理コストを低減することが可能になる。
【０１７１】
以下、図１８（ａ）に示したｋ段階目の処理かつａ番目のポーズ情報候補＜ｋ＞＜ａ＞に関する周辺探索処理部９５の動作を例に取って説明する。なお、ｋは、Ｎ−１から１まで１ずつデクリメントされる。
【０１７２】
座標変換処理部９５ａは、ｋ＝Ｎ−１の場合には全探索処理部９４（図１６）からポーズ情報候補＜Ｎ＞＜ａ＞を取得し、ｋ＜Ｎ−１の場合には一致度空間取得部９５ｅからひとつ前の段階で生成されたポーズ情報候補＜ｋ＋１＞＜ａ＞を取得する。そして、取得したポーズ情報候補に座標変換処理を施す。この処理は、相対的に前段の処理で使用される各画像と、相対的に後段の処理で使用される各画像とで、解像度が異なるために必要となるものである。本実施の形態では、上述したように、１段階の処理で画像の一辺のサイズが半分になるように、画像のダウンサンプリングを行っている。したがって、座標変換処理部９５ａは、ポーズ情報候補＜ｋ＋１＞＜ａ＞により示される座標（Ｘ，Ｙ，θ）のＸ座標及びＹ座標をそれぞれ２倍することにより、座標変換を行うことになる。座標変換処理部９５ａは、座標変換後のポーズ情報候補＜ｋ＋１＞＜ａ＞のうち、Ｘ座標及びＹ座標を処理領域抽出部９５ｃに、θ座標をテンプレート選択部９５ｂにそれぞれ供給する。
【０１７３】
テンプレート選択部９５ｂは、テンプレート生成部８０（図１１）から供給されるｍｋ＋１個のエッジ特徴点群＜ｋ＞＜ｍｋ：０＞の中から、座標変換処理部９５ａから供給されるθ座標に基づいて、７個を選択する機能を有している。具体的な例では、対応する回転角がθ座標に等しいものと、対応する回転角がθ座標にプラス側で近いものから順に３つと、対応する回転角がθ座標にマイナス側で近いものから順に３つとを選択する。以下、こうして選択されるものをエッジ特徴点群＜ｋ＞＜ｓ＋３：ｓ−３＞と表わし、それぞれに対応する回転角をθｓ−３〜θｓ＋３と表わす。テンプレート選択部９５ｂは、選択したエッジ特徴点群＜ｋ＞＜ｓ＋３：ｓ−３＞を一致度空間取得部９５ｅに供給するとともに、対応する回転角θｓ−３〜θｓ＋３を処理領域抽出部９５ｃに供給する。また、テンプレート選択部９５ｂは、回転角０°に対応するエッジ特徴点群＜ｋ＞＜０＞に関して上述したＸ方向の幅Ｘｔｅｍｐ及びＹ方向の幅Ｙｔｅｍｐ（図２０参照）を取得し、それぞれＸ方向の幅Ｘｔｅｍｐ０及びＹ方向の幅Ｙｔｅｍｐ０として処理領域抽出部９５ｃに供給する。
【０１７４】
処理領域抽出部９５ｃは、ｋ≧ｎの場合には低解像度ピラミッド生成部９３（図１６）から８枚の微分画像＜ｋ＞＜７：０＞を取得し、ｋ＜ｎの場合には高解像度ピラミッド生成部９１（図１６）から濃淡画像＜ｋ＞を取得する。そして、座標変換処理部９５ａから供給されるＸ座標及びＹ座標と、テンプレート選択部９５ｂから供給される回転角θｓ−３〜θｓ＋３及び幅Ｘｔｅｍｐ０，Ｙｔｅｍｐ０とに基づき、取得した画像から処理領域を抽出する。より具体的に説明すると、処理領域抽出部９５ｃは、テンプレート選択部９５ｂから供給される回転角θｓ−３〜θｓ＋３及び幅Ｘｔｅｍｐ０，Ｙｔｅｍｐ０に基づき、まず回転角θｓ−３〜θｓ＋３のそれぞれに対応する処理領域の幅Ｘｔｅｍｐ，Ｙｔｅｍｐを算出する。そして、座標変換処理部９５ａから供給されるＸ座標及びＹ座標を左上としてＸ方向の幅ＸｔｅｍｐかつＹ方向の幅Ｙｔｅｍｐの領域をまず取得し、さらにそこからＸ，Ｙ方向に±Ｖ（Ｖは、設定値入力受付部６１から供給される変形許容量）だけ拡大した領域を処理領域として抽出する。処理領域抽出部９５ｃは、こうして抽出した抽出画像＜ｋ＞＜７：０＞＜ｓ＋３：ｓ−３＞＜ａ＞（ｋ≧ｎの場合）及び抽出画像＜ｋ＞＜ｓ＋３：ｓ−３＞＜ａ＞（ｋ＜ｎの場合）を、画像取得部９５ｄに供給する。
【０１７５】
画像取得部９５ｄは、処理領域抽出部９５ｃから供給される上記画像を８方向エッジ検出部７０に供給し、その結果として８方向エッジ検出部７０から供給されるエッジ距離画像＜ｋ＞＜７：０＞＜ｓ＋３：ｓ−３＞＜ａ＞を一致度空間取得部９５ｅに供給するよう構成される。
【０１７６】
一致度空間取得部９５ｅは、テンプレート選択部９５ｂから供給されるエッジ特徴点群＜ｋ＞＜ｓ＋３：ｓ−３＞ごとに、エッジ特徴点群内の各エッジ点とエッジ距離画像＜ｋ＞＜７：０＞＜ｓ＋３：ｓ−３＞＜ａ＞内の各画素との一致度を算出する機能を有して構成される。この一致度の具体的な算出方法は上述した一致度空間取得部９４ｂによるものと同様であるので、詳しい説明は省略する。最終的に、一致度空間取得部９５ｅは、ポーズ情報候補＜ｋ＞＜ａ＞を取得し、ｋ＞１である場合には、取得したポーズ情報候補＜ｋ＞＜ａ＞を座標変換処理部９５ａに供給する。こうして取得されたポーズ情報候補＜ｋ＞＜ａ＞は通常、抽出画像内に対象物が含まれている場合、ポーズ情報候補＜ｋ＋１＞＜ａ＞より高い精度で、抽出画像内の基準画像の位置を示すものとなる。
【０１７７】
ｋ＝１である場合の一致度空間取得部９５ｅは、図１８（ｂ）に示すように、Ａ＋１個のポーズ情報候補＜１＞＜Ａ：０＞と、それぞれについて算出した平均値Ｓｃｏｒｅ＜Ａ：０＞とを最終回答選択部９５ｆに供給する。これを受けた最終回答選択部９５ｆは、Ａ＋１個のポーズ情報候補＜１＞＜Ａ：０＞の中から平均値Ｓｃｏｒｅが最も大きいものを選択し、ポーズ情報として出力する。マッチング処理部３０は、こうして出力したポーズ情報と、上述したテンプレートとに基づき、線分を示すクラック点列を取得する。
【０１７８】
以上説明したように、本実施の形態によるマッチング処理部３０によれば、８方向エッジ検出部７０によるエッジ点の決定（微分処理及び非極大抑制処理）を、勾配方向ではなく所定数（８）の微分方向のそれぞれに基づいて行っているので、探索対象画像内において背景や対象物に外観上の変化が発生しても、高い精度で認識を行うことが可能になる。
【０１７９】
また、マッチング処理部３０では、探索対象画像を、単なるエッジ画像（非極大抑制画像）ではなく、変形許容量Ｖだけエッジに幅を持たせたエッジ距離画像としている。つまり、エッジポテンシャル表現によりエッジの冗長性を制御しているので、エッジの変形を伴うような対象物の外観上の変化（誤差による変化を含む）が発生しても、高い精度で認識を行うことが可能になる。
【０１８０】
さらに、マッチング処理部３０ではピラミッドアルゴリズムによる粗密探索を行っているが、解像度の低い画像を、濃淡画像ではなく、方向別微分画像生成部７０ａにより生成した微分画像により構成しているので、マッチング処理部３０では、低い解像度で細い線状の対象物が消えてしまうことが防止されている。したがって、ピラミッドアルゴリズムにおけるピラミッドの階層を従来に比べて深くすることができるので、対象物の認識に要する処理コストを従来に比べて低くすることが可能になるとともに、使用メモリ量の低減も可能となっている。
【０１８１】
なお、上の説明ではピラミッドアルゴリズムによる粗密探索を行う場合を前提として説明したが、ピラミッドアルゴリズムによる粗密探索を行わないようにマッチング処理部３０を構成してもよい。
【０１８２】
また、上の説明では変形許容量Ｖだけエッジに幅を持たせたエッジ距離画像を使用することを前提として説明したが、エッジ距離画像を使用しない（エッジ距離画像に代えて非極大抑制画像を用いる）ようにマッチング処理部３０を構成することも可能である。
【０１８３】
以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
【符号の説明】
【０１８４】
１              画像認識装置
１０            明視野照明撮像部
１１，１３      クラック点列生成部
１２            暗視野照明撮像部
１４            クラック連結部
１５            クラック評価部
２０            セラミック基板
２１            磁器部
２２            パターン部
３０            マッチング処理部
３１            候補点取得部
３２            最適化部
３３            クラック点スコア算出部
３４            クラックスコア算出部
３５            選択部
４０            クラック点列
４１ａ，４１ｂ  エッジ
５０            連結スコア算出部
５１            連結処理部
６０            基準画像入力受付部
６１            設定値入力受付部
６２            探索対象画像入力受付部
７０            ８方向エッジ検出部
７０ａ          方向別微分画像生成部
７０ｂ          非極大抑制処理部
７０ｃ          サブピクセル変位量算出部
７０ｄ          エッジ距離画像生成部
８０            テンプレート生成部
８１            階層数算出部
８２            高解像度ピラミッド生成部
８３            高解像度テンプレート生成部
８３ａ          画像取得部
８３ｂ          勾配値取得部
８３ｃ          エッジ特徴点群生成部
８３ｄ          単位回転角算出部
８３ｅ          回転処理部
８４            低解像度ピラミッド生成部
８５            低解像度テンプレート生成部
８５ａ          画像取得部
８５ｂ          勾配値取得部
８５ｃ          エッジ特徴点群生成部
８５ｄ          単位回転角算出部
８５ｅ          回転処理部
９０            ポーズ情報取得部
９１            高解像度ピラミッド生成部
９２            画像取得部
９３            低解像度ピラミッド生成部
９４            全探索処理部
９４ａ          画像取得部
９４ｂ          一致度空間取得部
９５            周辺探索処理部
９５ａ          座標変換処理部
９５ｂ          テンプレート選択部
９５ｃ          処理領域抽出部
９５ｄ          画像取得部
９５ｅ          一致度空間取得部
９５ｆ          最終回答選択部
【要約】
【課題】互いに光学特性の異なる複数の領域が１つの検査対象面内に混在している検査対象物についても、クラックを正しく検出する。
【解決手段】画像認識装置１は、検査対象物を明視野照明の下で撮像してなる明視野画像を取得する明視野照明撮像部１０と、同じ検査対象物を暗視野照明の下で撮像してなる暗視野画像を取得する暗視野照明撮像部１２と、明視野画像に基づいて第１のクラック点列を生成するクラック点列生成部１１と、暗視野照明に基づいて第２のクラック点列を生成するクラック点列生成部１３と、第１のクラック点列と第２のクラック点列を連結してなる連結クラック点列を生成するクラック連結部１４とを備える。
【選択図】図１【図１】
0005806786.tif 000025
【図２】
0005806786.tif 000026
【図３】
0005806786.tif 000027
【図４】
0005806786.tif 000028
【図５】
0005806786.tif 000029
【図６】
0005806786.tif 000030
【図７】
0005806786.tif 000031
【図８】
0005806786.tif 000032
【図９】
0005806786.tif 000033
【図１０】
0005806786.tif 000034
【図１１】
0005806786.tif 000035
【図１２】
0005806786.tif 000036
【図１３】
0005806786.tif 000037
【図１４】
0005806786.tif 000038
【図１５】
0005806786.tif 000039
【図１６】
0005806786.tif 000040
【図１７】
0005806786.tif 000041
【図１８】
0005806786.tif 000042
【図１９】
0005806786.tif 000043
【図２０】
0005806786.tif 000044