説明

線分および円弧検出装置

【課題】ハフ変換を利用して精度よく線分あるいは円弧を検出することを課題とする。
【解決手段】ハフ変換部14は、第1〜第3成分データ102A〜102Cに対して輪郭抽出処理を実行し、第1〜第3輪郭データ103A〜103Cを生成する。第1〜第3輪郭データ103A〜103Cの各画素は0〜255の画素値を有する。ハフ変換部14は、第1〜第3輪郭データ103A〜103Cの各点に対してハフ変換を実行する。ハフテーブル15には、第1〜第3輪郭データ103A〜103Cの各点の画素値、すなわち輪郭強度の値が加算値として集計される。検出部16は、各成分の集計値を総合評価し、線分あるいは円弧を検出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像に含まれる線分あるいは円弧を検出する技術に関する。
【背景技術】
【0002】
画像に含まれる線分を検出する技術として、ハフ(Hough)変換が用いられている。XY座標系を持つ画像の任意の点を通る直線(xcosθ+ysinθ=ρ)は、ハフ空間上の座標(θ、ρ)に変換される。ハフ空間の座標(θ、ρ)に変換される直線の数を2次元配列[θ][ρ]を用いて集計する。そして、2次元配列[θ][ρ]の中で所定の閾値を上回る集計値を有する座標(θ、ρ)から、XY座標系の直線を検出する。
【0003】
XY座標系を持つ画像の任意の点を通る円弧((x−a)+(y−b)=r)は、ハフ空間上の座標(a、b、r)に変換される。ハフ空間の座標(a、b、r)に変換される円弧の数を3次元配列[a][b][r]を用いて集計する。そして、3次元配列[a][b][r]の中で所定の閾値を上回る集計値を有する座標(a、b、r)から、XY座標系の円弧を検出する。
【0004】
下記特許文献1においては、画像を局所領域に分割するために、ハフ変換を用いて画像中の線分を検出している。下記特許文献2においては、直線の長さに応じてハフ空間上のパラメータθ、ρのサンプリング間隔を最適化することを試みている。下記特許文献3においても画像の中に含まれる線分を検出するためにハフ変換が用いられている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平10−283476号公報
【特許文献2】特開平11−66302号公報
【特許文献3】特開2006−107034号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ハフ変換を用いた線分あるいは円弧の検出は、画像に存在する点の数に依存している。画像に存在する点は、実際に線分や円弧を構成する点以外にも様々な点が存在する。したがって、ノイズが強い場合には線分等を誤検出する場合がある。
【0007】
本発明は、高い精度で線分あるいは円弧を検出する技術を提供することを課題とする。
【課題を解決するための手段】
【0008】
上記課題を解決するため、請求項1記載の発明は、線分検出装置であって、一の色空間の対象画像内の線分を検出する線分検出装置であって、前記対象画像から前記一の色空間における複数の成分画像を生成する生成部と、各成分画像内のそれぞれの点の特徴量を求める特徴量算出部と、各成分画像の基準点から各成分画像内の任意の直線に下した垂線の長さρおよび前記垂線が前記基準点を通る基準軸となす角θを用いて、各成分画像内の任意の直線を表現することにより、各成分画像内の任意の点を通る直線をハフ空間内の座標(θ、ρ)に変換するハフ変換部と、各成分画像内のそれぞれの点が前記ハフ変換部によってハフ空間内の座標(θ、ρ)に変換されたとき、変換された座標(θ、ρ)に対応する記憶領域に、各成分画像内のそれぞれの点の特徴量の大きさによって重みづけされた値を加算する集計部と、全ての成分画像に対応する集計値を総合評価し、総合集計値を求める総合集計部と、総合集計値が第1の閾値を超える座標(θ、ρ)を特定することにより、前記対象画像における線分を検出する検出部と、を備える。
【0009】
請求項2記載の発明は、請求項1に記載の線分検出装置であって、前記特徴量算出部は、輪郭抽出処理を実行することにより、各成分画像内のそれぞれの点の特徴量として輪郭強度を求める。
【0010】
請求項3記載の発明は、請求項2に記載の線分検出装置であって、前記集計部は、前記輪郭抽出処理後の各成分画像内のそれぞれの点の輪郭強度を加算値として集計する。
【0011】
請求項4記載の発明は、請求項2に記載の線分検出装置であって、前記集計部は、前記輪郭抽出処理後の各成分画像内のそれぞれの点の輪郭強度を量子化した上で集計する。
【0012】
請求項5記載の発明は、請求項4に記載の線分検出装置であって、前記集計部は、各成分画像に対してそれぞれ異なる量子化関数を用いて輪郭強度を量子化する。
【0013】
請求項6記載の発明は、請求項1ないし請求項5のいずれかに記載の線分検出装置であって、前記総合集計部は、各成分画像の集計値を重みづけ加算することにより総合集計値を求める。
【0014】
請求項7記載の発明は、請求項1に記載の線分検出装置であって、前記基準点は、各成分画像内の任意の座標に設定される。
【0015】
請求項8記載の発明は、円弧検出装置であって、一の色空間の対象画像内の円弧を検出する円弧検出装置であって、前記対象画像から前記一の色空間における複数の成分画像を生成する生成部と、各成分画像内のそれぞれの点の特徴量を求める特徴量算出部と、各成分画像の基準点に対して直交座標を定義し、各成分画像内の任意の円弧を直交座標系における中心座標(a、b)および半径rを用いて表現することにより、各成分画像内の任意の点を通る円弧をハフ空間内の座標(a、b、r)に変換するハフ変換部と、各成分画像内のそれぞれの点が前記ハフ変換部によってハフ空間内の座標(a、b、r)に変換されたとき、変換された座標(a、b、r)に対応する記憶領域に、各成分画像内のそれぞれの点の特徴量の大きさによって重みづけされた値を加算する集計部と、全ての成分画像に対応する集計値を総合評価し、総合集計値を求める総合集計部と、総合集計値が第1の閾値を超える座標(a、b、r)を特定することにより、前記対象画像における円弧を検出する検出部と、を備える。
【0016】
請求項9記載の発明は、請求項8に記載の円弧検出装置であって、前記特徴量算出部は、輪郭抽出処理を実行することにより、各成分画像内のそれぞれの点の特徴量として輪郭強度を求める。
【0017】
請求項10記載の発明は、請求項9に記載の円弧検出装置であって、前記集計部は、前記輪郭抽出処理後の各成分画像内のそれぞれの点の輪郭強度を加算値として集計する。
【0018】
請求項11記載の発明は、請求項9に記載の円弧検出装置であって、前記集計部は、前記輪郭抽出処理後の各成分画像内のそれぞれの点の輪郭強度を量子化した上で集計する。
【0019】
請求項12記載の発明は、請求項11に記載の円弧検出装置であって、前記集計部は、各成分画像に対してそれぞれ異なる量子化関数を用いて輪郭強度を量子化する。
【0020】
請求項13記載の発明は、請求項8ないし請求項12のいずれかに記載の円弧検出装置であって、前記総合集計部は、各成分画像の集計値を重みづけ加算することにより総合集計値を求める。
【0021】
請求項14記載の発明は、請求項8に記載の円弧検出装置であって、前記基準点は、各成分画像内の任意の座標に設定される。
【0022】
請求項15記載の発明は、線分検出方法であって、一の色空間の対象画像内の線分を検出する線分検出方法であって、前記対象画像から前記一の色空間における複数の成分画像を生成する生成工程と、各成分画像内のそれぞれの点の特徴量を求める特徴量算出工程と、各成分画像の基準点から各成分画像内の任意の直線に下した垂線の長さρおよび前記垂線が前記基準点を通る基準軸となす角θを用いて、各成分画像内の任意の直線を表現することにより、各成分像内の任意の点を通る直線をハフ空間内の座標(θ、ρ)に変換するハフ変換工程と、各成分画像内のそれぞれの点が前記ハフ変換部によってハフ空間内の座標(θ、ρ)に変換されたとき、変換された座標(θ、ρ)に対応する記憶領域に、各成分画像内のそれぞれの点の特徴量の大きさによって重みづけされた値を加算する集計工程と、全ての成分画像に対応する集計値を総合評価し、総合集計値を求める総合集計工程と、総合集計値が第1の閾値を超える座標(θ、ρ)を特定することにより、前記対象画像における線分を検出する検出工程と、を備える。
【0023】
請求項16記載の発明は、円弧検出方法であって、一の色空間の対象画像内の円弧を検出する円弧検出方法であって、前記対象画像から前記一の色空間における複数の成分画像を生成する生成工程と、各成分画像内のそれぞれの点の特徴量を求める特徴量算出工程と、各成分画像の基準点に対して直交座標を定義し、各成分画像内の任意の円弧を直交座標系における中心座標(a、b)および半径rを用いて表現することにより、各成分画像内の任意の点を通る円弧をハフ空間内の座標(a、b、r)に変換するハフ変換工程と、各成分画像内のそれぞれの点が前記ハフ変換部によってハフ空間内の座標(a、b、r)に変換されたとき、変換された座標(a、b、r)に対応する記憶領域に、各成分画像内のそれぞれの点の特徴量の大きさによって重みづけされた値を加算する集計工程と、全ての成分画像に対応する集計値を総合評価し、総合集計値を求める総合集計工程と、総合集計値が第1の閾値を超える座標(a、b、r)を特定することにより、前記対象画像における円弧を検出する検出工程と、を備える。
【発明の効果】
【0024】
本発明の線分あるいは円弧検出装置を用いることにより、画像を構成する各色成分を総合評価した上で、画像に含まれる線分あるいは円弧を精度よく検出することができる。たとえば、輝度の差は小さいが、色の変化によって生成されている線分等も精度よく検出することができる。
【図面の簡単な説明】
【0025】
【図1】第1の実施の形態に係る検出装置のブロック図である。
【図2】輪郭画像データにおける直線の表現方法を示す図である。
【図3】ハフ空間を示す図である。
【図4】輪郭画像データにおける円弧の表現方法を示す図である。
【図5】画素値(輪郭強度)と加算値との関係を示す図である。
【図6】第3の実施の形態に係る画素値(輪郭強度)と加算値との関係を示す図である。
【図7】第5の実施の形態に係る画素値(輪郭強度)と加算値との関係を示す図である。
【発明を実施するための形態】
【0026】
{第1の実施の形態}
<1−1.処理の全体の流れ>
図1は、第1の実施の形態に係る検出装置1のブロック図である。検出装置1は、成分画像生成部11、輪郭抽出処理部12、ハフ(Hough)変換部14、ハフテーブル15および検出部16を備えている。
【0027】
本実施の形態の検出装置1は、線分あるいは円弧を検出することができる。
【0028】
本実施の形態においては、成分画像生成部11、輪郭抽出処理部12、ハフ変換部14および検出部16は、ハードウェア回路により構成されている。しかし、これら機能部をCPUおよびCPU上で動作するソフトウェアにより構成してもよい。
【0029】
成分画像生成部11は、カラー画像データ101を入力する。カラー画像データ101は、たとえば、図示せぬ撮像素子により取得された画像である。カラー画像データ101は、たとえば、YUV色空間、YCbCr色空間あるいはRGB色空間などの画像データである。成分画像生成部11は、カラー画像データ101から、第1成分データ102A、第2成分データ102Bおよび第3成分データ102Cを生成する。
【0030】
たとえば、カラー画像データ101がYUV色空間の画像データであれば、成分画像生成部11は、Y信号を抽出することにより第1成分データ102Aを生成する。また、成分画像生成部11は、U信号を抽出することにより第2成分データ102Bを生成する。成分画像生成部11は、V信号を抽出することにより第3成分データ102Cを生成する。
【0031】
あるいは、カラー画像データ101がRGB色空間の画像データであれば、成分画像生成部11は、G信号を抽出することにより第1成分データ102Aを生成する。成分画像生成部11は、R信号あるいはB信号を抽出することにより第2あるいは第3成分データ102B、102Cを生成する。
【0032】
あるいは、成分画像生成部11は、色空間の変換を行った上で成分画像を生成してもよい。たとえば、成分画像生成部11は、RGB色空間のカラー画像データ101を入力したとき、カラー画像データ101をYUV色空間の画像データに変換した後、第1〜第3成分データ102A〜102Cを生成してもよい。
【0033】
以下の説明においては、カラー画像データ101がYUV色空間の画像データであって、第1成分データ102Aは、Y信号(輝度信号)の画像データ、第2成分データ102Bは、U信号(色差信号)の画像データ、第3成分データ102Cは、V信号(色差信号)の画像データである場合を例にとって説明する。
【0034】
輪郭抽出処理部12は、第1〜第3成分データ102A〜102Cを入力する。輪郭抽出処理部12は、第1成分データ102Aから第1輪郭データ103Aを生成する。輪郭抽出処理部12は、第2成分データ102Bから第2輪郭データ103Bを生成する。輪郭抽出処理部12は、第3成分データ102Cから第3輪郭データ103Cを生成する。
【0035】
つまり、第1輪郭データ103Aは、Y信号から生成された輪郭抽出データである。第2輪郭データ103Bおよび103Cは、それぞれU信号およびV信号から生成された輪郭抽出データである。このように本実施の形態においては、輝度データおよび色成分データのそれぞれについて輪郭抽出データを生成する。
【0036】
本実施の形態においては、輪郭抽出処理部12は、ソーベル(Sobel)フィルタを利用して、輪郭抽出処理を行っている。ソーベルフィルタは、空間1次微分演算により、輪郭を検出するフィルタである。輪郭抽出処理部12は、フィルタの出力の絶対値を輪郭強度(線分あるいは円弧の強度)として出力する。つまり、第1〜第3輪郭データ103A〜103Cの各画素の画素値は、輪郭強度を表している。用いるフィルタは特に限定されるものではない。たとえば、ラプラシアンフィルタを用いてもよい。
【0037】
ハフ変換部14は、第1〜第3輪郭データ103A〜103Cを入力する。ハフ変換部14は、第1〜第3輪郭データ103A〜103Cをハフ変換し、変換後の結果をハフテーブル15に書き込む。具体的には、ハフ変換部14は、線分を検出する場合には、変換後の結果を2次元配列[θ][ρ]に格納する。ハフ変換部14は、円弧を検出する場合には、変換後の結果を3次元配列[a][b][r]に格納する。ハフ変換の処理の内容は後で詳しく説明する。
【0038】
検出部16は、ハフテーブル15を参照することで、第1〜第3輪郭データ103A〜103Cに含まれる線分あるいは円弧を検出する。検出部16の処理の内容は後で詳しく説明する。
【0039】
<1−2.ハフ変換(直線)>
ハフ変換部14の処理内容について詳しく説明する。ハフ変換部14は、第1〜第3輪郭データ103A〜103Cに含まれる任意の点について、各点を通る直線をハフ空間上の座標(θ、ρ)に変換する。つまり、ハフ変換部14は、第1〜第3輪郭データ103A〜103Cに対して、それぞれ個別にハフ変換処理を行う。
【0040】
以下の説明において、第1〜第3輪郭データ103A〜103Cに対する共通の処理を説明するときには、便宜的に、第1〜第3輪郭データ103A〜103Cを総称して、輪郭画像データ103として説明する。
【0041】
図2は、輪郭画像データ103を示す図である。輪郭画像データ103には、図2に示すように、原点OとXY座標が定義されている。図2には、輪郭画像データ103に含まれる点のうち一部の点51〜55を図示している。輪郭画像データ103に含まれる各点は、様々な画素値を有する画素である。本実施の形態においては、輪郭画像データ103の画素値の分解能は8ビットである。つまり、輪郭画像データ103の各画素は、0〜255のいずれかの画素値を有している。言い換えると、輪郭画像データ103の各画素は、0〜255のいずれかの輪郭強度の情報を有している。点51を通る直線61は、θおよびρを用いて数1式のように表すことができる。
【0042】
【数1】

