APP下载

基于改进型SegNet的苹果采摘点分割算法研究

2022-11-03李艳文左朝阳王登奎陈子明

燕山大学学报 2022年5期
关键词:池化卷积苹果

李艳文,左朝阳,王登奎,李 赫,陈子明

(燕山大学 机械工程学院,河北 秦皇岛 066004)

0 引言

据联合国粮农组织统计,2020年中国苹果总产量约为3 100万吨,贡献了该年度世界苹果总产量的52.7%[1]。苹果的种植、养护和采摘是广大果农最关心的问题,而苹果的采摘作为最后一个重要阶段,面临着劳动强度大、人工成本高和采摘周期短等问题。为了解放劳动力,实现果园的智能化运作,基于视觉系统的采摘机器人成为当前的研究热点,准确无误地完成识别与定位是目前研究采摘机器人需要解决的难题[2]。

目前主流的果实定位方法有以下四种:1)利用质心定位;2)根据果实目标的轴对称特征对果实进行空间定位;3)采用略大于果实最大轮廓的球包围果实,用球心和半径定位采摘点;4)利用空间三维坐标定位,对视觉系统采集到的图像进行处理,或者利用激光测距传感器、三维相机定位[3-4]。采摘机器人的采摘方式一般分为两种:扭断和剪断。剪断式采摘的采摘点设置在果梗处,在复杂的自然环境中,相对于果脐的位置,果梗更容易被枝叶遮挡,不仅会降低采摘点的识别率,还需要不断变换拍摄角度去获取无遮挡的图像,非常影响识别的效率。

近年来,国内外学者在果实定位上取得了许多不错的成果。戴宁[5]提出了一种基于柚子果实质心和挂果姿态结合感兴趣区域对柚子采摘点识别的算法,实现机器人采摘中对柚子采摘点位置识别的功能;王丹丹等[6]提出了基于平滑轮廓对称轴的苹果采摘点定位算法,试验结果表明该算法能有效提高定位精度和实时性;Niu等[7]用Shape Context算法对提取的被遮挡苹果轮廓进行匹配,通过提取轮廓的对称轴实现苹果定位;Xiao等[8]采用BP神经网络训练识别出图像中的果实,并提取出目标轮廓,然后对该轮廓进行圆拟合,进而实现采摘点的定位;梁喜凤等[9-10]提出了基于提取番茄果实串连通区域边界的采摘点识别方法,对垂直向下的串番茄采摘点识别效果较好,以及提出了基于果梗骨架角点计算方法,实验表明番茄采摘点位置成功率为90%,能有效提供准确的采摘位置信息;袁妍[11]根据葡萄的空间几何特征提出了一种基于单一深度信息的果梗近景识别方法,实验表明该方法能够较好地识别水平棚架栽培的葡萄采摘点;王政等[12]通过采用Lab彩色空间聚类算法对视频图像进行量化,能够有效地提高图像的处理速度,从而为提高果实定位速度提供了一种方法;郭艾侠等[13]通过融合 SIFT与Harris两种算法对采摘点进行计算和匹配,并利用三角测量法对特征点定位,实现了对串型荔枝的识别和定位;张起荣等[14]利用樱桃上特征点的三维坐标重建樱桃拟合球模型,并用最小二乘法求出质心位置实现采摘点的定位;Bulanon等[15]利用机器视觉系统与激光测距传感器完成对苹果目标的三维定位;樊湘鹏等[16]提出了一种改进Faster R-CNN的核桃识别定位算法,该算法结合了归一化思想和感兴趣区域提取算法的优点,实验结果表明该算法的识别率为97.56%,平均检测用时为0.291 s,满足自然环境下核桃实时采摘的要求。

综上所述,目前解决果实定位问题的方法主要为上述四大类,而通过深度学习解决水果的采摘点定位问题的研究还处于起步阶段,Bulanon等[15]人利用神经网络解决了在田园环境下草莓采摘点定位困难的问题,表明了神经网络在水果采摘点识别方面有着巨大潜力。因此,本文选择在区域分割上有着明显优势的SegNet[17]作为分割苹果果实目标采摘点的训练模型,并对其加以改进。

1 基于SegNet的分割算法

1.1 SegNet原理

SegNet模型是在VGG16[18]的基础上进行的改进,总体可视为编码和解码两大过程。编码部分主要以VGG16为基础,删除了VGG16的全连接部分以提升模型的性能。在解码部分进行了上采样操作,并通过卷积等操作实现图像的语义分割,即实现景象的多分类。因为该语义分割模型在区域分割上的优势,适用于点、块形状的分割,所以选用SegNet作为分割苹果采摘点的方法,并在此基础上进行改进。

