基于Mask R-CNN的玉米田间杂草检测方法

2020-06-29 01:17姜红花张传银毛文华王东伟
农业机械学报 2020年6期
关键词:电磁阀喷雾杂草

姜红花 张传银 张 昭 毛文华 王 东 王东伟

(1.山东农业大学信息科学与工程学院, 泰安 271018; 2.宝鸡文理学院电子电气工程学院, 宝鸡 721016;3.中国农业机械化科学研究院, 北京 100083; 4.山东农业大学农学院, 泰安 271018;5.青岛农业大学机电工程学院, 青岛 266109)

0 引言

杂草与作物争夺养分、阳光、空间和水[1],是作物生长的最大威胁之一。目前,杂草的防治清理以传统的全淋式喷洒农药为主,即使用相同剂量的除草剂对杂草进行均匀处理。这种均匀喷洒除草剂的方法不能区分作物和杂草,不但造成大量农药的浪费,还对土壤和水源造成污染,甚至影响农田生产力和作物生长。为了减少农药浪费,提高农药的利用率,基于杂草检测的农药精准变量喷洒[2]研究十分必要。

杂草的准确定位与识别是实现精准除草的重要环节[3],对此,国内外学者已经进行了广泛研究[4-19]。但这些研究存在以下不足:①单纯的杂草定位识别只能确定杂草的具体方位,并进行识别,却忽略了杂草的轮廓面积,使用相同剂量除草剂可能造成过喷或少喷,既浪费了除草剂,也达不到防治效果。②在实际应用中,作物跟杂草可能会互相遮掩并一同出现,普通的分类很难准确识别复杂背景下的杂草。③简单的作物杂草语义分割,只能区分不同类别的作物杂草,当多幅相同类别的作物杂草一同出现时,不能对每个作物杂草进行实例化的分割定位,这不利于确定每幅作物杂草的具体方位,对变量喷雾造成一定困扰。基于此,本文提出基于Mask R-CNN[20]的杂草检测分割方法,该方法结合目标检测和语义分割,可使用ResNet-101[21]网络提取复杂背景下的杂草图像特征,利用区域建议网络(Region proposal network,RPN)提取区域坐标特征,再利用区域特征聚集方法(RoIAlign)得到固定尺寸的特征图,使用输出模块对特征图进行分类回归分割计算,完成复杂背景下杂草的具体方位、类别及轮廓的计算,根据杂草的轮廓面积和具体方位进行定位、定量的农药喷洒,以解决上述问题。

1 数据材料

1.1 数据采集

本文使用的杂草数据采集自陕西省自然环境下的玉米田间。采用Intel RealSense Depth Camera D435型相机距地面1 m处垂直拍摄,可以减少太阳光反射的影响。如图1所示,在不同的日照强度、土壤背景(如湿度、麦秆残茬)条件下,采集4种不同杂草(刺儿草、莎草、灰菜、早熟禾)和玉米幼苗图像。共采集到6 000幅图像,每种图像为1 200幅。试验中,将原始图像调整为224像素×224像素,使用4 200幅图像(每种为840幅)作为训练数据集,剩下的1800幅图像作为测试数据集。

1.2 数据集标记

为实现杂草分割网络模型的训练,本文使用图像标注工具LabelMe[22]对杂草数据集样本进行分割掩码标记,完成图像中杂草的标注,标注生成的json文件转换为8位灰度图作为样本标签,标注后的杂草及玉米掩码图像如图2所示。

图1 杂草和玉米图像Fig.1 Images of weeds and corns

图2 杂草及玉米手工分割掩码示例Fig.2 Examples of weeds and corns manual segmentation masks

2 杂草检测分割模型

图3 Mask R-CNN杂草检测分割模型框架Fig.3 Mask R-CNN weed detection and segmentation model framework

将Mask R-CNN模型与目标检测算法、FCN[23]分割算法相结合,可以在检测目标的同时分割出目标轮廓。为了满足精准农业变量喷药的需要,实现杂草的实时精准检测识别,本文提出了基于Mask R-CNN的玉米田间杂草检测分割方法,实现对复杂背景下杂草的识别、检测、分割。该模型的框架如图3所示。该模型由卷积神经网络(Convolutional neural networks,CNN)、区域建议网络(RPN)、RoIAlign、输出模块4部分组成。①CNN:利用基层卷积神经网络提取包含杂草语义空间信息的特征图。②RPN:将特征图按比例映射到原图像,并根据锚点在相应区域产生预选框(Bounding box,BBox),根据BBox与真实值的交并比(Intersection over union, IoU)[24]选出正、负样本,进行分类回归训练,使用非极大值抑制(Non maximum suppression,NMS)[25]方法筛选BBox,选出杂草的预选区域。③RoIAlign:取消量化操作造成坐标值的偏差,使用双线性内插法获得坐标为浮点数的像素图像,根据预选区域的坐标位置,将特征图的相应预选区域池化为固定尺寸的特征图。④输出模块:由分类回归模块和FCN模块构成,分类回归模块负责特征图目标的类别分类及目标框回归,FCN模块负责计算目标的像素,进行目标轮廓的分割。

