陈映雪,杨艳

(攀枝花学院 智能制造学院,四川攀枝花, 617000)

0 引言

随着水果种植产业的不断发展,水果的供应量越来越大,实现对水果品质分级处理成为水果销售处理的核心过程,也是水果商品最大化的重要过程。

在我国的水果产业中,芒果占据了较大的产量与输出量,对采摘后的芒果进行分级处理,可增加芒果的自身价值与市场竞争力[1]。由于芒果在成熟后,果肉偏软,在其表面极易产生黑斑,导致口感不达标和美观不足,在运输途中容易挤压,造成芒果产量损失。而传统的芒果分级主要依靠人工,存在着分级效率低、工作量大,人工成本高、误差大以及在分级过程中造成二次损害的风险等缺点。随着计算机机器视觉的不断发展与成熟,基于机器视觉的分级方法已经在逐渐取代人工分级,对此国内外专家开展了大量研究。何文斌、魏爱云等[2]使用图像去噪、图像分割技术以及特征提取等方法对水果进行分级,阐述了基于机器视觉的水果分级研究进展与未来发展趋势。饶剑等[3]研究了类球形水果外部品质分级方法,将脐橙的果形指数和果面缺陷作为检测指标,实现了脐橙的外部品质分级。石瑞遥、田有文等[4]设计了一套苹果在线检测分级系统,通过逐像素遍历法、支持向量机等方法实现了苹果品质分级。田有文,程怡等[5]利用高光谱成像技术和支持向量机方法,对苹果虫伤缺陷与果梗/花萼进行识别,识别效果较好,能为研究苹果质量等级在线评判提供理论依据。ALEIXOS 等[6]基于多光谱相机,利用DSP 特定算法对柑橘的大小等特征进行检测,实现了柑橘与柠檬的正确区分。

综上所述,本文采用工业相机对目标成像,结合Sobel算子、Canny 算子与形态学填充等处理算法获取芒果的缺陷,根据缺陷大小与面积实现芒果分级处理。并以芒果为测试对象,验证分级方法的可行性与准确性。

1 实验材料与装置

实验材料为从超市购买的小芒果,共70 个,在挑选时尽量选择形状和面积均等的芒果。其中表面带有缺陷的芒果有40 个,表面完好的芒果30 个,其中缺陷包括疤痕、腐烂、裂伤等呈现不规则面积黑斑的缺陷类型。

为采集到芒果的缺陷,在搭建图像采集装置时,要对相机、光源位置作清晰规划,制定科学的实验方案。装置如图1 所示,主要包括CCD 工业相机、镜头选用佳能24-105mm、LED 光源、传送带、数据处理中心。检测时,首先需调整相机高度与照明设备的位置,使采集的图像效果最佳;将小芒果放置于传送带上,送入工业相机的测量范围内,同时在工业相机两侧以及下方布置三套照明设备,以尽量保证光照均匀;CCD 工业相机采用垂直拍摄方式,采集到的图像通过数据线传输到电脑,进行数据处理。

图1 图像采集装置

图像输入到MATLAB 软件中,经过一系列的处理,最后得到缺陷部分,通过缺陷的个数和面积,对小芒果进行分级,具体操作流程如图2 所示。

图2 实验流程图

2 缺陷检测算法

■2.1 图像预处理

受光照不均匀等自然环境中不可控因素,相机采集到的图像存在噪声,噪声会影响后续的图像处理,对于小芒果的分级产生影响,所以应在保留图像细节的基础上,对图像进行噪声处理。常用的去噪处理有:均值滤波、高斯滤波、中值滤波、自适应中值滤波、双边滤波等方式。由于小芒果表面的缺陷大多呈现连续、不规则的黑斑,所以采用自适应中值滤波能够很好的保护图像尖锐边缘的信息,在平滑非脉冲噪声时能够保留图像细节,同时去噪效果明显。

其原理为:将图片灰度化,然后将图片像素归一化到[0,1]之间,然后添加均值为0,方差为0.1 的高斯噪声,乘以255 映射回图片原来的灰度级,用max(0,min(t1,255))操作将超出[0,255]的纠正。均值给出了计算均值的区域中灰度平均值的度量,而方差给出了这个区域的平均对比度的度量。其表达式为:

其中,g(x,y)表示噪声图像在点(x,y)上的值;干扰f(x,y)以形成g(x,y)的噪声方差;mL,在Sxy上像素点的局部均值;,在Sxy上像素点的局部方差。如果滤波器应简单地返回g(x,y)的值;如果滤波器返回区域Sxy上像素的算术均值;如果局部方差与σL2是高度相关的,滤波器返回一个g(x,y)的近似值。自适应滤波之后的图像为灰度图像,如图3(a)所示,由灰度图像的特点可知,直接对灰度图像进行边缘检测,边缘模糊,效果不明显,故选择使用Soble 算子进行边缘检测,检测后再使用MATLAB 算法使图像变为彩色,目的是使缺陷部分的特征加强,便于后续的第二次边缘检测。

图3 样本图像预处理结果

