【语义分割】Fully Attentional Network for Semantic Segmentation
文章目錄
- 一、背景和動(dòng)機(jī)
- 二、方法
- 三、效果
本文收錄于 AAAI2022
一、背景和動(dòng)機(jī)
語義分割中,non-local (NL)的方法起到了很好了捕捉 long-range 信息的作用,大致可分為 Channel non-local 和 Spatial non-local 兩種變種。但是他們卻同時(shí)有一個(gè)問題——attention missing。
以 channel attention 為例:channel attention 能夠找到每個(gè)通道和其他通道的關(guān)聯(lián),在計(jì)算的過程中,spatial 特征被整合了起來,缺失了不同位置之間的聯(lián)系
以 spatial attention 為例:spatial attention 能夠找到每個(gè)位置之間的關(guān)系,但所有channel 的特征也都被整合了起來,缺失了不同 channel 之間的聯(lián)系
作者認(rèn)為這種 attention missing 問題會削弱三維上下文信息的存儲,這兩種 attention 方法都有各自的弊端。
為了驗(yàn)證這個(gè)猜想,作者在圖 2 繪制了 cityscapes 的驗(yàn)證集每個(gè)類別的準(zhǔn)確率。
1、單個(gè) attention 的效果:
channel NL 在大目標(biāo)上表現(xiàn)較好,如 truck,bus,train
spatial NL 在小目標(biāo)或細(xì)長目標(biāo)上表現(xiàn)較好,如 poles,rider,mbike等
還有一些類別,兩者表現(xiàn)都較差
2、復(fù)合 attention 的效果:
為了驗(yàn)證兩個(gè) attention 同時(shí)使用的效果,作者也使用并聯(lián)的 DANet (Dual NL)和串聯(lián)的 channel-spatial NL (CS NL)進(jìn)行對比。
當(dāng)使用兩個(gè) NL 的時(shí)候,每個(gè)類別的精度增長不亞于使用單個(gè) NL
但是,Dual NL 在大尺度目標(biāo)(truck,train)上的性能降低較多,CS NL 在細(xì)長類別 (pole,mbike)上的 IoU 較差。
所以作者認(rèn)為,復(fù)合的 attention 結(jié)構(gòu),只能從 channel 和 spatial attention 中的某一方來獲得性能的提升,所以,注意力 attention missing 問題就損害了特征的表示能力,不能簡單地通過疊加不同的 NL 模塊來解決。
受此啟發(fā),作者提出了一個(gè)新的 non-local 模塊——Fully Attention block(FLA)來在所有維度上進(jìn)行有效的 attention 特征保留。
二、方法
全文的基本思路在于:
在計(jì)算 channel attention map 時(shí),使用全局上下文特征來保存空間響應(yīng)特征,這能夠使得在一個(gè)單一的 attention 中實(shí)現(xiàn)充分的注意并具有高的計(jì)算效率,圖 1c 為整體結(jié)構(gòu)。
- 首先,讓每個(gè)空間位置來捕捉全局上下文的特征響應(yīng)
- 之后,使用 self-attention 機(jī)制來捕捉兩個(gè) channel 之間和相應(yīng)空間位置的全注意力相似度
- 最后,使用全注意力相似度來對 channel map 進(jìn)行 re-weight。
① channel NL 的過程如圖1a所示,生成的 attention map 為 C×CC\times CC×C 大小,也就是每個(gè)通道和其他所有通道的注意力權(quán)重。
② spatial NL 的過程如圖1b所示,生成的 attention map 為 HW×HWHW \times HWHW×HW 大小,也就是每個(gè)點(diǎn)和其他所有像素點(diǎn)的注意力權(quán)重。
③ FLA 的過程如圖 1c 所示,生成的 attention map 為 (C×C)(H+W)(C\times C)(H+W)(C×C)(H+W),其中 C×CC\times CC×C 還是通道注意力權(quán)重,(H+W)(H+W)(H+W) 是每行(共H行)和每列(共W列)的注意力權(quán)重。
Fully Attentional Block(FLA)結(jié)構(gòu):
FLA 結(jié)構(gòu)如圖 3 所示,輸入為特征圖 Fin∈RC×H×WF_{in}\in R^{C\times H \times W}Fin?∈RC×H×W
生成 Q:
- 首先,將特征圖輸入下面的并行通路的最底下的通路(construction),這個(gè)兩個(gè)并行通路都是由 global average pooling + Linear 構(gòu)成的,為了得到不同的輸出,作者也選用了不同的 pooling 核。
- 為了得到豐富的全局上下文信息,作者使用縱橫不等的核,即長方形的核
- 為了讓每個(gè)空間位置都和對應(yīng)的同橫軸或同縱軸的位置都保持信息交互,也就是為了在計(jì)算channel 之間的關(guān)系的時(shí)候保持空間連續(xù)性,作者給生成 Q 的這兩個(gè)并行通道分別選用了 pooling window 大小分別為 H×1H\times 1H×1 和 1×W1\times W1×W 的核。
- 得到不同維度的 QWQ_WQW? 和 QHQ_HQH? 之后,分別進(jìn)行橫向和縱向的擴(kuò)展,得到維度相同的特征。正是因?yàn)檫@種不同維度的特征抽取,對應(yīng)維度的空間特征就可以被保留下來。
- 最后,對兩種特征進(jìn)行裁剪和融合
生成 K:
將輸入特征在 H 維度進(jìn)行切分,切分成 H 片,每個(gè) slides 大小為 RC×WR^{C\times W}RC×W,然后和 Q 進(jìn)行 merge,得到
然后,就可以得到每個(gè)位置和其同行同列像素的注意力權(quán)重,得到全注意力 map A∈R(H+W)×C×CA \in R^{(H+W) \times C \times C}A∈R(H+W)×C×C。
- Ai,jA_{i,j}Ai,j? 是在特定位置上的 ithi^{th}ith 和 jthj^{th}jth channel 的相關(guān)程度
生成 V:
將輸入特征在 W 維度進(jìn)行切分,切分成 W 片,每個(gè) slides 大小為 RC×HR^{C\times H}RC×H,和 A 進(jìn)行矩陣相乘后,得到經(jīng)過 attention 后的特征
三、效果
可視化:
channel NL 和 FLA 在語義區(qū)域都比較突出,并且在大目標(biāo)內(nèi)部都比較連續(xù)。
FLA 的注意力特征圖比 channel 的注意力特征圖更整齊且細(xì)膩一些,如遠(yuǎn)處的 pole 和 目標(biāo)的邊界。
FLA 也能更好的區(qū)分不同類別,比如第三行的 bus 和 car
這也證明了,作者提出的 FLA 能在 channel attention 特征圖內(nèi)部捕捉并使用空間相似性,來實(shí)現(xiàn) full attention。
總結(jié)
以上是生活随笔為你收集整理的【语义分割】Fully Attentional Network for Semantic Segmentation的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Transformer】TransMi
- 下一篇: 【Transformer】SOFT: S