APP下载

用于复杂场景裂缝分割的多层次特征提取算法

2022-10-24刘清华吕伟才韩雨辰徐锦修

无线电工程 2022年10期
关键词:滤波卷积精度

刘清华,吕伟才*,仲 臣,韩雨辰,徐锦修

(1.安徽理工大学 空间信息与测绘工程学院,安徽 淮南 232001;2.安徽理工大学 矿区环境与灾害协同监测煤炭行业工程研究中心,安徽 淮南 232001;3.安徽理工大学 矿山采动灾害空天地协同监测与预警安徽普通高校重点实验室,安徽 淮南 232001)

0 引言

裂缝是结构最常出现的病害之一,且为结构的安全性和耐久性提供了重要的信息,因此对于裂缝的检测具有重要意义。目前,对于结构表面裂缝主要依靠人工肉眼识别记录,人工方法存在着诸如人力成本高、危险系数大、效率较低和受人为影响大等弊端[1]。因此,借助计算机视觉技术实现对于裂缝的自动识别有着较大的实际需要。

目前,基于计算机视觉的裂缝识别算法主要分为2类:一类基于传统图像处理技术;另一类基于卷积神经网络(Convolutional Neural Network,CNN)。

传统图像处理需要先对图像进行预处理,即对输入的图像进行灰度化处理后通过滤波和增强等操作使图像特征较为明显平滑后,借助图像分割或边缘检测来进行裂缝的识别。Wu等[2]提出了基于小波变换的提取方法,相比于以往方法可以更好地获取裂缝的信息,但由于小波变换的各向异性,无法很好地处理断裂较多或曲率较大的裂纹。李海丰等[3]设计了一种基于动态阈值的机场路面裂缝识别算法,主要依据裂缝的深度与形态信息进行提取,克服了机场存在的震动强烈导致噪声较多的情况。传统图像处理方法虽然也能获得较高的准确度,但往往只适用于特定情况,在更换场景或数据集后检测效果很差。

基于CNN进行检测是现在较为热门的方向,相较于传统方法,CNN抗噪声能力较强,且由于其多层次卷积学习的特性使得其适用性较强。王丹等[4]通过将FCN-8s网络原有的dropount层删除,添加BN层及PReLu层,与条件随机场(CRF)结合实现了多尺度的裂缝感知并获得了较为理想的结果,平均交并比(mean Intersection over Union,mIoU)达到80.3%。Qiao等[5]改进了U-Net的初始模块且增加了空间金字塔池化模块,使得其在自有数据集上进行训练后对混凝土桥梁裂缝的识别准确率较U-Net有11%的提升。Wu等[6]提出了多形状对象分割的网络模型,通过对全卷积神经网络(Fully Convolutional Network,FCN)结构进行改良,使其对图像的底部细节获取增强,能更好地识别细小物体的裂缝情况。Dais等[7]将FCN[8]结合迁移学习,将U-Net与MobileNet结合后在复杂场景下的识别准确率可以达到95%。但由于各类结构裂缝产生原理不一、形态多样,目前采用CNN进行裂缝识别的方法大多只针对于单一类型,在更换不同数据集进行测试后结果往往达不到最优理想状态。

综上所述,本文提出了一种能够提取多层次特征并与引导滤波(Guided Filter,GF)[9]相结合的算法对裂缝进行识别与分割,通过实验对比验证了改进后算法相对于经典CNN算法精度有较大提高。

1 算法框架

本文算法流程如图1所示,对输入图像进行图像预处理,未进行标注的图像进行手动标注生成Ground Truth后进入网络进行分割;网络每个卷积层生成特征图,各侧输出层将生成的特征图保留并输出;将上采样获得的各层特征映射通过Concat融合获得融合特征,再应用引导滤波进行去噪细化,通过Softmax层预测得到对每个像素按固定阈值预测的标签,最终输出预测结果图。

图1 算法流程Fig.1 Algorithm flow chart

VGG[10]网络有着优异的特征提取能力,本文算法采用以VGG16为主体框架的HED[11]作为基础,对其进行一定改进来提高分割精准度及适用性,具体改进如下:

(1) 在基础VGG16的基础上添加3个卷积层改为VGG19,提升网络深度,在计算量相差不大的情况下获取更为详细的细节,卷积核尺寸为3×3,最大池化层核尺寸为2×2。

(2) 在卷积单元与线性修正单元(Rectified Linear Unit,ReLU)[12]间添加批归一化(Batch Normalization,BN)[13]单元,BN单元可以加快模型的收敛速度,且可以缓解深层网络中梯度弥散的问题,提高模型的精度。

(3) 在学习阶段改良损失函数,以缓解负像素数量远大于正像素数量的情况。

(4) 将引导滤波层与CNN进行端到端的连接,采用引导滤波对分割结果进行去噪细化,获取更为精确的边缘信息及分割结果。

