基于注意力机制的树木叶片分类识别方法研究

赵新瑞 ,  张雯悦 ,  徐竞怡 ,  闫飞

高原农业 ›› 2024, Vol. 8 ›› Issue (4) : 393 -403.

PDF (1024KB)
高原农业 ›› 2024, Vol. 8 ›› Issue (4) : 393 -403. DOI: 10.19707/j.cnki.jpa.2024.04.005

基于注意力机制的树木叶片分类识别方法研究

作者信息 +

Research on Classification and Recognition Method of Tree Leaves Based on Attention Mechanism

Author information +
文章历史 +
PDF (1047K)

摘要

本文将注意力机制分类模型——Vision Transformer(ViT)应用于树种分类识别任务,旨在探索更高精度和更高效率的树种识别模型。本研究共设计了三组对比实验:(1)用ViT和ResNet50在实验环境的数据集上进行训练、验证和测试,(2)为ViT模型设置不同的深度进行训练,(3)用ViT和ResNet50在真实环境的数据集上进行训练、验证和测试。结果表明,无论是实验环境的数据集,还是真实环境的数据集,ViT模型都达到了与ResNet50模型相当的分类性能,并且ViT模型的时间效率明显优于ResNet50。此外,本研究还展示了ViT对真实环境的图像进行分类时的类激活热力图,发现ViT模型更关注树叶本身尤其是树叶边缘而忽略了复杂的背景,从而有效提高了分类精度。结果说明,两个模型分类精度相当,但ViT的收敛速度明显更快,学习特征的能力更强,泛化能力也更强。本研究是将ViT应用在树种分类识别这一具体任务上的一次有益尝试,为后续融合ViT与CNN优势,以更高的效率、更小的数据需求、在更复杂的高原林业数据集上进行树种识别研究奠定基础。

Abstract

In this paper, a typical model of attention mechanism in image classification tasks, Vision Transformer (ViT) is applied to the task of tree species classification and recognition, aiming to explore a more accurate and efficient tree species recognition model. A total of three sets of comparative experiments are designed in this paper:(1) ViT and ResNet50 are used for training, validation and testing on the dataset in the experimental environment, (2) ViT model is set to different depths for training, (3) ViT and ResNet50 are used in real environment training, validation and testing on the dataset.The results showed that the classification performance of the ViT model is the same as that of the ResNet50 model, whether it was the experimental environment dataset or the real environment dataset, and the time efficiency of the ViT model is significantly better than that of the ResNet 50 model. In addition, this paper also shows the class activation heat map when classifying images of the real environment. It is found that the ViT model pays more attention to the leaves themselves, especially the leaf edges, while ignoring the complex background.The two models are comparable in classification accuracy, but ViT has significantly faster convergence speed, stronger ability to learn features, and stronger generalization ability. By reducing the network depth, the time efficiency of ViT is further improved. This study is a useful attempt to apply ViT to the specific task of tree species classification and identification. It also lays the foundation for the subsequent research on tree species identification with higher efficiency, smaller data requirements, and real-world datasets of Plateau Forestry by integrating the advantages of ViT and CNN.

Graphical abstract

关键词

树种识别 / 注意力机制 / 卷积神经网络 / 可视化

Key words

Tree species identification / Attention mechanism / Convolutional neural network / Visualization

引用本文

引用格式 ▾
赵新瑞,张雯悦,徐竞怡,闫飞. 基于注意力机制的树木叶片分类识别方法研究[J]. 高原农业, 2024, 8(4): 393-403 DOI:10.19707/j.cnki.jpa.2024.04.005

登录浏览全文

4963

注册一个新账户 忘记密码