【0043】
数1式において、ρは、原点から直線61に下した垂線62の長さである。θは、垂線62がX軸の正の方向となす角である。
【0044】
点51を通る直線は、多数存在する。点51を通る直線の数は、θおよびρのサンプリング間隔に基づいて決まる。したがって、輪郭画像データ103上の1つの点に対して、複数のハフ空間上の座標(θ、ρ)が対応付けられる。
【0045】
図2に示すように、点51〜点53は、同一直線上に並んでいる。点52および点53を通る直線についても、それぞれ複数のハフ空間上の座標(θ、ρ)に変換される。そして、点51〜点53の全ての点について、直線61がハフ変換されて、同一の座標(θ、ρ)に対応付けられる。
【0046】
図3は、ハフ空間を示す図である。正弦曲線71〜75は、それぞれ、点51〜点55がハフ変換されることにより得られるハフ空間上の点の集合を示している。そして、正弦曲線71〜73の交わる座標(θ1、ρ1)が直線61に対応している。
【0047】
このように、輪郭画像データ103において同一の直線上に複数の点が存在する場合、輪郭画像上の複数の点がハフ空間上の同一の点に変換されることになる。ハフ空間上で各座標(θ、ρ)に変換される点を集計することで、直線を検出することができる。ハフテーブル15は、2次元配列T[θ][ρ]を有している。つまり、輪郭画像データ103の全ての点についてハフ変換を行い、その結果が2次元配列T[θ][ρ]において集計される。
【0048】
上述したように、ハフ変換は、第1〜第3輪郭データ103A〜103Cそれぞれに対して実行される。したがって、線分を検出するためにハフテーブル15は、第1〜第3輪郭データ103A〜103Cのそれぞれに対応した3種類の2次元配列T[θ][ρ]を有している。
【0049】
第1の2次元配列T[θ][ρ]には、第1輪郭データ103Aがハフ変換された結果の集計値C1(θ、ρ)が格納される。第2の2次元配列T[θ][ρ]には、第2輪郭データ103Bがハフ変換された結果の集計値C2(θ、ρ)が格納される。第3の2次元配列T[θ][ρ]には、第3輪郭データ103Cがハフ変換された結果の集計値C3(θ、ρ)が格納される。
【0050】
本実施の形態においては、集計値C1は、輝度画像(Y画像)に対するハフ変換の結果を集計した値である。集計値C2は、色画像(U画像)に対するハフ変換の結果を集計した値である。集計値C3は、色画像(V画像)に対するハフ変換の結果を集計した値である。
【0051】
ここでは、第1〜第3輪郭データ103A〜103Cに対応して複数の配列を用いる場合を例に説明している。しかし、後で説明するように、単一の配列を用いてハフ変換の結果を集計してもよい。
【0052】
<1−3.ハフ変換(円弧)>
ハフ変換部14は、輪郭画像データ103に含まれる任意の点について、各点を通る円弧(弦)をハフ空間上の座標(a、b、r)に変換する。
【0053】
図4は、輪郭画像データ103を示す図である。輪郭画像データ103には、図4に示すように、原点OとXY座標が定義されている。図4には、輪郭画像データ103に含まれる点のうち一部の点81〜85を図示している。上述したように、輪郭画像データ103の各画素は、0〜255のいずれかの画素値を有している。言い換えると、輪郭画像データ103の各画素は、0〜255のいずれかの輪郭強度の情報を有している。点81を通る円弧91は、a、bおよびrを用いて数2式のように表すことができる。
【0054】
【数2】

