柴國強,王召巴,丁長明,肖劍平,蘆 賓
(1. 中北大學 信息與通信工程學院,山西 太原 030051; 2. 山西師范大學 物理與信息工程學院,山西 臨汾 041000;3. 上海杰普軟件科技有限公司,上海 200436; 4. 深圳市捷易檢測服務有限責任公司,廣東 深圳 518040)
下雨是生活中常見的自然現象,往往會造成視線模糊和能見度下降,從而對基于干凈圖像的目標跟蹤、交通路標識別、室外監控等計算機視覺算法帶來負面影響[1-3]. 為了保證各種算法在不同條件下的有效性,需要對雨圖像預先進行去雨處理. 因此,圖像去雨吸引了廣大學者的研究,并且取得了一定成果. 根據處理對象的不同,去雨方法主要可以分為兩類: 基于視頻的去雨方法和基于單幅圖像的去雨方法. 基于視頻的方法可以充分利用連續圖像中雨條紋的時空特性,根據這些特性分析雨條紋與背景圖像的差異從而將其去除. 與之對應,基于單幅圖像的方法因無法獲取時空信息,更加具有挑戰性.
單幅圖像去雨根據是否使用數據集進行訓練分為傳統方法和深度學習方法. 傳統方法中,Luo等[4]利用稀疏編碼,通過字典學習來分離雨條紋和背景圖像; Kang等[5]利用雙邊濾波器將雨圖分解為低頻和高頻分量進行去雨; Wang等[6]定義了一個3層的分層方案來檢測和去除單個圖像中的雨或雪. 深度學習算法中; Zhang等[7]提出了一種同時執行單圖像超分辨率和雨水去除的深度卷積神經網絡結構; Xia等[8]提出了一種簡化的殘差稠密網絡來學習雨圖像和相應干凈圖像之間的殘差; Yang等[9]設計了一個遞歸小波學習網絡來去除無標度雨帶; Zhang等[10]利用生成對抗網絡進行去雨,同時利用感知損失提升去雨效果. 盡管現有方法在去雨方面取得了不錯進展,但是,就去雨質量方面仍然有較大提升空間. 本文提出一種基于金字塔模型的注意力網絡進行去雨,在去除雨條紋的同時保證了背景紋理的恢復.
圖像金字塔是圖像多尺度的一種表達形式,使用不同分辨率來聚合圖像特征. 隨著金子塔的遞進,圖像分辨率逐漸降低,圖像尺度越小. 對于高維度的問題,如圖像分類,則只需將圖像一直降采樣即可. 對于低維度問題,如生成超分辨率圖像以及本文所處理的圖像去雨,還需將低分辨率的圖像上采樣到原始尺寸或者更大.
本文采用基于圖 1 所示的網絡進行去雨,預處理卷積層將3維雨圖像提升至128維,非局域卷積模塊有助于提升網絡的長期記憶能力,雨條紋檢測網絡用來確定降雨區域,使后續模塊對于雨條紋區域給予有意識的關注. 對稱金字塔中前一部分對圖像下采樣,生成各種尺寸的特征圖,后一部分對圖像進行上采樣,將圖像尺寸逐漸恢復至原始尺寸. 在降采樣和上采用過程中,相同尺寸的特征圖通過跳線連接,使得低維度特征可以在高維度復用,在保證細節特征傳遞的同時,增強網絡的穩定性.

圖 1 基于注意機制的金字塔去雨網絡結構
為了使網絡可以將更多的關注放在雨條紋區域,本文設計了一個具有不同擴張因子空洞卷積的多通道網絡進行雨條紋檢測. 如圖 2 所示,檢測網絡共有3個卷積通道,每個通道卷積核具有不同擴張因子,最后通過一個卷積層實現特征聚合. 通過不同的擴張因子,在不損失分辨率的情況下增加其感受野,捕獲多尺度上下文信息. 其中每個通道的卷積核尺寸均為3×3,卷積擴張因子分別為1、3、5.

圖 2 雨條紋檢測網絡結構
為了更好地利用卷積層之間的相互依賴關系,在每個通道的末端應用了擠壓激勵網絡(SeNet)[11]. 與傳統的只考慮空間信息的卷積相比,SeNet通過對信道分配不同的權值來融合空間信息和信道信息. SeNet主要有擠壓和激勵兩步組成,在擠壓操作中,在保證通道數量不變的前提下利用全局池化對特征圖進行壓縮,每個特征圖用一個權值表征; 在激勵操作中,通過全連接對擠壓操作的結果進行處理得到每個通道的權重,將權重與對應通道進行相乘實現特征的重標定. SeNet將通道信息融入每個特征圖,提高網絡的表征能力.
為了得到雨條紋檢測網絡的監督信息,將雨圖像與背景圖像相減,然后將得到的結果做二值化處理,其中1代表有雨區域,0代表無雨區域,最后將此二值化結果作為注意圖網絡的監督信息,這樣就可以使注意圖網絡檢測出雨條紋,從而指導網絡將更多注意力放在降雨區域.圖 3 為雨圖像、背景圖像和利用檢測網絡識別出的降雨區域,從檢測結果中可以看出,檢測網絡幾乎識別出所有雨條紋區域.

圖 3 雨條紋檢測網絡結果Fig.3 Result of rain streaks detection network
非局域神經網絡具有出色的捕捉圖像長時記憶的能力,對高維度計算機視覺任務非常有用[12]. 在嵌入式空間中,應用擴展高斯函數來計算相似度[12],非局域運算可以表述為

(1)
式中:X為前面特征層的輸出結果;F(1)(·)為核大小為1×1的帶激活函數的卷積層; T為矩陣的轉置.利用卷積實現非局域操作的網絡結構如圖 4 所示,其中f表示softmax激活函數.

圖 4 非局域卷積神經網絡結構
傳統的全局級非局域操作可能會導致不可接受的計算負擔,特別是當一個特征映射的尺寸較大時. 此外,文獻[13]證明了具有適當鄰域大小的非局域操作對于圖像去噪、超分辨率生成等低維度任務更有優勢. 因此,在本文處理中,非局域操作是分區域進行的. 首先將輸入特征映射到一個網格的區域(如圖 4 所示,輸入特性映射分為4個大小相同分區),然后在各個局域上進行處理,最后將特征進行合并.
本文結合圖像目標函數、感知目標函數、結構相似目標函數以及注意圖目標函數來確保生成圖像既可以去除雨條紋,又可以符合人類感知. 其中圖像目標函數衡量去雨圖像和背景圖像每個像素之間的絕對誤差,是一種低維度的像素級目標函數,其定義為
L1=LMSE(G(x)-y),
(2)
式中:x為雨圖像;G(x)為網絡去雨圖像;y為背景圖. 感知目標函數衡量兩者在高維度特征圖的差異,在高分辨率圖像重構、目標分類具有廣泛應用. 本文采用在ImageNet上預訓練的VGG16網絡分別對去雨圖像和背景圖像進行高維特征提取,感知目標函定義為

(3)
式中:VGGi為通過VGG16提取的第i層特征. 結構相似目標函數綜合亮度、對比度和結構來衡量兩幅圖像差異,其定義為
LSSIM=1-SSIM(G(x),y),
(4)
式中:SSIM為結構相似度指標,SSIM越高表示兩幅圖像越相似,兩幅完全相同的圖像其SSIM為1.注意圖目標函數用來訓練雨條紋檢測網絡,其定義為
Latt=LMSE(MAAM(x)-M(x)),
(5)
式中:MAAM(x)為雨條紋檢測網絡的輸出;M(x)為二值雨條紋圖像. 總體目標函數為
L=L1+Lssim+Lper+Latt.
(6)
由于光照、大氣散射等不確定性因素,無法獲取降雨圖像與其對應的背景圖像,本文利用文獻[14]中提供的兩組數據集進行網絡訓練,其中Rain100L包含200組訓練圖像對和100組測試圖像對,每張雨圖像包含1種雨條紋,Rain100H包含1 800組訓練圖像對和100組測試圖像對,每張雨圖像包含5種雨條紋.
本文利用深度學習框架Pytorch作為網絡搭建工具,使用ADAM優化器來訓練模型,并且將其參數分別設置為0.9和0.99. 初始化學習率為0.001,每訓練40個epoch后學習率降低10倍,模型一共訓練100個epoch. 為了對比不同方法在合成數據集上的去雨效果,采用兩種常用的圖像評價標準進行定量分析,即結構相似度(SSIM)和峰值信噪比(PSNR). 將本文算法去雨結果與基于傳統優化算法的DSC[4]和兩種基于深度學習的算法JORDER[14]和SPANet[15]進行了對比.
表 1 列出了不同方法在訓練數據集上去雨效果的定量比較結果. 可以看出,本文方法在Rain100H和Rain100L兩個數據集上都取得了最好結果,與其他方法相比,優勢較大,驗證了本文方法有效性.

表 1 不同方法去雨效果定量比較Tab.1 The quantitative comparison of different deraining methods
圖 5 為不同方法去雨效果的可視化結果. 為了說明本文算法的有效性,選擇情況較為復雜的雨圖像. 從圖中可以看出,基于傳統優化的DSC幾乎無法去除雨條紋,JORDER和SPANet雖然去除了大部分雨條紋,但是有很多偽影的產生. 與其他方法相比,本文方法在去除雨條紋的同時更好地保留了背景信息.

圖 5 不同方法去雨效果可視化對比Fig.5 The visual comparison of different deraining methods
本文提出一種基于注意機制的金字塔去雨網絡,是一種以降雨圖像為輸入,去雨圖像為輸出的端到端的深度學習網絡. 該網絡以金字塔結構為主體,首先采用非局域神經網絡增強圖像的長時記憶; 然后利用多通道的聚合技術和擠壓激勵網絡檢測雨條紋,其中不同通道采用不同的卷積擴張因子擴大網絡的感受野,擠壓激勵網絡的使用進一步提高了網絡表征能力,生成的注意圖可以使后續網絡給予雨條紋區域有意識關注; 最后通過對稱的金字塔網絡完成雨條紋的去除. 與現有方法相比,本文方法在峰值信噪比和結構相似度都取得更好結果,去雨結果的可視化對比也驗證了本文算法的有效性.