基于RetinaNet的红枣果实分类检测研究

作者: 郭新东 邓玄龄 孙瑜

基于RetinaNet的红枣果实分类检测研究0

摘要 为解决不同成熟度红枣图像中多尺度红枣目标检测问题,以自然场景下获取的红枣图像为研究对象,首先建立包含不同成熟度红枣图像数据集;然后以骨干网络ResNet50和特征金字塔网络作为特征提取器,连接2个相似结构的分类子网和回归子网,以Focal Loss为损失函数,建立基于RetinaNet的红枣成熟度分类检测模型。结果表明,基于RetinaNet红枣成熟度检测模型对红枣4种成熟度分类检测平均精度均值为74.235%,满足农业生产基本要求,该研究为智能检测红枣果实及自动化采摘可行性提供了技术参考。

关键词 深度学习;RetinaNet;红枣;成熟度检测;自然场景

中图分类号 TP 391  文献标识码 A

文章编号 0517-6611(2023)16-0226-04

doi:10.3969/j.issn.0517-6611.2023.16.052

Detection Model of Jujube Fruit Based on RetinaNet

GUO Xin-dong, DENG Xuan-ling, SUN Yu

(College of Information Science and Engineering, Shanxi Agricultural University, Jinzhong, Shanxi 030800)

Abstract In order to solve multi-scale object detection problem of jujube fruits with varied maturity under natural environment, a detection network was proposed to rapidly detect the jujube fruits.Firstly, jujube image dataset taken in natural environment was established.Then, the model was constructed with backbone network ResNet50 and Feature Pyramid network (FPN) as feature extractors, and connected with classification subnets and regression subnets, and Focal Loss was used as loss function.Finally a detection model for four maturity categories of jujube fruits based on RetinaNet was established.The mean Average Precision of RetinaNet model was 74.235%.The results showed that the detection model for jujube fruits maturity based on RetinaNet met the basic requirements of agricultural production.This study provided a technical reference for the feasibility of intelligent detection and automatic picking of jujube fruits.

Key words Deep learning;RetinaNet;Jujube;Maturity classification;Natural scene

基金项目 山西省高等学校科技创新项目(2022L086);山西农业大学青年科技创新项目(201601)。

作者简介 郭新东(1990—),男,山西忻州人,讲师,在读博士,从事图像处理和无损检测研究。* 通信作者,讲师,硕士,从事图像处理研究。

收稿日期 2023-03-05

红枣具有优良营养价值、药用价值和经济价值,目前种植面积接近苹果和柑橘的果树,但是枣的采收期短且较为集中,仅发育20 d左右,枣的机械化采摘可以解决人工采摘效率低、劳动强度大的问题[1-2]。机器视觉系统是农业采摘机器人的重要组成部分,包括目标图像的采集、定位、检测等。传统的图像检测算法主要基于颜色、形状、纹理等能够突出目标种类和成熟度的特征[3-4],但是特征描述局限于自然环境条件和人的主观判断等因素,算法识别鲁棒性和泛化性不强。红外光谱和高光谱成像技术[5]由于成本较高使其无法在红枣检测等农业领域得到应用。深度学习在作物图像分类[6-7]、图像分割[8-10]、图像检测[11-12]等相关领域已获得广泛的应用。基于图像的目标检测算法应用中,王昱潭等[13]提出基于双损失函数的Faster R-CNN模型对灵武长枣图像进行检验测试;刘天真等[14]提出YOLOv3-SE模型进行自然场景下的冬枣检测;王昱潭等[15]在不加载预训练模型的情况下,提出一种改进SSD模型实现灵武长枣图像的目标检测任务。

以上基于深度学习的红枣研究多是枣类表面缺陷检测,或是某单一种类(灵武长枣/冬枣等)研究,并且训练过程中极端的前景-背景类不平衡,令YOLO等模型在多尺度小目标检测上准确率不高。姚青等[16]改进 RetinaNet的水稻冠层害虫为害状自动检测,模型平均精度均值达到 93.76%;研究人员开展了基于改进 RetinaNet的果园复杂环境下苹果检测。鉴于此,笔者以复杂自然环境拍摄红枣图像为研究对象,按照红枣成熟度将红枣分为4类,基于RetinaNet网络训练红枣成熟度分类模型,训练和测试模型性能,为红枣智能化采摘机器的视觉检测提供理论基础和技术保证。

1 材料与方法

1.1 数据集制作

1.1.1 数据集采集。该研究中,互联网上收集不同成熟度、不同分辨率、果实重叠、叶片遮挡等自然生长环境下拍摄的红枣数字图像,以增加研究样本的多样性。原始的红枣数据集总共包含100张图像,部分图像数据集如图1所示。

1.1.2 图像预处理。

将红枣图像尺寸归一化为600×600像素用于模型的训练和测试。对数据集使用图像增强方法,如垂直或水平翻转、随机裁剪、亮度调整、对比度调整和饱和度调整等来增加数据集数量,减少因图像数量不足可能引起的过拟合,提高模型的鲁棒性和泛化能力,扩充后数据集有502张图像。

