CNN 中的特徵包含着不一樣類型的信息,它們對圖像重建的貢獻也不同。然而,如今的大多數 CNN 模型卻缺乏對不一樣信息的辨別能力,所以也就限制了模型的表示容量。python
另外一方面,隨着網絡的加深,來自前面層的長期信息很容易在後面的層被削弱甚至消失,這顯然不利於圖像的超分辨。網絡
做者提出了一個通道和空間特徵調製(CSFM)網絡,其中一系列特徵調製記憶(FMM)模塊級聯在一塊兒來將低分辨率特徵轉化爲高信息量的特徵。而在每一個 FMM 內部,則集成了許多通道和空間注意力殘差塊(CSAR)以及一個用來保留長期信息的門控融合節點(GF)。性能
進來一個特徵 Hi,先通過卷積-ReLU-卷積獲得特徵 U,卷積核都爲 3×3。spa
CA 單元包含全局空間池化-卷積-ReLU-卷積-Sigmoid,卷積核都爲 1×1,第一層卷積通道數變爲 C/r,第二層卷積通道數爲 C。3d
SA 單元包含卷積-ReLU-卷積-Sigmoid,卷積核都爲 1×1,第一層卷積通道數變爲 C*i,第二層卷積通道數爲 1。code
獲得通道和空間的兩個 mask 後,分別和特徵 U 相乘,而後再將兩個結果拼接起來通過一個 1×1 的卷積將通道數變爲 C,最後和 Hi 相加獲得輸出特徵 Ho。blog
在論文中,做者設置 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
一個 FFM 模塊由 B 個 CSAR 塊疊加而成,最後面是一個門控融合節點,借鑑 DenseNet 的思想,將其前面全部 FFM 模塊的輸出特徵拼接在一塊兒再通過一個 1×1 的卷積。ip
整個網絡結構包含三部分,第一部分爲初始特徵提取網絡(IFENet),第二部分爲特徵轉化網絡(FTNet),包含數個 FMM 模塊和一個跳躍鏈接,第三部分爲上採樣網絡(UpNet),負責上採樣獲得高分辨率圖片。get
做者對比了只有 CA 單元和只有 SA 單元狀況下模型的表現狀況,結果以下所示。
能夠看到,單單引入 CA 、SA 或者 GF 都會改善模型的性能,而將三者組合在一塊兒則能夠獲得最大的性能提高。
網絡中 FMM 模塊的數量以及每一個 FMM 模塊中 CSAR 塊的數量對模型的性能影響以下圖所示,M=8,B=16 時模型取得了最好的表現。
在 PSNR 和 SSIM 指標上,CSFM 在全部的數據集上都取得了最好的效果。
主觀上也能夠看到,CSFM 恢復出了圖片中更多的細節和紋理。
相較於以前表現最好的模型 EDSR,模型的參數量也大大減小。
獲取更多精彩,請關注「seniusen」!