袁科文 张贯宇 刘送永 杨建华 卢硕辰 刘后广
(中国矿业大学,徐州,221116)
传统的木材分类方法[1]主要依靠专家的经验积累和主观人工目测,依据密度、音高、气味或颜色等特性进行辨别木材类别[2]。由于专家鉴别存在个体差异,所以分类的准确性很大程度上取决于专家的知识和经验积累[3]。除此之外,木材行业每年花费巨大的资金进行木材种类鉴别,许多工业部门也急需一种高效、自动识别木材种类的方法[4]。近年来,随着深度学习和人工智能技术的不断发展,尤其是卷积神经网络开始应用在各行各业[5-7],越来越多的研究者将卷积神经网络应用于木材种类的分类识别[8-12]。这些方法都证明利用卷积神经网络进行木材种类识别是可行的;但是卷积神经网络模型,参数量大、收敛时间长、不易使用以及保证模型的泛化能力[13]。
为此,本研究以巴西植物区系的树种为研究对象,提出一种依据批归一化的卷积神经网络算法的木材类别视觉识别方法;以VGG-16[14-15]模型为基础,构建一个依据优化后的全连接层和SoftMax分类层相结合的新型木材种类识别模型(该模型包括卷积层、批归一化层、激活层、池化层、全连接层、SoftMax分类层);通过批归一化对输入数据进行处理,调整卷积神经网络的中间输出参数,提高模型的收敛速度;考虑到VGG-16的权重参数量大,并且基本集中在3个全连接层,提出以2个全连接层替换VGG-16模型原全连接层。由于本研究具体针对5种木材类别,而VGG-16是针对1 000个分类类别设计的,所以使用5标签的SoftMax分类器替换原SoftMax分类器,以提高模型的识别精度和效率。针对现有木材纹理图片数据有限与卷积神经网络所需训练数据量大的矛盾,本研究采用图像增强技术扩充数据集样本数量并输入模型进行训练并测试,检验模型对木材类别识别准确率,旨在为开发一种更高效、准确的木材种类识别方法提供参考。
本研究采用Filho et al.[4]提出的开源数据集,数据集来自森林物种数据库——宏观,它由来自巴西植物区系41种不同森林物种的宏观图像组成。数据集制作过程中,使用宏功能的Sony DSC T20收集数据库,然后将生成的图像以JPG格式保存,不进行压缩,分辨率为3 264×2 448像素。通过对数据集进一步筛选,遴选桃花心木(Swieteniamacrophylla)、苏里南维罗蔻木(Virolasurinamensis)、轴状独蕊木(Erismauncinatum)、酸枝木(Dalbergiacochinchinensis)、黄金檀木(Cordiaelaeagnoides)5种木材纹理图片(见图1)进行训练。用于训练的原始数据集共由455张图片组成;考虑到卷积神经网络训练所需数据集数量大的问题,进行数据增强以扩大数据集数量,数据增强方式为旋转、改变亮度、改变对比度。经过数据增强后,数据集扩充为原来的6倍(见表1)。为减小训练时间,每张图片的分辨率压缩为300×200像素。在利用卷积神经网络的训练过程中,图片的选择是随机实现的。在研究中,训练集和测试集的数据分割比例,分别为80%、20%,用于评估模型最终的性能。
图1 木材纹理图片
表1 5种木材纹理图片数据分布
在进行模型训练的过程中,采用批量训练的方法将训练集和测试集分为多个批次进行训练,批处理大小为8,整个训练过程一共迭代1 000次;学习率设为0.000 1;使用随机失活层避免训练过程中发生过拟合,并以0.5的概率对神经元进行随机失活。
为了能够快速准确地实现对木材种类的识别,本研究根据木材纹理图片的种类和特点,以卷积神经网络算法的VGG-16模型作为木材分类识别的基础网络框架,构建一个优化后的全连接层和SoftMax分类层相结合的新型木材种类识别模型,并与AlexNet[16]、原VGG-16和GoogLeNet[17]三种传统网络模型进行对比。构建的木材种类识别模型,包括卷积层、批归一化层、激活层、池化层、全连接层、SoftMax分类层(见图2)。该模型分别在卷积层之后、激活函数之前进行批归一化处理,以加快模型收敛速度,并提高识别准确率;由于VGG-16的权重参数量大,且集中在3个全连接层,而本研究具体针对5种木材类别,因此,本研究以2个全连接层替换VGG-16模型原全连接层,并使用5标签的SoftMax分类器替换原SoftMax分类器,以提高模型的识别精度和效率;针对现有木材纹理图片数据有限与卷积神经网络所需训练数据量大的矛盾,本研究采用图像增强技术扩充数据集样本数量,并输入模型进行训练、测试。
图2 木材种类识别模型
木材种类模型识别流程(见图3):对用于训练的数据集进行预处理,使其输入图像标准化至相同分辨率大小;将用于训练的数据集输入模型进行训练;将用于测试的数据集输入已训练好的模型中进行测试,并输出识别结果。在木材种类识别模型中,首先利用卷积层对木材纹理图像进行特征提取,具体通过卷积核以一定步长在特征图上进行滑动,并通过卷积运算得到此层的特征图;然后将卷积层的输出结果进行批归一化处理,通过池化层进行二次特征提取,减少训练参数的数量,降低卷积层输出的特征向量的维度。再通过全连接层将学到的分布式特征映射到样本标记空间,经SoftMax分类层进行分类操作。
图3 木材种类识别流程
依据数据处理的批归一化算法:卷积神经网络的卷积层主要用来提取图像特征,且前一个卷积层的输出为后一个卷积层的输入,前一层训练参数的更新必将导致后一层输入数据分布的变化。为减小这种变化,在卷积层之后、激活函数之前,进行批归一化处理。
为便于比较不同模型的优劣程度,本研究使用准确率[18](Ac)作为评判模型的1个指标,准确率的计算公式为Ac=(PT+NT)/(PT+NT+PF+NF)。式中:PT为正样本中被正确分类为正样本的个数,NT为负样本中被正确分类为负样本的个数,PF为正样本中被错误分类为负样本的个数,NF为负样本中被错误分类为正样本的个数。
依据模型评估指标筛选出整体性能较高的模型,对筛选出来的高性能模型进一步优化。
依据卷积神经网络的方法,采用传统AlexNet、VGG-16、GoogLeNet模型,分别对原始数据集进行特征提取网络训练(见图4)。由图4可见,随着模型训练迭代次数不断增加,3种特征提取网络模型的识别准确率、损失值均有不同程度的震荡;主要原因是某些木材纹理图片的特征不够明显、图片拍摄质量不高等,致使特征学习变得困难。由图4(a)可见:随着模型训练迭代次数的增加,AlexNet模型、GoogLeNet模型,比VGG-16模型收敛速度较快;但是针对准确率而言,模型训练迭代一定次数后,VGG-16模型在准确率方面表现出更加优异的性能,并且稳定性更好。由图4(b)可见:经过相同的迭代次数后,VGG-16模型的损失值,比AlexNet模型、GoogLeNet模型损失值低。总体看,VGG-16模型比其他两种网络模型训练效果更能符合本研究要求。因此,本研究在VGG-16网络模型的基础上进行优化改进,以进一步提高模型分类识别的整体性能。
图4 不同网络模型对木材种类的识别准确率和损失值曲线
VGG-16模型主要通过卷积层、池化层、全连接层进行特征提取,得到特征图。但是,该模型在训练过程中采用卷积层、池化层、全连接层顺序连接的方式,若不同批次训练的数据分布差异比较大,则前一层输出的参数发生微小的变化,可能会造成后一层的参数发生较大的变化。并且,随着网络层数的加深,这种变化可能会越来越大,网络的泛化能力和准确率也会下降,最终降低模型的训练效果。
因此,本研究在卷积层之后、激活函数之前,进行批归一化操作,从而不断调整中间输出参数,使整个网络的输出更加稳定;考虑试验所用木材种类的数量以及模型参数量主要集中在最后3个全连接层,使用2个全连接层替代原来的3个全连接层,并用5标签的SoftMax分类器替代原SoftMax分类器;将数据增强前后的数据集样本输入改进前后的VGG-16模型进行对比试验(见表2)。由表2可见:改进VGG-16模型识别准确率在原始数据集和增强数据集,均高于改进前的VGG-16模型;说明本研究改进方法可行。
表2 改进前后的VGG-16模型在不同数据集时对木材类别识别准确率
为更好地验证批归一化对改进VGG-16模型识别准确率、收敛速度、泛化能力的影响,本研究分别对改进VGG-16模型和传统VGG-16模型在增强数据集时的训练结果进行对比(见图5)。由图5可见:改进后的VGG-16模型比改进前的VGG-16模型收敛速度明显加快,仅迭代51次,准确率便可达到98.53%。除此之外,改进后的VGG-16模型比改进前的VGG-16模型训练结果更加稳定,而且准确率也相对提高。因此,使用批归一化可以加快模型的收敛速度和准确率,保证模型的泛化能力,同时也使模型训练过程更加稳定。
图5 改进VGG-16和原VGG-16模型在增强数据集时对木材种类识别准确率曲线
本研究通过旋转、改变亮度、改变对比度3种数据增强方式,将原始木材纹理图像数据集中的样本数量从455个扩充到2 730个,增强后的数据集样本数量是原始样本数量的6倍,使用改进VGG-16模型作为特征提取网络模型进行试验。试验过程中,为了便于比较数据增强对模型训练结果的影响,将原始数据样本经过复制直接由455个扩充到2 730个,分别将原始数据集、复制扩充后的数据集、数据增强扩充后的数据集输入网络模型进行训练。
试验结果表明:以原始数据集、复制扩充后的数据集、数据增强扩充后的数据集输入网络模型进行训练得到的识别准确率,分别为97.77%、97.90%、99.46%;木材纹理图像的样本数量扩充后得到的模型训练结果,优于扩充前的训练结果,与数据扩充前相比,复制扩充后数据集的木材类别识别准确率提高了0.13%、数据增强扩充后数据集的木材类别识别准确率提高了1.69%。在相同样本数量时,经过旋转、改变亮度、改变对比度3种数据增强方式扩充的数据集样本训练得到的识别准确率,优于直接复制扩充的数据集样本。因此,样本数量对模型的训练结果有一定的影响,但是经数据增强扩充后的数据样本训练效果更好,可以保证模型的泛化能力,取得更高的识别准确率。
本研究对传统VGG-16网络模型进行优化改进,分别在卷积层之后、激活函数之前对木材图像数据进行批归一化处理,并优化了全连接层数和SoftMax分类器。将改进VGG-16模型与传统AlexNet、VGG-16、GoogLeNet模型的训练结果进行对比。结果表明:改进VGG-16模型,在木材分类识别准确率、模型的泛化能力、稳定性方面相对提高。在原始数据集时,改进VGG-16模型识别准确率达到97.77%,高于传统的AlexNet、VGG-16、GoogLeNet模型识别准确率。通过数据增强的方式扩大训练样本数量,更进一步保证模型的泛化性能。在增强数据集时,改进VGG-16模型的识别准确率、泛化能力、稳定性进一步提高,识别准确率达到99.46%,与数据增强前相比,改进VGG-16的模型识别准确率提高了1.69%。本研究以VGG-16模型为基础,构建的批归一化卷积神经网络算法的木材类别视觉识别方法,可有效应用于木材分类,提高木材分类的效率以及准确率。