刷榜13個暗光增強基準!清華大學聯(lián)合ETH等開源Retinexformer:亮、暗都有細節(jié)
在增強弱光圖像時,許多深度學習算法都是基于Retinex理論的,不過Retinex模型沒有考慮隱藏在黑暗中或由點亮過程引入的損壞。
此外,這些方法通常需要繁瑣的多階段訓練管道,并依賴于卷積神經(jīng)網(wǎng)絡(luò),在捕獲長期依賴性方面存在局限性。
來自清華大學、維爾茨堡大學、蘇黎世聯(lián)邦理工學院的研究人員最近在ICCV 2023上發(fā)表了一篇新論文,制定了一個簡單但原理性的單階段Retinex-based框架(ORF)。
圖片
論文鏈接:https://arxiv.org/abs/2303.06705
代碼鏈接:https://github.com/caiyuanhao1998/Retinexformer
ORF首先估計照明信息以照亮低光圖像,然后恢復損壞以產(chǎn)生增強圖像。
研究人員設(shè)計了一個照明引導Transformer(IGT),利用照明表示直接建模的非本地相互作用的區(qū)域與不同的照明條件,然后將IGT插入ORF以實現(xiàn)Retinexformer算法。
全面的定量和定性實驗表明,文中提出的Retinexformer在13個基準數(shù)據(jù)集中顯著優(yōu)于最先進的方法;用戶在暗光目標檢測方面的研究和應(yīng)用也揭示了該方法潛在的實用價值。
圖1 Retinexformer 和之前基于Retinex理論的算法對比
目前所有的代碼、模型、訓練日志、十三個數(shù)據(jù)集(LOL-v1, LOL-v2-real, LOL-v2-synthetic, SID, SMID, SDSD-in, SDSD-out, MIT Adobe FiveK, LIME, NPE, MEF, DICM, VV)的測試結(jié)果均已開源,研究人員還基于 BasicSR 開發(fā)了一個集成了八大數(shù)據(jù)集的訓練框架。
暗光增強簡介
如圖1所示,暗光增強的主要任務(wù)是增強低光圖像的能見度和對比度,同時修復隱藏在黑暗中或由于提升亮度而引入的噪聲、偽影、顏色畸變等復雜的退化模式。
圖2 暗光增強任務(wù)示意圖
當前的暗光增強算法大體上可以分為三類:樸素方法、傳統(tǒng)感知方法、深度學習方法。
樸素方法一般會直接在全局范圍內(nèi)增強整張圖像的亮度和對比度。
經(jīng)典的算法有直方圖均衡化(histogram equalization )和伽馬矯正(Gama Correction)。然而這類算法沒有考慮到光照因素,使得增強后的圖像與真實光照圖像嚴重不符。
傳統(tǒng)感知算法大都基于視網(wǎng)膜理論(Retinex Theory),將一張自然圖像解耦為照度圖(Illumination)和反射圖(Reflectance),并將反射圖作為暗光增強后的圖像。
然而這類算法有兩個缺陷:一是假定暗光圖像都是干凈的,不存在噪聲偽影等。然而由于成像設(shè)備的缺陷,暗光圖像常常帶有噪聲;二是這類算法依賴于手工設(shè)計的圖像先驗,常常需要調(diào)參且表征能力很弱。
現(xiàn)有的深度學習方法大多基于卷積神經(jīng)網(wǎng)絡(luò),不擅長于捕獲長程依賴關(guān)系,不利于圖像的修復,有部分深度學習算法與視網(wǎng)膜分解理論相結(jié)合。
然而這類算法大都需要一個冗長的流程,采取一個多階段的訓練方案,分別訓練多個不同的 CNN 來做不同的任務(wù),如解耦彩色圖像、給反射圖去噪、調(diào)整照度圖等;然后將這些訓好的 CNN 連接起來進行微調(diào)。整個訓練過程繁瑣復雜,費時費力。
為了解決上述難題,這篇論文的貢獻如下:
1. 提出了首個與視網(wǎng)膜理論相結(jié)合的 Transformer 算法,名為 Retinexformer,以用于暗光增強。
2. 推導了一個單階段視網(wǎng)膜理論框架,名為 ORF(One-stage Retinex-based Framework),不需要繁復的訓練和微調(diào)流程,只需要一個階段端到端的訓練即可。
3. 設(shè)計了一種由光照引導的新型多頭自注意機制,名為 IG-MSA(Illumination-Guided Multi-head Self-Attention,IG-MSA),將光照信息作為關(guān)鍵線索來引導長程依賴關(guān)系的捕獲。
4. 該算法在十三個暗光增強榜單上達到了更好的定量和定性效果,同時在用戶研究和黑夜目標檢測任務(wù)上驗證了我們算法的實用價值。
Retinexformer框架
Retinexformer 采用設(shè)計的 ORF,而 ORF 又由兩部分構(gòu)成:(i) 光照估計器(illumination estimator)和 (ii) 退化修復器(corruption restorer)。
圖3 本文方法的整體框架
在圖3 (b) 中,研究人員設(shè)計了一個光照引導的 Transformer IGT(Illumination-Guided Transformer)來作為退化修復器,IGT 的基本單元是光照引導的注意力塊 IGAB (Illumination-Guided Attention Block),IGAB 由兩個層歸一化 LN(Layer Normalization),一個 IG-MSA 和一個前饋網(wǎng)絡(luò) FFN(Feed-Forward Network)組成,其細節(jié)如圖3 (c) 所示。
2.1 單階段視網(wǎng)膜理論框架
根據(jù)視網(wǎng)膜理論,一個低光圖像 I 可以分解為一個反射圖 R 和一個照度圖 L 的點乘:
圖片
然而這個視網(wǎng)膜模型并沒有考慮噪聲偽影等退化因素。因此,我們將這條公式重寫為:
圖片
分別在反射圖和照度圖上加入了擾動項。那么在提升低光圖像亮度時,上邊等式兩邊會同時點乘一個亮度圖:
圖片
等式右邊第三項便表示隱藏在黑暗中的噪聲偽影,并在提升亮度過程中被進一步放大。第二項表示點亮過程造成的失曝,過曝和顏色畸變。可將(3)式進一步簡化為:
圖片
其中的 C 表示整體的退化項。基于(4)式,可將ORF推導為如下:
圖片
低光圖像和照度先驗圖先經(jīng)過光照估計器后的輸出作為退化修復器的輸入。
2.2 光照引導的 Transformer
如圖3 (a) (ii) 所示,IGT采用一個 encoder-bottleneck-decoder 的 U-型結(jié)構(gòu)。其中最重要的組成部件便是 IG-MSA,光照估計器輸出的增亮特征圖輸入到每一個 IG-MSA 當中。在 IG-MSA 當中,輸入的特征圖首先被變形為 token,然后被分成 k 個 heads:
圖片
對每個heads,分別將其線性投影為 Q,K,V:
圖片
同時也將增亮特征圖形變成 token:
圖片
然后在每一個 head 計算自相似時,用光照信息作為引導:
圖片
我們的 IG-MSA 的計算復雜度為:
圖片
同比全局的MSA的計算復雜度:
圖片
我們 IG-MSA 計算復雜度與輸入尺寸成線性而全局MSA的計算復雜度與輸入成二次相關(guān)。我們的計算復雜度明顯更低。
實驗結(jié)果
我們在 LOL-v1, LOL-v2-real, LOL-v2-synthetic, SID, SMID, SDSD-in, SDSD-out, MIT Adobe FiveK 八個數(shù)據(jù)集上開展定量實驗,實驗結(jié)果如表1、2所示:
圖片
表1
表2
此處需要補充說明一下,MIT Adobe FiveK 官方只提供了RAW數(shù)據(jù),需要大家自己導出才能得到 RGB 數(shù)據(jù)。
導出有兩種格式,一種是 pro RGB,這種格式不適于人的眼睛來看,但是計算得到的 PSNR 和 SSIM 指標都偏高,便于大家報指標。
而另一種是 sRGB 格式,這種就是最常見的 RGB 圖像格式,但是這種格式指標會比較低,本文采用的就是這種格式,并且已經(jīng)在 repo 里貼心地為大家準備好了已經(jīng)導出的 sRGB 圖像下載鏈接,可以直接下載使用。
我們在 LOL-v1, LOL-v2-real, LOL-v2-synthetic, SID, SMID, SDSD-in, SDSD-out, MIT Adobe FiveK, LIME, NPE, MEF, DICM, VV 上測試了定性效果,視覺對比如圖4、5、6、7所示
圖4 LOL-v1, LOL-v2-real 和 LOL-v2-synthetic 上的視覺效果對比
圖5 SID 和 SMID 上的視覺效果對比
圖6 SDSD-indoor 和 SDSD-outdoor 上的視覺效果對比
圖7 LIME, NPE, MEF, DICM 和 VV 上的視覺效果對比
另外我們還做了用戶調(diào)查,結(jié)果如表3所示:
表3 用戶調(diào)查結(jié)果
最后,將我們的 Retinexformer 作為預處理器對暗光圖像進行增強以輔助夜間目標檢測的效果,在 ExDark 數(shù)據(jù)集上的定量結(jié)果如表4所示:
表4 暗光增強輔助夜間目標檢測實驗指標
一些暗光增強輔助夜間目標檢測的例子如圖8、9、10 所示:
圖8
圖9
圖10
參考資料:
https://zhuanlan.zhihu.com/p/657927878