高 增, 張煥龍, 陳宜濱, 劉俊峰, 聶志誠(chéng)
(鄭州輕工業(yè)大學(xué) 電氣信息工程學(xué)院 河南 鄭州 450002)
目標(biāo)跟蹤是通過(guò)視頻圖像序列不斷估計(jì)目標(biāo)狀態(tài)的過(guò)程,在視頻監(jiān)控、醫(yī)療診斷、人機(jī)交互等方面都有著非常重要的應(yīng)用價(jià)值。雖然目標(biāo)跟蹤已經(jīng)被研究幾十年[1-2],但由于遮擋、突變運(yùn)動(dòng)、尺度變化等外界因素,目標(biāo)跟蹤仍然是計(jì)算機(jī)視覺(jué)領(lǐng)域的重要研究熱點(diǎn)。傳統(tǒng)跟蹤方法大部分都假定了跟蹤目標(biāo)具有運(yùn)動(dòng)平滑性條件。然而,實(shí)際應(yīng)用中目標(biāo)的突變運(yùn)動(dòng)時(shí)常發(fā)生,這將導(dǎo)致跟蹤的失敗。為了解決這些問(wèn)題,基于檢測(cè)的跟蹤方法[3]、基于隨機(jī)采樣的跟蹤方法[4]等方法被大量提出。
近年來(lái),研究者嘗試將群優(yōu)化算法應(yīng)用于計(jì)算機(jī)視覺(jué)領(lǐng)域[5-6]。群優(yōu)化算法可以看作一種在圖像序列中搜索目標(biāo)的全局搜索策略過(guò)程。因此,將跟蹤問(wèn)題轉(zhuǎn)化為全局優(yōu)化問(wèn)題引起研究者們的高度關(guān)注。文獻(xiàn)[7]將蝙蝠算法應(yīng)用到視覺(jué)跟蹤,該方法可以在各種具有挑戰(zhàn)性的條件下穩(wěn)健地跟蹤單個(gè)目標(biāo)。文獻(xiàn)[8]提出了基于多樣性優(yōu)化的粒子濾波跟蹤算法,該方法將布谷鳥(niǎo)搜索優(yōu)化算法融入粒子濾波中,增加粒子的多樣性,解決粒子退化問(wèn)題,從而改善跟蹤性能。文獻(xiàn)[9]提出了混合卡爾曼布谷鳥(niǎo)搜索跟蹤器,可以有效地從當(dāng)前幀到下一幀探索搜索空間,來(lái)定位目標(biāo)的位置。實(shí)驗(yàn)結(jié)果表明,該方法在計(jì)算時(shí)間上優(yōu)于粒子群算法。文獻(xiàn)[10]提出了混合正弦余弦算法(sine cosine algorithm, SCA)和差分進(jìn)化算法(differential evolution, DE)來(lái)解決全局優(yōu)化和目標(biāo)跟蹤問(wèn)題,該方法通過(guò)SCA的全局搜索與DE的局部搜索來(lái)改善優(yōu)化性能,從而使運(yùn)動(dòng)目標(biāo)獲得良好的跟蹤精度和魯棒性。文獻(xiàn)[11]將時(shí)間連續(xù)性信息結(jié)合到粒子群優(yōu)化中,在粒子濾波的框架內(nèi)形成多層重要性采樣,獲得好的跟蹤性能,尤其是對(duì)于目標(biāo)的不確定運(yùn)動(dòng)。文獻(xiàn)[12]提出了一種基于核相關(guān)濾波(kernelized correlation filter, KCF)的布谷鳥(niǎo)搜索擴(kuò)展的跟蹤器,該方法根據(jù)置信度映射設(shè)計(jì)了一個(gè)自適應(yīng)閾值來(lái)同時(shí)跟蹤平滑和突變運(yùn)動(dòng)。雖然這些基于優(yōu)化的跟蹤器均取得了較好的跟蹤效果,但是對(duì)突變運(yùn)動(dòng)的跟蹤精度方面還需進(jìn)一步提高。
GOA是一種新穎的仿生群優(yōu)化算法[13],具有調(diào)節(jié)參數(shù)少的優(yōu)點(diǎn),已被成功應(yīng)用于很多領(lǐng)域[14-15]。但由于GOA存在收斂速度慢,收斂精度低的缺陷。本文提出一種WGOA算法用來(lái)解決突變運(yùn)動(dòng)跟蹤問(wèn)題。該算法利用變異算子增加種群多樣性,提高全局搜索能力,通過(guò)慣性權(quán)重來(lái)改變蚱蜢的位置更新機(jī)制,改善算法的局部搜索能力,采用WGOA應(yīng)用于視覺(jué)跟蹤,表現(xiàn)出良好的跟蹤性能。
GOA是一種基于種群的優(yōu)化算法,它模擬了自然界中蚱蜢群的行為[13]。這種行為可以歸納為3個(gè)主要部分。
模擬蚱蜢在這一階段的群集行為的數(shù)學(xué)模型為
Pp=Sp+Gp+Ap,
(1)
其中:Pp是第p個(gè)蚱蜢的位置;Sp是蚱蜢群的社會(huì)互動(dòng)因子;Gp是第p個(gè)蚱蜢的重力;Ap表示風(fēng)平流。Sp、Gp和Ap的數(shù)學(xué)模型為
(2)
將公式(2)中的Sp、Gp和Ap代入公式(1),該方程可以表示為
(3)
考慮到公式(3)中的蚱蜢個(gè)體將快速的收斂至舒適區(qū),這將導(dǎo)致算法不能收斂至全局最優(yōu)。因此,公式(3)不能直接用于求解優(yōu)化問(wèn)題,為了解決這個(gè)問(wèn)題,文獻(xiàn)[13]提出修正后的方程為
(4)
為了平衡探索和開(kāi)發(fā)性能以及舒適區(qū)、排斥區(qū)和吸引區(qū)之間的相互轉(zhuǎn)換,參數(shù)c可以表示為c=cmax-t(cmax-cmin)/T,其中:cmax、cmin分別是最大值和最小值,本文設(shè)置cmax=1,cmin=0.000 1;t是當(dāng)前迭代次數(shù);T是最大迭代次數(shù)。
2.1.1改進(jìn)原理 基本GOA是通過(guò)種群之間相互作用不斷向目標(biāo)位置移動(dòng),這將導(dǎo)致種群多樣性降低,一旦算法陷入局部最優(yōu),將很難跳出。因此,在GOA中引入變異算子,使種群位置以一定的概率重新初始化,增加算法全局搜索能力,提高收斂精度。另外,在GOA位置更新過(guò)程中引入非線性動(dòng)態(tài)權(quán)重可以加快算法后期的搜索速度,提高收斂效率。
2.1.2變異算子 GOA調(diào)節(jié)參數(shù)少,具有較強(qiáng)的搜索能力,但是存在收斂精度較低的問(wèn)題。本文借鑒DE的變異機(jī)制[16],將變異算子引入GOA中,增強(qiáng)種群多樣性,避免陷入局部最優(yōu),最終實(shí)現(xiàn)全局最優(yōu)。其基本思想是在蚱蜢每次更新過(guò)程之后,以一定的概率重新初始化??梢员硎鰹閄i=round(rand*(ubd-lbd))P>Thr,其中:Xi為第i個(gè)蚱蜢的位置;P是介于0與1之間的隨機(jī)數(shù);ubd和lbd分別是蚱蜢在d維搜索空間的取值上界和取值下界。在本文中,Thr=0.98。
2.1.3動(dòng)態(tài)權(quán)重 盡管GOA通過(guò)變異算子可以增強(qiáng)全局搜索能力,但是在GOA搜索后期,蚱蜢的位置更新仍以公式(4)進(jìn)行局部搜索,這只能促使蚱蜢向目標(biāo)位置靠近,但不能更快地收斂至局部最優(yōu)。針對(duì)這個(gè)問(wèn)題,受粒子群優(yōu)化算法中慣性權(quán)重的啟發(fā),本文將非線性動(dòng)態(tài)權(quán)重引入GOA中,表述為
w=wmax-(wmax-wmin)×(t/T)1/t,
(5)
其中:wmax、wmin分別為動(dòng)態(tài)權(quán)重的最大值和最小值,本文設(shè)置為wmax=1,wmin=0.000 1。
由式(5)可知:在搜索前期,動(dòng)態(tài)權(quán)重較大時(shí),算法的探索能力強(qiáng),可以保證全局搜索;在算法后期,動(dòng)態(tài)權(quán)重變小,增強(qiáng)算法的開(kāi)發(fā)性能,提高收斂速度。改進(jìn)后的公式為
綜上所述,將變異算子和非線性動(dòng)態(tài)權(quán)重引入標(biāo)準(zhǔn)的GOA中,既能增強(qiáng)算法的全局搜索能力,又能提高算法的收斂速度。
假設(shè)圖像(狀態(tài)空間)中存在一個(gè)目標(biāo)(最好的蚱蜢),WGOA的目的是在圖像中隨機(jī)生成一組候選樣本(蚱蜢)來(lái)尋找目標(biāo)?;赪GOA的跟蹤器可以看作以WGOA作為一種搜索方式,來(lái)搜索與目標(biāo)最為相似的候選樣本,其跟蹤流程圖如圖1所示。
圖1 基于WGOA跟蹤器流程圖Figure 1 The flowchart of the WGOA tracker
由圖1可知,首先,用戶在第一幀中選擇目標(biāo),并建立初始狀態(tài)向量X=[x,y,s]。其中:[x,y] 表示目標(biāo)在圖像上像素坐標(biāo)的位置;s是尺度參數(shù)。其次,依據(jù)運(yùn)動(dòng)模型(蚱蜢位置更新機(jī)制)在下一幀圖像中生成候選樣本圖像,并獲取特征信息;然后,使用能量函數(shù)計(jì)算出目標(biāo)圖像與候選樣本圖像之間的相關(guān)性,其相關(guān)性最大的候選樣本圖像,即為所求的預(yù)測(cè)目標(biāo);最后,將預(yù)測(cè)目標(biāo)作為本幀的目標(biāo)以及下一幀的模板,完成視覺(jué)跟蹤。其中,虛線框是WGOA作為一種全局搜索策略來(lái)尋找與目標(biāo)最為相似的候選樣本圖像。在這項(xiàng)工作中,我們的主要貢獻(xiàn)是通過(guò)改進(jìn)GOA來(lái)生成候選樣本圖像信息。基于前期的研究工作,采用相似函數(shù)作為能量函數(shù)[12]。
本實(shí)驗(yàn)在Intel(R)Core(TM) i5-7500CPU3.4G 計(jì)算機(jī)上運(yùn)行,用MatlabR2017b、Windows10操作系統(tǒng)實(shí)現(xiàn)。為了驗(yàn)證提出算法的適用性,將實(shí)驗(yàn)分為兩部分:1) WGOA的性能評(píng)估;2) 與先進(jìn)的跟蹤器對(duì)比。
為了驗(yàn)證提出的優(yōu)化算法WGOA的有效性,本實(shí)驗(yàn)選取23個(gè)基準(zhǔn)函數(shù)[17]中的5個(gè)函數(shù),對(duì)提出的優(yōu)化算法進(jìn)行性能測(cè)試(如表1所示)。其中:F1和F2為單峰函數(shù);F9、F10和F11為多峰函數(shù)。單峰函數(shù)只有一個(gè)全局解,沒(méi)有局部解。因此,它們可以用來(lái)檢測(cè)優(yōu)化算法的收斂速度。多峰函數(shù)具有許多局部極小值,這些函數(shù)可以反映算法跳出局部?jī)?yōu)化并實(shí)現(xiàn)全局優(yōu)化的能力。
為了驗(yàn)證WGOA具有一定的優(yōu)勢(shì),將WGOA和GOA[13]、SCA[17]、DE[16]進(jìn)行比較。4種優(yōu)化算法保持同樣的種群大小,n=30和迭代次數(shù)T=500,WGOA和GOA中的吸引力強(qiáng)度f(wàn)=0.5和吸引力長(zhǎng)度比例l=1.5;DE算法中的交叉常數(shù)設(shè)置為0.2,常數(shù)因子為0.5。通過(guò)WGOA、GOA、SCA和DE對(duì)以上5種函數(shù)進(jìn)行30次測(cè)試和比較,并使用平均值、標(biāo)準(zhǔn)差和最差值作為統(tǒng)計(jì)數(shù)據(jù),其實(shí)驗(yàn)結(jié)果如表2所示(最好的結(jié)果用粗體表示)。從表2可以看出,對(duì)于收斂精度和穩(wěn)定性方面,WGOA無(wú)論在單峰函數(shù)還是多峰函數(shù)均表現(xiàn)出明顯的優(yōu)勢(shì),特別是與GOA相比。因此,WGOA具有很好的全局收斂性能。
表1 5個(gè)基準(zhǔn)測(cè)試函數(shù)Table 1 Five benchmark test functions
表2 基準(zhǔn)測(cè)試函數(shù)運(yùn)行結(jié)果Table 2 Results of benchmark test function
圖2 收斂曲線圖Figure 2 Convergence curve
為了能直觀地觀測(cè)4種算法在測(cè)試函數(shù)中的收斂狀況,通過(guò)計(jì)算每次迭代最優(yōu)的適應(yīng)度值來(lái)繪制收斂曲線,結(jié)果如圖2所示。從圖2可以看出,WGOA相比于其他優(yōu)化算法而言,具有明顯的下降趨勢(shì)。因此,WGOA具有較快的收斂速度。綜上所述,WGOA既能增強(qiáng)全局探索性能,提高收斂精度;又能增強(qiáng)局部開(kāi)發(fā)性能,提高算法的收斂效率。
為了驗(yàn)證WGOA在目標(biāo)跟蹤中的可行性,實(shí)驗(yàn)選取6個(gè)視頻序列(FISH、JUMPING、DEER、ZXJ、BLURFACE、FHC)進(jìn)行測(cè)試。4個(gè)先進(jìn)的跟蹤器(GOA、KCF[18]、LSST[19], CACF[3])進(jìn)行比較。在視頻序列中,ZXJ和FHC是我們實(shí)驗(yàn)室構(gòu)建的數(shù)據(jù)集。其他視頻序列來(lái)自網(wǎng)站http:∥cvlab.hanyang.ac.kr/tracker_benchmark/datasets.html。我們提取了BLURFACE序列中的306~310幀進(jìn)行抽幀處理,形成目標(biāo)的突變運(yùn)動(dòng)問(wèn)題。在這次實(shí)驗(yàn)中,參數(shù)設(shè)置如下:WGOA與GOA的參數(shù)保持一致;種群大小n=100;迭代次數(shù)T=300;吸引力強(qiáng)度f(wàn)=0.5;吸引力長(zhǎng)度比例l=1.5;而KCF,LSST和CACF跟蹤器采用默認(rèn)值。另外,我們分別從定性和定量?jī)蓚€(gè)方面對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析。
3.2.1定性分析 我們對(duì)6個(gè)視頻序列分為兩組對(duì)跟蹤結(jié)果進(jìn)行分析。
1) 一般運(yùn)動(dòng)組
選取FISH、JUMPING和DEER視頻序列作為一般運(yùn)動(dòng)組,跟蹤結(jié)果如圖3所示。
圖3 一般運(yùn)動(dòng)組的跟蹤結(jié)果Figure 3 Tracking results of general motion group
對(duì)于FISH視頻序列,目標(biāo)存在光照變化的現(xiàn)象。從圖3(第1行)可以看出,在#0058和#0312幀發(fā)生相機(jī)抖動(dòng),在#0178幀亮度變暗。雖然所有的跟蹤器都能成功捕獲目標(biāo),但是WGOA和KCF的跟蹤效果最好。
對(duì)于JUMPING視頻序列,由于相機(jī)抖動(dòng)導(dǎo)致目標(biāo)出現(xiàn)嚴(yán)重模糊。從圖3(第2行)可以看出,KCF在#0096幀不幸丟失目標(biāo);GOA和CACF在#0262幀也丟失目標(biāo);僅有WGOA和LSST成功地跟蹤了整個(gè)視頻序列。
對(duì)于DEER視頻序列,目標(biāo)經(jīng)歷了運(yùn)動(dòng)模糊和多個(gè)相似目標(biāo)。從圖3(第3行)可以看出,KCF和CACF在#0026幀丟失目標(biāo),雖然它們?cè)?0042幀中恢復(fù)了跟蹤,但仍然無(wú)法跟蹤整個(gè)視頻序列。然而,其他的跟蹤器完成了整個(gè)視頻序列。由一般運(yùn)動(dòng)組的實(shí)驗(yàn)結(jié)果可知,WGOA跟蹤器在對(duì)于平滑運(yùn)動(dòng)的視頻序列中能保證較好的跟蹤效果。
2) 突變運(yùn)動(dòng)組
為了驗(yàn)證提出的跟蹤器在目標(biāo)發(fā)生突變運(yùn)動(dòng)時(shí)的跟蹤效果,選取ZXJ、BLURFACE和FHC視頻序列作為突變運(yùn)動(dòng)組,這3個(gè)序列的目標(biāo)均發(fā)生大位移現(xiàn)象。跟蹤結(jié)果如圖4所示。
圖4 突變運(yùn)動(dòng)組的跟蹤結(jié)果Figure 4 Tracking results of abrupt motion group
對(duì)于ZXJ視頻序列,由于相機(jī)的連續(xù)抖動(dòng)造成了突變運(yùn)動(dòng),最大位移為70個(gè)像素點(diǎn)。從圖4(第1行)可以看出,在#0042幀之前所有的跟蹤器均能很好地跟蹤目標(biāo),但在#0069幀,KCF和LSST丟失目標(biāo);GOA在#0110幀也開(kāi)始偏離目標(biāo)。因此,WGOA和CACF表現(xiàn)出較好的跟蹤效果。
對(duì)于BLURFACE視頻序列,設(shè)計(jì)了幀丟失問(wèn)題。由于在#0153、#0241和#0310幀出現(xiàn)相機(jī)的劇烈抖動(dòng),導(dǎo)致目標(biāo)出現(xiàn)模糊現(xiàn)象。從圖4(第2行)可以看出,只有WGOA和GOA跟蹤器在#0310幀能成功地跟蹤目標(biāo)并完成了整個(gè)視頻序列,其他的跟蹤器均丟失目標(biāo),說(shuō)明基于優(yōu)化的跟蹤器能較好地解決視頻的幀丟失問(wèn)題。
對(duì)于FHC視頻序列,最大位移為188個(gè)像素點(diǎn)。從圖4(第3行)可以看出,WGOA和CACF均能成功地跟蹤整個(gè)視頻序列,其他跟蹤器均丟失目標(biāo)??傊瑢?duì)于大位移視頻序列,WGOA跟蹤器相比于其他跟蹤器具有很強(qiáng)的優(yōu)勢(shì)。
3.2.2定量分析 為了直觀地評(píng)估這些跟蹤器的性能,采用重疊精度(overlap precision, OP)、距離精度(distance precision, DP)和中心位置誤差(centre location error, CLE)來(lái)計(jì)算并觀察跟蹤結(jié)果[20]。表3給出了平均重疊率,表4給出了平均中心位置誤差,最好的實(shí)驗(yàn)結(jié)果在表中用粗體表示,并利用平均值來(lái)統(tǒng)計(jì)所有的視頻序列。圖5為OP和DP成功圖的平均精度。對(duì)于OP成功圖,x軸表示閾值范圍,y軸表示幀的比率,即重疊量高于閾值的幀數(shù)占總幀數(shù)的比率。圖中的曲線下邊面積越大,表示跟蹤的效果越好。對(duì)于DP成功率圖,y軸也代表了幀的比率,表示了預(yù)測(cè)目標(biāo)的中心位置與真實(shí)位置的距離低于閾值的幀數(shù)占總幀數(shù)的比率。圖中的斜率越高,表示跟蹤效果越好。
表3 平均重疊率Table 3 Average overlap rate
表4 平均中心位置誤差Table 4 Average centre location error
由表3、表4和圖5的結(jié)果可知,WGOA跟蹤器表現(xiàn)出較好的跟蹤結(jié)果。特別地,對(duì)于抽幀處理后的BLURFACE視頻序列,CACF丟失了目標(biāo),而WGOA跟蹤器仍能成功跟蹤目標(biāo)。因此,提出的算法在處理視頻幀丟失問(wèn)題具有一定的優(yōu)勢(shì)。
圖5 成功圖的平均精度Figure 5 The average precision of success plots
本文針對(duì)傳統(tǒng)跟蹤器不能較好地適應(yīng)突變運(yùn)動(dòng)問(wèn)題,提出了一種基于WGOA的突變跟蹤方法。該方法將變異算子融入GOA中,增強(qiáng)算法跳出局部最優(yōu)的能力,提高收斂精度;利用非線性減小的動(dòng)態(tài)權(quán)重可以在算法后期加強(qiáng)局部搜索性能,提高收斂效率;并將提出的WGOA應(yīng)用到視覺(jué)跟蹤,用來(lái)解決運(yùn)動(dòng)的突變問(wèn)題。實(shí)驗(yàn)結(jié)果表明,本文方法不僅能有效處理突變運(yùn)動(dòng)跟蹤問(wèn)題, 在通常的視頻序列上也具有良好的魯棒性,在未來(lái)可與先進(jìn)跟蹤器相結(jié)合來(lái)實(shí)現(xiàn)實(shí)時(shí)跟蹤。