一种基于RDNet的道路病害检测算法
An Algorithm for Road Disease Detection Based on RDNet
摘要: 道路病害的诊断是道路预防保养的一个关键步骤,为此本文提出了一种基于RDNet (Road Detection Network)道路病害检测算法。该算法从不同角度提高了特征的提取和表达能力,其中的改进包括跨阶段多分支卷积、残差并行空洞卷积以及自适应尺度空间注意力模块等。通过在自建的道路病害数据集上进行端到端地训练,提高了算法的检测精度和泛化能力。实验结果表明,对比YOLOv5s,本文所提出的RDNet算法的平均精度均值mAP提高了1.3%,同时对于困难样本也有较好的检测结果,能够有效地应用于实际道路的维护工作中,从而提升道路病害检测的效率和准确性。
Abstract: The diagnosis of road diseases is a key step in road preventive maintenance, so this paper proposes a road disease detection algorithm based on RDNet (Road Detection Network). The algorithm improves the ability of feature extraction and expression from different perspectives, including crossstage partial multi-branch convolution, residual parallel dilated convolution, and adaptive scale spatial attention module. End-to-end training on the self-built road disease dataset improves the detection accuracy and generalization ability of the algorithm. Experimental results show that compared with YOLOv5s, the average precision of the RDNet algorithm proposed in this paper is increased by 1.3%, and the average precision mAP of the proposed RDNet algorithm is improved by 1.3%, and it also has good detection results for difficult samples, which can be effectively applied to the maintenance of actual roads, so as to improve the efficiency and accuracy of road disease detection.
文章引用:王鹏, 王鹏飞, 游东旭, 徐垚凡, 白雨桭, 刘加美. 一种基于RDNet的道路病害检测算法[J]. 人工智能与机器人研究, 2024, 13(3): 487-496. https://doi.org/10.12677/airr.2024.133050

1. 引言

在现代城市的规划与基础设施构建中,道路扮演着至关重要的角色,它们的状态直接决定了城市功能的效率和居民生活的舒适度[1]。然而,随着时间的推移以及受到环境条件、交通压力和材料退化等多种因素的共同作用,道路结构会逐渐出现各种病害,如裂缝、坑槽、沉陷等。这些问题不仅损害行车安全和驾乘体验,还会减少道路的有效寿命并提高维护开支[2]

因此,对道路病害的准确识别和评估变得至关重要。通过全面和细致的检查,我们能够及时地探测并确切地确定道路病害的种类、严重性及其分布情况,这为之后的修复和维护工作提供了重要的科学根据[3]。此外,道路病害的诊断也是预防保养的一个关键步骤。通过定期的道路病害检测与分析,可以预见潜在的问题发展趋势,并及早执行必要的干预和修补措施,进而有效延长道路的服务寿命,并提升其运行效率。

为了有效解决这个问题,本文提出了一种基于RDNet的道路病害检测算法,它利用了深度学习[4] [5]和目标检测技术[6] [7],能够自动化地辨识及定位路面的损害,极大地提升了病害检测的效率和精准度,从而为城市规划和基础设施建设带来了重要的支持。

2. 道路病害数据集构建

本文所用的道路病害数据集为深圳市锐明像素科技有限公司在实际车载场景中所采集到的图片。其中,构建的数据集共50,000张,将数据集按照8:2的比例进行划分训练集和验证集,可以得到训练集有40,000张,测试集有10,000张。

本文需要检测识别的道路病害包括7类,分别为沉陷(Sink)、纵向裂缝(Crack_p)、纵向裂缝补丁(Patch_crack_p)、横向裂缝(Crack_t)、横向裂缝补丁(Patch_crack_t)、网裂(Net)、网裂补丁(Patch_net),然后对每个类别分别选取了一些图片进行展示,如表1所示。进一步,对每个类别的道路病害数量进行统计,如图1所示。

表1可以看出,道路病害不仅形式多样,而且每种病害都有其独特的表现形式和产生原因,同时可能受到多种环境因素,如气候、交通、地基等影响,增加了病害识别的难度。此外,道路表面的纹理、颜色、光照条件等因素也会影响特征提取的准确性。

