陳偉航,劉志剛,黃 朝,謝東軍
(東北石油大學 計算機與信息技術學院,大慶 163318)
行人重識別是指在多個不重疊攝像頭中檢索出目標行人的技術,可以廣泛應用于智慧城市、圖像管理等領域.但是,由于使用不同攝像頭所拍攝的行人圖像存在光照、視角、遮擋以及攝像頭分辨率等問題,使得行人重識別技術目前仍面臨著很大的困難.隨著深度學習的發展,深度學習方法在行人重識別上也得到了很好的應用.實驗結果也表明使用深度學習的方法相較于傳統方法能夠學習到更深層次的圖像特征,從而更好地實現行人重識別.但現有的使用深度學習的行人重識別方法大多采用加深神經網絡層數的方法,會導致神經網絡參數急劇增多,從而使神經網絡訓練的難度增大,耗費大量的計算資源也難以提取到比較高層的行人語義信息.因此一些學者提出通過利用標注好的行人屬性信息來提高對行人的特征提取能力從而提高行人重識別效果.如:Zhu 等[1]提出使用多標簽的卷積神經網絡(multi-label CNN,MLCNN)模型,將行人圖像劃分為多個可重疊的部分,并對每個部分都進行相應的屬性預測.Fabbri 等[2]同樣是將行人分為頭、肩、上身、下身幾個部分來分別進行屬性預測.Liu 等[3]提出多方向注意力網絡(hydraplus-net:attentive deep features for pedestrian analysis,HP-Net),將多層注意力特征圖多向映射到不同的特征層中,從而能夠挖掘到不同尺度的注意力特征,充實行人特征表示.Li等[4,5]提出深度多屬性識別(deep learning based multiple attributes recognition,DeepMAR)和深度單屬性識別(deep learning based single attribute recognition,DeepSAR)兩個網絡模型,Deep SAR 能獨立識別每個屬性,而Deep MAR 則是利用屬性之間的關系進行屬性識別,最后將兩個模型聯合共同進行識別.但這些網絡都沒有考慮局部特征對整體網絡識別的影響,也沒有關注到行人屬性不均衡所導致的網絡訓練效果不佳的情況.
針對上述問題,本文提出了一種結合行人屬性標簽的方法,通過對多個有重疊的行人局部特征進行屬性識別作為行人全局特征的補充信息來提高識別的準確率.其次,使用Focal loss[6]損失函數來解決屬性識別任務中的正負樣本不平衡和難易樣本不平衡問題.
Focal loss 損失函數是在標準交叉熵損失[7]的基礎上修改得到的,它通過引入參數γ來降低易分類樣本的權重從而使模型更專注于難分類樣本的訓練,同時還加入了平衡因子α用來平衡正負樣本比例不均,從而也有效解決屬性樣本不平衡的問題.二分類交叉熵損失函數為:

其中,y為真實值,y′為預測值.當y=1 時,預測值越接近真實標簽1,損失函數越小,預測值越接近真實標簽0,損失越大.y=0 時,預測值越接近真實值0,損失越小,預測值越接近真實值1,損失越大.此時的損失函數就可能在大量簡單樣本的迭代中訓練緩慢且很難達到最優的訓練效果.Focal loss 的引入主要是為解決訓練過程中難易樣本和正負樣本不平衡的問題,它從交叉熵函數改進而來,其函數為:
首先在原有的交叉熵函數基礎上加入了兩個參數γ和α.加入參數γ>0 是用來降低易分類樣本的損失,使得網絡更關注困難的、容易被錯分的樣本.此外,加入了平衡因子α,用來平衡正負樣本本身的比例不均.γ調節簡單樣本權重降低的速率,當γ為0 時就變成了傳統的交叉熵損失函數,當γ增加時調制系數也在增加,對網絡的影響也越大.
行人屬性識別網絡(attribute-person recognition network,APR)[8]是將行人屬性識別當作一個多任務學習的方式,其結構如圖1所示.在損失計算前有m+1 個全連接層(fully connected layer,FC),其中有一個身份分類損失和m個屬性分類損失.m+1 個FC 層分別表示為FC,FC1,…,FCm,其中FC 用于ID 分類,FC1,…,FCm用于屬性識別,預訓練模型使用ResNet50[9].對于屬性預測,使用M個Softmax loss 來進行計算.通過用一個多屬性分類損失函數和一個id 分類損失函數,訓練APR 網絡來預測屬性和id 標簽,最后的損失函數定義如下:

