徐斌锋
(广东创新科技职业学院智能制造学院,广东 东莞 523960)
机械材料作为工业生产制造的基础,被广泛应用于各个领域。然而因产品工艺的局限,不可避免地会造成产品缺陷,如犁沟、碎屑、剥落面等。这些缺陷不仅会影响产品外观,还会导致机械材料质量下降。因此,如何提高机械材料质量是机械材料生产厂家亟需解决的关键问题。要实现高质量的机械材料生产制造,首先需要对产品缺陷进行检测。目前,常用的缺陷检测方法包括电磁检测方法、超声波检测方法和基于深度学习的检测方法等,如闫梁等[1]结合双激励传感器和高分辨率磁阻传感器,提出一种不锈钢表面裂纹检测方法,提高了不锈钢表面裂纹检测精度;王媛媛等[2]利用光纤光栅代替压电传感器进行超声波探测,实现光纤光栅传感阵列缺陷的检测;马宇超等[3]基于深度网络自适应优化的Mask R-CNN模型,对铸件表面缺陷进行检测,仿真结果表明,该检测方法可快速、高效地实现铸件表面缺陷检测。上述研究表明,目前缺陷检测方法已发展为多种形式,一定程度上实现了机械材料的缺陷检测。然而曾军等[4]认为,上述检测方法在检测精度上有待进一步改善,且检测速度较低。
为解决以上问题,本文以改进反卷积单激发多框探测器(deconvolutional single shot detector,DSSD)网络为基础网络,提出一种机械材料缺陷识别方法,并验证该方法的可行性。
DSSD网络是在传统单步多框检测器(single shot multibox detector,SSD)网络基础上,通过优化预测模块和引入反卷积模块,从而提高目标检测的精度,其主要由基础网络、卷积层、反卷积层组成[5],基本结构如图1所示。
图1 DSSD网络结构示意图
目前,DSSD基础网络有ResNet101、AlexNet和VGG16网络。ResNet101网络相较于AlexNet和VGG16网络,具有更强的特征表征能力和鲁棒性,可避免网络层数增加导致误差过大的问题。因此,本文选用ResNet101网络作为DSSD网络的基础网络。
图1中,预测模块位于卷积层后,基本结构如图2所示[6]。在SSD预测模块基础上,加入一个残差单元和多个网络层,可提高网络对目标特征提取的准确性。
图2 预测模块网络结构
反卷积模块位于预测模块后,由多个训练完成的反卷积层组成,基本结构如图3所示[7]。反卷积模块利用基于元素的点积形式对浅层和深层特征进行融合,可恢复部分丢失的信息,可使网络获取更多内容,进而提高网络检测的准确性。每个反卷积层后连接一个BN层,以确保每层输入的一致性。其中,激活函数通常选择ReLU函数,W为图像的宽度,H为图像的高度。
图3 DSSD网络反卷积模块结构
1.2.1反卷积结构优化
DSSD网络中虽加入了反卷积模块,提高了对特征提取的利用率,但也增加了网络的层数和计算复杂度,降低了网络检测速度。为解决该问题,将DSSD网络中原本的5层反卷积层减少为3层,得到图4所示优化后的DSSD网络。
图4 优化后的DSSD网络结构
1.2.2检测框改进
由于标准DSSD网络检测框参数不能根据实际应用调整到适当范围,限制了检测精度[8],因此提出采用K-means聚类重新选择检测框的长宽比,具体操作步骤为:
1)从n个样本x1,…,xi,…,xn中随机选择k个样本作为初始中心点,用u1,…,ui,…,uk表示。
2)计算每个样本到各个聚类中心点的距离‖xi~ui‖2,并根据距离大小,将样本划分到距离最近的中心点。
3)更新中心点位置,并将每类簇中的距离平均值作为新的样本聚类质心,进行样本与簇中心点距离计算。
4)重复以上操作,直到每类的中心点位置不再变化。
通过上述聚类,可使检测框长宽比与待检测目标长宽比更接近。
基于改进的DSSD网络,构建机械材料的缺陷识别模型,具体步骤如下:
1)图像采集与预处理。由于DSSD网络输入图像为三维图像,且尺寸为300像素×300像素×3像素,因此需将收集整理的机械材料缺陷图像调整为DSSD网络输入要求的图像。
2)参数初始化。根据式(1)和式(2),分别计算特征层的最大尺寸和最小尺寸,然后根据式(3)确定先验框尺寸大小。
max_sizes=min_dim×(ratio+step)/100
(1)
min_sizes=min_dim×ratio/10
(2)
step=(max_ratio-min_ratio)/(len(mbox_source_layers)-2)
(3)
式中:min_dim为输入图像的最小尺寸,取值300;ratio为调整后的图像尺寸和原始图像尺寸的比率,初始值一般为20;step为确定的先验框尺寸大小;min_sizes和max_sizes分别为图像特征层的最小尺寸和最大尺寸;len(mbox_source_layers)为神经网络的特征层数,在本文中SSD的特征层一般为6。
3)对正负样本标注。找到每种机械材料缺陷类型交并比最大的特征框,并将其与剩余特征框进行对比。若二者之差大于设定阈值,则将其标注为正样本,反之标注为负样本。
4)目标预测框获取。分别对正负样本进行预测,获得待检测的目标预测框,并计算函数损失值。
5)预测框处理。对目标预测框去除背景预测框,并删除小于设定阈值的预测框,同时利用非极大值抑制(non maximum suppression,NMS)算法删除不准确的预测框。
6)缺陷识别。根据剩余的预测框得出机械材料缺陷的种类和位置。
上述流程可用图5表示。
图5 改进DSSD网络机械材料缺陷识别步骤
本实验在Windows10操作系统上进行,且以tensorflow为深度学习框架。系统配置Intel(R)Core(TM)i7-8750H,GeForce GTX1060显卡,8.0 GB内存。
本文数据来源于通过扫描电子显微镜自主采集的机械材料表面缺陷图像,包括犁沟、碎屑、剥落3种常见的缺陷,共3 500张。
考虑到扫描电子显微镜采集的图像为二维灰度图像,而输入DSSD网络的图像为彩色图像,因此首先将灰度图像转化为RGB图像。此外,考虑到采集的图像样本量少,为提高深度学习算法训练的精度,采用旋转、迁移、缩放等方式增强数据集。
由于DSSD网络的训练数据样本为VOC2007格式,因此对数据集进行格式转换,将原始训练数据样本通过createtxt.py文件生成网络对应的格式。
最后,将上述预处理后的数据集按7∶3的比例划分为训练集和测试集,并将图像统一压缩到300像素×300像素×3像素。
选用准确率(AP)、平均准确率(mAP)等指标对网络性能进行评估[9-10]。
3.4.1算法验证
1)基本网络性能验证。
为检验改进DSSD网络选用的ResNet101基础网络的性能,以AlexNet和VGG16为基础网络的DSSD网络性能为对照,结果见表1。由表可知,以ResNet101为基础网络的改进DSSD网络的平均准确率最高,达85.9%。由此说明,采用ResNet101网络作为改进DSSD网络的基础网络性能更好。
表1 算法验证结果
2)反卷积层优化验证。
为验证对反卷积层优化效果,对比了改进前后DSSD网络的平均检测时间,结果见表2。由表可知,相较于5层反卷积层,3层反卷积层的平均检测时间更短,为0.141 s,少0.052 s,说明改进有效。
表2 检测时间对比
3)检测框改进效果验证
为验证K-means算法对DSSD网络检测框的改进效果,分析了采用K-means算法和未采用K-means算法优化检测框长宽比的DSSD网络识别效果,结果如图6所示。由图可知,采用K-means算法的DSSD网络识别更好,说明采用K-means算法改进有效。
图6 DSSD网络识别效果对比
4)模型训练结果。
图7为改进DSSD网络训练的Loss值。由图7可知,训练初期,网络的Loss值快速下降,当网络迭代次数到3.5×104后,网络损失值逐步趋于稳定,约为0.2,满足应用需求。由此说明,本文构建的改进DSSD网络对机械材料缺陷识别具有一定的有效性。
图7 改进DSSD网络训练的Loss值
3.4.2不同网络的平均识别准确率和平均检测时间对比
为进一步验证所提的改进DSSD网络对机械材料缺陷识别的有效性和优越性,在相同迭代次数下,对比了改进DSSD网络与常用的YOLO、SSD、Faster-RCNN等目标网络的平均准确率,结果如图8所示。由图可知,检测初始阶段,改进DSSD网络平均识别准确率较低;随着迭代次数的增加,所有网络的平均识别准确率均快速上升,但改进DSSD网络的平均识别准确率上升幅度大;当迭代次数达到3.5×104后,所有网络达到稳定,且改进DSSD网络的平均识别准确率高于对比网络。由此说明,改进DSSD网络在机械材料缺陷识别中具有一定的优势,表现出更好的检测识别效果。
图8 不同网络对机械材料缺陷的平均识别准确率
表3为不同网络对机械材料缺陷的平均识别准确率均值和平均检测时间对比。由表可知,相较于对比网络,所提改进DSSD网络的平均准确率均值最高,达到84.75%,平均检测时间最短,为0.141 s。由此说明,相较于YOLO、SSD、Faster R-CNN网络,所提改进DSSD网络对机械材料缺陷识别的整体效果更好,具有一定的优越性。
表3 不同网络对机械材料缺陷识别结果
3.4.3改进DSSD网络的缺陷识别结果
为验证改进DSSD网络对机械材料缺陷识别的有效性,利用学习好的数据集对所提网络进行验证,并随机选择4个样本种类进行分析,结果如图9所示。由图可知,所提的改进DSSD网络可良好识别机械材料单一缺陷和复合缺陷,且识别准确率较高,可用于机械材料缺陷识别实际检测。
图9 改进DSSD网络识别结果
为进一步验证所提改进DSSD网络对机械材料缺陷识别的性能,以机械材料碎屑为例,采用改进DSSD网络和对比网络分别进行识别,结果如图10所示。由图可知,相较于对比网络,所提网络的检测框区域与机械材料碎屑缺陷区域重叠效果更好,说明所提改进DSSD网络的检测精度更高。由此说明,相较于一般缺陷检测识别算法,所提改进DSSD网络对机械材料缺陷的识别准确率更高,表现更好。
图10 不同网络识别结果对比
本文以ResNet101网络为基础网络,在减少反卷积层的同时,利用K-means算法选取检测框长宽比,实现了机械材料缺陷的识别,且具有较高的识别准确率和较短的检测时间。相较于常用目标检测网络YOLO、SSD、Faster R-CNN网络,本文的改进DSSD网络具有更高的平均识别准确率和更短的检测时间,表明其具有一定的有效性和优越性,可用于机械材料缺陷识别。但本文仅采集了碎屑、犁沟、剥落等3种常见的机械缺陷,数据样本少且种类不多,因此模型的泛化能力还有待进一步验证。