使用OpenCV4实现工业缺陷检测的六种方法

目录

  • [1 机器视觉](#1 机器视觉)
  • [2 缺陷检测](#2 缺陷检测)
  • [3 工业上常见缺陷检测方法](#3 工业上常见缺陷检测方法)

1 机器视觉

机器视觉是使用各种工业相机,结合传感器跟电气信号实现替代传统人工,完成对象识别、计数、测量、缺陷检测、引导定位与抓取等任务。其中工业品的缺陷检测极大的依赖人工完成,特别是传统的3C制造环节,产品缺陷检测依赖于人眼睛来发现与检测,不仅费时费力还面临人员成本与工作时间等因素的制约。使用机器视觉来实现产品缺陷检测,可以节约大量时间跟人员成本,实现生产过程的自动化与流水线作业。

2 缺陷检测

常见得工业品缺陷主要包括划痕、脏污、缺失、凹坑、裂纹等,这些依赖人工目检(眼睛检测)的缺陷都可以通过机器视觉的缺陷检测算法来实现替代。当前工业缺陷检测算法目前主要分为两个方向,基于传统视觉的算法和基于深度学习的算法,前者主要依靠对检测目标的特征进行量化,比如颜色,形状,长宽,角度,面积等,好处是可解释性强、对样本数量没有要求、运行速度快,缺点是依赖于固定的光照成像,稍有改动就要改写程序重新部署,而且检测规则和算法跟开发者经验其主导作用。基于深度学习的缺陷检测算法刚好能弥补前者的不足之处,能够很好适应不同的光照,更好地适配同类缺陷要求,缺点是对样本数量有一定要求,对硬件配置相比传统也会有一定要求。

《OpenCV应用开发:入门、进阶与工程化实践》一书第十四 章 通过案例详细介绍基于OpenCV如何实现传统方式的缺陷检测跟基于深度学习的缺陷检测。

3 工业上常见缺陷检测方法

方法一:基于简单二值图像分析实现划痕提取,效果如下:

方法二:复杂背景下的图像缺陷分析,基于频域增强的方法实现缺陷检测,运行截图:

方法三:复杂背景下的图像缺陷分析,基于空域增强实现图像缺陷分析,针对复杂背景的图像,通过空域滤波增强以后实现缺陷查找,运行截图如下:

方法四:基于样品模板比对实现基于空域增强实现图像缺陷分析,通过二之分析与轮廓比对实现缺陷查找,运行截图如下:

方法五:基于深度学习UNet模型网络,实现裂纹与划痕检测,运行截图如下:

方法六:基于深度学习实例分割网络模型网络,实现细微缺陷检测,运行截图如下:

以上内容均来自最近出版的一本新书《OpenCV应用开发:入门、进阶与工程化实践》一书第十四章,分享给大家。

延伸阅读

OpenCV4应用开发:入门、进阶与工程化实践

贾志刚 张振 著

工业界和学术界专家联袂推荐

一线开发专家与金牌讲师撰写,一站式解决OpenCV工程化开发痛点

推荐语:

以工业级视觉应用开发所需知识点为主线,讲透OpenCV相关核心模块,案例化详解1000个常用函数、深度学习知识以及模型的推理与加速。

本书专注于介绍OpenCV4在工业领域的常用模块,通过合理的章节设置构建了阶梯式的知识点学习路径。化繁就简、案例驱动,注重算法原理、代码演示及在相关场景的实际使用。本书还介绍了必备的深度学习知识与开发技巧,拓展OpenCV开发者技能。

相关推荐
十六年开源服务商几秒前
门户网站迁移WordPress完整方案2026
大数据
qyr67891 分钟前
全球多旋翼无人机动力系统市场分析报告
大数据·人工智能·数据分析·市场报告·多旋翼无人机动力系统
腾讯云大数据3 分钟前
腾讯云大数据出海实践:一套架构支撑跨国企业的全球数据平台
大数据·架构·云计算·腾讯云
lhbian7 分钟前
C++、C与易语言:编程语言对比解析
c语言·开发语言·c++
꧁细听勿语情꧂7 分钟前
数据结构概念和算法、时间复杂度、空间复杂度引入
c语言·开发语言·数据结构·算法
weixin_381288188 分钟前
PyTorch中高效实现SOM邻域权重更新:向量化替代双重循环
jvm·数据库·python
Yuanxl90313 分钟前
pytorch-优化器
人工智能·pytorch·python
m0_6178814215 分钟前
在 Go 中声明包级全局 Map 的正确方法
jvm·数据库·python
Polar__Star15 分钟前
Redis怎样管理废弃的数据集合_利用EXPIRE指令为任意数据类型设置生命周期
jvm·数据库·python
weixin_5689960615 分钟前
CSS布局如何解决父级因全是绝对定位导致本身没高度的问题
jvm·数据库·python