鮮連義,康明
(1.上海交通大學微納電子學系,上海 200240;2.格科微電子(上海)有限公司,上海 201203)
數字圖像以及視頻噪聲的抑制起步較早,早期經典的去噪算法如:均值濾波、中值濾波、高斯濾波、維納濾波[1]等在提出時都成為主流的優秀算法。伴隨著圖像去噪技術的不斷發展,越來越多更加先進的算法被提出來,目前普遍的傳統圖像以及視頻去噪方法包含空間域去噪[1]、變換域去噪[2-4]、時間域去噪[5-6]等等。
空間域去噪算法[1]的原理是利用二維圖像空間直接采用相關操作如取平均等去除像素中的噪聲,常見的操作方法基本是對具體像素點進行代數運算等,因而此類算法的復雜度較低,運算時間較快。變換域去噪[2-4]又叫頻域去噪,不同于空間域去噪在二維圖像空間內進行像素點的處理,它的主要思路是通過特定的變換規則如傅里葉變換等,將二維的圖像矩陣數據轉換到變換域內,以便于更容易的區分圖像真值與噪聲,將噪聲過濾掉。圖像從空間域轉換到變換域的方法很多,其中最具代表性的有傅里葉變換、離散余弦變換[2]、多尺度幾何分析方法[3]以及小波變換[4]等。但是這些方法[1-4]在處理過程中不可避免的會造成圖像的平滑和細節的缺失。時間域去噪[5-6]主要的應用是多幀降噪算法,伴隨BM3D[5]算法提出的同時針對視頻降噪所提的VBM3D[6]算法,將時域的冗余信息加入視頻去噪算法當中。在此之后不斷有新的結合時間域去噪的算法例如VBM4D[7]算法等出現。但是這類的時間域去噪算法[5-7]往往需要進行多次塊匹配,計算復雜度高,處理時間長。2018年Jana Ehmann等人提出了一種基于金字塔結構的視頻去噪算法[8],可以實現高分辨率圖像在Pixel2手機上30fps的去噪處理速度,基本滿足了高分辨率圖像實時性要求,但是去噪效果還有提升的空間。
為了克服上述一些方法[2-8]模糊圖像細節[1-4]、計算復雜度高[5-7]、去噪效果受限[8]等的缺點和劣勢,本文提出了TSF算法。TSF算法結合了時空域降噪的算法和頻域降噪的原理,首先建立包含數字增益的低照度圖像噪聲模型,然后針對原始視頻中的相鄰前后兩幀圖像,基于光流法[9]完成圖像配準得到位移圖,在時空域對高頻圖像進行去噪和重構,進而結合后續噪聲圖像實現無限脈沖響應處理(Infinite Impulse Response,IIR),同時在空域進行降噪,輸出后一幀去噪圖像。所提TSF算法比實時視頻去噪[8]算法具有更好的圖像質量和紋理保持效果,與VBM4D去噪[7]算法相比,有效降低了運行時間。
本文提出的低照度場景下的視頻去噪算法處理流程如圖1所示,從上到下的三個虛線框依次代表三個步驟:
(1)視頻流前后幀的配準。
(2)視頻流前后殘差圖像的融合和圖像重構傳播。
(3)對于融合和重構生成的低噪圖像進行空間域去噪處理,得到輸出結果。
配準步驟計算兩個連續幀的位移圖,融合步驟融合輸入幀和前一幀圖像的重構圖像,最后空間域去噪處理得到當前幀的去噪結果。結合圖1的詳細流程,t和t+1時刻的圖像分解為高斯和拉普拉斯金字塔。原始圖像用于配準,拉普拉斯金字塔用于融合。融合金字塔經過重構生成與t+2時刻繼續執行IIR處理的中間幀,該重構結果作為下一幀(t+2幀)融合步驟t+1時刻的輸入,這樣可以盡量保證空間域去噪造成的細節平滑不會傳播到t+2幀的處理當中。同時低照度場景下的去噪當中僅僅采用時間域的去噪處理達不到最理想的處理效果,因此在本文的算法當中加入了空間域濾波的去噪處理模塊。重構結果經過空間域去噪處理之后作為t+1時刻的最終去噪結果。

