APP下载

融合Swin Transformer的虫害图像实例分割优化方法研究

2023-05-25高家军刘昱坤郭安琪石蒙蒙

关键词:虫害分数图像

高家军,张 旭,郭 颖,刘昱坤,郭安琪,石蒙蒙,王 鹏,袁 莹

(中国林业科学研究院资源信息研究所,北京 100091)

虫害作为自然灾害之一,具有突发性强、危害范围广、防治难度高等特点[1-3],对农、林、牧业等存在严重威胁,影响我国经济发展。实现对虫害的识别监测,是保护农、林、牧业等资源不受破坏的前提,也是促进我国经济发展的重要手段。

目前,对于虫害识别的方法主要分为人工识别方法、传统的机器学习方法以及深度学习方法,其中人工识别方法可以实现对虫害的精细识别,但存在主观性强、识别效率低、人工成本高等问题;传统的机器学习方法基于优选后的特征实现对虫害的识别[4-5],能够有效提高识别效率,降低人工成本,但其结果依赖于特征提取的优劣,识别效果稳定性不佳,泛化能力不强;相比于传统的机器学习方法,深度学习方法能够自动进行特征提取,具有稳定的识别效果与较强的泛化能力,已在虫害识别领域取得了较好的应用效果。在深度学习方法中,分类网络可以实现对虫害类型的判别[6-7],但无法精准定位虫害发生的位置;目标检测方法能够对目标进行识别框选,从而确定虫害位置信息[8-9],但缺少对昆虫个体信息的提取;语义分割方法可通过像素级的识别分割方式对昆虫的个体信息进行提取[10-11],但对于虫害聚集重叠的情况其个体分割效果较差;实例分割方法不仅可以实现对虫害的识别分类,还能够对其进行框选分割,在虫害聚集重叠的情况下可有效地获取其个体信息,十分适用于虫害定量化的精准监测。

现有基于实例分割方法的虫害识别研究已经取得了初步的进展[12-13],但受限于实验环境,大部分研究多采用纹理清晰、单张图片虫害数量少且目标占比大的图片数据进行实验,对于虫害数量较多、分布密集且目标较小的情况,模型的识别分割效果不佳,误检漏检现象严重。除此之外,目前多数实例分割方法在主干特征提取部分多采用卷积神经网络(convolutional neural network,CNN)结构,该类结构模型感受野有限[14],且会随网络深度的增加而减弱特征的长期依赖[15],造成小目标漏检、目标边缘分割模糊的问题[16]。不同于CNN,Transformer技术[17]可凭借注意力(attention)机制捕获整个特征图的长距离依赖关系[18-19],实现对全局信息模型的构建;而Swin Transformer技术[20]作为Transformer的改进模型,不仅具有Transformer的全局建模能力,其层级化的网络结构与移动的窗口信息交互方式在一定程度上扩大了模型的感受范围,减少了模型的计算量,适合于不同尺度目标的特征提取。

基于此,笔者提出了一种融合Swin Transformer的虫害图像实例分割优化方法(pest swin transformer,PST),该方法以经典的实例分割模型Mask R-CNN[21]为主要框架,引入Swin Transformer优化其主干特征提取部分,以此来实现对复杂真实场景下多幼虫个体的识别分割。

1 材料与方法

1.1 数据采集与处理

研究采用的数据为广西龙州县大青山东坡(106°39′~106°59′E,21°57′~22°19′N)实地拍摄的黄野螟(Heortiavitessoides)图像资料。黄野螟作为我国珍稀药用植物土沉香(Aquilariasinensis)的主要害虫[22-25],在幼龄期会对土沉香的叶片进行蚕食,造成叶柄脱落[26-27],暴发时会对土沉香造成严重的损毁,植株被害率可达90%以上[28-29],严重威胁土沉香的生长。真实场景下的黄野螟幼虫危害情况见图1,从图1中可以看出,黄野螟幼虫个体小且分布聚集,其颜色纹理与周围环境相近,这为模型的识别分割带来了一定的挑战,但也为评估模型在真实野外场景下的虫害识别应用提供了数据支撑。

