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