本文采用了多场景不同分类数据集进行训练,其中包括:① 路面[14-15]和桥梁[16]裂缝的开源数据集;② 单反、手机拍摄的墙体裂缝数据集,并在多数据集上获得了较为理想的结果。

2 HED网络改进算法

2.1 HED网络模型

整体嵌套边缘检测(Holistically-nested Edge Detection,HED)网络由Xie等[11]在2015年提出,以VGG16网络为基础(VGG16结构如图2所示),保留VGG网络出色的特征提取能力的同时去除全连通层及第5池化层,并将输出层与卷积层相连,对获取的各层特征进行输出,HED网络示意如图3所示。

图2 VGG16网络结构Fig.2 VGG16 network structure

图3 HED网络示意Fig.3 HED network structure

全连通层的去除使模型可以对任意大小的图片进行训练和预测,同时减少了训练所需的参数,显著降低了训练所需的时间以及模型的大小和计算量,且对精度影响忽略不计。去除最后一个最大池化层增大了特征图的感受野,使得特征图分辨率较低的问题得到了改善。

由于CNN的特性,低层卷积所获取的特征具有更高的分辨率以及更清晰的边缘细节,但由于经过的卷积较少,其噪声更多且分割性不足;高层特征具有更强的语义分割信息且抗噪能力更强,但由于经过多层池化后分辨率较低,分割细节不足。HED网络通过将每层卷积获取的特征图输出,并在侧输出层对特征信息加以深度监督,在最后以Concat融合,使最后得到的结果与不同层的结果连接起来,低层信息与高层信息实现互补,达到优化边缘的目的。

2.2 改进模型结构

本文算法结构如图4所示,算法以VGG19网络作为基础,使用VGG19的前16个卷积层作为基础卷积层,增加BN单元,去除全连通层及第5池化层。去除全连通层可以使模型训练所需的参数及训练时间显著降低,且对精度的影响可以忽略不记;第5层池化后输出面太小,输出的预测特征图过于模糊,无法生成精细的预测结果,不利于边缘的定位。每个卷积层由卷积单元、BN单元及ReLU组成,卷积单元产生特征映射;ReLU计算激活函数Max(0,x)使网络可以学习非线性任务。去除第5池化层后,池化由4个最大池化层完成,每个阶段的最大池化都在部分卷积层(包括Conv1_2,Conv2_2,Conv3_4和Conv4_4)之后进行,通过2 pixel×2 pixel的最大池化来减小平面的大小,这样可以减少网络的参数且可以提高平移不变性。侧输出层为每层卷积层所得到的特征图组成,除第一侧输出层外,其余侧输出层后均添加反卷积层对特征图的平面大小进行上采样,使其与输入图像相同。随着侧输出层变小、接收场尺寸变大,最终输出层获得多尺度、多层次的特征。

图4 算法结构Fig.4 Algorithm structure diagram

对于CNN所获取的特征图,低层特征对裂缝边缘的分割更为清晰,但对噪声很敏感;高层特征抗噪能力较强,但分割边缘较模糊。每层卷积层输出图像如图5所示。本文通过线性融合不同阶段的特征来解决这个问题,以第一侧输出层(Conv1_2所输出的侧输出层)为导向图,结合Concat融合后获取融合特征图进行引导滤波,去除了低层特征中含有的噪声且良好地保留了识别的裂缝区域,实现较为精细的预测。

图5 各卷积层输出图像示例Fig.5 Output images of each convolution layer

模型结构的各层细节如图6所示,各卷积层核大小均为3,步数为1;最大池化层核大小为2,步数为2;侧输出层核大小为1,步数为1;接收场核大小为2n+1,步数为2n。

图6 卷积网络模型细节Fig.6 Details of convolutional network model

2.3 损失函数

对于本文模型,S={(In,Yn),n=1,2,…,N}为输入训练集,图像样本In={ij(n),j=1,2,…,|In|}为原始输入图像,Yn={yj(n),j=1,2,…,|In|},Yj(n)∈{0,1},由于本文独立考虑每个图像,在随后的公式中删除了下标n使表示更为简单。目标是建立一个可以生成接近于Ground Truth的裂缝特征图,使用DSN监督侧输出层,每个侧输出层与一个分类器相关联,权重w={w(1),w(2),…,w(M)}(M为侧输出层的层数,本文取M=4),W为网络所有参数。侧输出层损失函数Lside:

(1)

式中,P(m)为第m侧输出层的预测结果;αm为各侧输出层的损失权值,依据训练效果进行调整。

在模型训练中,设定的交叉熵函数Δ为:

(2)

经过各侧输出层预测图进行Concat融合生成最终特征图,其融合损失Lfuse为:

(3)

综上,总损失函数L为:

L=Lside(I,Y,W,w)+Lfuse(I,Y,W)。

(4)

3 多数据集对比实验

实验用GPU为Nvidia RTX 2070,系统环境为Windows10,Python3.6,Pytorch1.8.1。

3.1 数据集

