当前位置: 首页 > 专利查询>中山大学专利>正文

一种基于深度学习的铝材表面缺陷检测算法制造技术

技术编号:21035806 阅读:33 留言:0更新日期:2019-05-04 05:58
本发明专利技术涉及一种基于深度学习的铝材表面缺陷检测算法,包括:(1)利用摄像头对铝材表面进行拍摄,获取相关数据集并用labelImg工具对图像进行标注,获取标签信息;(2)将图像划分成训练集和测试集,并对训练集进行数据增强;(3)每次同时输入一张有缺陷图像和无缺陷图像及有缺陷图像的标签信息到网络中进行模型训练;(4)将测试图像输入到训练好的铝材表面缺陷检测模型,获取缺陷的位置和对应的类别。本发明专利技术的方法可以有效利用有缺陷图像和无缺陷图像,提高模型的泛化能力和检测精度,通过充分利用候选区域周围的上下文信息进一步提高检测性能,利用软的非极大值抑制算法可以提高对密集小缺陷的检测性能,是一种高效的铝材表面缺陷检测算法。

【技术实现步骤摘要】
一种基于深度学习的铝材表面缺陷检测算法
本专利技术涉及图像目标检测领域,即一种基于深度学习的铝材表面缺陷检测算法。
技术介绍
在铝材的实际生产过程中,由于各方面因素的影响,铝材表面会产生脏点、不导电和漏底等缺陷,这些缺陷会严重影响铝材的质量。为保证产品质量,需要人工进行肉眼目测。然而,铝材的表面自身会含有纹路,与瑕疵的区分度不高,传统人工肉眼检查十分费力,不能及时准确的判断出表面缺陷,质检的效率难以把控。随着深度学习的发展,特别是卷积神经网络在图像识别、图像检测和图像分割等方面的应用,所取得的效果是过往使用传统算法无法比拟的。图像检测处于图像识别和图像分割的衔接阶段,是一种能够检测出图像中特定类别的物体的位置并给出相应的类别置信度。基于深度学习的目标检测算法有二阶段检测算法和单阶段检测算法,二阶段检测算法速度虽较慢但具有更高的检测性能。但是通用的目标检测算法对于铝材表面缺陷的检测性能并不近乎人意,主要原因是铝材缺陷图像数量较少,铝材表面缺陷大小变化大,形状并不固定等。
技术实现思路
为了克服现有技术存在的不足,本专利技术提出了一种解决上述难点的基于深度学习的铝材表面缺陷检测算法。为了实现以上目的,本专利技术提出的方法具体步骤如下:(1)图像采集,利用摄像头对铝材表面进行拍摄,获取相关的图像并对图像重命名,如1.jpg,2.jpg,3.jpg,…,M.jpg等,采用labelImg工具对拍摄的图像进行标注,获取图像中关于缺陷的标签,缺陷的标签包含了缺陷在图像中左上角的坐标(x1,y1),右下角的坐标(x2,y2)和缺陷的类别defectN,其中N表示数字,如1,2,3,…等,特别的,如果拍摄的图像中没有缺陷,我们不会用labelImg进行处理,只记录其类别信息norm;(2)图像划分,将图像划分成训练集和测试集两部分,两个部分不存在相同的图像,训练集用来训练检测模型,测试集用来评估检测模型的性能;(3)图像预处理,包括随机上下翻转、随机左右翻转和随机光照改变等,其中随机上下翻转、随机左右翻转和随机光照改变只针对训练集,特别的,当进行随机上下翻转和随机左右翻转的时候,缺陷的坐标信息也需要做出相应的变化;(4)训练检测模型,将经过图像预处理后的训练集中的图像和标签信息输入到铝材表面缺陷检测模型中进行训练,特别的每次同时输入一张有缺陷的图像和一张无缺陷的图像,获取各图像中缺陷的预测框和类别,并与实际的标签信息中的真实框和类别进行对比,计算出定位误差和分类误差,然后采用多学习任务的方法,利用带动量的梯度下降算法进行训练;(5)检测铝材图像,将测试集中的图像输入到训练好的铝材表面缺陷检测模型中进行检测,获得铝材图像中缺陷的位置和类型。所述步骤(4)中训练包括基于利用Kmeans聚类算法获取训练集中真实框的分布的步骤、基于有缺陷的图像和无缺陷图像的双图像输入的步骤、基于带有FeaturepyramidNetwork(FPN)的FasterR-CNN模型的步骤、RoIAlign池化步骤、基于上下文的调整候选区域的步骤和多任务学习的步骤。如图1所示,所述步骤(4)具体为:(4.1)对训练集标签信息中真实框的宽和高进行聚类,获取真实框的分布的若干个簇,利用得到的聚类结果调整FPN中anchors的基本尺寸和横纵比;(4.2)每次输入图像时同时输入两张图像,其中一张为有缺陷的图像,另外一张为无缺陷的图像;(4.3)输入的两张图像通过带有FPN的FasterR-CNN模型,图像经过骨干网络进行特征提取后形成不同大小的特征图,浅层的特征图的分辨率较大,包含的细节信息较多但语义信息较少;深层的特征图的分辨率较小,包含的细节信息较少但语义信息较多,通过从顶到底和横向链接的方式丰富了浅层的语义信息,形成不同大小的特征图。对这些特征图通过卷积操作预测不同特征图上不同特征点映射回原图上的点的若干个anchors的前背景分类概率和相对平移缩放参数,同时不同特征图上不同特征点映射到原图上的点对应的anchors与真实框计算交叠率,如果与真实框的交叠率最高或者与任意真实框的交叠率大于0.7的anchor则认为是正样本,而与所有真实框的交叠率都小于0.3的anchor则认为是负样本,特别的,如图2所示,正样本都是来自有缺陷的铝材图像而负样本可能来自有缺陷的铝材图像也可能来自无缺陷的铝材图像;(4.4)利用前一步计算得到的相对平移缩放参数对anchors进行第一次位置调整,对调整后的候选区域通过前景类别置信度进行排序,从中选择若干个候选区域,利用上下文信息对这些候选区域进行调整。关于候选区域ri的上下文信息区域的选择采用跟候选区域的交叠率数值大于某个阈值的区域,即同时对这些上下文信息区域的特征其中利用自适应权重的方法处理成统一的表征令wji为的自适应权重且其中1(.)表示布尔函数,li表示rj的前背景标签信息,sj表示rj的类别置信度,bj表示rj的位置区域。最后统一表征为其中最后将候选区域的特征vi和得到的统一表征连结到一起,利用两个连续的全连接层计算出新的前背景类别置信度和新的相对平移缩放参数。针对正样本的候选区域用来计算区域生成网络的回归损失,而正负样本的候选区域用来计算区域生成网络的前背景分类损失。特别的,进行特征聚合和特征连结时,这些特征是候选区域通过RoIAlign池化产生的;(4.5)利用上下文信息调整后的候选区域对应的特征块通过全连接层,获取细分类的类别置信度和预测相对平移缩放参数,计算出细分类误差和回归误差;(4.6)利用多任务学习的方法计算(4.4)中的前背景分类误差及回归误差和(4.5)中的细分类误差和回归误差,利用带动量的梯度下降算法进行训练。所述步骤(4.6)的训练过程具体包括区域生成网络的前背景分类损失和定位损失及FastR-CNN中的细分类损失和定位损失:区域生成网络的损失函数:另外tx=(x-xa)/wa,ty=(y-ya)/ha,tw=log(w/wa),th=log(h/ha)x,xa,x*分别表示预测框,anchorbox和真实框(y,w,h也同x类似)其中Ncls表示计算分类损失时正负样本个数,Nreg表示anchor定位的数量,λ设为超参数,分类损失函数为交叉熵损失函数,回归损失函数为smoothL1,分类损失中用到正负样本而回归损失中只用到正样本。FastR-CNN的损失函数:L(p,u,tu,v)=Lcls(p,u)+λ[u≥1]Lloc(tu,v)v=(vx,vy,vw,vh),表示真实的平移缩放参数,表示预测的平移缩放参数其中分类损失函数为交叉熵损失函数,回归损失函数为smoothL1,分类损失中用到正负样本而回归损失中只用到正样本,平移缩放参数的计算同区域生成网络中一致。所述步骤(5)中测试过程具体为测试图像通过铝材表面缺陷检测模型后得到若干个预测框的位置和对应的类别,我们对这些预测框进行软的非极大值一致,最后保留类别置信度高于某个阈值的若干个预测框作为最后的输出结果。所述的对得到的预测框使用软的非极大值抑制,最后保留类别置信度高于某个阈值的若干个候选框作为最后的输出结果,具体就是针对所有的预测框采用以下方式进行处理:首先,对于某一类别的缺陷,我们按照得到的置信度进行从大到小的排序,然后固定第1个本文档来自技高网...

【技术保护点】
1.一种基于深度学习的铝材表面缺陷检测算法,其特征在于包括如下步骤:(1)图像采集,利用摄像头对铝材表面进行拍摄,获取相关的图像并对图像重命名,如1.jpg,2.jpg,3.jpg,…,M.jpg等,采用labelImg工具对拍摄的图像进行标注,获取图像中关于缺陷的标签,缺陷的标签包含了缺陷在图像中左上角的坐标(x1,y1),右下角的坐标(x2,y2)和缺陷的类别defectN,其中N表示数字,如1,2,3,…等,特别的,如果拍摄的图像中没有缺陷,我们不会用labelImg进行处理,只记录其类别信息norm;(2)图像划分,将图像划分成训练集和测试集两部分,两个部分不存在相同的图像,训练集用来训练检测模型,测试集用来评估检测模型的性能;(3)图像预处理,包括随机上下翻转、随机左右翻转和随机光照改变等,其中随机上下翻转、随机左右翻转和随机光照改变只针对训练集,特别的,当进行随机上下翻转和随机左右翻转的时候,缺陷的坐标信息也需要做出相应的变化;(4)训练检测模型,将经过图像预处理后的训练集中的图像和标签信息输入到铝材表面缺陷检测模型中进行训练,特别的每次同时输入一张有缺陷的图像和一张无缺陷的图像,获取各图像中缺陷的预测框和类别,并与实际的标签信息中的真实框和类别进行对比,计算出定位误差和分类误差,然后采用多学习任务的方法,利用带动量的梯度下降算法进行训练;(5)检测铝材图像,将测试集中的图像输入到训练好的铝材表面缺陷检测模型中进行检测,获得铝材图像中缺陷的位置和类型。...

【技术特征摘要】
1.一种基于深度学习的铝材表面缺陷检测算法,其特征在于包括如下步骤:(1)图像采集,利用摄像头对铝材表面进行拍摄,获取相关的图像并对图像重命名,如1.jpg,2.jpg,3.jpg,…,M.jpg等,采用labelImg工具对拍摄的图像进行标注,获取图像中关于缺陷的标签,缺陷的标签包含了缺陷在图像中左上角的坐标(x1,y1),右下角的坐标(x2,y2)和缺陷的类别defectN,其中N表示数字,如1,2,3,…等,特别的,如果拍摄的图像中没有缺陷,我们不会用labelImg进行处理,只记录其类别信息norm;(2)图像划分,将图像划分成训练集和测试集两部分,两个部分不存在相同的图像,训练集用来训练检测模型,测试集用来评估检测模型的性能;(3)图像预处理,包括随机上下翻转、随机左右翻转和随机光照改变等,其中随机上下翻转、随机左右翻转和随机光照改变只针对训练集,特别的,当进行随机上下翻转和随机左右翻转的时候,缺陷的坐标信息也需要做出相应的变化;(4)训练检测模型,将经过图像预处理后的训练集中的图像和标签信息输入到铝材表面缺陷检测模型中进行训练,特别的每次同时输入一张有缺陷的图像和一张无缺陷的图像,获取各图像中缺陷的预测框和类别,并与实际的标签信息中的真实框和类别进行对比,计算出定位误差和分类误差,然后采用多学习任务的方法,利用带动量的梯度下降算法进行训练;(5)检测铝材图像,将测试集中的图像输入到训练好的铝材表面缺陷检测模型中进行检测,获得铝材图像中缺陷的位置和类型。2.根据权利要求1所述的一种基于深度学习的铝材表面缺陷检测算法,其特征是:所述步骤(4)中训练包括基于利用Kmeans聚类算法获取训练集中真实框的分布的步骤、基于有缺陷的图像和无缺陷图像的双图像输入的步骤、基于带有FeaturepyramidNetwork(FPN)的FasterR-CNN模型的步骤、RoIAlign池化步骤、基于上下文的调整候选区域的步骤和多任务学习的步骤。3.根据权利要求2所述的一种基于深度学习的铝材表面缺陷检测算法,其特征是:所述步骤(4)具体为:(4.1)对训练集标签信息中真实框的宽和高进行聚类,获取真实框的分布的若干个簇,利用得到的聚类结果调整FPN中anchors的基本尺寸和横纵比;(4.2)每次输入图像时同时输入两张图像,其中一张为有缺陷的图像,另外一张为无缺陷的图像;(4.3)输入的两张图像通过带有FPN的FasterR-CNN模型,图像经过骨干网络进行特征提取后形成不同大小的特征图,浅层的特征图的分辨率较大,包含的细节信息较多但语义信息较少;深层的特征图的分辨率较小,包含的细节信息较少但语义信息较多,通过从顶到底和横向链接的方式丰富了浅层的语义信息,形成不同大小的特征图。对这些特征图通过卷积操作预测不同特征图上不同特征点映射回原图上的点的若干个anchors的前背景分类概率和相对平移缩放参数,同时不同特征图上不同特征点映射到原图上的点对应的anchors与真实框计算交叠率,如果与真实框的交叠率最高或者与任意真实框的交叠率大于0.7的anchor则认为是正样本,而与所有真实框的交叠率都小于0.3的anchor则认为是负样本,特别的,正样本都是来自有缺陷的铝材图像而负样本可能来自有缺陷的铝材图像也可能来自无缺陷的铝材图像;(4.4)利用前一步计算得到的相对平移缩放参数对anchors进行第一次位置调整,对调整后的候选区域通过前景类别置信度进行排序,从中选择若干个候选区域,利用上下文信息对这些候选区...

【专利技术属性】
技术研发人员:陈楚城戴宪华
申请(专利权)人:中山大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1