基于轻量化YOLOv4对不同遮挡程度成熟番茄果实的识别
提出一种基于改进YOLOv4成熟番茄果实识别方法,以解决采摘智能机器人识别中广泛存在的因枝叶遮挡而导致识别不准确的问题。
利用深度学习算法,在卷积神经网络YOLOv4算法中引入轻量化模块Mobilenetv2、Mobilenetv3和Ghostnet,对遮挡程度小于35%、35%~65%以及超过65%的成熟番茄果实进行特征提取和识别分析。
3种YOLOv4轻量化模块对遮挡面积小于65%的番茄果实的识别率超过90%。Ghostnet-YOLOv4算法在3种模块中识别率最高、表现最稳定,平均识别率为94.41%,检测速度为0.012 s;该算法对遮挡面积大于65%的果实识别率明显优于其他2种算法。3种算法的识别率均随遮挡程度的提高而下降。
Ghostnet-YOLOv4算法识别率高、速度快,可用于番茄果实的识别,且优势更为明显。本研究可以为采摘机器人的采摘策略提供更好的思路和技术基础。
Recognition of Mature Tomato Fruits with Different Occlusion Degrees Based on Lightweight YOLOv4
To propose an improved YOLOv4 approach for the recognition of mature tomato fruit, and to solve the prevalently inaccurate identification of tomato by picking intelligent robot, which was due to the occlusion by branches and leaves.
The deep learning algorithm was employed to introduce lightweight modules such as Mobilenetv2, Mobilenetv3, and Ghostnet into the convolutional neural network YOLOv4 algorithm for the feature extraction and identification analysis of mature tomato fruits, with an occlusion degree of less than 35%, 35%-65%, and more than 65%.
The three lightweight modules of YOLOv4 could achieve a recognition rate of over 90% for tomato fruits with a shielding area of less than 65%. Among the three modules, the Ghostnet-YOLOv4 algorithm had the highest recognition rate and the most stable performance, with an average recognition rate of 94.41% and a detection speed of 0.012 s. The recognition rate of the algorithm for fruits covered by more than 65% was obviously better than that of the other two algorithms. The recognition rate of the three algorithms decreased as the occlusion degree increased.
The Ghostnet-YOLOv4 algorithm can be applied to the identification of tomato fruits, with high recognition rate and fast speed, and it has obvious advantages in the identification of covered tomatoes. This study can provide better concepts and a technical foundation for picking strategy of robots.
-
Keywords:
- tomato recognition /
- YOLOv4 /
- different occlusion degree /
- lightweight network
-
番茄作为世界上种植面积和产量最高的蔬菜之一,其生产越来越精准化、规模化、集约化,对智能化和自动化农业智能装备的需求也快速增长[1]。目前,番茄生产和加工过程中的人工成本仍较高,采摘过程劳动强度大、耗费时间长,对智能采摘需求更加迫切,应用智能采摘机器人对番茄进行精准识别和自动化采摘已成为当前研究的重点[2]。
国内外对番茄外观识别和品质检测的研究已取得一定进展。孙建桐等[3]对番茄图像进行Canny边缘检测操作后获得果实边缘轮廓点,基于几何形态学对果实轮廓点进行分组处理,利用迭代随机圆处理得到果实识别结果,正确率为85.1%,识别准确率为79.1%。李寒等[4]使用互相关函数进行快速和归一化处理,估计目标果实数量,排除了绿色根叶茎对果实检测识别的干扰。马翠花等[5]在未成熟番茄果实的识别研究中,提出基于密集和稀疏重构的显著性检测方法,正确识别率达到77.6%。
被遮挡番茄在图片中的表现形式与实际有差异,番茄不能完整呈现,识别难度增大[6]。RGB色差分割方法处理遮挡果实会有较大误差[7];椭圆拟合方法受番茄形状和大小不规则的影响,会出现较明显的果实漏识现象[8];SVM支持向量机受正样本和负样本影响的概率较大,无法完成复杂环境中番茄果实的识别[9]。相较于单纯采用图像处理的方法,机器学习[10]中深度卷积神经网络对目标大、高维度特征的提取能力突出,适合复杂环境下检测识别番茄果实。卷积神经网络总体上有2种方法。一种是两阶段目标检测方法,首先使用算法对已标注的样本进行处理得到目标检测候选框,再对制作好的样本进行卷积分类,其代表性算法主要有RCNN[11]、Fast-RCNN[12]和Faster-RCNN[13]。熊俊涛等[14]利用Faster-RCNN深度卷积神经网络的目标检测算法对绿色柑橘进行识别检测,其模型泛化能力和预期精度均较好,但由于两阶段目标检测方法的计算机运行耗费大,检测时间长,实时性存在不足。另一种是一阶段目标检测方法,主要是把分类和回归进行结合,直接在坐标系中对算法分好的类别进行回归处理,代表性的算法主要有SSD[15]和YOLO[16]。薛月菊等[17]采用YOLOv2深度卷积神经网络检测识别未成熟的杧果果实,在维持预期泛化能力和识别精度的同时对检测速度进行优化和提升;但其缺点是召回率明显降低,尤其是识别较密集果实时,会将聚集果实划入同一个识别框,且该方法需要高性能显卡,但当前农业机械设备的终端多采用性价比较高的消费性设备,即边缘设备[18],使其无法高效可靠地移植到边缘设备上。
已有应用深度学习识别成熟番茄果实的研究存在对实际作业需求考虑不足的问题。为便于机器人更好地识别不同遮挡程度的成熟番茄果实,进而做出科学采摘决策,本研究对YOLOv4的轻量化卷积神经网络算法进行改进,以期对不同遮挡程度的成熟番茄果实进行准确识别。
1. 材料与方法
1.1 图像采集
研究数据来自2021年云南农业大学校内温室番茄大棚进行的试验,试验品种为云番27号,图像拍摄时间为2021年8月8日—8月12日的每天14: 00—16: 00,为增加数据多样性,拍照分为远景和近景,远景距离果实600~800 mm,近景距离果实300~400 mm,远景和近景各采集左、中、右3种角度图像,每个角度拍摄3幅(图1)以供后续筛选。数据采集方法和参数设置保持一致。
1.2 研究方法
本研究共采集照片4 000张,首先对图片进行预处理,挑选出不同遮挡程度的成熟番茄果实,并用Labelimg工具进行标注,利用不同轻量化特征提取网络对YOLOv4进行改进,使用完全一致数据集在相同参数设置环境下进行训练。
1.2.1 数据集预处理
按照遮挡面积将图像分为3种数据集,遮挡面积<35%标记为tomatos,遮挡面积为35%~65%标记为tomatoh,遮挡面积>65%标记为tomatom。由于数据集总量庞大,为便于筛选,将番茄近似视为圆形进行拟合,然后利用四等分圆(图2)进行遮挡面积的初步对比与挑选。
进一步处理挑选出的番茄果实图像,获取圆形区域内所有像素点数量以及遮挡区域像素点数量,计算遮挡面积占比。以1个被遮挡番茄果实为例(图3),圆形区域内总像素点数量为20 000,遮挡区域像素点数量为
3219 ,遮挡面积占比为16.10%。按照3种遮挡程度挑选出符合要求的原始图片1 200张,3种遮挡程度果实数量比约为1∶1∶1。用Labelimg工具标注处理好的数据集,其标签为PASCAL VOC格式。1.2.2 轻量化网络模块
在YOLOv4算法中引入轻量化模块Mobilenetv2[19]、Mobilenetv3[20]和Ghostnet[21],作为主干特征提取网络代替YOLOv4中的CSPdarknet53进行特征提取,同时对PAnet加强特征网络进行轻量化处理。
首先,在YOLO算法中引入Mobilenetv、Mobilenetv3和Ghostnet模块,把YOLObody主干特征提取网络CSPdarknet53修改为3个轻量化模型中的任意1个,为使修改后主干特征提取网络提取出的特征能够准确输出到卷积块中,对YOLOv4网络中接受特征的卷积模块输入通道数进行修改,使其与轻量化模块输出通道数匹配,其中,Mobilenetv2模块输出通道数为[32, 96, 320],Mobilenetv3模块输出通道数为[40,112,160],Ghostnet模块输出通道数为[40,112,160]。
通过PAnet加强特征网络对特征进行进一步提取。若利用普通卷积提取,1个卷积核只对1个特征提取,每增加1个检测图片属性,就需增加1个卷积核,会大大增加网络参数量。利用深度可分离卷积代替普通卷积(图4)能解决网络参数量过大的问题。该方法先对每个通道进行卷积,同时输出每个通道的属性,再通过1次卷积调整通道数,得到与正常卷积相同的数据。在YOLOv4中定义1个3×3深度可分离卷积和1个1×1普通卷积深度可分离卷积结构块,替换PAnet加强特征提取网络的普通3×3卷积,以减小网络参数量,使特征提取更加高效。
经过测试,YOLOv4主干特征提取网络修改为Mobilenetv2、Mobilenetv3和Ghostnet后,网络参数都从原来的6 400万降低到约3 900万;改进PAnet加强特征提取网络后,网络参数量进一步缩减到约1 000万,仅为原来的16%。
1.2.3 试验平台和参数设置
使用Windows10操作系统,配备16 G内存,AMD Ryzen 5 5600H with Radeon Graphics 3.30 GHz,NVIDIA Ge Force RTX 3050GPU,使用Pytorch作为深度学习框架,CUDAToolkit11.3,cu DNN11.3。参数设置为:每批次训练16张图片,设置100个迭代周期,初始学习率为0.001,100个冻结周期,非极大值抑制(non-maximum suppression,NMS)的阈值为0.6,置信度阈值为0.3,测试时交并比(intersection over union,IoU)的阈值为0.5。
1.2.4 模型评判指标
保持训练平台、配置信息和数据集不变,采用改进的3种轻量化YOLOv4算法分别对相同数据集进行训练和检测,比较不同方法的平均精度、检测速度和模型大小。P-R曲线以准确率(precision,P)为纵坐标、以召回率(recall,R)为横坐标,把样本划分为正确正样本 (ture positive,TP)、正确负样本 (true negative,TN)、错误负样本 (false negative,FN)和错误正样本(false positive,FP),利用混淆矩阵计算P值和R值[22]。对P-R坐标系中每类样本进行积分即可得到AP值,一般AP值越高,模型性能越好;对所有AP值取平均值得到mAP值[23]。考虑到实际检测中检测速度和模型大小也会产生一定影响,本研究不仅把mAP值作为评判指标,也通过计算检测速度和模型大小分析不同网络模块的效果。
2. 结果与分析
以Ghostnet-YOLOv4为例(图5),试验数据集中的果实全部得到识别,根据遮挡程度不同,使用不同颜色坐标框进行标注,从中可以看出:Ghostnet-YOLOv4不仅可以准确识别成熟番茄,还可以实现果实遮挡程度的判别。
由表1可知:3种算法的平均识别率均超过89%,其中Ghostnet算法的识别率高于其他2种;在检测速度上,3种轻量化YOLOv4算法都处于10 ms级,相互之间差异不大,相对而言Ghostnet模块的速度更快;在模型大小上,3种算法的模型为42~54 Mb,Ghostnet-YOLOv4轻量化网络最小,更易移植到采摘机器人中。可见,3种算法都具有较好的表现,基本满足生产实际需要,其中,Ghostnet-YOLOv4的精度、速度和模型大小在3种算法中均为最优。此外,随着遮挡程度的下降,3种算法的识别率呈提高的趋势,但即使对遮挡面积>65%的果实,模型识别率也大于80%,其中Ghostnet方法明显更优,识别率大于93%;对低遮挡度果实,3种算法的识别率均大于94%,Ghostnet识别率更高,但3种算法的差异不明显。
表 1 采用轻量化YOLOv4的番茄果实识别测试结果Table 1. Test results of tomato fruit recognition with lightweight YOLOv4网络模块
network module识别率/% recognition rate 平均识别率/%
mean recognition rate检测速度/s
detection speed模型大小/Mb
model sizetomatos tomatoh tomatom Mobilenetv2 94.52 94.60 82.15 90.42 0.014 46.5 Mobilenetv3 94.64 91.15 84.16 89.98 0.015 53.7 Ghostnet 95.56 94.16 93.50 94.41 0.012 42.5 注:tomatos、tomatoh和tomatom分别表示番茄果实被遮挡面积<35%、35%~65%和>65%。
Note: tomatos, tomatoh, and tomatom represent the datasets with less than 35%, 35%-65%, and more than 65% of the shaded area of tomato fruits, respectively.3. 讨论
3.1 轻量化YOLOv4识别番茄果实的精度
相较于基于几何生态学[3]、密集和稀疏重构的显著性检测方法[5]等,基于轻量化YOLOv4深度学习算法对成熟番茄果实的识别准确率更高。与改进的Hough圆变换算法的精度(86.3%)和速度(0.398 s)[24]相比, 基于Ghostnet模块轻量化YOLOv4的精度和速度都有明显提升。李天华等[25]采用改进的YOLO算法对成熟期番茄进行识别,识别精度为94.77%,检测速度为0.025 s,与本研究相比,其识别率较高,但检测速度较慢。与传统识别仅将成熟番茄果实作为一类相比,本研究对不同遮挡程度成熟番茄果实进行分类,考虑了机器人实际采摘需求,可为机器人决策系统制定不同采摘策略提供理论基础,以提高采摘效率、减少经济损失。
3.2 3种轻量化YOLOv4算法的对比
对不同遮挡程度的果实,采摘机器人识别率都表现出随遮挡程度降低而升高的特点,以Ghostnet为基础的YOLOv4轻量化算法平均识别率均在90%以上,mAP值为94.41%、识别速度为0.012 s、模型大小为42.5 Mb。相较于Mobilenetv2和Mobilenetv3模块,Ghostnet模块在保持识别性能的同时,能够降低通用卷积层计算成本,在移动设备上快速推理各种任务,达到更好的效果,更适用于采摘机器人的实际应用。
3.3 影响遮挡果实识别精确性的因素
遮挡情况下,果实大量表型特征和信息量损失,影响了机器学习的准确度。遮挡待检测目标的叶片、枝干等,其本身形状、纹理、颜色等存在差异,使得遮挡区域面积占比越大检测越困难。与传统算法相比,以Ghostnet为基础的YOLOv4轻量化算法在一定程度上克服了复杂环境变化、光照条件等的影响,具有更好的鲁棒性,该方法对遮挡面积过半的番茄仍保持93%以上的识别率,明显优于其他算法。本研究采用的数据集只是对遮挡程度做了简单的3级定性划分,且没有考虑遮挡位置等因素的影响,今后还需要通过更系统的试验测试方法的精准性和可靠性。
4. 结论
本研究提出了一种基于轻量化YOLOv4的图像识别算法,实现了在不同遮挡程度下对成熟番茄果实的分类和识别,试验证明该算法能够满足实际需求。轻量化YOLOv4算法对于遮挡面积超过65%成熟番茄的识别率稳定超过80%,其中,Ghostnet-YOLOv4对遮挡番茄的识别表现准确性更优,且整体稳定,对遮挡面积达到65%的果实识别率依然超过93%。番茄果实的遮挡程度显著影响其识别率,遮挡面积越大,识别率越低。
-
表 1 采用轻量化YOLOv4的番茄果实识别测试结果
Table 1 Test results of tomato fruit recognition with lightweight YOLOv4
网络模块
network module识别率/% recognition rate 平均识别率/%
mean recognition rate检测速度/s
detection speed模型大小/Mb
model sizetomatos tomatoh tomatom Mobilenetv2 94.52 94.60 82.15 90.42 0.014 46.5 Mobilenetv3 94.64 91.15 84.16 89.98 0.015 53.7 Ghostnet 95.56 94.16 93.50 94.41 0.012 42.5 注:tomatos、tomatoh和tomatom分别表示番茄果实被遮挡面积<35%、35%~65%和>65%。
Note: tomatos, tomatoh, and tomatom represent the datasets with less than 35%, 35%-65%, and more than 65% of the shaded area of tomato fruits, respectively. -
[1] 陈威, 郭书普. 中国农业信息化技术发展现状及存在的问题[J]. 农业工程学报, 2013, 29(22): 196. DOI: 10.39 69/j.issn.1002-6819.2013.22.023. [2] 刘继展. 温室采摘机器人技术研究进展分析[J]. 农业机械学报, 2017, 48(12): 1. DOI: 10.6041/j.issn.1000-12 98.2017.12.001. [3] 孙建桐, 孙意凡, 赵然, 等. 基于几何形态学与迭代随机圆的番茄识别方法[J]. 农业机械学报, 2019, 50(S1): 22. DOI: 10.6041/j.issn.1000-1298.2019.S0.004. [4] 李寒, 张漫, 高宇, 等. 温室绿熟番茄机器视觉检测方法[J]. 农业工程学报, 2017, 33(S1): 328. DOI: 10.11975/ j.issn.1002-6819.2017.z1.049. [5] 马翠花, 张学平, 李育涛, 等. 基于显著性检测与改进Hough变换方法识别未成熟番茄[J]. 农业工程学报, 2016, 32(14): 219. DOI: 10.11975/j.issn.1002-6819.2016. 14.029. [6] 项荣, 段鹏飞. 基于重叠边缘的夜间重叠番茄识别[J]. 华中科技大学学报(自然科学版), 2019, 47(5): 68. DOI: 10.13245/j.hust.190513. [7] ZHAO J S, KECHASOV D, REWALD B, et al. Deep learning in hyperspectral image reconstruction from single RGB images: a case study on tomato quality parameters[J]. Remote Sensing, 2020, 12(19): 3258. DOI: 10.33 90/rs12193258.
[8] 肖英奎, 江力, 李因武, 等. 基于计算机视觉系统的番茄特征提取[J]. 农机化研究, 2022, 44(2): 136. DOI: 10.39 69/j.issn.1003-188X.2022.02.024. [9] 王俊杰, 汪洋堃, 张峰, 等. 基于CNN和SVM的疲劳驾驶闭眼特征实时检测[J]. 计算机系统应用, 2021, 30(6): 118. DOI: 10.15888/j.cnki.csa.007968. [10] ROJO D, HTUN N N, PARRA D, et al. AHMoSe: a knowledge-based visual support system for selecting regression machine learning models[J]. Computers and Electronics in Agriculture, 2021, 187: 106183. DOI: 10.10 16/j.compag.2021.106183.
[11] WANG S J, SUN G L, ZHENG B W, et al. A crop image segmentation and extraction algorithm based on Mask RCNN[J]. Entropy, 2021, 23(9): 1160. DOI: 10.3390/e23091160.
[12] 闫建伟, 赵源, 张乐伟, 等. 改进Faster-RCNN自然环境下识别刺梨果实[J]. 农业工程学报, 2019, 35(18): 143. DOI: 10.11975/j.issn.1002-6819.2019.18.018. [13] VELUMANI K, LOPEZ-LOZANO R, MADEC S, et al. Estimates of maize plant density from UAV RGB images using faster-RCNN detection model: impact of the spatial resolution[J]. Plant Phenomics, 2021, 2021(841): 1. DOI: 10.34133/2021/9824843.
[14] 熊俊涛, 刘振, 汤林越, 等. 自然环境下绿色柑橘视觉检测技术研究[J]. 农业机械学报, 2018, 49(4): 45. DOI: 10.6041/j.issn.1000-1298.2018.04.005. [15] PATHAK A R, PANDEY M, RAUTARAY S. Application of deep learning for object detection[J]. Procedia Computer Science, 2018, 132(6): 1706. DOI: 10.1016/j.procs.2018.05.144.
[16] RAJ R, NAGARAJ S S, RITESH S, et al. Fruit classification comparison based on CNN and YOLO[C]//IOP Conference Series: materials science and engineering, volume 1187. London: IOP Publishing, 2021.
[17] 薛月菊, 黄宁, 涂淑琴, 等. 未成熟芒果的改进YOLOv2识别方法[J]. 农业工程学报, 2018, 34(7): 173. DOI: 10.11975/j.issn.1002-6819.2018.07.022. [18] MATILLA D M, MURCIEGO Á L, JIMÉNEZ-BRAVO D M, et al. Low-cost edge computing devices and novel user interfaces for monitoring pivot irrigation systems based on internet of things and LoRaWAN technologies[J]. Biosystems Engineering, 2022, 223(11): 14. DOI: 10.10 16/j.biosystemseng.2021.07.010.
[19] 王欣, 王美丽, 边党伟. 融合MobileNetv2和注意力机制的轻量级人像分割算法[J]. 计算机工程与应用, 2022, 58(7): 220. DOI: 10.3778/j.issn.1002-8331.2106-0334. [20] 刘通, 程江华, 华宏虎, 等. 结合YdUaVa颜色模型和改进MobileNetV3的视频烟雾检测方法[J]. 国防科技大学学报, 2021, 43(5): 80. DOI: 10.11887/j.cn.202105009. [21] 曹远杰, 高瑜翔. 基于GhostNet残差结构的轻量化饮料识别网络[J]. 计算机工程, 2022, 48(3): 310. DOI: 10.19678/j.issn.1000-3428.0059966. [22] JAGTAP S T, PHASINAM K, KASSANUK T, et al. Towards application of various machine learning techniques in agriculture[J]. MaterialsToday: Proceedings, 2022, 51(1): 793. DOI: 10.1016/j.matpr.2021.06.236.
[23] ABADE A, FERREIRA P A, DE BAEEOS V F. Plant diseases recognition on images using convolutional neural networks: a systematic review[J]. Computers and Electronics in Agriculture, 2021, 185: 106125. DOI: 10.1016/j.compag.2021.106125.
[24] 冯俊惠, 李志伟, 戎有丽, 等. 基于改进Hough圆变换算法的成熟番茄果实识别[J]. 中国农机化学报, 2021, 42(4): 190. DOI: 10.13733/j.jcam.issn.2095-5553.2021.04. 27. [25] 李天华, 孙萌, 丁小明, 等. 基于YOLOv4+HSV的成熟期番茄识别方法[J]. 农业工程学报, 2021, 37(21): 183. DOI: 10.11975/j.issn.1002-6819.2021.21.021.