机器视觉之表面缺陷检测

news2024/12/23 14:50:21

曾有一个科研项目,青岛啤酒厂委托,研究啤酒瓶的质量检测。

一般这种玻璃瓶会有一定次品、不良品,特征是,内部细细的裂缝纹路长度长于一定限制,那么这种啤酒瓶在运输或者开瓶盖的过程中就有炸裂的风险。

所以,采用计算机摄像,机器视觉,人工智能的技术,加以判断甄别,减少人工工作量和失误。

现在,各种基于人工智能、机器学习、深度学习的自动检测、探伤、表面缺陷检测的产品部署在一条条生产线上。

当你买到拿到心仪的产品的时候,映入眼帘的,就是它的外观,这是靠模具厂、组装厂的工人们精心呵护生产出来的,有的靠人眼检查,有的靠自动化设备检查,不放过一点瑕疵。

缺陷检测被广泛使用于布匹瑕疵检测、工件表面质量检测、航空航天领域等。传统的算法对规则缺陷以及场景比较简单的场合,能够很好工作,但是对特征不明显的、形状多样、场景比较混乱的场合,则不再适用。近年来,基于深度学习的识别算法越来越成熟,许多公司,例如速嵌智造,把深度学习算法应用到工业场合中。

现在,机器视觉在工业检测、包装印刷、食品工业、航空航天、生物医学工程、军事科技、智能交通、文字识别等领域得到了广泛的应用。工业检测领域是机器视觉应用中比重最大的领域,主要用于产品质量检测、产品分类、产品包装等,如:零件装配完整性检测,装配尺寸精度检测,位置/角度测量,零件识别,PCB板检测,印刷品检测,瓶盖检测,玻璃、烟草、棉花检测,以及指纹、汽车牌照、人脸、条码等识别。表面质量检测系统是工业检测的极其重要的组成部分,机器视觉表面缺陷检测在许多行业开始应用,涉及钢板、玻璃、印刷、电子、纺织品、零件、水果、木材、瓷砖、钢轨等多种关系国计民生的行业和产品。

如下图所示,这里以QuickEmbed研究的布匹数据作为案例,常见的有以下三种缺陷,磨损、白点、多线。

识别结果如下

工业零件在制造完成的时候,往往需要去检测其完整性和功能性。如下图所示,几种常见缺陷检测。

工件裂纹

下面对各行业应用稍加分析阐述

1.航空业

这不仅是一个满足对飞机所有零部件生产要求和规格的问题,而且是一个在事后发现缺陷时代价高昂的延迟问题。

据波音公司称,在2.6万亿美元的航空服务市场中,70%的份额用于质量和维护。考虑到仅2016年美国的机械问题就估计耗资超过5亿美元,这应该不足为奇。此外,航班延误(许多乘客滞留)约有三分之一与维修有关。

视觉检测技术与DL相结合,可以将组件与规格进行比较,发现生产过程中的缺陷。除此之外,制造商还应满足定期维护要求,以确保乘客安全,并遵循政府的指导方针。这些技术可以识别以下缺陷和问题:

腐蚀-计算机视觉系统可以在更短的时间内对各个部件进行检查,并返回更彻底的检查结果。

发动机内部部件的磨损-对发动机内部部件进行远程目视检查,以确保有效和安全的运行。

铝板厚度(通过三维测量)-厚度计可以提供高精度,无损读数对大型和复杂的铝板;并将收集到的数据上传到您的系统进行进一步的分析。

自动车轮检查-接收有关飞机车轮疲劳裂纹的即时数据。通过使用由计算机视觉驱动的系统,操作人员不必浪费时间在冗长的检查上,可以专注于手头的其他工作。

叶片在制造或修理后的检查-计算机射线照相和数字射线照相可用于检查叶片的关键缺陷。因此,无需使用数字格式的化学品,就可以快速获得图像。后者可以进一步进行失效分析,并带来精确的三维测量。

2.汽车行业

