一种印刷电路板检测中的图像特征点快速匹配算法的制作方法

文档序号:17118223发布日期:2019-03-15 23:32阅读:408来源:国知局
一种印刷电路板检测中的图像特征点快速匹配算法的制作方法

本发明涉及电路板检测领域,更为具体的说涉及一种印刷电路板检测中的图像特征点快速匹配算法。



背景技术:

在制造超薄、高密度的电子元件时,自动光学检测技术已经代替人工检测成为主流,这给产品质量检测带来了新的技术挑战[1]。在对pcb图像缺陷检测过程中,图像匹配是其中重要的一步。目前常见的图像匹配算法大致分为两类:基于区域的算法和基于特征的算法。前者主要利用计算模版图像与待测图像像素信息之间的相关程度,然后通过搜索策略来找到图像相似度最高的区域来达到匹配的目的。该算法通过遍历能够得到图像的整个拓扑结构和灰度分布,但是遍历搜索带来的就是过大的计算量,同时易受噪声干扰。基于特征的算法关键在于寻找模版图像与待测图像的特征,然后通过一定的规则对一些错误特征进行筛选,从而实现匹配。基于特征的算法的特征数据量较少,在实时性要求高的自动光学检测中具有明显的优势。

基于特征点的匹配关键在于设计一个一个较好的特征描述算法和检测特征速度较快的算法。张春美和其他学者评估了harris,sift和surf]等一些特征点的优缺点。结果表明,fast算法简单快速,检测时间短,可以快速确定特征点,但不显示特征点描述信息。surf算法具有参数估计准确,计算量小的优点,但获得的匹配点数较少。综上,传统印刷电路板图像配准过程中存在匹配耗时和错配率较高的问题,传统的harris,再到sift、susan、surf算法特征检测时间消耗很大,实时性不好,降低了系统性能。



技术实现要素:

本发明目的在于解决传统pcb图像匹配过程中特征点不足,匹配时间过长,算法可靠性低以及传统算法中精度低,实时性差的问题,公开一种有效地提高了算法的可行性和图像匹配的准确率和效率的印刷电路板检测中的图像特征点快速匹配算法,具体由以下方案实现:

所述印刷电路板检测中的图像特征点快速匹配算法,包括如下步骤:

步骤1)使用fast算法快速提取大量特征点;

步骤2)通过surf算法进行特征点的矢量描述;

步骤3)通过k均值聚类算法减少特征点的数量获得最佳匹配点。

所述印刷电路板检测中的图像特征点快速匹配算法的进一步设计在于,所述步骤1)在特征点提取与步骤2)的特征点描述过程中使用64维向量进行surf描述子的构造,surf描述子的构造过程为:通过计算特征点的设定领域内的水平haar小波特征和垂直haar小波特征来确定来形成64维特征向量。

所述印刷电路板检测中的图像特征点快速匹配算法的进一步设计在于,所述步骤1)包括如下步骤:

步骤1-1)从图片中选取一个像素p,将该像素p的亮度值设置为ip,并且选择一个合适的阈值t;

步骤1-2)以该像素p为中心选取一个离散的bresenham圆,在该圆边界上有16个像素,若在这个16个像素的圆上有n个连续的像素点的像素值比ip+t大,或者比ip-t小,则判定满足条件的像素点为特征点;

步骤1-3)计算每个特征点对应的响应值v,v设定为像素点p以及相邻的16个像素点的绝对偏差的和,并比较相邻特征点的v值,将v值较低的对应的特征点删除。

所述印刷电路板检测中的图像特征点快速匹配算法的进一步设计在于,所述步骤2)中通过surf算法进行矢量描述具体包括:

步骤2-1)将特征点作为中心点,并在半径为6s的邻域内聚合haar小波响应,其中s表示该中心点所在的尺度,根据所述响应值分配加权系数,平衡因使用盒式滤波器近似代替高斯滤波器所带来的误差;

步骤2-2)在该特征点周围,统计60度扇形内所有点的水平haar小波特征和垂直haar小波特征总和;

