基于EfficientDet-D1的草莓快速检测及分类

2022-12-03 06:27张小花李浩林李善军张文峰冼镇鸿
关键词:草莓精度图像

张小花,李浩林,李善军,张文峰,冼镇鸿

1.仲恺农业工程学院自动化学院,广州 510225;2.广东省农产品冷链运输与物流工程技术研究中心,广州 510225;3.仲恺农业工程学院机电工程学院,广州 510225;4.华中农业大学工学院/国家柑橘保鲜技术研发专业中心,武汉 430070;5.粤港澳大湾区农产品数字物流研究中心,广州 510225

草莓是世界广泛种植的浆果类果实,其采摘过程繁琐、劳累,大大增加了人工成本。草莓自动采摘机器人能够应对更加复杂的作业对象和作业环境,替代大量人工操作,并取得较好的作业效果。基于计算机视觉的草莓成熟度检测方法为实现草莓的自动化采摘提供了应用基础,是目前研究热点之一。贾宗维等[1]使用改进U-Net 网络对大棚草莓进行果实识别,其识别精度为96.05%,MIOU 值为89.41,有效解决了遮挡问题。刘小刚等[2]采用基于卷积神经网络对草莓进行识别,识别精度达97.14%,召回率为94.46%,该方法对密集复杂场景有良好的鲁棒性。许丽建[3]使用传统的图像处理方法,利用多尺度增强方法对图像进行增强处理,然后通过颜色差值分类方法对草莓成熟程度进行分类,从而确定草莓成熟程度。覃磊等[4]提出了一种基于RGB颜色相似度的成熟草莓图像分割算法(CSBASED RSIS),将每个像素点和提取到的草莓主颜色比和相似度进行分割。但是由于草莓生长环境复杂,受到枝叶遮挡果实以及光线强度不断变化等因素的影响,传统的图像处理方法的速度及准确率已不能满足人们的需要。蒋浩等[5]提出了基于高光谱图像多光谱参数的草莓成熟度识别方法,通过提取草莓样本的ROI 的平均光谱来计算8 个成熟度参数,并结合fisher 线性变换判断不同级别得成熟度,计算平均识别正确率为95.21%。王雪光等[6]提出了基于K-Mean 聚类成熟草莓图像分割方法,通过在Lab 彩色模式下将K均值聚类用于成熟草莓图像的分割,然后初始化3个聚类中心进行K 均值聚类的迭代算法计算欧式几何最小距离来对草莓成熟度进行识别。赵玲等[7]通过HIS颜色空间下计算草莓图像H分量的均值和方差,然后通过建立BP 神经网络,将H 分量的均值、方差和草莓红色着色面积之比作为网络的输入,以预测成熟度。上述方法受限于传统机器视觉算法的局限性,草莓颜色特征提取需要大量人力完成,且模型参数调整复杂,模型优化难度大,在复杂环境下鲁棒性较差,且检测效率低下。

近年来随着人工智能技术的发展,以卷积神经网络为主干特征提取网络的目标检测算法在图像识别领域得到广泛关注[8-9]。Zhou 等[10]利用深度学习对通过航空成像(UAV)及近地成像2 种图片采用YOLOv3 模型对草莓花及不同阶段的草莓果实成熟度的检测,其平均精度分别为0.88 和0.89,对于完全成熟的草莓,其平均精度分别为0.93 和0.94。但其使用网络层数过于复杂,占用比较庞大的计算资源,在室外草莓种植自然环境下,终端嵌入式设备无法对草莓进行实时检测。EfficientDet算法由Google团队2020 年提出,该算法推理效率高、检测效果较好,且在嵌入式设备终端可以对目标进行实时高效检测,此算法适应不同的约束条件,同时满足精度与效率的高要求[11],相对于二阶目标检测如Faster-RCNN 具有比较快速的检测速度[12],而相对于其他一阶目标检测如YOLO 系列,具有更高的精度[13]。EfficientDet 算法已在小麦麦穗[14]、苹果花[15]的识别上得到了应用,目前鲜见其在果实识别相关方面的研究。本研究提出以EfficientNet 轻量级网络为基础的EfficientDet 算法,考察其在草莓快速识别检测方面的效果,旨在为实现应用农业机器人对成熟草莓快速检测和采摘提供参考。

1 材料与方法

1.1 图像采集与数据集构建

