新闻资讯

新闻资讯

缺陷检测常用方法总结

5/6/2024 浏览次数 43

缺陷检测是视觉需求中难度最大一类需求,主要是其稳定性和精度的保证。

首先常见缺陷:凹凸、污点瑕疵、划痕、裂缝、探伤等。 缺陷检测算法不同于尺寸、二维码、OCR等算法。后者应用场景比较单一,基本都是套用一些成熟的算子,所以门槛较低,比较容易做成标准化的工具。

而缺陷检测极具行业特点,不同行业的缺陷算法迥然不同。随着缺陷检测要求的提高,机器学习和深度学习也成了缺陷领域一个不可或缺的技术难点。

  • 传统算法检测缺陷:调试难度大,容易在检测不稳定情况下反复调参,且复杂缺陷误测多,兼容性差        

  • 机器学习检测缺陷:一般使用类似MLP的一些单层神经网络,对缺陷特征进行训练分类,该方法需要事先提取出缺陷部分,一般用来与传统分割法搭配使用,达到缺陷检测分类的效果。      

  • 深度学习检测缺陷(打标签):一般需要客户提供大量的缺陷样本,而且缺陷种类越多、特征越不明显,需要的缺陷样本就越大。其次,打标签过程很难做到自动,需要手动辅助框出缺陷位置,工作量非常大。总结就是训练周期久,训练样本大,如果客户可以提供大量样本,那该方法是首选(半导体行业一般不会出现大量缺陷样品)      

  • 深度学习检测缺陷(迁移学习法):该方法个人感觉会成为后面工业领域检测瑕疵的一个大趋势,但是需要一些公司去收集各种行业的缺陷类型图片和训练的网络模型,并共享出来,然后我们可以使用迁移学习的方法学习别人训练好的模型。

总的来说,机器视觉中缺陷检测分为以下几种:

  • blob分析+特征

  • 模板匹配(定位)+差分

  • 光度立体

  • 特征训练

  • 测量拟合

  • 频域+空间域结合

  • 深度学习