安全问题让OEM和一级供应商夜不能寐。这是乘客的风险/死亡问题,也是公司声誉的问题。最近,丰田同意支付13亿美元的和解金,原因是一项缺陷导致汽车加速,即使司机试图减速。美国有6人死于这种缺陷。

利用视觉检查、人工智能和深度学习的认知能力,原始设备制造商可以更准确地分析和识别质量问题,甚至在问题发生之前就解决它们。随着时间的推移,当他们熟悉更多类型的缺陷时,这些可视化的洞察和分析可以确定缺陷的严重程度。

一家领先的汽车制造商采用智能光学检测解决方案来检测金属表面的划痕和凹痕缺陷。对于人类检查员来说,在光亮的表面上发现这样的缺陷是极其困难的。传统的机器检查也没有什么帮助,因为系统不能捕获不可预测的凹痕或划痕缺陷。另一个问题是,该系统必须由人类员工进行培训,提供有缺陷部件的图像,教会它分辨哪些部件是可以接受的,哪些部件是不可接受的。然而,公司一开始就有一个相当低的缺陷率,它花费了他们大量的时间和精力来收集一个小的可视化数据集来表示足够的缺陷变化。最终,他们选择了一个更“智能”的系统,并很快意识到采用后的好处如下:

降低66%的检验成本

假阳性率降低33%

假阴性率维持在1%以下

3.计算机设备制造业

自动光学检测(AOI)曾经是制造业计算机设备的自然选择,特别是由于对小型电路板设计的需求正在增长,而且在某些情况下,缺陷可能被证明是高度有害的。

除此之外,AOI还可以检测到:

区域缺陷

组件偏移

焊料问题

外来材料

高度和体积缺陷

短路

安装错误

当为AOI检查设置规格和方差裕度时,它们要比人工检查精确得多。然而,AOI系统仍然无法检测到设备的“外观”问题。

这就是为什么富士通实验室一直在率先为电子行业开发支持人工智能的识别系统,并在质量、成本和交付方面报告了大量进展。通过遗传编程,该公司的图像识别系统实际上生成了检测代码,能够产生几乎100%的识别率。将该技术应用于生产现场,开发时间减少80%左右,识别率达到97%。

然而,不仅仅是高价值的制造可以使用自动化的视觉检查和人工智能。考虑一下这两个来自以消费者为基础的行业的例子。

4.纺织行业

在某个时刻,我们所有人都买了衣服,发现里面贴着“被(某个数字)检查过”的小标签。这意味着人工检查产品在缝纫、织造等方面的缺陷,并确定其符合公司的质量规格。显然,这是一个代价高昂且容易出错的过程。接受有缺陷产品的客户必须经过退货/换货程序,这是公司不喜欢的。

自动视觉检查的实现,以及DL功能,现在可以检测纹理、编织、缝合,甚至颜色匹配的问题。当发现缺陷时,不仅可以将纺织品或产品从生产线上移除,而且还可以发现缺陷的根源,并在未来进行修复和预防。

同时,可以对这些系统进行微调,以接受更大范围的容错能力。例如,Datacolor的人工智能系统可以考虑过去由人工操作人员进行的视觉检查的历史数据,从而创建与视觉检查样本更接近的自定义公差。

纺织业最新的人工智能用例之一是创建一个检测和测量织物褶皱的系统。目前织物起皱性能的测量大多是手工进行的,比较繁琐。计算机视觉驱动的皱纹测量可以帮助制造商降低成本和时间所需的这一过程。

5.玻璃行业

个行业经常面临的问题之一是玻璃在生产过程中的缺陷——切屑、划痕等。通常,当前的检测方法会产生“假阳性”,例如水滴被识别为切屑。

通过自定义计算机视觉和人工智能模型的实现,可以消除这些类型的错误。在一个案例中,正确的缺陷识别为一家大型玻璃制造商在每条生产线上平均节省了3.6万美元,总计每年节省近100万美元。

