侯 雨,穆平安
(上海理工大學(xué)光電信息與計算機工程學(xué)院,上海 200093)
車輛重識別系統(tǒng)作為智慧城市中不可或缺的一部分,可通過分析道路交通情況,優(yōu)化車流量緩解交通堵塞,在智能交通系統(tǒng)中起到關(guān)鍵作用。通過給定車輛身份的查詢圖像,車輛重識別系統(tǒng)可從一個大型圖像數(shù)據(jù)庫中檢索與該身份對應(yīng)的所有圖像。但由于車輛圖像受到包括照明環(huán)境差異、視點變化、相機自身差異等眾多因素影響,導(dǎo)致圖像產(chǎn)生畸變,還存在被人、汽車或靜態(tài)物體(樹木、道路標志板等)遮擋的情況導(dǎo)致系統(tǒng)無法識別。
識別車輛最直接的方法是通過牌照[1-2],但在實際情況中系統(tǒng)可能無法清晰地捕捉每個車牌,有時車牌甚至被移走、遮擋或偽造。為此,Zapletal 等[3]構(gòu)建了一個大規(guī)模的車輛數(shù)據(jù)集,通過提取圖像的顏色和面向梯度直方圖特征來區(qū)分不同車輛。隨著卷積神經(jīng)網(wǎng)絡(luò)發(fā)展,Liu 等[4]將卷積神經(jīng)網(wǎng)絡(luò)CNN(Convolutiona Neural Network,CNN)的特征與傳統(tǒng)手工制作的特征相結(jié)合構(gòu)成融合特征。Wang等[5]為了充分利用細粒度的優(yōu)勢,首先分析車輛的組成結(jié)構(gòu),然后根據(jù)關(guān)鍵點位置提取汽車各部件的CNN 特征。此外,Shen 等[6]將時空信息納入模型的訓(xùn)練和推理過程當(dāng)中。
目前主流車輛重識別研究大多設(shè)有錨框(Anchorbase),識別準確率較高。其中,常用的錨框包括SSD[7]、YOLOV2、V3[8]及Faster-R-CNN[9]。然 而,基 于Anchorbase 的模型識別性能主要依賴于錨(Anchor)的設(shè)計,包括Anchor 的基礎(chǔ)尺寸、長寬比、各特征點對應(yīng)Anchor 的數(shù)目等。Faster-R-CNN 中設(shè)定基準窗口大小為16×16,并設(shè)置了8、16、32 三種倍數(shù)及0.5、1、2 三種比例共9 種Anchor。然而即使設(shè)定了9 種Anchor 仍難以檢測形變較大的目標,尤其是小目標,且多數(shù)Anchor 屬于負樣本,會導(dǎo)致模型正負樣本失衡,限制模型的泛化能力。
Tong 等[10-12]提供了一種端到端統(tǒng)一檢測和重新識別的方案。由于此類模型采用了Faster-RCNN 兩級檢測器,所以被稱為一步兩級模型。然而,這些模型都不可避免地繼承了兩級檢測器的局限性,例如由于錨點密集導(dǎo)致的計算復(fù)雜度高及對錨盒大小、縱橫比、數(shù)量等超參數(shù)的敏感度較高。無錨模型相較于兩級檢測器,具有結(jié)構(gòu)簡單、速度快等獨特優(yōu)勢。此外,Ke 等[13]提出了一種多粒排序損失以區(qū)分外觀相似的汽車。
為了解決上述問題,本文提出一種無錨框的基于改進FCOS(Fully Convolutional One-stage Object Detection,F(xiàn)COS)[14]的車輛重識別模型,通過可變形卷積網(wǎng)絡(luò)和特征融合改進FCOS 的網(wǎng)絡(luò)結(jié)構(gòu),克服無錨(Anchor-free)模型使用特征金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,F(xiàn)PN)[15]不對齊的問題,大幅度提升了模型重識別的準確率。
FCOS 算法基于獨特的后處理非極大值抑制(Nonmaximum Suppression,NMS)算法相較于基于錨框的One-Stage 檢測算法,具有更好的檢測效果。該方法以逐像素預(yù)測的方式檢測目標,無需設(shè)置錨框,直接將位置信息作為訓(xùn)練樣本。通過消除預(yù)定義的錨框集合,避免了訓(xùn)練過程中與錨框相關(guān)的復(fù)雜計算,并且無需設(shè)置與錨框相關(guān)的超參數(shù),間接提升了模型訓(xùn)練速度。
FCOS 算法的核心思想是預(yù)測輸入圖像中每個點所屬的目標類別和目標框,網(wǎng)絡(luò)框架如圖1所示。

