陳 佳,朱長(zhǎng)仁,羅 賓
(1.國(guó)防科技大學(xué) 電子科學(xué)與工程學(xué)院 ATR重點(diǎn)實(shí)驗(yàn)室,長(zhǎng)沙 410073;2.武警福建總隊(duì)直屬支隊(duì),福州 350001)
一種camshift算法與brisk特征點(diǎn)相結(jié)合的運(yùn)動(dòng)目標(biāo)跟蹤方法
陳 佳1,2,朱長(zhǎng)仁2,羅 賓2
(1.國(guó)防科技大學(xué) 電子科學(xué)與工程學(xué)院 ATR重點(diǎn)實(shí)驗(yàn)室,長(zhǎng)沙 410073;2.武警福建總隊(duì)直屬支隊(duì),福州 350001)
傳統(tǒng)的camshift算法中,當(dāng)目標(biāo)移動(dòng)過(guò)快或背景同目標(biāo)相似時(shí)容易導(dǎo)致目標(biāo)跟蹤丟失,在各種復(fù)雜情況下,如何保持跟蹤的有效性及連續(xù)性成為眾多研究人員不斷努力的方向。為此,提出了一種brisk特征點(diǎn)檢測(cè)與camshift算法相結(jié)合的目標(biāo)跟蹤方法,以及簡(jiǎn)化的搜索窗口修正方法,在camshift算法基礎(chǔ)上,通過(guò)不同幀的目標(biāo)上brisk特征點(diǎn)匹配來(lái)防止局部最大值的出現(xiàn)以及目標(biāo)移動(dòng)過(guò)快導(dǎo)致的跟蹤窗口丟失。實(shí)驗(yàn)結(jié)果表明:該方法有效地提高了目標(biāo)跟蹤的連續(xù)性和穩(wěn)定性,與其他特征點(diǎn)結(jié)合的算法相比有更好的實(shí)時(shí)性及精確性。
目標(biāo)跟蹤;camshift;meanshift;brisk特征點(diǎn)
目標(biāo)跟蹤是智能視頻研究領(lǐng)域的一個(gè)熱點(diǎn),吸引著越來(lái)越多研究人員的關(guān)注。傳統(tǒng)的目標(biāo)跟蹤方法通常分為基于檢測(cè)的跟蹤算法,基于模板匹配的跟蹤算法,以及基于統(tǒng)計(jì)學(xué)習(xí)的跟蹤算法。幀差分法是最簡(jiǎn)單的一種檢測(cè)方法,但其不適用于移動(dòng)背景下的目標(biāo)檢測(cè)[4]。模板匹配方法采用目標(biāo)圖像模板同待匹配區(qū)域進(jìn)行相似度計(jì)算,把相似度最高的區(qū)域作為匹配結(jié)果,雖然算法簡(jiǎn)單,計(jì)算速度快,但相似度匹配的計(jì)算受噪音影響比較明顯,對(duì)非剛體目標(biāo)適應(yīng)性差。基于統(tǒng)計(jì)學(xué)習(xí)的跟蹤方法中,粒子濾波方法采用一系列帶有權(quán)值的隨機(jī)采樣點(diǎn)來(lái)表示所求的目標(biāo)模型的后驗(yàn)概率密度函數(shù),再利用這些采樣點(diǎn)和權(quán)值來(lái)估算目標(biāo)的最終概率密度,但是不斷的重采樣過(guò)程中容易出現(xiàn)粒子的退化現(xiàn)象,導(dǎo)致跟蹤結(jié)果的不穩(wěn)定[5]。均值漂移是一種基于核函數(shù)的概率密度方法,其代表性的camshift算法通過(guò)計(jì)算當(dāng)前跟蹤窗口中目標(biāo)模型概率密度最大的方向來(lái)不斷調(diào)整搜索窗口的中心位置,最終得到運(yùn)動(dòng)目標(biāo)在窗口中的穩(wěn)定位置。
Camshift[8]算法是一種基于顏色直方圖模型的跟蹤算法,但在目標(biāo)直方圖模型的建立及目標(biāo)跟蹤過(guò)程中極易受到諸如光線、視角、攝像機(jī)參數(shù)等環(huán)境因素的影響,導(dǎo)致跟蹤誤差或丟失目標(biāo),于是,針對(duì)camshift的各種改進(jìn)方法被提出來(lái)。文獻(xiàn)[6]將目標(biāo)的顏色直方圖同LBP紋理特征相結(jié)合,通過(guò)定義加權(quán)融合的函數(shù)來(lái)表示目標(biāo)模型,提高了跟蹤的魯棒性。文獻(xiàn)[7]提出了一種融合H、S分量的多維直方圖來(lái)表示目標(biāo)模型,該方法比單純采用一維直方圖能更加精確地表示目標(biāo)模型。近年來(lái),由于快速局部特征檢測(cè)算法的提出,不少研究人員嘗試在跟蹤過(guò)程中通過(guò)提取目標(biāo)特征點(diǎn)的方式來(lái)防止camshift跟蹤過(guò)程中對(duì)目標(biāo)的誤判及丟失。文獻(xiàn)[9]提出了將sift特征融合色彩概率模型來(lái)進(jìn)行目標(biāo)的匹配,提高了目標(biāo)跟蹤的魯棒性。文獻(xiàn)[12]采用速度較快的快速魯棒特征(surf特征)提高算法的實(shí)時(shí)性,但在初次化時(shí)必須預(yù)先提取目標(biāo)的特征點(diǎn),該方法適用于對(duì)已知目標(biāo)的跟蹤。文獻(xiàn)[11]在文獻(xiàn)[9-12]的基礎(chǔ)上,提出了將orb特征檢測(cè)同camshift結(jié)合起來(lái),通過(guò)orb特征點(diǎn)匹配來(lái)修正窗口漂移的誤差,并計(jì)算特征點(diǎn)尺度和方向的變化來(lái)重計(jì)算窗口的大小和位移。
然而,對(duì)實(shí)時(shí)跟蹤系統(tǒng)來(lái)說(shuō),速度與準(zhǔn)確性是制約系統(tǒng)性能的兩大問(wèn)題。傳統(tǒng)的sift、surf特征提取方法雖然精度高,但由于其檢測(cè)方法及描述符生成算法較為復(fù)雜,在現(xiàn)實(shí)應(yīng)用中對(duì)硬件提出了較高的要求。orb算法雖然同surf、sift算法一樣具有尺度不變性,運(yùn)算速度也有不少改進(jìn),但其特征點(diǎn)精確度較易受到噪音影響,不如sift特征點(diǎn)穩(wěn)固。本文受文獻(xiàn)[10]啟發(fā),提出一種結(jié)合brisk特征檢測(cè)算法的改進(jìn)的camshift算法,在提高特征點(diǎn)精度的前提下,進(jìn)一步優(yōu)化搜索窗口的修正,可有效避免目標(biāo)的誤判及跟蹤丟失。
Camshift算法全稱(chēng)為連續(xù)自適應(yīng)目標(biāo)跟蹤算法(continuously adaptive mean-SHIFT),其本質(zhì)是在序列圖像上反復(fù)調(diào)用meanshift算法來(lái)實(shí)現(xiàn)目標(biāo)跟蹤。Meanshift算法作為一種非參數(shù)的概率密度估計(jì)方法,最早在文獻(xiàn) [2]于1975年提出,當(dāng)時(shí)主要是作為一種聚類(lèi)方法用于單幅圖像的分割。文獻(xiàn) [3]對(duì)其進(jìn)行了改進(jìn),并用來(lái)尋找相似概率密度的模型。文獻(xiàn)[8]通過(guò)改進(jìn)meanshift算法,第一次把camshift算法用于人臉跟蹤過(guò)程,至此camshift算法被引入目標(biāo)跟蹤領(lǐng)域并被廣泛應(yīng)用。
1.1 Meanshift算法基本原理
Meanshift算法的中心思想是通過(guò)建立目標(biāo)的顏色概率密度模型,在待匹配模板上反復(fù)迭代,不斷往概率密度最近似的位置移動(dòng),以此尋找相似像素的區(qū)域中心。具體為:從每個(gè)像素開(kāi)始,首先估計(jì)有相似顏色的鄰近像素點(diǎn)的密度(局部密度)的梯度,而后利用迭代算法求出局部密度的峰值(即重心點(diǎn)),最后以該峰值為中心,并把位置作為結(jié)果輸出。Meanshift作為一種高效的模式匹配算法,不需要進(jìn)行全局搜索,搜索精度高,其基本流程如下:
1) 選擇跟蹤窗口的大小和初始位置。在meanshift跟蹤算法中,核窗寬的大小(即核函數(shù)的定義域大小,即搜索框的大小)起著非常重要的作用。它不但決定了參與meanshift迭代的樣本數(shù)量,而且也反映了跟蹤窗口的大小。通常,核窗寬由初始跟蹤窗口的尺寸決定,且在整個(gè)跟蹤過(guò)程中不再發(fā)生變化。
2) 計(jì)算跟蹤窗口內(nèi)的質(zhì)心或重心。在離散二維(2D)概率分布圖像中,計(jì)算某窗口的質(zhì)心同物理上計(jì)算某物體的質(zhì)心一樣,即利用窗口零階矩M00和(x,y)的一階矩(M10,M01)之間的關(guān)系,計(jì)算得到窗口的質(zhì)心。則跟蹤窗口的質(zhì)心(Xc,Yc)計(jì)算公式為
(1)
其中,跟蹤窗口的零階矩為
(2)
跟蹤窗口的一階矩為
(3)
式中 Ic(x,y) 是(x,y)坐標(biāo)的像素值,x,y的變化范圍為搜索窗大小。
3) 調(diào)整跟蹤窗口的中心到質(zhì)心。
4) 重復(fù)第2)步和第3)步,直到跟蹤窗口中心和質(zhì)心“會(huì)聚”,即每次窗口移動(dòng)的距離小于一定的閾值。
由此,得到的輸出結(jié)果為圖像上同目標(biāo)模板最相似的區(qū)域。
1.2 Camshift算法基本原理
Camshift作為基于meanshift改進(jìn)的一種自適應(yīng)跟蹤算法,與meanshift的區(qū)別是: meanshift每次迭代搜索后,搜索框大小都不會(huì)改變,而camshift每次搜索及匹配完畢后,都會(huì)根據(jù)最近一次目標(biāo)匹配結(jié)果重新計(jì)算搜索框大小,來(lái)進(jìn)行下一次meanshift計(jì)算。這樣,當(dāng)非剛體目標(biāo)在運(yùn)動(dòng)中外觀尺寸發(fā)生細(xì)微變化,或者當(dāng)跟蹤場(chǎng)景受到光照等其他因素影響時(shí),camshift算法就能在跟蹤過(guò)程中表現(xiàn)出比meanshift更好的適應(yīng)性。其算法步驟如下:
1) 在顏色概率分布圖中初始化一個(gè)搜索窗W,其大小為S;
2) 利用meanshift 算法使搜索窗口“收斂”。在概率分布圖像中,通過(guò)計(jì)算搜索窗口的質(zhì)心,調(diào)整搜索窗口的中心到計(jì)算的質(zhì)心位置。重復(fù)該過(guò)程,直到“收斂”(即中心的位移動(dòng)小于給定的閾值)。
3) 重新設(shè)置搜索窗口的大小S并計(jì)算跟蹤目標(biāo)的輸出參數(shù)。對(duì)于顏色概率分布圖像,零階矩代表了跟蹤目標(biāo)在圖像中的面積,又因?yàn)轭伾怕史植紙D像是256個(gè)量化級(jí)別的灰度圖像,因此,更新搜索窗口的寬度s和零階矩M00的關(guān)系為
(4)
其中零階矩M00由式(3)~(7)給出。并用該窗口初始化下一幀meanshift 的搜索窗口。
4) 跳轉(zhuǎn)到第二步進(jìn)入下一幀的循環(huán)。直到中心的位移小于閾值。
1.3 Camshift算法的不足之處
Camshift算法盡管采用了動(dòng)態(tài)的跟蹤窗口對(duì)跟蹤過(guò)程進(jìn)行優(yōu)化,但在其跟蹤過(guò)程中依靠預(yù)先建立的目標(biāo)顏色概率模型,通過(guò)不斷迭代來(lái)靠近概率密度最高的點(diǎn)(即目標(biāo)的質(zhì)心),其搜索窗口尺寸的自動(dòng)調(diào)整策略是在上一幀窗口大小的基礎(chǔ)上,長(zhǎng)和寬分別向外擴(kuò)張一定距離,在更大的空間范圍內(nèi)重新計(jì)算目標(biāo)的質(zhì)心并估計(jì)目標(biāo)面積。因此,在運(yùn)動(dòng)目標(biāo)經(jīng)過(guò)的背景區(qū)域中,如果存在和目標(biāo)顏色近似的物體或背景塊,且其面積大于或等于當(dāng)前運(yùn)動(dòng)目標(biāo)尺寸,算法容易在“虛假的目標(biāo)”上得到概率密度的最大值,搜索框因此不再跟隨真正的目標(biāo)移動(dòng),導(dǎo)致了跟蹤丟失。此外,當(dāng)運(yùn)動(dòng)目標(biāo)速度突變或過(guò)快時(shí),由于超出了搜索框的計(jì)算范圍,也容易導(dǎo)致跟蹤目標(biāo)的丟失。
圖1顯示了序列視頻中,當(dāng)運(yùn)動(dòng)目標(biāo)接近顏色相似的物體時(shí),camshift算法對(duì)目標(biāo)進(jìn)行了錯(cuò)誤的判定,導(dǎo)致目標(biāo)跟蹤失敗。
圖1 Camshift算法導(dǎo)致的目標(biāo)跟蹤丟失
Brisk特征點(diǎn)[1]是由Leutenegger于 2011年提出的一種快速的、具有旋轉(zhuǎn)及縮放尺度不變性的特征點(diǎn)描述及檢測(cè)方法。同sift、surf特征點(diǎn)一樣,brisk具有旋轉(zhuǎn)及尺度變化適應(yīng)性,但在特征點(diǎn)檢測(cè)及描述符生成上都比sift、surf算法更為迅速,同時(shí)彌補(bǔ)了orb特征點(diǎn)不具有尺度變化適應(yīng)性的不足。文獻(xiàn)[13-14]中有詳細(xì)的性能對(duì)比,下面對(duì)原理進(jìn)行描述。
在特征點(diǎn)檢測(cè)方面,brisk算法首先構(gòu)建尺度空間金字塔,并通過(guò)Adaptive and Generic Accelerated Segment Test (AGAST) 角點(diǎn)檢測(cè)算子提取連續(xù)尺度空間中亞像素級(jí)精度的穩(wěn)定極值點(diǎn)。AGAST 角點(diǎn)檢測(cè)算法是對(duì)著名的 FAST 角點(diǎn)檢測(cè)算法[9]的改進(jìn)。 AGAST算法流程如下:在一個(gè)像素點(diǎn)周邊半徑3的區(qū)域里,通過(guò)預(yù)設(shè)閾值T、N,然后對(duì)比該像素點(diǎn)同周邊像素點(diǎn)的亮度。假設(shè)中心像素點(diǎn)為P,其亮度為Ip,如果周邊有連續(xù)N個(gè)像素點(diǎn)其亮度大于Ip+T,或有連續(xù)N個(gè)像素點(diǎn)其亮度小于Ip-T,就把點(diǎn)P標(biāo)識(shí)為空間中的一個(gè)角點(diǎn)。
在描述符生成方面,brisk描述符作為一種二進(jìn)制描述符,主要由2個(gè)步驟組成:① 周邊像素采樣對(duì)生成;② 特征點(diǎn)描述符生成。首先選取周邊采樣對(duì),即通過(guò)選擇合適的角點(diǎn)周邊像素信息來(lái)描述角點(diǎn)的唯一性。不同于surf、sift特征點(diǎn)通過(guò)將角點(diǎn)周邊區(qū)域分塊計(jì)算直方圖方式來(lái)進(jìn)行描述,也不同于orb特征點(diǎn)對(duì)周邊區(qū)域隨機(jī)采樣來(lái)建立二進(jìn)制描述符,brisk算法通過(guò)以角點(diǎn)為中心40×40 像素塊(見(jiàn)圖2)內(nèi)構(gòu)建多個(gè)同心圓,對(duì)這些圓進(jìn)行均衡配對(duì)。
圖2 以角點(diǎn)為中心40×40像素塊內(nèi)的同心圓
圖3為角點(diǎn)周邊均衡選取采樣點(diǎn)對(duì),每一對(duì)點(diǎn)之間用紅色實(shí)線相連表示。brisk特征點(diǎn)的方向是其在匹配過(guò)程中具有旋轉(zhuǎn)不變特性的關(guān)鍵,其計(jì)算方法如下:
1) 求出角點(diǎn)周邊區(qū)域的不變矩
(5)
2) 計(jì)算不變矩的重心
(6)
3) 計(jì)算特征點(diǎn)的方向,特征點(diǎn)的方向?yàn)橹行慕屈c(diǎn)同重心的連線所表示的方向,其同水平線夾角表示為
(7)
最后,生成二進(jìn)制描述符。規(guī)則為按照周邊采樣點(diǎn)對(duì)先后順序,若左邊的點(diǎn)大于右邊的點(diǎn),則該采樣對(duì)的值設(shè)為1;若小于右邊的點(diǎn),則該采樣對(duì)的值設(shè)為0。根據(jù)選取采樣對(duì)的數(shù)量及精度要求,一個(gè)特征點(diǎn)最終可由128位、256位或512位bit串來(lái)表示。
由于brisk特征點(diǎn)在計(jì)算速度及精度上顯示出來(lái)的優(yōu)越性,本文采用brisk特征點(diǎn)同camshift算法相結(jié)合的方法來(lái)進(jìn)行運(yùn)動(dòng)目標(biāo)的實(shí)時(shí)跟蹤。
圖3 以角點(diǎn)為中心周邊采樣點(diǎn)對(duì)
針對(duì)camshift算法在相似顏色背景下由于誤判導(dǎo)致跟蹤丟失的問(wèn)題,本文擬結(jié)合brisk特征點(diǎn)對(duì)camshift算法進(jìn)行改進(jìn)。改進(jìn)的思路基于以下假設(shè):首先,在大多數(shù)日常監(jiān)控場(chǎng)景中,目標(biāo)由遠(yuǎn)及近運(yùn)動(dòng),或者由近及遠(yuǎn)運(yùn)動(dòng),這樣會(huì)導(dǎo)致目標(biāo)尺寸大小的改變,但這種改變一定是平滑漸進(jìn)的。在基于camshift算法的跟蹤過(guò)程中,如果跟蹤窗口的尺寸突然出現(xiàn)了大范圍的變化,則有可能是因?yàn)槌霈F(xiàn)局部極大值而導(dǎo)致搜索窗口出現(xiàn)錯(cuò)判,需要加以驗(yàn)證。其次,大多數(shù)情況下運(yùn)動(dòng)目標(biāo)的移動(dòng)速度及速度改變量也是平滑漸進(jìn)的,如果目標(biāo)運(yùn)動(dòng)速度過(guò)快,搜索窗口無(wú)法有效追蹤目標(biāo),那么搜索窗口極有可能在當(dāng)前窗口的背景區(qū)域內(nèi)就近尋找概率密度最相似的背景區(qū)域,并把該區(qū)域誤判為目標(biāo)區(qū)域,從而導(dǎo)致跟蹤窗口的尺寸出現(xiàn)較大變化或者跟蹤窗口的位移量超過(guò)之前的平均值。為此,本文提出的改進(jìn)方法是:通過(guò)搜索窗口內(nèi)的brisk特征點(diǎn)匹配來(lái)對(duì)搜索窗口的大小和位置進(jìn)行修正。
具體思路為:首先在每一幀跟蹤窗口內(nèi)先提取brisk特征點(diǎn),并對(duì)跟蹤窗口的尺寸及位移變化量進(jìn)行記錄;然后在任一幀中,當(dāng)跟蹤窗口的尺寸或位移變化量超過(guò)預(yù)設(shè)的閾值時(shí),就把當(dāng)前幀的brisk特征點(diǎn)同上一幀的brisk特征點(diǎn)進(jìn)行匹配,以重新計(jì)算出當(dāng)前跟蹤窗口的大小和位置,并作為下一次camshift計(jì)算的輸入?yún)?shù)。
3.1 特征點(diǎn)提取及匹配
對(duì)序列圖像中每一幀中camshift的搜索框內(nèi),采用brisk算法提取特征點(diǎn)。
如圖4所示,(a)為對(duì)行人目標(biāo)進(jìn)行特征提取;(b)為對(duì)運(yùn)動(dòng)中的車(chē)輛目標(biāo)進(jìn)行特征提取。通過(guò)合適的參數(shù),brisk特征點(diǎn)檢測(cè)方法能夠在小尺寸的畫(huà)面內(nèi)提取足夠多的特征點(diǎn),以利于圖像處理中后續(xù)階段的分析和應(yīng)用。
如圖5所示,提取連續(xù)兩幀搜索框內(nèi)的特征點(diǎn)后,對(duì)其進(jìn)行匹配計(jì)算并通過(guò)ransac算法剔除錯(cuò)誤匹配對(duì),保留正確匹配對(duì)Matches(left,right)。
圖4 對(duì)運(yùn)動(dòng)目標(biāo)提取特征點(diǎn)
圖5 前后兩幀搜索窗口內(nèi)的特征點(diǎn)匹配
3.2 重新計(jì)算搜索窗口大小及位置
3.2.1 觸發(fā)條件
為了防止跟蹤誤判,當(dāng)前幀的搜索窗口尺寸同上一幀相比發(fā)生突變時(shí),比如窗口面積變化大于10%或位移加速度超過(guò)20%(通過(guò)設(shè)定閾值T)時(shí),根據(jù)當(dāng)前有效匹配特征點(diǎn)計(jì)算投影變換矩陣,觸發(fā)條件的公式表示如下:
條件1
(8)
其中:Sn為當(dāng)前幀跟蹤窗口面積;Sn-1為上一幀跟蹤窗口面積;Ts為面積改變量預(yù)設(shè)閾值。
當(dāng)前幀搜索窗口的位移(以窗口中心坐標(biāo)為依據(jù))變化速率改變大于一定閾值時(shí)(比如前幾幀的平均位移量的30%),重新計(jì)算并確定當(dāng)前跟蹤窗口大小及位置,公式表示如下:
條件2
計(jì)算絕對(duì)位移
(9)
計(jì)算位移改變量
(10)
其中:ΔP為當(dāng)前跟蹤窗口中心同上一幀的跟蹤窗口中心的絕對(duì)位移量;Tp為預(yù)設(shè)的位移量改變閾值。當(dāng)觸發(fā)條件滿(mǎn)足時(shí),進(jìn)行下一步計(jì)算投影變換矩陣并重新計(jì)算當(dāng)前幀中跟蹤窗口的大小及位置。
3.2.2 計(jì)算投影變換矩陣
Homography變換矩陣是一個(gè)3×3的單應(yīng)性矩陣,用來(lái)描述圖像A通過(guò)尺度、旋轉(zhuǎn)、仿射變換到圖像B后圖像上各點(diǎn)的對(duì)應(yīng)關(guān)系。當(dāng)求得兩幅圖像中的匹配點(diǎn)Maches(left)、Maches(right)后,如果匹配點(diǎn)對(duì)數(shù)大于等于3,即可以計(jì)算出兩幅圖像之間的Homography變換矩陣H。
3.2.3 修正窗口大小及位置
計(jì)算出變換矩陣H后,就可以直接通過(guò)前一幀搜索窗口4個(gè)角的坐標(biāo),計(jì)算出修正后搜索窗口4個(gè)角的新坐標(biāo)。其公式為:
corner2(x,y,1)=H×corner1(x,y,1)
(11)
3.3 簡(jiǎn)化的窗口大小及位置計(jì)算方法
考慮到幀與幀之間運(yùn)動(dòng)目標(biāo)自身運(yùn)動(dòng)及環(huán)境影響導(dǎo)致的形狀變化非常微小,對(duì)整個(gè)跟蹤窗口的影響不大,如果采用傳統(tǒng)的單映矩陣公式來(lái)計(jì)算需要耗費(fèi)一定的計(jì)算資源。本文提出一種簡(jiǎn)化的方法重新計(jì)算跟蹤窗口的大小及位置。
設(shè)當(dāng)前幀跟蹤窗口內(nèi)的特征點(diǎn)集為Fn,前一幀窗口內(nèi)為fn(Fn,fn均為經(jīng)過(guò)濾后完全匹配的特征點(diǎn))。前一幀跟蹤窗口的寬、高分別為w,h,當(dāng)前窗口的寬高分別為W,H,窗口旋轉(zhuǎn)角度為θ。
(12)
(13)
(14)
通過(guò)以上公式,可以近似得到新跟蹤窗口的大小,無(wú)需計(jì)算矩陣投影公式。該方法簡(jiǎn)單、計(jì)算速度快,其誤差對(duì)新窗口在下一步camshift迭代運(yùn)算的影響微小。
最后,把計(jì)算得到的新跟蹤窗口的尺寸及位置作為下一次camshift迭代的初始化窗口,繼續(xù)進(jìn)行camshift運(yùn)算。
跟蹤算法流程見(jiàn)圖6。
圖6 跟蹤算法流程
為進(jìn)一步驗(yàn)證本文提出算法的有效性,采用pets 2001 dataset 公開(kāi)數(shù)據(jù)集,分別對(duì)dataset2視頻中的行人和車(chē)輛的跟蹤進(jìn)行了測(cè)試。實(shí)驗(yàn)環(huán)境為華碩筆記本電腦、intel p3處理器、2GB內(nèi)存、vs2010平臺(tái)。
4.1 跟蹤效果對(duì)比
主要對(duì)比原始camshift算法同本文改進(jìn)的算法對(duì)目標(biāo)跟蹤的結(jié)果。
圖7為使用camshift算法對(duì)測(cè)試視頻中的車(chē)輛進(jìn)行跟蹤的結(jié)果。如圖7所示,從2 530幀開(kāi)始,由于受到背景停放車(chē)輛顏色相似的影響,搜索窗口在自適應(yīng)過(guò)程中進(jìn)行了錯(cuò)誤的判定,導(dǎo)致目標(biāo)跟蹤失敗。圖8為采用本文算法的跟蹤結(jié)果,通過(guò)采用特征點(diǎn)匹配進(jìn)行窗口及位置的修正,有效避免了目標(biāo)的錯(cuò)誤判定。
圖8 本文算法對(duì)車(chē)輛跟蹤結(jié)果
圖9為使用camshift算法對(duì)行人進(jìn)行跟蹤的結(jié)果。從第2 259幀開(kāi)始,跟蹤窗口受到背景顏色的干擾出現(xiàn)了錯(cuò)誤的判定。圖10為采用本文算法的跟蹤結(jié)果,通過(guò)特征點(diǎn)匹配及窗口重修正,有效避免了跟蹤錯(cuò)誤。
圖9 原始camshift算法對(duì)行人跟蹤結(jié)果
圖10 本文算法對(duì)行人跟蹤結(jié)果
4.2 跟蹤速度及精度對(duì)比
為比較算法的跟蹤速度,本文采用結(jié)合不同特征檢測(cè)算子對(duì)同一測(cè)試視頻,同一跟蹤目標(biāo)在有效跟蹤時(shí)段內(nèi)每一幀的平均計(jì)算時(shí)間進(jìn)行對(duì)比。如表1所示,通過(guò)對(duì)比可以看出:結(jié)合brisk特征點(diǎn)的算法在速度上超過(guò)surf特征點(diǎn),但是會(huì)比orb特征點(diǎn)稍慢。
表1 結(jié)合不同特征檢測(cè)算法跟蹤速度對(duì)比
表2 不同算法跟蹤精確性對(duì)比
為比較算法精確性,本文參考文獻(xiàn)[15]中的運(yùn)動(dòng)目標(biāo)軌跡精確性評(píng)估方法,提取運(yùn)動(dòng)目標(biāo)在每一幀的質(zhì)心坐標(biāo)和跟蹤算法中每一幀跟蹤窗口的中心位置坐標(biāo),然后計(jì)算兩者之間的距離,最后計(jì)算出各自總測(cè)試幀數(shù)的平均值進(jìn)行比較。如表2所示,通過(guò)對(duì)比可以看出,本文提出的算法在跟蹤精確性上比結(jié)合orb特征點(diǎn)的算法有明顯的提高。
本文主要針對(duì)傳統(tǒng)camshift算法的不足之處,結(jié)合最新的brisk特征點(diǎn)檢測(cè)方法,提出了一種改進(jìn)的camshift算法。當(dāng)目標(biāo)同背景顏色近似導(dǎo)致跟蹤丟失時(shí),能夠通過(guò)特征點(diǎn)匹配的方式進(jìn)行驗(yàn)證判斷,并通過(guò)前后特征點(diǎn)集重新計(jì)算搜索窗口的尺寸及位置。但是,brisk特征點(diǎn)僅從灰度圖像上尋找特征點(diǎn),并且在運(yùn)動(dòng)目標(biāo)尺寸過(guò)小或者序列圖像清晰度不高的情況下,難以提取出足夠數(shù)量有效的特征點(diǎn)實(shí)施檢測(cè),影響了特征匹配及搜索窗口修正的精確性。如何使本文算法具有更多的適應(yīng)性是下一步研究的方向。
[1] LEUTENEGGER S, CHLI M, SIEGWART R Y.BRISK:Binary robust invariant scalable keypoints[C]//2011IEEE International Conference on Computer Vision.2011.Spain:[s.n.],2011:2548-2555.
[2] FUKUNAGA K,HOSTETLER L.The estimation of the gradient of a density function,with applications in pattern recognition[J].IEEE Trans Info.Theory,1975,21:32-40.
[3] CHENG Y.Mean shift,mode seeking,and clustering[J].IEEE Trans.Pattern Anal Machine Intelligence,1995,17:790-799.
[4] 張娟,毛曉波,陳鐵軍.運(yùn)動(dòng)目標(biāo)跟蹤算法研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2009(12):4407-4410.
[5] 黃凱奇,陳曉棠,康運(yùn)鋒,等.智能視頻監(jiān)控技術(shù)綜述[J].計(jì)算機(jī)學(xué)報(bào),Chinese Journal of Computers,2015(6).
[6] YIN J,HAN Y,LI J,et al.Research on real-time object tracking by improved Camshift[Z].International Symposium on Computer Network and Multimedia Technology,Wuhan,2009:1-4.
[7] SUN L,WANG B R,IKENAGA T.Real-time non-rigid object tracking using CAMShift with weighted back projection[C]//International Conference on Computational Science and Its Applications.Fukuoka:[s.n.],2010:86-91.
[8] BRADSKI G R.Computer vision face tracking for use in a perceptual user interface[J].Intel Technology Journal,2nd Quarter,1998.
[9] QIU X N,LIU S R,LIU F.An adaptive kernel based target tracking method based on multiple features fusion[J].EEJ Transactions on Electrical and Electronic Engineering,January 2012,7(1):91-97.
[10]ELMAR MAIR,GREGORY D,HAGER,et al.Adaptive and Generic Corner Detection Based on the Accelerated Segment Test[J].Computer Vision-ECCV 2010 Lecture Notes in Computer Science,2010,6312:183-196.
[11]鐘華民,王偉,張慧華.結(jié)合ORB特征和色彩模型的視覺(jué)跟蹤算法[J].模式識(shí)別與人工智能,2005(1):90-96.
[12]YUNJI ZHAO,HAILONG PEI,HONGBO ZHOU.Improved Vision-Based Algorithm for Unmanned Aerial Vehicles Autonomous Landing[J].Journal of Multimedia,2013,8(2):90.
[13]SCHAEFFER C.A Comparison of Keypoint Descriptors in the Context of Pedestrian Detection:FREAK vs.SURF vs.BRISK[Z].International Journal of Computer Applications,2014.
[14]MIKSIK O,MIKOLAJCZYK K.Evaluation of Local Detectors and Descriptors for Fast Feature Matching[C]//Pattern Recognition (ICPR),2012 21st International Conference.Japan:[s.n.],2012.
[15]李鵬飛,陳朝武,李曉峰.智能視頻算法評(píng)估綜述[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2010(2):352-360.
(責(zé)任編輯 楊黎麗)
A Combination of Camshift Algorithm and Brisk Feature Point for Real Time Moving Target Tracking
CHEN Jia1,2, ZHU Chang-ren2, LUO Bin2
(1.ATR Key Laboratory, College of Electronic Science and EngineeringNational University of Defense Technology, Changsha 410073, China;2.The Fujian Province Armed Police Corps Directly Under Detachment Team,Fuzhou 350001, China)
In traditional camshift algorithm, when the target moves too fast or the background has similar color, it will lead to the loss of target easily, and how to maintain the effectiveness and continuity of the tracking becomes the direction for many researchers under various complex situations. Therefore, we proposed a improved camshift algorithm based on combination of camshift and brisk feature point and a simplified search window correction method, which prevent the emergence of a local maximum and the loss of tracking window with matching different frames on the goal of your brisk feature point. Experiments show that our method effectively improve the continuity and stability of target tracking. In combination with other feature points algorithm, it has better real-time comparison and accuracy
target tracking; camshift; meanshift; brisk feature point
2015-4-20 作者簡(jiǎn)介:陳佳(1983—),男,碩士研究生,主要從事圖像處理與模式識(shí)別研究。
陳佳,朱長(zhǎng)仁,羅賓.一種camshift算法與brisk特征點(diǎn)相結(jié)合的運(yùn)動(dòng)目標(biāo)跟蹤方法[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2015(12):112-119.
format:CHEN Jia, ZHU Chang-ren, LUO BinA Combination of Camshift Algorithm and Brisk Feature Point for Real Time Moving Target Tracking [J].Journal of Chongqing University of Technology(Natural Science),2015(12):112-119.
10.3969/j.issn.1674-8425(z).2015.12.019
TP301.6
A
1674-8425(2015)12-0112-08