• 沒有找到結果。

第三章 雙邊雜訊濾波器演算法設計

N/A
N/A
Protected

Academic year: 2021

Share "第三章 雙邊雜訊濾波器演算法設計"

Copied!
31
0
0

加載中.... (立即查看全文)

全文

(1)

第三章 雙邊雜訊濾波器演算法設計

3.1 問題簡介

數位影像在擷取與傳輸的過程中,經常會因為多種因素受到干擾而產生 雜訊,例如當數位影像利用無線網路傳輸時,有可能受到閃電或是其他大氣 中的干擾而損壞,而當在使用數位相機擷取影像時,數位相機本身的硬體設 計、光感測器產生的暗電流、高ISO 值的設定或是攝取影像時使用長曝光時 間…等,也都可能使取得的影像混雜各式各樣的多餘雜訊,一般影像雜訊按 照雜訊的分佈形狀來區分,大致可以分為脈衝雜訊(impulse noise)、高斯雜訊 (Gaussian noise)、均勻雜訊(uniform noise)…等等。對於觀察者來說,雜訊對 影像的破壞是相當明顯且嚴重的,因此,雜訊濾除(Noise Filter)在數位影像 處理系統中是一個相當重要的步驟。雜訊濾除的步驟除了主要是為了提供使 用者較好的影像品質外,對於後續的邊緣偵測(Edge detection)、邊緣增強 (Edge enhancement)以及影像壓縮(Image compression)、影像辨認(Image recognition)…等步驟都會有所幫助,可避免這些影像處理步驟受到雜訊的影 響而造成誤差或產生非預期的結果。

而使用數位相機擷取影像時,光學鏡頭本身設計造成的缺陷,以及相機 硬體電路造成影像當中存在的雜訊所分布的情形,類似於訊號當中的高斯雜 訊分佈情形,因此,在我們的研究當中,以消除影像中的高斯雜訊為主要的 課題。公式3-1 為高斯雜訊分布之機率密度函數[1]

2 2 2

1 ( )

( ) exp

2 2

x

f x x μ

πσ σ

⎧ ⎛ − ⎞ ⎫

⎪ ⎪

= ⎨ ⎜ ⎟ ⎬

⎪ ⎝ ⎠ ⎪

⎩ ⎭

,-∞< x <∞ … (公式 3-1) 這裡的 x 代表像素值,μ為像素值 x 之平均值(mean),σ2 為 x 之變異數

(2)

(variance),亦即σ為 x 之標準差,在此機率密度函數中可發現(見圖 3-1),

約有 70%的分布在[(μ-σ),(μ+σ)]的範圍內,而有 90%的分布會在[(μ-2 σ),(μ+2σ)]的區域中,簡而言之,含雜訊值越大的雜訊點,其出現的機 率會越小,而含雜訊值越小的雜訊點,其出現的機率則會越大,其分佈的情 形如圖3-1 的鐘型曲線,而在不同的σ下,高斯分佈的機率密度函數之曲線 亦不相同。(見圖 3-2)

圖3-1 高斯機率密度函數分布曲線

圖3-2 不同標準差下的高斯機率密度函數分布曲線

(3)

3.2 相關研究

3.2.1 雜訊濾波器相關研究

濾波器在影像處理和電腦視覺中是一種很基本的方法,它乃是信號處理 系統的代稱,其功能就是選擇性的處理信號,顧名思義,在影像處理中,濾 波器是把一已知位置的像素值當作輸入,經過與這個點周圍的其他鄰近點作 函數計算得到處理過的像素值輸出,在影像處理技術中,為了符合即時顯示 的效果,其理論實現的方式大部分都採用遮罩的格式,針對不同問題,使用 不同實際實現的遮罩。

在影像處理當中常常會使用到遮罩(Mask)這個名詞,並且使用遮罩來做 運算,圖3-3 為九宮格的遮罩,它是影像當中 3x3 大小的區域,在此區域內 為遮罩值範圍,每個小格分別為九個點上的像素值,Z5為我們接下來做遮罩 運算時要改變其值的對像,也就是遮罩範圍的中心點,而周圍的八個點則為 遮罩值中心點周圍之鄰近點。在影像處理當中,使用遮罩範圍中運算子做計 算的情況很常見,而遮罩範圍並不限制一定要為 3x3 尺寸,在不同的情形之 下,可以選擇不同的遮罩範圍大小。

圖3-3 九宮格的遮罩

Z

1

Z

2

Z

3

Z

4

Z

5

Z

6

Z

7

Z

8

Z

9

(4)

雜訊濾除主要的目的即是要將雜訊濾除而同時又能保持數位影像的細 節以及邊緣的清晰,基於雜訊濾除在影像處理中既然為一重要、不可或缺的 課題,也就不斷有相關研究的提出。常用的濾波器演算法分為線性與非線性 兩種,線性濾波器在訊號處理的歷史中存在已久,且其計算簡單,主要在處 理高斯雜訊(Gaussian noise),但它會使得數位影像邊緣模糊,損失數位影像 中一些重要的邊緣與細節,且沒辦法有效濾除突波雜訊(impulse noise;因為 脈衝雜訊看起來像是疊加在影像上的白點跟黑點,所以又稱為胡椒鹽雜訊 (salt-and-pepper noise)),線性濾波器如:平均值濾波器(mean filter,也稱為 低通濾波器(low-pass filter)),它的作法是在濾波器遮罩住的鄰近點中(即是濾 波器大小範圍內中心點之外的其他點),將濾波器遮罩內的像素值總和作平 均計算來取代濾波器中心點的像素值,如此一來,會使得像素值「劇烈」變 化降低,而雜訊及邊緣都有劇烈變化的特性,因此,它可以達到減少雜訊的 效果,但在濾除雜訊的同時也會將影像邊緣的部份模糊掉,使得影像邊緣不 再像原本那麼的銳利,影像中的細微部分也會同時被模糊掉,此為它的缺點。

約在1980 年左右,雜訊濾除(即影像平滑化(image smoothing))所使用的 濾 波 器 為 高 斯 濾 波 器(Gaussian filter) , 或 稱 高 斯 低 通 濾 波 器 (Gaussian low-pass filter),這是一種線性濾波器,它計算濾波器遮罩範圍內每個鄰近點 的權重值,權重值隨著被計算的鄰近點離中心點的距離增加而減少,它主要 的概念是因為在同一區塊內的像素值通常是較為相近的,兩點之間的差異並 不大,因此將兩點作平均的計算並不會大幅度的影響影像呈現,而如果其中 有一點是具有雜訊之點,作如此的計算同時可以將具雜訊點之值與其他不具 雜訊點之值拉近,進而達到降低雜訊影響,也就是濾除雜訊之功用,但是這 樣的概念在遇到當兩點屬於不同塊區域時(也就是兩點之間有邊緣存在),效 果並不佳,因為不同塊區域之點其像素值必定相差較大,而將不同塊區域的 像素點之值拉近會使得兩區塊的區別變得不明顯,導致影像邊緣模糊的現

(5)

象,因此這樣的狀況下,高斯低通濾波器的概念並不能達到原先預期之效 果。因為高斯低通濾波器沒有方向性(isotropic),對於有用的資料及雜訊均一 視同仁加以處理,所以,當高斯平滑化濾波器被重複使用多次後,不僅雜訊 漸漸不見,有用的邊緣或細微處影像也會同時被處理得很平滑。這種不分有 用資訊或雜訊的方式並非很理想,而且 Gaussian filter 在每個取樣點需要不 同的權重,所以,Gaussian filter 幾乎無法適用在隨機取樣的情形,因為如 果取樣點的位置會不停變化,就需要每次重新計算其權重。這對於需要即時 運算的應用,其計算太過複雜,幾乎是不可能的。

