第五章 直線與道路偵測

37
1 第第第 第第第第第第第

description

第五章 直線與道路偵測. 內容. 5.1 前言 5.2 蠻力法 5.3 霍式轉換法 5.4 隨機式方法 5.5 道路偵測 5.6 結論. 數位直線. 直線由虛線兩側的數位邊點所構成。 圖 5.2 .1 中, v 1 、 v 2 、 v 3 和 v 4 皆為邊點。 灰色帶狀區的頻寬以及離散邊點集會影響直線偵測的結果 。 圖 5.2 .1 中的數位直線的邊點集往往並非如圖所 示的這般密集。 利用測邊法得到邊點 集,利用其來決定出直線。. 圖5.2 .1 數位直線. 例如    ,有 6 種可能被偵測到的直線。. 5.2 蠻力法. - PowerPoint PPT Presentation

Transcript of 第五章 直線與道路偵測

Page 1: 第五章 直線與道路偵測

1

第五章直線與道路偵測

Page 2: 第五章 直線與道路偵測

2

內容 5.1 前言 5.2 蠻力法 5.3 霍式轉換法 5.4 隨機式方法 5.5 道路偵測 5.6 結論

Page 3: 第五章 直線與道路偵測

3

數位直線 直線由虛線兩側的數位邊點所構成。

圖 5.2.1 中, v1 、 v2 、 v3 和 v4 皆為邊點。 灰色帶狀區的頻寬以及離散邊點集會影響直線偵測的結果。 圖 5.2.1 中的數位直線的邊點集往往並非如圖所 示的這般密集。 利用測邊法得到邊點 集,利用其來決定出直線。

x

y

1v 2v

3v4v

圖 5.2.1 數位直線

Page 4: 第五章 直線與道路偵測

4

5.2 蠻力法

圖 5.2.3 m=4 時的所有可能線

邊點集為 V 且   。每 2 個邊點可構成一直線,共有Vm

)(2

)1(

22m

mmm

條可能的直線。

令這些直線為 、 、…和 ,此處     。1L 2L kL2

)1(

mmk

例如    ,有 6 種可能被偵測到的直線。4Vm

Page 5: 第五章 直線與道路偵測

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

Page 6: 第五章 直線與道路偵測

6

定理 5.2.1 令邊點集 的邊點數為 ,蠻力法可在 的時 間完成直線偵測的工作。

V Vm )( 3m

已知 ,計算 的貢獻分數,共需花費的時間 。考慮 條直線,總時間複雜度為 。

Vm V )(m

)( 2m 2 3O( ) ( )m m m

證明:

Page 7: 第五章 直線與道路偵測

7

範例 1 :今有二維空間上通過直線 的兩點 和 ,試問這兩點在 (m,b) 參數空間的分 佈情形為何?這裏 m 代表斜率,而 b 代表截距。

bxmyL :),( 11 yx ),( 22 yx

解答: ),( 11 yx 和 ),( 22 yx 這兩點滿足等式

2,1, ibxmy ii

如此一來,這兩點必定相交於 ),( bm 參數空間上的一點。

解答完畢

Page 8: 第五章 直線與道路偵測

範例 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

Page 9: 第五章 直線與道路偵測

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

投票

Page 10: 第五章 直線與道路偵測

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

投票

Page 11: 第五章 直線與道路偵測

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

投票

Page 12: 第五章 直線與道路偵測

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

Page 13: 第五章 直線與道路偵測

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

Page 14: 第五章 直線與道路偵測

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

Page 15: 第五章 直線與道路偵測

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

Page 16: 第五章 直線與道路偵測

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

Page 17: 第五章 直線與道路偵測

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

投票

Page 18: 第五章 直線與道路偵測

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

Page 19: 第五章 直線與道路偵測

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

Page 20: 第五章 直線與道路偵測

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

Page 21: 第五章 直線與道路偵測

21

可得到在 θ= 45 ° 且 γ= 處的投票箱內,得票數等於 5 。因為得票數大於 4,所以法距 (γ) 為 ,而法角 (θ) 為 45 ° 。

將投票箱內每個邊點取出來,可得知 (2,8), (4,6), (5,5), (7,3), (10,0) 五個點是連成一直線的。

解答完畢

25

25

Page 22: 第五章 直線與道路偵測

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

Page 23: 第五章 直線與道路偵測

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

Page 24: 第五章 直線與道路偵測

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

Page 25: 第五章 直線與道路偵測

25

iv

jvkv

iv

jv

kv

三個邊點不共線: 三個邊點共線:

Page 26: 第五章 直線與道路偵測

26

iv

jv

kv

l ijd

lv

ivjv

kv

l ijd

lv

iv

jv

kv

l ijd

lv

利用計算點到線距離的方式,檢測共線的邊點:

Page 27: 第五章 直線與道路偵測

27

iv

jv

kv

檢測共線的邊點數大於門檻值, 為一條真實的直線1 2v v�������������� �

Page 28: 第五章 直線與道路偵測

28

移除所有與 共線的邊點1 2v v�������������� �

iv

jv

kv

利用隨機抽樣程序檢測下一條直線

Page 29: 第五章 直線與道路偵測

29

圖 5.4.5 測出之直線圖 5.4.4 圖 5.4.3 的邊點集圖 5.4.3 地板影像

隨機式測線法的實驗結果

Page 30: 第五章 直線與道路偵測

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

Page 31: 第五章 直線與道路偵測

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)

Page 32: 第五章 直線與道路偵測

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)

Page 33: 第五章 直線與道路偵測

5.5 道路偵測 首先來看一張道路彎曲度較大的邊圖,如圖 5.51(a),很明顯地

,圖中的道路邊緣用肉眼看的確蠻像拋物線。利用測邊算子,我們可得到圖 5.5.1(a) 的邊圖如圖 5.5.1(b) 。

33

(a) 輸入的道路影像 (b) 得到的道路邊圖圖 5.5.1

Page 34: 第五章 直線與道路偵測

根據 Kluge[11] 的數學推導,在 (c,r) 影像平面上,道路的邊緣形狀可以下列的拋物線數學式表示 :

(5.5.1) 上式中 k 、 β 和 v 為待解參數。利用求出的數學表示式,我們就可以標出道路的邊緣了。

植基於陣列上的隨機式演算法來求解式 (5.5.1)。 在邊圖上抽取出四個邊點,將其中的三個邊點代入式 (5.5.1)

,解出來的三個參數 k 、 β 和 v 可用來決定描述道路邊緣的拋物線。

34

kc r v

r

Page 35: 第五章 直線與道路偵測

令選用的三個邊點座標為 、 、 代入式 (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

Page 36: 第五章 直線與道路偵測

36

圖 5.5.2 偵測到的道路邊緣

Page 37: 第五章 直線與道路偵測

5.6 結論 本章中介紹了四種直線偵測的方法。蠻力法在計算速度上太慢

了。霍式轉換法是非隨機方法,缺點是使用了很花記憶體的累積陣列以及需檢查全部的邊點。隨機式方法避開上述兩種方法的缺點,且在道路偵測上也有一定的效果。

直線偵測在文件處理時對於文件內的欄位邊界之定位有很大的幫助。

斜截式的霍式轉換法 [2]也可經由線性轉換而得到更省記憶體和更快的直線偵測法。

37