論文閱讀:Heavy Rain Image Restoration: Integrating Physics Model and Conditional Adversarial Learning

2019 CVPR

本篇文章是2019CVPR的一篇文章,主要是提出了一個兩個階段的網絡,基於物理的主幹網絡+深度指導的GAN細化網絡。

在這裏插入圖片描述

對於大雨中的場景,雨紋明顯可見,密集的雨堆積或遮雨效果明顯,圖像被雨紋洗刷去,遠處的場景相對更加模糊等。
本文主要提出了一種方法來解決大雨問題。網絡結構主要分爲兩個階段:基於物理信息的主幹網絡和深度信息指導的GAN細化網絡。
1、第一階段:根據基本的物理原理來估計雨紋、傳輸圖和大氣光。爲了更可靠地提取這些分量,我們使用了一個引導濾波框架來將圖像分解成低頻和高頻分量。這種過濾是由一幅無雨殘差圖像引導的——其內容用於以空間變化的方式設置兩個通道的通頻帶,這樣背景細節就不會與雨條紋混淆。
2、第二階段,採用了一個深度指導的GAN去修復第一階段中沒有被恢復的背景細節,同時糾正引入的僞影。

創新之處:

1、整合了兩個階段的神經網絡:物理子網絡和細化子網絡。物理子網絡用於估計S、A、T,然後生成J。細化子網絡則包含一個 cGAN 網絡。
2、提出了一個雨紋感知分解,將雨紋分別分爲包含雨紋的高頻成分和包含雨積累的低頻成分。解決了雨紋和雨積累的纏結問題,同時能使用低頻成分解決估計大氣光的問題。
3、提供了一種新的以一種與場景深度一致的方式來合成遮擋效果的合成數據生成管道。爲了更加真實,還在傳輸圖和背景上添加了高斯模糊來模擬暴雨場景下的散射效果。

前人工作:

1、目前存在的去雨的方法,大多都不是爲大雨場景下設計的。
2、Kang等人提出第一個使用雙邊濾波器將輸入圖像分解爲低頻分量和高頻分量的單幅圖像去雨方法。這種方法下,高頻成分包含了雨紋和高頻背景細節
不足:它基於稀疏編碼的字典方法不能區分真實的物體細節和雨條紋。
3、Li等人使用高斯混合模型(GMMs)作爲背景和雨紋層的先驗,將雨圖像分解爲無雨背景層和雨條紋層。還嘗試使用預處理除霧步驟來解決雨水積累問題。然而,除霧步驟進一步增強了清晰雨條紋,導致雨條紋的對比度和強度遠遠高於訓練數據。因此,後續的雨紋去除方法不能有效地去除提振的雨斑。
4、DDN。提出了一種基於圖像分解步驟的深度細節網絡解決方案,同樣細節層包含了雨條紋和背景細節,這不利於雨條紋的學習。
5、JORDER。在他的遞歸框架中使用除霧方法[4]作爲迭代步驟來去除雨水積累。
然而在暴雨場景中,大量隱藏在大氣面紗中的噪聲將通過去霧的方法得到增強,而這是JORDER無法處理的。
6、DID-MDN、RESCAN分別通過密度感知和遞歸網絡完成去雨,但它們不能處理雨水的累積,也不能幹淨地去除雨水條紋。

存在問題:

1、大多數現有方法所使用的雨圖模型無法很好的描述雨圖信息。
2、大雨和小雨,也就是雨紋和雨水堆積沒有明確的分界。
3、現實世界中,雨紋和雨水積累是相互纏結在一起的,沒有辦法用簡單的物理模型進行分開。因此,先去除雨紋,再去除雨水積累的過程不能很好地解決這個問題。
4、由於雨紋的存在,大氣光更爲複雜,不好估計。
5、雨紋和雨水積累帶來的損失沒有在模型中體現出來,過度依賴模型。

網絡結構:

在這裏插入圖片描述

具體工作:

1、雨圖模型

在這裏插入圖片描述
其中,I 是輸入的含雨圖像,J是無雨的背景圖像,Si是第i層雨紋的雨紋強度。T 是傳輸圖或是透射率圖,A是全局大氣光,1表示全1 的矩陣,圈點表示向量乘法。

2、整體網絡概述

因此,無雨的背景圖像可以表示:
在這裏插入圖片描述
於是:I --------------> J --------------->C

在第一階段,物理模型是真實雨圖的近似估計,爲網絡提供約束。畢竟是粗略估計,健壯性可能較差。
在第二階段,採用約束更少,更適應數據的網絡來細化雨紋或雨水積累帶來的沒有在模型中表示出來的損傷。

3、Stage1: 基於物理的復原

在這裏插入圖片描述

