(57)【特許請求の範囲】
【請求項１】
予め登録された所定のパターン画像を、サーチの対象となる入力画像中から検索するパターンマッチング方法にピラミッド構造サーチを使用したパターンマッチング方法において、
前記ピラミッド構造サーチを行うために必要な設定パラメータの候補として、少なくとも、
ピラミッド構造サーチの階層数を示すステップ数と、
各ステップにおける入力画像の縮小率と、
各ステップにおいて、入力画像からパターン画像の候補を幾つ検索するかを示す検索個数と、
を、入力画像及び／又はパターン画像に基づいて複数演算すると共に、ユーザにこれらの設定パラメータ候補を調整可能とさせる工程と、
前記演算された複数の設定パラメータ候補と、ピラミッド構造サーチの階層である各ステップに対する予想される処理時間を表示する工程と、
を有するピラミッド構造サーチを使用したパターンマッチング方法。
【請求項２】
前記演算された複数の設定パラメータ候補群を比較できるように一覧形式で表示可能であることを特徴とする請求項１記載のピラミッド構造サーチを使用したパターンマッチング方法。
【請求項３】
前記設定パラメータとしてさらに、類似度が高くこれ以上の検索を行う必要のない限度を示す検出しきい値を含むことを特徴とする請求項１又は２に記載のピラミッド構造サーチを使用したパターンマッチング方法。
【請求項４】
前記設定パラメータとしてさらに、パターン画像又は入力画像を回転させてスキャンする場合の角度幅を含むことを特徴とする請求項１から３のいずれか一に記載のピラミッド構造サーチを使用したパターンマッチング方法。
【請求項５】
前記設定パラメータとしてさらに、位置補間を行うか否かを示す位置補間の有無を含むことを特徴とする請求項１から４のいずれか一に記載のピラミッド構造サーチを使用したパターンマッチング方法。
【請求項６】
前記設定パラメータとしてさらに、パターン画像又は入力画像を回転させてスキャンする場合の角度補間の有無を含むことを特徴とする請求項４又は５に記載のピラミッド構造サーチを使用したパターンマッチング方法。
【請求項７】
前記設定パラメータとしてさらに、類似度が悪く検索対象としない限度を示す下限値を特定したものを含むことを特徴とする請求項１から６のいずれか一に記載のピラミッド構造サーチを使用したパターンマッチング方法。
【請求項８】
各ステップに対する予想される処理に要する時間が、平均処理時間、最小処理時間、最大処理時間の少なくともいずれかであることを特徴とする請求項１から７のいずれか一に記載のピラミッド構造サーチを使用したパターンマッチング方法。
【請求項９】
ピラミッド構造サーチを使用したパターンマッチングを行う画像検出回路において、前記画像検出回路は、
外部から画像データを入力し保持する入力画像記憶部(1)と、
サーチすべきパターン画像を記憶するパターン画像記憶部(2)と、
前記入力画像記憶部(1)およびパターン画像記憶部(2)に接続されて各々の画像データを読み取り、パターンマッチングを行う画像処理部(3)と、
前記画像処理部(3)でピラミッド構造サーチを行うために必要な設定パラメータの候補として、少なくとも、
ピラミッド構造サーチの階層数を示すステップ数と、
各ステップにおける入力画像の縮小率と、
各ステップにおいて、入力画像からパターン画像の候補を幾つ検索するかを示す検索個数と、
を、入力画像及び／又はパターン画像に基づいて複数演算すると共に、ユーザにこれらの設定パラメータ候補を調整可能とさせるための制御部(4)と、
前記制御部(4)で演算された設定パラメータの候補群と、ピラミッド構造サーチの階層である各ステップに対する予想される処理時間を一覧表示する表示部(5)と、
前記表示部(5)で表示される設定パラメータ候補群に基づいて設定パラメータの値を変更可能な入力部(6)と、
を備えることを特徴とする画像検出回路。
【請求項１０】
ピラミッド構造サーチを使用したパターンマッチングを行う画像処理プログラムにおいて、コンピュータを、
入力画像のデータを保持する入力画像記憶手段と、
サーチすべきパターン画像のデータを記憶するパターン画像記憶手段と、
入力画像データおよびパターン画像データを読み取り、パターンマッチングを行う画像処理手段と、
前記画像処理手段でピラミッド構造サーチを行うために必要な設定パラメータの候補として、少なくとも、
ピラミッド構造サーチの階層数を示すステップ数と、
各ステップにおける入力画像の縮小率と、
各ステップにおいて、入力画像からパターン画像の候補を幾つ検索するかを示す検索個数と、
を、入力画像及び／又はパターン画像に基づいて複数演算すると共に、ユーザにこれらの設定パラメータ候補を調整可能とさせるための制御手段と、
前記制御手段で演算された設定パラメータの候補群と、ピラミッド構造サーチの階層である各ステップに対する予想される処理時間を一覧表示する表示手段と、
前記表示手段で表示される設定パラメータ候補群に基づいて設定パラメータの値を変更可能な入力手段と、
して機能させることを特徴とする画像処理プログラム。
【請求項１１】
請求項１０に記載される前記画像処理プログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば位置検出などに利用される画像処理に関する技術であって、予め登録された所定のパターン画像を、サーチの対象となる入力画像中から検索するパターンマッチング方法にピラミッド構造サーチを使用したパターンマッチング方法もしくはパターンサーチに関する技術であり、具体的にはピラミッド構造サーチに必要な設定パラメータを表示するパターンマッチング方法、パターンマッチングを行う画像検出回路、パターンマッチングを行う画像処理プログラムならびにコンピュータで読み取り可能な記憶媒体に関する。
【０００２】
【従来の技術】
画像処理は、工場における電子部品の製造や実装など、様々な分野で使用されている。特に、ビデオなどで撮像した映像をデータ化して、この中から所望のパターンを探し出すパターンマッチングは、位置決めなどの用途で利用されている。パターンマッチングの例を図１に示す。図１に示す入力画像は、領域を複数の画素Ｇに分割したマトリックス状の配列で構成している。この図に示すように、入力画像のエリアＳＡ１を予め登録されたパターン画像ＲＦ１を移動させながらマッチングを行い、検出したい画像ＯＢの位置する座標を求める。
【０００３】
パターンマッチング方法は、実用的な使用を考えると高速化が必須となる。パターンマッチングでは、処理対象の画像データをすべての領域で精査するサーチを行うと膨大な時間を要する。このため、処理時間を短縮する何らかの手段が必要となる。中でも、ピラミッド構造サーチと呼ばれる手法は、処理を複数段階に分けて実行する手法であり、要処理時間を短縮できる手法として利用されている。
【０００４】
ピラミッド構造サーチは、例えば特公平７−３７８９３号公報などに記載されている。ピラミッド構造サーチは、まずパターンマッチング方法の対象となる画像を圧縮し、圧縮画像に対して粗処理を行い、所望のパターンの存在する座標位置を検出する。その後、検出された座標の近辺において、詳細処理を行い、さらに正確な位置を検出する。このように、粗いサーチを行って大体の位置を特定し、この結果に基づいて特定された範囲に詳細なサーチを行うことにより、画像全体にわたって詳細なサーチを行うことなく、必要な部分のみを順次精査していくことによって全体の処理時間を短縮している。
【０００５】
【発明が解決しようとする課題】
ピラミッド構造サーチにおいて、処理速度と処理精度はトレードオフの関係にある。一般にサーチの階層を増すと速度を速くすることができるが、精度は低下する傾向にある。したがって、個別の画像処理に適した階層数を設定する必要がある。さらにその他演算に必要な複数のパラメータを設定してやる必要もある。これら複数のパラメータをユーザにすべて設定させることは困難であるため、従来ピラミッドサーチによってパターンマッチングを行う場合は、画像検出回路側でコンピュータなどにより要処理時間を演算し、最適と思われるパラメータを自動的に決定することが行われてきた。
【０００６】
しかしながら、この方法では、装置側で演算したパラメータのみで画像処理が自動的に固定されてしまい、ユーザ側で各設定を調整、変更することができなかった。多くの画像検出回路では、自動的に演算されたパラメータ群が一義的に決定され、この設定内容に固定されてしまう。したがって、ユーザ側でこれを変更することができず、設定の自由度が与えられていなかった。設定された内容は、表示されてユーザに通知されるものもあれば、パラメータ値がユーザに知らされることなく自動設定されるものもある。この場合は、ユーザにパラメータに関する情報が提示されないため、仮にユーザが設定内容を変更しようとしても、これを実現するための情報を確認することができなかった。
【０００７】
さらに、このようにして自動算出された値は、必ずしもユーザの使用状況に応じた最適なパラメータ値であるとは限らない。特にパターンマッチング方法においては、パラメータの演算は予め登録された所定の画像に基づいて行われている。このため、実際に入力される様々な画像データの変化に柔軟に対応して最適なパラメータが演算されるとは限らない。
【０００８】
さらにまた、パターンマッチングに際しては、被検査対象物の反射率が悪い場合やノイズの発生、照明の変動などに応じて、ユーザが設定内容の一部もしくは全部を変更したいこともある。例えば、設定されたパラメータ値でパターンマッチングを実行した後、結果に応じて設定内容を調整したいこともある。このような要望に応えるためには、ユーザに対して算出されたパラメータ候補群を表示すると共に、各パラメータを変更可能とする必要がある。さらに、一組のパラメータ群のみを表示するのでなく、複数の候補群を表示してユーザの希望に応じて最適な組を選択させる、あるいは適当な値を組み合わせるなどが実現できる環境とすれば、より便利に使用することができる。
【０００９】
本発明は、このような問題点に鑑みてユーザの要望に応えるために開発されたものである。本発明の主な目的は、算出された各パラメータ値をユーザに通知してユーザが所望の設定を行う際の参考に資すると共に、各値を調整可能なピラミッド構造サーチを使用したパターンマッチング方法、画像検出回路、画像処理プログラムおよびコンピュータで読み取り可能な記憶媒体を提供することにある。
【００１０】
【課題を解決するための手段】
上記目的を実現するために、本発明のピラミッド構造サーチを使用したパターンマッチング方法は、予め登録された所定のパターン画像を、サーチの対象となる入力画像中から検索するパターンマッチング方法にピラミッド構造サーチを使用した方法に関するものである。このピラミッド構造サーチを使用したパターンマッチング方法は、前記ピラミッド構造サーチを行うために必要な設定パラメータの候補として、少なくとも、ピラミッド構造サーチの階層数を示すステップ数と、各ステップにおける入力画像の縮小率と、各ステップにおいて、入力画像からパターン画像の候補を幾つ検索するかを示す検索個数とを、入力画像及び／又はパターン画像に基づいて複数演算すると共に、ユーザにこれらの設定パラメータ候補を調整可能とさせる工程と、前記演算された複数の設定パラメータ候補と、ピラミッド構造サーチの階層である各ステップに対する予想される処理時間を表示する工程とを有する。
【００１１】
また、本発明の請求項２に記載されるピラミッド構造サーチを使用したパターンマッチング方法は、請求項１に記載される特徴に加えて、前記演算された複数の設定パラメータ候補群を比較できるように一覧形式で表示可能であることを特徴とする。
【００１２】
さらに、本発明の請求項３に記載されるピラミッド構造サーチを使用したパターンマッチング方法は、請求項１または２に記載される特徴に加えて、前記設定パラメータとしてさらに、類似度が高くこれ以上の検索を行う必要のない限度を示す検出しきい値を含むことを特徴とする。
【００１３】
さらにまた、本発明の請求項４に記載されるピラミッド構造サーチを使用したパターンマッチング方法は、請求項１から３のいずれかに記載される特徴に加えて、前記設定パラメータとしてさらに、パターン画像又は入力画像を回転させてスキャンする場合の角度幅を含むことを特徴とする。
【００１４】
さらにまた、本発明の請求項５に記載されるピラミッド構造サーチを使用したパターンマッチング方法は、請求項１から４のいずれか一に記載される特徴に加えて、前記設定パラメータとしてさらに、位置補間を行うか否かを示す位置補間の有無を含むことを特徴とする。
さらにまた、本発明の請求項６に記載されるピラミッド構造サーチを使用したパターンマッチング方法は、請求項４又は５に記載される特徴に加えて、前記設定パラメータとしてさらに、パターン画像又は入力画像を回転させてスキャンする場合の角度補間の有無を含むことを特徴とする。
さらにまた、本発明の請求項７に記載されるピラミッド構造サーチを使用したパターンマッチング方法は、請求項１から６のいずれか一に記載される特徴に加えて、前記設定パラメータとしてさらに、類似度が悪く検索対象としない限度を示す下限値を特定したものを含むことを特徴とする。
さらにまた、本発明の請求項８に記載されるピラミッド構造サーチを使用したパターンマッチング方法は、請求項１から７のいずれか一に記載される特徴に加えて、各ステップに対する予想される処理に要する時間が、平均処理時間、最小処理時間、最大処理時間の少なくともいずれかであることを特徴とする。
【００１５】
また、本発明の請求項９に記載されるピラミッド構造サーチを使用したパターンマッチングを行う画像検出回路は、外部から画像データを入力し保持する入力画像記憶部１と、サーチすべきパターン画像を記憶するパターン画像記憶部２と、前記入力画像記憶部１およびパターン画像記憶部２に接続されて各々の画像データを読み取り、パターンマッチングを行う画像処理部３と、前記画像処理部３でピラミッド構造サーチを行うために必要な設定パラメータの候補として、少なくとも、ピラミッド構造サーチの階層数を示すステップ数と、各ステップにおける入力画像の縮小率と、各ステップにおいて、入力画像からパターン画像の候補を幾つ検索するかを示す検索個数と、を、入力画像及び／又はパターン画像に基づいて複数演算すると共に、ユーザにこれらの設定パラメータ候補を調整可能とさせるための制御部４と、前記制御部４で演算された設定パラメータの候補群と、ピラミッド構造サーチの階層である各ステップに対する予想される処理時間を一覧表示する表示部５と、前記表示部５で表示される設定パラメータ候補群に基づいて設定パラメータの値を変更可能な入力部６とを備えることを特徴とする。
【００１６】
また、本発明の請求項１０に記載されるピラミッド構造サーチを使用したパターンマッチングを行う画像処理プログラムは、コンピュータを、入力画像のデータを保持する入力画像記憶手段と、サーチすべきパターン画像のデータを記憶するパターン画像記憶手段と、入力画像データおよびパターン画像データを読み取り、パターンマッチングを行う画像処理手段と、前記画像処理手段でピラミッド構造サーチを行うために必要な設定パラメータの候補として、少なくとも、ピラミッド構造サーチの階層数を示すステップ数と、各ステップにおける入力画像の縮小率と、各ステップにおいて、入力画像からパターン画像の候補を幾つ検索するかを示す検索個数とを、入力画像及び／又はパターン画像に基づいて複数演算すると共に、ユーザにこれらの設定パラメータ候補を調整可能とさせるための制御手段と、前記制御手段で演算された設定パラメータの候補群と、ピラミッド構造サーチの階層である各ステップに対する予想される処理時間を一覧表示する表示手段と、前記表示手段で表示される設定パラメータ候補群に基づいて設定パラメータの値を変更可能な入力手段として機能させることを特徴とする。このプログラムは、ネットワークを介してダウンロード可能な形態も含まれる。
【００１７】
さらにまた、本発明の請求項１１に記載されるコンピュータで読み取り可能な記録媒体は、前記請求項１０に記載される前記画像処理プログラムを記録していることを特徴とする。記録媒体には、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷやフレキシブルディスク、磁気テープ、ＭＯ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷなどの磁気ディスク、光ディスク、光磁気ディスク、半導体メモリその他のプログラムを格納可能な媒体が含まれる。
【００１８】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。ただし、以下に示す実施の形態は、本発明の技術的思想を具体化するためのピラミッド構造サーチを使用したパターンマッチング方法、画像検出回路、画像処理プログラムおよびコンピュータで読み取り可能な記憶媒体を例示するものであって、本発明はピラミッド構造サーチを使用したパターンマッチング方法、画像検出回路、画像処理プログラムおよびコンピュータで読み取り可能な記憶媒体を以下のものに特定しない。
【００１９】
さらに、この明細書は、特許請求の範囲を理解し易いように、実施の形態に示される部材に対応する番号を、「特許請求の範囲の欄」、および「課題を解決するための手段の欄」に示される部材に付記している。ただ、特許請求の範囲に示される部材を、実施の形態の部材に特定するものでは決してない。なお、各図面が示す部材の大きさや位置関係などは、説明を明確にするため誇張していることがある。
【００２０】
本明細書において画像検出回路とは、主にピラミッド構造サーチを使用したパターンマッチング方法を実行可能なハードウェアを指す。このハードウェアは、例えば図２に示すような構成で、汎用もしくは専用のパーツや回路、装置で構成される。ただしこれ以外にも、汎用の回路やコンピュータにソフトウェアやプログラム、プラグイン、オブジェクト、ライブラリ、アプレット、コンパイラなどを組み込んでピラミッド構造サーチを使用したパターンマッチング方法を実施可能としたものも画像検出回路に含む。つまり本発明の実施例は、ハードウェア的に構成することもできるし、ソフトウェア的に実現することもできる。ソフトウェアとして実現する場合、ピラミッド構造サーチを使用したパターンマッチング方法は汎用あるいはカスタマイズされた専用のコンピュータ、ワークステーション、端末、携帯型電子機器、ＰＤＡ、ページャ、スマートフォンその他の電子デバイスにおいて、プログラムとして実行される。図３に、本発明の実施例に係るパターンマッチング方法を実現するソフトウェアの表示画面例を示す。ただ、プログラムのユーザインターフェースはこの例に限られるものでないことは言うまでもない。
【００２１】
［画像検出回路］
本発明の実施例を図２の画像検出回路に基づいて説明する。図２に示す画像検出回路は、外部から画像データを入力する入力画像記憶部１と、サーチすべきパターン画像を記憶するパターン画像記憶部２と、これら入力画像記憶部１およびパターン画像記憶部２に接続されて各々の画像データを読み取り、各種の処理を行う画像処理部３と、画像処理部３でパターンマッチングを行うための制御やピラミッド構造サーチに必要な設定パラメータの候補を演算する制御部４と、制御部４で演算された設定パラメータ候補群を表示する表示部５と、表示部５で表示される設定パラメータ候補群を参考にしてユーザが所望の設定パラメータに調整可能な入力部６とを備える。なお、相互の部材同士の関係や接続形態は図２に示す例に捕らわれず、例えば画像処理部３と制御部４を入れ替えたり、一の部材で構成したりすることも可能である。
【００２２】
入力画像記憶部１は、これに接続される画像ソース７から入力される画像をデータとして記憶する。例えば、撮像カメラで撮影されたリアルタイムの画像や、予め記録された再生画像などを入力画像とし、これを例えばＡ／Ｄコンバータでアナログ信号からデジタル信号に変換して二値化データや多階調のグレースケールデータなどの画像データとする。入力画像記憶部１には入力画像データを記憶するメモリ、例えば揮発性メモリであるＲＡＭなどが使用される。
【００２３】
パターン画像記憶部２は、パターンマッチングでサーチしたい画像のデータを記憶するものある。パターンマッチング実行に先立ち、サーチの基準となる所望のパターン画像を予め登録しておく。例えば、入力画像記憶部１と同様に外部の画像ソース７と接続して（例えば入力画像記憶部１と切り替えるようにして）パターン画像を含む画像データを入力する。ユーザは取り込まれた画像中から、パターン画像としたい領域を指定する。指定された領域をパターン画像として、パターン画像記憶部２に保持する。パターン画像記憶部には、不揮発性のＲＯＭや揮発性のＲＡＭなどが使用できる。
【００２４】
画像処理部３は、入力画像記憶部１およびパターン画像記憶部２からそれぞれ入力画像データ、パターン画像データを読み取って、パターンマッチングを行う作業領域となる。画像処理部３に接続された制御部４は、入力画像記憶部１およびパターン画像記憶部２から画像データを呼び出すアドレスを指定する。制御部４はＣＰＵなどで構成され、制御部４に指定されたアドレスに従って画像処理部３は必要な画像データを読み出し、パターンマッチングを実施する。制御部４はさらに、ピラミッド構造サーチを行うために必要な設定パラメータの候補を演算する。ピラミッド構造サーチの詳細については後述する。所定の手順に従って演算される各種の設定パラメータを、制御部４内部のメモリに保持される。ピラミッド構造サーチの設定パラメータの詳細については、後述する。求められた設定パラメータのセットを第一の設定パラメータ候補群として内部メモリに保持する。さらに、同様の手順で上記と異なる設定パラメータを演算し、第二の設定パラメータ候補群を内部メモリに保持する。以下、この動作を繰り返して複数の設定パラメータ候補群を求める。
【００２５】
得られた複数の設定パラメータ候補群は、制御部４から表示部５に送られ、外部に表示される。表示方法は、図３に示すように一覧形式で複数の設定パラメータ候補群を同時に表示し、それぞれの指標が確認できるようにする。さらに、ユーザが所望の設定パラメータ候補を指定すると、その設定パラメータ候補に属する各設定パラメータの詳細が表示される。ユーザは、表示部５で表示される演算された設定パラメータ候補群を参考にして、最適なパラメータ値を入力部６から入力することができる。入力部６はマウスやキーボード、スライドパッド、タブレット、デジタイザ、ライトペン、テンキー、ジョグダイヤル、タッチパッド、アキュポイントなどの各種ポインティングデバイスが利用できる。例えば図３に示す画面から、ユーザが選択した設定パラメータ候補群の各設定パラメータが、画面下の入力欄に自動的に入力される。この状態でユーザは入力部６を操作してカーソルを所望のパラメータの欄に移動させ、デフォルトで入力されている演算値を増減させ、あるいは直接値を入力する。このように、画像検出回路で自動的に演算した各種の最適と思われるパラメータ値を参考にしながら、ユーザは使用状況に合わせてさらにパラメータ値を微調整することができる。入力部６から入力あるいは修正された値は制御部４に入力され、制御部４は入力情報に従って表示部５の表示内容を更新する。
【００２６】
［ピラミッド構造サーチ］
次に、ピラミッド構造サーチについて説明する。パターンマッチングまたはパターンサーチは、予め検索したいパターン画像を登録しておき、サーチ対象領域である入力画像を走査して登録されたパターンを検索していく画像の検索方法である。ピラミッド構造サーチとは、サーチの対象となる画像をはじめに解像度の粗い画像とし、全体を概略的に解析して一致度の高い領域を探し出す。具体的には、対象領域を移動しながら、すべての領域で画像の相関を調べていく。一致度は完全一致とせず、例えば相関値が８０％など、画像の類似度を示す指標に対し所定の値を設定する。そしてその結果に基づき、解像度を高めてさらに詳細なサーチを行う。このとき、全領域をサーチするのでなく、相関度の高い領域を中心としてサーチを行う。さらにこのサーチ結果から相関度の高い領域を選出し、より詳細なサーチを行う。この動作を繰り返すことで、階層的に徐々に詳細なサーチを進めて最終的に所望のパターン画像の検索結果を得るものである。
【００２７】
最下層では、画像の１／２ｎに縮小し、縮小画像に対してパターンマッチングを実行する。第１層では最下層での結果を中心とする１／２ｎ−１の縮小画像を作成し、その縮小画像においてパターンマッチングを実行する。以上をｎ回繰り返すことにより、高次になればなるほどサーチ対象の画像サイズを小さくすることができるため、高速化が可能となる。
【００２８】
ピラミッド構造のパターンマッチングにおいては、ピラミッド構造を構成するサーチの階層数に依存して処理速度や精度が変動する。処理精度と処理速度はトレードオフの関係にあり、階層数を増やすと一般に処理速度は上がるが、これに伴って処理精度が低下する。階層数は要求される精度や処理速度に応じて制御部４により決定される。この実施例では、階層数を５に設定している。またユーザが使用目的や状況に応じて、階層数を指定しても良い。さらに上記ピラミッド構造サーチでは、縮小率を１／２ｎとして説明を行ったが、もちろんこれに限ることなく、縮小率を１／３、１／５などとしてもよい。さらにまた、上記ピラミッド構造サーチでは縮小を行う方法を開示したが、これ以外に画素を間引く手法を用いることもできる。
【００２９】
さらに、自己相関サーチという手法を用いて、より最適と思われるパラメータ（縮小率など）を算出する手法が知られている。縮小率のパラメータを自己相関サーチを用いて決定するには、パターン画像同士の位置をずらしながら各位置での相関値を算出し、その相関値の分布から最大の縮小率を推定する。最大の縮小率が、ピラミッド構造における第１層に該当する。同様にこの手法を用いて、第２層、第３層と順に縮小率を算出することができる。
【００３０】
また、別のパラメータとして、縮小の際に画素補間を行うか否かがある。縮小の際に画素補間を行うと、より精度の高い結果を得ることができるが、その反面処理速度は低下する。さらに他のパラメータとして、サーチを行う際にどれだけの検出角度範囲でサーチを行うのか、検出角度範囲内で回転させる角度幅はいくらに設定するか、あるいは候補点を何点まで発見するのかといったパラメータも必要になる。これらのパラメータを演算により求め、一覧表示する。
【００３１】
図４に、一覧表示されるパラメータ候補群の一例を示す。この図に示すように、本実施例ではパラメータとして、縮小率、角度幅、検索する個数、検出しきい値、下限値、位置補間の有無、角度補間の有無を演算する。さらに、これらのパラメータに加え、各設定候補群の特徴を示す指標として、処理時間を併せて表示することもできる。これらの詳細は、後述する。
【００３２】
図４において、候補１〜５はそれぞれステップ（Ｓｔｅｐ）１〜５を有しており、各ステップはピラミッド構造サーチの各階層に相当する。これらの候補は、図３における候補群表示欄９に表示される。候補群表示欄９においては、複数の候補群が装置により決定された総合順位順にソートされて０、１、２、・・・と表示される。候補群は候補群表示欄９のウィンドウをスクロールすることで、すべての候補を閲覧することができる。図３の候補群表示欄９で総合順位順に表示される各々の候補が、図４の各候補に対応している。ただし、図示した値はいずれも例示であって、図３と図４では必ずしも一致していない。候補群表示欄９では、各候補群の総合順位と共に各々の処理時間が表示されている。この処理時間は制御部４で演算された値であり、すべてのステップを一括したトータルの処理時間について平均時間（Ａｖｅ）、最小時間（Ｍｉｎ）、最大時間（Ｍａｘ）を演算して表示している。候補群表示欄９で任意の候補を選択すると、選択された候補に属する各設定パラメータがステップ毎に、候補群表示欄９の下方に設けられたパラメータ入力欄１１に入力されて表示される。また各ステップ毎の処理時間も同時に表示される。図３の例では、総合順位０の候補が選択されており、候補群表示欄９でハイライト表示されると共に、候補群０に関する設定パラメータの詳細がパラメータ入力欄１１にて表示されている。この状態で、ユーザは所望の設定パラメータに対して変更、調整を加えることができる。
【００３３】
［縮小率］
縮小率は、元画像を間引いてデータ量を圧縮する程度を示す。例えば圧縮率１／４のとき、元の４画素を平均して１画素で表している。図４のステップ１では縮小率が１／１６で、以下ステップ２では１／８、ステップ３では１／４というように、階層が進む毎に２倍に精度を上げていき、最終ステップでは１／１、すなわちデータを圧縮しない実データに対して処理を行う。なお、ステップ毎の上げ幅、あるいは初期値は、制御部４が算出する。好ましくは、上げ幅を２とする場合、ステップの数に応じて１／２ｎ−１を初期値とする。例えば、図４の候補群３、４に示すようにステップ４の場合は、縮小率の初期値は１／２（４−１）＝１／２３＝１／８となる。
【００３４】
［角度幅］
さらに、この実施例では検索対象の画像が回転して存在している場合にも検出できるように、所定の角度幅で回転させて入力画像をスキャンさせている。回転は、比較対象領域を回転させてスキャンさせる方法、あるいは入力画像の方を回転させて、所定の角度毎に入力画像のスキャンを繰り返す方法などがある。対象画面のスキャンが終了する毎に所定の角度幅で回転させていき、対象を順次回転させる。例えば、角度幅１０°のときは３６回繰り返すことにより１回転させることができる。回転は３６０°とする必要はなく、対象に応じて１８０°、９０°など所定の範囲のみで回転させても良い。図３の例では検出角度範囲を８０°としている。また図４の例では、ステップ１で角度幅を１０°として一回転させ、徐々に角度幅を細かくしていき、最終的には１°ずつスキャンしている。このように、はじめに大まかにスキャンして、走査面積を小さくしてから詳細なスキャンを行うことにより要処理時間を短縮することができる。
【００３５】
［検索個数］
検索する個数のパラメータは、入力画像からパターン画像の候補を幾つ検索するかを示すパラメータである。指定された検索個数が検索された時点で、処理は中断されて次のステップに移行する。初期の段階では、情報量が少なくなっている分誤認識が発生し易いので、検索個数を多めに設定しておく。例えば、図４の候補１ではステップ１で３、ステップ２で２、以後のステップでは１個を検索する。複数の画像を検出する場合は、最終ステップが検出したい画像の数となる。
【００３６】
［検出しきい値］
検出しきい値とは、類似度が高くこれ以上検索を行う必要のない値を示すパラメータである。各位置について演算された相関値が、設定された検出しきい値を超えている場合は、そのステップでの処理をうち切って次のステップに移行する。
【００３７】
［下限値］
下限閾値とは、相関閾値とは逆に類似度が悪く、検索対象としない限度を示すパラメータである。演算された相関度が下限値以下のものは処理対象から除外される。
【００３８】
［位置補間の有無］
位置補間を行うか否かを決定するパラメータである。特に初期のステップでは、画像の圧縮度が高いため、検出に際して誤差が生じやすい。このため位置補間を行うことにより、精度の高めて誤検出を低減することができる。ここで図７に基づいて位置補間の概念を説明する。図７（ａ）に示すように隣接する画素Ａ、Ｂ、Ｃにおける相関度が図７（ｂ）であったとすると、相関度が最大となるピークは画素ＡとＢの間に存在している。しかしながら、位置補間がないと単純に各画素における相関度のみを比較するため、Ａ、Ｂ、Ｃの内最も相関値の高い画素Ｂがピークであると判断し、画素Ｂの座標を記録する。この場合において、位置補間がある場合は各画素で演算された相関値からピーク値がどこにあるかを推測し、図７の例では相関度のピーク値が画素ＡとＢの間に存在すると判断する。ただし、補間を行うと、その分処理が多くなり処理速度が低下する。なお、最終ステップでは実データに対して処理を行うため、位置補間を行うと、サブピクセルを算出できる。
【００３９】
［角度補間の有無］
前記と同様に、パターン画像を所定の角度幅毎に回転させて入力画像をスキャンする際に角度補間を行うか否かを指定するパラメータである。
【００４０】
［設定候補群の指標］
上記のパラメータに加え、本発明の実施例ではさらに、各設定候補群の特徴を示す指標を併せて表示することもできる。特徴を示す指標には、例えばトータルの要処理時間の推定値、予想精度、予想最大誤差などが挙げられる。これらの指標を参考にして、ユーザは表示部５に列挙される候補群を比較考量し、最適な要処理時間と精度のバランスに鑑みて選択することが可能となる。
【００４１】
図４の例では各ステップにおける平均処理時間の推定値Ａｖｇ、最小処理時間の推定値Ｍｉｎ、最大処理時間の推定値Ｍａｘの推定値を表示している。これらの関係はＭｉｎ≦Ａｖｅ≦Ｍａｘとなる。これらの値も制御部４で算出することができる。
【００４２】
以上説明したパラメータや指標、あるいはピラミッド構造サーチ、パターンマッチングの手法その他の詳細は、すべて例示である。本発明は、パラメータを算出する方法自体に特徴があるのでなく、算出されたパラメータを表示させることでユーザの便宜に供することを目的としているため、パラメータ算出のための手順を特定しない。パラメータ算出のためのアルゴリズムやプロトコルは、既知のものや将来開発されるものが使用できる。
【００４３】
［ピラミッド構造サーチの手順］
以下、ピラミッド構造サーチの手順を図５のフローチャートに基づいて説明する。パターンマッチングを行う前に、予め検出したいパターン画像を画像検出回路に登録しておく。
【００４４】
まず、撮像カメラなどから取り込まれた入力画像に対し、二値化あるいはグレースケールなどによりデータ化し、入力画像記憶部１に取り込む（Ｓ１）。そしてステップを初期化して１に設定する（Ｓ２）。取り込まれた入力画像データを、縮小率に応じて縮小する。すなわち、入力画像データを間引くような形で粗いデータとする（Ｓ３）。次に、入力画像の開始位置にパターン画像を位置させる（Ｓ４）。一般には、矩形状の入力画像の左上端にパターン画像の左上端を合わせる。
【００４５】
この位置においてパターン画像と入力画像の相関度を取得する（Ｓ５）。相関係数を所定の式に基づいて演算し、相関度とする。そして現在の座標と相関度を記録する（Ｓ６）。順次演算される相関度が記録された相関度を上回れば、これらの値を更新する。つまり、相関度の最大値あるいは所定値以上の相関度と、当該相関度が得られた入力画像上の位置を保持するように更新していく。保持する値の数は、その階層のサーチにおいてパターン画像を検出したい数とする。
【００４６】
パターン画像を入力画像上で移動する（Ｓ７）。移動量は縮小率に応じて決まる。縮小率が１６であれば、元画像を１６画素移動するのに相当する。移動はＸ軸方向すなわち左から右に進み、端部に達したらＹ軸方向の次行に進んで同様に左端から右端に向かって移動する。終了位置である右下に到達し、入力画像の全域を走査し終わると、次に所定の角度幅でパターン画像を回転させて、同様に開始位置である左上端から再び走査を開始する。このようにして、パターン画像を回転させながら、入力画像のすべての領域を走査し、相関度を求めることによって、より相関度の高い、パターン画像と近似する領域の座標を求め、そのステップの終了位置に達するまで、すなわちすべての入力画像を所定の角度幅で走査し終わるまで繰り返す（Ｓ８）。
【００４７】
そのステップの終了位置に達したら、そのステップにおいて記録された相関度の高い座標を抽出する。そして、相関度の高い座標の近辺の領域を新たな走査領域として設定する（Ｓ９）。そして終了したステップが最終ステップでない場合はステップ数に１を加えて次のステップに移行する（Ｓ１０）。このようにして相関度の高い領域を、今度は設定されたより詳細な縮小度、角度幅で精査する。以下、同様にして相関度の高い領域を求め、さらに詳細なサーチを行って最終的にパターン画像に近似する領域の座標を求める。
【００４８】
［ユーザインターフェース］
図３および図８に、上記実施例を実現するプログラムのユーザインターフェースの一例を示す。これらの図は上方のタブを選択することで表示を切り替えることができ、図３は「パラメータ」タブ８を、図８は「パターン登録」タブ１０を選択した状態を示している。表示されるタブが変更されても、画面下方の表示内容は変更されない。
【００４９】
［「パラメータ」タブ］
制御部４で演算されたパラメータ候補群は、表示部５を構成するモニタ画面上などに表示される。図３の「パラメータ」タブ８には、演算されたパラメータ候補群の一覧が表示される候補群表示欄９と、候補群表示欄９で選択された候補の詳細が表示されるパラメータ入力欄１１が配置されている。候補群表示欄９では、処理時間や処理精度に鑑みて制御部４が最適と決定した順に、候補群が番号０、１、２．．．と「総合順位」の優れたものから順に表示される。総合順位の右隣には、各ステップの処理時間を合計した全体での処理時間が平均、最小、最大の順に表示されており、ユーザはこれらの値を参考にすることができる。ユーザが所望の候補を選択すると、選択された候補の設定パラメータの詳細が下段のパラメータ入力欄１１に入力されて表示される。ユーザは、直接これらのパラメータの数値を変更することができる。あるいは、所定の選択肢の中から所望の値を選択することができる。図３の例では、縮小率は「▼」ボタンを押下することにより現れるダイヤログボックスに含まれる選択肢の中から、所望の値を選択する。また、位置補間、角度補間については各々のチェックボックスをＯＮ／ＯＦＦすることにより指定する。
【００５０】
［「パターン登録」タブ］
パターン画像の登録は、図８に示す「パターン登録」タブ１０にて行う。パターン画像を指定する際に取り込まれた画像がプレビュー表示欄１４に表示され、ユーザはマウスなどによりパターン画像とする領域を設定していく。パターン画像の登録には既存の様々な方法が適宜利用でき、例えば入力画像中から必要な部位を抜き出して計測領域とし、さらに不要な部位を除去するためのマスク領域を設定して、これらの複数の領域を組み合わせることによって複雑な形状のパターン画像を指定することが可能となる。各領域の指定は、マウスなどで領域を範囲指定したり、座標位置や大きさ、角度などを数値で指定したり、あるいはこれらを組み合わせて指定することができる。また領域の形状も、円形や楕円形、半円形、三角形や四角形その他の多角形としたり、これらの組み合わせとしてもよい。図８の例では、パターン画像として円形の計測領域を指定している。この計測領域に重ね合わせるように、複数のマスク領域を指定することもできる。例えば、図３の画面から「領域」種別指定欄を計測領域からマスク領域１、マスク領域２などに変更して、マスク領域を詳細に設定する。
【００５１】
「パターン登録」タブ１０の画面右上には、領域を設定するための領域設定欄が、右中段には基準位置の設定欄が設けられている。領域設定欄は、領域の形状に応じて指定項目を変更することができる。例えば円形を指定する場合は、中心の座標と半径で特定でき、四角形の場合は頂点や重心など基準となる位置の座標、幅、高さ、傾きの角度などで特定できる。
【００５２】
さらに、図３、図８いずれの画面においても、下方にはピラミッド構造サーチの各種設定を行う基準設定欄１２が設けられる。ここで左側に設けられた個数設定（ＮＣＮｕｍなど）は検出すべき個数を設定し、開始基準角度（ＮＣＢａｓｅＡｎｇｌｅなど）と検出角度範囲（ＮＣＡｎｇｌｅＲａｎｇｅなど）は、検索対象とパターン画像が異なる角度で存在している状態を検出するものである。開始基準角度を中心として、検出角度範囲の範囲で角度をずらして検索対象画面のスキャンを行う。図３の例では０°を中心に±８０°の範囲でスキャンしている。また、はみ出し許容面積率（ＮＣＡｒｅａなど）は、入力画像中のサーチすべき領域をパターン画像がどれだけ超えてスキャンするかを示す割合である。また右側には学習ボタンが設けられ、ここを押下するとユーザが指定したパターン画像から複数のパラメータ候補群を算出することができる。さらにその右隣には学習ボタン、適用ボタン１５などが設けられ、設定されたパラメータでパターンマッチングを実行する。パターンマッチングの結果は、その下方の処理結果表示欄１３に表示される。処理結果としては、検出された個数である検出数（ＮＣＮｕｍなど）、それぞれの検出位置（ＮＣＰｏｓｉｔｉｏｎなど）が表示される。図３の例では検出数は個数で表示されており、検出位置は検出された部位のそれぞれの座標で表示されている。
【００５３】
以上の方法により、パラメータ候補群の一覧がユーザに提示される。ユーザはこれに基づいて、一覧から所望のパラメータを含む候補を選択することができるし、あるいはパラメータを組み合わせて指定したり、表示されたパラメータを参考にして所望の値を独自に設定することもできる。選択は入力部６にて行われ、例えばコンピュータに接続されたマウスなどでクリックする、あるいはキーボードから設定候補群の番号を指定するなどによって選択される。さらにユーザが所望の値を直接数値で指定しても良い。なお表示される候補群の数は、ユーザが上限を指定することもできる。
【００５４】
次に、本発明の実施例を用いて、設定パラメータをユーザが参照、修正する手順を図６に基づいて説明する。
【００５５】
学習ボタンを押下することにより、予め設定されたパターン画像、入力画像やその他の情報に基づいて、画像検出回路は設定パラメータ候補群を算出する（Ｓ’１）。
【００５６】
演算された設定パラメータ候補群を、表示部５の学習結果欄に一覧表示する（Ｓ’２）。各設定パラメータ候補の予想処理速度や精度その他の指標に基づいて、最適と思われる順位を設け、順位の優れた順に表示する。
【００５７】
ユーザは各候補群の指標などを参考に、所望の候補を選択する（Ｓ’３）。選択された候補群に属する詳細なパラメータが、パラメータ入力欄１１に表示される。
【００５８】
ユーザはさらに、具体的なパラメータの値を確認し、必要であれば値を所望の値に変更する（Ｓ’４）。このようにしてチューニングされた候補群が確定すると、適用ボタン１５を押下し、変更された設定パラメータ候補群を記憶する。
【００５９】
そして、ピラミッド構造サーチを実施する（Ｓ’５）。さらに必要に応じて、ユーザはサーチ結果などを参照しながら、設定パラメータの表示に戻り（Ｓ’６）、設定パラメータ候補群を参照、変更することが可能となる。また、試行錯誤を重ねながらサーチ結果をフィードバックさせて設定パラメータを微調整していくことも可能である。このように、ユーザの使用状況に応じて最適なパラメータ値に調整可能として使い勝手を改善し、ピラミッド構造サーチを使用したパターンマッチング方法でリアルタイムの位置検出をより正確に、あるいは高速に行えるようになる。
【００６０】
【発明の効果】
以上説明したように、本発明のピラミッド構造サーチを使用したパターンマッチング方法、画像検出回路、画像処理プログラムおよびコンピュータで読み取り可能な記憶媒体によれば、複雑な設定パラメータを自動的に演算するとともに、演算結果を表示してユーザ側でさらに調整することができる。このためユーザの自由度が高く、使用状況に応じて最適なパラメータに調整することが可能となる。特に、適切と思われる候補群を複数表示させることにより、ユーザはこれらの中から所望の値を選択し、あるいはこれらの値を参考に設定することができ、さらに便利に使用できるメリットがある。
【図面の簡単な説明】
【図１】パターンマッチング手法の一例を示す概略図である。
【図２】本発明の一実施例に係る画像検出回路の構成を示すブロック図である。
【図３】図２の表示部を構成するユーザインターフェースの一例を示すイメージ図である。
【図４】表示部に一覧表示される設定パラメータ候補群の一例を示す表である。
【図５】ピラミッド構造サーチの手順を示すフローチャートである。
【図６】設定パラメータ候補群を調整する手順を示すフローチャートである。
【図７】位置補間の概念を説明する概略図である。
【図８】図３のユーザインターフェースでタブを切り替えた表示を示すイメージ図である。
【符号の説明】
１・・・入力画像記憶部
２・・・パターン画像記憶部
３・・・画像処理部
４・・・制御部
５・・・表示部
６・・・入力部
７・・・画像ソース
８・・・「パラメータ」タブ
９・・・候補群表示欄
１０・・・「パターン登録」タブ
１１・・・パラメータ入力欄
１２・・・基準設定欄
１３・・・処理結果表示欄
１４・・・プレビュー表示欄
１５・・・適用ボタン
【図１】
0004598887.tif 000002
【図２】
0004598887.tif 000003
【図３】
0004598887.tif 000004
【図４】
0004598887.tif 000005
【図５】
0004598887.tif 000006
【図６】
0004598887.tif 000007
【図７】
0004598887.tif 000008
【図８】
0004598887.tif 000009