CCNet_Criss-Cross Attention for Semantic Segmentation

0. 寫作目的

     好記性不如爛筆頭。

1. 主要思路

     目前的self-attention需要生成 N * N 的affinity 矩陣(其中N = H * W), 作者提出存在一種更有效的方法?

     因此作者提出了 Criss-Cross attention,使用“十字架” 的結構來代替 所有的位置(感覺使用“十字架”的paper很多,比如GCN使用十字街的conv,SPNet使用“十字架”的Pooling)。然後使用兩次 criss-cross attention,這樣可以綜合全部的空間信息。

 

2. 模型具體細節

 reduction 先將使用3*3conv將channel降低爲輸入channel 的1/4.

然後加入在兩層 Criss-cross Attention Module之後,然後使用3*3conv進行refine一下得到H‘’, 然後與X 進行concat,

然後使用3*3conv + BN + dropuout + 1*1Conv輸出結果(這裏輸出的是下采樣的結果)。

作者這裏也使用了輔助loss, 在layer3 加入了輔助loss,權重爲0.4。

 

criss-cross attention module細節:

其中,Q, K 1*1得到的channel 爲輸出channel的1/8,V 的channel與輸入channel相同。

 

3. 實驗結果

 

 

注:文中圖片來自於paper。

There may be some mistakes in this blog. So, any suggestions and comments are welcome!

 

[Reference]

   1. paper: https://arxiv.org/pdf/1811.11721.pdf

   2. code: https://github.com/speedinghzl/CCNet

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