張 羽 朱玉全
(江蘇大學計算機科學與通信工程學院 江蘇 鎮江 212013)
行人再識別主要研究跨攝像頭再識別的問題,即出現在攝像頭中的行人能夠在另外的攝像頭中自動被識別出來。實際跨攝像頭跟蹤中,由于拍攝角度、視角、光照、圖像分辨率、遮擋、相機設置的影響,可能會導致同一個行人在不同的攝像頭下具有顯著差異,因此行人再識別仍然是計算機視覺中的一項具有挑戰性的任務。
早期基于深度學習的行人再識別主要關注全局特征[1-3](Global Feature),網絡從整幅圖像提取行人全局特征,通過學習全局特征來捕捉最顯著的外觀特征,從而表示不同行人的身份。目前大部分的卷積神經網絡都是基于全局特征。隨著監控場景中得到圖像的復雜度越來越高,僅僅使用全局特征很難達到性能要求,一些非顯著或不常見的細節信息很容易被忽略。因此提取更加復雜的局部特征(Local Feature)成為行人再識別一個研究熱點。
目前利用局部特征進行行人再識別的方法主要分為兩類。第一類是利用在其他數據集上訓練好的姿勢估計模型無監督遷移到行人再識別數據集上,得到行人身體關節的定位,然后根據身體關節的位置,獲得感興趣區域。其中CVPR2017的工作Spindle Net[4]是該類方法的典型代表,Spindle Net網絡首先通過骨架關鍵點提取14個人體關鍵點,之后利用這些關鍵點來提取7個感興趣區域(Region of Interest,ROI),并將這7個ROI區域和原始圖片輸入同一個網絡提取特征,最后將原始圖片得到的特征和7個ROI區域的特征進行融合。裴嘉震等[5]首先采用姿態估計算法定位人體關節點,然后對行人圖像進行視圖判別以獲得視點信息,并根據視點信息與行人關鍵點位置進行局部區域推薦,生成行人局部圖像,最后將整幅圖像和局部圖像同時輸入網絡進行特征提取。第一類方法雖然可以顯式地定位人體的部件,但是由于姿勢估計數據集和行人再識別數據集之間存在很大的數據偏差,導致姿勢估計任務遷移到行人再識別任務過程中,會向行人再識別任務中引入新的誤差。此外,大部分情況下引入姿勢估計模型需要的標注成本較高,消耗的訓練時間較長。
第二類方法采用統一的圖像切塊方式,按照人體特殊的結構,將圖片從上到下均勻分成幾等份。文獻[6]是圖片切塊的一個典型示例,圖片被垂直切分為若干個圖像塊,然后將圖像塊按照順序輸入到由Long Short-Term Memory網絡[7](LSTM)和孿生網絡[8]組成的網絡中進行特征提取,最后的特征融合了所有圖像塊的局部特征。Zhang 等[9]提出的AlignedReID模型將圖片水平切分為8個部分,然后利用卷積神經網絡對每個部分提取局部特征,最后利用動態規劃思想中的最短路徑距離實現局部特征自動對齊。Sun等[10]提出一種能夠精確劃分身體區域的PCB網絡模型,該模型利用水平切塊,將特征圖均勻切分為六塊,通過這種切塊方式可以提取更細節更具有魯棒性的特征。但是其后續需要使用精確部分池化網絡(RPP)對分塊特征進行精煉,導致網絡不能進行端到端的訓練。Chen等[11]在PCB網絡的基礎上加入了高階注意模塊,對注意力機制中復雜的高階統計信息進行建模和利用,從而捕捉行人之間細微的差異。Miao等[12]提出了姿態引導特征對齊(PGFA)方法,該方法包含姿態引導全局特征分支和局部特征分支,姿態引導全局特征分支中利用人體關鍵點坐標來生成注意力圖,引導模型關注有用的信息,局部特征分支中將特征圖水平切為6個部分,每個部分引入一個分類損失,引導模型關注局部特征。
為了讓網絡既可以學習到不同層級下的行人全局特征,又可以學習到具有區分力的細節特征,本文提出基于圖像切塊的多特征融合行人再識別模型(Image Partition Multi-feature Fusion,PMF-ReID)。PMF-ReID模型使用三個分支分別提取行人的全局特征和局部特征,并將三個分支的特征進行深度融合實現行人身份預測。本文的貢獻如下:1) PMF-ReID模型同時提取圖像低層和高層的全局特征,在保留高分辨率圖像特征的同時,網絡可以提取到更深層的語義信息;2) 在局部特征提取過程中,分支3僅將圖像進行二分塊就可以較好地提取局部特征避免復雜的模型設計和引入額外的姿態評估模型;3) 在模型端到端訓練過程中,本文聯合三種損失函數,并對不同的特征使用不同的損失函數,從而將提取到的特征進行有效融合,使得網絡可以互補地進行學習。
本文的網絡架構如圖1所示,PMF-ReID模型主要分為前后兩個部分:前半部分為提取圖片特征的骨干網絡(Backbone network),后半部分為多特征融合的行人身份分類架構。多特征融合主要融合了圖像的三個全局特征和兩個局部特征,根據不同類型的特征應用合適的損失函數進行網絡模型訓練,最后根據提取出來的特征實現行人身份預測。

