劉偉寧
(中國科學(xué)院長春光學(xué)精密機(jī)械與物理研究所,吉林長春130033)
基于DSP+FPGA平臺的復(fù)雜背景目標(biāo)檢測與跟蹤
劉偉寧?
(中國科學(xué)院長春光學(xué)精密機(jī)械與物理研究所,吉林長春130033)
研究了圖像匹配算法原理,并分析了不同匹配算法類型。根據(jù)灰度特征編碼的原理,給出了編碼流程以及匹配算法FPGA實(shí)現(xiàn),在試驗(yàn)中進(jìn)行了FPGA編碼并實(shí)現(xiàn)了改進(jìn)的中值濾波算法和灰度特征編碼匹配算法。在各種背景環(huán)境條件下,利用該算法對可見光視頻圖像和紅外圖像的匹配效果進(jìn)行了試驗(yàn),實(shí)驗(yàn)證明,該匹配跟蹤算法容易進(jìn)行硬件實(shí)現(xiàn),能夠達(dá)到提高系統(tǒng)實(shí)時(shí)性的要求。
目標(biāo)跟蹤;DSP;復(fù)雜背景
景象匹配技術(shù)是目前在視頻圖像目標(biāo)跟蹤中應(yīng)用的主要跟蹤方法之一,其基本思想是預(yù)先設(shè)定目標(biāo)基準(zhǔn)圖,一般稱作模板,然后在實(shí)時(shí)采集的可見光或紅外等視頻圖像中,把基準(zhǔn)圖與實(shí)時(shí)圖進(jìn)行比較,尋找與預(yù)設(shè)模板最接近的圖像區(qū)域,認(rèn)為該區(qū)域是目標(biāo)區(qū)域,引導(dǎo)設(shè)備瞄準(zhǔn)該目標(biāo)或?qū)υO(shè)備進(jìn)行方向校準(zhǔn)。
景象匹配處理需要處理大量圖像信息數(shù)據(jù),因此實(shí)時(shí)性是衡量景象匹配技術(shù)性能的重要指標(biāo)之一。一般根據(jù)實(shí)際視頻的工作頻率,也就是25 Hz作為實(shí)時(shí)性指標(biāo),因此圖像處理系統(tǒng)需要在40 ms內(nèi)完成圖像數(shù)據(jù)傳輸和圖像計(jì)算工作。實(shí)時(shí)性要求不僅需要圖像處理硬件系統(tǒng)具有良好的體系結(jié)構(gòu),也要求圖像處理算法不僅能夠準(zhǔn)確捕獲、跟蹤目標(biāo),具有高可靠性,同時(shí)也要求圖像處理算法適應(yīng)硬件系統(tǒng)的體系結(jié)構(gòu)。
目前,隨著高速信號處理器DSP技術(shù)以及FPGA技術(shù)的進(jìn)步,通常的把圖像處理系統(tǒng)做在一塊電路板上,結(jié)合DSP和FPGA各自的特點(diǎn),可以實(shí)現(xiàn)高速、大數(shù)據(jù)量的視頻圖像實(shí)時(shí)處理,目前文獻(xiàn)上關(guān)于這方面有較多介紹[1-2],技術(shù)已經(jīng)比較成熟,但是由于攝像機(jī)技術(shù)的快速發(fā)展,實(shí)時(shí)獲取的圖像幀頻越來越高、圖像靶面越來越大,而且對于復(fù)雜圖像場景的目標(biāo)跟蹤也提出了更高的要求,迫切需要研究解決超大數(shù)據(jù)量和高工作幀頻的目標(biāo)跟蹤實(shí)時(shí)處理問題,以及復(fù)雜背景目標(biāo)捕獲、跟蹤處理算法的高速實(shí)現(xiàn)。
我們根據(jù)實(shí)際工程應(yīng)用的需求,設(shè)計(jì)了基于DSP+FPGA硬件架構(gòu)的圖像處理系統(tǒng),并根據(jù)復(fù)雜目標(biāo)背景圖像的跟蹤需求,結(jié)合圖像處理硬件體系結(jié)構(gòu)特點(diǎn),提出了新的圖像處理系統(tǒng)設(shè)計(jì)方法,合理分配DSP和FPGA運(yùn)算能力,并設(shè)計(jì)了適合硬件實(shí)現(xiàn)的圖像處理算法,對于復(fù)雜背景的目標(biāo)跟蹤處理獲得了較好的跟蹤效果。
根據(jù)FPGA的特點(diǎn)以及圖像處理算法的需求,我們設(shè)計(jì)的圖像處理系統(tǒng)基于DSP+FPGA硬件架構(gòu),其中,FPGA除了作為整個(gè)圖像處理系統(tǒng)的控制核心外,通過內(nèi)部可編程邏輯電路對處理板上外圍器件進(jìn)行管理和圖像數(shù)據(jù)的采集控制,并且對采集的圖像進(jìn)行預(yù)處理以及一些統(tǒng)計(jì)計(jì)算。由于圖像預(yù)處理過去一般在DSP中實(shí)現(xiàn),用FPGA實(shí)現(xiàn)后,可以減輕DSP的運(yùn)算壓力,也有利于提高圖像處理算法的實(shí)時(shí)性,整個(gè)圖像處理系統(tǒng)的硬件架構(gòu)如圖1所示。
圖像處理板主要由圖像采集單元、圖像數(shù)據(jù)控制單元、圖像數(shù)據(jù)緩存以及圖像計(jì)算單元等組成,其中圖像計(jì)算單元由DSP芯片完成,負(fù)責(zé)圖像處理軟件的運(yùn)行以及與外部系統(tǒng)進(jìn)行通訊等工作,圖像數(shù)據(jù)控制單元由FPGA芯片完成,FPGA同時(shí)負(fù)責(zé)圖像數(shù)據(jù)的預(yù)處理工作。由于該圖像處理板希望FPGA能夠完成盡可能多的任務(wù),板上的FPGA采用Xilinx公司開發(fā)的高性能FPGA芯片,型號為Virtex2Pro4,該芯片是Virtex2Pro系列中的一款,功能強(qiáng)大,內(nèi)部資源非常豐富,芯片內(nèi)部包含有6 700多個(gè)邏輯單元和3 000多個(gè)CLB,28個(gè)18×18 bit的乘法器,1個(gè)Power PC處理器,28個(gè)18 Kb的Select RAM-II等資源。其中Select RAM-II實(shí)質(zhì)上是位寬32 bit的雙端口RAM,可以用于緩存圖像數(shù)據(jù),非常適合視頻圖像處理這類的大數(shù)據(jù)量數(shù)據(jù)處理;28個(gè)18×18 bit的乘法器也適合進(jìn)行快速圖像處理。
圖1 圖像處理系統(tǒng)硬件框圖Fig.1 Block diagram of image processing system
圖像處理板的數(shù)據(jù)流如下,攝像機(jī)傳來的Camera Link制式數(shù)字圖像數(shù)據(jù)首先通過解碼芯片進(jìn)行解碼,然后圖像數(shù)據(jù)進(jìn)入FPGA內(nèi)部, FPGA控制圖像數(shù)據(jù)的流向,圖像數(shù)據(jù)可以輸出到板上的SDRAM進(jìn)行緩存,也可以輸出給模擬視頻編碼芯片ADV7176,用于生成標(biāo)準(zhǔn)模擬視頻信號進(jìn)行輸出顯示,同時(shí)也能夠讓DSP通過DMA操作采集圖像并進(jìn)行進(jìn)一步的圖像處理。從電路設(shè)計(jì)上可以看出,FPGA是電路的核心,也是圖像數(shù)據(jù)流動的核心,這樣設(shè)計(jì)有利于充分利用FPGA對圖像進(jìn)行處理。
FPGA芯片的集成度和性能近年來已經(jīng)大幅提高,芯片內(nèi)部也嵌入了如Power PC等CPU核,處理能力大幅提高,通過利用FPGA強(qiáng)大的處理能力,可以將一些簡單算法通過FPGA實(shí)現(xiàn),使算法的計(jì)算速度達(dá)到硬件的速度水平,提高整個(gè)算法的運(yùn)算速度和性能。
目前很多基本預(yù)處理算法已經(jīng)在FPGA中實(shí)現(xiàn),如Sobel濾波算法、直方圖均衡算法、FFT算法等[3],有學(xué)者研究并實(shí)現(xiàn)了在FPGA上完成簡化的遺傳算法[4]。
圖像預(yù)處理模塊中的中值濾波功能在圖像處理算法中應(yīng)用較多,一般采用3×3的經(jīng)典算法,我們在實(shí)現(xiàn)上對該函數(shù)進(jìn)行了改進(jìn),TI公司的函數(shù)庫中,經(jīng)過該函數(shù)處理后的圖像在最左和最右邊分別有一列圖像沒有進(jìn)行濾波處理,導(dǎo)致后續(xù)處理要進(jìn)行適應(yīng)性改動,否則可能由于沒有濾波的像素影響計(jì)算結(jié)果。
原來函數(shù)實(shí)現(xiàn)如下:
從公式可以看出,由于第0列的左面和最右列的右面沒有像素,因此不能進(jìn)行濾波計(jì)算;而且由于第0行的上面和第Height-1行的下面沒有像素,也不能進(jìn)行濾波計(jì)算。所以使用該算法進(jìn)行中值濾波計(jì)算后,結(jié)果圖像矩陣比原有矩陣四面各少一排像素,而且濾波后的圖像在地址空間上不連續(xù)。
我們在設(shè)計(jì)FPGA的中值濾波算法時(shí),對上述算法進(jìn)行了改進(jìn),改進(jìn)后的算法公式如下:
如公式中所示,如果當(dāng)前計(jì)算的像素是第0列數(shù)據(jù),則需要第-1列數(shù)據(jù)的地方用第0列像素代替,同理,如果當(dāng)前計(jì)算的像素是第Width-1列數(shù)據(jù),則需要第Width列數(shù)據(jù)的地方用第Width-1列像素代替。
在計(jì)算時(shí),在緊接圖像矩陣前復(fù)制一行圖像數(shù)據(jù),內(nèi)容為第0行圖像數(shù)據(jù),在緊接圖像矩陣后復(fù)制一行圖像數(shù)據(jù),內(nèi)容為第Width-1行圖像數(shù)據(jù),這樣圖像矩陣有Height+2行數(shù)據(jù),然后應(yīng)用改進(jìn)后的中值濾波算法進(jìn)行中值濾波運(yùn)算,結(jié)果獲得Width?Height的濾波后數(shù)據(jù)圖像,并且在地址空間上連續(xù),不影響后續(xù)的圖像處理。
提高系統(tǒng)整體性能的途徑有多種,除了改進(jìn)算法使之運(yùn)算效率更高以外,還可以針對硬件特點(diǎn)對現(xiàn)有算法進(jìn)行適應(yīng)性改進(jìn)。模板匹配算法在視頻圖像跟蹤系統(tǒng)中應(yīng)用廣泛,尤其在地圖地形匹配等應(yīng)用中,其主要優(yōu)點(diǎn)是在復(fù)雜背景下跟蹤效果好,但是其缺點(diǎn)也很明顯,就是數(shù)據(jù)運(yùn)算量非常大。在常用的常規(guī)模板匹配算法中,如果假定基準(zhǔn)圖大小為64×64,實(shí)時(shí)搜索區(qū)大小是256× 256,采用該算法進(jìn)行全搜索圖像匹配,它的運(yùn)算量高達(dá)3.07×108次加法和3.07×108次乘法。在高速圖像跟蹤系統(tǒng)中,如此巨大的數(shù)據(jù)運(yùn)算量完全依靠DSP處理器來進(jìn)行處理,很難達(dá)到系統(tǒng)的實(shí)時(shí)性要求。因此導(dǎo)致模板匹配算法很難應(yīng)用在高速實(shí)時(shí)圖像跟蹤系統(tǒng)中。
根據(jù)已有的硬件條件,我們研究了在硬件中實(shí)現(xiàn)部分匹配算法,以提高系統(tǒng)跟蹤實(shí)時(shí)性,主要是針對硬件結(jié)構(gòu)特點(diǎn)對算法進(jìn)行適應(yīng)性改進(jìn),將特征匹配算法的部分底層計(jì)算在FPGA中實(shí)現(xiàn),降低DSP的運(yùn)算負(fù)擔(dān),減少了算法的運(yùn)算時(shí)間。
在算法選擇上采用了下述的基于圖像灰度特征編碼的匹配算法,該算法占用存儲空間少,與傳統(tǒng)像素匹配算法相比,耗用系統(tǒng)處理時(shí)間也非常少。
將整幅圖像分成k×k尺寸且互不重疊的圖像塊,稱之為R塊。如果圖像的邊長不是k的整數(shù)倍,則將圖像的最底下和最右側(cè)的幾行、幾列像素剪掉,對一副M×N的圖像就得到了[M/k]× [N/k]個(gè)R塊,如圖2所示。
圖2 R塊的鄰域示意圖Fig.2 Schematic diagram of R block neighbor
與R5相鄰的8個(gè)R塊(圖2中R1,R2,R3, R4,R6,R7,R8,R9所示)組成R塊的鄰域。將R塊的鄰域分成四個(gè)部分,分別是D 1,D 2,D 3,D 4,稱為R塊的D鄰域,其中:
分別計(jì)算每個(gè)D鄰域中四個(gè)R塊的像素灰度值之和,記為
其中:Q(R)即為Ri的特征編碼。
模板匹配算法實(shí)際上就是在實(shí)時(shí)圖中搜索基準(zhǔn)圖中搜索最優(yōu)匹配點(diǎn),搜索結(jié)果采用適當(dāng)?shù)亩攘糠椒ㄅ袛?如序貫相似性檢測算法(SSDA)、歸一化相關(guān)算法(NPROD)等,我們采用歸一化相關(guān)算法,度量函數(shù)公式為:
在確定了算法之后,在圖像處理板的FPGA上進(jìn)行了編程實(shí)現(xiàn),并設(shè)計(jì)了相應(yīng)的完整的基于DSP+FPGA架構(gòu)的跟蹤算法。
我們完成的圖像處理系統(tǒng)采用實(shí)際圖像進(jìn)行了實(shí)驗(yàn)驗(yàn)證,圖像來自可見攝像機(jī)采集的圖像,采用FPGA完成中值濾波算法和底層圖像匹配處理算法,采用可識別跟蹤目標(biāo)的直觀檢驗(yàn),并且與普通相關(guān)匹配算法結(jié)果進(jìn)行目標(biāo)位置比較。試驗(yàn)中采用基準(zhǔn)圖大小為64 pixel×64 pixel,實(shí)時(shí)圖為640 pixel×512 pixel的紅外圖像,工作幀頻為100 Hz。圖像處理板上FPGA型號為Virtex2Pro4, DSP數(shù)字處理器的型號為TMS320C6416,工作主頻為800 MHz。采用FPGA實(shí)現(xiàn)的基于圖像灰度特征編碼的匹配算法與常規(guī)相關(guān)模板匹配算法均能正常跟蹤目標(biāo)。
圖3 實(shí)時(shí)圖(640×512)和模板圖(64×64)Fig.3 Real-time image(640×512)and model image (64×64)
在進(jìn)行的跟蹤運(yùn)動汽車試驗(yàn)中,圖像背景比較復(fù)雜,圖像中有樹木、廣告等,如圖3所示。選擇跟蹤運(yùn)動中的小型汽車,對分別采用常規(guī)相關(guān)模板匹配算法和本文提出的機(jī)遇圖像灰度特征編碼的匹配算法的跟蹤結(jié)果進(jìn)行對比,兩種算法均能夠?qū)δ繕?biāo)進(jìn)行正常跟蹤,本文算法跟蹤與傳統(tǒng)匹配算法相比,不受DSP采集圖像速度影響,可以達(dá)到更高跟蹤幀頻。
本文提出的采用FPGA實(shí)現(xiàn)基于圖像灰度特征編碼的匹配算法,能夠在采用DSP+FPGA架構(gòu)的圖像處理板上達(dá)到降低DSP運(yùn)算量、提高圖像處理系統(tǒng)實(shí)時(shí)性能的結(jié)果,在采用DSP+FPGA架構(gòu)的圖像處理板上,在硬件設(shè)計(jì)時(shí)就需要綜合考慮數(shù)據(jù)流的需求,硬件設(shè)計(jì)完成后,如何合理分配DSP和FPGA任務(wù)、選擇適當(dāng)?shù)膱D像處理算法非常重要,在本文中,如果需要提高跟蹤精度,可以把FPGA計(jì)算的結(jié)果作為粗跟蹤結(jié)果,在DSP中在粗跟蹤位置附近采用常規(guī)匹配算法進(jìn)行精密跟蹤,能夠取得更好的跟蹤效果。
[1] 楊衛(wèi)東,張?zhí)煨?桑農(nóng).景象匹配算法在數(shù)字信號處理器上的實(shí)時(shí)實(shí)現(xiàn)[J].紅外與激光工程,2001,30(1):21-24.Yang W D,Zhang T X,Sang N.Thereal-time realization of scene matching algorithm on DSP[J].Infrared andLaser Engineering,2001,30(1):21-24.(in Chinese)
[2] 盛磊,徐科軍.基于DSP和FPGA的實(shí)時(shí)視頻處理平臺的設(shè)計(jì)與實(shí)現(xiàn)[J].中國科學(xué)技術(shù)大學(xué)學(xué)報(bào),2006,36(3): 304-309.Sheng L,Xu K J.Thedesign and realization of real-time video processing platform based on DSP and FPGA[J].Journal of University of Science and Technology of China,2006,36(3):304-309.(in Chinese)
[3] 劉亞海.基于FPGA的FFT數(shù)字處理器的硬件實(shí)現(xiàn)[D].上海:同濟(jì)大學(xué),2005 Liu Y H.Thehardware realization of FFT digital processor based on FPGA[D].Shanghai:Tongji University, 2005.(in Chinese)
[4] 吳春英.基于FPGA的遺傳算法硬件化技術(shù)的研究[D].南京:南京航空航天大學(xué),2004 Wu C Y.Theresearch on hardware genetic algorithm technology based on FPGA[D].Nanjing:Nanjing University of Aeronautics and Astronautics,2004.(in Chinese)
[5] Torres-Huitzil M.Real-time image processing with a compact FPGA-based architecture[J].Real Time Imaging, 2004,10:177-187.
[6] 高世海,戴文剛,田仲.空域和頻域相結(jié)合的景象匹配算法[J].中國圖象圖形學(xué)報(bào),2000(4):345-348.Gao S H,Dai W G,Tian Z.The scene matching algorithm in space domain combined with frequency domain[J].Journal of Image and Graphics,2000(4):345-348.(in Chinese)
[7] 尹業(yè)宏,王濤,陳穎.基于FPGA的圖像預(yù)處理濾波算法[J].光學(xué)與光電技術(shù),2004,2(5):61-64.Yin Y H,Wang T,Chen Y.The filter algorithm of image preprocess based on FPGA[J].Optics and Optoelectronic Technology,2004,2(5):61-64.(in Chinese)
(本期制版:于 娜)
Object tracking under complicated background based on DSP+FPGA platform
LIU Wei-ning?
(Changchun Institute of Optics,Fine Mechanics and Physics, Chinese Academy of Sciences,Changchun 130033,China)
The paper studied the principles of image matching algorithms and analyzed the different matching algorithms.By the principle of grayscale features encoding,the improved matching algorithm is presented and is realized by FPGA.The improved mid-value filter and matching algorithm based on grayscale features encoding is realized in the experiments.The matching effect is tested for visual image and infrared image under different background conditions.The experiment results show that the matching algorithm is easy for FPGA design and can enhance the real time performance.
target tracking;DSP;complicated background
TP394.1;TH691.9
A
10.3788/YJYXS20142906.1151
1007-2780(2014)06-1151-05
2014-06-17;
2014-07-20.
?通信聯(lián)系人,E-mail:itdili@scut.edu.cn
劉偉寧(1963-),男,吉林長春人,碩士,研究員,主要從事實(shí)時(shí)圖像處理技術(shù)以及目標(biāo)識別與跟蹤技術(shù)的研究。E-mail:liuweininig2003@126.com