APP下载

基于人工智能的青菜幼苗与杂草识别方法

2021-03-04孙艳霞陈燕飞金小俊于佳琳

福建农业学报 2021年12期
关键词:置信度青菜阈值

孙艳霞,陈燕飞,金小俊,于佳琳,陈 勇 *

(1. 南京林业大学机械电子工程学院,江苏 南京 210037;2. 南京交通职业技术学院轨道交通学院,江苏 南京 211188;3. 南京林业大学林学院,江苏 南京 210037)

0 引言

【研究意义】青菜幼苗与杂草的精准识别是实现青菜智能化作业,促进高质量蔬菜生产的关键[1]。目前,青菜田的杂草防除仍然依赖人工除草。人工除草效率低下,且人力成本的提高不仅推高了青菜的种植成本,同时也限制了蔬菜产业的发展[2]。智能化的机械除草是青菜杂草控制的首选方式[3−4],而杂草的精准识别是其实现过程中的关键一环[5−6]。【前人研究进展】近年来,研究人员相继开展了杂草识别研究[7−9]。徐涛等[10]提出了一种基于三维点云的蔬菜大棚杂草识别方法,利用高度特征区分蔬菜作物和杂草,识别率可达86.48%。Osorio 等[11]分别基于机器学习的支持向量机(SVM)技术和基于深度学习的YOLO-v3、Mask R-CNN 卷积神经网络模型对生菜田中的伴生杂草进行识别,试验结果表明,人工智能技术优于传统图像处理技术,可有效识别杂草。杂草识别方法通常利用杂草本身的特征,包括颜色特征[12]、形态特征[13]、纹理特征[14]和多光谱特征[15]等。杂草种类繁多,特征各异,难以提取具有普适作用的特征,且人工设计的特征存在着精准度差、鲁棒性不足等缺陷[5,16−18]。随着人工智能技术的发展,机器学习、深度学习等技术逐渐应用于杂草识别研究,并取得了诸多进展[19−22]。【本研究切入点】文献检索显示,青菜幼苗识别国内外尚无相关研究,本文将基于人工智能技术对青菜幼苗识别展开初步探索。在菜田中,青菜之外的植物都可以认为是杂草或者被视作杂草。因此,识别出青菜幼苗后,剩余的绿色目标即可标记为杂草。这一方式不仅简化了杂草识别的复杂性,同时提高了杂草识别的泛化能力。对于不同种类、形态、生长状况的杂草都能基于识别青菜,进而通过颜色特征进行杂草的识别和分割。【拟解决的关键问题】本文拟提出并验证适用于当前青菜无行距和株距种植方式的青菜幼苗与杂草识别方法,以期解决杂草识别这一制约精确除草的瓶颈问题,同时为青菜及其他相似蔬菜的精准作业提供技术参考。

1 材料与方法

1.1 图像采集

