當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]TMS320DM642在機器視覺中的應用研究

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

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

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

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

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

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

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

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

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

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

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

關鍵字: 汽車 人工智能 智能驅動 BSP

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

關鍵字: 亞馬遜 解密 控制平面 BSP

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

關鍵字: 騰訊 編碼器 CPU

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

關鍵字: 華為 12nm EDA 半導體

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

關鍵字: 華為 12nm 手機 衛(wèi)星通信

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

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

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

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

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

關鍵字: BSP 信息技術
關閉
關閉