2. 西南科技大学 特殊环境机器人技术四川省重点实验室, 绵阳 621000;
3. 清华四川能源互联网研究院, 成都 610213
2. Sichuan Provincial Key Laboratory Robot Technology Used for Special Environment, Southwest University of Science and Technology, Mianyang 621000, China;
3. Sichuan Energy Internet Research Institute, Tsinghua University, Chengdu 610213, China
水电站大坝具有防洪灌溉、水土保持、生产发电和航运等功能,是满足人们日常用水、用电的重要基础设施,也为社会经济发展和国家水安全提供了重要支撑[1-2]。水电站大坝裂缝检测对维护大坝以及保障下游安全至关重要。坝面混凝土浇筑硬化过程中受物料的收缩、热膨胀性质、大坝工作环境和大坝所处地区的地质气候等因素的影响,易形成混凝土坝面裂缝[3-4]。利用缺陷检测技术可对大坝裂缝进行检测分析,进而进行维护保养,从而保障水电站大坝安全良好的运行。传统人工裂缝巡检不仅效率低下,还会耗费大量成本,因此高效、准确的坝面裂缝检测对大坝维护和运行至关重要。
基于计算机视觉的裂缝检测方法经过不断发展已得到大量学者的认可。这些方法大多经过基于图像处理和机器学习的算法,可实现一些背景简单的结构裂缝检测。Fujita等[5]提出了一种针对有噪声的混凝土表面图像的鲁棒自动裂缝检测方法,通过对裂缝图像进行滤波处理,实现了自适应裂缝检测。Liu等[6]提出了一种通过对结构裂缝和非结构裂缝特征的分析,实现了对裂缝图案和图纹的二元分类裂缝图像检测方法,但该方法的阈值选取方式为人为手动选取,具有一定局限性。Lee等[7]利用形态学方法结合局部二值化算法实现了对细小裂缝的提取和混凝土裂缝检测,但该模型对背景复杂的裂缝图像提取效果较差。Noh等[8]提出了一种基于模糊C均值聚类和多降噪分割自动检测混凝土裂缝图像的方法,对图像进行滤波和形态学操作,使裂缝与背景的区分更加明显,可获得较好的裂缝分割结果,但该方法对裂缝所在部位有大量噪声的图片分割效果不佳。Yamaguchi等[9]提出了基于渗透基聚合处理的效率裂纹检测方法,采用模板匹配技术,将焦点像素作为背景像素,通过计算处理过程中的圆度来终止渗透过程,从而实现对高分辨率图像的裂缝识别。Qu等[10]提出了一种基于遗传规划(genetic programming, GP)和渗滤模型的遗传算法,不仅能消除光照不均、漏水等因素影响,也能较好地检测较为细小的裂缝,但模型整体对裂缝的识别效果有待提升。Prasanna等[11]为混凝土裂缝巡检机器人提供了一种基于机器学习且能够在一定程度的噪声干扰下,实现较为稳定的自动裂缝检测的算法。Yang等[12]提出了一种图像分析方法,检测深度较浅的裂缝,以更便利、安全地记录混凝土建筑的裂缝状态,进而评估混凝土建筑的安全性。王一兵等[13]提出了利用视觉开发模块(vision development module, VDM)的视觉助手(vision assistant, VA)进行图像处理,并通过VDM的骨架函数结合形态学方法实现裂缝的检测,由于水电站坝面裂缝图像的背景十分复杂,且受噪声、光照等因素的影响,模型存在检测能力有限且泛化能力不足等问题。
卷积神经网络(convolution neural network, CNN)模型在混凝土建筑物裂缝检测中得到了广泛应用。Kumar等[14]为提高混凝土裂缝检测精度,将裂缝分为水平、垂直和分支裂缝3类,利用Mask R-CNN网络对其进行分类和分割能够得到较好的检测结果,但也增加了分类的工作量。Liu等[15]提出了一种基于U-Net的混凝土裂缝检测算法,虽具有一定的鲁棒性,但有较多的超参数需要手动调整。Cha等[16]提出了一种基于CNN模型的裂缝检测算法,通过与滑动窗口技术的结合,能够实现较为稳定的裂缝检测。Zheng等[17]提出了基于R-FCN模型的裂缝图像识别算法,对裂缝图像具有较高的识别度和更好的跟踪性,但是存在训练时间过长、模型泛化能力较差等问题,有待改进优化。为能更好地提取坝面裂缝图像中的裂缝像素,Wu等[18]提出了一种新的用于具体裂缝检测的多尺度深度学习方法(multi-scale deep learning method, MSDLM), 对提取裂缝像素能力的提升有一定帮助,但该方法只在20张图片上进行了测试,且需要耗费大量时间进行模型训练。Ali等[19]提到编码-解码器网络结构能很好地实现精细裂缝识别,损失函数的选用对网络性能的提升有重要作用。Park等[20]提出了一种利用深度学习和结构光进行结构裂纹检测和量化的方法,能够实现裂缝检测,再结合图像处理技术能够完成对裂缝长度和宽度的测量。Bhowmick等[21]提出了一种基于U-Net网络的混凝土桥梁裂缝检测方法,同时结合无人机系统可实现对桥梁裂缝的实时检测。王君锋等[22]为减少网络模型参数量,提出了一种改进的MobileNet-SSD模型,能够有效提高算法的计算效率,但模型的精度需要进一步提高。
基于深度学习的坝面裂缝检测算法虽得到学者的广泛认可,但存在大坝裂缝图像背景复杂以及在裂缝图像中裂缝和背景所占像素比例悬殊等问题。针对这些问题本文对神经网络模型进行改进,将DeepLabV3+[23]模型作为基础骨架网络,将MoblieNetV2[24]作为特征提取主干网络用来减少网络参数,利用多特征融合的金字塔池化网络使网络获得更丰富的裂缝语义特征;结合三线注意力模块(three line attention module, TLAM)使模型更精准地完成大坝裂缝检测任务。
1 研究方法 1.1 DeeplabV3+裂缝检测网络改进模型裂缝检测任务是像素级别的图像语义分割任务,在分割任务中编码-解码器的语义分割网络结构是现阶段应用较为广泛的语义分割结构。这类网络结构将语义分割任务分为编码器和解码器2部分。编码器部分进行坝面图像的特征提取,而解码器部分则是对提取到的特征进行像素分类。
经典的编码-解码器网络模型有U-Net模型[25]、Seg-Net模型[26]、PSP-Net模型[27]和DeepLab系列模型[23, 28-29]。传统的DeepLabV3+网络是目前表现较为优异的语义分割模型。但传统DeepLabV3+网络为了能更好地获取多尺度特征,在特征提取网络后接入空洞空间金字塔池化(atrous spatial pyramid pooling, ASPP)结构。这导致模型无法很好地获取裂缝图像边缘特征,并联结构的多尺度信息获取也无法使特征图与特征图之间构成较好的联系,从而使裂缝分割存在空洞现象;这会导致网络在对裂缝图像进行处理时检测效果下降。除此之外,DeepLabV3+网络还存在参数量巨大,模型收敛过慢的问题。针对上述问题,本文对DeepLabV3+网络模型进行改进,改进后的模型如图 1所示。本文在编码器部分使用更为轻量化的MobileNetV2网络模型作为本次裂缝特征提取主干网络,以减少模型参数量,并引入注意力模块提高模型对裂缝边缘区域的敏感度,在特征提取完成后会输出2个不同的特征图,分别作为解码器输入的低维度特征图和空洞卷积输入的高维度特征图。提取到的裂缝特征经过解码器网络后,完成对裂缝图像中像素的分类任务。解码器部分采用与传统DeepLabV3+基本一致的网络结构,并融入注意力模块。图中⊗表示矩阵相乘,⊕表示拼接操作。
除此之外,本文还改进了DeepLabV3+网络原有的ASPP模块结构,通过对不同分支的金字塔池化模块进行连接操作,以此实现更密集的像素采样,从而提高模型的特征提取能力。
1.2 网络轻量化1.1节提到的分割模型虽然具有一定的检测精度,但是都存在训练参数过大、耗费计算资源多等问题。为减少训练时间以及模型参数量,本文将编码器中的特征提取网络替换成MobileNetV2,与传统的DeepLabV3+的主干提取网络Xception进行对比,其核心点都是采用深度可分离卷积操作。Xception的目标是提高模型的性能,而不是压缩模型;MobileNetV2则是利用深度可分离卷积来拆分普通卷积。其中,利用深度卷积完成对输入通道的滤波,再利用点卷积重新计算输入通道的线性组合特征,构建新的特征,减少模型参数。为使模型更快完成裂缝特征提取,选择参数量更少的MobileNetV2作为本文研究的特征提取主干网络。特征提取主干网络配置如表 1所示。
输入维度(H×W×C) | 操作块 | OC | S | N |
640×360×3 | Conv2D | 32 | 2 | 1 |
320×180×32 | Inverted-res-block | 16 | 1 | 1 |
320×180×16 | Inverted-res-block | 24 | 2 | 1 |
160×90×24 | Inverted-res-block | 24 | 1 | 1 |
160×90×24 | Inverted-res-block | 32 | 2 | 1 |
80×45×32 | Inverted-res-block | 32 | 1 | 2 |
80×45×32 | Inverted-res-block | 64 | 2 | 1 |
40×23×64 | Inverted-res-block | 64 | 1 | 4 |
40×23×64 | Inverted-res-block | 96 | 1 | 3 |
40×23×96 | Inverted-res-block | 160 | 1 | 3 |
40×32×160 | Inverted-res-block | 320 | 1 | 1 |
表 1中H、W和C分别表示图像输入特征维度的高度、宽度和通道数;OC表示经过操作块后的输出通道数;S表示该操作块卷积时的步长;N表示该操作块重复的次数。
该结构中Inverted-res-block层的核心就是深度可分离卷积操作,主要包括通道扩张、特征提取和通道压缩3个过程,具体结构如图 2所示。通道扩张是通过卷积核为1×1的卷积操作扩张输入特征图的通道数,提升裂缝特征图片的空间维度;特征提取是利用深度可分离卷积对每一个通道进行特征提取,同时减少模型参数;通道压缩是对提取到的特征图像进行点卷积(卷积核大小为1×1)操作;然后经过批归一化(batch normalization, BN)输出特征;最后将其经过残差连接后与输入特征图一起作为最终输出。这样既能保留浅层特征图的裂缝细节信息,也能得到深层特征图的语义信息。
1.3 特征层融合连接
在DeepLabV3+原本的ASPP模块中,分支与分支之间为并行工作状态,无法共享任何裂缝特征信息。通过特征层融合后,每个分支之间实现了裂缝特征信息的共同利用,不同膨胀率的膨胀卷积可实现相互依赖,增大了感受野的范围。改进前、后的ASPP模块如图 3所示。
感受野增大后,网络能够更好地捕捉坝面裂缝图像的细节信息,感受野的计算式表示如下:
$ \mathrm{RF}=\left(D_{\mathrm{r}}-1\right) \times(k-1)+k . $ | (1) |
其中:RF表示感受野,Dr表示膨胀率,k表示卷积核大小。
根据式(1)可得最大感受野RFmax为
$ \mathrm{RF}_{\max }=\max \left(\mathrm{RF}_3^6, \mathrm{RF}_3^{12}, \mathrm{RF}_3^{18}\right)=\mathrm{RF}_3^{18}=37 . $ | (2) |
其中: RF36表示卷积核大小为3×3、膨胀率为6时膨胀卷积的感受野。
通过将ASPP模块中的特征层进行连接后,模型能够获得更大的感受野,以此提高模型对裂缝信息的利用率,最终整体提高模型的裂缝检测精度。
1.4 TLAM裂缝图像中,裂缝像素所占的像素比例与背景像素所占比例差别极大,因此裂缝特征提取网络应更多地注意裂缝像素。注意力机制[30]可以使网络完成该任务,故本文加入TLAM使模型对裂缝像素更为敏感。以此提高模型对裂缝的识别效率,注意力模块结构如图 4所示。
该模块由位置注意力、通道注意力和残差连接3部分组成。TLAM能更好地获取图像中的裂缝位置和通道信息,以此获得较好的裂缝特征提取效果。裂缝输入特征x在进入TLAM后,在第一条线路中对输入特征进行拆分,使其分解为2个一维的特征编码,并对其进行全局平均池化,使用(H,1)和(1,W)2个池化内核,分别沿着水平方向和垂直方向对每个通道进行编码。因此,第n通道在高度h处的输出表示如下:
$ O_{n, h}=\frac{1}{W} \sum\limits_{0 \leqslant i<W} x_n(h, i) . $ | (3) |
同理,第n通道在宽度w处的输出表示如下:
$ O_{n, w}=\frac{1}{H} \sum\limits_{0 \leqslant j<H} x_n(j, w) . $ | (4) |
其中:h表示0到H之间的高度,w表示0到W之间的宽度,i和j分别表示在W方向和H方向上进行遍历的符号。
对上述2个特征进行全局平均池化后,得到一对具有方向感知能力的特征图,这样不仅能获取特征向量的通道信息,也能在另一个方向上保留更精确的空间信息,使网络精准定位到裂缝位置。将得到的2个方向上的特征图进行连接后,将其输入卷积核大小为1×1的卷积变换函数中,表示如下:
$ \mathit{\boldsymbol{Q}} = {\mathop{\rm ReLU}\nolimits} \left( {{E_1}\left[ {{O_h}, {O_w}} \right]} \right). $ | (5) |
其中:Q表示在水平方向和垂直方向上编码空间信息的中间特征图;E1表示卷积核大小为1×1卷积变换函数; [, ]表示串联连接操作。
输出的Q再经过BN以及修正线性单元(rectified linear unit, ReLU)激活后对其进行W方向的卷积、H方向上的1×1卷积和Sigmoid分类,得到与输入特征维度相同的特征向量,表示如下:
$ \boldsymbol{f}_h=\operatorname{Sigmoid}\left(G_h\left(\boldsymbol{Q}_h\right)\right), $ | (6) |
$ \boldsymbol{f}_w=\operatorname{Sigmoid}\left(G_w\left(\boldsymbol{Q}_w\right)\right). $ | (7) |
其中:Qh表示得到的H方向上的特征图;Qw表示得到的W方向上的特征图;Gh和Gw分别表示将Qh和Qw的转换为与输入图像具有相同通道数的操作。
将得到的H方向上的特征向量fh和W方向上的特征向量fw分别展开,并作为注意力权重使用,最终经过第一条线路后的输出表示为
$ \boldsymbol{Y}_1(i, j)=\boldsymbol{f}_h(i) \times \boldsymbol{f}_w(j) . $ | (8) |
TLAM还通过通道注意力来捕获各个通道特征图之间的相互联系,使特征图之间的联系更为突出,同时获得语义信息更丰富的裂缝特征。在x进入模块后,分别进行全局平均池化操作和全局最大池化操作,得到经过全局平均池化后的通道信息表征Yavg和经过全局最大池化后的通道信息表征Ymax。经Sigmoid函数激活得到输出结果Y2,最终获得裂缝特征在通道维度上的输出权重MC和输出结果Y2,表示如下:
$ \begin{gathered} M_C=\operatorname{ReLU}\left(w \boldsymbol{Y}_2\right), \\ \boldsymbol{Y}_2=\operatorname{Sigmoid}\left(w_1\left(w_0\left(\boldsymbol{Y}_{\text {avg }}\right)\right)+\right. \\ \left.w_1\left(w_0\left(\boldsymbol{Y}_{\max }\right)\right)\right) . \end{gathered} $ | (9) |
其中:w0和w1表示2个共享的输入权重,w0∈ RC/r×H,w1∈RC/r×W, R为代表域,r为压缩比。
最后结合残差连接得到最终输出YTLAM的表示如下:
$ \boldsymbol{Y}_{\mathrm{TLAM}}=\boldsymbol{Y}_1 \times \boldsymbol{Y}_2+\boldsymbol{Y}_0 . $ | (10) |
其中Y0表示输入TLAM模块前的输入特征。
2 数据集本次模型训练采用的数据集是在西南某水电站采集的坝面裂缝数据集,包含56张像素大小为8 192×5 140的坝面裂缝图片。经过裁剪和筛选后,共有1 040张像素大小为480×480的坝面裂缝图像。为了获得更多裂缝数据,采用水平翻转、镜像翻转和垂直翻转等方式对原有裂缝数据集进行扩增,增加整个网络在方向上的不变性,降低注意力模型对裂缝图像像素的误判率,数据集经扩增后最终得到4 160张裂缝图像,处理效果如图 5所示。
3 实验方法 3.1 训练过程及参数
本文所有的裂缝分割网络训练实验均在Windows系统下完成,训练所用深度学习框架为Tensorflow 2.2版本,处理器为Inteli7-8700k,运行内存大小为32 GB,电脑GPU型号为NVIDIA GeForce RTX2080,显存大小为16 GB。模型训练使用的优化器为随机梯度下降法的SGD优化器,用来更新训练网络的权重参数,最大训练轮次为300。batchsize设置为8,初始学习率设置为0.007,每训练10个轮次后学习率衰减0.000 1。
3.2 评价指标评价指标用来评价语义分割模型的检测效果。本文采用的模型评价指标包括:F1, score、平均交并比(mean intersection over union, MIoU)和平均像素精度(mean pixel accuracy, MPA)的值。假设有c个像素类别,背景像素单独分为一个像素类别,ukk表示分类正确的像素数,ukl表示属于第k类但被分类为第l类的像素数。
ZMIoU表示每个像素类别的交并比的平均值,表示如下:
$ Z_{\mathrm{MIoU}}=\frac{1}{c+1} \sum\limits_{k=0}^c \frac{u_{k l}}{\sum\limits_{l=0}^c u_{k l}+\sum\limits_{l=0}^c u_{l k}-u_{k k}} . $ | (11) |
ZMPA表示分类正确像素的比例按类计算,把类的总数取平均值,表示如下:
$ Z_{\mathrm{MPA}}=\frac{1}{c+1} \sum\limits_{k=0}^c \frac{u_{k k}}{\sum\limits_{l=0}^c u_{k l}}. $ | (12) |
F1, score由分割精度Zpre和召回率Zre计算得到,用来评价模型精度,表示如下:
$ \begin{gathered} Z_{\mathrm{pre}}=\frac{\sum\limits_{k=0}^c u_{k l}}{\sum\limits_{k=0}^c u_{k k}+\sum\limits_{l=0}^c u_{l k}} \times 100 \%, \\ Z_{\mathrm{re}}=\frac{\sum\limits_{k=0}^c u_{k k}}{\sum\limits_{k=0}^c u_{k k}+\sum\limits_{k=0}^c u_{k l}} \times 100 \%, \\ F_{1, \text { score }}=\frac{2 \times Z_{\mathrm{pre}} \times Z_{\mathrm{re}}}{Z_{\mathrm{pre}}+Z_{\mathrm{re}}} \times 100 \% . \end{gathered} $ | (13) |
在坝面裂缝分割任务中,使用预测像素值与标签像素值之间的计算误差对训练过程进行评估。在模型训练任务中通过多次迭代来减少误差。在裂缝图片中背景像素与裂缝像素之间的比例存在严重的不平衡问题。为了解决这类样本像素不平衡的问题,本模型将Dice损失(dice loss, DL)函数和交叉熵(cross-entropy, CE)损失函数的变体焦点损失(focal loss, FL)函数相结合作为模型损失函数。通过DL和FL函数来有效地减少裂缝像素与背景像素不平衡的问题,同时FL函数可以引导DL函数确保网络以正确的梯度下降方式优化学习,DL、FL以及最终损失函数φ表示如下:
$ \mathrm{DL}=1-\frac{2 \times g_{\text {truth }} \cap g_{\text {pred }}+\varepsilon}{g_{\text {truth }}+g_{\text {pred }}+\varepsilon}, $ | (14) |
$ \mathrm{FL}=-\left(1-g_{\text {truth }}\right)^\gamma \ln g_{\text {pred }}, $ | (15) |
$ \varphi=\overline{\mathrm{DL}}+\overline{\mathrm{FL}} . $ | (16) |
其中:gtruth和gpred分别表示标签像素值集合和预测像素值集合,ε表示DL的平滑系数,γ表示FL的调制系数,DL和FL分别表示DL集合和FL集合的平均值。
4 结果与讨论 4.1 消融实验基于第1章的理论分析,本文设计了消融实验来验证注意力模块、特征融合网络和损失函数的有效性。步骤如下:1) 对没有进行任何改进的DeepLabV3+网络进行实验,记为Dp;2) 仅使用特征融合网络对DeepLabV3+进行改进,记为Fu+Dp;3) 仅添加TLAM到DeepLabV3+网络上,记为TLAM+Dp;4) 将注意力机制添加到网络中并使用特征融合网络对DeepLabV3+进行改进,记为TLAM+Fu+Dp;5) 将注意力机制添加到网络中并使用特征融合网络对DeepLabV3+进行改进,且使用DL和FL函数进行约束,记为Ours。模型训练数据集均采用西南某水电站采集到的裂缝数据集,为验证算法有效性,消融实验评价指标数据结果如表 2所示。
% | |||||||||||||||||||||||||||||
模型 | F1, score | ZMIoU | ZMPA | ||||||||||||||||||||||||||
Dp | 70.65 | 63.84 | 72.69 | ||||||||||||||||||||||||||
Fu+Dp | 70.92 | 64.02 | 72.64 | ||||||||||||||||||||||||||
TLAM+Dp | 71.27 | 64.49 | 72.80 | ||||||||||||||||||||||||||
TLAM+Fu+Dp | 72.02 | 64.42 | 72.78 | ||||||||||||||||||||||||||
Ours | 73.98 | 66.73 | 73.81 |
由表 2可知,DeepLabV3+网络已具备较好的对坝面裂缝特征像素的提取能力,并且还可以进一步提升;在加入特征融合或注意力模块改进后,其特征提取能力得到了提升。这说明特征融合和注意力模块能够更好地利用各个阶段的裂缝特征图,提高网络的裂缝识别能力。在加入特征融合模块的基础上添加注意力模块,能够在获取层次更丰富的图片特征的基础上,使网络更加注意裂缝像素。最后为解决裂缝图像中背景像素与裂缝像素比例相差过大的问题,将网络原来的CE损失函数替换成DL函数和FL函数(CE损失函数的变体)相结合的损失函数。与CE损失函数、结合DL函数的CE损失函数(CE+DL)相比,进一步提升了网络的裂缝识别效果。损失函数图像如图 6所示。
图 6为同一模型下不同损失函数的损失值下降情况。由图 6可知,FL+DL的损失函数能够更快地收敛且下降程度最大,模型的性能更优。
在完成实验数据统计后,将实验结果图进行对比,结果如图 7所示,图中白框表示存在漏检。由图 7可知,实验1—5在裂缝像素识别中均有不同程度的误识别和漏识别;相比其他实验组,实验5的检测结果最好,能够较好地完成裂缝像素的识别任务。
4.2 实验对比
1) 不同注意力模块对比实验。
为检验注意力模块的有效性,本文选取了SE-Net(squeeze-and-excitation networks)[31]、CBAM(convolutional block attention module)[32]和ECA(efficient channel attention)模块[33]与本文模型进行对比。实验采用的模型均为改进后DeepLabV3+网络模型,只有所添加的注意力模块不同;训练数据集为在西南某水电站采集到的裂缝数据集;共进行4次实验,分别记为:SE+Dp、CBAM+Dp、ECA+Dp和本文提出的TLAM+Dp。实验评价指标如表 3所示。
% | |||||||||||||||||||||||||||||
模型 | F1, score | ZMIoU | ZMPA | ||||||||||||||||||||||||||
SE+Dp | 72.28 | 64.48 | 72.54 | ||||||||||||||||||||||||||
CBAM+Dp | 72.24 | 64.38 | 72.98 | ||||||||||||||||||||||||||
ECA+Dp | 72.46 | 64.71 | 72.69 | ||||||||||||||||||||||||||
TLAM+Dp | 73.98 | 66.73 | 73.81 |
由表 3可知,本文提出的TLAM获取裂缝特征的通道信息和空间信息的能力更强,且经过残差连接后网络能获取更丰富的裂缝语义信息,因此在裂缝检测问题上具有更好的性能。不同注意力机制的预测结果如图 8所示,图中白框表示存在漏检。
由图 8可知,本文提出的注意力模块对裂缝特征的提取能力更强,可以更好地获取裂缝语义信息,对裂缝的识别效果更好,漏检和误检的比例更小,能更好地完成坝面裂缝检测任务。
2) 不同网络的对比实验。
为了验证本文方法的优越性,本文选取典型的图像分割模型进行对比实验。数据集是在西南某水电站采集到的裂缝数据集,模型分别为:U-Net、FCN[34]、PSP-Net和DeepLabV3+。其中对DeepLabV3+网络进行了2次实验,一次是以Xception网络为特征提取网络,记为X-DeepLabV3+;另一次是以MobileNetV2为特征提取网络,记为M-DeepLabV3+。
表 4为实验相关评价指标。由表 4可知,本文改进的DeepLabV3+网络虽然与M-DeepLabV3+网络相比参数量略有增多,但是与U-Net、FCN、PSP-Net和X-DeepLabV3+网络相比,参数量大大减少。同时还能提升对裂缝像素识别的精度,使网络能更好地满足坝面裂缝检测任务的需求。
模型 | F1, score/% | ZMIoU/% | ZMPA/% | 参数量 |
U-Net | 70.31 | 63.69 | 71.94 | 24 891 202 |
FCN | 67.54 | 61.33 | 68.37 | 25 732 893 |
PSP-Net | 69.45 | 62.19 | 71.66 | 46 774 997 |
X-DeepLabV3+ | 70.65 | 63.84 | 72.69 | 41 256 330 |
M-DeepLabV3+ | 70.42 | 63.43 | 72.41 | 2 827 902 |
Ours | 73.98 | 66.73 | 73.81 | 3 014 714 |
图 9为不同网络的预测结果,图中白框表示存在漏检。由图 9可知,其他4类网络模型存在较多的误识别、漏识别的情况,而本文改进的DeepLabV3+裂缝分割网络能够较好地提取坝面裂缝特征并完成坝面裂缝像素识别,从而具有更强的坝面裂缝识别能力。
5 结论
对水电站坝面检测系统的坝面裂缝图像分割问题,提出一种融合三线注意力机制改进DeepLabV3+裂缝分割的算法。在原有网络的基础上进行轻量化操作,大幅减少网络参数,提高网络训练效率;对网络结构进行优化,对原有的ASPP结构进行改进,实现对坝面裂缝特征信息密集和多尺度的编码,提高网络的像素采样能力,同时获得更大的感受野;在网络中加入了注意力模块,使网络能更好地检测到裂缝像素,提高网络对坝面裂缝的识别能力;针对背景像素和裂缝像素差别过大的问题,利用FL和DL函数进行联合约束,提高像素分类准确率。实验结果表明:改进算法与原有算法相比,具有更好的裂缝识别效果,并大大减少了参数量。与改进前的DeepLabV3+网络相比, F1, score达73.98%,提高了3.33%;ZMIoU达66.73%,提高了2.89%;ZMPA达73.81%,提高了1.12%。本文研究降低了模型参数量,提高了模型裂缝检测能力,便于较好地应用于实际工程中。
定期的裂缝检测能够保证水电枢纽安全稳定的运作和生产,对水电枢纽的运维具有重要意义。本文提出的模型虽然在一定程度上提高了检测准确度,但是仍存在一些不足,例如数据获取难度大、数据标注成本高等。下一步准备进行降低数据标注成本的相关研究,为水电枢纽裂缝检测提供更有力的数据支撑。
[1] |
孙金华. 我国水库大坝安全管理成就及面临的挑战[J]. 中国水利, 2018(20): 1-6. SUN J H. Achievements and challenges of reservoir dam safety management in China[J]. China Water Resources, 2018(20): 1-6. DOI:10.3969/j.issn.1000-1123.2018.20.001 (in Chinese) |
[2] |
中华人民共和国水利部, 中华人民共和国国家统计局. 第一次全国水利普查公报[N]. 中国水利报, 2013-03-26(2). Ministry of Water Resources of the People's Republic of China, National Bureau of Statistics of the People's Republic of China. Bulletin of first national census for water [N]. China Water Resources News, 2013-03-26(2). (in Chinese). |
[3] |
BUFFI G, MANCIOLA P, GRASSI S, et al. Survey of the Ridracoli Dam: UAV-based photogrammetry and traditional topographic techniques in the inspection of vertical structures[J]. Geomatics, Natural Hazards and Risk, 2017, 8(2): 1562-1579. DOI:10.1080/19475705.2017.1362039 |
[4] |
朱道雄. 水电站建筑物病害分析及处理措施研究: 以宝珠寺电站、紫兰坝电站为例[D]. 宜昌: 三峡大学, 2020. ZHU D X. Disease analysis and treatment measures of hydropower station buildings: Taking Baozhusi Hydropower Station and Zilanba Hydropower Station as examples [D]. Yichang: China Three Gorges University, 2020. (in Chinese). |
[5] |
FUJITA Y, HAMAMOTO Y. A robust automatic crack detection method from noisy concrete surfaces[J]. Machine Vision and Applications, 2011, 22(2): 245-254. DOI:10.1007/s00138-009-0244-5 |
[6] |
LIU Y Q, YEOH J K W. Automated crack pattern recognition from images for condition assessment of concrete structures[J]. Automation in Construction, 2021, 128(5): 103765. |
[7] |
LEE B Y, KIM Y Y, YI S T, et al. Automated image processing technique for detecting and analysing concrete surface cracks[J]. Structure and Infrastructure Engineering, 2013, 9(6): 567-577. DOI:10.1080/15732479.2011.593891 |
[8] |
NOH Y, KOO D, KANG Y M, et al. Automatic crack detection on concrete images using segmentation via fuzzy C-means clustering [C]// 2017 International Conference on Applied System Innovation (ICASI). Sapporo, Japan: IEEE, 2017: 877-880.
|
[9] |
YAMAGUCHI T, HASHIMOTO S. Fast crack detection method for large-size concrete surface images using percolation-based image processing[J]. Machine Vision and Applications, 2010, 21(5): 797-809. DOI:10.1007/s00138-009-0189-8 |
[10] |
QU Z, CHEN Y X, LIU L, et al. The algorithm of concrete surface crack detection based on the genetic programming and percolation model[J]. IEEE Access, 2019, 7(1): 57592-57603. |
[11] |
PRASANNA P, DANA K J, GUCUNSKI N, et al. Automated crack detection on concrete bridges[J]. IEEE Transactions on Automation Science and Engineering, 2016, 13(2): 591-599. DOI:10.1109/TASE.2014.2354314 |
[12] |
YANG Y S, YANG C M, HUANG C W. Thin crack observation in a reinforced concrete bridge pier test using image processing and analysis[J]. Advances in Engineering Software, 2015, 83(1): 99-108. |
[13] |
王一兵, 包腾飞, 高治鑫. 基于LabVIEW+VDM的混凝土坝裂缝检测方法[J]. 水利水电科技进展, 2021, 41(5): 76-82. WANG Y B, BAO T F, GAO Z X. Crack detection method of concrete dams based on LabVIEW+VDM[J]. Advances in Science and Technology of Water Resources, 2021, 41(5): 76-82. (in Chinese) |
[14] |
KUMAR P, SHARMA A, KOTA S R. Automatic multiclass instance segmentation of concrete damage using deep learning model[J]. IEEE Access, 2021, 9: 90330-90345. DOI:10.1109/ACCESS.2021.3090961 |
[15] |
LIU Z Q, CAO Y W, WANG Y Z, et al. Computer vision-based concrete crack detection using U-Net fully convolutional networks[J]. Automation in Construction, 2019, 104(1): 129-139. |
[16] |
CHA Y J, CHOI W, BÜYÜKÖZTÜRK O. Deep learning-based crack damage detection using convolutional neural networks[J]. Computer-Aided Civil and Infrastructure Engineering, 2017, 32(5): 361-378. DOI:10.1111/mice.12263 |
[17] |
ZHENG M J, LEI Z J, ZHANG K. Intelligent detection of building cracks based on deep learning[J]. Image and Vision Computing, 2020, 103(1): 103987. |
[18] |
WU X Y, MA J F, SUN Y, et al. Multi-scale deep pixel distribution learning for concrete crack detection [C]// 2020 25th International Conference on Pattern Recognition (ICPR). Milan, Italy: IEEE, 2021: 6577-6583.
|
[19] |
ALI R, CHUAH J H, TALIP M S A, et al. Structural crack detection using deep convolutional neural networks[J]. Automation in Construction, 2022, 133(1): 103989. |
[20] |
PARK S E, EEM S H, JEON H. Concrete crack detection and quantification using deep learning and structured light[J]. Construction and Building Materials, 2020, 252(1): 119096. |
[21] |
BHOWMICK S, NAGARAJAIAH S, VEERARAGHAVAN A. Vision and deep learning-based algorithms to detect and quantify cracks on concrete surfaces from UAV videos[J]. Sensors, 2020, 20(21): 6299. DOI:10.3390/s20216299 |
[22] |
王君锋, 刘凡, 杨赛, 等. 基于多源迁移学习的大坝裂缝检测[J]. 计算机科学, 2022, 49(6A): 319-324. WANG J F, LIU F, YANG S, et al. Dam crack detection based on multi-source transfer learning[J]. Computer Science, 2022, 49(6A): 319-324. (in Chinese) |
[23] |
CHEN L C, ZHU Y K, PAPANDREOU G, et al. Encoder-decoder with atrous separable convolution for semantic image segmentation [C]// Proceedings of the 15th European Conference on Computer Vision. Munich, Germany: Springer, 2018: 833-851.
|
[24] |
SANDLER M, HOWARD A, ZHU M L, et al. MobileNetV2: Inverted residuals and linear bottlenecks [C]// Proceedings of the 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, USA: IEEE, 2018: 4510-4520.
|
[25] |
RONNEBERGER O, FISCHER P, BROX T. U-Net: Convolutional networks for biomedical image segmentation [C]// 18th International Conference on Medical Image Computing and Computer-Assisted Intervention. Munich, Germany: Springer, 2015: 234-241.
|
[26] |
BADRINARAYANAN V, KENDALL A, CIPOLLA R. SegNet: A deep convolutional encoder-decoder architecture for image segmentation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(12): 2481-2495. |
[27] |
ZHAO H S, SHI J P, QI X J, et al. Pyramid scene parsing network [C]// Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, USA: IEEE, 2017: 2881-2890.
|
[28] |
CHEN L C, PAPANDREOU G, KOKKINOS I, et al. Semantic image segmentation with deep convolutional nets and fully connected CRFs [C/OL]. (2014-12-22) [2022-09- 21]. https://arxiv.org/abs/1412.7062.
|
[29] |
CHEN L C, PAPANDREOU G, KOKKINOS I, et al. DeepLab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected CRFs[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 40(4): 834-848. |
[30] |
VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need [C]// Proceedings of the 31st International Conference on Neural Information Processing Systems. Long Beach, USA: ACM, 2017: 6000-6010.
|
[31] |
HU J, SHEN L, ALBANIE S, et al. Squeeze-and-excitation networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020, 42(8): 2011-2023. |
[32] |
WOO S, PARK J, LEE J Y, et al. CBAM: Convolutional block attention module [C]// Proceedings of the 15th European Conference on Computer Vision (ECCV). Munich, Germany: Springer, 2018: 3-19.
|
[33] |
WANG Q L, WU B G, ZHU P F, et al. ECA-Net: Efficient channel attention for deep convolutional neural networks [C]// 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Seattle, USA: IEEE, 2020: 11531-11539.
|
[34] |
LONG J, SHELHAMER E, DARRELL T. Fully convolutional networks for semantic segmentation [C]// Proceedings of the 2015 IEEE Conference on Computer Vision and Pattern Recognition. Boston, USA: IEEE, 2015: 3431-3440.
|