基于数据深度增强的路面病害智能检测方法研究及比较

2022-06-12 05:58张慧婷高智伟王大为刘鹏飞MarkusOESERLinbingWANG
北京工业大学学报 2022年6期
关键词:路面病害裂缝

侯 越, 张慧婷, 高智伟, 王大为, 刘鹏飞, Markus OESER,4,Linbing WANG, 陈 宁,6

(1.北京工业大学城市建设学部, 北京 100124; 2.格拉斯哥大学詹姆斯瓦特工程学院, 格拉斯哥 G128QQ, 英国;3.德国亚琛大学道路工程研究所, 亚琛 52074, 德国; 4.德国联邦交通部公路研究院, 北威州 51427, 德国;5.弗吉尼亚理工大学土木与环境工程系, 布莱克斯堡 VA24061, 美国; 6.丰田都市交通研究所, 丰田 471-0024, 日本)

在长期服役之后,路面会出现不同程度、不同类型的病害,影响行驶的舒适性和安全性[1]. 路面必要的养护管理,对于促进城市道路设施服务水平的提高、确保道路的安全运营至关重要. 目前,道路养护过分依赖人工巡检的方式,效率低下且成本较高[2]. 因此,采用先进的技术手段,实现道路病害的自动检测,成为当下道路养护管理的关键.

近年来,深度学习逐渐发展,从大量样本中学习深层非线性网络结构来表述数据深层特征[3],为路面病害的自动检测提供了一种新思路. 目前,研究者已经提出许多基于卷积神经网络 (convolutional neural network, CNN)的目标检测模型,具有优异的检测与识别能力. 常见的有基于候选区域的两阶段算法,包括R-CNN[4]、SPP-Net[5]、Fast R-CNN[6]、Faster R-CNN[7];和基于回归的单阶段算法,包括Yolo[8]、SSD[9].

随着技术的日渐成熟,目标检测逐渐被应用于道路病害检测的研究中. Maeda等[10]开发了一个大规模的道路损伤检测分类数据集,共收集163 664张道路图片,将CNN目标检测算法应用于路面病害检测,实现8种路面病害检测. Wang等[11]对现有图像裂缝的处理和识别研究进行总结,综述了路面裂缝图像采集和二维裂缝提取算法. 肖创柏等[12]利用Faster R-CNN进行裂缝检测与提取,并调整网络使其适应小尺寸结构目标的裂缝信息,实验结果表明该算法在道路裂缝数据集上的F1得分达到65.6%. Staniek[13]利用交通系统中智能手机用户的数据众包,分析道路网络中车辆运动来识别和评估道路路面缺陷. 张宁[14]对Faster R-CNN网络结构进行改进,并应用几何变换传统增强方法,提升了算法模型的检测精度. Zhang等[15]基于全卷积神经网络(fully convolution network, FCN)提出CrackNet网络提取裂缝特征.

上述算法在路面病害的智能识别与监测方面做出很大的贡献,但是总体而言,检测的数据集中场景和种类较为单一,难以应对丰富多样的病害场景,且在样本数据集不均衡时,识别精度相对较低. 鉴于此,笔者采用一种基于梯度惩罚Wasserstein生成对抗网络(Wasserstein generative adversarial network with gradient penalty, WGAN-GP)[16]与泊松迁移算法相融合的数据深度增强方法,并将生成数据应用于两阶段检测算法快速区域卷积神经网络 (faster region-based convolutional neural network,Faster R-CNN)和单阶段检测算法你只看一次 (you only look once version5,Yolov5)检测框架,实现了5种路面病害智能检测方法,以用于道路坑槽、裂缝病害的智能识别和定位.

1 研究方法

图1 研究内容与流程Fig.1 Research route

本文的研究流程包括数据准备、实验和分析3个部分,如图1所示. 首先,通过对日本开源数据库[17]7 898张道路病害图片的处理,建立病害数据库. 在实验中,第1阶段是数据增强,利用WGAN-GP生成原样本数较少的坑槽病害,并通过泊松迁移融合技术合成600张具有坑槽病害的图片带入检测数据集. 第2阶段是病害检测,利用Faster R-CNN和Yolov5目标检测算法,根据病害样本训练调整网络的最优识别超参数,得到病害的类别和边框位置.