將輸入圖像分解爲高頻分量和低頻分量,由高頻分量估計雨條紋圖S,由低頻分量估計傳輸圖T和大氣光A。

殘差通道指引分解:

在大雨圖像中,雨紋和雨水積累相互纏結,導致S,A,T 難以估計。
雨紋的存在導致A和T難以估計,雨水積累導致S難以估計。
於是,將輸入圖像分成高頻和低頻分量,減少估計的複雜性,增加網絡的健壯性。

圖像分解是採用自《Fast end-to-end trainable guided filter 》,創建了一個分解CNN層,細節如下圖所示:

在這裏插入圖片描述

如圖,輸入圖像經過殘差轉換得到參考圖像,然後輸入到指導濾波層也就是低通平滑過程,分解得到高頻成分和低頻成分,再輸入到一組平滑核K中,在每個頻率通道中,再將這些圖像連接起來,並將它們發送到一個1×1的卷積核,再去進行參數的估計。

具體來說,我們首先對輸入圖像I進行圖像平滑。平滑得到低頻分量IL,而高頻分量爲IH = I−IL。

在這裏插入圖片描述
同時,大氣光恆定不變,假設AH = 0 ,假設低頻分量中SL可以忽略,SL = 0 。所以:

在這裏插入圖片描述
並且,使用殘差圖像作爲參考圖像指導低通平滑過程。這個指導濾波使得具有一個空間變化的低頻通帶,可以選擇性地保留低頻通道中的高頻背景細節。因此,高頻通道只包含未被高頻背景細節破壞的雨條紋,這極大地促進了對雨條紋的學習。

殘差圖像:
在這裏插入圖片描述
其中,Ic,Id 是I的顏色通道。

在這裏插入圖片描述
如圖,殘差通道沒有雨紋,只包含背景細節。本文采用彩色殘差圖像作參照圖像。
同時,採用一組平滑核K,k = 2i。解決雨紋尺寸變化問題。
然後通過1x1的卷積層來適應維度。

學習過程:

雨紋學習S:12個殘差塊的全連接卷積網絡(從高頻成分IH中學習)
在這裏插入圖片描述

大氣光學習A:5Conv + ReLU 加2FC 再通過一個上採樣變成輸入圖像大小(從低頻成分IL中學習)
在這裏插入圖片描述
傳輸圖學習T:使用一個跳躍連接的auto-encoder,並在前兩個卷積層中使用實例正則化代替BN
IN的作用:可以加速模型收斂,並且保持每個圖像實例之間的獨立。
在這裏插入圖片描述

損失函數:
在這裏插入圖片描述
這裏因爲全都是相同尺度下的MSE誤差,權重全部設置爲1.

4、Stage2: Model-Free 細化

在這裏插入圖片描述

這一部分主要包含一個cGAN即條件生成對抗網絡。
cGAN整體損失函數:
在這裏插入圖片描述
其中,C是最終生成的乾淨圖像

生成網絡:13 Conv-ReLU模塊,增加跳躍連接保存更多圖像細節。

損失函數:MSE和感知
在這裏插入圖片描述
權重設置爲8,感知損失基於VGG16在ImageNet上的預訓練。

生成器整體的損失函數:

在這裏插入圖片描述
其中,在這裏插入圖片描述,權重設置爲0.01.

判別網絡: 接受生成網絡的輸出,並檢查它是否像一個真實的清晰場景。

首先,利用傳輸圖T,根據關係將其轉換爲相對深度圖:
在這裏插入圖片描述
其中,d表示場景深度,β表示霧紗或者雨水積累的強度,本實驗中β是均勻分佈[3,4.2]的隨機抽樣.

然後,我們從鑑別器的第6對Conv-ReLU層 提取特徵,計算這些特徵與歸一化爲[0;1]深度圖的MSE損失:
在這裏插入圖片描述
其中,D©m表示判別器第 m 層的特徵。使用學習得到的深度地圖來衡量來自前一層的特徵,以元素的方式相乘。

在這裏插入圖片描述

判別器整體損失函數:
在這裏插入圖片描述

實驗

生成數據集:
現有的數據集不包括雨水堆積效果。

第一階段:

在這裏插入圖片描述

使用上述算法,從NYU-Depth-v2數據集中選取背景圖生成新的數據集NYU-Rain。添加進霧紗效果和模糊效果。
該數據集包含16200個圖像樣本,其中13500個圖像用作訓練集。

第二階段:
使用數據集Outdoor-Rain。
使用單圖像深度估計方法來估計場景的深度。
該數據集包含9000個訓練樣本和1500個驗證樣本。

分頁符

發佈了26 篇原創文章 · 獲贊 4 · 訪問量 4450
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章