因此後來非線性濾波器被廣泛使用,其中應用最廣的則為中值濾波器 (median filter),中值濾波器一開始用在使訊號平滑化上,後來,Rabiner、

Samgur、Schmidt[4]和 Jayant[5]將中值濾波器應用在聲音訊號處理上,Pratt[6]

和 Frieden[7]首先將它應用在影像處理當中,此法特別適合用在影像具有很 強的脈衝式雜訊時。中值濾波器即是將濾波器遮罩內的像素大小作排序的動 作,並選取排序在中間的中位數像素值,以其取代遮罩範圍中心點的像素 值,如此便完成一個像素點的濾波動作,因為具雜訊點的灰階值與其鄰近像 素的灰階值有很大的差異,因此如果中心點為具雜訊點,則經排序後取中間 值的結果是強迫將此雜訊點變成與其鄰近的某些像素的灰階值一樣,以達到 去除雜訊的效果。這樣的做法不但可以濾除影像中突起的高頻雜訊部份,也 可以適當的保持影像的邊緣,不會像線性濾波器一樣將周圍的資訊模糊得那 麼嚴重,其在數位影像上細節的保存明顯優於線性濾波器。但純粹的ㄧ般中 值濾波器會無條件的改變數位影像一些未受雜訊影響的像素之值,它較不具 彈性,有時會使得影像邊緣的部份形成條紋或是鋸齒狀的現象,而且在濾波 器尺寸大的時候,仍然會有將影像細節模糊掉的情形出現,為改良這樣的現 象,後續有許多以中值濾波觀念為基礎的雜訊濾波器研究產生[8]。

在1980 年代晚期,柏克萊加州大學的 Malik 及加州理工學院的 Perona

(6)

兩位教授一起提出一個具有選擇性濾波功能(Selective Image Smoothing)的 技術[10]。這個方法基於物理熱力學的熱傳導方程式。他們利用熱傳導方程 式的特性來判斷影像中何處較可能是有用的資料,及何處較可能是雜訊 (noise)。在可能是有用的邊緣(edge)資料附近,他們迫使平滑化的動作沿著 邊緣去處理可能的雜訊。簡單地說,他們利用影像灰階值的差異(或可視為 地形的高低)來做具有「方向性」的影像平滑化動作。但這個方法有以下的 問題:(1)影像被數位化後,基本上是一個離散式的資料,他們兩人卻用「連 續」的熱傳導方程式去處理這個本質上是「離散」的系統;(2)因為熱傳導方 程式是一階的偏微分方程式且找不到封閉解(closed-form),因此必須用數值 方法去解;(3)需作多次的疊代計算以得到最後的結果。前兩個問題引入了雙 重的誤差來源,因此準確度上會有一些落差,另外,用數值方法解偏微分方 程式非常耗時,而還需要多次疊代計算以增加穩定度更是麻煩,且影像本身 是一組離散的資料(digitized data),沒有理由要用連續的微分方程式去描述及 分析這個系統。

而到了1998 年,C. Tomasi 和 R. Manduchi 提出一個同時考慮距離以及 相似度的雙邊濾波器(bilateral filter)[11]。雙邊濾波器是一種非線性的雜訊濾 波器,不需要作多次的疊代計算,可減少計算量,它使用到了加權平均的觀 念,可說此方法是實現在影像上的單層神經網路。此演算法主要的概念為先 判斷出哪些點是相似的,哪些點並不相似,運用權重的觀念,將相似的點作 平均的計算,以達到濾除雜訊同時保留邊緣的效果。

傳統常使用的濾波器為距離濾波器(domain filter),亦即高斯低通濾波 器,直覺來說,距離中心點越遠的像素點與中心點的關聯性越小,對中心點 的影響應該就要越小,此濾波器所計算的權重即是隨著鄰近點與中心點之間 的距離越遠,該鄰近點所具的權重值越小。而雙邊濾波器還使用到相似度濾 波器(range filter),即是將距離濾波器的概念從距離轉到色度差異上,其計算

(7)

的權重依鄰近點色度與中心點色度的差異量越大而下降,也就是說與中心點 差異越大者,對中心點的影響就會越小,因為與中心點差異大的,很有可能 該點與中心點是位於不同區塊的,亦即兩點之間有邊緣的存在,經由考慮到 相似度,如此一來邊緣的兩邊就不會產生互相影響的情形,也就可以保留住 清楚的邊緣特性。

相似度濾波器是種非線性濾波器,因為它的權重計算是依據像素點的色 度或亮度值作為考量而非距離的關係,相似度濾波器最大的功用是在於保留 住邊緣的清晰度。而距離濾波器亦可說是低通濾波器,它即是線性濾波器,

主要的功能為使用來濾除雜訊。以下分別說明距離濾波器與相似度濾波器的 特性方程式[11]:

低通距離濾波器(low-pass domain filter):

) , ( ) ( )

( )

( , 1 , , i,j

n j

n j q

q p j

i m

i m i p d j i

d x k x f x c x x

h

∑ ∑

+

= +

=

×

= … (公式 3-2) 公式 3-2 為低通距離濾波器的特性方程式(這裡的相關性函數(closeness function)c

(

xp,q

,

xi,j

)

代表

x

p,q

x

i,j兩點的幾何距離(geometric closeness),而這 裡的

x

p,q指的是濾波器遮罩的中心點座標,而

x

i,j指的則是中心點周圍的鄰近 點座標,濾波器尺寸為m × n,hd代表經過低通距離濾波器濾波後輸出之影 像值。)

當輸入為低通訊號之直流(dc)成份時,可得低通距離濾波器之正規化函 數,即是

k

d(x),其特性方程式為:

) , ( )

