[Halcon学习笔记]机器视觉缺陷检测常用方法对比总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、介绍
缺陷检测时机器视觉需求中最复杂难度较的一类需求。
究其原因,主要在发过程中首先要保证检测的稳定性和精度,又要实现缺陷检测的通用性,常见的缺陷:凹凸、污瑕疵、划痕、裂缝、伤痕、毛刺等等类型种类繁杂,缺陷检测不同于尺寸、、OCR识别等算法。
后者的应用场景比较单一,基本使用一些成熟的算法实现,最
多增加一些定位、图像增强的算法,应用门槛相对较低,也比较容易成通用的产品或工具。
但缺陷检测主要针对工业场景,不同的行业的需求和重都有差别,这导致不同的行业所使用的缺陷算法迥然不同,这也注定了缺陷检测被工业场景非标定制所束缚。
随着缺陷检测要求的不断提高和技术的不断发展,机器学习和深度学习也成了缺陷领域一个不可或缺的技术难。
2、缺陷检测目前解决方案
2.1 传统算法检测缺陷
优:可根据需求和图像进行不同需求的发,可直观展示;
缺:调试难度,图像变化后会导致检测算法不稳定进而需要反复调参,而且复杂缺陷误检的概率较,兼容性不好,很难成通用。
2.2 机器学习检测缺陷
一般使用类似MLP的一些单层神经网络,对缺陷特征进行训练分类,该方法需要
事先提取出缺陷部分,一般用来与传统分割法搭配使用,达到缺陷检测分类的。
2.3 深度学习检测缺陷
优:通用性好,可以通过迭代训练模型不断提升某个产品的检测准确度。
缺:需要量的数据样本(缺陷样本),而且缺陷种类越多,特征性越模糊,检测精度要求越高,其需要的缺陷样本就越,而且深度学习中的缺陷样本需要人工去标注标签,样本越,手动标注的工作量也越,训练的周期也越长。
只适合产品产量且缺陷样本较多的案例。
2.4 深度学习检测缺陷(迁移学习方法)
其操作方法如2.3,但同一行业或相似行业有量的缺陷样本库,如果深度训练网络
具有泛化和迁移的特,可以在常规缺陷少的情况下,根据统一行业缺陷进行迁移学习训练,进而解决缺陷样本少的问题。
该方法感觉会成为后面工业领域检测瑕疵的一个趋势,但需要一些去收集各种行业的缺陷类型图片和训练的网络模型,并共享
出来,然后后来者可以使用迁移学习的方法学习前人训练好的模型。
然后不断的丰富缺陷样本和训练模型。
3、总结
目前机器视觉中缺陷检测主要分为以下几种:
1 Blob分析+特征提取
2 模板匹配(定位)+查分
3 光度立体
4 特征训练
5 测量拟合
6 频域+空间域
7 深度学习
以后的笔记中再详细介绍各种缺陷检测方法使用的场景和实际案例。