发明内容
为了解决上述技术问题,本发明的目的在于提供一种消防识别方法和系统,所采用的技术方案具体如下:
第一方面,本发明一个实施例提供了一种消防识别方法,该方法包括以下步骤:
获取视频图像;
利用sobel算子进行边缘检测得到视频图像的轮廓边缘,基于所述轮廓边缘上各像素点对应的灰度值序列的排列熵,计算视频图像的锐化程度;根据各像素点邻域内的像素点的灰度差异,计算视频图像的对比度;由所述锐化程度和所述对比度得到视频图像的烟雾程度;
获取当前时刻的视频图像和对应的前两帧视频图像第一个卷积层对应的特征图对应通道的第一描述值,构成第一描述值序列,由当前时刻的视频图像和对应的前两帧视频图像对应的烟雾程度,构建烟雾程度序列,获取所述第一描述值序列和所述烟雾程度序列的第一相关系数;根据所述第一相关系数构建第一损失函数;基于第二个、第三个卷积层,构建第二损失函数和第三损失函数;当前时刻的视频图像和对应的前两帧视频图像对应的交叉熵损失函数、第一损失函数、第二损失函数和第三损失函数之和为第一综合损失函数;
根据相关系数确定卷积层对应的各特征图各通道图像的神经元参数的抑制权重,由所述抑制权重、神经元参数的值和当前时刻的视频图像对应的交叉熵损失函数构建第二综合损失函数;
将所述第一综合损失函数作为人员识别网络训练的第一阶段的损失函数,将所述第二综合损失函数作为人员识别网络训练的第二阶段的损失函数,将所述视频图像输入训练好的所述人员识别网络中,输出人员位置。
优选的,轮廓边缘上各像素点对应的灰度值序列的获取方法为:
通过轮廓边缘上各像素点与轮廓边缘做垂线,以轮廓边缘上各像素点为中心,在垂线上截取预设长度的垂线段,获取垂线段上各像素点的灰度值,构建灰度值序列。
优选的,所述计算视频图像的锐化程度,包括:
以轮廓边缘上各像素点对应的灰度值序列的排列熵的均值的倒数作为视频图像的锐化程度。
优选的,所述根据各像素点邻域内的像素点的灰度差异,计算视频图像的对比度,包括:
获取像素点与邻域内其他像素点的灰度差值,多个灰度差值的均值作为像素点的像素点对比度,轮廓边缘上所有像素点的像素点对比度的均值为视频图像的对比度。
优选的,所述由所述锐化程度和所述对比度得到视频图像的烟雾程度,包括:
所述锐化程度和所述对比度的乘积的倒数为视频图像的烟雾程度。
优选的,所述获取当前时刻的视频图像和对应的前两帧视频图像第一个卷积层对应的特征图对应通道的第一描述值,包括:
将当前时刻的视频图像输入语义分割网络中,通过第一个卷积层处理得到当前时刻的视频图像对应的特征图;将当前时刻的视频图像对应的特征图进行全局最大池化处理,得到池化后的数据,作为当前时刻的视频图像对应的第一描述值。
优选的,所述根据所述第一相关系数构建第一损失函数,包括:
其中,为第一损失函数;/>为第一个卷积层得到特征图的第i个通道图像的第一描述值序列与烟雾程度序列得到第一相关系数;/>表示第一个卷积层得到特征图的第i个通道图像的第一描述值序列与烟雾程度序列得到第一相关系数所属的相关系数等级出现的概率。
优选的,所述基于第二个、第三个卷积层,构建第二损失函数和第三损失函数,包括:
获取当前时刻的视频图像和对应的前两帧视频图像第二个卷积层对应的特征图对应通道的第二描述值,构成第二描述值序列;获取所述第二描述值序列和所述烟雾程度序列的第二相关系数;根据所述第二相关系数构建第二损失函数;
获取当前时刻的视频图像和对应的前两帧视频图像第三个卷积层对应的特征图对应通道的第三描述值,构成第三描述值序列;获取所述第三描述值序列和所述烟雾程度序列的第三相关系数;根据所述第三相关系数构建第三损失函数。
优选的,所述根据相关系数确定卷积层对应的各特征图各通道图像的神经元参数的抑制权重,由所述抑制权重、神经元参数的值和当前时刻的视频图像对应的交叉熵损失函数构建第二综合损失函数,包括:
所述抑制权重为各特征图各对应通道的所述相关系数的均值的归一化值;
所述第二综合损失函数为:
其中,2为所述第二综合损失函数;/>为当前时刻的视频图像对应的交叉熵损失函数;/>为第s个神经元参数的抑制权重;/>为第s个神经元参数的值;/>表示神经元参数的总数量。
第二方面,本发明一个实施例提供了一种消防识别系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种消防识别方法。
本发明实施例至少具有如下有益效果:
在时发生火灾,消防员进行人物救援时需定位出人员的位置,通过摄像头监控到的视频图像来定位人员位置。但是所采集到的监控图像会存在烟雾信息干扰,如果将烟雾信息学习到会导致人员识别的准确性下降,因而在训练人员识别网络时,需控制网络的学习方向,将描述烟雾信息的神经元参数抑制,从而降低烟雾信息对人员识别的干扰,提高网络的准确性。
要抑制描述烟雾信息的神经元参数,需先识别每个神经元参数描述烟雾信息的情况。由于直接分析神经元参数描述烟雾信息的情况较为困难,本方案通过分析各神经元参数对应特征图描述烟雾信息的情况。首先通过特征隔离将描述烟雾特征的特征图隔离,这样有利于针对性的参数抑制。同时分析各特征图描述值与烟雾程度的相关程度得到各特征图描述烟雾信息的情况,根据各特征描述烟雾信息的情况对特征图对应的神经元参数进行抑制控制。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种消防识别方法和系统,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
本发明实施例提供了一种消防识别方法和系统的具体实施方法,该方法适用于消防火灾场景。该场景下安装有摄像头,用于采集视频图像。为了解决传统人物识别网络会学习到干扰人物识别的烟雾特征信息,使得人物识别网络的识别准确率受烟雾影响的问题。本发明利用烟雾的先验知识来计算图像中烟雾的程度,通过利用各特征与烟雾程度的关联关系设计损失函数来实现特征隔离。根据各特征对应烟雾程度关联程度来确定各神经元参数的抑制权重,根据抑制权重调整正则化项实现对神经元参数的有效抑制控制。从而使训练出的网络较少的学习烟雾特征,增加网络的人物识别精度。
下面结合附图具体的说明本发明所提供的一种消防识别方法和系统的具体方案。
请参阅图1,其示出了本发明一个实施例提供的一种消防识别方法的步骤流程图,该方法包括以下步骤:
步骤S100,获取视频图像。
获取摄像头监控到的楼道里面的视频图像。
进行数据标注:人们通过判断各帧监控视频图像人物存在区域,手动进行标注处理,将人物所在区域各像素标注1,将非人物区域各像素标注为0。所有的带标签的图像组成的集合为训练网络所用的数据集。采集视频图像数据,完成标注得到视频图像数据集。
步骤S200,利用sobel算子进行边缘检测得到视频图像的轮廓边缘,基于所述轮廓边缘上各像素点对应的灰度值序列的排列熵,计算视频图像的锐化程度;根据各像素点邻域内的像素点的灰度差异,计算视频图像的对比度;由所述锐化程度和所述对比度得到视频图像的烟雾程度。
由于烟雾信息会干扰视频图像中人物的识别,因而利用视频图像进行网络训练时,需将识别出网络中哪些神经元参数是用于学习烟雾信息特征的,将学习烟雾信息特征的神经元参数进行抑制,从而降低网络对烟雾信息的学习能力,从而提高网络对人物识别的准确性。由于飘浮的烟雾会将其他物体遮挡,导致视频图像中其他物品看起来较为模糊,就会表现出物体的边界锐化程度较小,同时图像中的各像素的对比度会降低,因而图像中的对比度分布中低对比度占比较大,因而基于此来判断每个图像中烟雾程度。
将各图像进行灰度化处理:将数据集中的各图像进行灰度化处理得到灰度图。
利用sobel算子进行边缘检测得到视频图像的轮廓边缘,基于所述轮廓边缘上各像素点对应的灰度值序列的排列熵,计算视频图像的锐化程度。具体的:
为了便于分析以数据集中的第k张图像为例来说明,利用sobel算子进行边缘检测得到第k张视频图像的轮廓边缘/>。获取轮廓边缘/>中的边缘像素。通过轮廓边缘上各像素点垂直与该轮廓边缘做垂线,以轮廓边缘上各像素点为中心,在垂线截取预设长度的垂线段。在本发明实施例中预设长度为20,在其他实施例中实施者可根据实际情况调整该取值。也即在垂线上截取长度为20的垂线段,垂线段的是以该边缘像素为分界,每侧的线段长度分别为10。
第k张图像第i个边缘点的垂线段记为。获取垂线段通过像素的灰度值,垂线段上的所有灰度值构成灰度值序列,记为/>,也即获取垂线段上各像素点的灰度值,构建灰度值序列。当图像无烟雾时,采集的图像不模糊,因而各边缘点垂线段的灰度值序列曲线灰度变化较为锐利,不平滑,此时的灰度值序列的排列熵较小,当图像中存在烟雾时,采集的图像较为模糊,因而各边缘点出现段的灰度值序列曲线较为平滑,此时的灰度值序列的排列熵较大。
计算各边缘点垂线段的灰度值序列的排列熵,记为,需要说明的是,排列熵属于现有技术,此处不再赘述。将第k张所有边缘点的排列熵求均值,记为/>。各边缘点垂线灰度值的锐化程度,具体的:以轮廓边缘上各像素点对应的灰度值序列的排列熵的均值的倒数作为视频图像的锐化程度。
该第张视频图像的锐化程度/>的计算公式为:
其中,第/>张视频图像的灰度值序列的排列熵。
由于烟雾浓度越大,图像模糊程度越大,因而各边缘点的灰度变化越平滑,因而各边缘点垂线段灰度序列的排列熵越大,其锐化程度越小,因而利用边缘点垂线的排列熵锐化程度为。
根据各像素点邻域内的像素点的灰度差异,计算视频图像的对比度,具体的:获取像素点与邻域内其他像素点的灰度差值,多个灰度差值的均值作为像素点的像素点对比度,轮廓边缘上所有像素点的像素点对比度的均值为视频图像的对比度。在本发明实施例中设定像素点的邻域的大小为3*3,也即计算第k张图像中各边缘像素求对比度,像素点对比度计算方法为,各边缘像素与该像素8邻域内的各像素分别计算灰度差值,将8个灰度差值的平方求均值,该均值即为该像素的对比度值。将所有边缘像素的对比度求均值,记为。
由所述锐化程度和所述对比度得到视频图像的烟雾程度。具体的:所述锐化程度和所述对比度的乘积的倒数为视频图像的烟雾程度。
该第张视频图像的烟雾程度/>的计算公式为:
其中,为第/>张视频图像的对比度;/>为第/>张视频图像的锐化程度。
烟雾浓度越大时,图像的边缘锐化程度越小,边缘点处的对比度越小,因而烟雾程度可以利用表示第k张图像的烟雾程度。烟雾程度越大说明烟雾越多。
步骤S300,获取当前时刻的视频图像和对应的前两帧视频图像第一个卷积层对应的特征图对应通道的第一描述值,构成第一描述值序列,由当前时刻的视频图像和对应的前两帧视频图像对应的烟雾程度,构建烟雾程度序列,获取所述第一描述值序列和所述烟雾程度序列的第一相关系数;根据所述第一相关系数构建第一损失函数;基于第二个、第三个卷积层,构建第二损失函数和第三损失函数;当前时刻的视频图像和对应的前两帧视频图像对应的交叉熵损失函数、第一损失函数、第二损失函数和第三损失函数之和为第一综合损失函数。
根据烟雾程度与各特征的关联关系设计损失函数实现特征隔离。
以当前时刻的视频图像为图像X3,以当前时刻的前一帧的视频图像为图像X2,以当前时刻的前第二帧视频图像为图像X1,也即图像X2的前一帧的视频图像为图像X1。
获取带有标签的图像,其标签为每个像素位置的像素标签,其像素标签为人物像素类别和非人物像素类别。本发明以图像X1的大小为1024*1024为例来叙述。
将该图像X1输入到语义分割网络网络中,该图像通过图像卷积层1处理得到特征图,所述卷积层1包含分组卷积操作、池化操作、激活函数等,该网络的卷积层均采用ResNet网络中的残差网络模块,ResNet网络是常用的神经网络,本发明不再对该网络进行详细叙述。特征图/>是通过分组卷积得到,本发明以特征图/>大小为512*512*20为例来说明,其中特征图/>被分成20组。
该特征图输入到下一个卷积层,特征图/>通过图中卷积层2处理获得特征图,特征图/>是通过分组卷积得到,本发明以特征图/>大小为256*256*20为例来说明,其中特征图/>被分成20组。
该特征图输入到下一个卷积层,特征图/>通过图中卷积层2处理获得特征图。特征图/>是通过分组卷积得到,本发明以特征图/>大小为512*512*20为例来说明,其中特征图/>被分成20组。
该特征图输入到下一个卷积层,特征图/>通过图中卷积层4处理获得输出结果Y1,所述卷积层4包含分组卷积操作、池化操作、激活函数等,卷积层4采用ResNet网络结构,ResNet网络是常用的神经网络,本发明不再对该网络进行详细叙述。输出结果Y1为语义区域图,语义区域图的大小为1024*1024。通过语义区域图表示人物像素类别和非人物像素类别。
本发明以4层卷积层来举例说明,其可以根据实际情况进行调整。通过上述过程得到网络图的主线结构。同时网络图还包含支线结构,具体如下:
将当前时刻的视频图像对应的特征图进行全局最大池化处理,得到池化后的数据,作为当前时刻的视频图像对应的第一描述值,也即将特征图的20个通道特征图像分别进行全局最大池化处理,每个通道图像得到一个池化后的数据,20个通道特征图像得到20个数据/>,每个池化后得到数据为对应特征图的描述值。
同理特征图H2的20个通道图像通过全局池化处理得到20个数据。
同理特征图H3的20个通道特征图通过池化处理得到20个数据。
将图像X2输入到网络中得到每个卷积层特征图对应的向量集合,其中第一个卷积层得到特征图,特征图/>各通道图像通过池化处理得到数据集合/>。第二个卷积层得到的特征图/>,特征图/>各通道图像通过池化处理得到特征向量集合,第三个卷积层得到的特征图/>,特征图/>各通道图像通过池化处理得到特征向量集合/>。
将图像X3输入到网络中得到每个卷积层特征图对应的向量集合,其中第一个卷积层得到特征图,特征图/>各通道图像通过池化处理得到数据集合/>。第二个卷积层得到的特征图/>,特征图/>各通道图像通过池化处理得到特征向量集合,第三个卷积层得到的特征图/>,特征图/>各通道图像通过池化处理得到特征向量集合/>。
由于要实现将与烟雾关系较小的特征和与烟雾关系较大的特征隔离开来,即一些特征图含有烟雾信息较多,这些特征图的描述值变化与烟雾程度变化相关,另外一些特征图中烟雾信息较少,这些特征图的描述值变化与烟雾程度变化不相关。因而所有特征图的相关关系熵值尽可能小,因而基于此构建出损失函数:
将图像,图像X2,图像X3的不同卷积层对应的特征图对应通道的描述值构成多个序列。获取当前时刻的视频图像和对应的前两帧视频图像第一个卷积层对应的特征图对应通道的第一描述值,构成第一描述值序列。例如对于图像X1第一个卷积层得到特征图/>第i个通道图像的第一描述值/>、图像X2第一个卷积层得到的特征图/>第i个通道图像的第一描述值/>、图像X3的第一个卷积层得到的特征图/>第i个通道图像的第一描述值/>。将这三个图像的第一卷积层对应的特征图对应通道图像的第一描述值构成第一描述值序列/>。
由当前时刻的视频图像和对应的前两帧视频图像对应的烟雾程度,构建烟雾程度序列,也即获取图像X1,图像X2,图像X3对应的烟雾程度,三个图像组合一起,构建烟雾程度序列/>。
获取第一描述值序列和烟雾程度序列的皮尔逊相关系数,作为第一相关系数,记为。
要想实现特征隔离需使所有特征的相关系数熵值尽可能小,根据得到的第一相关系数构建第一损失函数,因而第一个卷积层的损失函数为:
其中,为第一损失函数;/>为第一个卷积层得到特征图的第i个通道图像的第一描述值序列与烟雾程度序列得到第一相关系数;/>表示第一个卷积层得到特征图的第i个通道图像的第一描述值序列与烟雾程度序列得到第一相关系数所属的相关系数等级出现的概率。
该第一相关系数所属的相关系数等级出现的概率的计算方法为,首先划分相关系数等级,以0.1为等级间隔,将[-1,-0.9)为相关系数等级1,将[-0.9,-0.8)为相关系数等级2,…,将[0.8,0.9)划分为相关系数等级19,将[0.9,1]划分为相关系数等级20,通过统计得到每个相关系数等级出现的概率。通过相关系数熵值尽可能小,来使隔离烟雾的特征图层的烟雾信息尽可能多,使未隔离烟雾的特征图像的烟雾信息尽可能少,从而实现有效烟雾特征隔离。
同理,基于第二个、第三个卷积层,构建第二损失函数和第三损失函数。具体的:获取当前时刻的视频图像和对应的前两帧视频图像第二个卷积层对应的特征图对应通道的第二描述值,构成第二描述值序列;获取所述第二描述值序列和所述烟雾程度序列的第二相关系数;根据所述第二相关系数构建第二损失函数;
获取当前时刻的视频图像和对应的前两帧视频图像第三个卷积层对应的特征图对应通道的第三描述值,构成第三描述值序列;获取所述第三描述值序列和所述烟雾程度序列的第三相关系数;根据所述第三相关系数构建第三损失函数。
图像,/>,/>输入到人员识别网络中会得到输出结果Y1,Y2,Y3,Y1与图像X1的标签之间构建出交叉熵损失函数,记为/>;Y2与图像X2的标签之间构建出交叉熵损失函数,记为/>;Y3与图像X3的标签之间构建出交叉熵损失函数,记为/>。
当前时刻的视频图像和对应的前两帧视频图像对应的交叉熵损失函数、第一损失函数、第二损失函数和第三损失函数之和为第一综合损失函数。
该人员识别网络训练的第一阶段的损失函数,第一综合损失函数为:
其中,为第一综合损失函数;/>为第一损失函数;/>为第二损失函数;/>为第三损失函数;/>为第i张视频图像对应的交叉熵损失函数。
将视频图像依次输入人员识别网络中,通过梯度下降法进行网络更新,由于第一阶段训练网络只需实现特征隔离即可,只需进行N次训练,无需训练至收敛,本方案中N取。需要说明的是通过上述损失函数的设计过程可以知,需任选三张图像依次输入到网络中,才能构建出一个损失函数,利用该损失函数利用梯度下降法进行一次神经网络更新,即可完成一次训练。
步骤S400,根据相关系数确定卷积层对应的各特征图各通道图像的神经元参数的抑制权重,由所述抑制权重、神经元参数的值和当前时刻的视频图像对应的交叉熵损失函数构建第二综合损失函数。
根据相关系数确定卷积层对应的各特征图各通道图像的神经元参数的抑制权重。获取网络第一训练阶段中各特征图的各通道图像计算的相关系数,各特征图的各通道图像在整个训练阶段得到所有相关系数求均值。例如第k次训练第一个卷积层得到特征图的第i个通道图像描述值序列与烟雾程度序列得到相关系数,N次训练特征图的该通道图像的相关系数序列为/>。将相关系数序列所有相关系数值求均值得到/>。
获取计算各特征图各通道图像卷积核参数,为了便于叙述将卷积核参数记为神经元参数,故神经元参数也即为神经元参数。将各特征图各通道图像的相关系数的均值的归一化值作为对应神经元参数的抑制权重,将第s个神经元参数抑制权重记为。
进一步的,调整正则化项,由抑制权重、所述神经元参数的值和当前时刻的视频图像对应的交叉熵损失函数构建第二综合损失函数。由于需将描述烟雾信息的神经元参数进行抑制,因而将描述烟雾信息的神经元参数的正则化系数调高。
故调整后的正则化项为,也即第二综合损失函数为:
其中,2为所述第二综合损失函数;/>为当前时刻的视频图像对应的交叉熵损失函数;/>为第s个神经元参数的抑制权重;/>为第s个神经元参数的值;/>表示神经元参数的总数量。
其中,通过正则化项将描述烟雾信息的神经元参数进行抑制控制。为图像X1输入到人员识别网络中得到输出Y1,输出Y1与图像X1的标签之间构建的交叉熵损失函数。传统的正则化项中各神经元参数采用相等的权重值/>,使每个神经元参数被抑制的程度相同,本方案通过分析每个神经元参数与烟雾信息的关系来调整正则化项的权重/>,将与烟雾信息关系较高的神经元参数进行抑制。
第二阶段训练所用网络是通过对第一阶段所用网络调整得到,将第一阶段所用网络的支线结构去除,保留主线结构,其他部分不变,也即第一训练阶段得到的神经元参数不变,得到的即为第二阶段训练所用网络。
将图像依次输入到第二阶段所用网络中,通过梯度下降法进行网络更新,随之网络训练,损失值逐渐收敛。需要说明的是随机选取一张图像X1输入到第二阶段所用网络中,输出Y1,Y1与图像X1标签之间构建出交叉熵损失函数,利用交叉熵损失函数来通过梯度下降法进行网络更新,即每输入一次进行一次网络更新。
步骤S500,将所述第一综合损失函数作为人员识别网络训练的第一阶段的损失函数,将所述第二综合损失函数作为人员识别网络训练的第二阶段的损失函数,将所述视频图像输入训练好的所述人员识别网络中,输出人员位置。
将所述第一综合损失函数作为人员识别网络训练的第一阶段的损失函数,将所述第二综合损失函数作为人员识别网络训练的第二阶段的损失函数,完成人员识别网络的训练。将火灾现场内监控拍摄到的视频图像输入到训练完成的人员识别网络中,实现人员识别,输出人员位置。消防员可以根据定位出的人员的位置制定相适应的救援方式。
综上所述,本发明涉及数据识别技术领域,该方法首先采用相关的电子设备进行图像识别,以获取视频图像;通过对视频图像进行数据识别得到烟雾程度,根据烟雾程度和视频图像对应的特征图的描述值对人员识别网络进行训练,使得将视频图像输入训练好的人员识别网络中,可以输出人员位置。本发明将描述烟雾信息的神经元参数抑制,从而降低烟雾信息对人员识别的干扰,提高网络的准确性。
本发明实施例还提出了一种消防识别系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。由于一种消防识别方法在上述给出了详细描述,不再赘述。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。