以青菜幼苗及其伴生杂草为试验对象。青菜幼苗图像于2020 年7 月和9 月分2 批采集自南京市栖霞区八卦洲的某青菜种植园内,图像原始分辨率为4032 × 3024 像素,共采集图像样本850 幅。为保证神经网络模型训练样本的多样性,图像采集了不同播种时间的青菜田,以及晴天、阴天等不同光线状态下的样本实体。为降低图像处理时间,提高算法田间应用的实时性,对于采集的样本图像,使用开源图像处理软件ImageJ(https://imagej.nih.gov/ij/)批量调整尺寸至1400 × 1050 像素,并使用LabelImg 软件进行图像标注,标注信息为青菜幼苗的矩形边框,标注完成后生成与图像对应的XML 标签文件,作为神经网络模型的数据集样本。

1.2 神经网络框架

为探究不同神经网络模型对青菜幼苗识别的效果,选取不同目标检测模型进行评价分析。试验神经网络平台为MMDetection 框架。MMDetection是一款基于PyTorch 的开源工具箱,其支持了众多主流的神经网络模型算法。神经网络模型训练和运行的硬件系统为台式计算机,搭载Inter(R) core(TM) i9-9900K CPU @3.60 GHZ 处理器,图形处理单元为NVIDIA GeForce RTX 2080Ti,运行内存为64 GB,操作系统为Ubuntu 20.04。

1.3 青菜幼苗与杂草识别方法

将采集到的青菜幼苗图像分为训练集、验证集和测试集。训练集图像用于神经网络模型的训练,并基于验证集评价数据获取最优训练模型。同时,对比不同置信度阈值下的精度、召回率和F1值,选择最佳置信度阈值应用于测试集。根据测试集评价数据,对比分析CNN 模型和Transformer 模型的检测效果。将所得最优神经网络模型用于青菜幼苗的识别。识别出青菜幼苗后,边框之外的绿色目标即视为杂草,进而利用颜色特征进行杂草分割,并通过面积滤波滤除分割噪点。

1.3.1 基于人工智能的青菜幼苗识别

1.3.1.1 检测模型当前目标检测算法主要基于卷积神经网络(CNN),其中最具代表性的为YOLO 系列模型。YOLO 模型利用多尺度检测和残差网络实现目标检测,同时通过将目标检测转化为端到端的回归问题,极大地提高了检测性能。YOLO 模型兼具高准确率和实时目标检测能力[23]。得益于强大的注意力机制,基于Transformer的神经网络模型广泛应用于自然语言处理(NLP)任务,成为了NLP 领域的主流算法。近年来,研究者将Transformer 应用至计算机视觉领域,结果表明其在目标检测任务中展现了优异的性能,亦逐渐成为当下的研究热点。

为探究主流CNN 模型以及新兴Transformer 模型在青菜幼苗识别中的效果,并为相似植物检测领域神经网络模型的选取方式提供参考,本研究分别选取基于CNN 的最新一代YOLO 系列模型YOLOX 和基于Transformer 机制的Deformable DETR 模型开展试验。在田间应用中,算法的实时性至关重要。本研究将从检测准确率和检测性能两方面对CNN 模型和Transformer 模型进行综合对比,并根据评价结果选取最佳模型进行青菜幼苗识别试验。表1 为模型的超参设置。

表1 模型超参设置Table 1 Hyperparameters of models

1.3.1.2 评价指标采用精度(precision)、召回率(recall)、F1值以及平均精度(average precision)作为模型的评价指标。其中,精度表示模型正确检测出的青菜幼苗数量与预测为青菜幼苗数量的比值。召回率则表示样本中所有青菜幼苗目标被正确预测的比例。精度和召回率的计算公式为:

式中tp为被模型预测为正的正样本数量、fp为被模型预测为正的负样本数量、fn为被模型预测为负的正样本数量。

F1值是基于精度和召回率的综合评价指标,其定义为精度与召回率的调和平均数:

平均精度表示模型对某一类别目标的检测效果,由于本研究只有青菜幼苗一个类别,因而平均精度越高,表明模型总体检测效果越佳。平均精度的计算方式为取精度和召回率曲线(PR-Curve)的积分:

1.3.2 基于颜色特征的杂草识别杂草与青菜幼苗同为绿色,单纯利用颜色特征很难进行区分。但另一方面,杂草与土壤背景的颜色存在较大差异,通过绿色特征可以从土壤中识别出杂草。本研究首先利用人工智能识别出青菜幼苗,并在识别杂草时去除青菜幼苗边框之内的像素。如此,图像中剩下的绿色像素值即可认为是杂草像素,利用颜色特征将其从土壤背景中分割出来。本研究采用杂草识别中广泛应用的超绿因子[24]对杂草进行分割。杂草为绿色,因而对于RGB 颜色空间下的杂草像素,其G分量值必然大于R分量值和B分量值。根据此规律,可对超绿因子进行条件改进,以进一步提高分割性能。改进后的超绿因子如下所示:

式中,R、G、B分别为对应RGB 值,r、g、b分别为归一化之后的RGB 值,采用归一化之后的像素值可以在一定程度降低光照强度对图像分割的影响[25]。r、g、b的计算公式为:

2 结果与分析

2.1 青菜幼苗识别

青菜幼苗识别样本数据集共有850 张图像,其中训练集为650 张图像、验证集和测试集各包含100 张图像。训练集、验证集和测试集样本相互独立无交叉。数据集标注青菜幼苗目标10578 个,其中训练集、验证集和测试集分别包含7911 个、1320 个以及1347 个青菜幼苗。模型在检测过程中根据置信度判定当前预测目标是否为正样本,因而置信度阈值的选取关乎模型的精度和召回率等评价数据。不同置信度阈值(0.9、0.8、0.7、0.6、0.5、0.4、0.3、0.2和0.1)对应的精度、召回率及F1值数据如表2 所示。本研究将在验证集中,根据不同置信度阈值的评价数据,选择最佳阈值用于对比分析测试集下模型的青菜幼苗识别效果。

由表2 可知,当置信度阈值为0.9 时,YOLOX模型的精度值最高,达到1.0,但对应的召回率只有0.04。该阈值下,虽然YOLOX 模型预测的青菜幼苗目标全部正确,但遗漏了96%的青菜幼苗目标。相反,当置信度阈值为0.1 和0.2 时,YOLOX 模型的召回率同样达到了最高值1.0,精度值为0.877,显示其有12.3%的误检。通过观察F1值可知,YOLOX模型和Deformable DETR 模型的最佳置信度阈值为0.6 和0.4,该置信度下精度值和召回率取得了最佳平衡。分别对应F1值为0.961 和0.959。

表2 不同置信度阈值验证集评价数据Table 2 Evaluation matrixes of varied confidence scores on val data set

将最佳置信度阈值应用于测试集,得到表3 所示的模型评价数据。观察表3 可知,YOLOX 模型和Deformable DETR 的召回率相同,都高达0.97。召回率是青菜幼苗识别和杂草识别的重要指标,召回率过低会导致青菜幼苗被遗漏进而被误识别为杂草。本研究所选模型表现出了优异的青菜幼苗召回能力。精度方面,YOLOX 模型比Deformable DETR 模型略高1.5%。由此,YOLOX 模型拥有最高的F1值(0.956)。对于平均精度,YOLOX 模型和Deformable DETR 模型都高于97%,表明其对于青菜幼苗都有较好的识别率。根据F1值和平均精度,YOLOX 模型识别青菜幼苗的效果更佳。此结果也表明,卷积神经网络的模型在植物类别检测中仍然比Transformer 模型略胜一筹,但差距并不明显,相信随着Transformer模型研究的进一步深入,未来表现可期。

表3 同样列出了YOLOX 模型和Deformable DETR模型的检测速度。该速度值取测试集中100 张图像的平均值。观察可知,YOLOX 模型和Deformable DETR 模型检测性能差距明显,前者的速度是后者的4 倍。此结果与YOLOX 模型兼顾精度和性能的特征相符。综合识别率和模型检测性能,基于卷积神经网络的YOLOX 模型为青菜幼苗识别的最优模型。

表3 测试集最优置信度阈值的评价数据Table 3 Evaluation matrix of highest confidence score on test data set

图1 所示为评价最优模型YOLOX 的青菜幼苗识别效果图。为验证模型在不同场景下的识别鲁棒性,分别选取图1-a 包含禾本科杂草的图像、图1-b包含阔叶草的图像以及图1-c 不同生长大小的青菜幼苗图像,从效果图可看出,YOLOX 模型在不同类型杂草背景和不同青菜幼苗生长大小下,均能正确识别青菜幼苗目标,展示了其良好的识别效果。

图1 不同场景下的原图及YOLOX 模型青菜幼苗检测效果Fig. 1 Images of bok choy seedlings under original conditions and YOLOX model

青菜种植通常没有明显行距与株距,随机分布于田间,青菜幼苗可能会相互重叠。在该场景下,模型会将两颗或多颗青菜幼苗识别成一颗。此漏检情况虽然会降低识别的召回率,但不会对田间实际应用产生实质影响。在精确除草作业下,重叠青菜幼苗所在的整体区域是被成功识别并标记边框的,并不影响边框之外的绿色目标被判定为杂草。当然,后续可通过增加重叠青菜幼苗的训练样本,以改善此漏检情况。

2.2 杂草识别

识别并标记青菜幼苗所属绿色像素后,剩余的绿色目标都是杂草或者被看做杂草。图2 所示为改进后的超绿因子的杂草分割效果图(去除青菜幼苗边框内绿色像素)。从图中可以看出,杂草被正确识别并展现出极佳的分割效果,但分割后的二值图中仍然存在一些噪点像素。

图2 杂草分割效果Fig. 2 Image showing seedlings/weeds separation

图3 所示为面积滤波之后的分割效果图。观察可见,图中的噪点像素被完全滤除,杂草目标的形态完整且保有清晰的轮廓。图中同样用蓝色矩形框标记出青菜幼苗的位置,根据此效果图的青菜幼苗和杂草识别信息,可用于田间青菜幼苗的精准除草工作。该试验结果表明本研究所提出的青菜幼苗和杂草识别方法具有高度的可行性以及极佳的应用前景。

图3 面积滤波及最终杂草识别效果Fig. 3 Area filter and weed-recognized image

青菜生长周期较短,播种后18~25 d 即可收获[26]。除草工作通常在青菜幼苗期进行。本研究不直接识别杂草,而是通过识别青菜幼苗进而间接识别杂草。因此,杂草种类、形态和大小的差异并不会实质影响杂草识别的效果。

3 讨论与结论

本研究提出了一种基于人工智能的青菜幼苗与杂草识别方法。首先通过神经网络模型识别青菜幼苗。青菜幼苗目标之外的绿色像素则视为杂草,并利用颜色特征对杂草进行分割。研究所得结论如下:

1) 主流的CNN 模型YOLOX 和新兴的Transformer模型Deformable DETR 都能有效识别青菜幼苗。其中YOLOX 模型为本次青菜幼苗识别试验的最优模型,其平均精度和识别速度分别为98.1%和44.8 fps。

2) 识别并标记青菜幼苗目标后,图像中剩余的绿色目标都是杂草或者被看做杂草。此方式不仅简化了杂草识别的复杂性,同时提高了杂草识别的泛化能力。试验表明,该方法能够有效识别杂草,适用于当前青菜无行距和株距的种植方式。

猜你喜欢

置信度青菜阈值
基于数据置信度衰减的多传感器区间估计融合方法
青菜新品种介绍
一种基于定位置信度预测的二阶段目标检测方法
改进的软硬阈值法及其在地震数据降噪中的研究
土石坝坝体失稳破坏降水阈值的确定方法
基于小波变换阈值去噪算法的改进
改进小波阈值对热泵电机振动信号的去噪研究
我终于不讨厌吃青菜了
饿狼
爱吃青菜的大公鸡