基于TI TM320DM642的仿生眼視覺圖像處理系統(tǒng)
2014/3/3 10:40:57
機(jī)器人技術(shù)整合了控制論、機(jī)械電子、計(jì)算機(jī)、仿生學(xué)和材料科學(xué)等技術(shù),正在以前所未有的速度走向社會(huì)生活的各個(gè)領(lǐng)域,如:服務(wù)機(jī)器人、仿生機(jī)器人、水下機(jī)器人、飛行機(jī)器人等。目前,在世界各國(guó)研制的機(jī)器人中,行走、手臂運(yùn)動(dòng)等技術(shù)已經(jīng)取得了非常大的成功,而作為重要感知機(jī)能之一的視覺功能,一直是學(xué)者們競(jìng)相研究的熱點(diǎn)。特別是目前重點(diǎn)發(fā)展的服務(wù)機(jī)器人、危險(xiǎn)環(huán)境作業(yè)機(jī)器人、助老助殘機(jī)器人等。機(jī)器人的運(yùn)動(dòng)環(huán)境和自身姿態(tài)的變化以及機(jī)體振動(dòng)等問題對(duì)機(jī)器人視覺系統(tǒng)提出了更高要求,顛簸環(huán)境中機(jī)器人運(yùn)動(dòng)視覺問題已是亟待解決的問題。視覺專家從圖像處理和運(yùn)動(dòng)控制的角度對(duì)這些視覺技術(shù)進(jìn)行了長(zhǎng)期卓有成效的研究,在一定程度上解決了視覺中的基本問題。但機(jī)器人視覺系統(tǒng)在實(shí)際較惡劣環(huán)境中應(yīng)用時(shí),往往不能平滑穩(wěn)定地跟蹤目標(biāo),會(huì)出現(xiàn)跟蹤視頻圖像的跳動(dòng)、跟蹤目標(biāo)的丟失以及圖像模糊等現(xiàn)象。面對(duì)存在的問題,專家們一直在探討本質(zhì)上的解決方法。實(shí)際上,人眼就具有這樣的視覺功能。眼球的生理神經(jīng)回路能產(chǎn)生如前庭動(dòng)眼反射、視動(dòng)反射、平穩(wěn)追蹤、急動(dòng)等眼球運(yùn)動(dòng)[1],可以解決上述問題。因此,若能從人眼神經(jīng)回路的生理本質(zhì)出發(fā),研制出具有類似人眼機(jī)能的仿生眼球系統(tǒng),機(jī)器人的視覺技術(shù)將會(huì)得到突破性進(jìn)展。而在仿生眼研究中,類似于人眼視網(wǎng)膜反饋目標(biāo)在視野中的位置偏差、速度偏差的嵌入式機(jī)載視頻圖像處理系統(tǒng)的成功研究至關(guān)重要[2]。
近年來,國(guó)內(nèi)外開展了大量對(duì)視頻圖像處理系統(tǒng)的研究,主要是針對(duì)一定范圍內(nèi)的靜、動(dòng)態(tài)場(chǎng)景進(jìn)行監(jiān)控或跟蹤,并應(yīng)用于智能車輛檢測(cè)、視頻監(jiān)控、人臉識(shí)別、目標(biāo)跟蹤等方面。如文獻(xiàn)[3]成功設(shè)計(jì)了一個(gè)基于視覺的低空跟蹤系統(tǒng);文獻(xiàn)[4]成功設(shè)計(jì)一個(gè)基于視頻圖像處理的車輛流量實(shí)時(shí)檢測(cè)系統(tǒng)。調(diào)查研究表明,國(guó)內(nèi)外嵌入式機(jī)載視頻圖像處理系統(tǒng)的核心處理器多采用DSP、FPGA或者ARM來處理海量的圖像數(shù)據(jù)。其主要采用的結(jié)構(gòu)有單片高性能DSP、 FPGA+DSP結(jié)構(gòu)及ARM+FPGA+DSP結(jié)構(gòu)等。文獻(xiàn)[5]設(shè)計(jì)了一種單DSP的視頻圖像處理系統(tǒng)。文獻(xiàn)[6]設(shè)計(jì)了一種FPGA+DSP結(jié)構(gòu)的視頻圖像處理系統(tǒng)。文獻(xiàn)[7]設(shè)計(jì)了一種基于DSP+FPGA+ARM體系結(jié)構(gòu)的嵌入式實(shí)時(shí)圖像處理系統(tǒng)。這些系統(tǒng)代表了目前嵌入式視頻圖像處理系統(tǒng)的基本類型和主要成果。隨著數(shù)字信號(hào)處理器的高速發(fā)展,針對(duì)視頻和圖像解決方案而設(shè)計(jì)的高性能數(shù)字多媒體處理器TMS320DM642在實(shí)時(shí)視頻處理領(lǐng)域得到了廣泛應(yīng)用。因此,根據(jù)仿生眼對(duì)圖像處理性能的實(shí)際要求,可以采用基于單片高性能DSP結(jié)構(gòu)的系統(tǒng)。
本文設(shè)計(jì)的仿生眼嵌入式機(jī)載視頻圖像處理系統(tǒng)采用TI公司的TMS320DM642高性能數(shù)字多媒體處理器作為核心處理器,系統(tǒng)實(shí)現(xiàn)了實(shí)時(shí)采集圖像、實(shí)時(shí)處理圖像、實(shí)時(shí)輸出目標(biāo)信息、實(shí)時(shí)顯示等功能,具有針對(duì)性強(qiáng)、電路簡(jiǎn)單、集成度高、可靠性好等優(yōu)點(diǎn)。此外,本系統(tǒng)實(shí)現(xiàn)了對(duì)經(jīng)典Prewitt算法及其改進(jìn)算法的驗(yàn)證。結(jié)果表明,該系統(tǒng)能夠滿足實(shí)時(shí)圖像處理系統(tǒng)運(yùn)算量大、數(shù)據(jù)傳輸率高以及實(shí)時(shí)性的要求。
1 系統(tǒng)整體結(jié)構(gòu)與硬件設(shè)計(jì)
1.1 系統(tǒng)整體框架結(jié)構(gòu)
系統(tǒng)以TM320DM642為核心,由4個(gè)部分組成:視頻采集、圖像處理、視頻輸出、串口通信。系統(tǒng)流程如圖1所示。首先CCD攝像頭采集的視頻圖像,經(jīng)過視頻解碼芯片轉(zhuǎn)化為便于DSP處理的視頻碼流;然后在DSP中設(shè)計(jì)合適的視頻圖像處理算法,分割、識(shí)別出運(yùn)動(dòng)目標(biāo),并計(jì)算出目標(biāo)的位置參數(shù);最后將位置參數(shù)通過串口發(fā)送給眼動(dòng)控制模塊。同時(shí)利用視頻編碼芯片編碼DSP輸出的視頻碼流,送到顯示器實(shí)時(shí)顯示,便于人機(jī)交互。
1.2 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)硬件設(shè)計(jì)分為6個(gè)模塊:視頻采集模塊、圖像處理模塊、視頻輸出模塊、串口通信模塊、電源時(shí)鐘模塊、存儲(chǔ)模塊。其結(jié)構(gòu)圖如圖2所示。
1.2.1 TMS320DM642圖像處理模塊
TMS320DM642是整個(gè)嵌入式系統(tǒng)的核心,它是TI公司推出的一款專用于數(shù)字媒體應(yīng)用的高性能32 bit定點(diǎn)DSP,具有豐富的外設(shè)接口和高速的處理能力,是目前實(shí)時(shí)視頻處理領(lǐng)域性價(jià)比較高的芯片[8]。DM642最高主頻達(dá)600 MHz,并行處理指令最高可達(dá)每個(gè)指令周期處理8條32 bit指令,最大指令處理速度為4 800 MIPS。DM642的高性能主要體現(xiàn)在采用了二級(jí)緩存結(jié)構(gòu)和64 bit的EDMA控制器,使其在沒有CPU參與的情況下,進(jìn)行數(shù)據(jù)搬移,大大提高了程序的運(yùn)行效率[9]。因此,為提高系統(tǒng)實(shí)時(shí)性[10],采用EDMA 傳輸是必要之舉。此外,DM642具有豐富的外圍接口,其3個(gè)可配置的視頻口可以與視頻編解碼芯片進(jìn)行無縫連接;片內(nèi)64 bit的EMIF接口可以與SDRAM、FLASH 等存儲(chǔ)器無縫連接;利用I2C還可以方便地控制外圍器件等。
該模塊的主要功能是將輸入的BT.656格式的視頻信號(hào)進(jìn)行中值濾波、圖像分割等預(yù)處理,然后通過目標(biāo)識(shí)別算法計(jì)算目標(biāo)位置參數(shù),最后將結(jié)果通過串口模塊實(shí)時(shí)地送給眼動(dòng)控制模塊,眼動(dòng)控制模塊再結(jié)合仿生控制率對(duì)眼球進(jìn)行實(shí)時(shí)控制。由于系統(tǒng)采用EDMA傳輸,大大保證了圖像傳輸?shù)膶?shí)時(shí)性。CPU的開銷主要用于圖像處理的識(shí)別算法上。
1.2.2 視頻圖像采集模塊
視頻圖像采集模塊由CCD攝像頭XL-3130CP4和視頻解碼芯片TVP5150組成,用于實(shí)現(xiàn)視頻數(shù)據(jù)的A/D轉(zhuǎn)換。DM642具有3個(gè)視頻口,每個(gè)視頻口包括A、B 2個(gè)通道,每個(gè)通道均可配置為輸入或輸出口。本系統(tǒng)將VP0A配置成視頻輸入,VP1A配置成視頻輸出。CCD采集的視頻信號(hào)采用PAL制式,即:分辨率為720×576,幀頻為25幀/s。通過TVP5150視頻解碼器將其轉(zhuǎn)換成數(shù)字色差信號(hào)(YUV4:2:2),輸出格式為ITU-R BT.656,輸入到VP0A口。DM642支持BT.656格式的視頻數(shù)據(jù)流的輸入格式,能與TVP5150的視頻數(shù)據(jù)流無縫連接。視頻編解碼器與 DSP的連接框圖如圖3所示。
TVP5150的配置是通過標(biāo)準(zhǔn)的I2C總線完成的。I2C標(biāo)準(zhǔn)總線由串行數(shù)據(jù)輸入/輸出線(SDA)和時(shí)鐘輸入/輸出線(SCL)組成。TVP5150作為從設(shè)備,TMS320DM642作為I2C總線的主設(shè)備。主設(shè)備初始化TVP5150配置的寫操作步驟如下: (1)DSP產(chǎn)生一個(gè)起始條件;(2)DSP發(fā)出一個(gè)TVP5150的地址(0xBA或0Xb8),并表明寫操作,等待TVP5150響應(yīng);(3)接收到 TVP5150的響應(yīng)后,DSP發(fā)出要配置寄存器地址,等待TVP5150響應(yīng);(4)接收TVP5150的響應(yīng)后,發(fā)送要配置的數(shù)據(jù),等待 TVP5150響應(yīng);(5)接收到TVP5150響應(yīng)后,發(fā)送停止位,結(jié)束一次配置。
1.2.3 視頻圖像輸出模塊
視頻輸出模塊由視頻編碼器SAA7121和顯示器組成。SAA7121支持PAL/NTSC格式的視頻編碼,輸入支持BT.656格式的數(shù)字視頻,輸出為一路復(fù)合視頻(CVBS)和一路超級(jí)視頻(S-Video)。SAA7121的配置也是通過標(biāo)準(zhǔn)的I2C總線完成的,并且只能作為從設(shè)備。顯示器用于實(shí)時(shí)顯示視頻圖像信息,便于人機(jī)交互。
1.2.4 串口通信模塊
串口通信部分包括TL16C752B和MAX3160。采用TL16C752B作為通用異步收發(fā)器(UART),采用MAX3160將UART接口配置成RS232接口電平標(biāo)準(zhǔn),用于為眼動(dòng)控制器傳遞參數(shù)。該模塊是視覺識(shí)別系統(tǒng)與眼動(dòng)控制模塊的接口,所傳遞的參數(shù)是目標(biāo)偏離圖像中心的位置信息,眼動(dòng)控制系統(tǒng)根據(jù)這個(gè)參數(shù)實(shí)時(shí)調(diào)整眼球運(yùn)動(dòng),確保目標(biāo)位于圖像中心。因此,該參數(shù)是整個(gè)眼球運(yùn)動(dòng)系統(tǒng)的前提。
1.2.5 外部存儲(chǔ)模塊
外部存儲(chǔ)模塊包括SDRAM和FLASH 2種。TMS320-DM642通過外部存儲(chǔ)器接口EMIFA訪問片外存儲(chǔ)器。EMIFA是一個(gè)64 bit的接口,可以實(shí)現(xiàn)與多種同步和異步存儲(chǔ)器的無縫連接。系統(tǒng)中,DM642的CE0子空間被作為64 bit的SDRAM接口,SDRAM選用HY57V283220T芯片,用于緩存待處理的圖像數(shù)據(jù);CE1子空間被配置為8 bit的FLASH接口,F(xiàn)LASH選用Am29LV033C芯片,用于存儲(chǔ)DSP的固化程序和系統(tǒng)配置數(shù)據(jù)。
1.2.6 電源和時(shí)鐘模塊
本系統(tǒng)需要3種不同的供電電壓,分別是+3.3 V(外部存儲(chǔ)器、DSP的外部I/O、視頻格式轉(zhuǎn)換電路、通用異步收發(fā)器、時(shí)鐘芯片)、+1.4 V(DSP的內(nèi)核)、+1.8 V(視頻格式轉(zhuǎn)換電路)。采用TPS54310和TPS76718這2款電源芯片。本電源系統(tǒng)中,TPS54310輸入電壓為5 V,一路調(diào)節(jié)成3.3 V,另一路調(diào)節(jié)為1.4 V。TPS54310輸出3.3 V電壓經(jīng)TPS76718固定輸出1.8 V。
本系統(tǒng)共需要4種時(shí)鐘頻率:50 MHz送DSP鎖相環(huán)電路(PLL),倍頻到200 MHz作為DSP芯片的工作時(shí)鐘;133 MHz送EMIFA接口,同步擴(kuò)展外部SDRAM存儲(chǔ)器;30.72 MHz送TL16C752B芯片,為通用異步串行接口通信提供時(shí)鐘;14.318 18 MHz送TVP5150A芯片,作為視頻格式轉(zhuǎn)換電路的工作時(shí)鐘。
2 系統(tǒng)軟件功能設(shè)計(jì)
系統(tǒng)的軟件功能設(shè)計(jì)包括:(1)系統(tǒng)引導(dǎo);(2)初始化。主要包括DM642的初始化、EDMA數(shù)據(jù)傳輸、編解碼芯片的初始化等。DM642的初始化包括片內(nèi)外設(shè)的選擇、EMIF初始化、I2C接口的初始化、視頻口初始化;(3)實(shí)現(xiàn)視頻數(shù)據(jù)的采集、數(shù)據(jù)搬移、圖像處理、參數(shù)輸出、實(shí)時(shí)顯示等功能。系統(tǒng)軟件實(shí)現(xiàn)框圖如圖4所示。
系統(tǒng)上電后,由DSP先從FLASH中加載程序,完成系統(tǒng)初始化及相關(guān)寄存器和外圍器件的配置。由CCD攝像頭采集的視頻圖像傳送到TVP5150解碼器,將視頻模擬信號(hào)經(jīng)過A/D轉(zhuǎn)換成BT.656視頻數(shù)據(jù)流,接著送入DM642視頻口;然后視頻口解碼該視頻數(shù)據(jù)流,得到Y(jié)UV(4:2:2)格式的圖像,并通過EDMA傳輸?shù)絊DRAM中存儲(chǔ)。CPU通過訪問SDRAM中的圖像數(shù)據(jù),根據(jù)圖像處理算法對(duì)圖像數(shù)據(jù)進(jìn)行實(shí)時(shí)處理和計(jì)算。一方面將計(jì)算結(jié)果通過串口發(fā)送出去,另一方面將視頻數(shù)據(jù)送到SAA7121編碼器,實(shí)現(xiàn)D/A轉(zhuǎn)換并實(shí)時(shí)顯示。
3 圖像處理算法的應(yīng)用
3.1 經(jīng)典Prewitt邊緣檢測(cè)算法
經(jīng)典的Prewitt算子是利用像素點(diǎn)上下、左右鄰點(diǎn)灰度差在邊緣處達(dá)到極值檢測(cè)邊緣,去掉部分偽邊緣,對(duì)噪聲具有平滑作用。其原理是在圖像空間利用2 個(gè)方向模板與圖像進(jìn)行鄰域卷積完成。這2個(gè)方向模板中一個(gè)是垂直梯度方向,檢測(cè)水平邊緣;另一個(gè)是水平梯度方向,檢測(cè)垂直邊緣,如圖5所示。
Prewitt算法步驟:(1)分別將2個(gè)方向模板沿圖像從一個(gè)像素移到另一個(gè)像素,并將像素的中心與圖像中的某個(gè)像素位置重合;(2)將模板內(nèi)的系數(shù)與其圖像上相對(duì)應(yīng)的像素值相乘,并將所有相乘的值相加;(3)將兩個(gè)卷積的最大值賦給圖像中對(duì)應(yīng)模板中心位置的像素,作為該像素新的灰度值;(4)選取合適的閾值,若新像素灰度值大于等于所設(shè)閾值,則判斷該像素點(diǎn)為圖像邊緣點(diǎn)。
3.2 改進(jìn)的Prewitt邊緣檢測(cè)算法
經(jīng)典的Prewitt邊緣檢測(cè)算法只檢測(cè)水平和垂直2個(gè)方向的邊緣,通常圖像的邊緣還有其他的方向。為了能夠在不影響實(shí)時(shí)性的前提下將邊緣提取得更精確,本文將Prewitt算子擴(kuò)張到8個(gè)方向的邊緣樣板算子。這些樣板算子由理想的邊緣子圖像構(gòu)成,依次用邊緣樣板去檢測(cè)圖像,與被檢測(cè)區(qū)域最為相似的樣板給出最大值,用這個(gè)最大值作為輸出值,并將此輸出值與所設(shè)的閾值進(jìn)行比較,大于閾值即為邊緣點(diǎn),這樣就可以更精確地檢測(cè)出邊緣。8個(gè)方向的 Prewitt邊緣檢測(cè)算子模板如圖6所示。8算子樣板對(duì)應(yīng)的邊緣方向如圖7所示。
3.3 軟件實(shí)現(xiàn)步驟
本文使用CCS2.2開發(fā)環(huán)境進(jìn)行軟件開發(fā),采用C語(yǔ)言編程。CCS具有實(shí)時(shí)、多任務(wù)、可視化的軟件開發(fā)特點(diǎn)。使用CCS提供的工具,可以方便地對(duì) DSP軟件進(jìn)行設(shè)計(jì)、編碼、編譯、調(diào)試、跟蹤和實(shí)時(shí)性分析。系統(tǒng)程序的具體實(shí)現(xiàn)步驟為:
(1)初始化并配置資源庫(kù),包括片內(nèi)外設(shè)的選取,DSP的片上支持庫(kù)提供了一系列的C語(yǔ)言程序接口,可以設(shè)置或者控制外設(shè);
(2)實(shí)現(xiàn)對(duì)EMIFA的初始化,CE0子空間被配置為64 bit的SDRAM空間,具體定位:0x80000000H-0x81FFF-
FFFH。CE1子空間被配置為8 bit Flash空間,具體定位:0x90000000H-0x9007FFFFH。
(3)對(duì)I2C總線進(jìn)行初始化;
(4)TVP5150和SAA7121的初始化,選擇I2C總線,并設(shè)置為相應(yīng)的數(shù)據(jù)通路;
(5)初始化視頻口Video Port1,設(shè)為視頻輸入;
(6)利用bt656_capture_start()函數(shù)采集一幀圖像,并將其存入顯示緩沖區(qū);
(7)完成一幀圖像的采集,使用DAT_copy()函數(shù)將圖像數(shù)據(jù)送SDRAM暫存;
(8)對(duì)存儲(chǔ)區(qū)數(shù)據(jù)進(jìn)行算法處理;
(9)對(duì)處理的數(shù)據(jù)使用DAT_copy()函數(shù),送顯存進(jìn)行顯示。
3.4 實(shí)驗(yàn)結(jié)果
采用系統(tǒng)在線編程技術(shù),對(duì)系統(tǒng)的性能進(jìn)行測(cè)試。為了減少運(yùn)算量,算法只對(duì)圖像的中心部分進(jìn)行2種算法處理。CCD采集的PAL制式的圖像,對(duì)圖像中心的 80×100的區(qū)域進(jìn)行計(jì)算。其結(jié)果表明:改進(jìn)的算法比傳統(tǒng)的算法能提取更多的邊緣細(xì)節(jié),對(duì)目標(biāo)識(shí)別更有利。在實(shí)時(shí)性上,傳統(tǒng)算法處理時(shí)間為0.02 s,而改進(jìn)算法的處理時(shí)間為0.1 s。因此,該算法具有準(zhǔn)實(shí)時(shí)性,基本能夠達(dá)到仿生眼球?qū)D像識(shí)別的要求。
系統(tǒng)CPU的開銷主要耗費(fèi)在算法處理上,因此,未來的工作可以針對(duì)算法進(jìn)行不斷改進(jìn),以提高系統(tǒng)的實(shí)時(shí)性。
本文成功設(shè)計(jì)了一個(gè)以TMS320DM642為核心的嵌入式視覺圖像處理系統(tǒng),并創(chuàng)新地將其作為仿生眼球的視覺部分嵌入到眼球結(jié)構(gòu)中。系統(tǒng)具有處理速度快、接口簡(jiǎn)單、集成度高、電路穩(wěn)定、體積小等優(yōu)點(diǎn)。在此系統(tǒng)上實(shí)現(xiàn)了對(duì)經(jīng)典的2模板Prewitt算法與改進(jìn)的8模板算法的邊緣檢測(cè)。結(jié)果表明,改進(jìn)的算法具有精確度高、檢測(cè)效果好等優(yōu)點(diǎn),為視覺識(shí)別提供了算法基礎(chǔ)。
參考文獻(xiàn)
[1] 鄒海榮,龔振邦,謝少榮.仿生型機(jī)器人眼球運(yùn)動(dòng)控制系統(tǒng)建模[J].機(jī)器人,2007,29(4):289-294.
[2] 鄒海榮,龔振邦,羅均.仿生眼的研究現(xiàn)狀與發(fā)展趨勢(shì)[J]. 機(jī)器人,2005,27(5):469-474.
[3] 丁衛(wèi),龔振邦,謝少榮,等.基于視覺的低空跟蹤系統(tǒng)[J]. 光學(xué)精密工程,2007,15(6):957-965.
[4] 李筱琳,馮燕,何亦征.基于DSP的圖像旋轉(zhuǎn)算法數(shù)據(jù)調(diào)度策略[J].電子技術(shù)應(yīng)用,2008(1):36-39.
[5] 劉丹,孫麗云,胡偉.基于DM642的視頻處理系統(tǒng)設(shè)計(jì)[J]. DSP開發(fā)和應(yīng)用,2007,23(6):157-159.
[6] 朱明,魯劍鋒.基于DSP+FPGA結(jié)構(gòu)圖像處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2004,12(9):866-869.
[7] 孫詠.基于ARM和DSP的嵌入式實(shí)時(shí)圖像處理系統(tǒng)設(shè)計(jì)與研究[D].浙江:浙江大學(xué),2005.
[8] TI TMS320DM642 video/imaging fixed-point digital signal processor data manual[Z].Texas Instruments Incorporated,2003.
[9] 李方慧,王飛,何佩琨.TMS320C6000系列DSPs原理與應(yīng)用[M].北京:電子工業(yè)出版社,2003.
[10] 許廷發(fā),秦慶旺,倪國(guó)強(qiáng).基于DM642融合系統(tǒng)的A Trous小波實(shí)時(shí)圖像融合算法[J].光學(xué)精密工程,2008,16(10).
作者:鄭麗麗 謝少榮 羅 均 山 峰
來源:電子技術(shù)應(yīng)用
近年來,國(guó)內(nèi)外開展了大量對(duì)視頻圖像處理系統(tǒng)的研究,主要是針對(duì)一定范圍內(nèi)的靜、動(dòng)態(tài)場(chǎng)景進(jìn)行監(jiān)控或跟蹤,并應(yīng)用于智能車輛檢測(cè)、視頻監(jiān)控、人臉識(shí)別、目標(biāo)跟蹤等方面。如文獻(xiàn)[3]成功設(shè)計(jì)了一個(gè)基于視覺的低空跟蹤系統(tǒng);文獻(xiàn)[4]成功設(shè)計(jì)一個(gè)基于視頻圖像處理的車輛流量實(shí)時(shí)檢測(cè)系統(tǒng)。調(diào)查研究表明,國(guó)內(nèi)外嵌入式機(jī)載視頻圖像處理系統(tǒng)的核心處理器多采用DSP、FPGA或者ARM來處理海量的圖像數(shù)據(jù)。其主要采用的結(jié)構(gòu)有單片高性能DSP、 FPGA+DSP結(jié)構(gòu)及ARM+FPGA+DSP結(jié)構(gòu)等。文獻(xiàn)[5]設(shè)計(jì)了一種單DSP的視頻圖像處理系統(tǒng)。文獻(xiàn)[6]設(shè)計(jì)了一種FPGA+DSP結(jié)構(gòu)的視頻圖像處理系統(tǒng)。文獻(xiàn)[7]設(shè)計(jì)了一種基于DSP+FPGA+ARM體系結(jié)構(gòu)的嵌入式實(shí)時(shí)圖像處理系統(tǒng)。這些系統(tǒng)代表了目前嵌入式視頻圖像處理系統(tǒng)的基本類型和主要成果。隨著數(shù)字信號(hào)處理器的高速發(fā)展,針對(duì)視頻和圖像解決方案而設(shè)計(jì)的高性能數(shù)字多媒體處理器TMS320DM642在實(shí)時(shí)視頻處理領(lǐng)域得到了廣泛應(yīng)用。因此,根據(jù)仿生眼對(duì)圖像處理性能的實(shí)際要求,可以采用基于單片高性能DSP結(jié)構(gòu)的系統(tǒng)。
本文設(shè)計(jì)的仿生眼嵌入式機(jī)載視頻圖像處理系統(tǒng)采用TI公司的TMS320DM642高性能數(shù)字多媒體處理器作為核心處理器,系統(tǒng)實(shí)現(xiàn)了實(shí)時(shí)采集圖像、實(shí)時(shí)處理圖像、實(shí)時(shí)輸出目標(biāo)信息、實(shí)時(shí)顯示等功能,具有針對(duì)性強(qiáng)、電路簡(jiǎn)單、集成度高、可靠性好等優(yōu)點(diǎn)。此外,本系統(tǒng)實(shí)現(xiàn)了對(duì)經(jīng)典Prewitt算法及其改進(jìn)算法的驗(yàn)證。結(jié)果表明,該系統(tǒng)能夠滿足實(shí)時(shí)圖像處理系統(tǒng)運(yùn)算量大、數(shù)據(jù)傳輸率高以及實(shí)時(shí)性的要求。
1 系統(tǒng)整體結(jié)構(gòu)與硬件設(shè)計(jì)
1.1 系統(tǒng)整體框架結(jié)構(gòu)
系統(tǒng)以TM320DM642為核心,由4個(gè)部分組成:視頻采集、圖像處理、視頻輸出、串口通信。系統(tǒng)流程如圖1所示。首先CCD攝像頭采集的視頻圖像,經(jīng)過視頻解碼芯片轉(zhuǎn)化為便于DSP處理的視頻碼流;然后在DSP中設(shè)計(jì)合適的視頻圖像處理算法,分割、識(shí)別出運(yùn)動(dòng)目標(biāo),并計(jì)算出目標(biāo)的位置參數(shù);最后將位置參數(shù)通過串口發(fā)送給眼動(dòng)控制模塊。同時(shí)利用視頻編碼芯片編碼DSP輸出的視頻碼流,送到顯示器實(shí)時(shí)顯示,便于人機(jī)交互。
1.2 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)硬件設(shè)計(jì)分為6個(gè)模塊:視頻采集模塊、圖像處理模塊、視頻輸出模塊、串口通信模塊、電源時(shí)鐘模塊、存儲(chǔ)模塊。其結(jié)構(gòu)圖如圖2所示。
1.2.1 TMS320DM642圖像處理模塊
TMS320DM642是整個(gè)嵌入式系統(tǒng)的核心,它是TI公司推出的一款專用于數(shù)字媒體應(yīng)用的高性能32 bit定點(diǎn)DSP,具有豐富的外設(shè)接口和高速的處理能力,是目前實(shí)時(shí)視頻處理領(lǐng)域性價(jià)比較高的芯片[8]。DM642最高主頻達(dá)600 MHz,并行處理指令最高可達(dá)每個(gè)指令周期處理8條32 bit指令,最大指令處理速度為4 800 MIPS。DM642的高性能主要體現(xiàn)在采用了二級(jí)緩存結(jié)構(gòu)和64 bit的EDMA控制器,使其在沒有CPU參與的情況下,進(jìn)行數(shù)據(jù)搬移,大大提高了程序的運(yùn)行效率[9]。因此,為提高系統(tǒng)實(shí)時(shí)性[10],采用EDMA 傳輸是必要之舉。此外,DM642具有豐富的外圍接口,其3個(gè)可配置的視頻口可以與視頻編解碼芯片進(jìn)行無縫連接;片內(nèi)64 bit的EMIF接口可以與SDRAM、FLASH 等存儲(chǔ)器無縫連接;利用I2C還可以方便地控制外圍器件等。
該模塊的主要功能是將輸入的BT.656格式的視頻信號(hào)進(jìn)行中值濾波、圖像分割等預(yù)處理,然后通過目標(biāo)識(shí)別算法計(jì)算目標(biāo)位置參數(shù),最后將結(jié)果通過串口模塊實(shí)時(shí)地送給眼動(dòng)控制模塊,眼動(dòng)控制模塊再結(jié)合仿生控制率對(duì)眼球進(jìn)行實(shí)時(shí)控制。由于系統(tǒng)采用EDMA傳輸,大大保證了圖像傳輸?shù)膶?shí)時(shí)性。CPU的開銷主要用于圖像處理的識(shí)別算法上。
1.2.2 視頻圖像采集模塊
視頻圖像采集模塊由CCD攝像頭XL-3130CP4和視頻解碼芯片TVP5150組成,用于實(shí)現(xiàn)視頻數(shù)據(jù)的A/D轉(zhuǎn)換。DM642具有3個(gè)視頻口,每個(gè)視頻口包括A、B 2個(gè)通道,每個(gè)通道均可配置為輸入或輸出口。本系統(tǒng)將VP0A配置成視頻輸入,VP1A配置成視頻輸出。CCD采集的視頻信號(hào)采用PAL制式,即:分辨率為720×576,幀頻為25幀/s。通過TVP5150視頻解碼器將其轉(zhuǎn)換成數(shù)字色差信號(hào)(YUV4:2:2),輸出格式為ITU-R BT.656,輸入到VP0A口。DM642支持BT.656格式的視頻數(shù)據(jù)流的輸入格式,能與TVP5150的視頻數(shù)據(jù)流無縫連接。視頻編解碼器與 DSP的連接框圖如圖3所示。
TVP5150的配置是通過標(biāo)準(zhǔn)的I2C總線完成的。I2C標(biāo)準(zhǔn)總線由串行數(shù)據(jù)輸入/輸出線(SDA)和時(shí)鐘輸入/輸出線(SCL)組成。TVP5150作為從設(shè)備,TMS320DM642作為I2C總線的主設(shè)備。主設(shè)備初始化TVP5150配置的寫操作步驟如下: (1)DSP產(chǎn)生一個(gè)起始條件;(2)DSP發(fā)出一個(gè)TVP5150的地址(0xBA或0Xb8),并表明寫操作,等待TVP5150響應(yīng);(3)接收到 TVP5150的響應(yīng)后,DSP發(fā)出要配置寄存器地址,等待TVP5150響應(yīng);(4)接收TVP5150的響應(yīng)后,發(fā)送要配置的數(shù)據(jù),等待 TVP5150響應(yīng);(5)接收到TVP5150響應(yīng)后,發(fā)送停止位,結(jié)束一次配置。
1.2.3 視頻圖像輸出模塊
視頻輸出模塊由視頻編碼器SAA7121和顯示器組成。SAA7121支持PAL/NTSC格式的視頻編碼,輸入支持BT.656格式的數(shù)字視頻,輸出為一路復(fù)合視頻(CVBS)和一路超級(jí)視頻(S-Video)。SAA7121的配置也是通過標(biāo)準(zhǔn)的I2C總線完成的,并且只能作為從設(shè)備。顯示器用于實(shí)時(shí)顯示視頻圖像信息,便于人機(jī)交互。
1.2.4 串口通信模塊
串口通信部分包括TL16C752B和MAX3160。采用TL16C752B作為通用異步收發(fā)器(UART),采用MAX3160將UART接口配置成RS232接口電平標(biāo)準(zhǔn),用于為眼動(dòng)控制器傳遞參數(shù)。該模塊是視覺識(shí)別系統(tǒng)與眼動(dòng)控制模塊的接口,所傳遞的參數(shù)是目標(biāo)偏離圖像中心的位置信息,眼動(dòng)控制系統(tǒng)根據(jù)這個(gè)參數(shù)實(shí)時(shí)調(diào)整眼球運(yùn)動(dòng),確保目標(biāo)位于圖像中心。因此,該參數(shù)是整個(gè)眼球運(yùn)動(dòng)系統(tǒng)的前提。
1.2.5 外部存儲(chǔ)模塊
外部存儲(chǔ)模塊包括SDRAM和FLASH 2種。TMS320-DM642通過外部存儲(chǔ)器接口EMIFA訪問片外存儲(chǔ)器。EMIFA是一個(gè)64 bit的接口,可以實(shí)現(xiàn)與多種同步和異步存儲(chǔ)器的無縫連接。系統(tǒng)中,DM642的CE0子空間被作為64 bit的SDRAM接口,SDRAM選用HY57V283220T芯片,用于緩存待處理的圖像數(shù)據(jù);CE1子空間被配置為8 bit的FLASH接口,F(xiàn)LASH選用Am29LV033C芯片,用于存儲(chǔ)DSP的固化程序和系統(tǒng)配置數(shù)據(jù)。
1.2.6 電源和時(shí)鐘模塊
本系統(tǒng)需要3種不同的供電電壓,分別是+3.3 V(外部存儲(chǔ)器、DSP的外部I/O、視頻格式轉(zhuǎn)換電路、通用異步收發(fā)器、時(shí)鐘芯片)、+1.4 V(DSP的內(nèi)核)、+1.8 V(視頻格式轉(zhuǎn)換電路)。采用TPS54310和TPS76718這2款電源芯片。本電源系統(tǒng)中,TPS54310輸入電壓為5 V,一路調(diào)節(jié)成3.3 V,另一路調(diào)節(jié)為1.4 V。TPS54310輸出3.3 V電壓經(jīng)TPS76718固定輸出1.8 V。
本系統(tǒng)共需要4種時(shí)鐘頻率:50 MHz送DSP鎖相環(huán)電路(PLL),倍頻到200 MHz作為DSP芯片的工作時(shí)鐘;133 MHz送EMIFA接口,同步擴(kuò)展外部SDRAM存儲(chǔ)器;30.72 MHz送TL16C752B芯片,為通用異步串行接口通信提供時(shí)鐘;14.318 18 MHz送TVP5150A芯片,作為視頻格式轉(zhuǎn)換電路的工作時(shí)鐘。
2 系統(tǒng)軟件功能設(shè)計(jì)
系統(tǒng)的軟件功能設(shè)計(jì)包括:(1)系統(tǒng)引導(dǎo);(2)初始化。主要包括DM642的初始化、EDMA數(shù)據(jù)傳輸、編解碼芯片的初始化等。DM642的初始化包括片內(nèi)外設(shè)的選擇、EMIF初始化、I2C接口的初始化、視頻口初始化;(3)實(shí)現(xiàn)視頻數(shù)據(jù)的采集、數(shù)據(jù)搬移、圖像處理、參數(shù)輸出、實(shí)時(shí)顯示等功能。系統(tǒng)軟件實(shí)現(xiàn)框圖如圖4所示。
系統(tǒng)上電后,由DSP先從FLASH中加載程序,完成系統(tǒng)初始化及相關(guān)寄存器和外圍器件的配置。由CCD攝像頭采集的視頻圖像傳送到TVP5150解碼器,將視頻模擬信號(hào)經(jīng)過A/D轉(zhuǎn)換成BT.656視頻數(shù)據(jù)流,接著送入DM642視頻口;然后視頻口解碼該視頻數(shù)據(jù)流,得到Y(jié)UV(4:2:2)格式的圖像,并通過EDMA傳輸?shù)絊DRAM中存儲(chǔ)。CPU通過訪問SDRAM中的圖像數(shù)據(jù),根據(jù)圖像處理算法對(duì)圖像數(shù)據(jù)進(jìn)行實(shí)時(shí)處理和計(jì)算。一方面將計(jì)算結(jié)果通過串口發(fā)送出去,另一方面將視頻數(shù)據(jù)送到SAA7121編碼器,實(shí)現(xiàn)D/A轉(zhuǎn)換并實(shí)時(shí)顯示。
3 圖像處理算法的應(yīng)用
3.1 經(jīng)典Prewitt邊緣檢測(cè)算法
經(jīng)典的Prewitt算子是利用像素點(diǎn)上下、左右鄰點(diǎn)灰度差在邊緣處達(dá)到極值檢測(cè)邊緣,去掉部分偽邊緣,對(duì)噪聲具有平滑作用。其原理是在圖像空間利用2 個(gè)方向模板與圖像進(jìn)行鄰域卷積完成。這2個(gè)方向模板中一個(gè)是垂直梯度方向,檢測(cè)水平邊緣;另一個(gè)是水平梯度方向,檢測(cè)垂直邊緣,如圖5所示。
Prewitt算法步驟:(1)分別將2個(gè)方向模板沿圖像從一個(gè)像素移到另一個(gè)像素,并將像素的中心與圖像中的某個(gè)像素位置重合;(2)將模板內(nèi)的系數(shù)與其圖像上相對(duì)應(yīng)的像素值相乘,并將所有相乘的值相加;(3)將兩個(gè)卷積的最大值賦給圖像中對(duì)應(yīng)模板中心位置的像素,作為該像素新的灰度值;(4)選取合適的閾值,若新像素灰度值大于等于所設(shè)閾值,則判斷該像素點(diǎn)為圖像邊緣點(diǎn)。
3.2 改進(jìn)的Prewitt邊緣檢測(cè)算法
經(jīng)典的Prewitt邊緣檢測(cè)算法只檢測(cè)水平和垂直2個(gè)方向的邊緣,通常圖像的邊緣還有其他的方向。為了能夠在不影響實(shí)時(shí)性的前提下將邊緣提取得更精確,本文將Prewitt算子擴(kuò)張到8個(gè)方向的邊緣樣板算子。這些樣板算子由理想的邊緣子圖像構(gòu)成,依次用邊緣樣板去檢測(cè)圖像,與被檢測(cè)區(qū)域最為相似的樣板給出最大值,用這個(gè)最大值作為輸出值,并將此輸出值與所設(shè)的閾值進(jìn)行比較,大于閾值即為邊緣點(diǎn),這樣就可以更精確地檢測(cè)出邊緣。8個(gè)方向的 Prewitt邊緣檢測(cè)算子模板如圖6所示。8算子樣板對(duì)應(yīng)的邊緣方向如圖7所示。
3.3 軟件實(shí)現(xiàn)步驟
本文使用CCS2.2開發(fā)環(huán)境進(jìn)行軟件開發(fā),采用C語(yǔ)言編程。CCS具有實(shí)時(shí)、多任務(wù)、可視化的軟件開發(fā)特點(diǎn)。使用CCS提供的工具,可以方便地對(duì) DSP軟件進(jìn)行設(shè)計(jì)、編碼、編譯、調(diào)試、跟蹤和實(shí)時(shí)性分析。系統(tǒng)程序的具體實(shí)現(xiàn)步驟為:
(1)初始化并配置資源庫(kù),包括片內(nèi)外設(shè)的選取,DSP的片上支持庫(kù)提供了一系列的C語(yǔ)言程序接口,可以設(shè)置或者控制外設(shè);
(2)實(shí)現(xiàn)對(duì)EMIFA的初始化,CE0子空間被配置為64 bit的SDRAM空間,具體定位:0x80000000H-0x81FFF-
FFFH。CE1子空間被配置為8 bit Flash空間,具體定位:0x90000000H-0x9007FFFFH。
(3)對(duì)I2C總線進(jìn)行初始化;
(4)TVP5150和SAA7121的初始化,選擇I2C總線,并設(shè)置為相應(yīng)的數(shù)據(jù)通路;
(5)初始化視頻口Video Port1,設(shè)為視頻輸入;
(6)利用bt656_capture_start()函數(shù)采集一幀圖像,并將其存入顯示緩沖區(qū);
(7)完成一幀圖像的采集,使用DAT_copy()函數(shù)將圖像數(shù)據(jù)送SDRAM暫存;
(8)對(duì)存儲(chǔ)區(qū)數(shù)據(jù)進(jìn)行算法處理;
(9)對(duì)處理的數(shù)據(jù)使用DAT_copy()函數(shù),送顯存進(jìn)行顯示。
3.4 實(shí)驗(yàn)結(jié)果
采用系統(tǒng)在線編程技術(shù),對(duì)系統(tǒng)的性能進(jìn)行測(cè)試。為了減少運(yùn)算量,算法只對(duì)圖像的中心部分進(jìn)行2種算法處理。CCD采集的PAL制式的圖像,對(duì)圖像中心的 80×100的區(qū)域進(jìn)行計(jì)算。其結(jié)果表明:改進(jìn)的算法比傳統(tǒng)的算法能提取更多的邊緣細(xì)節(jié),對(duì)目標(biāo)識(shí)別更有利。在實(shí)時(shí)性上,傳統(tǒng)算法處理時(shí)間為0.02 s,而改進(jìn)算法的處理時(shí)間為0.1 s。因此,該算法具有準(zhǔn)實(shí)時(shí)性,基本能夠達(dá)到仿生眼球?qū)D像識(shí)別的要求。
系統(tǒng)CPU的開銷主要耗費(fèi)在算法處理上,因此,未來的工作可以針對(duì)算法進(jìn)行不斷改進(jìn),以提高系統(tǒng)的實(shí)時(shí)性。
本文成功設(shè)計(jì)了一個(gè)以TMS320DM642為核心的嵌入式視覺圖像處理系統(tǒng),并創(chuàng)新地將其作為仿生眼球的視覺部分嵌入到眼球結(jié)構(gòu)中。系統(tǒng)具有處理速度快、接口簡(jiǎn)單、集成度高、電路穩(wěn)定、體積小等優(yōu)點(diǎn)。在此系統(tǒng)上實(shí)現(xiàn)了對(duì)經(jīng)典的2模板Prewitt算法與改進(jìn)的8模板算法的邊緣檢測(cè)。結(jié)果表明,改進(jìn)的算法具有精確度高、檢測(cè)效果好等優(yōu)點(diǎn),為視覺識(shí)別提供了算法基礎(chǔ)。
參考文獻(xiàn)
[1] 鄒海榮,龔振邦,謝少榮.仿生型機(jī)器人眼球運(yùn)動(dòng)控制系統(tǒng)建模[J].機(jī)器人,2007,29(4):289-294.
[2] 鄒海榮,龔振邦,羅均.仿生眼的研究現(xiàn)狀與發(fā)展趨勢(shì)[J]. 機(jī)器人,2005,27(5):469-474.
[3] 丁衛(wèi),龔振邦,謝少榮,等.基于視覺的低空跟蹤系統(tǒng)[J]. 光學(xué)精密工程,2007,15(6):957-965.
[4] 李筱琳,馮燕,何亦征.基于DSP的圖像旋轉(zhuǎn)算法數(shù)據(jù)調(diào)度策略[J].電子技術(shù)應(yīng)用,2008(1):36-39.
[5] 劉丹,孫麗云,胡偉.基于DM642的視頻處理系統(tǒng)設(shè)計(jì)[J]. DSP開發(fā)和應(yīng)用,2007,23(6):157-159.
[6] 朱明,魯劍鋒.基于DSP+FPGA結(jié)構(gòu)圖像處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2004,12(9):866-869.
[7] 孫詠.基于ARM和DSP的嵌入式實(shí)時(shí)圖像處理系統(tǒng)設(shè)計(jì)與研究[D].浙江:浙江大學(xué),2005.
[8] TI TMS320DM642 video/imaging fixed-point digital signal processor data manual[Z].Texas Instruments Incorporated,2003.
[9] 李方慧,王飛,何佩琨.TMS320C6000系列DSPs原理與應(yīng)用[M].北京:電子工業(yè)出版社,2003.
[10] 許廷發(fā),秦慶旺,倪國(guó)強(qiáng).基于DM642融合系統(tǒng)的A Trous小波實(shí)時(shí)圖像融合算法[J].光學(xué)精密工程,2008,16(10).
作者:鄭麗麗 謝少榮 羅 均 山 峰
來源:電子技術(shù)應(yīng)用
提交
查看更多評(píng)論
其他資訊
工業(yè)機(jī)器人控制系統(tǒng)的開放體系結(jié)構(gòu)
工業(yè)機(jī)器人離線編程及無碰撞路徑規(guī)劃系統(tǒng)的開發(fā)研究
工業(yè)機(jī)器人手臂結(jié)構(gòu)的有限元分析與研究
工業(yè)機(jī)器人通用控制器研究開發(fā)
工業(yè)機(jī)器人網(wǎng)絡(luò)控制與編程