本试验所采集的数据来自广东省广州市从化区某大型草莓种植园,其采用大棚地垄式种植方式。该草莓园地理位置经纬度为东经113°55′,北纬23°64′,采样当天天气晴。试验使用的图像采集设备为华为荣耀9X 手机后置摄像头。试验将已挂果的草莓植株作为采集对象,其中成熟草莓为新鲜红色,未成熟的草莓为绿色或者粉色。试验共采集了自然环境中的草莓图像636 张,为提高数据集的容量,使用Python 脚本从网上随机爬取各类草莓图像1 000 张,总数共计1 636 张原始图像,成熟草莓样本为594 张,未成熟草莓样本为1 042 张,按8∶1∶1 划分为训练集(1 309)、验证集(162)、测试集(165),如表1所示。本试验使用的标记工具为LabelImg 图像处理软件,并通过人工手动对草莓位置进行标记。将识别数据分为成熟草莓和未成熟草莓2种类别,得到包含图片基本信息的XML文件。

表1 草莓样本数分布情况Table 1 Distribution of strawberry samples

1.2 数据增强

为提高EfficientNet 网络模型的泛化力和鲁棒性,本研究采用训练线上数据增强方法增加草莓样本数量,为提高网络模型泛化能力和鲁棒性,避免网络因训练样本不足导致过拟合。采用90°、−180°、45°翻转和使用锐化来模拟自然环境下光线差异进行图像增强,如图1所示。图像锐化过程使用高通滤波方法,如公式(1)。

其中,g(μ,ν)为锐化后结果,F(x,y)表示原图像,H(μ−x+1,ν−y+1)表示冲激响应。

图1 中锐化1 的冲激响应阵列kernele,锐化2 的冲激响应阵列kernelf,如式(2)~(3)。

图1 数据增强方法Fig.1 Data augmentation method

1.3 EfficientDet算法分析

EfficientDet 属于一阶目标检测算法,系统地研究了目标检测神经网络结构的设计选择,并提出了几个关键的优化以提高效率。首先提出了1 种加权双向特征金字塔网络(BiFPN),该网络能够简单快速地融合多尺度特征;其次提出了1 种复合缩放方法,该方法可以同时对所有主干网络、特征网络和预测网络的分辨率、深度和宽度进行统一缩放。Effi⁃cientDet 的主干特征提取网络是EfficientNet,特征融合网络采用了BiFPN网络。

1.4 EfficientNet网络分析

EfficientDet 的主干网络EfficientNet,如图2 所示,其核心思想是寻找兼顾速度与精度的模型缩放方法,利用残差神经网络增大网络的深度,获得更深层语义信息。

图2 EfficientDet主干特征提取网络Fig.2 EfficientDet backbone feature extraction network

EfficientNet 是由16 个移动翻转瓶颈卷积(MB⁃Conv)、2 个Conv、1 个全局平均池化(Global Average Pooling)和1 个全连接层(Full Connect)组成。其创新性提出组合缩放系数,用单一的组合缩放系数ø,同时缩放宽度w、深度d和图片分辨率r,其缩放基数分别为α,β,γ,如公式(4)所示。

首先,将图像输入EfficientNet 主干特征提取网络,通过7 次下采样得到不同深度的语义信息,分别获得P1~P7 层,其中{P3,P4,P5,P6,P7}具有较深的语义信息,然后将其输入进BiFPN网络里进行上采样。

多尺度特征融合的目标是聚合不同分辨率的特征,FPN(featurized image pyramids,特征金字塔网络)能解决目标检测在物体大小差异十分明显的问题[16]。FPN 引入自顶向下的路径来融合从3 级到7级的多尺度特征;PANet(path aggregation network,路径集合网络)在FPN 顶部增加1 个额外的自底向上通路[17];BiFPN 为EfficientDet 目标检测模型的加强特征提取网络,基于PANet网络改进而来,其特点是具有更好的准确性和效率权衡。BiFPN 使用双向交叉尺度连接(Cross-Scale Connections),删去连接P7_in 与P3_in 中间节点,将每个双向(自顶向下和自下而上)路径视为1 个特征网络层,并多次重复同一层以实现更高级别的特征融合(图3)。

图3 加强特征提取网络结构Fig.3 Strengthen feature extraction network structure

在BiFPN 网络结构添加了快速归一化特征加权融合(fast normalized fusion),其公式如式(5)所示,在提取草莓图片多通道深层语义特征效率更高,对草莓颜色特征进行提取更加有效。

其中,wi是可学习权重,可以是标量(每个特征)、向量(每个通道)或多维张量(每个像素)。Ini为第i层输入图像,ϵ为常数,一般取0.000 1。每个规格化权重的值也在0 和1 之间。经过EfficientNet 采样得出{P3_in,P4_in,P5_in,P6_in,P7_in}5 层深度语义信息,然后输入BiFPN 网络,通过交叉尺度连接和快速归一化 融合后得到{P3_out,P4_out,P5_out,P6_out,P7_out},Conv 是用于特征处理的卷积操作,Pi_in为自上而下路径第i层输入特征,Pi_td为自上而下路径第i层中间特征,Pi_out 是自上而下路径第i层输出特征,如公式(6)所示。

