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