质量控制是一个公司保持制造标准、客户满意度以及最终声誉和利润的主要因素。计算机视觉有巨大的质量控制潜力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/708823.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【实证分析】地区竞争、推广数字普惠金融与绿色经济效率

研究内容 基于考虑非期望产出的 Super-SBM 模型测算了 2011—2018 年中国 265 个地级市的绿色经济效率,综合运用面板模型、空间杜宾模型,系统分析了地区竞争下推广数字普惠金融对绿色经济效率的影响效应。研究发现:(1)绿色经济效率存在显著正向空间溢出效应,地理距离与经济差异…

mysql数据(添加,修改,删除,单表查询)操作

插入: 主键自增(第一列),可以写null,自动生成 最后一列是空值null,即不给分配 如果设置了默认值,如性别设置了默认值男,就可以写default 1、 查询起别名,如果别名有特…

操作数据库DDL、DML

DDL 1、创建表 create table tb_user(id int,username varchar(20),password varchar(10) ) 2、数据类型 3、删除表 drop table 表名 4、修改表 修改表名 alter table 表名 rename to 新表名 添加一列 alter table 表名 add 列名 数据类型修改数据类型 …

Vue中watch与computed区别

<body><div id"root">姓&#xff1a;<input type"text" v-model"firstName"><br/><br/>名&#xff1a;<input type"text" v-model"lastName"><br/><br/>全名&#xff1a;&…

virtio-net前端-virtqueue