圖1 行人屬性識別APR 網絡模型圖

其中,LID和Latt分別表示行人的ID 分類和屬性分類的交叉熵損失,參數 λ用于衡量這兩個損失函數在Loss的權重.
本文提出的局部特征重疊的行人屬性網絡(attributelocal feature overlap network,ALFO)主要由3 部分組成,其結構如圖2所示.首先是特征提取部分,利用ResNet50 作為基礎網絡,其次是進行屬性識別任務的局部分支部分,最后是進行行人ID 預測的全局分支部分.

圖2 局部特征重疊的行人屬性識別模型圖
本文基準網絡采用的是Resnet50 網絡,并去掉網絡最后兩層使其輸出大小為7×7 的2048 維圖像.在局部分支中首先將通過基準網絡得到的特征圖像切分為多個大小相同且有重疊的行人局部特征圖,實驗發現將特征圖切分為6 塊得到的最終訓練效果最好.再將每塊局部特征都分別進行多任務屬性學習,并利用m個全連接層來同時預測行人的屬性,其中m是標注的屬性種類數量.然后對每塊局部特征計算出的屬性損失通過投票得出每個屬性所對應的最優損失.在全局分支中使用全連接層來預測行人的身份標簽并計算ID 損失,最終網絡的總損失為行人的ID 損失與投票選出的屬性損失之和.
該網絡的總損失包括使用行人身份標簽預測的ID 損失和使用行人屬性標簽預測的損失.在行人屬性數據集中,由于行人包含有多種不同種類的屬性會導致出現屬性樣本不平衡問題,包括類內樣本不平衡和類間樣本不平衡.其中類內樣本不平衡是指在某一類別屬性下,如在下身衣服顏色的屬性下,不同顏色下身衣服的樣本數量不平衡.類間樣本不平衡表示不同屬性類別間的樣本數量不平衡:如帽子和上衣屬性樣本數量不平衡.屬性樣本不均衡會導致網絡訓練效果差或者訓練效率低下等問題,一般可以使用三元組損失(triplet loss)[10]或者四元組損失(quadruplet loss)[11]等度量學習的方式或者使用數據預處理的方式對解決樣本不平衡問題有一定效果.本文通過改進損失函數,在局部分支進行屬性識別時使用Focal loss 計算損失,能夠解決在訓練中屬性樣本不平衡的問題.
前期基于深度學習的行人重識別研究中,雖然是基于神經網絡自動提取特征,但是較少有方法能夠提取到行人高層語義信息.隨著行人重識別研究的不斷深入以及標注行人屬性的大規模數據集的提出,研究者們越來越關注通過行人屬性特征來提取行人的高層語義信息從而提高行人重識別的準確率.另外,考慮到行人重識別問題經常面臨視角變化、遮擋等情況,而之前的行人重識別方法大多只學習了行人的全局特征沒有考慮人體的整體空間結構導致學習困難,因此在全局特征上強調局部差異是非常重要的.本文將行人特征圖像切分為大小相同且有重疊的行人局部特征圖,然后對每塊局部特征分別計算屬性損失,最后再通過投票得到識別效果最好的屬性損失,這樣網絡模型同時學習到了行人的局部特征和全局特征從而提高行人重識別的準確率.
本文實驗使用了兩個行人屬性數據集:Market-1501_attribute[8],DukeMTMC-attribute[8].這兩個行人屬性數據集,分別在Market-1501 和DukeMTMC 這兩個行人重識別數據集的基礎上進行行人屬性信息標注得到的.Market-1501 數據集在清華大學校園中采集,拍攝于夏季.它是由6 個攝像頭在不同區域所拍攝到的1501 個行人組成,且每個行人至少由2 個攝像頭所捕獲到.共包含訓練集751 人,由12 936 張圖像組成,測試集由750 個行人的共19 732 張圖像組成.Market-1501_attribute 為每一個行人標注包括性別、年齡、上衣顏色、下身顏色等27 個屬性.DukeMTMC 數據集拍攝于冬天的杜克大學,它由8 個高清攝像頭拍攝,包含來自702 個人的16,522 張訓練圖片和來自另外702 個人的2 228 張查詢圖片.DukeMTMC-attribute 數據集為每一個行人標注了包括性別、上衣長度、上衣顏色、下身衣服顏色等23 個屬性.通過使用標注了行人屬性信息的數據集,使得網絡能通過對相應部位的屬性進行學習來更好地關注到不同部位的細節,從而提取更有代表性的特征.
本文基線方法采用屬性識別網絡,因為Market-1501_attribute 和DukeMTMC-attribute 兩個數據集是Lin 等人[8]標注并公開的,且APR 網絡與本文方法相似,都是同時學習了行人身份和屬性信息.同時本文也加入了局部分支的方法,與行人重識別PCB(partbased convolutional baseline)[12]方法有一定相似之處,因此本文與APR 和PCB 網絡分別比較,可以驗證本文方法的有效性.
本文采用了兩種對照實驗,分別是通過消融實驗證實使用局部分支以及使用Focal loss 的有效性以及與主流行人重識別算法效果的對比,具體如下.
實驗1.分別只使用全局分支、只使用局部分支以及不使用Focal loss 方法與本文算法進行對比來驗證使用全局和局部特征相結合的方法比只使用局部或者全局行人特征的效果更好,同時也驗證了Focal loss 函數的有效性.
實驗2.將本文算法與PCB,APR,DeepMar 等主流行人重識別算法在Market-1501 和DukeMTMC 數據集上進行對比實驗以驗證本文算法相比以往一些主流的行人重識別算法效果有所提升.
實驗結果表明:由表1 可知,在 Market-1501 和DukeMTMC 數據集上分別進行測試,結果表明,相比于只使用全局分支的網絡,只用局部分支的網絡其Rank-1 和mAP 都更高,說明只有局部信息沒有行人ID 信息不能很好的識別行人身份,而本文算法相比于只用全局分支和只用局部分支以及不使用Focal loss函數的模型,Rank-1 和mAP 都有較大提升.說明使用提取全局分支和局部分支相結合的方法有一定效果.

