深度卷积神经网络的X射线焊缝缺陷研究*

2018-04-27 01:35刘梦溪巨永锋高炜欣武晓朦
传感器与微系统 2018年5期
关键词:池化正确率卷积

刘梦溪, 巨永锋, 高炜欣, 王 征, 武晓朦

(1.长安大学 电子与控制工程学院,陕西 西安 710064; 2.西安石油大学 电子工程学院,陕西 西安 710065)

0 引 言

X射线检测虽应用广泛但同时也具有其弊端,如图像噪声多,缺陷对比度不高,背景起伏较大等[1~3],针对所提取的图像特征是否有效地描述各类型焊缝缺陷的问题,多种理论及方法被提出[4~8]。近几年,随着深度学习特征识别的多方应用,卷积神经网络(convolutional neural networks,CNN)结构解决了传统神经网络多层次的局部最优以及梯度弥散等缺点,能够对焊缝在复杂背景下的缺陷特征进行有效识别,具有较强的判别能力和泛化能力[9,10],而成为深度学习的主流网络结构之一[11~13]。

本文针对X射线焊缝缺陷的特点,在 Alex的CUDA-CONVNET经典深层CNN基础上进行了结构改进和优化,利用改进网络的多层学习能力,有效提高了焊缝缺陷分类识别的准确度。

1 焊缝采集图像处理方法

焊缝缺陷一般有几种类型:裂纹缺陷(横向裂纹与纵向裂纹)、气孔、未熔合与未焊透等。

1.1 图像特征提取

受焊缝缺陷类型、大小、位置等因素的影响,按照一般方式对原始图像进行处理,存在丢失关键信息的可能性。以气孔缺陷为例,图1所示的提取方式,由于气孔所在的几何位置的不确定性及原始图像大小的差异,使得图像提取出现了偏差,遗漏了焊缝缺陷信息。

为避免出现以上情况,本文在图像预处理阶段对长、宽较长的一边变换成256,较短的一边进行等比变换[14,15]。将图像分割为5幅图像,分别对图像的4个顶点和中心所截取的227×227图像块,如图2所示。处理后一方面可以实现对图片的全覆盖,不遗漏特征信息,另外一方面可以增加样本数量,保证识别的正确率。

图1 图像特征信息提取不完全

图2 本文提取图像特征信息方法

1.2 图像特征提取算法

本文图像分割算法为:

Input InImage

Output OutImage

1)计算图像长和宽中较大的一边,记为ma,较小的一边记为mi;

2)如果mi>256,以256/mi进行等比变换,变换后的图像记为Tr;

3)Tr从4个顶点和中心分别截取227×227的图像块,产生5张训练图像,分别记为OutImage[0],OutImage[1] ,OutImage[2],OutImage[3] ,OutImage[4];

4)输出OutImage

2 CNN结构设计

在CNN经典结构CUDA-CONVNET的研究基础上,对焊缝复杂条件下的特征识别进行针对性的改进。

2.1 网络参数计算

1)卷积计算

卷积的值即为特征图输入量,其公式为

(1)

2)卷积梯度计算

(2)

式中β为误差信号;l为池化层数;α为池化层权值;up(·)为上采样操作。将l层的误差信息求和,即得到对应的偏置基梯度

(3)

所有卷积核的梯度计算式为

(4)

3)权值更新计算

卷积神经网络中t~(t+1)时刻的权值更新计算为

W(t+1)=W(t)+μδ(t)x(t)

(5)

式中μ为学习率;δ(t)为神经元输入x(t)的误差项。

4)全连接层计算

全连接层为分类模块,两层之间的计算公式为

(6)

最后一层全连接层元素的激活函数Softmax为

(7)

式中i=1,2为分类类别。

2.2 网络设计

CNN的结构可以概括为

INPUT->[CONV->ReLU]*N->PooL?]*M->[FC->ReLU]*K->FC

式中 *为可重复;M,N为可重复的次数;POOL?为可选择的层。

改进结构后的深层CNN如图3所示。

图3 深层CNN结构

在深层CNN中,卷积、池化和全连接层的参数设置如表1所示,最后一层通过 Softmax 函数连接,输出每一维图像所属的类别概率。Dropout加于全连接之后用于提高网络的泛化性避免过拟合,取经验值为0.5,并设初始学习率为0.001,动量为0.9,权重衰减为0.000 5[16]。

表1 深层CNN参数设置

3 实验分析

图4 CNN下的样本缺陷识别错误率

对于池化层,有2种池化方式:最大池化(max pooling)和平均池化(average pooling)。2种方式实验对比结果如表2所示,可知,最大池化方式识别的焊缝缺损正确率较高。

表2 池化方式对于正确率的影响 %

将CNN与经典支持向量机(support vector machine,SVM)进行对比,SVM采用 Liblinear[15]分类器实现分类,图像的原始样本大小为 64×64 ,进行梯度特征提取后每个图像样本的特征向量转化为512维,2种方法对于焊缝缺陷的特征识别分别如表3、表4所示。

表3 SVM特征识别正确率 %

表4 CNN 特征识别正确率 %

