《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 仿生眼視覺圖像處理系統(tǒng)
仿生眼視覺圖像處理系統(tǒng)
鄭麗麗,謝少榮,羅 均,山 峰
上海大學(xué) 機電工程與自動化學(xué)院,上海200072
摘要: 為研制仿生眼球,構(gòu)建了一個嵌入式的基于仿生控制的視覺圖像處理系統(tǒng)。根據(jù)仿生眼對視覺系統(tǒng)的要求,設(shè)計了一個以TMS320DM642 DSP為核心,以TVP5150、SAA7121H為編解碼模塊的視覺圖像處理系統(tǒng);實現(xiàn)了仿生眼視覺識別的一系列軟件開發(fā),包括實時圖像采集、視頻圖像處理、視頻輸出及目標(biāo)位置參數(shù)傳遞等功能;在CCS2.2的環(huán)境下,對視覺識別算法進行了探索,用經(jīng)典的Prewitt算法以及改進的Prewitt算法對系統(tǒng)進行實驗測試。
中圖分類號: TP391.41
文獻標(biāo)識碼: A
Visual image processing system of biomimetic eye
ZHENG Li Li,XIE Shao Rong,LUO Jun,SHAN Feng
School of Mechanical and Electronic Engineering and Automation, Shanghai University, Shanghai 200072,China
Abstract: In order to develop a biomimetic eye, an embedded video image processing system based on biomimetic control is established and the hardware, software design process as well as the algorithm design is investigated. Firstly, in accordance with the requirements of the biomimetic eye visual system, a system based on TMS320DM642 DSP, and used TVP5150, SAA7121H for the codec modules is designed. Then after developed a PCB successfully, a series of software development based on visual recognition is realized, including real-time image collecting, video image processing, video output, parameters transfer and so on. Finally, in the environment of CCS2.2, visual recognition algorithm is explored, using classical Prewitt algorithm and improved Prewitt algorithm for the test.
Key words : biomimetic eye;visual image processing;TMS320DM642;prewitt algorithm

    機器人技術(shù)整合了控制論、機械電子、計算機、仿生學(xué)和材料科學(xué)等技術(shù),正在以前所未有的速度走向社會生活的各個領(lǐng)域,如:服務(wù)機器人、仿生機器人、水下機器人、飛行機器人等。目前,在世界各國研制的機器人中,行走、手臂運動等技術(shù)已經(jīng)取得了非常大的成功,而作為重要感知機能之一的視覺功能,一直是學(xué)者們競相研究的熱點。特別是目前重點發(fā)展的服務(wù)機器人、危險環(huán)境作業(yè)機器人、助老助殘機器人等。機器人的運動環(huán)境和自身姿態(tài)的變化以及機體振動等問題對機器人視覺系統(tǒng)提出了更高要求,顛簸環(huán)境中機器人運動視覺問題已是亟待解決的問題。視覺專家從圖像處理和運動控制的角度對這些視覺技術(shù)進行了長期卓有成效的研究,在一定程度上解決了視覺中的基本問題。但機器人視覺系統(tǒng)在實際較惡劣環(huán)境中應(yīng)用時,往往不能平滑穩(wěn)定地跟蹤目標(biāo),會出現(xiàn)跟蹤視頻圖像的跳動、跟蹤目標(biāo)的丟失以及圖像模糊等現(xiàn)象。面對存在的問題,專家們一直在探討本質(zhì)上的解決方法。實際上,人眼就具有這樣的視覺功能。眼球的生理神經(jīng)回路能產(chǎn)生如前庭動眼反射、視動反射、平穩(wěn)追蹤、急動等眼球運動[1],可以解決上述問題。因此,若能從人眼神經(jīng)回路的生理本質(zhì)出發(fā),研制出具有類似人眼機能的仿生眼球系統(tǒng),機器人的視覺技術(shù)將會得到突破性進展。而在仿生眼研究中,類似于人眼視網(wǎng)膜反饋目標(biāo)在視野中的位置偏差、速度偏差的嵌入式機載視頻圖像處理系統(tǒng)的成功研究至關(guān)重要[2]。
    近年來,國內(nèi)外開展了大量對視頻圖像處理系統(tǒng)的研究,主要是針對一定范圍內(nèi)的靜、動態(tài)場景進行監(jiān)控或跟蹤,并應(yīng)用于智能車輛檢測、視頻監(jiān)控、人臉識別、目標(biāo)跟蹤等方面。如文獻[3]成功設(shè)計了一個基于視覺的低空跟蹤系統(tǒng);文獻[4]成功設(shè)計一個基于視頻圖像處理的車輛流量實時檢測系統(tǒng)。調(diào)查研究表明,國內(nèi)外嵌入式機載視頻圖像處理系統(tǒng)的核心處理器多采用DSP、FPGA或者ARM來處理海量的圖像數(shù)據(jù)。其主要采用的結(jié)構(gòu)有單片高性能DSP、FPGA+DSP結(jié)構(gòu)及ARM+FPGA+DSP結(jié)構(gòu)等。文獻[5]設(shè)計了一種單DSP的視頻圖像處理系統(tǒng)。文獻[6]設(shè)計了一種FPGA+DSP結(jié)構(gòu)的視頻圖像處理系統(tǒng)。文獻[7]設(shè)計了一種基于DSP+FPGA+ARM體系結(jié)構(gòu)的嵌入式實時圖像處理系統(tǒng)。這些系統(tǒng)代表了目前嵌入式視頻圖像處理系統(tǒng)的基本類型和主要成果。隨著數(shù)字信號處理器的高速發(fā)展,針對視頻和圖像解決方案而設(shè)計的高性能數(shù)字多媒體處理器TMS320DM642在實時視頻處理領(lǐng)域得到了廣泛應(yīng)用。因此,根據(jù)仿生眼對圖像處理性能的實際要求,可以采用基于單片高性能DSP結(jié)構(gòu)的系統(tǒng)。
    本文設(shè)計的仿生眼嵌入式機載視頻圖像處理系統(tǒng)采用TI公司的TMS320DM642高性能數(shù)字多媒體處理器作為核心處理器,系統(tǒng)實現(xiàn)了實時采集圖像、實時處理圖像、實時輸出目標(biāo)信息、實時顯示等功能,具有針對性強、電路簡單、集成度高、可靠性好等優(yōu)點。此外,本系統(tǒng)實現(xiàn)了對經(jīng)典Prewitt算法及其改進算法的驗證。結(jié)果表明,該系統(tǒng)能夠滿足實時圖像處理系統(tǒng)運算量大、數(shù)據(jù)傳輸率高以及實時性的要求。
