蔡剑锋,柏俊杰,向洪成,胡 林,周涛琪,高 帅
(重庆科技学院 电气工程学院,重庆 401331)
中国是世界上的工业大国,具有全世界最大板材消费市场,在冶金板材生产过程中,由于多方面原因导致板材表面呈现划痕、夹杂、裂纹、边浪等缺陷,降低后续生产中板材的质量,从而影响企业的经济效益。
为此,国内外众多科研机构和学者展开了对板材表面缺陷检测的研究,魏智锋等构建SSDMobileNet算法模型针对人造板表面粗刨花、水印、砂痕、杂物、胶斑缺陷的分类检测,mAP达到93.76%[1]。蔡汉明等以Inception-V3模型为主的迁移学习算法实现对金属板材凹凸表面、边缘面等特殊部位的缺陷识别准确率达到90.6%[2]。Gao等人提出了一种利用卷积神经网络(CNN)的半监督学习方法进行钢表面缺陷识别,达到90.7%的精度[3]。虽然不少相关学者对表面缺陷检测做出了研究,但很少有人针对金属板最容易出现的表面划痕缺陷进行研究。
在真实的金属板材工业环境中,由于技术环境等限制,导致所能提供的金属板表面缺陷样本太少,使得深度学习方法难以直接应用在表面缺陷检测。针对工业表面缺陷检测中的小样本问题,目前有4种不同的解决方式:数据扩增、合成与生成[4];网络预训练或迁移学习[5];合理的网络结构设计[6];采用无监督与半监督模型方法[7]。通过上述四种方式解决了小样本的部分问题,但还存在一定的局限性。
在不同工业行业和领域中相关的表面缺陷数据是非常多的,一些缺陷种类也是共同的[8]。目前不同检测领域之间的数据并没有有效结合和利用,如果将这些数据有效地运用起来,可以作为解决目前小样本问题的新途径。因此,基于异域数据的联邦学习将会成为一个趋势,它能够打破不同应用场景之间的壁垒,充分学习不同领域之间数据来提升网络性能。
针对样本太少的问题,提出基于异域数据联邦学习的板材表面划痕检测模型,Labview与Python相结合,采用轻量级网络MobileNet-YOLOv3,利用多种板材划痕数据以不同的权重来联合训练解决金属板材样本太少的问题,打破不同应用场景之间的壁垒,并将其应用于缺陷检测系统,客户端用户可以针对不同场景实现单独训练,以提高目标检测的准确性。
本文提出基于异域数据联邦学习的划痕检测模型,如图1所示。在模型中,结合木板、金属板、塑料板等不同板材的表面划痕数据作为公共数据集,根据其划痕的相似匹配度来设置权重W进行联合训练,构建初始的表面划痕通用神经网络模型布置于服务器中[9]。客户端只需将表面划痕通用神经网络模型下载到本地,利用客户端的数据训练本地模型用于划痕检测。
图1 基于异域数据联邦学习的划痕检测模
为保证在应用中其在线检测的速度,本文选用端到端的基于卷积神经网络的目标检测算法YOLOv3。为考虑使其在计算能力受限的边缘设备上也能快速运行,利用MobileNet将标准卷积分解为深度卷积和逐点卷积以减少参数量的特点,替换YOLOv3目标检测算法的主干网络框架,并保留多尺度预测,形成基于MobileNet的目标检测算法[10]。
MobileNet-YOLOv3神经网络结构主要分为3个部分:输入层、主网络框架、多尺度检测模块,如图2所示。
图2 MobileNet-YOLOv3 网络结构
主网络框架使用MobileNet代替原本的backbone,采用Depth-wise(3*3深度)卷积搭配Point-wise(1*1逐点)卷积的方式来提取特征,从而降低了神经网络的浮点数运算量,图3为标准卷积与深度可分离卷积的结构对比图。
图3 深度可分离卷积结构图
深度卷积的卷积核尺寸DK×DK×M,逐点卷积的卷积核尺寸为1×1×M,有N个,要做DW×DH次乘加运算。图4为深度可分离卷积和标准卷积的参数量和计算量的对比,参数数量和乘加操作的运算量会下降到原本3×3卷积的九分之一到八分之一。
图4 深度可分离卷积和标准卷积的参数量和计算量的对比
MobileNet-YOLOv3的损失函数如式(1)所示,由中心坐标损失losscenter、边界框大小损失lossscale、置信度损失lossconf以及分类损失lossclass这4个部分组成。其中和采用和方差的计算方式,如式(2)和式(3)所示;lossconf和lossclass采用交叉熵的计算方式,如式(4)和式(5)所示。
其中,Iij∈{0, 1}为判断第个方格的第j个边界框是否包含待检测物体;(xfi, yfi)为真实物体的中心点坐标;(wfi, hfi)为真实物体边界框的宽和高;Cfi为真实物体的置信度;Pfi为真实物体的类别置信度;分别为它们的预估值。
在Tensorflow环境下,使用Labview作为系统界面,用作本地数据集训练,界面包括左上角的操作按键、数据集文件目录、训练次数、训练批次、预训练模型、已训练模型、存储目录和图像显示。按键功能数据操作中的标注图片为调用LabelImg应用程序,其余所有按键功能均以Python实现。使用Labview的Actor Framework编程框架搭建系统平台,编写有多个VI独立运行且相互间可通信的应用程序执行独立的系统任务,整体框架和部分程序如图5所示。
图5 灰度变换和滤波处理后的结果
实验通过不同板材现场采样的方式,但由于受现场工业条件影响,导致采集到的样本部分存在光照不均的问题,所以需要对光照不均的图片进行处理。主要采用Gamma校正,以对图像进行非线性色调编辑的方法,检出图像信号中的深色部分和浅色部分,并使两者比例增大,从而提高图像对比度效果,如图6所示。结合不同的板材划痕检测数据集,利用ORB算法进行金属板同种划痕的数据筛选,ORB基于FAST和BRIEF特征提出的二值特征匹配实现,在时间上比SIFT快100倍,比SURF快10倍,并且匹配效果也很好。筛选后制作了4 632张的划痕通用数据集,然后根据其匹配度,进行不同权重的设置,用于训练通用神经网络,如图7所示。
图6 原图和Gamma(1.5,3)的校正图像
图7 基于ORB算法的不同板材之间的划痕匹配
本地服务器下载预训练的MobileNet-YOLOv3和YOLOv3通用神经网络模型,训练本地只有116张的金属板数据集,并对金属板数据集单独采用了镜像、旋转、尺度变换等数据增广方法,将金属板的数据量增广到4 748张,用于对照实验。测试准确率如表1所示。
表1 数据增广与联邦学习的准确率对比
针对小样本问题,采用异域数据联邦学习的方法对比传统的数据增广方法准确率提高了约5%。实验通过迁移学习的方式验证金属板材的划痕检测准确度。图8为MobileNet-YOLOv3与YOLOv3遍历100次完成模型训练时,联邦学习和数据增广方法的mAP和损失函数。
图8 MobileNet-YOLOv3与MobileNet-SSD损失值与平均精度均值
通过迁移学习的方式分场景训练,由于本地数据集数据量较少,神经网络的训练时间可以大大减少,实际检测效果如图9所示。客户端在完成神经网络模型的训练后可以直接使用电脑调用摄像头进行检测,也可考虑将其部署在可兼容的边缘设备上。
图9 金属板的检测实际效果
本文在金属板材表面划痕的检测中,针对深度学习的表面划痕检测技术中所存在的小样本问题,在4种不同的解决方式外,提出了新的小样本问题的解决方法,构建基于异域数据联邦学习的表面划痕检测系统,利用跨领域的表面划痕数据集,构建通用的表面划痕深度学习神经网络模型,在解决工业现场划痕样本集不足问题的同时,进行异域数据联合使用,实现跨领域的表面划痕检测。但针对复杂环境下的划痕检测还有待进一步改进,将训练好的检测模型移植到嵌入式设备中进行工业现场应用是下一步研究方向。