宋怀波 马宝玲 尚钰莹 温毓晨 张姝瑾
(1.西北农林科技大学机械与电子工程学院, 陕西杨凌 712100;2.农业农村部农业物联网重点实验室, 陕西杨凌 712100)
疏果前期苹果幼果目标识别对自动化疏果、农药用量控制、智能化表型监测以及果树新品种选育具有重要意义。幼果期苹果果色与叶片颜色相似、体积微小、分布密集,受光照影响,果实表面会出现高光、阴影等现象,果实叶片枝条相互重叠遮挡,导致果实识别难度增大[1-3]。深度卷积神经网络相较于传统目标检测算法能够对高层次特征进行学习,为此类目标的有效检测提供了必要借鉴[4-7]。
国内外众多研究已将深度卷积网络作为果实目标识别的主流算法,并在果实高效检测方面取得较好结果[8-11]。为快速精准实现冬枣果实的识别,刘天真等[12]在YOLO v3网络模型中融入注意力机制,可有效提高特征图的表现能力,相较于原始网络模型,各项指标有明显提高。龙燕等[13]提出了一种改进的FCOS网络模型对自然环境下不同遮挡和密集程度的苹果目标进行识别,改进后的网络模型检测准确率提升3.2个百分点,mAP提升3.1个百分点,试验表明,改进后的FCOS网络模型在苹果检测试验中具有更高的精度和鲁棒性能。何斌等[14]提出了一种改进的YOLO v5网络模型进行夜间番茄果实识别,夜间环境下,该网络模型对绿色番茄果实和红色番茄果实平均识别精度分别为96.2%和97.6%,能够有效实现暗光下番茄果实的识别。为实现复杂环境下不同生长阶段果实的高效检测,赵辉等[15]提出了一种改进的YOLO v3网络模型对不同成熟度的苹果果实进行识别,网络模型在测试集上的mAP为96.3%,F1值为91.8%,在原有网络模型的基础上两项指标各自提高3.8%。王立舒等[16]在YOLO v4-Tiny中融入卷积注意力模块进行不同通道间特征相关性的学习,有效降低了复杂环境对蓝莓目标的干扰。试验结果表明,该网络模型在蓝莓果实严重遮挡与逆光场景中,mAP和准确率均较优,可同时满足识别精度与检测速度的需求。为实现复杂环境下苹果的高效准确检测,王卓等[17]提出了一种轻量化YOLO v4-CA网络模型,该网络模型平均检测精度为92.23%,嵌入式平台上的检测速度为15.11 f/s,与SSD和Faster R-CNN网络对比,其精度和速度均有明显提升。
针对疏果前期果实重叠遮挡严重且与背景颜色极为相似的难题,王丹丹等[2]提出了R-FCN苹果幼果检测网络,用28 662幅苹果幼果图像进行网络模型训练、验证和测试,最终网络模型召回率为85.7%,准确率为95.1%,误识率为4.9%,单幅图像平均处理时间为0.187 s,基本能够实现近景色小目标识别。为进一步提高苹果幼果的检测准确率,宋怀波等[1]将挤压激发块和非局部块两种注意力机制融入YOLO v4网络模型进行蔬果前期微小苹果果实的识别,采用3 000幅苹果幼果图像进行网络模型训练、验证和测试,最终该网络模型在600幅测试集上的平均精度达96.9%。为改善苹果幼果在光照不均和严重遮挡等干扰条件下造成的果实漏检问题,JIANG等[18]提出了一种融合非局部注意力模块和卷积块注意力模块的YOLO v4网络模型,采用3 000幅低质量幼果图像进行训练测试,测试集在高光、阴影、模糊、严重遮挡情况下的平均精度分别为98.0%、96.2%、97.0%、96.9%,表明该方法可实现复杂干扰下苹果幼果的高效识别。
疏果前期幼果识别相关研究在高精度检测方面虽已取得较好的结果,但仍然存在以下亟待解决的问题:①苹果幼果检测速度较慢,实时性检测难度大。②苹果幼果检测模型较大、内存开销高、难以完成应用端部署。③苹果幼果在模糊、含噪、存在阴影以及严重遮挡情况下仍然无法实现高精度检测。本文拟借鉴YOLO v7网络模型在速度和精度上的双重优势,并通过融合ECA的方式,进一步提升网络模型对幼果特征的捕获能力,以期在不明显增加网络深度和内存开销的情况下,实现苹果幼果的高效准确检测。
1.1.1苹果幼果图像的采集与预处理
试验数据采集于西北农林科技大学园艺学院实验站,试验对象包括秦冠、秦脆、红富士、嘎啦等300多个品种,栽培方式为矮砧密植,行距3 m。数据采集时间为2020年5月中旬至6月上旬,此时果径在48 mm以下,采集设备为iPhone 8Plus手机,采集时间段为08:00—20:00,共采集3 654幅幼果图像,格式为JPEG,分辨率为3 024像素×3 024像素。如图1所示,拍摄方式为拍摄者垂直于地面站立,相距主干0.4~1.5 m手持手机设备在果树行间两侧分别进行拍摄。
图1 采集方式Fig.1 Acquisition method
为保证样本的多样性,分别采集清晨、正午、傍晚不同时间段;多云转晴、晴转多云、晴不同天气情况;顺光、逆光不同光照条件;无遮挡、轻微遮挡、严重遮挡不同遮挡程度下的幼果图像。图2a~2d分别是在顺光、逆光、顺光强光直射、逆光强光直射下拍摄的幼果图像,由4幅图像对比可知,顺光状态下拍摄的图像,依据颜色和形状特征易于区分目标;逆光状态下拍摄的图像,整体偏暗,在幼果果色与背景颜色相似的情况下,易将幼果果实目标漏检错检;顺光强光直射图像存在过曝,造成幼果目标部分泛白;逆光强光直射图像由于图像欠曝,造成幼果目标整体偏黑,欠曝过曝情况下所成图像整体加强幼果果实目标的识别难度。图2e~2h分别展示了幼果果实目标在自然场景下被相邻果实、叶片、枝条、铁丝等物体遮挡的现象。图2i、2j为不同遮挡程度下的图像,本研究设定苹果幼果表面被遮挡未超过30%属于轻微遮挡,被遮挡超过30%属于严重遮挡。
图2 不同光照和遮挡情况Fig.2 Different lighting and occlusion conditions
为增强算法鲁棒性与泛化性,随机选取600幅苹果幼果图像,随机均分为2组,为2组图像分别添加1%的椒盐噪声和5%的高斯噪声,对添加噪声后的图像各自再次随机均分为2组,任选其中1组对其进行高斯滤波,最终得到300幅加噪图像和300幅模糊图像,分别模拟算法在迁移应用时遇到的镜头不清、对焦不准以及特殊天气等情况。图3a分别为添加1%椒盐噪声以及进行高斯滤波的图像,图3b分别为添加5%高斯噪声以及进行高斯滤波的图像。
图3 不同加噪和模糊情况Fig.3 Different noise and blur conditions
1.1.2数据集制备
通过加噪滤波预处理后,3 654幅苹果幼果图像的具体信息如表1所示。
表1 数据集拍摄信息Tab.1 Dataset shooting information
利用LabelImg软件进行标注,框选苹果幼果果实,标注标签为“apple”,每幅图像生成对应.xml文件。将标注完毕的数据集按照训练集、验证集、测试集比例7∶1.5∶1.5进行划分,最终获得2 557幅训练集图像、547幅验证集图像、550幅测试集图像。如表2所示,将测试集图像按照所设标准进行分组,为网络模型进行分组测试做准备,检验网络模型在各种干扰情况下的有效性。
表2 测试集图像分组信息Tab.2 Test set image grouping information
深度卷积网络因其丰富的特征表现能力已广泛应用于各类图像分类[19]、目标检测[20-23]、语义分割[24]等视觉任务中。为避免苹果幼果产生冗余信息造成检测效果不佳等情况,本研究分别引入挤压激发(Squeeze-and-excitation, SE)注意力[25]、卷积块注意力(Convolutional block attention module, CBAM)[26]、协调注意力(Coordinate attention, CA)[27]、ECA机制[28]对YOLO v7目标检测算法进行了优化试验。通过对比发现,SE注意力机制与CBAM机制依赖通道相关性进行特征校准,采用两层全连接层捕获所有通道间的相互依赖关系进行显式建模,不可避免地造成参数和计算量的增加以及维度的缩减;而CA机制更关注于强调位置信息捕获目标结构,针对复杂生长环境下,生长趋势不可控且与背景颜色极其相近不易区分的苹果幼果目标而言,特征强调作用较弱。因此本研究利用ECA机制进行YOLO v7网络模型的改进与优化工作。
1.2.1ECA机制
ECA机制结构如图4所示,图中H为输入图像的高度,W为输入图像的宽度,C为特征图通道数,其为避免SE注意力机制维度缩减,采用全局平均池化对每个通道中的特征图进行压缩操作后,自适应选择卷积核大小为K的一维卷积替换两层全连接层来决定跨通道信息交流的覆盖范围,最后与未压缩的原始特征图相乘,完成特征图的重新校准,实现网络选择性强调重要特征、抑制无用特征。一维卷积核大小K与通道数C成正比映射关系,满足
图4 ECA结构示意图Fig.4 Schematic of ECA structure
(1)
式中,映射参数γ=2和b=1为按照文献[28]取的经验值。该网络模型不降维的局部跨信道交互策略在只增加少量参数,显著降低网络模型复杂度的同时,获得明显的性能增益,是一种极轻的通道注意力机制。
ECA机制采用一维卷积,能够有效避免全连接层降维带来的副作用,并且其自适应卷积核大小K通过交互相邻通道信息可以有效捕获苹果幼果中易被忽略漏检的小目标,通过跨通道式的信息交互,可在不明显增加内存开销和网络深度的情况下,避免苹果幼果图像中非目标冗余特征的学习,同时有效兼顾重要特征。将ECA机制融入YOLO v7网络模型,可有效增强苹果幼果的检测性能。
1.2.2YOLO v7-ECA网络模型构建
YOLO v7网络模型结构主要分为Input、Backbone和Head 3部分[29],其网络模型结构如图5所示。
图5 YOLO v7-ECA网络结构示意图Fig.5 Schematic of YOLO v7-ECA network structure
Backbone部分引入高效层聚合网络(Efficient layer aggregation networks, ELAN)模块,其由两个分支构成,通过控制最短和最长的梯度路径,同时增强网络的特征学习能力和鲁棒性能;MP模块将分别使用最大池化和卷积块进行下采样的结果进行叠加,在减少计算量的同时增大感受野,向后有效传递全局信息。Head部分主要由SPPCSPC模块、MP模块、ELAN-M模块以及重参数化(Re-parameterized, REP)模块构成;SPPCSPC模块中空间金字塔池化层采用1×1、5×5、9×9、13×13共4个不同尺度最大池化适应不同分辨率图,用以区分不同尺寸的目标。网络坐标损失采用CIoU_Loss,其同时考虑到重叠面积、中心点距离和长宽比3种几何参数使预测框更加符合真实框;标签分配策略采用YOLO v5的跨网格搜索以及YOLOX的匹配策略。
如图5所示,为在不明显增加内存开销和网络深度的情况下对苹果幼果特征进行有效学习,本研究在YOLO v7网络模型的3条重参数化路径中插入极轻的ECA机制,在不降低通道维数的情况下,进行相邻通道局部跨通道交互,该方式既可通过强调苹果幼果重要信息提高网络模型识别效果,又能抑制冗余无用特征提高网络模型效率。
试验在64位Windows 10操作系统下运行,处理器为Intel(R) Xeon(R) CPU E5-1620 v4 @ 3.50 GHz,内存为32 GB,显示适配器为NVIDIA GeForce RTX 2080Ti,使用PyTorch框架、PyCharm编辑器、Python编程语言进行网络模型训练。
为验证网络模型有效性,采用准确率(Precision,P)、召回率(Recall,R)、F1值、平均精度均值(mAP)、模型权值文件大小、检测时间6个指标进行评价。
本试验共训练500轮次,每25轮次保存一个权重文件,mAP、R、P在前100轮次较为振荡,之后持续上升并趋于饱和。并采用相同的数据集对Faster R-CNN、SSD、Scaled-YOLO v4、YOLO v5、YOLO v6、YOLO v7以及YOLO v7-ECA等7个网络模型进行训练测试,训练结果如表3所示。从网络模型检测精度角度,YOLO v7-ECA网络模型mAP高于Faster R-CNN、SSD、Scaled-YOLO v4、YOLO v5、YOLO v6、YOLO v7网络模型,其值分别提高15.5、4.6、1.6、1.8、3.0、1.8个百分点;P分别提高49.7、0.9、18.5、1.2、0.9、1.0个百分点;R相较于Faster R-CNN、SSD、YOLO v5、YOLO v6、YOLO v7网络模型分别提高5.0、4.5、1.3、3.7、1.8个百分点。YOLO v7-ECA网络模型整体漏检率和错检率较低,基本能够达到苹果幼果准确检测的要求。从网络模型检测速度角度,YOLO v7-ECA的最佳权值文件大小为71.3 MB,单幅图像检测时间为28.9 ms,与YOLO v7相比网络模型大小和检测速度基本未发生变化,能够有效实现苹果幼果的实时检测和网络模型的移植部署。
表3 网络模型性能对比Tab.3 Network model performance comparison
YOLO v7-ECA网络模型F1值为95.37%,优于Faster R-CNN、SSD、Scaled-YOLO v4、YOLO v5、YOLO v6、YOLO v7网络模型,其值分别提高33.53、2.81、9.16、1.26、2.38、1.43个百分点,网络模型整体较为稳定。相较于Scaled-YOLO v4网络模型通过堆叠模型大小,提高模型精度;YOLO v6网络模型牺牲模型精度,降低模型大小;YOLO v7-ECA网络模型在保持苹果幼果高精度检测的同时又能满足实时检测的要求。
为验证不同注意力机制对YOLO v7网络模型的优化效果,本试验同时构建了SE、CBAM、CA、ECA网络模型进行苹果幼果目标检测性能分析,如表4所示。可见,YOLO v7-ECA网络模型相较于其他4个网络模型,权值文件大小无明显增加;相较于YOLO v7、YOLO v7-SE、YOLO v7-CBAM、YOLO v7-CA F1值分别提高1.43、1.17、0.02、0.36个百分点,网络模型稳定性能较强;相较于YOLO v7 mAP、R、P分别提高1.8、1.8、1.0个百分点,有效降低了网络模型的错检率和漏检率。试验表明ECA机制能够在不明显增加权值的情况下,有效提高网络模型检测性能。
表4 注意力机制性能对比Tab.4 Performance comparison of attention mechanisms
为测试网络模型在不同干扰情况下苹果幼果的检测效果,本试验将测试集数据按照不同平滑程度、光照条件、遮挡情况分为3组,并分别输入上述7个网络模型中对3种情况下的网络模型性能进行测试。
2.3.1不同平滑程度检测对比
分别选取75幅光滑和模糊加噪苹果幼果图像检验上述7个网络模型在目标识别设备出现脏污、近距离聚焦不清、摄像机和镜头不匹配、光圈发生变化以及特殊天气造成苹果幼果图像模糊不清问题的检测效果。试验结果如表5所示,在图像光滑情况下YOLO v7-ECA的P为94.5%,R为94.1%,mAP为97.3%,相较于其余6个网络模型能够实现苹果幼果高精度检测。其中Faster R-CNN网络模型P为54.1%,R为79.6%,mAP为71.5%,基本无法完成苹果幼果高精度检测任务;在图像模糊加噪情况下YOLO v7-ECA的mAP为91.1%,网络模型依旧能够准确检测苹果幼果目标,相较于Faster R-CNN、SSD、Scaled-YOLO v4、YOLO v5、YOLO v6、YOLO v7网络模型mAP分别提高26.3、21.0、5.4、8.0、11.5、8.9个百分点,P分别提高42.7、0.4、14.1、1.5、0.7、1.3个百分点,R分别提高10.1、11.2、3.9、6.0、6.1、6.9个百分点,F1值分别提高27.19、7.08、8.50、4.20、3.94、4.67个百分点,有效提高了网络模型召回率,降低了苹果幼果在模糊噪声干扰下的漏检率。
表5 不同平滑程度检测结果Tab.5 Detection results of different smoothness degrees %
图6为模糊加噪情况下苹果幼果原始标注图像以及7种不同网络模型检测结果图像。按照图6a所示原始标注图像,将检测图像中漏检苹果幼果目标用白色框标出,错检苹果幼果目标用黄色框标出。由图6b~6g可得,Faster R-CNN、SSD、Scaled-YOLO v4、YOLO v5、YOLO v6、YOLO v7分别漏检4、4、2、3、3、2个幼果果实目标;Faster R-CNN、Scaled-YOLO v4、YOLO v5、YOLO v7各错检1个果实目标。图6h为YOLO v7-ECA模糊加噪情况下的检测结果图像,由图可知YOLO v7-ECA网络模型无漏检错检的情况。试验表明,YOLO v7-ECA网络模型在苹果幼果图像模糊加噪情况下能够完成高精度目标检测任务。
图6 不同平滑程度检测结果对比Fig.6 Comparison of detection results of different smoothness levels
2.3.2不同光照条件检测对比
为实现全方位苹果幼果果实检测,数据集拍摄从顺光、逆光不同拍摄角度进行,根据光线射入角度不同图像呈现亮光状态和阴影状态。本试验各选取110幅亮光和阴影图像输入7个网络模型对不同光照条件下的苹果幼果进行测试,试验结果如表6所示。
表6 不同光照条件检测结果Tab.6 Detection results under different lighting conditions %
亮光状态下YOLO v7-ECA的P为97.8%,R为96.7%,mAP为99%,整体检测精度优于其余6个网络模型,其中Faster R-CNN网络模型P为56.6%,R为89.1%,mAP为81.3%,P与mAP较低,完成苹果幼果高精度检测存在困难;阴影状态下YOLO v7-ECA的mAP为97.5%,其值相较于Faster R-CNN、SSD、Scaled-YOLO v4、YOLO v5、YOLO v6、YOLO v7网络模型分别提高14.8、8.8、2.1、2.4、5.4、2.5个百分点,F1值分别提高21.51、2.60、10.49、1.53、3.23、2.56个百分点,有效解决了背景偏暗情况下幼果不易检测的难题。
图7为阴影状态下苹果幼果原始标注图像以及7种不同网络模型检测图像。由图7b~7g可得,Faster R-CNN、SSD、Scaled-YOLO v4、YOLO v5、YOLO v6、YOLO v7分别漏检5、5、4、4、4、5个幼果果实目标,YOLO v5错检1个幼果果实目标。由图7h可得,YOLO v7-ECA网络模型在整体图像偏暗时无漏检错检的情况。试验表明,YOLO v7-ECA网络模型在苹果幼果图像整体偏暗时依旧能够实现目标果实的准确检测。
图7 不同光照条件检测结果对比Fig.7 Comparison of detection results of different lighting conditions
2.3.3不同遮挡情况检测对比
为验证不同遮挡下的幼果检测效果,本试验分别选取60幅无遮挡、轻微遮挡、严重遮挡图像进行测试,结果如表7所示。由表7可得,在无遮挡状态下本网络模型的P为98.3%,R为98.3%,mAP为99.6%,轻微遮挡状态下本网络模型的P为100%,R为99.3%,mAP为99.7%,整体检测精度优于其余6个网络模型,SSD、Scaled-YOLO v4、YOLO v5、YOLO v6、YOLO v7网络模型在苹果幼果目标无遮挡以及轻微遮挡时基本能够实现高精度检测,其中Faster R-CNN网络模型在苹果幼果目标无遮挡以及轻微遮挡时,牺牲P,提高R,网络模型稳定性较差,难以完成苹果幼果高精度检测;严重遮挡情况下本网络模型的mAP为98.6%,相较于Faster R-CNN、SSD、Scaled-YOLO v4、YOLO v5、YOLO v6、YOLO v7网络模型分别提高21.7、13.7、2.3、2.4、4.8、2.2个百分点,R分别提高10.0、9.6、0.8、1.9、4.2、3.4个百分点,F1值分别提高28.29、3.50、6.45、0.96、1.36、1.36个百分点,能够在各种遮挡干扰下准确识别出苹果幼果目标。
表7 不同遮挡情况检测结果Tab.7 Detection results of different occlusion conditions %
图8为严重遮挡状态下苹果幼果原始标注图像及其检测结果。由图8b~8g可得,Faster R-CNN、SSD、Scaled-YOLO v4、YOLO v5、YOLO v6、YOLO v7分别漏检4、3、4、5、4、4个幼果果实目标,Faster R-CNN和Scaled-YOLO v4各错检1个幼果果实目标。由图8h可得YOLO v7-ECA网络模型在幼果果实受枝条和叶片遮挡严重的情况下依旧能够准确识别幼果,无果实目标的漏检错检。试验表明,YOLO v7-ECA网络模型在苹果幼果遮挡严重时依旧能够实现目标果实的准确检测。
图8 不同遮挡情况检测结果对比Fig.8 Comparison of detection results of different occlusion conditions
(1)在YOLO v7网络模型中插入极轻的ECA机制构建了YOLO v7-ECA网络模型进行苹果幼果的检测,将采集到的3 654幅幼果图像输入网络模型进行训练,获得最优网络模型P为97.2%、R为93.6%、mAP为98.2%、F1值为95.37%,与Faster R-CNN、SSD、Scaled-YOLO v4、YOLO v5、YOLO v6、YOLO v7网路模型相比,其mAP分别提高15.5、4.6、1.6、1.8、3.0、1.8个百分点,P分别提高49.7、0.9、18.5、1.2、0.9、1.0个百分点,能够准确识别苹果幼果目标。
(2)由不同干扰情况下的对比试验可知,YOLO v7-ECA在苹果幼果图像模糊加噪、阴影以及严重遮挡情况下依旧能够实现果实目标的准确检测。模糊加噪情况下mAP为91.9%,阴影情况下mAP为97.5%,严重遮挡情况下mAP为98.6%。
(3) YOLO v7-ECA网络模型最佳权值文件大小为71.3 MB,单幅图像检测时间为28.9 ms,该网络模型在保持较高精度的同时又能拥有较快的检测速度,其网络模型内存消耗低,可进一步实现网络模型的迁移部署。