Fig.1 Network framework of FCOS圖1 FCOS的網(wǎng)絡(luò)框架
其中,5 個融合后的特征層用于預(yù)測,算法使用了定義為{P3,P4,P5,P6,P7}5 個級別的特征圖,P3、P4、P5 的主干由CNNs 特征圖的C3、C4、C5 與一個自頂向下連接的1× 1 的卷積層構(gòu)建,P6 和P7 是在P5 和P6 的基礎(chǔ)上分別增加了一個步幅為2 的卷積層。為了有效利用多尺度特性,并防止其野蠻生長,邊界框回歸范圍受到每個尺度功能層的限制。
由于不同大小的對象被分配給不同特征圖層進行回歸時,重疊大概率發(fā)生在尺寸差異較大的對象間,因此多尺度預(yù)測能夠增強物體的特征,進而減少目標框發(fā)生重疊狀況。模型重點在于虛線框中的部分,該部分為無錨目標識別算法的主要特點。其中,輸出層中第1 條為分類支路,H×W 表示特征大小,C 表示類別數(shù);第2 條輸出支路為中心度(Center-ness),用于計算每個點和目標中心的距離,以減少遠離目標中心的預(yù)測點;第3 條輸出支路為回歸支路,其中數(shù)字4表示與回歸相關(guān)的4個值。
本文首先介紹改進FCOS 車輛重識別模型框架。接下來,詳細介紹框架的內(nèi)部信息。最后,將研究重點轉(zhuǎn)為訓(xùn)練模型的損失函數(shù),以獲得更多判別特征用于車輛重識別。模型的整體框架如圖2所示。
由圖2 可見,F(xiàn)COS 整個網(wǎng)絡(luò)的重點在于重識別(Reidentification,Re-id)特征的學(xué)習(xí),因為這對模型的最終識別精度起著決定性的作用。具體而言,本文算法提出了一個特征匹配和融合模塊,該模塊用于聚合特征金字塔網(wǎng)絡(luò)的多層次特征,相較于原始FPN 多層次輸出,只取最后一層輸出作為最終的Re-id 特征。在檢測方面,采用FCOS檢測頭(Detection Head),因為該策略已足夠滿足重識別任務(wù)的需求。最后,對模塊輸出特征圖中每個位置對應(yīng)的邊界框坐標、分類和中心點的打分進行特征融合,輸出一個具有判別性的Re-id 特征。

