APP下载

基于轻量卷积神经网络的高速铁路隧道表面病害筛选算法

2022-05-13黄晓东漆泰岳覃少杰

铁道标准设计 2022年5期
关键词:残差卷积病害

黄晓东,漆泰岳,覃少杰

(1.西南交通大学土木工程学院,成都 610031; 2.广州地铁集团有限公司,广州 510310; 3.西南交通大学交通隧道工程教育部重点实验室,成都 610031)

引言

目前隧道表面病害主要有渗漏水、裂缝、掉块等,主要通过人工巡检的方法来完成,这一检测需要专业的工作人员,并带有主观的判断差别。由于高速铁路的“开天窗”特性,工作人员只能在特定的时间段进入隧道进行检测。随着越来越多深埋大长隧道修建,夜间能见度低下、检测人员工作强度大以及检测安全问题将会日益凸显,人工检测在效率和可靠性上无法满足高速铁路隧道发展的要求。为了解决这些问题,机器视觉因其非接触、非损伤和快速检测的特性发展迅速。传统的图像处理方法,如Otsu算法、分水岭法,需要人工设计病害特征,往往依赖特征设计者高超的经验。近年来,深度学习在计算机视觉的各个领域获得突破。与传统的图像处理方法不同,卷积神经网络不需要人工设计特征过滤器,自动学习样本特征。数据集中涵盖不同的拍摄环境下的样本,提高算法的鲁棒性和精度。

在现有硬件条件下,高速铁路隧道衬砌表面图像的采集速度可达50 km/h,裂缝的检测精度为0.2 mm,单位千米隧道衬砌图像数据量587 GB,每秒产生的数据量为8.1GB以上,需要实时处理海量的图像[1]。若将所有的数据全部存储到硬盘上再带回数据中心进行处理,需要庞大的存储系统;若进行实时的检测,识别出病害的类型并定量的评价病害的破坏程度,需要巨大的计算资源和全面精细的检测模型。现有的条件下,部署在检测车上进行实时检测难以实现。同时对于无病害的信息按照同等复杂度的计算无疑降低了网络的效率。目前在高速采集隧道表面其中的病害信息占比不到10%,需要将无病害且无构筑物的冗余信息数据剔除,将有用信息数据存储起来,为下一步的病害定量检测提供原始数据。

本文提出了基于卷积神经网络的隧道表面病害筛选算法,轻量模型ResNet-DS采用轻主干结构、深度可分离卷积和模型量化等方法减小模型大小,提升预测速度,实现高速识别海量无病害图像的轻量网络,每千米隧道衬砌图像存储数据量下降至164 GB。实验表明,该算法在精度达到98.67%的同时,每张图片预测仅需10.86 ms,可进行实时检测。轻量模型对硬件有广泛适应性,部署在更优的计算平台上检测速度可进一步提升, 有极高的应用价值。

1 国内外研究现状

1.1 基于计算机视觉的隧道病害检测

目前基于计算机视觉的隧道病害检测已经取得了很多成果。王耀东等[2]提出一种基于全局与局部相结合的预处理算法,并采用多级滤波检测隧道表面裂缝;王睿等[3-4]提出应用CDD相机的衬砌裂缝快速检测系统,结合Prewitt算子和Otsu的梯度类间阈值法,初步完成裂缝图像的分割和特征提取。但算法依靠人工设计参数提取裂缝特征,在复杂的环境下鲁棒性低。黄宏伟等[5]提出一种基于全卷积网络的盾构隧道渗漏水病害图像识别算法,该算法具有优越的鲁棒性,在错检率和运行时间上具有较大优势;薛亚东等[6-7]在GoogLeNet基础上改进Inception模块,隧道病害分类准确率超过95%,基于Fester R-CNN[8]构建盾构隧道病害检测模型。但检测图像均来自于MTI[9],检测系统依靠人力推动采集图像,不适用于高速铁路病害检测。Protopapadakis E等[10]基于卷积神经网络,提出了一种启发式后处理算法,该算法可提高检测精度、减少计算时间、解决训练样本稀疏和噪声问题,但模型推理速度需要进一步提高。现有的算法关注于图像采集后的病害检测,无法满足实时处理海量图像的要求,需要新的轻量神经网络高速识别无病害图像,完成高速铁路表面病害图像采集工作。

