基于改进SegNet 的沥青路面病害提取与分类方法*

2022-07-20 01:43张志华邓砚学张新秀
交通信息与安全 2022年3期
关键词:标线卷积病害

张志华 邓砚学 张新秀

(1.兰州交通大学测绘与地理信息学院 兰州 730070;2.兰州交通大学地理国情监测技术应用国家地方联合工程研究中心 兰州 730070;3.甘肃省地理国情监测工程实验室 兰州 730070;4.甘肃省公路路网检测重点实验室 兰州 730070)

0 引 言

裂缝和灌封裂缝作为沥青路面最主要的2类病害,其检测结果为路面养护管理决策提供可靠的技术支持。

现阶段,大多数沥青路面病害检测方法通过道路检测车快速采集路面图像,运用基于图像视觉的路面病害检测方法,如自适应阈值分割法、边缘检测法、形态法、小波分析等算法[1],实现沥青路面病害提取。道路检测车采集的图像包含各种道路场景、车道线、油渍、不同的光照背景和其他污渍。基于阈值法改进的路面病害检测方法只能处理特定类型的病害图像[2],易受光照条件的影响[3-4],效率较低[5-6]。Hu等[7]开发了基于简化局部二值模式子集的裂缝提取器,假设该子集可以使用边缘、角点和平面区域信息提取路面裂缝,但忽略了背景纹理的复杂性。Zalama 等[8]使用Gabor 滤波器提取的视觉特征进行裂缝检测,为了克服参数选择困难的问题,使用Ada-Boosting 组合多组弱分类器进行特征提取,并取得较好的结果。Shi 等[9]提出CrackForest,它将随机森林结构应用于裂缝检测,用统计特征直方图和统计邻域直方图之间的分布差异区分真实裂缝和噪声。但是CrackForest无法去除连接到真实裂缝区域的噪声。Nejad等[10]开发了1个基于小波理论的路面破损检测专家系统。这些方法无法准确地将裂缝像素从复杂的背景纹理中分离出来,因为无法捕获足够的全局结构信息[9]。

得益于深度学习强大的非线性拟合能力和高效的图像处理能力,基于深度学习的路面病害检测方法提高了检测效率。Cha 等[11]结合卷积神经网络(convolutional neural networks,CNN)和滑动窗口技术识别裂缝,验证精度和测试速度均有明显提升。Dorafshan等[12]结合CNN和边缘检测识别裂缝图像,识别效率高于边缘检测方法。沙爱民等[13]使用3 个CNN模型级联检测路面裂缝和坑槽,检测效果优于传统的图像处理方法。Zhang 等[14]设计了1 个6 层CNN,用于检测利用手机采集的裂缝数据集。尽管图像质量高、噪音低、易于处理,但与实际情况相去甚远,参考价值不大;此外,网络体系结构的泛化能力较弱,难以处理包含真实路面的不同数据集。以上基于CNN的路面病害检测方法效率较好,但检测结果包含病害目标、回归框和背景,不能精确提取病害目标。而基于深度学习的图像语义分割能够更精确地提取病害的几何尺寸信息。全卷积网络(fully convolutional network,FCN)[15]被运用于图像语义分割,即对图像中不同对象进行语义信息标注,将图像分割成和语义相关的不同图像区域,包括背景和离散对象[16]。基于概率自动编码器[17]改进的编解码器网络(encoder-decoder network)[18],其编码器通过卷积与池化操作,提取图像数据特征,生成高度抽象特征图;解码器通过反卷积与卷积操作恢复空间分辨率特征,逐步恢复为与原始数据相同维度的特征图。SegNet[19]是语义分割中最经典的编解码网络结构,对作为编码器的VGG16 进行改进,保留VGG16前13 层,删除全连接层。在解码器中,通过池化索引和上采样运算,网络最终输出的特征图尺寸与输入图像一致。SegNet对路面街景图像的分割效果较好,但对细小病害的分割能力较弱。U-Net[20]是基于SegNet 改进的U 型编解码结构,应用于分割遥感图像和生物医学图像。与SegNet 相比,U-Net 在解码器中拼接了不同网络层提取的特征图,获取了特征信息更丰富的特征图,由于其中的裁剪等操作导致输出图像的尺寸与输入图像不一致。Yu等[21]使用双边分割网络(bilateral segmentation network,BiSeNet),同时提高实时语义分割的精度和速度。BiSeNet 由空间路径、上下文路径和特征融合模块组成,空间路径提取空间信息并生成特征图;上下文路径由主干网和注意力模块组成;提取纹理特征;特征融合模块融合2 个部分特征。Bang 等[22]提出编码器网络由ResNet[23]组成,解码器网络由ZFNet[24]和反卷积层组成的编解码网络,检测由黑盒相机拍摄的街景图像裂缝,但由于街景图像包含各类复杂物体且裂缝尺寸小,误检率较高。

