JP4704310B2 - 画像処理方法、画像処理装置、画像処理プログラムおよび画像処理プログラムを記録する記録媒体 - Google Patents

画像処理方法、画像処理装置、画像処理プログラムおよび画像処理プログラムを記録する記録媒体 Download PDF

Info

Publication number
JP4704310B2
JP4704310B2 JP2006278173A JP2006278173A JP4704310B2 JP 4704310 B2 JP4704310 B2 JP 4704310B2 JP 2006278173 A JP2006278173 A JP 2006278173A JP 2006278173 A JP2006278173 A JP 2006278173A JP 4704310 B2 JP4704310 B2 JP 4704310B2
Authority
JP
Japan
Prior art keywords
pixels
edge
pixel
image processing
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006278173A
Other languages
English (en)
Other versions
JP2008097310A (ja
Inventor
大和 輿水
孝幸 藤原
宗利 今田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2006278173A priority Critical patent/JP4704310B2/ja
Publication of JP2008097310A publication Critical patent/JP2008097310A/ja
Application granted granted Critical
Publication of JP4704310B2 publication Critical patent/JP4704310B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)

Description

本発明は、撮像装置などから入力された画像データに対して図形処理を行う画像処理方法、画像処理装置、画像処理プログラムおよび画像処理プログラムを記録する記録媒体に関する。
製品組立ての自動化および検品作業の自動化などを高精度で実現するために、食品容器、印刷文字、プリント基板上の部品、電子部品などの工業製品をカメラで撮像し、得られた画像データに対して各種画像処理を行う画像処理装置が必要となっている。
画像処理を利用して組立て、検査などの作業を行うためには、まず画像データに含まれる対象ワークを検出する必要がある。
対象ワークの検出を行う場合、よく知られている方法の1つに、対象ワークの形状を示す輪郭成分の解析がある。
対象ワークの輪郭成分を得るには、まず対象ワークの画像データに対して空間微分フィルタを施し、画像データ中の輪郭を成す濃度変化点のエッジ成分を抽出することが行われる。エッジ成分抽出としてよく利用されるSobelオペレータによる方法では、注目画素を中心とする3×3画素の画素ブロックに対して、以下のA式に示すようなX方向(水平方向)フィルタFXと、Y方向(垂直方向)フィルタFYとで構成されるSobelオペレータを適用し、注目画素のX方向エッジ強度fxおよびY方向エッジ強度fyを算出する。
Figure 0004704310
算出した水平方向エッジ強度fxおよび垂直方向エッジ強度fyに基づくエッジ強度(2方向の強度の二乗和平方根)と閾値とを比較し、閾値以上の値を持つ画素をエッジ画素として登録する。
こうして、エッジ画素が求められた後、対象ワークの輪郭形状に対応する部分を求める手法としては、一般化Hough変換(Generaled Hough Transform,GHT)が挙げられる(非特許文献1参照)。
一般化Hough変換では、まず検査対象の図形をテンプレートとし、テンプレートが幾何学変換されて画像中に存在していると考える。次にテンプレートの位置および方向などを規定する幾何変換パラメータに着目し、そのパラメータ空間で投票を行う。この処理は、大まかには次の1〜4の手順で行われる。
手順1:テンプレートの形状定義
手順2:パラメータ空間の設定
手順3:投票
手順4:ピーク点の抽出
手順1では、図9に示すようなuv座標系におけるテンプレートを定義し、図10に示すようにθとr,αとを形状定義表に登録する。
一般化Hough変換の手順のなかで、手順1のテンプレートの形状定義が対象ワークの回転角度および位置を検出する精度と処理速度に大きく影響を与える。
テンプレートの形状定義である形状定義表の作成において、対象ワークの輪郭を成すエッジ画素を閾値で決定する方法は前述した通りで、そのエッジ画素はPi(i=1,2,3,・・・)として登録する。
次に、図9に示すように適当に設定した点Qの位置をテンプレート上の各点Pi(i=1,2,3,・・・)からの距離と方向で表すことで、テンプレートの形状を定義する。
点Qはテンプレートを代表する点であり、基準点と呼ぶ。この基準点の選び方には任意性があるが、テンプレートの重心とする場合に、精度が最も良いことが知られている。また、非特許文献2に記載されているように、求めたエッジ画素Pi(i=1,2,3,・・・)について予め細線化を施すことで高速化を図る場合がある。
画像処理テキストブック編集委員会、「画像処理標準テキストブック」、財団法人画像情報教育振興協会、平成9年、p.254−259 木村彰男、渡辺孝志著、「高速一般化ハフ変換−相似変換不変な任意図形検出法−」、電子情報通信学会誌 D−II、電子情報通信学会、1998年4月、Vol.J81−D−II、No.4、p.726−734
本来は、閾値以上のエッジ強度を有するエッジ画素全てを後続の処理に用いることが理想であるが、処理の対象となるエッジ数が多すぎて処理時間が膨大となる。たとえば、一般化Hough変換を考えると、閾値以上のエッジ強度を有するエッジ画素全てをテンプレートの形状定義として登録するのが理想であるが、それでは登録するエッジ数が多すぎ処理時間が膨大となる。そのため、形状定義表の登録数を削減することが効果的であり、エッジ強度の閾値調整や細線化処理でエッジ数を減らすことが考えられる。しかし、あまり減らしすぎると精度の低下が生じてしまう。
一般化Hough変換における検出精度の成否はエッジ手法の結果に大きく依存すると記載した論文(五十嵐悟、他3名、「方向ヒストグラムの自己回帰モデルに基づく回転不変画像照合」、精密工学会誌、精密工学会、2001年、vol.67、no.9、p.1519−1523参照)もあり、特に閾値の設定がエッジの検出精度に与える影響は大きい。エッジ手法の結果は、エッジ強度の閾値の決定といっても過言でなく、ユーザによるマニュアル設定では、検出精度上のリスクを伴う。また、従来の技術において、閾値の下限でのみエッジ画素を求めており、上限については設定されることはない。しかし、対象ワークと類似形状でコントラストが異なる場合、閾値が下限のみでは誤検出する可能性がある。
さらに、登録されたエッジ画素を単純に細線化で選別することは、実用レベルにおいて対象ワークの輪郭を照合するための登録数としては少なすぎる場合がある。また、細線化する手法として、複数存在するが、いずれが最適であるかは明確になっていない。
本発明の目的は、検出精度向上するとともに、処理の高速化および必要なメモリ容量の縮小を実現することができる画像処理方法、画像処理装置、画像処理プログラムおよび画像処理プログラムを記録する記録媒体を提供することである。
本発明は、画像データに含まれる対象ワークを検出する画像処理方法において、
前記画像データを構成する画素に対してSobelオペレータを使用し、エッジ強度を算出
するステップと、
算出されたエッジ強度が、予め定める閾値の範囲内にある画素をエッジ画素として抽出するステップであって、前記閾値の範囲における下限値は、判別分析法に基づいて決定し、前記閾値の範囲における上限値は、前記下限値以上のエッジ強度を有する画素数を計数し、計数値に予め定める割合を掛けて得た画素数を算出し、下限値以上のエッジ強度を有する画素数が、算出された画素数となるときのエッジ強度を上限値として決定するステップ
抽出したエッジ画素を形状定義表への登録候補画素とするステップと、
形状定義表へ登録するエッジ画素数の目標数を設定するステップと、
細線化処理を含む、エッジ画素数を選別するための複数の選別処理を実行するステップであって、選別されたエッジ画素数が前記目標数に達するまで、前記複数の選別処理を予め定める順序で実行するステップと、
前記目標に達したときのエッジ画素に基づいて、形状定義表を作成するステップと、
第1の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行し、予め定め
る指定数分の画素を第1候補画素として選択する粗サーチステップと、
前記第1候補画素を対象に、画素間の距離および回転角度差に基づくクラスタリングを行い、各クラスタから代表画素を選出して第2候補画素を選択するクラスタリングステップと、
前記第2候補画素を対象に、前記第1の角度よりも小さい第2の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行し、予め定める指定数分の画素を第3候補画
素として選択する中間サーチステップと、
前記第3候補画素を対象に、正規化相関によって対象ワークの回転角度および位置を検出する最終サーチステップとを含むことを特徴とする画像処理方法である。
また本発明は、前記画像処理方法をコンピュータに実行させるための画像処理プログラムである。
また本発明は、前記画像処理方法をコンピュータに実行させるための画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体である。
また本発明は、前記画像データを構成する画素に対してSobelオペレータを使用し、エ
ッジ強度を算出する手段と、
算出されたエッジ強度が、予め定める閾値の範囲内にある画素をエッジ画素として抽出する手段であって、前記閾値の範囲における下限値は、判別分析法に基づいて決定し、前記閾値の範囲における上限値は、前記下限値以上のエッジ強度を有する画素数を計数し、計数値に予め定める割合を掛けて得た画素数を算出し、下限値以上のエッジ強度を有する画素数が、算出された画素数となるときのエッジ強度を上限値として決定する手段と、
抽出したエッジ画素を形状定義表への登録候補画素とする手段と、
形状定義表へ登録するエッジ画素数の目標数を設定する手段と、
細線化処理を含む、エッジ画素数を選別するための複数の選別処理を実行する手段であって、選別されたエッジ画素数が前記目標数に達するまで、前記複数の選別処理を予め定める順序で実行する手段と、
前記目標に達したときのエッジ画素に基づいて、形状定義表を作成する作成手段と、
第1の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行し、予め定め
る指定数分の画素を第1候補画素として選択する粗サーチ手段と、
前記第1候補画素を対象に、画素間の距離および回転角度差に基づくクラスタリングを行い、各クラスタから代表画素を選出して第2候補画素を選択するクラスタリング手段と、
前記第2候補画素を対象に、前記第1の角度よりも小さい第2の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行し、予め定める指定数分の画素を第3候補画
素として選択する中間サーチ手段と、
前記第3候補画素を対象に、正規化相関によって対象ワークの回転角度および位置を検出する最終サーチ手段とを含むことを特徴とする画像処理装置である。
本発明によれば、画像データに含まれる対象ワークを検出する画像処理方法において、前記画像データを構成する画素に対してSobelオペレータを使用し、エッジ強度を算出
し、算出されたエッジ強度が、予め定める閾値の範囲内にある画素をエッジ画素として抽出する。ここで、前記閾値の範囲における下限値は、判別分析法に基づいて決定する。
また、前記閾値の範囲における上限値は、前記下限値以上のエッジ強度を有する画素数を計数し、計数値に予め定める割合を掛けて得た画素数を算出する。下限値以上のエッジ強度を有する画素数が、算出された画素数となるときのエッジ強度を上限値として決定する
これにより、後続処理の処理精度を低下させること無く、処理の対象画素数を抑制し、高速化を実現することができる。
また、抽出したエッジ画素を形状定義表への登録候補画素とし、形状定義表へ登録するエッジ画素数の目標数を設定する。
次に、細線化処理を含む、エッジ画素数を選別するための複数の選別処理を実行するが、選別されたエッジ画素数が前記目標数に達するまで、前記複数の選別処理を予め定める順序で実行する。
最後に、前記目標に達したときのエッジ画素に基づいて、形状定義表を作成する。
これにより、一般化Hough変換の精度を低下させることなく、処理の対象画素数を抑制し、高速化を実現することができる。
また、形状定義表を作成し、粗サーチステップでは、第1の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行し
、予め定める指定数分の画素を第1候補画素として選択する。
クラスタリングステップでは、前記第1候補画素を対象に、画素間の距離および回転角度差に基づくクラスタリングを行い、各クラスタから代表画素を選出して第2候補画素を選択し、中間サーチステップで、前記第2候補画素を対象に、前記第1の角度よりも小さい第2の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行し、予め定める指定数分の画素を第3候補画素として選択する。
最終サーチステップでは、前記第3候補画素を対象に、正規化相関によって対象ワークの回転角度および位置を検出する。
これにより、検出精度が向上するとともに、処理の高速化および必要なメモリ容量の縮小を実現することができる。
また本発明によれば、上記の画像処理方法を、コンピュータに実行させるための画像処理プログラムおよび、画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体として提供することができる。
た、上記のように形状定義表を作成し、粗サーチ手段が、第1の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行し、予め定める指定数分の画素を第1候補
画素として選択する。














