Transformer Meets Tracker: Exploiting Temporal Context for Robust Visual Tracking
2021-04-08 17:37:55
Paper: https://arxiv.org/pdf/2103.11681.pdf
Code: https://github.com/594422814/TransformerTrack
1. 概覽:
本文考慮將 Transformer 引入到 Tracking framework 中,主要是考慮借助 Transformer 模塊學習視頻中的時序信息以輔助跟蹤。並在 Siamese tracker 和 DCF tracker 上進行了結合,在多個數據集上都得到了不錯的結果。
如上圖所示,作者這里考慮兩種 Transformer 的用法,即: frame-wise relationship modeling 以及 temporal context propagation。具體的 Transformer 架構,如下所示:
作者提到,為了使得該 Transformer 結構更加適合 Tracking 的任務,作者這里進行了如下幾點改變:
1). Encoder-decoder separation:作者將 Transformer 結構分離為兩個分支,以更加適合 Siamese-tracking 的框架;
2). Block Weight-sharing: 編碼器和解碼器模塊中的 self-attention blocks 是共享的,將 template 和 search embeddings 在同一個特征空間進行轉換,以進一步的促進 cross-attention 計算;
3). Instance Normalization:在 NLP 任務中,word embeddings 是單獨的進行歸一化的。因為本文中的 Transformer 結構接收到的是 image feature embedding,所以這里作者聯合對這些 embedding 在 instance level (image patch)進行歸一化。
4). Slimming Design:為了保持跟蹤的效率,作者去掉了 FF layers,保持輕量級的單頭注意力。
2. 網絡結構:
2.1 Transformer Encoder:
Transformer 最重要的部分是 attention 機制,一般而然,輸入是三個分支,即:query Q,key K, 以及 value V。一般的,首先用Q 和 K 進行點乘操作,得到一個 attention matrix (i.e., similarity matrix A):
然后,利用該相似性矩陣 A,進行下一步的 attend 操作,從而實現 key 到 query 的傳遞。在這個框架中,Transformer encoder 接收到一組 template features T,進一步組成 template feature ensemble。為了促進 attention 的計算,作者將 T shape 為 T'。如圖 4 所示,該 encoder 模塊中的主要成分是 self-attention,因此,可以用於多個 template 之間實現特征增強。為了實現該目標,作者首先計算 self-attention map ,其中也用到了 1*1 linear transformation 進行降維處理。
基於該 self-similarity matrix A,作者將 template feature 進行轉換,然后將輸出和輸入進行殘差相加:
其中,該歸一化的結果是編碼后的 template feature。
2.2 Transformer Decoder:
解碼器部分將 search patch feature S 作為其輸入。首先將其 reshape 為 S',然后再利用 self-attention 機制進行特征增強:
Mask Transformation:基於 search feature 和 編碼后的 template feature,作者計算了這兩者之間的 cross-attention matrix:
這種 cross-attention map 建立了 pixel-to-pixel 的一致性。 在視覺跟蹤中,為了傳遞時序運動信息,作者構建了 Gaussian-shaped masks。作者將這些幀對應的 mask 進行組合,然后進行時序上的傳遞。這些轉換后的 mask 被量化后作為 attention weight 進行特征加權:
其中,括號內的操作符表示 the broadcasting element-wise multiplication。
Feature Transformation:
3. Experimental Results:
==