Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
13/12/18
1
Hough変換
メディア情報学実験2 画像情報処理
課題6
画像内の対象物の理解・認識
図形の矩形や形状情報の検出が必要 – 直線情報 – 円形情報 Hough変換による特徴抽出
画像中から,直線や円などの特定の図形要素を • パラメータ空間への射影 • 投票 • 多数決
によって,図形情報を抽出する手法
13/12/18
2
Hough変換の基本原理(1) • 直線l上(y=ax+b)の任意点(xi, yi)を,ab空間上へ射影を行うと,
(xi, yi)はパラメータ空間の傾きと切片に対応する
• 上記の直交座標(xi, yi)は, パラメータ空間上座標(a, b)を通る直線として, 下式で表現でき,直交座標(xi, yi)の点数だけ直線ができる.
y
x
baxy +=
),( 11 yx
),( ii yx
),( 22 yx
),( jj yx
a
b
yxab +−=
),( 11 yx
ii yaxb +−=
),( 22 yx
),( jj yx
),( ii yx
),( ba
baxy +=(a) 上の直線 yaxb +−=(b) (a)のパラメータ空間
(x, y)平面上で最も多くの点が通過する直線 = (a, b)パラメータ平面上で最も多くの直線が通過する点
Hough変換の基本原理(2) • 任意の直交座標 (x, y)を通る垂線lについて,
原点からの距離をρ, 角度θとすると下式が成立.
• 上式を基に,直交座標(x, y)を(θ, ρ)空間上へ射影することをパラメータ変換という
• 別の点が同じ線上であるなら,(θ, ρ)と同じ組合せになる(先のスライド参照)
• (θ, ρ)の組合せが多数なら,「そのパラメータに直線が存在する可能性が高い」
パラメータ変換とHough変換
θθρ sincos yx +=
13/12/18
3
Hough変換の原理(3)
y
x
baxy +=
),( ii yx
θ
ρ
y
baxy +=
),( ii yx
θ
ix
θcosix θ iyx
iy
ix
θsiniy
θθρ sincos ii yx +=(x, y)を(ρ, θ)について,求めると...
極座標で表現できる
Hough変換の原理(4)
y
x
baxy +=
),( 11 yx
1θ
1ρ
ρ
θ1θ
ρ = xcosθ + ysinθ
点(x1, y1)を の範囲で,任意の値でサンプリングし,各 を下式で求める 0 ≤θi < π
射影
ρi
θ2 θ3 θ4 θi
ρi = x1 cosθi + y1 sinθi
13/12/18
4
Hough変換の原理(4)
y
x
baxy +=
),( 11 yx
1θ
1ρ
ρ
),( 11 ρθ
θ
ρi = x1 cosθi + y1 sinθi任意の点(x1, y1)を について,求めると... ),( ii ρθ
),( 22 ρθ
),( 33 ρθ
),( 44 ρθ
),( ii ρθ
サインカーブが表現できる
投票(Vo4ng)
ρ = xcosθ + ysinθ
投票(Vo4ng)
Hough変換の原理(4)
y
x
baxy +=
(x2, y2 )
1θ
1ρ
ρ
θ
ρi = x2 cosθi + y2 sinθiさらに,任意の点(x2, y2)を について,求めると... ),( ii ρθ
サインカーブが重なる
投票(Vo4ng)が増える
),( ii ρθ
),( 11 yxρ = xcosθ + ysinθ
投票(Vo4ng)が 増える
13/12/18
5
Hough変換の基本手順
• 直交座標上の画像に対して, • 極座標に変換し,パラメータ射影を行う • パラメータ座標を通過する場合,投票を行う • 投票数が多い場合,そのパラメータを直線とする
• 2次元空間なら直線検出 • 3次元空間なら円検出
Hough変換の手順
1. 前処理:2値化画像を取得する 2. パラメータの設定
1. θの範囲設定-‐>[0:180) ( θを1度ずつでサンプリング θ[180]を確保 ) 2. ρの範囲設定-‐>(画像サイズに合わせて,sqrt(iWidth^2+iHeight^2)) 3. 投票用のメモリVo4ngの確保(Vo4ng[θ][ρ])
3. 1.で得られる各特徴点(Pixel != background)について, 1. θ,ρの関係を算出するため,下式を用いる.
2. 3.1での各θ,ρに対し,投票を行う,
Vo4ng[θ][ρ] ++;
4. 3.で得られるサインカーブの算出
θθρ sincos ii yx +=
13/12/18
6
Hough逆変換
1. 先の得られたVo4ngに対して,閾値以上のVo4ng点を求める
2. Vo4ngから得られる,θ,ρについて,x-‐y平面へ下式を用いて逆変換
y = −(cosθ / sinθ )x + (ρ / sinθ )
x = −(sinθ / cosθ )y+ (ρ / cosθ )または,
前者は,水平に近い直線抽出に最適 後者は,垂直に近い直線抽出に最適
両者を合わせると,全ての場合に適用
(θ,ρ)空間において,任意のVo4ngが集まったら, 直線としてみなせる
Hough変換処理
Original Image Original Edge Image Sin-curve Image by hough trans
13/12/18
7
Hough変換処理
vo4ng
90
120
x = −(sinθ / cosθ )y+ (ρ / cosθ )y = −(cosθ / sinθ )x + (ρ / sinθ )x = −(sinθ / cosθ )y+ (ρ / cosθ )y = −(cosθ / sinθ )x + (ρ / sinθ )