close


Transformer最近在改進視覺跟蹤算法方面顯示出強大的潛力。然而,現有的基於Transformer的跟蹤器大多使用Transformer來融合和增強CNN生成的特徵。相比之下,在本文中提出了一種完全基於注意力的Transformer跟蹤算法,Swin-Transformer Tracker(SwinTrack)。

SwinTrack使用Transformer進行特徵提取和特徵融合,允許目標對象和搜索區域之間的完全交互以進行跟蹤。為了進一步提高性能,綜合研究了特徵融合、位置編碼和訓練損失的不同策略。所有這些使SwinTrack成為一個簡單而強大的Baseline。

在實驗中,SwinTrack在LaSOT上以0.717的SUC創造了新的紀錄,比STARK高出4.6,同時仍然以45FPS的速度運行。此外,在其他具有挑戰性的LaSOText、TrackingNet和GOT-10k上,擁有0.483的SUC、0.832C的SUC和0.694的AO,實現了最先進的性能。

1簡介

最近,Transformer在視覺任務方面取得了重大進展。將Transformer架構引入視覺問題的嘗試大致可以分為兩種類型:

將Transformer結構視為CNN的強大補充,採用混合架構,將注意力機制與卷積網絡相結合,試圖利用兩者的優勢;

致力於探索一個完全的注意力模型,相信Transformer將在不久的將來打敗CNN結構,注意力機制將成為下一代的基本構建模塊。

一些混合架構在各種任務方面已經迅速達到了最先進的水平,這表明了Transformer的巨大潛力。相比之下,完全注意力模型在第一次測試時就不那麼順利了。Vision Transformer(ViT,第一個引入到視覺任務的完全注意力模型)和它的許多後繼者在性能方面不如CNN,直到Swin-Transformer的出現。

Swin-Transformer採用了基於窗口的分層結構來解決Transformer架構中的兩個主要挑戰:高分辨率圖像的尺度問題和高計算複雜度問題。與使用固定大小的特性圖的ViT家族不同,Swin-Transformer通過逐漸將相鄰patch從小到大合併來構建特性圖。利用層次特徵圖,可以利用傳統的多尺度預測來克服縮放問題。此外,Swin-Transformer引入了一個不重疊的窗口分區操作。Self-Attention計算僅限於窗口內。從而大大降低了計算複雜度。此外,分區窗口定期移動以橋接前一層中的窗口。

Transformer的優勢被廣泛承認主要有兩個因素:

Transformer是一個序列到序列的模型,這使得它更容易組合多模態數據,從而在網絡架構設計中提供更大的靈活性;
從注意力機制出發的遠程建模能力,釋放了傳統的基於CNN或基於RNN模型的局限性。

視覺目標跟蹤是一個具有悠久歷史的具有挑戰性的研究課題。許多問題仍然沒有得到很好的解決,包括被遮擋或失去視覺後的重新定位,相似物體之間的區別等等。Transformer tracking和LSTT是視覺物體跟蹤任務中最先進的跟蹤器。如前所述,它們都使用混合架構,使用ResNet作為Backbone,Transformer作為編碼器和解碼器網絡。作者通過充分利用全注意力模型和Swin-Transformer Backbone可以顯著提高跟蹤器的性能。

通過對注意力機制本質的洞察和一系列徹底的實驗,作者設計了一個強大而高效的全注意力跟蹤器——SwinTrack。在具有挑戰性的長期數據集LaSOT上,SwinTrack將SOTA跟蹤器提升了4.6%,而FPS仍然保持在45。我們還提供了一個更輕版本的SwinTrack,它提供了97FPS的SOTA性能。

SwinTrack的主要設計包括:

Swin-Transformer作為Backbone;
針對跟蹤器的不同部分,選擇合適的候選網絡結構;
引入鬆散位置編碼,為基於連接的特徵融合提供精確的位置編碼;
在分類預測分支中引入IoU-Aware Classification Score,得到更準確的bounding box預測。
2Swin Transformer Tracking2.1 概覽

