常州机器视觉培训

常州上位机软件开发

常州工业机器人编程设计培训

常州PLC培训

常州PLC

常州PLC编程培训

常州电工培训

常州和讯plc培训中心欢迎您!
热门课程
联系方式
  • 常州和讯自动化培训中心
  • 常州市新北区府琛商务广场2号楼1409室
  • 电话:0519-85602926
  • 手机:15861139266 13401342299
当前位置:网站首页 > 新闻中心 新闻中心
工业视觉缺陷检测的算法总结-常州上位机培训,常州上位机培训
日期:2024-1-31 9:40:51人气:  标签:常州上位机培训 常州上位机培训

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

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


Ⅰ、传统图像算法

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

①特征工程

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

②模板匹配

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


Ⅱ、CV算法

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

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

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

①图像分类

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

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

②目标检测

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

8.jpg 

图1 目标检测示例

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

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

③实例分割

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

9.png

图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所示:

10.png

图3 YOLOv3论文摘选


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

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

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

结束语

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

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


本文网址:
下一篇:没有资料

相关信息:
版权所有 CopyRight 2006-2017 江苏和讯自动化设备有限公司 常州自动化培训中心 电话:0519-85602926 地址:常州市新北区府琛商务广场2号楼1409室
苏ICP备14016686号-2 技术支持:常州山水网络
本站关键词:常州PLC培训 常州PLC编程培训 常州PLC编程 常州PLC培训班 网站地图 网站标签
在线与我们取得联系