劉德華
(三峽大學 計算機與信息學院, 湖北 宜昌 443002)
?
優化CamShift算法的適應度函數的船舶跟蹤改進算法
劉德華
(三峽大學 計算機與信息學院, 湖北 宜昌 443002)
針對內河船舶對象在動態背景下的目標跟蹤展開研究,考慮船舶在內河運行環境的特點,以CamShift跟蹤算法為基礎,對其適應度函數進行優化設計,將期望值最優作為適應度函數的性能參量。設計中以目標區域顏色直方圖概率密度和預測區域顏色直方圖概率的期望值作為適應度函數,以此適應度作為視頻幀中選擇目標區域的參量。內河運行船舶實際攝制視頻的跟蹤分析結果表明:相對于傳統的CamShift算法,改進后的算法提高了跟蹤精度和系統穩定性。
運動目標跟蹤; 適應度函數; 期望值; 動態背景
視頻目標檢測跟蹤是計算機視覺領域的重要研究內容,它也是智能視頻監控、智能交通、機器人導航和精確制導等領域的關鍵應用技術。視頻跟蹤是以圖像理論為基礎,并融合模式識別、計算機技術等為一體的跟蹤技術。
近些年,視頻跟蹤技術[1-2]的發展很快,技術也較成熟,在交通視頻監控、人機交互、醫療診斷、車輛導航、水面船只監控、國防建設等方面得到了廣泛應用。在視頻跟蹤技術中有很多的跟蹤算法,各種算法也都有各自適用的場景。在實現目標跟蹤的過程中,一般先要進行運動目標檢測。常見的檢測算法主要有幀間差分法、背景差分法[3-4]、混合高斯模型法、主動輪廓法、前景檢測算法[5-6]和聯合直方圖的方法[7-8]等。這些算法適用于靜態背景中的目標跟蹤。有的需要在視頻幀中讀取目標區域的特征,或者將多種特征融合[9-10]在一起,然后再根據這些特征在后續幀中不斷迭代,尋找到最佳的目標區域,達到跟蹤目標的目的。常見跟蹤算法主要有MeanShift跟蹤算法[11-12]、TLD(tracking-learning-detection)跟蹤算法、CamShift跟蹤算法[13-14]等,這些算法在處理目標特征方面均取得較好的效果,在靜態的背景中具有較好的魯棒性,因此常用于復雜背景中的目標跟蹤研究。在跟蹤領域還有許多其他算法也取得了較好的效果,如卡爾曼濾波算法[15-16]、粒子濾波算法等。
在一些實際環境中,由于背景中光照的變化,目標顏色與背景相近,或者受動態背景的影響,現有的一些跟蹤算法的跟蹤穩定性不理想,如出現跟蹤框漂移現象等。本文著眼于復雜運動背景環境,以CamShift跟蹤算法為基礎,實現動態背景中對運動目標的穩定跟蹤。
CamShift算法是一種自適應的目標跟蹤算法,是MeanShift算法的擴展。該算法將視頻的幀做MeanShift運算,并將上一幀的結果(即搜索窗的大小和中心)作為下一幀MeanShift算法搜索的初始值,這樣不斷迭代,最后實現目標跟蹤。
MeanShift算法是一種迭代尋優的算法,具體過程如下:
1) 在初始視頻圖像第1幀f1中,選定目標區域,確定目標區域的中心點z1,構造該區域顏色直方圖,并得到顏色概率密度分布為q1。
2) 在視頻圖像第2幀f2中,根據前一幀的目標中心位置z1,預測當前幀目標區域的中心位置z2,計算該區域的顏色直方圖,并獲得此區域的顏色概率密度分布為q2。
3) 比較第1幀顏色概率密度分布q1和第2幀顏色概率密度分布q2的相似度,公式為:

(1)
其值越大,說明前后兩幀目標區域的相似性就越大。當達到最大時,中心點z2就是所要尋找的點,因此所要尋找的目標區域也就確定了。
4) 后面的視頻圖像幀fn根據式(2)(3)的步驟循環迭代,找出各幀中目標所在的區域位置,最后實現對目標的穩定跟蹤。
CamShift跟蹤算法是對MeanShift算法的改進,它在MeanShift算法基礎上,使橢圓跟蹤框能改變大小,即跟蹤目標的橢圓窗口的大小能隨著目標尺寸大小的變化而變化。
CamShift算法在跟蹤的過程中,對于靜止背景中的目標可以很好跟蹤,魯棒性好;而在動態的背景中跟蹤移動目標時,由于背景的干擾較大,跟蹤的效果不太好,魯棒性就變得不太穩定,可見橢圓跟蹤框也不能很好地體現出目標的所在區域。
圖1是CamShift算法對內河水面上的一艘沙船的跟蹤,在視頻中的沙船航行速度慢,水面上有較小的波浪,但CamShift算法跟蹤的結果卻不理想,效果不太穩定,橢圓跟蹤框容易出現漂移現象。
從圖1中的3幀跟蹤圖可以看出:在視頻剛開始的幀中,橢圓跟蹤框可以較好地跟蹤目標所在的區域,但在后面的幀中,橢圓跟蹤框開始出現漂移現象,失去了對目標船只的穩定跟蹤。在第500幀時,目標船只的顏色與背景中水面的顏色較相近,橢圓跟蹤框完全沒有跟蹤到目標,CamShift算法失去了原有的魯棒性。因此,該算法需要進行進一步的改進。

