[翻譯]Joint Discriminative and Generative Learning for Person Re-identification

原文鏈接:https://arxiv.org/abs/1904.07223

https://github.com/NVlabs/DG-Net

https://arxiv.org/abs/1904.07223

摘要

由於不同攝像機之間存在顯著的內在差異,行人重新識別(RE-ID)仍然具有挑戰性。最近,人們越來越關注使用生成模型(GAN)來增強訓練數據並增強模型學習輸入變化的不變性。然而,現有方法中的生成模型的輸出與RE-ID模型的訓練相對獨立。RE-ID模型通常以直接的方式對生成的數據進行訓練(生成模型生成新的數據後,RE-ID模型再拿來訓練)。在本文中,我們試圖通過更好地利用生成的數據來改進RE-ID模型的學習。爲此,我們提出了一個聯合學習框架,將重新識別學習和數據生成端到端結合起來。我們的模型包括一個生成模塊,它將每個人分別編碼爲外觀編碼和結構編碼,以及一個與生成模塊共享外觀編碼器的識別模塊。通過切換外觀編碼或結構編碼,生成模塊能夠生成高質量的交叉ID合成圖像,在線反饋給外觀編碼器,用於改進識別模塊。(bulabula效果賊溜。。)

 

介紹

 

行人重新識別(RE-ID)旨在建立不同攝像機之間的身份關聯。 它通常被認爲是度量學習(metric learning)問題[54],其中人們試圖從給定查詢圖像的非重疊相機(相機之間離得較遠,拍攝的同一物體類內差異較大)中檢索包含感興趣的人的圖像。 這在某種意義上具有挑戰性,即由不同相機捕獲的圖像通常包含由背景,角度(viewpoint),人體姿勢等的變化引起的顯着的類內變化。因此,儘可能設計或學習對於類內變化具有魯棒性的特徵表達,一直是行人重識別的主要目標之一。

 

圖1:通過切換外觀編碼或結構編碼在Market-1501數據集上生成圖像的示例。 每行和每列對應不同的編碼和結構。

卷積神經網絡(CNNs)最近成爲人們重要的選擇,因爲它們具有強大的表現力和學習不變性的深度特徵表達能力。 當前的RE-ID方法廣泛地將任務表達爲深度度量學習問題[13,55],或者轉換爲使用分類損失作爲學習深度特徵的分類問題[23,39,41,49,54,57]。 爲了進一步減少類內變化的影響,許多現有方法採用基於部分的匹配或整體來明確地對齊和補償不同攝像機中物體的變化[35,37,47,52,57]。

 

表1:在潛在編碼和結構空間中編碼的信息的描述。

 

增強針對輸入變化的魯棒性的另一種可能性是讓RE-ID模型在訓練期間潛在地“看到”這些變化(特別是類內變化)。隨着生成對抗網絡(GANs)[11]的最新進展,生成模型已成爲免費引入額外增強數據的有吸引力的選擇[56]。儘管形式不同,但這些方法背後的一般考慮是“現實主義”:生成的圖像應具有良好的品質,以彌合合成場景與真實場景之間的領域差距;“多樣性”:生成的圖像應包含足夠的多樣性,以充分覆蓋看不見的變化。在此背景下,一些先前的研究已經探索了無條件的GAN和人類姿勢條件的GAN [10,17,27,31,56]來生成行人圖像以改善重新學習。然而,這些方法背後的一個常見問題是它們的生成模型通常作爲獨立模型呈現,它們與RE-ID模型相對獨立。因此,生成模塊的優化目標可能與RE-ID任務不完全一致,從而限制了生成數據的增益(生成的效果不能很好的給判別模型帶來性能上的提升)。

 

鑑於上述觀察,我們提出了一個學習框架,在一個稱爲DG-Net的統一網絡中將生成模型和判別模型的學習聯合起來。我們實現這一目標的策略是引入一個生成模塊,編碼器將每個行人圖像分解爲兩個潛在空間:一個編碼空間,主要是外觀編碼和其他身份相關的語義;以及包含幾何和位置相關結構信息以及其他附加變化的結構空間。我們將空間中的編碼特徵稱爲“編碼”。表1總結了由兩個潛在空間捕獲的屬性。編碼空間編碼器還與判別模塊共享,用作RE-ID主幹。這種設計形成了一個統一的框架,它包含了生成和判別模塊之間的這些相互作用:(1)生成模塊產生合成圖像,用於在線改進外觀編碼器; (2)編碼器反過來影響生成模塊,改進了外觀編碼; (3)在共享外觀編碼器的情況下,兩個模塊共同優化。

 

