基于改进的YOLOv3农作物目标检测算法

2024-04-29 05:01郭蓓,王贝贝,张志红,吴苏,李鹏,胡莉婷
农业大数据学报 2024年1期
关键词:目标检测

郭蓓,王贝贝,张志红,吴苏,李鹏,胡莉婷

摘要:农作物图像在进行目标检测时,由于作物种植较密集、成像质量不佳等原因严重影响目标检测算法的检测精度。针对存在的问题,提出一种基于YOLOv3的改进算法优化在农作物目标检测的检测性能:对YOLOv3的主干特征提取网络进行优化,利用原网络中输出的4倍降采样特征图对目标进行检测,并且在算法原网络残差块的基础上增加残差单元,以检测目标较小的农作物位置信息;提出高斯衰减函数,对图像中高度重叠的农作物候选框的衰减较强,在有效抑制冗余框的同时也可以有效地降低漏检率;对回归损失函数进行优化改进,用CIOU Loss作为损失函數,使得目标检测过程中最终的目标定位更加精确。将改进的 YOLOv3算法和原 YOLOv3 算法、Faster R-CNN 算法在实拍的玉米作物图像数据集上进行对比实验,结果表明改进后的YOLOv3算法能有效检测农作物小目标,算法检测的平均准确率均值和检测速度都有明显的提升。

关键词:目标检测;YOLOv3算法;特征提取网络;损失函数

1  引言

物候观测是对生态物候现象按统一的标准进行观察和记载,是生态气象业务和科研的基础,更是气候多圈层生态气象业务观测体系的重要组成部分。随着我国现代化智慧农业的普及,智能化设备监测田间作物逐渐替代人工观测,物候自动观测仪包含了采集器、传感器和通信单元等设备,保证物候观测的准确性与高效性。

随着物联网和人工智能等技术的发展,植被生态的观测方法正在发生变革,计算机视觉技术逐渐被应用到植被物候观测中。计算机视觉不仅是工程研究领域更是计算机科学中具有重大意义和挑战性的研究领域,目标检测作为其主要的研究方向逐渐成为当下的热门研究内容。目标检测的主要任务是在图像中找到符合要求的目标信息,并标记目标所属类别,分析所处的位置信息[1]。农作物目标检测是基于目标检测的方法对图中的农作物进行目标识别检测,输出作物类别,能更好地观察作物生长状况是否良好,及时监测田间杂草的生长信息,为农事活动提供判断依据,保障作物生长状况持续向好。利用算法判断相应类别数量,是后期统计作物生长情况、种植密度和产量信息的重要依据,为国家粮食安全保驾护航。

目前比较热门的目标检测算法大多是基于深度学习构建识别模型,自动提取目标识别过程中的特征信息,具有强大的鲁棒性和泛化能力,算法根据识别阶段主要分为两大类:two-stage与one-stage目标检测算法。two-stage目标检测算法检测速度较慢一些,但检测精确度很高,而one-stage目标检测算法的检测时间会显著提升,对于实时检测有更好的适用性,但检测精度较低[2],常见的算法有SSD、YOLO、RetinaNet、RefineDet、YOLOv3等。

于博文等提出改变网络结构利用可形变卷积优化的残差单元结构加入到特征提取网路,提高检测目标的效率和精确度[3]。陈禹蒲等提出将深度学习骨干网络拆分为两个子网络分支,通过降低子网络的层数和通道数以降低网络结构的总参数量。提高网络结构的特征提取能力[4]。王潇等提出通过降低重叠部分较大的目标框的置信度引入了Soft-NMS,提高目标二次检测可能,增强网络的召回率[5]。王阳等提出利用WIoU损失函数优化回归损失,通过恰当的梯度分配方式,提高网络结构的精确度[6];申志超对卷积核与感受野的定量关系进行分析,设计了基于三级可控感受野结构和特征图降采样结构的农作物检测网络,实现了卷积层拓扑结构的改进,提高了模型的检测性能[7];张颖超引入DropBlock正则化技术,降低模型的内存需求,使用PANet对特征信息去除噪声,定位特征网络像素点,能更快更准确地完成农作物叶片病虫害检测[8];金沙沙将NAM注意力机制加入到YOLOv5s主干网络上,并参考Bi FPN的思想修改YOLOv5s的颈部网络,提高YOLOv5s的特征融合能力,大大提高农作物种子检测性能[9]。

