APP下载

密集采样算法下的毛刺缸套外观缺陷检测

2023-09-21肖成军肖河曼王卫华

机械设计与制造 2023年9期
关键词:密集毛刺卷积

张 立,肖成军,肖河曼,王卫华

(广东白云学院机电工程学院,广东 广州 510450)

1 引言

全铝发动机与铸铁发动机相比,具有重量轻、油耗低等优势被广泛应用于家庭汽车,但铝的耐磨性比较差,因此采用钢制的活塞套镶嵌在发动机上,增大活塞与发动机之间的耐磨性从而提高发动机的使用寿命。毛刺缸套是一种表面具有高低不平的峰谷状的毛刺[1-2],其表面质量直接影响到与发动机的结合力以及活塞套的散热情况,进而影响到发动机的使用寿命。目前毛刺缸套外观质量检测方式主要是人工检测,人工检测的方式有效率低、准确度低、主观性强等弊端。通过机械检测装置[3]只能获得某一类外观的缺陷,不能解决毛刺缸套外观缺陷形式繁多的任务,并且毛刺缸套外观缺陷与缸套本体颜色相近,传统的图像处理算法[4-5]只能识别具有明显特征的缺陷。

2012年Geoffey Hition教授和他的团队设计的卷积神经网络AlexNet首次应用在大型图像处理任务中,在ImageNet数据集分类任务中取得冠军,此后更加优秀的网络被不断的提出,如谷歌团队的VGGNet、残差网络ResNet等分类网络在公共数据集上的检测精度不断的提升。卷积神经网络的深度学习算法可以有效的避免图像的亮度分布不均、形状大小不一所带来的影响,对目标的识别有较好的鲁棒性。2013年Ross B.Girshick等人提出基于卷积神经网络的目标检测算法R-CNN网络,作为二阶检测算法的开端,此后不断的对其进行改进,如Fast R-CNN、Faster RCNN 等算法不断提升检测精度和检测速度。2016 年,Joseph Redmon、Ross Girshick 提出YOLO[11](You Only Look Once)算法,可以快速的检测目标,此后对其不断改进,有YOLOv2[12]、YOLOv3[13]等算法的提出,进一步提升检测精度和检测速度,达到实时检测的要求。其中YOLOv3算法在上述算法中具有较好的检测精度和检测速度,因此实验中选择YOLOv3算法作为检测缺陷的基础算法。

2 YOLOv3算法架构及其改进

2.1 YOLO系列算法架构

YOLOv3 算法架构是YOLO 算法的改进版本,YOLOv3 算法具有较高的检测速度和较高检测精度。YOLO算法作为一阶算法,与二阶检测算法不同之处在于是否需要对目标的候选框进行提取。一阶检测算法不需要提取候选框,二阶检测算法需要提取候选框进行预测物体的边界位置。YOLO算法基于回归的思想,将一张输入图片分割成(7×7)网格,如图1所示。每个网格预测两个边界框,检测每个网格是否包含检测目标,并且计算其属于某一类别的置信度,如式(1)所示。对包含物体的网格进行回归计算,直接预测待检测物体边界框的位置。

置信度式衡量网络检测缺陷时,判别的类别概率的大小,如式(1)所示。

式中:Pr(object)—网格包含待检的目标的概率,有目标时概率为1,否则为0;IoU衡量预测边框与实际边框的重合度,其值越大则预测边框的位置越准确,其值越小则预测边框的位置准确度越差。IoU表示,如图2所示。

图2 IoU示意图Fig.2 IoU Schematic

IoU计算,如式(2)所示。

式中:Area3—Area1,Area2的交集。

每个网格预测包含目标的置信度以及4个坐标值,分别为边框中心坐标以及宽、高。更新预测框位置参数和置信度参数时用总方误差作为网络训练的损失函数。反向传播过程中损失函数贯穿整个网络,实现端对端的网络训练,如式(3)所示。

式中:S2—网格数目;B—单元格预测框的个数;(xi,yi,wi,hi)—边框实际坐标预测边框的坐标。

为了解决一个目标被多个预测框标记弊端,采用非极大值抑制机制(Non Maximum Suppression,NMS)。非极大值抑制可以很好的去除多余边界框,保留效果最好的边界框。由式(3)计算每个网格预测出边界框的位置,由式(2)计算出两个边界框的IoU,保留置信度最高的边界框,如图3所示。通过NMS的计算,保留效果最好的边界框,但是对于密集目标的场景不适用,算法会滤除其中IoU的较大一些目标,导致检测错误。实验中使用soft-NMS代替NMS算法。

