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

2024-04-10 20:36

本文主要是介绍友思特应用 | 高精度呈现: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/

这篇关于友思特应用 | 高精度呈现:PCB多类型缺陷检测系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/892077

相关文章

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网

MobaXterm远程登录工具功能与应用小结

《MobaXterm远程登录工具功能与应用小结》MobaXterm是一款功能强大的远程终端软件,主要支持SSH登录,拥有多种远程协议,实现跨平台访问,它包括多会话管理、本地命令行执行、图形化界面集成和... 目录1. 远程终端软件概述1.1 远程终端软件的定义与用途1.2 远程终端软件的关键特性2. 支持的

Rust中的BoxT之堆上的数据与递归类型详解

《Rust中的BoxT之堆上的数据与递归类型详解》本文介绍了Rust中的BoxT类型,包括其在堆与栈之间的内存分配,性能优势,以及如何利用BoxT来实现递归类型和处理大小未知类型,通过BoxT,Rus... 目录1. Box<T> 的基础知识1.1 堆与栈的分工1.2 性能优势2.1 递归类型的问题2.2

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要