王仁超,连嘉欣,邸 阔,2
(1.天津大学水利工程仿真与安全国家重点试验室,天津 300350;2.天津大学前沿技术研究院,天津 301700)
堆石坝填筑料物通常指山体爆破所得岩块经过二次破碎得到的岩石碎块集合体[1],其粒度(颗粒的大小)不仅影响铲装效率[2],还影响着坝体的压实质量[3]。受到岩体自身结构、裂隙发育程度、炸药参数信息等因素影响[4],料物爆破后的粒度大小难以精确控制,需要进行筛分试验验证。现阶段施工过程中,往往根据典型料场的代表性部位以及填筑部位要求,进行一定量的现场筛分试验。堆石坝料物筛分试验大多采用人工或机械筛分,这种传统的筛分方法需要投入一定的人力、物力、场地等,同时需要花费较长的时间,难以适应工程全过程、精细化控制需求。因此,寻求一种快捷、高效的堆石料粒度检测方法是堆石坝坝料开采质量控制迫切需要解决的问题之一。
以往学者针对堆石料粒度检测的研究大多以分析料堆图像的方式展开,实现步骤包括:(1)对料堆图像中块石的形态进行分割;(2)根据提取出的块石形状计算粒度大小;(3)绘制粒度分布曲线。文献[5]提出了一种改进的分水岭变换方法对矿石料堆图像进行分割,并采用MATLAB软件计算粒度分布情况,绘制粒度分布曲线。然而,作者在结论中指出,受制于分水岭算法的噪声敏感性,研究内容仅能简单进行块石颗粒的实时处理,缺乏实用性。文献[6]通过双重形态重建的方法对铁矿料堆颗粒图像进行分割,并采用圆扫描方法对多个数量重叠的颗粒进行进一步的分割提取,该方法对于图像分割的准确度可以达到94.3%。然而论文所使用的数据集样本为人工挑选的40张图像(20张块石稀疏的图像、20块石密集的图像),而非自然状态下的料物分布图像,绘制出的粒度分布曲线结果存在一定主观干预。Sereshki等[7]等提出了自动确定岩石颗粒边界的算法,与手动划定岩石边界的传统软件包算法相比省去了手动调参的繁琐环节,得到的粒度分布曲线也更加精确。Gao[8]等基于改进的归一化算法对矿石料堆图像进行形态分割,提高了原方法的准确度,但是却没有解决算法自身复杂度高,归一化最小值求解困难的问题。
目前堆石料粒度检测研究领域中,大多采用上述传统形态学算法模型进行图像分割,虽然这些算法在一定程度下能取得较好的结果,但由于图像信息的复杂性,使得这些算法仍表现出计算复杂、噪声敏感、模型泛化程度低等缺陷[9-11]。近年来,深度学习在计算机视觉领域的发展十分迅速,卷积神经网络(Convolutional Neural Network,CNN)在图像识别[12]、图像分类[13]领域均取得了不错的成绩,Long 等[14]提出了全卷积网络(Fully Convolutional Networks,FCN)更是实现了图像的像素级分割。Chen等[15-17]所提出的deeplab系列网络延续全卷积网络的架构,并加入空洞卷积结构扩大滤波器感受野。其中Deeplabv3+是该系列网络模型的最新版本,它在编码器结构的基础上上加入解码模块,并采用空洞空间金字塔模块(Atrous Spatial Pyramid Pooling,ASPP)来解决图像尺度不同的问题。在没有经过任何后续处理的情况下,Deeplabv3+模型在PASCAL VOC 2012数据集和Cityscapes数据集上的平均交并比(MIoU)分别达到89%和82.1%。
但是,考虑到堆石料图像仅能反应块石的平面特征参数,对于评价块石的三维粒度存在一定误差,一些学者尝试建立块石的平面特征与三维体量特征之间的联系。Fernlund等[18]从图像中分析重建料堆块石的质量和体积,以研究其对粒度分布曲线的影响。A1-thyabat等[19-20]通过对等面积圆直径和平均Feret直径两个参数的测量,来估计颗粒的筛级粒度分布。这种方法对颗粒平面几何特征转化为三维特征提供了一定的思路,但没有说明其它特征参数对粒度的关联程度。Zhang等[21]通过对9组平面参数进行研究后得出结论,选择等效椭圆短轴与最佳拟合矩阵宽度可以最大程度表征样本的三维粒度,精确度分别达到86.43%和85.39%。文献[22-23]采用三维激光扫描系统对矿石堆石料进行形状特征提取,进而采用自动分析软件计算粒度分布曲线,但研究中发现尺寸估计时设备易受环境因素干扰,扫描分辨率影响较大。
针对传统图像分割方法诸如边缘检测[24]、分水岭算法[25]等易产生过分割、欠分割问题,本文首先通过拍摄获取料堆图像,制作出堆石料图像数据集,并构建基于迁移学习的Deeplabv3+模型和DenseCRF 算法结合的方法,实现堆石料特征的自主学习,提高图像分割的精度。然后基于NCFS算法[26]对30组块石二维形态特征参数进行关联性计算,找出与块石三维粒度相关性最高的二维特征参数,并表征出块石的三维粒度公式,从而解决以往相关领域研究中缺乏建立二维特征参数与三维粒度之间关联性的问题[25]。最后采用MATLAB 软件计算各图像块石的三维粒度,绘制粒度分布曲线,并通过工程实例验证了本方法的准确性和实用性。
2.1 方法概述堆石坝爆破料堆在图像中的形态大体为单独的块状物体,岩石个体之间形状、体积等物理特征差异性较大,边界处大多呈现完整轮廓状,并形成缝隙,表现出一定的二维分布特征。基于图像的粒度分布两个关键问题分别为:(1)图像二维特征的获取;(2)二维特征参数表征块石三维粒度。本文方法可分为4 个阶段:(1)数据集制作阶段:针对施工现场不同场次料堆进行数据采集,获取数据集图像。对图像进行标注、裁剪及增广等预处理,获得图像与标签样本,并将其分成训练集、验证集和测试集;(2)特征提取阶段:将训练集原图与标签输入基于迁移学习的Deeplabv3+模型训练,获得训练权重;(3)特征优化阶段:将Deeplabv3+模型分割出的特征图作为初步提取结果,与DenseCRF算法结合进行进一步优化,得到最终的特征图;(4)粒度检测阶段:基于NCFS算法进行块石特征计算,形成平面特征参数对块石三维粒度转换,从而构造出块石三维粒度分布公式,并基于MATLAB语言设计开发数字图像粒度检测系统。整体流程如图1所示。
图1 研究方法整体流程
2.2 基于迁移学习的Deeplabv3+模型传统的机器学习方法中,为了确保训练得到的权重具有较高的准确率和可靠性,通常具有2个最基本的特点:(1)模型所使用的训练集、验证集和测试集需满足基于同分布的假设。(2)数据集的数量足够多,可以保证训练过程模型对数据特点的充分学习[27]。实际上,受制于数据集采集与制作过程中的困难,训练可用的真实数据集数量往往较为有限,并且样本之间也不一定会完全满足独立同分布的要求[28]。所以,仅仅依靠已有的数据集进行训练,可能无法确保模型的泛化能力达到较高的水准。
迁移学习作为深度学习的一种方法,可以把源任务模型的训练结果作为初始权重,重新应用于新任务模型的开发过程中[29]。即把源领域的知识迁移到新领域中,提高模型在新领域中的学习效果,如图2所示。经过源模型迁移学习,目标模型损失函数的收敛速度变得更快,其鲁棒性和拟合能力得到提升。
图2 迁移学习过程
堆石坝料堆中块石形态不规则,排布复杂密集,传统分水岭算法、边缘检测算法等极易受到噪声干扰产生过分割现象,影响分割精度[30-31]。近年来,深度学习神经网络的兴起使得图像分割领域有了显著的发展。Deeplabv3+作为一种像素级图像分割模型,可以有效针对料堆中块石进行精准识别,结构如图3所示。编码器部分首先由一系列卷积层对输入图像信号进行标准卷积,然后将特征图流入ASPP 模块。此模块以并联的形式分别对特征图采用标准1×1 卷积,空洞率大小为6、12、18的空洞卷积,经过平均池化操作,将提取到的新特征图进行级联,最后对级联特征图进行1×1的标准卷积后输入解码器结构。解码器结构将级联特征图上采样4倍,然后与标准卷积的特征图进行再次进行级联后,上采样4倍恢复成输入图像尺寸后输出特征图。
图3 Deeplabv3+网络结构图
2.3 DenseCRF 算法条件随机场(conditional random field,CRF)作为概率无向图的一种特定类型,通过将使用者定义的能量函数最小化来实现模型检测结果的后验分布估计[32]。传统的CRF算法由定义在独立像素上的一元势函数和定义在其相邻像素点的成对势函数组成,而DenseCRF算法中的二元势函数则是将图像中每一个像素点与整幅图像的其他像素点均联系在了一起,使用该算法在图像中针对像素的全局关系建立点对势,可以极大地实现优化处理。
本文将Deeplabv3+模型对堆石料图像提取出的特征图作为初始图像特征提取结果,以此构建算法的一元势函数。鉴于Deeplabv3+模型在特征图提取过程中不能充分考虑全局上下文之间的信息,易造成对空间正则化(spatial regularization,SR)的步骤的忽视,缺乏空间一致性[32],故将图像中的独立像素点与其他所有像素点构成全连接模型,可进一步提升堆石料特征提取效果。DenseCRF算法的Gibbs分布定义如下[33-34]:
式中:X为独立像素点的标签,对应的标签值X∈L,L为标签类别l1 和l2 的集合,以L={l1,l2}表示,l1 为背景类别,l2 为检测类别;Z(I)为归一化函数;E( )
x|I为能量函数。为实现后验估计分布,将能量函数进行重新定义,如下:
2.4 NCFS算法NCFS算法属于最近邻学习算法的嵌入式特征选择方法之一,通过评估使用者定义的特征子集找出关联性最高的特征参数,从而完成对数据集的选择。算法原理请参考文献[26]。本文选取了20组不同的正则化参数λ进行迭代计算,发现当λ=0.1771时损失函数取得最小值。以此为最优初始参数,得到30 组岩石图像形态特征指标权重。结果显示等效圆直径EACD、等效椭圆短轴EMI、最小Feret 径MIF和最大内接圆半径MIDR为影响最多的4个重要特征(见图4)。通过求解多元线性回归方程的方式,得出4个特征指标与块石粒度ys的关系为:
图4 NCFS算法结果及平面参数特征展示
为验证式(5)的准确性,本文采用7 个筛级的筛网于实验室开展筛分试验以获取块石的真实粒度,如图5(a)所示,筛网尺寸分别为10、16、20、25、31.5、40 与50 mm,从每个筛级的筛分结果中选择50组块石,共计350组作为试验样本。图5(b)与表1结果显示,平均准确率达到88%,由此可见:本文方法得到的块石粒度表征公式相比文献[21]具有更好的适用性。
表1 块石粒度计算公式准确率验证
图5 样本及结果展示
3.1 数据集来源本次研究所使用的图像数据集拍摄于江苏省句容市抽水蓄能电站建设工程,该工程水电站为一等大(I)型工程,其主要建筑物按1 级建筑物设计。主、副坝均采用混凝土面板堆石坝,最高月填筑强度和月开挖强度分别达到78.16万m3(压实方)、72.42万m3(自然方)。料场位于上水库库岸,基岩类型以白云岩为主,包括燧石岩、灰质岩、细晶岩、硅质条带岩等,形态种类丰富,具有一定代表性。
3.2 数据集制作本次研究对上水库库岸A、B、C三个开挖区爆破试验场次进行跟进,共计对9场爆破场次的料堆进行拍摄和现场筛分。排除大雨天气致使土料泥化,以及运料车辆误对料物进行加水处理等意外情况,选取其中5场典型工况作为试验场次进行研究。拍摄过程中,为尽量反映出块石的真实形态,对爆破料堆划定区域,在区域内采取“拍摄料堆-筛分-再次拍摄料堆-再筛分”的方式对料堆进行逐层式的深度挖掘,每一场次筛分试验的筛分工作量为4 t左右。此外为反映出料物的真实粒度分布,对料堆多个位置进行采样拍摄,减小采样误差。本次研究所拍摄的数据集分辨率较高,特征较为明显。使用麻省理工学院开发的图像标注工具Labelme对样本集进行标签制作,由于现场拍摄过程中得到的图像数量有限,为防止训练过程出现欠拟合情况,对数据集进行水平镜像、90°翻转和不同幅度的尺度变换等操作进行增广处理,最终获得训练集875 张,测试集105 张,验证集125张。原始数据集像素大小为4928pix×3264pix,为防止训练时间过长,间接给计算机设备GPU等硬件造成负担,基于双线性插值原理将其裁剪为512pix×512pix 像素的图像。样本集图像和标签一一对应,如图6所示。
图6 数据集原图-标签对应图
4.1 平台及参数设置本文迁移学习城市景观(Xception65_cityscapes)数据集作为本次堆石料图像分割任务的初始化权重,采用“ploy”策略进行训练,参数设置见表2。试验基于Ubuntu16.04LTS操作系统,计算机配置为Intel i7 CPU,16GB运行内存并配置NVIDIA GTX 1060Ti的显卡。算法平台为Ana⁃conda3的python3.6版本的编程语言和tensorflow1.15版本的深度学习框架。训练过程中总损失函数、激励层对数损失函数、正则化损失函数分别如图7—9所示,其横轴为训练的迭代次数,纵轴为损失函数值。可以看出,总损失函数经过10万次迭代后损失值出现反弹波动,波动幅度和频率再次下降至0.382并趋于平稳。对数损失函数值在8 万次迭代后已出现收敛趋势,最低值约为0.153。正则化函数经过15万次迭代后出现收敛趋势已接近平稳,损失函数值约为0.25。
表2 Deeplabv3+网络训练输入参数
图7 总损失函数图
图8 对数损失函数图
图9 正则化损失函数图
4.2 试验结果分析
4.2.1 图像特征提取结果分析 为验证本文方法的优势,需要测试图像分割结果的精度。对测试集样本定量选取6张切片图像进行分割结果展示并在使用相同数据集的基础上将本文方法的试验结果分别与FCN-8S网络模型、U-net 网络模型以及Deeplabv3+网络模型三种方法结果进行对比分析,图像分割结果如图10所示。评价指标方面,本文参考文献[35],采用深度学习中较为常见的平均交并比(MIoU),平均精度(precision),召回率(recall)和F值(F-measure)作为评价指标。其中,MIoU值可以作为评价图像分割精度的重要评价指标,F值是召回率和平均精度的加权调和平均,能进行综合评价。
图10中切片1和切片2选取的是第一场试验的测试集图像,试验当天为晴天,光线较强,图像中部分岩石呈现反光效果。切片3和切片6选取的是第二场试验的测试图像,试验当天为阴天,光线较弱,岩石颗粒受光线影响较小。切片4选取的是第三场试验测试集图像,筛分料物为上水库开挖B区315-300平台非典型工况。由于B区非典型工况玢岩料占比较大,爆破后料堆分布情况较为复杂,细小颗粒较多。切片5选取的是第四场试验的测试图像,试验前施工现场有降雨情况,部分岩石表面呈现潮湿的状态。从图像特征提取结果可以看出,本文提出的方法相比U-net和FCN-8S两种网络模型可更加有效的提取出了岩石完整形态,且由于结合了DenseCRF方法,解决了Deeplabv3+模型上采样过程中特征图信息丢失问题,并有效恢复了图中标尺的轮廓。
图10 图像分割效果对比
表3 为6 张测试集图像的分割结果精度评价表。可以看出,FCN-8S 模型、U-net 模型和Deep⁃labv3+模型在平均精度、召回率、F值和平均交并比四种精度的平均表现相比本文方法均有较大差距。此外,与仅采用Deeplabv3+模型的分割结果相比,将基于迁移学习的Deeplabv3+网络模型与DenseCRF模型结合,6张图像在总体精度、召回率、F值和平均交并比几项指标上的平均表现分别提高了4.22%、4.72%、0.05、0.17%。计算结果表明,本文方法在4项精度指标上表现最佳,平均精度达到82.22%,平均召回率达到89%,平均F值达到0.86,平均交并比的平均值达到75.82%。
表3 测试结果精度评价
本文对所使用的5 场筛分试验数据集,共计105 张测试图像进行整体精度评价,结果如表4所示。结果显示,本文方法的MIoU 值达到77.98%,对比其它三种方法分别提高了4.67%、3.1%、3.41%,证明本方法的性能要优于FCN-8S、Unet、Deeplabv3+三种方法,可以更加有效的提取岩石的图像粒度特征信息。
表4 测试集整体精度对比
4.2.2 粒度检测结果分析 基于NCFS 算法得出堆石料图像平面特征参数与三维粒度之间的转换关系,利用MATLAB R2019a软件集成的图像处理工具箱、信号处理工具箱、统计学习工具箱以及GUI设计功能等模块,开发了堆石料粒度分布检测系统,系统运行主界面如图11所示。针对5 场试验,为检验本文方法的工程适用性,将本文方法得到的粒度检测值与实际筛分得到的实测值数据对比,如表5所示,根据表5 数据绘制出粒度级配曲线如图12所示。表6 展示了筛级和各粒度区间的误差值,以便进行直观分析。
图11 粒度检测系统主界面
图12 5场筛分试验粒度级配曲线图
根据表5、表6 中的误差分析数据得出,5 场试验中粒度区间的最大误差值分别为:5.96%、5.33%、4.80%、1.48%、5.24%,平均误差值分别为1.99%、1.82%、2.31%、0.85%和2.11%。查阅文献[36-38]并参考句容抽水蓄能电站场内设计施工方案,本文方法得到的各粒度区间最大误差百分比均小于10%,符合工程需求,具有一定的实用性。
表5 5场筛分试验实测-检测结果对比
根据表5、表6中的误差分析数据得出,5场试验中各筛级的最大误差值分别为:4.95%(100 mm筛级)、3.27%(200 mm筛级)、5.93%(40 mm筛级)、3.66%(400 mm筛级)、3.36%(500 mm筛级),平均误差值分别为1.78%、1.05%、1.99%、1.62%和1.69%,查阅文献[36-38]并参考句容抽水蓄能电站场内设计施工方案,本文方法得到的级配曲线筛级误差百分比不超过15%,满足工程的要求。
表6 粒度检测误差评价指标
此外,通过5场筛分试验实测粒度级配曲线与本文方法检测粒度级配曲线得到各场次中值块度实测值与检测值(见图13)及实测块度与检测块度相对误差(见图14)。根据图14可知,各场次相对误差分别为:2.55%、3.71%、4.96%、5.50%、0,其中最大相对误差5.50%,最小相对误差0,平均误差3.34%。对比文献[3]、文献[39],本文得到的中值块度更加贴近真实结果,且最大相对误差不超过15%[39],符合工程实际要求。
图13 实测块度与检测块度中值粒度对比图
图14 实测块度与检测块度相对误差图
综上所述,本文算法模型精度高于其它检测模型,得出的粒度分布曲线具有较高的参考价值。
针对现有爆破堆石料粒度检测方法存在耗费时间及人力、模型检测精度较低等不足,本研究提出了基于深度学习和NCFS算法相结合的堆石坝爆破料物粒度检测模型,实现了快捷、高效的堆石料粒度检测,得出以下结论:(1)在基于迁移学习的Deeplabv3+模型基础上,采用DenseCRF 算法对堆石料图像进行平面特征优化,结果显示测试集整体MIoU值达到77.98%,对比FCN-8S、U-net、Dee⁃plabv3+三种方法分别提高4.67%、3.1%和3.41%,体现本文方法的准确性。(2)在堆石料粒度检测阶段,将本文方法的检测结果与实际工程中的料物筛分试验结果对比,结果显示5场筛分试验的粒度区间最大误差值分别为5.96%、5.33%、4.80%、1.48%和5.24%,筛级最大误差值分别为4.95%、3.27%、5.93%、3.66%和3.36%,均符合工程实际需求。此外,5场筛分试验中中值块度检测结果显示最大相对误差为5.5%,相比其它文献的方法更加贴近真实结果。(3)基于MATLAB 语言编制了粒度检测系统,为本文方法投入工程实际应用提供了可能。
根据本文试验和国内外研究,对20 mm以下较细颗粒检测,目前图像分析方法还不能给出较为满意的结果,今后有必要在充分考虑料堆细颗粒分布特点基础上,探索结合光电、超声等手段的料堆细颗粒检测方法。另外,结合目前智能化施工要求,研究爆破设计参数、施工爆破岩体结构属性等对爆破块度的影响,构建更为智能化的堆石坝爆破料物粒度预测-检测和控制一体化系统,也是值得进一步深入研究的问题。