張尚坤, 宋樹祥
(廣西師范大學 電子工程學院,廣西 桂林 541004)
?
基于DSP和FPGA的竹片圖像采集與處理系統設計
張尚坤, 宋樹祥
(廣西師范大學 電子工程學院,廣西 桂林 541004)

針對圖像采集需要實時、高速的要求,本文提出的基于DSP(TMS320C6416)和FPGA(EP2C35)圖像采集系統的設計方案。該設計通過前端FPGA控制OV9650攝像頭進行圖像采集,預處理,然后通過FPGA的FIFO進行數據緩存,利用DSP的EMIFB接口實現數據的傳輸,最后對采集的圖像進行Sobel算子的邊緣檢測,灰度共生矩陣的紋理分析、圖像標準差運算以及基于相關函數的圖像配準。
TMS320C6416; FPGA; 邊緣檢測; 紋理分析; 圖像標準差; 圖像配準
由于現代科技的進步,技術的革新,對圖像采集設備要求越來越高。傳統圖像采集設備速度慢,實時性差,處理要求簡單,不能滿足大容量數據的處理要求。據此,設計高速、實時的圖像采集系統。該系統采用TI公司的TMS320C6416芯片和以Altera CycloneII 的EP2C35系列芯片為系統的核心硬件。以DSP和FPGA組成的圖像采集系統,廣泛應用于各種軍事、科研、醫療衛生等各種領域[1-9],此類系統編程靈活,算法實現較簡單,且在開發過程中適合模塊化設計,系統通用性強,可以大大縮短開發周期。
本系統由前段圖像采集預處理部分、后端的圖像算法處理部分和圖像顯示部分,如圖1所示。
圖像采集預處理部分主要由OV9650 CMOS攝像頭和FPGA邏輯控制部分組成。攝像頭主要是完成圖像的采集,FPGA負責產生系統所需的邏輯控制信號和各芯片的時鐘信號,并對圖像進行濾波預處理。圖像算法處理部分,則主要是負責將FPGA預處理后的圖像二值化處理、邊緣檢測、紋理特征分析、圖像匹配等圖像處理運算。圖像顯示部分由FPGA控制VGA接口的顯示器,顯示經DSP處理后的圖像。

圖1 系統的總體框圖
圖像的算法處理部分是整個系統的核心部分。本系統軟件主要實現對采集的圖像進行邊緣檢測、紋理分析以及圖像識別等以確保硬件系統能夠對圖像進行處理。首先獲取圖像數據,對比較完整的竹片存庫,以用來作后續的識別處理,然后對圖像進行二值化處理,邊緣檢測,判斷其輪廓是否在一定的誤差范圍內與預先保存的數據符合,符合的則繼續進一步的紋理分析,計算該圖像的標準差,然后根據閾值判斷是否在一定范圍內與預先存取在數據庫的竹片數據符合,符合的則進一步實現圖像配準,完成圖像的識別處理,并存入相應的數據庫。其軟件實現的流程圖如圖2所示。

