APP下载

基于改进YOLOv4-Tiny的蔗芽识别方法

2023-12-11刘姣娣何捷许洪振段玉龙沈漫林

中国农机化学报 2023年11期
关键词:树莓甘蔗速度

刘姣娣 何捷 许洪振 段玉龙 沈漫林

摘要:为解决蔗芽识别在蔗种定向机械化种植速度不匹配问题,提出基于改进YOLOv4-Tiny的蔗芽快速识别方法。将主干网络融合SE-Resnet模块实现注意力机制以增强蔗芽的特征;颈部网络结构多增加一层预测尺度并进行锚框的K-means重聚类,利用浅层网络的细节信息来提高模型对小目标蔗芽的检测能力;设计人机交互界面实时显示蔗芽识别定位信息。该研究将改进YOLOv4-Tiny算法和NCS2加速推理部署在树莓派4B设备中测试,试验结果表明:识别蔗芽精度达到95.87%,平均精度均值mAP为92.46%,基于树莓派检测速度为0.61s,模型大小仅为23.2MB。实现部署在嵌入式设备中准确快速识别蔗芽,解决蔗种蔗芽识别速度慢制约蔗种机械化播种速度问题,为蔗种机械化定向种植提供解决方案。

关键词:蔗芽识别;YOLOv4-Tiny;树莓派4B;SE-Resnet;K-means重聚类

中图分类号:S223.2: TP391.41文献标识码:A文章编号:20955553 (2023) 11016907

Identification method of cane sprout based on improved YOLOv4-Tiny

Liu Jiaodi, He Jie, Xu Hongzhen, Duan Yulong, Shen Manlin

(School of Mechanical and Control Engineering, Guilin University of Technology, Guilin, 541000, China)

Abstract:In order to solve the problem that the speed of sugarcane bud recognition does not match in the directional mechanized planting of sugarcane seeds, this paper proposes a rapid recognition method of sugarcane buds based on the improved YOLOv4-Tiny. The backbone network is integrated with the SE-Resnet module to realize the attention mechanism to enhance the characteristics of sugarcane buds. The neck network structure adds an additional layer of prediction scale and performs K-means reclustering of the anchor box, and uses the detailed information of the shallow network to improve the performance. The detection ability of the model to small target sugarcane buds, the design of human-computer interaction interface displays the sugarcane bud identification and positioning information in real time. In this study, the improved YOLOv4-Tiny algorithm and NCS2 accelerated reasoning will be deployed in the Raspberry Pi 4B device for testing. The test results show that the recognition accuracy of sugarcane buds is 95.87%, and the average precision and mean mAP is 92.46%. Based on the Raspberry Pi, the detection speed is 0.61 s, and the model size is only 23.2 MB. It realizes accurate and fast identification of sugarcane buds deployed in embedded devices, solves the problem that the slow recognition speed of sugarcane seeds restricts the speed of mechanized sowing of sugarcane seeds, and provides a solution for mechanized directional planting of sugarcane seeds.

Keywords:sugarcane sprout identification; YOLOv4-Tiny; Raspberry Pi 4B; SE-Resnet; K-means reclustering

0引言

甘蔗是世界上主要的經济作物之一,在全球种植面积约2×107hm2,我国甘蔗种植面积达1466.67khm2,位居世界第三[1]。根据农艺要求,甘蔗种植时,蔗种要求平放,蔗芽朝向种沟两侧沟壁,避免蔗芽朝向种沟底部,以促进蔗芽早萌动、早出土,提高蔗种出苗率[25]。由于国内外现有的甘蔗种植机械均采用盲种方式,缺少蔗芽识别功能,无法保证蔗种平放、蔗芽朝向种沟两侧沟壁的种植农艺要求,导致蔗种萌发晚、生根慢、出苗率低等问题,直接影响甘蔗产量。李尚平等[6]通过优化组合参数验证试验,得出最优排种速度约0.8s/根。目前,蔗种定向种植主要依靠人眼识别蔗芽、手动完成蔗芽定向来摆放蔗种,其劳动强度大、工作效率低等诸多因素严重阻碍了甘蔗产业的发展。

国内外对于蔗种的检测识别主要集中在茎节识别[713],目的是为实现防伤芽的自动切种。陆尚平[14]等采用OTSU阈值分割、经典边缘算子检测和基于FCM蔗芽分割等多种传统图像处理方法分割蔗芽。张东红等[15]通过计算每个茎节上列像素值之和,统计位于直线中线像素值,根据蔗芽绕茎节生长的特征,结合bounding Rect函数,定位蔗芽位置。刘栩廷等[16]基于SVM对蔗种坏芽检测识别。Song等[17]基于深度学习LeNet-5网络结构,建立分类CNN模型识别蔗种好芽和坏芽。李强等基于卷积神经网络对蔗芽识别定位,通过改进LeNet-5网络模型,蔗芽识别准确率为92%,在电脑端测试单幅蔗种图像检测用时长达1.2s,模型大小为68.35M,但未能满足实际蔗种机械定向种植速度约0.8s/根。