圖1 本文算法流程
圖像配準是將多幀的圖像對齊。如圖1所示,建立t幀和t+1幀的高斯和拉普拉斯金字塔實現高頻殘差圖像的提取,并且依據光流法進行圖像配準得到位移圖。在圖像配準時使用快速的迭代逆光流法[9]加快處理速度。同時為了進一步減少處理時間,進行光流匹配時在除了原始圖像這一金字塔層級以外的其他層級,采用整數級別的運動矢量來估計像素的運動。
本算法的關鍵在于圖像融合,融合效果相當程度上決定了最終的去噪質量。融合之后重構的圖像用于IIR處理,即采用上一幀重構后的圖像而不是未經處理的圖像進行下一幀的處理。IIR處理對于去噪有很好的效果但是有潛在的偽影傳播等缺點,本文設計的插值算法對配準錯誤有很好的健壯性,降低了偽影傳播的影響。
首先利用位移圖和前一幀的金字塔Lp建立重新映射的金字塔La,于是有:

(1)
其中上標l代表圖像金字塔的級數,Al(p)代表位移圖。
最終得到的圖像金字塔是t+1幀拉普拉斯金字塔Lc與t幀拉普拉斯金字塔經過重新映射得到的圖像Lp的融合,也即是:

(2)
其中Ic(p)和Ip(p)是與像素位置、像素值以及噪聲強度有關的插值函數。
為了更好地解釋本文插值算法的設計原理,設Ldelta(p)=Lc(p)-La(p)作為像素值的差,通過與公式(2)比較得:

(3)
公式(3)當中的插值算子wc和wp分別是Ic的最小值和Ip的最大值,I是決定當前和之前像素的最終權重的插值因子。
1.2.1 建立低照度場景下的噪聲模型
低照度場景下圖像當中的信息很少,相應的噪聲比例也就越大,因此需要針對低照度的場景建立相應的噪聲模型用于輔助圖像融合。本文的數據集是基于當前手機主流圖像傳感器在低照度場景下建立的數據集。噪聲建模結合了文獻[10-11]高斯-泊松噪聲模型的方法,采用純時域疊加的方式得到參考圖像,比較噪聲圖像與參考圖像的差異得到高斯-泊松噪聲模型。需要注意的是低照度場景下數字增益也會影響圖像和噪聲數據,因此為了提升噪聲模型的泛化性能,本文將數字增益也列入噪聲模型當中,具體的噪聲模型滿足公式(4):

(4)
p為圖像像素值,g代表數字增益,n(p)代表圖像像素的標準差,a、b為曲線擬合參數。
依據公式(4)計算進而得到每一個像素的噪聲水平nl(p)。由于算法的處理是在圖像金字塔上實現的,因此針對于不同的圖像金字塔層級l需要建立不同的噪聲模型,應用到當前場景的算法流程當中進行算法下一步的處理。
1.2.2 自適應插值算子wc和wp
wc和wp分別代表當前圖像和前一幀圖像融合時的整體權重,對應地決定了去噪強度的下限和上限。wc越小,wp越大,去噪強度越大,相應的引入偽影也更多;wc越大,wp越小,引入的偽影會變少,但是去噪強度變小。算子在圖像融合過程中起到平衡去噪強度和偽影的作用。同時圖像金字塔的層級對應了不同的圖像信號頻率,在不同層級選擇不同的算子,根據最終圖像去噪質量的客觀指標和主觀評價得到最佳的算子搭配,這樣就能得到圖像質量更好,偽影更少的圖像。
由于本文的去噪處理是針對視頻而言的,某一幀圖像插值算子的權重并不能適用于視頻內的全部圖像。如果在視頻流當中采用恒定的插值算子wc和wp,當前幀所占整體權重維持不變,即相當于在視頻處理的后續幀當中弱化了去噪性能,甚至引入了噪聲。這樣得到的去噪效果在視頻流的前半部分提升了,后半部分卻下降了,不能維持去噪效果的提升,因此需要在IIR處理過程當中不斷的調整wc和wp。本文在視頻流去噪處理當中設計動態的插值算子wc和wp,使得處理結果不僅能夠實現圖像去噪效果的提升,而且能夠維持整個視頻去噪效果提升的穩定性,具體的設計思想和方式如下文所述。
所提出的TSF算法基于IIR處理,處理的是重構后的前一幀圖像和當前幀,重構后的圖像是經過去噪處理的圖像,噪聲強度是減小的,因此在避免引入偽影的同時應當逐漸增大重構后圖像的整體權重wp。本文采用有限脈沖響應(Finite Impulse Response,FIR)多幀降噪的算法思想來具體地改變wc和wp:即假設光流法得到的運動矢量結果是準確的,不包含塊匹配錯誤,得到去噪圖像也就是計算若干張噪聲圖像配準之后的融合結果。將FIR處理的思想應用到IIR處理當中得到動態的插值算子wc以及wp如公式(5)、(6)所示:

(5)

(6)
公式當中的n表示視頻流處理的幀序。
隨著視頻流的輸入,當前幀所占的比重在處理過程中不斷降低,可以保證在視頻流處理后期不會引入過多的噪聲,穩定已有的去噪效果。
1.2.3 插值因子I的設計
插值因子I的選擇是圖像融合步驟的關鍵因素。wc和wp僅僅代表當前圖像和前一幀圖像融合時的的整體權重,而插值因子I則決定了融合步驟圖像每一個像素的具體權重。在設計插值因子I時要考慮到不同的時空域處理對圖像的影響,以在最少的偽影條件下得到更好的去噪效果。同時要考慮到在視頻前期去噪處理過程中由于配準錯誤沒有得到很好的配準效果時,算法處理需要更加保守以免在當前幀引入偽影。
對于I采用了文獻[8]基于噪聲改變和像素差異的插值算子的改進方法,以sigmod函數形式實現插值因子改進。

(7)

(8)

不同的噪聲等級和像素值會令插值因子I有所差異,在不同的取值區間也會使I有不同的變化速度。在高噪聲等級條件下盡管由于配準錯誤造成的像素值差異依然產生,此時的I依然可以靈敏的調節,通過令插值因子在接近0的過程有更大的波動范圍,得到既能阻止來自之前幀的圖像成分以減少偽影,又能取得更強去噪效果的處理結果。
為了防止偽影的過度傳播,在對于I> 0.5的像素位置算法設置了一鍵關閉時域去噪效果的設計,此時使用空間域的雙邊濾波處理配準錯誤的區域,達到時空域聯合去噪的處理效果。
本文處理的圖像是基于低照度場景下的噪聲視頻圖像,因此單純的時間域去噪處理并不能達到最理想的去噪效果。雖然在本算法融合步驟的處理之中包含了空間域去噪的處理,但是圖像配準錯誤的區域并不占據很多的成分,導致空間域去噪占比也相當有限。因此在得到當前幀的重構圖像之后,在該圖像上進行空間域去噪的處理,例如雙邊濾波、引導濾波[12]、非局部均值算法[13-15]等可以繼續提升圖像質量。所提出的TSF算法采用了與BM3D[7]算法當中“兩步估計”類似的思想,先得到相對噪聲較小的圖像,再在此圖像之上實現接下來的空間域去噪處理,得到峰值信噪比和結構相似度更好的去噪圖像。為了降低復雜度,本文采用雙邊濾波空間域去噪處理。同時為了防止視頻流處理過程中空間域濾波平滑效果的傳播,如圖1所示,算法在進行空間域雙邊濾波之前就將t+1時刻的重構圖像去與t+2時刻圖像重復執行配準和融合等IIR處理,這樣可以在達到更好的去噪效果的同時有效地防止細節平滑的傳播。
當前的數據集采用當前手機主流4800萬像素圖像傳感器在低照度場景下獲取。數據集包含了36種場景,光照條件包含0.32lux、0.8lux和1.5lux;曝光時間包含1/15秒和1/30秒;場景包含靜態、動態(大運動和小運動)、色卡、手持、窗戶六個場景,每個場景拍攝60幀圖片(色卡場景除外),共計1848張圖片,數據集大小17.4G。由該圖像原始數據經過去黑電平,合并的圖像讀出方式等預處理得到灰度圖像數據,進行下一步去噪處理。
本文算法的處理是在Intel Core i7 10750H 64位操作系統,16G內存,Visual Studio 2015平臺下進行的。所提出的TSF算法在0.8lux光照,曝光速度30f條件下的視頻流處理效果折線圖以及各個場景下與VBM4D[7]、實時視頻去噪[8]等方法的結果數據對比如圖5和表1到表6所示。

