基于生成对抗网络的树种识别方法*

2024-03-12 06:51
林业科学 2024年2期
关键词:残差树种准确率

苏 彤 许 杰

(1. 黑龙江八一农垦大学信息工程学院 大庆 163319; 2. 山东华宇工学院信息工程学院 德州 253034)

随着科技的不断进步和数字技术的不断发展,计算机视觉技术已成为当今科技领域炙手可热的一个方向。树种识别是计算机视觉技术细分领域中的一部分,是数字林业的重要研究内容,主要包括光谱分析和图像处理两大方向。在光谱分析方面,Pham等(2016)联合激光雷达与高光谱数据对树种进行识别,利用随机森林确定重要特征,使用支持向量机作为分类器,分类准确率达85.42%;汪紫阳等(2019)基于可见/近红外光谱技术,采用偏最小二乘法结合多列识别变量矩阵对9种阔叶树种进行识别,分类准确率达98.00%,为野外树种识别提供了可能性。在图像处理方面,陈明健等(2017)提出一种基于叶片轮廓构建距离矩阵与角点矩阵进行树种识别的分类方法,在Flavia数据集和Leafsnap数据集上分别取得99.61%和98.26%的识别准确率;Sarah等(2018)利用Canny算子提取树皮和树叶图像的边缘轮廓特征,使用信念函数将2种特征进行融合,并在一个包含72种树木和灌木的公共数据库中进行比较,将树皮和树叶特征融合的方法显著提高了分类准确率;Le等(2019)采用LBP与SVM相结合的方法对4种植物叶片进行识别,分类准确率达91.85%;李龙龙等(2021)应用加权LBP算法提取叶片的关键几何特征和纹理特征,使用特征加权的模糊半监督聚类算法作为分类器,在国际公认数据集和自测数据集上均取得理想识别效果。但以往大部分研究受主观因素影响较大,试验前需要依靠人工对原始图像进行图像分割、特征提取等预处理以满足试验要求,且特征选择也会影响最终识别效果,对继续提高树种识别率带来一定困难。

伴随大数据时代的到来和人工智能技术的快速发展,深度学习(Hintonet al.,2006)因在图像特征学习方面具有显著效果而受到研究者们广泛关注,其中卷积神经网络(convolution neural network,CNN)(Szegedyet al.,2015)是深度学习中应用最为广泛、成熟度最高的网络结构。张帅等(2016)设计8层CNN模型,对PI@antNet叶片库和自扩展叶片库中的图像进行训练和识别,采用SVM和SoftMax分类器,识别率分别为91.11%和90.90%;于慧伶等(2018)设计双路CNN模型,以充分提取叶片的边缘和纹理特征,通过特征融合由全连接层完成识别,准确率达97.31%;宋宇鹏等(2020)提出基于注意力机制的DenseNet模型,在复杂背景树种叶片公开数据集Leafsnap上取得91.25%的分类精确率;赵霖等(2020)提出面向机载高光谱数据的3D卷积神经网络结构,以端到端方式处理图像分析问题,实现对森林树种的分类。

深度学习方法能够取得良好识别效果,同时也需要大量训练样本。对原始图像进行旋转、镜像、添加噪声、改变对比度等操作可以达到一定的样本扩充,但数据集的目标特征并未发生实质性改变,且扩充的样本带有大量冗余信息,会使模型失去泛化能力(张曼等,2021)。鉴于此,本研究提出一种融合生成对抗网络(generative adversarial networks,GAN)与CNN的树种识别方法,通过GAN生成与真实数据分布一致的树叶图像以实现数据扩充,将生成图像和真实图像一起作为分类模型的训练数据,从而增强模型学习效果,提高模型泛化能力。

1 材料与方法

1.1 树种图像数据集