我們將圖像生成描述爲在兩個圖像之間切換外觀編碼或結構編碼。對於具有相同/不同身份的任何成對圖像,可以通過操縱編碼生成真實和不同的同ID/不同ID組合圖像。圖1顯示了在Market-1501[53]數據集上生成此類合成圖像的示例。我們對生成模型分支的設計不僅有高質量的圖像生成,而且在現有身份的組合構成下產生了實質性的多樣性。與無條件GANS[17,56]不同,我們的方法允許更可控的圖像生成,質量更好。與姿勢引導條件的GANS[10,27,31]不同,我們的方法不需要任何額外的輔助數據,而是利用現有的數據集內姿勢變化以及姿勢以外的其他多樣性。

 

這種生成模塊設計專門爲我們的識別模塊服務,以便更好地利用生成的數據。對於一個行人圖像,通過保持其編碼代碼並與不同的結構代碼結合,我們可以生成多個圖像,這些圖像保留衣服和鞋子,但改變姿勢、角度、背景等。如圖1的每一行所示,這些圖像對應於相同的服裝中不同的人。爲了更好地捕獲這些組合的交叉(不同)ID信息,我們通過動態軟標記策略引入了“主要特徵學習”(primary feature learning)。或者,我們可以保留一個結構編碼,並與不同的外觀編碼相結合,生成不同的圖像,保持姿勢、背景和一些與身份相關的細節,但改變衣服和鞋子。如圖1的每一列所示,這些圖像對穿着不同衣服和鞋子的同一個人。這爲進一步挖掘與服裝無關的細微身份屬性創造了機會,例如有無攜帶、頭髮(髮型)、體型等。因此,我們提出了互補的“細微特徵挖掘”(fine-grained feature mining),以學習其他細微身份屬性。

 

綜上,這項工作提供了第一個框架,能夠在一個統一的行人重識別網絡中端到端地集成判別模型和生成模型。大量的定性和定量實驗表明,我們的圖像生成與現有的圖像生成相比是有利的,更重要的是,我們的RE-ID準確度在多個基準點上始終優於其他類似算法。

 

2.相關工作

 

大量的行人重新識別研究集中在度量學習(metric learning)損失。一些方法將識別損失與驗證損失結合起來[48、55],其他方法將三重損失與硬樣本採樣結合起來[6、13、33]。最近的一些工作利用行人的特徵來加強監督和執行多任務學習[26,36,44]。備選方案利用行人路線和部件匹配(將行人分成若干個部件典型的如:頭、肩、上身、腿等),以利用之前的人體結構。通常的做法之一是水平分割輸入圖像或特徵圖,以利用局部空間線索[23、39、50]。以類似的方式,姿態估計被納入學習局部特徵[35,37,47,52,57]。除了姿勢,在[19]中還使用了人工解析(human parsing)來增強空間匹配。相比之下,我們的DG-net僅依賴於RE-ID學習的簡單識別loss,不需要額外的輔助信息,例如姿勢或人工解析來生成圖像。

 

 

圖2:DG-net的示意圖。(a)我們的判別性RE-ID學習模塊通過共享外觀編碼器嵌入到生成模塊中。虛黑線表示輸入圖像到結構編碼器被轉換爲灰色。紅線表示生成的圖像在線反饋給 。生成模塊實現了兩個目標:(b)相同ID輸入標識的圖像生成;(c)不同ID的圖像生成。(D)爲了更好地利用生成的數據,RE-ID學習涉及“主要特徵學習”(primary feature learning)和“細微特徵挖掘”(fine-grained feature mining)。

 

另一個積極的研究方向是利用GANs來增加訓練數據。在[56]中,鄭等人首先介紹了利用無條件GANs從隨機向量生成圖像。Huang等人使用WGAN[1]繼續此方向,併爲生成的圖像分配僞標籤[17]。Li等人建議在RE-ID模型和GANs的鑑別器之間共享權重[25]。此外,最近的一些方法利用姿態估計來進行姿態條件圖像的生成。在[28]中開發了一個基於姿勢的兩階段生成模型,以優化生成的圖像。同樣,在[10,27,31]中,姿勢也被用於生成不同姿勢的行人圖像,以使學習的功能更加強大,從而使姿勢變化更加強勁。Siarohin等人通過使用最近鄰損耗代替傳統的L1或L2損失,實現更好的定位圖像生成[34]。所有的方法都將圖像生成和重新ID學習設置爲兩個分離的步驟,而我們的DG-net端到端將這兩個任務集成到一個統一的網絡中。

 