为提高蔗芽识别速度与准确率,满足蔗种定向种植机械的播种速度要求,基于YOLOv4-Tiny快速且模型小通用性强的优点,提出一种基于改进YOLOv4-Tiny的蔗芽快速识别方法,主干网络融合SE-Resnet模块,颈部网络新增一个预测尺度并进行锚框的K-means重聚类,并将模型和NCS2加速推理部署于树莓派4B设备中测试。

1材料与方案

1.1数据来源

本文使用的蔗种数据来自中国广西桂林市国家农业科技园区。甘蔗品种为“桂糖44号”,蔗种采集时间为2021年10月24日,人工将整根甘蔗切断成双芽段蔗种,蔗种长度30~40cm[18],筛选出较明显粗壮蔗芽的蔗种放置于实验台架上模拟排种装置夹持蔗种输送如图1(a)所示。在摄像头距离蔗种约250mm进行拍摄,要求蔗芽面向镜头为中线左右偏移不超过30°随机摆放如图1(b)所示,以确保采集的图像能够准确反映蔗芽特征,图像尺寸3000×3000,共采集图像2036张,部分采集图像展示如图1(c)所示,图像均以JPG格式保存,训练集、测试集和验证集以8∶1∶1的比例划分,并采用LabelImg1.8.5工具对数据图像标注,保存结果文件为XML格式,数据集以PASCAL VOC[19]格式保存,以便用于训练和测试。

1.2甘蔗机械化定向种植方案

为解决甘蔗智能定向种植,本文提出一种甘蔗机械化定向种植技术方案如图2所示,可实现蔗种图像的采集、蔗芽识别、蔗芽朝向调整及蔗种种植。

首先,通过图像采集系统完成对蔗种目标特征图像的收集,且进行图像预处理和数据集划分;其次,为实现蔗芽的快速检测和定位,使用检测速度快且模型轻的深度学习模型YOLOv4-Tiny网络进行蔗芽识别,然后,针对原始网络在蔗芽识别中存在蔗芽小目标的漏检和识别速度慢等问题,对YOLOv4-Tiny网络进行改进,通过测试分析,对提出改进方法进行对比验证,最后,将网络模型部署到嵌入式设备中,通过末端执行设备对蔗种实行夹取,蔗芽执行调向和投种。

2目标检测算法

2.1改进YOLOv4-Tiny网络

YOLOv4-Tiny[20]算法是一种轻量级的快速目标检测算法,参数仅有600万,相当于原来的1/10,这使得检测速度有很大提升。本文按公开COCO数据集标准,将图像尺寸小于32×32的特征目标定义为小目标,而蔗芽属于较小目标。为提高小目标检测能力,本文在原预测输出层上再增加一层浅层预测输出层,深层的特征图适合检测大目标的物体,网络层数越深就越能提取到图像中深层的语义信息,使提取到的语义信息变得更加丰富,感受视野较大,而浅层的特征图适合检测小目标的物体,浅层的特征图语义信息较少,感受视野也较小,包含更准确地位置信息和其他细节信息,本文输入图像尺寸为416×416,在YOLOv4-Tiny的主干网络中产生三种尺寸特征图,分别为13×13、26×26、52×52。较为简单YOLOv4-Tiny网络模型不足以学习到足够蔗芽特征,且蔗芽信息与茎节处颜色特征差异不大,导致识别错误或漏检测现象,为了提升网络的识别准确度和识别速度,嵌入SE-Resnet模块替代原有的三个CSP结构,它能增强网络特征通道之间的信息传递,使用时可明显提高蔗芽检测精度,此外,采用Mish激活函数替换原来的Leaky Relu激活函数,与其他常用函数ReLU和Swish相比,Mish激活函数有以下四个特点:无上界、无下界、光滑、非单调。它可以防止网络饱和,提高网络的正则化效果,与Leaky Relu激活函数相比,在0值点连续可以减少一些不可预测的问题。其次,计算简单速度快,比较适用于嵌入式设备,使网络更容易优化,具有更高的检测性能,改进YOLOv4-Tiny网络结构如图3所示。

2.2SE-Resnet模块

