一种抗复杂场景干扰的井盖类别自动检测方法和系统与流程

文档序号:22879511发布日期:2020-11-10 17:37阅读:180来源:国知局
一种抗复杂场景干扰的井盖类别自动检测方法和系统与流程

本发明涉及深度学习、计算机智慧城市监控技术领域,具体涉及一种抗复杂场景干扰的井盖类别自动检测方法和系统。



背景技术:

随着城市交通系统的发展和车辆保有量的持续增加,道路交通安全越来越受到人们重视,井盖存在于城市中的大街小巷中,及时监控井盖的丢失、破损状态,有助于避免交通事故并减少伤害和死亡等危害。在对路面井盖损坏的调查方法中,有采用传统的人工检测方法,也即通过人力检查城市路面的每个井盖,记录并发现破损井盖的存在。这种方法不仅需要大量的人力物力,而且效率底下,难以及时发现、及时处理,有一定的延时性,人工检查也存在潜在的危险。

近些年来有很多针对井盖检测的方法,但大多数是基于传感器进行井盖检测的方法,这类方法成本较高,没有充分利用城市监控和算法进行检测。随着人工智能的发展,井盖的检测方法也逐渐转向通过监控视频完成井盖的自动化检测。有论文提出分布式控制的方法,利用红外线感知井盖的信息,能够准确探测井盖的状态;还有论文提出图像对比的方法进行检测,通过改进霍夫变换,计算破损井盖的大致范围,从而判断是否有破损或丢失的情况。以上算法虽然可以实现井盖的检测,但有些需要增加额外的硬件设施,同时这些算法远远达不到实时性,因此不能用于实际场景的井盖监控中。为了解决这些难题,可以用传统目标检测的经典方法来进行井盖的检测,比如sift角点、hog方向梯度直方图等,利用井盖的低维空间信息如边缘、颜色等进行检测。

在基于深度学习的目标检测方面,主要有两种思路。第一种是将检测目标转化为回归问题,这是一步解决的方法,也称为“one-step”方法,即一次性把类别和位置都预测出来;第二种是两步解决的方法,也称为“two-step”方法,即先通过区域提取算法把感兴趣区域roi提取出来,并对roi区域进行分类,同时并行检测roi区域中的目标位置,最后将分类结果和位置检测结合得出检测目标信息。城市井盖检测相较于普通的物体检测难点在于井盖分布于城市的各个街道,背景比较复杂,给井盖的检测带来了挑战;更主要的难点在于,井盖的下陷和破损程度比较微小,检测这种微小差别的井盖是目前目标检测的难点之一。



技术实现要素:

本发明针对现有井盖类别检测方法的效率低下,易出错和较高危险性,提供一种抗复杂场景干扰的井盖类别自动检测方法。

本发明还提供一种抗复杂场景干扰的井盖类别自动检测系统。

本发明的一种抗复杂场景干扰的井盖类别自动检测方法采用如下技术方案实现:

一种抗复杂场景干扰的井盖类别自动检测方法,包括以下步骤:

s1、图像收集与分类:从真实场景的监控视频中截取大量包含不同井盖类别的图片,生成多类别的井盖训练数据集和测试数据集;

s2、图像标注:为每个井盖类别指定类名,并对所有的井盖图像集进行标定得到记录井盖图片中井盖类别及其位置信息的xml文件;

s3、针对训练数据集的不同的方向、位置、缩放比例、亮度进行数据扩充,按照最佳的比例进行随机划分;

s4、采用resnet-101模型作为网络骨架,在resnet-101模型上添加一系列从大到小的卷积层、池化层和全连接层,用于预测图片中井盖的类别信息和位置信息,构建r-fcn井盖检测模型;

s5、通过输入训练数据集和模型预训练权值进行迭代训练得到最优的r-fcn井盖检测模型;

s6、将训练得到的最优的r-fcn井盖检测模型文件和网络结构描述文件共同打包,读取图像或视频,对图片或者视频进行识别得到图片或视频中井盖的类别和位置信息。

优选地,图像收集与分类步骤包括:

s11、收集监控场景下不同类别的井盖,初步划分为完整、破损和丢失三种类别;

