賀柏根,劉 劍,劉偉寧,郝志成
(中國(guó)科學(xué)院長(zhǎng)春光學(xué)精密機(jī)械與物理研究所,吉林長(zhǎng)春130033)
基于TMS320C6455+FPGA+SDRAM的快速視頻跟蹤系統(tǒng)設(shè)計(jì)
賀柏根?,劉 劍,劉偉寧,郝志成
(中國(guó)科學(xué)院長(zhǎng)春光學(xué)精密機(jī)械與物理研究所,吉林長(zhǎng)春130033)
圖像跟蹤是圖像處理領(lǐng)域研究較多也比較關(guān)鍵的技術(shù)之一。隨著微電子技術(shù)不斷發(fā)展,在光電經(jīng)緯儀、機(jī)載光電平臺(tái)等圖像跟蹤應(yīng)用領(lǐng)域?qū)σ曨l跟蹤器系統(tǒng)的要求越來(lái)越高,當(dāng)前視頻圖像幀頻偏低已對(duì)伺服系統(tǒng)傳輸帶寬形成不小制約,而高幀頻圖像又有視頻傳輸?shù)钠款i。為了解決這一問(wèn)題,本文設(shè)計(jì)了一款基于TMS320C6455+FPGA+SDRAM的圖像跟蹤系統(tǒng)。本系統(tǒng)通過(guò)FPGA控制SDRAM對(duì)視頻圖像進(jìn)行緩存后輸出,達(dá)到視頻降頻輸出的要求,以解決高幀頻圖像數(shù)據(jù)量大難以實(shí)時(shí)傳輸顯示的問(wèn)題,同時(shí)通過(guò)對(duì)相關(guān)跟蹤算法做進(jìn)一步優(yōu)化使其滿足100 frame/s視頻的實(shí)時(shí)跟蹤要求。實(shí)驗(yàn)證明該系統(tǒng)工作有效穩(wěn)定,能滿足工程實(shí)際需求。
目標(biāo)跟蹤;TMS320C6455;SDRAM;圖像處理
在無(wú)人偵察機(jī)及光電經(jīng)緯儀等領(lǐng)域,圖像跟蹤是一項(xiàng)極為關(guān)鍵的技術(shù)。學(xué)術(shù)界對(duì)圖像跟蹤技術(shù)研究起步早關(guān)注度高,該技術(shù)已日趨成熟。但隨著科技水平的不斷發(fā)展,各應(yīng)用領(lǐng)域?qū)D像跟蹤技術(shù)在集成化、魯棒性、實(shí)時(shí)性等方面提出了更高的要求。集成化方面,設(shè)備小型化、輕型化要求越來(lái)越高,對(duì)跟蹤器一般都需要板卡級(jí)嵌入式系統(tǒng)實(shí)現(xiàn),魯棒性和實(shí)時(shí)性往往互斥,需做合理折中。實(shí)際應(yīng)用中,為了提高伺服系統(tǒng)跟蹤帶寬以使系統(tǒng)對(duì)機(jī)動(dòng)目標(biāo)適應(yīng)性更強(qiáng),對(duì)圖像幀頻提出更高要求,由起初的標(biāo)準(zhǔn)PAL制模擬視頻(25 frame/s),提高到30 frame/s Cameralink數(shù)字視頻,現(xiàn)在已經(jīng)需要達(dá)100 frame/s甚至更高。在圖像幀頻提高的同時(shí)圖像數(shù)據(jù)量相應(yīng)變大,受遙測(cè)數(shù)據(jù)傳輸帶寬所限,在圖像傳送顯示時(shí)需要對(duì)其進(jìn)行抽幀降頻處理。
基于以上背景需求,本文設(shè)計(jì)了一款基于TMS320C6455+FPGA+SDRAM結(jié)構(gòu)的實(shí)時(shí)圖像跟蹤嵌入式系統(tǒng),該系統(tǒng)能對(duì)100幀雙TAB視頻(視頻分左右路同時(shí)送出)圖像實(shí)時(shí)穩(wěn)定跟蹤且能將視頻抽幀降頻為25 frame/s后輸出。
本系統(tǒng)硬件設(shè)計(jì)采用TI公司高速數(shù)字信號(hào)處理芯片TMS320C6455作為主運(yùn)算處理器。該芯片在主頻為1 GHz下完成100 frame/s視頻對(duì)目標(biāo)的實(shí)時(shí)跟蹤。FPGA采用Altera公司StratixⅡ系列EP2S50F1020I4N芯片與兩片SDRAM配合完成跟蹤器系統(tǒng)內(nèi)部數(shù)據(jù)分配及圖像抽幀輸出任務(wù)。具體結(jié)構(gòu)框圖如圖1所示。
圖1 快速視頻跟蹤系統(tǒng)硬件框圖Fig.1 Hardware block diagram of the fast image tracking system
為適應(yīng)100 frame/s視頻圖像的大數(shù)據(jù)量傳輸要求,本系統(tǒng)視頻輸入采用雙路雙TAB模式,在圖像行場(chǎng)有效期間,每個(gè)像素時(shí)鐘同時(shí)傳輸2個(gè)像素?cái)?shù)據(jù)即data(0)&data(512),data(1)& data(513),……分兩路IN1、IN2同時(shí)輸入本跟蹤系統(tǒng)。具體數(shù)據(jù)格式如圖2所示。
視頻通過(guò)兩路CameraLink視頻接口進(jìn)入跟蹤系統(tǒng)后,在FPGA中分兩路單獨(dú)處理,一路送入DSP做跟蹤處理,實(shí)時(shí)計(jì)算目標(biāo)脫靶量;另一路做送往SDRAM,做抽幀處理后輸出。系統(tǒng)設(shè)兩路輸出,可將抽幀后視頻送往兩種不同用途。
2.1 視頻跟蹤
為了保證圖像跟蹤的實(shí)時(shí)性,送往DSP的視頻圖像在FPGA中不經(jīng)處理,直接按雙TAB模式以16位數(shù)據(jù)送往DSP。在傳統(tǒng)的圖像跟蹤中,為節(jié)省時(shí)間提高系統(tǒng)實(shí)時(shí)性,根據(jù)圖像跟蹤時(shí)目標(biāo)移動(dòng)的連續(xù)性DSP采集圖像一般采取開(kāi)窗法進(jìn)行,即在大小為a×b的原始圖像中選取目標(biāo)當(dāng)前位置為中心的大小為X×Y的窗口內(nèi)進(jìn)行目標(biāo)模板為x×y的跟蹤算法計(jì)算(其中a>X>x, b>Y>y),如圖3所示。
本系統(tǒng)為適應(yīng)視頻源信號(hào)雙TAB模式輸入的需求,圖像數(shù)據(jù)是前半幅與后半幅圖像數(shù)據(jù)同時(shí)到達(dá),若目標(biāo)在橫坐標(biāo)為a/2處時(shí)傳統(tǒng)開(kāi)窗法位置換算復(fù)雜,且有圖像“不連續(xù)”的問(wèn)題,給圖像采集造成困擾。為此,本系統(tǒng)設(shè)計(jì)DSP EDMA采集圖像采用16位數(shù)據(jù)模式整行采集進(jìn)行,即DSP按照視頻源圖像格式通過(guò)16位數(shù)據(jù)總線采集,圖像進(jìn)入DSP后再進(jìn)行圖像整合拼接,組成如圖4所示大小為a×Y的窗口圖像數(shù)據(jù)。做跟蹤算法時(shí),在圖4所示的窗口數(shù)據(jù)中進(jìn)行二次開(kāi)窗形成大小為X×Y的目標(biāo)實(shí)際搜索窗口。
圖3 傳統(tǒng)跟蹤系統(tǒng)圖像采集示意圖Fig.3 Traditional image acquisition schematic of tracking system
圖4 本文設(shè)計(jì)的跟蹤習(xí)題圖像采集方法Fig.4 Image acquisition schematic of tracking system designed in this article
2.2 視頻抽幀拼接
SDRAM以其價(jià)格低、集成度高、數(shù)據(jù)讀取速度快及技術(shù)相對(duì)成熟且包括Atera和Xilinx等當(dāng)前比較主流的FPGA芯片都已集成了SDRAM控制核,而被廣泛應(yīng)用于多種數(shù)據(jù)存取領(lǐng)域。本系統(tǒng)視頻抽幀拼接由FPGA控制兩片SDRAM進(jìn)行乒乓讀寫(xiě)來(lái)完成,在FPGA中的功能模塊劃分如圖5所示。
圖5 FPGA控制SDRAM功能模塊圖Fig.5 Functional block of the FPGA controlling SDRAM
本系統(tǒng)對(duì)視頻抽幀總的設(shè)計(jì)思路是兩路視頻分別寫(xiě)入兩片SDRAM且每四幀數(shù)據(jù)只寫(xiě)一幀,即將100 frame/s視頻數(shù)據(jù)降頻為25 frame/s的頻率寫(xiě)入SDRAM中。寫(xiě)完一幀后,再?gòu)腟DRAM中把所寫(xiě)數(shù)據(jù)讀出。讀出兩片SDRAM的數(shù)據(jù)先分別存入一個(gè)FPGA內(nèi)部FIFO中,最后再?gòu)母髯訤IFO中將數(shù)據(jù)送往Camer Link輸出接口。在從FIFO讀取數(shù)據(jù)時(shí),按照乒乓方式進(jìn)行操作,即先讀取第一片F(xiàn)IFO中數(shù)據(jù)直至讀空,再開(kāi)始讀取第二片F(xiàn)IFO,從而完成視頻的拼接工作。此過(guò)程中加入FIFO緩存的好處是,該系統(tǒng)可實(shí)現(xiàn)對(duì)視頻源像素時(shí)鐘的自適應(yīng)[1-6]。
在如圖5所示的功能模塊中,視頻源左圖像和視頻源右圖像分別表示經(jīng)由兩路CameraLink接口輸入系統(tǒng)的原始視頻,數(shù)據(jù)上傳模塊主要用來(lái)將視頻數(shù)據(jù)在一個(gè)FIFO中進(jìn)行緩存,在往FIFO中寫(xiě)的時(shí)候要進(jìn)行抽幀處理,即每4幀圖像抽取一幀寫(xiě)入,其他3幀丟棄,以此實(shí)現(xiàn)由100 frame/s到25 frame/s的降頻處理。在此模塊中主要由一個(gè)幀計(jì)數(shù)器和幀同步寫(xiě)控制兩個(gè)功能,其中幀計(jì)數(shù)器由視頻圖像的場(chǎng)同步進(jìn)行計(jì)數(shù),計(jì)數(shù)滿4后清零,取計(jì)數(shù)值為0的幀的數(shù)據(jù)寫(xiě)入FIFO中,幀同步寫(xiě)控制用來(lái)確保第一個(gè)寫(xiě)的數(shù)據(jù)是一幀數(shù)據(jù)的開(kāi)頭。SDRAM狀態(tài)控制模塊完成SDRAM的控制功能,主要包括初始化和讀寫(xiě)控制。系統(tǒng)上電或復(fù)位后對(duì)SDRAM初始化一次,這里SDRAM的系統(tǒng)時(shí)鐘設(shè)在133 MHz,突發(fā)長(zhǎng)度設(shè)為8。SDRAM讀、寫(xiě)用狀態(tài)機(jī)來(lái)控制,控制過(guò)程如圖6中數(shù)據(jù)上傳部分所示。
圖6 SDRAM狀態(tài)機(jī)控制流程圖Fig.6 Flow chart of the SDRAM state controlling
圖6中數(shù)據(jù)上傳FIFO和SDRAM的寫(xiě)滿標(biāo)志信號(hào)主要靠計(jì)數(shù)產(chǎn)生,例如處理兩路512×768視頻圖像時(shí),則當(dāng)往FIFO中寫(xiě)數(shù)據(jù)時(shí),寫(xiě)滿512×768×3 bit數(shù)據(jù)時(shí)表示FIFO或SDRAM已寫(xiě)滿[7-9]。數(shù)據(jù)下傳模塊控制過(guò)程如圖6中數(shù)據(jù)下傳部分所示,該模塊將SDRAM讀出的數(shù)據(jù)先放在FIFO中做緩存,由于是從2片SDRAM同時(shí)讀取數(shù)據(jù),因此需開(kāi)2個(gè)FIFO,FIFO大小不小于1 024×24 bit。這里也用了一個(gè)狀態(tài)機(jī)來(lái)控制從這兩個(gè)FIFO讀數(shù),當(dāng)檢測(cè)到第一個(gè)FIFO里面的數(shù)據(jù)個(gè)數(shù)大于或等于512個(gè)時(shí),就開(kāi)始從這個(gè)FIFO把數(shù)讀出,同時(shí)使得輸出視頻數(shù)據(jù)的場(chǎng)有效信號(hào)FVAL和行有效信號(hào)LVAL置高,從第一個(gè)FIFO讀完512個(gè)數(shù)據(jù)后,轉(zhuǎn)到讀取第二個(gè)FIFO,也讀取512個(gè)數(shù)據(jù),讀完第二個(gè)FIFO后,行有效信號(hào)LVAL信號(hào)置低,然后等待512個(gè)時(shí)鐘周期,再轉(zhuǎn)到讀取第一個(gè)FIFO, LVAL信號(hào)再置高,就這樣按上面的方式,一直讀了768次后,FVAL信號(hào)置低,接下來(lái)再等待1 420 352個(gè)時(shí)鐘周期,這時(shí)又重復(fù)上面的方式,從而把數(shù)據(jù)組織成1 024×768×24 bit,且?guī)l為25 Hz。這里時(shí)鐘為65 MHz。輸出信號(hào)的時(shí)序圖如圖7所示。
圖5中SDRAM控制器模塊則直接采用altera提供的SDRAM控制器來(lái)完成。
綜上,本系統(tǒng)通過(guò)在FPGA中對(duì)SDRAM時(shí)序的控制很好地實(shí)現(xiàn)了對(duì)雙Tap 100 frame/s視頻圖像的降頻和拼接工作。實(shí)驗(yàn)證明,該方法輸出圖像清晰穩(wěn)定,能有效解決該類(lèi)問(wèn)題。
圖7 系統(tǒng)輸出視頻時(shí)序圖Fig.7 Timing diagram of the system output video
目標(biāo)跟蹤是圖像處理領(lǐng)域研究較早關(guān)注度較高的部分,隨著技術(shù)的不斷進(jìn)步,近些年來(lái)研究出不少基于特征點(diǎn)等新的算法。新的算法一般復(fù)雜度較高,在工程實(shí)際應(yīng)用尤其是需要基于嵌入式系統(tǒng)實(shí)現(xiàn)的過(guò)程中會(huì)受硬件存儲(chǔ)容量和運(yùn)算速度等所限而難以實(shí)現(xiàn)。本系統(tǒng)為了能夠滿足對(duì)100 frame/s視頻的實(shí)時(shí)穩(wěn)定跟蹤要求,采用經(jīng)典的相關(guān)算法做優(yōu)化后實(shí)現(xiàn)。
相關(guān)算法是通過(guò)求取實(shí)時(shí)圖像和預(yù)存模板之間最大相似度完成目標(biāo)跟蹤的。對(duì)一個(gè)二維圖像,相關(guān)函數(shù)可用式(1)表示:
式中:X(j,k)表示實(shí)時(shí)圖,Y(j,k)表示預(yù)存模板??梢钥闯?該算法是一個(gè)乘累加過(guò)程,為了能夠滿足實(shí)時(shí)性要求,本系統(tǒng)在DSP中實(shí)現(xiàn)對(duì)算法進(jìn)行了一系列優(yōu)化。進(jìn)行的優(yōu)化操作主要有用邏輯判斷語(yǔ)句代替if...else....語(yǔ)句,如此則減少了后者跳轉(zhuǎn)指令的延時(shí)間隙;式(1)中在循環(huán)中有平方操作,在此用乘法代替平方操作,以加快運(yùn)算速度;式(1)中有對(duì)模板Y(j,k)求絕對(duì)值累加和的過(guò)程,在模板不更新的情況下,此參數(shù)為定值,本系統(tǒng)中,只在模板做更新時(shí)對(duì)該參數(shù)進(jìn)行計(jì)算,大大減少運(yùn)算量;同時(shí)根據(jù)DSP硬件結(jié)構(gòu)特性,在做for循環(huán)時(shí)變量變化不是從0到N的上升模式,而改為從N到0的降低模式等。經(jīng)過(guò)綜上一系列優(yōu)化處理,該跟蹤算法在本系統(tǒng)中運(yùn)算速度能控制在8 ms之內(nèi),比優(yōu)化前11 ms有明顯提高,能滿足該跟蹤系統(tǒng)對(duì)100 frame/s視頻的實(shí)時(shí)跟蹤[10-12]。
為驗(yàn)證本系統(tǒng)的工作有效性和穩(wěn)定性,在自制板卡上采用幀頻為100 frame/s,像素時(shí)鐘為65 MHz,圖像大小為1 024×768的相機(jī)進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)過(guò)程中手持相機(jī)快速抖動(dòng),以測(cè)試系統(tǒng)跟蹤效果。結(jié)果如圖8所示,可以看出本系統(tǒng)對(duì)目標(biāo)能穩(wěn)定跟蹤。
圖8 實(shí)驗(yàn)結(jié)果圖Fig.8 Figures of experimental results
本文主要針對(duì)視頻幀頻比較高,要求跟蹤算法速度快且圖像數(shù)據(jù)量大,視頻傳輸需降頻處理的問(wèn)題而設(shè)計(jì)了一款基于DSP+FPGA+SDRAM的圖像跟蹤系統(tǒng)。本系統(tǒng)采用FPGA控制SDRAM緩存的方式實(shí)現(xiàn)了圖像的降頻處理,圖像跟蹤算法采用跟蹤效果較好、計(jì)算量較小的相關(guān)跟蹤優(yōu)化后實(shí)現(xiàn)。實(shí)驗(yàn)證明本系統(tǒng)工作穩(wěn)定有效,能夠滿足工程應(yīng)用需求。
參 考 文 獻(xiàn):
[1] 蘇海冰,吳欽章.用SDRAM在高速數(shù)據(jù)采集和存儲(chǔ)系統(tǒng)中實(shí)現(xiàn)海量緩存[J].光學(xué)精密工程,2002,10(5):462-465.Su H B,Wu Q Z.Realization of mass storage by using SDRAM in a high speed data acquisition and storage system [J].Optics and Precision Engineering,2002,10(5):462-465.(in Chinese)
[2] 段曉晨,何小剛,程永強(qiáng).實(shí)時(shí)視頻SDRAM控制器的FPGA設(shè)計(jì)與實(shí)現(xiàn)[J].太原理工大學(xué)學(xué)報(bào),2006,37:5-8.Duan X C,He X G,Cheng Y Q.The design and implement of real-time video SDRAM controller based on FPGA [J].Journal of Taiyuan University of Technology,2006,37:5-8.(in Chinese)
[3] 高文,朱明,劉劍,等.基于DSP+FPGA框架的實(shí)時(shí)目標(biāo)跟蹤系統(tǒng)設(shè)計(jì)[J].液晶與顯示,2014,29(4):611-616.Gao W,Zhu M,Liu J,et al.Design of real-time target tracking system based on DSP+FPGA[J].Chinese Journal of Liquid Crystals and Displays,2014,29(4):611-616.(in Chinese)
[4] 周望瑋,史小軍,朱為,等.基于FPGA的SDRAM讀寫(xiě)雙口控制器設(shè)計(jì)[J].電子器件,2006,29(2):581-584.Zhou W W,Shi X J,Zhu W,et al.Design of double interface controller on SDRAM with FPGA[J].Chinese Journal of Electron Devices,2006,29(2):581-584.(in Chinese)
[5] 唐玉蓉.基于FPGA的高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2012.Tang Y R.Design and implementation of high-speed data acquisition system based on FPGA[D].Beijing:Beijing University of Posts and Telecommunications,2012.(in Chinese)
[6] 李娟.基于FPGA的圖像預(yù)處理及顯示系統(tǒng)的設(shè)計(jì)[D].長(zhǎng)春:中國(guó)科學(xué)院長(zhǎng)春光學(xué)精密機(jī)械與物理研究所,2011.Li J.Design of displaying system and image preprocessing based on FPGA[D].Changchun:Changchun Institute of optics,Fine Mechanics and Physics Chinese Academy of Science,2011.(in Chinese)
[7] 郭敬明,何昕,魏仲慧.基于在線支持向量機(jī)的Mean Shift彩色圖像跟蹤[J].液晶與顯示,2014,29(1):120-128.Guo J M,He X,Wei Z H.New mean shift tracking for color image based on online support vector machine[J].Chinese Journal of Liquid Crystals and Displays,2014,29(1):120-128.(in Chinese)
[8] 薛陳.復(fù)雜環(huán)境下視頻目標(biāo)跟蹤技術(shù)的算法和應(yīng)用研究[D].北京:中國(guó)科學(xué)院研究生院,2010.Xue C.Research on algorithm and application of visual object tracking under complex environment[D].Beijing: Chinese Academy of Sciences,2010.(in Chinese)
[9] Shwartz s,Namer E Y Y,Schechner.Blind haze separation[C].Proceedings of IEEE CVPR,2006:1984-1991.
[10] 李華,朱波.基于FPGA的彩色圖像實(shí)時(shí)采集系統(tǒng)設(shè)計(jì)[J].液晶與顯示,2014,29(2):258-265.Li H,Zhu B.Design of real-time color image acquisition system based on FPGA[J].Chinese Journal of Liquid Crystals and Displays,2014,29(2):258-265.(in Chinese)
[11] Omer I,Werman M.Color lines:image specific color representation[C].IEEEConf.Computer Vision and Pattern Recognition,2004,2:946-953.
[12] 王喆.基于FPGA和SDRAM半實(shí)物仿真系統(tǒng)硬件控制子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2007 Wang Z.Design and implement of hardware control subsystem of hil simulation system based on FPGA and SDRAM[D].Xian:Xidian University,2004.(in Chinese)
Fast image tracking system design based on TMS320C6455+FPGA+SDRAM
HE Bai-gen?,LIU Jian,LIU Wei-ning,HAO Zhi-cheng
(Changchun Institute of Optics,Fine Mechanics and Physics, Chinese Academy of Sciences,Changchun 130033,China)
Image tracking is focused by many researchers,and it has been one of the key technologies of the image processing.With the continuous development of microelectronics technology,it requires more and more for video tracking system in practice,such as theodolite and optical platform of UAV.The current video frame rate of the image tracking system is too low,it has formed large constraints on transmission bandwidth of the servo system.While,there are bottlenecks on transmission using high frame rate.In order to solve the above problems,this paper designed a image tracking system based on TMS320+FPGA+SDRAM.In this system,the data of image output are send out after SDRAM controlled by FPGA cached,so that the video frame rate becomes low,and it can be realtime tracked and displayed.In order to meet the requirements of real-time tracking for 100 frame/s video,this paper make the correlation algorithm further simplified.Experimental results show that this system can work effectively and stably,and it can meet the actual needs of the project.
target tracking;TMS320C6455;SDRAM;image processing
TP394.1;TH691.9
A
10.3788/YJYXS20142906.1111
1007-2780(2014)06-1111-06
2014-05-15;
2014-06-17.
國(guó)家高技術(shù)研究發(fā)展計(jì)劃(No.863計(jì)劃)(No.2005AA778032)
?通信聯(lián)系人,E-mail:hebaigen@sohu.com
賀柏根(1983-),男,山西平遙人,工學(xué)博士,助理研究員,主要從事視頻跟蹤、景象匹配、圖像處理等方面的研究。E-mail:hebaigen@sohu.com劉 劍(1973-),男,吉林長(zhǎng)春人,工學(xué)學(xué)士,高級(jí)工程師,主要從事圖像處理方面研究。郝志成(1978-),男,遼寧營(yíng)口人,工學(xué)博士,副研究員,主要從事圖像跟蹤、目標(biāo)識(shí)別方面研究。