夏 天 李旻先 邵晴薇 管 超 陸建峰
(南京理工大學(xué)計算機科學(xué)與工程學(xué)院 南京 210094)
基于深度學(xué)習(xí)和時空約束的跨攝像頭行人跟蹤?
夏 天 李旻先 邵晴薇 管 超 陸建峰
(南京理工大學(xué)計算機科學(xué)與工程學(xué)院 南京 210094)
目前,視頻監(jiān)控的布設(shè)十分廣泛,如何從多個視頻監(jiān)控的數(shù)據(jù)中有效獲取行人的軌跡信息,對于社會安防體系具有非常重要的價值。因此,跨攝像頭行人跟蹤已成為計算機視覺領(lǐng)域的一個重要研究內(nèi)容。論文設(shè)計了一個基于深度學(xué)習(xí)的跨攝像頭行人跟蹤的方法,將跨攝像頭行人跟蹤任務(wù)劃分為行人檢測和行人檢索兩部分。在行人檢測部分使用Faster R-CNN方法,在行人檢索部分使用CNN特征來計算相似度距離并通過時間與空間關(guān)系對檢索結(jié)果進行約束與優(yōu)化,并在復(fù)雜的監(jiān)控視頻下進行了實驗。
深度學(xué)習(xí);行人檢測;行人檢索;Faster R-CNN;CNN;時空約束
近些年來,監(jiān)控視頻大量普及,隨之而產(chǎn)生的是大量的監(jiān)控視頻數(shù)據(jù),由于單個攝像頭的感知范圍有限,為了監(jiān)控特定的目標,通常需要查看多個不同位置的視頻監(jiān)控信息,在這一系列的監(jiān)控視頻中尋找特定的行人目標需要耗費大量的人力物力,因此,基于跨攝像頭的行人自動跟蹤已經(jīng)成為了視頻分析工作中亟待解決的重要課題??鐢z像頭行人跟蹤任務(wù)的目的是在多個不同的攝像頭中找到某個特定的行人,由于每個攝像頭的場景不同,光照不同,行人姿態(tài)可能也會發(fā)生變化,獲取的行人圖像質(zhì)量往往較低,所以通過計算機來判斷在不同攝像頭下的目標是否是同一個行人,是一個挑戰(zhàn)性的課題。
在智能監(jiān)控研究中,跨攝像頭行人跟蹤一般分為行人檢測和行人檢索兩個過程。行人檢測在目前計算機視覺領(lǐng)域中較為成熟,比較經(jīng)典的方法有HOG+SVM[7],DPM[12]以及現(xiàn)在流行的深度學(xué)習(xí)方法,例如 Faster R-CNN[1],YOLO[13],SSD[14]。而行人檢索方面,雖然也有很多研究者提出過很多方法,但是目前方法的性能還沒能達到行人檢測的水平,目前常用的方法一般采用是提取圖像的特征向量來計算向量距離進行匹配,經(jīng)典的特征有RGB、HOG[7]、SIFT[8~9]、ColorName[10]等以及深度學(xué)習(xí)中的Convolutional neural network(CNN)特征。
本文設(shè)計了一個跨攝像頭行人跟蹤的算法,在行人檢測部分,本文采用了近兩年性能比較優(yōu)異的Faster R-CNN[1]方法。行人檢索部分,本文使用深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)提取行人圖像的特征,再計算相似度進行排序篩選得到初步檢索結(jié)果,然后通過檢索結(jié)果的行人出現(xiàn)的時間與所在的空間關(guān)系判斷是否能夠形成一條軌跡,最后對形成的軌跡進行優(yōu)化得到跟蹤結(jié)果。文本創(chuàng)新點主要在于將單攝像頭行人跟蹤引入檢索系統(tǒng)、對CNN特征的優(yōu)化和通過時空關(guān)系來優(yōu)化行人檢索結(jié)果。
行人檢測是跨攝像頭行人跟蹤的第一步。行人檢測的結(jié)果作為行人檢索的檢索庫,如果在檢測階段對查詢目標漏檢了,那么在行人檢索時查詢目標也必然匹配不到,所以可以說行人檢測是行人匹配的基礎(chǔ),行人檢測的性能直接影響到跨攝像頭行人跟蹤的性能。
Faster R-CNN[1]是以 R-CNN[2],SPP-NET[3],F(xiàn)ast R-CNN[4]為基礎(chǔ)改進而來的基于候選區(qū)域的深度學(xué)習(xí)目標檢測方法,是目前目標檢測領(lǐng)域中性能較好,效率最高的目標檢測算法,在PASCAL VOC2007和2012上mAP值位居榜首(在VOC2007上的mAP值是73.2%,在VOC2012上的mAP值是70.4%)[1]。在效率上,在K40 GPU上ZF模型的一張圖像的平均檢測時間大約為0.06s,VGG16模型的一張圖像的平均檢測時間大約為0.2s。Faster R-CNN是由Fast R-CNN改進而來,使用深度網(wǎng)絡(luò)來提取候選區(qū)域(Region Propose Network,RPN)[1]來代替Fast R-CNN中的Selective Search(SS)[15],可以理解為RPN+Fast R-CNN。其算法流程圖1所示。
圖1 Faster R-CNN算法流程圖
本實驗挑選了4個跟蹤場景的監(jiān)控視頻中的部分片段并把其中的行人作為訓(xùn)練樣本,訓(xùn)練了一個專門針對于該4個場景的Faster R-CNN行人檢測模型,該模型檢測結(jié)果較為理想,圖2給出了Faster R-CNN使用該模型在全國研究生智慧城市視頻分析技術(shù)挑戰(zhàn)賽跨攝像頭多類目標檢測數(shù)據(jù)庫上的部分行人檢測結(jié)果。從圖2中可以看到,在攝像頭中近處以及中遠距離的幾乎不會出現(xiàn)行人的漏檢與誤檢,在遠處道路盡頭由于行人目標十分微小,檢測結(jié)果會出現(xiàn)漏檢。
圖2 Faster R-CNN部分行人檢測結(jié)果
通過行人檢測得到一組龐大的行人池,本節(jié)的任務(wù)是在這個龐大的行人池中,檢索出查詢目標。本文匹配時采用的特征是AlexNet[5]中的pool5層特征。本實驗挑選了視頻中10個行人來進行測試,查詢對象為10個行人在某個視頻的某一幀處的位置。算法具體流程圖如圖3所示。首選訓(xùn)練了一個AlexNet的分類網(wǎng)絡(luò),將行人檢測得到的行人池按照查詢目標進行分類,縮小每個對象所對應(yīng)的行人池大小。對行人池中的每個行人提取AlexNet中的pool5層特征。由于查詢對象為一張單一的圖片,所以并不能反應(yīng)整個人的完整信息,本文通過對查詢對象進行單攝像頭行人跟蹤得到該查詢對象的軌跡序列,將單樣本檢索問題轉(zhuǎn)化為多樣本檢索為題,然后再對序列中的每一個圖像提取AlexNet的pool5層特征。在得到查詢對象序列和行人池的pool5層特征之后,計算行人池中的每個行人與查詢對象序列的相似度距離并進行排序,排序之后選擇一個閾值對行人池中的行人進行過濾篩選。最后根據(jù)篩選得到的行人序列根據(jù)幀號進行排序,通過時間與行人框的位置關(guān)系,進行精修與修正得到最后結(jié)果。
圖3 Faster R-CNN行人匹配算法流程圖
3.1 單攝像頭行人跟蹤
由于監(jiān)控視頻中遠處行人較為模糊、行人在行走過程中經(jīng)常出現(xiàn)姿態(tài)變化以及不同攝像頭的光照不同導(dǎo)致的同一行人在不同攝像頭下的差異等等原因,基于單樣本的行人檢索在監(jiān)控視頻中精度較低。為了提高精度,本文通過單攝像頭行人跟蹤算法 Kernelized Correlation Filters(KCF)[6]對查詢目標進行跟蹤,得到查詢目標的軌跡序列,將單樣本檢索任務(wù)轉(zhuǎn)換為多樣本檢索任務(wù)。
KCF方法是通過該相關(guān)濾波器來對目標位置進行預(yù)測更新來對目標進行追蹤。其算法基本原理是通過相關(guān)濾波器對上一幀中目標周圍的位置進行濾波,計算出一個響應(yīng)輸出,根據(jù)響應(yīng)輸出判斷目標在下一幀中的位置,如圖4,該響應(yīng)輸出越高,則與我們要找的目標越相似。因此響應(yīng)輸出最高的框就是下一幀中目標的位置。通過該目標的新位置去更新濾波器的參數(shù),更新后的濾波器用來預(yù)測再下一幀的目標位置。
通過單攝像頭行人跟蹤得到查詢對象第一次在視頻中出現(xiàn)的完整軌跡,即一個查詢對象的行人圖像序列,該序列一般包含了對象從遠道近的圖像以及在行走過程中的一些姿態(tài)變化還有在視頻邊緣消失時的一些半身圖像,這些圖像對跨攝像頭行人檢索來說,信息是較為完整的。
3.2 AlexNet分類與pool5層特征提取
3.2.1 AlexNet分類模型
圖4 KCF算法原理
將第二章的行人檢測結(jié)果作為檢索庫,使用3.1章節(jié)中的行人追蹤結(jié)果作為查詢對象進行行人檢索。但是由于第二章中的行人檢測結(jié)果數(shù)量巨大,使得檢索庫過于龐大,本實驗中查詢對象為10個行人,而檢索池中包含了幾千個不同的行人。過于龐大的行人池導(dǎo)致了兩個問題:第一,冗余信息太多,龐大的行人池中90%以上的行人不是查詢目標;第二,對行人池中的每個人都要進行特征提取并計算它與每個查詢對象的距離,計算量太大。為了解決第二個問題,首先對龐大的行人池進行分類劃分。實驗中使用了CNN特征在圖像分類上的經(jīng)典網(wǎng)絡(luò)AlexNet[5]對行人池進行分類,其結(jié)構(gòu)如圖5。將10個查詢對象的軌跡序列作為訓(xùn)練樣本,訓(xùn)練一個AlexNet[5]的分類模型。該分類模型可將龐大的行人池進行分類,把行人池中的每個行人都分到它與之最像的一個查詢對象中的行人池中去。將分類后的行人池中的某一類作為其對應(yīng)查詢對象的檢索池,與初始行人池相比分類后行人池大約縮小了10倍。
3.2.2 AlexNet的pool5特征提取
從圖5中可以看出,pool5層特征是一個6×6×256的三維向量,可以看做是256個6×6的矩陣,對于每個6×6的矩陣,計算它的均值與最大值,得到了256個均值與256個最大值,再將其串聯(lián)起來,得到一個512維的特征向量,前256維為256個6×6矩陣的均值,后256維為256個6×6矩陣的最大值,如圖6。
圖5 AlexNet結(jié)構(gòu)圖
圖6 Alexnet Pool5層特征提取示意圖
3.3 相似度計算
提取行人池中每個行人與查詢目標序列中每個對象的特征向量之后,對每個查詢對象,計算該查詢對象序列與分類后行人池中的每個行人的特征向量距離。本實驗采用了余弦距離。余弦距離公式如下:
由于我們的查詢對象是一個序列,其中包含了查詢對象的許多張圖片,所以在計算相似度時需要做一個簡單的處理,公式如下:
其中 p為行人池的行人的512維特征向量,Q為查詢對象特征的集合。我們要在查詢對象特征的集合Q中找到一個與 p相似度最高的q,cos(p,q)就是p與Q的相似度。
3.4 通過時空約束優(yōu)化結(jié)果
3.4.1 基于時間關(guān)系的篩選
對行人池中的行人與查詢對象的相似度進行排序,排名越靠前的行人認為與目標對象越相似。由于目標行人在視頻中出現(xiàn)是集中在一段時間內(nèi)且行人池中是目標行人的行人排名都很靠前,所以在目標行人出現(xiàn)的時間段內(nèi),正確的查詢目標的相似度排名都普遍很低。在本節(jié)中我們通過時間軸上的局部行人平均相似度來反應(yīng)該現(xiàn)象。
首先使用行人池中行人在視頻中出現(xiàn)的時間信息對分類后的行人池進行一次過濾。由于一個行人在某個視頻的某一幀不可能重復(fù)出現(xiàn),所以將行人池劃分成許多小塊,屬于同一幀的行人分為一個小塊,在塊內(nèi),取相似度排名最高的,即在某一幀圖像中,只選一個與目標最像的行人作為候選人。通過過濾使得分類后的行人池再一次縮小,并且一些與查詢對象同時出現(xiàn)的行人被過濾掉了。接著對按照時間順序排列的行人相似度排名,做如下操作:
其中Rank(t)為行人池中第t幀到第t+n幀的行人的平均相似度排名。rt為行人池中第t幀的行人的相似度排名。
平均相似度排名Rank(t)反應(yīng)了從第t幀開始是否大量出現(xiàn)了與目標相似的對象。當相似度平均排名低于某個閾值m時,說明在第t幀到第t+n幀之間有與目標相似的人出現(xiàn)并形成了軌跡。將排名繪制成一條曲線,如圖7,相似度排名在m以下的我們認為是該行人出現(xiàn)了,圖7中紅線代表閾值m的高度。最后將平均相似度排名低于閾值m的時間段作為查詢對象在視頻中出現(xiàn)的時間段,在過濾后的行人池中將改時間段的行人截取,作為初步檢索結(jié)果,結(jié)果如圖8。
圖7 行人池局部平均排名分布圖
3.4.2 基于位置關(guān)系的修正
圖8顯示了檢索結(jié)果中的一部分,從圖8中可以看到綠色框為錯誤的檢索結(jié)果,本節(jié)將通過矩形框的位置信息來對前兩種原因?qū)е碌腻e誤檢索結(jié)果進行修正。
圖8 通過局部平均相似度排名截取的行人檢索結(jié)果
由于視頻中前后幀的連貫性,相鄰幀之間查詢對象的正確矩形框可以看做是由一個初始矩形框滑動而來的,前后幀之間的矩形框應(yīng)該是有重疊面積的。因此對3.4.1節(jié)的結(jié)果中的每一幀的行人框計算其與前s幀有重疊的矩形框數(shù),記為n1,與后s幀有重疊的矩形框數(shù)記為 n2,當n1/s>0.5且n2/s>0.5時,認為該幀的矩形框正確,否則認為該幀的矩形框錯誤。對于有問題的矩形框,取出在行人檢測部分得到的行人池中屬于該幀的所有行人,并依次計算每個行人與前后s幀的檢索結(jié)果的矩形框重疊數(shù)量n1與n2,將n1+n2最大的行人作為該幀的正確結(jié)果。
4.1 數(shù)據(jù)準備
本文實驗數(shù)據(jù)庫來自于全國研究生智慧城市視頻分析技術(shù)挑戰(zhàn)賽。數(shù)據(jù)庫中的視頻均來自于北京大學(xué)的校園監(jiān)控視頻,該監(jiān)控視頻真實且較為復(fù)雜。本文從2016年智慧城市的跨攝像頭行人跟蹤比賽的數(shù)據(jù)中挑選了其中4個攝像頭進行行人檢索,部分攝像頭截圖如圖9。行人檢測的訓(xùn)練數(shù)據(jù)是從2015年智慧城市的單攝像頭多類目標檢測數(shù)據(jù)中的4個攝像頭視頻,與行人檢索的4個攝像頭是相同場景。行人檢測訓(xùn)練數(shù)據(jù)的每個視頻包含800張圖像,共計3200張,包含12664個行人。行人檢索每個攝像頭9000到10000張圖像不等,共計37934張,從中挑選了10個行人進行檢索,10個行人的查詢對象都為其中一個攝像頭出現(xiàn)的第一幀位置。
圖9 智慧城市的跨攝像頭行人跟蹤比賽的部分視頻截圖
4.2 評測標準
本文實驗評測指標采用了智慧城市比賽的跨攝像頭行人跟蹤比賽中的評測指標。對所有N個攝像頭中的每個攝像頭,在時間軸上設(shè)置Tn(1,2,…,N)個匹配節(jié)點,每個匹配節(jié)點在時間軸上具有一定的范圍(例如前后10幀)。對于某一個指定跟蹤對象,在某個包含的匹配節(jié)點范圍內(nèi),當提交的跟蹤軌跡和目標真實軌跡有超過50%的幀都能匹配上時,則認定該跟蹤對象在跨頭跟蹤時匹配到了該匹配節(jié)點。
對于第i個跟蹤對象,評測指標為
其中N是總的攝像頭數(shù),Gni(Gni<Tni)是第i個指定跟蹤對象的跟蹤Ground Truth軌跡在攝像頭n里包含的匹配節(jié)點的數(shù)目。Cni是指第i個指定跟蹤對象在攝像頭n里匹配到的匹配節(jié)點的數(shù)目。Din是第i個指定跟蹤對象在攝像頭n里包含的匹配節(jié)點的數(shù)目。
4.3 實驗結(jié)果分析
本文在實驗中使用CVPR2015的LOMO+XQDA[11]的行人檢索方法在同一個數(shù)據(jù)集上進行了測試,并與本文的方法進行了對比。LOMO指的是Local Maximal Ocurrence,即局部最大出現(xiàn)次數(shù),XQDA指的是Cross-view Quadratic Discirminant Analysis,即跨攝像頭二次方程判別式。該方法通過LOMO特征與XQDA空間度量學(xué)習(xí)方法來訓(xùn)練并計算特征向量距離來進行行人匹配。圖10給出了其中一個行人的跨攝像頭跟蹤可視化結(jié)果。
圖10 跨攝像頭行人檢索部分可視化結(jié)果
實驗對比結(jié)果如表1所示,表中單元格內(nèi)3個參數(shù)依次為Recall、Precision、Fscore。從實驗結(jié)果對比中可以看出,LOMO+XQDA方法在召回率上要比本文方法要高,但是在準確率上較低。本文方法在召回率上較低的原因是因為在行人匹配時雖然找到了查詢對象出現(xiàn)的大致時間段,但是對于軌跡的開始與結(jié)束的定位不夠精準。其次由于監(jiān)控視頻中視頻中人流混雜,經(jīng)常出現(xiàn)遮擋,行人檢測漏檢也導(dǎo)致召回率低。最后綜合比較,本文方法的Fscore比LOMO+XQDA略高一籌。
表1 本文方法與LOMO+XQDA方法的實驗結(jié)果對比
本文提出了一種基于深度學(xué)習(xí)的跨攝像頭行人檢索方法,并加入時間與空間信息來提高檢索準確率。在2016智慧城市跨攝像頭行人跟蹤數(shù)據(jù)集上進行了測試,并與LOMO+XQDA方法進行了對比。最后分析了實驗結(jié)果并提出了不足與缺點,在接下來的工作中將對不足與缺點進行改進并進一步完善這個方法。
[1]Shaoqing Ren,Kaiming He,Ross Girshick,Jian Sun.Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks[C]//IEEE Transactions on Pattern Analysis and Machine Intelligence,2015:1-1.
[2]Ross Girshick,Jeff Donahue,Trevor Darrell,Jitendra Malik.Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation [J].CVPR, 2014:580-587.
[3]K He,X Zhang,S Ren,J Sun.Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2014,37(9):1904-1916.
[4]Ross Girshick.Fast R-CNN[J].CVPR,2015:1440-1448.
[5]Alex Krizhevsky,Ilya Sutskever,Geoffrey E.Hinton.ImageNet Classification with Deep Convolutional Neural Networks[C]//NIPS,2012,25(2):2012.
[6]JF Henriques,C Rui,P Martins,J Batista.High-Speed Tracking with Kernelized Correlation Filters[C]//IEEE Transactions on Pattern Analysis and Machine Intelligence,2015,37(3):583-596.
[7]Navneet Dalal,Bill Triggs.Hisograms of Oriented Gradients for Human Detection[J].CVPR,2005,1:886-893.
[8]D.G.Lowe.Distinctive image feature from scale invariant keypoints[C]//IJCV,2004,60(2):91-110.
[9]J.Philbin,O.Chum,M.Isard,A.Zisserman.Object retrieval with large vocabularies and fast spatial matching[J].CVPR,2007:1-8.
[10]F.Shahbaz Khan,R.M.Anwer,J.van de Weijer,A.D.Bagdanov,M.Vanrell,A.M.Lopez.Color attributes for object detection[J].CVPR,2012:3306-3313.
[11]S Liao,Y Hu,X Zhu,SZ Li.Person Re-identification by Local Maximal Ocurrence Representation and Metirc Learing[J].CVPR,2015:2197-2206
[12]Felzenszwalb,Girshick,McAllester,Ramanan.Object detection with discriminatively trained part-based models[C]//IEEE Trans.PAMI,2010,32(9):1627-1645.
[13]Joseph Redmon,Santosh Divvala,Ross Girshick,Ali Farhadi.You Only Look Once:Unified,Real-Time Object Detection[J].CVPR,2016:779-788.
[14]Wei Liu,Dragomir Anguelov.SSD:Single Shot MultiBox Detector[C]//ECCV,2016:535-549.
[15]J.R.Uijlings,K.E.van de Sande,T.Gevers,A.W.Smeulders.Selective Search for object recognition[C]//IJCV,2013,104(2):154-171.
Pedestrian Tracking Across Cameras Based on Deep Learning and Spatiotemporal Constraint
XIA Tian LI Minxian SHAO QingweiGUAN Chao LU Jianfeng
(School of Computer Science and Engineering,Nanjing University of Science and Technology,Nanjing 210094)
Nowadays surveillance video is everywhere,how to track pedestrian across the multi-camera is valuable for social security system.So pedestrian tracking across cameras becomes an important research in computer vision.This paper proposes a method of pedestrian tracking across the multi-camera.The method divides the task into pedestrian detection and person re-identification.In the part of pedestrian detection,F(xiàn)aster R-CNN is adopted.In the part of person re-identification,CNN is used features to calculate the similarity score and optimize the results by the spatiotemporal constraint.Meanwhile,experiments in a complex surveillance video is applied to test the proposed method performance.
deep learning,pedestrian detection,person re-identification,F(xiàn)aster R-CNN,CNN,spatiotemporal constraint
TP301
10.3969/j.issn.1672-9722.2017.11.039
Class Number TP301
2017年5月9日,
2017年6月27日
夏天,男,碩士研究生,研究方向:人工智能與模式識別。李旻先,男,講師,研究方向:人工智能與模式識別。邵晴薇,男,碩士研究生,研究方向:人工智能與模式識別。管超,男,碩士研究生,研究方向:人工智能與模式識別。陸建峰,男,教授,研究方向:人工智能與模式識別。