开篇:润墨网以专业的文秘视角,为您筛选了一篇基于机器视觉的PCB 板上圆Mark 点定位方法的研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要:该文的研究目的是研究出一种基于机器视觉的pcb(Printed Circuit Board )板上圆mark点的定位方法。首先,简要概述了PCB板上Mark点常见形态及作用,并根据坐标系变换原理推导出了利用Mark点对PCB板上贴装点进行校准的相关公式。然后,着重研究了基于模板匹配的Mark点中心定位方法,并利用边缘检测方法对Mark点的中心定位进行了优化。最后,运用Mark点的样本图片对该方法进行测试,所得结果较理想。
关键词:机器视觉;Mark点;定位;模板匹配;边缘检测
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2013)32-7340-05
随着半导体工艺技术的发展,PCB板上电子元件的密度和元件的复杂性不断增加,而贴装的元件尺寸不断减小,这就对贴片机的贴装精度要求越来越高[1-2]。影响贴片机贴装精度的因素主要有:(1)PCB板在贴片机上的定位精度;(2)贴片机X轴、Y轴的进给精度;(3)贴片机各轴回零的精度等。其中贴片机X轴、Y轴的进给精度和贴片机各轴回零的精度等因素可以通过采用较高精度的机械系统和控制系统来改善。但是对于仅依靠机械夹紧装置来提高PCB板在贴片机上的定位精度是不够的。目前中高档贴片机已通过加入机器视觉系统来检测PCB板在贴片机上的定位情况并对贴装位置进行修正,以最终提高贴片机的贴装精度[3-4]。
在贴片机的机器视觉系统中,通过检测PCB板上的定位基准点(Mark点)的位置,根据Mark点的位置情况来分析PCB板在贴片机上的定位情况,同时求得目前定位情况与理想定位情况下的误差,在贴片机进行贴装时根据该误差对贴装位置进行修正,从而保证贴装精度要求。该文主要利用图像处理技术对PCB板上圆Mark点的定位方法进行研究。
1 PCB板上贴装点校准原理
1.1 Mark点简介
PCB板上的Mark点是PCB的定位标识,又称为基准点,常分布在PCB板上的对角线位置上,为贴片机工艺流程中的所有步骤提供共同的位置基准,是贴片机顺利精确地完成贴装任务的重要保证。常见的Mark 点形状有圆形、菱形、三角形和十字形等[5]。该文主要研究圆形Mark点。
1.2 贴装点校准原理
理想情况下,当PCB板到达贴片机上的定位位置时,如图1中虚线所示。但是由于受机械定位装置精度和PCB板进板速度等因素的影响,实际情况下PCB板定位后会相对于理想定位位置产生偏移和旋转,如图1中实线所示。那么,相应的PCB板上的贴装位置也会发生变化。因此,就需要通过检测定位PCB板上Mark点的位置来对贴标位置进行修正。
如图2 所示,以[P1]点作为基准,建立坐标系[x0y0],以[P1']点为基准,建立坐标系[x1y1]和坐标系[x2y2]。可以求得在坐标系[x0y0]中,[P]点的相对坐标为[P(xr,yr)],[P']点的相对坐标为[P'(xr',yr')],其中[xr=x-x1],[yr=y-y1],[xr'=x'-x1],[yr'=y'-y1]。那么从[P]点到[P']点,可以看作通过两次坐标系的变换得到:(1)通过坐标平移变换,将坐标系[x0y0]平移至坐标系[x1y1];(2)通过坐标旋转变换,将坐标系[x1y1]旋转[θ]角至坐标系[x2y2][6]。考虑到计算的方便性,可以先进行坐标旋转变换再进行平移变换。最终可以求得[P'(x',y')]的坐标,推导过程如下。
经坐标旋转和平移后得到[P']点的相对坐标:
[xr'yr'1=10x001y0001cosθ-sinθ0sinθcosθ0001xryr1] (1)
[xr'yr'1=xrcosθ-yrsinθ+x0xrsinθ+yrcosθ+y01] (2)
其中,[x0=x1'-x1],[y0=y1'-y1]。
[x'y'1=xr'yr'1+x1y11] (3)
最后根据公式(3)求得贴装点[P']点的机械坐标为:
[x'y'1=xrcosθ-yrsinθ+x1'xrsinθ+yrcosθ+y1'1] (4)
中[θ=θ0-θ1];[θ0=arctany2-y1x2-x1;θ1=arctany2'-y1'x2'-x1']
[θ=arctany2-y1x2-x1-arctany2'-y1'x2'-x1'] (5)
2 PCB板上圆Mark点定位方法
常用的圆形Mark点的检测方法主要有Hough变换,曲线拟合,边缘检测和模板匹配等[7]。Hough变换和曲线拟合具有检测可靠性高以及在噪声、变形、甚至部分区域丢失的状态下仍可以取得理想的检测效果的特点。但是此类方法的计算量较大,检测速度较慢,难以满足贴片机实时检测Mark点的生成要求。
本文主要研究模板匹配和边缘检测方法,并将两者相结合,在保证Mark点检测精度的同时尽可能地减少Mark点的检测时间。
2.1 基于模板匹配的Mark点定位方法
图像的灰度值信息包含了图像记录的所有信息。基于图像像素灰度值的模板匹配是最基本的图像匹配算法。通常直接利用整幅图像的灰度信息建立两幅图像之间的相似性度量,然后采用某种搜索方法寻找使相似性度量值最大的变换模型的参数值[8-9]。常用的模板匹配算法有归一化相关灰度匹配,其相似性度量定义如下:
[R(i,j)=m=-M/2M2n=-M/2M2Si,j×Tm=-M/2M2n=-M/2M2Si,j2m=-M/2M2n=-M/2M2T2] (6)
公式(6)中[T]为模板[T(m,n)],[Si,j]为子图[Si,j(m,n)]。
通过比较模板图像和输入图像在各个位置上的相关系数,相关值最大的点即为最佳匹配位置。如图3所示,将模板图像[T]叠放在被搜索图[S]上平移,模板图像[T]覆盖下的那块被搜索图[S]叫做子图 [Si,j],[i],[j]为子图[Si,j]在搜索图[S]中的中心坐标。
在本文中,为了减少计算量,将灰度匹配的相似性度量定义简化如下:
[R(i,j)=m=-M/2M2n=-M/2M2T(m,n)==Si,j(m,n)?1:0M2] (7)
在匹配之前,需利用自适应阈值方法将模板图像和子图转换为二值图,然后再将二值化后模板图像中的各个像素点灰度值分别与二值化后子图[Si,j]中对应的像素点灰度值进行比较,判断其是否相等,最终统计出相等像素点的个数并作归一化处理。那么,[R(i,j)]最大的点即为最佳匹配点。
具体方法如下:
1) 在加工一批PCB板之前,先进一块PCB板,手动调整该PCB板,使其在贴片机上的定位位置绝对水平。分别移动摄像机到PCB板的Mark点1和Mark点2处,并尽量使摄像机的中心对准Mark点的中心,拍摄得两幅图像,并分别记录下摄像机的坐标位置。在两幅图像中分别以Mark点1中心、Mark点2中心为中心生成模板图像[T1]和[T2],大小为[100×100](以像素为单位)。同时分别记下两Mark点在各自图像中的坐标位置。如图4所示,图像中心亮区域即为Mark点区域,白色十字线中心代表Mark点中心位置,黑色方形区域为模板图像。上述这一过程通常称为Mark点的示教。示教完成之后就可以进行第一块PCB板的装贴任务。
2) 装贴好第一块PCB板后即可出板,同时送进第二块PCB板至贴片机定位位置。
3) 拍摄第二块PCB板的Mark点1图像:移动摄像头位置至Mark点1示教位置,拍摄得此块PCB板上Mark点1的图像。如图5所示,图中白色十字线中心为Mark点1示教时的中心位置。从图中可以看出,白色十字线中心偏离了Mark点1 的中心,也就说明此PCB板的定位位置偏离了理想的定位位置。
4) 第二块PCB板上Mark点1的中心定位:以图5中的白色十字线中心为基准,形成搜索区域,如图6中黑色矩形所围区域。实际Mark点1的中心位置应位于此区域内。通过试验,经统计计算得该搜索区域的尺寸为[60×40](以像素为单位)。同时,以搜索区域的右下点为起始点,从右到左,从下到上,依次生成子图[Si,j],利用公式(7)与Mark点1的示教模板图像[T1]进行匹配,并记录下匹配相关度[R(i,j)]。为了缩短搜索时间,可以设定一匹配相关度阈值[thresh],当[R(i,j)]>[thresh]时即可退出搜索。最终找到Mark点1的中心位置,如图7所示,黑色十字线中心位置即为搜索到的Mark点1的中心坐标位置。
5) 同理,按照步骤(3)(4),就可以找到Mark点2的中心坐标位置。如图8所示。
6) 找到两Mark点的中心坐标位置后,并将该坐标位置转化成机械坐标位置,就可根据公式(4)计算修正后的贴装位置,并完成贴装任务。接下来出板,同时进入下一块板,重复步骤(3)-(6),直到完成整批PCB板的贴装工作。
从图7,图8中可以看出,利用模板匹配方法搜素到的Mark点中心位置仍然不够精确。这就需要做进一步的优化。下面介绍利用边缘检测来精确定位Mark点中心位置。
2.2基于边缘检测的Mark点中心定位优化方法
图像的边缘是图像的最基本特征。所谓边缘是指其周围像素灰度值有阶跃变化的像素集合。边缘广泛存在于物体与背景之间、物体与物体之间、基元与基元之间[10]。分析本文中的Mark点图像,取经过Mark点中心区域的一水平直线上的点,以这一系列像素点在图像中的水平位置为横坐标,以对应像素点的灰度值为纵坐标,生成像素灰度值曲线,如图9所示。
从图9中可以看出,Mark点水平方向上的边缘区域为两个波谷区,对应到Mark点图像上是像素灰度值小于100的区域。搜寻边缘时可以通过求一像素及其邻域内像素的均值[avg],当[avg]
具体搜寻步骤如下;
1) 水平方向边缘点搜索:以上述模板图像匹配搜寻得的Mark点中心为起始点,分别沿水平方向向左和向右搜索,即可搜索得水平方向上的两边缘点,分别记录下水平坐标值[X0]和[X1],由此可利用公式(8)推导Mark点水平方向中心坐标[centerX]。
[centerX=X0+(X1-X0)/2] (8)
2) 垂直方向边缘点搜索:同理,以上述模板图像匹配搜寻得的Mark点中心为起始点,分别沿垂直方向向上和向下搜索,即可搜索得垂直方向上的两边缘点,分别记录下坐标值[Y0]和[Y1],由此可利用公式(9)推导Mark点水平方向中心坐标[centerY]。
[centerY=Y0+(Y1-Y0)/2] (9)
最后,如图11所示,利用边缘检测优化得到Mark点的中心坐标,即黑色十字线中心位置。
3 实验结果与分析
图12所示为实验测试平台,该平台用于拍摄PCB板上Mark点图像,并进行Mark检测。图13所示为三块PCB板到达贴片机定位位置时所拍摄到的Mark点1图片(图中白色十字线中心为示教Mark点1的中心),可以看出,此时PCB板都偏离了理想定位位置。利用本文介绍的模板匹配和边缘检测相结合的方法可以检测得各Mark点中心(黑色十字线中心)。具体实验结果分析见表1。
从图13中可以看出,最后搜索到的Mark点中心位置都比较精确。从表1中数据可以分析出,模板匹配的精度都只达到0.88,这也证明了仅利用模板匹配搜寻到的Mark点中心不精准。而加上边缘检测后达到的匹配精度可达0.90,也就说明利用边缘检测优化后的Mark点中心较精确。但是,Mark点中心搜寻的时间有点长,会影响到贴片机的工作效率,这可以通过以下两个方面来进行优化:(1)缩小模板匹配图像的尺寸;(2)增大模板匹配搜寻步距,如将搜索步距改为两个像素或者更高。通过实验,最后经优化后,搜索时间平均可缩短0.1s。
4 结束语
本文主要研究了基于模板匹配及边缘检测的Mark点中心检测方法,并将两者相结合。该方法主要有以下特点:1)算法比较简单,并且所有算法均用C语言编写,可修改性和可移植性较强;2)该方法在保证检测精度的同时运算时间较少,所以Mark点的检测效率较高。通过实验,证明该方法在检测精度和检测时间上均能满足贴片机的实际生产要求。
参考文献:
[1] 姜涛,王安麟,王石刚,等. 基于机器视觉的印刷电路板误差校正方法[J].上海交通大学学报,2005,39(6):945-949.
[2] 龙绪明. 高精度贴片机视觉系统[J]. 电子工业专用设备,2001,30(4):12-16.
[3] 李正明,黎宏,孙俊. 基于数字图像处理的印刷电路板缺陷检测[J]. 仪表技术与传感器,2012(8):87-89.
[4] 武锦辉,闫晓燕,王高. 基于无损检测的高分辨率PCB板焊点缺陷检测系统[J].仪表技术与传感器,2013(6):90-92.
[5] 陈臣. 印制电路板的自动光学检测系统的设计与研究[D]. 南京:南京航空航天大学,2010.
[6] 宋锐志. 基于视觉定位的电路板贴片系统研究[D]. 河北:河北工业大学,2008.
[7] 熊光洁,马树元,刘瑞祯. PCB检测中圆Mark的快速精确定位[J]. 计算机工程,2012,38(11):211-216.
[8] 何斌,马天予,王运莲,等. Visual C++数字图像处理[M].北京:人民邮电出版社,2001.12.
[9] 崔怀峰,杜遥雪. 基于灰度信息的PCB板精确定位[J]. 五邑大学学报,2010,24(4):59-64.
[10] 卢允伟,陈友荣.基于拉普拉斯算法的图像锐化算法研究和实现[J].电脑知识与技术,2009,5(6):1513-1515.