任靜



摘 要:針對(duì)目標(biāo)圖像跟蹤過(guò)程中提取待匹配圖像較大的特征向量時(shí),很難滿足準(zhǔn)確性和快速性要求,提出了結(jié)合卡爾曼濾波的SIFT目標(biāo)跟蹤算法。算法利用Kalman濾波器對(duì)動(dòng)態(tài)目標(biāo)在下一幀圖像中可能出現(xiàn)的位置,在自適應(yīng)窗口中識(shí)別動(dòng)態(tài)目標(biāo)。實(shí)驗(yàn)證明,該算法可以縮短了待匹配圖像的SIFT特征點(diǎn)提取時(shí)間,提高了目標(biāo)跟蹤的效率。
關(guān)鍵詞:尺度不變特征變換算法;卡爾曼濾波;目標(biāo)識(shí)別;特征點(diǎn)提取
中圖分類號(hào):TP391.4 文獻(xiàn)標(biāo)志碼:A
SIFT Tracking Algorithm Combined with Kalman Filter
REN Jing
(Colleage of Computer Science,Xian Aeronautical University,Xian,Shaanxi 710077,China)
Abstract:Target image extraction and matching image tracking larger feature vectors,It is difficult to meet the requirement of accuracy and rapidity,
when extracting the eigenvectors to be matched during the target image tracking.
A SIFT target tracking algorithm based on Kalman filter is proposed.The algorithm makes use of the Kalman filter to identify the dynamic target in the next frame image,which can be used to identify the dynamic object in the adaptive window.Experiments show that the proposed algorithm can shorten the time of SIFT feature points extraction and improve the efficiency of target tracking.
Key words:scale invariant feature transform(SIFT);Kalman filter;object recognition;feature point extraction
1 引 言
隨著計(jì)算機(jī)視覺(jué)技術(shù)的迅速發(fā)展,對(duì)視頻序列中的動(dòng)態(tài)目標(biāo)進(jìn)行實(shí)時(shí)跟蹤成為計(jì)算機(jī)視覺(jué)領(lǐng)域的重要研究方向,其核心是在圖像序列中識(shí)別出目標(biāo)的同時(shí)對(duì)其進(jìn)行精確定位。
在視頻的動(dòng)態(tài)場(chǎng)景中,動(dòng)態(tài)目標(biāo)是不停運(yùn)動(dòng)的,背景也是不停變化的。可以發(fā)現(xiàn)觀察視頻流中背景是不停變化的,而動(dòng)態(tài)目標(biāo)是一直出現(xiàn)在視頻流中的。提取一幀圖像中的特征點(diǎn),那么屬于目標(biāo)的特征點(diǎn)是包含在這些特征點(diǎn)中的,而隨著背景的變化,背景上的特征點(diǎn)卻而逐漸消失。針對(duì)這一特點(diǎn),可以采用特征匹配方法來(lái)提取出動(dòng)態(tài)背景下的動(dòng)態(tài)目標(biāo)[1]。
David G.Lowe于1999年首次提出尺度不變特征轉(zhuǎn)換SIFT算法(Scale-invariant feature transform),常用來(lái)偵測(cè)與描述視頻中的局部性特征[2][3],由自發(fā)表后于2004年完善總結(jié)。該特征屬于局部特征,它的不變性或說(shuō)穩(wěn)定性主要體現(xiàn)在圖像旋轉(zhuǎn)、尺度大小變化以及光照明暗的同時(shí),并且還能夠較好地應(yīng)對(duì)觀察視角的調(diào)整、噪聲干擾以及仿射變換[4][5]。
在圖象中,由于特征點(diǎn)的數(shù)量比圖像的象素點(diǎn)要少,所以使用特征點(diǎn)進(jìn)行匹配可以大大減少計(jì)算量;同時(shí),特征點(diǎn)對(duì)位置的變化比較敏感,使用特征點(diǎn)進(jìn)行匹配能提高精確度;此外特征點(diǎn)的提取過(guò)程可以減少噪聲的影響,使用特征點(diǎn)可以適應(yīng)于灰度變化,圖象形變以及遮擋等。基于以上原因,本文研究了基于一種特征點(diǎn)(SIFT)的視頻序列中動(dòng)態(tài)目標(biāo)提取算法。SIFT算法提取的關(guān)鍵點(diǎn)特征向量不會(huì)隨著尺度縮放、旋轉(zhuǎn)、亮度等變化而變化,對(duì)于目標(biāo)受到部分遮擋的情況,該算法也有很好的適應(yīng)性能。
2 SIFT特征提取算法
SIFT算法基于圖像特征尺度選擇的思想,建立圖像的多尺度空間,在不同尺度下檢測(cè)到同一個(gè)特征點(diǎn),確定特征點(diǎn)位置的同時(shí)確定其所在尺度,以達(dá)到尺度抗縮放的目的,剔出一些對(duì)比度較低的點(diǎn)以及邊緣響應(yīng)點(diǎn),并提取旋轉(zhuǎn)不變特征描述符以達(dá)到抗仿射變換的目的。包括了以下步驟:檢測(cè)尺度空間局部極值點(diǎn);
確定關(guān)鍵點(diǎn)的位置和方向參數(shù);描述關(guān)鍵點(diǎn)特征向量。
(1)檢測(cè)尺度空間局部極值
檢測(cè)該空間局部極值的前提條件需要?jiǎng)?chuàng)建合適的尺度空間。一些圖像特性在某一尺度下不容易看出或獲取,當(dāng)在很容易在另外的尺度下看出來(lái)或檢測(cè)到。所以常可以利用多尺度更有效地提取圖像特征,獲取圖像內(nèi)容。
線性核是實(shí)現(xiàn)尺度變換的唯一的高斯卷積核,一副二維圖像的尺度空間可以定義為:
L(x,y,σ)=G(x,y,σ)I(x,y)(1)
其中 G(x,y,σ)是尺度可變高斯函數(shù)
G(x,y,σ)=12πσ2e-(x2+y2)/2σ2(2)
(x,y)是空間坐標(biāo),σ是尺度空間因子[6]。
提出了高斯差分尺度空間(DOG scale-space)可以在尺度空間有效的檢測(cè)到穩(wěn)定的關(guān)鍵點(diǎn)。高斯差分尺度空間利用不同尺度的高斯差分核與圖像卷積生成。
D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))I(x,y)=L(x,y,kσ)-L(x,y,σ)(3)endprint
用兩個(gè)不同尺度高斯濾波器相減從而得到結(jié)果是DoG算子的核心思想。
(2)確定關(guān)鍵點(diǎn)的位置和方向參數(shù)
對(duì)于候選集合中的極值點(diǎn),成為最終成為關(guān)鍵點(diǎn)還必須通過(guò)兩步檢測(cè):與其“相鄰”點(diǎn)相比,要求特征點(diǎn)的灰度值的差異明顯,且邊緣點(diǎn)不能作為極值點(diǎn)。
可以通過(guò)擬合二階微分方程,找到低對(duì)比度的點(diǎn)。對(duì)D (x ,y,σ)進(jìn)行泰勒展開至二次項(xiàng)得到:
3 基于SIFT的動(dòng)態(tài)目標(biāo)跟蹤方法
在視頻序列中可能包含各種復(fù)雜的場(chǎng)景,卡爾曼濾波跟蹤和Mean Shift跟蹤,只適應(yīng)于背景簡(jiǎn)單的視頻目標(biāo)跟蹤。由于很難用灰度門限分割圖像,因此當(dāng)物體被遮擋或者出現(xiàn)多個(gè)物體時(shí),相關(guān)跟蹤就成為動(dòng)態(tài)目標(biāo)跟蹤的一個(gè)很好的選擇。在相關(guān)跟蹤中,識(shí)別和測(cè)定目標(biāo)位置的依據(jù)是預(yù)先存儲(chǔ)目標(biāo)圖像樣板,通過(guò)比較目標(biāo)樣板與實(shí)時(shí)圖像的各個(gè)區(qū)域圖像,當(dāng)前的動(dòng)態(tài)目標(biāo)就是和目標(biāo)樣板最相似的區(qū)域,可以很好的利用SIFT算法識(shí)別兩幅圖像中的相同物體。
由于SIFT的特征點(diǎn)對(duì)噪聲也保持一定的穩(wěn)定性,而且對(duì)旋轉(zhuǎn)、尺度縮放、亮度變化十分不敏感,因?yàn)橄嚓P(guān)跟蹤的關(guān)鍵技術(shù)是圖像的相關(guān)匹配,因此,在相關(guān)跟蹤中利用SIFT特征點(diǎn),可能會(huì)提高傳統(tǒng)相關(guān)跟蹤方法的魯棒性[8]。
利用SIFT算法進(jìn)行目標(biāo)跟蹤算法的具體步驟如下:
(1)提取目標(biāo)物體的SIFT特征點(diǎn),生成描述字符D1;
(2)提取一段視頻中的一幀圖像,并提取這一幀圖像上的SIFT特征點(diǎn),設(shè)其描述字符為D2;
(3)匹配D1與D2,如果特征點(diǎn)個(gè)數(shù)在匹配上大于閾值N,則匹配成功,進(jìn)入第(4)步,否則返回第(2)步;
(4)鎖定匹配上的結(jié)果,返回視頻下一幀圖像,再進(jìn)行第(2)步。
4 結(jié)合卡爾曼濾波的SIFT目標(biāo)跟蹤算法
基于SIFT的特征匹配方法雖然具有旋轉(zhuǎn)、尺度縮放、亮度變化不變性,仿射變換、對(duì)視角變化、噪聲具有一定程度的穩(wěn)定性。但是提取待匹配圖像較大的特征向量則需要大量的時(shí)間。很難滿足實(shí)時(shí)性的要求。如果動(dòng)態(tài)目標(biāo)在待匹配圖像中的大致位置能預(yù)先知道,那么就只需要提取動(dòng)態(tài)目標(biāo)可能出現(xiàn)區(qū)域的特征向量,然后進(jìn)行圖像特征匹配,這將提高動(dòng)態(tài)目標(biāo)檢測(cè)的效率,大大縮短圖像匹配的時(shí)間,滿足實(shí)時(shí)性的需要。目前,主要有多假設(shè)跟蹤、基于Monto Carlo方法的濾波器和卡爾曼濾波器等三種狀態(tài)估計(jì)方法。卡爾曼濾波器算法運(yùn)算簡(jiǎn)單,速度較快,是一種最常用和最簡(jiǎn)單的狀態(tài)估計(jì)算法。因此,本文提出結(jié)合SIFT特征提取與匹配算法進(jìn)行目標(biāo)匹配,運(yùn)用卡爾曼濾波器對(duì)動(dòng)態(tài)目標(biāo)進(jìn)行運(yùn)動(dòng)狀態(tài)估計(jì),完成動(dòng)態(tài)目標(biāo)檢測(cè)的目的。
另外,基于SFIT的目標(biāo)檢測(cè),某些帶有高強(qiáng)度噪聲的圖片容易產(chǎn)生誤匹配。而卡爾曼濾波可以用來(lái)估計(jì)信號(hào)的過(guò)去和當(dāng)前,甚至于將來(lái)的狀態(tài)。結(jié)合卡爾曼濾波估計(jì)均方誤差最小和狀態(tài)估計(jì)的特性,計(jì)算候選目標(biāo)的精確位置,同時(shí)對(duì)特征點(diǎn)運(yùn)動(dòng)向量進(jìn)行聚類分析,有效地剔除了噪聲干擾所引起的錯(cuò)誤匹配,提高了匹配精度。
利用卡爾曼濾波算法預(yù)測(cè)了下一時(shí)刻動(dòng)態(tài)目標(biāo)可能出現(xiàn)的位置后,就需要對(duì)該預(yù)測(cè)所得到位置周圍區(qū)域進(jìn)行目標(biāo)識(shí)別匹配。可以稱這個(gè)區(qū)域?yàn)樽赃m應(yīng)匹配窗口,在動(dòng)態(tài)目標(biāo)跟蹤時(shí),它是真正的圖像檢測(cè)窗口。自適應(yīng)匹配窗口的設(shè)計(jì)實(shí)際上是截取了原圖像的一部分,該大于目標(biāo)圖像而小于視場(chǎng),同時(shí)必須保證在跟蹤過(guò)程中可以一直包含動(dòng)態(tài)目標(biāo)的特征。因此,不需要在整個(gè)視野圖像進(jìn)行特征提取和匹配,只針對(duì)匹配窗口中的圖像進(jìn)行特征提取和特征匹配,這樣不但減少了需要處理的數(shù)據(jù)量,縮短了動(dòng)態(tài)目標(biāo)圖像特征的提取和匹配時(shí)間,而且減少了自適應(yīng)窗口外的其它干擾因素。
結(jié)合卡爾曼濾波的SIFT目標(biāo)跟蹤算法的流程圖如圖2所示。
5 實(shí)驗(yàn)結(jié)果與分析
在Windows 7系統(tǒng)下,酷睿2雙核 (2.5G Hz)處理器,內(nèi)存2G,在Matlab7.0上進(jìn)行仿真,視頻格式為.avi,圖像大小為360*240,幀率為25 fps。本文算法的跟蹤結(jié)果如圖3所示,單獨(dú)使用卡爾曼濾波算法的跟蹤結(jié)果如圖4所示。
卡爾曼濾波結(jié)合SIFT算法與單獨(dú)使用卡爾曼濾波算法對(duì)于測(cè)試圖像序列的跟蹤結(jié)果比較如圖5與圖6所示。圖5比較的是跟蹤誤差,縱坐標(biāo)表示目標(biāo)中心的偏差,橫坐標(biāo)表示幀數(shù)。
圖6比較的是目標(biāo)矩形框的尺度誤差。橫坐標(biāo)表示幀數(shù),縱坐標(biāo)表示算法的跟蹤矩形框?qū)挾扰c人工標(biāo)定的矩形框?qū)挾鹊恼`差(X),以及算法跟蹤矩形框高度與人工標(biāo)定矩形框高度的誤差(Y)。從此圖中可以看出單獨(dú)使用卡爾曼濾波算法的目標(biāo)矩形框,隨著目標(biāo)尺寸的變化不發(fā)生改變。而本文提出的算法,跟蹤框隨著目標(biāo)尺寸的改變而變化。
6 結(jié) 論
對(duì)目標(biāo)跟蹤過(guò)程易受噪聲干擾導(dǎo)致跟蹤效果不理想,甚至丟失跟蹤目標(biāo)的問(wèn)題,利用了尺度不變特征變換(SIFT)方法對(duì)單幀圖像進(jìn)行了目標(biāo)特征點(diǎn)的提取和匹配。
針對(duì)目標(biāo)圖像跟蹤的準(zhǔn)確性和快速性要求,提出了基于Kalman目標(biāo)運(yùn)動(dòng)軌跡預(yù)測(cè)的SIFT特征目標(biāo)跟蹤算法。利用Kalman濾波器對(duì)動(dòng)態(tài)目標(biāo)在下一幀圖像中可能出現(xiàn)的位置,并在自適應(yīng)窗口中識(shí)別動(dòng)態(tài)目標(biāo),該算法可以縮短了待匹配圖像的SIFT特征提取時(shí)間,提高了目標(biāo)跟蹤的效率。
參考文獻(xiàn)
[1] 毛華.動(dòng)態(tài)場(chǎng)景中運(yùn)動(dòng)目標(biāo)跟蹤算法研究與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2009.
[2] LOWE D G.Object recognition from local scale-invariant features[C].International Conference on Computer Vision,Corfu,Greece,1999(9):1150-1157.
[3] LOWE D G.Distinctive Image Features from Scale-Invariant Keypoints[C].International Journal of Computer Vision,60,2(2004):91-110.
[4] 李志華,陳耀武.基于多攝像頭的目標(biāo)連續(xù)跟蹤[J].電子測(cè)量與儀器學(xué)報(bào),2009,23(2):46-51.
[5] 劉兆慶,李瓊,劉景瑞,等.一種基于 SIFT 的圖像哈希算法[J].儀器儀表學(xué)報(bào),2011,32(9):2024-2028.
[6] 程成,須文波,冷文浩.基于 iSIGHT 平臺(tái) DOE方法的螺旋槳敞水性能優(yōu)化設(shè)計(jì) [ J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28( 6): 1455- 1459.
[7] 于麗莉,戴青.一種改進(jìn)的 SIFT 特征匹配算法[J].計(jì)算機(jī)工程,2011,37(2):210-212.
[8] 吳銳航.基于SIFT特征的圖像檢索技術(shù)研究[D].廈門大學(xué),2007.endprint