陳偉航,劉志剛,黃 朝,謝東軍
(東北石油大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院,大慶 163318)
行人重識(shí)別是指在多個(gè)不重疊攝像頭中檢索出目標(biāo)行人的技術(shù),可以廣泛應(yīng)用于智慧城市、圖像管理等領(lǐng)域.但是,由于使用不同攝像頭所拍攝的行人圖像存在光照、視角、遮擋以及攝像頭分辨率等問(wèn)題,使得行人重識(shí)別技術(shù)目前仍面臨著很大的困難.隨著深度學(xué)習(xí)的發(fā)展,深度學(xué)習(xí)方法在行人重識(shí)別上也得到了很好的應(yīng)用.實(shí)驗(yàn)結(jié)果也表明使用深度學(xué)習(xí)的方法相較于傳統(tǒng)方法能夠?qū)W習(xí)到更深層次的圖像特征,從而更好地實(shí)現(xiàn)行人重識(shí)別.但現(xiàn)有的使用深度學(xué)習(xí)的行人重識(shí)別方法大多采用加深神經(jīng)網(wǎng)絡(luò)層數(shù)的方法,會(huì)導(dǎo)致神經(jīng)網(wǎng)絡(luò)參數(shù)急劇增多,從而使神經(jīng)網(wǎng)絡(luò)訓(xùn)練的難度增大,耗費(fèi)大量的計(jì)算資源也難以提取到比較高層的行人語(yǔ)義信息.因此一些學(xué)者提出通過(guò)利用標(biāo)注好的行人屬性信息來(lái)提高對(duì)行人的特征提取能力從而提高行人重識(shí)別效果.如:Zhu 等[1]提出使用多標(biāo)簽的卷積神經(jīng)網(wǎng)絡(luò)(multi-label CNN,MLCNN)模型,將行人圖像劃分為多個(gè)可重疊的部分,并對(duì)每個(gè)部分都進(jìn)行相應(yīng)的屬性預(yù)測(cè).Fabbri 等[2]同樣是將行人分為頭、肩、上身、下身幾個(gè)部分來(lái)分別進(jìn)行屬性預(yù)測(cè).Liu 等[3]提出多方向注意力網(wǎng)絡(luò)(hydraplus-net:attentive deep features for pedestrian analysis,HP-Net),將多層注意力特征圖多向映射到不同的特征層中,從而能夠挖掘到不同尺度的注意力特征,充實(shí)行人特征表示.Li等[4,5]提出深度多屬性識(shí)別(deep learning based multiple attributes recognition,DeepMAR)和深度單屬性識(shí)別(deep learning based single attribute recognition,DeepSAR)兩個(gè)網(wǎng)絡(luò)模型,Deep SAR 能獨(dú)立識(shí)別每個(gè)屬性,而Deep MAR 則是利用屬性之間的關(guān)系進(jìn)行屬性識(shí)別,最后將兩個(gè)模型聯(lián)合共同進(jìn)行識(shí)別.但這些網(wǎng)絡(luò)都沒(méi)有考慮局部特征對(duì)整體網(wǎng)絡(luò)識(shí)別的影響,也沒(méi)有關(guān)注到行人屬性不均衡所導(dǎo)致的網(wǎng)絡(luò)訓(xùn)練效果不佳的情況.
針對(duì)上述問(wèn)題,本文提出了一種結(jié)合行人屬性標(biāo)簽的方法,通過(guò)對(duì)多個(gè)有重疊的行人局部特征進(jìn)行屬性識(shí)別作為行人全局特征的補(bǔ)充信息來(lái)提高識(shí)別的準(zhǔn)確率.其次,使用Focal loss[6]損失函數(shù)來(lái)解決屬性識(shí)別任務(wù)中的正負(fù)樣本不平衡和難易樣本不平衡問(wèn)題.
Focal loss 損失函數(shù)是在標(biāo)準(zhǔn)交叉熵?fù)p失[7]的基礎(chǔ)上修改得到的,它通過(guò)引入?yún)?shù)γ來(lái)降低易分類(lèi)樣本的權(quán)重從而使模型更專(zhuān)注于難分類(lèi)樣本的訓(xùn)練,同時(shí)還加入了平衡因子α用來(lái)平衡正負(fù)樣本比例不均,從而也有效解決屬性樣本不平衡的問(wèn)題.二分類(lèi)交叉熵?fù)p失函數(shù)為:
其中,y為真實(shí)值,y′為預(yù)測(cè)值.當(dāng)y=1 時(shí),預(yù)測(cè)值越接近真實(shí)標(biāo)簽1,損失函數(shù)越小,預(yù)測(cè)值越接近真實(shí)標(biāo)簽0,損失越大.y=0 時(shí),預(yù)測(cè)值越接近真實(shí)值0,損失越小,預(yù)測(cè)值越接近真實(shí)值1,損失越大.此時(shí)的損失函數(shù)就可能在大量簡(jiǎn)單樣本的迭代中訓(xùn)練緩慢且很難達(dá)到最優(yōu)的訓(xùn)練效果.Focal loss 的引入主要是為解決訓(xùn)練過(guò)程中難易樣本和正負(fù)樣本不平衡的問(wèn)題,它從交叉熵函數(shù)改進(jìn)而來(lái),其函數(shù)為:
首先在原有的交叉熵函數(shù)基礎(chǔ)上加入了兩個(gè)參數(shù)γ和α.加入?yún)?shù)γ>0 是用來(lái)降低易分類(lèi)樣本的損失,使得網(wǎng)絡(luò)更關(guān)注困難的、容易被錯(cuò)分的樣本.此外,加入了平衡因子α,用來(lái)平衡正負(fù)樣本本身的比例不均.γ調(diào)節(jié)簡(jiǎn)單樣本權(quán)重降低的速率,當(dāng)γ為0 時(shí)就變成了傳統(tǒng)的交叉熵?fù)p失函數(shù),當(dāng)γ增加時(shí)調(diào)制系數(shù)也在增加,對(duì)網(wǎng)絡(luò)的影響也越大.
行人屬性識(shí)別網(wǎng)絡(luò)(attribute-person recognition network,APR)[8]是將行人屬性識(shí)別當(dāng)作一個(gè)多任務(wù)學(xué)習(xí)的方式,其結(jié)構(gòu)如圖1所示.在損失計(jì)算前有m+1 個(gè)全連接層(fully connected layer,FC),其中有一個(gè)身份分類(lèi)損失和m個(gè)屬性分類(lèi)損失.m+1 個(gè)FC 層分別表示為FC,FC1,…,FCm,其中FC 用于ID 分類(lèi),FC1,…,FCm用于屬性識(shí)別,預(yù)訓(xùn)練模型使用ResNet50[9].對(duì)于屬性預(yù)測(cè),使用M個(gè)Softmax loss 來(lái)進(jìn)行計(jì)算.通過(guò)用一個(gè)多屬性分類(lèi)損失函數(shù)和一個(gè)id 分類(lèi)損失函數(shù),訓(xùn)練APR 網(wǎng)絡(luò)來(lái)預(yù)測(cè)屬性和id 標(biāo)簽,最后的損失函數(shù)定義如下:
圖1 行人屬性識(shí)別APR 網(wǎng)絡(luò)模型圖
其中,LID和Latt分別表示行人的ID 分類(lèi)和屬性分類(lèi)的交叉熵?fù)p失,參數(shù) λ用于衡量這兩個(gè)損失函數(shù)在Loss的權(quán)重.
本文提出的局部特征重疊的行人屬性網(wǎng)絡(luò)(attributelocal feature overlap network,ALFO)主要由3 部分組成,其結(jié)構(gòu)如圖2所示.首先是特征提取部分,利用ResNet50 作為基礎(chǔ)網(wǎng)絡(luò),其次是進(jìn)行屬性識(shí)別任務(wù)的局部分支部分,最后是進(jìn)行行人ID 預(yù)測(cè)的全局分支部分.
圖2 局部特征重疊的行人屬性識(shí)別模型圖
本文基準(zhǔn)網(wǎng)絡(luò)采用的是Resnet50 網(wǎng)絡(luò),并去掉網(wǎng)絡(luò)最后兩層使其輸出大小為7×7 的2048 維圖像.在局部分支中首先將通過(guò)基準(zhǔn)網(wǎng)絡(luò)得到的特征圖像切分為多個(gè)大小相同且有重疊的行人局部特征圖,實(shí)驗(yàn)發(fā)現(xiàn)將特征圖切分為6 塊得到的最終訓(xùn)練效果最好.再將每塊局部特征都分別進(jìn)行多任務(wù)屬性學(xué)習(xí),并利用m個(gè)全連接層來(lái)同時(shí)預(yù)測(cè)行人的屬性,其中m是標(biāo)注的屬性種類(lèi)數(shù)量.然后對(duì)每塊局部特征計(jì)算出的屬性損失通過(guò)投票得出每個(gè)屬性所對(duì)應(yīng)的最優(yōu)損失.在全局分支中使用全連接層來(lái)預(yù)測(cè)行人的身份標(biāo)簽并計(jì)算ID 損失,最終網(wǎng)絡(luò)的總損失為行人的ID 損失與投票選出的屬性損失之和.
該網(wǎng)絡(luò)的總損失包括使用行人身份標(biāo)簽預(yù)測(cè)的ID 損失和使用行人屬性標(biāo)簽預(yù)測(cè)的損失.在行人屬性數(shù)據(jù)集中,由于行人包含有多種不同種類(lèi)的屬性會(huì)導(dǎo)致出現(xiàn)屬性樣本不平衡問(wèn)題,包括類(lèi)內(nèi)樣本不平衡和類(lèi)間樣本不平衡.其中類(lèi)內(nèi)樣本不平衡是指在某一類(lèi)別屬性下,如在下身衣服顏色的屬性下,不同顏色下身衣服的樣本數(shù)量不平衡.類(lèi)間樣本不平衡表示不同屬性類(lèi)別間的樣本數(shù)量不平衡:如帽子和上衣屬性樣本數(shù)量不平衡.屬性樣本不均衡會(huì)導(dǎo)致網(wǎng)絡(luò)訓(xùn)練效果差或者訓(xùn)練效率低下等問(wèn)題,一般可以使用三元組損失(triplet loss)[10]或者四元組損失(quadruplet loss)[11]等度量學(xué)習(xí)的方式或者使用數(shù)據(jù)預(yù)處理的方式對(duì)解決樣本不平衡問(wèn)題有一定效果.本文通過(guò)改進(jìn)損失函數(shù),在局部分支進(jìn)行屬性識(shí)別時(shí)使用Focal loss 計(jì)算損失,能夠解決在訓(xùn)練中屬性樣本不平衡的問(wèn)題.
前期基于深度學(xué)習(xí)的行人重識(shí)別研究中,雖然是基于神經(jīng)網(wǎng)絡(luò)自動(dòng)提取特征,但是較少有方法能夠提取到行人高層語(yǔ)義信息.隨著行人重識(shí)別研究的不斷深入以及標(biāo)注行人屬性的大規(guī)模數(shù)據(jù)集的提出,研究者們?cè)絹?lái)越關(guān)注通過(guò)行人屬性特征來(lái)提取行人的高層語(yǔ)義信息從而提高行人重識(shí)別的準(zhǔn)確率.另外,考慮到行人重識(shí)別問(wèn)題經(jīng)常面臨視角變化、遮擋等情況,而之前的行人重識(shí)別方法大多只學(xué)習(xí)了行人的全局特征沒(méi)有考慮人體的整體空間結(jié)構(gòu)導(dǎo)致學(xué)習(xí)困難,因此在全局特征上強(qiáng)調(diào)局部差異是非常重要的.本文將行人特征圖像切分為大小相同且有重疊的行人局部特征圖,然后對(duì)每塊局部特征分別計(jì)算屬性損失,最后再通過(guò)投票得到識(shí)別效果最好的屬性損失,這樣網(wǎng)絡(luò)模型同時(shí)學(xué)習(xí)到了行人的局部特征和全局特征從而提高行人重識(shí)別的準(zhǔn)確率.
本文實(shí)驗(yàn)使用了兩個(gè)行人屬性數(shù)據(jù)集:Market-1501_attribute[8],DukeMTMC-attribute[8].這兩個(gè)行人屬性數(shù)據(jù)集,分別在Market-1501 和DukeMTMC 這兩個(gè)行人重識(shí)別數(shù)據(jù)集的基礎(chǔ)上進(jìn)行行人屬性信息標(biāo)注得到的.Market-1501 數(shù)據(jù)集在清華大學(xué)校園中采集,拍攝于夏季.它是由6 個(gè)攝像頭在不同區(qū)域所拍攝到的1501 個(gè)行人組成,且每個(gè)行人至少由2 個(gè)攝像頭所捕獲到.共包含訓(xùn)練集751 人,由12 936 張圖像組成,測(cè)試集由750 個(gè)行人的共19 732 張圖像組成.Market-1501_attribute 為每一個(gè)行人標(biāo)注包括性別、年齡、上衣顏色、下身顏色等27 個(gè)屬性.DukeMTMC 數(shù)據(jù)集拍攝于冬天的杜克大學(xué),它由8 個(gè)高清攝像頭拍攝,包含來(lái)自702 個(gè)人的16,522 張訓(xùn)練圖片和來(lái)自另外702 個(gè)人的2 228 張查詢(xún)圖片.DukeMTMC-attribute 數(shù)據(jù)集為每一個(gè)行人標(biāo)注了包括性別、上衣長(zhǎng)度、上衣顏色、下身衣服顏色等23 個(gè)屬性.通過(guò)使用標(biāo)注了行人屬性信息的數(shù)據(jù)集,使得網(wǎng)絡(luò)能通過(guò)對(duì)相應(yīng)部位的屬性進(jìn)行學(xué)習(xí)來(lái)更好地關(guān)注到不同部位的細(xì)節(jié),從而提取更有代表性的特征.
本文基線方法采用屬性識(shí)別網(wǎng)絡(luò),因?yàn)镸arket-1501_attribute 和DukeMTMC-attribute 兩個(gè)數(shù)據(jù)集是Lin 等人[8]標(biāo)注并公開(kāi)的,且APR 網(wǎng)絡(luò)與本文方法相似,都是同時(shí)學(xué)習(xí)了行人身份和屬性信息.同時(shí)本文也加入了局部分支的方法,與行人重識(shí)別PCB(partbased convolutional baseline)[12]方法有一定相似之處,因此本文與APR 和PCB 網(wǎng)絡(luò)分別比較,可以驗(yàn)證本文方法的有效性.
本文采用了兩種對(duì)照實(shí)驗(yàn),分別是通過(guò)消融實(shí)驗(yàn)證實(shí)使用局部分支以及使用Focal loss 的有效性以及與主流行人重識(shí)別算法效果的對(duì)比,具體如下.
實(shí)驗(yàn)1.分別只使用全局分支、只使用局部分支以及不使用Focal loss 方法與本文算法進(jìn)行對(duì)比來(lái)驗(yàn)證使用全局和局部特征相結(jié)合的方法比只使用局部或者全局行人特征的效果更好,同時(shí)也驗(yàn)證了Focal loss 函數(shù)的有效性.
實(shí)驗(yàn)2.將本文算法與PCB,APR,DeepMar 等主流行人重識(shí)別算法在Market-1501 和DukeMTMC 數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn)以驗(yàn)證本文算法相比以往一些主流的行人重識(shí)別算法效果有所提升.
實(shí)驗(yàn)結(jié)果表明:由表1 可知,在 Market-1501 和DukeMTMC 數(shù)據(jù)集上分別進(jìn)行測(cè)試,結(jié)果表明,相比于只使用全局分支的網(wǎng)絡(luò),只用局部分支的網(wǎng)絡(luò)其Rank-1 和mAP 都更高,說(shuō)明只有局部信息沒(méi)有行人ID 信息不能很好的識(shí)別行人身份,而本文算法相比于只用全局分支和只用局部分支以及不使用Focal loss函數(shù)的模型,Rank-1 和mAP 都有較大提升.說(shuō)明使用提取全局分支和局部分支相結(jié)合的方法有一定效果.
表1 使用單獨(dú)分支實(shí)驗(yàn)對(duì)比表(%)
實(shí)驗(yàn)結(jié)果表明:由表2 可以看出,使用本文方法與有代表性的APR、PCB、DeepMar 以及TriHard 和PAR 等基準(zhǔn)網(wǎng)絡(luò)相比,在Market-1501 數(shù)據(jù)集上mAP分別提升了11.24%、7.43%、4.11%.在DukeMTMC數(shù)據(jù)集上mAP 分別提升了15.38%、8.02%、1.42%.說(shuō)明使用局部特征重疊的行人屬性識(shí)別方法后相比APR、PCB 等主流行人重識(shí)別算法在性能上得到了進(jìn)一步提升,證明本文所提方法有效.
表2 與其他主流行人重識(shí)別算法實(shí)驗(yàn)對(duì)比表(%)
行人重識(shí)別領(lǐng)域一直存在著許多挑戰(zhàn),現(xiàn)有的方法是直接使用卷積神經(jīng)網(wǎng)絡(luò)來(lái)提取行人特征,但沒(méi)有充分利用行人的屬性信息.在實(shí)際場(chǎng)景中,行人不對(duì)齊、行人屬性數(shù)據(jù)集樣本不平衡等問(wèn)題一直很難得到有效解決.本文提出了一種將局部特征重疊與行人屬性識(shí)別相結(jié)合的網(wǎng)絡(luò)結(jié)構(gòu),能夠同時(shí)學(xué)習(xí)圖像的全局特征和局部特征,從而能一定程度上解決行人不對(duì)齊和特征表達(dá)能力不足的問(wèn)題,使性能指標(biāo)得到提升.同時(shí),對(duì)于行人屬性樣本不平衡問(wèn)題,使用Focal loss 代替原來(lái)的交叉熵?fù)p失,能夠一定程度上解決屬性樣本不平衡問(wèn)題所帶來(lái)的訓(xùn)練效果差或訓(xùn)練效率低下問(wèn)題,從而提高算法精度.