説明

画像処理方法

【課題】対象画像を教示画像と照合するに際して、位置・回転角度の検出の精度を高めた画像処理方法を提供する。
【解決手段】1個の対象画像の輪郭線と教示画像の輪郭線とについて変曲点ごとに分断した輪郭部品を生成する。対象画像と教示画像との輪郭部品ごとに曲率の差の二乗の和を求めて第1の評価値とする。対象画像と教示画像との各2個の輪郭部品の距離の差を第2の評価値とする。対象画像と教示画像とにおける各3個の輪郭部品を結ぶ直線のなす角度の差を第3の評価値とする。第1の評価値と第2の評価値と第3の評価値との合計を不一致度とし、教示画像と対象画像との輪郭部品の組合せで求めた不一致度が最小になる組合せを、教示画像に対応した対象画像と判定する。教示画像と対象画像とにおいて対応付けた輪郭部品間の位置関係により、対象画像の位置・回転角度を求める。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検知対象の画像である対象画像を含む入力画像から入力画像内での対象画像の位置・回転角度を検出する画像処理方法に関するものである。
【背景技術】
【0002】
従来から、TVカメラのような画像入力装置で検知対象を含む空間を撮像するなどして得られた検知対象の画像である対象画像を含む入力画像(濃淡画像)を処理対象とし、画像処理技術を用いて入力画像内での対象画像の位置・回転角度を求める技術が種々知られている。たとえば、生産ラインにおける部品をTVカメラで撮像した画像を入力画像とし、パーツフィーダなどから供給される部品に付与された文字やマークを対象画像として、対象画像の位置や向きを検出することが考えられている。
【0003】
ところで、入力画像内で対象画像の位置・回転角度を求めるための画像処理技術としては、位置・回転角度が既知である検知対象を撮像して得られた対象画像を事前に登録して教示画像(濃淡画像)とし、教示画像をさまざまな回転角度で回転させた照合用テンプレートを入力画像と照合して一致度を評価することにより、入力画像において教示画像に相当する対象画像の回転角度を検出する技術がある(たとえば、特許文献1参照)。対象画像の位置は教示画像を入力画像の中で走査するとともに、入力画像において教示画像が重複している領域と教示画像との一致度を評価すれば求めることができる。この種の画像処理技術は、テンプレートマッチングとして知られている。
【0004】
典型的なテンプレートマッチングでは、教示画像を所定角度で回転させて照合用テンプレートを生成し、照合用テンプレートを入力画像内で走査することにより入力画像内で照合用テンプレートが重複している領域と照合用テンプレートとの一致度が最大になる位置を検出する処理を行う。さらに、教示画像のさまざまな回転角度について前記処理を繰り返して行い、一致度が最大になった照合用テンプレートの位置・回転角度を、入力画像内での対象画像の位置・回転角度とするのである。
【特許文献1】特開平10−206134号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上述したように、特許文献1に記載されたテンプレートマッチングは、ともに濃淡画像である入力画像と教示画像とを照合するものであり、対象画像に相当する領域内のすべての輝度情報を用いているから、たとえば、対象画像の表面に研磨傷のような多数の微細な凹凸が存在しているようなときには、入力画像と教示画像との一致度の最大値が十分に大きくならないから、一致度の差が十分に大きくならない場合がある。つまり、検出可能な位置や回転角度の検出精度が対象画像の表面状態に依存しており、対象画像の表面状態によっては位置や回転角度の検出精度を高くすることができないという問題を有している。
【0006】
また、上述のように教示画像を回転させて照合用テンプレートを生成し、照合用テンプレートを走査して一致度を検出するという処理を何度も繰り返すから、照合用テンプレートを走査する際の刻み幅や回転角度の刻み幅を小さくして、位置・回転角度の検出精度を高めようとすると、膨大な計算回数が必要になる。上述のように、対象画像に相当する領域内のすべての輝度情報を用いて一致度の計算を行い、しかも、計算回数が多いものであるから、膨大な処理時間を要し処理の高速化が困難であるという問題を有している。
【0007】
本発明は上記事由に鑑みて為されたものであり、その目的は、入力画像と教示画像との照合に要する時間を短縮して処理を高速化し、しかも対象画像の表面状態によらず位置・回転角度の検出精度を高めることを可能とし、結果的に位置・回転角度の検出をロバストに行うことができる画像処理方法を提供することにある。
【課題を解決するための手段】
【0008】
請求項1の発明は、検知対象の基準パターンを示す教示画像を用いて既知の検知対象の画像である対象画像の入力画像内における位置・回転角度を検出する画像処理方法であって、入力画像から求めた1個の対象画像の輪郭線と教示画像の輪郭線とについて曲率の符号が変化する変曲点を抽出するとともに輪郭線を変曲点ごとに分断した輪郭部品を生成し、対象画像の各輪郭部品上の各画素における曲率と教示画像の各輪郭部品の各画素における曲率との差の二乗の和を輪郭部品上で求めた値を第1の評価値とし、対象画像における各2個の輪郭部品の代表点間の距離と教示画像における各2個の輪郭部品の代表点間の距離との距離差を第2の評価値とし、対象画像における各3個の輪郭部品の代表点を2個ずつ結ぶ直線のなす角度と教示画像における各3個の輪郭部品の代表点を2個ずつ結ぶ直線のなす角度との角度差を第3の評価値とし、第1の評価値と第2の評価値と第3の評価値との合計を不一致度とし、教示画像の複数個の輪郭部品を順次基準に用いて対象画像の各輪郭部品についてそれぞれ総当たりで求めた不一致度のうち不一致度が最小になる組合せを教示画像に対応した対象画像と判定し、教示画像と対象画像とにおいて対応付けた輪郭部品間の位置関係により、入力画像内における対象画像の位置・回転角度を求めることを特徴とする。
【0009】
この方法によれば、教示画像と対象画像とについて、輪郭線を複数個の部分に分割した輪郭部品の特徴によって比較するから、濃淡画像を用いて比較する場合に比較すると処理負荷が軽減され、結果的に高速な処理が期待できる。また、濃淡画像を用いずに輪郭線にのみ着目するから検知対象の表面の状態に依存することなく位置・回転角度を求めることができ、結果的に検出精度が高められる。その上、輪郭線を複数個の輪郭部品に分割して比較するから、輪郭線の一部が存在していなくとも比較が可能であり、位置・回転角度の検出をロバストに行うことができる。しかも、教示画像と対象画像とについて輪郭部品の形状(第1の評価値)、隣接する2個の輪郭部品の位置関係(第2の評価値)、隣接する3個の輪郭部品の位置関係(第3の評価値)により評価し、第1の評価値と第2の評価値と第3の評価値との合計を不一致度とし、不一致度が最小になったときの教示画像と対象画像との輪郭部品の対応関係を採用し、この対応関係に基づいて教示画像に対する対象画像の位置を求めるから、輪郭線の形状について教示画像と対象画像とで部分ごとに比較することができる上に、輪郭線の全体についても比較することになり、教示画像と対象画像とについて精度の高い対応付けが可能になる。たとえば、輪郭線の形状に共通部分の多い複数個の対象画像が存在していても、教示画像の輪郭線の形状と差があれば、第1の評価値と第2の評価値と第3の評価値とのいずれかについては、比較的大きな値になるから、不一致度が比較的大きくなり、教示画像と対応するか否かを容易に評価することができる。
【0010】
請求項2の発明では、請求項1の発明において、前記不一致度を求める際に基準に用いる教示画像の輪郭部品は、前記輪郭線の内側から見て曲率が負になる輪郭部品とすることを特徴とする。
【0011】
この方法は、曲率が負になる輪郭部品は、曲率が正になる輪郭部品と必ず連結されていることを利用しているのであって、曲率が負になる輪郭部品のみに着目して教示画像と対象画像との輪郭部品の対応付けを行っても、曲率が正になる輪郭部品の対応付けも正確に行うことができる。また、輪郭部品のうち曲率が負になる輪郭部品にのみ着目しているから、対応付けに必要な処理量が約半分になる。
【0012】
請求項3の発明では、請求項1または請求項2の発明において、前記入力画像内に複数の前記対象画像が存在するときに、前記教示画像と各対象画像とのすべての組合せについて不一致度を求めた後に、求めた不一致度を昇順に並べ、着目する対象画像における輪郭部品の個数に対して並び順で上位である対象画像と重複する輪郭部品の個数の割合を重複率として求め、重複率が規定した閾値以下になる対象画像を採用し、採用した対象画像の個数があらかじめ設定されている個数に達した時点で採用されている対象画像について位置・回転角度を求めることを特徴とする。
【0013】
この方法によれば、入力画像内に同形状の複数個の対象画像が存在している場合に、不一致度を小さい順に並べることにより、対応の可能性が高いほうから順に並べることができる。また、輪郭部品同士が重複する割合が閾値以下になるものを採用することにより、同一の対象を重複して検出することがなくなる。しかも、複数の対象を検出することにより、輪郭線が途切れるなどして不完全であっても対応付けられる可能性が高くなる。
【0014】
請求項4の発明では、請求項1ないし請求項3のいずれかの発明において、前記教示画像と前記対象画像とについて互いに対応付けた前記輪郭部品の位置関係に基づいて輪郭部品の位置・回転角度を推定し、位置・回転角度の組の区画からなる投票空間に輪郭部品から求めた位置・回転角度の組を投票し、投票値が最大になる位置・回転角度を対象画像の位置・回転角度として採用することを特徴とする。
【0015】
この方法によれば、位置・回転角度の組を輪郭部品の位置関係から求めて投票空間に投票し、投票数によって位置・回転角度を統計によって求めているから、1個の値で位置・回転角度を決定する場合よりも、精度の高い値を得ることができる。
【0016】
請求項5の発明では、請求項1ないし請求項3のいずれかの発明において、前記対象画像について請求項4に記載の画像処理方法を用いて位置・回転角度を検出した後、位置・回転角度をパラメータに含む1次関係または2次関係で表した誤差関数に教示画像と対象画像との輪郭線上の各画素を当て嵌めるとともに、誤差関数が最小となるように求めたパラメータのうちの位置・回転角度を対象画像の位置・回転角度として採用することを特徴とする。
【0017】
この方法によれば、位置・回転角度を粗く求めた後に誤差関数を用いることで、位置・回転角度の精度をさらに高めることができる。条件にもよるが、たとえば、位置の検出誤差を±1/20画素、回転角度の検出誤差を±1/20度に高めることが可能になる。
【発明の効果】
【0018】
本発明の方法によれば、教示画像と対象画像とについて、輪郭線を複数個の輪郭部品に分割して比較するから、輪郭線の一部が存在していなくとも比較が可能であり、位置・回転角度の検出をロバストに行うことができるという利点がある。また、教示画像と対象画像とについて輪郭部品の形状(第1の評価値)、隣接する2個の輪郭部品の位置関係(第2の評価値)、隣接する3個の輪郭部品の位置関係(第3の評価値)により評価するから、輪郭線の形状について細部の比較と全体の比較とを行うことになり、教示画像と対象画像とについて精度の高い対応付けが可能になるという利点がある。しかも、輪郭線を用いるから濃淡画像を用いる場合に比較すると処理負荷が小さく、処理を高速化することができるという利点もある。
【発明を実施するための最良の形態】
【0019】
以下に説明する実施形態では、物品に付与された文字やマークを検知対象とする例を示す。つまり、印刷、捺印、刻印などの方法で文字やマークが付与された物品を含む画像を入力画像とする。
【0020】
図2に示すように、文字やマークが付与された物品10はTVカメラからなる画像入力装置11により撮像され、画像入力装置11により得られた濃淡画像は輪郭線抽出部11に入力される。ここで、輪郭線抽出部12にはデジタル画像である濃淡画像が入力される。デジタル画像の濃淡画像は、TVカメラから出力されるアナログ信号の映像信号にアナログ−デジタル変換を施すか、デジタル画像を出力するTVカメラを用いることにより得られる。また、画像入力装置11は必ずしもTVカメラでなくてもよく、たとえばイメージスキャナやあらかじめ濃淡画像を登録した記録媒体から濃淡画像を読み取る装置などを画像入力装置11に用いてもよい。また、画像入力装置11は濃淡画像を格納する記憶装置を備えている。
【0021】
輪郭線抽出部12は、濃淡画像にエッジ強調用のオペレータを適用することによってエッジを抽出し、さらにエッジの細線化や延長を行うことによって輪郭線を抽出する技術を採用することが可能であるが、本実施形態では、平滑度の異なる2種類の平滑化画像を生成し、一方の平滑化画像の画素値に重み係数を乗じて他方の平滑化画像の画素値から減算することにより輪郭線を抽出する技術を採用する。この技術は特開2002−183713号公報において採用されている。
【0022】
この輪郭線抽出部12は、たとえば、着目画素を中心とする±n画素の範囲の正方領域(2n+1)×(2n+1)における画素値(濃度)の平均値を着目画素の画素値に用いる平滑化処理手段12aと、着目画素を中心とする±(n+3)の範囲の正方領域(2n+7)×(2n+7)における画素値の平均値を着目画素の画素値に用いる平滑化処理手段12bとを備える。ここで、検知対象である文字やマークの画像である対象画像の濃度が背景よりも大きい(つまり、対象画像が背景よりも暗い)場合を想定し、平滑化処理手段12bの各画素値に対して重み付け手段12cにより0〜1.5の範囲の重み係数を乗じる。差分手段12dによって平滑化処理手段12aで得られる画素値から重み付け手段12cで得られる画素値を減算し、比較手段12eによって画素値が正になる画素のみを抽出すると、対象画像の領域は白抜きになる。比較手段12eにより得られた白画素と黒画素の境界を、輪郭追跡手段12fにおいて追跡することにより対象画像の輪郭線が抽出される。
【0023】
上述のようにして輪郭追跡手段12fで輪郭線を追跡すれば、連続した輪郭線を抽出することができるから、連続した輪郭線ごとにラベルを付与する。つまり、同一の対象画像の候補ごとにラベルを付与する。このようにしてラベルを付与した場合に、複数の対象画像が重なっている箇所であっても1個のラベルが付与されることになる。そこで、以下の処理により各対象画像を判別する。
【0024】
輪郭線抽出部12で生成されたラベル付きの輪郭線は分割処理部13に入力される。分割処理部13は変曲点抽出手段13aを備えており、変曲点抽出手段13aではラベルが付与された輪郭線ごとに曲率の符号の変化点である変曲点を抽出する。変曲点は輪郭線の曲率を求め、曲率の符号が変化する位置の画素を変曲点とする。いま、図3に示す形状の輪郭線E1が得られた場合を想定する。輪郭線E1では凸部分の頂部と凹部分の底部とにおいて曲率が極大になるから、図3における点T1,T2,T3では曲率が極値(極大値または極小値)になる(以下、T1,T2,T3を極値点と呼ぶ)。ここで、輪郭線の内側から見て凸部分の曲率の符号を正とすれば、凹部分の曲率の符号は負になるから、輪郭線E1の上の位置を横軸にとり曲率を縦軸にとれば、輪郭線E1の上の曲率は図4のように変化する。また、凸部分と凹部分の間に曲率の符号が反転する変曲点t1,t2,t3,t4が存在する。
【0025】
以下の説明では、対象画像を図3と同形状とし、図3に従って、極値点を白丸で表し、変曲点を黒丸で表す。なお、以下の説明において、輪郭線E1に相当する形状を簡略化して十字形で表すが、十字形の角部分には意味はなく、凸部分の頂部および凹部分の底部が極値点になり、凸部分と凹部分との間に変曲点が存在することとする。
【0026】
分割処理部13の変曲点抽出手段13aにおいて輪郭線E1の変曲点t1,t2,……が抽出されると、分割処理部13の部分分割手段13bにおいて、輪郭線E1を変曲点t1,t2,……ごとに分断し、図5、図6に示すように、輪郭部品e11,e12,……を生成する。
【0027】
図5(a)は位置・回転角度が既知である対象画像を画像入力装置11により撮像し輪郭線抽出部12で抽出した輪郭線E1であって、図5(b)のようにこの輪郭線E1について変曲点で分断した輪郭部品e11,e12,……を教示画像として教示画像記憶部14に格納する。教示画像記憶部14において、輪郭部品e11,e12,……は輪郭線E1に結びつけた形で格納される。図5(b)に示すように、各輪郭部品e11,e12,……には1個ずつの極値点T1,T2,……が含まれる。
【0028】
一方、図6(a)は教示画像と照合する入力画像における対象画像の輪郭線E2であって、教示画像と同様に変曲点で分断され、図6(b)のように、輪郭部品e21,e22,……が生成される。各輪郭部品e21,e22,……には1個ずつの極値点S1,S2,……が含まれる。
【0029】
上述したように、教示画像記憶部14に輪郭部品e11,e12,……からなる教示画像が格納された状態において、入力画像に含まれる対象画像から輪郭部品e21,e22,……が生成されると、評価処理部15において、入力画像から生成された輪郭部品e21,e22,……と教示画像である輪郭部品e11,e12,……とが比較される。また、輪郭部品e11,e12,……、e21,e22,……は、それぞれ1個の極値点T1,T2,……、S1,S2,……を含むから、極値点T1,T2,……、S1,S2,……を各輪郭部品e11,e12,……、e21,e22,……の代表点に用いる。
【0030】
評価処理部15では、従来構成のように一致度ないし類似度を評価するのではなく、異なっている程度である不一致度を以下の方法で評価し、不一致度が最小になるように、入力画像から得られた輪郭部品e11,e12,……と、教示画像から得られた輪郭部品e21,e22,……とを対応付ける。輪郭部品e11,e12,……と輪郭部品e21,e22,……との対応付けは1個ずつ順次行い、不一致度が最小になる組合せを抽出する。
【0031】
不一致度は、以下の3種類の評価値の総和として求める。
【0032】
第1の評価値としては、教示画像から求めた輪郭部品e11,e12,……と入力画像から求めた輪郭部品e21,e22,……とについて曲率差の二乗和を用いる。ただし、曲率差を求めようとする各2個の輪郭部品e11,e12,……、e21,e22,……の画素数は一致するとは限らないから、各輪郭部品e11,e12,……、e21,e22,……の極値点T1,T2,……、S1,S2,……から両端に向かって各画素ごとの曲率の差を順に求め、一方の差を求める画素が相手がなくなれば差を求める処理を終了する。いま、極値点T1,S1を含む各輪郭部品e11,e21について、各画素iに着目して求めた曲率をそれぞれCT1(i),CS1(i)とするとき、第1の評価値は、Σ(CT1(i)−CS1(i))(ただし、i=1,2,……比較画素数)と表される。つまり、輪郭部品e1j,e2kに関する第1の評価値は、Cjk=Σ(CTj(i)−CSk(i))になる。この評価値Cjkが規定した閾値以下でかつ最小になるとき、教示画像の輪郭部品e1jと入力画像の輪郭部品e2kとが対応していると判断する。
【0033】
第2の評価値としては、教示画像において着目する2個の輪郭部品における極値点間の距離と、入力画像における各2個の輪郭部品の極値点間の距離との距離差を用いる。いま、教示画像において着目する2個の輪郭部品をe12,e13とし、極値点T2,T3間の距離を[T3−T2]と表すものとする。一方、入力画像における各2個の輪郭部品e21,e22,……の極値点S1,S2,……間の距離を、[S2−S1],[S3−S1],……,[S3−S2],[S4−S2],……と表すものとする。たとえば、入力画像の輪郭部品e22と輪郭部品e24との極値点S2,S3間の距離は[S4−S2]で表される。
【0034】
つまり、教示画像において着目する2個の輪郭部品をe1m,e1j(m<j)と表し、入力画像において比較する2個の輪郭部品をe2n,e2k(n<k)と表すと、極値点間の距離の距離差は、|[Tj−Tm]−[Sk−Sn]|と表される。実際には、第2の評価値は、第1の評価値などを用いて教示画像と入力画像とのいずれかの部分画像の対応関係が既知である場合(つまり、m=nの場合)に適用される評価値であって、教示画像における輪郭部品e1jに対応する入力画像の輪郭部品e1kを評価するために用いる。したがって、第2の評価値は、教示画像の着目する2個の輪郭部品をe1m,e1jに対して、入力画像の輪郭部品e2kを求める評価値として、Djk=|[Tj−Tm]−[Sk−Sm]|という形で表される。第2の評価値は、教示画像の輪郭部品e1jと入力画像の輪郭部品e2kとが対応する場合には略0になる。
【0035】
第3の評価値としては、教示画像の中で着目する3個の輪郭部品における極値点がなす角度と、入力画像における各3個の輪郭部品の極値点がなす角度との角度差を用いる。いま、教示画像において着目する3個の輪郭部品をe12,e13,e14とし、極値点T2,T3,T4がなす角度を∠T1T2T3で表すものとする。一方、入力画像における各3個の輪郭部品e21,e22,……の極値点S1,S2,……がなす角度を、∠S1S2S3,∠S1S2S4,……,∠S2S3S4,∠S2S3S5,……と表すものとする。たとえば、入力画像の輪郭部品e21,e22,e24の極値点S1,S2,S4がなす角度は∠S1S2S4で表される。
【0036】
つまり、教示画像において着目する3個の輪郭部品をe1m,e1p,e1j(m<p<j)と表し、入力画像において比較する2個の輪郭部品をe2n,e2q,e2k(n<q<k)と表すと、極値点がなす角度の角度差は、|∠TmTpTj−∠SnSqSk|と表される。実際には、第3の評価値は、第1の評価値および第2の評価値などを用いて教示画像と入力画像とのいずれか2個の部分画像の対応関係が既知である場合(つまり、m=n,p=qの場合)に適用される評価値であって、教示画像における輪郭部品e1jに対応する入力画像の輪郭部品e1kを評価するために用いる。したがって、第3の評価値は、教示画像の着目する3個の輪郭部品e1m,e1p,e1jに対して、入力画像の輪郭部品e2kを求める評価値として、Ajk=|∠TmTpTj−∠SmSpSk|と表される。第3の評価値は、教示画像の輪郭部品e1jと入力画像の輪郭部品e2kとが対応する場合には略0になる。
【0037】
上述のように、第1の評価値では教示画像と入力画像との個々の輪郭部品の特性を利用して類似度を評価し、第2の評価値では教示画像と入力画像との2個の輪郭部品の位置関係を利用して類似度を評価し、第3の評価値では教示画像と入力画像との3個の輪郭部品の位置関係を利用して類似度を評価している。したがって、教示画像の2個の輪郭部品部分e1m,e1pと入力画像の2個の輪郭部品e2n,e2qとが対応付けられる場合には、不一致度をEjk=Cjk+Djk+Ajkとおいて教示画像における輪郭部品e1jと入力画像におけるe2kとが対応するかどうかを評価することができる。
【0038】
教示画像の各輪郭部品e11,e12,……に対して、上述した不一致度が最小になるような入力画像の輪郭部品e21,e22,……が求まるから、教示画像の各輪郭部品e11,e12,……に対応付けて得られた不一致度を求めれば、教示画像と入力画像との相違の程度を不一致度によって評価することが可能になる。
【0039】
上述の説明において、教示画像の2個の輪郭部品部分e1m,e1pと入力画像の2個の輪郭部品e2n,e2qとの対応付けが終了している状態を出発点にしているが、この対応付けは対応付けの候補であって確定しているわけではないから、2個の輪郭部品の対応付けについても可能な組合せのすべてについて不一致度を求め、求めた不一致度の中で閾値以下かつ最小になる組合せを、教示画像と入力画像との輪郭部品を対応付ける組合せとする。このように、輪郭部品についてすべての組合せについて全体一致度を求める、いわゆる貪欲算法を用いることにより、教示画像と入力画像との不一致の程度を評価することができるが、各輪郭部品の曲率の符号などを用いれば、無関係な組合せを排除して不一致度を求めるべき輪郭部品の組合せの個数を減らすことができるから、処理負荷を軽減することが可能である。
【0040】
上述した輪郭部品の対応付けによって、入力画像に含まれる輪郭線から教示画像に相当する対象画像の有無を検出することができる。ただし、上述した手順では入力画像における対象画像の有無を検出することはできるものの、対象画像の位置・回転角度は検出することができない。以下では、対象画像の位置・回転角度を求める技術について説明する。
【0041】
対象画像の位置・回転角度を求めるために、教示画像を生成する際に位置・角度データ抽出部16おいて、輪郭部品e11,e12,……のすべての対に対して、次の2種類のデータを生成し、これらのデータも教示画像記憶部14に格納しておく。すなわち、教示画像において、各一対の輪郭部品e11,e12,……の極値点T1,T2,……をそれぞれ結ぶ直線が画像の水平方向に対してなす角度と、各一対の輪郭部品e11,e12,……の極値点T1,T2,……をそれぞれ結ぶ直線の中点から教示画像の適宜位置に設定した代表点に向かうベクトルとを、対象画像の位置・回転角度を求める際に用いる2種類のデータとして教示画像記憶部14に格納しておく。ここに、ベクトルは大きさと角度とを含んでおり、ベクトルの向きについては極値点T1,T2,……間を結ぶ直線に対する角度で表す。
【0042】
図7(a)のように、極値点T1,T6の対に着目すると、直線T1T6が水平方向に対してなす角度はθ16であり、直線T1T6の中点Pcから代表点(「出力点」と呼ぶ)P1に向かうベクトルの大きさはr16になる。また、直線T1T6に対するベクトルの向きを表す角度はα16になる。入力画像から求めた対象画像についても、同種のデータを求めれば、輪郭部品の照合によって求めた対象画像の位置・回転角度を求めることができる。
【0043】
そこで、対象画像から教示画像の輪郭部品e11,e12,……に対応付けて抽出した対象画像のすべての輪郭部品e21,e22,……のすべての対について、位置・角度データ抽出部16では、まず各一対の輪郭部品e21,e22,……の極値点S1,S2,……をそれぞれ結ぶ直線が画像の水平方向に対してなす角度を求める。対象画像から求めた極値点S1,S2,……と教示画像から求めた極値点T1,T2,……との対応関係は既知であるから、対象画像について求めた角度から教示画像について求めた角度を減算すれば、対象画像の教示画像に対する回転角度を推定することができる。
【0044】
次に、対にした極値点S1,S2,……を結ぶ直線の中点Pc′を始点にして、教示画像について求めたベクトルの大きさに大きさが等しく、かつ当該直線に対する向きが教示画像で求めた直線に対するベクトルの角度(α16に対応)で表されるベクトルを設定し、このベクトルの先端位置を対象画像の代表点の位置と推定する。
【0045】
図7(b)のように、対象画像について極値点S1,S6の対に着目すると、直線S1S6が水平方向に対してなす角度はψ16であるから、対象画像の回転角度の推定値はψ16−θ16になる。また、この直線S1S6に対して角度α16であって大きさがr16であるベクトルの始点を直線S1S6の中点Pc′とすることにより、ベクトルの先端位置が対象画像の代表点P2の推定位置になる。
【0046】
上述のようにして、対象画像の1対の輪郭部品e21,e22,……について位置と回転角度との推定値を求めることができる。そこで、位置と回転角度とからなる2次元の投票空間に推定値を投票する。投票空間は位置と回転角度との組合せについて多数個のセルに分割されている。しかして、同様の処理を各輪郭部品e21,e22,……について行い、すべての輪郭部品e21,e22,……に関して投票が終了したときに、投票数がもっとも多いセルの位置・回転角度を教示画像に対する対象画像の位置・回転角度に用いる。
【0047】
本実施形態の処理手順を図1にまとめて示す。まず、入力画像が与えられると輪郭線抽出部12において入力画像に含まれる対象画像の輪郭線を抽出する(101)。次に、輪郭線の曲率を求め(102)、さらに変曲点を求め輪郭線を変曲点で輪郭部品に分断する(103)。分断後に各輪郭部品を代表する各極値点の間の距離を求め(104)、3個ずつの輪郭部品の極値点がなす角度を求める(105)。
【0048】
その後、教示画像から得られた輪郭部品のうちの一つを開始部品として選択し(106)、教示画像から選択した開始部品と対象画像の輪郭部品とを対応付ける(107)。また、対象画像の輪郭部品と教示画像の開始部品との曲率差の二乗和として求められる第1の評価値を求める(108)。
【0049】
次に、教示画像において開始部品と異なる輪郭部品を選択し(109)、対象画像から得られたすべての輪郭部品について第2の評価値と第3の評価値とをそれぞれ求め(110)、第1の評価値と第2の評価値と第3の評価値とを合計した不一致度が最小になるような輪郭部品の組合せを求める(111)。
【0050】
ステップ109での教示画像からの輪郭部品の選択を順次行い、ステップ109〜111の処理を教示画像における開始部品以外のすべての輪郭部品について繰り返す(112)。さらにステップ107〜112の処理を対象画像から求めたすべての輪郭部品を対象として行う(113、114)。ただし、ステップ107〜114を繰り返す間に、開始部品は同じものを用いており、対象画像において開始部品に対応付けられる輪郭部品も同じものが用いられる。ステップ117〜114の処理が終了した後には、開始部品を変更して、教示画像におけるすべての輪郭部品を開始部品として、ステップ117〜114の処理を行う(115,116)。つまり、教示画像と対象画像とについて、第1の評価値と第2の評価値と第3の評価値との合計である不一致度をすべての輪郭部品の組合せについて求める。ステップ117〜116のように、輪郭部品のすべての組合せについて不一致度を求めるから、これは貪欲算法によって不一致度を求める処理になる。
【0051】
ステップ117〜116の終了後には、教示画像と対象画像との輪郭部品のさまざまな組合せについて不一致度が得られているから、不一致度が最小になる組合せを抽出すれば、対象画像において教示画像との一致度が高い対象画像を抽出することができる(117)。ここに、入力画像には複数個の対象画像が含まれている場合が多いから、各対象画像ごとに上述の処理を行い、また不一致度に適宜の閾値を設定して、不一致度が閾値以下にならない場合には、対象画像に一致する教示画像がないと判断すればよい。
【0052】
教示画像と対象画像との輪郭部品の対応付けが終了した後には、対象画像に含まれる対象画像の位置・回転角度を求める(118)。
【0053】
以上説明した処理を行うことにより、教示画像と対象画像とについて、すべての輝度情報を用いるのではなく輪郭線の形状を用いたことにより、対象画像のテクスチャのような形状の判定に不要な情報を除去することができるから、すべての輝度情報を用いる場合よりも処理負荷が軽減されるとともに、対象画像の表面状態の影響を受けないから、検知対称の位置や回転角度をロバストに検出することができる。たとえば、図8(a)に示す入寮画像のように文字が重なっているような場合であっても、図8(b)のような教示画像に対応する対象画像を容易に抽出することができる。
【0054】
ところで、上述した動作例では、教示画像と対象画像とから得られる輪郭部品のすべての組合せについて不一致度を求めることによって教示画像と対象画像との照合を行っているから、ステップS6〜S15の繰り返し回数は有限回ではあるが、照合する形状が複雑であるほど繰り返し回数が多くなって処理負荷が増加する。
【0055】
一方、対象画像の輪郭線には、対象画像の中心から見たときに曲率が正になる凸形状の輪郭部品(図3を例にすれば、e11,e13,e15,e17に相当する)と、対象画像の中心から見たときに曲率が負になる凹形状の輪郭部品(図3を例にすれば、e12,e14,e16,e18に相当する)とが含まれることが多い。そこで、上述した開始部品については、凹形状の輪郭部品のみを用いることにより処理負荷を軽減するようにしてもよい。
【0056】
ここに、凸形状の輪郭部品ではなく凹形状の輪郭部品に着目するのは、対象画像の輪郭線において凹形状の輪郭部品は単独で存在することができず、凹形状の輪郭部品の両側には必ず凸形状の輪郭部品が存在するからであって、上述したステップS6〜S15の処理について開始部品を凹形状の輪郭部品のみとしても、両側の凸形状の輪郭部品を考慮して開始部品を設定していることになり、結果的にすべての輪郭部品の組合せについて不一致度を求めたことになる。つまり、開始部品の候補数を約1/2にすることになるから、ステップS6〜S15の処理負荷(処理時間)を略半分にすることになる。
【0057】
上述したように、入力画像には複数個の対象画像が含まれることがあり、その場合、不一致度が最小になったとしても、入力画像における対象画像と教示画像とが一致していることが保証されない。上述した処理では、不一致度に対する閾値を与え、閾値より小さい場合に教示画像と一致する対象画像であると判断しているが、教示画像に似た形状の対象画像が入力画像に含まれている場合や、入力画像の品質が悪く入力画像内の対象画像に遮蔽や欠けが生じているような場合には、教示画像との照合結果において誤判断を生じることがある。
【0058】
そこで、図1に示したステップ117に代えて図9に示す処理を行ってもよい。この処理は入力画像に含まれる対象画像の個数が既知である場合に採用される。すなわち、各開始部品ごとに輪郭部品のすべての組合せについて不一致度を求めた後(121)、不一致度を昇順(最小から大きくなる順)に並べる(122)。不一致度が小さいほうから順に(124、129、130)、対象画像に含まれる輪郭部品の個数を抽出し(125)、
不一致度を昇順に(不一致度の小さいほうから順に)並べた対象画像について着目する対象画像に含まれる輪郭部品の個数に対して、昇順で上位である対象画像と重複する輪郭部品の個数の割合を重複率として求める(126)。つまり、重複率は、着目する対象画像における輪郭部品の個数に対して並び順で上位である(不一致度のより小さい)対象画像と重複する輪郭部品の個数の割合として定義される。この重複率が与えられた閾値以下になるとき(127)、入力画像から求めた対象画像を採用する(128)。
【0059】
ここで、対象画像の個数は既知であるから、作業者が設定した個数分の対象画像が教示画像に一致するか(129)、対象画像から抽出したすべての候補(つまり、ラベルを付与した個数)分の対象画像について処理が終了すれば(130)、各対象画像についてそれぞれ位置・回転角度を求める(131)。
【0060】
図9に示した処理によって、入力画像から複数の対象画像を検出することが可能となり、教示画像と形状の類似する対象画像が入力画像に含まれる場合や、入力画像内に同形状の複数個の対象画像が含まれる場合でも抽出することが可能になる。さらに、対象画像に遮蔽や欠けが発生している場合でも教示画像との照合が可能になる。
【0061】
上述の処理例では、対象画像の位置・回転角度を求めるために投票空間への投票を行っているが、投票空間におけるセルのサイズによって位置・回転角度の検出精度が変化する。つまり、セルのサイズを大きくすると位置・回転角度の検出精度が低くなり、逆にセルのサイズを小さくすると位置・回転角度の検出精度が高くなるものの各セルの投票数の差が小さくなり、投票数が同数になるセルが複数生じる可能性があり、位置・回転角度を決定するのが難しくなることががある。
【0062】
この種の問題を回避するために、位置・回転角度の検出が容易になるようにセルのサイズを調整しておき、入力画像において教示画像と同形状の対象画像の位置・回転角度を検出した後に、対象画像を教示画像に対して1次式または2次式で表される変形を加えたものとみなし、さらに高い精度で位置・回転角度を求めるのが望ましい。
【0063】
すなわち、入力画像から求めた対象画像の概略の位置・回転角度、概略の拡大縮小率をパラメータとして用い、教示画像の輪郭線に座標変換を施して検査画像に重ね合わせる。ここで、教示画像の輪郭線の上の各画素(以下、「輪郭点」という)から教示画像の輪郭線の法線方向に検査画像を探索し、各輪郭点を出発点として探索したときにそれぞれ最初に見つかった検査画像の輪郭線の上の輪郭点を、教示画像の各輪郭点の対応点とする。教示画像のすべての輪郭点に対して対応点を求め、(1)式として示す誤差関数(累積二乗誤差)Qを求める。この誤差関数Qは、(2)(3)式で示すように、教示画像と検査画像とのそれぞれの輪郭線の1次関係(教示画像に(2)(3)式のような1次式で表される変形を加えた画像が検査画像であるとみなす関係)を表している。次に、誤差関数Qを誤差関数Qに含まれる各変換パラメータA〜F(後述する)で偏微分してdQ=0とおき、各変換パラメータA〜Fを未知数とする連立方程式を解いて各変換パラメータA〜Fを求めると、位置、回転角度、拡大縮小率を含む変換パラメータが得られる。
Q=Σ(Qx+Qy) … (1)
ただし、
Qx=αn(Xn−(Axn+Byn+C)) … (2)
Qy=αn(Yn−(Dxn+Eyn+F)) … (3)
xn,yn:教示画像P1の輪郭点
Xn,Yn:検査画像P2の輪郭点
A=β・cosθ
B=−γ・sinφ
C=dx
D=β・sinθ
E=γ・cosφ
F=dy
である。また、αn:重み、β:x方向の拡大縮小率、γ:y方向の拡大縮小率、θ:x軸回りの回転角度、φ:y軸回りの回転角度、dx:x方向の変位(位置)、dy:y方向の変位(位置)を意味する。
【0064】
(1)式では教示画像P1の全輪郭点について(Qx+Qy)の総和を求めている。変換パラメータA〜Fは、∂Q/∂A=0、∂Q/∂B=0、……、∂Q/∂E=0、∂Q/∂F=0を満たす値として求める。また、重みαnについては種々設定可能であり、教示画像と対象画像との法線の内積、教示画像と対象画像との輪郭点間の距離の最大値に対する各距離の割合、教示画像と対象画像との輪郭点間の距離の逆数などを用いることができる。重みαnを1として重み付けを行わないようにすることも可能である。さらに、重みαnは各画素ごとに設定可能である。このようにして得られたβ、γ、θ、φ、dx、dyの値が設定した検出精度の半分以下になれば、処理を終了し位置・回転角度・拡大縮小率を出力する。また、β、γ、θ、φ、dx、dyの値が設定した検出精度の半分を越えているときには、得られた変換パラメータA〜Fに基づいて教示画像の輪郭点を座標変換した後に再度同様の処理を行い、演算終了の判定条件として同様の処理を繰り返す。
【0065】
上述した方法は、対象画像を教示画像に対して1次式で表される変形を加えたものとみなした場合であるが、2次式で表される変形(たとえば、光学系の歪みなどを含む変形)を加えたものとみなす場合には、誤差関数Qとして(4)式で示す値を用いる。この誤差関数Qは、教示画像と対象画像との2次関係(教示画像に(5)(6)式のような2次式で表される変形を加えた画像が検査画像であるとみなす関係)を表す。
Q=Σ(Qx+Qy) … (4)
ただし、
Qx=αn(Xn−(Gxn+Hxn・yn+Iyn+Axn+Byn+C)) … (5)
Qy=αn(Yn−(Jxn+Kxn・yn+Lyn+Exn+Fyn+G)) … (6)
xn,yn:教示画像P1の輪郭点
Xn,Yn:検査画像P2の輪郭点
A〜Fは(1)式と同じである。また、αn:重み、G:xnのx方向の変形量への寄与度、H:xn・ynのx方向の変形量への寄与度、I:ynのx方向の変形量への寄与度、J:xnのy方向の変形量への寄与度、K:xn・ynのy方向の変形量への寄与度、L:ynのy方向の変形量への寄与度である。
【0066】
(4)式では教示画像P1の全輪郭点について(Qx+Qy)の総和を求めている。変換パラメータA〜Lは、∂Q/∂A=0、∂Q/∂B=0、……、∂Q/∂K=0、∂Q/∂L=0を満たす値として求める。また、重みαnについては1次変形の場合と同様のものを用いる。上述の手順で変換パラメータA〜Lを求めることにより、2次関係の場合の位置・回転角度・拡大縮小率を求めることができる。
【0067】
上述のように1次関係あるいは2次関係に当て嵌めることにより、投票空間に投票を行うよりも高い精度で位置・回転角度を求めることが可能である。たとえば、位置を±1/20画素、回転角度を±1/20度の精度で求めることも可能である。
【図面の簡単な説明】
【0068】
【図1】本発明の実施形態を示す動作説明図である。
【図2】同上のブロック図である。
【図3】同上の動作説明図である。
【図4】同上の動作説明図である。
【図5】同上に用いる輪郭部品の概念を示す図である。
【図6】同上に用いる輪郭部品の概念を示す図である。
【図7】同上において位置・回転角度を求める方法を示す図である。
【図8】同上の処理例を示す図である。
【図9】同上の他の処理例を示す動作説明図である。
【符号の説明】
【0069】
E1 輪郭線(教示画像)
E2 輪郭線(対象画像)
e11,e12,…… 輪郭部品
e21,e22,…… 輪郭部品