边缘检测与微分运算类似,本质是所检测的图像的亮度变化。Sobel 算子是典型的基于一阶导数的边缘检测算子,由于该算子引入了类似局部平均的运算,因此对噪声具有平滑作用,能够很好地消除噪声的影响。Sobel 算子对像素的位置的影响做了加权,因此与Prewitt 算子,Roberts 算子相比效果更好,所以本文采用Sobel 算子对采集的图像进行第一次边缘检测。

其原理为:Sobel 算子包含两组 3 × 3 的矩阵,分别为横向和纵向模板,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值,本质是一次差分、一次平滑的连续运算。Gx 模板由于使用的是水平方向的差分和平滑模板进行卷积,而竖直边缘的水平差分比较大,竖直边缘将会被提取出来;同理,Gy 模板使用的是竖直方向的差分和平滑模板进行卷积,而水平边缘的竖直方向的差分会比较大,将会把水平边缘提取出来。

检测水平方向沿横向模板:

检测垂直方向沿纵向的模板:

在滤波器之后,使用colormap 函数将图像转换成彩色,使图像颜色对比更强烈,如图3(c)所示。对于采集到的图像,适当变化检测模板的值,找到缺陷部分特征较明显的矩阵值,替换掉模板的矩阵值,目的是增大缺陷部分与背景的颜色对比度。

■2.2 图像增强

在Sobel 算子边缘检测后,由于光照不均匀等因素,导致缺陷部分的颜色与小芒果部分完好位置颜色近似,以及缺陷部分的颜色不连续,这使得在后续第二次边缘检测实验中,会把缺陷部分与完好部分一同检测出来,导致实验结果不准确。图像增强可以对图像中某个特征进行有针对性地突出,从而扩大图像中特征与背景之间的差别。如图4 是图像增强后的结果。

图4 图像增强处理结果

3 Canny 算子边缘检测

基于边缘的分割方法其实就是根据所采集到图像中局部特性的不连续性,从而对所要识别的物体和背景之间形成边缘。由于边缘处像素的灰度值不连续,无法形成平滑、均匀的曲线,所以要通过边缘检测算法,得出连续平滑的边缘曲线。本文中采用的边缘检测算法为Canny 算子,相较于其他检测方法,Canny 算子对噪声不敏感,不容易受到噪声干扰,并且检测错误率低,能够检测到真正的弱边缘。Canny 算子的运算步骤分为四个部分:使用高斯函数对图像进行平滑;寻找图像的强度梯度;对梯度幅值进行非极大值抑制 ;用双阈值算法检测和连接边缘。其中高斯滤波表达式如式2:

梯度的幅值和方向表达式如式3:

在阈值的选取时,根据梯度幅值的直方图选取,选择在直方图中占比70%的梯度幅值作为高阈值,低阈值与高阈值的比例为4:10。选择最优阈值,从而实现缺陷区域与非缺陷区域的有效分割。如图5 所示,图5(a)是边缘检测前的图像,图5(b)是Canny 算子检测后的图像。

图5 图像边缘检测的结果

4 图像形态学处理

实现边缘检测后的图像是由连续不规则曲线组成,缺陷特征不明显,为突出缺陷特征,在边缘检测后对图像做形态学孔洞填充处理。所谓孔洞填充是指:一个孔洞可被定义为由前景像素相连接的边界所包围的一个背景区域。首先找孔洞的一个点,用结构元去膨胀,然后用原图像的补集进行约束(求交集),不断重复膨胀,约束直至图形不改变(即收敛)就停止,最后与原图求个交集。如图6(a)所示,膨胀后的图像边缘连续。其公式为:

图6 形态学处理后图像

式4 中:B 是进行孔洞填充图像中的对称结构元。如果Xk=Xk-1,则算法在迭代的第k 步结束,然后,集合Xk 包含所有被填充的孔洞,Xk 和A 的并集包含所有填充的孔洞及这些孔洞的边界。如图6(b),在孔洞处理之后的图像,缺陷特征明显,边缘清晰。

根据以上图像处理步骤,还处理了一部分小芒果样本的缺陷识别,如图7 所示。

图7 缺陷识别图

5 实验结果与分析

本文对采集到的小芒果图像进行图像处理后,得到小芒果的缺陷部分图像,最终以缺陷的大小与面积为分级标准,对小芒果进行分级。没有缺陷的小芒果为一等、缺陷在1~2个之间为二等、缺陷在2 个以上为三等。

通过对70 个实验样品的分析,得到的分级结果如表1所示。结果表明对小芒果缺陷的处理准确率达到了95%,少数产生错误判断的原因是,在采集图像过程中,光照不均匀,导致图像完好部位产生阴影,导致错误判断。

6 结束语

本文提出了基于Sobel 算子与Canny算子两次边缘检测的小芒果缺陷检测方法,将小芒果缺陷的大小与面积作为分级标准,运用Sobel算子和Canny 算子解决了在以往缺陷识别中边缘不清晰及不连续等问题,能够更好地减少噪声对图像后续处理的干扰,使得检测到的缺陷边缘连续且平滑,接近真实的缺陷边缘。实验结果表明缺陷清晰、分级快速、准确率高,应用于芒果产业中,有助于提高小芒果的分级效率,满足芒果分级需求。但由于实验过程中光照的位置,始终会对采集到的小芒果图像产生影响,导致阴影部分的产生,在后续的研究中,还需进一步改进。