APP下载

基于卷积神经网络的轨道表面缺陷检测技术实现

2017-11-22刘孟轲吴洋王逊

现代计算机 2017年29期
关键词:权值卷积轨道

刘孟轲,吴洋 ,王逊

(1.四川大学计算机学院,成都610065;2.四川大学视觉合成图形图像技术国防重点学科实验室,成都610065)

基于卷积神经网络的轨道表面缺陷检测技术实现

刘孟轲1,2,吴洋1,2,王逊1

(1.四川大学计算机学院,成都610065;2.四川大学视觉合成图形图像技术国防重点学科实验室,成都610065)

利用计算机视觉技术,通过采用基于线阵CCD相机的图像采集系统,能够实现轨道信息的完整采集,实现对铁路轨道缺陷的检测。然而,目前国内大部分缺陷识别技术还不成熟,对于缺陷数据的自动化识别仍很困难,很大程度仍然依靠高度熟练的技术工人或者采用进口检测系统。因此,为满足发展需求,针对有效的轨道表面缺陷识别检测方法进行研究,提出基于卷积神经网络的算法,实现对轨道表面缺陷的识别。以圆形、条形两种缺陷类型数据作为研究对象,验证对轨道表面缺陷的识别检测准确度。

1 轨道缺陷检测技术

列车的运行安全一直是铁路交通运营中关系到经济发展和人身安全的重大问题,而作为列车载体的轨道,则是安全的基础平台。随着我国高速铁路的持续建设和既有铁路线路的提速,轨道缺陷检测有效时间不断减少,同时钢轨使用负荷不断增加,铁路交通迅速发展的同时也正面临着日益凸显的安全问题。重视对钢轨损伤和缺陷的检测分析,及时发现轨道存在的缺陷,不仅是延长钢轨使用寿命的必要措施,更是确保铁路交通安全的重要手段。因此,采用基于计算机技术的轨道自动检测系统能够迅速高效检测轨道缺陷,正在逐步取代人工检查,成为铁路养护更有效、更经济的手段。

早在20世纪20年代,美国Sperry Rail Service公司就已经开始研究基于磁感应和超声波的轨道缺陷检测技术。从20世纪70年代末期开始,发达国家开始将图像处理和分析技术应用于轨道缺陷检测。近年来,随着机器视觉技术等的发展,轨道缺陷检测得以迅速发展。美、德、日等发达国家已经研发了基于图像处理的新型轨道缺陷检测系统。美国Ensco公司研制的MATLAB轨道检测车运用数字滤波、光电等技术,能够检测轨道断面缺陷。德国Atlas Eletronik公司研发的光电式轨道检测车Railab,通过检测窗口对轨道图像进行检测,从而判断轨道损伤情况。相比而言,国内对于轨道缺陷检测的研究起步较晚,主要是由一些相关高校和专业开展预研性的实验和软硬件设计,并没有形成应用型产品。现实中绝大多数轨道检测还是依赖人工实地检测,少数通过拍摄线路视频,然后人工分析视频图像进行检测。

基于图像的轨道缺陷检测领域,采用基于线阵CCD相机的图像采集系统,可以在高速运动状态下获取轨道表面的清晰图像。对输入的轨道图像信息进行预处理,通过图像滤波去除图像信息中的噪声,增强图像细节内容,然后对预处理后的轨道图像进行区域提取,将轨道表面部分、扣件部分等进行提取定位,最后采用相应的算法可以实现对提取的目标区域的轨道缺陷进行判断识别。

2 卷积神经网络

卷积神经网络(Convolutional Neural Networks,简称CNN),是一种特殊的多层神经网络模型,是模式识别分类领域近年发展起来并引起广泛重视的一种高效识别方法。20世纪60年代,Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络。在图像理解领域,由于该网络避免了对图像的复杂前期预处理,可以直接输入原始图像,同时它的稀疏连接和权值共享的网络结构进一步降低了神经网络模型的复杂度,因而得到了更为广泛的应用。

2.1 与传统神经网络相比较的优势

CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。由于CNN的特征检测层通过训练数据进行学习,所以在使用CNN时,避免了显示的特征抽取,而隐式地从训练数据中进行学习;再者由于同一特征映射面上的神经元权值相同,所以网络可以并行学习,这也是卷积网络相对于神经元彼此相连网络的一大优势。卷积神经网络以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性,其布局更接近于实际的生物神经网络,权值共享降低了网络的复杂性,特别是多维输入向量的图像可以直接输入网络这一特点避免了特征提取和分类过程中数据重建的复杂度。