圖1 CamShift算法對沙船的跟蹤結果
在上述跟蹤算法中,通過兩幀中顏色概率密度分布相似度的最大值來尋找目標區域的最優位置。在改進型的算法中,求取2幀圖像目標區域中顏色直方圖相似度期望的最大值,并用橢圓框來確定目標區域,以此來達到跟蹤的目的。具體算法過程如下:
2.1 目標模型描述

(2)
在目標區域顏色直方圖中,把直方圖分成m個區間,因此每個區間顏色直方圖的顏色概率密度可以表示為
(3)

2.2 預測目標模型描述


(4)
2.3 相似度模型設計
在前后2幀圖片中比較目標區域和預測目標區域的相似性,表示為
(5)
將式(5)用1階泰勒展開近似可得:

(6)
式中:c1和c2是常量;ωi的計算公式為
(7)
將展開式(6)中的第2項令為
(8)
要使得預測目標區域和目標區域相似性達到最大值,就需要式(8)的值能達到最大值。
在預測目標區域和目標區域的相似性基礎上,再求得相似性的期望值,如式(9)所示。當相似性達最大值時,期望值也就達到了最大值,因此求解預測目標的區域就變成了求解相似性期望值的最大值的問題。

(9)
式(10)是當期望值達到最大時的預測目標所在的區域,也就是預測目標幀中目標的真實區域。

(10)
橢圓跟蹤框的形狀計算見式(11)。
(11)
其中

(12)
本文算法以相鄰兩幀之間目標區域和預測目標區域的顏色直方圖概率相似性期望值作為判據來選擇目標區域。算法迭代部分的流程如圖2所示。

圖2 算法迭代部分的流程
本論文的視頻數據于2016年6月1日拍攝于湖北省宜昌市葛洲壩附近的三江橋上,拍攝的目標為葛洲壩區航行中的沙船,為真實環境下采集的視頻數據,并以航行的船舶為研究對象進行算法分析。由于本文篇幅有限,因此只截取了其中的750幀。
3.1 仿真環境
為了測試本文的算法性能,該算法是在Inter(R) Core(TM)i7-4770 CPU @ 3.40GHz 3.40GHz,16GB(RAM),Windows7操作系統的環境下運行,用Matlab2014a版本進行仿真實驗。
本文的視頻數據拍攝于宜昌市葛洲壩壩區,為真實場景中的視頻數據。拍攝的環境中有小風,遠處的水面有些水霧,溫度為30 ℃。
3.2 結果與分析
本文的算法是基于顏色特征的檢測與跟蹤,以顏色特征為基礎,在圖像序列中尋找與目標區域顏色特征相似的區域。在算法過程中,首先是在第1幀手動選出需要跟蹤的目標區域,并用橢圓框框出,讀取顏色特征值,然后通過改進的CamShift 算法計算出此幀中目標區域的顏色直方圖特征值,反向投影求出它們的概率值。
在第2幀中,獲取1個候選區域,然后同樣計算該候選區域的顏色直方圖特征值,求出它們的概率值,然后結合候選區域和目標區域的概率值,求得其顏色概率期望相似性的最大值。當達到最大值時,候選區域就是目標位置的所在區域。在后面的視頻幀中,就以前一幀為目標幀,不斷地進行迭代,就達到了穩定跟蹤船只的目的。跟蹤結果如圖3所示。
由圖3可見:在改進算法的目標跟蹤過程中,跟蹤框沒有出現漂移的現象,都能穩定地跟蹤目標。本文算法在計算了期望值后,跟蹤穩定性得到了提高,魯棒性得到了增強,跟蹤船只的效果與圖1相比,得到了明顯改善。所以,在CamShift算法中增加計算期望的過程是一個正確的改進方法。

圖3 相似度改進后的跟蹤結果

(13)
式中:T是視頻有效幀的總長度,750幀;i為視頻幀的序號;(xi,yi)是跟蹤算法中跟蹤框在第i幀的中心位置;(Xi,Yi)是第i幀中跟蹤目標的中心位置。式(13)表示了目標跟蹤框中心位置與實際目標區域中心位置的平均長度。表1是利用式(13)對跟蹤算法改進前后進行計算的跟蹤結果誤差。

