如何從單張圖片中去除雨滴?|CVPR 2018
論文:Attentive Generative Adversarial Network for Raindrop Removal from A Single Image
論文下載地址:https://arxiv.org/abs/1711.10098
本文為2018 年 5 月 11 日,在微軟亞洲研究院舉辦的CVPR 2018論文宣講會報告中「GAN and Synthesis」環節的第1個報告,報告人為北京大學劉家瑛。
去除圖片中的雨痕,一般有四種情景,如下圖所示,分別為:落下的雨滴(Rain Drop 1),落在鏡頭上的雨滴(Rain Drop 2),雨線(Rain Streak),以及雨霧(Mist)。
劉家瑛團隊在去年 CVPR 中曾發表過一篇關於去除雨痕的文章《Deep Joint Rain Detection and Removal From A Singal Image》,在這篇論文中他們主要研究如何去除圖片中的雨線。但在無人駕駛或相關研究中,更具挑戰性的一個任務是如何去除落在玻璃或者鏡頭上的雨滴。劉家瑛在本次分享會上介紹了她所指導的北大大二學生 Rui Qian 所做的該方面工作,也即去除單張圖片上隨機散布的雨滴(Rain Drop 2)。
在此之前僅有的一篇類似研究,是由 David Eigen 等人發表在 ICCV 2013 的一篇文章,在這篇文章中由於作者只使用了 3 層卷積網路,所以只能處理很少的 case,同時能夠處理的圖片上的雨滴也非常小,基本上可以視為灰塵。
在劉家瑛所分享的這篇文章中,其思路仍然延續去年文章的方法,即生成數據集,然後用生成的數據集來訓練模型。
1、數據集生成
數據集的生成方式是,本文作者 Rui Qian 使用單反+一個 3 毫米厚的玻璃片(或者直接把水噴在鏡頭上)收集了 1000 多對(有雨和無雨)在不同戶外環境、不同背景、不同尺寸和形狀的雨滴圖像,以模擬真實環境中雨滴的多樣性。使用一個數學公式來表達帶有雨滴圖像的話,如圖中公式所示:
2、模型框架
在該論文中作者選擇使用 GAN 的方法,整個模型的框架如下圖所示:
共包含三個部分,分別為:Generator(Attention-recurrent Network),Context Autoencoder 和 Dicriminator Network。
第一部分主要的工作是做檢測(即檢測雨滴在圖片中的位置),然後生成 attention map。首先使用 Residual block 從雨滴圖片中抽取 feature,漸進式地使用 Convs 來檢測 attentive 的區域。訓練數據集中圖片都是成對的,所以可以很容易計算出相應的 mask(M),由此可以構建出 Loss 函數;由於不同的 attention 網路刻畫 feature 的準確度不同,所以給每個 loss 一個指數的衰減。相應的 loss 函數如下:
隨後將 attention map 和雨滴圖像一起送給 autoencoder,生成去雨滴圖像。autoencoder 的結構用了 16 個 Conv 和 Relu。為了避免網路本身造成的 blur,作者使用了 skip connection,因為在低級層次這會帶來很好的效果。在構建 loss 方面,除了多尺度的考慮,還加上了一個高精度的 loss,即:Multi-scale loss + perceptual loss。
最後一個是 discriminator。這個步驟有兩種方式,一種是只使用 autoencoder 生成的無雨滴圖像,進行判斷;另一種則是加入 attention map 作為指導。如圖所示:
3、實驗結果
作者使用兩個數據集(PSNR 和 SSIM)進行了驗證,其中 PSNR 是他們自己收集的數據集。作者選用 Eigen 等人 2013 年發表的工作以及 Pix2Pix 的方法作為對比。結果如下:
其中 A 表示只有 Autoencoder,A+D 表示 Autoencoder+Discriminator,A+AD 表示 Autoencoder + Attention Discriminator,AA + AD 表示 Attention Autoencoder + Attention Discriminator。
實際去雨效果如圖所示:
CVPR 2018論文宣講會,由微軟亞洲研究院、清華大學媒體與網路技術教育部-微軟重點實驗室、商湯科技、中國計算機學會計算機視覺專委會、中國圖象圖形學會視覺大數據專委會合作舉辦了 CVPR 2018 中國論文宣講研討會,數十位 CVPR 2018 收錄論文的作者在此論壇中分享其最新研究和技術觀點。研討會共包含了 6 個 session(共 22 個報告),1 個論壇,以及 20 多個 posters,AI 科技評論將為您詳細報道。
六個Session分別為:
Session 1:GAN and Synthesis
Session 2: Deep Learning
Session 3: Person Re-Identification and Tracking
Session 4: Vision and Language
Session 5: Segmentation, Detection
Session 6: Human, Face and 3D Shape
推薦閱讀:
※一些小公司的視覺演算法崗實習面試經歷分享
※一日一論文:Instance-sensitive Fully Convolutional Networks
※[計算機視覺論文速遞] 2018-05-08
※如何用flask部署pytorch模型
※[計算機論文速遞] 2018-03-23