1.2 卷积神经网络在计算机视觉中的发展

卷积神经网络具有参数少、保留图像空间结构、参数共享和稀疏连接等特性,广泛应用于计算机视觉任务中,如:图像分类、图像识别、图像分割。LECUN Y.L.等[11]在1998年提出LeNet-5,第一次定义了卷积神经网络(CNN)。LeNet-5提出一个或多个卷积层后面添加一个池化层进行下采样的基本结构。在随后的时间里,受限于硬件的计算能力和获取数据的难度,卷积神经网络相对于人类的优势并没有体现出来。2012年,ALEX等[12]提出AlexNet,采用ReLu激活函数替代Tanh加速网络的收敛,并在数据集ImageNet上获得了图像分类的冠军,至此深度卷积神经网络有了更广泛应用。2014年,KAREN等[13]提出了 VGG模型,简化网络结构,加深了神经网络,并提出一个大感受野卷积核可以由多个小感受野卷积核组成。同年,Google提出了基于Inception模块的GoogLeNet网络,Inception结构将多个不同尺度卷积核并联,并利用1×1的卷积核对特征图通道数降维,以减少计算参数[14]。2015年,HE K等[15]提出了ResNet残差神经网络,解决梯度消失和梯度爆炸的问题,使得深层神经网络也具有良好的性能。后面的主流模型都借鉴ResNet的结构设计,基于ResNet在分类图像上良好的性能和广泛的应用,本文模型选择ResNet作为主干结构(backbone architecture)。2017年,Google提出MobileNets[16]轻量模型,采用一系列的深度可分离卷积[17-18]替代标准卷积,大大减少了参数数量,使得模型可以部署到计算资源有限的移动设备上。

2 数据集

在地铁区间隧道和高速公路隧道维护检修期间通过相机采集原始隧道图像。由于硬件计算能力限制,采用滑动窗口算法[19]将采集的图像裁剪成224pixel×224pixel的图像子块,建立隧道表面病害筛选数据集。数据集按是否为无病害样本且没有隧道构筑物分为两类:第一类是需要剔除的图像,包含不同光照条件及环境下无病害衬砌,称为冗余信息样本;第二类是需要保存的图像,包含隧道衬砌表面渗漏水、裂缝、掉块以及构筑物管线等,称为有用信息样本。由于神经网络需要更大的数据集,而隧道中的裂缝、渗漏水样本较少,为扩充样本,用相机采集了部分混凝土裂缝和渗漏水样本。考虑到隧道中冗余信息占比大,且检测的目的是剔除无病害衬砌图像。数据集包含5 200张图像,其中冗余信息样本3 120张,有用信息样本2 080张,按3∶2的比例分成训练集和验证集,图像分类标签为1(冗余信息样本)和0(有用信息样本)。

为防止模型过拟合,丰富样本多样性,在训练阶段对样本进行随机的图像增强、水平翻转、旋转等处理,提高模型鲁棒性,图像如图1所示。

图1 数据集中样本示例

3 网络结构的选择和设计

针对轻量卷积神经网络搭建、训练以及优化的流程如图2所示。

图2 ResNet-DS搭建流程

3.1 主干结构的选择

高速铁路表面病害的筛选任务需要在时速50 km的高速检测车[20]上进行,在一定的时间内处理采集的图像,对预测模型的推理速度有着严格的要求。同时受限于边缘硬件设备的计算能力,模型需在精度与速度之间平衡,以便于部署在小型边缘计算设备上。

本文对主流的图像分类网络在经典的ImageNet数据集上训练后的精度(Acc)、浮点运算数量(FLOPs)以及参数数量(Params)进行对比,如图3所示。

图3 主流图像分类模型性能分布

