【超分辨率】《Image Super-Resolution Using Very Deep Residual Channel Attention Networks》論文閱讀

1. 摘要

在圖像超分辨領(lǐng)域,卷積神經(jīng)網(wǎng)絡(luò)的深度非常重要,但過深的網(wǎng)絡(luò)卻難以訓(xùn)練。低分辨率的輸入以及特征包含豐富的低頻信息,但卻在通道間被平等對(duì)待,因此阻礙了網(wǎng)絡(luò)的表示能力。

為了解決上述問題,作者提出了一個(gè)深度殘差通道注意力網(wǎng)絡(luò)(RCAN)。特別地,作者設(shè)計(jì)了一個(gè)殘差中的殘差(RIR)結(jié)構(gòu)來構(gòu)造深層網(wǎng)絡(luò),每個(gè) RIR 結(jié)構(gòu)由數(shù)個(gè)殘差組(RG)以及長跳躍連接(LSC)組成,每個(gè) RG 則包含一些殘差塊和短跳躍連接(SSC)。

RIR 結(jié)構(gòu)允許豐富的低頻信息通過多個(gè)跳躍連接直接進(jìn)行傳播,使主網(wǎng)絡(luò)專注于學(xué)習(xí)高頻信息。此外,我們還提出了一種通道注意力機(jī)制(CA),通過考慮通道之間的相互依賴性來自適應(yīng)地重新調(diào)整特征。

2. 介紹

網(wǎng)絡(luò)的深度在許多視覺識(shí)別任務(wù)中展示了非常重要的作用,特別是在 ResNet 引入殘差塊之后,最近許多圖像超分辨效果的重大提升都是基于網(wǎng)絡(luò)表示的深度來改進(jìn)的。

但是,另一方面,現(xiàn)在的大多數(shù) CNN 都平等對(duì)待特征的每一個(gè)通道,這無疑缺少處理不同類型信息的靈活度。圖像超分辨是為了盡可能多地恢復(fù)高頻信息,而低分辨率的圖片卻包含著許多可以直接被傳播到輸出的低頻信息,因此,特征的所有通道如果被平等對(duì)待則會(huì)使網(wǎng)絡(luò)缺乏辨別學(xué)習(xí)能力。

基于上面的分析,作者提出了一個(gè) RIR(Residual In Residual)架構(gòu),其中 RG(Residual Group)作為基本模塊,LSC(Long Skip Connection)則用來進(jìn)行粗略的殘差學(xué)習(xí),在每個(gè) RG 內(nèi)部則疊加數(shù)個(gè)簡單的殘差塊和 SSC(Short Skip Connection)。LSC、SSC 和殘差塊內(nèi)部的短連接可以允許豐富的低頻信息直接通過恒等映射向后傳播,這可以保證信息的流動(dòng),加速網(wǎng)絡(luò)的訓(xùn)練。

進(jìn)一步,作者提出了通道注意力(Channel Attention)機(jī)制,通過對(duì)特征通道之間的相互依賴性建模來自適應(yīng)地重新縮放每個(gè)通道的特征。實(shí)驗(yàn)證明,這種機(jī)制允許網(wǎng)絡(luò)專注于更有用的信道并增強(qiáng)辨別學(xué)習(xí)能力。

3. 網(wǎng)絡(luò)結(jié)構(gòu)

3.1. CA

image

如上圖所示,輸入是一個(gè) H×W×C 的特征,我們先進(jìn)行一個(gè)空間的全局平均池化得到一個(gè) 1×1×C 的通道描述。接著,再經(jīng)過一個(gè)下采樣層和一個(gè)上采樣層得到每一個(gè)通道的權(quán)重系數(shù),將權(quán)重系數(shù)和原來的特征相乘即可得到縮放后的新特征,整個(gè)過程實(shí)際上就是對(duì)不同通道的特征重新進(jìn)行了加權(quán)分配。

其中,下采樣和上采樣層都利用 1×1 的卷積來實(shí)現(xiàn),下采樣層的通道數(shù)減少 r 倍,激活函數(shù)為 Relu,上采樣層的激活函數(shù)為 Sigmoid。在論文中,作者采用的通道數(shù) C=64,r = 16。

3.2. RCAB

RCAB 就是將 CA 和殘差思想融合在一起。

image

輸入一個(gè)特征 input,我們首先進(jìn)行一個(gè)卷積-Relu-卷積操作得到 f,然后 f 再經(jīng)過一個(gè) CA 模塊進(jìn)行重新縮放得到 x,最后將 x 和 input 相加得到輸出特征。其中,卷積操作都采用 3×3 的卷積核。

RCAB 的一個(gè) TensorFlow 實(shí)現(xiàn)如下所示:

def RCAB(input, reduction):
    """
    @Image super-resolution using very deep residual channel attention networks
    Residual Channel Attention Block
    """

    batch, height, width, channel = input.get_shape()  # (B, W, H, C)
    f = tf.layers.conv2d(input, channel, 3, padding='same', activation=tf.nn.relu)  # (B, W, H, C)
    f = tf.layers.conv2d(f, channel, 3, padding='same')  # (B, W, H, C)

    x = tf.reduce_mean(f, 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(f, x)  # (B, W, H, C)

    x = tf.add(input, x)

    return x

3.3. RG

image

一個(gè) RG 則由 B 個(gè) RCAB、一個(gè)卷積層和一個(gè) SSC 組成,在本文中,B 取 20。

3.4. RCAN

image

輸入一個(gè)低分辨率圖片,先經(jīng)過一個(gè) 3×3 的卷積提取特征 F,然后經(jīng)過一個(gè) RIR 模塊:包含 10 個(gè) RG、一個(gè) 3×3 的卷積和一個(gè) LSC,最后是一個(gè)上采樣層和一個(gè) 3×3 的卷積層,上采樣層采取 ESPCNN。網(wǎng)絡(luò)的損失函數(shù)是 L1 損失。

4. 實(shí)驗(yàn)結(jié)果

image

可以看到,如果移除 LSC 和 SSC 的話,無論有沒有引入 CA 實(shí)驗(yàn)結(jié)果都很差,而添加這些跳躍連接后,模型的整體性能都會(huì)有所提升,說明 LSC 和 SSC 非常有效。同時(shí),在同樣的條件下,引入 CA 后模型性能也有所提升,驗(yàn)證了注意力機(jī)制的有效性。

image

在幾個(gè)數(shù)據(jù)集上的測試結(jié)果,也表明 RCAN 取得了比以往方法更好的效果。如果采用幾個(gè)模型集成的話,效果還能再提升,如上面 RCAN+ 所示。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容