宋秋霜 ,杨金鹏
(四川信息职业技术学院智能控制学院,四川 广元 628040)
我国是世界上第一大的苹果生产、消费国[1],年产量、种植面积高居世界第一[2]。高精度苹果外观质量检测有利于提高苹果市场竞争力。然而大部分果农对苹果外观质量的检测仍采用人工分级的方法,其分拣率低、分级精度不稳定[3],这严重影响了水果的品质,制约了果品的价格[4]。
近年来,随着计算机视觉的快速发展,利用图像处理进行苹果品质分级的技术愈加成熟[5]。其分级品质把控好、效率高、人工费用少,逐步替代了传统的人工分级。在此背景下,本文将研究基于图像处理技术提取苹果图像中的相关特征来实现对苹果外观缺陷的检测。
色泽、大小和重量以及是否存在缺陷通常被用作为评判苹果品质的特征[6]。本研究以苹果外观缺陷为检测对象,步骤是通过颜色、表皮纹理来检测外观缺陷有无,再利用轮廓、特定区域提取及区域像素个数统计,实现对外观缺陷程度的计算。
基于颜色特征的缺陷检测是依据直方图统计图像各个像素所有颜色通道数值数量的分布。其中,黑色灰度值为0、红色灰度值为128、白色灰度值为255。若苹果外表有缺陷,那么直方图在灰度值0 附近的幅值较大;若苹果外表没有缺陷或很少,那么直方图在0附近的幅值较小,在灰度值128附近的幅值较大。
基于纹理特征的缺陷检测是依据新鲜、品质好的苹果表皮光滑、无疤痕裂纹和干瘪不新鲜的苹果表皮粗糙来进行的。通过提取图像像素点的LBP(Local Binary Pattern,局部二值模式)特征值,并将LBP 特征值保存为一系列数值,再将这些数值通过直方图显示出来。表皮光滑苹果的直方图数值小,且分布均匀;表皮干瘪、有裂纹、粗糙的苹果的直方图数值较大,且分布不均匀。
通过特定像素区域提取计算苹果缺陷程度,其步骤是先将苹果坏的部分提取出来;再提取苹果轮廓,目的是获得整个苹果所占图像区域;最后计算苹果腐坏部分像素个数与苹果整个区域像素个数之比,即可作为苹果腐坏程度的结果值。
常见的苹果品种很多,包括以红富士为代表的红色苹果,以黄元帅为代表的黄色苹果,以青香蕉为代表的青色苹果,以黑卡为代表的黑色苹果。红富士苹果作为我国苹果的主栽品种,占全国苹果种植面积的70%[7],所以本研究的苹果颜色为红色。直方图作为图像处理的重要工具,一直被广泛应用。颜色直方图从图像内部灰度级的角度出发,通过统计图像内各个灰度级出现的次数表述图像。
本研究利用颜色直方图进行红色苹果外观缺陷检测。由于绘制直方图的hist 函数只支持一维的数组,故先进行灰度化处理。为避免图片白色背景干扰,直方图像素值范围为[0,200]。X轴为像素值,Y轴为对应像素具体个数。
直方图顶点区域代表图像的特征区域,由图1 可以看到:苹果1 集中在区间[100,175],[0,75]像素个数少且增加比较缓慢。可以得出苹果1 外观颜色偏亮,存在缺陷的可能性较小;苹果2 集中在[25,50]、[75,120]两个区间,说明苹果2外观颜色明暗均包含,存在缺陷的可能性较大;苹果3 集中在[0,30]区间,说明苹果3外观颜色偏暗,存在缺陷的可能性很大。
图1 颜色直方图结果图
局部二值模式(LBP)可用来描述图像局部特征的算子[8],计算简单,具有灰度不变性、旋转不变性等优点,在计算机视觉领域应用广泛。表面纹理特征是衡量水果外部品质的重要特征[9]。
原始LBP 算子被定义在3×3 的像素邻域内,邻域中心像素为判断阈值,与周围8 个像素灰度值比较:若相邻点大于等于中心,则该相邻点记作1,反之为0。用center 代表中心像素,pixel(i)代表各邻域像素,判断依据如下:
中心像素LBP 值可以表示像素周围区域的纹理信息。另外,只有灰度图才可用于LBP特征计算。
由图2可以看出:苹果1外表纹理光滑,其表面无裂纹、同时也未发生挤压碰撞;苹果2 表皮部分纹理光滑,部分纹理粗糙,其部分表面有裂纹,表明这部分可能发生了碰撞挤压;苹果3表皮大面积纹理粗糙,说明表面有裂纹,可能的原因是放置过久导致的干瘪、苹果成长期间的品质差以及发生碰撞挤压。
图2 LBP纹理特征的图谱
仅通过图谱进行苹果品质分析不如直方图直观,下面将利用直方图对LBP 特征进行分析。若仅用一张输入图像256 维的向量进行分析,会因维度过小、输入数据过少,出现相关信息缺失的问题。因此先对图像分块处理再提取LBP 特征值。但会导致输出的LBP 维数很大。因此要降维处理,即Uniform LBP(LBP 等价模式)[10],其既不失真还能降低维度。LBP、Uniform LBP的直方图结果如图3所示。
图3 LBP纹理特征的直方图
由于背景图像对提取的苹果纹理结果影响较大,故本研究只比较0~50 维的LBP 特征值。由图3 可以看出,Uniform LBP 在降低维度的同时也没有失真。苹果1 在0~50 维的直方图分布较均匀,苹果2、苹果3 在0~50 维分布不均,且苹果3 较苹果2 分布数值幅度偏大。由此可以推测,苹果1 表皮光滑,苹果2、苹果3表皮有裂纹,且苹果3 比苹果2外表更加粗糙。
下面先利用轮廓特征获取苹果全部区域,再提取有缺陷的区域,最后统计两区域像素个数,用两区域像素个数比值即可计算出苹果外观缺陷程度。具体的计算公式如下:
特定区域即视为苹果腐烂的区域,提取依据是苹果腐坏部分显示为深褐色,苹果完好部分呈现红色。图4为苹果特定区域的提取过程。
图4 腐烂区域提取结果
由图4可以看出:苹果1外表完好,外表没有缺陷,提取的区域为苹果柄,主要是因为苹果柄的颜色偏深褐色。苹果柄所占颜色像素小,对后续苹果的腐烂程度的计算影响很小。苹果2 不光对腐坏区域进行了提取,还对部分干瘪的纹理部分也进行了提取,主要原因是光照导致阴影部分呈现深褐色。苹果3 除了对腐坏区域进行准确提取,也同样对苹果柄进行了提取。苹果4、苹果5对腐坏部分也实现对应区域的提取。
由公式(2)可知还需要提取整个苹果区域,下面将通过轮廓提取来实现苹果整个区域的提取。由于特定区域提取结果图片的背景为黑色,提取区域显示为蓝色,故为方便后续像素个数的计算,先将轮廓结果进行颜色反转处理,如图5所示。
图5 整个苹果白色像素提取
由图5 可以看到,苹果图像的反光部分经轮廓提取会出现偏差,对后续处理得到的轮廓结果以及颜色反转结果图有一定的影响。这是因为拍摄时光照的缘故。下面再对提取到的苹果腐烂部分进行颜色反转,为后续计算腐烂程度做好准备。
在图6 中,由反转结果可以统计得到公式(1)中特定区域像素个数,由整个苹果可以统计得到公式(1)中整个苹果区域像素个数。所以苹果腐烂程度计算结果如图7所示。
图6 腐烂区域颜色反转
图7 苹果腐坏程度计算结果
由图7 可知,苹果1 腐烂程度仅为0.16%,接近于0,可以判定该苹果没有腐烂,这个判定结果与苹果1 实际情况比较符合。由这个结果也可看出,错误检测到的苹果柄对腐烂程度计算结果的影响可以忽略不计。苹果2 腐烂程度为29.83%,苹果3 腐烂程度为40.17%,苹果4 的腐烂程度为31.88%,苹果5 的腐烂程度为38.18%。比较之下:苹果2 的腐烂程度最轻微,苹果3 的腐烂程度最高,这也比较符合苹果2、苹果3、苹果4、苹果5的实际情况。
由图1 统计结果可以看出,基于颜色直方图获取的颜色信息可以大致区分判断出苹果外观缺陷的有无;由图2、图3 检测结果可以看出,基于LBP 获取的纹理特征也可以检测到苹果的表皮信息,实现其缺陷有无的检测;由图4 计算结果可以看出,依据公式(1)可以准确计算出苹果外观缺陷的程度。但由于本研究的苹果图片拍摄角度比较单一,后续可通过对同一个苹果进行多角度拍摄研究,获取到更准确的腐烂程度计算的结果。另外还可以看到,光照对于检测结果也有一定的影响,后续可以进一步展开研究。