点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

PCB产品AOI检测,需要将模版与实际图像对齐,因此需要定位功能。定位功能就需要选取定位核,定位核的提取方法分为手动和自动。基于人眼视觉特征对区域敏感度判断的手动提取法存在很大的局限性,且当需要较多定位核时建模复杂,因此目前广泛应用的是自动提取法。

PCB由于高精度成像和高标准检测需求,决定了一个料号可能需要几百甚至上千个定位核,所以需要实现自动选取定位核的功能;检测时料号是未知的,且切换比较频繁,所以无法离线选取定位核,因此算法要求满足实时性。

1 功能说明

自动定位核选取模块主要功能如下:

1)支持多个相互独立的全功能型定位核选取

图1 全功能型定位核演示

2)支持组合定位核的选取

图2 组合型定位核演示

3)支持单向(任意方向)定位核的选取

图 3 单向定位核演示

4)增加局部唯一性验证,支持两种不同的定位模式,NCC和Shape

2 算法设计

根据常见的定位算法的原理可知,选取定位核应选择:

1)梯度信息丰富的地方,并且该梯度信息在水平和垂直方向都有分量;

2)在一定范围内满足唯一性。

 

图 4 彩色图及对应的梯度图

PCB产品的模板图像一般由Gerber或ODB++文件解码生成,因此自动选定位核的输入图像一般为二值图,图案由直线和弧形组成,其所对应梯度信息如下图所示:

       

图5 PCB二值图及对应的梯度图

可见,适合选取定位核的位置如下图所示:

图6 可选为定位核的位置

2.1设计概要

在定位核的选取过程中,遵循的原则如下:

  • 优先选择满足条件的全功能型定位核;

  • 若无全功能型定位核,则筛选出满足条件的组合定位核;

  • 若无组合定位核,则筛选出单向定位核。

2.2 算法流程   

2.2.1 图像降采样

图像降采样,即采样点数减少。对于一幅N*M的图像来说,如果降采样系数为k,则即是在原图中每行每列每隔k个点取一个点组成一幅图像。

采取降采样的目的是为了降低处理时间。

2.2.2 提取亚像素轮廓XLD

降采样后的图像

亚像素轮廓图

XLD代表亚像素精度的边缘轮廓和多边形,并不是沿着像素与像素交界的地方,而是经过插值之后的位置。

2.2.3 获得备选定位核

全功能型定位核

单方向定位核

实现流程:

  • 将亚像素轮廓XLD转为多边形轮廓XLD(Ramer算法);

 亚像素轮廓XLD    

 

多边形轮廓XLD    

  • 遍历多边形轮廓XLD,依次获取多边形轮廓对应的N个离散点、N-1个角度,并计算当前离散点即拐点对应的夹角Angle。这些离散点就是各个疑似定位核的中心点;

离散点即拐点图示

  • 通过拐点夹角Angle计算各自的正交值Orthogonality,超过设定的分值加入待选的全功能型定位核中,否则加入到单向定位核中,其中:

Orthogonality = abs(Angle-ORTHANGLE)/ ORTHANGLE。其中:ORTHANGLE = PI/2;

2.2.4 全功能型定位核选取

实现流程:

  • 按照正交分值从大到小排序;

  • 依次验证唯一性(在一定范围内进行模板匹配,判断找到的数目是否为1),找到要求的数目即返回;

2.2.5 组合型定位核选取

若没有找到符合条件的全功能型定位核,或找到的数目不够,则选取满足条件的组合型定位核。

实现流程:

  • 对剩余的定位核进行排序(全功能型定位核按照正交值从大到小排序,单向定位核按照水平、垂直、任意方向的类别依次排序);

  • 找到所有符合组合型定位核条件的定位核组(两个),满足以下条件之一即可:

1 定位核组中至少有一个全功能型定位核;

2 若均是单向定位核,则根据两者的方向角度差计算正交分值,大于等于设定的正交值。

  • 依次验证唯一性(在一定范围内进行模板匹配,判断找到的数目是否为1),找到要求的数目即返回;

单向定位核判断是否满足组合条件的流程如下:

Step1:单向定位核按照水平、垂直、任意方向的类别依次排序,类别相同则按照归一化后的角度从小到大排序;

Step2:去除相邻角度相同的定位核(仅保留一个),得到不同方向的定位核组;

Step3:遍历定位核组,两两计算对应的夹角,筛选出满足正交分值的定位核组对(两个);

Step4:按照每组对的正交分值进行排序;

Step5:遍历所有的组对,每组找到对应的所有的单向定位核,依次计算定位核的距离是否满足最小值,若满足直接返回,否则找到为止。

2.2.6 单向定位核选取

实现流程:

单向定位核按照水平、垂直、任意方向的类别依次排序,返回第一个。

3 模块输出

可将模块封装成独立的dll,接口函数如下:

类型

函数名

功能说明

参数设置

SetSampleStep

设置抽样步长

SetOffset

设置搜索范围

SetLocationRotate

设置旋转相关参数(验证定位核局部唯一性)

SetKernelNum

设置找到定位核的最大数目

SetLocationSize

设置定位核的尺寸

SetMinScore

设置找到定位核的最小分数

运行

Execute

执行定位核的搜索

结果

GetMainKer

获得找到的定位核相关信息


参数界面如下所示:

本文仅做学术分享,如有侵权,请联系删文。

