如何解决复杂工业图像的缺陷检测问题?

[复制链接]
查看76919 | 回复0 | 2024-9-7 11:15:33 | 显示全部楼层 |阅读模式
点击下方卡片,关注「3D视觉工坊」公众号
选择星标,干货第一时间送达

来源:3D视觉工坊

添加小助理:dddvision,备注:方向+学校/公司+昵称,拉你入群。文末附行业细分群

扫描下方二维码,加入3D视觉知识星球,星球内凝聚了众多3D视觉实战问题,以及各个模块的学习资料:近20门视频课程(星球成员免费学习)、最新顶会论文、计算机视觉书籍、优质3D视觉算法源码等。想要入门3D视觉、做项目、搞科研,欢迎扫码加入!


0.这篇文章干了啥?

这篇文章介绍了两个主要内容:第一部分介绍了一个新的监督异常检测数据集VAD,该数据集源自实际生产环境,提供了一个具有挑战性的基准,用于评估现实世界中的缺陷检测方法。第二部分提出了一种名为SegAD的创新监督异常检测方法,该方法在VAD数据集上实现了最先进的性能,并在标准VisA数据集上的监督基准测试中表现出色。实验结果表明,现有的监督异常检测方法在处理复杂问题方面存在局限性,而将SegAD与表现优异的单类异常检测模型相结合可以进一步提高性能。

下面一起来阅读一下这项工作~
1. 论文信息

论文题目:Supervised Anomaly Detection for Complex Industrial Images

作者:Aimira Baitieva, David Hurych等

作者机构:valeo, valeo.ai

论文链接:https://arxiv.org/pdf/2405.04953

代码链接:https://github.com/abc-125/segad
2. 摘要

在工业生产线中自动化视觉检测对于提高各行业产品质量至关重要。异常检测(AD)方法是实现这一目的的强大工具。然而,现有的公开数据集主要由没有异常的图像组成,限制了AD方法在生产环境中的实际应用。为了解决这一挑战,我们提出了(1)瓦莱奥异常数据集(VAD),这是一个包含5000张图像的新颖真实世界工业数据集,其中包括2000个具有挑战性的真实缺陷实例,涵盖了20多个子类。鉴于传统AD方法在处理这个数据集时存在困难,我们引入了(2)基于分割的异常检测器(SegAD)。首先,SegAD利用异常图和分割图来计算局部统计量。接下来,SegAD将这些统计量和一个可选的监督分类器分数作为Boosted Random Forest(BRF)分类器的输入特征,得出最终的异常分数。我们的SegAD在VAD(+2.1% AUROC)和VisA数据集(+0.4% AUROC)上均取得了最先进的性能。代码和模型均已公开。


3. 效果展示

合格部件。压电陶瓷上允许有小的划痕,电线靠近焊点边缘也是可以接受的。(VAD)



缺陷种类:从左上角开始,依次为:电线在侧面,电线脱离焊点,缺失电线,电线形状不良(弯曲过多)。结构性缺陷:焊膏污染,压电陶瓷上的裂缝,焊点下面的烧坏区域,压电陶瓷破裂。(VAD)



左到右看不见的缺陷:烧焦的焊点,烧焦的电线,多余的不必要的电线。(VAD)


4. 主要贡献

    我们提出了一个具有复杂对象和大量缺陷的监督异常检测数据集。此外,我们建立了一个一类异常检测基准,比大多数当前的基准更具挑战性,一个具有训练中的高数量的坏图像(1000张图像)的监督基准和一个具有训练中的低数量的坏图像(100张图像)的监督基准。我们将数据集免费与研究界共享。我们创建了一种名为SegAD的新型监督异常检测方法。这种方法在保留了检测未知缺陷的能力的同时,比最近的单独异常检测器表现明显更好。SegAD在VAD以及已建立的VisA数据集上取得了SOTA结果。


5. 基本原理是啥?

本文介绍了一种名为SegAD的方法,用于图像异常检测。SegAD的基本原理是利用像素级别的异常检测器生成异常图,然后根据预定义的图像段提取这些异常图的统计信息。最后,利用这些统计信息和可选的监督分类器分数作为输入特征,使用BRF分类器生成最终的异常检测结果。SegAD的训练包括两个阶段,第一阶段训练异常检测器,第二阶段训练BRF分类器。SegAD的特点是快速训练和推理速度,并且可以使用不同的异常检测器和监督分类器进行配置,以适应不同的数据集和问题。

