徐家臻,李 婷,楊 巍
1.華中師范大學 教育信息技術學院,武漢430079
2.武漢船舶通信研究所,武漢430070
行人重識別技術是指給定某攝像頭拍攝到的某行人圖片,在資料庫中檢索該行人被其他攝像頭拍到的圖片。由于攝像頭位置、角度和參數設置不同,行人姿態頻繁變化,以及背景干擾、遮擋和成像質量不穩定等原因,同一行人在不同時刻不同攝像頭拍攝的圖片中存在較大差異(如圖1所示),這使得行人重識別問題具有相當的難度。研究行人重識別問題,對于社會安全和智能交通等領域具有重要的應用價值。

圖1 Market1501數據集中的部分行人識別數據(每列圖像為同一行人)
行人重識別早期的研究重在尋找更好的距離度量算法[1],其中最具代表性的方法為KISSME算法[2]。該算法通過似然比檢驗測量樣本對的差異程度,假定樣本對相似及不相似的概率分布均符合均值為0的正態分布,從而得到反映對數似然比檢驗屬性的馬氏度量。近年來,隨著深度學習神經網絡在圖像識別和計算機視覺領域的廣泛成功應用[3],行人重識別的研究也集中到利用深度神經網絡尋找更好的特征描述上。受到深度學習在人臉識別應用的啟發[4],除了使用圖片分類問題中經常使用的基于softmax的交叉熵來衡量識別損失(identification loss)外,這些算法還進一步構造了孿生神經網絡結構,同時輸入2幅、3幅或3幅以上屬于/不屬于同一行人的圖片計算驗證損失(verification loss)[5-8]。
為了進一步解決行人在不同圖像中的對齊問題,Zheng 等人[9]提出了一種空間變換網絡的方法,利用識別損失訓練最優變換參數,盡可能將所有行人縮放和旋轉到統一大小。Wei等人[10-11]運用人體姿態識別領域近期的研究成果,定位人體關鍵點并將人體劃分為頭部、上肢和下肢三部分,分別提取局部特征并與整體特征融合作為行人特征。雖然融合局部特征能夠在一定程度上提高識別準確率,但現有的姿態定位算法本身存在一定誤差,尤其是遮擋和背景干擾較大的情況下,該誤差造成的錯誤劃分反而會影響識別準確率。由此Sun 等人[12]提出了更為簡練的PCB模型,將行人圖像經過卷積神經網絡后的特征從上到下直接等分N份,分別提取各區域的特征同步訓練,以該簡單劃分得到的局部特征識別準確率反而比關鍵點定位更好。
相對于物體識別、人臉識別問題,當前的行人重識別數據集普遍較小,因此也有研究從擴大訓練數據著手,利用對抗神經網絡[13]自動生成大量人工合成的行人圖像,并以此為補充訓練得到更好的識別網絡。由于合成數據與真實數據相比仍存在較明顯的差異,Zheng等人[14]將所有合成數據的標記為1/C,C 為訓練集中的不同行人總數。Qian 等人[15]利用姿態定位算法自動獲取到的關鍵點,以及訓練集和測試集中手工標注的行人屬性信息(如性別、是否戴帽子、是否背包、是否穿靴子等),為每幅不同姿態和環境的行人圖像生成K 幅“標準”圖像,并以行人標準圖像間的差異進行識別判斷。針對攝像頭型號、環境和拍攝季節等因素造成的不同行人數據集圖像的系統性差異。Wei等人[16]構造了用于不同數據集互相轉換的對抗生成網絡,訓練得到的模型識別準確率低于單個數據集訓練的結果,但優于直接合并不同數據集后的訓練結果。
本文為解決局部區域劃分和特征提取的有效性問題,提出了一種基于局部特征選擇的行人重識別算法。該算法采用多尺度滑動窗口方法對局部特征進行多尺度多覆蓋的劃分,以平均池化和最大池化兩種機制分別獲取局部平均特征和局部顯著特征,自適應選擇其中K項最優特征作為局部識別特征,與全局識別特征共同構成最終識別特征。實驗結果表明,使用本文提出方法的特征在目前行人識別數據量最大的兩個數據集Market1501[17]和DukeMTMC-reID[14,18]上都取得了更好的識別準確率。
如圖2 所示,本文采用殘差卷積神經網絡結構ResNet-50[19]作 為 初 始 網 絡NI(Initial Network),從ResNet 的第4 個殘差block 后的激勵信號開始,去掉原有的全連接層,增加兩個分支網絡NG(Global Network)和NL(Local Network),分別獲取全局特征和局部特征。獲取到的全局特征fg 和m 組局部特征{flm}再分別經過同構的識別網絡NC(Classificaion Network)。每個NC網絡的結構均包含以下層次:d1×d2 維的全連接層FC1,Batch Normalize 層,ReLU 層,Dropout 層和d1×c 維全連接層FC2,通過最優局部特征選擇,對輸出計算softmax 損失函數。其中d1 為ResNet 的激勵信號維度,d2 為嵌入特征表示層的維度,c 為不同行人的個數。在全局特征分支網絡NG中,用平均池化層獲取全局特征fg 。在局部特征分支網絡NL 中,首先對上層ResNet輸入的激勵型號進行多尺度滑動窗口劃分,然后將其中對每組獲取到的特征,送入平均池化層和最大池化層分別獲取局部特征{fli|i=1,2,…,m},其中m 為所有劃分數×2。

