劉 偉,黃 山
(四川大學(xué),成都 610065)
目標(biāo)跟蹤技術(shù)是計(jì)算機(jī)視覺(jué)領(lǐng)域的重要研究課題,其在智能視頻監(jiān)控、人機(jī)交互、機(jī)器人視覺(jué)導(dǎo)航、虛擬現(xiàn)實(shí)以及醫(yī)學(xué)診斷等諸多方面均有廣泛的應(yīng)用前景[1-3]。但在實(shí)際的場(chǎng)景中,視頻中的噪聲、目標(biāo)尺度變化、目標(biāo)形變、遮擋、光照變化等問(wèn)題的存在,會(huì)嚴(yán)重影響目標(biāo)跟蹤的準(zhǔn)確性,設(shè)計(jì)一個(gè)具有精確性、快速性的目標(biāo)跟蹤算法仍然是非常困難的。為解決這些問(wèn)題,各種跟蹤算法相繼被提出。目標(biāo)跟蹤算法通常可分為生成式和判別式[4]兩類。其中,生成式跟蹤算法是不斷地去搜索與目標(biāo)最相似的區(qū)域,不依賴目標(biāo)模型。如文獻(xiàn)[5]提出的時(shí)空上下文視覺(jué)跟蹤(Fast Tracking via Spatio-Temporal Context Learning,STC)算法,該算法通過(guò)貝葉斯框架對(duì)要跟蹤的目標(biāo)及其局部上下文區(qū)域的時(shí)空關(guān)系進(jìn)行建模,得到目標(biāo)和其周圍區(qū)域低級(jí)特征的統(tǒng)計(jì)相關(guān)性。然后綜合這個(gè)時(shí)空關(guān)系和生物視覺(jué)系統(tǒng)來(lái)評(píng)估新的一幀中目標(biāo)出現(xiàn)位置的置信圖,置信最大的位置就是所得到的新的一幀的目標(biāo)位置。判別式跟蹤算法是將跟蹤過(guò)程看作一個(gè)分類問(wèn)題,通過(guò)已有的視頻序列在線或離線訓(xùn)練分類器,再用訓(xùn)練好的分類器計(jì)算下一幀目標(biāo)位置。文獻(xiàn)[6]提出的一種最小平方誤差和輸出(Minimum Output Sum of Squared Error,MOSSE)跟蹤算法,首次將相關(guān)濾波應(yīng)用到目標(biāo)跟蹤領(lǐng)域并取得了很好的效果;文獻(xiàn)[7]提出基于核循環(huán)結(jié)構(gòu)檢測(cè)(Circulant Structure of Tracking-by-Detection with Kernels,CSK)跟蹤算法,創(chuàng)新地采用了循環(huán)結(jié)構(gòu)編碼密集采樣并用核方法訓(xùn)練正則化最小二乘非線性分類器;之后文獻(xiàn)[8]在核相關(guān)濾波(Kernelized Correlation Filter,KCF)跟蹤算法中使用梯度方向直方圖(Histogram of Oriented Gradients,HOG)特征對(duì)CSK進(jìn)行改進(jìn)。
KCF跟蹤算法沒(méi)有檢測(cè)目標(biāo)遮擋的機(jī)制,所以無(wú)法應(yīng)對(duì)目標(biāo)嚴(yán)重遮擋的問(wèn)題;模型更新的學(xué)習(xí)參數(shù)固定,缺乏適應(yīng)性較強(qiáng)的模型更新策略等。為解決上述問(wèn)題,提出了結(jié)合正樣本集的核相關(guān)濾波算法。
KCF跟蹤算法的核心思想[8-9]是利用循環(huán)位移進(jìn)行密集采樣得到正、負(fù)樣本。使用脊回歸來(lái)訓(xùn)練分類器,并利用循環(huán)矩陣在傅里葉空間可對(duì)角化的性質(zhì)將矩陣的運(yùn)算轉(zhuǎn)化為元素的點(diǎn)乘,大大降低了算法的運(yùn)算量,提高了實(shí)時(shí)性。
循環(huán)矩陣是由目標(biāo)圖像塊進(jìn)行循環(huán)位移得到的正、負(fù)樣本組成的矩陣。其中循環(huán)位移操作的變換矩陣為
(1)
通過(guò)n次移位可以再次得到原來(lái)的信號(hào),是一個(gè)循環(huán)的過(guò)程,因此可以計(jì)算出一個(gè)循環(huán)移位的全集為
{Pux|u=0,1,…,n-1}
(2)
式中:x為感興趣的圖像塊,為敘述簡(jiǎn)便,以單通道、一維圖像說(shuō)明,即x為n×1的向量;u表示循環(huán)移位的次數(shù)。將循環(huán)移位的全集寫成矩陣形式即循環(huán)矩陣X,為
(3)
循環(huán)矩陣有一個(gè)很好的性質(zhì),即任意循環(huán)矩陣經(jīng)過(guò)傅里葉變換后都是對(duì)角矩陣。循環(huán)矩陣可以表示為
(4)
相關(guān)濾波目標(biāo)跟蹤算法采用脊回歸來(lái)訓(xùn)練分類器。對(duì)所有的訓(xùn)練樣本X和期望輸出Y通過(guò)優(yōu)化目標(biāo)函數(shù)
(5)
可求得分類器權(quán)重為
w=(XHX+λI)-1XHY
(6)
式中:f為分類器函數(shù);xi和yi分別是第i個(gè)訓(xùn)練樣本和對(duì)應(yīng)的輸出;λ為正則化參數(shù)防止過(guò)擬合。
a=(K+λI)-1Y
(7)
式中:I是單位矩陣;K為核矩陣,其形式為Kij=k(xi,xj)=〈φT(xi),φ(xj)〉,〈,〉為點(diǎn)積運(yùn)算,k為核函數(shù)。將式(7)變換到傅里葉頻域可得
(8)
利用線性分類器檢測(cè)輸入圖像z求得其響應(yīng),其方程可寫為f(z)=wTz。利用核函數(shù)進(jìn)行映射,則方程為
(9)
式中,xi為訓(xùn)練樣本。利用循環(huán)矩陣性質(zhì)及核技術(shù),可簡(jiǎn)化計(jì)算得到
(10)
式中:F-1表示傅里葉逆變換;⊙為點(diǎn)乘運(yùn)算。然后查找所有測(cè)試樣本響應(yīng)f(Z)的最大響應(yīng)位置作為目標(biāo)的預(yù)測(cè)位置ppre_ppos。
(11)
正樣本集就是在跟蹤過(guò)程中采集到的正樣本的一個(gè)集合,正樣本集定義為
P_s={pos_si|i=1,2,…,n}
(12)
式中:P_s為正樣本集;pos_si為正樣本集中的正樣本。
以每次通過(guò)式(10)求得的目標(biāo)預(yù)測(cè)位置為中心進(jìn)行3×3的采樣,采樣框的大小為初始目標(biāo)框的大小x×y,將得到9個(gè)待測(cè)樣本,測(cè)試樣本定義為
T_s={test_sj|j=1,2,…,9}
(13)
式中:T_s為測(cè)試樣本集;test_sj為測(cè)試樣本集中的測(cè)試樣本。
利用歸一化互相關(guān)(Normalized Cross Correlation,NCC)算法[10-11]對(duì)正樣本集中的正樣本與待測(cè)樣本集中的待測(cè)樣本進(jìn)行相似度計(jì)算,來(lái)判斷待測(cè)樣本是否為正樣本,NCC算式為
(14)
(15)
通過(guò)式(14)可以得到正樣本集與待測(cè)樣本集的相似度矩陣Sscore,計(jì)算相似度矩陣Sscore中的最大值max_Sscore及相應(yīng)的測(cè)試樣本ttest_smax,即
max_Sscore=max(Sscore)
(16)
當(dāng)max_Sscore的值大于0.85時(shí),將相應(yīng)的測(cè)試樣本加入正樣本集中,即
(17)
如果max_Sscore大于0.75,將測(cè)試樣本ttest_smax在原圖中對(duì)應(yīng)的位置作為目標(biāo)最終的預(yù)測(cè)位置Ppos,否則目標(biāo)最終的預(yù)測(cè)位置Ppos就為Ppre_Ppos。
從上文計(jì)算可以得到相似度矩陣中的最大值max_Sscore,當(dāng)max_Sscore>0.85時(shí),目標(biāo)未遮擋;當(dāng)0.75 (18) 結(jié)合上文的算法改進(jìn)分析,在KCF跟蹤算法的基礎(chǔ)上,本文所提出的跟蹤算法流程如圖1所示。 圖1 跟蹤算法流程圖Fig.1 Flow chart of the tracking algorithm 實(shí)驗(yàn)的硬件環(huán)境為Intel 酷睿i5 3210M 2.5 GHz CPU,8 GiB RAM;軟件環(huán)境為Matlab2015a。下面展示了視頻1(分辨率像素大小為640×480,共250幀)、視頻2(分辨率像素大小為352×288,共307幀)。跟蹤結(jié)果如圖2、圖3所示。 圖2 視頻1跟蹤結(jié)果Fig.2 Tracking results of Video 1 圖3 視頻2跟蹤結(jié)果Fig.3 Tracking results of Video 2 3.2.1 跟蹤準(zhǔn)確度分析 利用跟蹤目標(biāo)的中心位置的坐標(biāo)與實(shí)際位置中心坐標(biāo)的差的絕對(duì)值,作為跟蹤結(jié)果準(zhǔn)確性的度量方法。實(shí)驗(yàn)對(duì)視頻1和視頻2的跟蹤位置的橫、縱坐標(biāo)進(jìn)行了分析,如圖4、圖5所示。 圖4 視頻1跟蹤位置曲線圖Fig.4 Tracking position curve of Video 1 圖5 視頻2跟蹤位置曲線圖Fig.5 Tracking position curve of Video 2 圖4與圖5分別展示了2個(gè)視頻在KCF算法與本文算法下目標(biāo)橫縱坐標(biāo)與實(shí)際橫縱坐標(biāo)位置曲線。在圖4中的第110幀和圖5中的第65幀附近,目標(biāo)被遮擋,KCF算法發(fā)生了嚴(yán)重的漂移,跟蹤位置遠(yuǎn)離了目標(biāo)。而本文算法在目標(biāo)發(fā)生遮擋后,有小幅度的漂移,但目標(biāo)再次出現(xiàn)時(shí),能夠迅速地再次跟蹤上目標(biāo)。對(duì)于視頻1,KCF算法得出的跟蹤結(jié)果與目標(biāo)實(shí)際位置平均偏差(29,154)像素,而本文算法的平均偏差為(4.5,11.2)像素;對(duì)于視頻2,平均偏差分別為(17.5,86.1),(2.8,3.9)像素。 3.2.2 算法實(shí)時(shí)性分析 兩種算法的跟蹤速度見表1。 表1 跟蹤速度 跟蹤速度是由幀數(shù)與跟蹤時(shí)長(zhǎng)的比值定義的??梢园l(fā)現(xiàn)KCF算法的跟蹤速度都大于本文算法的跟蹤速度,雖然本文算法的跟蹤速度有所降低,但是沒(méi)有影響到視覺(jué)的流暢性,仍能滿足實(shí)時(shí)性的要求。 本文提出了建立正樣本集,利用正樣本集與待測(cè)樣本集的相似度來(lái)建立目標(biāo)遮擋的判斷機(jī)制,有效地減少了把遮擋物當(dāng)作目標(biāo)的情況,并且采用了多段學(xué)習(xí)率的更新方式,提高了模型的準(zhǔn)確性。本文算法的不足之處是:目標(biāo)尺度不能自適應(yīng)以及對(duì)目標(biāo)嚴(yán)重形變的魯棒性不好,這些都是下一步的研究重點(diǎn)。2.3 算法流程
3 實(shí)驗(yàn)結(jié)果與分析
3.1 跟蹤效果展示
3.2 跟蹤結(jié)果分析
4 結(jié)束語(yǔ)