成 悅, 李建增
(陸軍工程大學(xué)石家莊校區(qū),石家莊 050003)
近幾年,計算機視覺越來越體現(xiàn)出它在人工智能方面的重要性,而視頻目標(biāo)跟蹤技術(shù)也得到了較快的發(fā)展。航拍技術(shù)是近幾年新興的一種偵察手段,無論是在軍用還是民用方面都有著極大的應(yīng)用前景,其中,目標(biāo)跟蹤技術(shù)是必不可少的一個環(huán)節(jié)。目前,視頻單目標(biāo)跟蹤技術(shù)已經(jīng)較為完善,但多目標(biāo)跟蹤問題仍然面臨很多困難與挑戰(zhàn)。
多目標(biāo)跟蹤除了有單目標(biāo)跟蹤所面臨的目標(biāo)尺度變化、旋轉(zhuǎn)變化、背景變化、相似目標(biāo)干擾、遮擋干擾等問題外,還需要處理多個被跟蹤目標(biāo)之間的互動,如兩個被跟蹤目標(biāo)距離過近、相互遮擋,目標(biāo)候選點之間的匹配與關(guān)聯(lián)等。
目標(biāo)跟蹤首先要對目標(biāo)進(jìn)行建模。為了建立目標(biāo)的外觀模型,前人應(yīng)用了眾多有效的方法:文獻(xiàn)[1-2]主要運用了提取目標(biāo)顏色特征作為跟蹤依據(jù)的方法進(jìn)行建模;文獻(xiàn)[3]采用顏色直方圖和LBP特征對大量人體分塊樣本進(jìn)行離線訓(xùn)練;文獻(xiàn)[4]利用角點采樣的方法來實現(xiàn)相互遮擋的多目標(biāo)分離問題;文獻(xiàn)[5]利用光流進(jìn)行數(shù)據(jù)關(guān)聯(lián);文獻(xiàn)[6]采用光流法將軌跡片段鏈接成完整的軌跡。當(dāng)前,HOG特征[7]、SURF特征[8-9]、ORB特征[10]等都是用于描述目標(biāo)特點的比較成熟的方法。綜合前人歸納的特征提取方式的優(yōu)缺點,本文最終確定了采用顏色直方圖和HOG特征相結(jié)合的方式進(jìn)行特征提取。
基于在線學(xué)習(xí)的跟蹤算法是近幾年新興的一種通過建立在線更新的分類器來實現(xiàn)目標(biāo)跟蹤的方法。傳統(tǒng)的離線學(xué)習(xí)跟蹤算法[11-12]就是在跟蹤前用大量的目標(biāo)外觀特征對分類器進(jìn)行訓(xùn)練,一旦開始跟蹤,分類器就不再進(jìn)行更新了,所以這類方法必須提前掌握大量的目標(biāo)外觀特征。由于目標(biāo)特征在開始跟蹤前并不容易獲得,所以在線學(xué)習(xí)的方法越來越受到專家學(xué)者的青睞。文獻(xiàn)[13]提出了在線Boosting跟蹤算法,可以自主地選擇特征池中的特征,取得了很好的效果;文獻(xiàn)[14]提出了Adaboost級聯(lián)分類器,把多個弱分類器級聯(lián)變?yōu)閺姺诸惼鳎罱K確定目標(biāo)位置;文獻(xiàn)[15]提出了效果較好的TLD(Tracking-Learning-Detection)算法[16-19],把跟蹤過程分為了3個模塊,相互配合,達(dá)到了長期穩(wěn)定跟蹤目標(biāo)的理想效果。除此之外,在線學(xué)習(xí)方法還有很多,采用SVM分類器是較為經(jīng)典的一種方法,很多跟蹤算法[20-22]都采用它進(jìn)行正負(fù)樣本的區(qū)分。
圖1為本文算法的流程圖。
圖1 本文多目標(biāo)跟蹤算法流程圖
本文所提算法基于顏色信息和梯度信息對目標(biāo)進(jìn)行建模,并結(jié)合無損卡爾曼濾波(UKF)預(yù)測目標(biāo)下一幀位置。同時,對每一幀新得到的正負(fù)樣本進(jìn)行半在線學(xué)習(xí),無遮擋情況下不斷更新分類器,使其具有長時間跟蹤能力。為了提高跟蹤精度,加入尺度自適應(yīng)模塊,使跟蹤框隨目標(biāo)大小的變化而變化,確保每次分類器學(xué)習(xí)的準(zhǔn)確度。此外,本文算法也加入了遮擋處理和數(shù)據(jù)關(guān)聯(lián)機制,使遮擋條件下多目標(biāo)跟蹤具有更好的魯棒性。
在近幾年流行的基于檢測的跟蹤方法中,提取目標(biāo)的特征是目標(biāo)跟蹤的前提。本文采用以下兩種特征相結(jié)合的方式進(jìn)行目標(biāo)的特征提取。
1) 顏色直方圖。顏色是人眼區(qū)分物體之間運動狀態(tài)最直觀的方法,它對攝像機拍攝角度的變化、光照變化、輕微的遮擋等環(huán)境變化不敏感。 圖像顏色有多種表達(dá)方式,由于HSV顏色空間更符合人眼的分辨,故本文采用HSV空間對目標(biāo)特征進(jìn)行提取。
本文均勻地將色調(diào)H分成8份,飽和度S和亮度V各分成3份,并賦予相應(yīng)的權(quán)值
(1)
式中:fc是目標(biāo)顏色直方圖特征向量;αH,αS,αV分別是H,S,V的相對權(quán)重,由它們確定直方圖的維數(shù)。維數(shù)越多,計算復(fù)雜度越大;維數(shù)越少,丟失的有用信息就越多,更容易使目標(biāo)丟失或誤檢漏檢。
2) 梯度直方圖(HOG特征)。梯度特征是目前計算機視覺領(lǐng)域很常用的一種描述圖像局部紋理的特征。這個特征先計算圖片某一個區(qū)域中不同方向上梯度的值,然后進(jìn)行累積,得到直方圖,就可以作為特征輸入到分類器里面。本文利用滑窗將預(yù)測區(qū)域內(nèi)每個block劃分為4個cell,每個cell有9維特征向量,這樣就得到了36維HOG特征向量fh。
每個目標(biāo)提取以上兩種特征進(jìn)行目標(biāo)的區(qū)分和關(guān)聯(lián),對于目標(biāo)集I中每個目標(biāo)i,檢測響應(yīng)ri的特征描述子為φ(fc,fh),其中,HOG特征負(fù)責(zé)初次篩選待匹配目標(biāo),顏色直方圖負(fù)責(zé)驗證和處理兩目標(biāo)間距離較近時的候選目標(biāo)與已有目標(biāo)之間的數(shù)據(jù)關(guān)聯(lián)。顏色相似度采用巴氏系數(shù)計算,假設(shè)兩個經(jīng)過歸一化處理的離散顏色直方圖的相應(yīng)顏色概率分布分別為p={p(u)}u=1,…,m和q={q(u)}u=1,…,m,則巴氏系數(shù)可表示為
(2)
系數(shù)的取值范圍為0~1,ρ值越大,表明相似性越高。如果兩個圖像相同,則相應(yīng)的顏色直方圖會完全一樣,此時ρ=1。
由于本文應(yīng)用背景需要根據(jù)第一幀手動選擇要跟蹤的目標(biāo),沒有固定的模板,所以也無法提前訓(xùn)練好樣本,因此就需要用到在線學(xué)習(xí)的方法。
視頻在第一幀的時候要進(jìn)行初始化,手動選擇想要跟蹤的一個或多個目標(biāo),同時提取第i個跟蹤框里的目標(biāo)特征作為正樣本spi,形成正樣本集{Sp}。設(shè)跟蹤框的相關(guān)參數(shù)為Bi={xi,yi,wi,hi},其中,(xi,yi)為跟蹤框的左上角坐標(biāo),wi為寬,hi為高。定義結(jié)構(gòu)C={B1,B2,…,B|I|}為當(dāng)前幀所有目標(biāo)外觀模型得分的集合。
選好正樣本后,在與任何一個正樣本沒有重合部分的位置,隨機選取2倍于正樣本數(shù)量的負(fù)樣本Sni對分類器進(jìn)行訓(xùn)練,負(fù)樣本集為{Sn},并賦予負(fù)樣本負(fù)的權(quán)值,使分類器具備短距離小形變條件下跟蹤多個目標(biāo)的能力,為接下來對于后面幾幀不斷進(jìn)行在線學(xué)習(xí)并更新分類器中的目標(biāo)模型做好準(zhǔn)備。
位置預(yù)測通常采用卡爾曼濾波,但實際系統(tǒng)大多具有較多噪聲,是非線性系統(tǒng)。因此,為了提升本文算法的跟蹤精度,結(jié)合文獻(xiàn)[23]中較為成熟的UKF算法對目標(biāo)下一幀所在的大致位置進(jìn)行預(yù)測,作為本文算法縮小搜索范圍的輔助措施。
UKF濾波方法以UT(Unscented Transform)變換為基礎(chǔ),采用卡爾曼線性濾波框架,具體采樣形式為確定性采樣,相較PF濾波的隨機性采樣,避免了粒子退化的問題。UKF濾波采樣點數(shù)較少,相比線性卡爾曼濾波,計算量雖有所上升,但影響不大。故本文算法通過較先進(jìn)的UKF濾波估計目標(biāo)下一幀可能出現(xiàn)的最優(yōu)點,得到以最優(yōu)點為中心,做長寬分別為跟蹤框的2.5倍的搜索框,并在搜索框內(nèi)進(jìn)行局部滑窗搜索,確定下一幀跟蹤框的確切位置,以此來縮小搜索范圍,提高算法的速度和魯棒性。
在線學(xué)習(xí)是能夠使目標(biāo)跟蹤長期、穩(wěn)定的一項重要手段,它通過不斷地更新分類器來使跟蹤具有無論目標(biāo)的形態(tài)如何變化都能準(zhǔn)確地分離出前景和背景的能力。支持向量機(SVM)是一個由分類超平面定義的判別分類器,它以其簡潔有效的特點成為分類器中最為經(jīng)典實用的一個。本文算法采用改進(jìn)的SVM方法[3]進(jìn)行目標(biāo)分類與機器學(xué)習(xí)。
首先利用上一節(jié)得到的目標(biāo)預(yù)測位置來確定搜索框位置,在搜索框內(nèi)采用與上一幀跟蹤框尺寸相同的滑窗進(jìn)行檢測。使用上一幀訓(xùn)練好的分類器對每一個滑窗進(jìn)行分類,從而獲取相應(yīng)搜索框內(nèi)目標(biāo)的具體位置。
接下來需要對分類器進(jìn)行更新。為了使結(jié)構(gòu)SVM損失l能夠達(dá)到最小化,首先更新參數(shù)
(3)
(4)
通過式(4)可以得到與最優(yōu)框最相似但沒有重疊部分的樣本,即支持向量的難例。
用ω∈W代表結(jié)構(gòu)SVM損失函數(shù)的梯度,即
▽ωl(W;M,C)=▽ωs(C*;M,W)-▽ωs(C;M,W)=Φ*-Φ
(5)
(6)
式中,Φ={φ1(fc,fh),…,φ|I|(fc,fh)}。最后,參數(shù)更新通過
(7)
來完成。式中,k是一個用于調(diào)節(jié)更新靈敏度的超參數(shù)。
尺度變化是目標(biāo)跟蹤中經(jīng)常遇到的一個困難,會使跟蹤出現(xiàn)偏差甚至失敗。本文算法為解決此問題,采用快速DSST算法[24]中所使用的一維相關(guān)濾波器對目標(biāo)尺度變化進(jìn)行有效且快速的判斷,建立尺度金字塔并選擇響應(yīng)最大的尺度對跟蹤框的寬ωi和高h(yuǎn)i的值進(jìn)行自適應(yīng)調(diào)整,使跟蹤框能夠隨著目標(biāo)尺度的變化而變化。用于尺度評估的目標(biāo)樣本尺寸選擇原則為
(8)
式中:ωi,hi分別為目標(biāo)在前一幀的寬和高;a=1.02為尺度因子;S是尺度總級數(shù),其大小決定著尺度變化范圍,但也影響著算法速率,綜合考慮二者取S=25。
首先在搜索范圍內(nèi)以當(dāng)前幀目標(biāo)位置為中心,采用HOG特征,提取t種不同尺度的樣本f1,f2,…,ft,作為訓(xùn)練樣本,采用高斯函數(shù)作為期望的濾波器響應(yīng)g=[g1,g2,…,gt],通過建立最小化代價函數(shù)構(gòu)造最優(yōu)相關(guān)濾波器h
(9)
式中:d是HOG特征的總維度;l是其中某個維度;λ是正則項系數(shù),為了防止上式分子為零,變換到頻域如下
(10)
對上式分子分母同時以η為學(xué)習(xí)率進(jìn)行更新,目標(biāo)位置即為相關(guān)濾波器響應(yīng)最大位置
(11)
為避免分類器更新過程中的誤差積累,本文算法保留5幀前的目標(biāo)區(qū)域與當(dāng)前幀響應(yīng)最大區(qū)域進(jìn)行對比,若相似度小于某一個閾值表明目標(biāo)被遮擋,則放棄本次分類器更新,直接以預(yù)測位置作為目標(biāo)位置進(jìn)行下一幀的處理,直到搜索框內(nèi)出現(xiàn)與遮擋前目標(biāo)相似度較高的區(qū)域,則判定為目標(biāo)再次出現(xiàn),繼續(xù)進(jìn)行分類器的更新。
多目標(biāo)跟蹤與單目標(biāo)跟蹤一樣,也會存在著遮擋問題,但多目標(biāo)不僅有外物對目標(biāo)的遮擋,還存在著目標(biāo)之間的交叉與遮擋。此外,還有下一幀檢測到的目標(biāo)與現(xiàn)有目標(biāo)之間的相互關(guān)聯(lián)問題需要解決,以防ID混亂,目標(biāo)交換。由于自由模型跟蹤器是逐幀搜索,并不完全依賴于目標(biāo)檢測,所以其ID轉(zhuǎn)換的可能性比較小,數(shù)據(jù)關(guān)聯(lián)的難度也比較低。
如果一個或多個目標(biāo)被外界物體遮擋,即在預(yù)測的搜索框內(nèi)無法找到上一幀學(xué)習(xí)到的目標(biāo)模板或相似度過低,且被遮擋目標(biāo)與其他各目標(biāo)的跟蹤框之間的重疊度大于閾值B,則判定為外物遮擋。
此時的處理辦法與單目標(biāo)跟蹤處理遮擋情況類似,采用UKF方法對目標(biāo)下一幀位置進(jìn)行預(yù)測,并假設(shè)預(yù)測點為目標(biāo)真實位置進(jìn)行下一幀的預(yù)測,直到在某一幀中重新出現(xiàn)目標(biāo)。在遮擋條件下停止進(jìn)行在線學(xué)習(xí),防止更新到錯誤的模板。
此外,對于目標(biāo)被遮擋20幀以上的長時間消失和在視野邊緣消失的情況,判定其為目標(biāo)消失,在目標(biāo)集內(nèi)刪除其編號并釋放空間。
當(dāng)有目標(biāo)被遮擋且被遮擋的目標(biāo)與其他目標(biāo)的跟蹤框之間的重疊度大于閾值B時,判定為多目標(biāo)之間的相互交叉與遮擋。
多個目標(biāo)交叉時,模板會出現(xiàn)混疊,此時分別對多個目標(biāo)采用UKF方法預(yù)測目標(biāo)下一幀位置并進(jìn)行迭代,此時停止更新分類器,直到目標(biāo)再次分開,采用HOG特征檢測到完整的目標(biāo)輪廓后提取其顏色信息,并以此與遮擋前的每個目標(biāo)進(jìn)行BH系數(shù)計算,選取最優(yōu)值進(jìn)行前后匹配并繼續(xù)進(jìn)行在線學(xué)習(xí),如圖2所示。
圖2 遮擋后可能出現(xiàn)的情況分析及本文算法匹配示意圖
實驗是在VS2010開發(fā)平臺上,利用VC++語言和開源代碼Open CV聯(lián)合編程實現(xiàn)的。硬件系統(tǒng)中,處理器為Inter(R)Core(TM) i5 CPU 3230M@2.6 GHz,內(nèi)存為4.00 GB,硬盤為500 GB,操作系統(tǒng)為Windows7。實驗視頻選用2012年慕尼黑科技大學(xué)發(fā)布的應(yīng)用在ECCV里面的數(shù)據(jù)集,分別對本文算法、SPOT法[3]和Possegger法[1]在尺度變換、遮擋干擾和形變條件下進(jìn)行測試。
圖3、圖4和圖5分別是本文算法在尺度變換、遮擋干擾和目標(biāo)形變這3個條件下進(jìn)行目標(biāo)跟蹤的效果圖,跟蹤框左上角為相應(yīng)目標(biāo)的編號,為防止混淆,圖左上角為幀數(shù),視頻名稱依次為彎道、天橋、行人、滑雪。經(jīng)過多次實驗,根據(jù)結(jié)果確定相關(guān)參數(shù),取λ=0.01,k=1,B=0.3。
圖4 遮擋干擾跟蹤效果圖Fig.4 Tracking effects under the condition of occlusion interference
本文采用的評價指標(biāo)為準(zhǔn)確度和精確度。準(zhǔn)確度的計算為:跟蹤器確定的跟蹤框與實際跟蹤框的重疊度超過50%判定為正確跟蹤,一幀中全部目標(biāo)都正確則該幀跟蹤正確;正確跟蹤的幀數(shù)占全部幀數(shù)的比例為準(zhǔn)確度。精確度為預(yù)測中心與實際跟蹤框中心的像素距離,如果一幀中有多個目標(biāo),則記錄多個像素距離的平均值。表1所示數(shù)據(jù)為分別進(jìn)行10次實驗后取的平均值。表中:“↑”表示該參數(shù)越大效果越好;“↓”表示該參數(shù)越小效果越好。
圖5 目標(biāo)形變跟蹤效果圖
Fig.5 Tracking effects under the condition of target deformation
表1 3種算法在以上4個視頻中的評價指標(biāo)對比
由圖3~圖5和表1可知,本文算法可以跟蹤車輛、行人以及任何在第一幀指定的物體,且對于尺度變換、遮擋干擾和目標(biāo)形變等問題具有一定的處理能力。由于加入了尺度自適應(yīng)模塊,使得跟蹤器在跟蹤大小變化的目標(biāo)時,跟蹤框可以隨著目標(biāo)的變化而變化,從而提取到更準(zhǔn)確的模板信息并進(jìn)行不斷的在線學(xué)習(xí),更新分類器,最終達(dá)到一個較理想的跟蹤效果。對于遮擋問題,無論是外物遮擋還是目標(biāo)間相互遮擋,本文算法都可以在遮擋過程中對目標(biāo)下一時刻位置進(jìn)行預(yù)測,并在目標(biāo)出現(xiàn)或者分離之后重新跟蹤上目標(biāo)。本文算法處理高速形變目標(biāo)的效果不如以上兩種情況下的實驗效果,會出現(xiàn)跟蹤框不穩(wěn)定的現(xiàn)象,這是由于輪廓的快速變換使得權(quán)重不能精準(zhǔn)地分配,但仍然能夠根據(jù)顏色特征得到目標(biāo)的大致位置并完成跟蹤。
圖6是SPOT法、Possegger法和本文算法在人臉定位方面的實驗對比圖,其中,紅色為本文算法,藍(lán)色為Possegger法[1],黃色為SPOT法。表2為相應(yīng)跟蹤效果參數(shù)指標(biāo)對比,針對單個人臉的跟蹤較為直觀地展示本文算法的跟蹤效果。
圖6 人臉視頻實驗效果對比圖
SPOT法Possegger法本文算法準(zhǔn)確度/%0.870.640.96精確度21.868.99.3速度/(幀·s-1)25.320.736.2
通過表1和表2可知,本文算法性能優(yōu)于其他兩種算法,而且在跟蹤處理速度方面,本文算法對單目標(biāo)跟蹤的平均處理速度為36 幀/s,完全能夠達(dá)到工程上對于實時性的要求。雖然其他兩個算法在單目標(biāo)跟蹤的過程中同樣可以滿足實時性,但由表1可知,在同時跟蹤多個目標(biāo)的時候,其他兩個算法速度較慢,視頻播放中存在卡頓,而本文算法基本能夠滿足實時性,在視頻流暢播放的情況下跟上目標(biāo)。
本文針對多目標(biāo)跟蹤過程中常見的尺度變化、遮擋等問題提出了一種在第一幀手動選取目標(biāo)的自由模型多目標(biāo)跟蹤算法。本文算法的優(yōu)點是:采用兩種特征進(jìn)行組合建模,模型更具有代表性;且改進(jìn)了在線學(xué)習(xí)方法的機制,在保證魯棒性的同時減少錯跟的可能性;采用改進(jìn)的相關(guān)濾波器進(jìn)行尺度的自適應(yīng),確保每次分類器學(xué)習(xí)的準(zhǔn)確度。此外,本文算法也加入了遮擋處理和數(shù)據(jù)關(guān)聯(lián)機制,在目標(biāo)被短暫遮擋的情況下具有一定的魯棒性,而且重新出現(xiàn)后仍能保持編號繼續(xù)跟蹤。經(jīng)過實驗驗證,本文算法達(dá)到了一個較理想的跟蹤效果,在不犧牲實時性的條件下提高了跟蹤的精度和成功率。