基于轻量化卷积神经网络的树种识别模型

2022-02-07 09:20:08董嘉真丁怡如郭正阳李娟芸邢艳秋
智能计算机与应用 2022年12期
关键词:树种树木准确率

董嘉真,丁怡如,郭正阳,李娟芸,邢艳秋

(1 东北林业大学 工程技术学院,哈尔滨 150040;2 东北林业大学 信息与计算机工程学院,哈尔滨 150040)

0 引言

地球上的树木有很多种。对树木资源进行清查、利用,首要的就是对树木的种类进行识别。传统的人工识别方式具有工作量大、效率低下等缺点,因此可以利用人工智能技术来辅助快速、自动识别树种。

针对树种的自动识别,不同学者从树叶、树干、树木整体图像等方面入手进行了大量的研究[1]。王伟等人[2]通过对树木树叶的识别,开发了一款基于Android 操作平台的树木叶片识别系统,针对15个树种的识别率可以达到94.44%。冯海林等人[3]提出了一种树种识别的方法,基于树木整体图像和集成迁移学习对复杂背景下的10 种树木图像进行分类,准确率可以达到99.15%。杨蒙蒙[4]使用BP神经网络,对15 个树种的树叶图像进行分类,最终得到80.97%的识别率。

树种识别的研究面临许多难点:

(1)树木会随着季节、生长时期的变化,表现出不同的特征,对树种识别造成很大的影响。

(2)自然的背景环境下的树木,由于光照、遮挡等因素,采集到的图像会存在各种各样的噪声干扰,从而影响最终的识别结果。

(3)国内外目前还没有一个统一完善的树种图像数据库,这也对研究工作造成了很大的困扰。

针对上述难点,研究采用树干图像进行树种识别的训练。树干是树木的重要组成部分,其表面具有大量的特征信息:纹理色调、纹理形状、纹理方向、纹理周期密度、纹理粗细均匀度、纹理基元大小、纹理规则度等[5],且树干图像受季节、光照等因素影响较少,数据容易收集。

为解决树种图像数据库不完善的问题,本研究使用自主拍摄的树干图像构建了树种数据集,并对其进行数据加强与扩充。同时,为满足深度学习树种识别在移动端上的应用,本文用轻量化MobileNetv3 网络,并基于ImageNet 预训练权重进行迁移学习。最终实验结果表明,轻量化树种识别模型能够在保证识别准确率的同时,降低模型大小、减少模型参数,更加适合移动端设备的部署应用。

1 树种识别网络模型

1.1 深度学习

深度学习(Deep Learning,DL)是机器学习(Machine Learning,ML)领域中的一个分支,是一种利用深层神经网络(Deep Neural Network,DNN)架构对数据进行特征学习的算法。其学习数据的特征,通过由连接的神经元组成的多层网络进行抽象、提取并鉴别数据特征,从而实现图像的分类和回归任务。近年来,深度学习在搜索推荐、视觉识别、数据挖掘、自然语言处理等领域表现出色,解决了许多复杂的模式识别问题。

1.2 卷积神经网络

卷积神经网络(Convolutional Neural Networks,CNN)是深度神经网络的一种,包括输入层、卷积层、池化层、全连接层和输出层。其中,输入层接收输入信号;卷积层对输入的图像特征进行提取;池化层将卷积层输出的高维度信息处理后得到低维度信息;全连接层将参数向量化,提升结果准确度;输出层输出图像处理结果。在卷积层中,输出特征面的神经元与输入具有局部连接,通过神经元与其输入的连接权值同输入值进行加权求和,再加上偏置值,得到神经元的输入值。此过程与卷积过程相同,因此该网络被称为卷积神经网络[6]。

1.3 轻量化模型

现在流行的卷积神经网络,如 VGG[7]、ResNet[8]等,虽然具有较好的识别效果,但是模型参数多,计算量大,不适合移动端设备使用。因此,在2017 年Google 公司针对移动端设备提出了一种轻量级深层神经网络模型-MobileNet 系列,具有更少的参数、更低的延时,有利于更好地在移动端运行复杂的深度学习模型。到目前为止,MobileNet 系列共有MobileNetv1[9]、MobileNetv2[10]和MobileNetv3[11]三个模型。

