APP下载

深度学习在表面质量检测方面的应用

2020-03-28肖书浩

机械设计与制造 2020年1期
关键词:表面质量显著性神经网络

肖书浩 ,吴 蕾 ,何 为 ,彭 煜

(1.武昌首义学院,湖北 武汉 430064;2.武汉科技大学,湖北 武汉 430081)

1 引言

工业产品对表面质量有着很高的要求,不仅因为美观,也因为表面质量还会影响产品功能。比如,热轧钢板的表面有缺陷,会使得钢板的强度受到很大影响。当机器视觉还没有在工业领域普及的时候,工业产品的表面质量主要靠人工检测,这不仅增加了工人的劳动强度,也使得表面质量检测变得不可靠(因为人的注意力不可能长时间集中)。

基于机器视觉的工业产品表面质量检测有很多的算法,从时间上可以大致分为两个大的阶段:传统机器学习方法和卷积神经网络方法。其区别为:前者需要进行人工特征提取,而后者不需要。

1.1 传统机器学习方法

传统的机器学习方法分为两个步骤:首先提取图像的若干特征,这样每个图像就可以用一个特征向量来表示;然后利用分类算法将这些特征向量进行分类。

1.1.1 特征提取

文献[1-2]利用视觉显著性来提取表面质量图片特征。视觉显著性指通过算法模拟人的视觉特点,提取图像中的显著区域。表面缺陷相比其他部分有很大的不同,比较适合用视觉显著性算法来提取特征。文献[1]将图像分成较小的图块,通过以下四方面分析视觉显著性:(1)图块与所有图像平均图块的显著性;(2)图块在所属图像中的显著性;(3)图块在颜色上的显著性;(4)图块在图像位置上的显著性。文献[2]通过稀疏建模提取图像图块的特征模板,然后对输入图像进行特征提取,得到特征矩阵,再将特征矩阵分解为低秩矩阵和稀疏矩阵。低秩矩阵代表图像背景,稀疏矩阵代表图像显著部分,从而完成图像显著性特征提取。形态学分析在图像处理与识别中得到广泛的应用,文献[3]利用形态学对钢坯表面高度图像进行分析,提取缺陷特征。二维傅里叶变换和小波变换能够提取图像的频谱信息,文献[4-7]使用二维傅里叶变换和小波变换提取产品表面图片的特征,特别是小波分析可以表现纹理丰富的时频信息,常被用来作为表面缺陷识别提取特征的工具。文献[4]利用二维傅里叶变换来分离太阳能电池电致发光图像中的正常部分和缺陷部分,从而达到提取缺陷特征的目的。文献[7]构造5个尺度8个方向Gabor滤波器组,原始磁瓦图像经过Gabor变换得到40副子图,将它们的均值和方差作为磁瓦的特征。文献[8]利用灰度特征、纹理特征和几何形状特征共20维特征值。文献[9]利用分形维度理论提取图像不同尺度下的维度作为特征用于热轧带钢表面缺陷的自动识别。也有使用组合方法提取特征的。文献[6]先用Gabor小波提取小波分量子图,然后再使用子图的灰度共生矩阵提取特征。

1.1.2 分类算法

在传统的机器学习分类算法中,概率统计方法占据着重要位置。文献[10]利用贝叶斯最小风险决策理论,通过提取焊接电极位移图像特征,实现了自动焊接质量评估。文献[11]研究了利用木材加工表面图像的纹理特征直方图,对木材加工质量进行评级。文献[12]利用局部二进制模式(localbinarypattern,LBP)直方图,识别带钢表面缺陷。将带钢图像分成若干图块,计算图块的LBP直方图,若直方图的最大值大于阈值,就认为该图块有缺陷。

支持向量机分类方法因为其训练需要样本少、速度快且泛化性能好,在表面质量检测中被广泛应用[6-7,13-14]。文献[13]通过提取图像缺陷的形态(形状、大小和位置)为特征,使用支持向量机方法识别热轧钢表面缺陷。文献[14]使用改进的LBP方法(AECLBP)提取局部特征并计算直方图,然后用SVM方法进行分类。

