摘要
为解决温室环境下草莓果实快速准确识别问题,提出一种基于改进YOLOv5s的草莓成熟度检测方法。在主干中引入Shuffle_Block作为特征提取网络,从而实现模型轻量化。同时,在颈部结构中使用全维度动态卷积模块(omni-dimensional dynamic convolution, ODConv),以提高网络对草莓目标的信息挖掘能力,降低计算量,并进一步实现轻量化。结果显示,改进后的YOLO-ODM(YOLO with ODConv module)模型的平均精度均值达97.4%,模型体积是7.79 Mb,在GPU上的单张平均检测时间仅11 ms,浮点运算量为6.9×1
草莓(Fragaria ananassa Duch.)是一种经济价值和营养价值较高的小浆
传统的草莓识别方法是先获取草莓样本的物理特征,或者结合光谱成像、电子鼻、激光诱导荧光和生物阻抗数据等,再使用机器学习的方法进行模式识
近年来,随着深度学习在农作物检测中的兴起,传统基于特征提取的识别方法正逐步淘汰。常见的深度学习目标检测方法有R-CN
为解决上述问题,本研究提出一种轻量化的基于YOLO-ODM的草莓成熟度检测方法,在主干中引入Shuffle_Block作为特征提取网络,并在颈部结构中使用全维度动态卷积模块ODConv,以提高网络对草莓目标的信息挖掘能力,降低计算量,充分实现模型轻量化,旨在为温室大棚中草莓生长监测、果实成熟度的快速准确识别提供技术支持。
草莓数据集获取于百度飞浆AI Studio的公共数据集,下载网址为https://aistudio.baidu.com/aistudio/datasetdetail/147119。根据试验需求将公共数据集的json格式转化为txt格式。再使用labelImg工具对草莓果实的标注信息进行检查和校正。该草莓数据集拍摄于温室大棚内,包含3 100张图片,按照8∶1∶1的比例将数据集划分为训练集(2 480张)、验证集(310张)和测试集(310张)。草莓数据集包含未成熟、半成熟和成熟草莓3种样本,分别为10 880、2 408和2 835个。数据集的基本信息如
数据集Data set | 图像Images | 未成熟 Immaturity | 半成熟 Medium | 成熟 Maturity |
---|---|---|---|---|
训练集 Training set | 2 480 | 8 806 | 1 916 | 2 246 |
验证集 Validation set | 310 | 1 017 | 241 | 294 |
测试集 Test set | 310 | 1 057 | 251 | 295 |
合计 Total | 3 100 | 10 880 | 2 408 | 2 835 |
为了实现草莓的快速准确定位和识别,必须同时考虑实时性和准确性,因此,本研究选用权重文件较小、推理速度较快、适合部署到边缘设备的YOLOv5s作为基础网络。YOLOv5s由BackBone、Neck和Head组成,其网络结构如

图1 YOLOv5s网络结构
Fig.1 YOLOv5s network structure
1)模型轻量化。本研究使用ShuffleNetv2中的模块(Shuffle_Block)替换YOLOv5s中的主干特征提取网络。ShuffleNe
(1) |
其中,为输入特征图尺寸,为卷积核尺寸,M为输入通道数,N为卷积核个数。由此可见,深度可分离卷积可以大幅降低计算量。
ShuffleNetv1提出了通道重排技术,通道重排技术将特征图中的通道按照一定规则分成若干组,然后将每组中的元素重新排列,从而增加通道之间的信息交互和融合能力,增加模型的非线性表达能力。ShuffleNetv2增加了通道划分(channel split)操作,将输入通道划分为2组,然后对其中1组进行卷积操作,从而减少了计算量和模型参数。
使用的Shuffle_Block如

