一种基于深度学习网络DenseNet的AOI缺陷检测方法

未命名 08-07 阅读:85 评论:0

一种基于深度学习网络densenet的aoi缺陷检测方法
技术领域
1.本发明涉及图像检测技术领域,涉及aoi(automated optical inspection,自动光学检测)缺陷检测领域,具体涉及一种基于深度学习网络densenet(密集连接网络)的aoi缺陷检测方法。


背景技术:

2.大到飞机机翼,小到芯片晶粒,工业制品在现代社会中无处不在。工业缺陷检测,旨在发现各种工业制品的外观瑕疵,是保障产品质量、维持生产稳定的重要技术之一。以往的缺陷检测需要人工筛查,成本高、效率低,难以覆盖大规模的质检需求。近年来,随着工业成像、计算机视觉和深度学习等领域的新技术层出不穷,基于视觉的工业缺陷检测技术得到了长足的发展,成为了针对产品外观质检的一种有效的解决方案,引发了学术界和工业界的强烈关注。
3.当前,对于工业缺陷检测技术主要包括:
4.(1)基于传统方法:
5.该方法依靠正常样本呈现出的图像特征进行比较,或基于传统机器学习模型对正常样本进行描述。对于不同的背景,存在相应合适的方法。当各个样本在对应的非缺陷部位高度一致,仅在缺陷区域存在差异时,模板匹配法可以基于两图之差简单快速直接地实现缺陷的定位。为了提升检测的精度,往往通过对特征点、局部线性轮廓及局部区域等手工设计特征进行匹配,将模板与待测图像先尽量对齐。只要能保证成像条件一致,即使产品的背景排布复杂也能完成检测。然而该方法难以处理复杂而多样的纹理背景,也容易将噪声误检为缺陷;
6.(2)基于深度学习的方法:
7.1)其中深度学习的方法里又存在基于图像相似度的方法,该方法基于图像相似度的方法在图像像素层面进行比较,其核心思想是重建出与输入样本最相近的正常图像,两者仅在缺陷区域存在差别,因而,生成图与输入图像的差异图可表示缺陷存在的概率,既可以用于判断整图是否包含异常,也可以取阈值来得到缺陷的分割结果。此类方法常使用自编码模型与生成式模型,包括自编码器(auto-encoder,简称ae)、变分自编码器(variational auto-encoder,简称vae)、生成对抗模型(generative adversarial networks,简称gan)等;但目前此类方法通常存在模型训练不易收敛且模型不够轻量化,无法大规模部署的问题。
8.2)基于图像恢复的方法:
9.基于图像恢复的方法将缺陷视为噪声,将图像恢复视为去噪过程。此类方法的核心思想是在正常图像上加入缺陷后,训练网络模型将其恢复为对应的原始图像。常用的模型包括ae和u-net等。训练完成后,模型具有根据上下文消除缺陷的能力。测试阶段利用恢复图像和输入图像的重建误差进行缺陷分割。由于模型的输入与输出不对等,此类方法能一定程度上避免恒等映射的问题。虽然此类方法的运算耗时较短,但分类检测的识别精度
较低。


技术实现要素:

10.本发明的目的是提出一种基于深度学习网络densenet的aoi缺陷检测方法,该方法在生产检测中快速识别出有缺陷的工业产品,并且识别精度高,易部署。
11.实现本发明目的的技术方案如下:
12.一种基于深度学习网络densenet的aoi缺陷检测方法,包括数据增强、缺陷检测网络和损失函数设计,包括如下步骤:
13.步骤一,对工业产品数据进行扩充缓解样本类别不平衡问题:
14.类不平衡问题在工业缺陷检测的数据中极为常见,为了能让深度学习网络模型可以均衡地学习到数据中正负样本的特征,避免过拟合,在模型训练之前首先对数据中的缺陷数量进行扩充;对于工业产品上不同位置的缺陷图像,分别进行旋转、镜像数据增强操作,为了尽可能避免过拟合,在训练集中关于缺陷产品的数据加入旋转45
°
和135
°
的图像数据,同时还加入了对原始缺陷产品图像进行水平镜像和垂直镜像后的数据;在测试集中加入的则是旋转了90
°
、180
°
和270
°
的图像数据,同时加入对原始缺陷产品图像进行了同时水平和垂直镜像后的数据;
15.正负样本指正常和缺陷样本,其中正样本指正常样本,负样本指缺陷样本;
16.步骤二,设计缺陷检测网络学习工业产品数据特征实现缺陷识别:
17.深度学习检测网络主要包括核心的dense blocks和dense blocks之间的transition layers,dense block模块的层数为5,即具有5个bn+relu+conv(3*3)这样的layer,网络增长率为4,即每一个layer输出的feature map的维度为4;这里由于densenet的每一个dense block模块都利用到了该模块中前面所有层的信息,即每一个layer都和前面的layer有highway的稠密连接,假设一个具有l层的网络,那么highway稠密连接数目为l*(l+1)/2,和resnet(残差神经网络)不同的是,这里的连接方式得到的feature map做的是concat操作,而resnet中做的是elementwise操作,transition layer这个部分主要是为了减少计算量,若是没有这一环节的话,图像尺寸是不会变化的,以densenet为检测模型的骨干网络可以解决深层网络的梯度消失问题,加强特征在网络中的传播,减少模型的参数;
18.步骤三,设计损失函数约束检测网络模型的训练过程:
19.为了控制aoi缺陷检测模型能收敛到可以准确识别给定图像中是否存在缺陷的状态,通过损失函数对网络模型的预测结果和数据中对应的参照样本计算网络预测值与实际参照结果值的误差,并通过卷积网络的反向传播使该误差值能指导aoi缺陷检测模型调整自身网络各层参数;具体地,采用带权重的交叉熵损失函数ls约束检测网络模型训练过程,模型训练过程中误差较大时,梯度也大,梯度下降也较快,避免了某些情况下激活函数进入饱和区以及梯度消失的问题,具体见下式:
[0020][0021]
式中,i表示样本索引,n表示样本类别的数量,y(i)表示第i个类别的真实的标签值,网络模型预测的第i个类别的标签值。
[0022]
本发明提供了一种能解决aoi缺陷检测效率低下的基于densenet网络的缺陷检测模型,该方法是一种以深度学习为基础的图像识别算法,通过对各类缺陷图像数据进行学习,实现在生产检测中快速识别出有缺陷的产品,并且识别精度高,甚至能识别出人眼难以观测到的细微缺陷,减少了漏检与误检,还可以及时调整检测性能。其中本发明设计的数据扩充策略能很好的解决原始数据中因为真实缺陷数据较少而产生的类不平衡的问题;densenet网络高效提取图像特征信息的能力可以帮助缺陷检测模型准确学习到数据中各个类别的特征信息提供检测的精度;选用的轻量化densenet网络可以在实际部署应用中的提高检测的速度,检测准确度高,减少了漏检与误检而产生的额外的人工复检成本;同时轻量化的模型降低了在部署中的存储资源和计算资源的开销,降低了实际部署时的存储资源的开销,减少了计算时间;在样本类别极不平衡的情况下也可以很好地学习到正负样本特征,实现快速准确检测的效果。
[0023]
本发明解决了现有工业检测技术精度低,需要投入大量人力复检成本的问题,并且部署成本低,可以很好地应用在需要大规模质检的生产场景。
附图说明
[0024]
图1为本发明中深度学习网络结构示意图;
[0025]
图2为dense block结构示意图;
[0026]
图3为每轮训练后模型在测试集上的auroc(area under the receiver operating characteristic curve,接受者操作特征曲线下面积,即roc曲线下面积)值;
[0027]
图4为每轮训练后模型在测试集上的灵敏度值;
[0028]
图5为每轮训练后模型在测试集上的特异性值。
具体实施方式
[0029]
下面结合附图和实施例对本发明内容作详细描述。以下实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0030]
实施例:
[0031]
以某公司提供的某芯片产品为例。
[0032]
一种基于深度学习网络densenet的aoi缺陷检测方法,包括数据增强、缺陷检测网络和损失函数设计,包括如下步骤:
[0033]
步骤1,对芯片缺陷数据进行扩充缓解样本类别不平衡问题:
[0034]
类不平衡问题在工业缺陷检测的数据中极为常见,如本次某公司提供的某芯片产品的数据集中包含了4192张正常芯片的样本数据和58张缺陷样本的数据,可以观察到缺陷样本是极为稀少的,为了能让深度学习网络模型可以均衡地学习到数据中正负样本的特征,避免过拟合,在模型训练之前首先对数据中的缺陷芯片数量进行扩充;对于芯片上不同位置的缺陷图像,分别进行旋转、镜像数据增强操作,为了尽可能避免过拟合,在训练集中关于缺陷芯片的数据加入旋转45
°
和135
°
的图像数据,同时还加入了对原始缺陷芯片图像进行水平镜像和垂直镜像后的数据;在测试集中加入的则是旋转了90
°
、180
°
和270
°
的图像数据,同时加入了对原始缺陷芯片图像进行了同时水平和垂直镜像后的数据;
[0035]
步骤2,设计缺陷检测网络学习芯片数据特征实现缺陷识别:
[0036]
如图2所示,深度学习检测网络主要包括核心的dense blocks和dense blocks之间的transition layers,dense block模块的层数为5,即具有5个bn+relu+conv(3*3)这样的layer,网络增长率为4,即每一个layer输出的feature map的维度为4,这里由于densenet的每一个dense block模块都利用到了该模块中前面所有层的信息,即每一个layer都和前面的layer有highway的稠密连接,假设一个具有l层的网络,那么highway稠密连接数目为l*(l+1)/2,和resnet不同的是,这里的连接方式得到的feature map做的是concat操作,而resnet中做的是elementwise操作,transition layer这个部分主要是为了减少计算量,若是没有这一环节的话,图像尺寸是不会变化的,以densenet为检测模型的骨干网络可以解决深层网络的梯度消失问题,加强特征在网络中的传播,减少模型的参数;整体的网络结构示意图如图1所示,例如若让本发明的网络模型可以识别出图像中的马,并使模型输出其预测的结果,首先则是需要输入有关马的图像数据,图像经过中间设定好特定数量的dense block(密集连接块)、convolution(卷积块)和pooling(池化块),本发明的aoi缺陷检测模型就可以学习到其中关于马的特征,并在最后给出相应的预测结果;
[0037]
步骤3,设计损失函数约束检测网络模型的训练过程:
[0038]
为了控制aoi缺陷检测模型能收敛到可以准确识别给定图像中是否存在缺陷的状态,通过损失函数对网络模型的预测结果和数据中对应的参照样本计算网络预测值与实际参照结果值的误差,并通过卷积网络的反向传播使该误差值能指导aoi缺陷检测模型调整自身网络各层参数;具体地,采用带权重的交叉熵损失函数ls约束检测网络模型训练过程,模型训练过程中误差较大时,梯度也大,梯度下降也较快,避免了某些情况下激活函数进入饱和区以及梯度消失的问题,具体见下式:
[0039][0040]
式中,i表示样本索引,n表示样本类别的数量,y(i)表示第i个类别的真实的标签值,网络模型预测的第i个类别的标签值。
[0041]
其中上述用于与网络预测值进行误差计算的实际参照结果值为相关从业人员对产品预先分类好后得到的标签值。
[0042]
为了检验上述本发明在执行了上述步骤后的实际效果,我们分别在auroc、灵敏度和特异性三个指标下进行了测试。图3是关于模型在每轮训练之后在测试集上auroc的结果,auroc反应的是分类器的分类能力,auroc值越高则表明模型的分类能力越好,并且auroc值对于样本类别的不均衡并不敏感,可以看到本发明提出的方法在提供的数据集上拥有较好的分类能力。图4是关于模型在每轮训练之后在测试集上的灵敏度的结果,灵敏度表示真实为真的样本有多少比例能够被模型正常预测为真,可以看到模型随着训练次数增加,而灵敏度值逐渐平稳的收敛在96%以上。图5是关于模型在每轮训练之后在测试集上的特异性的结果,特异性表示真实为假的样本有多少的比例被正确预测为假了,可以看到模型随着训练次数增加,特异性值逐渐平稳的收敛在95%左右。
[0043]
通过上述的三项指标结果可以证明本发明在正常芯片的识别和缺陷芯片的识别都有很高的正确率。
[0044]
本发明解决了现有工业检测技术精度低,需要投入大量人力复检成本的问题,并
且部署成本低,可以很好的应用在需要大规模质检的生产场景。
[0045]
以上公开的本发明的优选实施例,只是帮助阐述本发明,不限制本发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。

