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