欢迎您访问深圳易简智能设备有限公司网站!
全国咨询热线:18822856926
视觉检测百科
视觉检测百科
视觉检测百科视觉检测资讯

视觉缺陷检测常用算法(工业视觉缺陷检测的算法总结)

来源:易简智能作者:欣欣时间:2023-12-01 09:36:27
摘要:

缺陷检测是工业视觉领域非常重要的应用之一。几乎所有的工业产品在流入市场之前都会有缺陷检测的环节,目的是确保产品是合格的。

对产品进行缺陷检测时,分为人工目视检测和工业视觉检测。利用工业视觉做缺陷检测时,常用的解决思路如下:

Ⅰ、传统图像算法

用传统图像算法做缺陷检测时,方法有二:

①特征工程

特征工程是缺陷检测中最常用的方法。特征工程是通过传统图像算法分析图像灰度值、方差、均值、颜色、型状、轮廓、面积等特征去检测缺陷,方法非常灵活,开发速度也快。在应用层面,一般会将缺陷特征的相关参数开放到软件端,供使用者灵活调整。

②模板匹配

模板匹配是通过预设一些图像模板,将图像模板与待测图像进行比较,以达到识别缺陷的目的。这种算法应用有限,举个例子,做某品牌饮料瓶标签的缺陷检测,会利用方法①特征工程的技术识别部分缺陷类型,但也会利用模板匹配,通过预设一些标签图像模板去匹配待测图像,以判断标签是否有缺陷。

Ⅱ、CV算法

计算机视觉算法即CV(Computer Vision)算法,是指让计算机理解图像的一种技术,属于AI(Artificial Intelligence)算法的分支之一。

在工业视觉领域,处理对象是图像,故提到AI算法便是CV算法。也许AI算法听起来高级,所以在工业视觉领域,大家一般多说AI算法,不怎么提CV算法。

图像分类、目标检测、语义分割、实例分割、目标跟踪、OCR、人脸识别、图像生成、异常检测、等都属于CV算法。其中,在工业视觉缺陷检测领域应用较多的CV算法为图像分类、目标检测、实例分割

①图像分类

图像分类,顾名思义,是对图像进行分类并确定图像类别的一种算法。根据分类任务不同,图像分类又分为单标签分类和多标签分类。常用的分类网络有ResNet、MobileNet、EfficientNet等。

在工业视觉领域,理论上讲,可以利用图像分类算法对整张图像直接分类,以确定其缺陷类别。由于工业相机拍摄的视野问题,会使整张图像除了目标区域外,还会包含很多无关的背景,这些无关的背景会干扰图像分类模型的训练,导致图像分类算法的准确率低,因此实际项目中,极少利用图像分类算法直接对整张图进行分类。

②目标检测

目标检测算法是在图像中对所有感兴趣的目标,用检测框定位目标的位置和类别,如下图1所示。这种方法简单粗暴,即通过标注大量缺陷数据集,训练一个具有缺陷检测能力的目标检测模型。



图1 目标检测示例

最经典目标检测算法首推YOLO系列,准确率高且推理速度快,属于非常优异的算法。在实际应用中,需要对图像进行尺寸的缩放,使图像大小符合目标检测模型所要求的尺寸。如果原图很大,缺陷很小,使缺陷在原图中占比很小,比如点状的微小缺陷,可能会使图像在预处理缩放过程中,将缺陷丢失。因此,如果有此类问题的风险,一般会将原图进行裁剪为多份,比如10000*5000分辨率的图像,拆分为10张2000*2500分辨率的图像,然后对这10张图像单独进行检测,最后将检测结果汇总。

此类方法也有弊端,那就是数据集,成也数据集,败也数据集。因为目标检测算法属于有监督学习,依赖大量的数据集,如果数据集不够,会导致算法准确率低。实际项目中,往往需要持续收集数据,反复多次迭代模型,才能达到理想效果。

③实例分割

实例分割是目标检测的升华版本,即在目标检测的基础上用更精细的mask进行定位,而非检测框,如图2所示。



图2 实例分割示例

YOLO算法的原创作者Joseph Redmon在他YOLOv3论文的最后写了这样一句话:Boxes are stupid anyway though, I’m probably a true believer in masks except I can’t get YOLO to learn them。由此可见,Joseph Redmon是认可mask而非box。

将实例分割算法应用到缺陷检测上,可以获得比目标检测算法更加精准的缺陷定位,这是有利于缺陷检测的。另一方面,当不同的缺陷离得很近,并且出现交叉或者包含的情况,目标检测算法很难获得较好的类别区分,但是实例分割算法并没有这个困境。若用实例分割算法在尺寸很大的图像上进行缺陷检测时,处理方法与目标检测算法一致,也是将图像拆分。

实例分割算法和目标检测算法一样,都属于有监督学习,需要依赖大量的数据集。相比于目标检测算法拉框式的标注,实例分割算法标注的更为精确,标注工作量更大。实际项目中,实例分割算法往往也需要持续收集图像数据,反复多次迭代模型,才能达到理想效果。

PS:此处致敬一下Joseph Redmon大神,摘选他YOLOv3论文惊人敬佩的结束语,如下图3所示:



图3 YOLOv3论文摘选

Ⅲ、传统图像算法+CV算法

这种方法将传统图像算法和CV算法结合在一起,也是常用的策略。

通常是利用传统图像算法先定位缺陷,然后再将缺陷ROI图像传给AI分类算法进行分类。这种方法解决了传统图像算法定位容易,但是分类困难的问题。

结束语

工业视觉缺陷检测算法有很多,本文罗列了三大类主流方法,除了上述三大类,也有无监督学习算法、图像异常检测算法,读者感兴趣可自行检索研究。

任何一种缺陷检测算法都有自己的技术边界,在使用的时候,要具体情况具体分析,好的策略是将多种不同的算法组合使用,形成“绝对检测”。

声明:部分内容来源于网络,仅供读者学习、交流之目的。文章版权归原作者所有。如有不妥,请联系删除。

相关推荐

  1. 产品外观自动检测设备的原理(0 次阅读)
  2. 橡胶件外观检测设备有哪些?(0 次阅读)
  3. 自动光学检测设备是干什么的(0 次阅读)
  4. 2024 年国内一线城市视觉检测工程师薪资待遇解析(0 次阅读)
  5. 学机器视觉好找工作吗(0 次阅读)
  6. 机器视觉检测玻璃缺陷原理与方法(0 次阅读)
  7. 用哪一种玻璃做视觉比较好(0 次阅读)
  8. ccd检测与aoi检测有什么区别(0 次阅读)
  9. ccd检测与aoi检测哪个好(0 次阅读)
  10. ccd缺陷检测参数应该是品质负责还是工艺负责(0 次阅读)
全国咨询热线:18822856926