當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]TMS320DM642在機(jī)器視覺中的應(yīng)用研究

目前,一般機(jī)器視覺信息處理平臺(tái)主要有(1)基于通用PC :主要是用軟件實(shí)現(xiàn)圖像處理和識(shí)別,能夠提供中等的圖像處理和識(shí)別能力,但是要占用CPU過(guò)多的處理能力;(2)基于通用DSP芯片:優(yōu)點(diǎn)是設(shè)計(jì)簡(jiǎn)便、靈活,特別適合于新型產(chǎn)品的研究開發(fā);(3)基于可編程FPGA:采用的是硬件描述語(yǔ)言(VHDL),用其開發(fā)圖像處理算法難度較大。
機(jī)器視覺中,圖像處理與識(shí)別技術(shù)的特點(diǎn)是處理的數(shù)據(jù)量大,計(jì)算復(fù)雜,計(jì)算中間結(jié)果精度要求高,具有大量的乘法運(yùn)算,并且在實(shí)現(xiàn)機(jī)器人視覺方面實(shí)時(shí)性要求較高;而DSP具有運(yùn)算速度快,精度高,有專門的硬件乘法器,可實(shí)現(xiàn)單周期乘法與累加的運(yùn)算等特點(diǎn),所以特別適合運(yùn)用在對(duì)實(shí)時(shí)性要求較高的場(chǎng)合。DM642是TI公司推出的專門用于處理視頻圖像和語(yǔ)音的微處理器,具有速度快,并行處理能力強(qiáng)等特點(diǎn),非常適合于圖像實(shí)時(shí)地處理與識(shí)別。

1 TI DM642 DSP簡(jiǎn)介
DM642是德州儀器(TI)公司最新推出的針對(duì)多媒體處理領(lǐng)域應(yīng)用的DSP。DM642建立在C64x DSP核心架構(gòu)基礎(chǔ)上,采用德州儀器公司開發(fā)的第二代高性能長(zhǎng)指令架構(gòu)VelociTI.2TM,其每個(gè)乘法器對(duì)于每個(gè)時(shí)間周期內(nèi)可執(zhí)行兩個(gè)16位乘以16位的乘法或者四個(gè)8位乘以8位的乘法。另外六個(gè)算術(shù)邏輯單元,在每個(gè)時(shí)間周期內(nèi)可執(zhí)行兩個(gè)16位或8位的加減、比較、移位等運(yùn)算。在并行架構(gòu)下,每個(gè)時(shí)間周期最高可執(zhí)行八個(gè)指令,且在600MHz頻率下,DM642每秒可執(zhí)行24億次16位的乘累加或48億次8位的乘累加。在這種強(qiáng)大運(yùn)算能力下,對(duì)于復(fù)雜度較高與數(shù)據(jù)量較大的視頻編碼以及圖像處理可進(jìn)行實(shí)時(shí)的數(shù)據(jù)運(yùn)算,并提供相關(guān)的指令集,例如圖像與視頻處理庫(kù)(Image and Video Processing Library),讓開發(fā)者能夠更加容易的開發(fā)圖像或視頻的相關(guān)產(chǎn)品[1,2]。
2 系統(tǒng)的總體設(shè)計(jì)思路
由于圖像識(shí)別算法的設(shè)計(jì)需要大量的測(cè)試和分析,而直接在嵌入式環(huán)境下對(duì)其進(jìn)行開發(fā)以及調(diào)試都相對(duì)比較困難,因此,本文針對(duì)DSP開發(fā)圖像識(shí)別算法,總體設(shè)計(jì)思路和開發(fā)步驟為視覺處理的相關(guān)算法首先在PC平臺(tái)上進(jìn)行驗(yàn)證和實(shí)現(xiàn),進(jìn)而移植到DSP平臺(tái)上,并加以優(yōu)化。
2.1 系統(tǒng)的硬件結(jié)構(gòu)設(shè)計(jì)
本文硬件平臺(tái)系統(tǒng)原理框圖如圖1所示:攝像機(jī)選用普通的PAL制式彩色攝像機(jī),解碼芯片采用TVP5150;外擴(kuò)2個(gè)大小為4MX32位的SDRAM。外擴(kuò)的FLASH大小為4MX8位;RS-232電平轉(zhuǎn)換芯片選用TL16C752BPT;TVP5150A是一種超低功耗的NTSC/PAL/SECAM的視頻解碼芯片,可以把NTSC/PAL/SECAM轉(zhuǎn)換成8-bit ITU-R BT.656格式[3,4]。

500)this.style.width=500;" border="0" />

圖1 系統(tǒng)硬件原理圖
2.2 系統(tǒng)的軟件流程設(shè)計(jì)
下面以機(jī)器視覺中比較典型的問(wèn)題――門牌號(hào)識(shí)別為例,介紹DM642在機(jī)器視覺中的應(yīng)用。門牌號(hào)識(shí)別算法主要功能模塊如圖2所示。