1.1 数据增强架构

1.1.1 生成对抗网络数据生成算法

生成对抗网络(generative adversarial network, GAN)是Goodfellow等[18]提出的一种基于对抗生成的博弈模型. GAN框架包含生成网络(generator network, G)和判别网络(discriminator network,D),G和D通过各自的策略与对方对抗,在对抗中双方再利用对方的策略及时对自己的策略进行不断调整[19].

本文采用的GAN网络基本框架如图2所示,将噪声融合到原始图像中生成数据,将生成的数据输入到G并提取坑槽的特征信息,生成拟合数据去欺骗D,D辨别输出数据的真假,并反馈到生成网络来训练模型.

图2 用于坑槽生成的GAN框架图[20]Fig.2 GAN structure for pothole generation[20]

Arjovsky等[21]提出Wasserstein距离来替换JS散度(Jensen-Shannon divergence, JS),即Wasserstein生成对抗网络(Wasserstein generative adversarial network,WGAN)来改进GAN的模式崩溃问题. 然而,WGAN仍然存在梯度裁剪导致调参上的梯度爆炸和梯度消失问题. 因此,Gulajani等[16]提出引入梯度惩罚项的WGAN-GP. 本研究采用数据生成性能较好的WGAN-GP来生成坑槽数据,WGAN-GP的G和D均设置为5层的卷积神经网络,层数分别对应序号1~5. 其中,G由反卷积层(transposed convolution, ConvTrans2d)、BN正则化层 (batchnorm, BN)、Relu和Tanh激活函数组成. D由卷积层(convolution, Conv2d)、IN正则化层(instancenorm, IN)、LeakyRelu激活函数组成,网络的详细参数设置如表1所示. 表中,K:n表示n×n的卷积核大小;N_out:n表示n个卷积核;S:n表示步长为n.

1.1.2 泊松迁移融合算法

在本研究中,通过将WGAN-GP生成的坑槽图像插入到无病害的道路图像中生成新的训练数据,先利用泊松算法输出融合图片[22],再经过颜色迁移算法输出合成图片[23]. 融入图像时,要尽可能真实地融入图像,合成图像时,要较好地保持原始数据集的自然效果,因此,在泊松融合的基础上加入颜色迁移,这一实现过程称之为泊松迁移融合. 泊松算法作为一种图像融合方法,能够将源图像较好地融合到目标图像中,本研究中泊松融合实现参考代码见文献[24]. 颜色迁移算法可以保证在颜色空间内目

表1 WGAN-GP对抗生成网络参数

标图像和参考图像具有相同的像素均值和方差,本研究中颜色迁移实现代码见文献[25]. 泊松算法中,未知区域像素值通过泊松方程计算,计算公式为

(1)

颜色迁移算法中,根据参考图像的颜色分量寻找目标图像的最佳匹配像素,计算公式为

Ti,j=|di-dj|+|σi-σj|+|fi-fj|

(2)

式中:i、j分别为2个图像的像素点;di、dj为像素与聚类点的距离;σi、σj为图像的空间动态选择系数;fi、fj分别为2个图像的亮度平均值[26].

1.2 目标检测架构

本研究中,选取2类目标检测方法中的代表算法,即两阶段算法Faster R-CNN和单阶段算法Yolo. 在以往路面病害检测中,单阶段算法较两阶段算法普遍存在检测速度快但检测精度低的问题,随着单阶段算法的更迭,目前Yolov5检测算法的精度得到大幅度提升.

1.2.1 Faster R-CNN两阶段目标检测算法

Faster R-CNN网络结构按照处理阶段分为视觉几何组特征提取、区域推荐、感兴趣区域和分类回归4个部分,本研究采用的Faster R-CNN算法流程如图3所示.

图3 Faster R-CNN算法流程[14]Fig.3 Faster R-CNN algorithm flow[14]

首先输入道路图片,选择视觉几何组16网络(visualgeometry group 16,VGG 16)作为路面病害目标的提取网络提取初步特征. 之后,在生成的初步特征图上,通过RPN区域推荐生成路面病害的候选窗,并计算候选窗的交并比I1(intersection over union,IOU)损失,通过非极大值抑制[27](non-maxinum suppression, NMS)进行冗余候选窗筛选. 筛选过后的候选窗输入感兴趣区域,利用全连接层对病害进行分类并微调窗口坐标,最后输出病害类别及其分类置信度[14],本研究中Faster R-CNN实现参考代码见文献[28].