本研究所用数据集由10种不同树种叶片图像组成,包括水曲柳(Fraxinus mandshurica)、榆(Ulmus pumila)、刺槐(Robinia pseudoacacia)、红端木(Cornusalba)、山荆子(Malus baccata)、火炬树(Rhus typhina)、杜仲(Eucommia ulmoides)、山杨(Populus davidiana)、紫丁香(Syringa oblata)、梣叶槭(Acer negundo)。在不同时间、不同地点和天气情况下进行图像采集,使用不同拍摄设备、不同拍摄角度,统一将叶片置于白色背景下拍摄,每类210幅图像;为减少训练时间和内存空间,对采集图像进行尺寸归一化和均值滤波去噪预处理,将图像大小统一为128像素×128像素,10种树种图像如图1所示。

1.2 基于生成对抗网络的叶片图像生成方法

图2 生成对抗网络的基本架构Fig. 2 The basic structure of GAN

GAN核心原理的算法如下:

式中:x表示真实的图像数据;z表示输入G中的随机噪声;D(x)表示D判别为真实图像的概率;G(z)表示生成器输入随机噪声后生成的图像;Pdata(x)表示真实图像的数据分布;Pz(z)表示生成图像的数据分布。G的目的是将生成图像接近真实图像,所以D[G(z)]越接近1越好,此时V(D,G)越来越小。D的目的是准确判断出输入样本的真实性,所以D[G(z)]越接近越接近0越好,此时V(D,G)越来越大。

1.2.2 残差条件深度卷积生成对抗网络 自GAN问世以来,诸多学者不断对其进行优化改进。为使生成图像更加清晰,本研究引入深度卷积生成对抗网络(deep convolution generative adversarial networks,DCGAN)(Radfordet al.,2015),即在GAN的基础上引入卷积网络模块,利用卷积层强大的特征提取能力提升GAN性能。该模型的生成器使用转置卷积(Zeileret al.,2014)进行上采样,从而代替池化层;因全连接层参数过多容易使网络过拟合,故模型去除全连接层,并在生成网络和判别网络中使用批量归一化(batch normalization,BN)(Ioffeet al.,2015)操作;生成网络的输出层使用Tanh激活函数,其他层使用ReLU激活函数;判别网络的所有层均使用LeakyReLU激活函数。

为使生成器生成指定类别的图像,在DCGAN的基础上添加类别标签y以辅助生成样本,在生成器中引入残差模块ResNet,加强特征在层与层之间的传递能力,以提高生成图像质量,即残差条件深度卷积生成对抗网络(RC-DCGAN)。

RC-DCGAN模型以DCGAN为基础建立,如图3所示,输入为(100,1,1)的随机噪声和(10,1,1)的类别标签,分别经卷积核尺寸为4×4、步长为2的转置卷积后将维度转换为(512,4,4)的三维张量,再将二者连接成(1 024,4,4)的三维张量,分别经过4层上采样层和卷积核尺寸为3×3、步长为1的残差结构,再经过1次卷积核尺寸为4×4、步长为2的转置卷积后将维度转换为(3,128,128)的三维张量,生成一张3×128×128的图像。

图3 RC-DCGAN生成器结构Fig. 3 Generator structure of RC-DCGAN

判别器主要用于判断输入样本的真假。对输入图像做卷积运算,使用Sigmoid函数判断输入样本为真实图像的概率。判别器各层参数如表1所示。

表1 RC-DCGAN判别器参数Tab. 1 Discriminator parameters of RC-DCGAN

1.3 基于卷积神经网络的树种识别模型

1.3.1 ResNet网络 理论上,网络层数越深,效果越好;但实际上,网络层数过深会产生网络退化问题,且当网络堆叠到一定深度时,还会出现梯度消失或梯度爆炸问题。为解决这一问题,He等(2016)提出ResNet模型,该模型的核心是残差块(residual block),如图4所示,其输入为x、输出为y,所以就有了恒等映射y=F(x)+x,正是由于这种跳跃连接的思想,可解决网络退化问题,同时也加快了网络收敛速度。

