您好, 访客   登录/注册

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

来源:用户上传      作者:

  摘  要: 针对传统管道表面缺陷检测方法存在效率低、准确率不高的问题,提出一种通过机器视觉检测管道表面缺陷的方法,在采集管道表面缺陷的图像信息后通过卷积神经网络的算法分类不同的缺陷。通过加入批量归一化层,改进低层和中层卷积核的构造,优化了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层在准确率上并没有增加而在计算量上却增加不少。   为规避这些问题本文删除了原模型的droupout层和LRN层,而在每层的卷积层后面加入BN(Batch Normalization)层来防止数据的过拟合。
  BN层是数据的归一化操作,一方面可以使得训练数据与测试数据处在同一分布的数据空间之中加大模型的泛化能力,另一方面可以使得每批次的训练数据处于相同的数据空间之中,使得网络不需要重复迭代来适应不同的数据空间。引入BN层后数据分布较为均匀,故而可以设置较大的学习率,从而加速了网络的训练速度。另外,为了进一步加快网络的运算速度在引入BN层后,本文删去了原模型的GoogleNet中的[L2]正则系数。实验表明删除[L2]正则系数后对模型的的识别率基本没有影响。引入BN层后模型识别准确率变化如表3所示。
  Inception(3a),Inception(3b),Inception(4a)~Inception(4e),Inception(5a),Inception(5b)结构分别为上文提到的低层、中层和高层的Inception结构,各结构中的卷积核数量如表4所示。改进的GoogleNet并不在最后额外增加全连接层,使得只输出6个分类,这是由于全连接层参数很多会导致加大计算量,占用较多的内存资源。保留原GoogleNet softmax 1 000个特征图设定,由于管道表面缺陷只有6个,故而概率最高的6个有意义,剩下的并没有实际意义。最后选取有意义中的最高概率为识别的目标。
  3  试验与结果
  为了保证试验结果的准确性和可靠性,这里将数据集分成训练集、验证集和测试集。三者的比例是6∶2∶2。训练集中的数据是用来训练模型的,验证集是模型训练过程中单独留出来的数据集,模型每训练10次调用一次验证集用以调整模型的超参数以及初步评估模型的优劣,测试集是一个事先封闭的数据集最后用来评估模型的泛化能力。
  本次试验对于每类缺陷都提供了500张图片,共3 000张图片总共训练200次。训练结果如图5~图8所示。
  从图中可以看到:当训练完200次左右时,训练集上的准确率达到了93.6%,验证集上准确率为93.32%,且损失函数也趋近于0.4,说明本文设计的网络是合理适用的。将训练好的模型作用于测试集上来测试模型的泛化能力,得到的准确率达到92.68%。
  经过改进后的GoogleNet虽然在训练集上的识别准确率和原来的GoogleNet差不多,但是在验证集上的准确率高于原来的GoogleNet,并且在准确率和损失函数两条曲线中训练集和验证集两条曲线贴合地更紧,过拟合风险较小。
  4  结  语
  针对传统的管道表面缺陷检测存在精度低、效率不高的情况,本文提出了基于卷积神经网络的检测方法。由于GoogleNet是一个通用模型,本文对此进行了优化使之能更适应实际问题,改进以后的模型在管道表面缺陷识别分类中,识别速度和识别准确率都有了提升。
  本文方法降低了人工成本,增加了检测效率还使得缺陷能够可视化,该研究结果对管道表面缺陷检测技术提供了很好的支持。
  参考文献
  [1] 李静,徐川,朱俊.CCD与二维激光扫描仪在管道检测系统设计中的应用[J].机械设计与制造,2014(1):18?23.
  [2] JOSIAH R, JULIE C, BULANON D M. Machine vision for orchard navigation [J]. Computers in industry, 2018, 98: 165?171.
  [3] KOCH C, GEORGIEVA K, KASIREDDY V, et al. A review on computer vision based defect detection and condition assessment of concrete and asphalt civil infrastructure [J]. Advanced engineering informatics, 2015, 29(2): 196?210.
  [4] 郭慧,徐威,刘亚菲.基于支持向量机的钢板表面缺陷检测[J].东华大学学报(自然科学版),2018,44(4):635?639.
  [5] SHUKLA A K, SINGH P, VARDHAN M. A new hybrid wrapper TLBO and SA with SVM approach for gene expression data [J]. Information sciences, 2019, 503: 238?254.
  [6] DEEPAK S, AMEER P M. Brain tumor classification using deep CNN features via transfer learning [J]. Computers in biology and medicine, 2019, 111: 103345.
  [7] SOOMRO T A, AFIFI A J, GAO Junbin, et al. Strided fully convolutional neural network for boosting the sensitivity of retinal blood vessels segmentation [J]. Expert systems with applications, 2019, 134: 36?52.
  [8] WANG Shuihua, XIE Shipeng, CHEN Xianqing. Alcoholism identification based on an AlexNet transfer learning model [EB/OL]. [2019?04?11]. https://doi.org/10.3389/fpsyt.2019.00205.
  [9] 陈思文,刘玉江,刘冬,等.基于AlexNet模型和自适应对比度增强的乳腺结节超声图像分类[J].计算机科学,2019,46(z1):146?152.
  [10] SENGUPTA A, YE Yuting, WANG R, et al. Going deeper in spiking neural networks: VGG and residual architectures [EB/OL]. [2019?03?07]. https://www.frontiersin.org/articles/10.3389/fnins.2019.00095/full.
  [11] CHEN Hongling, CHEN Haoyu. Face recognition algorithm based on VGG network model and SVM [EB/OL]. [2020?05?20]. https://iopscience.iop.org/article/10.1088/1742?6596/1229/1/012015/meta.
  [12] KIM J?H, SEO S?Y, SONG C?G, et al. Assessment of electrocardiogram rhythms by GoogLeNet deep neural network architecture [J]. Journal of healthcare engineering, 2019(1): 1?10.
  [13] 徐一鸣,张娟,刘成成,等.迁移学习模式下基于GoogLeNet网络的风电机组视觉检测[J].计算機科学,2019,46(5):260?265
  [14] 胡方尚,郭慧.基于ROI模板的印刷品图像配准方式[J].东华大学学报(自然科学版),2016,42(4):582?586.
转载注明来源:https://www.xzbu.com/8/view-15313903.htm