技术特征:
1.一种基于深度学习网络densenet的aoi缺陷检测方法,其特征在于,包括数据增强、缺陷检测网络和损失函数设计,包括如下步骤:步骤一,对工业产品数据进行扩充:在模型训练之前首先对数据中的缺陷数量进行扩充;对于工业产品上不同位置的缺陷图像,分别进行旋转、镜像数据增强操作,在训练集中关于缺陷产品的数据加入旋转45
°
和135
°
的图像数据,同时还加入了对原始缺陷产品图像进行水平镜像和垂直镜像后的数据;在测试集中加入旋转了90
°
、180
°
和270
°
的图像数据,同时加入对原始缺陷产品图像进行了同时水平和垂直镜像后的数据;步骤二,设计缺陷检测网络学习工业产品数据特征实现缺陷识别:深度学习检测网络主要包括核心的dense blocks和dense blocks之间的transition layers,dense block模块的层数为5,即具有5个bn+relu+conv(3*3)这样的layer,网络增长率为4,即每一个layer输出的feature map的维度为4;densenet的每一个dense block模块都利用到该模块中前面所有层的信息,即每一个layer都和前面的layer有highway的稠密连接,这里的连接方式得到的feature map做的是concat操作;步骤三,设计损失函数约束检测网络模型的训练过程:为了控制aoi缺陷检测模型能收敛到可以准确识别给定图像中是否存在缺陷的状态,通过损失函数对网络模型的预测结果和数据中对应的参照样本计算网络预测值与实际参照结果值的误差,并通过卷积网络的反向传播使该误差值能指导aoi缺陷检测模型调整自身网络各层参数。2.根据权利要求1所述的一种基于深度学习网络densenet的aoi缺陷检测方法,其特征在于,步骤三中,采用带权重的交叉熵损失函数ls约束检测网络模型的训练过程,具体见下式:式中,i表示样本索引,n表示样本类别的数量,y
(i)
表示第i个类别的真实的标签值,网络模型预测的第i个类别的标签值。

技术总结
本发明公开了一种基于深度学习网络DenseNet的AOI缺陷检测方法,包括数据增强、缺陷检测网络和损失函数设计,包括:对工业产品缺陷数据进行扩充;设计缺陷检测网络学习产品数据特征实现缺陷识别;设计损失函数约束检测网络模型。本发明能在生产检测中快速识别出有缺陷的产品,并且识别精度高,甚至能识别出人眼难以观测到的细微缺陷,减少漏检与误检,还可以及时调整检测性能;模型的轻量化还降低了实际部署时的存储资源的开销,减少了计算时间;在样本类别极不平衡的情况下也可以很好地学习到正负样本特征,实现快速准确检测的效果。果。果。


技术研发人员:刘振丙 龚俊名 路皓翔 王文颢 范涛 涂鹏智
受保护的技术使用者:桂林电子科技大学
技术研发日:2023.05.06
技术公布日:2023/8/6
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