基于TMS320C6455的視頻動目標(biāo)檢測裝置設(shè)計
摘要:介紹一種基于高速DSP芯片TMS320C6455構(gòu)建的視頻動目標(biāo)檢測裝置,有效地利用6455的大容量內(nèi)存空間等特點,采用EDMA功能實現(xiàn)了高速數(shù)據(jù)傳輸?shù)钠古揖彌_結(jié)構(gòu)設(shè)計,軟件設(shè)計是基于背景更新的動目標(biāo)檢測算法,測試結(jié)果證明該裝置功能完備,實時性好,環(huán)境適應(yīng)性強(qiáng),在實時監(jiān)控等領(lǐng)域有很大的應(yīng)用前景。
關(guān)鍵詞:動目標(biāo)檢測;背景更新;TMS320C6455;SAA7113H
視頻動目標(biāo)檢測與跟蹤技術(shù)是當(dāng)今世界重要的研究課題,它涉及圖像處理、自動控制、計算機(jī)應(yīng)用等學(xué)科,廣泛應(yīng)用于軍事領(lǐng)域的各個方面:預(yù)警、火控、制導(dǎo)等;在民用領(lǐng)域的應(yīng)用也隨著該技術(shù)的日益成熟,以及成本的大幅度下降而逐漸得到越來越廣泛的推廣。
所謂視頻動目標(biāo)檢測裝置是一個可以完成標(biāo)準(zhǔn)制式視頻圖像的采集和處理,從而實現(xiàn)運(yùn)動目標(biāo)識別與跟蹤的智能圖像處理系統(tǒng),這類系統(tǒng)具有運(yùn)行復(fù)雜靈活的算法以及處理大數(shù)據(jù)量視頻圖像的能力,還要求系統(tǒng)具有實時性,同時體積、功耗、穩(wěn)定性等也有較嚴(yán)格的要求。本文從系統(tǒng)設(shè)計的角度出發(fā),采用TI公司的TMS320C6455高速DSP芯片,以FPGA、SAA7113H等高集成度的外圍電路構(gòu)建了一種滿足實時性要求的動目標(biāo)檢測裝置,該裝置體積小、功耗低,在實時監(jiān)控等領(lǐng)域有很大的應(yīng)用前景。
1 系統(tǒng)硬件設(shè)計
1.1 TMS320C6455簡介
TMS3206455是TI公司推出的最新高速DSP,其主要特點是結(jié)構(gòu)上采用了Veloei(VLIW:Very Long Instruction Word)超長指令字內(nèi)核結(jié)構(gòu),最高時鐘頻率為1.2 GHz,每個周期可以同時執(zhí)行8條32 bit的指令,16位定點處理能力可達(dá)到9 600 MIPS/MMACS(16-bits)。片內(nèi)采用2級高速緩存結(jié)構(gòu),其中L2有2 096 K字節(jié)的RAM數(shù)據(jù)空間可供使用,6455還具有強(qiáng)大的外部存儲器接口EMIF,可以連接DDR2等高速外部存儲器,同時集成了高速串行接口SRIO,方便多DSP以及DSP與FPGA之間的數(shù)據(jù)傳輸。這些都可以滿足圖像處理算法產(chǎn)生的海量數(shù)據(jù)對高速交換空間的需求,非常適合作為這類算法的硬件處理平臺。
1.2 系統(tǒng)組成
系統(tǒng)的硬件組成是基于TMS3206455構(gòu)成的數(shù)字圖像處理系統(tǒng),輸入模擬視頻信號經(jīng)圖像解碼器SAA7113H將其解碼為422YUV(CCIR-656)格式碼流,并傳送至FPGA進(jìn)行數(shù)字信號處理。TMS3206455通過EDMA方式從FPGA中實時采集數(shù)字圖像,可以緩存在DSP內(nèi)部或通過EDMA方式存入DDR2中,DSP程序根據(jù)算法提取出運(yùn)動目標(biāo)并進(jìn)行跟蹤。另外系統(tǒng)還利用FPGA和SAA7121H視頻編碼芯片實現(xiàn)了字符的疊加顯示功能,可程控字符、十字絲和目標(biāo)提示框等一系列提示信息的直觀實時顯示。其硬件總體框圖如圖1所示。
1.3 視頻采集
視頻采集芯片選擇Philips公司的視頻解碼SAA7113H,該芯片的主要作用是把輸入的模擬視頻信號解碼成標(biāo)準(zhǔn)的VPO數(shù)字信號,相當(dāng)于視頻A/D器件,由DSP通過I2C總線接口對SAA7113H進(jìn)行初始化設(shè)置,輸出YUV422格式的數(shù)字圖像,每幀720x625個像素。
TMS3206455提供有一個標(biāo)準(zhǔn)的I2C接口,可以直接控制本地的外圍器件(如A/D、D/A等),兼容Philips公司的2.1版本I2C規(guī)范,快速模式的通訊速率可達(dá)400 Kbps,并且支持7位和10位的設(shè)備地址模式。SAA7113H、SAA7121H的硬件配置如圖2所示。
標(biāo)準(zhǔn)的視頻制式有3種:PAL、NTSC和SE-CAM,都采用隔行掃描技術(shù),一幀圖像傳送兩次,分別為奇場圖像和偶場圖像。SAA7113H的輸出也是隔行掃描圖像,一般在圖像檢測處理系統(tǒng)中,只需要采集圖像中間的512x256像素,邊緣像素數(shù)據(jù)可以忽略。即在行有效時,取中間的512個像素的數(shù)據(jù),在奇、偶場圖像分別取中間的256行像素數(shù)據(jù)作為場圖像。為了提高系統(tǒng)實時性,動目標(biāo)檢測裝置在處理過程中采用按場處理(50 Hz)的方式,即在20 ms時間內(nèi)完成對的一場隔行圖像的處理,提高輸出信息的實時性。
1.4 數(shù)字圖像序列導(dǎo)入
數(shù)字圖像的處理主要在DSP中進(jìn)行,為了提高圖像處理的速度,需要借助其強(qiáng)大的EDMA功能。TMS3206455提供由增強(qiáng)型直接存儲器訪問EDMA(Enhanced Direct Memory Address)控制器,無需CPU的參與就能夠完成存儲器映射空間的數(shù)據(jù)傳輸,可以滿足多種海量數(shù)據(jù)交換的處理系統(tǒng)需求。
數(shù)字圖像序列的導(dǎo)入和DSP內(nèi)部存儲均采用了RAM乒乓結(jié)構(gòu)進(jìn)行。在FPGA中主要完成YUV422數(shù)字圖像的乒乓緩存,在DSP中主要完成數(shù)字圖像序列的乒乓處理和循環(huán)存儲,結(jié)構(gòu)組成如圖3所示。
FPGA的圖像乒乓緩存以行(512像素)為單位,依據(jù)FPGA內(nèi)部的RAM資源來確定乒乓緩存空間的大小,利用行同步時鐘(或其分頻信號)來同步實時寫入圖像數(shù)據(jù)。由于DSP的EDMA速度資源空間很大,即使內(nèi)部資源很小的FPGA,只要其內(nèi)部RAM空間超過1 k(512x2像素,2行圖像數(shù)據(jù)),就能夠?qū)崿F(xiàn)該乒乓結(jié)構(gòu)。
DSP則利用時間指針進(jìn)行圖像序列的乒乓循環(huán)存儲和處理,在EDMA實時導(dǎo)入當(dāng)前場的圖像的同時,完成對上場圖像的算法處理。這樣的乒乓結(jié)構(gòu)可以根據(jù)DSP的內(nèi)存空間的大小和算法的需求進(jìn)行合理的設(shè)計,乒乓循環(huán)幀數(shù)n=2,3,4…。
TMS3206455內(nèi)部提供有2 096 K字節(jié)的L2 SRAM空間,除了預(yù)留程序、數(shù)據(jù)存儲、算法空間外,還可以提供至少8場(8x512x256=1 024 KB)圖像的存儲空間,系統(tǒng)還可以備選DDR2作為擴(kuò)展內(nèi)存,為圖像序列的乒乓緩存提供了充足的高速存儲空間支持。
1.5 字符疊加
為了讓觀測者更清楚地了解目標(biāo)的信息,視頻處理裝置通在顯示圖像上實時疊加字符,采用的方法是在圖像上直接進(jìn)行模擬或數(shù)字信號疊加。本裝置的字符疊加采用Philips公司的視頻編碼芯片SAA7121H完成,顯示信息可以通過DSP進(jìn)行動態(tài)控制,保證信息的實時、直觀。
TMS3206455通過I2C總線對SAA7121H進(jìn)行配置,在FPGA中對SAA7113H輸出的YUV視頻信號進(jìn)行處理并提取同步信息,作為后面字符疊加的同步控制信號。需要疊加的字符點陣庫存儲在FLASH中,由DSP控制的實時顯示字符內(nèi)容存儲在FPGA的RAM中;在視頻同步信息的控制下,字符疊加模塊在視頻信號的特定(顯示)位置讀取RAM中的數(shù)據(jù),并將字符點陣與視頻信號進(jìn)行疊加,產(chǎn)生所需的帶字符的視頻。視頻字符疊加過程如圖4所示。
2 動目標(biāo)檢測軟件設(shè)計
動目標(biāo)檢測是對EDMA導(dǎo)入DSP的內(nèi)部數(shù)字圖像序列進(jìn)行處理,從中將移動的目標(biāo)從背景圖像中提取出來,然后進(jìn)行有效分割、狀態(tài)提取、特征匹配、分類排序、置信度決策等,從而實現(xiàn)對運(yùn)動目標(biāo)的跟蹤,提取出動目標(biāo)信息。動目標(biāo)的檢測方法有很多,如幀間差分法、背景差分法和光流法等,這里主要采用基于背景更新的背景差分法來實現(xiàn),算法過程如圖5所示。
2.1 背景圖像的提取與更新
常用的背景更新方法有多幀平均法、選擇更新法、隨機(jī)更新法等,本裝置的背景圖像是基于多幀平均法取得的。在系統(tǒng)開始工作后,首先根據(jù)連續(xù)采集的n幀圖像求平均值獲取原始背景圖像B0(x,y)。
其后的運(yùn)算過程中,使用一階遞歸濾波器對背景圖像進(jìn)行動態(tài)更新處理。
其中,Ik(x,y)表示當(dāng)前幀圖像,Bk(x,y)表示當(dāng)前背景圖像,BK-1(x,y)表示上一幀背景圖像,更新率α取值范圍為0~1。一般地,當(dāng)α較大時,背景差分的結(jié)果更接近于幀間差分法,對背景的變化適應(yīng)較快;而當(dāng)α較小時,背景差分的結(jié)果更接近于傳統(tǒng)的背景差分法,更適合于探測運(yùn)動速度較慢的物體。
2.2 背景圖像差分
動目標(biāo)檢測是檢測當(dāng)前圖像與背景圖像中對應(yīng)像素點的差值,如差值大于設(shè)定閾值,則可判定該像素點屬于動目標(biāo),否則為背景。檢測量取灰度值,計算公式如下。
其中,M(x,y)為動目標(biāo)像素點的集合,I(x,y)表示當(dāng)前圖像中像素點的灰度值,B(x,y)表示背景圖像中對應(yīng)位置像素點的灰度值,T為閾值,要由實驗獲得可行數(shù)據(jù)。
2.3 軟件設(shè)計
動目標(biāo)檢測的軟件設(shè)計是以SAA7113H提供的視頻場信號作為時統(tǒng)參考進(jìn)行處理,按照上述的背景更新和圖像差分的算法基礎(chǔ)進(jìn)行軟件設(shè)計,基本步驟如下:首先建立背景模型,使用背景差分法獲得動目標(biāo)二值像,進(jìn)行目標(biāo)像的形態(tài)學(xué)處理,然后提取出動目標(biāo)的各項特征參數(shù)進(jìn)行排序、匹配,利用多場信息的置信度決策,從而實現(xiàn)動目標(biāo)跟蹤和信息獲取。
動目標(biāo)軟件設(shè)計的流程圖如圖6所示。
3 結(jié)束語
本文采用了TMS320C6455高速DSP和FPGA、SA7113H等器件實現(xiàn)一種動目標(biāo)檢測裝置,測試結(jié)果證明該裝置能夠有效地實現(xiàn)對監(jiān)控場景中的運(yùn)動目標(biāo)進(jìn)行有效檢測,實時性好,集成度高,處理平臺更新?lián)Q代能力強(qiáng),可廣泛應(yīng)用于各種成像監(jiān)控、跟蹤和預(yù)警領(lǐng)域。