150 likes | 346 Views
Automated inspection of PCB components using a genetic algorithm template-matching approach. 基于遗传算法模板匹配的 PCB 元件自动检测. A. J. Crispin & V. Rankov Int J Adv Manuf Technol (2007). 摘要.
E N D
Automated inspection of PCB components using a genetic algorithm template-matching approach 基于遗传算法模板匹配的PCB元件自动检测 A. J. Crispin & V. Rankov Int J Adv Manuf Technol (2007)
摘要 • 表面安装PCB板的自动检测是保证质量、减少制造废品浪费和返工的要求。本文研究定位和识别SMD检测图像中的多个对象的方法。表面安装器件检测的主要难点之一是元件放置的检测。元件放置缺陷如漏贴、偏位或者是错误的旋转元件是主要缺陷必须在回流焊之前或之后进行检测。本文的重点在于定位多对象的对像识别技术;使用灰色模型匹配来为一组元件创建通用模板。研究中使用标准化互相关模板匹配方法并对限制搜索区域以减少计算量的方法进行测试。查找模板位置的方法使用了一个遗传算法,性能优越。最后列出了对典型的PCB图像的实验结果。
1 引言 • 生产步骤 单面表面安装板的主要生产步骤如图1所示。步骤包括在PCB板上放置焊膏、在正确位置放置元件和将PCB板放入烤炉焊接元件到焊盘上(回流焊)。双面板需要在一个更复杂的装配过程中将穿板元件插到板上。用粘合剂在板的两面固定SMD元件,然后使用峰波焊将元件焊接在板上。 • 导致缺陷的原因 元件的放置是自动“取-放”的过程,使用一个真空管来从喂料带上拾取元件并将元件放置到板上。真空吹气的时候可能存在元件没有放下来(吹气太弱)或者元件被吹离位置(吃气太强)的情况;X-Y平台机械状况不好时会导致位置偏移的问题。元件放置缺陷包括: (1)漏贴; (2)偏位 (3)偏转 回流焊过程中也会因为焊料特性和气体释放作用引起元件的升起和翻转。
2 模板匹配 • 使用标准化互相关模板匹配 模板匹配是一个在一个源图像中识别与另一个称之为模板图像的较小的子图像匹配的特征的方法,经常被用于对象识别。基本的模板匹配算法是:模板图像在源图像上移动并在每个位置计算灰度相关度,灰度相关度使用像素亮度来估计模板图像和源图像区域之间的相似度。一般地,在模板匹配算法中使用标准化互相关(NCC)如下式: (1) 其中f(x,y)是源图像中灰阶像素亮度矩阵; 是与模板图像相一致区域的源图像的平均灰阶亮度值; t是模板图像的灰阶像素亮度矩阵; 是模板图像的灰阶像素亮度平均值; c(u, v)的值范围从-1到1并且原图像和模板图像的比例变化与其无关。c(u, v)的最大值的地方即模板和源图像最匹配的地方。
3 灰色模型模板 • 建立通用灰色模型模板 图2是一个7475集成芯片的PCB源图像和六个贴装电阻。要求是要将7475下面的6个元件进行定位和识别,6个元件是5110或1001贴片电阻。注意到其中一个5110电阻相对其它旋转了180度。6个元件的大小和形状相同,但灰度值不一样,因为元件上面的印刷字符不一样,及元件的生产厂家不一样产品颜色也有区别等。不一致的照明会在原图像产生阴影区域。 方法中使用一组元件的模板图像来建立一个灰色模型模板。这个通过线性组合一组模板图像来平均每个元件图像之间的灰阶亮度值的统计差异。方法从源图像中的六个元件中提取相同大小的模板图像并计算每个图像对应像素值的平均值。图3显示使用从图2中提取六个元件的模板图像创建的通用灰色模型模板图像。
图2 PCB贴装元件图像 图3 通用模板 图4 最大可能性图像
3 灰色模型模板 • 最大可能性搜索方法 通用模板可以用来搜索区域的最大可能性图像如图4所示。最大可能性X可以通过下式计算: (2) 其中 是协方差矩阵的逆矩阵。协方差矩阵根据对应于模板矩阵的源图像区域像素亮度矩阵及模板像素亮度矩阵计算。在方程中[f-t]转置矩阵是1Xn矩阵,乘以 (nxn矩阵)得出一个1Xn矩阵。再将这个矩阵乘以nx1的[f-1]矩阵得到一个数量值X。X值的范围为0到1。X趋于0,代表模板和对应源图像匹配可能性很高。 在源图像上移动图3所示的通用模板并在每个位置计算协方差和使用式2计算最大可能性,便产生了最大可能性图像。同时也创建对模板旋转一定角度的最大可能性搜索区域图像。图4显示了许多黑色的区域,表示和要定位的元件在图像上的位置匹配可能性很高。六个黑色区域对应贴片电阻的位置,可见计算的通用的模板能够很好的在一个图像上查找多对象。
4 限制搜索区域 • Canny 边缘检测 虽然标准化互相关是应用于在图像中检测模式的很好的技术,但是其基于加法和乘法操作,这使得在搜索整个图像是很费计算时间。 源图像的边缘滤波可以用来将搜索区域限制在边缘位置。通过只在边缘位置搜索图像,减少NCC需要执行的计算量。明显和不明显的边缘都需要检测,以便能够进行精确的模板定位。Canny边缘算法,对比其它边缘滤波如Sobel,够很好的检测不明显的边缘。Canny滤波是对其它边缘检测方法的改进。Canny方法查找边缘时,首先使用高斯滤波平滑图像,然后执行梯度计算(gradient calculation),使多像素宽边缘减少为单像素边缘(非最大压缩non-maximum suppression),应用低的和高的边缘强度阈值,最后选择所有在低阈值之上和在高阈值之上的边缘相连的边缘(finally accepting all edges over the low threshold that are connected to edges over the high threshold)。图5显示了Canny边缘滤波后的源图像。
4 限制搜索区域 • NCC搜索 从源图中像中提取一个所有边缘位置的向量并使用通用灰色模型模板对每个边缘点计算NCC系数。如图6所示,图中有6个峰值对应创建灰阶模板的6个电阻。当执行相似计算时,将模板图像的左上角作为参考点。 图5 Canny边缘检测 图6 Canny边缘象素的标准化互相关系数
5 遗传算法搜索 • 遗传算法是一个基于种群(population-based)的概率搜索算法。其使用模拟自然选择和生物遗传机制(mechanics)的算子。遗传算法开始建立一个解集的随机种群及计算每个成员的适应度值(如NCC值)。将适应度值作为依据,从种群中选择一个子集作为父母。这些父母组合产生新一代的解集称之为子代。将这些新集取代原种群的一些成员,然后计算新的适应度值。重复这样的选择和使用适应度值来产生新的种群的过程。当种群进化,也更接近最优解。 • 遗传算法搜索边缘像素执行时,使用一个indices determining边缘位置(x,y)坐标种群,和indices determining角度种群。不同的电阻对象在图像中的旋转角度可能不同。因此,定义了代表模板角度的角度变量。一般电阻的放置角度为0、90、180、270,所以角度向量限制为这四个值。只使用四个角度的缺点是实际的旋转角度可能是不确定的;优点是保持低的计算量。
5 遗传算法搜索 • 通过在对应的边缘位置(x, y)坐标和角度计算NCC值,给每个父代分配一个适应度值并选择父代,然后对选择的父代使用线性组合产生新的子代,用以下方程的计算。 (3) • 其中a是值为0到1的随机权数。如果有需要,用一个宽度值来扩展子代的范围。 • 当在源图像找到一个NCC值大于0.65(找到一个好的模板匹配)的位置时,表示大这个位置找到模板匹配。当找出所有元件,算法即结束。 • 使用遗传算法检测PCB过程如图7所示,用Matlap实现。首先,离线创建通用模板和设置对象的数量。然后,然后获取被检测PCB的图像,应用查找对象及他们的位置和旋转角度的算法。如果位置和旋转角度等于期望值,则被测PCB通过质量检查。
6 实验结果 图9 使用遗传算法识别和定位六个元件的源图像
7 结论 • 本文设计了多对象识别方法,并应用这个方法查找PCB上贴片元件的位置和角度,以便进行质量控制检查。基本的方法是基于对一组元件建立一个通用灰色模型模板。搜索可以限制在围绕已知对象点的局部区域或者,如果需要对整个源图像进行搜索来查找错件,则限制搜索在Canny边缘位置。 • 如果元件对象点预先知道,则完全搜索围绕对象点的连续小区域来寻找模板匹配是很有效的。如果需要搜索整个图像,则限制搜索区域在Canny边缘可以减少搜索时间。 • 遗传搜索算法,搜索性能比对同一搜索区域的完全搜索方法快6倍,也比围绕已知对象点的局部完全搜索方法快。因为遗传算法方法搜索整个图像的边缘,所以和图像的对准无关(而对通过比较两个图像来检测缺陷是必需的)。本文研究的方法也可以应用以其它应用包括机器视觉系统和卫星监测。