1. 程式人生 > >影象去霧去雨去模糊去噪

影象去霧去雨去模糊去噪

    一坑未平,一坑又起。前陣子研究的Ocr檢測+識別演算法算是告一段落。整體來說目前相關演算法效果算是不錯的了,通用於身份證通行證等各類證件識別,車票識別,彩票,發票等各類票據識別,車牌識別,溫度儀表盤等。

    接下來即將進行的工作是影象去去除雨滴,去霧,去除噪聲,去塵土和去模糊等都是這一類的,影象復原(低階影象處理/視覺任務)。採用生成對抗網路和感知損失進行這類研究的有相當一部分。下面進行相關彙總(資料呼叫)。

傳統方法

1.首先列傳統演算法,最經典的莫過於凱明男神去霧演算法:

《Single Image Haze Removal Using Dark Channel Prior》一文中影象去霧演算法的原理、實現、效果(速度可實時)

 在影象去霧這個領域,幾乎沒有人不知道《Single Image Haze Removal Using Dark Channel Prior》這篇文章,該文是2009年CVPR最佳論文。

code可以參考:

1).dehaze 暗通道去霧

2).dehazeProcessor

 

2.Non-Local Image Dehazing

簡單明瞭的影象去霧演算法。

csdn:https://blog.csdn.net/cv_family_z/article/details/52849543

code:

1)https://github.com/xianshunw/scindapsus/tree/master/berman2016non-local

2)https://github.com/danaberman/non-local-dehazing

3)https://github.com/Sar-Kerson/dehazeProcessor

深度學習演算法

1、Density-aware Single Image De-raining using a Multi-stream Dense Network CVPR2018

有感知/特徵損失,[paper]、[testing code]

密度感知多路密集網路DID-MDN,聯合完成雨點密度估計和雨點去除。

                                                                                 圖 一

效果非常好,速度也是非常快,應該是目前最好的模型。演算法中的預訓練,然後聯合訓練,估計是很tricky的。

2、Attentive Generative Adversarial Network for Raindrop Removal from a Single Image CVPR2018

[paper]

                                                                                        圖 二

該模型基於pix2pix,增加了attention-recurrent network,效果上比eigen2013的論文(第一個使用DL解決該問題的工作)好,也比pix2pix好。

但是給論文沒有和其他演算法比。

3、Densely Connected Pyramid Dehazing Network CVPR2018

去霧,有感知損失,[paper]、[code]

                                                                                         圖 三

使用黃色網路估計transmission,利用藍色網路估計atmospheric light,然後利用公司,計算得到去霧影象。

論文中總損失有4個子損失,訓練非常tricky。。。

4、Deep Joint Rain Detection and Removal from a Single Image CVPR2017

[paper]、[code]

比1差。

 

其中B是原圖,O是帶雨的圖片,其他的量代表雨滴帶來的影響。S指疊加的雨滴的強度,R指含雨滴範圍的一個 binary mask,A對雨霧進行建模。之所以將S、R分別描述並分別用網路預測,是為了避免只回歸S影響了圖中不含雨滴的部分,R實際上描述了雨滴存在的區域,這也是標題中rain detection的含義。S、R預測的例子可見下圖。t指的是圖片中多個方向的雨疊加的效果,訓練所用的合成雨的圖片就是多次疊加的結果。最後A描述了一個影象整體的偏移,這是由大雨中遠處大量雨滴疊加造成的類似霧的效果,實際演算法中也用了去霧演算法做處理。

在訓練時作者使用了多分支的dilated convolution網路,以在節約計算量的同時擴大網路的感受,也獲得更多的context資訊。網路級聯地預測S和R,在訓練時都提供loss,在測試時得到S、R後,按之前的模型進行去雨處理。在實際實驗中還發現採用去雨1次 – 去霧1次 – 再去雨1次的流程得到的結果是最好的。

此外在訓練資料和測試方法上都是沿用之前工作的方法。訓練資料都是使用不帶雨的圖片人工合成帶雨的圖片,並從圖中抽取patch進行訓練。在測試流程上,對於合成圖片,主要比較衡量圖片結構相似度的SSIM指標。對於真實環境的帶雨圖片,主要是視覺上的qualitative比較。

 

5、Image De-raining Using a Conditional Generative Adversarial Network 2017

類似pix2pix,[paper]、[code]

1中作者的以前工作,類似pix2pix。

6、Clearing the Skies: A Deep Network Architecture for Single-Image Rain Removal TIP2017

[paper]

7、Removing rain from single images via a deep detail network CVPR2017

[paper]  [code]

對於雨滴模型的創新主要是提出了2點insights。

1、類似ResNet的思路,迴歸帶雨影象與原圖的殘差,而不是直接輸出還原影象。這樣一來可以使演算法操作的影象目標值域縮小,稀疏性增強。實際上這一點在超解析度等很多問題中已經被廣泛應用。

2、使用頻域變換,分離影象中的低頻部分和高頻部分,只對高頻部分做去雨操作。原因是雨滴基本只存在於高頻部分,分離後可以使得操作目標進一步稀疏化,實驗效果顯著優於不做這一操作的結果。

實現上作者使用了一個26層的ResNet,為了保證輸出解析度不變,去掉了所有的Pooling操作。實驗表明:與直接輸入帶雨影象、輸出原圖相比,一個26層的ResNet效果已經與原始方法50層的ResNet效果相近,並顯著優於其他舊方法。這證明了兩個技巧的有效性。

8、Rain Streak Removal Using Layer Priors CVPR2016

[paper]

9.Single Image Rain Streak Decomposition Using Layer Priors TIP2017

[paper]

 

10、Perceptual Adversarial Networks for Image-to-Image Transformation 2017

類似pix2pix,有感知損失,[paper]

 

                                                                                    圖 四

 

11.Non-locally Enhanced Encoder-Decoder Network for Single Image De-raining(2018ACM)

深入研究了一種有效的端到端神經網路結構,用於更強的特徵表達和空間相關學習。具體來說,我們提出了一種非區域性增強的編碼器 - 解碼器網路框架,它由嵌入式索引編碼器 - 解碼器網路組成,有效地學習越來越抽象的特徵表示,以便更精確地進行雨條紋建模,同時完美地保留影象細節。所提出的編碼器 - 解碼器框架由一系列非區域性增強的密集塊組成,這些塊不僅可以完全利用來自所有卷積層的分層特徵,而且可以很好地捕獲長距離依賴性和結構資訊。對合成和真實資料集的大量實驗表明,所提出的方法可以有效地去除各種密度的雨天影象上的雨條紋,同時保留影象細節,與最近的最新方法相比,實現了顯著的改進

 

 小結:

以上工作的可遷移性包括:去除眼鏡

去除柵欄

 

 

 

 

 

 

 

 

參考連結:

1.知乎:https://www.zhihu.com/question/272305330/answer/366831382

2.https://www.jianshu.com/p/15ca85da6ae2