基于改进Faster R-CNN与迁移学习的农田杂草识别算法*

2022-09-21 06:07:48尚文卿齐红波
中国农机化学报 2022年10期
关键词:候选框农田杂草

尚文卿,齐红波

(石家庄工程职业学院信息工程系,石家庄市,050024)

0 引言

杂草根除是农业生产过程中重要的业务之一,田间杂草作为病虫害的栖息地,具有极强的生命力,通过不受控制的生长与农作物竞争光、肥和水等资源,给农作物的产量和质量造成严重的影响[1]。据第三届除草剂发展与推广应用交流会指出,全世界一年因杂草危害导致减产的粮食损失达年产量的13%,约10亿人一年的口粮[2]。传统通过大面积的除草剂喷洒虽然可以较好地实现田间杂草的根除,但是该类杂草根除手段不仅带来环境的污染和农业成本的增加,同时对食品的安全也存在潜在的威胁。因此,如何利用绿色手段提高杂草的识别精度和识别效率,及时根除农田杂草,对于保证农作物产量和质量具有重要的意义。

传统目标检测主要利用计算机视觉的各种技术提取待检测图像特征,并借助标准物与待检测图像的纹理、色彩和形状等方面的差异性进行分类识别。如文献[3]针对不同光照条件下杂草识别特征信息容易缺失的问题,提出了一种基于深度卷积神经网络的杂草识别方法,通过在卷积神经网络基础上构建Inception V3分类器,根据比对待检测物体与标准对照物之间的差异性,给出识别结果。文献[4]针对手工特征提取单一的问题,提出了一种空洞卷积结合全局池化的卷积神经网络识别作物幼苗与杂草算法,该算法通过设置不同的膨胀系数来完成12种杂草的识别。该类杂草识别方法虽简单直接,在农田小目标杂草物种检测中占据一定优势,但大多依赖手工提取特征,识别种类较少。

近年来,随着深度学习和图像数据增强技术在目标检测中的广泛应用,利用计算机视觉和图像处理技术的结合已成为当前农田杂草检测和识别的主流方法。如文献[5]提出了一种基于Faster R-CNN的棉花苗期杂草识别与定位方法,通过在不同田间场景下测试表明,模型具有一定的适应性。文献[6]提出了一种改进VGG模型的杂草识别算法,通过利用深度可分离卷积代替标准卷积构造识别算法,以减少参数运算量降低时间开销,同时引入多通道注意力机制和多维度注意力机制的并行机制,提升模型的识别精度。该类方法虽能够较好地适应当前多品种杂草的精准检测,但模型检测精度的提升需大量数据样本的训练,时间开销较大,此外,对于小样本新品种杂草识别精度不佳。因此,本文提出一种改进Faster R-CNN与迁移学习的农田杂草识别算法,推进深度学习在农业生产中的应用。

1 试验数据采集与处理

1.1 图像采集

本文主要以晴天、雨天和阴天等不同天气不同时间段(05:00~09:00、13:00~16:00、18:00~21:00)下北方4月至7月的旱田农作物中危害最高的多类杂草为识别对象,总共拍摄16 995张杂草图片,详细数据如表1所示。所采集图像多为农作物与杂草交叉生长图片,均为未做任何处理的原始图像,所采集的部分图像如图1所示。采集设备采用带可旋转固定支架的佳能EOS 850D单反数码相机拍摄,图像分辨率为3 968像素×2 976像素,格式为JPEG。

表1 不同环境和时间段下的样本信息Tab. 1 Sample information in different environment and periods

(a) 看麦娘与农作物交叉生长

(b) 菟丝子与农作物交叉生长

1.2 数据增强

深度神经网络的高识别性能依赖于大量训练样本,通过手动获取杂草图像样本数量有限,为了进一步扩充样本集,强化杂草识别模型的泛化性能和鲁棒性,提取更具有强分类能力的特征,采用旋转、放缩、裁剪、滤镜和亮度变换等方式进行图像样本扩充。经过杂草图像样本扩充后,样本由16 995张扩充至58 168张,并将其按照7∶3划分为训练集和验证集,并采用标签标注工具LabelImg进行标注。以看麦娘与农作物交叉生长的图片为例,展示扩充后的图像,如图2所示。

(a) 原始图像 (b) 旋转180°

(c) 部分裁剪 (d) 旋转90°

(e) 亮度增强 (f) 滤镜

2 改进Faster R-CNN杂草识别模型的迁移学习

2.1 Faster R-CNN模型结构

