1
第五章直線與道路偵測
2
內容 5.1 前言 5.2 蠻力法 5.3 霍式轉換法 5.4 隨機式方法 5.5 道路偵測 5.6 結論
3
數位直線 直線由虛線兩側的數位邊點所構成。
圖 5.2.1 中, v1 、 v2 、 v3 和 v4 皆為邊點。 灰色帶狀區的頻寬以及離散邊點集會影響直線偵測的結果。 圖 5.2.1 中的數位直線的邊點集往往並非如圖所 示的這般密集。 利用測邊法得到邊點 集,利用其來決定出直線。
x
y
1v 2v
3v4v
圖 5.2.1 數位直線
4
5.2 蠻力法
圖 5.2.3 m=4 時的所有可能線
邊點集為 V 且 。每 2 個邊點可構成一直線,共有Vm
)(2
)1(
22m
mmm
條可能的直線。
令這些直線為 、 、…和 ,此處 。1L 2L kL2
)1(
mmk
例如 ,有 6 種可能被偵測到的直線。4Vm
5
),( '' yx
iii bxayL :
d
圖 5.2.4 距離 d 的決定
若 d 小於設定的門檻值 ,例如 ,則邊點 對 投了一票 。此處 代表允許頻寬為 1 。
每一邊點 計算其與 的距離 :
),( yx
iii bxayL :
21 i
ii
a
bxayd
1T11 T
),( yx
11 T iL
(5.2.1)
若總得分數超過門檻值 ,則我們稱 為一真正的直線 (True Line) 。 iL
2T
6
定理 5.2.1 令邊點集 的邊點數為 ,蠻力法可在 的時 間完成直線偵測的工作。
V Vm )( 3m
已知 ,計算 的貢獻分數,共需花費的時間 。考慮 條直線,總時間複雜度為 。
Vm V )(m
)( 2m 2 3O( ) ( )m m m
證明:
7
範例 1 :今有二維空間上通過直線 的兩點 和 ,試問這兩點在 (m,b) 參數空間的分 佈情形為何?這裏 m 代表斜率,而 b 代表截距。
bxmyL :),( 11 yx ),( 22 yx
解答: ),( 11 yx 和 ),( 22 yx 這兩點滿足等式
2,1, ibxmy ii
如此一來,這兩點必定相交於 ),( bm 參數空間上的一點。
解答完畢
範例 2 :利用 (m,b) 參數空間,可否在 O(m2) 的時間內完成直線偵測的工作 ?
8
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0m
b
0m 2m nm0b
1b
3m4m
3b4b
nb
9
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0m
b
0m 2m nm0b
1b
3m4m
3b4b
nb
y mx b
0
0
0
0
0
0
0
0
1
m
b
投票
10
' 'y m x b
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0m
b
0m 2m nm0b
1b
3m4m
3b4b
nb 0
0
0
0
0
0
0
0
1
'm
'b
投票
11
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0m
b
0m 2m nm0b
1b
3m4m
3b4b
nb
y mx b
0
0
0
0
0
0
0
0
2
m
b
投票
12
1 0 0 0 1
1 0 0 0 0
0 0 0 0 0
5 3 0 0 1
0 0 0 2 0
0 0 0 0 1
0 1 0 0 0
0 0 0 1 0m
b
0m 2m nm0b
1b
3m4m
3b4b
nb
y mx b
0
1
0
5
3
0
0
0
15
m
b
13
5.3 霍式轉換法 霍式轉換法的精神為將 - 空間轉換成 - 參數空間
(Parameter Space) ,即所謂的法距-法角空間 (Normal Distance - Normal Angle Space) 。
r dd
A
C
Ex
y
O
(x1, y1)
(x2, y2)
D
B
圖 5.3.1 - 空間和 - 空間的關係
x
AByd sin2
coscos 2xOEOB
sincos 22 yxBAOBr
2yCE 2xOE ,CDE由直角三角形
OBE由直角三角形
(5.3.1)
y
x y
14
y
x
3
2
1
0
0 1 2 3
(2,1) 、 (1,2) 和 (0,3) 為共線
圖 5.3.2 的影像小例子 44
22
3r
232
23
2
23 r
45令
22
3
2
21
2
22 r座標 (2,1) ,代入式子 (5.3.1) 後,得到
座標 (1,2) ,透過式子可得到
座標 (0,3) ,透過式子可得到 22
3r
座標 (3,3) ,透過式子可得到
假設門檻值定為 。所以可得知在
圖 5.3.2 中有一條角度為
的直線通過該影像。
22 T
)42
(4
3
15
0 1 1n n
r
12 Nr
22 Nr
1r
0r
圖 5.3.3 累積陣列
將角度範圍 切割成 n 份。 使用二維陣列來完成 參數空間的資料維護。
這二維陣列稱作累積陣列 (Accumulation Array) 。 霍式轉換法在累積陣列上的投票動作:
,0
{將二維累積陣列歸零}對邊點集 V 的每一邊點for to n end
0[] AA
),( yx
0i
ii yxr sincos
1,, ii rAArAA
若在某一個投票箱 ( 小房子 )中,其記錄的邊點數超過門檻值 ,則投票到該投票箱的那些邊點可說形成了一條可接受的直線。
2T
16
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
r
0o 1o 2o 3o 179o
1
2
3
0
2 1N
2 2N
2 3N
2 4N
17
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
r
0o 1o 2o 3o 179o
1
2
3
0
2 1N
2 2N
2 3N
2 4N
(x,y)
邊點座標
cos sini ir x y
0
0
0
0
0
0
0
0
ko
' cos sin180 180
k kr x y
1'r
投票
18
1 0 0 0 0
0 2 0 0 0
0 0 0 0 0
0 0 1 1 3
0 0 0 2 0
0 2 0 2 0
0 0 0 2 0
1 0 0 2 0
r
0o 1o 2o 3o 179o
1
2
3
0
2 1N
2 2N
2 3N
2 4N
1
1
0
3
5
0
0
0
ko
18'r
ko
'r
( , ')k r
19
定理 5.3.1 霍式轉換法可在 的時間內完成直線偵測的工作, 此處 且 n 為 的角度分割數。Vm ,0
)(mn
圖 5.3.4 測得之直線圖 5.2.2 圖 5.1.1 的邊點集圖 5.1.1 道路影像
證明:
針對任一個 , ,花 的時間完成在 的投票工作。考慮所有的 ,共需 的時間來完成投票的工作。
)(mni ni 0 )(m
AAi
20
範例 1:給予下列八個點 (2,4), (2,8), (4,3), (4,6), (5,5), (7,3), (10,0), (10,5),請利用霍式轉換法並配合圖 5.3.3所給的二維累積陣列(假設門檻為 4)(1)求出滿足條件直線的法距 (γ)及法角 (θ)(2) 並把連成直線的點列出來
解答:令角度以 45° 為跳躍基準,利用副程式
for i = 0 to n
ii yxr sincos
, , 1i iAA r AA r
end
21
可得到在 θ= 45 ° 且 γ= 處的投票箱內,得票數等於 5 。因為得票數大於 4,所以法距 (γ) 為 ,而法角 (θ) 為 45 ° 。
將投票箱內每個邊點取出來,可得知 (2,8), (4,6), (5,5), (7,3), (10,0) 五個點是連成一直線的。
解答完畢
25
25
x
y
1v
2v3v
31vv
21vv
32vv
22
5.4 隨機式方法
圖 5.4.1 三個邊點決定出三條可能線
jivvkv 到可能線 的距離:
22 )()(
)()(
ijij
ijjikjikij
ijkyyxx
yxyxxyyyxxd
(5.4.1)
,由式子 (5.4.1) 得到三個距離值231d 、 132d 和 123d 。假設這最小的
ijkd ,則 iv 和 jv 這二個邊點便被稱作代理點。代理點形成的直線可被稱作候選線。
距離值為
ijkd 必需小於設定的門檻值。
在邊點集 中,隨機抽出三個邊點:V ),( iii yxv 、 ),( jjj yxv 和),( kkk yxv 。可決定出三條可能線: 21vv 、 和 。 31vv 32vv
23
x
y
iv jv
kv
ikvvkjvv
jivv
圖 5.4.2 三個邊點太靠近的異常例子
重覆上面的程序。設定檢查失敗的容忍最大次數。檢查次數一經超過容忍次數,若仍沒有偵測出直線,則強迫重新進行抽樣的動作。
將邊點集 V 中的每一邊點代入式子 (5.4.1)中,若距離 小於門檻值,代表邊點 對候選線投了一票,我們這時就在計數器C 上加 1 。當邊點集 V 中的每一邊點都完成了投票後。假設 C 值 大於門檻值 ,則候選線 是真正線。
有時候 kv 、 iv 和 jv 三個邊點靠得太近了,此一異常現象也必需予以排除。
ijkd kv
pn 2T jivv
24
圖解概念 :
iv
jv
kv
iv
jv
kv
( , )i i iv x y( , )j j jv x y
( , )k k kv x y
在邊點集中,隨機抽出三個邊點:( , )i i iv x y ( , )j j jv x y ( , )k k kv x y
決定出一條可能線: 1 2v v�������������� �
到可能線 的距離: kv1 2v v
�������������� �
1 2v v�������������� �
2 2
( ) ( )
( ) ( )
j i k i j k i j j i
k ij
j i j i
x x y y y x x y x yd
x x y y
k ijd
25
iv
jvkv
iv
jv
kv
三個邊點不共線: 三個邊點共線:
26
iv
jv
kv
l ijd
lv
ivjv
kv
l ijd
lv
iv
jv
kv
l ijd
lv
利用計算點到線距離的方式,檢測共線的邊點:
27
iv
jv
kv
檢測共線的邊點數大於門檻值, 為一條真實的直線1 2v v�������������� �
28
移除所有與 共線的邊點1 2v v�������������� �
iv
jv
kv
利用隨機抽樣程序檢測下一條直線
29
圖 5.4.5 測出之直線圖 5.4.4 圖 5.4.3 的邊點集圖 5.4.3 地板影像
隨機式測線法的實驗結果
30
比較 RHT 和 RLD 的時間複雜度令 代表邊點數, 代表落在直線上邊點數。令 。
A 為所抽樣的二個邊點皆在線上的事件,其機率 ,B為所抽樣的三個邊點皆在線上的事件,其機率 。
因為 和 皆很大,所以 而 。
,...1,0,)()1)(1()( 222 xppxxf xRHT
,...1,0),()1()( 33 xppxf xRLD
RHT :經過多少次失敗才會使得事件A 發生二次為一隨機變數 X :負的二項式分配 (Negative Binomial Distribution)
RLD :事件B發生過一次,則該候選線即算確定: 幾何分佈 (Geometric Distribution)
n
mp
)1(
)1(][
nn
mmAP
)2)(1(
)2)(1(][
nnn
mmmBP
n m
n m
2][ pAP 3][ pBP
31
機
率
實 線 虛 線fRLD (x) fRHT (x)
失 敗 次 數
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
5 10 15 20 25 30
p=0.5時的 fRLD (x)與fRHT (x)
0
機
率
實 線 虛 線fRLD (x) fRHT (x)
失 敗 次 數
0
0.005
0.01
0.015
0.02
0.025
50 100 150
p=0.25時的 fRLD (x)與fRHT (x)
0
RHT 和 RLD 的機率分布
圖 5.4.6 p=0.5 時的 fRHT(x) 和 fRLD(x) 圖 5.4.7 p=0.25 時的 fRHT(x) 和 fRLD(x)
32
RHT 和 RLD 的累計分布函數
機
率
實 線 虛 線FRLD (x) FRHT (x)
失 敗 次 數
0.9
1
10 20 30
p=0.5 時的 FRLD (x)與FRHT (x)
0
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
05 15 25
機
率
實 線 虛 線FRLD (x) FRHT (x)
失 敗 次 數
0.9
1
50 100 150
p=0.25 時的 FRLD (x)與FRHT (x)
0
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
和
xi
RLDRLD ifxF )()(
xi
RHTRHT ifxF )()(
圖 5.4.8 p=0.5 時的 FRHT(x) 和 FRLD(x) 圖 5.4.9 p=0.25 時的 FRHT(x) 和 FRLD(x)
5.5 道路偵測 首先來看一張道路彎曲度較大的邊圖,如圖 5.51(a),很明顯地
,圖中的道路邊緣用肉眼看的確蠻像拋物線。利用測邊算子,我們可得到圖 5.5.1(a) 的邊圖如圖 5.5.1(b) 。
33
(a) 輸入的道路影像 (b) 得到的道路邊圖圖 5.5.1
根據 Kluge[11] 的數學推導,在 (c,r) 影像平面上,道路的邊緣形狀可以下列的拋物線數學式表示 :
(5.5.1) 上式中 k 、 β 和 v 為待解參數。利用求出的數學表示式,我們就可以標出道路的邊緣了。
植基於陣列上的隨機式演算法來求解式 (5.5.1)。 在邊圖上抽取出四個邊點,將其中的三個邊點代入式 (5.5.1)
,解出來的三個參數 k 、 β 和 v 可用來決定描述道路邊緣的拋物線。
34
kc r v
r
令選用的三個邊點座標為 、 、 代入式 (5.5.1) 後,可以得到下列的 3×3線性系統 :
(5.5.2)
利用高斯消去法,式 (5.5.2) 中的三個參數 k 、 β 和 v 就可輕易解出了。圖 5.5.1(b)的道路邊緣圖示於圖 5.5.2。
35
),( 00 rc ),( 11 rc ),( 22 rc
00
0
1 11
2
22
11
11
11
k
v
rr ccrr c
rr
36
圖 5.5.2 偵測到的道路邊緣
5.6 結論 本章中介紹了四種直線偵測的方法。蠻力法在計算速度上太慢
了。霍式轉換法是非隨機方法,缺點是使用了很花記憶體的累積陣列以及需檢查全部的邊點。隨機式方法避開上述兩種方法的缺點,且在道路偵測上也有一定的效果。
直線偵測在文件處理時對於文件內的欄位邊界之定位有很大的幫助。
斜截式的霍式轉換法 [2]也可經由線性轉換而得到更省記憶體和更快的直線偵測法。
37
Top Related