其中,MobileNetv3 有MobileNetv3 -Large 和MobileNetv3-Small 两个结构。MobileNetv3-Large 网络比MobileNetv3-Small 网络准确率更高,但模型体积更大,预测速度更慢。在ImageNet 上的分类任务中,与同系列的MobileNetv2 相比,MobileNetv3 -Large 提高了约4.6%的准确率和5%的检测速度。MobileNetv3-Small 提高了约3.2%的准确率和15%的检测速度[12]。

1.3.1 MobileNetv1 模型与MobileNetv2 模型

MobileNetv1 是一种基于深度可分离卷积的模型,其核心思想是引入了深度可分离卷积来替代传统卷积层[13]。传统的标准卷积,其卷积核的通道数和输入特征图的通道数一致,仅一步操作对所有输入进行结合得到输出。而MobileNetv1 模型则是定义了2 个新的独立层:深度卷积(DepthWise,DW)和逐点卷积(PointWise,PW),利用深度卷积的单个卷积对单个输入通道进行卷积,随后利用逐点卷积的1×1 的卷积核对所有深度卷积进行卷积操作得到输出。这种操作,可以使用更少的参数和更少的计算量,来得到与标准卷积相同的效果。

深度可分离卷积如图1 所示。本文假设输入特征卷积层的大小为win × hin × cin,生成的输出特征层的大小为wout × hout × cout,其中hin、win、cin分别对应输入特征层的高度、宽度和输入特征层的通道数,hout、wout、cout分别对应输出特征层的高度、宽度和输出特征层的通道数。

图1 深度可分离卷积图示Fig. 1 Graph of DepthWise Convolution

可以计算出,传统的标准卷积计算量为:

深度可分离卷积的计算量为:

使用深度可分离卷积时,计算量与使用标准卷积相比,减少的比例为:

当选用3×3 的卷积核进行卷积计算时,深度可分离卷积的计算量将减少至传统标准卷积网络的

MobileNetv2 模型在MobileNetv1 模型的基础上,改变了通道的数目,提出残差倒置网络结构,其结构如图2 所示。

图2 残差倒置结构图示Fig. 2 Graph of inverted resblock

倒残差结构主要分为3 部分。第一部分,在深度卷积之前先经过卷积核大小为1×1 的逐点卷积实现升维,随后使用批次标准化处理层进行归一化处理。第二部分,使用卷积核大小为3×3 的深度卷积,然后使用批次标准化处理层进行归一化处理和ReLU6 激活函数。传统的残差结构,在这一部分则使用的是卷积核大小为3×3 的一般卷积。第三部分,MobileNetv3 网络使用了卷积核大小为1×1 的一般卷积实现降维,随后使用批次标准化处理层。在传统残差网络中,最后一部分为ReLU6 激活函数,而倒置残差结构在这里去除了传统网络中用到的激活函数。该结构相比于以往的残差网络结构,在深度卷积之前先经过1×1 的逐点卷积进行升维,随后进行3×3 的DW 卷积,再在末尾加入线性激活函数。这些操作,可以使模型网络的计算量以及参数量大大减少。

1.3.2 MobileNetv3 模型

MobileNetv3 是MobileNet 系列的第三代模型,是在1、2 代模型的基础上,提出了一个SE 轻量级的注意力模型。SE 注意力模型拥有压缩(squeeze)和激励(excitation)两种操作,可以调整每个通道的权重,增加网络性能好的通道权重,降低网络性能不好的通道权重,以提高深度学习模型的性能。

此外,MobileNetv3 模型还使用了新的激活函数、即hard -swish函数代替原有的激活函数,其公式表达如下:

MobileNetv3 是目前最主流的轻量级神经网络模型,可以满足绝大多数移动端深度学习应用的需要。

1.4 迁移学习

为了加速训练和提高模型准确度,本研究采用迁移学习的方式。利用在ImageNet 数据集上已经训练好的预训练模型,将其网络输出从1 000 类改为17 类。将预训练模型中的权重迁移至新的训练网络进行初始化,以继承学习已掌握的先验知识;随后利用本研究的数据集进行新的训练,并不断对模型参数进行微调,进而实现对树干图像的预测[14]。Yosinski 等人[15]的研究表明,即使在差异较大的数据集上进行迁移训练,其效果也优于随机初始化权重进行训练。因此,结合迁移学习的树干图像识别算法,不仅可以提高网络模型的准确率和训练效率,同时也可以使模型具有更好的泛化能力。迁移算法流程如图3 所示。