1 系統(tǒng)整體結(jié)構(gòu)與硬件設(shè)計
1.1 系統(tǒng)整體框架結(jié)構(gòu)

    系統(tǒng)以TM320DM642為核心,由4個部分組成:視頻采集、圖像處理、視頻輸出、串口通信。系統(tǒng)流程如圖1所示。首先CCD攝像頭采集的視頻圖像,經(jīng)過視頻解碼芯片轉(zhuǎn)化為便于DSP處理的視頻碼流;然后在DSP中設(shè)計合適的視頻圖像處理算法,分割、識別出運動目標(biāo),并計算出目標(biāo)的位置參數(shù);最后將位置參數(shù)通過串口發(fā)送給眼動控制模塊。同時利用視頻編碼芯片編碼DSP輸出的視頻碼流,送到顯示器實時顯示,便于人機交互。


1.2 系統(tǒng)硬件設(shè)計
    系統(tǒng)硬件設(shè)計分為6個模塊:視頻采集模塊、圖像處理模塊、視頻輸出模塊、串口通信模塊、電源時鐘模塊、存儲模塊。其結(jié)構(gòu)圖如圖2所示。


1.2.1 TMS320DM642圖像處理模塊
    TMS320DM642是整個嵌入式系統(tǒng)的核心,它是TI公司推出的一款專用于數(shù)字媒體應(yīng)用的高性能32 bit定點DSP,具有豐富的外設(shè)接口和高速的處理能力,是目前實時視頻處理領(lǐng)域性價比較高的芯片[8]。DM642最高主頻達600 MHz,并行處理指令最高可達每個指令周期處理8條32 bit指令,最大指令處理速度為4 800 MIPS。DM642的高性能主要體現(xiàn)在采用了二級緩存結(jié)構(gòu)和64 bit的EDMA控制器,使其在沒有CPU參與的情況下,進行數(shù)據(jù)搬移,大大提高了程序的運行效率[9]。因此,為提高系統(tǒng)實時性[10],采用EDMA傳輸是必要之舉。此外,DM642具有豐富的外圍接口,其3個可配置的視頻口可以與視頻編解碼芯片進行無縫連接;片內(nèi)64 bit的EMIF接口可以與SDRAM、FLASH 等存儲器無縫連接;利用I2C還可以方便地控制外圍器件等。
    該模塊的主要功能是將輸入的BT.656格式的視頻信號進行中值濾波、圖像分割等預(yù)處理,然后通過目標(biāo)識別算法計算目標(biāo)位置參數(shù),最后將結(jié)果通過串口模塊實時地送給眼動控制模塊,眼動控制模塊再結(jié)合仿生控制率對眼球進行實時控制。由于系統(tǒng)采用EDMA傳輸,大大保證了圖像傳輸?shù)膶崟r性。CPU的開銷主要用于圖像處理的識別算法上。
