王春普 文怀兴 王俊杰
(陕西科技大学机电工程学院,陕西 西安 710021)
大枣的营养价值高[1],但由于皮薄且脆,容易损伤[2],特别是在采收、运输和贮存过程中,由于自然和人为的因素容易造成表面缺陷[3]。根据相关标准[4]描述,大枣表面缺陷主要有锈斑、黑斑、畸形果,烂浆果,裂果,机械伤等。表面破损的大枣容易受到外界空气的氧化发生变质,在清洗过程中也容易受到污染,影响大枣产品附加值,同时也一定程度上阻碍了大枣的商品流通化[5]。
人工检测不仅对工人要求高,工作量大,且受个人主观因素影响,造成分选偏差,很难保证检测精度的一致性[6]。机器视觉系统通过工业相机获取大枣的图像,具有快速、准确、可靠、无损等优点,极大地提高检测效率和机械自动化程度。张萌等[7]提出了一种亮度快速校正的算法,对虫害枣、霉烂枣有很好的检测效果,但未对黑斑、烂浆果、裂果等进行检测。
支持向量机在解决小样本、非线性和高维模式识别中表现出许多特有的优势,并能推广应用到函数拟合等其他机器学习问题中。为此,本试验拟以中国灵武长枣为试验对象,通过支持向量机的方法对大枣表面的烂浆、机械伤、斑痕、病虫、裂纹5种缺陷进行检测,以期为大枣的分级提供理论依据与技术支持。
该检测分级设备主要由上料箱、输送链、图像采集装置、气吹分级机构、电机以及落料箱等组成,保证接通电源、开启启动按钮后可以实现灵武长枣的自动上料、单个传送、自动获取大枣表面图像、检测等级、气吹落料5个主要功能。
检测分级设备三维模型如图1所示,具体工作过程为:启动分级机电机,辊轴传送链在电机的带动下随着主动轴运动,大枣从上料斗处上料,上料部分的链轮为倾斜向上,未平稳定位的大枣从传送带上滑落重新定位,保证大枣能够单排输送;传送链上的辊轮采用凹槽型设计,可以让未落入辊轮输送链的大枣随着辊轮滚动,与辊轮边缘不断摩擦,进入辊轮输送链中,保证大枣快速平稳定位。当大枣经过触发开关时,摄像机采集图像,图像采集区处辊轮下方依然安装柔性搓动板,辊轮与柔性搓动板不断摩擦,带动大枣转动。柔性搓动板的长度至少能让大枣绕自身旋转一圈,保证相机能采集到大枣全方位图像,拍摄到的同一大枣3幅图片依次被传送到图像处理系统,完成对大枣图像的采集;大枣检测分级系统对枣进行分析判定,得出枣的等级,随之将分级结果信息传送给气动分级系统,气动分级系统控制电磁阀的开关,当大枣被传送带传送到对应的喷气嘴时,电磁阀打开,喷气嘴喷出气流,将大枣吹入对应的落料箱中,完成大枣整个分级过程。其中工业相机型号为MV-GED500M-T,具有感应器面积小,焦距短等特点。LED光源具有寿命高、响应速度快、稳定性好、波长可以根据用途选择等优点,故选择环形LED灯作为光源。
1.上料箱 2.输送链 3.图像采集装置 4.气吹分级机构 5.机架 6.落料箱 7.电机图1 大枣分级机三维模型Figure 1 Three-dimensional model of jujube classifier
通过对大枣表面信息的训练,根据大枣表面是否存在缺陷,通过支持向量机的判别方法,将枣分为“good”和“bad”两类。超平面H是从n维空间到n-1维空间的1个映射子空间,假设训练样本数据T={(xi,yi),i=1,……,n,x∈Rd,y∈(+1,-1)}可以被超平面ωTx+b=0准确分开,且距离超平面最近的向量与超平面之间的距离最大,则称该训练样本数据被超平面分开[8]。对于超平面H:ωTx+b=0,假设x为超平面上任意一点,那么x点到超平面H之间的距离为x点到超平面H的法向量长度,距离为:
(1)
假设线性可分的训练集T={(xi,yi),i=1,……,n,x∈Rd,y∈(+1,-1)}。
分类面方程为:
ωTx+b=0,
(2)
yi(ωTxi+b)≥1。
(3)
其中两个分类超平面为:ωTx+b=1,ωTx+b=-1。
两个分类超平面之间距离可表示为2/‖w‖,几何间隔与误分次数存在一定的关系,几何间隔越大,误分次数越少。使两个分类超平面距离最大,即在式(3)的基础上,求函数(4)的最小值。
(4)
对于线性可分问题,可以非常准确地选择出分化训练集的超平面;对于一般分类问题,由于包含线性不可分问题,上述方法是行不通的,可能是由于此分类超平面不存在。故需要在式(3)中添加松弛变量ξi≥0,i=1,……,n,使约束条件[式(3)]变为:
yi(ωTxi+b)≥1-ξi,
(5)
当ξi足够大,训练点(xi,yi)总有满足上述约束条件,但需避免ξi取值过大。在目标函数里加入含有∑iξi的项,使其成为最优化问题。
(6)
式中:
C——惩罚因子,C值始终大于0。
惩罚因子越大,意味着目标分类函数准确性越小,同时也意味着对此类离群样本点越重视[9]。
构造分化超平面(ω*x)+b*=0,则支持向量机的判决函数:
f(x)=sign[g(x)]=
(7)
其中大部分系数αi=0,只有少部分αi不为0,不为0的数确定了支持向量机,多种分类情况时可以通过二交叉树方法解决。引入核函数,其作用为输入2个低维度向量,可得到经过某个变换后在高维空间中向量的内积值。其中K(xi,x)=xi·x,则式(7)变形为:
(8)
在支持向量机判别中,将f(x)大于某个临界值的分为一类,小于某个临界值的分为一类。
图像特征反映了目标特征的差异性,具有明显的实用价值。由于缺陷大枣的判别主要根据大枣的表面性质,与大枣的颜色息息相关,且图像或图像区域的方向、大小对颜色的影响较小,故本课题选用大枣的颜色特征作为图像特征。统计物体描述采用基本数值表示,称为特征。HSI颜色空间比RGB颜色空间更能显示人类的视觉特征,方便计算,为计算机图像处理中常用的模型,故试验中将RGB颜色模型转换为HSI颜色模型,由式(11)~(14)可以看出I分量为R、G、B三分量和的均值,S分量只与RGB中最小分量有关,故I,S分量在缺陷处变化不明显,不适合作为特征值。H分量在缺陷处变化较为明显,故选用H分量作为特征值。
(9)
(10)
式中:
σH——大枣色调的均值;
N——大枣像素的总数;
Hi——大枣第i个像素的色调。
RGB颜色模型转换为HIS颜色模型的关系为:
(11)
(12)
(13)
(14)
核函数的选择对于支持向量机的判别检测性能非常重要,常甜甜[10]对核函数的选择做了深入的研究。通过不同的试验,确定了采用径向基核函数得出的试验结果准确率较高。径向基核函数具有以下优点:① 参数少,只有核参数和惩罚因子,模型复杂性较低,稳定性较好,结果不会有太大偏差;② 能隐藏节点数,避免了神经网络方法求解不出局部极小点问题。故选用径向基核函数作为支持向量机模型的核。
核函数c和正则常数γ影响着核函数及分类器的分类准确性。目前无统一的方法求核函数和正则常数,一般是通过多次试验选择合适的值。本试验采用二因素三水平正交试验(表1)比较核函数和正则常数对检测分级效果的影响,选择最佳核函数和正则常数。
从表2中可以看出核函数的极差较大,表明核函数的影响较大,正则常数次之。核函数要求指标适中,取3个水平中间所对应的值,即0.2。正则常数要求指标越大越好,取3个水平中最大值,即88.233,对应的正则常数为0.005。
表1 因素水平表Table 1 The factor design level table
表2 核函数及正则常数正交表Table 2 The kernel function and regular constant orthogonal Tablele
由图4可知,开始时准确率随着c的增大而增大;当γ>0.2时,随着c的增大,准确率逐渐降低;当γ<0.05,c<0.5时检测结果较为满意;当c=0.2,γ=0.005时,正确率最高,为94.6%。
本文提出了基于支持向量机的大枣表面缺陷检测方法,选用HSI颜色模型中色调(H)分量的均值和方差作为特征参数,通过正交试验得出最佳的核函数和正则常数,建立基于支持向量机的大枣表面缺陷检测模型。通过试验验证,对测试样本缺陷的识别率达到94.6%,相比赵杰文等[11]的准确率(89.4%),平均水平已满足在线检测的准确性、效率性要求,说明机器视觉在线检测的准确率和效率完全不低于人工检测,并验证了支持向量机分类是一种优秀的分类方法应予以推广。该研究成果可以用于大枣的在线检测分级,同时也可以为其他水果的检测分级提供一定的参考。由于实验室中光照不够均匀,鲜枣表面光滑使得采集到的图像容易形成亮斑,若虫枣的缺陷在大枣左右两端将无法被相机拍到,导致分级效果较差,后续可以采用改变大枣图像采集时的拍照方式,确保整个大枣表面均能被拍到,从而提高虫枣识别率;此外褶皱枣易识别为裂枣,需通过改变特征提取和识别的方式改进。
图2 正常大枣Figure 2 The normal jujube
图3 缺陷大枣Figure 3 The defect jujube
图4 SVM参数选择3D效果图Figure 4 The SVM parameters select 3D renderings