張尚坤, 宋樹祥
(廣西師范大學(xué) 電子工程學(xué)院,廣西 桂林 541004)
?
基于DSP和FPGA的竹片圖像采集與處理系統(tǒng)設(shè)計
張尚坤, 宋樹祥
(廣西師范大學(xué) 電子工程學(xué)院,廣西 桂林 541004)
針對圖像采集需要實時、高速的要求,本文提出的基于DSP(TMS320C6416)和FPGA(EP2C35)圖像采集系統(tǒng)的設(shè)計方案。該設(shè)計通過前端FPGA控制OV9650攝像頭進(jìn)行圖像采集,預(yù)處理,然后通過FPGA的FIFO進(jìn)行數(shù)據(jù)緩存,利用DSP的EMIFB接口實現(xiàn)數(shù)據(jù)的傳輸,最后對采集的圖像進(jìn)行Sobel算子的邊緣檢測,灰度共生矩陣的紋理分析、圖像標(biāo)準(zhǔn)差運算以及基于相關(guān)函數(shù)的圖像配準(zhǔn)。
TMS320C6416; FPGA; 邊緣檢測; 紋理分析; 圖像標(biāo)準(zhǔn)差; 圖像配準(zhǔn)
由于現(xiàn)代科技的進(jìn)步,技術(shù)的革新,對圖像采集設(shè)備要求越來越高。傳統(tǒng)圖像采集設(shè)備速度慢,實時性差,處理要求簡單,不能滿足大容量數(shù)據(jù)的處理要求。據(jù)此,設(shè)計高速、實時的圖像采集系統(tǒng)。該系統(tǒng)采用TI公司的TMS320C6416芯片和以Altera CycloneII 的EP2C35系列芯片為系統(tǒng)的核心硬件。以DSP和FPGA組成的圖像采集系統(tǒng),廣泛應(yīng)用于各種軍事、科研、醫(yī)療衛(wèi)生等各種領(lǐng)域[1-9],此類系統(tǒng)編程靈活,算法實現(xiàn)較簡單,且在開發(fā)過程中適合模塊化設(shè)計,系統(tǒng)通用性強,可以大大縮短開發(fā)周期。
本系統(tǒng)由前段圖像采集預(yù)處理部分、后端的圖像算法處理部分和圖像顯示部分,如圖1所示。
圖像采集預(yù)處理部分主要由OV9650 CMOS攝像頭和FPGA邏輯控制部分組成。攝像頭主要是完成圖像的采集,F(xiàn)PGA負(fù)責(zé)產(chǎn)生系統(tǒng)所需的邏輯控制信號和各芯片的時鐘信號,并對圖像進(jìn)行濾波預(yù)處理。圖像算法處理部分,則主要是負(fù)責(zé)將FPGA預(yù)處理后的圖像二值化處理、邊緣檢測、紋理特征分析、圖像匹配等圖像處理運算。圖像顯示部分由FPGA控制VGA接口的顯示器,顯示經(jīng)DSP處理后的圖像。
圖1 系統(tǒng)的總體框圖
圖像的算法處理部分是整個系統(tǒng)的核心部分。本系統(tǒng)軟件主要實現(xiàn)對采集的圖像進(jìn)行邊緣檢測、紋理分析以及圖像識別等以確保硬件系統(tǒng)能夠?qū)D像進(jìn)行處理。首先獲取圖像數(shù)據(jù),對比較完整的竹片存庫,以用來作后續(xù)的識別處理,然后對圖像進(jìn)行二值化處理,邊緣檢測,判斷其輪廓是否在一定的誤差范圍內(nèi)與預(yù)先保存的數(shù)據(jù)符合,符合的則繼續(xù)進(jìn)一步的紋理分析,計算該圖像的標(biāo)準(zhǔn)差,然后根據(jù)閾值判斷是否在一定范圍內(nèi)與預(yù)先存取在數(shù)據(jù)庫的竹片數(shù)據(jù)符合,符合的則進(jìn)一步實現(xiàn)圖像配準(zhǔn),完成圖像的識別處理,并存入相應(yīng)的數(shù)據(jù)庫。其軟件實現(xiàn)的流程圖如圖2所示。
圖2 竹片處理流程圖
2.1 系統(tǒng)的主要器件
系統(tǒng)采用的FPGA是Altera公司的Cyclone II系列的EP2C35芯片。該芯片是一款基于90 nm工藝制造、低成本、適合復(fù)雜邏輯、帶存儲緩沖功能的FPGA芯片。EP2C35擁有33 216個邏輯單元,483 840位RAM,35個乘法器模塊,是CycloneII系列處理能力較強的芯片之一。
圖像處理器則選用的是TI公司近年推出的高性能定點DSPTMS320C6416芯片,其時鐘頻率可達(dá)1 GHz,運算能力達(dá)8 000 MIPS,采用先進(jìn)的甚長指令結(jié)構(gòu)(VLIW),內(nèi)部有6個ALU(32/40 bit),每個時鐘周期可以執(zhí)行8條指令。該芯片采用兩級緩存結(jié)構(gòu),一級緩存(L1)由128 kbit的程序緩存和128 kbit的數(shù)據(jù)緩存組成,二級緩存(L2)為8 Mbit;內(nèi)部有2個擴展存儲器接口,為EMIFA(64 bit)和EMIFB(16 bit)。可與同步存儲器或異步存儲器進(jìn)行無縫連接。
2.2 FPGA與DSP的連接
DSP通過EMIFB接口的片選信號線、時鐘信號線、數(shù)據(jù)線、地址線以及其他信號線與FPGA的IO口連接。該電路的主要功能是實現(xiàn)FPGA內(nèi)存儲器直接映射到DSP的地址空間,以實現(xiàn)DSP與FPGA之間的數(shù)據(jù)交換。DSP通過EDMA中斷信號,實現(xiàn)DSP從FPGA里讀取數(shù)據(jù)或?qū)⑻幚硗甑臄?shù)據(jù)發(fā)送給FPGA,最終靈活的實現(xiàn)FPGA與DSP之間的控制通信。其電路連接結(jié)構(gòu)如圖3所示。
2.3 圖像顯示接口設(shè)計
圖像顯示電路主要由芯片ADV7123與VGA接口構(gòu)成,ADV7123是一款高速的RGB D/A轉(zhuǎn)換芯片,內(nèi)部集成了3路10 bit精度的D/A轉(zhuǎn)換器,分別用于RGB數(shù)字信號的D/A轉(zhuǎn)換,數(shù)據(jù)吞吐率可達(dá)240 MSPS,適合高分辨率彩色視頻生成。3路數(shù)字輸入接口R[0:9]、G[0:9]、B[0:9]以及同步控制信號(BLANK、SYNC)和時鐘信號分別于FPGA的IO口連接,3路輸出接口(IOR、IOG、IOB)分別與VGA的紅基色接口、綠基色接口、藍(lán)基色接口連接。另外VGA的行同步接口(VGA_HS)與場同步接口(VGA_VS)分別與FPGA的IO口連接。其他不用的輸入輸出端口做接地處理。其電路連接結(jié)構(gòu)如圖3所示。
3.1 圖像的邊緣檢測
Sobel算子是一個梯度算子[10-12]。該算法是通過2個3×3的模板,其中一個模板對水平邊緣的響應(yīng)最大而另一個模板對垂直邊緣的響應(yīng)最大,對二維圖像中同樣大小的窗口進(jìn)行卷積,得到圖像的梯度,然后再根據(jù)梯度值的大小與設(shè)定的閾值進(jìn)行比較,如果得到的閾值大于255的就用255代替該值。由于Sobel算子的是一種各向同性的算子,通常情況下,分別沿水平方向和垂直方向求其梯度,并對它們的平方和開根號。
圖3 系統(tǒng)的主要硬件原理圖
以下是Sobel算子計算方法。
模板:
(1)
梯度的計算公式為:
(2)
其中:Gx表示水平方向的梯度;Gy表示垂直方向的梯度,程序運行時,計算平方和平方根需要大量計算。通常用下面的公式來代替上面的梯度公式:
(3)
這個公式的計算量更小,而且它仍保持著與灰度級的相對變化。
3.2 紋理分析
對邊緣檢測符合要求的竹片進(jìn)行紋理分析,分析其紋理特征。本文采用共生矩陣的方法對竹片的紋理進(jìn)行計算分析。因此,本文先將圖像數(shù)據(jù)轉(zhuǎn)化為矩陣,然后分別對不同類型的竹片分別從0°、45°、90°、135° 4個方向計算其能量、熵、慣性矩、相關(guān)性4個表征量,最后求4個表征量在各個方向的平均值,表示紋理特征。以下是其描述方法。
能量:
(4)
熵:
(5)
慣性矩:
(6)
相關(guān)性:
(7)
其中:共生矩陣P是N×N的,N為灰度陰影級的劃分?jǐn)?shù)目;P(i,j)表示該圖像的共生矩陣P的(i,j)位置處的元素值,等于灰度級i和j在圖像內(nèi)沿該方向(0°、45°、90°、135°),相距該指定距離(此距離取為1)的兩個像素上同時出現(xiàn)的次數(shù)。
3.3 圖像的標(biāo)準(zhǔn)差
在圖像進(jìn)行紋理分析之后,對圖像進(jìn)行輪廓缺陷匹配,模板匹配進(jìn)而識別竹片的好壞[13-15]。首先,對不同類型的竹片進(jìn)行圖像標(biāo)準(zhǔn)偏差的計算,取平均值,作為閾值判決的標(biāo)準(zhǔn)。然后根據(jù)模板以及紋理分析的特征對竹片進(jìn)行識別,最終識別竹片的好壞。以下是圖像標(biāo)準(zhǔn)差的計算方法:
(8)
其中:xi為圖像的像素值;E(x)為圖像的均值。其判斷的標(biāo)準(zhǔn)是若竹片的標(biāo)準(zhǔn)差σ≥Tr,則竹片通過檢測,反之,則不通過。
3.4 圖像配準(zhǔn)
圖像配準(zhǔn)是指圖像之間的比較、得到不同圖像之間的相似度。本文針對圖像的相關(guān)性,利用圖像相關(guān)的特性對圖像進(jìn)行模板匹配。模板匹配的基本原理是通過相關(guān)函數(shù)的計算找到它和被搜索圖像的坐標(biāo)位置。如圖4所示,假設(shè)模板T的大小為m×n,搜索圖S的大小為W×H。模板T疊放在搜索圖S上平移,模板覆蓋下的那塊搜索圖叫做子圖Si,j,(i,j)為子圖上的像素點在S圖上的坐標(biāo),叫參考點,其中,1≤i,j≤n-m+1。比較T和Si,j的內(nèi)容,若兩者一致,則T和Si,j之差為零。否則繼續(xù)比較知道找到匹配的對象為止。其測試方法為:
(9)
圖4 模板匹配圖
本文軟件設(shè)計是基于TI公司的軟件開發(fā)平臺CCS上進(jìn)行的。CCS軟件相比Matlab軟件,具有實時性強,實用性高,只要配置好硬件的IO口,就很容易將代碼移植到硬件上調(diào)試檢驗,對產(chǎn)品的開發(fā)具有很高的實用價值。
邊緣檢測算法的結(jié)果如圖5所示,分別是原始圖像、二值化處理以及邊緣檢測結(jié)果。由圖可知,其達(dá)到良好的邊緣檢測效果,符合本文設(shè)計的要求。
圖5 邊緣檢測圖
紋理分析的結(jié)果如表1所示。本實驗,分別挑選正常、破損比較嚴(yán)重、斑紋、表面刮傷、表面有細(xì)長線、表面比較暗淡的等類型的竹片經(jīng)行檢測分析。由于圖像采集受光照、設(shè)備等的影響,結(jié)合表1的數(shù)據(jù)表明,不同類型的竹片,其紋理特征存在較大差異,圖像的亮度、位置、走向、尺寸和形狀都與紋理特征有關(guān),與平均灰度級無關(guān)。
表1 竹片紋理分析的數(shù)據(jù)對比
圖像標(biāo)準(zhǔn)差算法的效果如圖6、7所示。圖7是圖6對應(yīng)圖像的效果圖。本實驗采用100片竹片樣本測驗,求平均值,得出標(biāo)準(zhǔn)差的閾值為Tr=69.5。由圖7可知,其模板輪廓與被檢測竹片的輪廓存在一定的偏差。在一定的誤差范圍內(nèi),可以達(dá)到圖像的識別效果。圖中,顏色較深的是模板輪廓,顏色較淡的是被檢測竹片的輪廓,表面的灰度區(qū)域則表示竹片表面的紋理特征。
圖像配準(zhǔn)的結(jié)果如圖8所示,原圖尺寸為400×300,模板為112×74。如圖所示,運用比較方法能夠簡單的實現(xiàn)圖像的配準(zhǔn),根據(jù)模板可以準(zhǔn)確的搜索到原始圖像,實現(xiàn)一對圖像區(qū)域的空間配準(zhǔn)。
圖6 原始圖像
圖7 處理后的效果圖
圖8 配準(zhǔn)效果圖
本文從硬件和軟件兩方面介紹了竹片圖像采集與處理卡的設(shè)計,為竹片的識別檢測提供了一種自動化設(shè)計的方法。通過CCS軟件對圖像進(jìn)行軟件算法的處理,實現(xiàn)圖像的邊緣檢測,紋理分析,圖像標(biāo)準(zhǔn)差以及圖像配準(zhǔn)的計算處理,達(dá)到良好的效果。利用CCS軟件進(jìn)行算法處理,能滿足實時性要求,易于與硬件連接調(diào)試驗證。另外,本文對部分竹片圖像標(biāo)準(zhǔn)差的處理效果不太明顯,還有待進(jìn)一步的改進(jìn)。
[1] 丁幼春,陳 紅.基于Bayes的竹片顏色檢測分級方法[J].華中農(nóng)業(yè)大學(xué)學(xué)報,2009,28(6):767-770.
[2] 馬秀娟,考 麗,趙國良.基于 FPGA和DSP的高速數(shù)據(jù)采集實時處理系統(tǒng)的設(shè)計[J].電子器件,2007,30(3):1009-1013.
[3] 高麗燕.基于DSP+FPGA的圖像識別系統(tǒng)設(shè)計與實現(xiàn)[D].南京:南京理工大學(xué),2006.
[4] 宋 昕,秦現(xiàn)生,劉 瓊,等.竹地板選片工藝的機器視覺化研究及實現(xiàn)[J].計算機工程與應(yīng)用,2010,46(16):221-225.
[5] 王業(yè)琴,王克奇,白雪冰,等.計算機視覺木材表面色差檢測的研究[ J].林業(yè)科技,2005,30(2): 36-38.
[6] Kurdthongmee W. Colour classification of rubber wood boards for fingerjoint manufacturing using a SOM neural network and image processing[J].Computers and Elect ronics in Agriculture, 2008(64):85-92.
[7] 陳炳權(quán). 基于DSP+FPGA的實時圖像識別系統(tǒng)硬件與算法設(shè)計[J]. 衡陽師范學(xué)院學(xué)報,2008,29(3):106-109.
[8] 司孝平.基于SDRAM的FPGA實時圖像采集系統(tǒng)的設(shè)計[J].西南大學(xué)學(xué)報(自然科學(xué)版),2011,33(1):128-132.
[9] 朱奕丹,方怡冰.基于FPGA的圖像采集與VGA顯示系統(tǒng)[J].計算機應(yīng)用,2011, 31(5): 1258-1260.
[10] 馮新宇, 方偉林,楊 棟. 基于中值濾波與Sobel,Canny算子的圖像邊緣檢測研究[J].黑龍江水利學(xué)報,2009,36(1):101-103.
[11] 潘東杰,鄧 濤.一種基于閾值分割的紅外圖像邊緣檢測方法[J].電子科技,2010(6): 52-54.
[12] 趙慧民,朱 立. 基于DSP CCS2.2實現(xiàn)指紋識別預(yù)處理系統(tǒng)[J].電子技術(shù)應(yīng)用,2005 (7):65-66.
[13] 田 娟,鄭郁正.模板匹配技術(shù)在圖像識別中的應(yīng)用[J].傳感器與微系統(tǒng),2008(27):112-114.
[14] 李建華,馬小妹,郭成安.基于方向圖的動態(tài)閾值指紋圖像二值化方法[J].大連理工大學(xué)學(xué)報,2002(5):627-628.
[15] 楊駿進(jìn),王佳琳.圖像快速匹配算法研究及DSP實現(xiàn)[J].測控技術(shù),2008(8):29-32.
Design of Bamboo Image Acquisition and Processing System Based on DSP and FPGA
ZHANGShang-kun,SONGShu-xiang
(College of Electronic Engineering, Guangxi Normal University, Guilin 541004, China)
The image acquisition often needs real-time and high speed, the paper proposed an image acquisition system based on DSP (TMS320C6416) and FPGA (EP2C35). This design applied FPGA to control OV9650 camera and obtain image acquisition and pre-processing, and then applied the FIFO FPGA data cache. DSP EMIFB was used as an interface to realize the data transmission, the acquisition of image edge detection, the texture analysis, image standard deviation calculation, and image registration based on the correlation function.
TMS320C6416; FPGA; edge detection; texture analysis; image standard deviation; image registration
2015-04-16
張尚坤(1974-),男,廣西永福人,工程師,主要研究方向模擬集成電路設(shè)計、信息處理。
Tel.:13977393994;E-mail:zhangsk@mailbox.gxnu.edu.cn
TP 391
A
1006-7167(2016)01-0106-05