天津网站建设信息科技有限公司,门户网站开发公司排名,南昌做网站的公司多不多,wordpress 显示标签代码1 表面缺陷检测的概念
表面缺陷检测是机器视觉领域中非常重要的一项研究内容, 也称为 AOI (Automated optical inspection) 或 ASI (Automated surface inspection)#xff0c;它是利用机器视觉设备获取图像来判断采集图像中是否存在缺陷的技术。
1.1 传统检测的缺陷(非CNN)…1 表面缺陷检测的概念
表面缺陷检测是机器视觉领域中非常重要的一项研究内容, 也称为 AOI (Automated optical inspection) 或 ASI (Automated surface inspection)它是利用机器视觉设备获取图像来判断采集图像中是否存在缺陷的技术。
1.1 传统检测的缺陷(非CNN)
在很多开放式的工业环境下期待设计的成像系统完全消除场景或者被检材料等变化对检测系统的影响往往不太现实。也增加了检测系统的应用成本
在真实复杂的工业环境下表面缺陷检测往往面临诸多挑战例如存在缺陷成像与背景差异小、对比度低、缺陷尺度变化大且类型多样缺陷图像中存在大量噪声甚至缺陷在自然环境下成像存在大量干扰等情形如图1所示此时经典方法往往显得束手无策难以取得较好的效果。 1.2 定义
1.2.1 缺陷的定义 有监督的方法,体现在利用标记了标签(包括类别、矩形框或逐像素等)的缺陷图像输入到网络中进行训练. 此时 “缺陷”意味着标记过的区域或者图像. 因此, 该方法更关注缺陷特征, 例如在训练阶段将包含大片黑色范围的区域或者图像标记为 “异色”缺陷用于网络训练. 在测试阶段, 当布匹图像中检测到大片黑色的特征时, 即认为出现了“异色”缺陷. 无监督的缺陷检测方法, 通常只需要正常无缺陷样本进行网络训练, 也称为one-class learning. 该方法更关注无缺陷 (即正常样本)特征, 当缺陷检测过程中发现未见过的特征(异常特征) 时, 即认为检测出缺陷. 此时 “缺陷”意味着异常, 因此该方法也称作异常检测 (Anomaly de-tection).
1.2.2 缺陷检测的定义
第1阶段: “缺陷是什么”对应计算机视觉中的分类任务, 如图2中分类三种缺陷类别: 异色、空洞和经线, 这一阶段的任务可以称为 “缺陷分类”, 仅仅给出图像的类别信息。
第2阶段: “缺陷在哪里”对应计算机视觉中的定位任务, 这一阶段的缺陷定位才是严格意义上的检测。 不仅获取图像中存在哪些类型的缺陷, 而且也给出缺陷的具体位置如图2中将异色缺陷用矩形框标记出来。
第3阶段: “缺陷是多少”对应计算机视觉中的分割任务如图2中缺陷分割的区域所示将缺陷逐像素从背景中分割出来并能进一步得到缺陷的长度、面积、位置等等一系列信息, 这些信息能辅助产品高一级的质量评估例如优劣等级的判断。 2 表面缺陷检测深度学习方法
2.1 缺陷检测框架图 2.2 表征学习
根据网络结构的不同分为分类网络、检测网络、分割网络。将缺陷检测问题看作CV中的分类任务粗粒度的图像标签分类或区域分类像素分类。
2.2.1 分类网络
基于CNN的分类网络特征提取部分由级联的卷积层pooling层组成后面接全连接层或average pooling层softmax结构用于分类。
1直接利用网络进行分类根据工作特点细分为原图分类、定位感兴趣区域Region of interestROI后分类和多类别分类 原图分类缺陷数据集放入网络进行学习训练 定位ROI后分类预先获取到感兴趣的区域ROI将ROI输入网络进行缺陷类别的判断。 多类别分类分类缺陷类型超过两类采用基础网络进行缺陷和正常样本二分类在同一个网络上共享特征提取部分修改或者增加缺陷类别的分类分支。给后续的多目标缺陷分类网络准备一个预训练权重参数权重参数通过正常样本与缺陷样本之间二分类训练得到。
2利用网络进行缺陷定位分类网络可以实现缺陷定位和逐像素分类 滑动窗口粗定位通过较小尺寸的窗口在原始图像上进行冗余滑动将滑动窗口中的图像输入到分类网络中进行缺陷识别最后将所有的滑动窗口进行链接即可获得缺陷粗定位的结果。 热力图反应图像中各区域重要性程度的图像颜色越深的区域代表其属于缺陷的概率越大。在热力图的基础上运用Otsu法和图割算法进一步得到准确的缺陷轮廓区域。CAMClass activation mapping和Grad-CAM方法获得热力图本质上是通过加权特征图确定网络模型是通过哪些像素作为依据来判断输入图片所属的类别。 多任务学习单纯的分类网络若不加入其他技巧一般只能实现图像级别的分类. 因此为了精细定位缺陷位置, 往往设计的网络会加上额外的分割分支两个分支共享特征提取的骨架 (backbone) 结果这样网络一般有分类和分割两个输出构成多任务学习网络。对于分割网络分支图像中每个像素都能被当作训练样本来训练网络。因此多任务学习网络不仅利用分割分支输出缺陷具体的分割结果而且可以大大减少分类网络对样本的需求。 3利用网络做特征提取器
利于CNN特征提取功能先将图像输入到预训练网络中获取图像表征特征在将获取的特征输入到常规的机器学习分类器SVM中进行分类。
2.2.2 检测网络
目标定位是获得目标精准的位置和类别信息
基于深度学习的缺陷检测网络从结构上可以划分为:以FasterR-CNN为代表的两阶段(Twostage)网络和以SSD或YOLO为代表的一阶段(Onestage)网络。两者的主要差异在于两阶段网络需要首先生成可能包含缺陷的候选框然后再进一步进行目标检测。一阶段网络则直接利用网络中提取的特征来预测缺陷的位置和类别。
1基于两阶段的缺陷检测网络强调检测精度的缺陷检测领域
首先通过Backbone网络获取图像的特征图利用区域生成网络Region proposal networkRPN计算锚框anchor box置信度获取Proposal区域然后对Proposal区域的的特征图进行ROIpooling后输入网络通过对初步检测结果进行精细调整最终得到缺陷的定位和类别结果。
常用方法往往针对 Back- bone 结构或其特征图、锚框比例、ROIpooling 和损失函数等方面进行改进。
2基于单阶段的缺陷检测网络追求检测速度的缺陷检测领域
单阶段检测网络分为SSD和YOLO两种利用整幅图作为网络的输入直接在输出层回归边界框Bounding box的位置及其所属的类别。
SSD特点在于引入了特征金字塔检测方式从不同尺度的特征图中预测目标位置与类别。使用6个不同特征图检测不同尺度的目标一般底层特征图用于预测小目标高层特征图预测大目标。
2.2.3 分割网络
将表面缺陷检测任务转化为缺陷与正常区域的语义分割甚至实例分割任务不但能精细分割出缺陷区域还可以获取缺陷的位置、类别以及相应的几何属性包括长度、宽度、面积、轮廓、中心等。
按照分割功能的区别分为全卷积神经网络Fully Convolutional networksFCN、Mask R-CNN。
1FCN方法图像语义分割的基础
利用卷积操作对输入图像进行特征提取和编码再通过反卷积操作或上采样将特征图逐渐恢复到输入图像尺寸大小。根据FCN网络结构差异可分为常规FCN、Unet和SegNet
a)常规FCN方法通过融合多尺度采样层的特征图来细化分割轮胎图像中的缺陷.
b)Unet方法经典的FCN结构同时由编码器—解码器Encoder-decoder结构。特点在于引入跳层连接将编码阶段的特征图与解码阶段的特征图进行融合有利于分割细节的恢复。
c) SegNet方法经典编码器-解码器结构特点在于解码器中的上采样操作利用了编码器中最大池化操作的索引。
基于深度学习的分割网络还在不断提出例如LinkNet、DeepLabv3、PSPNet等。在最新模型中的模块空洞卷积和金字塔Pooling也被添加了FCN框架中。生成对抗网络Generative adversarial networkGAN在CV中广泛应用常用来生成图像GAN由生成器和判别器模型构成。在结合GAN的缺陷检测方法中生成器往往直接采用FCN网络判别器通过分类模型来区分生成器的结果和Groundtruth通过生成器和判断器的不断博弈让生成器的输出结果逐渐接近Groundtruth。
2Mask R-CNN方法最常用的图像实力分割方法
基于检测和分割网络相结合的多任务学习方法。当多个同类型缺陷存在粘连或重叠时实例分割能将单个缺陷进行分离并进一步统计缺陷数目语义分割往往将多个同类型缺陷当做整体进行处理。
目前大部分文献都是直接将Mask R-CNN框架应用于缺陷分割路面缺陷分割、工业制造缺陷、螺栓紧固件缺陷和皮革表面缺陷。
分割方法在缺陷信息获取上有优势但与检测网络一样需要大量的标注数据标注信息是逐像素需要花费大量的标注经历和成本。
2.3 度量学习使用深度学习直接学习输入的相似性度量
缺陷分类任务中往往采用孪生网络Siamese networks进行度量学习。不同于表征学习输入单幅图像转化为分类任务孪生网络的输入通常为两幅或多幅成对图像通过网络学习出输入图片的相似度判断其是否属于同一类。
孪生网络损失函数的核心思想是让相似的输入距离尽可能小不同类别的输入距离尽可能大。
度量学习可以近似看作为学习样本在特征空间进行聚类表征学习可以近似看作为学习样本在特征空间的分界面。相比于表征学习度量学习的方法应用在表面缺陷定位中不太多大部分都是应用在缺陷分类任务重。缺陷定位方面输入孪生网络的图像对需要具有统一的内容形式要求比较严格无法适应复杂的工业环境。
2.4 正常样本学习
常用表面缺陷检测的无监督学习模型是基于正常样本学习的方法。只需要正常无缺陷样本进行网络训练One-class learning方法。
正常样本学习的网络只接受正常无缺陷样本训练使其具备强大的正常样本分布的重建和判别能力。当网络输入的样本存在缺陷时往往会产生与正常样本不同的结果。
与有监督学习模型相比检测到偏离预期的模式或者没有见过的模式就是缺陷和异常。
依据处理空间的不同本文将该缺陷检测方法分为基于图像空间和特征空间两种。通常该方法采用的网络模型为自编码器AutoencoderAE和GAN。
2.4.1基于图像空间的方法
在图像空间对缺陷进行检测不仅能实现图像级别的分类和识别, 也可以获取到缺陷的具体位置.
1利用网络实现样本重建与补全原理类似去噪编码器
当输入任意样本图像到网络中可以得到重建后对应的正常样本。网络可以具备自动修复或者补全缺陷区域的能力。输入图像分别减去这些重建或修复图像可以获得残差图像/重建误差能够作为判断待检测样本是否异常的指标。
原则重建误差过大时可以认为输入图像存在缺陷差异过大的区域即为缺陷区域。重建误差很小时即认为输入图像是正常样本。
2利用网络实现异常区域分类
通常采用GAN的判别器。
原理训练生成对抗网络GAN以生成类似于正常表面图像的伪图像。训练好的GAN可以在潜在特征空间中很好地学习正常样本图像。GAN的判别器可以用作分类器用于分类缺陷和正常样本。
基于深度卷积生成对抗网络Deep Convolutional GANDCGAN的自动检测织物缺陷的新型无监督方法。该模型包括两个部分第一部分部分利用模型中GAN的判别器生成了一个缺陷分布似然图其中每个像素值都表示该位置出现缺陷的管理第二部分通过引入编码器到标准DCGAN实现重检测图像的重建。当从原始图像中减去重建图像时可以创建残差图以突出显示潜在的缺陷区域。联合残差图和似然图以形成增强的融合图。在融合图上采用阈值分割算法进一步获取准确的缺陷位置该方法在各种真实纺织物样品上进行评估和验证。
2.4.2基于特征空间的方法
在特征空间中通过正常样本与缺陷样本特征分布之间的差异来进行缺陷检测。特征之间的差异也称为异常分数当异常分数高于某个值时即可认为出现缺陷。
基于空间的特征空间的方法往往只能实现图像级别的分类或识别无法获取像素级别的缺陷位置实际上通过AE和GAN模块也能实现与图像空间检测方法类似的缺陷精确定位。
基于正常样本学习方法常用于简单统一的纹理表面缺陷检测在复杂的工业检测环境相比于监督学习的方法其检测效果还不太理想。
2.5 弱监督与半监督学习较少应用于表面缺陷检测中
弱监督方法采用图像级别类别标注弱标签来获取分割/定位级别的检测效果。
半监督学习通常会使用大量的未标记数据和少部分有标签的数据用于表面缺陷检测模型的训练。大部分用于解决缺陷分类或识别任务还没有广泛应用到定位于分割任务中。 3、关键问题/痛点
3.1 小样本/数据集过小
表面缺陷检测作为工业领域的具体应用。工业缺陷样本太少相比于ImageNet数据集1400万样本数据表面缺陷检测中的面临的最关键的问题是小样本问题很多真实的工业场景下甚至有几张或几十张缺陷图片。
解决方案
1数据扩增、合成与生成。
对原始缺陷样本采用镜像、旋转、评议、扭曲、滤波、对比度调整等多种图像处理操作来获取更多的样本。
数据合成将单独缺陷融合叠加到正常样本上构成缺陷样本不少GAN的工作也应用于表面缺陷样本生成上。
2网络预训练或迁移学习
深度学习网络参数较多直接采用小样本训练网络很容易导致过拟合但在预训练模型中存在一些比较共性的特征数据与权重信息。预训练网络或迁移学习是目前针对样本少最常用的方法之一
3合理的网络结构设计
设计合理的网络结构可以大大减少样本的需求基于孪生网络的表面缺陷检测方法也可以看作是一种特殊的网络设计能够大幅减少样本需求。
4采用无监督与半监督模型方法
主要方案是减少样本需求。无监督模型中只利用正常样本进行训练因此不需要缺陷样本解决小样本情况下的网络训练难题。 3.2 实时性
缺陷检测方法在工业应用中的三个环节数据标注、模型训练与模型推断。实际应用更关注模型推断。
以前大多数缺陷检测方法都集中在分类或识别的准确性上而很少关注模型推断的效率。有不少方法用于加速模型, 例如模型权重量化和模型剪枝等。
3.3 传统图像处理与基于深度学习的缺陷检测方法的比较 4 缺陷数据集 5总结与展望
缺陷检测包括缺陷分类、缺陷定位和缺陷分割。基于深度学习方法是端到端的特征提取和分类。虽然表面缺陷检测技术已经不断地从学术研究走向成熟的工业应用但是依然有一些需要解决的问题。
1网络结构设计
大部分网络都是由人工设计从模型到包含多少层到每一层的详细结构都是漫长的设计和调参过程。网络很难说最优只是手工设计的网络在当前缺陷检测数据集上大致满足需求。机器搜寻和自动生成的网络逐步替代人工设计的网络大幅减少手工设计网络参数检测的正确率也会上升。
2网络训练学习
难以收集到所有类型的缺陷。倘若只有良品数据集的情况下如何利用类脑受脑启发的计算与仿人视觉认知模型在有先验知识的前提下来知道缺陷检测网络的训练和学习。
3异域数据联邦学习or迁移学习
单个表面缺陷检测数据集往往都很少, 虽然小样本问题可以通过数据增广缓解相关问题。实际上不同工业行业和领域中, 真实工业表面缺陷数据是非常多的, 一些缺陷种类也是共同的, 例如划痕广泛存在于金属、液晶屏幕、太阳能电池板、玻璃等等一系列材质表面。
由于涉及隐私敏感, 不同检测领域之间数据并没有有效结合和利用。如何利用不同工业领域的缺陷数据集来进行网络学习。也是表面缺陷检测的一种重要研究方向。
因此, 基于异域数据的联邦学习将会成为一个趋势, 它能够打破不同应用场景之间的壁垒, 充分学习不同领域之间数据来提升网络性能。