楊海倫,王金聰,任洪娥,3*,陶 銳,4
(1. 東北林業(yè)大學 信息與計算機工程學院,黑龍江 哈爾濱150040;2. 東北林業(yè)大學 機電工程學院,黑龍江 哈爾濱 150040;3. 黑龍江林業(yè)智能裝備工程研究中心,黑龍江 哈爾濱 150040;4. 呼倫貝爾學院,內(nèi)蒙古 呼倫貝爾 021008)
行人重識別方法[1]旨在依據(jù)行人的一張查詢圖像,在大規(guī)模圖像數(shù)據(jù)中檢索出同一行人最相似的前n張圖片?;谏疃葘W習理論[2-4]的行人重識別方法研究主要分為有監(jiān)督學習的行人重識別[5]和無監(jiān)督學習的行人重識別[6-13]兩類。隨著行人重識別領(lǐng)域研究的不斷深入,數(shù)據(jù)集規(guī)模和數(shù)量也在不斷擴大,但是其需要耗費大量人力和時間進行數(shù)據(jù)集的標注。因此,近些年的行人重識別研究逐漸開始轉(zhuǎn)向無監(jiān)督域自適應(Unsupervised domain adaption,UDA)行人重識別方法。
卷積神經(jīng)網(wǎng)絡[3](Convolution Neural Networks,CNN)作為深度學習的重要組成部分,它憑借特征提取的巨大優(yōu)勢受到廣泛關(guān)注,但在卷積操作中也會導致圖像中的許多重要信息丟失。可變形卷積網(wǎng)絡[14-15](Deformable Convolutional Networks,DCN)通過加入可變形卷積核模塊和可變形興趣區(qū)域(ROI)池化模塊,提高了CNN的特征提取能力。此類方法可以在特征提取過程中定位到感興趣的采樣點位置,并通過反向傳播進行網(wǎng)絡訓練。
2018年,Deng等[6]提出的一種UDA風格轉(zhuǎn)換模型(Similarity Preserving Generative Adversarial Network,SPGAN)和Wei等[7]提出的行人風格遷移模型(Person Transfer Generative Adversarial Network,PTGAN)實現(xiàn)了風格遷移應用于無監(jiān)督域自適應問題。CamStyle[8]通過學習相機的不變性對相機風格進行遷移,在一定程度上解決了過擬合問題。然而,這些方法比較依賴生成圖片的質(zhì)量,沒有關(guān)注生成對抗網(wǎng)絡[16](Generative Adversarial Network,GAN)與CNN間的迭代優(yōu)化、影響域適應能力。2019年,F(xiàn)u等[9]提出一種基于聚類方法的UDA模型SSG,依據(jù)行人的全局和局部特征尋找目標域樣本間相似性進行聚類,然而該模型沒有從根本上解決域間差異性問題。Song等[10]提出的UDA模型,在一定程度上提高了域適應能力,但沒有過多關(guān)注域間、相機間風格差異問題。本文基于Song等的UDA模型提出基于DCN的域自適應模型,其UDA模型的訓練過程主要分為3個步驟:首先,在已標注的源域上進行預訓練;之后,基于聚類算法執(zhí)行偽標簽的預測,依據(jù)偽標簽進行特征學習;最后,通過兩個步驟的反復迭代進行訓練。由于域間、相機間的風格差異性較大,使聚類生成的偽標簽變得不準確,影響域自適應能力。因此,緩解域間、相機間風格差異所帶來的負面影響是UDA成功的關(guān)鍵。
本文提出將可變形卷積加入到CNN模型中,代替?zhèn)鹘y(tǒng)的CNN模型,有效緩解了UDA中存在的遮擋問題。預訓練階段提出應用SPGAN直接減小域間差異,訓練過程中應用CycleGAN[6]生成不同相機風格圖像解決相機風格差異性問題。為了進一步提高識別準確率,提出多損失協(xié)同訓練的方法實現(xiàn)CycleGAN和復用CNN模型的迭代優(yōu)化。
本文提出的可變形卷積網(wǎng)絡結(jié)構(gòu)主要是將可變形卷積嵌入到ResNet-50[17]網(wǎng)絡框架中,替換其中固定卷積層和池化層,更換為可變形卷積層和可變形池化層,提高特征學習能力。二維卷積主要包含兩個步驟,首先使用規(guī)格固定的卷積核R在特征圖x上進行滑動采樣,之后利用采樣點乘權(quán)重w求和。其中R決定感受野大小和擴張,如:R= {(-1 , -1) , (-1 , 0), … , (0 , 1) , (1 , 1)},傳統(tǒng)的卷積過程[3]如公式(1)所示:
(1)
Pn是R中所列位置的枚舉值,P0是輸出在特征圖上的位置。DCN的卷積過程則在規(guī)則網(wǎng)格R中增加一個偏移量來提高特征提取的自適應能力,同樣位置的P0則需要加一個偏移量ΔPn(第n個采樣點的偏移),采樣位置變?yōu)椴灰?guī)則可形變的區(qū)域。因此,可變形卷積過程[14]如公式(2)所示:
(2)
由于特征圖上每個位置的取值需要整數(shù),而公式(2)中ΔPn是非整數(shù),故采取雙線性插值的方式處理(尋找坐標距離最近的4個像素點,計算該坐標點的值)。
可變形卷積與傳統(tǒng)卷積的對比如圖1所示,傳統(tǒng)卷積只需要訓練網(wǎng)格點的相應位置點權(quán)重,可變形卷積通過增加額外參數(shù)來訓練卷積網(wǎng)格窗口形變。因此,可變形卷積的采樣點選取可以通過學習得到。圖1(a)為傳統(tǒng)卷積的規(guī)則采樣點位置,1(b)為可變形卷積的采樣點位置。
圖1 傳統(tǒng)卷積和可變形卷積對比圖Fig.1 Comparison of traditional convolution and DCN
傳統(tǒng)的卷積過程主要分為兩個步驟:首先利用已定義感受野大小和擴張的網(wǎng)格窗口卷積核R在特征圖上滑動,之后根據(jù)窗口權(quán)重相乘求和。
相對于傳統(tǒng)卷積過程,可變形卷積過程[14]如圖2所示。使用3×3的可變形卷積執(zhí)行卷積操作,在訓練過程中,同時學習用于生成輸出特征的卷積核和偏移量。偏移量特征與輸入特征的分辨率相同,通道數(shù)需要是采樣點個數(shù)的2倍,即每個位置需要有x、y二維的偏移量??勺冃尉矸e單元中增加的偏移量是網(wǎng)絡結(jié)構(gòu)的一部分,使用平行的傳統(tǒng)卷積單元計算,因此可以通過反向傳播實現(xiàn)端到端的訓練,偏移量的增加使特征提取過程偏向于感興趣的區(qū)域,即達到采樣點位置的自適應變化。
圖2 3×3可變形卷積Fig.2 3×3 deformable convolution
可變形池化過程類比于可變形卷積過程,同樣采取增加偏移的方法,實際處理過程[15]如圖3所示。給定輸入特征圖x,首先通過一個興趣區(qū)域池化將它劃分為k×k個容器,經(jīng)過興趣區(qū)域池化后的特征圖通過一個全連接層產(chǎn)生歸一化偏移,全連接層的輸出為容器個數(shù)的2倍。
圖3 可變形池化Fig.3 Deformable ROI pooling
由于需要偏移和興趣區(qū)域尺寸相匹配,故對偏移做微調(diào),偏移量可轉(zhuǎn)化為ΔPk,單個容器的輸出特征可以表示為公式(3)[15]:
(3)
其中:Pkj表示第k個容器的j個采樣點坐標,x(P0+ΔPk)通過雙線性插值求得,nk代表第k個容器的采樣點數(shù)量,ΔPk表示第k個容器的偏移量。
本文采取的特征提取網(wǎng)絡架構(gòu)是將可變形卷積結(jié)構(gòu)和可變形池化結(jié)構(gòu)嵌入ResNet-50中,將ResNet-50網(wǎng)絡中conv3~conv5中所有的3×3傳統(tǒng)卷積替換為可變形卷積,并于相應位置加入可變形池化層。
2.2.1 SPGAN實現(xiàn)域間風格遷移
SPGAN以CycleGAN作為基礎(chǔ)框架,能夠解決無監(jiān)督行人重識別中存在的域間差異問題。首先,使用兩個鏡像對稱的生成對抗網(wǎng)絡搭建環(huán)形網(wǎng)絡,實現(xiàn)圖像的風格轉(zhuǎn)換;其次,加入新的損失函數(shù)輔助生成器生成目標域風格的行人圖像;此外,加入孿生網(wǎng)絡及對應的一致性損失函數(shù),保證轉(zhuǎn)換之后關(guān)鍵身份信息不丟失。
2.2.2 預訓練損失函數(shù)
使用分類損失函數(shù)Lcls與改進的三元組損失函數(shù)LBH協(xié)同訓練,對預訓練模型微調(diào),總損失函數(shù)為:
Lsrc=Lcls+LBH,
(4)
分類損失函數(shù)[11]定義為:
(5)
其中:N表示批量所包含的圖像數(shù)量,i代表圖像索引。改進的三元組損失函數(shù)[18]被定義為:
(6)
2.2.3 預訓練過程
應用SPGAN實現(xiàn)源域風格遷移,使用基于DCN的CNN模型在源域上進行預訓練。為了提高收斂速度,梯度變化更加穩(wěn)定,在可變形池化層后加入BN層;為了抑制過擬合,使用Adam優(yōu)化器代替SGD優(yōu)化器。
基于DCN的無監(jiān)督域自適應模型如圖4所示。首先,使用預訓練好且基于DCN的CNN模型進行特征提取,通過距離度量獲得源域和目標域之間的距離矩陣M,使用DBSCAN[10]算法進
圖4 基于DCN的域適應模型框架圖Fig.4 Framework diagram of domain adaptation model based on DCN
行行聚類以賦予無標簽數(shù)據(jù)集標簽數(shù)據(jù)。之后,基于目標域樣本應用CycleGAN,生成不同相機風格的圖像數(shù)據(jù)擴充目標域樣本。將生成樣本和目標域樣本一同輸入到復用的CNN模型(即共享權(quán)重),依據(jù)生成的偽標簽,通過多損失協(xié)同訓練方式實現(xiàn)CycleGAN和復用CNN模型的迭代優(yōu)化。
2.3.1 DBSCAN聚類方法生成偽標簽
DBSCAN聚類方法是一種基于密度的聚類算法,此方法由特征樣本分布緊密程度決定。將緊密相連的樣本劃分為同一簇,將不同簇劃分為不同類別,從而得到不同的聚類結(jié)果。
在本框架中,首先利用在源域預訓練好的CNN模型提取無標簽目標數(shù)據(jù)集的特征矩陣,通過距離度量獲得源域數(shù)據(jù)集和目標數(shù)據(jù)集之間的距離矩陣M,然后依據(jù)DBSCAN聚類方法對其聚類,依據(jù)聚類結(jié)果賦予無標簽的目標域生成偽標簽。
D=DBSCAN(M,τ,n),
(7)
其中:τ為半徑,與距離矩陣M共同描述樣本分布緊密程度;n為密度閾值。
2.3.2 樣本風格增強
受源域與目標域的域間差異問題影響,基于DBSCAN聚類算法生成的偽標簽存在部分噪聲。除此以外,目標域訓練樣本的數(shù)量限制也導致每個聚類中樣本多樣性較低,這就導致模型域自適應能力低、學習能力差。針對這個問題,本文提出了數(shù)據(jù)樣本風格增強(Sample Style Augmentation,SSA)的方法,應用GAN擴充目標域解決樣本不足的問題。使用GAN生成的新樣本需要滿足條件:保留原始身份ID的同時,從現(xiàn)有的行人生成新的行人數(shù)據(jù),克服相機風格差異。
循環(huán)生成對抗網(wǎng)絡[6](Cycle-consistent Adversarial Networks,CycleGAN)的網(wǎng)絡結(jié)構(gòu)包括兩個生成器G(X->Y),F(xiàn)(Y->X),兩個判別器DX、DY,旨在實現(xiàn)域X到Y(jié)的普適映射,而不是單一的x到y(tǒng)的映射,能夠滿足不同相機風格轉(zhuǎn)換的要求。因此,本文使用CycleGAN產(chǎn)生不同相機風格的新行人數(shù)據(jù)擴充目標域樣本數(shù)據(jù)。例如,數(shù)據(jù)集中含有N個相機,首先進行CycleGAN模型訓練,該模型能夠?qū)崿F(xiàn)不同相機圖像之間的轉(zhuǎn)換,基于偽標簽生成N-1張不同相機風格的行人數(shù)據(jù)圖像。通過數(shù)據(jù)增強,目標域每個聚類樣本數(shù)量變?yōu)樵瓉淼腘-1倍。
2.3.3 多損失協(xié)同訓練
如圖5所示,CycleGAN樣本風格增強模型包括兩個生成器G(X->Y),F(xiàn)(Y->X),兩個判別器DX、DY。
圖5 CycleGAN網(wǎng)絡結(jié)構(gòu)Fig.5 CycleGAN network structure
該部分選取的損失函數(shù)[6]LSSA為:
LSSA=LGAN(G,DY,X,Y)+
LGAN(F,DX,Y,X)+Lcyc(G,F),
(8)
利用對抗損失LGAN使生成圖像在分布上更加接近于目標圖像,其中LGAN被定義為:
LGAN(G,DY,X,Y)=Ey~pdata(y)[log(DY(Y))]+
Ex~pdata(x)[log(1-DY(G(x)))],
(9)
使用循環(huán)一致性損失Lcyc防止學習到的映射G和F產(chǎn)生矛盾,Lcyc可以表示為:
Lcyc(G,F)=Ex~pdata(x)[‖F(xiàn)(G(x))-x‖1]+
Ey~pdata(y)[‖G(F(y))-y‖1].
(10)
為了進一步提高模型準確率,實現(xiàn)CycleGAN模型和復用CNN的迭代優(yōu)化,本文提出改進的三元組損失函數(shù)LBH、分類損失函數(shù)Lcls和CycleGAN損失函數(shù)LSSA協(xié)同訓練的多損失協(xié)同訓練(Multi-loss Training,ML)方法,總體模型損失函數(shù)為:
Lloss=Lcls+LBH+LSSA,
(11)
Lcls、LBH如公式(5)、(6)所示。
本文在源域DukeMTMC-reID/Market-1501和目標域Market-1501/DukeMTMC-reID下對本文所提出的模型進行消融實驗、對比實驗,來驗證本文算法的有效性。
Algorithm 1 模型訓練過程Input:源域數(shù)據(jù)集S,目標域數(shù)據(jù)集TOutput:CNN模型F 1:CNN模型F在源域進行預訓練 2:for 每次進行聚類迭代 do: 3: 特征提取:F(T),F(S);求距離矩陣M 4: 聚類:D=DBSCAN(M,τ,N) 5: for 從T中取出一個batch的樣本 do: 6: 樣本風格增強,數(shù)據(jù)擴充 7: 多損失協(xié)同訓練,優(yōu)化 8: end for 9:end for 10:return CNN模型F
本文采用兩個無監(jiān)督行人重識別領(lǐng)域常用的公開數(shù)據(jù)集Market-1501和DukeMTMC-reID,使用累積匹配特性(Cumulative match characteristic curve,CMC)中的Rank-1、Rank-5、Rank-10和平均精度(mean average precision,mAP)作為評價標準。
(12)
對于n位命中率Rank-n的描述如下:qi對應的Gqi在前n位包含同一行人,則qi滿足n位命中條件,待檢索圖像集中所有滿足n位命中的圖片數(shù)量記為N′,則Rank-n可表示為
Rank-n=N′/N.
(13)
Market-1501數(shù)據(jù)集共有6個相機、1 501名行人,共包含了32 688張圖像數(shù)據(jù)。其中訓練集涵蓋751人,共包含12 936張圖像數(shù)據(jù);測試集涵蓋750人,共包含19 732張圖像數(shù)據(jù)。DukeMTMC-reID共有8個相機、1 404個行人,共包含了36 411張圖像數(shù)據(jù)。其中訓練集涵蓋702人,共包含16 522張圖像數(shù)據(jù);測試集涵蓋702人,共包含19 889張圖像數(shù)據(jù)。
本實驗采用兩個GeForce GTX 2080 Ti GPU,操作系統(tǒng)為Ubuntu16.04,基于python3.6和pytorch1.7.1完成程序編寫?;贒CN的域自適應模型的迭代次數(shù)是30次,每次迭代70個epoch,批量大小設(shè)置為128。選用Adam優(yōu)化器,設(shè)置學習率為6×10-5,動量設(shè)定為0.9。
為了驗證本文提出模型的有效性,在兩個無監(jiān)督公開的行人數(shù)據(jù)集上進行不同域自適應實驗。分別以Market-1501為源域,在DukeMTMC-reID上進行無監(jiān)督實驗;以DukeMTMC-reID作為源域,在Market-1501上進行無監(jiān)督實驗。本文以Song等[10]提出的自訓練框架方法作為Baseline,消融實驗對比結(jié)果如表1所示。
表1 消融實驗對比結(jié)果Tab.1 Comparison results of ablation experiments (%)
續(xù) 表 (%)
首先,針對基于可變形卷積的CNN模型有效性進行實驗,驗證可變形卷積對特征提取能力的提高。從表1中可以看到,在DukeMTMC-reID/Market-1501>Market-1501/DukeMTMC-reID實驗中:使用基于DCN的CNN模型代替Baseline中的傳統(tǒng)CNN模型,mAP提高了4.4%、3.8%,Rank-1提高了3.9%、2.4%。驗證了基于DCN的CNN模型較傳統(tǒng)CNN模型在特征提取方面的優(yōu)越性。為了進一步驗證可變形卷積對CNN模型特征提取能力的提高,對比DCN-ResNet50和ResNet50特征提取能力,使用CAM實現(xiàn)特征提取過程中第5階段(即layer4)的可視化熱力圖,其部分可視化結(jié)果如圖6、7和8所示。結(jié)合可視化結(jié)果和表1中的實驗結(jié)果可知,可變形卷積的增加使得特征提取部位更加偏向于我們感興趣的區(qū)域,即達到采樣點位置的
圖6 第5階段輸出特征可視化熱力圖1Fig.6 Fifth stage output feature visualization heat map 1
圖7 第5階段輸出特征可視化熱力圖2Fig.7 Fifth stage output feature visualization heat map 2
圖8 第5階段輸出特征可視化熱力圖3Fig.8 Fifth stage output feature visualization heat map 3
自適應變化,有效緩解遮擋、分辨率低等噪聲問題。
由表1可知,加入樣本風格增強后,使得圖像數(shù)據(jù)得到擴充,提高了基于DCN的CNN模型學習能力。實驗結(jié)果表明,使用樣本風格增強后,mAP提高了4.5%、4.6%,Rank-1提高了4.7%、2.6%。證明了使用CycleGAN生成不同相機風格下的行人圖像,實現(xiàn)了樣本數(shù)據(jù)增強,并且在一定程度上抑制了DBSCAN聚類偽標簽噪聲問題,緩解了不同相機間的風格差異問題。
為了驗證多損失協(xié)同訓練方法,使用CycleGAN進行樣本風格增強,并重用基于DCN的CNN模型,利用多損失協(xié)同訓練方法實現(xiàn)CycleGAN模型和復用CNN模型的迭代優(yōu)化。實驗結(jié)果表明,使用多損失協(xié)同訓練后,mAP提高了3.0%、4.3%,Rank-1提高了2.8%、1.3%。結(jié)果表明,多損失協(xié)同訓練方法對于模型間的迭代優(yōu)化訓練過程有一定程度的提高,可獲得更好的行人重識別效果;驗證了CycleGAN損失函數(shù)(LSSA)在模型訓練中的作用,能夠提高CycleGAN生成圖像數(shù)據(jù)的質(zhì)量。
將本文方法與主流無監(jiān)督行人重識別方法進行比較,表2給出以Market-1501/DukeMTMC-reID為源域,以DukeMTMC-reID/Market-1501為目標域的比較結(jié)果,“-”表示對應方法未在數(shù)據(jù)集上實現(xiàn),其中包括:依據(jù)圖像屬性的MMFA[19]無監(jiān)督行人重識別方法;基于域適應的7種無監(jiān)督行人重識別方法SPGAN+LMP[6]、CamStyle[8]、AD-Cluster[11]、ACT[12]、CR-GAN[20]、PCB-PAST[21]、ECN++[22];基于全局與局部特征多重聚類的SSG[9]方法;針對無監(jiān)督行人重識別的多標簽分類來預測多類別標簽,學習ID特征的MPLP[13]方法;基于風格正則化的SNR[23]方法;基于注意力機制的域?qū)R方法DAAM[24]。
表2 算法結(jié)果對比Tab.2 Comparison of algorithm results (%)
本文方法高于所比較的主流競爭方法,在Market-1501上測試,Rank-1準確率為88.2%,mAP為68.7%。相較于目前性能優(yōu)異的AD-Cluster、DAAM、MPLP、ACT、ECN、SNR等均有不同幅度的提升。在DukeMTMC-reID上進行測試,本文方法獲得的Rank-1準確率為78.1%,mAP為64.1%。均高于目前主流方法,且較AD-Cluster的mAP精度提高了10%,Rank-1精度提高了5.5%,驗證了本文方法的有效性。
總體來說,本文在CNN模型中嵌入可變形卷積,提高了CNN模型對行人的特征提取效果,緩解了數(shù)據(jù)集中普遍存在的遮擋、分辨率低等問題;使用樣本風格增強和多損失協(xié)同訓練方法,緩解了不相交相機視圖下的類內(nèi)變化大和類間模糊的問題。本文提出方法實現(xiàn)了無監(jiān)督行人重識別跨域的域自適應,抑制了跨域所導致的性能大幅下降問題,具備在無標注目標數(shù)據(jù)集上的泛化能力。
本文針對傳統(tǒng)CNN模型特征提取過程的遮擋、分辨率低等噪聲問題,提出基于可變形卷積的CNN模型,使特征提取部位更偏向于感興趣的區(qū)域,即達到采樣點位置的自適應變化。針對域間、不同相機風格間差異性較大的問題,在預訓練階段提出應用SPGAN直接減小域間風格差異性,訓練過程中提出應用CycleGAN生成不同相機風格圖像數(shù)據(jù)解決相機風格差異性問題。為了進一步提升無監(jiān)督域自適應行人重識別準確率,提出多損失函數(shù)協(xié)同訓練的方法實現(xiàn)GAN和復用CNN模型的迭代優(yōu)化過程。在當前無監(jiān)督行人重識別領(lǐng)域的公開數(shù)據(jù)集設(shè)定前提下,對本文提出的方法進行驗證。實驗表明,在源域DukeMTMC-reID/ Market-1501和目標域Market-1501/DukeMTMC-reID下實驗,mAP和Rank-1分別達到了68.7%、64.1%和88.2%、78.1%。實驗結(jié)果表明,本文提出的基于DCN的域自適應模型,能夠有效解決數(shù)據(jù)集中存在的遮擋、分辨率低等噪聲問題;能夠降低域間、不同相機風格間的差異性;有效提升無監(jiān)督域自適應行人重識別的準確率。但仍有進步空間,未來工作可以在現(xiàn)有方法基礎(chǔ)上進一步改進以提升特征聚類的準確度。