王 楷,韩 笑,朱华吉,缪祎晟,吴华瑞,3,4
(1.江苏大学 计算机科学与通信工程学院,江苏 镇江 212013;2.国家农业信息化工程技术研究中心,北京 100097;3.北京市农林科学院信息技术研究中心,北京 100097;4.农业农村部数字乡村技术重点实验室,北京 100097)
甘蓝工厂化育苗多采用人工方式进行温室管理,人力成本和时间成本较高。随着智能农业装备的普及,基于计算机视觉[1-2]的作物长势分析方法得到了快速发展。在此过程中对穴盘内的幼苗个体进行准确分割是一项重要步骤。高效的苗株分割算法可为全周期、多阶段的温室自动化育苗系统提供苗期识别[3]、表型参数[4]等长势信息,进而提高分段式苗期管理的效率和成苗质量。此外,苗株分割算法在病害检测[5-6]、质量分级[7-8]等领域均有很好的应用前景。
传统苗株分割算法[9]通过提取纹理、形状、色彩[10-12]等浅层特征区分苗株本体和背景。由于穴盘内存在砂岩、杂草等背景干扰,传统算法难以保证分割效果。深度学习算法[13-15]能够提取图像深层特征,在对苗株等具有复杂视觉信息的个体执行分割任务时更具优势。
目前,针对果蔬植株的深度学习分割算法已取得较多研究成果。应用在农业中的分割算法主要有语义分割和实例分割算法两大类。文献[16]使用融合注意力机制的轻量级语义分割模型分割白菜幼苗,准确率为99.2%。文献[17]基于UNet 分割算法,在其SE-ResNet 主干网络中设计了短跳连接结构,在对高噪声背景的水稻根系图像分割测试中的平均交并比为87.4%。上述文献采用语义分割算法实现了苗株像素级的掩码分割,拥有较少的参数量,便于部署。此类算法适用于同类作物的群体检测,但无法区分同类别中的个体,不利于精细化长势分析的实现。实例分割算法可实现对不同实例个体的精准识别,文献[18]采用MASK-RCNN 植物分割模型对不同品种的植物茎叶进行分割,平均识别精度为70%以上。文献[19]提出一种多尺度特征融合和密集连接网络,实现了对黄花梨疏果期植株的准确分割,在测试集上.其平均局域重合度(MIoU)为77.97%。文献[18-19]采用的双阶段实例分割算法具有较高的检测精度,但其“先检测,后分割”的方式影响了模型的计算速度。农业自动化巡检等实时检测测的需求使得单阶段实例分割算法投入应用。文献[20]基于SOLOv2 单阶段分割算法提出一种改进的番茄穴盘苗分割算法,实验结果表明该算法在交并比为0.5 的情况下,平均准确率为88.5%,能够实现番茄苗的实时分割。文献[21]在YOLACT++网络中加入改进的Res2Net 模块,将碧根果的分级准确率提升至98.5%,平均检测帧率为21.6 帧/s。单阶段的实例分割算法的检测速率具有较大优势,但在复杂背景下的农业应用场景中,实例个体边缘处的分割精度有待提高。
上述算法的分割对象均为单品种或多品种苗株,尚未实现对同品种不同苗期的苗株进行分割。在苗株间距较近且叶片存在相互遮挡时,算法的分割效果会下降。在穴盘育苗的过程中,种苗的自遮挡面积会随着种苗生长逐渐增大,导致苗株分割更加困难。针对上述问题,本文基于YOLACT[22]实例分割算法进行改进,利用递归特征金字塔(Recursive Feature Pyramid,RFP)结构[23]增强YOLACT 目标检测模型在图像边缘处的分割能力。针对甘蓝育苗早期苗株大小和形状变化较大,常规卷积核难以提取完整苗株特征的问题,引入包含空洞卷积的空间金字塔池化(Atrous Spatial Pyramid Pooling,ASPP)结构[24],通过改变卷积核的尺寸提高感受野,加强多尺度目标的识别能力。最后,使用ResNeXt[25]作为主干网络,在降低模型参数的同时进一步加快收敛速度。
本次育苗实验于国家农业信息化工程技术研究中心精准农业试验基地甘蓝育苗温室开展,选用的甘蓝品种为中甘-21。育苗时间从2021 年10 月持续至2021 年11 月,日间温室环境温度保持在15~25 ℃之间。不同苗期的甘蓝种苗所需光照、温度、水肥条件不同,实验过程中根据种苗所处苗期采取的对应管理措施[26]见表1。甘蓝在出苗期2~3 天内不需要额外的光照和水肥管理,因此本文未对出苗期甘蓝苗进行分割识别。实验采集了同一批次播种的甘蓝30 天育苗周期内的图像数据,共计12 000 张JPG 格式的图片,分辨率为1 024×1 024 像素。使用俯视视角采集距离穴盘高度为10~15 cm 的单株种苗图像,包括甘蓝子叶平展期、真叶生长期、成苗期和炼苗期4 个生长期。图1 为部分甘蓝种苗数据集中的图像样本。
图1 甘蓝苗数据集Fig.1 Cabbage seedlings data set
表1 甘蓝苗期形态特征及管理措施Table 1 Morphological characteristics and management measures of cabbage in seedling stage
为加快模型训练速度,减轻GPU 训练压力,本文将图像分辨率等比例缩放到550×550 像素。训练集和测试集的划分比例为4∶1。
本次实验使用Labelme 软件标注甘蓝苗期的图像,采用人工方式标注俯视视角下甘蓝苗株的边缘区域,标注区域包含甘蓝苗株的真叶和子叶。部分标注后的图像样本见图2。表2 为各苗期对应的标注图像数量,共计标注15 724 个样本。
图2 标注后图像样本Fig.2 Annotated image sample
表2 训练集和测试集标注数量Table 2 Annotation number of training set and testing set 单位:个
不同于MASK-RCNN[27]等采用重定位的两阶段(two-stage)实例分割算法,YOLACT 算法是一种单阶段(one-stage)实例分割算法,其将分割任务分为原型掩码分支和目标检测分支,通过将两者进行线性组合的方式来计算分割结果,具有良好的实时分割性能。本文基于YOLACT 研究YOLACT-RFX 算法,该算法引入递归特征金字塔(RFP)结构和ResNeXt 主干网络加强对穴盘内密集种植的甘蓝苗株边缘处的特征提取能力,同时利用ASPP 结构加强多尺度甘蓝幼苗特征提取性能。YOLACT-RFX 算法的网络结构如图3 所示。在特征金字塔(FPN)结构中,底层的特征语义信息较少,但是目标位置信息准确;高层的特征语义信息丰富,但是目标位置信息较为匮乏。YOLACT 算法将主干网络的C3~C5 层作为输出向量,对底层特征信息提取不充分。穴盘中的甘蓝苗种植密集,在育苗后期,苗株个体间的相互遮挡现象增加,使得叶片边缘处分割难度加大。因此,为提高算法对苗株叶片边缘的位置特征提取性能,本文将ResNeXt 主干网络中的C2~C5 共4 层向量作为输出,结合递归特征金字塔(RFP)结构完成特征提取,并采用并行方式进行原型掩码生成和实例掩码系数预测2 个任务。掩码生成模块提取RFP 结构中的P2 层数据,该层拥有更多的纹理、形状等低级语义信息,便于提高叶片边缘处的分割质量。
图3 YOLACT-RFX 算法结构Fig.3 Structure of YOLACT-RFX algorithm
实例掩码系数预测模块充分利用递归特征金字塔结构中P2~P6 共5 层网络中的语义信息,在甘蓝苗株特征图的每个像素点上生成锚定框,计算生成3 类输出:苗期类别置信度C、边界框位置偏移系数4和苗株个体分割掩码的置信度系数K,每个锚定框生成的系数为4+C+K。
将原型掩码分支和掩码系数分支进行线性组合后可得到实例分割掩码。Concat 模块使用矩阵乘法的运算方式,经过Sigmoid 函数运算后输出甘蓝苗分割掩码。计算方式如式(1)所示:
其中:P是一个h×w×k维度的原型掩码矩阵;C是k×n维度的掩码预测系数矩阵,n代表经过Fast-NMS 算法筛选出的掩码矩阵个数。
YOLACT-RFX 算法的损失函数Loss 由分类损失(Lcls)、边界框回归损失(Lbox)和掩码损失(Lmask)3 部分组成,表达式如下:
其中:掩码损失Lmask使用二进制交叉熵(Binary Cross Entropy,BCE)函数计算线性组合后的实例掩膜M和真实掩膜Mgt,其表达式如式(3)所示。
1.3.1 融合递归反馈机制的特征金字塔结构
进入成苗期后的甘蓝苗真叶生长迅速,穴盘相邻孔位间距较近,会出现苗叶之间的相互干扰和遮挡的现象。常规特征金字塔结构在面对复杂场景时的分割效果难以保证,本文使用加入主干网络反馈机制的递归特征金字塔结构,将特征金字塔网络(Feature Pyramid Networks,FPN)中额外的反馈连接加入自下而上的骨干网络中,递归式增强FPN 网络的表征能力。反馈连接将直接接收来自探测器的梯度特征,并带回到自下而上的主干网络中,从而提高分割精度。该结构同时强化了底层目标位置信息和高层语义信息的提取能力,使模型在育苗进入成苗期和炼苗期后具有更强的苗株定位能力和边缘叶片的识别分割能力。RFP 的结构如图4所示。
图4 FPN 与RFP 网络结构Fig.4 Structures of FPN and RFP network
在FPN 网络中,对于∀i=1,2,…,S,输出特征层fi推算方法如式(4)所示:
其中:Bi表示自下而上主干的第i级;Fi表示第i次自上而下的FPN 运算。融合FPN 的主干输出一组特征映射{fi|i=1,2,…,S},S表示级数。加入反馈连接之后的递归特征金字塔网络输出特征层fi的推算公式如式(5)所示:
其中:Ri表示在将特征转换连接回自下而上主干之前的特征转换,这使得RFP 成为递归操作。将RFP结构展开到一个顺序网络:
其中:i是T展开迭代的次数;上标t表示特征网络在展开步骤T处的操作。本文设置迭代次数T=2。RFP 结构的实现通过包含空洞空间卷积池化金字塔(ASPP)结构的FPN 模块一起来执行递归计算,RFP的展开结构如图5 所示。
图5 RFP 网络的展开结构Fig.5 Expanded structure of RFP network
1.3.2 空洞空间金字塔池化结构
甘蓝育苗过程中苗株个体的尺寸变化较大,使用常规的3×3 卷积难以提取完整的苗株空间信息。在YOLACT 网络中,对不同尺度目标的检测性能依赖于FPN 结构,在固定倍率缩放下的特征提取能力有限。水肥供给和光照条件的变化导致甘蓝苗株的生长具有一定的随机性,同一苗期内种苗的生长方向、株宽尺寸等也会存在差异。因此,需要根据其生长特性,强化多尺度目标的检测能力。空洞卷积[28]通过在标准卷积的基础上加入不同倍率的间隔,实现增大网络感受野、增强捕获多尺度上下文信息的效果。空洞空间金字塔池化结构使用了具有不同采样率的多个并行空洞卷积层。将每个采样率提取的特征在单独的分支中进一步处理,融合后输出特征。该模块通过不同的空洞率构建不同感受野的卷积核,用来获取多尺度物体信息。ASPP 模型的结构如图6 所示。ASPP 模块由不同卷积率的空洞卷积分支和一个平均池化分支组成,每一个分支都压缩为输入通道的1/4,最后共同进入到Concat 模块,合并扩大通道数后输出特征向量。本文数据集中的甘蓝苗株多为中、大尺寸的目标,故选取了较大的空洞卷积倍率,4 个空洞卷积倍率分别为1、6、12、1。
图6 ASPP 模块的结构Fig.6 Structure of ASPP module
1.3.3 ResNeXt 主干网络
为减少主干模型参数和匹配递归特征金字塔结构,YOLACT-RFX 算法使 用ResNeXt-101 网络作 为主干特征提取网络。ResNeXt 网络采用了分组卷积的思想,相较于原始YOLACT 模型中的ResNet 网络,ResNeXt 网络拥有更少的参数量和更高的精度[29]。
ResNeXt 网络的特征提取模块分为4 个阶段,每个阶段由1×1 和3×3 的卷积模块组成。ResNeXt-101对应的4 个特征 提取层 的个数 分别为3、4、23、3。ResNeXt-101 网络的参数见表3。
表3 ResNeXt-101 网络参数Table 3 ResNeXt-101 network parameters
在二级递归特征金字塔结构中,主干网络需要将当前特征层x和前一级金字塔网络中计算得出的递归特征向量R(f)同时作为输入。因此,本文在主干网络的4 层特征提取模块中各添加一条RFP 特征反馈输入通路,该通路采用了1×1 的卷积块,并将初始权值设置为0,从而确保在前向特征金字塔结构中加载特征向量时保持参数一致。改进后的ResNeXt主干网络如图7 所示。
图7 ResNeXt 主干网络的改进Fig.7 ResNeXt backbone improvements
本文实验使用基于Windows 11 操作系统的计算 机,CPU 为Intel i5-11400F,GPU 为NVIDIA GeForce RTX 3060。实验采用的深度学习框架为PyTorch 1.11,编程语言为Python 3.7。
模型训练时采用随机梯度下降法,初始学习率设置为0.000 1,梯度更新值设置为0.9,权重衰减项设为0.000 5,实验训练次数Epoch 设置为60 轮,学习率分别在第20、42、49 和52 轮次线性下降。
实验设定阈值IoU=0.50,利用平均精度(Average Precision,AP),平均召回率(Average Recall,AR)和各类平均精度(mean Average Precision,mAP)评价算法性能,其表达式如下:
其中:TP 是True Positives的简写,FP是False Positives的简写,FN 是False Negatives 的简写,TTP、FFP、FFN是根据Ground Truth 的预测结果。
2.3.1 算法性能分析
为验证递归特征金字塔结构(RFP)和ResNeXt骨干网络架构的有效性,将YOLACT 算法、引入递归特征金字塔结构的YOLACT-RF 算法和基于改进ResNeXt 主干网络的YOLACT-RFX 算法进行对比。从收敛速度、检测精度和分割精度3 个方面比较模型性能,结果如图8 所示。
图8 训练损失曲线Fig.8 Training loss curve
由图8 可知,递归特征金字塔结构的引入有效地加速了模型收敛,同时也使模型的总损失值降低至1.82。在进一步融合ResNeXt 主干网络后,YOLACT-RFX 算法的收敛速度得到加强,在迭代80 000 次后实现了模型收敛。将甘蓝苗株测试图像分别输入到YOLACT、YOLACT-RF 和YOLACT-RFX 3 种算法中,计算交并比IoU=0.50 时的检测平均精度(bbox_mAP)和分割平均精度(segm_mAP)。图9所示为检测平均精度和分割平均精度的训练曲线。
图9 检测平均精度和分割平均精度训练曲线Fig.9 Training curves of detection and segmentation mean precision
由图9 可知,在采用相同的特征提取网络ResNet-101 时,使用递归特征金字塔结构的YOLACT-RF 算法的目标检测平均精度和分割平均精度分别为0.827 和0.823,相较于YOACT 算法分别提升1% 和1.5%。使用ResNeXt-101 主干网络后YOLACT-RFX 算法的性能进一步提高,目标检测平均精度为0.851,分割平均精度为0.841,对比YOLACT 算法分别提升了3.4%和3.6%。实验结果证明递归特征金字塔结构和ResNeXt 主干网络的使用可以有效提升算法精度。上述算法在各苗期内的分割平均准确率见表4,表中加粗数字表示该组数据最大值。如表4 所示,相较于原始YOLACT 算法,YOLACT-RFX 算法在4 个甘蓝苗期内的平均准确率均有明显提升。其中,子叶平展期提升了3.7 个百分点,炼苗期提升了9.4 个百分点。成苗期和炼苗期时的甘蓝苗株间的交错遮挡现象较多,YOLACT-RFX算法显著提高了对育苗后期苗株的识别分割能力。
表4 不同苗期的分割性能对比Table 4 Comparison of segmentation performance in different seedling stages %
甘蓝苗在生长过程的尺寸变化较大,且在同一苗期内,苗株个体间的的尺寸和形状也存在差异。实验评估了上述算法在不同尺度样本中的分割性能。使用AP_S、AP_M、AP_L 表示小、中、大3 个尺度样本的平均准确率,使用AR_S、AR_M、AR_L 表示小、中、大3 个尺度的平均召回率,数据见表5,表中加粗数字表示该组数据最大值。
表5 不同样本尺度的分割性能对比Table 5 Comparison of segmentation performance at different sample scales
在甘蓝育苗的后期,穴盘内的白色珍珠岩颗粒会随着基质湿度的增加变为绿色。由于颜色与甘蓝苗叶片相近,分割任务难度会进一步增大。空洞空间池化金字塔(ASPP)结构的引入加强了YOLACTRFX 算法对中、大尺度目标的检测能力,使YOLACT-RFX 算法对成苗期和炼苗期内的甘蓝苗的识别性能更强。由表5 可知,YOLACT-RFX 算法在3 种尺度上的平均准确率均优于YOLACT 算法,提高了2.5~12.3 个百分点,在平均召回率方面对比YOLACT 算法提升了 0.5~12.5 个百分 点。YOLACT-RFX 算法训练迭代1 次的平均时间为0.68 s,相较于原始YOLACT 算法提升了约4 个百分点,对比YOLACT-RF 算法提升了约7 个百分点,ResNeXt 骨干网络的使用加速了模型收敛,使改进后的算法拥有较快的平均训练速度。
2.3.2 不同分割算法的性能对比
为验证YOLACT-RFX 算法的性能,本文引入多种主流实例分割算法进行对比实验,包括采用无锚框设计的快速实例分割算法SOLO[30],两阶段实例分割算法MASK-RCNN 和多阶段实例分割算法QueryInst[31]。在阈值IoU=0.5 时对比 上述算 法的各类平均精度(mAP),平均召回率(Average Recall)以及平均检测帧率(Frames Per Second,FPS)3 项指标,数据见表6,表中加粗数字表示该组数据最大值。
表6 不同算法的分割性能对比Table 6 Comparison of segmentation performance of different algorithms
由表6 可知,YOLACT-RFX 算法的各类平均精度为84.4%,相较于表6 中对比算法高出2.5~22 个百分点。SOLO 算法的分割平均帧率为18.7 帧/s,拥有最好的实时性能,但各类平均精度仅为62.4%,分割精度较差。由于递归特征金字塔结构的引入,YOLACT-RFX 的平均帧率下降为13.8 帧/s,但相较于MASK-RCNN 等两阶段分割算法仍然具有良好的实时分割性能。
本文针对表6 中5 种算法进行了分割可视化。图10 为甘蓝苗数据集的分割结果。在甘蓝育苗早期,YOLACT 算法会受到穴盘、颜色相近的砂岩、标签等背景的影响。从图10(b)中可以看出,YOLACT算法出现将标签、穴盘边缘等物体错识别为甘蓝苗的情况,本文中的YOLACT-RFX 算法识别正确。SOLO 算法的分割速度较快,但生成的掩码质量不佳,由图10(c)可知,苗株的茎叶部分和叶片边缘部分有欠分割的现象。在进入成苗期和炼苗期之后,由于苗盘孔位间距较窄,苗株之间的相互遮挡情况变多,苗株分割的难度也会增大。图10(b)中YOLACT 算法容易受到相邻苗株的影响,存在误分割的现 象,而 图10(d)中 的MASK-RCNN 算法和图10(e)中的QueryInst 算法出现了苗期识别错误的问题。递归式特征金字塔结构可有效提高叶片边缘区域的分割精度,本文YOLACT-RFX 算法在面对复杂环境时有着更高的苗期识别率,且在茎叶区域和叶片遮挡区域的分割效果更好。因此,本文YOLACT-RFX 算法更适用于甘蓝工厂化育苗场景中的高精度分割任务。
图10 不同算法的甘蓝苗株分割结果对比Fig.10 Comparison of segmentation results of cabbage seedlings by different algorithms
甘蓝育苗过程中背景复杂、苗株间相互遮挡严重等因素导致难以对甘蓝苗株进行分割,本文以YOLACT 算法为基础,通过引入递归特征金字塔结构和ResNeXt 特征提取网络提高算法对茎叶遮挡区域的分割,引入空洞空间金字塔池化结构提高对不同苗期,不同大小尺度的苗株的分割性能。改进后的YOLACT-RFX 算法在交并比为0.5 下的各类平均精度和平均召回率分别为84.4%和92.7%,相较于YOLACT 算法提升了3.6、3.9 个百分点。在4 个苗期的甘蓝种苗分割测试中,YOLACT-RFX 算法的平均分割精度最高提升了9.4 个百分点,满足甘蓝工厂化育苗中的高精度分割要求,为温室自动化甘蓝苗期管理奠定了基础。甘蓝苗叶心处真叶的位置较为隐蔽,在单视角观测的情况下难以进行精确的识别分割,下一步考虑采用多视角观测的方式,提高甘蓝苗期识别的准确率和分割质量。