劉晗煜,黃宏恩,鄭世寶
(上海交通大學,上海 201100)
隨著計算機視覺技術的快速發展,車輛重識別作為其中一項基礎任務,在智能交通及城市監控系統等領域得到了廣泛應用。這項任務旨在從圖庫(Gallery)中檢索出與查詢圖(Query)屬于同一輛車的圖片,流程如圖1所示。該任務首先提取圖片特征,然后計算特征間相似性度量,最后根據相似性排序,從圖庫中召回與查詢圖相似性高的圖片。需要注意的是,圖庫中的圖片往往取自放置在不同視角的多個攝像機,這意味著圖庫中同一車輛在不同的圖片上會呈現較大的外觀差異,給這項任務帶來了巨大的挑戰。

圖1 車輛重識別任務流程圖
總體上,通過計算機視覺技術實現車輛重識別的主流方法可以大致分為基于手工特征的方法和基于深度特征的方法。
基于手工特征的方法是早期這項任務中使用最廣泛的方法。手工特征是指人為設計的特征,它的每一維度都具有特定的含義,代表了圖像中的某一具體屬性。在這類方法中,外觀描述符常常被用于實現車輛重識別任務。例如,Woesler[1]利用了車頂的顏色信息;Watcharapinchai等[2]提出了基于車牌號的車輛重識別方法。然而,由于攝像頭分辨率、光照、視角和遮擋等因素,顏色和車牌號等特殊信息有時也難以準確獲得。因此,基于手工特征的方法往往具有局限性。
近年來,深度學習在計算機視覺中表現出明顯的優異性,并成功應用于人臉識別、行為識別和行人及車輛重識別等多項任務。因此,越來越多的研究采用深度特征實現車輛重識別。這類方法需要合理地設計深度網絡模型,將輸入特征(車輛圖片)映射到潛在的特征空間。在潛在特征空間中,相同車輛間的類內間距應盡可能小,不同車輛間的類間差異性應盡可能大。在這些方法中,Li等[3]提出了一種基于CNN的方法,它能高效挖掘車輛具有辨別性的信息;Schroff等[4]為卷積神經網絡提出了三元組的訓練方式,通過充分學習三元組中正樣本對與負樣本對的相對相似性,提升了模型的表現性能。
相比于基于手工特征的方法,基于深度特征的方法已經取得較大的突破,但車輛重識別任務依然存在以下幾個挑戰:首先是多視角挑戰,即車輛外觀在不同視角下急劇變化導致了所提取特征的不穩定性。如圖2所示,每一行是同一輛車不同視角的圖像,每一列是不同的車相似視角下的圖像,模型很容易認為圖2(a)和圖2(d)比圖2(b)、圖2(c)更相似。其次是車型近似重復挑戰,即市面上存在大量相似型號的車輛。這些車輛間的區分度嚴重依賴于局部細節,圖2中方框標出的部分都是可以區分兩輛車的局部信息。