( i m , i,j

m i p

n j

n j q

q p

d x c x x

k

∑ ∑

+

= +

=

=

… (公式 3-3)

相似度濾波器(range filter):

)) ( ), ( ( ) ( )

( )

( , 1 , , i,j

n j

n j q

q p j

i m

i m i p r j i

r x k x f x s f x f x

h

∑ ∑

+

= +

=

×

=

… (公式 3-4)

公式 3-3 為低通相似度濾波器的特性方程式(這裡的相似度函數(similarity function)

s ( f ( x

p,q

), f ( x

i,j

))

代表

x

p,q

x

i,j兩點色度的差異量,通常採用絕對

(8)

差值計算,這裡的

f(x

p,q

)指的是濾波器遮罩中心點的像素值,而 f(x

i,j

)指的則

是中心點周圍的鄰近點之像素值,濾波器尺寸為m × n,hr代表經過相似度 濾波器濾波後輸出之影像值。)

相似度濾波器之正規化函數

k

r(x)之特性方程式如公式 3-5 所示:

)) ( ), ( ( )

( , i,j

m i

m i p

n j

n j q

q p

r x s f x f x

k

∑ ∑

+

= +

=

=

… (公式 3-5)

因為相似度濾波器並沒有考慮到像素值的差異性,這樣的結果會使得邊 緣部份經處理過後容易呈現模糊的狀況。而相似度濾波器則沒有考慮到距離 的影響,理論上來說,離濾波器遮罩中心點越遠的像素點,與中心點的關聯 性較小,因此它對中心點的影響應該是越小的,且相似度濾波器只考慮到像 素之間的相似度關係,其濾波效果較小,舉例來說,當一幅白色畫面當中參 加了幾點黑色的雜訊點之時,如果此時濾波器的中心點正位於黑色的雜訊點 之上,而按照相似度濾波器考慮到相似度的概念,白色鄰近點對於具雜訊的 中心點之影響必定很小,反而是黑色雜訊為鄰近點時,其權重值較大,如此 一來只是雜訊點互相做計算,反而將雜訊點突顯而沒有達到濾除雜訊的效 果。因此較適當的解決方法便是結合距離濾波器跟相似度濾波器,也就是同 時考慮到幾何距離關係與亮度差異性的關係。於是,便出現了雙邊濾波器 (bilateral filter)的想法。

雙邊濾波器同時使用到了距離濾波器和相似度濾波器的概念,因此它集 合了距離濾波器用來濾除雜訊的特性以及相似度濾波器可以保留住邊緣的 特性,如此一來,經過處理的影像就可以在濾除雜訊的同時也保留住影像細 節與邊緣的部分。在雙邊濾波器當中,鄰近點所具的權重值同時依鄰近點與 中心點之距離,以及鄰近點像素值與中心點像素值的差距來計算,距離中心 點越遠,或像素值差異越大,權重就越小,亦即此鄰近點對於中心點的影響 較小,因為理論上來說,距離中心點越遠的像素,對於中心點的影響應該就 越小,該點的權重值越小,而像素值差異較大也代表兩個像素之間可能有邊

(9)

緣存在,為了不將位在邊緣兩邊而屬於不同塊區域的像素點互相做了平均化 計算而造成邊緣模糊的現象,因此像素值差異大的鄰近點,其權重值相對會 比較小,也就較不會對中心點造成影響。雙邊濾波器的特性方程式如下[11]:

雙邊濾波器(bilateral filter):

)) ( ), ( ( ) , ( ) ( )

( )

(

, 1 j n , , i,j p,q i,j

n j q

q p j

i m

i m i p b

j i

b x k x f x c x x s f x f x

h

= × ∑ ∑

+

× ×

= +

=

… (公式 3-6) 公 式 3-6 為 雙 邊 濾 波 器 的 特 性 方 程 式 ( 這 裡 的 相 關 性 函 數 (closeness function)c

(

xp,q

,

xi,j

)

代表

x

p,q

x

i,j兩點的幾何距離(geometric closeness),而相

似度函數(similarity function)

s ( f ( x

p,q

), f ( x

i,j

))

代表

x

p,q

x

i,j兩點色度的差 異量,通常為兩數值的相差取絕對值,這裡的

x

p,q指的是濾波器遮罩的中心 點座標,而

x

i,j指的則是中心點周圍的鄰近點座標,而這裡的

f(x

p,q)指的是濾 波器遮罩中心點的像素值,而

f(x

i,j)指的則是中心點周圍的鄰近點之像素值,

濾波器尺寸為m × n,hb代表經過雙邊濾波器濾波後輸出之影像值) 雙邊濾波器的正規化函數之特性方程式如公式3-7 所示:

) , ( )) ( ), ( ( )

(

i m , , , i,j

m i p

n j

n j q

q p j

i q p

b x s f x f x c x x

k

∑ ∑

+

= +

=

×

=

… (公式 3-7)

在雙邊濾波器中,可使用各種具有對稱性與平滑衰減特色,且不會出現 負值的函數當作其核心,例如cosine 函數、Andrew’s wave 函數、Flat 函數…

等等[14],而高斯函數(Gaussian function)來做為核心是最為廣用的,以下說 明使用高斯函數為核心的相關性函數c 跟相似度函數 s,此時的相關性函數 (closeness function) c(ε, x )為放射狀對稱(見公式 3-8),而這裡的 d(ε, x )則為 鄰近點ε 與中心點 x 的幾何距離(見公式 3-9)。

)2

) , ( ( 2

1

) ,

(

d

x d

e x

c

σ

ε

ε

=

… (公式 3-8)

(10)

x x

d ( ε , ) = ε −

(公式 3-9)

相似度函數s 與相關性函數 c 的特性方程式有點類似,只是相似度函數 s 不 是使用兩像素點的距離作計算,而是使用兩點像素值的差異(見公式 3-10),

這裡的δ 即是計算兩輸入值作相差值計算的函式(見公式 3-11),通常使用取 絕對差值的計算方式,f(x)代表中心點的像素值,f(ε)代表濾波器遮罩中的鄰 近點像素值。

)2

)) ( ), ( ( ( 2

1

) ,

(

r

x f f

e x

s

σ

ε δ

ε

=

… (公式 3-10)

) ( ) ( ))

( ), (

( f ε f x = f ε − f x

δ

… (公式 3-11)

在平滑區域中(亦即沒有邊緣需要考量的區域中),相鄰的像素點之值是 相近的,因此,相似度濾波器的正規化函數

k

r(x)趨近於一,此時的雙邊濾波 器作用效果與傳統的距離濾波器(亦即高斯低通濾波器)類似,它可將具雜訊 點之像素值與周圍像素值平均掉,以得到雜訊濾除之效果。而當遇到邊緣之 時,雙邊濾波器所做的功用我們以下面這個例子來說明:

在圖3-4 中所見的是一個具高斯雜訊且雜訊係數為 10 之影像像素值分佈 圖(histogram),可以見到的是在這個雜訊影像當中有邊緣橫跨在影像當中,

影像分成像素值較高的一邊(亦即較明亮的一邊)與像素值較低的另外一邊 (較暗的一邊),當我們以較明亮一端(亦即較為突起的一邊)的中間某一點為 雙邊濾波器遮罩之中心點時,在明亮區域的像素值跟中心點的像素值差異較 小,亦即它們是較為相似的,因此以這個區域的像素點為濾波器遮罩中的鄰 近點時,所得的相似度函數s 之值接近於一,以較暗區域的像素點為鄰近點 時,因為它跟中心點的差異較大,所得相似度函數s 之值趨近於零。以明亮 處其中一點為濾波器中心點,同時考量距離與相似度後,計算所得之權重分 佈如圖3-5 所示。而如果以較暗區域為濾波器遮罩區域中心點時,相對的,

明亮處的相似度函數s 之值就會接近於零,而較暗處的相似度函數 s 之值則

(11)

接近於一。當整張照片經過完整的雙邊濾波器濾波過後的結果則如圖3-6 所 示,可以見到經濾除過程後的影像明顯變得較為平滑,而邊緣的部份仍可看 出有明顯的差距,與原圖的邊緣差異不大,表示最後的結果有達到濾除雜訊 而保留邊緣資訊的效果,這裡濾除雜訊的功能主要是因為有距離濾波器的功 能,能保留邊緣則是因為相似度濾波器發揮了它的特性。

圖3-4 具高斯雜訊係數σ=10 的灰階影像直方圖

圖3-5 以明亮處某一點為濾波器中心點所得之權重分佈

圖3-6 整張圖片經雙邊濾波器濾波過後的結果

(12)

用另一個表示法來說明的話,我們可以將雙邊濾波器的特性方程式改寫 如公式3-12 所示(這裡以一維來說明,但在二維時,其特色是相同的)[17]:

=

N

N N

N

n k W

n k Y n k W k

X

] , [

] [ ] , [ ]

ˆ [

… (公式 3-12)

我們將未受雜訊污染的原始影像設為X,高斯雜訊訊號設為V,受到雜 訊污染的影像為Y,可以得到,Y=X+V,使用雜訊濾波器的目標即是將Y影 像盡量還原成位受雜訊干擾的原始X影像,而X

ˆ k [ ]

為經過濾波處理過後所得 之影像結果,W[k,n]為考量過距離與相似度權重之後的結果,亦即W[k,n]=

Wd[k,n]×Wr[k,n],這裡的k為濾波器遮罩之中心點,而n則為濾波器遮罩範圍 的中心點周圍之鄰近點,Wd[k,n]即為距離濾波器(domain filter)之權重(見公 式3-13),Wr[k,n]為相似度濾波器(range filter)之權重(見公式3-14),其公式如 下:

{ }

2 2

d 2 2

d [ ],[ ]

W [k,n]=exp - exp

2

d

2

d

k k n n

σ σ

⎧ − ⎫ ⎧ ⎫

⎪ ⎪ = −

⎨ ⎬ ⎨ ⎬

⎪ ⎪ ⎩ ⎭

⎩ ⎭

… (公式3-13)

{ } { }

2

2

r 2 2

d [ ], [ ] [ ] [ ]

W [k,n]=exp - exp -

2

r

2

r

Y k Y k n Y k Y k n

σ σ

⎧ ⎫

⎧ − ⎫ − −

⎪ ⎪ = ⎪ ⎪

⎨ ⎬ ⎨ ⎬

⎪ ⎪

⎩ ⎭ ⎪ ⎩ ⎪ ⎭

… (公式3-14) 這裡的濾波器核心具有幾項特色:

1. 由於經過正規化處理,濾波器之權重總合為一。

2. 濾波器中心點之權重值為最大,大小則是正規化後的結果而定。

3. 在符合以上兩點的情況下,核心函數除了使用Gaussian函數之外,也可 採用其他形式的函數為核心。

在雙邊濾波器當中,我們可以控制的參數有三個,即是濾波器的遮罩尺 寸大小、核心函數中距離濾波器的高斯係數σd與相似度濾波器的高斯係數 σr。因為濾波器的遮罩尺寸越大,遮罩中所涵蓋的像素點便會越多,因此,

(13)

當我們使用大尺寸遮罩的濾波器時,所考量到的像素之間距離關係會越大,

如此一來雖可作整體的考量,但就要注意會不會因此而考量到較不相關的地 方,使得處理後的影像變得較為模糊,且因為雙邊濾波器的計算主要是考量 到遮罩值中心點與遮罩範圍中的鄰近點之關係,因此,濾波器的尺寸越大,

每一中心點要與鄰近點做計算的次數會變多,其計算量將會變得相當可觀,

在Bilateral mesh noising這篇文章當中也說到,小尺寸的濾波器做多次的疊代 結果與用大尺寸的濾波器所作之濾波效果相似,且其計算量較小 [15]。

而在高斯係數方面,係數值控制了權重的分佈,越大的高斯係數值會使 得濾波器對於鄰近點與中心值的差異性越敏感,隨著差異量增加而減小的權 重曲線其衰退的速率則會變大,也就是說,從鄰近點所取得的值與中心點所 得之值只要有些微的差異時,該鄰近點所得之權重值就會變得很小。當相似 度濾波器的高斯係數σr之值趨近於無限大時,相似度濾波器會因為高斯係數 的關係而作用不大,因此整個雙邊濾波器的作用主要為距離濾波器所作用,

此時該濾波器的功能即類似於傳統的高斯濾波器(Gaussian filter),而當距離 濾波器的高斯係數σd與相似度濾波器的高斯係數σr都趨近於無限大時,這個 濾波器的作用則會與平均值濾波器作用相似,因此在係數值設定越大時,濾 波效果會越強烈,濾過之後的影像會較為乾淨,但同時影像也會因此而模糊 掉(blurred)。

3.2.2 邊緣偵測相關研究

直覺上,邊緣是存在於兩區域間邊界的連接像素集合,對於一張暗色背 景下有亮條紋的影像,由水平掃描線的灰階剖面圖及其一階導數圖可發現一 個邊緣,因為在一個區塊中,邊緣通常與其周圍點的灰階值有很明顯的變 化,通常是灰階值或是其一階導數不連續。邊緣偵測就是在影像中找尋這些 不論是在灰階值或是一階導數有明顯變化的點,這就是邊緣偵測的基本理

(14)

論,而計算梯度值(gradient)就是一種衡量灰階值變化的方式,但在影像中有 許多點的梯度值不是零,而這些點並不一定就是邊緣,所以我們就必須使用 某種特定的演算法來找出邊緣點;而使用二階導數中偵測過零點(zero crossing)位置判斷方法者,也因為過零點事實上並不能完全表現實際的邊 界,這個方法也未必準確。影像邊緣偵測方法可分為一階導數運算式與二階 導數運算式[13],一階導數運算式的方法有Sobel edge detection與Canny edge detection , 而 二 階 導 數 運 算 式 的 方 法 則 有 Laplacian of Gaussian edge detection(LOG)。

3.3 所提出的演算法

目前的雜訊濾波器中,都有著一些缺點,如線性濾波器會使得邊緣模 糊,且對於較大雜訊值的雜訊點沒辦法有效濾除;中值濾波器主要用來處理 脈衝雜訊,而我們所要處理的雜訊主要是截取影像時會造成的高斯雜訊;非 等向性擴散、最小平方法與穩健估計法則是需要作多次的疊代計算,以得到 最後的結果,需要花費時間跟計算量,因此在這裡我們要使用到雙邊濾波 器,同時利用多級的影像處理流程來改進雙邊濾波器在大係數時會造成的影 像模糊現象,以利用雙邊濾波器在大係數時較佳的濾波效果。

為了解決雜訊濾波器在濾波之時常常需要在強烈去除雜訊與保留影像 邊緣與影像微小細節之間取得平衡,而要改善模糊現象以得到一個清晰的影 像又必須要使用到影像增強的步驟,兩者之間最大的關聯性便是需要針對邊 緣的部分做小心的處理,這就需要一個具準確性的邊緣偵測方法,三個影像 處理的步驟相互依賴、需要彼此考量,因此我們將雜訊濾除、影像增強與邊 緣偵測的部分串接在一起,利用各部分的特點與關聯性以達到最佳的影像處 理效果。

我們提出一個串接的影像處理流程(見圖 3-7),以虛線括起來的 color

(15)

correction 的部份並非此論文的重點,我們略過不說。這裡的流程主要會分 成兩個分支,一個分支是偵測出影像的邊緣圖,以便在後面的步驟可以對影 像邊緣做正確的處理,另一個分支會依照偵測出來的影像邊緣圖,對影像及 其邊緣做適當的雜訊濾除處理,最後,經過雜訊濾除的影像,則會利用前面 所得的邊緣偵測圖進行影像邊緣增強的處理,最後得到乾淨且清晰的影像。

在這個影像處理的流程當中,使用了兩個步驟的雜訊濾除、兩個步驟的 邊緣偵測判斷、與一個步驟的邊緣增強,輸入影像是未經處理的含雜訊影 像,我們所要做的便是濾除影像中的雜訊,以還原未受雜訊污染的原始影 像。在此我們先對影像做雜訊濾除前處理的動作(Noise filtering 1),先過濾 掉影像的雜訊部份,但此時要注意的是,經過前處理的影像是要用來提供下 個步驟的邊緣偵測所使用,因此不可以將影像做了過份的雜訊濾除而讓邊緣 偵 測 變 得 困 難 。 接 下 來 對 經 過 前 處 理 的 影 像 做 邊 緣 偵 測 的 動 作(Edge detection 1),並且取得邊緣位置圖 Edge map A,這裡的 Edge map A 為原始 的輸入影像做雜訊濾除處理(Noise filtering 2)時之重要邊緣資訊。接下來的 步驟便是要做影像邊緣增強的影像處理動作,此時我們所需要的邊緣位置圖 是要相當準確的,因此為確保上個階段所得到的邊緣位置圖Edge map A 之 邊緣資訊的正確,我們讓 Edge map A 的資訊經過第二步的邊緣偵測動作 (Edge detection 2),以得到更為準確的邊緣位置圖 Edge map B。此時我們可 得到邊緣加強所需要的邊緣資訊 Edge map B,與經過雜訊濾除處理動作 (Noise filtering 2)的影像,綜合兩者的資訊,我們謹慎的對影像做邊緣增強 的影像處理動作。而除了影像邊緣增強的動作是在CIELAB domain 對 L 做 計算之外,其他的計算部分我們都在RGB domain 做計算。雖然說,許多的 影像理論指出,人眼對於不同亮度下的雜訊敏感度大於在不同的色度下,但 其實許多的雜訊是出現在 RGB 色彩空間上,且色彩空間轉換公式往往會放 大雜訊的影響,因此我們在 RGB 色彩空間上做雜訊濾除比較能有效的濾除

(16)

雜訊。而在邊緣偵測來說,有許多的邊緣是出現在不同的色彩空間上,但具 有相似的亮度值,因此我們如果只在 CIELAB 中的 L 亮度空間上去找尋邊 緣的位置會難以察覺所有邊緣的位置,而在 A 與 B 的影像色彩空間尋找邊 緣位置則相當容易發生將雜訊誤判為邊緣的情形發生,而在CIELAB 上尋找 邊緣的誤判情形在影像中出現深色影像的位置(如影像中的陰影處)最為嚴 重,而在邊緣偵測與雜訊濾除步驟都在 RGB 色彩空間做除了結果較好,且 如此一來,我們也不需做多次的影像色彩空間轉換計算,可減少計算量與做 色彩轉換時難以避免的計算誤差發生。

RGB

Input Image

Noise filtering 1 (Range filter) Noise filtering 1

(Range filter)

Edge detection 1 (Sobel operator) Edge detection 1

(Sobel operator)

Noise filtering 2 (Bilateral filter) Noise filtering 2

(Bilateral filter)

Edge detection 2 (False edge filter )

Edge detection 2 (False edge filter )

Edge enhancement

Output Image

Edge map A

Edge map B

RGB

RGB

RGB RGB

L*

Input Image

Noise filtering 1 (Range filter) Noise filtering 1

(Range filter)

Edge detection 1 (Sobel operator) Edge detection 1

(Sobel operator)

Noise filtering 2 (Bilateral filter) Noise filtering 2

(Bilateral filter)

Edge detection 2 (False edge filter )

Edge detection 2 (False edge filter )

Edge enhancement

Output Image

Edge map A

Edge map B

RGB

RGB

RGB

L*

Color correction

RGB

sRGB to CIELAB

RGB

Input Image

Noise filtering 1 (Range filter) Noise filtering 1

(Range filter)

Edge detection 1 (Sobel operator) Edge detection 1

(Sobel operator)

Noise filtering 2 (Bilateral filter) Noise filtering 2

(Bilateral filter)

Edge detection 2 (False edge filter )

Edge detection 2 (False edge filter )

Edge enhancement

Output Image

Edge map A

Edge map B

RGB

RGB

RGB RGB

L*

Input Image

Noise filtering 1 (Range filter) Noise filtering 1

(Range filter)

Edge detection 1 (Sobel operator) Edge detection 1

(Sobel operator)

Noise filtering 2 (Bilateral filter) Noise filtering 2

(Bilateral filter)

Edge detection 2 (False edge filter )

Edge detection 2 (False edge filter )

Edge enhancement

Output Image

Edge map A

Edge map B

RGB

RGB

RGB

L*

Color correction

RGB

sRGB to CIELAB Input Image

Noise filtering 1 (Range filter) Noise filtering 1

(Range filter)

Edge detection 1 (Sobel operator) Edge detection 1

(Sobel operator)

Noise filtering 2 (Bilateral filter) Noise filtering 2

(Bilateral filter)

Edge detection 2 (False edge filter )

Edge detection 2 (False edge filter )

Edge enhancement

Output Image

Edge map A

Edge map B

RGB

RGB

RGB RGB

L*

Input Image

Noise filtering 1 (Range filter) Noise filtering 1

(Range filter)

Edge detection 1 (Sobel operator) Edge detection 1

(Sobel operator)

Noise filtering 2 (Bilateral filter) Noise filtering 2

(Bilateral filter)

Edge detection 2 (False edge filter )

Edge detection 2 (False edge filter )

Edge enhancement

Output Image

Edge map A

Edge map B

RGB

RGB

RGB

L*

Color correction

RGB

sRGB to CIELAB

圖3-7 多級影像演算法流程圖

(17)

為何在傳統的雜訊濾波器,如線性濾波器、高斯低通濾波器當中,會出 現經過影像處理之後會將影像邊緣模糊的情形,其原因就是它們沒有對邊緣 做適當的處理。直覺來說,同一區域內的點,它們所具的像素值不會有劇烈 的變化,即使有變化也是輕微且漸層的,只有具雜訊值之點會與其周圍的鄰 近點有大差異,因此將中心點與同一區域內的鄰近點做平均計算之時,可以 將具雜訊點之值壓抑下來,使其與鄰近點較為相似,從而達到濾除雜訊的效 果。但可以想像的是,當鄰近點與中心點位於不同區域時,兩點之間的差異 性是必然存在的,而將中心點與鄰近點同化的結果是把本來應該有明顯差異 的兩個部分變得較為相近,如此一來反而會使得影像中出現模糊的現象 (blurred),而這就會影響到影像給人眼帶來的清晰度效果。在進行雜訊濾除 處理時,對於邊緣的處理方式與之後會造成的影像模糊現象有很大的關聯 性,在邊緣的部分與在同區域的部分,其濾波的方式必然不相同。因此,預 先正確偵測邊緣的位置在這裡佔了一個非常重要的位置。也就是說在進行雜 訊濾除步驟之時,我們就必須要知道邊緣的位置,並給予適當的處理。

而在偵測邊緣當中,最重要的一件事便是要從影像中排除雜訊的干擾,

雜訊總是會使得邊緣偵測時誤判,導致邊緣圖出現奇怪的線條,或出現密密 麻麻的雜訊分布,影響到後續所做的影像處理流程,使其變得更加的困難。

因此在這裡,我們對要進行邊緣偵測的影像先做一個雜訊濾除前處理的步 驟,但要先考慮到的是,如果為了偵測出完全無誤的邊緣,而採取相當強烈 的雜訊濾除步驟的話,很有可能出現的副作用即是在雜訊濾除的同時,也將 我們希望完整偵測到的邊緣部份做了過分模糊的處理,而使得在做邊緣偵測 處理時有些重要的邊緣資訊難以偵測出來,因此,一個適當取捨的雜訊前處 理方法是相當重要的。

為了使影像有較佳的銳利度,我們在最後增加了影像增強的步驟,這個 步驟是為了要使得影像的輪廓與影像中細微的部分更加的清晰,同時可以將

(18)

在前段的雜訊濾除中被模糊掉的影像邊緣與細微處強化回來,而如果本身的 影像因為影像對焦、鏡頭瑕疵…等等而造成了影像模糊,我們也可以經由這 個步驟還原影像的清晰度。雖然影像邊緣增強對於影像的清晰度有很大的幫 助,但也有可能在增強影像的邊緣之時,由於對於邊緣的錯誤判斷,而造成 了將影像中的具雜訊點也同時作增強的動作,如此一來,便會使得影像中的 雜訊變得明顯,反而會造成影像受到雜訊的干擾,使得影像的品質下降,為 了避免這樣的情形發生,我們需要非常準確的偵測出邊緣位置,因此在這個 部分,我們還增加了多一道的邊緣偵測判斷步驟,亦即

edge detection 2(false edge filter)

,此步驟用來確定在edge detection 1 所得的邊緣資訊確實為邊 緣資訊,而非將雜訊點誤判為邊緣。另外,為了避免影像邊緣增強的步驟影 響到雜訊濾除的效果,並且用此步驟來解決雜訊濾除後所會造成的模糊現 象,因此將影像邊緣增強的步驟放在我們提出的串接影像處理流程的最後,

也就是做完雜訊濾除之後的影像,才用來做影像邊緣增強。

在這個影像處理的前端步驟,我們採用的是一個較為保守的影像雜訊濾 除前處理方法,這裡濾除雜訊的需求僅僅是為了儘量減少在下一步驟的邊緣 偵測中,因為雜訊的存在而影響到邊緣偵測的結果,進而發生偵測出錯誤邊 緣的機會,但因為經過邊緣偵測步驟的邊緣圖要供給下一步的雜訊濾波器使 用,我們希望可以盡量偵測出影像中大部分有可能為邊緣的邊緣資訊,因此 需要一個濾波效果不需要過強,而不要把邊緣即細微處有用資訊模糊掉的濾 波器,這裡我們使用到相似度濾波器(range filter),這個部分所使用的濾波器 遮罩尺寸為3×3,因為這裡主要是考慮像素點之間的相似性而沒有使用到距 離的計算,不需要大的濾波遮罩範圍,而使用小範圍的濾波遮罩計算亦可以 減少計算量,且要遇到中心點為受雜訊污染點,同時小範圍中的附近鄰近點 也具高雜訊的機會並不大,因此可以達到濾除雜訊的效果而不會將雜訊增 強。相似度濾波器它所使用到的觀念,是考慮位於濾波器遮罩範圍中,影像

(19)

中心點與鄰近點之相似度關係,因此雖然濾除雜訊的效果不大,但相同區域 中的影像做互相的加權平均動作,仍可得到一定的濾波效果,這裡我們將相 似度濾波器使用在 R、G、B 空間上,經由對每個色域空間都作過濾波,可 以確保濾除雜訊的品質,而不會有所遺漏。而在此步驟所處理過的影像完全 只是用來在邊緣偵測時減少雜訊的影響,所得的結果並沒有影響到最後的輸 出影像。這裡的相似度濾波器之特性方程式如公式3-15 所示[11]:

)) ( ), ( ( ) ( )

( )

( , 1 , , i,j

n j

n j q

q p j

i m

i m i p r j i

r

x k x f x s f x f x

h ∑ ∑

+

= +

=

×

=

… (公式 3-15)

接下來,經過雜訊濾除前處理的影像,所含的雜訊成分降低,我們把它 用來偵測影像中的邊緣位置,這裡我們使用一個常見且簡單計算的邊緣偵測 方法,即是Sobel 邊緣偵測法的概念,這個方法容易實行,運算出的線段清 楚明顯,而且計算速度上也非常的快。Sobel Filter 算是一種高通濾波器,對 於激烈的影像變化有強烈的反應,而邊緣就是像素值激烈變化的地方,因此 它可以敏感的偵測出邊緣的位置,且因為Sobel 使用遮罩的計算,孤立單點 的雜訊比較不會被誤認為是邊緣所在位置。

此方法主要的想法就是找到劇烈變化的方向來確定邊緣所處的位置,其 做法是將每一點的梯度算出來,並設定一個二值化臨界值參數(Thresholding value),再對算出的梯度大小與臨界值相比較並做二值化的動作,亦即大於 臨界值的像素設為1(代表邊緣),反之為 0(代表背景),如公式 3-16 到公 式3-19 所示,並對照圖 3-8 之遮罩位置。

(20)

2 2

y

x

s

s

M = +

… (公式 3-16)

) (

)

( Z

1

cZ

2

Z

3

Z

7

cZ

8

Z

9

s

x

= + + − + +

… (公式 3-17)

) (

)

( Z

1

cZ

4

Z

7

Z

3

cZ

6

Z

9

s

Y

= + + − + +

… (公式 3-18)

= 2

c

… (公式 3-19)

圖3-8 3×3 遮罩圖

這裡的M 指的是影像的梯度值大小,對影像中所有計算而得之 M 值,

進行二值化的動作,當梯度值大於二值化臨界值參數時,判定為影像的邊 緣,否則判定為背景,亦即非邊緣的部分

這裡我們所使用的 Sobel 概念如圖 3-9 所示,在圖 3-9 中的運算子排列 分別是用來計算水平、垂直、左下-右上、左上-右下四個方向的邊緣位置,

經運算子計算後取絕對值可得四個運算結果,分別是水平梯度值△H、垂直 梯度值△V、左下-右上梯度值△Ld_Ru、左上-右下梯度值△Rd_Lu,並從四 個運算結果當中找出最大變化的那一項,如果該值大於臨界值參數,則中心 點為邊緣點,該方向為邊緣之方向。而因為在遮罩範圍中,因為每個遮罩值 中權重計算的總合皆為零,所以如果一個點其相鄰的八個點都是相同值,表 示沒有邊緣變化,其加權計算後的總合之值也會是零。我們所使用的演算法 如下所示:

Z

1

Z

2

Z

3

Z

4

Z

5

Z

6

Z

7

Z

8

Z

9

(21)

(a) (b) (c) (d) (a) (b) (c) (d)

圖3-9 Sobel 運算子表示圖

(a)找水平方向邊緣 (b)找垂直方向邊緣

(c)找左下-右上方向邊緣 (d)找左上-右下方向邊緣 舉水平邊緣為例:

if((△H > △V) && (△H > △Ld_Ru) && (△H > △Rd_Lu))

//如果水平梯度值大於其他三個方向的 梯度值

{

Mag = △H +( △V / 8) ;

//用來判斷是否為水平邊緣的數值 Mag

}

if(Mag >= Threshold) X(i , j) = edge;

//當 Mag 大於二值化臨界值參數時,

判斷該點為邊緣

(這裡的臨界值參數(Threshold value)我們設為 150)

(22)

我們分別在R、G、B 三個色域做邊緣偵測的動作,並將在每個色域中 所得的邊緣資訊作或(or)的動作,也就是說,只要在一個色域中我們判斷某 一點為邊緣資訊,不論該點在其他的色域上是否也被歸類為邊緣點,我們都 將其判斷為邊緣點,在邊緣位置圖(Edge map A)中會出現,以這樣的判斷方 法求得最多的邊緣細節以利下一步驟的雜訊濾除所用,同時,由於我們在前 一步驟中已經有做過雜訊濾除的前處理,因此,這裡較不用擔心雜訊會去影 響到邊緣判斷的結果。

經由Sobel 邊緣偵測方法所得到的邊緣位置圖(Edge map A),我們會分 別供給在流程圖當中左邊路線的Noise filtering 做雜訊濾除用,以及向下做 進一步的邊緣確定(Edge detection 2)步驟時作為來源資料,我們以 ,

A

e

i j 等於0

或等於1 來表示經過第一步的邊緣偵測演算法(Edge detection 1)判斷後,位 於影像中位置(i, j)上的點是否被判斷為邊緣點,若該點為邊緣點,則設定 ,

A

e

i j

的值為1,若該點非邊緣點,則設定 , A

e

i j 的值等於0。

接下來,我們會應用邊緣偵測時所得的邊緣位置圖(Edge map A)來做雜 訊濾除,這裡的雜訊濾除方法,我們採用雙邊濾波器(Bilateral filter),如前 面所提到的,雙邊濾波器考慮了距離與相似度的關係,同時使用了距離濾波 器(domain filter)與相似度濾波器(range filter),來求得在濾波器遮罩範圍當 中,鄰近點對於中心點的權重影響。距離中心點越近的,使用距離濾波器所 求得之權重值越大,隨著鄰近點與中心點的距離增加,以距離作為考量的權 重值以指數方式衰減;相同的,與中心點的相似度越大的,使用相似度濾波 器所得之權重值越大,隨著鄰近點與中心點的差距越大,以相似度作為考量 的權重值以指數衰減。但雙邊濾波器在大係數時,處理過的影像雖然較為乾 淨,但也有影像邊緣以及影像細微處模糊掉的現象,因此,在這裡我們做一 個判斷,如公式3-20 所示:

(23)

0 1 )

( ) ) (

(

, , ,

,

, =

=

⎩⎨

=⎧ A

j i

A j i j

i j i b j

i

if e

e if x

f x x h

h

… (公式 3-20)

這裡的輸入影像為 f x

(

i j,

)

,當位於座標位置(i, j)上的點在第一步的邊緣偵測 演算法(Edge detection 1)中被判斷為邊緣時

(

ei jA, =1),該點的輸出影像為原輸 入影像f x

(

i j,

)

,若該點並未在第一步的邊緣偵測演算法中被判斷為邊緣點 (ei jA, =0

)

,該點的輸出影像h x

(

i j,

)

為經過雙邊濾波器處理的結果,即為

(

,

)

b i j

h x ,演算法如下所示:

也就是說,如果位於雙邊濾波器遮罩範圍之中心點在前一步的邊緣偵測 (Edge detection 1)當中,被判斷為邊緣點,我們就不對它做雜訊濾波的動作,

而不為邊緣點者,我們就對它做雜訊濾波處理,這樣一來,就不會產生將不 應該模糊的邊緣在經過雜訊濾除步驟後模糊掉的情形了,在雙邊濾波器演算 法中,因為這裡需要以距離作為考量,我們不能用過小的濾波器範圍,如果 使用的是3×3 的濾波器尺寸大小,則在遮罩中每個鄰近點與中心點的距離是

if (

f x

(

i j,

) != edge)

//如果輸入點在 sobel 偵測邊緣中沒有被判斷為邊緣

output_pixel = bil_filter(

f x

(

i j,

) );

//該點輸出值為:以該點為雙邊濾波器的中心點,做雙邊 濾波的結果

else

output_ pixel =

f x

(

i j,

)

//如果輸入點在 sobel 偵測邊緣中被判斷為邊緣,則不對 該點做雙邊濾波

(24)

相等的,無法作距離計算,而過大的濾波器遮罩尺寸則會使得計算速率下 降,且在大的高斯係數下,雙邊濾波器的功用趨近於平均值濾波器,如此的 情況下再使用大的遮罩範圍會使得影像模糊化的情形加劇,且在Bilateral mesh noising 這篇文章當中也說到,小尺寸的濾波器做多次的疊代結果與用 大尺寸的濾波器所作之濾波效果相似,而計算量會較小 [15]。因此經過各種 考量以及實驗後,我們所採用的雙邊雜訊濾波器遮罩尺寸為5×5 大小。且將 雙邊濾波器分別在輸入影像的R、G、B 影像空間各做過一次濾波,以確定 在每個色彩空間所出現的雜訊都確實有經雜訊濾波器濾除乾淨。

做完雜訊濾波的影像接下來我們要對它做邊緣增強的步驟,但如前面所 述,做邊緣增強之時,我們必須要小心謹慎的處理邊緣的部分以避免造成將 雜訊增強的副作用,雖然在第一步的邊緣偵測(Edge detection 1)前我們已經 有使用相似度濾波器(range filter)做過雜訊濾除(Noise filtering 1),但在 Sobel 邊緣偵測的部分我們所求的是盡量大部分的偵測出可能的邊緣位置,具有大 振福的雜訊在此時有可能會被誤認為是邊緣而被偵測出來,因此這裡我們就 需要進一步的邊緣判斷步驟Edge detection 2 來進一步確認邊緣的位置,以 避 免 發 生 將 雜 訊 誤 判 為 邊 緣 的 情 形 , 這 個 步 驟 我 們 也 叫 做 false edge filtering。主要的概念為雜訊通常是單獨出現的,而邊緣則是串接的,因此 如果是邊緣點,在一定的範圍之內,一定會有其他的邊緣點存在。基於這樣 的觀念,當位於

( , )

i j 位置上的像素點f x

(

i j,

)

在Edge detection 1 的步驟中被判 斷為邊緣時(ei jA,

= ) 1

,我們以該點為中心,取一個 a × b 的遮罩範圍,如果 在這個遮罩範圍中,曾在第一步的邊緣偵測(Edge detection 1)被判斷為邊緣 點的數目(wi, j)大於我們所設的臨界值μ(threshold value)時(μ≦(a × b)),我 們才確定中心點的確為邊緣點 n 所在(ei jB, =1

)

,否則的話,中心點就列為是 雜訊點被誤判(ei jB, =0

)

,不列入最後邊緣增強所要使用的邊緣圖Edge map B

(25)

當中。如公式3-21 所示:

μ ω

μ ω

<

⎩ ⎨

= ⎧

j i

j B i

j

i

if

e if

, ,

,

0

1

, ∑ ∑

+

=

+

=

=

i a

a i p

b j

b j q

A q p j

i,

e

,

ω

… (公式 3-21)

以 3×3 濾 波 器 遮 罩 尺 寸 為 例 , 演 算 法 如 下 所 示 ( 見 圖 3-10) :

if( f x (

i j,

) = edge)

//如果輸入點在 sobel 邊緣偵測中被判斷為邊緣 才往下繼續判斷

{

for( p = -a ; p < (a + 1) ; p ++) for( q= -b; q < (b + 1); q ++)

//取一個 a × b 的遮罩尺寸大小

{

if( f x (

i p j q+ , +

) = edge) times++;

//以該點為中心點,在其附近的 a × b 的遮罩範 圍內,尋找在sobel 邊緣偵測中被判斷為邊緣數 目有多少

} }

if (times > threshold_value)

(

i p j q,

)

f x

+ +

= real_edge;

//如果在九宮格之內被判斷為邊緣點的數目大 於我們所設定的臨界值,則中心點該點的確為 邊緣點

else

(

i p j q,

)

f x

+ +

!= real_edge;

//如果在九宮格之內被判斷為邊緣點的數目小 於我們所設定的臨界值,則中心點是雜訊點被 誤判為邊緣點,不列入最後的邊緣考量中 }

(26)

圖3-10 false edge filter 示意圖

由於影像邊緣增強的步驟需要很小心的對真正的邊緣作處理,我們需要 非常確定邊緣的位置。為了確定影像邊緣增強的品質,我們依據邊緣點不會 單獨出現的原理,作edge detection2 的判斷,當在 false edge filter 中再度被 判斷為邊緣點者,我們才相信該點是真正的邊緣點,而非在edge detection2 步驟中因受未被前處理濾除乾淨的雜訊點影響,而將應該是具雜訊點的像素 位置被誤判為邊緣點位置。邊緣增強可以將原本不模糊的邊緣,經過影像增 強之後,使得邊緣特徵變得更加的明顯清晰(見圖 3-11(a)),而原本模糊的邊 緣 , 經 過 邊 緣 增 強 處 理 之 後 , 可 以 還 原 回 原 本 較 為 清 晰 的 邊 緣( 見 圖 3-11(b))。在圖 3-11 中黑色的部分為原本的影像像素值大小,紅色的部分則 是影像經過影像邊緣增強處理後的預期效果,可以發現的是,我們在影像邊 緣的位置增加了φ 強度的像素值大小,而在圖 3-11(a)中,是將影像增強使用 在原本就清晰的邊緣上,以增加邊緣的銳利效果,在邊緣該點增加強度之 後,隨著邊緣位置離邊緣點的距離越大,影像所增強的強度會遞減,因為邊 緣增強如果只單獨增強邊緣線部份的話,處理過的影像邊緣可能會顯得較為

center neighbor pixel

center pixel neighbor

pixel

(27)

突兀,因此在邊緣周圍做邊緣增強遞減的方法可以使被增強的影像邊緣較為 自然,而在圖 3-11(b)中,我們則是希望將原本模糊的邊緣能增強到清晰的 影像邊緣效果。

我們將邊緣增強處理使用在調整CIELAB 影像空間中的 L 頻域,因為如 果我們對R 或 G 或 B 做邊緣增強的動作,勢必會影響到影像的色彩,而同 時對R 與 G 與 B 做邊緣增強的計算,也有可能出現無法預期的色彩,而由 於 CIELAB 色彩空間有亮度與彩度分離的特性,針對 L 頻域作影像增強的 處理時,只會改變到影像的亮度值,不會影響到影像的彩度值,也就不會出 現錯誤色彩的情形。

我們的做法是當某一點在false edge filter 中仍然被判斷為邊緣資訊時,

將該點當作邊緣增強遮罩的中心點,該點的亮度值為

(xi, j),基於計算考量 且影像亮度調整就理論上來說只需考量邊緣鄰近位置的亮度大小,因此將影 像邊緣增強步驟的遮罩尺寸設定為3×3 大小,並且預先設定整張圖片所要增 強或減弱的影像強度百分比,此百分比乘以該點原本的亮度值

(xi, j)即可得 到該點應該增加或減去的亮度值φ 。當中心點的亮度比遮罩範圍內的平均亮 度θi,j 大時,我們將中心點的亮度值加上φ 值;反之,當中心點的亮度比遮 罩範圍內的平均亮度θi,j 小時,我們將中心點的亮度值減掉φ 值,最後得到 影像

E(xi, j)。如此一來,可以使在影像中原本較暗的邊緣更暗,使原本較亮 的邊緣更加的明亮,以用來突顯邊緣,達到邊緣增強的目的。如公式 3-22 到公式3-23 所示:

(28)

j i j

i B

j i

j i j

i B

j i

j i j

i B

j i

j i j i

j i j

i E

x L e

if

x L e

if

x L e

if x

L x L

x L x

L

, ,

,

, ,

,

, ,

,

, , ,

,

) ( 0

) ( 1

) ( 1

) (

) (

) ( )

(

θ θ θ φ

φ

=

=

<

=

>

=

⎪ ⎩

⎪ ⎨

− +

=

… (公式 3-22)

) 9 (

1

1

1 1

1 ,

,

∑ ∑

+

= +

=

=

i

i p

j j q

q p j

i

L x

θ

(公式 3-23)

The enhanced edge profile

The original edge profile The enhanced

edge profile

φ φ

The original edge profile The enhanced

edge profile

The enhanced edge profile

φ φ

The original edge profile The enhanced

edge profile

The enhanced edge profile

φ φ

(a) (b)

圖3-11 影像增強使用在(a)未模糊的邊緣(b)模糊的邊緣

3.4 實驗結果

以下我們舉Barbara 的圖為例,圖 3-12 Barbara 的影像原圖。圖 3-13 為 圖3-12 加上高斯係數 σ 等於 15 的高斯雜訊之 Barbara 影像。圖 3-14 為使用 不同係數的雙邊濾波器針對圖3-13 濾除雜訊的結果,所採用的係數為(a) (σd,

σ

r)=(1,30), (b) (σd, σr)=(1,90), (c) (σd, σr)=(10,30), and (d) (σd, σr)=(10,90)。圖 3-15 為使用我們所提出的影像處理流程處理圖 3-13 之結果,所採用的係數 為

(a) (σ

d

, σ

r

)=(1,30), (b) (σ

d

, σ

r

)=(1,90), (c) (σ

d

, σ

r

)=(10,30), and (d) (σ

d

, σ

r

)=(10,90)。

(29)

圖3-12 Barbara 的影像原圖

圖3-13 加上高斯係數σ等於 15 的高斯雜訊之 Barbara 影像

(30)

(a) (b)

(c) (d)

圖3-14 使用雙邊濾波器濾除雜訊的結果

(a) (σ

d

, σ

r

)=(1,30), (b) (σ

d

, σ

r

)=(1,90),

(c) (σ

d

, σ

r

)=(10,30), and (d) (σ

d

, σ

r

)=(10,90).

數據

圖 3-10 false edge filter 示意圖
圖 3-13  加上高斯係數σ等於 15 的高斯雜訊之 Barbara 影像
圖 3-15  使用我們所提出的影像處理流程                                                  (a) (σ d , σ r )=(1,30), (b) (σ d , σ r )=(1,90),

參考文獻

相關文件

(香港會計準則第2條 ‐ 存貨) 邊際成本計算法

首先,在前言對於為什麼要進行此項研究,動機為何?製程的選擇是基於

倒傳遞神經網路的演算法使 SPOT 假色影像轉換到 SPOT 自然色影 像。影像的結果。(3)以不同天的 SPOT 假色影像進行網路回想,產 生

本章將對 WDPA 演算法進行實驗與結果分析,藉由改變實驗的支持度或資料 量來驗證我們所提出演算法的效率。實驗資料是以 IBM synthetic data generator

樹、與隨機森林等三種機器學習的分析方法,比較探討模型之預測效果,並獲得以隨機森林

如圖 3.2-1 所示,左邊 port 為 Input 訊號,右邊六個 port 為 Output 訊號。若訊號 要由 Output1 當作輸出時,SW1、SW2、SW5 的 Switch 必頇讓路徑導通,而第三級

HDL) 如 VHDL 和 Verilog,透過如軟體設計般的語言方式進行描述來提升設計 上的抽象化階層並且降低設計時的複雜度,此設計階層被稱之為暫存器傳輸階層

本篇論文的後面章節,便對 ERP-PBCC 所產生四種速率的兩個編碼器做深入 的研究。第二章前半段詳細介紹 ERP-PBCC