友思特应用 | 高精度呈现:PCB多类型缺陷检测系统

导读

PCB等电子产品的精密生产制造过程中,往往需要将缺陷问题100%高精度暴露。友思特 PCB 多类型缺陷检测系统,借由Neuro-T深度学习模型自动排查全部微小缺陷,为工业 PCB 生产制造提供了先进可靠的质量保障。


在现代制造业中,尤其是在高精度要求的电子制造领域,诸如印刷电路板(PCB)生产的过程中,高效且准确地识别和分类多种类型的缺陷至关重要。

针对缺陷检测需求,常见的解决方案有两种:(1)基于目标正常图像数据的模板匹配;(2)训练深度学习模型检测目标缺陷。

第一种方式虽然在特定场景下有效,但面对复杂和多变的实际生产条件,这些方法往往受限于它们的灵活性和鲁棒性。第二种方式不仅能够处理传统技术难以解决的复杂缺陷类型,还能通过不断的学习优化,提高检测的准确性和效率,具有更强的鲁棒性和泛化能力。

友思特技术团队通过 Neuro-T 的 Segmentation(实例分割)模型,搭建了 PCB 多类型缺陷检测系统,为工业 PCB 的生产制造提供了可靠的质量保障。

友思特Neuro-T支持的深度学习模型类型

友思特 Neuro-T 支持八种不同的深度学习模型,其中六类模型适用于缺陷检测领域。具体而言:

有监督学习模型

  • 分类:简单分类目标缺陷的有无,精度高

  • 实例分割:准确识别并分割目标的缺陷区域,精度最高,适合占像素点少(低至10像素点)、形状较简单的缺陷

  • 目标检测:识别和定位目标的缺陷区域,精度高,适合占像素点稍多、形状较复杂的缺陷

  • GAN:人工生成目标的缺陷图像,弥补缺陷数据量不足的问题

无监督学习模型

  • 异常分类:分类目标缺陷的有无,精度高于分类模型(可设置异常阈值),主要适用于数据缺乏场景

  • 实例分割:准确识别并分割异常目标的缺陷区域,精度略低于实例分割模型(可设置异常阈值),主要适用于数据缺乏场景

PCB的六种常见缺陷类型

①missing_hole(焊盘缺失)

图片

②mouse_bite(线路缺口)

图片

③open_circuit(断路)

图片

④Short(短路)

图片

⑤Spur(毛刺)

图片

⑥Spurious(伪铜)

图片

PCB 多类型缺陷检测系统

友思特 PCB 多类型缺陷检测系统主要由 Neuro-R、IDS相机 和 VST-2D 软件组成。PCB缺陷检测模型使用 Neuro-T 中的实例分割模型,通过对数据集进行标注、训练、微调实现,而后独立于 Neuro-T 脱机运行,通过 Neuro-R 实现在主机上运行推理。VST-2D 软件是友思特自研视觉软件,对接 IDS 相机的实时图像流,获取 PCB 的实时图像数据,结合 Neuro-R 调用 Neuro-T 训练的模型,实现缺陷区域的识别、缺陷类型确定以及定位分割并将结果呈现于界面。

系统组成图

图片

系统检测效果图

图片

友思特 Neuro-T 实例分割模型训练 PCB 缺陷检测模型具体操作步骤

1.1 新建项目

图片

1.2 新建数据集

图片

1.3 导入图像数据

图片

2.1 创建标签集

图片

2.2 选择模型类型(Segmentation)

3.1 创建缺陷类别

图片

3.2 选择标注工具

图片

3.3 开始数据标注

图片

  • 数据量较少的情况下,可以手动一一标注;数据量较多时,一一标注耗时耗力,可以使用友思特 Neuro-T 自动标注功能来完成标注工作
  • 项目共693张图像,标注139张,剩余使用自动标注功能完成

  • 自动标注功能的具体步骤为:

1、标注部分数据

图片

2、划分训练集和测试集

图片

3、训练标注模型

图片

4、加载标注模型

图片

5、选中图像自动标注

图片

标注完成的结果图如下所示:

图片

4.1 划分训练集和测试集

图片

4.2 训练模型

图片

4.3 查看模型结果

图片

模型评估结果解读:

图片

IoU (Intersection over Union) 交并比,对于特定的一个实例,指模型预测区域与真实区域的交集比上它们的并集:

图片

式中P为模型预测区域,R为真实区域,单位为像素点个数。

对于深度学习模型,IoU≥50%才算成功被检测出来且效果较好。

准确率 (Accuracy) ,衡量模型在所有类别上整体预测的准确程度:

图片

精确率 (Precision) ,衡量模型将数据预测为缺陷的精准程度:

图片

召回率 (Recall) ,衡量模型成功找到缺陷的能力:

图片

精确率和召回率的调和平均值 (F1 Score) ,综合考虑精确率和召回率两个指标:

图片

式中:

  • TP为正确判断为A类缺陷(真实也是A类缺陷)的数量

  • TN为错误判断为A类缺陷(真实为非A类缺陷)的数量

  • FP为正确判断为非A类缺陷(真实为非A类缺陷)的数量

  • FN为错误判断为非A类缺陷(真实为A类缺陷)的数量。

