前言

背景
目標重識別(ReID)與跟蹤(Tracking)有什麼區別?
從任務的角度來看,兩者最主要的區別如下:
目標重識別:給定一張切好塊的行人圖像 (probe image, 即圖像大部分內容只包含這個人), 從一大堆切好塊的圖像 (gallery images) 中找到跟probe image中同一身份的人的圖像。這些圖像通常是由不同攝像頭拍攝的不連續幀。
跟蹤:給定一張切好塊的行人圖像 (probe image), 從一段全景視頻 (panorama track, 視野中只有一小部分是這個行人) 中找到 probe 所在的位置。這段全景視頻是由單個攝像頭拍攝的連續幀。
在視頻監控領域,最終目標是要做到多目標跨攝像頭跟蹤(Multi-target Multi-camera Tracking, 簡稱MTMC Tracking)。而目標重識別和行人跟蹤都是為了達到這個最終目標的子任務。
今天我們具體來說說目標重識別。通過回顧基於CNN的方法,我們發現了兩個在目標重識別領域沒有得到很好解決的重要問題。
(1) 在全局範圍內利用豐富的結構模式對於目標重識別至關重要。然而,由於感受野存在一個高斯核的衰減,基於CNN的方法主要關注小的判別區域。最近,已經引入了注意力模塊 來探索遠程依賴關係,但其中大部分都嵌入在深層中,並沒有解決CNN的原理問題。因此,基於注意力的方法仍然更喜歡大的連續區域,並且難以提取多個多樣化的判別部分(見下圖 1)
(a) Original images, (b) CNN-based methods, (c) CNN+attention methods, (d) Transformer-based methods
(2) 具有詳細信息的細粒度特徵也很重要。然而,CNN的下採樣算子(例如池化和跨步卷積)降低了輸出特徵圖的空間分辨率,這極大地影響了區分具有相似外觀目標的能力。如下圖所示,基於CNN的特徵圖丟失了背包的細節,難以區分兩個人。
如上圖中的這對負樣本對(CNN識別錯誤,Transformer識別正確),兩張圖片的外觀特徵是非常相似的,但是從書包的細節可以看出,左邊書包側面有一個杯子,而右邊書包側面則沒有杯子,因此可以判斷是兩個ID。但是因此CNN的下採樣操作,在網絡最後輸出的特徵圖上已經看不清杯子這個細節了。但是Transformer沒有下採樣操作,因此特徵圖能夠比較好地保留細節信息,從而識別目標。
新框架
具體來說,研究者首先將圖像編碼為一系列補丁,並通過一些關鍵改進構建基於transformer的強基線,這在使用基於CNN的方法的多個ReID基準測試中取得了有競爭力的結果。為了進一步增強transformer上下文中的穩健特徵學習,精心設計了兩個新穎的模塊。
(i) Jigsaw Patch Module (JPM) 被提出通過移位和補丁混洗操作重新排列補丁嵌入,從而生成具有改進識別能力和更多樣化覆蓋範圍的魯棒特徵。
(ii) Side Information Embeddings (SIE) 以通過插入可學習的嵌入來合併這些非視覺線索來減輕對相機/視圖變化的特徵偏差。
據我們所知,這是第一項採用純transformer進行ReID研究的工作。TransReID的實驗結果非常有前途,在人和車輛ReID基準測試中都達到了最先進的性能。
Transformer-based strong baseline
研究者參考CNN的baseline BoT設計Transformer-based strong baseline。如下圖所示。
研究者參考ViT將圖片分成N個patch,並引入一個額外的cls token共N+1個embedding。經過Transformer layers之後將cls token作為圖像的全局特徵,之後經過一個BNNeck結構計算triplet loss和分類ID loss。
此外,還有一個技巧性操作,是對圖像進行patch分塊的時候可以讓相鄰的patch之間有一定的overlap。當然這個操作會使得patch數目增加從而使得模型訓練的資源消耗增加,但是性能也會有比較穩定提升。
ReID任務經常會遇到遮擋、不對齊這些問題,一般會採用細粒度的局部特徵來處理這些問題,水平切塊就是非常常用的一種局部特徵方法。
為了擴大每個group的視野,研究者將所有的patch embedding按照一定規則進行打亂,然後再進行分組。這樣每個group就可能包含來自圖片不同區域的patch,近似等效於每個group都有比較全局的感受野。
具體打亂操作分為兩步:
Side Information Embeddings
ReID任務中相機、視角的差異會給圖像帶來一些外觀上的差異。對於CNN框架,通常需要專門設計結構來處理這個問題,例如設計loss、對數據進行先驗處理、改變模型結構等等。這些設計通常比較定製化且比較複雜,推廣性並不強。而transformer則比較擅長融合不同模態的信息,因此研究者提出了SIE模塊來利用相機ID、視角等輔助信息。
實驗及分析
論文中使用的數據集的統計數據
不同Backbone的對比
下表給出了不同Backbone的準確度和推理時間的對比,將ResNet50作為baseline,同時給出了ViT和DeiT的結果。
可以看到,DeiT-S/16在速度上與ResNet50是接近的,在準確度上同樣也有可比的性能。當使用更深的DeiT-B/16和DeiT-V/16時,同樣和ResNest50取得了相似的速度和準確度。當在pre-patch環節縮小conv的stride時,patch的數目增加,速度下降,但是準確度也會收穫穩定的提升。
和SOTA對比
下表給出了和SOTA方法對比的結果。
可以看到,和CNN的方法相比,TransReID在六個ReID數據集上取得了更好的準確度,這顯示了pure transformer架構在圖像檢索任務上同樣適用。在ImageNet上取得更好分數的DeiT在下游的ReID任務上並沒有超過ViT。這是因為ViT使用了更大的ImageNet22K做預訓練,更大的預訓練數據使得ViT有更好的遷移性。
可視化
(a) Input images, (b) Baseline, (c) JPM w/o rearrange, (d) JPM.
©THE END
轉載請聯繫本公眾號獲得授權
