基于ZYNQ的流水線食品外觀檢測系統(tǒng)設(shè)計
王明全,胡芯暢,關(guān)欣然,李根旺
本文引用地址:http://cafeforensic.com/article/201905/401018.htm?。|北大學(xué)計算機(jī)科學(xué)與工程學(xué)院,遼寧 沈陽 110819)
摘要:針對圖像處理技術(shù)在食品加工領(lǐng)域的應(yīng)用,提出了一種基于ZYNQ平臺的流水線食品外觀辨別檢測系統(tǒng)設(shè)計方案。該系統(tǒng)采用FPGA+ARM架構(gòu)的ZYNQ-7000平臺實現(xiàn),利用單目OV5640攝像頭進(jìn)行圖像采集,并將采集后的視頻圖像進(jìn)行預(yù)處理以及VDMA視頻圖像顯示,之后采用對射式光電開關(guān)達(dá)到流水線上食品目標(biāo)的檢測目的,最后通過圖像測量方法提取食品特征。該系統(tǒng)解決了流水線上不規(guī)則食品外觀檢測辨別問題,可應(yīng)用于食品加工質(zhì)量檢測領(lǐng)域。
關(guān)鍵詞:ZYNQ;食品外觀檢測;計算機(jī)視覺;特征提取;OV5640
0 引言
隨著人們物質(zhì)生活水平的提高,對食品質(zhì)量要求也越來越高,而國家經(jīng)濟(jì)的快速發(fā)展促進(jìn)食品生產(chǎn)速度隨之提升,因此,如何在流水線上保證生產(chǎn)速度的同時檢測食品質(zhì)量已逐漸成為研究問題。
目前,市面上存在的圖像傳感器中,大多以模板匹配的方法對特定規(guī)格的產(chǎn)品進(jìn)行檢測,如車牌、餅干、門窗等,而對于許多不規(guī)則的食品如鳳爪、鴨翅、蝦仁等卻無法對其包括產(chǎn)品尺寸、傳送方向等進(jìn)行有效檢測。本設(shè)計采用具有雙核的ARM-Cortex TM -A9處理系統(tǒng)(PS)和Artix-7可編程邏輯(PL)的ZYNQ作為主控制和算法處理單元,通過圖像測量方法提取不規(guī)則食品外觀共同特征,是進(jìn)一步檢測食品傳送方向是否與流水線方向一致,以及食品缺損問題的關(guān)鍵。
從我國食品發(fā)展行業(yè)趨勢來看,市場上需要能夠應(yīng)用在流水線上的高精度、針對無特定性狀食品檢測處理的圖像傳感器,因此其具有十分廣闊的市場前景。
1 系統(tǒng)的總體結(jié)構(gòu)
整個系統(tǒng)由圖像采集模塊OV5640、圖像處理模塊、VGA顯示模塊、機(jī)械執(zhí)行模塊以及光電開關(guān)組成。如圖1所示。
圖像處理模塊是整個系統(tǒng)的控制核心。圖像采集單元通過單目攝像頭OV5640對食品生產(chǎn)線上的食品成品進(jìn)行采集,由光電開關(guān)檢測當(dāng)前圖像采集區(qū)域是否有完整食品傳入,將觸發(fā)信號傳送給ZYNQ平臺對實時采集到的圖像數(shù)據(jù)進(jìn)行灰度化、閾值分割、圖像膨脹、特征提取,以實現(xiàn)運(yùn)動食品的檢測,并對當(dāng)前檢測食品傳送方向是否正確以及是否存在缺損作出判斷。通過控制分揀開關(guān),將次品與合格品分類集中,方便下一步的產(chǎn)品生產(chǎn)包裝工藝。
視頻圖像顯示單元是在FPGA控制下對處理前后的視頻圖像進(jìn)行顯示 [1] 。其中圖像測量算法是基于背景顏色的圖像分割算法,它是本文在灰度閾值分割算法基礎(chǔ)上提出的一種適合本系統(tǒng)的算法。
2 圖像采集及顯示系統(tǒng)設(shè)計
圖像采集系統(tǒng)平臺的設(shè)計主要包括以下幾個部分:單目OV5640攝像頭模組,用來實現(xiàn)圖像的采集;ZNYQ-7000系列開發(fā)板用來實現(xiàn)攝像頭采集、數(shù)據(jù)存儲與傳遞以及完成圖像處理算法;VGA顯示器用來顯示攝像頭實時采集的圖像以及經(jīng)ZYNQ開發(fā)板處理后的結(jié)果。
2.1 OV5640攝像頭模塊
本模塊設(shè)計中采用美國OmniVision公司的CMOS圖像傳感器OV5640。OV5640擁有2590×1944的感光陣列,能夠以15幀的500萬像素的分辨率記錄圖像,并且可對輸出數(shù)據(jù)格式、圖像分辨率、輸出幀率以及圖像特性等進(jìn)行配置,滿足許多應(yīng)用需求 [2] 。其攝像頭模組通過DVP接口和FPGA連接實現(xiàn)圖像的傳輸,具體參數(shù)及主要特性如下:
(1)具有標(biāo)準(zhǔn)的SCCB接口;
(2)支持多種視頻輸出格式:RAW RGB、RGB565/555/444、YCbCr422等;
(3)支持VGA、QVGA以及1080P分辨率輸出;
(4)支持?jǐn)?shù)字視頻端口(DVP)并行輸出接口和雙車道MIPI輸出接口。
OV5640圖像數(shù)據(jù)采集模塊是整個系統(tǒng)的輸入模塊,它主要負(fù)責(zé)將攝像頭采集到的圖像數(shù)據(jù)傳送到FPGA例化的存儲器中,使用DVP傳輸視頻時,PCLK為像素時鐘,HREF為行同步信號,VSYNC為場同步信號,數(shù)據(jù)線為8 bit,在FPGA中配置RGB565輸出。
OV5640芯片采集的數(shù)據(jù)通過FPGA軟核VDMA0、VDMA1分別用作視頻的輸入,將數(shù)據(jù)寫入與PS端相連的DDR中,以及視頻的輸出。ARM核完成對存儲數(shù)據(jù)的圖像處理及分析算法。使能的VDMA在DDR中讀取相應(yīng)的數(shù)據(jù),數(shù)據(jù)經(jīng)過圖像測量算法提取特征后再輸出。VDMA獲取的數(shù)據(jù)均為符合AXI4協(xié)議的32位數(shù)據(jù),經(jīng)過32位數(shù)據(jù)轉(zhuǎn)24位RGB 888格式數(shù)據(jù)后,根據(jù)VGA輸出協(xié)議,在相應(yīng)的時序控制下,依次轉(zhuǎn)換為DVI數(shù)據(jù)輸出到VGA顯示器中 [3] 。
2.2 VDMA配置模塊
VDMA是針對視頻圖像處理的一個特殊的DMA。在ZYNQ-7000的PS中,包含處理器和DDR存儲器控制器;而在PL中,實現(xiàn)AXI DMA和AXI數(shù)據(jù)FIFO。通過AXI-Lite總線,處理器與AXI DMA通信,用于建立、初始化和監(jiān)控數(shù)據(jù)傳輸。VDMA有一個AXI4 MemoryMap接口,用于對存儲器進(jìn)行讀寫視頻數(shù)據(jù),AXI4-Lite接口用于讀取VDMA狀態(tài)以及配置VDMA的參數(shù);AXI4-Stream接口用于視頻的輸入和輸出。VDMA系統(tǒng)結(jié)構(gòu)原理如圖2所示。
在該設(shè)計中,AXI_MM2S和AXI_S2MM是存儲器映射的AXI4總線,提供了對DDR存儲器的訪問。AXIS_MM2S和AXIS_2MM是AXI4 Stream總線,它可以連續(xù)的傳輸數(shù)據(jù),而不需要提供地址信息 [4] 。
2.3 VGA顯示設(shè)計
VGA顯示模塊分為:上電等待模塊、寄存器配置模塊、攝像頭采集模塊、SDRAM控制模塊以及系統(tǒng)控制模塊。其中FIFO控制模塊原理機(jī)制如圖3所示。
由于視頻圖像數(shù)據(jù)通過ZYNQ系統(tǒng)的高速AXI_HP0口輸出,系統(tǒng)使用AXI_VDMA IP核來通過AXI_interconnect連接ZYNQ系統(tǒng)的HP0口,AXI_subset_converter來進(jìn)行數(shù)據(jù)格式的轉(zhuǎn)換,轉(zhuǎn)換為24位的視頻圖像數(shù)據(jù),V_axi4s_vid_out IP將視頻流裝換成RGB888的視頻格式信號。最后視頻圖像通過自定義IP核(rgb2dvi)轉(zhuǎn)換成TMDS信號驅(qū)動VGA顯示器顯示圖像。構(gòu)架好的系統(tǒng)如圖4所示。
2.4 光電開關(guān)檢測設(shè)計
為減少圖像數(shù)據(jù)處理量,并較準(zhǔn)確確定視頻圖像流中哪一幀中食品進(jìn)入到單目攝像頭圖像采集區(qū)域內(nèi),系統(tǒng)設(shè)計中采用對射式光電開關(guān)來檢測目標(biāo),并將觸發(fā)信號傳送到ZYNQ中,在間隔一定時間后處理當(dāng)前幀圖像,確保其采集食品圖像的完整性。
采用對射式的光電開關(guān)可分辨不透明的反光物體,有效距離大,不易受干擾,靈敏度高,并且響應(yīng)時間快,可將觸發(fā)信號傳送給ZYNQ平臺的I/O口作為進(jìn)行圖像測量的起始信號。
3 系統(tǒng)軟件設(shè)計
圖像處理部分包括:圖像預(yù)處理、圖像膨脹及基于圖像測量的特征提取。軟件設(shè)計流程如圖6。
3.1 圖像預(yù)處理設(shè)計
針對不規(guī)則食品外觀的檢測,首先要對圖像進(jìn)行預(yù)處理,再進(jìn)一步用圖像測量算法提取圖像特征。本文提取的特征是基于灰度圖像的,需將采集到的24位真彩色圖轉(zhuǎn)換為灰度圖
由于光源和實際拍攝的情況,采集到的圖像可能含有噪聲,為排除噪聲的影響,先對圖像進(jìn)行去噪的處理。根據(jù)項目需要,采用中值濾波的方法。這種非線性的圖像平滑法對脈沖干擾級的椒鹽噪聲抑制效果較好,能保護(hù)邊緣少受模糊的影響。
3.2 圖像形態(tài)學(xué)處理
為了更加明顯區(qū)分背景與目標(biāo),需將灰度圖進(jìn)行二值化處理來區(qū)分鳳爪與傳送帶。采用閾值分割的方法,根據(jù)閾值將圖像中灰度級大于閾值的像素點和小于像素值的像素點分開,從而實現(xiàn)圖像分割 [5] 。
其中,T為預(yù)設(shè)的閾值,從0~255中取值,具體大小由工業(yè)流水線實際環(huán)境決定,根據(jù)多次試驗可選取150作閾值分割,是目標(biāo)為黑色,背景為白色。
根 據(jù) 圖像 特 征 提 取算 法 識 別 的要 求 , 需 通過遍歷像素值所在區(qū)域通過黑白像素值邊界的跳躍次數(shù)來區(qū)分爪趾的數(shù)目及食品被放置方向與傳送帶方向是否一致,因此需要保證目標(biāo)的連通性要完整,將得到的二值化圖像進(jìn)行一輪腐蝕膨脹,以消除噪聲點,使不連續(xù)的地方連接起來,為下一步的圖像識別及特征提取做基礎(chǔ)。
本系統(tǒng)中以鳳爪為例,對二值化后的目標(biāo)鳳爪進(jìn)行圖像膨脹,采用15×15大小的方陣集合做膨脹的結(jié)構(gòu)元素。關(guān)鍵源代碼如下(定義flag為記錄結(jié)構(gòu)元素區(qū)域內(nèi)各像素值與運(yùn)算后的結(jié)果):
for(j=0;j<height;j++){
for(i=0;i<width;i++){ //對二值圖遍歷
flag=1; //賦初值
//采用15×15大小結(jié)構(gòu)元素作掩膜處理
for(m=j-1;m<j+15;m++){
for(n=i-1;n<i+15;n++){
if(image_in[j][i]==0||image_in[m][n]==0)
{flag=0;break;}
else{flag=1;}}
if(flag==0){break;}}
//根據(jù)flag值來輸出膨脹后結(jié)果
if(flag==0){image_out[j][i]=0;}
else{image_out[j][i]=255;}}}}
通過圖像膨脹后的結(jié)果如圖7所示:可去除二值化結(jié)果中的不連續(xù)的噪聲點及食品本身瑕疵的影響。
3.3 圖像測量算法設(shè)計
機(jī)器視覺定位的最終目的是利用工業(yè)相機(jī)采集運(yùn)動食品的圖像,再通過算法確定運(yùn)動目標(biāo)的特征點與特征邊緣,以方便進(jìn)行機(jī)械分揀 [6] 。對于在高速流水線上采集到的視頻圖像流進(jìn)行處理,首先,通過光電開關(guān)的觸發(fā)信號在視頻流中確定食品目標(biāo)已全部進(jìn)入圖像采集區(qū)域,對該幀圖像作圖像識別,并在確定幀圖像后,識別目標(biāo)送入方向是否正確及是否存在殘缺。
對于閾值化并經(jīng)過圖像膨脹處理后,目標(biāo)區(qū)域是完整的連通區(qū)域,可通過遍歷查詢提取該不規(guī)則圖像邊緣特征。從鳳爪這個研究對象的特點來看具有以下特性:
(1)從形狀上看,鳳爪共有4個指頭,其中一端較短,其余三個指頭較長,中間者為最長。骨干部分占整個長度的一半左右。
(2)從顏色上看,鳳爪色澤絳紅,深淺程度基本一致,掌心部分偏暗紅。
以上分析,作為待識別的鳳爪,雖然是不規(guī)則形狀,但無論從顏色還是形狀上,都能保持一個較穩(wěn)定的特性,因此在編寫算法程序中,可通過數(shù)組記錄圖像的每行像素值黑白邊界跳躍次數(shù),以此提取流水線上加工食品特征,并根據(jù)不同食品特征要求通過遍歷特征數(shù)組及測量算法作判別,按照判別結(jié)果啟動分揀開關(guān)將食品歸入不同的箱中。
4 結(jié)論
本文針對食品流水線上的圖像外觀辨別問題進(jìn)行了分析與解決方案的提出,利用圖像測量的方法對不規(guī)則食品進(jìn)行特征提取,并采用ARM+FPGA結(jié)構(gòu)的實時圖像處理平臺以及光電開關(guān)的結(jié)合,使系統(tǒng)小型化,利于后期進(jìn)一步開發(fā)、成本降低,便于針對特定應(yīng)用定制等優(yōu)勢、具有較高的工程應(yīng)用參考價值,流水線食品辨別系統(tǒng)擁有廣闊的應(yīng)用空間。
參考文獻(xiàn)
[1].杜文略,劉建梁,沈三民等.基于FPGA的運(yùn)動目標(biāo)檢測系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2014,40(11):36-42.
[2].張震.基于FPGA的USB3.0高速圖像采集系統(tǒng)設(shè)計與圖像特征提取算法研究[D].西安電子科技大學(xué)開發(fā)板的攝像頭采集與處理系統(tǒng)實驗設(shè)計與實現(xiàn)[J].計算機(jī)教育,2018(4):23-26.
[3].何賓,張艷輝.Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計與實現(xiàn)[M].北京:電子工業(yè)出版社.2016.
[4].吳長冶.食品(蝦仁)分揀系統(tǒng)中的圖像處理算法的研究[D].南京理工大學(xué).2012.
[5].李明.運(yùn)動食品機(jī)器視覺的識別與定位技術(shù)的研究[D].哈爾濱商業(yè)大學(xué).2014.
[6].胡健.基于Zynq的智能相機(jī)圖像處理流水線程序優(yōu)化與實現(xiàn)[J].通信設(shè)計與應(yīng)用.2017(10):3-4.
作者簡介
王明全(1973-),男,博士,講師,主要研究方向:信號與信息處理.
本文來源于科技期刊《電子產(chǎn)品世界》2019年第6期第41頁,歡迎您寫論文時引用,并注明出處
評論