改进Retina-Net的草坪杂草目标检测*

2022-12-02 06:03宋建熙李兴科于哲李西兵
中国农机化学报 2022年12期
关键词:杂草卷积模块

宋建熙,李兴科,于哲,李西兵

(福建农林大学机电工程学院,福州市,350002)

0 引言

伴随着我国城市化进程的加速,绿地草坪对景观和生态环境的作用贡献,得到了广大市民朋友的认可,但是草坪杂草的肆意生长严重破坏草坪整齐美观的外貌。现阶段除杂草方法主要为人工持械除草和化学除草。在人工除草中,人力成本日益攀升,除草支出逐渐加高,同时在搜寻杂草过程中,人为践踏会对草坪造成二次损伤。化学除草成本较低,但化学药剂存在土壤污染,破坏生态环境的风险[1]。因此区分草坪杂草与观赏草种,有助于定位杂草生长位置,指引除草工人快速到达杂草生长区域进行除草,并根据不同杂草的生物学特性,喷洒对应除草剂[2]。

在计算机视觉的分支学科深度学习中,已有多种神经网络框架用于检测田间杂草目标。樊湘鹏等[3]将Faster R-CNN目标检测模型与VGG16特征提取结构[4]、Dropout优化算法相结合,针对单一杂草识别精度达86.67%。但美中不足的是,Dropout算法虽避免模型过拟合,但自身筛选机制易导致关键特征遗失,损失识别精确度。

逯杉婷[5]在FasterR-CNN模型的池化层上增加GAN噪声层。此举优化数据特征,增强网络鲁棒性。但其优化模型存在部分小目标杂草漏检的局限性。

权龙泽等[6]在Mask R-CNN模型中,用Soft-NMS算法替代非极大值抑制法,并将RoI Pooling替换为RoIAlign算法。使改进后的模型拥有出色的鲁棒性,完成杂草分割、识别叶龄等任务。但该模型较为复杂,易因过拟合造成杂草部分重要特征被忽略、权重配置为零等问题。

Retina-Net模型作为一阶目标检测算法,目标检测的精确度首次超越同时代的二阶目标检测算法。在COCO数据集上的平均查准率为39.1%,远高于同时期其他一阶目标检测网络,小幅度领先二阶目标检测网络[7]。Retina-Net模型自提出后便应用于众多领域,网络兼容性强,并具备种类齐全的迁移学习数据库,权重参数模型的可选择性高。基于以上特性,此次研究选择对Retina-Net模型进行相应改进,致力于提高特定草坪杂草目标的检测精度。

本次研究拟解决两个难点,首先是杂草多与观赏草种混合生长,部分观赏草种会被模型误认为目标杂草,最终影响网络模型对目标杂草的检测精度。其次草坪杂草生长大小不一,部分杂草遮掩生长,传统网络模型存在小目标杂草漏检、遮掩杂草漏检的问题将影响杂草种类识别的准确性。

为提高模型的杂草检测精度,拟从两方面着手改良:首先是对杂草图像数据进行预处理,因为杂草与观赏草种连结生长,因此采集的杂草图像中存在大量观赏草种,通过图像预处理,滤除观赏草种,保留目标杂草。其次是改进Retina-Net基线模型,通过堆叠和共享空洞卷积的方式,增设多尺度感受野,提升模型对不同尺度目标的检测能力;通过改进池化层防止模型过拟合,在保留最大池化层优点的基础上,增设软池化层,实现局部空间的不变性。

1 试验数据

1.1 数据集采集

本次试验图像采集时间为2021年4—6月。地点在福建农林大学试验田,中华园以及春晖桥附近的观赏草坪。收集了积雪草,酢浆草,犁头草,阿拉伯婆婆纳,含羞草,紫爵床草等六种常见杂草的原始图像。部分图像样本如图1所示。此次试验采集积雪草236幅,紫爵床草220幅,犁头草218幅,阿拉伯婆婆纳232幅,含羞草220幅,酢浆草200幅,总计1 326幅。

(a) 积雪草 (b) 犁头草 (c) 阿拉伯婆婆纳

(d) 紫爵床草 (e) 含羞草 (f) 酢浆草

1.2 数据集预处理

