汤 勃,戴超凡,黄文豪
(1.武汉科技大学 冶金装备及其控制教育部重点实验室,武汉 430081;2.武汉科技大学 机械自动化学院,武汉 430081)
钢铁产业在我国经济发展中起着不可替代的作用,投入了大量的人力、物力资源。在国际上与其他钢铁企业竞争的过程中,钢板表面缺陷检测技术性仍然是一大瓶颈,传统厂家缺陷检测仅依靠人眼识别,局限性较大,随着缺陷检测技术的发展,催生了一系列的钢板表面缺陷检测方法。例如,AK Soni等[1]提出基于锁相放大器的涡流检测仪检测钢板表面缺陷,能够快速有效检测多类型缺陷,但比如色差、轻微刮痕却不易检查。JingzhongHou等[2]提出基于低秩多核支持向量机的带钢表面缺陷检测,此类方法检测准确率不高。Kaixiang Peng等[3]提出基于改进BP算法的钢带自动表面缺陷检测分类技术,涉及在标准BP算法的缓慢收敛中起重要作用的饱和区域,但BP神经网络收敛速度慢,不适用于小样本快速的检测。房敏等[4]提出PSO算法优化BP网络的钢板表面检测技术,不容易陷入局部最优,更具有适用性,但准确率依然不高。以上研究的问题在于:识别精度不高,轻微缺陷无法检测;准确率不高,导致分类错误;识别钢板表面缺陷类型具有局限性。本文采用卷积神经网络原理实现钢板表面缺陷的自动检测,但经典卷积神网络检测需要大量样本,采样十分困难。故先对采集的钢板图像进行预处理,边缘检测,再对其训练。在使用小样本的情况下,提升钢板表面多类型缺陷检测的准确性及精度。本文采流程依次为:图像采集、图像预处理、边缘检测、图像标记、构建卷神经网络、识别。
钢板表面的缺陷主要分为色差、黑斑、压印、磷化斑、翘皮、划痕、针眼、孔洞等,而这些缺陷对光的反射却不尽相同。其中色差、黑斑、磷化斑、翘皮等在光线的作用下表现为亮背景暗目标,称为明域缺陷;压痕、划痕、孔洞、针眼等则为暗背景亮目标,称为暗域缺陷。考虑到钢板表面的光线的反射情况,更好的检测出明域暗域钢板缺陷,因此,本实验光源系统选用亮度稍强,价格低廉的荧光灯,采用狭缝式结构;相机选用为TEDTECH公司型号TM-C1582U、分辨率768(H)×494(V) 。利用上述相机和光源拍摄带有表面缺陷的钢板,对图像进行关键信息裁剪(768×240),缩小识别范围,构建图像库。本实验将图库的相片分为训练样本集和测试样本集,如表1所示。
表1 训练样本集和测试样本集
1.2.1 双边滤波
双边滤波采用加权平均的方法,用周边像素亮度值的加权平均代表某个像素的强度,所用的加权平均基于高斯分布。最重要的是,双边滤波的权重不仅考虑了像素的欧氏距离(如普通的高斯低通滤波,只考虑了位置对中心像素的影响),还考虑了像素范围域中的辐射差异(例如卷积核中像素与中心像素之间相似程度、颜色强度,深度距离等),在计算中心像素的时候同时考虑这两个权重。
其中:g(i,j)为双边滤波后图像,f()为双边滤波前图像,ω(i,j,k,l)为图像f(i,j)与f(k,l)之间权重,(i,j),(k,l)分别指两个像素点的坐标。
1.2.2 峰值信噪比
峰值信噪比是当前被应用最为广泛的量化评价图像质量的指标,且峰值信噪的值越大,图像的质量也就越高。
其中,MSE表示缺陷钢板图像滤波前后图像的均方差,n是图像中像素的比特数。
1.2.3 样本滤波去噪
钢板的恶劣生产环境、图像的采集时光照不均以及图像传输损失等一系列因素,都会使图像产生噪音,严重影响钢板表面缺陷图像的质量。因此在对图像进行正式提取特征之前,需要对图像进行滤波去噪。本实验采用均值滤波、高斯滤波、中值滤波、方框滤波、双边滤波进行比较,应用峰值信噪比(PSNR)选出更为适合的滤波方法。
在上文钢板各类缺陷图集中分别选取十张代表性图像,利用上述五种滤波方法进行去噪,计算各自PSNR,求其均值,可得如下实验结果(如表2所示)。
根据PSNR计算结果,五种滤波质量由高到低依次为双边滤波、中值滤波、高斯滤波、均值滤波、方框滤波。因此,本实验选取的滤波方式为双边滤波。在进行滤波去噪之后,对缺陷钢板图像的质量会有一定的影响,所以本实验对缺陷图像再进行直方图均衡化,增大像素值之间差异。
本实验采用Sobel算子、Laplacian算子、改进Canny算子进行比较,选出最佳方案。在Canny算子中,高阈值、低阈值以及平滑滤波方差这几个关键因素都需要人工设定,故该算子失去了实时性,在钢板的缺陷检测应用中存在一定的局限性。因此,本实验采用的Canny改进算子,基本思想如下:利用最大类间方差法(Otsu),自适应确定高阈值、低阈值以及平滑滤波方差。Otsu算法是将图像像素分为背景和目标两类,通过搜索、最大值,得到最优阈值。在上文钢板各类缺陷图集中分别选取一张代表性图像,利用上述三种算子进行边缘检测,可得如图实验结果。
表2 五种滤波方法的PSNR值
通过对比上述三种算子的实验仿真结果,可以看出:在色差表面缺陷中,仅有改进Canny算子能够提取特征;上述三种算子在边缘提取中,改进Canny算子噪音斑点最少;上述三种算子在边缘提取中,Laplacian算子特征最明显,但噪音线条较多。综上,本实验采取改进Canny算子进行边缘提取。
钢板缺陷的标记是在边缘检测的基础上,对一些优秀特征进行提取,在图像边缘处补一列或者几列优秀特征数据。
钢板表面缺陷特征主要分为灰度特征、几何特征、投影特征、纹理特征,根据文献[7,8]所述,通常使用Fisher判别准则对提取的特征进行比较,本实验综合文献所述特征Fisher比和实验钢板缺陷样本特点,增加钢板表面缺陷图像的灰度值一阶概率分布、x方向投影特征作为标记。其灰度值一阶概率分布P(i)和x方向投影特征P(x)计算公式如式(4)、式(5)所示。
图1 色差处理效果对比
图2 孔洞处理效果对比
图3 划痕处理效果对比
图4 磷化斑处理效果对比
图5 针眼处理效果对比
图6 白斑处理效果对比
其中,i表示钢板表面缺陷图像灰度等级;k表示灰度等级i时,钢板表面缺陷图像灰度和;n表示钢板表面缺陷图像灰度总和;f(x,y)表示为钢板表面缺陷图像的在x,y处的像素值。
对于灰度值一阶概率分布P(i)的标记具体如下:
1)在图像样本进行双边滤波后,将其转化为灰度图像;
2)将灰度图像利用式(3)计算灰度值一阶概率分布;
3)其滤波后图像样本灰度值区间为0~255,则可算的缺陷区域熵的特征向量为256×1,将其数据均衡到0~255;
4)将所得灰度值一阶概率分布特征向量补在边缘提取后缺陷图像的宽度的上,第一列为240个特征向量,第二列为16个特征向量,第二列其余位置补零;
5)补零。后面几列补零情况根据步长,补零列数为步长减一。
对于x方向投影分布P(i)的标记具体如下:
1)在图像样本进行双边滤波后,将其转化为灰度图像;
2)将灰度图像利用式(4)计算x方向投影分布;
3)本实验样本图片其x轴为768个像素点,可算的x方向投影的特征向量为256×1,将其数据均衡到0~255;
4)补零。后面几列补零情况根据步长,补零列数为步长减一。
依照以上步骤标记,我们可以得到如图7所示图片。
图7 钢板缺陷表面标记
常见的卷积神经网络由输入层、卷积层、激活函数、池化层、全连接层和最后的输出层构成。从输入层到全连接层之间连接方式为:卷积层-激活函数-池化层,一般为三个及三个以上上述循环;通过卷积神经网络层与层之间通过不同的计算方式建立神经元之间的联系;通过卷积层对原始数据提取特征;通过池化层降低数据维度;最后通过全连接层将特征分类并输出结果。与BP神经网络一样,卷积神经网络也是通过梯度下降和反向传播算法进行训练的,则全连接层的梯度公式与BP网络完全一样。卷积神经网络的结构如图8所示。
图8 卷积神经网络的结构图
在CNN中,虽然也是卷积,但是其卷积公式和严格意义数学中的定义稍有不同,比如对于二维的卷积,定义为:
其中,s(i,j)为卷积后图像,X为原图像,W为个连接权值。
由于池化也称为下采样,用S=down(C)表示,β和b为标量参数,则可得池化过程公式为:
假设当前卷积层为l,下一层为池化层l+1,上一层也是池化层l-1。那么从l-1层到l层,其卷积层的反向求导公式为:
其中,f为激活函数,-conv代表卷积过程。
全连接层的反向求导是与普通神经网络的反向求导是一致的,所以其全连接层求导公式为:
本实验的卷积神经网络由3个卷积层和1个softmax输出层组成.网络结构中的第1个卷积层由卷积操作、激活函数映射、最大值池化操作组成;第2卷积层与第1个卷积层的结构相同;第3个卷积层由卷积操作、激活函数映射组成:网络结构的输出层是1个6类别的softmax输出分类器。
详细的卷积神经网络模型及参数信息如表3所示。表3中f表示卷积核或是池化核的大小,s为步长,d为卷积核的深度。
其中solver.prototxt参数如下:test_iter:2,test_interval:50,base_lr:0.001,lr_policy:"step",gamma:0.1,stepsize:100,display:20,max_iter:500,momentum:0.9,weight_decay:0.005,snapshot:1000,solver_mode:CPU。
损失函数(loss function)通常被用来评估卷积神经网模型的输出值与实际值相接近的程度,是卷积神经网络模型准确性以及优化的一个重要的指标。而在损失函数中,交叉熵是当前应用最为普遍的。其主要计算公式如下:
表3 卷积神经网络的模型信息
表4 钢板表面缺陷训练准确率
本实验所用电脑操作系统为64位win7、CPU型号为Intel(R)Core(TM)i5-3400、运行内存为8GB、GPU型号为影驰GTX750Ti等。上文钢板表面缺陷检测及特征提所用平台为VS2013以及OpenCV3.0;卷积神经网络训练由开源框架Caff和其C++接口实现。本实验样本个数为970,分辨率为768×240,钢板表面缺陷检测系统对实时性要求没有特别严格,故本实验不采用GPU进行训练。
本实验为形成对比,先对未进行特征提取的钢板表面缺陷样本训练集应用上述方法进行训练,可得到如图3交叉熵曲线,在用测试集对其检测,可得其色差、孔洞、划痕、磷化斑、针眼、白斑检测的准确性依次为59.86%、78.64%、80.23%、73.19%、72.81%、74.32%;其次,对上述进行过特征提取的钢铁表面缺陷样本集进行训练,可得到如图3交叉熵曲线,其色差、孔洞、划痕、磷化斑、针眼、白斑检测的准确性依次为84.31%、90.95%、92.23%、89.65%、88.10%、87.36%;最后,对进行标记和特征提取的钢铁表面缺陷样本集进行训练,可得到如图3交叉熵曲线,其色差、孔洞、划痕、磷化斑、针眼、白斑检测的准确性依次为93.20%、95.69%、97.35%、94.52%、94.15%、95.71%。把上述实验结果汇总,如表4、图9所示。
图9 钢板表面缺陷样本训练交叉熵曲线
针对工业中钢板表面缺陷难以自动化检测、检测准确率低等问题,本实验提出基于卷积神经网络结构对其进行自动分类检测,首先利用TM-C1582U采集钢板缺陷图像;再利用方框滤波对图像进行去噪,减少检测干扰;其次利用改进Canny算子进行边缘提取;最后设计相适应的卷积神经网络系统。将边缘提取前后的钢板表面缺陷图像导入卷积神经网络系统进行训练,分别得到如上的准确度以及损失函数交叉熵的变化曲线。但模型的精度和收敛速度仍达不到要求,故利用特征对钢板表面缺陷样本进行标记,加入灰度值一阶概率分布P(i)和x方向投影特征两个特征,导入卷积神经网络系统,性能有明显的提升。综上,图像的预处理及特征提取缺陷识别的准确性有着重要的作用,且加速了损失函数交叉熵的收敛,并能够降低损失函数初始值,增加钢板表面缺陷识别的准确性;钢板表面缺陷样本集不丰富的情况下,进行特征提取、对钢板表面缺陷进行标记明显有助提升检测的准确率、加快损失函数交叉熵的收敛,并能够降低损失函数初始值。