【0055】
数2において、aは、円弧91の中心のX座標であり、bは、円弧91の中心のY座標である。rは、円弧91の半径である。
【0056】
点81を通る円弧は、多数存在する。点81を通る円弧の数は、a、bおよびrのサンプリング間隔に基づいて決まる。したがって、輪郭画像データ103上の1つの点に対して、複数のハフ空間上の座標(a、b、r)が対応付けられる。
【0057】
図4に示すように、点81〜点83は、同一円弧上に並んでいる。点82および点83を通る円弧についても、それぞれ複数のハフ空間上の座標(a、b、r)に変換される。そして、点81〜点83の全ての点について、円弧91がハフ変換されて、同一の座標(a、b、r)に対応付けられる。
【0058】
このように、輪郭画像データ103において同一の円弧上に複数の点が存在する場合、輪郭画像上の複数の点がハフ空間上の同一の点に変換されることになる。ハフ空間上で各座標(a、b、r)に変換される点を集計することで、円弧を検出することができる。ハフテーブル15は、3次元配列T[a][b][r]を有している。つまり、輪郭画像データ103の全ての点についてハフ変換を行い、その結果が3次元配列T[a][b][r]において集計される。
【0059】
上述したように、ハフ変換は、第1〜第3輪郭データ103A〜103Cそれぞれに対して実行される。したがって、円弧を検出するためにハフテーブル15は、第1〜第3輪郭データ103A〜103Cのそれぞれに対応した3種類の3次元配列T[a][b][r]を有している。
【0060】
第1の3次元配列T[a][b][r]には、第1輪郭データ103Aがハフ変換された結果の集計値C1(a、b、r)が格納される。第2の3次元配列T[a][b][r]には、第2輪郭データ103Bがハフ変換された結果の集計値C2(a、b、r)が格納される。第3の3次元配列T[a][b][r]には、第3輪郭データ103Cがハフ変換された結果の集計値C3(a、b、r)が格納される。
【0061】
本実施の形態においては、集計値C1は、輝度画像(Y画像)に対するハフ変換の結果を集計した値である。集計値C2は、色画像(U画像)に対するハフ変換の結果を集計した値である。集計値C3は、色画像(V画像)に対するハフ変換の結果を集計した値である。
【0062】
ここでは、第1〜第3輪郭データ103A〜103Cに対応して複数の配列を用いる場合を例に説明している。しかし、後で説明するように、単一の配列を用いてハフ変換の結果を集計してもよい。
【0063】
<1−4.集計処理>
ハフ変換部14における集計処理方法について説明する。上述したように、第1〜第3輪郭データ103A〜103Cの各画素は0〜255の画素値を有している。ハフ変換部14は、第1〜第3輪郭データ103A〜103Cのある点がハフ空間上のある座標(θ、ρ)に変換された場合、2次元配列T[θ][ρ]には、第1〜第3輪郭データ103A〜103C上の点の画素値を加算する。言い換えると、2次元配列T[θ][ρ]には、第1〜第3輪郭データ103A〜103C上の点の輪郭強度の値が加算される。そして、輪郭強度の加算値が集計値C1、C2およびC3として、第1〜第3の2次元配列T[θ][ρ]に格納される。
【0064】
たとえば、画素値が10の画素がハフ空間上のある座標(θ、ρ)に変換された場合、対応する2次元配列T[θ][ρ]には、集計値に10が加算される。画素値が255であれば、集計値に255が加算される。これにより、輪郭強度に応じた重みづけを行った上で、直線検出のための集計を行うことができる。
【0065】
画素値が0の点については、第1〜第3輪郭データ103A〜103Cにおいて点として認識されない。したがって、第1〜第3輪郭データ103A〜103Cに含まれる画素値が0の点についてはハフ変換を行う必要はない。2次元配列T[θ][ρ]に加算される値は、1〜255のいずれかの値である。ただし、理論的には、第1〜第3輪郭データ103A〜103Cに含まれる画素値0の点については、2次元配列T[θ][ρ]に0が加算されると拡張して考えてもよい。
【0066】
同様に、ハフ変換部14は、第1〜第3輪郭データ103A〜103Cのある点がハフ空間上のある座標(a、b、r)に変換された場合、3次元配列T[a][b][r]には、輪郭画像データ103A〜103C上の点の画素値を加算する。つまり、3次元配列T[a][b][r]に1〜255のいずれかの値が加算される。言い換えると、3次元配列T[a][b][r]には、輪郭画像データ103A〜103C上の点の輪郭強度の値が加算される。そして、輪郭強度の加算値が集計値C1、C2およびC3として、第1〜第3の3次元配列T[a][b][r]に格納される。
【0067】
<1−5.線分あるいは円弧検出処理>
検出部16は、ハフテーブル15を参照し、カラー画像データ101に含まれる線分あるいは円弧を検出する。検出部16は、ハフテーブル15に格納されている各成分に対応した3つの集計値C1〜C3を総合評価することにより線分の検出を行う。あるいは、検出部16は、ハフテーブル15に格納されている各成分に対応した3つの集計値C1〜C3を総合評価することにより円弧の検出を行う。
【0068】
検出部16は、予め直線検出用の閾値あるいは円弧検出用の閾値を記憶している。検出部16は、集計値C1〜C3から算出された総合集計値Vと直線検出用の閾値を比較し、直線検出用の閾値を超える総合集計値Vを有する座標(θ、ρ)を検出する。あるいは、検出部16は、集計値C1〜C3から算出された総合集計値Vと円弧検出用の閾値を比較し、円弧検出用の閾値を超える総合集計値Vを有する座標(a、b、r)を検出する。
【0069】
具体的には、検出部16は、数3式に示す演算を行い、総合集計値Vを算出する。数3式中、C1(θ、ρ)は、第1輪郭データ103A上の点をハフ変換した結果、座標(θ、ρ)に変換された点の画素の集計値である。数3式中、C2(θ、ρ)は、第2輪郭データ103B上の点をハフ変換した結果、座標(θ、ρ)に変換された点の画素の集計値である。数3式中、C3(θ、ρ)は、第3輪郭データ103C上の点をハフ変換した結果、座標(θ、ρ)に変換された点の画素の集計値である。
【0070】
【数3】

