基于深度卷积神经网络及迁移学习的纸病分类方法研究

2021-12-21 12:02曲蕴慧成爽爽
中国造纸 2021年10期
关键词:分类器卷积神经网络

曲蕴慧 汤 伟 成爽爽

(1.西安医学院计算机教研室,陕西西安,710021;

2.陕西科技大学电气与控制工程学院,陕西西安,710021)

纸张抄造过程中出现的如脏点、孔洞、褶皱、划痕、尘埃及裂缝等表面瑕疵统称为纸病。纸病的出现会对纸张,尤其是对航天航空用纸、电容器纸及壁纸原纸等附加值高的特种纸张的后续使用带来不良影响,甚至是巨大的经济损失。因此,需要在纸张抄造过程中及时发现这类纸张的表面瑕疵并进行标记处理,必要时甚至需要对纸病产生的原因进行溯源[1-3]。纸病诊断技术是指通过工业相机在线采集纸张图像来判断纸张是否含有纸病,并对含有纸病的纸张图像进行纸病分类,对纸病大小、位置等信息识别。纸病诊断过程如图1所示[4-6]。

由图1可以看出,纸病分类是整个纸病诊断过程中非常关键的一步。精确地分辨出各类纸病,对于找出纸病成因、预警纸机故障有着重要的意义。

图1 纸病诊断过程示意图Fig.1 Schematic diagram of paper defects'diagnosis procedure

在纸病分类方面,目前研究最多的是采用人工神经网络来建立分类器。倪洁等人[7]利用BP神经网络建立纸病分类器来区分孔洞、尘埃、褶子和裂口4类纸病。魏爱娟等人[8]对BP神经网络收敛速度慢等问题进行了改进,采用学习样本产生的总误差来调整权值,提高BP算法的速度。支持向量机(Support Vector Machine,SVM)、二维小波变换、分型理论、径向基神经网络(RBFNN)等在纸病分类方面的应用都有相应的研究[9]。目前,虽然纸病辨识分类算法研究很多,但大都是针对几种较常见纸病进行分类,对一些难点纸病的检测效果不太理想。传统的纸病辨识分类算法需要在特征提取的基础上进行,每加入一种需要辨识分类的纸病,就需要对其特征进行研究提取,并对分类器进行改造,所以识别种类和效率很难提高。

本课题针对现有算法在一些细微纸病(如褶皱、裂痕)上识别分类效果欠缺以及目前国内大多纸病分类器可识别纸病种类少、识别精度不够等问题和分类器可扩展性差等问题,结合人工智能以及深度学习的原理,设计适用于纸病图像的小样本深度卷积神经网络(Deep Convolution Neural Network,DCNN)分类器,提高纸病识别效率及精度,使纸病识别功能进一步加强。

1 传统纸病分类方法及所存在的问题

传统的纸病分类方法主要由纸病特征提取和纸病分类2大部分组成,流程图如图2所示。

图2 传统纸病分类算法流程图Fig.2 Flow chart of traditional paper defects classification algorithm

在进行纸病分类前,首先需要提取可用于纸病分类的纸病图像特征。用于纸病种类很多,很多纸病特征类似,差距很小,如何选择能够有效区分各类纸病的纸病特征是纸病特征提取的难点。在提取到纸病特征后,需使用相应特征作为分类器数据,设计相应分类器对纸病进行分类。所以要获得好的分类效果需要选择大量不同类型的纸病特征,同时设计一个强大的多纸病图像的分类器。

根据以上流程可知,传统的纸病分类方法主要存在以下3方面的问题:①纸病图像特征选择和提取难度大。如利用灰度特征可以区分脏点和孔洞,但很难区分裂痕和孔洞;利用几何特征可以区分裂痕和孔洞,但无法区分裂痕和褶皱;还有些纸病,需要一些更复杂的特征组合才能加以区分。故在传统的纸病分类中,特征提取算法是整个过程的难点之一。②分类器的设计以及选择难度大。纸病图像分类器的设计需要综合考虑收敛速度、过拟合问题、训练数据集大小等多种问题,因此目前大多纸病分类器的分类能力局限于4~5种最常见的纸病。③纸病图像特征和分类器相适应的问题。在传统的纸病分类过程中,纸病特征提取算法和纸病分类算法为2大类算法,即分2个阶段完成。所以会出现后一阶段所设计的纸病分类器并不能完全适用特征提取算法所提取的纸病特征,从而导致所涉及的分类器在实际使用过程中分类效果不理想。

综上所述,传统的纸病辨识分类算法需要在特征提取的基础上进行,每加入一种需要辨识分类的纸病,就需要对其特征进行研究提取,并对分类器进行改造,所以识别种类和效率很难提高。故本课题提出一种基于深度卷积神经网络(DCNN)的纸病分类方法,可通过卷积操作自动提取纸病图像深层次的特征,有效解决纸病特征量难确定及难点纸病特征量难构建的问题,从而提高纸病辨识分类的精度及可扩充性。