SE-Net[21]网络是一种通道维度增强注意力机制的卷积神经网络结构,用于强调信息特征,并通过学习使用全局信息来抑制非目标信息的特征。在SE-Net中包含两个核心操作压缩和激发。根据SE-Net的思想,对网络改进一般有两种方法,第一是在卷积层后面直接加SE-Resnet模块,这种方法对任何网络都适用,但这样就会造成大量的卷积层和参数量,会使得训练和学习速度降低,识别效果慢。第二是引入SE-Resnet模块替换原主干网络中的三个CSP结构,其中SE-Resnet模块网络结构如图4所示。

2.3锚框K-means重聚类

在YOLOv4-Tiny网络中使用锚框作为先验框,YOLOv4-Tiny预测输出仅有2个特征层,每个特征层有3种锚框,一共有6个锚框,这6个锚框是对VOC数据集聚类所得到[22],生成的锚框都比较偏向于固定比的正方形和长方形,与蔗芽特征尺寸有很大的不同。由于对网络结构进行了更改,增加至三个尺度预测输出层,对应需9个锚框,所以需要对蔗芽数据集进行重新聚类。选9个对象作为初始聚类中心,载入蔗种数据集,通过K-means算法对数据集中每个点,计算其与每个质心的距离,离哪个质心近,就划分到那个质心所属的区域,把全部数据归好区域后,共有9个区域,然后重新计算每个区域的质心。如果新计算出来的质心和原来的质心之间的位置变化不大,趨于收敛,可认为聚类已经达到期望的结果。如果新质心和原质心距离变化很大,会反复上述过程直到收敛。生成9个适合蔗芽特征的锚框分别为(15,13),(16,19),(20,16),(18,23),(22,20),(20,27),(28,24)(24,29),(33,34),不再使用原来的默认的锚框,K-means聚类后锚框分布情况如图5所示,每个区域的质点就是对应锚框的坐标点,重新聚类后会获得更贴近的适合蔗芽特征的先验框,有利于模型训练和学习。

3模型训练与测试

3.1训练环境与方法

训练平台硬件配置:Intel(R)Core(TM)i7-10700K CPU@3.80GHz,24G内存,搭配NVIDIA GeForce RTX2060 SUPER图形卡,显存大小8G,操作系统为Windows10专业版,图像形态学处理采用OpenCV 4.5.3视觉库,并在Python3.7、CUDA11.1环境下使用Tensorflow作为框架实现整个算法的训练。部分训练参数设置如下:训练图像大小调整为416×416,批量大小(Batch size)设置为32,初始学习率为0.01,循环学习率为0.0001,Epoch迭代次数为500。采用随机梯度下降(SGD)优化器,动量设为0.937。从图6可以看出,改进前模型损失值较大,收敛波动频繁,改进后模型收敛快,波动平缓,最终收敛损失值较小,两者均在约第310次迭代时开始收敛处于水平。

3.2测试环境

将训练平台训练好模型部署于测试平台树莓派4B进行测试,树莓派4B实物及Raspberry Pi Camera模块如图7所示。

其操作系统为Raspberry Pi OS 64位(Raspbian),运行内存8G,核心处理器CPU为BrOadcom BCM2711四核1.5GHz 64-bit ARM Cortex-A72,以Python作为编程语言,搭载Tensorflow深度学习框架,拥有娇小外观,功能强大的微型电脑。

3.3配置NCS2推理加速

英特尔第二代神经计算棒简称NCS2,是一种可以提升深度神经网络推理速度硬件加速器,其内置了最新的Intel Movidius Myriad X VPU视觉处理器,集成16个SHAVE计算核心,可以极低的功耗执行高性能视觉和AI推理运算。NCS2主要用于物联网的设备端,代替原有设备进行深度学习的推理,实现图像计算。NCS2体积小,价格低,专用于图像计算,性能高于传统的嵌入式设备,起到取长补短的功能。通过Open VINO模型优化器将其转换为NCS2神经计算棒支持的IR文件,并部署到具有NCS2神经计算棒的树莓派4B上,实现进一步对模型性能优化,在检测速度上有明显提升,更易于实用和推广。

4结果与分析

4.1评估标准

4.2不同超参数下的模型指标分析

蔗芽识别网络模型在性能测试中使用不同的IoU阈值和置信度阈值的分析结果如图8所示。在一定范围内IoU阈值是可以直接影响模型的精度。IoU阈值并不是越大越好,IoU阈值越大被检测到的预选框与真实框的重叠率就越高,被误检的数量也会增加。通常IoU阈值取0.5,此时精度P和召回率R分别达到95.87%和89%。随置信度阈值的不断增大,网络模型的指标mAP值也不断减小。当置信度阈值小于0.6时,F1值和召回率R以及精度P基本稳定不变。反之,置信度阈值大于0.6时,F1值和召回率R开始缓慢降低,但精度P缓慢增大,本研究为保证精度同时也要保证误检容错率,经反复测试发现置信度为0.35时,使改进YOLOv4-Tiny网络预测结果最佳。

