摘 要: 運(yùn)動(dòng)目標(biāo)跟蹤是當(dāng)前計(jì)算機(jī)視覺技術(shù)處理中的一個(gè)重要研究方向,針對(duì)當(dāng)前卡爾曼濾波算法在運(yùn)動(dòng)目標(biāo)跟蹤中的缺陷,為了提高運(yùn)動(dòng)目標(biāo)跟蹤效果,設(shè)計(jì)了改進(jìn)卡爾曼濾波和均值漂移的運(yùn)動(dòng)目標(biāo)跟蹤算法。首先分析當(dāng)前運(yùn)動(dòng)目標(biāo)跟蹤的研究現(xiàn)狀,找到引起運(yùn)動(dòng)目標(biāo)跟蹤效果差的因素,引入均值漂移算法對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行粗跟蹤,然后將運(yùn)動(dòng)目標(biāo)的位置和速度作為卡爾曼濾波算法的初始狀態(tài),通過(guò)不斷迭代實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)跟蹤,最后在Matlab 2017平臺(tái)上進(jìn)行了運(yùn)動(dòng)目標(biāo)跟蹤的仿真實(shí)驗(yàn)。仿真測(cè)試結(jié)果表明,改進(jìn)卡爾曼濾波和均值漂移的運(yùn)動(dòng)目標(biāo)跟蹤精度高,運(yùn)動(dòng)目標(biāo)跟蹤誤差小于卡爾曼濾波算法以及其它的運(yùn)動(dòng)目標(biāo)跟蹤精度算法,同時(shí)加快了運(yùn)動(dòng)目標(biāo)跟蹤速度,運(yùn)動(dòng)目標(biāo)跟蹤實(shí)時(shí)性優(yōu)越性明顯,具有較高的實(shí)際應(yīng)用價(jià)值。
關(guān)鍵詞: 運(yùn)動(dòng)目標(biāo); 跟蹤算法; 卡爾曼濾波器; 跟蹤實(shí)時(shí)性; 仿真實(shí)驗(yàn)
中圖分類號(hào): TP301 ? ? ?文獻(xiàn)標(biāo)志碼: A
Algorthm for Movng Target Trackng Based on mproved
Kalman Flter and Mean Shft
L Yongjun
(Publc Teachng Department, Shenmu Vocatonal and Techncal College, Shenmu 719300)
Abstract: Movng target trackng s an mportant research drecton n computer vson technology. Amng at the defects of current Kalman flter algorthm n movng target trackng, n order to mprove the trackng effect of movng target, an mproved Kalman flter and mean shft movng target trackng algorthm are desgned. Frstly, the current research status of movng target trackng s analyzed, and the factors causng poor trackng effect are found. Then the mean shft algorthm s ntroduced to track the movng target roughly. The poston and velocty of the movng target are taken as the ntal state of Kalman flter algorthm, and the movng target trackng s realzed through contnuous teraton. The smulaton experment of movng target trackng s carred out on the platform of Matlab 2017. The smulaton results show that the mproved Kalman flter and mean shft have hgh trackng accuracy, and the trackng error of movng target s less than that of Kalman flter and other movng target trackng accuracy algorthms. At the same tme, the trackng speed of movng target s accelerated. The real-tme trackng of movng target has obvous advantages and has hgh trackng accuracy. t has a practcal applcaton value.
Key words: Movng target; Trackng algorthm; Kalman flter; Real-tme trackng; Smulaton experment
0 引言
隨著體育競(jìng)技水平的不斷提高,通過(guò)機(jī)器視覺技術(shù)采集運(yùn)動(dòng)員的訓(xùn)練和比賽事量視頻圖像信息,然后對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行跟蹤和分析,可以幫助運(yùn)動(dòng)員提高訓(xùn)練水平,因此運(yùn)動(dòng)目標(biāo)跟蹤的研究具有十分重要的意義[1,2]。
由于國(guó)內(nèi)外學(xué)者對(duì)運(yùn)動(dòng)目標(biāo)跟蹤進(jìn)行大量、深入的研究,提出許多有效的運(yùn)動(dòng)目標(biāo)跟蹤算法[3]。當(dāng)前運(yùn)動(dòng)目標(biāo)跟蹤算法大致可以劃分為4類:基于區(qū)域的運(yùn)動(dòng)目標(biāo)跟蹤算法、基于模型的運(yùn)動(dòng)目標(biāo)跟蹤算法、基于變形的運(yùn)動(dòng)目標(biāo)跟蹤算法和基于特征的目標(biāo)跟蹤算法[4,5]?;趨^(qū)域的運(yùn)動(dòng)目標(biāo)跟蹤算法首先預(yù)先確定運(yùn)動(dòng)目標(biāo)的模板,然后根據(jù)相關(guān)算法進(jìn)行運(yùn)動(dòng)目標(biāo)跟蹤,該類算法在目標(biāo)未被遮擋時(shí),運(yùn)動(dòng)目標(biāo)跟蹤精度高,但是跟蹤過(guò)程耗費(fèi)的時(shí)間長(zhǎng),對(duì)于被遮擋運(yùn)動(dòng)目標(biāo),跟蹤誤差比較大[6];基于模型的運(yùn)動(dòng)目標(biāo)跟蹤算法首先對(duì)運(yùn)動(dòng)目標(biāo)的外形進(jìn)行建模,然后通過(guò)運(yùn)動(dòng)視頻序列對(duì)該模型進(jìn)行跟蹤,其對(duì)運(yùn)動(dòng)目標(biāo)的外形模型十分敏感,無(wú)法對(duì)非剛性運(yùn)動(dòng)目標(biāo)進(jìn)行準(zhǔn)確跟蹤[7]?;谧冃蔚倪\(yùn)動(dòng)目標(biāo)跟蹤算法代表算法為:主動(dòng)輪廓模型跟蹤算法,對(duì)于移動(dòng)比較慢的運(yùn)動(dòng)目標(biāo),跟蹤精度高,但是對(duì)于移動(dòng)快的運(yùn)動(dòng)目標(biāo),無(wú)法進(jìn)行高精度跟蹤,通用性比較差[8]。基于特征的目標(biāo)跟蹤算法主要采用顏色、形狀、紋理、角點(diǎn)等特征進(jìn)行跟蹤,最具代表的算法為:均值漂移算法,其跟蹤效果與特征選擇的多少相關(guān),特征越多,運(yùn)動(dòng)目標(biāo)跟蹤精度,但是運(yùn)動(dòng)目標(biāo)跟蹤實(shí)時(shí)性,反之,跟蹤誤差,跟蹤速度快[9]??柭鼮V波算法是近些年提出來(lái)的運(yùn)動(dòng)目標(biāo)跟蹤算法,其對(duì)環(huán)境的魯棒性比較強(qiáng),當(dāng)運(yùn)動(dòng)目標(biāo)移動(dòng)速度快時(shí),容易丟失跟蹤目標(biāo),同時(shí)運(yùn)動(dòng)目標(biāo)跟蹤的時(shí)間復(fù)度比較高[9]。
為了提高運(yùn)動(dòng)目標(biāo)跟蹤精度,融合了卡爾曼濾波算法和均值漂移算法的優(yōu)點(diǎn),設(shè)計(jì)了改進(jìn)卡爾曼濾波和均值漂移的運(yùn)動(dòng)目標(biāo)跟蹤算法,并通過(guò)仿真對(duì)比實(shí)驗(yàn),測(cè)試了改進(jìn)卡爾曼濾波和均值漂移的運(yùn)動(dòng)目標(biāo)跟蹤有效性和優(yōu)越性。
1 相關(guān)理論
1.1 卡爾曼濾波算法
設(shè)一個(gè)運(yùn)動(dòng)目標(biāo)的當(dāng)前位置為x(t)為目標(biāo)位置,運(yùn)動(dòng)目標(biāo)的移動(dòng)速度為λ(t),一個(gè)運(yùn)動(dòng)目標(biāo)的工作狀態(tài)主要由位置和移動(dòng)決定,因此其可看作是一種與時(shí)間相關(guān)的模型,具體可以表示為式(1)。xt=t+λt
λt=-kλt+et
(1)式中t為移動(dòng)速度的均值;e(t)為運(yùn)動(dòng)目標(biāo)的環(huán)境噪聲。
運(yùn)動(dòng)目標(biāo)狀態(tài)的瞬時(shí)相位和速度為ηk和κk,那么當(dāng)前運(yùn)動(dòng)目標(biāo)狀態(tài)的變量可以描述為式(2)。Xk=ηk,κk,φk
(2)式中φ(k)表示運(yùn)動(dòng)目標(biāo)移動(dòng)速度的變化率。
由于運(yùn)動(dòng)目標(biāo)狀態(tài)是一個(gè)連續(xù)變量,而計(jì)算機(jī)處理的為數(shù)字信號(hào),因此需要對(duì)運(yùn)動(dòng)目標(biāo)狀態(tài)進(jìn)行離散化處理,具體為式(3)。Xk+1=kXk+Ukk+1+σk
(3)式中Uk和k分別為運(yùn)動(dòng)目標(biāo)的輸入和狀態(tài)轉(zhuǎn)移矩陣。
根據(jù)卡爾曼濾波算法的工作原理,可以建立運(yùn)動(dòng)目標(biāo)觀測(cè)方程ζk,具體表示為式(4)。ζt=coseXk
sneXk+n1k
n2k
(4)其中e=100
nk=n1k,n2kT
(5) ?在第t時(shí)刻,基于卡爾曼濾波算法的運(yùn)動(dòng)目標(biāo)的觀測(cè)值和實(shí)際值間差為d,得到運(yùn)動(dòng)目標(biāo)觀測(cè)信息的方差σdn計(jì)算公式為式(6)。σdn=n-1ndn-1+1kdndTn,n≤L
1L∑n=1ddT,n>L
(6)式中,L為運(yùn)動(dòng)目標(biāo)的移動(dòng)窗口大小。
1.2 均值漂移算法
一個(gè)運(yùn)動(dòng)目標(biāo)的移動(dòng)過(guò)程可以通過(guò)一個(gè)視頻序列進(jìn)行表示,而視頻可以劃分多個(gè)運(yùn)動(dòng)目標(biāo)的圖像。對(duì)于一個(gè)運(yùn)動(dòng)目標(biāo)標(biāo)圖像,首先對(duì)運(yùn)動(dòng)目標(biāo)標(biāo)圖像進(jìn)行細(xì)分,得到運(yùn)動(dòng)目標(biāo)的子圖像,u表示運(yùn)動(dòng)目標(biāo)標(biāo)的子圖像數(shù)量[10]。{x1,x2,…,xN}和{y1,y2,…,yN}分別為跟蹤窗口中像素集合和候選像素集合,兩個(gè)集合的中心像素分別為x0和y0,那么運(yùn)動(dòng)目標(biāo)的顏色直方圖計(jì)算公式具體為式(7)。qu=C∑N=1kx-x0hδb(x)-u
(7)式中,kx為核函數(shù),δx為階躍函數(shù),bx為運(yùn)動(dòng)目標(biāo)子圖像的空間映射函數(shù)。
根據(jù)相似的理論,可以建立運(yùn)動(dòng)目標(biāo)子圖像的候選像素顏色直方圖,即式(8)。pu=C1∑N=1ky-y0hδb(y)-u
(8)式中運(yùn)動(dòng)目標(biāo)子圖像的灰度級(jí)別數(shù)。
C和C1定義如式(9)、式(10)。C=1/∑N=1kx-x0h
(9)
C1=∑N=1ky-y0h
(10) ?基于巴式規(guī)則,計(jì)算運(yùn)動(dòng)目標(biāo)圖像模板和候選目標(biāo)的相似度,具體公式為式(11)(y)=p(p(y),q)=∑4096u=1pu(y)qu
(11) ?對(duì)式(11)進(jìn)行變換,可以得到其近似公式為式(12)。(y)=12∑4096u=1pu(y)qu+C12∑N=1wky-yh
(12)式中,w=∑4096u=1qupu(y0)δb(y)-u。
均值漂移算法的向量計(jì)算公式為式(13)。δxy=∑N=1ywgy-y0h2∑N=1wgy-y0h2=∑N=1yw∑N=1w
(13)式中g(shù)(x)=-k'(x)。
2 改進(jìn)卡爾曼濾波和均值漂移的運(yùn)動(dòng)目標(biāo)跟蹤算法 ?Step1:采集一個(gè)運(yùn)動(dòng)目標(biāo)的移動(dòng)視頻數(shù)據(jù),并去掉最前面和最后面一段視頻數(shù)據(jù),提取最有效的視頻數(shù)據(jù)。
Step2:對(duì)運(yùn)動(dòng)目標(biāo)視頻圖像進(jìn)行分幀處理操作,得到許多由運(yùn)動(dòng)目標(biāo)圖像。
Step3:提取第一幀運(yùn)動(dòng)目標(biāo)圖像,提取運(yùn)動(dòng)所在的區(qū)域,計(jì)算運(yùn)動(dòng)目標(biāo)中心位置y和目標(biāo)顏色直方圖q。
Step4:設(shè)運(yùn)動(dòng)目標(biāo)初始狀態(tài)變量為k-1=(y,0,0)T,同時(shí)初始相關(guān)矩陣。
Step5:預(yù)測(cè)運(yùn)動(dòng)目標(biāo)的下一個(gè)狀態(tài)變量值:,得到運(yùn)動(dòng)目標(biāo)圖像初始搜索位置y0;
Step6:建立運(yùn)動(dòng)目標(biāo)的顏色直方圖p(y0),基于巴式規(guī)則,計(jì)算運(yùn)動(dòng)目標(biāo)圖像模板和候選目標(biāo)的相似度(y1)。
Step7:計(jì)算運(yùn)動(dòng)目標(biāo)新的中心位置y1和相應(yīng)的顏色直方圖p(y1),并且得到(y1)。
Step8:若滿足條件:(y1)<(y0),那么y1←y1+y0/2,重新計(jì)算(y1),直到滿足條件:(y1)>(y0)為止。
Step9:若滿足條件:y1-y02<1,那么可能得到zk←yT1,不然y0←y1,不然返回Step5。
Step10:將均值漂移算法得到跟蹤結(jié)果作為卡爾曼濾波算法的初始值,通過(guò)不斷迭代得到運(yùn)動(dòng)目標(biāo)在第一幀圖像的位置,從而實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)跟蹤。
3 運(yùn)動(dòng)目標(biāo)跟蹤算法的性能測(cè)試
3.1 測(cè)試環(huán)境
為了分析改進(jìn)卡爾曼濾波和均值漂移的運(yùn)動(dòng)目標(biāo)跟蹤算法的有效性,采用Matlab 2017編程實(shí)現(xiàn)仿真實(shí)驗(yàn),測(cè)試環(huán)境的參數(shù)如表1所示。
運(yùn)動(dòng)目標(biāo)跟蹤的對(duì)象為:籃球、乒乓球、羽毛球、足球、網(wǎng)球,采集它們的多個(gè)運(yùn)動(dòng)視頻數(shù)據(jù),具體如表2所示。為了分析改進(jìn)卡爾曼濾波和均值漂移的運(yùn)動(dòng)目標(biāo)跟蹤算法的優(yōu)越性,在相同仿真測(cè)試實(shí)驗(yàn)條件下,選擇卡爾曼濾波運(yùn)動(dòng)目標(biāo)跟蹤算法和均值漂移的運(yùn)動(dòng)目標(biāo)跟蹤算法進(jìn)行對(duì)比測(cè)試,統(tǒng)計(jì)它們的運(yùn)動(dòng)目標(biāo)跟蹤精度和運(yùn)動(dòng)目標(biāo)跟蹤實(shí)時(shí)性。
3.2 結(jié)果與分析
3.2.1 運(yùn)動(dòng)目標(biāo)跟蹤精度分析
統(tǒng)計(jì)本文算法、卡爾曼濾波算法、均值漂移算法的運(yùn)動(dòng)目標(biāo)跟蹤精度,結(jié)果如圖1所示,從圖1可以看出,本文算法的運(yùn)動(dòng)目標(biāo)跟蹤精度平均值為95.22%,卡爾曼濾波算法的運(yùn)動(dòng)目標(biāo)跟蹤精度平均值為82.22%,均值漂移算法的運(yùn)動(dòng)目標(biāo)跟蹤精度平均值為82.54%,相對(duì)于卡爾曼濾波算法和均值漂移算法,本文算法的運(yùn)動(dòng)目標(biāo)跟蹤精度分別提高了13.00%和12.68%,大幅度減少了運(yùn)動(dòng)目標(biāo)跟蹤誤差,這主要因?yàn)楸疚乃惴ㄈ诤狭丝柭鼮V波算法和均值漂移算法的優(yōu)點(diǎn),克服了它們存在的局限性,獲得更優(yōu)的運(yùn)動(dòng)目標(biāo)跟蹤結(jié)果。
3.2.2 運(yùn)動(dòng)目標(biāo)跟蹤實(shí)時(shí)性分析
在實(shí)際應(yīng)用中,運(yùn)動(dòng)目標(biāo)跟蹤實(shí)時(shí)性具有十分重要的價(jià)值,采用運(yùn)動(dòng)目標(biāo)跟蹤時(shí)間作為運(yùn)動(dòng)目標(biāo)跟蹤實(shí)時(shí)性的評(píng)價(jià)指標(biāo),統(tǒng)計(jì)本文算法、卡爾曼濾波算法、均值漂移算法的運(yùn)動(dòng)目標(biāo)跟蹤時(shí)間,結(jié)果如圖2所示。從圖2可以看出,本文算法的運(yùn)動(dòng)目標(biāo)跟蹤時(shí)間平均值為2.74秒,卡爾曼濾波算法的運(yùn)動(dòng)目標(biāo)跟蹤時(shí)間平均值為5.63秒,均值漂移算法的運(yùn)動(dòng)目標(biāo)跟蹤時(shí)間平均值3.48秒,相對(duì)于卡爾曼濾波算法和均值漂移算法,本文算法的運(yùn)動(dòng)目標(biāo)跟蹤時(shí)間分別減少了2.89秒和1.74秒,主要是因?yàn)楸疚乃惴p少了運(yùn)動(dòng)目標(biāo)跟蹤迭代次數(shù),加快運(yùn)動(dòng)目標(biāo)跟蹤速度,獲得更優(yōu)的運(yùn)動(dòng)目標(biāo)跟蹤實(shí)時(shí)性。
4 總結(jié)
為了解決運(yùn)動(dòng)目標(biāo)跟蹤算法存在的一些局限性,以獲得更加理想的運(yùn)動(dòng)目標(biāo)跟蹤效果為目標(biāo),設(shè)計(jì)了改進(jìn)卡爾曼濾波和均值漂移的運(yùn)動(dòng)目標(biāo)跟蹤算法,在Matlab 2017平臺(tái)仿真測(cè)試結(jié)果表明,本文算法的運(yùn)動(dòng)目標(biāo)跟蹤誤差小于卡爾曼濾波算法以及其它的運(yùn)動(dòng)目標(biāo)跟蹤精度算法,加快了運(yùn)動(dòng)目標(biāo)跟蹤速度,具有更加廣泛的實(shí)際應(yīng)用范圍。
參考文獻(xiàn)
[1] 孫凱,謝林柏. 結(jié)合稀疏表示和均值偏移的運(yùn)動(dòng)目標(biāo)跟蹤算法[J].計(jì)算機(jī)工程與應(yīng)用, 2017,53(9):195-200.
[2] 李艷萍,林建輝,楊寧學(xué). 一種基于SFT特征光流的運(yùn)動(dòng)目標(biāo)跟蹤算法[J].計(jì)算機(jī)科學(xué), 2015, 42(11):305-309.
[3] 萬(wàn)中田,冼鐘業(yè),胡明宇,等. 基于Kalman預(yù)測(cè)器的多特征Camshft運(yùn)動(dòng)目標(biāo)跟蹤算法[J].武漢大學(xué)學(xué)報(bào)(工學(xué)版), 2015, 48(5): 712-716.
[4] 華聚良,黃河燕,王樹梅. 基于Mean-Shft的復(fù)雜工業(yè)環(huán)境運(yùn)動(dòng)目標(biāo)跟蹤算法[J].系統(tǒng)仿真學(xué)報(bào), 2014,26(11):2600-2606.
[5] 黃石磊,陳書立,劉馳,等. 基于視覺感知的運(yùn)動(dòng)目標(biāo)跟蹤算法[J].計(jì)算機(jī)應(yīng)用研究, 2013, 30(7): 2199-2201.
[6] 張君昌,牛步楊. 基于有效特征篩選的Mean shft運(yùn)動(dòng)目標(biāo)跟蹤算法[J]. 西北工業(yè)大學(xué)學(xué)報(bào), 2012, 30(3):457-460.
[7] 劉海燕,楊昌玉,劉春玲,等. 基于梯度特征和顏色特征的運(yùn)動(dòng)目標(biāo)跟蹤算法[J].計(jì)算機(jī)應(yīng)用, 2012, 32(5):1265-1268.
[8] 胡宏宇,王殿海,李志慧,等. 基于視頻監(jiān)控的運(yùn)動(dòng)目標(biāo)跟蹤算法[J].北京工業(yè)大學(xué)學(xué)報(bào), 2010, 36(12): 1683-1690.
[9] 張宇,韓振軍,焦建彬. 一種基于綜合特征評(píng)估的運(yùn)動(dòng)目標(biāo)跟蹤算法[J]. 中國(guó)科學(xué)技術(shù)大學(xué)學(xué)報(bào), 2010,40(5):491-495.
[10] 徐哈寧,肖慧,侯宏錄. 體育視頻序列中基于MM的運(yùn)動(dòng)目標(biāo)跟蹤算法[J]. 中國(guó)圖象圖形學(xué)報(bào), 2009,14(5):920-924.
(收稿日期: 2019.07.01)Mcrocomputer Applcatons Vol.36,No.1,2020開發(fā)應(yīng)用微型電腦應(yīng)用2020年第36卷第1期Mcrocomputer Applcatons Vol.36,No.1,2020開發(fā)應(yīng)用微型電腦應(yīng)用2020年第36卷第1期
作者簡(jiǎn)介:李永軍(1984-),男,陜西渭南人,碩士,講師,研究方向:體育教學(xué)和高校運(yùn)動(dòng)員訓(xùn)練。文章編號(hào):1007-757X(2020)01-0112-03