為了同時解決全域和可適應區域二值化兩者的缺點,這裡使用了支撐 向量機(SVM)去作二值化。這個研究提出不但擁有全域觀念,同時也有效利 用了灰階影像區域的資訊。灰階影像執行高通率波的迴旋積轉換成邊緣二 值影像,從這取得全域的輪廓資訊。灰階影像中的每一個像素點可以獲得 一個額外的特徵,藉由邊緣二值影像,其對應像素點可標是為它是”黑點”
或”白點”。在每一區塊中將黑點且擁有最大的 Gradient,當成此區塊的特徵 黑點,而特徵白點是由特徵黑點周圍白點混合而成。由這些特徵組成一組 向量,並把這些特徵向量交由 SVM 作訓練。最後將灰階影像作分類得到一 張二值影像。經實驗證明這方法,即使在物件偏暗,二值化也有不錯的效 果。
3-1 影像前處理
原灰階影像被切成很多個區塊,從邊緣二值影像,每一個區塊,可以 獲得它的特徵黑點或特徵白點。灰階影像中的物件有時會可能位在較偏暗 點。在全域灰階影像中,當物件和背景之間的灰階值非常相近的話,若要 將物件精確從較偏暗地方擷取出來是一件相當複雜的事情。然而,在灰階 影像使用 High-Pass Convolution,產生一個全域輪廓二值影像。圖 3-1 (a)為 3*3 高通濾波回旋積遮罩[28]。灰階影像使用 High-Pass Convolution 運算
灰階影像使用 High-Pass Convolution 後,對於全域邊緣點描述能力非常好。
(a)
高通濾波回旋積 原灰階影像
邊緣二值影像
(b) -1 -1 -1
-1 -9 -1 -1 -1 -1
原灰階影像
邊緣二值影像
(c)
高通濾波回旋積
圖 3- 1(a)高通濾波回旋積遮罩。透過高通濾波回旋積產生邊緣的二值影像(b)戶外汽車灰 階影像(c)戶外摩托車灰階影像
在灰階影像中,像素 P 其特徵點為 P. , x P. , y P.gl and P.grad,其中 )
. , .
(Px P y 、P.gl 和 P.gd 為座標、灰階值和 Gradient。參考邊緣二值影像 中對應的像素,如果(P.x,P.y)在邊緣二值影像是黑點,則像素 P 擷取特徵
bl
P. 其中P.bl black。同理如果像素點為白點,其P.bl white。圖 3-2 為依 範例。像素P1的P1.bl black和P2,P2.bl white因為再邊緣二值影像相對應 的像素點各為黑點和白點。
根據 SVM 預期的訓練樣本數,將灰階影像分割成多個區塊。圖 3-2 為 分割的範例。N 為 SVM 訓練樣本預期數值。每一個區塊都可以獲得一個特 徵黑點和一個特徵白點。N
為 SVM 預期訓練樣本個數。當灰階影像寬為(W)
和高為(H) 時,其區塊的寬和高為
B Ki
P , 為特徵黑點。圖 3-2 顯示出如何取得特徵白點 K W
Pi, ,其混合是從兩個符 合的周圍白點
W1
P 和P ,其兩點標示為綠色。在灰階影像總共有W2
2
N 區塊,N 個 Instances,PK ,B
1 ,PK ,W
1 ,PK ,B
2 ,PK ,W
2 ,…, K B
P N , 2
/ , K W
P N , 2
/ ,擷取出後輸 入 SVM 作訓練。
3-2 Support Vector Machine
這小節主要回顧只有兩類的支撐向量機[48-50]。
假設目前訓練樣本有 N 對,{P(1),R(1)},{P(2),R(2)},...,{P(N),R(N)}, 其中R(i){1,1}且P(i)[f1(i),f2(i),...,fk(i)]T。 fj(i)表示在 k 維度特徵向量
) (i
P 第 j 特徵值。
在特徵空間的一個超平面,以W P(i)b 0表示其決策函式,其中W 是 k 維的特徵空間。W [w1,w2,...,wk]T,b 是一個純量。點P(i)到超平面 的距離為D(P(i)),其計算方式等於
W b i P i W
P
D( ( )) ( ) 。
如果訓練樣本是線性可分離,讓 SVM 能最佳超平面分割兩類的D(P(i)) 最小值最大化。這個目標函式中要找的參數有W 和b,在一個最佳超平面要 解決的最佳問題如下:
N i
for b
i P W i R to subject
W W
L Minimize
,..., 2 , 1 1
) ) ( )(
( 2 ) 1
( 2
(3.1)
在線性不可分離時,沒有一個超平面能將訓練樣本分類正確而無錯
生一個新的最佳問題,問題如下
Linear SVM 在一些應用效果可能有時不是很好,所以非線性(Nonlinear) SVM 是另一個可選方案。Nonlinear SVM 的觀念是將特徵空間中點 P ,以 非線性方式映射(P)到一個新的空間,在這空間找到一個最佳超平面。
Nonlinear SVM 函式中的兩個向量內積 (Inner Product)取代成核心函數 (Kernel Function),故這不是用來計算向量(P(i))和(P(j))的內積。大部分
基於 SVM 的二值化將在這一小節說明。這個演算首先在灰階影像中的 每一個像素點從邊緣二值影像取得一個額外的特徵。灰階影像將分割成
2 N
區塊,每一區塊都有一對特徵黑點和特徵白點。在 SVM 訓練樣本的特徵黑 點和特徵白點,標示為{P(1),R(1)},{P(2),R(2)},...,{P(N),R(N)},最後將特 徵黑點和特徵白點輸入至 SVM 作訓練。將灰階影像利用訓練過的 SVM 作 分類,取得二值化的影像。
演算法:基於 SVM 的二值化 Input:灰階影像IGL
Output:二值影像IBIN Begin
從IGL取得邊緣二值影像 for each pixel P in IGL
從邊緣二值影像取得 P 點相對映像素的額外特徵 blP.
將IGL分割區塊為K1,K2,...,KN/2,其中 N 為 SVM 訓練樣本預估數 for each block K in i I GL
取得特徵黑點 K B
Pi, 且Pi.bl black,並且 Gradient 為最大值 符合在 K B
Pi, 周圍附近的白點其特徵混合成特徵白點 K W Pi,
for K B Pi, ,
,..., 2 2 ,
1 N i
set 1R(i*21) set features of K B
Pi, exceptPK B bl
i, . as features of P(i*21)1 for W B
Pi, ,
,..., 2 2 ,
1 N i
set 1R(i*21)
set features of W B
Pi, except PW B bl
i, . as features of P(i*21)1 利用{P(1),R(1)},{P(2),R(2)},...,{P(N),R(N)}讓 SVM 作訓練
for each pixel P in I GL
SVM 根據 P 的特徵去作分類
如果 P 分類的類別符號 R 為“-1”,則 P 是黑色點 否則 P 是白色點
end