景慶陽,李 波
遼寧工業(yè)大學(xué) 電子與信息工程學(xué)院,遼寧 錦州121001
作為計(jì)算機(jī)視覺的重要組成部分,目標(biāo)跟蹤集圖像處理、模式識(shí)別及機(jī)器學(xué)習(xí)等于一身,在軍事謀劃、醫(yī)療診治,乃至日常生活等領(lǐng)域發(fā)揮著越來越重要的作用[1]。近年來,相關(guān)濾波類的方法因其速度優(yōu)勢逐漸成為研究熱點(diǎn)[2],將目標(biāo)跟蹤技術(shù)推向新的高度,得到廣泛認(rèn)可與應(yīng)用。
該研究起步于國外,Bolm提出最小平方誤差和輸出(Minimum Output Sum of Squared Error,MOSSE)算法,應(yīng)用快速傅里葉變換(Fast Fourier Transform,F(xiàn)FT)實(shí)現(xiàn)對(duì)目標(biāo)的快速跟蹤,至此Bolm成為將相關(guān)濾波器引入到目標(biāo)跟蹤的第一人[3]。基于MOSSE算法,Henriques等提出基于核循環(huán)結(jié)構(gòu)的檢測跟蹤(Circulant Structure of tracking-by-detection with Kernel,CSK)算法,運(yùn)用循環(huán)結(jié)構(gòu)的密度采樣方法,通過正則化最小二乘分類器來判別目標(biāo)[4]。為更好地實(shí)現(xiàn)目標(biāo)跟蹤,將CSK的灰度特征用方向梯度直方圖(Histogram of Oriented Gradient,HOG)特征代替[5],提出了具有多通道特征的KCF算法[6]。國內(nèi)學(xué)者在KCF算法原有基礎(chǔ)上層層遞進(jìn),文獻(xiàn)[7]引入了粒子濾波模型。盡管這種方法優(yōu)于標(biāo)準(zhǔn)濾波算法[8],但依然無法完好地應(yīng)對(duì)復(fù)雜多變的跟蹤場景。文獻(xiàn)[9]闡述了提升KCF算法速度的判別式相關(guān)濾波器在精確度方面未能達(dá)到理想效果。針對(duì)目標(biāo)在不斷運(yùn)動(dòng)的過程中難免出現(xiàn)尺度不確定等問題[10],為使目標(biāo)中心位置估計(jì)值更為準(zhǔn)確,本文針對(duì)分塊KCF算法進(jìn)行優(yōu)化。
角點(diǎn)涵蓋了圖像重要的結(jié)構(gòu)信息[11],是平面圖像亮度發(fā)生劇烈變化的點(diǎn)或邊緣曲線的曲率局部極大值點(diǎn),是圖像穩(wěn)定的稀疏特征,應(yīng)用于圖像處理等諸多領(lǐng)域[12]。角點(diǎn)檢測分為基于灰度強(qiáng)度檢測和基于邊緣輪廓檢測[13]。本文主要研究前者,該方法通過圖像局部灰度值變化的情況進(jìn)而檢測角點(diǎn)[14]。Morave首先發(fā)現(xiàn)不同區(qū)域灰度變化的模式存在明顯差異:同質(zhì)區(qū)域無論是何種方向,灰度變化都較小,但在邊緣處僅有垂直于邊緣脊方向時(shí)灰度的變化較大,角點(diǎn)處則為在多個(gè)方向擁有較大的灰度變化[15]。為對(duì)圖像局部的灰度變化進(jìn)行多尺度多方向的刻畫,小波變換的運(yùn)用將獲取的結(jié)構(gòu)信息完整地嵌入Harris框架中,便于實(shí)現(xiàn)角點(diǎn)檢測[16]。為在提取圖像灰度變化信息的同時(shí)減少運(yùn)算量,Gabor小波應(yīng)用于角點(diǎn)檢測算法中[17],其性能有進(jìn)一步的提升。由于Harris檢測算子在光照變化等問題上有一定的不變性[18],可用Harris角點(diǎn)代替用廣義霍夫算法提取的邊緣點(diǎn),從而實(shí)現(xiàn)目標(biāo)位置的預(yù)測。
綜上,本文的研究創(chuàng)新性在以下方面得以體現(xiàn):
(1)采用Harris角點(diǎn)代替廣義霍夫的邊緣點(diǎn),減小了因光照變化邊緣點(diǎn)提取不完整而導(dǎo)致的誤差。此外,數(shù)量適宜的角點(diǎn)還抑制了冗余邊緣點(diǎn)導(dǎo)致的速度陡降問題。引入自適應(yīng)閾值法,削弱噪聲對(duì)角點(diǎn)提取過程的影響。
(2)當(dāng)目標(biāo)尺度發(fā)生較大變化時(shí),KCF算法易丟失跟蹤目標(biāo)。本文將目標(biāo)分塊并利用子塊間相對(duì)位置關(guān)系找到目標(biāo)的中心點(diǎn),用以提升KCF算法的準(zhǔn)確度。
(3)當(dāng)目標(biāo)存在遮擋時(shí),KCF算法的學(xué)習(xí)率無法隨實(shí)際檢測場景發(fā)生相應(yīng)的變化。本文引入了學(xué)習(xí)率參數(shù)對(duì)其自適應(yīng)更新,以降低學(xué)習(xí)率從而減少模型更新的誤差。
(4)當(dāng)目標(biāo)快速運(yùn)動(dòng)時(shí),KCF算法因結(jié)果易偏移而導(dǎo)致跟蹤偏差。本文用交并比(Intersection Over Union,IOU)與匈牙利算法將多目標(biāo)一一對(duì)應(yīng),取出相應(yīng)的中心點(diǎn)坐標(biāo),再用Harris改進(jìn)的廣義霍夫算法得出的目標(biāo)位置校正優(yōu)化KCF算法的結(jié)果,抑制跟蹤框的漂移現(xiàn)象,防止結(jié)果偏移的蔓延,提高目標(biāo)跟蹤的普適性與可靠性。
角點(diǎn)檢測算法的核心思想:用一個(gè)固定窗口在圖像上滑動(dòng),比較滑動(dòng)前與滑動(dòng)后窗口中像素灰度值的變化程度。若任意方向滑動(dòng),都發(fā)生較大的灰度變化,則窗口中存在角點(diǎn)。由于標(biāo)準(zhǔn)的角點(diǎn)檢測有噪聲等情況的干擾[19],Harris角點(diǎn)檢測算法應(yīng)運(yùn)而生。當(dāng)窗口的偏移量為[j,q]時(shí),計(jì)算灰度變化值[20],將特征點(diǎn)和非特征點(diǎn)分離,滑動(dòng)前后窗口中的灰度變化為:
其中,I為圖像的灰度,window(x,y)是高斯窗函數(shù)。由泰勒公式可知:
其中,Ix和Iy分別為x,y方向的偏導(dǎo)數(shù),反映每個(gè)像素點(diǎn)圖像灰度變化方向??蓪⑹剑?)寫成矩陣形式:
角點(diǎn)響應(yīng)函數(shù)R可判斷像素點(diǎn)是否為角點(diǎn):
其中,ε取[0.04,0.06],determinant(M)=λ1×λ2,trM=λ1+λ2,determinant(M)為矩陣M的行列式,trM為矩陣M的跡,λ1和λ2為矩陣M的特征值。由此可知,角點(diǎn)的判斷只與特征值有關(guān)[21]。根據(jù)特征值大小,像素點(diǎn)可按照?qǐng)D1方式劃分。
圖1 角點(diǎn)判定方法Fig.1 Method of judging corner point
通常,只有給出合理的閾值才能提取出準(zhǔn)確的角點(diǎn)[22]。若閾值選取過大,像素點(diǎn)的灰度值變化較大時(shí),該點(diǎn)才能成為角點(diǎn),從而易導(dǎo)致應(yīng)有角點(diǎn)的丟失;若閾值選取過小,即使灰度值變化較小,該像素點(diǎn)亦可能成為角點(diǎn),導(dǎo)致出現(xiàn)大量的偽角點(diǎn)。同時(shí),某一特定閾值未必在各種圖像中都能得到理想效果,普適性較差。只有找到每一圖像的最佳閾值,Harris角點(diǎn)檢測算法才能得到理想的角點(diǎn)。由于目前人為改變閾值的效率較低,故本文用自適應(yīng)閾值來改進(jìn)Harris角點(diǎn)檢測算法。
通過觀察并記錄大量圖像的R值找出每一圖像的Rmax,其分布情況如圖2所示,經(jīng)分析得出:Rmax=u×108,其中u>0。定義Harris角點(diǎn)檢測閾值T=k×Rmax,經(jīng)大量實(shí)驗(yàn)可得:當(dāng)05時(shí)灰度值波動(dòng)較大,k取經(jīng)驗(yàn)值0.01。按公式(7)的方式,可有效減少偽角點(diǎn)的存在。
圖2 最大值分布情況Fig.2 Distribution of maximum value
目標(biāo)邊緣是特征突變的分水嶺,包含著豐富的信息且不確定性較強(qiáng)。當(dāng)目標(biāo)形狀不規(guī)則且無固定表達(dá)式時(shí),廣義霍夫算法可通過提取邊緣點(diǎn)、生成特征向量來描繪目標(biāo)形狀,即找出相應(yīng)的轉(zhuǎn)換矩陣并確定參數(shù),使目標(biāo)邊緣輪廓與其在場景中出現(xiàn)的位置匹配并構(gòu)建參考點(diǎn)與邊緣點(diǎn)間的位置關(guān)系,最終確定目標(biāo)中心位置。
對(duì)于實(shí)際檢測場景來說,邊緣點(diǎn)較為冗余,易導(dǎo)致后續(xù)R-table表及累加器建立時(shí)間較長、實(shí)時(shí)性較差。由于實(shí)時(shí)性是評(píng)價(jià)算法能否應(yīng)用于實(shí)際的重要前提,故本文用改進(jìn)的Harris角點(diǎn)代替廣義霍夫邊緣點(diǎn)滿足準(zhǔn)確性與實(shí)時(shí)性的雙重要求,該方法能根據(jù)圖像的情況,自適應(yīng)計(jì)算閾值并找到目標(biāo)角點(diǎn)。
此外,邊緣輪廓的描繪是廣義霍夫算法的步驟之一。當(dāng)目標(biāo)檢測場景發(fā)生光照變化或存在噪聲時(shí),截取的幀圖像中像素點(diǎn)發(fā)生不同程度的變化,目標(biāo)邊緣與背景的區(qū)分度也隨之變化,對(duì)邊緣點(diǎn)的提取造成一定干擾,導(dǎo)致目標(biāo)中心位置偏差。Harris角點(diǎn)的替換可大幅降低在光照及噪聲變化條件下邊緣點(diǎn)不完整提取或重復(fù)提取對(duì)目標(biāo)中心位置的影響。結(jié)合自適應(yīng)閾值描繪真實(shí)目標(biāo)的形態(tài)學(xué)與動(dòng)力學(xué)特性,弱化孤立噪聲點(diǎn)與干擾點(diǎn)的影響,增強(qiáng)目標(biāo)邊緣點(diǎn)以平滑目標(biāo)邊緣輪廓,再現(xiàn)目標(biāo)真實(shí)形狀,免去繁瑣的手動(dòng)校調(diào)閾值工作。
KCF算法運(yùn)用核化判別分類器[23],跟蹤過程即為訓(xùn)練目標(biāo)檢測器的過程,用目標(biāo)檢測器來檢測下一幀預(yù)測位置是否是目標(biāo)中心位置,然后用新的檢測結(jié)果來更新訓(xùn)練集,進(jìn)而更新目標(biāo)檢測器。訓(xùn)練目標(biāo)檢測器時(shí)用循環(huán)移位操作構(gòu)造更多的樣本[24]。該訓(xùn)練過程是一脊回歸過程,設(shè)訓(xùn)練樣本集為(xp,yp),訓(xùn)練目的就是找到一個(gè)線性回歸函數(shù):f(z)=wTz,使誤差函數(shù)Y最小。
其中,ξ可控制系統(tǒng)結(jié)構(gòu)的復(fù)雜性,w為列向量,表示權(quán)重系數(shù),通過最小二乘法可求解。將上述誤差函數(shù)寫成矩陣形式為:
其中,X=[x1,x2,…,xn]T,y為列向量,每一元素對(duì)應(yīng)一樣本標(biāo)簽,F(xiàn)為離散傅里葉變換矩陣,F(xiàn)H為其復(fù)共軛轉(zhuǎn)置矩陣。于是,可求得:
由于目標(biāo)大多為非線性,引入核函數(shù)在將低維空間的x和y由φ(?)函數(shù)映射到高維核空間得到φ(x)和φ(y),高維數(shù)據(jù)的點(diǎn)積轉(zhuǎn)換為低維空間核函數(shù)的運(yùn)算。
這時(shí)權(quán)重向量w可表示為:
其中,符號(hào)“∧”表示向量FFT變換,kernel表示核輸出:kernelxy=kernel(x,y)=φT(x)φ(y)。將求w的過程轉(zhuǎn)化為求α,可降低計(jì)算的復(fù)雜度,使算法高效的進(jìn)行。此時(shí),樣本的響應(yīng)為:
其中,F(xiàn)-1表示傅里葉逆變換,f(z)中最大值對(duì)應(yīng)的位置即為目標(biāo)所在的位置。
當(dāng)跟蹤過程中目標(biāo)尺度發(fā)生變化時(shí)[25],KCF算法因模板框的尺寸固定而無法精準(zhǔn)描述目標(biāo)[26],導(dǎo)致跟蹤結(jié)果精確度的降低。若第t+1幀目標(biāo)尺度大于第t幀,此時(shí)KCF算法因模板框過小而導(dǎo)致跟蹤結(jié)果不完整;若第t+1幀目標(biāo)尺度小于第t幀,則因模板框過大易混入其他目標(biāo),使目標(biāo)中心位置存在明顯偏差。
本文針對(duì)以上不足做出相應(yīng)改進(jìn):將目標(biāo)按照外觀特性分塊,對(duì)每一目標(biāo)子塊進(jìn)行單獨(dú)跟蹤,根據(jù)各子塊間位置的約束關(guān)系進(jìn)而得到目標(biāo)整體的中心位置。雖然采用該方法子塊的模板框尺寸也固定,但子塊間的相對(duì)位置會(huì)隨著目標(biāo)大小的變化而變化。若目標(biāo)變小,各子塊間距離也變小而使子塊重疊;若目標(biāo)變大,各子塊間距離也隨之變大。因此,該方法可提高KCF算法的魯棒性,解決由尺度變化而導(dǎo)致的準(zhǔn)確度下降問題。
分塊的方式及數(shù)量與目標(biāo)實(shí)際的尺寸、被遮擋的位置及面積大小等因素息息相關(guān)。若子塊數(shù)量過多,不但會(huì)增加計(jì)算量、影響算法的實(shí)時(shí)性,而且每一子塊的覆蓋面積過小、所含特征信息較少,易導(dǎo)致跟蹤受到干擾使跟蹤框漂移;子塊數(shù)量過少,由于確定目標(biāo)整體的中心位置存在偶然性,風(fēng)險(xiǎn)性較大,易引起算法跟蹤性能的下降。經(jīng)大量實(shí)驗(yàn)統(tǒng)計(jì),當(dāng)子塊跟蹤框大小為目標(biāo)尺寸的1/4~1/6時(shí),跟蹤得到的中心位置與實(shí)際位置最為接近。此外,目標(biāo)子塊間應(yīng)存在一定的區(qū)分性,若相似度過高,追蹤器易被引導(dǎo)至相似的目標(biāo)子塊。
具體分塊方式如下:首先計(jì)算目標(biāo)縱橫比,據(jù)此對(duì)目標(biāo)進(jìn)行分塊處理。當(dāng)目標(biāo)的縱橫比較閾值T1大時(shí),將目標(biāo)水平等分;當(dāng)目標(biāo)的縱橫比較閾值T2小時(shí),將目標(biāo)豎直等分;當(dāng)T2<目標(biāo)縱橫比 將目標(biāo)分成均勻的m個(gè)子塊后,找出每一滑動(dòng)窗口與目標(biāo)子塊間特征向量相似度的最大值,該最大值對(duì)應(yīng)的目標(biāo)子塊構(gòu)成候選塊。 峰值旁瓣比(Peak Sidelobe Ratio,PSR)可用來檢測跟蹤結(jié)果的置信度[27]。PSR值越大,響應(yīng)圖的相關(guān)峰就越尖銳,當(dāng)前幀和前一幀的匹配程度就越高。PSR值越低,目標(biāo)子塊的遮擋情況就越嚴(yán)重[28]。本文剔除PSR值較低的子塊對(duì)模型更新,具體如下: 其中,ψi為第i個(gè)子塊的權(quán)重。 當(dāng)目標(biāo)存在遮擋時(shí),降低學(xué)習(xí)率可減少模型更新的誤差。但KCF算法中該參數(shù)無法隨周圍場景自適應(yīng)變化,目標(biāo)模型只在當(dāng)前幀更新,導(dǎo)致跟蹤結(jié)果不理想。對(duì)此,本文采用自適應(yīng)更新學(xué)習(xí)率參數(shù)的方法,通過系數(shù)θ的引入降低學(xué)習(xí)率,解決目標(biāo)被遮擋時(shí)跟蹤結(jié)果不準(zhǔn)確的問題,其更新方式如下: 用Harris角點(diǎn)建立R-table表來獲取目標(biāo)位置,具體步驟如下: (1)確定參考點(diǎn)。參考點(diǎn)為前一幀的跟蹤點(diǎn),若為首幀,則參考點(diǎn)為最初跟蹤點(diǎn)。 (2)計(jì)算角點(diǎn)梯度角。獲取目標(biāo)Harris角點(diǎn)并計(jì)算每個(gè)角點(diǎn)當(dāng)前幀的梯度角φs與其對(duì)應(yīng)的行索引s,建立如表1所示R-table表。其中,φs為梯度角,a為參考點(diǎn),r為Harris角點(diǎn)與參考點(diǎn)的相對(duì)矢量,B為角點(diǎn)集合,Δφ的選取與R-table表的行數(shù)和梯度角的范圍有關(guān)。 表1 R-table表Table 1 R-table table (3)計(jì)算參考點(diǎn)坐標(biāo)。當(dāng)下一幀來臨時(shí),找到Harris角點(diǎn)的坐標(biāo)并計(jì)算其梯度角,對(duì)應(yīng)到R-table表中的相應(yīng)行,求出與每個(gè)角點(diǎn)相對(duì)應(yīng)參考點(diǎn)的坐標(biāo)。計(jì)算累加器Acc,最大值對(duì)應(yīng)的坐標(biāo)為該幀跟蹤點(diǎn)即參考點(diǎn)坐標(biāo)。 (4)重復(fù)步驟(1)~(3),直到最后一幀為止。 在第t幀KCF跟蹤器追蹤到a?個(gè)目標(biāo)得到a?個(gè)預(yù)測框。在第t+1幀追蹤到c?個(gè)目標(biāo)得到c?個(gè)真實(shí)框,構(gòu)建一個(gè)大小為c?×a?的IOU矩陣,求法如公式(23)所示: 其中,?1,?2為目標(biāo)框,Area為目標(biāo)框的面積。 每一元素都表示兩個(gè)目標(biāo)框的重疊率。鑒于后續(xù)算法的需求該矩陣需為一方陣,若該矩陣行數(shù)與列數(shù)不相同需要用零補(bǔ)齊。采用匈牙利算法對(duì)該矩陣求最優(yōu)解,找到第t幀與第t+1幀每個(gè)目標(biāo)間的最優(yōu)關(guān)聯(lián)。由于目標(biāo)框之間重疊部分越大越優(yōu)與匈牙利標(biāo)準(zhǔn)算法中越小越優(yōu)具有一定的沖突,因此先對(duì)矩陣中的每一元素取反,再運(yùn)用匈牙利算法進(jìn)行計(jì)算,可得KCF算法對(duì)應(yīng)目標(biāo)的序號(hào),步驟如下: (1)對(duì)矩陣的每一行減去該行元素的最小值。 (2)對(duì)矩陣的每一列減去該列元素的最小值。 (3)在所用行數(shù)或列數(shù)最少的同時(shí)覆蓋所有的零元素。若所用行列數(shù)總和小于該矩陣的大小,則繼續(xù)步驟(4);若所用行列數(shù)總和等于該矩陣的大小,則此時(shí)即為最佳匹配,匈牙利算法終止。 (4)找到矩陣中沒被覆蓋的最小元素,在所有沒被覆蓋元素的基礎(chǔ)上減去該值,在所有被覆蓋兩次元素的基礎(chǔ)上加上該值,返回步驟(3)。 將用改進(jìn)的Harris角點(diǎn)檢測算法與用優(yōu)化的KCF算法得到的目標(biāo)位置進(jìn)行相互校正:設(shè)在某一時(shí)刻最終得到的1號(hào)目標(biāo)位置O的坐標(biāo)為(x,y),經(jīng)改進(jìn)的Harris角點(diǎn)檢測算法與改進(jìn)的KCF算法得到的n組1號(hào)目標(biāo)坐標(biāo)分別為(x1,y1),(x2,y2),…,(xn,yn)。且與O點(diǎn)距離分別為e1,e2,…,en,如圖3所示。 圖3 目標(biāo)位置示意圖Fig.3 Schematic diagram of target position 然后,取出用兩種算法得到的2號(hào)目標(biāo)在不同采樣時(shí)刻的位置,并用上訴方法計(jì)算其最終位置,依次類推。最后,結(jié)合各個(gè)目標(biāo)的中心位置與其用廣義霍夫算法描繪出的輪廓再次進(jìn)行跟蹤,以阻止快速運(yùn)動(dòng)時(shí)目標(biāo)框偏移現(xiàn)象的發(fā)生。 本次實(shí)驗(yàn)采用Windows7 64bit PC操作系統(tǒng),在主頻為1.50 GHz,4 GB內(nèi)存的配置環(huán)境下實(shí)現(xiàn)。其中,車的采集場景幀寬為1 280像素,幀高為720像素,速率為28幀/s。為準(zhǔn)確分析并驗(yàn)證結(jié)合改進(jìn)角點(diǎn)檢測的優(yōu)化核相關(guān)濾波方法的性能,采用MATLAB將多樣例學(xué)習(xí)(Multiple Instance Learning,MIL)算法,跟蹤學(xué)習(xí)檢測(Tracking Learning Detection,TLD)算法,Boosting與KCF算法進(jìn)行比較,具體參數(shù)設(shè)置如下:閾值T1=1.4,T2=0.6,學(xué)習(xí)率η=0.025,調(diào)節(jié)系數(shù)μ=0.85,面積因子ζ=0.3,遮擋閾值λc=0.8。這里,分塊KCF算法的分塊數(shù)量及方式隨檢測場景與目標(biāo)縱橫比的不同而變化。 精確度可用來衡量被跟蹤目標(biāo)的位置是否準(zhǔn)確,中心位置誤差(Center Location Error,CLE)的大小體現(xiàn)了結(jié)果精確的程度。在幀圖像中,CLE為跟蹤得到的目標(biāo)中心坐標(biāo)與真實(shí)位置之間的歐氏距離: 若CLE大于所設(shè)精確度閾值,則當(dāng)前幀的跟蹤結(jié)果不準(zhǔn)確;若CLE小于該閾值,則當(dāng)前幀的跟蹤結(jié)果較為準(zhǔn)確,且CLE值越小結(jié)果就越為精確。通常,精確度圖橫軸是CLE閾值,縱軸是CLE值小于該閾值的幀數(shù)占總幀數(shù)的比值(即精確度),由此可得隨著閾值的變化精確度的波動(dòng)情況。 成功率是衡量跟蹤結(jié)果準(zhǔn)確與否的另一標(biāo)準(zhǔn),通過邊界框重疊率(Overlap Rate,OR)來體現(xiàn)。OR為跟蹤得到的目標(biāo)框區(qū)域與真實(shí)標(biāo)注目標(biāo)框的重疊的程度: 其中,Ut為第t幀經(jīng)跟蹤獲得的目標(biāo)框的區(qū)域?yàn)樵搸瑯?biāo)注的目標(biāo)框的區(qū)域。 若OR大于所設(shè)成功率閾值,則當(dāng)前幀對(duì)目標(biāo)的跟蹤較為成功;若OR小于該閾值,則當(dāng)前幀跟蹤存在失誤。通常,成功率圖橫軸為OR閾值,縱軸為OR值大于該閾值的幀數(shù)占總幀數(shù)的比值(成功率),由此可得隨著閾值的變化成功率的浮動(dòng)情況。OTB數(shù)據(jù)集中的視頻序列有11種屬性,代表了視覺跟蹤的不同挑戰(zhàn)場景,現(xiàn)用一遍過評(píng)測(One-Pass Evaluation,OPE)方式對(duì)比本文算法與多種當(dāng)前流行算法的精確度、成功率等性能。 圖4為在光照變化、尺度變化、遮擋、快速運(yùn)動(dòng)四種屬性中,不同算法精確度和成功率曲線的整體性能對(duì)比。可以看出,當(dāng)CLE的閾值取不同值時(shí)精確度的變化及當(dāng)OR的閾值發(fā)生不同程度的變化時(shí)成功率的變化。當(dāng)CLE的閾值為20,OR的閾值為0.5時(shí),KCF算法的精確度和成功率分別為0.743和0.805,MIL為0.691和0.693,Boosting為0.658和0.695,TLD為0.632和0.734。本文方法由于角點(diǎn)的引入、目標(biāo)的分塊、學(xué)習(xí)率的降低及中心位置的校正,精確度和成功率分別為0.759和0.817。由此,本文方法無論是從精確度還是成功率方面來說較其他跟蹤算法都有較為明顯優(yōu)勢。 圖4 精確度與成功率對(duì)比結(jié)果Fig.4 Comparison results of precision and success rate 為深入研究本文方法的優(yōu)越性,分別在OTB數(shù)據(jù)集和實(shí)際檢測場景中對(duì)跟蹤算法性能進(jìn)行測試。 圖5為從OTB100中選取的具有代表性的幀圖像與其用各種算法進(jìn)行實(shí)驗(yàn)的結(jié)果。圖5(a)是KCF與本文方法的跟蹤結(jié)果,圖5(b)是廣義霍夫算法描繪出的目標(biāo)輪廓。較其他算法而言,本文方法在兼有光照變化、尺度變化及遮擋屬性的數(shù)據(jù)集中跟蹤準(zhǔn)確度較高。 圖5 單目標(biāo)跟蹤結(jié)果Fig.5 Tracking results of single target 圖6為采用各種跟蹤算法圖5中的目標(biāo)在x和y方向的位置,可以看出無論是x方向還是y方向,代表本文方法的線離目標(biāo)實(shí)際位置的線更近。由于光照變化廣義霍夫算法只能描繪目標(biāo)的部分形狀,本文方法用Harris角點(diǎn)代替邊緣點(diǎn)而使中心坐標(biāo)更為精準(zhǔn)。本文因?qū)W習(xí)率參數(shù)及分塊方法的引入將手的遮擋及目標(biāo)大小的變化對(duì)KCF算法的影響降為最低。由圖可知,本文方法的跟蹤結(jié)果比其他算法更接近目標(biāo)真實(shí)位置。 圖6 單目標(biāo)中心位置對(duì)比Fig.6 Center position comparison of single target 圖7為在實(shí)際檢測場景中第2幀、第20幀與第40幀各種算法的跟蹤結(jié)果。圖7(a)是該場景中采用KCF算法與本文方法得出的結(jié)果,圖7(b)是2號(hào)目標(biāo)用廣義霍夫算法檢測的結(jié)果。當(dāng)目標(biāo)尺度發(fā)生變化時(shí),KCF算法跟蹤框的位置稍有偏差,但本文采用的分塊方法能夠根據(jù)目標(biāo)尺度調(diào)整跟蹤框的大小及位置。同時(shí)由于圖中存在快速運(yùn)動(dòng),廣義霍夫算法不能完整地描繪出目標(biāo)輪廓。由實(shí)驗(yàn)結(jié)果可知,本文方法由于多種算法的融合而不受快速運(yùn)動(dòng)的影響。 圖7 多目標(biāo)跟蹤結(jié)果Fig.7 Tracking results of multiple targets 如表2所示,與廣義霍夫算法相比,經(jīng)Harris角點(diǎn)改進(jìn)的廣義霍夫算法離目標(biāo)真實(shí)位置更近。本文所提方法在分別對(duì)KCF與廣義霍夫算法改進(jìn)的基礎(chǔ)上,運(yùn)用智能算法約束兩者的位置關(guān)系,達(dá)到輸入端相互校正目的,該方法比其他改進(jìn)算法更接近真實(shí)位置。經(jīng)分析發(fā)現(xiàn),結(jié)合改進(jìn)角點(diǎn)檢測的優(yōu)化核相關(guān)濾波方法在遮擋等尤為復(fù)雜的環(huán)境中能夠突破常見跟蹤算法有效性與可靠性之間的相互制約關(guān)系,獲得較為理想的跟蹤效果。 表2 多目標(biāo)中心位置對(duì)比Table 2 Center position comparison of multiple targets 表3為各種跟蹤算法在圖7所示場景中的速度。由表可知,KCF算法速度最優(yōu)為96.88幀/s,本文方法速度為32.95幀/s。該方法由于融合了廣義霍夫、Harris角點(diǎn)檢測等算法而不可避免地導(dǎo)致所需的時(shí)間較長,但能夠大幅提升算法的跟蹤精度。Boosting、TLD、MIL算法由于跟蹤器存在不足而導(dǎo)致速度一般。廣義霍夫算法由于提取的邊緣點(diǎn)冗余,速度不到1幀/s,而用Harris角點(diǎn)代替邊緣點(diǎn)后效果較為明顯,速度有了大幅提升。 表3 多種算法速度對(duì)比Table 3 Speed comparison of multiple algorithms 由于實(shí)際場景中有時(shí)存在測量噪聲,圖8的信噪比(Signal to Noise Ratio,SNR)為51 dB,本文在該場景中進(jìn)行魯棒性測試,檢測跟蹤性能。由于天氣原因,目標(biāo)在快速運(yùn)動(dòng)過程中檢測場景亦存在光照變化,廣義霍夫算法輪廓的完整度有待提升。隨著目標(biāo)由遠(yuǎn)及近的變化,KCF算法的跟蹤框不能隨目標(biāo)尺度變化而自適應(yīng)調(diào)整。在第4幀圖像中,目標(biāo)2被目標(biāo)3遮擋,此時(shí)KCF算法的跟蹤偏差較為明顯,但本文方法在復(fù)雜的環(huán)境中,能夠有效跟蹤目標(biāo),保證跟蹤的精確度。 圖8 魯棒性測試Fig.8 Robustness test 由表4可知,用Harris角點(diǎn)代替邊緣點(diǎn),在光照變化、尺度變化、遮擋、快速運(yùn)動(dòng)四種屬性中,都能夠提升廣義霍夫算法的精確度,其中光照變化條件下對(duì)精確度的提升最為明顯。用自適應(yīng)閾值法優(yōu)化角點(diǎn),可在原有基礎(chǔ)上進(jìn)一步提升算法精確度。因此,該閾值設(shè)置適用于大多數(shù)檢測場景,普適性較強(qiáng)。 表4 廣義霍夫算法改進(jìn)前后精確度對(duì)比Table 4 Precision comparison of generalized Hough algorithm before and after improvement 不同信噪比下的平均精確度如圖9所示。隨著信噪比的上升,魯棒性測試結(jié)果的平均精確度也越來越高。經(jīng)統(tǒng)計(jì),當(dāng)信噪比為55 dB時(shí),精確度仍高于0.95。實(shí)驗(yàn)表明,本文方法有較強(qiáng)的魯棒性。 圖9 不同信噪比下精確度對(duì)比Fig.9 Precision comparison under different SNR 圖10給出了當(dāng)椒鹽噪聲的密度為1%時(shí)多種算法的跟蹤結(jié)果,圖10(a)為用KCF算法與本文方法跟蹤的結(jié)果,圖10(b)進(jìn)一步描繪出采用廣義霍夫算法時(shí)目標(biāo)1的輪廓。可以看出,在第15幀及38幀時(shí),目標(biāo)1被遮擋嚴(yán)重,廣義霍夫算法無法準(zhǔn)確描繪目標(biāo),KCF算法中心位置偏移。在第72幀處光照發(fā)生明顯變化,對(duì)廣義霍夫算法影響較大。即使沒有出現(xiàn)遮擋,但所描繪的目標(biāo)輪廓仍不完整。隨著圖中的目標(biāo)與鏡頭間距離的改變,目標(biāo)發(fā)生尺度變化,但KCF算法的跟蹤框無法隨目標(biāo)的大小自適應(yīng)調(diào)節(jié)。目標(biāo)在快速運(yùn)動(dòng)的過程中亦發(fā)生形變,其余算法得到的中心位置均出現(xiàn)較明顯誤差。由本實(shí)驗(yàn)可知,當(dāng)目標(biāo)處于兼有遮擋、光照變化、尺度變化、快速運(yùn)動(dòng)等屬性的復(fù)雜檢測場景時(shí),跟蹤結(jié)果仍有較高的可靠性。 圖10 椒鹽噪聲下的結(jié)果Fig.10 Results under salt-and-pepper noise 跟蹤算法目標(biāo)框的中心坐標(biāo)與真實(shí)坐標(biāo)間的歐式距離平均值為衡量跟蹤準(zhǔn)確程度的又一評(píng)估標(biāo)準(zhǔn)。表5所示中心位置的誤差越小,跟蹤算法的平均精確度越高。隨著噪聲密度的增加,各算法的跟蹤誤差呈上升趨勢,但本文方法由于采用自適應(yīng)閾值對(duì)Harris角點(diǎn)進(jìn)行改進(jìn),弱化了孤立噪聲點(diǎn)的干擾,增強(qiáng)了目標(biāo)邊緣輪廓。在所列不同強(qiáng)度噪聲的干擾下,處理目標(biāo)跟蹤問題的能力始終優(yōu)于其他算法。由實(shí)驗(yàn)數(shù)據(jù)可知,在圖10所示復(fù)雜檢測場景中,較KCF算法而言,廣義霍夫算法在光照變化等多種屬性的影響下,中心位置誤差偏大,平均精確度偏低。 表5 不同強(qiáng)度噪聲對(duì)算法性能的影響Table 5 Influence of noise with different intensity on algorithm performance 結(jié)合改進(jìn)角點(diǎn)檢測的優(yōu)化核相關(guān)濾波方法,用自適應(yīng)閾值準(zhǔn)確找到幀圖像的目標(biāo)角點(diǎn)并有效去噪,同時(shí)降低光照變化條件下邊緣點(diǎn)提取不完整對(duì)跟蹤結(jié)果的影響。針對(duì)目標(biāo)尺度變化引起的結(jié)果偏移問題,文中對(duì)目標(biāo)進(jìn)行分塊處理、子塊進(jìn)行單獨(dú)跟蹤,根據(jù)各子塊的中心坐標(biāo)獲得整體的位置。通過調(diào)整學(xué)習(xí)率參數(shù)降低KCF算法的學(xué)習(xí)率,解決目標(biāo)存在遮擋時(shí)模型更新的誤差問題。用已知的Harris角點(diǎn)建立R-table表得到目標(biāo)位置,由匈牙利算法確定IOU數(shù)據(jù)間的最優(yōu)關(guān)聯(lián),并綜合兩種方法得到的位置坐標(biāo)與廣義霍夫算法描繪的輪廓得到目標(biāo)快速運(yùn)動(dòng)時(shí)的最優(yōu)結(jié)果。實(shí)驗(yàn)結(jié)果表明,該方法可解決KCF算法在光照變化、尺度變化、遮擋、快速運(yùn)動(dòng)等屬性中目標(biāo)漂移與跟蹤丟失的問題,大幅提升跟蹤結(jié)果的精確度。 當(dāng)非剛性物體遮擋較為嚴(yán)重時(shí),本文方法跟蹤速度稍顯遜色。因此,如何在保證精確度和成功率的同時(shí)提高跟蹤的實(shí)時(shí)性是接下來研究的重點(diǎn)。2.3 模型更新
3 信息融合方法
4 實(shí)驗(yàn)分析
4.1 實(shí)驗(yàn)環(huán)境
4.2 評(píng)估標(biāo)準(zhǔn)與定量分析
4.3 實(shí)驗(yàn)數(shù)據(jù)與仿真分析
5 結(jié)語