表1 使用單獨分支實驗對比表(%)
實驗結果表明:由表2 可以看出,使用本文方法與有代表性的APR、PCB、DeepMar 以及TriHard 和PAR 等基準網絡相比,在Market-1501 數據集上mAP分別提升了11.24%、7.43%、4.11%.在DukeMTMC數據集上mAP 分別提升了15.38%、8.02%、1.42%.說明使用局部特征重疊的行人屬性識別方法后相比APR、PCB 等主流行人重識別算法在性能上得到了進一步提升,證明本文所提方法有效.

表2 與其他主流行人重識別算法實驗對比表(%)
行人重識別領域一直存在著許多挑戰,現有的方法是直接使用卷積神經網絡來提取行人特征,但沒有充分利用行人的屬性信息.在實際場景中,行人不對齊、行人屬性數據集樣本不平衡等問題一直很難得到有效解決.本文提出了一種將局部特征重疊與行人屬性識別相結合的網絡結構,能夠同時學習圖像的全局特征和局部特征,從而能一定程度上解決行人不對齊和特征表達能力不足的問題,使性能指標得到提升.同時,對于行人屬性樣本不平衡問題,使用Focal loss 代替原來的交叉熵損失,能夠一定程度上解決屬性樣本不平衡問題所帶來的訓練效果差或訓練效率低下問題,從而提高算法精度.