图1 黄野螟幼虫危害图Fig.1 Heortia vitessoides larvae harm image

为避免不同设备性能的差异,所有试验数据均使用同一型号的数码相机(佳能M50,日本)进行采集,数据涵盖黄野螟幼虫在不同时间段、光照条件下的多种情况,经人工筛选,共收集可用黄野螟幼虫图片141张。为了训练和验证深度学习模型,采用图像标注软件 Labelme以人工标注的方式进行统一数据标注,将人工标注的数据集按照8∶2的比例随机划分为训练集和验证集,其中训练集112张,验证集29张。

1.2 数据分析

在真实场景下受限于试验区数据采集设备以及虫害本身条件,往往需要对所拍摄图像中的小目标虫害进行识别分割,因此,对数据集的具体情况进行了统计分析。结合绝对尺度与相对尺度定义[30],本研究设定目标像素占比≤0.3%判定为小目标,目标像素占比>0.3%~3.0%的判定为中等目标,目标像素占比>3.0%的判定为大目标,以此对数据进行统计分析。数据分析结果表明,训练集中小目标图像共计98张,占比87.5%;中等目标图像共计14张,占比12.5%;无大目标图像。验证集中小目标图像共计26张,占比89.7%;中等目标图像3张,占比10.3%;无大目标图像。从数据集目标尺度的分布可以看出,本次试验采用的数据集多为小目标数据,符合小目标虫害识别分割条件。

1.3 模型改进

此次提出的PST模型原理是将Mask R-CNN的主干网部分以Swin Transformer进行优化改进,通过加强其主干网的特征提取能力来提高模型整体对于黄野螟虫害的识别分割效果。

1.3.1 Mask R-CNN模型

Mask R-CNN作为实例分割领域常用的模型框架,其整体结构见图2。Mask R-CNN的整体结构主要包括主干网(backbone)、区域候选网络(region proposal network,RPN)以及头部(heads)。主干网部分的作用是对输入的图像进行特征提取;区域候选网络部分的作用是对图像的前后景进行区分以筛选出目标所在位置的近似建议框。在头部主要包括全卷积神经网络(fully convolutional networks,FCN)与全连接层(fully connected layer,FCLayers)[31-32],其中全卷积神经网络将结果以掩膜(mask)形式输出,对全连接层进行分类(clssfication)与边界框回归(box regression)。

图2 Mask R-CNN结构Fig.2 The structure of Mask R-CNN

1.3.2 Swin Transformer模型

Swin Transformer由微软研究院在2021年正式提出,该模型引入了层次化网络结构与滑窗操作,能够在减少模型计算量的同时提高模型的识别效率。Swin Transformer根据卷积核的个数与多头注意力模块头部数量分为Swin-T、Swin-S、Swin-B、Swin-L共4种结构,其中Swin-T相较于其他Swin Transformer模型,其模型体积更加轻量化,模型精度相差不大,因此基于Swin-T进行实验研究。Swin-T的网络结构主要由切片分割层、线性嵌入层、切片合并层以及Swin Transformer层构成,其整体结构见图3。在模型训练过程中,首先将图像输入到切片分割层对其进行分割展平处理,再将分割展平后的结果通过线性嵌入层对每个像素的通道数据进行线性变换,将线性变换后的特征图通过Swin Transformer层进行注意力计算,最后将计算后的特征图输入到由切片合并层与Swin Transformer层堆叠而成的3个部分中得到最终的特征图。

图3 Swin-T网络结构Fig.3 The structure of Swin-T

1)切片合并层。切片合并层的作用是对特征图进行下采样处理,其原理见图4。首先将输入的特征图以2×2大小的窗口进行划分,并将不同窗口同一相对位置的像素块取出,沿深度方向进行拼接,将拼接后的结果输入到归一化层进行层归一化处理,最后将归一化后的结果通过全连接层沿深度方向做线性变换得到最终结果。相比于最初输入的特征图,其结果图的尺寸缩减为原来的一半,深度增加为原来的2倍。