圖2 本文采用的卷積神經網絡結構示意圖
根據行人圖片的實際采集環境,相當一部分圖片存在對齊和遮擋問題,由于圖片本身的質量較低,使用流行的姿態定位算法如OpenPose 等存在一定誤差,而該誤差會影響下一步的識別正確率。本文提出一種不同的對齊方法,即不顯式對行人關鍵點進行定位,采用多尺度的滑動窗口自適應地尋找最佳劃分方式,訓練該滑動窗口的依據僅來自識別損失。如圖2所示,設ResNet輸出的激勵信號a 的維度為ha×wa×d ,構造s 個不同尺度的hi×wi×d 滑動窗口{WNi|i=1,2,…,s} ,滑動窗口共構造特征ha-hi+1)×(wa-wi+1)組。
如圖2所示,將ResNet輸出的激勵信號a 從上至下等分成p 個部分{Pi|i=1,2,…,p},所有覆蓋Pi的滑動窗口{WNPi}被分成一組,每組滑動窗口的特征經過屬于自己的NC網絡后,只保留識別損失函數最小的一項。于是,整個網絡的損失函數為:

其中:

λ 為權重調節函數,控制全局特征fg 和局部特征fl 在損失函數中所占的比例。
與物體識別、人臉識別不同,行人重識別的圖片的來源一般是截取自攝像頭全景拍攝視頻中的一小塊區域,因此一部分行人重識別圖片質量較差,或者遮擋嚴重,其所能提供的信息量非常有限,即使由人工來進行識別,其成功率也不及人類在物體識別和人臉識別問題上的表現[20],因此部分標記數據存在標注錯誤或疑似錯誤的情況。為避免分類器對錯誤標注過擬合,本文進一步對所有標簽數據進行了平滑處理,假定每個行人標簽都有一定的標錯概率?,而實際正確標注的可能性服從正態分布。即若行人圖片被標注為屬于行人i,則實際標注向量為:

本文所采用的實驗數據主要來自目前行人重識別數據量最大的兩個數據集:Market1501和DukeMTMC-reID。
Market1501 中包含了從6 個不同的攝像頭中拍攝的共1 501 個不同行人的圖片,分為訓練集和測試集。訓練集包括751 人的圖片共12 936 張。測試集包括另外750 人,又分為兩部分:查詢集包括3 368 幅圖片;圖庫集包括與查詢集相同行人的其他圖片13 056幅,以及用于干擾項的不在查詢集中的行人圖片6 676幅。
DukeMTMC-reID 包含了從8 個不同攝像頭中拍攝的共1 404 個不同行人的圖片,分為訓練集和測試集。訓練集包括702 人的圖片共16 522 張。測試集包括另外702人,又分為查詢集和圖庫集,查詢集包括2 228幅圖片,圖庫集包括17 661幅圖片。
圖3為Market1501和DukeMTMC-reID數據集中的部分示例。