步骤2-3)将60度扇形区域以一定间隔进行旋转,将统计的小波特征总和最大值的扇形方向作为该特征点的主方向;

步骤2-4)在特征点周围取一个20s的正方形框,将其拆分为16个子区域,并在每个子区域中统计25个像素的水平方向和垂直方向haar的小波特征v4,所述小波特征v4根据式(1)计算;

v4=(∑dx,∑|dx|,∑dy,∑|dy|)(1)

其中,∑dx表示水平方向值之和,∑|dx|表示水平方向绝对值之和,∑dy表示垂直方向值之和,∑|dy|表示垂直方向绝对值之和。

所述印刷电路板检测中的图像特征点快速匹配算法的进一步设计在于,所述步骤3)中通过k均值聚类算法减少特征点的数量,并筛选出最佳的匹配点具体包括如下步骤:

步骤3-1)从即将进行匹配的两幅图中各自特征点集合s1和s2中随机选择k个特征点作为初始聚类中心,所述k个特征点分别为a1,a2,a3,…,ak;

步骤3-2)根据公式(2)获得从每个特征点到聚类中心的距离,分成不同的集群;

其中,{q1,q2,...,qm}是一个训练集,其中每个输入qi∈rn,1≤j≤k;

步骤3-3)根据公式(3)和公式(4),重新计算每个聚类的聚类中心,并且重复步骤2-b)和步骤2-c),直到距离中心点的聚类元素不大于λ;

步骤3-4)根据获得的聚类中心,根据式(5)选择一个方形区域点ai(x,y)作为中心:

ai(x±δx,y±δy)∈z(n)(5)

步骤3-5)遍历所有特征点,将所有特征点进行了聚类划分。

所述印刷电路板检测中的图像特征点快速匹配算法的进一步设计在于,k值设定为4。

本发明的有益效果:

本发明的印刷电路板检测中的图像特征点快速匹配算法结合fast,surf和k-means算法的优点,解决了传统pcb图像匹配过程中特征点不足,匹配时间过长,算法可靠性低的问题,并有效地提高了算法的可行性和图像匹配的准确率和效率。

附图说明

图1是本发明的印刷电路板检测中的图像特征点快速匹配算法的流程示意图。

图2是fast特征点示意图。

图3是选取特征点的主方向的示意图。

图4构造surf特征点描述子的示意图。

图5是第一组提取特征点的数量和时间的比较示意图。

图5a为第一组比较的原图。

图5b为第一组比较采用fast-1提取特征点的效果示意图。

图5c为第一组比较采用surf-1提取特征点的效果示意图。

图5d为第一组比较采用fast-surf-1提取特征点的效果示意图。

图6是第二组提取特征点的数量和时间的比较示意图。

图6a为第二组比较的原图。

图6b为第二组比较采用fast-1提取特征点的效果示意图。

图6c为第二组比较采用surf-1提取特征点的效果示意图。

图6d为第二组比较采用fast-surf-1提取特征点的效果示意图。

图7为特征点筛选算法比较比较示意图。

具体实施方式

为了使本发明的目的和技术方案更加清楚,下面结合附图对本发明作进一步说明。

本实施例的印刷电路板检测中的图像特征点快速匹配算法,包括如下步骤:

步骤1)使用fast算法快速提取大量特征点。

步骤2)通过surf算法进行特征点的矢量描述。

步骤3)通过k均值聚类算法减少特征点的数量筛选出最佳匹配点。

surf是一种加速的鲁棒特征算法,使用haar特征以及积分图像来改进sift算法并降低计算复杂度。与sift相比,surf特征也是一种尺度、旋转不变的特征描述方法。步骤1)在特征点提取与步骤2)的特征点描述过程中使用64维向量进行surf描述子的构造。surf描述子生成的过程:通过计算特征点的一定领域内的水平haar小波特征和垂直haar小波特征来确定来形成64维特征向量。

进一步的,步骤1)包括如下步骤:

步骤1-1)从图片中选取一个像素p,将该像素p的亮度值设置为ip,并且选择一个合适的阈值t;

步骤1-2)以该像素p为中心选取一个离散的bresenham圆,在该圆边界上有16个像素,若在这个16个像素的圆上有n个连续的像素点的像素值比ip+t大,或者比ip-t小,则判定满足条件的像素点为特征点;

步骤1-3)计算每个特征点对应的响应值v,v设定为像素点p以及相邻的16个像素点的绝对偏差的和,并比较相邻特征点的v值,将v值较低的对应的特征点删除。

步骤2)中通过surf算法进行矢量描述具体包括:

步骤2-1)将特征点作为中心点,并在半径为6s的邻域内聚合haar小波响应,其中s表示该中心点所在的尺度,根据所述响应值分配加权系数,平衡因使用盒式滤波器近似代替高斯滤波器所带来的误差;

步骤2-2)在该特征点周围,统计60度扇形内所有点的水平haar小波特征和垂直haar小波特征总和;

步骤2-3)将60度扇形区域以一定间隔进行旋转,将统计的小波特征总和最大值的扇形方向作为该特征点的主方向;

步骤2-4)在特征点周围取一个20s的正方形框,将其拆分为16个子区域,并在每个子区域中统计25个像素的水平方向和垂直方向haar的小波特征v4,所述小波特征v4根据式(1)计算;

v4=(∑dx,∑|dx|,∑dy,∑|dy|)(1)

其中,∑dx表示水平方向值之和,∑|dx|表示水平方向绝对值之和,∑dy表示垂直方向值之和,∑|dy|表示垂直方向绝对值之和。

步骤3)中通过k均值聚类算法减少特征点的数量,并筛选出最佳的匹配点具体包括如下步骤:

步骤3-1)步骤3-1)从即将进行匹配的两幅图中各自特征点集合s1和s2中随机选择k个特征点作为初始聚类中心,所述k个特征点分别为a1,a2,a3,…,ak。

步骤3-2)根据公式(2)获得从每个特征点到聚类中心的距离,分成不同的集群;

其中,{q1,q2,...,qm}是一个训练集,其中每个输入qi∈rn,1≤j≤k;步骤3-3)根据公式(3)和公式(4),重新计算每个聚类的聚类中心,并且重复步骤2-b)和步骤2-c),直到距离中心点的聚类元素不大于λ,本实施例中λ=10-5m;

步骤3-4)根据获得的聚类中心,根据式(5)选择一个方形区域点ai(x,y)作为中心:

ai(x±δx,y±δy)∈z(n)(5)

步骤3-5)遍历所有特征点,将所有特征点进行了聚类划分,同一聚类里的特征点相似度较高,不同聚类的特征点相似度较小。

由于k的值直接影响聚类效率和有效特征点的提取,同时所选取的聚类的数量不少于真实聚类的的和数量,因此通过大量的实验,本实施例将最佳聚类效果的k值为4。

为了验证特征点的提取效率和配准精度,进行了以下两个对比试验:

首先进行提取特征点的数量和时间的比较,在不同算法中提取特征点的数量和时间的比较结果如图5、图6以及表1所示。

表1比较不同算法下的特征点数量和时间(时间单位为毫秒)

结合图5、图6以及表1,与传统的surf算法相比,fast-surf算法具有fast算法提取速快,surf算法特征描述准确的优点,因此提取时间更短,最后通过k-means算法获得最佳配准点的特征点。

根据recall和precision评估标准评估了两个重要的评估指标拒绝率(rj)和精度(pr),分别如式(6)、式(7):

在公式中:fp是提取到的特征点数量,tp是匹配的特征点数量,tr是正确匹配的特征点数量。在此基础上,该算法与surf+rasanc算法在拒绝率和准确率方面进行了比较,结果如表2所示:

表2特征点筛选算法比较

结合图7与表2,该算法不仅在特征点拒绝率上高于surf+ransac,而且大幅度提高了匹配准确率。因此该算法可以满足pcb电路板配准的实时要求。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1