張譽馨,張索非,王文龍,吳曉富
(1.南京郵電大學 通信與信息工程學院,江蘇 南京 210003;2.南京郵電大學 物聯(lián)網(wǎng)學院,江蘇 南京 210003)
行人重識別(pedestrian re-identification,Re-ID)是利用計算機視覺技術(shù)判斷圖像或者視頻序列中是否存在特定行人的技術(shù)。給定一個待檢行人圖像,Re-ID任務(wù)一般要求檢索出跨監(jiān)控攝像頭下的該行人圖像。隨著安防需求的不斷增長以及計算機視覺技術(shù)的迅猛發(fā)展,行人重識別技術(shù)已成為當前計算視覺研究的一個熱點方向。
傳統(tǒng)的行人重識別主要關(guān)注設(shè)計手工視覺特征與度量相似性兩個問題。隨著深度學習的發(fā)展,用深度神經(jīng)網(wǎng)絡(luò)來有效提取行人重識別特征的技術(shù)取得了飛速發(fā)展。文獻[8]提出一種基于分塊的卷積基準網(wǎng)絡(luò)(part based convolutional baseline,PCB),通過將行人均等分為六分塊引導網(wǎng)絡(luò)更加關(guān)注局部粒度信息;文獻[9]中提出的(batch drop block,BDB)算法,通過對數(shù)據(jù)隨機局部遮擋,使網(wǎng)絡(luò)獲得更為全面的空間特征;文獻[10]提出一種將判別信息與各粒度相結(jié)合的多粒度網(wǎng)絡(luò)(multiple granularity network,MGN)。這些算法可以有效提升單一數(shù)據(jù)集下訓練的模型泛化能力,但是對于現(xiàn)實中的復雜場景,往往訓練集中包含兩種甚至更多種風格的圖像(例如不同背景和不同光照下拍攝的照片)。當數(shù)據(jù)集中出現(xiàn)明顯的數(shù)據(jù)風格分歧時,大部分算法并沒有基于多域數(shù)據(jù)的風格差異問題進行訓練優(yōu)化。
如何處理訓練數(shù)據(jù)之間的分布差異并利用多個不同風格的數(shù)據(jù)集來訓練提升模型的泛化能力是行人重識別領(lǐng)域需要認真考慮的一個問題。利用多個風格不同的數(shù)據(jù)集來訓練深度神經(jīng)網(wǎng)絡(luò)的一個主要障礙來自于深度神經(jīng)網(wǎng)絡(luò)模型中廣泛應(yīng)用的批歸一化(batch normalization,BN)模塊。BN模塊最初由Sergey等提出,用于有效控制層間信號的取值范圍,其已被證明能大幅提高深度神經(jīng)網(wǎng)絡(luò)的訓練收斂以及最終性能。然而,BN模塊應(yīng)用于多域數(shù)據(jù)卻存在先天的邏輯缺陷。例如,當一個批次的訓練數(shù)據(jù)中呈現(xiàn)兩種不同分布時,以該批次計算的均值與方差會大幅震蕩,導致訓練過程中歸一化效果惡化。因此,多域行人重識別面臨的一個重要問題是如何解決多域數(shù)據(jù)分布差異導致的BN模塊設(shè)計問題。
為討論行人重識別使用多個風格數(shù)據(jù)庫的多域訓練問題,該文嘗試將兩個典型的行人數(shù)據(jù)集Market1501和DukeMTMC-reID進行合并訓練,以此分析多域批歸一化問題并提供解決問題的思路。通過將不同數(shù)據(jù)集下的圖片進行分域歸一化處理,從而規(guī)避了數(shù)據(jù)分布差異導致的批歸一化應(yīng)用困境,基于此思路該文嘗試了一種并行訓練模式下的多域歸一化方案。實驗分析表明:采用該方案可以有效提升模型的泛化能力,在Market1501和DukeMTMC-reID數(shù)據(jù)集上獲得了明顯的性能提升。
B
={x
1,2,…,},輸出為Y
={y
1,2,…,},則BN層進行歸一化處理的關(guān)鍵是計算這一批次樣本的均值和方差。
(1)

(2)
根據(jù)該批次樣本統(tǒng)計得到的均值和方差對數(shù)據(jù)進行歸一化后再縮放和平移,具體過程為:

(3)