1.2.2 Yolo单阶段目标检测算法

本研究采用Yolo最新版本Yolov5,其检测原理如图4所示. 首先将输入图像分为S×S网格,每个网格预测多个边界框和置信度,置信度反映网格中是否存在对象. 因此,这些预测可以被编码为S×S[B(4+1)+C]的张量,其中,S×S表示网格单元的数量,B表示边界框的数量,4表示边界框的坐标(bx,by,bw,bh),1表示交并比值,C表示预测类别[29],本研究中Yolov5实现参考代码见文献[30].

图4 Yolov5检测原理[31]Fig.4 Yolov5 detection principle[31]

在边界框回归损失中,交并比是最常见的度量,计算公式为

(3)

式中:Bgt为标签的边界框;B为预测的边界框;B∪Bgt为B和Bgt的并集,见图5(c);B∩Bgt为B和Bgt的交集,见图5(d).

针对交并比损失面对边界框不重叠时不能提供网络梯度更新的问题,广义交并比I2(generalized intersection over union,GIOU)[32]被提出,其引入了惩罚项,计算公式为

(4)

式中:C为覆盖Bgt和B的最小方框,见图5(e);C(B∪Bgt)为C减去Bgt和B的交集,见图5(f).

完全交并比I3(complete intersection over union,CIOU)[33]在广义交并比的基础上添加了长宽比影响因子,计算公式为

(5)

(6)

(7)

(8)

图5 IOU和GIOU的回归误差的可视化[35]Fig.5 Visualization of regression errors for IOU and GIOU[35]

式中:v为预测框和标准框长宽比[34];α为平衡比例系数;LI3为完全交并比的损失.为了更精确地区别横向裂缝和纵向裂缝的长宽比信息,本文采用完全交并比损失来计算回归损失,Yolov5训练期间的损失函数定义为

L=Eb+EI3+Ec

(9)

式中:L为回归损失;Eb为预测边界框误差;EI3为I3回归误差;Ec为分类误差.

2 实验设置

2.1 病害图像数据集建立

用于路面病害检测算法训练和测试的数据集来自Global Road Damage Detection Challenge,由车载智能手机拍摄的高清非重叠路面图片组成[17],图片采集速度为40 km/h、采集尺寸为600×600像素 (https:∥github.com∥sekilab∥RoadDamageDetector). 数据集中每张图片都被标记了1个或多个病害目标区域,矩形坐标框进行标记,作为真实标记边框.

本研究的数据集共包含7 898张图片,包括表2所示的4类病害,发生在不同道路等级、不同天气、不同时段等多种场景. 其中,病害间类别不均衡,坑槽病害数据较少. 本文按照8∶1∶1的比例将数据集分为训练集、验证集和测试集,其中训练集有6 398张图片,验证集有712张图片,测试集有791张图片.

2.2 路面病害智能检测方法实现

2.2.1 数据增强

实验训练基于Windows10操作系统,使用Pytorch和Tensorflow框架,硬件环境配置为:Intel(R)

表2 路面病害类别分布

Core(TM) i7-8850H CPU;内存:64 GB;显卡:Quadro P4000. 计算机语言为Python 3.8,装载并行计算构架CUDA10.2版本、基于CUDA的深度学习GPU加速库CUDNN8.1版本.

首先将坑槽边界框从原始数据集中剪切出来作为数据增强的输入图像,共裁剪出300张不同光线条件下不同遮挡物下的坑槽病害图像. 其次调整为80×80像素,带入WGAN-GP数据生成网络训练100 000次,训练过程如图6所示. 在训练次数e为100代时,WGAN-GP从真实图像中初步开始学习特征,调整网络参数,此时生成图像多为背景信息. 在1 000代时,突出的坑槽特征出现在生成的图像中,但缺乏细节. 当到达10 000代时,坑槽的边界特征被学习到. 在完成100 000代的训练后,生成的图像显示更多的细节,与真实的坑槽图像非常相似.

图6 WGAN-GP训练过程可视化Fig.6 Visualization of WGAN-GP training process

