中船重工鹏力(南京)智能装备系统有限公司
摘要:在印刷电路板(PCB)的自动光学检测设备(AOI)中,标志点(Mark点)不可或缺。PCB上料时会出现偏移和旋转,元器件检测的图像需要进行矫正对准,需要通过Mark点对PCB的元器件起到辅助定位、修正的作用,提高元器件检测的精度。本文主要研究两种常用的Mark点定位方法,以及Mark点定位前的图像预处理方法。通过图像去噪、图像锐化和直方图均衡化对Mark点图像进行预处理;对圆形Mark点采用圆拟合方式、对异形或丝印Mark点采用NCC模板匹配的方式进行识别定位,输出定位坐标。该识别方法目前已得到PCB-AOI上应用。
关键词:PCB检测;Mark点;圆拟合算法;NCC模版匹配;图像预处理
0 引言
在印刷电路板(PCB)的自动光学检测设备(AOI)中,标志点(Mark点)的识别不可或缺。PCB在上料时会出现偏移和旋转,元器件检测的图像需要进行矫正对准,此时需要通过Mark点对PCB的元器件起到辅助定位、修正的作用,提高元器件检测的精度。
PCB板在设计时,通常会在板上设置定位标识作为Mark点使用,常用的有圆形、矩形、三角形和十字线形。但基于使用便利性或板子的多样性,也会采用PCB板上固定的丝印、螺孔等作为Mark点识别。
本文主要研究两种常用的Mark点定位方法,以及Mark点定位前的图像预处理方法和定位后的坐标转化和图像修正研究,从而应用到PCB-AOI设备中。整体的Mark点的校准流程如下:
图 Mark点校准流程
本文针对PCB-AOI中,Mark点校准流程中的图像预处理和Mark点定位部分做着重介绍。
1 Mark点图像预处理
图像预处理的目的是改善图像质量、减少噪声、突出特征,为后续Mark点定位提供更好的图像输入。Mark点图像预处理方法主要包括去噪、锐化、直方图均衡化等。
1.1 图像去噪
图像传感器长时间工作,会产生热噪声等,图像需进行图像去噪处理。常见的图像去噪方法有均值滤波、中值滤波和高斯滤波等。为了保证Mark点图像中Mark点的边缘纹理能够很好保留,采用双边滤波的方法。
双边滤波作为一种边缘保护滤波方法,是在高斯滤波的基础上发展而来的。高斯滤波是一种对邻域范围内的像素值分别赋以不同的空间位置权重,加权求平均后求得待处理点的像素值的滤波方法。由于高斯滤波只考虑像素间空间的临近度关系,这使得滤波后会丢失图像边缘信息。图像边缘信息可以是纹理等细节信息或色彩对比度较大的位置。双边滤波在此基础上加入像素相似度的考虑,通过增加像素的相似度权重去解决边缘保持问题。其公式可描述为:
如图为双边滤波前后效果,可以看出,Mark点边缘特征能得以保留,噪声点部分得以平滑:
图 无处理Mark点图像(左)和双边滤波后Mark点图像(右)
1.2 图像锐化
为了使图像的边缘更加清晰,采用图像锐化的方法突出和加强图像中景物的边缘和轮廓,使图像的突变部分变得更加明显。
拉普拉斯算子是图像锐化处理中很重要的算法。拉普拉斯是一种二阶微分算子,其通过对邻域中心像素的四方向或八方向求梯度,再将梯度相加起来判断中心像素灰度与邻域内其他像素灰度的关系,最后通过梯度运算的结果对像素灰度进行调整。它与一个边缘方向无关,对孤立像素的响应要比对边缘或线的响应更强烈。其公式可描述为:
对于数字图像,上式可采用卷积的形式表示,其卷积核可如下:
1.3 直方图均衡化
直方图均衡化是一种简单有效的图像增强技术。根据直方图的形态可以判断图像的质量,通过调控直方图的形态可以改善图像的质量。其将原始图像通过函数变换,调控图像的灰度分布,得到直方图分布合理的新图像,以此来调节图像亮度、增强动态范围偏小的图像的对比度。其具体方法如下:
Step1 定义原图的灰度级总数为L,灰度级为;
Step2 统计灰度级中每个像素在整张图像中的个数;
Step3 计算每个灰度级占图像中的概率分布,定义第k级灰度值概率为,n为像素数;
Step4 计算累积分布函数;
Step5 计算均衡之后灰度值,并将其映射回原像素坐标的像素值。
通过直方图均衡化,可对明暗不均的Mark点图像亮度进行调整,增强对比度,提高Mark点图像质量,为后续识别定位做准备。
2 Mark点识别定位
对于图像增强后的Mark点图像,使用算法对其进行定位,对于圆形Mark点,采用圆拟合算法;对于异形Mark点或者作为Mark点功能使用的丝印等,采用模版匹配算法进行识别。下面介绍这两种方法。
2.1 基于最小二乘法的圆拟合算法
对于圆形Mark点,采用圆拟合算法求取圆心坐标。常用的圆拟合算法有随机圆拟合、重心法、霍夫变换圆检测、最小二乘法等。本文采取最小二乘法进行圆拟合
最小二乘法是一种常用的数学拟合圆方法,它通过边缘轮廓中的所有点,使测量值与真实值差值的平方和最小,来求出最优解。最小二乘法通常可用于最优化和曲线拟合上面,也可以用最小二乘法的方法拟合圆。假设提取到的边缘轮廓点集为
,圆的方程为:
用最小二乘法的方法拟合圆,则使得函数最小:
令:
则简化后:
此时只需要对其求偏微分即可,即可得到圆心坐标和半径。效果如下图:
图 Mark点原图(左)和最小二乘法圆拟合结果(右)
2.2 NCC模版匹配算法
对于异形Mark点或者作为Mark点功能使用的丝印等,通常采用NCC(Normalized Cross-Correlation)模版匹配算法进行识别。
NCC算法即基于灰度归一化互相关的模板匹配算法,是一种基于灰度值的算法,通过计算模板与目标图像之间的灰度值的相关性来识别图像中的目标对象。NCC基于灰度值的相似性,并通过归一化处理来消除亮度和对比度的影响。在计算互相关时,除以标准差的乘积,以确保结果在[0, 1]范围内。越接近1表示目标图像的匹配度越高,从而判断匹配的好坏。起计算公式如下:
其中,为匹配值,为目标图,为模板图,为匹配窗的大小。将匹配窗在目标图像上滑动,计算其被滑动窗口所覆盖区域的匹配度,遍历整张目标图像,在所有的结果中找到匹配度最高的区域作为匹配结果。
如图为NCC模板和待检测图中Mark点通过NCC匹配结果
图 Mark点模板(左)和NCC模板匹配结果(右)
3 结论
本文通过研究Mark点定位前的图像预处理方法,以及Mark点识别定位算法,讨论PCB-AOI设备中的Mark点校准。通过图像去噪、图像锐化和直方图均衡化对Mark点图像进行预处理;对圆形Mark点采用圆拟合方式、对异形或丝印Mark点采用NCC模板匹配的方式进行识别定位,输出定位坐标。目前,该识别方法目前已得到PCB-AOI上应用。
参考文献:
[1]周欣,魏海坤,张侃健等.PCB板Mark点的定位算法研究[J].工业控制计算机,2018,31(04):111-112+115.
[2]程德强,李硕,薛阳等.AOI技术中Mark点定位算法的研究[J].电视技术,2013,37(15):48-51.DOI:10.16280/j.videoe.2013.15.051
[3]张雪利.双边滤波加速研究及其应用[D].南京理工大学,2019.DOI:10.27241/d.cnki.gnjgu.2019.001297
[4]董晶.模板图像快速可靠匹配技术研究[D].国防科学技术大学,2015.
[5]吴泽楷,李恭强,王文涛等.基于改进圆拟合算法的激光光斑中心检测[J].激光与红外,2016,46(03):346-350.
[6]黄力峰,汪伟,吴南星.基于最小二乘原理的圆拟合及误差评定算法研究[J].机械工程与自动化,2020,(02):4-6.
[7]王恩国,吴树范.NCC边缘信息快速匹配算法[J].电子技术,2017,46(12):19-21.
[8]杨通钰,彭国华.基于NCC的图像匹配快速算法[J].现代电子技术, 2010, 33(22): 107-109.DOI: 10.16652/j.issn.1004-373x.2010.22.051