王招娣,鄧記才
(鄭州大學(xué) 信息工程學(xué)院,河南 鄭州 450001)
運(yùn)動(dòng)目標(biāo)的識(shí)別與跟蹤[1]是機(jī)器視覺中研究的熱點(diǎn)問題之一,目標(biāo)匹配是目標(biāo)跟蹤的關(guān)鍵技術(shù),目前廣泛采用的圖像特征匹配法主要有諸如邊緣特征、顏色特征[2]、骨架特征、區(qū)域特征和特征點(diǎn)等。其中,特征點(diǎn)檢測法作為圖像的局部特征提取法,其特征匹配算法計(jì)算量小,魯棒性好,且對圖像旋轉(zhuǎn)平移、光照及分辨率等變化有較好的適應(yīng)性,逐漸成為特征匹配領(lǐng)域的研究熱點(diǎn)。常用的特征點(diǎn)檢測方法有 Harris角點(diǎn)檢測[3]、SUSAN、Hessian-Laplace等,但這些特征點(diǎn)在圖像尺度空間發(fā)生變化時(shí),易導(dǎo)致匹配失敗。
2004年,LOWE D G等人提出 SIFT(Scale-Invariant Feature Transform)特征檢測法,解決了尺度變化的問題,但該算法由于檢測的特征點(diǎn)太多,使得計(jì)算時(shí)間開銷大。隨后BAY H等人于2006年對SIFT算法作了改進(jìn),提出了加速魯棒特征 SURF (Speeded UP Roubust Features)[4]算法。該算法不僅保持了SIFT算法對圖像旋轉(zhuǎn)、尺度縮放、亮度變化的不變性,同時(shí)由于引入了積分圖、箱式濾波器和近似Hessian矩陣等概念,使算法的執(zhí)行效率得到大大提高。目前,該算法主要用于人臉識(shí)別[5]、掌紋識(shí)別、醫(yī)學(xué)遙感影像配準(zhǔn)和全景拼接[6]等領(lǐng)域。因此,本文選用SURF特征匹配的方法來實(shí)現(xiàn)視頻圖像中運(yùn)動(dòng)目標(biāo)的跟蹤。
SURF算法作為圖像局部特征的提取算法,它對圖像尺度變換、視角變化、仿射變換及噪聲保持一定程度的穩(wěn)定性,可完成兩幅圖像特征點(diǎn)的匹配。該算法的實(shí)現(xiàn)過程分為特征點(diǎn)檢測和特征向量的生成。
尺度空間的建立是圖像SURF特征點(diǎn)檢測的首要步驟,將一幅二維圖像 I(x,y)與高斯核函數(shù) G(x,y,σ)作卷積運(yùn)算,即得到不同的尺度空間[7]:
再采用Hessian矩陣在尺度空間的每一層上采集圖像的極值點(diǎn),對二維圖像 I(x,y)上的任意一點(diǎn) X(x,y),在不同空間尺度σ上,Hessian矩陣的定義為:
其中,Lxx(X,σ)、Lyy(X,σ)和 Lxy(X,σ)分別表示圖像上的X(x,y)點(diǎn)與二階偏導(dǎo)在 x、y和 xy方向的卷積。
為了減少計(jì)算的復(fù)雜度,SURF算法采用箱式濾波器模型中矩形波來代替二階高斯濾波,同時(shí)引入積分圖像的概念加速了卷積的運(yùn)算過程。因此,用圖像I(x,y)上的任一點(diǎn)X(x,y)分別與箱式濾波模版的二階偏導(dǎo)作卷積的結(jié)果 Dxx、Dxy和 Dyy來代替 Lxx(X,σ)、Lyy(X,σ)和Lxy(X,σ)。為了保持計(jì)算的精度,選取矩形核函數(shù)與高斯核函數(shù)的近似比例因子ω,一般記作0.9,故Hessian的行列式可近似記作:
根據(jù)Hessian矩陣求出各個(gè)尺度空間上的極值之后,采用非極大值抑制NMS(Non-Maxima Suppression)將這些極值點(diǎn)與它立體鄰域內(nèi)的點(diǎn)進(jìn)行比較,以3×3的濾波器為例,如圖1所示,將該極值點(diǎn)與同尺度層中其余8個(gè)點(diǎn)及上下兩個(gè)尺度層9個(gè)點(diǎn)進(jìn)行比較,只有當(dāng)該極值點(diǎn)都大于或都小于其余26個(gè)相鄰的點(diǎn),才能將該極值點(diǎn)作為候選區(qū)的SURF特征點(diǎn)。
圖1 不同尺度空間的特征點(diǎn)檢測
SURF特征描述子的生成分為主方向的確定和描述子向量的生成兩個(gè)步驟。首先,在以特征點(diǎn)為中心、半徑為6σ(σ為特征點(diǎn)所在的尺度值)的圓形域鄰域內(nèi),計(jì)算像素點(diǎn)在x、y方向上的Haar[3]小波響應(yīng)值并對它們進(jìn)行加權(quán)統(tǒng)計(jì),再從x軸開始將圓形區(qū)域60°范圍內(nèi)的Haar小波響應(yīng)值疊加,從而得到一個(gè)新的矢量記作矢量L1,如圖2所示。以同樣的方式每隔 5°遍歷整個(gè)圓域,計(jì)算=72個(gè)不同矢量 L1、L2,…,再從這 72個(gè)矢量中選擇最長的矢量方向作為該特征點(diǎn)的主方向。
圖2 特征點(diǎn)主方向確定
然后,以特征點(diǎn)為中心將坐標(biāo)軸旋轉(zhuǎn)到主方向,取邊長為20σ的正方形區(qū)域,將該區(qū)域劃分為 4×4的子區(qū)域,如圖3所示,統(tǒng)計(jì)每個(gè)子區(qū)域內(nèi)像素點(diǎn)在x軸方向和 y軸方向的 Haar小波響應(yīng)值,并分別記作 dx和 dy,再對這些值進(jìn)行加權(quán)、求和操作,即得到Σdx、Σ|dx|、Σdy和Σ|dy|,于是在子區(qū)域中就生成特征點(diǎn)描述符的特征向量V,如式(4)所示。若將 16個(gè)區(qū)域的向量都加入特征向量中,就變成16×4=64維特征向量。
圖3 特征點(diǎn)描述子的生成
本文選用SURF算法對視頻序列中非特定運(yùn)動(dòng)目標(biāo)進(jìn)行跟蹤研究,具體步驟如下。
(1)特征點(diǎn)提取。指定目標(biāo)模板作為視頻圖像的跟蹤對象,提取目標(biāo)模板和視頻圖像的SURF特征點(diǎn)并生成特征向量。
(2)特征匹配與跟蹤。將目標(biāo)圖像與視頻圖像之間的SURF特征點(diǎn)進(jìn)行相似度匹配,確定目標(biāo)在視頻序列中的位置并進(jìn)行跟蹤。
(3)目標(biāo)模板更新。在視頻圖像發(fā)生改變或運(yùn)動(dòng)目標(biāo)消失時(shí),可隨機(jī)切換跟蹤目標(biāo)實(shí)時(shí)更新目標(biāo)模板,做到實(shí)時(shí)有效的跟蹤效果。
根據(jù)快速最近鄰逼近搜索法FLANN(Fast Approximate Nearest Neighbor Search)獲得目標(biāo)圖像與視頻序列圖像中特征點(diǎn)匹配對,并選用歐氏距離和Hessian矩陣的跡相結(jié)合的相似度計(jì)算法找到相應(yīng)的特征點(diǎn)匹配對。
首先根據(jù)Hessian矩陣的跡實(shí)現(xiàn)特征點(diǎn)初步匹配。因?yàn)閳D像對比度相同的特征點(diǎn)對應(yīng)的Hessian矩陣的跡(即矩陣對角元素之和)互為同號(hào),而圖像對比度不同的特征點(diǎn)對應(yīng)的Hessian矩陣跡互為異號(hào),因此可將目標(biāo)圖像與視頻圖像特征點(diǎn)進(jìn)行比較,選擇出Hessian矩陣跡互為同號(hào)的特征對,放棄互為異號(hào)的特征對。然后,在上一步初匹配的基礎(chǔ)上,再采用歐氏距離匹配法進(jìn)行相似度判斷,最終找到兩幅圖像中特征點(diǎn)的一一對應(yīng)關(guān)系。歐氏距離計(jì)算公式為:
其中,Xim表示目標(biāo)圖中第i個(gè)特征描述子的第m個(gè)元素,Xjk表示源圖像中第j個(gè)特征描述子的第k個(gè)元素,n表示特征向量的維數(shù)64。通過計(jì)算得出最小歐氏距離Da1、次最小歐氏距離Da2及兩者的比值,將該比值與設(shè)定閾值0.7作比較。若小于閾值則證明目標(biāo)圖像上的該特征點(diǎn)與源圖像上最小歐氏距離對應(yīng)點(diǎn)是匹配的;否則,不匹配。
本文算法的流程圖如圖4所示。
圖4 非特定目標(biāo)跟蹤算法的流程圖
本文算法的具體實(shí)現(xiàn)步驟如下。
(1)讀取待檢測視頻圖像,采用中值濾波的方式對視頻進(jìn)行預(yù)處理操作,濾除視頻中的噪聲點(diǎn)和干擾點(diǎn),并將RGB彩色視頻進(jìn)行灰度化處理轉(zhuǎn)換成灰度視頻以備用。
(2)既可讀取固定的目標(biāo)圖像作為跟蹤對象,亦可在視頻序列中隨意指定要跟蹤的運(yùn)動(dòng)目標(biāo),并將該目標(biāo)從視頻序列中分割出來單獨(dú)作為跟蹤對象。
(3)利用Hessian矩陣分別檢測并提取目標(biāo)模板和視頻圖像每一幀圖像的SURF特征點(diǎn)。
(4)將目標(biāo)模板的特征點(diǎn)與視頻幀的特征點(diǎn)進(jìn)行相似度匹配,保留匹配正確的特征對,剔除不能匹配的特征點(diǎn)。
(5)對匹配成功的特征對,計(jì)算其特征點(diǎn)在視頻圖像中的分布情況并計(jì)算其重心位置,從而確定目標(biāo)圖像在視頻圖像中出現(xiàn)的4個(gè)頂點(diǎn)坐標(biāo)。
(6)根據(jù)頂點(diǎn)坐標(biāo)畫出目標(biāo)圖像在視頻序列中的位置,并實(shí)時(shí)更新跟蹤結(jié)果。
(7)在視頻序列中若發(fā)生運(yùn)動(dòng)目標(biāo)改變或跟蹤目標(biāo)丟失的情況,可隨機(jī)切換跟蹤目標(biāo)實(shí)現(xiàn)目標(biāo)模板的實(shí)時(shí)更新,從而做到實(shí)時(shí)有效的跟蹤效果。
為驗(yàn)證SURF算法對視頻序列中的運(yùn)動(dòng)目標(biāo)動(dòng)態(tài)跟蹤的有效性,本文選用VS 2008作為實(shí)驗(yàn)平臺(tái),結(jié)合OpenCV 2.3視覺函數(shù)庫[8]進(jìn)行仿真實(shí)驗(yàn)。實(shí)驗(yàn)中的目標(biāo)模板為JPEG格式的圖像,視頻序列為352像素×240像素,幀速率為25 f/s,XVID壓縮編碼的24位 AVI格式的vedio1和vedio2視頻源,其中vedio1為單個(gè)運(yùn)動(dòng)目標(biāo)的視頻,vedio2為兩個(gè)運(yùn)動(dòng)目標(biāo)的視頻。
以特定的目標(biāo)圖像為匹配模板進(jìn)行仿真實(shí)驗(yàn),并提取該模板的SURF特征點(diǎn)如圖5所示,共提取20個(gè)特征點(diǎn)。
將該目標(biāo)模板的SURF特征點(diǎn)分別與視頻序列幀圖像的特征點(diǎn)進(jìn)行對比匹配,找到確定的SURF特征匹配對從而確定目標(biāo)出現(xiàn)的位置,以視頻第50幀、100幀和150幀為例的仿真結(jié)果如圖6所示。
圖5 固定目標(biāo)模板特征點(diǎn)提取圖
圖6 特定目標(biāo)的跟蹤效果圖
將提取到的特征點(diǎn)數(shù)目及特征匹配對數(shù)進(jìn)行統(tǒng)計(jì),結(jié)果如表1所示。其中目標(biāo)模板的SURF特征點(diǎn)數(shù)為20個(gè),對應(yīng)不同視頻幀的SURF特征點(diǎn)數(shù)分別為44、45和42個(gè)。在特定目標(biāo)跟蹤的情況下特征點(diǎn)匹配率是比較低的。
表1 特定目標(biāo)跟蹤過程的特征點(diǎn)統(tǒng)計(jì)表
本文算法采用將SURF特征與跟蹤目標(biāo)的可控性原理相結(jié)合,實(shí)現(xiàn)對非特定運(yùn)動(dòng)目標(biāo)的跟蹤,即在跟蹤過程中可進(jìn)行目標(biāo)實(shí)時(shí)切換。將目標(biāo)模板特征點(diǎn)與視頻序列幀圖像的特征點(diǎn)進(jìn)行對比匹配,找到正確的SURF特征對,從而確定目標(biāo)出現(xiàn)的位置。以vedio1和vedio2分別為跟蹤視頻進(jìn)行算法仿真,圖7所示為vedio1的非特定目標(biāo)跟蹤結(jié)果,圖8所示為vedio2的非特定目標(biāo)跟蹤結(jié)果。其中黑色線段表示匹配正確的SURF特征點(diǎn)對應(yīng)關(guān)系,白色方框即為標(biāo)定的目標(biāo)跟蹤區(qū)域。
對于vedio1和vedio2視頻源,將提取到特征點(diǎn)數(shù)目及特征匹配對數(shù)進(jìn)行統(tǒng)計(jì),如表2所示,其中vedio1的特征點(diǎn)匹配率在57.3%左右,vedio2的特征點(diǎn)匹配率在58%左右。
圖7 vedio1中運(yùn)動(dòng)目標(biāo)的跟蹤效果圖
圖8 vedio2中運(yùn)動(dòng)目標(biāo)的跟蹤效果圖
表2 非特定目標(biāo)跟蹤過程的特征點(diǎn)統(tǒng)計(jì)表
將本文所采用的SURF的非特定目標(biāo)跟蹤算法與一般特定目標(biāo)跟蹤算法進(jìn)行比較,特征點(diǎn)匹配率的對比情況如圖9所示。
圖9 兩種算法特征點(diǎn)匹配率對比圖
實(shí)驗(yàn)表明,本文算法的特征點(diǎn)匹配率在57%~58%范圍內(nèi)波動(dòng),而特定目標(biāo)跟蹤算法特征點(diǎn)匹配率在15%~30%范圍內(nèi),前者特征匹配率要比后者提高30%~40%。
本文采用一種SURF算法對視頻序列中非特定運(yùn)動(dòng)目標(biāo)進(jìn)行跟蹤研究,并通過實(shí)驗(yàn)對該算法進(jìn)行仿真驗(yàn)證。結(jié)果表明,該過程既可指定特定目標(biāo)作為跟蹤對象,亦可在跟蹤過程中實(shí)時(shí)進(jìn)行目標(biāo)切換,體現(xiàn)跟蹤過程的靈活性;在運(yùn)動(dòng)目標(biāo)發(fā)生尺度變化、旋轉(zhuǎn)、縮放的情況下,仍能實(shí)現(xiàn)目標(biāo)的正確檢測且不使目標(biāo)跟蹤丟失,體現(xiàn)了算法的準(zhǔn)確性和一定的環(huán)境適應(yīng)性;同時(shí)由于本文算法結(jié)合了目標(biāo)的可控性切換原理,使SURF特征點(diǎn)匹配率較特定目標(biāo)跟蹤算法提高了30%~40%,增強(qiáng)了特征點(diǎn)匹配的準(zhǔn)確性。因此,本文算法是一種有效且靈活的非特定目標(biāo)跟蹤法。如何進(jìn)一步解決多運(yùn)動(dòng)目標(biāo)的遮擋問題,使它能夠更好地適應(yīng)較為復(fù)雜環(huán)境下的目標(biāo)檢測與跟蹤,是下一步工作中要研究的重點(diǎn)。
[1]Zhang Jianming, Zhang Lingzeng, Liu Zhiqiang.Approach to front vehicle detection and tracking based on multiple features[J].Computer Engineering and Applications, 2011,47(5):220-223.
[2]Song Linlin, Wang Xianghai.Image retrievalalgorithm using both color and texture features[J].Computer Engineering and Applications, 2011,47(34):203-207.
[3]張永,紀(jì)東升.一種改進(jìn)的 Harris特征點(diǎn)檢測算法[J].計(jì)算機(jī)工程,2011,37(13):196-198,201.
[4]BAY H, TUYTEPLAARS T, VAN GOOL L.SURF: Speeded Up RobustFeatures[C].Processings ofthe European Conference on Computer Vision, 2006:404-417.
[5]明悅.基于不變性特征的三維人臉識(shí)別研究[D].北京:北京交通大學(xué),2013.
[6]宋延爽,耿楠.基于SURF算法的全景圖拼接技術(shù)研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33(12):4647-4651.
[7]林建粦,平西建,馬德寶.基于二階方向?qū)?shù)尺度空間的小目標(biāo)檢測[J]. 電子與信息學(xué)報(bào),2012,34(12):2992-2998.
[8]方玫.OpenCV技術(shù)在數(shù)字圖像處理中的應(yīng)用[J].北京教育學(xué)院學(xué)報(bào)(自然科學(xué)版),2011,6(1):7-11.