1.1.3 数据集制作。

使用数据集标注工具LabelImg进行手动标注[17],标注红枣类别为脆熟期(ripe)、着色期(near-ripe)、白熟期(near-raw)、幼果期(raw)4类。使用标注工具在图像中绘制每个红枣边界框,红枣数据集采用的是VOC2007格式,LabelImg输出的XML文件包含标注红枣像素标注框坐标和标签信息并存储在Annotations文件夹下。红枣图像数据集分为训练数据集、验证集和测试集3组,训练集∶验证集∶测试集=8∶1∶1。训练集和验证集分别包含412和44张图像,46张图像作为测试集。

1.2 RetinaNet模型构建

RetinaNet以残差网络ResNet50和特征金字塔网络Feature Pyramid Networks(FPN)为骨干网络,使用结构相同、参数不共享的2个子网络,实现目标框分类和回归边界块分割。ResNet网络[18]在结构中增加直连通道实现隔层线性传递,主要包括卷积残差块和恒等残差块,分别实现网络维度转换和网络深度增加。该研究使用的RetinaNet模型以ResNet 50为骨干网络进行图片特征提取。FPN对ResNet生成的多尺度特征进行了增强,并计算卷积特征图[19],自ResNet网络结构顶层特征上采样之后和低层特征进行一个从上向下的连接,每一层都可用来探测不同尺度的目标。从单一分辨率的完整红枣图像中有效提取出丰富、多尺度的特征金字塔。RetinaNet网络训练时单个图像产生大量候选框,用Focal Loss损失函数来均衡极端的前景-背景类不平衡[20],减小易分类样本的权重,提高难分类样本的权重,从而增加模型检测精度。RetinaNet的网络结构如图2所示。

H和W表示特征图的高和宽,C1 ~ C5表示残差网络ResNet的输出特征层,P3 ~ P7表示5个特征金字塔输出层特征图。RetinaNet使用特征金字塔级别P3 ~ P7,其中P3 ~ P5是从对应ResNet残差阶段C3 ~ C5使用自上而下和横向连接的输出计算出来的,P3由C3、C4和C5卷积运算求和得来,P4由C5下采样后和C4相加所得,P5是由C5经过3×3 步长为2卷积得来,P6是通过跨步卷积计算在C5上的3×3 步长2卷积获得,P7是通过P6上使用3×3步长为2卷积计算出来的,提高大目标检测精度。P3、P4、P5、P6、P7大小分别为75×75×256、38×38×256、19×19×256、10×10×256、5×5×256,将他们传送给目标框回归和分类回归。分类回归子网络主要进行4次256通道卷积操作和1次anchors数×4 (红枣目标分类数)的卷积操作,存放所有基于anchors的检测框的分类信息。目标框回归子网络主要进行4次256通道的卷积操作和1次anchors数×4的卷积操作。RetinaNet解码过程即将先验框与分类超过置信度阈值的分数罗列出来,再对框的位置和分类得分进行非极大抑制筛选,得到最终预测框信息。

1.3 评价指标

平均精度(average-precision, AP)、平均精度均值(mean average-precision, mAP)、F1 Score、Loss用于评价基于RetinaNet的红枣检测模型的有效性[21]。

平均精度(AP)表示P-R曲线与坐标轴组成的封闭曲线下的面积,分类器的性能和AP值呈正相关。

P=TPTP+FP×100%(1)

R=TPTP+FN×100%(2)

AP=∫10P·Rdr×100%(3)

式中:P(precision)为准确率,表示预测框中检测正确数;R(Recall)为召回率,表示正确检测出的正样本在所有正样本中比例;TP (true positive)是预测为正样本且实际也为正样本;FP (false positive)是预测为正样本但实际为负样本;FN (false negative)表示预测为负样本但实际为正样本。P-R曲线是以P为纵坐标,R为横坐标组成的曲线。当R越大同时P也能保持较高水准时,模型的计算结果比较好。

平均精度均值(mAP)表示在同一RetinaNet模型下红枣4种分类AP的平均值。

mAP=1AAa=1AP(a)×100%(4)

式中:A 表示红枣4种类别数;AP(a)为第a类目标的AP值。mAP值越大,模型分类效果越好。

F1 Score是指精确率与召回率的调和平均数,取值范围从0到1,取值越大代表模型结果越好。计算公式如下:

F1=2×P×RP+R(5)

Loss损失值的大小用于判断是否收敛。

1.4 试验平台及参数network initialization

试验采用Pytorch搭建了深度学习框架,编译环境为Python3.7。其中计算机处理器为Intel(R)Core(M)i7-8750H,主频2.20 GHz,内

存8 GB,显卡为NVIDIA GeForce 1050Ti,显存为4 G来进行加速训练。

经典小说推荐

杂志订阅

友情链接