【特許請求の範囲】
【請求項1】
検知対象の基準パターンを示す教示画像を用いて既知の検知対象の画像である対象画像の入力画像内における位置・回転角度を検出する画像処理方法であって、入力画像から求めた1個の対象画像の輪郭線と教示画像の輪郭線とについて曲率の符号が変化する変曲点を抽出するとともに輪郭線を変曲点ごとに分断した輪郭部品を生成し、対象画像の各輪郭部品上の各画素における曲率と教示画像の各輪郭部品の各画素における曲率との差の二乗の和を輪郭部品上で求めた値を第1の評価値とし、対象画像における各2個の輪郭部品の代表点間の距離と教示画像における各2個の輪郭部品の代表点間の距離との距離差を第2の評価値とし、対象画像における各3個の輪郭部品の代表点を2個ずつ結ぶ直線のなす角度と教示画像における各3個の輪郭部品の代表点を2個ずつ結ぶ直線のなす角度との角度差を第3の評価値とし、第1の評価値と第2の評価値と第3の評価値との合計を不一致度とし、教示画像の複数個の輪郭部品を順次基準に用いて対象画像の各輪郭部品についてそれぞれ総当たりで求めた不一致度のうち不一致度が最小になる組合せを教示画像に対応した対象画像と判定し、教示画像と対象画像とにおいて対応付けた輪郭部品間の位置関係により、入力画像内における対象画像の位置・回転角度を求めることを特徴とする画像処理方法。
【請求項2】
前記不一致度を求める際に基準に用いる教示画像の輪郭部品は、前記輪郭線の内側から見て曲率が負になる輪郭部品とすることを特徴とする請求項1記載の画像処理方法。
【請求項3】
前記入力画像内に複数の前記対象画像が存在するときに、前記教示画像と各対象画像とのすべての組合せについて不一致度を求めた後に、求めた不一致度を昇順に並べ、着目する対象画像における輪郭部品の個数に対して並び順で上位である対象画像と重複する輪郭部品の個数の割合を重複率として求め、重複率が規定した閾値以下になる対象画像を採用し、採用した対象画像の個数があらかじめ設定されている個数に達した時点で採用されている対象画像について位置・回転角度を求めることを特徴とする請求項1または請求項2記載の画像処理方法。
【請求項4】
前記教示画像と前記対象画像とについて互いに対応付けた前記輪郭部品の位置関係に基づいて輪郭部品の位置・回転角度を推定し、位置・回転角度の組の区画からなる投票空間に輪郭部品から求めた位置・回転角度の組を投票し、投票値が最大になる位置・回転角度を対象画像の位置・回転角度として採用することを特徴とする請求項1ないし請求項3のいずれか1項に記載の画像処理方法。
【請求項5】
前記対象画像について請求項4に記載の画像処理方法を用いて位置・回転角度を検出した後、位置・回転角度をパラメータに含む1次関係または2次関係で表した誤差関数に教示画像と対象画像との輪郭線上の各画素を当て嵌めるとともに、誤差関数が最小となるように求めたパラメータのうちの位置・回転角度を対象画像の位置・回転角度として採用することを特徴とする請求項1ないし請求項3のいずれか1項に記載の画像処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図9】
image rotate

【図8】
image rotate


【公開番号】特開2007−172409(P2007−172409A)
【公開日】平成19年7月5日(2007.7.5)
【国際特許分類】
【出願番号】特願2005−371061(P2005−371061)
【出願日】平成17年12月22日(2005.12.22)
【出願人】(000005832)松下電工株式会社 (17,916)
【Fターム(参考)】