图2 Shuffle_Block结构
Fig.2 Shuffle_Block structure diagram
左侧图为s=1的特征提取操作;右侧图为s=2的下采样操作。The left figure is the feature extraction operation with s=1.The right figure is the subsampling operation with s=2.
层 Layer | 模块 Block | 输出通道数 Output channel | 特征图尺寸 Feature map size | 步长 Stride | 输入到Neck Input into Neck |
---|---|---|---|---|---|
0 | CBR | 32 | 320×320 | 2 | |
1 | MaxPool | 32 | 160×160 | 2 | |
2 | Shuffle_Block | 128 | 80×80 | 2 | |
3 | Shuffle_Block | 128 | 80×80 | 1 | √ |
4 | Shuffle_Block | 256 | 40×40 | 2 | |
5 | Shuffle_Block | 256 | 40×40 | 1 | √ |
6 | Shuffle_Block | 512 | 20×20 | 2 | |
7 | Shuffle_Block | 512 | 20×20 | 1 | √ |
注: √”表示此处的输出特征图输入Neck。Note:"√" indicates that the output feature map here is input into Neck.
2)全维度动态卷积(ODConv)。使用ODConv替换PANet中的常规卷积以获取充分的上下文信息,从而使网络更加专注于草莓果实信息。
常规的卷积核不具备动态属性,其卷积核参数固定不变。动态卷积可以根据输入的图片动态调整卷积核参数,使得卷积核更加专注于目标信息。为了充分利用动态卷积挖掘上下文线索的能力,引入了1种全维度动态卷
常规卷积只有1个静态卷积核且与输入样本无关,而传统的动态卷积核使用注意力机制将多个卷积核动态加权再线性组合,普通动态卷积的计算如
(2) |
(3) |
其中,代表输入特征图,代表输出特征图,代表第个卷积核,为第个卷积核的注意力标量,、 和分别表示沿空间、输入通道和输出通道的注意力标量(i=1,2,3,,n),代表沿核空间不同维度的乘法运算。ODConv关注了核空间的4个维度(核尺寸、输入通道数、输出通道数和核个数)。使用了与SE注意力机制相同的计算方式,首先将输入x通过全局平均池化(golbal average pooling, GAP)压缩到与输入通道同长度的特征向量中,然后用全连接层FC(fully connected layers, FC)将特征向量映射到低维空间,再经过ReLU激活函数,并分别通过4个FC层和Sigmoid激活函数或Softmax函数生成核空间的4个注意力标量、、和。全维度动态卷积的过程如

图3 全维度动态卷积
Fig.3 Omni-dimensional dynamic convolution
3)损失函数。YOLO传统的边界框回归损失函数是交并比损失(intersection over union,IoU),IoU计算的是预测框(A)和真实框(B)的交叠率。IoU的计算表达式如下:
(4) |
传统的IoU损失有2个缺点:第一,如果预测框和真实框不相交,那么无法计算出2个框之间的真实距离;第二,预测框和真实框的相交状态无法精确计算。为解决上述问题,一系列改进的IoU损失被提出,例如:GIoU、DIoU和CIoU等。YOLOv5s使用的IoU损失函数为CIoU,CIoU损失考虑了预测框和真实框的重叠面积、中心点距离和长宽比,但其描述的长宽比仍有一定的模糊性,EIoU在CIoU的基础上拆开长宽比并用长宽的差异值取代长宽比。EIoU损失由两框之间重叠损失、两框之间中心距离损失以及两框之间宽和高损失组成。其公式为:
(5) |
其中,为2个框中心点之间的欧氏距离,和分别代表预测框和真实框,代表2个框的最小外接矩形的对角线长度,和分别代表预测框宽和高,和为真实框的宽和高,和是覆盖预测框和真实框的最小外接矩形的宽和高。
考虑到边界框的回归过程中存在正负样本不平衡问题,引入Focal-EIo
(6) |
其中,为控制异常值抑制程度的参数。
Focal-EIoU损失不仅考虑到预测框和真实框的中心点距离、重叠面积和长宽的差异值,还考虑到边界框回归中样本不平衡问题。因此,本研究使用Focal-EIoU损失。
综合以上三方面的改进,本研究提出的草莓成熟度检测模型YOLO-ODM如

