小车PCB板视觉分拣软件

小车PCB板视觉分拣软件

  • 前言
  • 赛题内容
  • 视觉算法
    • 算法选择
    • 算法实现过程
      • 读入Train并创建模板
      • 读入Test数据
      • 图像预处理与视觉分拣
    • 实际效果
      • 指定读入
      • 顺序读入
  • 其他
    • UI界面设计
    • 数据库
  • DEMO分享

前言

智能制造赛是中国机械工程学会主办的中国大学生机械工程创新创意大赛的一项专业赛事,每年举办一届。本科生组别中,下设四个赛项:工业网络组网与网络安全、生产系统集成与调试、数字孪生与仿真和生产系统分析与优化。
其中,生产系统分析与优化赛题是对生产过程中产生的数据进行处理与分析,通过图像识别、机器学习、人工智能算法等,实现机器视觉质量检测、设备故障预测等分析与优化。

赛题内容

2020年第三届智能制造赛本科组的生产系统分析与优化赛题,是针对流水产线上不同小车PCB板,编写相应视觉分拣程序,对test数据集进行分拣。
已知三种PCB板如下图所示,可以看到0号PCB拥有LED小灯、霍尔传感器、LED数显;1号PCB仅保留霍尔传感器;2号PCB仅保留LED数显。以此为特征,进行视觉算法的撰写。

train数据集
模板匹配指的是通过模板图像与测试图像之间的比较,找到测试图像上与模板图像相似的部分,这是通过计算模板图像与测试图像中目标的相似度来实现的,可以快速地在测试图像中定位出预定义的目标。匹配的主要思路是使用一个目标原型,根据它创建一个模板,在测试图像中搜索与该模板图像最相似的目标,并寻找与该模板的均值或方差最接近的区域。

算法实现过程

读入Train并创建模板

使用os模块读入train文件,并划定相应区域作为模板,不同种类的小车PCB模板区域需要手动给定值进行截取。

读入Test数据

继续使用os模块读入test数据。

图像预处理与视觉分拣

对于目标检测图片使用中值模糊对其进行处理,以对椒盐噪声有很好的抑制作用。主要逻辑思路为:假定类型type为0,遍历先前读入的所有模板总计120张,进行模板匹配操作,采用的匹配方式cv2.TM_SQDIFF_NORMED,其特点为匹配值越接近0,匹配程度越高。经测试,设置匹配阈值为0.08。若相匹配,则检测模板下标位,以确定PCB板种类。

实际效果

根据工业上的需要,将分拣功能划分为指定读入和顺序读入(自动和半自动)。

指定读入

在指定读入模式下,用户可以通过搜索,选定存储在test文件夹中的PCB板图片,也可通过选取文件,手动指定图片进行视觉分拣操作。软件后台会记录匹配值、适配模板、识别名、识别时间、识别类型及图像路径并反映至用户UI。

顺序读入模式

其他

UI界面设计

使用pyqt5进行UI设计,可在pycharm中安装工具 QTdesigner进行辅助设计。

历史记录

DEMO分享

资源上传了一个DEMO供大家学习交流,界面相较于完全版有简化,但保留视觉分拣的核心功能。
https://download.csdn.net/download/qq_47842513/86341714

文章知识点与官方知识档案匹配,可进一步学习相关知识OpenCV技能树首页概览10909 人正在系统学习中

来源:攉胖高手

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年7月6日
下一篇 2022年7月6日

相关推荐