李鵬+王延江
摘 要:視頻中的多目標(biāo)跟蹤是計(jì)算機(jī)視覺領(lǐng)域的一個重要問題.針對多目標(biāo)跟蹤過程中由于目標(biāo)縮放、旋轉(zhuǎn)、扭曲以及遮擋等問題的存在導(dǎo)致目標(biāo)易丟失的問題,提出了一種基于ORB特征點(diǎn)的多目標(biāo)跟蹤算法.首先利用"運(yùn)動邊緣生長"算法得到目標(biāo)塊,再利用目標(biāo)塊的 ORB特征與特征模板的匹配來實(shí)現(xiàn)目標(biāo)的關(guān)聯(lián).通過匹配過程,目標(biāo)模板能夠得到實(shí)時更新,即去除由噪聲帶來的過時的特征信息并添加進(jìn)新的特征信息,保證特征模板的實(shí)時有效性,進(jìn)而提高跟蹤過程中匹配的可靠性.實(shí)驗(yàn)結(jié)果表明,本算法能夠?qū)崟r有效地處理目標(biāo)由于形變以及局部遮擋而導(dǎo)致跟蹤性能下降甚至跟蹤目標(biāo)丟失的問題,具有較好的魯棒性.
關(guān)鍵詞:顯著性;特征點(diǎn);匹配;目標(biāo)跟蹤
中圖分類號:TP 391.4 文獻(xiàn)標(biāo)志碼:A
Multi-target Tracking Algorithm Based on ORB FeaturePoints Matching
LI Peng1,2,WANG Yanjiang1
(1.College of Information and Control Engineering,China University of Petroleum,Qingdao 266580,China;
2.College of Computer and Communication Engineering,China University of Petroleum,Qingdao 266580,China)
Abstract:Video multi-target tracking is an important problem in the field of computer vision. In order to solve the problem where the target is easy to lose due to target scaling,rotation,distortion and occlusion,this paper proposed a multi-target tracking algorithm based on ORB feature point . First,the "moving edge growth" algorithm was used to obtain target blocks. Next,targets were associated by matching the ORB features of target blocks with feature templates. The matching process enables target templates to be updated in the real time by eliminating the old feature information from the noise and adding new feature information. In this way,effectiveness of feature template is guaranteed in the real time,resulting in greater reliability of matching during the tracking process. Experimental results demonstrate the ability of the proposed algorithm to robustly track targets even if the targets are deformed or partially occluded.
Key words:saliency; feature point; matching; target tracking
視覺跟蹤是計(jì)算機(jī)視覺技術(shù)的一個關(guān)鍵應(yīng)用,在智能監(jiān)控、移動機(jī)器人、導(dǎo)航制導(dǎo)及無人駕駛等領(lǐng)域具有廣闊的應(yīng)用和發(fā)展前景.近年來研究人員在視覺跟蹤領(lǐng)域開展了大量工作,提出了很多相關(guān)的理論和方法.這些理論和方法大致可分為3類:基于濾波理論[1-2],基于目標(biāo)模式搜索匹配理論[3-4]和基于分類理論[5-6].基于濾波理論的跟蹤方法的典型代表是無跡卡爾曼濾波(UKF)和粒子濾波(PF)等[7],但它們難以適應(yīng)一些實(shí)時性要求較高的跟蹤場合;目標(biāo)模式搜索匹配理論一個代表是Camshift跟蹤[8],算法計(jì)算量小、實(shí)時性好,但背景較為混雜、目標(biāo)遮擋以及目標(biāo)運(yùn)動較快的時候跟蹤效果不佳,因此往往需要和其他目標(biāo)特征或跟蹤方法配合使用;Yang 等[9]提出一種利用背景減除法得到目標(biāo),然后利用模板匹配進(jìn)行目標(biāo)跟蹤的方法,但是該方法在目標(biāo)間遮擋的情況下不能有效分割各目標(biāo).基于分類理論的目標(biāo)跟蹤需要采用機(jī)器學(xué)習(xí)的方法對目標(biāo)樣本進(jìn)行訓(xùn)練學(xué)習(xí),跟蹤效果往往取決于分類器的設(shè)計(jì)和樣本的多少.為了解決運(yùn)動目標(biāo)由于旋轉(zhuǎn)、縮放、光照變化等情況給跟蹤算法帶來的問題,部分學(xué)者將sift特征[10]用在目標(biāo)跟蹤中[11-13],在跟蹤穩(wěn)定性上有所提高,但耗時較大,不利于目標(biāo)跟蹤的實(shí)時性.Rublee等人[14]提出了一種稱為ORB的具有旋轉(zhuǎn)和尺度不變性的特征檢測算法,在得到較高質(zhì)量特征點(diǎn)的同時,速度上比sift提升了兩個數(shù)量級,適合于應(yīng)用在對實(shí)時性要求較高的場合.
人類利用視覺注意機(jī)制能夠從場景中迅速選擇少數(shù)幾個顯著度高的目標(biāo)或區(qū)域進(jìn)行優(yōu)先處理從而提高信息的處理效率.另外,視覺系統(tǒng)對生物運(yùn)動信息具有特殊的敏感性,因此,將目標(biāo)的運(yùn)動顯著性引入到目標(biāo)檢測或跟蹤框架中,對于提高檢測及跟蹤的性能具有重要意義.Zhang 等[15]將運(yùn)動顯著圖和粒子濾波結(jié)合實(shí)現(xiàn)了對多目標(biāo)的穩(wěn)定跟蹤,但是對于目標(biāo)范圍的界定不太準(zhǔn)確.endprint
本文在利用邊緣幀差結(jié)合LK光流法來獲得目標(biāo)運(yùn)動邊緣顯著性的基礎(chǔ)上,對運(yùn)動目標(biāo)進(jìn)行分割,并對得到的目標(biāo)塊提取ORB特征,利用該特征與目標(biāo)信息庫中目標(biāo)模板的匹配實(shí)現(xiàn)運(yùn)動目標(biāo)關(guān)聯(lián).
1 運(yùn)動目標(biāo)檢測
目標(biāo)檢測是目標(biāo)跟蹤的前提.人眼視覺系統(tǒng)對于物體的邊緣具有強(qiáng)敏感性,往往通過邊緣信息獲取目標(biāo)物體的具體形狀、解讀目標(biāo)物體等[16-18],本文提出一種通過“運(yùn)動邊緣生長”提取運(yùn)動目標(biāo)的方法,其中的邊緣運(yùn)動顯著性通過光流計(jì)算得到.
1.1 邊緣顯著性
本文提出一種三幀邊緣差分的方法來進(jìn)行運(yùn)動邊緣檢測,其優(yōu)點(diǎn)是計(jì)算簡單并且能提取到最重要的運(yùn)動邊緣,為后面的光流法大大減少了計(jì)算量.Canny算子[19]能夠提取到較為理想的連續(xù)邊緣,因此,我們首先利用Canny 算子分別得到相鄰的t-1,t和t+1時刻的三幀圖像It-1,It和It+1的二值邊緣圖,分別記作Et-1,Et和Et+1,則三幀邊緣差分圖DEt表示為:
DEt=Et-Et-1∩Et+1-Et(1)
其中,∩表示相交運(yùn)算.
我們對邊緣檢測后的二值圖像DEt用3×3的正方形結(jié)構(gòu)元素進(jìn)行形態(tài)學(xué)閉運(yùn)算處理,既有助于邊緣的融合和連通區(qū)域的形成,又能去除一些較小的噪點(diǎn).本文通過Lucas-Kanade(LK)光流計(jì)算方法得到邊緣點(diǎn)運(yùn)動信息[20].LK是一種基于兩幀差分的稀疏光流估計(jì)算法,可以只處理一定數(shù)量的離散點(diǎn),計(jì)算開銷較小,易滿足對實(shí)時性的要求.
光流矢量v具有強(qiáng)度和方向兩個屬性.一般來說幅度越大的運(yùn)動越能吸引人眼的注意,因此我們將(i,j)位置處的某邊緣點(diǎn)的運(yùn)動強(qiáng)度SMi,j用光流矢量大小|v|表征,得到所有邊緣點(diǎn)的運(yùn)動顯著性后,令非運(yùn)動邊緣點(diǎn)的顯著度置為零,則得到與源圖像相同大小的顯著度矩陣作為運(yùn)動顯著圖;同時,每個運(yùn)動邊緣點(diǎn)的方向?qū)傩杂靡粋€3維向量Θi,j:Θi,j=(i,j,θ)表示并存儲,其中θ表示光流的方向弧度值.
提取邊緣運(yùn)動顯著性的基本過程如圖1所示.首先利用三幀邊緣差分法得到二值運(yùn)動邊緣圖,然后對運(yùn)動邊緣點(diǎn)利用LK算法提取光流矢量,再根據(jù)光流矢量大小得到對應(yīng)的邊緣顯著圖.
1.2 目標(biāo)分割
經(jīng)過三幀邊緣差分法得到的第t幀It的二元運(yùn)動邊緣圖DEt存在邊緣明顯不連續(xù)的現(xiàn)象,難以根據(jù)運(yùn)動邊緣圖實(shí)現(xiàn)目標(biāo)的分割.本文提出一種“邊緣生長”的有效的策略,可實(shí)現(xiàn)不連續(xù)運(yùn)動邊緣的完善.具體步驟如下:
步驟 1:令I(lǐng)t的運(yùn)動邊緣點(diǎn)坐標(biāo)集和邊緣點(diǎn)坐標(biāo)集分別表示為ZtDE和ZtE(兩個集合中的元素對應(yīng)的像素值都為1);初始化ZtDE中的元素索引k=1.將邊緣差分圖DEt“遮罩”于邊緣圖Et之上.
步驟 2:選擇集合ZtDE中第k個運(yùn)動邊緣點(diǎn)DEt,ik,jk,建立初始隊(duì)列Ψt,ik,jk={φ1},其中φ1=(ik,jk)表示隊(duì)列中第一個元素的坐標(biāo),此時φ1=(ik,jk);設(shè)置隊(duì)列長度變量Total初始值為1;設(shè)置Ψt,ik,jk中全部元素對應(yīng)點(diǎn)的顯著度均值MSMt,ik,jk和方向均值MΘt,ik,jk的初始值分別為點(diǎn)DEt,ik,jk的顯著度值和方向.
步驟 3: 在DEt上,建立以φ1為中心的3×3鄰域,考察φ1的8個相鄰連通點(diǎn),如果存在點(diǎn)p:pZtDE&&p∈ZtE&&DEt,p=0,則考察點(diǎn)p的顯著度和方向,如果滿足:
SMt,p-MSMt,ik,jk 其中Tsm,Tθ是閾值,本文中分別取Tsm=02,Tθ=π/36,則認(rèn)為邊緣點(diǎn)p與DEt,ik,jk是運(yùn)動相似點(diǎn),將p存入隊(duì)列Ψt,ik,jk后端;更新DEt,p:DEt,p=1;更新Total:Total=Total+1. 步驟4: 計(jì)算隊(duì)列Ψt,ik,jk中所有坐標(biāo)元素對應(yīng)點(diǎn)的顯著度均值MSMt,ik,jk和方向均值MΘt,ik,jk.刪除隊(duì)列Ψt,ik,jk中第一個元素,后面其余元素依次前移一位;更新Total:Total=Total-1.如果Total≠0,從Ψt,ik,jk取出第一個元素φ1,返回到步驟3;否則執(zhí)行k=k+1,返回步驟2. 步驟 5:重復(fù)步驟2~4直到生長結(jié)束. 邊緣生長結(jié)束后,通過去除噪點(diǎn)、形態(tài)學(xué)膨脹和填充得到最終的運(yùn)動目標(biāo)邊緣,再對其做最小外接矩形框得到目標(biāo)塊,從而標(biāo)定目標(biāo)區(qū)域范圍. 2 多目標(biāo)跟蹤 整體框架如圖2所示.首先對檢測過程得到的當(dāng)前幀運(yùn)動目標(biāo)塊提取ORB局部不變性特征描述子,通過與目標(biāo)庫中各目標(biāo)特征模板的匹配,實(shí)現(xiàn)目標(biāo)關(guān)聯(lián),得到目標(biāo)運(yùn)動軌跡.同時,利用模板匹配過程更新目標(biāo)庫中的目標(biāo)模板、各特征點(diǎn)位置坐標(biāo)等. 2.1 ORB 特征 ORB 建立在 FAST[21]特征點(diǎn)檢測和BRIEF[22]特征描述子基礎(chǔ)上. 考察圖像某像素點(diǎn)p為中心的半徑r(一般為9像素)的圓圈上的像素值,如果圓圈上至少有N(一般為12)個連續(xù)的像素qi,i=1,…,M,的灰度值都滿足Ip-Iqi>εd或者都滿足Iqi-Ip>εd,其中Ip和Iqi分別表示像素p和qi的灰度值,i是圓圈上滿足條件的第一個像素的標(biāo)號且M≥N,則認(rèn)為該像素點(diǎn)是一個關(guān)鍵點(diǎn).對所有的關(guān)鍵點(diǎn)使用 Harris 角點(diǎn)測量算法排序并選取靠前的所需數(shù)量的點(diǎn)作為特征點(diǎn).為了賦予尺度特征,ORB建立了圖像金字塔.另外,為了給每個特征點(diǎn)賦予方向信息,ORB計(jì)算角點(diǎn)和質(zhì)心之間的偏移角度表示角點(diǎn)的方向信息. 對圖像進(jìn)行高斯濾波后,以特征點(diǎn)p為中心,取31×31像素的鄰域窗口P.在P中隨機(jī)選取一對5×5的子窗口作為測試點(diǎn)P(x)和P(y),x和y分別是這兩個測試點(diǎn)的坐標(biāo).通過比較兩個測試點(diǎn)的灰度值,得到一個二進(jìn)制位.以上過程重復(fù)n次,就得到長度為n的二進(jìn)制串作為初步描述子,記作f'n(p).BRIEF描述子不具有旋轉(zhuǎn)不變性,所以O(shè)RB又給它加上了旋轉(zhuǎn)不變性而得到最終的描述子fn(p).
2.2 基于自適應(yīng)模板更新的目標(biāo)跟蹤
本小節(jié)的跟蹤算法分為目標(biāo)匹配與模版更新兩個過程.
2.2.1 目標(biāo)匹配
本文的算法是用目標(biāo)的特征點(diǎn)來表征目標(biāo),因此目標(biāo)間的匹配就是各自特征點(diǎn)的匹配.
1) 目標(biāo)信息庫.對應(yīng)于每個目標(biāo)的信息包括:目標(biāo)序號、歷史幀中目標(biāo)塊左上角坐標(biāo)以及中心坐標(biāo)、目標(biāo)塊的特征模板、所有特征點(diǎn)的位置矩陣以及留存級矩陣.本文中,目標(biāo)的特征模板表示為一個m×n維的矩陣,m表示特征點(diǎn)數(shù)目,矩陣每一行對應(yīng)于一個特征點(diǎn)的n維ORB描述子(本文中n=256).
2)特征點(diǎn)匹配.特征點(diǎn)間的匹配是利用其描述子間的歐氏距離進(jìn)行匹配度量.本文提出一種“近鄰雙向匹配”策略來改善算法執(zhí)行效率,其思想基于:相鄰幀的同一匹配特征點(diǎn)在幾何空間上不會有太大的位移.以當(dāng)前幀目標(biāo)O中第i個特征點(diǎn)pi為例(其匹配點(diǎn)記作pmatch),具體過程為:
設(shè)置一個描述子匹配閾值Tr;在當(dāng)前幀建立以pi為中心的w×w大小的搜索窗Wcur,在前一幀同樣位置也建立相同大小的搜索窗Wpre.搜索窗尺寸w如果太大,會降低搜索效率;太小,當(dāng)目標(biāo)運(yùn)動較快時相關(guān)匹配點(diǎn)對易造成丟失,在實(shí)驗(yàn)中取w=10時可以取得較恰當(dāng)?shù)恼壑行Ч?
a)后向搜索.將pi與在Wpre內(nèi)的屬于目標(biāo)信息庫的特征點(diǎn)進(jìn)行歸一化匹配度量,匹配度最高的前兩個特征點(diǎn)作為候選特征點(diǎn)(圖3(a)),分別記作p1和p2,相應(yīng)匹配度記作ξ1和ξ2.若ξ1和ξ2都低于閾值Tr,則拒絕匹配;若只有ξ1高于閾值Tr,則直接選擇p1為匹配特征點(diǎn),即pmatch=p1;若ξ1和ξ2都高于閾值Tr且ξ2與ξ1的比值小于0.4,則pmatch=p1;若ξ1和ξ2都高于Tr但ξ2與ξ1二者的比值不小于0.4,則執(zhí)行步驟b).
b)前向搜索.p1,p2分別到當(dāng)前幀的Wcur窗內(nèi)搜索匹配特征點(diǎn),各自取前兩個最小距離點(diǎn)作為候選點(diǎn),分別記作p11,p12和p21,p22,相應(yīng)匹配距離記作ξ11,ξ12和ξ21,ξ22.如果p11,p12中一個是pi(圖3(b)),則pmatch=p1;相反,若p21,p22中一個是pi,則pmatch=p2;如果p11,p12和p21,p22中各有一個是pi(圖3(c)),則遵循下面原則選取匹配點(diǎn):
pmatch=p2,ifp12=pi&&p21=pi&&d2 式中:d1和d2分別是pi到p1和p2的空間距離,如果p11,p12和p21,p22四者中沒有一個是pi,則pmatch=pm,m=argmink∈1,2ξk+ξk1+ξk2. 3)目標(biāo)匹配.對當(dāng)前考察目標(biāo)O在前一幀得到的所有匹配點(diǎn)進(jìn)行統(tǒng)計(jì),求出其分別所屬目標(biāo)模板的目標(biāo)標(biāo)號以及匹配點(diǎn)個數(shù)并組成集合Z:Z=Nφ1,…,Nφi,…,NφI,φi∈{1,…,L}.其中Nφi表示所有匹配點(diǎn)中屬于第φi個目標(biāo)的個數(shù),I是Z中的元素個數(shù),L是目標(biāo)信息庫中的目標(biāo)總個數(shù),是個變量.從Z中找出最大值記作Nφj,并設(shè)N為當(dāng)前目標(biāo)塊中特征點(diǎn)的總個數(shù),則最大匹配率為:PO=Nφj/N.預(yù)設(shè)一目標(biāo)匹配率閾值Tp,當(dāng)PO>Tp時,認(rèn)為當(dāng)前目標(biāo)與目標(biāo)庫第φj個目標(biāo)匹配,從而建立起關(guān)聯(lián);否則,將當(dāng)前目標(biāo)與前一幀標(biāo)號為φ1,…,φi,…,φI的目標(biāo)分別進(jìn)行目標(biāo)再匹配后重新判斷.實(shí)際中發(fā)現(xiàn),由于鄰幀同一目標(biāo)的相對位移很小,往往并不需要進(jìn)行再匹配. 2.2.2 模板更新 為了保持目標(biāo)信息庫在目標(biāo)跟蹤過程中的有效性,必須對其進(jìn)行實(shí)時更新.本文借鑒文獻(xiàn)[13]中的模版更新過程為目標(biāo)庫中每個目標(biāo)的每個特征點(diǎn)設(shè)置一個特征保留等級,比如目標(biāo)O的第j個特征點(diǎn)的保留等級記作RO,j,它表示該特征點(diǎn)屬于該目標(biāo)的置信度,最大值記作Rmax. 1) 添加新目標(biāo)模板:若當(dāng)前幀某個目標(biāo)與目標(biāo)庫所有目標(biāo)模板均不匹配,則認(rèn)為此目標(biāo)是新目標(biāo),將新的目標(biāo)序號、目標(biāo)塊坐標(biāo)以及目標(biāo)模板等信息添加到目標(biāo)庫.因?yàn)槭切履繕?biāo),所以將所有特征點(diǎn)的保留等級最大化為Rmax. 2) 匹配目標(biāo)模板的更新:若當(dāng)前目標(biāo)O與目標(biāo)庫中第 i個目標(biāo)匹配,則第i個目標(biāo)模板中相匹配的特征點(diǎn)替換為當(dāng)前目標(biāo)中相匹配的特征點(diǎn),更新特征點(diǎn)位置矩陣,同時將所對應(yīng)特征點(diǎn)的保留等級均置為Rmax;對于目標(biāo)模板中未匹配的特征點(diǎn),其保留等級減 1;對于當(dāng)前目標(biāo)O中未匹配的特征點(diǎn),將其加入目標(biāo)模板中,更新特征點(diǎn)位置矩陣,同時,所對應(yīng)的保留等級均置為Rmax.某特征點(diǎn)保留等級降為 0時,說明此特征長期沒有得到匹配,則刪除此特征點(diǎn)的所有信息. 3) 未匹配目標(biāo)模板的更新:當(dāng)前幀所有目標(biāo)匹配結(jié)束后,若目標(biāo)庫中仍有目標(biāo)模板未得到匹配,則存在三種情況:目標(biāo)暫時停止、被完全遮擋或離開場景.那么,考察上一次該目標(biāo)匹配時刻以及之前l(fā)-1幀的中心坐標(biāo),分別計(jì)算時間窗內(nèi)l幀的目標(biāo)塊中心坐標(biāo)與場景四個邊界的距離的最小值,依時間順序分別記作dist1,…,distl,如果l個距離遞減且distl≤Te,Te是預(yù)設(shè)的閾值,則認(rèn)為目標(biāo)離開場景,模板所有特征點(diǎn)保留等級維持不變;如果distl>Te且在最后一次匹配的目標(biāo)位置處,當(dāng)前幀對應(yīng)圖像塊依然能與該目標(biāo)模版匹配,則認(rèn)為目標(biāo)暫時停止,特征點(diǎn)保留等級維持不變.此時,跟蹤中的跟蹤目標(biāo)框中心位于目標(biāo)模板中保存的目標(biāo)塊中心;否則,判定目標(biāo)被完全遮擋.上述時間窗大小l和距離閾值Te,本文根據(jù)所采用視頻序列的幀率由實(shí)驗(yàn)分別確定為l=8和Te=15像素.本算法對于剛性目標(biāo)的跟蹤 Rmax 取值為3,非剛性目標(biāo)跟蹤 Rmax取值為 5[13]. 本算法沒有進(jìn)行模板的刪除,這是考慮到在實(shí)際應(yīng)用中,離開場景的目標(biāo)有可能再次返回. 2.3 目標(biāo)間的局部遮擋 在多目標(biāo)跟蹤中,會出現(xiàn)兩個或多個目標(biāo)間遮擋的情況.本文提出一種分別根據(jù)匹配特征點(diǎn)比例和位置關(guān)系進(jìn)行遮擋判斷和目標(biāo)分離的處理方法.
2.3.1 遮擋判斷
當(dāng)不同運(yùn)動目標(biāo)發(fā)生部分遮擋時,將得到單一的外接目標(biāo)矩形框構(gòu)成的一個目標(biāo)塊,這時判定目標(biāo)間發(fā)生了遮擋.如圖4所示.
發(fā)生遮擋的多個目標(biāo)塊會形成一個單一的“簇目標(biāo)塊”.對遮擋的判斷基于如下考慮:當(dāng)遮擋剛剛發(fā)生時,目標(biāo)模板在簇目標(biāo)塊中都能找到絕大多數(shù)特征點(diǎn).以兩目標(biāo)為例(圖4),設(shè)簇目標(biāo)塊在后向匹配中得到的目標(biāo)序號及其匹配點(diǎn)個數(shù)集合為B:B={N1,N2,Nother_1,…,Nother_k},其中N1,N2表示所有匹配點(diǎn)中分別屬于第1,2個目標(biāo)的個數(shù),Nother_i,i∈{1,…,k}表示分別屬于k個其它目標(biāo)的匹配點(diǎn)個數(shù).對于B中每個元素Nj,j=1,2,other_1,…,other_k,令NTj表示相應(yīng)模板j中全部的特征點(diǎn)數(shù),如果至少有2個j值滿足Tm≤Nj/NTj≤1成立,其中Tm是比例閾值(由實(shí)驗(yàn)確定取值0.8),則認(rèn)為當(dāng)前幀的簇目標(biāo)塊發(fā)生了目標(biāo)1和目標(biāo)2兩個目標(biāo)間的部分遮擋.
2.3.2 遮擋處理
遮擋發(fā)生后,不對目標(biāo)庫中發(fā)生彼此遮擋的各目標(biāo)特征模板及目標(biāo)塊(框)尺寸進(jìn)行更新,即,各目標(biāo)塊的大小保持發(fā)生遮擋前一個匹配時刻的各自大小不變.但是在跟蹤中我們?nèi)匀恍枰烙?jì)各目標(biāo)塊的中心位置.
令xTi,j和yTi,j分別表示簇目標(biāo)中與第i個目標(biāo)模板匹配的第j個特征點(diǎn)在模板上的x坐標(biāo)和y坐標(biāo),xcuri,j,ycuri,j則分別表示對應(yīng)匹配特征點(diǎn)在簇目標(biāo)中的x坐標(biāo)和y坐標(biāo).則第i個目標(biāo)在簇目標(biāo)中的中心坐標(biāo)(xcuri,c,ycuri,c)為:
xcuri,c=xTi,c+1Ni∑Nij=1(xcuri,j-xTi,j)ycuri,c=yTi,c+1Ni∑Nij=1(ycuri,j-yTi,j)(4)
式中:xTi,c和yTi,c分別表示第i個目標(biāo)模板中的中心坐標(biāo)的x和y分量;Ni是簇目標(biāo)中匹配第i個目標(biāo)模板的特征點(diǎn)總數(shù).
3 實(shí)驗(yàn)結(jié)果與分析
為了驗(yàn)證本文算法的有效性,我們選擇不同的視頻序列進(jìn)行目標(biāo)檢測、跟蹤實(shí)驗(yàn),并與顏色特征模板匹配算法[9]、基于視覺注意的粒子濾波算法[15]進(jìn)行比較.實(shí)驗(yàn)環(huán)境為CoreTM-i7 CPU 處理器,8GB內(nèi)存,Windows 7操作系統(tǒng)的個人電腦,使用Matlab軟件編程.本文測試的總共10個視頻序列名稱及其參數(shù)如表1所示,這些序列包括了室內(nèi)、室外不同場景,以及剛性、非剛性目標(biāo),它們分別取自于ATON project of UCSD圣迭戈加利福尼亞大學(xué)數(shù)據(jù)庫(sequence1),德國卡爾斯魯厄大學(xué)(sequence7和sequence9),倫敦瑪麗女王大學(xué)(sequence 3,sequence 8 and sequence10)韓國漢陽大學(xué)計(jì)算機(jī)視覺實(shí)驗(yàn)室(No.4~ No.6 sequence 4~ sequence 6)以及MATLAB圖像工具箱(sequence 2),以上數(shù)據(jù)庫在本文中依次簡記為Dataset1~Dataset5.測試序列中,No.3,No.8 and No.10 sequences 中所有目標(biāo)塊的groundtruth 已經(jīng)給出;No.4~ No.6 sequences 中只給出一個目標(biāo)的ground truth,其余目標(biāo)的ground truth我們?nèi)斯?biāo)注;其余序列中目標(biāo)的ground truth我們?nèi)斯?biāo)注.
3.1 檢測結(jié)果與分析
本小節(jié)對本文第1節(jié)所提出的目標(biāo)檢測算法進(jìn)行對比驗(yàn)證.圖5是本文算法、幀差法和背景減除法在對序列1運(yùn)動目標(biāo)檢測過程中的抽樣結(jié)果(221th幀)對比.圖中第一行從左到右分別是原始幀圖像和各目標(biāo)的ground truth;第二行和第三行分別是幀差法和背景減除法得到的前景區(qū)域和濾除噪聲后得到的運(yùn)動目標(biāo)塊,其中背景建模為:
Bi,j,t=αIi,j,t+(1-α)Bi,j,t-1(5)
式中:α取0.15.可以看到,幀差法在目標(biāo)內(nèi)部容易產(chǎn)生“空洞”,而背景減除法得到的前景目標(biāo)有“拖尾”效應(yīng),這都將會導(dǎo)致在目標(biāo)分割時產(chǎn)生分歧,降低分割的準(zhǔn)確度.圖中第4行是本文算法得到的前景目標(biāo)塊,可以看到本文算法能取得更好的分割結(jié)果.
我們利用“受試者工作特征(Receiver Operating Characteristic,ROC)曲線”下的面積AUC(Area Under the Curve)指標(biāo)來定量分析這3種檢測算法的性能[23].將原始二值檢測圖中前景噪聲團(tuán)塊面積作為ROC圖繪制中的可變辨別門限,大于門限的前景團(tuán)塊有資格作為目標(biāo)被分割,門限變化范圍從1像素~100像素;對每個目標(biāo)可求得ROC曲線下面積AUC值.為了減少比對的計(jì)算量且不失一般性,我們在所有10個視頻序列所有幀中無重復(fù)地隨機(jī)抽取500個樣本幀對上述幀差法、背景減除法和本文檢測算法求取AUC的均值(精確到小數(shù)點(diǎn)后3位),結(jié)果分別是0.804,0.826和0861,本文檢測算法具有更好的性能.
3.2 跟蹤結(jié)果與分析
3.2.1 關(guān)鍵閾值Tr和Tp的設(shè)置
Tr表征的是兩個特征點(diǎn)描述子的匹配度,用于特征點(diǎn)匹配環(huán)節(jié)的后向搜索過程中,該值經(jīng)由簡單的實(shí)驗(yàn)統(tǒng)計(jì)法選取.令兩個等長的描述子f1,f2的匹配度表示為:
Lmatch=1-1μN(yùn)orm_2(f1-f2)(6)
其中Norm_2(.)表示2-范數(shù),常數(shù)μ=16(描述 子長度為256位,完全不匹配時的2-范數(shù)值為16)用來歸一化.從本文引用的數(shù)據(jù)庫中另選取5個視頻序列(Crowds,walking(Dateset4),rheinhafen(Dateset2),highway1(Dataset1)和vipmen(Dataset5))用作參數(shù)估計(jì),其中涵蓋了室內(nèi)和室外場景、剛性和非剛性目標(biāo).每一序列中我們隨機(jī)選擇兩個連續(xù)出現(xiàn)15幀以上的運(yùn)動目標(biāo)作為樣本目標(biāo),截取并統(tǒng)計(jì)每個樣本目標(biāo)15幀中的特征點(diǎn)匹配情況.這樣共選擇10個樣本目標(biāo)即10個子序列,統(tǒng)計(jì)幀數(shù)共150幀.記錄并統(tǒng)計(jì)Tr值的變化對特征點(diǎn)正確匹配率(定義為:正確匹配的點(diǎn)對數(shù)/全部匹配點(diǎn)對數(shù);對于當(dāng)前幀的特征點(diǎn)pi,若經(jīng)本文的匹配算法得到匹配點(diǎn)為p1,即有pi=>p1;基于p1反向執(zhí)行算法,如果能求得p1的匹配點(diǎn)為pi,即有p1=>pi,則將pi,p1初步判為一正確匹配點(diǎn)對.進(jìn)一步,將得到的初步正確匹配點(diǎn)對集利用隨機(jī)抽樣一致算法性算法(RANSAC)[24]剔除誤匹配點(diǎn)得到的點(diǎn)對集作為本文的正確匹配集),統(tǒng)計(jì)結(jié)果如圖6(a),當(dāng)Tr值很低的時候,特征點(diǎn)匹配率較低,這是由于候選特征點(diǎn)p1和p2的各自匹配度ξ1和ξ2即使不高很易滿足該門限,在執(zhí)行完“后向搜索”后執(zhí)行下一步“前向搜索”的概率降低,而后者有助于進(jìn)一步的確認(rèn)匹配點(diǎn).隨著匹配閾值Tr的增長,特征點(diǎn)匹配率也增大,在Tr增到大約0.5以后特征點(diǎn)匹配率達(dá)到較為穩(wěn)定的狀態(tài).但是,當(dāng)Tr較大的時候ξ1和ξ2容易同時低于閾值Tr,“前向搜索”過程被激活的概率也大為增加,使得特征點(diǎn)匹配過程的整體執(zhí)行時間增加.因此,綜合考量算法的匹配率和實(shí)效性,文中取Tr的值為0.5.endprint
目標(biāo)匹配率閾值Tp的預(yù)置:對上述的任意第j個子序列(共10個),計(jì)算不同目標(biāo)間的匹配率和同一目標(biāo)間的匹配率pdiffj和psamej為:
pdiffj=1K-1∑Ki=1∑Lil=1Mi,lpsamej=1K-1∑Ki=1Ni,i+112Ni+Ni+1(7)
其中K=15是子序列幀數(shù),Mi,l表示第i幀第l個其它目標(biāo)的ground truth目標(biāo)塊與樣本目標(biāo)ground truth目標(biāo)塊的匹配點(diǎn)對數(shù);Li是第i幀中其它目標(biāo)的總個數(shù);Ni,i+1表示第相鄰兩幀的樣本目標(biāo)ground truth目標(biāo)塊的匹配點(diǎn)對數(shù);Ni是第i幀中樣本目標(biāo)ground truth目標(biāo)塊的的特征點(diǎn)數(shù).統(tǒng)計(jì)全部10個子序列(圖6(b))可知,相同目標(biāo)間具有很高的匹配率,不同目標(biāo)間的匹配率則很低.據(jù)此,本文實(shí)驗(yàn)中我們將目標(biāo)匹配率閾值設(shè)置為Tp=0.8.
3.2.2 定性分析
出于比較的目的,將本文提出的跟蹤算法與Yang等[9],張焱等[15]和藺海峰等[13]的算法在不同的圖像序列上進(jìn)行性能對比.為了描述的方便,后文中將后3種方法分別記作YG,ZG和LN算法.
圖7是對序列2室外環(huán)境下公路場景中汽車(剛性目標(biāo))的跟蹤結(jié)果.
圖8是對序列3室內(nèi)場景中行人(非剛性目標(biāo))的跟蹤結(jié)果.
圖9是對序列4這種介于室外和室內(nèi)環(huán)境的走廊場景中行人的跟蹤結(jié)果.以上3個圖中,不同顏色的線框分別代表不同的目標(biāo),點(diǎn)劃線、粗實(shí)線、實(shí)線、虛線和點(diǎn)線矩形框分別表示目標(biāo)的ground truth(真實(shí))分割以及本文算法、LN算法、ZG算法和YG 算法得到的目標(biāo)塊.第1行是ground truth結(jié)果;第2行是LN算法與ZG算法的跟蹤結(jié)果;第3行是本文算法與YG 算法的跟蹤結(jié)果.從這3個圖中可以直觀地看出,我們的方法有更好的跟蹤性能.
圖10從左到右分別給出了在本文算法下序列2(1st幀到55th幀)、序列3(1st幀到450th幀)和序列4(1st幀到 311th幀)的目標(biāo)跟蹤軌跡,其中軌跡線的顏色分別與圖7~圖9中跟蹤框的顏色相一致.而對于出現(xiàn)的其它顏色的跟蹤線,例如圖10右圖上方的淺灰色線,則表示在序列3這期間出現(xiàn)的其他目標(biāo)的跟蹤軌跡.
為了測試本文方法在運(yùn)動目標(biāo)間部分遮擋情況下對目標(biāo)的跟蹤能力,我們對視頻序列5中的多人進(jìn)行跟蹤實(shí)驗(yàn),并考察4種方法的抗遮擋性能.圖11第1行是39th幀和55th幀的源圖像,可以看到,二者都發(fā)生了目標(biāo)間的遮擋(39th幀中,圖像左部的一對行人發(fā)生了彼此遮擋;55th幀中,圖像中部的兩對行人均發(fā)生了部分遮擋).第2行是LN算法與ZG算法的結(jié)果,可以看到,ZG算法能夠繼續(xù)目標(biāo)跟蹤單個目標(biāo),但準(zhǔn)確性不佳;LN算法將彼此遮擋的多個目標(biāo)作為一個目標(biāo)進(jìn)行跟蹤,無法辨別具體的單個目標(biāo)(39th幀中的灰色細(xì)實(shí)線大框;55th幀中的細(xì)實(shí)線灰色大框),直到遮擋狀態(tài)解除.第3行是本文方法與YG方法的對比,當(dāng)遮擋發(fā)生時,YG方法也如同LN一樣將合并后的目標(biāo)當(dāng)作一個整體來跟蹤(39th幀中的灰色虛線大框;55th幀中的兩個虛線灰色大框),但是本文方法的準(zhǔn)確性要高于ZG方法.另外,也能直觀地看到,本文算法相較于其它算法有著最好的跟蹤效果.
我們進(jìn)一步測試了本文算法在目標(biāo)光照變化條件下的跟蹤性能,如圖12所示.第1行是目標(biāo)的真實(shí)分割,第2行是LN,ZG算法的跟蹤結(jié)果;第3行是本文算法和YG算法的跟蹤結(jié)果.
可以看到ZG算法對光照改變時的目標(biāo)跟蹤效果不佳.如圖12所示,當(dāng)車輛目標(biāo)的光照發(fā)生了變化(如第2行第2列圖),ZG算法不能夠準(zhǔn)確地跟蹤目標(biāo),這是由于該算法中所采用的粒子濾波算法的粒子特征固定而無法隨目標(biāo)光照的變化而改變;而LN算法(第2行細(xì)實(shí)線框)和YG算法(第3行虛線框)由于都采用了背景更新模型在光照變化時也能較好地跟蹤目標(biāo),但是正如前面討論的那樣,當(dāng)目標(biāo)間發(fā)生部分遮擋時,LN和YG將多個目標(biāo)作為一個整體進(jìn)行處理而無法區(qū)分個體目標(biāo)(如第3行,第2列灰色虛線框).而本文算法由于所采用的ORB描述子本身具備一定的光照變化魯棒性,因此得以較好地對目標(biāo)實(shí)現(xiàn)跟蹤.
3.2.3 定量分析
為了定量分析跟蹤效果,我們考察跟蹤準(zhǔn)確性和成功率兩個指標(biāo).采用目標(biāo)塊重疊率作為跟蹤準(zhǔn)確性的評判標(biāo)準(zhǔn)[25],計(jì)算如下
Rt=rt∩rGTtrt∪rGTt(8)
式 (8) 中,rGTt 為第t幀真實(shí)目標(biāo)塊(Ground truth),rt為跟蹤算法得到的目標(biāo)塊,∩和∪分別表示兩個區(qū)域的交和并,|.|表示區(qū)域中的像素個數(shù).對于一幀中包含多目標(biāo)的情況,分別計(jì)算各個目標(biāo)的重疊率然后取均值作為本幀的整體重疊率.在試驗(yàn)中,對于一幀中包含多目標(biāo)的情況,我們分別計(jì)算各個目標(biāo)的重疊率然后取均值作為本幀的重疊率.另外,使用累積平均重疊率作為當(dāng)前幀的跟蹤準(zhǔn)確性度量:
R-t=1t∑tk=1Rk(9)
任取序列3,得到其跟蹤準(zhǔn)確性演變規(guī)律如圖13.從圖中可以看到,隨著對序列中目標(biāo)跟蹤的進(jìn)行,所有算法的準(zhǔn)確性值逐漸趨于穩(wěn)定,其中我們的算法有最高的跟蹤準(zhǔn)確性.全部10個序列的跟蹤準(zhǔn)確性具體值在表2第3列給出.進(jìn)一步地,本文規(guī)定:如果某一幀的跟蹤準(zhǔn)確性高于50%,則認(rèn)為該幀跟蹤成功.表2列出了3種算法分別在10個序列上的跟蹤成功率具體結(jié)果,可以看到本文的算法在整體上具有最高的跟蹤成功率.
4 結(jié) 論
本文提出了一種基于ORB特征點(diǎn)匹配的目標(biāo)跟蹤算法.首先通過幀間邊緣差分和LK光流法提取邊緣運(yùn)動顯著性,再進(jìn)行運(yùn)動邊緣生長得到運(yùn)動目標(biāo)的邊緣,從而分割出目標(biāo)塊;然后提取目標(biāo)塊的ORB特征,利用目標(biāo)與模板特征點(diǎn)之間的匹配實(shí)現(xiàn)目標(biāo)的跟蹤過程.在跟蹤過程中,目標(biāo)信息庫不斷得到更新,從而能確保模板的持久有效性.實(shí)驗(yàn)證明,該算法對多運(yùn)動目標(biāo)在形變、旋轉(zhuǎn)、光照變化以及目標(biāo)間發(fā)生部分遮擋的情形下都具有較好的實(shí)時跟蹤魯棒性.然而,我們也注意到我們的算法不能夠有效處理目標(biāo)被狹長背景障礙物“劈裂”的情況.在這種情況下,在本文的目標(biāo)檢測階段該目標(biāo)就會被檢測為兩個不同的運(yùn)動目標(biāo),我們計(jì)劃融合其它的目標(biāo)特征來解決這個問題,從而進(jìn)一步提升目標(biāo)檢測的魯棒性;本文尚沒有考慮去除運(yùn)動目標(biāo)陰影,這將在后續(xù)工作中加以完善.最后,如何將算法應(yīng)用到活動場景下的目標(biāo)跟蹤也是我們著重考慮的方向.endprint
參考文獻(xiàn)
[1] RAO G M,SATYANARAYANA C.Visual object target track-ing using particle filter: a survey[J].International Journal of Image,Graphics and Signal Processing,2013,5(6): 57-71.
[2] TOLOEI A,NIAZI S.Stateestimation for target tracking problems with nonlinear Kalman filter algorithms[J].International Journal of Computer Applications,2014,98(17): 30-36.
[3] CHOI Y J,KIM Y G.A target model construction algorithm for robust real-time mean-shift tracking[J].Sensors,2014,14(11): 20736-20752.
[4] KORMAN S,REICHMAN D,TSUR G,et al.Fast-match: Fast affine template matching[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2013: 2331-2338.
[5] LI L,HAN Z,YE Q,et al.Visual object tracking via one-class SVM[C]//Asian Conference on Computer Vision.Springer Berlin Heidelberg,2010:216-225.
[6] KALAL Z,MIKOLAJCZYK K,MATAS J.Face-tld: Tracking-learning-detection applied to faces[C]//Image Processing (ICIP),2010,17th IEEE International Conference on.IEEE,2010,119(5): 3789-3792.
[7] DOUC R,CAPPE O.Comparison of resampling schemes for particle filtering[C]//Image and Signal Processing and Analysis,2005,Proceedings of the 4th International Symposium on.IEEE,2005: 64-69.
[8] 宋曉琳,王文濤,張偉偉.基于LBP紋理和改進(jìn)Camshift算子的車輛檢測與跟蹤[J].湖南大學(xué)學(xué)報(bào):自然科學(xué)版,2013,40(8): 52-57.
SONG Xiaolin,WANG Wentao,ZHANG weiwei.Vehicle detection and tracking based on the local binary pattern texture improved camshaft operator[J].Journal of Hunan University: Natural Sciences,2013,40(8): 52-57.(In Chinese)
[9] YANG T,PAN Q,LI J,et al.Real-time multiple objects tracking with occlusion handling in dynamic scenes[C]//Computer Vision and Pattern Recognition,2005,IEEE Computer Society Conference on.IEEE,2005:970-975.
[10]LOWE D G.Distinctive image features from scale-invariant key points[J].International Journal of Computer Vision,2004,60(2): 91-110.
[11]ZHOU H,YUAN Y,SHI C.Object tracking using SIFT features and mean shift[J].Computer Vision and Image Understanding,2009,113(3): 345-352.
[12]TUYTELAARS T,MIKOLAJCZYK K.Local invariant feature detectors: a survey[J].Foundations and Trends in Computer Graphics and Vision,2008,3(3): 177-280.
[13]藺海峰,馬宇峰,宋濤.基于 SIFT 特征目標(biāo)跟蹤算法研究[J].自動化學(xué)報(bào),2010,36(8): 1204-1208.
LIN Haifeng,MA Yufeng,SONG Tao.Research on object tracking algorithm based on SIFT[J].Acta Automatica Sinica,2010,36(8): 1204-1208.(In Chinese)
[14]RUBLEE E,RABAUD V,KONOLIGE K,et al.ORB: An efficient alternative to SIFT or SURF[C]//Computer Vision (ICCV),2011,IEEE International Conference on.IEEE,2011,58(11): 2564-2571.endprint
[15]張焱,張志龍,沈振康,等.基于動態(tài)顯著性特征的粒子濾波多目標(biāo)跟蹤算法[J].電子學(xué)報(bào),2008,36(12): 2306-2311.
ZHANG Yan,ZHANG Zhilong,SHEN Zhenkang,et al.The images tracking algorithm using particle filter based on dynamic salient features of targets[J].Acta Electronica Sinica,2008,36(12): 2306-2311.(In Chinese)
[16]JOULAN K,HAUTIERE N,BREMOND R.A unified CSF-based framework for edge detection and edge visibility[C]//Computer Vision and Pattern Recognition Workshops (CVPRW),2011,IEEE Computer Society Conference on.IEEE,2011: 21-26.
[17]CHEN J,PAPPAS T N,MOJSILOVIC A,et al.Adaptive perceptual color-texture image segmentation[J].IEEE Transactions on Image Processing,2005,14(10): 1524-1536.
[18]汪凱斌,俞卞章,王琦,等.無須反復(fù)初始化的活動圍道紋理分割方法[J].西安電子科技大學(xué)學(xué)報(bào),2008,35(3):542-545.
WANG Kaibin,YU Bianzhang,WANG Qi,et al.Texture image segmentation using the without re-initialization geodesic active contour model[J].Journal of Xidian University,2008,35(3):542-545.(In Chinese)
[19]ERSEN L I,SHULONG Z,BAOSHAN Z,et al.An adaptive edge-detection method based on the canny operator[C]// Environmental Science and Information Application Technology,2009,International Conference on.IEEE,2009: 465-469.
[20]BAKER S,MATTHEWS I.Lucas-kanade 20 years on: A unifying framework[J].International Journal of Computer Vision,2004,56(3): 221-255.
[21]ROSTEN E,DRUMMOND T.Machine learning for high-speed corner detection[C]//European Conference on Computer Vision.Springer Berlin Heidelberg,2006: 430-443.
[22]CALONDER M,LEPETIT V,STRECHA C,et al.Brief: Binary robust independent elementary features[C]//European Conference on Computer Vision.Springer Berlin Heidelberg,2010: 778-792.
[23]WEBB G I,TING K M.On the application of ROC analysis to predict classification performance under varying class distributions [J].Machine Learning,2005,58(1): 25-32.
[24]劉相濱,鄒北驥.一種基于RANSAC的柱面圖像配準(zhǔn)算法[J].湖南大學(xué)學(xué)報(bào):自然科學(xué)版,2010,37(8):79-82.
LIU Xiangbin,ZOU Beiji.A RANSAC-Based cylindrical image registration algorithm[J].Journal of Hunan University: Natural Sciences,2010,37(8):79-82.(In Chinese)
[25]黎萬義,王鵬,喬紅.引入視覺注意機(jī)制的目標(biāo)跟蹤方法綜述[J].自動化學(xué)報(bào),2014,40(4):561-576.
LI Wanyi,WANG Peng,QIAO Hong.A survey of visual attention based methods for object tracking[J].Acta Automatica Sinica,2014,40(4): 561-576.(In Chinese)endprint