基于卷积神经网络的管道表面缺陷识别研究

2020-09-21 08:48袁泽辉郭慧周邵萍
现代电子技术 2020年17期
关键词:卷积准确率神经网络

袁泽辉 郭慧 周邵萍

摘  要: 针对传统管道表面缺陷检测方法存在效率低、准确率不高的问题,提出一种通过机器视觉检测管道表面缺陷的方法,在采集管道表面缺陷的图像信息后通过卷积神经网络的算法分类不同的缺陷。通过加入批量归一化层,改进低层和中层卷积核的构造,优化了GoogleNet的构造,提高了卷积神经网络的泛化性和收敛性。试验结果表明,应用卷积神经网络后对管道表面缺陷的识别率较高,显著提高了管道表面缺陷识别的效率和准确率,具有较好的工程意义。

关键词: 缺陷识别; 管道表面缺陷; 机器视觉; 卷积神经网络; 缺陷分类; GoogleNet构造优化

中图分类号: TN911.73?34                       文献标识码: A                         文章编号: 1004?373X(2020)17?0047?05

Abstract: As the traditional pipeline surface defect detection method has the problems of low efficiency and low accuracy, a method based on machine vision to detect pipeline surface defects is proposed, in which the algorithm of convolutional neural network is used to classify different defects after the image information of pipeline surface defects is collected, and the low?level and middle?level convolution kernels are improved by adding a batch normalization?level to optimize the GoogleNet structure and enhance the generalization and convergence of convolutional neural networks. The test results show that the method's recognition rate of pipeline surface defects is higher after the application of convolutional neural network, which significantly improves the recognition efficiency and accuracy of defects on the pipeline surface. Therefore, the method has good engineering significance.

Keywords: defect recognition; pipeline surface defect; machine vision; convolutional neural network; defect classification; GoogleNet structure optimization

0  引  言

由于管道相比于其他運输而言,具有成本低、效率高的特点,管道运输在现代经济发展中扮演着极其重要的作用。然而随着时间的推移,管道表面会出现多种缺陷,这严重影响了管道运输的效率,甚至会造成事故带来巨大的损失。因此对管道表面缺陷进行检测是非常必要的。

目前,我国对管道表面缺陷无损检测的方法有超声波检测法、漏磁检测法、涡流检测法。其中,基于超声波检测法首先发射超声脉冲,当遇到管壁时发生反射,通过计算发射脉冲与反射脉冲的时间差获得管壁表面的情况。另外,基于漏磁的方法检测管壁表面状况,通过靠外加磁场对管壁进行磁化,如果管壁表面正常磁力线完全通过管道,若管壁表面出现缺陷则磁力线发生泄露,通过磁力线的变化获得管道表面的情况。涡流检测法,根据涡流生成的强度判断管道表面是否正常。这些方法的缺点是检测效率低下,每次检测只能获得一个点的状况,而无法获得管道整体的状况。此外这些方法还缺乏可视性,检测完后无法看到管道表面的具体情况。

随着机器视觉技术的发展,数字图像处理技术为管道表面缺陷检测提供了新的方法[1]。机器视觉用于管道表面缺陷识别有两个步骤:一是获得缺陷图片;二是对缺陷进行分类。

用CCD相机[2]可以获取有效的管道表面图片。在对管道表面缺陷分类中,主流的方法有特征提取法和SVM法。特征提取法中提取有效特征信息(Extracting Effective Feature Information)[3]往往是很重要的,但该方法训练好的模型泛化能力比较差,这种模型对缺陷极为敏感,一旦缺陷发生变化,准确率就会大幅下降。基于向量机(SVM)[4?5]分类法虽然有一定的抗干扰能力,但是支持向量机较多地应用在二分类问题上,对于多分类问题存在一定的困难。由于管道表面的缺陷存在较多的种类,所以应用支持向量机分类不太合适。

随着计算机技术的发展,深度学习(Deep Learning)[6]开始用于各行各业之中。相比其他神经网络,卷积神经网络(Convolutional Neural Network)[7]由于卷积核可以保存提取的图像空间信息,采用权重共享的方法可以减少模型过拟合的风险,故而卷积神经网络在图像处理中大放异彩。

近年来主流的卷积神经网络应用结构有AlexNet[8?9],VGG[10?11]和GoogleNet[12?13],其中,AlexNet缺陷在于网络识别的精度没有后两者高,VGG虽然在精度上相比于AlexNet有了显著的提高,然而耗费了大量的计算资源而且参数也比较多、所占内存大。GoogleNet则集中了前两者的优点,在计算量不太大的情况下又拥有较高的准确率。本文采用GoogleNet为基本框架来识别管道表面缺陷。

1  管道表面缺陷分类

管道表面缺陷种类有很多,其中,划痕、裂口、错位、障碍物以及腐蚀较为常见,如图1所示,占据管道表面缺陷的98%以上,所以能够有效地检测并分类这五种缺陷是极其重要的。划痕是管道壁表面出现细长裂纹;裂口是管道壁表面破裂发生脱落而产生裂口;错位发生于相接管道口发生偏差从而产生错位;腐蚀是管道表面发生剥落从而使得管道表面出现凹凸面;障碍物则是管道内充斥了树根、树叶这样的障碍物。将5个缺陷类图片与无缺陷管道表面图片一起构成6个分类集合用于管道表面缺陷识别分类。

