首页> 中国专利> 一种基于轻量化网络的工业产品表面缺陷检测方法

一种基于轻量化网络的工业产品表面缺陷检测方法

摘要

本发明公开了一种基于轻量化网络的工业产品表面缺陷检测方法,所述方法包括以下步骤:确定深度学习网络模型的结构;将训练样本输入网络模型进行训练,其中,在使用网络对样本进行检测之前,需要对网络的参数进行训练,使每一个参数达到合适的数值;保存训练获得的参数文件;将参数赋值给网络并对测试样本进行检测;根据检测结果对样本图像中的缺陷进行标注。故因此,本发明的有益效果在于使用更少的参数的同时,达到了更高的检测准确率。

著录项

  • 公开/公告号CN112907523A

    专利类型发明专利

  • 公开/公告日2021-06-04

    原文格式PDF

  • 申请/专利权人 中山大学;

    申请/专利号CN202110166842.4

  • 发明设计人 赖剑煌;曹阳;冯展祥;

    申请日2021-02-04

  • 分类号G06T7/00(20170101);G06K9/46(20060101);G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);G06K9/40(20060101);

  • 代理机构44367 深圳市创富知识产权代理有限公司;

  • 代理人高冰

  • 地址 510275 广东省广州市海珠区新港西路135号

  • 入库时间 2023-06-19 11:14:36

说明书

技术领域

本发明属于产品表面缺陷检测的研究技术领域,特别涉及一种基于轻量化网络的工业产品表面缺陷检测方法。

技术背景

表面缺陷检测是在工业检测中产品质量保障的重要手段,缺陷检测可以找出有表面缺陷的产品,从而避免这些有质量问题的产品在之后的生产建设环节中造成隐患,减少经济损失。不同的产品,缺陷的大小形状也不相同,而针对这些不同的缺陷,往往需要用到不同的方法,如木材的表面缺陷通常以裂痕为主,形状比较固定形,但通常比较细小,容易漏检,而钢材的表面缺陷则多种多样,用传统图像处理方法可能难以完全检测出来。

表面缺陷检测作为保障产品质量的重要手段,被用于各种各样的产品,比如,被用于纺织品、轮胎、钢条、芯片。随着科研的进展,表面缺陷检测主要运用的技术也不断地变化,大致可以分为三个阶段。

首先是人工检测,这是最原始的表面缺陷检测方式,显然这种方式极度依赖于检测人员的经验,并且准确率也不高,同时,这样的方法也消耗了大量的人力成本。

接下来是以图像处理和机器学习为主的传统方法。针对图像处理,以模板匹配(Template Matching)为例,该方法被广泛应用于工业的表面缺陷检测,归一化交叉相关(Normalized Cross Correlation,NCC)是经常被用于实现模板匹配的方法,它可以检测模板和待检测图像的非相似性。而机器学习相关的方法一般基于特征提取的方法,如结合了特征提取和SVM的针对热轧的检测方法,以及通过提取集合特征和小波特征,针对印制电路板的检测方法。这些基于图像处理和机器学习的方法,被广泛应用于工业检测,但这些方法往往十分复杂,且难以优化。

最后是目前业内主要研究的基于深度学习的检测方法。AlexNet的提出使得深度学习得到了广泛的关注,而在深度学习领域卷积神经网络对目标检测和语义分割都有着巨大的贡献,其中有代表性的网络模型有Faster R-CNN、RetinaNet、SSD、FPN、YOLOv3等。大量基于这些深度学习网络的模型,进行适当地优化之后,都获得了不错的检测效果。

在实际的工业生产环境中,基于图像处理和机器学习的传统方法仍然是主流,但这些方法普遍有一些局限性。首先,这些方法通常会严重的受图像的噪声和图像中光照的影响,其次,特征提取需要根据经验去设计合理的方法,这是十分复杂的,会耗费一定人力成本,最后,传统的方法没有很好的通用性,一个方法设计好之后,很难适用别的类型的产品,因此针对不同种类的产品,不同种类的缺陷,需要设计不同的方法。以上面提到的NCC为例,目前已有的基于NCC的模板匹配方法,都是位移敏感的,且对于不同类型的产品,需要有不同的模板,没有很好地通用性。而大部分基于图像处理和机器学习的方法,往往十分复杂,且难以优化。