圖2 車輛圖像示例
針對視角多樣性挑戰,VANet[5]提出采用不同的策略來識別來自相同視角和不同視角的圖片。首先,對圖片中車輛的方向進行分類預測,通過將輸入圖像映射到同向和反向兩個潛在特征空間中,提升了模型在視角多樣性場景下的表現性能。然而,該網絡僅預測了前后兩個角度,即圖2中第一列和第三列兩種視角,忽略了第二列的情況,而實際攝像頭中的視角更為多樣,且該網絡的擴展代價較大。如果要提高角度預測的分類數,網絡的分支數會隨角度分類數呈指數級增長,訓練集標注也會隨角度的細化而變得難以用肉眼判斷,因此該網絡難以覆蓋車輛重識別的復雜應用場景。
針對車型近似重復的挑戰,He等[6]提出的局部正則化網絡(Part-Regularized Network,PRN)和Meng等[7]提出的基于解析的視角感知嵌入網絡(Parsing-Based View-Aware Embedding Network,PVEN)均從局部特征入手。PRN將目標檢測中的感興趣區域(Region of Interest,ROI)引入車輛重識別任務,單獨提取出車窗、車燈和品牌(Logo)3個區域的局部特征,然后與全局特征結合。然而,車輛的判別性信息可能出現在車輛的任何部位,僅用以上3個區域代表局部信息并不全面,如圖2中藍框標出的車頂、車尾紅燈都是具有判別性但被PRN忽略的局部信息。PVEN認為,兩張車輛圖片中均顯示的公共部分攜帶著更為豐富的判別性局部信息,需要重點關注。為此,采用U-net將兩張圖片中的車輛分割為具有特定語義的四大區域(車頭、車尾、車頂和車側),并根據兩輛車對應區域的占比情況,計算出各區域的可見性分數,使模型重點關注可見性分數較高的局部區域。但是,PVEN在視角多樣性方面僅關注了單區域局部特征的對齊與增強,這顯然是不夠全面的,車輛視角問題應該從整張車輛圖片來考慮。
受PVEN[7]中車輛四分割方法的啟發,筆者認為,車輛分割后各個區域面積占比在一定程度上反映了該圖的拍攝視角。兩張車輛圖片中對應區域占比的情況越相似,則它們的視角越一致。因此,本文提出基于區域分割的車輛視角一致性算法,并由此設計了新的視角一致性三元組損失。該損失給予視角上挑戰性較大的樣本更高的權重,并過濾掉視角簡單樣本,使模型可以學習到更深層的距離度量。實驗結果表明,本文的方法在mAP、rank-1、rank-5、rank-10這4項車輛重識別的主要指標上均優于PVEN方法。
由于PVEN[7]中提供了較好的車輛分割網絡和全局特征與局部特征結合的架構,而局部特征的距離度量極易受到視角的影響,因此,本文選擇在PVEN的局部分支中驗證視角一致性感知損失的效果。
為了便于說明,引入以下標記:對于數據集X來說,a,p,n是3張車輛圖片樣本且a,p,n∈X。其中,a代表錨點(anchor);p代表正樣本(positive),與a屬于同一車輛(id相同);n代表負樣本(negative),與a屬于不同車輛。(a,p,n)是一個三元組。
本文的網絡框架如圖3所示。該網絡框架基于PVEN[7]進行改進,PVEN首先提取全局特征圖(Feature Map)和區域分割掩膜,然后采用雙分支結構,全局分支用于獲得全局特征距離和損失,局部分支用于獲得局部特征距離及局部三元組損失。在此基礎上加入了一個視角一致性分支,用于獲得視角一致性三元組系數,并將該系數與局部分支的三元組損失計算結果相乘,形成局部視角一致性三元組損失,從而引導網絡去學習更具視角魯棒性的車輛圖像特征。


(1)
(2)
(3)


(4)
(5)
(6)

(7)

在訓練階段,總損失的計算公式為
(8)

在測試階段,用于排序和推斷的相似性度量由全局特征距離和局部特征距離加權相加獲得,計算公式為
(9)

PVEN提出,由于其剛體和類六面體性質,車輛可以較容易地被語義分割為車頭、車尾、車頂和車側4個區域。筆者認為分割后車輛各區域的面積占比可以體現其拍攝視角,例如,若車頭占比最大,說明車輛極有可能是從前往后拍的;若車頂占比較高,說明攝像頭安裝位置較高。因此,本文用分割掩膜的面積分布估計車輛視角特征,又用兩個視角特征的點積估計其視角一致性。視角一致性的計算流程如圖4所示。

圖4 視角一致性的計算流程

(10)


