馬 炎,徐 曉,孫靈靈
(華南理工大學(xué) 物理與光電學(xué)院,廣東 廣州 510640)
基于DM642的結(jié)構(gòu)光圖像中心線提取
馬 炎,徐 曉,孫靈靈
(華南理工大學(xué) 物理與光電學(xué)院,廣東 廣州 510640)
提出了一種基于DM642的中心線提取算法,針對(duì)TMS320DM642嵌入式平臺(tái)的特性,采用3×3最亮鄰接點(diǎn)加權(quán)平均法提取結(jié)構(gòu)光帶中心線,并對(duì)其進(jìn)行優(yōu)化。該方法與其他一些基于MATLAB的傳統(tǒng)中心線提取算法相比,不僅提高了提取速度和精度,而且大大減少了類似模板法等需用的卷積運(yùn)算量,實(shí)時(shí)性好,適合在大數(shù)據(jù)量背景下的嵌入式平臺(tái)應(yīng)用,通過(guò)圖像處理板卡的PCI接口,可以方便地實(shí)現(xiàn)處理數(shù)據(jù)的及時(shí)上傳。
TMS320DM642;結(jié)構(gòu)光圖像;中心線提??;加權(quán)平均;PCI通信;優(yōu)化
隨著測(cè)控技術(shù)及數(shù)字圖像處理技術(shù)的發(fā)展,基于三角法線結(jié)構(gòu)光的三維測(cè)量以其非接觸、高精度、實(shí)時(shí)性及強(qiáng)主動(dòng)受控性在現(xiàn)實(shí)中有著廣泛的應(yīng)用,尤其在計(jì)算機(jī)視覺(jué)、工業(yè)檢測(cè)、醫(yī)療診斷等領(lǐng)域,應(yīng)用價(jià)值日益增強(qiáng)。在結(jié)構(gòu)光檢測(cè)系統(tǒng)中,利用工業(yè)相機(jī)或者CCD相機(jī)攝取線結(jié)構(gòu)平面激光照射在物體表面所形成的光條中心量信息圖像,根據(jù)光條中心偏移量進(jìn)行三維定標(biāo),這樣可以得到諸如物體表面面型缺陷等信息量。鑒于此,線結(jié)構(gòu)光條中心信息的圖像處理在這一測(cè)量過(guò)程中就顯得尤為關(guān)鍵[1-3]。比較流行的結(jié)構(gòu)光中心線的提取方法有灰度重心法、方向模板法、Hessian矩陣法等,這些方法各自有著一定的應(yīng)用范圍,但在大數(shù)據(jù)量、高精度、強(qiáng)實(shí)時(shí)性等要求下,上述方法各有劣勢(shì),不能滿足越來(lái)越復(fù)雜的現(xiàn)代檢測(cè)任務(wù)。本文主要研究基于TMS320DM642(以下簡(jiǎn)稱DM642)嵌入式平臺(tái)的結(jié)構(gòu)光中心線提取算法,采用取光帶圖像上的灰度值最大點(diǎn)及其鄰接點(diǎn)進(jìn)行加權(quán)平均,能比較明顯地提高提取速度和精度,結(jié)合DM642的特性對(duì)算法進(jìn)行優(yōu)化,能比較好地適應(yīng)嵌入式系統(tǒng)的要求[4]。另外,在現(xiàn)代數(shù)據(jù)圖像處理實(shí)時(shí)性要求越來(lái)越高的背景下,通過(guò)采用圖像處理板卡自帶的PCI接口可以很好地滿足與上位機(jī)(PC機(jī))的高速通信及大數(shù)據(jù)量的存儲(chǔ)要求。
DM642結(jié)構(gòu)光中心線提取系統(tǒng)采用TI公司性能強(qiáng)大的DSP芯片-TMS320DM642[5]及其外圍器件,由數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)顯示3個(gè)模塊構(gòu)成,如圖1所示,DM642主頻可達(dá)720 MHz、針對(duì)多媒體處理的32位定點(diǎn)DSP處理器,其高達(dá)4 800 MIPS(兆指令每秒)的指令周期速度保證了出色的運(yùn)算能力。此外,它還擁有3個(gè)可配置的視頻外設(shè)接口VP0,VP1,VP2,能方便地對(duì)視頻數(shù)據(jù)進(jìn)行采集處理。數(shù)據(jù)采集模塊是由CCD攝像機(jī)和TVP5150視頻解碼器組成,該部分負(fù)責(zé)將視頻數(shù)據(jù)轉(zhuǎn)換成DSP能夠處理的YCbCr(其比例為4∶2∶2)格式,數(shù)據(jù)處理模塊由DM642及其外圍器件構(gòu)成,完成數(shù)據(jù)處理任務(wù),數(shù)據(jù)顯示存儲(chǔ)模塊則完成視頻數(shù)據(jù)的顯示和存儲(chǔ)。
如圖1所示,本文的DM642結(jié)構(gòu)光中心線提取系統(tǒng)使用一臺(tái)固定放置的普通彩色CCD攝像機(jī)采集圖像,系統(tǒng)通過(guò)攝像機(jī)獲取含有目標(biāo)結(jié)構(gòu)光帶的圖像,經(jīng)解碼芯片解碼之后傳輸給數(shù)據(jù)處理模塊,DM642先對(duì)包含目標(biāo)光帶的圖像進(jìn)行校正濾波等預(yù)處理,然后進(jìn)行中心線提取,最后將中心線位置信息數(shù)據(jù)通過(guò)PCI接口傳給遠(yuǎn)程終端進(jìn)行后期處理,并將處理后的視頻數(shù)據(jù)傳輸給顯示端。
圖1 DM642結(jié)構(gòu)光中心線提取系統(tǒng)
在實(shí)際測(cè)量中,線激光垂直照射在物體表面,需要找到激光與物體表面理論上無(wú)限薄的輪廓線,這是中心線提取的目的所在。由于CCD攝像機(jī)所拍攝的含有目標(biāo)結(jié)構(gòu)光帶的圖像并不是一條理想的無(wú)限薄的曲線,因此必須采用一定的方法對(duì)圖像進(jìn)行處理,以得到結(jié)構(gòu)光帶的中心線,進(jìn)而通過(guò)坐標(biāo)變換得到該中心線的世界坐標(biāo)[6]。
結(jié)構(gòu)光中心線提取包括圖像采集、圖像濾波及閾值分割、圖像中心線提取、相機(jī)標(biāo)定、結(jié)構(gòu)光帶中心線數(shù)據(jù)計(jì)算等過(guò)程,其中圖像中心線提取算法的實(shí)現(xiàn)是本論文研究的關(guān)鍵,以下將著重介紹該算法流程及其優(yōu)化。
2.1 針對(duì)DM642的算法流程及其優(yōu)化
由DM642處理器的結(jié)構(gòu)[5]可知,DM642對(duì)于并行運(yùn)算和連續(xù)地址的數(shù)據(jù)指令讀取具有很好的CPU效率,而對(duì)于判斷和隨機(jī)地址的數(shù)據(jù)指令讀取則CPU效率較低,所以在該算法中大量采取并行設(shè)計(jì),采用分組加乘這種連續(xù)地址的數(shù)據(jù)處理,盡可能減少程序塊調(diào)用等跳址數(shù)據(jù)讀取運(yùn)算,盡量減少判斷和循環(huán)語(yǔ)句的使用。同時(shí)根據(jù)DM642的兩級(jí)緩存結(jié)構(gòu),合理配置CACHE,提高程序運(yùn)行速度[4]。
在實(shí)際運(yùn)用中,算法的速度及可靠性非常關(guān)鍵,結(jié)合DM642的特性[5],設(shè)計(jì)一種運(yùn)算方案,其流程如圖2所示。
圖2 DM642結(jié)構(gòu)光中心線提取算法流程
在傳統(tǒng)找點(diǎn)過(guò)程中會(huì)用到冒泡算法,需要循環(huán)嵌套和大量判斷,這樣會(huì)造成CPU等待,使程序運(yùn)算效率大大降低,進(jìn)而降低整個(gè)算法效率,為此本文結(jié)合DM642的特性采用圖像宏塊化逐行找點(diǎn),具體做法如下:首先,將采集到的圖像存儲(chǔ)在DM642片外SDRAM中,本文研究過(guò)程中只考慮圖像Y值(即下文中的灰度值)。對(duì)于DM642來(lái)說(shuō),片外SDRAM中的運(yùn)算速度大大低于片內(nèi)SRAM內(nèi)存,因此,將256 kbyte大小的L2中的128 kbyte設(shè)置為二級(jí)緩存。受限于片內(nèi)內(nèi)存的大小,將圖像按行分塊處理,由于DM642自帶強(qiáng)大的EDMA功能,所以不用擔(dān)心數(shù)據(jù)搬移速度,可以認(rèn)為CPU將只進(jìn)行數(shù)據(jù)計(jì)算。在L2 SRAM中構(gòu)造3個(gè)長(zhǎng)度為720的數(shù)組tempY?line、perYline及rowind,然后,將圖像前兩行導(dǎo)入到前兩個(gè)數(shù)組中,perYline用于存儲(chǔ)最終比較結(jié)果,而tempYline用做循環(huán)緩存變量,每次更新一行,相比傳統(tǒng)逐點(diǎn)比較,這種方法每次能并行處理一行720點(diǎn)的比較,這樣就大大節(jié)省了CPU重復(fù)讀取片外內(nèi)存的開(kāi)銷;每次都要將兩者對(duì)應(yīng)位置元素進(jìn)行比較,存儲(chǔ)較大元素于perYline,同時(shí)存入該元素行坐標(biāo)值于rowind中,最終perYline數(shù)組和rowind數(shù)組中的數(shù)據(jù)分別就是每列最大亮點(diǎn)值及其行像素坐標(biāo)。這樣就達(dá)到了數(shù)據(jù)傳輸和處理并行執(zhí)行的目的,節(jié)省了CPU時(shí)間,由于tempYline,perYline,rowind,row,max,subpixeldata數(shù)組屬于常用數(shù)據(jù),將其放到L2的SRAM中會(huì)大大提高數(shù)據(jù)存取速度,因此可以達(dá)到效率優(yōu)化的目的。另外,采用軟件流水線技術(shù)對(duì)算法進(jìn)行優(yōu)化,更進(jìn)一步提高程序執(zhí)行效率。
計(jì)算分為兩步:首先,對(duì)perYline數(shù)組記錄的每個(gè)數(shù)據(jù)找尋其前后相鄰點(diǎn)并記錄下其行坐標(biāo),依次記錄下每列這樣的3個(gè)點(diǎn),將其行坐標(biāo)和灰度值分別存入L2的row數(shù)組及max數(shù)組,這樣做可以提高中心線定位準(zhǔn)確度,有一定的濾波作用;然后,對(duì)數(shù)據(jù)進(jìn)行灰度加權(quán)計(jì)算求得中心線位置坐標(biāo)(具體實(shí)現(xiàn)見(jiàn)下文),由于DM642屬于定點(diǎn)型處理器,計(jì)算中會(huì)出現(xiàn)浮點(diǎn)數(shù),為了保證精度,將浮點(diǎn)數(shù)據(jù)都擴(kuò)大10倍取整,存入32位的subpixeldata數(shù)組,其高16位存儲(chǔ)行坐標(biāo),低16位存儲(chǔ)列坐標(biāo),到此,一幀圖像的中心線提取完成,隨后將其打包上傳。
2.2 結(jié)構(gòu)光帶中心線提取算法
針對(duì)不同實(shí)驗(yàn)環(huán)境、不同灰度值范圍的噪聲點(diǎn),設(shè)置一定的閾值范圍,對(duì)背景噪聲進(jìn)行過(guò)濾,之后得到的圖像中就只剩下一條亮度分布不均勻的二維光帶,其余部分基本是黑色。然后,對(duì)圖像進(jìn)行亮度判斷,根據(jù)判斷結(jié)果將含有二維光帶的區(qū)域劃分出來(lái),記該區(qū)域任一數(shù)據(jù)點(diǎn)P(其像素坐標(biāo)為(x,y))灰度值為G(x,y),對(duì)P進(jìn)行灰度加權(quán)得到其亞像素位置坐標(biāo),具體做法如下
式中:n為一個(gè)可變的參數(shù),可根據(jù)現(xiàn)實(shí)情況及硬件水平進(jìn)行調(diào)整;,為P點(diǎn)的亞像素坐標(biāo),它是在一個(gè)以n為半徑的鄰域內(nèi)通過(guò)將鄰域內(nèi)各點(diǎn)坐標(biāo)求灰度加權(quán)和得到;wi為第i個(gè)像素點(diǎn)的灰度權(quán)值,即。然而,由于光帶圖像中的亮點(diǎn)太多,如果沒(méi)有先找到光帶的中心線位置,直接對(duì)幾萬(wàn)個(gè)像素亮點(diǎn)進(jìn)行式(1)的計(jì)算,計(jì)算量將非常龐大,這也使DSP運(yùn)算開(kāi)銷加大,計(jì)算時(shí)間加長(zhǎng),不利于圖像處理效率的提升,因此,需要先大致確定光帶中心線的位置。為此,對(duì)光帶進(jìn)行如下處理:
1)對(duì)任一xi,找到亮度值最大的點(diǎn)及其前后相鄰兩點(diǎn)P1i,P2i,P3i,它們的縱坐標(biāo)分別為y1i,y2i,y3i;
2)然后,對(duì)Pi(xi,yi)分別運(yùn)用式(1)求得其亞像素坐標(biāo)
2.3 PCI數(shù)據(jù)傳輸[7]
在實(shí)際應(yīng)用中,實(shí)時(shí)處理后的數(shù)據(jù)量比較巨大,DM642的存儲(chǔ)空間有限,并不能最大限度地存儲(chǔ)處理結(jié)果,因此,需要將數(shù)據(jù)存入容量大的主機(jī)硬盤。本實(shí)驗(yàn)所使用的圖像處理板卡自帶PCI接口,將其插入主機(jī)PCI插槽,安裝驅(qū)動(dòng)后即可進(jìn)行數(shù)據(jù)通信,如圖3所示,過(guò)程如下:當(dāng)DM642計(jì)算得到結(jié)果后,將其送入緩存區(qū),在緩存區(qū)打包,PCI主機(jī)一直在請(qǐng)求數(shù)據(jù),如果判斷數(shù)據(jù)準(zhǔn)備好,及時(shí)讀入存盤,文件為dat格式。
圖3 PCI通信流程框架圖
為了驗(yàn)證本算法的運(yùn)算速度及可靠性,本文分別在DM642嵌入式系統(tǒng)平臺(tái)(深圳奇想達(dá)公司的DM642板卡,主芯片是TI公司的TMS320DM642)和PC平臺(tái)(CPU是Intel(R)酷睿雙核)上進(jìn)行了實(shí)驗(yàn)論證,統(tǒng)計(jì)算法運(yùn)行時(shí)間及分析最終提取效果,選擇了平直、折線、曲線這3種結(jié)構(gòu)光帶進(jìn)行試驗(yàn),原圖圖像是由一款數(shù)字視頻CCD攝像機(jī)采集得來(lái)(見(jiàn)部分1),下文具體分析其結(jié)果。
3.1 平直光帶
圖4b是一幅二維平直結(jié)構(gòu)光帶原圖像,尺寸是576×720(下同),由線激光器打出,圖4c及圖4d分別是經(jīng)過(guò)DM642和MATLAB提取后所得的圖像;結(jié)構(gòu)光中心線提取的目標(biāo)是圖中的白色亮光帶。待提取的圖像經(jīng)過(guò)運(yùn)算后得到中心線像素位置的坐標(biāo),實(shí)驗(yàn)表明,每幅圖像的中心線像素位置數(shù)據(jù)幀(大小為2 880 kbyte)上傳速度可達(dá)微秒級(jí),在保證精度的同時(shí)速度完全能達(dá)到實(shí)時(shí)要求。為了精確起見(jiàn),算法分別在兩個(gè)平臺(tái)上對(duì)同一圖像各運(yùn)算15次,如圖4a,利用DM642定時(shí)器TIMER0及MATLAB的TIC-TOC命令分別統(tǒng)計(jì)出算法在DM642和PC上的運(yùn)行時(shí)間,進(jìn)而得到其運(yùn)行速度統(tǒng)計(jì)平均值,相關(guān)統(tǒng)計(jì)見(jiàn)表1。
3.2 折線、曲線光帶
對(duì)于結(jié)構(gòu)較長(zhǎng)較復(fù)雜的折線、曲線混合光帶圖像的處理結(jié)果如圖5所示。圖5a依然是在兩個(gè)平臺(tái)上各處理15次結(jié)果,圖5b是一幅二維帶有折線、曲線的混合結(jié)構(gòu)光帶原圖像,圖5c及圖5d分別是經(jīng)過(guò)DM642和MATLAB最終運(yùn)算所得的圖像,本次實(shí)驗(yàn)結(jié)果相關(guān)統(tǒng)計(jì)如表2所示。
圖4 平直光帶處理結(jié)果
表1 平直光帶處理結(jié)果統(tǒng)計(jì)
圖5 平直光帶處理結(jié)果
表2 平直光帶處理結(jié)果統(tǒng)計(jì)
由以上實(shí)驗(yàn)結(jié)果可看出,在精度上,DM642相比PC端稍好,體現(xiàn)在細(xì)節(jié)表現(xiàn)及提取的平滑度上:由圖4b到圖4d可以看出,對(duì)于結(jié)構(gòu)較簡(jiǎn)單的平直光帶圖,二者的提取效果相差不大,DM642稍好,線型更緊湊,更平滑;然而,由圖5b到圖5d可以看出,對(duì)于結(jié)構(gòu)較復(fù)雜的折線或曲線光帶,DM642要比MATLAB效果稍好,輪廓更接近,細(xì)節(jié)更豐富,這是因?yàn)椴捎肈M642對(duì)算法優(yōu)化使得在運(yùn)算處理時(shí)可以通過(guò)直接取址對(duì)原圖像進(jìn)行操作,而MATLAB中需要讀入原圖,在計(jì)算時(shí)多次進(jìn)行數(shù)值化估約,會(huì)引入一定的誤差,而在運(yùn)行速度上,DM642表現(xiàn)明顯優(yōu)于PC端MATLAB,二者的運(yùn)算速度相差超過(guò)二三十倍,而無(wú)論對(duì)于結(jié)構(gòu)較簡(jiǎn)單的平直光帶或者較復(fù)雜的折線或曲線光帶,DM642在運(yùn)算速度上表現(xiàn)穩(wěn)定,從統(tǒng)計(jì)圖上看起伏不大,而MATLAB卻有較大差異,由此可推知DM642在連續(xù)幀圖像處理上提取穩(wěn)定性優(yōu)于MATLAB。綜合可知,在提取精度上,DM642要比MATLAB效果稍好,而在提取速度上大約是MATLAB的30倍。尤其對(duì)于結(jié)構(gòu)光較長(zhǎng)較復(fù)雜的結(jié)構(gòu)光帶圖,可以推出MATLAB對(duì)于結(jié)構(gòu)較長(zhǎng)、較復(fù)雜的光帶圖在精度上稍差,運(yùn)行開(kāi)銷卻增長(zhǎng)較明顯,而DM642在精度上保持穩(wěn)定(與原圖中心線輪廓位置很接近),運(yùn)行開(kāi)銷卻無(wú)明顯增長(zhǎng),甚至由于針對(duì)DM642的特性對(duì)算法進(jìn)行優(yōu)化后,其運(yùn)行開(kāi)銷反而有少許減少,這說(shuō)明DM642平臺(tái)更適合解決實(shí)際的較復(fù)雜中心線的圖像處理問(wèn)題。
精度和速度是大數(shù)據(jù)量背景下中心線提取方法的核心指標(biāo),本文以DM642中心線提取系統(tǒng)為算法驗(yàn)證平臺(tái),針對(duì)嵌入式系統(tǒng)對(duì)中心線提取算法進(jìn)行研究,提出了一種基于3× 3最亮鄰接點(diǎn)加權(quán)平均的算法,并根據(jù)DM642處理器平臺(tái)的特性對(duì)之進(jìn)行改進(jìn)和優(yōu)化,由實(shí)驗(yàn)結(jié)果可以看出,該算法對(duì)結(jié)構(gòu)光帶中心線提取具有良好的效果,較之其他算法平滑性較好,精度也有一定的保證,尤其是DM642上的運(yùn)算速度與傳統(tǒng)算法相比提高了很多,這是實(shí)現(xiàn)結(jié)構(gòu)光帶中心線實(shí)時(shí)提取的關(guān)鍵一環(huán),實(shí)驗(yàn)顯示該算法能夠很好地適應(yīng)嵌入式平臺(tái)。同時(shí)本方法也有一定的局限性:首先,該方法對(duì)結(jié)構(gòu)光帶的結(jié)構(gòu)有一定要求,對(duì)于曲度較復(fù)雜的結(jié)構(gòu)光,其處理結(jié)果相對(duì)較差;其次,若結(jié)構(gòu)光帶寬度較大,光強(qiáng)橫向分布均勻,則該方法精度可能達(dá)不到要求,這些也將是下一步需要研究的內(nèi)容。
[1]ZHANG S,HUANG P S.High-resolution real-time three-dimen?sional shape measurement[J].Optical Engineering,2006,12(45):1-8.[2]NAESSET E,NELSON R.Using airborne laser scanning to moni?tor tree migration in the boreal-alpine transition zone[J].Remote Sensing of Environment,2007,11(3):357-369.
[3]李瑩瑩,張志毅,袁林.線結(jié)構(gòu)光光條中心提取綜述[J].激光與光電子學(xué)進(jìn)展,2013(10):13-22.
[4] 徐曉,趙林獻(xiàn).基于DM642的雙目三維重建[J].電視技術(shù),2013,37(11):206-209.
[5] TI.TMS320DM642 Video Imaging Fixed-Point Digital Signal Pro?cessor[Z].[S.l.]:Texas Instruments Incorporated,2004.
[6]孫哲明.光帶圖像處理算法及在DSP開(kāi)發(fā)環(huán)境下的程序設(shè)計(jì)研究[D].天津:天津大學(xué),2007.
[7]馬姝琳,鐘先信,姚富光.基于DM642EVM的PCI總線實(shí)時(shí)數(shù)據(jù)通信技術(shù)[J].光學(xué)精密工程,2005(S1):196-200.
馬 炎,碩士生,主研DSP下的圖像處理算法及應(yīng)用;
徐 曉,碩士生導(dǎo)師,主要從事機(jī)器視覺(jué)與人機(jī)工程的研究、工程開(kāi)發(fā)和教學(xué)工作;
孫靈靈,女,碩士生,主研圖像處理算法的研究。
責(zé)任編輯:許 盈
Extraction of Linear Structured Light Center Position Based on DM642
MA Yan,XU Xiao,SUN Lingling
(College of Physics and Optoelectronics,South China University of Technology,Guangzhou 510640,China)
An algorithm based on DM642 by using the optimal 3×3 brightest adjacent spots weighted average to find the center position in linear structured light stripe is presented in this paper,according to the characteristic of TMS320DM642.Compared to some other traditional methods which are based on MATLAB,it has a higher speed and accuracy.In addition,the amount of convolution operation which other algorithms like the template method must use is greatly reduced in this method.Besides,this method has a good real-time performance,which makes it suitable for embedded platform under the background of big data.Through the PCI interface of image processing card,data can be uploaded conveniently.
TMS320DM642;structured light image;center position extraction;weighted average;PCI communication; optimization
TP391
B
10.16280/j.videoe.2015.08.008
2014-12-08
【本文獻(xiàn)信息】馬炎,徐曉,孫靈靈.基于DM642的結(jié)構(gòu)光圖像中心線提取[J].電視技術(shù),2015,39(8).