综上分析,路面病害提取存在以下问题:①强度不均匀性和亮度不均匀性使得图像总体质量较差;②复杂的路面纹理在不同尺度下差异较大,大多数分割方法都难以取得较好的分割结果;③SegNet 对灌封裂缝的分割效果优于裂缝,难以分割具有相似特征的灌封裂缝和裂缝,提取的裂缝不完整。为此,研究基于改进SegNet的沥青路面病害提取方法,采用标线去除+MSRCR 方法增强图像对比度;实验选择ResNet50 和空洞卷积层组成编解码网络;针对裂缝分割不连续的问题,运用形态学方法连接裂缝,实现对路面病害的精确提取。

1 沥青路面裂缝及灌封裂缝提取方法

沥青路面病害提取流程见图1。提取方法主要由图像预处理、数据集构建、语义分割和形态学闭运算4 个部分组成。图像预处理包括标线去除,图像对比度调整;数据集构建包括图像裁剪和样本扩增;语义分割包含SegNet改进及参数调整;形态学闭运算去除假阳性,连通不连续的裂缝。

图1 裂缝和灌封裂缝提取流程Fig.1 The workflow of extraction crack and sealed crack

1.1 图像预处理

实验中的图像由安装在道路检测车上、距离路面约1 m 的相机拍摄获得,分辨率为1 688×1 874。这些图像包含各种道路场景、车道线、油渍、不同的光照条件和其他污渍,导致所采集图像的对比度、色调和亮度差异较大。实验的研究目标为裂缝(crack):横向裂缝和纵向裂缝;灌封裂缝(sealed crack):人工使用沥青混合料对横向裂缝和纵向裂缝进行灌封后形成的病害。如图2(a)所示,路面标线和光照不均匀均能降低图像对比度,而改善对比度能够提高病害的检测精度。Wang 等[25]针对Retinex算法,提出了1 种GPU 加速的数据并行算法来改善图像质量。侯越等[26]利用卷积自编码重构图像,扩增数据集。Rizzi等[27]运用自动色彩均衡调整图像的对比度,降低漏检率。图2(b)和图2(c)分别是带色彩恢复的多尺度视网膜增强算法(multi-scale retinex with color restoration,MSRCR)和色彩自动均衡算法的处理结果;图2(d)是运用卷积自编码算法对分辨率为256×256 的496 幅图像迭代训练1 000 次后,算法的图像重构结果。MSRCR的性能优于另外2种方法,但由于路面图像中道路标线的亮度远高于标线四周路面,上述3 种方法均存在图2 中的问题,即箭头处像素值与病害像素值相似,以及病害不清晰,这会导致裂缝误检和漏检。利用白色道路标线形状有规则、整体像素值远大于其周围路面的特点,取标线四周4个点(不在标线内)的像素值均值逐一填充标线。在此基础上利用MSRCR 方法可以消除标线和光照对图像质量的影响,图像效果见图2(e),病害清晰,图像质量最好。

图2 图像增强处理效果Fig.2 The results of image enhancement processing

1.2 构建数据集

卷积神经网络网络中,样本尺寸越大,提取的信息就愈多,但相应地对计算机的计算能力要求越高,模型训练、预测时间就越长。路面检测车所采集图像的尺寸为1 688×1 874,选择经标线去除+MSRCR处理后的1 031 幅图像,使用labelme 标注工具进行精确标注。受限于计算机的计算能力,将每幅图像裁剪为9幅512×512尺寸的图像,挑选出裂缝或者灌封裂缝面积占图像面积比例较大的1 485 幅图像。为了丰富样本容量,将其上下、左右翻转及旋转180o后得到5 940幅图像,见图3。数据集的构成见表1。

图3 样本扩增Fig.3 Sample amplification

表1 数据集构成Tab.1 Dataset composition