Table 1. Category of road diseases

1. 道路病害类别

类别名称

类别展示图(部分)

Sink

Crack_p

Path_crack_p

Crack_t

Patch_crack_t

Pet

Patch_net

Figure 1. Proportion of data volume by category

1. 各类别数据量占比

3. RDNet道路病害检测算法

3.1. RDNet网络结构

本文设计的RDNet网络结构如下图2所示。

Figure 2. RDNet network architecture

2. RDNet网络结构

3.1.1. CSPMBC模块

Figure 3. CSPMBC module

3. CSPMBC模块

CSPNet (Cross Stage Partial Network) [8]通过其独特的网络结构设计,在保持甚至提高CNN性能的同时,显著降低了计算量,并且提高了精度,同时它优化了梯度信息利用,具有较好的通用性和易用性。

本文提出的CSPMBC (Cross Stage Partial Multi-Branch Convolution)跨阶段多分支卷积模块结构如图3所示,输入特征分为两部分,其中第一部分流向为大的Cross Stage Connection与3 × 3的卷积并联而成,主要提供长程的梯度信息并加快梯度反向传播;第二部分流向为大的Partial部分,上部分网络结构形式为小的Cross Stage Connection与3 × 3的卷积并联而成,并依次递进为两个分支,然后进行了通道调整,将通道数由3c调整为c;下部分网络结构与其类似,在最后将五部分卷积提取的特征进行了Concat拼接,通过卷积将通道数由5c调整为c,并通过3 × 3的卷积进行特征整合。

CSPMBC模块将CSPNet和MBC二者做了集成,优化了网络结构设计,在速度和性能上具有显著的优势。一方面,它具有多感受野、多种特征表示的优点,而且对于小目标的检测识别能力有显著的提高;另一方面,它利用了高效的长程注意力机制,优化了网络的梯度长度,在模型放缩时不仅能保持其性能和稳定性,而且能解决其收敛性逐渐恶化的问题。

3.1.2. RPD模块

在道路病害检测的场景中,病害目标大小存在多样性,如果使用单一尺寸的图像特征,可能丢失图像中的小目标或不显著物体的特征信息。为了检测到不同尺度的道路病害,本文提出了残差并行空洞卷积块来获得具有判别力的多尺度特征,通过使用多个不同感受野大小的空洞卷积来提取不同尺度的图像特征信息,从而识别不同大小的病害。本文采用了4个不同膨胀率的空洞卷积,它们的膨胀率分别为3,5,7,9。同时,为了利用全局场景上下文信息,本文将全局池化操作扩展到并行空洞卷积模块中。

本文提出的RPD (Residual Parallel Dilated Convolution Block)残差并行空洞卷积块模块结构如图4所示,输入特征首先通过1 × 1卷积进行通道调整,之后进入并行空洞卷积模块中,它由4个不同膨胀率的空洞卷积和全局平均池化以并联的方式组成,其中4个空洞卷积输出特征通道数都相同,对于全局平均池化的结果,进行卷积操作和双线性上采样操作,使其与空洞卷积的输出大小相同。然后对它们进行拼接操作以获取多尺度特征信息。最后与残差进行融合,提升语义表达能力的同时加速梯度反向传播。

Figure 4. RPD module

4. RPD模块

RPD模块的设计通过结合空洞卷积和残差学习,有效地提升了网络的性能。尤其是在处理需要大感受野和丰富空间信息的任务时,比如小目标检测等场景,显示出了显著的优势。

3.1.3. ASSA模块

本文提出的ASSA (Adaptive Scale Spatial Attention Block)自适应尺度空间注意力机制结构如图5所示,输入为三个尺度的特征图,分别为1/8,1/16,1/32。首先对三个尺度特征图进行通道维度的拼接,然后依次经过带残差连接[9]的空间感应机制(Spatial Wise) [10] [11]和注意力感应机制(Attention Wise)进行三个尺度权重得分的自适应学习。将学习好的权重分别乘在之前拼接的特征图上,之后再通过步长Stride为2的3 × 3卷积使其恢复到输入特征图相对应的大小。