图3 NMS示意图Fig.3 NMS Diagram

2.2 YOLOv3算法

YOLOv3算法是YOLO系列算法的第三个改进的算法,该算法采用最新的特征提取网络DarkNet-53作为特征提取网络,在特征层检测的阶段,结合不同特征层的语义信息,构建了类似RPN[14]模型,融合不同层的特征,丰富该层的语义信息。YOLOv3算法网络结构,如图4所示。

图4 YOLOv3网络结构图Fig.4 YOLOv3 Network Structure Diagram

YOLOv3网络中的DarkNet-53在ImageNet数据集上的分类精度与ResNet-152和ResNet-101相比接近,但是运算速度却提升很多。算法使用步长为2的卷积代替池化,减少运算参数;为了增加对小目标的检测精度,采用类似FPN网络的上采样的特征融合,在多个尺度的特征层进行检测。

通过聚类算法计算适合数据集的3种长宽比,每个网格预测3个边界框;分类函数改为逻辑回归(logistics)函数,充分利用其连续性,如式(4)所示。

式中:z—函数的预测值。

通过对YOLO算法的骨架网络进行优化和精细的调整训练过程,其中YOLOv3算法的检测速度和检测精度达到最优,与基于候选框选择的检测算法和SSD等算法进行对比,YOLOv3算法的检测速度和检测精度均领先其他算法,因此实验选择YOLOv3算法作为毛刺缸套外观检测的方案。

3 YOLOv3算法的改进

YOLOv3算法在通用数据集检测精度和检测速度均已达到较高的水准,但是对于毛刺缸套外观缺陷不明显的数据集实用性不强,因此对YOLOv3算法的骨架网络进行改进,增加其对毛刺缸套数据集的适用性。

3.1 增加密集采样机制

YOLOv3算法使用DarkNet-53网络作为特征提取网络,以步长为2的卷积代替池化函数,顺序连接的卷积层之间会丢失一定数量的语义信息,而ResNet-152以及ResNet-101等算法利用跳跃连接提升网络的检测精度,因此在DarkNet-53网络的基础上采用多次跳跃连接,形成密集采样结构[7],如图5所示。在不增加额外计算复杂度和参数的情况下有效解决反向传播过程中深层网络退化的问题,以此提升检测精度。

图5 密集采样连接机制Fig.5 Intensive Sampling Connection Mechanism

跳跃连接和密集采样机制计算,如式(5)、式(6)所示。跳跃连接每次只连接一层特征,不能充分利用距离较远的特征层,而密集采样对该特征层之前的所有特征层进行连接。对DarkNet-53进行密集采样后,将会大大增加网络对特征层的复用率,学习更多的识别特征,网络参数却没有大幅增加。密集采样网络反向传播过程中,如式(6)所示。损失函数在优化时,因为连接其他特征层,公式中含有常数1,在深度网络中避免发生梯度消失或者梯度爆炸的弊端。

式中:xl—网络第l层;Xl+1—xl层输出;H()⋅—函数映射公式;J—损失函数;W—权重矩阵。

3.2 特征层的空间注意力机制

卷积运算是深度神经网络的核心运算,每个卷积层包含多个卷积核,但是每个卷积核对于识别目标提取的作用不同,因此需要赋予不同的学习权重,有利于加速网络的收敛以及识别精度的提升。特征重标定网络(Squeeze-and-ExcitationNetworks,SENet),即空间注意力机制,可以有效的解决不同特征层之间的权重分配问题。不同于Inception 系列算法[8]、MobileNet等算法[9-10]采用多尺度卷积核,SENet学习各个特征层之间的权重关系。SENet网络结构,如图6所示。

图6 SENet结构Fig.6 SENet Structure

SENet网络通过对每个二维特征层转化为一个具有一定感受野的实数,输出通道数目保持不变,通过Excitation为每个通道赋予一定的权重,表征每个特征通道之间的相关性。

3.3 改进后的YOLOv3算法网络结构

对DarkNet-53网络进行分块处理,每一个块内部引入空间注意力机制,块与块之间进行密集采样连接。其中,块DBL包含:卷积、归一化、leaky-relu等函数;D-N内部包含残差模块、密集采样、空间注意力等模块的组合,数字N代表包含模块的数量;上采样主要还原特征层的尺寸,与上一层特征层的进行融合,对改进后的YOLOv3算法命名为Advance-YOLOv3。网络结构,如图7所示。

图7 Advance-YOLOv3算法结构Fig.7 Structure of Advance-YOLOv3

