楊昊瑜,戴華林,王 麗*,張 蕊
(1.天津城建大學(xué) 計(jì)算機(jī)與信息工程學(xué)院學(xué)院,天津 300384;2.天津職業(yè)技術(shù)師范大學(xué) 汽車與交通學(xué)院,天津 300222)
目標(biāo)跟蹤作為視頻安防系統(tǒng)的重要組成部分,在交通監(jiān)控、無(wú)人駕駛、汽車安全、車輛定位等領(lǐng)域均獲得廣泛應(yīng)用[1]。但由于汽車移動(dòng)的不定向、場(chǎng)景的復(fù)雜性等因素[2],汽車的跟蹤效果不易達(dá)到最理想狀態(tài)?;诨叶绕ヅ涞臋z測(cè)方法[3],以空間滑動(dòng)模板完成圖像匹配,應(yīng)用于目標(biāo)跟蹤具有較高的準(zhǔn)確率,但該方法計(jì)算量較大,且跟蹤結(jié)果易受目標(biāo)旋轉(zhuǎn)變化的影響;基于卡爾曼濾波跟蹤車輛[4],對(duì)目標(biāo)狀態(tài)估計(jì)最優(yōu),但當(dāng)目標(biāo)角度發(fā)生變化時(shí)存在誤匹配的現(xiàn)象;基于TLD的目標(biāo)跟蹤算法[5],是一種穩(wěn)定的、自適應(yīng)的跟蹤技術(shù),但該算法魯棒性較差,易將相似物體錯(cuò)判為追蹤目標(biāo)。核相關(guān)濾波跟蹤(Kernelized Correlation Filter,KCF)方法[6]通過(guò)嶺回歸訓(xùn)練目標(biāo)檢測(cè)器進(jìn)行定位,算法實(shí)現(xiàn)簡(jiǎn)潔,實(shí)時(shí)性高,但該算法抗遮擋能力較差;基于圖像特征匹配的汽車跟蹤算法[7]具有一定的抗形變和抗遮擋能力,但匹配精度易受環(huán)境因素影響。
基于上述背景,一種快速、高精度的目標(biāo)跟蹤技術(shù)成為本文研究的重點(diǎn)。本文將圖像特征匹配算法ORB(Oriented Brief)與KCF算法結(jié)合應(yīng)用于前方車輛跟蹤,ORB算法最大的優(yōu)點(diǎn)是速度快,可滿足目標(biāo)跟蹤實(shí)時(shí)性的要求,且圖像獲取信息量大能明顯的體現(xiàn)前方車輛的形狀特征,但該算法匹配精度易受外界環(huán)境干擾,誤匹配特征點(diǎn)較多。本文通過(guò)深度學(xué)習(xí)算法YOLO v3找出輸入圖像的車輛區(qū)域[8],再以改進(jìn)的FAST和BRIEF檢測(cè)和描述特征點(diǎn),并引入雙向匹配算法提高算法魯棒性,提高圖像匹配過(guò)程中特征點(diǎn)提取的精度,刪除因背景雜亂而生成的無(wú)匹配相關(guān)性的特征點(diǎn),在延續(xù)了傳統(tǒng)ORB算法速度快的基礎(chǔ)上,圖像特征點(diǎn)匹配的準(zhǔn)確率也大幅提升。將改進(jìn)后的ORB結(jié)合KCF算法應(yīng)用于前方車輛跟蹤,既滿足了車輛跟蹤實(shí)時(shí)性的要求,也一定程度上解決了前方車輛被遮擋時(shí),跟蹤易丟失的問(wèn)題,進(jìn)一步推動(dòng)交通事業(yè)及汽車自動(dòng)化領(lǐng)域的發(fā)展。
YOLO v3算法作為YOLO、YOLO v2算法的后續(xù)改良算法,與Faster R-CNN算法相比采用直接回歸的思路,實(shí)現(xiàn)了端到端的結(jié)構(gòu),以殘差神經(jīng)網(wǎng)絡(luò)(Darknet-53)作為圖像特征提取層,具有更少的計(jì)算量,并利用特征金字塔方法對(duì)不同的尺度進(jìn)行預(yù)測(cè)。YOLO v3與其他主流檢測(cè)網(wǎng)絡(luò)相比,無(wú)論是檢測(cè)速度還是預(yù)測(cè)精度,均進(jìn)一步得到提升[9]。引入YOLO v3算法能夠較好的彌補(bǔ)ORB圖像匹配方法準(zhǔn)確率低的不足。
ORB以FAST算法對(duì)圖像特征點(diǎn)進(jìn)行檢測(cè),F(xiàn)AST算法的基本思想是識(shí)別圖像中獨(dú)特的點(diǎn)作為圖像特征點(diǎn)。參考圖1所示,F(xiàn)AST算法判斷以像素點(diǎn)P為圓點(diǎn)的圓上16個(gè)像素點(diǎn)的亮暗程度,對(duì)于給定的閾值t,當(dāng)達(dá)到一定比例的n個(gè)連續(xù)像素點(diǎn)亮度均強(qiáng)于Ip+t,或均弱于Ip-t,則選取該像素點(diǎn)為關(guān)鍵點(diǎn)。這里設(shè)Ip為像素點(diǎn)的亮度,n=12。(n通常取像素點(diǎn)總數(shù)的四分之三。)
圖1 角點(diǎn)檢測(cè)模板圖
FAST角點(diǎn)檢測(cè)在計(jì)算速度方面占有明顯優(yōu)勢(shì),但該算法的特征點(diǎn)檢測(cè)效果受閾值t的直接影響,將圖像整體閾值作用于圖像局部,并不一定得到最優(yōu)解,且當(dāng)圖像中存在噪聲點(diǎn)時(shí),檢測(cè)效果不理想。
ORB通過(guò)BRIEF算法將關(guān)鍵點(diǎn)轉(zhuǎn)化為特征向量,BRIEF特征描述子是由Calonder首次提出,其基本思路是隨機(jī)的從特征點(diǎn)周圍選取一組特征點(diǎn)對(duì),以此創(chuàng)建二進(jìn)制描述子,算法簡(jiǎn)單且實(shí)時(shí)性好,取S×S尺寸的鄰域窗口Patch的標(biāo)準(zhǔn)為:
其中p(x),p(y)為鄰域P在隨機(jī)點(diǎn)x和y的灰度值。隨機(jī)選擇n對(duì)窗口中的隨機(jī)點(diǎn)(x,y),將結(jié)果從低到高位依次生成n位二進(jìn)制向量,通常選擇n=256的向量長(zhǎng)度[10],如式(2)所示。
本文改進(jìn)的匹配算法首先將輸入圖像傳給YOLO v3網(wǎng)絡(luò)模型,識(shí)別定位圖像中所有車輛區(qū)域。然后用FAST和BRIEF算子對(duì)該區(qū)域進(jìn)行特征點(diǎn)檢測(cè)和描述,其中在特征點(diǎn)檢測(cè)的過(guò)程中,F(xiàn)AST算法閾值是固定的[11],若設(shè)置的閾值太低,將出現(xiàn)虛角點(diǎn),對(duì)檢測(cè)效率造成影響,若閾值取值太高,則會(huì)出現(xiàn)漏檢現(xiàn)象[12],本文通過(guò)自適應(yīng)的方法獲取閾值,更好的應(yīng)用于對(duì)比度不同的圖像特征檢測(cè),同時(shí)以雙向交叉匹配算法來(lái)減少誤匹配特征點(diǎn),提高對(duì)前方車輛跟蹤的準(zhǔn)確率。
YOLO v3算法將YOLO v2使用的Darknet-19替換為更深層次的Darknet-53特征提取網(wǎng)絡(luò),交替以1×1和3×3的濾波器進(jìn)行卷積。如表1所示。
表1 YOLO v3網(wǎng)絡(luò)結(jié)構(gòu)
Darknet-53抑制了梯度彌散現(xiàn)象,降低各殘差塊數(shù)據(jù)擬合的復(fù)雜性,多尺度融合的檢測(cè)方法可以更好的對(duì)圖像中大小不同的目標(biāo)進(jìn)行檢測(cè)。圖片經(jīng)Darknet-53在5次降采樣后得到3個(gè)不同尺度的特征圖,提供深層次的語(yǔ)義信息及目標(biāo)的位置信息,生成候選區(qū)域,預(yù)測(cè)數(shù)據(jù)集,最后合并3個(gè)特征圖確定圖像中車輛所在位置區(qū)域。
Darknet-53僅利用三個(gè)尺度提取圖像中車輛的特征,不能充分利用低層特征的細(xì)節(jié)信息,導(dǎo)致圖像許多小目標(biāo)的位置信息丟失,難以檢測(cè)小目標(biāo)。為降低復(fù)雜環(huán)境下車輛識(shí)別的困難性,通過(guò)提高網(wǎng)絡(luò)特征圖譜尺寸的方法盡可能多的識(shí)別預(yù)測(cè)圖像中的目標(biāo)個(gè)數(shù),將多層卷積和池化步驟后的網(wǎng)格由原7×7變成14×14,擴(kuò)大后的網(wǎng)格尺寸增加對(duì)輸入圖像中小目標(biāo)對(duì)象的特征提取及識(shí)別能力,提高系統(tǒng)的識(shí)別準(zhǔn)確率。
FAST算法以固定閾值檢測(cè)特征點(diǎn)效果不理想,本文通過(guò)自適應(yīng)閾值法來(lái)初步選擇候選點(diǎn),定義動(dòng)態(tài)圖像整體閾值T1,利用最佳直方圖熵法得到動(dòng)態(tài)局部閾值T2,以灰度直方圖來(lái)估計(jì)圖像灰度值的概率分布,得到更加靈活合理的閾值。以閾值t為像素分界線,S1為步驟2中各小區(qū)間前半部分像素的概率分布,S1={P1,P2,P3,...,Pt},S2為后半部分像素的概率分布,S2={Pt+1,Pt+2,Pt+3,...,PL-1},設(shè)出現(xiàn)各個(gè)灰度級(jí)的概率為Pi,則令Pt為:
則可知S1、S2的熵分別為:
故圖像的熵等于各小區(qū)間內(nèi)熵S1與S2之和,并將最佳全局閾值T1設(shè)置為:
式(6)中TMAX及TMIN分別為圖像熵最大化及最小化的灰度級(jí)。
采用KSW熵方法易造成圖像存在陰影、噪聲干擾和背景漸變等情況。故以局部動(dòng)態(tài)閾值T2篩選全圖閾值T1得到的候選點(diǎn)。取圖像中候選特征點(diǎn)(xo,yo)為中心點(diǎn)且邊長(zhǎng)為L(zhǎng)的矩形,定義T2:
式(7)中Iimin和Iimax分別指在矩形L中最小和最大的n個(gè)灰度值,Iiaver為矩形區(qū)域中的灰度平均值,經(jīng)過(guò)實(shí)驗(yàn),k值通常范圍為2~5。
在完成以上步驟后,計(jì)算圖像中各特征點(diǎn)在X及Y方向的二階偏導(dǎo)數(shù),及圖像的XY方向的導(dǎo)數(shù),以黑塞矩陣(Hessian Matrix)刪除余下的不穩(wěn)定邊緣特征點(diǎn)。如式(8)所示:
按照特征值與曲線的曲率成正比的規(guī)律,當(dāng)θ不大于(r=10),該特征點(diǎn)被保留,否則拋棄該邊緣特征點(diǎn)[13]。
引入雙向交叉匹配算法使ORB算法獲取更加穩(wěn)點(diǎn)準(zhǔn)確的待匹配關(guān)鍵點(diǎn),提高算法魯棒性,排除因背景雜亂而生成的無(wú)匹配相關(guān)性的特征點(diǎn),在本文角點(diǎn)檢測(cè)算法的改進(jìn)基礎(chǔ)上結(jié)合雙向交叉匹配算法刪簡(jiǎn)部分無(wú)匹配關(guān)系的特征點(diǎn)[14]?;谡蚱ヅ浣Y(jié)果,求得待匹配圖像中已被匹配的特征點(diǎn)在原圖特征匹配點(diǎn)中歐氏距離最短的2個(gè)特征點(diǎn)的距離,若最短距離除次短距離得到的數(shù)值,小于預(yù)定的匹配閾值,則匹配正確。應(yīng)用于后續(xù)車輛跟蹤中,當(dāng)目標(biāo)存在遮擋時(shí),雙向匹配算法可有效減少相似目標(biāo)的誤判,提高對(duì)前方車輛跟蹤的準(zhǔn)確率。
目前基于相關(guān)濾波器的KCF跟蹤算法在跟蹤效果及速度方面都有較好的表現(xiàn),但傳統(tǒng)KCF算法在汽車受遮擋時(shí)無(wú)法準(zhǔn)確跟蹤。因此,將改進(jìn)的ORB特征匹配算法與KCF跟蹤算法相結(jié)合。普通場(chǎng)景下,特征點(diǎn)隨機(jī)分散在汽車的全局區(qū)域內(nèi),即特征點(diǎn)的提取位置同樣分布在圖像的各個(gè)區(qū)域,因此當(dāng)前方目標(biāo)車輛被遮擋或者是本身發(fā)生一定形變時(shí),在提取特征點(diǎn)過(guò)程中仍會(huì)提取一些特征點(diǎn)。僅在前方車輛被檢測(cè)存在遮擋的情況時(shí),進(jìn)入丟失重捕階段,對(duì)后續(xù)的一幀或幾幀圖像進(jìn)行特征提取,通過(guò)特征匹配重新找到目標(biāo)汽車對(duì)其繼續(xù)跟蹤,由于提取的特征點(diǎn)具有良好的穩(wěn)定性,從而達(dá)到提高算法速度,保留算法魯棒性的效果。
算法流程如下:首先輸入測(cè)試視頻,選擇要跟蹤的前方車輛,然后用KCF跟蹤算法進(jìn)行跟蹤;跟蹤過(guò)程中以該幀目標(biāo)區(qū)的參數(shù)置信度為標(biāo)準(zhǔn)判斷目標(biāo)車輛是否存在遮擋,若檢測(cè)到目標(biāo)車輛被遮擋,則在當(dāng)前幀以改進(jìn)ORB算法提取特征點(diǎn)生成模板特征;然后提取下一幀圖像的特征點(diǎn)來(lái)匹配模板特征,并通過(guò)匹配計(jì)算出單個(gè)響應(yīng)矩陣,對(duì)前方目標(biāo)車輛重新定位。若跟蹤過(guò)程中目標(biāo)車輛再次被檢測(cè)從未遮擋到被遮擋,則由生成的新模板特征替換先前的模板特征。
本文算法實(shí)驗(yàn)測(cè)試環(huán)境:處理器為Intel(R)Core(TM)i5-4200M,主頻3.80GHz,內(nèi)存為10GB,64位Win10系統(tǒng)、Visual Studio 2017和Open CV2.4.13.4。
實(shí)驗(yàn)1 在圖像匹配點(diǎn)數(shù)一致的條件下,將改進(jìn)后的ORB算法與原算法比較匹配效率。對(duì)比表2數(shù)據(jù)結(jié)果,經(jīng)過(guò)改進(jìn)后的ORB算法在圖像匹配中刪簡(jiǎn)了許多無(wú)匹配關(guān)系的特征點(diǎn)及孤立的非前景特征點(diǎn),進(jìn)一步優(yōu)化了圖像特征點(diǎn)提取的性能,盡管在計(jì)算選取初始特征點(diǎn)時(shí)間復(fù)雜度雖有一定增加,但引入雙向匹配算法有效減少算法運(yùn)行時(shí)間,還是有了一個(gè)相對(duì)好的匹配效果。
表2 改進(jìn)算法前后的數(shù)據(jù)對(duì)比
實(shí)驗(yàn)2 為了更直觀體現(xiàn)改進(jìn)ORB算法的性能,利用改進(jìn)ORB算法處理圖片,然后與原算法結(jié)果對(duì)比,如圖2所示。左圖可以看出復(fù)雜交通環(huán)境下ORB算法匹配存在較多誤匹配,右圖改進(jìn)算法匹配結(jié)果可以看出圖像中無(wú)關(guān)車輛對(duì)結(jié)果的干擾基本排除,車輛圖像匹配效果較好。
圖2 原算法與改進(jìn)算法圖像匹配
實(shí)驗(yàn)3 為了驗(yàn)證本文算法在復(fù)雜場(chǎng)景下對(duì)前方車輛跟蹤的有效性,實(shí)驗(yàn)測(cè)試視頻于Youtube視頻數(shù)據(jù)集中隨機(jī)選取,避免了視頻的針對(duì)性。視頻環(huán)境相對(duì)復(fù)雜,包括行人、車輛和其他類型目標(biāo)。數(shù)據(jù)集部分圖片如圖3所示。當(dāng)前方目標(biāo)車輛處于復(fù)雜環(huán)境且存在遮擋問(wèn)題時(shí),與傳統(tǒng)KCF及DSST算法相比較,基于改進(jìn)ORB的KCF跟蹤算法的平均精度和平均成功率均有一定程度的提升。得出3種算法的平均精確度圖與平均成功率圖,如圖4、圖5所示。
圖3 測(cè)試視頻截圖
圖4 平均成功率
圖5 平均精度
為進(jìn)一步分析本文算法性能,在城市各道路自行錄制4段視頻素材,分別為無(wú)遮擋視頻,短時(shí)遮擋視頻,長(zhǎng)時(shí)遮擋視頻及復(fù)雜交通環(huán)境視頻。表3是各同類算法跟蹤前方目標(biāo)車輛的誤差對(duì)比,實(shí)驗(yàn)重復(fù)10次以平均值作為最終結(jié)果。表4是各算法運(yùn)行速度對(duì)比。結(jié)果顯示本文算法對(duì)前方車輛跟蹤估計(jì)的準(zhǔn)確性最高,當(dāng)目標(biāo)車輛存在遮擋情況時(shí)與其他算法相比對(duì)目標(biāo)的狀態(tài)估計(jì)性能更優(yōu)。改進(jìn)后的算法運(yùn)算速度略優(yōu)于原KCF算法,本文算法在前方目標(biāo)車輛被遮擋時(shí)會(huì)進(jìn)行丟失重捕及特征匹配步驟,耗時(shí)有所增加但仍滿足算法的實(shí)時(shí)性跟蹤要求。
表3 估計(jì)誤差/像素
表4 運(yùn)行速度對(duì)比/ (幀/s)
本文首先針對(duì)ORB算法在復(fù)雜的圖像匹配中準(zhǔn)確率低的缺點(diǎn),引入YOLO v3算法識(shí)別圖像車輛區(qū)域后以再以改進(jìn)的FAST和BRIEF檢測(cè)和描述特征點(diǎn),并引入雙向匹配算法提高算法魯棒性,經(jīng)改進(jìn)后的算法刪減了大量冗余特征點(diǎn),且抗噪性能得到增強(qiáng),并通過(guò)與原算法比較,證明改進(jìn)后的算法仍然具有計(jì)算速度快的特點(diǎn),同時(shí)提高了匹配精度,可滿足實(shí)時(shí)性強(qiáng)且環(huán)境復(fù)雜的跟蹤應(yīng)用要求。
傳統(tǒng)KCF算法因跟蹤尺度單一,抵抗遮擋能力較差,在目標(biāo)發(fā)生尺度變化或被大面積遮擋時(shí)跟蹤效果不佳。針對(duì)上述問(wèn)題,將KCF算法與改進(jìn)后的ORB算法進(jìn)行有效結(jié)合,當(dāng)前方目標(biāo)車輛存在遮擋情況時(shí),提取該車輛的特征點(diǎn),并與視頻的后續(xù)幾幀進(jìn)行匹配,直到找出目標(biāo)為止。改進(jìn)算法跟蹤前方目標(biāo)車輛表現(xiàn)出較好的魯棒性,提升了跟蹤系統(tǒng)的自動(dòng)識(shí)別及目標(biāo)丟失重捕的能力,實(shí)驗(yàn)現(xiàn)象表明較傳統(tǒng)算法在車輛抗遮擋方面有很大改善,跟蹤效果有顯著提高,在復(fù)雜的環(huán)境背景下具有較好的跟蹤精度。
后續(xù)研究將針對(duì)本文算法對(duì)比原算法運(yùn)行速度無(wú)明顯優(yōu)勢(shì)的問(wèn)題,通過(guò)深度學(xué)習(xí)等方法繼續(xù)對(duì)特征點(diǎn)提取及匹配進(jìn)行優(yōu)化,進(jìn)一步增強(qiáng)基于特征匹配的跟蹤算法的實(shí)時(shí)性。