傅繼彬,李春輝
(河南財經(jīng)政法大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,河南 鄭州 450046)
雨是自然界中的一種常見氣候,但是雨滴在圖片上造成的雨痕不僅會劣化人對圖像的視覺感受,而且由于大量計(jì)算機(jī)圖像處理算法都假定輸入圖像清晰且可見度高,因此圖片上的雨痕會對諸如目標(biāo)檢測、目標(biāo)跟蹤、圖像分割等圖像處理工作造成不良影響。綜上,圖像去雨模型研究具有重要現(xiàn)實(shí)意義。
對于帶有雨痕的圖像,即雨圖像,使用最為廣泛的模型[1-2]為:
其中,O為雨圖像,B為所期望獲得的無雨背景圖像,R為在背景圖像上層的雨痕。圖像去雨的目標(biāo)即為從O中分離B和R,以獲得無雨背景圖像。由于需要求解的未知項(xiàng)是已知項(xiàng)的2 倍,故求解本身并不容易。因此,實(shí)現(xiàn)徹底完善的圖像去雨是計(jì)算機(jī)圖像處理中一項(xiàng)具有挑戰(zhàn)的工作。
從現(xiàn)有文獻(xiàn)看,雨痕層R主要分為3 類,分別是線性形雨痕、離散雨滴[3]和聚積雨霧[4]。在方法分類上,之前提出的圖像去雨方法大致可劃分為視頻圖像去雨和單幅圖像去雨2 類,其中視頻去雨所需的連續(xù)幀圖像與圖像中物體相對穩(wěn)定的要求在現(xiàn)實(shí)拍攝條件下并不容易滿足。而單幅圖像去雨不僅應(yīng)用靈活,且可用于增強(qiáng)視頻去雨的單幀圖像處理性能。因此,自出現(xiàn)起單幅圖像去雨就是視頻去雨領(lǐng)域的重要研究方向。隨著以視覺Transformer(Vision Transformer,ViT)[5]為代表以Transformer 為基礎(chǔ)的圖像處理方法的出現(xiàn),以及擺動Transformer(Swin Transformer,ST)[6]的提出,以ST 為基礎(chǔ)構(gòu)建而成的圖像處理方法Swin 圖像恢復(fù)(Swin Image Restoration,SwinIR)[7]能以更優(yōu)的效能提取圖像內(nèi)的特征,將其與單幅圖像去雨方法結(jié)合可以有效提升其效能。
本文提供一種基于DSRCNN 的單幅圖像去雨模型,利用增強(qiáng)型SwinIR 圖像特征提取模塊優(yōu)化去雨方法效果,加深DSRCNN 網(wǎng)絡(luò)結(jié)構(gòu),使用更為合理的損失函數(shù),該方法創(chuàng)新點(diǎn)如下:①利用增強(qiáng)型SwinIR 圖像特征提取模塊(Enhanced SwinIR Image Feature Extraction Module,ESIFEM)取代深度去雨卷積神經(jīng)網(wǎng)絡(luò)(Deep Rain Streaks Removal Convolutional Neural Network,DSRCNN)[8]中的殘差塊,提取圖像中的淺層與深層特征,建立Swin DSRCNN 的每級網(wǎng)絡(luò),通過更為高效的特征提取優(yōu)化去雨方法效果,進(jìn)而通過若干級網(wǎng)絡(luò)的順序結(jié)合構(gòu)成殘差Swin DSRCNN(Residual Swin DSRCNN,RDSRCNN)網(wǎng)絡(luò);②加深DSRCNN 網(wǎng)絡(luò)結(jié)構(gòu)并在除最后一級外的每級網(wǎng)絡(luò)的輸出上應(yīng)用殘差連接,串聯(lián)本級網(wǎng)絡(luò)與上一級網(wǎng)絡(luò)的輸出(或原圖像),以此增強(qiáng)DSRCNN 的去雨能力以及保證輸出圖像的無雨背景強(qiáng)度,并降低提取特征所需的模型復(fù)雜度,以此構(gòu)成單幅圖像DSRCNN 去雨模塊(Single Image DSRCNN Derain Model,SIDDM);③在損失函數(shù)上,l1范數(shù)[9]與MS-SSIM損失函數(shù)組成復(fù)合損失函數(shù)而非單一的l2范數(shù)損失函數(shù),這種復(fù)合損失函數(shù)對圖像亮度、顏色和對比度的保留能力優(yōu)于l2范數(shù)損失函數(shù),可增強(qiáng)網(wǎng)絡(luò)本身的學(xué)習(xí)效率。
圖像去雨可分為視頻去雨和單幅圖像去雨兩種,其中視頻去雨問題最早在文獻(xiàn)[10]中被提出。歷經(jīng)十幾年發(fā)展,視頻去雨領(lǐng)域既有傳統(tǒng)的無網(wǎng)絡(luò)方法[11-12],也有基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的端到端深度學(xué)習(xí)去雨方法[12-13]。近期,Jayaraman 等[8]提出一種基于高效視頻編碼器(High-Efficiency Video Coder,HEVC)后處理優(yōu)化算法DSRCNN,在此方法中,通過合理利用激活函數(shù)等方法避免了CNN 在去雨任務(wù)下的過擬合問題并加快了網(wǎng)絡(luò)收斂速度。
單幅圖像去雨工作由于其較高的復(fù)雜度,研究起步晚于視頻去雨。在傳統(tǒng)方法中,Kang 等[14]提出通過將去雨問題轉(zhuǎn)換成形態(tài)分量分析(Morphological Component Analysis,MCA)問題實(shí)現(xiàn)單幅圖像去雨痕。該方法利用基于MCA 的字典學(xué)習(xí)和稀疏編碼將圖像分為有雨和無雨兩部分,進(jìn)而完成去雨。Chen 等[15]提出并建立一種在二維圖像上將矩陣變換為張量的低秩雨貌模型以捕獲時空相關(guān)的雨痕,而后將這種模型泛化到高階的圖像結(jié)構(gòu)(例如圖像)上。
2017 年后,單幅圖像去雨方法中引入了深度學(xué)習(xí)方法。DerainNet[16]通過學(xué)習(xí)無雨圖像和雨圖像之間的非線性映射關(guān)系進(jìn)行去雨,深度細(xì)節(jié)網(wǎng)絡(luò)(Deep Detail Network,DDN)[17]通過學(xué)習(xí)負(fù)殘差細(xì)節(jié)實(shí)現(xiàn)去雨。Yang 等[18]提出聯(lián)合雨水探測和清除(Joint Rain Detection and Removal,JORDER)的方法,首先利用膨脹網(wǎng)絡(luò)學(xué)習(xí)主要特征,然后逐步去雨。隨著循環(huán)擠壓—激勵上下文聚合網(wǎng)(Recurrent Squeeze-and-Excitation Context Aggregation Net,RESCAN)[19]、漸進(jìn)循環(huán)網(wǎng)絡(luò)(Progressive Recurrent Network,PReNet)[20]、密度感知的 多流密 集連接 網(wǎng)絡(luò)(Densityaware Multi-stream Densely Connected Network,DIDMDN)[21]與空間關(guān)注網(wǎng)絡(luò)(Spatial Attentive Network,SPANet)[22]等模型提出,深度神經(jīng)網(wǎng)絡(luò)已經(jīng)成為去雨模型的主流算法。
Vaswani 等[23]首次提出Transformer 的概念,其在自然語言處理[24-25]上取得最先進(jìn)的技術(shù)(State of the Art,SOTA)表現(xiàn)。在圖像處理方面,Transformer 的自注意力機(jī)制沒有CNN 卷積核處理不同的圖像區(qū)域效果不佳這一問題,而是能捕獲全局圖像內(nèi)容間的互動。由此其最初被應(yīng)用于圖像處理[26]和高級視覺問題處理[27-28]中。雖然全局自注意力機(jī)制能高效捕捉長距離上的像素互動,但其計(jì)算復(fù)雜度會隨著圖像分辨率的上升而呈平方級提高。舉例而言,一幅大小為h×w,其圖像的全局自注意力處理的計(jì)算復(fù)雜度Ω(MSA)為(C為常數(shù)):
因此,全局自注意力機(jī)制不適用于高分辨率圖片。針對這一問題,文獻(xiàn)[6-7,29]給出了大致2 種解決方案:文獻(xiàn)[6-7]指出只對一個像素四周區(qū)域,即一個窗口的區(qū)域進(jìn)行窗口自注意力處理;文獻(xiàn)[29]指出將輸入圖像分解為多個互不重疊的塊,而后分別對各塊內(nèi)進(jìn)行自注意力處理。以上文獻(xiàn)指向限制自注意力處理的擴(kuò)展范圍,以求在捕捉盡可能長距離像素之間關(guān)系的前提下實(shí)現(xiàn)高效圖像處理。
本文端到端單幅圖像去雨方法RDSRCNN 的去雨網(wǎng)絡(luò)為N級網(wǎng)絡(luò),如圖1 所示。整體網(wǎng)絡(luò)的輸入為由單幅雨圖像與無雨真值圖像所構(gòu)成的圖像對,將圖像對中的雨圖像輸入特征提取模塊進(jìn)行特征提取并去雨,真值圖像用于每一級網(wǎng)絡(luò)。每級網(wǎng)絡(luò)的輸入∈Rc×h×w在經(jīng)過歸一化及特征提取后,取得第n個特征張量特征張量的大小cE×hE×wE根據(jù)方法中人為設(shè)置的投影維度(本文為90×16×16)確定。而后將特征輸入DSRCNN去雨模塊進(jìn)行處理,處理結(jié)果為第n個中間結(jié)果圖像,然后將中間結(jié)果圖像與圖像對中的真值圖像輸入混合損失函數(shù)LMix并進(jìn)行反向傳播。如此,整個網(wǎng)絡(luò)中的一級處理結(jié)束,若網(wǎng)絡(luò)級數(shù)低于設(shè)置數(shù)量(本文中為4),則下一級網(wǎng)絡(luò)的輸入為即對本級網(wǎng)絡(luò)輸入與上一級輸出連接1×1 卷積,使用卷積是為了統(tǒng)一輸入尺寸。對于沒有上一級的第一級網(wǎng)絡(luò),為圖像對中的單幅雨圖像。輸出結(jié)果則為網(wǎng)絡(luò)的最終輸出結(jié)果,即無雨圖像Iderain∈Rc×h×w。
Fig.1 Structure of the network圖1 網(wǎng)絡(luò)結(jié)構(gòu)
由于文獻(xiàn)[8]中DSRCNN 的原網(wǎng)絡(luò)主要處理對象是視頻圖像,如上文所述,視頻雨圖像的幀間圖像具有時空上的連續(xù)性,故視頻去雨方法可以利用這種連續(xù)性以較低的計(jì)算代價捕捉雨痕的特征,或者利用背景相對雨痕靜止以提取背景特征。對于單幅圖像去雨,由于其數(shù)據(jù)集中的圖像之間并不具有時空上的連續(xù)性,故若以DSRCNN 這類視頻去雨網(wǎng)絡(luò)直接處理單幅圖像結(jié)果會十分不理想,最終通常無法完成去雨任務(wù)。為了避免這一問題在RDSRCNN 中出現(xiàn),在特征提取方面,本文利用基于SwinIR 設(shè)計(jì)的Swin-IR 特征提取模塊以提取雨圖像中的特征。
增強(qiáng)型SwinIR 特征提取模塊基于SwinIR 方法設(shè)計(jì),其大體結(jié)構(gòu)如圖2(a)所示,包含淺層特征提取與圖2(b)中的增強(qiáng)型深層特征提取模塊(Enhanced Deep Feature Extraction Module,EDFEM)。淺層特征提取模塊與文獻(xiàn)[7]中方法相同,使用3×3 卷積層HSF(·) 從輸入圖像中提取出淺層特征F0∈RH×W×C,即:
Fig.2 Structure of ESIFEM and its internal models圖2 ESIFEM 及其各內(nèi)部模組結(jié)構(gòu)
H、W、Cin、C分別是輸入圖像的長、寬、通道數(shù)和特征張量的通道數(shù)。EDFEM 以增強(qiáng)型RSTB(Enhanced Residual Swin Transformer Block,ERSTB)層(圖2(c))為基礎(chǔ)構(gòu)建,每個ERSTB 都由受到文獻(xiàn)[6]的啟發(fā)而構(gòu)建的增強(qiáng)型STL(Enhanced Swin Transformer Layer,ESTL)(圖2(d))和全局Transformer 層(Global Transformer Layer,GTL)構(gòu)成(圖2(e))。ESTL 內(nèi)部包含2組自注意力處理,其中一組以窗口多頭自注意力(Window Multi-head Self Attention,WMSA)處理特征張量以提取窗口內(nèi)特征,另一組以Swin 窗口自注意力(Swin Window Multi-head Self Attention,SWMSA)處理第一組的輸出以保證窗口自注意力處理不會忽略窗口周圍的像素對窗口內(nèi)圖像的影響。在每個殘差Swin Transformer 塊(Residual Swin Transformer Block,RSTB)的末尾包含以整個輸入張量而非張量窗口為處理對象的全局多頭自注意力(Global Multi-head Self Attention,G-MSA)的GTL 而非ESTL 作為尾端處理模塊以較低代價避免W-MSA 和SW-MSA 造成的全局像素關(guān)系信息缺失。
式(4)—式(8)表述的是EDFEM、ERSTB、GTL 和ESTL處理其輸入特征張量的過程。因此得知,利用SwinIR 在特征提取階段對于去雨任務(wù)的泛化能力,不僅保留了ESIFEM 對圖像特征的高效提取能力,而且通過改進(jìn)SwinIR 中的模塊而設(shè)計(jì)的ESTL 與GTL 使ESIFEM 在維持ST 類圖像特征提取方法的低復(fù)雜度前提下,還獲得了利用窗口外像素輔助進(jìn)行特征以及一定的全局像素間關(guān)系特征的提取能力。FESIFEM的上述特征,給予了RDSRCNN 處理單幅雨圖像的數(shù)據(jù)基礎(chǔ)。
為使視頻去雨方法DSRCNN 能夠有效處理單幅雨圖像,SIDDM 對原始DSRCNN[8](以下稱為原始去雨網(wǎng)絡(luò))做了3 項(xiàng)改進(jìn),即增強(qiáng)網(wǎng)絡(luò)學(xué)習(xí)能力、輸出迭代和殘差連接處理。
在增強(qiáng)網(wǎng)絡(luò)學(xué)習(xí)能力方面,以卷積—激活—池化的方式構(gòu)建復(fù)合卷積層代替原始去雨網(wǎng)絡(luò)中單純的所有卷積層處理。其目的首先是增強(qiáng)初始化模塊對于不同方向、密度和粗細(xì)雨痕的探測能力,其次是增加原始去雨網(wǎng)絡(luò)中負(fù)責(zé)增強(qiáng)學(xué)習(xí)能力的批歸一化層的深度,利用復(fù)合卷積層與池化層使其變?yōu)橐粋€3 層并聯(lián)深度網(wǎng)絡(luò)模塊,以多種卷積核大?。ㄟ@里使用的是([hprev/2]+1,[wprev/2+1]))處理多尺度雨痕問題。
對于原始去雨網(wǎng)絡(luò)而言,由于輸入的幀間圖像為多個區(qū)分度較低的相同背景雨圖像,若對結(jié)果進(jìn)行迭代處理可能會由于對某些特征的過度學(xué)習(xí),加重原始去雨網(wǎng)絡(luò)的過擬合傾向,故不對去雨結(jié)果進(jìn)行迭代處理。由于RDSRCNN 的輸入為除雨痕特征外互不相關(guān)的圖片,對于輸出的迭代不會引起與原始去雨網(wǎng)絡(luò)一樣的嚴(yán)重過擬合情況。相反,由于每個SIDDM 輸出的都是相對其輸入圖像的雨痕弱化圖像,通過殘差連接對雨痕進(jìn)行增強(qiáng)后輸入下一個SIDDM 中進(jìn)行處理即可在維持本SIDDM 的雨痕提取效果的前提下通過增強(qiáng)不易被捕捉雨痕的方法提升SIDDM 最終的雨痕捕捉比例與效果,也即通過逐級增強(qiáng)SIDDM 的去雨效果最終達(dá)成RDSRCNN 相對于原始去雨網(wǎng)絡(luò)在單幅圖像去雨上的性能優(yōu)勢。
最后,通過池化層統(tǒng)一輸入特征張量,初始化模塊處理張量以及改進(jìn)歸一化模塊輸出張量的大小,并將整合特征張量輸入3 個串聯(lián)線性層。由于無論是ESIFEM 或是SIDDM 都更傾向于提取圖像中的高頻特征,即雨痕,故線性層輸出的是雨痕圖像,用輸入的雨圖像與雨痕圖像作差即可輸出本SIDDM 的雨弱化圖像(或最終去雨圖像),SIDDM 的結(jié)構(gòu)如圖3所示。
Fig.3 Structure of SIDDM圖3 SIDDM 結(jié)構(gòu)
RDSRCNN 方法采用Zhao 等[30]提出的混合損失函數(shù)LMix。結(jié)構(gòu)相似性(Structural Similarity Index Measure,SSIM)提出自文獻(xiàn)[31],SSIM 及以其為基礎(chǔ)的損失函數(shù)是針對視覺感受的感知驅(qū)動函數(shù)。為了克服SSIM 作為損失函數(shù)對于高斯濾波器標(biāo)準(zhǔn)差的敏感,文獻(xiàn)[32]提出SSIM的多尺度版本MS-SSIM(Multi-Scale SSIM,MS-SSIM),若將尺度設(shè)置為M級,某一像素位置的MS-SSIM 為:
式(9)中,μx、μy分別為2 張圖片在該位置的均值,σx、σy分別為2 張圖片在該位置的方差,σxy為聯(lián)合方差,C1、C2為常數(shù),α和βj統(tǒng)一設(shè)定為1。由式(9)可得,以MS-SSIM為基礎(chǔ)的損失函數(shù)在以像素為中心的圖像塊P上的損失為:
不同于l2范數(shù),l1范數(shù)作為損失函數(shù)時不會過度懲罰大誤差而容忍小誤差。l1范數(shù)的損失函數(shù)為:
式(11)中,p為圖像塊P上像素的索引。x(p) 與y(p)是2個輸入圖像塊像素p的值。
根據(jù)文獻(xiàn)[33]所述,a=0.84 時效果最佳。相較于l2范數(shù)損失函數(shù),文獻(xiàn)[33]中證明混合損失函數(shù)LMix在多種圖像處理任務(wù)上的效能更優(yōu)。
為驗(yàn)證本文所提方法的效能,在Rain100H 數(shù)據(jù)集上利用DerainNet、DID-MDN 與RDSRCNN 分別進(jìn)行訓(xùn)練與測試,給出實(shí)驗(yàn)結(jié)果并進(jìn)行效能對比。參與對比的所有方法都統(tǒng)一在1 800 張圖像的訓(xùn)練集上訓(xùn)練300 輪后,再根據(jù)訓(xùn)練模型進(jìn)行單幅圖像去雨以測試各方法效率。
實(shí)驗(yàn)在Google Colab 上進(jìn)行。實(shí)驗(yàn)軟件環(huán)境為:Python 3.6,Pytorch 1.12.1,CUDA 11.2;實(shí)驗(yàn)硬件環(huán)境為:內(nèi)存52 GB,CPU 主頻2.30 GHz,GPU Tesla P100 。
對比實(shí)驗(yàn)評估分為兩部分:①量化評估,通過峰值信噪比(Peak Signal to Noise Ratio,PSNR)與SSIM 兩個數(shù)值,統(tǒng)計(jì)所有方法的去雨表現(xiàn);②主觀視覺評估,通過肉眼觀察處理圖像是否有明顯的模糊、偽影、斑紋等缺陷。通過在數(shù)值上與視覺上對各方法進(jìn)行分析以獲得較為全面的評價。
3.2.1 量化評估
在量化評估方面,各對比方法的PSNR 和SSIM 值如表1所示。
Table 1 PSNRs and SSIMs of comparation methods表1 各對比方法的PSNR與SSIM值
表1 中的前3 行展示了Derain、DID-MDN 和Restormer[33]在Rain100H 上訓(xùn)練300 輪后結(jié)果的PSNR 及SSIM 值??梢钥吹剑齊estormer 外的方法在規(guī)定訓(xùn)練輪數(shù)下的量化結(jié)果,即PSNR 與SSIM 均不如最后一行的RDSRCNN,Restormer 方法雖然在量化結(jié)果上具有完全優(yōu)勢,但是在訓(xùn)練期間其內(nèi)存占用遠(yuǎn)超RDSRCNN(內(nèi)存占用平均比例:Restormer70%,RDSRCNN 50%)且RDSRCNN 的結(jié)構(gòu)較為簡單,更為輕量級,更易于實(shí)現(xiàn)。
為了評估本方法中ERSTB 的網(wǎng)絡(luò)塊數(shù)量對于網(wǎng)絡(luò)去雨性能的影響,在實(shí)驗(yàn)中通過分別削減EDFEM 中ERSTB數(shù)量為默認(rèn)值的50%(每個EDFEM 中包含2 個ERSTB 模塊)與削減整個網(wǎng)絡(luò)中網(wǎng)絡(luò)級數(shù)為默認(rèn)值的50%(總級數(shù)為2)進(jìn)行訓(xùn)練與去雨測試。測試結(jié)果見表1 中4-5 行,可以看到相對于不進(jìn)行任何模塊與級數(shù)削減的完整方法,對ERSTB 與總網(wǎng)絡(luò)級數(shù)的削減都會導(dǎo)致網(wǎng)絡(luò)性能下降,也從側(cè)面證明ERSTB 與適當(dāng)網(wǎng)絡(luò)深度對本文網(wǎng)絡(luò)整體性能的重要性。為評估混合損失函數(shù)LMix對于網(wǎng)絡(luò)性能的影響,實(shí)驗(yàn)中在保留完整網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)的前提下,將LMix換為均方誤差損失函數(shù)(MSE)進(jìn)行訓(xùn)練與去雨測試。結(jié)果如表1 第6 行所示,可以看到在規(guī)定條件下,其性能仍不及使用LMix的完整網(wǎng)絡(luò),證明本文使用的混合損失函數(shù)相較于一般的損失函數(shù)MSE 具有更高的性能。
3.2.2 可視化評估
在可視化評估方面,由圖4 可以看出Derain、DIDMDN 中的前景仍有未去除的雨痕(0-12 處),除RDSRCNN和Restormer 外沒有一個對照方法完成了背景雨痕消除工作。RDSRCNN 的去雨結(jié)果顯示,圖像前景幾乎無雨痕(0-1 處),背景雨痕去除率高于90%,但存在亮度過高的問題。Restormer 雖然去雨效果較為完美,但空間復(fù)雜度性能不如RDSRCNN。
由量化評估與可視化評估結(jié)果可以看出,RDSRCNN作為單張圖像去雨方法對系統(tǒng)資源要求較低的同時保證了一定性能,在系統(tǒng)資源有限的場景中有其應(yīng)用價值。
RDSRCNN 方法在網(wǎng)絡(luò)結(jié)構(gòu)上結(jié)合了基于SwinIR 特征提取模塊設(shè)計(jì)的ESIFEM 和基于DSRCNN 設(shè)計(jì)的SIDDM,利用ESIFEM 基于ST 的特征提取能力彌補(bǔ)了單幅圖像相對于視頻圖像缺乏幀間圖像關(guān)系的缺陷,利用增強(qiáng)網(wǎng)絡(luò)學(xué)習(xí)能力、處理結(jié)果迭代和殘差連接等方法保證了單幅圖像在SIDDM 上的去雨效果。通過應(yīng)用更為有效的混合損失函數(shù)LMix,提升了去雨網(wǎng)絡(luò)量化評價。并且,通過實(shí)驗(yàn)證明了本文提出的增強(qiáng)型方法及其中模塊的有效性與當(dāng)前先進(jìn)方法相比具有更強(qiáng)的經(jīng)濟(jì)性。近年來,隨著社會智能化的演進(jìn),圖像去雨的應(yīng)用范圍也將越來越廣泛,將具有重大理論研究與應(yīng)用價值,本文方法對于同類研究也頗具借鑒意義。