在自然条件下,农作物图像在采集过程中光照、抖动、遮挡等外界因素会造成成像质量不佳,图像在分辨率、特征信息等有一定的差异,严重干扰目标检测算法的定位精度,导致产生较高的漏检率,上述研究算法在农作物识别检测效果不尽理想,因此本文基于one-stage目标检测YOLOv3算法,提出改进的YOLOv3农作物目标检测算法。它通过优化调整主干特征提取网络、调整NMS重叠框置信度、引入新的损失函数以及有效的数据处理与训练方法,实现了在不影响实时性能的前提下,大幅提高农作物目标检测的平均精度和检测速度。

2  基于改进的YOLOv3目标检测算法

2.1  加强特征提取网络

YOLOv3算法主干网络结构为Dark Net53,包含53个卷积网络层,算法利用残差网络建立了5个残差块,通过残差块的累积,实现网络深度的增加。YOLOv3网络对小目标检测时,采用的是8倍降采样输出特征图,而对处于早期生长期的农作物目标一般像素比较小,直接影响目标识别模型对于小目标作物的检测精度,目标检测层为8倍降采样特征图对目标较小的农作物位置信息的检测能力是有一定局限性的,为了加强对于小目标农作物的检测精度,获取更多的小作物目标位置信息,将原算法网络模型输出的8倍降采样特征图经过2倍上采样后与Darknet 53中第2个残差块输出的4倍降采样特征图进行连接,建立输出为4倍降采样的特征融合目标检测层,以更好地检测小目标农作物信息[10]。同时,原网络的第2个残差块中增加2个残差单元以获取更丰富的低层小目标作物的位置信息,改进的YOLOv3网络结构如图1所示。

2.2  调整NMS重叠框置信度

农作物实际种植过程中易出现作物生长过密,作物之间生长间距过小的情况,作物进行目标检测时,会因为候选框重叠度较大进而影响一部分作物识别的置信度,造成误检,影响识别精确度。因此本论文对重叠框置信度的规则作出调整。

标准的NMS的抑制函数如下所示,IOU超过阈值的检测框的得分直接设置为0。

(1)

本文提出高斯惩罚函数,具体公式如下:

(2)

高斯衰减函数对没有重叠的检测框的原有检测分数的衰减相对较弱,同时对高度重叠的候选框的衰减较强,与农作物检测对于重叠框衰减函数的需求一致,在实验中,动态阈值的设计导致阈值中断,对检测结果造成影响的概率很低,检测精度几乎不受影响,这样可以避免阈值设置大小的问题。所以高斯衰减函数可以作为重叠框调整函数来使用[11]。

2.3  损失函数

YOLOv3的损失函数主要包含三部分:置信度损失、分类损失和回归损失,其中置信度损失和分类损失上采用的是交叉熵损失,回归损失使用误差平方和的方式,最后对三个损失求和[12],损失函数公式如下:

(3)

其中:

S2表示特征图大小

B表示该网格对应的预测框个数

表示置信度概率预测

表示类别概率预测

λcoord表示回归损失权重

λnobj表示不包含目标的置信度损失权重

本文算法主要针对回归损失函数进行优化改进,用CIOU Loss作为损失函数,更有效实现了预测框与真值框之间的损失计算,使得目标检测过程中最终的目标定位更加精确。

在目标检测过程中,一般将bounding box表示交并比IoU(Interest over Union),IoU主要指的是预测边界框与真实边界框的交集与并集的比值。計算公式为如下所示:

(4)

IoU值相同的情况下,真实框与预测框的重合度情况差别很大。因此本文将CIOU作为损失函数,考虑到提高目标框回归的稳定性,将目标框与预测框的距离,重叠率以及尺度都包含在内,避免IOU在迭代训练过程中发散,其收敛精度更高[13],表达式为:

(5)

其中:

b和bgt表示预测框中心点与目标框中心点

ρ2(b,bgt)表示欧式距离

c表示预测框与目标框的最小外接矩形的对角线长度。

3  实验及分析

3.1  数据集

本文基于YOLOv3的改进算法主要用于玉米的密度检测,目前的高标准现代化农业建设过程中,利用观测设备观测到的作物图像进行农作物目标检测,检测出作物种植类别,并能给出当前范围该作物的植株数目,对于估算作物密度情况有重要借鉴意义,并对后续的农事活动(补苗、间苗、施肥)等具有重要参考价值,是发展智慧农业的主要研究方向。

