項朝輝 王麗亞 邱健數(shù)
關鍵詞: 行人重識別; 圖像聚類; 降維分析; 輪廓系數(shù); 計算機視覺
中圖分類號:TP39 文獻標識碼:A
文章編號:1009-3044(2024)03-0028-04
0 概述
行人重識別(Person re-identification ReID) 是一個圖像搜索的問題,它的任務是在不同時間不同攝像頭數(shù)據(jù)中檢測特定目標。隨著智慧城市的發(fā)展,人們對安防的需求越來越高,現(xiàn)實中部署的攝像頭數(shù)量越來越多,如何從大量的視頻數(shù)據(jù)中快速檢索出特定目標,成為計算機視覺中一個熱點研究的問題。隨著深度學習的發(fā)展,當前行人重識別任務廣泛采用深度學習網(wǎng)絡提取圖像的特征。
1.1 行人重識別特征
使用深度學習的方法提取圖像中行人的特征主要有特征表示學習和深度度量學習兩種方式。對于行人重識別任務,特征表示學習的思路是從行人的圖像中總結出能夠區(qū)分不同身份的更具有判別性的特征表示。其中根據(jù)提取特征策略的差異,進一步可以將ReID模型分為驗證模型和分類模型。文獻[1]將行人重識別問題看成是一個多分類的問題,每個身份的行人圖像為一個類別,用訓練分類模型的方法達到行人重識別目的。文獻[2]在全局特征的基礎上,加入了相似性度量的方法,提高了搜索精度。全局特征難以捕捉到局部特征的差異,為了解決細粒度特征的問題,文獻[3]改進卷積核,采用了小型的卷積核進行特征提取,該方法提取的特征在行人圖像存在遮擋等問題時,搜索結果表現(xiàn)出較好的魯棒性。由于攝像頭的角度不同,拍攝到行人的姿態(tài)差異較大,導致同一人在不同攝像頭下的圖片特征相似度低,為了解決該問題,主流的方法是將全局特征與局部特征相融合。文獻[4]對行人圖像進行姿態(tài)估計,確定了圖像中行人頭、腳等部位的位置,再將圖像水平分割,分別提取每一個水平區(qū)域內的局部特征,最后融合全局特征,提高了特征的魯棒性。文獻[5]同樣采用了水平分割圖像的方法,但是不同角度下分割出來的水平區(qū)域不能對齊,該文獻設計了精細局部池化模塊進行對齊,提高了行人特征提取的性能。
另一種提取行人特征的方式是深度度量學習。度量學習的目的是在樣本中得到一個最優(yōu)的距離度量方式,能夠有效衡量樣本之間的相似性。而深度度量學習是使用深度學習的方法,將樣本特征從一個特征空間映射到另一個特征空間,在新的特征空間中,同一類別的樣本距離較近,不同類別的樣本距離較遠。而對于傳統(tǒng)度量學習的方程,深度學習采用損失函數(shù)替代,其中實例損失是將行人重識別任務當作一個圖像分類問題[1]。文獻[6]改進分類損失函數(shù),采用了三元組損失函數(shù)訓練行人特征,其思想為,不僅要讓不同類別的特征距離變大,還要讓相同類別的特征距離變小。為了解決三元組損失存在的正樣本之間距離無法控制的問題,文獻[7]選擇難樣本進行計算三元組損失。文獻[8]設計了感知三元組損失,其思路是將序列特征建模為一個集合,通過三元組損失優(yōu)化集合之間的距離,提升了行人特征的表示能力。
1.2 圖像聚類方法
在計算機視覺中,聚類是研究較少的方法,然而,對于行人重識別任務,有效的聚類可以提高搜索的速度。文獻[9]將聚類方法應用到目標檢測中,為了解決外界干擾檢測的影響,該文獻改進了K-means算法,讓所有樣本計算其與子類的中心距離,以達到自動搜索聚類個數(shù)的目的。文獻[10]將聚類方法應用到圖像分割的任務中,將圖像背景進行聚類從而達到前景提取的目的。該方法以視頻為研究目標,從連續(xù)的圖像中進行像素級去監(jiān)督模糊聚類,對結果進行閾值分割來自適應確定單?;蚨嗄1尘?。文獻[11]將聚類方法應用到圖像的多目標檢測任務中,對K-means算法進行自適應改進,對運動物體的像素值、特征點坐標進行聚類,進而區(qū)分了運動目標和背景,從而完成了運動多目標檢測。文獻[12]將聚類方法應用到人臉檢測和文字檢測任務中,研究了將馬爾可夫聚類網(wǎng)絡與Viola-Jones算法結合,達到了圖像尺寸以及特征點方向的自適應性,有效提高了人臉檢測與文字檢測的精準度。
綜上,對行人重識別的研究重點在如何提取具有更好表示能力的特征,以及設計具有更強區(qū)分能力的度量。本文將在行人重識別任務中加入聚類算法,在搜索結果中,通過聚類得出聚類中心的排序,提高圖像檢索的效率。另外,對行人圖像特征進行降維,使用聚類效果衡量各個維度下特征的表示能力,來確定最優(yōu)的維度,從而達到提高行人重識別搜索速度的目的。
2 相關工作
2.1 FastReID
京東AI研究院發(fā)布的FastReID[13]涵蓋了模型訓練、模型評估、模型微調和模型部署。在網(wǎng)絡中設計了4個模塊,分別是圖像預處理、骨干網(wǎng)(Backbone) 、聚合模塊(Aggregation) 以及Head 模塊。FastReID 在每個模塊中配置了多種可選方法以適用于不同場景的任務。其中主干網(wǎng)絡用來提取圖像特征,F(xiàn)astReID 實現(xiàn)了3 個不同的主干,包括ResNet、ResNext 和ResNeSt。聚合模塊用于將骨干網(wǎng)生成的特征聚合成一個全局特征。Head模塊用于對生成的全局特征進行歸一化、緯度約減等。
其中,D(:,:) 是關于人的圖像對的距離度量,m 為一對正和負之間的邊界。本文使用FastReID提取人體圖像的特征作為搜索的重要部分。
2.2 DBSCAN 聚類
DBSCAN(Density-Based Spatial Clustering of Ap?plications with Noise,具有噪聲的基于密度的聚類方法)是一種典型的基于密度的空間聚類算法。對于凸樣本集或非凸樣本集DBSCAN都有良好的聚類效果,而且它能夠找到空間中任意形狀的簇。
DBSCAN 的思路是根據(jù)數(shù)據(jù)樣本在空間中的距離計算密度,根據(jù)密度將數(shù)據(jù)點分為一類,其算法流程如下:
(1) 對于給定的數(shù)據(jù)集D,設定超參數(shù)鄰域半徑?和鄰域最小樣本點數(shù)MinPts;
(2) 從數(shù)據(jù)集D 中隨機選取一個樣本點,如果其鄰域半徑? 內有大于MinPts 個樣本,則標記為核心樣本,則找到所有與該點密度相連的樣本點,否則暫時將其標記為噪聲點,后續(xù)還會進一步將其分類;
(3) 重復(2) 步驟直到找到一個核心樣本,然后對其? 鄰域內所有的核心對象,尋找對應的密度相連的樣本點;
(4) 遍歷所有暫時的噪聲點,重復(2) 和(3) ,直到沒有新的核心對象為止;
(5) 完成上述操作后仍然沒有歸類的點被標記為最終的噪聲點。
和傳統(tǒng)的K-means算法相比,DBSCAN最大的不同就是無需確定聚類個數(shù)。在行人重識別任務中,搜索庫中行人的身份個數(shù)也是未知的。另外,DBSCAN 對任意形狀有自適應性,這一點也和行人圖片由于角度、遮擋等原因造成樣本空間非凸特點非常契合。綜上,本文將使用DBSCAN對行人特征進行聚類。
2.3 評估方法
相較于分類任務,搜索任務的類別個數(shù)是可以增加或者減少的,所以通常使用搜索結果的排序來進行衡量模型效果。其中常用的Rank-n 表示搜索排序中前n 張圖是否包含目標類別的概率。另外平均準確率均值mAP 衡量了目標類別在搜索排序中的分布,對于為x1、x2、...xn的n 張檢索到的圖像結果,一共M 類,其mAP 計算公式如下:
對于無監(jiān)督聚類算法,通常使用輪廓系數(shù)(Silhou?ette Score) 來衡量聚類效果。輪廓系數(shù)計算了同一個類別中所有點之間的距離以及與鄰近類別中所有點的距離,通過距離來評估聚類模型的表現(xiàn)。主要思想是讓類內距離越小且類間距離越大的模型分數(shù)越高。
對于模型開發(fā)階段,行人重識別數(shù)據(jù)集已經標注了行人的信息,所以可以通過行人身份進一步衡量聚類效果?;バ畔⒎郑∕utual Information-based Score) 可以衡量真實標簽和聚類結果之間的相似性。其指標越接近0,表示聚類結果越隨機,指標越接近1,表示聚類越精確。
綜上,本文采用多種評價方法評估聚類的效果,以便于尋找最優(yōu)的行人圖像聚類結果。
3 本文工作
FastReID模型通過提取行人圖像全局特征進行行人搜索,實際場景中由于光線、遮擋、攝像頭角度、攝像頭距離等問題,導致同一人的不同圖像特征差距較大,造成誤判。另外行人駐足停留或者活動頻繁會導致搜索出大量相似的圖片,如果搜索結果中出現(xiàn)大量誤判的相似圖片,則會嚴重干擾人們快速在搜索結果中找到目標。本文將在行人全局特征的基礎上,進行聚類,以便于快速地檢索出目標圖片。圖1為行人重識別搜索結果圖。
現(xiàn)實場景中,行人搜索固定時間空間內的圖片數(shù)量以及id 數(shù)量是不確定的,所以該任務不能用Kmeans這種需要確定聚類個數(shù)的聚類算法。本文將使用DBSCAN 密度聚類算法,該算法根據(jù)圖像特征密度、樣本之間的聚類劃分出類別。圖2為聚類后搜索結果圖。
在DBSCAN密度聚類算法中,不同樣本特征根據(jù)距離是否超過閾值來區(qū)分是否為領域內的點,從而達到聚類目的。其中距離閾值? 是一個非常重要的參數(shù),如何正確地設置參數(shù)數(shù)值是聚類的關鍵。本文通過多種方式衡量聚類的效果:1) 類別個數(shù)判定。由于訓練數(shù)據(jù)為有標注的行人數(shù)據(jù),所以可以通過比較聚類后的類別個數(shù)與真實類別個數(shù)差異來衡量聚類效果;2) 輪廓系數(shù)判定。在特征層面,好的聚類結果是類內距離較小,類間距離較大,所以可以選取輪廓系數(shù)來衡量聚類效果;3) 互信息分判定。根據(jù)已標注的訓練數(shù)據(jù),計算每個id所有圖片的聚類標簽的熵值,以及每個類別中圖片id 的熵值,可以衡量聚類的效果。
另外FastReID輸出特征維度為2 048維,在實際場景中,高維特征數(shù)據(jù)儲存困難,計算耗時。本文將在此基礎上進行PCA降維分析,在每一類維度上尋找最優(yōu)的聚類結果,根據(jù)計算耗時、聚類效果、搜索精度綜合得到一個計算更輕量、搜索更高效的行人特征。
4 實驗
4.1 實驗數(shù)據(jù)
本文選用Market-1501數(shù)據(jù)集進行驗證。Market-1501數(shù)據(jù)集中包含6個攝像頭拍攝得到的1 501個行人,共32 668張行人圖像,其中3 368張圖像用于查詢。
4.2 DBSCAN 參數(shù)選取
在2 048維的FastReID特征基礎上,使用DBSCAN 進行聚類。對于密度聚類,無法指定類別個數(shù),調整距離參數(shù)?,可以得到不同的聚類效果。進一步評估聚類效果,本文選取了輪廓系數(shù)來評估聚類效果。此外,由于Market1501數(shù)據(jù)集存在圖片的標簽,所以可以利用真實標簽來評估聚類效果,本文選取了互信息分數(shù)來評估聚類效果。遍歷? 值得到結果如圖3 所示。
根據(jù)趨勢圖可以看出,? 在0.24附近,聚類個數(shù)達到最大值,約1 254個類別,由于數(shù)據(jù)集中有1501個類別,所有? 取0.24 時,聚類類別個數(shù)與真實類別個數(shù)最接近。根據(jù)輪廓系數(shù)以及互信息分可以看出,在距離參數(shù)? 在0.26以及0.27附近取到最大,從三者對比可以看出,雖然最優(yōu)的距離參數(shù)有所區(qū)別,但是在最優(yōu)距離附近趨勢是一致的,而且差距不大。綜上,根據(jù)聚類個數(shù)、輪廓系數(shù)以及互信息分數(shù)來確定最優(yōu)距離參數(shù)的方法是可行的。
4.3 特征降維分析
高維特征能夠充分表達圖像特征,但是計算速度較慢。對特征進行降維處理能夠加快計算速度,但是降低了行人重識別的搜索精度。本文評估了不同維度下計算速度和搜索精度。實驗在Python3.80進行,Numpy 版本為1.24.2,CPU 型號為13th Gen Intel(R) Core(TM) i5-13400F。實驗結果如圖4所示:
圖4左圖中,當數(shù)據(jù)維度降到64維時,每一個樣本的計算時間降低到原始特征計算時間的1/25左右。另外在圖4 右圖中,維度降到64 維時,Rank-n 以及mAP 值沒有明顯的下降,可以得出該維度數(shù)是一個比較理想的維度數(shù)。
通過計算降維后特征的聚類評估,進一步確定最優(yōu)參數(shù)。本文遍歷了2至2048維度以及DBSCAN密度參數(shù)?,分別計算聚類個數(shù)、輪廓分數(shù)以及互信息分。結果如圖5所示。
三種評估方式得到的結果相近,且在64維度時,三種評估方式得到的最優(yōu)密度參數(shù)? 基本一致。
5 結論
在行人重識別任務中,對特征聚類可以提高圖片檢索效率。從聚類個數(shù)、輪廓系數(shù)以及互信息分三個角度綜合評估聚類效果,可以確定最優(yōu)的聚類參數(shù)。通過降維能夠有效地提高圖片搜索速度,通過實驗得出,特征維度在64維時,速度提高到原來的24.75倍,且搜索精度Rank-n 僅降低0.6%,mAP 值僅降低1.4%。
【通聯(lián)編輯:唐一東】