題目 (Title):
Restormer:用于高分辨率圖像恢復的高效Transformer
摘要 (Abstract):
由于卷積神經網絡(CNN)在從大規模數據中學習可泛化的圖像先驗方面表現出色,這些模型已被廣泛應用于圖像恢復及相關任務。最近,另一類神經架構——Transformer,在自然語言處理和高層視覺任務上展現出顯著的性能提升。雖然Transformer模型緩解了CNN的缺點(即有限的感受野和對輸入內容的不適應性),但其計算復雜度隨空間分辨率呈二次方增長,因此難以應用于大多數涉及高分辨率圖像的圖像恢復任務。本工作中,我們通過在核心構建模塊(多頭注意力和前饋網絡)中引入幾個關鍵設計,提出了一種高效的Transformer模型,使其能夠捕獲長距離像素交互,同時仍能處理大尺寸圖像。我們的模型命名為Restoration Transformer (Restormer),在多個圖像恢復任務上實現了最先進的性能,包括圖像去雨、單圖像運動去模糊、散焦去模糊(單圖像和雙像素數據)以及圖像去噪(高斯灰度/彩色去噪和真實圖像去噪)。源代碼和預訓練模型可在 https://github.com/swz30/Restormer 獲取。
1 引言 (Introduction)
圖像恢復的任務是通過從退化的輸入中去除退化(例如噪聲、模糊、雨滴)來重建高質量圖像。由于其病態性質,這是一個極具挑戰性的問題,通常需要強大的圖像先驗才能進行有效恢復。由于卷積神經網絡(CNN)在從大規模數據中學習可泛化的先驗方面表現良好,它們已成為相較于傳統恢復方法更優的選擇。
CNN中的基本操作是“卷積”,它提供局部連接和平移等變性。雖然這些特性為CNN帶來了效率和泛化能力,但也導致了兩個主要問題:(a) 卷積算子具有有限的感受野,因此無法建模長距離像素依賴關系。(b) 卷積濾波器在推理時具有靜態權重,因此無法靈活適應輸入內容。為了應對上述缺點,一個更強大且動態的替代方案是自注意力SA機制 [17, 77, 79, 95],它通過所有其他位置的加權和來計算給定像素的響應。
自注意力是Transformer模型 [34, 77] 的核心組件,但具有獨特的實現,即多頭SA,它針對并行化和有效表示學習進行了優化。Transformer在自然語言任務 [10, 19, 49, 62] 和高層視覺問題 [11, 17, 76, 78] 上展示了最先進的性能。盡管SA在捕獲長距離像素交互方面非常有效,但其復雜度隨空間分辨率呈二次方增長,因此難以應用于高分辨率圖像(這在圖像恢復中很常見)。最近,已有少數努力嘗試為圖像恢復任務定制Transformer [13, 44, 80]。為了減少計算負載,這些方法要么在每個像素周圍的 8 × 8 8\times8 8×8 小空間窗口上應用SA [44, 80],要么將輸入圖像劃分為不重疊的 48 × 48 48\times 48 48×48 圖像塊并在每個塊上獨立計算SA [13]。然而,限制SA的空間范圍與捕獲真實長距離像素關系的目標相矛盾,尤其是在高分辨率圖像上。
本文中,我們提出了一種用于圖像恢復的高效Transformer,它能夠建模全局連接性,并且仍然適用于大尺寸圖像。具體來說,我們用具有線性復雜度的多頭深度卷積“轉置”注意力(MDTA)塊(第3.1節)取代了原始的多頭SA [77]。它跨特征維度而非空間維度應用SA,即MDTA不是顯式建模成對像素交互,而是跨特征通道計算互協方差,從(鍵和查詢投影后的)輸入特征中獲得注意力圖。我們MDTA塊的一個重要特征是在特征協方差計算之前進行局部上下文混合。這是通過使用 1 × 1 1\times 1 1×1 卷積聚合跨通道的逐像素上下文,以及使用高效的深度卷積聚合通道內的局部上下文來實現的。該策略提供了兩個關鍵優勢:首先,它強調了空間局部上下文,并在我們的流程中引入了卷積操作的互補優勢;其次,它確保了在計算基于協方差的注意力圖時,像素之間具有上下文信息的全局關系被隱式建模。
前饋網絡(FN)是Transformer模型 [77] 的另一個構建塊,它由兩個全連接層組成,中間有一個非線性激活函數。在這項工作中,我們對常規FN [77] 的第一個線性變換層進行了重構,引入了門控機制 [16] 以改善網絡中的信息流。該門控層被設計為兩個線性投影層的逐元素乘積,其中一個層使用GELU非線性激活 [27]。我們的門控深度卷積前饋網絡(GDFN)(第3.2節)也基于類似于MDTA模塊的局部內容混合,同樣強調空間上下文。GDFN中的門控機制控制哪些互補特征應向前傳播,并允許網絡層次結構中的后續層專門關注更精細的圖像屬性,從而產生高質量的輸出。
除了上述架構創新,我們還展示了為Restormer設計的漸進式學習策略的有效性(第3.3節)。在此過程中,網絡在早期階段使用小塊和大批量進行訓練,在后期階段逐漸使用大圖像塊和小批量進行訓練。這種訓練策略有助于Restormer從大圖像中學習上下文,從而在測試時提供性能提升。我們進行了全面的實驗,并在 16 16 16個基準數據集上展示了我們的Restormer在多個圖像恢復任務上的最先進性能,包括圖像去雨、單圖像運動去模糊、散焦去模糊(單圖像和雙像素數據)以及圖像去噪(合成數據和真實數據);見圖1。此外,我們提供了廣泛的消融實驗以展示架構設計和實驗選擇的有效性。
本文的主要貢獻總結如下:
- 我們提出了Restormer,一種用于高分辨率圖像上多尺度局部-全局表示學習的編碼器-解碼器Transformer,無需將其分解為局部窗口,從而利用了遠距離圖像上下文。
- 我們提出了多頭深度卷積轉置注意力(MDTA)模塊,能夠聚合局部和非局部像素交互,并且足夠高效以處理高分辨率圖像。
- 一種新的門控深度卷積前饋網絡(GDFN),執行受控的特征變換,即抑制信息量較少的特征,只允許有用的信息在網絡層次結構中進一步傳播。
2 背景 (Background)
圖像恢復 (Image Restoration)。 近年來,數據驅動的CNN架構 [7, 18, 92, 93, 105, 107] 已被證明優于傳統的恢復方法 [26, 36, 53, 75]。在卷積設計中,基于編碼器-解碼器的U-Net架構 [14, 39, 80, 90, 93, 99] 因其層次化的多尺度表示且保持計算效率而被廣泛研究用于恢復任務。類似地,基于跳躍連接的方法由于專注于學習殘差信號 [24, 106, 48, 92] 而被證明對恢復有效。空間和通道注意力模塊也被引入以選擇性地關注相關信息 [93, 42, 43]。我們建議讀者參考NTIRE挑戰賽報告 [30, 57, 2] 和最近的文獻綜述 [8, 73, 42],它們總結了圖像恢復的主要設計選擇。
視覺Transformer (Vision Transformers)。 Transformer模型最初是為自然語言任務中的序列處理而開發的 [77]。它已被應用于眾多視覺任務,如圖像識別 [17, 76, 88]、分割 [78, 83, 108]、目標檢測 [11, 50, 109]。視覺Transformer [17, 76] 將圖像分解為一系列圖像塊(局部窗口)序列,并學習它們之間的相互關系。這些模型的顯著特點是能夠學習圖像塊序列之間的長距離依賴關系,并能適應給定的輸入內容 [34]。由于這些特性,Transformer模型也被研究用于底層視覺問題,如超分辨率 [85, 44]、圖像著色 [37]、去噪 [80, 13] 和去雨 [80]。然而,Transformer中SA的計算復雜度會隨著圖像塊數量的增加而呈二次方增長,從而阻礙了其在高分辨率圖像上的應用。因此,在需要生成高分辨率輸出的底層圖像處理應用中,最近的方法通常采用不同的策略來降低復雜度。一種可能的補救措施是在局部圖像區域內應用自注意力 [44, 80],使用Swin Transformer設計 [44]。然而,這種設計選擇將上下文聚合限制在局部鄰域內,違背了使用自注意力替代卷積的主要動機,因此不太適合圖像恢復任務。相比之下,我們提出了一種Transformer模型,它能夠在保持計算效率的同時學習長距離依賴關系。
3 方法 (Method)
我們的主要目標是開發一種高效的Transformer模型,能夠處理高分辨率圖像以完成恢復任務。為了緩解計算瓶頸,我們對多頭SA層和多尺度層次化模塊引入了關鍵設計,其計算需求低于單尺度網絡 [44]。我們首先介紹Restormer架構的整體流程(見圖2)。然后我們描述所提出的Transformer塊的核心組件:(a) 多頭深度卷積轉置注意力(MDTA)和**(b)** 門控深度卷積前饋網絡(GDFN)。最后,我們提供了有效學習圖像統計量的漸進式訓練方案的細節。
整體流程 (Overall Pipeline)。 給定退化圖像 I ∈ R H × W × 3 \mathbf{I}\in\mathbb{R}^{H\times W\times 3} I∈RH×W×3,Restormer首先應用一個卷積層來獲得低級特征嵌入 F 0 ∈ R H × W × C \mathbf{F}_{0}\in\mathbb{R}^{H\times W\times C} F0?∈RH×W×C;其中 H × W H\times W H×W 表示空間維度, C C C 是通道數。接下來,這些淺層特征 F 0 \mathbf{F}_{0} F0? 經過一個4級對稱編碼器-解碼器,并轉換為深層特征 F d ∈ R H × W × 2 C \mathbf{F}_{\mathbf{d}}\in\mathbb{R}^{H\times W\times 2C} Fd?∈RH×W×2C。編碼器-解碼器的每一級包含多個Transformer塊,為了保持效率,從頂層到底層,塊的數量逐漸增加。從高分辨率輸入開始,編碼器層次化地減小空間尺寸,同時擴展通道容量。解碼器以低分辨率潛在特征 F l ∈ R H 8 × W 8 × 8 C \mathbf{F}_{l}\in\mathbb{R}^{\frac{H}{8}\times\frac{W}{8}\times 8C} Fl?∈R8H?×8W?×8C 作為輸入,并逐步恢復高分辨率表示。對于特征下采樣和上采樣,我們分別應用pixel-unshuffle和pixel-shuffle操作 [69]。為了輔助恢復過程,編碼器特征通過跳躍連接 [66] 與解碼器特征拼接。拼接操作之后是一個1×1卷積,用于在除頂層外的所有層級減少通道數(減半)。在第1級(最高分辨率),我們讓Transformer塊聚合來自編碼器的低級圖像特征和解碼器的高級特征。這有助于在恢復的圖像中保留精細的結構和紋理細節。接下來,深層特征 F d \mathbf{F}_{\mathbf{d}} Fd? 在運行于高空間分辨率的精煉階段得到進一步豐富。正如我們將在實驗部分(第4節)看到的,這些設計選擇帶來了質量上的提升。最后,對精煉后的特征應用一個卷積層以生成殘差圖像 R ∈ R H × W × 3 \mathbf{R}\in\mathbb{R}^{H\times W\times 3} R∈RH×W×3,將其加到退化圖像上即可獲得恢復的圖像: I ^ = I + R \hat{\mathbf{I}}=\mathbf{I}+\mathbf{R} I^=I+R。接下來,我們介紹Transformer塊的模塊。
3.1 多頭深度卷積轉置注意力 (Multi-Dconv Head Transposed Attention)
Transformer中的主要計算開銷來自于自注意力層。在傳統的SA [17, 77] 中,鍵-查詢點積交互的時間和內存復雜度隨輸入的空間分辨率呈二次方增長,即對于 W × H W\times H W×H 像素的圖像為 O ( W 2 H 2 ) \mathcal{O}(W^{2}H^{2}) O(W2H2)。因此,在大多數涉及高分辨率圖像的圖像恢復任務上應用SA是不可行的。為了緩解這個問題,我們提出了MDTA(見圖2(a)),它具有線性復雜度。其關鍵要素是跨通道而非空間維度應用SA,即跨通道計算互協方差以生成隱式編碼全局上下文的注意力圖。作為MDTA的另一個基本組成部分,我們在計算特征協方差以生成全局注意力圖之前引入深度卷積來強調局部上下文。
從一個層歸一化后的張量 Y ∈ R H ^ × W ^ × C ^ \mathbf{Y}\in\mathbb{R}^{\hat{H}\times\hat{W}\times\hat{C}} Y∈RH^×W^×C^ 出發,我們的MDTA首先生成富含局部上下文的查詢 ( Q \mathbf{Q} Q)、鍵 ( K \mathbf{K} K) 和值 ( V \mathbf{V} V) 投影。這是通過應用 1 × 1 1\times 1 1×1 卷積聚合逐像素的跨通道上下文,然后應用 3 × 3 3\times 3 3×3 深度卷積編碼通道內的空間上下文來實現的,得到 Q = W d Q W p Q Y \mathbf{Q}{=}W_{d}^{Q}W_{p}^{Q}\mathbf{Y} Q=WdQ?WpQ?Y, K = W d K W p K Y \mathbf{K}{=}W_{d}^{K}W_{p}^{K}\mathbf{Y} K=WdK?WpK?Y 和 V = W d V W p V Y \mathbf{V}{=}W_{d}^{V}W_{p}^{V}\mathbf{Y} V=WdV?WpV?Y。其中 W p ( ? ) W_{p}^{(\cdot)} Wp(?)? 是 1 × 1 1\times 1 1×1 逐點卷積, W d ( ? ) W_{d}^{(\cdot)} Wd(?)? 是 3 × 3 3\times 3 3×3 深度卷積。我們在網絡中使用無偏置卷積層。接下來,我們重塑查詢和鍵投影,使得它們的點積交互生成一個大小為 R C ^ × C ^ \mathbb{R}^{\hat{C}\times\hat{C}} RC^×C^ 的轉置注意力圖 A \mathbf{A} A,而不是巨大的常規注意力圖(大小為 R H ^ W ^ × H ^ W ^ \mathbb{R}^{\hat{H}\hat{W}\times\hat{H}\hat{W}} RH^W^×H^W^ [17, 77])。總體而言,MDTA過程定義為:
KaTeX parse error: Expected '\right', got '}' at position 118: …hat{\mathbf{V}}}?\right)+\mathbf… (1)
其中 X \mathbf{X} X 和 X ^ \hat{\mathbf{X}} X^ 是輸入和輸出特征圖; Q ^ ∈ R H ^ W ^ × C ^ \hat{\mathbf{Q}}\in\mathbb{R}^{\hat{H}\hat{W}\times\hat{C}} Q^?∈RH^W^×C^; K ^ ∈ R C ^ × H ^ W ^ \hat{\mathbf{K}}\in\mathbb{R}^{\hat{C}\times\hat{H}\hat{W}} K^∈RC^×H^W^;和 V ^ ∈ R H ^ W ^ × C ^ \hat{\mathbf{V}}\in\mathbb{R}^{\hat{H}\hat{W}\times\hat{C}} V^∈RH^W^×C^ 矩陣是通過將原始大小為 R H ^ × W ^ × C ^ \mathbb{R}^{\hat{H}\times\hat{W}\times\hat{C}} RH^×W^×C^ 的張量重塑得到的。這里, α \alpha α 是一個可學習的縮放參數,用于在應用softmax函數之前控制 K ^ \hat{\mathbf{K}} K^ 和 Q ^ \hat{\mathbf{Q}} Q^? 點積的大小。類似于傳統的多頭SA [17],我們將通道數劃分為“頭”,并行學習單獨的注意力圖。
3.2 門控深度卷積前饋網絡 (Gated-Dconv Feed-Forward Network)
為了變換特征,常規的前饋網絡(FN)[17, 77] 在每個像素位置獨立且相同地操作。它使用兩個 1 × 1 1\times 1 1×1 卷積,一個用于擴展特征通道(通常擴展因子為 γ = 4 \gamma{=}4 γ=4),第二個將通道縮減回原始輸入維度。在隱藏層中應用一個非線性激活函數。在這項工作中,我們對FN進行了兩項根本性修改以改進表示學習:(1) 門控機制,(2) 深度卷積。我們的GDFN架構如圖2(b)所示。門控機制被表述為兩條并行線性變換層路徑的逐元素乘積,其中一條路徑使用GELU非線性激活 [27]。與MDTA類似,我們也在GDFN中加入了深度卷積,以編碼來自空間相鄰像素位置的信息,這對于學習局部圖像結構以進行有效恢復很有用。給定輸入張量 X ∈ R H ^ × W ^ × C ^ \mathbf{X}\in\mathbb{R}^{\hat{H}\times\hat{W}\times\hat{C}} X∈RH^×W^×C^,GDFN 定義為:
X ^ = W p 0 Gating ? ( X ) + X , Gating ? ( X ) = ? ( W d 1 W p 1 ( LN ( X ) ) ) ⊙ W d 2 W p 2 ( LN ( X ) ) , \begin{split}\hat{\mathbf{X}}&=W_{p}^{0}\operatorname {Gating}\left(\mathbf{X}\right)+\mathbf{X},\\ \operatorname{Gating}(\mathbf{X})&=\phi(W_{d}^{1}W _{p}^{1}(\text{LN}(\mathbf{X})))\odot W_{d}^{2}W_{p}^{2}(\text{LN}(\mathbf{X}) ),\end{split} X^Gating(X)?=Wp0?Gating(X)+X,=?(Wd1?Wp1?(LN(X)))⊙Wd2?Wp2?(LN(X)),? (2)
其中 ⊙ \odot ⊙ 表示逐元素乘法, ? \phi ? 代表GELU非線性激活函數,LN是層歸一化 [9]。總體而言,GDFN控制著信息流經我們流程中相應的層次級別,從而使每個級別能夠專注于與其他級別互補的精細細節。也就是說,與專注于用上下文信息豐富特征的MDTA相比,GDFN提供了一個獨特的作用。由于所提出的GDFN與常規FN [17] 相比執行了更多操作,我們降低了擴展比 γ \gamma γ 以保持相似的參數量和計算負擔。
3.3 漸進式學習 (Progressive Learning)
基于CNN的恢復模型通常在固定大小的圖像塊上進行訓練。然而,在裁剪的小塊上訓練Transformer模型可能無法編碼全局圖像統計信息,從而在測試時對全分辨率圖像提供次優性能。為此,我們采用漸進式學習,網絡在早期階段使用較小的圖像塊進行訓練,在后期訓練階段逐漸使用較大的圖像塊。通過漸進式學習在混合尺寸塊上訓練的模型,在測試時(圖像可能具有不同分辨率,這在圖像恢復中很常見)表現出增強的性能。漸進式學習策略的行為類似于課程學習過程,網絡從一個更簡單的任務開始,逐漸過渡到學習更復雜的任務(需要保留精細的圖像結構/紋理)。由于在大圖像塊上訓練需要更長時間,我們隨著圖像塊大小的增加而減小批量大小,以保持每個優化步驟的時間與固定塊訓練相似。
4 實驗與分析 (Experiments and Analysis)
我們在基準數據集和實驗設置上評估了提出的Restormer,涉及四個圖像處理任務:(a) 圖像去雨,(b) 單圖像運動去模糊,? 散焦去模糊(單圖像和雙像素數據),以及**(d)** 圖像去噪(合成數據和真實數據)。有關數據集、訓練協議和更多可視化結果的詳細信息在補充材料中提供。在表格中,評估方法的最佳和第二佳質量得分分別用粗體和下劃線標出。
實現細節 (Implementation Details)。 我們為不同的圖像恢復任務訓練了單獨的模型。在所有實驗中,除非另有說明,我們使用以下訓練參數。我們的Restormer采用4級編碼器-解碼器。從第1級到第4級,Transformer塊的數量為[4, 6, 6, 8],MDTA中的注意力頭數為[1, 2, 4, 8],通道數為[48, 96, 192, 384]。精煉階段包含4個塊。GDFN中的通道擴展因子為 γ \gamma γ=2.66。我們使用AdamW優化器 ( β 1 \beta_{1} β1?=0.9, β 2 \beta_{2} β2?=0.999, 權重衰減 1 e ? 4 1e^{-4} 1e?4) 和L1損失訓練模型 300 300 300K次迭代,初始學習率 3 e ? 4 3e^{-4} 3e?4 通過余弦退火 [51] 逐漸降至 1 e ? 6 1e^{-6} 1e?6。對于漸進式學習,我們從塊大小 128 × 128 128\times 128 128×128 和批量大小 64 64 64 開始訓練。塊大小和批量大小對在迭代次數 [92K, 156K, 204K, 240K, 276K] 時更新為[(1602,40), (1922,32), (2562,16), (3202,8), (3842,8)]。對于數據增強,我們使用水平和垂直翻轉。
4.1 圖像去雨結果 (Image Deraining Results)
我們使用YCbCr顏色空間的Y通道計算PSNR/SSIM分數,方式與現有方法 [32, 61, 93] 類似。表1顯示,我們的Restormer在所有五個數據集上都比現有方法取得了持續且顯著的性能提升。與最近的最佳方法SPAIR [61] 相比,Restormer在所有數據集上的平均提升了 1.05 1.05 1.05 dB。在個別數據集上,增益可達 2.06 2.06 2.06 dB(例如Rain100L)。圖3顯示了一個具有挑戰性的視覺示例。我們的Restormer有效地保留了結構內容,同時再現了無雨滴的圖像。
(表1和圖3描述內容省略,詳見原文)
4.2 單圖像運動去模糊結果 (Single-image Motion Deblurring Results)
我們在合成數據集(GoPro [56], HIDE [67])和真實世界數據集(RealBlur-R [65], RealBlur-J [65])上評估去模糊方法。表2顯示,我們的Restormer在所有四個基準數據集上都優于其他方法。在所有數據集上平均,我們的方法比最近的算法MIMO-UNet+ [14] 提升了 0.47 0.47 0.47 dB,比之前的最佳方法MPRNet [93] 提升了 0.26 0.26 0.26 dB。與MPRNet [93] 相比,Restormer的FLOPs減少了 81 % 81\% 81%(見圖1)。此外,我們的方法比Transformer模型IPT [13] 提高了 0.4 0.4 0.4 dB,同時參數減少了 4.4 × 4.4\times 4.4×,運行速度快了 29 × 29\times 29×。值得注意的是,我們的Restormer僅在GoPro [56] 數據集上訓練,但通過在其他數據集上設定新的最先進水平,展示了強大的泛化能力。圖4顯示,與其他算法相比,我們的方法產生的圖像更清晰,視覺上更接近真實值。
(表2和圖4描述內容省略,詳見原文)
4.3 散焦去模糊結果 (Defocus Deblurring Results)
表3顯示了在DPDD數據集 [3] 上,傳統散焦去模糊方法(EBDB [33] 和 JNB [68])以及基于學習的方法的圖像保真度分數。我們的Restormer在所有場景類別上,對于單圖像和雙像素散焦去模糊任務,都顯著優于最先進的方案。特別是在組合場景類別上,Restormer比之前的最佳方法IFAN [41] 提升了約 0.6 0.6 0.6 dB。與Transformer模型Uformer [80] 相比,我們的方法提供了顯著的 1.01 1.01 1.01 dB PSNR增益。圖5說明,在去除空間變化的散焦模糊方面,我們的方法比其他方法更有效。
(表3和圖5描述內容省略,詳見原文)
4.4 圖像去噪結果 (Image Denoising Results)
我們在用加性白高斯噪聲生成的合成基準數據集(Set12 [101], BSD68 [52], Urban100 [29], Kodak24 [20], McMaster [104])以及真實世界數據集(SIDD [1], DND [60])上進行去噪實驗。遵循 [54, 93, 99],我們使用無偏置的Restormer進行去噪。
高斯去噪 (Gaussian denoising)。 表4和表5分別顯示了在不同基準數據集上,各種方法在灰度和彩色圖像去噪方面的PSNR分數。與現有方法 [44, 99] 一致,我們在測試中包含了噪聲水平15、25和50。評估方法分為兩個實驗類別:(1) 學習一個單一模型處理各種噪聲水平,(2) 為每個噪聲水平學習一個單獨的模型。我們的Restormer在不同數據集和噪聲水平下的兩種實驗設置下都實現了最先進的性能。具體來說,對于高分辨率Urban100數據集 [29] 上具有挑戰性的噪聲水平50,如表4所示,Restormer比之前最佳的基于CNN的方法DRUNet [99] 提高了 0.37 0.37 0.37 dB,比最近的基于Transformer的網絡SwinIR [44] 提高了 0.31 0.31 0.31 dB。在表5的高斯彩色去噪中也可以觀察到類似的性能提升。值得一提的是,DRUNet [99] 需要噪聲水平圖作為額外輸入,而我們的方法僅輸入噪聲圖像。此外,與SwinIR [44] 相比,我們的Restormer的FLOPs減少了 3.14 × 3.14\times 3.14×,運行速度快了 13 × 13\times 13×。圖6展示了不同方法對灰度去噪(頂行)和彩色去噪(中行)的去噪結果。我們的Restormer恢復了干凈清晰的圖像。
(表4、表5和圖6頂行、中行描述內容省略,詳見原文)
真實圖像去噪 (Real image denoising)。 表6顯示,我們的方法是唯一一個在兩個數據集上都超過 40 40 40 dB PSNR的方法。值得注意的是,在SIDD數據集上,我們的Restormer比之前最佳的CNN方法MIRNet [92] 和Transformer模型Uformer [80] 分別提高了 0.3 0.3 0.3 dB 和 0.25 0.25 0.25 dB PSNR。圖6(底行)顯示,我們的Restormer在不損害精細紋理的情況下生成了干凈的圖像。
(表6和圖6底行描述內容省略,詳見原文)
4.5 消融研究 (Ablation Studies)
對于消融實驗,我們僅在大小為 128 × 128 128\times 128 128×128 的圖像塊上訓練高斯彩色去噪模型,迭代 100 100 100K次。測試在Urban100 [29] 上進行,并針對具有挑戰性的噪聲水平 σ = 50 \sigma{=}50 σ=50 進行分析。FLOPs和推理時間在圖像大小 256 × 256 256{\times}256 256×256 上計算。表7-10顯示我們的貢獻帶來了性能提升。接下來,我們分別描述每個組件的影響。
多頭注意力改進 (Improvements in multi-head attention)。 表7c表明,我們的MDTA比基線(表7a)提供了顯著的 0.32 0.32 0.32 dB增益。此外,通過深度卷積將局部性引入MDTA提高了魯棒性,移除它會導致PSNR下降(見表7b)。
(表7a-c描述內容省略,詳見原文)
前饋網絡改進 (Improvements in feed-forward network (FN))。 表7d顯示,FN中用于控制信息流的門控機制比常規FN [77] 提高了 0.12 0.12 0.12 dB。與多頭注意力類似,在FN中引入局部機制也帶來了性能優勢(見表7e)。我們通過引入門控深度卷積進一步增強了FN。對于噪聲水平50,我們的GDFN(表7f)比標準FN [77] 實現了 0.26 0.26 0.26 dB的PSNR增益。總體而言,我們Transformer塊的貢獻比基線帶來了顯著的 0.51 0.51 0.51 dB增益。
(表7d-f描述內容省略,詳見原文)
第1級解碼器的設計選擇 (Design choices for decoder at level-1)。 為了在第1級(最高分辨率)聚合編碼器特征和解碼器特征,我們在拼接操作后沒有使用 1 × 1 1{\times}1 1×1 卷積(該操作會將通道數減半)。如表8所示,這有助于保留來自編碼器的精細紋理細節。這些結果進一步證明了在精煉階段添加Transformer塊的有效性。
(表8描述內容省略,詳見原文)
漸進式學習的影響 (Impact of progressive learning)。 表9顯示,在訓練時間相似的情況下,漸進式學習比固定塊訓練提供了更好的結果。
(表9描述內容省略,詳見原文)
更深還是更寬? (Deeper or wider Restormer?)。 表10顯示,在相似的參數量/FLOPs預算下,深而窄的模型比寬而淺的模型性能更準確。然而,更寬的模型由于并行化運行更快。在本文中,我們使用深而窄的Restormer。
(表10描述內容省略,詳見原文)
5 結論 (Conclusion)
我們提出了一種圖像恢復Transformer模型——Restormer,它在計算上高效,能夠處理高分辨率圖像。我們對Transformer塊的核心組件引入了關鍵設計,以改進特征聚合和變換。具體來說,我們的多頭深度卷積轉置注意力(MDTA)模塊通過跨通道而非空間維度應用自注意力來隱式建模全局上下文,因此具有線性復雜度而非二次方復雜度。此外,提出的門控深度卷積前饋網絡(GDFN)引入了門控機制來執行受控的特征變換。為了將CNN的優勢融入Transformer模型,MDTA和GDFN模塊都包含了用于編碼空間局部上下文的深度卷積。在16個基準數據集上進行的大量實驗表明,Restormer在眾多圖像恢復任務上實現了最先進的性能。