我国幅员辽阔,森林资源和植物类型极为丰富,开展森林资源调查有助于森林资源的科学管理,树种识别与分类是森林资源调查与保护中的一项重要工作。树种识别起初主要依赖经验丰富的林业工作者,但这样显然难以提高效率。树木的图片包含了丰富的颜色、形状、纹理等信息。随着计算机技术的发展,依赖树叶或树皮图像的树种识别技术应运而生。目前关于树种识别的研究主要有两种方法,一是人工提取图像特征结合传统机器学习的方法,如利用Gabor滤波和灰度共生矩阵(GLCM)对叶片纹理进行建模,利用曲线小波变换系数和不变矩对叶片形状进行捕获[1];采用多尺度三角形描述器(MTD)描述植物叶片形状信息,采用局部二值模式直方图傅里叶(LBP-HF)作为纹理特征 [2] 等。二是以卷积神经网络为代表的深度学习方法[3]
但是CNN传统卷积操作的局部感受野缺乏全局信息层次的理解能力[4],因此需要通过堆叠多层卷积来获取不同层次的特征。注意力机制(Attention Mechanism)则可以获取全局信息且关注重要特征、抑制不重要特征。2014年,用于图像分类的Recurrent Attention Model(RAM)模型使注意力机制流行起来[5];采用Seq2Seq+Attention模型来进行机器翻译,不仅解决了传统网络训练时间过长、难以较好实现并行计算的问题,同时缓解了循环神经网络在长距离依赖中梯度消失的问题[6]。2017年,完全基于注意力机制而摒弃了RNN的Transformer模型极大地推动了自然语言处理领域的发展[7]。其后,出现了Transformer模型的各种变体,2020年,一个纯粹的Transformer模型被应用到了计算机视觉领域的图像分类任务上,即ViT模型[8]。总体而言,将Transformer模型应用于图像分类、目标检测、图像分割等任务已是大势所趋。
随着注意力机制和ViT等模型的出现和成熟,国内外也出现了一些将其应用于植物识别的研究。通过给DenseNet模型添加注意力机制可以获取图像重要信息,以解决数据敏感问题,提高网络整体性能[9];使用注意力改进的卷积神经网络不仅提高了图像识别的准确率,同时也降低了时间成本[3]。利用ViT和Swin Transformer分别修正后的YOLOv5模型将植物叶片的局部特征与全局特征相结合,对信息分割进行细化,达到了提高检测精度和速度的效果。实验结果表明,ViT修正的YOLOv5的平均检测精度为92.2%,较基线模型(YOLOv5)提高了1.2%,而基于Swin Transformer的YOLOv5的平均检测精度为92.6%,较基线模型(YOLOv5)提高了1.6%[10]。融合了CNN和ViT的PlantVit模型在PlantVillage和Embrapa数据集上识别植物病害的准确率分别为98.61%和87.87%[11]
本研究旨在尝试将ViT这一新兴注意力机制算法用于树种识别,并与目前CNN中较为成熟的ResNet进行对比,研究评价其在树种识别中的可行性,为进一步提升高原林业资源信息化调查水平提供理论和技术支持。

1 材料与方法

1.1 试验材料

本文使用了实验环境和真实环境下的两组树叶数据集。

1.1.1 实验环境下的数据集

使用plant_village数据集,选取其中的苹果、蓝莓、樱桃、大豆、草莓五种植物的树叶图片各300张,并按照8∶2的比例拆分成训练集和验证集,其中训练集有1 200张图片,验证集有300张图片。图片大小均为256×256像素。此外,每种树叶图片另外选取100张图片组成测试集。

1.1.2 真实环境下的数据集

实验环境下的数据集通常有着干净单一的背景,很多研究在实验环境下的数据集上取得了优异的分类性能,但在真实环境的数据集上却表现很差。然而,无论是从“拍照识图”的现实角度,还是从尽可能降低实验对自然环境的影响和破坏的角度,识别真实背景的树叶图像都是必然的研究方向。因此本文尝试将该模型运用到真实环境的数据集上,在2022年5月于忻州市拍摄了四种形状差异较大的树叶,分别是丁香(Syzygium aromaticum)、天目琼花(ViburnumopulusLinn.var.calvescens)、海棠(Malus spectabilis)、榆叶梅(Amygdalus triloba),各拍摄了300张树叶图像,分别用200张进行训练,50张进行验证,50张进行测试。在拍摄过程中,尽量保证目标树叶充满在整个图像,且通过“对焦”的手段,尽量使目标树叶清晰而背景模糊。智能手机拍摄的图像的像素为3 456×3 456像素,需要通过PyTorch框架中torchvision模块下的图像预处理包transforms完成模型指定的输入尺寸。