SegNet模型的原理如图1所示。该模型的编码过程以最大池化的形式来降低输入图像的维度,并记录在图像最大池化过程中的索引位置,编码器中其下采样的过程分别由2个绿色的3×3的卷积层和1个紫色的2×2池化层组成,并通过Relu激活函数[19]传导激活给下一层。

图1 SegNet结构图Fig.1 Structure diagram of SegNet

解码器部分与编码器对称,在下采样期间,在每一次进行最大池化操作后,都需要保存最大值所对应的位置。上采样时采用2×2的滑动窗口,步长为2,在对应位置恢复其最大值,其余值均设置为0。假设最大池化后的值为 a、g、j、p,保存其对应最大值位置。通过该上采样的方法恢复图像中的轮廓和位置信息,能够更好地从图像中提取目标边缘特征的位置信息并保存,恢复图像的大小和细节,实现较高精度的图像分割,最后输出层连接一个多类Softmax分类器,对每一个像素进行输出类概率的预测。下采样到上采样的过程如图2所示。

图2 下采样到上采样过程示意图Fig.2 Process diagram of down-sampling to up-sampling

1.2 改进的SegNet模型

直接使用SegNet模型分割苹果图像时会产生采摘点分割不清晰和采摘点分割错误的问题,其产生原因是SegNet模型对多尺度语义信息的利用率有限,每个解码器中仅包含一种尺度的语义信息,因此在多层之间传递时会发生特征丢失的现象。

为了提高卷积神经网络模型的分割精度,往往会增加网络的层数。对于深层次的网络,输入信息容易出现消失或膨胀的问题,而浅层网络则往往不会出现,DenseNet卷积神经网络能够很好地解决这类问题[20],其核心思想是直接连接来自不同层的特征图,实现特征多次重用。该网络结构具有以下优点:加强了图像特征的传播、解决了深层网络层梯度消失的问题和减少了模型参数。为了确保网络层之间的最大信息流,每个卷积层的输出都输入到后面的卷积层中。DenseNet卷积神经网络结构如图3所示。

图3 DenseNet结构图Fig.3 Structure diagram of DenseNet

借鉴DenseNet的思想,采用适用于点、块分割的SegNet卷积神经网络的方法,以解决苹果采摘点分割精度和识别成功率偏低的问题。本文对SegNet模型进行改进,改进的网络融合DenseNet的特性,有效加强网络之间特征的传播,解决深层网络梯度消失的问题以及减少训练模型参数。改进的SegNet保留原模型的上采样方法,在卷积和池化操作的过程中引入了DenseNet的思想,改进的SegNet实现流程如图4所示。

图4 改进的SegNet结构图Fig.4 Structure diagram of improved SegNet

首先,深度网络的输入为8通道的图像,即为两个4通道的图像合并结果,在深度网络输入的第一层需要对8通道图像进行局部响应归一化处理(Local Response Normalization,LRN)[21];然后,进行多次卷积、池化操作;接着,进行多次上采样和反卷积操作;最后进行一次卷积和Softmax得到网络的输出。这里的反卷积亦称为转置卷积。Softmax操作得到的是一个K通道的概率图像,其中K代表结果的类别,因为此次实验将图像分割为背景和采摘点两类,所以K值为 2。改进的SegNet网络配置如表1所示。

改进的SegNet模型共进行了9次卷积操作和8次反卷积操作。所有的卷积以及反卷积均采用3×3的卷积核,滑动步长为1。池化操作均采用最大值池化的方法,采用2×2的滑动窗口,步长为2。除了最后一次卷积操作,每次卷积以及反卷积后均采用批标准化(Batch Normalization,BN)[22]。采用LRN和BN的主要目的是加速网络训练和收敛的速度。

在最大池化操作后,分别引入了前几层的结果,然后进行卷积操作。需要注意的是,在每次池化操作后引入前几层的结果时,需要对前几层的结果进行相应的池化操作,以满足和当前的池化输出结果一样的大小一致。例如,第一次最大池化操作后,引入网络第一层输入时需要对其进行一次最大池化操作。第二次最大池化操作后,引入网络第一层输入和第一次最大池化的结果时,需要对网络第一层输入进行两次最大池化操作。第三次最大池化操作后,引入网络第一层输入、第一次以及第二次最大池化的结果时,需要对网络第一层输入进行三次最大池化操作。

2 实验结果与分析

2.1 苹果采摘点数据集

本文在不同光照条件下对3种不同品种苹果进行图像采集,采集的红富士、黄元帅和蛇果图像数量分别为64、24和7。采集设备类型为大恒DH-SV1421FC/FM,采集的图像分辨率为2048×1536,格式为JPG。模型训练所用的苹果图像均采用Photoshop进行人工标注。因为本文只研究苹果采摘点(果脐)的识别分割,采摘点与所采用的扭断式采摘密切相关,所以标注时将苹果图像分为果脐与背景两类。标注结果示例如图5所示。