2.2 基本思想和整体结构

CNN是在BP神经网络基础上的改进,两者的共同点是,都采用了前向传播计算输出值,反向传播调整权值和偏置。其最大的不同点在于,CNN中相邻层之间的神经单元是部分连接而非全连接,CNN有三个重要的思想架构:

一是局部区域感知,能够发现数据的一些局部特征,对图像上的像素点相互关系有进一步的分析挖掘。二是权值共享,CNN中每一层的每一个特征映射上的所有神经元共用一个权值,权值通常代表了一个特征,在CNN中也叫卷积核。权值共享减少了需要训练的样本数量,使得训练得出的模型具有更强的泛化能力。三是空间或时间上的采样,其目的是混淆特征的具体位置,我们不需要知道特征在图像中的具体位置,减少了特征定位的工作,这样使得CNN能够对变形和扭曲拉伸的图像有比较好的识别效果。

CNN的基本结构包括两层,其一为特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部特征被提取后,它与其他特征间的位置关系也随之确定下来;其二是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。此外,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数。卷积神经网络中的每一个卷积层都紧跟着一个用来求局部平均与二次提取的采样层,这种特有的两次特征提取结构减小了特征分辨率。一个典型的卷积神经网络结构是LeNet5,其结构示意图如图1所示。

3 轨道表面缺陷检测实现

3.1 实验环境

实验使用开源的Caffe(Convolutional Architecture for Fast Feature)框架,以C++作为核心语言,Caffe的优点是上手快、速度快、模块化,接口开放性良好,易于快速构建所需的CNN模型。

在图像处理方面,使用了开源的OpenCV函数库,OpenCV以其开放性和强大的功能以及良好的兼容性,应用范围广泛,在基于图像的人脸识别、目标检测、目标跟踪方面都有不可替代的作用。

图1 LeNet5结构示意图

3.2 数据描述

采用固定于轨道检测车底部,位于单根铁轨正上方的基于线阵CCD的高速高帧率相机拍摄轨道表面的动态视频,然后逐帧抓取图像,组成所需的数据集。原始图像如图2所示。

图2 拍摄原始图像样例

本实验中,共选取了20081张如图2所示的原始图像作为对象,对所有图像进行裁剪缩放预处理,去除了枕木、道碴等背景元素,得到轨道表面图像,统一设置为180×50像素大小。

按钢轨表面缺陷的特征来分类,可以将其分为两类:裂纹和疤痕。本文主要从特征提取的角度,对裂纹和疤痕的检测识别进行研究并实现检测分类。裂纹缺陷形状比较细长,类似于条状矩形,文中称为条形缺陷;疤痕缺陷类似于圆形,长宽比相差不大,文中称为圆形缺陷。本文按照《铁路工务技术手册》标准将所有轨道表面图像数据手工分为3类(无缺陷、圆形缺陷、条形缺陷),如图3所示。由于存在的缺陷样本比较有限,还应对数据样本进行扩充,主要采用随意变换缺陷框位置、平移或翻转缺陷区域等方法。使3类样本数量基本一致,其中无缺陷样本约8000张,圆形缺陷样本和条形缺陷样本各约6000张。

图3 轨道表面图像分类样例

3.3 CNN结构

(1)训练网络设置

本文所使用的CNN模型采用2层卷积神经网络,2层子采样,2层全连接,为提高样本训练效率,激活函数使用relu函数。包含缺陷的样本图片从卷积层经过滤波器提取特征后,得到一定数量的特征图,再将特征图输入子采样层进行最大池化采样操作,使特征图泛化,加入激活函数使函数变得非线性。重复以上操作,得到处理后的特征图,然后与全连接层进行连接,计算处理结果与标定值得差异,使用反向传播算法自顶而下地再次更新学习率和权值等网络参数。对于需要测试的图像,则经过Softmax分类器可识别得到分类结果。在每个类中,我们保留10%的样本进行测试,剩下90%的样本用于训练。可视化网络结构如图4所示。

图4 可视化网络结构图

(2)网络各层配置实现

在以上算法流程的基础上,该网络各层的配置实现如下。