【0071】
円弧の場合は、検出部16は、数4式に示す演算を行い、総合集計値Vを算出する。数4式中、C1(a、b、r)は、第1輪郭データ103A上の点をハフ変換した結果、座標(a、b、r)に変換された点の画素の集計値である。数4式中、C2(a、b、r)は、第2輪郭データ103B上の点をハフ変換した結果、座標(a、b、r)に変換された点の画素の集計値である。数3式中、C3(a、b、r)は、第3輪郭データ103C上の点をハフ変換した結果、座標(a、b、r)に変換された点の画素の集計値である。
【0072】
【数4】

【0073】
総合集計値Vは、C1、C2およびC3を加算した後、3で除算することにより求められる。つまり総合集計値Vは、C1、C2およびC3の平均値である。検出部16は、総合集計値Vと直線検出用の閾値とを比較することにより、線分の検出を行う。あるいは、総合集計値Vと円弧検出用の閾値とを比較することにより、円弧の検出を行う。検出部16は、線分あるいは円弧の検出情報を出力する。
【0074】
このように、本実施の形態においては、輝度画像だけでなく、色差画像についてもハフ変換を行い、それらを総合評価した上で線分あるいは円弧の検出を行う。これにより、輝度の変化は小さいが色の変化により生成されている線分や円弧についても精度よく検出することが可能である。
【0075】
図5は、輪郭画像データ103における各画素の輪郭強度と加算値との関係を示す図である。このように本実施の形態においては、各画素の画素値である輪郭強度をそのままハフテーブル15に加算する。輪郭強度の小さい点については、線分あるいは円弧の検出に対する貢献度を低く評価できる。一方、輪郭強度の大きい点については、線分あるいは円弧の検出に対する貢献度が高く評価されるので、ノイズなどの影響を排除して、精度の高い線分あるいは円弧検出を行うことができる。
【0076】
なお、本実施の形態においては、集計値C1、C2およびC3として、輪郭画像データ103の画素値をそのまま格納した。そして、検出部16が各集計値を加算するとともに平均値を算出する処理を行った。別の方法として、ハフテーブル15に単一の配列を持たせ、各画素値を単一の配列に格納するようにしてもよい。この場合であれば、検出部16は、集計値を3で除算する処理のみを実行すればよい。あるいは、ハフテーブル15に単一の配列を持たせ、各画素値を3で除算した結果を単一の配列に格納するようにしてもよい。この場合であれば、検出部16は、閾値との比較処理のみを実行すればよい。
【0077】
{第2の実施の形態}
次に、本発明の第2の実施の形態について説明する。第2の実施の形態における検出装置1の構成は、図1で示した構成と同様である。第2の実施の形態においては、検出部16における集計方法が第1の実施の形態と異なる。
【0078】
第2の実施の形態における検出部16は、数5式に示す演算を行い、総合集計値Vを算出する。数5式中のC1(θ、ρ)、C2(θ、ρ)およびC3(θ、ρ)は、第1の実施の形態と同様である。数5式中、k1は、集計値C1(θ、ρ)に乗算する重みづけ値、k2は、集計値C2(θ、ρ)に乗算する重みづけ値、k3は、集計値C3(θ、ρ)に乗算する重みづけ値である。3つの重みづけ値は、k1+k2+k3=1の関係を満たしている。
【0079】
【数5】