由于此次研究对象是自然环境下的草坪杂草,因而杂草图像易受光照强度和大气湿度影响,同时考虑到杂草多与景观草连结生长,景观草与目标杂草差异较小等因素,因此采用图像预处理目的是分离杂草目标。本次预处理软件使用OpenCV。预处理流程图如图2所示。

图2 杂草图像预处理流程图

第一步,将原始杂草样本图像按照9∶1的比例,随机分为训练集图像和测试集图像。训练集用于算法迭代学习,从而帮助算法确定杂草识别时的权重与偏置数值。测试集用于检测算法的识别成功率。部分训练集图像如图3(a)所示。

第二步,将彩色图像转换为灰度图像。使用高斯滤波滤除相机长时间使用而产生的高斯噪声[8]。运用Canny()函数的双阈值法检测目标图像的轮廓边界,不同的图像根据自身特点设置不同阈值,划分强弱边缘[9]。成果如图3(b)所示。

第三步,对上一步获得的边缘二值图像进行形态学开运算与闭运算处理,消除背景中观赏草种细小轮廓,消除目标杂草叶片轮廓间的缝隙,让野草轮廓更加简洁明了。成果如图3(c)所示。

第四步,获取图像中不同连通域的位置与面积信息。保留杂草所在位置的连通域,同时消除景观草中面积较小的连通域[10]。成果如图3(d)所示。

第五步,应用图像掩膜技术以及逻辑运算和运算,在RGB彩色图像中,分割出目标野草的图像数据信息。成果如图3(e)所示。

第六步,对图像进行边缘平整化处理,滤除多余背景信息,保留关键目标信息。部分野草图像处理结果如图3(f)所示。

出于避免因训练集数量不足而产生过拟合现象和提高图像利用率的目的。此次研究对所收集的图像数据进行数据增强处理。通过旋转、翻转、添加噪声等方法,扩充数据集数量,提高野草识别模型的稳定性与准确性,如图4所示。

(a) 原始野草图像 (b) 边缘检测图像 (c) 形态学处理后的图像

(d) 去除部分连通域后图像 (e) 分割后的目标图像 (f) 最终目标图像

(a) 原始图像 (b) 顺时针旋转90°

(c) 上下翻转 (d) 椒盐噪声

2 基于Retina-Net模型的草坪杂草识别

2.1 Retina-Net模型

Retina-Net的结构原理模型如图5所示。其中A是以深度残差网络(Residual Network, Res-Net)为基础构建的残差神经模块,目的是提取样本图像的低纬度特征;B为特征金字塔模块(Feature Pyramid Network, FPN),将A中提取的低纬度特征进行数据融合,便于更好的表达目标图像信息;C为卷积预测模块,依照B中的目标图像信息,对待检测的图像进行目标定位和目标分类。

图5 Retina-Net简化模型原理图

2.2 改进多尺度特征融合模块

伴随着网络层数的不断加深,下采样倍率的稳步增长,以及网络感受野范围逐渐扩大,网络拥有更强大的语义表征能力,能更好地处理与保存大尺度目标自身的语义信息。但是由于特征图像分辨率的降低,导致小尺度目标在下采样倍率较高的特征图中有效信息锐减,降低了网络对小尺度目标的检测能力,产生了目标检测的多尺度问题。

为解决此问题,在三叉戟网络(Trident Net)[11]模型中,使用膨胀率分别为1,2,3空洞卷积(Dilated Convolution)[12],采用并行分支的网络结构组成了三叉戟块(Trident Block),替换原有网络中的常规卷积,同时生成多种可供选择的感受野。本次试验在原有的三叉戟块上加以改进,构造四个并行的分支结构,卷积核使用膨胀率分别为1,2,4,6的3×3空洞卷积。并行网络模块结构如图6所示。

图6 并行网络模块结构图

为简化网络模块结构,减少网络参数量,提升模块的泛用能力。两个膨胀率为2的3×3空洞卷积所生成的感受野,可以覆盖一个膨胀率为4的3×3空洞卷积所生成的感受野;三个膨胀率为2的3×3空洞卷积所生成的感受野,可以覆盖一个膨胀率为6的3×3空洞卷积所生成的感受野。此方法减少了模块中卷积核的种类,使感受野中更多的像素值,参与到卷积计算中,增强了浅层网络对几何细节信息的表征能力,也提高了深层网络的语义信息表征能力。改进后的模块结构图如图7所示。

