周全宇,史忠科
(西北工業大學自動化學院,陜西西安710072)
目前,圖像跟蹤系統廣泛應用于安防監控、教育、會議等領域,但對于某些特殊應用場合,如導彈末制導、彈道試驗以及火箭飛行等高速目標跟蹤領域,因為目標運動速度過快,而常規圖像跟蹤系統[1-2]中圖像采集裝置的幀頻一般僅為25~30 fps,傳感器捕捉的圖像目標往往會出現變形、模糊等現象,對目標的精確檢測產生極大的干擾。而高速圖像跟蹤系統由于每幀圖像的曝光時間極短,相當于將目標的某一瞬間狀態凍結[3],若將其應用于高速目標的跟蹤,能夠很大程度上改善目標運動模糊問題。
對現有的高速圖像跟蹤系統進行研究發現,由于高速圖像數據量非常大,對于處理器的要求也較高,而在某些實時性要求較高的系統中,甚至需要帶有專業功能的高速攝像機才能滿足系統對高速圖像的實時性處理需求,這些系統結構復雜,造價也較昂貴[4-5]。有些研究也僅僅是對高速圖像處理算法進行實時性分析,沒有對一個完整的系統進行分析[6]。
現場可編程門陣列(FPGA)具有強大的并行處理能力,有很強的實時性,非常適合數據量較大的圖像處理[7]。因此本文設計實現了一種基于FPGA的高速圖像實時跟蹤系統,該系統直接在FPGA中對采集到的高速圖像序列進行實時處理,無需存儲,且系統所有功能模塊均集中在FPGA中實現,結構簡單,具有單芯片集成、低功耗、便攜化、小型化等優點。
基于FPGA的高速圖像跟蹤系統主要由CMOS高幀頻圖像傳感器、FPGA核心處理單元、片外SRAM、舵機云臺和串口通信等部分組成。將CMOS傳感器作為圖像采集裝置,其輸出為數字圖像,可以直接送至FPGA。CMOS驅動、高速圖像采集與處理和舵機云臺控制均集中在一片FPGA內實現,提高了系統的集成度,也降低了系統復雜度。FPGA作為系統的計算和控制中心,將各模塊的功能通過FPGA聯系在一起,構成一個完整的高速圖像跟蹤系統,系統總體結構如圖1所示。

圖1 系統總體結構圖Fig.1 The overall structure of the system
系統的工作流程為:系統上電后,FPGA通過SPI總線對CMOS高速圖像傳感器進行驅動配置,配置完成后,CMOS以高速圖像捕捉目標;FPGA采集高速圖像,并在其內部進行實時圖像處理,包括動態閾值分割與形心跟蹤算法;根據形心對視場中央的偏移量控制舵機云臺跟蹤目標,最終使得目標在圖像視場中的位置始終鎖定在視場中央,進而完成目標的跟蹤。
整個跟蹤系統的所有功能均在FPGA中實現,各功能模塊的整體邏輯結構如圖2所示。CMOS驅動模塊用于驅動CMOS圖像傳感器,通過模擬SPI總線協議對CMOS的內部寄存器配置,從而改變CMOS的幀頻、分辨率等工作參數;圖像采集模塊是直接通過CMOS的數據通道采集其輸出的高速數字圖像;閾值分割模塊是對采集到的圖像進行實時的動態閾值分割檢測目標,并計算目標形心位置,將該形心坐標送至PWM波產生模塊;PWM波產生模塊接收閾值分割模塊傳過來的形心坐標,并根據形心對圖像中央的偏移量計算云臺轉動的幅度,并通過該幅度產生相應的PWM波來控制云臺轉動,進而跟蹤目標;時鐘模塊是根據各功能模塊的時鐘要求,通過分頻和倍頻給其提供相應的工作時鐘。
圖像采集模塊的功能是CMOS通過高速圖像捕捉目標信息,FPGA采集CMOS傳輸過來的高速圖像。系統采用美國cypress公司開發的CMOS高速圖像傳感器芯片LUPA-300,該芯片最大分辨率為640×480,在最大分辨率下最高可以達到每秒250幀圖像的拍攝速度,幀頻可調。上電后,FPGA模擬SPI總線協議對CMOS進行配置,配置參數為640×480@125fps;配置完成后,CMOS直接向FPGA傳輸灰度圖像,像素時鐘頻率為40 MHz,FPGA按照CMOS產生的幀有效信號(frame_valid)和行有效信號(line_valid)以相同的時鐘頻率采集圖像。
動態閾值分割模塊是系統的核心功能模塊,其主要功能是在高速圖像的像素時鐘周期內完成目標檢測和形心計算,否則,會有數據堆積,進而影響整個系統的工作時序,是實現高速圖像實時處理的根本。
目標檢測采用動態閾值法實現,該方法的實現流程分為兩步:1)計算圖像的平均灰度值Avg_gray;2)通過調整因子α_gray得到目標分割閾值Th。閾值計算公式表示為:

當像素灰度值位于(Avg_gray-α_gray,Avg_gray+α_gray)之間時,認為該像素為目標像素,否則不是。
目標在圖像中的位置,即形心坐標(Mx_posi,My_posi),由式(2)計算:

其中,Mx_posi表示形心的橫坐標,My_posi表示形心的縱坐標,i和j分別表示像素在圖像中位置坐標,N為目標面積。
根據FPGA的并行運算特點,將形心計算嵌入到閾值分割法中,主要分兩步進行:1)檢驗當前像素是否目標像素,如果是,則將目標像素的個數加1;如果不是,則目標像素個數保持不變;2)如果當前幀結束,計算該幀的平均灰度值以及目標的形心坐標,具體實現流程如圖3所示。

圖2 目標跟蹤邏輯結構圖Fig.2 Target tracking logic structure
由FPGA的并行運行特點可以看出,目標檢測和形心計算總共只需兩步即可完成,即只需兩個時鐘周期。而CMOS高速圖像的幀頻為125 fps,像素時鐘頻率為40 MHz,每個時鐘周期是25 ns。閾值分割模塊的工作頻率設為80 MHz,每個時鐘周期12.5 ns,則每個像素就有2個時鐘周期的操作時間,這2個時鐘周期足夠滿足動態閾值分割和形心計算需要。這樣,即完成高速圖像的實時目標檢測,整個過程不需要對圖像數據進行存儲,也沒有數據堆積的問題。

圖3 動態閾值法流程Fig.3 Dynamic threshholding flowchart
平均灰度計算部分使用一個32位寬的寄存器Sum_gray[0:31]存儲灰度值累加和,8位寬的寄存器Avg_gray[0:7]存儲平均灰度值。一幀采集完畢后,通過一次除法運算即得到圖像平均灰度值Avg_gray,由于幀頻較高,相鄰兩幀圖像的灰度值相差很小,因此由式(1)計算出動態閾值Th作為下一幀的分割閾值,當前幀的分割閾值由上一幀得到。
系統通過形心坐標對視場中央的偏移量進行控制,將偏移量換算成舵機控制量控制舵機轉到相應的角度,從而實現目標的跟蹤。由于目標不可能嚴格地處于圖像中央點(320,240)處,當目標形心處于圖像中央方塊區域中時,就認為目標處于圖像中央,這種情況下不再改變舵機控制量;當目標跑出該范圍后,再根據目標的形心位置計算相應的舵機控制量。
飛機從屏幕一側飛到另一側再從另一側回到初始位置,如此循環,將該過程通過投影儀投影放大至墻上,鏡頭對準屏幕跟蹤飛機在投影屏幕上的運動。為了能夠更精確地檢測目標,改善實驗效果,文中將飛機設置為白色作為目標,背景設為黑色,這樣只檢測閾值高于某一灰度值作為目標像素,能夠有效避免噪聲的影響,更精確地檢測目標。因為云臺的轉動幅度較小,拍攝視頻的距離較遠,通過視頻不能明顯看出舵機的轉動動作,在固定系統電路板的夾板上添加一個能夠發出紅色激光束的激光管,如圖4所示。激光管發出激光束,可以通過激光點在投影上的位置來確定云臺的位置,以觀察跟蹤效果。