【0080】
円弧の場合は、検出部16は、数6式に示す演算を行い、総合集計値Vを算出する。数6式中のC1(a、b、r)、C2(a、b、r)およびC3(a、b、r)は、第1の実施の形態と同様である。数6式中、k1は、集計値C1(a、b、r)に乗算する重みづけ値、k2は、集計値C2(a、b、r)に乗算する重みづけ値、k3は、集計値C3(a、b、r)に乗算する重みづけ値である。3つの重みづけ値は、k1+k2+k3=1の関係を満たしている。
【0081】
【数6】

【0082】
総合集計値Vは、重みづけされた集計値C1、C2およびC3を加算することにより求められる。検出部16は、総合集計値Vと直線検出用の閾値とを比較することにより、線分の検出を行う。あるいは、総合集計値Vと円弧検出用の閾値とを比較することにより、円弧の検出を行う。検出部16は、線分あるいは円弧の検出情報を出力する。
【0083】
このように、輝度画像だけでなく、色差画像についてもハフ変換を行い、それらを総合評価した上で線分あるいは円弧の検出を行う。また、各集計値に重みづけ値を乗算するので、特定の色成分に重点をおいて線分あるいは円弧の検出を行うことができる。
【0084】
なお、本実施の形態においては、集計値C1、C2およびC3として、輪郭画像データ103の画素値をそのままハフテーブル15に格納した。そして、検出部16が各集計値に重みづけ値を乗算した上で加算する処理を行った。別の方法として、ハフテーブル15には、各画素値の値に重みづけ値を乗算した結果を格納するようにしてもよい。この場合であれば、検出部16は、各集計値を加算する処理のみを実行すればよい。あるいは、ハフテーブル15に単一の配列を持たせ、重みづけされた値を単一の配列に格納するようにしてもよい。この場合であれば、検出部16は、閾値との比較処理のみを実行すればよい。
【0085】
{第3の実施の形態}
次に、本発明の第3の実施の形態について説明する。第3の実施の形態における検出装置1の構成は、図1で示した構成と同様である。第3の実施の形態においては、ハフテーブル15に対する集計値の格納方法、および、検出部16における集計方法が第1あるいは第2の実施の形態と異なる。第1あるいは第2の実施の形態においては、ハフ変換部14は、輪郭画像データ103の各画素の輪郭強度をそのままハフテーブル15に加算した。言い換えると、ハフ変換部14は、輪郭画像データ103の各画素の画素値を、画素値の分解能を維持したままハフテーブル15に加算した。
【0086】
第3の実施の形態においては、ハフ変換部14は、輪郭画像データ103の各画素の輪郭強度を、画素値の分解能よりも低い分解能で量子化した上でハフテーブル15に加算する。
【0087】
図6は、第3の実施の形態における各画素の輪郭強度と加算値との関係を示す図である。この例では、輪郭画像データ103の各画素の輪郭強度は、量子化により4段階の加算値に対応付けられている。
【0088】
具体的には、輪郭画像データ103の画素の画素値が128以下のときには、加算値0が対応付けられる。輪郭画像データ103の画素の画素値が129以上かつ170以下のときには、加算値1が対応付けられる。輪郭画像データ103の画素の画素値が171以上かつ212以下のときには、加算値2が対応付けられる。輪郭画像データ103の画素の画素値が213以上かつ255以下のときには、加算値3が対応付けられる。
【0089】
検出部16は、数7式に示す演算を行い、総合集計値Vを算出する。数7式中のC1(θ、ρ)、C2(θ、ρ)およびC3(θ、ρ)は、第1の実施の形態と同様である。数7式中、Qは、量子化関数を意味する。
【0090】
【数7】

