張譽(yù)馨,張索非,王文龍,吳曉富
(1.南京郵電大學(xué) 通信與信息工程學(xué)院,江蘇 南京 210003;2.南京郵電大學(xué) 物聯(lián)網(wǎng)學(xué)院,江蘇 南京 210003)
行人重識(shí)別(pedestrian re-identification,Re-ID)是利用計(jì)算機(jī)視覺技術(shù)判斷圖像或者視頻序列中是否存在特定行人的技術(shù)。給定一個(gè)待檢行人圖像,Re-ID任務(wù)一般要求檢索出跨監(jiān)控?cái)z像頭下的該行人圖像。隨著安防需求的不斷增長以及計(jì)算機(jī)視覺技術(shù)的迅猛發(fā)展,行人重識(shí)別技術(shù)已成為當(dāng)前計(jì)算視覺研究的一個(gè)熱點(diǎn)方向。
傳統(tǒng)的行人重識(shí)別主要關(guān)注設(shè)計(jì)手工視覺特征與度量相似性兩個(gè)問題。隨著深度學(xué)習(xí)的發(fā)展,用深度神經(jīng)網(wǎng)絡(luò)來有效提取行人重識(shí)別特征的技術(shù)取得了飛速發(fā)展。文獻(xiàn)[8]提出一種基于分塊的卷積基準(zhǔn)網(wǎng)絡(luò)(part based convolutional baseline,PCB),通過將行人均等分為六分塊引導(dǎo)網(wǎng)絡(luò)更加關(guān)注局部粒度信息;文獻(xiàn)[9]中提出的(batch drop block,BDB)算法,通過對(duì)數(shù)據(jù)隨機(jī)局部遮擋,使網(wǎng)絡(luò)獲得更為全面的空間特征;文獻(xiàn)[10]提出一種將判別信息與各粒度相結(jié)合的多粒度網(wǎng)絡(luò)(multiple granularity network,MGN)。這些算法可以有效提升單一數(shù)據(jù)集下訓(xùn)練的模型泛化能力,但是對(duì)于現(xiàn)實(shí)中的復(fù)雜場景,往往訓(xùn)練集中包含兩種甚至更多種風(fēng)格的圖像(例如不同背景和不同光照下拍攝的照片)。當(dāng)數(shù)據(jù)集中出現(xiàn)明顯的數(shù)據(jù)風(fēng)格分歧時(shí),大部分算法并沒有基于多域數(shù)據(jù)的風(fēng)格差異問題進(jìn)行訓(xùn)練優(yōu)化。
如何處理訓(xùn)練數(shù)據(jù)之間的分布差異并利用多個(gè)不同風(fēng)格的數(shù)據(jù)集來訓(xùn)練提升模型的泛化能力是行人重識(shí)別領(lǐng)域需要認(rèn)真考慮的一個(gè)問題。利用多個(gè)風(fēng)格不同的數(shù)據(jù)集來訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的一個(gè)主要障礙來自于深度神經(jīng)網(wǎng)絡(luò)模型中廣泛應(yīng)用的批歸一化(batch normalization,BN)模塊。BN模塊最初由Sergey等提出,用于有效控制層間信號(hào)的取值范圍,其已被證明能大幅提高深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練收斂以及最終性能。然而,BN模塊應(yīng)用于多域數(shù)據(jù)卻存在先天的邏輯缺陷。例如,當(dāng)一個(gè)批次的訓(xùn)練數(shù)據(jù)中呈現(xiàn)兩種不同分布時(shí),以該批次計(jì)算的均值與方差會(huì)大幅震蕩,導(dǎo)致訓(xùn)練過程中歸一化效果惡化。因此,多域行人重識(shí)別面臨的一個(gè)重要問題是如何解決多域數(shù)據(jù)分布差異導(dǎo)致的BN模塊設(shè)計(jì)問題。
為討論行人重識(shí)別使用多個(gè)風(fēng)格數(shù)據(jù)庫的多域訓(xùn)練問題,該文嘗試將兩個(gè)典型的行人數(shù)據(jù)集Market1501和DukeMTMC-reID進(jìn)行合并訓(xùn)練,以此分析多域批歸一化問題并提供解決問題的思路。通過將不同數(shù)據(jù)集下的圖片進(jìn)行分域歸一化處理,從而規(guī)避了數(shù)據(jù)分布差異導(dǎo)致的批歸一化應(yīng)用困境,基于此思路該文嘗試了一種并行訓(xùn)練模式下的多域歸一化方案。實(shí)驗(yàn)分析表明:采用該方案可以有效提升模型的泛化能力,在Market1501和DukeMTMC-reID數(shù)據(jù)集上獲得了明顯的性能提升。
B
={x
1,2,…,},輸出為Y
={y
1,2,…,},則BN層進(jìn)行歸一化處理的關(guān)鍵是計(jì)算這一批次樣本的均值和方差。(1)
(2)
根據(jù)該批次樣本統(tǒng)計(jì)得到的均值和方差對(duì)數(shù)據(jù)進(jìn)行歸一化后再縮放和平移,具體過程為:
(3)
(4)
其中,γ
和β
分別為縮放和平移參數(shù)。由式(1)和式(2)可知:當(dāng)訓(xùn)練集中出現(xiàn)兩種甚至多種呈現(xiàn)明顯分布差異的數(shù)據(jù)時(shí),短時(shí)間窗口所得到的均值與方差必然不穩(wěn)定,表現(xiàn)為不同訓(xùn)練批次計(jì)算出的均值和方差存在振蕩現(xiàn)象,導(dǎo)致模型的歸一化效果惡化。多域數(shù)據(jù)分布差異廣泛存在于行人重識(shí)別研究中,例如不同攝像頭、不同光照下采集得到的行人數(shù)據(jù)集。鑒于目前公開的不同行人數(shù)據(jù)集的固有分布差異,該文以多個(gè)行人數(shù)據(jù)集合并訓(xùn)練存在的多域歸一化問題作為主要研究案例。以Market1501和DukeMTMC-reID為例,Market1501于2015年夏采集自清華大學(xué)校園內(nèi),包含1 501個(gè)行人ID,共有32 668張圖片;DukeMTMC-reID于2015年冬采集自杜克大學(xué)校園內(nèi),包含1 812個(gè)行人ID,共有36 411張圖片。由于數(shù)據(jù)采集的地理位置和所處的季節(jié)不同,這兩種行人數(shù)據(jù)集在行人著裝、背景顏色、鏡頭風(fēng)格方面都存在明顯差異。圖1分別展示了來自Market1501和DukeMTMC-reID的圖片樣例。
圖1 圖片樣例
通過對(duì)比圖片樣例可發(fā)現(xiàn)兩種數(shù)據(jù)集中采集的行人圖片存在顯著差異,例如在Market1501中行人多為身著夏裝的亞洲人群,而Duke-MTMC中多為身著冬裝的歐美人群。在模型訓(xùn)練中,圖片的差異將導(dǎo)致模型BN層中的統(tǒng)計(jì)值也呈現(xiàn)出兩種不同的分布,圖2中展示了采用ResNet50模型分別在Market1501和DukeMTMC-reID訓(xùn)練下各BN層的均值分布差異。
圖2 Market1501和DukeMTMC-reID訓(xùn)練下的 BN層均值分布差異
為評(píng)估由于數(shù)據(jù)集之間的分布差異導(dǎo)致的多域歸一化問題的影響,將兩種不同的行人數(shù)據(jù)集進(jìn)行合并,再用于訓(xùn)練行人重識(shí)別模型,最終將合并訓(xùn)練的模型與單一數(shù)據(jù)集訓(xùn)練的模型進(jìn)行性能比較。表1展示了使用ResNet50網(wǎng)絡(luò)作為基線模型訓(xùn)練后在Market1501和DukeMTMC-reID測試集上進(jìn)行交叉測試的性能對(duì)比。
將多數(shù)據(jù)集進(jìn)行合并訓(xùn)練在理論上可提升模型的整體泛化性能,但表1中的數(shù)據(jù)顯示將Market1501和DukeMTMC合并后訓(xùn)練的模型性能卻在首位配準(zhǔn)率(Rank-1)和平均精度均值(mean average precision,mAP)兩項(xiàng)測試指標(biāo)下均弱于單一數(shù)據(jù)集下訓(xùn)練的結(jié)果。這表明在多數(shù)據(jù)庫合并訓(xùn)練下,多個(gè)數(shù)據(jù)集之間的分布差異導(dǎo)致的多域歸一化問題很大程度影響了模型的訓(xùn)練效果,造成模型最終的性能下降。
表1 Market1501與DukeMTMC-reID數(shù)據(jù)集交叉測試結(jié)果 %
針對(duì)多數(shù)據(jù)集分布差異導(dǎo)致的多域歸一化問題,該文嘗試一種簡單的解決方案。在模型的批歸一化處理模塊中,將數(shù)據(jù)流根據(jù)所屬域進(jìn)行分離,對(duì)不同域下的數(shù)據(jù)進(jìn)行單獨(dú)的歸一化,以此有效緩解歸一化過程中出現(xiàn)的統(tǒng)計(jì)值波動(dòng)困擾。根據(jù)此思路,提出一種針對(duì)特定域數(shù)據(jù)的批歸一化方法(domain-specific batch normalization,DSBN),圖3展示了DSBN模塊的基本流程。
圖3 DSBN模塊數(shù)據(jù)處理流程
如圖3所示,DSBN模塊的每個(gè)訓(xùn)練批次是由兩個(gè)子批次(mini-batch)組成,每個(gè)子批次的樣本分別取自于兩種不同的數(shù)據(jù)庫。一個(gè)完整的訓(xùn)練批次(super-batch)可表示為B
=2×B
,子批次樣本分別送入兩個(gè)獨(dú)立的BN模塊中進(jìn)行批歸一化處理。為使子批次中的圖片來自不同數(shù)據(jù)庫,該方案采用多數(shù)據(jù)集并行訓(xùn)練方式,整體的訓(xùn)練流程如圖4所示。使用ResNet50作為主干網(wǎng)絡(luò),并將其中所有的BN層替換為DSBN模塊,其余層的參數(shù)設(shè)置不變。在并行訓(xùn)練中,模型中所有的歸一化層對(duì)來自不同數(shù)據(jù)集的樣本進(jìn)行獨(dú)立的歸一化,同時(shí)模型中其他層的參數(shù)則共享兩個(gè)數(shù)據(jù)集的信息。
采用此方案的優(yōu)勢是避免了由于多域數(shù)據(jù)分布差異導(dǎo)致的歸一化問題,同時(shí)可以有效利用多數(shù)據(jù)集訓(xùn)練來提升模型的整體泛化能力。
但是在處理數(shù)據(jù)集更大、面對(duì)更復(fù)雜的多域問題時(shí),該方案的實(shí)現(xiàn)復(fù)雜度相對(duì)較高,如何改進(jìn)還有待進(jìn)一步研究。
圖4 多數(shù)據(jù)集并行訓(xùn)練流程
采用了兩種損失函數(shù)對(duì)網(wǎng)絡(luò)進(jìn)行優(yōu)化,分別為交叉熵?fù)p失函數(shù)(cross entropy loss)和三元組損失函數(shù)(triplet loss),交叉熵函數(shù)用于計(jì)算行人ID的分類誤差,記為ID loss;triplet loss優(yōu)化特征之間的度量距離,使正樣本之間的間距更近,負(fù)樣本之間的間距更遠(yuǎn)。
具體而言,該方案主干網(wǎng)絡(luò)輸出的特征圖經(jīng)過全局均值池化層(global average pooling,GAP)后獲得通道維數(shù)為2 048的全局特征向量,分別計(jì)算各子批次的triplet loss,即:
(5)
其中,d
和d
分別表示正樣本對(duì)和負(fù)樣本對(duì)的特征距離,{A
,B
}為數(shù)據(jù)所屬的兩個(gè)不同域,[z
]表示max(z
,0),α
表示距離余量,該方案中將其設(shè)為0.3。經(jīng)過GAP得到的特征向量依次經(jīng)過BNNeck和全連接層(fully connected layer,F(xiàn)C)后輸出行人的分類預(yù)測,總類別為兩個(gè)數(shù)據(jù)集的行人ID數(shù)量總和。采用交叉熵?fù)p失函數(shù)直接計(jì)算總的ID loss,表示為:(6)
其中,N表示總的行人ID數(shù)目,p
表示FC層輸出的對(duì)應(yīng)各ID的預(yù)測概率值,當(dāng)類別預(yù)測與行人實(shí)際標(biāo)簽相符時(shí)q
=1,否則q
=0。最終的loss表示為:(7)
實(shí)驗(yàn)所用的行人數(shù)據(jù)集為Market1501和DukeMTMC-reID。在并行訓(xùn)練方案中,每個(gè)子批次(mini-batch)的batch size設(shè)為64,合并后的super-batch大小為128。由于兩種數(shù)據(jù)集的大小存在差異,因此以其中圖片數(shù)量較多的數(shù)據(jù)集完全訓(xùn)練一次作為一個(gè)epoch,數(shù)量較少的數(shù)據(jù)集存在少量圖片的重復(fù)遍歷。
在訓(xùn)練策略上,采用Adam優(yōu)化算法,一階動(dòng)量系數(shù)設(shè)置為0.9,二階動(dòng)量系數(shù)設(shè)為0.999,權(quán)重衰減系數(shù)為0.000 5。初始學(xué)習(xí)率為0.000 035。采用的WarmUp策略——經(jīng)過20個(gè)epoch將學(xué)習(xí)率從0.0線性提升到0.000 35;再每隔30個(gè)epoch將學(xué)習(xí)率降低為0.2倍,共訓(xùn)練140個(gè)epoch。
在圖片預(yù)處理上,對(duì)兩個(gè)域的數(shù)據(jù)均采用了隨機(jī)擦除(random erasing)和隨機(jī)翻轉(zhuǎn)(random flip)算法進(jìn)行處理,并且將輸入圖像的尺寸統(tǒng)一設(shè)置寬128像素、高256像素。
該方案采用ResNet50作為基礎(chǔ)主干網(wǎng)絡(luò),將其中的BN層替換為DSBN層,并且載入了ImageNet預(yù)訓(xùn)練參數(shù)。訓(xùn)練過程中同時(shí)對(duì)DSBN中的兩套歸一化模塊參數(shù)進(jìn)行優(yōu)化,在測試過程中,模型載入對(duì)應(yīng)數(shù)據(jù)集的歸一化參數(shù)對(duì)各個(gè)測試集進(jìn)行單獨(dú)性能測試。
實(shí)驗(yàn)測試集包含待檢索圖片集Query和檢索圖片庫Gallery兩部分。在測試過程中,先通過網(wǎng)絡(luò)推理得到測試集所有測試圖片對(duì)應(yīng)的特征,然后根據(jù)特征間的歐氏距離計(jì)算出待檢索圖Query與檢索庫Gallery中所有圖片的相似度并進(jìn)行排序,最終計(jì)算首位準(zhǔn)確度(Rank-1)和平均精度均值(mean average precision,mAP)作為模型性能評(píng)價(jià)指標(biāo)。其中首位準(zhǔn)確度主要用于模型對(duì)簡單樣本配準(zhǔn)性能的評(píng)估,而平均精度均值則兼顧了模型對(duì)困難樣本配準(zhǔn)性能的評(píng)估。
實(shí)驗(yàn)運(yùn)行環(huán)境為Ubuntu16.04操作系統(tǒng),使用Pytorch1.1深度學(xué)習(xí)框架實(shí)現(xiàn),并在NVIDIA Tesla P40 GPU上進(jìn)行模型訓(xùn)練。
將采用DSBN模塊的模型性能與優(yōu)化之前的結(jié)果進(jìn)行比較,所對(duì)比的網(wǎng)絡(luò)結(jié)構(gòu)區(qū)別僅在于改變了其中一個(gè)網(wǎng)絡(luò)的歸一化模塊,所采用的訓(xùn)練方式包括單一數(shù)據(jù)集訓(xùn)練和多數(shù)據(jù)集并行方式兩種。對(duì)比結(jié)果如表2所示。
表2 采用DSBN的并行訓(xùn)練與普通訓(xùn)練方式性能對(duì)比 %
由表2可知:相較于單一數(shù)據(jù)集下的性能,最終采用DSBN的并行訓(xùn)練方案在兩個(gè)數(shù)據(jù)集上分別在Rank-1和mAP上提高了0.6、2.5、2.3、2.2個(gè)百分點(diǎn)。由于并行訓(xùn)練模式下同批次中兩種數(shù)據(jù)集的圖片數(shù)量相同,訓(xùn)練時(shí)BN層的輸入均值、方差也相對(duì)更均衡,因此采用并行訓(xùn)練方式得到的模型性能優(yōu)于多數(shù)據(jù)集混合后訓(xùn)練所得性能。
DSBN模塊針對(duì)兩個(gè)域的數(shù)據(jù)分別進(jìn)行歸一化,因此DSBN中的兩個(gè)BN模塊分別對(duì)應(yīng)了兩種數(shù)據(jù)集。使用DSBN模塊中兩套對(duì)應(yīng)不同數(shù)據(jù)集的BN參數(shù)分別在兩個(gè)數(shù)據(jù)集上進(jìn)行測試,結(jié)果如表3所示。
表3 DSBN中對(duì)應(yīng)不同數(shù)據(jù)集的BN參數(shù)測試結(jié)果 %
在測試過程中采用與測試集相對(duì)應(yīng)的BN模塊參數(shù)時(shí),模型識(shí)別的準(zhǔn)確率較高;而使用對(duì)應(yīng)另一測試集的BN參數(shù)則只能得到較低的識(shí)別準(zhǔn)確率。這表明DSBN模塊中的各BN只適于與其對(duì)應(yīng)的一個(gè)數(shù)據(jù)域,從而避免了多域數(shù)據(jù)輸入到同一BN模塊中造成的歸一化問題。表3中的對(duì)比數(shù)據(jù)同時(shí)也印證了前文提出的多數(shù)據(jù)域之間同步分布差異問題的存在,DSBN模塊可在一定程度上緩解其帶來的性能問題。
同時(shí)考察了在兩種數(shù)據(jù)集上采用增量學(xué)習(xí)模式進(jìn)行訓(xùn)練的效果。增量學(xué)習(xí)模式是指模型依次在多個(gè)數(shù)據(jù)集上進(jìn)行訓(xùn)練,使網(wǎng)絡(luò)在不斷增加的訓(xùn)練數(shù)據(jù)集上持續(xù)學(xué)習(xí)以提升最終性能。這里采用原始ResNet50模型依次在兩種數(shù)據(jù)集上訓(xùn)練,采用的訓(xùn)練配置與文中方案保持完全一致,并和提出的并行學(xué)習(xí)方式進(jìn)行比較,得出的測試結(jié)果如表4所示。
表4 與增量學(xué)習(xí)方案對(duì)比結(jié)果 %
由對(duì)比可以發(fā)現(xiàn):該文所采用的DSBN方案在準(zhǔn)確率上優(yōu)于增量學(xué)習(xí)方案,分別在兩個(gè)數(shù)據(jù)集Rank-1和mAP指標(biāo)上相較于增量學(xué)習(xí)方案提高了0.9、3.4、3.7、3.5個(gè)百分點(diǎn),并且在總訓(xùn)練時(shí)長上相較增量學(xué)習(xí)方案也具有一定優(yōu)勢。
將文中方法在Market1501和DukeMTMC上與其他行人重識(shí)別算法進(jìn)行比較,并嘗試將文中方案遷移到其他公開報(bào)道的算法之上,提升其在多數(shù)據(jù)訓(xùn)練下的性能。
實(shí)驗(yàn)對(duì)比結(jié)果如表5所示,其中Ours+MGN、Ours+PLR-OSNet為文中方法與MGNPLR-OSNet算法相結(jié)合后得到的算法。
表5 與其他算法性能比較 %
表5中標(biāo)有*的結(jié)果為實(shí)際復(fù)現(xiàn)結(jié)果。由于本方案采用的網(wǎng)絡(luò)架構(gòu)(Ours)僅利用了單分支網(wǎng)絡(luò)的全局特征,因此性能仍有較大的提升空間,相較于未采用文中方案的基線模型(Baseline)有可觀的性能提升,且與其他采用單分支網(wǎng)絡(luò)的算法例如OSNet、BOT相比也具有一定優(yōu)勢。另外,Ours+MGN、Ours+PLR-OSNet的結(jié)果表明該方案可應(yīng)用于已報(bào)道的其他行人重識(shí)別網(wǎng)絡(luò)(如MGN、PLR-OSNet)并進(jìn)一步提升其性能。
該文聚焦于多數(shù)據(jù)集合并下的行人重識(shí)別模型訓(xùn)練問題。針對(duì)多域混合訓(xùn)練,重點(diǎn)分析了多域數(shù)據(jù)分布差異引起的模型批歸一化模塊的不穩(wěn)定性問題。在此基礎(chǔ)上,提出了一種DSBN模塊來替代傳統(tǒng)的批歸一化模塊。初步實(shí)驗(yàn)表明:所提方案可在多數(shù)據(jù)集合并訓(xùn)練下有效緩解多域歸一化的波動(dòng)問題,提升模型的泛化能力。當(dāng)然,該方案只是多域訓(xùn)練方向的一個(gè)簡單嘗試,多域訓(xùn)練問題的徹底解決還有待更為深入和細(xì)致的研究。