邱耀儒,孫為軍,黃永慧,唐瑜祺,張浩川,吳俊鵬
(廣東工業(yè)大學自動化學院,廣州 510006)
目前中國正在大量地建設(shè)智慧城市,智能安防是實現(xiàn)智慧城市的重要基礎(chǔ),并且智能安防管理中每天產(chǎn)生的視頻數(shù)據(jù)占據(jù)城市數(shù)據(jù)的很大比重。面對大量的視頻數(shù)據(jù),僅依靠傳統(tǒng)的人工手段無法做到快速、高效的分析和處理,因此需要將計算機視覺以及最新的計算機技術(shù)應(yīng)用于其中,以實現(xiàn)高效、準確的視頻分析。
行人重識別(Person re-identification)[1]作為視頻分析研究的關(guān)鍵組成部分,目的是對出現(xiàn)在監(jiān)控區(qū)域內(nèi)的某個目標行人,在監(jiān)控網(wǎng)絡(luò)的其他攝像頭監(jiān)控視頻中找到目標并標識出來。配合行人檢測與跟蹤技術(shù)可以實現(xiàn)對監(jiān)控網(wǎng)絡(luò)范圍內(nèi)的目標行人進行跨攝像頭區(qū)域的持續(xù)跟蹤。當目標人物出現(xiàn)在某一監(jiān)控攝像頭的監(jiān)控范圍內(nèi)時,攝像頭拍攝的目標行人圖像會與其他攝像頭拍攝的行人圖像進行一一匹配,尋找出同屬于目標行人的圖像,從而進行跨攝像機的搜索與跟蹤。行人重識別技術(shù)的應(yīng)用可以減少大量視頻監(jiān)控人員的工作量,實現(xiàn)監(jiān)控視頻中目標行人的準確分析,有效地預(yù)防和打擊犯罪行為。經(jīng)過近10 年的發(fā)展,研究人員提出了大量的行人重識別模型,但是實際監(jiān)控環(huán)境的復(fù)雜多變,導(dǎo)致行人重識別技術(shù)依然存在諸多問題沒有解決。影響行人重識別問題主要有圖像像素分辨率低、行人姿態(tài)角度多樣化、光照變化等因素。如圖1 所示,同一行人在不同攝像頭拍攝下的圖像呈現(xiàn)諸多差異。圖1(a)~(e)為同一行人由不同攝像頭拍攝的圖像。圖1(a)與圖1(f)為同一攝像頭拍攝下的不同行人,圖1(b)與圖1(g)相同,以此類推。
圖1 不同攝像頭拍攝的行人樣本Fig.1 Person samples taken by different cameras
目前行人重識別模型主要分為行人特征表達模型和行人相似性判別模型等類型。特征表達方法集中于行人外觀信息特征的提取和表達上,使得不同行人的特征具有判別性。最開始的行人方法研究是通過手工設(shè)計的特征對行人信息進行描述,Ojala 等[2]和Swain等[3]提出基于顏色或紋理信息的特征表示方法。在此基礎(chǔ)上,基于集成特征學習的方法[4]被提出并取代了手工設(shè)計特征的方法成為經(jīng)典的行人特征表達方法。國內(nèi)外研究人員從底層特征方向入手,相繼提出了基于跨領(lǐng)域不變顏色特征方法[5]、基于局部對齊的特征變換方法[6]、基于局部最大出現(xiàn)頻率的表達模型[7]等行人特征表達方法。近年來,隨著深度學習的應(yīng)用,越來越多的深度學習方法被用來提取行人圖像的抽象特征。Ahemd 等[8]、Chen 等[9]和陳兵等[10]利用卷積神經(jīng)網(wǎng)絡(luò)提取行人圖像的全局抽象特征,所提取的特征比手工設(shè)計的特征具有更好的判別性。相似性判別方法的主要思想是對行人訓(xùn)練樣本進行相似性判別學習,從樣本中學習最優(yōu)的相似性度量指標。文獻[11-15]提出有監(jiān)督的行人相似性度量判別方法,使得同一行人的距離最小而不同行人的距離最大。實際監(jiān)控中存在大量無標簽信息的數(shù)據(jù),因此Peng 等[16]和Yu 等[17]提出基于無監(jiān)督學習的相似性度量模型。近年來,部分國內(nèi)外學者開始對行人重識別中的其他特定問題展開研究。從數(shù)據(jù)角度出發(fā),部分學者提出遷移學習模型[18],利用其他場景中已有標注的行人數(shù)據(jù)進行模型訓(xùn)練,然后將模型應(yīng)用于目標場景。Zhu 等[19]提出了從圖片風格層面進行遷移的循環(huán)生成對抗網(wǎng)絡(luò)(Cycleconsistent Generative Adversarial Network,CycleGAN),Deng等[20]在此基礎(chǔ)上加入行人限制損失,提出保持圖像生成前后主體一致性的循環(huán)生成對抗網(wǎng)絡(luò)(Similarity Preserving cycleconsistent Generative Adversarial Network,SPGAN)。除了利用視覺信息進行圖像匹配,Huang等[21]和Martinel等[22]提出多模態(tài)學習模型,通過利用行人圖像的時間及空間信息輔助模型判斷。Lv 等[23]提出了視覺融合時空模型(Transfer Learning of Spatio-temporal Pattern,TFusion)算法,通過貝葉斯策略融合時空模型和視覺特征模型進行行人圖像的判別。
現(xiàn)有的研究雖取得一定的成效,但是大部分的算法屬于有監(jiān)督學習的方法,這類方法在單場景應(yīng)用中能夠獲得相對較高的準確率。但是當算法需要部署于新的應(yīng)用場景時,需要耗費大量的成本構(gòu)建對應(yīng)場景的樣本標簽,這類算法應(yīng)用比較局限。其中的無監(jiān)督方法雖然能夠在多個不同場景中應(yīng)用,但是由于缺少標簽信息訓(xùn)練,算法準確率偏低,達不到實際應(yīng)用要求。因此本文提出一種基于生成對抗網(wǎng)絡(luò)聯(lián)合時空模型的方法,通過引入生成對抗網(wǎng)絡(luò)生成目標場景的樣本訓(xùn)練特征提取模型,使得模型適應(yīng)于目標場景樣本的識別。在此基礎(chǔ)上利用目標場景的數(shù)據(jù)生成時空模型篩選低概率匹配樣本,提高模型在目標應(yīng)用場景的性能表現(xiàn)。依據(jù)模型特性,模型命名為基于生成對抗網(wǎng)絡(luò)聯(lián)合時空模型(GAN Uniting with Spatio-Temporal Pattern,STUGAN)算法。通過在兩個標準的行人重識別數(shù)據(jù)集Market-1501[24]和DukeMTMC-reID[25]進行實驗,驗證了算法的有效性。
本文的主要貢獻如下:
1)利用圖像分類器有效聯(lián)合生成對抗網(wǎng)絡(luò)和時空模型,生成對抗網(wǎng)絡(luò)的生成樣本用于提升圖像分類器在目標場景的識別準確率,高水準的圖像分類器構(gòu)建更真實的時空模型。
2)訓(xùn)練過程不需要目標場景的數(shù)據(jù)標簽,使得模型能夠快速應(yīng)用于不同的目標場景,有效減少實際項目工程中構(gòu)建數(shù)據(jù)標簽的時間與人力資源。
SPGAN 算法是在CycleGAN 的基礎(chǔ)上加入行人限制損失函數(shù),能夠更好地保留行人圖像的主體信息。SPGAN 需要訓(xùn)練兩對生成器與鑒別器,分別為{G,DT}和{F,DS}。生成器G(?)的目標是生成能夠欺騙鑒別器DT的樣本,而鑒別器的任務(wù)是辨別樣本是否為生成樣本,兩者的對抗損失函數(shù)如下:
其中:px和py表示源域和目標域的樣本分布,樣本x∈S,y∈T(S表示源數(shù)據(jù)集,T表示目標數(shù)據(jù)集)。
生成器F(?)和DS的任務(wù)與G(?)和DT的任務(wù)相同,但數(shù)據(jù)樣本的生成方向相反,兩者的對抗損失函數(shù)如下:
通常情況,生成對抗網(wǎng)絡(luò)通常需要對齊的樣本對進行訓(xùn)練,而CycleGAN 使用了循環(huán)自監(jiān)督模型F(G(S)) ≈S,無需進行樣本標注。循環(huán)損失約束表示如下:
CycleGAN 中使用了一致性損失函數(shù)減小生成樣本的色彩偏差,其損失函數(shù)如下:
式(1)~(4)由CycleGAN 提出,SPGAN 在此基礎(chǔ)上加入孿生網(wǎng)絡(luò)進行生成樣本間的比較,目的是保留生成圖像的行人主體信息,其損失函數(shù)如下:
其中:x1和x2是經(jīng)過孿生網(wǎng)絡(luò)提取后的向量特征樣本對,d表示x1和x2之間的歐氏距離。i∈{0,1},當i=1 時表示x1和x2是正樣本對,當i=0 時表示x1和x2是負樣本對。邊界指標m∈{0,1,2}表示x1和x2所在向量空間的可分離性:當m=0時,表示負樣本對的損失不影響網(wǎng)絡(luò)參數(shù)更新;當m>0 時正負樣本對的損失都影響網(wǎng)絡(luò)參數(shù)更新。m=1和m=2表示負樣本對損失函數(shù)的影響程度,m越大,負樣本反向傳播的權(quán)重越大。關(guān)于正負樣本的選擇請參考SPGAN。
總損失函數(shù)如下所示:
總損失函數(shù)分為3 個部分:生成器、鑒別器和孿生網(wǎng)絡(luò),3個部分的參數(shù)交替更新。
現(xiàn)實場景中,攝像頭除了記錄圖像信息外,還記錄著圖像的拍攝時間以及自身編號。圖像的拍攝時間和所拍攝的攝像頭信息即是圖像的時間及空間信息。
TFusion 算法假設(shè)兩個樣本間的時空點屬于同一行人的概率可以表示為如下形式:
其中:En和Ep表示圖像分類器的誤差率(下標p和n分別表示positive 和 negative),當誤差率趨近于0 時趨近式(7)。關(guān)于式(8)的詳細證明過程請參考TFusion附錄部分。
融合模型的計算公式如下所示:
其中vi和vj表示樣本Ti和Tj經(jīng)過圖像分類器提取后的特征。式(9)表示給定樣本的視覺特征及時空信息的條件下,樣本Ti和Tj屬于同一個人的概率。
根據(jù)貝葉斯定理,式(9)可以等價于:
基于生成對抗網(wǎng)絡(luò)聯(lián)合時空模型(STUGAN)算法通過引入生成對抗網(wǎng)絡(luò)生成目標場景的訓(xùn)練樣本,增強識別模型的穩(wěn)定性;利用時空特征構(gòu)建目標場景樣本的時空模型,篩選低概率匹配樣本,提高算法準確率。
假定源數(shù)據(jù)集S={S1,S2,…,Sn}與目標數(shù)據(jù)集T={T1,T2,…,Tm},不包含同一行人,其中Si標簽信息包含行人編號、攝像頭編號和圖像所拍攝的時間序列。Tj標簽信息包含攝像頭編號和時間序列。
由于目標場景的數(shù)據(jù)集不具備標簽信息,無法進行有監(jiān)督特征提取模型(圖像分類器)的訓(xùn)練。因此本文使用生成對抗網(wǎng)絡(luò)進行圖像生成,在保留數(shù)據(jù)集S中行人主體信息的同時將背景風格轉(zhuǎn)化為目標數(shù)據(jù)集場景的風格的數(shù)據(jù)集G(S),以此減少圖像背景信息對于圖像分類器的影響。
假定行人在各個攝像頭之間的運動存在一定的時間規(guī)律,則可通過行人的運動規(guī)律篩選錯誤樣本對,如兩張視覺特征極其相似的圖像(非同一行人)被圖像分類器判定為同一行人,但兩張圖像的時間差相差較大,則可以通過時空模型進行錯樣本對的矯正。由式(8)可知要得到數(shù)據(jù)集T的時空模型,需要知道同一行人的圖像,但由于數(shù)據(jù)集T不包含行人的標簽信息,因此本文利用圖像分類器對數(shù)據(jù)集T中的圖像進行識別,構(gòu)建目標數(shù)據(jù)集的弱標簽信息,以此構(gòu)建時空模型。
算法由三部分組成,算法流程框架如圖2所示。
圖2 算法框架Fig.2 Framework of algorithm
圖像分類器的損失函數(shù)如下:
其中:yik表示真實標簽信息,pik表示模型預(yù)測的樣本標簽信息。正則化參數(shù)λ=0.000 5,其中Wi的維度等于輸出維度,W={W1,W2,…,W1024}。
圖像分類器作為中間組件,將生成對抗網(wǎng)絡(luò)和時空模型聯(lián)合。生成對抗網(wǎng)絡(luò)提升圖像分類器對于目標數(shù)據(jù)的識別準確率,使得在構(gòu)建時空模型過程中圖像分類器的識別誤差率減小,從而構(gòu)建更接近于真實情況時空模型。
算法訓(xùn)練和測試過程的詳細步驟如下:
訓(xùn)練過程:
根據(jù)式(8)得知,圖像分類器的誤差率影響時空模型的真實性,當圖像分類器預(yù)測的標簽信息越準確,所構(gòu)建的時空模型更加接近真實情況。時空模型越接近于真實情況,能夠更有效地篩選出錯誤的相似樣本,提高總體模型在目標場景中的表現(xiàn)。
1)網(wǎng)絡(luò)參數(shù)。
生成對抗網(wǎng)絡(luò)的參數(shù)設(shè)置參考SPGAN 論文作者設(shè)定的參數(shù),其中式(6)的?1、?2和?3分別設(shè)置為10、5 和2,式(5)中的m設(shè)置為2。算法的初始學習率為0.000 2,總共訓(xùn)練5 個epoch。
圖像分類器使用在ImageNet[26]預(yù)訓(xùn)練的ResNet-50[27]作為特征提取模型,根據(jù)訓(xùn)練數(shù)據(jù)的ID 數(shù)量設(shè)置輸出層的維度。圖像分類器的訓(xùn)練過程中,凍結(jié)ResNet-50網(wǎng)絡(luò)中BN層、conv1層以及res2層的參數(shù),網(wǎng)絡(luò)輸出層的參數(shù)采用高斯分布初始化,網(wǎng)絡(luò)參數(shù)反向傳播的優(yōu)化算法采用隨機梯度下降法(Stochastic Gradient Descent,SGD)。超參數(shù)的設(shè)定參考文獻[20]特征識別模型的訓(xùn)練超參數(shù)設(shè)定經(jīng)驗,將每一批次batch中的樣本數(shù)量、最大迭代次數(shù)和動量分別設(shè)置為16、50 和0.9。學習率采用階梯型衰減策略,初始學習率為0.001,在40個epoch之后學習率衰減為0.000 1,直至訓(xùn)練結(jié)束。
由2.2 節(jié)可知,構(gòu)建時空模型時需要判斷樣本對是否屬于同一行人,本文算法直接假設(shè)圖像分類器的誤差率為0,即是令En=Ep=0代入式(8)求得時空模型。
2)數(shù)據(jù)集。
為了驗證算法的有效性,本文選取的兩個數(shù)據(jù)集分別是Market-1501 和DukeMTMC-reID,實驗過程中交替使用其中一個數(shù)據(jù)集作為源數(shù)據(jù)集,剩下的數(shù)據(jù)集則作為目標數(shù)據(jù)集。關(guān)于兩個數(shù)據(jù)集的具體信息如表1所示。
表1 數(shù)據(jù)集介紹Tab.1 Introduction of datasets
每個數(shù)據(jù)集都由兩個部分組成,訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集,訓(xùn)練數(shù)據(jù)集中的行人不會出現(xiàn)在測試數(shù)據(jù)集。待匹配樣本庫(query)是從備選庫(test)所屬ID 行人中抽取部分樣本組成,兩個庫共同組成了測試數(shù)據(jù)集。數(shù)據(jù)集中每個樣本的標簽信息包含行人的ID、樣本所拍攝的攝像頭信息和拍攝時間三部分。Market-1501 由32 668 個樣本組成,包含6 個攝像頭的數(shù)據(jù),總共1 501 位行人。DukeMTMC-reID 由36 411 個樣本組成,包含8個攝像頭的數(shù)據(jù),總共1 401位行人。
3)評價指標。
實驗分為兩個部分:第一部分為圖像分類器的比較,為了驗證生成樣本對圖像分類器的影響,通過與TFusion算法的圖像分類器進行比較實驗,實驗分析將在3.2.1 節(jié)中詳細闡述;第二部分為STUGAN 算法與其他算法的比較,在選取的數(shù)據(jù)集 中 進 行 實 驗,通 過 與BoW(Bag-of-Words)[24]、PUL(Progressive Unsupervised Learning)[28]、UMDL(Unsupervised Multi-task Dictionary Learning)[16]、基于聚類的非對稱度量學習(Clustering-based Asymmetric MEtric Learning,CAMEL)[17]、SPGAN[20]和TFusion[23]算法進行對比,以驗證本文算法的性能表現(xiàn)。其中,算法BoW 采用線性搜索策略,從數(shù)據(jù)集的表現(xiàn)結(jié)果中尋找最優(yōu)參數(shù),本文選取BoW 算法在目標數(shù)據(jù)集的最優(yōu)情況的準確率作為對比;PUL 通過隨機梯度下降法更新卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)識別模型的參數(shù),然后對目標數(shù)據(jù)集樣本特征進行聚類,根據(jù)聚類結(jié)果重新訓(xùn)練CNN模型,微調(diào)網(wǎng)絡(luò)參數(shù);UMDL通過拉格朗日對偶法和分析法求解多個投影矩陣的最優(yōu)參數(shù);CAMEL 利用拉格朗日法將求解過程轉(zhuǎn)化為因式分解問題,求解最優(yōu)化投影矩陣參數(shù);SPGAN 和TFusion 的優(yōu)化過程是利用損失函數(shù)計算預(yù)測標簽和真實標簽的差值,通過隨機梯度下降法更新識別網(wǎng)絡(luò)中的參數(shù)。
行人重識別算法采用定量衡量作為衡量標準,采用rank-1、rank-5、rank-10 及平均精度均值(mean Average Precision,mAP)[24]作為行人重識別算法的表現(xiàn)指標。所有指標的范圍為0%~100%,指標值越大,表明算法效果越好。
4)實驗條件。
本文算法中的所有模型都在一臺有著GTX1080Ti GPU的Linux 服務(wù)器上進行訓(xùn)練和測試。Market-1501 作為源數(shù)據(jù)集時,其中SPGAN 訓(xùn)練時長為103 min,圖像分類器訓(xùn)練時長為78 min,時空模型構(gòu)建時長為145 min。假設(shè)測試樣本數(shù)量為N,待匹配樣本數(shù)量為M,測試過程中圖像分類器使用的是矩陣運算計算樣本間的特征相似度,時間復(fù)雜度為O(N*M),通過利用GPU 加速可以提高運算效率。時空模型的運算時間相當于字典的檢索,時間復(fù)雜度為O(N*M),算法總時間復(fù)雜度為O(N*M)。
3.2.1 圖像分類器對比分析
表2 為圖像分類器在Market-1501 和DukeMTMC-reID 數(shù)據(jù)集上的性能表現(xiàn)情況,其中TFusion’C 和STUGAN’C 分別表示TFusion 算法和本文算法的圖像分類器。當測試集為Market-1501 時,訓(xùn)練數(shù)據(jù)集為DukeMTMC-reID,反之亦然。TFusion’C(SPGAN)和STUGAN’C(SPGAN)表示使用生成數(shù)據(jù)訓(xùn)練后的圖像分類器,生成的數(shù)據(jù)來自DukeMTMC-reID 的訓(xùn)練數(shù)據(jù)集。
表2 圖像分類器在不同數(shù)據(jù)集上的性能表現(xiàn) 單位:%Tab.2 Visual classifier performance on different datasets unit:%
從表2 中得出,本文的圖像分類器無論在直接遷移或使用生成數(shù)據(jù)集的條件下,在兩個數(shù)據(jù)集的表現(xiàn)均優(yōu)于TFusion算法的圖像分類器。本文圖像分類器效果更好的原因在于訓(xùn)練過程中凍結(jié)了低層卷積的參數(shù),使得高層的行人全局特征提取層得到更好的訓(xùn)練。因為生成樣本的圖像視覺風格更接近于目標場景的數(shù)據(jù)風格,一定程度上減少了場景轉(zhuǎn)換對圖像分類器的影響。
3.2.2 總體模型對比分析
表3 為各算法基于Market-1501 和DukeMTMC-reID 數(shù)據(jù)集的rank-1、rank-5、rank-10 及mAP 指標表現(xiàn)情況。其中算法SPGAN、TFusion、STUGAN 存在訓(xùn)練過程,當測試集為Market-1501時,訓(xùn)練數(shù)據(jù)集為DukeMTMC-reID,反之相同。
從表3中可得出在兩個數(shù)據(jù)集的rank-1、rank-5及rank-10指標比較中,本文算法的準確率均優(yōu)于所比較的算法。尤其在數(shù)據(jù)集Market-1501上,rank-1指標的準確率相比TFusion算法高出5.7 個百分點。其中BoW 為手工設(shè)計的算法,因為沒有任何訓(xùn)練過程,因此算法在兩個數(shù)據(jù)集的準確率都偏低。PUL 和UMDL 為無監(jiān)督算法,因為缺少標簽信息進行算法的學習,所以算法的準確率較低。與使用了生成對抗網(wǎng)絡(luò)的SPGAN 算法相比,本文算法在此基礎(chǔ)上加入了時空模型的輔助,時空模型的加入一定程度上排除視覺特征高度相似的錯樣本被匹配,減小了圖像分類器的誤差率。對于使用了時空模型作為輔助的TFusion算法,本文算法的圖像分類器更好地利用生成對抗網(wǎng)絡(luò)生成的樣本進行訓(xùn)練,減少場景之間領(lǐng)域偏差對圖像分類器的負面影響。較高水平的圖像分類器構(gòu)建的時空模型更接近于真實情況,兩者的聯(lián)合使得STUGAN 算法在目標場景中具備良好的識別性能。
表3 不同算法在Market-1501和DukeMTMC-reID數(shù)據(jù)集上的性能對比結(jié)果 單位:%Tab.3 Algorithm performance comparison results on Market-1501 and DukeMTMC-reID datasets unit:%
本文針對行人重識別算法跨場景應(yīng)用時出現(xiàn)算法準確率大幅下降問題,提出一種基于生成對抗網(wǎng)絡(luò)聯(lián)合時空模型的識別方法。算法在目標場景中獲得相對滿意的表現(xiàn),但是距離實際應(yīng)用要求的準確率仍存在一定的距離。由于圖像分類器的識別準確率相對較低,在構(gòu)建時空模型時存在較多的錯誤樣本對被判別為同一行人,導(dǎo)致時空模型與真實的時空模型具有一定的偏差。如何構(gòu)建適應(yīng)于場景變化的圖像分類器,使其在跨場景應(yīng)用中仍然保持良好的準確率是今后的研究方向。