【Transformer】Deformable DETR: deformable transformers for end-to-end object detection
文章目錄
- 一、背景和動機
- 二、方法
- 三、效果
- 四、可視化
論文鏈接:https://arxiv.org/pdf/2010.04159.pdf
代碼鏈接:https://github.com/fundamentalvision/Deformable-DETR
一、背景和動機
DETR 的提出,改善了之前的方法需要大量手工設(shè)計操作的局面(如 anchor 和 NMS),并且首次建立了一個完整的 end-to-end 的檢測器。
但 DETR 有明顯的問題:
- 相比之前的方法,DETR 收斂的很慢,DETR 在 coco 數(shù)據(jù)集上需要約 500 個epoch 才能收斂,比 Faster RCNN 慢了 10 到 20 倍
- DETR 在小目標(biāo)上表現(xiàn)不好,現(xiàn)有的方法大多使用多尺度特征中的大分辨率特征來解決小目標(biāo)問題,但如果使用大分辨率特征的話,DETR 的復(fù)雜度會很高
- 在 decoder 輸入初始化的時候,被初始化成相同的值,也就是 attention module 對特征圖中的所有像素的注意力權(quán)重是相同的,所以需要大的 epoch 訓(xùn)練來找到需要關(guān)注的那幾個稀疏的位置,此外,注意力的計算復(fù)雜度是隨著特征圖大小而平方增大的。
卷積神經(jīng)網(wǎng)絡(luò)中有一種卷積叫“可變形卷積”,可以高效的抽取稀疏空間位置的信息,作者受此啟發(fā)建立了 deformable DETR。
二、方法
1、Deformable Attention Module
如圖2所示,Deformable Attention Module 僅僅會收集目標(biāo)點附近的主要特征點,所以對于每個 query 來說,僅僅有非常少量的 key。
Deformable Attention Feature 如下:
- 輸入特征圖 x∈RC×H×Wx \in R^{C\times H \times W}x∈RC×H×W
- qqq 為 query ,其元素包括為常數(shù) zqz_qzq? 和 2 維位置信息 pqp_qpq?
- mmm 是 attention head 的索引,kkk 是 sampled keys 的索引,KKK 是 sample keys 的總數(shù)(K<<HWK<<HWK<<HW)
- Δpmqk\Delta p_{mqk}Δpmqk? 和 AmqkA _{mqk}Amqk? 是第 m 個 attention head 的第 k 個 sampling point 的 sampling offset 和 attention weight
2、Multi-scale Deformable Attention Module:
- lll 表示輸入特征的 level 索引
- Δpmlqk\Delta p_{mlqk}Δpmlqk? 和 AmlqkA _{mlqk}Amlqk? 是第 lll 個level 的特征圖的 m 個 attention head 的第 k 個 sampling point 的 sampling offset 和 attention weight
3、Deformable Transformer Encoder:
作者使用上面提出的多尺度attention模塊代替了 DETR 中的 attention 模塊,encoder 的輸入和輸出是具有相同分辨率的多尺度特征圖 {xl}l=1L?1(L=4)\{x^l\}_{l=1}^{L-1}(L=4){xl}l=1L?1?(L=4)。encoder 中,作者從抽取了 Resnet 中從 C3C_3C3?到 C5C_5C5? stage 的輸出特征圖,其中 ClC_lCl? 的分辨率比輸入特征低 2l2^l2l。
encoder 的輸出是和輸入分辨率相同的特征,query 和 key 都是從這些多尺度特征圖中抽取的,并且作者增加了一個 scale-level embedding ele_lel? 來區(qū)分 query pixel 所來自的尺度,且該 scale-level embedding {el}l=1L\{e_l\}_{l=1}^{L}{el?}l=1L? 是隨機初始化并且參與訓(xùn)練的。
4、Deformable Transformer Decoder:
在 decoder 中,同時存在 cross-attention 和 self-attention。
- cross-attention:key 是 encoder 的輸出,query 是 object queries
- self-attention:key 和 query 都是 object queries, object queries 中的元素各自進(jìn)行 attention
因為 deformable attention 模塊是為了將卷積特征圖看做 key elements 一樣處理,所以作者只替換了 cross-attention 模塊為 deformable attention,
三、效果
四、可視化
為了了解 deformable detr 是通過關(guān)注哪里而得到的檢測結(jié)果,作者繪制了最后一層預(yù)測結(jié)果中的每個元素的梯度絕對值(包括中心點,寬高,類別)如圖5。
根據(jù) Taylor 理論,梯度絕對值可以反應(yīng)輸出會有多大改變,即可以說明模型主要依賴哪些像素來預(yù)測每個項目。
從可視化可以看出,deformable detr 會關(guān)注在目標(biāo)的末端區(qū)域,類似于 detr。
此外,deformable detr 在 x 軸方向和 w 上關(guān)注左右兩邊的邊界,在 y 軸方向和 h 上關(guān)注上下的邊界,且 deformable detr 同時會關(guān)注目標(biāo)的內(nèi)部來預(yù)測其類別。
2、多尺度 deformable attention 可視化
為了更好的理解多尺度形變attention學(xué)習(xí)到了什么,作者可視化了encoder和decoder最后一層的采樣點和attention權(quán)重,如圖 6 所示。
類似于 detr 中的觀點,在encoder中已經(jīng)能夠區(qū)分每個實例了。但在 decoder 中,本文的模型更關(guān)注于全部的前景目標(biāo),而非 detr 中的末端區(qū)域。
結(jié)合圖5,作者猜測原因在于 deformable detr 需要末端點和內(nèi)部點來確定目標(biāo)的類別,同時說明 deformable detr attention 模塊能夠根據(jù)不同 scale 和前景的shape來調(diào)整 sampling points 和 attention weights。
從藍(lán)色到紅色,表示 attention weight 從小到大
總結(jié)
以上是生活随笔為你收集整理的【Transformer】Deformable DETR: deformable transformers for end-to-end object detection的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 古尔曼不认同郭明錤预测:未听说苹果会在
- 下一篇: 【Transformer】TNT: Tr