2 基于深度卷积神经网络的纸病分类方法

2.1 深度卷积神经网络

卷积神经网络(Convolutional Neural Networks,CNN)的研究始于20世纪八、九十年代,进入21世纪后,随着深度学习理论的提出和数值计算设备的改进,CNN得到了快速发展。CNN是一类包含卷积计算且具有深度结构的前馈神经网络(Feed forward Neural Networks),是深度学习(Deep Learning)的代表算法之一。卷积神经网络具有表征学习(Repre⁃sentation Learning)能力,能够按其阶层结构对输入信息进行平移不变分类(Shift-invariant Classifica⁃tion),因此也被称为“平移不变人工神经网络(Shift-invariant Artificial Neural Networks,SIANN)”。

CNN仿造生物的视知觉(Visual Perception)机制构建,可以进行监督学习和非监督学习,其隐含层内的卷积核参数共享和层间连接的稀疏性使得卷积神经网络能够以较小的计算量对格点化(Gridlike Topology)特征,如像素和音频进行学习、有稳定的效果且对数据没有额外的特征工程(Fea⁃ture Engineering)要求。研究发现,通过增加CNN的深度可以增强CNN的表达能力,故使用深度卷积神经网络(DCNN)进行图像分类是当今研究的热点[10-11]。

2.2 基础网络结构的选择

在众多基础深度卷积神经网络中,VGG16的网络具有分类性能好、网络结构规整、修改相对容易等特点,其网络结构及部分卷积层输出特征如图3所示[12]。

图3中,输入层图像大小为224×224像素;VGG16共有13个卷积层。其中在第2、4、7、10、13层卷积层后各有1个最大池化层(max-pooling)。所有卷积层中的卷积核大小均为3×3,这样采用多个较小的卷积核叠加达到较大卷积核的卷积效果方法,相当于添加了隐式的正则化,可以提高网络的分类能力,增加网络的运算速度。VGG16有3个全连接层神经元个数,分别是4096、4096、1000,最后一层的1000对应ImageNet图像识别挑战赛中要识别的类别数量(1000个)。之后通过Softmax层进行转换,便于与样本数据进行比较,计算误差。

图3 VGG16网络结构及部分卷积层输出示意图Fig.3 Network structure and output of some convolution layers of VGG16

总的来说,VGG16网络集成了“更深的网络架构,准确率更高”的信念。采用较小的过滤器实现了增加网络深度的目的,同时避免参数过度膨胀的问题。鉴于以上分析,研究中采用VGG16网络作为基础网络,进行改进。

2.3 改进VGG16纸病图像分类器

2.3.1 微调深度卷积神经网络

在基于深度卷积神经网络的分类任务中,足够数量的训练样本可以避免严重的过拟合问题。但在目前纸病分类研究中,没有公认的纸病公共数据库来进行训练及性能测试,只能通过工业相机在实际生产线上采集足够数量的图像,然后通过人工在所有图像中找出瑕疵,并对瑕疵进行分类,建立数据库来进行研究比对,获得的样本数据量不足。在这种背景下,本课题结合迁移学习和微调深度卷积神经网络的思想来构造深度卷积神经网络分类器[13]。

目标数据集与原始数据集的相似程度不同,使用迁移学习的方法也将各不相同。主要有以下4种情形[14]:①目标数据集较小,目标数据集与原始数据集相似;②目标数据集较小,目标数据集与原始数据集差异较大;③目标数据集充足,且目标数据集与原始数据集相似;④目标数据集充足,但目标数据集与原始数据集差异较大。

在使用迁移学习进行纸病分类的过程中,迁移学习方式的选择及如何进行微调,是提高分类准确率和节省网络训练时间的关键。对于纸病图像分类任务而言,属于以上情形的第②种,即纸病图像数据集相对于原始数据集规模较小,目标数据不足,所以选择微调网络后几层;又因纸病图像数据集与原始数据集的差异大,所以更高级的特征不同,则不用保留更高级的层,只需保留低层卷积层用于提取图像纹理、边缘以及形状等基础特征。因此,研究中冻结和微调策略相结合,使用ImageNet数据集训练好的VGG16卷积层的前7层,并冻结其相应参数;从第9层开始随机初始化参数,利用纸病图像数据来逐层微调其后的网络,具体思路如图4所示。

图4 微调VGG16网络示意图Fig.4 Schematic diagram of fine tuning VGG16 network

2.3.2 全连接层设计

原始VGG16网络有3个全连接层,神经元个数分别是4096、4096、1000,本课题根据纸病分类的实际情况,重新设计全连接层。

