一种新的沥青路面灌封裂缝自动提取方法
2022-07-11邓砚学张志华张新秀
邓砚学, 张志华*, 张新秀
(1.兰州交通大学测绘与地理信息学院, 兰州 730070; 2.兰州交通大学地理国情监测技术应用国家地方联合工程研究中心, 兰州 730070;3.甘肃省地理国情监测工程实验室, 兰州 730070; 4.甘肃省公路路网检测重点实验室, 兰州 730070)
灌封裂缝作为沥青路面最常见的病害之一,其检测结果为路面技术状况评定及路面养护管理决策提供技术依据。虽然人工现场病害检测精度高,但检测效率低且主观性较强。传统的路面病害提取方法,通过道路检测车快速采集路面图像,运用基于图像视觉的路面病害检测方法,如自适应阈值分割法、边缘检测法、形态法、小波分析等算法[1],实现沥青路面病害识别与提取。路面病害图像包含各种道路场景、车道线、油渍、不同的光照背景和其他污渍。传统方法只能处理特定类型的病害图像[2],易受光照条件的影响[3],效率较低[4]。
近年来,得益于深度学习强大的非线性拟合能力和高效的图像处理能力[5],基于深度学习的路面病害检测方法极大地提高了病害检测效率。Cha等[6]结合卷积神经网络(convolutional neural networks, CNN)和滑动窗口技术识别裂缝,验证精度和测试速度均有明显提升。Dorafshan等[7]结合CNN和边缘检测识别混凝土表面裂缝,识别效率高于边缘检测方法。陈健昌等[8]先通过分类方法消除路面图像中的标线干扰因素,再运用建立的数据集训练网络,实现了路面裂缝的智能化识别。沙爱民等[9]使用3个CNN模型级联检测路面裂缝和坑槽,检测效果优于传统的图像处理方法。基于快速区域卷积神经网络(faster region convolutional neural network, Faster R-CNN)改进的路面病害检测方法能够明显提高对病害的检测准确率和定位精度[10-11]。虽然基于深度学习的路面病害检测方法效率较高,但检测结果包含病害目标和背景,不能精确提取病害,而由全卷积网络(fully convolutional network,FCN)[12]发展而来的图像语义分割[13]方法能够更精确地提取病害目标。基于概率自动编码器[14]改进的编解码网络(encoder-decoder network),其编码器通过卷积与池化或下采样操作,提取图像数据特征,生成高度抽象特征图;解码器通过反卷积或上采样操作恢复特征分辨率,逐步得到与输入图像相同维度的特征图。SegNet[15]是语义分割方法中最经典的编解码网络结构,对作为编码器的VGG16进行改进,保留VGG16前13层,删除全连接层。在解码器中,通过池化索引和上采样运算,最终输出的特征图尺寸与输入图像一致。Yu等[16]使用双边分割网络(bilateral segmentation network, BiSeNet),提高实时语义分割的精度和速度。BiSeNet由空间路径和上下文路径组成。空间路径提取空间信息并生成特征图。上下文路径由主干网和注意力模块组成,提取纹理特征。特征融合模块融合两部分特征。Bang等[17]提出了由ResNet[18]和SegNet的反卷积层组成的编解码网络,检测由黑盒相机拍摄的街景图像裂缝,但由于街景图象包含各类复杂物体且裂缝尺寸小,误检率较高。Chen等[19]采用不含顶层的VGG16网络作为编码器,并使用开源的预训练权重进行初始化SegNet,实现混凝土路面、沥青路面和桥面裂缝的自动化检测,但因数据集数量较少及网络性能限制,该方法的病害识别精度较低。
综上分析,沥青路面灌封裂缝提取研究存在3个问题:①边缘检测、阈值分割和区域分割等方法易受光照的影响、效率低,不适用于处理海量的路面灌封裂缝图像;②基于深度学习的目标检测方法不能精确提取灌封裂缝;③SegNet难以提取较小尺寸的灌封裂缝,易出现漏检和误检。针对以上问题,提出一种精确提取沥青路面灌封裂缝的方法。首先,采用多尺度视网膜(multi-scale Retinex,MSR)方法增强原始图像的对比度,并制作Asphalt-Sealed-Crack数据集;其次,选择ResNet50网络作为编码器提取图像的多尺度特征,在解码器中,用不同空洞率的空洞卷积层获取更丰富的特征,逐步将空洞卷积层提取的特征与编码器提取的特征进行融合,得到与输入图像维度相同的组合特征图;最后,利用灌封裂缝和假阳性的像素面积和长宽差的绝对值作为阈值,剔除假阳性,提取精确的灌封裂缝。
1 沥青路面灌封裂缝的语义分割
为提取沥青路面的灌封裂缝,主要研究由图像增强处理、语义分割和异值剔除3个部分组成,其提取技术流程如图1所示。
图1 灌封裂缝提取流程
1.1 图像增强处理
光照不均匀会降低路面图像的对比度,而改善对比度能够提高病害的检测精度。王奎等[20]针对低照度图像的曝光不足问题,通过对 Retinex 理论的分析,在 HSV(Hue,Saturation,Value)颜色空间下对 Retinex 进行了改进,改善了图像的泛灰现象。侯越等[21]利用卷积自编码重构图像,扩增数据集。Rizzi等[22]运用自动色彩均衡改善图像的对比度。如图2所示,实验选用496幅(512×512)图像对卷积自编码进行1 000次迭代训练得到的图像病害模糊,质量最差;自动色彩均衡对图像的增强效果不如MSR。MSR方法有效降低光照不均匀对原始图像质量的影响,得到的图像其质量均匀,病害特征较为清晰。
图2 图像增强处理效果
1.2 迁移学习
迁移学习(transfer learning) 是一种将经过大量数据训练的模型权重参数迁移到其他相近领域模型的方法。与随机初始化CNN初始权重不同,迁移学习使用已训练模型的权重参数作为新模型的初始权重,有效减少模型对标签数据的需求,同时减少训练时间,提高效率。迁移学习方法已被成功应用到基于深度学习的路面病害检测中。Kasthuriangan等[23]结合数据驱动、迁移学习和深度卷积神经网络方法自动检测路面病害;Mandal等[24]利用迁移学习和深度卷积神经网络自动检测路面裂缝,减少标签数据需求的同时,提高了检测精度;Hang等[25]提出了由迁移学习、分块阈值和基于张量投票的曲线检测组成的路面裂缝和灌封裂缝检测方法,解决裂缝和灌封裂缝相互误检的问题。
1.3 编解码网络
SegNet结构如图3所示,在编码器部分的最大池化操作时记录了最大值所在位置,然后在解码器时通过对应的池化索引实现非线性上采样,上采样阶段无需学习。上采样后得到一个稀疏特征图,再通过卷积得到稠密特征图,重复上采样,最后用激活函数得到分类结果。SegNet 的优势就在于:不用保存整个编码器部分的特征图,只需保存池化索引;上采样阶段无需学习,可以大幅减少网络训练时的内存占用。
图3 SegNet 结构图
受SegNet编解码结构的启发,用性能优于VGG16的ResNet50作为图4中的编码器,网络输入层的图像分辨率为256×256×3,分别代表宽度、长度和通道数。通过一个池化层、49个卷积层进行下采样,编码器网络最终输出特征图的宽度、高度和卷积核数量为8×8×2 048。
conv为卷积;rate为空洞卷积层中的空洞率,如rate 4表示空洞卷积层的空洞率为4
在解码过程中,利用不同空洞率的空洞卷积层代替池化索引层。如图4中的解码器所示,由两条路径生成分辨率为16×16×2的特征图:一组为分辨率为8×8×2的特征图;用空洞率为4、卷积核为3×3的卷积层,对16×16×2的特征图进行空洞卷积,得到另一组特征图。将两组特征图融合并进行两倍上采样,得到16×16×2的特征图。相比SegNet的上采样+直接池化索引,上述操作能获取更多细微病害的特征。特征图32×32×2和64×64×2的获取过程与特征图16×16×2相似。
对64×64×2大小的组合特征图进行四倍上采样,得到与输入图像尺寸相同的特征图,通过SoftMax 层生成特征图的分辨率为256×256×2,表示其宽度、高度和类别数,然后将特征图输入SoftMax函数以实现分类预测。
1.4 异值剔除
编解码网络的输出包含灌封裂缝和假阳性,两者的面积差异较大。对预测结果进行统计分析,可知:①灌封裂缝为条状,假阳性呈散点状;②对于灌封裂缝和假阳性,无论是长宽差的绝对值L,还是其面积A均有重复的区间,单独使用L或者A,都不能完全剔除假阳性。如表1所示,同时利用A和L作为阈值,可有效剔除假阳性。其中L的表达式为
表1 测试图像中灌封裂缝和假阳性的统计结果
L=abs(x-y)
(1)
式(1)中:x、y分别为病害的长和宽;abs(·)为绝对值函数;L为x和y差的绝对值。
2 实验与分析
2.1 评价指标
衡量图像语义分割方法性能的指标包括准确度、运行时间和内存占用[26],主要采用F1分数(F1-score,F1)和平均交异比(mean intersection over union,MIoU)。MIoU可以理解为各类像素的预测区域和真实区域的交并比的平均值,能够反映出分割目标和真实目标的重合度。F1是统计学中用来衡量二分类模型精确度的一种指标,它同时兼顾了分类模型的精确率Precision和召回率Recall。MIoU和F1的计算公式为
(2)
式(2)中:pii为分割正确的数量;pij为本属于i类但预测为j类的像素数量;pji为本属于j类但预测为i类的像素数量;k为图像数量。
(3)
式(3)中:TP为真阳性,实际为正样例预测为正样例;FP为假阳性,实际为负样例预测为正样例;FN为假阴性,实际为正样例预测为负样例;TN为真阴性,实际为负样例预测为负样例;TP+FP表示预测为正样例的总数;TP+FN为实际的正样例总数。
2.2 实验数据和实验环境
检测车采集的图像分辨率为1 688×1 874。使用labelme标注工具对包含灌封裂缝的890幅图像进行精确标注。对每幅图像进行裁剪,最后挑选出15 000幅图像(256×256)组成Asphalt-Sealed-Crack数据集。其中9 000幅用于训练,4 500幅用于测试,1 500幅用于验证。
实验环境为Windows10,Anaconda 4.9.2,Tensorflow-GPU 1.15.4,显卡为微星Tesla T4,内存大小为16 GB。
2.3 训练方法
为了使与CNN参数相关的代价函数值最小,实验运用随机梯度优化方法对训练集进行训练,以交叉熵作为损失函数,判定实际输出与期望输出的接近程度,可表示为
(4)
式(4)中:J(θ)为代价函数;θ为网络参数;pi为第i个像素的目标值;qi为第i个像素的预测值;m为图像中像素的总数。
同时采用自适应距估计(adaptive moment estimation,Adam)优化器,其计算公式为
(5)
式(5)中:t为迭代次数,设为200;mt和vt分别为一阶动量项和二阶动量项;β1、β2为动力值,分别取0.90和0.995;m′t、v′t分别为mt和vt的无偏值;θt为第t次迭代模型的参数;∇θJ(θ)为t次迭代代价函数关于θ的梯度大小;ε为一个取值很小的数,取1×10-8;η为学习率,取0.001。
以上为Adam优化器的参数更新过程,与其他优化器相比,Adam 避免了局部最小化问题,具备计算高效、梯度下降平滑和参数调整简单的优点。采用ResNet50的权重作为网络的初始权重参数,学习速率调整策略使用多项式衰减策略,权重衰减使用L2 正则化,衰减系数为0.000 01。
2.4 实验测试与分析
使用Asphalt-Sealed-Crack训练SegNet网络,用测试集测试得到的模型。测试集中含有道路标线的图像,其测试结果中的假阳性较多,较小尺寸的灌封裂缝漏检率较高。实验中取标线周围4个点(不在标线内)的像素值均值逐一填充标线后,测试结果中的假阳性明显减少,但存在漏检细微灌封裂缝、灌封裂缝轮廓变形的问题。空洞卷积层具有增大感受野、更加关注小尺寸病害特征的优点。采用不同空洞率的空洞卷积层提取特征图,与上一步提取的特征融合,得到丰富信息的组合特征图。与之前的测试结果相比,加入空洞卷积操作之后,漏检率和误检率均得以改善,物体的轮廓分割准确。图5中,分割结果的形状、轮廓与原图一致,细节保持完整,但部分非灌封裂缝被预测为灌封裂缝。多次微调模型及数据扩增,但收效甚微。实验统计分析大量的预测结果,在分割结果的基础上,运用50 图5 灌封裂缝分割结果 实验中的原始图像由路面检测车在不同条件下拍摄的图像组成,图像的质量差异较大。路面光照条件良好、匀速行驶等条件下所拍摄的图像质量较好,在路面光照条件较差、隧道、非匀速行驶等条件下拍摄的图像质量较差。此外,道路标线同样影响图像对比度。由图2、图6可知,虽然MSR方法改善图像整体的对比度,有助于降低漏检率,但部分非灌封裂缝,其像素值变得与灌封裂缝的像素值相同,被预测为灌封裂缝。 方框标记的是较为聚集的假阳性,多为小面积的沥青油斑或路面污渍;圆圈标记的是呈散点状分布的假阳性,多为颜色较深的沥青混合料 采用两种方式解决假阳性:一是包含深度学习和大数据的数据驱动方法,实验中对SegNet进行改进,将VGG16替换为ResNet,同时,将池化索引层替换为空洞卷积层,经裁剪,数据扩增处理后,数据集图像达到15 000幅,虽然数据驱动方法最终没有解决假阳性问题,但是却让方法更具鲁棒性,灌封裂缝分割更精确;二是运用阈值算法解决假阳性;虽然数据驱动方法可以解决假阳性,但需要制作大量的标签数据,还需花费大量的时间和精力优化网络,因此,运用提出的阈值法剔除假阳性,提取完整的灌封裂缝。 为客观评价改进方法、BiSeNet和SegNet三者的性能,将后两种方法在相同数据集上迭代训练200次。图7为3种方法在训练过程中MIoU和Loss的变化情况。随着训练次数增加,BiSeNet和SegNet的MIoU先增后减;改进方法的MIoU不断增长,最终稳定在77%以上。表2对比了3种方法的4个性能指标,改进方法均优于另外两种方法。图8为3种方法对灌封裂缝的分割结果:SegNet分割效果较差,假阳性较多,病害轮廓变形,部分细节缺失;BiSeNet的分割效果一般,预测结果中的假阳性较少且相对集中,但物体轮廓变形严重;所提方法的分割结果与输入图像在面积、形状和轮廓上保持一致,存在点状假阳性。对甘肃省部分路段的灌封裂缝进行检测。手动提取的灌封裂缝5 679条,提出方法剔除假阳性后,共提取5 820条病害,其中有141条假阳性,占2.49%;漏检5条,占0.09%。综上,本文方法的MIoU、分割效果均优于其他两种方法。 图7 3种方法的性能对比 表2 对比3种方法的4个性能指标 图8 3种方法对裂缝灌封的分割结果 针对SegNet在提取病害时存在漏检小尺寸病害、假阳性多、病害轮廓变形的问题,提出集图像增强处理、语义分割和异值剔除为一体的沥青路面灌封裂缝提取方法,并通过实验验证得出如下结论。 (1)利用改进的编解码网络提取测试集中的灌封裂缝,MIoU、F1分别达到0.776 3和0.899 9,比SegNet分别提高了2.5%,10.2%。 (2)与手动提取病害相比,所提方法能够高效的提取多种沥青路面的灌封裂缝,误检率和漏检率分别为2.49%,0.09%,具有一定的应用前景。 (3)在今后研究中,应进一步提高对车载沥青路面灌封裂缝的提取精度和速率,研究算法对沥青路面多种病害的泛化能力。2.5 评价
3 结论