【0091】
数7式における量子化値Q(C1(θ、ρ))が、第1の2次元配列T[θ][ρ]に格納される。また、量子化値Q(C2(θ、ρ))が、第2の2次元配列T[θ][ρ]に格納され、量子化値Q(C3(θ、ρ))が、第2の2次元配列T[θ][ρ]に格納される。
【0092】
円弧の場合は、検出部16は、数8式に示す演算を行い、総合集計値Vを算出する。数8式中のC1(a、b、r)、C2(a、b、r)およびC3(a、b、r)は、第1の実施の形態と同様である。数8式中、Qは、量子化関数を意味する。
【0093】
【数8】

【0094】
数8式における量子化値Q(C1(a、b、r))が、第1の3次元配列T[a][b][r]に格納される。また、量子化値Q(C2(a、b、r))が、第2の3次元配列T[a][b][r]に格納され、量子化値Q(C3(a、b、r))が、第2の3次元配列T[a][b][r]に格納される。
【0095】
総合集計値Vは、集計値C1、C2およびC3をそれぞれ量子化した後、各量子化値を平均することにより求められる。検出部16は、総合集計値Vと直線検出用の閾値とを比較することにより、線分の検出を行う。あるいは、総合集計値Vと円弧検出用の閾値とを比較することにより、円弧の検出を行う。第1の実施の形態と異なり、総合集計値は量子化されているので、閾値は、量子化の程度に合わせて設定すればよい。検出部16は、線分あるいは円弧の検出情報を出力する。
【0096】
このように、本実施の形態においては、輝度画像だけでなく、色差画像についてもハフ変換を行い、それらを総合評価した上で線分あるいは円弧の検出を行う。また、本実施の形態においては、輪郭強度の値に応じて重みづけを行った上で、線分あるいは円弧の検出を行うことができる。また、第1の実施の形態に比べて、集計値のレンジを狭くすることにより演算量を削減することができる。
【0097】
図6で示した例では、加算値として0が割り当てられるのは画素値0〜128であり、画素値の全体レンジの中で比較的広い範囲が加算値0に対応付けられている。これは、画素値が半分に満たないような点はノイズとみなし、線分あるいは円弧の検出には考慮に入れないという趣旨である。しかし、いずれの画素値の範囲を、いずれの加算値に割り当てるかなど、対応付けの設定は自由である。図6の例では、0〜3の4段階の加算値に割り当てたが、加算値の段階も自由に設定することができる。たとえば、非常に鮮明な線分あるいは円弧だけを検出し、極力ノイズの影響を抑制したいのであれば、画素値0〜200までに加算値0を割り当て、画素値201以上の場合だけ加算値1を割り当てるといった方法をとってもよい。これら量子化の特性は、量子化関数Qにより調整することができる。
【0098】
従来のハフ変換による線分あるいは円弧検出方法は、本願の実施の形態にあてはめると、画素値0に対して加算値0を割り当て、画素値1〜255に対して加算値1を割り当てる、という形態になる。従来の方法では、あらゆる濃度の点を対等に評価してハフテーブルに対する集計を行っていたため、ノイズの影響を受けやすいという問題があった。これに対して、本実施の形態においては、画素値1〜255の範囲内でも、濃度の違いによって加算値に重みづけをしている。これによって、ノイズの影響を抑制し、精度の高い線分あるいは円弧検出が可能となった。
【0099】
なお、本実施の形態においては、集計値C1、C2およびC3を量子化した値を、第1〜第3の2次元配列あるいは3次元配列に格納した。別の方法として、ハフテーブル15に単一の配列を持たせ、各量子化値を単一の配列に格納するようにしてもよい。この場合であれば、検出部16は、集計値を3で除算する処理のみを実行すればよい。あるいは、ハフテーブル15に単一の配列を持たせ、各量子化値を3で除算した値を格納するようにしてもよい。この場合であれば、検出部16は、閾値との比較処理のみを実行すればよい。
【0100】
{第4の実施の形態}
次に本発明の第4の実施の形態について説明する。第4の実施の形態は第3の実施の形態の応用例である。第3の実施の形態は、第1の実施の形態の総合集計値を量子化した。第4の実施の形態においては、第2の実施の形態の総合集計値を量子化する。
【0101】
第4の実施の形態における検出部16は、数9式に示す演算を行い、総合集計値Vを算出する。数9式中のC1(θ、ρ)、C2(θ、ρ)およびC3(θ、ρ)、並びにk1、k2およびk3は、第2の実施の形態と同様である。Qは、量子化関数を意味する。
【0102】
【数9】