1.5 试验方法

1)试验环境平台。操作系统:Windows 10 专业版64 位操作系统;CPU:Intel Xeon Silver 4210×2,10 核20 线程,最大睿频2.82 GHz;GPU 为GeForece RTX 3090,显存24 GB;内存64 GB;深度学习框架:PyTorch 1.9,进行网络搭建、训练、验证和测试。

2)步骤。首先将采集到的原始草莓图像进行预处理,并逐一标记图像中草莓的位置。然后以标记图像作为输入,对EfficientDet 系列模型以及两类目标检测中的经典算法YOLO 系列的v3 和v4 以及Faster-RCNN 进行训练,得到各自算法的草莓识别模型。最后进行对比分析,其具体对比思路为:Effi⁃cientDet 算法内部进行性能分析与比较,同时算法外部 对 比EfficientDet、YOLO 和Faster-RCNN 3 种 模型的识别结果,最终得出试验结论(图4)。

图4 试验整体流程Fig.4 The overall flow of experiment

1.6 模型训练

本研究采用了迁移学习的思想,预测权重使用官方权重,根据EfficientDet 的不同版本,图片输入尺寸分 别 为(512,512)、(640,640)、(768,768)、(896,896)、(1 024,1 024)、(1 280,1 280)、(1 408,1 408)、(1 536,1 536)。先将图片转换为RGB 图像,防止灰度图在预测时候报错,训练时候学习率选取0.001,2次训练所使用的优化器为Adam,权重衰退为0.000 5,损失函数由两部分组成,分别是Focal Loss 和Smooth Loss。在训练过程中,分为两部分的训练迭代,每部分的迭代次数是50 次,共100 次。训练完第1 个迭代次数后,进行冻结训练,冻结前一部分的权重,把算力资源放在第2迭代部分训练。本研究使用EfficientDet 模型可以直接对草莓测试集原图进行输入训练。

1.7 评价指标

由于EfficientDet 的模型参数量随版本数增加而增多,所需要显卡显存越大,导致训练难度越来越大。本研究对EfficientDet-D0 和EfficientDet-D1 进行内部对比试验,从而选取符合机器人采摘精度与速度的最佳版本。为了对比度高,本研究选择YO⁃LOv3、YOLOv4、Faster-RCNN 与已选最佳版本进行对比,并选用了平均精度(avearge precision,PA)、平均精度均值(mean avearge precision,PmA)、召回率(recall,R)、对数平均误测率(LAMR)、损失率(loss rate)对所有试验算法进行评估[14],进行评估前需要定义以下的参数。

TP(true positive):正确检验框,表示已标定的预测框与标签框匹配。FP(false positive):误检框,表示将背景预测成为物体的框。FN(false negative):漏检框,表示原本需要检测到物体的框,没有检测出来。TN(ture negative):正确背景,表示本身是背景,然后模型也没有检测出来。目标检测常见的评价指标包括正确率(precision,P)、召回率(R)、平均精度(PA)、平均精度均值(PmA)及F1分数,公式如下:

公式(7)~(11)中,GTs表示标签值,物体的类别与边框位置的4 个真值,total(GTs)表示所有数据的标签总数。k是类别标签数值,如试验中分为成熟草莓和未成熟草莓2 种标签值。F1分数是分类问题中的重要指标,是精度和召回率的调和平均数。

2 结果与分析

嵌入式设备主要以CPU 进行计算,处理器多以intel 至强、ARM 为平台。本试验为模拟嵌入式终端设备推断硬件环境,选用Intel Xeon CPU,模型通过GPU 训练完得到模型权重,再通过CPU 进行推断计算,经过对比试验后,得出5 种算法的各评价指标以及识别草莓图片时间。选取了EfficientDet-D0和Ef⁃ficientDet-D1 版本,与YOLOv3、YOLOv4 及Faster-RCNN 进行对比。将165 张测试集图片逐张输入至不同算法进行检测时间测试,每种算法都使用相同的测试集,记录每张图片平均检测时间。将在同一算法下所有图片的检测相加再除以165 得每种算法的平均检测时间。试验结果显示,Faster-RCNN 的平均预测时间为23.4 s,YOLOv3、YOLOv4 的平均预测时间分别为2.23、1.22 s,EfficientDet-D0 和Effi⁃cientDet-D1检测时间分别为0.32、0.34 s。由于Fast⁃er-RCNN 是二阶目标检测,速度远远低于一阶目标检测。EfficientDet、YOLO 系列是一阶目标检测,对比之下,EfficientDet 具有更大优势,YOLOv3 与YO⁃LOv4 的检测速度相比,YOLOv4速度比YOLOv3快1.01 s,但是相对于EfficientDet-D0慢约10%,而Effi⁃cientDet-D1 检查平均时间比EfficientDet-D0 快0.02 s。在相同CPU 实验平台上,EfficientDet 的D0、D1两个版本相对于YOLO 的v3、v4 检测速度更快,而Faster-RCNN不能满足移动端实时检测需求。