500)this.style.width=500;" border="0" />

圖2軟件功能模塊流程圖
3 視覺相關(guān)算法在PC平臺(tái)上的驗(yàn)證與實(shí)現(xiàn)
門牌號(hào)識(shí)別算法方案確定后,需要在PC平臺(tái)上進(jìn)行驗(yàn)證,測(cè)試其實(shí)際效果,調(diào)整相關(guān)參數(shù),為算法移植到DSP平臺(tái)上實(shí)現(xiàn)做好準(zhǔn)備。本文使用集成開發(fā)環(huán)境Visual C++,充分利用微軟基本類庫(kù)(MFC),從而加快開發(fā)速度、提高開發(fā)效率。本文為了測(cè)試識(shí)別算法,開發(fā)了基于MFC的測(cè)試平臺(tái),前端的圖像采集部分主要利用VFW。小波神經(jīng)網(wǎng)絡(luò)的數(shù)字樣本通過(guò)文件菜單加載進(jìn)去,訓(xùn)練后的輸入層到隱含層的權(quán)值保存在wih.txt中,隱含層到輸出層的權(quán)值保存在who.txt中。
4 視覺識(shí)別算法在DSP平臺(tái)上的實(shí)現(xiàn)
在上文算法驗(yàn)證基礎(chǔ)上,可進(jìn)一步實(shí)現(xiàn)基于DM642的門牌識(shí)別系統(tǒng)。根據(jù)PC平臺(tái)與DM642平臺(tái)的不同,程序移植主要注意以下幾個(gè)問(wèn)題[5-7]:
(1)刪除或替換DSP不支持的C函數(shù)[!--empirenews.page--]
PC平臺(tái)上所有使用MFC的代碼一律刪除,因?yàn)镈SP不支持任何MFC的類和對(duì)象。
(2)變量的存取方式調(diào)整
在DM642中程序按段存儲(chǔ),主要包括.text、.cinit、.switch、.bss、.far、.stack、.system等。CCS的C編譯器支持兩種內(nèi)存模式:大內(nèi)存模式和小內(nèi)存模式。不同的內(nèi)存模式影響對(duì).bss段變量的訪問(wèn)。程序中的全局和靜態(tài)變量都分布在.bss段內(nèi),小內(nèi)存模式下其總和不超過(guò)32KB。由于程序的全局變量和靜態(tài)變量已經(jīng)超過(guò)32KB,所以應(yīng)采用大內(nèi)存模式,即在編譯選項(xiàng)中設(shè)置為-ml3。
(3)更改數(shù)據(jù)類型
PC機(jī)平臺(tái)上long型是32位的,而DSP的long型是40位的。因?yàn)镈M642通用寄存器為32位,訪問(wèn)40位數(shù)據(jù)時(shí)需要對(duì)兩個(gè)寄存器進(jìn)行讀寫操作,從節(jié)省程序運(yùn)行時(shí)間的角度考慮,應(yīng)把程序中所有的long型改成INT32或UINT32。
(4)存儲(chǔ)空間的分配
在進(jìn)行存儲(chǔ)空間分配前必須了解芯片內(nèi)外的存儲(chǔ)空間的大小,編譯后的C程序“跑飛”往往是超出存儲(chǔ)區(qū)訪問(wèn)允許范圍造成的;另外,還需注意堆棧的分配,在程序“跑飛”時(shí)注意檢查是否發(fā)生堆棧溢出。
4.1 存儲(chǔ)空間的分配
在本系統(tǒng)中,內(nèi)存空間包括:DM642的256KB字節(jié)的二級(jí)緩存L2,可部分或全部作為SRAM存儲(chǔ)空間,存取速度快;32MB字節(jié)的SDSRAM片外內(nèi)存,存取速度慢。內(nèi)存使用的一個(gè)原則是應(yīng)盡量把數(shù)據(jù)和代碼放入片內(nèi)內(nèi)存。但由于片內(nèi)內(nèi)存容量的限制,往往不可能將所有數(shù)據(jù)和代碼都放入片內(nèi)存,而將編程過(guò)程中頻繁使用的一些關(guān)鍵數(shù)據(jù)(如濾波的模板、圖像二值化的閾值、圖像提取的閾值、門牌傾斜的角度等)放入片內(nèi)保存。片外SDRAM中主要放置圖像數(shù)據(jù)(如圖像采集的數(shù)據(jù)等)。
在本系統(tǒng)程序存儲(chǔ)器的分配中,capChaAYSpace存放采集的圖像的亮度信號(hào)Y;capChaACbSpace存放采集的圖像的色度信號(hào)Cb;capChaACrSpace存放采集的圖像的色度信號(hào)Cr;WEIGHT存放小波神經(jīng)網(wǎng)絡(luò)訓(xùn)練好的權(quán)值;INPUT 存放小波神經(jīng)網(wǎng)絡(luò)輸入值,即特征化后的圖像數(shù)據(jù);tempYbuffer、tempY1buffer和tempY2buffer主要存儲(chǔ)各個(gè)算法模塊處理前和處理后的數(shù)據(jù)。
4.2 系統(tǒng)程序的實(shí)現(xiàn)
程序的實(shí)現(xiàn)部分主要包括圖像采集部分的實(shí)現(xiàn)和圖像處理與識(shí)別算法的實(shí)現(xiàn)。
圖像采集部分的程序是通過(guò)設(shè)置在視頻端口控制寄存器(VPCTL)中的TSI(transport stream interface)位和在視頻捕獲通道控制寄存器(VCxCTL)中的CMODE位以選擇視頻捕獲的模式。本文選擇的是8-Bit ITU-R BT.656捕獲模式,主要是因?yàn)檫x用的解碼芯片TVP5150支持BT.656格式。本文只需要處理YCbCr中的亮度信號(hào)Y。圖像采集部分主要過(guò)程是:PAL攝像頭通過(guò)TVP5105解碼器產(chǎn)生BT656格式的數(shù)據(jù)流,然后通過(guò)EDMA傳送給SDRAM。BT656格式為隔行掃描,每幀實(shí)際圖像大小為720×576,每幀分為奇偶兩場(chǎng),奇場(chǎng)的行數(shù)范圍為0-288,偶場(chǎng)為289-576。為了提高實(shí)時(shí)性;在本文中只取奇場(chǎng)的數(shù)據(jù),即程序只處理0-288行。在識(shí)別算法實(shí)現(xiàn)部分中,本文列出了圖像經(jīng)過(guò)各個(gè)算法功能模塊的結(jié)果。圖像顯示的設(shè)置在CCS中路徑為view->graph->image。
下面以門牌號(hào)523為例說(shuō)明基于DSP的圖像處理的各個(gè)過(guò)程:通過(guò)攝像頭采集原始門牌圖像,其中視頻流采用BT.656標(biāo)準(zhǔn),隔行掃描。每一幀的大小為720×576。在這里只取奇場(chǎng)的數(shù)據(jù),即圖3(a)的大小為720×288,可以看出圖像質(zhì)量并沒有明顯的下降;圖3(b)為二值化后的圖像,主要是根據(jù)直方圖信息選取閾值,具有較好的效果;圖3(c)為傾斜度校正后的圖像;圖3(d)為歸一化后的圖像,此圖像是被放大后的圖像,原圖像的大小為8X16;圖3(e)為特征提取后的結(jié)果,本文主要是把數(shù)組中的數(shù)據(jù)提取出來(lái),然后進(jìn)行編排,從而便于理解。
500)this.style.width=500;" border="0" />