卷积层的配置实现,以第一层为例,进行如下配置:layer{

name:"conv1"

type:"Convolution"

bottom:"data"

top:"conv1"

param{

lr_mult:1

}

param{

lr_mult:2

}

convolution_param{

num_output:32#卷积和的个数是32

pad:0

kernel_size:5#卷积核的大小是5*5

stride:1#卷积步长是1

weight_filler{

type:"gaussian"#使用gaussian算法初始化权值

std:0.0001

}

bias_filler{#偏置初始化为常数,0

type:"constant"

}

}

}

子采样层及激活函数的配置实现,以第一层为例,进行如下配置:

layer{

name:"pool1"

type:"Pooling"

bottom:"conv1"

top:"pool1"

pooling_param{

pool:MAX #采用最大池化

kernel_size:2 #下采样的核大小是2*2

stride:2 #下采样步长是2

}

}

layer{

name:"relu1"

type:"ReLU"#采用relu函数作为激活函数

bottom:"pool1"

top:"pool1"

}

全连接层的配置实现,以第一层为例,进行如下配置:

layer{

name:"ip1"

type:"InnerProduct"

bottom:"pool2"

top:"ip1"

param{

lr_mult:1

}

param{

lr_mult:2

}

inner_product_param{

num_output:64#输出为64,第二层全连接输出为3

weight_filler{

type:"gaussian"

std:0.1

}

bias_filler{

type:"constant"

}

}

}

(3)训练参数设置

本CNN网络结构的训练参数设置如下:

net:"D:/test/train/train_project.prototxt"#网络配置文件

test_iter:80#测试迭代总次数

test_interval:50000 #测试间隔

base_lr:0.00005#学习率选择

lr_policy:"inv"#学习率的调整策略

weight_decay:0.01#权重

stepsize:200000#学习率变化步长

power:0.75#惩罚系数

gamma:0.5

#gamma值

display:1000#打印迭代间隔

max_iter:5000000 #最大训练迭代次数

momentum:0.5

snapshot:50000

snapshot_prefix:"D:/test/train/model_3/train_3_class"#模型数据保存位置

solver_mode:GPU#训练方式使用GPU

4 实验结果分析

为测试CNN算法对轨道表面缺陷检测的准确率,首先定义以下几个参考指标来评估该算法:

召回率:正确检测出缺陷数量占测试集所有缺陷总数的比例。反映出算法寻找缺陷的能力。

精确度:在所有检测出的缺陷中,正确检测到的缺陷所占比例,反映出检测的准确性。

漏检率:没有定位出的缺陷的数量占总缺陷数量的比例。

本文挑选了带有圆形缺陷和条形缺陷的样本图片各50张作为测试集。在经过训练的CNN模型中,对这100张图片缺陷检测的准确率进行计算,结果表1所示。

表1 检测结果

实验结果表明,该算法能够比较准确地识别出轨道表面存在的缺陷并进行分类,缺陷综合检测精度能够达到70%以上,对圆形缺陷的检测精度能够达到83.72%,具有较好的检测效果,但仍存在部分误检漏检情况。经分析,检测召回率和精确度不够高的原因主要有以下四方面:

(1)手工分类标准不一。前期在对训练样本进行手工分类时,判断的标准容易受到主观因素的影响,导致各类缺陷样本的特征性参差不齐,从而在训练分类器时容易产生误差。

(2)用于训练的缺陷样本多样性不强。尽管对样本数量进行了扩充,但扩充方式还比较单一,无法保证缺陷样本的多样性。特别是对条形缺陷的识别检测,因缺陷形状、方向、长度等因素的干扰较大,检测精确度受影响更大。

(3)较小的CNN模型限制了分类检测性能。为缩短样本训练时间,本文采用的CNN模型只使用了2层卷积、2层子采样和2层全连接,如果构建更大型的CNN网络模型必将在训练效果上更优异,但同时也意味着更长的计算时间。

(4)图像采集系统对图像的质量控制有待提高。固定于轨检车上的相机在高速情况下采集的图像,在光照、噪声、抖动和扭曲变形等因素影响下会从计算机视觉的角度不可避免地误导检测。

5 结语

