朱偉杰,唐晶磊,王 棟,冀馬超
(1.西北農(nóng)林科技大學(xué)信息工程學(xué)院,陜西楊凌712100;2.東北大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,遼寧沈陽(yáng)110169)
目標(biāo)跟蹤是計(jì)算機(jī)視覺(jué)領(lǐng)域重要的研究方向之一,根據(jù)目標(biāo)表觀建模的方式不同,目標(biāo)跟蹤方法可以分為生成式(generative)模型方法和判別式(discriminative)模型方法。比較著名的生成式模型方法有粒子濾波方法和 mean-shift算法[1]等,文獻(xiàn)[2]結(jié)合導(dǎo)向?yàn)V波的基本思想對(duì)粒子濾波進(jìn)行了改進(jìn)。判別式模型方法的核心思想是訓(xùn)練一個(gè)分類器來(lái)判別目標(biāo)和背景,目標(biāo)所包含的信息都在訓(xùn)練分類器所需的正負(fù)樣本中,代表性的方法有結(jié)構(gòu)化輸出SVM[3]、boosting[4]和深度學(xué)習(xí)方法[5]等。 由于生成式模型方法忽略了背景信息,僅著重于描述目標(biāo)本身,所以在處理視頻序列相似性干擾和背景復(fù)雜等跟蹤難點(diǎn)方面,判別式模型方法具有更高的跟蹤精確度和更強(qiáng)的魯棒性。
由于速度快且準(zhǔn)確度高,近年來(lái)基于相關(guān)濾波(CF)的跟蹤算法受到很多關(guān)注。 Bolme等人[6]首次提出了最小化輸出均方誤差和MOSSE跟蹤算法。該算法利用目標(biāo)圖像訓(xùn)練濾波器,視頻幀中與初始化目標(biāo)越相似,得到的響應(yīng)值越大。相關(guān)學(xué)者對(duì)MOSSE算法進(jìn)行了多種改進(jìn),包括加入了顏色特征信息[7]和自適應(yīng)尺度的版本[8]。 Henriques JF等人提出了核相關(guān)濾波器(kernel correlation filter)跟蹤算法[9],使用目標(biāo)周圍區(qū)域的循環(huán)矩陣采集正負(fù)樣本,利用嶺回歸訓(xùn)練目標(biāo)檢測(cè)器,但對(duì)跟蹤過(guò)程中目標(biāo)被遮擋時(shí)的問(wèn)題沒(méi)有很好的解決。
盡管相關(guān)濾波跟蹤算法研究已取得了巨大的進(jìn)展,但由于圖像灰度值、紋理和直方圖等低層特征不能很好的描述目標(biāo)表觀模型,僅考慮目標(biāo)本身而不添加其上下文信息,則難以實(shí)現(xiàn)遮擋、背景復(fù)雜等情況下的準(zhǔn)確跟蹤。因此,針對(duì)上述問(wèn)題,本文改進(jìn)了經(jīng)典的核相關(guān)濾波算法:在目標(biāo)出現(xiàn)嚴(yán)重遮擋和表觀模型發(fā)生巨變導(dǎo)致信息丟失時(shí),添加目標(biāo)上下文信息預(yù)測(cè)其位置,抑制由于錯(cuò)誤表觀信息導(dǎo)致的目標(biāo)漂移。同時(shí),結(jié)合超像素級(jí)特征提取方法,提高了跟蹤的效率和準(zhǔn)確度,同時(shí)滿足實(shí)時(shí)性的要求。
x為輸入的圖像塊或者提取的特征,矢量w為相關(guān)濾波器,∧為某向量的傅里葉變換,根據(jù)卷積定理,循環(huán)卷積等于頻域元素之間的乘積,如式(1)所示:
其中,F(xiàn)-1為傅里葉變換的逆變換,訓(xùn)練濾波器時(shí),首先定義一個(gè)期望的相關(guān)輸出y。然后用目標(biāo)的實(shí)例和相關(guān)濾波器來(lái)滿足式(2):
由式(2)可得:
Henriques J F[9]提出的核相關(guān)濾波跟蹤算法(KCF)是在CSK算法基礎(chǔ)上加了HOG特征使得效果大大提升,它根據(jù)高斯函數(shù) ym,n,(m,n)∈{0,1,…,M-1} ×{0,1,…,N-1},通過(guò)輸入的包含 M×N個(gè)像素的圖像塊xm,n的循環(huán)移位得到大量樣本用于訓(xùn)練濾波器。式(3)濾波器w可通過(guò)式(4)優(yōu)化:
其中,φ為非線性映射函數(shù);λ1為正則化參數(shù),通過(guò)傅里葉變換(FFT),式(4)可表示為 w=∑m,na(m,n)φ(xm,n) ,系數(shù) a 可通過(guò)式(5)計(jì)算:
其中,y={ym,n|(m,n)∈{0,1,…,M-1} ×{0,1,…,N-1}},給定學(xué)習(xí)到的參數(shù)a和外觀模型x?,則可計(jì)算出新的圖像塊z的響應(yīng)圖y?如式(6),y?的最大值即是目標(biāo)最有可能的位置。
盡管核相關(guān)濾波跟蹤算法利用核函數(shù)有效的提高了運(yùn)算速度,但由于它存在對(duì)特征提取敏感等缺點(diǎn),且當(dāng)目標(biāo)外觀發(fā)生劇烈變化或背景較為復(fù)雜時(shí),僅利用特征信息跟蹤目標(biāo)可能會(huì)出現(xiàn)漂移等情況。所以為提高核相關(guān)濾波跟蹤算法的魯棒性和跟蹤精確度,還需融合目標(biāo)的上下文信息。同時(shí)提取超像素級(jí)特征以彌補(bǔ)相關(guān)濾波跟蹤算法特征提取敏感的缺點(diǎn)。
基于上述,本文跟蹤方法主要包括上下文模型建立和模型更新兩部分。首先基于HSI空間利用SLIC算法[10]提取超像素級(jí)特征,并對(duì)特征訓(xùn)練以建立相關(guān)濾波跟蹤器的上下文模型。然后計(jì)算目標(biāo)及其上下文區(qū)域響應(yīng)值,從而實(shí)現(xiàn)目標(biāo)的快速定位。最后,更新目標(biāo)位置,并對(duì)新位置目標(biāo)區(qū)域進(jìn)行訓(xùn)練和更新,以實(shí)現(xiàn)上下文模型的更新,用于之后的預(yù)測(cè)。本文方法過(guò)程圖以及各個(gè)部分的具體研究步驟如圖1所示。
圖1 本文算法研究流程Fig.1 Algorithm research process in the paper
本文建立相關(guān)濾波跟蹤器的上下文模型實(shí)時(shí)的對(duì)目標(biāo)進(jìn)行精確地表示,具體流程是:首先選取視頻序列的第一幀進(jìn)行訓(xùn)練得到目標(biāo)的表觀模型,在之后每一幀的訓(xùn)練階段加入上下文信息,實(shí)現(xiàn)目標(biāo)外觀模型發(fā)生巨變時(shí)的準(zhǔn)確跟蹤。然后分割目標(biāo)及其上下文區(qū)域得到N個(gè)超像素,并提取這些超像素的HSI特征,用特征向量fr表示第r個(gè)超像素,使用mean shift聚類算法將訓(xùn)練好的超像素特征進(jìn)行聚類,使得模型不僅包含目標(biāo)模板,且還包含上下文信息,以更好的將目標(biāo)從復(fù)雜的背景中分開,使其有更強(qiáng)的判別能力。
圖2 本文跟蹤器跟蹤過(guò)程圖Fig.2 The tracking process diagram
上下文圖像塊包含各種背景信息,如圖2所示,所訓(xùn)練的濾波器會(huì)對(duì)目標(biāo)圖像塊產(chǎn)生最高的響應(yīng)值,而對(duì)背景圖像塊的響應(yīng)值較低。上下文圖像塊以正則項(xiàng)的形式添加到公式(4)中,得到:
其中,Ai為上下文圖像塊ai對(duì)應(yīng)的循環(huán)矩陣,它包含矢量化圖像塊ai的所有循環(huán)移位。調(diào)節(jié)參數(shù)λ2的值,使上下文圖像塊的響應(yīng)值回歸于0。
學(xué)習(xí)一個(gè)似然分布可優(yōu)化訓(xùn)練,它是指目標(biāo)在位置p處的先驗(yàn)概率,
其中,?(·)為似然函數(shù);o代表對(duì)目標(biāo)的表述。
Po為目標(biāo)的中心位置,Ωc(p)為 Po的周圍區(qū)域,上下文特征可通過(guò) pc={c(p′) =(I(p′),p′) |p′∈Ωc(po)}設(shè)置,其中 I(p′)為圖像在位置 po處的強(qiáng)度,通過(guò)計(jì)算c(p′)的似然函數(shù)可得:
P(p|c(p′),o) 為目標(biāo)與其上下文的關(guān)系模型,P(c(p′|o)) 為目標(biāo)的外觀模型。關(guān)系模型P(p|c(p′),o) 可被定義為:
h為輸入的向量p和p′的差異性操作。外觀模型可被定義為:
ωσ(·)為高斯函數(shù)權(quán)重,可被定義為:
其中,a為正則化參數(shù)。通過(guò)給定的高斯分布權(quán)值,模型將賦予離目標(biāo)中心位置處較近的上下文圖像塊更大的值,相反,賦予離中心位置處較遠(yuǎn)的上下文圖像塊較小的值。
由于目標(biāo)在跟蹤過(guò)程中總存在一些不可預(yù)測(cè)的變化,而當(dāng)前的上下文模型只含有前一幀目標(biāo)樣本信息,不能反映出目標(biāo)的變化。當(dāng)目標(biāo)變化較大時(shí),難以有效的提取出目標(biāo)的特征,導(dǎo)致目標(biāo)丟失,但是如果頻繁的更新模型,就會(huì)形成誤差的積累,出現(xiàn)模型的漂移現(xiàn)象。核相關(guān)濾波算法計(jì)算新獲得的模型和前一幀模型的線性差值,這樣模型更新方法就包含了當(dāng)前幀和前一幀的相關(guān)信息,包括變化之后的表觀模型和雙重空間系數(shù)等。
本文使用目標(biāo)響應(yīng)值和背景響應(yīng)值的差值來(lái)預(yù)測(cè)目標(biāo)是否存在遮擋現(xiàn)象,差值小于預(yù)定的閾值時(shí),表示目標(biāo)中心被遮擋,此時(shí)停止模型更新以防止引入新的錯(cuò)誤信息,反之更新模型以找到一個(gè)新的位置來(lái)替換原來(lái)的位置進(jìn)行目標(biāo)定位。模型更新公式如下所示:
其中, x?t和 x?t+1分別表示第 t幀和(t+1)幀的上下文模型; a?t和 α?t+1分別表示第 t幀和(t+1) 幀的濾波器系數(shù)矩陣;f表示目標(biāo)響應(yīng)值與背景響應(yīng)值的差值,f0表示所設(shè)閾值。
為了更有效的表示目標(biāo),本文提取視頻圖像超像素級(jí)中層視覺(jué)特征代替比較粗糙的像素級(jí)灰度底層特征信息,由于Achanta R等人提出的SLIC(simple linear iterative clustering)[13]即簡(jiǎn)單線性迭代聚類分割算法生成的超像素均勻緊湊,不破壞鄰域超像素的特征信息,且在運(yùn)行速度、生成超像素的復(fù)雜度和輪廓保持等方面都表現(xiàn)良好,因此本文選擇SLIC劃分超像素。
由于HSI顏色空間減弱了光照變化對(duì)像素的影響,且相比其他顏色空間,HSI顏色空間對(duì)超像素有更強(qiáng)的分辨能力,能更好的區(qū)分目標(biāo)和背景,因此本文使用HSI顏色空間直方圖作為每個(gè)超像素的特征。由于彩色圖像都是由RGB顏色空間表示的,所以需將其轉(zhuǎn)化到HSI顏色空間。超像素級(jí)特征提取過(guò)程如圖3所示:
圖3 超像素特征提取步驟Fig.3 Superpixel feature extraction procedure
首先通過(guò)SLIC算法將圖像劃分為超像素塊,將彩色圖像顏色空間均勻地分割為若干個(gè)區(qū)間,通過(guò)累加得到超像素塊中每個(gè)顏色區(qū)間像素點(diǎn)的個(gè)數(shù),然后對(duì)統(tǒng)計(jì)結(jié)果進(jìn)行顏色空間歸一化操作,可得到每個(gè)顏色在各個(gè)超像素塊中所占比例,最后根據(jù)比例繪制代表每個(gè)超像素塊的HSI顏色空間直方圖。
實(shí)驗(yàn)硬件平臺(tái)為 Intel(R)Core(TM)i5-4200 2.5 GHz CPU,軟件平臺(tái)為Matlab 2016a。目標(biāo)使用超像素級(jí)的HSI顏色空間特征,濾波器尺寸均使用全局指定尺寸,在訓(xùn)練之前已將正負(fù)樣本處理為統(tǒng)一的尺寸大小,從而使其在不同的測(cè)試視頻中均能保持穩(wěn)定的計(jì)算速度。訓(xùn)練樣本以當(dāng)前目標(biāo)位置為中心的圖像塊循環(huán)移位得到。利用余弦窗口以減輕由循環(huán)移位引起的不連續(xù)性。從訓(xùn)練樣本中提取HSI顏色特征,上下文圖像塊從最新獲得的目標(biāo)中心位置處的鄰域內(nèi)采集。
為驗(yàn)證本文算法性能,在10個(gè)選自O(shè)TB-50和OTB-100的視頻序列上,對(duì)本文算法與Struck算法[11]、KCF算法[9]、DSST算法[12]和 CSK算法[13]4個(gè)判別式模型算法進(jìn)行了對(duì)比實(shí)驗(yàn)。其他4個(gè)算法參數(shù)取值均使用文獻(xiàn)所列默認(rèn)參數(shù)值,本文的參數(shù)取值如下:λ1=10-4,λ2=25,η=0.015,f0=0.07。
實(shí)驗(yàn)數(shù)據(jù)來(lái)源于文獻(xiàn)[14]提出的公開視頻數(shù)據(jù)集OTB-50與OTB-100,為全面評(píng)價(jià)算法的性能,并結(jié)合目標(biāo)跟蹤的難點(diǎn),實(shí)驗(yàn)選取了上述數(shù)據(jù)集中發(fā)生形變、背景復(fù)雜、存在遮擋和快速移動(dòng)的視頻,以驗(yàn)證本文算法的有效性。
定量分析的評(píng)價(jià)指標(biāo)有兩個(gè):精確度(Precision)和成功率(Success Rate)。精確度評(píng)估中,使用的標(biāo)準(zhǔn)是中心位置誤差,是指由算法得到的目標(biāo)中心位置與目標(biāo)實(shí)際中心位置的距離,精確度是指小于某閾值的百分比,本文選取閾值為20像素[14]。成功率使用的標(biāo)準(zhǔn)是邊界框的重疊率,假設(shè)跟蹤的邊界框?yàn)棣胻,準(zhǔn)確的邊界框是γa,重疊率被定義為 S=|γt∩γa|/|γt∪γa|,其中∩和∪分別表示兩個(gè)圖像區(qū)域的交集和并集,|·|表示圖像區(qū)域內(nèi)像素點(diǎn)的個(gè)數(shù),使用每個(gè)成功率圖的曲線下面積(AUC)記錄在不同重疊率或中心定位誤差限制下的跟蹤成功率,用于給跟蹤算法進(jìn)行綜合比較并排序。
4.3.1 定量分析與討論
根據(jù)評(píng)價(jià)指標(biāo)繪制本文算法和其他算法精確度曲線和成功率曲線如圖4所示,對(duì)比各個(gè)算法性能如表1所示。從表1可以看出,本文的算法和KCF算法相比,精確度提高了4.1%,成功率提高了5.7%,和致力于解決尺度變化難點(diǎn)的DSST算法相比,精確度提高了7.2%,成功率提高了3.1%,和基于結(jié)構(gòu)化輸出預(yù)測(cè)的自適應(yīng)目標(biāo)跟蹤框架的Struck算法相比,精確度提高了13.3%,成功率提高了9.8%。整體來(lái)看,性能最差的是CSK算法,這是因?yàn)榇怂惴▋H僅使用了灰度值特征,對(duì)運(yùn)動(dòng)目標(biāo)外觀的表達(dá)不足,當(dāng)遮擋出現(xiàn)時(shí)此算法分類器會(huì)引入錯(cuò)誤信息,從而導(dǎo)致跟蹤失敗或者跟蹤漂移。在速度方面,相關(guān)濾波類跟蹤算法DSST速度僅有7 fps,這是因?yàn)榇怂惴ú捎昧顺叨冉鹱炙烙?jì)法,在跟蹤過(guò)程中需要逐尺度地進(jìn)行相關(guān)濾波估計(jì),影響了算法的整體速度。本文的算法由于使用循環(huán)結(jié)構(gòu)在頻域上處理圖像,速度大約為30 fps,滿足實(shí)時(shí)性地要求,且跟蹤精確度和成功率都比其他相關(guān)濾波類跟蹤算法要高。
圖4 精確度和成功率曲線Fig.4 Precision and success rate curves
表1 本文算法和其他算法性能對(duì)比表Tab.1 Comparison of performance of proposed algorithm and other algorithms
4.3.2 定性分析與討論
為了直觀地比較各個(gè)算法的跟蹤效果,從測(cè)試視頻集中選取了3個(gè)視頻進(jìn)行定性分析,結(jié)果如圖5所示。
圖5 各個(gè)算法的定性對(duì)比Fig.5 The qualitative comparison of each algorithm
從圖5的結(jié)果可以看出,Struck在跟蹤Dog視頻序列時(shí),隨著攝像頭和目標(biāo)距離的不斷變化,視頻的目標(biāo)發(fā)生了由大到小尺度的變化,Struck算法無(wú)目標(biāo)尺寸變化處理機(jī)制,導(dǎo)致目標(biāo)快速尺寸變化時(shí),中心位置誤差明顯增大。KCF算法由于利用循環(huán)矩陣及傅里葉變換方法處理圖像,所以速度很快,但它在處理目標(biāo)發(fā)生形變(Skater2圖)或快速運(yùn)動(dòng)(Dog圖)時(shí),跟蹤精度不高,魯棒性下降。DSST跟蹤算法在處理目標(biāo)發(fā)生遮擋、背景分辨率低的情況下,也會(huì)出現(xiàn)跟蹤不準(zhǔn)的結(jié)果。通過(guò)對(duì)實(shí)驗(yàn)結(jié)果的定量和定性分析表明:相比以上其他算法,本文所用方法在處理遮擋、目標(biāo)高速運(yùn)動(dòng)、背景分辨率低、目標(biāo)發(fā)生形變等條件下具有比其他對(duì)比算法更好的魯棒性、跟蹤精度和跟蹤成功率。
本文算法利用目標(biāo)與其周圍空域信息,對(duì)經(jīng)典和相關(guān)濾波跟蹤算法進(jìn)行了改進(jìn),提出一種利用上下文信息和超像素級(jí)特征的相關(guān)濾波跟蹤方法,從中層視覺(jué)的角度,提取目標(biāo)超像素級(jí)特征,將具有相似性質(zhì)的像素聚類,加快了圖像處理的速度。在相關(guān)濾波的框架下,以前一幀的信息輔助預(yù)測(cè)漸入遮擋物的后續(xù)幀目標(biāo)狀態(tài),提高算法抗遮擋的魯棒性,大量的實(shí)驗(yàn)也表明,本文提出的算法在相關(guān)濾波類跟蹤算法中更加具有優(yōu)越性,在計(jì)算復(fù)雜度很高的情況下仍能保持高速計(jì)算,論證了本文算法的可行性和有效性。