1.3 迁移学习

与随机初始化CNN初始权重不同,迁移学习使用已训练模型的权重参数作为新模型的初始权重,有效减少模型对数据的需求。同时,基于迁移学习的训练方法显著地节省了训练时间[28]。迁移学习已被成功引入到路面病害检测算法。文献[29-30]结合数据驱动、迁移学习和深度卷积神经网络,实现自动检测路面病害。Hang等[31]提出由基于张量投票的曲线检测、迁移学习和分块阈值组成的路面裂缝和灌封裂缝检测方法,解决了裂缝和灌封裂缝易混淆的问题。Chen等[32]使用基于SegNet的集成方法,检测混凝土路面、沥青路面和桥面裂缝。

迁移学习中选择恰当的预训练权重参数显得尤为重要。网络框架、训练样本(训练域)和预训练权重所采用的样本(原域)均需要仔细考虑。不同的网络框架所获的预训练权重的结构不同。而原域与训练域之间需要考虑相似度和样本容量的问题。此处的相似度是训练域和原域的相似样本量,样本容量指的是原域的样本容量。样本容量越大,相似度越高,则训练时间越少,获取的模型其预测精度越高,反之亦然。因此,在预训练权重的选择考虑相似度的同时,还需考虑样本容量。当样本容量足够大,但相似度很小甚至为零,那么预训练权重的引入对减少模型的训练时间和提高预测精度没有明显改善。

1.4 编解码器网络

FCN 解码时用反卷积操作来获得特征图,再和对应编码器的特征图融合,得到输出特征。SegNet结构见图4,在编码器部分的最大池化操作时记录了最大值索引,在解码器部分通过对应的池化索引实现非线性上采样,得到1个稀疏特征图,再通过卷积得到稠密特征图。重复上采样,最后用激活函数得到one-hot 分类结果。

图4 SegNet网络结构Fig.4 SegNet network structure

SegNet网络用以识别路面裂缝时存在一般裂缝分割不连续、细微裂缝易漏检、具有相似特征的裂缝和灌封裂缝的误检率较高的问题。这是由以下2个原因所导致:①SegNet 网络中连续的卷积和最大池化操作会丢失大量的特征信息;②路面裂缝病害本身的尺寸较小。因此,减少特征信息的损失并充分利用图像的上下文信息是SegNet 网络提高对病害识别精度的关键。实验对SegNet 网络进行3 点改进:①引入ResNet网络作为编码器。ResNet网络只含有1 个池化层,且上个卷积层提取的信息会加入到下1个卷积层中。相比于VGG网络的多个卷积和最大池化操作,ResNet 网络减少了特征信息的丢失。②实验在ResNet 网络中设计4 个空洞卷积层,空洞率分别为4,8,12,16。空洞卷积层在不增加参数的同时增大了感受野,从而获得更多的特征信息。每个空洞卷积层的空洞率是根据其对应的特征图确定的,空洞率过大或者过小都不合适。③实验运用卷积核为1×1的卷积层对下采样过程中获取的特征图进行提取,并用跳跃连接方式将其拼接到上采样对应尺度的特征图,跳跃连接能够充分利用图像的上下文特征信息。具体步骤如下。

网络输入层的图像分辨率为512×512×3,分别代表宽度、长度和通道数。编码器网络最终输出特征图的宽度、高度和卷积核数量为16×16×2 048。图5 左侧为ResNet50 的结构示意图。在解码器中,如图5 右侧所示,特征图F1:32×32×3 由2 条路径共同产生:①用卷积核为1×1 的卷积层对编码器所输出的特征图进行卷积,得到特征图16×16×3;②用空洞率为4、卷积核为3×3的卷积层,对编码器提取的32×32×3的特征图进行卷积,得到特征图16×16×3。将2条路径获得的特征图融合后进行2 倍上采样,得到F1。特征图F2:64×64×3 由3 条路径共同产生:①F1;②用空洞率为8、卷积核为3×3的卷积层,对编码器提取的64×64×3的特征图进行卷积,得到第2组特征图;③用卷积核为1×1 的卷积层对32×32×3 特征图进行卷积,得到第3组特征图。将3组特征图融合并进行2倍上采样,得到F2。特征图F3:128×128×3由3 条路径共同产生:①F2;②用空洞率为12、卷积核为3×3 的卷积层,对编码器提取的128×128×3 的特征图进行卷积,得到第2组特征图;③用卷积核为1×1的卷积层对64×64×3特征图进行卷积,得到第3组特征图。将3组特征图融合并进行2倍上采样,得到F3;F4:256×256×3 的获得过程与F3 相似。相比SegNet的上采样+直接池化索引,上述操作能避免因池化操作引起的特征减少问题。同时,不同空洞率的空洞卷积层增加了感受野,提取不同尺度的特征,融合后的特征图充分利用了病害图像的上下文信息,包含更多细微病害的特征。