推荐阅读:

  • 专辑|相机标定

  • 专辑|3D点云

  • 专辑|SLAM

  • 专辑|深度学习与自动驾驶

  • 专辑|结构光

  • 专辑|事件相机

  • 专辑|OpenCV学习

  • 专辑|学习资源汇总

  • 专辑|招聘与项目对接

  • 专辑|读书笔记

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近1000+星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

缺陷检测 | PCB AOI质量检测之自动定位核选取算法相关推荐

  1. pcb成型板aoi检测_缺陷检测 | PCB AOI质量检测之自动定位核选取算法

    PCB产品AOI检测,需要将模版与实际图像对齐,因此需要定位功能.定位功能就需要选取定位核,定位核的提取方法分为手动和自动.基于人眼视觉特征对区域敏感度判断的手动提取法存在很大的局限性,且当需要较多定 ...

  2. 加速度和陀螺仪 日常活动识别 跌倒检测_巢湖房屋安全检测,幼儿园房屋质量检测新趋势-房屋鉴定专业团队...

    玻璃幕墙检测说法:千分之三的自率?在历年的玻璃幕墙安全事故中,玻璃自占了很大比率,往往生产厂家或者所谓行业专家会告诉媒体朋友,幕墙钢化玻璃是允许千分之三左右的"自率".4 超声回弹 ...

  3. 机器视觉框架源码、视觉检测、AOI视觉检测、机械手定位、点胶机、插件机、激光切割机、视觉螺丝机

    机器视觉框架源码.视觉检测.AOI视觉检测.机械手定位.点胶机.插件机.激光切割机.视觉螺丝机.视觉贴合机.激光焊接机.视觉裁板机--,C#联合Halcon混合编程源码,插件式开发 ,带手眼标定,相机 ...

  4. pcb成型板aoi检测_基于AOI技术的PCB常见质量缺陷检测

    . . 优质资料 . . 基于 AOI 技术的 PCB 常见质量缺陷检测 摘 要:印制电路板简称 PCB ,作为电子元器件的支 撑体和电子元器件电气连接的载体,是重要的电子部件,由 于它采用的是电子印 ...

  5. 电子辅料检测,辅料质量检验设备的特点及工作原理介绍

    作用原理: 电子辅料质量检测机适用于模切辅助材料,线圈,标签和小型辅助质量检测设备的质量检测和测试,并具有复卷功能.收料操作方便,效率高,质量检查速度快.检查台的倾斜表面适合人体的正常视角,并且质量检 ...

  6. 材料员报考建筑八大员报考工程建筑材料的质量检测及检查环节

    本文原创作者:whzfjy2008(武汉梓枫) 总结经验教训,从我国的建筑材料检测方面出发,其主要问题主要表现为:(1)不合格的建筑材料大量涌入工地;(2)检测人员水平参差不齐;(3)建筑材料检测方法 ...

  7. pcb成型板aoi检测_【技术】7种PCB板常用检测方法

    原标题:[技术]7种PCB板常用检测方法 为了保证PCB板的生产质量,厂家在生产的过程中经过了多种检测方法,每种检测方法都会针对不同的PCB板的瑕疵.主要可分为电气测试法和视觉测试法两大类. 电气测试 ...

  8. pcb成型板aoi检测_通过自动光学检测(AOI)实现PCB高速检测

    文/刘冶,Active Silicon亚太地区销售经理 PCB印刷电路板是所有电子电路的关键基础.随着科学技术的进步以及各种高端应用需求,迫使工程师需要设计并开发更复杂的PCB,以满足不断发展的技术应 ...

  9. HALCON示例程序pcb_inspection.hdev检测pcb印刷缺陷

    HALCON示例程序pcb_inspection.hdev检测pcb印刷缺陷 示例程序源码(加注释) 关于显示类函数解释 read_image (Image, 'pcb') dev_close_win ...

最新文章

  1. 2021年大数据常用语言Scala(十四):基础语法学习 数组  重点掌握
  2. Xilinx FPGA部分重配置操作流程
  3. QLive EULA
  4. python面向对象编程实例爬虫_​Python面向对象编程⑭
  5. SLAM GMapping(5)运动模型
  6. 一般通话记录能保存多少条_打新债中签率一般为多少 中一次新债能赚多少
  7. Springboot 集成Swagger在线调试
  8. w3cschool oracle,AJAX 数据库 | w3cschool菜鸟教程
  9. 银行业应用系统监控的维度与目标
  10. Javascript(八)javascript页面重定向
  11. 企业网站建设前如何进行网站策划
  12. 【中间件】pika安装及性能测试
  13. .htaccess wp博客 静态网页 永久链接一步步来
  14. 7-2 挑选苹果 (40分)
  15. 新神奇传说补丁_如何在神奇宝贝Go中捕捉传说中的神奇宝贝
  16. 各种各样的分布函数-Γ分布
  17. 个体功能网络分区的分割方法
  18. PLC编程软件在线调试程序的方法
  19. 声卡loopback有什么用_解读声卡数据背后的秘密
  20. 举个栗子~Alteryx 技巧(1):快速安装和激活 Alteryx Designer

热门文章

  1. Horizon Is Easy, Horizon Is Complex
  2. ExtJs中column与form布局的再次领悟
  3. MySQL优化篇:explain性能分析
  4. 【万字长文】吃透负载均衡
  5. 阿里二面:为什么要分库分表?
  6. 深入浅出 ZooKeeper
  7. 系统架构设计:进程缓存和缓存服务,如何抉择?
  8. 从入职快手3年股票3000w说起
  9. 【高并发】ReadWriteLock怎么和缓存扯上关系了?!
  10. 牛逼了!8000页Java 核心知识点+面试题整理,超全!