一种基于结构相似性稀疏自编码网络的异常事件检测方法与流程

文档序号:17937276发布日期:2019-06-18 22:43阅读:155来源:国知局
一种基于结构相似性稀疏自编码网络的异常事件检测方法与流程

本发明属于计算机技术领域,特别是视频处理技术领域,涉及一种对视频进行异常事件检测的方法,具体是一种基于结构相似性稀疏自编码网络的异常事件检测方法。



背景技术:

异常事件检测是属于智能视频监控的范畴,是利用智能算法针对监控视频中的异常事件进行检测,并发出报警信号以提高相关部门的响应速度。视频异常事件检测技术的发展在维护公共场所安全、节约人力物力上有着重要的作用。

在不同的视频场景中对异常的定义是不一样的,在同一个场景中异常事件的种类也是比较多样化的。通常情况下,异常事件是不同于正常事件的、发生概率比较小的事件。从目前的异常检测方法来看,大致可以分为基于人为选择特征的方法和基于深度神经网络自动选择特征的方法。大多数方法一般涉及两个部分,在训练阶段通过无监督学习训练数据的外观和运动特征,建立与正常数据相关联的一个或多个模型。在测试阶段,根据视频数据与模型是否匹配判定视频是否异常。



技术实现要素:

本发明的目的是提供一种基于结构相似性稀疏自编码网络的异常事件检测方法,以提高对异常行为的检测率。

为解决上述技术问题,本发明提供的技术方案提取了结构相似性(ssim)特征进行稀疏表示,并用马氏距离检测离群数据。

本发明方法包括训练阶段和测试阶段,其具体细节说明如下:

训练阶段:

步骤(1).对视频数据集中的训练数据进行预处理:

将训练数据中的每一帧尺寸规范为m×n,m和n分别代表每帧图像的高和宽,将尺寸规范后的图像按照网格的方式分割成不重叠的空间区域,形成n个尺寸大小都是p×p的网格区域。

步骤(2).提取训练数据的ssim特征,所述的ssim为结构相似性:

ar表示训练数据中第t帧上的某块网格区域,aro、ar1、ar2、ar3、ar4、ar5、ar6、ar7分别表示目标区域ar左上、上、右上、左、右、左下、下、右下的8个邻域;目标区域ar的ssim特征组成是{sr0,sr1,l,sr17};

①计算在第t帧和它的前n帧中,邻域ari′与目标区域ar的ssim值之和sri′:

rj(ar)表示在第j帧中的ar区域,rj(ari′)表示在第j帧中的邻域ari′,ssim(x,y)表示两个图像块x和y的结构相似性;

②计算第t帧目标区域ar和前n帧目标区域ar的ssim值之和sr8:

③计算在第t帧和它的后n帧中,邻域ar(i″-9)与目标区域ar的ssim值之和sri″:

④计算第t帧目标区域ar和后n帧目标区域ar的ssim值之和sr17:

通过以上①~④的计算,得到目标区域ar的ssim特征序列{sr0,sr1,l,sr17},用相同的方式计算每一帧图像的每个网格区域的特征序列;将一帧图像中每个网格区域的特征序列连接起来组成一个向量,作为这一帧图像的ssim特征,表示为xr。

步骤(3).训练稀疏自编码网络:

所述的稀疏自编码网络总共有三层,分别为输入层、隐藏层和输出层;

将xr作为稀疏自编码网络的输入数据训练此网络,在训练稀疏自编码网络的过程中,根据最小化目标函数的原则对网络中的参数进行迭代更新,稀疏自编码网络的目标函数计算公式如下:m为输入的训练样本个数,xri为第i个输入数据,yri为网络第i个输出数据,λ为权重因子的系数,d是输入层节点数,与xr的长度相同,h是隐藏层节点数,wkj表示隐藏层到输出层之间的权重参数,β为惩罚因子的权重,ρk′表示隐藏神经元k的平均激活度,ρ为稀疏参数,kl(ρ||ρk′)表示kl散度;

当上一次迭代的目标函数与这一次目标函数的均方误差小于1时,迭代结束,得到训练完成的稀疏自编码模型a;

步骤(4).将所有训练数据的ssim特征序列输入到模型a中,得到隐藏层的输出数据hr。计算hr的均值μ和协方差σ。

测试阶段:

步骤(5).对视频数据集中的测试数据进行预处理:

将测试数据中的每一帧尺寸规范为m×n,m和n分别代表每帧图像的高和宽,将尺寸规范后的图像按照网格的方式分割成不重叠的空间区域,形成n个尺寸大小都是p×p的网格区域。

步骤(6).提取测试数据的ssim特征:

ae表示测试数据中第t帧上的某块网格区域,ae0、ae1、ae2、ae3、ae4、ae5、ae6、ae7分别表示目标区域ae左上、上、右上、左、右、左下、下、右下的8个邻域;目标区域ae的ssim特征组成是{se0,se1,l,se17};

⑤计算在第t帧和它的前n帧中,邻域aei′与目标区域ae的ssim值之和sei′:

rj(ae)表示在第j帧中的ae区域,rj(aei′)表示在第j帧中的邻域aei′;

⑥计算第t帧目标区域ae和前n帧目标区域ae的ssim值之和se8:

⑦计算在第t帧和它的后n帧中,邻域ar(i″-9)与目标区域ae的ssim值之和sei″:

⑧计算第t帧目标区域ae和后n帧目标区域ae的ssim值之和se17:

通过以上⑤~⑧的计算,得到目标区域ae的ssim特征序列{se0,se1,l,se17},用相同的方式计算每一帧测试图像的每个网格区域的特征序列;将一帧图像中每个网格区域的特征序列连接起来组成一个向量,作为这一帧图像的ssim特征,表示为xe。

步骤(7).将测试数据的ssim特征xe输入到模型a中,得到隐藏层的输出数据he;根据训练阶段得到的均值μ和协方差σ,计算he与训练数据的马氏距离α;α<th,判定为正常事件;α≥th,判定为异常事件,th为设定阈值时。

本发明的有益效果是:本发明通过提取空间和时间维度的ssim特征来捕捉场景的变化程度,利用稀疏自编码网络对ssim特征进行稀疏表示,从而去掉ssim特征中的冗余信息,压缩了数据量,利用马氏距离将异常事件检测出来。与传统方法采用的光流或光流直方图特征相比,本发明采用ssim特征具有更好的特征表征能力,且实现方法简单快速;与基于深度学习网络自我学习特征的方法相比,本发明采用ssim特征具有良好的解释性,便于抓住事件特征,同时具有更高的检测准确性。

附图说明

图1为本发明方法训练阶段的流程图;

图2为本发明方法测试阶段的流程图;

图3为本发明中稀疏自编码网络结构图。

具体实施方式

以下结合附图和实施实例对本发明加以详细说明。

一种基于结构相似性稀疏自编码网络的异常事件检测方法,包括训练阶段和测试阶段。训练阶段由三个模块组成:1、预处理模块,该模块主要功能是获取训练数据集的网格区域数据;2、ssim特征提取模块,该模块主要功能是提取训练数据集中每帧图像的ssim特征序列;3、训练稀疏自编码网络,该模块主要功能是将的ssim特征序列作为稀疏自编码网络的输入,对网络进行训练,得到训练完成的模型。测试阶段也由三个模块组成:1、预处理模块,该模块主要功能是获取测试数据集的网格区域数据;2、ssim特征提取模块,该模块主要功能是提取测试数据集中每帧图像的ssim特征序列;3、检测模块,该模块主要功能是将测试数据集的ssim特征序列输入到训练好的模型中,得到隐藏层的输出数据,并用马氏距离的衡量方式将离群的异常事件

如图1所示,训练阶段具体步骤是:

步骤(1).对视频数据集中的训练数据进行预处理:

将训练数据中的每一帧尺寸规范为120×160,120代表每帧图像的高,160代表每帧图像的宽,将尺寸规范后的图像按照网格的方式分割成不重叠的空间区域,形成12个尺寸大小都是40×40的网格区域。

步骤(2).提取训练数据的ssim(结构相似性)特征。

ar表示训练数据中第t帧上的某块网格区域,aro、ar1、ar2、ar3、ar4、ar5、ar6、ar7分别表示目标区域ar左上、上、右上、左、右、左下、下、右下的8个邻域;目标区域ar的ssim特征组成是{sr0,sr1,l,sr17};

