基于机器视觉的核桃仁动态分级研究
2018-07-30郭俊先姜彦武艾力哈斯木
周 军,郭俊先,张 静,姜彦武,艾力·哈斯木,蔡 建
(新疆农业大学机电工程学院,乌鲁木齐 830052)
0 引 言
【研究意义】目前对核桃仁分级技术的研究仍处于起步阶段,我国核桃仁分级仍主要靠人工进行分拣,这种方法不仅过程繁琐、效率低,容易受人为主观因素影响,不能保证分级的客观性和标准化。为了实现对核桃仁大小、颜色的快速检测、分选,判别核桃仁级别,采用机器视觉技术构建核桃仁RGB图像采集系统,研究不同尺寸大小与颜色核桃仁的光学特性和成像特点,分析确定每一级别核桃仁的特征值,建立较优的核桃仁特征提取方法、分级方法、分选算法、识别模型,为该领域设备的研发奠定研究基础。【前人研究进展】刘建军等[1]基于机器视觉并结合行业标准,给出山核桃分级的方法,适用于山核桃的在线检测;chen等[2]运用机器视觉图像统计我国35个品种的核桃的自身物理参数,结合SSR标记为核桃品种的识别和种植资源的优化提供参考;方建军等[3]设计了一套基于机器视觉的板栗实时分级系统,其依据是板栗的尺寸大小,准确率等达到98%,但是系统的图像处理速度未能满足在线分级要求;刘仕良等[4]采用MER的方法提取板栗的长短径和长宽比作为分级标准,对运动状态下的板栗基于机器视觉进行分级研究,其分级精度为95.33%,分级速率为40~50 nuts/s;季雪娇等[5]运用图像处理技术提取白色背景下的虫害板栗和正常板栗的轮廓边缘特征,将正常轮廓与虫害板栗轮廓对比,若后者小于前者则识别为虫孔,此种方法简单、快捷;韩志忠等[6]根据花生仁的机器视觉图像识别花生的品种和品质,统计分析了48个品种的6个等级,提取总共49个特征量,并建立准确度达97%以上的仿真平台;展慧[7]基于机器视觉对板栗正常果和缺陷果进行分级研究,依据其着色分为三级,建立3×12×3的BP神经网络,其验证识别率为91.67%。【本研究切入点】刘军等[8]采集新疆多个品种核桃RGB图像,设计一种自适应双阈值的Otsu法,快速、准确地分割出缺陷区域,周竹等[9]设计了基于V型平面镜的机器视觉系统获取马铃薯三面图像,用于马铃薯分级特征的建立分级正确率可达到91.0%;张塔烺等[10]提出了一种基于机器视觉与山核桃图像特征的山核桃头尾检测方法。前人都利用机器视觉技术进行农产品的检测分级研究,但大多停留在静态农产品个体图像检测上[11],特别是国内,对于农产品动态分级的研究尚欠缺,且针对核桃仁的颜色与完整度的自动分级系统尚未建立。目前核桃仁的分级主要还是依靠人工分级的方式进行,劳动强度大,分级效率较低。针对核桃仁进行自动分级进行研究。【拟解决的关键问题】研究核桃仁分选方法,确定获得核桃仁等级数据,满足识别速度快,表征的信息量最大,准确度高、稳定性好的要求;分析核桃仁动态分级处理适用于实际工厂化生产,设计分级准确、设备简单可靠的核桃仁动态分级方法。
1 材料与方法
1.1 材 料
购于新疆乌鲁木齐市北园春市场的核桃,选择市面上常见的新新2号核桃品种150个为分级试验对象。根据试验需求对建立机器视觉系统的主要硬件选择如下:①输送台(浙江乾锦输送设备有限公司2 m输送台)②自制光源箱③相机(大恒MER-030-120U彩色相机)、镜头(日本CBC株式会社生产M0814-MP2)④光源型号(LTS-2BR35030)⑤一字型喷气嘴⑥联想ThinkCentre E75电脑⑦变频器⑧电磁阀(FESTO公司生产MHE2-M1H-3/2G-M7)⑨单片机(STC89C52RC商业级)、定时器扩展芯片(日本NEC D8253C-2)、通讯转换器(KOB品牌,USB2.0转RS-485/422)。针对核桃仁的自动分级试验,采用机器视觉系统装置结构。图1
1.输送台 2.光源箱 3.相机 4.光源 5.喷气嘴 6.计算机 7.变频器 8.电磁阀 9.下位机控制单元
1. transmission table, 2. light source box 3. camera 4. light source 5. jet nozzle 6. computer 7. converter 8. electromagnetic valve 9. lower machine control unit
图1 核桃仁分级试验装置
Fig.1 Walnut kernel grading test device
1.2 方 法
1.2.1 颜色特征提取
首先将图像RGB空间转换为符合人眼对颜色主观认识的HSV颜色空间,并主要在HSV颜色空间进行颜色特征的提取。HSV颜色空间模型,即用H(色调)、S(饱和度)和V(明度)表征颜色。图2
颜色直方图描述不同色彩在图像中所占的比例,具有图像缩放和旋转不变性,即对于核桃仁动态分级下位置不一致时具有良好的鲁棒性。由图2知,色调分布在0°到360°的圆上。将色调等间隔量化为180等份(bin),分别随机选取淡黄色仁,淡琥珀色仁以及等外仁各10个,作色调直方图,其纵坐标为对应色调区间像素所占的频率,从直方图中可以看出各等级核桃仁的色调主要分布在0~30内,即红色到黄色(0°到60°)的范围,则可以提取0~30共31个色调频率作为一部份色调特征,组成基于颜色直方图的从bin0到bin30的31个色调特征。图3
颜色矩是一种简单有效的颜色特征表示方法。由于图像的颜色信息主要分布在低阶矩中,所以其一阶矩(均值)、二阶矩(方差)和三阶矩(偏度)足以表达图像颜色分布。为减小光源变化对图像特征提取的影响,选择图像的色调H和饱和度S,分别计算其三个低阶矩Hμ、Hv、Hs和Sμ、Sv、Ss组成表达颜色分布的6个特征。
结合基于色调直方图的31个颜色特征和基于颜色矩的6个特征,共提取与核桃仁图像颜色有关的37个特征作为核桃仁颜色分级的原始特征。图4
图2 HSV颜色空间模型
Fig.2 HSV color space model
图3 不同等级核桃仁色调
Fig.3 Hue histogram of different grades of walnut
图4 核桃仁形状特征
Fig.4 Shape characteristics of walnut kernel
1.2.2 完整度特征提取
分析不同完整度核桃仁的特点,选取两个特征表征核桃仁完整度的差异,分别是核桃仁轮廓面积与其最小外接圆面积的比值以及轮廓最小外界矩形长宽比。为避免相机高度对核桃仁数据的影响,故暂不采用直接提取面积的方式判断完整度。
其中轮廓最小外接矩形由OpenCV中minAreaRec函数求得,研究表明,核桃仁轮廓最小外接矩形长宽比为:
式中:l:核桃仁轮廓最小外接矩形长;
W:核桃仁轮廓最小外接矩形宽;
核桃仁轮廓面积与其最小外接圆轮廓面积之比为:
式中:S:核桃仁轮廓面积;
R2:核桃仁最小外接圆;
Hu矩为图像的几何不变矩[12],是利用二阶和三阶中心矩构造的7个矩,它们在图像平移、旋转和比例变化时保持不变,可用于轮廓形状识别。结合K1、K2,则可构成与核桃仁形状相关的9个特征用于辨别核桃仁的完整度。图4
1.2.3 分级处理动作试验
基于前期核桃仁图像分级方法研究,要实现核桃仁的动态分级,需要确定分级动作,为简化分级机械设备,保证分级效率,研究采用气吹的方式对核桃仁进行分级,使用蓝色(背景色)输送带输送核桃仁,并采用STC89C52单片机控制气动电磁阀完成分级动作。由于核桃仁属于相对较小的被测物体,且形状不规则,采用光电传感器来测量被测物体的位置存在不可靠的问题。故此次设计直接在摄像机下通过追踪获得被测目标的位置,待不同等级的核桃仁到达预定分级位置,上位机发送等级信号控制气动电磁阀完成分级。
1.2.4 核桃仁动态分级流程设计
核桃仁分级方法为,系统在核桃仁轮廓入口处检测到完整轮廓即确定追踪目标,目标追踪中心到达位置l则提取核桃仁图像进行特征提取、分级并继续追踪其位置,待核桃仁到达相应分级位置即发送等级信号,控制电磁阀完成分级动作。图5
对基于CamShift算法的核桃仁目标追踪需要解决的问题是,确定包含所追踪核桃仁目标区域的窗口以及色调直方图。动态分级情况下要实现对每个进入相机视场的核桃仁追踪,就需要计算机自动判断进入视场的核桃仁,并初始化包含该核桃仁的搜索窗口,提取搜索窗口内的色调直方图用于在视频序列中追踪此核桃仁。根据核桃仁在传送带上运动的实际情况,摄像机拍摄视频时还未有核桃仁处于视场中,输送设备启动后,核桃仁依次进入相机视场,绘出各线程基本流程。图6
图5 核桃仁分级方法示意
Fig.5 Schematic diagram of walnut kernel classification
图6 图像处理、追踪、分级流程
Fig.6 Image processing, tracking, and classification flow chart
2 结果与分析
2.1 原始特征矩阵
通过人工分级,取不同等级核桃仁样本各30个,通过以上图像处理与特征提取方式得到30×5个样本特征的数据。对于OpenCV和Matlab,它们对图像特征处理函数的输入量均为矩阵,且多数函数要求矩阵的每一行(Row)为一个样本,每一列(Col)为一个特征,则由所有样本的特征数据可得到用于特征选择与模型训练的训练矩阵150(Row)×46(Col),列出Col代表的特征。表1
mRMR(最大相关最小冗余)算法是一种在保证最大相关性的同时,又去除冗余特征的方法[13-14]。算法利用互信息[15]衡量特征子集中特征与特征之间、特征与类别之间的相关度,互信息是两个随机变量统计相关性的测度,可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者是一个随机变量由于已知另一个随机变量而减少的不确定性,mRMR可有效减少特征向量中的冗余特征。使用基于mRMR的MID、MIQ两种算法对训练样本矩阵进行特征选择,取算法选择的前15个特征。表2
表1 特征与列号对照
Table 1 Comparison Table of feature and column number
列 ColumnCol1Col2Col3…Col9Col10…Col12Col13…Col15Col16…Col46特征 FeaturesK1K2I1…I7Hμ Hv HsSμ Sv Ssbin0…bin30
表2 MID、MIQ特征选择结果
Table 2 Results of MID and MIQ feature selection
MID301263122427232925286223216MIQ30126272449228232925163631
2.2 基于机器学习的核桃仁分级
经mRMR的MID和MIQ特征选择算法对特征重要性做了排序,但不能确定使用特征个数和种类以便达到分类速度快、准确率高的效果,因此分别对选择后的特征采用序列向前选择(SFS,属于启发式搜索)的方法选择训练集,即依据表2中特征重要性由高到低,从30号特征开始依次加入一个特征,组成训练集,分别送入决策树[16-17]、朴素贝叶斯(Bayes)[18-20]、支持向量机(SVM)[21-23]三个分类器中进行训练,生成相应模型。
另取不同等级核桃仁各30个作为测试样本,使用上述得到的3个模型对这批测试样本的静态图像作分级测试,对MID算法选择的特征序列,其测试效果为,横坐标为加入的特征,纵坐标为分级正确率,可以看到SVM在使用11个特征后分级正确率达到最大值85.33%,决策树在使用3个特征后正确率达到最大值96.00%,朴素贝叶斯在使用3个特征后正确率达到最大值97.33%。图7
对MIQ算法选择的特征序列,其测试效果为,由于选择的前3个特征相同,决策树与朴素贝叶斯效果与MID算法一致,但对于使用较多特征的支持向量机,在使用5个特征后即达到最大正确率85.33%。图8
图7 mRAR MID 算法特征选择序列测试结果
Fig.7 Test results of feature selection sequences for mrar mid algorithm
图8 mRMR MIQ 算法特征选择序列测试结果
Fig.8 Test results of feature selection sequences for mRMR MIQ algorithm
用ReliefF算法[24-25]筛选的特征集作为样本训练数据(特征按照算法排好的顺序组成训练矩阵),使用OpenCV决策树类进行特征选择时,使用CvDtree: getVarImportance()函数计算特征的重要性。去除重要性为0的特征,留下3个重要特征为:K1、bin19和bin17。用这3个特征重新训练决策树、SVM和朴素贝叶斯模型,列出对测试样本进行训练的效果。表3
表3 选择特征测试效果
Table 3 Decision tree selection feature test results
分类器Classifier决策树Decision tree支持向量机SVM朴素贝叶斯Naive Bayes正确率Correct rate93.33%80.67%94.67%
2.3 测试结果
在静态样本图像下,通过对不同特征选择算法的测试可知,几种特征选择算法对重要特征的选择很接近,且朴素贝叶斯分类器的效果均要好于其它两个分类器,支持向量机的分类效果最差。若使用支持向量机分类,当选用最少5个特征bin19、K1、bin15、bin16和bin13训练分类器时,分类正确率达到最大为85.33%;若使用决策树分类,当选用3个特征bin19、K1和bin15训练分类器时,分类正确率达到最大为96.00%;若使用朴素贝叶斯分类,当选用3个特征bin19、K1和bin15训练分类器时,分类正确率达到最大为97.33%。
试验可选择特征bin19、K1和bin15,并利用分类效果最佳的朴素贝叶斯分类方法对核桃仁进行分级,列出不同等级的分类效果。表4
表4 朴素贝叶斯模型分级效果
Table 4 Classification effect of naive Bayes model
人工分类等级Artificial classification level样本数Sample number特征数Characteristic number模型预测数Model predictive number正确率Correct rate(%)白头路 White first grade3032893.33白二路 White second grade30330100.00浅头路 Yellow first grade3032893.33浅二路 Yellow second grade30330100.00等外 Off grade30330100.00合计 Total150314697.33
2.4 分级速度测试
试验设计的动态分级方法中,在计算机拥有足够的图像处理分级时间的基础上,核桃仁的分级速度则主要与输送带的运行速度和两个待分级核桃仁之间的距离有关。将所编写软件在Release(发布)版本(相对于调试(Debug)版本,Release版本经优化,速度较快)下进行编译,对核桃仁运动图像序列进行分级测试,发现其对每一帧图像的处理时间均低于0.03 s,可以满足动态分级要求。
随机取20个核桃仁,启动电动机并调节运行频率使输送带运行速度约为0.25 m/s(高速下对相机帧率要求较高,当速度更快时,相机拍摄的图像质量较差),在输送带上放置核桃仁使每个核桃仁的中心在运动方向上的距离保持大约6 cm(此距离的设置以不影响轮廓提取和两个相邻等级核桃仁分级为准),从第1个核桃仁进入相机视场开始计时,到最后一个核桃仁分级结束停止计时,计时时间为4.53 s。研究表明,此系统对核桃仁的分级速度可达到4.4个/s。
2.5 分级效果测试
分别取各等级核桃仁各30个共150个核桃仁,空压机气压为0.5 MPa左右(试验用空压机工作时,气压稳定于一个范围内,最低为0.4 MPa,最高为0.6 MPa),调节电动机运行频率使输送带运行速度为0.25 m/s,在保证核桃仁可以吹掉且不影响相邻核桃仁分级的前提下,单片机定时器延时时间越小,空压机气压下降越慢,空压机启动频率越低、越节能,从0.01 s(需大于电磁阀开启速度0.007 s)开始递增,分别测试核桃仁吹掉的效果,当延时时间最小为0.03 s时,可以保证核桃仁被完全吹掉,统一设置定时器延时时间为0.03 s,并采用Release发布版图像处理分级软件,对图像动态采集和处理分级系统以及下位机分级执行机构进行分级测试,试验以人工分级的核桃仁进入系统后,能够实现在其到达指定分级位置处时,气嘴可正确完成吹气动作为准。表5
表5 动态分级效果
Table 5 Dynamic grading effect
人工分类等级Artificial classification level样本数Sample number动态分级数Dynamic classification number正确率Correct rate(%)白头路 White first grade302583.33白二路 White second grade302480.00浅头路 Yellow first grade302686.67浅二路 Yellow second grade302376.67等外 Off grade302480.00合计 Total15012281.33
3 讨 论
在静态下运用朴素贝叶斯模型分级处理,当选用3个特征bin19、K1和bin15训练分类器时,分类正确率达到最大为97.33%;而当核桃仁在输送带上运输处于动态分级时,分类正确率只能达到81.33%,动态分级效果较静态分级效果差。由于核桃仁运动过程中获取图像的质量比静态下模糊,且速度较快的情况下,采集到的图像会产生拖影,对核桃仁的分级造成一定影响;分级动作依靠气吹方式完成,气压的稳定性、气流的直线性、喷气嘴的形状等会造成执行机构的分级误差较大;在动态条件下,输送带运行过程中整机有震动和电磁干扰,相机采集图像时效果差,图像有较多噪点。
今后研究针对核桃仁图像信息获取不全面的问题,增加适合于核桃仁翻面的机械装置,获取核桃仁双面图像,使核桃仁分级更加准确可靠;在四分仁分级后部添加振动式筛网分级装置,将碎仁和米仁纳入核桃仁完整度分级中,实现核桃仁的完整标准分级;增加核桃仁单粒化入料设备和分级后回收装置,实现核桃仁的完全自动化分级;完善核桃仁多线程分级程序,提高核桃仁分级的速度,实现核桃仁分级设备的稳定、高效使用。
4 结 论
工业相机在线采集核桃仁图像,运用编程技术进行图像处理,利用mRMR特征选择算法筛选原始特征集并对特征的重要性进行排列,最后通过对支持向量机、决策树和朴素贝叶斯三种机器学习算法进行模型训练和测试,得出在使用特征bin19、K1和bin15训练朴素贝叶斯分类器时,分类正确率达到最大为97.33%的结论。利用机器视觉技术设计基于CamShift算法的核桃仁自动追踪方法和动态分级流程,运用构建的核桃仁自动分级系统在动态条件对150个核桃仁进行分级测试,总体正确率为81.33%。基于机器视觉研究出的核桃仁特征提取与分级方法、核桃仁动态分级处理动作的方法可以完成对核桃颜色和完整度的分级任务,但在在线动态条件下分级效果比静态条件时的效果差,此方法离实际生产应用还有距离。