人工神经网络(Artificial neural networks,ANN)模拟人类大脑神经元的工作方法,有着强大的分类能力,有研究工作把ANN应用到表面质量检测方面[15,16]。训练ANN需要有大量的有标签的样本。文献[15]建造了一个有两个隐含层(分别有50和3个神经元)的人工神经网络,输入12个特征,识别带钢的三类表面缺陷。

1.2 卷积神经网络方法

卷积神经网络(CNN)与传统机器学习方法最大的优势就是不需要人工设计特征,也不需要阈值,所有的模型参数都是通过样本训练得到。卷积神经网络可以直接输入图片,然后得到识别结果。文献[17]用卷积神经网络(3层神经网络)对钢板进行表面缺陷识别。文献测试了不同样本集图片大小对训练精度的影响,发现较小的图片尺寸训练精度更高。文献[18]构造了一个CNN(14层神经网络)用来识别钢带表面缺陷。为了增加数据集的数量,文献使用了数据增强技术,实验结果表明这种数据增强技术有效提高了识别准确率。

研究发现,卷积神经网络的层数越深,它的学习能力越强,这就是所谓的深度神经网络。所使用的就是深度神经网络。

2 深度神经网络迁移学习

深度神经网络(Deep Neural Network,DNN)是指多层人工神经网络,它很好模拟了人类思维的层次性(从具体的底层概念到抽象的高层慨念)。依赖深度神经网络的深度学习(Deep Learning,DL)[19,20]在各个领域(图像识别、语音识别、文本分析等)取得了空前的成功,全面超过了传统的机器学习算法,推动了AI技术的发展。但深度学习在工业领域的应用却远远落后于医疗、自动驾驶和安防等领域。其原因有:第一,很难为每一个具体的应用收集和标注训练深度神经网络所需要的十万级甚至百万级样本数据;第二,深度神经网络训练计算需要耗费巨大的计算资源。为了解决深度学习在少样本领域的应用,迁移学习(Transfer Learning)[20]应运而生。迁移学习就是将任务相近的已经训练好的模型应用到新的任务中,这些模型都是基于超大数据集训练出来的,有很好的泛化能力。

2.1 GoogLeNet深度神经网络模型

GoogLeNet[21]是基于CNN的深度神经网络的一个里程碑模型。在GoogLeNet之前,模型把CNN层堆积得越来越多,期望获得更好的效果,这样使得模型的参数很多。GoogLeNet为了减少模型的规模,使用了一种特殊的局部拓扑结构,即并行使用多个较小的卷积或池化操作,然后将输出结果进行拼接,这不仅减少了参数数量,同时还获得了较好的图像表征。GoogLeNet从输入到输出的数据变化过程示意图,如图1所示。输入为图像矩阵,输出为一个1000维的向量,对应要识别的1000种物品。使用的是GoogLeNet Inceptionv3版本在ImageNet数据集上训练后得到的模型。

图1 GoogLeNet神经网络示意图Fig.1 Schematic Diagram of GoogLeNet Neural Network

2.2 迁移学习用于产品表面质量模型

将迁移学习应用到工业领域产品表面质量的方案示意图,如图2所示。将已训练好的模型GoogLeNet(Inveption v3,去掉最后面的识别层)作为特征提取工具,再利用少量数据训练神经网络的特定层。

图2 将迁移学习用于表面质量检测方案示意图Fig.2 Transfer Learning for Surface Quality Inspection Plan

3 实验与分析

3.1 热轧带钢表面质量检测

热轧带钢是指通过热轧方式生产的带材和板材,在工业生产中得到了广泛应用。热轧带钢在生产过程中,由于种种原因会产生一些表面缺陷。为了保证热轧带钢的合格,必须在生产流水线上进行在线检测,早期这些检测都是依靠人力来完成的。随着人工智能技术在工业生产中的广泛应用,热轧带钢表面质量检测正在被机器视觉代替。

3.2 迁移学习神经网络实验设计

用于热轧带钢表面质量检测的迁移学习神经网络,如图3所示。前面是已经训练好的神经网络(GoogLeNet去掉全连接层),后面两层是专为热轧带钢表面质量检测设计的层,第一层为全连接层,计算公式为:

第二层为softmax层,计算公式为:

网络训练的损失函数使用交叉熵损失函数,保证训练时梯度不下降。

式中:label—样本标签(向量);z—预测值(向量)。如果采取一次n个样本训练,则损失函数为:

图3 热轧钢板表面质量检测深度神经网络示意图Fig.3 Schematic Diagram of DeepNeural Network for Surface Quality Inspection of Hot-rolled Steel Sheet

3.3 热轧钢板表面质量数据集

本实验数据集来自NEU surface defect database[22],数据集收集了热轧带钢6种表面缺陷图片,如图4所示。

图4 热轧钢板表面缺陷数据集Fig.4 Surface Defect Data Sets for Hot-Rolled Steel Sheets

(1)鳞片(rolled-inscale),(2)斑块(patches),(3)龟裂(crazing),(4)点蚀(pittedsurface),(5)夹杂物(inclusion),(6)划痕(scratches)。数据集共包含1800张像素为(200×200)的图片(每个缺陷300张),这些图片在实验过程中被分为训练、验证和测试三部分,其中训练部分用于训练深度神经网络的参数,验证部分用于训练过程中检验神经网络的识别准确度,测试部分用于训练结束后的识别准确度测试。

3.4 深度神经网络训练实验

首先将数据集按比例(60:20:20)分为训练子集(training data)、验证子集(validation data)和测试子集(testing data)。然后确定训练次数(echoes)和每次训练的样本数(batch)。每个批次训练时,随机在训练子集中选取样本。每隔若干批次,用验证子集验证识别精度。各子集划分情况,如表1所示。深度神经网络编程和训练使用了Google TensorFlow平台。

表1 数据集分配情况Tab.1 Data Set Allocation

通过测试不同的echoes和batch对训练效果的影响,发现batch对训练结果的影响比较大。四种不同 batch(5,10,50,100)的损失函数变化曲线,如图5所示。图中对比发现:batch越小,损失函数变化越剧烈,系统训练的稳定性越不好。echoes相同,batch不同对训练效果的影响,batch越大,最后在测试子集上的识别精度也越好,如表2所示。batch越大计算量也会也越大,训练的时间成本也越高,如表3所示。

图5 训练损失函数曲线Fig.5 Training Loss Function Curves

表2 测试集上的精度Tab.2 Accuracy on Test Sets

表3 不同训练配置的训练时间Tab.3 Training Time for Different Training Configurations

训练前后样本的聚集情况,如图6所示(使用PCA和t-SNE降维工具将维度降为二维),训练后,数据集的样本聚集得更紧密,不同类别之间距离变大,这使得模型的泛化效果更好。在数据集NEU上,与其他几种广泛使用的算法进行了对比,如表4所示。这里的算法获得了更好的识别率。说明了深度神经网络的迁移学习方法很适合工业产品表面质量检测。

图6 数据集样本在训练前后的聚集程度变化Fig.6 Changes in Aggregation Degree of Dataset Samples Before and after Training

表4 与其他方法识别结果比较Tab.4 Comparison of Results with Other Methods

4 结论

通过深度神经网络的迁移学习,构造的深度学习网络在热轧钢板表面缺陷数据集NEU上检测准确度达到了99.8%,其测试条件是:(1)数据集NEU的60%用于训练,20%用于验证,20%用于测试;(2)每次训练的样本数为batch=50,训练次数为echoes=2000,样本选取方式为随机选取;(3)编程平台为GoogleTensorFlow。该结果超过了传统的机械学习算法和没有迁移学习的CNN网络。将实验结果用于热轧钢板的生产现场检测,还有很多后续工作要做。首先要解决的是图像采集问题,可选采集方案有线阵相机和普通面阵相机;其次是图像识别的幅面大小问题,将热轧钢板图像分割成大小合适的图像,用这里的方法进行识别。深度神经网络不需要人工构造特征,实现了直接输入图片就能获得检测结果,识别准确度高。展望未来,深度神经网络还可以推广到其他工业品表面质量检测,获得更广泛的应用。

猜你喜欢

表面质量显著性神经网络
本刊对论文中有关统计学表达的要求
裂纹敏感性钢铸坯表面质量控制
神经网络抑制无线通信干扰探究
氮化硅陶瓷磨削力对表面质量的影响
基于神经网络的中小学生情感分析
基于显著性权重融合的图像拼接算法
基于视觉显著性的视频差错掩盖算法
石英玻璃旋转超声铣削表面质量研究
论商标固有显著性的认定
微细发泡注射成型制品表面质量改善的研究