劉曉蓉,李小霞,2,秦昌輝
(1.西南科技大學(xué) 信息工程學(xué)院,四川 綿陽 621000;2.特殊環(huán)境機(jī)器人技術(shù)四川省重點(diǎn)實(shí)驗(yàn)室,四川 綿陽 621010)
行人重識(shí)別是在特定的監(jiān)控行人圖像,查找該行人在其他攝像頭下拍攝到的圖像[1]。因攝像頭的位置、視角不同,同時(shí)受行人姿態(tài)、遮擋、光照變化等因素的影響,同一行人的不同圖像存在較大的差異。因此,行人重識(shí)別成為計(jì)算機(jī)領(lǐng)域的研究熱點(diǎn)。
隨著卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展,基于深度學(xué)習(xí)的方法被應(yīng)用于行人重識(shí)別任務(wù)中。目前,基于深度學(xué)習(xí)的行人重識(shí)別主流方法大多數(shù)采用平均池化、最大池化或?qū)烧呦嘟Y(jié)合。本文提出一種多尺度對(duì)比池化特征融合的行人重識(shí)別方法?;诰W(wǎng)絡(luò)中不同尺度的特征信息,通過構(gòu)建對(duì)比池化模塊,同時(shí)結(jié)合平均池化和最大池化的優(yōu)點(diǎn),提取具有強(qiáng)判別性的對(duì)比池化特征,從而提升行人重識(shí)別的準(zhǔn)確度。
傳統(tǒng)的行人重識(shí)別方法主要分為基于特征表示的方法和基于距離度量的方法?;谔卣鞅硎镜男腥酥刈R(shí)別方法主要通過提取顏色、局部二值模式[2](Local Binary Pattern,LBP)、尺度不變特征變換[3](Scale Invariant Feature Transform,SIFT)等 特征。由于單一特征在行人目標(biāo)表征方面具有局限性,因此研究人員又提出其他方法:文獻(xiàn)[4]采用累積顏色直方圖表示全局特征,進(jìn)而提取局部特征;文獻(xiàn)[5]引入局部最大發(fā)生率(Local Maximal Occurrence,LOMO)。基于距離度量的行人重識(shí)別方法通過設(shè)計(jì)距離函數(shù),使得同一行人目標(biāo)的距離小于不同行人目標(biāo)的距離。文獻(xiàn)[6-7]分別提出KISSME(Keep It Simple and Straightforward Metric)和最大近鄰分類間隔(Large Margin Nearest Neighbor classification,LMNN)算法來學(xué)習(xí)最佳的相似性度量。
傳統(tǒng)的行人重識(shí)別方法提取的特征表達(dá)能力有限,難以適應(yīng)實(shí)際復(fù)雜場景下的行人重識(shí)別任務(wù)。近年來,越來越多的研究人員將深度學(xué)習(xí)方法應(yīng)用到行人重識(shí)別領(lǐng)域中,通過提取全局特征和局部特征來獲得具有判別性的行人特征表達(dá)。文獻(xiàn)[8]提出一種全局-局部對(duì)齊特征算子(Global Local Alignment Descriptor,GLAD)來提取全局特征和局部特征。文獻(xiàn)[9]構(gòu)建均勻分塊的PCB(Part-based Convolutional Baseline)模型,將得到的特征等分后通過RPP(Refined Part Pooling)網(wǎng)絡(luò)對(duì)齊圖像塊,進(jìn)而提取各圖像塊的局部特征。
卷積神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)的代表算法之一,在構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)時(shí),通常會(huì)在卷積層之后接入1 個(gè)池化層,以降低卷積層輸出的特征維度,同時(shí)達(dá)到抑制噪聲、防止過擬合的作用,從而提高網(wǎng)絡(luò)的泛化性能。卷積神經(jīng)網(wǎng)絡(luò)中平均池化能較完整地傳遞特征信息,但是容易受背景噪聲的影響;最大池化能提取出辨識(shí)度較優(yōu)的特征,但更關(guān)注局部信息。主流網(wǎng)絡(luò)的池化方法如表1 所示,大多數(shù)基于卷積神經(jīng)網(wǎng)絡(luò)的行人重識(shí)別方法僅使用平均池化或最大池化,或者將兩者池化后輸出的特征進(jìn)行簡單融合。
表1 主流網(wǎng)絡(luò)的池化方法Table 1 Pooling method of mainstream networks
本文設(shè)計(jì)的行人重識(shí)別網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示,主要包括多尺度特征提取、對(duì)比池化模塊和分類回歸3 個(gè)部分。
圖1 本文網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of the proposed network
卷積神經(jīng)網(wǎng)絡(luò)中的不同層次會(huì)產(chǎn)生不同空間分辨率的特征圖,通過不同卷積層得到的特征圖內(nèi)包含的信息不同。高層特征更關(guān)注語義信息,較少關(guān)注圖像細(xì)節(jié)信息,而低層特征在包含更多細(xì)節(jié)信息的同時(shí),也可能包含了混亂的背景信息。因此,研究人員通過結(jié)合多個(gè)尺度的特征,以這種簡單且有效的方式對(duì)不同層次的特征進(jìn)行互補(bǔ)。本文以殘差網(wǎng)絡(luò)結(jié)構(gòu)ResNet50[15]作為行人重識(shí)別的骨干網(wǎng)絡(luò),用于提取通過ResNet50網(wǎng)絡(luò)layer3 層和layer4 層的特征。從圖1 可以看出,本文設(shè)計(jì)的行人重識(shí)別網(wǎng)絡(luò)結(jié)構(gòu)移除ResNet50 網(wǎng)絡(luò)中最后一層的全連接層,引入平均池化層與最大池化層。圖1 中Avg(m)、Max(m)分別表示平均池化和最大池化,得到寬和高都為m的特征圖。本文分別將ResNet50網(wǎng)絡(luò)中l(wèi)ayer3 層輸出的特征進(jìn)行全局平均池化和全局最大池化,得到輸出維度為1×1×1 024的Pavg1和Pmax12個(gè)特征圖。同理,將ResNet50 網(wǎng)絡(luò)中l(wèi)ayer4 層輸出的特征分別進(jìn)行全局平均池化和全局最大池化,得到輸出維度為1×1×2 048 的Pavg2和Pmax2。為降低池化對(duì)信息丟失的影響,通過調(diào)整平均池化和最大池化的步長(stride),以得到更豐富的特征信息,輸出維度為2×2×2 048 的Pavg3和Pmax3。將提取得到的行人圖像多尺度特征Pavg1、Pmax1、Pavg2、Pmax2、Pavg3和Pmax3送入到對(duì)比池化模塊,得到相應(yīng)的對(duì)比特征Pcont1、Pcont2、Pcont3,再將其轉(zhuǎn)化為統(tǒng)一維度進(jìn)行融合,將融合后的特征送入分類器進(jìn)行分類,最后得到行人重識(shí)別結(jié)果。
圖2 為卷積神經(jīng)網(wǎng)絡(luò)中常用的平均池化和最大池化計(jì)算示意圖。
圖2 池化計(jì)算示意圖Fig.2 Schematic diagram of pooling calculation
平均池化是對(duì)鄰域內(nèi)的特征求平均值,最大池化則是對(duì)鄰域內(nèi)的特征求最大值。經(jīng)過平均池化后得到的特征雖然能夠較完整地傳遞圖像的全局信息,但是其計(jì)算方式容易受背景雜波和遮擋的影響,難以區(qū)分行人和背景。與平均池化相比,最大池化能夠降低背景雜波的影響,但最大池化更關(guān)注提取行人圖像局部的顯著特征和行人的輪廓信息,池化后的特征并不能完整包含行人的全身信息。在行人重識(shí)別任務(wù)中,由于攝像頭角度和外界光照的變化,需要在保留行人全身信息的同時(shí)去除背景雜波的影響,并且突出行人和背景的差異。在此基礎(chǔ)上,本文提出一個(gè)對(duì)比池化模塊,如圖3 所示,通過結(jié)合最大池化和平均池化的優(yōu)點(diǎn),彌補(bǔ)最大池化和平均池化的不足,在保留行人全身信息、加深行人輪廓的同時(shí),更加關(guān)注行人與背景的差異,使得行人圖像的最終特征表達(dá)更全面和更具判別性,從而提高行人重識(shí)別的準(zhǔn)確率。
圖3 對(duì)比池化模塊結(jié)構(gòu)Fig.3 Structure of contrast pooling module
從圖3 可以看出,對(duì)比池化模塊是將ResNet50提取得到的行人圖像多尺度特征Pavg與Pmax相減,并將其得到的特征使用一個(gè)1×1 的卷積核進(jìn)行卷積,以得到Pavg與Pmax之間的差異特征。利用1×1 的卷積核對(duì)經(jīng)過最大池化得到的Pmax特征進(jìn)行卷積,與之前得到的Pavg與Pmax之間的差異特征相加得到對(duì)比特征Pcont。本文提出的對(duì)比池化模塊結(jié)合了最大池化和平均池化的優(yōu)點(diǎn),得到的對(duì)比特征Pcont在覆蓋行人全身和加深行人輪廓的同時(shí)降低了背景雜波的影響,并且更加關(guān)注行人和背景之間的區(qū)別。對(duì)比特征Pcont如式(1)所示:
其中:Pavg和Pmax分別為經(jīng)過平均池化和最大池化后得到的特征;δ1×1(x)為對(duì)x使用一個(gè)1×1 的卷積核操作。
為了訓(xùn)練模型,本文使用三元組損失(Triplet Loss)和交叉熵?fù)p失(Cross Entropy Loss)聯(lián)合優(yōu)化模型,損失函數(shù)如式(2)所示:
其中:Ltotal_loss為總體損失;為三元組損失為交叉熵?fù)p失。三元組損失逐漸縮短正樣本對(duì)之間的距離,使得正負(fù)樣本之間的距離逐漸變大。交叉熵?fù)p失關(guān)注實(shí)際輸出與期望輸出的接近程度。i表示 通過ResNet50 網(wǎng)絡(luò)layer3 層和layer4 層后,提取到的6 個(gè)行人圖像基礎(chǔ)特征Pavg1、Pmax1、Pavg2、Pmax2、Pavg3和Pmax3中的第i個(gè)特征。,j表示通過對(duì)比池化模塊后提取到3 個(gè)對(duì)比特征Pcont1、Pcont2和Pcont3中的第j個(gè)特征。本文設(shè)計(jì)的損失函數(shù)采用三元組損失和交叉熵?fù)p失聯(lián)合優(yōu)化模型,通過計(jì)算多個(gè)損失來加快模型收斂,以提高模型的泛化能力。
本文實(shí)驗(yàn)包含以下4 個(gè)訓(xùn)練策略:1)在訓(xùn)練階段,學(xué)習(xí)率使用WarmUp 方式;2)對(duì)訓(xùn)練集的數(shù)據(jù)進(jìn)行概率為0.5 的隨機(jī)擦除;3)使用標(biāo)簽平滑提高模型的泛化性能;4)使用BNNeck(Batch Normalization Neck)對(duì)特征進(jìn)行歸一化。此外,所有實(shí)驗(yàn)重復(fù)3 次取得的均值作為實(shí)驗(yàn)結(jié)果,在避免隨機(jī)性的同時(shí)保證實(shí)驗(yàn)結(jié)果的準(zhǔn)確性。
本文在Market1501[16]和DukeMTMC-reID[17]數(shù)據(jù)集上對(duì)提出的行人重識(shí)別方法進(jìn)行對(duì)比。
Market1501 數(shù)據(jù)集采集于清華大學(xué),包括6 個(gè)攝像頭拍攝到的1 501 個(gè)行人,訓(xùn)練集有751 個(gè)行人的12 936 幅圖像。測試集有另外750 個(gè)行人的19 732 幅圖像。測試集又分為查詢集和圖庫集,查詢集包含測試集中750 個(gè)行人在6 個(gè)攝像頭中隨機(jī)挑選出的3 368 幅圖像;圖庫集包含與查詢集相同行人的其他13 056幅圖像,以及不在查詢集中的6 676幅圖像。
Duke MTMC-reID 數(shù)據(jù)集包括8 個(gè)攝像機(jī)拍攝到的1 404 個(gè)行人的36 411 幅圖像。訓(xùn)練集有702 個(gè)行人的16 522幅圖像。測試集有另外702個(gè)行人的17 661幅圖像。測試集又分為查詢集和圖庫集,查詢集包含測試集中702個(gè)行人在8個(gè)攝像頭中隨機(jī)挑選出的2 228幅圖像;圖庫集包含17 661 幅圖像。
本文算法基于Pytorch 框架,實(shí)驗(yàn)使用的計(jì)算平臺(tái)是基于64 位的Windows 10 專業(yè)版操作系統(tǒng),硬件配置如下:GPU 為NVIDIA GeForce GTX 1080 Ti、CPU 為Intel?CoreTMi7-7700K CPU @ 4.20 GHz、內(nèi)存32 GB。在訓(xùn)練模型時(shí),輸入行人圖像的分辨率設(shè)置為288×144 像素,訓(xùn)練批次為32,總共迭代次數(shù)為220,使用SGD 優(yōu)化器優(yōu)化模型參數(shù),初始學(xué)習(xí)率設(shè)置為0.03,權(quán)重衰減率設(shè)置為0.000 5,隨著迭代次數(shù)增加,權(quán)重衰減率逐漸增加到0.03,然后分別在迭代到40、110和150次時(shí)降到0.003、0.000 3和0.000 3。
本文實(shí)驗(yàn)采用累積匹配特征(Cumulative Matching Characteristics,CMC)曲線中的Rank-1、Rank-5、Rank-10 和平均精度均值(mean Average Precision,mAP)作為評(píng)估指標(biāo)。測試時(shí)從查詢集中取一幅查詢圖像,將測試集中所有圖像與查詢圖像進(jìn)行相似度度量,CMC 是指在前K幅候選圖像中與查詢圖像匹配成功的概率,Rank-1、Rank-5、Rank-10的值就是CMC(K)中K=1、5、10 時(shí)對(duì)應(yīng)的準(zhǔn)確率。mAP 是計(jì)算所有樣本的準(zhǔn)確率-召回率曲線下面積的平均值。
為驗(yàn)證本文方法的有效性,在Market1501 數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn),重識(shí)別結(jié)果如圖4 所示,每行第一列為查詢圖像,后10 列為前10 名的查詢結(jié)果,圖4中實(shí)線邊框表示正確的查詢結(jié)果,虛線邊框表示錯(cuò)誤的查詢結(jié)果。
圖4 本文方法的行人重識(shí)別結(jié)果Fig.4 Person re-identification results of the proposed method
avg 方法是利用本文提出的行人重識(shí)別網(wǎng)絡(luò)結(jié)構(gòu)對(duì)行人圖像基礎(chǔ)特征進(jìn)行平均池化,以得到特征圖。max方法是通過最大池化得到的特征圖。在Market1501數(shù)據(jù)集上,avg 方法、max 方法與本文對(duì)比池化模塊(contrast)方法的準(zhǔn)確率和損失值對(duì)比結(jié)果如圖5所示。從圖5 可以看出,contrast方法相較于avg 方法和max 方法的準(zhǔn)確率更高,同時(shí)損失值下降得更快,驗(yàn)證了contrast方法在行人重識(shí)別任務(wù)中的有效性。
圖5 不同方法的準(zhǔn)確率和損失值對(duì)比Fig.5 Accuracy and loss value comparison among different methods
本文利用Grad-CAM類激活熱力圖對(duì)avg方法、max方法和contrast方法進(jìn)行可視化,結(jié)果如圖6 所示(彩圖效果見《計(jì)算機(jī)工程》官網(wǎng)HTML 版)。從圖6 可以看出,avg 方法更關(guān)注圖像的全局信息,但容易受背景雜波影響;max 方法更注重局部的行人輪廓信息,但并不包含行人全身信息;contrast 方法結(jié)合兩者的優(yōu)點(diǎn),能夠包含行人全身的同時(shí),降低背景雜波對(duì)其的影響。
圖6 不同方法的可視化結(jié)果Fig.6 Visualization results of different methods
在Market1501 和DukeMTMC-reID 數(shù)據(jù)集上,不同方法的性能指標(biāo)對(duì)比如表2 所示。本文提出的contrast+re-ranking 方法通過重排序re-ranking[18]技術(shù)優(yōu)化網(wǎng)絡(luò)性能,ResNet50_baseline 方法直接利用ResNet50 網(wǎng)絡(luò)layer4 層輸出的特征優(yōu)化網(wǎng)絡(luò)性能。從表2 可以看出,本文提出的contrast+re-ranking 方法在Market1501 和DukeMTMC-reID 數(shù)據(jù)集上的mAP 分別為94.52%和89.30%。
表2 不同方法的性能指標(biāo)對(duì)比1Table 2 Performance indexs comparison 1 among different methods %
在同樣以ResNet50 為骨干網(wǎng)絡(luò)的情況下,contrast 方法和contrast+re-ranking 方法的性能指標(biāo)能夠顯著提升。相比ResNet50_baseline 方法,avg 方法和max 方法的性能指標(biāo)也有明顯提升,驗(yàn)證了contrast 方法和contrast+re-ranking 方法在提取網(wǎng)絡(luò)中多尺度特征方面的有效性。contrast 方法和contrast+re-ranking 方法的指標(biāo)相較于avg 方法和max 方法有所提升,說明本文所提的對(duì)比池化模塊結(jié)合平均池化和最大池化的優(yōu)點(diǎn),對(duì)行人重識(shí)別網(wǎng)絡(luò)性能指標(biāo)的提升具有重要意義。
本文所提方法與近年來行人重識(shí)別領(lǐng)域中代表方 法(SVDNet[19]、GLAD[8]、PCB[9]、PCB+RPP[9]、BEF[20]等)的性能指標(biāo)對(duì)比如表3 所示。對(duì)比方法的性能指標(biāo)都引用自原文,其中“—”表示原文獻(xiàn)中沒有該項(xiàng)實(shí)驗(yàn)結(jié)果,同時(shí)給出了利用re-ranking 技術(shù)優(yōu)化contrast 方法后的性能指標(biāo)。
表3 不同方法的性能指標(biāo)對(duì)比2Table 3 Performance indexs comparison 2 among different methods %
從表3可以看出,contrast+re-ranking方法的Rank-1和mAP 指標(biāo)優(yōu)于對(duì)比方法,尤其mAP 指標(biāo)得到顯著提高。在Market1501 數(shù)據(jù)集上,contrast+re-ranking 方法在經(jīng)過重排序后相較于基于局部特征的PCB+RPP 方法的Rank-1 指標(biāo)提高2.61 個(gè)百分點(diǎn),mAP 指標(biāo)提高了約13 個(gè)百分點(diǎn);其Rank-1 指標(biāo)相比BEF 方法提高了1.1個(gè)百分點(diǎn),mAP指標(biāo)提高了7.8個(gè)百分點(diǎn);比DG-Net方法在Rank-1 指標(biāo)上提高了1.61 個(gè)百分點(diǎn),在mAP 指標(biāo)上提高了8.52 個(gè)百分點(diǎn);比CtF 方法在Rank-1 指標(biāo)上提高了2.21 個(gè)百分點(diǎn),在mAP 指標(biāo)上提升了9.62 個(gè)百分點(diǎn)。在DukeMTMC-reID 數(shù)據(jù)集上,與BEF 方法相比,本文方法(contrast)的Rank-1 指標(biāo)較低,但是在mAP 指標(biāo)上提高了1.7 個(gè)百分點(diǎn)。contrast方法經(jīng)過重排序后,其Rank-1 和mAP 指標(biāo)上均高于對(duì)比方法。
表4 為本文方法與對(duì)比方法的參數(shù)量、計(jì)算量和推理時(shí)間對(duì)比。從表4 可以看出,相比大多數(shù)對(duì)比方法,本文方法的模型參數(shù)量(Parameters)更多,但本文方法的計(jì)算量(FLOPs)更小,在單幅圖像進(jìn)行推理時(shí)所消耗的時(shí)間也更少。
表4 不同方法的參數(shù)量、計(jì)算量和推理時(shí)間對(duì)比Table 4 Parameters,calculation and inference time comparison among different methods
本文提出一種多尺度對(duì)比池化特征融合的行人重識(shí)別方法。通過構(gòu)建對(duì)比池化模塊,結(jié)合最大池化和平均池化的優(yōu)點(diǎn),使得網(wǎng)絡(luò)更加關(guān)注圖像中行人與背景的差異,利用重排序技術(shù)優(yōu)化網(wǎng)絡(luò)性能,以提取網(wǎng)絡(luò)中不同尺度的特征。在Market1501和DukeMTMC-reID數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文方法的首位命中率分別為96.41%和91.43%,相比SVDNet、GLAD 和PCB 等方法,能夠有效提高行人重識(shí)別的準(zhǔn)確率。后續(xù)將通過可變形卷積或引入注意力機(jī)制的方法,提取更加顯著的特征,以提升行人重識(shí)別的精度。