实验采用了多场景不同分辨率的RGB图像作为数据集进行训练,图像由手工标注分割为二值图像,用以评测精准度指标。墙面表面材质光滑,混凝土及沥青等材料表面较为粗糙且裂缝较大时往往伴随有坑洞,所以多样性的数据集可以增强模型的适用能力,在多方面的识别中取得较好的结果。

本文所采用数据集来自于路面、桥梁以及墙体裂缝等多个场景,包括混凝土、沥青以及水泥等不同材质,如图7所示。各类裂缝分辨率及数量等具体数据如表1所示。

图7 数据集样图Fig.7 Sample dataset diagram

表1 数据集统计详情Tab.1 Dataset statistics details

由于部分数据集图片数量较少,故采用数据增强的办法,每张图片每旋转45°即可将数据集增加一倍,翻转7次后可以得到比原先扩大8倍的数据集以满足模型需要。将数据集以6∶2∶2分为训练集、测试集和验证集用于识别模型训练和测试。

3.2 评价指标

3.2.1 模型评价指标

针对模型预测精准度的评价,本文选取语义分割模型常用的精准率-回归率曲线(Precision-Recall Curve)作为评价指标,其计算方式为:

(5)

(6)

式中,TP为正确分类的正像素;FP为错误分类的正像素;FN为错误分类的负像素。

精准率-召回率曲线如图8所示,多用于在深度学习中评判模型的性能。

图8 精准率-召回率曲线Fig.8 Precision-Recall (PR) curve

由图8可以看出,随着召回率的增加,添加引导滤波的模型在后期优于未添加滤波的模型,且添加引导滤波后的加权调和平均值F也大于未添加滤波的原模型,证明了添加引导滤波对模型性能的提升。

3.2.2 分割结果评价

针对分割结果的评价,选取mIoU和每秒钟可处理帧数(Frames Per Second,FPS)这2种指标作为评价标准,同时这2种指标也是当前语义分割方向较常采用的标准度量指标。

mIoU通过计算真实值和预测值的交并集之比来评价算法精度,即:

(7)

式中,k为类别个数;θij为原本属于第i类结果却被分到第j类的像素的数量。

FPS用于评价算法计算的速度,计算公式为:

(8)

式中,N为图像数量;Tj为处理第j张图像的时间。

3.3 实验结果及精度分析

为了验证深度学习算法对传统计算机视觉算法的优越性,选取AutoCrack[17]网络作为对比算法之一;为了验证本文算法在精度及运算速度上的优越性,选取U-Net[18]和SegNet[19]网络加以优化后作为对比算法;同时,为了验证引导滤波对计算的优化,将算法原始结果及加入引导滤波后的结果也作为对比之一加入对比评价。各算法预测结果对比如图9所示。

图9 算法预测结果对比Fig.9 Comparison of algorithm prediction results

由于本文数据集场景复杂,实验检验精度时将数据集图片分开检测后混合检测,以获得每种算法在独立数据集及混合数据集上的检测精度,具体精度评价如表2所示。由于本文数据集分辨率差异较大,导致识别时所耗费时间差异较大,故在计算处理速度时将不同数据集分开评价后混合评价,处理速度对比评价如表3所示。

由图9、表2和表3可以看出,本文算法相较目前其余算法具有一定的优越性。相较于传统视觉方法精度及处理速度有明显提升,且分割的连续性有较大优势;相较于U-Net算法,本文算法在处理速度相近的同时分割精度提升较大,对噪声的抵抗性更好;相较于SegNet算法,本文算法在处理速度及分割精度方面均有较大提升,且分割边缘更为明确;对于未进行滤波的分割结果,仅牺牲了很少的效率就得到了更为精准且贴近Ground Truth的分割图像,且边缘更为清晰。

表2 分割精度评价表Tab.2 Segmentation precision evaluation sheet

表3 处理速度评价表Tab.3 Processing speed evaluation sheet

4 结束语

本文通过对HED网络进行改进,在多个数据集上进行训练及测试,最终在单独数据集和混合数据集上均验证了本文算法在分割精准度和速度上的优势。由对比结果可以看出,本文算法在针对高分辨率的图像时有明显的精度优势,并且引导滤波的加入可以在处理速度影响不大的情况下将分割精度提升约6%。综上所述,本文算法在多种数据集上的处理结果都具有优势,可以适用于多种场景下裂缝分割任务,尤其适用于高分辨率图像进行分割识别;且由于算法特性,日后可将其应用于高分辨率的遥感影像中,可以在保证较快处理速度的同时取得较高的准确率。

猜你喜欢

滤波卷积精度
基于不同快速星历的GAMIT解算精度分析
热连轧机组粗轧机精度控制
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
一种考虑GPS信号中断的导航滤波算法
从滤波器理解卷积
高效LCL滤波电路的分析与设计
基于多窗口中值滤波和迭代高斯滤波的去除图像椒盐噪声的方法
以工匠精神凸显“中国精度”