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