(57)【特許請求の範囲】
【請求項１】
基準パターンが表示された検索対象範囲の画像データと、前記基準パターンを表す基準画像データとの相関を求め、その結果をもとに前記検索対象範囲から基準パターンを検索するパターン検索方法であって、
前記基準画像データの水平走査方向又は垂直走査方向のいずれか一方に対し、その走査ライン数より少数の複数の特徴ラインを、そのうちの幾つかが前記基準パターンのエッジと交叉するように指定された位置に設定する過程と、
前記検索対象範囲の画像データを取り込む過程と、
前記取り込まれた検索対象範囲の画像データと、前記基準画像データの前記設定された複数の特徴ライン上の画素列との差分相関値をそれぞれ算出し、この特徴ラインごとに算出された各差分相関値を同一画素位置どうしで加算して累積相関値を算出する過程と、
前記算出された累積相関値に基づいて、当該累積相関値が最大となる前記検索対象範囲中の基準パターンの位置を検出する過程と
を具備することを特徴とするパターン検索方法。
【請求項２】
前記相関値を算出する過程は、前記複数の特徴ライン上の画素列を、前記基準パターンのエッジを表現するに必要な間引き率以下で間引き処理する過程をさらに備え、前記撮像手段から取り込んだ検索対象範囲の画像データと、前記間引き処理後の前記特徴ライン上の画素列との相関値を算出することを特徴とする請求項１記載のパターン検索方法。
【請求項３】
基準パターンが表示された検索対象範囲の画像データと、前記基準パターンを表す基準画像データとの相関を求め、その結果をもとに前記検索対象範囲から基準パターンを検索するパターン検索装置であって、
前記基準画像データの水平走査方向又は垂直走査方向のいずれか一方に対し、その走査ライン数より少数の複数の特徴ラインを、そのうちの幾つかが前記基準パターンのエッジと交叉するように指定された位置に設定する手段と、
撮像手段から前記検索対象範囲の画像データを取り込む手段と、
記憶手段から前記基準画像データの前記設定された複数の特徴ライン上の画素列を読み出し、前記撮像手段から取り込んだ検索対象範囲の画像データと、前記読み出した複数の特徴ライン上の画素列との差分相関値をそれぞれ算出し、この特徴ラインごとに算出された各差分相関値を同一画素位置どうしで加算して累積相関値を算出し、相関値記録用メモリに記憶する手段と、
前記相関値記録用メモリから累積相関値を読み出し、この読み出された累積相関値が最大となる前記検索対象範囲中の基準パターンの位置を検出する手段と
を具備することを特徴とするパターン検索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば製造ラインにおいて製造対象物の位置を認識するために使用するパターン検索方法及び装置に関する。
【背景技術】
【０００２】
例えば、半導体ウエハや液晶パネル等の製造工程において、製造対象物に表示されたアライメントマーク等と呼ばれる基準パターンを認識する場合に、パターンマッチング法が使用されている。パターンマッチング法は、検索対象範囲をカメラで撮像してその画像データを予め設定してある基準パターンの画像データと画素ごとに比較し、その一致の度合いから上記画像データ中における基準パターンを検出するものである（例えば、特許文献１を参照。）。
【０００３】
パターンマッチング法において、検索対象範囲の画像データと基準パターンの画像データとの比較処理には相関演算が用いられる。相関演算には、代表的なものとして差分相関と正規化相関がある。  
いま仮に、基準パターンの画像（テンプレート画像）のサイズを水平×垂直＝２５６×２５６画素とし、検索対象範囲を撮像した画像データのサイズを水平×垂直＝１６２８×１２３６画素（ＵＸＧＡ）としたとすると、差分相関値Ｄは  
Ｄ＝Σ｜Ｆij−Ｇij｜
i,j：基準画像の任意の座標  （２５６×２５６座標分の総和を取る）
Ｇij：基準画像ブロックの各画素の輝度値
Ｆij：検索対象画面の比較ブロックの各画素の輝度値
で求まる。
【０００４】
一方、正規化相関値Ｃは、
Ｃ＝Σ(Ｆij−Ｆav)×(Ｇij−Ｇav)／［√Σ(Ｆij―Ｆav)2 ×√Σ(Ｇij―Ｇav)2］
Ｇij：基準画像ブロックの各画素の輝度値
Ｆij：検索対象画面の比較ブロックの各画素の輝度値
Ｆav、Ｇav：ブロックの平均輝度
で求まる。
【０００５】
ところで、相関の度合いとして差分相関値を用いる場合も、また正規化相関値を用いる場合も、以下のスキャンが必要となる。図８はその動作を説明するための図である。  
すなわち、先ず基準パターン画像（テンプレート画像）の中心位置（ｘ，ｙ）を検索対象画像中の画素位置（0，0）に位置決めし、この状態でテンプレート画像と検索対象画像ブロックとの相関値Ｃ0,0を算出する。この相関値Ｃ0,0を算出するには、２５６×２５６クロック分の相関演算処理が必要となる。次にテンプレート画像を検索対象画像中の画素位置（1，0）にシフトして、相関値Ｃ1,0を算出する。この相関値Ｃ1,0を算出する場合にも、上記と同様に２５６×２５６クロック分の相関演算処理が必要となる。以上のテンプレート画像のシフトをその中心位置（ｘ，ｙ）が検索対象画像中の画素位置（1372，980）＝（1628-256，1236-256）になるまで順に行い、各シフト位置においてそれぞれ相関値を算出する。そして、算出されたすべての相関値Ｃ0,0〜Ｃ1372,980の中で最も相関の高い相関値を求め、この最も相関が高い相関値が得られたときのシフト位置を検索対象画像中における基準画像の位置とする。
【０００６】
上記スキャン操作においては、  
（１６２８−２５６）×（１２３６−２５６）×（２５６×２５６）  
＝８８，１１７，０８４，１６０クロック
に相当する回数分の相関演算が必要となる。このとき、１クロックの処理速度を１６２ＭＨｚとした場合でも、パターン検索には  
８８，１１７，０８４，１６０×６．１７ｎｓ＝５４４秒  
を要することになる。このように、テンプレート画像と検索対象画像とのマッチング処理を用いたパターン検索では、テンプレート画像と検索対象画像との相関演算処理が検索対象範囲の全画素を対象に行われるため、パターン検索に膨大な時間が必要となる。
【０００７】
そこで、上記パターン検索の処理時間を短縮する手法の一つとして、ピラミッド法を用いたものが使用されている。ピラミッド法を用いた検索方法は、先ず検索対象範囲の画像データに対し大きい間引き率で間引き処理を施し、この画像が間引かれた画像データに対しテンプレート画像を用いて第一次のパターン検索を行う。そして、この第１のパターン検索によりテンプレート画像との相関の高い検索対象画像のポジションを複数選択して、これを検索対象ポジションの候補とする。次に、この複数の検索対象ポジションに対し、小さい間引き率で間引き処理を施して、その画像データに対しテンプレート画像を用いて第二次のパターン検索を行う。そして、この第二次のパターン検索の結果をもとにさらに候補を絞りこみ、続いて間引き率をさらに下げて第三次のパターン検索を行い、これにより最も相関の高いポジションを検出する。  
このピラミッド法を用いたパターン検索を行えば、画像の間引き率に応じて相関演算の回数を減らすことができ、前述の全画素を対象としてパターン検索する場合に比べて、大幅な時間短縮が図れる。
【特許文献１】特開平１１−１４３９９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところが、ピラミッド法では検索対象画像に対し間引き処理を行うため、あたかもローパスフィルタに通した場合のように高周波成分が失われて検索対象画像データに含まれるエッジ情報が損失することがある。間引き処理する前の原画像データに含まれるエッジ情報は、相関を求める上で重要な役割を担う。また、画像全体の形状を表す上でもエッジ情報は重要な情報となる。このため、上記エッジ情報の損失は誤判定の原因となり検出精度の低下を招く。  
この発明は上記事情に着目してなされたもので、その目的とするところは、検索精度の低下を招くことなく検索時間の短縮を図ったパターン検索装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するためにこの発明の一観点は、基準パターンが表示された検索対象範囲の画像データと、上記基準パターンを表す基準画像データとの相関を求め、その結果をもとに上記検索対象範囲から基準パターンを検索するパターン検索方法にあって、上記基準画像データの水平走査方向又は垂直走査方向のいずれか一方に対しその走査ライン数より少数の複数の特徴ラインを、そのうちの幾つかが前記基準パターンのエッジと交叉するように指定された位置に設定する。そして、撮像手段から上記検索対象範囲の画像データを取り込んで、この取り込んだ検索対象範囲の画像データと、上記基準画像データの上記設定された複数の特徴ライン上の画素列との差分相関値をそれぞれ算出し、この特徴ラインごとに算出された各差分相関値を同一画素位置どうしで加算して累積相関値を算出する。そして、この算出された累積相関値に基づいて当該累積相関値が最大となる上記検索対象範囲中の基準パターンの位置を検出するようにしたものである。  
上記相関値を算出する際には、上記複数の特徴ライン上の画素列に対し上記基準パターンのエッジを表現するに必要な間引き率以下で間引き処理し、この間引き処理後の画素列と検索対象範囲の画像データとの相関演算を行うようにしてもよい。
【発明の効果】
【００１０】
したがってこの発明の一観点によれば、基準画像データの特徴ライン上の画素列と検索対象範囲の画像データとの相関演算のみが行われる。このため、基準画像データの全画素と検索対象範囲の画像データの全画素との相関演算を行う場合に比べて、相関演算量を大幅に減らしてその分パターン検索に要する時間を短縮することができる。一方、特徴ライン上の画素列に対しては基本的に間引き処理を行わないか、または行ったとしても基準パターンのエッジを表現するに必要な間引き率以下で行われ、また検索対象範囲の画像データに対しては間引き処理を行わないので、検索対象範囲の画像データに対し水平走査方向及び垂直走査方向に均一の間引き処理を施した後に基準画像データとの相関を求める場合に比べ、パターン検索の精度を高く保持することが可能となる。  
すなわち、検索精度の低下を招くことなく検索時間の短縮を図ったパターン検索装置を提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照してこの発明の実施形態を説明する。  
（第１の実施形態）  
図１は、この発明の第１の実施形態に係わるパターン検索装置の概略構成図である。この装置は、機構部１と、制御ユニット２と、パーソナル・コンピュータ（ＰＣ）３とを備えている。
【００１２】
機構部１は、ステージ１１と、支持部材１２と、この支持部材１２の先端部に取着されたカメラ１３及び顕微鏡１４とを備える。ステージ１１上には、半導体ウエハやＬＣＤパネル等の電子部品４が載置され、この電子部品４にはアライメントマーク５が印刷等により表示されている。アライメントマーク５は、上記電子部品４の位置を認識するために用いるもので、図示するごとく例えば十字パターンからなる。カメラ１３は例えば工業用テレビジョンカメラからなり、後述する制御ユニット２の制御の下で、上記ステージ１１に載置された電子部品４の上記アライメントマーク５を含む検索対象範囲を上記顕微鏡１４により拡大して撮像し、その画像信号を制御ユニット２へ出力する。
【００１３】
パーソナル・コンピュータ３は、オペレータの入力操作に応じて制御ユニット２に対してパターン検索に必要な種々の制御パラメータを設定する処理や、制御ユニット２により得られたアライメントマーク５または電子部品４の位置の検出結果を表示する処理のために使用される。
【００１４】
ところで、制御ユニット２は上記電子部品４に表示されたアライメントマーク５のパターン検索処理を行うもので、次のように構成される。図２はその構成を示すブロック図である。  
すなわち、制御ユニット２は、空間フィルタ２１と、セレクタ（ＳＥＬ）２２と、クロック変換器２３を備える。空間フィルタ２１は、カメラ１３から出力されさらに図示しないアナログ／ディジタル変換器によりディジタル信号に変換された画像データに対し、輪郭（エッジ）成分を抽出するための画像処理を行う。セレクタ２２は、上記空間フィルタ２１により抽出された輪郭成分の画像データと、上記空間フィルタ２１に入力する前の画像データとを択一的に出力する。クロック変換器２３は、上記セレクタ２２から出力された画像データのクロック速度を、カメラ１３のＣＣＤクロックの速度からさらに高速度のクロック速度に変換する。
【００１５】
また制御ユニット２は、テンプレート画像記録用メモリ２４と、サーチ画像記録用メモリ２５と、相関値記録用メモリ２６と、これらのメモリ２４，２５，２６に対するデータの読み出し及び書き込みを制御するメモリ制御回路２７，２８，２９を備えている。テンプレート画像記録用メモリ２４は、上記カメラ１３により撮像されたアライメントマーク５の基準画像（テンプレート画像）データを記憶するために用いられる。サーチ画像記録用メモリ２５は、上記カメラ１３により撮像された検索対象範囲の画像（サーチ画像）データを記憶するために用いられる。相関値記録用メモリ２６は、後述する差分相関演算回路３１により算出された相関値の累積加算値を記憶するために用いられる。
【００１６】
さらに制御ユニット２は、差分相関演算回路３１と、位置検出回路３２と、ＣＰＵ３３と、ＰＣインタフェース３４とを備えている。差分相関演算回路３１は、上記テンプレート画像記録用メモリ２４に記憶されたテンプレート画像に対しその水平走査ライン数（２５６本）より少数の複数の特徴ライン（例えば８本）を設定する機能を有する。また差分相関演算回路３１は、テンプレート画像とサーチ画像との相関値を算出する回路を有する。この算出回路は、上記テンプレート画像の特徴ラインごとにそのラインデータと１画面分のサーチ画像データとの相関値を算出し、この特徴ラインごとに得られた相関値を順次累積加算する。
【００１７】
図３は、この相関値を算出する回路の構成の一例を示すものである。この算出回路は、特徴ラインの１ラインデータが２５６画素からなる場合の構成を例示したもので、特徴ラインデータを保持するための２５６画素分のバッファ４１と、サーチ画像データをシフトする２５６画素分のシフトレジスタ４２と、２５６画素分の差分回路４３と、加算回路４４とから構成される。
【００１８】
特徴ラインデータ保持用のバッファ４１は、テンプレート画像記録用メモリ２４から読み出された１ライン（２５６画素）分の特徴ラインデータをクロックＣＫG に同期して保持し、この保持された１ライン分の特徴ラインデータＧs0〜Ｇs255を差分回路４３へ出力する。シフトレジスタ４２には、サーチ画像記録用メモリ２５から読み出される１画面分のサーチ画像データがクロックＣＫF に同期して直列に順次シフト入力される。そして、１画素がシフト入力されるごとに、シフトレジスタ４２は２５６画素分の画像データＦ0〜Ｆ255を並列にシフト出力する。
【００１９】
差分回路４３は、上記シフトレジスタ４２にサーチ画像データが１画素シフト入力されるごとに、当該シフトレジスタ４２から並列出力される２５６画素分のサーチ画像データＦ0〜Ｆ255と、上記テンプレート画像記録用メモリ２４から出力される１ライン（２５６画素）分の特徴ラインデータＧs0〜Ｇs255との差分相関値｜Ｆ0−Ｇs0｜〜｜Ｆ255−Ｇs255｜を画素ごとに算出する。そして、この算出された２５６画素分の差分相関値｜Ｆ0−Ｇs0｜〜｜Ｆ255−Ｇs255｜を加算回路４４へ出力する。
【００２０】
加算回路４４は、テンプレート画像データの最初の特徴ラインデータとサーチ画像データの１画面分のデータとの差分相関値については、これをそのまま相関値記録用メモリ２６に記憶させる。そして、テンプレート画像データの２番目以降の特徴ラインデータとサーチ画像データとの差分相関値が上記差分回路４３から出力されると、上記相関値記録用メモリ２６から同一画素位置の差分相関値を読み出してこれに上記差分相関値を加算し、この加算後の差分相関値Σ｜Ｆ−Ｇs｜を相関値記録用メモリ２６に記憶させる。
【００２１】
位置検出回路３２は、テンプレート画像データのすべての特徴ラインとサーチ画像データとの差分相関値Ｄの算出処理が終了すると、上記相関値記録用メモリ２６から累積相関値Σ｜Ｆ−Ｇs｜を読み出し、その値から累積相関値Ｄが最大となるサーチ画像データ上の位置座標を検出する。そして、この検出した位置座標情報をＣＰＵ３３に渡す。ＣＰＵ３３は、上記位置座標情報をもとにパターン検索結果を表す表示データを作成し、この表示データをＰＣインタフェース３４を介してパーソナル・コンピュータ３へ転送し表示させる。
【００２２】
次に、以上のように構成されたパターン検索装置の動作を説明する。  
（１）テンプレート画像データの登録と特徴ラインの設定  
オペレータは、先ずアライメントマーク５が印刷または刻印等により表示されたサンプル電子部品をステージ１１上にセットし、この状態でパーソナル・コンピュータ３においてテンプレート画像を登録させるための操作を行う。
【００２３】
そうするとパーソナル・コンピュータ３から制御ユニット２に対しテンプレート画像の登録指示コマンドが送られ、このコマンドに応じ顕微鏡１４及びカメラ１３が動作して上記アライメントマーク５が表示されたサンプル電子部品が撮像される。このカメラ１３により撮像された上記アライメントマーク５を含むサンプル電子部品の画像データは、空間フィルタ２１で輪郭成分が抽出され、さらにクロック変換回路２３により速度変換されたのち、メモリ制御回路２７の制御の下でテンプレート画像記録用メモリ２４にテンプレート画像データＶG として記憶される。
【００２４】
なお、上記テンプレート画像データＶGの登録過程において、カメラ２１により撮像されたアライメントマーク５を含むサンプル電子部品の画像データ、及び空間フィルタ２１により輪郭成分が抽出された画像データは、セレクタ２２により択一的に切り替えられてＰＣインタフェース３４からパーソナル・コンピュータ３に転送され、表示される。このためオペレータは、上記表示画像を見ながらサンプル電子部品の位置調整や輝度調整等を行うことができる。
【００２５】
次に、オペレータはパーソナル・コンピュータ３において特徴ラインの数と位置を指定入力する。そうすると、この入力された特徴ラインの数及び位置を表す情報がパーソナル・コンピュータ３から制御ユニット２に送られ、ＣＰＵ３３内のメモリに保存される。例えば、図５に示すようにテンプレート画像データＶG に対し８本の特徴ラインＬ１〜Ｌ８を設定し、かつこれらの特徴ラインＬ１〜Ｌ８の幾つかがアライメントマーク画像ＶM のエッジと交差するように位置を設定する。  
なお、上記特徴ラインＬ１〜Ｌ８の数及び位置はテンプレート画像ごとに設定せずに、想定される複数のテンプレート画像ＶGに対し共通に使用できるように予め設定した初期値をＣＰＵ３３内のメモリに保存しておくようにしてもよい。
【００２６】
（２）パターン検索処理  
オペレータがパーソナル・コンピュータ３においてパターン検索開始指示を入力すると、パターン検索開始コマンドがパーソナル・コンピュータ３から制御ユニット２に送られ、これにより制御ユニット２によりパターン検索処理が開始される。
【００２７】
すなわち、ステージ１１上にセットされた電子部品４にはアライメントマーク５が表示されており、このアライメントマーク５を含む検索対象範囲が顕微鏡１４を介してカメラ１３により撮像される。このカメラ１３により撮像された上記検索対象範囲の画像データは、空間フィルタ２１により輪郭成分が抽出され、さらにクロック変換回路２３により速度変換されたのち、メモリ制御回路２８の制御の下でサーチ画像記録用メモリ２５にサーチ画像データＶF として記憶される。
【００２８】
サーチ画像データＶFが記憶されると、ＣＰＵ３３の制御の下で、差分相関演算回路３１において次のように上記テンプレート画像データＶGとサーチ画像データＶFとの差分相関演算処理が行われる。図４は、この差分相関演算回路３１の動作タイミングを示す図である。
【００２９】
すなわち、メモリ制御回路２７の制御の下で、テンプレート画像記録用メモリ２４から先ずテンプレート画像ＶGの特徴ラインＬ１上の画像データ（２５６画素）Ｇs0〜Ｇs255が読み出され、この読み出された特徴ラインＬ１上の画像データ（２５６画素）Ｇs0〜Ｇs255がクロックＣＫG に同期してバッファ４１に保持される。
【００３０】
またそれと並行して、メモリ制御回路２８の制御の下でサーチ画像記録用メモリ２５から１画面分のサーチ画像データＶF が直列に順次読み出され、この読み出されたサーチ画像データＶFがクロックＣＫF に同期してシフトレジスタ４２に直列にシフト入力される。そして、シフトレジスタ４２に２５６画素分のサーチ画像データＦ0〜Ｆ255がシフト入力されると、この２５６画素分のサーチ画像データＦ0〜Ｆ255と上記バッファ４１に保持された特徴ラインＬ１の画像データ（２５６画素）Ｇs0〜Ｇs255との差分相関値｜Ｆ0−Ｇs0｜〜｜Ｆ255−Ｇs255｜が差分回路４３において算出され、この算出された差分相関値｜Ｆ0−Ｇs0｜〜｜Ｆ255−Ｇs255｜が加算回路４４を通過して相関値記録用メモリ２６に記憶される。
【００３１】
続いてシフトレジスタ４２にサーチ画像データＶFの２５７番目の画素Ｆ256がシフト入力されると、サーチ画像データＦ1〜Ｆ256と上記バッファ４１に保持された特徴ラインＬ１の画像データ（２５６画素）Ｇs0〜Ｇs255との差分相関値｜Ｆ1−Ｇs0｜〜｜Ｆ256−Ｇs255｜が差分回路４３において算出され、この算出された差分相関値｜Ｆ1−Ｇs0｜〜｜Ｆ256−Ｇs255｜が加算回路４４を通過して相関値記録用メモリ２６に記憶される。
【００３２】
以後同様に、シフトレジスタ４２にサーチ画像データＶFの２５８番目以降の画素Ｆ257，Ｆ258，…がシフト入力されるごとに、このシフトレジスタ４２に入力された２５６画素のサーチ画像データと上記バッファ４１に保持された特徴ラインＬ１の画像データ（２５６画素）との差分相関値が差分回路４３で算出され、この算出された差分相関値が相関値記録用メモリ２６に記憶される。そして、図４に示すように（１６２８×１２３６）番目の画素がシフトレジスタ４２に入力され、このときのシフトレジスタ４２の２５６画素のサーチ画像データとバッファ４１に保持された特徴ラインＬ１の画像データ（２５６画素）との差分相関値が相関値記録用メモリ２６に記憶されると、特徴ラインＬ１と１画面分のサーチ画像データＶFとの相関演算処理は終了する。
【００３３】
次に、テンプレート画像記録用メモリ２４からテンプレート画像の特徴ラインＬ２上の画像データ（２５６画素）Ｇs0〜Ｇs255が読み出され、この読み出された特徴ラインＬ２上の画像データ（２５６画素）Ｇs0〜Ｇs255がクロックＣＫG に同期してバッファ４１に保持される。
【００３４】
またそれと並行して、上記特徴ラインＬ１の場合と同様にサーチ画像記録用メモリ２５から１画面分のサーチ画像データＶFが直列に順次読み出され、この読み出されたサーチ画像データＶFがクロックＣＫF に同期してシフトレジスタ４２に直列にシフト入力される。そして、シフトレジスタ４２に２５６画素分のサーチ画像データＦ0〜Ｆ255がシフト入力されると、この２５６画素分のサーチ画像データＦ0〜Ｆ255と上記バッファ４１に保持された特徴ラインＬ２の画像データ（２５６画素）Ｇs0〜Ｇs255との差分相関値｜Ｆ0−Ｇs0｜〜｜Ｆ255−Ｇs255｜が差分回路４３において算出される。
【００３５】
またこのとき、メモリ制御回路２９の制御の下で、特徴ラインＬ１のときに算出された同一位置の差分相関値が相関値記録用メモリ２６から読み出される。そして、加算回路４５において、上記差分回路４３により算出された特徴ラインＬ２のときの差分相関値｜Ｆ0−Ｇs0｜〜｜Ｆ255−Ｇs255｜が、上記読み出された特徴ラインＬ１のときの差分相関値｜Ｆ0−Ｇs0｜〜｜Ｆ255−Ｇs255｜に画素単位で加算され、この加算後の差分相関値が相関値記録用メモリ２６に記憶される。
【００３６】
以後同様に、シフトレジスタ４２にサーチ画像データの２５８番目以降の画素Ｆ257，Ｆ258，…がシフト入力されるごとに、このシフトレジスタ４２に入力された２５６画素のサーチ画像データと上記バッファ４１に保持された特徴ラインＬ２の画像データ（２５６画素）との差分相関値が差分回路４３で算出される。そして、この算出された差分相関値が相関値記録用メモリ２６から読み出された特徴ラインＬ１のときの同一位置における差分相関値に加算回路４４で加算され、この加算後の差分相関値が相関値記録用メモリ２６に記憶される。
【００３７】
以下同様に、特徴ラインＬ３，Ｌ４，…，Ｌ８ごとに、その２５６画素のラインデータと１画面分のサーチ画像データＶFとの差分相関値が算出される。そして、この算出された差分相関値が、一つ前の特徴ラインまでに得られた差分相関の累積加算値に順次加算され、この加算後の差分相関の累積加算値が相関値記録用メモリ２６に記憶される。かくして、最終的に相関値記録用メモリ２６には、特徴ラインＬ１〜Ｌ８と１画面分のサーチ画像データＶFとの差分相関の累積加算値Ｄ＝Σ｜Ｆ−Ｇs｜が記憶される。
【００３８】
なお、上記説明では簡単のため、特徴ラインＬ１〜Ｌ８と１画面分のサーチ画像データＶFとの相関値を算出するものとしたが、実際には特徴ラインＬ１〜Ｌ８とサーチ画像データとの相関演算は、図５に示すようにテンプレート画像ＶG を１ブロックとしてブロック単位で行われるため、１画面中の左側及び右側の各１２８画素分の領域と、画面上部及び下部の各１２８ライン分の領域は検索対象外となる。
【００３９】
以上のようにすべての特徴ラインＬ１〜Ｌ８と１画面分のサーチ画像データＶFとの間の最終的な差分相関の累積加算値Ｄ＝Σ｜Ｆ−Ｇs｜が得られると、メモリ制御回路２９の制御の下で相関値記録用メモリ２６から上記最終的な差分相関の累積加算値Ｄ＝Σ｜Ｆ−Ｇs｜が読み出される。そして、位置検出回路３２において、上記最終的な差分相関の累積加算値Ｄ＝Σ｜Ｆ−Ｇs｜から差分相関値が最大値をとる位置座標が検出される。そして、ＣＰＵ３３において上記検出された位置座標をもとにパターン検索結果を表す表示データが作成され、この表示データがＰＣインタフェース３４を介してパーソナル・コンピュータ３に送られて表示される。また、上記位置座標の検出データは、電子部品４の加工、組み立てまたは検査工程において、位置決めの指標として用いられる。
【００４０】
以上説明したようにこの発明の第１の実施形態では、テンプレート画像記録用メモリ２４に記憶されたテンプレート画像データＶG に対しその水平走査ライン数（２５６本）より少数の８本の特徴ラインＬ１〜Ｌ８を設定する。そして、このテンプレート画像データに対し設定した特徴ラインＬ１〜Ｌ８ごとに、そのラインデータと１画面分のサーチ画像データＶF との差分相関値を算出し、この特徴ラインＬ１〜Ｌ８ごとに得られた差分相関値｜Ｆ−Ｇs｜を画像の位置座標を合わせて順次累積加算するようにしている。
【００４１】
したがって、テンプレート画像データＶG に対し設定した８本の特徴ラインＬ１〜Ｌ８上の画素列と、検索対象範囲のサーチ画像データＶF との相関演算処理のみが行われる。このため、テンプレート画像データＶGの全画素と検索対象範囲のサーチ画像データＶF の全画素との相関演算を行う場合に比べて、相関演算量を大幅に減らしてその分パターン検索に要する時間を短縮することができる。
【００４２】
例えば、図５に示したように検索対象範囲の画像データ（サーチ画像データ）のサイズを１６２８×１２３６画素とし、テンプレート画像データのサイズを２５６×２５６画素とし、特徴ライン数を８本とすると、相関演算に必要なクロック数は  
（１６２８−２５６）×（１２３６−２５６）×８  
＝１０，７５６，４８０  
となり、このクロック数分の演算処理が必要となる。ここで、１クロックの処理速度を１６２ＭＨｚとした場合、パターン検索に要する時間は  
１０，７５６，４８０×６．１７ｎｓｅｃ  
＝６６ｍ秒  
となり、従来方法に比べ大幅な時間短縮が可能となる。
【００４３】
また第１の実施形態では、特徴ラインＬ１〜Ｌ８上の２５６画素の画素列に対しては間引き処理を行わず、また検索対象範囲のサーチ画像データＶF に対しても間引き処理を行わないで、相関演算処理を行っている。このため、検索対象範囲のサーチ画像データＶF に対し水平走査方向及び垂直走査方向に均一の間引き率で間引き処理を施した後にテンプレート画像データＶG との相関を求める場合に比べ、パターン検索の精度を高く保持することが可能となる。
【００４４】
例えば、アライメントマーク５のエッジの幅は、１／８を超える間引き率で間引き処理をすると認識できなくなることがある。しかし、第１の実施形態では特徴ラインＬ１〜Ｌ８の水平走査方向の画素に対しては間引き処理を行っていないので、図６に示すようにアライメントマーク５のエッジ情報をもれなく検出することができる。
【００４５】
また第１の実施形態では、差分相関演算回路３１を、テンプレート画像データＶGの特徴ラインＬ１〜Ｌ８の１ラインデータを保持する２５６画素分のバッファ４１と、１画面分のサーチ画像データが直列に順次シフト入力されるシフトレジスタ４２と、このシフトレジスタ４２にサーチ画像データが１画素シフト入力されるごとに、当該シフトレジスタ４２から並列出力される２５６画素分のサーチ画像データと、上記テンプレート画像記録用メモリ２４から出力される１ライン（２５６画素）分の特徴ラインデータとの差分相関値を算出する差分回路４３と、特徴ラインＬ３，Ｌ４，…，Ｌ８ごとに上記差分回路４３で得られた差分相関値を順次累積加算する加算回路４４とから構成している。
【００４６】
したがって、バッファ４１に一旦保持させると特徴ラインＬ１〜Ｌ８の１ラインデータをシフトさせる必要がなく、サーチ画像データＶF のみをシフトレジスタ４２にシフト入力するだけで相関演算処理が行われる。このため、相関演算処理を少ない処理手順及び小規模のハードウエアにより高速に行うことができる。ちなみに、従来の相関演算方法では、テンプレート画像のデータブロックを１画素シフトするごとにサーチ画像データの対応するブロック位置の画像データを走査して相関演算を行う必要があり、処理手順が多くなると共に回路構成の大型化が避けられない。
【００４７】
（他の実施形態）  
第１の実施形態では、特徴ラインＬ１〜Ｌ８の１ラインデータに対しては間引き処理を行わずにサーチ画像データＶF と相関演算する場合を例にとって説明した。しかし、それに限るものではなく、アライメントマーク５のエッジを表現するに必要な間引き率以下であれば、特徴ラインＬ１〜Ｌ８の１ラインデータに対し間引き処理を行ってもよい。例えば、特徴ラインＬ１〜Ｌ８の１ラインデータを間引き率１／８で間引き処理する。このようにすると、間引き処理を行わない場合（図６の場合）に比べ分解能は低下するが、図７に例示したようにエッジ情報を検出することが可能である。  
このように特徴ラインＬ１〜Ｌ８の１ラインデータに対し間引き処理を行うことで、エッジの検出性能を必要最低限維持した上で、相関演算の回数をさらに減らしてパターン検索処理のさらなる高速化を実現できる。
【００４８】
また、特徴ラインの設定手法としては、他に次のような各種手法が考えられる。  
第１の手法は、特徴ライン数を８本とした場合に、テンプレート画像データを均等に８分割し、この分割されたそれぞれの領域において水平ラインごとのエッジ成分を積分する。そして、その積分値が最大値をとる水平ラインをそれぞれの領域ごとに選択し、この選択した水平ラインを特徴ラインとして設定するものである。
【００４９】
第２の手法は、テンプレート画像データを均等に８分割し、この分割されたそれぞれの領域において、垂直方向のエッジ成分において最も大きいエッジ成分を求める。そして、そのエッジの変化点（変曲点）に位置する水平ラインを選択し、この選択した水平ラインをその領域における特徴ラインとして設定するものである。  
第３の手法は、テンプレート画像データを均等に８分割し、この分割されたそれぞれの領域において、隣り合う領域との境界に位置する水平ラインをそのまま特徴ラインとして選択し、設定するものである。
【００５０】
さらに、第１の実施形態では水平走査ラインの中から選択した少数の水平ラインを特徴ラインとして設定したが、それ以外に垂直走査方向の２５６個の画素列の中からそれより少数の画素列（例えば８本）を選択し、この選択した画素列を特徴ラインとして設定するようにしてもよい。
【００５１】
さらに、特徴ラインはテンプレート画像データに対し均等に設定せずに、アライメントマーク画像が存在する領域を探して、この領域にのみアライメントマークのエッジと交差するように設定するようにしてもよい。また、第１の実施形態では差分相関を用いたが、正規化相関を用いてもよい。
【００５２】
その他、制御ユニットの構成、差分相関演算回路の回路構成、テンプレート画像データ及びサーチ画像データのサイズ、特徴ラインの設定数、アライメントマークの形状、パターン検索結果の用途等についても、この発明の要旨を逸脱しない範囲で種々変形して実施できる。
【００５３】
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００５４】
【図１】この発明の第１の実施形態に係わるパターン検索装置の全体構成を示す図である。
【図２】図１に示したパターン検索装置の制御ユニットの構成を示すブロック図である。
【図３】図２に示した制御ユニットの差分相関演算回路の回路構成を示す図である。
【図４】図３に示した差分相関演算回路の動作説明に用いるタイミング図である。
【図５】図２に示した制御ユニットによるパターン検索動作を説明するための図である。
【図６】図２に示した制御ユニットによるパターン検索動作の効果を説明するための図である。
【図７】この発明の他の実施形態に係わるパターン検索装置の動作を説明するための図である。
【図８】ピラミッド法を用いたパターン検索動作を説明するための図である。
【符号の説明】
【００５５】
１…機構部、２…制御ユニット、３…パーソナル・コンピュータ（ＰＣ）、４…電子部品、５…アライメントマーク、１１…ステージ、１２…支持部材、１３…カメラ、１４…顕微鏡、２１…空間フィルタ、２２…セレクタ（ＳＥＬ）、２３…クロック変換回路、２４…テンプレート画像記録用メモリ、２５…サーチ画像記録用メモリ、２６…相関値記録用メモリ、２７，２８，２９…メモリ制御回路、３１…差分相関演算回路、３２…位置検出回路、３３…ＣＰＵ、３４…ＰＣインタフェース、４１…特徴ラインデータ保持用のバッファ、４２…シフトレジスタ、４３…差分回路、４４…加算回路、ＶG …テンプレート画像データ、ＶF 検索対象範囲のサーチ画像データ、ＶM …アライメントマーク画像データ、Ｇs …特徴ラインの画素。
【図１】
0005005482.tif 000002
【図２】
0005005482.tif 000003
【図３】
0005005482.tif 000004
【図４】
0005005482.tif 000005
【図５】
0005005482.tif 000006
【図６】
0005005482.tif 000007
【図７】
0005005482.tif 000008
【図８】
0005005482.tif 000009