(57)【特許請求の範囲】
【請求項１】
入力画像から、予め定めた画像特徴パターンであるテンプレートとの類似パターンを探索する際に、前記テンプレートおよび入力画像を一定の比率で縮退させた複数の縮退画像を生成する手段を備え、最も縮退比率の高い画像から順次、前段のマッチング位置近傍で次段のマッチングを行うように動作する多段階テンプレートマッチング処理を行う画像処理装置において、予め各マッチング段階毎にマッチング処理時間の上限値を設定し、各縮退テンプレートから画像サンプリングによる縮退操作によって得られる画素数から算出したマッチング見積り時間が前記処理時間の上限値を超える場合は、前記テンプレート生成のもとになる任意のＮ個の画素よりなる原テンプレート画像から、予め設定した１＜ｎ＜Ｎなる整数ｎ個の画素よりなるテンプレート構成要素を複数個順次発生しテンプレート候補とし、前記テンプレート候補の前記テンプレートとしての良好度を算出し、前記良好度が最大となる前記テンプレート候補を選択し、選択した前記テンプレート候補を格納し前記テンプレートとするテンプレート生成を行い、それ以外の場合は前記縮退操作によるテンプレート生成を行うことを特徴とする画像処理装置。
【請求項２】
入力画像から、予め定めた画像特徴パターンであるテンプレートとの類似パターンを探索する際に、前記テンプレートおよび入力画像を一定の比率で縮退させた複数の縮退画像を生成する手段を備え、最も縮退比率の高い画像から順次、前段のマッチング位置近傍で次段のマッチングを行うように動作する多段階テンプレートマッチング処理を行う画像処理装置において、
もっとも縮退比率の小さいテンプレート画像を初期テンプレート画像として、前記テンプレート生成のもとになる任意のＮ個の画素よりなる原テンプレート画像から、予め設定した１＜ｎ＜Ｎなる整数ｎ個の画素よりなるテンプレート構成要素を複数個順次発生しテンプレート候補とし、前記テンプレート候補の前記テンプレートとしての良好度を算出し、前記良好度が最大となる前記テンプレート候補を選択し、選択した前記テンプレート候補を格納し前記テンプレートとするテンプレートを生成し、前記過程で得られたテンプレートの良好度が予め設定した良好度より優れたテンプレートが生成できればさらにテンプレート画像の縮退とテンプレートの生成を繰返し、生成できなければ縮退を停止する操作を行い、テンプレート生成が可能な最大の縮退比率に対応する縮退段階をもってマッチングの第１段階とし前記多段階テンプレートマッチングの段数を決定することを特徴とする画像処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、ロボットや産業機械の位置制御および検査などに用いる画像処理装置に関するものである。
【０００２】
【従来の技術】
図１９は、日刊工業新聞社１９８５年６月１５日発行の、手塚慶一ら著の『ディジタル画像処理』第１０７頁に記載された画像中の特定の対象物を検出するテンプレートマッチング手法を説明するための図、図２０は同文献の記載内容をもとに作成した同手法の画像処理フローチャートである。
以下、従来の画像処理方法をこれらの図をもとに説明する。
原画像の画素数をＭ×Ｎ、テンプレートの画素数をＫ×Ｌとし、原画像の左上端画素位置を原画像原点として、原画像上におけるテンプレートの原点位置を原画像の各画素の座標を用いて（ｍ，ｎ）で表す。なお、テンプレート原点はテンプレートの左上端の画素位置にあるものとし、原画像上で探索すべきテンプレートは予め画像として格納されているものとする。
画像処理装置がステップ２００１（以下「ステップ」を「ＳＴ」と略記する）で起動するとＳＴ２００２において原画像をカメラ等の入力装置から入力し、メモリに格納する。次いで、ＳＴ２００３でテンプレートの初期位置を設定する。なお、初期位置は原画像原点におくものとする。ここで、整合度の最大値を保持する変数Ｓmax を初期化し−１とおく。
ＳＴ２００４においてテンプレートを原画像上の座標（ｍ，ｎ）におき、整合度Ｓ(m,n) を以下の定義に基づいて求める。
【０００３】
【数１】
0003680826.tif 000002
【０００４】
ここで、ｆ(i,j) は原画像上の座標（ｉ，ｊ）における画素のもつ値、ｔ(i,j) はテンプレート上の座標（ｉ，ｊ）における画素のもつ値である。ＳＴ２００５において整合度ＳをＳmax と比較し、ＳＴ２００６で整合度ＳがＳmax より大きければＳmax を更新するとともに、そのときの座標（ｍ，ｎ）を（ｍ0，ｎ0）として保存する。続いてＳＴ２００７で変数（ｍ，ｎ）を変えテンプレートを原画像上の別の位置に移動させる。ＳＴ２００８では（ｍ，ｎ）がテンプレートが原画像上で動き得るすべての点を取尽くしたかどうかを判断し、もし取尽くしていなければ新しく指定した（ｍ，ｎ）について再び整合度を求めるＳＴ２００４からの処理を繰返し実行する。ＳＴ２００９で原画像上のすべての点で整合度Ｓ(m,n) を求めたことをもって処理を終了する。
処理の終了後に、変数（ｍ0，ｎ0）に格納されているのは、最大の整合度をもつ原画像上の位置となる。これはテンプレートともっともよく整合する位置を原画像上で探索したことに相当し、所望の出力が得られたことになる。
ここで、テンプレートは入力画像より小さく、したがって整合度関数Ｓ（ｍ，ｎ）の取り得る範囲は、以下のようになる。
｛（ｍ，ｎ）｜０＜ｍ＜Ｍ−Ｋ＋１，０＜ｎ＜Ｎ−Ｌ＋１｝    式２
【０００５】
他の画像処理方法として、特開平６−４６６９号公報に記載の撮像された画像から対象物のモデルパターンを探索するパターンマッチング装置を図２１および図２２を用いて説明する。
まず、モデルパターンの各構成画素のデータを、近傍の画素を用いて２次微分する。次に、得られた微分信号を絶対値化する。さらに、予め設定した閾値を用いて、絶対値微分信号を閾値処理し、閾値以上の信号を取り出す。この信号に相当する画素だけを、パターンマッチングの対象画素として選択する。以上説明した動作で、画像信号から生成される各々の信号の様子を図２１に、また、画像としてモデルパターンから得られたマッチングに用いられる画素を図２２に示している。
【０００６】
【発明が解決しようとする課題】
上記の画像処理装置および画像処理方法では、多段階テンプレートマッチングを行う場合に、縮退の比率を自動的に決めることができないという問題があった。
【０００７】
さらにまた、テンプレート画像のすべての画素を処理に用いるため、テンプレートを登録した画像処理装置を運用するにあたって、テンプレートがどのくらい適正なものかの判断が困難であり、処理結果を改善させるための示唆が得られにくいという問題点があった。
【０００８】
【課題を解決するための手段】
上記の課題を解決するためになされたもので、
請求項１に係る発明は、階層的テンプレートマッチングを行う手段と、各階層においてテンプレートの選択をテンプレート生成のもとになる任意のＮ個の画素よりなる原テンプレート画像から、予め設定した１＜ｎ＜Ｎなる整数ｎ個の画素よりなるテンプレート構成要素を複数個順次発生しテンプレート候補とし、テンプレート候補のテンプレートとしての良好度を算出し、良好度が最大となるテンプレート候補を選択し、選択したテンプレート候補を格納しテンプレートとする方式で行うかどうかを判断する手段とを設けたものである。
【０００９】
請求項２に係る発明は、階層的テンプレートマッチングを行う手段と、各階層においてテンプレートの選択をテンプレート生成のもとになる任意のＮ個の画素よりなる原テンプレート画像から、予め設定した１＜ｎ＜Ｎなる整数ｎ個の画素よりなるテンプレート構成要素を複数個順次発生しテンプレート候補とし、テンプレート候補のテンプレートとしての良好度を算出し、良好度が最大となるテンプレート候補を選択し、選択したテンプレート候補を格納しテンプレートとする方式で行うテンプレート生成手段と、前記方式で得られたテンプレート良好度合いを示す指標を用いて良好なテンプレートが生成されなくなるまで画像縮退を繰返すことによってマッチング段数を決定する手段とを設けたものである。
【００１０】
【実施例】
参考例１．
以下、この発明の第１の参考例を、図を用いて説明する。
図１は、この参考例における画像処理装置（以下、本装置と呼ぶ）の構成を示すブロック図、図２は本装置の動作を示すフローチャートである。以下このフローチャートにそって本装置の動作を説明する。
本装置の動作は、認識したい対象物に関するテンプレートを生成するテンプレート生成部と、生成されたテンプレートを用いて入力画像から対象物を探索する探索処理部の２つの部分からなる。図２のフローチャートはこれら２つの処理を同時に記述している。
ＳＴ２０１で本装置を起動すると、ＳＴ２０２でテンプレートを生成するための原テンプレート画像を入力する。これは、例えば装置の運用にあたって実際にテンプレート抽出のためのサンプル画像を確認しながら対象物を囲む矩形領域を指定し、部分画像を切出すことに相当する。このようにして得た原テンプレート画像を原テンプレート格納手段１０１に格納する。次に、ＳＴ２０３で、格納した原テンプレート画像から、テンプレート構成要素抽出手段１０２により、テンプレート構成要素を抽出する。
【００１１】
原テンプレートの構成要素である画素全数は、そのままではテンプレートとしては用いない。テンプレート構成要素としては、もっとも簡単なものとして、例えば原テンプレートの画像を等間隔にサンプリングする方法を用いる。
ＳＴ２０４で原テンプレートの構成要素を選択してテンプレートを得る。テンプレート構成要素選択手段１０４では、予め設定された好ましいテンプレートに関するルールＤ／Ｂ１０３の内容を参照し、原テンプレート構成画素のどの画素を選択して組合せたらよいかを判断する。この参考例では、次のように判断する。
テンプレート構成要素抽出手段１０２で原テンプレート格納手段１０１に格納されたＮ個の画素から、ｎ個の画素を選択することを考える。ｎは予め与えられた定数である。
Ｎからｎを組合せる方法は、
【００１２】
【数２】
0003680826.tif 000003
【００１３】
通りある。そのすべての組合せを順次発生させ、それぞれについて式４にしたがってテンプレート良好動作度Ｇを求める。
Ｇ＝Ｗ0 Ｇshape ＋Ｗ1 Ｇvalue                           式４
Ｗ0 とＷ1 は、Ｇshape とＧvalue の重みを決定する係数である。
Ｇshape は、ｎ点からなるテンプレートを、原テンプレート上で±３画素の範囲で動かしながら自己相関マップを生成し、そのマップの形状が急峻であれば大きくなる値をもつ。また、Ｇvalue は同様にして生成された自己相関マップにおいて、その絶対値に関する項で、中心部以外の値が小さいほど大きくなる値をもつ。ここで、自己相関マップｃ(i,j) は、式５によって求める。
【００１４】
【数３】
0003680826.tif 000004
【００１５】
ここで、Ｉは原テンプレート画像、ｘ(k) ，ｙ(k) はｎ個の画素からなるテンプレートである。ｃ(i,j) は、テンプレートの原テンプレート画像に対する変位量ｉ，ｊとした時の自己相関値である。
この時、上記テンプレート良好度がもっとも大きいｎ点の画素を保存しておき、すべてのｎ個の点の組合せに対して上記良好度が最大になる点を更新させる。最終的に残った、良好度最大のテンプレート点列をテンプレートとしてテンプレート格納手段１０５に格納する。
【００１６】
この参考例では、ルールＤ／Ｂ１０３に、次のような形でルールが登録されていることになる。
ルール１（メインルール）
テンプレートの良好度Ｇn（ｎはテンプレート画像上のＮ点の部分集合）を最大化する。Ｔn（n∈Ｎ）を求めよ
ルール２（Ｇn の定義）
Ｇn ＝Ｗ0 Ｇn shape ＋Ｗ1 Ｇn value で与えられる
ルール３（係数）
Ｗ0 ，Ｗ1 はいずれも固定値である
ルール４  （Ｇshape 定義）
【００１７】
【数４】
0003680826.tif 000005
【００１８】
ここで、ｉ，ｊ，ｐ，ｑは、０，±１，±２，±３の中から
（ｉ2 ＋ｊ2） ＜（ｐ2 ＋ｑ2）を満たすように選ぶものとする。
これは、点（ｉ，ｊ）が点（ｐ，ｑ）より中心（０，０）に近いことを要請しており、Ｇn shape は、ｃ(i,j) の関数曲面が（０，０）を中心とする単峰性をもつときに最大となることを意味している。
ルール５  （Ｇn value 定義）
Ｇn value＝ｃ(0,0)−ｃmean(i,j)
ここで、−３＜ｉ，ｊ＜３（ただし、ｉ＝ｊ＝０は除く）。
ｃmean(i,j)はｃ(i,j)の平均値を示す。
ルール６（ｎの範囲）
Ｌ0 ＜ｎ＜Ｌ1 となるｎをなるべく少ない値で実現する。
Ｌ0 ，Ｌ1 はテンプレート画素数の下限と上限で、Ｌ1 ＜Ｎである。
【００１９】
以上テンプレート生成部の動作について説明した。続いて、認識処理を行う部分の動作について説明する。
ＳＴ２０５では、認識対象画像をカメラなどから入力する。入力した画像は、認識対象画像格納手段１０６に格納する。ＳＴ２０６で、類似度マップ生成手段１０７によって、上記テンプレートと認識対象画像の類似度が演算され、類似度マップ格納手段１０８に格納する。類似度はＳＴ２０７でピーク検出手段１０９により探索し、最大ピーク位置を求める。最大ピーク位置はマッチング結果を示し、ＳＴ２０８で本装置より出力する。
【００２０】
以上説明したように、この参考例により、原テンプレート画像の一部の画素をマッチングに用いるのでマッチング時間が短縮できる。また、単純な間引き操作ではなく、自己相関マップをテンプレートの良否判定に用いることから、マッチングにふさわしい画素のみを効率よくテンプレートとして選択できるという効果がある。
なお、この参考例では、テンプレート構成要素を抽出するのに原テンプレート画素を等間隔でサンプリングする例を示したが、この他にも予め記憶させた単純なパターンにしたがってサンプリングしても同様の効果を奏する。
また、この参考例では、自己相関マップのエリアとして±３即ち７×７の場合を示したが、このエリアはさらに大きくとってもよい。
【００２１】
また、自己相関を単に縦、横方向のずらし操作によって生成するのではなく、微小な回転を考慮するようにすれば、捜索対象が回転する場合にも誤動作することなく機能する良好なテンプレートを得ることができる。
以下そのようなテンプレートを生成するルールＤ／Ｂについて説明する。
この場合、自己相関マップは、縦、横、回転の３次元にわたって生成される。例えば、ｉ∈０，±１，±２，±３（画素），ｊ∈０，±１，±２，±３（画素），ｋ＝０，±１（単位）を考慮した自己相関マップを形成する。ここで回転の単位ｋは、例えば３°おきに回転した像との相関である。
このような自己相関マップｃ(i,j,k) に対しては、先に述べたルールＤ／Ｂ１０３の内容を以下のように修正すればよい。
ルール４’（Ｇn shape 定義）
【００２２】
【数５】
0003680826.tif 000006
【００２３】
ここで、ｉ，ｊ，ｋ，ｐ，ｑ，ｒは、
−３＜ｉ，ｊ，ｐ，ｑ＜３および−１＜ｋ，ｒ＜１の範囲から
（ｉ2＋ｊ2＋ｋ2）＜（ｐ2＋ｑ2＋ｒ2）となるようにすべての場合をえらぶ。
ルール５’
Ｇn value＝ｃ(0,0,0)−ｃmean(i,j,k)
ここで、−３＜ｉ，ｊ＜３および−１＜ｋ＜１
（ただし、ｉ＝ｊ＝ｋ＝０は除く）
このようなルールを定義することにより、ルール４’により３次元の探索空間の中で、単峰性が保証され、ルール５’により単峰性の度合いが評価され、平行ずれにも回転にも強いテンプレート点列を選択することができる。
【００２４】
さらに、この参考例では、テンプレートの良好度合いを評価するのに、自己相関マップを利用する例を示したが、原テンプレートを切出した画像とは異なるサンプル画像を複数個用意し、それらとテンプレート候補との相互相関マップを用いてもよい。この場合には、画像間のデータの分散を考慮した安定なテンプレートを選択することができる。
【００２５】
参考例２．
以下、この発明の第２の参考例を説明する。
図３は、この参考例における画像処理装置（以下、本装置と呼ぶ）の構成を示すブロックであり、図４は本装置の動作を示すフローチャートである。以下これらの図にそって本装置の動作を説明する。ただし、参考例１と同一の部分については、説明を省略する。
この参考例と上述の参考例１とは、実質的にテンプレート構成要素選択手段の構成が異なるのみである。テンプレート構成要素選択手段３０３は乱数発生手段３０４、テンプレート候補発生手段３０５、およびテンプレート候補評価手段３０６からなっている。
【００２６】
ＳＴ４０４では、乱数発生手段３０４で乱数を生成し、テンプレート候補発生手段３０５では乱数発生手段３０４で生成した乱数に基づいて原テンプレート構成要素Ｎ個の中からｎ個をランダムに選択し、ＳＴ４０５で一時的に記憶領域に格納する。
次に、ＳＴ４０６でテンプレート候補評価手段３０６が、好ましいテンプレートに関するルールＤ／Ｂ３０７に記述された内容にしたがって、このテンプレート候補が評価される。ここで、具体的な評価の方法としては、第１の参考例と同様に、自己相関に基づいた良好度を用いる。この良好度が以前格納したものよりも大きいときは、よりよいテンプレートが得られたとして値を更新する。
【００２７】
以上説明したＳＴ４０４、ＳＴ４０５、ＳＴ４０７を予め設定された回数だけ繰返す。一般にＮ個からｎをとる組合せの数は、Ｎやｎが大きくなると幾何級数的に増大するので、組合せ NＣn より十分少ない数字に予め設定された回数だけ処理を繰返す。
この結果得られた最大良好度に相当するテンプレート点列をテンプレート格納手段３０８に格納して処理を終了する（ＳＴ４０８）。
【００２８】
以上説明したように、この参考例によれば、テンプレート画像の一部の画素をマッチングに用いるのでマッチング時間が短縮でき、また単純な間引き操作ではなく、自己相関マップをテンプレートの良否判定に用いていることから、マッチングにふさわしい画素のみを効率よくテンプレートとして選択できるという効果がある。しかも、テンプレート画素としてふさわしい候補画素のすべての組合せを調べるのではなく、乱数に基づいて生成したもののみを評価しているので、効率よく最適なテンプレート画素組合せを見つけることができる。これはテンプレート画素選択の処理効率を向上させる効果がある。
【００２９】
なお、この参考例では乱数発生手段で毎回乱数を生成するものとしたが、多数の乱数を予めメモリに記憶しておき、それを用いてもよいことはいうまでもない。
【００３０】
参考例３．
この発明の第３の参考例を説明する。
図５は、この参考例における画像処理装置（以下、本装置と呼ぶ）の構成を示すブロック図、図６は本装置の動作を示すフローチャート、図７は特徴的画素の定義の一例を説明するための図である。以下これらの図にそって本装置の動作を説明する。ただし、参考例１および参考例２と同一の部分については、説明を省略する。
この参考例では、参考例２におけるテンプレート構成要素抽出手段を特徴的画素選択手段５０２と特徴的画素Ｄ／Ｂとで構成している。
【００３１】
ＳＴ６０１、ＳＴ６０２は参考例１および参考例２と同一である。ＳＴ６０３では、格納された原テンプレート画像から、特徴的画素選択手段５０２によって特徴的画素Ｄ／Ｂ５０３を参照し、予め設定した特徴的画素を抽出してメモリ上に格納する。
特徴的画素とは、例えば対象物の輪郭付近の画素、輪郭でない画素など、画素近傍の局所的変化パターンに依存して定義した画素などである。図７では、注目画素とその左右の画素を比較し、濃度が大きいか小さいかによって注目画素を分類している。
ＳＴ６０４以降は参考例２と実質的に同一である。
【００３２】
以上説明したように、この参考例では参考例２と同様な効果が得られるとともに、テンプレート選択に際して、別途定義した特徴的画素を優先的に選択させることができる。これは、例えば安定した輪郭部分の近傍の点が探索時に有意に作用するという経験的知識を組入れることに相当する。
【００３３】
なお、この参考例では注目画素の左右の画素のみを用いて特徴的画素を抽出したが、同様に垂直方向の濃度変換パターンを用いてもよく、あるいは水平、垂直両方向の濃度変化パターンを利用しても同様の効果が得られる。同様に、左右方向に２画素ピッチ以上離れた近傍画素の情報から特徴的画素を抽出してもよい。
さらに、この参考例では、濃度変化パターンによって特徴的画素を定義したが、その他対象物の色や大きさ、画素の絶対濃度や位置情報を利用して定義してもよい。
【００３４】
さらにまた、この参考例では、特徴的画素として輪郭近傍画素を優先的に抽出する例を示したが、逆に近傍画素に比べて著しく濃度の高いあるいは低い画素をノイズ的画素として削除するように動作させても同様の効果を奏する。
即ち、特徴的画素を抽出する代わりに、特徴的画素を排除して残りの画素を抽出しても同様の意味となる。もちろん、予めノイズ的画素を取り除いたあとで、特徴的画素を抽出してもよい。
【００３５】
また、テンプレートとなる画像が複数存在する場合には、それらの統計的中心値を画素として用い、個々の画像を分散の大きい画素と不安定画素として排除してもよい。
【００３６】
あるいは、運用にあたって経験的に不安定な画素領域が知られている場合は、画面操作によりテンプレート不適切領域（DON’T CARE領域あるいは、マスク領域）を設定してもよい。
【００３７】
また、この参考例では、特徴的画素として濃度パターンに関して得られる情報をもとに判断する方法を示したが、例えば経験的に知られている知識に基づいて、画像上の特定の位置にある領域を優先的に抽出したり、逆に排除してもよい。また、同様に、画像のカラー情報などの属性をもとに特徴的画素の判断をしてもよい。
【００３８】
さらに、この参考例では、テンプレートのもとになる画像のみから特徴的画素を判断する例を示したが、別途用意した特徴的画素を表現したＤ／Ｂや、優先的にテンプレート構成画素として抽出するべき位置を画像表現で示したものを利用して特徴的画素抽出手段としてもよい。
【００３９】
参考例４．
以下、この発明の第４の参考例を説明する。
図８は、この参考例における画像処理装置（以下、本装置と呼ぶ）の構成を示すブロック図、図９は本装置の動作を示すフローチャート、図１０は画像とビット列との対応関係を説明するための図である。以下これらの図にそって本装置の動作を説明する。ただし、上記各参考例と同一の部分については、説明を省略する。
ＳＴ９０１、ＳＴ９０２は上記各参考例と同一である。ＳＴ９０３で、格納された原テンプレート画像から、テンプレート構成要素抽出手段８０２により、テンプレート構成要素を抽出する。テンプレート構成要素としては、もっとも簡単なものとして、例えば画像を等間隔にサンプリングする方法を用いる。
続くＳＴ９０４では、ビット列エンコード手段８０３によって、上記テンプレート構成画素をビット列にエンコードする。
【００４０】
図１０において、テンプレート原画像から、テンプレート構成画素が抽出されたのが１００１である。これを、１００２のようなビット列にエンコードする。ビット列は、テンプレート構成要素の数に相当しており、ビット列の各ビットは、対応する構成画素の採用または不採用を表現している。ここでは、例えば採用なら値１、不採用なら値０とする。多くの特徴的画素群をエンコードしたビット列は、ビット列群格納手段８０５に格納する。ビット列格納手段に格納するビット列の個数は、１００〜１０００程度である。
【００４１】
ＳＴ９０５のビット列操作では、上記ビット列に対し、次のような操作を行う。まず、ビット列群格納手段中の各々のビット列に対し、そのビット列が表現する画素群の良好度合Ｇを定義する。例えば、参考例２で説明したものと同様のものを用いるなら、式４によればよい。変数についても参考例２の場合と同様である。もちろん、自己相関マップｃ(i,j)についても式５にしたがって求めればよい。
【００４２】
エンコードされたビット列は、その良好度が高いほど選択される可能性が高くなるように２つ選択され、その２つから新規ビット列２つが生成される。第１１図は、新規ビット列が生成される様子を表したものである。ビット列１１０１と１１０２は、上記のように良好度が高いほど選択確率が高いような選択方法によって選択された２つのビット列である。便宜上、それらをそれぞれ親Ａおよび親Ｂと呼ぶ。
また、選択確率の演算には、乱数発生手段８０９で発生した乱数を用いる。さらに、この参考例では、同じ長さのマスクビット列１１０３をランダムに発生する。新規ビット列は、子Ａおよび子Ｂと呼ばれる。子Ａはマスクビット列１１０３が値１をとるビットでは親Ａのビットと同じ内容、マスクビット列が値０をとるビットでは親Ｂのビットと同じ内容をもつように生成する。子Ｂは、その逆に生成する。新規ビット列についても良好度が演算され、ビット列群格納手段８０５に追加する。同時に、同ビット列群格納手段中の良好度の低いビット列を記憶手段から削除する。なお、ビット列の良好度は、ビット列良好度演算手段８０６によって求める。
【００４３】
以上説明した、ＳＴ９０５のビット列操作を、ある規則にしたがって繰返す。この参考例では、予め設定された一定回数だけ繰返す。ＳＴ９０６で、もし繰返し操作を行う場合は、ＳＴ９０５を繰返し、それ以外の場合は続いてＳＴ９０７でビット列デコード手段８０４が、もっとも良好度の高いビット列をデコードする。
第１０図でいえば、繰返しの過程でもっとも良好度の高いビット列１００３がデコードされて、第１０図１００４のような画像になる。同時に、テンプレートとしてのデータ形式にデコードされ、テンプレート格納手段８０７に格納し、処理を終了する（ＳＴ９０８）。
【００４４】
以上説明したように、この発明により、テンプレート画像の一部の画素をマッチングに用いるのでマッチング時間が短縮でき、また単純な間引き操作ではなく、自己相関マップをテンプレートの良否判定に用いていることから、マッチングにふさわしい画素のみを効率よくテンプレートとして選択できるという効果がある。また、テンプレート画素としてふさわしい画素としてのテンプレート構成要素を組合せる際に、すべての組合せを調べることをせず、乱数で発生させて得られたよい解の組合せとしてよりよい解を発生させることが可能になり、よい解の探索効率が向上するという効果がある。
【００４５】
なお、この参考例では、新規ビット列を生成に用いる親を決定するのに、良好度の高いビット列ほど選択されやすいようにしたが、例えば多少良好度が低くても親に選ばれる可能性が十分あるように設定してもよい。また、２つの親から２つの子を生成するのに、マスクビット列を利用したが、親のビット列を受け継ぐような生成の仕方であればよく、例えば２つの親ビット列を任意の位置で分断し、それぞれの分断されたカタワレの組合せとして２つの子を生成しても同様の効果が得られることはいうまでもない。
【００４６】
なお、この参考例では、ビット列操作の繰返しを一定回数だけ行ったが、この他にも例えばビット列群格納手段中の最大良好度をもつビット列の良好度や、平均良好度が予め設定した値を超えた時に繰返し操作を終了するようにしてもよい。
また、この参考例では、ビット列操作として２つのビット列を合成して別のビット列を生成する方法を説明したが、このかわりに１つのビット列からランダムに選んだ各ビットの内容を反転させる操作を用いたり、またこの方法をこの参考例のビット列操作の前または後に追加して組合せてもよい。
【００４７】
参考例５．
以下、この発明の第５の参考例を、図を用いて説明する。
図１２は、この参考例における画像処理装置（以下、本装置と呼ぶ）の構成を示すブロック図であり、図１３は本装置の動作を示すフローチャートである。以下このフローチャートにそって本装置の動作を説明する。ただし、テンプレート生成後の認識処理部については第１の参考例と同じであり説明を省略する。
ＳＴ１３０１で本装置を起動すると、ＳＴ１３０２でテンプレートを生成するためのテンプレート原画像を上記各参考例と同様に原テンプレート格納手段１２０１に格納する。次に、ＳＴ１３０３で格納した原テンプレート画像から、テンプレート構成要素抽出手段１２０２により、テンプレート構成要素を抽出する。テンプレート構成要素としては、もっとも簡単なものとして、例えば画像を等間隔にサンプリングする方法を用いる。
続くＳＴ１３０４では、テンプレート構成要素選択手段（１２０３）によって、テンプレート構成要素としての画素のなかから好ましいものだけがＤ／Ｂ１２０４の内容をもとに選択的に組合される。選択されたテンプレートは、次のステップ（ＳＴ１３０５）で、テンプレート良好度表示手段１２０５により、その良好度合を示す値が表示装置に表示される。良好度合いとしては、例えばこのテンプレートの自己相関マップの形状から求めた値である。
【００４８】
図１４は、表示画面の一例を模式的に示した図である。図のように、運用にあたってはモニターＣＲＴなどの表示機器を用いて原テンプレートの設定ができる。画面１４０１には、認識したい対象物１４０２と切出した原テンプレート画像１４０３が表示される。この参考例によって求められたテンプレート候補は、その良好度１４０４が表示される。この例では、その値が７７と表示されている。運用にあたってはこの表示により、テンプレート良好度が十分かどうかを判断し、判断結果を入力する（ＳＴ１３０６）。ＳＴ１３０７では、入力した情報に基づき、やり直し指示であれば再びＳＴ１３０２から処理を行い、新たなテンプレート原画像切出し結果に基づいて再度テンプレート構成要素抽出、テンプレート構成要素選択を行う。やり直し指示でなければ、そのまま処理を終了し（ＳＴ１３０８）、参考例１で述べたようなパターンマッチング処理に続ける。
【００４９】
以上説明したように、この参考例により、設定したテンプレート候補画像の良好度合を報知することが可能になり、よりよいテンプレート設定を行う際の指標を与えるこができるという効果がある。同時に、要求にしたがってテンプレートを再設定し、よりよいテンプレートになるようにシステム運用を支援することもできる。
【００５０】
なお、この参考例では、テンプレート良好度表示内容として、テンプレート構成要素選択時に求めた自己相関マップの形状から演算される値を用いたが、予め設定した基準値と良好度を比較し、良好度が高い場合には「ＯＫ」それ以外では「やり直し」などという文字列を表示してもよい。あるいは、基準値を超える良好度を得るために最小限必要なテンプレートの画素数を表示しても同等の効果がある。さらに、別の表示内容としては、テンプレート画素数から見積もったマッチングにかかる予想処理時間を用いてもよい。
【００５１】
また、この参考例では、モノクロ画像を前提として説明したが、確認しやすいようにカラー表示を用いることで一層この参考例の効果が上がることはいうまでもない。
【００５２】
また、この参考例では、やり直し指示に基づくテンプレート切出し処理からの繰返し回数については考慮されていないが、予め決めた一定回数内でこの繰返しを行うことで、無用な繰返しを避ける効果が生じる。
【００５３】
さらに、この参考例では、やり直し指示の場合に、図１３のＳＴ１３０２のテンプレート切出しから処理を繰返すようにしたが、テンプレート構成要素選択処理に、参考例２で述べたような乱数を利用した方式を用いる場合には、乱数の初期値を変えてＳＴ１３０４から処理を繰返すようにしてもよい。
【００５４】
実施例１．
実施例１に係る発明では、多段階テンプレートマッチングにおいて、各マッチングステージ毎に設定されたマッチング処理時間の上限値に基づき、テンプレート生成のもとになる任意のＮ個の画素よりなる原テンプレート画像から、予め設定した１＜ｎ＜Ｎなる整数ｎ個の画素よりなるテンプレート構成要素を複数個順次発生しテンプレート候補とし、テンプレート候補のテンプレートとしての良好度を算出し、良好度が最大となるテンプレート候補を選択し、選択したテンプレート候補を格納しテンプレートとする最適テンプレート生成を行い、それ以外のステージでは原テンプレート画像の全画素または同画像を規則的にサンプリングすることで得られる単純なテンプレートを用いて粗精マッチングを行うように作用する。
以下、この発明の第１の実施例を、図を用いて説明する。
図１５は、この実施例における画像処理装置（以下、本装置と呼ぶ）の構成を示すブロック図であり、図１６は本装置の動作の流れを示すフローチャートである。以下このフローチャートにそって本装置の動作を説明する。
【００５５】
この実施例は、いわゆる多段階テンプレートマッチング処理に関するものである。
多段階テンプレートマッチングとは、上記各参考例で述べたようなテンプレートマッチングを、複数の縮退画像を用いて段階的に行うものであり、通常マッチング処理時間の高速化の目的で用いられる。この場合、マッチングに用いられるテンプレートは、多段階マッチングの段数に応じて複数のものが予め用意され、認識対象となる画像も、同様の縮退比率をもって複数のものが用意され、まず最初にもっとも粗い（縮退比率が高いもの）画像とそれに対応するテンプレートを用いてマッチングが行われる。その後、順次縮退比率を下げながら前段階の認識結果の近傍でのみマッチング処理を行う操作を繰返し、探索範囲を広げることなく正しい認識結果を得られる。
各段階におけるマッチング操作自体は、第１の参考例に述べた通りであるので、説明を省略する。
【００５６】
ＳＴ１６０１で処理が開始されると、最初にテンプレートを生成するための原テンプレート画像が入力され、上記各参考例と同様にして、縮退のもとになる精テンプレート原画像が精テンプレート画像格納手段（１５０１）に格納される（ＳＴ１６０２）。この実施例で説明するマッチング方式は、既に述べたように多段階であり、そのもっとも縮退比率の小さいものは縮退比率１：１（無縮退）である。通常この画像によるマッチングを精（ｆｉｎｅ）マッチングと呼ぶことから、ここでは無縮退のテンプレート画像を精テンプレート画像と呼ぶことにする。この実施例では、切出す精テンプレート画像のサイズを１２８×１２８とする。
【００５７】
続いて、ＳＴ１６０３では予め設定された複数の段数に応じて精テンプレート原画像を縮退する。この実施例では段数を５段としている。縮退は、例えば画像を操作し、縦横それぞれ２：１に間引くことで行う。この実施例では、精テンプレート画像そのものの他に、６４×６４画像、３２×３２画像、１６×１６画像、８×８画像をそれぞれテンプレート画像格納手段（１５０３）に格納する。
【００５８】
続くＳＴ１６０４では、テンプレート生成処理における、現在の段数Ｄを１に初期化する。ＳＴ１６０５では、第Ｄ段のテンプレート原画像をテンプレート画像格納手段（１５０３）からロードし、画像サンプリング手段（１５０８）によって、単純サンプリングによってテンプレート候補を生成する。この制御は、テンプレート生成方式選択手段（１５０４）で行う。ここでいう単純サンプリングとは、予め定めたサンプリング規則にしたがって、画像を規則的にサンプリングすることを意味する。生成された第Ｄ段のテンプレート候補は、一旦テンプレート格納手段（１５０９）に格納する。
【００５９】
次いで、ＳＴ１６０６でテンプレート格納手段（１５０９）に格納したテンプレート候補の画素数を考慮し、このテンプレート候補を用いた場合のテンプレートマッチング処理に必要な処理時間を見積る。
処理時間は、例えば式１のようなマッチング演算を規定しているので、認識対象の画像のサイズと、テンプレートの画素数とから簡単に求めることができる。ＳＴ１６０７では、テンプレート生成方式選択手段（１５０４）により、この見積り時間と、予め設定した各段毎の処理時間の上限を与える基準値と比較する。見積り時間が基準値より大きい場合には、このテンプレート候補では設定した時間内にマッチング処理を終了することが不可能と判断し、別の方式でより少ない画素数で構成するテンプレート候補を生成し直す。
【００６０】
この処理は、ＳＴ１６０８でテンプレート原画像からテンプレート構成要素抽出手段（１５０５）によってテンプレート構成要素を抽出し、ＳＴ１６０９でテンプレート構成要素選択手段（１５０６）および好ましいテンプレートに関するＤ／Ｂ（１５０７）によってテンプレート構成要素が最適に選択することで実現する。
新しく求めたテンプレート候補は、テンプレート格納手段（１５０９）に格納する。また、ＳＴ１６０７で、見積り時間が基準値より小さい場合には、テンプレート構成要素抽出手段やテンプレート構成要素選択手段によるテンプレート候補の再生成を行うことなく、そのまま画像サンプリング手段（１５０８）で求めたテンプレート候補を最終的なテンプレートとしてテンプレート格納手段に格納する。
【００６１】
ＳＴ１６１０では、現在注目している段数Ｄの値を一つ増やし、より縮退比率の小さい画像に対して同様の処理を繰返す。その時、ＳＴ１６１１で、予め設定したすべての段数に達したら処理は終了し（ＳＴ１６１２）、そうでなければＳＴ１６０５から処理を繰返す。
【００６２】
このように、この実施例においては、多段階マッチングの各段階毎に設定されたマッチング時間を超えるような画素数がテンプレートとして登録された場合のみテンプレートが第１の参考例と同様に生成され、それ以外では単純な方法でテンプレート候補が作られる。これは、テンプレート選択処理時間もできるだけ節約し、さらに、テンプレートマッチングの時間も短くするという効果がある。また、実行時間の上限が決まっているような場合に、必ずそれ以下の時間で処理が終了するという制約下で最もよいテンプレートを生成できるという効果がある。
【００６３】
なお、この実施例では、精テンプレートサイズ１２８、マッチング段数５の時を説明したが、他のサイズや段数の時もまったく同様に動作し得ることはいうまでもない。
また、この実施例では、マッチングの見積り時間を基準値と比較したが、テンプレート画素数と見積り時間との間には一定の関係があることから、テンプレート画素数を比較の対象に利用しても同様の効果を奏する。
【００６４】
また、この実施例では、画像サンプリング手段によって一旦は単純サンプリングによってテンプレート候補を生成して見積り時間を算出したが、精テンプレートのサイズと段数Ｄおよび画像サンプリング手段（１５０８）におけるサンプリング比率から、テンプレート候補を生成せずに見積り時間を演算することも可能であり、その場合はＳＴ１６０７で見積り時間が基準値より小さいと判断された時に始めて画像サンプリング手段（１５０８）でテンプレートを生成するように動作させればよい。
【００６５】
実施例２．
実施例２に係る発明では、多段階テンプレートマッチングにおいて、全てのテンプレートのもとになる精テンプレート画像を順次縮退し、テンプレートを生成する操作を繰返す際に、テンプレート生成のもとになる任意のＮ個の画素よりなる原テンプレート画像から、予め設定した１＜ｎ＜Ｎなる整数ｎ個の画素よりなるテンプレート構成要素を複数個順次発生しテンプレート候補とし、テンプレート候補のテンプレートとしての良好度を算出し、良好度が最大となるテンプレート候補を選択し、選択したテンプレート候補を格納しテンプレートとする方式によって演算されたテンプレート良好度が予め設定した基準値を上回っている限り繰返しを行い、基準値を下回った際に縮退とテンプレート生成を中断することでマッチングの段数を決定するように作用する。
以下、この発明の第２の実施例を、図を用いて説明する。
図１７は、この実施例における画像処理装置（以下、本装置と呼ぶ）の構成を示すブロック図であり、図１８は本装置の動作の流れを示すフローチャートである。以下このフローチャートにそって本装置の動作を説明する。
この実施例は、第１の実施例と同じく、いわゆる多段階テンプレートマッチング処理に関するものである。したがって、ここでは多段階テンプレートマッチングに関する動作の詳細についての説明を省略する。
【００６６】
ＳＴ１８０１において、処理を開始すると、最初にテンプレートを生成するためのテンプレート画像が入力され、上記各実施例および参考例と同様に縮退のもとになる精テンプレート画像を精テンプレート画像格納手段（１７０１）に格納する（ＳＴ１８０２）。この実施例で説明するマッチング方式は、上記実施例６と同様である。この実施例でも、切出す精テンプレート画像のサイズを１２８×１２８とする。
【００６７】
ステップＳＴ１８０７では、テンプレート段数決定手段（１７０２）がテンプレートに対応する良好度を、良好度比較手段（１７１０）において、予めテンプレート良好度閾値格納手段（１７０９）がもっている基準値と比較し、良好度が基準値より大きければ変数Ｔを１だけ増やし（ＳＴ１８０８）、再びＳＴ１８０４から処理を繰返す。その時、ＳＴ１８０４において縮退操作は、前回の縮退結果に対して再び１／２の等間隔サンプリングによって行う。ＳＴ１８０７において、良好度が基準値以下であればそれ以上縮退を繰返しても良好なテンプレートは得られないと判断し、段数をＴ−１として（ＳＴ１８０９）、処理を終了する（ＳＴ１８１０）。
【００６８】
以上説明したように、テンプレートの良好度がある基準より大きいうちは縮退を繰返し、それ以下の場合は縮退を停止することで、縮退回数を求め、それを縮退段数とする。この一連の処理により、本発明による装置は、テンプレート良好度が一定基準を上回ることが保証されている多段階マッチングのためのテンプレートを生成することができる。これにより、多段階マッチングにおける段数の自動的な決定が可能になるという効果が得られる。
【００６９】
なお、この実施例では、テンプレートの良好度として第１の参考例と同じものを用いたが、それ以外にも、テンプレート画素の分散値を用いてもよく、その場合にはこの分散値が別途設定した基準値より小さくなれば縮退を停止するように処理を行えばよい。
【００７０】
また、この実施例では、縮退をおこなうのに、縮退比率１／２の等間隔サンプリングを用いたが、例えば２×２の領域の平均化をおこなっても同様の効果が得られることは明らかである。
【００７１】
また、この実施例では処理の過程でテンプレート構成要素抽出として全画素を用いる場合を示したが、適当な経験的知識によって例えば輪郭のエッジ近傍画素を優先して抽出するようにしてもよい。
【００７２】
【発明の効果】
【００７３】
本発明により、多段階テンプレートマッチング装置において、予め設定した各段毎のマッチング時間を超えないテンプレートが効率よく自動的に生成できる。
本発明により、高速にマッチングでき、しかも所望の特性を有するテンプレートを生成する際に、近傍画素情報などを用いてテンプレートとして好ましい画素を優先的に選択し、あるいは好ましくない画素を排除することができる。
【００７４】
本発明により、多段階テンプレートマッチング装置において、良好なテンプレートが得られるマッチング段数を自動的に決定することができる。
【図面の簡単な説明】
【図１】  第１の参考例の構成を説明するための図である。
【図２】  第１の参考例の動作を示すフローチャートである。
【図３】  第２の参考例の構成を説明するための図である。
【図４】  第２の参考例の動作を示すフローチャートである。
【図５】  第３の参考例の構成を説明するための図である。
【図６】  第３の参考例の動作を示すフローチャートである。
【図７】  第３の参考例における特徴的画素の定義の一例を説明するための図である。
【図８】  第４の参考例の構成を説明するための図である。
【図９】  第４の参考例の動作を示すフローチャートである。
【図１０】  第４の参考例における画像とビット列との対応関係を説明するための図である。
【図１１】  第４の参考例におけるビット列操作の一例を説明するための図である。
【図１２】  第５の参考例の構成を説明するための図である。
【図１３】  第５の参考例の動作を示すフローチャートである。
【図１４】  第５の参考例における表示画面の一例を示す図である。
【図１５】  第１の実施例の構成を説明するための図である。
【図１６】  第１の実施例の動作を示すフローチャートである。
【図１７】  第２の実施例の構成を説明するための図である。
【図１８】  第２の実施例の動作を示すフローチャートである。
【図１９】  従来の技術を説明するための図である。
【図２０】  従来の技術における装置の動作を説明するためのフローチャートである。
【図２１】  他の従来の技術を説明するための図である。
【図２２】  他の従来の技術を説明するための図である。
【図１】
0003680826.tif 000007
【図２】
0003680826.tif 000008
【図３】
0003680826.tif 000009
【図４】
0003680826.tif 000010
【図５】
0003680826.tif 000011
【図６】
0003680826.tif 000012
【図７】
0003680826.tif 000013
【図８】
0003680826.tif 000014
【図９】
0003680826.tif 000015
【図１０】
0003680826.tif 000016
【図１１】
0003680826.tif 000017
【図１２】
0003680826.tif 000018
【図１３】
0003680826.tif 000019
【図１４】
0003680826.tif 000020
【図１５】
0003680826.tif 000021
【図１６】
0003680826.tif 000022
【図１７】
0003680826.tif 000023
【図１８】
0003680826.tif 000024
【図１９】
0003680826.tif 000025
【図２０】
0003680826.tif 000026
【図２１】
0003680826.tif 000027
【図２２】
0003680826.tif 000028