冷建偉,李 鵬
(1.天津市復(fù)雜系統(tǒng)控制理論及應(yīng)用重點實驗室,天津 300384; 2.天津理工大學(xué) 自動化學(xué)院,天津 300384)
基于視頻的目標(biāo)跟蹤是機器視覺應(yīng)用的關(guān)鍵,也是計算機學(xué)科的一個重要分支[1]。近年來有較多研究成果,文獻(xiàn)[2]結(jié)合MeanShift和目標(biāo)顏色直方圖實現(xiàn)了對目標(biāo)的有效跟蹤,但該算法對顏色變化敏感,當(dāng)目標(biāo)受到光照或者目標(biāo)本身顏色發(fā)生變化時,容易丟失目標(biāo);文獻(xiàn)[3]提出的CamShift算法,在目標(biāo)顏色變化時仍可以有效跟蹤目標(biāo),而且能夠自適應(yīng)調(diào)整跟蹤區(qū)域,提高跟蹤精度,當(dāng)目標(biāo)與背景顏色區(qū)別較大時具有良好的跟蹤效果,但當(dāng)目標(biāo)與背景顏色相近時,容易發(fā)生跟蹤漂移;基于Kalman濾波[4]的跟蹤算法是一種最優(yōu)化自回歸數(shù)據(jù)處理算法,即在視頻中尋找與目標(biāo)最相近的物體,該算法可很好地預(yù)測線性系統(tǒng)中的目標(biāo),但如果模型是非線性的,跟蹤將會失敗;基于粒子濾波[5]的跟蹤算法對非線性模型也有很好的跟蹤效果,但容易受粒子退化現(xiàn)象影響。
目前,基于檢測的跟蹤技術(shù)由于其實時性好、跟蹤準(zhǔn)確性高且具有一定的抗遮擋能力而得到大量應(yīng)用[6]。這類算法通過分類器在線判別視頻中的目標(biāo)類和背景類實現(xiàn)跟蹤。文獻(xiàn)[7]將壓縮感知理論與樸素貝葉斯分類器相結(jié)合,提出實時壓縮跟蹤(Compressive Tracking,CT)算法,實現(xiàn)對目標(biāo)的快速穩(wěn)定跟蹤,但該算法自身也存在一定的缺陷:壓縮特征在正負(fù)類中的分布使用固定學(xué)習(xí)率進(jìn)行更新,無法體現(xiàn)真實分布,影響跟蹤準(zhǔn)確性和抗遮擋能力;目標(biāo)跟蹤窗口無法隨目標(biāo)尺寸變化而調(diào)整,使跟蹤窗口不能很好地包圍目標(biāo)物體,影響樣本采集,降低跟蹤魯棒性。為提高CT算法性能,很多專家和學(xué)者提出了改進(jìn)措施[8-12],但都沒有解決特征分布更新問題。
針對原始CT算法的不足,本文提出一種自適應(yīng)更新特征分布的CT算法。該算法使用相鄰兩幀特征分布重疊度代替固定學(xué)習(xí)率更新特征分布,使特征分布學(xué)習(xí)率可根據(jù)每幀內(nèi)目標(biāo)變化自動調(diào)節(jié)。同時,為了避免遮擋物被誤認(rèn)為是跟蹤目標(biāo),在更新正類特征分布時設(shè)定更新閾值。在跟蹤過程中,根據(jù)目標(biāo)變化實時調(diào)整跟蹤窗口,減少采樣過程中的誤差,使跟蹤更準(zhǔn)確、魯棒性更強。
由壓縮感知理論可知,CT算法通過使用滿足RIP(Restricted Isometry Property)條件的隨機測量矩陣[13]實現(xiàn)對稀疏圖像的多尺度降維,降維過程如圖1所示。
圖1 稀疏圖像多尺度降維過程
為了實現(xiàn)多尺度降維,將每個樣本與一組多尺度矩形濾波器{h(1,1),h(1,2),…,h(w,h)}進(jìn)行卷積運算,矩形濾波器的定義如下:
(1)
其中,1≤x≤w和1≤y≤h分別為矩形濾波器的寬度和高度。
滿足RIP條件的測量矩陣較多,其中最常見的是隨機高斯矩陣,很多跟蹤算法使用這種測量矩陣降維,但是隨機高斯矩陣比較密集,當(dāng)維數(shù)較低時對跟蹤實時性不會有影響,當(dāng)維數(shù)較高時,計算時間會增加,不利于實時跟蹤,所以,CT算法采用一種非常稀疏矩陣,其生成規(guī)則如下:
(2)
(3)
其中,y∈{0,1}為樣本標(biāo)記,y=1表示樣本為目標(biāo),y=0表示樣本為背景。
由文獻(xiàn)[14]可知,經(jīng)稀疏矩陣得到的壓縮特征滿足高斯分布,因此,假設(shè)H(v)中的條件概率P(vi|y=1)和P(vi|y=0)都服從高斯分布,即:
(4)
(5)
(6)
(7)
其中,λ>0為學(xué)習(xí)率。
由1.2節(jié)可知壓縮特征服從高斯分布,而樸素貝葉斯分類器利用正負(fù)類特征服從高斯分布的不同區(qū)分目標(biāo)和背景。在一組樣本集中,正負(fù)類樣本特征分布差異越大,分類器就越容易判別目標(biāo)和背景。本文采用巴氏(Bhattacharyya)系數(shù)[15]度量2個分布之間的差異,對于連續(xù)分布,其表達(dá)式為:
(8)
其中,p(x)和q(x)是2個樣本,B∈[0,1]表示巴氏系數(shù),巴氏系數(shù)可用來比較2個樣本的相似度。
如圖2所示,隨著樣本正負(fù)類分布差異逐漸增大,B值逐漸減小。
圖2 B值與特征分布關(guān)系
由式(3)可以看出,所有特征在正負(fù)類中分布概率密度比值的對數(shù)相加構(gòu)成了貝葉斯分類器,所以,貝葉斯分類器的更新對應(yīng)特征在正負(fù)類中分布的更新[16]。而在CT算法中,特征分布更新存在2點不足:1)跟蹤過程中始終使用固定學(xué)習(xí)率更新特征分布。由于目標(biāo)所在環(huán)境或者目標(biāo)本身的變化,同一特征在相鄰兩幀之間分布必然不同,如果此時仍使用固定學(xué)習(xí)率更新特征分布,將無法反映特征真實分布。2)對正類的所有特征分布都更新。CT算法考慮到了遮擋的影響,但只對小部分遮擋有效,當(dāng)目標(biāo)大部分或者完全被遮擋時,如果仍然更新正類特征分布,下一幀跟蹤的目標(biāo)往往會被誤認(rèn)為是遮擋物,跟蹤窗口也會隨著遮擋物移動而偏離真實目標(biāo)。
為了克服以上不足,本文使用兩幀之間特征分布重疊度Bi(第i幀與前一幀特征分布重疊度)代替固定學(xué)習(xí)率。為防止被污染的特征用于特征分布更新,對正類更新設(shè)定一個閾值K,只有當(dāng)兩幀目標(biāo)具有一定相似度(Bi>K)時才更新正類特征分布,當(dāng)Bi (9) (10) 通過使用兩幀之間特征分布重疊度作為學(xué)習(xí)率更新特征分布,可有效利用對分類貢獻(xiàn)大的特征,分類器參數(shù)更新更加準(zhǔn)確。對正類更新設(shè)定閾值,可有效避免遮擋所導(dǎo)致的跟蹤漂移和跟蹤失敗,當(dāng)目標(biāo)再次出現(xiàn)時,也可以重新定位目標(biāo)。 CT算法沒有解決跟蹤窗口尺寸問題,即目標(biāo)窗口不會隨目標(biāo)尺度變化而做出相應(yīng)的改變。如果跟蹤過程中跟蹤窗口始終保持初始狀態(tài),則當(dāng)目標(biāo)靠近攝像機時,目標(biāo)在跟蹤窗口中變大,影響負(fù)樣本采集;當(dāng)目標(biāo)遠(yuǎn)離攝像機時,目標(biāo)在跟蹤窗口中變小,影響正樣本采集。樣本誤差的積累會對分類器造成影響,使跟蹤出現(xiàn)誤差。為了避免采集樣本帶來的誤差,本文利用相鄰兩幀目標(biāo)改進(jìn)的SIFT特征點之間的關(guān)系實時更新跟蹤窗口,減少采集誤差,提高跟蹤準(zhǔn)確性和魯棒性。 2.2.1 改進(jìn)的SIFT特征 與同類算子相比,SIFI算子具有良好的檢測和匹配性能[17],因此,本文利用前后幀目標(biāo)SIFT特征點對應(yīng)的關(guān)系實現(xiàn)跟蹤窗口尺度的更新,但傳統(tǒng)的SIFT算法存在以下缺陷:1)傳統(tǒng)SIFT算法使用關(guān)鍵點周圍16像素×16像素矩形區(qū)域采樣,使兩幅圖像對應(yīng)區(qū)域發(fā)生旋轉(zhuǎn)變化后,會有一部分區(qū)域不重疊,如圖3中的灰色區(qū)域所示。因此,在實際提取SIFI特征時會采用比采樣區(qū)域大一些的矩形區(qū)域進(jìn)行旋轉(zhuǎn),取其落在采樣區(qū)域的像素來構(gòu)建描述符,這種改進(jìn)雖然降低了傳統(tǒng)SIFT算法的采樣誤差,但增加了旋轉(zhuǎn)操作的像素,使運行時間變長,且在進(jìn)行灰度插值和重采樣時有可能帶來更多的誤差。2)傳統(tǒng)的SIFT特征為了保證特征描述的旋轉(zhuǎn)不變性,每個關(guān)鍵點都會生成128維特征向量,數(shù)據(jù)量大,不利于加快匹配速度。 圖3 矩形區(qū)域描述符采樣誤差 因此,本文不使用傳統(tǒng)矩形區(qū)域分割的SIFT特征描述符,而是采用一種扇形區(qū)域分割的SIFT特征描述符(所包含像素與原SIFT方法相同)[18],如圖4所示。與矩形區(qū)域采樣相比,扇形區(qū)域采樣可保證對應(yīng)區(qū)域旋轉(zhuǎn)前后所覆蓋像素的一致性,無論區(qū)域如何旋轉(zhuǎn),都不會出現(xiàn)不重疊區(qū)域,且每個關(guān)鍵點只會形成8×8維特征向量。 圖4 扇形區(qū)域分割的特征描述符 本文利用目標(biāo)變化前后匹配的SIFT特征點自適應(yīng)調(diào)整跟蹤窗口,在保證目標(biāo)正確匹配的同時還要求匹配速度盡可能快,下面將在匹配成功率和匹配時間2個方面對矩形區(qū)域和扇形區(qū)域描述符進(jìn)行比較,以選擇合適的描述符構(gòu)建特征點。匹配成功率為圖像變化前后匹配的特征點個數(shù)與圖像變化前特征點個數(shù)的比值,匹配時間為圖像變化前后所有可匹配特征點完成匹配所用的時間。在測試過程中,采用5類具有代表性的圖像進(jìn)行實驗,測試結(jié)果為20次實驗的平均值,如表1所示(表中“性能提升”指扇形區(qū)域描述符相對矩形區(qū)域描述符的性能提升百分比)。由表1可知,在具有平移、模糊和亮度變化的圖像進(jìn)行匹配時,2種描述符的匹配成功率相當(dāng);在具有旋轉(zhuǎn)或視角變化的圖像進(jìn)行匹配時,由于扇形區(qū)域描述符使用扇區(qū)分割圓形區(qū)域,消除了矩形區(qū)域旋轉(zhuǎn)帶來的誤差,增強了描述符抗旋轉(zhuǎn)能力,匹配的成功率明顯高于矩形區(qū)域描述符。在匹配時間方面,構(gòu)建扇形區(qū)域描述符時不需要對特征區(qū)域進(jìn)行旋轉(zhuǎn)操作,加快了運行速度,另外,扇形區(qū)域描述符把128維的特征向量降至64維,也加快了匹配速度,使匹配效率更高。 表1 特征描述符性能對比 綜上所述,本文將使用抗旋轉(zhuǎn)能力更強、運行速度更快的改進(jìn)的SIFT特征構(gòu)建特征點,以達(dá)到提高跟蹤準(zhǔn)確性和實時性的目的。 2.2.2 尺度更新過程 本文利用相鄰兩幀目標(biāo)的仿射變換參數(shù)更新跟蹤窗口。前后兩幀目標(biāo)的仿射變換關(guān)系如式(11)所示。 It=H×It-1 (11) 其中,It表示當(dāng)前幀目標(biāo)圖像,It-1表示前一幀目標(biāo)圖像,H為3×3仿射變換矩陣,H可以表示為如下形式: (12) 其中,ρ是尺度因子,θ是旋轉(zhuǎn)角度,(tx,ty)是平移向量。 從上述公式可知,未知參數(shù)有4個,所以,至少要存在4組匹配的特征點才能計算得出仿射參數(shù),而改進(jìn)的SIFI特征可以提供多組(大于4)匹配特征。 跟蹤窗口更新的步驟如下: 1)提取初始幀目標(biāo)改進(jìn)的SIFT特征點。 2)隨機篩選特征點,得到固定數(shù)目(大于4)的特征點作為特征點庫。 3)從第二幀開始,提取當(dāng)前幀目標(biāo)改進(jìn)的SIFT特征點并與特征點庫中的特征點進(jìn)行匹配,得到一定數(shù)量(大于4)的特征匹配組。 4)利用匹配的特征點之間的關(guān)系求解仿射變換參數(shù),更新跟蹤窗口。 5)根據(jù)當(dāng)前幀目標(biāo),更新特征點庫。 通過以上方式,獲得前后兩幀目標(biāo)的仿射變換參數(shù),實時調(diào)整跟蹤窗口尺度,防止目標(biāo)變化影響樣本采集,使跟蹤準(zhǔn)確性和魯棒性更高。 算法自適應(yīng)更新特征分布 輸入t-1幀目標(biāo)位置和尺度 輸出當(dāng)前幀目標(biāo)位置,更新后的分類器參數(shù)和跟蹤窗口 1)根據(jù)目標(biāo)t-1幀位置和跟蹤窗口尺度,分別采集正負(fù)樣本圖像集合Dα={z‖l(z)-lt-1‖<α}和Dζ,β={z|ζ<‖l(z)-lt-1‖<β},其中l(wèi)t-1是上一幀(t-1幀)的跟蹤位置,且α<ζ<β。 2)計算正負(fù)樣本的多尺度特征,使用非常稀疏矩陣對特征投影得到壓縮域特征。 3)計算各個壓縮特征在正負(fù)類中的特征分布,根據(jù)式(8)~式(10)更新特征分布。 4)使用樸素貝葉斯分類器對每個特征向量v分類,找到目標(biāo)跟蹤位置lt。 5)根據(jù)目標(biāo)變化,實時調(diào)整跟蹤窗口大小和位置。 為了驗證本文算法性能,將本文算法與CT和FCT(Fast Compressive Tracking)算法對4個包含快速移動、明暗變化、遮擋等干擾因素的標(biāo)準(zhǔn)測試序列進(jìn)行對比。測試所用臺式機配置為Windows 7 操作系統(tǒng),Inter Core i5處理器,2.53 GHz主頻,4 GB內(nèi)存,所使用開放軟件為VS2013,裝載OpenCV2.4.9圖像處理庫。 在實驗過程中,閾值K和特征點庫中特征點數(shù)目的設(shè)定會影響實驗效果,因此,先分析這2個參數(shù)對跟蹤精度的影響,然后取對跟蹤精度影響最小的數(shù)據(jù)作為實驗參數(shù)。閾值K(0.5~1.0)對跟蹤精度影響結(jié)果為4個公共測試序列20次實驗的平均值,如圖5所示。 圖5 閾值對跟蹤精度的影響 由圖5可知,當(dāng)K<0.75時,相鄰兩幀目標(biāo)特征分布重疊度較低,一些被污染的樣本也會用于更新特征分布,容易導(dǎo)致跟蹤漂移,中心位置誤差較高;當(dāng)0.75 為了保證算法實時性,特征點庫中特征點數(shù)目不易過多,本文設(shè)定特征點庫中特征點數(shù)目為20,并從匹配的特征點中選取6組用于求解目標(biāo)仿射變換參數(shù)。 如圖6所示,在序列walking中,目標(biāo)在移動過程中存在一定的姿態(tài)變化,但光照、背景和遮擋等因素影響較小,3種算法都能實現(xiàn)有效跟蹤。當(dāng)目標(biāo)出現(xiàn)大幅度旋轉(zhuǎn)時,如圖中第254幀,CT和FCT算法跟蹤準(zhǔn)確性會降低,而本文算法能準(zhǔn)確定位目標(biāo)位置,提高了跟蹤準(zhǔn)確性。 如圖7所示,在序列face中,目標(biāo)光照變化明顯,給跟蹤帶來了困難。由圖中第673幀、第1 183幀、第1 265幀可以看出,當(dāng)目標(biāo)亮度發(fā)生明顯變化時,CT和FCT算法由于使用固定學(xué)習(xí)率更新特征分布,導(dǎo)致跟蹤發(fā)生漂移,而本文算法根據(jù)目標(biāo)在相鄰兩幀之間的變化自適應(yīng)調(diào)節(jié)特征分布,始終能對目標(biāo)進(jìn)行有效跟蹤。 如圖8所示,在序列car中目標(biāo)存在尺度變化、光照變化和部分遮擋等干擾因素。由圖中第15幀、第52幀、第76幀可以看出,隨著目標(biāo)尺度的不斷減小,CT和FCT算法出現(xiàn)了不同程度的跟蹤漂移,而本文算法始終對目標(biāo)進(jìn)行著準(zhǔn)確跟蹤??梢钥闯霰疚乃惴ㄔ谀繕?biāo)尺度發(fā)生變化時,能自適應(yīng)調(diào)整跟蹤窗口,防止跟蹤漂移,提高了跟蹤魯棒性。 如圖9所示,在序列fist中,目標(biāo)出現(xiàn)了大面積遮擋現(xiàn)象,對跟蹤造成了很大干擾。從圖中可以看出,當(dāng)目標(biāo)出現(xiàn)大面積遮擋時,如第54幀,這時3種算法都無法定位目標(biāo);當(dāng)目標(biāo)持續(xù)移動,遮擋物隨之消失時,如第125幀、第1 134幀,CT和FCT算法將遮擋物誤認(rèn)為目標(biāo),導(dǎo)致跟蹤失敗,而本文算法能重新定位目標(biāo),并持續(xù)跟蹤。由此可知,本文算法所采用的特征分布更新策略克服了大面積遮擋的影響,使跟蹤獲得較好效果。 圖6 序列walking實驗結(jié)果 圖7 序列face實驗結(jié)果 圖8 序列car實驗結(jié)果 圖9 序列fist實驗結(jié)果 各算法處理時間如表2所示,因為本文算法采用改進(jìn)的SIFT特征來調(diào)整跟蹤窗口,所以在實時性上比FCT算法要差,但與CT算法相差不多,可實現(xiàn)實時跟蹤。 表2 算法處理時間 (ms·frame-1) 本文提出一種自適應(yīng)更新特征分布的CT算法。針對特征分布更新問題,使用相鄰兩幀特征分布的重疊度代替固定學(xué)習(xí)率更新特征分布,并對正類特征分布的更新設(shè)定閾值。對于跟蹤過程中跟蹤窗口無法實時更新的問題,提取相鄰兩幀目標(biāo)改進(jìn)的SIFT特征點進(jìn)行匹配,根據(jù)匹配的特征點之間的關(guān)系得到目標(biāo)的仿射變換參數(shù),最后由仿射變換參數(shù)更新跟蹤窗口。實驗結(jié)果表明,本文算法對跟蹤過程中的光線突變、尺度變化、大面積遮擋等因素具有較好的抗干擾能力,跟蹤窗口可隨目標(biāo)變化實時改變,跟蹤準(zhǔn)確性高、魯棒性好,能夠?qū)崿F(xiàn)實時跟蹤。但由于本文算法使用改進(jìn)的SIFT特征來解決跟蹤窗口更新問題,使算法處理速度有所下降,因此下一步將重點研究如何加快處理速度。 [1] 閆慶森,李臨生,徐曉峰,等.視頻跟蹤算法研究綜述[J].計算機科學(xué),2013,40(6A):204-209. [2] COMANICIU D,RAMESH V,MEER P.Kernel-based Objects Tracking[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2003,25(5):564-577. [3] BRADSKI G R.Real Time Face and Object Tracking as a Component of a Perceptual User interface[C]//Proceedings of the 4th IEEE Workshop on Applications of Computer Vision.Washington D.C.,USA:IEEE Press,1998:214-219. [4] HUANG S L,HONG J X.Moving Object Tracking System Based on Camshift and Kalman Filter[C]//Proceedings of the 2011 International Conference on Consumer Electronics,Communications and Networks.Washington D.C.,USA:IEEE Press,2011:1423-1426. [5] VADAKKEPAT P,LIU J.Improved Particle Filter in Eensor Fusion for Tracking Randomly Moving Object[J].IEEE Transactions on Instrumentation and Measurement,2006,55(5):1823-1832. [6] AVIDAN S.Support Vector Tracking[J].IEEE Tran-sactions on Pattern Analysis and Machine Intelligence,2004,26(8):1064-1072. [7] ZHANG K H,ZHANG L,YANG M H.Real-time Compressive Tracking[C]//Proceedings of 2012 European Conference on Computer Vision.New York,USA:ACM Press,2012:864-877. [8] 王 權(quán),劉侍剛,彭亞麗,等.基于SIFT的壓縮跟蹤算法[J].現(xiàn)代電子技術(shù),2014(15):62-64. [9] 鐘 權(quán),周 進(jìn),崔雄文.融合SIFT特征的壓縮跟蹤算法[J].光電工程,2015,42(2):66-72. [10] 朱周元,張 超,吳小培,等.尺度自適應(yīng)的壓縮跟蹤算法[J].計算機工程與應(yīng)用,2013,52(14):180-185. [11] 李慶斌,朱國慶,周 妍,等.基于特征在線選擇的目標(biāo)壓縮跟蹤算法[J].自動化學(xué)報,2015,41(11):1961-1970. [12] 景 靜,徐光柱,雷幫軍,等.一種基于壓縮域的實時跟蹤改進(jìn)算法[J].計算機工程,2014,40(4):170-174. [13] ACHLIOPTAS D.Database-friendly Random Projections:Johnson-linden Stratus with Binary Coins[J].Journal of Computer and System Sciences,2003,66(4):671-687. [14] DIACONIS P,FREEDMAN D.Asymptotics of Graphical Projection Pursuit[J].Annals of Statistics,1984,12(3):793-815. [15] COMANICIU D,RAMESH V,MEER P.Real-time Tracking of Non-rigid Objects Using Mean Shift[C]//Proceedings of 2000 IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Press,2000:142-149. [16] 耿 磊,王學(xué)斌,肖志濤,等.結(jié)合特征篩選與二次定位的快速壓縮跟蹤算法[J].自動化學(xué)報,2016,42(9):1421-1431. [17] 王永明,王貴錦.圖像局部不變性特征與描述[M].北京:國防工業(yè)出版社,2010. [18] 曾 巒,顧大龍.一種基于扇形區(qū)域分割的SIFT特征描述符[J].自動化學(xué)報,2012,38(9):1513-1519.2.2 跟蹤窗口尺度更新
2.3 算法流程
3 實驗結(jié)果與分析
3.1 實驗參數(shù)設(shè)置
3.2 實驗結(jié)果
4 結(jié)束語