[发明专利]基于双向回顾生成对抗网络的视频异常事件检测方法在审

专利信息
申请号: 202010878108.6 申请日: 2020-08-27
公开(公告)号: CN112052763A 公开(公告)日: 2020-12-08
发明(设计)人: 刘静;杨智伟 申请(专利权)人: 西安电子科技大学
主分类号: G06K9/00 分类号: G06K9/00;G06N3/04;G06N3/08
代理公司: 陕西电子工业专利中心 61205 代理人: 田文英;王品华
地址: 710071*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 双向 回顾 生成 对抗 网络 视频 异常 事件 检测 方法
【权利要求书】:

1.一种基于双向回顾生成对抗网络的视频异常事件检测方法,其特征在于,构建了一个由生成器、帧判别器和序列判别器组成的生成对抗网络,在训练时,采用前向和后向预测并联合回顾性预测的双向回顾的方式,通过生成器、帧判别器和序列判别器的交替更新对生成对抗网络进行训练,得到一个能准确预测视频中正常事件将来帧图像而无法准确预测视频中异常事件将来帧图像的生成器;该方法具体步骤包括如下:

(1)构建一个生成对抗网络:

(1a)搭建一个15层的生成器网络,其结构依次为:输入层→第一卷积层→第一归一化层→第一激活函数层→第二卷积层→第二归一化层→第二激活函数层→第一下采样层组合→第二下采样层组合→第三下采样层组合→第一上采样层组合→第二上采样层组合→第三上采样层组合→第三卷积层→输出层;所述每个下采样层组合的结构依次为:第一最大池化层→第一卷积层→第一归一化层→第一激活函数层→第二卷积层→第二归一化层→第二激活函数层;所述每个上采样层组合的结构依次为:第一反卷积层→第一卷积层→第一归一化层→第一激活函数层→第二卷积层→第二归一化层→第二激活函数层;第一、二、三下采样层组合输出的特征图分别与第一、二、三上采样层组合输出的特征图进行拼接融合;

设置生成器网络中每层的参数为:将第一、二、三卷积层中的卷积核大小均设置为3×3,卷积步长均设置为2,卷积核的个数均为64;第一、二激活函数层均采用ReLU函数实现;

所述每个下采样层组合中的最大池化层的池化卷积核大小均设置为2×2,池化步长均设置2;卷积层的卷积核大小均设置为3×3,卷积步长均设置为2,卷积核的个数分别为128,256,512;激活函数层均采用ReLU函数实现;

所述每个上采样层组合中的反卷积层的卷积核大小均设置为2×2,卷积步长均设置为2;卷积层的卷积核大小均设置为3×3,卷积步长均设置为2,卷积核的个数分别为256,128,64;激活函数层均采用ReLU函数实现;

(1b)搭建一个14层的帧判别器网络,其结构依次为:输入层→第一卷积层→第一激活函数层→第二卷积层→第一归一化层→第二激活函数层→第三卷积层→第二归一化层→第三激活函数层→第四卷积层→第四激活函数层→第五卷积层→第五激活函数层→输出层;

设置帧判别器网络中每层的参数为:将第一、二、三、四、五卷积层的卷积核大小均设置为3×3,卷积步长均设置为2,卷积核的个数依次设置为128、256、512、512、1;第一、二归一化层均采用BatchNorm2d函数实现;第一、二、三、四激活函数层均采用LeakyReLU函数实现,其斜率均设置为0.2;第五激活函数层采用Sigmoid函数实现;

(1c)搭建一个16层的序列判别器网络,其结构依次为:输入层→第一3D卷积层→第一3D最大池化层→第一归一化层→第一激活函数层→第二3D卷积层→第二3D最大池化层→第二归一化层→第二激活函数层→第三3D卷积层→第三3D最大池化层→第三归一化层→第三激活函数层→第四3D卷积层→第四激活函数层→输出层;

设置序列判别器网络中每层的参数为:将第一、二、三、四3D卷积层的卷积核大小均设置为2×3×3,卷积步长均设置为1×2×2,卷积核的个数依次设置为128、256、512、1;第一、二、三3D最大池化层的池化卷积核大小均设置为2×3×3,池化步长均设置为1×2×2;第一、二、三归一化层均采用BatchNorm3d函数实现;第一、二、三激活函数层均采用LeakyReLU函数实现,其斜率均设置为0.2;第四激活函数层采用Sigmoid函数实现;

(1d)将生成器网络与帧判别器网络和序列判别器网络分别级联组成生成对抗网络;

(2)初始化生成对抗网络:

将生成对抗网络中所有的卷积层和归一化层的权重初始化为满足正态分布的随机值;其中,所述正态分布的均值为0,标准差为0.02;

(3)生成训练数据集:

选取时长为T分钟的不包含任何异常事件的连续监控视频,将其依次切分成长度为5,大小为W×H的多组视频帧序列组成训练数据集;其中,T>10,W、H分别表示每帧图像的宽和高,64≤W≤256,64≤H≤256,W和H的单位为像素;

(4)采用双向回顾方式,对生成器网络进行训练:

(4a)将每组视频帧序列前4帧按正向时间顺序排列成正向视频帧序列,再将每组视频帧序列后4帧按反向时间顺序排列成反向视频帧序列;

(4b)将正向视频帧序列输入到生成器网络中进行前向预测,输出前向预测帧图像;将反向视频帧序列输入到生成器网络中进行后向预测,输出后向预测帧图像;

(4c)将前向预测帧图像加入到之前用于前向预测的视频帧序列中,再将扩展后的视频帧序列的后4帧,按反向时间顺序进行排列后输入到生成器网络中进行后向回顾性预测,输出后向回顾性预测帧图像;将后向预测帧图像加入到之前用于后向预测的视频帧序列中,再将扩展后的视频帧序列的前4帧,按正向时间顺序排列后输入到生成器网络中进行前向回顾性预测,输出前向回顾性预测帧图像;

(4d)根据双向预测和回顾性预测产生的多个预测帧图像与真实帧图像之间的误差构建的生成器网络损失函数,计算生成器网络的损失值;利用梯度下降法将生成器网络的损失值反向传播,计算生成器网络每个卷积层和反卷积层中的每个卷积核的所有梯度;根据生成器网络每个卷积层和反卷积层中的每个卷积核的所有梯度,使用Adam优化器对生成器网络每个卷积层和反卷积层中的每个卷积核的所有权重进行迭代更新;所述Adam优化器的初始学习率为0.0002;

(5)对帧判别器网络进行训练:

(5a)将前向预测帧图像与其真实图像、后向预测帧图像与其真实图像、前向回顾性预测帧图像与其真实图像和后向回顾性预测帧图像与其真实图像依次输入到帧判别器网络中,帧判别器网络输出对应的真伪概率;

(5b)根据帧判别器网络输出的真伪概率构建的帧判别器损失函数,计算帧判别器网络的损失值;利用梯度下降法将帧判别器网络的损失值反向传播,计算帧判别器网络每个卷积层的每个卷积核的所有梯度和归一化层的所有梯度;根据帧判别器网络每个卷积层的每个卷积核的所有梯度和归一化层的所有梯度,使用Adam优化器对帧判别器网络每个卷积层的每个卷积核的所有权重和归一化层的所有权重进行迭代更新;所述Adam优化器的初始学习率为0.00002;

(6)对序列判别器网络进行训练:

(6a)将前向预测帧图像、后向预测帧图像、回顾性预测帧图像和对应的输入帧图像组成视频帧序列与对应的真实视频帧序列依次输入到序列判别器网络中,序列判别器网络输出对应的真伪概率;

(6b)根据序列判别器网络输出的真伪概率构建的序列判别器损失函数,计算序列判别器网络的损失值;利用梯度下降法将序列判别器网络的损失值反向传播,计算序列判别器网络每个卷积层的每个卷积核的所有梯度和归一化层的所有梯度;根据序列判别器网络每个卷积层的每个卷积核的所有梯度和归一化层的所有梯度,使用Adam优化器对序列判别器网络每个卷积层的每个卷积核的所有权重和归一化层的所有权重进行迭代更新;所述Adam优化器的初始学习率为0.00002;

(7)判断生成器网络损失函数是否收敛,若是,则执行步骤(8),否则,执行步骤(4);

(8)完成双向回顾生成对抗网络的训练,得到训练好的生成器网络权重,保存训练好的双向回顾生成对抗网络中生成器网络每个卷积层和反卷积层的每个卷积核的所有权重;

(9)对视频进行检测:

将待检测的视频依次切分成长度为5,大小为M×N的视频帧序列,将视频帧序列的前4帧输入到训练好的生成器网络中,输出预测的将来帧图像,根据预测的将来帧图像与视频帧序列中第5帧真实图像之间的误差来计算异常分数S,若该异常分数S超过设定阈值,则判断该将来帧图像中发生异常,否则,判断该将来帧图像中未发生异常;其中,M,N的取值与W,H的取值相等,异常分数S的取值范围为0≤S≤1。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010878108.6/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top