(1)改进卷积层与全连接层之间的池化层,使用全局平均池化层,将卷积层出来的三维数组重塑为128位的向量。

(2)冻结前2个全连接层的神经元个数及参数;将最后1个全连接层替换为具有6个神经元的全连接层,使其满足实验中所设计的5类纸病图像以及1类正常图像,共6类图像的分类输出。

(3)在全连接层中,采用Dropout算法降低神经元之间的依赖性,从而防止过拟合现象的出现。

(4)在最后1个全连接层之后连接Softmax层,使用Softmax逻辑回归函数计算输入图像属于某类的概率,并将概率归一到[0,1]空间。

(5)在激活函数方面,为防止梯度饱和效应出现,采用修正线性单元ReLU作为激活函数。

2.3.3 基于深度卷积神经网络的纸病分类方法

本课题将深度卷积神经网络VGG16模型与迁移学习的方法相结合,采用ImageNet数据集对VGG16网络进行训练,冻结训练好的VGG16网络卷积层的前7层,使用带标签的纸病图像数据集对后面卷积层进行网络微调,提取纸病图像特征。最后经改进后的全连接层和Softmax层进行纸病图像分类,具体流程如图5所示。

图5中右半部分为采用ImageNet数据集来训练VGG16深度卷积模型的过程,此部分目前Matlab2019b以及Tensorflow的Keras中均已经有训练好的模型可供调用,故在实验过程中,此部分直接进行模型调用即可;左半部分为本章算法的流程,具体步骤如下。

图5 基于深度卷积神经网络的纸病分类方法流程图Fig.5 Flow chart of paper defects classification method based on deep convolution neural network

Step 1:数据预处理

对前期采用工业相机采集到的、并进行预检测后存储到上位机的纸病图像进行归一化处理,得到适用于分类器大小为224×224像素的纸病图像。

Step 2:调用模型

调用深度学习库中已经训练成熟的VGG16深度卷积神经网络模型。

Step 3:使用迁移学习策略进行模型的训练

根据2.3.1节的分析,对Step2中调用的模型,固定其卷积层前7层的参数;从第8层开始,使用自建的纸病图像集对模型进行训练,微调8~13层的卷积层参数。

Step 4:分类并输出

使用上述全连接层对纸病图像进行分类,输出图像所属的类别及概率。

3 实验

3.1 纸病图像数据采集及预处理

本课题从实验室纸机设备通过工业相机采集脏点、孔洞、亮斑、褶皱、裂痕5类纸病图像及无纸病图像进行研究。预处理过程中,采用工业相机采集纸病图像。由于各种类型纸病几何形状各异,其最小外接矩形长宽和大小各异,故预处理过程中,需要对纸病图像大小进行统一。统一过程中,考虑到每幅纸病图像应能最大程度上表征纸病区域,同时尽可能降低算法复杂度,故在研究过程中,首先取纸病区域的最小外接正方形;然后将外接矩形图像缩放到224×224像素;最后采用手工对每幅样本图像进行标签,得到最终的纸病图像数据集。

在样本集的制作过程中,由于纸病的产生为小概率事件,而卷积神经网络的训练及测试又需要大量的数据集。虽然采用迁移学习以及微调深度卷积神经网络的方法可以减少对样本数量的要求,但是足量的训练数据能够避免严重的过拟合问题。故在纸病数据集制作过程中,为增加纸病图像数据集的规模,实验过程中采用了镜像、旋转等操作(如对纸病图像进行90°、180°旋转等,可在保持纸病图像特征的情况下,增大纸病图像数据集),以及对同一纸病在不同光源干扰下进行多次采集来扩充数据集,进行数据增强。最终得到脏点图像370张、孔洞340张、亮斑280张、褶皱350张、裂痕360张及正常纸张图像300例,共计2000幅图像作为纸病图像数据集(纸病图像数据集中的部分图像数据如图6所示),并按照4∶1的比例划分训练集及测试集进行纸病分类器的训练及数据测试。由于纸病数据集数量较少,故在实验过程中对训练数据集按3∶1划分为训练数据集及验证数据集,使用交叉验证的方式有效防止过拟合现象的发生。

图6 纸病图像数据集Fig.6 Data set of paper defect images

3.2 环境及参数设置

3.2.1 实验环境

实验所采用的环境为:Win10操作系统,Intel®Core™i7-7500U CPU,8G内存,256G固态硬盘。采用Matlab 2019b平台进行模型的搭建和训练。

3.2.2 网络参数设置

(1)自监督训练选择的优化器为:Sgdm。Sgdm采用基于动量的随机梯度下降法,是目前使用最多的网络训练方法,其得到的网络稳定,结果可靠。

