張賀云 吳黎明 肖湘 陳泰偉
(廣東工業大學信息工程學院)
視頻作為一種實時傳輸的圖像信息,它的采集和處理在現代多媒體技術中占有重要地位。數碼相機、可視電話、多媒體 IP電話和電視會議等產品的核心技術就是視頻的采集及處理。視頻采集及處理[1]的速度、質量直接影響到產品的整體效果。視頻目標實時跟蹤是指運用圖像處理技術對視頻信號進行相應處理,從而對目標進行自動檢測、定位和跟蹤等,等價于在連續的圖像幀之間創建基于位置、速度、形狀、紋理、色彩等有關特征的對應匹配問題。近年來,城市消防安全遠程監控系統、視頻會議、消防通信指揮中心建設等視頻系統的普遍應用,特別是在高精度位置跟蹤系統中,視頻跟蹤系統具有非常重要的作用。由于視頻跟蹤系統是從視頻信號提取目標信息,并且給出目標的相對位置,并對其進行跟蹤。隨著視頻跟蹤技術的發展,其應用越來越廣泛,如軍事、航空、防盜、視頻會議等場合,特別是重要場合的安檢系統成為新的應用領域。隨著人們對系統集成度要求的不斷提高,FPGA性能和集成度不斷完善,用FPGA來處理數字信號可以很好的解決數據量大、處理速度不匹配、可靠性低及精度小等問題,并能很好協調并行性與順序性的矛盾。本文利用System Generator工具建模,實現圖像處理[2]、圖像識別/跟蹤功能[3,4],并自動編譯[5]生成 VHDL/Verilog代碼;它也可以通過底層提取,對FPGA的底層資源進行訪問,從而實現高效率FPGA設計。
智能視頻跟蹤是指在不需要人為干預的情況下,利用計算機視覺和視頻分析的方法對攝像機拍錄的圖像序列進行自動分析,實現對動態場景中目標的定位、識別和跟蹤,并在此基礎上分析和判斷目標的行為,從而既能完成日常管理又能在異常情況發生時做出反應。智能視頻跟蹤系統的流程如圖1所示,從監控攝像頭開始,視頻跟蹤技術包括視頻解碼、圖像緩存、圖像預處理、識別/跟蹤算法、視頻編碼、圖像處理數據保存模塊、視頻輸出顯示。

圖1 系統組成框圖
圖像目標跟蹤是指對圖像序列中的活動目標進行檢測、提取、識別和跟蹤,獲得活動目標的運動參數、運動軌跡,從而進一步處理與分析,實現對活動目標的行為理解,以完成更高一級的任務。目前常用的目標跟蹤方法有幀間差分法、光流法、人工神經網絡法、粒子濾波法、飄逸跟蹤法、基于頻率域的方法等。本文使用的方法是固定模板的模板匹配算法[6]。模板就是一幅已知的小圖像,本文采用的是 13×13點的固定模板。模板匹配就是在一幅大圖像中搜尋目標,已知該圖中有要找的目標,且該目標同模板有相同的尺寸、方向和圖像,通過一定的算法可以在圖中找到目標,確定其坐標位置,給予標記,達到跟蹤的目的。
假設要在搜索區域中尋找與模板圖像相關程度最大的位置,可以通過模板匹配來計算兩者的相關程度。圖2是模板匹配算法的示意圖。假設模板(b)疊放在搜索圖(a)上平移,模板覆蓋下的部分記作子圖Si,j,其中i,j是這塊子圖的左上角像點在S圖中的坐標。從圖2 中可得出i、j的取值范圍:1≤i≤K-M+1;1≤j≤L-N+1。

衡量模板T和子圖Si,j的匹配程度,可以利用下面公式:

展開式子有:

式(2)右邊的第三項表示模板的總能量,是一個常數,與i,j無關。第一項是模板覆蓋下那塊子圖像的能量,它隨i,j位置變化而緩慢改變。第二項是子圖像和模板的互相關函數,隨i,j變化而迅速改變。模板T和子圖Si,j匹配時這一項的值最大,因此可用下列相關函數來反映匹配程度:

或者歸一化為:

計算得到的最小R(i,j)的位置是目標位置。
通常,用攝像儀和掃描儀所獲得的顏色,以及計算機顯示所用的顏色都是RGB色空間。但在RGB色空間中,顏色的屬性沒有獨立,在進行圖像處理時,會造成各個屬性間的串擾;在傳輸和處理過程中,會占用大量的帶寬和存儲量,給圖像處理帶來很大的麻煩。YCbCr[8]是世界數字組織視頻標準研制過程中作為ITU-R BT.601建議的一部分,它被用于電視信號的傳送。與RGB色空間相比,YCbCr用亮度和兩個色差信號來表示顏色,其中 Y代表亮度信息,使用8b的16~235級電平;色差信息Cb和Cr使用其中的16~240級電平。因為人眼對亮度的變化比對色度的變化更敏感,所以減少帶寬引起的顏色損失很小,人眼幾乎無法察覺。因此,不必用與Y一樣的速率來傳輸Cb和Cr信息,從而減少了存儲量和帶寬。
YCbCr與RGB轉換的公式(RGB取值范圍均為0~255):

