一种BGA的视觉识别方法与流程

文档序号:24875986发布日期:2021-04-30 12:51阅读:470来源:国知局
一种BGA的视觉识别方法与流程

本发明涉及视觉识别技术领域,更具体地说,涉及到一种bga的视觉识别方法。



背景技术:

在现代化的smt生产过程中,元件的定位都是通过视觉识别的方式实现的。bga元件在贴片元件中是非常重要、非常昂贵的元件,在生产中不仅要保证其极高的位置精度和角度精度,还要保证其方向正确、保证其球状态正确。由于其球状态的多样性,部分smt设备无法计算球状态,只能通过最外围部分球来定位,如果内部球有缺失,则无法检测,此时会造成产品不良并且此不良无法及时发现,对生产造成极大危害,还可能对客户造成极大损失。



技术实现要素:

为了克服现有技术的不足,本发明提供一种bga的视觉识别方法用来解决通过使用元件外形特征进行进行定位精度低、无法辨识方向以及无法判断球是否缺损的问题。

本发明解决其技术问题所采用的技术方案是:提供一种bga的视觉识别方法,包括以下步骤:

s1:图像前处理,对图像进行二值化、开运算以及闭运算;

s2:图像轮廓提取,最小二乘拟合圆,提取所有球;

s3:滤除干扰点;

s4:滤除mark点;

s5:旋转所有球;

s6:生成结果矩阵;

s7:比对;

s8:迭代线性差值;

s9:计算mark位置;

s10:计算元件位置与角度。

具体地,所述图像前处理,所述步骤包括:

使用otsu自动阈值对图像进行二值化;

采用开运算滤除干扰点;

采用闭运算使bga球成像的形状封闭。

具体地,图像轮廓提取,最小二乘拟合圆,提取所有球,所述步骤包括:

对实际面积大于25的轮廓拟合圆,根据长宽比计算得分,则每个圆的得分为:

其中,box.size表示为轮廓最小外接矩形的尺寸,height表示为轮廓最小外接矩形的高度,width表示为轮廓最小外接矩形的宽度;

当圆的得分大于0.7时,则认为此时圆是目标球。

具体地,所述滤除干扰点,所述步骤包括:

计算所有球的最小外接矩形;

过滤掉离最小外接矩形最近的4个球;

重复迭代3次,直到最小外接矩形面积与上次相同或者相差小于5%,则提前结束此过程。

具体地,所述滤除mark点,所述步骤包括:

对所有球计算最小外接矩形;

计算离4个顶点最近的球作为过滤的候选球;

将离4个顶点最近的球排除在外再次计算最小外接矩形;

判断离4个顶点最近的球是否在最小外接矩形内;

当离4个顶点最近的球都在最小外接矩形内,则滤除离顶点最近的球。

具体地,旋转所有球,所述步骤包括:

分别计算由最外围球构成的4条边的角度;

旋转之后计算4个角点坐标并按左上右下排序为corner[4];

其中,corner[4]表示为4个角点的坐标。

具体地,生成结果矩阵,所述步骤包括:

第i行j列的理论坐标为pi,j=(coner[0].x+pitch_x×j,coner[0].y-pitch_y×i)

生成二维矩阵bij表示第i行第j列位置球的坐标。

具体地,比对,所述步骤包括:

存放球的二维矩阵aij为1时表示第i行第j列位置有球,aij为0时表示第i行第j列无球;

当(aij=1∩bij=(0,0))∪(aij=0∩bij≠(0,0)),则表明元件存在品质不良,不予贴装。

具体地,迭代线性插值,所述步骤包括:

依据(a)(b)(c)(d)(e)先后顺序进行插值。

(a)

(b)

(c)

(d)竖向同理

(e)pi,j=(2×pi,j-1.x-pi,j-2.x,2×pi,j-1.y-pi,j-2.y),竖向同理

其中,pi,j表示第i行第j列插值位置的坐标,pi-1,j表示pi,j四领域上方点的坐标,pi+1,j表示pi,j四领域下方点的坐标,pi,j-1表示pi,j四领域左侧点的坐标,pi,j+1表示pi,j四领域右侧点的坐标,pm,n表示起点的坐标,pm+k,n+k表示终点的坐标,k表示插值个数。

具体地,计算mark位置,所述步骤包括:

在参数设置中指定是否有mark标记;

指明mark标记的尺寸以及mark标记离最近的球的距离。

具体地,计算位置与角度,所述步骤包括:

pi,j为第i行第j列的点,deg1、deg2、deg3、deg4为最外围4条边拟合的直线的角度。