图4 残差块结构Fig. 4 Structure of the residual block

一个简单的残差块由卷积层、批处理归一化层和非线性激活函数ReLU组成,一个残差单元的输出可表示为:

单位减排量价格往往是项目业主最关注的问题,但在目前二级市场价格不景气的情况下,我国的项目业主几乎没有议价的能力。有的认为只要项目减排量能卖出去,执行国家发改委最低价就可以,有的则一味追求高价而却忽视其他。在选择买家时,建议借助环境交易所平台或咨询公司的推荐,寻找多个买家报价。价格的确定不仅要看国际市场形势,还要综合考虑对方资信情况、不能交付的风险、支付风险、预付资金情况及违约风险、语言条件、管辖风险、法律适用风险等因素,因此未必选最高报价的买家,要选最合适的买家及报价。

式中:xl表示残差单元的输入;F(xl,Wl)表示残差单元的残差函数;Wl表示残差单元的权重参数。

1.3.2 基于RseNet的树种识别模型构建 根据叶片图像尺寸,设计基于ResNet的树种识别模型,该模型卷积层深度为30层,主要包括3部分,第一部分包含1层卷积层,第二部分主要是残差结构,分别由3、4、4、3个残差模块组成,每个残差块由2层卷积组成,第三部分为自适应平均池化和全连接层,使用Softmax作为输出层激活函数,输出一个10维的概率向量,对概率值大小进行判断,最终根据得到的判断结果实现对树种的分类。整个网络模型的具体参数如表2所示。

2 结果与分析

2.1 试验环境

本研究在Windows操作系统下进行,安装Pycharm编程环境,使用Pytorch1.10.0深度学习框架,采用Python3.8语言进行具体编程实现整个网络模型。试验硬件配置信息为:5核Intel(R) Xeon(R) Silver 4210R CPU @ 2.40 GHz处理器,60 GB运行内存(RAM),选用NVIDIA GeForce RTX 3090显卡,显存容量为24 GB,可大幅提高运行速度,节省训练时间。

2.2 基于RC-DCGAN的图像生成

基于CNN的模型训练需要大量数据样本,本研究首先利用GAN对叶片图像进行扩充。基于RCDCGAN模型进行叶片图像生成,在学习真实样本分布前需扩充样本,对原始2 100幅图像进行镜像操作,并分别旋转90°和180°得到5个副本,通过这种方式使数据量扩充为原来的6倍,达12 600幅图像,GAN可学习到更加完善的分布。之所以选择该扩充操作,是因为其具有特征不变、无关特征不增加等优势。

训练初始,给所有随机数设置一个随机种子,以便之后进行试验复现;生成器和判别器均使用Adam作为优化器,其中beta1设置为0.5,beta2设置为0.999;批次数量设置为128,训练周期设置为10 000;生成器和判别器设置不同学习率(Heuselet al.,2017),其中,生成器的学习率为0.000 4,判别器的学习率为0.000 2;在实际代码中使用反转标签训练生成器(Guoet al.,2020),即让生成图像使用真实标签0进行训练,真实图像使用生成图像的标签1进行训练。为对比残差结构对生成效果的影响,在参数设置和训练轮数相同的情况下,使用未改进DCGAN模型进行生成训练,对比各自生成效果,如图5所示。

图5 DCGAN和RC-DCGAN生成效果对比Fig. 5 Comparison of DCGAN and RC-DCGAN generation effect

由图5可知,使用DCGAN模型生成的图像存在叶片图像模糊且纹理信息丢失的现象,而使用RCDCGAN模型生成的叶片图像轮廓平滑清晰,且纹理信息充分,能够贴合真实图像。可见,相比DCGAN模型,在训练数据集和参数设置相同的情况下,本研究模型生成的图像质量更高,表明在生成器中嵌入残差结构,有利于提高生成图像质量。因此,本研究选择使用RC-DCGAN生成模型对数据样本进行扩充。