圖2 竹片處理流程圖
2.1 系統的主要器件
系統采用的FPGA是Altera公司的Cyclone II系列的EP2C35芯片。該芯片是一款基于90 nm工藝制造、低成本、適合復雜邏輯、帶存儲緩沖功能的FPGA芯片。EP2C35擁有33 216個邏輯單元,483 840位RAM,35個乘法器模塊,是CycloneII系列處理能力較強的芯片之一。
圖像處理器則選用的是TI公司近年推出的高性能定點DSPTMS320C6416芯片,其時鐘頻率可達1 GHz,運算能力達8 000 MIPS,采用先進的甚長指令結構(VLIW),內部有6個ALU(32/40 bit),每個時鐘周期可以執行8條指令。該芯片采用兩級緩存結構,一級緩存(L1)由128 kbit的程序緩存和128 kbit的數據緩存組成,二級緩存(L2)為8 Mbit;內部有2個擴展存儲器接口,為EMIFA(64 bit)和EMIFB(16 bit)。可與同步存儲器或異步存儲器進行無縫連接。
2.2 FPGA與DSP的連接
DSP通過EMIFB接口的片選信號線、時鐘信號線、數據線、地址線以及其他信號線與FPGA的IO口連接。該電路的主要功能是實現FPGA內存儲器直接映射到DSP的地址空間,以實現DSP與FPGA之間的數據交換。DSP通過EDMA中斷信號,實現DSP從FPGA里讀取數據或將處理完的數據發送給FPGA,最終靈活的實現FPGA與DSP之間的控制通信。其電路連接結構如圖3所示。
2.3 圖像顯示接口設計
圖像顯示電路主要由芯片ADV7123與VGA接口構成,ADV7123是一款高速的RGB D/A轉換芯片,內部集成了3路10 bit精度的D/A轉換器,分別用于RGB數字信號的D/A轉換,數據吞吐率可達240 MSPS,適合高分辨率彩色視頻生成。3路數字輸入接口R[0:9]、G[0:9]、B[0:9]以及同步控制信號(BLANK、SYNC)和時鐘信號分別于FPGA的IO口連接,3路輸出接口(IOR、IOG、IOB)分別與VGA的紅基色接口、綠基色接口、藍基色接口連接。另外VGA的行同步接口(VGA_HS)與場同步接口(VGA_VS)分別與FPGA的IO口連接。其他不用的輸入輸出端口做接地處理。其電路連接結構如圖3所示。
3.1 圖像的邊緣檢測
Sobel算子是一個梯度算子[10-12]。該算法是通過2個3×3的模板,其中一個模板對水平邊緣的響應最大而另一個模板對垂直邊緣的響應最大,對二維圖像中同樣大小的窗口進行卷積,得到圖像的梯度,然后再根據梯度值的大小與設定的閾值進行比較,如果得到的閾值大于255的就用255代替該值。由于Sobel算子的是一種各向同性的算子,通常情況下,分別沿水平方向和垂直方向求其梯度,并對它們的平方和開根號。

圖3 系統的主要硬件原理圖
以下是Sobel算子計算方法。
模板:
(1)
梯度的計算公式為:
(2)
其中:Gx表示水平方向的梯度;Gy表示垂直方向的梯度,程序運行時,計算平方和平方根需要大量計算。通常用下面的公式來代替上面的梯度公式:
(3)
這個公式的計算量更小,而且它仍保持著與灰度級的相對變化。
3.2 紋理分析
對邊緣檢測符合要求的竹片進行紋理分析,分析其紋理特征。本文采用共生矩陣的方法對竹片的紋理進行計算分析。因此,本文先將圖像數據轉化為矩陣,然后分別對不同類型的竹片分別從0°、45°、90°、135° 4個方向計算其能量、熵、慣性矩、相關性4個表征量,最后求4個表征量在各個方向的平均值,表示紋理特征。以下是其描述方法。
能量:
(4)
熵:
(5)
慣性矩:
(6)
相關性:

(7)
其中:共生矩陣P是N×N的,N為灰度陰影級的劃分數目;P(i,j)表示該圖像的共生矩陣P的(i,j)位置處的元素值,等于灰度級i和j在圖像內沿該方向(0°、45°、90°、135°),相距該指定距離(此距離取為1)的兩個像素上同時出現的次數。
3.3 圖像的標準差
在圖像進行紋理分析之后,對圖像進行輪廓缺陷匹配,模板匹配進而識別竹片的好壞[13-15]。首先,對不同類型的竹片進行圖像標準偏差的計算,取平均值,作為閾值判決的標準。然后根據模板以及紋理分析的特征對竹片進行識別,最終識別竹片的好壞。以下是圖像標準差的計算方法:
(8)
其中:xi為圖像的像素值;E(x)為圖像的均值。其判斷的標準是若竹片的標準差σ≥Tr,則竹片通過檢測,反之,則不通過。
3.4 圖像配準
圖像配準是指圖像之間的比較、得到不同圖像之間的相似度。本文針對圖像的相關性,利用圖像相關的特性對圖像進行模板匹配。模板匹配的基本原理是通過相關函數的計算找到它和被搜索圖像的坐標位置。如圖4所示,假設模板T的大小為m×n,搜索圖S的大小為W×H。模板T疊放在搜索圖S上平移,模板覆蓋下的那塊搜索圖叫做子圖Si,j,(i,j)為子圖上的像素點在S圖上的坐標,叫參考點,其中,1≤i,j≤n-m+1。比較T和Si,j的內容,若兩者一致,則T和Si,j之差為零。否則繼續比較知道找到匹配的對象為止。其測試方法為:
(9)

圖4 模板匹配圖
本文軟件設計是基于TI公司的軟件開發平臺CCS上進行的。CCS軟件相比Matlab軟件,具有實時性強,實用性高,只要配置好硬件的IO口,就很容易將代碼移植到硬件上調試檢驗,對產品的開發具有很高的實用價值。
邊緣檢測算法的結果如圖5所示,分別是原始圖像、二值化處理以及邊緣檢測結果。由圖可知,其達到良好的邊緣檢測效果,符合本文設計的要求。