Fig.2 Improved vehicle re-identification framework of FCOS圖2 改進FCOS的車輛重識別框架
原始基于FCOS 的模型采用不同層次的特征,檢測各種不同大小目標。然而,在Re-id 任務(wù)中不同層次的輸出特征會導(dǎo)致不同尺度的特征相互不匹配。大多數(shù)Anchor-Free 檢測器通過FPN 學(xué)習(xí)多尺度特征,實現(xiàn)了目標檢測對尺度的不變性。然而對Re-id 任務(wù)而言,其需要將同一輛車與數(shù)據(jù)庫中不同尺度的車輛進行匹配,而不同尺度車輛所提取的特征層次均有所差異,以致于會產(chǎn)生因尺度不對齊而引起的特征不匹配問題,從而影響模型的重識別精度。因此,本文只取特征匹配和融合模塊最后一層的特征層輸出(P3)用于后續(xù)的檢測和Re-id 任務(wù),雖然該設(shè)計對檢測結(jié)果有略微影響,但能夠顯著提升Re-id 任務(wù)的效率。
由于采用了較大的感受野(Receptive Field,RF),特征匹配和融合模塊輸出特征圖上的每個位置都能獲取整張圖片的全局信息,由于Anchor-Free 模型缺乏Faster-RCNN中的ROI-Align 操作,因此無法根據(jù)車輛邊界框獲取精確的車輛特征。在該情況下,學(xué)習(xí)的車輛特征往往包含與車輛無關(guān)的背景區(qū)域信息,使Re-id 任務(wù)受到了較大影響。為了解決上述問題,從以下3個方面解決:
(1)將側(cè)邊通道(Lateral Connection,LC)中1×1 卷積替換為3×3 可變形卷積(Deformable Convolution,DC),隱式獲取相關(guān)特征。
(2)將自頂向下通道(Top-down Pathway,TDP)中的“求和”(Sum)操作替換為“合并”(Concatenation)操作來聚合多層次特征。
(3)在FPN 輸出層中,將3×3 卷積替換為3×3 可變形卷積,使模型能夠進一步對齊多層次特征,從而獲取更高精度的車輛特征。
結(jié)合上述3 種設(shè)計可在很大程度上解決區(qū)域不對齊問題。由于目前檢測器效果已足夠精確,特別在Anchor-Free 框架下,ReID 效果對區(qū)域、尺度等不對齊十分敏感。因此,將ReID 相關(guān)的損失直接添加在特征匹配和融合模塊輸出的特征上,再將該特征送入檢測頭對檢測分支進行訓(xùn)練。
在訓(xùn)練模型時,采用了包括用于分類的Focal Loss 損失函數(shù)[16]、用于回歸的GIoU(Generalized Intersection over Union)損失函數(shù)和采用Center-ness 策略[14]的二值交叉熵(Binary cross entropy,BCE)損失函數(shù)。
Focal Loss 可通過減少易分類樣本的權(quán)重,使模型在訓(xùn)練時專注于難分類的樣本。損失函數(shù)可由式(1)所示:

其中,γ為可調(diào)節(jié)的專注參數(shù),γ>0;a為平衡因子,取值范圍為[0,1];y為真實值;y'為預(yù)測值。
GIoU Loss 在非重疊情況下,當(dāng)IoU 作為損失時,其梯度將會為零,模型將無法優(yōu)化。若兩個物體不重疊時,IoU的值將為零,此時將無法反映兩個模型之間的距離。因此,通過GIoU Loss 在又充分利用IoU 優(yōu)點的同時,克服其自身缺陷。
IoU 和GIoU 的計算公式如式(2)-式(3)所示,GIoU 損失的計算公式如式(4)所示。

其中,A為預(yù)測框,B為真實框,C是包含A、B的最小框(包含A與B的最小凸閉合框)。
FCOS 無需引入任何參數(shù),利用策略中心度(Center?ness)抑制檢測低質(zhì)量的邊界框。給定某一位置的回歸目標中心度定義如式(5)所示。

其中,l*、t*、r*、b*分別表示該像素點到各邊界框的距離。在訓(xùn)練過程中對公式的值進行約束,使其趨近于0,開根號的目的是為了減緩中心度衰減的速度。由于中心度的范圍為0~1,因此本文采用BCE 損失函數(shù)進行訓(xùn)練。
最后,定義訓(xùn)練模型的總損失為L,如式(6)所示。

其中,Lcls為分類損失,Lreg為回歸損失,Lcenter為Centerness損失。
實驗數(shù)據(jù)來源于VeRi-776 數(shù)據(jù)集[4],該數(shù)據(jù)集由776輛車,共計50 000 張圖像組成,每輛車由2~18 個攝像頭在不同視點、光照、分辨率和遮擋情況下收集而成。
為了便于比較,根據(jù)標準協(xié)議對每個數(shù)據(jù)集的訓(xùn)練和測試樣本進行劃分。從數(shù)據(jù)集中隨機提取576 輛車的37 781 張圖像作為訓(xùn)練集,并采用平均精度均值(mean Aver?age Precision,mAP)和Rank-N 表格作為算法的評判參數(shù)。
3.1.1 平均精度均值
mAP 是衡量同類任務(wù)模型好壞的重要標準之一。首先計算每個查詢圖像u的平均精度AP,如公式(7)所示。然后計算所有查詢圖像的mAP,如式(8)所示。

