基于改进YOLOv8的道路积水监测方法
2024-11-02张峥左向阳龙岩黄浩成何立新雷晓辉王萌茜
摘 要:中国内涝灾害频发,尤其是发生在道路上的内涝灾害,严重影响了人们的正常出行,甚至是威胁生命,目前的道路积水监测技术效率低,迫切需要一种高效监测道路积水的方法。道路积水的精准监测有助于政府下达政策,人员做好预防,提出了一种基于改进YOLOv8的道路积水实时监测方法,在基于YOLOv8的算法下,在颈部结构网络加入了CBAM(Convolutional Block Attention Module)注意力机制,增强积水区域的重要特征并抑制一般特征,提高识别道路积水的准确率,并利用透视变换和像素来计算积水面积。选取河北工程大学新校区校内道路积水进行研究,结果表明,该方法的精确率达到93. 83%,能精确实时识别出道路积水路面并输出积水面积,满足监测需求。关键词:内涝灾害;深度学习;注意力机制;道路积水
中图分类号:TV1 文献标识码:A 文章编号:1001-9235(2024)10-0044-07
Monitoring Method for Road Waterlogging Based on Improved YOLOv8
ZHANG Zheng1,2, ZUO Xiangyang1,2, LONG Yan1,2*, HUANG Haocheng3, , LEI Xiaohui1,2 , HE Lixin1,2WANGMengqian4
(1. School of Water Resources and Hydropower, Hebei University of Engineering, Handan 056038, China; 2. Hebei Smart Water
Conservancy Key Laboratory, Handan 056038, China; 3. School of Management, Hefei University of Technology, Hefei 230000, China;4. MWR General Institute of Water Resources and Hydropower Planning and Design, Beijing 100000, China)
Abstract: Flooding disasters occur frequently in China, especially on roads, which seriously affect people's normal travel and even threaten their lives. The current technologies for monitoring road waterlogging are inefficient, and there is an urgent need for an efficient method to monitor road waterlogging. Accurate monitoring of road waterlogging is helpful for the government to issue policies and personnel to take preventive measures. Therefore, this article proposed a real-time monitoring method for road waterlogging based on improved YOLOv8. Through the YOLOv8 algorithm, a convolutional block attention module (CBAM) attention mechanism was added to the neck structure network to enhance the important features of waterlogging areas, suppress general features, and improve the accuracy of identifying road waterlogging. In addition, perspective transformation and pixels were used to calculate the waterlogging area. The article studied the road waterlogging in the new campus of Hebei University of Engineering. The results show that the accuracy of this method reaches 93. 83%, which can accurately identify the road waterlogging surface and output the waterlogging area in real time, meeting the monitoring needs.
Keywords: waterlogging disaster; deep learning; attention mechanism; road waterlogging
随着全球气候变化的加剧和城市化的快速发展,城市内涝灾害的发生频率越来越高,范围越来越广[1]。根据防汛抗旱总部和水利部发布的《中国水旱灾害防御公报》[2]显示,2021年,全国30省(自治区、直辖市)发生洪涝灾害,造成5 901. 01万人次受灾,590人死亡失踪,直接经济损失2 458. 92亿元,占当年GDP的0. 22%。因此,开展城市内涝过程监测,建立科学的应对机制,降低内涝风险,减少内涝造成的损失,具有十分重要的意义。深度学习技术在城市内涝过程监测中的应用,可以实现高效、安全、准确的内涝智能监测[3]。
道路积水的监测主要为人工检测、传感器检测和影像监测3种方式。人工监测需要人员在易涝点进行测量,真实可靠,但存在人为误差,耗费人力,不能实现实时监测,而采用接触式传感器能够实现自动化测量,且精度高,传输快,但容易受到积水、泥沙污染,造成损坏;维护成本高,难以满足全面开展城市内涝监测的需求[4]。崔奇等[5]在2018年提出了一种基于矢量约束实现面向对象高分辨率遥感影像水体提取的新方法,但缺点是对细小水体很难有效提取。白岗岗等[6]在2021年提出了一种基于YOLOv2算法对城市内涝中的积水区域进行实时监测的方法,可识别积水区域,并计算积水区域内的实际面积。胡昊等[7]在2023年提出了一种基于视频影像的道路积水实时监测模型,采用YOLOv5s进行实时图像识别,计算积水区域面积,但模型仍有优化空间。现阶段对道路积水面积的自动化监测技术手段较少,随着深度学习技术的不断改进,影像监测也被用于道路积水的监测,利用深度学习的方法对道路积水进行监测,其成本低,及时性强,逐渐地,影像监测技术将因其准确性与效能,成为城市暴雨灾害监控的主要手段。因此,本研究提出一种基于CBAM-YOLOv8的道路积水面积实时监测方法,来达到实时精准监测道路积水的目的。
1 网络结构和算法
1. 1 卷积神经网络(Convolutional Neural Networks)
Hubel等[8]在1962年发现在猫脑视觉皮层中存在一系列复杂构造的细胞,这些细胞对视觉输入空间的局部区域很敏感,称为感受野。在感受野中能够更好地挖掘出存在于自然图像中强烈的局部空间相关性。Fukushima等[9]在1980年提出了结构与之类似的神经认知机。Lecun等[10]在基于Fukushima的研究工作使用BP算法设计并训练了CNN。CNN的基本结构由输入层、卷积层、池化层、全连接层及输出层构成。卷积层和池化层会取若干个,采用卷积层和池化层交替设置,即一个卷积层连接一个池化层,池化层后再连接一个卷积层,依此类推。由于卷积层中输出特征面的每个神经元与其输入进行局部连接,并通过对应的连接权值与局部输入进行加权求和再加上偏置值,得到该神经元输入值,该过程等同于卷积过程。卷积层的功能是对数据进行自动特征提取,卷积层通过卷积核在图像中滑动进行计算来自动提取特征。一般来说,CNN中越往后的卷积层越能够提取到更复杂的特征信息。池化层在处理经卷积运算后的特征时,其主要作用在于执行维度压缩。这一过程不仅显著降低了模型的计算复杂度,而且有效缓解了过拟合的可能性。池化操作通常分为平均池化与最大池化2种类型[11]。平均池化致力于保全全局背景信息,而最大池化则专注于抽出关键信息,以减少对无关紧要信息的处理[12]。
1. 2 CBAM-YOLOv8网络
YOLOv8算法是基于Pytorch框架的目标检测算法,YOLOv8是一个包含主干网络、颈部、头部、输入端和输出端的网络模型[13]。主干网络主要包括Focus模块、CSP结构、SPP池化结构;颈部结构主要是FPN+PAN网络架构,可将位置信息和特征信息进行融合;输入端主要包括Somaic数据增强[14]、图像尺寸处理和自适应锚框;输出端主要包括Bounding box损失函数和NMS非极大值抑制。在其网络结构中,CBS模块凭借其高效的特征融合策略、精妙的维度调控及创新的通道注意力机制,共同优化了模型在特征抽取方面的效能,确保了运算效率的高水平维持。SPPF模块有效地挖掘并集成多种尺度的特征,强化了模型的尺度不变性,显著提升了定位的准确性。同时,该模块确保了计算流程的优化,维持了模型运行的高效性。SPPF模块采用了一种先进的空间金字塔池化方法,从输入特征图的多种局部结构中提取出丰富的多级特征,通过在不同尺度级别上执行池化操作,该模块有效捕获了广泛的上下文信息,显著增强了模型对于目标尺寸变化的鲁棒适应能力。这些从多个尺度获取的特征随后被系统地整合为一个固定长度的特征向量,这一过程不仅保留了信息的全面性和内在一致性,而且促进了模型在目标识别与分类任务中达到更高的精确度。Concat模块主要功能是实现特征图的合并,旨在集成多元尺度的特征数据,较低层次的特征图蕴含丰富的局部特性与边界信息,而较高层次的特征图则包含了更深层次的语义含义,通过Concatenation操作,模型得以同步利用这两种信息源,从而强化对目标对象的探测与定位功能。特征融合这一策略不仅扩大了网络的感知范围,还深化了特征表达的多样性,使模型能够掌握更为复杂的特征模式。Upsample模块主要功能是通过上采样放大特征图的尺寸,在深度学习网络的运行过程中,下采样步骤常引起特征图的分辨率下降,而Upsample模块通过采用诸如插值等复原技术,旨在恢复特征图的原有空间分辨率,进而保全其丰富的细节信息和空间结构。这一机制对于确保模型能有效捕捉和解析高分辨率的图像特性是必不可少的。C2f模块旨在整合浅层与深层的特征映射,其中浅层特征富含细腻的空间信息,而深层特征则蕴含更为抽象的语义内容,这一融合策略促使模型全面覆盖从细微局部构造到广泛场景语境的识别需求,增强了模型的语义理解和定位能力。Conv2d模块主要功能是通过特征提取和信息处理,为模型提供了识别和定位目标所需的关键特征。Box Loss模块充当了训练过程中的核心反馈组件,它有效地引导模型持续学习并优化对边界框预测的精度,从而促进更精确的目标检测能力的提升。YOLOv8按照网络模型的大小分为YOLOv8n、YOLOv8s、YOLOv8m、YOLOv8l和YOLOv8x五种模型[15],考虑到实际需求,本研究选用YOLOv8s作为基础模型,在颈部结构网络加入CBAM注意力机制模块,增强网络模型对重要特征的提取,抑制不重要特征[16]CBAM-YOLOv8网络结构见图1。
1. 3 CBAM注意力机制
CBAM注意力机制通过在通道与空间2个维度上压缩输入特征图,从而识别出通道和空间中的关键特征,并赋予这些特征更高的注意力权重。这样做能够加速识别输入特征图中的目标区域,并更有效地抽取重要特征[17]。首先,对经过通道注意力模块处理的特征图执行最大池化和平均池化,以获得每个通道的最大和平均值。随后,这些值被合并后送入一个全连接层,以产生代表每个像素空间权重的向量。通过将这个空间权重向量与调整后的特征图进行相乘,生成最终的空间注意力调整特征图。此方法有效提升了对不同像素空间重要性的识别能力,增强了特征的描述力[18],CBAM网络结构见图2。
1. 4 透视变换
透视变换作为一种图像处理技术,它涉及将图像映射到1个新的视觉平面,这种变换的主要目的是解决实际中直线在图像中可能出现倾斜的问题。通过执行透视变换将这些看似倾斜的线条校正为直线条,从而恢复或创造一种平行性,透视变换可能会改变原有图像的尺寸和比例,以确保符合新的视图角度。通过透视变换可将目标区域处于水平状态,去除四周背景,模型处理更少的像素[19]。通用的透视变换公式见式(1)—(3)。
X a11 a12 a éxùéêê ùúú éêê 13ùúúêê úú式中:(X,Y,Z)为原图像像素点的齐次坐标点,将图片由三维降至二维,处理为二维图像时Z'=1,得到透视变换后图像像素点的归一化齐次坐标点为(X',Y',Z')。
2 数据集构建
2. 1 数据集的收集
采用2台参数不同的照相机,主要在3个指定拍摄点,采集了河北工程大学新校区内道路积水的图像,为考虑训练样本的多样性,采集的积水图像是在不同季节、不同天气、不同时间、不同路况拍摄,相机1参数为4 800万像素、24 mm焦距,相机2参数为1 200万像素、13 mm焦距,拍摄的积水图像分辨率为5 712像素×4 284像素和1 R40xG13xZWxXUKXO1zP5GPmzdbAwq4dLGlUscV0ENtk=702像素×1 276像素,2台相机拍摄的积水图像见图3。共收集3 000张不同环境条件下的积水图像,经过人工精细挑选,去除掉质量较低的图像,共筛选出在春、夏、秋、冬4个季节,晴天、阴天和雨天3种天气条件下,上午、下午和傍晚3个时间段,不同路段条件下的1 000张积水图像。
2. 2 数据预处理
训练前对深度学习的数据集进行数据增强,扩充数据集,避免数据集过少造成过拟合现象,同时提升模型鲁棒性,提高模型泛化能力[4]。数据扩充方法有随机裁剪、角度变换及彩色转换等,为增加数据多样性,考虑到不同方位和光照强度的影响,采用上下翻转、左右翻转、镜像翻转、直方图均衡化、添加高斯噪声和缩放将初始数据集扩充至4 000张,其中由初始数据集中前500张图像分别进行上下翻转、左右翻转、镜面翻转(图4a)得到1 500张,初始数据集中后500张分别进行直方图均衡化,添加高斯噪声和缩放(图4b)等操作得到1 500张,为加快训练速度,将图像统一尺寸为640像素×640像素,此操作并不会影响模型识别精度[20]。数据增强后,将4 000张道路积水照片随机在文件夹内排列,按6∶1∶1的比例分为训练集、验证集和测试集,其中3 000张作为训练集,500张作为验证集,500张作为测试集。
2. 3 数据集的标注
采用Labelimg标注工具标注数据集,每张图片都有其对应的标签文件,标签格式为“. txt”,文件信息包含了类别、中心点的x、y坐标,目标框的w和h。本研究中只有一个识别种类,标签为“ponding”。考虑到数据集数量庞大,先采用手动标注1 000张,手动制作标签文件见图5,训练出权重模型文件,用于生成其他未标注图像的标签文件,并进行人工检验,修正错误的标签文件,利用半自动标注完成数据集的标注。
3 模型训练
数据预处理后进行模型训练,硬件配置为:中央处理器为AMD Ryzen Threadripper 3970X、GPU为RTX2080Ti×4,运行环境为Linux系统,CUDA 10. 2和Tensorflow等深度学习框架,基于添加CBAM注意力机制的YOlOv8算法训练模型权重文件。经多次参数调整和训练,最终设置的模型参数为:初始学习率为0. 01,批尺寸为16,模型训练了180个epoch。
本实验采用精确率Pression、召回率Recall和均值平均率mAP作为评价指标,见式(4)—(6)。
式中:TP、FP和FN分别为正确检测出的道路积水数目、错误检出的道路积水数目以及未被正确检出的道路积水数目;Precission为识别出的正确正样本数占所有被识别为正样本的样本数的比例;Recall为模型识别出的正样本数占真实正样本数的比例;AP为单类别平均检测精度;mAP为各类别AP的平均值,表示所有目标类别的平均检测性能[21]。
在相同的模型参数条件下,分别以CBAM- YOLOv8模型和YOLOv8模型进行训练,模型训练后的精确率Pression、召回率Recall和均值平均率mAP结果见图6—8。
由图6—8可以看出,CBAM-YOLOv8模型和YOLOv8模型在相同模型参数条件下,CBAM-YOLOv8模型在精确率、召回率、均值平均率3项评价指标上均优于YOLOv8模型,其中,CBAM-YOLOv8模型精确率较YOLOv8模型高出约5%。CBAM-YOLOv8模型的精确率变化曲线在前60轮曲线整体呈上升趋势,且增长幅度较快,之后开始震荡并呈现整体缓慢增长,在第120轮达到峰值0. 942 1,从120轮之后开始曲线在0. 92左右震荡,之后曲线出现收敛,收敛后的精确率为0. 938 3。CBAM-YOLOv8模型的召回率变化曲线整体呈上升趋势,在前100轮增长幅度较快,之后增长幅度减缓,在第160轮达到峰值0. 895 9,之后曲线出现收敛。CBAM-YOLOv8模型的均值平均率变化曲线在前60轮曲线整体呈上升趋势,且增长幅度较快,之后开始震荡并呈现整体缓慢增长,在第135轮达到峰值0. 943 3,之后曲线出现收敛。从上述分析可以得出,使用添加了CBAM注意力机制的YOLOv8网络结构训练得到的模型,在精确率、召回率和均值平均精度这3个关键评价指标上都表现出优于标准YOLOv8网络模型的性能。此外,该模型还展现出较好的鲁棒性,因此能够更好地适应实际监控场景的需求。
4 结果与分析
模型训练完成并达到精度后,可调用模型对积水图像进行识别(图9),对于垂直方向拍摄的图像(图9a、9c)可直接进行识别,并进行面积提取。对非垂直方向拍摄的图像(图9b),经透视变换[22]后,再进行范围识别和面积提取(图10)。
由图9和图10可知,对检测区域1内垂直方向拍摄的图像a可直接进行识别,识别置信度为0. 95,识别积水区域面积为1 661. 81 cm2;对监测区域2内非垂直方向拍摄的图像b,图像需要经过透视变换后再进行识别,透视变换后的图像每个像素点会按照指定的变换规则进行重新定位[23],故图像形状会发生变化,在深度学习中,图像形状的变化会影响置信度;对存在多处积水区域的图像c,会识别图像内多处积水区域,并计算图像内实际积水面积之和。
在测试集中,图像尺寸均为640像素×640像素,图像固定像素值面积N为 409 600像素,输出中会计算左上角和右下角像素点坐标,可计算识别框内像素值面积n,已知固定视角下图像真实面积为A cm2,可根据摄影测量原理[24](式7)计算识别框内的真实面积a cm2,计算结果见表1。
由表1分析可知,由于积水区域形状不规则,矩形识别框会框选出部分非积水区域,出现3个检测区域内识别积水面积大于实际积水面积的情况,检测区域1、2、3图像实际积水面积分别为1 551. 63 、420. 67 、1 268. 95 cm2,识别积水面积与实测面积之间存在误差,在进行积水面积计算的500张测试集积水图像中,误差均低于10%,且误差在允许范围内,满足基本监测需求。
5 总结
对1 000张河北工程大学新校区采集的积水图像进行6种方式的数据增强,扩充数据集,基于添加CBAM注意力机制的YOLOv8模型和未添加注意力机制的YOLOv8模型做训练,通过生成的模型权重文件对道路积水进行识别,精确率高达93. 83%,CBAM-YOLOv8模型的评价指标均优于未添加注意力机制的模型,CBAM-YOLOv8模型精确率较YOLOv8模型高出约5%,提高了模型识别的准确率。通过透视变换和像素值关系计算并输出识别区域积水面积,为智慧水利系统提供技术支持,为城市内涝积水监测提供经验和参考。
参考文献:
[1]黄泽群,陈唯天,黎跃勇,等.基于DRIVE-Urban模型的长沙市区暴雨内涝灾害研究[J].灾害学,2024,39(1):104-108,134.
[2]国家防汛抗旱总指挥部,中华人民共和国水利部.中国水旱灾害公报[M]. 北京:中国地图出版社,2021.
[3]侯精明.深度学习技术在城市内涝监测中的应用[J].中国防汛抗旱,2019,29(8):8.
[4]廖宇鸿,黄国如.基于深度学习和椭圆检测的城市道路积水深度监测方法研究[J].人民珠江,2023,44(6):1-8,17.
[5]崔齐,王杰,汪闽,等.矢量约束的面向对象高分遥感影像水体提取[J].遥感信息,2018,33(4):115-121.
[6]白岗岗,侯精明,韩浩,等.基于深度学习的道路积水智能监测方法[J].水资源保护,2021,37(5):75-80.
[7]胡昊,李擎,马鑫,等.基于影像的道路积水监测研究[J].华北水利水电大学学报(自然科学版),2023,44(1):62-70.
[8]HUBEL D H, WIESEL T N. Receptive fields binocularinteraction, and functional architecture in the cat's visual cortex[J]. Journal of Physiology,1962,160(1):106-154.
[9] FUKUSHIMA K. Neocognitron: A self-organizing neural networkmodel for a mechanism of pattern recognition unaffected by shift in position[J]. Biological Cybernetics,1980(36): 193-202.
[10]LECUN Y, BOTTOU L,BENGIO Y,et al. Gradient-basedlearning applied to document recognition[C]// Proceedings of the IEEE,1998,86(11):2278 - 2324.
[11]王琳,赵耀,余静华,等.深度卷积神经网络在计算机视觉中的应用研究综述[J].农村经济与科技,2017,28(14):295.
[12]王建荣,邓黎明,程伟,等.基于CNN-LSTM-SE的心电图分类算法研究[J].测试技术学报,2024,38(3):264-273.
[13]尹晶,胡永祥.基于改进YOLOv8的道路表面缺陷检测[J].价值工程,2024,43(9):140-143.
[14]胡欣,常娅姝,秦皓,等.基于改进YOLOv8和GMM图像点集匹配的双目测距方法[J].图学学报,2024,45(4):714-725.
[15]JOCHER G. Ultralytics YOLOv8[EB/OL]. https://github. com/ultralytics/ultralytics,2023.
[16]义凯.基于优化YOLOv5s的道路场景车辆检测算法研究[J].机械工程与自动化,2024(2):15-17.
[17]陈义啸,沈景凤,仲梁维.基于改进YOLOv8的森林火灾检测算法研究[J].软件工程,2024,27(2):49-54.
[18]SHORTEN C,KHOSHGOFTAAR T M. A survey on Image Data Augmentation for Deep Learning[J]. Journal of Big Data ,2019(6).
DOI:10. 1186/s40537-019-0197-0.
[19]黄杨乐天,刘宜胜,王俊茹.基于改进YOLOv5s的药盒钢印日期识别方法[J].包装工程,2024,45(7):189-196.
[20]张昭旭. CNN深度学习模型用于表情特征提取方法探究[J].现代计算机(专业版),2016,(3):41-44.
[21]汤林东,云利军,罗瑞林,等.基于改进YOLOv5s的复杂道路交通目标检测算法[J].郑州大学学报(工学版),2024,45(3):64-71.
[22]YU J, GAO N,MENG Z Z,et al. High-accuracy projector calibration method for fringe projection profilometry considering perspective transformation[J]. Optics Express,2021,29(10):15053-15066.
[23]于涛.基于透视变换和SNc-YOLOv5的大块煤识别方法应用[J].西安科技大学学报,2024,44(1):54-63.
[24]白岗岗.基于深度学习的城市积涝边界与水位智慧测量方法研究[D].西安:西安理工大学,2021.