物候自动观测仪主要由传感器、采集器、通信单元等部分组成,系统框图如图2所示,本论文利用自动观测设备单反相机拍摄的玉米实景图片作为分析对象,通过4G无线网络将拍摄图像数据上传到云平台,当图片满足处理要求时,进入识别模块,通过相应的识别算法对图片进行处理获取我们所需要的特征参数。

玉米图像拍摄站点位于北京延庆物候植被观测站,拍摄2023年6月1日至2023年7月15日玉米的生长期图像,玉米的发育期生长状态包括出苗期、三叶期、七叶期,玉米数据集共包含1200张图像,图像格式为JPG格式,像素大小为2992×2000,平均每张图像上有120个目标,利用 LabelImg 软件人工标定标签,生成 xml 格式文件记录所有目标的位置、大小和类别信息。将数据按7:2:1 随机分为训练集、验证集、测试集。模型开始训练时,输入图像大小调整为 416×416,依据PASCAL VOC 数据集格式标准,对图像标注信息的边界框宽、高和中心点坐标进行归一化处理,以减少异常样本对数据的影响。

3.2  网络训练

实验使用的硬件配置为Inter(R) Core i7-9700K CPU,NVIDIA Geforce RTX 2080 Ti显卡,Windows 10 企业版操作系统,软件环境是基于 Anaconda平台搭建TensorFlow-GPU环境,版本号为TensorFlow-GPU 2.1.0,CUDA 10.1,Cudnn 7.4,通过 Python 语言编程实现搭建和复现实验中的所有网络模型。

基于人工标记的玉米数据集,分别用Faster R-CNN算法、YOLOv3算法和改进的YOLOv3算法进行模型训练,算法模型训练过程中初始学习率为0.001,衰减系数为0.005,模型训练迭代次数为10000次。三种算法的网络训练曲线如图3、图4、图5所示。

算法训练曲线包含训练精度曲线和训练损失曲线,由模型训练曲线图可知,改进的YOLOv3算法模型大约经过7000次迭代后,各参数输出逐渐趋于稳定,训练精度达到0.92,明显高于YOLOv3算法和Faster R-CNN算法的训练精度;模型的训练损失为0.2,较YOLOv3算法和Faster R-CNN算法的训练损失明显降低。经验证对比实验分析,改进的YOLOv3算法对于玉米数据集的训练模型有明显的提升,效果优于YOLOv3算法和Faster R-CNN算法。

3.3  训练结果定量评估

3.3.1  改进算法性能测试

本文改进的YOLOv3算法主要从三个方面的改进

优化,基于不同方式的算法优化在测试集上的目标检测性能如表1所示,相比于原YOLOv3算法,表 中 Algorithm-1 模块调整NMS重叠框置信度,mAP(平均准确度均值,Mean Average Precision)提升 3.2%,单张图检测耗时降低 0.03 s;Algorithm-2模块加强特征提取网络,mAP提升 2.3%,单张图检测耗时减少 0.05s;Algorithm-3模块优化损失函数, mAP提升 4.1%,单张图检测耗时增加 0.03 s。由表1网络模型目标检测性能分析可知,不同方式的算法模型优化方式都会提高目标检测模型性能,并且这些增益是互补的,将三种模式结合在一起能使网络检测性能进一步提升。

3.3.2  算法对比实验分析

本文改进算法主要是对置信度、特征提取网络、损失函数三个方面做出优化改进,改进后的YOLOv3算法对比原算法网络模型在测试集上的目标检测性能测试如表2所示。改进后的算法对比其他算法网络模型对玉米作物植株检测结果输出图像如图6所示。

基于改进的YOLOv3网络的玉米识别模型对玉米图像检测的平均准确度均值(mAP)为91.2%,单张图像检测时间为0.22 s,较Faster R-CNN算法网络模型和原YOLOv3算法网络模型,mAP值分别提高了11%和8.8%,改进的YOLOv3检测速度比Faster R-CNN算法模型快0.08 s,比YOLOv3网络模型快0.03 s,改进网络模型的检测精度和检测速度明显提升。另外,改进后的YOLOv3网络模型检测输出图像中,检测框的位置偏差更小,优于原网络模型。

从图6可以看出,Faster R-CNN网络模型和原YOLOv3网络模型对图像中的小目标植株存在漏检情况,对图像中的其他农作物存在错检情况,不能完全检测出图像中的玉米植株,而改进的YOLOv3网络模型可以有效地检测出场景中的小目标信息,检测的准确性较高,并且有效避免错检情况发生,保证田间作物目标检测与识别。