而反观基于深度学习的方法,往往拥有较高的通用性,且对于图像噪声的处理也更好。但现有的深度学习网络结构通常十分复杂,检测的耗时往往较大,而工业检测对实时性又恰好有较高的要求。为解决这一问题,比较常见的思路是使用一个轻量级的网络,来减少每个样本的检测时间,然而减小网络层数的代价就是,检测的准确率往往不是太好。

发明内容

鉴于现有技术的缺陷,本发明旨在于提供一种基于轻量化网络的工业产品表面缺陷检测方法,为了平衡检测的实时性与检测准确率这两点,本发明基于非对称卷积、深度可分离卷积、SE注意力模块,YOLOv3的检测方法,以及其他的网络结构优化。该网络最后的参数数量约为YOLOv3-Tiny的一半,符合轻量级的要求。而在实验阶段,通过在DAGM2007数据集上进行检测,检测率和召回率均超过98%,而基于YOLOv3-Tiny,在该数据集上的召回率仅为81.8%,故本发明的网络结构在使用更少的参数的同时,达到了更高的检测准确率。最后,对于检测速度,在一张1080Ti显卡下,达到了每个样本小于10ms的检测时间,满足了实时性。

为了实现上述目的,本发明采用的技术方案如下:

一种基于轻量化网络的工业产品表面缺陷检测方法,所述方法包括以下步骤:

S1确定深度学习网络模型的结构;

S2将训练样本输入网络模型进行训练,其中,在使用网络对样本进行检测之前,需要对网络的参数进行训练,使每一个参数达到合适的数值;

S3保存训练获得的参数文件;

S4将参数赋值给网络并对测试样本进行检测;

S5根据检测结果对样本图像中的缺陷进行标注。

需要说明的是,还包括在步骤1与步骤2之间的优化训练样本的标记步骤,其中,在将训练样本输入进网络模型前,根据不同的网络模型,需要对训练样本的标记进行一定的预处理。

需要说明的是,所述预处理是求出一个矩形,将椭圆标记包括在内,具体的求法是,分别找到椭圆内所有点横纵坐标的最大值和最小值,以此分别求得矩形标记框的位置和大小。

需要说明的是,所述步骤S3包括在每一轮训练的过程中,会将训练样本的一部分,作为训练阶段的测试样本。

需要说明的是,所述步骤4中包括将训练获得的参数,赋值给网络模型,将测试样本作为网络模型的输入,网络模型会经过运算后,得到一个输出,该输出为测试样本图像中所有缺陷的位置及大小的预测。

需要说明的是,所述网络模型的结构共有23层,在0-7层的网络前端,采用了非对称卷积进行特征提取;其中,将输入分别用3*3、1*3、3*1的卷积核进行卷积,再分别进行批标准化,最后将得到的结果相加,再使用LeakyReLU进行激活,作为最终的结果。

需要说明的是,在8-12层的网络中部,采用的是深度可分离卷积降低参数数量,即对于普通3*3的卷积,所需要的参数为输入通道数*输出通道数*3*3,其中,参数为输入通道数*3*3+输入通道数*输出通道数*1*1,当输出通道数较大时,深度可分离卷积所需要的参数数量约为普通3*3卷积的3*3分之一,即9分之一。

需要说明的是,在13层的网络中部设有SE注意力模块,用于加强网络对特征图的每一个通道的相关性的学习。

需要说明的是,在0-12层的网络主干部分的下采样采用了Stride为2的3*3卷积。

本发明的有益效果在于,该网络的参数数量仅为YOLOv3-Tiny的一半,且该网络在DAGM2007数据集上,缺陷检测准确率远超YOLOv3-Tiny。具体的说:

1、在网络的前端,采用非对称卷积,提升网络在前期提取特征时,能在水平和竖直方向上分别进行特征的提取,增强网络对缺陷的旋转的鲁棒性;

