(57)【要約】 【課題】  検出精度向上するとともに、処理の高速化および必要なメモリ容量の縮小を実現する画像処理方法、画像処理装置、画像処理プログラムおよび画像処理プログラムを記録する記録媒体を提供する。【解決手段】  ステップＳ１では、前処理として平滑化処理を行い、ステップＳ２では、画素を飛ばしながらSobelオペレータによるエッジ強度を求め、その強度が閾値範囲内となる画素について、エッジ方向と位置座標とを登録する。ステップＳ３では、一定の回転角度刻みの粗サーチとして一般化Hough変換を実行し、投票数の多い順に候補画素を選択する。ステップＳ４では、座標および回転角度とも近似した複数の画素を同じクラスタとし、その中から代表画素を選出する。ステップＳ５では、粗サーチにおける刻み角度よりも小さな回転角度で中間サーチとして一般化Hough変換の再投票を行い、ステップ６で正規化相関を用いた最終サーチを行う。【選択図】      図１
2008097309.tif 000002
【特許請求の範囲】
【請求項１】
画像データに含まれる対象ワークを検出する画像処理方法において、
前記画像データを構成する画素からエッジ画素を抽出し、エッジ方向および位置を登録するエッジ抽出ステップと、
第１の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行するステップであって、投票時に注目画素の周辺画素の投票数を足し込むようにして投票数を決定し、予め定める指定数分の画素を第１候補画素として選択する粗サーチステップと、
前記第１候補画素を対象に、画素間の距離および回転角度差に基づくクラスタリングを行い、各クラスタから代表画素を選出して第２候補画素を選択するクラスタリングステップと、
前記第２候補画素を対象に、前記第１の角度よりも小さい第２の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行し、予め定める指定数分の画素を第３候補画素として選択する中間サーチステップと、
前記第３候補画素を対象に、正規化相関によって対象ワークの回転角度および位置を検出する最終サーチステップとを含むことを特徴とする画像処理方法。
【請求項２】
前記エッジ抽出ステップでは、間引かれた画素に対して５×５画素のSobelオペレータを使用してエッジの抽出を行うことを特徴とする請求項１記載の画像処理方法。
【請求項３】
前記第１の角度は、５°〜１５°であることを特徴とする請求項１記載の画像処理方法。
【請求項４】
前記クラスタリングステップでは、単純クラスタリング法を使用し、回転角度差の閾値は前記第１の角度であり、前記画素間距離の閾値は、基準テンプレートの中心から最も遠いエッジ画素までの距離に予め定める割合を掛けた距離であることを特徴とする請求項１記載の画像処理方法。
【請求項５】
前記エッジ抽出ステップより前に、前記画像データに対して平滑化処理を行う平滑化ステップを含むことを特徴とする請求項１〜４のいずれか１つに記載の画像処理方法。
【請求項６】
請求項１〜５のいずれか１つに記載の画像処理方法をコンピュータに実行させるための画像処理プログラム。
【請求項７】
請求項１〜５のいずれか１つに記載の画像処理方法をコンピュータに実行させるための画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項８】
画像データに含まれる対象ワークを検出する画像処理装置において、
前記画像データを構成する画素からエッジ画素を抽出し、エッジ方向および位置を登録するエッジ抽出手段と、
第１の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行する手段であって、投票時に注目画素の周辺画素の投票数を足し込むようにして投票数を決定し、予め定める指定数分の画素を第１候補画素として選択する粗サーチ手段と、
前記第１候補画素を対象に、画素間の距離および回転角度差に基づくクラスタリングを行い、各クラスタから代表画素を選出して第２候補画素を選択するクラスタリング手段と、
前記第２候補画素を対象に、前記第１の角度よりも小さい第２の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行し、予め定める指定数分の画素を第３候補画素として選択する中間サーチ手段と、
前記第３候補画素を対象に、正規化相関によって対象ワークの回転角度および位置を検出する最終サーチ手段とを含むことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置などから入力された画像データに対して図形処理を行う画像処理方法、画像処理装置、画像処理プログラムおよび画像処理プログラムを記録する記録媒体に関し、特に画像データに含まれるワークの輪郭形状から回転角度と位置を検出する画像処理方法および画像処理装置に関する。
【背景技術】
【０００２】
製品組立ての自動化および検品作業の自動化などを高精度で実現するために、食品容器、印刷文字、プリント基板上の部品、電子部品などの工業製品をカメラで撮像し、得られた画像データに対して各種画像処理を行う画像処理装置が必要となっている。
【０００３】
画像処理を利用して組立て、検査などの作業を行うためには、まず画像データに含まれる対象ワークを検出する必要がある。
【０００４】
対象ワークの検出を行う場合、よく知られている方法の１つに、対象ワークの形状を示す輪郭成分の解析がある。
【０００５】
対象ワークの輪郭成分を得るには、まず対象ワークの画像データに対して空間微分フィルタを施し、画像データ中の輪郭を成す濃度変化点のエッジ成分を抽出することが行なわれる。エッジ成分抽出としてよく利用されるSobelオペレータによる方法では、注目画素を中心とする３×３画素の画素ブロックに対して、以下のＡ式に示すようなＸ方向（水平方向）フィルタＦＸと、Ｙ方向（垂直方向）フィルタＦＹとで構成されるSobelオペレータを適用し、注目画素のＸ方向エッジ強度ｆｘおよびＹ方向エッジ強度ｆｙを算出する。
【０００６】
【数１】
2008097309.tif 000003
【０００７】
算出した水平方向エッジ強度ｆｘおよび垂直方向エッジ強度ｆｙに基づくエッジ強度（２方向の強度の二乗和平方根）と閾値とを比較し、閾値以上の値を持つ画素をエッジ点として登録する。
【０００８】
こうして、エッジ点が求められた後、対象ワークの輪郭形状に対応する部分を求める手法としては、一般化Hough変換（Generaled Hough Transform，GHT）が挙げられる（非特許文献１参照）。
【０００９】
一般化Hough変換では、まず検査対象の図形をテンプレートとし、テンプレートが幾何学変換されて画像中に存在していると考える。次にテンプレートの位置および方向などを規定する幾何変換パラメータに着目し、そのパラメータ空間で投票を行う。この処理は、大まかには次の１〜４の手順で行なわれる。
手順１  テンプレートの形状定義
手順２  パラメータ空間の設定
手順３  投票
手順４  ピーク点の抽出
このうち手順２〜４は、回転画像照合に該当する。
【００１０】
手順１では、図７に示すようなｕｖ座標系におけるテンプレートを定義し、図８に示すようにθとｒ，αとを形状定義表に登録する。
【００１１】
手順２では、まず、投票箱（[φ][X][Y]  φ=回転角、Ｘ，Ｙ=基準点、用途の少ないサイズ変動のパラメータは割愛）を用意する。テンプレートが回転後、テンプレート上の点Pi(i=1,2,3,・・・)が画像中の座標(ｘi,ｙi)に置かれたとすると、基準点の画像座標(
X,Y)は次式で表される。
X＝ｒicos(αi＋φ)＋ｘi、  Y＝ｒisin(αi＋φ)＋ｙi              …（１）
【００１２】
ここで、点Piにおけるθi、ｘi、ｙiが求められたとし、形状定義表登録時のθを
θ´とすると、次の関係が成り立つ。
θ＝θ´＋φ                                                    …（２）
【００１３】
この後、手順３で各φに対して、次の手順で投票する。
（１）式２を満たすθ´を求める。
（２）形状定義表のθ´の箇所から、r、αを求める。
（３）式１を満たす（Ｘ，Ｙ）セル空間に投票する。
【００１４】
最終的に最も投票数の多いセル空間（Ｘ，Ｙ）が、ピーク点であり、テンプレートの検出位置となる。
【００１５】
一般化Hough変換は、計算コストが大きい処理であると言われているため、非特許文献２に記載されているように、求めたエッジ点について予め細線化を施すことで高速化を図る場合がある。また、特許文献１記載の画像認識方法および装置は、圧縮画像による一般化Hough変換で概略の回転角度と位置を求めた後、圧縮画像から求めた回転角度および位置により制限し、原画像による一般化Hough変換を適用する２段処理で高速化を図っている。
【００１６】
【非特許文献１】画像処理テキストブック編集委員会、「画像処理標準テキストブック」、財団法人画像情報教育振興協会、平成９年、ｐ．２５４−２５９
【非特許文献２】木村彰男、渡辺孝志著、「高速一般化ハフ変換−相似変換不変な任意図形検出法−」、電子情報通信学会誌  Ｄ−ＩＩ、電子情報通信学会、１９９８年４月、Ｖｏｌ．Ｊ８１−Ｄ−ＩＩ、Ｎｏ．４、ｐ．７２６−７３４
【特許文献１】特開平８−１２３９６３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
原理的に一般化Hough変換のみで回転画像照合を行い、回転角度と位置を検出することは可能であるが、投票処理に多くの計算コストを要し、検出精度もSobelオペレータなど空間微分フィルタを用いるため満足しているとは言い難い。また、平行移動および回転に関する投票空間も膨大であり、何らかの工夫が必要とされる。
【００１８】
そのため、非特許文献２では細線化処理で選別したエッジ点を対象に一般化Hough変換しているが、実使用では細線化による選別が誤検出の原因となる場合がある。
【００１９】
また、特許文献１では、一般化Hough変換の２段処理を行っているが、空間微分フィルタでエッジ方向を求めており、検出精度に問題がある。一般化Hough変換における検出精度の成否はエッジ手法の結果に大きく依存するという知見が見出されており（五十嵐悟、他３名、「方向ヒストグラムの自己回帰モデルに基づく回転不変画像照合」、精密工学会誌、精密工学会、２００１年、ｖｏｌ．６７、ｎｏ．９、ｐ．１５１９−１５２３参照）、特に閾値の設定がエッジの検出精度に与える影響は大きい。
【００２０】
さらに、２段処理を用いた場合、最初の粗サーチ段階で選出された候補点の中には、同じものとみなせる点が重複して候補となる可能性がある。この重複したものに対し、各々後続の処理を行うと時間的な無駄が発生する。
【００２１】
本発明の目的は、検出精度向上するとともに、処理の高速化および必要なメモリ容量の縮小を実現する画像処理方法、画像処理装置、画像処理プログラムおよび画像処理プログラムを記録する記録媒体を提供することである。
【課題を解決するための手段】
【００２２】
本発明は、画像データに含まれる対象ワークを検出する画像処理方法において、
前記画像データを構成する画素からエッジ画素を抽出し、エッジ方向および位置を登録するエッジ抽出ステップと、
第１の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行するステップであって、投票時に注目画素の周辺画素の投票数を足し込むようにして投票数を決定し、予め定める指定数分の画素を第１候補画素として選択する粗サーチステップと、
前記第１候補画素を対象に、画素間の距離および回転角度差に基づくクラスタリングを行い、各クラスタから代表画素を選出して第２候補画素を選択するクラスタリングステップと、
前記第２候補画素を対象に、前記第１の角度よりも小さい第２の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行し、予め定める指定数分の画素を第３候補画素として選択する中間サーチステップと、
前記第３候補画素を対象に、正規化相関によって対象ワークの回転角度および位置を検出する最終サーチステップとを含むことを特徴とする画像処理方法である。
【００２３】
また本発明は、前記エッジ抽出ステップでは、間引かれた画素に対して５×５画素の
Sobelオペレータを使用してエッジの抽出を行うことを特徴とする。
【００２４】
また本発明は、前記第１の角度は、５°〜１５°であることを特徴とする。
また本発明は、前記クラスタリングステップでは、単純クラスタリング法を使用し、回転角度差の閾値は前記第１の角度であり、前記画素間距離の閾値は、基準テンプレートの中心から最も遠いエッジ画素までの距離に予め定める割合を掛けた距離であることを特徴とする。
【００２５】
また本発明は、前記エッジ抽出ステップより前に、前記画像データに対して平滑化処理を行う平滑化ステップを含むことを特徴とする。
【００２６】
また本発明は、上記の画像処理方法をコンピュータに実行させるための画像処理プログラムである。
【００２７】
また本発明は、上記の画像処理方法をコンピュータに実行させるための画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００２８】
また本発明は、画像データに含まれる対象ワークを検出する画像処理装置において、
前記画像データを構成する画素からエッジ画素を抽出し、エッジ方向および位置を登録するエッジ抽出手段と、
第１の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行する手段であって、投票時に注目画素の周辺画素の投票数を足し込むようにして投票数を決定し、予め定める指定数分の画素を第１候補画素として選択する粗サーチ手段と、
前記第１候補画素を対象に、画素間の距離および回転角度差に基づくクラスタリングを行い、各クラスタから代表画素を選出して第２候補画素を選択するクラスタリング手段と、
前記第２候補画素を対象に、前記第１の角度よりも小さい第２の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行し、予め定める指定数分の画素を第３候補画素として選択する中間サーチ手段と、
前記第３候補画素を対象に、正規化相関によって対象ワークの回転角度および位置を検出する最終サーチ手段とを含むことを特徴とする画像処理装置である。
【発明の効果】
【００２９】
本発明によれば、エッジ抽出ステップで、画像データを構成する画素からエッジ画素を抽出し、エッジ方向および位置を登録し、粗サーチステップでは、第１の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行する。粗サーチステップにおいては、投票時に注目画素の周辺画素の投票数を足し込むようにして投票数を決定し、予め定める指定数分の画素を第１候補画素として選択する。
【００３０】
クラスタリングステップでは、前記第１候補画素を対象に、画素間の距離および回転角度差に基づくクラスタリングを行い、各クラスタから代表画素を選出して第２候補画素を選択し、中間サーチステップで、前記第２候補画素を対象に、前記第１の角度よりも小さい第２の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行し、予め定める指定数分の画素を第３候補画素として選択する。
【００３１】
最終サーチステップでは、前記第３候補画素を対象に、正規化相関によって対象ワークの回転角度および位置を検出する。
【００３２】
これにより、検出精度向上するとともに、処理の高速化および必要なメモリ容量の縮小を実現することができる。
【００３３】
また本発明によれば、前記エッジ抽出ステップでは、間引かれた画素に対して５×５画素のSobelオペレータを使用してエッジの抽出を行う。
【００３４】
これにより、エッジ方向の精度が向上し、後続の全ステップでの精度を向上させることができる。
【００３５】
また本発明によれば、前記第１の角度は、５°〜１５°である。
第１の角度が５°よりも小さいと投票処理に要する計算時間が短縮されず、１５°よりも大きいと十分な検出精度が達成できない。
【００３６】
また本発明によれば、前記クラスタリングステップでは、単純クラスタリング法を使用する。このとき、回転角度差の閾値は前記第１の角度とする。また、前記画素間距離の閾値は、基準テンプレートの中心から最も遠いエッジ画素までの距離に予め定める割合を掛けた距離とする。
【００３７】
これにより、適切なクラスタが生成されるので、無駄な計算が減少し、精度も向上する。
【００３８】
また本発明によれば、前記エッジ抽出ステップより前に、平滑化ステップで前記画像データに対して平滑化処理を行う。
これにより、エッジ抽出ステップにおける抽出精度を向上させることができる。
【００３９】
また本発明によれば、上記の画像処理方法を、コンピュータに実行させるための画像処理プログラムおよび、画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体として提供することができる。
【００４０】
また本発明によれば、エッジ抽出手段が、画像データを構成する画素からエッジ画素を抽出し、エッジ方向および位置を登録し、粗サーチ手段が、第１の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行する。粗サーチ手段は、投票時に注目画素の周辺画素の投票数を足し込むようにして投票数を決定し、予め定める指定数分の画素を第１候補画素として選択する。
【００４１】
クラスタリング手段は、前記第１候補画素を対象に、画素間の距離および回転角度差に基づくクラスタリングを行い、各クラスタから代表画素を選出して第２候補画素を選択し、中間サーチ手段が、前記第２候補画素を対象に、前記第１の角度よりも小さい第２の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行し、予め定める指定数分の画素を第３候補画素として選択する。
【００４２】
最終サーチ手段は、前記第３候補画素を対象に、正規化相関によって対象ワークの回転角度および位置を検出する。
【００４３】
これにより、検出精度向上するとともに、処理の高速化および必要なメモリ容量の縮小を実現することができる。
【発明を実施するための最良の形態】
【００４４】
本発明は、以下に示す手順から構成される画像処理方法により、対象ワークの回転角度と位置の検出を行う。
手順１：平滑化処理
手順２：エッジ抽出処理
手順３：粗サーチ処理
手順４：クラスタリング処理
手順５：中間サーチ処理
手順６：最終サーチ処理
【００４５】
まず、各手順について、図１に示す画像処理のフローチャートを基に概略について説明する。
【００４６】
本発明では、一般化Hough変換による回転画像照合において、対象ワークの回転角度と位置の検出について、高速化と省メモリ化を図りながら、検出精度の向上を実現する。
【００４７】
手順１：平滑化処理（ステップＳ１）
ノイズ除去するための前処理として、画像データに対して平滑化フィルタを用いた平滑化処理を行う。
【００４８】
手順２：エッジ抽出処理（ステップＳ２）
平滑化した画像データを対象に、画素を飛ばしながらSobelオペレータによるエッジ強度を求め、その強度が予め設定された閾値範囲内であれば、エッジ方向と位置座標とを登録して抽出する。
【００４９】
手順３：粗サーチ処理（ステップＳ３）
手順２で抽出したエッジの方向と座標とを登録した後、対象ワークの輪郭形状に対応する部分の概略の回転角度と位置を求めるため、一定の回転角度刻みの粗サーチとして一般化Hough変換を実行する。一般化Hough変換で求めた投票数の多い順に、指定数分の第１候補画素を選択する。
【００５０】
手順４：クラスタリング処理（ステップＳ４）
手順３で選択された第１候補画素の中には、同じワークとみなせる画素が重複して挙げられている可能性がある。そのため座標および回転角度とも近似した複数の画素を同じクラスタとし、その中から最も投票数の多い点だけを第２候補画素とする。その他の画素は後続の処理の対象から外す。
【００５１】
手順５：中間サーチ処理（ステップＳ５）
第２候補画素を対象に、手順３の粗サーチにおける刻み角度よりも小さな回転角度で中間サーチとして一般化Hough変換の再投票を行い、第３候補画素を選出する。
【００５２】
手順６：最終サーチ処理（ステップＳ６）
手順３と手順５の一般化Hough変換２段処理で求めた回転角度と座標は、ピクセル精度であり、ピクセル単位の誤差が予想される。そのため、一般化Hough変換で求めた位置周辺について、第３候補画素を対象に、正規化相関を用いた最終サーチを行う。
【００５３】
次に各手順について詳細に説明する。
手順１：平滑化処理
平滑化処理に用いる平滑化フィルタとしては、平均値フィルタとメディアンフィルタとがあり、実験結果から平均値フィルタが望ましい。
【００５４】
平均値フィルタは、図２に示すように、注目画素の画素値Ｇ１１にその周辺８画素の画素値Ｇ００，Ｇ１０，Ｇ２０，Ｇ０１，Ｇ２１，Ｇ０２，Ｇ１２，Ｇ２２を加えた９画素の画素値の平均が注目画素の画素値となるようなフィルタである。
【００５５】
平滑化処理後の注目画素の画素値Ｇ（平均）は、式３で算出する。
G（平均）＝(G00+G10+G20+G01+G11+G21+G02+G12+G22)／9              …（３）
【００５６】
手順２：エッジ抽出処理
図３は、エッジ抽出処理を示すフローチャートである。
【００５７】
ステップＳ１１では、平滑化処理した画像データを対象に、Sobelオペレータを用いてエッジ強度を求める。
【００５８】
Sobelオペレータは、３×３画素ではなく、以下のＢ式に示すような５×５画素の改良型オペレータを使用する。
【００５９】
Ｘ方向（水平方向）フィルタＦＸと、Ｙ方向（垂直方向）フィルタＦＹとで構成されるSobelオペレータを適用し、注目画素のＸ方向エッジ強度ｆｘおよびＹ方向エッジ強度ｆｙを算出する。なお、注目画素と注目画素に隣接する周辺画素との差分値が比較的大きい場合は、式Ａで表す従来の３×３画素Sobelオペレータを用いても良い。
【００６０】
【数２】
2008097309.tif 000004
【００６１】
エッジ強度ｆｘｙは式４で算出し、エッジ方向θは式５で算出する。
fxy＝√(fx2＋fy2)                                                …（４）
θ＝tan-1(fy／fx)                                                …（５）
【００６２】
ステップＳ１２では、エッジ強度ｆｘｙが、下限側閾値ＴＨＬと上限側閾値ＴＨＨとの範囲内にあるかどうかを判断する。
【００６３】
下限側閾値ＴＨＬは、形状定義表登録時にテンプレート領域のみを対象として、判別分析法により求める。判別分析法については、田村秀行編著、「コンピュータ画像処理」、オーム社、平成１５年７月、ｐ．１４０の記載に基づいて求めることができる。
【００６４】
上限側閾値ＴＨＨは、以下に示すような統計処理に基づいて算出する。
下限値以上のエッジ強度を有する画素数を計数し、計数値に予め定める割合Ｍ％を掛けて得た画素数を算出する。下限値以上のエッジ強度を有する画素数が、算出された画素数となるときのエッジ強度を上限値とする。割合Ｍ％としては、９５％〜１００％が望ましい。
【００６５】
エッジ強度ｆｘｙが、範囲内にあればステップＳ１３に進み、範囲外であればステップＳ１４に進む。ステップＳ１３では、エッジ方向と画素の座標を記憶する。ステップＳ１４では、全ての画素について処理が終了したかどうかを判断し、終了していればエッジ抽出処理を終了する。終了していなければステップＳ１５で画素を間引いて(例えば、偶数アドレスの画素のみを処理の対象とする。)ステップＳ１２に戻る。
【００６６】
手順３：粗サーチ処理
手順３では、粗サーチとして、所定の回転角度刻みで一般化Hough変換を行う。
【００６７】
図４は、粗サーチ処理を示すフローチャートである。ステップＳ２１で投票空間をクリアして、ステップＳ２２で投票処理を行う。投票処理では、まず、回転角度（式１中のφ）を０°，ΔＡ，２×ΔＡ，・・・，（３６０°−ΔＡ）とΔＡ（単位は［°］）刻みで、式２を満たすθ´を求め、形状定義表のθ´の箇所から、ｒおよびαを求める。そして、式１を満たす(Ｘ,Ｙ)セル空間に投票する。
【００６８】
ステップＳ２３では全てのエッジについて投票処理を行ったかどうかを判断し、全て行っていればステップＳ２４に進み、行っていなければ次のエッジを対象にしてステップＳ２２に戻る。
【００６９】
ステップＳ２４では、最大の投票数となる回転角度と位置とを探し、第１候補画素を選択する。最大の投票数は各刻み角度ごとに求め、ステップＳ２５では、これまでの最大投票数（全角度を通した最大の投票数である全最大投票数）と比較する。全最大投票数以上であればステップＳ２６に進み、全最大投票数よりも小さければステップＳ２７に進む。ステップＳ２６では、全最大投票数、回転角度および位置を更新する。たとえば、１０°回転したと仮定すると、５０°のエッジ画素は、登録時には４０°のエッジ画素であったと考えられる。登録時４０°であったエッジ画素を形状定義表から集め、基準点との相対位置関係から、現在の基準位置を計算しそこに投票する。
【００７０】
ステップＳ２７では全ての回転角度についての処理が終了したかどうかを判断する。全て終了していれば粗サーチ処理を終了し、終了していなければステップＳ２８に進んで現在の回転角度に刻み角度ΔＡを加えてステップＳ２１に戻る。
【００７１】
手順３における刻み角度ΔＡは、５°〜１５°が望ましく、特に８°〜１０°が望ましい。刻み角度が５°よりも小さいと投票処理に要する計算時間が短縮されず、１５°よりも大きいと十分な検出精度が達成できない。
【００７２】
また、ステップＳ２４では、Sobelオペレータで求めたエッジ方向の精度誤差を改善するため、周辺画素の投票数を足し込むようにして最大投票数を求める。投票数を足し込む周辺画素は、注目画素を中心とする３×３画素における周辺８画素とすることが望ましい。
【００７３】
手順４：クラスタリング処理
手順３の粗サーチで選択された第１候補画素の中から、クラスタリングにより位置座標および回転角度がともに近似した画素を集めて同じクラスタとし、その中の最大投票数の画素だけを第２候補画素とする。１つのクラスタ内におけるその他の画素は、後続処理の対象から外す。クラスタリングとしては、単純クラスタリング（Nearest Neighbor法−
NN法）を採用する。その手順は、以下の通りである。
【００７４】
たとえば、図５の模式図に示すように、一つのデータＰ１をクラスタ中心とし、それから距離Ｔだけ離れたデータＰ２，Ｐ４，Ｐ５などは新たなクラスタ中心とする。距離Ｔ以内にあるＰ３は、Ｐ１と同じクラスタに属する。
【００７５】
このようにして、既存のクラスタ中心に近いものはそのクラスタのメンバとし、離れたものは新たなクラスタ中心とする。新たなクラスタ中心とするかどうかは、予め閾値を規定しておき、閾値以上に離れた場合に新たな中心とする。
【００７６】
本発明においては、クラスタのメンバであるか新たなクラスタ中心であるかを判断するために、２つのエッジ画素について、回転角度と、画素間の距離とを比較し、閾値よりも離れていれば新たなクラスタ中心であると判断する。
【００７７】
回転角度の閾値は、粗サーチにおける刻み角度ΔＡを採用し、２つのエッジ画素の回転角度が刻み角度以上に離れていれば、同一クラスタのメンバではないと判定する。距離の閾値は、基準テンプレートのエッジ画素の中で、中心から最も遠いエッジ画素までの距離をＳとしたとき、Ｓ×Ｎ％の距離を閾値とする。ここで、割合Ｎ％は７０％〜１００％である。
【００７８】
クラスタリングの対象となる候補画素の数は予め設定されており、その数分の候補画素が粗サーチで選択される。選択された候補画素がクラスタリングされ、上位のクラスタの代表画素（１つのクラスタ内で最大の投票数である画素）が後続処理の対象として選択される。
【００７９】
手順５：中間サーチ処理
手順５では、中間サーチとして、所定の回転角度刻みで一般化Hough変換を行う。
【００８０】
手順４のクラスタリングで絞り込んだ第２候補画素について、手順３のフローと同様のサーチ処理を行う。手順３との違いは、クラスタリングでさらに絞り込まれた候補画素を対象にすることと、回転角度の刻み角度を手順３よりも小さくすることである。粗サーチでの刻み角度を９°とすると、ピーク角度±６°を３°刻みとし、さらにピーク角度±２°を１°刻みとする。
【００８１】
刻み角度を小さくした上で、最大投票数の画素から順に指定候補数分の第３候補画素について回転角度と座標とを後続処理に渡す。
【００８２】
手順６：最終サーチ処理
手順５の中間サーチで求めた第３候補画素について、その位置と回転角度周辺について、取込画像側を回転させながら、正規化相関を行い、最も一致度の高い回転角度と座標を検出結果として出力する。
【００８３】
正規化相関は、以下の式６の相関式を用いて行う。
相関式＝{Ａ÷√(Ｂ×Ｃ)}×100                                  …（６）
【００８４】
また、Ａ＝Σ(Ｉ×Ｔ)−(ΣＩ)×(ΣＴ)／Ｎ：入力画像と基準画像の相互相関であり、Ｂ＝Σ(Ｉ×Ｉ)−(ΣＩ)×(ΣＩ)／Ｎ：入力画像自己相関であり、Ｃ＝Σ(Ｔ×Ｔ)−(ΣＴ)×(ΣＴ)／Ｎ：基準画像自己相関である。ここで、Ｎは基準画像の画素数、Ｔは基準画像濃度であり、Ｉは入力画像濃度である。
【００８５】
本発明は、対象ワークの検出のための画像処理において、検出精度向上するとともに、処理の高速化および必要なメモリ容量の縮小を実現することができる。
【００８６】
図６は、画像処理システム１００の構成を示すブロック図である。画像処理システム１００は、撮像装置１０１、画像処理装置１０２、表示装置１０３を有し、前述のような部品の位置検出システムを構成する。
【００８７】
撮像装置１０１は、ＣＣＤ（電荷結合素子）カメラ１１１、Ａ／Ｄ（アナログ／デジタル）変換器１１２、カメラコントローラ１１３、Ｄ／Ａ変換器１１４およびフレームメモリ１１５からなる。ＣＣＤカメラ１１１が、部品などを撮像し、受光量をアナログ画像信号として出力する。Ａ／Ｄ変換器１１２は、ＣＣＤカメラ１１１から出力されたアナログ画像信号をデジタルデータに変換し、デジタル画像データとして出力する。カメラコントローラ１１３は、デジタル画像データを１フレームごとにフレームメモリ１１５に格納するとともに、表示装置１０３に表示させるために、Ｄ／Ａ変換器１１４に出力する。Ｄ／Ａ変換器１１４は、カメラコントローラ１１３から出力されたデジタル画像データを表示装置１０３に応じたアナログ画像信号に変換して表示装置１０３に出力する。表示装置１０３は、ＬＣＤ（Liquid Crystal Display）やＣＲＴ（Cathode Ray Tube）ディスプレイなどで実現され、撮像装置１０１から出力されたアナログ画像信号を表示する。
【００８８】
画像処理装置１０２は、ＣＰＵ（中央演算処理装置）１２１、ＲＡＭ（Random Access 
Memory）１２２、ＲＯＭ（Read Only Memory）１２３およびＩ／Ｏ（Input/Output）コントローラ１２４からなる。ＣＰＵ１２１は、ＲＯＭ１２３に記憶されている制御プログラムに基づいて画像処理装置１０２の動作を制御する。処理中の画像データや演算中のデータなどは一時的にＲＡＭ１２２に記憶される。Ｉ／Ｏコントローラ１２４は、キーボードやマウスなどの入力装置や部品の移動装置などが接続され、これらの入出力データの制御を行う。
【００８９】
ＣＰＵ１２１およびＲＯＭ１２３は、エッジ抽出手段、粗サーチ手段、クラスタリング手段、中間サーチ手段、最終サーチ手段を構成し、撮像装置１０１のカメラコントローラ１１３を介してフレームメモリ１１５から画像データを取得し、図１のフローチャートで示した画像処理を実行する。画像処理によって対象ワークの位置、回転角度が決定されると、たとえば、部品が正しい方向に実装されているかなどの検査を行うことができる。
【００９０】
また、本発明の他の実施形態は、コンピュータを画像処理装置１０２として機能させるための画像処理プログラム、および画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体である。これによって、画像処理プログラムおよび画像処理プログラムを記録した記録媒体を持ち運び自在に提供することができる。
【００９１】
記録媒体は、プリンタやコンピュータシステムに備えられるプログラム読み取り装置により読み取られることで、画像処理プログラムが実行される。
【００９２】
コンピュータシステムの入力手段としては、フラットベッドスキャナ・フィルムスキャナ・デジタルカメラなどを用いてもよい。コンピュータシステムは、これらの入力手段と、所定のプログラムがロードされることにより画像処理などを実行するコンピュータと、コンピュータの処理結果を表示するＣＲＴディスプレイ・液晶ディスプレイなどの画像表示装置と、コンピュータの処理結果を紙などに出力するプリンタより構成される。さらには、ネットワークを介してサーバーなどに接続するための通信手段としてのＬＡＮ（
Local Area Network）インターフェイスなどが備えられる。
【００９３】
なお、記録媒体としては、プログラム読み取り装置によって読み取られるものには限らず、マイクロコンピュータのメモリ、たとえばＲＯＭであっても良い。記録されているプログラムはマイクロプロセッサがアクセスして実行しても良いし、あるいは、記録媒体から読み出したプログラムを、マイクロコンピュータのプログラム記憶エリアにダウンロードし、そのプログラムを実行してもよい。このダウンロード機能は予めマイクロコンピュータが備えているものとする。
【００９４】
記録媒体の具体的な例としては、磁気テープやカセットテープなどのテープ系、フレキシブルディスクやハードディスクなどの磁気ディスクやＣＤ−ＲＯＭ（Compact Disc-
Read Only Memory）／ＭＯ（Magneto Optical）ディスク／ＭＤ（Mini Disc）／ＤＶＤ（
Digital Versatile Disc）などの光ディスクのディスク系、ＩＣ（Integrated Circuit）
カード（メモリカードを含む）／光カードなどのカード系、あるいはマスクＲＯＭ、ＥＰＲＯＭ（Erasable Programmable Read Only Memory）、ＥＥＰＲＯＭ（Electrically 
Erasable Programmable Read Only Memory）、フラッシュＲＯＭなどの半導体メモリを含めた固定的にプログラムを担持する媒体である。
【００９５】
また、本実施形態においては、コンピュータはインターネットを含む通信ネットワークに接続可能なシステム構成とし、通信ネットワークを介して画像処理プログラムをダウンロードしても良い。なお、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード機能は予めコンピュータに備えておくか、あるいは別な記録媒体からインストールされるものであっても良い。また、ダウンロード用のプログラムはユーザーインターフェースを介して実行されるものであっても良いし、決められたＵＲＬ（Uniform Resource Locater）から定期的にプログラムをダウンロードするようなものであっても良い。
【実施例】
【００９６】
本発明の回転画像照合処理を実現する「一般化Hough変換＋正規化相関」が、従来の手法である「一般化Hough変換」のみ、および「正規化相関」のみの場合と比較し、性能の向上を確認する。
【００９７】
（計算条件）
・コントローラとしてはIVS33（シャープマニファクチャリングシステム株式会社製）を使用し、正規化相関は、標準ソフトV3.14を使用し、その他は独自開発のソフトウェアを使用した。
・サーチエリアサイズ512×480、
・矩形テンプレート96×96
「一般化Hough変換＋正規化相関」による処理を実施例、「一般化Hough変換」のみ、および「正規化相関（回転角度１０°刻み）」のみによる処理をそれぞれ比較例１，２とする。また、参考例として、「正規化相関（回転角度２０°刻み）」のみによる処理も行った。
【００９８】
なお、比較例２および参考例では、１０°単位のテンプレートを３６枚用意して行った。
まず処理速度の結果について表１に示す。
【００９９】
【表１】
2008097309.tif 000005
【０１００】
実施例１で処理に要した時間を１．００とし、これに対する比によって処理速度を評価した。
次に検出精度の結果について表２に示す。
【０１０１】
【表２】
2008097309.tif 000006
【０１０２】
処理速度については、実施例に比べて比較例１のほうが良い結果であったが、検出精度では実施例が大きく上回った。したがって、総合的に判断すれば、比較例１，２にくらべて実施例がより優れていることが明確となった。
【図面の簡単な説明】
【０１０３】
【図１】本発明の画像処理を示すフローチャートである。
【図２】平均値フィルタの例を示す図である。
【図３】エッジ抽出処理を示すフローチャートである。
【図４】粗サーチ処理を示すフローチャートである。
【図５】クラスタリング処理を説明するための模式図である。
【図６】画像処理システム１００の構成を示すブロック図である。
【図７】形状テンプレートの定義例を示す図である。
【図８】形状定義表の例を示す図である。
【符号の説明】
【０１０４】
１００  画像処理システム
１０１  撮像装置
１０２  画像処理装置
１０３  表示装置
１１１  ＣＣＤカメラ
１１２  Ａ／Ｄ変換器
１１３  カメラコントローラ
１１４  Ｄ／Ａ変換器
１１５  フレームメモリ
１２１  ＣＰＵ
１２２  ＲＡＭ
１２３  ＲＯＭ
１２４  Ｉ／Ｏコントローラ
【図１】
2008097309.tif 000007
【図２】
2008097309.tif 000008
【図３】
2008097309.tif 000009
【図４】
2008097309.tif 000010
【図５】
2008097309.tif 000011
【図６】
2008097309.tif 000012
【図７】
2008097309.tif 000013
【図８】
2008097309.tif 000014