劉 博,蘇成志,溫迎晨,張小忱,王恩國*
(1.長春理工大學(xué) 機(jī)電工程學(xué)院,吉林 長春130022;2.長春理工大學(xué) 人工智能研究院,吉林 長春130022)
目標(biāo)跟蹤是機(jī)器視覺領(lǐng)域中比較重要和熱門的研究方向,也是各種視頻應(yīng)用中的一個(gè)基本任務(wù)。目標(biāo)跟蹤是指對視頻序列中的運(yùn)動目標(biāo)進(jìn)行跟蹤,即通過給定第一幀的目標(biāo)位置預(yù)測目標(biāo)在后續(xù)視頻序列中的位置[1]。目標(biāo)跟蹤在無人駕駛、無人機(jī)監(jiān)測、水上智能監(jiān)控、視頻監(jiān)控、數(shù)據(jù)檢索、醫(yī)學(xué)治療以及軍事偵察等諸多領(lǐng)域有著廣泛的應(yīng)用[2-5],存在很高的應(yīng)用價(jià)值和廣闊的應(yīng)用前景。
在目標(biāo)跟蹤領(lǐng)域,Isard首先提出CONDENSATION算法并利用粒子濾波算法解決目標(biāo)跟蹤問題[6]。經(jīng)典粒子濾波算法容易實(shí)現(xiàn)且簡單有效,對噪聲干擾和目標(biāo)遮擋具有較強(qiáng)的處理能力,但粒子濾波算法在目標(biāo)遮擋情況下跟蹤精度降低,并且存在計(jì)算量大和實(shí)時(shí)性不好等問題[7-10]。近年來,隨著深度學(xué)習(xí)和卷積網(wǎng)絡(luò)的飛速發(fā)展,Seunghoon等人[11]通過使用卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)辨別顯著性圖提出在線視覺跟蹤算法,提高了準(zhǔn)確度。Heng等人[12]提出利用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNNs)對目標(biāo)結(jié)構(gòu)進(jìn)行建模,采用級聯(lián)策略融合CNN與RNN,提高了魯棒性。由于深度學(xué)習(xí)的深層結(jié)構(gòu),計(jì)算復(fù)雜度高,導(dǎo)致很難達(dá)到實(shí)時(shí)跟蹤的要求。
針對以上算法存在的不能兼顧目標(biāo)跟蹤時(shí)的處理速度與準(zhǔn)確性的問題,本文另提出一種基于運(yùn)動粒子的粒子群目標(biāo)跟蹤算法。該算法首先提取目標(biāo)的HSV特征得到目標(biāo)特征向量;然后為了提高跟蹤的準(zhǔn)確度在跟蹤點(diǎn)周圍撒下n個(gè)粒子構(gòu)成粒子群,用梯度收斂算法來找到粒子群中單個(gè)粒子的最優(yōu)解和粒子群的最優(yōu)解,以種群的最優(yōu)解作為下幀跟蹤的跟蹤點(diǎn)進(jìn)行目標(biāo)的跟蹤。
在跟蹤過程中,目標(biāo)模型的建立可以為后續(xù)跟蹤提供數(shù)據(jù)支撐,因此針對跟蹤目標(biāo)建立模型是目標(biāo)跟蹤算法首先要解決的問題。直方圖作為一種經(jīng)典統(tǒng)計(jì)模型,具有計(jì)算簡便且易于實(shí)現(xiàn)的特點(diǎn),廣泛應(yīng)用于機(jī)器視覺領(lǐng)域,是一種很好的圖像特征表示手段。本文算法在首幀圖像中選取所要進(jìn)行跟蹤的目標(biāo)區(qū)域(通常為矩形窗口),以窗口中心為跟蹤點(diǎn),對目標(biāo)區(qū)域進(jìn)行直方圖統(tǒng)計(jì)建立目標(biāo)特征模型,從而得到目標(biāo)特征向量。
RGB模型作為應(yīng)用最廣泛的彩色模型,雖然能很好地吻合人眼強(qiáng)烈感知紅、綠、藍(lán)三原色的事實(shí),但不適用顏色的直觀描述;HSV模型采用色調(diào)(Hue)、飽和度(Saturation)和明度(Value)來描述物體,更符合于人類視覺的直觀感受。相較于RGB模型,HSV模型各個(gè)通道的相關(guān)性較小。因此,本文算法通過提取HSV特征得到目標(biāo)特征向量。
如圖1所示,將圖像由RGB模型轉(zhuǎn)為HSV模型進(jìn)行描述。為方便偽彩色顯示,對HSV三通道取值范圍進(jìn)行量化處理,將取值區(qū)間由[0,360]、[0,1]和[0,1]分別拉伸或者壓縮至區(qū)間[0,255]。由于V通道對光照變化非常敏感,為了盡量減少明暗變化的影響,在對目標(biāo)建立顏色特征模型過程中,僅針對H通道和S通道建立直方圖模型。
圖1 HSV模型的偽彩色顯示
如圖2所示,首先對從源圖像劃分的目標(biāo)區(qū)域分別建立H直方圖模型和S直方圖模型;假設(shè)目標(biāo)區(qū)域中共有N個(gè)像素,第i個(gè)像素點(diǎn)的坐標(biāo)為(xi,y)i,則第i個(gè)像素點(diǎn)的H通道信息為H(xi,y)i,S通道信息為S(xi,y)i。由于經(jīng)過量化處理后H和S通道數(shù)據(jù)的取值范圍均為0~255,為盡可能將數(shù)據(jù)離散化和方便統(tǒng)計(jì),將直方圖組數(shù)(Bins)設(shè)置為128。通過式(1)和式(2)計(jì)算可得H直方圖模型H={Hu}和S直方圖模型S={Su}。
圖2 提取顏色特征模型
其中:如式(3)所示,δ為克羅內(nèi)克函數(shù)(Kronecker delta);u=0,1,…,127;w為目標(biāo)區(qū)域?qū)挾?;h為目標(biāo)區(qū)域高度。
通過上述方法得到HSV顏色特征模型后,然后對H直方圖模型和S直方圖模型進(jìn)行串聯(lián)處理,如式(4)所示,便可得到目標(biāo)特征向量C=(C0,C1,...,C127),C0~C63為H通道統(tǒng)計(jì)信息,C64~C127為S通道統(tǒng)計(jì)信息。
其中:Hu是H直方圖模型,Su是S直方圖模型,u=0,1,…,127。
1.3.1 快速算法的原理
在提取特征時(shí),本文在原有特征提取的基礎(chǔ)上提出一種快速算法。如圖3所示,當(dāng)粒子P的特征提取完后,對運(yùn)動位置M2進(jìn)行特征提取時(shí),由于M2是P向上移動一行像素,只有首行像素是新信息,因此只需要在P特征提取信息的基礎(chǔ)上添加M2首行信息,刪除P最后一行的無用統(tǒng)計(jì)信息,這樣就能得到運(yùn)動位置M2的特征提取信息。
圖3 快速算法
同理依次對M3、M5、M8、M7、M6、M4、M1運(yùn)動位置的特征提取信息進(jìn)行處理,就可以得到粒子P所有鄰近位置的特征向量。
1.3.2 快速算法的優(yōu)勢
從算法原理可知該算法通過重復(fù)利用已知區(qū)域信息,可以很大程度上減小計(jì)算量,提高算法效率,如式(5)所示。
其中:v為快速算法對傳統(tǒng)算法的倍數(shù),w為目標(biāo)區(qū)域?qū)挾龋琱為目標(biāo)區(qū)域高度。該快速算法與傳統(tǒng)特征提取算法相比,在邊長為5的正方形區(qū)域內(nèi)提高了3.5倍,而寬度30,高度70的目標(biāo)區(qū)域,提高了7.7倍。由此可知,當(dāng)目標(biāo)區(qū)域越大時(shí),該算法的提升速率越高。
現(xiàn)在已經(jīng)得到了目標(biāo)特征向量,接下來先撒下n個(gè)粒子,然后通過以目標(biāo)特征向量為核心的梯度收斂算法使每個(gè)粒子進(jìn)行收斂運(yùn)動。
首幀圖像提取HSV特征得到目標(biāo)特征向量后,在下一幀圖像中,首先,通過粒子群算法在跟蹤點(diǎn)周圍撒下n個(gè)粒子,以此來增加算法的準(zhǔn)確度;然后,通過梯度收斂算法尋找單個(gè)粒子的最優(yōu)解和整個(gè)粒子群的最優(yōu)解,單個(gè)粒子的最優(yōu)解稱為個(gè)體極值,整個(gè)粒子群的最優(yōu)解稱為全局極值。用全局極值更新跟蹤點(diǎn)的坐標(biāo),進(jìn)行下一幀的跟蹤。
本文根據(jù)式(6)在跟蹤點(diǎn)周圍撒下n個(gè)粒子形成粒子群,其中撒下的粒子中距離跟蹤點(diǎn)越近粒子數(shù)越多,在目標(biāo)跟蹤過程中,當(dāng)相似因子ε較小時(shí),為了更好地跟蹤目標(biāo),本文采用擴(kuò)大粒子群分布區(qū)域的方法,該方法通過式(7)建立相似因子ε和σ的函數(shù)關(guān)系來控制分布區(qū)域的大小。
如圖4所示,圖中的白色矩形框?yàn)槟繕?biāo)區(qū)域,(a)圖為目標(biāo)未被遮擋的跟蹤效果圖,此時(shí)粒子群分布都收斂到一個(gè)區(qū)域;(b)圖為目標(biāo)被遮擋時(shí)的跟蹤效果圖,為了能夠重新找到目標(biāo),此時(shí)的粒子群分布發(fā)散。
圖4 粒子群分布變化
2.2.1 相似因子ε
相似因子用來表征搜索區(qū)域與目標(biāo)區(qū)域的相似程度。如圖5所示,假設(shè)粒子P為粒子群中的某一粒子,5行5列的正方形區(qū)域?yàn)榱W拥拇翱趨^(qū)域,在某一幀圖像中粒子P除了停止運(yùn)動外,有8個(gè)運(yùn)動方向分別為:M1、M2、M3、M4、M5、M6、M7、M8。
圖5 單粒子移動
對當(dāng)前位置窗口區(qū)域和鄰近的8個(gè)區(qū)域進(jìn)行特征向量提取,可以得到當(dāng)前位置窗口區(qū)域的特征向量S0和鄰近的8個(gè)區(qū)域的特征向量S1、S2、S3、S4、S5、S6、S7、S8。通過式(8)對當(dāng)前位置窗口區(qū)域和鄰近的8個(gè)區(qū)域進(jìn)行相關(guān)性計(jì)算,得到當(dāng)前位置窗口區(qū)域的相似因子ε0和鄰近的8個(gè)區(qū)域的相似因子 ε1、ε2、ε3、ε4、ε5、ε6、ε7、ε8。
其中0≤ε<1,ε值越大,與目標(biāo)區(qū)域相似程度越大,該區(qū)域?yàn)槟繕?biāo)區(qū)域的可能性越大,反之可能性越小。
2.2.2 梯度收斂算法
單粒子的運(yùn)動采用梯度下降法不斷沿著相似因子梯度最大的方向進(jìn)行運(yùn)動直至收斂。
如圖6所示,假設(shè)粒子P當(dāng)前位置(像素坐標(biāo))為(x0,y)0,通過式(8)得到粒子P周圍位置及當(dāng)前位置的相似因子后,通過式(9)計(jì)算梯度信息,與像素坐標(biāo)信息構(gòu)成三元組(x,y,g),得到信息集合A={ai|ai=(xi,yi,g)i,0≤i≤8}。
圖6 位置梯度信息三元組
利用式(10)計(jì)算得出g最大的三元組信息,并利用其中的像素坐標(biāo)信息更新P粒子的像素坐標(biāo),則P粒子向g最大的位置運(yùn)動;若當(dāng)前位置的g最大,即g=0為最大值,則P粒子收斂。
當(dāng)所有粒子完成收斂運(yùn)動后,此時(shí)的所有粒子并不一定都收斂到同一位置,比較所有收斂位置的相似因子,將相似因子最大的位置作為下幀跟蹤的跟蹤點(diǎn)。
3.1.1 粒子群的分布結(jié)果
粒子群分布情況如圖7所示,圓為目標(biāo)跟蹤點(diǎn),黑點(diǎn)是分布的每個(gè)粒子。由圖7可知,粒子的分布與前面的描述相同,離跟蹤點(diǎn)越近粒子數(shù)越多。
圖7 粒子分布
3.1.2 粒子群的運(yùn)動
任取一幀圖像,單個(gè)粒子單步運(yùn)動過程及結(jié)果如圖8所示,其中(46,48)是粒子P的坐標(biāo)位置,Col表示當(dāng)前位置的相似因子大小,(46,49)坐標(biāo)位置對應(yīng)圖5的M2位置,可知M2位置的相似因子最大,因此粒子P向M2位置運(yùn)動,下一步以M2為中心點(diǎn),繼續(xù)判斷粒子的運(yùn)動方向。
圖8 單粒子運(yùn)動軌跡
所有粒子的總體運(yùn)動軌跡及結(jié)果如圖9所示,圖中小圓是上幀圖像的目標(biāo)點(diǎn),每個(gè)黑點(diǎn)代表一個(gè)粒子,黑色線是粒子進(jìn)行收斂運(yùn)動的軌跡,三角形是粒子收斂后的位置,Col是相似因子的大小。從圖9中可以看到最終收斂到三個(gè)位置,比較這三個(gè)位置的相似因子,將相似因子最大的位置作為下幀跟蹤的跟蹤點(diǎn)。
圖9 所有粒子運(yùn)動軌跡
為了評估算法性能,先從速度、準(zhǔn)確度兩個(gè)角度與CSK、KCF、MS、CPF、Struck、DFT算法進(jìn)行實(shí)驗(yàn)對比,然后從兼顧速度與準(zhǔn)確度角度與其他算法進(jìn)行跟蹤性能評價(jià),本算法在實(shí)驗(yàn)過程中以O(shè)urs命名。
如表1所示,在OTB2013中選取5組彩色序列作為測試序列,所有算法保持原有參數(shù)不變。計(jì)算機(jī)硬件配置為Inter Core i7 CPU,內(nèi)存8G,實(shí)驗(yàn)平臺環(huán)境為Matlab 2016b。
表1 實(shí)驗(yàn)的視頻序列
3.2.1 速度分析
各個(gè)算法對OTB2013中選取的5組實(shí)驗(yàn)序列的處理速度結(jié)果如表2所示,表中數(shù)據(jù)單位為幀/秒,其中Av列為各個(gè)算法對5組視頻序列的平均處理速度,計(jì)算公式如式(11)所示。
表2 不同跟蹤算法的處理速度
從Av列數(shù)據(jù)可知,本文算法處理速度為199.0幀/秒,比CSK慢了1.54倍,與MS算法比較接近,而其他算法皆低于本文算法。
3.2.2 準(zhǔn)確度分析
為評估算法的準(zhǔn)確度,本次實(shí)驗(yàn)使用OPE(One Pass Evaluation)模式,采用中心位置誤差標(biāo)準(zhǔn)作為評價(jià)標(biāo)準(zhǔn),繪制精確度曲線(precision plot)。其中,如式(12)所示,中心位置誤差P是指算法的目標(biāo)中心位置(xr,y)r和真實(shí)目標(biāo)中心位置(xs,y)s的平均歐式距離值。精確度描述的是給定的中心位置誤差閾值之內(nèi)跟蹤正確的幀數(shù)占總幀數(shù)的比例,本次實(shí)驗(yàn)采用的閾值為20個(gè)像素。
如圖10所示,在實(shí)驗(yàn)的7種算法中,本文算法精確度最高為0.790,高出CSK1.52倍、高出MS1.57倍。為更直觀地評估算法的跟蹤性能,選取精確度前五的算法在Couple、Doll和Lemming三組序列下的運(yùn)行結(jié)果。
圖10 OPE精確度對比曲線
如圖11所示,在第18幀中CSK算法脫離目標(biāo);在第36幀中KCF算法脫離目標(biāo);在第92幀中CPF算法和Struck算法都脫離目標(biāo),只有本文算法能一直有效地跟蹤目標(biāo)。
圖11 Couple序列部分跟蹤結(jié)果
如圖12所示,在第1628幀中CSK算法脫離目標(biāo);在第3750幀中CPF算法偏離目標(biāo);在第3774幀中Struck算法脫離目標(biāo),CPF算法重新找到目標(biāo),本文算法和KCF始終附著在目標(biāo)上。
圖12 Doll序列部分跟蹤結(jié)果
如圖13所示,在第388幀中當(dāng)目標(biāo)被遮擋再次出現(xiàn)時(shí),KCF算法脫離目標(biāo);第885幀中CSK算法脫離目標(biāo),當(dāng)目標(biāo)未被遮擋地運(yùn)動到KCF算法丟失目標(biāo)的位置時(shí),KCF算法重新找到目標(biāo);第970幀中Struck算法脫離目標(biāo),本文算法和CPF算法一直穩(wěn)定地跟蹤目標(biāo)。從該序列跟蹤過程可知該算法可以克服目標(biāo)短暫遮擋問題。
圖13 Lemming序列部分跟蹤結(jié)果
3.2.3 綜合分析
對速度和準(zhǔn)確度單獨(dú)分析后,對速度和準(zhǔn)確度進(jìn)行綜合分析。如表3是各算法速度和精確度的對比。解決了其他算法在目標(biāo)跟蹤時(shí)速度和精確度不能兼顧的問題。
表3 不同算法處理速度和精確度