本文在国内外轨道检测领域的发展及现状基础上,提出基于深度学习的方法来检测轨道表面的缺陷并分类,通过对卷积神经网络的算法进行数学推导,构建对应的网络模型,使用数字图像处理技术及深度学习框架实现了对轨道表面缺陷的检测及分类。但是,在实际运用当中,仍有一些因素没有作深入考虑和研究,下一步需要解决和优化的研究方向主要有以下几点:

(1)基于线阵CCD相机的轨道表面图像采集系统还需解决高速环境下拍摄中遇到的帧率、噪声等影响。

(2)对轨道表面缺陷的分类还比较简单粗略,对轨道表面的具体缺陷、污渍、附着物等还没有进行区分。下一步可以继续运用神经网络和深度学习的方法深化分类。

(3)卷积神经网络模型还有待完善,如何构建一个更成熟的卷积神经网络模型,进一步提高检测精确度,同时减少计算时间,满足实用化需求,是一个值得深入挖掘的方向。

[1]Sperry Rail Service,http://www.sperryrail.com/story.php,2017.02.06.

[2]赵国堂编.轨检车技术现状与发展[M].北京:中国铁道出版社,2001.

[3]王午生,许玉德,郑其昌.铁道与城市交通[M].同济大学出版社,2000.

[4]Rafael.C.Gonzalez,Richard.E.Woods,等.数字图像处理的MATLAB实现[M].清华大学出版社,2013.

[5]铁道工务局.铁路工务技术手册:轨道[S].北京:中国铁道出版社,2000.

[6]刘泽,王嵬,王平.钢轨表面缺陷检测机器视觉系统的设计[J].电子测量与仪器学报,2010,24(11):1012-1017.

[7]官鑫,赵智雅,高晓蓉.图像处理技术在钢轨表面缺陷检测和分类中的应用[J].铁路计算机应用,2009,18(6):27-30.

[8]Krizhevsky A,Sutskever I,Hinton G E.Imagenet Classiflcation with Deep Convolutional Neural Networks.In:Proceedings of Advances in Neural Information Processing Systems 25.Lake Tahoe,Nevada,USA:Curran Associates,Inc.,2012,1097-1105.

[9]Hubel D H,Wiesel T N.Receptive Fields and Functional Architecture of Monkey Striate Cortex[J].The Journal of Physiology,1968,195(1):215-243.

[10]LeCun Y,Bottou L,Bengio Y,et al.Gradient-Based Learning Applied to Document Recognition[J].Proceedings of the IEEE,1998,86(11):2278-2324.

[11]Bouvrie J.Notes on Convolutional Neural Networks[J].Neural Nets,2006.

刘孟轲(1985-),男,四川会理人,在读硕士研究生,研究方向为图形图像处理、计算机网络

2017-07-04

2017-09-28

Convolutional Neural Network;Track Surface;Defect Inspection;Subsampling;BP Neural Network

Implementation of Track Surface Defect Inspection Based on Convolutional Neural Network

LIU Meng-ke1,2,WU Yang1,2,WANG Xun1

(1.College of Computer Science,Chengdu Sichuan 610065;2.State Key Laboratory of Fundamental Science on Synthetic Vision,Sichuan University,Chengdu 610065)

Based on computer vision technology,with the image acquisition system based on linear CCD camera,the comprehensive track information can be collected to lay the foundation for defects detection and location,thereby achieving the inspection of railway track defects.While the most current domestic defect recognition technology has not been refined,and there are setbacks automatic identification of statistics which largely relies on skilled workers or imported detection systems.With this regard,conducts research on the effective method in track surface defects recognition and detection to meet the demand in railway development,and successfully proposes an algorithm based on convolution⁃al neural network to achieve the recognition of the track surface defects.What’s more,the accuracy of the identification of orbital surface defects is verified by researching circular and strip,the two types of defects statistics.

卷积神经网络;轨道表面;缺陷检测;子采样;BP神经网络

1007-1423(2017)29-0065-05

10.3969/j.issn.1007-1423.2017.29.016

猜你喜欢

权值卷积轨道
一种融合时间权值和用户行为序列的电影推荐模型
基于3D-Winograd的快速卷积算法设计及FPGA实现
CONTENTS
基于单纯形法的TLE轨道确定
CryoSat提升轨道高度与ICESat-2同步运行
朝美重回“相互羞辱轨道”?
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
基于权值动量的RBM加速学习算法研究
太阳轨道器