谷欣超,劉俊杰,才華,韓太林,楊勇
(1.長(zhǎng)春理工大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,長(zhǎng)春 130022;2.長(zhǎng)春理工大學(xué) 電子信息工程學(xué)院,長(zhǎng)春 130022)
基于Kalman濾波器的運(yùn)動(dòng)目標(biāo)跟蹤算法
谷欣超1,劉俊杰1,才華2,韓太林2,楊勇1
(1.長(zhǎng)春理工大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,長(zhǎng)春130022;2.長(zhǎng)春理工大學(xué)電子信息工程學(xué)院,長(zhǎng)春130022)
運(yùn)動(dòng)目標(biāo)跟蹤是計(jì)算機(jī)視覺中的一個(gè)典型問題,如何能準(zhǔn)確快速的跟蹤目標(biāo)是研究的關(guān)鍵。提出了Kalman濾波器結(jié)合Camshift的改進(jìn)算法。首先選取一段視頻圖像序列,通過背景差分法快速檢測(cè)出運(yùn)動(dòng)目標(biāo),初始化搜索窗口,用Kalmam濾波器預(yù)測(cè)目標(biāo)位置,再用Camshift迭代算法計(jì)算目標(biāo)最優(yōu)的位置,將結(jié)果作為Kalman濾波器進(jìn)行下一次預(yù)測(cè)的估計(jì)值。實(shí)驗(yàn)表明,當(dāng)目標(biāo)被嚴(yán)重遮擋或受到同色背景干擾時(shí),本算法仍能快速準(zhǔn)確的跟蹤運(yùn)動(dòng)目標(biāo)。
背景差分法;Kalman濾波器;Camshift;目標(biāo)跟蹤
一個(gè)完整的運(yùn)動(dòng)目標(biāo)跟蹤系統(tǒng)一般包括兩部分內(nèi)容,一是運(yùn)動(dòng)目標(biāo)的檢測(cè),二是運(yùn)動(dòng)目標(biāo)的跟蹤[1]。靜態(tài)背景下的運(yùn)動(dòng)目標(biāo)檢測(cè)主要應(yīng)用于公共場(chǎng)所的視頻監(jiān)控,智能交通系統(tǒng)的實(shí)時(shí)監(jiān)控等。傳統(tǒng)的運(yùn)動(dòng)目標(biāo)檢測(cè)算法有三種:光流法、背景差分法、幀間差分法[2-4]。本文所使用的運(yùn)動(dòng)目標(biāo)檢測(cè)算法是背景差分法,它是目前運(yùn)動(dòng)目標(biāo)檢測(cè)技術(shù)中應(yīng)用最廣泛的一種方法。首先把不摻雜任何前景圖像和噪聲的背景圖像作為背景模型,通過當(dāng)前幀圖像與背景模型作差分快速檢測(cè)出運(yùn)動(dòng)目標(biāo)。常用的運(yùn)動(dòng)目標(biāo)跟蹤算法主要分為以下幾種:基于區(qū)域匹配的跟蹤算法、基于特征點(diǎn)的跟蹤算法、基于輪廓的跟蹤算法、基于光流的跟蹤算法等。本文所使用的Camshift算法根據(jù)目標(biāo)區(qū)域的灰度或顏色分布特征進(jìn)行跟蹤,屬于區(qū)域匹配的跟蹤算法的。但Camshift算法需要手動(dòng)選取運(yùn)動(dòng)目標(biāo),而且當(dāng)目標(biāo)與背景顏色接近或者目標(biāo)被遮擋的情況下,算法實(shí)現(xiàn)的效果并不是很理想。
本文提出了Kalman濾波器與Camshift算法相結(jié)合的改進(jìn)算法,用背景差分法檢測(cè)出運(yùn)動(dòng)目標(biāo),改變傳統(tǒng)Camshift算法需要手動(dòng)選取運(yùn)動(dòng)目標(biāo)的缺點(diǎn)[5-8]。通過Kalman濾波器預(yù)測(cè)目標(biāo)所在位置,在此中心點(diǎn)用Camshift算法迭代搜索,更新Kalman濾波狀態(tài)。該算法能夠快速準(zhǔn)確地跟蹤到運(yùn)動(dòng)目標(biāo),具有一定的魯棒性和準(zhǔn)確性。
圖1 背景差分法的流程圖
背景差分法是用視頻序列中的不包含前景圖像和噪聲的一幀圖像作為背景,將以后各幀的每個(gè)像素的像素值與其背景的相應(yīng)像素值相減,得到背景相減后的圖像,再進(jìn)行二值化運(yùn)算得到最后的圖像即為前景目標(biāo)。由于背景差分法實(shí)現(xiàn)相對(duì)簡(jiǎn)單、速度較快且便于在硬件上實(shí)現(xiàn),因此被廣泛地使用于攝像機(jī)固定情況下的視頻監(jiān)控、運(yùn)動(dòng)目標(biāo)檢測(cè)等應(yīng)用中。背景差分法的實(shí)現(xiàn)流程圖如圖1所示。
(1)背景模型的建立
目前最常用的背景模型建立方法是統(tǒng)計(jì)平均法,將連續(xù)多幀視頻序列圖像的灰度平均值作為背景圖像。因?yàn)閿z像機(jī)靜止的情況下,一段圖像序列中,背景相對(duì)于前景出現(xiàn)的次數(shù)更多,這樣抽取一段時(shí)間內(nèi)的序列圖像,對(duì)于每個(gè)像素點(diǎn),對(duì)所有幀取平均值,所求平均值就會(huì)和背景值接近。用式(1)表示:
(2)運(yùn)動(dòng)目標(biāo)提取
獲取背景圖像后,用當(dāng)前幀圖像與背景圖像作差分。取絕對(duì)值高于判決門限Tn的像素為運(yùn)動(dòng)目標(biāo),設(shè)置為1;低于判決門限值的為背景,設(shè)置為0,這樣經(jīng)過處理后的圖像就為二值圖像:
該方法的優(yōu)缺點(diǎn)很明顯,優(yōu)點(diǎn)是計(jì)算簡(jiǎn)單,易于實(shí)現(xiàn),而且能快速完整的檢測(cè)出運(yùn)動(dòng)目標(biāo);缺點(diǎn)是不適用于攝像機(jī)運(yùn)動(dòng)或者背景實(shí)時(shí)變化的情況下,此外當(dāng)光照發(fā)生變化時(shí),該方法反應(yīng)較慢,并不適用于光照變化較多的場(chǎng)景。
2.1Kalman濾波器
Kalman濾波器是一種對(duì)動(dòng)態(tài)系統(tǒng)的狀態(tài)序列,求線性最小方差誤差估計(jì)的算法,利用動(dòng)態(tài)的狀態(tài)方程和觀測(cè)方程來描述系統(tǒng)。它的基本思想是:首先建立描述隨機(jī)動(dòng)態(tài)變量隨時(shí)間變化的先驗(yàn)?zāi)P?,然后在?duì)隨機(jī)變量進(jìn)行實(shí)時(shí)觀測(cè)的情況下,利用KF方程組實(shí)時(shí)獲得目標(biāo)狀態(tài)基于全局信息的最優(yōu)估計(jì)值。Kalman濾波算法包含兩個(gè)模型:
狀態(tài)模型:
觀測(cè)模型:
其中,Xk是n×1維狀態(tài)向量,Ak是狀態(tài)轉(zhuǎn)移矩陣,n×n維,Bk是輸入矩陣,Wk是動(dòng)態(tài)干擾(白噪聲)的隨機(jī)向量,協(xié)方差為Q;Zk是m×1維觀測(cè)向量,Hk是觀測(cè)矩陣,m×n維,Vk是觀測(cè)噪聲向量,協(xié)方差維R。
根據(jù)上述模型,Kalman濾波器可分為算法預(yù)測(cè)和進(jìn)一步觀測(cè)的更新。其算法的具體流程如下:
算法的預(yù)測(cè)部分:
狀態(tài)預(yù)測(cè)方程:
誤差協(xié)方差預(yù)測(cè)方程:
進(jìn)一步觀測(cè)的更新部分:
Kalman增益系數(shù)方程:
狀態(tài)修正方程:
誤差協(xié)方差修正方程:
根據(jù)Kalman濾波器原理則可知,跟蹤視頻中運(yùn)動(dòng)目標(biāo)時(shí),可以有效的預(yù)測(cè)出運(yùn)動(dòng)目標(biāo)在下一幀圖像中可能出現(xiàn)的位置,減小搜索的范圍,當(dāng)目標(biāo)被部分遮擋或者與少量背景相近時(shí),也能快速準(zhǔn)確的跟蹤到目標(biāo)。算法簡(jiǎn)單、方便,能達(dá)到實(shí)時(shí)跟蹤的效果。
2.2基于Kalman濾波器的Camshift目標(biāo)跟蹤算法
傳統(tǒng)的Camshift算法是基于Meanshift算法的擴(kuò)展計(jì)算,是目標(biāo)跟蹤中最常用的一種算法。該算法通過圖像的顏色直方圖獲得顏色概率分布圖,當(dāng)目標(biāo)運(yùn)動(dòng)時(shí),圖像的顏色概率分布也隨之變化,因此可以根據(jù)圖像的顏色概率分布變化來跟蹤運(yùn)動(dòng)目標(biāo)。算法的基本思想如下:首先將序列圖像由RGB顏色空間轉(zhuǎn)換到HSV空間,提取H分量做顏色直方圖,可以直觀的觀測(cè)到概率分布的大小,通過反向投影得到顏色概率分布圖。實(shí)際上顏色概率分布圖就是一個(gè)灰度圖像,然后計(jì)算圖像的零階距,一階距,以及搜索窗口的中心與質(zhì)心的距離,找到滿足條件的位置即實(shí)現(xiàn)跟蹤。Camshift算法的實(shí)質(zhì)就是對(duì)所有幀做Meanshift運(yùn)算,并將上一幀的結(jié)果,也就是搜索窗的中心和大小作為下一幀搜索窗的初始值,經(jīng)過反復(fù)迭代實(shí)現(xiàn)對(duì)運(yùn)動(dòng)目標(biāo)的跟蹤。
傳統(tǒng)的Camshift算法有一些不足之處。它需要手動(dòng)選取運(yùn)動(dòng)目標(biāo),容易受到光照等外界因素的干擾,而且當(dāng)目標(biāo)被遮擋或者與背景相似時(shí),Camshift算法無法進(jìn)行有效搜索,所以本文對(duì)算法進(jìn)行一定的改進(jìn)。
基于Kalman濾波器的Camshift目標(biāo)跟蹤算法的具體步驟:
(1)從視頻序列中選取只有背景圖像的一幀圖像,對(duì)背景圖像建模,計(jì)算當(dāng)前幀與背景幀圖像的差得到完整的運(yùn)動(dòng)目標(biāo)。
(2)初始化搜索窗口,根據(jù)上一幀背景差分法得到的運(yùn)動(dòng)目標(biāo)所在位置的最優(yōu)估計(jì)值,通過Kalman濾波器預(yù)測(cè)運(yùn)動(dòng)目標(biāo)在當(dāng)前幀所在的位置。
(3)通過反向投影建立顏色概率分布圖,在反向投影圖中利用Meanshift算法在Kalman濾波器預(yù)測(cè)的目標(biāo)中心點(diǎn)領(lǐng)域內(nèi)搜索迭代搜索,計(jì)算出運(yùn)動(dòng)目標(biāo)的最優(yōu)位置。
(4)用Camshift算法計(jì)算的最優(yōu)值作為觀測(cè)值,更新Kalman濾波器。
(5)當(dāng)出現(xiàn)背景顏色干擾或者目標(biāo)被部分遮擋,用Kalman預(yù)測(cè)值作為觀測(cè)值,并更新Kalman濾波器。
(6)重復(fù)(2)~(5)步驟,反復(fù)循環(huán)實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)的跟蹤。
算法的具體流程圖如圖2所示。
實(shí)驗(yàn)對(duì)象為一段運(yùn)動(dòng)的小車的視頻圖像序列,首先選取一幀只有背景的圖像,用背景差分法檢測(cè)到運(yùn)動(dòng)目標(biāo),提取運(yùn)動(dòng)目標(biāo)的輪廓并用橢圓框標(biāo)記,用Camshift算法進(jìn)行跟蹤。在小車所在目標(biāo)區(qū)域內(nèi)建立顏色概率分布直方圖,過程如圖3所示。
圖2 改進(jìn)的Camshift算法流程圖
圖3 運(yùn)動(dòng)目標(biāo)跟蹤
對(duì)同一段視頻的圖像序列用兩種算法作比較,過程如圖4和圖5所示。傳統(tǒng)Camshift目標(biāo)跟蹤算法進(jìn)行跟蹤時(shí)候,需要手動(dòng)選擇一個(gè)初始搜索窗。而改進(jìn)后的算法根據(jù)背景差分法直接能檢測(cè)出運(yùn)動(dòng)目標(biāo),并標(biāo)記出運(yùn)動(dòng)目標(biāo)。當(dāng)跟蹤到第50幀時(shí),目標(biāo)被障礙物嚴(yán)重遮擋,搜索窗出現(xiàn)發(fā)散的現(xiàn)象,改進(jìn)后的算法可以用Kalman濾波器預(yù)測(cè)目標(biāo)所在的位置。當(dāng)跟蹤到第70幀的時(shí)候,傳統(tǒng)的Camshift算法已無法有效跟蹤,而改進(jìn)后的算法能繼續(xù)跟蹤,而且具有一定的穩(wěn)定性。
圖5 改進(jìn)Camshift目標(biāo)跟蹤算法
本文詳細(xì)的介紹了背景差分法,Kalman濾波器和Camshift算法的基本內(nèi)容,提出了一種基于Kalman濾波器的Camshift目標(biāo)跟蹤算法,通過背景差分法能夠快速和準(zhǔn)確的檢測(cè)出運(yùn)動(dòng)目標(biāo),對(duì)目標(biāo)的幾何特征提取的誤差小,改變了Camshift算法需要手動(dòng)選取目標(biāo)區(qū)域的特點(diǎn),并且當(dāng)目標(biāo)被嚴(yán)重遮擋時(shí),用改進(jìn)后的算法依然能夠快速準(zhǔn)確的捕捉到運(yùn)動(dòng)目標(biāo),實(shí)現(xiàn)了目標(biāo)跟蹤持久和穩(wěn)定,具有很強(qiáng)的適應(yīng)性和魯棒性。
[1] Mazinan A H,Amir-Latifi A.Applying mean shift,motion information and Kalman filtering approaches to object tracking[J].ISA transactions,2012,51(3):485-497.
[2] 鄔大鵬,程衛(wèi)平,于盛林.基于幀間差分和運(yùn)動(dòng)估計(jì)的Camshift目標(biāo)跟蹤算法[J].光電工程,2010,37(1):55-60.
[3] 李剛,邱尚斌,林凌,等.基于背景差法和幀間差法的運(yùn)動(dòng)目標(biāo)檢測(cè)方法[J].儀器儀表學(xué)報(bào),2006,27(8):961-963.
[4] 李木勇,馮進(jìn)良,唐勇,等.基于序列圖像中運(yùn)動(dòng)小目標(biāo)檢測(cè)[J].長(zhǎng)春理工大學(xué)學(xué)報(bào):自然科學(xué)版,2007,30(2):22-25.
[5] 朱勝利,朱善安.基于卡爾曼濾波器組的Mean Shift模板更新算法[J].中國(guó)圖象圖形學(xué)報(bào),2007,12(3):460-464.
[6] 李晶,范九倫.一種基于卡爾曼濾波的運(yùn)動(dòng)物體跟蹤算法[J].計(jì)算機(jī)應(yīng)用研究,2010,27(8):3162-3164.
[7] 梁錫寧,楊剛,余學(xué)才,等.一種動(dòng)態(tài)模板匹配的卡爾曼濾波跟蹤算法[J].光電工程,2010,37(10):29-33.
[8] 廉綠松,蔣漢元,曹穎.卡爾曼濾波方法在經(jīng)緯儀圖像數(shù)字傳感系統(tǒng)中的應(yīng)用[J].長(zhǎng)春理工大學(xué)學(xué)報(bào):自然科學(xué)版,2013,36(5):120-122+126.
Algorithm of Moving Object Tracking Based on Kalman Filter
GU Xinchao1,LIU Junjie1,CAI Hua2,HAN Tailin2,YANG Yong1
(1.School of Computer Science and Technology,Changchun University of Science and Technology,Changchun 130022;2.School of Electronics and Information Engineering,Changchun University of Science and Technology,Changchun 130022)
Moving target tracking is always a typical problem in the field of computer vision.It has been involved in many areas of technology of video image processing,pattern recognition and artificial intelligence.So it has a strong research value.For the researchers,the key of the study is how to more accurately and quickly track the target.In this paper,the Camshift algorithm isimproved by using Kalman filter.First of all,we should choose a video image sequence,we can quickly detect moving targets by background subtraction,Initialize search window,and we need to predict the target location with the Kalmam filter,then we can calculate the optimal target location with Camshift algorithm,finally,as a result of the estimated value of the Kalman filter for the next forecast.The experimental results show that when the target is blocked or interfere by the same color background,the improved algorithm is able to fast and accurately track the moving targets.
background subtraction;Kalman filter;Camshift;target tracking
TP391.41
A
1672-9870(2015)05-0136-04
2015-09-16
谷欣超(1976-),男,碩士,講師,E-mail:guxinchao@foxmail.com
楊勇(1970-),男,博士,教授,E-mail:yy@cust.edu.cn