摘要:表面安装PCB板的自动检测是保证质量、减少制造废品浪费和返工的要求。本文研究定位和识别SMD检测图像中的多个对象的方法。表面安装器件检测的主要难点之一是元件放置的检测。元件放置缺陷如漏贴、偏位或者是错误的旋转元件是主要缺陷必须在回流焊之前或之后进行检测。本文的重点在于定位多对象的对像识别技术;使用灰色模型匹配来为一组元件创建通用的模板。研究中使用标准化互相关模板匹配方法并对限制搜索区域以减少计算量的方法进行测试。查找模板位置的方法使用了一个遗传算法,性能优越。最后列出了对典型的PCB图像的实验结果。
关键词:PCB制造;元件检测;模板匹配;遗传算法
5 搜索方法
模板匹配的搜索可以使用一个启化式的方法如遗传算法。结束搜索的判断条件由计算的NCC值决定。实验发现,0.65的NCC值是一个理想的表示找到模板匹配,停止搜索的结束条件。
5.1 遗传算法搜索
遗传算法是一个基于种群(population-based)的概率搜索算法。其使用模拟自然选择和生物遗传机制(mechanics)的算子。遗传算法开始建立一个解集的随机种群及计算每个成员的适应度值(如NCC值)。将适应度值作为依据,从种群中选择一个子集作为父母。这些父母组合产生新一代的解集称之为子代。将这些新集取代原种群的一些成员,然后计算新的适应度值。重复这样的选择和使用适应度值来产生新的种群的过程。当种群进化,也更接近最优解。
遗传算法搜索边缘像素(图5)执行时,使用一个indices determining边缘位置(x,y)坐标种群,和indices determining角度种群。不同的电阻对象在图像中的旋转角度可能不同。因此,定义了代表模板角度的角度变量。一般电阻的放置角度为0、90、180、270,所以角度向量限制为这四个值。只使用四个角度的缺点是实际的旋转角度可能是不确定的;优点是保持低的计算量。
通过在对应的边缘位置(x, y)坐标和角度计算NCC值,给每个父代(如边缘位置和角度indices)分配一个适应度值。使用Roulette-wheel selection来选择父代,然后对父代使用线性组合产生新的子代,用以下方程的计算。
(3)
其中a是值为0到1的随机权数。如果有需要,用一个宽度值来扩展子代的范围。
遗传算法能够好的解决单解问题,因此需要一个机制,当找到一个模板匹配时,让GA找到另一个解。当在源图像找到一个NCC值大于0.65(找到一个好的模板匹配)的位置时,在源图像将和模板一致的区域用一个反色的模板图像替换。一旦发生模板匹配,这个方法有效的封闭出一个区域。当找出所有元件,算法即结束。
使用遗传算法检测PCB过程如图7所示,用Matlap实现。首先,离线创建通用模板和设置对象的数量。然后,然后获取被检测PCB的图像,应用查找对象及他们的位置和旋转角度的算法。如果位置和旋转角度等于期望值,则被测PCB通过质量检查。
图7 遗传算法模板图像搜索流程图
6 应用和结果
本章测试和比较基于通用模板的不同的多对象识别技术。结果如表1所示。对标准化互相关(NCC)和最大可能模板匹配方法使用完全搜索非压缩源图像方法进行了比较。算法使用图3的通用模板对图2的6个5110和1001贴片电阻进行定位。结果表明NCC模板匹配方法比最大可能匹配方法快4倍多。使用最大可能方法,协方差矩阵的计算非常耗时。然后,对在一个预先确定的矩形区域,围绕每个已知元件目标点,使用局部搜索的方法进行了测试。这个方法大大减少了搜索时间。
如果元件错件和偏位,局部搜索方法就会失败。在这种情况下,需要对整个源图像进行搜索来查找错误放置的对象。之前讨论的Canny边缘压缩方法可以用来减少搜索点的数量,对完全搜索和遗传算法分别进行了实验并获得了结果。GA的模板位置搜索比完全搜索快6倍左右。
表1 结果
方法 |
执行时间(s) |
最大可能非压缩完全搜索 |
3303 |
NCC非压缩完全搜索 |
737.2 |
NCC Canny边缘压缩完全搜索 |
230.8 |
NCC对象目标点局部搜索 |
47.5 |
NCC Canny边缘压缩GA搜索 |
39.5 |
为了找出一个最优参数来使遗传算法的执行时间最小化,进行了实验统计分析。初始实验确定可控参数的范围,如种群大小、重组百分比、线性重组宽度、突变百分比。然后进行两组实验获得两组值的范围。第一组实验使用种群值160、200和240,重组百分比值为75%、85%和95%,突变百分比值为15%、25%和35%,线性重组宽度为0,0.1和0.2。第二组实验使用种群值80、120和160,重组百分比值为55%、65%和75%,突变百分比值为25%、35%和45%,线性重组宽度为0,0.1和0.2。
第一组实验中最优的参数是种群大小为160,重组合百分比为75%,突变百分比为35%,线性重组合宽度为0。第二组实验中最优的参数是种群大小为160,重组合百分比为75%,突变百分比为45%,线性重组合宽度为0。两组实验中的群大小、重组合百分比和线性重组合宽度的最优参数相同。唯一不明确的是突变百分比的值,进一步的实验显示35%的突变率是最优的参数。
图8显示了待定位对像总的数量和当前已经定位对象数量的变化过程。其中N的定义为:
(4)
其中:
NTOTAL=待定位对象总的数量。
NFOUND=已定位对象的数量。
图8显示了N减小到0的一系列的阶段。在第一个阶段有一个新的对象被检测出来。当所有对象都都检测出来,遗传算法结束,返回每个元件的位置和旋转角度。角度限制在0、90、180和270四个角度内。可以根据这些算法返回的值进行质量检查。当元件的旋转角度不是限制的四个角度时,算法产生的互相关值不会大于0.65,元件就识别不了。因此,识别对象的总数可以用于质量检查。图9显示了使用遗传算法多对象识别方法定位的6个元件的源图像。
图8 反复(iteration)次数和对像定位关系
图9 使用遗传算法识别和定位六个元件的源图像
关于这个方法可量测性的主要因素是通用模板的建立。在本研究中,通用模板是通过从源图像提取的大小相同的6个元件的模板建立的,这些元件的标签特征有差别。因此,方法只能搜索6个对象。图10显示了待搜索对象的数量和对应的平均搜索时间。图显示了单独搜索和同时搜索的结果。同时搜索是同时对所有对象搜索,单独搜索是每次只搜索一个对象。结果显示了当对象数量增加,同时搜索方法有更优的平均时间,是一个更好的多对象识别方法。
围绕对象点的NCC局部区域搜索方法表现很好的性能,当其是在假设对象点位置预先知道前提下的。GA方法的优点是,因为其是一个对边缘的全局搜索,所以它和摄像机的对准(alignment)没有关系。这点是很重要的,因为在生产环境下不能完全保证摄像机是对准的。
图10 遗传算法测量结果
7 结论
本文设计了多对象识别方法,并应用这个方法查找PCB上贴片元件的位置和角度,以便进行质量控制检查。基本的方法是基于对一组元件建立一个通用灰色模型模板。搜索可以限制在围绕已知对象点的局部区域或者,如果需要对整个源图像进行搜索来查找错件,则限制搜索在Canny边缘位置。
如果元件对象点预先知道,则完全搜索围绕对象点的连续小区域来寻找模板匹配是很有效的。如果需要搜索整个图像,则限制搜索区域在Canny边缘可以减少搜索时间。
当查找出所有元件,遗传算法结束,搜索性能比对同一搜索区域的完全搜索方法快6倍,也比围绕已知对象点的局部完全搜索方法快。因为遗传算法方法搜索整个图像的边缘,所以和图像的对准无关(而对通过比较两个图像来检测缺陷是必需的)。本文研究的方法也可以应用以其它应用包括机器视觉系统和卫星监测。
深圳宏力捷推荐服务:PCB设计打样 | PCB抄板打样 | PCB打样&批量生产 | PCBA代工代料