步骤(2).提取训练数据的ssim特征。ar表示训练数据中第t帧上的某块网格区域,ar0、ar1、ar2、ar3、ar4、ar5、ar6、ar7分别表示目标区域ar左上、上、右上、左、右、左下、下、右下的8-邻域。目标区域ar的ssim特征组成是{sr0,sr1……sr17}。

①计算在第t帧和它的前5帧中,邻域ari′与目标区域ar的ssim值之和sri′:

rj(ar)表示在第j帧中的ar区域,rj(ari′)表示在第j帧中的邻域ari′,ssim(x,y)表示两个图像块x和y的结构相似性;

②计算第t帧目标区域ar和前5帧目标区域ar的ssim值之和sr8:

③计算在第t帧和它的后5帧中,邻域ar(i″-9)与目标区域ar的ssim值之和sri″;

④计算第t帧目标区域ar和后5帧目标区域ar的ssim值之和sr17:

通过以上①~④的计算,得到目标区域ar的ssim特征序列{sr0,sr1,l,sr17},用相同的方式计算每一帧图像的每个网格区域的特征序列;将一帧图像中每个网格区域的特征序列连接起来组成一个向量,作为这一帧图像的ssim特征,表示为xr。

步骤(3).训练稀疏自编码网络:

所述的稀疏自编码网络总共有三层,分别为输入层、隐藏层和输出层,稀疏自编码网络如图3所示,输入层节点为216,隐藏节点个数为100,输入层和隐藏层之间的权重参数记为w1,w1∈r216×100,r表示实数集合,隐藏层与输出层之间的权重参数记为w2,w2∈r100×216

将xr作为稀疏自编码网络的输入数据训练此网络,在训练稀疏自编码网络的过程中,根据最小化目标函数的原则对网络中的参数进行迭代更新,稀疏自编码网络的目标函数计算公式为:其中,m为输入的训练样本个数,xri为第i个输入数据,yri为网络第i个输出数据,λ为权重因子的系数,λ=0.0001,d是输入层节点数,与xr的长度相同,d=216,h是隐藏层节点数,h=100,wkj表示隐藏层到输出层之间的权重参数,β为惩罚因子的权重,β=3,ρk′表示隐藏神经元k的平均激活度,ρ为稀疏参数,ρ=0.05,kl(ρ||ρk′)表示kl散度。

当上一次迭代的目标函数与这一次目标函数的均方误差小于1时,迭代结束,得到训练完成的稀疏自编码模型a。

步骤(4).将所有训练数据的ssim特征序列输入到模型a中,得到隐藏层的输出数据hr。计算hr的均值μ和协方差σ。

如图2所示,测试阶段的具体步骤是:

步骤(5).对视频数据集中的测试数据进行预处理:

将测试数据中的每一帧尺寸规范为120×160,120代表每帧图像的高,160代表每帧图像的宽,将尺寸规范后的图像按照网格的方式分割成不重叠的空间区域,形成个12尺寸大小都是40×40的网格区域。

步骤(6).提取测试数据的ssim特征:

ae表示测试数据中第t帧上的某块网格区域,ae0、ae1、ae2、ae3、ae4、ae5、ae6、ae7分别表示目标区域ae左上、上、右上、左、右、左下、下、右下的8个邻域;目标区域ae的ssim特征组成是{se0,se1,l,se17};

⑤计算在第t帧和它的前5帧中,邻域aei′与目标区域ae的ssim值之和sei′:

rj(ae)表示在第j帧中的ae区域,rj(aei′)表示在第j帧中的邻域aei′;

⑥计算第t帧目标区域ae和前5帧目标区域ae的ssim值之和se8:

⑦计算在第t帧和它的后5帧中,邻域ar(i″-9)与目标区域ae的ssim值之和sei″:

⑧计算第t帧目标区域ae和后5帧目标区域ae的ssim值之和se17:

通过以上⑤~⑧的计算,得到目标区域ae的ssim特征序列{se0,se1,l,se17},用相同的方式计算每一帧测试图像的每个网格区域的特征序列;将一帧图像中每个网格区域的特征序列连接起来组成一个向量,作为这一帧图像的ssim特征,表示为xe。

步骤(7).将测试数据的ssim特征xe输入到模型a中,得到隐藏层的输出数据he。根据训练阶段得到的均值μ和协方差σ,利用现有的技术计算he与训练数据的马氏距离α。α<th,判定为正常事件;α≥th,判定为异常事件;设定阈值th=276。

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