劉德華
(三峽大學(xué) 計(jì)算機(jī)與信息學(xué)院, 湖北 宜昌 443002)
?
優(yōu)化CamShift算法的適應(yīng)度函數(shù)的船舶跟蹤改進(jìn)算法
劉德華
(三峽大學(xué) 計(jì)算機(jī)與信息學(xué)院, 湖北 宜昌 443002)
針對(duì)內(nèi)河船舶對(duì)象在動(dòng)態(tài)背景下的目標(biāo)跟蹤展開(kāi)研究,考慮船舶在內(nèi)河運(yùn)行環(huán)境的特點(diǎn),以CamShift跟蹤算法為基礎(chǔ),對(duì)其適應(yīng)度函數(shù)進(jìn)行優(yōu)化設(shè)計(jì),將期望值最優(yōu)作為適應(yīng)度函數(shù)的性能參量。設(shè)計(jì)中以目標(biāo)區(qū)域顏色直方圖概率密度和預(yù)測(cè)區(qū)域顏色直方圖概率的期望值作為適應(yīng)度函數(shù),以此適應(yīng)度作為視頻幀中選擇目標(biāo)區(qū)域的參量。內(nèi)河運(yùn)行船舶實(shí)際攝制視頻的跟蹤分析結(jié)果表明:相對(duì)于傳統(tǒng)的CamShift算法,改進(jìn)后的算法提高了跟蹤精度和系統(tǒng)穩(wěn)定性。
運(yùn)動(dòng)目標(biāo)跟蹤; 適應(yīng)度函數(shù); 期望值; 動(dòng)態(tài)背景
視頻目標(biāo)檢測(cè)跟蹤是計(jì)算機(jī)視覺(jué)領(lǐng)域的重要研究?jī)?nèi)容,它也是智能視頻監(jiān)控、智能交通、機(jī)器人導(dǎo)航和精確制導(dǎo)等領(lǐng)域的關(guān)鍵應(yīng)用技術(shù)。視頻跟蹤是以圖像理論為基礎(chǔ),并融合模式識(shí)別、計(jì)算機(jī)技術(shù)等為一體的跟蹤技術(shù)。
近些年,視頻跟蹤技術(shù)[1-2]的發(fā)展很快,技術(shù)也較成熟,在交通視頻監(jiān)控、人機(jī)交互、醫(yī)療診斷、車(chē)輛導(dǎo)航、水面船只監(jiān)控、國(guó)防建設(shè)等方面得到了廣泛應(yīng)用。在視頻跟蹤技術(shù)中有很多的跟蹤算法,各種算法也都有各自適用的場(chǎng)景。在實(shí)現(xiàn)目標(biāo)跟蹤的過(guò)程中,一般先要進(jìn)行運(yùn)動(dòng)目標(biāo)檢測(cè)。常見(jiàn)的檢測(cè)算法主要有幀間差分法、背景差分法[3-4]、混合高斯模型法、主動(dòng)輪廓法、前景檢測(cè)算法[5-6]和聯(lián)合直方圖的方法[7-8]等。這些算法適用于靜態(tài)背景中的目標(biāo)跟蹤。有的需要在視頻幀中讀取目標(biāo)區(qū)域的特征,或者將多種特征融合[9-10]在一起,然后再根據(jù)這些特征在后續(xù)幀中不斷迭代,尋找到最佳的目標(biāo)區(qū)域,達(dá)到跟蹤目標(biāo)的目的。常見(jiàn)跟蹤算法主要有MeanShift跟蹤算法[11-12]、TLD(tracking-learning-detection)跟蹤算法、CamShift跟蹤算法[13-14]等,這些算法在處理目標(biāo)特征方面均取得較好的效果,在靜態(tài)的背景中具有較好的魯棒性,因此常用于復(fù)雜背景中的目標(biāo)跟蹤研究。在跟蹤領(lǐng)域還有許多其他算法也取得了較好的效果,如卡爾曼濾波算法[15-16]、粒子濾波算法等。
在一些實(shí)際環(huán)境中,由于背景中光照的變化,目標(biāo)顏色與背景相近,或者受動(dòng)態(tài)背景的影響,現(xiàn)有的一些跟蹤算法的跟蹤穩(wěn)定性不理想,如出現(xiàn)跟蹤框漂移現(xiàn)象等。本文著眼于復(fù)雜運(yùn)動(dòng)背景環(huán)境,以CamShift跟蹤算法為基礎(chǔ),實(shí)現(xiàn)動(dòng)態(tài)背景中對(duì)運(yùn)動(dòng)目標(biāo)的穩(wěn)定跟蹤。
CamShift算法是一種自適應(yīng)的目標(biāo)跟蹤算法,是MeanShift算法的擴(kuò)展。該算法將視頻的幀做MeanShift運(yùn)算,并將上一幀的結(jié)果(即搜索窗的大小和中心)作為下一幀MeanShift算法搜索的初始值,這樣不斷迭代,最后實(shí)現(xiàn)目標(biāo)跟蹤。
MeanShift算法是一種迭代尋優(yōu)的算法,具體過(guò)程如下:
1) 在初始視頻圖像第1幀f1中,選定目標(biāo)區(qū)域,確定目標(biāo)區(qū)域的中心點(diǎn)z1,構(gòu)造該區(qū)域顏色直方圖,并得到顏色概率密度分布為q1。
2) 在視頻圖像第2幀f2中,根據(jù)前一幀的目標(biāo)中心位置z1,預(yù)測(cè)當(dāng)前幀目標(biāo)區(qū)域的中心位置z2,計(jì)算該區(qū)域的顏色直方圖,并獲得此區(qū)域的顏色概率密度分布為q2。
3) 比較第1幀顏色概率密度分布q1和第2幀顏色概率密度分布q2的相似度,公式為:
(1)
其值越大,說(shuō)明前后兩幀目標(biāo)區(qū)域的相似性就越大。當(dāng)達(dá)到最大時(shí),中心點(diǎn)z2就是所要尋找的點(diǎn),因此所要尋找的目標(biāo)區(qū)域也就確定了。
4) 后面的視頻圖像幀fn根據(jù)式(2)(3)的步驟循環(huán)迭代,找出各幀中目標(biāo)所在的區(qū)域位置,最后實(shí)現(xiàn)對(duì)目標(biāo)的穩(wěn)定跟蹤。
CamShift跟蹤算法是對(duì)MeanShift算法的改進(jìn),它在MeanShift算法基礎(chǔ)上,使橢圓跟蹤框能改變大小,即跟蹤目標(biāo)的橢圓窗口的大小能隨著目標(biāo)尺寸大小的變化而變化。
CamShift算法在跟蹤的過(guò)程中,對(duì)于靜止背景中的目標(biāo)可以很好跟蹤,魯棒性好;而在動(dòng)態(tài)的背景中跟蹤移動(dòng)目標(biāo)時(shí),由于背景的干擾較大,跟蹤的效果不太好,魯棒性就變得不太穩(wěn)定,可見(jiàn)橢圓跟蹤框也不能很好地體現(xiàn)出目標(biāo)的所在區(qū)域。
圖1是CamShift算法對(duì)內(nèi)河水面上的一艘沙船的跟蹤,在視頻中的沙船航行速度慢,水面上有較小的波浪,但CamShift算法跟蹤的結(jié)果卻不理想,效果不太穩(wěn)定,橢圓跟蹤框容易出現(xiàn)漂移現(xiàn)象。
從圖1中的3幀跟蹤圖可以看出:在視頻剛開(kāi)始的幀中,橢圓跟蹤框可以較好地跟蹤目標(biāo)所在的區(qū)域,但在后面的幀中,橢圓跟蹤框開(kāi)始出現(xiàn)漂移現(xiàn)象,失去了對(duì)目標(biāo)船只的穩(wěn)定跟蹤。在第500幀時(shí),目標(biāo)船只的顏色與背景中水面的顏色較相近,橢圓跟蹤框完全沒(méi)有跟蹤到目標(biāo),CamShift算法失去了原有的魯棒性。因此,該算法需要進(jìn)行進(jìn)一步的改進(jìn)。
圖1 CamShift算法對(duì)沙船的跟蹤結(jié)果
在上述跟蹤算法中,通過(guò)兩幀中顏色概率密度分布相似度的最大值來(lái)尋找目標(biāo)區(qū)域的最優(yōu)位置。在改進(jìn)型的算法中,求取2幀圖像目標(biāo)區(qū)域中顏色直方圖相似度期望的最大值,并用橢圓框來(lái)確定目標(biāo)區(qū)域,以此來(lái)達(dá)到跟蹤的目的。具體算法過(guò)程如下:
2.1 目標(biāo)模型描述
(2)
在目標(biāo)區(qū)域顏色直方圖中,把直方圖分成m個(gè)區(qū)間,因此每個(gè)區(qū)間顏色直方圖的顏色概率密度可以表示為
(3)
2.2 預(yù)測(cè)目標(biāo)模型描述
(4)
2.3 相似度模型設(shè)計(jì)
在前后2幀圖片中比較目標(biāo)區(qū)域和預(yù)測(cè)目標(biāo)區(qū)域的相似性,表示為
(5)
將式(5)用1階泰勒展開(kāi)近似可得:
(6)
式中:c1和c2是常量;ωi的計(jì)算公式為
(7)
將展開(kāi)式(6)中的第2項(xiàng)令為
(8)
要使得預(yù)測(cè)目標(biāo)區(qū)域和目標(biāo)區(qū)域相似性達(dá)到最大值,就需要式(8)的值能達(dá)到最大值。
在預(yù)測(cè)目標(biāo)區(qū)域和目標(biāo)區(qū)域的相似性基礎(chǔ)上,再求得相似性的期望值,如式(9)所示。當(dāng)相似性達(dá)最大值時(shí),期望值也就達(dá)到了最大值,因此求解預(yù)測(cè)目標(biāo)的區(qū)域就變成了求解相似性期望值的最大值的問(wèn)題。
(9)
式(10)是當(dāng)期望值達(dá)到最大時(shí)的預(yù)測(cè)目標(biāo)所在的區(qū)域,也就是預(yù)測(cè)目標(biāo)幀中目標(biāo)的真實(shí)區(qū)域。
(10)
橢圓跟蹤框的形狀計(jì)算見(jiàn)式(11)。
(11)
其中
(12)
本文算法以相鄰兩幀之間目標(biāo)區(qū)域和預(yù)測(cè)目標(biāo)區(qū)域的顏色直方圖概率相似性期望值作為判據(jù)來(lái)選擇目標(biāo)區(qū)域。算法迭代部分的流程如圖2所示。
圖2 算法迭代部分的流程
本論文的視頻數(shù)據(jù)于2016年6月1日拍攝于湖北省宜昌市葛洲壩附近的三江橋上,拍攝的目標(biāo)為葛洲壩區(qū)航行中的沙船,為真實(shí)環(huán)境下采集的視頻數(shù)據(jù),并以航行的船舶為研究對(duì)象進(jìn)行算法分析。由于本文篇幅有限,因此只截取了其中的750幀。
3.1 仿真環(huán)境
為了測(cè)試本文的算法性能,該算法是在Inter(R) Core(TM)i7-4770 CPU @ 3.40GHz 3.40GHz,16GB(RAM),Windows7操作系統(tǒng)的環(huán)境下運(yùn)行,用Matlab2014a版本進(jìn)行仿真實(shí)驗(yàn)。
本文的視頻數(shù)據(jù)拍攝于宜昌市葛洲壩壩區(qū),為真實(shí)場(chǎng)景中的視頻數(shù)據(jù)。拍攝的環(huán)境中有小風(fēng),遠(yuǎn)處的水面有些水霧,溫度為30 ℃。
3.2 結(jié)果與分析
本文的算法是基于顏色特征的檢測(cè)與跟蹤,以顏色特征為基礎(chǔ),在圖像序列中尋找與目標(biāo)區(qū)域顏色特征相似的區(qū)域。在算法過(guò)程中,首先是在第1幀手動(dòng)選出需要跟蹤的目標(biāo)區(qū)域,并用橢圓框框出,讀取顏色特征值,然后通過(guò)改進(jìn)的CamShift 算法計(jì)算出此幀中目標(biāo)區(qū)域的顏色直方圖特征值,反向投影求出它們的概率值。
在第2幀中,獲取1個(gè)候選區(qū)域,然后同樣計(jì)算該候選區(qū)域的顏色直方圖特征值,求出它們的概率值,然后結(jié)合候選區(qū)域和目標(biāo)區(qū)域的概率值,求得其顏色概率期望相似性的最大值。當(dāng)達(dá)到最大值時(shí),候選區(qū)域就是目標(biāo)位置的所在區(qū)域。在后面的視頻幀中,就以前一幀為目標(biāo)幀,不斷地進(jìn)行迭代,就達(dá)到了穩(wěn)定跟蹤船只的目的。跟蹤結(jié)果如圖3所示。
由圖3可見(jiàn):在改進(jìn)算法的目標(biāo)跟蹤過(guò)程中,跟蹤框沒(méi)有出現(xiàn)漂移的現(xiàn)象,都能穩(wěn)定地跟蹤目標(biāo)。本文算法在計(jì)算了期望值后,跟蹤穩(wěn)定性得到了提高,魯棒性得到了增強(qiáng),跟蹤船只的效果與圖1相比,得到了明顯改善。所以,在CamShift算法中增加計(jì)算期望的過(guò)程是一個(gè)正確的改進(jìn)方法。
圖3 相似度改進(jìn)后的跟蹤結(jié)果
(13)
式中:T是視頻有效幀的總長(zhǎng)度,750幀;i為視頻幀的序號(hào);(xi,yi)是跟蹤算法中跟蹤框在第i幀的中心位置;(Xi,Yi)是第i幀中跟蹤目標(biāo)的中心位置。式(13)表示了目標(biāo)跟蹤框中心位置與實(shí)際目標(biāo)區(qū)域中心位置的平均長(zhǎng)度。表1是利用式(13)對(duì)跟蹤算法改進(jìn)前后進(jìn)行計(jì)算的跟蹤結(jié)果誤差。
表1 跟蹤結(jié)果誤差對(duì)比
結(jié)合圖1、圖3和表1可以看出:當(dāng)跟蹤的目標(biāo)與背景的顏色較接近時(shí),改進(jìn)后的算法仍然能很好地跟蹤住目標(biāo),而且其跟蹤框中心位置平均偏移長(zhǎng)度也較低,更接近目標(biāo)區(qū)域的真實(shí)中心位置。
3.3 復(fù)雜場(chǎng)景下的目標(biāo)跟蹤
為了更好地說(shuō)明本文算法對(duì)水面上船只的跟蹤效果,基于本文的算法,又在其他背景環(huán)境中對(duì)水面的船只進(jìn)行了跟蹤算法檢驗(yàn)。圖4為一艘在宜昌市其他河流中航行的小貨輪拍攝視頻,共有500幀。視頻中小貨輪在河流中航行速度較慢,但水面具有較大的水波,水波的干擾影響較大。圖4的4幀圖是從視頻跟蹤結(jié)果中取出的(第89、197、291、403幀),從中可以看出:雖有水波的嚴(yán)重干擾,但算法的跟蹤仍然穩(wěn)定,橢圓跟蹤框都能穩(wěn)定地跟蹤著河流中的小貨輪。這說(shuō)明了本文跟蹤算法具有很好的魯棒性。
以下再用運(yùn)動(dòng)快的目標(biāo)來(lái)檢驗(yàn)算法的穩(wěn)定性。圖5是海面上游艇的一個(gè)視頻,視頻中共有200幀。游艇在海面上行駛速度快,海面也有較大的波浪,這也是一個(gè)干擾很大的一個(gè)背景環(huán)境。圖5的4幀圖取自于視頻跟蹤的結(jié)果(第40、90、140、190幀),從中可以看出:有起伏的波浪造成了一個(gè)嚴(yán)重干擾的背景環(huán)境,在跟蹤過(guò)程中,每一幀的橢圓框都能很好地框住目標(biāo),說(shuō)明對(duì)于快速目標(biāo)本文算法具有很好的魯棒性。
圖4 河流中貨船的跟蹤結(jié)果
視頻跟蹤的算法比較多,而且跟蹤的背景也千變?nèi)f化,有時(shí)一些特定的跟蹤算法只針對(duì)特定背景下的運(yùn)動(dòng)目標(biāo),因此在研究跟蹤問(wèn)題時(shí)還需要根據(jù)具體環(huán)境具體分析。到目前為止,還沒(méi)有一種穩(wěn)定的目標(biāo)跟蹤算法可以廣泛適用于各種跟蹤情景。本文在前人研究的基礎(chǔ)之上,對(duì)CamShift跟蹤算法做了一個(gè)小的改進(jìn),增加了計(jì)算顏色概率相似性期望的過(guò)程。實(shí)驗(yàn)結(jié)果表明:改進(jìn)后的算法對(duì)船只有很好的跟蹤效果;在不同的動(dòng)態(tài)背景中,跟蹤的效果也相對(duì)較好,結(jié)果穩(wěn)定。但當(dāng)動(dòng)態(tài)背景的干擾更大,如水波更大時(shí),該跟蹤算法的效果是否穩(wěn)定還需要進(jìn)一步地研究與檢驗(yàn)。
[1] 楊朋.目標(biāo)跟蹤技術(shù)在智能視頻監(jiān)控系統(tǒng)中的應(yīng)用研究[D].蘭州:蘭州理工大學(xué),2014.
[2] 曹迪.基于DSP視頻跟蹤系統(tǒng)的設(shè)計(jì)與研究[D].長(zhǎng)春:吉林大學(xué),2013.
[3] 高美鳳,劉娣.分塊幀差和背景相融合的運(yùn)動(dòng)目標(biāo)檢測(cè)[J].計(jì)算機(jī)應(yīng)用研究,2013,30(1):299-302.
[4] 吳君欽,劉昊,羅勇.靜態(tài)背景下的運(yùn)動(dòng)目標(biāo)檢測(cè)算法[J].液晶與顯示,2012,27(5):682-686.
[5] 趙坤,陳宇峰,武文哲,等.融合時(shí)域特征識(shí)別的前景檢測(cè)算法[J].小型微型計(jì)算機(jī)系統(tǒng),2015,36(9):2112-2115.
[6] 孫水發(fā),覃音詩(shī),馬先兵,等.室外視頻前景檢測(cè)中的形態(tài)學(xué)改進(jìn)ViBe算法[J].計(jì)算機(jī)工程與應(yīng)用,2013,49(10):159-162.
[7] 賈建英,董安國(guó).基于聯(lián)合直方圖的運(yùn)動(dòng)目標(biāo)檢測(cè)算法[J].計(jì)算機(jī)工程與應(yīng)用,2016,2(5):199-203.
[8] 蘇延召,李艾華,金廣智,等.結(jié)合直方圖反投影的多特征運(yùn)動(dòng)陰影檢測(cè)算法[J].光電子.激光,2014,25(7):1395-1402.
[9] 云霄,肖剛.基于CamShift的多特征自適應(yīng)融合船舶跟蹤算法[J].機(jī)電工程,2011,38(5):52-58.
[10]劉晴,唐林波,趙保軍,等.基于自適應(yīng)多特征融合的均值遷移紅外目標(biāo)跟蹤[J].電子與信息學(xué)報(bào),2012,34(5):1137-1141.
[11]趙欣,陳峰,吳立知.一種改進(jìn)的meanshift運(yùn)動(dòng)目標(biāo)跟蹤算法[J].通信技術(shù),2011,44(11):76-79.
[12]王田,劉偉寧,韓廣良,等.基于改進(jìn)MeanShift的目標(biāo)跟蹤算法[J].液晶與顯示,2012,27(3):396-400.
[13]陳麗君,馬永杰.自適應(yīng)融合角點(diǎn)特征的Camshift目標(biāo)跟蹤[J].計(jì)算機(jī)工程與應(yīng)用,2014,50(24):178-182.
[14]鄔大鵬,程衛(wèi)平,于盛林.基于幀間差分和運(yùn)動(dòng)估計(jì)的Camshift目標(biāo)跟蹤算法[J].光電工程,2010,37(1):55-60.
[15]楊鵬生,吳曉軍,張玉梅.改進(jìn)擴(kuò)展卡爾曼濾波算法的目標(biāo)跟蹤算法[J].計(jì)算機(jī)工程與應(yīng)用,2016,52(5):71-74.
[16]郝曉靜,李國(guó)新,李明珠,等.無(wú)跡卡爾曼濾波算法在目標(biāo)跟蹤中的研究[J].電子設(shè)計(jì)工程,2012,20(13):161-164.
(責(zé)任編輯 楊黎麗)
Improved Algorithm of Ship Tracking by Optimizing the Fitness Function of the CamShift Algorithm
LIU De-hua
(College of Computer and Information Technology, China Three Gorges University, Yichang 443002, China)
The target tracking of ships in inland river is studied. Considering the characteristics of the ship in the inland river, the fitness function is optimized based on the CamShift tracking algorithm, and the best performance parameters of the fitness function are optimized by the expected value. In the design the expected value of the probability density of the region color histogram is used as the fitness function, which becomes a parameter of selecting the target area in the video frame. Through the tracking analysis of the actual video of the ship in inland river, compared with the traditional CamShift algorithm, the improved algorithm designed in this paper improved the tracking accuracy and stability of the system.
moving target tracking; fitness function; expectation value; dynamic background
2017-01-09
水電工程智能視覺(jué)監(jiān)測(cè)湖北省重點(diǎn)實(shí)驗(yàn)室開(kāi)放基金資助項(xiàng)目(2014KLA05)
劉德華(1990—),男,湖北黃石人,碩士研究生,主要從事視頻目標(biāo)跟蹤研究,E-mail:1533078725@qq.com。
劉德華.優(yōu)化CamShift算法的適應(yīng)度函數(shù)的船舶跟蹤改進(jìn)算法[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)),2017(6):140-146.
format:LIU De-hua.Improved Algorithm of Ship Tracking by Optimizing the Fitness Function of the CamShift Algorithm[J].Journal of Chongqing University of Technology(Natural Science),2017(6):140-146.
10.3969/j.issn.1674-8425(z).2017.06.021
TP391
A
1674-8425(2017)06-0140-07