圖1 本文網絡架構
當前的行人再識別網絡模型大多以現有的ResNet[13]、VGG-Net[14]、Dense-Net[15]、GoogleNet[16]等網絡作為骨干網絡進行研究,上述網絡模型的有效性已經在 ImageNet[17]數據集上得到了驗證。由于ResNet-50相比于傳統的卷積神經網絡(如VGG-Net)復雜度降低且需要的參數下降,網絡可以做到更深,因此本文使用ResNet-50作為骨干網絡并對其進行修改。
本文移除了ResNet-50中Layer3后面的Layer4層、池化層和全連接層,只保留了Layer3之前網絡作為骨干網絡,并使用ImageNet預訓練模型的參數。骨干網絡包括卷積層,批正則化(Batch Normalization, BN)、ReLU層、最大池化層、Layer1、Layer2和Layer3層。圖片輸入后,將由一個7×7的卷積核負責進行特征的抽取,卷積核的步長為2,所以圖像的長寬會降低為原先的1/2;隨后,再經過最大池化層進一步降低圖像的分辨率;最后經過Layer1、Layer2、Layer3卷積得到特征圖Q。其中,每個Layer層中包括若干個下采樣塊和殘差塊[13](圖2為Layer1層中的下采樣塊和殘差塊),通過殘差塊和下采樣塊的跳躍連接,網絡可以提取到圖片更深層次的語義特征。

圖2 下采樣塊和殘差塊
為了從圖片中獲取不同層級的全局圖像特征和更具有區分力的細節特征,本文設計多特征融合的行人身份分類網絡架構。如圖3所示,輸入圖像經過骨干網絡后得到特征圖Q,然后將Q輸入到多特征融合網絡架構進行全局和局部特征提取。該架構由三個分支組成,分支1(Branch1)和分支2(Branch2)用來提取不同層級的全局特征G1和G2;分支3(Branch3)用來提取全局特征G3和局部特征P1、P2;最后,融合所有特征實現行人身份預測。