【0103】
円弧の場合は、検出部16は、数10式に示す演算を行い、総合集計値Vを算出する。数10式中のC1(a、b、r)、C2(a、b、r)およびC3(a、b、r)、並びにk1、k2およびk3は、第2の実施の形態と同様である。
【0104】
【数10】

【0105】
総合集計値Vは、各集計値C1、C2およびC3を量子化した後、各量子化値を重みづけ加算することにより求められる。検出部16は、総合集計値Vと直線検出用の閾値とを比較することにより、線分の検出を行う。あるいは、総合集計値Vと円弧検出用の閾値とを比較することにより、円弧の検出を行う。検出部16は、線分あるいは円弧の検出情報を出力する。
【0106】
なお、本実施の形態においては、集計値C1、C2およびC3を量子化した値を、第1〜第3の2次元配列あるいは3次元配列に格納した。別の方法として、各量子化値に重みづけ値を乗算した値を各配列に格納してもよい。この場合であれば、検出部16は、各集計値を加算する処理のみを行えばよい。あるいは、ハフテーブル15に単一の配列を持たせ、各量子化値に重みづけ値を単一の配列に格納するようにしてもよい。この場合であれば、検出部16は、閾値との比較処理のみを実行すればよい。
【0107】
{第5の実施の形態}
次に、本発明の第5の実施の形態について説明する。第5の実施の形態は、第3の実施の形態の応用例である。第3の実施の形態においては、数7式あるいは数8式で示したように、集計値C1、C2およびC3を同じ量子化関数を用いて量子化を行った。第5の実施の形態においては、検出部16は、集計値C1、C2およびC3に対してそれぞれ異なる量子化関数を用いて量子化を行う。数11式は、第5の実施の形態における線分を検出するための総合集計値Vの算出方法を示す式である。
【0108】
【数11】

【0109】
数11式中、Q1、Q2およびQ3は、いずれも量子化関数を示す。数11式に示すように、C1(θ、ρ)は量子化関数Q1により量子化される。また、C2(θ、ρ)は量子化関数Q2により量子化され、C3(θ、ρ)は量子化関数Q3により量子化される。総合集計値Vは、それぞれ別の量子化関数で量子化された3つの集計値が加算されることによって求められる。
【0110】
数12式は、円弧を検出するための総合集計値Vの算出方法を示す式である。数12式に示すように、C1(a、b、r)は量子化関数Q1により量子化される。また、C2(a、b、r)は量子化関数Q2により量子化され、C3(a、b、r)は量子化関数Q3により量子化される。総合集計値Vは、それぞれ別の量子化関数で量子化された3つの集計値が加算されることによって求められる。
【0111】
【数12】

【0112】
図7は、量子化関数Q1〜Q3の例を示す図である。この例では、輝度データに対する量子化関数Q1は、色差データに対する量子化関数Q2およびQ3と異なる特性としている。図7の例では、輝度画像に関する輪郭データについては、画素値128以下に対して加算値0を対応付けている。これに対して、色差画像に対する輪郭データについては、画素値128以下についても、画素値が65以上のレンジについては加算値1を対応付けている。つまり、色の変化については高く評価して線分あるいは円弧を検出することを意図している。
【0113】
このように、第5の実施の形態においては、一の色空間の画像を構成する成分ごとに異なる量子化関数を用いる。色ごとに異なる特性で集計値を評価し、総合的な評価を行うことができる。さらに、第5の実施の形態に、第4の実施の形態の考え方を取り入れてもよい。つまり、集計値C1、C2およびC3に対してそれぞれ異なる量子化関数を用いて量子化を行うとともに、各量子化値に重みづけを行うようにしてもよい。
【0114】
{変形例}
第1〜第5の実施の形態においては、輪郭画像データ103の中心を原点として、輪郭画像データ103内の直線をθおよびρを用いて表現した。あるいは、輪郭画像データ103の中心を原点として、円弧の中心座標(a、b)を定義した。しかし、原点は画像の任意の場所に設定することができる。あるいは、原点を輪郭画像データ103のフレームの外に設定してもよい。
【0115】
第1〜第5の実施の形態においては、輪郭抽出処理を行った。輪郭抽出処理は、画像の特徴量を抽出する処理の一例である。他の方法によって画像の特徴量を抽出した後にハフ変換を行ってもよい。この場合にも、ハフテーブルに対する集計は、画像の特徴量を加味した上で加算値を決定すればよい。
【符号の説明】
【0116】
11 成分画像生成部
12 輪郭抽出処理部
14 ハフ変換部
15 ハフテーブル
16 検出部
101 カラー画像データ
102A、102B、102C 第1、第2、第3成分データ
103A、103B、103C 第1、第2、第3輪郭データ