可以看到,InceptionV3、V4网络加入残差结构在训练一个更大的网络时具有更好的性能。为平衡精度和运算数量,本文选择较小的ResNet-18残差神经网络作为主干结构,在原网络的基础上将卷积核维度相同的残差单元去掉,以适应更高的检测速度。模型结构如图4所示。

图4 模型结构

3.2 深度可分离卷积(Depthwise Separable Convolution)

深度可分离卷积由一个深度卷积(Depthwise Conv, Conv dw)和一个逐点卷积(Separable Conv)组成。其中深度卷积是将输入的特征图(feature map)按通道数拆分成单通道的形式,卷积核一并拆分成单通道形式,对应的卷积核在特征图的同一通道上进行卷积操作。经过深度卷积后,特征图的通道数不变。接下来是卷积核大小为1×1的逐点卷积。逐点卷积与标准卷积(Conv)操作一致,可以对特征图通道数升维和降维,减少计算量。标准卷积与深度可分离卷积结构如图5所示。

图5 标准卷积和深度可分离卷积结构

图5中BN(Batch Normalization)为批规范化,ReLu为激活函数。单层标准卷积层的计算量

DK×DK×M×N×DF×DF

(1)

深度可分离卷积的计算量

DK×DK×M×DF×DF+M×N×DF×DF

(2)

将标准卷积用深度可分离卷积替换后,计算量减少

(3)

式中,DK为卷积核的长和宽;M为输入特征图通道数;N为输出特征图通道数;DF为输出特征图的长和宽。采用3×3卷积核,每层用深度可分离卷积替代标准卷积,计算量减少8~9倍。

3.3 残差单元

随着网络深度的增加,传统神经网络的表现先是逐渐增加至饱和然后出现网络退化。深层神经网络对于恒等函数并不容易拟合。残差神经网络将浅层神经网络学习到的信息通过一个连接层(Shortcut)传递到深层神经网络,构建恒等映射,参与深层神经网络的学习。

恒等映射为:

y=H(x)+x

(4)

其中,H(x)为经过深层神经网络得到的特征图,x为浅层特征图。

残差单元将几个卷积层组成一个整体。一条路径为标准的神经网络前向传播,另一条路径是通过连接层将第一个卷积层的输入信息传递到后面卷积层的激活函数之前。本文将2个深度可分离卷积作为一个残差单元搭建网络,如图6所示。

图6 残差单元结构

3.4 网络结构

以ResNet为主干结构,将标准卷积替换为深度可分离卷积,定义残差深度可分离网络ResNet-DS。网络结构见表1,其中s为步长。

表1 ResNet-DS网络结构

4 模型性能评价及优化

模型采用深度学习框架PaddlePaddle进行训练与预测。训练阶段批数量(batch size)为32,训练周期由网络完成任务的难易程度和数据集大小决定。轻量模型除对精度的要求外,对预测速度和模型大小有着严格约束。用于训练的硬件配置CPU为英特尔 Core i7-9700F 8核,GPU为 NVIDIA RTX 2060 SUPER 8G,数据传输和存储硬盘为西数机械硬盘(7 200 rp/min)。训练参数的设置对模型的训练和推理至关重要,本文设置初始学习率为0.002,采用余弦衰减策略。训练和推理阶段,在输入网络之前对图片进行减除图像平均值和归一化操作。

4.1 分类模型的性能指标

分类任务常用的模型性能评判指标:错误率和精度。本模型的目标是剔除冗余数据。查准率(precise)和查全率(recall)是另一种判断分类模型的性能指标。二分类中,以冗余信息样本为真,有用信息样本为假。依据真实标签以及预测标签组合划分为真正例(TP)、假正例(FP)、真反例(TN)、假反例(FN)。对于冗余信息样本的查准率P和查全率R定义分别为

(5)

(6)