最终,生成的坑槽病害如图7所示,可以看出WGAN-GP生成的坑槽病害图像特征清晰,且具有不同的形状、大小、位置等特征信息,能够较为真实反映坑槽病害.

图7 基于WGAN-GP生成的坑槽病害Fig.7 Pothole distress generated by WGAN-GP

在对生成坑槽病害合成路面图片的过程中,为了使合成后的图像更自然,本文在泊松融合的基础上加入颜色迁移. 图8展示使用坑槽病害图像合成到一张无病害道路目标图像的一个示例,生成病害图像通过泊松融合输出融合图片,再通过颜色迁移输出最终合成图片. 从图8可以看出,与仅使用泊松融合相比,颜色迁移能够更好地融合2张图像. 本文结合泊松融合和颜色迁移方式对WGAN-GP生成的坑槽源图像进行合成,得到600张带有坑槽病害的道路图片.

图8 坑槽病害数据增强流程Fig.8 Pothole distress data augmentation process

2.2.2 目标检测

本研究比较了2种典型的目标检测算法,两阶段算法Faster R-CNN和单阶段算法Yolov5,并对比了不同深度的Yolov5算法,由浅到深为Yolov5s、Yolov5m、Yolov5l和Yolov5x. 网络学习性能往往和超参数的设置有关,学习率、批大小、权重衰减、动量梯度下降、最大迭代次等训练参数设置如表3所示.

表3 实验参数设置

图9 纵向裂缝检测识别对比Fig.9 Comparison of longitudinal crack detection and recognition

通过设置学习率控制网络参数的更新速度. 学习率设置过大,网络参数更新的速度就越快,容易产生发散,难以寻找到最优值;学习率设置过小,网络参数的更新速度降低,增加训练时间. 本研究中设置初始学习率为0.01,并采用周期衰减对初始学习率进行调整,可以保证学习率在余弦上限值和下限值的区间内周期性更新变化. 本研究在保证训练效果最优和内存限制的情况下,设置批大小为8,即每次在训练集中选取8个样本进行训练. 通过设置权重衰减来减小不重要参数对输出结果的影响,避免网络的过拟合. 采用动量梯度下降来加速网络收敛,具体实现方式为,如果前后2次的动量梯度下降方向相同,那当前下降的幅度就会较大,从而达到加速网络收敛的效果.

参数设置完成,开始训练,得到此批数据集训练出来的权重文件,进行测试. 为了分析各个算法的效率,所有对比的训练和测试任务都在同一台服务器上执行,均采用GPU加速.

3 实验分析

3.1 检测结果

本文利用实际的路面病害数据集,选取横向裂缝、纵向裂缝、龟裂、坑槽4种典型的路面破损图像,依次采用Yolov5s、Yolov5m、Yolov5l、Yolov5x和Faster R-CNN目标检测算法对其进行训练,各算法分别迭代400次,测试得到病害的目标区域.

图10 横向裂缝检测识别对比Fig.10 Comparison of transverse crack detection and identification

图11 龟裂检测识别对比Fig.11 Comparison of alligator crack detection and identification

图9~12分别给出5种检测算法对纵向裂缝、横向裂缝、龟裂及坑槽的识别效果,可以看出4种病害都能被正确分类,且获得一个与实际病害区域相差不大的预测框. 对比不同网络深度的Yolov5算法,Yolov5x预测出较低的检测框置信分数,估测是由于Yolov5x网络深度相对较深且迭代次数较少,Yolov5x内部参数没有得到充分训练;但Yolov5x由于具有更丰富的卷积层参数,故使其能捕捉到更多的病害隐藏特征,如图10横向裂缝检测中较其他3种Yolov5算法检测到更多的横向裂缝信息. 观察不同病害检测框的置信度,Yolov5l预测出更接近真实标注的检测结果,并且具有较高的检测框置信度. 对比Faster R-CNN和Yolov5系列算法,Faster R-CNN检测算法对背景产生误检,且预测的边界框不能贴合路面病害实际范围,如图10、12中Faster R-CNN对横向裂缝和坑槽的检测结果所示. 上述不同算法的检测结果显示,Yolov5算法相较于FasterR-CNN算法,对于路面病害具有更好的检测效果.

图12 坑槽检测识别对比Fig.12 Comparison of pothole detection and identification

3.2 模型评估