首先收集管道表面缺陷图片,对其进行预分类训练模型,然后将训练好的模型应用于管道表面缺陷检测。一个好的模型对于外界条件应该具备一定的鲁棒性,由于对图像预处理意味着图像滤波、二值化[14],对这样得到的预处理图像进行训练将使得模型过于关注光照等外界因素从而缺乏足够的鲁棒性。为此,本文与传统的训练方法不同,为了增加模型的泛化能力,不用预处理的图像对模型进行训练。

2  管道表面缺陷识别模型的设计

2.1  GoogleNet网络结构

GoogleNet是ImageNet ILSVRC的冠军模型,在此之前的AlexNet,VGG等模型都是通过增大网络的深度来训练模型,这会导致一系列负面效果,随着网络的深度增加,梯度会消失,计算量过大,更有可能会出现正确率下降的现象。

在对图像进行卷积操作时,若用小的卷积核对图像进行卷积操作则会更多关注于图像的局部特征,而用大的卷积核进行卷积操作时则会使得模型更倾向于全局特征。若是仅仅简单地对图像的卷积层进行叠加,在底层采用较小的卷积核而在高层采用较大的卷积核则会增加网络深度,不但增大了计算量,同时,容易导致梯度消失的问题。为了解决这个问题GoogleNet提出了Inception结构,如图2所示。Inception中采用多层并行感知器(1×1,3×3,5×5卷积核)替代原先单一的感知器对目标特征进行卷积操作。Inception结构有两个优点:由于有3个卷积核对特征图像进行并行运算可以有效解决图形的尺度问题,通过学习,让模型加大合适的卷积核权重自主选取合适的卷积核;另外3个卷积核实际上构成了局部的稀疏矩阵能大幅增加模型的运算能力,进而加速模型的收敛。

然而,3个卷积核的并行运算使得特征图形的通道数加大,增大了运算量。GoogleNet通过在Inception前加入1×1的卷积核缩减通道数量,从而减少计算量。

GoogleNet层数较多,深度过大容易出现网络的退化,在训练集上出现正确率饱和甚至下降的情况。为此,GoogleNet引入了残差网络防止网络的退化。残差网络在深度网络的后面几层采用恒等映射层,从而使得网络退化成浅层网络,然而恒等映射训练较为困难,通过把恒等映射以残差函数[F(X)=H(X)-X]的方式拟合。通过训练[F(X)=0],则可以获得恒等映射[H(X)=X]。

表1中3×3以及5×5减少通道数就是圖2中的1×1卷积核数,目的是为了减少通道从而减少计算量和修正线性激活,池化层是图2中3×3卷积层后的1×1卷积核。Inception(3a),Inception(3b)等结构就是上文提到的Inception结构,每个Inception结构中的卷积核数量如表1所示。另外对Inception结构要用relu函数激活。最终选取的特征维度为1 000,实行对1 000个物体的分类。

2.2  改进的GoogleNet网络结构

文本借鉴了GoogleNet中的结构,然而,在具体解决管道表面缺陷识别中发现可以对该模型进行进一步的优化。正如上文所说,大卷积核的空间集中性会下降,抽象性比较高,适合放在网络的高层。在保留高层的Inception5结构不变的情况下,中间层的Inception4可以将5×5卷积核改成2个3×3卷积核连接,理论上计算可以快1.39倍,如图3所示。

底层的Inception3可以删除5×5的卷积核,增加3×3卷积核的通道数,理论上计算可以快2.78倍,如图4所示,调整以后模型的准确率与之前相比基本没有差别。改进后的模型识别速度和识别准确率如表2所示。

GoogleNet模型是一个通用模型,采用droupout层减少数据的过拟合问题,当样本数据较大时没什么问题,然而,实际工作中由于管道表面缺陷的图形样本采集较为困难,样本数据比较少,此时,若用droupout层采用GoogleNet中40%的失效率会过分地夸大干扰信息或缩小有用的管道表面缺陷信息,而减少droupout的失效率又会带来过拟合的风险。

另外,GoogleNet中为了更有效地处理数据以及减少过拟合,引入了LRN层(Local Response Normalization)。LRN层最早提出于AlexNet,用于处理局部数据,通过局部神经元的内部竞争,增大响应值较大的值,抑制响应值较小的值,从而增大模型的泛化能力。但是LRN层近年来争议比较大,2015年 Very Deep Convolutional Networks for Large?Scale Image Recognition会议上提出LRN层在准确率上并没有增加而在计算量上却增加不少。

猜你喜欢
卷积准确率神经网络
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
神经网络抑制无线通信干扰探究
从滤波器理解卷积
高速公路车牌识别标识站准确率验证法
基于傅里叶域卷积表示的目标跟踪算法
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用