圖5 邊緣檢測圖
紋理分析的結果如表1所示。本實驗,分別挑選正常、破損比較嚴重、斑紋、表面刮傷、表面有細長線、表面比較暗淡的等類型的竹片經行檢測分析。由于圖像采集受光照、設備等的影響,結合表1的數據表明,不同類型的竹片,其紋理特征存在較大差異,圖像的亮度、位置、走向、尺寸和形狀都與紋理特征有關,與平均灰度級無關。

表1 竹片紋理分析的數據對比
圖像標準差算法的效果如圖6、7所示。圖7是圖6對應圖像的效果圖。本實驗采用100片竹片樣本測驗,求平均值,得出標準差的閾值為Tr=69.5。由圖7可知,其模板輪廓與被檢測竹片的輪廓存在一定的偏差。在一定的誤差范圍內,可以達到圖像的識別效果。圖中,顏色較深的是模板輪廓,顏色較淡的是被檢測竹片的輪廓,表面的灰度區域則表示竹片表面的紋理特征。
圖像配準的結果如圖8所示,原圖尺寸為400×300,模板為112×74。如圖所示,運用比較方法能夠簡單的實現圖像的配準,根據模板可以準確的搜索到原始圖像,實現一對圖像區域的空間配準。

圖6 原始圖像

圖7 處理后的效果圖

圖8 配準效果圖
本文從硬件和軟件兩方面介紹了竹片圖像采集與處理卡的設計,為竹片的識別檢測提供了一種自動化設計的方法。通過CCS軟件對圖像進行軟件算法的處理,實現圖像的邊緣檢測,紋理分析,圖像標準差以及圖像配準的計算處理,達到良好的效果。利用CCS軟件進行算法處理,能滿足實時性要求,易于與硬件連接調試驗證。另外,本文對部分竹片圖像標準差的處理效果不太明顯,還有待進一步的改進。
[1] 丁幼春,陳 紅.基于Bayes的竹片顏色檢測分級方法[J].華中農業大學學報,2009,28(6):767-770.
[2] 馬秀娟,考 麗,趙國良.基于 FPGA和DSP的高速數據采集實時處理系統的設計[J].電子器件,2007,30(3):1009-1013.
[3] 高麗燕.基于DSP+FPGA的圖像識別系統設計與實現[D].南京:南京理工大學,2006.
[4] 宋 昕,秦現生,劉 瓊,等.竹地板選片工藝的機器視覺化研究及實現[J].計算機工程與應用,2010,46(16):221-225.
[5] 王業琴,王克奇,白雪冰,等.計算機視覺木材表面色差檢測的研究[ J].林業科技,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] 陳炳權. 基于DSP+FPGA的實時圖像識別系統硬件與算法設計[J]. 衡陽師范學院學報,2008,29(3):106-109.
[8] 司孝平.基于SDRAM的FPGA實時圖像采集系統的設計[J].西南大學學報(自然科學版),2011,33(1):128-132.
[9] 朱奕丹,方怡冰.基于FPGA的圖像采集與VGA顯示系統[J].計算機應用,2011, 31(5): 1258-1260.
[10] 馮新宇, 方偉林,楊 棟. 基于中值濾波與Sobel,Canny算子的圖像邊緣檢測研究[J].黑龍江水利學報,2009,36(1):101-103.
[11] 潘東杰,鄧 濤.一種基于閾值分割的紅外圖像邊緣檢測方法[J].電子科技,2010(6): 52-54.
[12] 趙慧民,朱 立. 基于DSP CCS2.2實現指紋識別預處理系統[J].電子技術應用,2005 (7):65-66.
[13] 田 娟,鄭郁正.模板匹配技術在圖像識別中的應用[J].傳感器與微系統,2008(27):112-114.
[14] 李建華,馬小妹,郭成安.基于方向圖的動態閾值指紋圖像二值化方法[J].大連理工大學學報,2002(5):627-628.
[15] 楊駿進,王佳琳.圖像快速匹配算法研究及DSP實現[J].測控技術,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-),男,廣西永福人,工程師,主要研究方向模擬集成電路設計、信息處理。
Tel.:13977393994;E-mail:zhangsk@mailbox.gxnu.edu.cn
TP 391
A
1006-7167(2016)01-0106-05