ASSA模块通过对三个尺度拼接的特征图引入Spatial_wise和Attention_wise两个机制,使网络不仅能够重点关注图像中的重要区域,抑制不相关的背景信息,同时能够捕捉不同尺度的特征,自适应地学习到不同尺度的权重得分Score。一方面,通过自适应地学习权重系数,可以平衡浅层图像纹理特征和深层图像语义特征的关系,这对于提高网络对不同尺度上的特征提取能力尤为重要。另一方面,通过学习不同特征图之间的联系,可以更好地解决特征金字塔内部的不一致性问题,从而提高模型对不同尺度特征的理解和利用能力。

Figure 5. ASSA module

5. ASSA模块

3.2. 损失函数

RDNet网络的损失函数主要由回归损失、置信度损失和分类损失三部分组成。具体如下。

3.2.1. 回归损失

回归损失用于计算预测边界框(Predicted Bound Box)与真实边界框(Ground Truth Box)之间的误差。本文采用的是CIoU loss,它是基于之前L1、L2、IoU和GIoU损失函数的改进版[12] [13] [14]。CIoU增加了宽高比的惩罚项,当预测边框和真实边框的中心点重合时,可以更好地区分不同情况下的误差,并且具有尺度不变性,CIoU loss计算公式如式(1)~(3)。

L CIoU =1IoU+ ρ 2 ( b, b gt ) c 2 +αν (1)

其中,v用来衡量两个矩形框相对比例的一致性,α是权重系数:

v= 4 π 2 ( arctan ω gt h gt arctan ω h ) 2 (2)

α= v ( 1IoU )+v (3)

其中, ρ 2 (b, b gt ) 表示真实框和预测框中心点的欧式距离,c表示两个矩形框的闭包区域的对角线的距离。

3.2.2. 置信度损失

置信度损失用来衡量模型对预测框中含有目标物体的信心程度。在YOLOv5中,所有预测框都会计算置信度损失,但只有掩码Mask中标记为True的预测框才会计算分类和回归损失。置信度损失通常使用二元交叉熵(Binary Cross-Entropy, BCE)损失函数来进行计算,如式(4)所示:

L BCE = 1 n i=1 n [ y i ln( y i )+( 1 y i )ln( 1 y i ) ] (4)

3.2.3. 分类损失

分类损失用于判断锚框中是否包含指定的类别。如果有目标对象,还要进一步判断其具体的类别。YOLOv5中的分类损失同样采用二元交叉熵损失函数进行计算。

由统计可知,本文构建的数据集中的沉陷Sink、网裂Net、网裂补丁Patch_net这三个类别所占的比例远小于其他类别,处于严重的类别不平衡状态。在训练过程中,少数类别梯度被多数类别梯度所淹没,通常使用的二值交叉熵损失很容易抑制少数类别的学习,造成少数类别的检测效果差。

重加权损失的基本思想是分配不同权重给训练样本,如式(5)所示:

L WBCE = c=1 C f( N c ) L BCE (5)

其中,C为类别数量;Nc为第c类别样本数量;

二分类交叉熵损失如式(6)所示:

L BCE = 1 n i=1 n [ y i ln( y i )+( 1 y i )ln( 1 y i ) ] (6)

其中, y i 为真实类别; y i 为预测类别。

本文使用带权类别交叉熵损失以弥补数据集中小数目的类别,即为每个语义类别分配不同的权重,用于解决道路病害数据集中不平衡问题。类别权重计算如式(7)~(8)所示,其中,class表示类别, r c 表示类别class的标注框数目在所有标注框中所占的比例,t是超参数,这里设置为1.02。

f( N c )= W c = 2 ln( t+ r c ) (7)

L cls = c=1 C 2 ln( t+ r c ) L BCE (8)

此外,总的损失函数是这三种损失函数的加权和,可以通过给不同的损失函数前乘以权重系数来调整它们在总损失中的比重。这样的设计使得RDNet [15]能够在定位精度、识别准确度和分类性能之间取得平衡,如式(9)所示:

Loss= λ 1 L cls + λ 2 L obj + λ 3 L loc (9)