如2所示,SwinTrack是基於Siamese網絡架構。

SwinTrack由4個主要組成部分組成:

Swin-Transformer Backbone
注意力編解碼網絡
位置編碼
head network 在跟蹤過程中,2個Swin-Transformer Backbone分別提取模板圖像patch和搜索區域圖像patch的特徵,並共享權重,編碼器網絡將模板圖像和搜索圖像中的特徵標記進行拼接融合,並通過注意力機制逐層增強拼接的token,位置編碼幫助模型區分來自不同來源和不同位置的token,解碼器網絡生成搜索圖像的最終特徵圖,並將其反饋給Head網絡,得到IoU-Aware分類響應圖和BBox估計圖。下面便分別討論一下:

2.2 基於Transformer的特徵提取

深度卷積神經網絡極大地提高了跟蹤器的性能。隨着跟蹤器的發展,backbone也經歷了兩次進化:AlexNet和ResNet。與ResNet相比,Swin-Transformer可以提供更緊湊的特徵表示和更豐富的語義信息,以幫助後續網絡更好地定位目標對象。

SwinTrack遵循經典的Siamese跟蹤器的方案,它需要一對圖像patch作為輸入,一個是模板圖像patch ,另一個是搜索區域圖像補丁(為了簡化起見,分別稱它們為模板圖像和搜索圖像)。

將來自模板圖像的特徵token表示為,來自搜索圖像的特徵標記表示為, s表示backbone的stride。由於模型中沒有維度投影,所以C也是整個模型的隱藏維度。

2.3 基於Transformer的特徵融合1、編碼器

編碼器由一系列塊組成,每個塊包含一個多頭自注意力模塊(MSA)和前饋網絡(FFN)。FFN包含一個兩層多層感知器(MLP), GELU激活層插入第一層後輸出。層歸一化(LN)總是在每個模塊(MSA和FFN)之前執行。殘差連接主要應用於MSA和FFN模塊。

在將特徵token送入編碼器之前,模板圖像和搜索圖像中的token沿着空間維度進行拼接,以生成聯合表示U。對於每個Block,MSA模塊計算聯合表示的自注意力,FFN對MSA生成的特徵token進行細化。當token從編碼器中取出時,執行解拼接操作以恢復模板圖像特徵token和搜索圖像特徵token。

整個過程可以表示為:

其中l表示第l層,L表示塊數。

1、Why concatenated attention?

為了簡化描述,作者調用上面描述的基於連接的融合方法。為了融合處理多個分支的特徵,直觀的做法是分別對每個分支的特徵token進行Self-Attention,完成特徵提取步驟,然後計算跨不同分支特徵token的Cross Attention,完成特徵融合步驟。作者稱這種方法為基於交叉注意力的融合。

考慮到Transformer是一個序列到序列的模型,Transformer可以自然地接受多模態數據作為輸入。與基於交叉注意力的融合相比,基於concat的融合,通過操作組合節省計算操作,通過權值共享減少模型參數。從這個角度來看,基於concat的融合隱式實現了Siamese網絡架構。為了確保注意力機制知道當前正在處理的token屬於哪個分支以及它在分支中的位置,必須仔細設計模型的位置編碼解決方案。

2、Why not window-based self/cross-attention?

由於選擇了Swin-Transformer的第3階段作為輸出,token的數量非常小,因此基於窗口的注意力和完全注意力之間的FLOPs非常相似。此外,一些token可能需要經過多層才能計算相關性,這對跟蹤器來說太複雜了。

2、解碼器

該解碼器由Multi-head Cross Attention(MCA)模塊和前饋網絡(FFN)組成。解碼器將編碼器的輸出特徵作為輸入,通過計算和。解碼器非常類似於編碼器中的一個層,因為不需要更新最後一層中的模板圖像的特徵,所以刪除了從模板圖像token到搜索圖像token的相關性。可以把解碼器過程按照如下描述:

