邱耀儒,孫為軍,黃永慧,唐瑜祺,張浩川,吳俊鵬
(廣東工業大學自動化學院,廣州 510006)
目前中國正在大量地建設智慧城市,智能安防是實現智慧城市的重要基礎,并且智能安防管理中每天產生的視頻數據占據城市數據的很大比重。面對大量的視頻數據,僅依靠傳統的人工手段無法做到快速、高效的分析和處理,因此需要將計算機視覺以及最新的計算機技術應用于其中,以實現高效、準確的視頻分析。
行人重識別(Person re-identification)[1]作為視頻分析研究的關鍵組成部分,目的是對出現在監控區域內的某個目標行人,在監控網絡的其他攝像頭監控視頻中找到目標并標識出來。配合行人檢測與跟蹤技術可以實現對監控網絡范圍內的目標行人進行跨攝像頭區域的持續跟蹤。當目標人物出現在某一監控攝像頭的監控范圍內時,攝像頭拍攝的目標行人圖像會與其他攝像頭拍攝的行人圖像進行一一匹配,尋找出同屬于目標行人的圖像,從而進行跨攝像機的搜索與跟蹤。行人重識別技術的應用可以減少大量視頻監控人員的工作量,實現監控視頻中目標行人的準確分析,有效地預防和打擊犯罪行為。經過近10 年的發展,研究人員提出了大量的行人重識別模型,但是實際監控環境的復雜多變,導致行人重識別技術依然存在諸多問題沒有解決。影響行人重識別問題主要有圖像像素分辨率低、行人姿態角度多樣化、光照變化等因素。如圖1 所示,同一行人在不同攝像頭拍攝下的圖像呈現諸多差異。圖1(a)~(e)為同一行人由不同攝像頭拍攝的圖像。圖1(a)與圖1(f)為同一攝像頭拍攝下的不同行人,圖1(b)與圖1(g)相同,以此類推。

圖1 不同攝像頭拍攝的行人樣本Fig.1 Person samples taken by different cameras
目前行人重識別模型主要分為行人特征表達模型和行人相似性判別模型等類型。特征表達方法集中于行人外觀信息特征的提取和表達上,使得不同行人的特征具有判別性。最開始的行人方法研究是通過手工設計的特征對行人信息進行描述,Ojala 等[2]和Swain等[3]提出基于顏色或紋理信息的特征表示方法。在此基礎上,基于集成特征學習的方法[4]被提出并取代了手工設計特征的方法成為經典的行人特征表達方法。國內外研究人員從底層特征方向入手,相繼提出了基于跨領域不變顏色特征方法[5]、基于局部對齊的特征變換方法[6]、基于局部最大出現頻率的表達模型[7]等行人特征表達方法。近年來,隨著深度學習的應用,越來越多的深度學習方法被用來提取行人圖像的抽象特征。Ahemd 等[8]、Chen 等[9]和陳兵等[10]利用卷積神經網絡提取行人圖像的全局抽象特征,所提取的特征比手工設計的特征具有更好的判別性。相似性判別方法的主要思想是對行人訓練樣本進行相似性判別學習,從樣本中學習最優的相似性度量指標。文獻[11-15]提出有監督的行人相似性度量判別方法,使得同一行人的距離最小而不同行人的距離最大。實際監控中存在大量無標簽信息的數據,因此Peng 等[16]和Yu 等[17]提出基于無監督學習的相似性度量模型。近年來,部分國內外學者開始對行人重識別中的其他特定問題展開研究。從數據角度出發,部分學者提出遷移學習模型[18],利用其他場景中已有標注的行人數據進行模型訓練,然后將模型應用于目標場景。Zhu 等[19]提出了從圖片風格層面進行遷移的循環生成對抗網絡(Cycleconsistent Generative Adversarial Network,CycleGAN),Deng等[20]在此基礎上加入行人限制損失,提出保持圖像生成前后主體一致性的循環生成對抗網絡(Similarity Preserving cycleconsistent Generative Adversarial Network,SPGAN)。除了利用視覺信息進行圖像匹配,Huang等[21]和Martinel等[22]提出多模態學習模型,通過利用行人圖像的時間及空間信息輔助模型判斷。Lv 等[23]提出了視覺融合時空模型(Transfer Learning of Spatio-temporal Pattern,TFusion)算法,通過貝葉斯策略融合時空模型和視覺特征模型進行行人圖像的判別。
現有的研究雖取得一定的成效,但是大部分的算法屬于有監督學習的方法,這類方法在單場景應用中能夠獲得相對較高的準確率。但是當算法需要部署于新的應用場景時,需要耗費大量的成本構建對應場景的樣本標簽,這類算法應用比較局限。其中的無監督方法雖然能夠在多個不同場景中應用,但是由于缺少標簽信息訓練,算法準確率偏低,達不到實際應用要求。因此本文提出一種基于生成對抗網絡聯合時空模型的方法,通過引入生成對抗網絡生成目標場景的樣本訓練特征提取模型,使得模型適應于目標場景樣本的識別。在此基礎上利用目標場景的數據生成時空模型篩選低概率匹配樣本,提高模型在目標應用場景的性能表現。依據模型特性,模型命名為基于生成對抗網絡聯合時空模型(GAN Uniting with Spatio-Temporal Pattern,STUGAN)算法。通過在兩個標準的行人重識別數據集Market-1501[24]和DukeMTMC-reID[25]進行實驗,驗證了算法的有效性。
本文的主要貢獻如下:
1)利用圖像分類器有效聯合生成對抗網絡和時空模型,生成對抗網絡的生成樣本用于提升圖像分類器在目標場景的識別準確率,高水準的圖像分類器構建更真實的時空模型。
2)訓練過程不需要目標場景的數據標簽,使得模型能夠快速應用于不同的目標場景,有效減少實際項目工程中構建數據標簽的時間與人力資源。
SPGAN 算法是在CycleGAN 的基礎上加入行人限制損失函數,能夠更好地保留行人圖像的主體信息。SPGAN 需要訓練兩對生成器與鑒別器,分別為{G,DT}和{F,DS}。生成器G(?)的目標是生成能夠欺騙鑒別器DT的樣本,而鑒別器的任務是辨別樣本是否為生成樣本,兩者的對抗損失函數如下:

