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

目录

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

1 机器视觉

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

2 缺陷检测

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

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

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

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

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

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

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

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

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

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

延伸阅读

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

贾志刚 张振 著

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

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

推荐语:

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

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

相关推荐
工具派9 分钟前
PDF签名贴上去为什么发虚?尺寸、DPI与坐标的边界实测
java·python·pdf
iCxhust11 分钟前
MATLAB SPWM仿真
开发语言·matlab
谙忆21 分钟前
PNG改成ICO为什么不能用:用Python检查多尺寸目录与256px帧
开发语言·python
长空任鸟飞_阿康24 分钟前
如何设计支持 Skills 的 Agent?一套可扩展的四层架构
python·ai·架构·skills
滴啦嘟啦哒27 分钟前
【具身笔记】【原理探究】一、对PI05源码的实践笔记
笔记·python·vla·具身
青峰讲运维32 分钟前
OpenStack 存储深度解析|Cinder 块存储 + Swift 对象存储原理与完整实操(Yoga)
开发语言·openstack·swift
miofly35 分钟前
GitHub 今日推荐|elephant-goldfish-model:先审查设计草案再写代码
python·开源·github
汤姆宝库37 分钟前
具身智能深拆:VLA、世界模型与数据飞轮
开发语言·人工智能·php
云和数据.ChenGuang43 分钟前
深入剖析 Python 的 MRO 规则:从 C3 线性化到实战踩坑
开发语言·python·1024程序员节
123_不打狼1 小时前
Squidiff:基于条件扩散模型预测细胞发育与扰动响应
开发语言·python·squidiff