【雜碎筆記】【計算機與機器視覺 by E.R.Davies】Chapter3

3 基本圖像濾波運算

3.1 介紹

對於N*N的圖像,FFT將時間複雜度從O(N3) 降至O(N2log2N)
相比傅里葉正反變化及頻域相乘操作,直接在空間域卷積或許會節省計算量。

3.2 通過高斯平滑的噪聲抑制

低通濾波器鋒利截斷會產生震盪,e.g. 矩形窗<->(sinx/x)。
高斯濾波器:
f(x) = 1(2πσ2)12ex22σ2
F(ω) = e12σ2ω2
一種接近高斯性質的卷積蒙板:
116121242121
儘管抑制了噪聲,同時有用信號也被影響。

3.3 中值濾波

限幅濾波器(“limit” filter)

for all pixels in image do {
    minP = min(P1,P2,P3,P4,P5,P6,P7,P8);
    maxP = max(P1,P2,P3,P4,P5,P6,P7,P8);
    if(P0 < minP)Q0 = minP;
    else if(P0 > maxP)Q0 = maxP;
    else Q0 = P0;
}

中值濾波器(median filter)

for(i = 0; i <= 255; i++)hist[i]=0;
for all pixels in image do {
    for(m = 0; m <= 8; m++)hist[P[m]]++;
    i = 0; sum = 0;
    while(sum < 5){
        sum = sum + hist[i];
        i = i + 1;
    }
    Q0 = i - 1;
    for(m = 0; m <= 8; m++)hist[P[m]] = 0;
}

中值濾波器在抑制脈衝噪聲上有很好的表現,並且減少了模糊,彌補了高斯平滑濾波器的主要缺陷。
對於n*n鄰域的中值濾波,若採用冒泡排序,時間複雜度高達O(n4) 所以n通常不大於4。

3.4 衆數濾波器(mode filters)

由於區域亮度分佈只計算鄰域中非常少的亮度值,所以我們很可能得到多峯值的分佈,而分佈的最高點不一定能象徵潛在的衆數。所以在計算衆數前分佈需要進行相當的平滑(smooth out)。
邊緣附近的分佈固有存在雙峯,平滑圖像一般爲單峯。
若鄰域橫跨一條邊緣,並且亮度分佈是雙峯的,則應該選取較大的峯作爲該點亮度值。選取較大峯的一種好的策略是消除較小峯。
衆數的位置能在中值確定後合理的估計。
首先找到衆數mode,然後找到與衆數最接近的極限值e,向相反方向移動衆數與極限值之間的距離得到截斷值2*mode-e。由於最初不知道衆數,可以用中值代替來估計。
截斷後分佈的中值更接近衆數,可以通過迭代的方式用中值來逼近衆數。
TMF(truncated median filter),截斷中值濾波器,不僅去除了噪聲,還增強了邊界。
TMF的一種實現:

do{//as many passes over image as necessary
    for all pixels in image do{
        compute local intensity distribution;
        do{//iterate to improve estimate of mode
            find minimum,median,and maximum intensity values;
            decide from which end local intensity distribution should be truncated;
            deduce where local intensity distribution should be truncated;
            truncate local intensity distribution;
            find median of truncated local intensity distribution;
        }until median sufficiently close to mode of local distribution;
        transfer estimate of mode to output image space;
    }
}until sufficient enhancement of image;

使用場景:
中值濾波器:需要較大的脈衝信號抑制能力。
衆數濾波器 or TMF:銳化邊緣來增強圖像。
儘管TMF設計更多的是用來圖像增強,但是實際發現當脈衝噪聲非常多時,TMF的抑制效果很好。

3.5 排序濾波器(rank order filters)

鄰域n個值中的第r位作爲輸出。中值濾波器可以看作r=(n+1)/2的排序濾波器。

3.6 減少計算壓力

對於256*256的圖像,用30*30的高斯卷積蒙板來平滑,需要6400萬次基本運算。
可以將二維高斯卷積分解成一位高斯卷積:
er22σ2 = ex22σ2ey22σ2
將3*3高斯濾波器分解成:
116121242121 = 1412114[121]
可以將一個O(n2) 的運算分解成2個O(n) 的運算。
高斯濾波器的分解是精確而不是近似的,而中值濾波器無法不近似的分解。通常的做法是依次進行兩次一維的中值濾波。
不能精確分解並不是非線性濾波器的特點,很多線性濾波器也不能精確分解。因爲n*n蒙板係數n2 大於n*1和1*n蒙板的係數和。

3.7 銳化-反銳化蒙板(Sharp-Unsharp Masking)

將原圖像進行模糊處理,並用原圖像去減模糊的圖像。

3.8 中值濾波器引進的移位

3.8.1 連續二值圖像模型