其中,l為車輛檢索排序,n為已獲取車輛數(shù)量,Mc為相關(guān)車輛數(shù)量,S(l)表示召回列表中截止點l的精度,c(l)表示第l個召回圖像是否正確,V為查詢圖像總數(shù)。
3.1.2 Rank-N表格
在車輛重識別任務(wù)中,通常數(shù)據(jù)集中會有查詢集(Query set)和測試集(Test set),為了在不同攝像頭下尋找與查詢最相似的車輛。提取每個查詢集中圖像的特征,通過計算該圖像與測試集中所有圖像的相似度。
Rank-N 表示按照相似度排序后,置信度最高的n張圖為正確結(jié)果的概率。其中,Rank-1 和Rank-5 較為常用,分別表示在結(jié)果序列中前1 張和前5 張圖像正確匹配的概率。
實驗使用在ImageNet[17]上預(yù)先訓(xùn)練好的ResNet-50[18]作為骨干網(wǎng)絡(luò)加速訓(xùn)練過程,并采用隨機梯度下降算法(Stochastic Gradient Descent,SGD)優(yōu)化訓(xùn)練。
訓(xùn)練設(shè)置了150 個epoch,bactch size 設(shè)為64,權(quán)重衰減λ 為0.000 5,初始學(xué)習(xí)速率設(shè)為0.001。實驗環(huán)境如下:系統(tǒng)采用Ubuntu18.04,顯卡配置為RTX2080Ti,CUDA10.0和CUDNN7.4,算法開發(fā)基于Python 的Pytorch 深度學(xué)習(xí)框架。
為了更好評判特征匹配和融合模塊在不同輸出層的提升效果,本文對P3、P4 和P5 的特征分別進行了8strides、16strides 和32strides 評估。由表1 可知,P3 因采用了特征匹配和融合模塊的方式,算法性能最好,為檢測和重識別提供了更豐富的信息。

Table 1 Comparison results of different levels of features表1 不同層次特征的比較結(jié)果(%)
接著,將提出的模型與其它主流方法進行比較分析。由表2 可見,本文提出的方法在mAP、Rank-1 和Rank-5 上均具有更優(yōu)異的表現(xiàn)。

Table 2 Comparison results with other vehicle re-recognition methods表2 與其它車輛重識方法的比較結(jié)果(%)
此外,由于Re-ranking 方法[27]已被應(yīng)用于提高目標檢索的精度。從表2 可見,加入Re-ranking 后模型的mAP 與Rank-N 分別提升了3.7%與0.6%。圖3 對模型在VeRi-776測試集的重識別結(jié)果進行了展示。

Fig.3 Examples of re-identification results in the VeRi-776 test set圖3 VeRi-776測試集重識別結(jié)果示例
本文提出了無錨框的基于改進FCOS 的車輛重識別模型,采用一步模型聯(lián)合算法的檢測和再識別操作。為了實現(xiàn)無錨檢測器的車輛搜索任務(wù),設(shè)計了特征匹配和融合模塊,有效解決了區(qū)域尺度等特征發(fā)生不對齊時檢測效率低的問題。
通過在VeRi-776 數(shù)據(jù)集上的實驗表明,無論相機屬性和視點如何變化,模型都具有較強的檢索能力和識別能力。但由于實驗數(shù)據(jù)的局限性,在檢測類內(nèi)差異大、類間相似度高的圖像時,仍會產(chǎn)生一定的誤差。在以后的工作中,將進一步收集大規(guī)模、多視角的車輛數(shù)據(jù)集,對現(xiàn)有模型進行改進,提高模型重識別精度。