机器视觉—检查系统进行自动缺陷检测

随着计算机技术的不断进步,在实验室和生产现场利用图像采集和图像处理技术进行检测变得越来越容易。现在不仅有速度更快的CPU、PCI总线架构等硬件能够满足视觉应用要求,而且软件也越来越功能强大直观易用,便于测试工程师针对具体需求开发各种应用。本文介绍选择机器视觉系统时在硬软件方面应考虑的主要因素。
  大多数基于PC的视觉系统都可以执行检测任务,在购买视觉检测设备之前,首先需要确定要完成什么样的检测任务以及该任务对性能的具体要求。例如在电子制造中大多数视觉系统用于发现有缺陷零部件,那么摄像头加上视觉系统能看到缺陷吗?回答这个问题常常需要先建立一个不良品和良品测试数据库,然后在这个基础上构建一个使用该图像数据库作为样本的样机系统,这种方法的优点是对样机只需很少改动就能得到正确的软件设置。
  在视觉检测应用中照明非常关键,因为它能保证图像采集是在一致条件下进行的。应使用正确的照明,使被测部件与周围背景形成鲜明的对比,并得到尽可能多的灰度等级,这样视觉效果就会明显表现出来。对于高速运动的部件,还可以用闪光使图像瞬时固定。
  照明的另外一个目的是减小反射。有时反射来自周围自然光线,会随时间而变化,因此同样的场合白天和夜晚相比光线变化要大得多,这就需要配置照明或使用光罩,以遮挡周围的光线。
  硬件考虑因素
  选择视觉系统首先要选择正确的摄像头和镜头。构建图像的基本单元称为像素,一幅普通图像实际上是成千上万像素填满的图框。具体应用要求不仅包括每幅图像所需像素数,还要包括摄像头镜头类型。图1:机器视觉系统硬件包括摄像头和图像采集卡。
  例如要检测录像用的磁带质量,那么所用摄像头的视场(FOV)至少应该有录像带那么宽(这里是20mm),假设要找的缺陷很小只有0.25mm,为保证摄像头能发现这么小的缺陷,需要一个分辨率为每0.25mm至少提供4个像素的摄像头,如果小于这个数,就会丢失信息,发现不了缺陷。这表示对应于20mm视场,每1mm需要16个像素,从而所需摄像头传感器阵列的分辨率为320×320像素。

  另外一个重要的考虑因素是工作距离。工业上很多检测都是针对难以探查的部位,所以摄像镜头与被检物体之间的工作距离必须予以考虑,场深(DOF)是需要对物体聚焦的Zui大深度。
  有些图像采集板通过让用户在图像框内定义一个重点范围区域(ROI)的方法使图形处理性能大大增强,因为指定较小区域可以减少摄像头传送及计算机处理的信息。例如ROI可以将全帧(640×480像素)缩小到一个较小区域(200×200像素),从而有效地将像素从307,000个减少到40,000个,像素越少处理速度越快。而对于不能牺牲数据的场合,数字摄像头可能是更好的选择。
  另外一个要决定是用彩色还是单色。虽然彩色摄像头能够产生更吸引人的图像,但彩色并不能增加多少有价值的信息,而且一般情况下需要用更多的时间来进行处理(单色图像通常是8位/像素,而彩色图像需要32位/像素),这一点在测量边缘距离应用中特别突出。然而有时候色彩是唯一辨别因素,这时彩色就变得很重要,例如在检测熔断丝、电容或电阻时可能需要搜索某种特定的色彩。对于高分辨率彩色应用场合,可以考虑使用三片式或RGB摄像头。
  除了面扫描摄像头外,还有一种线扫描摄像头,能够每秒产生10,000线视觉信息。这类摄像头对于检测旋转柱状部件特别有用,利用软件可把线扫描摄像头传出的图像缝合在一起而产生一个完整的图像。因为线扫描摄像头只需要照亮物体一个特定部分,所以不需要闪光灯或其它复杂定时控制。
  在选择基于PC的视觉系统时,还需要图像采集硬件,这时要考虑的特性包括驱动软件,以及硬件能否很好与运动控制和数据采集集成在一起。例如可以用运动控制监测部件传送带的速度,使得图像采集与整个流程同步;还可以将机器振动、压力监控和温度控制包括在生产系统中,以便预先制订维护计划。用户能够很容易将传送带控制与图像采集硬件集成在一起,从而在数据采集硬件、软件和运动控制之间实现同步,得到一个完整的解决方案(图1)。

 

464b0df6-ccca-4b23-99f2-c8410856ed11.jpg

 

  软件考虑因素
  至此我们讨论了一些设计基于PC的视觉系统时必须考虑的硬件因素,但是这种视觉系统的真正优势要靠软件提供。选用好的软件可以让用户随意用不同图像方案进行试验,过去采用专用计算机代码进行试验成本高而且很困难,如今已有一些现成软件如NationalInstruments的IMAQ Vision Builder和IMAQVision等,可为初级或高级开发人员提供简便易用的方案开发工具(图2)。

 