对于筛选模型性能评估,在去除无病害信息的情况下确保有病害信息以及构筑物信息保存下来,本项目更关心冗余信息样本的查准率。查准率与查全率是一对互斥的评估指标。将预测结果为正例的概率值排序,排在最前面的为正例的概率最大,从前往后对样本进行正例判定,每次计算出当前的查全率和查准率,以查全率和查准率分别作为横纵坐标轴,得出P-R曲线。实验分析了精度,并对正例的P-R曲线进行评价。

4.2 模型量化

对于边缘侧的部署,内存和计算资源存在限制。网络中的权值采用32位浮点(Float32)精度保存,而实际上每一层的权值分布较为集中,卷积神经网络对离散噪声和扰动有良好的鲁棒性。采用定点数保存权值,即用精度小的数据类型近似表示网络的权值,提升预测速度[21]。模型量化将定点数与浮点数建立了数据映射关系,本文采用混合量化,int8定点数量化网络卷积层的权值。对已训练的模型进行静态离线量化,用少量校准样本计算量化因子。

量化流程:在校准数据集上,对于每一卷积层,记录激活值直方图,基于不同的阈值产生不同的量化分布。通过对比产生的量化分布和原分布,选择相对熵最少的量化分布。模型量化后可以减少模型的尺寸,更易于边缘侧计算机的部署,同时计算内存耗用更低,提升预测速度。量化模型在几乎不损失精度的情况下提升模型性能。

4.3 带权重的交叉熵损失函数(Loss)

损失函数评价模型在训练过程中的精度,并用于更新梯度,是描述预测值与真实值差距的标准。分类模型采用交叉熵函数,将两类样本视为同等重要。对于本项目,将有用信息样本判断错误并筛除会导致病害数据的遗漏,是不被允许的。在本模型中,采用带权重的交叉熵函数[22],冗余信息样本需要剔除,对精度有更高的要求,在损失函数中赋予更高的权重;对于有信息样本,保存到硬盘上进行二次图像识别和检测,可以允许一定的误判,在损失函数中赋予较小的权重。

带权重交叉熵损失函数定义

(7)

5 实验结果与分析

5.1 模型训练过程与分类结果分析

在训练过程中,每进行一次前向传播和反向传播(梯度下降)记录一次平均损失值和预测精度,以此绘制Loss曲线和精度曲线。模型输出分类的概率,取大值作为判断类别依据。本文训练ResNet-DS并以同样参数与数据集分别训练残差神经网络ResNet-18和ResNet-50,绘制Loss曲线和精度曲线。实验结果如图7、图8所示。

图7 损失值Loss曲线

图8 精度曲线

从Loss曲线可以看出,3个模型的平均损失值只有ResNet-50在前50 epoch的迭代区间上产生了先上升后下降的趋势,其余阶段均随着神经网络的学习而减小,说明模型可以很好地学习到隧道衬砌表面的特征。同时ResNet-DS在学习一开始损失值小于其他两个模型,并且在相同的迭代过程中曲线一直处于其他实验模型下方,深度可分离卷积嵌入残差神经网络小模型,在隧道表面病害筛除任务上并没有因为参数的减小而产生性能上的损失。ResNet-18和ResNet-50大模型在简单分类任务上出现了过拟合的现象,性能上略弱于小模型。

在精度曲线上,随着迭代的进行,精度逐渐提高。ResNet-50在精度上与ResNet-18和ResNet-DS有较大的差距,出现了精度先降低后上升的现象;ResNet-18在训练过程中出现了强烈震荡。经过分析,ResNet-DS可以较好地适应隧道表面的筛除任务,在学习效率和精度上均略高于ResNet-18和ResNet-50。图9为模型对样本的筛选结果,其中图9(a)是需要剔除的冗余信息。

图9 ResNet-DS筛选样本

5.2 模型推理性能对比

模型大小可以通过模型参数数量反映。模型部署的边缘计算机终端,除了精度外,模型的推理速度是判定是否适应当前需求的另一个指标。试验将本文设计的ResNet-DS与ResNet-18和ResNet-50作比较,从模型精度、参数数量、浮点运算数量3个方面衡量模型的性能,并分别部署在CPU和GPU上进行预测推理,得到预测时间。实验结果如表2所示。