图4 YOLO-ODM结构
Fig.4 Structure diagram YOLO-ODM
所用模型的评价指标为精确率(precision,P)、召回率(recall,R)、平均精度均值(mean of average precision,PmA)、浮点运算量、模型大小、参数量和推理速度。其中PmA基于Precision-Recall曲线得出,能够全面评估算法的准确性和鲁棒性。计算公式如下:
(7) |
(8) |
(9) |
其中,TP表示真正例,FP表示假正例,FN表示假负例,,A表示每个类别的平均精度(average precision),表示总类别数。
本实验的硬件环境为Inte
本研究采用SGD优化器进行优化,输入图像分辨率为640像素×640像素,学习率为0.01,动量为0.937,权重衰减为0.000 5,批尺寸为16,交并比为0.5,使用YOLOv5s在草莓数据集上训练得到的权重来进行迁移学习并训练100个轮次(Epoch)。
为避免试验中不同IoU阈值的干扰,设置IoU阈值为0.5。YOLOv5s的先验框聚类中心是基于COCO数据集并用K-means算法聚类生成得到,直接使用原有的先验框存在2个问题:第一,COCO数据集包含的80种类别和本研究使用的草莓数据集截然不同;第二,K-means算法生成的聚类中心有一定的随机性,造成先验框与真实框匹配效果不佳。所以本试验使用改进的K-means++算法重新聚类先验框得到9个聚类中心,具体结果见
尺度 Size | 视野 View | 先验框 Anchor boxes | ||
---|---|---|---|---|
20×20 | 大Large | [87,99] | [93,164] | [117,216] |
40×40 | 中Middle | [58,98] | [60,60] | [73,133] |
80×80 | 小Small | [22,31] | [36,45] | [42,72] |
模型训练过程中的评价指标变化如

