基于迁移学习和模型融合的粗糙度检测系统设计
2023-09-23黄之文朱坚民
张 强,黄之文,朱坚民
(上海理工大学 机械工程学院,上海 200093)
引言
表面粗糙度描述了机加工零件表面具有的较小间距和微小峰谷不平度,是衡量机械零件表面质量最重要的评价指标之一,直接影响着机械设备运转的性能和使用寿命。随着机械加工智能化水平的不断提高,实现表面粗糙度的精准预测,对提高加工效率和工件表面质量具有重要的研究意义[1]。当前,机械加工零件表面粗糙度接触式测量方法[2-4]主要包括印模法和触针法,此类方法对工作者具备的先验知识要求不高,但由于对零件直接接触,容易划伤工件表面。此外,光切法、干涉法、散斑法及光学传感器法等非接触式测量方法[5-7]由于对测量环境和仪器的要求较高而限制了其在工业测量领域中的应用。
随着微电子制造技术及计算机视觉等技术的迅速更新,基于卷积神经网络[8-10]的智能检测技术因其具有抽象特征提取性能优越、对工程经验知识依赖性低等优点,逐渐被应用到工件表面粗糙度非接触式测量领域中。Rifai 等[11]利用卷积神经网络对所采集的车削和铣削表面粗糙度图像进行自适应特征提取和粗糙度预测,不依赖于专家知识进行特征选择,不仅增强了模型对数据的鲁棒性,而且大幅提高了预测结果的可靠性。易怀安等[12]提出了一种基于卷积神经网络的铣削表面粗糙度分类方法,进一步提高了深度学习方法在机械加工工件表面粗糙度领域中的识别精度。以上所提的方法大多是采用单个的图像识别网络检测工件表面粗糙度等级,很少有同时使用多个模型来降低误判的可能性。
针对传统非接触式测量方法识别准确率不高的问题,本文提出基于迁移学习和模型融合的粗糙度检测方法。首先,利用该系统中的工业相机获取零件表面粗糙度图像;其次,通过迁移微调VGGNet-19[13]、Inception-V3[14]和DenseNet121[15]进行多模型融合;最后,将训练好的模型用于检测系统,实现对工件表面粗糙度等级的自动检测。
1 粗糙度检测系统设计
图1 为本文所设计的粗糙度检测系统。该系统由工业相机、控制器、光源、万向支撑装置、工件等组成,在系统中设置可以进行万向调节的装置以实现工业相机对底座上的工件表面进行聚焦,同时,移动底座上的工件即可实现对工件所有加工表面进行检测。通过控制器界面控制相机采集工件表面粗糙度图像,在光源工作时,型号为GP-600U CCD 工业相机拍摄得到的图像均为彩色RGB 图,之后通过训练好的多模型融合检测算法预测工件表面粗糙度等级。其中,控制器的 CPU 型号为BCM2837B0,内存为4 GB,PyCharm 软件平台是基于Tensorflow 框架。
系统检测界面如图2 所示。该系统分手动检测和批量检测,在系统检测之前程序会自动设置好工业相机的采集参数,并在手动调节装置时实现对待测工件表面的聚焦,当处于批量检测时,程序会定时触发检测按钮;当处于手动检测时,程序会自动对聚焦好的工件表面进行粗糙度图像采集并自动地采用多模型融合算法对图像进行检测,之后输出预测的粗糙度等级结果。当检测结果的概率值低于50%即结果可信度不高时,系统会自动将对所检测的工件表面图像收入粗糙度图像数据库中,积累数据基础,为后续的模型优化提供相应的数据,解决业内缺乏类别完整、样本标准化的数据样本问题。
图2 系统检测界面Fig.2 System inspection page
2 数据采集与处理
利用所设计粗糙度检测系统在固定光源条件下对车削、铣削和磨削加工方式下的工件表面进行图像获取以建立本文的粗糙度数据库,图像示例如图3 所示,所采集的原始粗糙度图像像素大小为1 600×1 200,每个粗糙度等级采集200 张图像,由于所采集的加工工件有限,为了能够提高模型对数据的鲁棒性,采用随机图像裁剪、旋转和镜像等技术丰富训练数据集,扩充后的数据集共有3 750 张图像。在实验中,随机打乱样本顺序,将其按照 6∶2∶2 的比值划分为训练集、验证集和测试集,并将粗糙度图像的尺寸归一化为224×224,批量输入模型训练。
图3 粗糙度图像数据集示例Fig.3 Sample roughness image dataset
3 识别模型设计
为了提高算法对工件表面粗糙度图像识别的准确率,本文以一种融合迁移学习和模型结构的思想建立识别模型,针对目标粗糙度数据集图像样本少,在不消耗硬件资源的前提下提升识别准确率。首先,使用VGGNet-19、Inception-V3 以及DenseNet121 三种不同结构特点的网络在源数据集ImageNet 上进行预训练,并通过权值迁移和结构微调的方法在目标数据集Roughness 上进行迁移学习;其次,利用全局平均池化技术将特征图进行降维,并通过特征层拼接实现多模型融合;最后,通过全连接层直接输出粗糙度等级检测结果。本文算法框架(FusionNet)如图4所示。
图4 算法框架Fig.4 Algorithm framework
3.1 迁移学习基础
迁移学习是指将原来用于解决源任务的网络结构和权值迁移到目标任务中去,提升算法性能的一种训练方法。迁移学习的原理是卷积神经网络在学习图像数据的浅层特征具有通用性,即预训练得到的特征可以广泛应用到各个领域的数据集中,从而实现跨域迁移。在样本不足或算力不足的情况下可以使用迁移学习,将这些通用特征从其他已经训练好的网络中迁移过来,从而节省训练时间,并且获得优秀的算法模型。深度学习网络在使用迁移学习技术时,一般要使用ImageNet 数据集进行学习得到预训练权重,同时为了使模型在Roughness 数据集上能有更好的识别性能,采用结构微调的方法优化模型。本文采用的方法是先对VGGNet-19、Inception-V3 以及DenseNet121 预训练模型的前n-3 层卷积层,然后更新剩余的三层卷积层权值参数就可以得到适用于粗糙度图像特征提取的算法模型。
3.2 模型融合设计
在深度学习研究领域里,为获取更好的识别精度,多数情况下需要设计更宽、更深的卷积神经网络结构来提取更丰富的特征,如:VGGNet-19 通过多层串联卷积提高了模型的特征提取能力,Inception-V3 利用多尺度并行卷积技术提高了模型的识别性能,DenseNet121 通过稠密卷积加强了特征提取的效果,但这些网络均存在更新参数过多、训练时间过长的不足;而模型融合可以直接通过特征拼接技术将几种深度学习网络提取的多种特征进行融合,既不增加模型优化参数,还能够最大程度利用多种网络所提取的特征信息,提高网络的性能。因此本文将VGGNet-19、Inception-V3 以及DenseNet121 微调训练后所学习到的特征进行融合,用以提高算法对粗糙度图像的检测性能,达到识别效果最优。
4 实验结果与分析
为了更快更好地训练与测试模型,本文算法在具有NVIDIA GeForce RTX 3090 GPU 和AMD Ryzen 9 5950X 16-Core 处理器的平台上运行,GPU 显卡内存24 GB,CPU 内存32 GB。机器安装64 位Ubuntu18.04 LTS 操作系统,实验框架为Tensorflow2.0 深度学习框架,基于CUDA 10.2 和OpenCV 等库的集成开发环境。批处理大小为16,学习速率为0.001,迭代次数(epoch)为300,优化器的选择是自适应矩阵估计优化策略即Adam 优化算法,基于ImageNet 数据集的预训练模型权重进行训练。本文参照大多数图像识别的评价指标方法,将测试集准确率(Acc)作为模型评价指标。具体计算式为
式中:TP为检测模型将工件表面图像正确预测为对应粗糙度等级标签的个数;FP为检测模型将工件表面图像错误预测为对应粗糙度等级标签的个数。
4.1 迁移学习消融实验
本节将通过对比VGGNet-19、Inception-V3以及DenseNet121 三种网络采用微调训练和从头训练两种方式在粗糙度数据集上的准确率和收敛速度,更好地突出迁移学习在粗糙度等级识别任务上的显著优势,微调训练参数如表1 所示。
表1 网络微调参数Tab.1 Network fine-tuning parameters
由图5 可知,网络从头训练的收敛速度较慢,最高训练精度为90%,在粗糙度数据集上难以得到一个较好的模型,而在迁移学习下的模型收敛速度均较快,训练精度可达97%,这也充分说明了迁移学习的重要意义。
图5 训练可视化曲线Fig.5 Training visualization curve
4.2 模型融合消融实验
为了更好地体现模型融合给本文算法带来的性能提升效果,本节将使用微调后的VGGNet-19、Inception-V3 以及DenseNet121 三种网络进行融合共同提取粗糙度图像特征,构建了FusionNet 融合模型,并与融合前后训练好的模型进行粗糙度图像测试,以测试集上的识别准确率为指标进行模型评价,模型融合消融实验结果如表2 所示,FusionNet 训练曲线如图6所示。
表2 消融实验结果Tab.2 Ablation experiment results
图6 FusionNet 训练曲线Fig.6 FusionNet training curve
由图5、图6 和表2 可知,融合模型在迭代约10 次后,随着迭代次数的增加,损失值收敛于零且波动较小,比其它网络模型更快速的实现了稳定,在测试集上的识别率高达90.32%,均优于单个迁移微调训练后的网络,这表明模型融合不仅可以在更少的时期内准确地训练,计算效率更高,而且能够进一步提高算法的识别精度。
4.3 模型对比实验
为了能够更好地体现本文算法的优越性,本节将FusionNet 与相关领域内的几种经典卷积神经网络在粗糙度数据集上进行训练与测试,模型对比结果如表3 所示,从表中可以看出,本文所提出算法在测试集上取得了比其他经典模型更高的识别准确率且提升较大,平均识别精度提高了约7%,这是因为本文算法将多个优秀模型所提取的不同尺度特征进行了融合,提升了算法的识别性能。
表3 模型对比结果Tab.3 Model comparison results
为了能够更直观的体现本文算法的优越性,将采用混淆矩阵对测试集模型预测结果进行描述,图7 为具体的预测结果,横轴为预测值,纵轴为真实值,对角线上的数字表示某一等级正确预测的精度,非对角线上的数字表示某一等级误识别率,对角线上上方块的颜色越深,表示该等级粗糙度图像的预测效果越好。本文算法对各种等级粗糙度的识别准确率都较高,平均识别率约90%。这也验证了本文提出的基于迁移学习和模型融合算法在粗糙度检测任务上的有效性和可靠性。
图7 识别结果混淆矩阵Fig.7 Confusion matrix of identification result
4.4 系统验证
为了验证本文所设计的粗糙度检测系统的有效性,随机测试了600 张车削、铣削和磨削工件表面粗糙度图像,实验结果如图8 所示。
图8 系统识别精度对比Fig.8 Comparison of system identification accuracy
从图中可以看出,本文算法在系统上的测试精度取得了最优,系统共正确检测出546 张粗糙度图像等级,平均识别正确率高达91%,单张图片推理的速度不超过100 ms,达到工业测量实时性的要求。
5 结论
针对传统非接触式测量方法识别准确率不高的问题,本文提出基于迁移学习和模型融合的粗糙度检测方法,设计了一种工件表面粗糙度自动检测系统。系统首先利用工业CCD 相机采集工件表面图像,然后基于基于迁移学习和模型融合的算法对图像进行处理,识别图像所对应的粗糙度等级。改进后的算法相较于原始算法平均准确率提高约7%,达到90.32%,与其他网络结构识别算法相比具有更高的检测精度。实验表明,该系统可以很好的完成粗糙度检测任务,识别率可达91%,满足工业生产要求。