(4)
其中,γ
和β
分別為縮放和平移參數(shù)。由式(1)和式(2)可知:當訓練集中出現(xiàn)兩種甚至多種呈現(xiàn)明顯分布差異的數(shù)據(jù)時,短時間窗口所得到的均值與方差必然不穩(wěn)定,表現(xiàn)為不同訓練批次計算出的均值和方差存在振蕩現(xiàn)象,導致模型的歸一化效果惡化。多域數(shù)據(jù)分布差異廣泛存在于行人重識別研究中,例如不同攝像頭、不同光照下采集得到的行人數(shù)據(jù)集。鑒于目前公開的不同行人數(shù)據(jù)集的固有分布差異,該文以多個行人數(shù)據(jù)集合并訓練存在的多域歸一化問題作為主要研究案例。以Market1501和DukeMTMC-reID為例,Market1501于2015年夏采集自清華大學校園內(nèi),包含1 501個行人ID,共有32 668張圖片;DukeMTMC-reID于2015年冬采集自杜克大學校園內(nèi),包含1 812個行人ID,共有36 411張圖片。由于數(shù)據(jù)采集的地理位置和所處的季節(jié)不同,這兩種行人數(shù)據(jù)集在行人著裝、背景顏色、鏡頭風格方面都存在明顯差異。圖1分別展示了來自Market1501和DukeMTMC-reID的圖片樣例。

圖1 圖片樣例
通過對比圖片樣例可發(fā)現(xiàn)兩種數(shù)據(jù)集中采集的行人圖片存在顯著差異,例如在Market1501中行人多為身著夏裝的亞洲人群,而Duke-MTMC中多為身著冬裝的歐美人群。在模型訓練中,圖片的差異將導致模型BN層中的統(tǒng)計值也呈現(xiàn)出兩種不同的分布,圖2中展示了采用ResNet50模型分別在Market1501和DukeMTMC-reID訓練下各BN層的均值分布差異。

圖2 Market1501和DukeMTMC-reID訓練下的 BN層均值分布差異
為評估由于數(shù)據(jù)集之間的分布差異導致的多域歸一化問題的影響,將兩種不同的行人數(shù)據(jù)集進行合并,再用于訓練行人重識別模型,最終將合并訓練的模型與單一數(shù)據(jù)集訓練的模型進行性能比較。表1展示了使用ResNet50網(wǎng)絡(luò)作為基線模型訓練后在Market1501和DukeMTMC-reID測試集上進行交叉測試的性能對比。
將多數(shù)據(jù)集進行合并訓練在理論上可提升模型的整體泛化性能,但表1中的數(shù)據(jù)顯示將Market1501和DukeMTMC合并后訓練的模型性能卻在首位配準率(Rank-1)和平均精度均值(mean average precision,mAP)兩項測試指標下均弱于單一數(shù)據(jù)集下訓練的結(jié)果。這表明在多數(shù)據(jù)庫合并訓練下,多個數(shù)據(jù)集之間的分布差異導致的多域歸一化問題很大程度影響了模型的訓練效果,造成模型最終的性能下降。

表1 Market1501與DukeMTMC-reID數(shù)據(jù)集交叉測試結(jié)果 %
針對多數(shù)據(jù)集分布差異導致的多域歸一化問題,該文嘗試一種簡單的解決方案。在模型的批歸一化處理模塊中,將數(shù)據(jù)流根據(jù)所屬域進行分離,對不同域下的數(shù)據(jù)進行單獨的歸一化,以此有效緩解歸一化過程中出現(xiàn)的統(tǒng)計值波動困擾。根據(jù)此思路,提出一種針對特定域數(shù)據(jù)的批歸一化方法(domain-specific batch normalization,DSBN),圖3展示了DSBN模塊的基本流程。

圖3 DSBN模塊數(shù)據(jù)處理流程
如圖3所示,DSBN模塊的每個訓練批次是由兩個子批次(mini-batch)組成,每個子批次的樣本分別取自于兩種不同的數(shù)據(jù)庫。一個完整的訓練批次(super-batch)可表示為B
=2×B
,子批次樣本分別送入兩個獨立的BN模塊中進行批歸一化處理。為使子批次中的圖片來自不同數(shù)據(jù)庫,該方案采用多數(shù)據(jù)集并行訓練方式,整體的訓練流程如圖4所示。使用ResNet50作為主干網(wǎng)絡(luò),并將其中所有的BN層替換為DSBN模塊,其余層的參數(shù)設(shè)置不變。在并行訓練中,模型中所有的歸一化層對來自不同數(shù)據(jù)集的樣本進行獨立的歸一化,同時模型中其他層的參數(shù)則共享兩個數(shù)據(jù)集的信息。
采用此方案的優(yōu)勢是避免了由于多域數(shù)據(jù)分布差異導致的歸一化問題,同時可以有效利用多數(shù)據(jù)集訓練來提升模型的整體泛化能力。
但是在處理數(shù)據(jù)集更大、面對更復雜的多域問題時,該方案的實現(xiàn)復雜度相對較高,如何改進還有待進一步研究。