本应用案例有六类缺陷,对每类缺陷的指标取均值。

模型检测效果图

图片

黑色字样+黄色框:原始标注结果

紫色字样+阴影框:预测结果

友思特缺陷检测系统套装

Neuro-R

图片

Neuro-R 可实现无缝整合训练软件创建的模型至支持各种环境和编程语言的运行时 API,其独特性在于——不仅仅是简单地传递模型推断结果,还可以利用各种 API 以创造性的方式从多个模型生成结果,Neuro-R 是友思特缺陷检测系统套装的重要组成部分。

Neuro-T

图片

Neuro-T 使用简单的图形用户界面,通过自动优化深度学习模型结构和训练参数来创建出性能最佳的模型,无需任何深度学习经验,即可运行自己的深度学习项目。在系统中,Neuro-T 是用于训练模型的核心工具。

2D 工业相机

图片

友思特 2D 工业相机结合了支持USB3视觉标准的高质量全局快门传感器技术和具有成本效益的uEye XCP相机平台,是流行的USB2接口的uEye LE相机系列的最佳、高性能和长期替代品。借助友思特自研视觉软件 VST-2D,对接IDS相机的实时图像流,即可获取PCB的实时图像数据。

欢迎访问官网,探索丰富案例:https://viewsitec.com/neurocle/

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工业项目中你连PLM系统都没见过?

什么是 PLM 软件? PLM 软件是用于管理全球供应链中产品或服务全生命周期环节的解决方案。它包括从物料、零部件、产品、文档、规定、工程变更单到质量工作流的数据管理。 PLM 的发展历史 从最初的产品设计管理到如今的数字化转型和智能化生产,PLM 在不断…

【uniapp】省市区下拉列表组件

1. 效果图 2. 组件完整代码 <template><view class="custom-area-picker"><view

【MATLAB】GA_ELM神经网络时序预测算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~ 1 基本定义 GA_ELM&#xff08;Genetic Algorithm and Extreme Learning Machine&#xff09;是一种结合了遗传算法和极限学习机的神经网络时序预测算法。它的核心思想是通过使用遗传算法来优化极限学习机的权重和偏差&…

scipy.signal.cwt 与 pywt.cwt 使用记录

scipy.signal.cwt 该代码中widths以及freq计算公式来源于scipy.signal.morlet2函数官方案例 from scipy.signal import morlet, morlet2 from scipy import signal import matplotlib.pyplot as pltsignal_length 2000 fs 1000# 生成信号数据 time np.arange(0, signal_leng…

Go语言中如何正确使用 errgroup

不管是哪种编程语言,重新发明轮子都不是一个好主意。代码库重新实现如何启动多个goroutine并汇总错误也很常见。但是Go生态系统中的一个包旨在支持这种常见的用例。让我们来看看这个包并了解为什么它应该成为Go开发人员工具集的一部分。 golang.org/x是一个为标准库提供扩展的…

微信订阅号环境搭建及开发者工具下载

目录 一、注册订阅号 1.1 选择注册 2.2 选择订阅号注册 1.3 登录进入主页面 ​编辑 1.4 可以进行自定义菜单 1.5 我们重点关注公众平台测试账号 ​编辑 1.6 自定义一个域名 1.7 用自己的微信扫描这个二维码 ​编辑 1.8 点击修改&#xff0c;并自定义个域名 二、开发…

第1章 计算机网络体系结构

王道学习 【考纲内容】 &#xff08;一&#xff09;计算机网络概述 计算机网络的概念、组成与功能&#xff1b;计算机网络的分类&#xff1b; 计算机网络的性能指标 &#xff08;二&#xff09;计算机网络体系结构与参考模型 计算机网络分层结…

创建线程的四种方式

在实际业务中最好使用线程池的方式&#xff0c;因为其他三种我们一直new 新的线程&#xff0c;在高并发情况下容易发生内存泄漏

用于显著提高检索速度和降低成本的二进制和标量嵌入量化

我们引入了嵌入量化的概念&#xff0c;并展示了它们对检索速度、内存使用、磁盘空间和成本的影响。我们将讨论理论上和实践中如何对嵌入进行量化&#xff0c;然后介绍一个 演示&#xff0c;展示了 4100 万维基百科文本的真实检索场景。 演示地址https://hf.co/spaces/sentence-…

【神经网络与深度学习】循环神经网络基础

tokenization tokenization&#xff1a;分词 每一个词语都是token 分词方法&#xff1a;转为单个词、转为多个词语 N-gram表示法 准备词语特征的方法 &#xff08;把连续的N个词作为特征&#xff09; 如 ”我爱你“——>[我&#xff0c;爱&#xff0c;你] 2-gram——[[我…

联储降息预期落空打了谁的脸

美国 3 月消费者价格指数&#xff08;CPI&#xff09;于本周发布&#xff0c;最新数据全线高于预期。具体而言&#xff0c;美国劳工部周三公布的数据显示&#xff0c;美国 3 月消费者物价指数&#xff08;CPI&#xff09;同比上涨 3.5%&#xff0c;为 2023 年 9 月以来最高水平…

C++调用python脚本

1、在属性页配置 包含目录和库目 2、引入头文件并实现代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 // ConsoleApplication22.cpp : 此文件包含 &…