基于机器视觉的马铃薯自动分检系统
2016-09-20王蕾
王蕾
(新乡市质量技术监督检验测试中心,河南新乡453000)
基于机器视觉的马铃薯自动分检系统
王蕾
(新乡市质量技术监督检验测试中心,河南新乡453000)
利用机器视觉的自动分检技术,设计马铃薯采摘后的商品化处理的解决方案。系统先准确抓取马铃薯图像,经二值化后提取图像边缘,然后使用特定的算法求出边缘的最小外接圆和最大内切圆,最终实现马铃薯等级自动评估分类。系统实现了每分钟50个马铃薯的分级速度,错误分类在2%以内,大大提高了农产品质量检测、品种的识别和分级效率。
机器视觉;自动分检;马铃薯检测
中国马铃薯种植面积和总产量居世界首位,也是全球第十大马铃薯出口国[1]。要使马铃薯作为高质量、高附加值农产品进入流通领域,就必须减少采后损失、提高附加值,而高度重视马铃薯采摘后的商品化处理技术的自动化、精细化是农产品档次提高和增值的重要途径。
近年来,随着机器视觉技术的发展,基于机器视觉的农产品质量检测、品种识别和分级的设备已在发达国家实现商品化。Marchant等研制出根据马铃薯尺寸进行分级的机器视觉系统,通过测量马铃薯的最大、最小宽度,并估计其质量,每分钟可实现对40个马铃薯的在线分级[2];Tao等研究了基于傅里叶变换的马铃薯形状分级的品质检测系统[3];Deck等把马铃薯按照形状、尺寸和发绿程度进行分类,其结果好于统计分类[4]。目前,国内机器视觉技术相对于发达国家有一定的差距,农业机械自动化水平也相对滞后[5]。本研究是根据马铃薯等级规格的相关要求,从形状上对马铃薯进行自动分级。
1 本文的研究内容
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 系统功能和技术指标分析
2.1系统功能
系统分为图像采集、信号传输与校正、图像分析与处理和机械结构四个子系统。
图像采集子系统包括摄像头、采集卡、照明装置以及辅助机械结构等,主要用于抓取马铃薯最初的图像。因为最初图像的好坏直接影响到后续信号处理的繁简程度及最终结果的准确性,所以必须保证拍摄环境干净、照明良好。
信号传输与校正子系统主要用于传输采集到的图像信息。因为图像在传输过程中会产生失真并会有噪声加入,所以必须设置校正电路,常见的有孔阑校正电路、超前滞后校正电路等,具体的校正方式需根据实际情况而定。另外,在信号传输的过程中可根据实际情况需要设计特定的电路,如边缘增强电路、滤波电路等。需要说明的是,信号传输与校正子系统的好坏直接影响程序的繁简程度。如果传输电路可以对图像进行有效校正,那么程序就可以相对简单高效,当然,也不宜为了使程序简单而使电路过于复杂,软硬件需均衡匹配。
图像分析与处理子系统主要指计算机及所需软件,它用于对接收到的图像进行信号处理和分析,并给出最终评定指标。软件部分可以自主开发或基于成熟的商品软件进行二次开发获得。复杂系统采用二次开发模式,可缩短开发周期,且能保证软件的可靠性。本文中的系统相对简单,故采用自主开发的模式,使用的软件为MATLAB。
影响图像分析与处理子系统的关键因素是算法,算法的优劣直接影响到评定结果的准确性。
机械结构是代替人力分拣马铃薯的最终执行单元。此部分由单片机或PLC控制,单片机或PLC接收到上位机的分级信号,调用相应的程序,驱动机械部分动作,实现对马铃薯的分级。
2.2技术指标
技术指标主要有两个:速度和准确性。下面分析影响这两项指标的因素。
(1)设计要求约1 s检测一个马铃薯,即在约1 s的时间内要完成以下过程:首先由机械结构将一个马铃薯送至图像采集点,然后由摄像头采集马铃薯图片并将图片送至计算机进行分析处理,接着由计算机判断出马铃薯的等级,并发出相应的信号给PLC,最后通过PLC控制机械结构的运行,将马铃薯送到规定的区域。整个过程中任何的错误都会造成生产率下降和经济损失。
检测速度受软件和硬件两方面的影响。在硬件方面,信道的宽度、计算机内存都会影响计算速度。机械的执行时间也是重点考虑的问题,这是因为对马铃薯等农产品的加工动作必须灵活而柔和,故运行时间会较长。软件方面,在优化算法时,首先应考虑稳定性,其次是快速性(本算法的执行时间须在毫秒级),最后才是准确性。这是因为,从控制论的角度讲,系统只能在稳、快、准三方面做出权衡选择,而无法做到同时满足三方面的要求。稳定性是必需的要求,故往往在快与准之间权衡。因马铃薯分类不需要非常精确,可以允许一定程度的误判,故本系统更倾向于快。
(2)在误判率方面也存在硬件和软件两方面的影响。图像从采集到被传送至计算机之前,其失真度取决于硬件。就本文中的设计来说,系统的工作环境较好,图像传输距离短,硬件造成的图像失真很小,故失真程度主要取决于算法,只要算法能准确提取边缘,找到最大内切圆和最小外接圆,误判率就会比较小。
综上所述,要达到设计标准就需要在保证算法准确性的前提下,提高机械结构的灵活性与速度,提高硬件水平,例如:增加带宽,提高数据传输速度;增大内存,提高计算速度等。
3 硬件和软件设计
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中,面板的图形显示区用于显示马铃薯分级频率图。左下角的单选框用于设置显示内容和形式:直方图和立体直方图用于显示各级别马铃薯的频数,饼图和立体饼图用于显示各级别马铃薯的百分比。右上角用于实时显示检测的马铃薯总数和各级马铃薯所占百分比。右下角清零按钮可清除所有已检测的数据,使系统从零开始统计。面板上的下拉框可以设置图形显示区参数,以便达到让用户满意的可视化效果。关闭按钮可关闭界面。
4 分级检测结果及分析
表2为1 min内对随机选取的50个马铃薯进行系统自动分检分级和人工分级后的结果。由表2可知,视觉分级与人工分级结果一致的有49个,不一致的有1个,误差在2%以内。
表2 视觉分级与人工分级对比表
5 结束语
本文利用机器视觉实现了马铃薯快速分级检测系统。系统由图像采集、信号传输与校正、图像分析与处理和机械结构四大子系统组成,能够准确抓取马铃薯图像,提取图像边缘,计算出边缘的最小外接圆和最大内切圆的直径,并根据所得数值,自动将马铃薯按大小分为三个等级。
系统实现了每分钟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-),女,河南新乡人,工程师,研究方向:机械工程。