楊牧言,劉培宇,王志偉
(重慶大學電氣工程學院,重慶,401331)
作為現(xiàn)代視頻圖像處理技術中一項非常重要的功能,目標無人機檢測與跟蹤已成為當今視頻圖像處理的一個研究熱點。對無人機的跟蹤是對視頻幀序列中的無人機目標進行檢測、定位和跟蹤,在獲得無人機目標的運動特征信息之后,通過進一步處理和分析,達到對無人機目標的行為進行解析和描述,以完成更高級任務的目的?,F(xiàn)階段比較常用的無人機目標檢測算法有:背景建模法、圖像分割法、聚類分析法、運動矢量場法??傮w上講:背景建模法與聚類分析法需要一個學習過程,使得系統(tǒng)對環(huán)境具備一定的先驗知識,而圖像分割法與運動矢量場法算法復雜,運算時間較長。同時在跟蹤算法上卡爾曼濾波、均值漂移以及粒子濾波等方法的復雜運算在FPGA上的應用都是基于軟核實現(xiàn)的方式。
針對上述情況,本文提出使用FPGA硬件實現(xiàn)方式的互相關算法與形態(tài)學相結合的檢測方法,以及擴展區(qū)域定位的視頻跟蹤算法,應用于動態(tài)背景下的單目標跟蹤?;ハ嚓P算法與形態(tài)學相結合算法簡單又能減少環(huán)境變化對系統(tǒng)的影響,擴展區(qū)域定位算法易實現(xiàn)對單目標跟蹤,且不論在視野內目標是否運動都可以進行定位跟蹤。
在視頻處理的過程中,我們先對原來彩色圖像進行灰度化處理,用加權平均法來做灰度化處理,取灰度值:對灰度化后的圖片進行設定閾值濾波處理,即把每個像素點的灰度值大于225的減去225,小于225的設定成0,使得無人機每個像素點對應的像素值由24位縮小為6位以內。
在兩幀之間找尋目標矩陣,需要確定一個合適的搜索范圍,搜索范圍太大會帶來資源的浪費,同時還可能引入不必要的干擾;搜索范圍太小則會在無人機移動速度過快時導致無法準確追蹤的情況出現(xiàn),同時坐標會產生誤差,這個誤差逐漸累積可能導致跟蹤精度的下降甚至跟蹤失敗。如圖1所示,圖中所展示的是在本幀的圖像中,綠色矩形框為上一幀無人機的位置,紅色矩形框為本幀確定的搜索范圍。
圖1 不同視頻中擴展48個像素點對應搜尋區(qū)域
為了保證匹配的精度,本文中對搜索范圍內的每一個像素點都提取相應的無人機機身大小的矩陣,并與上一幀的目標矩陣做互相關,其計算式如下:
在對目標范圍內每一個像素點做互相關運算的時候,當且僅當后面一次互相關運算的值大于上一次的值時,中間變量寄存器才會進行更新。
為驗證上述算法的可行性,以MATLAB工具為仿真平臺,通過進行灰度化閾值濾波處理和對待檢測區(qū)域的互相關操作,測試上述跟蹤原理的跟蹤可行性及跟蹤效果。
精度指標衡量方法基于VOT挑戰(zhàn)賽的無監(jiān)督(unsupervised)模式,以全部受測的N幀圖像內,算法跟蹤結果波門與實際波門平均重合率AO(Average Overlap)描述。
其中,表示跟蹤結果波門與真實波門重疊面積,即目標面積由官方給出,分別為目標的長款尺寸,將每一幀輸出的坐標和官方給出的真值文件作比較并計算其重合率。
如圖2所示,在490幀左右,檢測誤差較大,原因是在488幀與489幀之間,無人機因攝像等原因,相對位置發(fā)生了突變,致使視頻一輸出的AO值出現(xiàn)較大偏差。如圖3所示,在170幀和390幀左右,檢測誤差較大,通過視頻定位發(fā)現(xiàn),在165幀與190幀之間和375幀與405幀之間,出現(xiàn)塔吊的遮擋,使背景噪聲增大,干擾對無人機的檢測。
圖2 視頻一仿真AO值
圖3 視頻二仿真AO值
如圖4所示,視頻三檢測效果能夠達到預期,影響AO值的主要因素是隨著無人機向下飛行,當其快到達視野下邊框時,不得不移動攝像角度使無人機在視頻中的相對位置上移,從而使檢測精度受到影響。如圖5所示,視頻四檢測效果能夠達到預期,其影響AO值的主要因素是無人機飛行背景較復雜且攝像角度在變化從而使檢測精度受到影響。
圖4 視頻三仿真AO值
圖5 視頻四仿真AO值
為驗證互相關算相比于背景差分法的可靠性,通過測試得出結果(只給出視頻一和視頻二),如圖6所示。從仿真結果中可以看到,互相關算法相比于背景差分法有較好的精確度,在背景出現(xiàn)較大噪聲情況下,互相關算法也能夠較準確輸出AO值。
圖6 背景差分法視頻一仿真AO值(左)視頻二仿真AO值(右)
本設計的FPGA程序主要分成四個模塊:串口數(shù)據(jù)接收模塊、HDMI接口視頻數(shù)據(jù)接收模塊、跟蹤模塊、坐標數(shù)據(jù)串口發(fā)送模塊。模塊功能如下:
(1)串口接收模塊主要用于接收軟件發(fā)送到FPGA的初始幀位置信息和無人機的尺寸信息。
(2)視頻數(shù)據(jù)接收模塊主要用于解析TMDS信號為RGB信號。
(3)跟蹤模塊是工程的核心算法模塊,主要用于計算并返回無人機的位置信息。
(4)串口發(fā)送模塊主要用于將跟蹤模塊返回的位置信息發(fā)送給軟件進行追蹤精確度的比較。
本算法的關鍵技術在于為了快速進行各點像素值的互相關運算從而達到即時處理視頻信號實現(xiàn)跟蹤效果,提出了以400個并行乘法器為基礎的4級流水線結構。
該結構通過兩個RAM對目標的模板和待檢測區(qū)域進行了存儲,通過狀態(tài)機控制RAM的讀取,使讀取到的點位在時序上滿足移位要求,同時在空間上滿足一一對應的要求,從而做到一個時鐘周期即可進行400個點的乘法運算。由于FPGA不允許50個操作數(shù)進行并行相加的操作,故需要采用四級流水線加法器實現(xiàn)50個操作數(shù)的累加運算,即以5個操作數(shù)為單位,進行兩級流水線后再進行一次2個操作數(shù)的相加,從而得到累加結果。
圖7 互相關運算的邏輯結構圖
由上述操作可以得知,該結果通過40個乘法器實現(xiàn)8條并行四級流水線,對圖片自相關運算進行了快速的計算,平均一個待測點只需要18個時鐘周期即可運算完畢。
通過測試軟件與FPGA聯(lián)通對受測視頻7進行測試,最終測試結果如下圖8所示。
圖8 視頻1實測效果圖
表1 實測AO指標表
通過FPGA測試及仿真結果與實際數(shù)據(jù)比對,得到的AO值非常接近,幾乎與無人機的基準坐標完全重合,可以看出該基于互相關運算的目標跟蹤算法在該場景下可實現(xiàn)對視頻中的無人機進行精確跟蹤。
實現(xiàn)有效的對視頻中移動目標無人機的檢測與跟蹤一直是數(shù)字圖像處理研究的一個熱門方向,現(xiàn)行中有很多方法在實踐都得以實現(xiàn),本文通過采用設計基于FPGA硬件實現(xiàn)的目標檢測與跟蹤功能,一定程度上解決了由于光線、環(huán)境變化等對跟蹤結果的影響。通過實驗驗證,該檢測與跟蹤算法處理速度快,低成本的Xilinx Artix-7系列FPGA在時鐘為25MHz時處理一幀1280x720分辨率圖像所需要的時間是12.278ms,能夠滿足實時性的要求,而采用更高級的FPGA硬件處理速度將得到更大的提升。而且,F(xiàn)PGA純硬件的實現(xiàn)方式設計靈活,有利于移植到其他FPGA系統(tǒng),同時,也有利于發(fā)展成為專用的集成芯片,簡化了目標檢測與跟蹤算法,使系統(tǒng)可以對視頻范圍內目標突然變化進行定位跟蹤,避免目標遮擋而出現(xiàn)目標跟丟的情況 。