产品裂纹与划痕的机器视觉检测
2015-03-31 来源:ck365
明确检测任务
必须先了解产品表面缺陷是如何产生的,并明确归类这些缺陷在图像中可能呈现的形状。例如,粉末金属零件在材料比较薄时烧结中会出现裂纹。基于经验知识,我们可以将机器视觉检测集中在产生缺陷的区域、明确检测方向,这样有助于提高缺陷检测的可靠性。
当前的人工检测操作是如何进行的?现有检测系统存在哪些不足之处?精度、速度、全检还是抽检, 可靠性如何? 如果是机器视觉取代人工检测,又是如何要求的?必须事先了解清楚。
在人工检测过程中,可以凭直觉和经验来预测缺陷可能呈现的形状。例如,划痕通常呈一系列平直或轻微弯曲线段,人们往往会凭借心态学中的“完形”能力,下意识地将这些线段连成一条线。在机器视觉检测中,这种“完形”能力可通过视觉演算大致显现出来。
在进行高难度检测作业时,检测人员间可能会产生不同意见——那是一个划痕?或者仅仅是恰巧形成一条线的亮点?这说明缺陷检测的可靠性有待考量。如果表面缺陷较清晰,且缺陷构成很明确,那么机器视觉检测结果的一致性和可靠性要高于人工视觉检测。
照明是产品表面缺陷检测的一个极其重要的因素,因为表面缺陷通常具有低对比度的特点,而通过采用正确的照明可将其与背景分离开来。对于平面凸起缺陷,可采用低角度照明,“照亮”凸起部位边缘。对于平滑缺陷,或进行弯曲表面缺陷检测时,可采用漫射光。众所周知,照明是一门艺术。请随时咨询光源供应商或TeledyneDALSA技术工程师的意见,他们的经验可以帮助你选择合适的光源及正确打光。
在采集的图像中,裂纹或划痕应至少被三个或更多像素覆盖。有些情况下需使用多个高分辨率相机或单个相机进行多次拍摄,或者更常见的是线扫描相机1K至16k以便采用指定分辨率检测部件整个表面达到用户的精度要求。 为检测产品表面的小缺陷,确保部件表面始终处于相机聚焦区域至关重要。但这对于弯曲表面是一个难题。
阴影校正
在取得没有缺陷和有缺陷的产品的清晰图像后,开始尝试多种机器视觉算法进行检测。在本文中,作者使用了Teledyne DALSA公司出品的机器视觉软件 Sherlock。这款软件不仅可以灵活尝试不同的预处理方案,而且提供了适用于裂纹和划痕检测的有效算法。
如果划痕或裂纹的灰度与缺陷的背景存在较大的灰度偏差,那么检测就比较容易。 在这种情况下,可设定灰度阈值,用二值化的方法将划痕或裂纹从背景中剥离开来。使用blob分析方法得到划痕或裂纹的位置大小等信息。
但是,二值化后的缺陷也有可能是不均匀光照引起的,而非真正的划痕或裂纹。Teledyne DALSA 视觉软件Sherlock里的阴影校正法可消除光照变化,提高裂纹和划痕检测的可靠性。它主要是通过空频滤波或根据基准图进行输入图像分离来实现的。
空域高通滤波器能够放大具有较高空域频率的裂纹和划痕,消除因照明强度变化造成的低频变化。因此,它可用于检测产品表面的裂纹和划痕。但是,高通滤波器也会放大部件表面纹理,在图像上生成噪声,加大裂纹和划痕检测难度。 因此,我们应设法去除较低空域频率,而非放大较高空域频率。仅保留较高空域频率变化——划痕和裂纹。
图1 阴影校正消除照明变化造成的灰度变化(上图),提高划痕检测的可靠性(下图)
基准图是在部件未放置的情况下生成的。该图显示了照明分布情况。后续的输入图像则根据基准图进行分离,消除光照影响。由于图像灰度是光照和部件反射或透射相乘的结果,因此,基于基准图的逐个像素分离法能够消除光照因素,仅保留部件反射或透射因素。这一方法被广泛用于显微镜检查,但较少用于生产线。
黄金参照法
多数部件都存在反射或透射变化,而这会遮掩表面划痕和裂纹。我们扩展基准图的思路,可通过多幅经严格对齐的合格件图像(而非空白图像),得到平均值,从而生成黄金参照图像。根据这一总体偏差,我们可以预估部件各点上的自然或可接受变化值。
输入部件图像可以减去黄金参照图像,以便消除光照变化和部件反射或透射变化。这一方法可用于设定图像各点的检测阈值,在部件灰度结构可以被严格控制的情况下尤其有效,例如半导体。黄金参照图像和部件输入图像同样必须进行位置、旋转、比例方面的校正。
采用适配滤波器剔除重复图案
黄金参照法在某些情况下可以剔除部件重复图案,如网格。但如果缺乏对部件结构、反射率或透射率的控制,就可能会产生错误信号。而适配滤波器可解决这一问题。
适配滤波器的基本原理是采用一种与部件重复图案的空间频率相匹配的滤波器,滤除重复图案,仅保留较为完好的表面缺陷——优化表面缺陷的信噪比。使用适配滤波器的优点包括:容忍滤波器与输入图像未对齐,以及在归一化后容忍图案的灰度变化。
一个办法是,采用Teledyne DALSA 视觉软件Sherlock里的特殊算法将重复图案转换成空间频率,生成适配滤波器。接着,在空间频率域中,用输入图像减去适配滤波器,有效去除输入图像中与滤波器频率相匹配的那部分空间频率。如果不需要识别出表面缺陷的部位和结构,在空间频率域中即可完成缺陷检测工作。或者,也可使用其逆变换法,绘出剔除重复图案后的空间灰度图像,然后在得到的空域中进行检测。
如果表面缺陷的空间频率与滤波器的空间频率出现重叠,那么该缺陷会被削弱。如果重叠部分较大,那么,滤波后的信号强度不足以保证缺陷检测的可靠性。
图2 上行(左起): 合格件、单道划痕、多道划痕 下行(左起):合格件、单道划痕滤波后、多道划痕滤波后
结构法
即便采用了上述方法,由于缺陷信号强度通常过小,往往会降低检测的可靠性。结构法主要应用缺陷结构的已有信息,提高检测效果。例如,划痕在图像中通常是一些点连成一条线。因此,通过放大或积累线上的点,可以提高划痕检测的可靠性。下文将介绍两种结构法。
数学形态法 —— 修改及检测图像中部件的形状(形态)。腐蚀运算用于剥离发亮物体边缘的像素。膨胀运算则用于将像素添加至发亮物体边缘。假设某个表面划痕的亮度高于物体本身,而且已了解划痕的大致方位。在此情况下,可以运用定向膨胀运算,扩展和放大划痕上的各点。然后,可以选择是否采用定向腐蚀运算法,对得到的线条进行细化处理,同时减少先前被放大的噪声像素。在事先了解缺陷结构的情况下,我们还可使用其他各种形态学算子提高缺陷检测的可靠性。
图3 运用形态学和其他方法检测出的一个裂纹
霍夫变换法 —— 在检测阈值范围外的各像素点“投票”其所有可能位于的像素线。由一定数量阈值外像素组成的像素线即为划痕或裂纹。霍夫变换法可用于检测极弱的线条信号,因为它可以集合多个像素组成的像素线。这一方法在某些情况下非常有效,但存在运行慢,检测设置难度高的缺点。
图4 运用霍夫变换法检测出的纹理工作台面材料上的划痕(样品的绿色线条)
任何新出现的表面缺陷都是一个挑战。但是,只要凭借一定经验和正确使用工具,我们就可战胜挑战。本文中介绍的检测方法,仅仅只是该领域的冰山一角。
下一篇:模具精密检测技术