TCS-Net: A Tiny Crack Segmentation Network for Nuclear Containment Vessel
-
摘要: 针对核电安全壳表面裂缝视觉检查任务面临的裂缝细小且占像素少、裂缝与背景对比度低、相似纹理干扰多、光照不均衡等问题,作者提出了一种细小裂缝分割模型(segmentation network of tiny cracks,TCS-Net)。该模型具有与U-Net网络相似的编码–解码结构,在下采样过程使用软池化(soft pooling)可实现在编码过程中保存原始图像基本特征的同时又保持了高响应特征信息的放大,从而减少信息损失实现裂缝边缘细节及位置信息保留;解码端在上采样过程中加入兼顾通道注意力和空间注意力的语义补偿模块以融合编码端的各层特征,可增强裂缝的多尺度细节信息;鉴于裂缝分割任务存在数据不平衡的分类问题,为避免训练过程被多数类(背景像素)所主导,TCS-Net模型结合二元交叉熵损失和Dice系数作为目标损失函数,以解决单一损失关注度倾向带来的训练不稳定的问题,也可优化准确率、交并比、召回率等性能指标。该模型在真实的安全壳图像上实验,结果表明,与现有的主流语义分割模型相比,TCS-Net裂缝分割模型的交并比指标可提高5%~9%,召回率指标可提高9%~13%,由此说明该模型具有检测率和检测精度更高,能有效适用于目标与背景严重不平衡、背景复杂且干扰较多情况下的细小裂缝分割任务。Abstract: A segmentation network of Tiny cracks (TCS-Net) is proposed to solve the problems of small cracks with few pixels, low contrast between cracks and background, much interferences from similar textures, and uneven illumination. TCS-Net has a coding-decoding structure similar to that of U-Net network. The soft Pooling was used in down-sampling process to preserve the basic features of original images while maintaining the amplification of high-response features, thus reducing information loss and preserving the details and location of crack edges. In the up-sampling process, a semantic compensation module combining channel attention and spatial attention was added at the decoding end to fuse the features of each layer at the coding end, which could enhance the multi-scale details of cracks. In view of the classification problem of unbalanced data in crack segmentation task, in order to avoid the training process being dominated by most classes (background pixels),the binary cross entropy loss and Dice coefficient were combined by TCS-Net model as the objective loss function to solve the problem of training instability caused by attention tendency of single loss. It can also optimize performance indicators such as accuracy, crossover ratio and recall rate. The proposed fracture segmentation model was tested on a real containment image. Experimental results show that, compared with the existing mainstream semantic segmentation models, TCS-Net fracture segmentation model improves the intersection over union ratio index by 5%~9% and recall ratio index by 9%~13%, which demonstrates that the model achieves higher detection rate and detection accuracy. The proposed TCS-Net can be effectively applied to the fine crack segmentation task under the conditions of serious imbalance between target and background, complex background with many disturbances.
-
核电安全壳即核反应堆安全壳,是防止放射性物质溢出的最后一道防线[1]。裂缝作为安全壳表面最多的缺陷之一,对其进行检测是评估安全壳风险等级的主要方法[2]。传统的安全壳裂缝检测方法是使用远程摄影技术,通过人眼筛查。由于安全壳体积巨大、覆盖面广、人工检查费时费力、效率低下。为提高检测效率与精度,研究自动高效的表面缺陷检测技术是未来安全壳巡检的发展趋势[3]。安全壳表面由于受天气、材料等因素影响,其图像数据存在亮度不均衡、裂缝细小、相似干扰多、类别极度不均衡等问题。因此,如何构建一种适用于安全壳裂缝的自动高精度分割模型是当前国内外学者的研究热点。
传统的裂缝视觉检测方法主要是根据裂缝灰度、裂缝边缘等特征,结合滤波、降噪等算法实现裂缝检测。刘晨等[4]提出的一种活动轮廓模型图像分割方法,该方法对活动轮廓内外进行局部均值滤波,对高斯噪声有一定的抗噪性。朱鑫等[5]提出一种将图像梯度信息和最大类间方差法相结合的裂缝分割方法,该方法能够对背景单一且噪声较小的裂缝图像有较好的分割效果。除此之外,还有基于改进的Canny算子[6]、Sobel算子[7]及其相关改进算法利用边缘信息进行检测[8-9],此类算法[4-9]大多存在抗噪性不强、受背景纹理干扰大、泛化性弱的问题,最终导致在裂缝检测任务上具有局限性,且鲁棒性不强,难以推广。
FCN[10]、PSPNet[11]、DeeplabV3+[12]、SegNet[13]、U-Net[14]等经典的语义分割模型的提出为裂缝检测提供了新的思路[15-17]。其中,U-Net[14]最初是一种用于医学图像的分割网络,网络中的跳跃连接是其网络的优点,能够在解码过程中有效融合多尺度语义特征信息,使得分割结果更加精细,具有较高分割精度,因而在裂缝分割中被广泛使用。Cheng等[18]使用U-Net网络在裂缝分割上取得较高的准确率,但是,当测试图像按四分之一调整大小时,由于输出中的细节丢失,准确度急剧下降。沈俊凯[19]提出了一种改进的FCN网络实现裂缝的分割,参考了U-Net逐层融合浅层特征的优点,该算法对普通裂缝分割精度足够,但是对细小裂缝的分割结果不太理想。Li等[20]在U-Net中引入了Clique block和注意机制进行隧道裂缝检测,该算法降噪能力较强,但是,该算法误分割像素较多,最终导致裂缝宽度和面积计算误差较大。Li等[21]结合U-Net模型和ResNet模型,提出了一种用于路面缺陷检测的高级语义分割模型,该模型对斑块缺陷分割精度较高,但是对裂缝等其他缺陷的分割误差较大。Miao等[22]通过SE-ResNet模块对U-Net网络进行改进,以解决裂缝数据不平衡问题,该算法比较适合盾构隧道和桥梁的裂缝检测,在安全壳细小裂缝检测任务上算法的优越性无法发挥。
综上所述,U-Net网络用于裂缝检测可发挥网络的优势,针对安全壳表面裂缝细小等特点,本文参考U-Net模型,设计了一种细小裂缝分割模型TCS-Net。该模型继承了U-Net模型编码–解码的结构。编码端使用软池化(soft pooling)[23]操作以减少下采样过程中多尺度裂缝特征信息的丢失。解码过程通过同时兼顾通道注意力和空间注意力的注意力语义补偿模块以进一步增强编码端与解码端的多尺度信息的融合。TCS-Net采用二元交叉熵损失和Dice损失组合的损失函数,在解决裂缝与背景极度不平衡问题的同时增加模型训练时的稳定性。
1. TCS-Net模型
TCS-Net网络结构如图1所示,包括编码器、解码器、注意力语义补偿3个部分。编码器包括4个卷积池化层和1个卷积层,并且逐层编码。注意力语义补偿模块共4个,输入为各个卷积池化层的输出。解码器包括4个反卷积上采样层和1个判别层,逐层解码并将反卷积上采样层的输出与对应的注意力补偿模块数据融合,解码结果通过判别模块实现裂缝分割。
TCS-Net具有类似于U-Net的编解码网络结构,因此它继承了U-Net在像素级分割上的优势。其差异处在于:
1)在卷积层后添加批归一化层(batch normalizatio,BN)增强训练稳定性和防止过拟合[24],编码端使用软池化层代替最大池化层以减少池化过程中的信息损失。
2)编解码端的逐层信息融合过程中,使用注意力语义补偿模块代替U-Net中的跳跃连接。
TCS-Net模型的3个部分的具体介绍如下。
1.1 编码器
编码器由4个卷积池化层和1个卷积层组成,共完成4次下采样与5次数据编码。1个卷积块由1个3×3的卷积、1个批归一化和1个线性整流函数(linear rectification function,ReLu)激活层组成。1个卷积层包括2个卷积块。1个卷积池化层包括1个卷积层和1个软池化层。编码器每层特征图的通道数设置为:
$$ {\;\;\;\;c = \{ {c_1},{c_2},{c_3},{c_4},{c_5}\} = {\text{ }}\{ 64,128,256,512,1{\text{ }}024\} } $$ (1) 式中,
${c_1}$ 、${c_2}$ 、${c_3}$ 、${c_4}$ 、${c_5}$ 分别为第1层至第5层对应的通道数。编码器端的输入为
$ {x_i} \in {X^{b \times h \times w \times c}} $ ,b、h、w、c分别为输入图像训练批量数、高、宽、通道数,卷积块可表示为:$$ C\left( {{x_i}} \right) = {\text{ReLU}}\left( {{\text{BN}}\left( {Con{v_{3 \times 3}}\left( {{x_i}} \right)} \right)} \right) $$ (2) 式中,ReLU()为激活函数,BN()为批量规范化处理,
$ Con{v_{3 \times 3}} $ ()为卷积核为3×3的卷积操作。由于1个卷积层包括2个卷积模块,因此卷积层可表示为:$$ {e_{{\theta ^ \in }}} \left( {{x_i}} \right) = C\left( {C\left( {{x_i}} \right)} \right) $$ (3) 式中,
$ {\theta ^ \in } $ 为卷积层参数,编码过程可以表示为:$$ {E}_{l}=\left\{ \begin{array}{l}{S} _{l}^{\text{down}}{e}_{{\theta }_{l}^{\in }} \left({x}_{i}\right)\text{ } \text{, }l=1; \\ {S} _{l}^{\text{down}}({e}_{{\theta }_{l}^{\in }} \left({E}_{l-1}\right)) \text{, 1 < }l < 5; \\ {e}_{{\theta }_{l}^{\in }} \left({E}_{l-1}\right)\text{, }l=5 \end{array} \right.$$ (4) 式中:
$ l $ 为编码器层级,取值范围为1~5;$ {e_{\theta _l^ \in }} $ 为编码器第$ l $ 层的卷积编码结构;$ S _l^{{\text{down}}} $ 为第$ l $ 层的软池化操作。池化层能够对特征进行降维,压缩数据,减小模型训练中的过拟合问题出现的几率。但是池化操作在一定程度上会丢失原有特征的边缘细节、空间位置等信息。因此,TCS-Net模型使用2×2的软池化层进行特征降维以避免信息大量丢失。
相对于最大池化和均值池化两种池化方式,软池化在保留输入基本属性的同时还可以更大强度的特征激活。因此,软池化能够更好地保留图像的边缘细节及位置信息。
1.2 注意力语义补偿模块
TCS-Net网络为了在特征融合的过程中加强裂缝细节信息的恢复,基于CBAM[25]注意力网络提出一种注意力语义补偿模块,用来代替U-Net网络中编码端到解码端的特征直连。注意力语义补偿模块结构如图2所示。
由图2可知,该模块由通道注意力模块、空间注意力模块及语义补偿模块串联组成。首先,进行通道注意力特征增强;然后,进行空间注意力特征增强;最后,通过卷积实现语义补偿。使用通道注意力及空间注意力可以增强网络对于裂缝相关特征区域的权重,减小无关特征的权重;最后的语义补偿模块可对特征信息进行重新补偿及标定。注意力语义补偿模块可以表示为:
$$ {A_l}{\text{ = }}{R_{\theta _l^\alpha }}\left( {{E_l} \odot {M_{\text{c}}} \odot {M_{\text{s}}} + {E_l}} \right) $$ (5) 式中,
$ {R_{\theta _l^\alpha }} $ 为语义补偿操作,$ \theta _l^{{\text{ }}\alpha } $ 为语义补偿模块中的参数,$ {M_{\text{c}}} $ 为通道注意力参数,$ {M_{\text{s}}} $ 为空间注意力参数。通道注意力参数可以表示为:
$$ \begin{aligned}[b] {M_{\text{c}}}\left( f \right) = &\sigma \left( {{\text{MLP}}\left( {{\text{AvgPool}}\left( f \right)} \right)} \right.{\text{ + }} \left. {{\text{MLP}}\left( {{\text{MaxPool}}\left( f \right)} \right)} \right){{ = }} \\& \sigma {W_1}{W_0}F_{{\text{avg}}}^{\text{c}} + \sigma {W_1}{W_0}F_{\max }^{\text{c}} \\[-10pt] \end{aligned} $$ (6) 式中:MLP()表示多层感知机操作;
$ {W_0} $ 、$ {W_1} $ 为多层感知机的权重;Avgpool()表示均值池化;Maxpool()表示最大池化;$F_{{\text{avg}}}^{\text{c}}$ 为通道注意力中均值池化的结果;$F_{\max }^{\text{c}}$ 为通道注意力中最大池化的结果;$ \sigma $ 为sigmoid激活函数,该函数可以表示为:$$ S (x) = \frac{1}{{1 + {{\text{e}}^{ - x}}}} $$ (7) 式中,x为感知机的输出值。通过这个激活函数的输出可以突出目标相关的通道特征,弱化背景相关的通道特征。
通道注意力的实现过程如图3所示,其步骤如下:
步骤1:特征从每个通道进行平均池化及最大池化生成两个1维结果
$ F_{{\text{avg}}}^{\text{c}} $ 和$ F_{\max }^{\text{c}} $ ,平均池化能很好地保留背景,最大池化能很好地保留纹理特征,使用两种池化是为了获得更详细的通道注意力。步骤2:将池化结果依次送入多层感知机,并输出两个1维结果
$ {W_1}{W_0}F_{{\text{avg}}}^{\text{c}} $ 和$ {W_1}{W_0}F_{\max }^{\text{c}} $ 。步骤3:将MLP输出相加并通过sigmoid激活函数处理,最终获得通道注意力参数
$ {M_{\text{c}}} $ 。步骤4:通道注意力参数
$ {M_{\text{c}}} $ 与输入的特征相乘,最终实现特征图的通道注意力特征增强。空间注意力参数可以表示为:
$$ \begin{aligned}[b] {M_{\text{s}}}\left( f \right){{ = }}& \sigma Con{v_{7 \times 7}}\left( {{\text{AvgPool}}} \right.\left( f \right) + {\text{ MLP}}\left. {\left( {{\text{MaxPool}}\left( f \right)} \right)} \right){\text{ = }} \\& \sigma Con{v_{7 \times 7}}( {F_{{\text{avg}}}^{\text{s}};F_{\max }^{\text{s}}} ) \\[-10pt] \end{aligned} $$ (8) 式中,
$ Con{v_{7 \times 7}} $ ()表示7×7卷积,$F_{{\text{avg}}}^{\text{s}}$ 为空间注意力中均值池化的结果,$F_{\max }^{\text{s}}$ 为空间注意力中最大池化的结果。空间注意力的实现过程如图4所示,其实现步骤如下:
步骤1:从空间维度上对输入特征进行平均池化及最大池化,空间注意力是对通道注意力的补充,池化是沿通道轴进行的,每次池化对比的是不同通道之间的数值,而非同一个通道不同区域的数值。
步骤2:将池化获得的两个结果
$ F_{{\text{avg}}}^{\text{s}} $ 和$ F_{\max }^{\text{s}} $ 进行Concat拼接,经过7×7卷积处理获得一个单通道结果步骤3:卷积结果经过sigmoid激活函数后获得空间注意力参数
$ {M_{\text{s}}} $ 。步骤4:空间注意力参数
$ {M_{\text{s}}} $ 与输入特征相乘后获得空间注意力特征增强。在获取通道注意力参数及空间注意力参数后,TCS-Net通过语义补偿模块分别对不同层级的特征进行相应的特征补偿,模块结构如图5所示。
由图5可知,该模块由两个3×3的卷积层和1个1×1的卷积层组成。每个3×3卷积层为1个特征补偿单元;1×1卷积用于合并通道信息和恢复图像通道数。
1.3 解码器
编码器获得多尺度特征信息后,解码器通过上采样操作逐层恢复图像尺寸。解码器每一层的输入由上一层特征进行2×2的上采样结果和编码器对应层的注意力补偿模块的输出特征进行拼接组成,并使用两个卷积块实现特征提取。通过解码过程,解码器在恢复图像特征尺寸的同时还融合了编码器不同深度的多尺度特征信息。解码过程可表示为:
$$ {D}_{l}=\left\{ \begin{array}{l}{S }_{{\theta }_{l}^{v}}^{\text{up}}(Concat({A}_{l},{E}_{l+1})) ,l=4; \\ {S }_{{\theta }_{l}^{v}}^{\text{up}}(Concat({A}_{l},{D}_{l+1})) ,1\le l < 4 \end{array}\right. $$ (9) 式中:
$ {D_l} $ 为$ l $ 层的解码结果;$S _{\theta _l^v}^{{\text{up}}}$ 为第$ l $ 层的双线性插值上采样操作;${\theta ^v}$ 为上采样操作参数;$Concat{\text{()}}$ 代表拼接操作,将注意力模块的补偿值${A_l}$ 与上一次的编码结果(${E_5}$ )或上一层的解码结果(${D_{l + 1}}$ )拼接。上采样层主要用于逐层恢复特征图像的尺寸,因此应该尽可能使上采样后的特征像保留其中的边缘轮廓等信息。TCS-Net使用双线性插值法作为模型解码端的上采样算法,双线性插值可以表示为:$$ \begin{aligned}[b] L(i + u,j + v) =& (1 - u)(1 - vL(i,j) + (1 - u)vL(i,j + 1) + \\& u(1 - v)L(i + 1,j){\text{ + }} uvL(i + 1,j + 1)) \end{aligned} $$ (10) 式中,
$ L(i,j) $ 为原图像的像素值在$ (i,j) $ 处的值,$ u $ 、$ v $ 为缩放后图像的坐标与原图像上的坐标的小数部分差值。双线性插值上采样利用了周边4个像素点的图像进行缩放,相比于常用的最近邻上采样方法能够更好地保留特征的边缘轮廓等信息。解码过程中,上采样全部结束后,特征图的大小与输入的一致;再进入判别层,采用一个大小为1×1的卷积整合信道信息,获得单通道的特征图;并通过sigmoid激活函数获得分割结果,分割结果可以表示为:
$$ {\hat Y_i} = {\sigma _{{\theta ^o}}}\left( {{D_1}} \right) $$ (11) 式中,
$ {\theta ^o} $ 为判别层的参数,sigmoid函数使得每一个像素点都代表一个分类概率值,从而获得图像分割结果。省略网络的中间运算,定义映射函数为g,整个参数映射过程表示为:$$ {\hat Y_i} = {g_\theta }\left( {{X_i}} \right) $$ (12) 式中,
$\theta $ 为上述所有网络的中间参数,包括$ \left\{ {{\theta ^ \in },{\theta ^\alpha },{\theta ^v},{\theta ^o}} \right\} $ 。1.4 损失函数设计
二元交叉熵损失函数(记为
${L_{{\text{bce}}}}$ )是一种衡量样本目标输出(即真实样本标签)y与预测输出$ y' $ 之间差距的损失函数,可表示为:$$ {L}_{\text{bce}}=\left\{ \begin{array}{l}-\mathrm{ln}\;{y}^{\prime }{,}\;y=1; \\ -\mathrm{ln}(1-{y}^{\prime }){,}\;y=0 \end{array}\right. $$ (13) 当预测输出越接近真实样本标签,
${L_{{\text{bce}}}}$ 越小;反之,${L_{{\text{bce}}}}$ 越大。因此,二元交叉熵损失在训练过程中对目标与背景的关注度相等,训练容易被多数类样本主导。Dice损失是一种集合相似度度量函数,通常用于计算两个样本的相似度(取值的范围为[0,1]),其表达式为:
$$ {L_{{\text{dice}}}} = 1 - \frac{{2\left| {y \cap y'} \right|}}{{\left| y \right| + \left| {y'} \right|}} $$ (14) Dice损失函数只关注前景目标,将前景目标的分割效果作为损失去监督网络训练,加强了少数类样本的关注度。
由于安全壳裂缝样本中前景像素(裂缝)的数量远远小于背景像素数量,这是一个典型的样本不平衡问题,因此,本文融合二元交叉熵损失与Dice损失,设计了如式(15)所示的混合损失函数:
$$ L_{\rm{dice+bce}} = {\lambda _1}{L_{{\text{bce}}}}{\text{ + }}{\lambda _2}{L_{{\text{dice}}}} $$ (15) 式中,
${\lambda _1}$ 、${\lambda _{\text{2}}}$ 分别为二元交叉熵损失与Dice损失的系数,本文中${\lambda _1}$ 、${\lambda _{\text{2}}}$ 均为0.5。2. 实验与分析
为客观地评估本文所提裂缝分割方法的有效性,采集了1 000张安全壳表面裂缝图像,其分辨率为512×512像素,采用LabelMe[26]标注工具制作裂缝分割标签图像,并随机选取其中800张作为训练集,100张作为验证集,100张作为测试集。所有模型在训练过程将输入图像尺寸压缩为256×256像素,使用随机旋转、随机翻转、随机裁剪、亮度及饱和度随机调整等常用数据增强方法对图像数据进行随机扩增,增强网络模型的鲁棒性及泛化性。
所有实验均在Windows10操作系统、Keras深度学习框架、IntelI7–10700H、Nvidia GTX2080Ti、 16 GB内存的硬件平台上进行。实验所涉及的训练任务均采用Adam梯度优化器(初始学习率为1e–4,mini-batch设为6)进行优化。取训练过程中验证集准确率最高的模型作为最终模型,预测输出高于0.5的像素判为裂缝像素,反之,则为背景像素。
2.1 评价指标
为评估TCS-Net模型的性能,本文采用准确率(accuracy,Acc)、交并比(intersection over union,IoU)、精确率(precision,Prec)、召回率(recall,Re)、F1分数(F1_score,F1)5个目标分割任务中常见的评价指标对模型进行评估。其中,准确率为正确预测的样本数占总预测样本数的比值,表示为:
$$ {I_{{\text{Acc}}}} = \frac{{{N_{{\rm{TP}}}} + {N_{{\rm{TN}}}}}}{{{N_{{\rm{TP}}}} + {N_{{\rm{FP}}}} + {N_{{\rm{FN}}}} + {N_{{\rm{TN}}}}}} $$ (16) 式中:
$ {N_{{\rm{TP}}}} $ 表示标签为正,预测也为正;$ {N_{{\rm{FP}}}} $ 表示标签为负,预测为正;$ {N_{{\rm{FN}}}} $ 为标签为正,预测为负;$ {N_{{\rm{TN}}}} $ 表示标签为负,预测也为负。交并比表征预测目标跟真实目标的重合程度,表示为:
$$ {I_{{\text{IoU}}}} = \frac{{{N_{{\rm{TP}}}}}}{{{N_{{\rm{TP}}}}{\text{ + }}{N_{{\rm{FP}}}} + {N_{{\rm{FN}}}}}} $$ (17) 精准率表征预测为正的样本中正确预测的比例,表示为:
$$ {I_{{\text{Prec}}}} = \frac{{{N_{{\rm{TP}}}}}}{{{N_{{\rm{TP}}}} + {N_{{\rm{FP}}}}}} $$ (18) 召回率表征标签为正的样本中被正确预测的比例,表示为:
$$ {I_{{\text{Re}}}} = \frac{{{N_{{\rm{TP}}}}}}{{{N_{{\rm{TP}}}} + {N_{{\rm{FN}}}}}} $$ (19) F1为精准率与召回率的调和平均,表示为:
$$ {I_{F1}} = \frac{{2 \times {I_{{\text{Prec}}}} \times {I_{{\text{Re}}}}}}{{{I_{{\text{Prec}}}} \times {I_{{\text{Re}}}}}} $$ (20) 2.2 模块消融实验及分析
为验证TCS-Net模型中注意力语义补偿模块、批归一化层、软池化等改进的有效性,在经典的U-Net网络基础上,对逐个改进进行消融实验验证,共4组实验。包括:第1组,U-Net搭配二元交叉熵损失函数;第2组,U-Net每个卷积层后添加批归一化层;第3组,在第2组的基础上使用注意力语义补偿模块替换跳跃连接;第4组,在第3组的基础上,在编码端使用软池化代替编码端最大池化操作。
4组消融实验的结果如表1所示。
表 1 消融实验结果(测试集)Table 1 Importance analysis of each module (test set)实验组别 ${I_{{\text{Acc}}}}$
/%${I_{{\text{IoU}}}}$/% ${I_{{\text{Re}}}}$
/%${I_{{\text{Prec}}}}$/% ${I_{{\text{F}}1}}$ 第1组 98.95 58.26 73.40 73.45 0.721 8 第2组 99.10 61.71 75.69 75.79 0.747 4 第3组 99.17 65.28 81.04 76.98 0.781 2 第4组 99.18 66.10 82.31 77.86 0.790 9 由表1可知:从第2组实验结果可见,U-Net网络针对安全壳裂缝检测任务过拟合情况严重,添加批归一化层能够有效地抑制过拟合,明显提升网络在测试上的性能;对比第3组和第2组实验结果可见,注意力语义补偿模块在各个指标上带来了显著的性能提升,特别是召回率提升了5.35%,充分表明了该模块提升了网络对于裂缝特征的关注程度;对比第4组和第3组实验结果可见,软池化层使网络性能在除了准确率之外的指标上均提升了1%左右,表明了该池化层在池化过程中保留了更多的有用信息。该实验充分表明了本文提出的一系列改进均能提高对安全壳裂缝的分割效果。
2.3 不同损失函数分析
为验证TCS-Net模型使用混合损失函数在安全壳裂缝的检查效果更佳,使用混合损失、二元交叉熵损失及Dice损失在测试集上进行性能评价对比,实验结果如表2所示。
表 2 损失函数对比实验结果(测试集)Table 2 Loss function comparison (test set)损失函数 ${I_{{\text{Acc}}}}$
/%${I_{{\text{IoU}}}}$/% ${I_{{\text{Re}}}}$
/%${I_{{\text{Prec}}}}$/% ${I_{{\text{F}}1}}$ ${L_{{\text{bce}}}}$ 99.18 66.10 82.31 77.86 0.790 9 ${L_{{\text{dice}}}}$ 99.08 65.53 89.65 73.98 0.771 2 ${L_{ {\text{dice+bce} } } }$ 99.16 67.41 86.44 76.36 0.800 5 由表2可知:应用二元交叉熵损失函数
${L_{{\text{bce}}}}$ 时召回率较小,这是由于二元交叉熵损失函数使分割模型更加倾向于识别多数类,而忽略比例较小的样本造成。Dice损失${L_{{\text{dice}}}}$ 的召回率相对较高,精准率相对较低,这是由于Dice损失只关注裂缝像素目标,而对背景像素的关注度不够。利用混合损失函数让模型在样本严重不均衡的过程中训练更加稳定的同时,也能平衡模型对于两类样本的关注度,显著提高模型的召回率;并且使模型的F1分数和交并比均有所提升;虽然使模型在准确率和精准率上都有轻微的下降,但是对于裂缝分割任务来说,F1分数和交并比指标显然更加重要。因此混合损失函数在裂缝分割任务中具有更大的优势。2.4 不同分割算法性能比较
为了客观且定量地分析本文提出的裂缝分割算法的性能,选择将本文算法与U-Net[14]、DeepLabV3+[12]、FCN[10]、PSPNet[11]、Attention U-Net[27] 5种经典的语义分割方法进行比较。其中:DeepLabV3+算法使用空洞金字塔卷积,获得多尺度信息拼接融合,并在之后融合浅层的特征;FCN选择FCN-8s作为对比模型,其融合网络前后层的语义特征,获得输出结果;PSPNet合了多尺度池化特征;Attention U-Net编码、解码端之间添加空间注意力机制以增强对目标像素区域的权重系数。各分割模型的安全壳裂缝分割可视化结果如图6所示。图6中:标签为人工标注的裂缝真实结果,可视为实验真值;虚线框表示漏检情况;实线框代表误检情况。
由图6可见:U-Net与FCN的漏检情况相对于DeepLabV3+和PSPNet来说较少,这是由于DeepLabV3+和PSPNet进行多尺度特征信息及多尺度池化信息的融合过程中过于简单,难以充分融合利用。Attention U-Net相对于前4种模型,其漏检率及误检率都相对较少,且其裂缝的完整度、连续性都更好,这表明了其空间注意力机制提升了U-Net模型对于裂缝特征的关注度,抑制了无关干扰。本文提出的TCS-Net算法的漏检率及轮廓完整性、连续性更高,表明了软池化具有保留特征图的更多细节信息的优点,且混合损失在注意力语义补偿模块的基础上进一步提升了对于裂缝像素区域的关注度,抑制了类别不均衡问题。
针对各模型分割结果进行指标分析,指标结果如表3所示。根据表3可见:U-Net及FCN的F1分数和交并比指标相对于DeepLabV3+和PSPNet来说较高;Attention U-Net模型相对于前4种算法来说分割效果更优;本文提出的TCS-Net算法在准确率、交并比、召回率、精确率、F1分数指标上达到了99.16%、67.41%、86.44%、76.36%、0.8005,均优于其他算法。该实验结果表明本文提出的方法在安全壳裂缝分割任务上比其他5种经典分割方法更加优秀。
表 3 不同模型分割安全壳裂缝分割指标结果(测试集)Table 3 Results of containment crack segmentation index based on different models (test set)分割模型 ${I_{{\text{Acc}}}}$
/%${I_{{\text{IoU}}}}$/% ${I_{{\text{Re}}}}$/% ${I_{{\text{Prec}}}}$/% ${I_{{\text{F}}1}}$ U-Net 98.95 58.26 73.40 73.45 0.721 8 FCN 98.98 58.56 73.63 75.25 0.726 8 DeepLabV3+ 98.90 55.26 73.82 68.43 0.690 3 PSPNet 98.74 50.57 67.58 66.55 0.656 2 Attention U-Net 99.01 62.13 77.51 73.80 0.752 6 TCS-Net 99.16 67.41 86.44 76.36 0.800 5 3. 结 论
针对安全壳裂缝的特点,本文提出了一种安全壳细小裂缝分割网络模型TCS-Net。该模型主要参考了U-Net模型的网络框架,首先,添加批归一化层抑制网络过拟合,提升模型泛化性及易训练度;其次,使用注意力语义补偿模块增强裂缝区域的权重,抑制无关特征的权重,并对编码端输出特征在融合前进行位置信息重标定;然后,使用软池化减少特征图在池化过程中特征信息的损失;最后,结合二元交叉熵损失和Dice损失组合成混合损失函数,解决裂缝像素类别不平衡问题,提高模型的性能。在真实的核电站安全壳表面图像数据上进行了实验,实验结果表明该方法能有效应用于目标与背景严重不平衡、背景复杂且干扰较多情况下的细小裂缝分割任务,该方法可为实现安全壳的全自动裂缝检测和评估、裂缝生长趋势预测提供基础。
本文方法在安全壳细小裂缝分割的任务上取得了不错的结果,在未来的工作中,将进一步研究更精简的模型结构,以提升模型的实时性,为工程使用提供保障。
-
表 1 消融实验结果(测试集)
Table 1 Importance analysis of each module (test set)
实验组别 ${I_{{\text{Acc}}}}$
/%${I_{{\text{IoU}}}}$/% ${I_{{\text{Re}}}}$
/%${I_{{\text{Prec}}}}$/% ${I_{{\text{F}}1}}$ 第1组 98.95 58.26 73.40 73.45 0.721 8 第2组 99.10 61.71 75.69 75.79 0.747 4 第3组 99.17 65.28 81.04 76.98 0.781 2 第4组 99.18 66.10 82.31 77.86 0.790 9 表 2 损失函数对比实验结果(测试集)
Table 2 Loss function comparison (test set)
损失函数 ${I_{{\text{Acc}}}}$
/%${I_{{\text{IoU}}}}$/% ${I_{{\text{Re}}}}$
/%${I_{{\text{Prec}}}}$/% ${I_{{\text{F}}1}}$ ${L_{{\text{bce}}}}$ 99.18 66.10 82.31 77.86 0.790 9 ${L_{{\text{dice}}}}$ 99.08 65.53 89.65 73.98 0.771 2 ${L_{ {\text{dice+bce} } } }$ 99.16 67.41 86.44 76.36 0.800 5 表 3 不同模型分割安全壳裂缝分割指标结果(测试集)
Table 3 Results of containment crack segmentation index based on different models (test set)
分割模型 ${I_{{\text{Acc}}}}$
/%${I_{{\text{IoU}}}}$/% ${I_{{\text{Re}}}}$/% ${I_{{\text{Prec}}}}$/% ${I_{{\text{F}}1}}$ U-Net 98.95 58.26 73.40 73.45 0.721 8 FCN 98.98 58.56 73.63 75.25 0.726 8 DeepLabV3+ 98.90 55.26 73.82 68.43 0.690 3 PSPNet 98.74 50.57 67.58 66.55 0.656 2 Attention U-Net 99.01 62.13 77.51 73.80 0.752 6 TCS-Net 99.16 67.41 86.44 76.36 0.800 5 -
[1] 马谷剑,陈平.福清核电厂安全壳的老化管理[J].核安全,2019,18(1):40–46. doi: 10.16432/j.cnki.1672-5360.2019.01.007 Ma Gujian,Chen Ping.Aging management of the containment in Fuqing nuclear power plant[J].Nuclear Safety,2019,18(1):40–46 doi: 10.16432/j.cnki.1672-5360.2019.01.007 [2] 邢诚,黄晶晶,徐亚明.核安全壳外观缺陷检查软件设计与实现[J].测绘通报,2019(增刊2):242–246. doi: 10.13474/j.cnki.11-2246.2019.0635 Xing Cheng,Huang Jingjing,Xu Yaming.Design and implementation of external defects inspecting software for nuclear containment[J].Bulletin of Surveying and Mapping,2019(Supp2):242–246 doi: 10.13474/j.cnki.11-2246.2019.0635 [3] 黄晶晶.核安全壳表面裂缝自动检测关键技术研究[D].武汉:武汉大学,2017. Huang Jingjing.Research on key technologies of automatic crack detection on the surface of nuclear containment[D].Wuhan:Wuhan University,2017. [4] 刘晨,池涛,李丙春,等.一种新的活动轮廓模型图像分割方法[J].工程科学与技术,2017,49(5):101–108. doi: 10.15961/j.jsuese.201600500 Liu Chen,Chi Tao,Li Bingchun,et al.A novel image segmentation method based on the active contour model[J].Advanced Engineering Sciences,2017,49(5):101–108 doi: 10.15961/j.jsuese.201600500 [5] 朱鑫,漆泰岳,王睿,等.一种改进的用于裂缝图像分割的Otsu方法[J].地下空间与工程学报,2017,13(增刊1):80–84. Zhu Xin,Qi Taiyue,Wang Rui,et al.An improved Otsu method for image segmentation of cracks[J].Chinese Journal of Underground Space and Engineering,2017,13(Supp1):80–84 [6] Xiao Yana,Li Junyi.Crack detection algorithm based on the fusion of percolation theory and adaptive canny operator[C]//Proceedings of the 2018 37th Chinese Control Conference (CCC).Wuhan:IEEE,2018:4095–4299. [7] Dixit A,Wagatsuma H.Investigating the effectiveness of the sobel operator in the MCA-based automatic crack detection[C]//Proceedings of the 2018 4th International Conference on Optimization and Applications(ICOA).Mohammedia:IEEE,2018:1–6. [8] Nnolim U A.Automated crack segmentation via saturation channel thresholding,area classification and fusion of modified level set segmentation with Canny edge detection[J].Heliyon,2020,6(12):e05748. doi: 10.1016/j.heliyon.2020.e05748 [9] 田伟,沈浩,李晓,等.基于图像处理的廊道表面裂缝检测技术研究[J].电子设计工程,2020,28(5):148–151. doi: 10.14022/j.issn1674-6236.2020.05.032 Tian Wei,Shen Hao,Li Xiao,et al.Research on corridor surface crack detection technology based on image processing[J].Electronic Design Engineering,2020,28(5):148–151 doi: 10.14022/j.issn1674-6236.2020.05.032 [10] Shelhamer E,Long J,Darrell T.Fully convolutional networks for semantic segmentation[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(4):640–651. doi: 10.1109/TPAMI.2016.2572683 [11] Zhao Hengshuang,Shi Jianping,Qi Xiaojuan,et al.Pyramid scene parsing network[C]//Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition.Honolulu:IEEE,2017:6230–6239. [12] Chen L C,Zhu Yukun,Papandreou G,et al.Encoder-decoder with atrous separable convolution for semantic image segmentation[M]//Computer Vision—ECCV 2018.Cham:Springer,2018:833–851. [13] 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. doi: 10.1109/TPAMI.2016.2644615 [14] Ronneberger O,Fischer P,Brox T.U-net:Convolutional networks for biomedical image segmentation[M]//Medical Image Computing and Computer-Assisted Intervention—MICCAI 2015.Cham:Springer,2015:234–241. [15] Wang Sen,Pan Yunlong,Chen Mingfang,et al.FCN-SFW:Steel structure crack segmentation using a fully convolutional network and structured forests[J].IEEE Access,2020,8:214358–214373. doi: 10.1109/ACCESS.2020.3040939 [16] Zou Qin,Zhang Zheng,Li Qingquan,et al.DeepCrack:Learning hierarchical convolutional features for crack detection[J].IEEE Transactions on Image Processing,2019,28(3):1498–1512. doi: 10.1109/TIP.2018.2878966 [17] 高丹,陈建英,谢盈.A-PSPNet:一种融合注意力机制的PSPNet图像语义分割模型[J].中国电子科学研究院学报,2020,15(6):518–523. doi: 10.3969/j.issn.1673-5692.2020.06.005 Gao Dan,Chen Jianying,Xie Ying.A-PSPNet:A PSPNet image semantic segmentation model fused with attention mechanism[J].Journal of China Academy of Electronics and Information Technology,2020,15(6):518–523 doi: 10.3969/j.issn.1673-5692.2020.06.005 [18] Cheng Jierong,Xiong Wei,Chen Wenyu,et al.Pixel-level crack detection using U-net[C]//Proceedings of the TENCON 2018-2018 IEEE Region 10 Conference.Jeju:IEEE,2018:462–466. [19] 沈俊凯.基于计算机视觉的混凝土裂缝检测算法研究[D].哈尔滨:中国地震局工程力学研究所,2019. Shen Junkai.Research on crack detection algorithm of concrete structure based on computer vision[D].Harbin:Institute of Engineering Mechanics,CEA,2019. [20] Li Gang,Ma Biao,He Shuanhai,et al.Automatic tunnel crack detection based on U-net and a convolutional neural network with alternately updated clique[J].Sensors,2020,20(3):717. doi: 10.3390/s20030717 [21] Li Deru,Duan Zhongdong,Hu Xiaoyang,et al.Pixel-level recognition of pavement distresses based on U-net[J].Advances in Materials Science and Engineering,2021,2021:5586615. doi: 10.1155/2021/5586615 [22] Miao Xiaokun,Wang Jing,Wang Zhengfang,et al.Automatic recognition of highway tunnel defects based on an improved U-net model[J].IEEE Sensors Journal,2019,19(23):11413–11423. doi: 10.1109/JSEN.2019.2934897 [23] Stergiou A,Poppe R,Kalliatakis G.Refining activation downsampling with SoftPool[C]//Proceedings of the 2021 IEEE/CVF International Conference on Computer Vision(ICCV).Montrea:IEEE,2021:10337–10346. [24] Huangi L,Huangi L,Yang Dawei,et al.Decorrelated batch normalization[C]//Proceedings of the 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake City:IEEE,2018:791–800. [25] Woo S,Park J,Lee J Y,et al.CBAM:Convolutional block attention module[C]//Computer Vision—ECCV 2018.Cham:Springer,2018:3–19. [26] Torralba A,Russell B C,Yuen J.LabelMe:online image annotation and applications[J].Proceedings of the IEEE,2010,98(8):1467–1484. doi: 10.1109/JPROC.2010.2050290 [27] Oktay O,Schlemper J,Folgoc L L,et al.Attention U-net:Learning where to look for the pancreas[EB/OL].(2018–04–11)[2021–05–01].https://arxiv.org/abs/1804.03999.