残差网络算法在隧道衬砌病害识别中的应用
2021-09-28李夏利焦良葆曹雪虹
李夏利,焦良葆,曹雪虹,
(1.南京邮电大学通信与信息工程学院,江苏南京 210003;2.南京工程学院信息与通信工程学院,江苏南京 211167)
0 引言
进入21 世纪以来,我国地下工程建设蓬勃发展,大量隧道工程陆续投入运营[1-3]。随着时间的推移,混凝土结构常会发生恶化,导致各种结构病害,如充气空洞、脱空和排水不良导致的含水层等。这些病害随时可能对繁忙的交通产生威胁,给社会带来无法挽回的损失,因此隧道衬砌结构检测十分重要。探地雷达(Ground Penetrating Ra⁃dar,GPR)作为一种新兴的无损检测技术,具有定位准确、速度快、使用灵活、探测精度高等特点,已被广泛应用于探测浅层地下未知物体[4]。Shao 等[5]提取探地雷达反射波的幅度谱特征,并使用支持向量机(SVM)分类器自动分类检测铁路路基道砟病害;周辉林等[6]提取探地雷达反射波的时域—小波域特征,使用SVM 分类器自动检测高速公路浅层病害;赵勐[7]在分析铁路路基和典型病害图像特征的基础上,提出基于二维小波分析的特征提取算法,并将算法应用于测试样本的病害识别,验证了算法的有效性;廖立坚等[8]根据小波变换的反滤波突出层面和病害位置,并结合层结构检测方法,使用SVM 分类器自动解译铁路路基探地雷达图像病害,结果表明,该算法对铁路路基病害的提取识别率大于90%;Ristic 等[9]利用训练的人工神经网络(ANN)定位探地雷达图像中的异常区域,通过搜索双曲线图像模式和峰值点确定反射发生位置,但是对于在探地雷达图像中不表现为双曲线特征的目标体,该算法有效性大大降低。目前大多数识别方法是通过提取病害特征,使用SVM 分类器或模型处理探地雷达数据,最终识别分类病害,而利用残差网络实现病害分类的相关研究较少。
2016 年,He 等[10]提出ResNet 模型,ResNet 结构中的残差学习思想总体解决了训练更深网络中存在的梯度消失或爆炸问题,较大程度地提升了分类准确率。近年来,残差网络广泛应用于农业、工业等领域。文献[11]采用改进型残差网络进行矿井图像分类;文献[12]采用改进深度残差网络进行番茄病害图像识别分类。在现有研究的基础上,本文从准确率、召回率、平均准确率等方面进行评价,分析不同层数残差网络在实测数据集上的表现,测得ResNet-34 神经网络在隧道病害数据集上的识别率为98.9%,为隧道衬砌病害识别提供了新方法。
1 ResNet 模型简介
ResNet 卷积神经网络又称为深度残差网络,其通过加入残差单元解决传统Alexnet[13]、Inception[14]、NIN[15]等经典神经网络出现的问题。ResNet 大幅度提高了模型检测速度与精度,并解决了随着网络层数增加而出现的梯度消失或爆炸[16-18]、网络衰退问题,适合应用于实际场景中[10]。ResNet 借鉴高速网络的跨层连接思想,并对其进行了改进。本文采用的是ResNet-34 网络结构,其有34 层网络,包括4 个残差模块,每个残差模块都有不同的卷积层数。为避免网络对初始化权重不敏感,每个卷积层后面都设有1个批处理层。ResNet-34 具体是由1 层7×7×64 大小的卷积层,16 个由3 个卷积层构成的block 残差模块以及1 层全连接层构成[19]。
1.1 ResNet 网络结构残差学习
针对网络中的堆积层结构,假定输入为x,期望输出为H(x),即H(x)是网络学习到的数据特征。残差网络借助跨层连接的思想,利用多个有参网络层对网络输入与输出数据之间的残差F(x)=H(x)-x 进行学习,其中H(x)-x 表示有参网络层学习输入与输出之间的残差,若神经网络学习达到比较饱和的准确率,即输入x 近似接近于输出H(x),则x 为恒等映射(Identity Mapping)[10]。
残差学习(Residual Learning)[10]的思想可表示为图1。图1 中右侧的连接为没有带入任何参数的跳层连接,是将上一层或几层的特征信息直接与本层处理后的特征信息相加,然后进行线性激活,其数学表达式为:
式中,xl为 第L 个残 差单元 的输 入特 征,xl+1为第L 个残差单元的输出特征,Wl为1 组与第L 个残差单元相关的权重,F(xl⋅Wl)为1 个残差函数。在ResNet 中,h(xl)=xl是恒等连接,f(*)为1 个ReLU(Recitified Linear Unit)激活函数。
1.2 恒等映射
ResNet 中的恒等映射结构是指将当前此层输出直接传入下一层网络。当网络输入与输出通道数相同时:
式中,x 为网络输入,y 为网络的期望输出。
当网络输入与输出通道数不同时,有两种恒等映射方式:一种是简单地将x 相对y 缺失的通道直接补零使其对齐,另一种是通过使用1×1 的conv 表示Ws映射,从而使最终输入与输出的通道数目相同,即:
式中,Ws为1×1 的卷积。
1.3 瓶颈结构
为减少深度网络的参数量和卷积量,可加入瓶颈结构。其通过使用1×1 的卷积改变维度,从而使3×3 卷积的过滤器数目不受上一层输入的影响,同时其输出也不会对下一层模块造成干扰,最后通过1×1 的卷积恢复特征维度,如此可节省计算时间。瓶颈结构如图2 所示。
Fig.1 Residual learning图1 残差学习
Fig.2 Bottleneck structure图2 瓶颈结构示意图
2 算法改进
设计一种基于深度学习ResNet 神经网络的隧道衬砌病害识别算法,以实现5 种隧道衬砌病害的分类。面对多分类问题,向ResNet-34 网络中加入Softmax 函数,其将多个神经元的输出映射到(0,1)区间内,在多分类任务中提升了训练效率。同时选择交叉熵分类损失函数与正则化损失函数,以加快网络收敛速度,限制过拟合现象产生。
2.1 ResNet-34 网络流程
对于输入的1 张图像,首先通过1 个大小为7×7,步长为2 的卷积核对其进行特征提取,图片长宽变为原来的一半;其次输入到1 个最大池化层进行特征区域划分,即将区域中的最大值作为区域代表以降低计算量和参数数目;然后将池化后的图像作为输出通过16 个block 模块,继续进行图像特征提取;最后将图片输入平均池化层和全连接层,输出的数据特征由全连接层映射到一维向量中,并将该向量通过Softmax函数进行回归,将分类结果以概率的方式呈现。
2.2 Softmax 函数
训练图片经过卷积、正则化、激活、池化处理,输出数据特征由全连接层映射到一维向量中。该向量通过Soft⁃max 函数运算后将隧道衬砌病害分类结果以概率的方式呈现,即将全连接层输出的特征向量转化为指数函数,并将1个N 维的任意实数向量映射为另1 个N 维的实数向量,使向量中每个元素的值介于0~1 之间,最后对所有结果相加进行归一化,从而以概率的形式呈现出来。
Softmax 计算公式如下:
式中,labels 为隧道衬砌病害图像的标签;y 为1 项1×numclasses 的向量,其实际隧道衬砌病害类别标签对应的位置为1,其余位置均为0,numclasses 为隧道衬砌病害图像标签的分类数目;Pi为该隧道衬砌病害属于第i 种图像分类的概率;lossi为对应隧道衬砌病害类别的损失函数;logitsi为输出向量logits的第i 值。
2.3 损失函数
损失函数可用于评价模型预测值与真实值的差异程度,损失函数越好,模型的性能越佳。本文采用交叉熵[20]作为损失函数,随着预测概率偏离实际标签,交叉熵损失会逐渐增加。采用权重正则化[21]计算正则损失,损失函数总体损失值为分类损失与正则损失的总和。
分类损失是指计算batch 中每个病害类型样本的真实标签(labels)与病害类别预测结果(logits)之间的系数Soft⁃max 交叉熵,并取该矩阵的平均值。利用稀疏Softmax 交叉熵计算分类损失旨在最大程度地减少病害类别预测结果与样本真实标签之间的距离,并扩大预测结果与其余错误类别标签之间的距离,从而减少重叠并提高匹配性能。交叉熵损失函数的公式如下:
式中,y 指该样本的真实标签,K 为病害总类数,N 为1个batch 中的样本数量,pi,k为第i 个样本预测为第k 种类别的概率。
在训练过程中对网络权重增加正则化,以保留所有特征,减少参数大小,防止过拟合现象并提高模型泛化性能。权重正则化损失函数的形式为:
式中,α为正则项系数,W 为网络权重,θ为隧道衬砌病害类别预测值,x 为隧道衬砌病害样本数据特征,T 为权重项数。
3 实验方法与结果分析
为验证基于ResNet 的隧道衬砌病害识别与分类效果,采用模拟数据与浙江翁垟隧道检测数据为数据集进行实验测试及相应结果的分析与讨论。
3.1 数据集制作
将数据集分为两组,第1 组采用数值模拟方法建立数据集,采用Gprmax 探地雷达仿真软件创建混凝土结构空洞、脱空、含水层以及不密实的仿真地质结构模型,得到仿真探地雷达数据图像。建立基于实测图像的噪声模型,根据不同深度噪声强度不同的实际情况,对模型加入噪声,使其更接近于实测数据。第2 组数据集为部分仿真图像加入实际测量数据,实测数据为采用探地雷达探测出的浙经翁垟1 号、2 号隧道图片。
在隧道运营期,由于服役环境变化、结构性能劣化、施工质量差异等因素的综合作用,隧道衬砌结构内部经常会产生各种病害,主要包括脱空、空洞、含水层、不密实等。将模拟数据图片按照7∶2∶1 的比例分为训练集、测试集与验证集,其中训练集3 693 张,测试集1 051 张,验证集531 张,图片尺寸均为224×224。5种隧道衬砌病害图例如图3所示。
Fig.3 Simulated diseases图3 模拟仿真病害
将实际测量数据图片按照3∶1∶1 的比例分为训练集、测试集与验证集。5 种隧道病害类型图例如图4 所示。
Fig.4 Measured diseases图4 实测病害
3.2 数据预处理
由于设备环境等因素影响,实测数据图片质量较差,故首先对实测数据进行去噪处理,再提取病害区域。为使图片数据更好地适应模型,解决实测数据与模拟数据图片大小不一致的问题,需要在实验前采用数据归一化处理将数据集图片统一为224 ×224 大小。
3.3 实验评价指标
采用准确率(Accuracy)、精确率(Precison Rate)、召回率(Recall Rate)、F1 等作为分类模型的评价指标。
3.3.1 准确率、精确率、召回率、F1
准确率指预测正确的样本数占全部预测正确样本数的比例。
精确率指在被分类为正类别的样本中确定为正类别的比例。
召回率指在所有正类别样本中被正确分类为正类别的比例。
F1指精确率与召回率的加权调和平均。当α为1 时,则Fα=F1,当F1较高时,说明结果较为理想。公式[22]如下:
3.3.2 宏精确率、宏召回率、宏F1
宏精确率(macro-P)指在多分类问题中先分别计算出每一类别的准确率,再求得的平均值,公式[22]如下:
宏召回率(macro-R)指在多分类问题中先分别计算出每一类别的召回率,再求得的平均值,公式[22]如下:
宏F1(macro-F1)指在多分类问题中先分别计算出每一类别的F1值,再求得的平均值,公式[22]如下:
3.4 实验结果分析
本文采用不同层数ResNet 网络作为ResNet-34 的对照组,训练完成后采用带有GPU 的台式机调用该模型对测试集图片进行测试,实现了基于ResNet 的隧道衬砌病害识别。ResNet 各层测试结果总体如表1 所示,具体数据如表2—表9、图5—图8 所示。
Table 1 Comparison of experimental results表1 实验结果对比 (%)
3.4.1 ResNet-18
ResNet-18 网络的测试结果如图5、表2、表3 所示。
Fig.5 Accuracy and loss change curve of ResNet-18 training set and validation set图5 ResNet-18 训练集与验证集准确度与损失变化曲线
Table 2 Training results of first set of ResNet-18表2 ResNet-18 第1 组训练结果 (%)
Table 3 Training results of second set of ResNet-18表3 ResNet-18 第2 组训练结果 (%)
3.4.2 ResNet-34
ResNet-34 网络的测试结果如图6、表4、表5 所示。
Fig.6 Accuracy and loss change curve of ResNet-34 training set and validation set图6 ResNet-34 训练集与验证集准确度与损失变化曲线
Table 4 Training results of first set of ResNet-34表4 ResNet-34 第1 组训练结果 (%)
Table 5 Training results of second set of ResNet-34表5 ResNet-34 第2 组训练结果 (%)
3.4.3 ResNet-50
ResNet-50 网络的测试结果如图7、表6、表7 所示。
Fig.7 Accuracy and loss change curve of ResNet-50 training set and validation set图7 ResNet-50 训练集与验证集准确度与损失变化曲线
Table 6 Training results of first set of ResNet-50表6 ResNet-50 第1 组训练结果 (%)
Table 7 Training results of second set of ResNet-50表7 ResNet-50 第2 组训练结果 (%)
3.4.4 ResNet-101
ResNet-101 网络的测试结果如图8、表8、表9 所示。
Fig.8 Accuracy and loss change curve of ResNet-101 training set and validation set图8 ResNet-101 训练集与验证集准确度与损失变化曲线
Table 8 Training results of first set of ResNet-101表8 ResNet-101 第1 组训练结果 (%)
Table 9 Training results of second set of ResNet-101表9 ResNet-101 第2 组训练结果 (%)
从上述表格和图像中可以看出,相较于其他模型,ResNet-34 网络模型具有更高的准确率和更快的识别速度,满足了对隧道衬砌病害类别进行实时检测分类的需求。
实验结果表明,在一定范围内,迭代步数与模型识别准确率呈正相关。在ResNet-34 模型的实验训练中共迭代10 次,每迭代1 次便对测试集图片进行1 次测试,并记录其准确率。由图7 可以看出,随着迭代次数的上升,模型准确率不断升高,Loss 值不断下降,当迭代次数达到7 次时,网络趋近收敛,Loss 值与准确率均趋于稳定。
4 结论
本文选用一种抗干扰能力强、检测速度快、准确率高的基于ResNet 的隧道衬砌病害识别方法,通过对ResNet-34 网络进行有监督的训练,使其能够准确且实时地对隧道衬砌病害进行识别。验证实验结果表明,该方法病害识别准确率高、检测误差小,可以满足实际工程需求。
深度学习方法对样本数据要求较高,目前成熟的数据库样本往往数以十万甚至百万计,大量样本不仅可以提高模型训练的识别率,还可以避免机器学习中常出现的过拟合问题。本文尝试建立隧道结构病害特征图像样本库,但目前数量还远远不够,且样本来源比较单一(目前主要为浙江翁垟隧道样本),开展样本收集整理是下一步研究任务之一。