图7 改进的并行网络模块结构图

2.3 改进池化层

卷积神经网络通过架设池化层缩减特征图尺寸。此步骤对于实现局部空间不变性意义重大,因此,池化操作应在减轻计算量的同时保留主体特征,防止模型过拟合,降低特征的冗余度;保持变换不变形,保持旋转、平移以及尺度不变性。

Retina-Net使用最大池化层,即输出特定区域中的最大激活值。最大池化计算量少,但舍弃非极大激活又造成图像中多数信息的遗失,降低网络整体性能。因此,为减少池化操作中的特征信息损失,在模型中引用软池化(Soft Pooling)[13]操作。其相应的计算公式

(1)

式中:R——池化区域;

i,j——池化区域的激活个数;

ai——区域R内的各个激活值。

多次试验后发现,由于软池化需对区域R内所有特征数值进行自然对数计算,相较于最大池化仅保留最大特征数值的做法,计算量较大,较为耗时;当区域中存在某一激活明显大于其他激活时,软池化所得结果与最大池化结果近乎一致。

有鉴于此,对池化算法做出改进,在池化层中引入超参数m,当区域R最大激活Pmax与区域内第二大激活Psec_lar的差值超过m时,选用最大池化层进行池化;反之则使用软池化层进行池化。具体公式如式(2)所示。

(2)

在Retina-Net基线模型的基础上,增加改进的软池化模块和基于空洞卷积堆叠的多尺度感受野模块,最终的模型原理图如图8所示。

3 结果与分析

3.1 试验评价指标

本次试验使用PASCAL VOC数据集对网络检测精度与泛用性进行测试,PASCAL VOC数据集是世界级计算机视觉挑战赛的专用数据集,该数据集常用于验证算法的目标检测能力。本次试验以平均精度均值(mean Average Precision,mAP)[14]为网络精度的评估标准,mAP是用于衡量神经网络模型检测精度的公用指标。

3.2 基于PASCAL VOC的对比试验

本次试验采用Nadam作为优化器,Nadam近似于带有Nesterov动量项[15]的Adam[16],对学习率有更强的约束。输入图像的尺寸设置为600×600。先验框设置为[32, 64, 128, 256, 512]。

训练过程分为冻结阶段和解冻阶段。在冻结阶段,将模型主干ResNet50冻结,对网络进行微调,特征提取网络的参数不变。此阶段占用显存较小,因此单批次训练样本数(batch_size)设置为8个,迭代次数(epoch)为50次。由于训练参数较少,所以将学习率(learning rate)设置为0.000 1。在解冻阶段,模型主干部分解冻参与训练,特征提取网络发生变化。此阶段占用显存较大,因此将单批次训练样本数定为4个,迭代次数为50次。由于解冻阶段所有参数均参与训练,所以将学习率调小,设置为0.000 01。

图8 改进的Retina-Net模型原理图

表1展示了此次试验所提出的神经网络与其他主流神经网络的平均精度均值。Retina-Net基线模型在融合多尺度感受野以及增设软池化层后,平均精度均值提升1.8%,相比SSD,DSSD,YOLOv3,FCOS等主流神经网络,分别高出6.4%,6.1%,4.5%,3.2%。

图9展示了Retina-Net改进模型与Retina-Net基线模型在PASCAL VOC各个类别上的平均精确度(Average Precision,AP)[17]对比。改进模型面对20个不同类别的目标检测任务,在16个类别中提升了基线模型的平均精确度。因此改进的Retina-Net模型具有较好的泛用性。

表1 不同神经网络在PASCAL VOC中的检测结果对比Tab. 1 Comparison of detection results of different neural networks in PASCAL VOC

图9 改进的Retina-Net与Retina-Net基线模型在PASCAL VOC各个类别上的平均精确度对比

3.3 基于PASCAL VOC的消融试验

在Retina-Net的基线模型中分别单独加入改进的多尺度感受野融合模块,改进的软池层模块,对比PASCAL VOC数据集上目标检测的平均精度均值。结果如表2所示。

