クロスマーク検出装置及び方法、並びにプログラム
【課題】テンプレートに頼らず、各画素の周囲の輝度の変化を検出することで、安定したクロスマークの検出を行う。
【解決手段】クロスマーク検出装置は、画像中の各点についてクロスマークの中心を判定して、クロスマーク候補点画像とするクロスマーク候補画像作成手段と、クロスマーク候補画像を太線化し、領域分割して近傍にあるクロスマーク候補点に同じ領域番号を付与した領域画像を出力するクロスマーク候補画像太線化手段と、クロスマーク候補点に対して近傍の輝度情報を使って二直線の交点としてクロスマーク中心座標を計算するクロスマーク中心座標計算手段と、同一の領域番号を持つ点の中で最大のスコアを持つ点を領域の代表点としてクロスマークの中心であると判定する代表点採用手段とから成る。
【解決手段】クロスマーク検出装置は、画像中の各点についてクロスマークの中心を判定して、クロスマーク候補点画像とするクロスマーク候補画像作成手段と、クロスマーク候補画像を太線化し、領域分割して近傍にあるクロスマーク候補点に同じ領域番号を付与した領域画像を出力するクロスマーク候補画像太線化手段と、クロスマーク候補点に対して近傍の輝度情報を使って二直線の交点としてクロスマーク中心座標を計算するクロスマーク中心座標計算手段と、同一の領域番号を持つ点の中で最大のスコアを持つ点を領域の代表点としてクロスマークの中心であると判定する代表点採用手段とから成る。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮影された輝度画像中からクロスマークを検出するクロスマーク検出装置及び方法、並びにプログラム
【背景技術】
【0002】
3次元物体の特定の点をカメラで撮像した際の画像中の位置を知りたい場合、撮影環境に影響を受けにくく、画像処理によって座標が正確に計算可能なマークを撮影することがある。たとえば、カメラ自身の空間の点の三次元座標から二次元座標への射影変換に必要なパラメータを計算する場合には、あらかじめ三次元座標が既知の点にマークを置き、撮影されたマークの二次元座標をもとにパラメータを計算する。また、射影変換が既知の状態で空間中の未知の位置や動きを計測する際にも用いられる。
【0003】
このような場合に使われるマークの一つに、図1に示すクロスマークがある。これは平面上に白と黒が交互に現れるようなパターンであり、背景の明るさにかかわらず使用可能であり、マークの中央の点は二つの直線の交点として計算可能なので、サブピクセルの精度で座標値を得ることが可能である。特許文献1、或いは特許文献2においても利用されている。このようなクロスマークを画像中で検出するプログラムにおいては、テンプレートマッチングによるものがある。あらかじめ作成しておいた二次元のパターン(テンプレート)と画像中の同じサイズの矩形の輝度パターン(ウィンドウ)との輝度差を計算し、それが閾値以内であればクロスマークとする方法である。テンプレートマッチングの手法には問題点が二つある。
【0004】
第一の問題点は、存在するクロスマークを見落とす問題である。撮影条件などにより、クロスマークがおかれた場所が明るかったり暗かったりすると、テンプレートとの間に輝度差が生じてマークではないと判定されることがある。また、図2に示すように、テンプレートがカメラの画像面に正対せず斜めになっている場合や回転している場合にも、テンプレートとの画像間に差が生じてクロスマークでないと判定する場合がある。
【0005】
第二の問題点は、クロスマークでない場所をクロスマークとして検出する場合である。典型的には、図3に示す線状の図形もテンプレートとある程度の類似性が生じ、閾値の条件によってはクロスマークとして検出されることがある。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005-28468号公報
【特許文献2】特開2009-279663号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述の二つの問題は、閾値の設定によって解決される場合もあるが、通常、相反する結果をもたらす。すなわち、閾値をあげてテンプレートとの輝度差を許容しなくすれば見落としが増え、逆に閾値を下げれば誤ってクロスマークと判定する場合が増える。
【0008】
本発明は、係る問題点を解決して、テンプレートに頼らず、各画素の周囲の輝度の変化を検出することで、安定したクロスマークの検出を行うことを目的としている。
【課題を解決するための手段】
【0009】
本発明のクロスマーク検出装置は、撮影された輝度画像中からクロスマークを検出する。このクロスマーク検出装置は、検出すべきクロスマークのある輝度画像が入力されて、画像中の各点についてクロスマークの中心であるか否かを判定して、その結果をクロスマーク候補点画像とするクロスマーク候補画像作成手段と、前記クロスマーク候補画像を太線化し、領域分割して近傍にあるクロスマーク候補点に同じ領域番号を付与した領域画像を出力するクロスマーク候補画像太線化手段と、前記クロスマーク候補画像におけるクロスマーク候補点に対して近傍の輝度情報を使って二直線を決定してその交点としてクロスマーク中心座標を計算するクロスマーク中心座標計算手段と、前記領域画像内で同一の領域番号を持つ点の中で最大のスコアを持つ点を領域の代表点として採用し、この領域の代表点をクロスマークの中心であると判定する代表点採用手段と、から成る。
【0010】
また、本発明のクロスマーク検出方法は、輝度画像中の全画素についてクロスマークの中心としての判定を行い、その結果をクロスマーク候補点画像とし、前記クロスマーク候補点画像の太線化を行い、領域画像をつくり、前記領域画像に対してクロスマーク候補点が隣接しているものに対して同じ領域番号を割り振る領域分割を行ない、各々のクロスマーク候補点を中心にする近傍点の輝度パターンを使ってクロスマークの中心座標を計算し、同時にクロスマークの強度であるスコアを計算し、前記領域画像において同じ領域番号を持つクロスマーク候補点画像における候補点の中で最大のスコアを持つクロスマーク候補点を領域の代表点として採用し、領域番号の数だけのクロスマーク二次元座標値を得ることから成る。
【0011】
また、本発明のクロスマーク検出プログラムは、輝度画像中の全画素についてクロスマークの中心としての判定を行い、その結果をクロスマーク候補点画像とする手順と、前記クロスマーク候補点画像の太線化を行い、領域画像をつくる手順と、前記領域画像に対してクロスマーク候補点が隣接しているものに対して同じ領域番号を割り振る領域分割を行なう手順と、各々のクロスマーク候補点を中心にする近傍点の輝度パターンを使ってクロスマークの中心座標を計算し、同時にクロスマークの強度であるスコアを計算する手順と、前記領域画像において同じ領域番号を持つクロスマーク候補点画像における候補点の中で最大のスコアを持つクロスマーク候補点を領域の代表点として採用し、領域番号の数だけのクロスマーク二次元座標値を得る手順と、から成る各手順をコンピュータに実行させる。
【0012】
前記クロスマークの中心としての判定は、対象点の周囲に連続したリング状のマスクを作成し、該マスク上の輝度情報により行う。前記クロスマーク中心座標計算は、前記境界点に対応する元画像の点と注目点を結ぶ直線の近傍において輝度分布の傾斜が大きい点を検出し、対向する境界点との間で平行な二直線をあてはめ、その中央に位置する直線を代表直線とし、交差する二代表直線の交点として二次元座標値を計算する。
【発明の効果】
【0013】
本発明によれば、テンプレートに頼らず、各画素の周囲の輝度の変化を検出することで、安定したクロスマークの検出を行うことができる。
【図面の簡単な説明】
【0014】
【図1】クロスマークを例示する図である。
【図2】テンプレートが検出しないクロスマークの歪みを説明する図である。
【図3】テンプレートが誤って検出する画像例を示す図である。
【図4】本発明に基づき構成したクロスマーク検出装置を例示する図である。
【図5】動作アルゴリズムを例示する図である。
【図6】リングマスクと配列Rを説明する図である。
【図7】輝度差による判定を説明する図である。
【図8】領域数判定における不可の例を説明する図である。
【図9】境界の対称性条件を説明する図である。
【図10】狭すぎる条件を説明する図である。
【図11】テンプレート判定を説明する図である。
【図12】領域分割例を説明する図である。
【図13】エッジ点の抽出とセグメントを説明する図である。
【図14】ずれのあるセグメント例を説明する図である。
【図15】ずれたセグメントの傾き計算を説明する図である。
【発明を実施するための形態】
【0015】
以下、例示に基づき本発明を説明する。図4は、本発明に基づき構成したクロスマーク検出装置の全体構成を示す概略図である。検出すべきクロスマークのある輝度画像I1がカメラにおいて撮影され、クロスマーク候補画像作成手段に入力されて、画像中からクロスマークのサブピクセル精度の中心位置を計算する。ここでいうサブピクセル精度(1画素より小さい精度)とは、クロスマークの中心座標が小数点以下の座標値として計算されることを意味する。このために、画像中の各点についてクロスマークの中心であるための条件を満たしているか否かを判定して、その結果をクロスマーク候補点画像I2とする。クロスマーク候補画像太線化手段は、クロスマーク候補画像I2を太線化し、領域分割して近傍にあるクロスマーク候補点に同じ領域番号を付与した領域画像I3を出力する。クロスマーク中心座標計算手段は、画像I2におけるクロスマーク候補点に対して近傍の輝度情報を使って二直線を決定してその交点としてクロスマーク中心座標をサブピクセル精度で計算する。代表点採用手段は、画像I3内で同一の領域番号を持つ点の中で最大のスコアを持つ点を領域の代表点として採用する。この領域の代表点が、クロスマークの中心であると判定される。
【0016】
次に、図4に示したクロスマーク検出装置の動作について、動作アルゴリズムを示す図5を参照しつつ、さらに説明する。例示のプログラムは大きくわけて4個のステップ(S1〜S4)の処理からなる。
【0017】
第一のステップS1では、画像I1中の全画素についてクロスマークの中心としての判定を行い、その結果をクロスマーク候補点画像I2とする。このステップで行うクロスマークの判定には以下の条件を組み合わせたものを用いる。また、必要に応じて他の条件を組み合わせることも可能である。その際に、図6に示すように、判定のために対象点Pの周囲に連続したリング状のマスクを作成し、その上の輝度情報を円周方向に番号付けした一次元配列Rを用いる。リング状のマスクは、ある点を中心とする等方的な周囲の輝度変化をみることができるものであれば、例示した円形に限らず、例えば、正方形或いは多角形でも良い。配列Rはリングバッファで先頭と末尾が連続したものとして扱う。以下の記述において、配列Rの長さをmとする。配列Rを用いるのは、画像中のクロスマークの姿勢に依存しない処理を行うためである。
【0018】
(1)図7に示すように、配列R内の最大輝度と最小輝度の差が閾値t0より小さい場合には不可とする。
【0019】
(2)図8に示すように、配列R内の輝度分布を考慮した閾値t1を用いて配列Rを二値化し、輝度の高い領域と輝度の低い領域が二個ずつ交互に存在しない場合には不可とする。即ち、マスク上の点の輝度分布に基づく輝度閾値をまたがる境界が4個でなければクロスマーク候補としない。
【0020】
(3)図9に示すように、閾値t1によって区切られた上記の輝度の高い領域と輝度の低い領域の偶数番目の境界A2, A4の距離がm/2と近い値を持たない場合には不可とする。即ち、境界点が対称位置になければクロスマーク候補としない。
【0021】
(4)上記と同様に、奇数番目の境界 A1, A3 の距離がm/2と近い値を持たない場合には不可とする。
【0022】
(5)図10に示すように、閾値t1によって区切られた隣接する境界{Ai,Ai+1}の間の画素数が閾値t2よりも少ない場合には不可とする。即ち、境界点の間隔が十分に広くなければクロスマーク候補としない。
【0023】
(6)図11に示すように、元画像中で{A1…A4}に対応する点を{B1…B4}とし、3枚のテンプレート画像T1,T2,T3を作成する。テンプレート判定のために対象点Pを中心とする近傍に設定するテンプレート画像のウィンドウのサイズw1は、リングマスクを包含するサイズにする。テンプレート画像T1は直線B1-B3と直線B2-B4を境界線とする。この画像はクロスマークに対応するテンプレートである。テンプレート画像T2は直線B1-B2と直線B3-B4を境界線とする。テンプレート画像T3は直線B2-B3と直線B4-B1を境界線とする。画像T2および画像T3は直線状のパターンに対応したテンプレートである。それぞれのテンプレートの境界線以外の輝度は、配列R内の領域[Ai,Ai+1]の明暗状態とテンプレート内の領域[Bi,Bi+1]の明暗状態が一致するように作成する。画像の点Pを中心とするサイズがw1のウィンドウと3個のテンプレートを比較し、T1との類似性が最も近くない場合には不可とする。即ち、境界点に対応する元画像の点を通り、クロスマーク状の輝度分布を持つテンプレートと帯状のテンプレートを二種類作成し、クロスマーク状の輝度分布を持つテンプレートとの類似性が最も高くなければクロスマーク候補としない。
【0024】
図5に示す第二のステップS2では、図12に示すように、クロスマーク候補点画像I2の太線化を行い、領域画像I3をつくる。図12の左上に、クロスマーク候補画像I2を例示している。太線化は、画像I2における非クロスマーク候補点に対し、既存のクロスマーク候補点からの距離が与えられた画素d離れた点もクロスマーク候補点とする操作である。たとえば、クロスマーク候補画像が、クロスマーク候補点が0、非クロスマーク候補点が−1である二値画像とすると、0の値を持つ点に隣接した−1の点をすべて0にする操作を行うと、1画素分の太線化が可能になり、これをd回繰り返すことでd画素の太線化ができる。図12の右上に、太線化結果画像を例示している。太線化後の領域画像I3に対してクロスマーク候補点が隣接しているものに対して同じ領域番号を割り振る領域分割を行う。これは、図12の左下に示すように、領域1、領域2のそれぞれにおける太線化した複数個のクロスマーク候補点に対して同じ領域番号を付与する。言い換えると、領域分割の処理において連続した領域一つ一つに個別の領域番号を割り当てる。この処理は、同一のクロスマークに対応するクロスマーク候補点が必ずしも連続した領域とならないために必要である。
【0025】
第三のステップS3では、おのおののクロスマーク候補点Pを中心にする近傍点の輝度パターンを使ってクロスマークの中心座標を計算し、同時にクロスマークの強度(スコア)を計算する。このクロスマーク中心座標計算は、境界点に対応する元画像の点と注目点を結ぶ直線の近傍において輝度分布の傾斜が大きい点を検出し、対向する境界点との間で平行な二直線をあてはめ、その中央に位置する直線を代表直線とし、交差する二代表直線の交点として二次元座標値を計算する。
【0026】
このために、まず、図13に示すように、注目点Pのまわりに大きさw2の近傍ウィンドウを設定する。ウィンドウサイズw2は、画像中のクロスマークより大きくなく、小さすぎないような値に、ユーザーが設定する。大きくしすぎるとクロスマークでない場所の影響を受けて誤差を生じ、小さくしすぎて直線を計算するのに使う点の数が減ればやはり誤差が生じることになる。次に、注目点Pと画像中のリングマスク上の境界点Bi を結ぶ線の近傍においてセグメントウィンドウをつくり、その中で輝度の変化が大きい点としてエッジ点を複数個抽出する。エッジ点は、たとえば微分などの方法により求める。これらの点の集合をセグメントとする。抽出した各エッジ点に対して輝度変化の大きさを反映したスコア値を計算する。スコア値は、たとえば輝度の微分値の大きさなどを用いる。あるセグメント上のエッジ点に対して計算されたスコア値を合計したものを、そのセグメントのスコア値とする。
【0027】
次に、奇数番目のセグメントs1およびs3上のエッジ点に対して直線L13、偶数番目のセグメントs2およびs4上のエッジ点に対して直線L24を計算する。なお、s1は点PからみてB1方向のセグメントで、他のセグメントも同様に記述する。奇数番目のセグメント同士または偶数番目のセグメント同士は、本来、同一の直線であるが、実際に撮影した画像では、明るい部分または暗い部分が膨張し、図14に示すようなずれが生じることがある。こういった可能性を考慮し、直線の計算の際にはそれぞれのセグメントが法線方向にわずかに偏移した平行直線であり、その偏移量が等しいとして中央の直線を計算する。
【0028】
以下で、直線L13を例に直線の式の係数を計算する方法を示す。もし注目点Pがクロスマークの中心であればS1とS3は同じ傾きをもつ線分になる。ここで、S1、S3の直線の式を次のように記述する。
S1: α13X+β13Y+γ1=0
S3: α13X+β13Y+γ3=0
ただし、α132+β132=1とする。
【0029】
α13、β13、γ1、γ3の計算は次のように行う。図15に示すように、S1を構成する点群{C1i}の重心をG1、S3を構成する点{C3i}の重心をG3とする。このとき、C1i−G1
およびC3i−G3のベクトルを計算し、それらの共分散行列の固有値および固有ベクトルを計算する。α13およびβ13は、最小固有値に対応する固有ベクトルとなる。γ1およびγ3は、α13およびβ13を使って次のように計算される。
γ1=−α13G1x−β13G1y
γ3=−α13G3x−β13G3y
【0030】
ただし、G1x,G1yは重心G1のXおよびY成分、G3x,G3yはG3のXおよびY成分を示す。γ1とγ3の差 |γ1−γ3|は二つのセグメントの平行線間の距離を示し、この値が大きい場合には直線のあてはめが失敗したとする。また、直線あてはめが成功したと判定された場合には、二つのセグメントの中央の直線をB1B3方向の直線とする。その式は次のように表わされる。
直線B1B3: α13X+β13Y+(γ1+γ3)/2= 0
【0031】
直線B1B3と同様に直線B2B4も計算する。その後、直線B1B3と直線B2B4の交点を計算し、クロスマークの二次元座標値とする。クロスマークのスコアには、すべてのセグメントのスコアを総和したものを用いる。
【0032】
第四のステップS4では、領域画像I3において同じ領域番号を持つクロスマーク候補点画像I2における候補点の中で最大のスコアを持つクロスマーク候補点を領域の代表点として採用する。この結果、領域番号の数だけのクロスマーク二次元座標値が得られる。
【技術分野】
【0001】
本発明は、撮影された輝度画像中からクロスマークを検出するクロスマーク検出装置及び方法、並びにプログラム
【背景技術】
【0002】
3次元物体の特定の点をカメラで撮像した際の画像中の位置を知りたい場合、撮影環境に影響を受けにくく、画像処理によって座標が正確に計算可能なマークを撮影することがある。たとえば、カメラ自身の空間の点の三次元座標から二次元座標への射影変換に必要なパラメータを計算する場合には、あらかじめ三次元座標が既知の点にマークを置き、撮影されたマークの二次元座標をもとにパラメータを計算する。また、射影変換が既知の状態で空間中の未知の位置や動きを計測する際にも用いられる。
【0003】
このような場合に使われるマークの一つに、図1に示すクロスマークがある。これは平面上に白と黒が交互に現れるようなパターンであり、背景の明るさにかかわらず使用可能であり、マークの中央の点は二つの直線の交点として計算可能なので、サブピクセルの精度で座標値を得ることが可能である。特許文献1、或いは特許文献2においても利用されている。このようなクロスマークを画像中で検出するプログラムにおいては、テンプレートマッチングによるものがある。あらかじめ作成しておいた二次元のパターン(テンプレート)と画像中の同じサイズの矩形の輝度パターン(ウィンドウ)との輝度差を計算し、それが閾値以内であればクロスマークとする方法である。テンプレートマッチングの手法には問題点が二つある。
【0004】
第一の問題点は、存在するクロスマークを見落とす問題である。撮影条件などにより、クロスマークがおかれた場所が明るかったり暗かったりすると、テンプレートとの間に輝度差が生じてマークではないと判定されることがある。また、図2に示すように、テンプレートがカメラの画像面に正対せず斜めになっている場合や回転している場合にも、テンプレートとの画像間に差が生じてクロスマークでないと判定する場合がある。
【0005】
第二の問題点は、クロスマークでない場所をクロスマークとして検出する場合である。典型的には、図3に示す線状の図形もテンプレートとある程度の類似性が生じ、閾値の条件によってはクロスマークとして検出されることがある。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005-28468号公報
【特許文献2】特開2009-279663号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述の二つの問題は、閾値の設定によって解決される場合もあるが、通常、相反する結果をもたらす。すなわち、閾値をあげてテンプレートとの輝度差を許容しなくすれば見落としが増え、逆に閾値を下げれば誤ってクロスマークと判定する場合が増える。
【0008】
本発明は、係る問題点を解決して、テンプレートに頼らず、各画素の周囲の輝度の変化を検出することで、安定したクロスマークの検出を行うことを目的としている。
【課題を解決するための手段】
【0009】
本発明のクロスマーク検出装置は、撮影された輝度画像中からクロスマークを検出する。このクロスマーク検出装置は、検出すべきクロスマークのある輝度画像が入力されて、画像中の各点についてクロスマークの中心であるか否かを判定して、その結果をクロスマーク候補点画像とするクロスマーク候補画像作成手段と、前記クロスマーク候補画像を太線化し、領域分割して近傍にあるクロスマーク候補点に同じ領域番号を付与した領域画像を出力するクロスマーク候補画像太線化手段と、前記クロスマーク候補画像におけるクロスマーク候補点に対して近傍の輝度情報を使って二直線を決定してその交点としてクロスマーク中心座標を計算するクロスマーク中心座標計算手段と、前記領域画像内で同一の領域番号を持つ点の中で最大のスコアを持つ点を領域の代表点として採用し、この領域の代表点をクロスマークの中心であると判定する代表点採用手段と、から成る。
【0010】
また、本発明のクロスマーク検出方法は、輝度画像中の全画素についてクロスマークの中心としての判定を行い、その結果をクロスマーク候補点画像とし、前記クロスマーク候補点画像の太線化を行い、領域画像をつくり、前記領域画像に対してクロスマーク候補点が隣接しているものに対して同じ領域番号を割り振る領域分割を行ない、各々のクロスマーク候補点を中心にする近傍点の輝度パターンを使ってクロスマークの中心座標を計算し、同時にクロスマークの強度であるスコアを計算し、前記領域画像において同じ領域番号を持つクロスマーク候補点画像における候補点の中で最大のスコアを持つクロスマーク候補点を領域の代表点として採用し、領域番号の数だけのクロスマーク二次元座標値を得ることから成る。
【0011】
また、本発明のクロスマーク検出プログラムは、輝度画像中の全画素についてクロスマークの中心としての判定を行い、その結果をクロスマーク候補点画像とする手順と、前記クロスマーク候補点画像の太線化を行い、領域画像をつくる手順と、前記領域画像に対してクロスマーク候補点が隣接しているものに対して同じ領域番号を割り振る領域分割を行なう手順と、各々のクロスマーク候補点を中心にする近傍点の輝度パターンを使ってクロスマークの中心座標を計算し、同時にクロスマークの強度であるスコアを計算する手順と、前記領域画像において同じ領域番号を持つクロスマーク候補点画像における候補点の中で最大のスコアを持つクロスマーク候補点を領域の代表点として採用し、領域番号の数だけのクロスマーク二次元座標値を得る手順と、から成る各手順をコンピュータに実行させる。
【0012】
前記クロスマークの中心としての判定は、対象点の周囲に連続したリング状のマスクを作成し、該マスク上の輝度情報により行う。前記クロスマーク中心座標計算は、前記境界点に対応する元画像の点と注目点を結ぶ直線の近傍において輝度分布の傾斜が大きい点を検出し、対向する境界点との間で平行な二直線をあてはめ、その中央に位置する直線を代表直線とし、交差する二代表直線の交点として二次元座標値を計算する。
【発明の効果】
【0013】
本発明によれば、テンプレートに頼らず、各画素の周囲の輝度の変化を検出することで、安定したクロスマークの検出を行うことができる。
【図面の簡単な説明】
【0014】
【図1】クロスマークを例示する図である。
【図2】テンプレートが検出しないクロスマークの歪みを説明する図である。
【図3】テンプレートが誤って検出する画像例を示す図である。
【図4】本発明に基づき構成したクロスマーク検出装置を例示する図である。
【図5】動作アルゴリズムを例示する図である。
【図6】リングマスクと配列Rを説明する図である。
【図7】輝度差による判定を説明する図である。
【図8】領域数判定における不可の例を説明する図である。
【図9】境界の対称性条件を説明する図である。
【図10】狭すぎる条件を説明する図である。
【図11】テンプレート判定を説明する図である。
【図12】領域分割例を説明する図である。
【図13】エッジ点の抽出とセグメントを説明する図である。
【図14】ずれのあるセグメント例を説明する図である。
【図15】ずれたセグメントの傾き計算を説明する図である。
【発明を実施するための形態】
【0015】
以下、例示に基づき本発明を説明する。図4は、本発明に基づき構成したクロスマーク検出装置の全体構成を示す概略図である。検出すべきクロスマークのある輝度画像I1がカメラにおいて撮影され、クロスマーク候補画像作成手段に入力されて、画像中からクロスマークのサブピクセル精度の中心位置を計算する。ここでいうサブピクセル精度(1画素より小さい精度)とは、クロスマークの中心座標が小数点以下の座標値として計算されることを意味する。このために、画像中の各点についてクロスマークの中心であるための条件を満たしているか否かを判定して、その結果をクロスマーク候補点画像I2とする。クロスマーク候補画像太線化手段は、クロスマーク候補画像I2を太線化し、領域分割して近傍にあるクロスマーク候補点に同じ領域番号を付与した領域画像I3を出力する。クロスマーク中心座標計算手段は、画像I2におけるクロスマーク候補点に対して近傍の輝度情報を使って二直線を決定してその交点としてクロスマーク中心座標をサブピクセル精度で計算する。代表点採用手段は、画像I3内で同一の領域番号を持つ点の中で最大のスコアを持つ点を領域の代表点として採用する。この領域の代表点が、クロスマークの中心であると判定される。
【0016】
次に、図4に示したクロスマーク検出装置の動作について、動作アルゴリズムを示す図5を参照しつつ、さらに説明する。例示のプログラムは大きくわけて4個のステップ(S1〜S4)の処理からなる。
【0017】
第一のステップS1では、画像I1中の全画素についてクロスマークの中心としての判定を行い、その結果をクロスマーク候補点画像I2とする。このステップで行うクロスマークの判定には以下の条件を組み合わせたものを用いる。また、必要に応じて他の条件を組み合わせることも可能である。その際に、図6に示すように、判定のために対象点Pの周囲に連続したリング状のマスクを作成し、その上の輝度情報を円周方向に番号付けした一次元配列Rを用いる。リング状のマスクは、ある点を中心とする等方的な周囲の輝度変化をみることができるものであれば、例示した円形に限らず、例えば、正方形或いは多角形でも良い。配列Rはリングバッファで先頭と末尾が連続したものとして扱う。以下の記述において、配列Rの長さをmとする。配列Rを用いるのは、画像中のクロスマークの姿勢に依存しない処理を行うためである。
【0018】
(1)図7に示すように、配列R内の最大輝度と最小輝度の差が閾値t0より小さい場合には不可とする。
【0019】
(2)図8に示すように、配列R内の輝度分布を考慮した閾値t1を用いて配列Rを二値化し、輝度の高い領域と輝度の低い領域が二個ずつ交互に存在しない場合には不可とする。即ち、マスク上の点の輝度分布に基づく輝度閾値をまたがる境界が4個でなければクロスマーク候補としない。
【0020】
(3)図9に示すように、閾値t1によって区切られた上記の輝度の高い領域と輝度の低い領域の偶数番目の境界A2, A4の距離がm/2と近い値を持たない場合には不可とする。即ち、境界点が対称位置になければクロスマーク候補としない。
【0021】
(4)上記と同様に、奇数番目の境界 A1, A3 の距離がm/2と近い値を持たない場合には不可とする。
【0022】
(5)図10に示すように、閾値t1によって区切られた隣接する境界{Ai,Ai+1}の間の画素数が閾値t2よりも少ない場合には不可とする。即ち、境界点の間隔が十分に広くなければクロスマーク候補としない。
【0023】
(6)図11に示すように、元画像中で{A1…A4}に対応する点を{B1…B4}とし、3枚のテンプレート画像T1,T2,T3を作成する。テンプレート判定のために対象点Pを中心とする近傍に設定するテンプレート画像のウィンドウのサイズw1は、リングマスクを包含するサイズにする。テンプレート画像T1は直線B1-B3と直線B2-B4を境界線とする。この画像はクロスマークに対応するテンプレートである。テンプレート画像T2は直線B1-B2と直線B3-B4を境界線とする。テンプレート画像T3は直線B2-B3と直線B4-B1を境界線とする。画像T2および画像T3は直線状のパターンに対応したテンプレートである。それぞれのテンプレートの境界線以外の輝度は、配列R内の領域[Ai,Ai+1]の明暗状態とテンプレート内の領域[Bi,Bi+1]の明暗状態が一致するように作成する。画像の点Pを中心とするサイズがw1のウィンドウと3個のテンプレートを比較し、T1との類似性が最も近くない場合には不可とする。即ち、境界点に対応する元画像の点を通り、クロスマーク状の輝度分布を持つテンプレートと帯状のテンプレートを二種類作成し、クロスマーク状の輝度分布を持つテンプレートとの類似性が最も高くなければクロスマーク候補としない。
【0024】
図5に示す第二のステップS2では、図12に示すように、クロスマーク候補点画像I2の太線化を行い、領域画像I3をつくる。図12の左上に、クロスマーク候補画像I2を例示している。太線化は、画像I2における非クロスマーク候補点に対し、既存のクロスマーク候補点からの距離が与えられた画素d離れた点もクロスマーク候補点とする操作である。たとえば、クロスマーク候補画像が、クロスマーク候補点が0、非クロスマーク候補点が−1である二値画像とすると、0の値を持つ点に隣接した−1の点をすべて0にする操作を行うと、1画素分の太線化が可能になり、これをd回繰り返すことでd画素の太線化ができる。図12の右上に、太線化結果画像を例示している。太線化後の領域画像I3に対してクロスマーク候補点が隣接しているものに対して同じ領域番号を割り振る領域分割を行う。これは、図12の左下に示すように、領域1、領域2のそれぞれにおける太線化した複数個のクロスマーク候補点に対して同じ領域番号を付与する。言い換えると、領域分割の処理において連続した領域一つ一つに個別の領域番号を割り当てる。この処理は、同一のクロスマークに対応するクロスマーク候補点が必ずしも連続した領域とならないために必要である。
【0025】
第三のステップS3では、おのおののクロスマーク候補点Pを中心にする近傍点の輝度パターンを使ってクロスマークの中心座標を計算し、同時にクロスマークの強度(スコア)を計算する。このクロスマーク中心座標計算は、境界点に対応する元画像の点と注目点を結ぶ直線の近傍において輝度分布の傾斜が大きい点を検出し、対向する境界点との間で平行な二直線をあてはめ、その中央に位置する直線を代表直線とし、交差する二代表直線の交点として二次元座標値を計算する。
【0026】
このために、まず、図13に示すように、注目点Pのまわりに大きさw2の近傍ウィンドウを設定する。ウィンドウサイズw2は、画像中のクロスマークより大きくなく、小さすぎないような値に、ユーザーが設定する。大きくしすぎるとクロスマークでない場所の影響を受けて誤差を生じ、小さくしすぎて直線を計算するのに使う点の数が減ればやはり誤差が生じることになる。次に、注目点Pと画像中のリングマスク上の境界点Bi を結ぶ線の近傍においてセグメントウィンドウをつくり、その中で輝度の変化が大きい点としてエッジ点を複数個抽出する。エッジ点は、たとえば微分などの方法により求める。これらの点の集合をセグメントとする。抽出した各エッジ点に対して輝度変化の大きさを反映したスコア値を計算する。スコア値は、たとえば輝度の微分値の大きさなどを用いる。あるセグメント上のエッジ点に対して計算されたスコア値を合計したものを、そのセグメントのスコア値とする。
【0027】
次に、奇数番目のセグメントs1およびs3上のエッジ点に対して直線L13、偶数番目のセグメントs2およびs4上のエッジ点に対して直線L24を計算する。なお、s1は点PからみてB1方向のセグメントで、他のセグメントも同様に記述する。奇数番目のセグメント同士または偶数番目のセグメント同士は、本来、同一の直線であるが、実際に撮影した画像では、明るい部分または暗い部分が膨張し、図14に示すようなずれが生じることがある。こういった可能性を考慮し、直線の計算の際にはそれぞれのセグメントが法線方向にわずかに偏移した平行直線であり、その偏移量が等しいとして中央の直線を計算する。
【0028】
以下で、直線L13を例に直線の式の係数を計算する方法を示す。もし注目点Pがクロスマークの中心であればS1とS3は同じ傾きをもつ線分になる。ここで、S1、S3の直線の式を次のように記述する。
S1: α13X+β13Y+γ1=0
S3: α13X+β13Y+γ3=0
ただし、α132+β132=1とする。
【0029】
α13、β13、γ1、γ3の計算は次のように行う。図15に示すように、S1を構成する点群{C1i}の重心をG1、S3を構成する点{C3i}の重心をG3とする。このとき、C1i−G1
およびC3i−G3のベクトルを計算し、それらの共分散行列の固有値および固有ベクトルを計算する。α13およびβ13は、最小固有値に対応する固有ベクトルとなる。γ1およびγ3は、α13およびβ13を使って次のように計算される。
γ1=−α13G1x−β13G1y
γ3=−α13G3x−β13G3y
【0030】
ただし、G1x,G1yは重心G1のXおよびY成分、G3x,G3yはG3のXおよびY成分を示す。γ1とγ3の差 |γ1−γ3|は二つのセグメントの平行線間の距離を示し、この値が大きい場合には直線のあてはめが失敗したとする。また、直線あてはめが成功したと判定された場合には、二つのセグメントの中央の直線をB1B3方向の直線とする。その式は次のように表わされる。
直線B1B3: α13X+β13Y+(γ1+γ3)/2= 0
【0031】
直線B1B3と同様に直線B2B4も計算する。その後、直線B1B3と直線B2B4の交点を計算し、クロスマークの二次元座標値とする。クロスマークのスコアには、すべてのセグメントのスコアを総和したものを用いる。
【0032】
第四のステップS4では、領域画像I3において同じ領域番号を持つクロスマーク候補点画像I2における候補点の中で最大のスコアを持つクロスマーク候補点を領域の代表点として採用する。この結果、領域番号の数だけのクロスマーク二次元座標値が得られる。
【特許請求の範囲】
【請求項1】
撮影された輝度画像中からクロスマークを検出するクロスマーク検出装置において、
検出すべきクロスマークのある輝度画像が入力されて、画像中の各点についてクロスマークの中心であるか否かを判定して、その結果をクロスマーク候補点画像とするクロスマーク候補画像作成手段と、
前記クロスマーク候補画像を太線化し、領域分割して近傍にあるクロスマーク候補点に同じ領域番号を付与した領域画像を出力するクロスマーク候補画像太線化手段と、
前記クロスマーク候補画像におけるクロスマーク候補点に対して近傍の輝度情報を使って二直線を決定してその交点としてクロスマーク中心座標を計算するクロスマーク中心座標計算手段と、
前記領域画像内で同一の領域番号を持つ点の中で最大のスコアを持つ点を領域の代表点として採用し、この領域の代表点をクロスマークの中心であると判定する代表点採用手段と、
から成るクロスマーク検出装置。
【請求項2】
撮影された輝度画像中からクロスマークを検出するクロスマーク検出方法において、
前記輝度画像中の全画素についてクロスマークの中心としての判定を行い、その結果をクロスマーク候補点画像とし、
前記クロスマーク候補点画像の太線化を行い、領域画像をつくり、
前記領域画像に対してクロスマーク候補点が隣接しているものに対して同じ領域番号を割り振る領域分割を行ない、
各々のクロスマーク候補点を中心にする近傍点の輝度パターンを使ってクロスマークの中心座標を計算し、同時にクロスマークの強度であるスコアを計算し、
前記領域画像において同じ領域番号を持つクロスマーク候補点画像における候補点の中で最大のスコアを持つクロスマーク候補点を領域の代表点として採用し、領域番号の数だけのクロスマーク二次元座標値を得る、
ことから成るクロスマーク検出方法。
【請求項3】
前記クロスマークの中心としての判定は、対象点の周囲に連続したリング状のマスクを作成し、該マスク上の輝度情報により行う請求項2に記載のクロスマーク検出方法。
【請求項4】
前記判定は、一次元配列内の最大輝度と最小輝度の差が閾値より小さい場合には不可とする請求項3に記載のクロスマーク検出方法。
【請求項5】
前記判定は、一次元配列内の輝度分布を考慮した閾値を用いて該配列を二値化し、輝度の高い領域と輝度の低い領域が二個ずつ交互に存在しない場合には不可とする請求項3に記載のクロスマーク検出方法。
【請求項6】
前記判定は、一次元配列内の輝度分布を考慮した閾値によって区切られた輝度の高い領域と輝度の低い領域の偶数番目の境界の距離又は奇数番目の境界の距離が、一次元配列の長さをmとして、 m/2と近い値を持たない場合には不可とする請求項3に記載のクロスマーク検出方法。
【請求項7】
前記判定は、一次元配列内の輝度分布を考慮した第1の閾値によって区切られた隣接する境界の間の画素数が第2の閾値よりも少ない場合には不可とする請求項3に記載のクロスマーク検出方法。
【請求項8】
前記判定は、境界点に対応する元画像の点を通り、クロスマーク状の輝度分布を持つテンプレートと帯状のテンプレートを二種類作成し、クロスマーク状の輝度分布を持つテンプレートとの類似性が最も高くなければ不可とする請求項3に記載のクロスマーク検出方法。
【請求項9】
前記クロスマーク中心座標計算は、前記境界点に対応する元画像の点と注目点を結ぶ直線の近傍において輝度分布の傾斜が大きい点を検出し、対向する境界点との間で平行な二直線をあてはめ、その中央に位置する直線を代表直線とし、交差する二代表直線の交点として二次元座標値を計算する請求項2に記載のクロスマーク検出方法。
【請求項10】
前記対向する境界点との間で平行な二直線をあてはめる際に、二直線の間隔が閾値より大きい場合に計算を失敗とする請求項9に記載のクロスマーク検出方法。
【請求項11】
撮影された輝度画像中からクロスマークを検出するクロスマーク検出プログラムにおいて、
前記輝度画像中の全画素についてクロスマークの中心としての判定を行い、その結果をクロスマーク候補点画像とする手順と、
前記クロスマーク候補点画像の太線化を行い、領域画像をつくる手順と、
前記領域画像に対してクロスマーク候補点が隣接しているものに対して同じ領域番号を割り振る領域分割を行なう手順と、
各々のクロスマーク候補点を中心にする近傍点の輝度パターンを使ってクロスマークの中心座標を計算し、同時にクロスマークの強度であるスコアを計算する手順と、
前記領域画像において同じ領域番号を持つクロスマーク候補点画像における候補点の中で最大のスコアを持つクロスマーク候補点を領域の代表点として採用し、領域番号の数だけのクロスマーク二次元座標値を得る手順と、
から成る各手順をコンピュータに実行させるためのクロスマーク検出プログラム。
【請求項1】
撮影された輝度画像中からクロスマークを検出するクロスマーク検出装置において、
検出すべきクロスマークのある輝度画像が入力されて、画像中の各点についてクロスマークの中心であるか否かを判定して、その結果をクロスマーク候補点画像とするクロスマーク候補画像作成手段と、
前記クロスマーク候補画像を太線化し、領域分割して近傍にあるクロスマーク候補点に同じ領域番号を付与した領域画像を出力するクロスマーク候補画像太線化手段と、
前記クロスマーク候補画像におけるクロスマーク候補点に対して近傍の輝度情報を使って二直線を決定してその交点としてクロスマーク中心座標を計算するクロスマーク中心座標計算手段と、
前記領域画像内で同一の領域番号を持つ点の中で最大のスコアを持つ点を領域の代表点として採用し、この領域の代表点をクロスマークの中心であると判定する代表点採用手段と、
から成るクロスマーク検出装置。
【請求項2】
撮影された輝度画像中からクロスマークを検出するクロスマーク検出方法において、
前記輝度画像中の全画素についてクロスマークの中心としての判定を行い、その結果をクロスマーク候補点画像とし、
前記クロスマーク候補点画像の太線化を行い、領域画像をつくり、
前記領域画像に対してクロスマーク候補点が隣接しているものに対して同じ領域番号を割り振る領域分割を行ない、
各々のクロスマーク候補点を中心にする近傍点の輝度パターンを使ってクロスマークの中心座標を計算し、同時にクロスマークの強度であるスコアを計算し、
前記領域画像において同じ領域番号を持つクロスマーク候補点画像における候補点の中で最大のスコアを持つクロスマーク候補点を領域の代表点として採用し、領域番号の数だけのクロスマーク二次元座標値を得る、
ことから成るクロスマーク検出方法。
【請求項3】
前記クロスマークの中心としての判定は、対象点の周囲に連続したリング状のマスクを作成し、該マスク上の輝度情報により行う請求項2に記載のクロスマーク検出方法。
【請求項4】
前記判定は、一次元配列内の最大輝度と最小輝度の差が閾値より小さい場合には不可とする請求項3に記載のクロスマーク検出方法。
【請求項5】
前記判定は、一次元配列内の輝度分布を考慮した閾値を用いて該配列を二値化し、輝度の高い領域と輝度の低い領域が二個ずつ交互に存在しない場合には不可とする請求項3に記載のクロスマーク検出方法。
【請求項6】
前記判定は、一次元配列内の輝度分布を考慮した閾値によって区切られた輝度の高い領域と輝度の低い領域の偶数番目の境界の距離又は奇数番目の境界の距離が、一次元配列の長さをmとして、 m/2と近い値を持たない場合には不可とする請求項3に記載のクロスマーク検出方法。
【請求項7】
前記判定は、一次元配列内の輝度分布を考慮した第1の閾値によって区切られた隣接する境界の間の画素数が第2の閾値よりも少ない場合には不可とする請求項3に記載のクロスマーク検出方法。
【請求項8】
前記判定は、境界点に対応する元画像の点を通り、クロスマーク状の輝度分布を持つテンプレートと帯状のテンプレートを二種類作成し、クロスマーク状の輝度分布を持つテンプレートとの類似性が最も高くなければ不可とする請求項3に記載のクロスマーク検出方法。
【請求項9】
前記クロスマーク中心座標計算は、前記境界点に対応する元画像の点と注目点を結ぶ直線の近傍において輝度分布の傾斜が大きい点を検出し、対向する境界点との間で平行な二直線をあてはめ、その中央に位置する直線を代表直線とし、交差する二代表直線の交点として二次元座標値を計算する請求項2に記載のクロスマーク検出方法。
【請求項10】
前記対向する境界点との間で平行な二直線をあてはめる際に、二直線の間隔が閾値より大きい場合に計算を失敗とする請求項9に記載のクロスマーク検出方法。
【請求項11】
撮影された輝度画像中からクロスマークを検出するクロスマーク検出プログラムにおいて、
前記輝度画像中の全画素についてクロスマークの中心としての判定を行い、その結果をクロスマーク候補点画像とする手順と、
前記クロスマーク候補点画像の太線化を行い、領域画像をつくる手順と、
前記領域画像に対してクロスマーク候補点が隣接しているものに対して同じ領域番号を割り振る領域分割を行なう手順と、
各々のクロスマーク候補点を中心にする近傍点の輝度パターンを使ってクロスマークの中心座標を計算し、同時にクロスマークの強度であるスコアを計算する手順と、
前記領域画像において同じ領域番号を持つクロスマーク候補点画像における候補点の中で最大のスコアを持つクロスマーク候補点を領域の代表点として採用し、領域番号の数だけのクロスマーク二次元座標値を得る手順と、
から成る各手順をコンピュータに実行させるためのクロスマーク検出プログラム。
【図4】
【図5】
【図1】
【図2】
【図3】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図5】
【図1】
【図2】
【図3】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2011−221747(P2011−221747A)
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願番号】特願2010−89547(P2010−89547)
【出願日】平成22年4月8日(2010.4.8)
【出願人】(301021533)独立行政法人産業技術総合研究所 (6,529)
【Fターム(参考)】
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願日】平成22年4月8日(2010.4.8)
【出願人】(301021533)独立行政法人産業技術総合研究所 (6,529)
【Fターム(参考)】
[ Back to top ]