GAN用于表面缺陷检测

前两个月写的,以为误删了,结果在草稿箱里,再发出来吧,也可以见知乎:https://zhuanlan.zhihu.com/p/50099453

1.前言

深度学习在计算机视觉主流领域已经应用的很成熟,但是在工业领域(某些领域应用也很成熟),比如产品表面缺陷检测,总感觉没有发挥深度学习的强大能力,近几年表面缺陷的 相关研究主要是集中在各种借鉴主流神经网络框架,从CNN到YOLO,SSD,甚至到语义分割的FCN相关论文,通过一些技术,对框架进行轻量化,对缺陷进行分类或检测。不过,逃不出一个基础:一定要有缺陷样本可供训练,而且数量不能太少!当然,也有一些课题组记住稀疏编码、字典学习、稀疏自编码等对表面缺陷进行检测,这类方法很有局限性,主要针对那些有周期性背景纹理的图像,比如丝织品,印刷品等。

很多课题组、工业软件公司都想开发出一些切合实际应用的算法软件,在缺陷检测领域,比较好的公司有:VIDI、Halcon等,听说海康威视也在搞工业产品方便的算法研究。

下面开始说下这篇文章,文章是今年发表的,我不知道前人有没有这样的尝试,作者提出只依据已有的正常表面图像样本,通过一定的技术手段对缺陷样本进行检测,很好的将最近研究火热的GAN应用于框架中,这一年,课题组的老师也一直讨论这种方法的可行性,缺陷的检测要不要有缺陷样本,从稀疏自编码,小样本学习再到计算机视觉研究热点之一的零样本学习,得出结论:大多数工业产品表面缺陷检测是需要缺陷样本或者人为制作的缺陷样本,论文虽然是没有直接使用生产线上的缺陷样本,但是通过算法人为的产生了缺陷样本,并很好的融合和GAN在图像修复领域的强大能力,整个框架的设计很巧妙。

论文下载链接A Surface Defect Detection Method Based on Positive Samples

文章思路:论文的整体思路就是GAN在图像修复和重建方便具有很强大的能力,通过人为的去在正常样本上“随意”添加一些缺陷,训练阶段让GAN去学习一个可以修复这些缺陷区域的网络,检测阶段时,输入一个真实缺陷样本,训练好的G

  • 12
    点赞
  • 171
    收藏
    觉得还不错? 一键收藏
  • 30
    评论
在 Matlab 中进行缺陷检测可以采用多种方法和工具。下面是一些常见的方法: 1. 图像处理:Matlab 提供了一系列的图像处理函数和工具箱,可以用于检测图像中的缺陷。例如,可以使用滤波器来平滑图像,并提高缺陷的对比度。然后,可以使用边缘检测算法来查找图像中的边缘和线条。还可以使用形态学操作进行图像的膨胀、腐蚀等处理。 2. 特征提取:在缺陷检测中,可以通过提取图像中的特征来区分正常区域和缺陷区域。Matlab 中提供了各种特征提取函数和工具箱,如颜色直方图、纹理特征、形状特征等。这些特征可以用于训练分类器或者进行聚类分析。 3. 机器学习:Matlab 中有强大的机器学习工具箱,可以用于构建和训练分类器模型。在缺陷检测中,可以使用已标注的图像数据集来训练分类器,然后利用该分类器对新的图像进行缺陷检测。常用的机器学习算法包括支持向量机、随机森林、卷积神经网络等。 4. 深度学习:深度学习在图像缺陷检测中具有很高的准确性和鲁棒性。Matlab 中的深度学习工具箱提供了许多预训练的神经网络模型,例如卷积神经网络(CNN),可以用于图像缺陷检测。通过迁移学习,可以将预训练模型调整为适应特定的缺陷检测任务。 需要注意的是,缺陷检测是一个复杂的问题,具体的方法和工具选择要根据实际情况进行。此外,还可以考虑使用其他编程语言和库进行缺陷检测,如 Python 中的 OpenCV 库等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值