2.1 杂草CNN特征提取

ResNet-101网络结构有101层网络,可以充分获取杂草图像的语义、空间信息,本文基层卷积神经网络采用含有5个网络模块层的ResNet-101网络结构,进行杂草样本图像的特征提取。其网络结构如表1所示。

2.2 区域建议网络

RPN的功能是计算图像目标区域的预选框,2.1节中已经用卷积神经网络获得了杂草图像的特征图,RPN在杂草特征图上用3×3滑动窗口进行全图的滑动生成,然后生成2个1×1的卷积层。①边框回归层(reg-layer):用于计算BBox的中心坐标值x、y以及宽w、高h(BBox坐标是指原图的坐标偏移)。②目标分类层(cls-layer):用于判断该区域是否包含目标。将特征图的锚点映射到原图像,计算锚点跟期望区域的IoU,IoU大于0.7时为正样本,IoU小于0.3时为负样本,其余不计算,经过迭代训练产生一定数量的BBox,使用非极大值抑制方法去除重叠的BBox,得出杂草的预选区域。其中RPN的损失函数为

表1 ResNet-101网络结构Tab.1 ResNet-101 network architecture

(1)

(2)

(3)

(4)

(5)

(6)

(7)

式中i——锚点的序号Ncls——分类层数

Nreg——回归层数

pi——样本被预测为包括目标的概率

ti——预测边界框的4个参数化坐标

Lcls——样本分类中的损失函数

Lreg——样本回归损失函数

λ——平衡参数

xa、ya、wa、ha——锚点边界框的中心坐标值及宽、高

x*、y*、w*、h*——真值边界框的中心坐标值及宽、高

pu——真值类别u的预测概率

smoothL1——鲁棒范式损失函数,比范式损失函数具有更强的适应性

2.3 RoIAlign层

在Fast R-CNN[26]、Faster R-CNN[27]、R-FCN[28]检测框架中,使用RoI Pooling根据候选区域的坐标位置将特征图的相应预选区域池化为固定尺寸的特征图,便于进行后续分类和预选框回归操作。RoI Pooling运算过程中存在两次量化,导致得出的预选框与第一次回归产生的预选框不匹配,影响检测与分割精度。为了解决上述问题,提高检测与分割的精度,本文提出了RoIAlign方法。RoIAlign取消量化操作,遍历各个预选区域,保持边界浮点数不做量化,将预选区域分割成f×f个单元,每个单元的边界不做量化,用双线性内插法计算每个单元4个位置的值,然后进行最大池化操作。结果表明,RoIAlign可以在小误差下将RPN产生的预选区域调整为固定尺寸的特征图。

2.4 输出模块

输出模块由分类、回归、FCN等部分组成,RoIAlign层输出的每一个感兴趣区域(Region of interest,RoI)经过卷积核为1×1的两个卷积层、FCN层后划分为3个分支,前两个分支用于分类回归运算,分类分支计算目标与真实标签的分类损失,回归分支计算预测框与真实框的回归损失,FCN分支用于RoI像素计算。FCN层通过反卷积层对RoI进行上采样计算,使其恢复到原图像尺寸,并计算RoI区域像素值与原图像区域像素值的平均二进制交叉熵。输出模块的RoI损失函数为

L=Lcls+Lreg+Lmask

(8)

图4 玉米及杂草的AP与mAP值随迭代次数的变化曲线Fig.4 AP and mAP values change curves of corn and associated weeds with iterations

(9)

式中L——模型总代价损失函数

Lmask——平均二进制交叉熵损失函数

s——像素数量

p(si)——si预测类别的概率

针对每个RoI,Mask分支有Ks2个输出,并对K个尺寸为s2的Mask编码,每个Mask有K个类别,然后使用sigmod函数对每个像素进行分类。

最终,分类分支计算出候选区域的类别,回归分支计算出候选区域的位置边界框,FCN模块计算出候选区域的像素。从而准确地检测分割出杂草的类别、位置和轮廓。

3 杂草分割模型的构建与评估指标

3.1 杂草分割模型的构建

使用TensorFlow-GPU构建了基于Mask R-CNN的杂草检测分割模型,硬件环境为GeForceGTX1080Ti GPU,IntelXeonE5-2630@2.20 GHz×20 CPU,使用训练集对该模型进行训练。学习率设为0.001,每次迭代的批处理量(Batch size)设为32,模型一共迭代20 000次。

3.2 分割评估指标