s12、通过爬虫下载不同类别井盖相关图片,其中爬虫程序能够自动化剔除异常的图片;

s13、对下载的井盖相关图片进行二次筛选,剔除分辨率较低人眼难以分辨的图片,得到井盖图像集;

s14、基于井盖图像集生成多类别的训练数据集和测试数据集。

优选地,图像标注包括:

s21、下载labelimg并进行配置,其中labelimg是一款开源图像标签注释软件;

s22、为井盖类别指定类别名,选择通用的类别名,完整井盖命名为manhole,破损井盖命名为hole,丢失井盖命名为miss;

s23、使用labelimg工具对所有的井盖图片文件进行标定,标定出图片中出现的井盖信息,对每个井盖进行单独标定,要求标定框尽量只包含井盖像素,标定出井盖的类别和位置信息(xmin,ymin,xmax,ymax),生成xml文件,便于后期解析得到图片中井盖的类别及位置信息。

优选地,数据扩充包括步骤:

对训练数据集中所有图片进行对比度拉伸,对应的xml中的标注信息不变,将进行对比度拉伸的图片加入到新的训练数据集中;

对训练数据集中所有图片进行多尺度变化,同时对应的xml中的标注也根据尺度变化做相应的坐标改变,并将得到的数据加入到新的训练数据集中;

对训练数据集进行中心随机裁剪,同时对应的xml中的标注也根据尺度变化做相应的坐标改变,并将得到的数据加入到新的训练数据集中。

优选地,r-fcn井盖检测模型构建包括步骤:

s41、采用resnet-101作为模型的基本骨架,其中卷积层采用3x3大小的卷积核,而非原始resnet-101模型中的3x3和5x5的变化卷积核,采用3x3的卷积核把不同类别、具有微小变化井盖的低维和高维聚合到一起,形成井盖特征层,以便进行后续操作;

s42、修改r-fcn中的锚框,通过在井盖样本上进行聚类,只采用两种类型的锚框:正方形和矩形;接着采用修改后rpn网络对s41提取的井盖特征层进行感兴趣区域提取,主要是剔除无关干扰信息,关注井盖特征,特别是井盖下陷和破损这种微小的特征;

s43、对s41得到的井盖特征层进行卷积,得到位置信息敏感特征图,结合s42得到的感兴趣区域进行位置信息判决,得到位置信息判决图;

s44、将s43得到的位置信息判决图进行维度压缩,再用softmax函数进行判决,得到最后的井盖类别和位置信息。

优选地,r-fcn井盖检测模型训练包括:

resnet-101的权重采用预训练的方式;r-fcn井盖检测模型的优化方法采用adam算法。

优选地,s6中对视频进行识别得到视频中井盖的类别和位置信息的步骤包括:

提取监控视频中的每一帧作为输入图像;

将图像输入到训练好的r-fcn井盖检测模型中,通过前向传播,最后在softmax函数中得到最大的分数值,这个分数值代表每一类别的概率;同时通过前向传播,另一个分支的回归函数中会得到位置信息(x,y,w,h),分别代表位置的横坐标、纵坐标、宽和高;

根据得到的类别概率和位置信息,选取最大概率的下标,得到相应的井盖类别,配合位置信息便得到检测结果;

用opencv将对应的位置信息在原图绘制出来,并标明对应的井盖类别和置信度。

本发明的一种抗复杂场景干扰的井盖类别自动检测系统采用如下技术方案实现:

一种抗复杂场景干扰的井盖类别自动检测系统,包括:

图像收集与分类模块:用于从真实场景的监控视频中截取大量包含不同井盖类别的图片,生成多类别的井盖训练数据集和测试数据集;

图像标注模块:用于为每个井盖类别指定类名,并对所有的井盖图像集进行标定得到记录井盖图片中井盖类别及其位置信息的xml文件;

数据扩充模块,用于针对训练数据集的不同的方向、位置、缩放比例、亮度进行数据扩充,按照最佳的比例进行随机划分;

井盖检测模型模块:采用resnet-101模型作为网络骨架,在resnet-101模型上添加一系列从大到小的卷积层、池化层和全连接层,用于预测图片中井盖的类别信息和位置信息,构建r-fcn井盖检测模型;