1.2.2 視頻圖像采集模塊
    視頻圖像采集模塊由CCD攝像頭XL-3130CP4和視頻解碼芯片TVP5150組成,用于實現(xiàn)視頻數(shù)據(jù)的A/D轉(zhuǎn)換。DM642具有3個視頻口,每個視頻口包括A、B 2個通道,每個通道均可配置為輸入或輸出口。本系統(tǒng)將VP0A配置成視頻輸入,VP1A配置成視頻輸出。CCD采集的視頻信號采用PAL制式,即:分辨率為720×576,幀頻為25幀/s。通過TVP5150視頻解碼器將其轉(zhuǎn)換成數(shù)字色差信號(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)和時鐘輸入/輸出線(SCL)組成。TVP5150作為從設(shè)備,TMS320DM642作為I2C總線的主設(shè)備。主設(shè)備初始化TVP5150配置的寫操作步驟如下:(1)DSP產(chǎn)生一個起始條件;(2)DSP發(fā)出一個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)和一路超級視頻(S-Video)。SAA7121的配置也是通過標(biāo)準(zhǔn)的I2C總線完成的,并且只能作為從設(shè)備。顯示器用于實時顯示視頻圖像信息,便于人機交互。
1.2.4 串口通信模塊
    串口通信部分包括TL16C752B和MAX3160。采用TL16C752B作為通用異步收發(fā)器(UART),采用MAX3160將UART接口配置成RS232接口電平標(biāo)準(zhǔn),用于為眼動控制器傳遞參數(shù)。該模塊是視覺識別系統(tǒng)與眼動控制模塊的接口,所傳遞的參數(shù)是目標(biāo)偏離圖像中心的位置信息,眼動控制系統(tǒng)根據(jù)這個參數(shù)實時調(diào)整眼球運動,確保目標(biāo)位于圖像中心。因此,該參數(shù)是整個眼球運動系統(tǒng)的前提。
1.2.5 外部存儲模塊
    外部存儲模塊包括SDRAM和FLASH 2種。TMS320-DM642通過外部存儲器接口EMIFA訪問片外存儲器。EMIFA是一個64 bit的接口,可以實現(xiàn)與多種同步和異步存儲器的無縫連接。系統(tǒng)中,DM642的CE0子空間被作為64 bit的SDRAM接口,SDRAM選用HY57V283220T芯片,用于緩存待處理的圖像數(shù)據(jù);CE1子空間被配置為8 bit的FLASH接口,F(xiàn)LASH選用Am29LV033C芯片,用于存儲DSP的固化程序和系統(tǒng)配置數(shù)據(jù)。
