(57)【特許請求の範囲】
【請求項１】
入力画像から得られる多数の線分候補からなる線画画像から同一線分を検出する方法であって、
任意のセグメントの端点からｋ個の画素ｎ1〜ｎkに対して当てはめられた第１の直線と上記端点からｋ＋１個の画素ｎ1〜ｎk+1に対して当てはめられた第２の直線とのなす角度が所定のしきい値以下の場合に、画素ｎk+1が上記第１の直線上にあるとの判定に基づいて抽出した線分候補群のうちの最も長い線分候補を第１の線分候補として選定するとともに、上記線分候補群のうち、上記第１の線分候補以外の１つの線分候補を第２の線分候補として、
上記第１の線分候補の上記第２の線分候補方向への延長線に対して該第２の線分候補の両端から垂線を引き、上記第１の線分候補と第２の線分候補と両垂線とによって囲まれた領域の面積を算出し、該領域の面積に対応する値が所定のしきい値以下の場合に、上記第１および第２の線分候補が同一線分を構成すると判定することを特徴とする線分検出方法。
【請求項２】
同一線分を構成すると判定された上記第１および第２の線分候補に含まれる画素に対して、最小二乗法を適用して新たな線分を合成することを特徴とする請求項１に記載の線分検出方法。
【請求項３】
入力画像に対してエッジ検出、２値化、細線化およびラベル付け等の各処理を施す前処理部と、
該前処理部で得られる線画画像に含まれる任意のセグメントの端点からｋ個の画素ｎ1〜ｎkに対して当てはめられた第１の直線と、上記端点からｋ＋１個の画素ｎ1〜ｎk+1に対して当てはめられた第２の直線とのなす角度が所定のしきい値以下の場合に画素ｎk+1が上記第１の直線上にあるとの判定に基づいて線分候補を抽出する線分検出部と、
該線分検出部で抽出された線分候補群のうちの最も長い線分候補を第１の線分候補として選定するとともに、上記線分候補群のうち、上記第１の線分候補以外の１つの線分候補を第２の線分候補として、上記第１の線分候補の上記第２の線分候補方向への延長線に対して該第２の線分候補の両端から垂線を引き、上記第１の線分候補と第２の線分候補と両垂線とによって囲まれた領域の面積を算出し、該領域の面積に対応する値が所定のしきい値以下の場合に、上記第１および第２の線分候補が同一線分を構成すると判定する線分判定部と、
該線分判定部で同一線分を構成すると判定された上記第１および第２の線分候補に含まれる画素に対して、最小二乗法を適用して新たな線分を合成する線分合成部とを備えていることを特徴とする線分検出装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、入力画像から線分を検出する線分検出方法およびその装置に関する。
【０００２】
【従来の技術】
例えば自動車組立て工場における作業の自動化のためには部品のハンドリングが非常に重要な問題である。特に、組立て領域の自動化において必要とされているようなロボットによる多機能で正確な自動ハンドリングを実現するためには、対象物の画像の細線化処理を行なって線分を検出し、この線分から対象物の形状を精度良く抽出する技術が必要となってくる。
【０００３】
従来の線分検出方法として、下記の方法が知られている。
【０００４】
(1)  入力画像に対して、エッジ検出、２値化、細線化等の前処理を行い、細線画像を得る。
【０００５】
(2)  上記細線画像に含まれる全てのセグメントについて、以下の処理(3)〜(7)を行なう。ここで、「セグメント」とは、線幅１の、連続した画素列であって、分岐のないものを意味する。
【０００６】
(3)  任意のセグメントの端点からｋ個の画素ｎ1〜ｎk（ｋの初期値として、例えばｋ＝３とする）に対して、最小二乗法等を適用して直線を当てはめる。得られた直線をＬ１とする。
【０００７】
(4)  （ｋ＋１）番目の画素ｎk+1が直線Ｌ1に含まれるか否かを判別する。すなわち、画素ｎ1〜ｎk+1に対して、最小二乗法等を適用して直線を当てはめ、得られた直線をＬ2とする。
【０００８】
(5)  直線Ｌ1の傾きα1と直線Ｌ2の傾きα2とを比較し、｜α1−α2｜の値が所定のしきい値以下であれば、画素ｎk+1は直線Ｌ1上にあると判定し、｜α1−α2｜の値が所定のしきい値よりも大きければ、画素ｎk+1は直線Ｌ1上にないと判定する。
【０００９】
(6)  画素ｎk+1が直線Ｌ1上にあれば、画素ｎ1〜ｎk+1に当てはまる直線を新たにＬ1として、処理(4)へ戻る。画素ｎk+1が直線Ｌ1上になければ、画素ｎ1〜ｎkは１本の線分と見なし、画素ｎk+1を端点とし、処理(3)へ戻って新たに直線を検出する。
【００１０】
(7)  処理(3)〜(6)をセグメントの終点に達するまで反復する。
【００１１】
また、線分検出方法としては、上述以外に、画像情報から物体の輪郭を抽出して輪郭点座標を求め、該輪郭点座標からハフ（Hough）変換を行なって関数ρ＝ｘｉｃｏｓθ＋ｙｉｓｉｎθで表される正弦波に変換し、関数値ρに従って２次元ヒストグラムを作成し、該ヒストグラム上のピーク点を検出することにより、上記輪郭点座標の示す線分情報を検出する方法がある（特開昭６４−７４６８０号公報参照）。
【００１２】
【発明が解決しようとする課題】
ところで、上述の処理(1)〜(7)からなる従来の線分検出方法には、次のような問題点があり、それが原因で、正確な線分抽出が困難であった。すなわち、（１）ノイズの影響や量子化誤差のために、本来同一線分を構成する画素が、図５に示すように、同一直線上に位置しない。特に、上述の処理(5)で用いられるしきい値が小さいと、このような同一線分上にあるべき画素が、同一線分上にないものと判断され、多数の線分に細分化されてしまう。
【００１３】
（２）問題点（１）を解決しようとしてしきい値を大きくすると、曲線上の画素等に対しても線分が当てはめられ、図６に示すように、誤った線分検出結果を得ることになる。
【００１４】
また、ハフ変換を用いる方法は、複雑な処理を必要とし、使用メモリ量と処理コストの面で問題があった。
【００１５】
そこで、本発明は、上記問題点を解決するためになされたもので、正確な線分検出を容易になし得る線分検出方法およびその装置を提供することを目的とする。
【００１６】
【課題を解決するための手段】
本発明による線分検出方法は、入力画像から得られる多数の線分候補からなる線画画像から同一線分を検出する方法であって、
第１の線分候補の第２の線分候補方向への延長線に対して該第２の線分候補の両端から垂線を引き、上記第１の線分候補と第２の線分候補と両垂線とによって囲まれた領域の面積を算出し、該領域の面積に対応する値が所定のしきい値以下の場合に、上記第１および第２の線分候補が同一線分を構成すると判定することを特徴とする。
【００１７】
本発明の線分検出方法においては、任意のセグメントの端点からｋ個の画素ｎ1〜ｎkに対して当てはめられた第１の直線と、上記端点からｋ＋１個の画素ｎ1〜ｎk+1に対して当てはめられた第２の直線とのなす角度が所定のしきい値以下の場合に画素ｎk+1が上記第１の直線上にあるとの判定に基づいて抽出した線分候補群のうちの最も長い線分候補を上記第１の線分候補として選定することができる。
【００１８】
ここで、上記線分候補群のうち、上記第１の線分候補以外の１つの線分候補が第２の線分候補として選定される。
【００１９】
また、同一線分を構成すると判定された上記第１および第２の線分候補に含まれる画素に対して、最小二乗法を適用して新たな線分を合成することができる。
【００２０】
本発明による線分検出装置は、
入力画像に対してエッジ検出、２値化、細線化およびラベル付け等の各処理を施す前処理部と、
該前処理部で得られる線画画像に含まれる任意のセグメントの端点からｋ個の画素ｎ1〜ｎkに対して当てはめられた第１の直線と、上記端点からｋ＋１個の画素ｎ1〜ｎk+1に対して当てはめられた第２の直線とのなす角度が所定のしきい値以下の場合に画素ｎk+1が上記第１の直線上にあるとの判定に基づいて線分候補を抽出する線分検出部と、
該線分検出部で抽出された線分候補群のうちの最も長い線分候補を第１の線分候補として選定するとともに、上記線分候補群のうち、上記第１の線分候補以外の１つの線分候補を第２の線分候補として、上記第１の線分候補の上記第２の線分候補方向への延長線に対して該第２の線分候補の両端から垂線を引き、上記第１の線分候補と第２の線分候補と両垂線とによって囲まれた領域の面積を算出し、該オーバーラップ領域の面積に対応する値が所定のしきい値以下の場合に、上記第１および第２の線分が同一線分を構成すると判定する線分判定部と、
該線分判定部で同一線分を構成すると判定された上記第１および第２の線分に含まれる画素に対して、最小二乗法を適用して新たな線分を合成する線分合成部とを備えていることを特徴とする。
【００２１】
【作用および発明の効果】
本発明の線分検出方法およびその装置によれば、第１の線分候補の第２の線分候補方向への延長線に対して該第２の線分候補の両端から垂線を引き、上記第１の線分候補と第２の線分候補と両垂線とによって囲まれた領域の面積を算出し、この領域の面積の大小に基づいて、上記第１および第２の線分が同一線分を構成するか否かを判定しているので、曲線に対して誤って直線を当てはめたり、本来１本の線分が細分化されたりするような問題が解消され、判定位置に関わり無く、正確な線分検出が可能になる。
【００２２】
【実施例】
以下、図面を参照して本発明の実施例について説明する。
【００２３】
図１は、本発明による線分検出装置の構成を示すブロック図で、前処理部１、線分検出部２、線分判定部３および線分合成部４とによって構成されている。
【００２４】
上記前処理部１は、入力画像に対して、エッジ検出、２値化、細線化およびラベル付け等の前処理を施す機能を有し、上記線分検出部２は、上記前処理部１で得られる線画画像に含まれる任意のセグメントの端点からｋ個の画素ｎ1〜ｎkに対して当てはめられた第１の直線と、上記端点からｋ＋１個の画素ｎ1〜ｎk+1に対して当てはめられた第２の直線とのなす角度が所定のしきい値以下の場合に画素ｎk+1が上記第１の直線上にあるとの判定に基づいて線分を抽出する機能を有する。
【００２５】
上記線分判定部３は、上記線分検出部２で抽出された線分候補群のうちの最も長い線分候補を第１の線分候補として選定し、該第１の線分候補の延長線と第２の線分候補との間に介在するオーバーラップ領域の面積を算出し、該オーバーラップ領域の面積に対応する値が所定のしきい値以下の場合に、上記第１および第２の線分候補が同一線分を構成すると判定する機能を有し、上記線分合成部４は、上記線分判定部３で同一線分を構成すると判定された上記第１および第２の線分候補に含まれる画素に対して、最小二乗法を適用して新たな線分を合成する機能を有する。
【００２６】
次に、上記線分検出装置によって実行される処理について、図２のフロ−チャ−トを参照して説明する。
【００２７】
（Ｉ）前処理
入力画像に対して、エッジ検出、２値化、細線化およびラベル付け等の各処理を順に行なう。
【００２８】
（II）線分検出
前述した従来技術と同様に、線画画像に含まれる任意のセグメントの端点からｋ個の画素ｎ1〜ｎkに対して当てはめられた第１の直線と、上記端点からｋ＋１個の画素ｎ1〜ｎk+1に対して当てはめられた第２の直線とのなす角度が所定のしきい値以下の場合に画素ｎk+1が上記第１の直線上にあるとの判定に基づいて線分候補を抽出する。このとき、しきい値を小さく設定し、細分化された線分候補が多数検出されるようにする。検出された線分候補には、セグメントと同じラベルを付す（Ｓ１）。
【００２９】
（III）線分判定
（イ）ラベル１が付された線分候補ｇ1〜ｇnに対して、以下の処理を行なう。
【００３０】
（ロ）線分ｇ1〜ｇnの中で最も長い線分候補ｇmを選び、それをｇMAXとする（Ｓ２）。
【００３１】
（ハ）線分候補ｇMAXとｇi（ｉ＝１，２，…ｍ−１，ｍ＋１，…ｎ）の同一判定を行なう。この同一判定は、図３に示すように、線分候補ｇMAXの線分候補ｇi方向への延長線に対して線分ｇｉの両端から垂線を引き、線分ｇMAXと線分ｇiと両垂線とによって囲まれた領域、すなわち、線分ｇＭＡＸの延長線と線分ｇiとの間に介在するオーバーラップ領域Ｓ（斜線部分）の面積に対応する評価値Ｅを下記の評価式によって算出し、評価値Ｅが所定のしきい値以下の場合に、線分候補ｇiは線分候補ｇMAXと同一線分を構成するものと判定し、評価値Ｅが所定のしきい値よりも大きければ、線分候補ｇiは線分候補ｇMAXと異なる線分を構成するものと判定する（Ｓ３）。
【００３２】
【数１】
0003596055.tif 000002
【００３３】
ただし、ｇMAX：ａｘ＋ｂｙ＋ｃ＝０，線分候補ｇiに平行なベクトルを（ｐ，ｑ）、（ｘC，ｙC）を線分候補ｇiの中点、Ｌを線分候補ｇiの長さとする。
【００３４】
（IV）線分合成
（イ）全ての線分候補について上記同一判定を行なった後（Ｓ４）、同一線分を構成する画素に対して、最小二乗法を適用して合成された線分の方程式を求める（Ｓ５）。実際には、下記の式を用いて線分の方程式ｙ＝ａｘ＋ｂのパラメータを求める。
【００３５】
【数２】
0003596055.tif 000003
【００３６】
（ロ）上記（III）の処理（ロ）（Ｓ２）へ戻り、残りの線分候補ｇkについて処理を反復する。線分候補ｇkがなくなれば、処理（ハ）へ進む。
【００３７】
（ハ）次のラベルを選択し、（III）の処理（ロ）（Ｓ２）へ戻る。全てのラベルについて処理が終了すれば、終了。
【００３８】
以上が本発明による線分検出方法およびその装置の実施例の説明であるが、本実施例によれば、線分候補ｇMAXの候補線分ｇi方向への延長線と線分候補ｇiとの間に介在するオーバーラップ領域Ｓの面積を算出し、このオーバーラップ領域の面積の大小に基づいて、線分候補ｇiが線分候補ｇMAXと同一線分を構成するか否かを判定しているので、曲線に対して誤って直線を当てはめたり、本来１本の線分が細分化されたりすることがなくなり、判定位置に関わり無く、正確な線分検出が可能になる。
【００３９】
なお、本実施例では、上記（Ｉ）の前処理において、入力画像に対しエッジ検出、２値化、細線化およびラベル付け等の各処理を順に行ない、かつ上記（II）の線分検出において、線画画像に含まれる任意のセグメントの端点からｋ個の画素ｎ1〜ｎkに対して当てはめられた第１の直線と、上記端点からｋ＋１個の画素ｎ1〜ｎk+1に対して当てはめられた第２の直線とのなす角度が所定のしきい値以下の場合に、画素ｎk+1が上記第１の直線上にあると判定しているが、これ以外の参考実施例として、入力画像を微分して検出したエッジにおける各画素の濃度勾配のベクトル（方向および大きさ）を求め、互いに隣接する画素の濃度勾配のベクトルの差が所定のしきい値よりも小さい場合に、互いに隣接する２つの画素が同一直線上にあると判定する方法もある。
【００４０】
すなわち、図４に示すように、座標（ｘ0，ｙ0）を有する１つの画素ｐ0の８近傍の画素の濃度をｆ1〜ｆ8とすると、画素ｐ0の水平方向の濃度勾配ｕおよび垂直方向の濃度勾配ｖはそれぞれ下式で表される。
【００４１】
ｕ＝（ｆ3＋ｆ4＋ｆ5）−（ｆ1＋ｆ7＋ｆ8）
ｖ＝（ｆ5＋ｆ6＋ｆ7）−（ｆ1＋ｆ2＋ｆ3）
また、画素ｐ0（ｘ0，ｙ0）の濃度勾配のベクトルの方向を示す直線をｙ＝ｋ×（ｘ−ｘ0）＋ｙ0とすると、上記ベクトルの方向を表す係数ｋおよび上記ベクトルの大きさＰ0はそれぞれ下記の式で表される。
【００４２】
ｋ ＝tan-1（ｖ／ｕ）
Ｐ0＝√（ｕ2＋ｖ2）
このような画素の濃度勾配のベクトルの方向および大きさを求める演算を各画素について行なって、互いに隣接する画素の濃度勾配のベクトルの方向および大きさの差がそれぞれ所定のしきい値以内である画素が同一直線上にあると判定すれば良い。
【図面の簡単な説明】
【図１】本発明による線分検出装置の構成の１例を示すブロック図
【図２】本発明による線分検出方法における処理の流れを表すフロ−チャ−ト
【図３】同  作用の説明図
【図４】画素の濃度勾配を該画素の８近傍の画素の濃度から求める方法（参考実施例）の説明図
【図５】従来の線分検出方法の問題点の説明図
【図６】従来の線分検出方法の問題点の説明図
【符号の説明】
１    前処理部
２    線分検出部
３    線分判定部
４    線分合成部
【図１】
0003596055.tif 000004
【図２】
0003596055.tif 000005
【図３】
0003596055.tif 000006
【図４】
0003596055.tif 000007
【図５】
0003596055.tif 000008
【図６】
0003596055.tif 000009