4.3各模型性能分析

性能分析采用LeNet-5、YOLOv4-Tiny、YOLOv5s和改进YOLOv4-Tiny模型做对比分析如表1所示。

测试结果表明LeNet-5在各项指标上都略低于其他模型,YOLOv4-Tiny与YOLOv5s相比,精度P及各方面指标相差并不大,YOLOv5s的模型大小要更轻一些,但部署在树莓派4B上测试帧数(FPS)要比YOLOv5s高,YOLOv4-Tiny的检测速度要更快;本文使用方法与YOLOv4-Tiny相比,精度P提升了4.6%,召回率R提升了4.25%,在部署于树莓派4B上检测速度要快一倍于YOLOv4-Tiny,帧数可达9.4帧/s,平均检测速度约0.61s/根,检测效果对比如图9所示。

5人机交互界面设计

本文利用Python的PyQt5图形框架设计一个人机交互界面如图10所示,该程序可实现置信度自定义调参、可用于图片、视频和摄像头的蔗芽检测,便于查看分析实时显示蔗芽识别定位信息,识别结果输出蔗芽位置信息和置信度。

6结论

1) 为解决蔗种蔗芽识别精度低问题,提出改进的YOLOv4-Tiny算法,通过主干网络融入SE-Resnet模块替换CSP结构并采用Mish激活函数替代的Leaky Relu激活函数,降低运算量提升速度,同时增强小目标蔗芽检测精度,扩增一层浅层预测输出结构,保证算法具有识别精度高、检测速度快的特点,与改进前算法相比,识别精度提升了4.6%,模型大小仅增加0.6MB。

2) 为解决蔗种蔗芽识别速度慢制约蔗种机械化播种速度问题,将模型部署于树莓派4B嵌入式设备并配置NCS2推理加速,试验结果表明,在树莓派4B为测试平台下,蔗芽检测帧数为9.4帧/s,平均检测速度约0.61s/根,与改进前算法相比,蔗芽检测帧数提高了2.1帧/s,平均检测速度快了0.54s/根,满足实际蔗种机械定向播种速度要求。

3) 设计并提出了甘蔗机械化定向种植技术方案,创新性地解决了传统机械化盲种方式无法满足蔗种种植农艺要求问题,将人工智能视觉检测技术引入甘蔗机械化种植领域,实现蔗芽识别、蔗芽朝向调整和播种,为甘蔗机械化定向种植技术的发展提供关键技术。

参考文献

[1]朱卫江. 我国甘蔗机械化收获现状与发展路径选择[J]. 农机质量与监督, 2019(10): 30-32.

[2]李炳杨. 广西甘蔗种植現状、问题及对策[J]. 热带农业科学, 2018, 38(4): 119-127.Li Bingyang. The present situation, problems and countermeasures of sugarcane cultivation in Guangxi [J]. Chinese Journal of Tropical Agriculture, 2018, 38(4): 119-127.

[3]罗全, 赵明, 李会校. 甘蔗不同播种方式对产量的影响[J]. 广西农业机械化, 2017(2): 22-24.

[4]李荣喜, 刘立炫, 黄敏, 等. 甘蔗机械化种植对蔗种的要求[J]. 南方农业, 2018, 12(18): 21-22, 24.

[5]韦欣海. 甘蔗种植的高产技术及实施要点[J]. 南方农业, 2018, 12(12): 29-30.

[6]李尚平, 黄宗晓, 张伟, 等. 预切种式宽窄行甘蔗种植机单辊排种系统设计与试验[J]. 农业机械学报, 2020, 51(4): 113-121.Li Shangping, Huang Zongxiao, Zhang Wei, et al. Experiments and design on single-rolled seed-sowing system of pre-seed-cutting sugarcane planters with wide and narrow row spacing[J]. Transactions of the Chinese Society of Agricultural Machinery, 2020, 51(4): 113-121.

[7]Chen, H., Xu G, J., Liu X, et al. Sugarcane stem nodes based on the maximum value points of the vertical projection function [J]. Ciência Rural, 2020, 50.

[8]Chen M, X. J, Cheng Q, et al. Sugarcane stem node detection based on wavelet analysis [J]. IEEE Access, 2021(9): 147933-147946.

