目录
工业缺陷检测场景介绍工业缺陷检测场景特点工业缺陷检测场景需求工业缺陷检测场景流程图工业缺陷检测常用深度学习算法缺陷检测所需工具
在工业生产过程中,由于现有技术的不足和局限性,如工作条件等因素很容易影响成品的质量。其中,表面缺陷是影响产品质量最直观的体现。因此,为了保证合格率和可靠的质量,必须对产品表面缺陷进行检测。
“缺陷”通常可以理解为与正常样品相比的缺失、缺陷或区域。表面缺陷检测是指检测样品表面的划痕、缺陷、异物遮挡、颜色污染、孔洞等缺陷,从而获得样品的类别、轮廓、位置、尺寸等一系列相关信息。被测样品的表面缺陷。人工缺陷检测曾经是主流方法,但这种方法效率低下;检测结果容易受人为主观因素影响,无法满足实时检测的要求。它已逐渐被其他方法所取代。
自然场景一般含有强语义信息,而缺陷检测一般含有弱语义信息。缺陷检测不需要特别大的感受野。一般来说,可以在局部区域识别纹理上的缺陷。工业场景具有以下特点:
业务场景过于分散:缺陷检测场景还是非常分散的,难以归纳。受限、可控:有比较大的人工干预空间。例如可以利用一些光学、机械结构等设计降低场景的复杂,使得我们面临的场景更加纯粹。一般面临的目标比较微弱:这个与目标缺陷的形态、颜色等有关。有时还会有一些例如黑色纹理上的黑色缺陷,强烈吃视角的缺陷等;需求不太明确:很多时候做不到非黑即白的“一刀切。其实仔细思考,并不是客户给不出明确的需求,而是场景和数据本身的固有属性,需求在执行的时候很难做到一致性。精度指标要求比较高:动辄 100% 还是比较夸张的。一般 1 个点的漏捡,2 到 3 个点的误检算是比较理想的结果了。工业缺陷检测场景的需求
基于工业缺陷检测场景的固有属性。对于这个场景,主要有以下需求:
需求一:能够正确判别出 NG(Not Good) 和 OK,本质是一个分类任务:这个是最基础的任务,可以认为是二分类任务;需求二:定位缺陷的位置和缺陷的类别,本质是一个目标检测的任务: 用矩形框粗略地标记出缺陷的位置,并判别出每个缺陷所属的细分类别,方便归因分析、指标统计、设备升级、维修等;需求三:定位缺陷的精确位置和每一个缺陷的类别,本质是稠密预测,属于图像分割任务:能够精确得到缺陷的轮廓,需要产出缺陷的热力图;一般对应的上层任务有缺陷分级、需求定制或变更。需求四:只有大量的正常样本,设计算法进行缺陷检测,本质是无监督学习算法:只提供一些正常样本,希望模型在仅有的正常样本上训练后,能够检测出实际生产环境中异常缺陷的样本。工业缺陷检测场景的流程图
工业缺陷检测的整个流程如下图所示。总共经历7个阶段,分别是:明确需求阶段、照明阶段、数据阶段、算法设计阶段、部署阶段、运维阶段。
我们可以使用的深度学习算法有很多,包括分类、检测、分割系列。例如,分类算法中的细粒度分类可以更准确地提取弱特征。细粒度算法通常使用干扰和注意力。力机制将更好地识别纹理上的缺陷。
此外,语义分割任务用于缺陷检测。事实上,缺陷检测并不局限于语义分割。它更像是提取高斯热图。有缺陷的地方的概率较高,而背景区域的概率较低。因此,也可以应用一些热图回归方法。
除了监督学习算法外,在缺陷样本缺乏的场景下,我们还可以选择无监督学习方案。
深度学习的快速发展使其在缺陷检测领域的应用越来越广泛。具体缺陷检测方法如图所示。
有监督方法要求训练集和测试集缺一不可。训练集中的样本必须被标记。训练集用于寻找样本的内在规则,然后将规则应用到测试集。
在上述有监督的表面缺陷检测方法中,基于表示学习的方法大致可以分为三类:分类网络、检测网络和分割网络。其中,常用的分类网络有Resnet和ShuffleNet;常用的检测网络有Faster RCNN和YOLO;常用的分割网络有:FCN、Mask RCNN等。
在缺陷检测任务中,分类网络的重点是解决“缺陷是什么”的问题,即判断图像的类型(图像是否包含缺陷以及缺陷是什么类型);检测网络的重点是解决“缺陷在哪里”的问题。问题是通过确定缺陷的位置来获取具体的位置信息并确定缺陷的类别信息;分割网络的重点是解决“有多少缺陷”的问题,即分割从背景中修正缺陷区域,获取位置、类别、属性和缺陷的附加信息。
ShuffleNet ShuffleNet是一个计算效率高的轻量级网络。它采用了逐点组卷积和通道洗牌两种新方法,保证计算精度并有效降低计算成本。
Faster RCNN Faster RCNN在Fast RCNN的基础上引入了区域建议网络(RPN),将生成区域推荐的步骤放入神经网络中,在端到端学习模式下实现了几乎无成本的区域推荐算法。大地提高了目标检测的速度,还提到了滑动窗口方法。
全卷积网络在FCN这种端到端的图像分割方法中,网络中的所有层都是卷积层;网络主要使用三种技术:卷积、上采样和跳层;可以通过让网络进行像素级预测直接获得标签图。核心思想之一是反卷积层,它增加了数据大小,以便可以输出准确的结果。
Mask RCNN Mask RCNN 是Faster RCNN 的扩展形式,它将对象检测和实例分割功能集成到两阶段框架网络中:第一阶段扫描图像并生成候选框(建议框可能包含目标区域),第二阶段对候选框进行分类并生成边界框和掩模。
YOLO YOLO(You Only Look Once)是一种单级物体检测器,旨在实现两个目标(即速度和准确性)。它将对象检测定义为回归问题,其中将图像输入卷积神经网络,并预测每个网格的类概率和边界框。
自动编码器编码器和解码器是自动编码器的两个核心部分。其中,编码器对应网络模型中的隐藏层,用于学习输入信号的低维特征;解码器对应于模型中的输出层,用于尽可能地再现输入信号。因此,使编码器能够学习输入信号良好的低维特征并重构输入信号是自动编码器的最终目标。
生成对抗网络生成对抗网络由两个参与者组成:生成器和鉴别器。生成器用于获取样本数据的分布,判别器用于估计样本训练数据的概率。该模型的最终目标是学习真实数据的内在规律,预测和估计真实数据的分布或密度,并根据学到的知识生成新的数据,即生成对抗性网络制造数据。
深度信念网络深度信念网络由多个RBM(受限玻尔兹曼机)组成,整个网络的训练是通过逐层单独训练RBM来完成的。
缺陷检测的实现需要大量的工具支持:
图像采集:相机、运动器材、光控;数据托管:服务器、数据库、版本管理、数据积累;数据处理:图像分析、定位、裁剪;数据标注:适应各种任务,半自动标注;数据清洗:半自动、交叉验证、一致性分析;缺陷生成:传统方法、融合、GAN;训练框架:分类、分割、检测、热图回归等;测试框架:多模型测试、指标统计、可视化;部署平台:模型融合、模型加速、平台移植;前端框架:GUI、持续数据收集、用户体验。
审稿人:李茜