張師林,曹 旭
北方工業(yè)大學(xué) 城市道路交通智能控制技術(shù)北京市重點(diǎn)實(shí)驗(yàn)室,北京 100144
行人重識(shí)別是廣域視頻監(jiān)控中的一項(xiàng)重要任務(wù),其目的是跨攝像頭識(shí)別出同一個(gè)人,在交通、公共安全和視頻監(jiān)控方面發(fā)揮著重要作用。如果當(dāng)前有一個(gè)需要查詢的人,行人重識(shí)別任務(wù)需要從部署在不同位置的多個(gè)攝像頭收集的數(shù)據(jù)中排列出最可能的目標(biāo)。行人重識(shí)別難點(diǎn)在于人體姿勢(shì)、照明和視野的不同所引起的行人姿態(tài)和外觀的變化,攝像頭的差異性是也一個(gè)重要的因素,它對(duì)行人重識(shí)別的準(zhǔn)確性有很大的影響。本文是基于Camstyle[1]實(shí)現(xiàn)的,利用傳統(tǒng)方法,如kissme[2]、xqda[3]等很難去解決以上問題。近年來,深度學(xué)習(xí)方法[4-8]得到了很好的效果,文獻(xiàn)[4]提出了預(yù)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)模型在行人數(shù)據(jù)庫(kù)上進(jìn)行微調(diào)的方法,從而得到高維的深層行人特征。以上方法都利用深度學(xué)習(xí)得到特征,將行人重識(shí)別作為一項(xiàng)排名任務(wù)。
有限數(shù)量的樣本和不同攝像頭存在的差異使深度學(xué)習(xí)的方法沒有更好體現(xiàn)其優(yōu)勢(shì)。根據(jù)文獻(xiàn)[9]總結(jié),在數(shù)據(jù)集Market-1501[10]中每個(gè)人的樣本數(shù)量平均只有17.2張圖片,數(shù)據(jù)集CUHK03[11]樣本數(shù)量為9.6張圖片,數(shù)據(jù)集DukeMTMC[12]樣本數(shù)量為23.5張圖片,這將導(dǎo)致深度學(xué)習(xí)方法出現(xiàn)過擬合現(xiàn)象。為了克服這些問題,在CycleGAN[13]啟發(fā)下,提出了攝像頭風(fēng)格學(xué)習(xí)的方法。在一組攝像頭收集的圖像樣本中,每個(gè)攝像頭收集的圖像樣本都可以通過CycleGAN網(wǎng)絡(luò)轉(zhuǎn)換成其他攝像頭風(fēng)格的圖像。在Market-1501中,數(shù)據(jù)集的收集是由6個(gè)不同位置的攝像頭完成的,1個(gè)攝像頭拍攝的圖像通過CycleGAN網(wǎng)絡(luò)可以被轉(zhuǎn)換為其他5個(gè)攝像頭的風(fēng)格,轉(zhuǎn)換后的圖像使用其原圖像的標(biāo)簽,真實(shí)的圖像和轉(zhuǎn)換風(fēng)格后的圖像組合成新的訓(xùn)練集。如圖1所示,引入攝像機(jī)風(fēng)格轉(zhuǎn)換圖像,深度學(xué)習(xí)模型可以學(xué)習(xí)更多的特征,得到更豐富的行人信息,本文方法應(yīng)用triplet loss做度量學(xué)習(xí)獲取有區(qū)分力的特征,兩者結(jié)合可以增加類內(nèi)樣本的多樣性,使類內(nèi)更凝聚,增大類間距,并提高模型的泛化能力。
圖1 Market-1501數(shù)據(jù)集風(fēng)格轉(zhuǎn)換后分類結(jié)果
全局特征學(xué)習(xí)是從圖像樣本上提取代表全身的特征信息,并得到最顯著的外觀線索以此來表示人的身份信息。但是,在多變的環(huán)境中,一些重要的細(xì)節(jié)信息往往被忽略,這可能會(huì)影響識(shí)別的準(zhǔn)確性。為了解決這一問題,本文提出了多粒度損失來增強(qiáng)攝像頭風(fēng)格學(xué)習(xí)得到的特征信息,以此方法可以將全局信息和局部信息在不同的粒度上相結(jié)合,得到更多的細(xì)節(jié)信息,對(duì)全局信息補(bǔ)充,并一定程度上降低行人樣本不對(duì)齊對(duì)識(shí)別準(zhǔn)確度的影響。訓(xùn)練樣本由粗粒度到細(xì)粒度劃分如圖2所示,不同粒度的分區(qū)使信息內(nèi)容有多樣性,通過多粒度特征和全局特征相結(jié)合,可以得到更有區(qū)分力的行人特征。
圖2 多粒度分割
本文方法的貢獻(xiàn)主要有兩方面。首先,提出了攝像頭風(fēng)格學(xué)習(xí),它不僅消除了攝像機(jī)的風(fēng)格差異,減少了CNN過擬合的影響,還增加了訓(xùn)練樣本的多樣性,提高了模型的泛化能力。其次,將多粒度特征和全局特征結(jié)合起來,得到更多的細(xì)節(jié)信息,對(duì)全局信息進(jìn)行補(bǔ)充,并提高識(shí)別準(zhǔn)確度。實(shí)驗(yàn)結(jié)果表明,該方法具有良好的性能。在Market-1501數(shù)據(jù)集上,Rank1的準(zhǔn)確率為96.1%,mAP的準(zhǔn)確率為93.8%,獲得了當(dāng)前已發(fā)表最高準(zhǔn)確度。
隨著深度學(xué)習(xí)的不斷發(fā)展,很多深度學(xué)習(xí)的方法在行人重識(shí)別領(lǐng)域被提出,如文獻(xiàn)[14-18],文獻(xiàn)[14]提出了一種基于特征融合的行人重識(shí)別方法,融合后的特征對(duì)行人圖像具有更好的表述能力。文獻(xiàn)[16]提出超分辨率特征映射的方法,可以使低清的probe圖像得到高清特征。訓(xùn)練分類模型是一種有效的方法,可以充分利用行人的標(biāo)簽,如文獻(xiàn)[19-25],文獻(xiàn)[19]提出了IDE方法,將行人重識(shí)別問題作為圖像分類問題,并使用了ImageNet[26]預(yù)訓(xùn)練模型。文獻(xiàn)[27]隨機(jī)擦除輸入訓(xùn)練樣本圖像中的矩形區(qū)域,可防止模型過擬合,使模型更具魯棒性。文獻(xiàn)[28]從其他數(shù)據(jù)集中隨機(jī)選擇偽積極樣本作為附加訓(xùn)練樣本,結(jié)合局部特征得到一個(gè)更有區(qū)分力的行人特征,并提出RPP方法,對(duì)局部特征重修正調(diào)整。
獲取數(shù)據(jù)困難和容易出現(xiàn)過擬合是行人重識(shí)別的重要問題,針對(duì)這些問題,人們提出了幾種基于生成對(duì)抗網(wǎng)絡(luò)的數(shù)據(jù)增強(qiáng)方法和正則化方法。文獻(xiàn)[9]提出LSRO方法,將GAN網(wǎng)絡(luò)生成的無標(biāo)簽虛假圖像與真實(shí)有標(biāo)簽的原訓(xùn)練集結(jié)合作為新的訓(xùn)練集,以實(shí)現(xiàn)半監(jiān)督學(xué)習(xí)。文獻(xiàn)[29]使用GAN網(wǎng)絡(luò)實(shí)現(xiàn)跨數(shù)據(jù)集的背景遷移。姿態(tài)多變性是行人重識(shí)別的難點(diǎn)之一,為了克服這個(gè)問題,文獻(xiàn)[10]使用GAN網(wǎng)絡(luò)生成了8個(gè)姿勢(shì)的圖像樣本,用來代表所有攝像頭視角的行人姿勢(shì)。文獻(xiàn)[30]使用條件GANs學(xué)習(xí)從輸入到輸出圖像的映射。文獻(xiàn)[31]提出了新的GAN網(wǎng)絡(luò)SPGAN,它可以將生成的圖像結(jié)合行人重識(shí)別loss來解決區(qū)域偏差問題。文獻(xiàn)[32]提出了一個(gè)新的數(shù)據(jù)集SyRI,通過更改HDR等參數(shù),可以生成100多個(gè)環(huán)境中的行人樣本數(shù)據(jù)。文獻(xiàn)[33]提出區(qū)域轉(zhuǎn)換網(wǎng)絡(luò),在保留原始樣本身份的同時(shí),結(jié)合多類GAN損失來生成不可見區(qū)域的圖像樣本。Camstyle與本文的工作更為相似,但本文的方法與之不同,Camstyle主要考慮生成樣本的質(zhì)量,本文使用triplet loss結(jié)合風(fēng)格轉(zhuǎn)換樣本來提高行人重識(shí)別的性能。
人臉對(duì)齊已經(jīng)被深入研究,文獻(xiàn)[34]提出了一種無監(jiān)督方法,根據(jù)其他圖像的分布來對(duì)齊臉部,然后用卷積RBM表述符對(duì)該方法做進(jìn)一步提升。在行人重識(shí)別中,對(duì)行人進(jìn)行檢測(cè)時(shí)會(huì)引入過多的背景信息,還可能出現(xiàn)圖像部分缺失的情況,所以,行人對(duì)齊是實(shí)現(xiàn)更高識(shí)別精度的必要方法。早期已經(jīng)有幾個(gè)工作提出了行人對(duì)齊的方法,如身體各部位對(duì)應(yīng)匹配[2,11],相比與早期的行人對(duì)齊工作,文獻(xiàn)[25]通過深度學(xué)習(xí)的方法得到用于仿射變換的6維向量,網(wǎng)絡(luò)可以自動(dòng)對(duì)輸入圖像進(jìn)行矯正,行人對(duì)齊和行人識(shí)別有一個(gè)好的相互作用,行人識(shí)別準(zhǔn)確度越高,行人對(duì)齊效果也會(huì)越好,而當(dāng)行人對(duì)齊好的時(shí)候,行人識(shí)別也會(huì)得到好的準(zhǔn)確度,此方法相比之前的方法也獲得了更高的準(zhǔn)確度。以上工作都對(duì)輸入樣本的形態(tài)進(jìn)行了改變,行人圖像樣本在對(duì)齊的過程中會(huì)出現(xiàn)一定的扭曲,這樣會(huì)對(duì)識(shí)別準(zhǔn)確度造成一定影響。與上述工作不同,本文是從另一角度解決行人對(duì)齊問題。在文獻(xiàn)[35]的啟發(fā)下,設(shè)計(jì)了多粒度損失來解決行人對(duì)齊問題。
圖3 網(wǎng)絡(luò)結(jié)構(gòu)圖
本章將分別介紹網(wǎng)絡(luò)結(jié)構(gòu)和方法的實(shí)現(xiàn)過程,總體框架如圖3所示。圖中分為4分支,第一分支使用triplet loss,其他分支使用cross-entropy loss。
使用resnet-50[36]作為主網(wǎng)絡(luò),并使用文獻(xiàn)[1]中的訓(xùn)練策略,該策略使用Imagenet[26]為預(yù)訓(xùn)練模型。對(duì)resnet-50做了一些改變:(1)全局平均池化層之前的結(jié)構(gòu)與resnet-50模型相同保持不變,只將最后一個(gè)卷積層的卷積步幅改為1,不同于Imagenet的多物種分類,行人重識(shí)別可以歸屬為細(xì)粒度的類內(nèi)識(shí)別,卷積步幅為1可以得到更多的細(xì)節(jié)特征,更好地表述不同人的信息。(2)刪除了全局平均池化層并改為對(duì)應(yīng)不同分支的池化層,(3)在主網(wǎng)絡(luò)后添加了一個(gè)1×1卷積層和一個(gè)全連接層。卷積層用來減少特征維度,卷積后,通道數(shù)從2 048變?yōu)?56,然后接BN層[37]并使用ReLU激活,BN層用于參數(shù)歸一化,并緩解過擬合。全連接層有兩種,一種的輸出維度是128,用于triplet loss度量學(xué)習(xí),命名為“FC-128”,另一種的輸出維度等于訓(xùn)練集中行人身份的數(shù)量,用于cross-entropy loss分類,命名為“FC-#ID”。
在圖3中,包含4個(gè)分支。第一個(gè)分支的輸入為原訓(xùn)練集樣本和由原訓(xùn)練樣本風(fēng)格轉(zhuǎn)換后的樣本。在訓(xùn)練過程中,將原訓(xùn)練集樣本和風(fēng)格轉(zhuǎn)換后樣本歸為同一身份標(biāo)簽。其他分支與第一分支的不同處包括有:(1)它們含有不同的粒度。第一個(gè)分支使用全局特征,而第二個(gè)分支和第三個(gè)分支分使用局部特征,最后一個(gè)分支沒有分割,但使用了不同的損失函數(shù)。(2)全連接層由“FC-#ID”代替“FC-128”。(3)使用cross-entropy loss代替triplet loss。所以,網(wǎng)絡(luò)有兩個(gè)損失函數(shù):用于分類的cross-entropy loss和用于相似性度量學(xué)習(xí)的triplet loss。對(duì)于有標(biāo)簽的訓(xùn)練集樣本,IDE[19]是有效的訓(xùn)練方法,可以利用cross-entropy loss將訓(xùn)練過程轉(zhuǎn)化為一個(gè)分類問題,cross-entropy loss可以表示為:
ns表示每一批次送入網(wǎng)絡(luò)訓(xùn)練的樣本數(shù)量,pi(y)是輸入樣本類別屬于y的概率值。
對(duì)于相似性度量學(xué)習(xí),采用了文獻(xiàn)[38]中的triplet loss,triplet loss可以設(shè)置margin,margin可以控制正負(fù)樣本的距離,使類內(nèi)距離趨小,類間距離趨大,當(dāng)行人圖像特征歸一化后,可以通過設(shè)置閾值來更好地判斷行人身份是否屬于同一個(gè)ID,結(jié)合CycleGAN生成的數(shù)據(jù),訓(xùn)練樣本增多可以使triplet loss不易出現(xiàn)過擬合現(xiàn)象,提高訓(xùn)練后模型的泛化性,公式可以表示為:
X表示為在一批次中訓(xùn)練時(shí)輸入的圖像,xa是一個(gè)錨點(diǎn),xa和xp屬于同一類別,它們形成了一個(gè)積極的訓(xùn)練對(duì),xa和xn屬于不同的類別,它們形成了一個(gè)消極的訓(xùn)練對(duì),m是一個(gè)距離參數(shù),它可以拉近同類別之間的距離并限制不同類別之間的距離,d(?)表示兩個(gè)圖像樣本在特征映射空間的歐式距離。設(shè)置m為0.3,并將全連接層FC-128的輸出特征作為嵌入特征用來計(jì)算triplet loss。
由不同攝像頭造成的圖像風(fēng)格變化是影響行人重識(shí)別準(zhǔn)確性的重要因素。在訓(xùn)練集中,同一身份行人的樣本數(shù)量很少,但包含了很多的圖像風(fēng)格,這樣訓(xùn)練后的模型不會(huì)對(duì)行人圖像產(chǎn)生一個(gè)好的特征表述,為解決這個(gè)問題,采用攝像頭風(fēng)格學(xué)習(xí)方法。真實(shí)圖像和攝像頭風(fēng)格學(xué)習(xí)生成的圖像示例如圖4所示,訓(xùn)練集被增強(qiáng)為原圖像和風(fēng)格轉(zhuǎn)換圖像的組合,生成的虛假圖像填補(bǔ)了真實(shí)數(shù)據(jù)點(diǎn)之間的空白,并在特征空間中擴(kuò)展了類邊界,增強(qiáng)后的數(shù)據(jù)集可以使生成的嵌入特征對(duì)類別的分布有一個(gè)更好的表述。
圖4 風(fēng)格轉(zhuǎn)換
本文方法中,通過攝像頭j(j∈1,2,…,C)收集真實(shí)圖像樣本xs,j,C是所用數(shù)據(jù)集中使用攝像頭的數(shù)量,{xs*,i|i∈1,2,…,C?i≠j},在訓(xùn)練過程中將xs,j和生成的假圖像設(shè)置為同一類別。為簡(jiǎn)單起見,省略了攝像頭的下標(biāo),使用真實(shí)圖像樣本聯(lián)合生成的假圖像樣本來計(jì)算triplet loss,損失函數(shù)可以表示為:
ns是一個(gè)訓(xùn)練批次中真實(shí)圖像樣本的數(shù)量,ns*是生成的圖像樣本的數(shù)量。在實(shí)驗(yàn)中,如果數(shù)據(jù)集是被C個(gè)攝像頭收集的,那么對(duì)于每一個(gè)真實(shí)圖像樣本都會(huì)生成C-1個(gè)假圖像樣本。
λ為損失函數(shù)LT所占的權(quán)重,triplet loss是必不可少的,它可以使模型獲得更有區(qū)分力的特征,如果沒有triplet loss,訓(xùn)練后得到的結(jié)果會(huì)受到很大的影響。
如圖5所示,圖中用softmax表示cross-entropy loss,如果只使用cross-entropy loss,會(huì)出現(xiàn)類內(nèi)距離大于類間距離的現(xiàn)象,影響識(shí)別準(zhǔn)確度,通過結(jié)合triplet loss,可以使類內(nèi)距離更緊湊,增加類間距離,提高識(shí)別準(zhǔn)確度。
圖5 加入triplet loss對(duì)分類效果的影響
在行人重識(shí)別中,用于訓(xùn)練的圖像樣本是通過攝像頭拍攝的,場(chǎng)景比較復(fù)雜,全局特征得到的是一個(gè)整體性的圖像表述,這樣去區(qū)分圖像的前景和背景就比較困難,特別是當(dāng)有遮擋,光線劇烈變化等情況發(fā)生時(shí),全局特征可能就被破壞了,以上分析可知,只考慮全局特征可能會(huì)忽視掉重要的細(xì)節(jié)特征。在3.2節(jié)的基礎(chǔ)上,將多粒度特征與全局特征相結(jié)合,不同的分區(qū)數(shù)量,代表圖像信息的多樣性,隨著分區(qū)數(shù)量的增加,局部特征能夠更集中地去表現(xiàn)所在分區(qū)的特征信息,從而過濾其他區(qū)域的信息,這樣可以學(xué)習(xí)到更多重要的細(xì)節(jié)信息,并且通過不同粒度的結(jié)合又不會(huì)丟失局部信息與整體信息的聯(lián)系。如圖3所示,模型的網(wǎng)絡(luò)結(jié)構(gòu)以resnet-50為主干,替換其全局平均池化層后接分支網(wǎng)絡(luò),四分支共享主干的網(wǎng)絡(luò)參數(shù),所以增加多粒度后模型計(jì)算的復(fù)雜度不會(huì)提升很多,第一個(gè)分支損失函數(shù)可以表示為L(zhǎng)T,其他分支可以分別表示為,Cross-entropy loss函數(shù)可以表示為:
上面的損失函數(shù)包含有7個(gè)損失,LCross為第二、第三、第四分支所有損失函數(shù)的集合,它包含了6個(gè)損失,具體表示形式為公式(5),λ是損失函數(shù)LT的權(quán)重,改變?chǔ)酥祵?duì)識(shí)別準(zhǔn)確度有較大的影響,圖6顯示了使用不同λ值對(duì)重識(shí)別準(zhǔn)確度的影響,這里設(shè)置λ為0.1。LT為第一分支的損失函數(shù),用于樣本間的度量學(xué)習(xí),可以得到更有區(qū)分力的特征,具體表現(xiàn)形式為公式(3)。多粒度損失結(jié)合攝像頭風(fēng)格學(xué)習(xí)能更好地表述圖像的細(xì)節(jié),降低相機(jī)差異的影響。
行人重識(shí)別數(shù)據(jù)集由不同人的圖像組成,每個(gè)人都有不同數(shù)量的圖像樣本。通常情況下,每批次訓(xùn)練并沒有對(duì)每個(gè)ID的樣本數(shù)量進(jìn)行限制,訓(xùn)練數(shù)據(jù)是從全部訓(xùn)練集中隨機(jī)選取的,這樣就會(huì)使輸入的訓(xùn)練數(shù)據(jù)對(duì)于每個(gè)ID不平等,擁有更多圖像樣本的ID訓(xùn)練的次數(shù)就越多,圖像樣本越少的ID訓(xùn)練得越少。
這樣訓(xùn)練出來的模型會(huì)對(duì)擁有更多圖像樣本的ID提供更多的信息,但是每個(gè)人都應(yīng)具有同樣的重要性,應(yīng)該受到平等的對(duì)待,所以,引入了均衡采樣策略。對(duì)于每一批次的訓(xùn)練樣本,隨機(jī)選擇P個(gè)不同的人,對(duì)選擇的每一個(gè)人隨機(jī)抽取K個(gè)訓(xùn)練樣本,這樣每一批次的訓(xùn)練圖像樣本個(gè)數(shù)為P×K,在所有ID都被取樣之后,認(rèn)為完成了一個(gè)epoch。這種均衡采樣策略與文獻(xiàn)[38]中提出的策略相似,但在本文中是使用它來消除類之間的不平衡。這樣,對(duì)于有更多圖像的人,只是忽略了圖像多出的部分,以后的采樣也能抽取到未被采樣的樣本,而對(duì)于圖像較少的人,可以多次使用相同的圖像,這種方法保證在訓(xùn)練過程中每一批次每個(gè)ID都有相同數(shù)量的訓(xùn)練樣本。
圖6 λ對(duì)準(zhǔn)確度的影響
本文通過CycleGAN生成可用于訓(xùn)練的攝像頭風(fēng)格轉(zhuǎn)換圖像,增加了訓(xùn)練數(shù)據(jù)的多樣性,結(jié)合triplet loss使類內(nèi)樣本更緊湊,增加類間距離,減少類內(nèi)距離大于類間距離的情況,起到了聚類的作用,多粒度特征可以對(duì)全局特征做一個(gè)補(bǔ)充,學(xué)習(xí)全局特征可以獲得行人圖像比較粗糙的信息,對(duì)一些細(xì)節(jié)信息不會(huì)有好的表述,多粒度特征可以對(duì)行人圖像樣本局部區(qū)域進(jìn)行更精細(xì)的表述,不同分區(qū)的分支所獲取的特征結(jié)合全局特征形成更有區(qū)分力的行人特征,從而提高識(shí)別準(zhǔn)確度。
本文主要在 Market-1501[10]和 DukeMTMC-reID[12]數(shù)據(jù)集中驗(yàn)證了提出的方法,這兩個(gè)數(shù)據(jù)集都是大型數(shù)據(jù)集并對(duì)每張圖像樣本提供了攝像頭的標(biāo)簽。
Market-1501是一個(gè)大型的行人重識(shí)別數(shù)據(jù)集,是由校園中的6個(gè)不同位置攝像頭收集的圖像樣本組成。它包含了32 668圖像樣本,這些樣本屬于1 501個(gè)ID。數(shù)據(jù)集分為兩個(gè)部分,訓(xùn)練集和測(cè)試集,訓(xùn)練集包含12 936個(gè)圖像樣本,它們屬于751個(gè)ID,測(cè)試集包含19 732個(gè)圖像樣本,它們屬于750個(gè)ID。這些圖像由DMP[39]方式獲取,所以會(huì)有很多的圖像并不對(duì)齊。訓(xùn)練集中每個(gè)ID平均有17.2張圖像。測(cè)試集中選取3 368個(gè)樣本作為查詢圖像,它們分屬750個(gè)ID,在實(shí)驗(yàn)中使用單查詢方式評(píng)估結(jié)果。
DukeMTMC-reID是新發(fā)布的多目標(biāo)多攝像頭行人跟蹤數(shù)據(jù)集的一個(gè)子集。原始數(shù)據(jù)集包含8個(gè)不同攝像頭拍攝的85 min高分辨率視頻。本數(shù)據(jù)集是從視頻中剪切行人圖像獲取的,每120幀剪切一次行人圖像樣本。數(shù)據(jù)集由36 411個(gè)行人圖像樣本組成,這些樣本屬于1 404個(gè)ID。與Market-1501數(shù)據(jù)集的劃分類似,數(shù)據(jù)集包含來自702個(gè)ID的16 522個(gè)訓(xùn)練圖像樣本,來自其他702個(gè)ID的2 228個(gè)查詢圖像樣本和17 661個(gè)待匹配的圖像庫(kù)樣本。
所有實(shí)驗(yàn)是在Pytorch框架實(shí)現(xiàn)的,硬件基礎(chǔ)為GeForce GTX TITAN GPU。
4.2.1 攝像頭風(fēng)格轉(zhuǎn)換模型
對(duì)于數(shù)據(jù)集Market-1501,它是由6個(gè)攝像頭收集的數(shù)據(jù)樣本,所以需要訓(xùn)練15個(gè)CycleGAN模型。對(duì)于DukeMTMC-reID,它由8個(gè)攝像頭收集的數(shù)據(jù)樣本,所以需要訓(xùn)練28個(gè)CycleGAN模型。在訓(xùn)練時(shí),輸入圖像的像素設(shè)置為256×256,并且使用隨機(jī)翻轉(zhuǎn)和隨機(jī)擦除來進(jìn)行數(shù)據(jù)增強(qiáng)。使用Adam[40]優(yōu)化器進(jìn)行參數(shù)更新,需要訓(xùn)練50個(gè)epoch,前30個(gè)epoch,辨別器和生成器分別設(shè)置學(xué)習(xí)率為lr=0.000 1和lr=0.000 2,在剩下的20個(gè)epoch中學(xué)習(xí)率線性衰減到零。
4.2.2 行人重識(shí)別模型
輸入圖像大小調(diào)整為256×128像素。使用隨機(jī)剪切、隨機(jī)翻轉(zhuǎn)和隨機(jī)擦除做數(shù)據(jù)增強(qiáng)。將Dropout rate設(shè)置為0.5,使用SGD優(yōu)化器,并將momentum設(shè)置為0.9,權(quán)重衰減因子設(shè)置為5E?4,并將Nesterov設(shè)置為true。訓(xùn)練時(shí)初始學(xué)習(xí)率設(shè)置為0.06,在訓(xùn)練100個(gè)epoch和150個(gè)epoch后分別衰減為6E?3和6E?4,在完成200個(gè)epoch后停止訓(xùn)練。每一個(gè)訓(xùn)練批次分別取64個(gè)真實(shí)圖像樣本和32個(gè)生成的圖像樣本,隨機(jī)選擇P個(gè)不同的人,對(duì)選擇的每一個(gè)人隨機(jī)抽取K個(gè)訓(xùn)練樣本,本文K設(shè)置為4,所以對(duì)于真實(shí)圖像和生成圖像P分別為16和8,使用真實(shí)圖像訓(xùn)練分類模型計(jì)算crossentropy loss,使用真實(shí)圖像和生成圖像相結(jié)合計(jì)算triplet loss。在測(cè)試中,使用歐式距離去計(jì)算查詢圖像和圖像庫(kù)樣本的相似性。
添加多粒度損失,需要在以上基礎(chǔ)做適當(dāng)修改,輸入圖像的大小調(diào)整為384×192像素。訓(xùn)練初始學(xué)習(xí)率設(shè)為0.1,經(jīng)過50和100個(gè)epoch的后學(xué)習(xí)率分別衰減為3E?2和3E?3,完成150個(gè)epoch后停止訓(xùn)練。每一個(gè)訓(xùn)練批次分別取32個(gè)真實(shí)圖像樣本和16個(gè)生成的圖像樣本。如圖3所示,在測(cè)試中,將所有分支的輸出特征連接在一起作為最終特征,最后進(jìn)行距離對(duì)比排序。
Triplet loss的權(quán)重λ是一個(gè)重要的參數(shù)。如圖6所示,當(dāng)設(shè)置λ為0.1時(shí)Rank-1和mAP達(dá)到了最佳結(jié)果所以這里設(shè)置λ為0.1。
在表1和表2中將提出的方法分別在Market-1501和DukeMTMC-reID數(shù)據(jù)集上與已發(fā)布的方法進(jìn)行了比較。與現(xiàn)有技術(shù)相比,本文的方法取得了很好的效果。在Market-1501測(cè)試中,Rank-1為95.3%,mAP為86.1%,超過PCB+RPP方法分別為1.5%、4.5%。在DukeMTMC-reID上,Rank-1為88.1%,mAP為76.4%,Rank-1超過DNN_CRF方法3.2%,mAP超過PSE+ECN方法0.7%。在Market-1501數(shù)據(jù)集上使用re-ranking方法后,Rank-1的準(zhǔn)確率為96.1%,mAP的準(zhǔn)確率為93.8%。
從表1和表2的結(jié)果可以看出,單使用攝像頭風(fēng)格學(xué)習(xí)(CSL)方法,訓(xùn)練后就可以得到更有區(qū)分度的特征,在所測(cè)試的兩個(gè)數(shù)據(jù)集中,結(jié)果都好于原Camstyle方法,并且提升很明顯。此方法可以獲得更多的訓(xùn)練數(shù)據(jù),并增加類間距離,減少單使用cross-entropy loss所出現(xiàn)的類內(nèi)間距大于類間間距的情況,實(shí)際效果如圖5所示。
在結(jié)合多粒度損失(MGL)后,準(zhǔn)確度在單使用CSL的基礎(chǔ)上又有了可觀的提升,在數(shù)據(jù)集Market-1501上,Rank-1和mAP分別提升了2.1%和7%,在數(shù)據(jù)集Duke MTMC-re ID上,Rank-1和mAP分別提升了6.6%和14.3%,多粒度損失可以對(duì)行人的細(xì)節(jié)特征做更好的表述,通過不同的粗細(xì)粒度,可以增加局部與全局不同維度的關(guān)聯(lián)性,使模型的泛化性進(jìn)一步增強(qiáng),從而有效提升重識(shí)別的準(zhǔn)確度。
在圖7中,可以看到在Market-1501數(shù)據(jù)集上4個(gè)查詢圖像的檢索結(jié)果,綠色框代表正確為同一身份,紅色框代表錯(cuò)誤為不同身份,可以看出本文方法能夠有效地檢索出與查詢圖像同一身份的人。
表1 Market-1501對(duì)比實(shí)驗(yàn)結(jié)果%
表2 DukeMTMC-reID對(duì)比實(shí)驗(yàn)結(jié)果%
圖7 相似性度量排序后可視化結(jié)果
本文方法對(duì)行人重識(shí)別主要有兩方面貢獻(xiàn)。首先,提出攝像頭風(fēng)格學(xué)習(xí)獲得有區(qū)分力的行人特征,其次,多粒度損失與攝像頭風(fēng)格學(xué)習(xí)相結(jié)合可以更好地表述圖像的細(xì)節(jié)信息,減少過擬合的影響,并且進(jìn)一步提高精度。在Market-1501和DukeMTMC-reID進(jìn)行實(shí)驗(yàn)獲得很好的結(jié)果,超過現(xiàn)有已公開的方法。本方法在初始獲取數(shù)據(jù)過程中需要根據(jù)攝像頭的數(shù)量C訓(xùn)練對(duì)應(yīng)的個(gè)CycleGAN模型,需要耗費(fèi)很多時(shí)間,占用計(jì)算資源,在多粒度分割時(shí)采用硬性的平均分割,并沒有考慮分割比例對(duì)準(zhǔn)確度是否會(huì)有影響,接下來會(huì)對(duì)以下方面做進(jìn)一步探索:(1)使用StarGAN代替CycleGAN,通過StarGAN實(shí)現(xiàn)一區(qū)域?qū)Χ鄥^(qū)域的圖像轉(zhuǎn)換,從而減少生成訓(xùn)練數(shù)據(jù)所需要的時(shí)間,節(jié)約計(jì)算成本。(2)增加粒度的多樣性,并調(diào)整分割比例,測(cè)試不同分割比例,不同粒度對(duì)識(shí)別準(zhǔn)確度的影響。