一种基于树莓派平台的脐橙品质分级方法

2022-02-25 00:44夏垚胡步发张善福
机械制造与自动化 2022年1期
关键词:果面滚子树莓

夏垚,胡步发,张善福

(福州大学 机械工程及自动化学院,福建 福州 305116)

0 引言

目前,脐橙大多是按照外形大小进行简单分级,容易造成损伤,导致质量变差。随着机器视觉技术的发展,专家学者们对脐橙品质自动检测分级进行了大量研究,如:ALEIXOS N等[1]研发出了脐橙、柑橘的分级方法,通过采集可见光与近红外图像,进行品质分析。实验发现:表面缺陷判断的准确率为93%,颜色判断的准确率超过94%。程春燕[2]提出了基于深度学习的方法对脐橙品质实现检测和分类,该方法的精度比支持向量机提升了4%。黄金霖等[3]使用最小外接矩形算法完成对脐橙尺寸的检测,实验表明,在对120多个实验样本的检测中,总体误差率<2%。李江波等[4]提出波段比算法和特征波段主成分分析法,使脐橙溃疡的正确识别率提高到95.4%。CHEN Y W等[5]提出了一种脐橙自动分级方法,提取脐橙的果实大小、表面颜色、表面缺陷和果型4个主要特征,利用BP神经网络对特征进行训练,分级准确率为94.4%。

上述研究取得了一定的成果,但还存在以下问题需要改进:1)相机不能采集脐橙的全部表面,会出现漏检的情况;2)没有考虑球形水果在光照反射时会造成果面亮度不均匀;3)根据单一阈值和颜色特征来识别果面缺陷,无法适应果面光照不均匀带来的影响,且检测速度无法满足嵌入式设备需求。针对上述问题,本文基于树莓派平台,设计了低成本的脐橙自动分级方法。在3个工位中分别采集脐橙3个不同表面的图像,避免脐橙的背面被漏检,并在考虑球体表面反光的情况下提取脐橙果径、着色度特征,提出基于积分图的快速局部自适应阈值分割法,得到果面缺陷特征,最后建立决策树模型——C4.5,完成脐橙品质的实时分级。

1 试验环境

1.1 试验材料

采用赣南地区出产的纽荷尔脐橙,根据脐橙果径、着色度、表面缺陷将脐橙划分为特级果、一级果、二级果和等外果,其中随机选取每个等级的脐橙各100个,50个作为训练样本,50个作为测试样本。

1.2 试验系统

本文的试验系统如图1所示。硬件部分包括滚子输送链、拨果装置、果箱、遮光箱、Raspberry Camera V2树莓派原装摄像头、环形漫反射白色光源、树莓派(Raspberry Pi)3B+。相机垂直悬挂于遮光箱顶部,脐橙放置在两滚子的中间位置,随着滚子的滚动以角速度W2做翻滚运动,链轮转动使输送滚子随链条在导轨上以速度V做水平运动,带动脐橙沿着导轨向前输送。软件开发平台为PyCharm2019,部分代码源于OpenCV库。

1—拨果装置;2—脐橙;3—相机;4—环形光源;5—树莓派;6—显示屏;7—遮光箱;8—滚子输送链;9—卸果口。图1 图像采集与分级系统

1.3 实时图像采集

为了避免外界光照影响,本试验的图像采集环节在遮光箱内完成。工位一处设有一对光电感应模组,当有脐橙经过时触发相机采集图像,相机视野设置为3个工位,一次可拍摄3个脐橙,如图2所示。脐橙每经过1个工位会旋转一定的角度,连续采集3次图像后,同一脐橙的不同表面会在3个工位上各被拍摄1次。后续的图像分析环节,选择脐橙在这3个工位上的3幅图像进行综合分析。

图2 图像采集结果

1.4 分级选果模块

如图1所示,拨果装置与滚子相互间隔地安装在输送链上,拨杆恰好位于两滚子间隙的凹陷处。拨杆处设有光电感应模组,有脐橙经过时会对该拨果装置发送激活信号。分级模块完成分级后,树莓派对相应等级的拨果装置发送分级信号,拨果装置同时收到激活信号与分级信号后,触发拨果片完成拨果动作,脐橙被送入对应等级的卸果口内完成分级。

2 图像预处理

2.1 前景提取