文章目录 1.概述2.数据结构3. 流程分析3.1 virtio总线创建3.3virtio-net3.3.1virtio-net初始化![在这里插入图片描述](https://img-blog.csdnimg.cn/7246c1705ac24f88b75fad63f8941ca5.png)3.3.2 virtio-net驱动发送3.3.3 Qemu virtio-net设备接收 4.virtqueue4.1数据结构4.2发…

模糊测试Fuzzing基础知识学习笔记

概念 模糊测试&#xff08;Fuzzing&#xff09;&#xff0c;是一种通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。在模糊测试中&#xff0c;用随机坏数据&#xff08;也称做 fuzz&#xff09;攻击一个程序&#xff0c;然后观察哪里遭到了破坏。 模糊测试…

6.Mysql自连接

针对相同的表进行的连接被称为“自连接”&#xff08;self join&#xff09; 那么为什么要把相同的一张表连接起来呢&#xff1f;一开始还是挺难理解的。把它想象成连接两张不同的表&#xff0c;这样容易理解一些。事实上&#xff0c;自连接还是有很多用处的 1. 在同一张表内进…

模板初识与STL简介

初识模板 引言函数模板定义实例化隐式实例化显式实例化 类模板定义实例化 STL简介STL六大组件 总结 引言 模板是泛型编程的基础 在之前我们介绍过函数重载&#xff0c;可以定义许多函数名相同参数列表不同的重载函数&#xff0c;来实现不同类型的相似操作。调用重载函数时会根…

chatgpt赋能python:归一化在PyTorch中的运用

归一化在PyTorch中的运用 PyTorch是一种广泛使用的深度学习框架&#xff0c;它可以用于训练和预测各种类型的神经网络。在深度学习中&#xff0c;归一化是提高模型性能的一种常用技术。归一化是指将输入数据进行标准化或规范化处理&#xff0c;以确保数据的统一性和一致性。在…

golang硬核技术(二)go程序从启动到运行到底经历了啥

前言 go相对其他语言&#xff0c;对并发的支持更友好。这使得他的设计和其他程序迥然不同。让我们来看看它都是如何初始化程序的&#xff0c;从程序加载到运行到底经历的什么。 我们继续之前的版本1.18.4 汇编入口 首先我们编译一个hello world 程序。 package main impor…

python--连接oracle数据库

python--连接oracle数据库 前言一、安装cx_Oracle二、导入库三、数据库操作实例3.1 连接3.2数据库查询3.3数据库插入3.4 实例从某网站上面爬取彩票号码 四、异常4.1、运行时&#xff0c;出现连接数据库失败:DatabaseError:DPI-1047解决连接失败问题1、查看Oracle的版本号2、进入…

辅助驾驶功能开发-功能规范篇(21)-1-XP行泊一体方案功能规范

XPilot Safety 主动安全系统 一、前向碰撞预防(Forward Collision Prevention) - 产品定义 基于车辆前向视觉模块和前毫米波雷达的感知能力,对车辆前方扇形区域内的车辆和VRU(弱势道路使用者) 有可能与本车的运行路线发生碰撞,进行预警、碰撞伤害降低或碰撞避免的一系列…

QT 简易视频播放器版本1.1

设计Qt界面实现播放、暂停、停止、下一集、上一集、快进、后退、倍速播放、进度调节&#xff0c;音量调节、视频播放列表等功能 先上演示效果&#xff1a; ui界面设计 videoplayer.h #ifndef VIDEOPLAYER_H #define VIDEOPLAYER_H#pragma execution_character_set("utf-…

深入了解Promise机制并使用JS实现一个Promise(一)

前言 关于为什么会有Promise以及Promise的一些用法和基本机制可以参考之前的文章JS中的异步与Promise使用整体来说&#xff0c;Promise可以帮助我们很好的解决异步的问题&#xff0c;号称是异步的终极解决方案。在浏览器中Promise是使用C实现的&#xff0c;今天就使用js来实现…

JSP原理以及基本语法

1、JSP原理 什么是JSP&#xff1f; Java Server Pages&#xff1a;Java服务器页面&#xff0c;和Servlet一样是动态Web技术&#xff01; 和HTML的区别&#xff1f; HTML是静态页面。在JSP页面中可以嵌入Java代码&#xff0c;为用户提供动态的数据。 JSP 和 Servlet 的关系…

枚举一个进程中的所有线程

在 Win32 开发中&#xff0c;如果需要获取程序运行过程中的一些较为底层的信息&#xff0c;你可能需要使用到 Tool Helper 库。但我愿意称之它为 Win32 中的 “害群之马”。何解&#xff1f; Tool Helper 库在 16 位 Windows 时代就已经存在了&#xff0c;这个库主要用来提供一…

今天给我的Ubuntu服务器挂在了一个4T的硬盘却只能识别到2T,原来是因为这!涨知识了

前言 今天买的4T机械硬盘到了&#xff0c;准备给我的服务器加装上&#xff0c;用来作为Nextcloud的存储硬盘。把硬盘安装好后就迫不及待的进行挂载&#xff0c;挂载的操作倒是挺顺利的&#xff0c;但是无论怎么操作Ubuntu系统识别到的大小居然都是2T&#xff0c;最后没办法&am…

chatgpt赋能python:开方在Python中的用法

开方在Python中的用法 开方是数学中常见的一种运算&#xff0c;用于求一个数的平方根。在Python中&#xff0c;开方运算可以通过使用math模块中的sqrt函数来实现。本文将介绍开方运算的概念、Python中的应用以及一些常见问题的解决方法。 开方的概念 开方是指&#xff0c;对…

chatgpt赋能python:在Python中运行程序的方法介绍

在Python中运行程序的方法介绍 Python是一种广泛使用的编程语言&#xff0c;也是人工智能和数据科学领域的首选。在这篇SEO文章中&#xff0c;我们将介绍Python中运行程序的几种方法。 1. 在Python环境中运行程序 Python环境是一个Python解释器及其标准库的集合。为了在Pyth…

Redis7【⑥ Redis复制(replica)】

Redis复制 Redis 复制&#xff08;Replication&#xff09;是 Redis 的一项核心功能&#xff0c;用于将一个 Redis 数据库的所有数据复制到另一个 Redis 实例上。Redis 复制可以提高系统的可用性、可靠性和扩展性&#xff0c;使得在发生故障时可以快速地恢复数据。 Redis 复制…