CBAM: Convolutional Block Attention Module 論文學習記錄

論文鏈接鏈接: http://openaccess.thecvf.com/content_ECCV_2018/html/Sanghyun_Woo_Convolutional_Block_Attention_ECCV_2018_paper.html
程序連接:https://github.com/luuuyi/CBAM.PyTorch

這篇論文提出的模塊可以應用在卷積網絡中,不會增加太多的計算量,但是可以增強表徵效果。(可以嵌入其他網絡)

摘要

我們提出了卷積塊注意力模塊(CBAM),這是一種用於前饋卷積神經網絡的簡單而有效的注意力模塊。 給定一箇中間特徵圖,我們的模塊會沿着兩個獨立的維度(通道和空間)依次推斷注意力圖,然後將注意力圖與輸入特徵圖相乘以進行自適應特徵細化。 由於CBAM是輕量級的通用模塊,因此可以以可忽略的開銷將其無縫集成到任何CNN架構中,並且可以與基礎CNN一起進行端到端訓練。

介紹

卷積神經網絡(Convolutional neural networks, CNNs)以其豐富的表示能力,極大的提升了視覺任務的性能[1-3]。爲了提高CNNs的性能,近年來的研究主要考察了網絡的三個重要因素:深度、寬度和基數

作者從注意力方面入手,注意力不僅告訴關注點在哪裏,還提高興趣點的表徵能力,我們的目標是通過使用注意機制來增加表示能力:關注重要的特性並抑制不必要的特性。在本文中,我們提出了一種新的網絡模塊,稱爲卷積塊注意模塊。==由於卷積運算通過混合跨通道和空間信息來提取信息特徵,==我們採用我們的模塊來強調這兩個主要維度上的有意義的特徵:信道和空間軸。爲了實現這一點,我們依次應用了通道和空間注意模塊(如圖1所示),這樣每個分支都可以分別在通道和空間軸上學習注意什麼和注意哪裏。因此,我們的模塊通過學習哪些信息需要強調或抑制,有效地幫助網絡中的信息流。

貢獻

  1. 我們提出了一種簡單而有效的注意模塊(CBAM),可以廣泛應用於提高CNNs的表示能力
  2. 我們通過廣泛的消融研究來驗證我們的注意力模塊的有效性。
    3.==通過插入我們的輕量級模塊,==我們驗證了各種網絡的性能在多個基準測試(ImageNet-1K、MS COCO和VOC 2007)上有了很大的提高。

相關工作

和作者提出的比較相近的是,Hu等人[28]介紹了一個緊湊的模塊,以利用通道間的關係。在他們的壓縮和激勵模塊中,他們使用全局平均彙集的特性來計算信道的注意力。然而,我們表明,這些是次優的特點,以推斷良好的渠道注意,我們建議使用最大彙集的特點以及。他們也錯過了空間注意力,這在決定哪裏集中起了重要作用

CBAM

在這裏插入圖片描述
在這裏插入圖片描述

Channel attention module

利用特徵的通道間關係,生成通道注意圖。由於feature map的每個通道都被認爲是一個特徵檢測器[31],所以通道的注意力集中在給定輸入圖像的“什麼”是有意義的。 For aggregating spatial information, average-pooling has been commonly adopted so far.
Zhou et al.[32] suggest to use it to learn the extent of the target object effectively
Hu etal. [28] adopt it in their attention module to compute spatial statisti
我們認爲,最大彙集(MAXpool)彙集了另一個重要的線索,關於獨特的對象特徵,以推斷更精細的渠道明智的注意。因此,我們同時使用平均池和最大池功能。我們的經驗證明,利用這兩個特性可以大大提高網絡的表示能力,而不是單獨使用它們

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

spatial attention

在這裏插入圖片描述
在這裏插入圖片描述

模塊順序

實驗發現,channel attention放在spatial attention 前邊好
在這裏插入圖片描述

總結

空間注意力劃紅線的地方 體現在程序中的 mean,因爲需要在那個通道維度操作

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章