为了验证病害检测的精度和效率,本文通过P、R、F1、FS指标对算法的性能进行定量评价.

P为所有检测到的对象中正确检测到的对象的比例,且

(10)

式中:PT为正确检测的病害数;PF为被视为病害的非病害数.

R为所有检测到的正样本中正确检测到的对象的比例,且

(11)

式中NF为被视为非病害的病害数.

F1为精度和召回率的调和平均数,且

(12)

FS为1 s内算法可以处理的图片量,来评估各个目标检测算法的网络推理速度.

表4显示本文所比较的5种检测算法的检测结果. 从表中可知:Faster R-CNN在本文5种检测算法中表现较差,由于Faster R-CNN检测机制将路面病害的候选区域映射到特征金字塔网络(feature pyramid networks, FPN)高层,会造成信息损失导致网络对病害边界的感知不敏感,进而会影响到路面病害的检测性能. 本文采用的数据集由车载手机捕捉拍摄,并非垂直拍摄的道路图片,且图片发生在不同道路等级、不同天气、不同时段等多种场景,导致病害特征与道路背景特征难以剥离,最终Faster R-CNN的检测精度仅为49.7%. Yolov5变体算法中,Yolov5l在P、R、F1均取得最高值,分别达到60.7%、61.1%、60.9%,比Faster R-CNN分别高出11.0%、7.7%、9.5%.

表4 5种检测算法测试结果对比

当5种不同的算法在同一数据集上进行测试时,单阶段检测算法Yolov5的检测速度更为突出. 特别地,Yolov5s在保证精度的基础上,推理速度FS达到78.7,比Faster R-CNN快5.15倍,比检测精度最高的Yolov5l算法快2.23倍. 综合检测精度和检测速度,Yolov5变体算法较Faster R-CNN算法具有更好的病害检测性能,其中Yolov5l既能保证最高的检测精度也满足端到端检测速度的要求.

为了验证WGAN-GP与泊松迁移算法相融合的数据深度增强方法对各目标检测算法性能的提升效果,本文将数据深度增强过后的600张坑槽病害的图片添入数据集.

图13 数据增强测试结果对比Fig.13 Data augmetation tet results comparison

图13给出数据集深度增强前后5种检测算法的测试结果P、R、F1变化. 其中,蓝色折线表示使用原始数据训练得到的检测结果,黄色折线表示使用本文采用的数据增强方法进行数据扩充后得到的检测结果. 可以看出,5种检测算法通过数据增强后P、R及F1指标都有所提高,均值提高度分别为2.8%、4.0%及3.6%. 这表明WGAN-GP与泊松迁移算法相融合的数据深度增强方法可以在一定程度上提高基于不均衡路面病害样本数据集自动检测算法的检测效果. 其中,R提升最多,这是因为增加了D40数据特征的多样性,且保证了不同病害类别样本量之间的相对均衡,减少了错误识别的概率. 尤其是Yolov5s算法,其P、R及F1指标分别提高3.6%、4.9%、4.3%,而Yolov5x算法估测因网络参数过多,在与其他网络相同的训练次数下,内部参数训练不充分,但其P、R及F1指标仍有1.9%、3.1%及2.5%的提高幅度. 实验结果表明,无论是针对哪种类型的检测算法及网络结构,WGAN-GP与泊松迁移算法相融合的数据深度增强方法都起到了一定程度的精度提升效果.

3.3 多类别检测性能分析

3.1中为展示清晰与便捷性,仅展示了单种病害的检测效果,本节中将分析多种病害类型的检测性能效果. 本研究通过混淆矩阵来评定检测算法在多类别上的学习性能. 混淆矩阵既可以清晰地反映出真实值和预测值相互吻合的数值,也可以反映出各类别之间被混淆分类的概率.

图14 多类别病害混淆矩阵Fig.14 Multi-category distress confusion matrix

