陸星家,郭 璘,陳志榮,林 勇,2
(1.寧波工程學院a.理學院;b.交通與物流學院,浙江 寧波 315211;2.美國德州大學阿靈頓分校計算機學院,美國 阿靈頓76019)
近年來,隨著目標檢測和追蹤技術(shù)的快速發(fā)展,目標檢測和追蹤研究逐漸由單目標檢測和追蹤轉(zhuǎn)為多目標的檢測和追蹤。多目標檢測和追蹤在軍事和民用領(lǐng)域都有廣泛的應(yīng)用[1],如無人機對于可以移動目標的檢測和追蹤;智慧交通中的機動車檢測和追蹤以及可疑人員的檢測和追蹤。在多目標追蹤的檢測和追蹤研究中,由于目標之間的遮擋,追蹤目標在特征上的相似性以及目標群體的空間拓撲的變化成為阻礙多目標檢測和追蹤技術(shù)應(yīng)用的主要挑戰(zhàn)。除此之外,追蹤場景的復雜性和多樣性也是制約多目標檢測和追蹤技術(shù)發(fā)展的瓶頸。
傳統(tǒng)的多目標追蹤算法普遍利用相似度函數(shù)或距離函數(shù)對不同幀的檢測目標進行關(guān)聯(lián),選擇關(guān)聯(lián)度最大的幀間目標進行匹配。如MHT(Mulittarget Hypothesis Tracking)算法通過建立假設(shè)檢驗?zāi)繕?,完成多目標追蹤?],由于MHT 算法是通過聯(lián)合概率來計算不同幀間目標的關(guān)聯(lián)關(guān)系,為了減少在目標追蹤過程中采樣方差對數(shù)據(jù)關(guān)聯(lián)的影響,MHT 算法利用馬氏距離進行目標間的度量,由于馬氏距離可以有效減少采樣數(shù)據(jù)整體方差對數(shù)據(jù)關(guān)聯(lián)的影響,可以有效地改善多目標追蹤效果。而JPDA(Joint Probabilistic Data-Association)算法利用聯(lián)合概率對目標追蹤進行關(guān)聯(lián)[3],通過計算幀間目標的聯(lián)合概率完成追蹤,在追蹤目標較多時,JPDA容易引起計算復雜度的急劇攀升。聯(lián)合概率的計算是該算法的主要問題。近年來在目標追蹤研究中,粒子濾波器算法由于利用馬爾可夫過程和重采樣技術(shù),有效地克服了JPDA 算法中計算復雜度急劇攀升的問題,同時對于多模目標分布,也保持較高的估計準確率,該算法受到了廣大學者的關(guān)注[4]。
本文利用可變部分模板模型進行機動車檢測,結(jié)合MCMC 算法和MHDA 算法對檢測的車輛進行追蹤。為了保持追蹤的準確率同時降低計算復雜度攀升的問題,結(jié)合MHDA 算法建立全局追蹤的假設(shè)檢驗,減少多機動車追蹤過程中因為目標間遮擋、以及目標相似造成追蹤錯誤和追蹤丟失,提高多機動車檢測和追蹤的精準度。
復雜的檢測場景、機動車之間遮擋以及背景的變化是機動車檢測面臨的主要問題。其中遮擋又可以分為長時遮擋和短時遮擋;或部分遮擋和完全遮擋。傳統(tǒng)的多機動車目標檢測算法針對以上2 種類型的遮擋問題解決較差,檢測的準確率不高,主要原因在于檢測器從圖像中提取的特征不具有良好的統(tǒng)計特征,容易受到光照、仿射以及遮擋的影響,同時單一的檢測器在目標尺寸急劇變化時,檢測效果也較差。因此國內(nèi)外學者普遍采用復合檢測器提高目標檢測的精準度。在不同的分辨率下構(gòu)造不同的檢測器,構(gòu)成復合檢測器。為了減少特征對于檢測的影響,目前主要采用具有統(tǒng)計不變的特征作為目標檢測的特征,如梯度方向直方圖(Histogram of Oriented Gradient,HOG)特征對目標的旋轉(zhuǎn)、放大及縮小具有很好的不變性,被廣大研究者采用[5-6]。Felzenszwalb利用HOG 對不同的目標進行檢測,獲得了較好的檢測效果。Andriluka 和Leibe 在研究行人檢測時,也采用層次檢測器,在不同的分辨率下對行人進行檢測,并取得較好的檢測效果[7-8]。本文擬采用HOG 特征作為機動車檢測特征,通過訓練樣本獲取機動車的HOG 特征模板,為了提高機動車目標檢測的準確性,本文采用復合模板,獲取不同圖像分辨率下的特征模板。在完成機動車模板的構(gòu)建之后,對機動車目標進行檢測,并在此基礎(chǔ)上進行機動車追蹤。
機動車是剛體對象,在機動車的運動過程,由于受到道路的約束,機動車在一定時間內(nèi),機動車的位置和外觀變化較小,采用可變模板對剛體對象檢測的準確率和精確率都較高,同時可變模板的訓練也可以離線完成。可變模板是一個檢測模板的集合,最高層的是根模板,根模板是最低分辨率的特征模板,根模板連接一系列的子模板,子模板是較高分辨率下的特征模板,根模板和子模板之間采用HOG 特征作為目標檢測特征,各個子模板和根模板都被賦值為不同的權(quán)重,通常模板包括一個根F0檢測器和一個部分檢測器集合(P1,P2,…,Pn),Pi包括檢測器的層次信息、位置信息、窗口的尺寸以及每個檢測的權(quán)重得分信息。目標的檢測過程就是將目標對象的HOG 特征與可變模板進行比較,通過計算得分差異進行目標檢測。對于機動車檢測而言,HOG 特征具有很好的統(tǒng)計不變性,有利于從復雜的背景中提取機動車的輪廓模板。
為了完成對不同機動車的檢測,首先需要建立機動車的檢測模板,主要針對小轎車、大客車、摩托車、電動車等不同類型的車輛進行學習,學習過程采用離線方式,將樣本圖像在6 個尺度上計算HOG 特征,訓練圖像為256 ×256 的圖像,采用的樣本圖像是INRIA 的測試數(shù)據(jù),通過計算每個像素的HOG 特征,在每一個像素點上計算梯度角度式(1),為了保證特征提取的準確性,每20°度的角度變化構(gòu)建一個bin(圖1),并將直方圖均勻化。角度θ 的計算公式如式(1)所示,sy和sx表示在垂直方向和水平方向的灰度變化量。
圖1 梯度方向直方圖和Bin
完成以上4 類檢測對象的學習之后,構(gòu)建的HOG 特征模板如圖2 所示,完成4 類檢測器的構(gòu)建。
圖2 HOG 特征模板
在機動車目標檢測之后,需要對機動車進行追蹤,在追蹤過程中,目標的丟失和遮擋也是目標追蹤的主要難題。近年來,增量學習方法稱為目標追蹤的研究重點,如Ozuysal 和Lim 利用增量的Online Boosting 算法對目標追蹤進行增量學習[9-10],但是由于增量學習的時間復雜度較高,目前只能完成單目標的在線學習追蹤,而對于多目標的追蹤,無法滿足追蹤的實時要求,本文擬采用MCMC 算法和MHDA算法進行多機動車的追蹤,其中MCMC 算法通過馬爾可夫過程在前一時刻上進行后驗概率估計,通過蒙特卡洛模擬,利用重序列采樣獲取前一時刻的狀態(tài)分布。
MCMC 通過對上一幀檢測的對象進行重要序列重采樣,在下一幀中利用馬爾可夫過程計算下一幀對象的條件概率,通過滑動窗方法選擇具有最大概率的窗口作為下一幀的目標的追蹤結(jié)果。
在完成對機動車的檢測之后,為了提高目標追蹤的精準度,結(jié)合機動車的動力學模型對機動車運行的狀態(tài)進行估計,設(shè)在t 時刻被追蹤的機動車在圖像的坐標為(x(k),y(k)),t 時刻機動車在圖像橫坐標和縱坐標上的速度分別為vx(k)和vy(k),橫坐標和縱坐標上的加速度為ax(k)和ay(k),Z(k)表示在t 時刻的機動車運動狀態(tài)的測量值,取以上6 個變量描述運動狀態(tài),可以得到運動目標的狀態(tài)轉(zhuǎn)移方程為:
X(k)=(x(k),y(k),vx(x),vy(k),ax(k),ay(k))T),Γω(k)表示隨機擾動,機動車的觀測模型是 Z (k)=HX (k)+V (k),Z (k)=(Zx(k),Zy(k))T。
MCMC 需要對目標的運動進行預估,在MCMC算法中,令Xt(k+1|k)為Xt直到k 時刻的測量數(shù)據(jù)來預測的k+1 時刻的目標t 的狀態(tài)。在k +1 時刻的追蹤算法過程為:
(1)利用k 時刻的測量數(shù)據(jù)通過狀態(tài)轉(zhuǎn)移,來預測k+1 時刻的目標t 的運動狀態(tài)Xt(k +1|k)=FXt(k|k),F(xiàn)Xt(k|k)=Bw(k)即粒子的空間傳播。MCMC 算法根據(jù)機動車當前的狀態(tài)對目標的分布函數(shù)進行采樣,設(shè)置采樣粒子的權(quán)重,擬合分布函數(shù),在分布函數(shù)的分布期望區(qū)間,粒子的權(quán)重較大,在分布的邊緣,權(quán)重較小。
(2)在k+1 時刻,根據(jù)粒子的分散程度結(jié)合跟蹤窗(機動車可能的運動區(qū)域),然后在窗內(nèi)進行檢測,得到可能的測量值。
(3)對于測量j=1,2…,mk+1,目標t=1,2…,計算測量與目標的聯(lián)合關(guān)聯(lián)概率。如果追蹤目標準確,則測量值和運動估計值得聯(lián)合概率最大。
(5)計算k+1 時刻的條件分布權(quán)重和k +1 時刻的速度
(6)根據(jù)條件概率對重采樣加權(quán)和計算目標t的采樣粒子支撐點集的權(quán)值得到支撐點集
(9)追蹤系統(tǒng)接受下一幀圖像,返回到第(1)步。重復上述過程,直至所有圖像中的機動車目標都被追蹤完為止。
在目標追蹤過程中,由于光照,遮擋等原因會造成追蹤目標的丟失,其中,遮擋問題可以根據(jù)遮擋時間的長度分為短時遮擋和長時遮擋,在機動車追蹤中,由于交通信號燈以及車輛擁堵的原因,容易出現(xiàn)長時間的遮擋,也就是會造成長時間的追蹤目標的丟失,因此在機動車追蹤過程中,需要構(gòu)建全局的追蹤信息,MHDA 算法通過建立全局的目標追蹤軌跡,克服短時的遮擋。MHDA 算法的核心思想是建立多個追蹤結(jié)果的假設(shè)檢驗,MHDA 算法中的其中表示t 時刻目標的位置,表示t時刻目標的速度表示t 時刻目標外觀特征表示t 時刻目標的尺寸。,其中K 表示在t 時刻目標的數(shù)量,Xt表示目標的狀態(tài),為了保證追蹤的連續(xù)性,MHDA 算法利用聯(lián)合概率
考慮到P(Z,X)的概率的計算,如對(t -1,…,0)時刻的概率進行計算,雖然可以提高追蹤的準確率,但是對于追蹤過程的計算量過大,利用馬爾可夫性質(zhì),對于P(Xt|Xt-1…X0)≈P(Xt|Xt-1),只計算前一時刻的狀態(tài)概率P(Xt|Xt-1),并通過前一時刻的狀態(tài)校正測量值P(Zt|X,Zt-1…Z0)≈P(Zt|Xt)。通過MHDA 通過全局目標假設(shè)檢驗,搜索具有最大概率的追蹤軌跡。多假設(shè)檢驗的置信區(qū)間為95%。
本文進行機動車檢測和追蹤采用實際的交通監(jiān)控數(shù)據(jù)作為實驗數(shù)據(jù),這些視頻數(shù)據(jù)集是用靜態(tài)相機進行拍攝的,該數(shù)據(jù)集主要的挑戰(zhàn)是,不同時間段的交叉路口的光照變化,機動車之間的遮擋,天氣的影響以及行人的干擾。為了正確反映出多機動車檢測算法的準確率,本文主要從3 個指標上對該算法進行度量:(1)真陽性(TPR True Positive Rate),即靈敏度;(2)假陽性(FPR False Positive Rate);(3)假陰性(FNR False Negative Rate)指標,其中TPR 主要檢測算法對于多機動車檢測的準確性,是反映該算法檢測準確率最重要的指標。FPR主要是度量算法的誤檢率,F(xiàn)NR 主要是度量算法的漏檢率。由于交通監(jiān)控的實際需要,F(xiàn)PR 需要盡量的低,要達到零誤檢率,因為誤檢會推高交通執(zhí)法成本,如一個未違規(guī)的駕駛者被判定為違規(guī),交通管理者面臨著執(zhí)法錯誤的風險。而漏檢率在一定程度下是可以忍受的。TP 是真陽性,TP 是假陰性,TPR 為正確的檢測率。
誤檢率對于多目標追蹤算法而言,當算法的誤檢率較高時,該算法的可用性就較差,由于追蹤過程中錯誤較多,不能滿足多目標追蹤算法的要求。
漏檢率同樣是多目標追蹤算法一個重要指標,由于漏檢是指在追蹤過程中,一些目標的隨著追蹤過程被遺漏了,如何該算法的漏檢率較低時,算法可用性較好。
為了驗證算法的精密度(Precision)和準確度(Accuracy),機動車檢測的結(jié)果表1 所示,數(shù)據(jù)集1 表示早晨7:00 -8:00 的交通視頻,數(shù)據(jù)集2 表示下午16:00 -18:00 的交通視頻,數(shù)據(jù)集3 表示夜晚18:30-19:30的交通視頻,以上3 個時間段的交通數(shù)據(jù)是城市最能反映一個城市的交通狀況。針對不同路段的交通視頻進行測試,測試結(jié)果如表1 所示,對于交通監(jiān)控管理者而言,錯檢率的執(zhí)法風險過高,本文將降低錯檢率作為該算法的首要目標,漏檢率需要保持在85%以上,由于機動車的遮擋以及光照的影響,機動車的漏檢率較高,根據(jù)檢測模型檢測到的機動車的數(shù)量在不同圖像分辨率上的分布,重新設(shè)置部分模板和根模板之間的鏈接權(quán)重,從而有效地降低漏檢率的發(fā)生。從表1 中可知,在清晨和下午2 個時段,機動車檢測的準確率能夠達到要求,在夜晚時段,檢測的準確率急劇下降,漏檢率達到43%左右。
表1 測試數(shù)據(jù)集的檢測精度和準確度 %
在完成機動車的檢測之后,先對單個機動車進行追蹤測試,測試的結(jié)果如圖3 所示,機動車的檢測和追蹤在正常的光照條件下準確率和精確度較高。追蹤器能夠較好地對機動車進行追蹤,在黑夜條件下,追蹤器的準確率不高。在單一機動車的追蹤過程中,基于MCMC 算法的追蹤器能夠較好地適應(yīng)目標追蹤的要求。
圖3 不同光照條件下單機動車測試結(jié)果
在多機動車追蹤情況下,本文選取不同光照條件下的多機動車追蹤,追蹤的結(jié)果如圖4 所示,追蹤器能夠較高地對大客車、小轎車以及電動車進行追蹤,在多目標追蹤過程中,本文的平均正確檢測率達到75%左右,由于實際情況中的不定因素有很多,如光照的急劇變化、目標之間的遮擋、人流和車流的密度較高等等。因此也會影響機動車檢測和追蹤的準確率和精確率。在目標追蹤的過程中也發(fā)現(xiàn)到追蹤的準確率和精確度最容易受到光照強度的影響,如光線過亮或過暗時拍攝的機動車檢測和追蹤都會出現(xiàn)誤檢測和誤追蹤,因此獲取的視頻質(zhì)量十分重要,可加入自動光線補償過程使得過亮或過暗的光線能得到調(diào)整,從而不影響機動車運動區(qū)域的視頻質(zhì)量。另外,在實驗過程中發(fā)現(xiàn)到對于從視頻序列中如何選擇拍攝角度與效果較好的一幀也是需要改進的地方,因此前期幀質(zhì)量的選擇會影響到后續(xù)的特征提取與檢測。
為了正確反映出多機動車追蹤算法的準確率,主要從2 個指標上對算法進行度量:(1)序列幀檢測精度(SFDA),SFDA 主要度量在追蹤過程中車輛被檢測到的數(shù)量、誤檢和錯檢的數(shù)量,其中SFDA 中的FDA 是每一幀的目標檢測率;(2)平均追蹤精度(STDA)指標,主要檢測算法對于目標追蹤的精度,是反映該算法追蹤準確率最重要的指標[11-13]。
圖4 不同光照條件下多機動車追蹤結(jié)果
多機動車追蹤的結(jié)果如表2 所示,在機動車的單目標追蹤中,追蹤的準確率較高,由于在機動車追蹤問題中,機動車的運行軌跡相對連續(xù),因此在機動車的軌跡追蹤中,可以縮小MCMC 算法的滑動窗的搜索范圍,而對于運動變化較大的目標追蹤中,為了提高追蹤算法的準確率,有時必須擴大滑動窗的搜索范圍,在目標追蹤中,問題域的先驗知識對于提高追蹤算法的準確率是十分重要。在多目標追蹤中,由于多個目標之間的拓撲關(guān)系會隨著機動車的運動而發(fā)生改變,MHDA 算法通過保持多個目標在追蹤過程中的聯(lián)合概率進行關(guān)聯(lián),由于計算聯(lián)合概率隨著追蹤時間的增長呈指數(shù)級別增長,因此設(shè)置計算聯(lián)合概率的時間長度可以有效地降低算法的收斂速度,由于在交通路口的多目標追蹤,機動車之間的拓撲關(guān)系相對固定,也減少了多目標追蹤算法的追蹤丟失率和錯追蹤率。從表2 中可知,在清晨和下午2 個時段,多機動車追蹤的準確率能夠達到要求,在夜晚時段,追蹤的準確率急劇下降,追蹤丟失率達到45%左右。
表2 測試數(shù)據(jù)集的追蹤精度和準確度 %
針對算法的實時性,針對測試視頻分別MCMC和MDHA 算法,Online Boosting 算法進行對比,追蹤算法的實時性主要通過每分鐘追蹤的幀數(shù)(f/s)進行對比,實時性要達到20 f/s 左右才能滿足實時性,在測試過程中,數(shù)據(jù)集1~3 的時間長度為10 min 的實時視頻,每分鐘追蹤的幀數(shù)測試結(jié)果如表3 所示,從表3 可知,MCMC 和MDHA 算法相對與Online Boosting 算法而言,在正常光照條件下,每分鐘可以追蹤20 f/s,而在黑夜條件下,每分鐘可以追蹤15 f/s,相對Online Boosting 算法而言,可以較好地滿足實時性的要求。
表3 測試數(shù)據(jù)集的實時性能對比 (f·s -1)
本文針對多機動車檢測和追蹤過程中的問題,提出了一種基于MCMC 和MHDA 算法的多機動車檢測和追蹤算法,通過在不同分辨率尺度上利用全局和部分模板提取機動車目標,并利用MCMC 和MHDA 完成目標的全局追蹤。實驗結(jié)果利用數(shù)據(jù)關(guān)聯(lián)可以降低機動車追蹤過程中的追蹤丟失率和機動車的錯追蹤率,能夠完成機動車的普通場景下的機動車檢測和追蹤,有效地對小轎車、大客車、電動車和自行車等4 種不同類型的車輛進行檢測和追蹤,為以后機動車的在線識別和跨相機的追蹤研究提供了理論和實踐基礎(chǔ)。
[1]Yilmaz A,Javed O,Shah M.Object Tracking:A Survey[J].Acm Computing Surveys,2006,38(4):1-45.
[2]Reid D B.An Algorithm for Tracking Multiple Targets[J].IEEE Trans.on Automatic Control,1979,24(6):843-854.
[3]Fortmann T E,Bar-Shalom Y,Scheffe M.Sonar Tracking of Multiple Targets Using Joint Probabilistic Data Association [J].IEEE Journal Oceanic Engineering,1983,8(3):173-184.
[4]楊小軍,潘 泉,王 睿,等.粒子濾波進展與展望[J].控制理論與應(yīng)用,2006,23(2):261-267.
[5]Shu Guang.Part-based Multiple-person Tracking with Partial Occlusion Handling [C]//Proc.of IEEE Conference on Computer Vision and Pattern Recognition.[S.1.]:IEEE Press,2012.
[6]Felzenszwalb P,Girshick R,McAllester D,et al.Object Detection with Discriminatively Trained Part Based Models [J].IEEE Trans.on Pattern Analysis and Machine Intelligence,2010,32(9):110-121.
[7]Andriluka M,Roth S,Schiele B.People Tracking by Detection and People Detection by Tracking [C]//Proc.of IEEE Conference on Computer Vision and Pattern Recognition.[S.1.]:IEEE Press,2008:321-329.
[8]Leibe B,Schindler K,Gool L V.Coupled Detection and Trajectory Estimation for Multi-object Tracking[C]//Proc.of IEEE International Conference on Computer Vision.[S.1.]:IEEE Press,2007.
[9]Rangachar K.Framework for Performance Evaluation of Face,Text,and Vehicle Detection and Tracking in Video:Data,Metrics,and Protocol [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2009,31(2):319-336.
[10]Xu Jia,Lu Huchuan,Yang Minghuan.Visual Tracking via Adaptive Structural Local Sparse Appearance Model[C]//Proc.of IEEE Conference on Computer Vision and Pattern Recognition.[S.1.]:IEEE Press,2012:356-347.
[11]Felzenszwalb P,McAllester D,Ramaman D.A Discriminatively Trained,Multiscale,Deformable Part Model [C]//Proc.of Computer Vision and Pattern Recognition Conference.[S.1.]:IEEE Press,2008:1-8.
[12]Ali S,Shah M.Human Action Recognition in Videos Using Kinematic Features and Multiple Instance Learning[J].IEEE Trans.on Pattern Analysis and Machine Intelligence,2009,32(2):288-303.
[13]Xiao Jiangjian,Cheng Hui,Sawhney H S,et al.Vehicle Detection and Tracking in Wide Field-of-View Aerial Video[C]//Proc.of Computer Vision and Pattern Recognition Conference.[S.1.]:IEEE Press,2010:679-684.
[14]Ge J,Luo Y,Tei G.Real-time Pedestrian Detection and Tracking at Nighttime for Driver-assistance Systems[J].IEEE Trans.on Intelligent Transportation Systems,2009,10(2):283-298.