趙志衡, 宋 歡,馬 涌,張懿夫
(哈爾濱工業(yè)大學(xué) 電氣工程及自動化學(xué)院,哈爾濱 150001)
基于DSP和FPGA的圖像選別系統(tǒng)設(shè)計
趙志衡, 宋 歡,馬 涌,張懿夫
(哈爾濱工業(yè)大學(xué) 電氣工程及自動化學(xué)院,哈爾濱 150001)
色選設(shè)備是集光、電、氣、機及圖像處理為一體的高科技綜合技術(shù);基于DSP和FPGA的圖像選別系統(tǒng)具有精度高、處理速度快、集成度高、功耗小等優(yōu)點;首先介紹圖像選別系統(tǒng)的硬件組成,然后以破損花生檢測為研究對象,通過MATLAB編程研究不同處理算法的優(yōu)缺點,最后移植到DSP上測試編寫的程序,提出破損花生的檢測算法,實現(xiàn)了依據(jù)破損面積大小對花生的選別;在花生篩選中,除了破損花生檢測,還有花生的大小檢測,因此在上述基礎(chǔ)上進一步提出花生幾何參數(shù)的計算方法。
機器視覺;圖像處理算法;圖像選別系統(tǒng)
機器視覺是一門交叉學(xué)科涉及光學(xué)成像,計算機技術(shù),模擬/數(shù)字視頻技術(shù),圖像處理技術(shù),自動控制,模式識別等諸多領(lǐng)域[1-2]。機器視覺系統(tǒng)首先通過工業(yè)相機采集被測物體的圖像,然后處理分析圖像數(shù)據(jù),并對有用的信息提取和加以理解,最終實現(xiàn)檢測和控制物體的功能。色選機是采用色選技術(shù)的一種新型農(nóng)副產(chǎn)品加工器械[3],它利用農(nóng)副產(chǎn)品不同的光學(xué)特性,在大量的物料中將顏色異常、內(nèi)部變質(zhì)或表面有缺陷的疵品和雜質(zhì)檢測出來,并且能夠自動的進行分選剔除[4]。
數(shù)字圖像處理技術(shù)包括圖像獲取和輸出、圖像編碼和壓縮、圖像增強和復(fù)原、圖像變換、圖像分割、圖像識別和檢測等技術(shù)[5]。在嵌入式技術(shù)的不斷發(fā)展下,嵌入式的新型數(shù)字采集系統(tǒng)具有高精度、高處理速度的優(yōu)點,使實時條件下目標的檢測、提取、識別、跟蹤技術(shù)準確性更高,實時性更強。
本文研究的基于DSP和FPGA的圖像選別系統(tǒng),以花生為研究對象,實現(xiàn)花生破損區(qū)域的選別,對于嵌入式圖像采集系統(tǒng)在工農(nóng)業(yè)篩選領(lǐng)域的應(yīng)用具有參考價值。
結(jié)構(gòu)圖像選別系統(tǒng)的硬件結(jié)構(gòu)如圖1所示。其中工業(yè)CCD相機采集物料像素信號,將圖像數(shù)據(jù)經(jīng)Camera Link接口傳輸至FPGA。FPGA控制數(shù)據(jù)流時序和視頻數(shù)據(jù)的緩存及顯示。
圖1 圖像系統(tǒng)硬件結(jié)構(gòu)圖
DSP圖像處理電路接受FPGA傳遞的視頻數(shù)據(jù),并通過外擴RAM對一幀視頻數(shù)據(jù)進行存儲,然后通過圖像處理算法分析得到的圖像數(shù)據(jù),找到不合格的對象,并發(fā)出氣槍驅(qū)動信號。氣槍驅(qū)動板則根據(jù)輸出的氣槍驅(qū)動信號發(fā)出標準的氣槍驅(qū)動電壓波形給氣槍,控制氣槍動作吹出殘次品。
本系統(tǒng)中相機選取DALSA公司的彩色線陣CCD相機,相機的行像素點為2 048個,數(shù)據(jù)輸出速率為40 MHz。FPGA芯片選用了Xilinx公司Spartan-3E系列的XC3S500E,為實現(xiàn)圖像數(shù)據(jù)的采集及顯示,在以FPGA為核心的硬件平臺上,需經(jīng)過軟件編程實現(xiàn)FPGA與DSP通信接口設(shè)計,VGA視頻行、場同步信號生成,在FPGA內(nèi)部建立雙口RAM,雙口RAM在數(shù)據(jù)存儲過程中輸入輸出時序如圖2所示,雙口RAM在圖像顯示過程中輸入輸出時序如圖3所示。
圖2 數(shù)據(jù)存儲時雙口RAM輸入輸出時序圖
圖3 圖像顯示時雙口RAM輸入輸出時序圖
DSP芯片選用TI公司C6000系列的處理芯片TMS320DM6437,外擴32 M*32位的DDR存儲器,工作時鐘為135 MHz。DSP的EMIF接口數(shù)據(jù)總線位寬為8位,系統(tǒng)通過EMIF接口外擴4 MB的Flash,同時DSP與FPGA通過EMIF接口傳送圖像數(shù)據(jù)。
本系統(tǒng)圖像算法研究以識別破損花生為對象,通過仿真軟件MATLAB研究不同的圖像處理算法,包括濾波算法、形態(tài)學(xué)算法、輪廓提取算法和幾何參數(shù)提取算法。根據(jù)識別的效果和處理的時間,選取合適的算法,達到計算花生破損區(qū)域面積,識別不合格花生的目的。最后根據(jù)花生輪廓計算了花生的幾何參數(shù),為花生形狀識別和分級奠定基礎(chǔ)。在破損花生的檢測過程中,首先需要根據(jù)統(tǒng)計分析人工設(shè)定傳送帶、花生破損區(qū)域的RGB數(shù)值,正?;ㄉ实腞GB數(shù)值以及傳送帶的RGB數(shù)值。色選系統(tǒng)根據(jù)設(shè)定的顏色識別背景,正常花生和破損區(qū)域。然后二值化圖像,識別圖像中每?;ㄉ妮喞?,計算每?;ㄉ衅茡p區(qū)域的面積,如果面積大于預(yù)設(shè)數(shù)值,則標記不合格的花生,并發(fā)送氣槍驅(qū)動信號。
在數(shù)字圖像處理中,常用的是面向硬件的RGB模型,該模型廣泛應(yīng)用于彩色監(jiān)視器和視頻攝像機中;在RGB模型中,每種顏色由紅、綠、藍三種色彩組合而成。
圖4(a)是拍攝的包含表皮破損的花生圖片,圖片尺寸為2 048×1 800,傳送帶背景為白色。通過對花生表皮顏色和破損區(qū)域的RGB值進行統(tǒng)計分析,可得到破損區(qū)域RGB值的范圍:R[200,240],G[150,200],B[120,170],根據(jù)背景色白色的RGB值,去除圖像的背景,并將破損區(qū)域標識出來,得到圖4(b)。
圖4 花生圖像RGB顏色處理
二值圖像則是指圖像中像素點數(shù)值只有兩種可能的0和1,不是黑就是白。破損花生檢測過程中,只需要獲取花生外圍輪廓,來計算花生的幾何參數(shù),而不需要花生內(nèi)部紋路信息。所以圖像處理過程中,先通過RGB數(shù)值的統(tǒng)計分析,標識花生圖像破損區(qū)域。然后去除背景,獲得二值化后的花生圖像,可以減少數(shù)據(jù)處理量,加快運算速度。
在工業(yè)相機成像過程中,由于拍攝的環(huán)境因素及傳感器本身的影響,圖像中往往含有各類噪聲,圖像處理算法的運行效果會受到影響。因此,為了消除圖像中噪聲的干擾,改善圖像的質(zhì)量,需要通過濾波算法來處理圖像。常見的圖像噪聲有兩種,一種是椒鹽噪聲,另一種是高斯噪聲。椒鹽噪聲是圖像傳感器,傳輸信道,解碼處理等產(chǎn)生的亮暗點噪聲,往往由圖像切割引起,以脈沖的形式出現(xiàn)。椒鹽噪聲分為鹽噪聲(Salt Noise)和胡椒噪聲(Pepper Noise),鹽噪聲屬于高灰度噪聲;胡椒噪聲屬于低灰度噪聲,呈現(xiàn)在圖像上就是亮暗相間噪點。
常用的圖像濾波算法可分為兩類,空域方法和頻域方法??沼驗V波是對目標像素點的鄰域內(nèi)所有像素執(zhí)行的預(yù)定義操作的結(jié)果,濾波后的計算值來替代目標像素點。頻域濾波則是通過傅里葉變換處理圖像數(shù)據(jù),并剔除特定的頻率分量,實現(xiàn)噪聲的濾除。
中值濾波算法是將鄰域中的像素點按數(shù)值的大小排序,用排序在中間的數(shù)值來替代該像素點。中值濾波的算法簡單,能夠有效的濾除圖像中的椒鹽噪聲,同時不明顯改變物體原來的細節(jié)特征,計算公式如(1)所示:
g(x,y)=med{f(x-k,y-l),(k,l∈W)}
(1)
其中:f(x,y)、g(x,y)分別為原始圖像和處理后圖像。W為二維模板,通常為3×3,5×5的區(qū)域。
圖5 改進中值濾波后的花生圖像
本文為了減少計算復(fù)雜度,對花生圖像先做二值化處理,像素點取值僅有0和1兩種可能。在中值濾波的模板中,則不需要排序,通過求和可得到中值。當(dāng)9個數(shù)和小于5時,則中值為0,否則為1。改進的中值濾波的結(jié)果如圖5所示,在MATLAB軟件下的計算時間分別為0.080 s和0.081 s。
在圖像處理時,由于濾波算法的不足,圖像中往往含有一些噪點,會影響邊緣檢測的處理結(jié)果。所以需要通過開運算和閉運算處理,來平滑物體輪廓,去除雜點[6]。
膨脹運算能夠使物體的邊緣輪廓向外擴張,將輪廓周圍的點合并到物體中,使物體的面積增大。它通過固定的結(jié)構(gòu)元素去掃描圖像中的每一個像素點,并與圖像做或運算,如果都為0,圖像該像素點值為0,否則為1。膨脹運算可以消除圖像中的孔狀噪聲,同時由于二值化和濾波可能導(dǎo)致物體被分割為不連通的區(qū)域,膨脹運算能連接它們。
腐蝕運算能夠使物體的邊緣輪廓向內(nèi)收縮,物體的面積變小。它通過選取合適的結(jié)構(gòu)元素,掃描整個圖像。結(jié)構(gòu)元素與圖像做與運算,如果結(jié)果都為1,圖像該像素點值為1,否則為0。腐蝕可以去除噪聲面積小于結(jié)構(gòu)元素的物體。在拍攝時如果不同物體相連,圖像二值化后兩個物體為連通的區(qū)域,腐蝕運算能分開兩個物體。
開運算首先對圖像進過腐蝕運算,之后進行膨脹運算,一次開運算的效果即濾除背景中的噪點并保證花生內(nèi)部基本不變,其運算結(jié)果如圖6所示。如圖7是對開運算后的花生圖像做閉運算處理結(jié)果。膨脹運算會消除圖像內(nèi)部的空洞,平滑物體邊界并使物體面積變大。最后通過腐蝕運算,能夠得到去除大部分噪點,平滑目標對象輪廓邊緣,使花生面積縮小到和初始幾乎一樣。
圖6 花生圖像開運算結(jié)果
圖7 花生圖像閉運算結(jié)果
花生圖像經(jīng)過預(yù)處理以后,可以得到濾除噪聲的花生二值圖像,之后采用8鄰域鏈碼來處理圖像得到花生仁的輪廓和位置。即從物體的邊界上任意選取某個點的坐標開始,采用順時針檢索方向,首先尋找目標左下方第一個輪廓點,以此作為搜索的起點,搜索以它為中心的8個相鄰的像素點。定義初始搜索的方向為左上方,如果發(fā)現(xiàn)是黑點,則為第二個邊界點,如果不是,則順時針繼續(xù)搜索。若沒有發(fā)現(xiàn)黑點,則此點為孤立點。繼續(xù)采用同樣的方法,搜索下一個物體的輪廓,由于整個搜索過程中,始終沿著順時針方向檢測,可確保輪廓檢測不進入物體的內(nèi)部。當(dāng)搜尋的點返回起始點時,則檢測完成,將獲得的輪廓坐標放入一個數(shù)組中,就可以獲得物體的外圍輪廓。
經(jīng)過前面的濾波和形態(tài)學(xué)處理后,對二值化的花生圖像進行邊界輪廓提取,得到的結(jié)果如圖8所示,在Matlab下計算時間為T=0.058 s。
圖8 花生仁邊界曲線
經(jīng)過預(yù)處理后的花生二值化圖像,花生所在和黑色部分即連通區(qū)域。在花生內(nèi)部區(qū)域的破損面積計算時,需要識別花生顆粒并編號。經(jīng)過前面的濾波和形態(tài)學(xué)處理后,對二值化的花生圖像進行連通域檢測,連通區(qū)域檢測采用Two-Pass算法,只需對掃描兩次圖像即可得到最終結(jié)果,第一次掃描時:訪問圖中的像素點,當(dāng)像素點值為1時,判斷鄰域所有點的像素值,如果都為0則賦予該點一個新標號。如果鄰域中有像素點值不為0,則把鄰域中最小的標號賦予該點,同時將鄰域中的不同的標號視歸為同一類。第二次掃描:把同一類的標號值都用其中的最小值代替,從而實現(xiàn)連通域的標記。該算法找到所有的連通區(qū)域,并給每個連通域賦予唯一的標識。經(jīng)過前面的濾波和形態(tài)學(xué)處理后,對二值化的花生圖像進行連通域檢測,得到的結(jié)果如圖9所示,在Matlab下計算時間為T=0.021 s,時間比輪廓檢測要短,圖中不同的花生通過不同的灰度值標識。
圖9 連通域標記算法示意圖
通過前面的分析,根據(jù)圖像顏色處理、中值濾波、形態(tài)學(xué)處理和連通域算法,得到了破損區(qū)域標識的圖像以及識別連通的花生區(qū)域,計算每個花生的破損點數(shù),則可得到破損區(qū)域的面積?;ㄉ茡p面積計算的流程圖如圖10所示。
圖10 花生破損區(qū)域檢測流程圖
圖像處理的結(jié)果如圖11所示,此方法計算了圖像中每個花生內(nèi)部的破損區(qū)域面積,計算的結(jié)果如表1所示,破損區(qū)域面積的閾值設(shè)置為500個像素點,則編號為2、3、5、6、7的花生都不合格,氣槍的動作范圍為破損花生的整個區(qū)域。同時,花生輪廓檢測的實現(xiàn),也為色選系統(tǒng)今后實現(xiàn)花生幾何特征參數(shù)的提取,花生分級實驗實現(xiàn)奠定了基礎(chǔ)。
表1 花生破損區(qū)域面積(單位為像素點)
圖11 破損面積計算法結(jié)果
根據(jù)輪廓檢測算法獲取的圖片中花生仁的輪廓,計算花生的幾何特征參數(shù),幾何參數(shù)反應(yīng)了花生的形狀特征,為之后色選系統(tǒng)移植花生分級等算法奠定了基礎(chǔ)。常用的幾何特征量有:面積、周長、形心、長軸和短軸。
圖9的分辨率為2 048×1 800,根據(jù)輪廓上所有點的坐標值及上面的算法來計算花生的幾何參數(shù)。計算的結(jié)果如表2和3所示。
表2 花生形心坐標表 像素點
表3 花生幾何參數(shù)表 像素點
在不同的生產(chǎn)需求中,可依據(jù)上表3中花生的幾何參數(shù),對其進一步篩選。
本文設(shè)計了基于DSP和FPGA的圖像選別系統(tǒng),分析了硬件結(jié)構(gòu)和數(shù)據(jù)傳輸?shù)倪^程,采用仿真工具MATLAB研究了有關(guān)的圖像處理算法。以破損花生檢測為試驗對象,分析RGB顏色模型,實現(xiàn)了花生破損區(qū)域的識別。改進了中值濾波算法。采用形態(tài)學(xué)運算,消除了圖像中的點/孔狀噪聲,平滑了物體的邊界輪廓。采用8鄰域鏈碼算法和連通域檢測算法,實現(xiàn)了花生邊界輪廓的檢測,計算了花生內(nèi)部破損區(qū)域的面積。綜上提出了破損花生檢測的算法并移植到DSP上進行測試?;ㄉY選時花生級別也是重要的考慮因素,故本文在最后根據(jù)花生輪廓曲線,計算出了花生的幾何特征參數(shù),為進一步篩選花生奠定了基礎(chǔ)。
[1] 章 煒. 機器視覺技術(shù)發(fā)展及其工業(yè)應(yīng)用[J]. 紅外,2006,27(2):11-17.
[2] 張五一,趙強松,王東云. 機器視覺的現(xiàn)狀及發(fā)展趨勢[J]. 中原工學(xué)院學(xué)報,2008,19(1):9-12,15.
[3] 林茂先. 新型雜糧色選機的應(yīng)用[J]. 糧食加工, 2014(10):24-27.
[4] 張 麟. 光電色選機及其應(yīng)用[J]. 農(nóng)機與食品機械, 1997(5): 24-27.
[5] 張德豐. 數(shù)字圖像處理[M]. 北京:人民郵電出版社, 2015.
[6] 劉志敏,楊 杰. 基于數(shù)學(xué)形態(tài)學(xué)的圖像形態(tài)濾波[J]. 紅外與激光工程, 1999(4):10-15,33.
Design on Image Sorting System Based on DSP and FPGA
Zhao Zhiheng, Song Huan, Ma Yong, Zhang Yifu
(School of Electrical Engineering & Automation, Harbin Institute of Technology, Harbin 150001, China)
Color sorting technology is a highly-synthesized one connected with light, electricity, gas, machine and image processing. Sorting systems based on DSP and FPGA have many advantages such as high precision, high processing rate, high integration level and low power consumption. It first introduces the hardware structure of the image sorting system, and then uses MATLAB simulation tool to research several images processing algorithms. Finally, it tests the programs of the sorting system on DSP and proposes the broken peanuts detection algorithm. In this way, the selection of peanuts according to the size of damaged area is achieved. Except the detection of damaged peanuts, the target of peanuts screening also includes the size of peanuts. Based on the above, it puts forward the calculation method about the geometric parameters of peanuts.
machine vision; image processing; image sorting system
2016-12-08;
2016-12-29。
趙志衡(1971-),男,黑龍江哈爾濱人,教授,博士研究生導(dǎo)師,主要從事高電壓強脈沖磁場和嵌入式系統(tǒng)方向的研究。
1671-4598(2017)08-0123-04
10.16526/j.cnki.11-4762/tp.2017.08.032
TP393
A