クラスタリング手段は、前記第1候補画素を対象に、画素間の距離および回転角度差に基づくクラスタリングを行い、各クラスタから代表画素を選出して第2候補画素を選択し、中間サーチ手段が、前記第2候補画素を対象に、前記第1の角度よりも小さい第2の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行し、予め定める指定数分の画素を第3候補画素として選択する。
最終サーチ手段は、前記第3候補画素を対象に、正規化相関によって対象ワークの回転角度および位置を検出する。
これにより、検出精度が向上するとともに、処理の高速化および必要なメモリ容量の縮小を実現することができる。
本発明は、以下に示す手順から構成される画像処理方法により、対象ワークの回転角度と位置の検出を行う。
手順1:平滑化処理
手順2:エッジ抽出処理
手順3:粗サーチ処理
手順4:クラスタリング処理
手順5:中間サーチ処理
手順6:最終サーチ処理
まず、各手順について、図1に示す画像処理のフローチャートを基に概略について説明する。
手順1:平滑化処理(ステップS1)
ノイズ除去するための前処理として、画像データに対して平滑化フィルタを用いた平滑化処理を行う。
手順2:エッジ抽出処理(ステップS2)
平滑化した画像データを対象に、Sobelオペレータによるエッジ強度を求め、その強度が予め設定された閾値範囲内であれば、エッジ方向と位置座標とを登録して抽出する。
手順3:粗サーチ処理(ステップS3)
手順2で抽出したエッジの方向と座標とを登録した後、対象ワークの輪郭形状に対応する部分の概略の回転角度と位置を求めるため、一定の回転角度刻みの粗サーチとして一般化Hough変換を実行する。一般化Hough変換で求めた投票数の多い順に、指定数分の第1候補画素を選択する。
手順4:クラスタリング処理(ステップS4)
手順3で選択された第1候補画素の中には、同じワークとみなせる画素が重複して挙げられている可能性がある。そのため座標および回転角度とも近似した複数の画素を同じクラスタとし、その中から最も投票数の多い点だけを第2候補画素とする。その他の画素は後続の処理の対象から外す。
手順5:中間サーチ処理(ステップS5)
第2候補画素を対象に、手順3の粗サーチにおける刻み角度よりも小さな回転角度で中間サーチとして一般化Hough変換の再投票を行い、第3候補画素を選出する。
手順6:最終サーチ処理(ステップS6)
手順3と手順5の一般化Hough変換2段処理で求めた回転角度と座標は、ピクセル精度であり、ピクセル単位の誤差が予想される。そのため、一般化Hough変換で求めた位置周辺について、第3候補画素を対象に、正規化相関を用いた最終サーチを行う。
本発明は、手順2のエッジ抽出処理おいて、エッジ強度に基づく閾値処理と、形状定義表への登録処理に特徴を有し、精度を低下させることなく後続処理の対象画素数を抑制し、処理速度の高速化を実現する。
以下では各手順について詳細に説明する。
手順1:平滑化処理
平滑化処理に用いる平滑化フィルタとしては、平均値フィルタとメディアンフィルタとがあり、実験結果から平均値フィルタが望ましい。
平均値フィルタは、図2に示すように、注目画素の画素値G11にその周辺8画素の画素値G00,G10,G20,G01,G21,G02,G12,G22を加えた9画素の画素値の平均が注目画素の画素値となるようなフィルタである。
平滑化処理後の注目画素の画素値G(平均)は、式1で算出する。
G(平均)=(G00+G10+G20+G01+G11+G21+G02+G12+G22)/9 …(1)
手順2:エッジ抽出処理
図3は、閾値処理を示すフローチャートである。
ステップS11では、平滑化処理した画像データを対象に、Sobelオペレータを用いてエッジ強度を求める。
Sobelオペレータは、3×3画素ではなく、以下のB式に示すような5×5画素の改良型オペレータを使用する。
X方向(水平方向)フィルタFXと、Y方向(垂直方向)フィルタFYとで構成されるSobelオペレータを適用し、注目画素のX方向エッジ強度fxおよびY方向エッジ強度fyを算出する。なお、注目画素と注目画素に隣接する周辺画素との差分値が比較的大きい場合は、式Aで表す従来の3×3画素Sobelオペレータを用いても良い。
Figure 0004704310
エッジ強度fxyは式2で算出し、エッジ方向θは式3で算出する。
fxy=√(fx2+fy2) …(2)
θ=tan-1(fy/fx) …(3)
ステップS12では、テンプレートの全画素について、エッジ強度を算出したかどうかを判断する。算出していればステップS13に進み、算出していなければステップS11に戻る。
ステップS13では、エッジ強度を閾値処理するための下限値を判別分析法によって算出する。
判別分析法については、田村秀行編著、「コンピュータ画像処理」、オーム社、平成15年7月、p.140の記載に基づいて求めることができる。
2値化しきい値を求める際、濃度分布を濃度値kで2つの領域に分割したとき、2つの領域が最もよく分離するような濃度値kを閾値として決定する方法が、判別分析法である。
この方法では、濃度値kを濃度範囲0〜254まで移動させ、濃度0〜kまでの集合C0と濃度k+1〜255までの集合C1との間で分散値が最大となるような濃度値kを求める。
分散値 S2 = w0w1(u1-u0)2 …(4)
u0:C0のポイント数の平均,u1:C1のポイント数の平均
w0:C0の発生する確率, w1:C1の発生する確率
ステップS14では、エッジ強度を閾値処理するための上限値を統計処理によって算出する。
対象の最大濃度値から、統計に基づいて算出した割合だけ下げた値を上限値とする。
下限値以上のエッジ強度を有する画素数を計数し、計数値に予め定める割合M%を掛けて得た画素数を算出する。下限値以上のエッジ強度を有する画素数が、算出された画素数となるときのエッジ強度を上限値とする。ここで、割合M%としては、95%〜100%が望ましい。
このような、割合によって上限値を決定することが不適切な場合は、最大濃度値から予め定める値を差し引いたものを上限値としてもよい。
ステップS15では、エッジ強度fxyが、下限側閾値THと上限側閾値THとの範囲内にあるかどうかを判断する。
エッジ強度fxyが、範囲内にあればステップS16に進み、範囲外であればステップS17に進む。ステップS16では、当該エッジ画素を登録候補画素とし、エッジ方向と画素の位置座標を記憶する。ステップS17では、全ての画素について処理が終了したかどうかを判断し、終了していれば閾値処理を終了する。終了していなければステップS15に戻る。
次に、閾値処理によって登録候補画素とされたエッジ画素を対象に、形状定義表へ登録するエッジ画素を選択する定義表作成処理を行う。
図4は、定義表作成処理を示すフローチャートである。
処理の高速化を図りながら対象ワークの検出精度を確保するには、最低限必要なエッジ画素数があるが、目標とするエッジ画素数が得られるような細線化手法を見つけるのは困難である。
そこで、定義表に登録すべきエッジ画素数の目標数を設定し、次に細線化などによるエッジ画素選別を順次実行し、エッジ画素数が目標値に達したときに、そこまでの選別で得られたエッジ画素を定義表に登録する。
ステップS21では、登録目標数を設定する。
上記の閾値処理で選択した登録候補画素を対象に、非極大化抑制処理を施した画像のエッジ画素数を計数し、計数値に予め定める比率、たとえば150%を掛ける。こうして得られた仮目標値と、実験データから予め得られた下限固定値とを比較し、大きい方の値を形状定義表の登録目標数として決定する。
非極大化抑制処理については、田村秀行編著、「コンピュータ画像処理」、オーム社、平成15年7月、p.201−202の記載に基づいて行うことができる。
ここで、目標数の基準となるエッジ画素数を、非極大化抑制処理を施した画像のエッジ画素数とした理由は、非極大化抑制処理、Hildichの細線化処理、横井の細線化処理、の3種類の手法を比較検討した結果、「非極大化抑制」<「Hildichの細線化」<「横井の細線化」<「細線化処理無し」の順でエッジ画素数が増えていくことが判明したためである。
ステップS22では、基準点として重心位置を算出し、ステップS23でエッジ画素の選別処理を行う。
ステップS23の選別処理では、以下の処理の中から決められた順序で1つの処理を選択し、エッジ画素を選別する。ここで実行する処理としては、(a)Hildichの細線化処理、(b)横井の細線化処理、(c)逆横井の細線化処理、(d)未細線化、(e)上限値拡大であり、後述する目標数との比較において、目標数に達しなかった場合は、目標数に達するまで、この順序で処理を実行する。
(a)Hildichの細線化処理については、井上誠喜他共著、「C言語で学ぶ実践画像処理」、オーム社、1999年12月、p.47−50の記載に基づいて行うことができる。
(b)(a)の選別処理を経てもエッジ画素数が目標数に達しなかったときは、横井の細線化処理を行う。横井の細線化処理については、長谷川純一、輿水大和他共著、「画像処理の基本技法」、技術評論社、1986年7月、p.66−69の記載に基づいて行うことができる。
(c)(b)横井の細線化処理では、画像を何度もスキャンし削除可能な画素を見つけてそれを削除していく。この場合、削除可能な画素が見つからなくなるまでスキャンを繰り返す。これに対して逆横井の細線化処理では、横井の細線化処理において最終的に削除可能な画素が見つからなくなる最大スキャン回数から、1回ずつスキャン回数を減らすことで、残るエッジ画素の数を増やす。
したがって、(a)、(b)の選別処理を経てもエッジ画素数が目標数に達しなかったときは、目標数に達するまで、スキャン回数を最大スキャン回数から1回ずつ減らすことになる。
(d)(a)から(c)の選別処理を経てもエッジ画素数が目標数に達しなかったときは、細線化処理を行わない。
(e)(a)から(d)の選別処理を経てもエッジ画素数が目標数に達しなかったときは、エッジ画素数が目標数に達するまで、閾値の上限値を「1」ずつ上げる。最後まで目標数に達しなかったときは、閾値の上限を「255」として登録する。
ステップS24で微分画像を作成し、ステップS25で基準点との距離rおよび基準点との水平角αを算出する。
ステップS26では、エッジ画素数が目標数以上となったかどうかを判断する。目標数以上であればステップS27に進み、目標数より少なければステップS23に戻り、上記のように、異なる処理を選択し、改めて選別処理を行う。
ステップS27では、選別されたエッジ画素に基づいて、θをキーとしてソートを行い、ステップS28で、θ、rおよびαを形状定義表に登録する。
手順3:粗サーチ処理
手順3では、粗サーチとして、所定の回転角度刻みで一般化Hough変換を行う。
図5は、粗サーチ処理を示すフローチャートである。ステップS31で投票空間をクリアして、ステップS32で投票処理を行う。
まず、投票箱([φ][X][Y] φ=回転角、X,Y=基準点、用途の少ないサイズ変動のパラメータは割愛)を用意する。テンプレートが回転後、テンプレート上の点Pi(i=1,2,3,・・・)が画像中の座標(xi,yi)に置かれたとすると、基準点の画像座標(X,Y)は次式で表される。
X=ricos(αi+φ)+xi、 Y=risin(αi+φ)+yi …(5)
ここで、点Piにおけるθi、xi、yiが求められたとし、形状定義表登録時のθをθ´とすると、次の関係が成り立つ。
θ=θ´+φ …(6)
投票処理では、まず、回転角度(式5中のφ)を0°,ΔA,2×ΔA,・・・,(360°−ΔA)とΔA(単位は[°])刻みで、式2を満たすθ´を求め、形状定義表のθ´の箇所から、rおよびαを求める。そして、式5を満たす(X,Y)セル空間に投票する。
ステップS33では全てのエッジについて投票処理を行ったかどうかを判断し、全て行っていればステップS34に進み、行っていなければ次のエッジを対象にしてステップS32に戻る。
ステップS34では、最大の投票数となる回転角度と位置とを探し、第1候補画素を選択する。最大の投票数は各刻み角度ごとに求め、ステップS35では、これまでの最大投票数(全角度を通した最大の投票数である全最大投票数)と比較する。全最大投票数以上であればステップS36に進み、全最大投票数よりも小さければステップS37に進む。ステップS36では、全最大投票数、回転角度および位置を更新する。たとえば、10°回転したと仮定すると、50°のエッジ画素は、登録時には40°のエッジ画素であったと考えられる。登録時40°であったエッジ画素を形状定義表から集め、基準点との相対位置関係から、現在の基準位置を計算しそこに投票する。
ステップS37では全ての回転角度についての処理が終了したかどうかを判断する。全て終了していれば粗サーチ処理を終了し、終了していなければステップS38に進んで現在の回転角度に刻み角度ΔAを加えてステップS31に戻る。
手順3における刻み角度ΔAは、5°〜15°が望ましく、特に8°〜10°が望ましい。刻み角度が5°よりも小さいと投票処理に要する計算時間が短縮されず、15°よりも大きいと十分な検出精度が達成できない。
また、ステップS34では、Sobelオペレータで求めたエッジ方向の精度誤差を改善するため、周辺画素の投票数を足し込むようにして最大投票数を求める。投票数を足し込む周辺画素は、注目画素を中心とする3×3画素における周辺8画素とすることが望ましい。
手順4:クラスタリング処理
手順3の粗サーチで選択された第1候補画素の中から、クラスタリングにより位置座標および回転角度がともに近似した画素を集めて同じクラスタとし、その中の最大投票数の画素だけを第2候補画素とする。1つのクラスタ内におけるその他の画素は、後続処理の対象から外す。クラスタリングとしては、単純クラスタリング(Nearest Neighbor法−
NN法)を採用する。その手順は、以下の通りである。
たとえば、図6の模式図に示すように、一つのデータP1をクラスタ中心とし、それから距離Tだけ離れたデータP2,P4,P5などは新たなクラスタ中心とする。距離T以内にあるP3は、P1と同じクラスタに属する。
このようにして、既存のクラスタ中心に近いものはそのクラスタのメンバとし、離れたものは新たなクラスタ中心とする。新たなクラスタ中心とするかどうかは、予め閾値を規定しておき、閾値以上に離れた場合に新たな中心とする。
本発明においては、クラスタのメンバであるか新たなクラスタ中心であるかを判断するために、2つのエッジ画素について、回転角度と、画素間の距離とを比較し、閾値よりも離れていれば新たなクラスタ中心であると判断する。
回転角度の閾値は、粗サーチにおける刻み角度ΔAを採用し、2つのエッジ画素の回転角度が刻み角度以上に離れていれば、同一クラスタのメンバではないと判定する。距離の閾値は、基準テンプレートのエッジ画素の中で、中心から最も遠いエッジ画素までの距離をSとしたとき、S×N%の距離を閾値とする。ここで、割合N%は70%〜100%である。
クラスタリングの対象となる候補画素の数は予め設定されており、その数分の候補画素が粗サーチで選択される。選択された候補画素がクラスタリングされ、上位のクラスタの代表画素(1つのクラスタ内で最大の投票数である画素)が後続処理の対象として選択される。
手順5:中間サーチ処理
手順5では、中間サーチとして、所定の回転角度刻みで一般化Hough変換を行う。
手順4のクラスタリングで絞り込んだ第2候補画素について、手順3のフローと同様のサーチ処理を行う。手順3との違いは、クラスタリングでさらに絞り込まれた候補画素を対象にすることと、回転角度の刻み角度を手順3よりも小さくすることである。粗サーチでの刻み角度を9°とすると、ピーク角度±6°を3°刻みとし、さらにピーク角度±2°を1°刻みとする。
刻み角度を小さくした上で、最大投票数の画素から順に指定候補数分の第3候補画素について回転角度と座標とを後続処理に渡す。
手順6:最終サーチ処理
手順5の中間サーチで求めた第3候補画素について、その位置と回転角度周辺について、取込画像側を回転させながら、正規化相関を行い、最も一致度の高い回転角度と座標を検出結果として出力する。
正規化相関は、以下の式7の相関式を用いて行う。
相関式={A÷√(B×C)}×100 …(7)
また、A=Σ(I×T)−(ΣI)×(ΣT)/N:入力画像と基準画像の相互相関であり、B=Σ(I×I)−(ΣI)×(ΣI)/N:入力画像自己相関であり、C=Σ(T×T)−(ΣT)×(ΣT)/N:基準画像自己相関である。ここで、Nは基準画像の画素数、Tは基準画像濃度であり、Iは入力画像濃度である。
本発明は、対象ワークの検出のための画像処理において、検出精度向上するとともに、処理の高速化および必要なメモリ容量の縮小を実現することができる。
図6は、画像処理システム100の構成を示すブロック図である。画像処理システム100は、撮像装置101、画像処理装置102、表示装置103を有し、前述のような部品の位置検出システムを構成する。
撮像装置101は、CCD(電荷結合素子)カメラ111、A/D(アナログ/デジタル)変換器112、カメラコントローラ113、D/A変換器114およびフレームメモリ115からなる。CCDカメラ111が、部品などを撮像し、受光量をアナログ画像信号として出力する。A/D変換器112は、CCDカメラ111から出力されたアナログ画像信号をデジタルデータに変換し、デジタル画像データとして出力する。カメラコントローラ113は、デジタル画像データを1フレームごとにフレームメモリ115に格納するとともに、表示装置103に表示させるために、D/A変換器114に出力する。D/A変換器114は、カメラコントローラ113から出力されたデジタル画像データを表示装置103に応じたアナログ画像信号に変換して表示装置103に出力する。表示装置103は、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)ディスプレイなどで実現され、撮像装置101から出力されたアナログ画像信号を表示する。
画像処理装置102は、CPU(中央演算処理装置)121、RAM(Random Access
Memory)122、ROM(Read Only Memory)123およびI/O(Input/Output)コントローラ124からなる。CPU121は、ROM123に記憶されている制御プログラムに基づいて画像処理装置102の動作を制御する。処理中の画像データや演算中のデータなどは一時的にRAM122に記憶される。I/Oコントローラ124は、キーボードやマウスなどの入力装置や部品の移動装置などが接続され、これらの入出力データの制御を行う。
CPU121およびROM123は、作成手段、粗サーチ手段、クラスタリング手段、中間サーチ手段、最終サーチ手段を構成し、撮像装置101のカメラコントローラ113を介してフレームメモリ115から画像データを取得し、図1のフローチャートで示した画像処理を実行する。画像処理によって対象ワークの位置、回転角度が決定されると、たとえば、部品が正しい方向に実装されているかなどの検査を行うことができる。
また、本発明の他の実施形態は、コンピュータを画像処理装置102として機能させるための画像処理プログラム、および画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体である。これによって、画像処理プログラムおよび画像処理プログラムを記録した記録媒体を持ち運び自在に提供することができる。
記録媒体は、プリンタやコンピュータシステムに備えられるプログラム読み取り装置により読み取られることで、画像処理プログラムが実行される。
コンピュータシステムの入力手段としては、フラットベッドスキャナ・フィルムスキャナ・デジタルカメラなどを用いてもよい。コンピュータシステムは、これらの入力手段と、所定のプログラムがロードされることにより画像処理などを実行するコンピュータと、コンピュータの処理結果を表示するCRTディスプレイ・液晶ディスプレイなどの画像表示装置と、コンピュータの処理結果を紙などに出力するプリンタより構成される。さらには、ネットワークを介してサーバーなどに接続するための通信手段としてのLAN(
Local Area Network)インターフェイスなどが備えられる。
なお、記録媒体としては、プログラム読み取り装置によって読み取られるものには限らず、マイクロコンピュータのメモリ、たとえばROMであっても良い。記録されているプログラムはマイクロプロセッサがアクセスして実行しても良いし、あるいは、記録媒体から読み出したプログラムを、マイクロコンピュータのプログラム記憶エリアにダウンロードし、そのプログラムを実行してもよい。このダウンロード機能は予めマイクロコンピュータが備えているものとする。
記録媒体の具体的な例としては、磁気テープやカセットテープなどのテープ系、フレキシブルディスクやハードディスクなどの磁気ディスクやCD−ROM(Compact Disc-
Read Only Memory)/MO(Magneto Optical)ディスク/MD(Mini Disc)/DVD(
Digital Versatile Disc)などの光ディスクのディスク系、IC(Integrated Circuit)カード(メモリカードを含む)/光カードなどのカード系、あるいはマスクROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically
Erasable Programmable Read Only Memory)、フラッシュROMなどの半導体メモリを含めた固定的にプログラムを担持する媒体である。
また、本実施形態においては、コンピュータはインターネットを含む通信ネットワークに接続可能なシステム構成とし、通信ネットワークを介して画像処理プログラムをダウンロードしても良い。なお、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード機能は予めコンピュータに備えておくか、あるいは別な記録媒体からインストールされるものであっても良い。また、ダウンロード用のプログラムはユーザーインターフェースを介して実行されるものであっても良いし、決められたURL(Uniform Resource Locater)から定期的にプログラムをダウンロードするようなものであっても良い。
エッジ抽出処理において、閾値の上限設定有無の影響を調べた。
図8に示すような画像において、コントラストの低いワークAをテンプレートとして形状定義登録した。
実施例1として、閾値に上下限値を設定(下限=7、上限=21)した場合、正常に検出したが、比較例1として、閾値が下限のみ(下限=7、上限=255)の場合、ワークBが誤検出された。
エッジ抽出処理において、細線化を利用した選別有無の影響を調べた。
間引き画像(偶数アドレスの画素)対象時に、図8に示した画像において、コントラストの低いワークCをテンプレートとして形状定義登録した。
このときの閾値は、下限値を33、上限値を83とした。
実施例2として、図4のフローチャートに示したように、細線化を利用して登録画素を選別した。なお、選別処理が横井の細線化処理を行った時点で目標数に達した。
比較例2として、登録画素の選別を行わず、全エッジ画素を登録した。
それぞれの場合の形状定義表への登録数および上記手順1〜手順6までの処理に要する処理時間を表1に示す。
Figure 0004704310
比較例2に比べて、実施例2では、登録数が大幅に削減され、上記手順1〜手順6までの処理も高速化された。
本発明の画像処理を示すフローチャートである。 平均値フィルタの例を示す図である。 閾値処理を示すフローチャートである。 定義表作成処理を示すフローチャートである。 粗サーチ処理を示すフローチャートである。 クラスタリング処理を説明するための模式図である。 画像処理システム100の構成を示すブロック図である。 実施例で画像処理の対象とした画像を示す図である。 形状テンプレートの定義例を示す図である。 形状定義表の例を示す図である。
符号の説明
100 画像処理システム
101 撮像装置
102 画像処理装置
103 表示装置
111 CCDカメラ
112 A/D変換器
113 カメラコントローラ
114 D/A変換器
115 フレームメモリ
121 CPU
122 RAM
123 ROM
124 I/Oコントローラ

Claims (4)

  1. 画像データに含まれる対象ワークを検出する画像処理方法において、
    前記画像データを構成する画素に対してSobelオペレータを使用し、エッジ強度を算出
    するステップと、
    算出されたエッジ強度が、予め定める閾値の範囲内にある画素をエッジ画素として抽出するステップであって、前記閾値の範囲における下限値は、判別分析法に基づいて決定し、前記閾値の範囲における上限値は、前記下限値以上のエッジ強度を有する画素数を計数し、計数値に予め定める割合を掛けて得た画素数を算出し、下限値以上のエッジ強度を有する画素数が、算出された画素数となるときのエッジ強度を上限値として決定するステップ
    抽出したエッジ画素を形状定義表への登録候補画素とするステップと、
    形状定義表へ登録するエッジ画素数の目標数を設定するステップと、
    細線化処理を含む、エッジ画素数を選別するための複数の選別処理を実行するステップであって、選別されたエッジ画素数が前記目標数に達するまで、前記複数の選別処理を予め定める順序で実行するステップと、
    前記目標に達したときのエッジ画素に基づいて、形状定義表を作成するステップと、
    第1の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行し、予め定め
    る指定数分の画素を第1候補画素として選択する粗サーチステップと、
    前記第1候補画素を対象に、画素間の距離および回転角度差に基づくクラスタリングを行い、各クラスタから代表画素を選出して第2候補画素を選択するクラスタリングステップと、
    前記第2候補画素を対象に、前記第1の角度よりも小さい第2の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行し、予め定める指定数分の画素を第3候補画
    素として選択する中間サーチステップと、
    前記第3候補画素を対象に、正規化相関によって対象ワークの回転角度および位置を検出する最終サーチステップとを含むことを特徴とする画像処理方法。
  2. 請求項記載の画像処理方法をコンピュータに実行させるための画像処理プログラム。
  3. 請求項記載の画像処理方法をコンピュータに実行させるための画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
  4. 画像データに含まれる対象ワークを検出する画像処理装置において、
    前記画像データを構成する画素に対してSobelオペレータを使用し、エッジ強度を算出
    する手段と、
    算出されたエッジ強度が、予め定める閾値の範囲内にある画素をエッジ画素として抽出する手段であって、前記閾値の範囲における下限値は、判別分析法に基づいて決定し、前記閾値の範囲における上限値は、前記下限値以上のエッジ強度を有する画素数を計数し、計数値に予め定める割合を掛けて得た画素数を算出し、下限値以上のエッジ強度を有する画素数が、算出された画素数となるときのエッジ強度を上限値として決定する手段と、
    抽出したエッジ画素を形状定義表への登録候補画素とする手段と、
    形状定義表へ登録するエッジ画素数の目標数を設定する手段と、
    細線化処理を含む、エッジ画素数を選別するための複数の選別処理を実行する手段であって、選別されたエッジ画素数が前記目標数に達するまで、前記複数の選別処理を予め定める順序で実行する手段と、
    前記目標に達したときのエッジ画素に基づいて、形状定義表を作成する作成手段と、
    第1の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行し、予め定め
    る指定数分の画素を第1候補画素として選択する粗サーチ手段と、
    前記第1候補画素を対象に、画素間の距離および回転角度差に基づくクラスタリングを行い、各クラスタから代表画素を選出して第2候補画素を選択するクラスタリング手段と、
    前記第2候補画素を対象に、前記第1の角度よりも小さい第2の角度ごとに設定された回転角度に基づいて一般化Hough変換を実行し、予め定める指定数分の画素を第3候補画
    素として選択する中間サーチ手段と、
    前記第3候補画素を対象に、正規化相関によって対象ワークの回転角度および位置を検出する最終サーチ手段とを含むことを特徴とする画像処理装置。
