缑新科 常 英
(兰州理工大学电气工程与信息工程学院 兰州 730050)
传统的樱桃番茄检测方法主要是利用人工分级或者分级机械来完成。人工分级时,人的检测和判断会因疲劳、个人之间的判别差异等产生误差和错误,不仅费时、效率低下,而且会影响分级质量,具有很强的主观性,从而难以保证出口番茄的质量。采用分级机械的方法基本上都是通过设计专用机械结构来检测水果的大小和质量,如通过孔洞的大小来评判水果大小属于哪一等级,然而这些方法对水果的颜色、果面纹理和缺陷面积等均无法作出评价[1]。目前国内外对于水果颜色、纹理等检测在研究上已经取得了很大进展,有些技术在实际生产中得到了较好的应用[2~3]。
利用机器视觉技术来进行水果的在线分级检测是实现水果自动化分级进而商品化的重要环节[4]。但是,由于传统的水果分级检测大多数是在室内环境中进行的,这样光线噪声等因素就会严重影响着视觉检测效果。所以,针对光线噪声的影响问题在检测过程当中需要重点克服。目前,大多数对樱桃番茄的分级检测研究都是由于图像检测速度较慢,所以很难实现在线检测[5~6]。为了满足樱桃番茄检测分级系统中的实际应用需求,对准确率和检测速度也提出了更高的要求。朱坚民等[7]提出一种新的水果特征提取方法,利用该方法提高了水果检测和识别的准确率。近些年来,因为机器学习方法的引入,使得水果分级检测的自动化水平得到了很大程度的提高。例如,支持向量机因其良好的分类效果经常会被应用到樱桃番茄的自动分拣和分级系统当中[8]。目前,樱桃番茄的形态和果面等特征成为划分樱桃番茄等级的关键性参考因素[9~12],本文则主要是从外观检测方面来进行研究。在能保证实现批量化检测的基础上,达到更高的准确率和更小的误检率。基于机器视觉技术对樱桃番茄进行在线分级检测时主要包括对图像进行预处理和大小形状、颜色、纹理等分级算法。杨立等[13]提出了一套基于机器视觉的在线分级检测装置,但是该系统中的检测成熟度的算法只是应用一部分的区域颜色代替整个樱桃番茄的颜色,而且其特征提取部分仅提取了大小和成熟度两个特征参数,特征参数选取过少从而会影响到之后分类效果。赵娟等[14]设计的外观缺陷在线检测系统,虽然采用基于Microsoft Visual Studio 2010 平台开发了在线控制软件,但仅仅通过缺陷面积特征算子提取得出外观检测结果,特征算子选取过少从而会影响到缺陷结果判定。借助采集到的图像来提取樱桃番茄的多个重要特征,建立起快速高效的分级检测模型是提高樱桃番茄分级精度和速度的有效途径。
试验装置如图1 所示。试验装置由水平棍子输送部分、机器视觉部分、电气控制PLC 部分和气动分选部分组成。试验过程为:首先,当樱桃番茄从水平棍子输送部分抵达工业相机拍照所覆盖的范围时,相机会被光电传感器触发开始进行拍照,达到对成像区域内部的目标进行图像采集。之后图像预处理单元会对图像进行采集,最后检测单元进行检测,输出检测结果和耗时。试验开始前应当调整好相机位置以使其成像范围能够覆盖整个水平棍子输送部分物料区。机器视觉部分相机选择PointGrey 相机,型号为BFLY-PGE-50S5C-C。采集图像格式设置为bmp。樱桃番茄在线分级检测设备图如图1所示。
系统采取水平辊子输送、气泵分选的工作方式,同时水平棍子输送线路的设计使得樱桃番茄在输送的过程中实现自动翻转,从而达到可以全面获取樱桃番茄外观信息的目的。输送部分由一条输送链带动,辊轮通过辊轴安装在输送链上,可绕轴自由转动。辊轮呈双锥凹形,当输送链带动辊轮到图像采集区时,辊轮一侧的齿轮与齿条啮合,辊轮前行的同时匀速旋转。樱桃番茄放置在两个相邻的辊轮上,在辊轮的带动下做翻转运动,以使相机获取樱桃番茄不同表面的图像。樱桃番茄经过图像采集区域时,软件对其进行数据采集及识别,并触发相应的分级装置实现水果分级。
图1 樱桃番茄在线分级检测装置图
样本的检测等级划分为三级:一等品、二等品和三等品。预先选出满足等级要求的樱桃番茄样本共600 个,每级样本为200 个,其中训练样本150个、测试样本50个。
为了提高在线分级环境的适应性,整个图像采集设备均安装在一个密闭的暗箱中。系统中图像采集部分采用的是一个灰点相机,系统光源部分采用2 个100 W 的卤钨灯,光源部分安装在垂直于水平棍子传送带方向的两侧。选择合适的打光方式可以提高图像采集的质量从而降低图像处理的难度[15]。
整个图像采集的过程通过外触发信号的方式来进行控制,当水果在水平辊子上旋转向前输送并通过安装有对射式传感器的位置时,图像采集卡就会接收到一个外部触发信号,这个触发信号进一步会控制相机开始进行图像的采集。整个图像的采集、保存及预处理和最终分选的过程都会依次连续完成。水果在线检测分选的全过程都是由基于VS2010 平台配置OpenCV 环境开发的检测分选软件控制,该软件可根据外部触发信号来控制相机进行自动采集和保存,能实时调用图像预处理程序模块在线同步进行处理,并结合水平棍子传送带的输送速度和图像处理速度,当样品远离采集光照箱快要到达分选位置时,将判断等级结果依次有序地传送给分选装置进行在线分选。进行处理的计算机配置选择内存4G、处理器2.50GHz。
从采集得到的原图(图2(a))当中可以看出,原图像中背景需要去除并且存在噪声需要降噪,因为噪声的存在容易干扰到后续图像处理过程中对图像的分割和特征参数提取。为解决这一问题需要对采集到的图像首先进行图像去背景,然后通过采用二级小波分解和中值滤波相结合的方法对图像进行压缩和降噪处理以达到实时处理效率和质量得到提高的目的。为避免不同工位光照不同,本文均对2号工位进行处理。
1)小波变换[16]压缩原图像是通过将含有噪声的二维图像信号进行多尺度分解,时域信号转换到小波域中,充分提取信号的小波系数来完成的。本文将采用选择分解级数为2,低频信号为压缩图像的方法,图像压缩后表明平均节省时间可达到0.03s左右。
2)自适应中值滤波[17]是通过对图像每个区域进行噪声检测,按照区域中受到噪声的污染程度不同来选择滤波方形窗口尺寸的大小。根据所检测出的噪声点进行中值滤波。图2(b)为去背景图片,图2(c)为预处理结果。
图2 图像预处理过程图
1)果形:特征提取通过最小外接矩形法进行选择,得出轮廓高度和轮廓宽度两个参数值。
2)果面纹理
纹理特征可用来检测果面是否光滑,该特征具有旋转不变性和局部抗噪能力。基于灰度共生矩阵(GLCM)的纹理特征分析方法[16]是通过计算灰度来得到共生矩阵,表征纹理特征通过采用反差、能量、熵和逆差距四个参数。设I(x,y)为樱桃番茄图像,横坐标和纵坐标分别用x和y表示,图像的灰度共生矩阵用p(i,j)表示,灰度值分别用i 和j 表示,则有:
反差:
能量:
熵:
逆差距:
3)成熟度
RGB分量值可表示数字图像颜色,樱桃番茄颜色分布特征主要由R 分量均值与方差、G 分量均值与方差、平均灰度等五个参数值表示。
最后,为了避免特征参数之间产生干扰,对其进行归一化处理。
针对复杂高维的特征,本文将建立有监督的分类模型,首先依据人工经验对训练样本进行分级。
3.3.1 特征降维
为了提高在线分级的实时性对高维复杂特征进行降维。由于该特征集具有非线性特点,采用核主元分析法。具体步骤如下。
1)针对训练集S,给定一个核函数K。
2)计算出核矩阵K 之后再计算~K(中心化的K)。
3)求~K 的特征值和单位特征向量,首先将特征值从大到小进行排列,之后提取前D 个特征向量,并令ai表达为式(5):
降维矩阵Q 表达为式(6):
4)对任一样本向量x,经过KPCA 降维后的数据表达为式(7):
核矩阵K 计算表达为式(8)、式(9),其中i,j=1,2,…N 。
~K计算方法表达为式(10)
3.3.2 SVM分类方法
SVM 分类方法[18~19]可以解决小样本训练集的机器学习问题从而提高泛化性能。
训练时,由于SVM 模型的两个预设参数,参数和核参数g 对分类结果影响较大。为了避免参数的盲目选择,决定引入具有较好全局遍历能力的粒子群优化算法(Particle Swarm Optimization,PSO)[20~21]对参数进行优化选择。常用的核函数有以下四种:
1)线性核函数的表达为式(11):
2)多项式核函数的表达为式(12):
3)径向(RBF)核函数(高斯核函数)的表达为式(13):
4)二层神经网络(Sigmoid)核函数的表达为式(14):
径向基核函数能够将原始空间映射到无穷维空间。通过调控参数σ,高斯核函数实际上具有相当高的灵活性。本文核函数即选择径向基核函数。
试验前,首先人工分级600 个樱桃番茄样本,其中包括每一等级200 个樱桃番茄。然后,从中随机抽取每一等级150 个樱桃番茄按分级顺序放入水平棍子进行采集图像离线训练,使用KPCA 降维特征进行训练,得到特征维数是4,进而建立起粒子群优化的SVM分类参数模型。
最后,用每级样本总剩余的150 个樱桃番茄按分级顺序放入水平棍子进行在线批量测试和连续验证。表1 所示为在线分级检测结果,图4 所示为单幅图像的实时检测结果,其中,图片分别为处理结果中一、二、三等品中随意挑选图,第一行数字代表检测结果等级数,right、wrong 代表分级结果是否正确,第二行数字代表正确的级别数,即应该属于哪一等级。以人工分级结果为准则,采用SVM 分类方法对上述樱桃番茄样本进行分级的准确率为90%,而采用KPCA-SVM分类方法对上述樱桃番茄样本进行分级的准确率为95%,表明该方法的正确性和有效性。最终结果得出:150 个樱桃番茄的批量测试样本,在线分级检测总用时37s 左右,平均速度约为4 个/秒,能够满足在线检测的实时性要求。
图5 樱桃番茄实时测试结果图
表1 批量樱桃番茄分级检测结果
采用本文在线检测方法对樱桃番茄样本进行分级时,虽然能够实现对大多数样本进行准确分级,但还是会存在对少量样本进行误分。除了人工分级的误差外,分析其主要原因还是因为受到了外界光照因素的干扰,导致采集到的樱桃番茄图像存在噪声,从而容易影响到纹理特征的计算,最终致使高等级樱桃番茄错判为低等级樱桃番茄。
1)用机器视觉技术在线采集水平棍子上的樱桃番茄图像时,针对存在光线噪声干扰的这一情况,本文提出了采用二级小波分解进一步中值滤波的方法。该方法能够达到图像压缩与降噪的功能,从而能够达到实时处理效率和质量提高的目的。
2)针对在线分级对实时性要求较高这一要求,本文从以下三个方面进行了改进:一,在图像预处理阶段对图像利用二级小波分解进行了压缩,结果表明图像处理平均节省时间约为0.03s;二,为了满足实时性要求引入核函数方法对SVM 分类模型中的高维非线性特征进行降维;三,通过利用经过训练而构建的基于粒子群优化的SVM 分类模型对果形、纹理和颜色分布等复杂高维特征进行分级,准确率可高达95%,结果表明其具有相当高的可行性。