张典范, 杨镇豪, 程淑红
(1. 燕山大学河北省特种运载装备重点实验室, 河北秦皇岛066004;2. 燕山大学电气工程学院, 河北秦皇岛066004)
轮毂生产的自动化对轮毂企业发展至关重要,实现对轮毂的高精确的自动识别不仅可以大幅降低分拣错误率,而且可以对轮毂生产流程实时监管,记录每个轮毂的生产信息。
目前已有的轮毂识别方法可分为两类:第1类方法采用图像处理提取轮毂特征,再进行特征匹配的方法。一般是人为定义的轮毂的一些几何、纹理特征,如赵玉梁等[1]通过图像处理技术识别待测轮毂图像的直径、孔洞数量、区域面积等信息实现轮毂识别;文献[2]结合了模板匹配算法[3]和基于有向网络扩散的纹理分类方法[4],用轮辐模板与待测轮毂轮辐进行旋转匹配,同时利用像素点随机游走算法来待测轮毂的纹理信息,达到轮毂识别的目的。但是这类方法很容易受到采集的图像质量和拍摄角度的影响,存在特征抗干扰性差,鲁棒性差的问题。第2类方法是用深度学习提取轮毂特征并识别。通过深度学习训练大量轮毂数据集,利用卷积神经网络对图像数据良好的特征提取能力来识别轮毂[5~7]。但是数据的采集和标注会耗费大量的人力财力,并且随着轮毂产品的变化,识别任务改变,需要重新训练模型。
迁移学习[8]是一种利用先前获得的知识(具有大量标记数据的源域)来促进解决当前任务的方法。在图像分类或识别问题上常使用在大数据集上的预训练模型,如Liu W等[9]和张菁等[10]实现的医学图像分类任务,二者都是将ImageNet部分权重参数迁移到目标网络中;Kim T H等[11]则是用VGG-face dataset大型面部数据集上训练的VGG面部识别模型作为CNN模型参数的初始值,来学习面部表情特征。迁移学习还可以利用数据之间的相似性来完成新的预测或识别任务,例如为了实现对交通流量的准确预测,Zhang C等[12]收集了3种跨域数据集,研究了数据集之间的相关性,提出了一种连续的簇间迁移学习策略来提高预测性能;或者是在更新任务时,利用旧数据与新数据之间的相似性来完成新的任务,如Sun C等[13]提出的了一种深度迁移网络,通过3种迁移策略,实现了机械故障的历史数据在没有监督信息的情况下对训练目标的预测。
目前有关采用迁移学习识别轮毂的研究报道较少,而迁移学习利用已有知识训练目标数据的特点能减少训练任务量,节省大量时间成本。因此,本文采用一种基于迁移学习和残差网络的卷积神经网络模型来识别轮毂,通过从ImageNet迁移权重参数和修改网络结构构建ResNet50微调模型,利用ImageNet模型在图像识别任务中的知识,采用参数冻结法探究不同参数迁移量对轮毂识别任务的模型训练效率、准确率的影响。
迁移学习是机器学习的一个重要分支,是利用数据、任务、模型之间的相似性,将在旧领域学习过的知识,应用在新领域的学习过程。
本文使用在ImageNet训练的预训练模型,确立目标任务为轮毂识别,使源领域的知识通过轮毂数据集和ResNet50网络得到重用,完成对轮毂的识别。
将ImageNet的预训练模型的源域[14](source somain)是由特征空间Xs和在该空间中样本的边缘概率分布Ps构成的,xi是ImageNet的实际训练样本,并服从Ps,xsi∈{Xs||1,2,…,m}其中i是一个训练样本,m是特征空间Xs维数。预训练模型的任务(Task)是由标签空间γs和预测函数ft(*)构成,ysi是每个样本的标签,于是我们可以将一个在ImageNet上的预训练模型的源域定义
(1)
基于轮毂数据集的目标域(target domain)为
(2)
轮毂识别的迁移学习任务就是利用已在ImageNet训练学习的知识来优化目标域Dt的轮毂预测函数ft(*),使其能正确的预测轮毂标签yti。
图1 迁移学习实现轮毂识别Fig.1 Transfer learning implements hub recognition
神经网络微调是一种深度迁移学习[15,16],是将具有通用的特征提取能力的预训练模型迁入到目标网络,根据不同的训练任务对预训练模型网络结构进行调整,在目标数据集上训练微调模型参数,将其转化为目标领域神经网络的一部分。
文献[17]中残差网络有效地解决了深度卷积神经网络出现的退化问题。图2为一个bottleneck残差单元输入与输出关系。
图2 残差网络单元Fig.2 Residual network unit
图2中:x表示该残差单元的输入;F(x)表示输入在经过卷积层后的残差值;H(x)表示当前残差单元的输出,其的表达式如下:
H(x)=F(x)+x
(3)
设卷积神经网络的期望输出为H′(x),在网络训练达到较饱和准确率的情况下,接下来的学习相当于一个恒等映射学习,也就是H(x)=x,之后的训练目标就变成使残差F(x)趋近于0,随着网络加深,准确率不再下降。
Bottleneck是构成ResNet50的基本单元,每个Bottleneck残差块由3个卷积层构成,图2中采用1×1卷积降低输入通道,最后再用1×1卷积恢复,从而减少计算量。输入数据在经过3次卷积后得出的输出数据再与输入相加得到该残差块最终输出。
图3为ResNet50预训练模型参数迁移,从ImageNet中迁移预训练模型,根据轮毂分类数修改全链接(fc)层结构、冻结不同卷积层参数,通过训练,进一步调整模型参数以适应轮毂数据集。
因为卷积神经网络在训练时参与训练的参数量对训练效率,最终准确率有很大影响。在不迁移参数的情况下,模型的性能是随着冻结参数的增多而下降的,但是训练效率会提升。因此本文将ResNet50网络的部分卷积层参数替换为预训练模型参数并锁定,其余卷积层参与对轮毂数据集的训练。因此在实验部分重点探究ResNet50网络不同参数迁移量对识别准确率,训练耗时的影响。
图3 ResNet50预训练模型参数迁移Fig.3 ResNet50 pre-trained model parameter migration
本次实验验证基于ResNet50和迁移学习对轮毂识别的影响,为验证ResNet50的优越性,引入AlexNet、VGG11、VGG16卷积神经网络做对比,分别比较几种卷积神经网络在使用微调和不使用微调对模型训练的影响;比较冻结不同数量卷积层参数对VGG16和ResNet50识别准确率、训练效率、测试准确率的影响。
实验训练所有卷积神经网络采用的初始学习率为0.003,损失函数为交叉熵损失函数。
实验采用电脑设备处理器为Intel(R) Core(TM) i5-9400F CPU,显卡GeForce GTX 1660,操作系统Ubuntu18.04、并行计算架构CUDA10.0,PyTorch深度学习框架。
图4 8种型号轮毂Fig.4 8 models of wheels
本次实验采集8种型号轮毂(G1~G8)图片,如图4所示。将轮毂图片进行数据增强,来增强训练模型的泛化能力和鲁棒性。采用随机旋转、高斯噪声和灰度变换来对轮毂图片进行图像处理,将每种轮毂图像扩增到1 200张,训练集、验证集和测试集按照4:1:1划分,同时随机排序,如图5所示型号为G1轮毂的3种数据增强方式。
图6为4种卷积神经网络(CNN)的普通模型与微调模型在50个训练周期内准确率的变化。
微调模型是指全部使用ImageNet参数且不冻结。由图6可知ImageNet迁移来的模型参数对轮毂有良好的特征提取能力,能在较少的训练周期内达到较高的训练精度,随着训练轮数增加再根据轮毂数据集进一步提高模型对轮毂识别的准确率。而普通模型则需要足够的训练周期才能达到对轮毂的高识别准确率。
图5 数据增强Fig.5 Data to enhance
图6 4种CNN的普通模型与微调模型对比Fig.6 Comparison of four CNN general models and fine-tuning models
本次实验对准确率Acc的定义如下:
式中:Tp表示轮毂被正确预测的次数,Tn表示被预测错误的次数。
从实验数据中可知4种网络的普通模型在训练周期等于32、21、21、16时才达到90%以上,VGG11、VGG16和ResNet50在训练周期等于42、37和26时稳定在95%以上,AlexNet在训练过程中没有达到95%的准确率。4种微调模型准确率在分别在训练周期等于5、3、4、2时稳定在95%以上,在训练周期等于21、17、20、9时稳定在99%以上。
以上实验可以得出ResNet50在训练轮毂数据集时对特征的提取效果最好,无论是普通模型还是微调模型,相比于其他3种网络训练所需的训练轮次最少。
如图7所示ResNet50的普通模型和微调模型预测8种轮毂得出的混淆矩阵。在训练周期等于25时,普通模型出现对轮毂的错误预测,而微调模型能正确预测轮毂,准确率在基本在90%以上;在50个训练周期内普通模型和微调模型都能实现轮毂的正确预测,但普通模型对轮毂G1和G5的准确率只有80%左右,而微调模型对8种轮毂预测准确率能稳定在95%以上。分析以上结论说明ResNet50微调模型在训练时收敛速度更快。
冻结卷积层参数对训练效率的影响,选用VGG16和ResNet50两种卷积神经网络的ImageNet微调模型。根据其网络结构冻结不同卷积层、bottleneck残差单元,在轮毂数据集上训练并比较不同冻结策略下的准确率变化、训练耗时、测试准确率和推理速度。VGG16网络含有13个卷积层和3个全连接层,分别冻结前2层、前4层、前10层和全部卷积层参数。ResNet50网络的主要结构由1个卷积层和4个残差块组成,每个残差块包含若干个bottleneck的残差单元,分别冻结不同数量的残差单元参数。
图7 ResNet50普通模型与微调模型预测轮毂混淆矩阵Fig.7 ResNet50 normal model and fine-tuning model for hub model prediction confusion matrix
探究不同冻结策略下训练卷积神经网络准确率、训练周期和训练耗时之间的关系,设置3个时间指标:t、t1和t2,分别指训练神经网络平均训练周期耗时和准确率稳定在95%和99%所消耗时间。两个训练指标E1和E2分别指训练神经网络准确率稳定在95%和99%所需训练周期数。表1和表2分别为VGG16和ResNet50网络在实验环境下的时间指标和训练指标。同时比较不同冻结策略下各模型在测试集上的准确率。
表1VGG16不同冻结策略下各指标值Tab.1 VGG16 each index value under different freezing
表2ResNet50不同冻结策略下各指标值Tab.2 ResNet50 each index value under different freezing strategy
分析表1和表2中数据,总结出VGG16和ResNet50不同冻结策略在轮毂数据集上训练效果的一般规律:冻结卷积层数越多,训练耗时越短,但冻结全部参数无法继续在轮毂数据集优化模型,进而限制模型对轮毂的识别准确率。冻结部分卷积层时,余下的卷积层可以参与训练更新参数,因而可以继续优化模型。根据表1和表2中VGG16和ResNet50经网络的不同冻结策略对5个指标的影响来看,冻结层数较少时,平均训练耗时变长,达到99%准确率所需周期较少;冻结层数较多时,平均训练耗时减少,达到99%准确率所需训练周期较多。综合准确率变化与训练耗时两个因素,VGG16和ResNet50分别冻结4个卷积层和7个残差块时训练能在最短时间内达到99%准确率。
进一步比较VGG16和ResNet50在不同冻结策略下各指标值,分析数据可知,ResNet50微调模型在不同冻结策略下达到t1和t2指标所需时间均小于VGG16微调模型,且只有在冻结全部参数时未达到指标t2,而VGG16微调模型在冻结全部参数是均未达到t1和t2指标;两种网络不同冻结策略下训练模型在测试集上均达到98%以上的准确率,随着冻结层数增加准确率下降。测试集每种轮毂包含200张图片,对比两类网络的测试准确率可知:ResNet50测试准确率更高;VGG16和ResNet50对同一张轮毂图像的平均推理耗时分别为0.012 6 s和0.010 4 s。综上所述,ResNet50微调模型训练轮毂数据集无论是识别准确率、训练效率和推理速度均更优。
从表2可知ResNet50微调模型在冻结7个bottleneck残差单元时训练效率最高,在该冻结策略下训练16个训练周期,生成用于轮毂识别的迁移学习模型,将该模型命名为TL-ResNet50,采用该模型对8种型号轮毂实时识别结果和对应的置信度如图8所示。
在测试集上分别用TL-ResNet50对8种轮毂进行测试,测试平均准确率如表3所示。
表3TF-ResNet50预测8种型号轮毂平均准确率Tab.3 TF-ResNet50 forecast average accuracy of 8 hubs (%)
分析图8和表3中数据,采用TL-RseNet50能实现对轮毂的准确预测,且平均准确率在99%以上,进一步说明TL-RseNet50在轮毂识别问题上的优越性能。
针对轮毂识别问题,本文将ImageNet预训练模型参数迁移到ResNet50,构建基于残差网络的轮毂识别微调模型,并比较VGG16和ResNet50两种网络的微调模型在不同冻结策略下训练轮毂数据集时的训练效率、准确率变化和测试准确率,得出ResNet50微调模型在冻结7个bottleneck残差单元时达到99%识别率,所需训练时间最短,推理速度快,生成的TL-ResNet50迁移学习模型对8种轮毂的识别率均达到99%,这表明该模型对识别轮毂具有良好的训练效率、准确率和推理速度。