[9]黄亦其, 乔曦, 唐书喜, 等. 基于Matlab的甘蔗茎节特征分布定位与试验[J]. 农业机械学报, 2013, 44(10): 93-97, 232.Huang Yiqi, Qiao Xi, Tang Shuxi, et al. Localization and test of characteristics distribution for sugarcane internode based on Matlab[J]. Transactions of the Chinese Society of Agricultural Machinery, 2013, 44(10): 93-97, 232.

[10]陆尚平, 文友先, 葛维, 等. 基于机器视觉的甘蔗茎节特征提取与识别[J]. 农业机械学报, 2010, 41(10): 190-194.Lu Shangping, Wen Youxian, Ge Wei, et al. Recognition and features extraction of sugarcane nodes based on machine vision [J]. Transactions of the Chinese Society for Agricultural Machinery, 2010, 41(10): 190-194.

[11]石昌友, 王美丽, 劉欣然, 等. 基于机器视觉的不同类型甘蔗茎节识别[J]. 计算机应用, 2019, 39(4): 1208-1213.Shi Changyou, Wang Meili, Liu Xinran, et al. Node recognition for different types of sugarcanes based on machine vision [J]. Journal of Computer Applications, 2019, 39(4): 1208-1213.

[12]张卫正, 张伟伟, 张焕龙, 等. 基于高光谱成像技术的甘蔗茎节识别与定位方法研究[J]. 轻工学报, 2017, 32(5): 95-102.Zhang Weizheng, Zhang Weiwei, Zhang Huanlong, et al. Research on identification and location method of sugarcane node based on hyperspectral imaging technology [J]. Journal of Light Industry, 2017, 32(5): 95-102.

[13]黄亦其, 黄体森, 黄媚章, 等. 基于局部均值的甘蔗茎节识别[J]. 中国农机化学报, 2017, 38(2): 76-80.Huang Yiqi, Huang Tisen, Huang Meizhang, et al. Recognition of sugarcane nodes based on local mean[J]. Journal of Chinese Agricultural Mechanization, 2017, 38(2): 76-80.

[14]陆尚平. 基于机器视觉的甘蔗茎节识别与蔗芽检测研究[D]. 武汉: 华中农业大学, 2011.

[15]张东红, 吴玉秀, 陈晨. 基于图像处理的甘蔗茎节识别与蔗芽检测[J]. 洛阳理工学院学报(自然科学版), 2019, 29(2): 67-72.Zhang Donghong, Wu Yuxiu, Chen Chen. Sugarcane stem section identification and sugarcane bud detection based on image processing [J]. Journal of Luoyang Institute of Science and Technology (Natural Science Edition), 2019, 29(2): 67-72.

[16]刘栩廷, 刘姣娣, 王明明, 等. 基于SVM的蔗种坏芽检测识别[J]. 石河子大学学报(自然科学版), 2022, 40(4): 481-486.Liu Xuting, Liu Jiaodi, Wang Mingming, et al. Detection and recognition of sugarcane bad bud based on SVM[J]. Journal of Shihezi University (Natural Science): 2022, 40(4): 481-486.

[17]Song H, Peng J, Tuo N, et al. Study of sugarcane buds classification based on convolutional neural networks [J]. Intelligent Automation & Soft Computing, 2021, 27(2): 581-592.

[18]梁永檢. 甘蔗“健康种子”生产的关键技术研究[D]. 桂林: 广西大学, 2015.

[19]Everingham M, Eslami S M A, Gool L, et al. The pascal visual object classes challenge: A retrospective[J]. International Journal of Computer Vision, 2015, 111(1): 98-136.

[20]Bochkovskiy A, Wang C Y, Liao H Y M. Yolov4: Optimal speed and accuracy of object detection[J]. arXiv, 2020: 10934.

[21]Hu J, Shen L, Sun G. Squeeze-and-Excitation networks[C]. Proceedings of the 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, Salt Lake City, 2018: 7132-7141.

[22]吴奎, 向峰, 周顺, 等. 基于改进的YOLOv4-tiny钢卷端面缺陷检测[J]. 智能计算机与应用, 2022, 12(3): 22-27.Wu Kui, Xiang Feng, Zhou Shun, et al. Defect detection of steel coil based on improved Yolov4-Tiny[J]. Intelligent Computer and Applications, 2022, 12 (3): 22-27.

猜你喜欢

树莓甘蔗速度
花式卖甘蔗
行驶速度
清明甘蔗“毒过蛇”
速度
基于树莓派的骑行智能头盔设计
爱咬甘蔗的百岁爷爷
基于树莓派的远程家居控制系统的设计
23个甘蔗品种对甘蔗黑穗病的抗性测定
比速度更速度——“光脑”来了
响应面法优化红树莓酒发酵工艺