使用均值平均精度 (Mean average precision,mAP)作为杂草分割的评估指标,每一个类别都可以根据召回率(Recall)和精确率(Precision)绘制一条曲线,平均精度(Average precision,AP)是该曲线与坐标轴围成的面积。mAP是由对全部类别的AP值求平均值得到,其计算公式为

(10)

(11)

(12)

(13)

式中P——精确率R——召回率

TP——被正确预测为正样本的数量

FP——负样本被预测为正样本的样本数量

FN——正样本被预测为负样本的样本数量

n——类别数目AP——平均精度

mAP——均值平均精度

在模型训练过程中记录各个类别的AP值并计算mAP,统计结果如图4所示,随着模型训练的不断深入,各类别的AP值逐步提高并达到较高的稳定值。

4 试验结果与分析

4.1 杂草分割结果

图5 3种方法对杂草和玉米数据集的分割样例 Fig.5 Weed dataset segmentation sample of three methods

为了验证所提出的基于Mask R-CNN的杂草检测分割方法的有效性,本文将DeepMask[29]、SharpMask[30]方法与本文方法进行试验对比,DeepMask首先输出一个与类别无关的分割掩码,然后再输出该图像补丁在完整对象上居中的概率,DeepMask通过学习实例嵌入,将粗形状细化为实例级掩码。SharpMask是DeepMask的扩展,首先在前馈传递中生成粗略掩码编码,然后使用连续较低层的特征在自上而下的传递中细化此掩码编码,让掩码更好地粘附到对象边界。选用1 800幅玉米、杂草图像对3个方法进行测试比较,其中刺儿草、莎草、灰菜、早熟禾、玉米各360幅,在IoU为0.5时,3种方法的AP、mAP如表2所示,可以得知,本文方法在玉米杂草数据集上mAP可达到0.853,优于SharpMask、DeepMask的0.816、0.795,3种方法的单样本耗时分别为280、256、248 ms,可满足实时田间农药变量喷洒的控制要求。图5为玉米、杂草数据分割样例。由表2、图5可知,3种方法对刺儿草、灰菜的分割效果最好,对玉米、莎草的分割效果较差,原因可能是刺儿草、灰菜的圆形叶片比玉米、莎草的条形叶片更易区分。由图5可知,本文方法相对于DeepMask、SharpMask,不会出现欠分割、过分割的情况。综上所述,本文方法的分割效果优于DeepMask、SharpMask方法。

表2 3种方法在玉米、杂草数据集上的测试结果Tab.2 Results of three methods on datasets of corn weeds

4.2 其他数据集验证

为测试本文方法在复杂背景下的分割效果,共采集300幅复杂背景下的玉米、杂草图像进行分割测试,同时,与DeepMask、SharpMask方法进行对比,3种方法的分割测试结果如图6所示,图中橙色表示玉米,绿色表示杂草。在IoU为0.5时,3种方法的AP、mAP如表3所示,Mask R-CNN的mAP为0.785,远高于SharpMask、DeepMask的0.684、0.462,3种方法在复杂背景下的单样本耗时分别为285、260、252 ms。由图6、表3可知,3种方法对玉米的分割效果优于杂草,主要原因可能是杂草不够明显。由图6可知,SharpMask方法对玉米及杂草都出现了欠分割现象,DeepMask方法分割效果更差,而本文方法仍有很好的分割效果。因此,本文方法可用于复杂背景下的玉米杂草分割。

图6 分割样例 Fig.6 Segmetation samples

表3 3种方法在复杂背景数据集上的测试结果Tab.3 Test results of three methods on complex background datasets

5 田间试验

为了验证本文方法的可行性,采用如图7所示的变量喷洒装置进行试验验证。该设备主要由驱动系统、支架系统、喷药系统3部分组成。驱动系统由发动机、传动系统、驱动轮、变速箱等组成。支架系统由方向机、地盘架、药箱、横梁、橡胶轮及橡胶轮支撑架组成。喷药系统由驱动液压马达、高压喷药泵、过滤器、电磁阀、喷管支架、摄像头等组成。

图7 变量喷洒装置Fig.7 Spraying device1.电磁阀喷头 2.左横向喷杆 3.左桁架 4.中间桁架 5.中间横向喷杆 6.喷杆折叠机构 7.右桁架 8.喷药管 9.右横向喷杆 10.横向喷杆喷头 11.摄像头

田间喷药流程如图8所示。试验中,喷洒装置行走速度为0.2 m/s,共前进25 m,摄像头每0.5 s采集一幅视场内含玉米植株行间隙与玉米植株行的图像,图像经过本文方法处理,获取图像中玉米、杂草目标的位置、标签和像素。单片机根据图像的位置标签信息,计算出距离杂草最近的喷头。根据分割像素,单片机控制电压,调节电磁阀开度,对杂草进行变量喷雾,从获取图像到电磁阀喷洒的平均时间为0.98 s。田间试验如图9所示。

