嚴(yán) 飛,馬 可,劉 佳,劉銀萍,夏金鋒
1.南京信息工程大學(xué) 自動化學(xué)院,南京 210044 2.江蘇省大氣環(huán)境與裝備技術(shù)協(xié)同創(chuàng)新中心,南京 210044 3.南京信息工程大學(xué) 大氣物理學(xué)院,南京 210044
近年來,視覺目標(biāo)跟蹤和物聯(lián)網(wǎng)技術(shù)在增強現(xiàn)實、智能視頻監(jiān)控、目標(biāo)識別、醫(yī)學(xué)診斷、視覺導(dǎo)航和空間監(jiān)控等領(lǐng)域得到了廣泛應(yīng)用[1]。在跟蹤目標(biāo)性能評估中,跟蹤效果一般通過準(zhǔn)確性和實時性進行評估[2]。視頻中的目標(biāo)在運動過程中可能會受到光照、飛行姿態(tài)、背景等各種不可預(yù)知的復(fù)雜變化的影響[3]。因此,在實際環(huán)境中建立一種通用、準(zhǔn)確、穩(wěn)定的魯棒視覺目標(biāo)跟蹤算法仍然是一個巨大的挑戰(zhàn)[4]。在跟蹤無人機方面,一個好的跟蹤算法可以使無人機在背景復(fù)雜、光線改變、尺寸較小等場景表現(xiàn)更好的魯棒性[5]。
精確穩(wěn)定的魯棒視覺目標(biāo)跟蹤算法能夠更好地適應(yīng)各種情景。針對這一問題,許多學(xué)者也給出了自己的觀點和研究成果。Fukunaga等人[6]提出Mean-Shift(均值漂移)算法,該算法有較好的實時性和有效性,但是當(dāng)目標(biāo)的大小逐漸增大甚至超過核帶寬范圍時,固定邊界盒往往會導(dǎo)致跟蹤的丟失;文獻(xiàn)[7]提出了一種利用SIFT算法提取目標(biāo)特征尺度、特征點主方向等參數(shù),然后用均值漂移進行目標(biāo)定位的方法,但該方法存在計算量大、實時性差等缺點;Wang等人[8]提出了一種精確、魯棒的增強跟蹤方法,該算法采用了一種靈活的三維物體外觀模型,結(jié)合了局部和全局視覺表示的優(yōu)點,克服了跟蹤失敗的缺點;在跟蹤方面也有一些經(jīng)典算法,如卡爾曼濾波[9]、貝葉斯算法[10-12]等;Li等人[13]提出了改進的視覺目標(biāo)跟蹤算法ENS-CSK,該算法能夠更好地匹配物聯(lián)網(wǎng)技術(shù)下的視覺目標(biāo)跟蹤,但是當(dāng)目標(biāo)外觀發(fā)生顯著變化時,跟蹤失敗,難以恢復(fù)和重新啟動跟蹤;Somayyeh等人[14]提出了一種基于簡化粒子濾波遺傳算法(reduced particle filter based upon genetic algorithm,RPFGA)的圖像序列多目標(biāo)并行跟蹤方法,利用狀態(tài)空間模型中的加速度和速度,可以實現(xiàn)對勻速和加速度目標(biāo)的跟蹤,但是在標(biāo)記方法中,由觀測器對跟蹤目標(biāo)的一部分進行標(biāo)記,如果觀測器沒有準(zhǔn)確地標(biāo)記目標(biāo),則會降低跟蹤功率;董蓉等人[15]提出一種基于局部不變特征點數(shù)據(jù)集的目標(biāo)跟蹤算法,該算法能準(zhǔn)確地定位目標(biāo),跟蹤其方向變化和目標(biāo)大小,而且對遮擋下的目標(biāo)狀態(tài)也可以正確估計,但是如果目標(biāo)紋理非常稀少,會導(dǎo)致提取的局部不變特征也較少,目標(biāo)狀態(tài)估計結(jié)果可能不穩(wěn)定。
在跟蹤目標(biāo)過程中,為了解決跟蹤速度問題,呂清松等人[16]提出基于一種基于FPGA(field programmable gate array)的顏色特征的目標(biāo)識別與追蹤系統(tǒng),該系統(tǒng)有良好的實時性,可以實時跟蹤640×480@60 Hz的視頻流,但是該方法識別顏色單一,不能準(zhǔn)確識別復(fù)雜背景下的目標(biāo)。夏浩偉[17]針對目標(biāo)與背景顏色相近的情況提出一種基于FPGA的彩色輪廓加強算法,結(jié)合均值漂移算法實現(xiàn)了目標(biāo)跟蹤的魯棒性。彩色輪廓增強和均值漂移相結(jié)合的跟蹤算法比均值漂移跟蹤算法具有更好的魯棒性。而且能夠在1080P@60 Hz的情況下實現(xiàn)實時的目標(biāo)跟蹤,雖然該算法實時性高,但如果目標(biāo)移動過快,會出現(xiàn)跟丟的情況,因此不擅長跟蹤機動性較強的無人機。Henriques等人[18]提出核相關(guān)濾波算法(kernel correlation filter,KCF),該方法首先需要手動框選一個窗口作為跟蹤目標(biāo),并通過訓(xùn)練樣本建立一個濾波器,然后通過相關(guān)性計算找到目標(biāo)。該方法在跟蹤方面有較高的準(zhǔn)確性,同時在實時性方面表現(xiàn)也十分理想,但是該方法對快速移動的物體,跟蹤性能比較差。李艷荻等人[19]提出了一種基于動態(tài)特征塊匹配的自適應(yīng)背景更新算法。在采用幀與背景差融合算法檢測目標(biāo)的基礎(chǔ)上,利用目標(biāo)的時刻信息跟蹤目標(biāo),避免了全景視覺中缺少顏色和輪廓特征的缺點。該算法減少了更新單個像素點的冗余計算,充分利用了像素點的空間分布信息,滿足了運動目標(biāo)檢測的準(zhǔn)確性和完整性,但是該算法只能針對背景不變的情況下進行跟蹤,不適應(yīng)跟蹤無人機背景實時變化的場景。針對幀差法容易受到圖像處理效果和外界干擾問題,伍濟鋼等人[20]提出了光流點匹配跟蹤方法,避免了逐幀進行特征分割、提取等復(fù)雜的圖像處理,同時在準(zhǔn)確度和抗干擾方面有不錯的表現(xiàn)。唐瑞等人[21]提出了一種完整有效的建立數(shù)據(jù)模板庫的目標(biāo)匹配識別算法,利用相似度匹配原理識別目標(biāo),獲取目標(biāo)姿態(tài)信息。然而,在檢測過程中,目標(biāo)檢測結(jié)果往往伴隨著較大的干擾陰影,這可能會造成運動目標(biāo)本身的形狀變形以及鄰近目標(biāo)的合并,從而導(dǎo)致誤檢測和漏檢。
針對跟蹤過程中出現(xiàn)的對背景復(fù)雜、光照變化、目標(biāo)較小、移動速度快等情景的目標(biāo)跟蹤準(zhǔn)確度和實時性問題,本文提出一種基于FPGA的自適應(yīng)跟蹤算法。將目標(biāo)模板與搜索區(qū)域數(shù)據(jù)進行儲存,然后通過遍歷的方式在搜索區(qū)域找到相關(guān)度最高的區(qū)域,同時當(dāng)背景發(fā)生變化時,會自適應(yīng)更新模板數(shù)據(jù),提高跟蹤準(zhǔn)確度。本文算法可以在跟蹤準(zhǔn)確度方面有理想的跟蹤效果,同時本文算法基于FPGA平臺設(shè)計,利用FPGA對數(shù)據(jù)并行處理,節(jié)省處理時間,滿足實時性的要求。
為了滿足追蹤過程中對于準(zhǔn)確度與實時性的需求,本文提出一種基于FPGA平臺的無人機跟蹤系統(tǒng)。首先構(gòu)建一個測試系統(tǒng),該系統(tǒng)包括視頻的輸入和輸出設(shè)備,還有FPGA芯片和串口等。因此,該實驗系統(tǒng)主要分為硬件和算法設(shè)計兩部分,該系統(tǒng)的流程如圖1所示。
圖1 該系統(tǒng)的流程總體框圖Fig.1 Overall flow diagram of system
系統(tǒng)通過上位機采集視頻,上位機將已經(jīng)拍攝好的視頻通過HDMI傳輸給解碼芯片ADV7611,解碼之后得到有效像素數(shù)據(jù)流和行場同步信號,然后將數(shù)據(jù)流發(fā)送給FPGA,方便FPGA對數(shù)據(jù)流進行后續(xù)處理。
圖像數(shù)據(jù)經(jīng)過FPGA處理模塊處理之后,得到帶有目標(biāo)框選的有效像素數(shù)據(jù)流和行場同步信號,然后將數(shù)據(jù)流輸出給編碼芯片ADV7513,最后編碼芯片將數(shù)字視頻信號轉(zhuǎn)換成模擬視頻信號,通過HDMI將模擬視頻信號傳輸給顯示屏進行顯示,方便通過顯示屏直接觀察跟蹤效果。
系統(tǒng)在上位機發(fā)送給FPGA視頻流之前,首先將視頻第一幀跟蹤目標(biāo)左上角的坐標(biāo)和無人機尺寸通過串口發(fā)送給FPGA,使FPGA在接收到視頻流后,根據(jù)接收到的目標(biāo)坐標(biāo)和尺寸確定第一幀的框選目標(biāo),并將目標(biāo)區(qū)域數(shù)據(jù)進行保存和后續(xù)處理。
FPGA對每一幀進行跟蹤處理,跟蹤之后得到目標(biāo)位置,通過串口實時將目標(biāo)位置發(fā)送給上位機,然后上位機進行重疊率計算,可以直觀看到跟蹤的實時重疊率波形圖及平均重疊率數(shù)據(jù)。
為了更好地反映圖像的形態(tài)特征,同時為了降低數(shù)據(jù)處理量,選擇對接收到24位(RGB888)圖像數(shù)據(jù)進行灰度處理得到范圍為0~255的8位數(shù)據(jù),就得到了灰度圖像數(shù)據(jù)。這樣在數(shù)據(jù)方面只需要對8位灰度數(shù)據(jù)進行處理,相比較原彩色圖像24位圖像數(shù)據(jù),灰度圖像數(shù)據(jù)計算量降低,同時考慮顯示效果,在目標(biāo)跟蹤模塊采用灰度數(shù)據(jù)進行計算,顯示屏選擇彩色圖像,其中灰度計算方法如式(1)所示。
式中,R、G、B分別表示RGB888的紅色、綠色、藍(lán)色通道數(shù)據(jù),Y1表示得到的灰度數(shù)據(jù)。
實際上,由于FPGA不能對浮點型進行計算,需要先對式(1)進行放大256倍處理,如式(2)所示,得到Y(jié)2后再進行除以256處理得到灰度值。
根據(jù)FPGA并行運算特點,將R、G、B通道數(shù)據(jù)同時乘以對應(yīng)的權(quán)值,并將得到的值相加,取高8位數(shù)據(jù)得到最后的灰度值,這樣完成灰度處理只需一步,即一個時鐘周期。該系統(tǒng)輸入時鐘為50 MHz,通過PLL產(chǎn)生200 MHz時鐘作為灰度處理的時鐘,則每一個時鐘周期即5 ns,每個像素點的灰度處理只需5 ns就可以完成。
首先選用一張數(shù)據(jù)格式為RGB888,圖像分辨率為320×240的圖像,采用FPGA對圖像提取其中的R、G、B數(shù)據(jù),并將RGB數(shù)據(jù)帶入式(2)中,計算得到Y(jié)2。然后對Y2除以256,將計算得到的數(shù)據(jù)Y2分別賦值給R、G、B數(shù)據(jù),使R、G、B數(shù)據(jù)相同,并將計算之后得到的RGB數(shù)據(jù)通過ADV7513編碼芯片進行編碼,通過HDMI傳輸給顯示屏進行顯示?;叶绒D(zhuǎn)換前后圖片對比如圖2(a)所示,灰度轉(zhuǎn)換前后R、G、B數(shù)據(jù)的modelsim仿真圖如圖2(b)所示。
圖2 灰度轉(zhuǎn)換前后結(jié)果對比Fig.2 Comparison of results before and after gray scale conversion
1.4.1 目標(biāo)模板的存儲
在無人機跟蹤過程中,需要將目標(biāo)模板進行保存,用于后續(xù)跟蹤過程中的相關(guān)度計算等。首先上位機將第一幀無人機目標(biāo)左上角坐標(biāo)和尺寸通過串口發(fā)給FPGA,對一幀圖像灰度化之后的像素點個數(shù)進行計數(shù),便于確定目標(biāo)區(qū)域的像素點;進而FPGA根據(jù)得到的目標(biāo)位置將灰度化之后的目標(biāo)區(qū)域圖像數(shù)據(jù)進行保存,考慮后期需要將儲存之后的模板圖像數(shù)據(jù)反復(fù)調(diào)用,用于后期的相關(guān)度計算;最后選擇將灰度化之后的目標(biāo)模板灰度數(shù)據(jù)保存至雙端口RAM中。
采用解碼芯片輸出的視頻時鐘作為RAM的輸入時鐘,將目標(biāo)區(qū)域灰度8位數(shù)據(jù)存儲到RAM中,容量選用10 240×8 bit,采用PLL產(chǎn)生的200 MHz時鐘作為輸出時鐘,使后期數(shù)據(jù)計算時間更少。
1.4.2 搜索范圍的存儲
在無人機跟蹤過程中,需要在一幀圖像找到目標(biāo),考慮到一幀圖像數(shù)據(jù)過多,不易保存且算法運行時間較長,本文采取一種小范圍搜索方式,搜索范圍過大會使運算時間變長,不利于實時性跟蹤;搜索范圍過小,會導(dǎo)致當(dāng)無人機飛行速度過快時,下一幀無人機不在搜索范圍內(nèi),容易丟失目標(biāo),因此采用以目標(biāo)為中心,用無人機尺寸與搜索區(qū)域尺寸按照1∶1.5確定搜索區(qū)域尺寸。首先以上次目標(biāo)坐標(biāo)為中心,進而找到上次目標(biāo)附近的范圍區(qū)域,最后將范圍內(nèi)灰度化后的數(shù)據(jù)保存至另一個雙端口RAM中,方便后續(xù)相關(guān)度計算。
同樣,采用解碼芯片輸出的視頻時鐘作為RAM的輸入時鐘,將目標(biāo)區(qū)域灰度8位數(shù)據(jù)存儲到RAM中,容量選用20 480×8 bit,采用PLL產(chǎn)生的200 MHz時鐘作為輸出時鐘,使后期數(shù)據(jù)計算時間更少。
搜索區(qū)域與目標(biāo)模板區(qū)域?qū)Ρ葓D如圖3所示。
圖3 搜索區(qū)域與目標(biāo)模板對比圖Fig.3 Comparison of search area with target template
檢測跟蹤模塊是從每幀搜索區(qū)域內(nèi)找到與目標(biāo)模板相關(guān)度最高的區(qū)域。首先在搜索范圍內(nèi)找尋與目標(biāo)模板同樣大小的區(qū)域,進而與目標(biāo)模板像素數(shù)據(jù)進行相關(guān)度計算,采用的方法是將模板中每個像素點的灰度值與同樣大小的搜索區(qū)域內(nèi)對應(yīng)點的像素灰度值差的絕對值進行求和;然后在搜索范圍進行遍歷,遍歷完成之后,找到差的絕對值和是最小的值,將最小值的搜索區(qū)域表示為目標(biāo),則判斷該區(qū)域為目標(biāo)區(qū)域;最后返回目標(biāo)坐標(biāo)左上角坐標(biāo)用作確定下一幀的搜索范圍。同時將目標(biāo)左上角坐標(biāo)通過串口發(fā)送給上位機進行準(zhǔn)確度計算。假設(shè)模板和對應(yīng)同樣大小搜索區(qū)域像素的灰度值分別記為I(P i)和I′(Pi),像素灰度差值表示為e i,則像素灰度差絕對值可表示為式(3)。
假設(shè)目標(biāo)模板有n個像素點,通過計算得到對應(yīng)n個像素灰度值差的絕對值之和記為e,計算方法如式(4)所示。
根據(jù)FPGA的并行運算特點,F(xiàn)PGA同時進行灰度處理,存儲目標(biāo)模板數(shù)據(jù)及其搜索區(qū)域數(shù)據(jù),也可以同時進行相關(guān)度計算,大大減少了數(shù)據(jù)處理的總時間,有較好的實時性。
本文采取的遍歷方式是從搜索區(qū)域左上角開始,從左向右、從上至下的遍歷方式。為了減少遍歷帶來的時間過長問題,遍歷方式從左向右,采用每次遍歷向右移動2個像素點,一行遍歷結(jié)束后,遍歷向下移動2個像素點,這樣在保證準(zhǔn)確度的情況下,數(shù)據(jù)處理時間僅為之前的1/4,使目標(biāo)像素點個數(shù)在10 000以內(nèi),在一幀圖像跟蹤處理時間保證在16 ms之內(nèi),在實時性方面有比較理想的跟蹤效果。
在無人機跟蹤過程中,考慮到其背景復(fù)雜干擾多,光線、姿態(tài)變化和背景也處于不斷變化之中,導(dǎo)致準(zhǔn)確度降低的問題,本文采取一種自適應(yīng)目標(biāo)模板更新方式。
考慮到在各種復(fù)雜環(huán)境下導(dǎo)致的跟蹤準(zhǔn)確度降低的問題,及時地更新目標(biāo)模板中的數(shù)據(jù)可以使其在后續(xù)的跟蹤中更加準(zhǔn)確。當(dāng)遍歷之后得到的最小e值(差的絕對值之和)大于一定閾值時,即跟蹤得到的目標(biāo)區(qū)域與模板數(shù)據(jù)相差較大,表明該模板可能不再適用,需要及時更新模板。
該系統(tǒng)將每一幀跟蹤得到的目標(biāo)區(qū)域的左上角坐標(biāo)進行保存,連續(xù)保存5幀目標(biāo)坐標(biāo)數(shù)據(jù),當(dāng)需要更新模板時,產(chǎn)生更新模板請求信號,即將保存的5次目標(biāo)坐標(biāo)進行加權(quán)處理得到一個目標(biāo)坐標(biāo)的值,即為最接近真實目標(biāo)的坐標(biāo);然后在搜索區(qū)域內(nèi)找到對應(yīng)計算得到的目標(biāo)區(qū)域,讀取該區(qū)域的像素灰度數(shù)據(jù),并寫入目標(biāo)區(qū)域的雙端口RAM中,實現(xiàn)自適應(yīng)目標(biāo)模板更新,模板數(shù)據(jù)的及時更新可以提高后面的跟蹤準(zhǔn)確度。其中更新目標(biāo)模板的坐標(biāo)計算方法如式(5)所示。
式中,P1(x1,y1)、P2(x2,y2)、P3(x3,y3)、P4(x4,y4)、P5(x5,y5)分別表示過去第1~5幀的目標(biāo)左上角坐標(biāo),P(x,y)表示通過計算得到目標(biāo)左上角坐標(biāo)。從式(5)可以看出,過去連續(xù)5幀的目標(biāo)坐標(biāo)乘對應(yīng)的權(quán)值之后,將得到的值相加,再除以所有的權(quán)值之和得到的就是預(yù)測目標(biāo)左上角坐標(biāo)。其中越靠近第一幀的目標(biāo)坐標(biāo)乘的權(quán)值越大,反之,權(quán)值越小,這樣可以減少多幀前目標(biāo)坐標(biāo)帶來的影響,這樣計算得到的預(yù)測目標(biāo)坐標(biāo)也更加準(zhǔn)確。通過ILA(在線邏輯儀)采集到跟蹤過程中自適應(yīng)模板更新次數(shù)的波形圖如圖4所示。
圖4 自適應(yīng)模板更新ILA波形圖Fig.4 ILA waveform diagram updated by adaptive template
為了驗證本文方法的準(zhǔn)確性和有效性,本文采用Vivado 2019.1進行程序編寫,選擇中科芯杯FPGA跟蹤器測試軟件作為上位機,采用Xilinx Artix-7 XC7A35T作為控制器,測試儀器如圖5所示。用于測試的是4個不同場景的1 280×720@50 Hz視頻。
圖5 測試儀器Fig.5 Test instrument
選用跟蹤重疊率作為算法性能評估標(biāo)準(zhǔn),跟蹤重疊率定義為實際目標(biāo)區(qū)域與跟蹤結(jié)果區(qū)域的重疊區(qū)域與實際目標(biāo)區(qū)域的比值乘以100%。
為了更好體現(xiàn)跟蹤算法的性能,選擇4個不同場景作為測試視頻,分別是視頻1無人機在飛行過程中發(fā)生姿態(tài)變化,視頻2無人機背景復(fù)雜多變,視頻3光線變化明顯且無人機移動較快,視頻4無人機距離較遠(yuǎn)導(dǎo)致像素很少,跟蹤效果如圖6所示。跟蹤重疊率實時波形圖如圖7所示,可以看出視頻1、視頻2、視頻4沒有出現(xiàn)跟丟的情況,視頻3出現(xiàn)跟丟幾幀,但后來又重新捕捉目標(biāo),從4個測試視頻實時重疊率可以看出該算法跟蹤重疊率基本達(dá)到90%。表1所示是各測試視頻的平均重疊率及目標(biāo)所占像素個數(shù),可以看出該算法對視頻1跟蹤平均重疊率可以達(dá)到98.696%,說明該算法對姿態(tài)變化跟蹤效果較好;對視頻2跟蹤平均重疊率可以達(dá)到95.053%,在經(jīng)過吊塔時,重疊率受到影響降到70%左右;視頻3跟蹤平均重疊率是97.049%;視頻4跟蹤平均重疊率是96.852%,滿足準(zhǔn)確度要求。視頻1和視頻3目標(biāo)像素較多,因此在跟蹤重疊率計算時,重疊率要高一點,而視頻2和視頻4目標(biāo)像素較少,導(dǎo)致計算重疊率時分母較小,進而重疊率曲線波動較明顯。
圖6 不同視頻的跟蹤效果Fig.6 Tracking effects of different videos
表1 不同視頻的跟蹤重疊率Table 1 Tracking overlap rates of different videos
結(jié)合圖6和圖7對跟蹤效果進行分析如下。
(1)目標(biāo)姿態(tài)變化:圖6(a)中第529幀無人機改變姿態(tài)飛行,自適用更新模板發(fā)送請求信號,使模板更新為姿態(tài)變化后的數(shù)據(jù),在第631幀無人機以改變的姿態(tài)經(jīng)過干擾背景,從圖7(a)可以看到,跟蹤重疊率曲線沒有出現(xiàn)大的波動,跟蹤效果很好。
(2)背景復(fù)雜多變:圖6(b)中在第172幀和251幀無人機經(jīng)過較為復(fù)雜的塔吊,從圖7(b)重疊率波形圖可以看出,在172幀和251幀出現(xiàn)了波動,但重疊率一直在60%以上,沒有出現(xiàn)跟丟的情況,說明在復(fù)雜情況下,通過自適用更新模板方式使目標(biāo)跟蹤效果較理想。
(3)光線變化明顯,無人機移動較快:圖6(c)中在第121幀無人機發(fā)生快速移動,在第121~122幀移動了32個像素點,從圖7(c)中可以看出跟蹤重疊率沒有出現(xiàn)較大改變,穩(wěn)定在95%以上,在第541幀從圖6(c)可以看到光線發(fā)生了明顯改變,但從圖7(c)中重疊率得到光線對重疊率會造成影響,但會快速重新捕捉目標(biāo),本文算法在跟蹤此類情況依然有較好效果。
(4)目標(biāo)較遠(yuǎn):圖6(d)中無人機距拍攝距離較遠(yuǎn),導(dǎo)致無人機目標(biāo)在視頻中的像素數(shù)很少,表1所示視頻4無人機在畫面尺寸是40×20像素點,圖7(d)中第275幀小目標(biāo)經(jīng)過背景復(fù)雜的場景時,圖7(d)顯示重疊率仍在90%以上,本文算法對此類情況的跟蹤效果很理想。
圖7 不同視頻的跟蹤重疊率波形圖Fig.7 Tracking overlap rate waveform of different videos
評判FPGA算法的好與壞,其中一個關(guān)鍵指標(biāo)就是邏輯資源耗費情況,本系統(tǒng)選用Xilinx Artix-7 XC7A35T作為控制器,其主要資源使用情況如表2所示。將該計算方法代碼綜合成電路,該系統(tǒng)輸入時鐘為50 MHz,通過PLL產(chǎn)生200 MHz時鐘提供給圖像數(shù)據(jù)處理,目標(biāo)模板分配10 240字節(jié)儲存模板數(shù)據(jù)到雙口RAM中,每個數(shù)據(jù)8 bit。搜索范圍分配20 480字節(jié)儲存到雙端口RAM中,每個數(shù)據(jù)寬度為8 bit。從表2中可以看出查找表(LUT)資源消耗率很少,消耗總資源的11.12%,而嵌入式塊(BRAM)消耗率在16%,該方法在雙端口RAM消耗方面也使用很少,總體來說,該方法占用FPGA內(nèi)部資源較少。
表2 FPGA資源利用情況Table 2 FPGA resource utilization
各項場景測試中,本文算法跟蹤一幀耗時在20 ms以內(nèi),滿足跟蹤實時性要求,消耗FPGA內(nèi)部資源較少,同時通過自適用目標(biāo)更新方式在跟蹤飛行姿態(tài)變化、背景復(fù)雜、飛行速度快、目標(biāo)小、光線明顯變化情況下,跟蹤平均重疊率均可達(dá)到95%以上,滿足絕大多數(shù)的跟蹤要求。
本文目標(biāo)跟蹤算法基于FPGA平臺開發(fā),提出一種有效的目標(biāo)跟蹤算法。本文首先將RGB數(shù)據(jù)流進行灰度轉(zhuǎn)換并保存搜索區(qū)域與模板數(shù)據(jù),然后在搜索范圍進行遍歷,找尋與目標(biāo)模型相似度最高的圖像,算法的計算量較小,加上FPGA的并行處理,使識別速度更快;提出一種自適應(yīng)更新模板方法,在跟蹤背景復(fù)雜、光線變化等情況下,有較理想的跟蹤效果。算法分別在飛行姿態(tài)變化、背景復(fù)雜、飛行速度快、目標(biāo)小、光線明顯變化情況下進行測試,測試結(jié)果顯示跟蹤速度均在50 frame/s以上,具有較好的實時性;在跟蹤重疊率上也都在95%以上,有較好的跟蹤準(zhǔn)確度。但本文方法對有物體遮擋情況不能勝任,且跟蹤之前先要獲取第一幀的目標(biāo)位置,才能將目標(biāo)模板保存用于后續(xù)跟蹤。