通过密集采样以及增加空间注意力机制,空间复杂度略有增加,但是却只有少量的参数增加即可带来较高的收益。密集采样机制通过重复利用数据的特征,可以减少网络的深度。网络使用Y1、Y2、Y3三个不同尺度的特征层进行目标检测,不同大小的特征层对应不同的感受野,通过多层次的检测作为输出,有利于提升对大小不同目标检测能力。

4 实验训练与效果

4.1 实验数据的处理

为了减少网络的过拟合现象,对数据集进行扩充,通过旋转、镜像等方式,使数据集由每类480张扩增到2640张,对图像进行线性变化增加图像的对比度,对数据集以7:2:1等比例划分为训练集、测试集、验证集,所有数据集尺寸全部调整到(416×416)。

4.2 实验平台

实验训练以及检测均是在同样的设备上进行,具体参数,如表1所示。

表1 设备参数Tab.1 The Equipment Parameters

4.3 网络训练

网络首先在ImageNet数据集训练10个epoch,通过参数迁移学习保留了特征参数和结构,减少网络训练时间;在优化损失函数时,对比随机梯度下降算法、批量梯度下降算法、小批量梯度下降算法,综合考虑数据集的大小与特点,选择小批量梯度下降算法作为优化算法,每次在训练数据中抽取10至1000各样本作为输入,可以同时兼顾训练时间与训练精度。实验中的超参数设定:batch 为64,moment 为0.9,decay 为0.001,learning_rate 为0.001。设定以上超参数,防止内存溢出,最大效率的加快网络的训练。

4.4 实验结果与分析

实验中训练106次,200 个epoch。在分类精度指标,对比ResNet、VGGNet、Advance-YOLOv3结果,如图8所示。VGGNet19、ResNet、Advance-YOLOv3 算法的最高分类精度分别为76.2%、82.6%、83.7%,在夹渣、外圆孔洞等检测目标中,Advance-YOLOv3的精度要分别提升1.8 和2.3%%;在检测指标上,实验对比YOLOv3、Faster R-CNN、Advance-YOLOv3三种算法的检测精度,检测结果,如表2所示。

表2 三种算法测试结果Tab.2 Three Kinds Algorithm of Test Results

图8 算法训练精度与测试精度Fig.8 Algorithms Training Accuracy and Test Accuracy

由图8可知,Advance-YOLOv3算法的平均测试精度和训练精度相对高于其他两种算法。

由表2可知,Advance-YOLOv3算法在均值精度和漏检率等检测指标在内壁空洞、涂料眼等小目标缺陷的检测精度优于其他算法。

由实验结果分析,实现目标检测任务需要提取待识别目标的关键特征,毛刺缸套外观缺陷位置与本体的灰度差较小,经过多次的卷积提取特征后、池化后的卷积层,经过可视化后发现本体与缺陷的灰度差越来越小,阻碍了网络提取缺陷的边缘、轮廓、颜色等特征信息。经过密集连接和空间注意力机制的结合,降低网络深度的同时增加对特征的提取,部分检测结果,如图9所示。

图9 检测结果Fig.9 Test Results

4.5 图像处理

由Advance-YOLOv3定位出缺陷区域,结合图像处理算法进行定量分析。通过阈值分割将缺陷位置与背景区域进行分离,通过统计图像中白色像素点的数目即可计算出缺陷区域面积大小,涂料眼和内壁孔洞分割结果,如图10所示。

图10 阈值分割Fig.10 Threshold Segmentation

5 结语

通过对毛刺缸套数据进行分析,选择YOLOv3 作为基础算法。通过对比试验发现,添加空间注意力模块、密集采样后的Advance-YOLOv3,相同数据集、实验设备等条件下Advance-YOLOv3算法的检测精度提升4.4%,漏检率减少7.5%。

密集采样机制大幅提升算法对图像特征的利用率,结合多个跳跃连接,使相同深度的网络模型可以提取更多的特征信息,并且空间注意力机制可以加速网络的收敛和提升检测精度,对不同通道层赋予大小不一的权重,使网络着重训练权重较大的通道,提升网络的训练效率,有效解决传统图像处理算法对光照的敏感性。

猜你喜欢

密集毛刺卷积
耕地保护政策密集出台
基于3D-Winograd的快速卷积算法设计及FPGA实现
密集恐惧症
一种铸铁钻孔新型去毛刺刀具的应用
一种筒类零件孔口去毛刺工具
从滤波器理解卷积
基于5G超密集组网的规划与设计
基于傅里叶域卷积表示的目标跟踪算法
可抑制毛刺的钻头结构
新型铜合金化学去毛刺剂的研制