其中,λ1λ2λ3为平衡系数。

3.3. 评价指标

本文中引入以下评估标准评估模型性能:

IoU (Intersection over Union)是评价检测框与真实框重叠程度的指标,计算的是两者交集与并集的比例,它在确定是否为正确检测时起着关键作用,IoU的计算公式如(10)所示:

IoU= AB AB (10)

精确率(P, Precision)又称查准率,指在所有检测为正的样本中真正为正的比例,是“宁缺毋滥”的度量标准。如式(11)所示:

P= TP TP+FP (11)

召回率(R, Recall)又称查全率,指从所有实际为正的样本中被正确地检测出来的比例,它是“宁可错杀一千,不可放过一个”的度量标准,如式(12)所示:

R= TP TP+FN (12)

平均精度(AP, Average Precision)是指在特定任务上,模型输出的精确率–召回率曲线下的面积,通常用于评估模型在一系列不同的IoU阈值下的表现。如式(13)所示:

AP= 0 1 p( r )dr= k=1 N P( k )Δr( k ) (13)

平均精度均值(mAP, mean Average Precision)是指C个不同类别的平均精度AP的平均值,如式(14)所示:

mAP= i1 c A P i C (14)

3.4. 模型训练及结果分析

Table 2. Comparison of evaluation indicators between YOLOv5s and RDNet

2. YOLOv5s与RDNet评价指标对比

类别

精确率P

召回率R

mAP0.5


YOLOv5s

RDNet

YOLOv5s

RDNet

YOLOv5s

RDNet

Sink

0.825

0.781

0.800

0.823

0.863

0.853

Crack_p

0.696

0.641

0.592

0.598

0.637

0.625

Patch_crack_p

0.673

0.672

0.621

0.627

0.647

0.659

Crack_t

0.581

0.576

0.388

0.430

0.449

0.452

Patch_crack_t

0.661

0.643

0.539

0.576

0.579

0.603

Net

0.630

0.646

0.619

0.653

0.630

0.673

Patch_net

0.664

0.683

0.562

0.575

0.579

0.617

平均值

0.676

0.667

0.589

0.612

0.626

0.639

本文实验运行的硬件环境为:处理器是Intel (R) Xeon (R) Platinum 8255C CPU,314 G内存,显卡是NVIDIA Tesla V100 32 G,Cent OS 8.5.2 64位操作系统,深度神经网络在Pytorch深度学习框架上搭建,编译器为Pycharm。

本文在自建的道路病害数据集上对YOLOv5s网络和RDNet网络分别进行训练,并进行结果对比,如表2所示。

通过对表2进行分析,可以发现:

1) 相比YOLOv5s网络,RDNet网络在精确率P上下降了0.9%,召回率R上提升了2.3%,mAP上提升了1.3%。可以看到,RDNet网络可以明显提升道路病害的识别和检测精度。

2) 对于YOLOv5s网络,其中横向裂缝(Crack_t)、横向裂缝补丁(Patch_crack_t)、网裂(Net)以及网裂补丁(Patch_net)这四个类别识别精度不高,为困难类别。而RDNet网络在这三个类别上mAP分别提升了0.3%,2.4%,4.3%和3.8%。可以看到,横向裂缝补丁、网裂和网裂补丁这两个类别均有大幅度提升。

3) 相比YOLOv5s网络,RDNet网络可以提升复杂形状的道路病害的检测精度,同时使尺度不统一的问题得到了较好的解决。

3.5. RDNet检测结果展示

通过在自建的道路病害数据集上进行端到端的训练,提高了RDNet算法的检测精度和泛化能力。本文将训练好的模型在实际场景中进行测试,选取了一些图片进行检测结果的可视化展示,如图6所示。

Figure 6. Visualization of RDNet algorithm detection results

6. RDNet算法检测结果的可视化

4. 结论

