本发明涉及一种雾炮车喷雾次数统计方法、系统及存储介质。
背景技术:
在生活和工作中,生产性粉尘是人类健康的天敌,是诱发多种疾病的主要原因。许多粉尘是工业和交通运输发展的副产品。烟囱和内燃机排放的废气中含有大量的粉尘。建筑施工会产山大量粉尘。面粉,采石场等的作业也会引起粉尘。为了降低粉尘的排放量,企业和政府采取了许多降尘措施。其中使用雾炮车进行降尘是最为简单、普遍的方法。
为了对降尘作业进行管理,企业和政府会派遣专员实地考察雾炮车是否在作业,人工统计雾炮车的喷雾次数。但是这种方式存在许多明显的缺陷。由于需要降尘的区域和站点非常多,那么派遣的人员数量会非常多,相应的人力和物力成本也会增加。在炎热和寒冷的天气,需要提供额外的防暑和抗寒的物资以保证专员的人身安全。此外,不可能给每一个区域和站点都分配专员,在检查的过程中存在漏检或者错检的现象。
技术实现要素:
本公开提供一种雾炮车喷雾次数统计方法、系统及存储介质。通过检测雾炮车作业区域视频的图像质量来判断雾炮车是否正常工作并统计雾炮车喷雾的次数。本公开可以大大减少人工成本,提高检测的准确度和实时性。
本公开的至少一个实施例提供一种雾炮车喷雾次数统计方法,包括以下步骤:
调用雾炮车作业区域的摄像头获取视频数据,从所述视频数据中获取每一帧的图片;
对每一帧的所述图片进行预处理;
构建基于深度学习的图片质量评价模型,并对所述图片质量评价模型进行训练;
将预处理后的图片输入到所述图片质量评价模型进行图片质量的评价;
根据图片质量的评价判断雾炮车工作状态,基于雾炮车工作状态统计出雾炮车的工作时段、非工作时段和工作次数。
在一些示例中,将代表雾炮车工作状态的值保存在状态列表中,根据状态列表中的值统计出雾炮车的工作时段、非工作时段和工作次数。
在一些示例中,对每一帧的所述图片进行预处理的方法包括:将每一帧的所述图片转化为灰度图,对得到的灰度图片的像素点进行对比度归一化,在归一化后的图像上随机选取不重叠的一个小图像块。
在一些示例中,通过下式(1)计算灰度图片像素点(i,j)的归一化值:
其中i(i,j)为像素点(i,j)的强度值,c为正常数,p和q则是归一化窗口大小。
在一些示例中,所述图片质量评价模型采样iqa-cnn网络结构。
在一些示例中,在通过所述图片质量评价模型进行图片质量的评估时对得到的每一个特征图进行池化操作,其计算公式如下所示:
其中
在一些示例中,所述图片质量评价模型的全连接层使用relu函数作为激活函数。
本公开的至少一个实施例提供一种雾炮车喷雾次数统计系统,包括:摄像头,采集雾炮车附近的视频;处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为完成所述方法的全部或部分步骤。
本公开的至少一个实施例提供一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时完成所述方法的全部或部分步骤。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例的附图作简单地介绍。
图1为本公开一实施例提供的雾炮车喷雾次数统计方法流程图。
图2为iqa-cnn网络结构图。
图3为本公开一实施例提供的雾炮车喷雾次数统计的算法流程图。
具体实施方式
图1为本公开一实施例提供的雾炮车喷雾次数统计方法,该方法包括:
步骤1,调用雾炮车作业区域的摄像头获取视频数据,从所述视频数据中获取每一帧的图片。本公开可使用opencv读取rtsp视频流,将视频逐帧转换成图片。
步骤2,对每一帧的所述图片进行灰度图转换、对比度归一化、图像分块预处理。
步骤2.1,灰度图转换:
为了使所述图片符合后续深度学习模型的输入结构,将每一帧的所述图片转化为灰度图,即将rgb格式的图片转化为gray格式,转换的公式如式(1):
gray=r×0.3+g×0.59+b×0.11(1)
式(1)中,r、g、b分别代表红、绿、蓝三原色的值。
步骤2.2,对比度归一化:
由于图片像素点之间可能存在一定的相关性,为了降低相关性的影响,在进行后续处理前对像素点进行归一化。可通过以下式(2)计算图片像素点(i,j)的归一化值:
其中i(i,j)为图片像素点(i,j)的强度值;c为正常数,其作用是为了防止分母为零;p和q则是归一化窗口大小,根据经验,较小的窗口可以提高模型的效果。
步骤2.3,图像分块:
在归一化后的图像上随机选取不重叠的一个小图像块,该图像块的大小可为32×32,该步骤主要是为了使图片维度符合后续深度学习模型的输入维度。
步骤3,使用非参考方法对图片的质量进行评估。所谓非参考是指在对图片进行质量评估时不使用先验经验,即无需相关图片或者经验知识就可以获得图片质量评估结果。构建基于深度学习的图片质量评价模型。图2展示了本公开使用的深度学习模型的结构,该深度学习模型运行流程如下:
步骤3.1,根据步骤2.3可以获得一个归一化后的小图像块,将所述小图像块输入到所述图片质量评价模型中作为整个模型运行的第一步。
步骤3.2,所述图片质量评价模型的第一个计算模块为卷积计算模块,本公开所使用iqa-cnn网络结构中包括50个卷积核,卷积核的大小为7×7,卷积时的滑动步长为1,通过该步骤,可以得到50个大小为26×26的特征图。卷积的计算公式如下所示:
式(5)中,w为卷积核,x为输入。如果x是一个二维输入的矩阵,而w也是一个二维的矩阵。但是如果x是多维张量,那么w也是一个多维的张量。m和n则表示卷积的位移量。
步骤3.3,对每一个所述特征图进行池化操作以降低特征维度,计算公式如下所示:
其中
步骤3.4,所述图片质量评价模型最后两个全连接层中,可使用relu函数作为激活函数,其数学表达式如下式所示:
g=max(0,∑iwiαi)(8)
其中,wi为函数的权重,而αi为前一层的输出,g为relu的结果输出。由于relu函数具有稀疏性以及非负信号特性,大量的信号被抑制,使得relu函数的运行速度比传统的sigmoid函数以及tanh函数要快得多。
步骤4,使用监督学习方法对所述图片质量评价模型进行训练并优化模型的各个参数,该步骤包括训练阶段以及测试阶段。
步骤4.1,训练阶段:
本公开使用的训练样本可来源于tid2013、live、tid2008、tid2013blur、tid2008blur,由于这些数据集中图像的失真可能只是局部且均匀的。所以,使用图像分块技术可以使数据的样本数量增加,满足深度学习模型训练所需。
本公开使用随机梯度下降法(sgd)对目标函数进行迭代以计算出最优的模型参数,同时本公开使用与支持向量回归方法类似的目标函数,具体算法如下式:
其中xn表示输入的小图像块,yn表示标准质量分数,f(ω,xn)表示通过权值为ω的网络预测分数函数。
步骤4.2,测试阶段:
首先对给定的测试图片按上述步骤2的方法做相关的预处理,将预处理后对测试图片输入到iqa-cnn模型中,得出每个小图像块的质量分数,最后对所有所述小图像块的质量分数值进行平均即可得到待测试图片的质量分数。
步骤5,使用opencv连接雾炮车作业区域的视频路径,获取雾炮车作业区域摄像头的视频数据,通过上述步骤2从所述视频数据得到预处理后小图像块,将所述小图像块输入到所述深度学习模型中计算出所述视频数据每一帧图片的图片质量分数。
步骤6,根据图片质量的评价判断雾炮车工作状态,雾炮车作业时由于受到水汽的干扰图片的质量会较低,雾炮车未作业时图片质量较高。因此,本公开设置阈值来判断雾炮车工作状态,并将雾炮车的工作状态按照1和0保存在状态列表中,1代表雾炮车正在作业,0代表未作业。
步骤7:根据状态列表中的值,统计出雾炮车的工作时段与非工作时段,从而统计出雾炮车在某个时间段的工作次数。具体来说,当状态列表从0转为1且接下来的几个状态均为1则认为雾炮车开始作业;当状态从1转为0且接下来的几个状态均为0则认为雾炮车已经停止作业。
在示例性实施例中,还提供一种雾炮车喷雾次数统计系统,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行存储器中的指令,以完成上述的方法的全部或部分步骤。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由处理器执行以完成上述的方法的全部或部分步骤。例如,所述非临时性计算机可读存储介质可以是rom、ram、cd-rom、磁带、软盘和光数据存储设备等。