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