王蕾
(新鄉市質量技術監督檢驗測試中心,河南新鄉453000)
基于機器視覺的馬鈴薯自動分檢系統
王蕾
(新鄉市質量技術監督檢驗測試中心,河南新鄉453000)
利用機器視覺的自動分檢技術,設計馬鈴薯采摘后的商品化處理的解決方案。系統先準確抓取馬鈴薯圖像,經二值化后提取圖像邊緣,然后使用特定的算法求出邊緣的最小外接圓和最大內切圓,最終實現馬鈴薯等級自動評估分類。系統實現了每分鐘50個馬鈴薯的分級速度,錯誤分類在2%以內,大大提高了農產品質量檢測、品種的識別和分級效率。
機器視覺;自動分檢;馬鈴薯檢測
中國馬鈴薯種植面積和總產量居世界首位,也是全球第十大馬鈴薯出口國[1]。要使馬鈴薯作為高質量、高附加值農產品進入流通領域,就必須減少采后損失、提高附加值,而高度重視馬鈴薯采摘后的商品化處理技術的自動化、精細化是農產品檔次提高和增值的重要途徑。
近年來,隨著機器視覺技術的發展,基于機器視覺的農產品質量檢測、品種識別和分級的設備已在發達國家實現商品化。Marchant等研制出根據馬鈴薯尺寸進行分級的機器視覺系統,通過測量馬鈴薯的最大、最小寬度,并估計其質量,每分鐘可實現對40個馬鈴薯的在線分級[2];Tao等研究了基于傅里葉變換的馬鈴薯形狀分級的品質檢測系統[3];Deck等把馬鈴薯按照形狀、尺寸和發綠程度進行分類,其結果好于統計分類[4]。目前,國內機器視覺技術相對于發達國家有一定的差距,農業機械自動化水平也相對滯后[5]。本研究是根據馬鈴薯等級規格的相關要求,從形狀上對馬鈴薯進行自動分級。
1.1研究方向
馬鈴薯從形狀上可被看作是橢球體。從數學角度看,只要知道長軸和短軸的數值,就可以完全描述橢球。嚴格地講,必須測量出同一個馬鈴薯在無數個正交方向上的長軸和短軸(長軸即是圖像邊緣的最小外接圓直徑,短軸即是圖像邊緣的最大內切圓直徑),才可以準確確定其形狀,但考慮到實際中無法獲取無數個方向上的圖像,且三個正交方向的圖片足以滿足精度要求,本文只取三個正交方向的圖像,也就是抓取馬鈴薯的三視圖圖像,并測量三個方向上的軸長,以此評估其大小和形狀。
根據以上分析,作如下定義:最小外接圓半徑Rw為長半軸;最大內切圓半徑Rn為短半軸;變量A=Rw× Rn表征馬鈴薯大小,值越大表示馬鈴薯越大;變量R= Rn/Rw表征馬鈴薯形狀的好壞,值越接近于1表示形狀越好。具體算法為Rw=max{Rw1,Rw2,Rw3},Rn=max{Rn1,Rn2,Rn3}。這里,Rwi(i=1,2,3)是從三個方向獲取的圖像輪廓的最小外接圓半徑,Rni(i=1,2,3)是從三個方向獲取的圖像輪廓的最大內切圓半徑。
1.2研究步驟
本文要實現的馬鈴薯分級速度為每分鐘50個,錯誤分類的比值在2%以內。實現過程如下。
(1)根據各類標準(如視頻標準)的規定,選擇合適的視覺傳感器、采集卡、電路模塊、總線等,并選用柯拉照明方式,搭建圖像采集平臺。
(2)編寫程序實現圖像分析處理。依次是均衡化、濾波、二值化、膨脹腐蝕操作、提取邊緣、做出內切圓和外接圓、計算、分級。
(3)做好硬件和軟件的接口,驅動傳動帶式機械結構對馬鈴薯進行分級歸類。
2.1系統功能
系統分為圖像采集、信號傳輸與校正、圖像分析與處理和機械結構四個子系統。
圖像采集子系統包括攝像頭、采集卡、照明裝置以及輔助機械結構等,主要用于抓取馬鈴薯最初的圖像。因為最初圖像的好壞直接影響到后續信號處理的繁簡程度及最終結果的準確性,所以必須保證拍攝環境干凈、照明良好。
信號傳輸與校正子系統主要用于傳輸采集到的圖像信息。因為圖像在傳輸過程中會產生失真并會有噪聲加入,所以必須設置校正電路,常見的有孔闌校正電路、超前滯后校正電路等,具體的校正方式需根據實際情況而定。另外,在信號傳輸的過程中可根據實際情況需要設計特定的電路,如邊緣增強電路、濾波電路等。需要說明的是,信號傳輸與校正子系統的好壞直接影響程序的繁簡程度。如果傳輸電路可以對圖像進行有效校正,那么程序就可以相對簡單高效,當然,也不宜為了使程序簡單而使電路過于復雜,軟硬件需均衡匹配。
圖像分析與處理子系統主要指計算機及所需軟件,它用于對接收到的圖像進行信號處理和分析,并給出最終評定指標。軟件部分可以自主開發或基于成熟的商品軟件進行二次開發獲得。復雜系統采用二次開發模式,可縮短開發周期,且能保證軟件的可靠性。本文中的系統相對簡單,故采用自主開發的模式,使用的軟件為MATLAB。
影響圖像分析與處理子系統的關鍵因素是算法,算法的優劣直接影響到評定結果的準確性。
機械結構是代替人力分揀馬鈴薯的最終執行單元。此部分由單片機或PLC控制,單片機或PLC接收到上位機的分級信號,調用相應的程序,驅動機械部分動作,實現對馬鈴薯的分級。
2.2技術指標
技術指標主要有兩個:速度和準確性。下面分析影響這兩項指標的因素。
(1)設計要求約1 s檢測一個馬鈴薯,即在約1 s的時間內要完成以下過程:首先由機械結構將一個馬鈴薯送至圖像采集點,然后由攝像頭采集馬鈴薯圖片并將圖片送至計算機進行分析處理,接著由計算機判斷出馬鈴薯的等級,并發出相應的信號給PLC,最后通過PLC控制機械結構的運行,將馬鈴薯送到規定的區域。整個過程中任何的錯誤都會造成生產率下降和經濟損失。
檢測速度受軟件和硬件兩方面的影響。在硬件方面,信道的寬度、計算機內存都會影響計算速度。機械的執行時間也是重點考慮的問題,這是因為對馬鈴薯等農產品的加工動作必須靈活而柔和,故運行時間會較長。軟件方面,在優化算法時,首先應考慮穩定性,其次是快速性(本算法的執行時間須在毫秒級),最后才是準確性。這是因為,從控制論的角度講,系統只能在穩、快、準三方面做出權衡選擇,而無法做到同時滿足三方面的要求。穩定性是必需的要求,故往往在快與準之間權衡。因馬鈴薯分類不需要非常精確,可以允許一定程度的誤判,故本系統更傾向于快。
(2)在誤判率方面也存在硬件和軟件兩方面的影響。圖像從采集到被傳送至計算機之前,其失真度取決于硬件。就本文中的設計來說,系統的工作環境較好,圖像傳輸距離短,硬件造成的圖像失真很小,故失真程度主要取決于算法,只要算法能準確提取邊緣,找到最大內切圓和最小外接圓,誤判率就會比較小。
綜上所述,要達到設計標準就需要在保證算法準確性的前提下,提高機械結構的靈活性與速度,提高硬件水平,例如:增加帶寬,提高數據傳輸速度;增大內存,提高計算速度等。
3.1硬件組成
根據系統功能劃分,各硬件組成部分描述如下。(1)圖像采集子系統主要包括CCD和照明裝置,用以完成三個正交方向的圖像的采集。
(2)信號傳輸與校正子系統主要包括傳輸信號的總線及硬件接口,其主要任務是將采集到的圖像傳輸到計算機,輔助功能是校正圖像,改善圖像品質。
(3)圖像分析與處理子系統主要是通過計算機來完成圖像的分析處理,并將信號送入PLC。PLC用于驅動攝像頭拍照和機構動作,是整個系統的控制核心,也是整個系統有序運行的關鍵。
(4)機械執行機構子系統是最終動作的執行者,受控于來自PLC的信號。這里設計了一個三自由度的馬鈴薯分級裝置,包括兩個步進電機及一個滑塊裝置,以便對馬鈴薯進行多角度拍攝。
3.2系統主要參數
系統機械結構部分如圖1所示。圖1中,鐵盤體積V1=62 765 mm3,直徑D1=200 mm;塑料盤體積V2=156 871 mm3,直徑D2=200 mm;平臺托體積V3=42 400 mm3,最大直徑D3=90 mm;鋁合金聯軸器體積V4=10 130 mm3,最大直徑D4=24 mm。
圓柱轉動慣量的計算公式為J=1/8×M×D2(M為圓柱體質量、D為直徑),將機械結構部分的參數代入得J1=0.00245 kg·m2,J2=0.000 95 kg·m2,J3=0.000 33kg·m2,J4太小可忽略。可見,系統總體轉動慣量J<0.004 kg·m2,電機最大轉速為1.57rad/s,角加速度α=1.57/0.1=15.7rad/s2,則轉矩為T=J·α=0.004×15.7=0.062 8 N·m。通過比較不同型號的步進電機的各項參數,筆者選擇了型號為57HS04的電機,其保持轉矩為0.4N·m,可承擔較大的負載。