为了更准确地辨识和定位道路上的病害,本文提出了一种基于RDNet网络的道路病害检测算法,将其与YOLOv5s网络在自建的道路病害数据集上分别进行训练。实验结果表明:本文提出的道路病害检测算法其精确率P下降了0.9%,召回率R提升了2.3%, 平均精度均值mAP提升了1.3%,并且在困难类别的识别上具有一定的优势,其可以明显提升道路病害的识别和检测精度。这不仅为道路巡查与管养部门提供了一种高效可靠的病害检测方案,同时也为目标检测在其他领域的进一步拓展和研究提供了有价值的经验和思路。

NOTES

*通讯作者。

参考文献

[1] 罗晖, 贾晨, 李健. 基于改进 YOLOv4 的公路路面病害检测算法[J]. 激光与光电子学进展, 2021, 58(14): 328-336.
[2] 沙爱民, 童峥, 高杰. 基于卷积神经网络的路表病害识别与测量[J]. 中国公路学报, 2018, 31(1): 1-10.
[3] Ye, T., Zhang, X., Zhang, Y., et al. (2020) Railway Traffic Object Detection Using Differential Feature Fusion Convolution Neural Network. IEEE Transactions on Intelligent Transportation Systems, 22, 1375-1387.
https://doi.org/10.1109/TITS.2020.2969993
[4] Lecun, Y., Bengio, Y. and Hinton, G. (2015) Deep Learning. Nature, 521, 436-444.
https://doi.org/10.1038/nature14539
[5] 邵延华, 张铎, 楚红雨, 等. 基于深度学习的YOLO目标检测综述[J]. 电子与信息学报, 2022, 44(10): 3697-3708.
[6] 张阳婷, 黄德启, 王东伟, 等. 基于深度学习的目标检测算法研究与应用综述[J]. 计算机工程与应用, 2023, 59(18): 1-13.
[7] Zhao, Z.Q., Zheng, P., Xu, S., et al. (2019) Object Detection with Deep Learning: A Review. IEEE Transactions on Neural Networks and Learning Systems, 30, 3212-3232.
https://doi.org/10.1109/TNNLS.2018.2876865
[8] Wang, C.Y., Liao, H.Y.M., Wu, Y.H., et al. (2020) Cspnet: A New Backbone That Can Enhance Learning Capability of CNN. Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops, Seattle, 14-19 June 2020, 390-391.
https://doi.org/10.1109/CVPRW50498.2020.00203
[9] He, K., Zhang, X., Ren, S., et al. (2016) Deep Residual Learning for Image Recognition. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Las Vegas, 27-30 June 2016, 770-778.
https://doi.org/10.1109/CVPR.2016.90
[10] Hou, Q., Zhou, D. and Feng, J. (2021) Coordinate Attention for Efficient Mobile Network Design. Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, Nashville, 20-25 June 2021, 13713-13722.
https://doi.org/10.1109/CVPR46437.2021.01350
[11] Zhang, Q.L. and Yang, Y.B. (2021) Sa-Net: Shuffle Attention for Deep Convolutional Neural Networks. ICASSP 2021-2021 IEEE International Conference on Acoustics, Speech and Signal Processing, Toronto, 6-11 June 2021, 2235-2239.
https://doi.org/10.1109/ICASSP39728.2021.9414568
[12] Zheng, Z., Wang, P., Liu, W., et al. (2020) Distance-Iou Loss: Faster and Better Learning for Bounding Box Regression. Proceedings of the AAAI Conference on Artificial Intelligence, 34, 12993-13000.
https://doi.org/10.1609/aaai.v34i07.6999
[13] Rezatofighi, H., Tsoi, N., Gwak, J.Y., et al. Generalized Intersection Over Union: A Metric and A Loss For Bounding Box Regression. 2019 Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, Long Beach, 15-20 June 2019, 658-666.
https://doi.org/10.1109/CVPR.2019.00075
[14] Zhou, D., Fang, J., Song, X., et al. (2019) Iou Loss for 2d/3d Object Detection. 2019 International Conference on 3D Vision, Québec, 16-19 September 2019, 85-94.
https://doi.org/10.1109/3DV.2019.00019
[15] Jocher, G., Chaurasia, A., Stoken, A., et al. (2022) Ultralytics/Yolov5: V6. 2-Yolov5 Classification Models, Apple M1, Reproducibility, Clearml and Deci. Ai Integrations.