图2所示,同一树种的树叶图像除了本身形状、颜色不尽相同外,还包括了地面、建筑、灌木、草地、行人、树木本身等背景,且树叶相互遮挡还会造成阴影,保证数据集的真实可靠。

1.2 ViT模型

ViT是Transformer应用于CV领域的开山之作,Transformer最核心的是注意力机制。人工智能领域注意力机制可以分为六类,其中空间注意力可以看作是一种自适应的空间区域选择机制[12]。Transformer 在Encoder和Decoder中分别使用了自注意力机制。而在图像问题上,自注意力机制则可理解为学习某一像素点和其他所有位置(包括较远位置)的像素点之间的关系,即捕获long-range的关系。但是基于像素点计算有两个问题:一是计算量过大,二是单个像素包含的信息并不像单个word那么丰富。

ViT采用了“图像分块”的思想将输入的图片进行分块并编码成patch embeddings,与class embedding进行拼接,然后与positional embedding进行相加,得到Transformer Encoder的输入。然后将Transformer Encoder提取出的特征输入到MLP分类头进行分类。一个Transformer Encoder Block包含一个多头自注意力模块MSA和一个FFN,其中MSA和FFN均包含和ResNet一样的skip connection,且MSA和FFN前面都连接一个Layer Norm层。ViT整体架构如图3所示。“图像分块”的具体过程包括:将H×W×C(H为图像高度,W为图像宽度,C为通道数)的图像变成P×P×C的patches的序列,并将每个patch展平成长度为P2·C的一维向量,其中P是patch的边长,patch数量为N=H*W/P2,N也是输入序列的长度;然后经过一个可训练的线性投影层,将展平后的patches映射到D维,D是Transformer在所有层中使用的固定不变的隐藏向量的大小。该过程如图4所示。

CNN和ViT 的区别主要为ViT在浅层和深层获得的表征之间具有更多相似性[13]。CNN只有一个固定大小的内核视野,通过对内核周围的信息逐层反复“卷积”,逐渐扩大视野。相比之下,ViT使用了一种自注意力机制,让模型即使在最底层也能拥有整个视野。而ViT的不足在于需要从大量的数据中去学习特征,这是因为ViT比CNN具有更少的图像特定归纳偏差。

2 结果与分析

2.1 实验设计与参数设置

2.1.1 实验环境

实验环境为Windows系统,使用PyTorch框架和Python3.10设计实现。硬件配置如下:内存8.00 GB,CPU:Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz(4 CPUs),~2.5GHz。

2.1.2 实验环境下的模型对比

ViT模型有3种变体:ViT-Base,ViT-Large,ViT-Huge,本文选择ViT-Base,即block的个数为12,embedding维度为768,MLP大小为3 072,head的个数为12。并且将输入图片大小设置为224×224像素,分块大小设置为16×16像素,输入图片为RGB彩色图像,因此输入通道数为3,分类数设置为5。

ViT模型采用分批训练,每个批次随机选择8个训练样本(或8个验证样本)训练(或验证)模型,并利用 SGD 优化器优化,动量因子和权重衰减分别设置为0.9和5E-5。训练epoch设置为15。初始学习率设置为0.001,并利用PyTorch框架中的torch.optim.lr_scheduler模块动态调整学习率,具体为随着epoch的增大逐渐减小学习率。为了衡量真实标签与预测标签之间的差异,本节将交叉熵损失CrossEntropy作为损失函数,多分类问题交叉熵损失计算方法如公式1所示[14]