圖1 系統機械結構示意圖
3.3程序設計
程序分為兩個主程序和多個子程序。界面以及相應程序均采用MATLAB R2010b進行編寫[6-7]。運行程序bianyuantitu.m,可完成對采集圖像的優化,提取圖像邊緣信息并儲存邊緣圖像。提取的馬鈴薯圖像如圖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 馬鈴薯邊緣
運行程序mainfcn.m,可獲得馬鈴薯邊緣的最小外接圓參數和最大內切圓參數,效果如圖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('最大內切圓半徑和圓心');
Rn
cx
cy
程序中,Rw為最小外接圓半徑,c_x和c_y為最小外接圓圓心,Rn為最大內切圓半徑,cx和cy為最大內切圓圓心。程序運行結果如下:
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函數運行結果
3.4人機交互界面
人機交互界面如圖5所示。

圖5 系統人機界面圖
在圖5中,面板的圖形顯示區用于顯示馬鈴薯分級頻率圖。左下角的單選框用于設置顯示內容和形式:直方圖和立體直方圖用于顯示各級別馬鈴薯的頻數,餅圖和立體餅圖用于顯示各級別馬鈴薯的百分比。右上角用于實時顯示檢測的馬鈴薯總數和各級馬鈴薯所占百分比。右下角清零按鈕可清除所有已檢測的數據,使系統從零開始統計。面板上的下拉框可以設置圖形顯示區參數,以便達到讓用戶滿意的可視化效果。關閉按鈕可關閉界面。
表2為1 min內對隨機選取的50個馬鈴薯進行系統自動分檢分級和人工分級后的結果。由表2可知,視覺分級與人工分級結果一致的有49個,不一致的有1個,誤差在2%以內。

