汪鴻翔,柳培忠,駱炎民,杜永兆,陳智
(1. 華僑大學(xué) 工學(xué)院,福建 泉州 362021; 2. 華僑大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,福建 廈門 361021)
視覺跟蹤是計算機視覺領(lǐng)域的研究熱點,在虛擬現(xiàn)實、人機交互、智能監(jiān)控、增強現(xiàn)實、機器感知等場景中有著重要的研究與應(yīng)用價值。視覺跟蹤通過分析視頻圖片序列,對檢測出的各個候選目標(biāo)區(qū)域?qū)嵤┢ヅ?,定位跟蹤目?biāo)在視頻序列中的位置。目前跟蹤算法已經(jīng)取得很多研究成果,但在實際中應(yīng)對各類復(fù)雜場景時仍面臨很大挑戰(zhàn),例如面對遮擋、形變、視頻序列分辨率低等影響因素時,如何實現(xiàn)更加魯棒和準(zhǔn)確的跟蹤仍然是目前研究的核心[1]。
視覺跟蹤算法一般分為兩部分:目標(biāo)表觀建模和跟蹤策略。
1)目標(biāo)表觀建模
根據(jù)對目標(biāo)表觀的建模方式可分為判別式模型和生成式模型兩類[2-3]。判別式模型將跟蹤問題建模為一個二分類問題,用以區(qū)分前景和背景。B. Babenko等[4]提出多示例學(xué)習(xí)算法(MIL),針對跟蹤中訓(xùn)練樣本不足的問題,引入多示例學(xué)習(xí)機制,有效抑制跟蹤過程中跟蹤器的漂移問題;文獻[5]提出具有元認(rèn)知能力的粒子濾波(MCPF)目標(biāo)跟蹤算法,通過監(jiān)控到突變,快速調(diào)節(jié)決策機制,實現(xiàn)穩(wěn)定的目標(biāo)跟蹤。生成式模型不考慮背景信息直接為目標(biāo)進行建模。文獻[6]提出了L1跟蹤系統(tǒng),用稀疏方法表示跟蹤目標(biāo),但算法運算復(fù)雜度高; K. Zhang等[7]提出了壓縮跟蹤(CT),用一個稀疏的測量矩陣提取特征以建立一個稀疏、健壯的目標(biāo)表觀模型,取得快速有效、魯棒性好的跟蹤效果;文獻[8]引入小波紋理特征,改善單純依靠顏色特征不能很好適應(yīng)環(huán)境變化的情況,與單一特征相比能夠?qū)崿F(xiàn)更加穩(wěn)健的跟蹤。
2)跟蹤策略
采用運動模型來估計目標(biāo)可能的位置,通過先驗知識來縮小搜索范圍。代表性方法有隱馬爾可夫模型[9]、卡爾曼濾波[10]、均值漂移算法[11]和粒子濾波[12]等。其中,粒子濾波算法因為對局部極小值相對不太敏感且計算非常有效而被廣泛應(yīng)用。另外,近幾年相關(guān)濾波跟蹤算法在目標(biāo)領(lǐng)域也取得不錯的成績。D.S. Bolme等[13]首次將相關(guān)濾波引入跟蹤領(lǐng)域,通過設(shè)計一個誤差最小平方和濾波器(MOSSE),在跟蹤過程中尋找目標(biāo)最大響應(yīng)值來實現(xiàn)跟蹤。J.F. Henriques等[14]提出的CSK算法使用循環(huán)矩陣結(jié)構(gòu)進行相鄰幀的相關(guān)性檢測,利用灰度特征空間提高了算法的準(zhǔn)確性。文獻[15]在CSK的基礎(chǔ)上,通過循環(huán)偏移構(gòu)建分類器的訓(xùn)練樣本,使數(shù)據(jù)矩陣變成一個循環(huán)矩陣,同時引入HOG、顏色、灰度多通道特征,提高了算法的速度和準(zhǔn)確性。
傳統(tǒng)跟蹤算法大多數(shù)直接使用視頻圖像序列中的像素值特征進行建模,當(dāng)跟蹤過程中出現(xiàn)復(fù)雜場景等較大挑戰(zhàn)時,淺層的像素級特征無法很好應(yīng)對。針對卷積神經(jīng)網(wǎng)絡(luò)具有強大的特征提取功能,設(shè)計一種無需訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)特征提取方法,在粒子濾波框架下,利用核函數(shù)加速卷積運算,實現(xiàn)了一種快速卷積神經(jīng)網(wǎng)絡(luò)跟蹤算法,通過與其他算法的對比分析,最終驗證了所提出算法的有效性。
2013年以來,深度學(xué)習(xí)算法在跟蹤領(lǐng)域已經(jīng)取得了很大進展。如深度神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)等深度學(xué)習(xí)方法能夠挖掘出數(shù)據(jù)的多層表征,而高層級的表征更能夠反映數(shù)據(jù)更深層的本質(zhì),相比傳統(tǒng)淺層學(xué)習(xí)特征,基于高層次特征的跟蹤算法可以提高目標(biāo)的跟蹤效率[16]。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的網(wǎng)絡(luò)結(jié)構(gòu)類似于生物神經(jīng)網(wǎng)絡(luò),采用局部連接、權(quán)值共享和時空下采樣的思想降低了網(wǎng)絡(luò)復(fù)雜度,減少了權(quán)值數(shù)量,使得 CNN 在處理高維圖像時更具優(yōu)勢。
卷積神經(jīng)網(wǎng)絡(luò)具有多層性,在傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上增加了特征提取的卷積層和保證位移不變的下采樣層。每層由多個二維平面特征映射層組成,每個映射層由多個獨立的神經(jīng)元組成。卷積特征的提取首先對原始輸入圖像進行取片操作獲取大量小的局部塊,然后應(yīng)用卷積網(wǎng)絡(luò)模型對局部塊進行訓(xùn)練,得到結(jié)果為各個卷積層的神經(jīng)元卷積濾波器,與新輸入的樣本圖像進行卷積濾波,提取樣本圖的抽象卷積特征從而得到原始圖像的深度特征。如圖1所示,給出了一個簡單卷積特征提取結(jié)構(gòu),輸入圖像卷積后在C1層產(chǎn)生若干特征映射圖,然后特征映射圖中每組的若干像素再進行求和,加權(quán)值與偏置,通過一個激活函數(shù)(Sigmoid、Relu)得到S2層的特征映射圖,這些映射圖再經(jīng)過濾波得到C3層,這個層級結(jié)構(gòu)再和S2一樣產(chǎn)生S4。最終,這些像素值全連接成一個向量輸入到傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),得到輸出。
圖1 卷積特征提取結(jié)構(gòu)Fig. 1 Convolution feature extraction structure
深度學(xué)習(xí)在跟蹤領(lǐng)域面臨兩個重要問題:1)深度學(xué)習(xí)網(wǎng)絡(luò)在訓(xùn)練階段需要大量的樣本,而跟蹤領(lǐng)域僅能夠提供第一幀的目標(biāo)進行訓(xùn)練,面臨訓(xùn)練樣本缺少問題;2)采用深度學(xué)習(xí)的網(wǎng)絡(luò)模型運算時間復(fù)雜度大,跟蹤實時性低。
針對以上問題, N.Y. Wang等[17]提出DLT算法首次將深度學(xué)習(xí)算法應(yīng)用到跟蹤領(lǐng)域,在ImageNet數(shù)據(jù)集上使用棧式降噪自編碼器離線預(yù)訓(xùn)練來獲得通用的物體表征能力,并在跟蹤過程中更新自編碼器實現(xiàn)跟蹤;K. Zhang等[18]結(jié)合人腦視覺處理系統(tǒng),簡化了卷積網(wǎng)絡(luò)結(jié)構(gòu),使用目標(biāo)區(qū)域中隨機提取的歸一化圖像塊作為卷積神經(jīng)網(wǎng)絡(luò)的濾波器,從而實現(xiàn)了不用訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)的快速特征提取。文獻[19]中的MDNet算法提出將訓(xùn)練方法和訓(xùn)練數(shù)據(jù)交叉運用的思路,在檢測任務(wù)中重點關(guān)注背景中的難點樣本,顯著減輕了跟蹤器漂移問題。
深度學(xué)習(xí)算法需要搭建專用的深度學(xué)習(xí)硬件平臺,通過大量的前期預(yù)訓(xùn)練來訓(xùn)練神經(jīng)網(wǎng)絡(luò)提取深度特征,面臨樣本缺少,算法時間復(fù)雜度高,硬件運行平臺要求高,跟蹤實時性低等顯著缺點。本文結(jié)合卷積神經(jīng)網(wǎng)絡(luò)在特征提取時能夠獲得一定的平移、尺度和旋轉(zhuǎn)不變性且能夠大幅降低神經(jīng)網(wǎng)絡(luò)規(guī)模的特性,結(jié)合文獻[18]提出的無需訓(xùn)練的卷積特征提取方法,采用兩層前饋處理方式簡化卷積網(wǎng)絡(luò)結(jié)構(gòu),通過分層濾波器卷積來抽取目標(biāo)的高維抽象特征,利用高斯核函數(shù)進行運算加速,提出一種快速卷積神經(jīng)網(wǎng)絡(luò)跟蹤算法。
針對卷積計算時間復(fù)雜度過高問題,本文引入高斯核函數(shù)進行變換,對算法的卷積運算實現(xiàn)加速;針對深度學(xué)習(xí)算法訓(xùn)練樣本缺少的問題,本文采用簡單兩層前饋處理網(wǎng)絡(luò)實現(xiàn)一種無需訓(xùn)練的特征提取方法。
本文的卷積運算采用高斯核函數(shù)進行變換加速運算,文獻[15]采用子窗口高斯核函數(shù) k( x,x′)的快速計算方法,其向量表達式為
式中:“*”表示復(fù)共軛,d表示濾波器的個數(shù)。
假設(shè) φ (x)是一個高維核希爾伯特空間的映射,則核函數(shù) k (x,x′)= 〈φ(x),(x′)〉,權(quán)重可表示為v =數(shù)向量為 α , 其元素為 ai,最終要求解的參數(shù)由 v變 為 α ,因此,核正則化最小二乘分類器(kernelized regularized least square,KRLS)具有一個簡單的閉式解,即
式中: K 是核函數(shù)矩陣,矩陣元素為 Ki,j=k(xi,xj);I是單位矩陣;向量 y的 元素為 yi。 由于 K 為循環(huán)矩陣,則式(2)可轉(zhuǎn)換到DFT域,即
式中: k?xx′是核函數(shù)矩陣 K 的第一行元素組成的向量,符號 ∧表示傅里葉變換。KRLS分類器的閉式解可利用FFT快速得到。
本文利用卷積網(wǎng)絡(luò)設(shè)計一個分層的目標(biāo)表示結(jié)構(gòu)。在第1幀中,將目標(biāo)歸一化到 n ×n大小,從中隨機選取一部分重疊的小圖像塊組成一系列濾波器,用于同第t幀候選目標(biāo)框中所有抽取的圖像塊進行卷積,得到一系列局部特征的映射,提高候選目標(biāo)全局特性的魯棒性。
簡單層特征,通過預(yù)處理將圖像歸一化到n×n 大 小,對目標(biāo)區(qū)域利用 w ×w大小的滑動窗口進行采樣,得到長度為 L 的圖像塊組 X ,然后用K-means聚類的方法從 L =(n?w+1)2個圖像塊中聚類出 d 個圖像塊濾波器作為卷積核,記作Fd=輸入圖像I對應(yīng)的響應(yīng)為
跟蹤目標(biāo)周圍的上下文可為區(qū)分目標(biāo)和背景提供大量有用信息,對目標(biāo)周圍的區(qū)域隨機采樣出l個樣本,同樣進行K-means聚類獲得一組背景模板:
最后,由目標(biāo)卷積核減去背景卷積核與輸入圖像 I做卷積得到簡單層的特征表達:
復(fù)雜層特征,為了加強對目標(biāo)的特征表達,本文將 d個簡單層的特征進行堆疊,構(gòu)成一個3維張量來表示目標(biāo)的復(fù)雜層特征,記作:
這種特征具有平移不變特性,由于圖像歸一化后,使得特征對目標(biāo)的尺度具有魯棒性,且復(fù)雜層特征保留不同尺度目標(biāo)的局部幾何信息。文獻[20]表明可以通過一個淺層的神經(jīng)機制實現(xiàn)跟蹤,因此本文沒有使用高層次的對象模型而是利用一個簡單的模板匹配方案,結(jié)合粒子濾波實現(xiàn)跟蹤。
本文基于粒子濾波框架,設(shè)第t幀時總的觀測序列為 Zt={z1,z2,···,zt} ,則跟蹤主要是求出后驗概率p的最大值,根據(jù)貝葉斯理論,可知:
式中: St=[xtytst]T, xt、yt為 目標(biāo)的位置,st為尺度參數(shù); p (St|St?1)為 運動模型,用于根據(jù)第 t? 1幀的位置預(yù)測第t幀的位置,假設(shè)目標(biāo)狀態(tài)參數(shù)是相互獨立的,可用3個高斯分布來描述,從而運動模型即為布朗運動,于是
于是,整個跟蹤過程就是求最大響應(yīng):
前文給出了簡單前饋卷積網(wǎng)絡(luò)的特征提取方式,并采用高斯核函數(shù)對卷積計算進行加速處理,獲取目標(biāo)的深層次復(fù)雜表示?;谶@種卷積特征,結(jié)合粒子濾波,提出的跟蹤算法流程如圖2所示。
圖2 跟蹤算法流程圖Fig. 2 Tracking flow chart
跟蹤算法的主要步驟:
1)輸入:輸入視頻序列,并給定跟蹤目標(biāo)。
2)初始化:歸一化,粒子濾波,網(wǎng)絡(luò)規(guī)模,樣本容量等參數(shù)設(shè)置。
3)初始濾波器提?。豪玫谝粠哪繕?biāo),通過滑動窗口和K-means聚類提取一個初始濾波器組用作后續(xù)網(wǎng)絡(luò)的濾波器使用。
4)卷積特征提?。豪蒙衔牡木矸e網(wǎng)絡(luò)結(jié)構(gòu)提取出各候選樣本的深層抽象特征,并使用高斯核函數(shù)進行加速。
5)粒子濾波:按照粒子濾波算法,歸一化后生成規(guī)定尺寸大小的候選圖片樣本集,并進行目標(biāo)識別與匹配。
6)網(wǎng)絡(luò)更新:采取限定閾值的方式,即當(dāng)所有粒子中最高的置信值低于閾值時,認(rèn)為目標(biāo)特征發(fā)生較大表觀變化,當(dāng)前網(wǎng)絡(luò)已無法適應(yīng),需要進行更新。利用初始濾波器組,結(jié)合跟蹤過程中得到前景濾波器組,進行加權(quán)平均,得到全新的卷積網(wǎng)絡(luò)濾波器。
7)模板更新:以第一幀中目標(biāo)的中心點為中心,偏移量為±1個像素點范圍內(nèi)進行等尺寸采樣,構(gòu)成正樣本集合。以當(dāng)前幀目標(biāo)的遠近兩類距離采樣,構(gòu)成負樣本集合。跟蹤過程中為了減輕漂移現(xiàn)象,預(yù)設(shè)一個更新閾值f=5,目標(biāo)模板每5幀更新一次。
本文利用MATLAB2014a編程環(huán)境,PC配置為 Inter Core i3-3220,3.3 GHz,8 GB 內(nèi)存,根據(jù)Database OTB2013[3,21]中提供的測試視頻序列對算法進行了仿真分析。本文仿真參數(shù)設(shè)置為:滑動窗口取片尺寸為6×6,濾波器個數(shù)為100,歸一化尺寸為32×32,學(xué)習(xí)因子設(shè)置為0.95,粒子濾波器的目標(biāo)狀態(tài)的標(biāo)準(zhǔn)偏差設(shè)置為: σx=4,σy=4,σt=0.01,使用N = 300個粒子。
限于論文篇幅,本文僅給出幾組代表性的跟蹤實驗結(jié)果。如圖3(a)、(b)、(c)、(d)所示,比較的算法有 CT[7]、KCF[15]、CNT[18]與本文算法。圖示給出Crossing、Football、Walking、Walking2 四組序列,均存在目標(biāo)形變問題,其中Crossing、Walking、Walking2均是在低分辨率場景下的跟蹤,F(xiàn)ootball、Walking、Walking2均存在局部遮擋問題。對于Crossing序列,隨著目標(biāo)的運動導(dǎo)致目標(biāo)本身的尺度變化,在低分辨率監(jiān)控場景中,在第45幀,目標(biāo)在行進過程中面臨光線的干擾,并且出現(xiàn)運動車輛導(dǎo)致的背景干擾,在所有比較的算法中,同樣跟蹤成功,本算法性能都能達到最優(yōu)。對于Football序列,目標(biāo)在運動過程中,一直伴隨著大量的形變問題,整個視頻序列中大量的相似目標(biāo)導(dǎo)致背景干擾問題,在第150幀目標(biāo)進入人群中導(dǎo)致局部遮擋問題,本文算法在所有算法中表現(xiàn)最優(yōu)。對于Walking序列,目標(biāo)在監(jiān)控的低分辨場景中,目標(biāo)運動過程中伴隨著一定的尺度變換,并在第90幀出現(xiàn)柱子遮擋目標(biāo)的情況,本文算法在所有算法中表現(xiàn)最優(yōu)。對于Walking2序列,在監(jiān)控的低分辨場景中,目標(biāo)運動途中伴隨著尺度變換、遮擋、背景干擾。在第190幀與第360幀,目標(biāo)均面臨相似目標(biāo)的背景干擾與遮擋,本文算法在所有算法中表現(xiàn)最優(yōu)。
圖3 視頻序列跟蹤結(jié)果示例Fig. 3 Examples of the tracking results on video sequences
可見,本文算法在形變、遮擋、低分辨率等復(fù)雜背景干擾下均能取得有效的跟蹤效果。
為了測試算法性能,給出了部分序列的中心位置誤差與距離精度的具體數(shù)據(jù)[3,21]。中心位置誤差(center location error,CLE)表示目標(biāo)的中心位置與標(biāo)準(zhǔn)中心位置的歐氏距離的誤差,表達式為ε =是圖片序列的幀數(shù), Ci為目標(biāo)中心位置,為標(biāo)準(zhǔn)中心位置;距離精度(distance precision,DP)表示中心誤差小于一個給定閾值的幀的相對數(shù)量,表達式為 D P=,m為CLE小于某個固定閾值(實驗中均選為20像素)的圖片序列幀數(shù)。表1給出了算法的平均中心位置誤差的對比數(shù)據(jù),表2給出了算法的距離精度DP的對比數(shù)據(jù)。為保證數(shù)據(jù)真實性,本文所示數(shù)據(jù)均為5次實驗后取平均值。
表1 中心位置誤差(像素)Table 1 Center location error(pixels)
表2 距離精度DPTable 2 Distance Precision %
對于算法速度,同樣采用卷積網(wǎng)絡(luò)結(jié)構(gòu)提取特征的CNT算法,與本文算法在相同實驗環(huán)境下進行速度對比,CNT沒有采用高斯核函數(shù)進行加速,算法速度為1~2 f/s,本文算法采用高斯核函數(shù)進行加速,算法平均速度為5 f/s。由實驗可知,采用高斯核函數(shù)加速,在不影響跟蹤精度的同時能夠提升算法的速度。
實驗中,繪制了4種算法跟蹤精度曲線圖[4],跟蹤精度曲線圖首先設(shè)定一個目標(biāo)估計位置與真實位置的閾值距離,在跟蹤過程中,統(tǒng)計跟蹤算法估計的目標(biāo)位置與真實位置的距離小于閾值范圍的幀數(shù),并計算幀數(shù)占整個視頻幀的百分比。圖4給出了以上4種算法對應(yīng)的8個視頻序列的跟蹤精度曲線,橫坐標(biāo)為閾值,縱坐標(biāo)為精度,閾值越低而精度值越高的跟蹤器性能越好。由曲線圖可清晰地看到,本文算法具有較高的跟蹤精度。
圖4 跟蹤精度曲線圖Fig. 4 Tracking accuracy curve
本文針對深度學(xué)習(xí)跟蹤算法訓(xùn)練費時,硬件要求高等問題,采用高斯核函數(shù)加速計算,采用簡單兩層前饋卷積網(wǎng)絡(luò)提取目標(biāo)魯棒性特征,基于簡化的卷積神經(jīng)網(wǎng)絡(luò)提出跟蹤算法,第一層利用K-means在第一幀中提取歸一化圖像塊作為濾波器組提取目標(biāo)的簡單層特征,第二層將簡單的單元特征圖堆疊形成一個復(fù)雜的特征映射,并編碼目標(biāo)的局部結(jié)構(gòu)位置信息,在粒子濾波框架下,在目標(biāo)形變、遮擋、低分辨等場景下,脫離深度學(xué)習(xí)復(fù)雜的硬件環(huán)境,仍能取得較好跟蹤效果。因為本文的特征提取方式采用卷積神經(jīng)網(wǎng)絡(luò)特征,所以本文算法在快速運動、目標(biāo)出界等場景下仍面臨很大挑戰(zhàn),在今后的工作中,將主要致力于解決此類場景的跟蹤問題。