图4 切片合并层示意图Fig.4 Illustrations of patch merging layers

2)Swin Transformer层。Swin Transformer层主要由归一化层(normalized layer,LayerNorm)、窗口多头自注意力模块(windows multi-head self-attention,W-MSA)、位移窗口自注意力模块(shifted windows multi-head self-attention,SW-MSA)以及多层感知机(multilayer perceptron,MLP)组成,具体见图5。

图5 Swin Transformer块Fig.5 Swin Transformer block

归一化层的作用是对输入的特征图进行归一化处理;W-MSA的原理是对不重叠的窗口特征图进行单独注意力机制操作,相比于传统的对整张图片进行注意力机制操作而言,这种方法能够大大减少模型的计算量,但也使不同窗口的信息传递出现了断层现象。而SW-MSA是在W-MSA的基础上对窗口进行偏移切割,并将切割后的窗口进行移动拼接使之恢复为W-MSA的窗口形状,再对单独窗口进行注意力机制操作。这种方式一方面打通了窗口之间存在的信息断层现象,另一方面并没有单独增加模型计算量,两者结合可有效提高模型计算效率,两者的计算原理见图6。

图6 窗口多头自注意力模块和位移窗口自注意力模块示意图Fig.6 Illustrations of W-MSA and SW-MSA

自注意力操作是Swin Transformer层中的核心部分。首先将输入的特征图进行线性变换将其变为二维的序列数据,并记为a,再将a通过全连接层进行计算得到Q、K、V,将Q、K、V输入到比例点积注意力部分进行处理,再将得到的结果进行拼接处理,最后输入到全连接层得到最终结果,具体公式见式(1)。

(1)

式中:Fsoftmax是将输出值归一化为0~1的概率值,并将概率值输出;S表示自注意力操作;d表示为模型设置的维度;Q、K、V为特征图线性变换的值。

多层感知机的作用是对输入的特征图进行类别信息的划分,其结构见图7。从图7可以看出,多层感知机主要由两个全连接层、一个激活函数层以及两个随机失活层构成。其中激活函数采用了高斯误差线性单元(gaussian error linear unit,GELU)函数,相比于其他激活函数,GELU在Transformer领域的应用性能更佳;而随机失活(dropout)层[31]可以通过随机失活神经元的方式防止模型出现过拟合现象。

图7 多层感知机的结构Fig.7 The structure of multilayer perceptron

1.3.3 PST模型

传统的Mask R-CNN模型在主干网部分一般采用ResNet网络,相较于Swin Transformer网络,ResNet网络的特征提取能力较弱,因此笔者提出的PST模型在Mask R-CNN的主干网部分引入Swin Transformer模型进行替换改进,以此来增强模型的特征提取能力,进而提高模型的识别分割效果,具体见图8。从图8中可以看出,改进后的主干网部分将ResNet网络替换为了Swin-T网络,同时降低了FPN网络的输入特征维度,从而提高了模型的运算效率。

图8 PST的结构Fig.8 The structure of PST

1.4 实验设置及评价指标

基于深度学习框架PyTorch 1.7.1进行实验,实验操作系统为Windows 10,实验运行环境为 Intel(R) Core(TM) i5-10400F @ 2.90GHz CPU、NVIDIA GeForce GTX1660TI GPU(6GB)。模型在训练阶段采用AdamW算法进行优化[33],设置模型初始学习率为0.000 1、平滑常数为(0.9,0.999)、衰减率为0.05,采用交叉熵损失(cross entropy loss)函数作为模型训练的损失函数。实验中采用COCO数据集的预训练权重初始化网络参数,Batch Size设置为1,迭代轮数Epochs设置为100,在第20轮与第30轮调整学习率,所有训练结果在100轮均已收敛。

为评价模型对黄野螟幼虫的识别性能,选择平均精度(average precision,AP)与F1分数(式中记为F1)作为模型预测性能的评价指标,各指标计算公式如下:

(2)

(3)

(4)

(5)

