Invariance Matters: Exemplar Memory for Domain Adaptive Person Re-identification

一、介紹

傳統的UDA-ReID方法主要是減小源域和目標域之間的特徵分布差距,但是這些研究只關注了inter-domain variations,在很大程度上忽視了目標域的域內變化,其中包含了影響目標域測試性能的關鍵因素。在本文中,作者全面研究了目標域的域內variations,並提出基於三大不變性,即exemplar-invariance, camera-invariance and neighborhood-invariance的ReID模型。根據實驗結果,漲點明顯。

二、三大不變性

本文考慮了target域的intra-domain variations,提出了三大不變性:

  1. exemplar-invariance:首先,即使歸於同一類,每個person exemplar可能會顯著的差異於其他exemplar。因此,通過分辨不同的樣本,可以使得ReID模型獲取person的表層特徵。基於此,本文提出了exemplar-invariance,使用無標籤的數據,通過迫使每一個person exemplar互相遠離,來學習表層特徵相似性。
  2. camera-invariance:作為ReID任務中的一個關鍵影響因素,camera-style variations可以顯著影響personimage的表現。然而,使用camera-style transfer得到的圖片始終屬於原始id。基於此,本文實現了cameara-invariance,通過讓單個person image和對應的camera-style transfer得到的圖像互相接近。
  3. neighborhood-invariance:假設已經有一個在source和target域上訓練妥當的模型,那麼經過該模型輸出後的某個target樣本和它的target域中最近neighbors很可能有同樣的id。基於此,本文通過鼓勵樣本和對應的可信鄰居互相接近來實現neighborhood-invariance。該方法可以幫助我們學習到對target域中的image variations,如pose,view和background changes更robust的模型。

[注意,與基於三元組的傳統方法不同,文中的exemplar-invariance是讓單張target image接近自己,而neighborhood-invariance才是讓相似的圖片互相靠近]

三、如何使用memorybank等方法實現三大不變性

1、框架概況:

如圖,source域和target域經過backbone網路輸出特徵後,一部分計算id loss

另一部分輸入樣本memory,用來保存最新的features並計算invariance learning loss。

2、Exemplar Memory:

為了提高網路在目標測試域的泛化能力,本文提出加強網路的invariance learning的能力,通過估計target image之間的相似度。為了實現該目標,本文首先構建了一個exemplar memory來存儲「all target images」的實時特徵。Exemplar memory是一個key-value結構,包含key memory (K)和value memory (V)——我們可以直觀的看作 N_t 個「插槽」的集合。在exemplar memory中,每個插槽中,key part存儲經過L2規範化的FC-4096特徵,value part存儲label。

給定一個包含 N_t 個圖像的無標籤target數據集,本文將每個「instance」(即每張圖片)視作獨立的類。因此,exemplar memory擁有 N_t 個插槽,每個存儲一個目標圖像的feature和label。初始化的時候,將每個key memory中的特徵值置為0。為了簡化,將target樣本的index作為label存入value memory中。例如,第i個target圖像的value memory V[i]=i。(注意,在訓練過程中,value memory中的label被「fixed」)

在訓練過程中,對於一個訓練樣本x_{t,i},經過ReID模型並獲得經過L2規範化的FC-4096特徵 f(x_{t,i}) ,並更新key memory。

3、Invariance Learning for Target Domain

本文使用三個invariances來探究target域的image variations。

  • Exemplar-invariance

即使是同一個id的不同 image的appearance會有很大不同。因此,通過讓模型學習獨立的person image,可以讓模型獲取person的表層表徵。本文將 N_t 個圖像視為 N_t 個不同的類,並把它們分入自己的類中。為了獲得 x_{t,i} 屬於類i的概率,對於給定的目標圖像,先計算與key memory中cosine相似度,再使用softmax函數:

其中β∈ (0,1]來平衡分布scale。

最終的目標函數是一個負對數似然:

[分析:這個softmax決定是否被正確分入自己所在的插槽]

  • Camera-invariance

在source域中,通過監督學習,可以有效地獲得camera-invariance。然而在target域中只能通過「任意圖片與對應的camera-style transferred副本擁有同一id」的假設來實現。在StarGAN的幫助下,對於每個圖片生成C-1個圖片(C是target域的攝像頭數目),再使用如下的損失函數:

其中 hat{x}_{t,i} 是隨機從 x_{t,i} 的style-transfer圖像中抽取的target樣本。

[分析:這個softmax決定是否被正確分入原始的transfer之前的圖片的類]

  • Neighborhood-invariance

對於每個target圖像,在target域中都可能存在一定數量的正樣本。如果在訓練階段可以挖掘這些正樣本,那麼通過克服target域的variations可以進一步提高ReID模型的穩定性。為了實現這個目標,本文首先計算了 f(x_{t,i}) 與key memory K中存儲的值的餘弦相似度。隨後,本文在K中找到 x_{t,i} 的K-nearest neighbors,並定義它們的index為 M(x_{t,i},k) 。K為 M(x_{t,i},k) 的大小,且 M(x_{t,i},k) 中最臨近的一個為i(本身?)。

基於命題——目標圖像 x_{t,i} 應該屬於 M(x_{t,i},k) 中的candidates所在的類。本文設置 x_{t,i} 是否屬於類j的probability為:

Neighborhood-invariance的目標函數的形式為一個soft-label loss:

注意,按作者說法,與exemplar-invariance不同的是,在上面等式中, x_{t,i} 不被分入自己所在的類,這應該出現了一些表達錯誤。

[分析:這個目標函數為累加的多個softmax,分別為1個決定是否分入自己類的(j=i)和k-1個決定neighborhood的key value是否貼近 f(x_{t,i}) 的。此時可以看成Exemplar + Neighborhood-invariance。額外的,根據softmax的形式,k-1個j=i的情況,目標函數優化的是neighbors到目標的距離。因此我們可以認為,該目標是讓 f(x_{t,i}) 儘可能接近k個neighbors(包括自身,自身的權值最高)在插槽中的值]

4、Overall loss of invariance learning:

Overall loss可以按如下形式描述:

其中,j∈ M(x^*_{t,i},k)x^*_{t,i} 是隨機從 x_{t,i} 及對應camera style-transfer圖像的並集中抽取的。 N_t 是訓練batch中target images的數量。在上述等式中,當i=j時,網路優化exemplar-invariance,並優化camera-invariance通過分類 x^*_{t,i} 到對應原圖像的插槽。當i≠j時,網路優化neighborhood-invariance,通過迫使 x^*_{t,i} 接近它存儲在 M(x^*_{t,i},k) 中的neighbors。

5、Final Loss for Network

Final loss定義為:

其中參數λ∈ [0,1]。

6、Discussion on the Three Invariance Properties

首先,exemplar-invariance迫使每個樣本互相遠離,好處是能增大不同id的樣本間的距離,副作用是同時會增大同id的exemplar的距離。

相反,neighborhood-invariance鼓勵每個樣本和它的neighbors互相接近,好處是降低同id的樣本距離,壞處是可能會導致拉近不同id的圖片,因為沒有表情,不能確定query exemplar的neighbors都有同樣的id。

因此,同時使用E+N可以實現一種平衡。

Camera-invariance有類似於exemplar-invariance類似的效果,同時還可以引導exemplar和對應的style transfer樣本共享同樣的表徵。

四、實驗

1、數據集:

Market,duke,msmt17

2、實驗設置:

Deep ReID模型:

本文使用Res50作為backbone,且固定了前兩個res layers來借閱顯存。輸入圖像為256x128,dropout為0.5。優化器設置為SGD,參數為標準的0.01-0.1,40-60epoch。

除此之外,key memory的更新率初始化為α,且α= 0.01 × epoch,invnet的temperature fact β為0.05.在訓練中,在前5個epoch只使用exemplar-invariance和camera-invariance,在之後添加neighborhood-invariance。

3、參數分析:

本文主要調節了三個超參數,temperature fact β, loss權重λ,以及正樣本候選數量k。

4、實驗結果:

  • Ablation實驗

  • Exemplar memory額外佔用:
  • 與state-of-the-art對比:

結論

對比起18年HHL的30%的map,Zhun Zhong老哥在自己的作品上一次性漲了10個點,在UDA這個方向又一次獨佔鰲頭。不過需要注意的是,這次CVPR的出現了兩個更可怕的怪物,無監督比無監督遷移學習的效果更好。

推薦閱讀:

相关文章