魏 峻 張寶富 李圣君
(公安部第三研究所 上海 201620)
在計(jì)算機(jī)視覺領(lǐng)域,目標(biāo)跟蹤是研究熱點(diǎn),其在智能監(jiān)控、交通疏導(dǎo),打造智能化生活等方向應(yīng)用普遍[1~2]。在第一幀圖像中目標(biāo)初始狀態(tài)被給定的前提下,從而估算后續(xù)圖像序列中每一幀的目標(biāo)位置是目標(biāo)跟蹤的根本意義[3]。近些年來,雖然目標(biāo)跟蹤領(lǐng)域取得了較大的進(jìn)步發(fā)展,但是它仍有寬廣的應(yīng)用空間,依舊存在深入研究的價(jià)值和意義。
目標(biāo)跟蹤主要面臨三個(gè)挑戰(zhàn):1)模型大小,例如使用了卷積神經(jīng)網(wǎng)絡(luò)提取特征的跟蹤法,參數(shù)過多,導(dǎo)致速度慢[4~5];又由于訓(xùn)練數(shù)據(jù)少,容易過擬合;2)訓(xùn)練集大小,這里所指的訓(xùn)練集是指保存了每一幀的跟蹤結(jié)果的訓(xùn)練集,所以隨著跟蹤的進(jìn)行,訓(xùn)練集也愈來愈大,保留新的樣本,舍棄老的樣本是目前較為常見的解決方法,但是還是存在模型過擬合的現(xiàn)象[6]。當(dāng)目標(biāo)出現(xiàn)被遮擋或丟失的情況時(shí),就會(huì)造成新的樣本出現(xiàn)錯(cuò)誤,從而出現(xiàn)模型漂移、背景污染、目標(biāo)污染的概率就會(huì)增大,從而造成目標(biāo)跟蹤結(jié)果錯(cuò)誤;3)模型更新,顯然,模型如果每幀都更新,速度肯定比間歇更新要慢。針對以上問題,本文提出了相應(yīng)的改進(jìn)方法。
隨著研究的逐步深入,越來越多的跟蹤方法涌現(xiàn)出來,然而光照變化、遮擋、姿態(tài)及尺度變化等外界因素依舊會(huì)給目標(biāo)跟蹤帶來不良干擾[7]。在目標(biāo)跟蹤中最關(guān)鍵的是有效的目標(biāo)外觀模型,根據(jù)目標(biāo)外觀模型使用的表達(dá)方法可以將已有的跟蹤方法分為生成式算法、判別式算法[8]。在線或離線狀態(tài)下建立目標(biāo)外觀模型,接著確定圖像中與該模型最一致的部分作為目標(biāo)就是生成式算法[9];判別式算法是把目標(biāo)跟蹤分類為目標(biāo)和背景兩類,將目標(biāo)和背景區(qū)別開來,在目標(biāo)模型的表達(dá)與更新中使用機(jī)器學(xué)習(xí)的多樣在線學(xué)習(xí)方法,從而適應(yīng)目標(biāo)本身的自我變化以及外部環(huán)境的更新,通常這類算法也被稱作基于檢測目標(biāo)的跟蹤算法[10]。
目標(biāo)跟蹤可以借助設(shè)計(jì)的mosse自適應(yīng)相關(guān)濾波器對目標(biāo)外觀進(jìn)行建模,它不僅可以快速適應(yīng)目標(biāo)外觀變化,而且可以準(zhǔn)確區(qū)分目標(biāo)和背景區(qū)域[11]。傳統(tǒng)顏色直方圖[12]的mean-shift算法只考慮了目標(biāo)顏色的統(tǒng)計(jì)信息,不包含目標(biāo)的空間信息,當(dāng)目標(biāo)顏色與背景顏色相近時(shí),容易導(dǎo)致不準(zhǔn)確跟蹤或跟蹤丟失[13]。本文在經(jīng)典mean-shift模型基礎(chǔ)上加入了經(jīng)典顏色直方圖特征進(jìn)行尺度估計(jì)[14],把先驗(yàn)尺度不劇變和可能的最大偏當(dāng)做正則項(xiàng),反向尺度一致性檢查。當(dāng)前幀以目標(biāo)區(qū)域?yàn)檎龢颖?,背景區(qū)域?yàn)樨?fù)樣本,按照機(jī)器學(xué)習(xí)的方法訓(xùn)練分類器,下一幀用訓(xùn)練好的分類器找最優(yōu)區(qū)域[15]。
f1,f2,……,ft是目標(biāo)樣本區(qū)域,經(jīng)過濾波器ht之后輸出gi,最小化均方誤差如式(1)所示。
對Ht求導(dǎo),令導(dǎo)數(shù)為0,得式(2)所示。
如果在第t幀的目標(biāo)區(qū)域內(nèi)提取之后得出特征圖z,那么在t+1幀,計(jì)算ht與z的相關(guān)值如式(3)所示。
t+1幀中目標(biāo)區(qū)域的中心點(diǎn)就是y的最大值的位置。當(dāng)確保目標(biāo)區(qū)域尺寸不變的前提下,把中心點(diǎn)移動(dòng)到對應(yīng)位置,即可獲得在新的一幀中的目標(biāo)區(qū)域。然后在此區(qū)域中進(jìn)行特征提取,接著在訓(xùn)練集中更新模型得到ht+1后,再對下一幀進(jìn)行目標(biāo)檢測。在實(shí)際的追蹤過程中,一般使用如下方法來更新模型,其中η為學(xué)習(xí)率:
如果只評估目標(biāo)區(qū)域中心點(diǎn)在幀間的平移運(yùn)動(dòng)這一單一因素,而沒有估算運(yùn)動(dòng)過程中目標(biāo)折射在畫面上的尺度變化因素,那么當(dāng)目標(biāo)尺度出現(xiàn)變化時(shí)則難以適應(yīng)。
針對此問題,本文提出的改進(jìn)思路是兩組濾波器模板:d個(gè)大小為M×N的二維位置濾波器,d×M×N個(gè)大小為S的一維尺度濾波器。位置濾波器的訓(xùn)練方法同前,在明確目標(biāo)區(qū)域中心后,針對尺度因子s,尺度濾波器會(huì)提取出其對應(yīng)區(qū)域的d個(gè)M×N的二維矩陣,把他塑造成一條向量,將其尺度因子s下的d×M×N維特征作為參照,構(gòu)成尺度濾波器。
濾波器和特征圖由d×M×N改為d×M×N×S,S=num of scales,即構(gòu)造金字塔。這導(dǎo)致復(fù)雜度增大為O(dMNS×log MNS)。
fHoG在傳統(tǒng)的hog特征上進(jìn)行了一些改進(jìn),提供了一種把高維特征融入到相關(guān)濾波框架中的思路。本文提出使用fHoG替代灰度。設(shè)特征維數(shù)為d,則特征圖可記作fl,l=1,2,…,d。濾波器應(yīng)和特征圖匹配,誤差函數(shù)如式(9)所示。
引入λ項(xiàng)是為了控制濾波器頻域參數(shù)求解過程中的除0,另一方面也可以控制濾波器參數(shù)變化范圍,λ越小,濾波器參數(shù)變化范圍越大。
對上式做傅里葉變換,求導(dǎo),令導(dǎo)數(shù)為0,得如式(10)所示:
在實(shí)際操作中,可以用如式(11)、(12)、(13)更新模型:
新幀預(yù)測如下式(14)所示。
在幀It中根據(jù)前一幀的位置pt_1和尺度因子st_1劃定區(qū)域提取特征zlocat;在zlocat與位置濾波器Alocat_1,Blocat_1做相關(guān)得到y(tǒng)locat;將ylocat最大值點(diǎn)設(shè)為當(dāng)前幀的目標(biāo)中心pt。
在幀It中根據(jù)位置pt和前一幀的尺度因子st_1劃定區(qū)域,縮放后得到S個(gè)區(qū)域,提取特征zscalet;將征zscalet與尺度濾波器Ascalet_1,Bscalet_1做相關(guān)得到y(tǒng)scalet;將yscalet最大值點(diǎn)設(shè)為當(dāng)前幀的目標(biāo)尺度st。
更新模型:在幀It中根據(jù)估算出的位置pt和尺度st劃定區(qū)域提取特征,得到flocat和fscalet;更新位置濾波器得到Alocat,Blocat;更新尺度濾波器得到Ascalet,Bscalet;復(fù)雜度O(dMN×log MN+dMNS×log S)。
把濾波器模板參數(shù)主要分布在搜索區(qū)域中的目標(biāo)中心區(qū)域附近,在目標(biāo)區(qū)域以外的將背景區(qū)域處濾波器模板參數(shù)盡可能控制在0(示意圖如圖1所示)。
圖1 濾波器模板
定義新的誤差函數(shù)形式如式(15)所示。
其中w是我們指定的權(quán)重函數(shù),由于我們希望hlt在目標(biāo)區(qū)域盡可能大,在其他搜索區(qū)域盡可能小,因此w的取值應(yīng)該在目標(biāo)區(qū)域盡可能小,而在其他搜索區(qū)域盡可能大,如圖2所示。
圖2 w取值情況
一般可取w如式(16)所示。
對誤差函數(shù)做如式(17)傅里葉變換(對于某個(gè)變量a,a^表示a的傅里葉變換)。
經(jīng)過一系列變換得到式(18)所示。
其中,對于某個(gè)變量a,a表示a向量化的結(jié)果。向量化的步驟是:1)設(shè)a原本為M×N的二維矩陣,經(jīng)過傅里葉變換得到a^;2)a^的每一列被依次連接起來,形成一個(gè)MN×1維的列向量a。
特別地,f^向量化后,填充在一個(gè)MN×MN矩陣的對角線上,構(gòu)成對角陣D(f^);w^向量化后,轉(zhuǎn)置填充在矩陣D(w^)的第一行,接下來的每一行是前一行向右循環(huán)移動(dòng)1位的結(jié)果。
圖3 相關(guān)濾波跟蹤算法執(zhí)行過程示意圖
從MOSSE到KCF、DSST、CN、SRDCF、C-COT,模型越來越復(fù)雜,速度也越來越慢,于是分析速度降低的三個(gè)最重要因素:模型大小、訓(xùn)練集大小、模型更新。
ECO是在C-COT基礎(chǔ)上做的工作,主要有以下幾點(diǎn)貢獻(xiàn):提出了一種新的卷積操作符來,因式分解的卷積操作,構(gòu)建生成樣本模型,簡化訓(xùn)練集。
2.4.1 C-COT簡介
C-COT將特征featuremap通過插值轉(zhuǎn)換到連續(xù)的空間域,提取的特征如式(19)所示。
其中f是每個(gè)維度的特征。那么學(xué)習(xí)相關(guān)濾波器的目標(biāo)函數(shù)如式(21)所示。
轉(zhuǎn)換到頻域如式(22)所示。
2.4.2 因式分解卷積操作
提出一種新的模型更新策略,降低模型更新頻率,對抗模型漂移ECO簡化了特征提取過程。采用原有特征子集,從D維的特征中選取C維特征。一個(gè)維度的特征對應(yīng)一個(gè)濾波器,n維的特征就有n個(gè)濾波器,但是很多濾波器在實(shí)際的應(yīng)用過程中的權(quán)重值很小。如圖4所示,C-COT的大部分濾波器的實(shí)際作用能力不大。而為了優(yōu)化ECO會(huì)選擇使用其中貢獻(xiàn)較多的濾波器,然后用這些濾波器的線性組合來表示每個(gè)特征。通常是簡單的根據(jù)濾波器中大于指定閾值的元素個(gè)數(shù)來確定C。
圖4 濾波器對比圖
新的檢測函數(shù)如式(23)所示。
其中P是一個(gè)D×C的矩陣,每行表示一個(gè)維度的特征對應(yīng)的濾波器,用所有C個(gè)濾波器的線性組合系數(shù),它是一個(gè)未知數(shù),在第一幀中需進(jìn)行學(xué)習(xí),后續(xù)跟蹤保持不變。此刻學(xué)習(xí)濾波器的目標(biāo)函數(shù)就會(huì)發(fā)生變化,現(xiàn)在目標(biāo)函數(shù)如式(24)所示。
新目標(biāo)函數(shù)里,z=J{x},為了達(dá)到約束P的目的加入一項(xiàng)整定項(xiàng),從而問題關(guān)鍵轉(zhuǎn)變?yōu)橐粋€(gè)非線性最小二乘,其中第一項(xiàng)的具有雙線性,可以用Gauss-Newton和Conjugate Gradient把這個(gè)問題轉(zhuǎn)化為一個(gè)矩陣的因式分解問題。Model Size從D降到了C。相當(dāng)于將特征換成了。
2.4.3 樣本產(chǎn)生模型
本項(xiàng)目采用了高斯混合模型(GMM)來生成不同的樣本分組,樣本分組之間存在較大的差異性,每一個(gè)樣本分組與相似的樣本一一對應(yīng),這樣就保持了訓(xùn)練集的多樣性。通過樣本x和目標(biāo)輸出y的聯(lián)合概率分布p(x,y),完善目標(biāo)函數(shù)之后形成如式(25)所示。
由于目標(biāo)輸出的y其實(shí)形狀都是一致的,是一個(gè)峰值在目標(biāo)中心的高斯函數(shù),只是峰值的位置不一樣。那么ECO將y都設(shè)置成一樣的,把峰值位置的平移量體現(xiàn)到x上,在頻域中可以簡單處理。那么p(x,y)就簡化了,只需要計(jì)算p(x)就行了。這里用GMM來建模如式(26)所示。
其中,把M個(gè)樣本縮減到為L個(gè)樣本分組。更新過程如下:伴隨著樣本的到來,即初始化一個(gè)樣本分組m,初始化πm=γ,μm=xj,當(dāng)樣本分組的數(shù)量超過限制L,就舍棄一個(gè)權(quán)重最小的樣本。然后就合并兩個(gè)最近的樣本分組。
將原來的M個(gè)樣本減少為L個(gè)樣本分組的平均值,近似目標(biāo)函數(shù)如式(28)所示。
現(xiàn)實(shí)過程中,把L設(shè)置為M的八分之一,可大幅度減少計(jì)算量,保證縮小訓(xùn)練集大小。同時(shí)可以考慮增加了樣本的多樣性,從而提升實(shí)驗(yàn)效果。
2.4.4 模型更新策略
設(shè)置每隔Ns幀進(jìn)行一次更新。且只更新模型,對每一幀樣本都要做出更新。在最終實(shí)驗(yàn)中把Ns設(shè)置為6。降低模型的更新頻率,節(jié)省實(shí)驗(yàn)時(shí)間,盡可能避免不必要的模型漂移問題,但是也控制Ns不將其設(shè)置的太大,也可以改進(jìn)實(shí)驗(yàn)效果,否則會(huì)導(dǎo)致出現(xiàn)模型跟不上目標(biāo)的變化速度的現(xiàn)象。
針對目前目標(biāo)跟蹤技術(shù)面臨的三個(gè)主要挑戰(zhàn)模型大小、訓(xùn)練集大小、模型更新,本文在Mosse相關(guān)濾波算法基礎(chǔ)上提出了改進(jìn)的思路,擴(kuò)大搜索范圍,減小誤跟錯(cuò)跟的概率,提高了魯棒性。在一定程度上比現(xiàn)有算法優(yōu)化,值得進(jìn)一步的研究與改進(jìn)。