Y、Cb、Cr信號值的范圍是16~235,0~15之間的值叫作 footroom,236~255之間的值叫作headroom。
使用From Multimedial File模塊讀取視頻數據的模型如圖3所示。

圖3 視頻數據讀取模型
模型將 AVI視頻文件的數據輸出到 Workspace的變量中,以供后面所講的圖像處理應用,其中Color Space Conversion模塊將RGB顏色空間的圖像轉換成YCbCr空間的圖像。Video To Workspace模塊的功能是將接收到的數據存儲為Workspace的變量。通過上述模型,在Workspace中,生成了由設計者自己命名的SourceVideo3D變量,其數據格式為一個三維數組,第一維表示視頻的高度,第二維表示視頻的寬度,第三維表示視頻的幀數。
用System Generator系統來搭建實時的目標跟蹤算法。算法是前面所講的固定模板的模板匹配算法。
模型分為三部分,一部分是計數器部分,用兩個計數器分別負責一幀圖像的行像素計數和列像素計數,Single Port RAM模塊負責存儲完整的一幀圖像,這里的視頻大小為160×120,存儲一幀圖像需要19片BlockRAM;另外兩部分為中央處理部分和疊加跟蹤框部分,其中中央處理部分由TraceProcessor模塊負責,疊加跟蹤框部分由On Screen Display模塊負責實現。
由TraceProcessor模塊得到處理的匹配點坐標,該模塊的處理延時為42個時鐘周期,即一幀圖像結束后的第42個時鐘周期即可得到匹配點坐標。輸出的視頻數據流只經過On Screen Display模塊的跟蹤框疊加操作,On Screen Display模塊延時4個時鐘周期,所以模塊的視頻輸出幾乎接近零延時,體現系統的實時性。On Screen Display模塊根據給出的匹配點坐標在視頻數據流上疊加一個白色的跟蹤框,以顯示追蹤目標,該模塊利用多個判斷語句,判斷當前像素點是否在需要繪制的跟蹤框上,如果是則直接將像素替換為白色,否則讓視頻數據原封不動的通過,搭建時只需要注意邏輯與延時即可。視頻處理模塊如圖4所示。

圖4 視頻處理模塊
處理后視頻截圖如圖5所示,白色的跟蹤框指示了跟蹤的目標位置。


實驗結果驗證了用固定模板的模板匹配算法來實現目標跟蹤的可行性。視頻處理模塊雖然會對遮擋具有很強的魯棒性,但不適合應對跟蹤目標旋轉、縮放等變化情況,這些問題的解決需要算法改進。在FPGA系統中,可以利用System Generator模塊直接生成VHDL/Verilog代碼,構建后續的應用系統,并且,這些代碼都可以在ISE集成軟件環境中進行綜合、實現、生成比特流及下載到FPGA中運行。特別是能夠在Simulink環境中進行硬件仿真,這對于數字圖像處理的硬件實現非常重要,為FPGA在這方面的應用提供了良好的工具。
[1] Xilinx Inc. System Generator for DSP Reference Guide.http://www.xilinx.com/support/documentation/index.htm, 2008.
[2] Wu Jincheng,Sun Jingrui,Liu Wenying. Design and implementation of video image edge detection system based on FPGA. 2010 3rd International Congress on Image and Signal Processing (CISP2010),2010:472-476.
[3] Hui Lin.The SOPC-Based Video Acquisition and Pre-Processing Technique. Guangzhou Guangdong University of Technology, 2010.
[4] Wang Qi,Wu Liming,Lin Hui,et al. Moving target detection based on reconfigurable video processing technology. 2010 International Symposium on Computational Intelligence and Design, 2010:87-90.
[5] Lin Hui,Wu Liming, Liu Junxiu, et al. Overshoot and undershoot control for signal generator. 2010 International Conference on Measuring Technology and Mechatronics Automation, 2010:864-867.
[6] Ma Liyong,Sun Yude,Feng Naizhang, et al. Image fast template matching algorithm based on projection and sequential similarity detecting. 2009 Fifth International Conference on Intelligent Information Hiding and Multimedia Signal Processing,2009:957-960.
[7] Yasri I.,Hamid N.H.,Yap, et al. An FPGA implementation of gradient based edge detection algorithm design. 2009 International Conference on Computer Technology and Development, 2009:165-169.
[8] 金曉冬,常青.基于FPGA的RGB到YCbCr色空間轉換.現代電子技術,2009,32(18)