《电子技术应用》
您所在的位置:首页 > 其他 > 业界动态 > 一种改进分水岭算法在高速高精度贴片机视觉检测中的应用

一种改进分水岭算法在高速高精度贴片机视觉检测中的应用

2008-08-25
作者:黄恢乐, 胡跃明, 袁 鹏

  摘 要: 针对高速高精度贴片机" title="贴片机">贴片机视觉检测" title="视觉检测">视觉检测中的元件图像分割" title="图像分割">图像分割问题,提出了一种改进分水岭算法。该算法结合传统的边缘检测" title="边缘检测">边缘检测和阈值分割" title="阈值分割">阈值分割,并采用一定的集水盆区域合并准则,有效地抑制了过分割现象。现场运行结果表明该算法效果很好,满足了贴片机视觉检测的要求。
  关键词: 分水岭算法 贴片机 图像分割


  随着表面贴装技术的迅速发展,贴片机在我国电子组装行业中的应用越来越广泛。它是机-电-光以及计算机控制技术的综合体,通过吸取-位移-定位-放置等功能,实现了将表面贴装元件快速而准确地贴装到PCB板指定的焊盘位置[1~2]。其中贴片机视觉检测的任务是完成贴装元件的中心定位、质量检测以及贴装校正等。而实现正确的视觉定位与检测的前提是保证图像的正确分割,即将贴装元件准确地从图像的背景中分割出来。
  图像分割作为由图像处理到图像分析的关键步骤,至今已有许多相关算法被提出,大致分为三类:一是基于阈值的方法;二是基于区域的方法;三是基于边缘的方法。尽管这些方法已被广泛应用于医学图像分割、遥感影像特征提取以及红外目标检测等诸多领域中,但对于贴片机这种高速运动环境下的高速高精度图像分割算法国内目前尚处于研究应用的起步阶段。
  分水岭(Watershed) 算法是一种新近发展起来的数学形态学图像分割方法。这种方法之所以引起人们的重视, 一是其计算速度较快, 二是物体轮廓线的封闭性,三是定位的精确性。但分水岭算法对微弱边缘也具有良好的响应,因此采用分水岭算法进行图像分割时,通常会产生过度分割的现象。
  本文针对项目组在国内率先研制和产业化的八头全自动高速高精度贴片机中涉及的计算机视觉检测问题,提出了一种以分水岭算法为基础,并结合传统的边缘检测和阈值分割算法的改进分水岭算法,避免了分水岭变换过度分割的缺陷,实现了贴装元件与背景的精确分割。
1 传统阈值分割算法及其缺陷
  简单说来,灰度图像的阈值分割就是先确定一个处于图像灰度取值范围之中的灰度阈值,然后将图像中各像素的灰度值与这个阈值相比较。像素灰度值大于阈值的为一类,像素灰度值小于阈值的为另一类,灰度值等于阈值的像素可归入上述两类之一。这两类像素一般分属图像中的两类区域,所以对像素根据阈值分类就达到了将目标从背景中分割出来的目的。
  如果要把图像中各种灰度的像素分成多个不同的类,那么需要选择一系列阈值以将每个像素分到合适的类别中去。如果只用一个阈值分割称为单阈值分割方法,如果用多个阈值分割称为多阈值分割方法。
  一幅原始图像f(x,y)取单阈值T分割后的图像可定义为:
  
  在一般的多阈值分割情况下,取阈值分割后的图像可表示为[4]
  
  其中T0,T1,…,Tk是一系列分割阈值,k表示赋予分割后图像各区域的不同标号。
  由此可见,阈值分割算法主要有两个步骤[4]
  (1) 确定需要的阈值;
  (2) 将分割阈值与像素值比较以划分像素。
  以上步骤中,确定阈值是分割的关键,如果能确定一个合适的阈值就可以方便地将图像分割开来。但由于图像的复杂多变性,确定一个准确的阈值并非易事。近年来许多阈值分割算法还借用了神经网络、模糊数学、遗传算法、小波变换等工具,但由于所处理的图像不同, 每种方法的适用性都受到一定的局限。特别是对于贴片机,照明情况复杂多变,光照条件和变化对贴装元件图像的灰度分布以及元件与背景的对比度影响很大,因此很难确定一个准确的阈值来对图像进行分割,传统的阈值分割算法受到了很大限制。特别当元件与背景的对比度差或元件旁边有干扰点时,即使阈值已被确定,也有可能导致误分割。