图5 模型收敛图
Fig.5 Model convergence diagram
使用原始网络与改进的YOLO-ODM网络在本试验草莓数据集上进行训练,消融试验结果见
基线网络 Baseline | 序号 Order | 主干Shuffle_Block | 全维度动态卷积ODConv | Focal- EIoU | K-means++ | 准确率/% P | 召回率/% R | 平均精度均值/%PmA | 浮点运算量/(×1 |
---|---|---|---|---|---|---|---|---|---|
YOLOv5s | 1 | — | — | — | — | 91.2 | 93.5 | 97.0 | 14.4 |
2 | √ | — | — | — | 93.8 | 90.5 | 96.8 | 8.0 | |
3 | √ | √ | — | — | 92.9 | 93.4 | 97.2 | 6.9 | |
4 | √ | √ | √ | — | 93.1 | 92.8 | 97.2 | 6.9 | |
5 | √ | √ | √ | √ | 92.1 | 93.6 | 97.4 | 6.9 |
注: 使用改进用“√”表示,未使用改进用“—”表示。 Note: Improvements used are represented by "√", and improvements not used are represented by "-".
试验2使用轻量化模块替换主干特征提取网络后,PmA有所降低,原因是使用了轻量化的结构导致模型复杂度降低,使得模型的拟合能力下降。通过采用全维度动态卷积增强了模型的信息挖掘能力和对草莓果实特征的关注力;同时使用Focal-EIoU缓解了样本不平衡问题;进而使用K-means++算法对先验框重新聚类以更加贴近草莓真实先验框。结果表明,改进后的轻量化模型不仅提升了准确率、召回率和PmA,还明显缩小了模型浮点运算量。
选取各种流行的轻量级网络作为YOLOv5s的主干网络进行对比测试,结果如
网络 Network | 浮点运算量/(×1 | 存储容量/MbMemory size | 平均精度均值/% PmA |
---|---|---|---|
YOLOv5s | 14.4 | 13.7 | 97.0 |
MobileNetv3 | 7.1 | 9.2 | 94.3 |
GhostNet | 6.6 | 7.8 | 96.5 |
ShuffleNetv2 | 8.0 | 7.6 | 96.8 |
模型 Model | 精确率/% P | 召回率/% R | 平均精度均值/% PmA | 浮点运算量/(×1 | 存储容量/Mb Memory size | 检测时间/ms Detection time | 参数量/(×1 Parameter count | |
---|---|---|---|---|---|---|---|---|
SSD(VGG) | 89.34 | 92.47 | 96.64 | 137.2 | 91.60 | 68.1 | 681.0 | 24.0 |
Faster R-CNN(ResNet50) | 73.90 | 93.18 | 94.90 | 20.1 | 108.00 | 111.1 | 1 800.0 | 13.7 |
YOLOv4-tiny | 88.66 | 90.63 | 93.89 | 8.1 | 22.40 | 32.3 | 136.2 | 5.9 |
YOLOv5s | 91.20 | 93.50 | 97.00 | 14.4 | 13.70 | 12.1 | 101.5 | 7.0 |
本研究 This study | 92.10 | 93.60 | 97.40 | 6.9 | 7.79 | 11.0 | 99.4 | 3.9 |
注: 检测时间列的左右子列分别为在GPU和CPU上的检测情况。Note:The left and right subcolumns of the detection time are the detection on the GPU and CPU, respectively.
从
为验证YOLO-ODM模型在真实场景下草莓果实的检测效果,分别选择高光、遮挡、小目标和密集图像进行测试,如图

图6 YOLO-ODM模型不同场景下的检测效果
Fig.6 YOLO-ODM model with different scene detection effects
A:高光目标 Highlight objects; B:遮挡目标 Occluded objects; C:小目标 Small objects; D:密集目标 Dense objects; E、F、G、H:与本试验数据集非同源的目标 Non-homologous targets in the data set of this experiment.
针对温室环境下草莓果实的准确快速定位问题,本研究提出1种改进的YOLO-ODM草莓成熟度检测模型,可以结合监控摄像头实时监测草莓生长状态,也可以和嵌入式草莓分拣系统相结合进行实时草莓分类。以Shuffle_Block作为主干特征提取网络使模型轻量化,用全维度动态卷积充分挖掘草莓数据集的上下文信息,通过Focal-EIoU损失函数缓解了草莓样本的不平衡问题,并使用K-means++算法对草莓数据集的先验框进行重新聚类,提升预测框的准确度。改进后的YOLO-ODM检测模型的PmA为97.4%,在GPU上的单张平均检测时间为11 ms,浮点运算量为6.9×1
由于本研究是在计算机上进行的,检测模型未置于实际嵌入式设备上进行测试,所以真实环境中可能会存在一定误差,后面还需将模型部署到移动端设备,以完成真实场景下的草莓检测。下一步应继续增加更多复杂背景以及其他场景下的草莓果实图片,进一步加强训练和测试,以提升模型的泛用性,更好地满足实际检测的需求。
参考文献 References
刘小刚,范诚,李加念,等.基于卷积神经网络的草莓识别方法[J].农业机械学报,2020,51(2): 237-244.LIU X G,FAN C,LI J N,et al.Identifcation method of strawberry based on convolutional neural network[J].Transactions of the CSAM,2020,51(2):237-244(in Chinese with English abstract). [百度学术]
ZHAO Y S,GONG L,HUANG Y X,et al.Robust tomato recognition for robotic harvesting using feature images fusion[J/OL].Sensors,2016,16(2):173[2023-02-17].https://pubmed.ncbi.nlm.nih.gov/26840313/.DOI: 10.3390/s16020173. [百度学术]
宋凯,任晓哲.基于YCbCr色彩空间的玉米叶部病斑的图像分割[J].农业工程学报,2008,24(S2): 202-205.SONG K,REN X Z.Image segmentation of disease speckle of corn leaf based on YCbCr color space[J].Transactions of the CSAE,2008,24(S2):202-205(in Chinese with English abstract). [百度学术]
赵嘉玮.基于SVM算法的目标分类筛选方法研究[J].无线互联科技,2022,19(23): 123-125.ZHAO J W.Research on strawberry classification and screening method based on SVM algorithm[J].Wireless internet technology,2022,19(23):123-125(in Chinese with English abstract). [百度学术]
RAJ R,COSGUN A,KULIĆ D.Strawberry water content estimation and ripeness classification using hyperspectral sensing[J/OL].Agronomy,2022,12(2):425[2023-02-17].https://doi.org/10.3390/agronomy12020425. [百度学术]
IBBA P,TRONSTAD C,MOSCETTI R,et al.Supervised binary classification methods for strawberry ripeness discrimination from bioimpedance data [J].Scientific reports,2021,11(1):1-13. [百度学术]
SHAO Y Y,WANG Y X,XUAN G T,et al.Assessment of strawberry ripeness using hyperspectral imaging [J].Analytical letters,2020,54(10):1547-1560. [百度学术]
HE K M,GKIOXARI G,DOLLÁR P,et al.Mask R-CNN[C]//2017 IEEE International Conference on Computer Vision Workshops(ICCV Workshops 2017),October 22-29, 2017,Venice, Italy.Newyork: IEEE,2017:2961-2969. [百度学术]
LIU W,ANGUELOV D,ERHAN D,et al.SSD: Single shot multibox detector[DB/OL].arXiv,2016:1512.02325[2023-02-17].https://doi.org/10.48550/arXiv.1512.02325. [百度学术]
LIN T Y,GOYAL P,GIRSHICK R,et al.Focal loss for dense object detection[DB/OL].arXiv,2018:1708.02002[2023-02-17].https://doi.org/10.48550/arXiv.1708.02002. [百度学术]
BOCHKOVSKIY A,WANG C Y,LIAO H Y M.YOLOv4: optimal speed and accuracy of object detection[DB/OL].arXiv,2020:2004.10934[2023-02-17].https://doi.org/10.48550/arXiv.2004.10934. [百度学术]
FAN Y C,ZHANG S Y,FENG K,et al.Strawberry maturity recognition algorithm combining dark channel enhancement and YOLOv5[J/OL].Sensors,2022,22(2):419[2023-02-17].https://doi.org/10.3390/s22020419. [百度学术]
SU F,ZHAO Y P,WANG G H,et al.Tomato maturity classification based on SE-YOLOv3-MobileNetV1 network under nature greenhouse environment[J/OL].Agronomy,2022,12(7):1638[2023-02-17].https://doi.org/10.3390/agronomy12071638. [百度学术]
黄彤镔,黄河清,李震,等.基于YOLOv5改进模型的柑橘果实识别方法[J].华中农业大学学报,2022,41(4): 170-177.HUANG T B,HUANG H Q,LI Z,et al.Citrus fruit recognition method based on the improved model of YOLOv5[J].Journal of Huazhong Agricultural University,2022,41(4):170-177(in Chinese with English abstract). [百度学术]
ZHANG X Y,ZHOU X Y,LIN M X,et al.Shufflenet: An extremely efficient convolutional neural network for mobile devices[DB/OL].arXiv,2017:1707.01083[2023-02-17].https://doi.org/10.48550/arXiv.1707.01083. [百度学术]
MA N N,ZHANG X Y,ZHENG H T,et al.ShufflenNet v2: Practical guidelines for efficient CNN architecture design[DB/OL].arXiv,2018:1807.11164[2023-02-17].https://doi.org/10.48550/arXiv.1807.11164. [百度学术]
LI C,ZHOU A J,YAO A B.Omni-dimensional dynamic convolution[C/OL]∥ICLR 2022 conference.[S.l.]: ICLR,2022 [2023-02-17].https://openreview.net/forum?id=DmpCfq6Mg39. [百度学术]
ZHANG Y F,REN W Q,ZHANG Z,et al.Focal and efficient IoU loss for accurate bounding box regression [J].Neurocomputing,2022,506:146-157. [百度学术]
张小花,李浩林,李善军,等.基于EfficientDet-D1的草莓快速检测及分类[J].华中农业大学学报,2022,41(6): 262-269.ZHANG X H,LI H L,LI S J,et al.Rapid detection and classification of strawberries based on EfficientDet-D1[J].Journal of Huazhong Agricultural University,2022,41(6):262-269(in Chinese with English abstract). [百度学术]