图14中展示出Yolov5l检测算法测试中4类病害的混淆矩阵. 图中非对角线数值分布为0~0.03,说明横向裂缝、纵向裂缝、龟裂和坑槽4种病害间相关性低,考虑到人工错误标注的可能,几乎没有病害混淆分类的情况;最右列表示背景被错误识别为病害的数量,其误检率分别为纵向裂缝30%、横向裂缝29%、龟裂22%、坑槽12%;最底行表示病害被识别为背景造成遗漏的数量,其漏检率分别为纵向裂缝37%、横向裂缝36%、龟裂22%、坑槽20%. 可见,Yolov5l可实现对不同病害之间的精确分类,但在病害识别方面仍存在一定程度的漏检和误检问题. 因此,Yolov5l算法需要在保证算法分类精度和速度的同时,进一步提高算法的识别能力.

3.4 不同检测场景对比

由于拍摄环境的复杂性和数据获取过程中存在的多变性,导致病害与周围像素对比度不稳定,进而影响检测精度. 光线条件是各种复杂拍摄环境中的关键因素,光线的变化会影响路面病害纹理和粗糙度,进而对检测精度产生较大的影响. 为了验证不同光线采集环境下对检测结果的影响,在不同场景的对比实验中,将测试集进一步分为3组,包括光线不足(0≤像素亮度值<80)、光线适中(80≤像素亮度值<170)、光线强烈(170≤像素亮度值≤225). 图15显示了3种采集环境下各类病害的检测结果. 可以看出,在光线强烈的情况下,树木、电线杆等阴影给裂缝识别带来极大的干扰,导致误检率提高. 在光线不足情况下,目标检测算法漏检率提高. 与其他2种情况相比,在适当的照明条件下,可以更好检测路面病害.

图15 不同光线采集环境下Yolov5l的检测结果Fig.15 Detection results of Yolov5l under different lighting acquisition environments

为了定性分析不同光线采集环境对检测精度的影响,进一步比较3种不同采集环境下路面病害检测的F1,如图16所示. 在适中的光线条件下,目标检测算法可以获得较高的检测精度,其中,Yolov5l的F1为68.7%;在光线不足的条件下,目标检测算法会产生较高的漏检率,其中,Yolov5l的F1为53.6%;在光线强烈的检测环境下,目标检测算法会产生较高的误检率,其中,Yolov5l的F1为57.8%. 通过上述不同检测场景对检测精度的影响分析,在实际道路病害检测工程应用中建议在中等光线条件下进行图像采集.

图16 不同光线采集环境下检测算法F1对比Fig.16 F1 comparison of detection models under different lighting acquisition environments

4 结论

本文首先采用了一种WGAN-GP与泊松迁移算法相融合的数据深度增强方法,并利用该方法生成的样本数据添加入样本数据集以均衡样本类别数量,然后对两阶段Faster R-CNN算法和单阶段Yolov5的4种变体算法(Yolov5s、Yolov5m、Yolov5l、Yolov5x)进行了数据增强前后、不同检测场景、多种病害识别的实验比较,得到以下结论:

1)使用WGAN-GP与泊松迁移算法相融合的数据深度增强方法进行数据增强后,5种检测算法的P、R及F1指标平均值分别提高2.8%、4.0%、3.6%,验证了所用数据增强方法对解决路面病害样本集不均衡问题的有效性.

2)对比5种检测算法,在训练次数有限的情况下,Yolov5l算法F1最高,达到60.9%,比Yolov5s、Yolov5m、Yolov5x、FasterR-CNN分别高出1.5%、1.3%、2.0%、9.5%,估测该结果是网络结构的复杂性与超参数数量的多寡导致的.

3)在多类病害检测中,Yolov5l可实现对不同定义病害之间的分类检测,但对各种病害的识别存在一定的漏检和误检. 因此,Yolov5l需要在保证算法检测速度的同时,进一步采取措施降低算法漏检率和误检率.

4)光线采集环境对检测精度具有较大的影响,对比3种采集环境下Yolov5l算法的F1,光线不足采集环境下F1比光线适中采集环境下F1降低15.1%. 因此,建议在适中光线条件下进行道路病害的实际工程检测.

猜你喜欢
路面病害裂缝
基于改进DenseNet的茶叶病害小样本识别方法
早春养羊需防六大病害
“早春鱼瘟”、黄颡鱼“过春”、病害一线快速精准诊断……实战干货来啦
市政道路桥梁工程常见病害与施工处理技术探讨
微裂均质化处治再生技术在水泥混凝土路面的应用
地球的裂缝
路面上的新科技
裂缝性储层水力裂缝扩展规律数值模拟研究
裂缝
大决心