JP2006278173A 2006-10-11 2006-10-11 画像処理方法、画像処理装置、画像処理プログラムおよび画像処理プログラムを記録する記録媒体 Expired - Fee Related JP4704310B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006278173A JP4704310B2 (ja) 2006-10-11 2006-10-11 画像処理方法、画像処理装置、画像処理プログラムおよび画像処理プログラムを記録する記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006278173A JP4704310B2 (ja) 2006-10-11 2006-10-11 画像処理方法、画像処理装置、画像処理プログラムおよび画像処理プログラムを記録する記録媒体

Publications (2)

Publication Number Publication Date
JP2008097310A JP2008097310A (ja) 2008-04-24
JP4704310B2 true JP4704310B2 (ja) 2011-06-15

Family

ID=39380092

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006278173A Expired - Fee Related JP4704310B2 (ja) 2006-10-11 2006-10-11 画像処理方法、画像処理装置、画像処理プログラムおよび画像処理プログラムを記録する記録媒体

Country Status (1)

Country Link
JP (1) JP4704310B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4693742B2 (ja) * 2006-10-11 2011-06-01 シャープ株式会社 画像処理方法、画像処理装置、画像処理プログラムおよび画像処理プログラムを記録する記録媒体
JP2010211757A (ja) * 2009-03-12 2010-09-24 Seiko Epson Corp 画像処理装置、画像処理方法及びプログラム
JP6266340B2 (ja) * 2013-12-27 2018-01-24 株式会社メガチップス 車線識別装置および車線識別方法
KR102230015B1 (ko) * 2018-08-13 2021-03-19 유상우 드럼 검사 장치
JP7118423B2 (ja) * 2018-12-06 2022-08-16 公立大学法人岩手県立大学 画像解析システム、画像解析方法及び画像解析プログラム
CN113781413B (zh) * 2021-08-26 2024-01-23 国电南瑞南京控制系统有限公司 一种基于Hough梯度法的电解电容定位方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07230546A (ja) * 1994-02-18 1995-08-29 Mitsubishi Electric Corp 画像処理装置及び画像処理方法
JPH09128547A (ja) * 1995-11-01 1997-05-16 Matsushita Electric Ind Co Ltd 実装部品検査装置
JPH10111943A (ja) * 1996-10-03 1998-04-28 Hitachi Ltd 画像内正面人物像抽出方法
JP2000099701A (ja) * 1998-09-24 2000-04-07 Dainippon Screen Mfg Co Ltd 画像色処理装置、画像色処理方法および記録媒体
JP2003173436A (ja) * 2001-09-27 2003-06-20 Matsushita Electric Ind Co Ltd 画像処理装置、画像処理方法及びそのプログラムをコンピュータ読み取り可能に記録した記録媒体
JP2004192164A (ja) * 2002-12-09 2004-07-08 Sharp Corp 画像処理装置および該画像処理装置を備える画像形成装置、ならびに画像処理方法、画像処理プログラムおよびコンピュータ読み取り可能な記録媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07230546A (ja) * 1994-02-18 1995-08-29 Mitsubishi Electric Corp 画像処理装置及び画像処理方法
JPH09128547A (ja) * 1995-11-01 1997-05-16 Matsushita Electric Ind Co Ltd 実装部品検査装置
JPH10111943A (ja) * 1996-10-03 1998-04-28 Hitachi Ltd 画像内正面人物像抽出方法
JP2000099701A (ja) * 1998-09-24 2000-04-07 Dainippon Screen Mfg Co Ltd 画像色処理装置、画像色処理方法および記録媒体
JP2003173436A (ja) * 2001-09-27 2003-06-20 Matsushita Electric Ind Co Ltd 画像処理装置、画像処理方法及びそのプログラムをコンピュータ読み取り可能に記録した記録媒体
JP2004192164A (ja) * 2002-12-09 2004-07-08 Sharp Corp 画像処理装置および該画像処理装置を備える画像形成装置、ならびに画像処理方法、画像処理プログラムおよびコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
JP2008097310A (ja) 2008-04-24

