姚文達(dá),田慶國(guó),陳興梧
(天津大學(xué) 精密儀器與光電子工程學(xué)院,天津 300072)
三維掃描圖像光帶中心線提取的FPGA實(shí)現(xiàn)
姚文達(dá),田慶國(guó),陳興梧
(天津大學(xué) 精密儀器與光電子工程學(xué)院,天津 300072)
結(jié)合三維掃描系統(tǒng),設(shè)計(jì)了基于FPGA的光帶中心線實(shí)時(shí)處理系統(tǒng),采用列掃描梯度質(zhì)心法,以硬件的形式實(shí)現(xiàn)了對(duì)光帶中心線的實(shí)時(shí)、快速、準(zhǔn)確提取,并將處理系統(tǒng)應(yīng)用于三維掃描領(lǐng)域進(jìn)行了實(shí)驗(yàn),所得結(jié)果真實(shí)、有效,滿足對(duì)30幀/s的圖像數(shù)據(jù)進(jìn)行實(shí)時(shí)提取的要求.
FPGA;中心線提取;三維掃描
隨著科學(xué)技術(shù)的發(fā)展和工藝水平的提高,可編程邏輯器件的片內(nèi)資源不斷擴(kuò)充,使其在圖像實(shí)時(shí)處理領(lǐng)域中的應(yīng)用有了廣闊的空間.FPGA應(yīng)用于實(shí)時(shí)信號(hào)處理和圖像處理,或作為單獨(dú)的處理器,或與其他CPU聯(lián)合使用,都取得了顯著的成果.胡亮等[1]為了解決鋼板表面缺陷視覺檢測(cè)系統(tǒng)中圖像處理的瓶頸問題,采用基于FPGA的嵌入式處理系統(tǒng)完成大數(shù)據(jù)量、實(shí)時(shí)、在線的處理任務(wù),從而滿足高速、寬幅、高分辨率的檢測(cè)要求.江潔等[2]提出了一種基于Steger算法的串并結(jié)合的處理結(jié)構(gòu),使得光條紋中心提取速度得到了提升,并進(jìn)一步給出了基于FPGA的實(shí)現(xiàn)方法,提取精度達(dá)到了亞像素級(jí).鮑建周等[3]以圖像的重心計(jì)算和Hough變換為例,設(shè)計(jì)了基于FPGA的算法,并采用VHDL語言,將算法實(shí)際應(yīng)用于磨損鋼軌的斷面輪廓檢測(cè).段雷等[4]將FPGA作為整個(gè)系統(tǒng)的時(shí)序控制中心和數(shù)據(jù)交換橋梁,而且能夠?qū)崿F(xiàn)對(duì)底層的信號(hào)快速預(yù)處理.本文結(jié)合三維掃描系統(tǒng)的特點(diǎn),將以FPGA為核心的實(shí)時(shí)處理系統(tǒng)應(yīng)用于三維掃描系統(tǒng)中,將圖像的采集過程和處理過程結(jié)合起來,并在FPGA芯片上實(shí)現(xiàn)了基于梯度質(zhì)心算法的三維掃描圖像光帶中心線的快速實(shí)時(shí)提取.
實(shí)際采集得到光帶位圖如圖1所示.在1幅圖像中,設(shè)光帶中心線坐標(biāo)為(Xz,Yz),以左上角第1個(gè)像素為坐標(biāo)(0,0),以右下角最后1個(gè)像素為坐標(biāo)(719,479),圖中每個(gè)像素點(diǎn)(Xi,Yj)的亮度值為Bij.圖1中,對(duì)應(yīng)每一個(gè)Xz=Xi,在每一列中對(duì)亮度值Bij進(jìn)行檢測(cè),分別得到光帶的上下邊界,并在上下邊界中間的區(qū)域應(yīng)用質(zhì)心法以Bij為權(quán)值,加權(quán)平均后得到Y(jié)z.
本設(shè)計(jì)采用逐列掃描、遍歷圖像中每一列的方法來進(jìn)行光帶中心線坐標(biāo)的提取,得到光帶中心線的坐標(biāo)(Xz,Yz),并將所得坐標(biāo)上傳到計(jì)算機(jī)中.
圖1 三維掃描儀采集得到的圖像Fig.1 Images obtained by 3D scanner
圖2為光帶中心線實(shí)時(shí)提取系統(tǒng)硬件設(shè)計(jì)框圖.
圖2 系統(tǒng)硬件框圖Fig.2 System hardware block diagram
整個(gè)系統(tǒng)主要由4個(gè)部分組成:
(1)采集部分,主要由視頻解碼裝置來擔(dān)任,將CCD所輸出的模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào),并將全電視信號(hào)中的同步信號(hào)解碼出來,供其他模塊使用.
(2)存儲(chǔ)部分,完成圖像數(shù)據(jù)的順序存儲(chǔ),為后續(xù)的質(zhì)心法求光帶中心線坐標(biāo)提供方便,本文中存儲(chǔ)部分使用SRAM靜態(tài)存儲(chǔ)器來完成設(shè)計(jì)功能.
(3)控制和處理部分完全,在FPGA內(nèi)部設(shè)計(jì)完成,該部分分成了若干模塊,這些模塊相互配合共同實(shí)現(xiàn)控制和處理任務(wù).主要包括配置視頻解碼器、完成對(duì)圖像的列掃描、設(shè)定閾值、提取光帶中心線坐標(biāo)和控制數(shù)據(jù)上傳.
(4)數(shù)據(jù)上傳部分,以USB2.0作為計(jì)算機(jī)與系統(tǒng)的通信接口完成數(shù)據(jù)的實(shí)時(shí)上傳.
系統(tǒng)開始工作后,CCD相機(jī)所發(fā)出的模擬信號(hào)將直接送入視頻采集部分中的視頻解碼裝置,視頻解碼器將完成由模擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)換,解出相應(yīng)的同步信息,作為其他部分的通信和控制信號(hào),同時(shí)被測(cè)物體圖像的亮度信息將在數(shù)據(jù)線上輸出,并分奇、偶兩場(chǎng)完成一幀圖像的傳送;控制和處理部分將對(duì)視頻解碼芯片所輸出的同步信號(hào)進(jìn)行檢測(cè),當(dāng)有效數(shù)據(jù)到來時(shí),F(xiàn)PGA將選通SRAMA,按照?qǐng)D3所示的交叉存儲(chǔ)方式,完成第1幀圖像的順序存儲(chǔ),當(dāng)?shù)?幀圖像到來后,選通SRAMB,以同樣的方式完成第2幀圖像的順序存儲(chǔ);同時(shí)在第2幀圖像存儲(chǔ)期間,F(xiàn)PGA將SRAMA中的數(shù)據(jù)取出,經(jīng)內(nèi)部的處理模塊處理后得到圖像光帶中心線坐標(biāo),最后由上傳模塊將得到的數(shù)據(jù)上傳至計(jì)算機(jī),并等待下一幀圖像有效數(shù)據(jù)的到來,按照相同的步驟進(jìn)行處理和上傳.
圖3 交叉存儲(chǔ)工作方式Fig.3 Way of cross-store
梯度質(zhì)心算法流程圖如圖4所示.
圖4 梯度質(zhì)心算法流程圖Fig.4 Centroid olgorithm map
由圖4可見,F(xiàn)PGA在時(shí)鐘有效時(shí),以列掃描的方式讀出一幀數(shù)據(jù),并將讀出的亮度值與所設(shè)定的閾值進(jìn)行比較;當(dāng)數(shù)據(jù)亮度小于閾值時(shí),判斷數(shù)據(jù)有效位DIV_BIT,若DIV_BIT=0,則讀取下一個(gè)數(shù)據(jù),直到亮度大于閾值的像素到來,F(xiàn)PGA會(huì)將DIV_BIT位置1,并將亮度值B_DATA和相應(yīng)的圖像縱坐標(biāo)Y送入運(yùn)算模塊,如圖5所示.
圖5 運(yùn)算模塊處理框圖Fig.5 Computing processing block diagram
為了滿足所提取光帶中心線縱坐標(biāo)的精度要求,運(yùn)算模塊將亮度值與圖像縱坐標(biāo)相乘并累加后,擴(kuò)大1 000倍,送到除法器被除數(shù)的位置,同時(shí)將亮度數(shù)值累加后,送到除法器除數(shù)的位置,等待除法操作開始指令.在下一個(gè)小于閾值的像素到來之后,F(xiàn)PGA控制運(yùn)算模塊完成一次除法操作,得到圖像中與Xz相對(duì)應(yīng)的縱坐標(biāo)Yz,并將FIFO寫有效位FIFOWE置1,處理結(jié)果會(huì)在下一個(gè)時(shí)鐘有效沿存入FIFO中等待上傳,同時(shí)數(shù)據(jù)有效位DIV_BIT清0,等待下一串大于閾值的碼流到來.當(dāng)完成一幀數(shù)據(jù)的處理后,F(xiàn)PGA將以同樣方式在RAMB中取出下一幀數(shù)據(jù)并處理,同時(shí)將新數(shù)據(jù)存入SRAMA中.如此往復(fù)循環(huán),通過乒乓機(jī)制,完成整個(gè)實(shí)時(shí)處理的工作過程,提取出光帶中心線坐標(biāo).
本文選用Altera公司生產(chǎn)的CycloneⅡ系列中的EP2C50F672C8芯片完成設(shè)計(jì),實(shí)現(xiàn)三維掃描圖像光帶中心線提取的梯度質(zhì)心算法.結(jié)合三維掃描儀,對(duì)人體腳部模型進(jìn)行了實(shí)驗(yàn),選取掃描過程中的不同位置(腳側(cè)位置、腳面位置和腳尖位置),并將采集系統(tǒng)的處理結(jié)果標(biāo)記在原始掃描圖像上進(jìn)行比較,處理結(jié)果如圖6所示.
圖6 處理結(jié)果圖Fig.6 Processing results
由圖6可知,無論是在圖像細(xì)節(jié)較少的腳側(cè)位置,還是在圖像細(xì)節(jié)較突出的腳尖位置和有可能形成環(huán)狀光帶的腳面位置,本文所設(shè)計(jì)的實(shí)時(shí)處理系統(tǒng)均能將這些位置的圖像信息有效地提取出來,并且實(shí)時(shí)處理系統(tǒng)所提取的光帶中心線坐標(biāo)與原始圖像光帶相吻合.
進(jìn)一步將所設(shè)計(jì)的系統(tǒng)應(yīng)用于三維掃描系統(tǒng),如圖7所示.對(duì)圖7(a)所示的人體腳步模型進(jìn)行了掃描實(shí)驗(yàn),經(jīng)過本文所設(shè)計(jì)的實(shí)時(shí)處理系統(tǒng)后,重建圖像如圖7(b)所示.
圖7 人體腳部模型和三維重建結(jié)果圖Fig.7 Human foot model and three-dimensional reconstvuction results chart
對(duì)比圖7中3個(gè)角度的人體腳部模型和重建圖像可知,本文系統(tǒng)可以有效重建出物體的表面輪廓信息,并且很好地還原出了物體表面的細(xì)節(jié)信息,重建三維圖像輪廓清晰、表面平滑,說明該系統(tǒng)真實(shí)、有效.
本文利用FPGA硬件電路的并行體系結(jié)構(gòu),與三維掃描系統(tǒng)相結(jié)合,將以FPGA為核心的實(shí)時(shí)處理系統(tǒng)應(yīng)用于三維掃描系統(tǒng)當(dāng)中,以硬件形式實(shí)現(xiàn)了三維掃描圖像光帶中心線提取的梯度質(zhì)心算法,解決了原有掃描系統(tǒng)傳輸效率低、系統(tǒng)集成度不高等問題,經(jīng)過實(shí)際的掃描比對(duì)實(shí)驗(yàn)和重建實(shí)驗(yàn),證明本文所設(shè)計(jì)的系統(tǒng)工作正常、結(jié)果有效,具有一定的應(yīng)用價(jià)值.
[1]胡 亮,段發(fā)階,丁克勤,等.基于FPGA圖像處理技術(shù)在鋼板表面缺陷檢測(cè)系統(tǒng)中的應(yīng)用[J].傳感技術(shù)學(xué)報(bào),2006,19(3):694-701.
[2]江 潔,鄧玨瓊,張廣軍.光條紋中心的實(shí)時(shí)快速提取[J].光學(xué)技術(shù),2008,34(2):170-174.
[3]鮑建周,趙 瑞,王 芳,等.用VHDL語言實(shí)現(xiàn)高速視頻圖像處理[J].中國(guó)現(xiàn)代教育裝備,2008(12):42-44.
[4]段 雷,李 梅,王彩霞.基于DSP和FPGA的實(shí)時(shí)圖像處理平臺(tái)的設(shè)計(jì)[J].實(shí)驗(yàn)科學(xué)與技術(shù),2008,6(5):52-54.
Optical band centerline extraction in 3D scanner image based on FPGA
YAO Wen-da,TIAN Qing-guo,CHEN Xing-wu
(School of Precision Instrument and Opto-Electronics Engineering,Tianjin University,Tianjin 300072,China)
Combining with 3D scanner,the optical band centerline extraction system based on FPGA is designed by using gradient centroid algorithm,the real-time fast and accurate centerline extraction is achieved in hardware. The application of system in 3D scanner proves the correctness of the system.The centerline extraction system can meet the needs of real-time extraction in 30 Frames per second.
FPGA;centerline extraction;3D scanner
book=3,ebook=114
TP391.41
A
1671-024X(2010)03-0050-03
2009-12-24 基金項(xiàng)目:國(guó)家自然科學(xué)基金資助項(xiàng)目(60277009);天津市科技攻關(guān)培育資助項(xiàng)目(05YFGPX05000)
姚文達(dá)(1984—),男,碩士.
田慶國(guó)(1973—),男,博士,講師.E-mail:tianqingguo@tju.edu.cn