表2 模型推理性能

从表2可以看出,用深度可分离卷积替代标准卷积后,模型的参数和浮点运算量急剧减小。对比ResNet-18,参数数量减少88%,浮点数计算减少至1/10。对于部署在有内存和计算力限制的边缘计算设备上有巨大的优势。同时在调用的GPU并行计算加速的环境下,ResNet-DS分别比ResNet18和ResNet50快12%和146%;在只调用CPU计算的环境下,ResNet-DS比ResNet18快1.37倍,比Resnet50快3.63倍。说明在计算资源充裕的环境下,利用GPU进行并行计算,ResNet-DS推理速度仅有小幅度的提升;但在CPU上部署,算力受限的环境下,ResNet-DS因其本身计算成本小,推理速度成倍提升。

5.3 P-R曲线分析

隧道表面病害筛选算法更加关注隧道冗余信息样本的剔除。对于冗余信息样本,实验选择β=1.0和β=1.5的权重模型进行实验对比。P-R曲线直观显示出样本的查准率与查全率,通过对比曲线的分布和与坐标轴所围成的面积比较模型的性能。2次实验的P-R曲线如图10所示。

图10 模型性能对比实验P-R曲线分析

从图10可以看出,β=1.5的P-R曲线完全包住β=1.0的曲线,对于冗余信息样本筛选的性能更优。赋予样本更高的权重,则在模型训练过程中赋予样本更大的惩罚因子,使模型侧重于对冗余信息样本特征的学习。本文模型最终选择β=1.5,得分阈值为0.8的模型,在验证集上可以实现对于冗余信息样本分类的100%的查准率。经过模型的筛选后,无病害且无构筑物的图像数据被剔除,占比72%。单位千米隧道存储数据量下降至164 GB。

5.4 量化模型性能对比

训练好的模型,采用400张样本校准数据计算量化因子,进行静态离线量化。所得模型与原模型性能比较,实验结果如表3所示。

表3 量化前后模型性能对比

如表3所示,在精度没有损失的情况下,在CPU环境和GPU并行计算环境下单一图像预测速度分别提高3.75 ms和1.05 ms。对比ResNet-18,量化后的模型ResNet-DS推理速度在GPU运行环境下提升22%,在CPU运行环境下提升178%。

6 结论

为了快速剔除高铁隧道表面无病害图像,本文利用深度学习算法,构建轻量卷积神经网络ResNet-DS。从识别精度、模型大小和推理速度3个方面与原残差神经网络ResNet-18和ResNet-50进行对比分析。同时训练好的模型进行静态离线量化,探究了轻量网络在高速处理海量隧道图像的应用。结论如下。

(1)以残差神经网络为主干网络,将深度可分离卷积替代标准卷积,构建的模型ResNet-DS识别精度为98.67%。对比原残差神经网络,在保证精度的前提下,模型的参数和浮点运算量急剧减少,推理速度在GPU环境下提升12%,在CPU环境下提升137%,模型性能明显提升。

(2)通过P-R曲线分析不同权重下模型对冗余信息样本识别的准确率和召回率得出,采用权重损失函数赋予冗余信息样本更高的权重,可以使模型在判断并删除样本时更加稳健。

(3)在ResNet-DS训练完成后,采用少量的样本对模型进行静态离线量化。量化后模型在GPU和CPU环境下单一图像推理时间分别减少1.05ms和3.75ms,推理速度进一步提升。静态离线量化方法优化模型能更好地满足检测需求。

猜你喜欢

残差卷积病害
基于残差-注意力和LSTM的心律失常心拍分类方法研究
早春养羊需防六大病害
基于双向GRU与残差拟合的车辆跟驰建模
小麦常见三种病害咋防治
基于3D-Winograd的快速卷积算法设计及FPGA实现
葡萄病害周年防治历
基于残差学习的自适应无人机目标跟踪算法
果树休眠期咋防病害
卷积神经网络的分析与设计
基于深度卷积的残差三生网络研究与应用