續聊攝影降噪:基本知識點梳理
來自專欄玩機小胖的玩具世界
在之前的文章里,我們聊到過均值疊加k張,不以2為底取對數標度的情況下,可以降低k倍的隨機雜訊,但對本底雜訊沒有作用,實際上它還對固定模式雜訊無解,下面是比之前更深入一點的再次解析,具體數學演算過程盡量省略,以免閱讀困難。
隨機雜訊是通過平場照片來獲取,選擇一個曝光遞拍攝n張,這一系列平場照片的均值可以獲得隨機雜訊均值,以及平場平均信號、單次隨機雜訊、行列隨機雜訊等數據。
選擇同一曝光值n張圖像相加,信號值S為S1+S2+…Sn,隨機雜訊σt的均值為σt1+σt1+…σtn,根據信噪比公式:
設S1=S2=…=Sn;σt1=σt1=…=σtn,不難得出S/σt就是(S1/σt1)與n的平方根的乘積,也即均值n幀可以降低根號n倍隨機雜訊。這可以當做是此前文章的內容複習。
而固定模式雜訊的影響其實遠大於隨機雜訊,通過拍攝多張全黑(比如蓋上鏡頭蓋)進行均值疊加,可以得到:暗場平均信號、均值雜訊、單次曝光雜訊、每一行/列的雜訊均值。均值信噪比也有公式:
設S1=S2=…=Sn;σf1=σf1=…=σfn,可以得到S/σf=S1/σf1,也即多幀均值疊加後不會降低固定模式雜訊。再加上不能消除CMOS本身自帶的本底雜訊(也就是脈衝雜訊,由單個弱點、壞點產生),所以對於降噪技術來說,隨機雜訊只是最基本的目標,固定模式雜訊才是大BOSS。
從邏輯上來說,因為拜耳陣列每個像素都是單色濾鏡,所以都需要猜色插值,降噪的介入自然可以從這個級別開始入手。最簡單粗暴的就是均值濾波:1個像素點的值是由周圍n個像素取均值來替代,也就是用方形矩陣模板對圖像進行卷積計算。
但它的問題是太粗暴,太簡單了,平均值本來就不是一個非常準確的統計衡量方式,雜訊可能是降低了,但銳度(信號)也都丟得差不多了。可是均值計算實在是太方便了,所以還是捨不得放棄它,既然只採周邊像素不太準確,那就改變取樣方式唄,有:
權重與取樣距離成反比,也就是距離自己越近權重越高的高斯濾波:
高斯濾波基礎之上,擴大範圍找相似像素,跟自己越像的權重越高的雙邊濾波,以及在雙邊濾波基礎上,再加上領域所有值來計算權重的非局部平均降噪,但這倆函數比較複雜,就不詳列了。下圖是雙邊濾波的前後對比:
除此之外的方法其實還不少,但共性是它們都屬於空域降噪,而且玩法也都被研究得七七八八了。但我們知道空域與頻率可以通過傅里葉或小波變換來轉化,在頻域中降噪就又有了新的玩法,因為雜訊在頻域里有高中低頻之分,變換後可以把不同頻率的雜訊分離,然後利用雜訊模型來設定相應頻域雜訊的閾值,砍掉超過閾值部分的頻段,再做反變換,就能得到降噪後的畫面了,大致流程如下:
目前比較流行的這類降噪演算法是BM3D,它結合了非局部平均降噪和轉換域降噪的特點。首先是將全圖中的相似像素塊編組並3D線性變換,然後分別變換域,按閾值濾波,最後反變換並混合,利用圖形冗餘性來進行降噪。簡化的過程可看下圖:
與非局部均值、比例萎縮、貝葉斯最小平方-高斯尺度混合模型等效果的對比效果:
所以在頻域降噪理論中,界定閾值的雜訊模型就很關鍵了,雜訊有隨信號增大而增大的相關雜訊,也即泊松雜訊,呈現在信噪比函數圖裡就是單調上升的曲線。雜訊里還有不隨信號增大,但在每個取值點都會形成波動的高斯雜訊,呈現在信噪比函數圖裡就是毛刺。兩者相加的總雜訊y即為:
α為量化參數, x為信號,Pi為信號相關雜訊,Ni為信號不相關雜訊,取值為從0 到方差。這是基本模型,實際應用要更複雜。
所以頻域降噪的流程首先是分別取CMOS RGB通道的雜訊模板,按雜訊模型做曲線擬合,再取統一亮度生成轉換函數曲線,將其賦值於原始信號後,就可以引入BM3D等降噪方案來進行處理了。這其實也是推廣在CMOS讀出後RAW階段介入機內降噪的原因之一,因為經過ISP圖像信號處理單元後,第一,會對成像圈的失光邊緣進行增益,但這個增益是徑向的,所以越往邊緣,雜訊就會顯著增強;第二,解馬賽克插值演算法會產生規律形態的雜訊,比如拉鏈狀的條紋;第三,非線性Gamma變換產生的亮度增益偏差;第四,模數轉換增益的線性偏差;第五,色域空間轉換時的偏差……下圖是一個典型的ISP後端再進行降噪的RAW原圖(手機端),可以看到雖然是同一張照片,但因為亮度增益不同,中心與邊緣噪點的差別非常明顯:
所以,雖然降噪的畫質折損其實不可避免,但將灰度降噪於ISP之前進行,彩色降噪在ISP後端分離亮度通道和彩色通道後進行,效果會更好。
最近比較繁忙,所以更新稍放緩,本文談得也比較淺,算是一次簡單的學習筆記,感興趣的朋友可以在評論區提問,我會第一時間一一作答的,謝謝。
推薦閱讀:
※藝術與艷俗,僅《一步之遙》
※當代書畫名家——李俊水
※【當代書畫名家推薦】國展金榜題名畫家任清宇作品欣賞
※Art Amoy 國際博覽會當代區——不同藝見藝術中心
※吾筆寫山河 崇篆漢文化 當代著名書畫印家張百成