式中:p为准确率;r为召回率;F1为测度;TP为正确检测的样本数量;FP为错误检测的样本数量;FN为漏检样本数量;AP为平均精度。

2 结果与分析

2.1 基于PST模型识别分割结果

实验结果(表1)表明,PST模型在目标框选方面,其F1分数与AP分别为89.7%与88.0%;在目标分割方面,其F1分数与AP分别为84.3%与82.2%,模型大小为180 MB。模型整体的平均F1分数为87.0%,平均AP为85.1%,两个指标数值均已超过85%。由于野外真实场景下难以近距离拍摄虫害图片,因此,研究模型对于小目标虫害的识别效果是十分有必要的。进一步对数据集中的小目标虫害图像进行分析,结果表明,PST模型在目标框选方面,其F1分数与AP分别为88.4%与86.3%;在目标分割方面,其F1分数与AP分别为84.0%与81.7%;模型整体的平均F1分数为86.2%,平均AP为84.0%,两个指标数值均已超过80%(表1)。总体而言,PST模型对于虫害整体的识别分割准确率超过85%,对于小目标虫害图像的识别准确率超过80%,在一定程度上说明PST具有较好的模型稳定性与模型泛化能力,可有效用于野外真实场景下的虫害识别分割任务。

表1 消融实验结果

在对模型识别精度评价的基础上,通过人工筛查的方式进一步对PST模型在验证集上的识别分割效果进行分析,其中验证集所有图片中共包含401个黄野螟对象。结果表明,PST模型在验证集上误检14个漏检30个,分别占所有对象的3.5%与7.5%,误检漏检率相对较低。通过对出现漏检误检情况的图像进行分析可以发现,漏检的情况多出现于黄野螟对象数量较多且出现重叠情况的图片,误检的情况多出现于黄野螟对象受叶片树枝遮挡较为严重的图片。这可能是因为,一方面由于黄野螟虫害重叠导致了模型对于虫害数量判别出现了少量漏检的情况,另一方面由于树枝遮挡导致模型出现了部分过度分割情况,造成模型对虫害的误检。

2.2 消融实验结果

2.2.1 模型精度比较

为了评估Swin-T对于网络整体性能的影响,对不同主干网络模型进行了对比实验。鉴于模型的结构、体积以及适用性,实验选取了Swin-S、ResNet 50、ResNet 101共3种常用主干网络模型作为对照组,其中Swin-S相较于Swin-T在stage 3部分将Swin Transformer Block增加至18个,其余结构参数保持不变,ResNet 50与ResNet 101为常用的Mask R-CNN模型配置,将3个模型分别记为PST-S、MRC 50、MRC 101,交并比(intersection over union,IoU)阈值为0.5[13,15,20],具体实验结果见表1。

从表1可以看出,相较于其他3种模型,PST在目标框选(box)方面其F1分数分别提升0.8%、9.4%与8.0%;AP分别提升0.9%、9.4%与8.5%。在目标分割(seg)方面其F1分数分别提升0.5%、8.6%与8.3%;AP相较于PST-S并未提升,相较于其他两种模型分别提升了8.4%与8.7%。对于小目标虫害识别,4种模型的F1分数与AP均有所下降,其中,PST相较于其他3种模型在目标框选(box)方面其F1分数分别提升0.1%、10.1%与8.5%;AP受召回率影响相较于PST-S降低了0.3%,相较于其他两种模型分别提升了9.7%与9.0%。在目标分割(seg)方面其F1分数分别提升1.2%、9.4%与9.5%;AP分别提升0.6%、8.9%与9.7%。F1分数相较于MRC50与MRC101(Mask R-CNN)在目标框选方面平均提升9.30%,在分割方面平均提升9.45%。总体而言,PST模型是4个模型中综合表现最好的模型,对于虫害图像具有良好的识别分割效果。