4  结论

为了有效地检测农作物小目标,以实时监测田间作物生长状态是否良好为目的,本文提出的改进YOLOv3检测算法用于农作物目标检测,对YOLOv3的主干特征提取网络进行优化;采用高斯衰减函数调整NMS重叠框置信度;对回归损失函数进行优化改进,用CIOU Loss作为损失函数,使得目标检测过程中最终的目标定位更加精确。将改进的 YOLOv3算法与Faster R-CNN算法、原 YOLOv3 算法在实拍的玉米作物拍摄数据集上进行对比实验,改进的YOLOv3网络的玉米识别模型对玉米图像检测的mAP值为91.2%,较Faster R-CNN算法网络模型和原YOLOv3算法网络模型,mAP值分别提高了11%和8.8%,结果表明改进后改进的YOLOv3网络算法检测的平均准确率均值和检测速度都有较大的提升,改进模型的检测性能明显提高,对于小目标作物的生长检测有较好的应用效果,能顺利保证田间物候自动观测仪的识别效果,为农事活动提供判断依据,保障作物生长状况持续向好。但是该优化算法检测精度的提升在一定程度上抑制了图像的检测速度,在实际田间大规模图像进行目标检测时,会影响设备的整体监测速度,后续研究工作将致力于对网络模型结构与参数进行优化,通过降低参数达到提高模型检测速度的目的。

参考文献

[1] 耿创,宋品德,曹立佳.YOLO算法在目标检测中的研究进展[J].兵器装备工程学报,2022,43(9):162-173.

[2] 李维刚,杨潮,蒋林,等.基于改进YOLOv4算法的室内场景目标检测[J].激光与光电子学进展,2022,59(18):251-260.

[3] 于博文,吕明.改进的YOLOv3算法及其在军事目标检测中的应用[J].兵工学报,2022,43(2):345-354.

[4] 陈禹蒲,马晓川,李璇.基于YOLOv3锚框优化的侧扫声呐图像目标检测[J].信号处理,2022,38(11):2359-2371.

[5] 王潇,李子琦,高涛,等.基于无损跨尺度特征融合的交通目标检测算法[J].中国公路学报,2023,36(9):315-325.

[6] 王阳,袁国武,瞿睿,等.基于改进YOLOv3的机场停机坪目标检测方法[J].郑州大学学报(理学版),2022,54(5):22-28.

[7] 申志超.基于YOLO的颗粒状农作物检测算法研究[D].哈尔滨:哈尔滨工业大学,2022.

[8] 张颖超.基于深度学习的农作物叶片病害检测识别方法及其应用研究[D].石家庄:河北科技大学,2022.

[9] 金沙沙.图像分割与目标检测在农业场景中的应用研究[D].浙江湖州:湖州师范学院,2022.

[10] 贾世娜.基于改进YOLOv5的小目标检测算法研究[D].南昌:南昌大学,2022.

[11] 潘昕晖,邵清,卢军国.基于CBD-YOLOv3的小目标检测算法[J].小型微型计算机系统,2022,43(10):2143-2149.

[12] 鞠默然,罗海波,王仲博,等.改进的YOLO V3算法及其在小目标检测中的应用[J].光学学报,2019,39(7):253-260.

[13] 阮激扬. 基于YOLO的目标检测算法设计与实现[D].北京:北京邮电大学,2019.

[14] 潘语豪,危疆树,曾令鹏.基于YOLOv3的农田鸟类目标检测算法[J].激光与光电子学进展,2022,59(2):510-518.

[15] 王杨,曹铁勇,杨吉斌,等.基于YOLO v5算法的迷彩伪装目标检测技术研究[J].计算机科学,2021,48(10):226-232.

[16] 王佩. 基于特征融合与信息增强的目标检测算法研究[D].江西赣州:江西理工大学,2022.

[17] 王英立,史肖波.一种基于多尺度yolo算法的車辆目标识别方法:CN202210806937.2[P].CN202210806937.2[2023-07-06].

[18] 孙景兰, 张志红, 余卫东,等. 中国农业气象观测自动化技术研究进展[J]. 气象科技进展, 2022, 12 (4): 7-13.

[19] 王少博,张成,苏迪,等.基于改进YOLOv3和核相关滤波算法的旋转弹目标探测算法[J].兵工学报,2022,43(5):1032-1045.

