印刷电路板自动光学检测系统精确校准
2012-01-15黄卫平
黄卫平
(广东工业大学 广东 广州 510006)
PCB的检测最早采用人工目测方式,随着高密度电路布线和高产量的要求,人工目测方式已不能满足生产要求,而AOI(自动光学检测)则可满足在生产线上对PCB全面检测的要求。因此,AOI系统在PCB生产线上使用越来越广泛[1]。
图像处理算法是AOI的核心,根据是否使用参考模板,PCB AOI系统的缺陷检测算法可分为参考比较法和非参考比较法两大类。在参考比较法中,最重要的一个问题就是两幅图像的精确对准问题,如果不能达到精确的对准,它们之间通过参考比较法进行判断后,会产生众多误判。针对此问题,文中提出利用AOI视觉系统和PCB板圆形基准点来实现系统精确校准。采用计算机视觉方法可以快速、准确地检测到圆形基准点,精确地计算出中心坐标。利用实时图像与模板图像中的基准点中心坐标偏差来计算偏移量,从而校正系统误差是文中的主要思想。
文中AOI系统校准方法的核心任务是圆形基准点检测,常用的圆检测技术有形状分析法、环路积分微分法、线性拟合法、圆 Hough变换[2]。Hough变换是目前应用最为广泛的圆检测方法,该方法的最大特点是可靠性高,在噪声、变形、甚至部分区域丢失的状态下仍然能取得理想的结果。因此,文中利用Hough变换来检测PCB基准点。为了提高Hough变换圆检测的速度和精度,笔者针对PCB基准点检测的应用环境设计了专门的图像预处理步骤,包括图像灰度化、直方图均衡化、高斯滤波、Roberts边缘检测。
1 PCB AOI系统原理
PCB AOI系统由视觉系统、运动控制系统和图像处理系统组成。视觉系统采用区域扫描像机获取实时图像,相机成像原理如图1所示,满足关系
其中 G 是视野 (Field Of View,FOV),f是焦距,g是工作距离,B是CCD单元,通过调整焦距可以得到不同大小的FOV。由于 AOI系统对像素分辨率要求达到20 μm[3],目前的工业相机很难通过一次拍摄得到满足检测精度要求的完整PCB图像。因此,需要将PCB分成多个与FOV等大的区域进行检测。
图1 AOI相机成像原理Fig.1 Imaging principle AOI camera
PCB AOI另一个子系统是X-Y机械运动平台,电机移动视觉系统到各个检测区域的中心位置摄取图像,并将实时图像传输到图像处理系统进行检测分析。采用参考比较法进行元件缺陷检测的AOI系统在检测之前先要进行示教,示教的目的是为需要检测的区域添加检测窗,根据人工经验选择检测窗所使用的检测算法,并设置算法参数。所有检测窗的位置信息(坐标相对于所在FOV)和检测参数都保存到一个称为检测模型的文件中,以便在线检测同类PCB板时进行参考比对。图2(a)显示了一个SOP元件上的检测窗。其中最大的矩形框表示待检测元件,其他小矩形框表示元件上需要进行检测的区域,即检测窗。只有元件上的全部检测窗都检测合格才认为元件合格,所以检测窗之间是一个and判定关系。
图2 系统误差导致检测窗偏移Fig.2 Check window offset due to system error
示教完成后,可以利用检测模型中定义的检测算法对同类PCB板进行在线检测。在线检测时,输入待检测电路板,X-Y机械平台根据模型中保存的坐标信息带动视觉系统到预设位置拍摄FOV图像。图像处理系统根据检测窗与FOV图像的相对坐标,截取局部图像进行分析。
2 取像误差校正
从PCB AOI系统的检测原理可以看到,在线检测时的重复取像精度对PCB缺陷识别至关重要。图2(b)显示了检测窗偏移时的情况,由于拍摄到的FOV图像发生变化,检测窗并没有准确覆盖期望的检测区域。这对接下来的缺陷识别十分不利,因为检测的对象不是想要的,检测结果一般都是漏判、误判,没有可信度。X-Y机械平台定位精度,PCB板制造误差和放置误差都会导致这种现象[3],因此,必须在检测之前进行系统校准。
图3 PCB定位偏差示意图Fig.3 Schematic of PCB location error
为补偿图像定位偏差,需要利用AOI视觉系统对PCB板上的基准点(见图5输入图像)进行识别和定位。PCB板4个角上通常设有圆形基准点用作表面贴装时候的位置参考,同样可以利用它来进行AOI系统校准。如果在PCB对角线位置各选取一个基准点,则可同时检测PCB板水平偏移量和旋转角度,如图3所示。在建立检测模型时,摄入位于对角线的两个基准点图像m1和m2,然后经图像处理的方法找到基准点的中心位置(Xm1,Ym1)和(Xm2,Ym3)。 在线检测时利用同样的方法找到实时图像的两个基准点的中心位置(X′m1,Y′m1)和(X′m2,Y′m3)。 这样,就可以再根据两幅图像中 2 个基准点的坐标计算水平像素位移和旋转角度。根据式(1)可以计算出每个像素对应的物理距离,将像素位偏差换成物理距离,然后驱动电机进行水平位移校准。而对于角度偏差,需要通过夹板机构来调整。AOI系统校准的详细操作流程如图4所示。
图4 AOI系统校准流程图Fig.4 Flow chart of AOI registration
从上面的分析不难发现,PCB AOI系统校准的关键是怎样找到基准点的中心坐标,也就是定位圆的圆心,方法将在第3节介绍。
3 Hough变换检测圆
Hough变换的核心思想是点-线的对偶性。在图像空间中,即为把图像的复杂边缘特征信息转化为参数空间中的聚类检测问题[4]。考虑半径为r,圆心坐标为(a,b)的圆可用参数方程(2)表示
在三维参数空间(a,b,r)中,式(2)表示的是一个三维锥面。它表示的物理意义是,图像空间中的圆对应着参数空间中的一个点,而图像空间中的一个点(x,y)对应着参数空间中的一个三维直立圆锥,该点约束了通过该点一簇圆的参数(a,b,r),如图 5所示。如果一张图像包含很多点,那么搜索程序的工作就是寻找用于描述圆形的参数组(a,b,r)。
Hough变换在计算上的吸引力在于将参数空间进一步分割为所谓的累加器单元。圆的3个参数(a,b,r)生成了一个带有立方单元和形如 A (i,j,k)的累加器的三维参数空间。Hough变化检测圆形的过程是增加a和b,解出满足式(2)的r。然后对r进舍入,得到r轴上允许的最近似的值,更新对应于三元组(a,b,r)的相关单元的累加器。最终三维累加器中最大值单元对应的参数就是需要寻找的圆参数。
图5 图像空间中的点对应参数空间中的直立圆锥Fig.5 Point in picture corresponding to taper in parameter space
从PCB板设计文件可得到基准点圆孔的物理半径,根据每个像素对应的物理距离,可计算出基准点圆孔的像素半径。在预估的像素半径附近,例如30%范围内搜索圆心,可减少计算量。实验验证在粗定位圆心±20%的范围内搜索圆心,完全可以保证检测质量。利用Hough变换求解圆心坐标的步骤简述如下:
Step 1.估算圆形像素半径大小;
Step 2.因半径大致已知,可为 a,b,r选择一个较小的范围建立离散的参数空间;
Step 3.建立一个三维累加器N[a][b][r],并置每个元素为0;
Step 4.对参数空间中的每一个(a,b),考虑图像中的每一个边界像素点(x,y)圆的方程,求解出 r,对 r进行舍入,寻找r轴上允许的最近似值,对应累加器N[a][b][r]加1;
Step 5.找出累加器N[a][b][r]的最大值,其对应的参数(a,b,r)即是所要求的圆参数。
4 图像预处理
图像预处理的目的是使处理后的图像比原始图像更适合于特定的应用,在不同的应用环境中,“特定”有着不同的含义。这里进行图像预处理的目的是为了降低噪声影响,提高Hough变换速度和精度。
测试发现,在进行Hough变换之前对PCB基准点图像进行如图6所示的4步预处理,可以更快更精确的检测出圆形。AOI相机采集到的图像为24位真彩色,图像数据量大,占用计算存储空间,而且携带了大量不相关信息。因此,第1步先采用加权平均值法对图像进行灰度变换。第2步直方图均衡化采用了改进的自适应直方图均衡化方法CLAHE[5],因为测试过程中发现CLAHE性能更好。CLAHE通过改变直方图值来增强灰度图像对比度,使得直方图均衡化后的图像特征更容易识别。第3步图像滤波的主要目的是隔离PCB基准点图像的噪声。为了实现噪声隔离,文中选择了高斯平滑滤波。高斯平滑滤波用高斯方程描述了图像模糊化过程,它被广泛用于图像处理过程,最典型的应用就是用来减少噪声和图像细节。
图6 图像预处理系列过程Fig.6 Sequence of an image preprocessing
第4步边缘检测在PCB基准点图像预处理过程中最为重要。图像边缘检测可显著减少图像数据量,滤除无用信息,保留图像的重要结构特征[6]。在进行Hough变换圆检测之前,需要获得圆形的二进制边缘图像。PCB基准点匹配应用中,良好的边缘检测图像应该包含锐利的圆形,并且尽量较少疤痕噪声,因为疤痕噪声会增加圆外点数,降低CHT精度。文中对 Sobel,Roberts,Prewitt,LoG,Canny 等 5 种常用边缘检测方法进行了比较测试,Roberts算法能够得到更细腻的边缘轮廓,较少了边缘点的个数,有利于减少圆Hough的计算量,提高圆检测速度。因此,选择Roberts算法进行边缘检测。
图7 实验结果Fig.7 Experimental result
5 实验结果
为了测试文中提出的PCB基准点定位方法的性能,对算法进行了仿真。仿真实验采用联想ThinkPad T61笔记本电脑和 Matlab7.1进行编程,电脑的配置为 CPU:IntelCore2,T7500, 2.20 GHz;内存为 DDR2 667 MHz,2 GB;测试图像尺寸为150×150像素。对经过预处理后的图像进行Hough变换圆检测,得到图7所示的结果。算法用时79 ms,实时性能很好。从图中可以看到,Hough变换检测出的圆很好地匹配了基准点图像外环轮廓。
6 结 论
文中详细说明了采用机器视觉定位来校准PCB自动光学检测系统的方法。校准过程的核心任务是圆形基准点中心位置检测,针对此问题,采用Hough变换来检测圆心。为了减少计算量,先对基准点半径进行预测。并针对PCB基准点图像特征,设计专门的图像预处理算法。实验结果表明,Hough变换圆检测精度达到1个像素,而且速度较快,满足AOI系统性能要求。
[1]鲜飞.AOI技术在SMT生产上的应用[J].印制质电路信息,2008(10):61-66.XIAN Fei.The application of AOI in SMT production[J].Printed Circuit Information,2008(10):61-66.
[2]杨冬,李铁军,刘今越,等.视觉定位在PCB雕刻机中的应用研究[J].河北工业大学学报,2011,40(2):27-30.YANG Dong,LI Tie-jun,LIU Jin-yue,et al.Research and application of vision alignment in PCB engraving machine[J].Journal of Hebei University of Technology,2011,40(2):27-30.
[3]欧阳高飞,邝泳聪,谢宏威,等.基于亚像素定位的贴装元件精确取像技术[J].光电工程,2010,37(6):16-22.OUYANG Gao-fei,KUANG Yong-cong,XIE Hong-wei,et al.Accurate image capture for surface mounting component based on subpixel location[J].Opto-Electronic Engineering,2010,37(6):16-22.
[4]Illingworth J,Kittler J.A survey of the Hough transform[J].Computer Vision,Graphics and Image Processing,1988(13):87-116.
[5]ZuiderveldK.Contrastlimitedadaptivehistogramequalization[J].Academic Press Graphics Gems Series,1994(24):474-485.
[6]王希山,崔贤玉.印刷电路板灰度图像边缘检测技术研究[J].微计算机信息,2008(24):294-296.WANG Xi-shan,CUI Xian-yu.Edge detection technology research of printed circuit board gray image[J].Control&Automation,2008(24):294-296.
[7]章宇庆,刘学平,戎国林.高速在线PCB焊接质量检测系统[J].机械设计与制造,2010(3):1-3.ZHANG Yu-qing,LIU Xue-ping,RONG Guo-lin.The design of high speed PCB welding quality detection system[J].Machinery Design&Manufacture,2010(3):1-3.
[8]姜涛,王安麟,王石刚,等.基于机器视觉的印刷电路板误差校正方法[J].上海交通大学学报,2005,39(6):945-949.JIANG Tao,WANG An-lin,WANG Shi-gang,et al.An error correction method for PCB based on machine vision[J].Journal of Shanghai Jiaotong University,2005,39(6):945-949.