圖4 多數(shù)據(jù)集并行訓練流程
采用了兩種損失函數(shù)對網(wǎng)絡(luò)進行優(yōu)化,分別為交叉熵損失函數(shù)(cross entropy loss)和三元組損失函數(shù)(triplet loss),交叉熵函數(shù)用于計算行人ID的分類誤差,記為ID loss;triplet loss優(yōu)化特征之間的度量距離,使正樣本之間的間距更近,負樣本之間的間距更遠。
具體而言,該方案主干網(wǎng)絡(luò)輸出的特征圖經(jīng)過全局均值池化層(global average pooling,GAP)后獲得通道維數(shù)為2 048的全局特征向量,分別計算各子批次的triplet loss,即:

(5)
其中,d
和d
分別表示正樣本對和負樣本對的特征距離,{A
,B
}為數(shù)據(jù)所屬的兩個不同域,[z
]表示max(z
,0),α
表示距離余量,該方案中將其設(shè)為0.3。經(jīng)過GAP得到的特征向量依次經(jīng)過BNNeck和全連接層(fully connected layer,F(xiàn)C)后輸出行人的分類預測,總類別為兩個數(shù)據(jù)集的行人ID數(shù)量總和。采用交叉熵損失函數(shù)直接計算總的ID loss,表示為:
(6)
其中,N表示總的行人ID數(shù)目,p
表示FC層輸出的對應(yīng)各ID的預測概率值,當類別預測與行人實際標簽相符時q
=1,否則q
=0。最終的loss表示為:
(7)
實驗所用的行人數(shù)據(jù)集為Market1501和DukeMTMC-reID。在并行訓練方案中,每個子批次(mini-batch)的batch size設(shè)為64,合并后的super-batch大小為128。由于兩種數(shù)據(jù)集的大小存在差異,因此以其中圖片數(shù)量較多的數(shù)據(jù)集完全訓練一次作為一個epoch,數(shù)量較少的數(shù)據(jù)集存在少量圖片的重復遍歷。
在訓練策略上,采用Adam優(yōu)化算法,一階動量系數(shù)設(shè)置為0.9,二階動量系數(shù)設(shè)為0.999,權(quán)重衰減系數(shù)為0.000 5。初始學習率為0.000 035。采用的WarmUp策略——經(jīng)過20個epoch將學習率從0.0線性提升到0.000 35;再每隔30個epoch將學習率降低為0.2倍,共訓練140個epoch。
在圖片預處理上,對兩個域的數(shù)據(jù)均采用了隨機擦除(random erasing)和隨機翻轉(zhuǎn)(random flip)算法進行處理,并且將輸入圖像的尺寸統(tǒng)一設(shè)置寬128像素、高256像素。
該方案采用ResNet50作為基礎(chǔ)主干網(wǎng)絡(luò),將其中的BN層替換為DSBN層,并且載入了ImageNet預訓練參數(shù)。訓練過程中同時對DSBN中的兩套歸一化模塊參數(shù)進行優(yōu)化,在測試過程中,模型載入對應(yīng)數(shù)據(jù)集的歸一化參數(shù)對各個測試集進行單獨性能測試。
實驗測試集包含待檢索圖片集Query和檢索圖片庫Gallery兩部分。在測試過程中,先通過網(wǎng)絡(luò)推理得到測試集所有測試圖片對應(yīng)的特征,然后根據(jù)特征間的歐氏距離計算出待檢索圖Query與檢索庫Gallery中所有圖片的相似度并進行排序,最終計算首位準確度(Rank-1)和平均精度均值(mean average precision,mAP)作為模型性能評價指標。其中首位準確度主要用于模型對簡單樣本配準性能的評估,而平均精度均值則兼顧了模型對困難樣本配準性能的評估。
實驗運行環(huán)境為Ubuntu16.04操作系統(tǒng),使用Pytorch1.1深度學習框架實現(xiàn),并在NVIDIA Tesla P40 GPU上進行模型訓練。
將采用DSBN模塊的模型性能與優(yōu)化之前的結(jié)果進行比較,所對比的網(wǎng)絡(luò)結(jié)構(gòu)區(qū)別僅在于改變了其中一個網(wǎng)絡(luò)的歸一化模塊,所采用的訓練方式包括單一數(shù)據(jù)集訓練和多數(shù)據(jù)集并行方式兩種。對比結(jié)果如表2所示。