图3给出了Faster R-CNN的网络结构,主要包括共享卷积层模块、区域建议网络(Region Proposal Network,RPN)和Fast R-CNN检测器。其中,共享卷积层模块用于特征提取;RPN网络通过借助锚(Anchor)识别可能包含对象的多种长宽比的感兴趣区域(Region Of Interest,ROI);Fast R-CNN检测器包含ROI Pooling、Softmax分类器和边界框回归单元(Bbox Regression)[7-8],通过对提取的感兴趣区域进行分类并细化映射对象的边界框。

图3 Faster R-CNN模型结构

即利用Faster R-CNN识别农田中杂草的过程包含以下三个步骤:首先对输入杂草图像经过共享卷积层提取目标特征图,并作为RPN网络和ROI的输入;然后,将图像特征和感兴趣区域作为ROI池化层的输入提取特征;最后利用Softmax分类器判断特征图是前景还是背景区,实现目标杂草的识别,同时利用边界框回归单元修正目标框,获得目标物的精确定位。

2.2 自适应锚框的设计

Faster R-CNN利用区域建议网络RPN实现端到端的训练,当目标图像送入至RPN后,由3×3的卷积核生成一个n维长的特征向量,并将其作为分类层和回归层的输入,通过不断优化锚点边界框的中心坐标和尺寸,拟合目标候选框,本文利用文献[9]中改进的双阈值非极大抑制算法(Non-Maximum Suppression,NMS)查找置信度较高的边界框,即首先在目标物候选框中遍历得分最高的边界框,并将其作为最终候选边界框;然后,所有候选框与得分最高的边界框进行交并运算,取双阈值对应范围内的边界框作为最终的候选框。双阈值NMS算法确定边界框流程如图4所示。

图4 双阈值NMS算法

图4中,Q={q1,q2,…,qn}表示目标物候选框集合,C={c1,c2,…,cn}表示候选框对应的置信度分数,D表示最终边界框集合,a1和a2表示双阈值,S表示置信度分数最高的检测框。

在区域建议生成之前,需首先确定图像的最佳锚尺寸,区域建议网络常以16像素的步幅评估目标图像每个位置的无重复边界框,其大小尺寸由目标物体的比例大小和纵横比大小共同确定。由于农田中杂草种类繁多、形态不一,为了更精确地识别出杂草目标物,本文利用文献[10]和文献[11]中的方法确定锚的最佳尺度为1∶1和1∶2。虽然网络输入图像的大小为500像素×375像素,但网络在最短时间内通过自适应调节输入图像的最短侧大小为400像素。因此,本文设定最短边为400像素,锚框的设计如图5所示。

图5 自适应锚框空间结构

2.3 杂草识别模型的迁移学习

分别选择AlexNet、GoogleNet、VGG16和ResNet50等预训练好的卷积神经网络作为区域建议网络RPN进行迁移学习与训练。在Faster R-CNN模型获取输入图像的底层特征时,将预训练好的模型参数迁移至农田杂草识别任务中,使得模型在识别多样本杂草物种的同时能够适应小样本新生杂草物种的识别精度,提升模型的泛化性能。杂草识别模型的迁移学习流程如图6所示。

图6 杂草识别模型的迁移学习流程

3 试验与结果分析

3.1 试验环境与训练过程

试验运行环境为内存128 G的ubuntu18.04,显卡显存为32 G的NVIDIA Tesla T4 GPU;采用支持GPU加速的PyTorch深度学习框架,cuda环境为NVIDIA CUDA 11.3及cuDNN V8.2.1的深度学习加速库。

利用识别准确率为评价指标,采用联合参数调试方法确定本文双阈值a1和a2,本文a1和a2分别取值0.30和0.85。双阈值与精确率关系如表2所示。

表2 不同双阈值的识别精确率对比Tab. 2 Comparison of identification precision of different double dual-threshold thresholds %

试验中采用随机梯度下降算法SGD(Stochastic Gradient Ddescent)对网络进行训练,初始化学习率为0.01,学习衰减率为0.001,迭代最大周期为3×104,模型训练损失曲线如图7所示。动量因子设置为0.9,此外,为解决模型过拟合问题,引入Dropout随机删除部分神经元,本文Dropout取值0.5。

由图7可知,本文改进的Faster R-CNN模型经过训练13 000次后损失值逐渐趋于平稳,损失值低于0.04,收敛能力明显较原始Faster R-CNN强,验证了本文基于改进Faster R-CNN与迁移学习的农田杂草识别算法的有效性。

图7 Loss曲线

3.2 评价指标

采用精确率Precision、召回率Recall和F1-score为评价指标,具体计算如式(1)~式(3)所示。