同時,最近的一些研究也利用合成數據對行人圖像進行風格轉換,以補償源域和目標域之間的差異。Cyclegan[61]應用於[9,60]中,以將行人圖像樣式從一個數據集傳輸到另一個數據集。Stargan[7]在[59]中用於生成具有不同相機樣式的行人圖像。Bak等人[3]使用遊戲引擎渲染使用各種照明條件的行人。Wei等人[46]採用語義分割提取前景 mask,輔助風格轉換。與全局樣式轉換不同,我們的目標是操縱編碼和結構細節,以促進更強大的RE-ID學習。

成相比是有利的,更重要的是,我們的REID準確度在多個基準點上始終優於競爭對手的算法。

3.方法

 

如圖2所示,DG-net將用於圖像生成的生成模塊和用於RE-ID學習的識別模塊緊密地結合在一起。我們引入了兩種圖像映射:同ID圖像生成和不同ID標識生成,以合成在線輸入到REID學習中的高質量圖像。我們的識別模塊包括“主要特徵學習”(primary feature learning)和“細微特徵挖掘”(fine-grained feature mining),它們與生成模塊共同設計,以更好地利用生成的數據。

3.1生成模型

闡述

我們將真實的圖像和身份ID標籤表示爲 and 。其中N是圖像數量,,K表示數據集中類或標識的數量。在訓練集中給定兩個真實圖像,生成模塊通過交換兩個圖像的編碼或結構代碼生成一個新的行人圖像。如圖2所示,生成模塊由外觀編碼器,、結構編碼器、解碼器和識別器D組成,用於區分生成的圖像和真實圖像。在i=j的情況下,生成器可視爲自動編碼器,此時注:對於生成的圖像,我們使用上標表示提供編碼代碼的真實圖像,下標表示提供結構代碼的真實圖像,而真實圖像只有下標作爲圖像索引。與外觀編碼相比,結構編碼保持更多的空間分辨率,以保留幾何和位置屬性。然而,這可能導致G在圖像生成中只使用而忽略的簡單解決方案,因爲解碼器傾向於依賴具有更多空間信息的特徵。在實踐中,我們將的輸入圖像轉換爲灰度,以驅動G來同時利用。實現了生成模塊的兩個目標:(1)同ID圖像生成,使生成的圖像規則化;(2)不同ID圖像生成,使生成的圖像可控,與真實數據分佈相匹配。

Self-identity generation(同ID圖像生成)

如圖2(b)所示,給定圖像,生成模塊首先學習如何從自身重構。這項簡單的自我重建任務對生成模型起着重要的規範化作用。我們使用像素級的L1損失重建圖像:

 

在假設同一個人在不同圖像中的外觀編碼相近的基礎上,進一步提出了同一身份ID的任意兩個圖像之間的重構任務。換言之,生成器應該能夠通過具有相同標識的圖像來重構

這個相同的身份ID但跨圖像重建損失鼓勵外觀編碼器將相同身份ID的編碼代碼拉在一起,從而減少類內特徵變化。同時,爲了強制不同圖像的編碼代碼分開,我們使用標識id丟失來區分不同的標識id:

是根據其編碼代碼屬於真實標籤類別的預測概率。

Cross-identity generation. (不同ID的圖像生成)

不同於使用相同身份ID進行圖像重建的同ID圖像生成,交叉身份ID生成側重於不同身份的圖像生成。在這種情況下,沒有像素級的真實標籤監督。相反,我們引入了基於外觀編碼和結構編碼的潛在編碼(latent code)重構來控制這種圖像的生成。如圖2(c)所示,給定兩個不同身份的圖像,所生成的圖像需要分別保留來自的外觀編碼的結構編碼。然後,我們應該能夠在編碼生成的圖像後重建兩個潛在編碼:

與同ID生成類似,我們還根據圖像的編碼對生成的圖像強制進行加上ID損失函數,以保持標識ID的一致性:

的預測概率,屬於的真實標籤類,該圖像在生成時提供編碼。此外,我們採用對抗性損失來匹配生成圖像的分佈與真實數據分佈:

小結

利用所提出的生成機制,使生成模塊能夠學習具有明確和互補意義的外觀編碼和結構編碼,並基於潛在編碼生成高質量的行人圖像。這在很大程度上緩解了生成器的複雜性。相比之下,之前的方法[10、17、27、31、56]必須學習從隨機噪聲或僅管理姿態因子生成圖像,這很難操縱輸出,不可避免地會引入人工影響(?Artifact)。此外,由於使用了潛在的編碼,我們生成的圖像中的變量是可以解釋的,並且限制在真實圖像的現有內容中,這也保證了生成的真實性。理論上,我們可以通過對不同的圖像對進行採樣來生成不同的O(nxn)圖像,從而產生比在[17,31,56]中離線生成O(2xn)圖像的在線生成訓練樣本池大得多的在線生成訓練樣本池。

