APP下载

AOI技术中Mark点定位算法的研究

2013-08-13程德强黄成华

电视技术 2013年15期
关键词:圆心灰度背景

程德强,李 硕,薛 阳,黄成华

(1.中国矿业大学信息与电气工程学院,江苏 徐州 221008;2.安徽省皖北煤电集团有限责任公司,安徽 宿州 234000)

责任编辑:魏雨博

1 Mark点定位背景介绍

随着PCB行业朝着超薄型、高密度、细间距、低缺陷等方向发展,传统的PCB缺陷人工目检方式已远远不能满足实际生产的需求,自动光学检测技术被大量的使用[1]。自动光学检测(AOI,Automatic Optical Inspection)是指通过光学成像的方法获得被测对象的图像,经过特定处理算法处理及分析,与标准模板图像进行比较,获得被测对象缺陷的一种检测方法[2]。在电路印刷板的定位和电子元件组装的过程中,识别和精确计算Mark点的位置至关重要。Mark点也叫基准点,为装配工艺中的所有步骤提供共同的可测量点[3],保证了装配使用的每个设备能精确地定位电路图案,如图1所示。

图1 Mark点及其在PCB板中的位置

国内外对圆的识别及定位已做了许多研究,在所研究的AOI设备(在线式MF-830IL)原有程序中通过计算图像对比后截取的图像中心来替代Mark的圆心,受人工因素干扰大。文献[4-5]提及了基于Hough变换的圆检测方法,在图片较小的情况下效果较好。结合之前的先进思想并对不足之处加以改进,本文提出了利用Otsu算法计算阈值并用改进的Hough变换计算计算圆心坐标的方法,结果表明,该方法可以减少大量的计算负担,同时快速精确地识别并定位圆心。

2 阈值的选择

图像的二值化需要特定的阈值(Threshold),阈值是把目标和背景区分开的标尺[6],选取适当的阈值就是既要尽可能保存图像信息,又要尽可能减少背景和噪声的干扰。根据Mark点的图像特征,图像主要分为Mark点及背景PCB板两部分,它的灰度直方图呈现明显的双峰状。选取双峰之间的谷底所对应的灰度级作为阈值分割会得到理想的二值化结果,本文使用Delphi7作为编译工具,通过多种计算阈值的方法进行分析。

2.1 手动调节阈值

手动动态调节阈值实现图像的二值化可动态观察其分割图像的具体结果。首先读取图像每一点的灰度值,利用Delphi7软件中的Trackbar控件(两端的值设为0和255)实现阈值调节。每次调节后读取Trackbar控件滑块的位置Trckbar.Position作为阈值。

2.2 利用平均灰度计算阈值

由于图片灰度平均值应处于Mark点及背景这两部分灰度之间,故将图像上每一点的灰度累加,除以总点数得到整幅图像的平均灰度,以此平均值作为阈值将Mark点及背景区分开来,可以通过下面的方法将其转换为灰度

式中:R、G、B为每个像素的红、绿、蓝色值。

2.3 Otsu算法计算阈值

Otsu算法原理是把图像直方图用某一灰度值分割成两类,分别计算这两类的像素点数和灰度平均值,然后计算它们的类间方差[7]。当被分割成的两类类间方差最大时,此灰度值就作为图像二值化处理的阈值。

记t为前景与背景的分割阈值,前景点数占图像比例为w0,平均灰度为u0;背景点数占图像比例为w1,平均灰度为u1,则图像的总平均灰度为

前景和背景的方差为

当方差u3最大时,可以认为此时前景和背景差异最大,此时的灰度t就是最佳阈值。

3 Mark图像处理

3.1 二值化处理

图像灰度化处理后,可将灰度图像的像素分成大于阈值的像素群和小于阈值的像素群两部分。例如输人灰度图像函数为f(x,y),输出二值图像函数为g(x,y),则

本程序二值化算法如下:

1)扫描图片每个点;

2)计算每一点的灰度值;

3)灰度大于阈值的点染为白色,灰度小于阈值的点染为黑色。

3.2 Mark 点轮廓提取

为方便进行圆心计算,需要对二值化后的图像进行轮廓提取,二值图像轮廓提取的算法原理非常简单,就是掏空内部点:如果原图中有一点为黑,且它的8个相临点都是黑色时,则将该黑点删掉。二值化和轮廓提取后的效果如图2所示。

图2 图像处理结果

4 Mark点圆心定位算法

4.1 图像对比计算图片中心

AOI设备原有的程序利用第三方控件eVision中的函数库进行图像对比。首先制作好Mark图像标准,定位时利用图像对比寻找新的Mark图像(包括Mark点与邻近背景的方形区域),计算图像的中心点并返回中心点位置。使用到的EMatch库中的函数有:

LearnPattern:准备了随后的匹配操作的模板。模板图像保存到匹配结束。

Match:准备需要匹配的图像。

GetPosition:返回的对象包含图像的的中心位置坐标。

4.2 四点确定圆心

这是改进的算法之一。思路是:首先在圆内找到一点,接着从该点出发,向上、下、左、右检测到圆的边缘四点,以左右两点横坐标的平均值作为圆心的横坐标,同样,以上下两点纵坐标的平均值作为圆心的纵坐标。

此方法的关键在于确定Mark的边缘。基于图像特点,在圆的边缘两侧有较大灰度差值,而圆形Mark及背景区域内部整体灰度差别不大,因此将两侧有较大灰度差值的点判定为圆的边缘。以检测左边缘为例,选取一点,将该点两侧两个像素的灰度差与该店左右第二个像素的灰度差相加,得到总的灰度差,从圆心向左依次选取多个点,计算他们各自两侧的灰度差值,从中选取差值最大的点作为圆的左边缘。