圖3-1
如圖,對於連續二值圖像,對於r=b的圓形邊界B(圖像中圓B內部應爲黑色),以r=a的圓A爲鄰域,進行中值濾波,獲得到的邊界D(r=d),有:
兩個圓形重疊部分面積C=πa22
重疊部分面積C=Sa+Sb
其中Sa 爲兩圓交點連接成的弦與圓A被弦分割出的劣弧所圍成區域面積,2α 爲圓A圓心O(A)到該弦的夾角;Sb 爲兩圓交點連接成的弦與圓B被弦分割出的劣弧所圍成區域面積,2β 爲圓B圓心O(B)到該弦的夾角。
以及:
Sa = a2(αsinαcosα)
Sb = b2(βsinβcosβ)
a2=b2+d22bdcosβ
b2=a2+d22adcosα

a<<bαπ/2 ,db ,βab
由中值濾波引進的邊界半徑減小Δ=bda26b=κa26 其中曲率κ=1/b

3.8.2 推廣到灰度圖像

同樣的,對於直線邊界,中值濾波不帶來移位。
對於曲線邊界,灰度圖像具有有限斜率。我們只需要找到一條等亮線,能把鄰域中的圖像分爲兩個相同大小的部分。

3.9 中值移位的離散模型

同樣的,對於直線邊界,不帶來移位。
假設一個像素的亮度是整個像素區域的平均值。
對於3×3鄰域,考慮中值等亮度線的曲率爲κ ,等亮度線經過中點附近時,法線與x軸夾角爲θ ,那麼位移Dθ12κa20a0θ=12κθ
其中a0 爲像素間距,這裏取1個單位。
當中值落在中間一列的上下兩個像素,設曲率半徑b=1κ ,有a20=D(2bD)2Db

3.10 衆數濾波器引進的移位

同樣的,對於直線邊界,由於對稱性,不會帶來移位。
對於階躍曲線邊界,衆數濾波器與中值濾波器表現相同,由衆數濾波引進的邊界半徑減小Δ=bda26b=κa26 其中曲率κ=1/b
對於亮度平滑變化的邊界,圓形鄰域C中,等亮度線最長的那條成爲結果的亮度。顯而易見這條等亮度線與C的兩個交點,相連是一條直徑。我們需要計算該等亮度線的中點與直徑中點的偏差,模型同3.9中最後一例,有a20=D(2bD)2Db ,於是,D=12κa2
鄰域平均濾波器的移位概括:

邊緣類型 均值濾波器 中值濾波器 衆數濾波器
階躍 16κa2 16κa2 16κa2
中間型?(Intermediate) ~17κa2 16κa2 12κa2
線性 18κa2 16κa2 12κa2

3.11 均值濾波器和高斯濾波器引進的移位

同樣的,對於直線邊界,不會帶來移位。
對於階躍曲線邊界,模型與中值和衆數濾波器相同,邊界半徑減小Δ=bda26b=κa26 其中曲率κ=1/b

對於亮度平滑變化的邊界,直觀的得到D=18κa2

3.12 排序濾波器引進的移位

//TBD

3.13 濾波器在視覺的工業應用中的作用

中值濾波器在抑制噪聲的同時會清除一些有用的細節。
邊界移位是噪聲抑制濾波器的普遍特徵。
可以採用邊緣檢測算法,然後在一個整體內抑制噪聲。

3.14 彩色圖像濾波

顏色會增加計算量,但是在評估水果成熟度等應用中非常有用。
中值濾波在彩色域中沒有定義,一種簡單的方式是分別對三個通道進行中值濾波,然後重新組成彩色圖像。
但是會帶來很多問題,最明顯的一個就是滲色(bleeding)。這種情況發生在脈衝噪聲只發生在一個通道且該點處於邊界附近。
一種標準的解決方案:
單通道的度量 median = arg minij|dij|
擴展到三色彩域 median = arg minij|dij˜|
其中dij˜ = [3k=1(Ii,kIj,k)2]1/2Ii,Ij 分別是RGB向量。
儘管矢量中值濾波器(VMF)不再分開對待三個通道,但是絕不保證完全消除滲色效應。
對於顏色的交匯處,會迷惑這些濾波算法,並無意中帶來少量的滲色效應。
矢量中值濾波器和矢量衆數濾波器都顯著的拜託了滲色效應,標量衆數濾波器和標量中值濾波器一樣會產生滲色效應

3.15 結論

本章詳述了基於鄰域的噪聲抑制和圖像增強算法的實現。
展示了針對特定需求設計特定算法的重要性:不僅有效實現功能,並且針對速度、存儲等條件優化。
另外論述了選擇策略時要考慮和處理不利的屬性,例如移位。
接着論述了一些處理離散化圖像的基本問題。
最後,特定類型的排序濾波器的邊界移位十分重要,因爲它可以在形態學處理時轉化爲有利條件。
下一章將介紹圖像分割,以尋找圖像中目標的位置。

3.16 參考文獻

//忽略

//本章完,不定時糾錯與補充

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章