表1 跟蹤結果誤差對比
結合圖1、圖3和表1可以看出:當跟蹤的目標與背景的顏色較接近時,改進后的算法仍然能很好地跟蹤住目標,而且其跟蹤框中心位置平均偏移長度也較低,更接近目標區域的真實中心位置。
3.3 復雜場景下的目標跟蹤
為了更好地說明本文算法對水面上船只的跟蹤效果,基于本文的算法,又在其他背景環境中對水面的船只進行了跟蹤算法檢驗。圖4為一艘在宜昌市其他河流中航行的小貨輪拍攝視頻,共有500幀。視頻中小貨輪在河流中航行速度較慢,但水面具有較大的水波,水波的干擾影響較大。圖4的4幀圖是從視頻跟蹤結果中取出的(第89、197、291、403幀),從中可以看出:雖有水波的嚴重干擾,但算法的跟蹤仍然穩定,橢圓跟蹤框都能穩定地跟蹤著河流中的小貨輪。這說明了本文跟蹤算法具有很好的魯棒性。
以下再用運動快的目標來檢驗算法的穩定性。圖5是海面上游艇的一個視頻,視頻中共有200幀。游艇在海面上行駛速度快,海面也有較大的波浪,這也是一個干擾很大的一個背景環境。圖5的4幀圖取自于視頻跟蹤的結果(第40、90、140、190幀),從中可以看出:有起伏的波浪造成了一個嚴重干擾的背景環境,在跟蹤過程中,每一幀的橢圓框都能很好地框住目標,說明對于快速目標本文算法具有很好的魯棒性。

圖4 河流中貨船的跟蹤結果
視頻跟蹤的算法比較多,而且跟蹤的背景也千變萬化,有時一些特定的跟蹤算法只針對特定背景下的運動目標,因此在研究跟蹤問題時還需要根據具體環境具體分析。到目前為止,還沒有一種穩定的目標跟蹤算法可以廣泛適用于各種跟蹤情景。本文在前人研究的基礎之上,對CamShift跟蹤算法做了一個小的改進,增加了計算顏色概率相似性期望的過程。實驗結果表明:改進后的算法對船只有很好的跟蹤效果;在不同的動態背景中,跟蹤的效果也相對較好,結果穩定。但當動態背景的干擾更大,如水波更大時,該跟蹤算法的效果是否穩定還需要進一步地研究與檢驗。
[1] 楊朋.目標跟蹤技術在智能視頻監控系統中的應用研究[D].蘭州:蘭州理工大學,2014.
[2] 曹迪.基于DSP視頻跟蹤系統的設計與研究[D].長春:吉林大學,2013.
[3] 高美鳳,劉娣.分塊幀差和背景相融合的運動目標檢測[J].計算機應用研究,2013,30(1):299-302.
[4] 吳君欽,劉昊,羅勇.靜態背景下的運動目標檢測算法[J].液晶與顯示,2012,27(5):682-686.
[5] 趙坤,陳宇峰,武文哲,等.融合時域特征識別的前景檢測算法[J].小型微型計算機系統,2015,36(9):2112-2115.
[6] 孫水發,覃音詩,馬先兵,等.室外視頻前景檢測中的形態學改進ViBe算法[J].計算機工程與應用,2013,49(10):159-162.
[7] 賈建英,董安國.基于聯合直方圖的運動目標檢測算法[J].計算機工程與應用,2016,2(5):199-203.
[8] 蘇延召,李艾華,金廣智,等.結合直方圖反投影的多特征運動陰影檢測算法[J].光電子.激光,2014,25(7):1395-1402.
[9] 云霄,肖剛.基于CamShift的多特征自適應融合船舶跟蹤算法[J].機電工程,2011,38(5):52-58.
[10]劉晴,唐林波,趙保軍,等.基于自適應多特征融合的均值遷移紅外目標跟蹤[J].電子與信息學報,2012,34(5):1137-1141.
[11]趙欣,陳峰,吳立知.一種改進的meanshift運動目標跟蹤算法[J].通信技術,2011,44(11):76-79.
[12]王田,劉偉寧,韓廣良,等.基于改進MeanShift的目標跟蹤算法[J].液晶與顯示,2012,27(3):396-400.
[13]陳麗君,馬永杰.自適應融合角點特征的Camshift目標跟蹤[J].計算機工程與應用,2014,50(24):178-182.
[14]鄔大鵬,程衛平,于盛林.基于幀間差分和運動估計的Camshift目標跟蹤算法[J].光電工程,2010,37(1):55-60.
[15]楊鵬生,吳曉軍,張玉梅.改進擴展卡爾曼濾波算法的目標跟蹤算法[J].計算機工程與應用,2016,52(5):71-74.
[16]郝曉靜,李國新,李明珠,等.無跡卡爾曼濾波算法在目標跟蹤中的研究[J].電子設計工程,2012,20(13):161-164.
(責任編輯 楊黎麗)
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
水電工程智能視覺監測湖北省重點實驗室開放基金資助項目(2014KLA05)
劉德華(1990—),男,湖北黃石人,碩士研究生,主要從事視頻目標跟蹤研究,E-mail:1533078725@qq.com。
劉德華.優化CamShift算法的適應度函數的船舶跟蹤改進算法[J].重慶理工大學學報(自然科學),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