表1 0.32lux光照,曝光頻率30f的靜止場景處理結果對比

表2 0.32lux光照,曝光頻率15f的靜止場景處理結果對比

表3 0.8lux光照,曝光頻率30f的靜止場景處理結果對比

表4 0.8lux光照,曝光頻率15f的靜止場景處理結果對比

表5 1.5lux光照,曝光頻率30f的靜止場景處理結果對比

表6 1.5lux光照,曝光頻率15f的靜止場景處理結果對比
由圖2和表1到表6可知,所提出的TSF算法在峰值信噪比(PSNR)、均方根誤差(RMSE)、結構相似度(SSIM)和視頻流處理穩定性方面(圖2)得到了更好的客觀指標,但是由于添加了空間域去噪的處理,相應的處理時間延長約0.01-0.02s,時間方差也依據具體環境有所上升。以表2為例,在光照為0.32lux,曝光速度15f條件下,TSF算法比實時視頻降噪[8]算法PSNR提高了0.99dB,RMSE降低了0.28,SSIM也有所提升,相比而言處理時間僅僅延長了0.013s,時間方差也只提高了0.8左右。這是因為TSF算法采用了低照度場景下的噪聲建模方式,同時針對該場景利用時空域相結合的去噪方式,對于采用的數據集產生了更好的去噪效果,顯著提高了圖像的質量,相比于實時視頻去噪算法[8]提升效果明顯,和一些其他如VBM4D[7]這種離線復雜度很高的算法也有很好的可比性。

圖2 (a)、(b)、(c)分別為0.8lux光照,曝光速度為30f的場景下視頻流處理PSNR、RMSE、SSIM結果
2.3.1 靜態場景比較
由圖3可以看出VBM4D[7]算法由于包含多次的塊匹配,因此對于圖像的周期紋理去噪效果最好,但是考慮到處理時間可以知道它的復雜度很難實現實時化處理。本文的算法處理結果在主觀去噪效果上與VBM4D[7]算法相近,并且明顯優于實時視頻去噪[8]算法。算法沒有采用塊匹配的策略,并且針對低照度場景做了相應的噪聲建模和插值算子優化,添加了空間域濾波的算法處理,獲得了相比于VBM4D[7]算法處理時間的優化和比實時視頻降噪[8]算法更好的主觀去噪效果。

(a)(b)
2.3.2 動態場景比較
與靜態場景相比,動態場景的去噪效果更能反映算法的有效性和應用性。圖4為0.8lux光照強度,曝光速度每秒30幀的動態場景下視頻流部分連續幀去噪結果,比較可以看出先經過頻域分隔處理的時空域去噪,然后通過空間域去噪處理之后,算法的去噪效果明顯,并且在本文設計的動態插值算子調節下盡量避免了產生偽影、撕裂等缺陷,反映出本文動態插值算子設計的有效性。

(a)(b)
對于傳統視頻去噪方法處理低照度場景視頻的去噪效果有限,并且塊匹配方法計算復雜度過高,處理時間過長等問題,本文提出了一種相對快速的視頻去噪方法。所提出的TSF算法建立包含數字增益的低照度圖像噪聲模型,結合了時空域的降噪方法,同時利用高斯和拉普拉斯金字塔實現了頻域的處理,相比于實時視頻去噪算法[8]在客觀的評價指標PSNR、RMSE、SSIM等方面得到了較高的提升,達到了優秀的去噪效果,同時并沒有引起很大的額外時間處理開銷。在主觀評價方面也得到了很強的圖像去噪增強的感受。算法的不足之處在于還沒有實現實時處理,因此在接下來的工作當中要在保持去噪效果的同時優化處理時間,進一步優化算法和降低算法的復雜度。