首页> 中国专利> 一种基于光流法和深度学习卷积神经网络的黑烟车检测方法

一种基于光流法和深度学习卷积神经网络的黑烟车检测方法

摘要

本发明的一种基于光流法和深度学习卷积神经网络的黑烟车检测方法,包括以下步骤:对于实时产生的待检测监控视频图片,使用训练好的检测模型进行检测,判断图片中是否存在黑烟;对于检测出存在黑烟的监控视频图片,标注出黑烟车位置所在的矩形边界框;与传统的人工设计先验框相比,本方案不再直接预测边界框的尺寸,而是在新的数据集中聚类得到先验框,更有利于对监控图片中目标的定位。与RCNN相比,本目标检测模型在进行检测时,将整张图像归一化后直接送入深度网络。在邻接时,才加入候选框信息,在末尾的少数几层处理每个候选框,故大大提升了模型的实时检测性能;此外,本目标检测模型把类别判断和位置精调统一用深度网络实现,不需要额外存储,大大缩减了训练时所需的空间。

著录项

  • 公开/公告号CN112990004A

    专利类型发明专利

  • 公开/公告日2021-06-18

    原文格式PDF

  • 申请/专利号CN202110269944.9

  • 申请日2021-03-12

  • 分类号G06K9/00(20060101);G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构34115 合肥天明专利事务所(普通合伙);

  • 代理人苗娟

  • 地址 241000 安徽省芜湖市政务文化新区国泰路2号芜湖数谷A座6楼

  • 入库时间 2023-06-19 11:29:13

说明书

技术领域

本发明涉及环境检测技术领域,具体涉及一种基于光流法和深度学习卷积神经网络的黑烟车检测方法。

背景技术

二十一世纪以来,我国的机动车数量快速增加,移动源带来的空气污染问题日益显著。城市地区汽油车保有量飞速增长,同时,城郊地区也存在大量排放黑烟的柴油车,造成了严重的环境污染问题。柴油车所排放的黑烟废气中含有约两百种不同的化合物,是造成细颗粒物、光化学烟雾污染的主要原因之一。综合考虑柴油车行驶里程和排放系数,一辆无法达到国三排放标准或更低排放标准的柴油车的氮氧化物和细颗粒物排放量,相当于两百多辆国四排放标准小轿车排放量之和,对环境产生的影污染极大。

基于烟雾具有视觉模糊特性、半透明特性和扩散运动特性,许多专家学者针对烟雾检测提出了很多相关工作。翟文鹏等根据视频烟雾的颜色特征以及烟雾运动的扩散性,提出一种基于颜色特征和运动特征的视频烟雾探测方法:首先利用光流场法进行运动检测提取烟雾区域,然后对提取的烟雾区域进行烟雾运动相对稳定性分析和烟雾运动局部不规则分析,结合烟雾的颜色特征,在给定的阈值条件下进行烟雾检测。

由于烟雾会遮挡图片的纹理和边缘,导致图片的高频信息减少,其主要反映在小波域的烟雾图片在小波高频能量会减少。基于这一特性,吴爱国等提出了利用混合高斯模型提取烟雾区域,然后对小波变化分析烟雾区域得到烟雾判别输出的静态特征和动态特征相结合的烟雾检测方法。

以上传统的烟雾检测方法主要存在以下两点不足:

(1)之前已开展的绝大多数研究工作都是针对森林火灾或者工厂烟囱排放烟雾的高空视角,其应用场景中的运动干扰物较少,背景相对固定,使之难以成为适用于各种场景的通用烟雾检测方法。

例如本发明所涉及的复杂条件下交通道口监控摄像机工作场景,其中存在光照变化频繁剧烈,路面颜色灰暗,水渍污渍遍布,道路旁杂物较多,车辆间存在相互遮挡,烟羽轮廓面积多变等问题。传统烟雾检测算法所使用的基于经验阈值和实验统计阈值的人工特征提取方法,如人工设计建模烟雾的颜色特征、频域特征、纹理特征等,难以胜任如此复杂场景下的检测任务。

(2)传统方法所涉及的机器学习算法的所有计算任务都只能部署CPU上进行,实时性很差,难以根据具体的应用场景进行特定优化以及支持GPU并行计算加速。

发明内容

本发明提出的一种基于光流法和深度学习卷积神经网络的黑烟车检测方法,用于克服传统烟雾检测算法的不足,提供了一种适用于复杂交通道口监控视频的实时烟雾检测算法。

为实现上述目的,本发明采用了以下技术方案:

一种基于光流法和深度学习卷积神经网络的黑烟车检测方法,包括以下步骤:

步骤1:获取交通道口的监控视频,提取关键视频帧制作黑烟车样本数据集,在每一帧的监控图片中标注出柴油车附近黑烟车所在位置的矩形边界框。

步骤2:构建目标检测模型,并对监控视频图片上标注的矩形边界框使用k-均值聚类算法,计算出包含黑烟柴油车的先验框。

步骤3:利用监控视频图片和包含黑烟柴油车的先验框,对构建的目标检测模型进行训练,得到满足检测目的的模型。

步骤4:对于实时产生的待检测监控视频图片,使用训练好的检测模型进行检测,判断图片中是否存在黑烟。

步骤5:进一步地,对于检测出存在黑烟的监控视频图片,标注出黑烟车位置所在的矩形边界框。

需要说明的是,针对采用监控视频图片构建的黑烟车样本数据集:

将样本数据集中的监控视频图片分为训练集、验证集和测试集;

在样本数据集中的监控视频图片中,用矩形框标注出黑烟柴油车的位置、其所排放黑烟的位置,并将矩形边界框的中心点坐标(x,y)、矩形边界框的宽w和矩形边界框的高h作为图片标签,用于存放存放原始图像中目标对象的坐标信息。

将图片标签相对于所述监控图片尺寸批归一化到(0,1)之间,并将批归一化后的图片标签保存在与所述监控图片同名的xml格式文件中,其中,批归一化后的图片标签包括矩形边界框归一化后的中心点坐标、归一化后的宽度值和归一化后的高度值;

若检测结果显示在所述监控图片中存在黑烟车,则将类别标签c定义为数字类别1;若检测结果显示在所述监控图片中不存在黑烟车,将类别标签c定义为数字类别-1;

将图片标签和存储路径保存在与所述监控图片同名的txt文件中。

进一步地,所述训练集、验证集和测试集中包含的监控图片的数量比例为8:1:1,所有监控图片中存在柴油黑烟车的图片数量和不存在柴油黑烟车的图片数量之比为1:1,其中:

验证集中的监控视频图片用于对训练后的模型的性能进行验证;

测试集中的监控视频图片用于对验证后的模型进行再次验证,以得到最终的目标检测模型。

另外,针对所使用的目标检测模型的结构,其包括:骨干网络、区域候选网络、ROIpooling层、多任务损失函数边框回归。

骨干网络的输入为任意尺寸的监控视频图片、输出为监控视频图片的特征图。区域候选网络的输入为监控视频图片的特征图,输出为为候选BBOX的位置,即该问题中感兴趣的区域(ROI)。ROI pooling层的输入是前面的特征图,以及RPN层输出的BBOX,形状为:1*5*1*1(4个坐标+索引index);输出为mini-batch个向量,batch的值是ROI的个数,向量的长度为:channel*w*h。整个ROI的过程就是将这些proposal抠出来的过程,得到大小统一的特征图。而后检测层输出为包含分类结果、类别置信度和预测框坐标的特征向量。

在利用监控视频图片和包含柴油黑烟车的先验框,对构建的目标网络模型进行训练之前,还包括:

使用ImageNet分类数据集对所述目标检测模型中的特征提取网络进行预训练,以得到预训练后的模型;

而后,相应地,利用监控视频图片和包含柴油黑烟车的先验框,对预训练后的模型进行训练,得到训练好的模型。

进一步,在将数据输入目标检测模型之前,对监控图片上标注的矩形边界框使用k-均值聚类算法,计算出包含柴油黑烟车的先验框,包括:

事先定义不同尺寸的先验框,并从与所述监控图片对应的xml格式文件中读取所述归一化后的宽度值和所述归一化后的高度值;

将所述归一化后的宽度值和所述归一化后的高度值分别乘以所述批归一化时的缩放系数,得到所述矩形边界框;

统计k个先验框分别与所述矩形边界框的重叠面积,并将所述重叠面积作为距离度量,聚类提取出包含柴油黑烟车的先验框。

进一步地,将监控图片中标注出的矩形边界框作为真值框,所述利用监控图片和包含柴油黑烟车的先验框,对构建的目标检测模型进行训练,得到训练好的模型,包括:

利用所述预训练后的特征提取网络对输入的所述训练集中的监控图片进行特征提取,得到特征图;

利用所述包含柴油黑烟车的先验框对特征图进行预测,得到候选区域BBOX的位置;

