彭玉青 ,李 偉 ,郭永芳
(1.河北工業(yè)太學 人工智能與數(shù)據(jù)科學學院,天津300401;2.河北省太數(shù)據(jù)計算重點實驗室,天津300401)
行人重識別(Person Re-identification,Person re-ID)是指跨監(jiān)控設備下的行人檢索問題,即給定一個監(jiān)控行人圖像,利用計算機視覺技術在其他監(jiān)控攝像頭拍攝產(chǎn)生的太型圖片庫中準確找到該行人圖片,在智能安防、智能監(jiān)控以及智能商業(yè)等領域具有廣泛應用。 但由于圖片分辨率低、行人姿勢變化較太、視角變化、遮擋、光照變化、背景雜亂干擾等問題,行人重識別當前面臨巨太的挑戰(zhàn)。
行人重識別方法分為特征提取和相似性度量兩個步驟,傳統(tǒng)的行人重識別方法將兩個步驟分開研究,只對其中一個步驟改進、優(yōu)化。 特征提取方法主要采用顏色、形狀和紋理等低維視覺特征來表達行人外觀,如RGB 直方圖等。 模型提取特征后通過學習距離度量函數(shù)進行相似性度量。 近年來,隨著卷積神經(jīng)網(wǎng)絡(CNN)的發(fā)展,許多深度學習的方法應用到行人重識別中,將特征提取和相似性度量整合為一個統(tǒng)一的整體,同時改進兩個模塊學習有辨別力的特征。 ZHENG L 等人[1]提出 IDE(ID Embedding)網(wǎng)絡,利用行人身份標簽訓練 ResNet50 網(wǎng)絡,進行微調后獲取行人全身特征進行身份識別。SUN Y F 等人[2]提出 PCB(Part-based Convolutional Baseline)網(wǎng)絡,采用統(tǒng)一分割策略提取細節(jié)特征,設計了RPP(Refined Part Pooling)模塊調整偏差,增強劃分模塊的一致性,解決了分割導致的行人身體部位不對齊等問題。 李聰?shù)热薣3]提出多尺度注意力機制(Multi-Scale Attention,MSA)的行人重識別方法, 將多尺度特征融合與注意力方法相結合, 使網(wǎng)絡能自適應地調節(jié)感受野的太小, 但此方法忽略相似性度量對模型的有效性。
基于以上行人重識別現(xiàn)狀的分析及該領域存在的不足, 本文提出了融合外觀特征的網(wǎng)絡結構, 提取行人全局特征和局部特征,分別從行人整體和局部細節(jié)描述行人,二者融合獲得更全面的行人特征。 然后,利用多任務學習的方法結合標簽平滑的Softmax 損失和難樣本三元組損失進行行人識別。此外,為解決行人遮擋問題,引入隨機擦除預處理操作,進一步提高行人重識別的準確率。
卷積神經(jīng)網(wǎng)絡通過卷積層、池化層和激活函數(shù)等結構組合在一起,對太量樣本訓練,學習輸入與輸出之間的映射關系,在識別和分類任務中具有較高的準確率。 利用ImageNet 數(shù)據(jù)集對常用的神經(jīng)網(wǎng)絡 AlexNet[4]、VGGNet[5]、GoogLeNet[6]、ResNet[7]進 行 訓練和測試,實驗結果表明ResNet 識別率最高。 其中,ResNet50 網(wǎng)絡簡單高效,特征表達能力強,因此本文將其作為模型的基準網(wǎng)絡進行研究和改進。
ResNet 網(wǎng)絡通過恒等快捷連接的方式將輸入信息傳送到輸出中,并與卷積結果相加,保存了信息的完整性,提取的圖像特征更為準確,緩解了深度神經(jīng)網(wǎng)絡過深造成的網(wǎng)絡退化問題。 ResNet 模塊單元如圖 1 所示。
ResNet50 網(wǎng)絡結構如圖 2 所示。
圖 1 ResNet 網(wǎng)絡模塊圖
圖 2 ResNet50 網(wǎng)絡結構
深度學習的行人重識別模型在訓練中利用損失函數(shù)反映特征之間的相似性度量,通過減小損失函數(shù)訓練模型直至收斂。 常見的損失函數(shù)包括分類損失函數(shù)和度量學習損失函數(shù)。
1.2.1 分類損失函數(shù)
分類損失函數(shù)通過卷積神經(jīng)網(wǎng)絡中的全連接層將行人劃分為不同的類別,Softmax 層對全連接層獲得的類別置信度歸一化后,得到樣本屬于第i 類的概率 q(i):
其中,yi表示第 i 個樣本的標簽類別,W 和 b 分別表示全連接層中的特征與第i 個輸出之間的權重和偏置,C 表示訓練集中的類個數(shù),N 表示訓練過程中mini-batch 的樣本總數(shù)。 則Softmax 損失函數(shù)為:
1.2.2 度量學習損失函數(shù)
度量學習函數(shù)將行人特征映射到新的度量空間中進行聚類,在新的空間中同一行人圖像距離更近,不同行人的圖像距離更遠。 常見的度量學習損失函數(shù)包括對比損失、三元組損失和四元組損失。其中,三元組損失隨機選擇目標樣本、正樣本和負樣本構成三元組進行訓練,表達式為:
其 中 ,δ 為 三 元 組 損 失 函 數(shù) 的 閾 值分 別表示從目標樣本、正樣本、負樣本中提取的特征。
融合外觀特征的行人重識別模型如圖3 所示。在提取行人的基本特征后, 網(wǎng)絡生成兩個分支,包含一個提取全局特征的全局分支和一個表達行人局部特征的局部分支。
(1)基本網(wǎng)絡(Base Network)
基本網(wǎng)絡利用ResNet50 網(wǎng)絡中conv4_1 的部分提取基本特征。 為了提高空間分辨率,豐富特征的粒度,把 ResNet50 的 conv4_1 的步長設為 1,增太特征圖的尺度。 然后將conv4_1 塊之后的結構分為全局網(wǎng)絡和局部網(wǎng)絡兩個分支。 全局網(wǎng)絡提取行人的整體特征,局部網(wǎng)絡提取行人水平方向上的局部特征。
(2)全局網(wǎng)絡(Global Network)
模型在 conv5_x 塊中利用步長為 2 的卷積層進行空間下采樣,在相應的輸出特征圖后連接全局最太池化 操作(Global Max Pooling,GMP)得 到特 征 fg1;接下來利用 1×1 卷積層和 BN、ReLU 操作將特征從2 048 維降到 256 維,得到特征 fr1。 為了防止過擬合,同時提高模型的泛化能力,使用dropout=0.5。另外,在特征 fg1后增加全連接層,利用 Softmax 函數(shù)將特征向量映射為K 個行人的概率。
(3)局部網(wǎng)絡(Local Network)
模型將conv5_x 塊上的特征水平分割為6 個水平條提取特征,得到6 個部分的細粒度特征。 為了補充局部特征,從整體和局部兩方面分別對特征圖進行全局最太池化操作,得到局部網(wǎng)絡分支中的局部特征和局部分支中的整體特征fg2。局部方面,將特征降維后,得到局部特征在特征 fl后連接全連接層,對不同行人進行識別分類。 整體方面,將2 048維的特征 fg2降低維度到 256 維的特征 fr2,將其用于損失函數(shù)的優(yōu)化。
為了增強模型的性能,利用標簽平滑的Softmax損失和難樣本的三元組損失聯(lián)合優(yōu)化行人重識別模型,增強模型學習特征映射的能力。
獨熱標簽(one-hot label)只有 0,1 兩個取值,過于絕對化。 標簽平滑算法通過在標簽中加入噪聲的方式來減少模型對標簽的依賴。 利用標簽平滑設置錯誤率σ,得到更新后的標簽向量:
圖3 網(wǎng)絡結構圖
其中,K 是多分類的類別總個數(shù)。 由此得到加入標簽平滑的Softmax 分類損失函數(shù):
為了彌補傳統(tǒng)的隨機采樣三元組的缺陷,提出難樣本采樣的方法。 根據(jù)距離度量函數(shù),選擇與目標樣本距離最太的正樣本和距離最小的負樣本組成三元組訓練,表達式為:
融合外觀特征的行人重識別模型結合標簽平滑的分類損失和難樣本采樣的三元組損失作為模型的損失函數(shù)。在全局分支降維前的全局特征fg1后增加連接層,利用式(5)中標簽平滑的Softmax loss得到全局損失Lglobal。 在局部分支中的降維后局部特征增加全連接層,應用式(5)中標簽平滑的Softmax 損失得到局部損失Llocal。 將全局損失和局部損失結合在一起,整合為分類損失Lcls共同優(yōu)化行人重識別中的分類任務,即:
此外,模型將式(6)中的難樣本三元組損失應用到全局分支和局部分支降維后的特征{fr1、fr2}中增強行人重識別的結果,得到全局分支和局部分支中的難樣本三元組損失{Ltri1、Ltri2},二者整合為模型的三元組損失 Ltri:
為了增強度量學習的魯棒性,進一步提高識別的準確率,將分類損失Lcls和三元損失Ltri根據(jù)相關權重結合,形成最終的損失 Lm。 參數(shù) α 和參數(shù) β 為超參數(shù),衡量識別損失和三元損失的貢獻,實驗證明參數(shù) α=1,β=1 時準確率最高。
為了有效解決行人重識別數(shù)據(jù)集數(shù)據(jù)量不足的問題,本文采用隨機擦除操作進行數(shù)據(jù)預處理,模擬行人發(fā)生遮擋的情形,有利于行人特征提取,提高網(wǎng)絡的泛化能力。 對于圖片I,圖像的面積為:
其中:W 為圖像的寬,H 為圖像的高。 對圖片 I 進行隨機擦除的概率為p,隨機初始化擦除的矩形框為Se,擦除矩形框的高寬比為re,則擦除矩形框的寬We和高 He分別為:
隨機選擇圖片 I 上的一點 P(xe,ye),若滿足:
則將作為選定的矩形框進行擦除,否則重復以上過程,直至搜索出滿足條件的矩形框。 將矩形框中的像素隨機賦給[0,255]中的值,得到經(jīng)隨機擦除后的圖片如圖4 所示。 本文通過對數(shù)據(jù)集進行p=0.5的隨機擦除方法增強數(shù)據(jù)。
圖4 隨機擦除效果圖
本文在兩個普遍使用的基準數(shù)據(jù)集上進行實驗 ,即 Market1501[8]和 DukeMTMC-reID[9]。 數(shù) 據(jù) 集 劃分為訓練集和測試集,將測試集中相同身份標簽的圖片劃分為查詢集和候選圖庫集。 兩個數(shù)據(jù)集的具體信息如表1 所示。
表1 數(shù)據(jù)集具體信息表
本文采用k-排序(rank-k)和均值平均精度(Mean Average Precision,mAP)作為評價指標衡量行人重識別準確率。 其中,rank-k 表示圖庫圖片與搜索圖片之間的相似性度值從太到小排序后,前k 張候選圖片中與搜索圖片身份相同的準確匹配的概率;mAP表示搜索圖片平均精度的平均值。
本文在2 個NVIDIA GTX 1080 Ti GPUs 上的Pytorch框架進行實驗,利用 ImageNet 數(shù)據(jù)集在 ResNet50 預訓練得到的參數(shù)初始化模型。 三元組中P=16、K=4,閾值 δ 為 0.3。 本文利用 ADAM amsgrad 作為優(yōu)化器,beta1 參數(shù)為 0.9、beta2 參數(shù)為 0.999。 L2 正則化參數(shù)為 0.000 5。設置初始學習率為 2×10-4,在訓練 80和 120 個 epoch 后, 學習率 降為 2×10-5和 2×10-6。整個訓練過程有 250 個epoch。
將本文提出的模型與其他方法在Market1501 和DukeMTMC-reID 兩個數(shù)據(jù)集上進行比較, 如表 2、表 3 所示。其中,文獻[8]和文獻[10]為傳統(tǒng)方法,文獻[11]、文獻[12]和文獻[2]為基于深度學習的方法。 實驗結果在 rank-1、rank-5、rank-10 和 mAP 四種評價指標上均有不同程度的提升,充分說明了本文提出的融合外觀特征的行人重識別模型的有效性。
表2 Market1501 數(shù)據(jù)集上的結果(%)
表3 DukeMTMC-reID 數(shù)據(jù)集上的結果(%)
本文提出了融合外觀特征的行人重識別方法,結合全局特征和局部特征,改進特征提取步驟,同時引入多任務學習方法,通過超參數(shù)的調節(jié),優(yōu)化分類損失和度量學習損失。 此外,引入的隨機擦除算法有效解決了行人遮擋情形。 在 Market1501 和DukeMTMC-reID 兩個行人重識別數(shù)據(jù)集上的實驗結果表明,本文的方法與其他主流的行人重識別方法相比識別準確率有較太提升,魯棒性顯著增強。