(1)

(2)

(3)

式中:Tp——被正确识别的杂草样本总数;

Fp——错误识别的杂草样本总数;

Fn——未识别出的杂草样本总数。

3.3 结果分析

1) 验证改进Faster R-CNN的有效性。为验证本文改进后的Faster R-CNN模型对农田杂草识别的有效性,在相同的试验平台和测试数据集上进行验证。对比结果表3所示。

由表3可知,通过更改锚点尺寸设计自适应锚框后,改进后的Faster R-CNN模型在精度、召回率和F1总体性能评价指标上分别提高了4.59%、3.76%和2.71%,但在识别时间开销上增加了16.57 ms,究其原因是锚点对应的候选框数量增加使得运算量增加,此外自适应锚框设计中采用的双阈值算法在候选框筛选中比单一阈值的NMS算法复杂,使得模型时间开销有所增加,但增加不多,仍然可以满足实际应用中对于实时性的需求。

2) 验证复杂场景下模型对于杂草识别的有效性。图8给出了本文模型对于部分晴天、雨天和阴天等多场景下不同时间段(05:00~09:00、13:00~16:00、18:00~21:00)单一物种的识别性能。图9给出了本模型对于不同场景下杂草与农作物交叉生长的识别结果。

从图8识别结果可以看出,在晴天光照较好的条件下,模型可以取得较好的识别效果;在光照暗淡的阴雨天虽识别精度有所下降,但仍然可以达到平均93.6%以上的识别精度。从图9可以看出,单一生长环境下,杂草识别精度平均高达96.01%;杂草与农作物交叉生长环境下,杂草识别精度虽有所下降,但最低也可达到91.36%的识别精度。上述不同角度、不同场景和不同时间段下,本文模型都可以保持较高的识别精度,验证了模型对于农田杂草识别的有效性。

表3 识别结果对比Tab. 3 Identification and comparison results

3) 同类相关工作对比。为了进一步说明本文模型识别性能优于当前主流的杂草识别模型,在相同的试验平台和测试数据集上分别构造YOLOV3[12]、Inception V3[3]、ResNet50[13]、VGG16[6]、DCNN[14]和模型并进行对比试验,不同模型识别结果如图10和表4所示。

(a) 晴天(05:00~09:00) (b) 雨天(18:00~21:00) (c) 阴天(13:00~16:00)

(a) 晴天(05:00~09:00) (b) 雨天(18:00~21:00) (c) 阴天(13:00~16:00)

(a) YOLOV3 (b) Inception V3 (c) ResNet50

(c) VGG16 (d) DCNN (e) Improved Fasted R-CNN

表4 不同方法结果对比Tab. 4 Comparison results of different methods

由表4和图10中可知,本文改进的Faster R-CNN模型优势显然,主要通过采用双阈值设计自适应锚框,增加候选框数量,提高识别精度。此外,候选框的增多对于该类杂草与农作物交叉生长场景下的目标识别具有积极作用。

4 结论

1) 针对农田中杂草识别精度低和识别范围局限的问题,提出了一种改进Faster R-CNN的农田杂草识别算法。通过设计自适应锚框增加候选框的数量来提高检测精度;此外,迁移训练好的AlexNet、GoogleNet、VGG16和ResNet50等模型参数至本文杂草识别模型的区域建议网络中,并在通过旋转、滤镜、放缩和裁剪等方式扩充的数据集上进行训练与测试验证,通过与当前主流杂草识别模型进行对比试验,验证了本文模型对于农田杂草识别的高效性。

2) 改进后的Faster R-CNN模型在精度、召回率和F1总体性能评价指标上相比原始Faster R-CNN模型分别提高了4.59%、3.76%和2.71%。在农田荒地治理、杂草根除和农业机械化管理等任务中具有较高的应用价值。

3) 改进后的Faster R-CNN模型平均处理时间为312.88 ms,速度满足实际应用需求,在接下来的研究中可进一步优化模型,降低训练时间开销。

猜你喜欢
候选框农田杂草
重定位非极大值抑制算法
拔杂草
科教新报(2022年22期)2022-07-02 12:34:28
达尔顿老伯的农田
面向自然场景文本检测的改进NMS算法
基于Soft-NMS的候选框去冗余加速器设计*
一种针对特定目标的提议算法
农田创意秀
发明与创新(2017年3期)2017-01-18 05:14:04
农田搞养殖需办哪些证
农田制作所
水稻田几种难防杂草的防治
现代农业(2015年5期)2015-02-28 18:40:49