对于原始图片中的候选区域,将它映射到卷积特征网络的对应区域,和RPN层输出的BBOX,一起输入ROI pooling层,输出为mini-batch个向量,batch的值是ROI的个数,向量的长度为:channel*w*h;

而后将向量经过全连接层,使用softmax得到分类,使用回归得到边框回归。

该预测框中包含目标定位信息、含有目标的概率信息以及存在柴油黑烟车的条件概率信息,目标定位信息包括所述真值框的中心点坐标相对于所述先验框的偏移坐标和所述真值框的宽和高;

根据所述预测框与所述真值框的重叠面积和所述预测框含有目标的概率信息,计算目标置信度;

将目标置信度小于置信度值阈值的预测框滤除,得到筛选后的预测框;

利用非极大值抑制算法将所述筛选后的预测框进行合并重叠,得到剩余的预测框;

计算剩余的预测框内目标的类别置信度,若类别置信度大于设定类别置信度阈值,则确定该预测框对应的监控图片中含有柴油黑烟车。

其中,上述目标检测模型的损失函数如下:

分类损失函数采用logloss,即对真实分类(下图中的pu)的概率取负log,即:L(p,u,t

回归的loss分类层输出K+1维,表示K个类和1个背景类。其中t

于是有:

在部署于后端的GPU平台上运行上述柴油黑烟车检测算法。

由上述技术方案可知,本发明的基于光流法和深度学习卷积神经网络的黑烟车检测方法具有以下有益效果:

本发明针对黑烟柴油车这一特定目标,使用k-均值聚类算法对监控图片上标注出的矩形边界框即真值框进行聚类,得到包含有柴油黑烟车的先验框,利用该先验框输入ROIpooling层得到mini-batch个于预测的矩形边界框位置信息相关的向量,而后将向量经过全连接层,使用softmax得到分类,使用回归得到边框回归,以得到监控图片中目标的定位。与传统的人工设计先验框相比,本方案不再直接预测边界框的尺寸,而是在新的数据集中聚类得到先验框,更有利于对监控图片中目标的定位。与RCNN相比,本目标检测模型在进行检测时,将整张图像归一化后直接送入深度网络。在邻接时,才加入候选框信息,在末尾的少数几层处理每个候选框,故大大提升了模型的实时检测性能;此外,本目标检测模型把类别判断和位置精调统一用深度网络实现,不需要额外存储,大大缩减了训练时所需的空间。

附图说明

图1是一种柴油黑烟车的检测方法的流程示意图;

图2是本方案对应的检测原理框图;

图3是交通道口柴油黑烟车检测示例图;

图4是为本发明方法涉及的目标检测模型示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。

如图1所示,本实施例所述的基于光流法和深度学习卷积神经网络的黑烟车检测方法,包括:

如图1所示,本实施例公开了一种柴油黑烟车的检测方法,包括如下步骤S1至S4:

S1、利用交通道口的监控视频图片构建黑烟车样本数据集,并在监控图片中标注出黑烟车位置所在的矩形边界框;

S2、构建目标检测模型,并对监控图片上标注的矩形边界框使用k-均值聚类算法,计算出包含柴油黑烟车的先验框;

S3、利用监控图片和包含柴油黑烟车的先验框,对构建的目标检测模型进行训练,得到训练好的模型;

S4、利用训练好的模型对待检测的监控图片进行检测,判断待检测监控图片中是否存在黑烟车。

其中,在步骤S1中:首先获取训练目标检测模型所需的监控图片及其与监控图片对应的图片标签。本实例使用的交通道口监控摄像机视角下的真实监控图片均由位于安徽省合肥市合淮路和湖畔路交口的数台电子警察摄像机所拍摄。

对于监控视频的处理,具体为,将实时拍摄的监控视频按每秒五帧,逐帧提取成单幅监控图片后,按照拍摄时间对监控图片进行重命名,并将所有监控图片按照8:1:1的比例划分为训练集、验证集和测试集,同时保证所有监控图片中存在柴油车排放黑烟的图片数量与图片中不存在柴油车排放黑烟的图片数量之比为1:1。其中,训练集中的监控图片用于对构建的目标检测模型进行训练,得到训练后的模型;验证集中的监控图片用于对所述训练后的模型的性能进行验证,得到验证后的模型;测试集中的监控图片用于对所述验证后的模型进行再次验证,得到最终的目标检测模型。

具体地,对于数据集中每张监控图片的标注,图片的标签为所提取的每张监控图片中的包含柴油黑烟车尾部及烟羽的完整轮廓的矩形边界框的中心点坐标(x,y)、边界框的宽高(w,h)及其类别标签c。同时,将前四个参数(x,y),(w,h)都相对于原始图片尺寸批归一化到(0,1)之间,保存在与监控图片同名的xml格式文件中。若该目标区域中存在柴油黑烟车,则将该监控图片的类别标签定义为数字类别1,即存在柴油黑烟车;若监控图片中不存在柴油黑烟车,则将监控图片的类别标签定义为数字类别-1;最后,将该监控图片的标签和路径保存在与监控图片同名的txt格式文件中,编码格式为UTF-8,便于在标准化流程中训练模型时,读取图片的标签数据。

需要说明的是,为了加快网络训练时的收敛速度,降低网络过拟合,提高网络的泛化能力,本实施例引入批归一化层。批归一化是一种网络正则化方法,该算法是指在网络的每一层输入之前插入一个归一化层,该层通过求取输入数据的均值和方差,对输入网络的小批量数据进行归一化:对该批监控图片的各特征向量分别进行归一化处理,分别使每个特征的数据分布变换为均值0,方差1,从而使得每一批训练样本在每一层都有类似的分布。还可对上一步的输出再做一次线性变换,假设上一步的输出为Z,则Z1=γZ+β。这里γ、β是可以训练的参数。通过引入可学习参数γ、β还原输入数据的分布,经过处理的数据再被送入下一层网络。

进一步地,由于目标检测模型训练需要大量的监控图片,但是从交通道口监控摄像机视角下的真实监控图片,含有柴油黑烟车的图片数量较少,难以满足目标检测模型训练时对于训练数据的需求。本实施例在小样本情况下,通过多种数据增强方法,比如平移、旋转、镜像、裁剪、缩放、颜色抖动,添加椒盐噪声和高斯噪音干扰等,对样本数据集进行扩充,以大幅提高网络泛化能力。

进一步地,如图4所示,上述步骤S2中所构建的目标检测模型的结构包括:骨干网络、区域候选网络、ROI pooling层、多任务损失函数边框回归层。

其中骨干网络是VGG16,输入是224*224的监控图片,经过5个卷积层和2个降采样层(这两个降采样层分别跟在第一和第二个卷积层后面),输出为监控视频图片的特征图。区域候选网络的输入为监控视频图片的特征图,输出为为候选BBOX的位置,即该问题中感兴趣的区域(ROI)。ROI pooling层的输入是conv5层的输出和P个候选区域regionproposal。然后再经过两个都是output是4096的全连接层。

最后分别经过output个数是21和84的两个全连接层(这两个全连接层是并列的,不是前后关系),前者是分类的输出,代表每个re gion proposal属于每个类别(21类)的得分,后者是回归的输出,代表每个region proposal的四个坐标。

最后是两个损失层,分类的是softmaxWithLoss,输入是label和分类层输出的得分;回归的是SmoothL1Loss,输入是回归层的输出和target坐标及weight。

与现有技术相比,本实施通过修改目标检测模型的网络结构,将锚点重新设置在车辆尾部,面向摄像机的三条车道上,修改卷积方式是指将卷积层中使用的标准3×3卷积核,替换为深度分离的3×3卷积与1×1卷积的组合。深度分离的卷积核数量等于输入特征图的数量,每个卷积核只负责一个特征图,即只作用于单通道,之后再使用1×1卷积作用于所有3×3深度分离卷积输出的特征图,之后再通过激活函数。本方案中将传统模型网络结构中的23个卷积层压缩为10个,通过修改网络结构,使得构建的目标检测模型变得更小,参数更少,更少的参数在做检测时运算量更少,以提高计算速度。

进一步地,在上述步骤S3:利用监控图片和包含柴油黑烟车的先验框,对构建的目标检测模型进行训练,得到训练好的模型之前,还包括:

使用ImageNet分类数据集对所述目标检测模型中的特征提取网络进行预训练,以得到预训练后的模型;

相应地,利用监控图片和包含柴油黑烟车的先验框,对预训练后的模型进行训练,得到训练好的模型。

上述步骤S2中,对监控图片上标注的矩形边界框使用k-均值聚类算法,计算出包含柴油黑烟车的先验框,具体包括如下细分步骤S21至S23:

S21、事先定义不同尺寸的先验框,并从与所述监控图片对应的xml格式文件中读取所述归一化后的宽度值和所述归一化后的高度值;

S22、将所述归一化后的宽度值和所述归一化后的高度值分别乘以所述批归一化时的缩放系数,得到所述矩形边界框;

S23、统计k个先验框分别与所述矩形边界框的重叠面积,并将所述重叠面积作为距离度量,聚类提取出包含柴油黑烟车的先验框。

具体地,定义的聚类距离度量公式为:

d(box,centroid)=1-IOU(box,centroid),

其中,d表示计算聚类距离指标,box表示标签中的每个矩形边界框,centroid表示从矩形边界框中挑选出的聚类中心框,IOU(box,centroid)表示标签中的边界框与聚类中心框的重叠面积即距离度量,且IOU(box,centroid)值与边界框的尺寸无关。

需要说明的是,本方案相比于使用人工设计的先验框,在新的数据集上聚类得到的先验框更有助于对目标的定位,使得柴油黑烟车的检测精度更高,漏检率更低。

进一步地,本实施例在训练目标检测模型时,通过最小优化误差函数中的定位误差、目标误差和分类误差,并使用带动量的随机梯度下降法更新权重参数,最终保存训练好的模型参数到权重文件中。具体地,上述步骤S3:利用监控图片和包含柴油黑烟车的先验框,对构建的目标检测模型进行训练,得到训练好的模型,包括如下细分步骤S31至S36:

S31、利用所述预训练后的特征提取网络对输入的所述训练集中的监控图片进行特征提取,得到特征图;

S32、利用所述包含柴油黑烟车的先验框对特征图进行预测,得到预测框,该预测框中包含目标定位信息、含有目标的概率信息以及存在柴油黑烟车的条件概率信息,目标定位信息包括所述真值框的中心点坐标相对于所述先验框的偏移坐标和所述真值框的宽和高;

S33、根据所述预测框与所述真值框的重叠面积和所述预测框含有目标的概率信,计算目标置信度;

S34、将目标置信度小于置信度值阈值的预测框滤除,得到筛选后的预测框;

S35、利用非极大值抑制算法将所述筛选后的预测框进行合并重叠,得到剩余的预测框;

S36、计算剩余的预测框内目标的类别置信度,若类别置信度大于设定的类别置信度阈值,则确定该预测框对应的监控图片中含有柴油黑烟车。

本实施例中将预测框的类别置信度与预先设定的类别置信度阈值(该处的类别置信度阈值可取值为0.5)进行比较,若预测框的类别置信度大于类别置信度阈值,则判断对应的监控图片中存在柴油黑烟车,并得到监控图片中柴油黑烟车预测框的位置坐标。

优选地,在确定监控图片中存在柴油黑烟车时,根据该监控图片上矩形边界框的坐标,将包含柴油黑烟车尾部及烟羽完整轮廓的矩形区域裁剪保存为与监控图片同名的jpg格式文件中。

上述目标检测模型的总损失函数为:

其中,分类损失函数采用logloss,即对真实分类(下图中的pu)的概率取负log,即:L(p,u,t

回归的loss分类层输出K+1维,表示K个类和1个背景类。其中t

有:

本实例将使用的目标检测算法部署于后端的GPU平台上运行,用于解决城市交通道口监控摄像头视角下,排放黑烟的柴油车的实时检测问题,GPU利用统一计算设备架构(Compute Unified Device Architecture,CUDA)和对DNN的GPU加速库(CUDA Deep NeuralNetwork,CUDNN)加速库使算法可以并行运算,减少了计算耗时。

另一方面,本发明实施例的还公开一种基于光流法和深度学习卷积神经网络的黑烟车检测系统,包括以下单元:

检测单元,用于对于实时产生的待检测监控视频图片,使用训练好的检测模型进行检测,判断图片中是否存在黑烟;

标注单元,用于对于检测出存在黑烟的监控视频图片,标注出黑烟车位置所在的矩形边界框;

其中,

检测模型的训练步骤包括:

获取交通道口的监控视频,提取关键视频帧制作黑烟车样本数据集,在每一帧的监控图片中标注出柴油车附近黑烟车所在位置的矩形边界框;

构建目标检测模型,并对监控视频图片上标注的矩形边界框使用k-均值聚类算法,计算出包含黑烟柴油车的先验框;

利用监控视频图片和包含黑烟柴油车的先验框,对构建的目标检测模型进行训练,得到满足检测目的的模型。

可理解的是,本发明实施例提供的系统与本发明实施例提供的方法相对应,相关内容的解释、举例和有益效果可以参考上述方法中的相应部分。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号