为了方便后续环节的特征提取,必须分割出完整的脐橙前景图像。本研究在滚子输送链上采集脐橙图像,图像背景包含滚子、齿轮等,采用RGB颜色模型的灰度图分割前景图像,会把部分背景中的齿轮图像包含进来,如图3(b)所示。Otsu自适应阈值分割法不受图像亮度变化的影响,使用Otsu法对V分量图像进行分割的结果如图3(c)所示,得到了完整的脐橙前景图像,但没有分割出缺陷区域。本文使用轮廓填充法,填充缺陷区域,如图3(d)所示。

图3 图像分割结果

2.2 果面反光区域的亮度矫正

脐橙是类球形水果,即使在光照均匀的情况下脐橙表面也会出现亮度不均匀的情况,如图4(a),果面反光的高亮区域会影响后续特征提取。因此有必要对果面反光区域进行亮度矫正。本文采用HSV颜色模型矫正。选择阈值180对S分量进行阈值分割,二值化后的结果见图4(b)。经过试验可知,S分量值补偿阈值30效果最佳,再转换为RGB颜色空间,得到图4(c),可见矫正后的反光区域恢复正常。

图4 反光区域的亮度矫正

3 特征提取

3.1 横径特征提取

Canny[6]算子具有良好的鲁棒性,本文采用Canny算子提取二值化后的脐橙边缘。脐橙的边缘形状呈椭圆形,用最小二乘法对提取到的脐橙轮廓进行椭圆拟合[7],椭圆拟合结果如图5所示。

图5 椭圆拟合结果

本实验中像素坐标与世界坐标的比例关系:k=0.51mm/pixel,以椭圆短轴b与k的积L作为脐橙的真实横径,见式(1)。脐橙在3个工位中计算到的真实横径分别为L1、L2、L3。选取其中的最大值Lmax,作为脐橙的大小特征。

L=k×b

(1)

3.2 缺陷率特征提取

脐橙在生长、采摘、清洗和运输等环节都有可能造成缺陷。果面缺陷会对品质产生较大影响,常见的脐橙果面缺陷有虫斑、腐烂、裂果和溃疡等,通常缺陷区域比正常区域的颜色更深。本文采用阈值分割法来提取果面的缺陷区域。脐橙表面为类球体分布,经过亮度矫正后,虽然果面光照更均匀,但很难使用单阈值分割法提取表面的全部缺陷,见图6(b)。因此本文提出基于积分图的局部自适应阈值分割方法对脐橙的表面缺陷进行分割,结果见图6(c)。可见基于积分图的局部自适应阈值分割法,可以有效提取出果面的缺陷部分。

图6 缺陷分割结果

积分图是在一幅图像中快速计算其任意矩形区域内像素值和的一种方法,计算消耗的时间均为常量,与窗口的大小无关,可以满足工业检测对处理速度上的需求。令I(i,j)是图像f(i,j)的积分图,则I(i,j)中任意一点(x,y)的值见式(2)。其中f(i,j)为点(i,j)的灰度值。任意矩形的灰度值均值Mi的计算公式见式(3)、式(4)。(x1,y1)和(x2,y2)分别为该矩形的左上角和右下角坐标,Ii为该矩形的灰度值总和。

(2)

Ii=I(x2,y2)+I(x1,y1)-I(x1,y2)-I(x2,y1)

(3)

(4)

算法的实现步骤如下:

1)按照脐橙的最小外接矩形对单个脐橙的R分量图像进行裁剪,并用线性插值法,把图像统一裁剪成180×180 pixels,求出该目标图像的积分图I(x,y)。

2)确定滑动窗口为30×30 pixels,以步长为0.25在目标图像上进行滑动。把滑动窗口均分成4个子窗口,分别用积分图计算子窗口的灰度值均值M1、M2、M3、M4,求M1与M2、M3、M4差的绝对值ΔD2、ΔD3、ΔD4,求均值得到ΔD,计算公式如下:

ΔDi=|Mi-M1|

(5)

(6)

3)判断ΔD是否超过预设值T,超过T则以滑动窗口的灰度值均值M作为分割阈值对滑动窗口所在区域进行二值化操作,二值化结果中缺陷区域灰度值为0。若ΔD>T则把窗口内的灰度值置为1。本文通过实验可知T设为20时可以较好地将缺陷区域完整提取。

4)重复步骤2)和步骤3),直至遍历完整幅图像。将各子图像进行合并,得到完整的缺陷图像,结果如图7(a)、图7(b)所示。

图7 缺陷检测效果图

对缺陷图像中灰度值为0的像素点求和得到缺陷区域像素点总数A。缺陷率的计算公式为:

(7)

(8)

3.3 着色度特征提取

脐橙成熟后,表面多为橙黄色和橙红色,脐橙着色面积是指果面橙红、橙黄区域的面积,在H分量中取30作为阈值可以有效地区分橙色区域与绿色区域。脐橙着色度C的计算公式为:

(9)

(10)

(11)

4 基于决策树——C4.5的脐橙品质分级

决策树[8]是一种非参数的有监督学习算法,决策树的根节点包括全部训练自助样本,每个节点选择分支变量的原则是从一组随机选取的变量中选择使分枝后节点的“不纯度”最小的变量作为分枝变量。“不纯度”的衡量标准包括Gini系数和信息熵,Gini系数和信息熵的值越大,不纯度就越高。决策树中,节点t的Gini系数计算公式为

(12)

式中:t为给定的节点;i为标签的任意分类;c为标签在该节点上总共的分类个数;p(i|t)为标签分类i在节点t上所占的比例。

信息增益Gain是判断分支变量对一个节点的可分程度,节点t的信息增益计算公式为

Gainjt=Ginit-Ginitl-Ginitr

(13)

式中:Gainjt为分支节点j对节点t的信息增益;Ginitl、Ginitr分别为节点t以分支节点j进行分支后的左、右节点的“不纯度”。决策树选择变量进行分支时,选择使信息增益更大的分支变量。

在改进的决策树——C4.5中引入过分支度的概念来对信息增益的计算方法进行修正,避免分类水平过多,信息熵减小过快的特征影响模型,减少过拟合的情况。分支度的计算公式为

(14)

式中:i表示父节点的第i个分支节点;vi表示第i个分支节点的样本个数;P(vi)表示第i个分支节点的样例个数占父节点总样本数的比例。在C4.5中,使用信息增益与分支度的比值作为对节点可分程度的评断标准,称为信息增益率,该值越大说明可分程度越高,如下式:

(15)

本文的C4.5模型以脐橙的大小、着色度和缺陷率3个特征作为输入向量,输出4个分类(特等果、一等果、二等果、等外果)。

5 实验结果

本实验采用赣南地区出产的纽荷尔脐橙,根据脐橙国家分级标准[9],随机选取特等果、一等果、二等果和等外果各100个进行实验,其中,各个等级随机选取50个作为训练样本,剩下的50个作为测试样本。

训练分类器之前,按照第3节中特征提取的方法,提取出脐橙的横径L、着色度C、缺陷率D,如表1所示。把这些特征参数送入C4.5模型进行有监督训练,训练结束后,保存模型参数。通过训练好的C4.5模型,对测试集中的样本进行测试,结果如表2所示。

表1 脐橙特征参数

表2 脐橙品质分级结果

本文基于树莓派平台,树莓派的成本仅为工业计算机的1/10。1台树莓派可以处理1列输送线上的脐橙。随着输送线列数增加,可以通过增加树莓派设备的数量对整条输送线进行并行处理,此时树莓派平台在分级速度和成本方面均要优于使用单台的工业计算机。表3为在不同列数的输送线情况中,树莓派平台与工业计算机平台分级速度的对比。当输送线列数为5时,有5台树莓派分别对每列输送线上的脐橙进行并行处理。此时该系统的分级速度明显大于使用单个工业计算机的分级速度,成本也远远低于单个工业计算机。

表3 分级速度对比 单位:个/s

6 结语

本文在V分量上结合轮廓填充的方法,有效地分割出滚子输送线上脐橙的前景图像。在S分量上实现了反光区域的亮度矫正。分别提取了脐橙的大小、着色度和缺陷率3个特征,构建以这3个特征为输入向量,脐橙分类等级为输出的决策树分类器。试验结果表明:在树莓派平台上该分类器的分类正确率达到95%,当输送线的列数为5时,处理速度为15个/s,验证了系统的准确性和实时性,可以满足在线分级的应用要求。

猜你喜欢
果面滚子树莓
山间“小精灵”
——树莓
昼夜温差大要防果实破裂
特大型调心滚子硬车削工艺试验探究
圆锥滚子轴承半凸滚子的优化研究
仿真模拟在多联推力滚子轴承研发中的应用
圆柱滚子轴承失效分析
葡萄日灼病的发生与防治
基于树莓派的骑行智能头盔设计
基于树莓派的远程家居控制系统的设计
套袋加重柠檬虫斑的发生