椒鹽雜訊

椒鹽雜訊也稱為脈衝雜訊,是圖像常見的一種雜訊,為隨機出現的白點或者黑點,可能是亮的區域有黑色像素或是在暗的區域有白色像素(或是兩者皆有)。椒鹽雜訊的成因可能是影像訊號受到突如其來的強烈干擾而產生、模數轉換器或位元傳輸錯誤等。例如失效的感應器導致像素值為最小值,飽和的感應器導致像素值為最大值。

處理方式

常用的去除這種雜訊的有效手段為中值濾波器。下面的實例圖像分別是原始圖像、帶有椒鹽雜訊的圖像、經過平均濾波器修復的圖像以及經過中值濾波器修復的圖像。

 
原始圖像
 
加入椒鹽雜訊的圖像
 
使用平均濾波器重建的圖像
 
使用中值濾波器重建的圖像

一般使用非線性濾波器處理椒鹽雜訊的方法,以下將簡介三種解決方法。

異常值偵測

異常偵測(Anomaly detection)有時稱為異常值偵測(Outlier detection),如其名所隱含的,在給定的資料集合中,它將偵測在已有的規律中表現異常者。現今常用的方法以計算距離為基礎的K-近鄰演算法或是機器學習中的支持向量機等,下圖的例子以平均數為基礎,在3X3的遮罩中,計算每個像素的平均值,與平均值相差絕對值ε的像素值將被平均值取代,其中,遮罩大小和誤差值ε則是和輸入圖片內容相關。

異常值偵測的缺點在於用平均值替代像素值,會造成像素值單一的背景出現異常的雜點(如天空),雖然相較於原本的椒鹽雜訊不明顯,但仍然可以看出。

 

中值濾波器

中值濾波器(Median filtering) 如其名,將一個像素的值用該像素鄰域中強度值的中間值來取代(計算中間值的過程中,也會將該像素的原始值包含),中值濾波器在處理椒鹽雜訊上能提供絕佳的雜訊降低效能。中值濾波器所衍伸的問題是計算速率,舉例而言,要計算5個元素 的中值濾波器的計算過程如下:

 
 
 
Median filter pseudocode

先取最小值再取最大值可以得到中間值,但做最小值的過程中,需要先考慮10個可能的選項( ),由於計算速度的考量,因此促進了Pseudo-median filtering (PMED)的產生。 中值濾波器的缺點為讓邊緣模糊、較不銳利,由於使用中間值替代向素值,在像素值容易有較大變化的地方,如邊界或細節的地方,會被模糊。


偽中值濾波器

為了改進中值濾波器的計算速率,偽中值濾波器(Pseudo-median filtering) 以近似的方法算出中間值,以5個元素的偽中值濾波器為例

 
  

其中,MAXMIN會低估中間值,而MINMAX會高估中間值,將兩者平均起來以近似中間值。應用在2D的偽中值濾波器可以有許多取法,例如:

 
PMED Illustration

 .........

參考資料

  • Digital Image Processing, 3/E, Rafael C. Gonzalez, and Richard E. Woods
  • Non-linear time variant system analysis, Jian-Jiun Ding(2013)