圖3 PMF-ReID網絡模型
在端到端的訓練階段,本文對不同的分支使用不同的損失函數,注重于讓模型學習到有區分性的有益部件信息。對于局部特征P1和P2,本文使用交叉熵損(cross-entropy loss)和中心損失(center loss)進行監督訓練;對于全局特征G1、G2和G3,本文使用三元組損失(triplet loss)優化網絡參數。整個網絡模型損失函數如式(1)所示。
(1)
式中:λ為平衡中心損失的權重,實驗中設為0.000 5。
1.3.1提取不同層級的全局特征
隨著網絡深度的增加,高層特征具有更強的語義信息,但高層級特征的分辨率較低導致其對細節的感知能力較差。多數行人再識別網絡模型僅在高層級特征上進行分類,忽視了低層特征的作用。因此,分支1和分支2分別從兩個不同的層級提取行人的全局特征,從而讓網絡既可以學習到高層的語義信息,又可以學習到低層的細節特征。
為了獲得更多的位置和細節信息,本文在分支1中保留了低層特征,即對特征圖Q不進行卷積下采樣,直接將特征圖Q水平區域內所有列向量進行全局最大池化(Global Max Pooling,GMP)得到低層全局特征。本文在全局最大池化的基礎上添加了全局平均池化(Global Average Pooling,GAP)[18],通過對每個通道內的像素求取均值來整合全局空間信息,在一定程度上解決了全局最大池化只保留最顯著信息的問題。最后通過Add操作將兩個低層全局特征進行融合得到全局特征G1。
由于分支1經過的卷積層較少,導致其所得特征的語義性較低。為了獲得具有更高語義信息的特征,分支2首先使用Layer3和Layer4層繼續對特征圖Q進行卷積,其中每個Layer層由若干個下采樣塊和殘差塊構成,下采樣最初的卷積步長設置為2,通過這樣的方式對特征圖進行下采樣后,特征圖Q的通道數擴展為原來的一倍,圖像大小縮減為原來的一半。最后將卷積后的特征圖經過全局最大池化得到全局特征G2。本文使用三元組損失函數分別對分支1和分支2進行監督學習,其中三元組損失函數如式(2)所示:
(2)
式中:‖*‖為歐氏距離;P代表每一個訓練批次ID數目;K代表同一個ID的圖片數;fa、fp和fn分別表示錨點、正樣本和負樣本的特征表達;α為三元組損失的margin值,設置為0.3。
1.3.2局部特征的提取
受PCB網絡的啟發,本文的網絡在提取局部特征時采用水平切塊的方式。分支3中,先讓特征圖Q經過Layer3層和Layer5x層,然后在水平方向上將得到的特征圖分為上下兩個部分,最后對這兩個部分進行特征提取得到局部特征P1、P2,其中每一個局部特征都享有一樣的權重。與分支2中Layer4層不同的是,Layer5x層少了下采樣操作,因此不改變圖像的分辨率,切塊后的圖像仍具有較高的分辨率,保留了適合該局部特征的感受野。本文在使用圖像分塊提取局部特征時,保留了同尺度下圖像全局特征G3,使得模型既可以學習到行人的局部細節信息,又可以學習到該尺度下的行人的整體信息。
本文使用Softmax激活函數作為每個局部特征的分類器,表達式如式(3)所示。
P(id)=softmax(w(id)·x+b(id))
(3)
式中:w(id)和b(id)分別是全連接層的權重矩陣和偏差向量;x為特征;P(id)為輸出的行人身份的預測概率。
由于局部特征塊只包含行人的部分特征,對局部特征使用三元組損失可能會使得局部特征塊的類間距離小于類內距離,影響模型性能,所以對于局部特征本文使用交叉熵損失和中心損失函數進行監督訓練。
交叉熵損失具有較強的類間判別力,但對類內差距的減少效果并不明顯。為了增加類內的緊湊性,本文在使用交叉熵損失函數的同時,添加了中心損失函數對局部特征進行監督,從而讓網絡模型學習到的特征具有更好的泛化性和辨別能力。通過懲罰每個種類的樣本和該種類樣本中心的偏移,使得同一種類的樣本盡量聚合在一起。交叉熵損失函數和中心損失函數的定義如式(4)和式(5)所示。
(4)

