王文龍,張 磊,張譽(yù)馨,吳曉富,張索非
(1.南京郵電大學(xué) 通信與信息工程學(xué)院,江蘇 南京 210003;
2.南京郵電大學(xué) 物聯(lián)網(wǎng)學(xué)院,江蘇 南京 210003)
行人屬性識(shí)別(pedestrian attribute recognition,PAR)的目的是在行人圖像中挖掘目標(biāo)人物的屬性信息。傳統(tǒng)的行人屬性識(shí)別方法通常側(cè)重于從人工生成的特征、強(qiáng)大的分類器或?qū)傩躁P(guān)系的角度來(lái)獲得更魯棒的特征。在過(guò)去的幾年里,深度學(xué)習(xí)在利用多層非線性變換進(jìn)行自動(dòng)特征提取方面取得了令人矚目的成績(jī),特別是在計(jì)算機(jī)視覺(jué)、語(yǔ)音識(shí)別和自然語(yǔ)言處理等方面?;谶@些突破,研究者提出了幾種基于深度學(xué)習(xí)的屬性識(shí)別算法,如ACN[1]、DeepMAR[2]。雖然行人屬性特征的提取由于卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用得到大幅的提升,但行人屬性識(shí)別的性能在實(shí)際應(yīng)用中仍不能滿足需求。該任務(wù)的困難在于PAR中不同類別的屬性所屬的粒度不同,如發(fā)型、顏色、帽子、眼睛等信息只是局部圖像塊的低層屬性信息,而年齡、性別等信息卻是全局的高層語(yǔ)義信息。并且,在視角、光線等信息變化時(shí),采樣到的圖像變化可能很大,但這些屬性信息卻不會(huì)改變。最近不少研究者試圖利用屬性間的空間關(guān)系和語(yǔ)義關(guān)系來(lái)進(jìn)一步提高識(shí)別性能,所提出的方法可分為三個(gè)基本類別:
基于語(yǔ)義關(guān)系的方法:利用語(yǔ)義關(guān)系來(lái)輔助屬性識(shí)別。Wang等人[3]利用屬性間的依賴性和相關(guān)性提出了一個(gè)基于CNN-RNN的框架。Sudowe[1]提出一個(gè)整體的CNN模型來(lái)共同學(xué)習(xí)不同的屬性。然而,這些方法需要人工定義規(guī)則,如預(yù)測(cè)順序、屬性組等,在實(shí)際應(yīng)用中很難確定。
基于注意力機(jī)制的方法:利用視覺(jué)注意機(jī)制來(lái)提高屬性識(shí)別。Liu等人[4]提出了一種多方向注意模型,用于行人多尺度注意特征的學(xué)習(xí)分析。雖然識(shí)別精度有所提高,但這些方法都是屬性不可知的,沒(méi)有考慮到屬性的具體信息。
基于局部特征提取的方法:利用行人的身體部位特征來(lái)提高屬性識(shí)別。Zhu等人[5]將整個(gè)圖像分割成15個(gè)Rigid塊,融合不同塊的特征。Yang等人[6]利用外部姿態(tài)估計(jì)模塊定位身體部位。
以上這些方法從語(yǔ)義關(guān)系、特征提取、注意力機(jī)制等角度來(lái)提升模型的性能。該文主要從集成學(xué)習(xí)的角度來(lái)提高行人屬性識(shí)別性能。不同于該領(lǐng)域中廣泛應(yīng)用的多模型集成方案,該文從單個(gè)模型的屬性預(yù)測(cè)輸出概率入手,利用少量數(shù)據(jù)訓(xùn)練元學(xué)習(xí)器的集成規(guī)則,最終通過(guò)概率集成的方式獲得性能上的提升。通過(guò)對(duì)比最新的行人屬性識(shí)別算法,如RDEM[7]、VAC[8]、ALM[9],PEM算法均能夠獲得可觀的性能提升。
整體的算法流程如圖1所示。該算法需要有監(jiān)督數(shù)據(jù)對(duì)元學(xué)習(xí)器進(jìn)行訓(xùn)練,因此將訓(xùn)練數(shù)據(jù)分割為訓(xùn)練集和驗(yàn)證集。訓(xùn)練集用于基本分類器的訓(xùn)練,驗(yàn)證集用于元學(xué)習(xí)器的訓(xùn)練。實(shí)驗(yàn)結(jié)果表明數(shù)據(jù)集的較佳分割比例為4∶1(見(jiàn)2.4)。
圖1 算法流程
PEM算法首先通過(guò)RDEM算法[7]的框架,用不同的模型結(jié)構(gòu)得到L個(gè)基本分類器,然后將各個(gè)分類器的輸出概率進(jìn)行拼接。F(xi)是基本分類器預(yù)測(cè)概率拼接的結(jié)果,它是一個(gè)L×M的向量,M代表屬性的個(gè)數(shù)。元學(xué)習(xí)器會(huì)對(duì)F(xi)中各個(gè)分類器的輸出概率賦予不同的權(quán)重和偏置,經(jīng)過(guò)優(yōu)化器的調(diào)優(yōu)后得到最佳的參數(shù),最后將該參數(shù)用于加權(quán)集成得到最終的預(yù)測(cè)概率。
給定一個(gè)數(shù)據(jù)集:
D={(xi,yi),yi∈{0,1}M,i=1,2,…,N}
(1)
其中,yi表示第i張圖片的正確的標(biāo)簽,而N,M分別表示訓(xùn)練的圖像個(gè)數(shù)和屬性個(gè)數(shù),xi表示第i個(gè)行人圖片。行人屬性識(shí)別是一個(gè)多標(biāo)簽識(shí)別任務(wù),對(duì)給定的行人圖片xi要求判斷屬性yi是否存在。在標(biāo)簽向量y和預(yù)測(cè)向量yi中,對(duì)應(yīng)位置的0或1代表了該屬性是否出現(xiàn)在行人圖片當(dāng)中。
在對(duì)屬性進(jìn)行預(yù)測(cè)時(shí),將每個(gè)屬性都看作一個(gè)二分類的問(wèn)題,那么其二元交叉熵?fù)p失函數(shù)可以用式(5)來(lái)表示,其中wj(yi)=eyi,j(1-rj)+(1-yi,j)rj是樣本的權(quán)重,用來(lái)緩解樣本不平衡分布帶來(lái)的問(wèn)題[10-11]。rj表示第j個(gè)屬性的正樣本率。
給定L個(gè)基本分類器,其中對(duì)M個(gè)屬性進(jìn)行預(yù)測(cè)的第l個(gè)分類器的預(yù)測(cè)概率表達(dá)式如下:
fl(xi)=[P(yi,1|xi),…,P(yi,M=1|xi)]T=
(2)
通過(guò)將每個(gè)屬性分類器的Softmax層的輸出堆疊為長(zhǎng)度為M的列向量,最終的疊加概率特征可以表達(dá)為如下形式:
F(xi)=[f1(xi),f2(xi),…,fL(xi)]
(3)
將fl(xi),l=1,2,…,L作為最終的概率特征向量,由元學(xué)習(xí)器(或集成學(xué)習(xí)器)將不同的預(yù)測(cè)結(jié)果進(jìn)行擬合,得到最終的預(yù)測(cè)。該文提出的元分類器采用最簡(jiǎn)單的單層全連接網(wǎng)絡(luò),使用F(xi)作為輸入,通過(guò)一個(gè)全連接層、Softmax層輸出最終預(yù)測(cè),也即:
P(yi,j=1|xi)=softmax(WjFj(xi)+bj)
j=1,2,…,M
(4)
其中,Wj和bj是權(quán)重和偏置。以上參數(shù)的獲得需要通過(guò)一些有標(biāo)注的訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練獲得,因此需要對(duì)訓(xùn)練集進(jìn)行分割。對(duì)于訓(xùn)練集的分割,應(yīng)當(dāng)將其分割成為兩部分:一部分用于模型各自分類器的訓(xùn)練,另一部分用于元分類器的訓(xùn)練。
實(shí)驗(yàn)所使用的數(shù)據(jù)集來(lái)自于PRCV2020大型行人檢索競(jìng)賽數(shù)據(jù)集RAP[12]的子集,RAP數(shù)據(jù)來(lái)源是從一個(gè)室內(nèi)購(gòu)物中心的高清晰度(1 280×720)監(jiān)控網(wǎng)絡(luò)中采集的。RAP數(shù)據(jù)集涵蓋了2 589個(gè)行人身份標(biāo)簽。該數(shù)據(jù)集中關(guān)于行人屬性識(shí)別的數(shù)據(jù)共由68 071張圖片組成,其中42 085張用于訓(xùn)練(訓(xùn)練集+驗(yàn)證集),25 986張用于測(cè)試。對(duì)于每個(gè)樣本都標(biāo)注了72個(gè)細(xì)粒度屬性,例如性別發(fā)型、鞋子類型以及附屬物類型等,其中54個(gè)屬性用于本次競(jìng)賽。54個(gè)屬性標(biāo)簽大致可分為七大類,分別為:人物屬性、頭部、上衣、下衣、鞋子、附屬物、行為,具體如下:
(5)
·人物屬性:性別、年齡16、年齡30、年齡45、年齡60、體型微胖、體型標(biāo)準(zhǔn)、體型偏瘦、顧客、店員。
·頭部:光頭、長(zhǎng)發(fā)、黑色頭發(fā)、戴帽、眼鏡。
·上衣:襯衣、毛衣、馬甲、T恤、棉服、夾克、西服、衛(wèi)衣、短袖、其他。
·下衣:長(zhǎng)褲、裙子、短裙、連衣裙、牛仔褲、包腿褲。
·鞋子:皮鞋、運(yùn)動(dòng)鞋、靴子、布鞋、休閑鞋、其他。
·附屬物:雙肩包、單肩包、手提包、箱子、塑料袋、紙袋、購(gòu)物車、其他。
·行為:打手機(jī)、交談、聚集、抱東西、推東西、拉拽東西、夾帶東西、拎東西、其他。
據(jù)統(tǒng)計(jì),人的屬性數(shù)量在4到26之間,平均值為12.2。此外,大多數(shù)二元屬性類別中,RAP具有嚴(yán)重的不平衡分布。如表1所示,用正樣本占整個(gè)數(shù)據(jù)集的比例來(lái)衡量,正樣本率較少(小于10%)的屬性數(shù)量占到了總數(shù)量的60%,這使得開(kāi)發(fā)高質(zhì)量的識(shí)別算法成為一個(gè)具有挑戰(zhàn)性的問(wèn)題。
表1 正樣本率分布
對(duì)于行人屬性識(shí)別任務(wù),將每個(gè)屬性看作一個(gè)二分類問(wèn)題,并將識(shí)別結(jié)果分為以下四種情況:TP(True Positive),識(shí)別正確的正樣本;FP(False Positive),識(shí)別錯(cuò)誤的負(fù)樣本;TN(True Negative),識(shí)別正確的負(fù)樣本;FN(False Negative),識(shí)別錯(cuò)誤的正樣本。
評(píng)價(jià)屬性識(shí)別算法的第一個(gè)性能指標(biāo)是平均準(zhǔn)確度[13](mA)。考慮到屬性分布的不均衡性,對(duì)于每個(gè)屬性,mA分別計(jì)算正樣本和負(fù)樣本的分類精度,然后取它們的平均值作為屬性的結(jié)果。之后,mA取所有屬性的平均值作為最終結(jié)果。計(jì)算方式如下:
(6)
其中,L表示第L個(gè)屬性;Pi和Ni分別為當(dāng)前屬性總的正、負(fù)樣本數(shù)。
評(píng)價(jià)屬性識(shí)別算法的第二個(gè)性能指標(biāo)是F1值[14](F1-score),它是精準(zhǔn)率和召回率的調(diào)和平均數(shù),公式如下:
(7)
式中,Prec(Precision)是準(zhǔn)確率,可以反映模型僅返回相關(guān)圖片的能力,Rec(Recall)是召回率,可以反映模型識(shí)別所有相關(guān)圖片的能力。其計(jì)算方式為:
(8)
(9)
從公式的計(jì)算方式可以看出,準(zhǔn)確率和召回率會(huì)相互影響。一般情況下當(dāng)準(zhǔn)確率越高時(shí),召回率就越低,反之亦然。
本實(shí)驗(yàn)中,待集成的模型分類器的獲取來(lái)自于RDEM框架[7]。該方法用PyTorch實(shí)現(xiàn),并進(jìn)行了端到端的訓(xùn)練。該文采用多個(gè)網(wǎng)絡(luò)(例如ResNet、OSNet等)作為主干提取行人圖像特征。將行人圖像調(diào)整為256×192,并對(duì)其采用隨機(jī)水平鏡像的處理。訓(xùn)練優(yōu)化器采用隨機(jī)梯度下降(stochastic gradient descent,SGD),動(dòng)量為0.9,權(quán)重衰減為0.000 5。初始學(xué)習(xí)率等于0.01,批次大小設(shè)置為64。訓(xùn)練的總迭代次數(shù)為30次。
實(shí)驗(yàn)主要集中于PRCV2020的競(jìng)賽數(shù)據(jù)集RAP上,將其中的8 417張圖片固定為測(cè)試集。對(duì)于該方法,將剩余的33 668張圖片按比例拆分成訓(xùn)練集和驗(yàn)證集,拆分比例為4∶1(見(jiàn)2.4)。訓(xùn)練集用于訓(xùn)練多個(gè)模型的基本分類器,驗(yàn)證集用于訓(xùn)練元分類器。由于對(duì)比算法不包含元分類器,且輸出概率為單模型的輸出,因此將分割后的訓(xùn)練集和驗(yàn)證集全部用于訓(xùn)練其所用模型的分類器。最終的實(shí)驗(yàn)結(jié)果如表2所示。
表2 實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)選取了一些主流的網(wǎng)絡(luò)結(jié)構(gòu),包括:ResNet[15]、OSNet[16]、EfficientNet[17]、DenseNet[18]、Inception[19]、Xception[20]等(包括其改進(jìn)結(jié)構(gòu)),以上模型的部分改進(jìn)結(jié)構(gòu)命名規(guī)則如下:SE(Squeeze-and-Excitation Networks)表示該網(wǎng)絡(luò)采用了SE模塊[21],該模塊能夠調(diào)整通道間的權(quán)重,并將重要特征強(qiáng)化,以取得更好的效果;ibn表示該網(wǎng)絡(luò)采用了Instance-batch Normalization(IBN)模塊[22],該模塊將Instance Normalization(IN)和Batch Normalization(BN)組合使用,提高了模型的范化能力。它有兩種結(jié)構(gòu):ibn-a和ibn-b,區(qū)別在于IN的位置有所不同。對(duì)于EfficientNet而言,其網(wǎng)絡(luò)配置參數(shù)為b0-b8(該文采用b0和b4的配置),不同配置的網(wǎng)絡(luò),其寬度、深度、Dropout參數(shù)均不相同。對(duì)于ResNeXt網(wǎng)絡(luò)[23],它是ResNet網(wǎng)絡(luò)的升級(jí),使用一種平行堆疊相同拓?fù)浣Y(jié)構(gòu)的blocks代替原來(lái) ResNet 的三層卷積的block,能夠在不明顯增加參數(shù)量級(jí)的情況下提升模型的準(zhǔn)確率。PEM算法各個(gè)配置所使用的模型如下:
·PEM(7模型):由ResNet50,SE-ResNet101-ibn-a,ResNet101-ibn-a,OSNet-x1.0,OSNet-ibn-x1.0,EfficientNet-b0,DenseNet161等模型組成。
·PEM(10模型):在7模型的基礎(chǔ)上新增了以下模型:DenseNet201, EfficientNet_b4, Inceptionv4。
·PEM(14模型):在10模型的基礎(chǔ)上新增了以下模型:ResNet152,SE-ResNet50,SE-ResNeXt50-32x4d,Xception。
從表2中可以看出,通過(guò)增加基本分類器的個(gè)數(shù),其性能也在不斷的上升。對(duì)比RDEM算法,14個(gè)模型的堆疊使得其在mA評(píng)測(cè)中上升了1.17%,在F1值評(píng)測(cè)中上升了2.24%。對(duì)比ALM算法和VAC算法,該方法在mA上各自提升2.86%和3.82%,在F1值上各自提升了3.72%和1.15%。
2.4.1 數(shù)據(jù)集分割對(duì)比實(shí)驗(yàn)
該算法需要對(duì)數(shù)據(jù)集進(jìn)行分割,其分割比例不可避免地會(huì)對(duì)訓(xùn)練過(guò)程產(chǎn)生影響。為了探究不同分割比例對(duì)于模型最終性能的影響,采取了三種不同的分割比例(訓(xùn)練參數(shù)與PEM算法的實(shí)驗(yàn)參數(shù)保持一致),并在7模型集成結(jié)果中進(jìn)行了展示。表3給出了三次實(shí)驗(yàn)的分割比例和數(shù)據(jù)集總圖片數(shù)的對(duì)應(yīng)關(guān)系,測(cè)試圖片為固定的8 417張圖片。
表3 數(shù)據(jù)集的分割與實(shí)驗(yàn)結(jié)果
從表3的集成結(jié)果上來(lái)看,數(shù)據(jù)集的分割比例保持在4∶1是一個(gè)較優(yōu)的分割選擇,在此分割比例下,模型在最終的兩項(xiàng)評(píng)測(cè)中均優(yōu)于其他分割比例。
2.4.2 集成方式對(duì)比實(shí)驗(yàn)
在行人屬性識(shí)別任務(wù)中,目前尚未有集成方法的提出。PEM算法作為基于元學(xué)習(xí)的概率加權(quán)集成算法,其實(shí)質(zhì)是一個(gè)非等概加權(quán)的過(guò)程,另一種容易想到的加權(quán)方式為等概加權(quán)集成,為了探究?jī)煞N方式在集成性能之間的不同,對(duì)兩種方式分別進(jìn)行了實(shí)驗(yàn)。
在等概加權(quán)集成(equal weight ensemble,EWE)實(shí)驗(yàn)中,將集成方式更改為等概加權(quán)方式。實(shí)驗(yàn)中,PEM算法與EWE算法所使用的基本分類器相同,在得到最終預(yù)測(cè)結(jié)果時(shí),PEM算法將多個(gè)基本分類器預(yù)測(cè)結(jié)果進(jìn)行非等概加權(quán),加權(quán)參數(shù)則是利用部分訓(xùn)練集訓(xùn)練得到;EWE算法則直接將基本分類器預(yù)測(cè)結(jié)果相加后平均。注意,為了保證公平對(duì)比,等概加權(quán)集成實(shí)驗(yàn)的訓(xùn)練數(shù)據(jù)為分割后的訓(xùn)練集加驗(yàn)證集。最終其實(shí)驗(yàn)結(jié)果如表4所示。
表4 集成方式對(duì)比結(jié)果
通過(guò)表4的結(jié)果可以看出,EWE方法在mA評(píng)測(cè)中大幅落后于PEM算法,在F1值的評(píng)測(cè)領(lǐng)先PEM算法。為了探究該現(xiàn)象產(chǎn)生的原因,又對(duì)正樣本召回率(Pos_Rec)進(jìn)行了測(cè)試,結(jié)果表明PEM算法具有更好的正樣本識(shí)別能力。
從表4中可知,在14模型的集成實(shí)驗(yàn)中,EWE算法在正樣本召回率評(píng)測(cè)中落后PEM算法約6.59%,根據(jù)mA的計(jì)算公式不難得出如下結(jié)論:EWE算法相對(duì)于PEM算法,無(wú)法更加有效地辨別正樣本,從而導(dǎo)致mA評(píng)測(cè)始終無(wú)法提升。由于RAP數(shù)據(jù)集具有嚴(yán)重的不平衡分布(正樣本率過(guò)低),即使出現(xiàn)模型預(yù)測(cè)全部為負(fù)樣本的情況,其總體準(zhǔn)確率依舊很高,而正樣本識(shí)別能力的增強(qiáng)雖然會(huì)提高召回率(Rec),但由于正樣本數(shù)量過(guò)少,其提升對(duì)F1值評(píng)測(cè)貢獻(xiàn)有限,進(jìn)而使得EWE算法在F1值評(píng)測(cè)上略高于PEM算法。
綜上所述,PEM算法在保證F1值評(píng)測(cè)的情況下,大幅提升了對(duì)正樣本的識(shí)別能力,克服了EWE算法無(wú)法提升mA評(píng)測(cè)的困難。
該文提出了一種行人屬性識(shí)別的概率集成算法(PEM),通過(guò)元學(xué)習(xí)器對(duì)多個(gè)模型的輸出概率進(jìn)行擬合,最終在行人屬性識(shí)別數(shù)據(jù)集RAP上獲得了更好的行人屬性預(yù)測(cè)結(jié)果。在此基礎(chǔ)上,該文進(jìn)一步對(duì)數(shù)據(jù)集分割比例、模型數(shù)量對(duì)算法性能的影響進(jìn)行了研究,實(shí)驗(yàn)結(jié)果表明:對(duì)于RAP數(shù)據(jù)集而言,數(shù)據(jù)集分割比例在4∶1時(shí)較為合適;PEM算法隨著集成模型的有效個(gè)數(shù)增多性能得到穩(wěn)步提升,表現(xiàn)出優(yōu)異的模型集成能力。最終該算法在PRCV2020大規(guī)模行人檢索競(jìng)賽行人屬性識(shí)別任務(wù)中獲得第三名(具體見(jiàn)網(wǎng)址:https://lsprc.github.io/leaderboard.html)。