其中:px和py表示源域和目標域的樣本分布,樣本x∈S,y∈T(S表示源數據集,T表示目標數據集)。
生成器F(?)和DS的任務與G(?)和DT的任務相同,但數據樣本的生成方向相反,兩者的對抗損失函數如下:

通常情況,生成對抗網絡通常需要對齊的樣本對進行訓練,而CycleGAN 使用了循環自監督模型F(G(S)) ≈S,無需進行樣本標注。循環損失約束表示如下:

CycleGAN 中使用了一致性損失函數減小生成樣本的色彩偏差,其損失函數如下:

式(1)~(4)由CycleGAN 提出,SPGAN 在此基礎上加入孿生網絡進行生成樣本間的比較,目的是保留生成圖像的行人主體信息,其損失函數如下:

其中:x1和x2是經過孿生網絡提取后的向量特征樣本對,d表示x1和x2之間的歐氏距離。i∈{0,1},當i=1 時表示x1和x2是正樣本對,當i=0 時表示x1和x2是負樣本對。邊界指標m∈{0,1,2}表示x1和x2所在向量空間的可分離性:當m=0時,表示負樣本對的損失不影響網絡參數更新;當m>0 時正負樣本對的損失都影響網絡參數更新。m=1和m=2表示負樣本對損失函數的影響程度,m越大,負樣本反向傳播的權重越大。關于正負樣本的選擇請參考SPGAN。
總損失函數如下所示:

總損失函數分為3 個部分:生成器、鑒別器和孿生網絡,3個部分的參數交替更新。
現實場景中,攝像頭除了記錄圖像信息外,還記錄著圖像的拍攝時間以及自身編號。圖像的拍攝時間和所拍攝的攝像頭信息即是圖像的時間及空間信息。
TFusion 算法假設兩個樣本間的時空點屬于同一行人的概率可以表示為如下形式:

其中:En和Ep表示圖像分類器的誤差率(下標p和n分別表示positive 和 negative),當誤差率趨近于0 時趨近式(7)。關于式(8)的詳細證明過程請參考TFusion附錄部分。
融合模型的計算公式如下所示:

其中vi和vj表示樣本Ti和Tj經過圖像分類器提取后的特征。式(9)表示給定樣本的視覺特征及時空信息的條件下,樣本Ti和Tj屬于同一個人的概率。
根據貝葉斯定理,式(9)可以等價于:


基于生成對抗網絡聯合時空模型(STUGAN)算法通過引入生成對抗網絡生成目標場景的訓練樣本,增強識別模型的穩定性;利用時空特征構建目標場景樣本的時空模型,篩選低概率匹配樣本,提高算法準確率。
假定源數據集S={S1,S2,…,Sn}與目標數據集T={T1,T2,…,Tm},不包含同一行人,其中Si標簽信息包含行人編號、攝像頭編號和圖像所拍攝的時間序列。Tj標簽信息包含攝像頭編號和時間序列。
由于目標場景的數據集不具備標簽信息,無法進行有監督特征提取模型(圖像分類器)的訓練。因此本文使用生成對抗網絡進行圖像生成,在保留數據集S中行人主體信息的同時將背景風格轉化為目標數據集場景的風格的數據集G(S),以此減少圖像背景信息對于圖像分類器的影響。
假定行人在各個攝像頭之間的運動存在一定的時間規律,則可通過行人的運動規律篩選錯誤樣本對,如兩張視覺特征極其相似的圖像(非同一行人)被圖像分類器判定為同一行人,但兩張圖像的時間差相差較大,則可以通過時空模型進行錯樣本對的矯正。由式(8)可知要得到數據集T的時空模型,需要知道同一行人的圖像,但由于數據集T不包含行人的標簽信息,因此本文利用圖像分類器對數據集T中的圖像進行識別,構建目標數據集的弱標簽信息,以此構建時空模型。
算法由三部分組成,算法流程框架如圖2所示。

圖2 算法框架Fig.2 Framework of algorithm
圖像分類器的損失函數如下:

其中:yik表示真實標簽信息,pik表示模型預測的樣本標簽信息。正則化參數λ=0.000 5,其中Wi的維度等于輸出維度,W={W1,W2,…,W1024}。
圖像分類器作為中間組件,將生成對抗網絡和時空模型聯合。生成對抗網絡提升圖像分類器對于目標數據的識別準確率,使得在構建時空模型過程中圖像分類器的識別誤差率減小,從而構建更接近于真實情況時空模型。
算法訓練和測試過程的詳細步驟如下:
訓練過程:

根據式(8)得知,圖像分類器的誤差率影響時空模型的真實性,當圖像分類器預測的標簽信息越準確,所構建的時空模型更加接近真實情況。時空模型越接近于真實情況,能夠更有效地篩選出錯誤的相似樣本,提高總體模型在目標場景中的表現。
1)網絡參數。
生成對抗網絡的參數設置參考SPGAN 論文作者設定的參數,其中式(6)的?1、?2和?3分別設置為10、5 和2,式(5)中的m設置為2。算法的初始學習率為0.000 2,總共訓練5 個epoch。
圖像分類器使用在ImageNet[26]預訓練的ResNet-50[27]作為特征提取模型,根據訓練數據的ID 數量設置輸出層的維度。圖像分類器的訓練過程中,凍結ResNet-50網絡中BN層、conv1層以及res2層的參數,網絡輸出層的參數采用高斯分布初始化,網絡參數反向傳播的優化算法采用隨機梯度下降法(Stochastic Gradient Descent,SGD)。超參數的設定參考文獻[20]特征識別模型的訓練超參數設定經驗,將每一批次batch中的樣本數量、最大迭代次數和動量分別設置為16、50 和0.9。學習率采用階梯型衰減策略,初始學習率為0.001,在40個epoch之后學習率衰減為0.000 1,直至訓練結束。
由2.2 節可知,構建時空模型時需要判斷樣本對是否屬于同一行人,本文算法直接假設圖像分類器的誤差率為0,即是令En=Ep=0代入式(8)求得時空模型。
2)數據集。
為了驗證算法的有效性,本文選取的兩個數據集分別是Market-1501 和DukeMTMC-reID,實驗過程中交替使用其中一個數據集作為源數據集,剩下的數據集則作為目標數據集。關于兩個數據集的具體信息如表1所示。

