, ,,
(1.川北幼兒師范高等專科學(xué)校,四川 廣元 628017; 2.山西大學(xué) 軟件學(xué)院,太原 030013)
目標(biāo)跟蹤技術(shù)[1]在機(jī)器視覺、模式識別等諸多方面均有重要的應(yīng)用,它以圖像處理技術(shù)為主,將光學(xué)、計算機(jī)控制和幾何運(yùn)算等技術(shù)融為一體,可通過圖像處理程序的串行實現(xiàn)目標(biāo)捕獲,識別和跟蹤[2]。目前的跟蹤技術(shù)已廣泛應(yīng)用于多個領(lǐng)域:如氣象云圖分析[3]、智能交通視頻監(jiān)控系統(tǒng)[4]等。在這些系統(tǒng)中,如何獲得魯棒快速的跟蹤,是該領(lǐng)域的研究關(guān)鍵。
一般跟蹤算法中最重要的是目標(biāo)表示形式,如:顏色直方圖特征[5]、直方圖方向梯度[6]、Harr特征描述符[7]和角點特征[8]等,已經(jīng)有很多研究者對其進(jìn)行了大量研究,下面介紹幾個具有代表性的目標(biāo)跟蹤算法。
文獻(xiàn)[9]提出一種二次約束的目標(biāo)跟蹤算法,在目標(biāo)定位的搜索機(jī)制中,使用二次等式約束的Kalman濾波器提高跟蹤精度,同時匹配和更新目標(biāo)外觀模型。但這種方法容易陷入局部最優(yōu),Kalman濾波的假設(shè)前提條件也比較多。
文獻(xiàn)[10]提出了很有名的TLD算法,即跟蹤-學(xué)習(xí)-檢測,將學(xué)習(xí)方法融入到目標(biāo)跟蹤系統(tǒng)中,利用N-P專家的學(xué)習(xí)對跟蹤和檢測出現(xiàn)的正負(fù)樣本進(jìn)行分類,同時,跟蹤模板和檢測模板也相應(yīng)進(jìn)行更新。雖然TLD跟蹤單個目標(biāo)準(zhǔn)確且穩(wěn)定,但NP學(xué)習(xí)比較耗時,而且這種算法僅限于單目標(biāo)跟蹤,因為NP學(xué)習(xí)無法擴(kuò)展到多目標(biāo)的學(xué)習(xí)中。
文獻(xiàn)[11]提出了粒子濾波的隨機(jī)搜索算法,該算法可以消除局部最小化問題,一般目標(biāo)的外觀模型隨時間變化而變化,例如光照變化,溫度濕度變化,這時目標(biāo)需要正則化更新。但是,不恰當(dāng)?shù)母虏僮鲿?dǎo)致目標(biāo)漂移。
文獻(xiàn)[12]利用在線更新外觀模型,充分挖掘目標(biāo)周圍局部的可視數(shù)據(jù),在背景粒子的協(xié)助下選擇判別特征,但該算法的更新過程計算量較大,實時性比較弱。
以上方法均在實時性方面具有較大的缺點,這可能有兩方面原因,一方面是算法本身比較復(fù)雜,另一方面在實現(xiàn)過程中實現(xiàn)的方法造成大量的運(yùn)算時間。本文是一種嵌入式的算法設(shè)計,本文圍繞目標(biāo)的角點特征展開,這是因為角點特征集中了大量的圖像信息,且很少受光照變化影響[8]。且它具有旋轉(zhuǎn)不變性,僅含約0.05%的圖像像素,需要處理的數(shù)據(jù)非常小,非常適合嵌入式開發(fā)的實時要求,本文的主要貢獻(xiàn)如下:
1)提出一種圍繞角點的多級跟蹤算法,這些算法沒有復(fù)雜華麗的推導(dǎo)和理論,但非常實用,這種設(shè)計思想很大程度上啟發(fā)于AVT21開發(fā)板(一種比較通用的跟蹤開發(fā)板,可以在網(wǎng)上搜索相關(guān)介紹)的設(shè)計思想。
2)設(shè)計一種DSP-FPGA硬件實現(xiàn)框架,這種硬件設(shè)計使算法、控制、接口等處理更加優(yōu)化。
目標(biāo)跟蹤過程中,選擇一種好的特征提取算法非常重要,圖像中,目標(biāo)角點是重要的局部特征,它集中了大量的重要圖像信息,具有旋轉(zhuǎn)不變性和對光照的魯棒性,且需要處理的數(shù)據(jù)非常少。因此,角點檢測已應(yīng)用于許多重要的實踐中,特別是,實時目標(biāo)跟蹤領(lǐng)域。目前,很多采用角點檢測的目標(biāo)跟蹤算法主要基于SUSAN和Harris算法[13]。提出的算法使用Harris算法提取目標(biāo)角點特征。
光流(Lucas Kanade, LK)也是一種完善且廣泛使用的算法,由于該算法僅依賴局部信息,而局部信息來源于提取出的角點周圍區(qū)域,因此可以用于處理稀疏紋理圖像。然而,LK光流算法的缺點是大幅度運(yùn)動會將角點移出局部窗口,從而使LK算法難以發(fā)揮作用。
金字塔LK算法可消弱這種缺陷,即首先從圖像金字塔的最高層開始處理,逐步處理到金字塔的最低層,圖像金字塔的最高層擁有最少最簡化的細(xì)節(jié)信息,具體過程如圖1所示。
圖1 金字塔LK光流算法
目標(biāo)跟蹤誤差是在參考圖像塊以及第二幀變換圖像塊之間的圖像網(wǎng)格上測量,而圖像I1和I2之間的映射誤差是相應(yīng)像素之間的色差,表示如下:
(1)
(2)
(3)
式中,h表示空間帶寬,σ為顏色誤差的比例,ρ(u)為雙加權(quán)損失函數(shù)。對于多變化情況,該損失函數(shù)通過論證準(zhǔn)則來計算。鄰域應(yīng)包含足夠多局部信息,確保一階近似中較大誤差不影響估計。Ke為完全對稱的內(nèi)核函數(shù),本文選取Bhattacharyya核函數(shù)。
統(tǒng)計學(xué)中,Bhattacharyya距離是一種廣泛應(yīng)用的距離測量算法,即對于給定高斯分布gi,gj,其計算如下:
(4)
(5)
提出的目標(biāo)跟蹤算法主要包含使用基于光流的特征點匹配算法,通過目標(biāo)角點檢測和匹配,描述如下。
步驟1:選擇目標(biāo)區(qū)域后預(yù)處理圖像。為了消除噪聲,采用中值濾波算法。3×3模板的濾波器在具有很高的并行處理能力的現(xiàn)場可編程門陣列(Field Programmable Gate Array, FPGA)[14]中編程時,處理速度更快,數(shù)值結(jié)果更好。
步驟2:使用Harris算法在目標(biāo)區(qū)域中提取角點特征,同時刪除預(yù)選目標(biāo)區(qū)域內(nèi)背景的特征點。在該目標(biāo)跟蹤系統(tǒng)中,首先手動選擇目標(biāo)圖像區(qū)域,由于目標(biāo)區(qū)域比整個圖像尺寸小,此過程需要較少時間。由于兩個相鄰圖像幀之間的目標(biāo)位移非常小,提出的算法僅在目標(biāo)周圍較小區(qū)域中計算目標(biāo)位移。
步驟3:通過金字塔LK光流法為后續(xù)圖像幀匹配圖像角點,該算法雖然精度高,但它需要較長時間,使得當(dāng)目標(biāo)和其圖像都很大時不能滿足實時性要求。為了克服該缺點,提出的算法中僅使用合理角點特征,以減少計算時間,借鑒Opencv里源碼處理角點的方式。
步驟4:計算匹配點,并通過質(zhì)心算法得到目標(biāo)位置。當(dāng)使用金字塔LK法在后續(xù)幀中計算特征角點的新位置時,可能與之前步驟中計算的之前的位置有一些小的匹配點偏差,由于旋轉(zhuǎn)和被跟蹤目標(biāo)的失真。實驗結(jié)果還表明,大多數(shù)匹配點接近目標(biāo),僅幾個點由于目標(biāo)旋轉(zhuǎn)、扭曲和/或屏蔽偏離目標(biāo)。為了得到正確的結(jié)果,提出的算法必須考慮所有匹配點,采用質(zhì)心法來計算所有匹配角點的質(zhì)心。
關(guān)于質(zhì)心算法,一般是通過黑熱化或白熱化操作,對原有圖像幀進(jìn)行二值化處理,這個處理直接關(guān)系到最終的質(zhì)心運(yùn)算的準(zhǔn)確度[15]。這里要著重說明下,本文直接獲得角點位置,利用角點位置計算質(zhì)心位置,不需要進(jìn)行二值化處理。
為了高速處理整個跟蹤算法,設(shè)計了一種硬件系統(tǒng),具有高速處理器數(shù)字信號處理器(Digital Signal Processor, DSP)和FPGA。
提出的實時目標(biāo)跟蹤的硬件系統(tǒng)主要構(gòu)成有:核心芯片TMS320C6416T[13]作為數(shù)字信號處理器、可編程邏輯芯片組CPLD和現(xiàn)場可編程陣列FPGA,硬件設(shè)計如圖2所示。
圖2 硬件結(jié)構(gòu)
硬件的主要部分包括視頻信號處理器、高速率模數(shù)(A / D)、數(shù)字圖像存儲器、轉(zhuǎn)換器數(shù)字圖像處理器、數(shù)據(jù)分析器、計算機(jī)數(shù)據(jù)通信接口RS232以及同步和加法器顯示。圖2中的流程圖可以大致描述如下:預(yù)處理圖像傳感器中的模擬視頻信號經(jīng)過固定、濾波和放大,可以基本滿足A / D輸入視頻信號的需求。接著,此信號由具有8 bit的高速率A / D轉(zhuǎn)換器采樣,輸出的信號直接發(fā)送到FPGA,該系統(tǒng)在運(yùn)行預(yù)處理算法的同時,還執(zhí)行其它函數(shù)。DSP芯片讀取由FPGA處理過的數(shù)據(jù),通過FPGA實現(xiàn)的雙口RAM內(nèi)存,并行運(yùn)行跟蹤算法。數(shù)據(jù)包括由DSP計算的目標(biāo)位置,經(jīng)過PCI端口發(fā)送到伺服系統(tǒng)。DSP的外部同步信號作為控制信號, CPLD的外部同步信號作為參考信號。特征發(fā)生芯片組(UPD6464)由DSP的多信道緩沖串行端口(Multi-channel Buffer Serial Port, McBSP)控制。然后添加UPD6464特征信號到該模擬信號,這樣,所計算的數(shù)據(jù)信號最終顯示在顯示器上。
作為核心處理器,TMS320C6416T運(yùn)行目標(biāo)跟蹤算法,并計算所述目標(biāo)實時位置,處理器以EDMA模式,通過DSP的EMIFB端口,直接從雙端口的RAM(即DPRAM)上讀取圖像數(shù)據(jù)。
盡管使用德州儀器公司制造的高性能DSP處理器,該系統(tǒng)仍很難完成較大圖像數(shù)據(jù)的實時處理任務(wù)。因此,可以看出,結(jié)合了FPGA和DSP芯片的快速目標(biāo)跟蹤系統(tǒng)可以實現(xiàn)軟件硬化和硬件軟化。其中,中值濾波、雙閾值處理和邊緣提取操作這些耗時處理由高度并行化的FPGA完成。同時,F(xiàn)PGA方便了電路設(shè)計和算法修改,使用硬件描述程序語言(Hardware description Language, HDL)來實現(xiàn)硬件算法、邏輯控制和外部接口等,而DSP則運(yùn)行復(fù)雜的目標(biāo)跟蹤算法。
圖3是本文算法所用的開發(fā)板,基本上與AVT21的尺寸大小差不多。
圖3 算法實現(xiàn)的開發(fā)板
實驗比較了4個算法,其中算法1是AVT21開發(fā)板的質(zhì)心跟蹤算法,該算法具有較高速度,適用于當(dāng)背景很簡單,如黑色或白色明顯的目標(biāo)。算法2是基于金字塔相關(guān)性[14]的跟蹤算法,其中目標(biāo)模板的大小是目標(biāo)跟蹤區(qū)的四分之一,算法3是AVT21開發(fā)板上的相位相關(guān)跟蹤算法,算法4是本文提出的算法,算法1和3是基于AVT21開發(fā)板的,算法2和4是基于本文的高速目標(biāo)跟蹤系統(tǒng)。
本文利用兩個評估指標(biāo)評價嵌入式跟蹤器的性能:重疊和均方差(Root Mean Square Estimation,RMSE),前者量化為:
(6)
(7)
式中,N是總幀數(shù)。
圖4所示為使用提出算法的目標(biāo)跟蹤測試結(jié)果。圖4(a)是初始圖像,手動選擇目標(biāo)區(qū)域,預(yù)處理后由Harris算法提取角特性。七個角特性由符號“×”表示,這也是光流算法匹配的對象。圖4(b)~(e)為單獨匹配和跟蹤測試中第5幀、第158幀、第252幀、第288幀的結(jié)果。圖3中符號“+”表示光流算法的匹配點。雖然目標(biāo)在圖4(b)幾乎無變化、在圖4(c)中有小旋轉(zhuǎn)、在圖4(d)比圖4(a)中存在模糊現(xiàn)象,提出的算法能夠正確地得到匹配角特征,并成功地跟蹤目標(biāo)。如圖4(e)所示,由于目標(biāo)圖像很大且旋轉(zhuǎn),一些特征角點偏離初始位置。對于圖4(e)的情況,應(yīng)使用質(zhì)心算法來計算特征角點的質(zhì)心,以確定目標(biāo)位移和位置。
圖4 飛機(jī)的跟蹤分析和結(jié)果
圖5是使用遮蔽直升機(jī)的另一測試。其中,圖5(a)表示手動選擇目標(biāo)區(qū)域的初始圖像,如圖5(b)~(f)分別呈現(xiàn)了第70幀、第75幀、第77幀、第85幀、第110幀的跟蹤結(jié)果,從圖5中可以看到,當(dāng)高塔輕微遮蔽直升機(jī)時,提出的算法可以準(zhǔn)確地跟蹤目標(biāo)。
圖6所示為坦克目標(biāo)的跟蹤實驗結(jié)果,其中背景非常復(fù)雜。圖6(a)~(d)分別呈現(xiàn)第10幀、第147幀、第192幀、第210幀的跟蹤結(jié)果。從圖5(c)中可以看到,當(dāng)坦克幾乎由煙遮蔽時目標(biāo)丟失,其中無坦克角特征提取。
表1和表2是各算法的重疊和RMSE指標(biāo)結(jié)果,加粗代表最優(yōu)數(shù)據(jù),可以看出本文算法獲得了最好的結(jié)果,這表明了嵌入式開發(fā)中算法設(shè)計并不是越復(fù)雜越好,嵌入式開發(fā)的核心原則是在實現(xiàn)的可能性和精度中尋求一個折中方案。
圖6 坦克視頻的測試結(jié)果
表1 各方法對每個視頻序列的平均重疊
表2 各方法對每個視頻序列的中心誤差(RMSE)
表3所示為不同算法的處理速度比較,所有這些實驗在高速目標(biāo)跟蹤系統(tǒng)上完成。從表3可以看出本文算法只比單純的質(zhì)心跟蹤算法稍微慢一點,這充分體現(xiàn)了較好的硬件設(shè)計所帶來的好處。
對于720×576和1080×720(720p)兩種視頻流,比較了各自的幀率,從幀率捕捉器上獲得的數(shù)據(jù)如表4所示??梢钥闯霰疚乃惴ㄟ_(dá)到了非常高的實時要求,與AVT21開發(fā)板上的跟蹤算法基本沒有太大區(qū)別。
表3 不同方法的處理速度
表4 不同幀率的比較
本文提出了使用角點檢測基于金字塔光流算法的目標(biāo)跟蹤。該算法首先使用Harris方法提取角點特征,然后使用金字塔光流法為后續(xù)視頻幀提取角點特征,質(zhì)心算法用來確定目標(biāo)位置。根據(jù)數(shù)值研究結(jié)果的分析和討論,可以得出結(jié)論,提出的方法具有較高的目標(biāo)跟蹤精確度,
總之,對于嵌入式開發(fā),特別是對于軍事目標(biāo)跟蹤具有比較好的現(xiàn)實意義,而且算法已經(jīng)在開發(fā)板上運(yùn)行,但從純粹的算法角度看,它僅適用于跟蹤小目標(biāo),未來將逐漸彌補(bǔ)這些設(shè)計缺陷。
參考文獻(xiàn):
[1] 王 鑫, 徐立中. 圖像目標(biāo)跟蹤技術(shù)[M]. 北京:人民郵電出版社, 2012.
[2] 覃為廣, 宋鴻陟, 彭紅星,等. 改進(jìn)的自適應(yīng)顏色屬性目標(biāo)跟蹤算法[J]. 計算機(jī)工程與設(shè)計, 2016, 37(3): 803-808.
[3] 謝永華, 胡學(xué)嶺, 張恒德. 基于多尺度分析的地基云圖自動識別的研究[J]. 計算機(jī)仿真, 2014, 31(11): 212-216.
[4] Feng L, Liu Z, Qi J. Study of target detection methods in video tracking system[J]. Microcomputer & Its Applications, 2014, 31(4): 1356-1361.
[5] Ning J, Zhang L, Zhang D, et al. Robust mean-shift tracking with corrected background-weighted histogram[J]. IET Computer Vision, 2012, 17(1): 62-69.
[6] Li W, Lin Y, Fu B, et al. Cascade Classifier Using Combination of Histograms of Oriented Gradients for Rapid Pedestrian Detection[J]. Journal of Software, 2013, 8(1): 1532-1539.
[7] 楊 蕾. 基于云臺攝像機(jī)的異常事件實時檢測跟蹤系統(tǒng)的設(shè)計與實現(xiàn)[D]. 北京:北京郵電大學(xué), 2014.
[8] 劉 博, 陳 劍, 周 平,等. 基于多特征的實時立體視覺檢測方法[J]. 計算機(jī)工程與設(shè)計, 2015, 36(12): 3339-3343.
[9] 曹亞陸, 楊 樂, 劉全勝,等. 一種帶二次等式約束的卡爾曼濾波目標(biāo)跟蹤算法[J]. 軟件學(xué)報, 2013, 32(7): 659-665.
[10] Kalal Z, Mikolajczyk K, Matas J. Tracking-learning-detection[J]. Pattern Analysis and Machine Intelligence, 2012, 34(7): 1409-1422.
[11] Luo R, Ying L I, Qian G, et al. Particle Filter Algorithm Based on Improved Adaptive Resampling[J]. Opto-Electronic Engineering, 2014, 34(3): 1635-1641.
[12] Xiao J, Stolkin R, Leonardis A. An enhanced adaptive coupled-layer LGTracker++[A]. IEEE International Conference on Computer Vision Works, ICCVW[C]. 2013, 137-144.
[13] 王 民, 周兆鎮(zhèn), 李昌華,等. 基于像素點灰度差的Harris角點檢測算法[J]. 計算機(jī)工程, 2015, 42(6): 227-230.
[14] Song H J, Ming Z, Hu S. The real-time target track process system design and the fast arithmetic research[J]. Proceedings of SPIE - The International Society for Optical Engineering, 2005, 27(3): 474-477.
[15] 劉云清, 姜會林, 佟首峰. 大氣激光通信中穩(wěn)定跟蹤器件及算法研究[J]. 中國激光, 2012, 37(5): 124-131.