图5 改进的编解码网络结构Fig.5 Improved encoder-decoder network structure

对F4 进行2 倍上采样,并通过SoftMax 层生成特征图,其分辨率为512×512×3,代表其宽度、高度和类别数。SoftMax 函数的值确定单个像素属于特定类别的概率,解码器网络选择具有最大概率值的类作为预测类。

2 实验与分析

2.1 实验环境

实验环境为windows10,anaconda 4.9.2,tensorflow-gpu 1.15.4,显卡为微星Tesla T4,运行内存为16 GB。

2.2 评价指标

衡量图像语义分割方法性能的指标包括准确度、运行时间和内存占用[33],随着计算机硬件及其计算性能的提高,准确度显得更总要。因此主要采用MIoU和F1。MIoU可以理解为各类像素的预测区域和真实区域交并比的平均值,能够反映出分割目标和真实目标的重合度。F1 是统计学中用来衡量分类模型精确度的1 种指标,它同时兼顾了分类模型的精确率(Precision)和召回率(Recall)。MIoU和F1的计算见式(1)~(2)。

式中:pii为分割正确的数量;pij为本属于i类但预测为j类的像素数量;pji为本属于j类但预测为i类的像素数量;K为图像数量。

式中:TP为真阳性,实际为正样例预测为正样例;FP为假阳性,实际为负样例预测为正样例;FN为假阴性,实际为正样例预测为负样例;TN为真阴性,实际为负样例预测为负样例。TP+FP表示预测为正样例的总数,TP+FN表示实际的正样例总数。

2.3 训练方法

为了使与CNN参数相关的代价函数值最小,采用随机梯度优化方法训练模型。以交叉熵作为损失函数,判定实际输出与期望输出的相似程度,见式(3)。

式中:J(θ)为代价函数;pi为第i个像素的目标值;qi为第i个像素的预测值;m为图像中像素的总数。

同时采用适应性距估计(adaptive moment estimation,Adam)优化算法,Adam 优化器的计算见式(4)。

式中:t为迭代指数,设为200;θ为网络参数;mt和vt分别为一阶动量项和二阶动量项;β1和β2为动力值大小,分别取0.90 和0.995;m′t和v′t分别为mt和vt的无偏值;θt表示t时刻即第t迭代模型的参数;∇θJ(θ)为t次迭代代价函数关于θ的梯度大小;ε为1个取值很小的数,取10-8,η为学习率,取0.001。

以上为Adam 优化器的网络参数,与其他优化器相比,Adam具备计算高效、梯度下降平滑、适应不稳定的目标函数和参数调整相对简单的优点,同时避免了局部最小化问题。学习率使用多项式衰减策略,权重衰减使用L2 正则化,衰减系数设置为0.000 01。

2.4 结果与分析

实验使用训练集训练SegNet 模型,并对其进行测试,结果见图6(b)。燕尾箭头所示的裂缝被分割成灌封裂缝,部分裂缝分割不连续。实线箭头所指的假阳性有2 类:①斑点状病害。路面检测车在不同条件下拍摄的图像,质量差异较大。路面光照条件良好、匀速行驶等条件下所拍摄的图像质量较好。路面光照条件较差、隧道、非匀速行驶等条件下拍摄的图像质量较差。此外,道路标线同样影响图像对比度。由图2 和图6(a)可见:虽然标线去除+MSRCR方法提高图像整体对比度,但部分非病害的像素值变得与病害的像素值相同,被预测为病害。②标线裂缝,不属于路面病害类型。文中只去除严重影响图像对比度的明亮标线,没有去除不明显且不影响图像质量的破损标线,破损标线伴随着标线裂缝。虚线箭头所指为分割不完整的裂缝。