H(θ)=-1mi=1m[y(i)loghθ(x(i))+1-y(i))log1-hθ(x(i)))]

其中,θ代表所有的网络系数,m为样本数量,y(i)为第i个样本的one-hot向量,hθ(x(i))为对第i个样本的预测概率结果。

ViT模型结构如表1所示。

其中,引入Dropout层是为了通过在每个训练批次中随机丢掉一些神经元来减轻网络的过拟合现象[15]

加载在ImageNet21K数据集上预训练的权重。其中,Pre-Logits由全连接层+tanh激活函数构成。在自己的数据集上训练的时候,应该删除 Pre-Logits。并且使用冻结权重的训练技巧进行微调[16]

(1) 实验一:ViT和ResNet50进行对比

为了和图像分类任务中主流的CNN模型做对比,本文还使用PyTorch框架中torchvision模块下的models包加载了ResNet50的预训练模型,在相同的数据集上进行微调。ResNet50是目前迁移学习模型架构中常用的一种[17]。ResNet50的epoch数设置为30。优化器选择Adam。损失函数为NLLLoss。首先通过随机水平翻转等手段进行数据增强,然后也使用DataLoader加载数据,batch_size同样设置为8。为了适应本文所用数据集,将ResNet-50原来最后一个全连接层的输入又输入到一个有256个输出单元的线性层,接着再连接ReLU层和Dropout层,然后是256×5的线性层,输出为5通道的softmax层。

(2) 实验二:不同深度的ViT模型进行对比

ViT模型虽然分类性能优良,但耗费时间很多,效率不高。这跟模型的深度有直接的关系。因此本文依次将模型的深度设置为12、8、5、2进行训练,旨在找到分类性能和时间效率都优良的模型。

2.1.3 真实环境下的模型对比

将ViT模型的深度改成2.1.2节中实验二找到的最优深度,分类数设置为4,其他参数设置同2.3.2中一样。使用1.1.2节真实环境下的数据集进行训练和测试。

2.2 实验结果

2.2.1 实验环境下的树种分类识别结果

(1) 实验一:ViT和ResNet50进行对比

记录训练过程,如表2所示。

ViT模型训练和验证过程中损失和精度的变化如图5所示。

ResNet50模型训练和验证过程中损失和精度的变化如图6所示。

图5图6可以看出,ViT模型收敛速度很快,并且达到了平稳的状态。ResNet50模型收敛速度相对较慢,并且一直处于波动的状态。

分别使用ViT-2和ResNet50-18模型在同一测试机上进行测试,并使用混淆矩阵来记录分类结果,如表3表4所示。

根据混淆矩阵计算召回率,召回率指每一类图片中被正确预测的图片所占的比例。本研究以召回率来表示分类准确率。召回率计算方法如公式2所示。

 召回=该类树叶中被正确预测的图片数某一类树叶的图片总数

表5可以看出,ViT模型的学习能力很强,仅用两个epoch就达到了100%的准确率。虽然ViT单个epoch耗时较多,但是整体上ViT达到最优模型所需要的时间是ResNet的23.3%。

(2) 实验二:不同深度的ViT模型进行对比

设置epoch为10,记录不同block数量下每个epoch的平均训练时长,发现每个epoch的平均训练时长与block的数量呈正相关关系。

记录不同block数量下训练损失、训练精度、验证损失、验证精度的变化过程,结果如图7所示。

可以发现,在10个epoch内,四种情况下都逐渐趋于平稳,并且随着block数量的增多,收敛的速度也呈现加快的趋势。但是考虑到时间成本,并不能一味地加深网络,而且从图7(d)来看,block=8和block=12的曲线几乎重合,因此在选择网络深度的时候,应兼顾收敛速度和时间成本。并且已有研究表明,ViT 的性能在扩展到更深时会快速饱和,即出现了注意力崩溃问题[18-19]