图3 迁移学习算法流程Fig. 3 Flowchart of transfer learning algorithm

2 树干图像数据集

2.1 原始图像的收集

为获得可用的数据集,本研究对东北林业大学校园园区、东北林业大学实验林场的树木进行图像采集工作,采集设备为Huawei Mate20Pro 手机。数据集的处理与扩充如图4 所示。为使获取的图像有较大的代表性,本次研究使用的采集方式为距离树20~40 cm,选择俯、仰、水平三种角度对树干进行拍摄,拍摄树干图片见图4(a)。

2.2 数据集的处理与扩充

对图像进行处理,剪裁出需要识别的树木主干(见图4(b)),并利用水平翻转、高斯模糊、随机矩形遮挡、随机剪裁填充等手段对图像数据进行加强(见图4(c))。

图4 数据集的处理与扩充Fig. 4 Processing and extension of datasets

2.3 数据集展示

通过初步筛选与数据集扩充后,共得到17 种树木的图像,分别是:兴安落叶松(Larix gmelinii(Rupr.)Kuzen)、家榆(Ulmus pumila L.)、小叶杨(Populus simonii Carr.)、山丁子(Malus baccata(L.)Borkh.)、旱柳(Salix matsudana Koidz.)、杏(Armeniaca vulgaris Lam.)、杜松(Juniperus rigida Sieb.et Zucc.)、樟子松(Pinus sylvestris Linn.var.mongolica Litv.)、水曲柳(Fraxinus mandschurica Rupr.)、白桦(Betula platyphylla Suk.)、紫椴(Tilia amurensis Rupr.)、红松(Pinus koraiensis Siebold et Zuccarini)、红皮云杉(Picea koraiensis Nakai)、胡桃楸(Juglans mandshurica Maxim.)、钻天杨(Populus nigra Linn.var.italica(Moench)Koehne)、银中杨(Populus alba × P.Berolinensis)、黑皮油松(Pinus tabulaeformis Carr.var.mukdensis Uyeki),共计7 569张。并按照7 ∶3 的比例随机分成训练集与测试集。每种树木图像展示如图5 所示。

3 实验及结果分析

3.1 实验环境

使用开源深度学习框架Pytorch1.70 进行深度学习实验,选用Python 作为编程语言。实验硬件为:Windows10 64 位系统,计算机内存为16 GB,搭载Intel(R)Core(TM)i7-9750H CPU @ 2.60 GHz 2.59 GHz处理器,并采用GeForce GTX 1060 Ti 显卡加速图像处理。

3.2 超参数设置

为了比较不同模型性能的优劣,本研究对各模型采用统一的超参数设置:图像输入大小尺寸为224×224;批尺寸大小(batch size)为32;学习率(learning rate)为0.000 1;训练次数(epochs)为100。

3.3 实验分析

3.3.1 实验结果及分析

为验证迁移学习的效果,在本次仿真研究中选取 了 VGG16、ResNet34、MobileNetv3 -Large 与MobileNetv3-Small四个网络模型,分别利用随机初始化(Random Initialization)权重与预训练(Pretrained)权重进行训练。4 种模型迁移学习效果对比如图6 所示,模型参数与最终准确率见表1。

由图6 可以看出,在使用预训练权重后,4 种模型的准确率都有了不同程度的提高,训练的效率也加快,使用随机初始化权重进行训练时,模型初始的正确率都在30%以下;而使用预训练权重进行训练时,模型初始的正确率都在40%以上。研究发现ResNet34 模型在第一轮训练时,就可以达到75.60%的准确率。使用迁移学习的方法,仅需要几轮训练,就可以获得准确率较高的模型,大大加快了训练效率,减少了计算成本。

图6 VGG16、ResNet34、MobileNetv3-Large 和MobileNetv3-Small 模型迁移学习对比Fig. 6 Comparison of VGG16,ResNet34,MobileNetv3-Large and MobileNetv3-Small models transfer learning