2、在网络的中部,由于每一层的输出卷积核数较大,采用了深度可分离卷积,目的是减少参数数量,从而满足网络对轻量化的要求;

3、在网络的特征提取部分之后,加入SE注意力模块,从而最终加强了网络对各类缺陷较为相似的地方的辨别能力。

附图说明

图1为本发明的基础技术方案实现流程图;

图2为本发明在步骤S1和步骤S3之前添加了优化训练样本的标记步骤;

图3为本发明的非对称卷积步骤示意图;

图4为本发明的深度可分离卷积层的步骤示意图;

图5为本发明的SE注意力模块的的步骤示意图。

具体实施例

以下将结合附图对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。

如图1所示,本发明为一种基于轻量化网络的工业产品表面缺陷检测方法,所述方法包括以下步骤:

S1确定深度学习网络模型的结构;

S2将训练样本输入网络模型进行训练,其中,在使用网络对样本进行检测之前,需要对网络的参数进行训练,使每一个参数达到合适的数值;

S3保存训练获得的参数文件;

S4将参数赋值给网络并对测试样本进行检测;

S5根据检测结果对样本图像中的缺陷进行标注。

如图2所示,本发明还包括在步骤1与步骤2之间的优化训练样本的标记步骤,其中,在将训练样本输入进网络模型前,根据不同的网络模型,需要对训练样本的标记进行一定的预处理。

进一步的,所述预处理是求出一个矩形,将椭圆标记包括在内,具体的求法是,分别找到椭圆内所有点横纵坐标的最大值和最小值,以此分别求得矩形标记框的位置和大小。

进一步的,所述步骤S3包括在每一轮训练的过程中,会将训练样本的一部分,作为训练阶段的测试样本。

需要说明的是,所述步骤4中包括将训练获得的参数,赋值给网络模型,将测试样本作为网络模型的输入,网络模型会经过运算后,得到一个输出,该输出为测试样本图像中所有缺陷的位置及大小的预测。

进一步的,本发明的网络模型的结构共有23层,在0-7层的网络前端,采用了非对称卷积进行特征提取;其中,将输入分别用3*3、1*3、3*1的卷积核进行卷积,再分别进行批标准化,最后将得到的结果相加,再使用LeakyReLU进行激活,作为最终的结果。

进一步的,网络莫模型结构中的8-12层为网络中部,采用的是深度可分离卷积降低参数数量,即对于普通3*3的卷积,所需要的参数为输入通道数*输出通道数*3*3,其中,参数为输入通道数*3*3+输入通道数*输出通道数*1*1,当输出通道数较大时,深度可分离卷积所需要的参数数量约为普通3*3卷积的3*3分之一,即9分之一。

作为一种优选的技术方案,在13层的网络中部设有SE注意力模块,用于加强网络对特征图的每一个通道的相关性的学习。

需要说明的是,在0-12层的网络主干部分的下采样采用了Stride为2的3*3卷积。

需要指出的是,如在本发明的实验中,由于最终的检测算法给予的是YOLOv3的检测算法,所以训练集的标记必须是一系列的矩形标记框,而实验所用的数据集DAGM2007,是一个弱监督的数据集,其中对缺陷的标记,是一个椭圆形的粗略标记,不符合YOLOv3的要求,因此最初的方法,是简单的求出一个矩形,将椭圆标记包括在内,具体的求法是,分别找到椭圆内所有点横纵坐标的最大值和最小值,以此分别求得矩形标记框的位置和大小。

对标记框的优化:在实际实验过程中,发现一些大尺寸的细长的缺陷,检测准确率较低,尤其是该缺陷在样本图像中是斜着的。根据分析,原因之一为原本的矩形标记框范围内大部分像素并不在原来的椭圆标记框内,也就是说,矩形标记框内大部分并不是缺陷,所以网络所学习到的特征并不是缺陷的特征。因此,针对这个问题,本发明所做出的优化为,使用一种方法缩小训练样本的矩形标记框。具体方式为,缩小后的标记框的中心保持不变,长和宽分别缩小,若长大于100像素,则缩小为100像素,否则保持不变,宽同理。这样做的目的,是增大缺陷在矩形标记框内的占比,使网络更多的学习到缺陷的特征,从而提高对这种大尺寸缺陷的检测准确率。

