缺陷检测

基本框架如下:

 1.图像处理

  • 图像增强

图像滤波(高斯滤波、均值滤波、中值滤波)

直方图均衡化

伽马变化

  • 图像分割

基于阈值的分割

基于区域的分割

基于形态学分水岭的分割

2.特征提取

几何特征(区域周长、面积大小、位置、缺陷质心)

形状特征(矩形度、细长度、圆形度、致密度、不变矩、偏心率)

颜色特征(颜色直方图、颜色聚合向量、颜色矩)

纹理特征(统计法_直方图、频谱法_傅里叶)

灰度特征(灰度直方图信息_方差、均值、熵)

缺陷图像的特征提取实现了从图像空间到特征空间的转换,在实际项目中一般将图像的多种基本特征组合,形成综合性的缺陷描述特征向量。然而,并非所有特征对后续的缺陷检测与图像理解有作用。如果特征提取的过多,使得特征向量维度较高,会带来较多的冗余信息和复杂的计算量,还需要再使用主成分分析(Principal Components Analysis,PCA)等方法进行降维。如果特征提取的较少,则会导致对缺陷的描述不够准确,使得准确率和精度不尽人意。因此,基于人工特征提取的表面缺陷检测方法比较依赖工程师的经验,项目实施难度大。

3.判别模型

  • BP神经网络

BP神经网络是一种模仿生物神经网络的结构和功能的数学模型或计算模型,其实质是建立输入与输出间的映射关系。BP神经网络采用单向多层结构,模型的输出与模型本身之间没有反馈连接,其拓扑结构如下图所示。

BP神经网络通过一个基于误差反向传递的学习方法来优化,使得网络的预测与真实越来越接近,形成对映射函数的估计或近似。

BP神经网络具有非线性、自学习和自适应优势,能够通过已知缺陷数据的统计学习产生一个可以自动识别的系统,被广泛应用于缺陷检测、手写字体识别等。

  • 支持向量机

支持向量机是建立在统计学习理论基础上的一种数据挖掘方法,通过建立满足分类要求的最优分类超平面,能够有效地处理多分类问题。超平面是分割输入变量空间的线,在二维中我们可以将其视为一条线。如下图所示,圆形和三角形符号分别代表两种类别,支持向量机建立的分类边界的特性为最大间隔原则,即分类器边界与训练类别数据保持着最远距离。这种特性使得支持向量机具备较好的泛化能力。

支持向量机具有坚实的理论基础和简单明了的数学模型,在处理小样本、非线性的分类问题中表现出较好的性能,在表面缺陷检测、故障诊断等领域取得了诸多成功的应用。特别是在处理高维特征时,支持向量机很大程度上克服了“维度灾难”,具有较强的分类能力和鲁棒性。

  • K-means聚类算法

聚类问题是指在一个集合内的元素共具备若干种属性,根据属性的不同将每一个元素划分至具备相近属性的子集中,每个子集内部的元素之间属性差异尽可能小,而不同子集的元素属性差异尽可能的大。与BP神经网络和支持向量机这一类有分类算法不同,聚类算法虽然也能实现类别的区分,但有着本质上的不同。BP神经网络和支持向量机属于有监督学习,在分类前需明确每个训练样本的所属类别;而K-means聚类算法则是无监督学习,在聚类前并不清楚类别甚至不给定类别数量。
K-means聚类算法的实施过程如下图所示。(a)表达了初始数据的分布情况,(b)表示随机生成红色和蓝色两个聚类中心。在(c-f)中,我们首先将与红色或蓝色聚类中心相近的点标注成与它相同的颜色,然后再取所有红色/蓝色的数据的均值位置作为新的聚类中心,如此反复,直至收敛至最优解停止。K-meas聚类算法算法简单,容易实现,算法处理速度快,在处理具备较好的聚类能力。

以上就是基于人工特征提取方法中常用的图像处理、特征提取和判别模型策略。可以看出,基于人工特征提取的方法存在以下缺点:

人为定义规则进行表面缺陷识别依赖于尺寸、形状、纹理等容易量化的特征,工作量较大,对于一些难以量化特征的缺陷,无法实现准确地检测;

对于特征相似的缺陷,很难进行高区分度的人工特征工程,容易造成缺陷种类的误判,影响后续的缺陷分析;

受光照条件变化等因素的影响,采集到的产品图像差别较大,对比度、灰度值等特征的变化导致规则和算法的重新开发,系统鲁棒性较差,甚至规则无穷尽导致无法进行检测;

基于人工特征提取所需的处理环节较多,很难做到对缺陷特征完整的建模和迁移,往往“一机一模型”,这导致开发周期长、成本高。特别是图像处理和特征提取过程中比较依赖视觉算法工程师的经验,具有强烈的针对性,算法开发难度大。

正是因为基于人工特征提取方法存在上述的种种缺点,仅仅在简单检测项中稳定可靠,对于复杂表面缺陷的抗干扰能力差、漏检率和误检率高,在实际应用中与满足关键指标需求仍有一定的距离。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zyb-小波

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值