工业质检之无监督图片异常检测

工业质检和图片异常定位方法概述

随着深度学习的发展,对图片进行异常检测的方法也变得越来越多越来越强,比如卷积神经网络CNN,标注好异常的图片,收集好样本,经过有监督的训练可以获得很好的效果,在数据的加持下,深度学习有一统天下的趋势;还有就是降噪自编码器,可以直接给他正常样本,训练一个自编码器恢复原图片,对比图片发生变化的位置就可以定位缺陷的位置,GAN模型也同理,通过重建正样本,找到缺陷位置。

深度学习的缺点

1.比如使用深度学习的目标检测算法进行有监督的训练,可以获得不错的结果,但是这个结果是建立在拥有足够样本的前提下,当数据样本不够,或者存在较大的长尾分布的时候,效果常常就不理想。但是在工业质检或者叫做异常检测的情况下面,正样本恰恰存在收集困难,缺陷位置和类型非常的复杂和多样,这样也就给深度学习带来比较大的挑战。正如我前面参与面板厂商某东方的屏幕质检的项目中,深度学习定位的效果非常不理想,就是由于在屏幕上面存在非常多样样的缺陷,并且屏幕还经常出现这次出品A屏幕,后面又出现B屏幕,导致收集的样本无法适应后续的情况。而且深度学习的目标检测部署成本也是一个不小的成本。特别是工厂规模的加持下,成本也是下不来。
2.自编码器和GAN这些生成模型,可以部分克服样本不够的情况,因为在异常检测的情况下面,最不缺的就是正常的图片,但是在面对场景变换的情况下面,利用A产品训练的模型,无法适应B产品的情况,也就是因为产品之间的图片分布不一致,导致模型需要更新频繁

小结:结合起来就是深度学习的推理成本和训练成本都很高,在工厂化的规模下,成本居高不下,还有就是收集样本的成本比较高,正样本手机难度大,经常出现新的异常情况,这在有监督的情况下效果比较差,因为有监督拟合的是他的训练数据,在完全不一样的异常情况出现时,泛化能力比较差。这些正是我参与某面板厂商的屏幕质检的项目中得到的经验。

无监督异常检测

下面介绍一种方法,虽然存在一定的局限性,但是由于它不需要深度学习那种依赖GPU计算的模型,并且不需要训练,也就不存在收集样本的问题,完美cover不同情况下面的异常检测。不多说,直接进入正题。最终的实现代码和图片https://github.com/tangdong1994/PHOT:我放在了最后面,有兴趣的大家可以帮忙点个star。

原理就是:首先对图片进行傅立叶变换,得到他的频谱图。
原图的红色部分是我圈出来的存在缺陷的位置,由于网上找的图,所以还有水印,也被当作的缺陷。
原图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lEp0erHA-1677236152587)(null)]
频谱图
然后对频谱图进行幅值归一化,然后对归一化后的频谱图进行傅立叶逆变换,得到如下所示的示意图,可以看到两个椭圆的位置已经比较突出了,好了后面的关键步骤来了。

在这里插入图片描述
虽然上面的图片已经把两个椭圆的缺陷位置突出来了,但是还有不少干扰的部分,别急,我们后面的步骤才是关键。

然后对上面的图片进行高斯模糊处理,处理噪声,效果图如下右图:这一步很关键,这一步高斯噪声我用的是kernel size为7,标准差为3的核函数;这里的核函数可以根据自己的需求进行修改实现,大小和标准差都可以变化,经过这一步处理之后,最终结果将少很多的噪声。
在这里插入图片描述
接下来就是对模糊处理的图片进行归一化(也就是减去自己的均值再处以他自己的标准差),然后对像素每个位置的像素和马氏距离4比较得到一个二分图。这里要说明一下,由于对图片进行了归一化,所以可以理解这个变成了量纲一致的马氏距离,根据论文里的实现,选择4的效果最好,但是可以根据自己的情况实验。结果如下图:
在这里插入图片描述
最后对这个二分图使用opencv进行轮廓查找就行。最终得到下面:
在这里插入图片描述

RSDDs铁轨表面缺陷数据上面实验的效果

图一:
在这里插入图片描述

在这里插入图片描述
图二:
在这里插入图片描述

在这里插入图片描述

上面无监督的实现虽然存在一定的限制,但是在一些工业质检和周期性比较明显的图片上面,找缺陷还是非常准的。

实现代码:https://github.com/tangdong1994/PHOT

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
工业缺陷检测神经网络是一种基于深度学习的方法,利用卷积神经网络(CNN)的强大特征提取能力和对高维数据的表征能力来检测工业产品的外观缺陷。工业缺陷检测是保障产品质量和维持生产稳定的重要技术之一,传统的缺陷检测方法需要人工筛查,成本高、效率低,难以覆盖大规模的质检需求。近年来,随着工业成像、计算机视觉和深度学习等领域的发展,基于视觉的工业缺陷检测技术得到了长足的发展,成为了针对产品外观质检的一种有效解决方案。 工业缺陷检测神经网络利用深度学习的方法,可以自动学习人工难以设计的特征,不仅节约了手工设计特征的成本,还提高了检测的精度。相比传统的基于图像处理与统计学习的方法,它更适合处理复杂的工业图像数据。工业缺陷检测神经网络可以应用于各种工业制品的检测,如金属、纺织物和半导体等,并且具有优秀的检测精度与效率,还能提供简便、安全的操作环境。因此,工业缺陷检测神经网络已成为智能制造领域重要的基础研究与技术之一,被广泛应用于无人质检、智能巡检、生产控制和异常溯源等场景。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [「 工业缺陷检测深度学习方法」最新2022研究综述](https://blog.csdn.net/Yong_Qi2015/article/details/126047025)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值