基于Mask R-CNN农田杂草实例分割与叶龄识别方法
2021-05-12权龙哲毛首人
权龙哲,吴 冰,毛首人
(东北农业大学工程学院,哈尔滨 150030)
杂草与作物竞争空间、水、养分等资源,作物产量降低,作物生长初期影响更严重[1-2]。目前,化学除草因其高效性而成为国内外主要除草方式[3]。但化学除草大面积喷洒除草剂,造成环境污染。精准对靶施药可提高除草剂利用率,但确定田间杂草尺寸、形状和生长阶段是实施难点[4]。不同叶龄杂草所需除草剂剂量不同[5-6]。因此,根据田间杂草分布和叶龄指导除草剂使用,是有效除草、保护生态重要手段。
减少除草剂使用前提是精准识别杂草[7]。机器视觉在农业领域应用广泛[8]。相关研究采用小波变换[9]、阈值分割[10]等方法区分农作物和杂草,但普通分类无法获得杂草种类和位置信息,在田间杂草与作物分布密集、光照不确定以及阴影等因素影响下作业效果不佳。近年,深度学习技术成为新兴机器学习领域,其中深度卷积神经网络(Deep convolutional neural network,DCNN)是一类深度学习方法,适合解决计算机视觉问题,已应用于农业领域[11-12]。Ma 等提出SegNet 方法实现较高分类精度,可有效对图像中水稻、杂草和背景作像素分类,并获取位置[13]。Abdalla 等采用卷积神经网络用于油菜田中杂草分割,获得96%准确率[14]。上述研究仅获得杂草位置和种类信息,忽略叶龄,无法确定除草剂剂量。田间复杂环境下,植株之间重叠、光照不确定、土壤背景复杂多变[15],杂草位置和叶龄信息获取存在难度。
DCNN模型虽能克服农田复杂多变环境,但需大量数据集训练深度学习模型,提高模型精度[16]。数据增强也是图像识别领域常用方法,Geethara⁃mani等使用9层深度卷积神经网络识别植物叶片疾病,并使用6种数据增强方法提高模型性能,获得96.4%分类精度[17]。可见数据增强是丰富训练样本,提高模型精度重要方法。当获取数据时,摄像头拍摄角度影响数据集精度,Quan等实现在田间不同生长周期和角度下幼苗检测,提出在摄像头与竖直方向夹角为0情况下,检测精度降低0.95%,可见不同角度数据采集,影响模型性能[16]。综上,DCNN模型在处理田间复杂环境问题上表现更好适应性。
因此,本文提出基于Mask-R-CNN 农田杂草实例分割与叶龄识别方法。首先构建不同天气和采集角度数据集,采用迁移学习方法提取Micro⁃soft COCO 数据集训练后权重,在此基础上训练建立数据集。为提高杂草检测精度,更换3个特征提取网络,设计多种区域建议框,将NMS 算法更换为Soft-NMS,RoIAlign 代替RoI Pooling,使目标物体的边界框更准确,最终选择7个评价指标评估模型检测结果和分割结果。
1 数据采集与处理
1.1 硬件及数据采集
为分割田间杂草和玉米植株,需采集相关图像,建立杂草和玉米图像数据集。试验时间2020年5月20日~2020年6月20日,每隔2~5 d于黑龙江省哈尔滨市东北农业大学向阳试验示范基地采集数据,采集设备为USB 数码摄像机(CCD)(6-DZM-12,PHZL CO,LTD),最大分辨率为1 360×1 024像素,帧速度为30 s-1,并以JPG文件格式存储。向阳农场是玉米、大豆、水稻主要种植区域。所采集样本图像为幼苗期玉米以及常见伴生杂草,包括稗草、龙葵、茴麻、刺菜、打碗花等。由于田间杂草数量在2~5叶期居多,所以采集5叶期之前田间植株数据。采集数据时,将样本种类、叶龄、采集时间、采集天气、采集温度标记在样本数据中。拍摄方式如图1所示。两个摄像头之间距离为L=600 mm,摄像头与支架距离为Ha=250 mm,支架与地面距离为Hb=650 mm,α为俯视图角度,分别以俯视、30°斜视、45°斜视3个方向采集自然条件下生长玉米和杂草图像,如图2所示。
如图3 所示,采集图像天气条件包括:晴天、阴天、雨后,采集时间段为每日6:00~9:00,12:00~15:00,16:00~19:00。
图1 图像采集平台Fig.1 Image acquisition platform
图2 不同拍摄角度下数据图像Fig.2 Data images under different shooting angles
图3 不同天气条件下数据图像Fig.3 Data images under different weather conditions
1.2 数据集制作
在训练网络时,输入图像尺寸需与网络输入尺寸匹配,为不改变植物形态,将图像剪裁为1 024×1 024像素构建DCNN数据集。为增加样本多样性,使数据集更具代表性,更准确反映田间数据真实情况,提高模型训练精度,扩大数据集并减少过度拟合,使DCNN对环境变化引起的光照具有鲁棒性。通过数据增强法,对田间采集图片随机旋转、水平翻转、垂直翻转、增亮10%、变暗10%加噪声等6种操作,如图4所示。
图4 数据增强Fig.4 Data enhancement
采集图像同时保留一些模糊、遮挡、不全图像作为数据集负样本。正负样本共得到8 000 张图片,按照8∶2 随机选择划分为训练集和验证集。用VIA(VGG image annotator)标注,通过不规则多边形标记杂草和玉米叶片。由于在实际环境下,图片中植株数量不确定,存在包含多种、多株杂草情况,无法用图片中掩膜叶片数量计算单株植物叶龄,所以用矩形框标记单株植物最外层轮廓,计算矩形框内掩膜叶片数量,即该植株叶龄。为减少计算量和计算时间,对矩形框不作掩膜。
2 杂草分割模型
Mask R-CNN是通过在目标检测算法Faster RCNN 框架后面添加掩膜分支作实例分割的模型,保证目标检测与分割并行。Mask R-CNN算法流程如图5所示,输出包含3个分支,目标边界框、分类及分割掩膜。Mask R-CNN模型结构由图像特性提取层、区域建议网络、ROIAlign 层以及输出层4部分组成。
图5 Mask R-CNN框架结构Fig.5 Model structure of Mask R-CNN
其中,为更好检测小目标,将感兴趣区域池化(Region of interest pooling, pooling)更 改 为ROIAlign。采用Soft-NMS算法代替非极大值抑制法(NMS),提高杂草检测精度。特征提取网络从输入图像中提取特征图,输出特征图被送至RPN 和ROIAlign以生成候选区域,候选区域一方面经卷积层和全连接层预测目标类别和边界框,另一方面经FCN对目标区域掩膜。最终完成目标实例分割。
2.1 杂草图像特征提取
Mask R-CNN 可通过设计不同的权重层来建立深度卷积神经网络模型,目前深度学习网络模型有 ResNet,MobileNet,AlexNet,GoogleNet,Deep⁃Mask,VGG 等。网络层数越深,准确性越高,但随网络层数加深,模型训练速度和检测速度均降低。但残差网络不增加模型参数,可有效降低训练退化问题,同时提高模型收敛性。MobileNetv2是对MobileNet 作改进,且改进ResNet 残差结构,提出倒残差块及线性瓶颈层,网络结构相比Mo⁃bileNet 更深,网络参数更少,可充分获取杂草空间信息。本文采用ResNet-50、ResNet-101 和Mo⁃bileNetv2 结合FPN 作为特征提取网络来提取杂草图像多维特征。FPN是在目标检测过程中检测不同尺度对象的模块,有从上向下、从下向上路径以及横向连接3种连接方式。
2.2 区域建议网络
RPN 是目标检测中滑动窗口,而区域建议网络则是由RPN 以滑动窗口机制生成。RPN 的结构如图6 所示,RPN 是将2.1 节中提取的杂草卷积特征图用作输入,以固定窗口在特征图全图上滑动生成的。但是本研究田间杂草尺寸不一,为提升小叶片检测精度,本研究设计了32 × 32、64 ×64、128 × 128、256 × 256、512 × 512 等 5 种尺寸不同锚点,长宽比为 1∶1、1∶2、2∶1 共 3 种比例,共15 种锚点,从中挑选最有可能存在目标的区域,对该区域进行检测和分割。
每个锚点对应一个预测框,根据预测框与真实框的交并比(Intersection over union error,IOU),选出正锚和负锚,传统方法使用非极大值抑制法(Non-maximum suppression,NMS)消除冗余边界框,选出合适预测框,NMS 方法对每个类别得分大于阈值的边界框分数作排序,选择最高分数边界框。但NMS 方法使用大量循环,导致模型耗时较多。且在多株杂草互相遮挡时,本属于2棵杂草边界框,其中得分低的被抑制,降低模型召回率(Recall),导致相邻杂草出现漏检,NMS公式为:
Soft-NMS 算法在NMS 算法基础上改进,对于IOU大于阈值边界框未将其直接删除,而是采用得分衰减方式完成,其公式为:
式中,M-得分最高检测框;bi-与M 相邻检测框;σ-超参数。
图6 区域建议网络结构Fig.6 Structure of the regional proposal network
2.3 RoIAlign层
RoI Align是Mask R-CNN重要部分,为更好检测小目标,将RoI Pooling 更改为RoIAlign。在RCNN、Fast R-CNN、Faster R-CNN 这些目标检测框架中均采用RoI Pooling将不同候选区域通过池化固定为确定尺寸特征图,方便后续预选框回归操作。但RoI Pooling在运算过程中存在2次量化,导致得到的预选框和第一次回归产生的预选框空间位置错位,影响模型精度,不适合本研究。为解决传统RoI Pooling 带来的问题,本研究采用RoIAlign 代替传统RoI Pooling 方法,适合处理更小的目标。RoIAlign取消量化操作,首先遍历每个候选区,同时保持浮点数不变,将候选区分割成k×k 个单元,在每个单元中计算固定的4 个坐标值,用双线性内插方法计算出这4个位置的值,取消量化操作过程,利用最大池化方法将其汇总,然后调整每个候选区域尺寸满足全卷积(Fully convolu⁃tional,FC)需求,最终将其发送到卷积层、全连接层和全卷积神经网络目标分类、边界框和掩膜,提高模型检测精度。RoIAlign为保证池化过程中像素对应关系,采用反向传播,其公式为:
式中,xi-池化前特征图上像素点;yrj-池化后第r个区域中第j个坐标点;i(r,j)-yrj对应原图像像素点坐标;Δh-横坐标梯度;Δω-纵坐标梯度。
3 杂草分割模型构建与评估
3.1 杂草分割模型构建
研究采用迁移学习方法引入Microsoft COCO 数据集预训练模型,提取该模型中训练好的权重作初始化设置,在此基础上建立数据集作训练。Mi⁃crosoft COCO 数据集是在日常场景中获取的图像,用于目标分类和分割的训练和测试[18]。Microsoft COCO数据集包含超过91类目标[19]。通过迁移学习可减少训练成本和人力,提高模型效率。
本研究Mask R-CNN 模型在TensorFlow-GPU 1.14.0 和Keras 2.1.5 深度学习框架下展开。基于Windows 10 64位(DirectX 12)版本操作系统,六核英特尔Core i7-8700K@3.70 GHz 处理器,32 G 内存以及由Nvidia GeForce(Santa Clara,CA,USA)制造开发的GPU,显卡为Nvidia GeForce RTX 2080 Ti,预训练网络参数如表1所示。在训练时将权重衰减系数设置为0.0005,动量因子为0.9,初始学习率为0.0001,训练每次迭代批处理量(BatchSize)为1。训练100轮,每轮1 000次。将标记好数据集放在模型中训练,得到基于改进的Mask R-CNN杂草分割训练模型。
表1 预训练网络特征参数Table 1 Characteristic parameters of the pretraining network
3.2 杂草分割模型评估指标
评估目的是测试算法对农田杂草和玉米植株叶片分割以获取叶龄信息能力,为更好满足多分类不平衡问题,采用7 个关键指标评估,分别为:精度率(Precision)、召回率(Recall)、F1、IOU、平均精度(Average precision,AP)、平均精度均值(Mean average precision,mAP)和mIOU(Mean inter⁃section over union error),其计算公式为:
式中,TP-阳性并被检测为阳性数量;FP-阴性并被检测为阳性数量;FN-阳性并被检测为阴性数量;F1-Precision 和Recall 度量函数;N-图像数量;Box(Pred)-预测框;Box(Truth)-真实框。
由于Mask R-CNN 包括目标检测和分割两部分,对于目标检测部分,采用的评估指标为:Preci⁃sion、Recall、F1、AP、AP50(当IOU≥0.5时的AP50定义为AP50)。对于实例分割部分采用mIOU评估。
IOU 测量2个边界框之间的重叠,计算杂草或玉米预测框和真实框之间重叠程度。IOU阈值设置为0.5,当IOU≤0.5 为负锚,无需考虑,当IOU≥0.5 为正锚。系统可识别正锚和其边界框并将其匹配给地面实况框优化模型RPN 输出,锚与地面真实边界框重叠最大值将被系统保留。AP50 是模型另一个指标,是多个类别AP 平均值。对于处理目标位置信息和类别时,具有优良评估性能。
4 试验结果与分析
4.1 不同分割模型对比
为更好验证改进Mask R-CNN在杂草分割中性能,本文将改进Mask R-CNN 与传统Mask RCNN、DeepMask、MNC 方法在总测试集上作比较,对比结果如表2 所示,单样本耗时中MNC 方法最短,DeepMask最长。然而,从分割结果上看,改进 Mask R-CNN 方法F1值可达到 0.918,AP50 值可达到0.730,优于传统Mask R-CNN、DeepMask和MNC方法,可满足实例分割应用需求。
4.2 不同超参数对比
为提升杂草分割性能,修改原始Mask R-CNN区域建议网络,设计 32 × 32、64 × 64、128 ×128、256 × 256、512 × 512 共5 种不同锚点,对比不同尺寸锚点,完成锚点多尺度变换。从中挑选最可能存在目标的区域,检测和分割该区域,模型性能结果如表3所示。
对比3个特征提取网络(ResNet50,ResNet101,Mobilenetv2)和不同锚点尺寸可发现,各层锚点尺寸缩小1倍,即为(16,32,64,128,256)时,3个特征提取网络AP50分别为0.598、0.730、0.507。其中,ResNet-101 作为特征提取网络的改进Mask R-CNN 取得最高AP50 值。将锚点尺寸扩大1 倍时,3 个特征提取网络检测结果均最低。在选择ResNet-101 作为特征提取网络情况下,将锚点尺寸缩小1 倍的AP50 值比原始模型高3.4%,比锚点尺寸扩大1倍时高27.8%。
表2 不同分割模型对比Table 2 Comparison of different segmentation models
表3 多尺度变换对比试验Table 3 Experimental comparison of multi-anchor scale transformation
4.3 杂草检测试验结果与评估
为选择更有效分割模型,本文将改进Mask RCNN 模型更换 3 个特征提取网络(ResNet-50、ResNet-101 和MobileNetv2)作比较,从中选择在mIOU 和AP50 之间取得最佳平衡网络。选用1 200张玉米和杂草图像作测试比较,其中俯视、30°斜视、45°斜视各200张,晴天、阴天、雨后各200张。表4列出不同天气条件下精度率,召回率,F1值。
如表4所示,以ResNet-101作为特征提取网络改进Mask R-CNN模型表现良好。阴天检测效果好于晴天和雨后。阴天条件下,以ResNet-101 作为特征提取网络的Mask R-CNN 的F1值为0.9407、AP50 值 为 0.7649,F1值 比 ResNet-50 和 Mobile⁃Netv2 分别高6.53%和13.43%,AP50 值比ResNet-50和MobileNetv2分别高14.97%和24.69%。表明采用ResNet-101 作为特征提取网络的Mask R-CNN能够满足实例分割需求,可准确分割玉米和杂草。在ResNet-101作为特征提取网络的条件下,阴天的F1值比雨后和晴天分别高出1.99%和3.44%。AP50值比雨后和晴天分别高出2.63%和6.66%。
表4 不同天气条件下检测结果Table 4 Test results under different weather conditions
为明确模型对杂草、玉米植株和叶片错误识别情况,作出真实标签与模型预测标签之间混淆矩阵。如图7所示,混淆矩阵又称误差矩阵,由m行m列矩阵组成,m代表类别数,在本研究中标签共有杂草、杂草叶子、玉米、玉米叶子4类,将其他类别作背景,得到1 个5×5 方阵。该混淆矩阵对角线数值表示被正确识别情况,非对角线数值表示被错误识别情况。
如图7a 所示,晴天条件下,一部分玉米叶子和杂草被判断为背景,主要原因是晴天时光照强度大,高强度光照射到植物和土壤表面发生反射,影响检测结果。如图7c 所示,雨后条件下存在一部分真实标签未被识别,如图7b 所示,阴天分类准确率在3种天气条件下最佳。
为获得不同数据采集角度分割结果,使用俯视、30°斜视、45°斜视各测试200 张,不同拍摄角度下精度率、召回率、F1值见表5。
由表5可知,以ResNet-101作为特征提取网络的Mask R-CNN深度学习模型仍表现良好性能。在以ResNet-101作为特征提取网络条件下,30°斜视F1值为 0.9439、AP50 值为 0.7548,F1值比俯视和45°斜视分别高4.56%和1.60%,AP50 值比俯视和45°斜视分别高5.59%和3.17%。如图7e 所示,30°斜视拍摄时,对角线上识别正确标签数为1 444,在所有角度中分类精度最高。
4.4 杂草分割试验结果与评估
不同天气和角度杂草分割结果如图8所示,对于实例分割阶段,评价指标为mIOU(Mean intersec⁃tion over union error),mIOU 是评估分割结果重要指标[20],常用于评估Mask R-CNN 模型分割性能。表6 为1 200 张含有杂草和玉米图像测试结果。可见ResNet-101 在总测试集上mIOU 值为0.624,比ResNet-50高8.8%,比MobileNetv2高16.3%。可见以ResNet-101作为特征提取网络改进Mask R-CNN深度学习模型仍然表现良好性能。在以ResNet-101 作为特征提取网络条件下,30°斜视和阴天mIOU 值分别为0.675 和0.663,为不同角度和天气中最佳,分割效果较好。由图8可知,玉米叶片识别效果好于杂草,因视野中玉米植株比杂草植株体积大且数量少。但是图像中部分杂草体积较小,不利于获得杂草全部叶片,对获取杂草叶龄存在一定困难。
图7 以ResNet-101作为特征提取网络的Mask R-CNN模型混淆矩阵Fig.7 Confusion matrix of Mask R-CNN with ResNet-101 as the feature extraction network
表5 不同拍摄角度下检测结果Table 5 Test results under different shooting angles
图8 不同拍摄角度和天气条件下分割结果Fig.8 Segmentation results under different shooting angles and weather conditions
表6 模型分割结果Table 6 Segmentation results of the model
叶龄是植物重要表型性状,不同叶龄杂草所需除草剂剂量不同,获取杂草准确叶龄为精准对靶除草提供技术支持,不同叶龄杂草和玉米分割结果见图9,可见整株植物叶龄和每个叶片分割情况。
通过计算机计算所得叶龄值与采集数据时标签上叶龄值作比较得到叶龄识别准确率。由表7可知,ResNet-101作为特征提取网络的Mask R-CNN深度学习模型性能良好。在选择ResNet-101 作为特征提取网络情况下,30°斜视叶龄识别准确率为0.915,比45°斜视和俯视分别高2.6%和4.2%,阴天叶龄识别准确率为0.935,比雨后和晴天分别高2.1%和4.3%。
图9 不同叶龄分割结果Fig.9 Segmentation results with different leaf ages
表7 叶龄识别准确率Table 7 Accuracy of leaf age recognition
5 讨 论
本研究以农田杂草和玉米植株为研究对象,实现在田间复杂环境下识别获取叶龄,分析不同天气和拍摄角度对叶龄识别影响。改进Mask RCNN 模型精度显著提高,在锚点尺寸缩小1 倍时AP50值比原始模型高3.4%,与孔英会等研究结果一致,因本研究中杂草叶片尺寸较小,所以将锚点尺寸缩小一半检测效果最为理想[21]。以ResNet-101 为特征提取网络改进的Mask R-CNN 表现最佳分割性能。本文方法单样本耗时为568.3 ms,与姜红花等研究结果在单样本耗时上存在差距,主要是由于在分割之后需计算单株植物叶龄,而自然环境相对复杂,影响因素较多,导致计算时间增加[22]。
在以ResNet-101 作为特征提取网络基础上,阴天检测精度高于晴天和雨后。原因是阴天时光照强度低,土壤反射太阳光较少而晴天时光照强度大,发生大量反射。晴天时由于太阳光直射,导致植株产生倒影,均影响检测精度。30°斜视检测精度高于45°斜视角度和俯视角度。主要原因是30°斜视拍摄时,视野中玉米多为2~3 株,玉米苗和杂草大小适中。30°斜视角度包含俯视图和侧视图杂草和玉米信息,有助于提高模型精度。45°斜视拍摄时,视野中玉米和杂草体积较小,玉米多为3~4株,对于较小玉米和杂草识别较差。俯视时相比于其他2个角度精度较低,因30°和45°斜视均包含俯视图和侧视图杂草和玉米信息,而俯视拍摄只包含1个角度杂草和玉米信息,导致模型精度降低。该模型在实际应用中表现出良好分割性能,可适应农田复杂环境,但该研究仅获得杂草叶龄,无法获取杂草种类,未来研究重点将放在评估涵盖更大范围杂草和作物品种图像数据集上。
6 结论
a.改进后Mask R-CNN 模型精度显著提高,以ResNet-101为特征提取网络的改进Mask R-CNN表现最佳的分割性能。本文方法的单样本耗时为568.3 ms,满足田间变量喷洒要求。
b.在以ResNet-101 作为特征提取网络基础上,阴天 AP50 和 mIOU 值分别为 0.7649 和 0.663。mIOU 值比晴天提高了7.9%,比雨后提高了4.5%;30°斜视 AP50 和 mIOU 值分别为 0.7548 和 0.675。mIOU 值比45°斜视角度提高6.2%,比俯视角度提高8.2%。
c.该模型在实际应用中表现出良好分割性能,可适应农田复杂环境,对体积小杂草也具有良好分割效果。为后续智能对靶变量喷洒农药提供技术支持,可减少化学农药使用,对智能农业发展和生态环境保护具有重要意义。