2.2.2 真实环境下的树种分类识别结果

记录ViT和ResNet50训练过程中的训练准确率和验证准确率,如图8所示。

ViT模型一个epoch的平均训练时长是190.542s,ResNet50则是275.202s。ViT模型在第2个epoch就迅速收敛,并且保持稳定,验证精度一直是0.985,而ResNet50不仅收敛速度较慢,而且验证精度呈波动状,在第8个epoch后达到了最高验证精度0.995。因此选择ViT-2和ResNet50-8进行测试,采用混淆矩阵记录分类结果,如表6表7所示。

可以发现,两个模型在真实环境的数据集上的分类性能都很优良,这跟拍摄树叶图像时有意地“突出重点”有一定的关系。但是ViT达到最优模型所用的时间不到ResNet50所用时间的1/5。

为了进一步检测ViT-2和ResNet50-8的泛化能力,本文又选择了2021年9月份在北京奥森公园拍摄的24张天目琼花的树叶图像进行测试。由于生长地点、拍摄季节等的不同,忻州和北京的天目琼花树叶有一定的差异。结果为ViT模型正确预测16张,ResNet50模型正确预测8张,这表明ViT模型具有更强的学习能力,在训练样本有限的情况下,ViT模型的泛化能力也更强。

2.2.3 类激活热力图可视化

针对一幅图像使用已经预训练好的深度学习网络,为了便于观察原始图像中哪些位置的内容对分类结果影响较大,可以输出图像的类激活热力图。但是直接观察图像的类激活热力图,并不能很直观地看出图像中哪些地方的内容对图像的分类结果影响更大。为了解决这一问题,通常将类激活热力图和原始图像进行融合。如图9所示,每种树选取一张图像进行可视化展示,每张子图左边是原始图像,右边是类激活热力图和原始图像融合后的图像。可以发现,关注的位置几乎都在树叶上,且树叶边缘较多,而背景区域则被“忽略”了。

3 讨论与结论

本文将注意力机制分类模型——Vision Transformer(ViT)应用于树种分类识别任务,通过设计三组对比实验,即:1)用ViT和ResNet50在实验环境的数据集上进行训练、验证和测试,2)为ViT模型设置不同的深度进行训练,3)用ViT和ResNet50在真实环境的数据集上进行训练、验证和测试。结果表明,实验1中ViT的单个epoch训练时长是ResNet50的2.1倍,但ViT仅用两个epoch就在验证集上达到了100%的准确率,并且在测试集上也达到了100%的准确率,而ResNet 50经过了18个epoch后在验证集上达到了99.33%的准确率,并且在测试集上达到了98.2%的准确率,前者达到最优模型的时间是后者的23.3%;实验2中训练时长和网络深度呈正相关关系,且网络的收敛速度也随着网络加深而不断加快,但是深度为8和12时的精度曲线几乎重合,说明一味地加深网络并不会改善模型,反而会浪费时间;实验3中ViT的深度改设为8后,ViT的单个epoch训练时长是ResNet 50的69%,且ViT仅用两个epoch就在验证集上达到了98.5%的准确率,并且在测试集上达到了98%的准确率,而ResNet 50经过了8个epoch后,在验证集上达到了99.5%的准确率,并且在测试集上达到了99%的准确率,前者达到最优模型的时间不到后者的1/5。为了进一步测试模型的泛化能力,用实验3得到的两个最优模型分别预测了其中一种树种在另一时间地点拍摄的24张图像,其中ViT正确预测了2/3,ResNet 50正确预测了1/3。由此可见,两个模型在分类精度上不相上下,但是ViT的收敛速度明显更快,学习特征的能力更强,泛化能力也更强。通过降低网络深度,ViT的时间效率进一步提高。此外,本文还展示了ViT对真实环境的图像进行分类时的类激活热力图,发现ViT模型更关注树叶本身尤其是树叶边缘而忽略了复杂的背景。总之,ViT模型在树种分类识别任务中学习特征的速度更快、能力更强,泛化能力也更强,具有明显的优势。当然,ViT也存在诸多不足,例如需要海量数据做预训练、网络深度超过一定值后性能反而下降等等。未来将尝试模型的改进研究,争取以更高的效率、更小的数据需求、并在更复杂的高原森林数据集上实现树木树种准确分类与识别。

