(57)【特許請求の範囲】
【請求項１】
原画像を空間微分し、
得られた微分画像を円弧を交わるように一方向に走査し、
この走査軸と上記微分画像との交点画素にて勾配方向ベクトルを求め、
この勾配方向ベクトルに沿う直線の集合位置を円弧中心位置として算出するようにした円弧位置推定方法において、
上記直線の集合位置の算出は、上記直線と上記走査軸に平行な軸との交点のこの平行な軸上での重心を求め、この重心と上記交点との距離を最小とする上記平行な軸の位置を求めるようにした円弧位置推定方法。
【請求項２】
原画像を空間微分し、
得られた微分画像を円弧を交わるように一方向に走査し、
この走査軸と上記微分画像との交点画素にて勾配方向ベクトルを求め、
この勾配方向ベクトルに沿う直線の集合位置を円弧中心位置として算出するようにした円弧位置推定方法において、
上記直線の集合位置の算出は、上記直線と上記走査軸に平行な軸との交点のこの平行な軸上での重心を求め、上記勾配方向に重み付けをした上記交点との距離を最小とする上記平行な軸の位置を求めるようにした円弧位置推定方法。
【請求項３】
原画像を空間微分し、
得られた微分画像を円弧を交わるように一方向に走査し、
この走査軸と上記微分画像との交点画素にて勾配方向ベクトルを求め、
この勾配方向ベクトルに沿う直線の集合位置を円弧中心位置として算出する際、
上記勾配方向ベクトルにおいて、ベクトルの上記走査軸と垂直な成分をｖi、平行な成分をｕiとして、全てのｖiが零でなく同符号であり、且つ、（ｕi／ｖi）＞（ｕi+1／ｖi+1）を満たすとき該交点画素を円弧部分と推定する円弧位置推定方法。
【請求項４】
上記走査軸は複数本とし、各走査軸による得られた円弧中心位置の加重平均を求めるようにした請求項１又は請求項２に記載の円弧位置推定方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、いわゆる画像処理において画像中の円弧成分を推定する方法に関する。
【０００２】
【従来の技術】
画像処理にあって、画像から円弧成分を抽出する技術は、図面の読み取りや物体認識において広く利用されており、従来での一般的な円弧成分推定方法は、次の手順にて行なわれている。すなわち、図６に示すように、対象物の原画像を得て、この原画像に例えばＳobelフィルタにて空間微分フィルタ処理を行なって画素階調を決定し雑音除去やエッジの強調を行ない、２値化処理によってエッジ成分だけを含む画像とし、細線化処理により中心線の連結線を求め、ついでエッジ点列の検出を行ない、そしてこのうちの円弧部分の検出を行ない、最小二乗法により円弧を推定するという方法が一般的に採用されている。
【０００３】
【発明が解決しようとする課題】
ところが、上述の従来方法を行なう場合、画像取得から円弧推定までの処理は各画素を単位として順次実行されるため、計算処理量が多く処理時間が長くなり、殊に画像取得からエッジ点列の検出までは全画面につき処理が行われるため時間が極めて多くかかっており、また円弧部分の検出や最小二乗法による推定では複雑な計算処理が必要となってこれも時間がかかっている。いずれにしても従来法では多大な処理時間を要することとなる。
【０００４】
また、上述の処理にあっては、エッジを検出してその検出部分の情報のみを利用して円弧推定を行なっているため精度が低いという問題もある。更には、エッジ部分にノイズが混入した場合にはそのノイズの影響を受けやすいという問題もある。
また、円弧部分が短い場合には誤差が大きくなり、２値処理が安定しないと円弧部分が細かく切れて円弧を検出できない場合も生ずる。
【０００５】
本発明は、上述の問題に鑑み、処理時間を短くし、円弧推定精度を向上させ、ノイズの影響を軽くし、円弧が短くても誤差なくまた円弧が検出できないという事態を回避した円弧位置推定方法を提供する。
【０００６】
【課題を解決するための手段】
上述の目的を達成する本発明は、次の発明特定事項を有する。
（１）原画像を空間微分し、得られた微分画像を円弧を交わるように一方向に走査し、この走査軸と上記微分画像との交点画素にて勾配方向ベクトルを求め、この勾配方向ベクトルに沿う直線の集合位置を円弧中心位置として算出するようにした円弧位置推定方法において、上記直線の集合位置の算出は、上記直線と上記走査軸に平行な軸との交点のこの平行な軸上での重心を求め、この重心と上記交点との距離を最小とする上記平行な軸の位置を求めるようにしたことを特徴とする。
（２）原画像を空間微分し、得られた微分画像を円弧を交わるように一方向に走査し、この走査軸と上記微分画像との交点画素にて勾配方向ベクトルを求め、この勾配方向ベクトルに沿う直線の集合位置を円弧中心位置として算出するようにした円弧位置推定方法において、上記直線の集合位置の算出は、上記直線と上記走査軸に平行な軸との交点のこの平行な軸上での重心を求め、上記勾配方向に重み付けをした上記交点との距離を最小とする上記平行な軸の位置を求めるようにしたことを特徴とする。
（３）原画像を空間微分し、得られた微分画像を円弧を交わるように一方向に走査し、この走査軸と上記微分画像との交点画素にて勾配方向ベクトルを求め、この勾配方向ベクトルに沿う直線の集合位置を円弧中心位置として算出する際、上記勾配方向ベクトルにおいて、ベクトルの上記走査軸と垂直な成分をｖi、平行な成分をｕiとして、全てのｖiが零でなく同符号であり、且つ、（ｕi／ｖi）＞（ｕi+1／ｖi+1）を満たすとき該交点画素を円弧部分と推定することを特徴とする。
（４）上記（１）又は（２）において、上記走査軸は複数本とし、各走査軸による得られた円弧中心位置の加重平均を求めるようにしたことを特徴とする。
【０００７】
【発明の実施の形態】
ここで、図１ないし図５を参照して本発明の実施の形態について説明する。図１は本発明の円弧位置推定方法を実施するためのフローチャートであり、対象物の画像を取得して、得られたグレイスケール画像に対し空間微分フィルタ処理を施し、この処理後円弧位置推定を行なうものである。この場合、フィルタ処理後円弧位置推定に当っては、微分画像と共に勾配方向が算出される。
【０００８】
以下、図１に示す手順の詳細を述べる。空間微分フィルタ処理では、画像取得したグレースケール画像（原画像）を空間微分することで微分画像を得る。具体的には例えばＤericheフィルタをＸ軸方向及びＹ軸方向に適用することにより、各軸方向での一次微分値を求めている。例えば、図２に示す円筒形対象物について上方からＣＣＤカメラにて撮像し、空間微分フィルタ処理の結果図３に示す微分画像が得られる。この図３では弧の太さが微分値の大きさを表現している。
【０００９】
かかる図３に示す微分画像を例えばＸ軸方向に沿って走査することにより、まず、円弧上の勾配方向を求める。
図４において、円弧の中心Ｐ0 を推定するに際し、微分画像とＸ軸方向の走査軸との交点画素群Ｐi の座標を（ｘi ，ｙi ）としたとき、この画素群Ｐi は図３の画像のために走査軸上に配列することになるが、この画素群Ｐi にてＸ軸方向、Ｙ軸方向に沿って得られた微分値をｕi ，ｖi としたとき、その画素群Ｐi での勾配方向ベクトルは（ｕi ，ｖi ）にて与えられる。
この勾配方向ベクトル（ｕi ，ｖi ）は、円弧中心Ｐ0 に向うことになるが、円弧上の交点画素群Ｐi について図５に示すようにＰi を通過して勾配方向ベクトルに沿う（勾配方向を傾きとする）直線群ｌi を与えるとき、この直線群ｌi 上もしくはその近傍に円弧中心Ｐ0 が位置する。そして、その直線群は次式［数１］に表される。
【数１】
0003747595.tif 000002
【００１０】
次に、図５にてＸ軸方向の走査軸ｌ0 に平行で距離ｔだけ離れた軸ｌt を与え、この軸ｌt と直線群ｌi との交点群をｑi とし、その座標を（ｓi ，ｔ）とする。ここで、平行な軸ｌt を平行移動させた場合、各直線ｌi の交点群ｑi の位置が変化し、画素群Ｐi が同心円上の点であるときにはこの交点群ｑi は一点Ｐ0 に集まることが理論上期待される。
しかし、現実には雑音の混入や誤差の発生が予想されるため、平行な軸ｌt 上にて交点群ｑi の重心ｑg を求め、この交点群ｑi と重心ｑg との距離の二乗の和を最小とする点を求めている。この場合、式上ｑi 及びｑg のｘ座標ｓi ，ｓg は走査軸ｌ0 と軸ｌt との距離ｔをパラメータとする関数となり、前述の距離の二乗の和を最小とする点を求めることで雑音や誤差を少なくしたｔが求まり、円弧の中心Ｐ0 （ｑg ，ｔ）が求まることになる。
このことを数式にて表すと次のようになる。
交点群ｑi の重心ｑg は平行な軸ｌt 上にあってそのＹ座標はｔで決まり、Ｘ座標ｓi ，ｓg は次式［数２］となる。
【数２】
0003747595.tif 000003
【００１１】
この交点群ｑi の座標（ｓi ，ｔ）と重心ｑg の座標（ｓg ，ｔ）とによりｑg からｑi までの距離の二乗和Ｅは次式となり、Ｅを最小にするパラメータｔを求めれば円弧中心（式（６））が求まる。
【数３】
0003747595.tif 000004
【００１２】
なお、本例においては、交点群ｑi が集約することが前提となりそれを利用しているので、走査軸ｌ0 上における連続した画素列Ｐi では勾配方向ベクトルのｖi 成分とｕi 成分について、ｖi 成分はある値をとり同じ方向であり、ｖi の傾きが次第に変化しており、勾配ｕi／ｖiは符号を含めて次第に小さくなっていることになる。つまり、［数４］の条件を満たす必要がある。
【数４】
0003747595.tif 000005
【００１３】
次に、微分画像を走査して円弧中心Ｐ0 を推定する別の方法を述べる。
本例では、交点群ｑi に重み係数Ａi を導入したものであり、得られた重心ｑg から交点ｑi までの距離の二乗にその交点（画素）ｑi ごとに定まる重み係数を乗じたものの和Ｅを最小とするｔを求めるものである。この場合、重み係数Ａi は、各画素ごとに定められるものであれば、任意の値を適用することができ、一例として、画像微分値の大きさ（ｕi2 ＋ｖi2 ）1/2 やパワーｕi2 ＋ｖi2 を用いることができる。また、この重み係数Ａi は任意の値であるので、位置に関する関数Ａi （ｘi ，ｙi ，ｕi ，ｖi ）として表すことができる。なお、先に述べた例は重み係数Ａi ＝１つまり重みなしの例である。
前述の式（４）〜（６）に対応する数式を本例にて表せば次のようになる。
【数５】
0003747595.tif 000006
【００１４】
なお、本例においても交点ｑi が集約することを利用しているので、前述の［数４］の条件は当然満たす必要がある。
【００１５】
今まで述べた手法においては、微分画像をＸ軸方向に沿って走査した例を示しているが、Ｙ軸方向へ走査を行なう場合、更には任意方向へ走査を行なう場合にも容易に適用することができる。
【００１６】
円弧中心位置の推定は以上の如くであるが、円弧部分を推定する方法を若干述べる。今まで述べた手法では、画像を走査することで円弧成分を検出しており、円弧部分に該当する画素の勾配方向および微分値の強さの情報を利用して円弧中心位置を求めている。たとえばｘ軸方向に走査する場合、画像の左端から右端までを走査するが、このとき、円弧部分に該当する画素を特定する必要がある。
前述の手法では円弧は点ｑi が集約することを利用しているので、連続した画素列ｐi について先述の条件、すなわち、すべてのｖi が零でなく同符号、かつ（ｕi／ｖi）＞（ｕi+1／ｖi+1）を満たすことになる。したがって、画像を走査するとき、当条件を満たす箇所を探索すれば円弧部分を発見することができる。
【００１７】
上述の手法では走査軸を単一として円弧中心位置を求めたのであるが、雑音の混入や誤差の発生により推定精度が下がる可能性がある。このため、一つの円弧の中心位置に関して複数箇所での走査をすることにより更に推定精度を向上することができる。
すなわち、前述したように円弧部分を推定した箇所において円弧中心位置の推定を行なうに際し、画像を走査した直線のＹ座標をｙi とし、推定された中心位置の座標を（ｓgj ,ｔj ）とするとき、複数箇所（例えばｍ箇所）では、複数の中心座標（ｓgj ,ｔj ）（ｊ＝１〜ｍ）を得る。この場合、各走査軸にて利用した画素数をｎj とするとき、新たな推定中心画素（ｓt ，ｔt ）は次式［数６］にて求められる。
【数６】
0003747595.tif 000007
【００１８】
この（１０）式のようにして加重平均を求めることで推定精度が向上する。
【００１９】
【発明の効果】
以上説明したように本発明によれば、次の効果を有する。
（１）従来では、エッジ点列の検出等の多くの処理を必要としていたが、本手法は微分画像から直接に円弧推定を行なうので処理全体をとおして高速化が期待できる。また、従来のエッジ点列のみを利用した円弧推定に比べ、本手法はエッジ周辺の画素群を用いて推定するため、雑音や演算誤差の影響の低減が図られている。円弧推定に利用する画素数をｎとするとき演算量のオーダはｎに比例する数であり、演算量の増加は低く抑えられている。
（２）勾配方向の重み付けを加味したことにより、画像中の雑音や演算誤差の影響を一層低減できる。
（３）線分成分等円弧以外の特徴が混入していても、確実な探索にて円弧を求めることができる。
（４）走査軸を複数にすれば、雑音や演算誤差による影響は一層少なくなる。
【図面の簡単な説明】
【図１】本発明方法のフローチャート。
【図２】対象物を例示した斜視図。
【図３】円筒の微分画像を示す図。
【図４】走査軸及びそれとの交点画素群、及び勾配方向ベクトルを示す図。
【図５】直線群と平行な軸による円弧中心推定のための説明図。
【図６】従来の円弧成分推定方法の一例のフロ−チャ−ト。
【符号の説明】
Ｐ0   円弧中心
ｌ0   走査軸
Ｐi   微分画像と走査軸との交点画素
（ｘi ，ｙi ）  支点画素Ｐi の座標
ｕi ，ｖi   勾配方向ベクトル成分
（ｕi ，ｖi ）  勾配方向ベクトル
ｌi   直線
ｌt   平行な軸
ｑi   軸と直線との交点
（ｓi ，ｔ）  交点ｑi の座標
ｑg   重心
（ｓg ，ｔ）  重心の座標
【図１】
0003747595.tif 000008
【図２】
0003747595.tif 000009
【図３】
0003747595.tif 000010
【図４】
0003747595.tif 000011
【図５】
0003747595.tif 000012
【図６】
0003747595.tif 000013