1.2.6 電源和時鐘模塊
    本系統(tǒng)需要3種不同的供電電壓,分別是+3.3 V(外部存儲器、DSP的外部I/O、視頻格式轉(zhuǎn)換電路、通用異步收發(fā)器、時鐘芯片)、+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種時鐘頻率:50 MHz送DSP鎖相環(huán)電路(PLL),倍頻到200 MHz作為DSP芯片的工作時鐘;133 MHz送EMIFA接口,同步擴展外部SDRAM存儲器;30.72 MHz送TL16C752B芯片,為通用異步串行接口通信提供時鐘;14.318 18 MHz送TVP5150A芯片,作為視頻格式轉(zhuǎn)換電路的工作時鐘。
2 系統(tǒng)軟件功能設(shè)計
    系統(tǒng)的軟件功能設(shè)計包括:(1)系統(tǒng)引導(dǎo);(2)初始化。主要包括DM642的初始化、EDMA數(shù)據(jù)傳輸、編解碼芯片的初始化等。DM642的初始化包括片內(nèi)外設(shè)的選擇、EMIF初始化、I2C接口的初始化、視頻口初始化;(3)實現(xiàn)視頻數(shù)據(jù)的采集、數(shù)據(jù)搬移、圖像處理、參數(shù)輸出、實時顯示等功能。系統(tǒng)軟件實現(xiàn)框圖如圖4所示。


    系統(tǒng)上電后,由DSP先從FLASH中加載程序,完成系統(tǒng)初始化及相關(guān)寄存器和外圍器件的配置。由CCD攝像頭采集的視頻圖像傳送到TVP5150解碼器,將視頻模擬信號經(jīng)過A/D轉(zhuǎn)換成BT.656視頻數(shù)據(jù)流,接著送入DM642視頻口;然后視頻口解碼該視頻數(shù)據(jù)流,得到Y(jié)UV(4:2:2)格式的圖像,并通過EDMA傳輸?shù)絊DRAM中存儲。CPU通過訪問SDRAM中的圖像數(shù)據(jù),根據(jù)圖像處理算法對圖像數(shù)據(jù)進行實時處理和計算。一方面將計算結(jié)果通過串口發(fā)送出去,另一方面將視頻數(shù)據(jù)送到SAA7121編碼器,實現(xiàn)D/A轉(zhuǎn)換并實時顯示。
3 圖像處理算法的應(yīng)用
3.1 經(jīng)典Prewitt邊緣檢測算法

    經(jīng)典的Prewitt算子是利用像素點上下、左右鄰點灰度差在邊緣處達到極值檢測邊緣,去掉部分偽邊緣,對噪聲具有平滑作用。其原理是在圖像空間利用2個方向模板與圖像進行鄰域卷積完成。這2個方向模板中一個是垂直梯度方向,檢測水平邊緣;另一個是水平梯度方向,檢測垂直邊緣,如圖5所示。


    Prewitt算法步驟:(1)分別將2個方向模板沿圖像從一個像素移到另一個像素,并將像素的中心與圖像中的某個像素位置重合;(2)將模板內(nèi)的系數(shù)與其圖像上相對應(yīng)的像素值相乘,并將所有相乘的值相加;(3)將兩個卷積的最大值賦給圖像中對應(yīng)模板中心位置的像素,作為該像素新的灰度值;(4)選取合適的閾值,若新像素灰度值大于等于所設(shè)閾值,則判斷該像素點為圖像邊緣點。
3.2 改進的Prewitt邊緣檢測算法
    經(jīng)典的Prewitt邊緣檢測算法只檢測水平和垂直2個方向的邊緣,通常圖像的邊緣還有其他的方向。為了能夠在不影響實時性的前提下將邊緣提取得更精確,本文將Prewitt算子擴張到8個方向的邊緣樣板算子。這些樣板算子由理想的邊緣子圖像構(gòu)成,依次用邊緣樣板去檢測圖像,與被檢測區(qū)域最為相似的樣板給出最大值,用這個最大值作為輸出值,并將此輸出值與所設(shè)的閾值進行比較,大于閾值即為邊緣點,這樣就可以更精確地檢測出邊緣。8個方向的Prewitt邊緣檢測算子模板如圖6所示。8算子樣板對應(yīng)的邊緣方向如圖7所示。


