楊飚,王雨周
(北方工業大學城市道路交通智能控制技術北京市重點實驗室,北京100144)
近幾年,我國的汽車保有量爆炸式增長,隨之而來的是交通的巨大壓力,并且由于車輛的極度相似性也給公共安全系統中車輛的再識別帶來了問題[1-3]。每輛車都擁有獨一無二的車牌照,并且車牌照的識別已經廣泛用于交通及其他車輛身份的識別系統中。但是很多情況下,我們并不能通過車牌照來匹配到某一輛車。第一,在絕大多數的安防攝像頭中是沒有車牌照的識別系統的,所以很難直接在安防系統中匹配到目標車輛,因此在這種情況下車牌識別的效率會大大降低。第二,很多車主為了逃避法律的制裁,會對車牌采取不正當的手段,例如,故意遮擋車牌、替換成假車牌,甚至摘掉車牌。還有一些車輛發生過碰撞,造成車牌的擠壓,不平整,這些情況都能對車牌識別造成困難。因此車輛再識別在交通領域有巨大的價值。但是不同于行人再識別,車輛的相似度極高,對于車輛的精確匹配難度極大。
盡管,車輛再識別的問題提出來多年,但是大部分還是依靠傳感器完成再識別的任務[4-6]。近幾年,由于深度學習,卷積網絡的發展進入研究人員的視野,有人提出通過深度卷積網絡提取車輛外部特征進行車輛再識別的任務。
與研究相對成熟的行人再識別相比,車輛再識別的任務極具挑戰性,因為上千輛的同一車型相似度非常高[7-8]。對于人來說,兩輛相同款式的新車,假如沒有車牌,很難分辨他們的不同特征。因此,如果要識別一輛車,需要一些特殊的標記或者符號,例如車身的彩繪,車內前部擺放的飾品,車窗的標志或者是車身由碰撞、刮蹭造成的車痕等。因此,車輛再識別的算法必須盡可能多地提取這些特征。提取越多的車輛細節特征,越能提高識別的準確率。在基于前人提出的DRDL(Deep Relative Distance Learning)的模型的基礎上,我們提出基于改進DRDL 的車輛再識別算法,來進一步解決車輛再識別的任務。
目前主流再識別領域是針對行人再識別和人臉再識別[8-10],這兩個主題都可以歸為一類問題:給定一張需要檢索的圖片,和候選的圖片數據庫,我們要利用檢索的圖片在數據庫中匹配到與其一樣的圖片。車輛再識別的大致過程與行人再識別相似,為了更能快速精準地匹配到想要的車,車輛再識別的過程中,需要先對車型進行分類,然后識別,再對車輛進行矩陣距離的計算。鑒于行人再識別與車輛再識別的相似性。研究工作要建立在此基礎之上。
北京大學基于行人再識別提出了DRDL 模型用于車輛再識別。DRDL 是專門為車輛再識別設計的一種端到端的框架結構。其本質是三元函數深度卷積網絡(Triplet Loss Deep Convolutional Network),因為深度卷積網絡在行人再識別問題上能夠取得非常不錯的效果。通過減小車輛類內距離,增大類間距離,做到車輛的身份識別。通過優化三元損失函數,網絡可以將原始車輛圖像投影到歐幾里德空間,減小類內距離,增大類間距離,為此專門設計了Coupled Cluster Loss 損失函數和能夠混合不同網絡的結構,結構如圖1 所示。

圖1 DRDL網絡整體框架
本文在DRDL 架構的基礎上修改了提取車輛特征的深度卷積網絡,使用了效果更好、速度更快的ResNet。將ResNet 提取到的特征,即全連接層的輸出,分成了兩個分支[1,11],一個分支是車的屬性分類,另一個分支是車輛相似度的學習。為了能夠學習到更好的特征,在全連接層之后會將屬性分類的特征融合到相似度學習分支。融合操作能夠指導相似度學習分支聚焦于車輛的特殊特征。并且將相似度學習分支的損失函數設置成人臉識別的ARC Loss(additive angular margin),它能夠直接在角度空間中最大化分類界限,如圖2 所示。
從經驗來看,網絡的深度對模型的性能至關重要,當增加網絡層數后,網絡可以進行更加復雜的特征模式的提取,所以當模型更深時理論上可以取得更好的結果[12-15]。但是隨著網絡層數的加深,網絡的準確度將出現飽和,甚至下降,即網絡退化。為了解決上述網絡退化的問題,本文采用ResNet 的殘差學習結構。殘差學習相比原始特征直接學習更容易。殘差結構如圖3所示。

圖2 改進網絡整體框架

圖3 殘差結構
殘差表示:

當殘差為0 時,此時堆積層僅僅做了恒等映射,至少網絡性能不會下降,并且實際上殘差不會為0,這也會使得堆積層在輸入特征基礎上學習到新的特征,從而擁有更好的性能。DRDL 框架使用VGG 網絡,遠不及本文使用的ResNet-101 網絡的深度,所以使用ResNet 在提取特征的階段比DRDL 原始的VGG 結果更好。ResNet-101 與VGG-19 的網絡結構如表1。
DRDL 原始損失函數是根據三元損失函數改進而來,不過原先三元損失函數是以“三元組樣本點”作為輸入數據的,Coupled Cluster Loss(CCL)由兩組圖像集取代:一組是正樣本集,另一組是負樣本集。距離測度由原先的隨機選擇錨點,再計算正樣本與錨點之間距離,負樣本與錨點之間距離,改為:先計算所有正樣本的中心點,再計算正樣本到中心點的距離。這個改變的前提是基于一個假設:即正樣本應該特征相近,形成一個“聚集簇”,負樣本相對較遠。改進之后的Coupled Clusters Loss 由多個樣本來定義,而不止原先的3 個。

表1 ResNet-101 與VGG-19 的網絡結構比較

正負樣本相對距離如公式(3):

Coupled Clusters Loss 函數如公式(4):

CCL 是歐氏距離的演變而來,歐氏距離更能體現數值上的相對差異,而再識別需要能在方向上的相對差異表現更好的函數。針對上述CCL 的缺陷,本文采用人臉識別的ARC Loss 損失函數:additive angular margin loss。ARC loss 是在AmSoftmax 演變而來的,ARC loss 與其他損失函數最大不同之處:前者是角度距離,后者是余弦距離,角度距離比余弦距離在對角度的影響更加直接,所以ARC Loss 可以直接在角度空間中最大化分類界限,可以加速函數的收斂。公式如下ARC loss:

相比于Coupled Clusters Loss,Arc Loss 在角度空間中,所以能夠更快的收斂,效果優于前者。
數據集采用VehicleID,以便于與DRDL 框架原始網絡進行分析對比。該數據集圖片來自現實生活中,是由不同安防攝像頭拍攝,為了去除車牌干擾,車牌照均被人工處理。
數據集一共有221763 張圖片,總共包含26267 輛車(平均每輛車含有8.44 張圖片)。其中10319 輛車被打上了車型的標簽,共90196 張圖片。數據集分為訓練部分和測設部分。訓練部分共有110178 張圖片含有標簽47558 張圖片,共包含13134 輛車,測試部分共有111585 張圖片含有標簽42638 張圖片,共包含13133 輛車。如表2 所示。

表2 訓練集和測試集
為了能夠更好地體現測試效果,原測試集太大,所以將其分成大、中、小三個部分分別測試。小測試集含有800 輛車,共7332 張圖片,中測試集含有1600 輛車,含有12995 張圖片,大測試集含有2400 輛車,含有20038 張圖。如表3 所示。

表3 測試數據分類
本實驗與文獻[1]使用相同的驗證方法,訓練集和測試集如表3 部分中介紹。
在進行車輛再識別之前,需要對車輛的型號進行驗證。該任務主要是驗證兩張圖片中的車輛是否為同一個車型,結果顯示本文的方法均有提升,其中小、中、大數據集分別針對原始算法提高了0.144、0.166、0.229,準確率提高的主要原因是本文采用的算法的網絡層數更深,能夠提取到更多的車輛細節特征。驗證結果如表4 所示。

表4 模型的分類預測準確度
為了表明車輛再識別結果的普適性,實驗結果如圖4,表示為在小數據集的累積匹配曲線(CMC)。因為累積匹配曲線廣泛用于再識別領域。表5 顯示了與原方法比較的Top 1 至Top 5 的匹配率。由結果可以看出我們的方法優于DRDL 原方法在所有測試集的結果。其中本文算法的Top 1 和Top 5 在小數據集上的結果分別高于DRDL 原始算法0.143 和0.052,主要原因是本文采用的ResNet-101 的網絡層數更深,能夠提取到比VGG 更多的車輛特征,以及ARC Loss 在車輛相似度估計計算時能夠最大化分類界限。
本文提出基于DRDL 模型的改進車輛再識別算法,用于提高車輛再識別的準確度。在DRDL 框架結構下用ResNet 作為主干網絡,用來提取更多的車輛特征,然后修改原來框架中的Loss 函數,利用ARC Loss進行車輛相似度的估計計算。相比于原始DRDL 算法,本文的算法能夠有一個較高的精度,實驗結果顯示該算法能夠有理想的提升。下一步將主要研究如何在保證準確率不降低的同時提高檢測速度。

圖4 小數據集CMC曲線

表5 車輛再識別匹配率