王蕾
(新鄉(xiāng)市質(zhì)量技術(shù)監(jiān)督檢驗(yàn)測(cè)試中心,河南新鄉(xiāng)453000)
基于機(jī)器視覺的馬鈴薯自動(dòng)分檢系統(tǒng)
王蕾
(新鄉(xiāng)市質(zhì)量技術(shù)監(jiān)督檢驗(yàn)測(cè)試中心,河南新鄉(xiāng)453000)
利用機(jī)器視覺的自動(dòng)分檢技術(shù),設(shè)計(jì)馬鈴薯采摘后的商品化處理的解決方案。系統(tǒng)先準(zhǔn)確抓取馬鈴薯圖像,經(jīng)二值化后提取圖像邊緣,然后使用特定的算法求出邊緣的最小外接圓和最大內(nèi)切圓,最終實(shí)現(xiàn)馬鈴薯等級(jí)自動(dòng)評(píng)估分類。系統(tǒng)實(shí)現(xiàn)了每分鐘50個(gè)馬鈴薯的分級(jí)速度,錯(cuò)誤分類在2%以內(nèi),大大提高了農(nóng)產(chǎn)品質(zhì)量檢測(cè)、品種的識(shí)別和分級(jí)效率。
機(jī)器視覺;自動(dòng)分檢;馬鈴薯檢測(cè)
中國馬鈴薯種植面積和總產(chǎn)量居世界首位,也是全球第十大馬鈴薯出口國[1]。要使馬鈴薯作為高質(zhì)量、高附加值農(nóng)產(chǎn)品進(jìn)入流通領(lǐng)域,就必須減少采后損失、提高附加值,而高度重視馬鈴薯采摘后的商品化處理技術(shù)的自動(dòng)化、精細(xì)化是農(nóng)產(chǎn)品檔次提高和增值的重要途徑。
近年來,隨著機(jī)器視覺技術(shù)的發(fā)展,基于機(jī)器視覺的農(nóng)產(chǎn)品質(zhì)量檢測(cè)、品種識(shí)別和分級(jí)的設(shè)備已在發(fā)達(dá)國家實(shí)現(xiàn)商品化。Marchant等研制出根據(jù)馬鈴薯尺寸進(jìn)行分級(jí)的機(jī)器視覺系統(tǒng),通過測(cè)量馬鈴薯的最大、最小寬度,并估計(jì)其質(zhì)量,每分鐘可實(shí)現(xiàn)對(duì)40個(gè)馬鈴薯的在線分級(jí)[2];Tao等研究了基于傅里葉變換的馬鈴薯形狀分級(jí)的品質(zhì)檢測(cè)系統(tǒng)[3];Deck等把馬鈴薯按照形狀、尺寸和發(fā)綠程度進(jìn)行分類,其結(jié)果好于統(tǒng)計(jì)分類[4]。目前,國內(nèi)機(jī)器視覺技術(shù)相對(duì)于發(fā)達(dá)國家有一定的差距,農(nóng)業(yè)機(jī)械自動(dòng)化水平也相對(duì)滯后[5]。本研究是根據(jù)馬鈴薯等級(jí)規(guī)格的相關(guān)要求,從形狀上對(duì)馬鈴薯進(jìn)行自動(dòng)分級(jí)。
1.1研究方向
馬鈴薯從形狀上可被看作是橢球體。從數(shù)學(xué)角度看,只要知道長(zhǎng)軸和短軸的數(shù)值,就可以完全描述橢球。嚴(yán)格地講,必須測(cè)量出同一個(gè)馬鈴薯在無數(shù)個(gè)正交方向上的長(zhǎng)軸和短軸(長(zhǎng)軸即是圖像邊緣的最小外接圓直徑,短軸即是圖像邊緣的最大內(nèi)切圓直徑),才可以準(zhǔn)確確定其形狀,但考慮到實(shí)際中無法獲取無數(shù)個(gè)方向上的圖像,且三個(gè)正交方向的圖片足以滿足精度要求,本文只取三個(gè)正交方向的圖像,也就是抓取馬鈴薯的三視圖圖像,并測(cè)量三個(gè)方向上的軸長(zhǎng),以此評(píng)估其大小和形狀。
根據(jù)以上分析,作如下定義:最小外接圓半徑Rw為長(zhǎng)半軸;最大內(nèi)切圓半徑Rn為短半軸;變量A=Rw× Rn表征馬鈴薯大小,值越大表示馬鈴薯越大;變量R= Rn/Rw表征馬鈴薯形狀的好壞,值越接近于1表示形狀越好。具體算法為Rw=max{Rw1,Rw2,Rw3},Rn=max{Rn1,Rn2,Rn3}。這里,Rwi(i=1,2,3)是從三個(gè)方向獲取的圖像輪廓的最小外接圓半徑,Rni(i=1,2,3)是從三個(gè)方向獲取的圖像輪廓的最大內(nèi)切圓半徑。
1.2研究步驟
本文要實(shí)現(xiàn)的馬鈴薯分級(jí)速度為每分鐘50個(gè),錯(cuò)誤分類的比值在2%以內(nèi)。實(shí)現(xiàn)過程如下。
(1)根據(jù)各類標(biāo)準(zhǔn)(如視頻標(biāo)準(zhǔn))的規(guī)定,選擇合適的視覺傳感器、采集卡、電路模塊、總線等,并選用柯拉照明方式,搭建圖像采集平臺(tái)。
(2)編寫程序?qū)崿F(xiàn)圖像分析處理。依次是均衡化、濾波、二值化、膨脹腐蝕操作、提取邊緣、做出內(nèi)切圓和外接圓、計(jì)算、分級(jí)。
(3)做好硬件和軟件的接口,驅(qū)動(dòng)傳動(dòng)帶式機(jī)械結(jié)構(gòu)對(duì)馬鈴薯進(jìn)行分級(jí)歸類。
2.1系統(tǒng)功能
系統(tǒng)分為圖像采集、信號(hào)傳輸與校正、圖像分析與處理和機(jī)械結(jié)構(gòu)四個(gè)子系統(tǒng)。
圖像采集子系統(tǒng)包括攝像頭、采集卡、照明裝置以及輔助機(jī)械結(jié)構(gòu)等,主要用于抓取馬鈴薯最初的圖像。因?yàn)樽畛鯃D像的好壞直接影響到后續(xù)信號(hào)處理的繁簡(jiǎn)程度及最終結(jié)果的準(zhǔn)確性,所以必須保證拍攝環(huán)境干凈、照明良好。
信號(hào)傳輸與校正子系統(tǒng)主要用于傳輸采集到的圖像信息。因?yàn)閳D像在傳輸過程中會(huì)產(chǎn)生失真并會(huì)有噪聲加入,所以必須設(shè)置校正電路,常見的有孔闌校正電路、超前滯后校正電路等,具體的校正方式需根據(jù)實(shí)際情況而定。另外,在信號(hào)傳輸?shù)倪^程中可根據(jù)實(shí)際情況需要設(shè)計(jì)特定的電路,如邊緣增強(qiáng)電路、濾波電路等。需要說明的是,信號(hào)傳輸與校正子系統(tǒng)的好壞直接影響程序的繁簡(jiǎn)程度。如果傳輸電路可以對(duì)圖像進(jìn)行有效校正,那么程序就可以相對(duì)簡(jiǎn)單高效,當(dāng)然,也不宜為了使程序簡(jiǎn)單而使電路過于復(fù)雜,軟硬件需均衡匹配。
圖像分析與處理子系統(tǒng)主要指計(jì)算機(jī)及所需軟件,它用于對(duì)接收到的圖像進(jìn)行信號(hào)處理和分析,并給出最終評(píng)定指標(biāo)。軟件部分可以自主開發(fā)或基于成熟的商品軟件進(jìn)行二次開發(fā)獲得。復(fù)雜系統(tǒng)采用二次開發(fā)模式,可縮短開發(fā)周期,且能保證軟件的可靠性。本文中的系統(tǒng)相對(duì)簡(jiǎn)單,故采用自主開發(fā)的模式,使用的軟件為MATLAB。
影響圖像分析與處理子系統(tǒng)的關(guān)鍵因素是算法,算法的優(yōu)劣直接影響到評(píng)定結(jié)果的準(zhǔn)確性。
機(jī)械結(jié)構(gòu)是代替人力分揀馬鈴薯的最終執(zhí)行單元。此部分由單片機(jī)或PLC控制,單片機(jī)或PLC接收到上位機(jī)的分級(jí)信號(hào),調(diào)用相應(yīng)的程序,驅(qū)動(dòng)機(jī)械部分動(dòng)作,實(shí)現(xiàn)對(duì)馬鈴薯的分級(jí)。
2.2技術(shù)指標(biāo)
技術(shù)指標(biāo)主要有兩個(gè):速度和準(zhǔn)確性。下面分析影響這兩項(xiàng)指標(biāo)的因素。
(1)設(shè)計(jì)要求約1 s檢測(cè)一個(gè)馬鈴薯,即在約1 s的時(shí)間內(nèi)要完成以下過程:首先由機(jī)械結(jié)構(gòu)將一個(gè)馬鈴薯送至圖像采集點(diǎn),然后由攝像頭采集馬鈴薯圖片并將圖片送至計(jì)算機(jī)進(jìn)行分析處理,接著由計(jì)算機(jī)判斷出馬鈴薯的等級(jí),并發(fā)出相應(yīng)的信號(hào)給PLC,最后通過PLC控制機(jī)械結(jié)構(gòu)的運(yùn)行,將馬鈴薯送到規(guī)定的區(qū)域。整個(gè)過程中任何的錯(cuò)誤都會(huì)造成生產(chǎn)率下降和經(jīng)濟(jì)損失。
檢測(cè)速度受軟件和硬件兩方面的影響。在硬件方面,信道的寬度、計(jì)算機(jī)內(nèi)存都會(huì)影響計(jì)算速度。機(jī)械的執(zhí)行時(shí)間也是重點(diǎn)考慮的問題,這是因?yàn)閷?duì)馬鈴薯等農(nóng)產(chǎn)品的加工動(dòng)作必須靈活而柔和,故運(yùn)行時(shí)間會(huì)較長(zhǎng)。軟件方面,在優(yōu)化算法時(shí),首先應(yīng)考慮穩(wěn)定性,其次是快速性(本算法的執(zhí)行時(shí)間須在毫秒級(jí)),最后才是準(zhǔn)確性。這是因?yàn)?,從控制論的角度講,系統(tǒng)只能在穩(wěn)、快、準(zhǔn)三方面做出權(quán)衡選擇,而無法做到同時(shí)滿足三方面的要求。穩(wěn)定性是必需的要求,故往往在快與準(zhǔn)之間權(quán)衡。因馬鈴薯分類不需要非常精確,可以允許一定程度的誤判,故本系統(tǒng)更傾向于快。
(2)在誤判率方面也存在硬件和軟件兩方面的影響。圖像從采集到被傳送至計(jì)算機(jī)之前,其失真度取決于硬件。就本文中的設(shè)計(jì)來說,系統(tǒng)的工作環(huán)境較好,圖像傳輸距離短,硬件造成的圖像失真很小,故失真程度主要取決于算法,只要算法能準(zhǔn)確提取邊緣,找到最大內(nèi)切圓和最小外接圓,誤判率就會(huì)比較小。
綜上所述,要達(dá)到設(shè)計(jì)標(biāo)準(zhǔn)就需要在保證算法準(zhǔn)確性的前提下,提高機(jī)械結(jié)構(gòu)的靈活性與速度,提高硬件水平,例如:增加帶寬,提高數(shù)據(jù)傳輸速度;增大內(nèi)存,提高計(jì)算速度等。
3.1硬件組成
根據(jù)系統(tǒng)功能劃分,各硬件組成部分描述如下。(1)圖像采集子系統(tǒng)主要包括CCD和照明裝置,用以完成三個(gè)正交方向的圖像的采集。
(2)信號(hào)傳輸與校正子系統(tǒng)主要包括傳輸信號(hào)的總線及硬件接口,其主要任務(wù)是將采集到的圖像傳輸?shù)接?jì)算機(jī),輔助功能是校正圖像,改善圖像品質(zhì)。
(3)圖像分析與處理子系統(tǒng)主要是通過計(jì)算機(jī)來完成圖像的分析處理,并將信號(hào)送入PLC。PLC用于驅(qū)動(dòng)攝像頭拍照和機(jī)構(gòu)動(dòng)作,是整個(gè)系統(tǒng)的控制核心,也是整個(gè)系統(tǒng)有序運(yùn)行的關(guān)鍵。
(4)機(jī)械執(zhí)行機(jī)構(gòu)子系統(tǒng)是最終動(dòng)作的執(zhí)行者,受控于來自PLC的信號(hào)。這里設(shè)計(jì)了一個(gè)三自由度的馬鈴薯分級(jí)裝置,包括兩個(gè)步進(jìn)電機(jī)及一個(gè)滑塊裝置,以便對(duì)馬鈴薯進(jìn)行多角度拍攝。
3.2系統(tǒng)主要參數(shù)
系統(tǒng)機(jī)械結(jié)構(gòu)部分如圖1所示。圖1中,鐵盤體積V1=62 765 mm3,直徑D1=200 mm;塑料盤體積V2=156 871 mm3,直徑D2=200 mm;平臺(tái)托體積V3=42 400 mm3,最大直徑D3=90 mm;鋁合金聯(lián)軸器體積V4=10 130 mm3,最大直徑D4=24 mm。
圓柱轉(zhuǎn)動(dòng)慣量的計(jì)算公式為J=1/8×M×D2(M為圓柱體質(zhì)量、D為直徑),將機(jī)械結(jié)構(gòu)部分的參數(shù)代入得J1=0.00245 kg·m2,J2=0.000 95 kg·m2,J3=0.000 33kg·m2,J4太小可忽略??梢姡到y(tǒng)總體轉(zhuǎn)動(dòng)慣量J<0.004 kg·m2,電機(jī)最大轉(zhuǎn)速為1.57rad/s,角加速度α=1.57/0.1=15.7rad/s2,則轉(zhuǎn)矩為T=J·α=0.004×15.7=0.062 8 N·m。通過比較不同型號(hào)的步進(jìn)電機(jī)的各項(xiàng)參數(shù),筆者選擇了型號(hào)為57HS04的電機(jī),其保持轉(zhuǎn)矩為0.4N·m,可承擔(dān)較大的負(fù)載。
圖1 系統(tǒng)機(jī)械結(jié)構(gòu)示意圖
3.3程序設(shè)計(jì)
程序分為兩個(gè)主程序和多個(gè)子程序。界面以及相應(yīng)程序均采用MATLAB R2010b進(jìn)行編寫[6-7]。運(yùn)行程序bianyuantitu.m,可完成對(duì)采集圖像的優(yōu)化,提取圖像邊緣信息并儲(chǔ)存邊緣圖像。提取的馬鈴薯圖像如圖2和圖3所示。
[bianyuantitu.m]
clear;clc;
A=imread('1.jpg');
I=rgb2gray(A);
I2=histeq(I);
I3=im2bw(I2);
SE=strel('square',15);
I4=imclose(I3,SE);
Iedge=edge(I4);
Iedge=edge(I4);
[X,map]=gray2ind(Iedge);
Irgb=ind2rgb(X,map);
imwrite(Irgb,'3.jpg');
圖2 馬鈴薯灰度圖
圖3 馬鈴薯邊緣
運(yùn)行程序mainfcn.m,可獲得馬鈴薯邊緣的最小外接圓參數(shù)和最大內(nèi)切圓參數(shù),效果如圖4(a)和(b)所示。
[mainfcn.m]
clear all;clc;
IOrig=imread('3.jpg');
Igray=rgb2gray(IOrig);
[accum,circen,cirrad]=CircularHough_Grd (Igray,[20 30]);
len=length(circen);
kx=circen(:,1);
sumx=sum(kx);
c_x=sumx/len;
ky=circen(:,2);
sumy=sum(ky);
c_y=sumy/len;
D_f=zeros(len,1);
for i=1:len
D_f(i)=sqrt((kx(i)-c_x)^2+(ky(i)-c_y)^2);
i=i+1;
end
Dmax=max(D_f);
ro=sum(cirrad)/length(cirrad);
Rw=Dmax-ro;
figure;
imshow(Igray);
hold on;
DrawCircle(c_x,c_y,Rw,Rw,'g');hold off;
disp('最小外接圓半徑和圓心');
Rw
c_x
c_y
[m,n]=size(Igray);
Ibin=im2bw(Igray,graythresh(Igray));
Iedg=edge(Ibin,'canny');
Igray(:,:)=0;
Igray(find(Iedg))=255;
[Rn cx cy]=max_inscribed_circle(Igray);
disp('最大內(nèi)切圓半徑和圓心');
Rn
cx
cy
程序中,Rw為最小外接圓半徑,c_x和c_y為最小外接圓圓心,Rn為最大內(nèi)切圓半徑,cx和cy為最大內(nèi)切圓圓心。程序運(yùn)行結(jié)果如下:
Rw=88.968 7
c_x=181.009 8
c_y=129.762 5
Rn=53.600 4
cx=176
cy=125
圖4 mainfcn.m函數(shù)運(yùn)行結(jié)果
3.4人機(jī)交互界面
人機(jī)交互界面如圖5所示。
圖5 系統(tǒng)人機(jī)界面圖
在圖5中,面板的圖形顯示區(qū)用于顯示馬鈴薯分級(jí)頻率圖。左下角的單選框用于設(shè)置顯示內(nèi)容和形式:直方圖和立體直方圖用于顯示各級(jí)別馬鈴薯的頻數(shù),餅圖和立體餅圖用于顯示各級(jí)別馬鈴薯的百分比。右上角用于實(shí)時(shí)顯示檢測(cè)的馬鈴薯總數(shù)和各級(jí)馬鈴薯所占百分比。右下角清零按鈕可清除所有已檢測(cè)的數(shù)據(jù),使系統(tǒng)從零開始統(tǒng)計(jì)。面板上的下拉框可以設(shè)置圖形顯示區(qū)參數(shù),以便達(dá)到讓用戶滿意的可視化效果。關(guān)閉按鈕可關(guān)閉界面。
表2為1 min內(nèi)對(duì)隨機(jī)選取的50個(gè)馬鈴薯進(jìn)行系統(tǒng)自動(dòng)分檢分級(jí)和人工分級(jí)后的結(jié)果。由表2可知,視覺分級(jí)與人工分級(jí)結(jié)果一致的有49個(gè),不一致的有1個(gè),誤差在2%以內(nèi)。
表2 視覺分級(jí)與人工分級(jí)對(duì)比表
本文利用機(jī)器視覺實(shí)現(xiàn)了馬鈴薯快速分級(jí)檢測(cè)系統(tǒng)。系統(tǒng)由圖像采集、信號(hào)傳輸與校正、圖像分析與處理和機(jī)械結(jié)構(gòu)四大子系統(tǒng)組成,能夠準(zhǔn)確抓取馬鈴薯圖像,提取圖像邊緣,計(jì)算出邊緣的最小外接圓和最大內(nèi)切圓的直徑,并根據(jù)所得數(shù)值,自動(dòng)將馬鈴薯按大小分為三個(gè)等級(jí)。
系統(tǒng)實(shí)現(xiàn)了每分鐘50個(gè)的分級(jí)速度,錯(cuò)誤分類的比值在2%以內(nèi),實(shí)現(xiàn)了馬鈴薯的自動(dòng)分級(jí)及檢測(cè)功能。
[1]盧育華.馬鈴薯史話[J].世界農(nóng)業(yè),1985(5):50-52.
[2]楊飛,祝詩平,邱青苗.基于計(jì)算機(jī)視覺的花椒外觀品質(zhì)檢測(cè)及其MATLAB實(shí)現(xiàn)[J].農(nóng)業(yè)工程學(xué)報(bào),2008(1):198-202.
[3]郝敏,郝小冬.基于Zernike矩的馬鈴薯薯形檢測(cè)[J].農(nóng)業(yè)工程學(xué)報(bào),2010(2):347-350.
[4]RIQUELME M T,BARREIRO P,RUIZ-ALTISENT M,et al.Olive Classification According to External Damage Using Image Analysis[J].Journal of Food Engineering,2008,87(3):371-379.
[5]李中華,王國占,齊飛.我國設(shè)施農(nóng)業(yè)發(fā)展現(xiàn)狀及發(fā)展思路[J].中國農(nóng)機(jī)化,2012(1):7-10.
[6]徐飛,施曉紅.MATLAB應(yīng)用圖像處理[M].西安:西安電子科技大學(xué)出版社,2002:85-112.
[7]張廣軍.機(jī)器視覺[M].北京:科學(xué)出版社,2005:33-45.
【責(zé)任編輯梅欣麗】
The Auto-classification of Potato on the Basis of Machine Vision
WANG Lei
(Xinxiang Quality and Technical Supervision and Inspection Center,Xinxiang 453000,China)
In this article,using auto-classification based on machine vision,solution to commercialized processing technology is provided.Machine vision technology was used to accurately grasp the potato image and extract the edge information in order to obtain the maximum inscribed circle and minimum circumscribed circle by specific algorithm so as to realize the auto-classification of potato.This system could classify 50 potatoes per minute,with the misclassification ratio within 2%.
machine vision;auto-classification;potato identification
TH113
A
2095-7726(2016)03-0052-05
2015-09-11
王蕾(1978-),女,河南新鄉(xiāng)人,工程師,研究方向:機(jī)械工程。