对于给定的退化图像 x,AirNet首先将其输入 fC(·),以学习潜在的退化表示 z = fC(x)。然后,x 和 z 进一步通过 fD(·),以获得修复后的图像 y` = fD(x, z)。在不失一般性的前提下,本文以三种常见的退化类型(即噪声、雾和雨)为例进行展示。接下来,我们将首先介绍整体损失函数,然后详细阐述两个子网络及其对应的损失。
3.1 The Objective Function
为了从观察到的图像中去除损坏,我们提出了以下目标函数:其中:LRec 是重建损失,用于衡量真实值 y 与修复后的干净图像 y·之间的差异;Lcl 是对比损失,专门用于优化基于对比的退化编码器(CBDE)。
L = L R e c + L c l ( 1 ) \mathcal{L} = \mathcal{L}{Rec} + \mathcal{L}{cl}\ \ \ \ \ \ \ \ \ (1) L=LRec+Lcl (1)
对于给定的退化图像 x,LRec 旨在通过AirNet最小化 y 与修复后的干净图像 y` = f(x) 之间的L1距离。数学表达式为:其中,T 是图像 x 的像素总数,i 是像素索引。
L R e c = 1 T ∑ i = 1 T ∣ f ( x i ) − y i ∣ ( 2 ) \mathcal{L}{Rec} = \frac{1}{T} \sum{i=1}^{T} |f(x_i) - y_i|\ \ \ \ \ \ \ \ \ (2) LRec=T1i=1∑T∣f(xi)−yi∣ (2)
如上所述,DGM 是DGRN的基本模块,由一个可变形卷积(DCN)层和一个空间特征变换(SFT)层组成。数学表达式为:Φm,b,g_DGM 表示第 g 个DGG中第 b 个DGB的第 m 个DGM,Φm,b,g_DGM 表示第 g 个DGG中第 b 个DGB的第 m 个DGM,ΦDCN 和 ΦSFT 分别是DCN层和SFT层。
F D G M m , b , g = Φ D G M m , b , g ( F m − 1 , b , g , z ) ( 4 ) F_{DGM}^{m,b,g} = \Phi_{DGM}^{m,b,g}(F^{m-1,b,g}, z)\ \ \ \ \ \ \ \ \ (4) FDGMm,b,g=ΦDGMm,b,g(Fm−1,b,g,z) (4)
= Φ D C N m , b , g ( F m − 1 , b , g ∣ z ) + Φ S F T m , b , g ( F m − 1 , b , g ∣ z ) = \Phi_{DCN}^{m,b,g}(F^{m-1,b,g}|z) + \Phi_{SFT}^{m,b,g}(F^{m-1,b,g}|z) =ΦDCNm,b,g(Fm−1,b,g∣z)+ΦSFTm,b,g(Fm−1,b,g∣z)
DGM的设计旨在实现以下两个目标:
1、自适应不同退化 :由于不同退化需要不同的感受野,模型应能够适应不同退化 。为此,DGM采用可变形卷积(DCN),它可以根据调制偏移量和掩码动态调整感受野。具体来说,给定一个具有 K 个采样位置的可变形卷积核,wk 和 pk ∈ {(−1, −1), (−1, 0) , (1, 1)} 分别表示第 k 个位置的权重和预定义偏移量,则DGM中使用的DCN层定义为:其中, F{(m-1,b,g)} ( p) 表示特征图 F^{(m-1,b,g)} 在位置 p 处的特征,∆pk 和 ∆mk 分别是第 k 个位置的可学习偏移量和调制标量。
( Δ p k , Δ m k ) = conv ( concat ( F m − 1 , b , g , z ) ) ( 6 ) (\Delta p_k, \Delta m_k) = \text{conv}(\text{concat}(F^{m-1, b, g}, z)) \ \ \ \ \ \ \ \ \ (6) (Δpk,Δmk)=conv(concat(Fm−1,b,g,z)) (6)
DCN可变形卷积 总结:
输入:当前层特征 F^{(m-1,b,g)} +损失特征z
过程:
生成偏移量和调制变量
( Δ p k , Δ m k ) = conv ( concat ( F m − 1 , b , g , z ) ) (\Delta p_k, \Delta m_k) = \text{conv}(\text{concat}(F^{m-1, b, g}, z)) (Δpk,Δmk)=conv(concat(Fm−1,b,g,z))
公式解释:特征图 F 和损失 z concat后通过一个Conv来生成偏移量 ∆pk 和调制变量 ∆mk。其中:Conv:卷积层预测每个卷积核位置的偏移量。
在雾区使用大偏移卷积增强全局对比度,在雨区用小偏移卷积追踪雨线。
动态卷积:
Φ D C N m , b , g ( F m − 1 , b , g ∣ z ) = ∑ k = 1 K w k ⋅ F m − 1 , b , g ( p + p k + Δ p k ) ⋅ Δ m k \Phi_{DCN}^{m,b,g}(F^{m-1,b,g}|z) = \sum_{k=1}^{K} w_k \cdot F^{m-1,b,g}(p + p_k + \Delta p_k) \cdot \Delta m_k ΦDCNm,b,g(Fm−1,b,g∣z)=k=1∑Kwk⋅Fm−1,b,g(p+pk+Δpk)⋅Δmk
2、缩小分布差距 :由于不同退化图像具有不同的潜在分布,所提出的模型应能够缩小分布差距,以增强多退化修复能力 。为此,DGM采用**空间特征变换(SFT)**作为组件,根据 z 调整特征 F 的分布,即:
F S F T m , b , g = Φ S F T m , b , g ( F m − 1 , b , g ∣ z ) ( 7 ) F_{SFT}^{m,b,g} = \Phi_{SFT}^{m,b,g}(F^{m-1,b,g}|z) \ \ \ \ \ \ \ \ \ (7) FSFTm,b,g=ΦSFTm,b,g(Fm−1,b,g∣z) (7)
具体来说,SFT层旨在学习一个映射函数 M,为给定的 z 输出调制参数(γ 和 β)。然后,SFT通过使用 γ 和 β 对特征 Fm−1,b,g 进行仿射变换。数学表达式为:其中,⊙ 表示逐元素乘法,(γ, β) = M(z)。在我们的实验中,我们使用两个卷积层实现 M。
F S F T m , b , g = Φ S F T m , b , g ( F m − 1 , b , g ∣ γ , β ) = γ ⊙ F m − 1 , b , g + β ( 8 ) F_{SFT}^{m,b,g} = \Phi_{SFT}^{m,b,g}(F^{m-1,b,g}|\gamma, \beta) = \gamma \odot F^{m-1,b,g} + \beta \ \ \ \ \ \ \ \ \ (8) FSFTm,b,g=ΦSFTm,b,g(Fm−1,b,g∣γ,β)=γ⊙Fm−1,b,g+β (8)
SFT空间特征变换:
输入:DCN输出 F_{\text{dcn}} + 损坏特征 z。
操作:
生成变换参数:
MLP:小型全连接网络,生成逐像素的缩放因子 γ 和平移因子 β。
特征变换:
γ ⊙ F m − 1 , b , g + β \gamma \odot F^{m-1,b,g} + \beta γ⊙Fm−1,b,g+β