4.3 Hough变换检测圆心

4.3.1 算法思路

Hough变换于1962年由Paul Hough提出,它所实现的是一种从图像空间到参数空间的映射关系[8]。Hough变换利用图像空间和Hough参数空间的点—线对偶性,把图像空间中的检测问题转换到参数空间。通过在参数空间里进行简单的累加统计,然后在Hough参数空间寻找累加器峰值的方法检测图形,如图3所示。

图3 Hough变换原理

如图4所示,首先扫描轮廓提取后的Mark图像,检测到轮廓线时,以该点为圆心画圆,直径从0依次增大到Mark图像宽与高之间的较小值。设定三维数组circle[a,b,r],记录每次画圆的痕迹。其中(a,b)为圆上某点的坐标,r为圆的半径。对参数空间量化后中的每个(a,b),考虑图像空间中每个边界像素点(x,y),代入圆的方程,若(x-a)2+(y-b)2=r2成立,则相应的累加器circle[a,b,r]加1 ,最后比较数组 circle[a,b,r]中的数值,选出最大的数,并记录对应的(a,b,r),则(a,b)为待检测圆的圆心,r为检测出圆的半径。

图4 Hough变换计算圆心流程

4.3.2 算法改进

在校正Mark点时,因搜索Mark会在原图像的基础上扩大搜索范围,阈值的计算时间随着检测图形的增大会大大加长,因此对Hough变换进行了改进。

在边缘选取一点,计算该点到ROI(通过图像对比所截取的Mark图像)中心的角度,由于圆心与ROI中心接近,故将搜索范围以该角度为基准范围扩展20°,从而当检测到轮廓线时,只需在圆心方向画20°的圆弧,并对圆弧上点的位置加以统计。理论上改进后速度可以提升360/20=18倍。同时将图片扫描搜索范围改为自动设为加载图片的宽与高,以满足不同Mark检测的要求。

主要语句如下:

5 实验结果分析

5.1 阈值算法的结果分析

不同方法计算的阈值二值化后效果如图5所示。

图5 不同方法计算出的阈值效果

观察多种算法求阈值后的效果及计算速度,如表1所示,比较结果可以发现:

1)手动调节阈值直观明显,可处理污染严重及有缺损的Mark点,错误少,二值化效果好,缺点是速度慢。

2)利用平均灰度计算阈值计算方法简单,运行速度快,但当Mark与背景颜色差别不明显或存在块状大片污染时,易出错误。

3)利用Otsu算法计算准确,二值化效果好,只是计算较复杂,对运行速度有影响。

表1 阈值三种算法测试比较结果

5.2 圆心定位结果分析

不同方法计算的阈值二值化后效果如图6所示。

图6 圆心算法效果对比

比较三种圆心定位方法,可以得到以下结论:

1)图像对比计算图片中心:运行速度快,在Mark点清晰完整的情况下检测结果较为准确,Mark可选取任意图形。缺点是受操作人员的影响严重,每次设定Mark会出现不同程度的偏差。

2)四点确定圆心:受操作员选取Mark范围影响小,Mark可为圆、方形等形状。缺点是受Mark轮廓和污染程度限制较大。

3)Hough变换检测圆心:改进后的算法继承了Hough变换精度高、抗噪能力强的优点,速度明显提高,可满足测试需求。

6 小结

本文提出一种新型的图像处理算法来计算圆形Mark的准确坐标。其良好的性能取决于两个策略:1)Otsu算法计算阈值,考虑到实际因素,由于Mark点常会受到不同程度的污染,图像存在一定的噪声等干扰因素,Otsu算法有着较强的抗干扰能力,在AOI系统应用中不失为较好的选择。2)改进的Hough变换,Hough变换计算圆心精度高、抗噪能力强,但其存在计算量大、占用内存多等缺陷,鉴于Mark图像实际尺寸不大,且改进的算法可降低计算复杂度,明显提升运算速度,可以满足应用要求,该方法适合机器视觉中圆形PCB Mark的检测。

[1]李钦,张宪民,邝泳聪,等.AOI设备运动控制系统的研究[J].机电工程技术,2008,37(5):43-108.

[2]季秀霞.基于多特征的PCB缺陷识别算法研究[J].理论与研究,2007(3):1-3.

[3]陈克勇,王辅明.工业光学检测中定位点的识别[J].计算机应用,2007(6):432-433.

[4]王敏,李启堂,丁书斌.单参数Hough变换实现圆检测方法的研究[J].机械设计与制造,2007(7):61-63.

[5]王林,练秋生.虹膜定位算法研究[J].电视技术,2006,30(7):77-79.

[6]高永英,张丽,吴国威.一种基于灰度期望值的图像二值化算法[J].中国图象图形学报,1999(6):524-528.

[7]陈琪,熊博莅,陆军,等.改进的二维Otsu图像分割方法及其快速实现[J].电子与信息学报,2010(5):1101-1104.

[8]万发平,刘志,张兆杨.基于Hough变换的散焦模糊图像复原方法[J].电视技术,2010,34(10):29-31.

猜你喜欢

圆心灰度背景
采用改进导重法的拓扑结构灰度单元过滤技术
“新四化”背景下汽车NVH的发展趋势
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
《论持久战》的写作背景
以圆周上一点为圆心作圆的图的性质及应用
基于最大加权投影求解的彩色图像灰度化对比度保留算法
晚清外语翻译人才培养的背景
基于灰度线性建模的亚像素图像抖动量计算
参考答案
四种方法确定圆心和半径