3.2判別模型

我們的識別模塊通過共享外觀編碼器作爲重新識別學習的主幹嵌入到生成模塊中。針對切換外觀代碼或結構代碼生成的圖像,提出了一種主要的特徵學習和細微特徵挖掘方法,以更好地利用在線生成的圖像。由於這兩個任務關注生成圖像的不同方面,因此我們將兩個輕量級結構放在外觀編碼器的上面,用於兩種類型的功能學習,如圖2(d)所示。

 Primary feature learning.

可以將生成的圖像視爲類似於現有工作的訓練樣本[17、31、56]。但是,在交叉ID(不同ID)組合圖像中的跨類變化激勵我們採用動態軟標籤的師生監督學習。我們使用監督模型(teacher model)動態分配軟標籤,這取決於它從和 得到的外觀編碼和結構編碼。監督模型只是一個基礎CNN模型,由原始培訓集在loss爲ID loss的基礎上訓練得到。爲了訓練主要特徵學習的識別模塊,我們將識別模塊預測的概率分佈與監督預測的概率分佈之間的信息散度(KL divergence 又稱爲相對熵)最小化:

其中K是標識ID數。與固定的one-hot編碼標籤[31,62]或靜態平滑標籤[56]相比,這種動態軟標籤更適合我們的情況,因爲每個合成圖像都是由兩個真實圖像的視覺內容組合而成的。在實驗中,我們發現以簡單的基礎CNN作爲監督模型是可靠的,可以提供動態標籤,提高監督效果。

Fine-grained feature mining.

除了直接使用生成的數據來學習主要特徵(primary feature)之外,我們的特定生成分支還提供了一種有趣的替代方法,即模擬同一個人的服裝變化,如圖1的每一列所示。當對以這種方式組織的圖像進行訓練時,識別模塊被迫學習與服裝無關的細微ID相關屬性(如頭髮、帽子、包、體型等)。我們將一個結構編碼與不同的外觀編碼組合生成的圖像視爲提供結構編碼的真實圖像的同一類。爲了訓練用於細微特徵挖掘的識別模塊,我們對這個特定的分類強制執行標識ID loss:

這種損失以多任務的方式對識別模塊施加額外的身份ID監督。此外,與之前使用手動標記的行人屬性的工作不同[26、36、44],我們的方法通過利用合成圖像來執行自動細微屬性挖掘。此外,與[13,33]中應用的硬採樣策略相比,不需要顯式搜索通常具有細微細節的硬訓練樣本,因爲我們的識別模塊通過這種細微特徵學習關注細微的身份ID屬性。

小結

我們認爲,我們的高質量合成圖像在本質上可以被視爲“有效數據”(inliers)(與“無效數據”相反),因爲我們生成的圖像維護和重新組合來自真實數據的視覺內容。通過以上兩個特徵學習任務,我們的識別模塊根據我們如何處理編碼和結構代碼的方式,對生成的數據進行了具體的使用。我們不再像以前幾乎所有的方法那樣使用單一的監督[17,31,56],而是通過主要特徵學習細微特徵挖掘從兩個不同的角度來處理生成的圖像,前者側重於結構不變的衣着信息而後者注重外觀不變的結構線索。

3.3 Optimization.

我們共同訓練外觀編碼器和結構編碼器、解碼器和鑑別器,以優化總目標,即以下損失的加權和:

 

是圖像重建中的自我(同ID)識別損失,

是跨身份(不同ID)生成中潛在的代碼重構損失,, , , 是控制相關損失項重要性的權重。遵循圖像到圖像翻譯的常見做法[16,21,61],對於圖像重建(相同ID)損失,我們使用一個大的權重=5。由於交叉ID(不同ID)生成的圖像在開始時質量不高,識別丟失可能使訓練不穩定,因此我們設置了一個小的權重=0.5。我們在所有實驗的整個訓練過程中固定這兩個權重。在生成器質量穩定之前,我們不涉及區分特徵學習損失。例如,我們在Market-1501上進行30k次迭代後,將兩個損失相加,然後在4K次迭代中將從0線性增加到2,並設置爲。有關如何確定重量的更多詳細信息,請參見第4.3節。與GANs的替代更新策略類似,在圖2(a)所示的跨身份(不同ID)生成中,我們交替地在生成的圖像之前訓練, 和G,在生成的圖像之後訓練, 和D。

4.實驗

5.結論

鏈接: https://pan.baidu.com/s/16MX41HuEMHav4NUh3Llu5w 提取碼: yiy6 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章