圖3 實驗采用的數據集示例
目前評價識別準確率的標準主要有兩種,一種是Rank-n 標準,即給定查詢集中的一幅圖片,計算它與圖庫集中所有圖片的相似度,從高到低排序,如果前n 項中有相同行人即為識別正確。這種評價方式一般以Rank-1結果最為重要,Rank-5或Rank-10輔助參考。另一種標準成為mAP 標準,它更加強調查準率和查全率之間的平衡,也是先對相似度排序,然后從高到低統計從第一項到最后一項相同行人圖片之間正確識別的比率。本文同時比較了兩種標準的識別準確率情況。需要說明的是,同一攝像頭連續拍攝的兩幅圖像中同一行人往往是比較相似的,評價標準中排除了所有這些情況,只統計一個攝像頭中的行人在其他攝像頭拍攝的圖像中查詢到的結果,一定程度抑制了數據本身不平衡可能對結果造成的影響。
本文算法采用深度學習工具包pytorch 實現,在一臺安裝GTX 1080 GPU加速卡的工作站上對實驗數據進行模型訓練和測試評估。主干網絡采用ImageNet預訓練過的ResNet50模型,行人圖片被調整為384×128分辨率輸入。全局特征嵌入層維度為256,局部特征嵌入層維度為128。權重函數λ 設置為1,? 設置為0.1。
滑動窗口初始大小和尺度數的設定對實驗結果存在一些影響如圖4 和圖5。可以看到,當滑動窗口控制在合適大小可以更好地提取局部特征,尺度數越多則候選區域特征越充分,但超過3個尺度后對準確率的實際影響很小,考慮到增加尺度會增加相應的運算量,根據實際需要采用2~3個尺度是比較合適的。

圖4 不同尺度下Market1501數據集Rank-1準確率變化情況

圖5 不同滑動窗口大小下Market1501數據集Rank-1準確率變化情況
為驗證網絡結構的有效性,實驗在Market1051數據集上比較了只是用全局特征(NG),添加了局部特征(+NL),添加了多窗口劃分和局部最優特征選擇(+MS),以及添加標簽平滑(+LS)后的效果,詳細實驗數據見表1。

表1 不同網絡結構和損失函數在Market1501數據集上的測試結果 %
為驗證方法的有效性,把本文提出的方法與只使用全局特征的方法(BASELINE)利用空間變換網絡對齊特征的方法(PAN)、利用GAN 網絡對齊特征的方法(PN-GAN)和等比例劃分局部特征的方法(PCB)進行了對比,在Market1501 和DukeMTMC 數據集上的對比測試結果如表2 和表3。實驗表明,本文提出的方法確實可以提高行人重識別的準確度。

表2 Market1501數據集測試結果 %
圖6 顯示了實驗的部分查詢結果,每行第1 列為查詢圖片,后10列為前10名的查詢結果,綠色邊框為正確結果,黃色邊框為錯誤結果。可以看出,本文方法對于行人重識別問題中姿態變化和遮擋均具有較好的適應能力。

圖6 部分行人重識別結果(綠色邊框為正確結果,黃色邊框為錯誤結果)

表3 DukeMTMC數據集測試結果 %
行人重識別問題中姿態變化、對齊、遮擋等情況對識別效果影響很大,這就要求算法能夠更好地選擇局部區域、提取局部特征和匹配局部特征。本文通過多尺度的滑動窗口創建充足的候選局部特征區域,并通過卷積神經網絡自適應地選擇合適的局部特征,與全局特征一起組成行人圖像特征表達,從而達到更好的識別效果。在接下來的工作中將進一步研究更為有效的局部特征提取和選擇方法。