表2 視覺分級與人工分級對比表
本文利用機器視覺實現了馬鈴薯快速分級檢測系統。系統由圖像采集、信號傳輸與校正、圖像分析與處理和機械結構四大子系統組成,能夠準確抓取馬鈴薯圖像,提取圖像邊緣,計算出邊緣的最小外接圓和最大內切圓的直徑,并根據所得數值,自動將馬鈴薯按大小分為三個等級。
系統實現了每分鐘50個的分級速度,錯誤分類的比值在2%以內,實現了馬鈴薯的自動分級及檢測功能。
[1]盧育華.馬鈴薯史話[J].世界農業,1985(5):50-52.
[2]楊飛,祝詩平,邱青苗.基于計算機視覺的花椒外觀品質檢測及其MATLAB實現[J].農業工程學報,2008(1):198-202.
[3]郝敏,郝小冬.基于Zernike矩的馬鈴薯薯形檢測[J].農業工程學報,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]李中華,王國占,齊飛.我國設施農業發展現狀及發展思路[J].中國農機化,2012(1):7-10.
[6]徐飛,施曉紅.MATLAB應用圖像處理[M].西安:西安電子科技大學出版社,2002:85-112.
[7]張廣軍.機器視覺[M].北京:科學出版社,2005:33-45.
【責任編輯梅欣麗】
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-),女,河南新鄉人,工程師,研究方向:機械工程。