表1 數據集介紹Tab.1 Introduction of datasets
每個數據集都由兩個部分組成,訓練數據集和測試數據集,訓練數據集中的行人不會出現在測試數據集。待匹配樣本庫(query)是從備選庫(test)所屬ID 行人中抽取部分樣本組成,兩個庫共同組成了測試數據集。數據集中每個樣本的標簽信息包含行人的ID、樣本所拍攝的攝像頭信息和拍攝時間三部分。Market-1501 由32 668 個樣本組成,包含6 個攝像頭的數據,總共1 501 位行人。DukeMTMC-reID 由36 411 個樣本組成,包含8個攝像頭的數據,總共1 401位行人。
3)評價指標。
實驗分為兩個部分:第一部分為圖像分類器的比較,為了驗證生成樣本對圖像分類器的影響,通過與TFusion算法的圖像分類器進行比較實驗,實驗分析將在3.2.1 節中詳細闡述;第二部分為STUGAN 算法與其他算法的比較,在選取的數據集 中 進 行 實 驗,通 過 與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]算法進行對比,以驗證本文算法的性能表現。其中,算法BoW 采用線性搜索策略,從數據集的表現結果中尋找最優參數,本文選取BoW 算法在目標數據集的最優情況的準確率作為對比;PUL 通過隨機梯度下降法更新卷積神經網絡(Convolutional Neural Network,CNN)識別模型的參數,然后對目標數據集樣本特征進行聚類,根據聚類結果重新訓練CNN模型,微調網絡參數;UMDL通過拉格朗日對偶法和分析法求解多個投影矩陣的最優參數;CAMEL 利用拉格朗日法將求解過程轉化為因式分解問題,求解最優化投影矩陣參數;SPGAN 和TFusion 的優化過程是利用損失函數計算預測標簽和真實標簽的差值,通過隨機梯度下降法更新識別網絡中的參數。
行人重識別算法采用定量衡量作為衡量標準,采用rank-1、rank-5、rank-10 及平均精度均值(mean Average Precision,mAP)[24]作為行人重識別算法的表現指標。所有指標的范圍為0%~100%,指標值越大,表明算法效果越好。
4)實驗條件。
本文算法中的所有模型都在一臺有著GTX1080Ti GPU的Linux 服務器上進行訓練和測試。Market-1501 作為源數據集時,其中SPGAN 訓練時長為103 min,圖像分類器訓練時長為78 min,時空模型構建時長為145 min。假設測試樣本數量為N,待匹配樣本數量為M,測試過程中圖像分類器使用的是矩陣運算計算樣本間的特征相似度,時間復雜度為O(N*M),通過利用GPU 加速可以提高運算效率。時空模型的運算時間相當于字典的檢索,時間復雜度為O(N*M),算法總時間復雜度為O(N*M)。
3.2.1 圖像分類器對比分析
表2 為圖像分類器在Market-1501 和DukeMTMC-reID 數據集上的性能表現情況,其中TFusion’C 和STUGAN’C 分別表示TFusion 算法和本文算法的圖像分類器。當測試集為Market-1501 時,訓練數據集為DukeMTMC-reID,反之亦然。TFusion’C(SPGAN)和STUGAN’C(SPGAN)表示使用生成數據訓練后的圖像分類器,生成的數據來自DukeMTMC-reID 的訓練數據集。

表2 圖像分類器在不同數據集上的性能表現 單位:%Tab.2 Visual classifier performance on different datasets unit:%
從表2 中得出,本文的圖像分類器無論在直接遷移或使用生成數據集的條件下,在兩個數據集的表現均優于TFusion算法的圖像分類器。本文圖像分類器效果更好的原因在于訓練過程中凍結了低層卷積的參數,使得高層的行人全局特征提取層得到更好的訓練。因為生成樣本的圖像視覺風格更接近于目標場景的數據風格,一定程度上減少了場景轉換對圖像分類器的影響。
3.2.2 總體模型對比分析
表3 為各算法基于Market-1501 和DukeMTMC-reID 數據集的rank-1、rank-5、rank-10 及mAP 指標表現情況。其中算法SPGAN、TFusion、STUGAN 存在訓練過程,當測試集為Market-1501時,訓練數據集為DukeMTMC-reID,反之相同。
從表3中可得出在兩個數據集的rank-1、rank-5及rank-10指標比較中,本文算法的準確率均優于所比較的算法。尤其在數據集Market-1501上,rank-1指標的準確率相比TFusion算法高出5.7 個百分點。其中BoW 為手工設計的算法,因為沒有任何訓練過程,因此算法在兩個數據集的準確率都偏低。PUL 和UMDL 為無監督算法,因為缺少標簽信息進行算法的學習,所以算法的準確率較低。與使用了生成對抗網絡的SPGAN 算法相比,本文算法在此基礎上加入了時空模型的輔助,時空模型的加入一定程度上排除視覺特征高度相似的錯樣本被匹配,減小了圖像分類器的誤差率。對于使用了時空模型作為輔助的TFusion算法,本文算法的圖像分類器更好地利用生成對抗網絡生成的樣本進行訓練,減少場景之間領域偏差對圖像分類器的負面影響。較高水平的圖像分類器構建的時空模型更接近于真實情況,兩者的聯合使得STUGAN 算法在目標場景中具備良好的識別性能。

表3 不同算法在Market-1501和DukeMTMC-reID數據集上的性能對比結果 單位:%Tab.3 Algorithm performance comparison results on Market-1501 and DukeMTMC-reID datasets unit:%
本文針對行人重識別算法跨場景應用時出現算法準確率大幅下降問題,提出一種基于生成對抗網絡聯合時空模型的識別方法。算法在目標場景中獲得相對滿意的表現,但是距離實際應用要求的準確率仍存在一定的距離。由于圖像分類器的識別準確率相對較低,在構建時空模型時存在較多的錯誤樣本對被判別為同一行人,導致時空模型與真實的時空模型具有一定的偏差。如何構建適應于場景變化的圖像分類器,使其在跨場景應用中仍然保持良好的準確率是今后的研究方向。