一种基于数据挖掘和深度学习的道路积水区域识别方法
未命名
07-22
阅读:96
评论:0
1.本发明涉及应用领域为城市内涝监测领域,尤其涉及一种基于数据挖掘和深度学习技术的道路积水区域识别方法。
背景技术:
2.近年来,在气候变化大背景下,城市化进程不断加快,受到城市建设和人类生活的影响,城市暴雨内涝灾害频繁发生,不仅对居民的日常生活和工作造成严重影响,而且造成严重的社会公共财产损失。为便于有关部门开展城市内涝的应急救援和灾害应急管理工作,并尽可能地减少城市暴雨内涝造成的生命安全和财产安全危害,亟需对城市内涝积水进行实时监测,提高应对城市暴雨洪涝灾害的应急管理能力,减少损失。而传统的人工或仪器监测方法不仅需要大量耗费人力物力财力,而且具有难以做到实时快速监测,仪器设备价格昂贵,易受外部环境影响,稳定性不足等问题。为此,需要寻求一种新型的内涝实时监测的技术方法。
3.深度学习作为一个新兴研究领域在近年备受瞩目,rcnn模型和yolo模型的诞生,展现出了深度学习技术在计算机视觉领域的特征提取和模拟优化方面独特的优势,2017年he等(he k,gkioxari g,doll
á
r p,et al.mask r-cnn[c]//proceedings of the ieee international conference on computer vision.2017:2961-2969.)提出了mask rcnn目标检测网络模型,更是为城市内涝的监测提供了新的技术思路。对于深度学习在城市内涝监测中的应用,目前已有学者进行研究,如白岗岗等(白岗岗,侯精明,韩浩等.基于深度学习的道路积水智能监测方法[j].水资源保护,2021,37(05):75-80.)探索了使用yolov2网络模型进行积水区域的自动识别和积水面积的提取;jafari等(jafari n h,li x,chen q,et al.real-time water level monitoring using live cameras and computer vision techniques[j].computers&geosciences,2021,147:104642.)使用交通摄像头获取的城市水文图像,对基于深度学习的图像分割模型进行了训练,成功区分了暴雨积水和局部洪水的图像区域。然而,以上研究的图像来源依赖于固定的监控摄像头,存在数据来源单一、积水场景多样性差等局限,并且多个摄像头的布置也造成了图像获取难度增加、设备成本高等问题。
[0004]
互联网的迅猛发展,使得网络大数据的提取和挖掘开始成为数据获取的新趋势。目前国内已有学者利用微博文本大数据开展内涝灾害相关研究,如吴先华等(吴先华,肖杨,王国复等.基于微博大数据的城市内涝灾害的灾情及公众情绪研究——以南京市为例[j].灾害学,2018,33(03):117-122.)提出了一种基于微博大数据进行城市内涝灾害的灾情等级判别以及公众舆情研究的技术方法。但目前网络图像应用的相关研究仍相对较少,结合网络大数据以及深度学习技术的城市内涝监测技术研究仍是值得深入探索的方向之一。基于此提出一种基于数据挖掘和深度学习的道路积水区域识别方法,这对内涝灾情应急管理工作的有序开展,提高相关部门以及民众应对突发城市内涝灾害事件的能力,减少城市内涝造成的财产损失和人员伤亡具有重要意义。
技术实现要素:
[0005]
为解决传统城市内涝监测方式大量耗费人力物力财力、实时性差、稳定性不足,以及现有深度学习内涝检测技术方法图像数据来源单一、数据获取困难等问题,本发明的目的是提供一种基于数据挖掘和深度学习的道路积水区域识别方法,通过充分利用大数据和大众媒体平台作为数据获取渠道,采用深度学习图像识别技术解决城市内涝的实时化、快速化监测问题。
[0006]
本发明的目的至少通过如下技术方案之一实现。
[0007]
一种基于数据挖掘和深度学习的道路积水区域识别方法,包括如下步骤:
[0008]
s1、通过网络爬虫和数据挖掘技术,从互联网大数据平台获取城市内涝积水图像,构建积水图像数据库,并通过筛选建立初始积水图像数据集;
[0009]
s2、对初始积水图像数据集中的图像进行预处理,并对数据集中可见的积水范围进行边界描绘和标签制作;
[0010]
s3、利用图像处理算法,同时对图像和标签进行数据增强,扩充数据集,并将标注后的数据集划分为训练集和测试集,转换为神经网络模型可读取的数据集格式;
[0011]
s4、利用k-means聚类算法,对训练集的目标边框进行聚类,自动生成一组更加适合自定义数据集的anchor框,在模型配置文件中调整anchor的尺寸和长宽比;
[0012]
s5、将经过标记后的训练集和验证集输入到mask rcnn实例分割模型进行学习,并评估训练完成后神经网络模型的积水检测性能,通过调整神经网络模型训练参数反复进行训练,直到模型训练效果达到最优即完成模型训练,得到最终模型训练权重文件;
[0013]
s6、基于s5中训练好的权重文件,将测试图像或视频输入检测项目中,对图像积水特征进行提取,得到积水范围检测识别结果。
[0014]
进一步地,步骤s1中,所述互联网大数据平台包括网络社交媒体和众包数据平台;
[0015]
制定信息检索关键词,如选取较为宽泛的“内涝”“道路积水”“暴雨”等关键词,或选择特定的降雨场次作为检索范围,然后利用网络爬虫和数据挖掘技术,通过关键词检索从互联网大数据平台获取城市道路积水图像以及相关的位置时间信息,下载到本地数据库进行存放和整理。从图像数据库中对内涝积水图像进行筛选和提取,构成初始的城市道路积水图像数据集。
[0016]
进一步地,步骤s2中,包括以下步骤:
[0017]
s2.1、利用opencv计算机视觉图像处理库,对初始积水图像进行图像操作,包括裁剪、尺寸扩大或缩放,将其调整为统一分辨率,以方便后续的图像处理和数据标签制作;
[0018]
s2.2、使用labelme数据标注软件进行积水区域特征提取,将图像导入labelme中,选择创建多边形开始进行标注,对图像中可见的积水目标通过依次描点进行边界轮廓勾画和连线,最终首尾相连生成刚好囊括积水区域的封闭多边形,通过对生成的封闭多边形赋予分类标签信息,从而为每个图像创建对应的labelme格式的json标签文件。
[0019]
进一步地,步骤s3中,通过使用opencv库中的图像处理算法和augmentor语义分割数据增强方法,生成新的积水图像,实现图像数据集的数据增强,以提高数据集的多样性和泛化能力;
[0020]
图像处理的方法包括颜色变换类方法和几何变换类方法,颜色变换类方法包括调整对比度、更改亮度、rgb数值修改、添加噪点、背景区域涂黑或替换;几何变换类方法包括
对图像进行放大或缩小、尺度变换、平移图像、翻转、旋转;
[0021]
同时对步骤s2中生成的图像标签进行相应的变换增强处理:若仅进行颜色变换类的数据增强,而不涉及几何位置变换,则标签位置信息保持不变;若有进行几何变换类的数据增强,则标签也需随图像变换进行对应的位置变化,具体如下:
[0022]
通过对标签文件中标记点的位置进行对应于图像变换方法的坐标位置变换,或对标签文件转化的掩膜图像运用数据增强方法进行相应的变换处理,从而生成对应新图像的标签,实现数据集图像数量的成倍扩充;
[0023]
通过数据增强生成更多的图像数据后,需要将经过信息标注的所有图像以及相对应的标签按照比例划分为训练集和测试集,并利用数据集格式转化工具将训练集和测试集图像对应的所有标签批量进行转化,以被目标检测框架所读取并进一步使用。
[0024]
进一步地,步骤s4中,配置深度学习图像识别的基本环境并安装目标检测框架,随后利用k-means聚类算法,对训练集中的标记好的目标边框进行聚类;通过调整k值,将边框样本聚类成k个簇,从而发现最佳的anchor框的数量和尺寸,并将对应anchor的长宽比输入到目标检测模型配置文件中。
[0025]
进一步地,步骤s4中,进行k-means聚类计算anchor框的算法流程为:
[0026]
(1)选取聚类的个数k;
[0027]
(2)随机选取k个聚类box,作为初始anchor box;
[0028]
(3)使用iou值作为度量,计算每个anchor box与每个目标边框的iou值;iou值为anchor box与目标边框的交并比,取值范围为[0,1];计算iou时,假设所有box的左上顶点都在原点,并假设anchor尺寸大小为(wa,ha),边框尺寸大小为(wb,hb),则
[0029][0030]
由于在图像识别中iou值越大越好,为了使度量值越小相似度越大,这里定义一个距离参数d,从而将每个目标边框分配给与其距离参数d误差最小的anchor,距离参数d取为:
[0031]
d=1-iou
[0032]
式中,wa和ha分别为anchorbox的底和高,wb和hb分别为目标边框的底和高,iou为anchor box与目标边框的交并比。
[0033]
(4)计算每个簇中所有目标边框底和高的中值或均值大小,重新计算聚类新中心,将其作为新的anchor box尺寸,更新anchor;
[0034]
(5)重复以上步骤,直到anchor不再变化,满足收敛要求,或者达到了最大迭代次数。
[0035]
进一步地,步骤s5中,根据自身训练要求和配置条件选择神经网络模型及其配置文件,并从网络上下载需要使用的模型预训练权重文件;
[0036]
在训练神经网络模型中注册训练集和测试集的路径和种类,定义主要的训练参数信息,包括基础学习率、学习率衰减、每批次样本数大小、迭代次数、训练周期数,开始进行神经网络训练;
[0037]
训练完成后评估神经网络模型的积水学习检测效果,并进一步通过调整多种神经
网络模型参数,反复多次进行训练,直到模型训练效果达到最优即完成训练,并生成最终的模型训练权重文件。
[0038]
进一步地,步骤s6中,创建检测项目文件,写入检测目标的类别信息和模型推理置信度阈值,模型权重文件加载步骤s5中训练好的权重文件。通过在终端中输入命令进行多种输入数据来源的积水区域检测识别,模型将进行推理并绘制出推理得分高于置信度阈值的区域对应的预测框和掩膜,从而输出具有积水范围掩膜的图像或视频,将预测结果可视化。
[0039]
进一步地,所述多种输入数据来源包括图像、视频或网络监控摄像头。
[0040]
本发明的有益效果在于:
[0041]
1.通过从网络社交媒体等网络平台大数据获取内涝积水图像,有效降低了图像、视频数据的获取难度,实现了低成本获取海量图像数据,拓宽了图像数据获取的渠道,提高了数据集的泛化能力。
[0042]
2.利用数据增强的方式对数据集进行扩充,通过将图像与标签同时进行增广,不需要对海量数据集进行一一分别标注,从而大大减少了图像数据标注的工作量,显著提高了数据集制作的工作效率。
[0043]
3.通过采用深度学习图像识别技术,不需耗费大量的人力物力财力进行人工监测,通过远程终端操作即可对内涝点进行实时监测,从而实现监控现场内涝积水的特征和边界信息的自动提取,快速识别积水边界和积水区域。
附图说明
[0044]
图1是一种基于数据挖掘和深度学习的道路积水区域识别方法的示意图;
[0045]
图2是本发明实施例中基于深度学习mask rcnn算法的积水范围提取流程示意图;
[0046]
图3为本发明实施例中进行k-means聚类计算anchor框的算法流程图。
具体实施方式
[0047]
以下结合具体实施方式和附图,对本发明的具体实施方案作进一步说明。下面参考的附图仅是示例性质的,本发明的实施方式不限于此。
[0048]
实施例1:
[0049]
一种基于数据挖掘和深度学习的道路积水区域识别方法,如图1所示,包括如下步骤:
[0050]
s1、通过网络爬虫和数据挖掘技术,从互联网大数据平台获取城市内涝积水图像,构建积水图像数据库,并通过筛选建立初始积水图像数据集;
[0051]
所述互联网大数据平台包括网络社交媒体和众包数据平台;
[0052]
本实施例中,制定信息检索关键词,如“道路积水”“水浸”“内涝”等类似的用于形容城市内涝积水事件的词汇,也可具体到如“广州5
·
22特大暴雨”等某场特定的降雨事件,利用网络爬虫和数据挖掘技术,通过关键词检索从互联网大数据平台获取城市道路积水图像以及相关的位置时间信息,下载到本地数据库进行存放和整理。从图像数据库中对内涝积水图像进行筛选和提取,构成初始的城市道路积水图像数据集。
[0053]
s2、对初始积水图像数据集中的图像进行预处理,并对数据集中可见的积水范围
进行边界描绘和标签制作,包括以下步骤:
[0054]
s2.1、利用opencv计算机视觉图像处理库,对初始积水图像进行图像操作,包括裁剪、尺寸扩大或缩放,将其调整为统一分辨率,以方便后续的图像处理和数据标签制作;
[0055]
s2.2、使用labelme数据标注软件进行积水区域特征提取,将图像导入labelme中,选择创建多边形开始进行标注,对图像中可见的积水目标通过依次描点进行边界轮廓勾画和连线,最终首尾相连生成刚好囊括积水区域的封闭多边形,通过对生成的封闭多边形赋予分类标签信息,从而为每个图像创建对应的labelme格式的json标签文件。
[0056]
本实施例中,在detectron2环境下实现,对数据集图像的大小规格并没有特别的规定要求,但一方面为了数据集制作过程中方便进行后续的数据增强和标签处理,另一方面也为了避免训练中占用内存空间过大导致程序运行报错,因而先对大分辨率图像的尺寸进行缩小,并将图像分辨率进行统一。可利用opencv计算机视觉图像处理库,对初始积水图像进行裁剪、尺寸缩放,将其统一调整为512*512分辨率,以方便后续的图像处理和数据标签制作。
[0057]
随后在labelme数据标注软件的使用中,通过创建多边形描绘图像中可见的积水边界,对生成的封闭多边形赋予“water”标签信息以表示积水,每个图像生成对应的labelme格式的json文件。标注好图像后,可通过在终端中输入命令labelme_json_to_dataset《文件名》.json输出带标签掩膜的图像,并把json文件转换成标签信息数据。
[0058]
s3、利用图像处理算法,同时对图像和标签进行数据增强,扩充数据集,并将标注后的数据集划分为训练集和测试集,转换为神经网络模型可读取的数据集格式;
[0059]
对于深度学习来说。要想取得更好的模型识别效果,需要足够的训练数据进行训练,一般而言,数据集的数据量越是庞大,深度学习训练的效果也越好,但在很多实际项目中,往往难以找到数量充足的高质量数据来完成一个深度学习任务。解决这个问题的一个方法是数据增强,这是一种从现有的训练样本中生成新的训练样本的技术。对于有限的积水图像数据量,可以通过数据增强的方式,让有限的图像数据生成更多在计算机视角里不同、独特的新图像,从而增加训练样本的数量以及多样性,减少神经网络的过拟合,得到泛化能力更强的网络,且能更好地适应应用场景。
[0060]
本实施例中,通过使用opencv库中的图像处理算法和augmentor语义分割数据增强方法,生成新的积水图像,实现图像数据集的数据增强,以提高数据集的多样性和泛化能力;
[0061]
图像处理的方法包括颜色变换类方法和几何变换类方法,颜色变换类方法包括调整对比度、更改亮度、rgb数值修改、添加噪点、背景区域涂黑或替换;几何变换类方法包括对图像进行放大或缩小、尺度变换、平移图像、翻转、旋转;
[0062]
同时对步骤s2中生成的图像标签进行相应的变换增强处理:若仅进行颜色变换类的数据增强,而不涉及几何位置变换,则标签位置信息保持不变;若有进行几何变换类的数据增强,则标签也需随图像变换进行对应的位置变化,具体如下:
[0063]
通过对标签文件中标记点的位置进行对应于图像变换方法的坐标位置变换,或对标签文件转化的掩膜图像运用数据增强方法进行相应的变换处理,从而生成对应新图像的标签,实现数据集图像数量的成倍扩充;
[0064]
通过数据增强生成更多的图像数据后,需要将经过信息标注的所有图像以及相对
应的标签按照比例划分为训练集和测试集,并利用数据集格式转化工具将训练集和测试集图像对应的所有标签批量进行转化,以被目标检测框架所读取并进一步使用。
[0065]
本实施例中运用翻转、像素rgb数值变换、添加噪点、降低图片亮度、45
°
旋转、90
°
旋转以及图像等比例缩放等多种图像处理方式,从而生成了数倍于原图像的图片数量,有效地扩充了数据集,增加了数据的多样性。由于本实施例中所使用框架为detectron2,其运行所支持的数据集格式为coco格式,因而需要进行数据集格式转换。将经过信息标注的图像按7:3的比例划分为训练集和测试集,并利用数据集格式转化工具将labelme格式的标签转化为coco数据集格式,以进一步为开源目标检测框架detectron2所读取并使用。
[0066]
s4、利用k-means聚类算法,对训练集的目标边框进行聚类,自动生成一组更加适合自定义数据集的anchor框,在模型配置文件中调整anchor的尺寸和长宽比;
[0067]
配置深度学习图像识别的基本环境并安装目标检测框架,随后利用k-means聚类算法,对训练集中的标记好的目标边框进行聚类;通过调整k值,将边框样本聚类成k个簇,从而发现最佳的anchor框的数量和尺寸,并将对应anchor的长宽比输入到目标检测模型配置文件中。
[0068]
detectron2框架中anchor尺寸大小、长宽比等相关参数是经过人工设计的,在configs/base-rcnn-fpn.yaml中定义,其anchor长宽比值固定取为[0.5,1.0,2.0]。预设的anchor参数适用于常用的公共数据集,但不一定适合于自制的城市道路积水数据集,因而本实施例中通过利用k-means算法对积水图像训练集的box进行聚类。
[0069]
如图3所示,进行k-means聚类计算anchor框的算法流程为:
[0070]
(1)选取聚类的个数k;
[0071]
(2)随机选取k个聚类box,作为初始anchor box;
[0072]
(3)使用iou值作为度量,计算每个anchor box与每个目标边框的iou值;iou值为anchor box与目标边框的交并比,取值范围为[0,1];计算iou时,假设所有box的左上顶点都在原点,并假设anchor尺寸大小为(wa,ha),边框尺寸大小为(wb,hb),则
[0073][0074]
由于在图像识别中iou值越大越好,为了使度量值越小相似度越大,这里定义一个距离参数d,从而将每个目标边框分配给与其距离参数d误差最小的anchor,距离参数d取为:
[0075]
d=1-iou
[0076]
式中,wa和ha分别为anchorbox的底和高,wb和hb分别为目标边框的底和高,iou为anchor box与目标边框的交并比。
[0077]
(4)计算每个簇中所有目标边框底和高的中值或均值大小,重新计算聚类新中心,将其作为新的anchor box尺寸,更新anchor;
[0078]
(5)重复以上步骤,直到anchor不再变化,满足收敛要求,或者达到了最大迭代次数。
[0079]
本实施例中选取聚类个数k值为9,则通过k-means算法聚类运算,自动生成了9种适合于自制的城市道路积水数据集的anchor长宽比,分别为[0.6,0.7,0.9,1.0,1.2,1.3,
1.5,1.8,2.4],则根据k-means算法的聚类结果,将配置文件中anchor长宽比参数进行相应调整,尺寸大小则不做变更。
[0080]
s5、将经过标记后的训练集和验证集输入到mask rcnn神经网络模型进行学习,并评估训练完成后神经网络模型的积水检测性能,通过调整神经网络模型训练参数反复进行训练,直到模型训练效果达到最优即完成模型训练,得到最终模型训练权重文件;
[0081]
根据自身训练要求和配置条件选择神经网络模型及其配置文件,并从网络上下载需要使用的模型预训练权重文件;
[0082]
在训练神经网络模型中注册训练集和测试集的路径和种类,定义主要的训练参数信息,包括基础学习率、学习率衰减、每批次样本数大小、迭代次数、训练周期数,开始进行神经网络训练;
[0083]
训练完成后评估神经网络模型的积水检测效果,并进一步通过调整多种神经网络模型参数,反复多次进行训练,直到模型训练效果达到最优即完成训练,并生成最终的模型训练权重文件。
[0084]
本实施例中,利用mask rcnn神经网络模型进行积水范围的提取,其运行结构如图2所示,主要包括如下步骤:
[0085]
(1)输入图像数据集,网络模型会将输入图片首先送入到一个预训练好的特征提取主干网络,生成对应的特征图;
[0086]
(2)将经过特征提取后输出的特征图送入到区域候选网络中。该网络对特征图的每一个像素位置进行遍历并设定固定个数的anchor,经过一个3*3卷积之后,分别进入不同的分支,对应不同的1*1卷积,第一个卷积为定位层,输出anchor的4个坐标偏移,第二个卷积为分类层,进行物体分类,输出anchor的前后景概率。通过执行nms方法对重叠的anchor与目标边框的iou值进行判断,从而获得精炼后的候选roi区域;
[0087]
(3)对候选的roi区域执行roi align操作,使用双线性内插的方法计算单元采样点的坐标值,并将相应区域最大池化为固定尺寸的特征图,以便进行后续的分类和候选框回归操作;
[0088]
(4)对候选区域分别执行操作,通过一个全连接层实现目标物体的分类以及候选框的回归,同时在一个单独的mask分支里对每一个候选区域执行fcn全卷积操作生成mask,从而完成分割识别的任务。
[0089]
根据自身训练要求和配置条件选择模型及其配置文件,实施例1中主干网络选取50层resnet残差网络,特征提取网络为fpn特征金字塔网络,则选择“configs/coco-instancesegmentation/mask_rcnn_r_50_fpn_3x.yaml”配置文件,并从官方的model_zoo中下载需要使用的模型预训练权重文件。创建训练项目程序train.py,在程序中注册训练集和测试集的路径和种类。网络训练过程中输入数据集的训练集和测试集图像数量分别为5040张和2160张,mask rcnn神经网络中几个主要参数的配置信息如表1所示,学习率衰减设置在迭代步数达到21000次时,学习率变更为原来的0.1倍即0.001,根据自身计算机配置条件,定义每批次样本数为8,则完整的训练过程需进行5040*100/8=63000批次的学习和训练。通过训练,最终得到实施例1的定位准确率ap
bbox
为83.662%,分割准确率ap seg
为78.624%。
[0090]
表1mask rcnn神经网络参数配置
[0091][0092]
为了更好地阐述本说明书中提到的方法,此处补充另外3个实施例,通过对神经网络模型参数和模型的网络结构配置进行更改,对本发明的具体实施作进一步说明。
[0093]
实施例2在实施例1的基础上,对学习率衰减步数进行更改,设定在训练迭代步数达到31500次和50400次,即训练周期数达到50次和80次的时候,分别进行一次学习率的衰减,学习率衰减系数取为0.1,则在步数达到31500次和50400次时学习率分别变为0.001和0.0001;
[0094]
实施例3中训练主干网络更改为101层的resnet残差网络,特征提取网络保持为fpn特征金字塔网络,配置文件选择“configs/cocoinstancesegmentation/mask_rcnn_r_101_fpn_3x.yaml”,其余训练参数则与实施例1一致;
[0095]
实施例4通过改变k-means聚类算法中聚类个数k=5,自动生成5种anchor长宽比,分别为[0.7,1.0,1.2,1.5,2.0],mask rcnn神经网络结构与其余参数的配置与实施例1相同。
[0096]
根据四个实施例的配置进行训练,训练完成后评估神经网络模型的积水检测性能,四个实施例的模型性能对比如表2所示。
[0097]
表2四个实施例mask rcnn神经网络训练结果对比
[0098][0099]
对四个实施例进行对比可以看出,通过对模型参数和配置的更改,模型训练效果会有所差别。实施例3中仅通过更改主干网络配置,取得了四个实施例中最佳的训练结果,但整个训练过程所用的时间也会明显加长。为了取得更好的模型识别效果,后续需要进一步通过调整训练参数,反复多次进行训练,直到模型训练效果达到最优即完成训练,生成最终的模型训练权重文件model_final.pth。
[0100]
s6、基于s5中训练好的权重文件,将测试图像或视频输入检测项目中,对图像积水特征进行提取,得到积水范围检测识别结果;
[0101]
创建检测项目文件,写入检测目标的类别信息和模型推理置信度阈值,模型权重文件加载步骤s5中训练好的权重文件。通过在终端中输入命令进行多种输入数据来源的积水区域检测识别,模型将进行推理并绘制出推理得分高于置信度阈值的区域对应的预测框和掩膜,从而输出具有积水范围掩膜的图像或视频,将预测结果可视化。
[0102]
所述多种输入数据来源包括图像、视频或网络监控摄像头。
[0103]
本说明书中的四个实施例参照detectron2源代码中的demo/demo.py文件创建预测结果可视化程序predict.py,写入模型训练过程中train.py定义的数据集类别信息与模型阈值参数,模型权重文件加载s5中预训练好的model_final.pth权重文件。detectron2框架允许通过图像、视频或网络监控摄像头等多种输入来源进行目标物体的检测识别,将预测结果可视化并进行保存。使用
“‑‑
input”后加图像或文件路径,可以对图像或文件进行检测识别;使用
“‑‑
video-input”,可以对视频进行积水预测;使用
“‑‑
webcam”,则可在在网络摄像头上运行。
[0104]
实施例中,将需进行检测的图像放入detectron2根目录下创建的img/test文件夹中,通过在终端中输入命令“python predict.py
‑‑
input img/test
‑‑
output result”,即将test文件夹内的图像批量进行检测识别,并将识别的图像结果输出到result文件夹中。每张图像的识别速度由计算机配置决定,但一般低于1秒或在数秒间,具有非常快的检测速度,能够实现积水范围的快速识别,并可根据此方法深入进行相关软件与应用程序的拓展和开发。
[0105]
在本说明书叙述中提到的相同或类似的符号和标注,代表相同或近似的物理意义或具有相同或近似的功能,并且本说明书中所使用的图例,仅仅是为了更好地解释本发明,本发明的适用性并不限制于此。凡本领域的技术人员利用本发明的技术方案对上述实施例做出的任何等同的变动、修饰或演变等,均仍属于本发明技术方案的范围内。
[0106]
本发明为一种基于数据挖掘和深度学习的道路积水区域识别方法,根据说明书提供的示例及相关步骤,可用于对城市地区的内涝积水过程监测。本发明通过网络爬虫和数据挖掘技术将网络社交媒体和众包数据平台获取的网络图像作为数据源,有效利用了社会公众数据资源,降低了积水图像数据获取的难度,基于大数据实现了低成本获取海量图像数据;通过深度学习目标检测算法学习城市积水的特征信息,能够对积水范围快速、准确地检测识别,推动城市内涝监测过程的快速化、高效化、安全化,确保城市内涝监测过程中信息获取的实时性、有效性和准确性,为内涝灾情应急管理工作的有序开展和提高相关部门以及民众应对突发城市内涝灾害事件的能力提供一种有效途径和思路。
技术特征:
1.一种基于数据挖掘和深度学习的道路积水区域识别方法,其特征在于,包括如下步骤:s1、通过网络爬虫和数据挖掘技术,从互联网大数据平台获取城市内涝积水图像,构建积水图像数据库,并通过筛选建立初始积水图像数据集;s2、对初始积水图像数据集中的图像进行预处理,并对数据集中可见的积水范围进行边界描绘和标签制作;s3、利用图像处理算法,同时对图像和标签进行数据增强,扩充数据集,并将标注后的数据集划分为训练集和测试集,转换为神经网络模型可读取的数据集格式;s4、利用k-means聚类算法,对训练集的目标边框进行聚类,自动生成一组更加适合自定义数据集的anchor框,在模型配置文件中调整anchor的尺寸和长宽比;s5、将经过标记后的训练集和验证集输入到mask rcnn实例分割模型进行学习,并评估训练完成后神经网络模型的积水检测性能,通过调整神经网络模型训练参数反复进行训练,直到模型训练效果达到最优即完成模型训练,得到最终模型训练权重文件;s6、基于s5中训练好的权重文件,将测试图像或视频输入检测项目中,对图像积水特征进行提取,得到积水范围检测识别结果。2.根据权利要求1所述的一种基于数据挖掘和深度学习的道路积水区域识别方法,其特征在于,步骤s1中,所述互联网大数据平台包括网络社交媒体和众包数据平台;制定信息检索关键词,如选取较为宽泛的“内涝”、“道路积水”、“暴雨”等关键词,或选择特定的降雨场次作为检索范围,然后利用网络爬虫和数据挖掘技术,通过关键词检索从互联网大数据平台获取城市道路积水图像以及相关的位置时间信息,下载到本地数据库进行存放和整理;从图像数据库中对内涝积水图像进行筛选和提取,构成初始的城市道路积水图像数据集。3.根据权利要求1所述的一种基于数据挖掘和深度学习的道路积水区域识别方法,其特征在于,步骤s2中,具体包括如下内容:s2.1、利用opencv计算机视觉图像处理库,对初始积水图像进行图像操作,包括裁剪、尺寸扩大或缩放,将其调整为统一分辨率,以方便后续的图像处理和数据标签制作;s2.2、使用labelme数据标注软件进行积水区域特征提取,将图像导入labelme中,选择创建多边形开始进行标注,对图像中可见的积水目标通过依次描点进行边界轮廓勾画和连线,最终首尾相连生成刚好囊括积水区域的封闭多边形,通过对生成的封闭多边形赋予分类标签信息,从而为每个图像创建对应的labelme格式的json标签文件。4.根据权利要求1所述的一种基于数据挖掘和深度学习的道路积水区域识别方法,其特征在于,步骤s3中,通过使用opencv库中的图像处理算法和augmentor语义分割数据增强方法,生成新的积水图像,实现图像数据集的数据增强,以提高数据集的多样性和泛化能力;图像处理的方法包括颜色变换类方法和几何变换类方法,颜色变换类方法包括调整对比度、更改亮度、rgb数值修改、添加噪点、背景区域涂黑或替换;几何变换类方法包括对图像进行放大或缩小、尺度变换、平移图像、翻转、旋转;同时对步骤s2中生成的图像标签进行相应的变换增强处理:若仅进行颜色变换类的数据增强,而不涉及几何位置变换,则标签位置信息保持不变;若有进行几何变换类的数据增
强,则标签也需随图像变换进行对应的位置变化,具体如下:通过对标签文件中标记点的位置进行对应于图像变换方法的坐标位置变换,或对标签文件转化的掩膜图像运用数据增强方法进行相应的变换处理,从而生成对应新图像的标签,实现数据集图像数量的成倍扩充。5.根据权利要求1所述的一种基于数据挖掘和深度学习的道路积水区域识别方法,其特征在于,通过数据增强生成更多的图像数据后,需要将经过信息标注的所有图像以及相对应的标签按照比例划分为训练集和测试集,并利用数据集格式转化工具将训练集和测试集图像对应的所有标签批量进行转化,以被目标检测框架所读取并进一步使用。6.根据权利要求1所述的一种基于数据挖掘和深度学习的道路积水区域识别方法,其特征在于,步骤s4中,配置深度学习图像识别的基本环境并安装目标检测框架,随后利用k-means聚类算法,对训练集中的标记好的目标边框进行聚类;通过调整k值,将边框样本聚类成k个簇,从而发现最佳的anchor框的数量和尺寸,并将对应anchor的长宽比输入到目标检测模型配置文件中。7.根据权利要求6所述的一种基于数据挖掘和深度学习的道路积水区域识别方法,其特征在于,步骤s4中,进行k-means聚类计算anchor框的算法流程为:(1)选取聚类的个数k;(2)随机选取k个聚类box,作为初始anchor box;(3)使用iou值作为度量,计算每个anchor box与每个目标边框的iou值;iou值为anchor box与目标边框的交并比,取值范围为[0,1];计算iou时,假设所有box的左上顶点都在原点,并假设anchor尺寸大小为(w
a
,h
a
),边框尺寸大小为(w
b
,h
b
),则由于在图像识别中iou值越大越好,为了使度量值越小相似度越大,这里定义一个距离参数d,从而将每个目标边框分配给与其距离参数d误差最小的anchor,距离参数d取为:d=1-iou其中,w
a
和h
a
分别为anchorbox的底和高,w
b
和h
b
分别为目标边框的底和高,iou为anchor box与目标边框的交并比;(4)计算每个簇中所有目标边框底和高的中值或均值大小,重新计算聚类新中心,将其作为新的anchor box尺寸,更新anchor;(5)重复以上步骤,直到anchor不再变化,满足收敛要求,或者达到了最大迭代次数。8.根据权利要求1所述的一种基于数据挖掘和深度学习的道路积水区域识别方法,其特征在于,步骤s5中,根据自身训练要求和配置条件选择神经网络模型及其配置文件,并从网络上下载需要使用的模型预训练权重文件;在训练神经网络模型中注册训练集和测试集的路径和种类,定义主要的训练参数信息,包括基础学习率、学习率衰减、每批次样本数大小、迭代次数、训练周期数,开始进行神经网络训练;训练完成后评估神经网络模型的积水检测效果,并进一步通过调整多种神经网络模型参数,反复多次进行训练,直到模型训练效果达到最优即完成训练,并生成最终的模型训练
权重文件。9.根据权利要求1所述的一种基于数据挖掘和深度学习的道路积水区域识别方法,其特征在于,步骤s6中,创建检测项目文件,写入检测目标的类别信息和模型推理置信度阈值,模型权重文件加载步骤s5中训练好的权重文件;通过在终端中输入命令进行多种输入数据来源的积水区域检测识别,模型将进行推理并绘制出推理得分高于置信度阈值的区域对应的预测框和掩膜,从而输出具有积水范围掩膜的图像或视频,将预测结果可视化。10.根据权利要求9所述的一种基于数据挖掘和深度学习的道路积水区域识别方法,其特征在于,所述多种输入数据来源包括图像、视频或网络监控摄像头。
技术总结
本发明公开了一种基于数据挖掘和深度学习的道路积水区域识别方法。所述方法包括以下步骤:通过网络爬虫和数据挖掘技术,从互联网大数据平台获取城市道路内涝积水图像;对图像进行预处理,并对积水特征信息进行数据标签制作;采用图像处理算法和数据增强技术进行数据集扩充,生成大量的图像数据,并划分训练集和测试集;利用K-means聚类算法对训练集数据标签边框进行聚类,调整模型配置参数;基于深度学习Mask RCNN目标检测模型,对数据集中可见的积水范围进行学习训练,得到最终模型训练权重文件;通过对图像积水特征的提取和可视化预测,实现积水范围的检测识别。本发明拓宽了图像数据获取的渠道,大大降低了图像数据集构建的难度。的难度。的难度。
技术研发人员:黄国如 廖宇鸿 郑嘉璇
受保护的技术使用者:华南理工大学
技术研发日:2023.03.10
技术公布日:2023/7/20
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:数据同步脱敏方法及装置与流程 下一篇:一种英语教学用多功能教学板