对比表3 、表4 中的数据可以看到:随着样本量的增加,2种方法的训练样本与测试样本的分类错误识别率呈下降趋势,相较而言CNN方式下的焊缝缺陷分类识别的错误率更低。说明大样本条件下, CNN 的特征分类性能提升要优于SVM。这是由于伴随着样本量增加,CNN 能够进行分布式深度学习,自主学习信息有效特征并加以分类,而SVM却在梯度特征提取运算中遗失了部分的特征信息,不能进行更为精确的分类,导致最终的输出分类识别结果正确率较低。

表5为2种算法的运算时间对比,可以看出:SVM较快速 ,这是由于SVM是一种2层的浅层网络结构,其输入特征的维数(512)较CNN输入的维数(256×256)低,因此,处理图像时间较短,而CNN 的处理时间较长是由其深层结构多参数所决定的,随着样本的增大,CNN和SVM的处理时间以不同时间函数分布规律增加,而两者的正确率却呈现截然相反的趋势,即CNN的正确率提高而SVM的正确率降低,且样本越大,该趋势越明显,因此,CNN对于大样本的处理效率显然高于SVM。

表5 SVM和CNN运算时间对比

4 结 论

本文对经典CNN结构进行了改进,CNN的实验结果较为理想,主要体现为以下几点:1)CNN可以进行自主学习,排除了人为评定的主观因素;2)大样本下CNN对于图像的分类与识别的正确率较高,且样本越大,正确识别率越高且未出现过拟合现象;3)对于焊缝缺陷图像类型的多样性和复杂性,CNN能够进行较好的特征识别,能够进行更为精准的分类,具有较强的判别能力,效率更高,能够达到较为满意的效果。

对于深层CNN,层数越多提取的特征越容易识别,正确率越高,但也存在着参数增多,训练过程趋于复杂的问题;此外,对于相同的检测目标,网络结构设计的差别也会影响特征识别正确率。如何针对特定目标的检测识别,实现网络结构和参数的最优同时又能保证较高的正确率还有待做进一步的研究。

参考文献:

[1] 田 原,都 东,侯润石,等.基于X 射线图像序列的焊缝缺陷自动检测方法[J].清华大学学报:自然科学版,2007,47(8):1278-1281.

[2] 刘 曦,徐光锋,费跃农.用于相贯线焊缝检测机器人的图像处理算法[J].传感器与微系统,2017,36(7):142-145.

[3] 赵 存,胡炜薇.一种X射线图像增强新方法[J].传感器与微系统,2017,36(5):71-73.

[4] Cortes C,Vapnik V.Support vector network[J].Machine Lear-ning,1995,20:273-297.

[5] Zapata J,Vilar R,Ruiz R.An adaptive network based fuzzy infe-rence system for classification of welding defects[J].NDT & E International,2010,43(3):191-199.

[6] 刘 曦,徐光锋,费跃农.用于相贯线焊缝检测机器人的图像处理算法[J].传感器与微系统,2017, 36(7):146-153.

[7] 李昌兴,黄艳虎,支晓斌,等.基于加速k均值的谱聚类图像分割算法改进[J].传感器与微系统,2016,35(9):137-140.

[8] Wang J,Yang J,Yu K,et al.Locality-constrained linear coding for image classification[C]∥Proceedings of IEEE Conference on Computer Vision and Pattern Recognition,2010:3360-3367.

[9] Donahue J,Jia Y,Vinyals O,et al.DeCAF:A deep convolutional activation feature for generic visual recognition[C]∥ICML,2014:647-655.

[10] Sharif Razavian A,Azizpour H,Sullivan J,et al.CNN features off-the-shelf:An astounding baseline for recognition[C]∥Procee-dings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops,2014:806-813.

[11] 王 纯,郭春生.基于真实场景图像下的卷积神经网络去噪算法[J].传感器与微系统,2017,36(10):147-153.

[12] 赵珊珊,何 宁.基于卷积神经网络的路面裂缝检测[J].传感器与微系统,2017,36(10):147-153.

[13] 宣森炎,龚小谨,刘济林.基于联合卷积和递归神经网络的交通标志识别[J].传感器与微系统,2014, 33(8):30-33.

[14] Krizhevsky A,Sutskever I,Hinton G E.Image net classification with deep convolutional neural networks[C]∥Advances in Neural Information Processing Systems,2012:1097-1105.

[15] Jia Y,Shelhamer E,Donahue J,et al.Caffe:Convolutional architecture for fast feature embedding[C]∥Proceedings of the 22nd ACM International Conference on Multimedia,ACM,2014:675-678.

[16] 余永维,殷国富,殷 鹰,等.基于深度学习网络的射线图像缺陷识别方法[J].仪器仪表学报,2014,35(9):2012-2019.

[17] Fan R,Chang K,Hsieh C,et al.LIBLINEAR:A library for large linear classification[J].Journal of Machine Learning Research,2008,9:1871-1874.

猜你喜欢
池化正确率卷积
基于Sobel算子的池化算法设计
基于高斯函数的池化算法
卷积神经网络中的自适应加权池化
基于3D-Winograd的快速卷积算法设计及FPGA实现
门诊分诊服务态度与正确率对护患关系的影响
卷积神经网络的分析与设计
从滤波器理解卷积
基于卷积神经网络和池化算法的表情识别研究
基于傅里叶域卷积表示的目标跟踪算法
生意