实验对改进的网络进行训练和测试,测试结果与SegNet相比,改进网络对细微裂缝的漏检率和对特征相似的裂缝和灌封裂缝的误检率均得以改善,少量裂缝的分割结果不连续。部分裂缝的尺寸较小,尤其是毫米级的细微裂缝,因路面纹理复杂,其轮廓不连续,致其分割结果不连续。在实际工作中,将上下或左右相邻且间隔较小的2 条裂缝视为同1条裂缝。因此,先将裂缝膨胀运算,将不连续的裂缝连通,再腐蚀运算,恢复裂缝原尺寸,确保裂缝的分割精度。图6(c)为最终的输出结果。

图6 实验结果Fig.6 Experiment results

为比较提出方法的检测性能,将其与语义分割中典型的编解码网络BiSeNet 和SegNet 进行对比。在相同数据集上,图7 显示3 种方法训练过程中MIoU和Loss的变化情况。提出方法的初始MIoU为59.1%,这是因为使用ResNet50 的权重参数初始化编码器。随着训练次数增加到200 次,改进方法的MIoU渐增至84.8%,Loss减小至0.009。

图7 比较3种方法的MIoU 和LossFig.7 Comparing the MIoU and Loss of three methods

图8显示3种方法分割结果:SegNet分割效果较差,难以分割具有相似特征的裂缝和灌封裂缝,细微裂缝分割效果差,假阳性较多;BiSeNet 的分割效果一般,预测结果中的假阳性较少,但病害轮廓缺失严重,裂缝分割不完整;改进方法对裂缝和灌封裂缝的分割结果与原图中的病害轮廓一致,裂缝分割完整。

图8 对比3种方法的分割结果Fig.8 Comparision segmentation results of three metholds

改进算法在测试集中的测试性能见表2,检测性能优于BiSeNet和SegNet。

表2 对比3 种方法的平均测试结果Tab.2 Comparision the average testing results of three metholds

为了测试改进方法的应用性能,分别运用3 种方法检测甘肃省部分路段的168幅(1 688×1 874)病害图像,检测结果见表3。由表3 可见:提出方法检测裂缝102条(漏检3条,误检2条),灌封裂缝165条(漏检0条,误检1条)。SegNet检测检测裂缝107条(漏检11条,误检15条:灌封裂缝预测成裂缝),灌封裂缝154条(漏检15条,误检5条)。BiSeNet检测裂缝109 条(漏检7 条,误检13 条:灌封裂缝预测成裂缝),灌封裂缝156 条(漏检13 条,误检5 条)。手动提取裂缝103、灌封裂缝164 条。与手动提取相比,本文方法对灌封裂缝的分割结果与其基本一致,裂缝的漏检率,误检率分别为2.91%和1.94%。

表3 3 种方法的漏检率和误检率Tab.3 The missed detection rate and false detection rate of the three methods

3 结束语

针对检测车采集的图像质量差异大,SegNet 对细微裂缝分割性能较弱的问题,提出融合语义分割和形态学方法的沥青路面病害自动提取方法,并通过实验验证得出如下结论。

1)标线去除+MSRCR 可以减弱光照对图像对比度的影响,凸显病害特征。

2)利用改进的编解码网络分割测试集中的裂缝和灌封裂缝,MIoU和F1分别为82.4%,98.9%。

3)提出的方法能够完整地提取沥青路面图像中的裂缝和灌封裂缝,与人工手动提取相比,裂缝的漏检率和误检率分别为(2.91%,1.94%),优于Seg-Net(10.68%,14.56%)和BiSeNet(6.80%,12.62%)。

沥青路面病害包括横向裂缝、纵向裂缝、龟裂、块状裂缝、块状修补、松散、坑槽等11 类病害,文中研究了裂缝(横向裂缝、纵向裂缝)和灌封裂缝。在今后的研究中,进一步提高对沥青路面病害的提取精度,提高算法对公路路面多种病害的泛化能力。

猜你喜欢
标线卷积病害
谈双组份、热熔和冷漆标线的实例对比
早春养羊需防六大病害
内嵌式预成型标线带应用的可行性研究
小麦常见三种病害咋防治
热熔标线施工必备『神器』
基于3D-Winograd的快速卷积算法设计及FPGA实现
葡萄病害周年防治历
果树休眠期咋防病害
公路交通标线应用选型研究探讨
卷积神经网络的分析与设计