500)this.style.width=500;" border="0" />[!--empirenews.page--]

實(shí)驗(yàn)結(jié)果表明本文設(shè)計(jì)的系統(tǒng)識(shí)別單個(gè)門牌數(shù)字準(zhǔn)確率達(dá)到100%,識(shí)別3個(gè)數(shù)字門牌識(shí)別率為90%以上。
4.3 代碼的優(yōu)化
本文系統(tǒng)中涉及的識(shí)別算法具有數(shù)據(jù)量大,計(jì)算復(fù)雜,二重循環(huán)多等特點(diǎn)。在沒有優(yōu)化前,系統(tǒng)資源利用率低、運(yùn)行速度慢、遠(yuǎn)遠(yuǎn)沒有達(dá)到系統(tǒng)實(shí)時(shí)性的要求。本文通過(guò)代碼優(yōu)化技術(shù)[8]使系統(tǒng)具有較好的實(shí)時(shí)性,具體包括開發(fā)C/C++代碼、優(yōu)化C/C++代碼和編寫線性匯編代碼等幾個(gè)階段。
5 結(jié)束語(yǔ)
本文提出的基于DM642的機(jī)器人視覺系統(tǒng)完成了以下基本功能:
(1)在走廊中實(shí)現(xiàn)機(jī)器人的自定位和目標(biāo)定位功能;
(2)在走廊中可以實(shí)現(xiàn)對(duì)操作者和典型障礙物的識(shí)別功能。
本文的創(chuàng)新點(diǎn)主要體現(xiàn)在以下2個(gè)方面:
(1)實(shí)現(xiàn)了基于DSP平臺(tái)的門牌識(shí)別和優(yōu)化,有效地提高了系統(tǒng)的目標(biāo)的識(shí)別速度;
(2)探索了基于圖像識(shí)別技術(shù)、RFID技術(shù)、傳感器技術(shù)相融合的自主移動(dòng)機(jī)器人的機(jī)器視覺系統(tǒng),這種方法有效地提高了系統(tǒng)的可靠性和魯棒性。
實(shí)際應(yīng)用表明,本文設(shè)計(jì)的機(jī)器視覺系統(tǒng)具有較好的合理性和實(shí)用性。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