菜鳥學基礎算法(簡單高效去雨算法)
2023-05-17 23:27:46
作者:CV君
分享一篇論文AAAI 2021錄用論文 EfficientDeRain: Learning Pixel-wise Dilation Filtering for High-Efficiency Single-Image Deraining ,其提出了極其快速高效的圖像去雨算法,平均 6ms 即可處理一幅圖像,比之前的state-of-the-art方法(RCDNet,CVPR2020)快80倍!目前代碼已開源。
論文作者信息:
作者團隊來自南洋理工大學、日本九州大學、阿里巴巴、天津大學,通訊作者為九州大學的Lei Ma。
看一下該算法在Rain100H數據集上與其他算法的比較結果(以PSNR和SSIM為評價標準):
可見在去雨效果上非常接近最好的結果,速度卻是最快,非常難得!
去雨的視覺效果:
算法原理該算法的原理非常簡單,最重要的思想是把去雨看為圖像的逐像素濾波問題。而濾波操作是高度優化的操作,在GPU上的實現必定非常快。
看懂下面這張圖,即可完全理解作者的算法思想:
圖像經深度卷積網絡學習逐像素的卷積核參數,然後與原圖做卷積即得最終的去雨後圖像,訓練的時候需要(有雨、無雨)的圖像對。
作者指出,儘管上述思想沒有問題,但因為逐像素卷積核大小的問題,如果只學習普通卷積核(即每個像素預測三個通道的3x(3x3)個參數)如上圖中的(a)部分,對於雨條較大的圖像很難取得滿意的效果,因為畢竟卷積的過程是尋找周圍非雨條像素賦以高權重的加權,卷積核如果沒有覆蓋到非雨條像素,肯定效果不好。
為在尺度上應對大雨條,所以作者做了改進,讓神經網絡預測多尺度的空洞卷積核,如(b)子圖中是預測4個尺度的空洞卷積核,空洞卷積後再把結果加權,獲得最終的去雨圖像。
所以算法的核心思路可總結為:學習多尺度空洞卷積 圖像加權融合。
因為上面所有步驟僅涉及現代GPU特別擅長的卷積操作,故速度非常快。
另外,在圖像去雨領域,數量大、質量高的成對數據集是非常少的,所以作者發明了RainMix增廣算法,簡單一句話介紹就是雨條圖像各種變換後再加權的數據增廣方法。
下圖表達了RainMix的核心思路:
實驗結果具體實驗配置不再贅述,請看下圖去雨的視覺效果:
可見,對比較難的情況,如頭髮、面部、含細絲的圖像,該文算法取得了較好的視覺效果。
下表展示了在Raindrop數據集上的數值比較結果:
雖然 EfficientDeRain 數值上略遜於最好的方法,但已經很棒了,畢竟這可是快了80倍的算法!
下圖是作者評估的算法各個部分對結果影響的比較:
可見空洞卷積、SSIM損失函數和RainMix都使去雨數值效果更好,但真正帶來大幅效果提升的是數據增廣方法RainMix。表中亦列出了計算時間,測試機器GPU為NVIDIA Quadro P6000。
這篇AAAI 2021 論文的核心思想並不難,可以說在速度上做到了去雨算法的極致,CV君以為其特別具有啟發的一點是把去雨看為卷積問題,直接預測卷積核,對於其他圖像恢復問題,亦可嘗試。
作者已經開源了代碼、數據和預訓練模型,歡迎試用比較!
論文:https://arxiv.org/pdf/2009.09238.pdf
代碼:https://github.com/tsingqguo/efficientderain
感謝作者開源~
作者提供的數據和模型,國內無法下載,CV君已將其搬到國內,在我愛計算機視覺公眾號後臺回復「高效去雨」,即可收到打包下載。
,