吴晓君 ,唐 婷 ,张 林 ,蔡君义
(1.西安建筑科技大学 机电工程学院,西安 710055;2.西安启源机电装备股份有限公司,西安 710018)
辊弯成型(roll forming,又称冷弯成型)是指通过顺序配置的多道次成型轧辊,把卷材、带材等金属板带不断地进行横向弯曲,以制成特定断面的型材[1]。随着工业化水平的不断发展,对钢材表面质量的要求也越来越高,如何快速准确地检测出表面缺陷成为钢板轧制过程中非常关键的一个环节。传统的表面缺陷检测主要依赖于人工目测和抽检,检测结果易受检验人员的经验水平等主观因素影响,且劳动强度大,误检、漏检现象严重。近年来,以图像处理为基础的机器视觉技术不断应用于工业生产的表面缺陷检测过程中,其较高的检测精度、较低的检测成本和易于自动化处理的特点受到众多厂家的青睐。
西安某大型国有企业拥有一套国际先进的数控式散热器辊弯成型生产线。实际生产中,由于硅钢片平均片长为2000 mm,片宽为520 mm,板厚为1.0 mm~1.2 mm,边部较窄,经辊弯成型加工后,极易产生边浪。现有的人工检测方法经常检测不及时且漏检率较高,导致变压器散热片的废品率较高,给企业带来巨大的经济损失。
针对该企业的上述问题,本文设计了一套基于机器视觉技术的表面缺陷在线检测系统。该系统已成功应用于该企业,并取得了良好的运行效果。
硬件系统主要组成部分包括光源、CCD相机和工控机等,如图1所示。
图1 机器视觉硬件系统Fig.1 Schematic diagram of hardware system for machine vision
照明光源是机器视觉系统中的重要组成部分。一般来说,机器视觉系统为了避免环境自然光线或灯光对其工作状态的影响,光源应亮度大、亮度可调、均匀性好及稳定性高,以抑制外界环境各种光对图像质量产生较大影响而导致机器视觉系统的故障或误判行为[2]。由于LED灯具有发光强、散热小和寿命高等优点,本系统采用红色LED灯作为系统的光源。
CCD(charge coupled device)即电荷耦合器件,是一种半导体器件,能够把光学影像转化为数字信号。常见的CCD摄像头包括线阵和面阵2种方式。对于移动的物体,面阵CCD的检测精度不高,故通常采用线阵CCD方式。
本系统采用的CCD摄像头采用BrtVision线阵CCD数字相机,该相机无需采集卡,可直接与工控机连接,其具体参数如下:型号为BLU0708M30,有效像素为2048 pixel(对应本系统下的最高水平分辨率为3.94 pixel/mm)以及8 bit采样精度。
照明方式通常可以分为明场照明和暗场照明。本系统选择暗场照明方式,将相机竖直摆放,光源以一个较大的角度为入射角,若硅钢片无边浪,被测硅钢片表面颜色是均匀且较暗;若有边浪,图像则呈现交替的亮带和暗带,有利于图像识别阶段的边缘检测。
当CCD相机将采集到的图像传输到工控机后,我们需要对图像进行边缘检测以提取边缘信息供后续故障分类环节使用。
边缘检测作为硅钢片特征提取的重要步骤之一,常见的边缘检测算法包括Roberts、Sobel、Prewitt和Canny等算法[3],由于Canny算法具有很好的信噪比和检测精度,在图象处理领域得到了广泛的应用[4]。但是,传统的Canny算法也存在很多不足,如高斯滤波参数选择困难、易受噪音干扰,人工确定阈值方法不够精确等。针对这些不足,很多学者将Canny算法与小波变换、数学形态学等结合在一起,这样虽然在一定程度上弥补了Canny算法的不足,但同时也大大提高了运算的复杂程度,不适用于在线监测[5]。本文利用Otsu法自适应确定阈值的改进Canny算法对图像进行边缘检测。
传统Canny算法边缘检测步骤如下:首先利用高斯滤波器对原图像进行滤波去噪,其次对滤波后的图像求梯度幅值以及梯度向量,进而对梯度图像进行非极大值抑制操作,剔除非最大值的像素点;最后人工选择高、低阈值并分析确定图像的最终边缘,其流程如图2所示。
传统Canny算法的缺点:①在滤波去噪环节,采用二维高斯函数对图像进行平滑处理,是对图像整体进行滤波,从而使图像不含噪声的区域也变得模糊,这是使用者所不希望的;②传统Canny算法在检测边缘时,2个高低阈值完全由人为根据经验设定,不具有自适应性,检测效率较低,无法满足大型图像库中图像边缘自动检测的要求。
为了减少和抑制噪声对边缘检测的影响,本文先对图像进行自适应平滑滤波[6]。该方法只对噪声区域进行平滑处理,对无噪声的区域不进行平滑处理,从而将模糊的影响降到最低。对图像中每个像素计算其3×3邻域R中 8个点的平均灰度ρ(R)和方差σ2(R),若像素灰度与 ρ的差值大于 1.5σ(R),则认为该像素为噪声;以噪声像素邻域中灰度位于[ρ(R)-σ2(R),ρ(R)+σ2(R)]范围内像素的加权平均灰度作为该像素的真实灰度值。对于噪声位置具有随机性和局部性的图像,具有很好的效果。其效果对比如图3所示。
图3 不同滤波方法效果对比Fig.3 Comparison of different filtering methods
从图3可以看出,对局部(上半部分)含有噪声的图像进行不同的噪声滤波处理后得到的效果具有明显的差异。中值滤波、高斯滤波和维纳滤波等传统滤波方法对噪声有一定的滤波作用,但是效果不是很明显,而且模糊了不含噪声的部分。自适应平滑滤波相对于其他的滤波方式,滤波后效果较好,且不含噪声的部分基本未被模糊。
众多阈值分割算法中,1979年由Otsu[7]提出的基于类间方差最大化的分割算法一直被认为是自动选取阈值的最优方法。它将图像分为背景与目标两类,通过搜索计算类间方差最大值得到最优阈值。
设T为最佳高阈值对应的灰度值,k(0,1……255)为整个图像的灰度值,wB和wO分别为图像背景和目标图像对应的总像素数,p(k)为灰度值为k对应的像素数,则可以得到下列公式。
背景均值:
目标均值:
图像总均值:
图像背景和目标两类像素的类间方差:
在Otsu方法中,图像最佳高阈值为
低阈值l可以通过选择一定的比例因子来确定,设比例因子为0.4,则l=0.4h。
本文将传统Canny算法进行改进,加入自适应平滑滤波,并与最大类间方差法Otsu结合,使得边缘检测更加准确,减少了虚假边缘存在。仿真结果如图4所示。
图4 Otsu阈值分割法效果对比Fig.4 Results under different thresh
图 4(b)~4(e)分别是人工随机确定的高低阈值,从效果图可以看出,高低阈值的选择对结果有很大的影响,选择不当,既可能出现虚假边缘(图4(b)、图 4(c)、图 4(e)),也有可能遗漏边缘(图 4(d))。而 Otsu 阈值分割法(图 4(f))得到的轮廓边缘更完整,也不含虚假边缘,是一种理想的边缘检测方法。
人工神经网络(artificial neural networks)是由大量处理单元广泛互联而形成的非线性网络,具有很强的自适应、自组织和自学习能力,可以代替复杂的传统算法,使信号处理过程更接近人类的思维。BP(back propagation)神经网络,是基于误差反向传播算法的前馈型人工神经网络。它结构简单、非线性能力强,已被广泛应用于模式识别和图像处理中。
BP神经网络一般由多层神经元组成:输入层、隐含层和输出层。其拓扑结构示意如图5所示。
图5 BP神经网络结构Fig.5 Structure chart of BP neural network
输入层设计:在图像处理部分,本文提取了3个板形缺陷的特征参数,分别为均值、均方差和边缘像素点数。因此,输入层神经元数为3。
输出层设计:缺陷分类中,依据边浪的严重程度将硅钢片的缺陷种类分为3类,分别为无边浪、轻微边浪和严重边浪3种(根据专家打分[8]确定),因此输出层神经元数为3。
隐含层设计:BP神经网络的隐含层设计是十分关键的。实际应用中,隐含层一般为1层。根据经验公式并通过多次试验,确定本系统隐含层最佳神经元数为6。
选择3种不同程度缺陷的样本共330个。选择各自的60个样本(共180个)作为训练样本,剩余的150个样本作为检验样本。设置好训练函数、训练次数、误差指标、训练步长等相关学习参数后,对样本进行训练。训练样本和训练结果如表1、表2所示。
表1 BP神经网络训练样本参数Tab.1 Parameters of training samples
表2 BP神经网络训练结果Tab.2 Training results of BP neutral network
结合实际应用的需要,开发了一套表面缺陷在线检测系统。该系统根据上文提出的算法,以Visual Studio 2013和OpenCV为开发工具,并应用面向对象的程序设计方法进行编程,该系统的操作界面如图6所示。
图6 表面缺陷在线检测系统操作界面Fig.6 Interface of defect detection system
该系统先提取CCD相机采集的图像边缘部分作为原始图像,通过改进的Canny算法对硅钢片图像的边缘进行处理,然后提取图像的参数进行故障严重程度分类,并记录相应的信息,指导后续的生产线作业。该系统已成功应用于生产实践中,且表面检测准确率达到92%。
本文针对某企业在硅钢片辊弯成型加工过程中易出现的表面缺陷,设计了一套基于机器视觉技术的表面缺陷在线检测系统。从系统硬件设计、图像采集处理、特征参数提取及故障分类等方面进行了深入地研究,实现了包括图像采集、图像处理、缺陷分类和信息存储等功能。实验结果表明该系统具有处理速度快、抗干扰能力强、准确率较高、成本低廉等优点。本系统中的整体架构和缺陷检测与分类方法还可以应用于其他类似表面缺陷检测问题中,具有广泛的应用前景。
[1]韩飞,刘继英,艾正青,等.辊弯成型技术理论及应用研究现状[J].塑性工程学报,2010,17(5):53-60.
[2]颜发根,刘建群,陈新,等.机器视觉及其在制造业中的应用[J].机械制造,2004,42(11):28-30.
[3]段瑞玲,李庆祥,李玉和.图像边缘检测方法研究综述[J].光学技术,2005,31(3):415-419.
[4]Canny J.A computational approach to edge detection[J].IEEE Transactions on Pattern Analysis and Image Processing,1986,8(6):679-698.
[5]朱凤芹.改进Canny算法在再制造视觉检测中的应用[J].中国农机化学报,2015,36(3),270-273.
[6]张铮,徐超,任淑霞,等.数字图像处理与机器视觉—Visual C++与Matlab实现[M].2版.北京:人民邮电出版社,2014.
[7]梁光明,孙即祥,马琦,等.Otsu算法在Canny算子中的应用[J].国防科技大学学报,2003,25(5):36-39.
[8]刘林,曹艳平,王婷,等.应用模糊数学[M].2版.西安:陕西科学技术出版社,2008.