根据教师自身的专业特点,结合挂职企业的工作和岗位情况,派出教师挂职的院系为教师量身订制企业挂职任务书。在任务书制定时,结合计算机专业课程的发展规划、专业建设、人才培养等需求,与企业加强事前沟通,在任务书中明确教师挂职岗位、项目任务、挂职导师、学习内容、考核方式等。让教师明确企业挂职的任务,带着工作、学习任务进入企业,同时,企业也可以根据教师的挂职任务书,明确教师挂职的岗位和工作内容。

图5 图像标注结果Fig.5 Results of image annotation

2.2 精度评价指标

本次训练中用到检测评价的指标包括精确率Eprecision、召回率Erecall、特异性Especificity以及相似度Edice,其计算式分别为

式中,Ntp表示正确识别到的采摘点的像素,Nfp表示被错误识别为采摘点的像素,Ntn表示被正确识别为背景的像素,Nfn表示被错误识别为背景的像素,Edice系数用来衡量经过模型训练后获得的分割图与真值图之间的相似度。

2.3 训练结果

训练平台的显卡为GeForce GTX 1080、处理器为Intel Core i7-8700,内存为16 G,频率为3.2 GHz,运行环境为 Python 3.4、深度学习框架为PyTorch。

训练完成后,取测试集测试各模型精度评价指标,统计结果如表2所示。由表中结果可知,改进的SegNet模型进行采摘点识别时在精确率方面分别比 U-Net、FCN、SegNet模型提高了 0.51%、2.26%、1.69%,召回率方面分别比 U-Net[24]、FCN[25]、SegNet模型提高了 3.09%、6.10%、3.20%,特异性方面分别比 U-Net、FCN、SegNet提高了 0.35%、0.64%、0.73%,相似度上分别比U-Net、FCN、SegNet模型提高了 1.97%、3.62%、2.43%,根据上述数据可知,改进的SegNet模型通过直接连接来自不同网络层的特征图,实现图像特征的多次重用,提高了模型的分割精度。

表2 各模型精度评价指标对比Tab.2 Comparison of accuracy evaluation indexes of each model

通过统计所有的苹果采摘点为274,SegNet模型成功识别出的个数为248,改进的SegNet模型成功识别出的个数为254。Segnet模型与改进的SegNet模型对苹果采摘点的识别成功率分别为90.51%和92.70%。在识别成功率方面改进的SegNet模型比原模型提高了2.19%。SegNet模型在改进前后处理100张图像运算时间分别为48.84 s和49.80 s,运行时间近乎相等。

2.4 不同品种苹果的识别效果

图6 不同品种苹果的采摘点分割效果Fig.6 Segmentation of picking points for different varieties of apples

如图5(h)~图5(k)所示,实验结果表明直接使用U-Net、FCN、SegNet模型分割黄元帅图像时出现采摘点分割错误的情况;如图5(n)~图5(q)所示,实验结果表明直接使用U-Net、FCN、SegNet模型分割蛇果图像时出现采摘点分割不清晰的情况,而改进的SegNet模型则有效解决了这些问题,在苹果采摘点识别精度和识别成功率上具有综合优势。

3 结论

本文以自然环境下采集的不同品种的苹果图像作为数据集,选择SegNet模型对苹果图像中的采摘点进行提取,并对该模型进行改进优化,以适用于分割自然环境下的苹果采摘点。

1)SegNet模型中融合了DenseNet的特性,即直接连接来自不同层的特征图,实现了特征多次重用,加强了网络之间特征的传播,能有效解决SegNet模型对多尺度语义信息的利用率有限的问题,提高模型的采摘点分割精度。

2)利用改进的SegNet模型对自然环境不同品种的苹果采摘点进行分割,在精确率方面比原模型提高了1.69%、召回率方面提高了3.2%、特异性方面提高了0.73%、相似度上提高了2.43%,识别成功率上提高了2.19%,数据表明了改进的SegNet模型提高了果实采摘点的识别精度和识别成功率,所以与原模型相比,改进的SegNet模型能够更好地分割自然环境下苹果目标的采摘点。

猜你喜欢

池化卷积苹果
基于Sobel算子的池化算法设计
基于高斯函数的池化算法
卷积神经网络中的自适应加权池化
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
从滤波器理解卷积
基于卷积神经网络和池化算法的表情识别研究
基于傅里叶域卷积表示的目标跟踪算法
收获苹果
拿苹果