(2)学习率的设置:由于本课题算法是对在ImageNet上已经训练好的模型进行迁移学习,所以网络在原始数据集上已经收敛,故应设置较小的学习率在目标数据集上进行微调。实验过程中,设初始学习率为1e-4,采用动量对模型的学习率进行调整,动量的设置值为0.9。

(3)设置训练的最大迭代次数为2000次(20轮,每轮100次),批大小Batch-size为64;Dropout(随机失活)为0.5。

3.3 结果与分析

3.3.1 测试样本分类结果及分析

实验过程中对纸病图像数据集按照6∶2∶2进行划分,其中60%用于模型训练,20%用于验证,20%用于测试,同时按照上述参数进行初始化设置。训练过程中,在训练集以及验证集上的准确率及损失曲线图如图7所示。

图7 训练输出曲线Fig.7 Training output curves

采用测试数据集对训练好的模型进行测试,部分样本及其分类后输出的结果如图8所示。其中类型后面的数字为该样本属于此类别的概率,如dirty 0.95表示该样本为脏点概率为95%。

图8 本课题方法输出的分类结果Fig.8 Output of classification results inthis study

实验过程对测试集中400例数据的分类情况进行了统计,结果如表1所示。

由表1的数据结果可以看出,识别率最低的为亮斑,主要被识别为孔洞或难以检出。通过对识别错误的样本图片观察发现出现错误识别的主要情况有2种:①在纸病图像数据采集时,由于采用的是顶光源与底光源的混合照射,如果顶光源亮度过高,采集到的亮斑区域的灰度值几乎接近于正常纸张,肉眼也很难区分,所以会导致错分;②识别错误的亮斑图像与底光源照射强度过高时采集到的孔洞类型纸病图片非常类似,系统很难区分,这也是孔洞类图像识别错误所在。

表1 测试样本分类结果Table 1 Classification results of the test samples

除以上2种情况外,当纸病采集装置的光源强度优化适当,采集到的亮斑图像较清晰时,分类正确率较高。除亮斑外,其余类型纸病的识别正确率均在90%以上,识别效果良好。

3.3.2 不同分类方法对比分析

为进一步验证本课题分类方法的有效性,将其广泛使用的BP神经网络算法[15]、SVM算法[16-17]及AlexNet卷积神经网络分类算法进行对比,结果如表2所示。

表2 4种算法性能对比Table 2 Performance comparison of 4 algorithms

由表2的结果可以看出,本课题所提出基于迁移学习策略的纸病分类方法在分类效果上较传统的BP神经网络及SVM的纸病分类方法,分类准确率有了很大提高。尤其对于BP神经网络及SVM,在之前研究过程中,其分类准确率可达95%以上,但这建立在对纸病图像进行了一系列预处理以及特征分析和提取的基础上;而在本实验过程中,加入新的纸病后,在不改变前期所选择的特征向量的前提下,分类准确率有了明显下降,由此可见传统的纸病分类方法可扩展性较差。对于AlexNet网络及本课题所提出的基于迁移学习策略的分类方法,在实验过程中,其在验证集上的分类正确率分别为96.37%和96.46%;但由于纸病样本数有限,导致训练样本量不足,使采用AlexNet算法在测试集上的准确率明显下降。

3.3.3 冻结不同卷积层对比分析

为进一步验证本课题所提出的迁移学习策略的有效性,研究过程分别冻结不同的卷积层参数,并对其分类正确率进行了对比,对比效果如表3所示。其中,冻结0层表示直接用自建的纸病数据集对VGG16模型进行训练。

表3 冻结不同层数后的正确率对比Table 3 Accuracy comparison after freeze on different layers

由表3可知,当冻结层数过多时,由于纸病图像数据集与ImageNet数据集差异较大,会导致分类准确率较低;而当冻结层数过少时,由于纸病数据集规模较小,在训练过程中容易出现过拟合现象。同时,在测试集上的正确率也难以提高。结果表明,本课题所提出的冻结VGG16模型前7层的方案在测试集上分类效果最佳,正确率可达到94%以上,而其余3种方案正确率均在92%左右。故本课题所提出的迁移学习策略在纸病分类过程中性能最好。

4 结 论

本课题将深度卷积神经网络VGG16模型与迁移学习的方法相结合,采用基于迁移学习策略建立纸病图像识别分类模型,使用实验室纸病检测系统采集建立的纸病图像数据集进行实验验证,其准确率可达94.75%,并且收敛速度较快,在实验所用的训练集与验证集之间无过拟合现象的出现,效果良好。结果表明本课题所提出的方法在分类准确性、实时性及可扩展性方面较传统方法有一定的改进,更加适用于生产线上纸病的分类过程。

猜你喜欢
分类器卷积神经网络
基于3D-Winograd的快速卷积算法设计及FPGA实现
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
基于实例的强分类器快速集成方法
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定