[20] 杨富强,余波,赵嘉彬,等.基于改进YOLOv3的桥梁底部裂缝目标检测方法[J].中国科技论文,2022,17(3):252-259.

[21] Lin T Y , Goyal P , Girshick R , et al. Focal loss for dense object detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, PP(99):2999-3007. https://doi.org/10.48550/arXiv. 1708.02002.

[22] Law H, Deng J. Cornernet: Detecting objects as paired keypoints[C]// European Conference on Computer Vision. Springer, Cham, 2018. https://doi.org/10.1007/s11263-019-01204-1

[23] Tian Z, Shen C, Chen H, et al. FCOS: Fully convolutional one-stage object detection[C]// CVF International Conference on Computer Vision (ICCV). IEEE, 2019. https://doi.org/10.1109/ICCV.2019. 00972.

[24] Cai Z, Vasconcelos N. Cascade R-CNN: Delving into high quality object detection[C]// Computer Vision and Pattern Recognition (cs.CV), IEEE, 2017. https://doi.org/10.48550/arXiv.1712.00726.

[25] Pang J, Chen K, Shi J, et al. Libra R-CNN: Towards balanced learning for object detection[C]// CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2020. https://doi.org/10.48550/ arXiv.1904.02701.

[26] Lu X, Li B, Yue Y, et al. Grid R-CNN[C]// CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2019. DOI: 10.1109/CVPR.2019.00754.

[27] Redmon J, Divvala S, Girshick R, et al. You Only Look Once: Unified, Real-Time Object Detection[C]// Conference on Computer Vision and Pattern Recognition (CVPR), IEEE, 2019. https://doi.org/10.1109/ CVPR.2016.91.

[28] Redmon J, Farhadi A. YOLO9000: Better, Faster, Stronger[C]// Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2017:6517-6525. https://doi.org/ 10.1109/CVPR.2017.690.

引用格式:郭蓓,王貝贝,张志红,吴苏,李鹏,胡莉婷.基于改进的YOLOv3农作物目标检测算法[J].农业大数据学报,2024,6(1): 40-47. DOI:10.19788/j. issn.2096-6369.000006.

CITATION: GUO Bei, WANG BeiBei, ZHANG ZhiHong, WU Su, LI Peng, HU LiTing. Improved YOLOv3 Crop Target Detection Algorithm[J]. Journal of Agricultural Big Data, 2024,6(1): 40-47. DOI: 10.19788/j.issn.2096-6369.000006.

Improved YOLOv3 Crop Target Detection Algorithm

GUO Bei1,2*, WANG BeiBei2, ZHANG ZhiHong1, WU Su2, LI Peng2, HU LiTing1

1. CMA·Henan Key Open Laboratory of Agrometeorological Support and Application Technology, Zhengzhou 450003, China;       2. Henan Zhongyuan Photolectric Meassurement and Control Technology Co.,LTD, Zhengzhou 450047, China

Abstract: When detecting targets in crop images, the detection accuracy of target detection algorithms can be seriously affected due to factors such as dense crop planting and poor imaging quality. In order to optimize the detection performance of crop object detection in YOLOv3, an improved algorithm based on YOLOv3 is proposed. Firstly, the backbone feature extraction network of YOLOv3 is optimized by utilizing the downsampling feature maps outputted by the original network to detect targets, and residual units are added on the basis of the residual blocks in the original network to detect the position information of small crop objects. Moreover, a Gaussian decay function is introduced to attenuate highly overlapping crop candidate boxes in the image, effectively suppressing redundant boxes and reducing false negative rate. Furthermore, the regression loss function is optimized by using CIOU Loss, making the final object localization more accurate during the object detection process. To evaluate the improved YOLOv3 algorithm, a comparative experiment is conducted on a real-world dataset of maize crop images, comparing it with the original YOLOv3 algorithm and the Faster R-CNN algorithm. The results demonstrate that the improved YOLOv3 algorithm can effectively detect small crop targets, exhibiting significantly improved mean average precision and detection speed.

Keywords: target detection;YOLOv3 algorithm; feature extraction network; loss function

猜你喜欢
目标检测
多视角目标检测与跟踪技术的研究与实现
视频中目标检测算法研究
行为识别中的人体运动目标检测方法
移动机器人图像目标识别
基于视频监控的运动图像检测算法研究
基于背景建模法的运动目标检测
基于P3电位的目标检测研究
智能视频技术在电力系统领域的应用
相关K分布杂波中扩展目标积累检测性能分析
基于连通域标记的目标检测算法设计与实现