(5)
式中:m是最小批次圖片的數量;xi表示第i幅圖片的特征向量;yi表示第i個圖像的標簽;cyi為第yi個類中心。
Market-1501[19]數據集包含1 501個類別,總共36 036幅圖片。該數據集在清華大學校園中采集,圖像來自六個不同的攝像頭,包含五個高分辨攝像頭和1個低分辨攝像頭,每個類別的圖片最多能被六個攝像頭捕捉到,最少能被兩個攝像頭捕捉到。訓練集(training)中有751個行人ID,包含12 936幅圖像,平均每個ID有17.2幅訓練圖片;測試集(testing)中有750個行人ID,包含19 732幅圖像,平均每個ID有26.3幅測試圖片;查詢集(query)中共有3 368幅圖像。
DukeMTMC-reID[2]數據集是一個大規模標記的多目標多攝像頭行人跟蹤數據集,包含36 411個圖像,1 812個不同ID的行人,其中1 404個不同的ID行人出現在不同攝像機視野中,剩余的408個不同ID的行人是一些誤導圖片。該數據集于杜克大學采集,圖像來自8個同步攝像頭,其中702個行人ID用于訓練,其他ID用于測試。
MSMT17[20]數據集是當前最大的公開可用的行人再識別數據集,數據集總時長約180 h,圖像來自15個攝像頭,其中:12個室外攝像頭;3個室內攝像頭。數據集總共有4 101個行人ID,共126 441個邊界框(bounding boxes)。訓練集有1 041個行人ID,共32 621個邊界框,測試集有3 060個行人ID,共93 820個邊界框,其中測試集中有11 659個邊界框被隨機選出來作為查詢集,其他的82 161個邊界框作為底庫(gallery)。數據集以Faster RCNN[21]作為行人檢測器,將檢測到的邊界框進行手工標注。
為了評估本文模型性能,采用業內最常用的兩種評價指標:rank-n(accuracy)和mAP(mean Average Precision)。rank-n是指所查詢的圖像與底庫圖像匹配度最高的前n幅圖片中命中查詢圖片的概率,rank-1即首次命中率。mAP是更加全面衡量行人再識別算法效果的指標,它反映檢索的圖片在底庫中所有正確的圖片排在結果隊列前面的程度。
本文基于PyTorch框架實現網絡模型,并在GTX 1080 Ti GPU上完成實驗。輸入圖像分辨率為128×384,寬高比為1∶3。訓練時的batchsize大小設置為32,測試的batchsize大小設置為256。本文使用SGD優化器對每個樣本進行梯度更新,訓練到收斂時結束。本文將momentum設置為0.9,weight decay設置為0.000 5。
訓練策略具體包括:1) 本文對訓練數據進行隨機裁剪、水平翻轉和概率為0.5的隨機擦除,從而進行數據增強;2) 標簽平滑,用于降低模型過擬合的風險,提高模型的泛化性能;3) 動態調整學習率,初始學習率為3E-2,每step_size步之后衰減lr,多個參數共用step_size,step_size大小設置為60,130。factor設置為0.1。warmup_epoch設置為10,warmup_begin_lr設置為3E-4。
為了驗證本文方法的有效性,本文在Market-1501數據集上進行了4組對比實驗。第1組實驗使用分支1提取全局特征;第2組實驗使用分支1和分支3分別提取淺層的全局特征和局部特征并進行融合;第3組實驗使用分支2和分支3分別提取深層次的全局特征和局部特征進行融合;第4組實驗使用3個分支同時進行特征融合,實驗結果如表1所示。從第1組和第2、3、4組的對比中可以發現,同時提取行人的全局特征和局部特征準確率明顯提升;從(組2,組4)和(組3,組4)的對比中可以發現,與單一層級的全局特征和局部特征融合相比,將不同層級下的全局行人特征和局部特征進行融合可以獲得更好的識別結果。

表1 深度特征融合消融實驗(%)
為了進一步討論圖像分塊數量對實驗結果的影響,本文在公開的大型數據集Market-1501進行了3組對比實驗,實驗結果如表2所示。第一組實驗(Global)不對圖片進行分塊,僅使用分支1和分支2對整幅圖片進行全局特征提取;第二組實驗(Global+Part-2)中的網絡分為3個分支,第1、2個分支使用整幅圖像提取圖像全局的特征,第三個分支將圖像水平切成兩塊,從上下兩個部分分別進行局部特征提取;第三組實驗(Global+Part-3)同第二組一樣,網絡分為三個分支,第一、二個分支提取圖像全局特征,第三個分支則把圖像水平切成三塊,上中下三個部分分別提取圖像的局部特征。從實驗結果可以看出:1)組2、組3相比較組1在rank-1和mAP有明顯的提高,說明將全局特征和局部特征融合的方法是有效的;2)在rank-1和mAP上組2比組3分別高出0.6百分點和2.3百分點,說明本文中將圖像切分兩塊的效果更好。