3.3 軟件實現(xiàn)步驟
    本文使用CCS2.2開發(fā)環(huán)境進行軟件開發(fā),采用C語言編程。CCS具有實時、多任務(wù)、可視化的軟件開發(fā)特點。使用CCS提供的工具,可以方便地對DSP軟件進行設(shè)計、編碼、編譯、調(diào)試、跟蹤和實時性分析。系統(tǒng)程序的具體實現(xiàn)步驟為:
    (1)初始化并配置資源庫,包括片內(nèi)外設(shè)的選取,DSP的片上支持庫提供了一系列的C語言程序接口,可以設(shè)置或者控制外設(shè);
    (2)實現(xiàn)對EMIFA的初始化,CE0子空間被配置為64 bit的SDRAM空間,具體定位:0x80000000H-0x81FFF-
FFFH。CE1子空間被配置為8 bit Flash空間,具體定位:0x90000000H-0x9007FFFFH。
    (3)對I2C總線進行初始化;
    (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)對存儲區(qū)數(shù)據(jù)進行算法處理;
    (9)對處理的數(shù)據(jù)使用DAT_copy()函數(shù),送顯存進行顯示。
3.4 實驗結(jié)果
    采用系統(tǒng)在線編程技術(shù),對系統(tǒng)的性能進行測試。為了減少運算量,算法只對圖像的中心部分進行2種算法處理。CCD采集的PAL制式的圖像,對圖像中心的80×100的區(qū)域進行計算。其結(jié)果表明:改進的算法比傳統(tǒng)的算法能提取更多的邊緣細(xì)節(jié),對目標(biāo)識別更有利。在實時性上,傳統(tǒng)算法處理時間為0.02 s,而改進算法的處理時間為0.1 s。因此,該算法具有準(zhǔn)實時性,基本能夠達到仿生眼球?qū)D像識別的要求。
    系統(tǒng)CPU的開銷主要耗費在算法處理上,因此,未來的工作可以針對算法進行不斷改進,以提高系統(tǒng)的實時性。
    本文成功設(shè)計了一個以TMS320DM642為核心的嵌入式視覺圖像處理系統(tǒng),并創(chuàng)新地將其作為仿生眼球的視覺部分嵌入到眼球結(jié)構(gòu)中。系統(tǒng)具有處理速度快、接口簡單、集成度高、電路穩(wěn)定、體積小等優(yōu)點。在此系統(tǒng)上實現(xiàn)了對經(jīng)典的2模板Prewitt算法與改進的8模板算法的邊緣檢測。結(jié)果表明,改進的算法具有精確度高、檢測效果好等優(yōu)點,為視覺識別提供了算法基礎(chǔ)。
參考文獻
[1] 鄒海榮,龔振邦,謝少榮.仿生型機器人眼球運動控制系統(tǒng)建模[J].機器人,2007,29(4):289-294.
[2] 鄒海榮,龔振邦,羅均.仿生眼的研究現(xiàn)狀與發(fā)展趨勢[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]. DSP開發(fā)和應(yīng)用,2007,23(6):157-159.
[6] 朱明,魯劍鋒.基于DSP+FPGA結(jié)構(gòu)圖像處理系統(tǒng)設(shè)計與實現(xiàn)[J].計算機測量與控制,2004,12(9):866-869.
[7] 孫詠.基于ARM和DSP的嵌入式實時圖像處理系統(tǒng)設(shè)計與研究[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ā),秦慶旺,倪國強.基于DM642融合系統(tǒng)的A Trous小波實時圖像融合算法[J].光學(xué)精密工程,2008,16(10).

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。