(11)
為了引導模型學習到更具辨別性的特征,筆者將2.2節提出的視角一致性概念加入三元組篩選的考量中,進而設計出新的視角一致性三元組損失函數。
2.3.1 傳統的三元組損失函數
傳統的三元組損失函數[4]是一種最常見的損失函數,也是本文的度量學習基準。三元組損失函數的目標是引導模型學習到一種復雜的特征映射,使數據集樣本在潛在特征空間中,對于每個三元組(a,p,n),錨點a到負樣本n的特征距離Da,n應該比到正樣本p的特征距離Da,p更大。這樣才能在重識別任務中順利地根據特征距離召回任何一個查詢圖的真值(Ground Truth)。為了更好地學習困難樣本之間的深度度量,Schroff等[9]根據距離范圍將三元組分成以下三類。
① 簡單三元組:Da,p ② 半難三元組:Da,n-α ③ 困難三元組:Da,p>Da,n,即會誤識別的三元組。 其中,α表示簡單三元組的Da,n與Da,p之間應該留有的距離余量。 Schroff[4]等將單個三元組的損失計算函數定義為 LTri(a,p,n)=max{Da,p-Da,n+α,0} (12) 在式(12)中,簡單三元組的損失函數值為0,而困難三元組和半難三元組的損失函數值大于0,因此,神經網絡重點學習后面兩類三元組的距離度量,實現了參數的有效優化。 在實際實驗中,由于計算資源的限制,業界通常分批輸入數據對模型進行訓練,從而三元組損失及其變體的計算均基于小批量數據。其中,批次困難三元組損失(Batch Hard Triplet Loss)和批次全三元組損失(Batch All Triplet Loss)是兩種最常用的方法。批次全三元組損失[4]對每個錨點計算其所有合法三元組的損失的平均值,而批次困難三元組損失[9]對每個錨點計算其所有合法三元組的損失的最大值。 2.3.2 視角一致性三元組損失 上述傳統的三元組損失選擇距離上較為接近的負樣本和距離較遠的正樣本進行優化。然而,車輛圖像的特征距離極易受到視角的干擾。這種僅根據距離選擇三元組的方法難以適應圖1所示的多視角情況。為了解決這個問題,本文希望將視角一致性因素引入模型的優化過程,即重點選擇視角一致性高的負樣本與一致性低的正樣本進行優化。 根據視角一致性將三元組劃分為以下三類。 ① 視角簡單三元組:ca,n-ca,p<-β,即ca,n比ca,p小足夠多,視角上有助于區別正負樣本的三元組。 ② 視角半難三元組:-β ③ 視角困難三元組:ca,n-ca,p>0,即負樣本的視角一致性較小,使正負樣本的區分非常困難。 其中,ca,p和ca,n分別為錨點a與正樣本p和錨點a與負樣本p之間的視角一致性估計,具體計算方式已在2.2節介紹。β是視角簡單三元組的ca,p和ca,n之間應該留有的視角一致性余量。由式(10)和式(11)可知,視角一致性cp,q∈[0,1],因此三元組根據視角一致性來篩選的示意圖如圖5所示。 圖5 視角三元組篩選示意圖 最終,本文的視角一致性選擇系數的計算公式為 CvcT(a,p,n)=max{ca,n-ca,p+β,0} (13) 該系數過濾掉了視角簡單三元組,使網絡專注于學習視角半難三元組和視角困難三元組的距離度量。此外,視角上越困難,即ca,n-ca,p越大,CvcT(a,p,n)越高,網絡對其“重視”程度也就越高。 最終,模型將視角一致性三元組系數與局部三元組損失相乘,得到局部視角一致性三元組損失: (14) 該損失使網絡在度量學習的過程中加入對視角的考量,其加入系數前后的作用在表1中得到了體現。 3.1.1 數據集 在VeRi776數據集上驗證本文的方法。VeRi776是車輛重識別任務的一個基準數據集,包含776輛車的50000張圖像。該數據集由20個攝像頭在不同視角下拍攝,每一輛車都有多視角多攝像頭下的豐富圖像樣本。本文的實驗中,訓練集和測試集的劃分采用官方設置,訓練集中有576輛車,測試集中有200輛車。 3.1.2 評價指標 對于每張查詢圖,模型都能在圖庫中找到k個與之最相似的圖片,從而計算這些k近鄰樣本中是否有與查詢圖身份相同的車輛圖片。采用mAP(Mean Average Precision)準確率和rank-k準確率兩種指標來評估方法的有效性。AP(Average Precision)表示單張查詢圖的平均精度,mAP表示查詢圖集中所有圖片的AP的平均值。rank-k表示k近鄰樣本中包含真值(Ground Truth)的命中率。本文的模型評估采用車輛重識別領域的通用評價指標,即mAP、rank-1、rank-5和rank-10。 3.1.3 實驗細節 本實驗的網絡框架參照圖3,全局特征提取網絡采用resnet-50,參數采用其在ImageNet上預訓練的結果。區域分割網絡采用Unet,參數與PVEN一致。 模型的視角一致性三元組損失需要調整兩個新的超參數——視角一致性余量β和局部特征距離的權重φ。 3.2.1 視角一致性余量 由圖5可知,β越大會保留越多有效三元組,越小會過濾掉越多三元組。當β≤-1時所有三元組都被過濾掉,損失函數永遠為0;當β>1時所有三元組都被保留,視角一致性感知損失仍然給予視角困難三元組更高權重,但卻會浪費部分算力在視角簡單三元組上。由此可知,β的恰當值應在(0,1)區間。實驗中,本研究選擇了β∈[-0.3,0.8],每隔0.1試驗一次,并在mAP出現峰值對應β的±0.05處各增加一次實驗。最終,mAP精度隨β的變化曲線如圖6所示。結果顯示,β=0.3時訓練效果最好,說明在車輛圖像三元組中,0 圖6 mAP隨β的變化曲線 不同的數據集和實驗設置下mAP出現峰值所對應的β值可能會有小幅平移,但在新數據集下不經過調參直接將β值設為0.3仍能獲得極大的效果提升,綜合圖6與表1結果來看,0<β<0.8范圍內的實驗效果均好于常用的批次困難三元組損失和批次全三元組損失,可見本文提出的視覺一致性三元組策略具有有效性,即使在非最優β下,仍然能取得不錯的訓練效果。 3.2.2 局部特征距離的權重 由式(3)可知,φ越大識別結果越依賴于局部特征,φ越小識別結果越依賴于全局特征。當φ=0時,局部特征距離即最終用于排序的相似度。因此,本研究選擇φ∈[0,1],每隔0.1測試一次,結果如圖7所示。實驗結果顯示,φ=0.5時模型的識別效果最好。因此,本文在后續實驗中均采用φ=0.5的參數設置。 圖7 mAP隨φ的變化曲線 為了證明本文設計的視角一致性三元組損失(View Consistency Triplet Loss,VCT Loss)的有效性,采用本文方法與經典三元組損失進行了對比實驗。 對比損失包括重識別任務中最常見的批次全三元組損失和批次困難三元組損失。需要注意的是,局部分支采用批次困難三元組損失就相當于PVEN方法,采用批次全三元組損失相當于本文的視角一致性三元組損失取消視角一致性三元組系數。實驗結果如表1所示。 表1 消融實驗結果 表1顯示,局部分支用本文的損失函數后4個指標均高于用批次全三元組損失和批次困難三元組損失。批次全三元組損失根據距離篩選困難和半難三元組,批次困難三元組損失根據距離篩選最困難的三元組。本文的方法在批次全三元組損失的基礎上加入根據視角篩選三元組的系數,保留的三元組數量在以上兩者之間,但是訓練出的模型表現比以上兩者都好,由此證明了根據視角篩選三元組這一策略的有效性。 本文的方法在mAP和rank-5、rank-10指標上的提高幅度尤其大。mAP比批次全三元組損失高2.0,比批次困難三元組損失高1.8。rank-5比批次全三元組損失高0.48,比批次困難三元組損失高0.72。rank-10比批次困難三元組損失高0.57。這說明本文的損失不僅表現穩定,而且在多視角挑戰下表現尤其優異,因為k=1時通常只能召回同視角樣本,k較大時才需要召回異視角樣本。本實驗結果表明,在k較大時,rank-k指標的相對漲幅更大,這進一步印證了本文方法在多視角情況下的優越性。 將本文的方法與車輛重識別前沿方法進行對比,其結果如表2所示。在表2中,除了PVEN方法和所提出的PVEN+VCT方法外,其余方法的實驗結果均來自文獻[7]。本文對PVEN進行了復現,結果與文獻[7]中一致。 由表2可知,在眾多車輛重識別方法中,PRN[6]、PVEN[7]明顯表現更優,這主要得益于它們對關鍵區域的學習。此外,由于PVEN從4個視角分別提取局部信息,覆蓋了車輛的全部區域,因此取得了比PRN更好的性能。然而,PVEN僅僅關注了單區域局部特征的對齊與增強,對于視角多樣性考慮得不夠全面,而車輛整體的視角問題也是十分重要的。VANet[5]針對角度多樣性挑戰提出了基于角度分類的視角感知損失,盡管該網絡只預測了前后兩個角度,限制了模型的表現性能,但是其在度量學習中加入對視角考量的思路使筆者受到了啟發。實驗結果顯示,本文的方法相比于PVEN和VANet均取得了較大提升,這是因為視角感知一致性損失能對兩張圖片中車輛的角度一致性進行預測,從而引導模型學到更具辨別性的特征。由此,本實驗證明了所提出方法的優越性。 本文針對車輛重識別任務,為了解決視角多樣性帶來的影響,引入了視角一致性的概念并設計了視角一致性三元組損失函數。它能引導模型學習到更具辨別性的特征,從而提升所提出的方法在車輛重識別任務上的表現性能。在VeRi776車輛重識別數據集上,通過實驗證明了所提出的方法的有效性和優越性,特別是在多視角場景下獲得了較大的效果提升。
3 實驗
3.1 實驗設置

3.2 超參數調整


3.3 消融實驗

3.4 與前沿方法比較
4 結束語