2 传统分水岭算法及其缺陷
  分水岭算法是一种基于数学形态学的分割方法,基本原理是把灰度图像看作是测地学上的地形表面,图像中每个像素的灰度值代表该点的海拔高度,图像中每一个局部极小值及其影响区域被称为集水盆,而集水盆的边界则形成分水岭。分水岭的计算方法很多, 图1描述了分水岭算法的经典模型: 浸没模拟。在图像的每一个局部极小值处刺穿一个小孔,然后将其逐渐沉入一个湖中, 图像的局部极小值点先进水, 水逐渐浸入整个集水盆地。当水位达到盆地的边缘高度就将溢出, 这时在水溢出处建立堤坝。如此直到整个图像沉入水中, 所建立的堤坝就成为分开盆地的分水岭。


  原始输入图像f(x,y)经过分水岭变换W{·}得到输出图像g(x,y)的算法可以简单表示为:
  g(x,y)=W{ f(x,y)}    (3)
  基于上述浸没模拟, 人们提出了许多分水岭计算方法,比较经典的是Vincent L提出的。在该算法中,分水岭计算分为两个步骤,一个是排序,另一个是淹没。首先按像素灰度值的升序排列像素,然后升序实现淹没过程,并利用一个先进先出的数据结构,即循环队列来扩展标记过的聚水盆地。通过一定的规则, 分配分水岭标记, 最终得到准确的结果[5]
  分水岭算法对灰度变化是极为敏感的。图像中的自然背景、噪声、物体表面细微的灰度变化都会产生过度分割的现象。通常情况下,物体的边缘信息会淹没在过度分割产生的复杂边缘信息中[6]。如何克服过分割一直是研究的热点。克服过分割的方法可以分为两种[7]:一种是在分水岭算法之前,通过对图像滤波,进行标记提取,从而有效抑制噪声引起的过分割;另一种是在分水岭算法之后,通过一定的合并准则将小区域合并到相邻区域中。具体区别在于初始分割方法与合并准则的不同。
  在贴片机项目中,笔者结合传统的边缘检测和阈值分割算法,在分水岭算法前后均对图像进行一定的处理,有效地抑制了过分割,得到了良好的效果。
3 改进分水岭算法
  图像分割的目的是将图像分割成不同的物体,即提取出物体的边缘。由于物体边缘的灰度变化比较强烈, 而梯度图像正好描述了该图的灰度变化情况, 因此, 可使用梯度图像的分水岭变换来进行图像分割。梯度图像可将原始图像通过梯度算子边缘检测得到,这里采用索贝尔(Sobel)算子,其两个3×3梯度变换卷积模板如图2。


  原始输入图像 f(x,y)经过边缘检测索贝尔算子S{·}得到梯度图像f′(x,y)的算法可以简单表示为:
  f′(x,y)=S{f(x,y)}    (4)
  分水岭变换得到输入图像的集水盆图像,而集水盆之间相邻的像素点,即为分水岭。显然,分水岭表示图像极大值点。但是这些极大值点中并非所有都是期望的,有些是由于物体的细小结构和噪声引起。如果每一个极大值点都确定一个集水盆,那么输出图像将产生过分割。由于背景之间、物体之间的像素灰度值分别具有相似性,而背景与物体之间的像素灰度值则差别较大,分水岭变换输出图像的各极大值点之间也反映了这种相似性和差别。因此,设定一分割阈值,定义为两相邻极大值点之间的灰度差。当某一极大值点与它最邻近的另一极大值点之间的灰度差小于该阈值时,由这两个极大值点确定的集水盆将合并;否则两集水盆保持不变。该算法描述为:设分水岭变换后的输出图像为g(x,y),任意两相邻极大值点的灰度值分别为p1、p2,对应的集水盆分别为C1、C2,若用(C1+C2)表示两集水盆合并,(C1、C2)表示两集水盆保持不变,分割阈值为T1,则该算法的输出图像G(x,y)可表示为:
  
  经过区域合并后的图像G(x,y)为一灰度图像,而且物体仍有可能被分割成灰度值各不相同的几个区域。考虑到元件位于图像中心位置一定范围内,基于这种先验知识,对G(x,y)再作一阈值分割,取阈值T2为图像左上角位置像素灰度值,G(x,y)中灰度值等于T2的像素变换为最小值(0),其余像素变换为最大值(255),经过变换后的目标图像F(x,y)可表示为:
  
  这样得到的目标图像为二值化图像,元件为全白,背景为全黑,实现了元件的正确分割。
  综上所述,改进分水岭算法的具体实现步骤如下:
  (1)原始输入图像f(x,y)进行边缘检测得到梯度图像f′(x,y),这里边缘检测采用索贝尔算子S{·};
  (2) 梯度图像f′(x,y)进行分水岭变换输出包含所有集水盆的灰度图像g(x,y);
  (3) 针对g(x,y)中所有相邻的集水盆,在分割阈值T1下进行区域合并,输出灰度图像G(x,y)。其中T1取值为g(x,y)中物体与背景所处极大值点之间的最小灰度差,算法描述见式(5);
  (4) G(x,y)在阈值T2下进行分割,算法描述见式(6),最终得到目标图像F(x,y)。
  至此实现了物体与背景的分割。