由表1 可知,在使用迁移学习的方法后,MobileNetv3-Large 的准确率最高,在测试集上准确率可以达到99.44%;MobileNetv3-Small 模型的准确率提升最大,提升了13.29%。在使用迁移学习的方法进行训练后,VGG16 模型的准确率相较于其他3个模型略低,其余3 个模型的准确率相差不大,分别为99.65%、99.44%、99.16%。但是相比于VGG16与ResNet34 网络,轻量级网络MobileNetv3 在模型大小、参数数量、浮点运算数量方面,更加快速轻巧。MobileNetv3-Large 网络相比于VGG16、ResNet34 网络,模型大小缩小了96.8%、80.0%,浮点运算数量减少了98.6%、94.0%;MobileNetv3-Small 网络的模型大小缩小了98.8%、92.7%,浮点运算数量减少了99.6%、98.4%。可见,轻量级网络MobileNetv3 能够在保证识别准确率的情况下,降低模型大小与计算量,使模型得以在移动端设备应用。

表1 不同模型训练结果对比Tab.1 Comparison of training results of different models

为验证模型网络迁移学习后的预测的结果,利用不同模型对测试集数据进行预测,预测对比结果见表2。

由表2 可以看出,本研究所使用的4 种模型在红松、胡桃楸图像上识别准确率较低,这是因为这2种树木与其他树木的纹理比较相似,模型网络提取的特征针对性不强。此外,由于网络层数与结构不同,对于同一种树木,不同模型识别效果也有一定差别。MobileNetv3 的2 种网络对山丁子、水曲柳的识别准确率要优于另外2 种网络模型;而对紫椴、钻天杨的识别,VGG16、ResNet34的准确率要高于MobileNetv3 网络。

表2 不同模型预测对比Tab.2 Prediction comparison of different models

3.3.2 树种识别网络可视化

类激活映射(Class Activation Mapping,CAM)是一种可以实现卷积神经网络可视化的工具[16]。通过使用类激活映射,可以观察到网络关注图像的位置,直观地反映出网络模型的效果。但是,类激活映射在使用时,必须将卷积神经网络的全连接层改为全局平均池化层,改变了网络结构。为了解决这个问题,Ramprasaath 等人[17]基于CAM 提出了一种新的可视化方法—梯度加权类激活映射(Grad-CAM)。这种方法并不需要更改原卷积神经网络的结构,而是通过变换求和的顺序来得到网络的可视化图像。

使用梯度加权类激活映射的方法,能够对深度神经网络的结果做出可视化解释,为研究过程中提供更多有效的信息[18]。本研究利用Grad-CAM 方法,对训练好的MobileNetv3-Large 模型进行可视化检测,观察其预测的效果,如图7 所示。

图7 轻量化树种识别模型的可视化情况Fig. 7 Visualization of lightweight tree species identification model

通过可视化结果可以看出,轻量化的树种预测模型对不同树木树干图像的关注侧重点不同。对于白桦树干图像,模型的主要关注区域呈现横向线状;而对于杜松树干图像,则是呈现纵向线状,这与二者树干的纹理方向几乎一致。黑皮油松的树干图像的关注区域则呈现分散的线状,大致与黑皮油松树干纹理基元重合。

4 结束语

本文提出了一种轻量化卷积神经网络的树种识别模型。使用自主拍摄的树木图像构建了树种图像数据集,并对其进行加强。基于ImageNet 预训练权重并对MobileNetV3 网络的输出层进行修改,通过迁移学习的方式训练模型。最终得到的轻量化树种识别模型在相同测试集的情况下,相比于VGG16 模型,准确度提高了0.98%,模型大小缩小了98.8%,浮点运算数量减少了99.6%;相比于ResNet34 模型,牺牲了0.49%的准确率,模型大小缩小了92.7%,浮点运算数量减少了98.4%。该模型可以在保证精度基本不变的情况下,更加显著地减少模型体积,使其更好地部署在移动端设备,服务于各种场景。

猜你喜欢
树种树木准确率
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
健康之家(2021年19期)2021-05-23 11:17:39
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
树木之最
高速公路车牌识别标识站准确率验证法
辨认树木
常绿树种在新疆的应用现状
现代园艺(2018年2期)2018-03-15 08:00:35
树木也睡觉
城市绿化树种选择,只顾眼前你就输了
一个树种的国家战略