表2 圖像分塊實驗結果比較(%)
為了驗證多損失函數的有效性,本文在Market-1501數據集上使用不同損失函數進行了三組對比實驗,如表3所示。組1是三個分支均使用交叉熵損失訓練網絡;組2是對3個分支中全局特征和局部特征分別使用三元組損失和交叉熵損失指導多特征學習;組3在第2組實驗的基礎上對局部特征增加了中心損失來輔助多特征學習??梢钥闯?第3組實驗的mAP和rank-1值分別達到87.6%和95.4%,聯合三個損失函數比使用單個損失函數在mAP和rank-1值上分別提高3.4百分點和1.2百分點,說明使用多個損失函數聯合學習對行人再識別任務起到了促進作用。

表3 不同損失函數性能比較(%)
為驗證采用水平切塊的局部特征提取方法中,本文提出的網絡模型的優勢,本文在Market-1501數據集上與其他模型進行了比較。第一組AlignedReID[9]模型把圖片切分為8個部分;第二組GLAD[22]模型把圖片分為頭部、上身和下身三個部分提取特征;第三組MHN[11]、PCB[10]和PCB+RPP[10]模型將圖片水平切塊為6個部分,分別對每個小部分提取特征。從圖4中可以看出,在基于水平切塊的局部特征提取方法中,本文在沒有使用復雜圖像切塊的情況下,所提出的網絡模型比目前先進的MHN模型在rank-1和mAP上分別高出0.3百分點和2.6百分點。

圖4 不同網絡模型在Market-1501數據集上的識別率
表4和表5將本文方法與其他模型在Market-1501、DukeMTMC-reID和MSMT17數據集上的識別準確率進行了比較,其中“—”表示原文獻沒有給出實驗結果。可以看出,本文方法取得較好的實驗結果。其中與目前state-of-the-art 的MHN(CVPR2019)的模型相比,本文模型在Market-1501數據集上的rank-1和mAP分別比其高出0.3百分點和2.6百分點;DukeMTMC-reID數據集上的rank-1與其相近但mAP比其高出1.3百分點。在MSMT17數據集上rank-1和mAP上也有明顯的提升。

表4 Market-1501、DukeMTMC-reID數據集上本文模型與現有模型的比較(%)

表5 MSMT17數據集上本文模型與現有模型的比較(%)
本文將實驗的結果進行了可視化操作,圖5(a)是僅使用整幅圖片提取全局特征得到的可視化結果,圖5(b)是本文網絡的可視化結果。其中:rank是命中率核心指標;rank-1就是排在第一位的圖是否包含目標本人;rank-8是1至8幅圖片中是否至少一幅包含目標本人。

(a)
從圖5(a)可以看出,輸入查詢圖片,其中第7幅圖片和第8幅圖片并不是目標本人,屬于識別錯誤的圖片。圖5(b)中所有查詢出來的圖片都是目標本人,即全部查找正確。從可視化結果可以看出本文提出的網絡模型對于行人再識別的準確率有明顯的提高。
本文從行人再識別應用場景復雜、行人外觀差異大,需要提取更多細節的行人特征這一問題著手,提出一種基于圖像切塊的多特征融合的行人再識別網絡模型。本文設計的網絡模型分為三個分支,全局特征提取分支把整幅行人圖像作為輸入,分別提取圖像不同層級的外觀特征;局部特征提取分支則把圖像分為上下兩個部分,分別對其提取細節特征。此網絡模型既能夠關注到行人的外觀特征,又能關注到行人的局部特征,使得網絡具有很好的行人特征表示能力。此外,本文使用三種損失函數聯合學習代替單一的損失函數指導網絡學習。在幾個大型數據集上進行了驗證實驗,結果表明本文提出的PMF-ReID模型能夠提高行人再識別的準確率。