采摘机器人自主采摘学习能力研究
——基于LM-BP神经网络
2020-10-19康丽锋王彦昆
康丽锋,王彦昆
(焦作师范高等专科学校,河南 焦作 454000)
0 引言
目前,在全球的水果种植中,仍然依靠人工进行采摘作业,劳动强度大,效率低。众所周知,五六十年前,国内外就有研究学者开始进行采摘机器人的研究,但目前尚未没有采摘机器人成功上市,最为重要的原因是采摘机器人对水果成熟度判断的准确率太低。因此,本文提出了一种LM-BP神经网络的采摘机器人自主采摘学习能力系统,以实现对水果成熟度进行准确的判断。
1 LM-BP神经网络
BP神经网络包括输入层、隐藏层和输出层,每层包括许多并行计算神经元,这些单个神经元与生物神经系统中的神经元相似,简单且功能有限,但许多神经元可形成具有众多功能的网络系统。不同层中的神经元完全互连,而同一层中的神经元彼此不相连。BP神经网络中单个隐藏层的结构如图1所示。
图1 BP神经网络结构图Fig.1 The Structural Chart of BP Neural Network。
图1中,x1,x2,... ,xn为BP神经网络中的输入自变量,包括影响水果成熟度的因素;y1,y2,... ,yn为对应于用于预测水果是否已经成熟的输出;F1,F2,...,Fn为相应训练数据的实际水果成熟度,即来自水果成熟度预测模型的预期输出值;Wij为与隐藏层中的每个节点相对应的权重;Wjk为与输出层中的每个节点相对应的权重;n为神经网络中的输入节点数;l为隐藏层节点数;m为输出节点数;d为每个节点的阈值。
在BP神经网络中的前向传播中,其隐藏层的输出表达式为
(1)
输出层的输出表达式为
(2)
根据BP神经网络模型,定义均方误差函数,用于计算预测输出矢量和预期输出矢量的均方误差。该功能定义为
(3)
将式(1)和式(2)代入式(3),可以得到BP神经网络的性能误差函数为
(4)
通过权重的误差函数推导和输出点的阈值,可得
(5)
(6)
得到输出节点的误差为
(7)
将式(7)代入式(5)和式(6),可得
(8)
(9)
在输出层节点中,根据传统的BP神经网络训练算法,权重和阈值调整公式为
(10)
dk(e+1)=dk(e)+ηδk
(11)
类似地,在BP神经网络隐藏层节点中,权重和阈值等式为
wij(e+1)=wij(e)+Δwij=wij(e)+ηδkxi
(12)
θj(e+1)=θj(e)+ηδj
(13)
在等式(10)、(11)、(13)中,η为BP神经网络的学习率。权重和阈值的调整算法是影响学习能力训练模型预测准确性的关键特征。
传统的BP算法使用最速度梯度下降校正方法,但很容易被局部最小值捕获,会影响收敛速度。因此,传统的BP神经网络算法需要改进。
在LM-BP算法中,在一系列近似和优化之后,使用等式(14)来调整权重和阈值,即
x(k+1)=x(k)-[JTJ+μI]-1JTe
(14)
其中,J为雅可比矩阵;系数μ为大于零的常数;I是单位矩阵;e为误差值。式(14)表明:当训练开始时,系数μ的值较大,该方法为小步长的梯度下降训练算法;当系数降低且接近零时,该方法等同于牛顿法。高斯-牛顿算法具有当误差接近最小值时计算速度更快、精度更高的特点,因此使用LM算法可以极大地提高收敛速度,并确保更高的准确度。基于LM-BP神经网络算法过程如图2所示。
2 采摘机器人图像处理
2.1 采摘机器人视觉处理系统
视觉系统是采摘机器人的重要组成部分。采摘任务中最关键的步骤之一是识别和判断水果的成熟度,通常包括图像获取、图像处理分析和结果判断输出等模块。采摘机器人视觉系统的主要任务是获取苹果数字图像,对采集的图像进行图像处理,区分待测水果的成熟程度。采摘机器人视觉处理系统如图3所示。
图3 采摘机器人视觉处理系统Fig.3 The Vision Processing System of Picking Robot。
在自然环境中,果实生长的位置和形态千奇百怪,且在图像采集系统位置的影响下收集的水果图像信息是多种多样的。图像可归纳为以下类型,包括单个无遮挡的水果、遮挡的水果、重叠的水果及紧靠的水果等,如图4所示。
图4 水果的不同姿态位置Fig.4 The Different Posture Positions of Fruits。
采用颜色空间(也称为颜色模型)可以将水果的颜色用数字进行表示,颜色空间和敏感程度在图像处理中起着关键作用。颜色空间可以通过几个组件描述所有颜色,即基于某些标准能用更可被接受的方式解释颜色。图像中的所有颜色都可以借助颜色空间以单点形式执行表达。RGB颜色空间是最常用的颜色模型,基于R、G、B等3种基本颜色,并根据三者叠加到不同的程度,能够合成超过1 600万种不同的颜色。RGB颜色空间使用单位长度的立方体来表示颜色,黑、蓝、绿、红、青、品红、黄和白的8种常见颜色分别位于立方体的8个顶点处。黑色通常放置在三维直角坐标系的原点。红色、绿色和蓝色分别放在3个轴上,整个立方体放在第1个八分圆中。RGB颜色空间模型如图5所示。
图5 RGB颜色空间Fig.5 RGB color space。
在RGB模型中,每个像素点由红色、蓝色和绿色组成,意味着RGB模型有3个像素层。在进行图像处理中,可以通过以下公式实现对每个像素的红色特征的提取,即
V=2R-B-G
(15)
其中,若“V”的值大于0,则意味着像素的红色特征更加明显,并且像素可以被视为“红色”像素,即可判断该水果的成熟度比较高。
2.2 水果特征提取
在对水果进行等级分类的过程中,提取合适的水果特征对识别率具有很大的影响。以苹果为例,特征提取的流程如图6所示。
图6 苹果特征提取流程图Fig.6 The Flow chart of Apple feature extraction。
首先将输入的苹果图像进行归一化处理,压缩成为224×224的格式大小;由于图像采集或者天气原因,输入的苹果图像会存在一定的噪声和干扰,也需要对其进行滤波处理。苹果图像的预处理结束后,需要采用合适的特征提取方法,本文采用RGB三色直方图提取特征值。
RGB三色直方图表示在R、G、B等3个通道上不同亮度区间上分布的相应颜色像素值,可用来检查色调。RGB三色直方图如图7所示。
图7 RGB直方图Fig.7 RGB histogram。
由图7可以看出:通过R、G和B三色通道可以清晰地反映出苹果的颜色,而苹果成熟度不同,其三色图的颜色占比也不一样。因此,根据苹果的三色占比就可以判断出水果的成熟度。RGB图像代表每个像素占4个字节(RGB占3字节,还有1个字节空),R、G、B分量各占1个字节,每个分量都有256种取值可能(每个分量值是32位整数)。因此,RGB图像的直方图是一个256×3的数组。RGB图像直方图的部分软件算法为:
guid="ad00975c-af8a-4f4d-927c-54f1ec9aacdd"> tints="1,1,1"/> tints="0,0,0"/> tints="0.047059,0.584314,0.098039"/> tints="0.011765,0.235294,0.035294"/> tints="0.2,0,0"/> tints="0.929412,0.909804,0.909804"/> tints="0.854902,0.819608,0.819608"/> tints="0.784314,0.729412,0.729412"/> tints="0.709804,0.639216,0.639216"/> tints="0.639216,0.54902,0.54902"/> tints="0.564706,0.454902,0.454902"/> tints="0.494118,0.364706,0.364706"/> tints="0.419608,0.27451,0.27451"/> tints="0.34902,0.184314,0.184314"/> tints="0.27451,0.094118,0.094118"/> … 为了验证采摘机器人自主采摘学习能力系统的可行性和准确性,于2018年10月25日在某苹果种植园,进行了苹果的成熟度判断与采摘试验。试验中各选择100张全生、半熟和成熟的苹果图片进行测试试验。其中,采用70张图片作为训练样本,30张图片作为性能测试样本。3种成熟度的苹果样本图片如图8所示。 图8 3种成熟度的苹果样本图片Fig.8 The Sample maps of apples with three maturities。 LM-BP神经网络算法的参数十分简单,只需要将3种成熟度的苹果样本共计210张图片作为样本输入,然后选择隐含层的的节点数目,便可以开始进行学习和训练。隐含层的节点数从10个开始验证。LM-BP神经网络算法中隐含层数目对识别误差影响的变化曲线如图9所示。 图9 隐含层数目对识别误差影响的变化曲线Fig.9 The Change Curve of Implicit Layer Number Affecting Recognition Error。 由图9可以看出:隐含层数目对识别误差影响非常大。当选择140个隐含层时,采摘机器人自主采摘学习能力达到较好的效果;此时,若继续增加隐含层个数,采摘机器人自主采摘分类效果性能增加非常缓慢。因此,选择140个隐含层,LM-BP神经网络算法可以达到最优效果。 采用LM-BP神经网络算法、图像处理技术,设计了一种基于LM-BP神经网络的采摘机器人自主采摘学习能力系统,可以大大提高采摘机器人对水果成熟度的识别能力。测试结果表明:与BP神经网络算法相比,LM-BP神经网络算法训练学习速度更快、测试精度更高,能够满足采摘机器人对目标水果成熟度识别的要求,具有一定的应用价值。3 测试与分析
4 结论