工业视觉缺陷检测的算法总结

网友投稿 376 2024-02-10


缺陷检测是工业视觉领域非常重要的应用之一几乎所有的工业产品在流入市场之前都会有缺陷检测的环节,目的是确保产品是合格的对产品进行缺陷检测时,分为人工目视检测和工业视觉检测利用工业视觉做缺陷检测时,常用的解决思路如下:Ⅰ、传统图像算法用传统图像算法做缺陷检测时,方法有二:①特征工程特征工程是缺陷检测中最常用的方法。

工业视觉缺陷检测的算法总结

特征工程是通过传统图像算法分析图像灰度值、方差、均值、颜色、型状、轮廓、面积等特征去检测缺陷,方法非常灵活,开发速度也快在应用层面,一般会将缺陷特征的相关参数开放到软件端,供使用者灵活调整②模板匹配模板匹配是通过预设一些图像模板,将图像模板与待测图像进行比较,以达到识别缺陷的目的。

这种算法应用有限,举个例子,做某品牌饮料瓶标签的缺陷检测,会利用方法①特征工程的技术识别部分缺陷类型,但也会利用模板匹配,通过预设一些标签图像模板去匹配待测图像,以判断标签是否有缺陷Ⅱ、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分类算法进行分类这种方法解决了传统图像算法定位容易,但是分类困难的问题结束语工业视觉缺陷检测算法有很多,本文罗列了三大类主流方法,除了上述三大类,也有无监督学习算法、图像异常检测算法,读者感兴趣可自行检索研究。

任何一种缺陷检测算法都有自己的技术边界,在使用的时候,要具体情况具体分析,好的策略是将多种不同的算法组合使用,形成“绝对检测”(文章来源于亚坤工业视觉,如有侵权,请联系删文)

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:机器视觉在电池领域中的应用与设计思考
下一篇:关于机器视觉应用的7大趋势
相关文章

 发表评论

暂时没有评论,来抢沙发吧~