Similar Documents

Publication Publication Date Title
CN111815630B (zh) 一种用于lcd屏幕的缺陷检测方法、装置
US8792715B2 (en) System and method for forms classification by line-art alignment
TWI579775B (zh) A matching processing device, a matching processing method and an inspection device using the same
CN107230203B (zh) 基于人眼视觉注意机制的铸件缺陷识别方法
JP4704310B2 (ja) 画像処理方法、画像処理装置、画像処理プログラムおよび画像処理プログラムを記録する記録媒体
CN109409355B (zh) 一种新型变压器铭牌识别的方法及装置
CN111126174A (zh) 一种用于机器人抓取零件的视觉检测方法
CN106934795A (zh) 一种混凝土桥梁裂缝的自动检测方法和预测方法
CN102693409A (zh) 一种快速的图像中二维码码制类型识别方法
WO2018176514A1 (zh) 指纹配准方法及装置
JP6860081B2 (ja) 個体識別装置
CN105160303A (zh) 基于混合匹配的指纹识别方法
US11574492B2 (en) Efficient location and identification of documents in images
US20110164129A1 (en) Method and a system for creating a reference image using unknown quality patterns
CN106815830A (zh) 图像的缺陷检测方法
CN117635615B (zh) 基于深度学习实现冲孔模具的缺陷检测方法及系统
CN114863129A (zh) 仪表数值分析方法、装置、设备及存储介质
CN118097697A (zh) 一种表格图像的处理方法、装置及设备
JP4693742B2 (ja) 画像処理方法、画像処理装置、画像処理プログラムおよび画像処理プログラムを記録する記録媒体
CN116071348B (zh) 基于视觉检测的工件表面检测方法及相关装置
JP2898562B2 (ja) ナンバープレート決定方法
US6351560B1 (en) Apparatus, method, and program for locating an objective on a form and a recording medium for recording the program for locating the objective on the form
CN112308842B (zh) 一种基于印刷品图像的定位核自动提取方法
CN113191351B (zh) 数字电表的示数识别方法及装置、模型训练方法及装置
CN113963379A (zh) 四指指纹位置识别方法、装置及设备

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080519

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090518

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110207

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110309

LAPS Cancellation because of no payment of annual fees