《机器视觉PCB光板视觉检测技术研究——第三讲视觉.doc》由会员分享,可在线阅读,更多相关《机器视觉PCB光板视觉检测技术研究——第三讲视觉.doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流机器视觉PCB光板视觉检测技术研究第三讲视觉.精品文档.机器视觉PCB 光板视觉检测技术研究第三讲视觉检测算法分析 机器视觉技术的理论背景是数字图像处理,它是电子技术的一个重要方面,在社会生产与生活中起到越来越重要的作用。而要让机器视觉技术进入实际生产领域,就离不开软、硬件的结合。数字图像处理在这个项目中的应用可以分为五个步骤:图像捕获、图像预处理、图像分割、特征提取、图像识别。 首先,必须从 PCB 板生产线上进行图像捕获。微电子、计算机技术的快速发展对 PCB 板的质量提出更加严格的要求。以机器视觉检测技术为基础的 PCB质量检测系统中,
2、系统的智能化、柔性化、快速性等方面尤为重要。为了缩短后续图像处理的流程与时间,以达到实时检测,图像提取质量是关键之一。其中取像环境之优劣是极为重要的,选择适当的光源照明方式是提高测量分辨率的有效方法。可根据需要,获取不同类型的彩色图像或灰度图像。由于 PCB 板的外观色彩较为单一,为处理方便起见,获取的图像为灰度图像。 图像预处理是图像识别前的重要工作,其目的是为了提高图像的质量,内容包括图像增强(平滑、对比度增强、锐化等)。图像增强是 PCB 图像预处理的重要内容,从增强处理的作用域出发可分为两大类:一是空间域处理,直接面对图像灰度级作运算;二是频率域处理,对图像的变换系统进行修正,然后通过
3、逆变换获得增强图像。由于频率法采用全局处理的方式,而且需要进行域的变换和反变换,这些操作比较费时,而空间域法仅仅进行局部处理,且可以使用计算相对简单的模板卷积操作来实现,因此比起频率域方法来说,空间域法运算量大大减少,算法实现简单,并且平滑效果很好。 然后是对图像进行分割。为了进行图像描述与分析,需要将图像划分为若干个有意义的区域。它依据的准则是使区域内部所考虑的特征或属性相同或相似,而这些特征或属性在不同的区域中则不同。 在将图像分割为几个区域后,获取区域的特征作为区域的描述子,这就涉及到图像描述。比如:轮廓线的长度可以作为边缘的描述子,区域的面积可以作为区域的描述子,此外还有纹理及区域的形
4、态等。 最后就是依据已提取的特征对图像中的不同目标分类或将目标从背景中分离出来,即图像的识别,从而检测出 PCB 图像上的缺陷。由于数字图像处理有较大的复杂性,所以从硬件的系统吞吐量上考虑,需要较大的带宽。如果完全采用硬件的方法来实现的话,费用昂贵,不便于修改,所以考虑用硬件采集数据,用软件实现算法。 PCB 图像处理与识别是本论文的重点内容。本章通过对 PCB 图像光学特性的分析,给出了在 PCB 图像预处理与图像分割中应采用的方法和所需注意的事项,进而结合数学形态学与模式识别方法,针对 PCB 板的一些常见缺陷,进行了初步的检测与识别。1. 图像预处理 在 PCB 光板图像的采集、获取、传
5、输过程中,由于输入转换器件及周围环境的影响等,如光强度的波动、光电转换过程中敏感元件灵敏度的不均匀性、数字化过程的量化噪声、机器振动引起固定在支架上的摄像机的抖动、供电电源的波动、PCB 上的污物以及 CCD 器件本身引入的散粒噪声等,使得 PCB 缺陷检测系统中采集的数字图像不可避免的含有各种各样的噪声和失真,实验采集得到的原始图如图 3-1 所示。图 3-1 采集得到的原始图像 为了便于后续的图像分析和理解,必须对图像进行预处理,消除噪声,矫正失真,改善图像质量,易于后继分析、处理。这里的预处理包括三个操作:图像平滑、图像对比度增强、以及图像锐化。1.1 图像平滑 消除图像中的噪声成份叫做
6、图像的平滑化或滤波操作。滤波的目的有两个:一是抽出对象的特征作为图像识别的特征模式;二是为适应计算机处理的要求,消除图像数字化时所混入的噪声。对滤波处理的要求有两条:一是不能损坏图像轮廓及边缘等重要信息;二是使图像清晰,视觉效果好。(1) 均值滤波 均值滤波是一种线形滤波技术,它是用一窗口逐一对准图像内每一像素,用窗口邻域的像素灰度的平均值取代窗口中心像素原来的灰度值。 窗口邻域 S 的形状和大小根据图像特点确定。一般选取的形状是正方形、矩形及十字形等,领域的形状和大小可以在全图处理过程中保持不变,也可根据图像的局部统计特性而变化,它的中心一般位于被处理点上。如为 33 邻域,点 (m, n)
7、 位于 S 中心,则假设噪声 n 是加性噪声,在空间各点互不相关,且期望为 0,方差为 2 , g是未受污染的图像,含噪图像 f 经过均值滤波后为:方差变小,说明噪声强度减弱了,即抑止了噪声。 (2) 中值滤波(a) 传统中值滤波 中值滤波是一种非线性的处理方法,它在一定条件下,可以克服线性滤波器如平均值滤波等带来的图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声最为有效,同时能较好的保持图像边缘。中值滤波法的基本思想是用像素邻域窗口灰度值的中值来代替该像素点的灰度值。做法是: 将所用的窗口内所有像素按灰度值排列大小; 取中间的灰度值作为滤波后的灰度值。 窗口的大小决定在多少个数值中求中值,窗口
8、的形状决定在什么样的几何空间中取元素计算中值。图 3-2 列出几种二维窗口及与之对应的最小尺寸的不变输入图形。一般地讲,与窗口对顶角连线垂直的边缘线保持变性。 中值滤波窗口越大,抑制噪声效果越好,但有效信号损失也越大,有时会失掉图像中的细线和小块的目标区域,因此需选择最佳窗口大小以兼顾二者。假设表示原图像的矩阵为 A ,经过 33 矩形窗口的中值滤波后得到图像为 B ,如公式 3-3 所示。 通常滤波窗内像素为奇数个,以便得到中间像素。若窗内像素为偶数个,则取中间两像素的平均值做中间像素。中值滤波对于消除孤立点和线段的干扰十分有用。但是,当窗口中噪声超过有用像素一半时,中值滤波将失效。中值滤波
9、法处理结果可以表明,上述选择区域的方法对抑制噪声是有效的。对于一些细节较多的复杂图像,还可以多次使用不同的中值滤波,然后再综合所得结果作为输出,这样可以获得更好的平滑和保护边缘的效果。 (b) 快速中值滤波在传统中值滤波算法中,每个窗口内的像素都要排序以获取中值。这种处理方法未考虑和利用相邻窗口间的相关信息,从而浪费了计算时间。为了提高系统检测速度,我们采用了一种快速算法24-26,具体思想如下: 设大小为 M N ,灰度级为 L 的灰度图像 I L M N ,其矩阵形式可写为: 窗口可以是任何中心对称的形状(矩形、圆、菱形等),为计算简便,这里只考虑矩形窗口, w(i, j) 表示中心位于
10、(i, j) 像素点的窗口。 中值滤波是把窗口中心、位置在图像上逐像素移动。若当前中心在 (i, j) 点,则滤波后图像 (i, j) 点之值为窗口 w(i, j) 内所有像素值的中值。当窗口向右移动一列,如图 3-3 中 w(i, j + 1) 所示。由于窗口 w(i, j + 1) 内除最右列像素外的像素在 w(i, j) 中已经进行过排序,因此,只需考虑如何将最右边的一列在保证排序要求的前提下插入到新窗口中,最后取其中值赋给像素 (i, j + 1) 。 实现快速中值滤波算法的步骤如下 (假设窗口宽度为W ,高度为 H ): 定义三个数组 F(H W), O(H ,W ) , C (H
11、) ,其中 F(H W)用于保存窗口内所有滤波像素灰度值,从 O(H ,W ) 每一行记录窗口中每一列经过排序的像素灰度值, C (H ) 记录新加入列的像素灰度值。 从一行最左边的窗口开始:把窗口内所有像素的灰度值保存到 F(H W)中并按升序排序;把窗口内各列像素灰度值按升序排列后放入 O(H ,W ) 对应的每一行中;取得这一窗口的中值。 窗口向右移动一列,对新加入的列升序排列后放入到 C (H ) 中。 在 F(H W)中按二分法查找到 O(H ,W ) 中前一窗口对应的最左一列的像素灰度值,用 C (H ) 中对应的像素灰度值替换,并对这一新加入的像素灰度值排序;重复这一步,直到 C
12、 (H ) 中所有像素灰度值完成替换与排序;取出窗口的中值。 判断是否移到这一行的最右一个窗口,如果没有则转到继续取这一行各个窗口的中值,否则转到处理下一行,直到处理完所有行。采用中值滤波算法对原始采集图像进行图像平滑的效果图如图 3-5 所示。 经过图像效果对比,我们可以看出,对于本文研究的 PCB 板缺陷,往往存在于敷铜线路边缘,由于均值滤波使得图像目标变得模糊,而中值滤波效果较好,因此我们采用中值滤波进行图像平滑去噪。1.2 图像对比度增强 图像在采集过程中,由于摄像头、采集卡噪声、光线等内、外部环境因素,图像质量或多或少会有所降低,采集到的原始图像并不能满足识别的具体要求;另外,PCB
13、 板的结构和制作工艺决定了印制板具有较为特殊的光学特性,与一般图像有许多不同之处。一般来说,PCB 图像的颜色偏暗。由于这一原因,导致图像的对比度不强,背景(基板)和对象物(布线或导孔)的灰度级较为接近,给识别工作带来了困难。此外,用来制作 PCB 的板材有一定透明性,对于双面板来说,被检测面会受到另一面图像阴影的干扰。因此,对图像进行对比度增强处理是必须的。 这里我们主要讨论两种对比度增强的方法:一是直方图均衡法;二是灰度变换法。 (1) 直方图均衡 图像的直方图是图像的重要统计特征,它可以认为是图像灰度密度函数的近似。按照随机过程理论,图像可以看作是一个随机场,因此具有相应的统计特征,其中
14、最重要的特征是灰度密度函数。通常图像的灰度密度函数与像素所在的位置有关,假设图像在点 ( x, y) 处的灰度分布密度函数为 p( z; x, y) ,那么图像的灰度密度函数为: 其中 D 是图像的定义域,S 是区域 D 的面积。一般地,要精确地得到图像的灰度密度函数比较困难,在实际中就用数字图像灰度直方图来代替。灰度直方图是一个离散函数,它表示数字图像每一灰度级与该灰度级出现频率的对应关系。假设一幅数字图像的像素总数为 N,有 L 个灰度级,具有第 k 个灰度级的灰度 rk 的像素共有 nk 个。则第 k 个灰度级即 rk 出现的概率为: 这个关系可以用图形表示,这个图形就是直方图,它由灰度
15、轴及一系列垂直于灰度轴的线段组成,垂足为 f = rk ,各线段长度与 hk 成正比。图 3-6 即为滤波后图像(即图 3-4)的直方图表示。 如果一幅图的灰度值集中在一个小范围的话,则不利于信息的分辨,这时,就可以采用直方图均衡化的方法。它的基本思想是对在图像中像素个数数多的灰度级进行展宽,而对像索个数少的灰度级进行缩减,通过点运算使输入图像转换为在每一灰度级上都有相同的像素点的数目,即输出图像的直方图是平的,从而达到清晰图像的目的,以便利用整个灰度值的范围,各个灰度等级都能充分地发挥作用,得到比较好的视觉效果。 用图像 g 的直方图代替灰度分布密度函数 pg ( g ) , T (*) 函
16、数为求累计分布函数的函数,则直方图均衡后的图像 f 为 :对上述公式做离散近似,若原图像 g ( x, y) 在像素点 ( x, y) 处的灰度为 rk ,则直方图均衡后的图像 f ( x, y) 在 ( x, y) 处的灰度 sk 为:可见,直方图均衡就是以累计分布函数变换为基础的直方图修正法,通过这种方法可以使得图像各灰度等级的比例更加平衡,从而产生一幅灰度级分布具有均匀概率密度的图像,扩展像素的取值动态范围。用直方图均衡的方法对滤波后的 PCB 图像进行图像增强,得到的增强效果图及其直方图表示如图 3-7 所示。但是,从图中我们也看到:由于直方图均衡没有考虑图像的内容,只是根据统计的方法
17、得到直方图上的比例均衡,因此这种方法并不灵活。 (2) 灰度变换 在曝光不足或过度的情况下,图像灰度可能会局限在一个很小的范围内,这时在显示器上,看到的将是一个模糊不清,似乎没有灰度层次的图像。灰度变换是一种通过重新均匀地分布各灰度值来增强图像对比度的方法,所以其有时又被称为图像的对比度拉伸,其目的就是为了增大动态范围,扩展对比度,使图像清晰,特征明显。 假设原图像 f ( x, y) 的灰度范围为 a, b,希望变化后的图像 g ( x, y) 动态范围为 c, d ,即灰度变换关系为: 通常,要进行处理的图像,目标物体占图像的大部分,因而大部分图像灰度级为目标物体灰度,小部分为背景灰度,对
18、上式进行改进: 这样即可以将灰度扩大,增大图像对比度达到增强图像的目的,有可以滤除部分过亮或过暗的图像点。 通过灰度变换可以实现图像均匀变亮(暗)、暗(亮)区增强、亮暗)区变暗、中间灰度加强(削弱)、亮(暗)区图像均匀展开等。通过线性拉伸,可改善原始图像的对比度,扩大目标与背景之间的灰度差异。当然,灰度变换也可采用非线性变换,例如对数变换、指数变换、Gamma 变换等,可根据图像实际情况进行选择。用灰度变换方法增强滤波后图像的对比度的效果图及其直方图表示如图 3-9所示。 虽然我们既可以采用直方图均衡的方法,也可以采用灰度变换的方法来实现 PCB 图像的对比度增强,但是,从图 3-7 所示的直
19、方图效果图以及图 3-9 所示的灰度变换效果图可看出,由于直方图均衡没有考虑图像的实际内容,而简单的由统计的方法将图像进行直方图均衡使得图像对比度增强,一般来说,使得图像看起来亮度过高,这种方法不够灵活。因此,本文的研究中选用灰度变换方法来实现 PCB 图像的对比度增强,从而提高图像质量以便后续处理。1.3 图像锐化 为了去除图像噪声,我们使用图像平滑技术,但是图像平滑或多或少会使图像中的边界、轮廓变的模糊,为了减少这类不利效果的影响,这就需要利用图像锐化技术,使图像的边缘变的清晰。 图像锐化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变的清晰,经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可以对其进行逆运算(如微分运算)就可以使图像变的清晰。从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以用高通滤波器来使图像模糊的实质化。