余樂,鄭力新
(華僑大學(xué) 工業(yè)智能化技術(shù)與系統(tǒng)福建省高校工程研究中心,福建 泉州 362021)
摘要:為了實(shí)現(xiàn)工業(yè)相機(jī)對動(dòng)態(tài)目標(biāo)的準(zhǔn)確、實(shí)時(shí)跟蹤,提出了基于卡爾曼濾波的算法。通過創(chuàng)建背景模型來估計(jì)出當(dāng)前背景,進(jìn)而得到前景區(qū)域,并對前景區(qū)域進(jìn)行相關(guān)處理,最后通過計(jì)算補(bǔ)集得到更新后的背景。此方法能根據(jù)不同場景信息調(diào)整前景與背景閾值,減弱背景區(qū)域造成的噪聲影響,實(shí)時(shí)地根據(jù)場景變化快速、自動(dòng)更新背景,并對每一位置的像素進(jìn)行背景估計(jì)。通過在VS2010平臺上結(jié)合JAI軟件開工具包(Software Development Kit,SDK)調(diào)用Halcon函數(shù)庫實(shí)現(xiàn)了卡爾曼濾波動(dòng)態(tài)跟蹤,其中JAI SDK用于開發(fā)千兆網(wǎng)相機(jī),幾乎支持所有千兆網(wǎng)相機(jī)。實(shí)驗(yàn)結(jié)果表明,該算法能夠?qū)崿F(xiàn)對目標(biāo)的實(shí)時(shí)動(dòng)態(tài)跟蹤,實(shí)時(shí)性強(qiáng),準(zhǔn)確度高。
關(guān)鍵詞:動(dòng)態(tài)跟蹤;卡爾曼濾波;Halcon;JAI SDK
0引言
動(dòng)態(tài)目標(biāo)跟蹤是在視頻流的每一幅圖像中確定出感興趣的運(yùn)動(dòng)目標(biāo)的位置,并把不同幀中的同一目標(biāo)對應(yīng)起來,是機(jī)器視覺領(lǐng)域的熱點(diǎn)研究之一,廣泛應(yīng)用在交通監(jiān)控、車輛跟蹤中。在機(jī)器視覺研究領(lǐng)域,隨著技術(shù)不斷發(fā)展,目標(biāo)跟蹤越來越受到研究者的重視,具有廣闊的應(yīng)用前景。
本文設(shè)計(jì)一種在C#編程環(huán)境下通過工業(yè)相機(jī)獲取實(shí)時(shí)畫面并同步根據(jù)背景估計(jì)的前一個(gè)狀態(tài)、當(dāng)前圖像值以及該像素在前一個(gè)狀態(tài)中的分類,決定卡爾曼濾波器的參數(shù),進(jìn)行卡爾曼濾波和相關(guān)圖像形態(tài)學(xué)處理的方法,實(shí)現(xiàn)實(shí)時(shí)運(yùn)動(dòng)目標(biāo)跟蹤。
1研究現(xiàn)狀
可變部分模型(Deformable Parts Model,DPM)[1]是一個(gè)非常成功的目標(biāo)檢測與跟蹤算法,它的核心思想是模板匹配。而國內(nèi)動(dòng)態(tài)目標(biāo)跟蹤研究和使用較多的是相鄰幀差法、背景差分法等[2]。相鄰幀差法根據(jù)目標(biāo)與背景灰度的不同,將下一幀圖像與上一幀圖像變量做比較,將每兩幀連續(xù)圖像對應(yīng)像素相減,以去除不動(dòng)的物體及背景,再求出與上一幀圖像差異之處,也就是移動(dòng)的物體區(qū)域,此方法具有很強(qiáng)的自適應(yīng)性,但在運(yùn)動(dòng)目標(biāo)快速運(yùn)動(dòng)過程中不能準(zhǔn)確實(shí)時(shí)跟蹤。背景差分法是構(gòu)建一個(gè)背景圖像模型,將當(dāng)前幀圖像與該背景圖像進(jìn)行差分來得到運(yùn)動(dòng)目標(biāo)區(qū)域,背景差分法較幀差法能更準(zhǔn)確、快速地提取運(yùn)動(dòng)目標(biāo),但該方法易受光照影響且背景更新效果差。另外,當(dāng)場景中有目標(biāo)由運(yùn)動(dòng)狀態(tài)轉(zhuǎn)入比較長時(shí)間的靜止?fàn)顟B(tài)之后,由于背景的實(shí)時(shí)更新,很可能將該目標(biāo)納入背景圖像當(dāng)中,當(dāng)這個(gè)目標(biāo)再從靜止?fàn)顟B(tài)突然運(yùn)動(dòng)時(shí),采用當(dāng)前幀與背景相減的方法就會(huì)出現(xiàn)錯(cuò)誤的跟蹤檢測結(jié)果[36]。因此,在綜合上述方法及其問題的基礎(chǔ)上提出卡爾曼濾波算法??柭鼮V波背景估計(jì)根據(jù)像素是背景還是前景選取不同的系數(shù),從而不會(huì)出現(xiàn)上述錯(cuò)誤[7];采用工業(yè)相機(jī)實(shí)時(shí)拍攝,因其具有快門速度非常高、拍照速度快等特點(diǎn),可以抓拍快速運(yùn)動(dòng)的物體。
2卡爾曼濾波理論
卡爾曼濾波是一種利用線性系統(tǒng)狀態(tài)方程,通過系統(tǒng)輸入輸出觀測數(shù)據(jù),對系統(tǒng)狀態(tài)進(jìn)行最優(yōu)估計(jì)的算法。估計(jì)背景的過程中,認(rèn)為背景是穩(wěn)定狀態(tài)的,觀測值是存在噪聲影響的。通過前一時(shí)刻ti-1狀態(tài)值估計(jì)后一時(shí)刻ti狀態(tài)值估計(jì)值,系統(tǒng)方程[8]為:
ti時(shí)刻狀態(tài)最優(yōu)估計(jì)值:
其中,A(ti)表示系統(tǒng)矩陣,H(ti)為測量矩陣,z(ti)表示系統(tǒng)當(dāng)前測量值,K(ti)為卡爾曼增益,其值分別為:
A=1a1,2
0a2,2H=10
3基于卡爾曼跟蹤算法的實(shí)現(xiàn)
卡爾曼濾波利用反饋控制系統(tǒng)估計(jì)運(yùn)動(dòng)狀態(tài):利用前一狀態(tài)值和當(dāng)前狀態(tài)測量值,估計(jì)出當(dāng)前最優(yōu)狀態(tài)值和背景,進(jìn)而獲得運(yùn)動(dòng)物體的區(qū)域。也就是說,卡爾曼濾波可以分為預(yù)測和更新兩個(gè)步驟[9]。其實(shí)現(xiàn)流程如圖1所示。
Halcon是德國MVtec公司開發(fā)的一套完善的標(biāo)準(zhǔn)的機(jī)器視覺算法包,擁有應(yīng)用廣泛的機(jī)器視覺集成開發(fā)環(huán)境。應(yīng)用范圍幾乎沒有限制,涵蓋醫(yī)學(xué)、遙感探測、監(jiān)控及工業(yè)領(lǐng)域的各類自動(dòng)化檢測。Halcon支持Windows、Linux和Mac OS X操作系統(tǒng)環(huán)境,整個(gè)函數(shù)庫可以用C、C++、C#、Visual Basic和Delphi等多種普通編程語言訪問。Halcon為大量的圖像獲取設(shè)備提供接口,保證了硬件的獨(dú)立性。它為百余種工業(yè)相機(jī)和圖像采集卡提供接口,包括GenlCam、GigE和IIDC 1394。
在Halcon平臺下,從已獲取的前一狀態(tài)(如同前一幀圖像獲得的背景值)通過creat_bg_esti()函數(shù)創(chuàng)建背景模型,估計(jì)出當(dāng)前背景,即當(dāng)前狀態(tài)估計(jì)值,然后結(jié)合當(dāng)前測量值(如同視頻中當(dāng)前幀圖像)運(yùn)用run_bg_esti()函數(shù)對當(dāng)前圖像估計(jì)其背景(即此處的當(dāng)前狀態(tài)最優(yōu)估計(jì)值)并返回前景區(qū)域,估計(jì)出來的最優(yōu)背景值作為下一次循環(huán)的前一狀態(tài)[10],循環(huán)往復(fù)。返回前景后前景區(qū)域處理流程如圖2所示。
在創(chuàng)建初始化背景及進(jìn)行背景估計(jì)時(shí),為了提高對每個(gè)像素的運(yùn)算處理速度,對相機(jī)鏡頭獲取的圖片進(jìn)行了縮放處理,在縮小的1/2圖像基礎(chǔ)上估計(jì)背景和提取前景。通過對前面循環(huán)返回的背景區(qū)域不斷地進(jìn)行更新,根據(jù)跟蹤目標(biāo)具有一定大小的特點(diǎn),可以選取一定面積的區(qū)域作為濾波特征,消除微小運(yùn)動(dòng)對提取目標(biāo)的影響,濾波后將目標(biāo)區(qū)域用最小外接矩形框住用以跟蹤運(yùn)動(dòng)物體。
本文算法的具體實(shí)現(xiàn)過程是:通過調(diào)用Halcon提供的函數(shù)庫,在Visual Studio 2010平臺下結(jié)合JAI SDK進(jìn)行二次開發(fā),通過工業(yè)相機(jī)鏡頭獲取實(shí)時(shí)圖像畫面,通過開發(fā)完成的算法實(shí)現(xiàn)實(shí)時(shí)動(dòng)態(tài)目標(biāo)跟蹤。
4實(shí)驗(yàn)結(jié)果與分析
本文使用的工業(yè)相機(jī)為加拿大生產(chǎn)的千兆網(wǎng)相機(jī)PointGrey BFLYPGE13E4MCS,16 MB大幀緩存,數(shù)據(jù)更安全更可靠;相機(jī)鏡頭為日本產(chǎn)Computar M1614MP2。焦距16 mm,系統(tǒng)矩陣參數(shù)a1,2=a2,2=0.7??柭鲆鍷之前景適應(yīng)時(shí)間Gain1=0.001,卡爾曼增益K之背景適應(yīng)時(shí)間Gain2=0.01,且Gain2≥10Gain1。卡爾曼增益K根據(jù)z(ti)是否屬于前景區(qū)域在Gain1與Gain2之間切換。
本次實(shí)驗(yàn)通過相機(jī)的第一幀圖像獲取初始背景圖像,通過卡爾曼濾波算法自動(dòng)更新背景。根據(jù)不同場景設(shè)置不同前景與背景閾值,在不同場景環(huán)境下的實(shí)驗(yàn)效果圖如圖3所示。
5結(jié)論
本次實(shí)驗(yàn)利用卡爾曼濾波算法準(zhǔn)確估計(jì)出背景,解決了背景估計(jì)中可能會(huì)出現(xiàn)的把目標(biāo)當(dāng)背景的現(xiàn)象。對于場景的變化、陰影等帶來的影響有很好的處理效果,對于快速變化的運(yùn)動(dòng)目標(biāo)也能準(zhǔn)確跟蹤。針對不同場景可以實(shí)時(shí)調(diào)節(jié)前景與背景閾值、相機(jī)曝光時(shí)間等參數(shù)。實(shí)驗(yàn)表明,本算法可以實(shí)現(xiàn)對動(dòng)態(tài)目標(biāo)的實(shí)時(shí)跟蹤。本算法實(shí)驗(yàn)還存在一些問題:只有當(dāng)前景與背景灰度相差較大時(shí)準(zhǔn)確率較高,而當(dāng)前景目標(biāo)的灰度與背景灰度相近時(shí),前景目標(biāo)有時(shí)候難以被提取。由于條件限制,實(shí)驗(yàn)在室內(nèi)進(jìn)行,這也是后期將繼續(xù)探究的工作。
參考文獻(xiàn)
?。?] Tang Siyu. Detection and tracking of occluded people[J]. Internationat Journal of computer Vision, 2014, 110(1): 5869.
?。?] 于成忠. 基于背景差法的運(yùn)動(dòng)目標(biāo)檢測[J]. 東南大學(xué)學(xué)報(bào), 2005, 35(11): 159161.
?。?] SAEED I A K. Real time, dynamic target tracking using image motion[C].Taipei:IEEE International Conference on Mechatronics,2005:241246.
[4] 孫歡. 交通監(jiān)控系統(tǒng)中幀差法與背景差分法優(yōu)劣分析[J]. 電子科技, 2012, 25(10): 13.
?。?] 林佳乙. 基于背景差分法和幀間差分法的視頻運(yùn)動(dòng)檢測[J].儀器儀表學(xué)報(bào), 2008, 29(4): 111114.
[6] 許俊波. 目標(biāo)檢測與跟蹤方法研究[D].武漢:中國地質(zhì)大學(xué), 2007.
?。?] 朱錚濤.基于卡爾曼濾波的背景估計(jì)及其算法實(shí)現(xiàn)[J]. 微計(jì)算機(jī)信息,2007,23(10): 291293.
[8] Wang Hongman, Huo Lingling, Zhang Jing. Target tracking algorithm based on dynamic template and Kalman filter[C]. 2011 IEEE 3rd International Conference on Communication Software and Networks, 2011:330333.
?。?] 胡鵬.Kalman濾波在視頻目標(biāo)跟蹤中的應(yīng)用研究[D].重慶:重慶大學(xué),2010.
[10] 武岫緣. 一種改進(jìn)的目標(biāo)監(jiān)測與跟蹤算法[J]. 微型機(jī)與應(yīng)用, 2013, 32(22): 4143.