1. 摘要
CNN 中的特征包含着不同類型的信息,它們對圖像重建的貢獻也不一樣。然而,現在的大多數 CNN 模型卻缺少對不同信息的辨別能力,因此也就限制了模型的表示容量。
另一方面,隨着網絡的加深,來自前面層的長期信息很容易在后面的層被削弱甚至消失,這顯然不利於圖像的超分辨。
作者提出了一個通道和空間特征調制(CSFM)網絡,其中一系列特征調制記憶(FMM)模塊級聯在一起來將低分辨率特征轉化為高信息量的特征。而在每個 FMM 內部,則集成了許多通道和空間注意力殘差塊(CSAR)以及一個用來保留長期信息的門控融合節點(GF)。
2. 網絡結構
2.1. CSAR(Channel-wise and Spatial Attention Residual )

進來一個特征 Hi,先經過卷積-ReLU-卷積得到特征 U,卷積核都為 3×3。
CA 單元包含全局空間池化-卷積-ReLU-卷積-Sigmoid,卷積核都為 1×1,第一層卷積通道數變為 C/r,第二層卷積通道數為 C。
SA 單元包含卷積-ReLU-卷積-Sigmoid,卷積核都為 1×1,第一層卷積通道數變為 C*i,第二層卷積通道數為 1。
得到通道和空間的兩個 mask 后,分別和特征 U 相乘,然后再將兩個結果拼接起來經過一個 1×1 的卷積將通道數變為 C,最后和 Hi 相加得到輸出特征 Ho。
在論文中,作者設置 r=16,i=2,CSAR 的一個 TensorFlow 實現如下所示。
def CSAR(input, reduction, increase):
"""
@Channel-wise and Spatial Feature Modulation Network for Single Image Super-Resolution
Channel-wise and spatial attention residual block
"""
_, width, height, channel = input.get_shape() # (B, W, H, C)
u = tf.layers.conv2d(input, channel, 3, padding='same', activation=tf.nn.relu) # (B, W, H, C)
u = tf.layers.conv2d(u, channel, 3, padding='same') # (B, W, H, C)
# channel attention
x = tf.reduce_mean(u, axis=(1, 2), keepdims=True) # (B, 1, 1, C)
x = tf.layers.conv2d(x, channel // reduction, 1, activation=tf.nn.relu) # (B, 1, 1, C // r)
x = tf.layers.conv2d(x, channel, 1, activation=tf.nn.sigmoid) # (B, 1, 1, C)
x = tf.multiply(u, x) # (B, W, H, C)
# spatial attention
y = tf.layers.conv2d(u, channel * increase, 1, activation=tf.nn.relu) # (B, W, H, C * i)
y = tf.layers.conv2d(y, 1, 1, activation=tf.nn.sigmoid) # (B, W, H, 1)
y = tf.multiply(u, y) # (B, W, H, C)
z = tf.concat([x, y], -1)
z = tf.layers.conv2d(z, channel, 1, activation=tf.nn.relu) # (B, W, H, C)
z = tf.add(input, z)
return z
2.2. FFM(Feature Modulation Memory)

一個 FFM 模塊由 B 個 CSAR 塊疊加而成,最后面是一個門控融合節點,借鑒 DenseNet 的思想,將其前面所有 FFM 模塊的輸出特征拼接在一起再經過一個 1×1 的卷積。
2.3. CSFM(Channel-wise and Spatial Feature Modulation)

整個網絡結構包含三部分,第一部分為初始特征提取網絡(IFENet),第二部分為特征轉化網絡(FTNet),包含數個 FMM 模塊和一個跳躍連接,第三部分為上采樣網絡(UpNet),負責上采樣得到高分辨率圖片。
3. 實驗結果
3.1. Ablation studies

作者對比了只有 CA 單元和只有 SA 單元情況下模型的表現情況,結果如下所示。

可以看到,單單引入 CA 、SA 或者 GF 都會改善模型的性能,而將三者組合在一起則可以得到最大的性能提升。
網絡中 FMM 模塊的數量以及每個 FMM 模塊中 CSAR 塊的數量對模型的性能影響如下圖所示,M=8,B=16 時模型取得了最好的表現。

3.2. 實驗對比
在 PSNR 和 SSIM 指標上,CSFM 在所有的數據集上都取得了最好的效果。

主觀上也可以看到,CSFM 恢復出了圖片中更多的細節和紋理。

相較於之前表現最好的模型 EDSR,模型的參數量也大大減少。

獲取更多精彩,請關注「seniusen」!