1、Why not an end-to-end architecture?

許多基於Transformer的模型具有端到端架構,這意味着該模型直接預測任務的目標,而不需要任何後處理步驟。然而,在 SwinTrack中,端到端模型仍然不適用於本文的任務。在實驗中,當使用Transformer解碼器直接預測目標物體的BBox時,模型收斂時間較長,跟蹤性能較差。

作者所選擇的解碼器可以在3方面幫助提高性能:

通過預測響應映射,可以將候選選擇任務轉移到人工設計的後處理步驟;
通過密集預測,可以向模型中輸入更豐富的監督信號,從而加快訓練過程;
可以使用更多的領域知識來幫助提高跟蹤性能,比如在響應圖上應用一個Hanning penalty window來引入平滑運動。
2、Why not a target query-based decoder?

作者實驗還發現傳統的transformer解碼器難以恢復二維位置信息。

2.4 位置編碼

Transformer需要位置編碼來標識當前處理token的位置。通過一系列的比較實驗,選擇TUPE中提出的聯合位置編碼作為SwinTrack的位置編碼方案。此外,將untied positional encoding推廣到任意維度,以適應跟蹤器中的其他組件。

原始Transformer提出了一個絕對位置編碼方法來表示位置:一個固定的或可學習的矢量被分配給每個位置。從基本的注意力模塊開始,有:

其中Q、K、V分別為query向量、key向量和value向量,它們是注意力函數的參數,dk為鍵的維數。在注意力模塊中引入線性投影矩陣和multi-head attention,則得到multi-head variant:

其中,

為簡單起見,假設,並使用自注意力模塊。將輸入序列記為,其中n是序列的長度,是輸入數據中的第i個token。將輸出序列表示為。自注意力模塊可以重寫為:

顯然,自注意力模塊具有排列不變性。因此,它不能「理解」輸入token的順序。

1、Untied absolute positional encoding

將一個可學習的位置編碼加到自注意力模塊中,得到如下方程:

上述方程被擴展為4個項:

token-to-token
token-to-position
position-to-token
position-to-position。

有學者討論了方程中存在的問題,並提出了無約束絕對位置編碼,它通過去除方程中的token-to-position相關項,並使用一個孤立的一對投影矩陣來解除token和position之間的相關性和對位置嵌入向量進行線性變換。下面是第l層使用無約束絕對位置編碼得到的新公式:

其中和分別是位置i和位置j的位置嵌入,和是位置嵌入向量的可學習投影矩陣。當擴展到多頭版本時,位置嵌入在不同的head之間是共享的,而每個head的和是不同的。

2、Relative positional bias

相對位置編碼是絕對位置編碼的必要補充。通過在方程(8)中加入一個相對位置偏差來應用相對位置編碼:

其中對於每個j−i, 是一個可學習的標量。相對位置偏差也是各層共有的。當擴展到多頭版本時,對於每個頭是不同的。

3、Generalize to multiple dimensions

在使用跟蹤器的編碼器和解碼器網絡之前,需要將untied positional encoding擴展到多維版本。一種簡單的方法是為每個維度分配一個位置嵌入矩陣,然後將來自不同維度的所有嵌入向量在對應的索引處相加,以表示最終的嵌入向量。加上相對位置偏差,對於n維情況,有:

4、Generalize to concatenation-based fusion

為了實現基於concat的融合,還將untied absolute positional encoding 進行concat以匹配實際位置,相對位置偏差索引元組現在附加一對索引來反映當前所涉及的query和key的起源。

以編碼器中的第l層為例:

其中g和h分別是查詢和key產生的索引,例如,1代表來自模板圖像的token,2代表來自搜索圖像的token。解碼器中的形式與此類似,只是g是固定的。在實現中,解位置編碼的參數分別在編碼器和解碼器內部共享。

2.5 Head and Training Loss1、Head

head network分為兩個分支:

分類分支
回歸分支 每個分支是一個三層感知器。一個負責前景-背景分類。另一個負責BBox的回歸。兩者都從解碼器接收到特徵映射,分別預測分類響應映射和包圍盒回歸映射。
2、Classification loss

在分類分支,採用IoU-aware classification score為訓練目標,以varifocal loss為訓練損失函數。

IoU-aware設計近年來非常流行,但大多數工作都將借據預測分支作為輔助分支來輔助分類分支或邊界框回歸分支。為了消除不同預測分支之間的差距,有研究將分類目標由ground-truth值替換為預測BBox與ground-truth之間的IoU,即IoU-aware classification score(IACS)。IACS可以幫助模型從候選中選擇更準確的邊界框。與IACS一起,varifocal loss幫助IACS方法優於其他iou感知設計。varifocal loss有以下形式:

其中p為預測IACS, q為目標分數。對於正樣本,即前景點,q為預測的邊界框與ground-truth邊界框之間的IoU。對於負樣本,q = 0。則分類損失可表示為:

其中b為預測邊界框,為ground-truth邊界框。

3、Regression loss

對於邊界框回歸,採用generalized IoU los。回歸損失函數可表示為:

用p對GIoU損失進行加權,強調樣本的高分類分數。負樣本的訓練信號被忽略。

3實驗3.1 與ResNet對比1、Feature fusion

從表1可以看出,與基於concat的融合相比,基於交叉注意力的融合不僅表現不如基於concat的融合,而且具有更多的參數。

2、解碼器

受DETR啟發,SwinTrack採用了Transformer解碼器。通過對預訓練目標query token進行交叉注意力計算,模型可以在特徵中找到潛在的目標對象。理想情況下,它可以直接生成目標對象的邊界框,而不需要任何後處理步驟。然而,在表1中的經驗結果顯示,帶有Transformer解碼器的跟蹤器在大多數數據集中的性能很差。

3、位置編碼

比較了Transformer中採用的統一位置編碼和原始的since編碼。如表1所示,在不同的數據集上,採用聯合位置編碼的SwinTrack-T比採用正弦編碼的SwinTrack-T獲得了更好的精度,大約提高了1%,同時仍然在98幀/秒左右運行。

4、損失函數

從表1中可以觀察到,在不損失的情況下,具有varifocal loss的SwinTrack-T顯著優於具有binary entropy loss(BCS)的SwinTrack-T。

5、Positional Augmentations

表1中的「Weak august」行顯示的是訓練階段生成搜索圖像時推導隨機尺度和隨機翻譯的數據集評估結果。與微調超參數相比,LaSOT中評估的成功得分下降了5.3%,LaSOText中甚至下降了8.5%。

6、Post processing

通過刪除後處理中的hanning penalty window,如表1所示,性能顯著下降。這表明,即使有一個強大的backbone ,hanning penalty window仍然有效。

3.2 SOTA對比1、LaSOT2、LaSOText3、TrackingNet4、GOT-10k4參考閱讀

[1].SwinTrack: A Simple and Strong Baseline for Transformer Tracking

5推薦閱讀

全面超越Swin Transformer | Facebook用ResNet思想升級MViT

清華大學提出ACmix | 這才是Self-Attention與CNN正確的融合範式,性能速度全面提升

即插即用 | 5行代碼實現NAM注意力機制讓ResNet、MobileNet輕鬆漲點(超越CBAM)

長按掃描下方二維碼添加小助手並加入交流群,群里博士大佬雲集,每日討論話題有目標檢測、語義分割、超分辨率、模型部署、數學基礎知識、算法面試題分享的等等內容,當然也少不了搬磚人的扯犢子

長按掃描下方二維碼添加小助手。

可以一起討論遇到的問題

聲明:轉載請說明出處

掃描下方二維碼關注【集智書童】公眾號,獲取更多實踐項目源碼和論文解讀,非常期待你我的相遇,讓我們以夢為馬,砥礪前行!

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()