表2 采用DSBN的并行訓練與普通訓練方式性能對比 %
由表2可知:相較于單一數(shù)據(jù)集下的性能,最終采用DSBN的并行訓練方案在兩個數(shù)據(jù)集上分別在Rank-1和mAP上提高了0.6、2.5、2.3、2.2個百分點。由于并行訓練模式下同批次中兩種數(shù)據(jù)集的圖片數(shù)量相同,訓練時BN層的輸入均值、方差也相對更均衡,因此采用并行訓練方式得到的模型性能優(yōu)于多數(shù)據(jù)集混合后訓練所得性能。
DSBN模塊針對兩個域的數(shù)據(jù)分別進行歸一化,因此DSBN中的兩個BN模塊分別對應(yīng)了兩種數(shù)據(jù)集。使用DSBN模塊中兩套對應(yīng)不同數(shù)據(jù)集的BN參數(shù)分別在兩個數(shù)據(jù)集上進行測試,結(jié)果如表3所示。

表3 DSBN中對應(yīng)不同數(shù)據(jù)集的BN參數(shù)測試結(jié)果 %
在測試過程中采用與測試集相對應(yīng)的BN模塊參數(shù)時,模型識別的準確率較高;而使用對應(yīng)另一測試集的BN參數(shù)則只能得到較低的識別準確率。這表明DSBN模塊中的各BN只適于與其對應(yīng)的一個數(shù)據(jù)域,從而避免了多域數(shù)據(jù)輸入到同一BN模塊中造成的歸一化問題。表3中的對比數(shù)據(jù)同時也印證了前文提出的多數(shù)據(jù)域之間同步分布差異問題的存在,DSBN模塊可在一定程度上緩解其帶來的性能問題。
同時考察了在兩種數(shù)據(jù)集上采用增量學習模式進行訓練的效果。增量學習模式是指模型依次在多個數(shù)據(jù)集上進行訓練,使網(wǎng)絡(luò)在不斷增加的訓練數(shù)據(jù)集上持續(xù)學習以提升最終性能。這里采用原始ResNet50模型依次在兩種數(shù)據(jù)集上訓練,采用的訓練配置與文中方案保持完全一致,并和提出的并行學習方式進行比較,得出的測試結(jié)果如表4所示。

表4 與增量學習方案對比結(jié)果 %
由對比可以發(fā)現(xiàn):該文所采用的DSBN方案在準確率上優(yōu)于增量學習方案,分別在兩個數(shù)據(jù)集Rank-1和mAP指標上相較于增量學習方案提高了0.9、3.4、3.7、3.5個百分點,并且在總訓練時長上相較增量學習方案也具有一定優(yōu)勢。
將文中方法在Market1501和DukeMTMC上與其他行人重識別算法進行比較,并嘗試將文中方案遷移到其他公開報道的算法之上,提升其在多數(shù)據(jù)訓練下的性能。
實驗對比結(jié)果如表5所示,其中Ours+MGN、Ours+PLR-OSNet為文中方法與MGNPLR-OSNet算法相結(jié)合后得到的算法。

表5 與其他算法性能比較 %
表5中標有*的結(jié)果為實際復現(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)用于已報道的其他行人重識別網(wǎng)絡(luò)(如MGN、PLR-OSNet)并進一步提升其性能。
該文聚焦于多數(shù)據(jù)集合并下的行人重識別模型訓練問題。針對多域混合訓練,重點分析了多域數(shù)據(jù)分布差異引起的模型批歸一化模塊的不穩(wěn)定性問題。在此基礎(chǔ)上,提出了一種DSBN模塊來替代傳統(tǒng)的批歸一化模塊。初步實驗表明:所提方案可在多數(shù)據(jù)集合并訓練下有效緩解多域歸一化的波動問題,提升模型的泛化能力。當然,該方案只是多域訓練方向的一個簡單嘗試,多域訓練問題的徹底解決還有待更為深入和細致的研究。