不同算法对成熟和未成熟的草莓检测效果如图5 所示。从图5 可知,EfficientDet 在检测成熟草莓和未成熟草莓时,正确得分率均高于其余3 种算法,在相同光照背景复杂度情况下,EfficientDet 的对数平均误测率(LAMR)均小于1%。EfficientDet 处理目标遮挡和非目标遮挡效果高于YOLOv3、YOLOv4、Faster-RCNN。在成熟草莓检测中,Faster-RCNN、YOLOv3、YOLOv4 3种算法对目标果实包裹框不完整,而且交并比(IoU)明显低于EfficientDet系列。在未成熟草莓检测过程中,这4 种算法的交并比(IoU)高于成熟草莓检测时。而YOLOv4 在混合草莓检测与未成熟草莓检测中均存在漏检现象,可见YO⁃LOv4 在多目标复杂背景下检测效果并不理想。总体来看,EfficientDet检测效果高于其余3种算法。

图5 5种检测算法效果图Fig.5 Effect diagram of five detection algorithms

表2 为成熟草莓算法检测性能结果,由表2 可知,EfficientDet-D1 除了召回率低于Faster-RCNN外,各项评价指标均优于其他算法,其次是Efficient⁃Det-D0,且二阶目标检测算法Faster-RCNN 各项指标参数均高于一阶目标检测算法YOLO系列。

表2 成熟草莓检测的不同算法各项评价指标对比Table 2 Comparison of evaluation indicators of different algorithms for the detection of ripe strawberries %

未成熟草莓算法检测性能结果(表3)显示,不同算法检测未成熟草莓的目标检测算法评价指标均高于其检测成熟草莓算法的评价指标。经试验得到Ef⁃ficientDet-D1 的PA和F1达100%,在5 种 算 法 中 最高,其次是EfficientDet-D0。二阶目标检测算法Faster-RCNN 评价指标仍高于YOLO 系列,YO⁃LOv4 在检测未成熟草莓时其PA值低于检测成熟草莓的PA值。试验结果显示5 种算法的PmA,以EfficientDet-D1 最高,达97.50%,其次是Efficient⁃Det-D0,达96.71%,YOLOv3 的PmA为89.51%,Faster-RCNN 为 96.71%,YOLOv4 的PmA为69.02%,在成熟草莓检测中YOLOv4 的PmA在5 种算法中最低。

表3 未成熟草莓检测的不同算法各项评价指标对比Table 3 Comparison of evaluation indicators of different algorithms for the detection of unripe strawberries %

3 讨 论

针对自然环境下成熟草莓快速识别,本研究将YOLOv3、YOLOv4、Faster-RCNN 3 种目标检测算法与EfficientDet 算法进行比较,结果表明,YO⁃LOv3、YOLOv4、Faster-RCNN 的 平 均 精 度 均 值(PmA)分别为89.51%、56.573%、96.54%。Efficient⁃Det-D0 的PmA为96.71%,EfficientDet-D1 的PmA为97.5%。且在视频测试中,EfficientDet-D1 平均视频帧数为23.4 帧/s,EfficientDet-D0 平均视频帧数为22.3 帧/s,比Faster-RCNN 高出1.4%,基本与YO⁃LOv3和v4视频测试帧数持平,符合视频实时检测需求。进行图片测试时,平均预测时间用时最短的是EfficientDet,平均用时0.23 s,其次是YOLOv3、YO⁃LOv4 和Faster-RCNN。经过性能测试比较,均高于其他算法,适合于草莓快速检测及分类。

EfficientDet 采用轻量主干网络EfficientNet,YOLOv3 和YOLOv4 采 用DarkNet,Faster-RCNN采用VGG16 主干网络,网络参数量庞大,浮点运算率占用大,其余3 种算法不适宜于嵌入式边缘端检测。本研究提出以EfficientDet-D1 草莓快速检测及分类算法,解决了传统目标检测成熟草莓算法检测精度低和鲁棒性差的问题,满足嵌入式草莓分拣系统的视觉要求,此外也可以为其他水果分拣系统提供检测思路。

猜你喜欢
草莓精度图像
热连轧机组粗轧机精度控制
巧用图像中的点、线、面解题
有趣的图像诗
超高精度计时器——原子钟
分析误差提精度
基于DSPIC33F微处理器的采集精度的提高
草莓
遥感图像几何纠正中GCP选取
趣味数独等4则