ICCV 2019 PAMTRI: Pose-Aware Multi-Task Learning for Vehicle Re-Identification
文章目錄
- 摘要
- 1.引言
- 2.相關工作
- 2.1 Vehicle ReID
- 2.2 Vehicle pose estimation
- 2.3 Synthetic data
- 3.提出的方法
- 3.1 隨機合成數據集
- 3.2 車輛姿態估計
- 3.3 車輛重識別的多任務學習
- 4.評估
- 4.1 數據集和評估協議
- 4.2 實現細節
- 4.3 與其他方法的比較
- 4.4 屬性分類比較
- 4.5 車輛姿態估計比較
- 5.結論
PAMTRI:Pose-Aware Multi-Task Learning for Vehicle Re-Identification Using Highly Randomized Synthetic Data
PAMTRI: Pose-Aware Multi-Task Learning for Vehicle Re-Identification Using Highly Randomized Synthetic Data | Research
摘要
車輛重識別面臨的挑戰:
- 類內差異大:由形狀、外觀對視角的高度依賴導致
- 類間差異小:由不同車輛在形狀、外觀上的相似性導致
為了設法應對這些挑戰,我們提出了Pose-Aware Multi-Task Re-Identification (PAMTRI)框架,相比之前的各種方法,它包含兩個創新點:
- 通過關鍵點、熱點圖和姿態估計的分割(怎么理解?)來明確推斷車輛的姿態和形狀,從而克服其對視角的依賴
- 進行ReID時,通過嵌入姿態表示的多任務學習,聯合對車輛的語義屬性(顏色和類型)進行分類
同時因為手動對圖像進行詳細的姿態和屬性信息標注過于昂貴,我們創建了一個大型的高度隨機化的合成數據集,它帶有自動標注好的訓練車輛的屬性。大量的實驗驗證了提出框架的每個部分的有效性,PAMTRI在兩個主流的車輛重識別基準數據集:VeRi和CityFlow-ReID上取得了顯著的成效。
1.引言
交通攝像頭的廣泛部署為視頻分析在物流、交通和智能城市等各種應用中提供了大好機會。這類分析中一個特別關鍵的問題是目標的跨相機關聯,比如行人和車輛, 重識別 (ReID),如圖1所示。
雖然行人和車輛是智能城市應用中的共同目標,但是最近幾年行人重識別更受重視。這主要因為豐富的充分標注的行人數據集,以及計算機視覺研究對人臉和身體的歷史關注。而且,相比行人,車輛的重識別面臨更大的挑戰:high intra-class variability和small inter-class variability。
最近的車輛重識別方法利用特征學習[37,45,46] and/or 距離度量學習[3,10,13]訓練深度神經網絡(DNNs)來區分車輛樣本對,但目前最先進的表現,仍遠遠無法和行人重識別相比擬[43]。此外,[30]已經表明,直接將最先進的行人重識別方法應用在車輛目標上并不足以填補這一差距,表明了這兩個任務之間存在根本區別。我們認為,車輛重識別的關鍵是利用視角不變(不會隨著視角變化而變化的信息)的信息,如顏色、類型和可變的形狀模型編碼的姿態(這兒是什么意思?)。為了將這些屬性和姿態信息結合起來學習,我們用合成數據來克服手動標注包含這些細節信息的真實訓練圖像帶來的高昂成本。
在這項工作中,我們提出了一個名為PAMTRI的框架,用于位置感知的多任務重識別。我們的主要貢獻有三個:
- PAMTRI將關鍵點、熱點圖和姿態估計的分割嵌入到車輛重識別的多任務學習過程中,去引導網絡關注與視角相關的信息。
- PAMTRI使用大規模的合成數據進行訓練,包括隨機的車輛模型、不同背景下的顏色和方位、光照條件和遮擋。自動生成用于訓練的車輛ID、顏色、類型和2D姿態的標注。
- 我們提出的方法在兩個主流的基準數據集上取得了顯著的改進效果:VeRi[14]和CityFlow-ReID[30]。進一步的實驗驗證了我們利用顯式姿態信息的獨特結構,以及隨機化的合成數據進行訓練的方式,是該方法成功的關鍵。
2.相關工作
2.1 Vehicle ReID
早期涉及深度學習的多種嘗試里:
- Liu等人[14,15]提出了一種漸進式框架,該框架采用具有對比損失的SNN網絡進行訓練,他們還構造了VeRi[14]作為第一個大規模的車輛重識別基準數據集, A Deep Learning-Based Approach to Progressive Vehicle Re-identification。
- Bai等人的[3]和Kumar等人的[10]也利用了距離度量學習的優勢,將三元組嵌入在行人重識別[6]任務中的成功擴展到了基于車輛的任務中。尤其是,Kumar等人的批量采樣變體是目前在VeRi和CityFlow-ReID [30]數據集上最先進的方法,后者是后來的多目標多攝像頭的車輛跟蹤基準數據集的一個子集。
- 一些方法側重于利用視角不變特征(不隨著視角改變而改變的特征),如Wang等人的[37]方法,該方法將提取到的車輛關鍵點嵌入局部區域特征進行交叉熵損失訓練。
- Zhou等人[45,46]使用生成式對抗網絡(GAN)生成多視角特征,這些特征由一個視圖感知的注意力模型進行選擇,其中屬性分類也通過鑒別網絡進行訓練。
- Yan等人使用多任務學習來同時處理多粒度排序和屬性分類,但是它旨在尋找視覺相似的車輛,與我們的重識別目標不同。
據我們所知,沒有一種方法能聯合姿態信息和多任務學習來解決車輛重識別問題。
2.2 Vehicle pose estimation
通過可變性(例如基于關鍵點)建模進行車輛姿態估計,是一種很有前景的處理視角信息的方法。
- 在[31]中,Tang等人提出可以使用進化優化生成的基于16個關鍵點的車輛模型來構建多個用于3D跟蹤的內核。
- Ansari等人[2]設計了一個更復雜的車輛模型,包含36個關鍵點,用于從行車記錄儀進行三維定位和形狀估計。
- Wang等人[37]提出的車輛重識別方法,也使用了20個關鍵點的模型來提取基于方位的特征,以用于區域建議。但是,他們的網絡不是顯式地定位關鍵點坐標,而是僅用于估計響應映射,而且框架中沒有利用到語義屬性。
- 其他方法可以直接回歸估計出具有6個自由度的汽車姿態(DoF)[11, 16, 18, 39],但是由于沒有采用基于關鍵點的車輛形狀建模,因此這些方法也不能達到我們的目的。
2.3 Synthetic data
為了在訓練圖像上生成足夠詳細的標簽,我們的方法利用了合成數據,該方法在渲染圖像和真實圖像的混合圖像上進行訓練。這將我們的工作置于使用模擬數據訓練DNNs的其他研究背景下(模擬數據訓練需要面臨所謂的現實差距/現實鴻溝)。而克服所謂的現實差距的一種流行的方法是隨機域數據生成[34,35],在這種方法中,一個模型被訓練為具有極度多的視覺可變性,因此當要生成一個真實世界的圖像時,模型只需將真實世界視為其中另一種變化即可。
論文筆記:Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World
合成數據已成功應用于各種問題,如光流[17]、汽車檢測[22]、物體姿態估計[26,36]、基于視覺的機器人操作[8,34],機器人控制[4,29]。我們將這一研究擴展到車輛重識別和語義屬性理解。
此處暫時還理解不透,不了解。。。。
3.提出的方法
在本節中,我們將描述提出的PAMTRI框架的算法設計,系統總體流程圖如圖2所示。
3.1 隨機合成數據集
除了車輛ID標識,我們的方法還需要額外的車輛屬性和關鍵點位置的標簽。如果手工注釋,這些標簽,特別是關鍵點,將需要大量的、甚至是昂貴的工作。
為了解決這個問題,我們使用深度學習數據集合成器(NDDS)[33]生成了一個大規模的合成數據集,用于在虛擬引擎4 (UE4)中創建一個隨機的環境,其中三維車輛網格從[22]導入。我們在CAD模型上,給NDDS添加了標注和導出特定3D位置(例如關鍵點位置,在UE4中表示為sockets)的能力。這樣,我們為每個車輛模型手動標注了Ansari等人[2]定義的36個3D關鍵點,然后用合成的圖像輸出的對應的2D位置。該方法使用了42個車身顏色為10種的汽車3D CAD模型來進行隨機化。為了訓練用于重識別的數據,我們為每一個具有特定顏色的車輛模型組合定義唯一標識。最終生成的數據集包含41,000個具有402個ID的獨特圖像,包括以下標注:關鍵點、方位和車輛屬性(顏色和類型)。在生成數據集時,背景圖像從CityFlow[30]中采樣而來,并隨機化車輛位置和光照強度。
此外,在訓練期間,我們執行隨機的后處理,如縮放、裁剪、水平翻轉和添加遮擋。一些例子如圖3所示。
這個圖其實我也看不太明白
3.2 車輛姿態估計
為了利用視角感知信息進行多任務學習,我們訓練了一個健壯(魯棒性強)的DNN來提取與姿態相關的表示。與Tremblay等人的[35]類似,我們混合真實和合成的數據來彌補現實差距。更具體地說,在每個數據集中,我們使用預先訓練好的模型[2]來處理采樣后的圖像,并手動選擇大約10,000個成功的樣本作為真實的訓練數據。
與之前使用堆疊的沙漏狀網絡[21]作為backbone的方法[2,37]不同的是,我們修改了目前人體姿態估計領域里最先進的DNN網絡HRNet[25],以作為我們的backbone。與堆疊的沙漏狀結構和其他從低分辨率表達中恢復高分辨率表達的方法相比,HRNet保留了高分辨率表達,并通過多尺度融合逐步添加高到低分辨率的子網絡。因此,預測的關鍵點和熱點圖信息更準確,空間上也更精確,這有利于我們進行多任務學習的嵌入。
我們提出了兩種方法來嵌入車輛姿態信息作為在多任務網絡的輸入層處的額外的通道,分別基于熱點圖和分割:
1、在最后的反卷積層之后,我們為每個用于捕獲車輛形狀和姿態的關鍵點提取36個熱點圖
2、最后的全連接層(FC)預測的關鍵點坐標被用來對車身進行分割
例如,圖3中,可變模型中的關鍵點#16、#17、#35和#34構成了代表汽車引擎蓋的部分(分割)。因此,我們為每輛車定義了13個分割掩碼 (如圖3 TOP-LEFT),其中那些由低置信度的關鍵點組成的部分則設置為空白。然后從姿態估計網絡中得到的熱點圖或分割的反饋被縮放并添加到原始的RGB通道中進行進一步處理。我們還將顯式的關鍵點坐標和置信度發送給多任務網絡進行進一步的嵌入。
3.3 車輛重識別的多任務學習
位置感知的表示對重識別和屬性分類任務都有重要作用:
- 車輛姿態描述了對于攝像機視角來說具有不變性的三維形狀模型,因此重識別的子分支可以學習到如何關聯來自不同視角的特征
- 車輛形狀與目標所屬的車輛類型直接相關
- 通過2D關鍵點進行分割,使得顏色分類子分支能夠提取出主要的車輛顏色特征,而忽略掉那些非著色區域,如擋風玻璃和車輪。
因此,我們嵌入預測關鍵點和熱點圖(或分割)到我們的多任務網絡中,以幫助引導注意力到與視角相關的表示上。首先,將姿態估計得到的所有熱點圖/分割的反饋與原始輸入的RGB通道進行疊加,形成一張新的圖像。因此,我們對基于DenseNet121[7]的backbone卷積神經網絡(CNN)的第一層進行了修改,使其允許更多的輸入通道。當我們對RGB通道使用預訓練的權值時,新的通道權值采用高斯隨機初始化。疊加后的圖像為DNN提供了關于車輛形狀的額外信息,從而幫助特征提取專注于視圖感知的表達。合成圖像和真實圖像都被混合在一個batch里面,并發送到CNN的backbone。
對于最后的池化層提取的深度學習特征向量,連結來自姿態估計的關鍵點坐標和置信度得分(被歸一化到-0.5~0.5之間)(如圖3)。由于關鍵點是顯式表示和有序的,它們使得神經網絡能夠在最后的FC層中學習到更可靠的形狀描述來進行多任務學習。最后,將連結之后的特征向量輸入給三個獨立的分支進行多任務學習,其中一個分支用于車輛重識別,另外兩個分支用于顏色和類型分類。
網絡的最終損失函數是三個任務的聯合損失:
-
對于車輛重識別,將使用hard-mining三元損失與交叉熵損失相結合,共同利用距離度量學習和ID分類,具體描述如下:
LID=λhtriLhtri(a,p,n)+λxentLxent(y,y^)(1)\mathcal{L}_{\mathrm{ID}}=\lambda_{\mathrm{htri}} \mathcal{L}_{\mathrm{htri}}(a, p, n)+\lambda_{\mathrm{xent}} \mathcal{L}_{\mathrm{xent}}(y, \hat{y}) \tag{1} LID?=λhtri?Lhtri?(a,p,n)+λxent?Lxent?(y,y^?)(1)
其中Lhtri(a,p,n)\mathcal{L}_{\mathrm{htri}}(a, p, n)Lhtri?(a,p,n)是hard triplet loss,aaa,ppp和nnn分別代表anchor,positive和negative 樣本:
三元組損失 Triplet Loss及其梯度 的理解
Lhtri(a,p,n)=[α+max?(Dap)?min?(Dan)]+(2)\mathcal{L}_{\mathrm{htri}}(a, p, n)=\left[\alpha+\max \left(D_{a p}\right)-\min \left(D_{a n}\right)\right]_{+} \tag{2} Lhtri?(a,p,n)=[α+max(Dap?)?min(Dan?)]+?(2)
注意(2)式的歐氏距離前面有max/minmax/minmax/min限制:看這兒:triplets 、triplet Loss和 hard triplets
(2)式中α是邊緣距離,DapD_{ap}Dap?和DanD_{an}Dan?是特征空間中anchor與所有正/負樣本之間的距離度量,[?]+[·]_+[?]+?代表max(?,0)max(·,0)max(?,0)。然后,Lxent(y,y^)\mathcal{L}_{\mathrm{xent}}(y, \hat{y})Lxent?(y,y^?)代表交叉熵損失:
Lxent(y,y^)=?1N∑i=1Nyilog?(y^i)(3)\mathcal{L}_{\mathrm{xent}}(y, \hat{y})=-\frac{1}{N} \sum_{i=1}^{N} y_{i} \log \left(\hat{y}_{i}\right) \tag{3} Lxent?(y,y^?)=?N1?i=1∑N?yi?log(y^?i?)(3)
(3)式中,yyy代表ground-truth向量,y^\hat{y}y^?代表估計值,NNN為類別數(此處為車輛ID數量)。(1)式中,λhtri\lambda_{\mathrm{htri}}λhtri?和λxent\lambda_{\mathrm{xent}}λxent?為正則化參數,均設置為1。 -
對于剩下的兩個用于顏色和類型分類的分支,均采用交叉熵損失:
Lcolor?=Lxent?(ycolor?,y^color?)(4)\mathcal{L}_{\text {color }}=\mathcal{L}_{\text {xent }}\left(y_{\text {color }}, \hat{y}_{\text {color }}\right) \tag{4} Lcolor??=Lxent??(ycolor??,y^?color??)(4)Ltype?=Lxent?(ytype?,y^type?)(5)\mathcal{L}_{\text {type }}=\mathcal{L}_{\text {xent }}\left(y_{\text {type }}, \hat{y}_{\text {type }}\right) \tag{5} Ltype??=Lxent??(ytype??,y^?type??)(5)
最后的損失是所有任務的加權組合:
L(θ,X)=LID+λcolorLcolor+λtypeLtype(6)\mathcal{L}(\theta, \mathcal{X})=\mathcal{L}_{\mathrm{ID}}+\lambda_{\mathrm{color}} \mathcal{L}_{\mathrm{color}}+\lambda_{\mathrm{type}} \mathcal{L}_{\mathrm{type}} \tag{6} L(θ,X)=LID?+λcolor?Lcolor?+λtype?Ltype?(6)
其中,X={(xi,yi)}\mathcal{X}=\left\{\left(x_{i}, y_{i}\right)\right\}X={(xi?,yi?)}代表輸入訓練集,θ\thetaθ代表網絡的參數集合。根據其他研究人員的實踐[12,23],我們的正則化參數λcolor\lambda_{\mathrm{color}}λcolor?和λtype\lambda_{\mathrm{type}}λtype?設置為遠低于1,在我們的實驗中是0.125。這是因為,在某些情況下,車輛重識別和屬性分類是相互沖突的任務,例如,兩輛相同顏色及/或型號的車輛也不可以共用同一車輛ID。
在測試階段,最后的ReID分類層是被移除掉的。對每張車輛圖像,從最后一個全連接層提取1024維特征向量。對每對查詢和測試圖像的特征進行歐氏距離的比較來確定它們的相似性。
4.評估
4.1 數據集和評估協議
在兩個主流基準數據集上進行評估:VeRi [14]和CityFlow-ReID [30]:
這項工作的另一個貢獻是為CityFlow-ReID中的所有666個ID手動標記車輛屬性(顏色和類型)。
。。。
4.2 實現細節
-
多任務學習訓練
利用[44]中的已有實現,我們使用DenseNet121 [7]作為多任務學習的backbone,它的初始權重來自于在ImageNet[5]上預訓練的模型。輸入圖像大小resize為256×256,訓練批量大小設置為32。采用adam優化器訓練base model最多60個epoch。初始學習速率設置為3e-4,并且分別在第20和40個epoch衰減為3e-5和3e-6。對于多任務學習,ReID的最后一個FC層的維度為1024,而屬性分類的兩個FC層大小相同,都是512。對于所有的最后的FC層,均采用 Leaky ReLU[40]作為激活函數。 -
姿態估計訓練
目前最先進的用于人體姿態估計的HRNet[25]是我們用于車輛姿態估計的backbone,它是建立在Sun等人的最初實現基礎上的。我們再次采用ImageNet[5]上預先訓練好的權值進行初始化。每個輸入圖像的大小也resize為256×256,熱點圖/分割輸出的大小為64×64。我們將訓練批大小設置為32,最大epoch為210,學習率為1e-3。最后的FC層被調整成輸出一個108維的向量,因為我們的車輛模型在2D上包含36個關鍵點,同時它們的可見性(由置信度分數表示)也被計算出來。
4.3 與其他方法的比較
VeRi見表2,分析就。。。
CityFlow-ReID [30]見表3。
在圖4中,繪制了表3中方法的CMC曲線,以便更好地觀察定量實驗對比。
在圖5中,我們還展示了一些使用我們所提出的方法的成功和失敗的例子。如例子所示,大多數失敗的例子是由于出租車等常見車輛類間相似性高,以及場景中物體(如標志、桿子)的強遮擋造成的。
4.4 屬性分類比較
顏色和類型分類的實驗結果如表4所示:
4.5 車輛姿態估計比較
5.結論
略。。。。
。
。
。
哎,這篇文章給我最大的感受就是,讀不懂。。。好多個細節的地方都理解不了,希望過段時間回頭看能加深理解
總結
以上是生活随笔為你收集整理的ICCV 2019 PAMTRI: Pose-Aware Multi-Task Learning for Vehicle Re-Identification的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux 上最好的9款视频编辑器
- 下一篇: 联想 Linux下 装win10 双系统