参考文献

[1]

Chaki,Jyotismita, Parekh Ranjan, and Bhattacharya Samar. "Plant leaf recognition using texture and shape features with neural classifiers."Pattern Recognition Letters 58 (2015): 61-68.

[2]

Yang, Chengzhuan. "Plant leaf recognition by integrating shape and texture features."Pattern Recognition 112 (2021):107809.

[3]

李滨,敬启超.改进的卷积神经网络在树种识别中的应用[J].森林工程,2021,37(05):75-81.

[4]

陈耀文,谭晓玲.基于注意力机制的卷积神经网络在图像分类中的应用[J].科学技术创新,2021(34):166-169.

[5]

Mnih V, Heess N, Graves A. Recurrent models of visual attention[J]. Advances in neural information processing systems,2014,27.

[6]

Bahdanau D, Cho K, Bengio Y. Neural machine translation by jointly learning to align and translate[J]. arXiv preprint arXiv:2014.

[7]

Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[J]. Advances in neural information processing systems, 2017, 30.

[8]

Dosovitskiy A, Beyer L, Kolesnikov A, et al. An image is worth 16x16 words: Transformers for image recognition at scale[J]. arXiv preprint arXiv:2020.

[9]

宋宇鹏,边继龙,安翔 .基于注意力机制的DenseNet模型的树种识别应用[J].实验室研究与探索,2020,39(07):122-127.

[10]

Li X, Fan W, Wang Y, et al. Detecting Plant Leaves Based on Vision Transformer Enhanced YOLOv5[C]//2022 3rd International Conference on Pattern Recognition and Machine Learning (PRML). IEEE, 2022: 32-37.

[11]

Thakur P S, Khanna P, Sheorey T, et al. Vision Transformer for Plant Disease Detection:PlantViT[C]//International Conference on Computer Vision and Image Processing. Springer, Cham, 2022: 501-511.

[12]

Guo M H, Xu T X, Liu J J, et al. Attention Mechanisms in Computer Vision: A Survey[J]. arXiv preprint arXiv:2021.

[13]

Raghu M, Unterthiner T, Kornblith S, et al. Do vision transformers see like convolutional neural networks?[J]. Advances in Neural Information Processing Systems, 2021, 34.

[14]

Pieter-Tjerk de Boeret al. A Tutorial on the Cross-Entropy Method.[J]. Annals OR, 2005, 134(1) : 19-67.

[15]

Nitish Srivastavaet al. Dropout: a simple way to prevent neural networks from overfitting.[J]. Journal of Machine Learning Research, 2014, 15(1) : 1929-1958.

[16]

徐光柱,朱泽群,尹思璐 .基于轻量级深层卷积神经网络的花卉图像分类系统[J].数据采集与处理,2021,36(04):756-768.

[17]

Kaiming Heet al. Deep Residual Learning for Image Recognition.[J]. CoRR, 2015, abs/1512.03385

[18]

Zhou D, Kang B, Jin X, et al. Deepvit: Towards deeper vision transformer[J]. arXiv preprint arXiv:2021.

[19]

d'Ascoli S, Touvron H, Leavitt M L, et al. Convit: Improving vision transformers with soft convolutional inductive biases[C]//International Conference on Machine Learning. PMLR, 2021: 2286-2296.

基金资助

西藏自治区科技厅中央引导地方项目(XZ202301YD0043C)

多源激光雷达结合数字孪生的藏东南优势树种固碳能力研究

AI Summary AI Mindmap
PDF (1024KB)

187

访问

0

被引

详细

导航
相关文章

AI思维导图

/