游培寒,胡 瑜,盛 平,2,王志民
(1 95856部隊,南京 210000;2 94921部隊,福建晉江 362200;3南京理工大學,南京 210094)
模版匹配和目標跟蹤是視頻圖像實時處理中的難點問題,以往系統設計中,由于器件的運算速度有限,不能夠做到大規模的模版匹配和大范圍的搜索運算。而完全依賴金字塔等算法對模版進行壓縮又會丟失大量信息[1],造成匹配精度不高和跟蹤不穩定,多處理器工作方式是實時視頻處理系統設計的唯一解決方法。但是以往設計中,大量系統資源被用于總線控制和系統間數據傳輸,影響了系統性能的發揮[2]。文中設計了一套基于 DSP和 FPGA的圖像模版匹配和自動跟蹤系統。DSP主要負責圖像數據的傳輸和控制,并預處理匹配模板和匹配數據;而FPGA完成模版匹配并將目標位置信息傳遞回DSP。由于模版匹配和圖像處理過程相對獨立,避免了圖像的遲滯。
硬件系統結構如圖1所示,它主要由一枚TMS320DM642(簡稱 DM642)和一枚 EP3C25F324C7組成。DM642內置有完整的視頻控制模塊,它通過I2C設置解碼芯片 TVP5150和編碼芯片 SAA7121,以27MHz的速度接收 TVP5150輸出的符合ITU656標準的數字視頻,并將其傳遞到HY57V28320中的采樣圖像內存區,完成圖像處理過程后,采樣圖像被拷貝到顯示內存區,以標準視頻方式傳遞給編碼芯片SAA7121。DSP在進行視頻流控制的同時,也將匹配區域數據和匹配模版進行預處理后通過EMIF端口傳遞給FPGA的內存區域,匹配過程由FPGA內部狀態機控制。

圖1 系統硬件結構
DSP與FPGA通信是系統設計的關鍵。首先將DSP的EMIF端口CE2尋址空間設置為8bit的同步讀寫接口,再利用IP核在FPGA內部配置出匹配模板和匹配區域的雙端口存儲區域。其硬件連接關系如圖2所示。

圖2 硬件連接關系
在設計DSP和FPGA的通信接口時,應注意以下幾點:
1)由于EMIF端口是64位的,它的位選信號應取反后接入到FPGA雙端口存儲區相應的位選端口上[3]。
2)EMIF端口的通信時鐘為133MHz,在 PCB布線時應盡量滿足等長。
3)線路中的延遲時間不同,CLK接入FPGA后,應利用片上的PLL模塊建立鎖相電路,調整時鐘相位避免通信誤碼。
4)利用CPLD建立正確的啟動和復位順序,避免DM642和FPGA之間的相互干擾。一般DM642先啟動,FPGA后啟動。
雖然模版匹配是一種穩定的圖像跟蹤算法,但它只能通過修正模板的方式實現圖像的旋轉、縮放,這耗費了大量的系統資源。文中將預處理模板數據和模板匹配分割為兩個過程,如圖3所示。
1)利用DSP預處理模板數據:對目標區域進行濾波,去除噪聲[4],然后計算目標區域的梯度圖像作為原始模板,再根據原始模板計算放大模版、右旋轉模版、左旋轉模版,并將生成的模板通過EMIF端口傳輸給FPGA。
2)利用FPGA進行模板匹配:由于FPGA的并行處理機制,可以同時對原始模板、放大和旋轉后的模版進行匹配,尋找最佳匹配結果,用來確定目標位置。當匹配最優點產生在放大模板或左右旋轉模板中時,說明目標狀態發生了變化,需要重新定義,這時FPGA通過模板更新標志位給DSP一個信號,DSP將重新計算模板數據。
3.2.1 放大公式
圖像的放大和旋轉在DSP內部完成。設放大后像素坐標為(xs,ys),放大關系如下[5]:

式中:(xc,yc)是放大中心,floor[]是取整函數。放大倍數α選擇直接影響算法的穩定性。放大倍數越大,放大的速度越快系統跟蹤越穩定;放大倍數小則在放大速度慢時系統穩定。由于文中設計的實際需要,這里設 α =1.1。
雙線性插值是一種比較常見的圖像縮放計算公式,它既可以避免圖像的畸變,同時計算量又相對較少,比較適合本系統應用。


圖3 軟件結構
3.2.2 旋轉公式

設旋轉后的坐標為(xs,ys),設:要更新匹配模板,設置更新模板標志位。在復位狀態下,FPGA將清空全部匹配數據。

圖4 FPGA狀態機
FPGA的工作狀態可分為更新模板區域、更新匹配區域、匹配計算、更新目標位置、空閑和重啟6個狀態,其狀態機如圖4所示。系統處在空閑狀態時,根據DSP給FPGA的指令信號FPGA可以進入更新匹配區域或更新匹配模板狀態,更新匹配區域后FPGA自動進入匹配計算狀態,匹配計算主要完成(x,y)位置ρ(x,y)2的計算,更新目標位置狀態主要計算新的目標位置,同時根據最優點所對應的模板,判斷是否需
文中采用的匹配準則如下[6]:

其中:(x,y)代表匹配位置,(x',y')代表匹配區域N×M大小的鄰域坐標,p(x',y')是匹配區域像素,t(x',y')是模板像素,p-是匹配區域像素均值;式(4)對于圖像的灰度線性畸變具有不變性,穩定性較好,但直接引用式(4),無法在FPGA中實現,將式(4)做了如下調整:

在FPGA中的計算時序如圖5所示。

圖5 ρ(x,y)2的優化前的計算時序
通過圖5可以發現,計算ρ(x,y)2需要14個乘法器,占用時間主要集中在第一步,需要 (N×M+6)個時鐘周期。第二步和第三步所需時鐘周期總共為16個,而第二步中3個乘法和減法器在結構上有類似之處,可以簡化為一個乘法與減法器,適當增加第二步所耗費的時鐘周期對整個計算過程不會造成過高影響。利用一個時序狀態機優化系統結構如圖6所示。

圖6 ρ(x,y)2的優化后的計算時序
優化后的ρ(x,y)2的計算需要占用FPGA中11個乘法器,如果同時比較旋轉和縮放模板,需要44個乘法器,不到文中選用芯片內部乘法器資源的一半。優化后的 ρ(x,y)2計算需要 (N×M+38)個時鐘周期。
單個ρ(x,y)2計算完成后將其存儲在FPGA制定緩存中,更新坐標(x,y),得到匹配區域中所有子空間對應的 ρ(x,y)2,最大 ρ(x,y)2所對應位置就是目標新坐標,當其對應的匹配模板不是原始模板,則設置更新匹配模板標志位為1。DSP的圖像處理周期與FPGA的計算周期存在時間差。為了避免DSP讀取非法數據,在FPGA中設置一個雙向目標位置地址,該地址內數據保留了目標當前位置和模板更新標志位。FPGA匹配計算結束后,會更新地址內的目標位置和模板更新標志。DSP在每個處理周期都會讀取該地址內的目標位置和模板更新位。這樣做可以保證DSP每次讀取的都是最新的目標匹配計算結果。
文中設計的自適應模版匹配跟蹤系統硬件平臺如圖7所示。利用SDZ310相機作為成像器件,對跟蹤系統性能進行了跟蹤能力和計算速度測試。

圖7 視頻跟蹤系統
利用SignalTAPII記錄FPGA部分數據,得到靜態圖像測試結果如表1、表2所示。
參考國內某型紅外成像導引頭跟蹤器指標,對跟蹤器動態跟蹤性能進行了測試:將攝像機架設在云臺上,對不同灰度反差、放大倍數的移動平面目標進行旋轉跟蹤。試驗結果如表3~表7所示。表中√表示目標在視場移動速度小于8像素每秒時,跟蹤器能夠穩定跟蹤目標,沒有丟失目標或跟蹤點大幅度抖動現象。通過表3~表7可以看出,跟蹤器能夠滿足目標視在灰度反差6%,旋轉速度小于20°/s,縮放速度小于2.0倍 /s的移動平面目標穩定跟蹤要求。
由于模版匹配計算與視頻通道隔離,系統跟蹤計算并不會遲滯視頻顯示時間,系統圖像處理速度可以穩定在每秒25幀。同時由于采用FPGA完成并行計算,其可處理的模板面積較大,計算速度較快。跟蹤速度測算與實測結果如表8所示。可以看出,當模板面積為128×128像素時,系統每秒仍能跟蹤28幀圖像。
文中設計了一套基于模板匹配的視頻跟蹤系統。該系統硬件采用DSP+FPGA結構,DSP負責圖像的緩存,并負責模板數據計算,FPGA負責匹配準則的計算和最佳匹配位置的確定等。文中給出的跟蹤系統的試驗測試結果表明,系統能夠滿足當目標旋轉、縮放等條件下的跟蹤要求,同時處理速度可以滿足128×128像素的大面積模板跟蹤需要。

表1 當匹配圖像發生6°偏轉時的部分計算結果

表2 當匹配區域發生放大1.1倍時的部分計算結果

表3 視在灰度反差不同目標跟蹤結果

表4 視在灰度反差為20%的目標縮放跟蹤結果(畫面從15倍放大到30倍)

表5 視在灰度反差為15%的目標縮放跟蹤結果(畫面從15倍放大到30倍)

表6 視在灰度反差為20%的目標旋轉跟蹤結果

表7 視在灰度反差為15%的目標旋轉跟蹤結果

表8 跟蹤速度測算與實測結果
[1]Luigi Di Stefano,Stefano Mattoccia. Fast template matching using bounded partial correlation[J]. Machine Vision and Applications,2003,13:213 -221.
[2]Xu Xiaoshen,Jiang Hongxu,Jin Liang,et al. A Multi-DSP system for high-performance video applications[C]//11th IEEE Singapore International Conference on Communication Systems,2008:778 - 782.
[3]Altera. Cyclone III handbook Volume 1,San Jose,CA 95134[M/OL]. 2003.
[4]McDonnell MJ. Box-filtering techniques[J]. Computer Graph Image Process,1981,17(1):65 -70.
[5]Aokage H,Wada K,Toraichi K.High quality conversion of image resolution using two-dimensional sampling function[C]//Communications,Computers and Signal Processing,2003.PACRIM. IEEE Pacific Rim Conference on,Vol.2,2003:720 -723.
[6]Zuxun Zhang,Jianqing Zhang. Digital Photogrammtry[M].Wuhan Publishing,1997.