SegAD方法基于以下几个关键步骤:
    输入图像处理:SegAD接收图像作为输入,假设图像为W×H像素大小,具有3个颜色通道。异常检测器:使用一种或多种异常检测器来生成像素级别的异常图。这些异常检测器可以是任何能够生成异常分数的模型,例如PatchCore、FastFlow、RD4AD或EfficientAD。图像分割:定义一组互斥的图像段,每个图像段sl是一个W×H的二维矩阵,表示图像中的一个区域。异常检测器生成的异常图根据这些图像段进行分割,以便提取每个段内的异常信息。统计信息提取:对每个异常图的每个图像段计算一些统计信息,例如99.5%分位数、偏度、峰度和平均值。这些统计信息用于描述图像段中异常的程度和类型。特征向量生成:将每个图像的统计信息组合成一个特征向量f。这个特征向量的长度为K * L * 4 + 1,其中K是异常检测器的数量,L是图像段的数量。BRF分类器:使用Boosted Random Forest (BRF)分类器来对特征向量进行训练和推理,从而生成最终的异常检测结果。BRF分类器能够利用异常图的统计信息和可选的监督分类器分数来提高异常检测的准确性。








6. 实验结果

这项实验的主要内容包括:
    评估指标:使用AUROC和FPR@95TPR等指标对结果进行评估,以评估异常检测性能。实现和评估细节:SegAD方法使用了一些单类异常检测器(如PatchCore、FastFlow、Reverse Distillation和EfficientAD)以及一些监督异常检测器(如DevNet和DRA)。最终分类器BRF使用XGBoost库进行训练。图像大小被调整为256x256像素以减少偏见。VAD数据集的单类基准测试:这项基准测试仅允许使用好的图像进行训练,但SegAD需要坏的图像,因此尝试用人工生成的缺陷替换它们。结果表明,即使采用这种简单的方法,也能比单独使用异常检测方法获得更好的结果。VAD数据集的高频监督基准测试:这个基准测试允许训练监督分类器,但它无法检测到看不见的缺陷。结果显示,SegAD与监督分类器和单类异常检测模型的组合可以取得最佳结果。VAD数据集的低频监督基准测试:这个基准测试仅使用100个坏图像进行训练,这对于具有20多种类型缺陷的数据集来说可能是相对较少的。结果显示,SegAD即使在低频监督基准测试中也能改善其他模型的性能。VisA数据集上的结果:在VisA数据集上进行了实验,该数据集包含较少数量的好图像,我们使用不同的策略来确保训练数据集中有足够的图像来训练基线异常检测模型。消融研究:进行了对SegAD方法的消融研究,结果表明,采用我们提出的特征和分割地图可以显著提高异常检测性能。局限性:SegAD方法需要分割地图,这可能是一个限制因素。此外,由于训练数据和测试数据之间的差异,异常检测结果可能会受到影响,这是一个潜在的限制。






7. 总结 & 未来工作

本研究介绍了VAD,这是一个全新的监督异常检测数据集,源自实际生产,为研究界提供了解决现实世界缺陷检测难题的挑战性基准。此外,我们提出了SegAD,一种创新的监督异常检测方法,在VAD数据集上取得了最先进的性能,同时也在标准VisA数据集上的监督基准测试中表现出色。实验结果揭示了现有监督异常检测方法在处理复杂问题方面的局限性,而将SegAD与表现优异的单类异常检测模型结合起来,进一步提高了它们的性能。

本文仅做学术分享,如有侵权,请联系删文。

这里给大家推荐3D视觉工坊联合大厂算法工程师推出的《工业深度学习异常缺陷检测实战》课程,本课程重点分析讲解工业领域的难点,包括了小缺陷检测,超大图小缺陷检测,对比度不明显的缺陷检测、以及少样本的缺陷检测等工业难点,并给出相应的案例解决方案。除此之外,本课程还简单介绍pytorch 框架和opencv 基础功能,以及各种工业算法中的评价指标和CV大模型在工业场景中的简单应用,拓展丰富大家做项目的思路。

小目标检测案例:



低对比度案例:



少量样本学习的案例:(10张训练数据集)



异常检测案例:


学后收获

    对工业检测算法的应用有较为深刻的认识;独立解决工业缺陷检测中场景的难点;收获一套完整的工业缺陷检测算法;
面向人群

    刚入门机器视觉的本科生、研究生,重点是企业视觉开发人员;想要解决常见工业难点的学员;使用机器视觉落地工业缺陷检测项目的学员。
课程特色

    以解决工业场景疑难问题为主,辅助基础知识学习。Cv大模型在工业领域的探讨和尝试。对算法部署的引申以及做项目时需要关注考虑的问题。
开课时间

2024年4月20日晚上8点(周六),每周更新一章节。
课程答疑

本课程答疑主要在本课程对应的鹅圈子中答疑,学员学习过程中,有任何问题,可以随时在鹅圈子中提问。


▲长按购买课程,前50名享早鸟价,立减60元

▲长按添加小助理微信cv3d007,咨询更多

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则