Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
1
1
第三章測邊-Edge Detection
2
內容
3.1 前言3.2 拉普拉斯(Laplacian)與Sobel算子3.3 Marr+Hildreth算子3.4 鬆弛法3.5 基底投射法3.6 輪廓追蹤法3.7 動態規劃法
2
3
3.1 前言
在影像的前置處理(Preprocessing)中,如何做好測邊(Edge Detection)的工作是非常重要的。
4
通過零點(Zero crossing)
測邊: 灰階的突然變化(Abrupt Change)。兩個區域的邊緣處: 一次微分後形成的波峰(Peak)。若波峰超過門檻值(Threshold),在該處有邊點形成的邊線(Edge Line)。邊緣處不明顯處: 可用二次微分通過零點(Zero Crossing)觀念來判定。
白黑ab c
y
-ab c
y
-
圖3.2.1 兩個同質但不同色的區域
圖3.2.2 圖3.2.1的一次微分結果
圖3.2.3通過零點示意圖
Zero+crossing
3
5
通過零點的示意圖 。
白 黑
-
f(-)
-
f’(-)
-
f″(-)
(a) (c)(b)
兩個同質但不同色的區域(edge 不清楚–變化緩慢)
一次微分結果 通過零點
6
3.2 拉普拉斯算子:(Laplacian)先討論中間case: 對 f(-, y) 沿著 - 軸微分得差分:
再進而對 - 軸微分 (可和差分交換使用)得:
令 -=--1 以進行參數變換,可得:
同理,沿著 y 軸微分二次得:
合併二個軸的二次微分效應,可得拉普拉斯算子如下:
),(),1( yxfyxffx −+=∇
),(),1(2),2()],(),1([),1(),2(2
yxfyxfyxfyxfyxfyxfyxffx
++−+=−+−+−+=∇
),1(),(2),1(2 yxfyxfyxffx −+−+=∇
)1,(),(2)1,(2 −+−+=∇ yxfyxfyxffy
),(4),1()1,(),1()1,(
222
yxfyxfyxfyxfyxffff yx
−−+−++++=
∇+∇=∇(3.2.1)
010
1+41
010
另兩種cases 同理 。
4
7
測邊算子
Sobel測邊算子:其對應的-方向與y方向面罩,(另為45o、135o方向)。
從 和 的兩個分量,
我們可知合成的量(Magnitude)為
而角度
為了計算更快速,並加上weight
以 的運算取代的運算。
Prewitt算子: 另外一個類似Sobel測邊算子的方法。
1
1−
0
2−
0
1
1−
0
2 11−
02−
0 11−
0
2
圖3.2.8 Sobel測邊算子
(a) 測 y 方向的灰階變化 (b) 測 - 方向的灰階變化22 )()( ff yx ∇+∇
ff
x
y
∇
∇= −1tanθ
fx∇ fy∇
ff yx ∇+∇
1
1−
0
1−
0
1
1−
0
1
11− 0
1− 0
11− 0
1
圖3.2.9 Prewitt算子
(a) 測 y 方向的灰階變化 (b) 測 - 方向的灰階變化
8
例如:給一5×5子影像,用Prewitt算子來測邊,假設門檻值 T = 78。
2124576045
1818331518
31227219
915482112
1227423915
使用Prewitt算子決定下面 3-3 pie-ls ((1)~(9))是否為邊點。
5
9
(9)(8)(7)
(6)(5)(4)
(3)(2)(1)
ff yx ∇+∇
39-81 = 120 > T48-27 = 75 39-93 = 132 > T15-69 = 84 > T18-12 = 30 3-78 = 81 > T105-45 = 150 > T81-42 = 123 > T60-75 = 135 > T
27+36+18= 81-12-6-9= -27-30-39-24= -9336+18+15= 69-6-9+3=-12-39-24-15= -7818+15+12= 45-9+3-36= -42-24-15-36= -75
(1) -6-18-15= -39(2) -18-15-15= -48(3) -15-15-9= -39(4) +6-6-15= -15(5) -6-15+3= -18(6) -15+3+9= -3(7) 36+39+30=105(8) 39+30+12= 81(9) 30+12+18= 60
x方向的灰階化y方向的灰階化
圖3.2.10為使用Prewitt算子得到的相關資訊
圖3.2.10利用Prewitt算子得到的結果
10
(9)(8)(7)
(6)+(5)+(4)+
(3)(2)(1)
---
ff yx ∇+∇
39-81 = 120 > T48-27 = 75 39-93 = 132 > T15-69 = 84 > T18-12 = 30 3-78 = 81 > T105-45 = 150 > T81-42 = 123 > T60-75 = 135 > T
27+36+18= 81-12-6-9= -27-30-39-24= -9336+18+15= 69-6-9+3=-12-39-24-15= -7818+15+12= 45-9+3-36= -42-24-15-36= -75
(1) -6-18-15= -39(2) -18-15-15= -48(3) -15-15-9= -39(4) +6-6-15= -15(5) -6-15+3= -18(6) -15+3+9= -3(7) 36+39+30=105(8) 39+30+12= 81(9) 30+12+18= 60
x方向的灰階化y方向的灰階化
圖3.2.10為使用Prewitt算子得到的相關資訊
圖3.2.10利用Prewitt算子得到的結果
-6 = 9-15;
-18 = 21-39;
-15 = 27-42;
6
11
從圖3.2.10中可得知像素(1)、(3)、(4)、(6)、(7)、(8)和(9)皆為邊點,所以最後測邊結果為一個如下的倒ㄇ字型。
---
--
--
Sobel算子的應用相同。
12
7
13
3.3 Marr+Hildreth算子Marr+Hildreth測邊算子結合了高斯平滑算子和拉普拉斯算子的雙重技巧。
高斯平滑算子(Gaussian Smoothing Operator):
LOG (Laplacian of Gaussian):
表迴積運算,而 表拉普拉斯算子。
2
22
2),( σyx
eyxG+
−=
[ ]),(),,(2 yxfyxGLOG ∗∇= σ
∗ 2∇(3.3.2)
),()],,([ 2 yxfyxGLOG ∗∇= σ (3.3.3)
(3.3.1)
2
22
2)(
4
222
)2( σσ
σ yxeyxcLOG+−−+
=* ONE CASE: (3.3.4)
高斯平滑運算Zero+crossing
14
Plot of the negative of the LoG
A 5x5 LoG mask
8
15
對式(3.3.4)做解釋:使用的面罩大小仍為5-5,面罩內各像素的位置定義如下:
(2,+2)(1,+2)(0,+2)(+1,+2)(+2,+2)
(2,+1)(1,+1)(0,+1)(+1,+1)(+2,+1)
(2,0)(1,0)(0,0)(+1,0)(+2,0)
(2,1)(1,1)(0,1)(+1,1)(+2,1)
(2,2)(1,2)(0,2)(+1,2)(+2,2)
將面罩內25個位置座標代入下面式子中的(-, y)內
2
22
2)(
4
222 2 σσ
σ yxeyx+−−+
計算 5-5 mask之 25個值。
16
如此一來,可得到25個值,根據這25個值的大小,可將它們分為4類,就得到下面墨西哥帽子式樣的面罩。
Δ
**O**
*O-O*
O--O
*O-O*
**O**
* 號的值為趨近於零;- 、o 和 號的值都不大,呈現16:+2:+1的比例。△
9
17
Example of the LoG
σ=4N=25Threshold=4% of the maximum value of the image in LoG
18
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−−
−−−−−−−
−
0010001210121621
0121000100
圖3.3.1 測試影像 圖3.3.2 利用Marr+Hildreth算子測邊後的結果
(3.3.4)
面罩大小為5×5,正規化後則可得下列面罩:
Marr+Hildreth算子:
10
19
3.4.1 Canny algorithms: 偵測邊首先利用高斯平滑算子去除過多的細紋,然後在每個像素上計算其梯度方向和梯度量。假若在這梯度方向上,該像素的梯度量大於二個鄰居的量,則該像素為邊點,否則為非邊點。較弱的邊點可利用磁滯(Hysteresis)門檻化予以去除。
圖3.3.3 利用Canny測邊法所得到的邊圖(Edge Map)
20
3.4 鬆弛法
有些邊不理想,由稀稀疏疏的邊點構成,而這些邊點並非連接的,可用鬆弛法判定(細節省略)。
端點類型:
圖3.4.1二個小例子
(a) 強邊線例子 (b) 弱邊線例子
(a) 無邊型端點 (b) 一邊型端點 (c) 二邊型端點 (d) 三邊型端點
圖3.4.2端點的四個類型
以上如何判定為連邊 ??
11
21
(initial) 開始的信賴度:
信賴度的疊代式:
)()()(
所有eSMax
eSeCe
=°
),(),()( '' yxfyxfeS −= ,此處 代表鄰近 的像素灰階值。
),( '' yxf ),( yxf
(3.4.1)
(3.4.2)⎪⎩
⎪⎨
⎧
∈−
∈
∈+
=+
DedeCUeeC
IedeCeC
k
k
k
k
若))(,0max( 若)(
若))(,1min()(1
符號 I 代表需增加其強度d;符號U代表不改變其強度d;符號D則代表需減弱其強度d。直到對所有的e而言,時,就可停止這疊代的過程。也可自行設定疊代的次數限制。
)()(1 eCeC kk =+
I(加強)0+1,1+01+2 ,2+11+3 ,3+1
1+1
D(減弱)0+2,2+00+3,3+0
0+0
U(不動)2+2,2+33+3,3+2
圖3.4.3強度增減表
0代表無邊型端點,1代表一邊型端點,2代表二邊型端點,3代表三邊型端點。
越大越是邊
22
舉一個小例子以說明式(3.4.1)
首先將各像素以節點的型式表示,而鄰近兩兩像素的灰階差之絕對值以圖論符號的邊表示,我們由是得到下面的灰階差異圖:
將{S(e)}集合中的最大值挑出,可得到 ,根據信賴度的定義,上面的灰階差異圖轉換為下面的信賴圖:
( )e
MaxS e∀
49
79
29
29
79 2
929
59
29
19
19
12
23
假設邊的門檻值定為0.5,則對端點A和端點B而言,可得到
24
3.5 基底投射法
在圖3.5.1中任挑二個不同向量,皆可檢定出內積為零,從而知道這九個向量兩兩為正交的。
令圖3.5.1中的九個向量分
為 、 、 …和 ,
則 、
、…
和可另外
構成一組正交且單位化的基
底。
2
2−
1 1
1− 1−
000 2 2−
1
1
1−
1−0
0
0
2
1
1
1−
1−
0
0
0
2−
2
2−
1
1
1−
1−
0
0
0
1
1
1−1−
0
0
0 0
0 1
1 1−
1− 0
0
0
00
1
1
4
2−
2−
2−2−
1
1
1
1
4
2−
2− 2−
2−
1 1
1
1
1 1
1
11
1
1
(a) (b) (c)
(d) (e) (f)
(g) (h) (i)
圖3.5.1 基底
1v 2v 9v
1
11 v
vw =2
22 v
vw =
9
99 v
vw =
13
25
視窗所框住的 子影像,依列優先(Row Major Order)的順序得向量 。對上述九個正交且單位化的基底投影,
可得 、 、 … 和 。令
假設m對應的基底之向量為圖3.5.1(a),則代表有類似圖3.2.8(a)所測得的邊點。若對應的為圖3.5.1(i),則表z的紋理頗平滑的。
實作時,也需引入門檻值,依迴積的方式進行。
基底投射法的缺點是,有些基底向量的代表意義不是很明確。
33×tzzzz ),...,,( 921=
11 wzmt ⋅= 22 wzm
t ⋅= 99 wzmt ⋅=
},...,,{ 921 mmmMaxm =
26
Discussion:以上的九個基底向量為何要化成單位正交向量? 可否給一個示意圖以明示基底投射法的觀念?
每個基底的向量經過單位正交化後,我們在進行基底投射(其實就是做內積運算)時,才有比較公平的尺度。令自影像中取出的3-3子影像為S,而 < , >代表子影像S和單位正交基底向量進行向量內積運算。當完成了所有的九個內積運算後,我們再從中排出最大內積值所對應的 。如果最大內積值大於門檻值,則 能讓我們更了解該邊點(子影像的正中央像素)的紋理特性。以上的運算可以用下面的示意圖來解釋:
S
iWiW
iW
14
27
2,S W< >1,S W< > 9,S W< >
S1W 2W 3W 9W
Max
>T
No
Yes
j
. . .
. . .
28
3.6 輪廓追蹤法(蛇行法 snake ++Active contour)
在物體邊緣的外側些標識一圈控制點集(可利用雲形曲線集 )。能量函數 (求 minimum)( )dtEtEtEtE imagecurvcont∫ ++= )()()( γβα
21
2)(−−== iicont bbdt
tdcE
211
2
2
2
2)( +− +−== iiicurv bbbdttcdE
IEimage ∇−=
微分一次後連續項能量(平滑為佳,即 min)
微分二次後平滑項能量(越小越平滑為佳)
輪廓受到往影像邊點處的拉力(越大越趨向邊,加上“+"為 min)
為影像中初步用雲形曲線框住的輪廓且輪廓上構成的點為 、 、 … 和 。通常 、 和 可定為1,但是若碰到角點 (Corner Point) 時, 可定為 0。
)(tc1b 2b 3b nb iα iβ iγ
iβ
15
29
雲形曲線(B+spline Curve)
決定smooth曲線:
iv 1+iv 2+iv 3+iv)(3,0 tN )(3,1 tN )(3,2 tN )(3,3 tN
)()( 3,0 tNvtP ii ×= )()()( 3,333,223,11 tNvtNvtNv iii ×+×+×+ +++ 10 ≤≤ t
)0()1( 3,13,0 NN =
)0()1( 3,23,1 NN =
)0()1( 3,33,2 NN =
)0()1( ' 3,1'
3,0 NN =
)0()1( ' 3,2'
3,1 NN =
)0()1( ' 3,3'
3,2 NN =
)0()1( '' 3,1''
3,0 NN =
)0()1( '' 3,2''3,1 NN =
)0()1( '' 3,3''
3,2 NN =
0)0(3,0 =N
0)0(' 3,0 =N
0)0('' 3,0 =N
0)1(3,3 =N
0)1(' 3,3 =N
0)1('' 3,3 =N
33,0 6
1)( ttN =
)1333(61)( 233,1 +++−= ttttN
)463(61)( 233,2 +−= tttN
)133(61)( 233,3 +−+−= ttttN
[ ]⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−−
−−
=
+
+
+
3
2
123
0141030303631331
161)(
i
i
i
i
i
vvvv
ttttP
給定四個控制點 , , 和 ,令四個接續的彎曲函數為 , , 和 。且該雲形線
,
利用四個彎曲函數(Blending Function)的下列十六個boundary關係
雲形曲線可表示為:
30圖3.6.1 輸入的影像 圖3.6.3 最終所找到的輪廓圖3.6.2 初始輪廓
正規化能量項:
和 可除以視窗內相關能量的最大值。
中的 可改為 ,這裡m代表鄰近 的最小值,而M代表鄰近 的最大值。從 出發,首先以 視窗將點 框住,針對視窗內的每一點
計算其能量。移往能量和所得為最小的點。直到n個點都處理完。不斷地進行疊代直到輪廓不再改變為止。
contEcurvE
imageE
I∇mMmI
−−∇
I∇ I∇
1b 33× 1b
16
31
3.7 動態規劃法假設我們給定起始像素集為 如圖3.7.1(a)所示。另外,假設我們想在最終像素 集中找到一個像素 使
得 到 之間有一條路徑為邊點形成的最佳路徑,這路徑
可看成物體的邊線。
{ }4321 P,P,P,PS ={ }16151413 P,P,P,PT = TPt ∈
SPs ∈ tP
1P
14P
12P11P10P
4P3P2P
8P6P5P
9P
7P
13P 16P15P
圖3.7.1(a) 一個小例子
32
首先利用拉普拉斯算子算出 , 的邊強度(Edge Strength)。所得的反應值如圖3.7.1(b) 所示。
iP 41 ≤≤ i
推進到倒數第二列,即S2 = {P5,P6,P7,P8}。把相關的反應
值累加並取最大者即33。圖3.7.1(c) 為修正後花費圖。
20
19271815
12251710
1081315
6510
圖3.7.1(b) 初始反應值
16183335
圖3.7.1(c)修正後的花費圖
77857667
30585245
16183335
圖3.7.1(d) 最後的花費圖
圖3.7.1(e)逆過程以找到最佳路徑
同樣的計算方式,最後可得圖3.7.1(d) 的花費圖。從圖中可知85為最大的花費。從85所在的節點 往來時路退回去,可得圖3.7.1(e) 箭頭所示的最佳路徑。
/ColorImageDict > /JPEG2000ColorACSImageDict > /JPEG2000ColorImageDict > /AntiAliasGrayImages false /CropGrayImages true /GrayImageMinResolution 300 /GrayImageMinResolutionPolicy /OK /DownsampleGrayImages true /GrayImageDownsampleType /Bicubic /GrayImageResolution 300 /GrayImageDepth -1 /GrayImageMinDownsampleDepth 2 /GrayImageDownsampleThreshold 1.50000 /EncodeGrayImages true /GrayImageFilter /DCTEncode /AutoFilterGrayImages true /GrayImageAutoFilterStrategy /JPEG /GrayACSImageDict > /GrayImageDict > /JPEG2000GrayACSImageDict > /JPEG2000GrayImageDict > /AntiAliasMonoImages false /CropMonoImages true /MonoImageMinResolution 1200 /MonoImageMinResolutionPolicy /OK /DownsampleMonoImages true /MonoImageDownsampleType /Bicubic /MonoImageResolution 1200 /MonoImageDepth -1 /MonoImageDownsampleThreshold 1.50000 /EncodeMonoImages true /MonoImageFilter /CCITTFaxEncode /MonoImageDict > /AllowPSXObjects false /CheckCompliance [ /None ] /PDFX1aCheck false /PDFX3Check false /PDFXCompliantPDFOnly false /PDFXNoTrimBoxError true /PDFXTrimBoxToMediaBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXSetBleedBoxToMediaBox true /PDFXBleedBoxToTrimBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXOutputIntentProfile () /PDFXOutputConditionIdentifier () /PDFXOutputCondition () /PDFXRegistryName () /PDFXTrapped /False
/Description > /Namespace [ (Adobe) (Common) (1.0) ] /OtherNamespaces [ > /FormElements false /GenerateStructure true /IncludeBookmarks false /IncludeHyperlinks false /IncludeInteractive false /IncludeLayers false /IncludeProfiles true /MultimediaHandling /UseObjectSettings /Namespace [ (Adobe) (CreativeSuite) (2.0) ] /PDFXOutputIntentProfileSelector /NA /PreserveEditing true /UntaggedCMYKHandling /LeaveUntagged /UntaggedRGBHandling /LeaveUntagged /UseDocumentBleed false >> ]>> setdistillerparams> setpagedevice