田间试验于2019年4月29日(天气晴、微风、空气相对湿度78%)在山东省泰安市山东农业大学南校区玉米试验田中进行。试验田玉米植株行间距50 cm,株距10 cm,植株高度20 cm。方案1:在玉米植株行间放置3个电磁阀喷头,摄像头在电磁阀喷头前方30 cm处居中放置,如图9c所示。 根据模型分割检测得出玉米植株行间杂草位置,相应的电磁阀喷头打开进行喷雾,喷雾效果如图9e所示。方案2:在玉米植株间及行间各放置一个电磁阀喷头,摄像头在电磁阀喷头前方30 cm处居中放置,如图9d所示,杂草处于玉米植株行间时,相应的电磁阀喷头打开喷雾,杂草处于玉米植株间时,控制玉米植株间的电磁阀喷头打开喷雾,喷雾效果如图9f~9h所示。考虑到控制系统响应时间造成的延迟喷雾,将摄像头置于电磁阀喷头前方30cm处提前探测,摄像头与地面垂直距离50 cm,视场角30°,摄像头与单片机连接,单片机连接电磁阀喷头,用于控制电磁阀的开启,如图9a所示。单片机通过WiFi与计算机连接,将获取的图像信息通过WiFi传给单片机,传输过程如图9b所示。试验同时,在玉米、杂草叶片一侧覆盖水敏纸,进行喷雾测试,喷洒后的水敏纸如图9i所示。方案1喷洒靠近玉米一侧的杂草时,容易造成对玉米的误喷,因此本次试验采用方案2。

图8 工作流程图Fig.8 Working process chart

图9 田间试验Fig.9 Field experiment

试验喷洒过程耗时312 s,共采集玉米、杂草现场图像608幅,其中包括1 728株玉米, 936株杂草,本文方法对图像的识别结果如表4所示。由表4可知,本文方法对田间杂草的识别准确率为91%,识别出杂草并准确喷雾的准确率为85%,识别出杂草但没有喷雾的主要原因是田间地面颠簸、风力、电磁阀喷头等因素的影响,电磁阀喷头对识别的杂草喷洒农药时不能完全覆盖(雾滴漂移导致部分杂草区域没有喷洒)。对玉米的误喷率为3%,在喷洒过程中玉米被识别为杂草的概率为6%,玉米被识别为杂草并喷雾的概率为4%,在无杂草、无玉米情况下,被误识别为杂草的概率为2%,喷雾的概率为1%。造成被误喷的主要原因是某些杂草靠近玉米根部,喷洒时玉米叶片遮盖了杂草,从而导致玉米被误喷。

表4 本文方法对现场图像的识别结果Tab.4 Identification results of field images by proposed method 株

雾滴覆盖密度是判断雾滴变量喷洒效果的重要参数,是指雾滴收集装置单位面积上所收集的雾滴个数,采用文献[31]相同的软件及方法获取水敏纸上的总雾滴个数。雾滴覆盖密度计算公式为

(14)

式中N——雾滴总数,个

M——水敏试纸总面积,cm2

根据田间实际喷洒的统计结果,本试验准确喷雾的杂草农药雾滴覆盖密度为55个/cm2,根据袁会珠等[32]关于雾滴覆盖密度与农药防治效果的关系研究可知,农药雾滴覆盖密度大于28个/cm2时即可达到理想的防治效果。

6 结论

(1)在IoU为0.5时,本文方法在玉米、杂草数据集上的mAP为0.853,优于SharpMask、DeepMask的0.816、0.795。本文方法相比SharpMask、DeepMask具有更好的分割效果,本文方法的单样本耗时为280 ms,满足田间杂草变量喷洒的实时控制要求。

(2)在玉米、杂草数据集上进行分割测试,结果表明,本文方法可准确检测出图像中杂草目标的类别、位置和轮廓,对复杂背景下的杂草仍有良好的分割效果,单样本耗时285 ms,满足复杂背景下的杂草识别检测。

(3)在田间变量喷药试验中,杂草识别准确率为91%,识别出杂草并准确喷雾的准确率为85%,准确喷雾的杂草农药雾滴覆盖密度为55个/cm2,装置对每幅图像的平均处理时间为0.98 s,满足农药变量喷洒的控制要求。

猜你喜欢
电磁阀喷雾杂草
拔杂草
基于ANSYS Maxwell的比例电磁阀隔磁环仿真分析与优化
低速机电控喷油器电磁阀换热特性计算
洪洞:立即防除麦田杂草
保湿喷雾大测评!效果最惊艳的才20块!
还原喷雾
拔掉心中的杂草
福特6F35变速器的电磁阀控制策略
怎样正确使用喷雾式化妆水
睡眠喷雾