b8a18ad0-8d84-4572-8e40-3331a45e51fe.jpg
利用机器视觉检测系统进行自动缺陷检测
 

  例如VisionBuilder有一个直观的界面和使用指导,测量工程师不必进行复杂的编程就可以快速测试各种视觉功能。IMAQ VisionBuilder还能创建LabVIEW代码或脚本,可用来创建使用VisualBasic、C++或者C语言的视觉应用。用户可以不必关注视觉脚本的执行,而把注意力集中在视觉技术和算法上。有许多图像处理技术算法,我们下面主要讨论三个Zui重要的技术:边缘检测、图形匹配和灰度处理。
  边缘检测
  边缘检测的一个用途是通过测量两个边缘的间距来判定部件缺陷,这类测量很容易用PC实现自动化,测量计算越来越快,这对那些对时间要求很苛刻的人来讲是一个重要的考虑因素。图2:利用软件可以很容易对图形要素进行设置。
  也可以用边缘检测来检测部件上某个特定部分,它对部件上的边缘数进行计数,然后将这个数与预置数据相比较,依此完成搜索。如果值匹配,说明部件上找到这一部分,如果值不匹配,就认为部件有缺陷。
  关于边缘的定义是指图像中相邻像素灰度值出现明显变化的区域。在IMAQVision中,边缘检测沿搜索区域对一个一维曲线像素值进行搜索,一维搜索区域可以是直线、圆弧、椭圆弧、矩形或多边形的边界,或者手绘区域的边线,软件对沿线像素值进行分析,检测是否有明显的强度变化。用户可以指定强度变化的临界值,以判定什么样的变化构成边缘,这些参数包括:边缘强度,用来定义背景和边缘之间灰度值Zui小差;边缘长度,指边缘和背景之间产生所需灰度差必需Zui大距离;边缘极性,判断边缘是往上升的边还是往下降的边;边缘位置,用来确定图像中边缘的X,Y坐标。通过改变这些值,用户可以用编程方法定义各种临界值,以发现不同成像环境下的各个边缘。
  当图像分辨率足够高时,大多数测量以像素所具有的精度进行精确测量,然而有时由于所用传感器尺寸限制,很难达到机器视觉应用所需Zui小图像分辨率,此时可以利用次级像素精度来发现边缘位置。
  次级像素分析是一种软件分析方法,用来估算更高分辨率图像系统的像素值。采用次级像素精度计算边缘位置时,边缘检测软件以二次或三次函数之类的高次插入函数拟合像素强度数据。插入函数通过原像素值之间的像素强度值得到边缘检测算法,软件然后使用强度信息找到具有次级像素精度的边缘位置。
  利用成像系统目前所用的元件和软件工具,用户能够可靠地估算出四分之一像素精度,不过评估结果主要取决于成像设置,如像照明和摄像镜头等条件。在使用次级像素信息以前,应先尝试改进图像的分辨率。
  图形匹配
  所谓图形匹配,就是先有一个己知图案(模板),然后判定这种图案在被检部件上是否存在,或是将其当作基准作为进行其它测量的起点。传统图形匹配技术包括标准互相关、锥形匹配和比例常数匹配。
  标准互相关是在图像中寻找图案Zui常用的方法。由于其内部原理是基于系列乘法操作,所以相关运算过程很费时间,但使用像MMX之类的新技术能够进行并行乘法,可减少总计算时间。用户可通过缩小图像尺寸或限制图像匹配区域加速匹配过程。不过基本标准互相关技术还是不能满足许多应用对速度的要求。
  也可以通过缩小图像和模板图案的尺寸减少计算时间,锥形匹配就是这样一种技术。在这种方法里,对图像和模板两者都进行部分采样,使其空间分辨率变小,甚至可以将图像和模板尺寸减至它们原始尺寸的四分之一。这样首先在缩小的图像中进行匹配运算,因为图像小了,匹配更加快速,处理完成后,只有原始图像具有很高匹配度才考虑继续进行余下匹配处理。
  当图像没有缩放和旋转时,标准互相关是探查图形一个很好的方法,互相关一般能检测同一尺寸图形旋转5至10度后的图像。但将相关计算范围进行延伸以检测那些比例变化和旋转较大的图形则比较困难,对于按比例变化的图形,用户必须重复缩放或调整模板尺寸,然后进行相关运算,这给匹配过程增加很大工作量;而对于旋转的处理更加困难,如果能够从图像中找到有关旋转的线索,则可以简单地旋转模板并进行相关运算,但如果旋转的性质不知道,寻找Zui佳匹配需要对模板进行尽可能多的旋转处理。

  灰度处理
  灰度处理转换可以取出并改变图像中的微粒结构,可使用灰度处理功能对图像像素强度进行滤波或平滑处理,包括噪声滤波、不均匀背景修正和灰度级特性提取等。
  灰度处理就是将一个像素与那些围绕它的像素进行比较,基本灰度处理功能包括侵蚀、扩张、打开和关闭。可以使用这些功能扩大亮区减少暗区,或者相反,从而改变区域的形状。这些功能能够对渐变图形进行平滑处理,并增加边界区域的对比度。
  如果周围像素灰度较低,就可以用侵蚀功能降低被包围像素的亮度,周围这个概念可以用一个预置的结构要素来定义。如果周围像素灰度较高,该功能也可用来增加被包围像素的亮度。灰度扩张具有与侵蚀相反的效果,因为扩张亮区也就等于侵蚀了暗区。
  灰度打开功能由侵蚀接着一个扩张组成,而关闭功能则是扩张接着侵蚀。打开功能用来除去孤立在暗区域中的亮点,而关闭则可以除去亮区内的暗点。两种功能的优点是他们对微粒的处理很平滑,因为侵蚀和扩张在形态上对立,故而这些操作不会根本上改变微粒的区域和形状。连续应用打开或关闭功能常常会得出相同的结果。