模型优化模块,用于通过输入训练数据集和模型预训练权值对r-fcn井盖检测模型进行迭代训练得到最优的r-fcn井盖检测模型;

检测模块,用于将训练得到的最优的r-fcn井盖检测模型文件和网络结构描述文件共同打包成pythonsdk,采用opencv读取图像或视频,对图片或者视频进行识别得到图片或视频中井盖的类别和位置信息。

优选地,井盖检测模型模块包括:

井盖特征层提取模块,采用resnet-101作为模型的基本骨架,其中卷积层采用3x3大小的卷积核,而非原始resnet-101模型中的3x3和5x5的变化卷积核,采用3x3的卷积核把不同类别、具有微小变化井盖的低维和高维聚合到一起,形成井盖特征层,以便进行后续操作;

感兴趣区域提取模块,用于修改r-fcn中的锚框,通过在井盖样本上进行聚类,只采用两种类型的锚框:正方形和矩形;接着采用修改后rpn网络对提取的井盖特征层进行感兴趣区域提取,主要是剔除无关干扰信息,关注井盖特征,特别是井盖下陷和破损这种微小的特征;

位置信息判决模块,用于对井盖特征层进行卷积,得到位置信息敏感特征图,结合感兴趣区域进行位置信息判决,得到位置信息判决图;

将位置信息判决图进行维度压缩,再用softmax函数进行判决,得到最后的井盖类别和位置信息。

优选地,数据扩充模块包括:

对比度拉伸模块:用于对训练数据集中所有图片进行对比度拉伸,对应的xml中的标注信息不变,将进行对比度拉伸的图片加入到新的训练数据集中;

多尺度变化模块,用于对训练数据集中所有图片进行多尺度变化,同时对应的xml中的标注也根据尺度变化做相应的坐标改变,并将得到的数据加入到新的训练数据集中;

中心随机裁剪模块,用于对训练数据集进行中心随机裁剪,同时对应的xml中的标注也根据尺度变化做相应的坐标改变,并将得到的数据加入到新的训练数据集中。

本发明与现有技术相比,包括以下有益效果:

(1)基于现有监控设备就能自动化高准确率地识别井盖类别,能为监控系统提供可靠的井盖类别信息,及时发现城市存在的井盖安全隐患,从而为智慧城市监控与交通安全提供重要保障。

(2)使用基于深度学习的方法进行井盖破损的检测,省去了传统人工检查的人物物力消耗,更加高效地检测出井盖的破损,及时报警。

(3)相较于使用传感器等传统方法,本发明只需要摄像头,不需要额外的传感器等昂贵的配套设置,即可发挥同等甚至更高效的检测效果。

(4)结合井盖的实际情况,创新性地分为三种类别进行标注训练,检测的时候能够准确定位到井盖的位置,有效降低漏检率。

(5)通过分析大量井盖样本数据,在r-fcn提取特征阶段和定位阶段,创新性地修改了提取网络结构和锚框,能够有效提取特征和筛选井盖特征,提高检测准确率。

附图说明

图1为本发明一个实施例中抗复杂场景干扰的井盖类别自动检测方法整体流程图;

图2为本发明一个实施例中完整井盖类别检测结果;

图3为本发明一个实施例中含破损井盖类别检测结果;

图4为本发明一个实施例中含丢失井盖类别检测结果。

具体实施方式

下面将结合附图来详细说明本发明的具体实施方式,但本发明的实施方式并不限于此。

本发明从城市管理自动化的角度出发,采用二阶段方法和r-fcn网络模型进行井盖的检测,通过提取井盖的低维空间信息和特征,采用注意力机制,结合高维空间特征达到检测的目的;同时收集包括图片和视频的各种井盖数据并打好标注,然后把数据划分为井盖训练数据集,剩下的分为验证集和测试集。接着,把井盖的训练集作为训练样本,输入井盖的模型中,进行迭代;通过验证集的评价,及时进行参数调整,改变优化方向,最终得到一个趋向收敛的井盖检测模型,能够检测井盖的三种不同类别,实现准确率和实时性都较好的井盖检测系统。

实施例1

一种抗复杂场景干扰的井盖类别自动检测方法,包括以下步骤:

s1、图像收集与分类:从真实场景的监控视频中截取大量包含不同井盖类别的图片生成多类别的训练数据集和测试数据集。

具体地,图像收集与分类步骤包括:

s11、收集监控场景下不同类别的井盖,初步划分为完整、破损和丢失三种类别;

s12、通过爬虫下载不同类别井盖相关图片,其中爬虫程序能够自动化剔除异常的图片;

s13、对下载的井盖相关图片进行二次筛选,剔除分辨率较低人眼难以分辨的图片,得到井盖图像集;

s14、基于井盖图像集生成多类别的训练数据集和测试数据集。

s2、图像标注:为每个类别指定类名,并对所有的井盖图像集进行标定得到记录井盖图片中井盖类别及其位置信息的xml文件。

具体地,通过如下步骤进行图像标注:

s21、下载labelimg并进行配置,其中labelimg是一款开源图像标签注释软件,可以到https://github.com/tzutalin/labelimg下载。

s22、为井盖类别指定类别名,选择通用的类别名,完整井盖命名为manhole,破损井盖命名为hole,丢失井盖命名为miss。

s23、使用labelimg工具对所有的井盖图片文件进行标定,标定出图片中出现的井盖信息,对每个井盖进行单独标定,要求标定框尽量只包含井盖像素,标定出井盖的类别和位置信息(xmin,ymin,xmax,ymax),生成xml文件,便于后期解析得到图片中井盖类别及位置信息。

s3、针对训练数据集的不同的方向、位置、缩放比例、亮度等进行数据扩充,按照最佳的比例进行随机划分。

通过如下步骤进行数据扩充:

对训练数据集中所有图片进行对比度拉伸,对应的xml中的标注信息不变,将进行对比度拉伸的图片加入到新的训练数据集中;

对训练数据集中所有图片进行多尺度变化,同时对应的xml中的标注也根据尺度变化做相应的坐标改变,并将得到的数据加入到新的训练数据集中;

对训练数据集进行中心随机裁剪,同时对应的xml中的标注也根据尺度变化做相应的坐标改变,并将得到的数据加入到新的训练数据集中。

s4、采用resnet-101模型作为网络骨架,在该网络上添加一系列的从大到小的卷积层、池化层和全连接层,用于预测图片中井盖的类别信息和位置信息,构建r-fcn井盖检测模型。

通过如下步骤进行井盖检测模型构建:

s41、采用resnet-101作为模型的基本骨架,其中卷积层采用3x3大小的卷积核,而非原始resnet-101模型中的3x3和5x5的变化卷积核,这是因为井盖破损的程度比较微小,使用大的卷积核会损失微小的特征信息,而采用3x3的卷积核能够把不同类别、具有微小变化井盖的低维和高维聚合到一起,形成井盖特征层,以便进行后续操作;

s42、修改r-fcn中的锚框,相较于原本rpn网络中通过聚类来生成多种锚框,但是这些锚框是在imagenet大型数据集上聚类出来的,对于井盖下陷和破损这种微小类别没有帮助,甚至会忽略这种微小差别,通过对比实验,最终本发明通过在井盖样本上进行聚类,只采用两种类型的锚框:正方形和矩形。接着采用修改后rpn网络对s41提取的井盖特征层进行感兴趣区域提取,主要是剔除无关干扰信息,关注井盖特征,特别是井盖下陷和破损这种微小的特征;

s43、对s41得到的井盖特征层进行卷积,得到位置信息敏感特征图,结合s42得到的感兴趣区域进行位置信息判决;

s44、将s43得到的位置信息判决图进行维度压缩,再用softmax函数进行判决,得到最后的井盖类别和位置信息。具体包括:完整井盖的坐标信息、破损的坐标信息(如果破损的话)、丢失井盖的坐标信息(如果丢失的话),以及对应的类别信息。

s5、通过输入训练数据集和模型预训练权值进行迭代得到最优的r-fcn井盖检测模型。

通过如下步骤进行r-fcn井盖检测模型训练:

resnet-101的权重采用预训练的方式,具体方法是在大型数据集中进行预训练,本实施例中,采用的数据集为imagenet。

模型的优化方法采用adam算法,算法的优化公式为:

mt=β1mt-1+(1-β1)gt

梯度更新规则如下:

其中,mt和mt-1分别代表t和t-1时刻的动量,vt和vt-1分别代表t和t-1时刻的速度,gt代表t时刻的加速度,β1和β2是设定的超参数,η是设定的学习率,一般设置为0.0001到0.001之间,为mt的修正值,为vt的修正值。

本实施例中,在设置β1=0.9的前提下,β2设置为0.999,∈设为10e-8,优化的速度更快,优化时间更短。

采用上述优化算法进行模型迭代,迭代至20000次停止训练,保存训练好的r-fcn井盖检测模型。

s6、将训练得到的井盖检测模型文件和网络结构描述文件共同打包成pythonsdk,采用opencv读取图像或视频,对图片或者视频识别得到图片中井盖的类别和位置信息。

通过如下步骤进行井盖类别和位置信息的检测:

提取监控视频中的每一帧作为输入图像;

将图像输入到训练好的井盖检测模型中,通过前向传播,最后在softmax函数中得到最大的分数值,这个分数值代表每一类的概率;同时通过前向传播,另一个分支的回归函数中会得到位置信息(x,y,w,h),分别代表位置的横坐标、纵坐标、宽和高;

根据前一步得到的类别概率和位置信息,选取最大概率的下标,得到相应的井盖类别,配合位置信息便得到检测结果;

用opencv将对应的位置信息在原图绘制出来,并标明对应的井盖类别和置信度。

实施例2

一种抗复杂场景干扰的井盖类别自动检测系统,包括:

图像收集与分类模块:用于从真实场景的监控视频中截取大量包含不同井盖类别的图片,生成多类别的井盖训练数据集和测试数据集;

图像标注模块:用于为每个井盖类别指定类名,并对所有的井盖图像集进行标定得到记录井盖图片中井盖类别及其位置信息的xml文件;

数据扩充模块,用于针对训练数据集的不同的方向、位置、缩放比例、亮度进行数据扩充,按照最佳的比例进行随机划分;

井盖检测模型模块:采用resnet-101模型作为网络骨架,在resnet-101模型上添加一系列从大到小的卷积层、池化层和全连接层,用于预测图片中井盖的类别信息和位置信息,构建r-fcn井盖检测模型;

模型优化模块,用于通过输入训练数据集和模型预训练权值对r-fcn井盖检测模型进行迭代训练得到最优的r-fcn井盖检测模型;

检测模块,用于将训练得到的最优的r-fcn井盖检测模型文件和网络结构描述文件共同打包成pythonsdk,采用opencv读取图像或视频,对图片或者视频进行识别得到图片或视频中井盖的类别和位置信息。

井盖检测模型模块包括:

井盖特征层提取模块,采用resnet-101作为模型的基本骨架,其中卷积层采用3x3大小的卷积核,而非原始resnet-101模型中的3x3和5x5的变化卷积核,采用3x3的卷积核把不同类别、具有微小变化井盖的低维和高维聚合到一起,形成井盖特征层,以便进行后续操作;

感兴趣区域提取模块,用于修改r-fcn中的锚框,通过在井盖样本上进行聚类,只采用两种类型的锚框:正方形和矩形;接着采用修改后rpn网络对提取的井盖特征层进行感兴趣区域提取,主要是剔除无关干扰信息,关注井盖特征,特别是井盖下陷和破损这种微小的特征;

位置信息判决模块,用于对井盖特征层进行卷积,得到位置信息敏感特征图,结合感兴趣区域进行位置信息判决,得到位置信息判决图;

将位置信息判决图进行维度压缩,再用softmax函数进行判决,得到最后的井盖类别和位置信息。

数据扩充模块包括:

对比度拉伸模块:用于对训练数据集中所有图片进行对比度拉伸,对应的xml中的标注信息不变,将进行对比度拉伸的图片加入到新的训练数据集中;

多尺度变化模块,用于对训练数据集中所有图片进行多尺度变化,同时对应的xml中的标注也根据尺度变化做相应的坐标改变,并将得到的数据加入到新的训练数据集中;

中心随机裁剪模块,用于对训练数据集进行中心随机裁剪,同时对应的xml中的标注也根据尺度变化做相应的坐标改变,并将得到的数据加入到新的训练数据集中。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1