倪旭
摘要:文章采用一種標(biāo)簽平滑正則化方法,分別把該方法應(yīng)用到交叉熵損失函數(shù)和中心損失函數(shù)(center loss)中,實驗結(jié)果表明,在Market1501,CUHK03,Dukemtmc-reID行人重識別數(shù)據(jù)集上,利用該算法可以有效防止模型過擬合,提高模型的泛化能力,提高行人重識別率。
關(guān)鍵詞: 行人重識別; 標(biāo)簽平滑正則化; CMC; center loss; ResNet50
中圖分類號:TP183 文獻標(biāo)識碼:A
文章編號:1009-3044(2019)08-0150-03
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
Pedestrian Re-Identification Based on Label Smoothing Regularization
NI Xu
(Jiangsu Key Laboratory of Big Data Analysis Technology,Nanjing University of Information Science & Technology,Nanjing 210044, China)
Abstract:In this paper, a label smoothing regularization method is applied to the cross entropy loss function and the center loss function. The experimental results show that the Market1501, CUHK03, Dukemtmc-reID pedestrian re-identification data sets are utilized. The algorithm can effectively prevent the model from over-fitting, improve the generalization ability of the model, and improve the recognition rate of pedestrians.
Key words: pedestrian re-identification;label smooth regularization;CMC;center loss; ResNet50
1引 言
行人重識別(Pedestrian Re-ID ,Pedestrian Re-Identification)[1]是利用計算機技術(shù)判斷在多個攝像機下是否存在特定行人的技術(shù)。主要解決跨攝像頭多場景中行人的識別與檢索,給定一個行人,在數(shù)據(jù)庫中找出該行人的所有圖片??梢詫o法獲取清晰人臉圖像的行人進行連續(xù)跟蹤,但是由于拍攝的角度,光照,和行人的位置變化,會造成同一個行人在不同攝像頭下拍攝得到的圖片出現(xiàn)很大的差異,影響行人識別精度。
目前,基于特征表示方法和基于度量學(xué)習(xí)的方法是行人重識別研究的主要方法。特征表示方法研究如何提取魯棒性強的行人特征,度量學(xué)習(xí)方法研究距離函數(shù),其目的是使得同一個行人的距離小于不同行人的距離。
1.1基于特征表示的方法
由于卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)[2]的快速發(fā)展,研究者常把行人重識別問題看作分類問題或驗證問題,即利用行人的ID信息作為分類標(biāo)簽進行分類,或讓網(wǎng)絡(luò)自動學(xué)習(xí)輸入的一對行人圖片是否為同一行人。
1.2基于度量學(xué)習(xí)的方法
用深度學(xué)習(xí)處理行人重識別問題時,度量學(xué)習(xí)是一種有效的方法。度量學(xué)習(xí)主要利用神經(jīng)網(wǎng)絡(luò)獲取行人特征,計算不同圖片的距離,判斷其相似度。其表現(xiàn)為同一行人的不同圖片相似度大于不同行人的不同圖片。常用的度量學(xué)習(xí)損失方法有對比損失,(Contrastive loss)[3]、三元組損失(Triplet loss)[4]。
首先,我們輸入的兩張圖片分別為[I1]和[I2],通過卷積神經(jīng)網(wǎng)絡(luò)提取特征并歸一化,所得的特征向量為[f1]和[f2]。計算這兩特征向量的歐氏距離得到:
[dI1,I2=||fI1-fI2||2] (1)
孿生網(wǎng)絡(luò)(Siamese network)常用在對比損失中。輸入為兩張隨機的圖片[Ia]和[Ib],每一對訓(xùn)練圖片都有一個標(biāo)簽[y],其中[y=0]表示的是他們屬于不同的行人,[y=1]表示兩張圖片屬于同一個行人。從而對比損失函數(shù)可以表示為:
[Lc=yd2Ia,Ib+(1-y)(a-dIa,Ib)2+] (2)
其中([Z)+]表示的是[max(z,0)],取[z]和0的最大值。閾值參數(shù)為[a],用于控制距離的大小。當(dāng)輸入為一對正樣本對,[d(Ia,Ib)]會慢慢變小,在向量空間中,同一行人圖片會漸漸聚類在一起。反之,當(dāng)輸入為負樣本對時,[d(Ia,Ib)]會逐漸變大直到超過[a]。因此,通過最小化[Lc],可以實現(xiàn)正樣本對之間的距離逐漸變小,負樣本對之間的距離逐漸變大。
目前,度量學(xué)習(xí)方法廣泛使用三元組損失(Triplet loss)函數(shù),后續(xù)也有大量工作對三元組損失函數(shù)進行改進。三元組損失需要三幅輸入樣本圖片。和對比損失不同,一個輸入的三元組(Triplet)的三幅樣本圖片分別命名為固定圖片(Anchor)[a],正樣本圖片(Positive)[p]和負樣本圖片(Negative)[n],這樣[a]和[p]就形成了一個同類樣本對,[a]和[n]就形成一個異類樣本對。所以三元組損失表示為:
[Lt=(da,p-da,n+a)+] (3)
三元組可以拉近正樣本對之間的距離,推開負樣本對之間的距離,最后使得同一行人圖片在特征空間里形成聚類。
2算法
2.1 標(biāo)簽平滑正則化
當(dāng)我們輸入的圖片經(jīng)過神經(jīng)網(wǎng)絡(luò)進行特征提取,然后進行歸一化后,輸入[x],模型計算得到類別為[k]的概率為:
[p(k|x)=exp(x)i=1kexp(zi)] (4)
假設(shè)真實分布為[q(k)],交叉熵損失(cross entropy loss)函數(shù)為:
[l=-k=1Klog(p(k))q(k)] (5)
最后最小化交叉熵等價最大化似然函數(shù),可得:
[?l?zk=p(k)-q(k)] (6)
假設(shè)[q(k)=δk,y],當(dāng)[k=y]時,[δk,y=1],當(dāng)[k≠y]時,[δk,y=0]。實際中,優(yōu)化時,對于邏輯輸出,使得達到[zy>>zk],[k≠y]。
這樣很容易導(dǎo)致模型對于預(yù)測結(jié)果太自信,從而容易出現(xiàn)過擬合(over-fitting),導(dǎo)致?lián)p失函數(shù)邏輯輸出的導(dǎo)數(shù)變大,降低模型的泛化能力。為了避免模型過于自信,引入一個獨立樣本分布的變量[q(k|x)=(1-ε)δk,y+εu(k)]實驗中使用均勻分部代替[u(k)],即[u(k)=1K]。
模型即輸出為:
[y=(1-ε)*y+ε/K] (7)
在本文實驗中,選擇K為標(biāo)簽類別數(shù)目。
2.2中心損失函數(shù)[5]
交叉熵損失函數(shù)可以表示為:
[LS=-i=1mlog(eWTyixi+byij=1neWTjxi+bj)] (8)
其中[wx+b]是全連接層的輸出,因此[log]的輸入就是表示[xi]屬于類別[yi]的概率。
中心損失(center loss)函數(shù)可以表示為:
[LC=12i=1m||xi-cyi||22] (9)
其中[Cyi]表示第[yi]個類別的特征中心,[xi]表示全連接層之前的特征。[m]表示mini-batch的大小,這個公式就是希望一個批量中每個樣本的特征離特征的中心距離的平方和要越小越好,也就是類內(nèi)距離要越小越好。
關(guān)于LC的梯度和cyi的更新公式如下:
[?LC?xi=xi-cyi] (10)
[Δcj=i=1mδ(yi=j)·(cj-xi)1+i=1mδ(yi=j)] (11)
其中[δ(condition)],當(dāng)condition滿足條件的時候為1,當(dāng)不滿足條件的時候為0。
上面關(guān)于[Cyi]的更新中,當(dāng)[yi]和[cj]類別不一樣的時候,[cj]不需要更新,當(dāng)兩者相同時才需要更新。
最后把交叉熵損失和中心損失合在一起,用[λ]控制比重,表達式為:
[L=LS+λLC] (12)
3實驗
3.1實驗公開數(shù)據(jù)集
Market1501[6]是最常用的行人重識別數(shù)據(jù)庫。所有的32668張圖片來自6個不同的攝像頭。分別在不同的時間、不同的光照、不同的試場條件下拍攝的。總共有1501個類別,其中751類為訓(xùn)練集,總共12936張圖片,剩余的750類為測試集,總共19732張圖片。
DukeMTMC-reID[7]數(shù)據(jù)集是由視頻序列等間隔采樣得到的。由8個攝像頭采集的一共36411張圖片,訓(xùn)練集圖片為16522張,測試集包含圖片19889張,包含查詢圖片2228張,搜索圖片17661張。數(shù)據(jù)庫包含1812類,其中1404類出現(xiàn)在超過三個以上的攝像頭,這些出現(xiàn)在多個攝像頭的圖片分為702類訓(xùn)練集和702類測試集,剩下的408類只出現(xiàn)在一個攝像頭下。
CUHK03[8]數(shù)據(jù)集取自5個不同視角對,共1467個行人的14000多張圖片。我們采用新的測試協(xié)議,類似于Marknet1501,它將數(shù)據(jù)集分為包含767個行人的訓(xùn)練集和包含700個行人的測試集。在測試階段,我們隨機選擇一張圖片作為query,剩下的作為gallery,這樣的話,對于每個行人,有多個ground truth在gallery中。
3.2性能指標(biāo)
在衡量行人重識別性能指標(biāo)時,累積匹配率,也叫CMC(Cumulative Matching Characteristic)曲線,通常用來度量其識別結(jié)果。其具體步驟是先對查詢集中指定對象和候選集中的每個對象進行距離計算,接著對所計算得到的距離進行升序排名,排名后,對比查找對象是否是同一個行人,排名位置越靠前,則說明算法的識別效果越好。通過CMC曲線,可以清晰地看出隨著樣本數(shù)目的增加,識別性能的變化情況。CMC曲線表示在匹配前k個結(jié)果中,模型找出正確圖片的概率值。橫坐標(biāo)表示排名得分,縱坐標(biāo)表示識別率。例如,Rank-k的識別率為P,表示正確的目標(biāo)在排名結(jié)果的前k名的概率為P。通常在評價模型的行人重識別率時,我們考慮的是Rank-1~Rank-10,尤其關(guān)注第一個點的行人重識別率,即Rank-1,為第一次匹配成功的概率。可以代表行人重識別算法的真正識別性能。因此,CMC曲線的位置越高,識別效果越好。
現(xiàn)在給一個含有M個行人樣本的查詢集Q,[T=(t1,t2,...,ti,...,tn)]是根據(jù)距離的大小得到的[n]個候選集的排名列表,[ri]是排名列表T中[ti]所對應(yīng)的序號,則CMC曲線可以根據(jù)下列公式得出:
[CMC(n)=1Mi=1M1,ri≤n0,ri≥n(n=1,2,...,N)] (13)
平均準(zhǔn)確率mAP(mean average precision)反應(yīng)檢索的人在數(shù)據(jù)庫中所有正確的圖片排在排序列表前面的程度,能更加全面的衡量ReID算法的性能。
3.3實驗內(nèi)容
為了驗證本算法的有效性,本文所有的實驗均在電腦配置為64位ubuntu 16.04系統(tǒng),Inter Core i7-3770CPU4GHz*8 ,內(nèi)存8GB,顯卡GTX TITAN X。
基礎(chǔ)學(xué)習(xí)速率設(shè)為0.0003,迭代周期設(shè)為120,訓(xùn)練批量設(shè)為20,測試批量設(shè)為20,使用cpython進行測試,比普通的python測試快近22倍,使用殘差網(wǎng)絡(luò)ResNet50為底層框架,并將最后一個conv blockde stride從2改為1 [10],這樣網(wǎng)絡(luò)的參數(shù)并不會變化,但是可以得到比原來大一倍的特征圖,這樣可以使得模型的準(zhǔn)確率提高約0.8%。其次增加一個部分bottleneck,在全連接分類層的基礎(chǔ)上加一個結(jié)構(gòu)(3.2),添加了一個[bn](batchnorm)批規(guī)范化,其目的是對網(wǎng)絡(luò)做歸一化,利于網(wǎng)絡(luò)訓(xùn)練,添加的Dropout(0.5)是為了提高模型的泛化能力,以P=0.5的概率隨機選擇神經(jīng)元。在行人重識別中,數(shù)據(jù)集都特別小,這樣在訓(xùn)練時,由于樣本數(shù)少,而用很深的網(wǎng)絡(luò),訓(xùn)練參數(shù)多,這樣很容易出現(xiàn)過擬合問題,加入Dropout可以有效防止過擬合。
[Linear(2048,512)->bn->LeakeyReLU(0.1)->Dropout(0.5)]
(14)
我們以交叉熵損失函數(shù)為基礎(chǔ),加入了標(biāo)簽平滑正則化方法。與此同時,在中心損失函數(shù)基礎(chǔ)上,結(jié)合交叉熵損失函數(shù)和標(biāo)簽平滑規(guī)則方法。分別在Market1501,DukeMTMC-reID,CUHK03數(shù)據(jù)集上,使用Resnet50為base model來進行實驗,實驗結(jié)果分別如表1、表2、表3所示。
在這里我們只討論各個數(shù)據(jù)集使用不同損失的mAP和Rank-1情況。
在Market1501數(shù)據(jù)集上,在交叉熵損失中加入標(biāo)簽平滑正則化方法,mAP可以提高4.1%,Rank-1可以提高3.3%。在中心損失的基礎(chǔ)上加入標(biāo)簽平滑正則化方法,mAP可以提高5.7%,Rank-1可以提高3.9%;
在DukeMTMC-reID數(shù)據(jù)集上,在交叉熵損失中加入標(biāo)簽平滑正則化方法,mAP可以提高5.3%,Rank-1可以提高4.7%;在中心損失的基礎(chǔ)上加入標(biāo)簽平滑正則化方法,mAP可以提高4.1%,Rank-1可以提高4.9%;
在CUHK03數(shù)據(jù)集上,在交叉熵損失中加入標(biāo)簽平滑正則化方法,mAP可以提高6.2%,Rank-1可以提高6.9%;在中心損失的基礎(chǔ)上加入標(biāo)簽平滑正則化方法,mAP可以提高2.2%,Rank-1可以提高4.5%。
通過以上三個數(shù)據(jù)集,以及對比兩組融合了標(biāo)簽平滑規(guī)則的損失函數(shù),可以明顯地看出該方法可以提高行人重識別率。
4 結(jié)論
本文主要采用了一種標(biāo)簽平滑正則化方法,對交叉熵損失函數(shù)進行優(yōu)化,同時優(yōu)化網(wǎng)絡(luò),增大特征圖,加入歸一化,加入Dropout等能有效解決模型的過擬合問題,提高模型的泛化能力,提高魯棒性。今后的研究方向和重點是在現(xiàn)有的模型的基礎(chǔ)上改進特征提取網(wǎng)絡(luò),進行模型的多特征融合,進一步提高行人重識別率。
參考文獻:
[1]彭志勇,常發(fā)亮,劉洪彬,等.基于HSV模型和特征點匹配的行人重識別算法[J].光電子·激光, 2015(8):1575-1582.
[2]周飛燕,金林鵬,董軍.卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J].計算機學(xué)報,2017,40(6):1229-1251.
[3]Hadsell R , Chopra S , Lecun Y . Dimensionality Reduction by Learning an Invariant Mapping[C]// Computer Vision and Pattern Recognition, 2006 IEEE Computer Society Conference on. IEEE, 2006.
[4]Cheng D , Gong Y , Zhou S , et al. Person Re-identification by Multi-Channel Parts-Based CNN with Improved Triplet Loss Function[C]// Computer Vision & Pattern Recognition. IEEE, 2016.
[5]Wen Y , Zhang K , Li Z , et al. A Discriminative Feature Learning Approach for Deep Face Recognition[M]// Computer Vision – ECCV 2016. Springer International Publishing, 2016.
[6]Zhang L , Xiang T , Gong S . Learning a Discriminative Null Space for Person Re-identification[J]. 2016.
[7]Gou M , Karanam S , Liu W , et al. DukeMTMC4ReID: A Large-Scale Multi-camera Person Re-identification Dataset[C]// Computer Vision & Pattern Recognition Workshops. IEEE, 2017.
[8]Liao S , Hu Y , Zhu N X , et al. Person re-identification by Local Maximal Occurrence representation and metric learning[C]// 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE Computer Society, 2015.
[9]Paisitkriangkrai S , Shen C , Hengel A V D . Learning to rank in person re-identification with metric ensembles[J]. 2015.
[10]Sun Y , Zheng L , Yang Y , et al. Beyond Part Models: Person Retrieval with Refined Part Pooling (and a Strong Convolutional Baseline)[C]// European Conference on Computer Vision. Springer, Cham, 2018.
【通聯(lián)編輯:唐一東】