CCNet: Criss-Cross Attention for Semantic Segmentation 里的Criss-Cross Attention計算方法


論文地址:https://arxiv.org/pdf/1811.11721v1.pdf  code address: https://github.com/speedinghzl/CCNet

相關論文:https://arxiv.org/pdf/1904.09229.pdf     《XLSor: A Robust and Accurate Lung Segmentor on ChestX-Rays Using Criss-Cross Attention and CustomizedRadiorealistic Abnormalities Generation》

擴展論文:https://github.com/NVlabs/MUNIT  https://arxiv.org/abs/1804.04732 《Multimodal Unsupervised Image-to-Image Translation》

 

看第二個論文時,使用了論文一作為分割網路,論文三作為數據增強的手段。其實論文三是 style transform, pixel2pixel 最新工作,以后再看。

論文二中使用了CCNet這個新的網絡結構,為了搞清楚CCA到底是怎么計算的,只能肯原始論文一:

 

這就是CCA的計算方式

H是一個 C通道 寬高 W,H的特征圖

從出發有四條路徑,最上邊的是 殘差結構 或者叫shortcut path(高速通道)  目的地是和Aggregation相加  那么這里 Aggregrateion就必須和H通樣的形狀   C*H*W

殘差結構就是公式(2)。  那個求和就是 符號部分就是Aggregation做的

 

要理解Aggregation就要看從H 分出的下三路

最下邊一路V沒什么好看的 直接對 H做1*1的卷積,輸出還是 和H相同的形狀  C*H*W

Q,K也是1*1卷積 只不過  通道數量是:  C' < C 。

Q和K都是  C'*H*W 大小的特征圖

 

下邊就是高能的Affinity, 可以看到affinity后softmax得到A ,而A的結構是    (W+H-1)*W*H

A有 W+H-1個通道,所以Affinit后的結構也是 (W+H-1)*W*H

 

因為 A 和 Q K 的寬度和高度相同。每個位置u,u可以認為是二維特征圖w,h上的一個像素。

由於CNN的對稱性。只需要關注某一個位置u的計算方式即可。

 

這時候我們拿Q 上的一個位置 u ,我們知道在u這個位置看下去 是一個 C' 維度的向量。 記作Qu  維度 C‘

這時候要A中對應u的地方應該是由 Qu 和 K作用而來 ,由於A對應的維度是  (W+H-1)維

W+H-1 剛好是位置u 所在 行數+列數 方向的像元總數,自己算了兩次減去一次。 就是下圖中十字的形狀。這個十字形狀

就是H+W-1

那么從向量 Qu  和  K中的 H+W-1個向量  需要得到一個  (H+w-1)的向量

因為 Qu 和 K中的向量維度相同 我們把K中的H+W-1個向量 編號為 Ku1 ku2, ku(h+w-1)

那么 Au= ((Qu* Ku1 , Qu*Ku2, Qu*Ku3, Qu*Ku4, ... ,... Qu*Ku(h+w-1))    就是這樣    Qu*Kui 表示 Qu和Kui的內積

其實這樣算完之后還在通道方向做了個softmax。

這樣就算把A算完了

A最終得到的形狀是 (H+W-1)*H*W   每個通道表示attention 因為經過softmax了,就是概率了。

 

接下來就是A和V的結合 Aggregation  ,就是公式2的 求和部分

V的通道數是 C

那么這個和上邊的操作有點像,這次只不過從內積變成了 線性組合

這里方便起見以A為中心,

對應於位置u

從A看下去是  H+W-1維的向量

V中對應位置 u,同樣找到過他的橫豎兩條線段,同樣是個十字形狀有 H+W-1個向量 每個向量是 C維

這時候 用A中的 向量作為系數, 作用到 V中的H+W-1個向量   加起來,就是線性組合啊。  得到一個 C維的向量,這個向量是V中十字領域向量的線性組合

這樣Aggreation就是2是中的 求和一項做的完成 Aggreation。

 

以上就是CCA, 作者還證明了 兩個CCA就能夠獲取全局視野。不看了我。

效果很好,取得很好的結果。

 

CNN發明以來,各種矩陣操作。

 

 問題是Aggregation部分不就是個卷積嗎,十字形狀的卷積。

通常的卷積是同位置不同通道的卷積的參數不同。

這個整的是不同位置的卷積核不同,但是在通道上相同。

汗啊,CNN快要被玩壞了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM