一种基于多任务学习的表面缺陷检测方法与流程

文档序号:22316331发布日期:2020-09-23 01:43阅读:135来源:国知局
一种基于多任务学习的表面缺陷检测方法与流程

本发明涉及工业视觉缺陷检测领域,尤其涉及一种基于多任务学习的表面缺陷检测方法。



背景技术:

中国是一个制造业大国,每天都有海量的工业产品走下生产线。用户和生产企业对产品质量的要求越来越高,除要求满足使用性能外,还要有良好的外观,即良好的表面质量。由于技术手段的限制,在传统的工业生产制造中仍然主要采用人工检测的方法来检测工业产品表面的缺陷。受制于人工经验和主观因素的影响,人工肉眼检测不仅抽检率低、准确性不高、实时性差、效率低下,而且劳动强度大、人工成本高,无论对于企业还是工人都是一项沉重的负担,还有部分检测方法如基于训练模型和基于统计的检测方法,这类方法需要仔细设计人工特征来提取图像的颜色信息、纹理信息等,其结果严重依赖于对图像中缺陷属性的建模程度,依赖于领域专家的专业知识,针对一种工业产品表面缺陷的检测方法和模型往往不适用检测另外一种工业产品的表面缺陷。



技术实现要素:

为了解决上述技术问题,本发明的目的是提供一种基于多任务学习的表面缺陷检测方法,可快速和准确的识别出工业产品的表面缺陷。

本发明所采用技术方案是:一种基于多任务学习的表面缺陷检测方法,包括以下步骤:

获取具有标注信息的输入图像并将输入图像分为训练集图像和测试集图像;

对训练集图像进行剪切,得到缺陷实例并对缺陷实例进行增强,得到增强图像;

构建表面缺陷检测网络并将测试集图像和增强图像输入表面缺陷检测网络,得到表面缺陷数据。

进一步,所述对训练集图像进行剪切,得到缺陷实例并对缺陷实例进行增强,得到增强图像这一步骤,其具体包括:

根据标注信息对训练集图像进行剪切得到缺陷实例,并修复剪切后的训练集图像,得到修复图像;

根据标注信息得到缺陷实例的蒙版标注并对其执行膨胀操作,得到缺陷实例的多个相邻区域;

计算缺陷实例被放置在修复图像不同位置时的相邻区域和原始位置相邻区域之间的相似度,得到缺陷实例在修复图像上的环境相似性热力图;

将环境相似性热力图标准化得到位置选择概率图,并根据位置选择概率图选定缺陷实例粘贴的目标位置;

将缺陷实例随机缩放并旋转后平移粘贴到目标位置,得到合成图像;

对合成图像进行整体增强,得到增强图像。

进一步,所述对合成图像进行整体增强包括颜色扰动、随机翻转和随机裁切。

进一步,所述标注信息为边界框标注,所述根据标注信息得到缺陷实例的蒙版标注具体为:

判断到像素位于一个边界框内,将该边界框的类别信息分配给该像素;

判断到像素位于多个边界框内,将面积最小的边界框的类别信息分配给该像素;

判断到像素没有位于任一边界框内,将背景的类别信息分配给该像素;

根据像素中的类别信息得到蒙版标注。

进一步,所述修复剪切后的训练集图像具体采用高斯白噪声填充来修复剪切后的训练集图像,所述环境相似性热力图具体采用以下公式计算:

其中,d(x′,y′)为环境相似性热力图,ri(x,y)和r′i(x′,y′)分别为缺陷实例在原始位置(x,y)和目标位置(x′,y′)的第i个相邻区域ci(x,y)和c′i(x′,y′)上的像素的rgb值,g(·)为相似性的度量函数,n为距离缺陷实例不同远近程度的相邻区域的个数,ωi为对应第i个相邻区域的加权因子。

进一步,所述加权因子ω以下式设置:

其中,ω1对应距离缺陷实例最近的第1个相邻区域,所述ωn对应距离缺陷实例最远的第n个相邻区域。

进一步,所述位置选择概率图通过下式计算获得:

其中,i表示用于计算环境相似性热力图的图像,(x′,y′)为图像上任意一个可能的目标位置,γ为任一合适的正实数。

进一步,所述构建表面缺陷检测网络并将测试集图像和增强图像输入表面缺陷检测网络,得到表面缺陷数据这一步骤,其具体包括:

构建特征金字塔、语义特征提取模块和缺陷检测头模块,生成表面缺陷检测网络;

将测试集图像和增强图像输入表面缺陷检测网络,得到表面缺陷数据。

进一步,所述构建特征金字塔、语义特征提取模块和缺陷检测头模块,生成表面缺陷检测网络这一步骤,其具体包括:

采用resnet50深层卷积网络和fpn结构构建特征金字塔;

采用retinanet构建缺陷检测头模块;

采用deeplabv3构建语义特征提取模块;

生成表面缺陷检测网络。

进一步,所述将测试集图像和增强图像输入表面缺陷检测网络,得到表面缺陷数据这一步骤,其具体还包括:

通过特征金字塔提取输入图像的层次特征并将层次特征分别发送到缺陷检测头模块和语义特征提取模块;

语义特征提取模块根据接收到的层次特征,生成一系列的蒙版分量;

缺陷头检测模块根据接收到的层次特征生成缺陷实例的坐标和类型,得到表面缺陷数据。

本发明方法的有益效果是:本发明通过对缺陷实例进行增强,有利于增广数据集的大小和样本的多样性,解决工业缺陷检测问题中常见的缺陷样本不足问题,通过构建表面缺陷检测网络并利用表面缺陷网络对图像进行检测,提高工业缺陷检测的速度和精度。

附图说明

图1是本发明一种基于多任务学习的表面缺陷检测方法的步骤流程图;

图2是本发明具体实施例对缺陷实例进行增强的步骤流程图;

图3是本发明具体实施例构建表面缺陷检测网络并利用表面缺陷网络对图像进行检测的步骤流程图;

图4是本发明具体实施例对缺陷实例进行增强的示意图。

具体实施方式

下面结合附图和具体实施例对本发明做进一步的详细说明。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。

近年来,如何采用计算机视觉代替人工,将人从繁重的肉眼检测任务中解放出来,提高生产线的自动化程度成为企业迫切需要解决的难题,深度学习方法相对于传统方法虽然可以极大的改善目标检测的性能,但是往往需要大量的训练数据来训练深层卷积网络,但具体到工业视觉缺陷检测问题上来,大规模的收集缺陷数据集往往很难实现,本发明通过缺陷数据之后利用表面缺陷网络对图像进行检测,可以解决工业缺陷检测问题中常见的缺陷样本不足问题的同时提高工业缺陷检测的速度和精度。

如图1所示,本发明提供了一种基于多任务学习的表面缺陷检测方法,该方法包括以下步骤:

s101、获取具有标注信息的输入图像并将输入图像分为训练集图像和测试集图像。

具体地,所述具有标注信息的输入图像可以是使用高精度的工业线扫相机在稳定的工业生产环境下采集足够和高质量的图像数据之后使用图像标注软件labelme进行标注,标注信息为边界框标注,所述训练集图像用于表面缺陷检测网络的训练,所述测试集图像用于表面缺陷检测网络。

s102、对训练集图像进行剪切,得到缺陷实例并对缺陷实例进行增强,得到增强图像;

s103、构建表面缺陷检测网络并将测试集图像和增强图像输入表面缺陷检测网络,得到表面缺陷数据。

具体地,对缺陷实力进行增强可以增广数据集的大小和样本的多样性,有助于解决工业视觉缺陷检测问题中常见的缺陷样本不足的问题,构建表面缺陷检测网络有助于在小规模的缺陷数据集上训练和测试,根据检测性能判断该检测网络是否具备精度高,速度快和鲁棒性好的特点。

进一步作为本方法的优选实施例,所述对训练集图像进行剪切,得到缺陷实例并对缺陷实例进行增强,得到增强图像这一步骤,其具体包括:

根据标注信息对训练集图像进行剪切得到缺陷实例,并修复剪切后的训练集图像,得到修复图像;

根据标注信息得到缺陷实例的蒙版标注并对其执行膨胀操作,得到缺陷实例的多个相邻区域;

计算缺陷实例被放置在修复图像不同位置时的相邻区域和原始位置相邻区域之间的相似度,得到缺陷实例在修复图像上的环境相似性热力图;

将环境相似性热力图标准化得到位置选择概率图,并根据位置选择概率图选定缺陷实例粘贴的目标位置;

将缺陷实例随机缩放并旋转后平移粘贴到目标位置,得到合成图像;

对合成图像进行整体增强,得到增强图像。

具体地,所述将缺陷实例随机缩放并旋转后平移粘贴到目标位置还包括使用高斯模糊方法平滑缺陷实例粘贴到目标位置后的锐利边界。

其中,对其蒙版标注执行形态学上的膨胀操作,获得一系列距离缺陷实例不同远近程度的相邻区域。最靠近缺陷实例的第1个相邻区域,记为c1(x,y),距离缺陷实例最远的第n个相邻区域,记为cn(x,y),缺陷实例在原始位置(x,y)获得的全部相邻区域,记为集合{ci(x,y)|i=1,2,...,n;n∈z+}。

其中,所述将缺陷实例随机缩放并旋转后平移粘贴到目标位置具体为根据仿射变换矩阵将缺陷实例随机缩放并旋转一定角度后平移粘贴到所选定的目标位置,用公式表示为:

其中,h(s,θ,tx,ty)为仿射变换矩阵,参数(tx,ty)为选定的缺陷实例粘贴的目标位置,参数s为缺陷实例粘贴前缩放的比例,参数θ为缺陷实例粘贴前旋转的角度。(x,y)为缺陷实例上任一像素的原始坐标,(x′,y′)为缺陷实例粘贴到目标位置后该像素的变换坐标。

进一步作为本方法的优选实施例,所述对合成图像进行整体增强包括颜色扰动、随机翻转和随机裁切。

进一步作为本方法的优选实施例,所述标注信息为边界框标注,所述根据标注信息得到缺陷实例的蒙版标注具体为:

判断到像素位于一个边界框内,将该边界框的类别信息分配给该像素;

判断到像素位于多个边界框内,将面积最小的边界框的类别信息分配给该像素;

判断到像素没有位于任一边界框内,将背景的类别信息分配给该像素;

根据像素中的类别信息得到蒙版标注。

进一步作为本方法的优选实施例,所述修复剪切后的训练集图像具体采用高斯白噪声填充来修复剪切后的训练集图像,所述环境相似性热力图具体采用以下公式计算:

其中,d(x′,y′)为环境相似性热力图,ri(x,y)和r′i(x′,y′)分别为缺陷实例在原始位置(x,y)和目标位置(x′,y′)的第i个相邻区域ci(x,y)和c′i(x′,y′)上的像素的rgb值,g(·)为相似性的度量函数,n为距离缺陷实例不同远近程度的相邻区域的个数,ωi为对应第i个相邻区域的加权因子。

具体地,所述用于计算环境相似性热力图的图像可以是缺陷实例原本所属的图像,也可以是采集的缺陷数据集中的其它图像。如果计划将缺陷实例粘贴到原本所属的图像的其它位置,则需要计算前者;反之,则需要计算后者。度量函数g(·)为欧氏距离或者余弦距离。对于加权因子ω,我们基于这样的先天经验进行设定:即距离缺陷实例越近的相邻区域,越重要,加权因子越大;距离缺陷实例越远的相邻区域,重要程度越低,加权因子越小。

进一步作为本方法的优选实施例,所述加权因子ω以下式设置:

其中,ω1对应距离缺陷实例最近的第1个相邻区域,所述ωn对应距离缺陷实例最远的第n个相邻区域。

进一步作为本方法的优选实施例,所述位置选择概率图通过下式计算获得:

其中,i表示用于计算环境相似性热力图的图像,(x′,y′)为图像上任意一个可能的目标位置,γ为任一合适的正实数。

具体地,首先确定一个合适的阈值ε,其次从s(x′,y′)≥ε的所有坐标中随机选择m个候选坐标,最后从m个候选坐标中选定k个(k≤m)所需的坐标作为缺陷实例粘贴的目标位置。

进一步作为本方法的优选实施例,所述构建表面缺陷检测网络并将测试集图像和增强图像输入表面缺陷检测网络,得到表面缺陷数据这一步骤,其具体包括:

构建特征金字塔、语义特征提取模块和缺陷检测头模块,生成表面缺陷检测网络;

将测试集图像和增强图像输入表面缺陷检测网络,得到表面缺陷数据。

进一步作为本方法的优选实施例,所述构建特征金字塔、语义特征提取模块和缺陷检测头模块,生成表面缺陷检测网络这一步骤,其具体包括:

采用resnet50深层卷积网络和fpn结构构建特征金字塔;

采用retinanet构建缺陷检测头模块;

采用deeplabv3构建语义特征提取模块;

生成表面缺陷检测网络。

具体地,构建一个端到端的单步检测网络asddnet。

进一步作为本方法的优选实施例,所述将测试集图像和增强图像输入表面缺陷检测网络,得到表面缺陷数据这一步骤,其具体还包括:

通过特征金字塔提取输入图像的层次特征并将层次特征分别发送到缺陷检测头模块和语义特征提取模块;

语义特征提取模块根据接收到的层次特征,生成一系列的蒙版分量;

缺陷头检测模块根据接收到的层次特征生成缺陷实例的坐标和类型,得到表面缺陷数据。

具体地,所述输入图像为测试集图像和增强图像,特征金字塔模块使用resnet深层卷积网络和fpn结构进行构建,fpn输出的各层特征全部送入到缺陷检测头模块,fpn输出的最后一层高分辨率特征送入到语义特征提取模块。

本发明的具体实施例如下:

主要包括缺陷数据增强阶段和表面缺陷的检测阶段,所述缺陷数据增强阶段具体包括:步骤s1,利用输入图像的标注信息剪切图像中的缺陷实例,并对剪切后的图像进行修复;对缺陷实例的蒙版标注逐次执行膨胀操作,获得缺陷实例的一系列不同远近程度的相邻区域;步骤s2,计算缺陷实例被放置在图像中不同位置时的相邻区域和原始位置相邻区域之间的相似程度,得到缺陷实例在图像上的环境相似性热力图;步骤s3,将环境相似性热力图标准化为位置选择的概率图,并根据概率选定一个或几个坐标作为缺陷实例粘贴的目标位置;步骤s4,将缺陷实例随机缩放并旋转一定角度后平移粘贴到选定的目标位置,得到合成图像,并对合成图像进行整体增强得到增强图像。所述表面缺陷的检测阶段具体包括:步骤n1,构建表面缺陷检测网络,步骤n2,利用特征金字塔模块提取输入图像的层次特征,并将层次特征分别送入到缺陷检测头模块和语义特征提取模块;步骤n3,缺陷检测头模块采用单步检测网络的锚框设计策略和结构,回归缺陷目标的坐标、预测缺陷目标所属的类别,并同时生成一组蒙版分量的组合系数;语义特征提取模块在特征金字塔输出的层次特征的基础上生成一系列不同的蒙版分量;步骤n4,将缺陷检测头模块生成的组合系数和语义特征提取模块生成的蒙版分量相乘求和,得到合成蒙版;根据缺陷检测头模块回归的缺陷目标的坐标处理合成蒙版,得到预测的缺陷目标的蒙版。

其中,步骤n4仅用于表面缺陷检测网络的训练过程,在测试过程中不参与计算,此时步骤n2中缺陷检测头模块输出的缺陷目标的坐标和类别即为网络的检测结果。也就是说,asddnet网络中新引入的分割分支除了在网络训练过程中使用蒙版分量和组合系数合成并进一步预测缺陷目标的蒙版之外,在测试过程中并不引入任何额外的算力开销。网络不需要计算目标的蒙版信息,只需要输出缺陷检测头模块预测的目标坐标和类别,即可实现检测目的。事实证明,步骤n4中新引入的蒙版计算过程可以在训练过程中辅助并提高网络的检测效果,并且不增加测试过程的原有的计算量,在提高网络检测性能的基础上不减损网络的检测速度。构建的asddnet网络在训练过程中,由以下公式计算的损失函数l进行监督:

l=lcls+λlreg+ηlseg

其中,lcls是分类损失,为多分类交叉熵损失函数;lreg是回归损失,为平滑的l1损失函数;lseg是分割损失,为逐像素的二进制交叉熵损失函数;λ,η是权重超参数。

其中,所部表面检测网络的构建还包括训练和测试步骤,所述训练步骤具体为利用经典的反向传播算法训练构建好的表面缺陷检测网络asddnet。网络使用xavier方法进行初始化,在4张gtx1080tigpu上总共训练300个批次,训练批量设为48,训练过程中采用sgd优化器进行优化,优化器动量设为0.9,衰减因子设置为0.0001,优化器初始学习率设置为0.001,并且在150个批次和250个批次处分别减为原来的十分之一,损失函数中的超参数设定为λ=1.5,η=0.8。所述测试步骤具体为:为了获得最佳的网络参数,训练每完成一个批次,即在测试集上评估asddnet网络的检测性能,训练和测试过程均将输入图片的分辨率固定为512x512,网络在单块gtxtianxgpu上的测试速度可以达到35fps。

本发明提供另一种具体实施例:一种基于多任务学习的表面缺陷检测方法装置:

至少一个处理器;

至少一个存储器,用于存储至少一个程序;

当所述至少一个程序被所述至少一个处理器执行,使得至少一个处理器实现如上所述一种基于多任务学习的表面缺陷检测方法。

上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。

本发明还提供另一种具体实施例,一种存储介质,其中存储有处理器可执行的指令,其特征在于:所述处理器可执行的指令在由处理器执行时用于实现如上所述一种基于多任务学习的表面缺陷检测方法。

上述方法实施例中的内容均适用于本存储介质实施例中,本存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。

以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1