表2 PASCAL VOC上的消融试验Tab. 2 Ablation experiments on PASCAL VOC

在Retina-Net的基线模型中分别单独加入改进的多尺度感受野融合模块,改进的软池层模块后,平均精度均值较原有模型分别提高1.3%,0.9%。证明本试验所提出的两项网络改动方案,均对网络识别精度有增益作用。

3.4 基于自制杂草数据集的对比试验

本次试验为训练Retina-Net改进模型对特定种类杂草的检测能力,自制杂草数据集。共收集六类杂草原始图像1 326幅。通过数据增强将数据集扩容为7 956 幅图像。将所有图像依据训练集∶验证集∶测试集为8∶1∶1的比例进行随机划分。最终生成6 366 幅训练集图像,795幅测试集图像,795幅验证集图像。使用Labelimg软件添加标签,Labelimg标注杂草的工作界面如图10所示。各类杂草标注名称分别为hanxiu(含羞草),zijuechuan(紫爵床草),litou(犁头草),zuojian(酢浆草),popona(婆婆纳),jixue(积雪草)。

图10 框选检测目标设置图像标签

将自制的杂草数据集投入Retina-Net改进模型中训练,沿用PASCAL VOC对比试验时的模型训练参数,但为增强小目标杂草检测能力,将模型浅层的先验框大小调整为[16, 32, 128, 256, 512]。杂草训练集与验证集的损失函数如图11、图12所示。

图11 改进的Retina-Net模型中

图12 改进的Retina-Net模型中六种杂草验证集的损失函数

在图11中,经过约50次迭代训练后,杂草训练集损失函数趋于稳定,因此改进模型具有较好的鲁棒性。在图12中,经过约80次迭代训练后,杂草数值平稳收敛且数值接近训练集损失函数,因此改进模型较好地抑制了网络模型的过拟合现象。

使用五种常见的神经网络和本文改进的神经网络模型,一起训练杂草数据集,各个神经网络针对每一种杂草的准确率(Precision),召回率(Recall),F1值[18]如表3所示。Retina-Net改进模型对测试集数据中积雪草,犁头草,婆婆纳,紫爵床,含羞草,酢浆草的平均识别准确率(mean Precision,mP)[19]分别为85.3%,84%,89.6%,86.7%,95.1%,91.5%。六类杂草的总平均识别率为88.7%.相较于Retina-Net基线模型,各种类识别率均有0.2%~3.6%提高;平均识别率相较其他主流神经网络模型高出2.2%~9.3%。

在自然环境下,不同图像中存在的杂草数量、种类、大小都大相径庭,因此图13展示了改进Retina-Net自然环境下的杂草识别效果。图13(a)是单种类杂草目标检测;图13(b)是多种类杂草目标检测;图13(c)是多种类高密度杂草目标检测。

表3 六类杂草在不同模型中的检测结果Tab. 3 Detection results of six kinds of weeds in different models %

(a) 单种类杂草目标检测

(b) 多种类杂草目标检测

(c) 多种类高密度杂草目标检测

4 结论

面对草坪杂草中野生杂草与观赏草种混合生长,不利于提取杂草特征信息的难点,本文利用OpenCV软件对训练集图像进行预处理,分离出目标杂草,有助于改进Retina-Net针对杂草特征,生成权重与偏置。

面对杂草外观不完整或体积较小而导致的漏检问题,通过堆叠、共享相同膨胀倍率的空洞卷积,生成改进的多尺度感受野融合模块,提高网络的小目标检测能力;在原有的最大池化层中增设软池化层,提升各激活值之间的区域关联性,提升了杂草的目标检测精度。

经过多次试验验证,本文提出的网络模型对积雪草平均识别准确率85.3%,犁头草84%,阿拉伯婆婆纳89.6%,紫爵床草86.7%,含羞草95.1%,酢浆草91.5%,高于当前大多数目标检测模型。

猜你喜欢
杂草卷积模块
28通道收发处理模块设计
拔杂草
“选修3—3”模块的复习备考
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
拔掉心中的杂草
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
杂草图谱
集成水空中冷器的进气模块