陳志旺 劉 旺
(燕山大學(xué)工業(yè)計(jì)算機(jī)控制工程河北省重點(diǎn)實(shí)驗(yàn)室 秦皇島066004)
(燕山大學(xué)國(guó)家冷軋板帶裝備及工藝工程技術(shù)研究中心 秦皇島066004)
目標(biāo)跟蹤技術(shù)是計(jì)算機(jī)視覺領(lǐng)域研究的重點(diǎn)之一,它在很多領(lǐng)域都有廣泛應(yīng)用,例如視頻監(jiān)控[1]、自主導(dǎo)航[2]、軍事國(guó)防[3]等。近年來,目標(biāo)跟蹤技術(shù)取得很大進(jìn)展,但是也面臨著許多問題,如形態(tài)變化、尺度變化、遮擋與消失、圖像模糊等情況都會(huì)給跟蹤過程造成很大的干擾[4],這些問題都可能導(dǎo)致跟蹤失敗。
基于相關(guān)濾波的目標(biāo)跟蹤算法由于其高效性和魯棒性,具有良好的跟蹤效果,成為目標(biāo)跟蹤領(lǐng)域的研究熱點(diǎn)之一。2010 年,文獻(xiàn)[5]提出最小輸出平方誤差和算法(minimum output sum of squared error filter,MOSSE),將相關(guān)濾波應(yīng)用在目標(biāo)跟蹤技術(shù)上,利用離散傅里葉變換,提高了算法的運(yùn)行速度,獲得了較好的跟蹤效果。文獻(xiàn)[6]在MOSSE 的基礎(chǔ)上,引入了循環(huán)矩陣,加入了核函數(shù),提出了基于循環(huán)結(jié)構(gòu)的核跟蹤算法(circulant structure with kernels,CSK),進(jìn)一步提高了跟蹤效果。2014 年,文獻(xiàn)[7]提出核相關(guān)濾波(kernel correlation filter,KCF)算法,該算法是CSK 的改進(jìn)算法,采用改進(jìn)的方向梯度直方圖(histogram of oriented gradients,HOG)特征[8],即快速方向梯度直方圖(fast HOG,FHOG)特征代替原本的灰度特征,將單通道擴(kuò)展到多通道,成為目標(biāo)跟蹤領(lǐng)域的經(jīng)典算法。文獻(xiàn)[9]按照特征圖的可信度對(duì)FHOG 特征和局部二值模式(LBP)特征進(jìn)行自適應(yīng)加權(quán)融合,實(shí)現(xiàn)對(duì)目標(biāo)的定位。文獻(xiàn)[10]提出尺度自適應(yīng)核相關(guān)濾波(scale adaptive kernel correlation filter,SAMF)算法,它是KCF 的改進(jìn)算法,主要是對(duì)候選區(qū)域的目標(biāo)做7 個(gè)尺度的變化,與濾波器進(jìn)行響應(yīng)計(jì)算完成尺度的檢測(cè)。文獻(xiàn)[11]通過峰值旁瓣比(peak-to-sidelobe ratio,PSR)值判斷遮擋類型,在目標(biāo)被部分遮擋時(shí),對(duì)目標(biāo)外觀模型自適應(yīng)更新;當(dāng)目標(biāo)被完全遮擋時(shí),使用擴(kuò)展的卡爾曼濾波器,利用目標(biāo)被遮擋前的運(yùn)動(dòng)信息來預(yù)測(cè)目標(biāo)位置。
受上述文獻(xiàn)中對(duì)特征選擇、尺度變化和輸出異常情況處理的啟發(fā),本文在KCF 目標(biāo)跟蹤算法框架的基礎(chǔ)上,融合了顏色特征(color name,CN)訓(xùn)練和更新濾波器;引入一種自校正機(jī)制,在跟蹤出現(xiàn)異常時(shí),通過最小化跟蹤輸出與期望響應(yīng)之間的差異,重新定義搜索區(qū)域,校正跟蹤輸出;同時(shí),加入自適應(yīng)尺度濾波器,使目標(biāo)框能自適應(yīng)地隨目標(biāo)尺度的變化而變化。
KCF 目標(biāo)跟蹤算法采用tracking-by-dectection的跟蹤框架[12],跟蹤過程中進(jìn)行模板的學(xué)習(xí)和更新,其跟蹤框架如圖1 所示。
圖1 KCF 目標(biāo)跟蹤算法框架
首先,在初始幀給定被跟蹤的目標(biāo),提取目標(biāo)區(qū)域特征,經(jīng)余弦窗處理后循環(huán)移位構(gòu)成訓(xùn)練樣本集,結(jié)合理想輸出訓(xùn)練濾波器。在后續(xù)幀中,提取前一幀預(yù)測(cè)的目標(biāo)區(qū)域特征,處理后循環(huán)移位得到待檢測(cè)樣本集,使用訓(xùn)練好的濾波器對(duì)待檢測(cè)樣本集進(jìn)行檢測(cè),得到響應(yīng)圖;響應(yīng)圖中最大值所在位置作為目標(biāo)的偏移量,根據(jù)偏移量求得目標(biāo)的新位置;然后再用新位置區(qū)域訓(xùn)練和更新濾波器,用于后續(xù)幀的檢測(cè)和跟蹤。
獲取訓(xùn)練樣本。KCF 目標(biāo)跟蹤算法加入了循環(huán)矩陣的概念,利用循環(huán)移位獲得了大量的訓(xùn)練樣本。具體做法如圖2 所示。
圖2 循環(huán)移位示意圖
圖2 中,左上角(0,0)是基礎(chǔ)樣本,其他樣本均是由基礎(chǔ)樣本循環(huán)移位得來。其中(M,N)對(duì)應(yīng)的樣本是把基礎(chǔ)樣本沿水平方向移動(dòng)N個(gè)像素、沿垂直方向移動(dòng)M個(gè)像素得到的樣本。把基礎(chǔ)樣本設(shè)為x00,則(M,N)處樣本表示為xmn。訓(xùn)練樣本矩陣X表示為
然后,訓(xùn)練濾波器。KCF 目標(biāo)跟蹤算法采用嶺回歸來訓(xùn)練濾波器,濾波器的訓(xùn)練過程是一個(gè)嶺回歸的問題,其目的是使通過濾波器預(yù)測(cè)到的樣本標(biāo)簽與真實(shí)標(biāo)簽的差距最小。當(dāng)樣本為一維的情況時(shí),假設(shè)訓(xùn)練樣本集為x=(x1,x2,…,xn),其中x1為初始樣本,x由初始樣本x1循環(huán)移位得到,樣本標(biāo)簽為y=(y1,y2,…,yn),符合一維高斯分布。目標(biāo)函數(shù)的線性嶺回歸為
式中,f為目標(biāo)函數(shù),滿足f(z)=ωTz;λ為正則化參數(shù),防止過擬合。這個(gè)回歸問題的閉式解為
其中,I為單位矩陣。
KCF 目標(biāo)跟蹤算法引入了核方法解決樣本線性不可分的問題,重新構(gòu)造函數(shù)=αTk(z),求得閉式解,并將其變換到傅里葉域得到濾波器模型:
其中kx1x1為訓(xùn)練樣本的自相關(guān)核,為高斯核函數(shù),其表達(dá)式為
式中,σ為高斯帶寬,x1為訓(xùn)練初始樣本。
將一維的樣本擴(kuò)展到二維情況,得到濾波器在二維情況下的解為
式中,為濾波器的二維擴(kuò)展,為樣本標(biāo)簽的二維擴(kuò)展,為訓(xùn)練樣本的自相關(guān)核的二維擴(kuò)展。
最后,檢測(cè)目標(biāo)位置與更新濾波器。對(duì)于每一幀需要被跟蹤的目標(biāo),提取目標(biāo)區(qū)域的特征,處理后對(duì)其循環(huán)移位構(gòu)成待檢測(cè)樣本集合,計(jì)算待檢測(cè)樣本和訓(xùn)練樣本的核函數(shù),與濾波器進(jìn)行響應(yīng)計(jì)算,得到所有待檢測(cè)樣本的響應(yīng),響應(yīng)最大值位置作為目標(biāo)的偏移量,根據(jù)偏移量得到目標(biāo)的新位置。計(jì)算樣本響應(yīng)的公式為
其中,為訓(xùn)練樣本和檢測(cè)樣本的互相關(guān)核,F-1表示傅里葉逆變換,☉表示按位相乘運(yùn)算。
為了應(yīng)對(duì)跟蹤過程中目標(biāo)外觀模型的變化,需要實(shí)時(shí)地對(duì)濾波器和目標(biāo)外觀模型進(jìn)行更新,采用線性插值的方式進(jìn)行更新。
式中,為當(dāng)前幀訓(xùn)練得到的濾波器,1為上一幀檢測(cè)用的濾波器,為當(dāng)前幀目標(biāo)的特征模板,1為上一幀目標(biāo)區(qū)域的特征模板,η為更新率。
本文在KCF 目標(biāo)跟蹤算法框架的基礎(chǔ)上,融合了CN 顏色特征,加入了自校正機(jī)制和尺度濾波器,其整體框架如圖3 所示,圖中的HC 特征由FHOG特征和CN 特征級(jí)聯(lián)得到。
圖3 本文算法框架
傳統(tǒng)KCF 目標(biāo)跟蹤算法使用單一的特征訓(xùn)練濾波器來進(jìn)行跟蹤,而單一特征在復(fù)雜的跟蹤環(huán)境中存在局限性。FHOG 特征是HOG 的改進(jìn)特征,是梯度特征中很有代表性的局部特征,可以削弱光照和幾何變化對(duì)跟蹤結(jié)果的影響,但難以適應(yīng)目標(biāo)形變、輪廓模糊、旋轉(zhuǎn)等復(fù)雜條件下的跟蹤。CN[13]特征將RGB 空間轉(zhuǎn)化為11 維度的顏色特征空間,并作歸一化處理降為10 維,雖然對(duì)光照變化魯棒性較低,但對(duì)幾何變化魯棒性很好,和FHOG 特征形成了很好的互補(bǔ)。因此,本文采取融合FHOG 特征和CN 特征,得到一個(gè)新的特征——HC 特征,使用HC特征來訓(xùn)練和更新濾波器與外觀模型,使算法能適應(yīng)更多場(chǎng)景下的目標(biāo)跟蹤,提高算法的性能。
特征融合主要分為串行融合和并行融合。串行融合是最簡(jiǎn)單的融合方式,它直接將需要融合的兩種特征進(jìn)行簡(jiǎn)單的拼接。假設(shè)特征A的向量形式為(A1,A2,…,Ap),維度為p;特征B的向量形式為(B1,B2,…,Bq),維度為q,則特征A和特征B串行融合后的特征向量形式為(A1,A2,…,Ap,B1,B2,…,Bq),維度為(p+q)。并行融合將待融合特征對(duì)應(yīng)維度相加,維度不夠的用0 補(bǔ)全,以上面的A特征和B特征為例,假設(shè)p >q,A和B并行融合后的特征為(A1+B1,A2+B2,…,Aq+Bq,Aq+1,…,Ap),維度為p。
經(jīng)實(shí)驗(yàn)測(cè)試,本文算法將FHOG 特征和CN 特征以串行融合的方式進(jìn)行融合的效果更好,得到31+10=41 維特征向量用于濾波器和外觀模型的訓(xùn)練與更新,測(cè)試數(shù)據(jù)見后文4.2.2 節(jié)。特征的融合增加了算法的復(fù)雜度,但得益于循環(huán)矩陣在傅里葉域的性質(zhì),可以將多通道進(jìn)行化簡(jiǎn),在保證增強(qiáng)算法性能的同時(shí)也保證了算法能以較高的速度運(yùn)行。
傳統(tǒng)KCF 目標(biāo)跟蹤算法在跟蹤的過程中不會(huì)檢查跟蹤是否準(zhǔn)確,一旦出現(xiàn)跟丟的情況,不能及時(shí)校正跟蹤框到目標(biāo)上,后續(xù)幀中都會(huì)更新錯(cuò)誤的信息,從而導(dǎo)致跟蹤失敗。本文算法在傳統(tǒng)KCF 目標(biāo)跟蹤算法的基礎(chǔ)上,加入了一種自校正機(jī)制,在目標(biāo)因發(fā)生遮擋、目標(biāo)丟失等情況而導(dǎo)致跟蹤出現(xiàn)異常時(shí),自校正機(jī)制能夠通過最小化跟蹤輸出與期望響應(yīng)之間的差異,重新定義搜索區(qū)域,校正跟蹤輸出,使得跟蹤框重新回到目標(biāo)上。自校正流程如圖4 所示。
圖4 自校正流程
2.2.1 判斷異常
根據(jù)在OTB-2015[14]數(shù)據(jù)集上做的大量關(guān)于KCF 目標(biāo)跟蹤算法的跟蹤實(shí)驗(yàn),發(fā)現(xiàn)傳統(tǒng)KCF 目標(biāo)跟蹤算法正常跟蹤目標(biāo)的時(shí)候,其響應(yīng)圖接近理想的二維高斯分布,并且峰值明顯;而在有干擾的情況下,尤其是遮擋、快速移動(dòng)、模糊等,目標(biāo)特征被破壞,響應(yīng)圖會(huì)產(chǎn)生波動(dòng),不再遵循高斯分布,出現(xiàn)多峰,響應(yīng)圖整體會(huì)變得平滑,旁瓣與峰值間的對(duì)比度下降,如圖5 所示。
圖5 KCF 正常跟蹤和受干擾時(shí)的響應(yīng)圖
相關(guān)響應(yīng)圖顯示了候選區(qū)域所有循環(huán)樣本的可靠性,PSR 可以用來評(píng)估相關(guān)運(yùn)算的兩個(gè)目標(biāo)信號(hào)的匹配程度,是一個(gè)描述主瓣相對(duì)旁瓣突出程度的物理量,可以反映峰值強(qiáng)度,其計(jì)算公式為
其中,max(R(X)) 為響應(yīng)圖的峰值,u(R(X)) 為響應(yīng)圖的平均值,σ(R(X)) 為響應(yīng)圖的標(biāo)準(zhǔn)差。
表1 圖5 對(duì)應(yīng)的PSR 值
根據(jù)表1 數(shù)據(jù)可以看出,KCF 目標(biāo)跟蹤算法在正常情況下其響應(yīng)圖的PSR 值遠(yuǎn)大于受干擾時(shí)響應(yīng)圖的PSR 值,PSR 值越大說明跟蹤結(jié)果越可靠。根據(jù)這一性質(zhì),本文采用PSR 值來判斷跟蹤是否出現(xiàn)異常,當(dāng)PSR 值小于某一閾值時(shí),可判定跟蹤出現(xiàn)異常,此時(shí)用自校正機(jī)制校正跟蹤輸出。
為了確定跟蹤發(fā)生異常的PSR 閾值,對(duì)basketball、bird2、blurowl、coke、couple、deer、jogging、soccer、shaking 和women 等序列進(jìn)行仿真實(shí)驗(yàn),發(fā)現(xiàn)KCF目標(biāo)跟蹤算法正常跟蹤時(shí)其響應(yīng)圖的PSR 值大于20,當(dāng)目標(biāo)受遮擋、快速移動(dòng)、模糊等因素干擾時(shí),PSR 值在10~20 之間,而當(dāng)跟蹤出現(xiàn)異常時(shí),PSR值小于10。經(jīng)過反復(fù)實(shí)驗(yàn),PSR 閾值設(shè)為10 左右最為合適。若閾值太大,目標(biāo)正常跟蹤時(shí)有時(shí)也會(huì)啟動(dòng)自校正機(jī)制,影響算法的運(yùn)行速度;若閾值太小,當(dāng)跟蹤出現(xiàn)異常時(shí),不能及時(shí)啟動(dòng)自校正機(jī)制,也會(huì)導(dǎo)致跟蹤失敗。
2.2.2 鄰域搜索
根據(jù)PSR 值檢測(cè)到跟蹤出現(xiàn)異常后,啟動(dòng)自校正機(jī)制,擴(kuò)大搜索范圍,在之前確定的目標(biāo)中心位置附近提取一些候選區(qū)域??紤]到相鄰幀之間的時(shí)間間隔很小,并且目標(biāo)的移動(dòng)速度受到限制,目標(biāo)是很可能會(huì)出現(xiàn)在最后估計(jì)位置附近的區(qū)域中的。因此,不需要去搜尋整個(gè)圖像區(qū)域來找尋目標(biāo),這樣會(huì)大大降低算法的運(yùn)算速度。以上一幀估計(jì)的目標(biāo)位置為中心,設(shè)置一組同心圓,在同心圓上以一定的規(guī)律確定一組位置用來生成候選區(qū)域,保持高效率計(jì)算的同時(shí),也能達(dá)到逐步搜索的效果,候選區(qū)域位置的計(jì)算公式如下:
其中,(x0,y0) 為前一幀預(yù)測(cè)目標(biāo)位置;ΔT和Δθ分別表示距離步長(zhǎng)和角度步長(zhǎng);i的范圍為[1,m],其中m=Rd/ΔT,Rd是外圓的半徑;j的范圍為[1,n],其中n=2π/Δθ。根據(jù)上述公式便可得到一系列坐標(biāo)值(xi,j,yi,j),根據(jù)這些坐標(biāo)值來提取候選區(qū)域。
其中,外圓半徑Rd由目標(biāo)尺寸和響應(yīng)圖的峰值決定:
其中,Rmax為響應(yīng)圖的最大峰值,w為目標(biāo)框的寬度,h為目標(biāo)框的高度。
鄰域搜索示意圖如圖6 所示。
圖6 自校正機(jī)制鄰域搜索示意圖
圖6 中,(x0,y0)為原本的目標(biāo)中心位置,其對(duì)應(yīng)的實(shí)線框T1 為目標(biāo)框,對(duì)應(yīng)的虛線框P1 為原本的候選區(qū)域,Rd為外圓半徑,(x3,j,y3,j) 為由式(11)得出的最外面圓上的某一個(gè)點(diǎn),其對(duì)應(yīng)的實(shí)線框T2 為擴(kuò)展出的新的目標(biāo)框,對(duì)應(yīng)的虛線框P2為新的某一個(gè)候選區(qū)域。本文設(shè)定距離步長(zhǎng)為ΔT=Rd/3,角度步長(zhǎng)為Δθ=π/8。除了原本的目標(biāo)中心點(diǎn)外,由式(10)共擴(kuò)展出48 個(gè)點(diǎn),根據(jù)這48 個(gè)點(diǎn)得到新的48 個(gè)候選區(qū)域。
2.2.3 預(yù)測(cè)目標(biāo)位置
預(yù)測(cè)目標(biāo)位置實(shí)際上就是最小化實(shí)際響應(yīng)與期望響應(yīng)之間的差異,若要使差異最小,則需要最大化響應(yīng)圖得分,找出峰值最大的響應(yīng)圖。根據(jù)2.2.2 節(jié)的內(nèi)容確定48 個(gè)候選區(qū)域后,將這些候選區(qū)域視為待檢測(cè)樣本,由式(7)得到每個(gè)待檢測(cè)樣本的響應(yīng)圖,找出每個(gè)響應(yīng)圖的峰值;比較這些峰值的大小,最大峰值所對(duì)應(yīng)的候選區(qū)域確定為新的搜索區(qū)域,該區(qū)域?qū)?yīng)的坐標(biāo)值為(xi,j,yi,j),將其假設(shè)為上一幀目標(biāo)中心位置,該區(qū)域的響應(yīng)圖中的峰值坐標(biāo)即為目標(biāo)的偏移量,根據(jù)偏移量預(yù)測(cè)當(dāng)前幀目標(biāo)中心位置,從而實(shí)現(xiàn)目標(biāo)位置的預(yù)測(cè)。
傳統(tǒng)KCF 目標(biāo)跟蹤算法在跟蹤過程中跟蹤框的大小是固定的,當(dāng)目標(biāo)遠(yuǎn)離或靠近攝像頭時(shí),目標(biāo)占搜索區(qū)域的比例會(huì)變化,即目標(biāo)的尺度會(huì)發(fā)生變化。在尺度較小時(shí),目標(biāo)區(qū)域會(huì)包含較多的背景信息,而當(dāng)尺度較大時(shí),只能提取目標(biāo)的局部信息,這兩種情況都會(huì)降低跟蹤效果甚至可能導(dǎo)致目標(biāo)跟蹤失敗。為了解決跟蹤過程中的尺度變化問題,本文在KCF 目標(biāo)跟蹤算法中加入一個(gè)尺度濾波器以適應(yīng)目標(biāo)尺度變化。
尺度濾波器的訓(xùn)練采用嶺回歸方法。假設(shè)初始幀目標(biāo)所在圖像塊為P,以P的正中間為中心,截取不同尺度的圖片。若P大小為M × N,尺度為S,則使用式(12)截取不同尺度大小的圖片。
式中,a為尺度因子,n的取值范圍如式(13)所示。
這樣就能夠得到一系列不同尺度的圖像塊,將這些圖片縮放至M ×N,求它們的特征描述子,構(gòu)成訓(xùn)練樣本集f,結(jié)合高斯型理想輸出響應(yīng)g來訓(xùn)練尺度濾波器h,如圖7 所示。
圖7 尺度濾波器訓(xùn)練圖
在新的一幀中估計(jì)出目標(biāo)位置后,以其為中心,截取不同尺度的圖片,再將這些圖片縮放至M × N,分別求其特征描述子,與尺度濾波器h計(jì)算響應(yīng),響應(yīng)最大的值對(duì)應(yīng)的尺度即為當(dāng)前目標(biāo)尺度,如圖8所示。
圖8 尺度檢測(cè)圖
最后,提取當(dāng)前幀尺度特征描述子訓(xùn)練和更新尺度濾波器。
本文算法是基于KCF 目標(biāo)跟蹤算法的改進(jìn),在傳統(tǒng)KCF 目標(biāo)跟蹤算法的基礎(chǔ)上融合了CN 顏色特征,加入了尺度濾波器和自校正機(jī)制,能夠檢查跟蹤輸出,在輸出異常時(shí)通過自校正機(jī)制校正目標(biāo)位置,然后用尺度濾波器實(shí)現(xiàn)目標(biāo)框尺度自適應(yīng)變化。算法具體步驟如下。
步驟1給定初始幀的目標(biāo),確定搜索區(qū)域,提取FHOG 特征和CN 特征,通過串行融合得到HC特征,對(duì)HC 特征進(jìn)行處理,構(gòu)成位置濾波器的訓(xùn)練樣本集,根據(jù)式(6)得到位置濾波器A^。
步驟2以目標(biāo)正中間為中心,根據(jù)式(12)截取不同尺寸的圖像塊,然后全部縮放至初始目標(biāo)框大小,分別求其特征描述子,構(gòu)成尺度濾波器的訓(xùn)練樣本集訓(xùn)練得到尺度濾波器h。
步驟3新的一幀到來后,提取前一幀目標(biāo)位置區(qū)域的HC 特征,處理后循環(huán)移位構(gòu)成待檢測(cè)樣本,根據(jù)式(7)進(jìn)行響應(yīng)計(jì)算,得到響應(yīng)結(jié)果圖。
步驟4根據(jù)式(9)計(jì)算響應(yīng)結(jié)果圖的PSR 值,判斷PSR 值是否小于閾值。若是則跳到步驟5,否則跳到步驟6。
步驟5啟動(dòng)自校正機(jī)制,根據(jù)式(10)在當(dāng)前目標(biāo)中心位置附近提取一系列候選區(qū)域,根據(jù)式(7)得到每個(gè)候選區(qū)域的響應(yīng)結(jié)果圖,峰值最大的候選區(qū)域定義為新的搜索區(qū)域,其中心位置為上一幀目標(biāo)中心位置,對(duì)應(yīng)的響應(yīng)圖視為最終響應(yīng)結(jié)果圖。
步驟6選取響應(yīng)結(jié)果圖中峰值對(duì)應(yīng)的坐標(biāo)為偏移量,預(yù)測(cè)目標(biāo)位置。
步驟7得到目標(biāo)位置后,以該位置為中心,根據(jù)式(12)截取不同尺寸的圖像塊,縮放至初始目標(biāo)框大小,求其特征描述子構(gòu)成尺度檢測(cè)樣本集進(jìn)行響應(yīng)計(jì)算,響應(yīng)圖峰值對(duì)應(yīng)的尺度確定為目標(biāo)在當(dāng)前幀的尺度。
步驟8以新的目標(biāo)中心位置為中心,將搜索區(qū)域圖像塊縮放至初始幀搜索區(qū)域大小,提取特征進(jìn)行處理,根據(jù)式(8)更新位置濾波器。
步驟9在新的一幀中根據(jù)式(12)截取不同尺度的圖像塊,然后縮放至初始目標(biāo)框大小,求它們的特征描述子,更新尺度濾波器。
步驟10判斷是否到最后一幀,若是則停止跟蹤;若否則跳轉(zhuǎn)到步驟3。
為了驗(yàn)證本文算法的有效性,不僅在OTB-2015數(shù)據(jù)集上進(jìn)行了仿真實(shí)驗(yàn),還將該算法移植到manifold 妙算微型計(jì)算機(jī)上進(jìn)行了跟蹤實(shí)驗(yàn)。
在OTB-2015 數(shù)據(jù)集上的仿真實(shí)驗(yàn),個(gè)人電腦操作系統(tǒng)為Windows10 64 bits,CPU Inter Core i3-3240,主頻為3.20 GHz,內(nèi)存為8 GB。manifold 妙算微型計(jì)算機(jī)的跟蹤實(shí)驗(yàn),需要Ubuntu 系統(tǒng),其中配置好了ROS 和OpenCV 環(huán)境,配備好高清攝像頭。該算法中重要參數(shù)取值如下:更新率η=0.02,尺度因子a=1.02,尺度大小S=33,異常檢測(cè)閾值為10,距離步長(zhǎng)ΔT=Rd/3,角度步長(zhǎng)Δθ=π/8,其他參數(shù)和文獻(xiàn)[7]保持一致。
4.2.1 評(píng)價(jià)標(biāo)準(zhǔn)
在OTB-2015 數(shù)據(jù)集上進(jìn)行仿真實(shí)驗(yàn),該數(shù)據(jù)集有100 組視頻序列,這些視頻序列涵蓋了跟蹤過程中可能出現(xiàn)的各種干擾因素,包括遮擋、尺度變化、快速移動(dòng)、光照、模糊等。算法性能以精度圖、成功率圖和FPS(每秒處理幀數(shù))的形式顯示出來。
精度圖顯示了中心位置誤差在某一特定閾值內(nèi)的視頻序列幀數(shù)所占視頻序列總幀數(shù)的比例。本文實(shí)驗(yàn)中選取的閾值為20 個(gè)像素單位。其中,中心位置誤差計(jì)算公式如下:
式中,(x,y) 為跟蹤算法預(yù)測(cè)的目標(biāo)中心的坐標(biāo),(x0,y0) 為真實(shí)的目標(biāo)中心的坐標(biāo)。
成功率圖顯示了目標(biāo)邊界框的重疊率大于某一特定閾值的視頻序列幀數(shù)占視頻序列總幀數(shù)的比例。本文實(shí)驗(yàn)中選取的閾值為0.5。重疊率的計(jì)算公式如下:
其中,rt為跟蹤算法估計(jì)的目標(biāo)邊界框,ra為真實(shí)的目標(biāo)邊界框,|·|代表區(qū)域中的像素個(gè)數(shù),∩和∪分別代表交集和并集運(yùn)算符。
FPS 表示算法每秒處理視頻序列的幀數(shù),反映了跟蹤算法的運(yùn)行速度,FPS 越大,跟蹤算法運(yùn)行速度越快,實(shí)時(shí)性越好。其計(jì)算公式如下:
其中,n代表視頻序列的總幀數(shù),t代表算法運(yùn)行的總時(shí)間。
4.2.2 特征融合方式選擇實(shí)驗(yàn)
為了驗(yàn)證特征融合的有效性,對(duì)僅用FHOG 特征、僅用CN 特征、將FHOG 特征和CN 特征串行融合、將FHOG 特征和CN 特征并行融合的4 種情況進(jìn)行了對(duì)比,測(cè)試了4 種情況在OTB-2015 數(shù)據(jù)集上的73 組彩色視頻序列的整體性能,得到成功率圖和精度圖如圖9 所示。其中KCF_HC_C 將FHOG特征和CN 特征串行融合,其成功率和精度分別為55.9%和68.3%;KCF_HC_B 將FHOG 特征和CN 特征并行融合,其成功率和精度分別為52.6%和65.4%;KCF_CN 僅使用CN 顏色特征,其成功率和精度分別為49.1%和58.6%;KCF 是傳統(tǒng)KCF目標(biāo)跟蹤算法,僅使用HOG 特征,其成功率和精度分別為46.7%和57.8%。從以上成功率和精度可看出,特征融合相較于單一特征效果更好,串行融合的效果也優(yōu)于并行融合的效果,因此本文算法使用串行融合的方式融合FHOG 特征和CN 特征。
圖9 KCF 使用不同特征的成功率圖和精度圖
4.2.3 定量分析
為了對(duì)比改進(jìn)后的算法和原KCF 目標(biāo)跟蹤算法的整體性能,測(cè)試了兩種算法在OTB-2015 數(shù)據(jù)集上的73 組彩色視頻序列的整體性能,同時(shí)對(duì)比了CSK 和Struck 兩種流行算法及兩種改進(jìn)的KCF 算法,其中KCF_OCC_CD 是文獻(xiàn)[15]中的改進(jìn)算法,KCF_Rmix 是文獻(xiàn)[16]的改進(jìn)算法,得到整體的成功率圖和精度圖如圖10 所示。同時(shí)也測(cè)試了本文改進(jìn)算法和原算法在這73 組彩色視頻序列的11 種不同屬性下的精度和成功率,如表2 所示。
圖10 本文算法和原算法的成功率圖和精度圖
表2 兩種算法在11 種屬性下的精度和成功率
分析圖10 精度圖和成功率圖可知,相較于傳統(tǒng)KCF 算法和其他流行算法,本文算法在成功率和精度上都是最優(yōu)的。本文算法成功率為58.1%,精度為71.3%;傳統(tǒng)KCF 目標(biāo)跟蹤算法成功率為46.7%,精度為57.8%。其中成功率提升了11.4%,精度提升了13.5%,由此可見,本文算法的整體性能得到了提升。對(duì)比表2中傳統(tǒng)KCF算法和本文改進(jìn)算法的成功率和精度發(fā)現(xiàn),本文算法在各個(gè)屬性下的成功率和精度較傳統(tǒng)KCF 目標(biāo)跟蹤算法都有不同幅度的提升。由此可知,本文提出的算法能更好地適應(yīng)各種跟蹤場(chǎng)景,其中在尺度變化(SV)、運(yùn)動(dòng)模糊(MB)、快速移動(dòng)(FM)和出視野(OV)的屬性下的提升尤為明顯。在SV 的屬性下成功率和精度分別提升了14.1%和19.1%,體現(xiàn)了改進(jìn)算法中尺度濾波器的有效性;在MB 的屬性下成功率和精度分別提升了33.4%和34.7%,體現(xiàn)了改進(jìn)算法中特征融合的有效性;在FM 的屬性下成功率和精度分別提升了30.5%和38.9%,在OV 的屬性下成功率和精度分別提升了23.6%和26.5%,體現(xiàn)了改進(jìn)算法中自校正機(jī)制的有效性。
為了進(jìn)一步對(duì)比改進(jìn)算法和原算法在遮擋、尺度變化等單個(gè)視頻序列的性能,從OTB-2015 數(shù)據(jù)集中挑選部分具有挑戰(zhàn)性的視頻序列,這些序列包含遮擋、尺度變化等干擾因素。得到兩種算法在各視頻序列的精度和成功率如表3 所示。
從表3 可知,在這些具有挑戰(zhàn)性的單個(gè)視頻序列中,改進(jìn)算法的精度和成功率較傳統(tǒng)KCF 算法而言取得了巨大的提升,其精度和成功率的平均值提升了近一倍,說明本文改進(jìn)算法在目標(biāo)遇到遮擋、尺度變化等干擾因素時(shí)的跟蹤效果明顯優(yōu)于傳統(tǒng)KCF 目標(biāo)跟蹤算法,解決了傳統(tǒng)KCF 目標(biāo)跟蹤算法在這些干擾因素下跟蹤不力的問題。
表3 兩種算法在各視頻序列具體精度和成功率
表4 是原算法與各改進(jìn)算法的FPS 數(shù)據(jù),從表中可看出,原KCF 算法處理速度高達(dá)163 FPS,而其他改進(jìn)算法處理速度都沒有達(dá)到100 FPS。本文改進(jìn)算法在性能上最優(yōu),雖然自校正機(jī)制的計(jì)算量較大,實(shí)時(shí)性較其他算法較差,只有40 FPS,但也能基本滿足實(shí)時(shí)性的要求。
表4 各改進(jìn)算法和原算法的FPS
4.2.4 定性分析
在OTB-2015 數(shù)據(jù)集中選取bird1、jogging、carscale、shaking 幾組視頻序列對(duì)本文算法進(jìn)行定性分析,并與傳統(tǒng)KCF 目標(biāo)跟蹤算法進(jìn)行比較。carscale視頻序列中主要包含尺度變化(SV),jogging 視頻序列中主要是目標(biāo)被遮擋(OCC),bird1 視頻序列中主要是目標(biāo)發(fā)生非剛性形變(DEF),shaking 視頻序列中主要發(fā)生了光照變化(IV)。實(shí)驗(yàn)結(jié)果如圖11 所示。
圖11 中線條較細(xì)的框是KCF 目標(biāo)跟蹤算法的跟蹤框,線條較粗的框是本文算法的跟蹤框。
圖11 兩種算法在4 組視頻序列跟蹤對(duì)比圖
在圖11(a)的carscale 視頻序列中,隨著鏡頭的拉近,目標(biāo)尺度越來越大,傳統(tǒng)KCF 目標(biāo)跟蹤算法在目標(biāo)尺度變化時(shí)不能自適應(yīng)地改變跟蹤框大小,目標(biāo)框大小始終不變,在后續(xù)幀中只能提取局部信息;本文改進(jìn)算法則能自適應(yīng)地改變跟蹤框大小,隨著目標(biāo)尺度變大,跟蹤框也跟著變大,在后續(xù)幀中能較為準(zhǔn)確地提取全部信息并且能準(zhǔn)確跟蹤到目標(biāo)。
在圖11(b)的jogging 視頻序列中,第67 幀中目標(biāo)被電線桿遮擋,第81 幀目標(biāo)重新開始出現(xiàn)在視線里,傳統(tǒng)KCF 目標(biāo)跟蹤算法在目標(biāo)被遮擋后便丟失了目標(biāo),當(dāng)目標(biāo)重新出現(xiàn)后沒有及時(shí)跟上,導(dǎo)致跟蹤失敗。而本文改進(jìn)算法在目標(biāo)被遮擋后雖然短暫丟失目標(biāo),但在目標(biāo)重新出現(xiàn)時(shí),跟蹤框能及時(shí)跟上目標(biāo),完成跟蹤。
在圖11(c)的bird1 視頻序列中,目標(biāo)發(fā)生了非剛性形變,第46 幀中傳統(tǒng)KCF 目標(biāo)跟蹤算法目標(biāo)框因受到干擾已經(jīng)偏離目標(biāo),第60 幀以后已經(jīng)完全跟丟目標(biāo),而本文算法在目標(biāo)發(fā)生非剛性形變時(shí)仍能較好的跟蹤到目標(biāo)。
在圖11(d)的shaking 視頻序列中,包含著光照變化和背景雜亂的干擾因素,第22 幀中,受干擾因素的影響,傳統(tǒng)KCF 目標(biāo)跟蹤算法的目標(biāo)框已經(jīng)開始逐漸偏離目標(biāo),第67 幀可以看到已經(jīng)完全跟丟目標(biāo),而本文算法在該過程中一直保持著良好的跟蹤效果。
以上定量分析和定性分析的結(jié)果證明了本文算法的有效性,解決了傳統(tǒng)KCF 目標(biāo)跟蹤算法在處理目標(biāo)尺度變化、遮擋等干擾下跟蹤不力的問題。本文算法較傳統(tǒng)KCF 目標(biāo)跟蹤算法魯棒性更好,有著更好的跟蹤性能。
manifold 妙算微型計(jì)算機(jī)是下一代高性能機(jī)器人的“大腦”,手掌大小的機(jī)身集成了性能出眾的計(jì)算能力,其尺寸和接口為DJI 開發(fā)平臺(tái)所優(yōu)化,可安裝在經(jīng)緯M100、M600 飛行平臺(tái)上,也能無縫兼容A3、N3 飛行控制器。將本文算法移植到manifold 妙算微型計(jì)算機(jī)上進(jìn)行跟蹤實(shí)驗(yàn),利用攝像頭獲取圖像信息并處理,manifold 妙算進(jìn)行算法的演算,并將跟蹤結(jié)果顯示出來。實(shí)驗(yàn)中所用攝像頭的參數(shù)為1080P 高清鏡頭、90 °視野、處理幀率30 FPS、高速USB 2.0 接口(圖12)。
圖12 manifold 妙算微型計(jì)算機(jī)及其接口圖
4.3.1 尺度變化實(shí)驗(yàn)
本實(shí)驗(yàn)比較了傳統(tǒng)KCF 目標(biāo)跟蹤算法和本文算法在目標(biāo)尺度發(fā)生變化時(shí)的跟蹤效果,實(shí)驗(yàn)結(jié)果如圖13 所示。
圖13 兩種算法尺度變化實(shí)驗(yàn)圖
從圖中可看出,傳統(tǒng)KCF 目標(biāo)跟蹤算法進(jìn)行跟蹤實(shí)驗(yàn)時(shí),第212 幀目標(biāo)與攝像頭距離拉遠(yuǎn),目標(biāo)尺度變小,此時(shí)目標(biāo)框區(qū)域包含過多的背景信息,濾波器學(xué)習(xí)到太多的背景信息,導(dǎo)致跟蹤性能下降;而第400 幀目標(biāo)與攝像頭的距離拉近,目標(biāo)尺度變大,由于目標(biāo)框是固定大小的,此時(shí)目標(biāo)框區(qū)域提取的特征只是局部區(qū)域的特征,導(dǎo)致特征提取不完全,也會(huì)使跟蹤性能降低。而本文提出的改進(jìn)算法在目標(biāo)尺度變化時(shí),目標(biāo)框能自適應(yīng)地變化,提取到較為準(zhǔn)確的特征,從而能夠精確地跟蹤到目標(biāo),提高算法性能。尺度自適應(yīng)實(shí)驗(yàn)視頻來自https://v.qq.com/x/page/b3135k3aoz8.html
4.3.2 遮擋實(shí)驗(yàn)
本實(shí)驗(yàn)比較了目標(biāo)在被遮擋的情況下傳統(tǒng)KCF目標(biāo)跟蹤算法和本文算法的跟蹤效果,實(shí)驗(yàn)結(jié)果如圖14 所示。
圖14 兩種算法遮擋實(shí)驗(yàn)圖
從圖中可看出,第12 幀到第94 幀目標(biāo)未受到干擾時(shí),兩種算法均能準(zhǔn)確跟蹤到目標(biāo);當(dāng)目標(biāo)被遮擋時(shí),目標(biāo)框移動(dòng)到遮擋物上,跟蹤目標(biāo)被遮擋物取代,第212 幀目標(biāo)逐漸重新出現(xiàn)時(shí),傳統(tǒng)KCF 目標(biāo)跟蹤算法由于缺乏對(duì)遮擋情況的處理機(jī)制,使得后續(xù)幀學(xué)習(xí)到的是錯(cuò)誤的遮擋物信息,隨著錯(cuò)誤信息的累積,算法把遮擋物當(dāng)成目標(biāo)進(jìn)行跟蹤,導(dǎo)致后續(xù)幀的跟蹤失敗;本文算法在目標(biāo)被遮擋后,能根據(jù)響應(yīng)圖的PSR 值檢測(cè)出異常,并及時(shí)啟動(dòng)自校正機(jī)制,當(dāng)?shù)?12 幀目標(biāo)逐漸重新出現(xiàn)時(shí),能及時(shí)校正目標(biāo)框到目標(biāo)上,繼續(xù)完成后續(xù)幀的跟蹤。遮擋實(shí)驗(yàn)視頻來自https://v.qq.com/x/page/i3135y049zn.html
4.3.3 快速移動(dòng)實(shí)驗(yàn)
本實(shí)驗(yàn)比較了傳統(tǒng)KCF 目標(biāo)跟蹤算法和本文算法在目標(biāo)快速移動(dòng)時(shí)的跟蹤效果,實(shí)驗(yàn)結(jié)果如圖15所示。
圖15 兩種算法快速移動(dòng)實(shí)驗(yàn)圖
對(duì)于目標(biāo)自由落體運(yùn)動(dòng),運(yùn)動(dòng)過程中速度逐漸變大,第70 幀速度達(dá)到最大值。從圖中可看出,傳統(tǒng)KCF 目標(biāo)跟蹤算法實(shí)驗(yàn)中,第70 幀時(shí)由于目標(biāo)快速移動(dòng),在當(dāng)前幀中目標(biāo)已經(jīng)移出上一幀的目標(biāo)區(qū)域,在搜索區(qū)域中無法搜索到目標(biāo),導(dǎo)致后面的跟蹤失敗;而本文改進(jìn)算法在目標(biāo)快速移動(dòng)導(dǎo)致跟蹤發(fā)生異常時(shí),能檢測(cè)出異常,啟動(dòng)自校正機(jī)制,擴(kuò)大搜索范圍,重新定位到目標(biāo)??焖僖苿?dòng)實(shí)驗(yàn)視頻來自https://v.qq.com/x/page/s3156qd6d6g.html
以上實(shí)驗(yàn)結(jié)果表明,較傳統(tǒng)KCF 目標(biāo)跟蹤算法而言,本文改進(jìn)算法在目標(biāo)發(fā)生尺度變化、遮擋、快速移動(dòng)等情況下均能較好地跟蹤到目標(biāo),提高了算法的性能。
4.3.4 本文算法與其他改進(jìn)核相關(guān)濾波算法對(duì)比實(shí)驗(yàn)
本實(shí)驗(yàn)對(duì)比了本文改進(jìn)算法和文獻(xiàn)[15]中改進(jìn)算法在丟失目標(biāo)后的實(shí)物實(shí)驗(yàn)。
圖16 為文獻(xiàn)[15]的實(shí)物實(shí)驗(yàn),該算法使用窗口濾波進(jìn)行位置預(yù)測(cè),對(duì)于運(yùn)動(dòng)狀態(tài)穩(wěn)定的物體受到遮擋時(shí)效果較好,當(dāng)物體突然改變運(yùn)動(dòng)方向或突然加減速時(shí),該算法的效果并不理想。如圖16 所示,當(dāng)遮擋消失時(shí),目標(biāo)框已偏離目標(biāo)且不能重新找回,導(dǎo)致跟蹤失敗。實(shí)驗(yàn)視頻來自https://v.qq.com/x/page/a3208pm6tgw.html
圖16 文獻(xiàn)[15]跟蹤失敗實(shí)驗(yàn)圖
而本文算法使用的自校正機(jī)制實(shí)際上相當(dāng)于擴(kuò)大了搜索范圍,當(dāng)目標(biāo)受到干擾時(shí),本文算法會(huì)啟動(dòng)自校正機(jī)制,通過自校正機(jī)制致力于尋找與目標(biāo)最相似的區(qū)域作為目標(biāo)區(qū)域。得利于自校正機(jī)制,當(dāng)跟蹤環(huán)境正常時(shí),能及時(shí)校正目標(biāo)框到目標(biāo)上完成后續(xù)幀的跟蹤,如圖14 和圖15 所示。相較于文獻(xiàn)[15]中的改進(jìn)算法,本文算法對(duì)目標(biāo)丟失后重新找回的情況效果更好。
本文在傳統(tǒng)KCF 目標(biāo)跟蹤算法框架的基礎(chǔ)上,融合了CN 顏色特征,引入了自校正機(jī)制和尺度濾波器。改進(jìn)的算法中,多特征融合使得算法在復(fù)雜的跟蹤場(chǎng)景中有著更好的性能,自校正部分解決了傳統(tǒng)KCF 目標(biāo)跟蹤算法因目標(biāo)遇到遮擋等干擾因素而導(dǎo)致目標(biāo)跟蹤失敗的問題,而尺度濾波器解決了跟蹤過程中因目標(biāo)尺度變化導(dǎo)致跟蹤不準(zhǔn)確的問題。仿真測(cè)試和實(shí)物實(shí)驗(yàn)結(jié)果表明,改進(jìn)的算法較傳統(tǒng)KCF 目標(biāo)跟蹤算法的跟蹤性能有了明顯的提升,在目標(biāo)發(fā)生遮擋、尺度變化等情況下,也能準(zhǔn)確地跟蹤到目標(biāo)。