2.3 基于ResNet30的树种识别

2.3.1 模型参数调试 初步搭建好ResNet30模型后,需对模型的一系列参数进行反复调试,以寻求适合模型训练的最佳参数。本研究从批量大小(batch size)、学习率(learning rate)和随机失活(dropout)3个参数的取值分析对模型性能的影响,结果如图6所示。

图6 不同参数取值的测试准确率曲线Fig. 6 Test accuracy curves for different parameter values

1) 批量大小(batch size)对模型性能的影响。在合理范围内,batch size越大,其确定梯度下降的方向越准,收敛速度越快,引起震荡越小;但如果batch size过大,则可能出现局部最优情况。如图6a所示,batch size为64的曲线收敛速度较慢且趋于收敛后波动幅度明显,batch size为256的准确率相较batch size为128的准确率没有提高反而下降,说明一味增大batch size并未获得较高精度,虽迭代次数减少,但若想达到较高精度,其消耗时间也大大增加,从而对参数的修正也更加缓慢。当batch size为128时可以兼得性能和效率,更利于网络训练。

2) 学习率(learning rate)对模型性能的影响。学习率对模型训练结果影响较大,不当的学习率会导致模型训练时出现震荡现象。本试验采用指数衰减法对学习率进行调整,其中乘法因子gamma为0.9,分别以0.01、0.001和0.000 1作为初始学习率。如图6b所示,随着网络训练次数增加准确率曲线均收敛,初始学习率为0.01和0.000 1时收敛速度相当,但初始学习率为0.01时准确率更高。

3) 随机失活(dropout)对模型性能的影响。CNN对图像识别分类性能优越,由于全连接层是所有神经元与前一层全部神经元相连接,因此拥有大量参数,随着网络规模增大,训练过程会出现过拟合问题。本研究在最后一层卷积层和全连接层加入dropout,分别以0.5、0.6、0.7作为抑制率训练模型,如图6c所示,当抑制率为0.6和0.7时模型的识别准确率较低且收敛速度慢,抑制率为0.5时识别准确率高且收敛速度快。

综合以上分析,对各种超参数进行组合测试,最终得到一组识别效果好、训练速度快、性能稳定的模型参数:batch size为128,初始学习率为0.01,dropout为0.5;采用Adam算法作为优化器,训练次数为300。

2.3.2 不同扩充方法对试验结果的影响 为验证基于GAN的扩充方法和基于传统图像处理的扩充方法对模型性能的影响,分别采用镜像、旋转、改变对比度等传统扩充方法和RC-DCGAN生成模型扩充图像11 400幅,最终确定参与训练的数据集13 000幅、测试集500幅,试验对比结果如图7所示。

图7 试验对比结果Fig. 7 Experimental comparison results

使用传统图像处理扩充方法在前5 000次迭代中,训练准确率和测试准确率呈逐渐上升趋势,迭代至4 000次时,测试准确率达94.50%左右,最后逐渐收敛于96.50%;在训练集和测试集之间有间隙,存在过拟合现象。使用RC-DCGAN扩充图像方法,测试准确率在迭代至1 000次时就已达94.50%,迭代至2 000次左右时,准确率达97%~98%,迭代完成后收敛于98.35%,模型未发生过拟合。对比2个试验的训练和测试过程,在相同模型结构、同等数量训练集和参数设置情况下,使用RC-DCGAN扩充样本方法,模型的准确率和性能优于传统图像处理扩充方法。

2.3.3 不同网络模型对试验结果的影响 为评价该分类模型性能与方法的有效性,选取一些在树种识别分类中表现良好的国内外研究的模型与本研究模型进行对比,统一模型输入大小为128像素×128像素在测试集上的分类准确率对比结果如表3所示。在相同训练集和训练批次的情况下,本研究设计的ResNet30模型比其他神经网络模型分类准确率均高,平均识别准确率为97.20%;由于本研究模型深度较深,因此在训练时也需要较多时间。