为了进一步验证PST模型对于更接近真实场景下的识别效果,采用IoU为0.75更严苛的标准对PST模型进行评价,并将其与其他模型进行比较,如图9所示。从图9可以看出,PST在IoU为0.75时其模型框选的F1分数与AP分别为69.73%与66.90%,模型分割的F1分数与AP分别为52.45%与48.50%,虽然相较于IoU为0.5的分割精度有所下降,但是相较于其他模型表现良好,这说明PST在相对严苛的标准下相对于其他模型仍具有较好的模型识别效果。

图9 模型的识别结果Fig.9 The recognition result of the model

2.2.2 模型参数及漏误检比较

在对模型识别精度评价基础上进一步分析了4种模型的参数信息与误检漏检情况。受限于硬件条件,有关模型参数信息在浮点运算数与参数量方面,以分辨率为1 280×800的彩色图片作为网络输入进行测试,在图片检测速度方面以分辨率6 240×4 160的实际图像进行测试,具体见表2。

表2 模型参数及漏误检

从表2可以看出,PST的计算量为135.38 GFLOPs,在所有模型中表现最好;在参数量方面PST大小为47.37×106;在检测速度方面,PST平均每秒可检测约2.5张图像,与PST-S、MRC 101相当,略慢于MRC 50,但模型准确率方面,PST表现最优。因此,在兼顾模型检测效率与准确率方面,PST表现最优。在模型漏误检方面,PST误检漏检总数为44个,在4个模型中表现最好;其次为PST-S,误检漏检总数为58个;虽然MRC 50在误检方面表现较好,但其漏检目标数量较多,整体较差;MRC 101误检漏检总数为65个,虽然相较于MRC 50在误检方面有所不足,但在漏检方面表现较好,整体表现良好。

为了进一步直观对比不同模型的虫害识别分割效果,通过目视分析的方法对验证集中的识别分割结果进行评价,如图10所示。从A组图片可以看出,MRC 50与MRC 101在图片的左上角均出现了明显的虫害漏检情况,而PST与PST-S虫害则并未出现;从B组图片可以看出,4个模型在虫害密集部分对于目标边缘分割均有所下降,以MRC 50与MRC 101降低最为严重,PST-S次之,PST最佳;从C组图片可以看出,MRC 50与MRC 101分别在图片的右下角与右上角的位置出现了误检情况,PST与PST-S模型并未误检。综上所述,PST模型相较于其他模型具有更好的模型识别效果,更适用于复杂背景下多幼虫个体识别分割任务的模型。

图10 不同模型检测结果对比Fig.10 A comparison of test results of different models

3 讨 论

本研究提出了一种融合Swin Transformer的虫害图像实例分割优化方法,基于实地拍摄的黄野螟幼虫图像数据集,选择3种不同主干网的实例分割模型进行对比实验,对模型的总体精度、运行效率、识别效果等进行了分析。结果表明:该方法相较于其他模型在总体精度、运行效率、识别效果、漏检误检等方面均表现最优,表明了该方法对虫害精准监测的可行性。

除此之外,与目前虫害检测识别与分割的研究[34-37]进行对比分析可以发现,大多数研究仅在无背景或单一背景的实验室环境虫害图像上具有较好的分割效果,缺少对复杂背景条件下虫害识别分割效果分析。由于本研究对象为实地拍摄的黄野螟幼虫图像,包含背景相似、虫害聚集、植物叶片遮挡等多种影响模型识别的因素,其实验结果更贴近于实际应用场景,具有更好的普适性。通过对结果目视分析发现,模型在大多数情况下可以取得较好的效果,但对于虫害目标受障碍物遮挡严重的图像偶尔会出现漏检或误检情况,这可能是因为本实验所采集的虫害数据较少,对于评估PST模型的实际应用效果具有一定的影响。在后续的研究工作中,应继续对数据集进行扩充与实验,以进一步验证PST模型在真实场景下的应用效果。

猜你喜欢

虫害分数图像
改进的LapSRN遥感图像超分辨重建
分数的由来
无限循环小数化为分数的反思
桃树主要虫害及防治方法
有趣的图像诗
不用农药也能治虫害
可怕的分数
浅析白三叶的虫害防治
行道树香橼主要虫害及其防治
算分数