論文閱讀:Semi-supervised Transfer Learning for Image Rain Removal

已經到2020cvpr了,我一月份的semi論文坑還沒填,今天再重讀一遍,這個論文有點難懂對於我這種小菜雞來說啊啊啊啊
努力提升自己,規律每一天。

2019 CVPR : Semi-supervised

這篇文章是2019年CVPR的一篇文章,主要提出了一種基於GMM高斯混合模型的半監督去雨方法,是西安交大Deyu Meng老師團隊出的一篇文章。
在這裏插入圖片描述

本文主要提出了一種半監督的方法,訓練數據整合進真實雨圖。通過將輸入的有雨圖像與其期望的網絡輸出(無雨的清晰圖像)之間的殘差作爲特定的參數化雨條紋分佈來實現。網絡通過有監督學習的合成的雨來適應真實的無監督學習中的雨的多樣性,通過這種處理來減少真實和合成數據間的差異性的問題以及缺少訓練樣本的問題,提高泛化能力。

作者還指出,由於訓練數據和測試數據的分佈不一致,該任務可以自然地視爲一個典型的領域適應問題。從學習合成去雨(訓練、監督)過渡到學習真實去雨(測試、無監督)。該方法能夠在訓練過程中以數學上合理的方式充分利用無監督的實際雨天圖像。具體來說,同時將有監督的合成數據和無監督的真實數據輸入到網絡中,並且網絡參數可以通過有監督輸入的網絡輸出圖像的最小二乘殘差(對於有監督樣本)和它們的ground truth標籤的組合進行優化。以及由無監督輸入的網絡輸出圖像與其原始雨圖像的差值測量的特定參數化雨分佈(對於無監督樣本)的負對數似然(NLL)損失。

主要創新之處:

1、首次將單張圖像去雨SIRR視作一個域適應問題,第一個提出使用半監督方法去雨。
2、同時利用有監督和無監督知識進行圖像去雨。有監督部分,直接採用網絡輸出圖像和乾淨無雨圖像之間的最小二乘損失;無監督部分,則通過在基於殘差的域理解參數化分佈上施加一個似然項來表示期望輸出和有雨圖像之間的殘差。
3、設計了一個期望最大化(EM)算法和梯度下降策略,雨分佈參數和網絡參數在每個epoch上順序優化。

存在問題:

對於現階段的一些圖像去雨的深度學習方法,需要收集大量的成對的有雨無雨圖進行訓練,這種數據通常是合成的雨水。這就導致了訓練出的模型傾向於合成的雨水的具體的樣式,泛化能力較差。

網絡結構:

在這裏插入圖片描述

如網絡結構所示,整體網絡結構分成有監督和無監督兩部分。
對於有監督部分,輸入合成的雨圖和無雨圖,利用最小二乘損失約束監督訓練。
對於無監督部分,輸入的真實世界的雨圖,最小化一個施加於雨分佈的GMM似然項和背景上的TV正則化項來約束訓練。
兩部分共享一個相同的網絡結構和參數。
同時,在兩部分提取的殘差即提取的雨的分佈之間添加KL正則化項來控制自由度。

具體實現:

1、高斯混合模型GMM

真實雨水複雜多樣,很難提取出雨層及乾淨的背景層。但可以設計一個參數化分佈來精確地近似真實雨水的隨機配置。雨水出現在距離攝像機不同的位置,因此一般包含多模態結構。如果學習到合適的參數,就可以用混合模型實現對任意連續函數的逼近。
在這裏插入圖片描述
k表示不同的分佈的序號,NN      \mathcal{N}N即高斯分佈,πk,μk,∑kπk,μk,∑k      \pi_{k}, \mu_{k}, \sum_{k}πk​,μk​,∑k​分別是混合係數、高斯分佈的均值和方差
2、無監督部分損失函數

無監督樣本上施加的負對數似然函數,作爲無監督部分的損失函數:
在這裏插入圖片描述
K是混合的分佈的數量,N是樣本數量。高斯分佈的均值按照一般情況設爲0,這個值不影響結果。

3、有監督部分損失函數

在這裏插入圖片描述
對於有監督的樣本,採用DerainNet的網絡結構和負殘差映射(negative residual mapping)(生成無雨圖,損失函數爲最小二乘形式。

4、KL正則化

爲了讓GMM更好地擬合真實雨水的樣本分佈,最小化K-L散度,約束真實雨水分佈和合成雨水分佈之間的差異,使得模型從合成雨水的域轉移到真實雨水的域,而不是任意域。
在這裏插入圖片描述
5、總損失函數

爲了更好地去除雨水,還加入Total Variation (TV)正則化對圖像進行一些平滑,得到的總loss如下:
在這裏插入圖片描述
在這裏插入圖片描述
6、EM算法

由於損失函數難以處理,我們使用期望最大化算法迭代求解模型。
第E步,計算代表某一混合分量的後驗分佈,將損失函數展開爲關於GMM參數可微分的。
在M步中更新混合分佈和卷積神經網絡參數。

E步:
根據貝葉斯定理,k分量產生噪聲的後驗分佈爲:
在這裏插入圖片描述

M步:
E步後,將損失函數展開爲對GMM參數的微分函數:
在這裏插入圖片描述
在這裏插入圖片描述

然後我們可以採用梯度方法優化目標函數中定義的損失和梯度。
計算可以很容易傳播到網絡逐步優化參數w。

實驗部分

作者使用兩種不同的方式合成兩個雨圖數據集,一種作爲有監督的訓練集,一種分爲兩部分,一部分作爲無監督的訓練集,一部分作爲驗證集。因此有監督的訓練集和驗證集的數據分佈是不同的。爲了顯示該模型的分佈轉換的能力,作者可視化了訓練過程中有監督的訓練集和驗證集的PSNR值的變化:
在這裏插入圖片描述

實線表示有監督的訓練集,虛線表示驗證集,紅、綠、藍分別代表λλ \lambdaλ爲0, 0.2, 1的情況,從上到下三排圖像分別代表訓練數據有500, 5000, 10000個圖片塊。從第三列可以看到,如果損失函數中不加入無監督項,隨着訓練過程的推進,如果訓練集和驗證集的數據分佈不同,當訓練數據增加時,模型越來越擬合訓練數據,但越來越難以泛化到驗證集數據。也就是說訓練集的效果變好了,但是測試效果沒有更好,甚至更差。但從最後兩列可以看到,在加入無監督項後,這個問題得到緩解。

Ps

最近不做半監督的研究,所以現在本來不應該寫這個,但爲了填坑,硬着頭皮稍微寫了一下,中間有借鑑別的博客的內容,感謝各位大佬。
後面再看的時候再次修訂本博客。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章