表3 不同分类模型比较Tab. 3 Comparison of different classification models

图8给出了本研究树种识别模型对10种树种测试结果的混淆矩阵,每一行表示模型预测类别,每一列表示树种实际类别。可见,刺槐、杜仲、红端木、火炬树、水曲柳、榆图像较其他树种特征差异更明显,取得100.00%的识别准确率;梣叶槭部分图像在某些细节特征上与山荆子、杜仲存在相似之处,出现误判现象,识别准确率为90.00%;紫丁香与山杨在轮廓特征上存在相似之处,有4张紫丁香图像被误判成山杨;山杨取得98.00%的识别准确率;山荆子和紫丁香取得92.00%的识别准确率。由于测试集图像和训练集图像具有相同大小和背景,因此,10种树种的平均识别准确率达97.20%。

图8 测试集图像识别结果混淆矩阵Fig. 8 Confusion matrix of test set images recognition results

3 讨论

CNN模型训练通常需要大量标记样本,但在实际工作中采集大量数据和图像标记成本较高,当训练样本缺失时,容易出现过拟合和陷入局部最优解等现象(Krizhevskyet al.,2017)。为解决过拟合问题,本研究在DCGAN模型基础上对生成器进行改进,在输入端添加类别标签以控制生成过程,在生成器中嵌入残差结构以提高生成图像质量。通过生成图像可以看出,RC-DCGAN生成的图像相较DCGAN生成的图像无论是轮廓还是纹理特征,图像质量均有很大提升,但在一些局部细节特征部分生成的图像相较于真实图像还有差距,这也导致在分类模型中对于轮廓特征相似的个别树种图像出现误判现象,如何提高生成图像质量仍需更进一步深入研究。

本研究以10种树种叶片图像为研究对象,共采集2 100幅图像,使用RC-DCGAN扩充数据集11 400幅,虽然解决了数据集问题,但模型训练时试验参数的设置也是至关重要的,本研究在batch size、dropout、learning rate参数的取值上做了对比试验。

1) batch size:分别选取每批次训练64、128、256张图像,可以发现,适当增大batch size,可以加快模型收敛速度,提升准确率;然而,过大的batch size容易使模型陷入局部最优解,导致精度下降。当batch size为128时能取得较好效果。

2) dropout:分别选取比率为0.5、0.6、0.7的dropout,忽略一定比率的特征选择器,从而减少特征器间的相互作用,避免模型过于依赖某些局部特征,从而提高模型泛化能力。可以发现,dropout为0.5时能取得理想结果。

3) learning rate:学习率控制模型参数更新的步伐,学习率过小,梯度下降速度过慢,会增大寻优时间;学习率过大,梯度下降速度加快,但通常越过最小点,导致模型不收敛甚至震荡。本研究采用初始学习率分别为0.01、0.001、0.000 1的指数衰减策略调整学习率,当初始学习率为0.01时,识别准确率最高。

4 结论

本研究融合生成对抗网络与卷积神经网络,提出联合模型基于叶片图像对树种进行分类识别。为满足卷积神经网络对大量训练集的需要,首先使用生成对抗对图像进行扩充,然后设计基于残差网络的分类模型,使用原始图像和生成图像作为训练集对树种进行识别。在本研究10种常见树种叶片图像上利用ResNet30模型取得97.20%的平均识别准确率,相较传统图像扩充方法,精确度提升2.25%。使用生成对抗网络扩充样本方法的识别率高于传统图像扩充方法,可利用生成对抗网络为目前农业领域图像数据不足的现状提供一个新的解决方法。

猜你喜欢
残差树种准确率
基于双向GRU与残差拟合的车辆跟驰建模
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
高速公路车牌识别标识站准确率验证法
常绿树种在新疆的应用现状
城市绿化树种选择,只顾眼前你就输了
一个树种的国家战略