Attention in Super-Resolution[阅读笔记][RCAN][SAN][HAN]
今天總結(jié)一下目前SR的SOTA中利用了Attention的工作,主要有3篇.按時間順序分別是18年的RCAN,19年的SAN和20年的HAN.利用Attention的SR再PSNR表現(xiàn)上都排名比較靠前,HAN可以算是目前表現(xiàn)排在第一的.
RCAN【ECCV18】
筆記鏈接
比較早引入channel-attention的工作。在EDSR的基礎(chǔ)上提出residual in residual(RIR)結(jié)構(gòu):包含長跳連接的幾個殘差組,來構(gòu)建比較深的網(wǎng)絡(luò)。每一個殘差組又由殘差模塊+短跳連接構(gòu)成。
四個部分:淺層特征提取,RIR深層特征提取,upscale模塊和重建模塊。
淺層特征提取,用一層卷積$$F_0=H_{SF}(I_{LR})$$
RIR是達到目前最深的深度(超過400層卷積),提供了非常大的感受野。
Residual in Residual
包含G個residual group(RG)和長跳連接(LSC)。每一個RG包含B個residual channel attention模塊(RCAB)和短跳連接(SSC)。
第g個RG的特征為:$$F_g=H_g(F_{g-1})=H_g(H_{g-1}(...H_1(F_0)...))$$
長跳連接解決的是RIR結(jié)構(gòu)深度過深時訓(xùn)練穩(wěn)定性的問題,并且通過殘差學(xué)習(xí)提升表現(xiàn)。
[F_{DF}=F_0+W_{LSC}F_G=F_0+W_{LSC}H_g(H_{g-1}(...H_1(F_0)...))
]
其中(W_{LSC})是RIR結(jié)構(gòu)末尾卷積的權(quán)重,這里出于簡便性不考慮bias term。
第g個RG中第b個RCAB的特征為:
[F_{g, b}=H_{g, b}(F_{g, b-1})=H_{g, b}(H_{g, b-1}(...H_{g, 1}(F_{g-1})))
]
每個模塊都包含一個短跳連接
[F_g=F_{g-1}+W_gF_{g, B}=F_{g-1}+W_gH{g, B}(H_{g, B-1}(...H_{g, 1}(F_{g-1})...))
]
Channel Attention
考慮到每一個filter都只有一個局部的感受野,這里使用global average pooling得到channel-wise global spatial information。
這樣的channel數(shù)據(jù)可以看作是局部描述子的集合。作者指出這里除了使用全局平均池化以外,還可以使用其他更精巧的整合技巧。
為了更好捕捉channel-wise的依賴,引入了gating機制。引入的gating要能夠?qū)W習(xí)到通道間非線性的交互;要學(xué)習(xí)到的是非互斥的關(guān)系,因為可以強調(diào)多個channel級的特征而不是one-hot.文中使用簡單的gating機制:
$$s=f(W_Usigma(W_Dz))$$
(f(cdot),sigma(cdot))表示sigmoid 和ReLU函數(shù).低維特征先經(jīng)過reduction ratio為r的channel-downscaling模塊,再經(jīng)過ReLU激活后,通過ratio為r的channel-upscaling模塊.最后得到channel統(tǒng)計量s,用來rescale輸入x
[hat{x_c}=s_ccdot x_c
]
Residual Channel Attention Block(RCAB)
就是EDSR中的residual block+channel attention
[F_{g, b}=F_{g, b-1}+R_{g, b}(X_{g, b})cdot X_{g, b}
]
[X_{g, b}=W_{g, b}^2sigma(W_{g, b}^1F_{g, b-1})
]
其中(R_{g,b})是channel attention函數(shù),(W_{g,b}^1, W_{g,b}^2)是RCAB中兩個卷積的權(quán)重.
SAN【CVPR19】
在RCAN的基礎(chǔ)上利用二階信息(指協(xié)方差)計算注意力,同時利用了region級的non-local和共享的殘差跳躍。
網(wǎng)絡(luò)總體分為四個部分:淺層特征提取,基于NLRG的深層特征提取,upscale模塊,重建
淺層特征由一層卷積提取:(F_0=H_{SF}(I_{LR})),其中(H_{SF}(cdot))是卷積操作。
深層特征(F_{DF}=H_{NLRG}(F_0)),包含幾個non-local模塊和G個local-source residual attention group(LSRAG)模塊。
重建特征(F_{uparrow}=H_{uparrow}(F_{DF})),(H_{uparrow})可以是transposed conv或ESPCN
最后(I_{SR}=H_R(F_uparrow)=H_{SAN}(I_{LR}))
NLRG
包含幾個region-level non-local(RL-NL)模塊和一個share-source residual group(SSRG)結(jié)構(gòu)。SSRG由G個LSRAG with SSC組成,LSRAG包含M個residual blocks with local-source skip connection+SOCA。
第g個group的LSRAG: (F_g=W_{SSC}F_0+H_g(F_{g-1})),(W_{SSC})是給淺層特征的conv層的權(quán)重,初始化為0,再逐步給淺層特征更多權(quán)重。
最終得到的(F_{DF}=W_{SSC}F_0+F_G)
RL-NL
全局non-local模塊的缺點是:計算量過大,特別是當(dāng)特征圖尺寸很大的時候;Non-Local Recurrent Network for Image Restoration中說明了,在低層視覺領(lǐng)域選擇合適的鄰域大小進行non-local效果更好。因此首先將輸入劃分為(k imes k)
LSRAG
類似于RCAN中的residual group,由多個殘差模塊+SOCA組成
[F_{g, m}=H_{g, m}(F_{g, m-1})
]
[F_g=W_gF_{g-1}+F_{g, M}
]
SOCA
均值、最值為一階統(tǒng)計量,協(xié)方差矩陣為二階統(tǒng)計量。本文的方法基本和下面MPN-COV的方法差不多。
首先進行協(xié)方差規(guī)范化,將(W imes H imes C)的特征圖reshape成(WH imes C)的特征矩陣(X).
協(xié)方差矩陣的計算方式為(sum = Xar{I} X^T), (ar{I}=frac{1}{s}(mathbf{I}-frac{1}{s}mathbf{1})) ,(mathbf{I, 1})分別是(s imes s)的identity矩陣和全1矩陣。之后進行特征值分解,在進行規(guī)范化(和MPN-COV一致,(alpha)也是0.5)
得到的(hat{Y}=sum^alpha)表示了通道層面特征的關(guān)聯(lián)性。
(z_c=H_{GCP}(y_c)=frac{1}{C}displaystylesum_i^Cy_c(i)), (H_{GCP}(cdot))是global variance pooling,之后再利用gating
(w=f(W_Usigma(W_Dz))), (f(cdot),sigma(cdot))分別是sigmoid和ReLU函數(shù)。
這個過程依賴于特征值分解,GPU不支持,采用基于Newton-Schulz迭代提出了快速矩陣規(guī)范化的方法。
MPN-COV【ICCV17】Is Second-order Information Helpful for Large-scale Visual Recognition?
之所以取冪,是為了解決在協(xié)方差估計中小樣本高維度的問題,以resnet為例,最后得到的feature為7X7X512,也就是49個512維的feature,這樣估計出來的協(xié)方差矩陣是不靠譜的,而通過冪這個操作,可以解決這一問題。通過實驗可以發(fā)現(xiàn),當(dāng)冪次為0.5也就是平方根操作時,效果最優(yōu)。
但是以上方法最大的問題在于計算矩陣的冪需要首先對協(xié)方差矩陣求特征值,而特征值操作在GPU上支持的非常不友好,這也就降低了該方法的效率。這也就衍生出下一篇文章,通過迭代的方式求取平方根,進而加速該方法。iSQRT-COV
實驗結(jié)果
設(shè)置d和e比a,b,c都要好,說明channel-attention是比較重要的。與RCAN相比,SAN在有豐富紋理信息的數(shù)據(jù)上(Set5, Set14, B100)上表現(xiàn)有所提升,但在邊緣信息的數(shù)據(jù)集上(Urban100, Manga109)變現(xiàn)有一點變差。原因是,紋理信息是high-order patterns,而邊緣信息是first-order patterns。
HAN【ECCV20】
Motivation:之前使用的通道注意力對于不同層的特征,同個特征圖的不同位置都是同等對待的。
因此本文提出一個全面的注意力網(wǎng)絡(luò)HAN,考慮層與層之間,每層通道之間和每個通道的位置之間的相互關(guān)聯(lián)性。
包含特征提取,層注意力,channel-spatial attention模塊和重建模塊四個部分。
特征提取部分,淺層特征由一層卷積進行提取,中間層特征使用RCAN作為backbone,每一個residual group都產(chǎn)生一個中間結(jié)果。
Holistic Attention,得到中間特征后,進行holistic feature weighting。包括對結(jié)構(gòu)化特征進行的層注意力,取每一個residual groups的結(jié)果(F_i), (F_L=H_{LA}(concatenate(F_1,F_2, ..., F_N)))。以及對RCAN最后一層進行的channel-spatial的注意力, (F_{CS}=H_{CSA}(F_N)) 。雖然可以對每一個(F_i)都進行CSA,但是出于效率考慮指取最后一層。
圖像重建,將(F_L)和(F_{CS})進行element-wise求和,使用sub-pixel作為最后的upscale模塊。引入長跳連接來穩(wěn)定訓(xùn)練。因此sub-pixel的輸入為(F_0+F_L+F_{CS})
Layer Attention Module
輸入是N個residual group的特征圖,維數(shù)是$N imes H imes W imes C$,將他們reshape成2維的矩陣$N imes HWC$,轉(zhuǎn)置后和對應(yīng)層做矩陣乘法計算correlation。
其中(sigma(cdot),varphi(cdot))分別是softmax和reshape函數(shù)。(F_{L_j}=alphadisplaystylesum_{i=1}^Nw_{i,j}FG_i+FG_j),(alpha)初始化為0,在訓(xùn)練過程中逐步更新。
Channel-Spatial Attention
輸入RCAN最后一層特征圖(F_Nin R^{H imes W imes C}),進行3D卷積。文中使用(3 imes3 imes3)卷積,得到3組channel-spatial attention maps,(W_{csa})
[F_{CS}=etasigma(W_{csa})igodot F_N+F_N
]
其中(sigma(cdot),igodot)分別是sigmoid和element-wist product函數(shù)。(eta)也是初始化為0,在訓(xùn)練中逐步更新。
實驗結(jié)果
各個模塊的效果:
RG數(shù)目的影響:
CSAM數(shù)量的影響:
總結(jié)
以上是生活随笔為你收集整理的Attention in Super-Resolution[阅读笔记][RCAN][SAN][HAN]的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AI PC 处理器战场硝烟弥漫:高通、英
- 下一篇: 尼康尼克尔可更换镜头总产量突破 1.2