Image-Image Domain Adaptation with Preserved Self-Similarity and Domain-Dissimilarity for Person Re-identification

1.2018年CVPR,中國科學院。

論文鏈接:arxiv.org/pdf/1711.0702

2.背景

因為不同數據集之間的差異,在一個數據集上訓練好的模型直接用於另一個數據集會導致Re-ID的性能下降,所以受監督的單域Re-ID在現實場景下會收限制。

目前很多方法關注於如何解決跨域的Re-ID。

很多基於風格遷移的方法,在使用GAN生成目標域風格圖片時丟失了源域的身份信息,或者加入了目標域的身份信息,所以有很多改進的地方。

3.本文的研究方法

給定帶標籤的源域和不帶標籤的目標域,作者的目的是學習一個在源域上訓練好的Re-ID模型,然後將這個模型應用在目標域還能表現出較好的效果,因此作者提出了「Learning via Translation」的思想。首先,將源域上帶標籤的訓練數據風格轉換為目標域的,然後對風格遷移之後的數據進行監督學習,得到一個Re-ID模型。因為這個模型是利用目標域風格的訓練數據訓練的,所以可以在目標域上使用。作者提出了SPGAN的方法,其核心是圖片轉換前後能保持其身份信息不變,採用無監督的Self-Similarity(轉換之後的圖像與原圖像有一樣的身份信息)和Domain-Dissimilarity(轉換之後的數據集不應該和任何目標數據集有一樣的身份信息,這些信息不包括背景風格等而是指行人信息)關係來約束Source-target Translation的學習。

4.本文方法詳細介紹

給定一個源域S和目標域T,使用源域來訓練一個能夠很好的泛化在目標域的Re-ID的模型。SPGAN包括兩個步驟:使用GAN將源域S轉換為目標域風格的訓練數據集G(S);使用G(S)訓練一個Re-ID模型。

CycleGAN

  • 傳統的GAN是隻有一個生成鑒別器,是單向生成;而CycleGAN是雙向生成,即有兩個生成鑒別器。這個特點的一個很實用的地方就是輸入的兩張圖片可以是任意的兩張,也就是不需要是成對的圖像,可以是完全不相關的圖像。
  • 循環GAN,從域x生成域y,再從y生成回x,循環往複。文中作者用{ {G,D_{	au}}}和{F,D_{S}} 表示兩個生成器和鑒別器。
  • 對於生成器G及其對應的鑒別器的adversarial loss如下,其中 p_{x}p_{y}是是源域和目標域的樣本分佈。

相應的生成器F及其對應的鑒別器的adversarial loss如下:

  • 使用生成器G生成一張假圖像,還需要使用另一個生成器F來努力恢復成原始圖像,因為訓練數據不一定是成對的數據,所以這個過程中必須滿足循環一致性,循環一致性損失為:

  • 在本文中,作者不僅僅使用了以上損失,還考慮了target domain identity constraint目標域身份約束來限制生成的圖像在顏色組合上與原域保持一致。目標身份約束損失為:

SPGAN

在人物重識別任務中,相似度保持是產生改進樣本進行域適應的關鍵部分,即每一個轉換後的圖像都應該保持與標識一樣的信息,這些信息不是什麼背景風格,而是基本的和潛在的。為了實現這個目標,將SiaNet(Siamese Network)和CycleGAN集成在一起,其中CycleGAN學習兩個域之間的映射函數,SiaNet學習一個限制映射函數的潛在空間。

  • Similarity preserving loss function相似性保持損失函數

採用對比損失來訓練SiaNet,其中x1和x2是輸入的樣本對,d是輸入樣本對的歐氏距離;i是一個二進位的圖像對的標籤,i=1表示輸入的圖像對是正樣本對,i=0表示輸入的圖像對是負樣本對;m是邊界參數,如果m=0,那麼負樣本對的損失不進行反向傳播,m>0同時進行反向傳播,m的大小決定負樣本對損失函數佔的比重。

  • Training image pair selection訓練圖像對的選擇

樣本對的選取方式是無監督的,正樣本對為 x_{s}G(x_{s}) , x_{	au}G(x_{	au});負樣本對為x_{s}F(x_{	au}),x_{	au}F(x_{s})。這些樣本對的選擇不需要額外的標註信息,並且這樣設置也滿足 Self-Similarity和Domain-Dissimilarity 的原則。

Overall objective funcation總體損失

SPGAN在訓練時交替進行,包括生成、鑒別和SiaNet,控制其中兩個訓練一個,然後不停的迭代。

Feature Learning

  • 上一個步驟已經生成了目標域風格的源域數據集,然後這一步驟使用轉換後的數據進行訓練一個模型。
  • 作者的重點是第一個步驟,所以這一步直接採用IDE【1】來進行訓練模型。IDE是基於ResNet-50修改的,只根據訓練數據的類別數目修改了輸出節點,其他的結構不變。訓練好IDE之後,作者提取ResNet-50的Pool5特徵,然後採用歐式距離進行檢索。
  • 作者提出了LMP(Local Max Pooling)進一步提取性能,LMP不需要訓練,只需要在檢索時直接使用。LMP先把ResNet-50的conv5特徵劃分為P個水平條帶,然後分別對P個部分做Global Max Pooling (GMP),最後concatenate P個pooling的結果作為最後的圖像描述子,然後採用歐氏距離進行檢索。

5.實驗結果

與監督學習的比較

特徵提取網路的比較

有一個很有趣的發現,直接進行學習的話IDE+和SVDNet都比IDE的性能要好;使用CycleGAN三個網路得到的性能基本平行;而使用SPGAN時,IDE的性能最好。作者的認為這個現象的原因是:一個轉換的圖像加入了一些雜訊,這對更好的學習方法有很大的影響。再就是SPGAN對負樣本對的損失添加了參數進行控制,也是幫助網路學習更好的特徵。

與最先進方法比較

6.參考筆記

【1】L. Zheng, Y. Yang, and A. G. Hauptmann. Person reidentification: Past, present and future. arXiv preprint arXiv:1610.02984, 2016.

zhuanlan.zhihu.com/p/31


推薦閱讀:
相關文章