基于改进VGG16网络的TBM围岩识别方法研究
2022-08-15孙凯文陶建峰谷朝臣尹德斌
孙凯文,陶建峰,谷朝臣,尹德斌
(1.上海交通大学电子信息与电气工程学院,上海 200240;2.上海交通大学机械与动力工程学院,上海 200240;3.上海工业自动化仪表研究院有限公司,上海 200233)
0 引言
全断面岩石隧道掘进机(tunnel boring machine,TBM)被广泛应用于岩石地层隧道的掘进开挖工程中。异常、不良的地质条件往往给TBM的正常运转带来较大风险,甚至造成严重事故。工程实践经验表明,若能在TBM的掘进过程中持续掌握掌子面的围岩类型,就能对部分不良地质情况进行预警,从而大大降低施工风险。近年来,随着国内大规模深埋隧洞工程项目越来越多,对这类预警的需求愈发迫切。
针对掘进环境下的围岩识别、分类问题,国内外学者已展开研究。这些研究大致分为两大类。第一类是基于TBM运行参数的方法,通过分析载荷、扭矩等掘进参数的变化趋势,建立参数与围岩类型的关系,并输出分类结果。此类方法所用的数学模型包括马尔可夫过程[1]、随机森林算法[2]等。第二类是基于TBM图像数据的方法,仅输入图像数据,而后通过图像处理算法直接输出围岩识别类型。所用的图像类型包括普通图像、融合图像[3]、偏振光图像[4]等;所采用的算法包括阈值分割、梯度分水岭变换[5]等传统图像算法,以及卷积神经网络[6-7]、语义分割模型[8]等深度学习算法。
这两类方法应用于TBM围岩识别时,分别存在以下问题。第一类方法在使用前,需要繁杂的数据清洗过程,难以满足时效性需求;而当TBM机型号发生变化时,运行数据会随之改变,因此还存在泛用性等问题。第二类方法问题主要为图像处理算法,如果仅使用传统图像处理算法,无法获取较高的识别精度;而使用深度学习算法并确保较高精度,则模型结构会很变得复杂,不利于模型快速更新以及掘进现场部署。
综上所述,第一类围岩识别方法存在泛用性、鲁棒性、时效性、可靠性等多种问题,因此缺陷较为明显;而第二类方法则缺陷相对较小,且发展趋势较好。因此,本文提出一种基于改进视觉几何群(visual geometry group,VGG16)网络的围岩识别方法。该方法主要技术线路如下:首先,通过改进VGG16模型结构,大幅降低待定参数量;其次,通过优化知识蒸馏训练模式,提高特征提取能力;最后,基于Tensorflow框架,采用某硬岩掘进工程的岩渣图像数据集对上述方法进行验证。试验结果表明,该方法可在小幅提升准确率的情况下大幅削减网络的待定参数,最终克服第二类围岩识别方法的主要缺陷。
1 VGG16模型简介以及缺陷分析
1.1 VGG16模型概述
VGG16网络是卷积神经网络(convolutional neural network,CNN)的一种典型结构,主要特点是包含卷积核计算以及前馈结构。对比其他CNN,VGG16有着精度高和稳定性好的特点,因此得到了较为广泛的应用。VGG16网络应用于某场景时[9],需分为2个步骤,即网络构建与网络训练。
①VGG16网络构建。通过设置输入窗口大小、卷积核滑动步长等相关参数,构建适配于当前任务的VGG16网络[10]。原始VGG16网络由牛津大学VGG研究小组于2014年发布。原始VGG16网络结构如图1所示。
图1 原始VGG16网络结构
原始VGG16网络由全连接(fully connected,FC)结构、卷积(convolutional,CONV)结构和池化(pooling,POOL)结构拼接而成。该网络所有卷积层的卷积核大小均为3×3,步长均为1;所有池化层的池化核大小均为2×2,方式均为最大池化。其中,卷积层和池化层组合成5个卷积池化模块,即CONV1~CONV5,共同作用以提取特征参数。本文将它们统称为卷积池化层。而全连接层则根据特征参数完成分类任务,故本文将它们概括为分类层。
以下以全连接层FC6为例,说明VGG16网络结构是如何通过全连接结构,串联不同大小维度输入和输出的。假设FC6输入数组大小为h×w×d,其元素表示为Xijk;输出数组大小为1×1×y,其元素表示为C。
1≤i≤y,1≤t≤h×w×d
(1)
式中:Ci为FC6层输出数组中的第i个元素;y为输出数组大小;Xijk为输入数组对应位置元素;d、w、h分别为输入数组3个维度大小;Zt为待确定权值参数,由反向传播原则随着每一轮训练发生变化。
②VGG16网络训练。VGG16网络待确定权值较多,因此不适合像其他深度网络一样从头开始训练,而是需要使用知识蒸馏模式[11]作为替代。知识蒸馏模式的主要作用为:通过从其他训练成果中快速提取有用信息[12],从而大量减少训练参数量。该模式的应用条件也相对简单:将待训练网络记为Student网络,只需要存在1个与其部分结构相同且已训练验证完毕的Teacher网络即可。
应用于VGG16网络模型的知识蒸馏训练流程如图2所示。
图2 应用于VGG16模型的知识蒸馏训练流程
图2中:箭头表示参数更新的传递方向。选用1个已训练完成的VGG16网络作为Teacher网络,再将应用于当前任务的VGG16网络作为Student网络,通过以下3个步骤即可完成标准知识蒸馏模式的应用。①将Teacher网络的卷积池化层所有待定参数迁移至Student网络的对应部分。②将步骤①中迁移的所有参数全部冻结,使其不参与参数更新。③设置优化器、损失函数等参数,并对分类层进行网络训练,直到满足条件后停止参数更新。
1.2 VGG16模型缺陷分析
①模型结构。为保证识别准确率,初始VGG16结构设计较为复杂,存在待定参数过多的问题。由于分类层采用全连接模式,因此这些待定参数主要集于分类层的链接中。以FC6层所需参数总量为例。根据式(1),代入h=w=7、d=512、y=4 096,可得FC6层输出为4 096个。输入为7×7×512=25 088个。因此,如果要计算得到每个输出,仅仅这2层就需要确定h×w×d×y=4 096×25 088=102 760 448个待确定参数。随着网络复杂度的上升,将增加硬件负载、降低计算速度,从而对实际应用造成较大阻碍。
②训练方法。CNN的工作原理为:卷积层的主要功能为提取图像深层特征;分类层的主要功能为根据特征完成分类。当知识蒸馏用于VGG16网络训练时,其卷积层参数完全由迁移得到,只有分类层参数会随着训练更新。虽然Student网络与Teacher网络面向的任务不同,但是两者用于提取特征的待定参数完全相同。这显然不合理。因此,使用知识蒸馏模式训练完成的模型,会存在对当前任务特征提取能力不足的问题,使得其准确率在达到某个上限后,无法进一步提升。
2 基于改进VGG16模型的围岩识别方法
2.1 VGG16网络结构改进
为降低VGG16网络参数量,同时尽可能不弱化其性能,本文拟在保留其卷积层结构不变的前提下,对参数量更多的分类层进行精简并重构。改进方案有以下两种。
①降低中间层输出的维度。通过控制中间层的维度,进而降低网络整体大小。举例说明如下。如果某一层输出减少y个、下一层输出为x个、上一层输出为z个,在全连接模式下,网络就会减少y×(x+z)个待定参数。这里选择将VGG16网络全连接中间层FC7的输出从1×1×4 096改为1×1×512,构建网络VGG16’。此时,分类层参数量将从151 011 843个减少为136 321 027个,参数量得到小幅下降。
②加入新的结构。通过构建一些计算更简便且待定参数更少的结构,在可以表现数据特征的前提下,对部分全连接结构进行替换。这里选择使用平均二维池化(global average pooling,GAP)结构。假定输入数组元素为Xijk,则经过GAP层后,输出数组的元素Dk为:
(2)
式中:Dk为GAP层输出数组的第k个元素;w、h分别为输入数组第二维和第三维的大小;Xijk为输入数组对应位置的元素;d为输入数组第一维的大小。
对比式(1),式(2)中没有待定参数Zt。这表明GAP结构无需仿照原始结构设置待定参数。
用平均二维池化结构替代原VGG16网络中的FC6层,将其命名为GAP6,并将得到的新网络命名为网络VGG_ROCK’。此时,分类层参数量将从151 011 843个减少为264 195个。由此可见,参数量得到大幅下降。
综上所述,通过对VGG16网络结构的改进,可有效减少网络整体待定参数总量,从而实现模型结构压缩。
2.2 知识蒸馏模式优化
为提升网络对目标任务的特征提取能力,Student网络的卷积层待定参数不应通过Teacher网络参数迁移得到后就保持不变,而应同样适量参与训练。因此,当待训练网络判定通过知识蒸馏模式无法有效提升准确率后,再额外增加对网络卷积层的训练是一种合理的逻辑。这部分训练遵循以下两项措施。
①仅激活位于网络末端的卷积池化层,而冻结其余卷积池化层。末端卷积层输出节点较少,因此待训练参数也较少。越深层的卷积池化层,提取得到的特征也越高阶。相比低阶特征,高阶特征对不同任务的区分度会更明显。因此,这项措施可在训练较少参数的前提下,获得更大的准确率提升。
②冻结分类层。使用传统知识蒸馏模式训练模型时,分类层的待定参数会随着训练轮次进行更新。这表明其已经学习过当前任务的特征,无须再次学习。因此,这项措施可在不影响识别精度的前提下减少所需训练的参数量。
综上所述,通过以上对知识蒸馏训练模式的改良,将增强训练完成的模型针对当前任务的特征提取能力,实现识别精度的提高。
3 试验验证
3.1 岩渣图像数据集
岩体掘进时产生的岩渣,其性态与围岩类型密切相关。在TBM工程中,直接采集围岩图像比较困难,而获取岩渣图像则相对容易。因此,采用岩渣图像而非直接使用围岩图像完成围岩识别,在技术上具有较高的可靠性,而在操作上又较容易实现。
形成用于围岩识别试验训练验证的岩渣图像数据集,可分为以下3个步骤。
首先,采集足量的原始岩渣图像。本研究所使用的岩渣图像采集系统结构如图3所示。岩渣图像采集系统已加装于某硬岩掘进TBM工程,组成部件包括线扫相机、防护罩、支架等。
图3 岩渣图像采集系统结构
其次,对所采集的岩渣图像进行预处理。图像原始大小为950×950×3,且有一定噪声。为减少模型计算量与复杂度、降低图像质量对算法的影响,对所有图像进行简单预处理,并将大小规范化为256×256×3。
最后,依据国内学者相关研究与施工方工程经验,将岩渣与对应类型围岩进行类别序号标定。
岩渣图像标定规则如表1所示。
表1 岩渣图像标定规则
经过以上流程,岩渣图像数据集共得到可用图像6 360张。其中:一类岩渣图像3 880张;二类岩渣图像1 840张;三类岩渣图像640张。各类岩渣图像对比如图4所示。此外,每类岩渣图像均按照4∶1划分为训练集与验证集,共计得到5 088张图像用于训练、1 272张图像用于验证。
图4 各类岩渣图像对比
3.2 模型实现与试验设计
构建的验证试验方案如表2所示。本文获取每组试验的迭代次数与验证集识别率关系图像,并对分别模型进行验证集识别总时长测试,以验证以下3个方面性能。①判定模型参数量下降与识别时长缩短的关系。②验证优化知识蒸馏模式相对于原始知识蒸馏模式对当前任务特征提取能力的上升情况。③测试本文所示思路整体的有效性。
表2 验证试验方案
分别构建VGG16’和VGG_ROCK两种模型,对应2.1节模型结构改进。设置输入窗口大小为256×256×3,其余参数则采用默认设置。不同模型网络结构对比如图5所示。图5中,VGG16’对应着降低全连接中间层输出数组维度,而VGG_ROCK则对应着加入新的结构。图5中的箭头表示数据输入方向,箭头边的数字表示输出数组的三维长度。
图5 不同模型网络结构对比图
分别使用原始知识蒸馏模式和优化知识蒸馏模式训练模型,对应2.2节训练模式的优化。不同模型训练流程对比如图6所示。由图6可知,对比传统知识蒸馏模式,应用优化知识蒸馏模式后,会在判定无法继续提升识别准确率时转而训练网络深层卷积池化模块。该模块在本研究中对应图5虚线框中的CONV5部分。此外,在每次试验时,均将未经训练的VGG16’网络和VGG_ROCK网络视作Student网络,而将已应用于ImageNet数据识别竞赛的VGG16网络视为Teacher网络。
图6 不同模型训练流程对比图
3.3 试验结果分析
采用3.1节所述训练集与验证集,按照表2中序号依次进行试验。统计每组试验训练过程中,迭代次数与验证集识别准确率关系。迭代次数与准确率关系如图7所示。
图7 迭代次数与准确率关系曲线
首先比较试验1与试验2的曲线。由图7可知,两者准确率均会在第5轮训练后维持稳定;试验1稳定在98%附近,而试验2稳定在92%附近,两者之间存在一定的差异。由于试验1、试验2均采用同一训练模式,可得到导致此差异的主要原因是模型结构不同,由此判定将模型作过多简化会造成一定准确率损失。
然后,比较试验2和试验3的曲线。由图7可知,相比试验2,试验3的准确率在第10轮后会逐渐上升,并在第19轮达到100%。这是因为其判定识别准确率无法继续上升后,会停止训练分类层并转而训练深层卷积层。试验3采用了优化知识蒸馏模式训练,由此验证了优化知识蒸馏模式相对于原始知识蒸馏模式,提高了网络对目标任务的特征提取能力。
最后,比较试验1和试验3的曲线。由图7可知,在曲线稳定后,试验3的识别准确率略高于试验1,表明试验3在进一步简化模型的基础上,准确率非但不下降甚至还有小幅上升,验证了本文所述方法的有效性。
分别使用验证集1 272张岩渣图像进行识别总时长测试。验证集识别总时长如表3所示。由表3可知,试验2、试验3需要识别时长基本相同,且相对试验1可减少约20%的耗时。这验证了模型结构简化是提高识别速度的主因,也进一步论证了构建VGG_ROCK模型的必要性。
表3 验证集识别总时长
3.4 与其他深度学习图像处理算法的对比
仅使用传统图像处理算法进行围岩识别任务,会导致准确性较差且分类结果不稳定;而使用参数量过大的深度模型,则不利于训练与实际部署。因此,根据应实际工程需求,需要构建结构复杂度适中的CNN,再与VGG_ROCK网络的性能对比。参考相关研究后,构建1个输入窗口大小为256×256×3的12层CNN。网络前9层为卷积层,且分别在第2层、第4层、第6层、第7层、第8层后加入池化结构;网络后3层为全连接层,输出大小依次为1 024、256、3。此外,网络所有卷积层卷积核大小均为3×3,步长均为1;所有池化层池化核大小均为2×2,方式均为最大池化。由于该网络层数较浅,因此对其从头开始进行训练。
对VGG_ROCK网络和12层CNN网络,均采用3.1节所述图像数据集进行训练和测试,并统计其最佳识别率与识别时长数据。网络性能对比如表4所示。由表4可知,12层CNN网络识别准确率较差,识别时长也略长;而VGG_ROCK网络准确率更好,且识别时长也更短。该结果验证了本文改进VGG16算法应用于围岩识别的实用性。
表4 网络性能对比
4 结论
不良地质条件是隧道工程的主要风险之一。在掘进开挖过程中,如何提前并准确识别异常地质情况,以采取有效的风险防范和处置措施,已成为困扰隧道工程界的一大难题。本文提出了一种基于改进VGG16网络的围岩识别方法。通过改进VGG16网络结构,使用全局平均二维池化结构代替全连接结构,可大幅降低VGG16网络待定参数量;通过优化知识蒸馏训练模式,在准确率无法进一步提高后单独训练末端卷积层,提升网络对当前任务的特征提取能力。本文依托对围岩识别任务的应用试验,证明本文方法可在小幅提升准确率的前提下,大幅减少模型的待确定权值参数,从而减轻硬件负荷并提高计算速度。该研究有利于在硬岩掘进条件下对异常地质条件的及时预警及快速处置。
DOI:10.1007/s12145-020-00505-1.