4 试验结果及分析
  将改进分水岭算法应用于贴片机视觉检测中的贴装元件图像分割。为了便于比较,本文也给出了采用传统阈值分割后的分割结果,如图3。


  第一列为三种类型元件及其吸嘴的原始灰度图,分别为Chip、Sot和Soic。可见不同类型的元件,其图像灰度分布各不相同。
  第二列为传统阈值分割后的二值化图,分割阈值分别为90、75和50。可见各类元件的分割阈值差别较大,不能统一。如果阈值太低,则吸嘴上部分较亮的区域也被分割出来;反之,则元件某些管脚的连接部分就不能合并到管脚中,导致这些管脚被分割成两部分。这些都不利于后续图像分析。
  第三列为采用改进分水岭算法分割后的二值化图,分割阈值均为50。可见,吸嘴完全被分割到背景中,而元件所有管脚及其连接部分都合并到一个区域中,不存在过分割现象。而且由于该算法采用的阈值实际为一相对值(相邻极值点的灰度差),不同于传统阈值分割中阈值T1为一绝对值。试验证明,当T1在一个比较大的范围内变化时,均能实现元件的正确分割,该算法具有较好的稳定性。
  图像的正确分割是进行图像分析的前提,本文提出的将分水岭变换与边缘检测、阈值分割相结合以及集水盆合并处理的改进算法,可以比较好地处理物体的分割和背景的抑制与消除问题。该算法在贴片机现场生产过程中的应用表明,其性能稳定可靠,实现了贴装元件图像的正确分割,满足了贴片机视觉检测的要求,为后续图像分析打下了良好的基础。
参考文献
1 张文典.实用表面组装技术.北京:电子工业出版社,2002
2 Qi Qi feng, Hu Yue ming, Yuan Peng, Wu Xinsheng. An intelligent position and quality detection system in IC production. Proc.of the IFAC Conference on New Technologies for Computer Control. Hongkong,2001;(10):193~196
3 Zhao Jianwei,Wang Peng,Liu Chongqing. Watershed Image Segmentation Based on Wavelet Transform.ACTA PHOTONICA SINICA, 2003;32(5)
4 章毓晋. 图像分割. 北京:科学出版社, 2001
5 Vincent L, Soille P.Watersheds in digital spaces:an efficient algorithm based on immersion simulation. IEEE Trans. PA-MI13, 1991:583~598
6 马兆勉,陶纯堪. 红外目标的边界检测和标注. 红外与激光工程,1999;12(6):29~33
7 刘喜英,吴淑泉,徐向民.基于改进分水岭算法的医学图像分割的研究.微电子技术,2003;8(4):39~42

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。