基于神經網絡的動态場景圖像去模糊
參考文獻:2017 CVPR Deep Multi-scale Convolutional Neural Network for Dynamic Scene Deblurring 原文連結:https://arxiv.org/pdf/1612.02177.pdf
基于深度學習的方法和傳統的優化的方法都提出了對于圖像的非均勻模糊問題進行了解決,但對于動态場景的模糊問題,也就是圖像中隻有局部區域存在模糊的問題難以解決。2017年,Seungjun等人總結現有的圖像去模糊算法中存在的問題為:
1) 難以獲得實測清晰圖像和模糊圖像對用于訓練圖像去模糊網絡;
2) 對于動态場景的圖像去模糊問題,難以獲得局部圖像的模糊核;
3) 去模糊問題需要較大的感受野。
針對上述提出的問題,作者提出了一種實測動态場景圖像合成的方式,并公開了用于動态場景的圖像去模糊資料集gopro_large, gopro資料集已經成為目前基于深度學習的去模糊算法最常用的資料集之一 。而針對難以獲得動态場景的局部區域的模糊核問題,作者選擇一種基于深度學習的端到端的圖像去模糊的算法,抛棄了傳統的方法先估計模糊核在估計清晰圖像的政策,使用卷積神經網絡從退化圖像中直接複原清晰圖像。并且仿照 傳統的圖像去模糊問題中多尺度的複原政策融入到網絡中,網絡設計如圖1所示。
圖1 網絡結構圖
作者通過三個多尺度的卷積神經網絡,其中B1為待複原圖像,分别降采樣兩次為B2 B3,将降采樣的結果分别輸入到網絡中得到相應分辨率尺寸下複原結果,并将複原結果作為下一階段的輸入,進而知道後續的複原。這種多尺度的政策,類似于傳統的模糊核估計中的由粗到細的政策,将複雜的問題進行分解,逐漸複原,先在低分辨率下複原大尺度的資訊,然後再高分辨率下複原細節資訊。簡化問題的同時增大了圖像的感受野。
與文獻Learning a Convolutional Neural Network for Non-uniform Motion Blur Removal對比的實驗結果如圖2所示。在視覺上提出的方法取得更好的視覺效果。在資料集GOPRO上的測試名額如表1所示,并對比了方法間,在不同的網絡尺度數下的實驗結果。
圖2 視覺上對比實驗結果
表1 在GOPRO測試集上的實驗結果對比(方法間與文獻[10]進行對比,方法内對比不同尺度數K對比)
名額 文獻Learning a Convolutional Neural Network for Non-uniform Motion Blur Removal
Proposed
K=1 K=2 K=3
PSNR 24.64dB 28.93 29.23 29.08
SSIM 0.8429 0.9100 0.9162 0.9135
基于Gan的圖像去模糊算法
參考文獻:2018CVPR DeblurGAN: Blind Motion Deblurring Using Conditional Adversarial Networks 原文連結:https://arxiv.org/pdf/1711.07064.pdf
Gan為對抗生成網絡,首次在文獻Generative Adversarial Nets中被提出,應用于圖像生成。随着Gan的發展逐漸應用于圖像複原領域。該文獻提出将Gan應用于圖像去模糊問題上。實作了一種基于深度學習的端到端的圖像去模糊。提出的Gan的生成器網絡模型如圖3所示。生成器由兩個步長為1/2的卷積網絡、9個ResBlock和兩個反卷積網絡組成。每個ResBlock包括卷積層、instance normalization層和ReLU激活層。
圖3 生成器網絡結構圖
圖4 DeblurGan網絡結構示意圖
Gan網絡結構設計部分與cGan類似,如圖4所示。在訓練階段,損失函數包括兩個部分
L = L G A N ⎵ a d v l o s s + λ ⋅ L X ⎵ c o n t e n t l o s s ⎵ t o t a l l o s s \mathcal { L } = \underbrace { \underbrace { \mathcal { L } _ { G A N } } _ { adv loss } + \underbrace { \lambda \cdot \mathcal { L } _ { X } } _ { content loss } } _ {total loss } L=totalloss
advloss
LGAN+contentloss
λ⋅LX
其中 L G A N \mathcal { L } _ { G A N } LGAN為對抗損失,采用WGAN-GP中提出的所示函數
L G A N = ∑ n = 1 N − D θ D ( G θ G ( I B ) ) \mathcal { L } _ { G A N } = \sum _ { n = 1 } ^ { N } - D _ { \theta _ { D } } \left( G _ { \theta _ { G } } \left( I ^ { B } \right) \right) LGAN=∑n=1N−DθD(GθG(IB))
内容損失采用perceptual loss
L X = 1 W i , j H i , j ∑ x = 1 W i , j ∑ y = 1 H i , j ( ϕ i , j ( I S ) x , y − ϕ i , j ( G θ G ( I B ) ) x , y ) 2 \mathcal { L } _ { X } = \frac { 1 } { W _ { i , j } H _ { i , j } } \sum _ { x = 1 } ^ { W _ { i , j } } \sum _ { y = 1 } ^ { H _ { i , j } } \left( \phi _ { i , j } \left( I ^ { S } \right) _ { x , y } - \phi _ { i , j } \left( G _ { \theta _ { G } } \left( I ^ { B } \right) \right) _ { x , y } \right) ^ { 2 } LX=Wi,jHi,j1∑x=1Wi,j∑y=1Hi,j(ϕi,j(IS)x,y−ϕi,j(GθG(IB))x,y)2.
Perceptual loss采用在ImageNet上訓練好的VGG19的VGG3,3的激活層。
此外,DelurGan使用一種新的評價名額,采用YOLO檢測結果的來評估圖像複原的好壞。