圖4 仿真實驗環境Fig.4 Simulation experiment environment
將閾值取為(Avg_gray+60,Avg_gray+65),可以消除激光點對目標的干擾。將整個實驗過程用視頻錄下來,視頻幀頻為29 fps,屬于低速圖像。本文通過視頻將實驗的過程錄下來,然后從中截取部分,如圖5所示。實驗中云臺能夠自主跟蹤目標,隨著目標的來回往復運動也進行來回往復跟蹤,鏡頭視場一直鎖定目標,跟蹤也較為穩定。在該過程中,某些幀中飛機有虛影,這是因為屏幕顯示本身的問題,由于目標不大,不會影響到目標的檢測。

圖5 跟蹤仿真實驗過程Fig.5 Process of the simulation tracking experiment
圖5中某幾幀的激光點呈線狀,是因為云臺轉動太快,用低速相機拍攝圖像的曝光時間較長,拍攝到的不是點,而是點的軌跡(線)。同樣,由于飛機運動速度較快,通過低速圖像拍攝到的飛機有很長的拖影。高速圖像中的每一幀曝光時間較短,因此其捕捉到的實際跟蹤圖像中飛機的拖影大大減少,極大地改善了拖影的負面影響。
圖5中對應的跟蹤過程持續了32幀,則該段時間約為32/29=1.103秒,目標在1.103秒內沿著一個方向移動了3 m,根據三角關系,可以估算出該段過程中云臺轉動的角度為55.9度,則云臺的跟蹤角速度約為55.9/1.103=50.7度/秒,滿足高速目標的要求,實驗能夠驗證高速圖像目標跟蹤的有效性。
針對低速圖像跟蹤系統跟蹤目標時因圖像模糊造成的跟蹤精度降低的問題,文中設計實現了基于FPGA的高速圖像跟蹤系統。系統采用高速圖像傳感器作為圖像采集裝置,改善了低速圖像跟蹤系統對高速運動目標跟蹤誤差大、精度低等問題,具有單芯片集成、低功耗、小型化、便攜化等優點,有良好的應用前景。
[1] 寧成軍,史忠科.基于FPGA的實時空中目標跟蹤系統設計與實現[J].交通運輸系統工程與信息,2010,10(5):45-52.NING Cheng-jun,SHI Zhong-ke.Design and implement of Real-time aerial target tracking system based on FPGA[J].Journal of Transportation Systems Engineering and Information Technology,2010,10(5):45-52.
[2] 劉紫燕,馮亮,祁佳.一種基于FPGA的實時視頻跟蹤系統硬件平臺設計術[J].傳感器與微系統,2014,33(7):98-102.LIU Zi-yan,FENG Liang,QI Jia.Design of a FPGA-based hardware platform of realtime video tracking system[J].Transducer and Microsystem Technologies,2014,33(7):98-102.
[3] 計宏偉,王懷文.基于高速圖像測量技術的緩沖材料緩沖性能的表征[J].振動與沖擊,2011,30(9):216-220.JI Hong-wei,WANG Huai-wen.Characterization of dynamic cushioning property of cushioning material based on highspeed image measurement technology[J].Journal of Vibration and Shock,2011,30(9):216-220.
[4] 張遠輝,韋巍,虞旦.基于實時圖像的乒乓機器人Kalman跟蹤算法[J].浙江大學學報,2009,43(9):1580-1584.ZHANG Yuan-hui,WEI Wei,YU Dan.Kalman tracking algorithm based on real-time vision of ping-pong robot[J].Journal of Zhejiang University,2009,43(9):1580-1584.
[5] 張正濤,徐德.基于智能攝像機的高速視覺系統及其目標跟蹤算法研究[J].機器人,2009,31(3):229-224.ZHANG Zheng-tao,XU De.High-Speed vision system based on smart camera and its target tracking algorithm[J].Robot,2009,31(3):229-224.
[6] 劉剛,蘇秀琴,胡曉東,等.高速電視下基于自適應閾值的實時圖像跟蹤[J].光子學報,2005,34(8):1262-1265.LIU Gang,SU Xiu-qin,HU Xiao-dong,et al.Real-time image tra-cking based on adaptive threshold in high speed TV[J].Acta Photonica Sinica,2005,34(8):1262-1265.
[7] Gu Q,Takaki T,Ishii I.Fast FPGA-based multiobject feature extraction[J].IEEE Transactions on Circuits and Systems for Video Technology,2013,23(1):30-45.