实施例

首先,本发明的网络模型结构的具体结构如下表所示:

上表中,Convolution表示普通卷积层,Maxpool表示最大池化层A-Conv表示非对称卷积层,DW-Conv表示深度可分离卷积层,SE表示SEBlock,Route表示输出为括号内所有层的输出进行拼接(Concat)的结果,Upsample表示上采样,Yolo表示检测层。

首先,在网络前端,即0-7层,主要采用了非对称卷积进行特征提取,具体方式为,将输入分别用3*3、1*3、3*1的卷积核进行卷积,再分别进行批标准化(BatchNormalization),最后将得到的结果相加,再使用LeakyReLU进行激活,作为最终的结果,这么做的目的,是希望提升网络在前期提取特征时,能在水平和竖直方向上分别进行特征的提取,增强网络对缺陷的旋转的鲁棒性。其中,具体的非对称卷积步骤如图3所示。

而网络中部的主要任务是进一步下采样,增大感受野,但对于一个轻量级的网络而言,当卷积核数过大时,所需要的参数数量也会很大,而这会影响运算速度,也会增加最终的参数文件的大小。因此对于这一部分的卷积操作,本发明采用的是深度可分离卷积,目的是降低参数数量。深度可分离卷积降低参数的原理为,对于普通3*3的卷积,所需要的参数为输入通道数*输出通道数*3*3,而对于深度可分离卷积,参数为输入通道数*3*3+输入通道数*输出通道数*1*1,当输出通道数较大时,深度可分离卷积所需要的参数数量约为普通3*3卷积的3*3分之一,即9分之一。其中,深度可分离卷积层的具体操作如图4所示。

网络中部还有一个SE注意力模块,该模块的主要功能是,加强网络对特征图的每一个通道的相关性的学习。之所以需要使用注意力模块,是因为在实验初期,发现了由于缺陷与非缺陷区域存在一定相似性,导致网络将部分非缺陷区域判定为缺陷的问题。而由于在YOLOv3的检测算法中,输入的通道数必须等于(类别数+4+1)*候选框数,也就是说,每个通道是有具体负责的类别的,因此在这里加强对通道之间相关性的学习,可以一定程度上减轻不同类别之间误检的问题。其中,SE注意力模块的具体操作如图5所示。

以上部分均为本发明的网络的特征提取主干部分,剩余的网络部分,即14-22层,是基于YOLOv3-Tiny的检测算法进行修改,保留了它的多尺度检测的特点,又根据数据集类别较少的特性,对输出通道数过多的卷积层进行了删减,经实验证明无明显准确率损失。

另外,该网络针对DAGM2007的数据特点,还做了一些其他调整。首先,针对缺陷尺寸跨度较大的问题,除了应用了多尺度检测的方案,在候选框的尺寸上也进行了一定调整;其次,为了提升准确率,尤其是针对一些极其细小的缺陷,网络的主干部分的下采样并没有采用Stride为2的Maxpooling,而是采用了Stride为2的3*3卷积,这样做虽然会稍微增加一定的参数数量,但是在网络前端,卷积核数并不多的情况下,参数数量并没有受很大的影响,而准确率上却有较为明显的提升。

仿真实验

首先,在整体性能而言,在一张1080Ti显卡的支持下,本发明能达到每个测试样本的检测时间小于10ms,满足了表面缺陷检测所需要的实时性,而在准确率方面,经查阅资料,基于YOLOv3-Tiny网络,在DAGM2007数据集上,缺陷检测的召回率为81.8%,而本发明的召回率达到了98.86%,同时整体的准确率达到了98.84%。其次,在保证了整体准确率的情况下,所有类别的缺陷的检测召回率,都保持在较高的水平,而基于YOLOv3-Tiny网络的缺陷检测,部分类别的召回率甚至不到70%。具体的实验结果如下表如所示:

对于本领域的技术人员来说,可以根据以上的技术方案和构思,给出各种相应的改变,而所有的这些改变,都应该包括在本发明权利要求的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号