本发明的有益效果是:s1:图像前处理,对图像进行二值化、开运算以及闭运算;s2:图像轮廓提取,最小二乘拟合圆,提取所有球;s3:滤除干扰点;s4:滤除mark点;s5:旋转所有球;s6:生成结果矩阵;s7:比对;s8:迭代线性差值;s9:计算mark位置;s10:计算元件位置与角度,从而有效、快速精准地定位bga,应用在贴片机生产过程中,避免生产品质不良,进而使机器更人性化以及智能化。

附图说明

图1是一种bga的视觉识别方法的流程示意图。

图2是一种bga的视觉识别方法的效果示意图。

图3是一种bga的视觉识别方法的另一效果示意图。

图4是一种bga的视觉识别方法的另一效果示意图。

图5是一种bga的视觉识别方法的另一效果示意图。

图6是一种bga的视觉识别方法的另一效果示意图。

图7是一种bga的视觉识别方法的另一效果示意图。

图8是一种bga的视觉识别方法的另一效果示意图。

图9是一种bga的视觉识别方法的另一效果示意图。

图10是一种bga的视觉识别方法的另一效果示意图。

图11是一种bga的视觉识别方法的另一效果示意图。

图12是一种bga的视觉识别方法的另一效果示意图。

图13是一种bga的视觉识别方法的另一效果示意图。

具体实施方式

以下结合具体实施例对本发明的具体实现进行详细描述:

实施例一:

图1示出了本发明实施例一提供的一种bga的视觉识别方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

在步骤s101中:图像前处理,对图像进行二值化、开运算以及闭运算;

具体地,所述图像前处理,所述步骤包括:

使用otsu自动阈值对图像进行二值化;

采用开运算滤除干扰点;

采用闭运算使bga球成像的形状封闭。

在步骤s102中:图像轮廓提取,最小二乘拟合圆,提取所有球;

具体地,图像轮廓提取,最小二乘拟合圆,提取所有球,所述步骤包括:

对实际面积大于25的轮廓拟合圆,根据长宽比计算得分,则每个圆的得分为:

其中,box.size为轮廓最小外接矩形的尺寸,height为轮廓最小外接矩形的高度,width为轮廓最小外接矩形的宽度;

当圆的得分大于0.7时,则认为此时圆是目标球。

在步骤s103中:滤除干扰点;

具体地,所述滤除干扰点,所述步骤包括:

计算所有球的最小外接矩形;

过滤掉离最小外接矩形最近的4个球;

重复迭代3次,直到最小外接矩形面积与上次相同(相差小5%),则提前结束此过程。

在步骤s104中:滤除mark点;

具体地,所述滤除mark点,所述步骤包括:

对所有球计算最小外接矩形;

计算离4个顶点最近的球作为过滤的候选球;

将离4个顶点最近的球排除在外再次计算最小外接矩形;

判断离4个顶点最近的球是否在最小外接矩形内;

当离4个顶点最近的球都在最小外接矩形内,则滤除离顶点最近的球。

在步骤s105中:旋转所有球;

具体地,旋转所有球,所述步骤包括:

分别计算由最外围球构成的4条边的角度;

旋转之后计算4个角点坐标并按左上右下排序为corner[4];

其中,corner[4]表示为4个角点的坐标。

在步骤s106中:生成结果矩阵;

具体地,生成结果矩阵,所述步骤包括:

第i行j列的理论坐标为pi,j=(coner[0].x+pitch_x×j,coner[0].y-pitch_y×i)

生成二维矩阵bij表示第i行第j列位置球的坐标。

在步骤s107中:比对;

具体地,比对,所述步骤包括:

存放球的二维矩阵aij为1时表示第i行第j列位置有球,aij为0时表示第i行第j列无球。

当(aij=1∩bij=(0,0))∪(aij=0∩bij≠(0,0)),则表明元件存在品质不良,不予贴装。

在步骤s108中:迭代线性差值;

具体地,迭代线性插值,所述步骤包括:

依据(a)(b)(c)(d)(e)先后顺序进行插值。

(a)

(b)

(c)

(d)竖向同理

(e)pi,j=(2×pi,j-1.x-pi,j-2.x,2×pi,j-1.y-pi,j-2.y),竖向同理

其中,pi,j表示第i行第j列插值位置的坐标,pi-1,j表示pi,j四领域上方点的坐标,pi+1,j表示pi,j四领域下方点的坐标,pi,j-1表示pi,j四领域左侧点的坐标,pi,j+1表示pi,j四领域右侧点的坐标,pm,n表示起点的坐标,pm+k,n+k表示终点的坐标,k表示插值个数。

在步骤s109中:计算mark位置;

具体地,计算mark位置,所述步骤包括:

在参数设置中指定是否有mark标记;

指明mark标记的尺寸以及mark标记离最近的球的距离。

在步骤s1010中:计算元件位置与角度。

具体地,计算位置与角度,所述步骤包括:

pi,j为第i行第j列的点,deg1、deg2、deg3、deg4为最外围4条边拟合的直线的角度。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如rom/ram、磁盘、光盘等。

实施例二:

图2至图13示出了本发明实施例二提供的一种bga的视觉识别方法的效果示意图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

步骤1):前处理

如图2、3所示,首先使用otsu自动阈值对图像进行二值化,因为图像中可能存在一些干扰点,所以先采用开运算滤除,紧接着采用闭运算使圆(bga球成像的形状)封闭。

步骤2):提取所有球

如图4所示,图像轮廓提取,对实际面积大于25的轮廓拟合圆,根据长宽比计算得分,则每个圆的得分为:

其中,box.size为轮廓最小外接矩形的尺寸,height为轮廓最小外接矩形的高度,width为轮廓最小外接矩形的宽度;

当得分大于0.7时即认为是目标球,其位置为拟合圆的中心。

步骤3):滤除干扰点

如图5所示,因为在图像中、元件外可能存在干扰因素,因此需要将其滤除。对上一步中提取到的所有球,首先计算其最小外接矩形,然后过滤掉离矩形四条边最近的四个球。然后再次计算剩余球所构成的最小外接矩形,再次过滤掉离矩形四条边最近的四个球。这个过程迭代3次,如果本次最小外接矩形面积与上次相同(相差小5%),则提前结束此过程。红色实心圆为过滤掉的球(可以看到部分球被“过杀”,后面会做处理)。

步骤4):滤除mark点

如图6所示,bga元件只有一个mark点,其位置在元件角点处(可能在左下角、左上角、右上角或右下角),形状一般为三角形,离最近球的距离并不固定,有的较近,有的较远。对所有球计算其最小外接矩形,计算离4个顶点最近的球作为过滤的候选球,将这4个球排出在外再次计算最小外接矩形,计算刚刚那4个球是否在这个矩形内,如果都在则不用滤除,在则滤除离顶点最近的那个球。

步骤5):旋转球

如图7、8所示,最外围球构成4条边,分别计算各边角度并归整到0度附近,求均值后旋转,旋转之后计算4个角点坐标并按左上右下排序为corner[4],其中,corner[4]表示为4个角点的坐标,如图8中,红、绿、蓝、黄色圆圈所示。

步骤6):生成结果矩阵

如图9所示,第i行j列的理论坐标为

pi,j=(coner[0].x+pitch_x×j,coner[0].y-pitch_y×i)

生成二维矩阵b,迭代所有球,将每个球的坐标填入到离其最近的矩阵格子中,如果格子附近没有球,则其坐标为默认值(0,0)。所有球分配完成后,再次检查是否有重复分配的情况,如果有说明元件内部出现多余的球,元件存在品质不良,不予贴装。

bij表示第i行第j列位置球的坐标。

步骤7):比对

如图10所示,在bga的参数设置中,有一个二维矩阵用于存放球的状态,如下:

aij为1时表示第i行第j列位置有球,aij为0时表示第i行第j列无球。

如果(aij=1∩bij=(0,0))∪(aij=0∩bij≠(0,0)),则说明本该有球的位置缺球了,或本不该有球的位置却出现了多余球,元件存在品质不良,不予贴装。

当所有位置属于正常情况也即是该有球的位置不缺球了,或该有球的位置却没有出现多余的球后,即可进行下一步处理。

步骤8):迭代线性插值

如图11所示,由于要根据所有球的位置来计算位置,如果所有球不关于原点对称,则会计算错误,此时需要插值,插值优先从左到右依次降低。

竖向同理

pi,j=(2×pi,j-1.x-pi,j-2.x,2×pi,j-1.y-pi,j-2.y)竖向同理

其中,pi,j表示第i行第j列插值位置的坐标,pi-1,j表示pi,j四领域上方点的坐标,pi+1,j表示pi,j四领域下方点的坐标,pi,j-1表示pi,j四领域左侧点的坐标,pi,j+1表示pi,j四领域右侧点的坐标,pm,n表示起点的坐标,pm+k,n+k表示终点的坐标,k表示插值个数。

步骤8):计算mark位置

如图12所示,参数设置中会明确指定是否有mark标记,如果有mark标记,还会指明mark标记的尺寸和离最近的球的距离。根据设定参数在指定位置处搜索mark标记,如果在指定位置处搜索mark标记,则说明方向正确,可以进行下一步骤。

步骤8):计算位置和角度

如图13所示,pi,j为第i行第j列的点,deg1、deg2、deg3、deg4为最外围4条边拟合的直线的角度(已归整到0度附近),则位置和角度计算如下。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实施例的单元及算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。

专业技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉技术领域的人员在本发明揭露的技术范围内,可轻易想到变化或者替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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