【特許請求の範囲】
【請求項1】
一の色空間の対象画像内の線分を検出する線分検出装置であって、
前記対象画像から前記一の色空間における複数の成分画像を生成する生成部と、
各成分画像内のそれぞれの点の特徴量を求める特徴量算出部と、
各成分画像の基準点から各成分画像内の任意の直線に下した垂線の長さρおよび前記垂線が前記基準点を通る基準軸となす角θを用いて、各成分画像内の任意の直線を表現することにより、各成分画像内の任意の点を通る直線をハフ空間内の座標(θ、ρ)に変換するハフ変換部と、
各成分画像内のそれぞれの点が前記ハフ変換部によってハフ空間内の座標(θ、ρ)に変換されたとき、変換された座標(θ、ρ)に対応する記憶領域に、各成分画像内のそれぞれの点の特徴量の大きさによって重みづけされた値を加算する集計部と、
全ての成分画像に対応する集計値を総合評価し、総合集計値を求める総合集計部と、
総合集計値が第1の閾値を超える座標(θ、ρ)を特定することにより、前記対象画像における線分を検出する検出部と、
を備える線分検出装置。
【請求項2】
請求項1に記載の線分検出装置であって、
前記特徴量算出部は、輪郭抽出処理を実行することにより、各成分画像内のそれぞれの点の特徴量として輪郭強度を求める、線分検出装置。
【請求項3】
請求項2に記載の線分検出装置であって、
前記集計部は、前記輪郭抽出処理後の各成分画像内のそれぞれの点の輪郭強度を加算値として集計する、線分検出装置。
【請求項4】
請求項2に記載の線分検出装置であって、
前記集計部は、前記輪郭抽出処理後の各成分画像内のそれぞれの点の輪郭強度を量子化した上で集計する、線分検出装置。
【請求項5】
請求項4に記載の線分検出装置であって、
前記集計部は、各成分画像に対してそれぞれ異なる量子化関数を用いて輪郭強度を量子化する、線分検出装置。
【請求項6】
請求項1ないし請求項5のいずれかに記載の線分検出装置であって、
前記総合集計部は、各成分画像の集計値を重みづけ加算することにより総合集計値を求める、線分検出装置。
【請求項7】
請求項1に記載の線分検出装置であって、
前記基準点は、各成分画像内の任意の座標に設定される線分検出装置。
【請求項8】
一の色空間の対象画像内の円弧を検出する円弧検出装置であって、
前記対象画像から前記一の色空間における複数の成分画像を生成する生成部と、
各成分画像内のそれぞれの点の特徴量を求める特徴量算出部と、
各成分画像の基準点に対して直交座標を定義し、各成分画像内の任意の円弧を直交座標系における中心座標(a、b)および半径rを用いて表現することにより、各成分画像内の任意の点を通る円弧をハフ空間内の座標(a、b、r)に変換するハフ変換部と、
各成分画像内のそれぞれの点が前記ハフ変換部によってハフ空間内の座標(a、b、r)に変換されたとき、変換された座標(a、b、r)に対応する記憶領域に、各成分画像内のそれぞれの点の特徴量の大きさによって重みづけされた値を加算する集計部と、
全ての成分画像に対応する集計値を総合評価し、総合集計値を求める総合集計部と、
総合集計値が第1の閾値を超える座標(a、b、r)を特定することにより、前記対象画像における円弧を検出する検出部と、
を備える円弧検出装置。
【請求項9】
請求項8に記載の円弧検出装置であって、
前記特徴量算出部は、輪郭抽出処理を実行することにより、各成分画像内のそれぞれの点の特徴量として輪郭強度を求める、円弧検出装置。
【請求項10】
請求項9に記載の円弧検出装置であって、
前記集計部は、前記輪郭抽出処理後の各成分画像内のそれぞれの点の輪郭強度を加算値として集計する、円弧検出装置。
【請求項11】
請求項9に記載の円弧検出装置であって、
前記集計部は、前記輪郭抽出処理後の各成分画像内のそれぞれの点の輪郭強度を量子化した上で集計する、円弧検出装置。
【請求項12】
請求項11に記載の円弧検出装置であって、
前記集計部は、各成分画像に対してそれぞれ異なる量子化関数を用いて輪郭強度を量子化する、円弧検出装置。
【請求項13】
請求項8ないし請求項12のいずれかに記載の円弧検出装置であって、
前記総合集計部は、各成分画像の集計値を重みづけ加算することにより総合集計値を求める、円弧検出装置。
【請求項14】
請求項8に記載の円弧検出装置であって、
前記基準点は、各成分画像内の任意の座標に設定される円弧検出装置。
【請求項15】
一の色空間の対象画像内の線分を検出する線分検出方法であって、
前記対象画像から前記一の色空間における複数の成分画像を生成する生成工程と、
各成分画像内のそれぞれの点の特徴量を求める特徴量算出工程と、
各成分画像の基準点から各成分画像内の任意の直線に下した垂線の長さρおよび前記垂線が前記基準点を通る基準軸となす角θを用いて、各成分画像内の任意の直線を表現することにより、各成分像内の任意の点を通る直線をハフ空間内の座標(θ、ρ)に変換するハフ変換工程と、
各成分画像内のそれぞれの点が前記ハフ変換部によってハフ空間内の座標(θ、ρ)に変換されたとき、変換された座標(θ、ρ)に対応する記憶領域に、各成分画像内のそれぞれの点の特徴量の大きさによって重みづけされた値を加算する集計工程と、
全ての成分画像に対応する集計値を総合評価し、総合集計値を求める総合集計工程と、
総合集計値が第1の閾値を超える座標(θ、ρ)を特定することにより、前記対象画像における線分を検出する検出工程と、
を備える線分検出方法。
【請求項16】
一の色空間の対象画像内の円弧を検出する円弧検出方法であって、
前記対象画像から前記一の色空間における複数の成分画像を生成する生成工程と、
各成分画像内のそれぞれの点の特徴量を求める特徴量算出工程と、
各成分画像の基準点に対して直交座標を定義し、各成分画像内の任意の円弧を直交座標系における中心座標(a、b)および半径rを用いて表現することにより、各成分画像内の任意の点を通る円弧をハフ空間内の座標(a、b、r)に変換するハフ変換工程と、
各成分画像内のそれぞれの点が前記ハフ変換部によってハフ空間内の座標(a、b、r)に変換されたとき、変換された座標(a、b、r)に対応する記憶領域に、各成分画像内のそれぞれの点の特徴量の大きさによって重みづけされた値を加算する集計工程と、
全ての成分画像に対応する集計値を総合評価し、総合集計値を求める総合集計工程と、
総合集計値が第1の閾値を超える座標(a、b、r)を特定することにより、前記対象画像における円弧を検出する検出工程と、
を備える円弧検出方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate