一种基于未来帧预测与注意力机制的视频异常检测网络结构与方法

文档序号:37065046发布日期:2024-02-20 21:16阅读:15来源:国知局
一种基于未来帧预测与注意力机制的视频异常检测网络结构与方法

本发明属于深度学习领域,涉及一种信号处理方法和装置,具体涉及一种基于未来帧预测与注意力机制的视频异常检测网络结构与方法。


背景技术:

1、当前多媒体设备传递信息的方式已经逐渐由文字、图像转向视频,视频中包含有丰富的信息,在诸多领域中视频技术出现的频率越来越高,而且已经对社会带来了潜移默化的影响。诸如各类短视频应用不断产生视频数据。另一个视频数据来源是安防监控系统。视频监视的一项关键任务是检测交通事故、非法活动等异常事件。

2、视频异常事件检测顾名思义是对视频中不符合常规行为的事件进行检测,及时发信号通知偏离正常模式的活动,并确定发生异常的时间窗口。当前深度学习领域的研究不断进步,其功能已经超越了传统机器学习算法,这些有利技术的发展给视频异常事件检测带来了广阔的发展前景。

3、近年来计算机视觉技术已经达到了一定水平,国内外学者对视频异常事件检测和视觉注意力领域展开了广泛的研究,取得了众多的研究成果。

4、1.1视频异常检测算法研究现状

5、总体上,根据异常检测采用的基本思路,所有现存方法大致可分为以下三类:

6、(1)基于手工特征的传统异常检测算法

7、基于手工特征的传统异常检测算法,进行包括外观和运动的手工特征提取,学习一个模型来表征正常情景的分布或编码规则模式,最后将不符合常规的离群值识别为异常。

8、虽然基于手工特征的异常检测方法有良好的性能,但无法避免在特定视频场景下进行复杂手工特征设计的步骤,算法中的参数也需要精细地进行不断调整。而且用字典重建的正常事件由于字典没有经过异常事件的训练,通常是过度完备的,我们无法保证期望,不适用于场景和事件多变的视频异常事件检测。

9、(2)基于深度学习的异常检测算法

10、深度学习的异常检测算法在提取视频异常事件特征表示上具有巨大优势,可以自动提取有判别力的特征表示。其中广泛使用的一种是自动编码器的学习形式,在训练模型时先对正常视频数据中的正常模式进行学习,获得正常事件的特征表示,然后通过重构误差的大小判断异常事件。然而由于深度神经网络规模庞大,具有良好性能和泛化性,该假设不成立。因此正常事件和异常事件的重构误差是相似的,从而导致较低的识别率。总体来讲,基于常规训练样本重建的方法大部分都无法完全识别出异常事件。

11、(3)视频帧预测技术

12、最近,预测学习由于其在视频表示的无监督特征学习中的潜在应用而吸引了越来越多的研究者的关注。预测学习包括运动预测。动作预测指的是一种预测出人或物体运动状态的方法。预测是一个艰难的任务,需要建立大量的参数去建模理解运动场景。早些时候学者主要通过机器学习与统计方法来构造模型。光流算法也作为一种轨迹预测可以更好反映出人类或物体运动信息。由于运动本身具有一定的复杂度并且会受到背景的影响,对其进行预测是一项具有挑战性的任务。而且运动预测主要是对人类或物体的运动信息进行建模,所包含的数据量远远不及视频预测,所以在实际应用中有一定局限性。

13、近年来,对抗生成网络(gan)技术的发展使得视频预测领域的技术焕然一新,为视频预测领域带来了巨大变革,使其性能有了大幅提升。注意机制领域的研究目前已经颇有成效,在多类视觉任务中显示出了它的作用。由于视频帧中存在大量对异常检测无关紧要的冗余信息,所以需要将检测点集中于关键区域。然而当前结合注意力机制在视频异常检测中的研究不多。


技术实现思路

1、本发明的目的是提供一种基于未来帧预测与注意力机制的视频异常检测网络结构与方法。网络结构由帧预测生成模块、帧预测判别模块、损失函数的生成模块、异常检测模块组成。通过对帧预测生成模块和帧预测判别模块中添加了注意力机制,使得帧预测生成的质量得到了提升,进而输入到异常检测模块中,与真实帧比较,通过指示指标指示是否发生了异常事件。这种结合对抗生成网络的进行未来帧预测的异常检测方式可以提高异常检测适用场景的灵活性和广泛性。整体简要的一层检测流程图如图9所示。

2、一种基于未来帧预测与注意力机制的视频异常检测网络结构,包括帧预测生成模块、帧预测判别模块、损失函数的生成模块、异常检测模块;所述的视频异常检测网络的整体是基于对抗生成网络的,帧预测生成模块、帧预测判别模块分别对于其生成器和判别器;在训练阶段:所述帧预测生成模块会根据前面的几个连续时刻帧生成新的预测帧,接着预测帧和相关的真实帧被输入到帧预测判别模块进行判别,损失函数的生成模块计算帧预测判别模块、帧预测生成模块的损失函数,并以最小化这两个损失函数为目标,轮流训练帧预测判别模块、帧预测生成模块,直至两个模块的网络损失函数降至网络收敛的程度;测试阶段:所述帧预测生成模块会根据前面的几个连续时刻帧生成新的预测帧,并根据输入至异常检测模块,进行预测帧对应的时刻是否发生了异常事件的判断,进行异常检测;

3、所述帧预测生成模块,包括u-net网络,其特征在于,还包括融合在生成器中的注意力网络;传统u-net仅仅把同层的编码层的特征直接拼接到解码层中,而我们把注意力模块用在了跳跃连接上,改进后的模型将编码层最后的特征图与对应下层解码层最后的特征图先经过注意力模块处理后再和解码层反卷积后的特征图进行拼接,即保持特征图大小不变,在通道维度上进行堆叠;这种做法在保留位置信息的同时滤除无关区域特征,根据深层特征进行引导,突出有价值的特定显著特征。考虑到u-net网络中不同层的不同特征图,希望用深层特征指导浅层特征,达到融合多尺度、广范围特征的目的,我们将注意力模块放置在生成模型不同层中,用于学习多维注意力系数,每个注意力模块都学会关注于特定目标结构区域,从而使得生成图像时对不同目标的细节把握更到位;

4、所述帧预测判别模块,包括马尔科夫鉴别器单元,其特征在于,还包括融合在鉴别模块中的自注意力网络;自注意力网络可以对自注意力特征图进行计算,得到图中所有其他特征点对于该点的影响大小,并在输入特征图上叠加自注意力模块输出最终输出特征图;将自注意力机制引入到模型判别器中的目的是使判别器对于图像结构有更加高级的几何约束能力,能够更加关注于特定目标区域而忽视无关区域来提升判别正确率,从而在对抗训练下使生成器生成图像质量得到提升;

5、所述损失函数的生成模块,包括光流计算单元、光流损失生成单元、梯度损失生成单元、强度损失生成单元、生成器的对抗损失生成单元、鉴别器的对抗损失生成单元等;所述异常检测模块包括性能指标计算单元、异常判别单元;

6、所述一种基于未来帧预测与注意力机制的视频异常检测方法,包括如下步骤:

7、步骤1:帧流的t+1个连续时刻真实帧i1,i2,...,it,it+1被输入视频异常检测网络,本方法框架下,视频流的各视频帧被假设是等时间间隔时刻采集的离散图片序列;

8、步骤2:将输入连续帧的前几个i1,i2,...,it输入到帧预测生成模块中,通过系列的运算得到预测帧

9、步骤3:将预测帧与对应的真实帧it+1一同输入帧预测判别模块,通过系列的运算得到预测帧是否为高质量合理帧的判断;

10、步骤4:将预测帧和对应的真实帧it+1、预测帧前一时刻的真实帧it,输入损失函数生成单元,损失函数的生成模块形成光流损失、梯度损失、强度损失、生成器的对抗损失、鉴别器的对抗损失等分项损失,将各损失加权相加,分别形成帧预测判别模块和帧预测生成模块各自的损失函数,分别输出至帧预测判别模块和帧预测生成模块,供两个模块在训练期间使用;

11、步骤5:分别以最小化各自损失函数为目标,轮流训练帧预测生成模块和帧预测判别模块,直至两个模块的损失都收敛至一定的程度;

12、步骤6:网络训练收敛后,循环执行步骤2,并将各个预测帧输入至异常检测模块中的性能指标计算单元,然后异常判别单元根据计算的判别指标经过阈值比较后,得到各个预测帧对应时刻的视频帧是否是异常帧的结论。

13、如图2所示,所述步骤2中,所述帧预测生成模块中需要进行的系列运算,所述步骤2中,帧预测生成模块是一个近似对称的四层架构,实现了输入前t帧视频图像,输出之后第t+1帧视频图像的功能。帧预测生成模块整体结构包括两部分:改进的u-net网络、生成器的注意力网络。对于浅层特征映射而言,它学习到了图像中的前景目标的位置和类别,但是没有深层学到的特征高级。不同于传统的u-net网络,我们在模型的每层中维持相邻两个卷积操作的特征图大小不变,这样在送入注意力模块时不需要对分辨率大小进行改变。传统u-net仅仅把同层的编码层的特征直接拼接到解码层中,而我们把注意力模块用在了跳跃连接上,改进后的模型将编码层最后的特征图与对应下层解码层最后的特征图先经过注意力模块处理后再和解码层反卷积后的特征图进行拼接,即保持特征图大小不变,在通道维度上进行堆叠。这种做法在保留位置信息的同时滤除无关区域特征,根据深层特征进行引导,突出有价值的特定显著特征。

14、帧预测生成模块,对于输入张量,将经过预处理的视频帧的前t帧堆叠,由于每个rgb图像有三个通道数量,所以整体组成长宽不变,通道个数为3t的输入张量。不同于传统的u-net网络,我们在模型的每层中维持相邻两个卷积操作的特征图大小不变,这样在送入注意力模块时不需要对分辨率大小进行改变。对于构建的模型,全部卷积和反卷积操作的核大小都设置为3×3,最大池化层的核大小设置为2×2,整个网络的细节如图2所示。

15、考虑到u-net网络中不同层的不同特征图,希望用深层特征指导浅层特征,达到融合多尺度、广范围特征的目的,我们将注意力模块放置在生成模型不同层中,用于学习多维注意力系数,每个注意力模块都学会关注于特定目标结构区域,从而使得生成图像时对不同目标的细节把握更到位。图2所示的生成模型中的注意力模块a的详细结构在图3中进行了展示。

16、其中a表示生成模型中的注意力模块,在注意力模块中,将改进的u-net网络编码部分每层最后的输出结果xl与对应下一层解码部分的最后输出结果gl一同输入到注意力模块中,其中fl表示编码层l中的特征图个数,fg表示解码层gl中的特征图个数。通过输入xl与gl构建一个像素权重图,即注意力系数图α,其矩阵中每个值的范围在0至1之间,用于对权重进行再分配以关注于特定图像区域。最后注意力模块的输出即为输入特征图和注意力系数图的矩阵乘法。gl作为门控信号影响xl的各像素权重。

17、生成模型中的注意力模块原理与计算流程

18、注意力函数计算的是当前隐藏状态和之前隐藏状态之间的权重分配值,有多种不同的类型,包括:加性注意力、乘法注意力等。我们可以的注意力模块使用加性注意力来计算注意力系数,注意力系数计算流程如下:

19、

20、

21、

22、其中表示第l层编码器最后一个特征图的第i个像素空间位置对应的特征向量,表示与第l层编码器对应的下一层解码器的最后一个特征图的第i个像素空间位置对应的特征向量。注意力模块所有的特征参数包括和公式(4)中的σ1(x)表示relu激活函数,σ2(x,c)表示sigmoid激活函数,σ1(x)与σ2(x,c)的表达式如下。

23、σ1(x)=max(0,x)                  (4)

24、σ2(x,c)=1/(1+exp(-x,c))             (5)

25、为了使加法器顺利执行,需要保证两路信号的通道数、长度、宽度一致。通道一致性处理方案设定wg和wx卷积层的滤波器数量为fm,从而使得gl和xl特征图通过卷积后得到的通道数量一致。在长度、宽度一致性处理上给出了一套更为普遍的方案:wx为n×n卷积层,步长s为n,padding为0,n作为参数可以配置为1,2或其它值。wg为1×1卷积层,通过重采样器得到hx/n×wx/n大小的分辨率。同理,为了使乘法器顺利执行,经过sigmoid之后的单通道信号也需要进行重采样,例如2d采用bilinear的双线性插值法,得到和xl相同分辨率的特征图之后在进行扩张操作,得到和xl形状完全相同的权重图,最后与xl进行点乘运算。

26、注意力模块的参数不用使用基于采样的迭代方法,仅使用反向传播便能训练完成。注意力模块在正向传播和反向传播的过程中保留特定神经元激活,滤除一些其他神经元。l-1层的卷积参数更新方法如下所示:

27、

28、总体而言注意力模块可以理解为:两个输入量gl与xl首先在通道数量上进行改变,依次由fg、fm最后变为1,变化的过程中gl和xl分别和通过反向传播训练的权重矩阵做乘法运算,得到了两者每个元素的权重分配结果,这个权重分配是根据特定目标学习得到。注意力的作用就是调整权重,意味着通过引入注意力机制来学习每个元素与目标之间的重要度。

29、所述步骤3中,所述预测判别模块中需要进行的系列运算,指的是如图4、图5、图6所示的运算,整体结构如图4所示。主要可以通过图片切割后通过各个鉴别子网络系列的卷积操作等提取特征,并进一步进行判别出分数,然后综合各个自鉴别网络的分数,得到整个网络的分数。帧预测判别模块包括马尔科夫鉴别器单元,鉴别模块的自注意力网络两部分结构。马尔科夫鉴别器单元如图4所示,每次只输入一个块区域大小的图像,然后让子鉴别器d对这个块区域图像判断是否为真,采用类似cnn滑窗的方法得到每个块区域的鉴别器输出值,将这些输出值进行平均得到最后判别器的输出结果。判别器模型整体输出为一个0到1之间的最终分数,表示判别为真或假的概率值。而这个最终分数是输入图像分割成的n个图像块各自通过d卷积网络得到的分数的平均值。d卷积网络加入了自注意力模块,并且其输出也是经过sigmoid之后的0到1之间的分数。d卷积网络的结构如图5所示。

30、其中sa即为自注意力模块,判别器整体包括5个卷积层和最后一层的sigmoid运算,所有卷积层采用4×4卷积核,前四个卷积层步长s为2,滤波器个数依次倍增,每层具体而言都依次进行convolution、normalization、relu操作。我们在第三个以及第四个卷积层后加入自注意力模块,至于为何选择第三、四层加入注意力模块是由于经过试验讨论,在各种注意力模块的灵活设置方案中,在这两层加入注意力模块的性能提高的程度和付出计算量代价的性价比比较高。最后,通过一层步长为1,卷积核个数为1的卷积操作,将特征图展平并进行sigmoid运算得到最终真或假的概率值分数。

31、判别模型中的注意力模块架构

32、将自注意力机制引入到模型判别器中的目的是使判别器对于图像结构有更加高级的几何约束能力,能够更加关注于特定目标区域而忽视无关区域来提升判别正确率,从而在对抗训练下使生成器生成图像质量得到提升。图5所示的判别模型的d卷积网络中的注意力模块sa的详细结构在图6中进行了展示。

33、判别模型中的注意力模块原理与计算流程。

34、输入特征图叠加自注意力模块的运算流程整体上包括下面三个步骤:

35、(1)计算注意力特征图(attention maps)

36、前一层得到的特征图其中c是通道数,n是前一层特征图特征点总数量,可以将输入特征图看成是一个[c,n]维矩阵。接着将输入特征图转换到两个特征空间f,g,有f(x)=wfx,g(x)=wgx,经过权重相乘后两者都变为维矩阵。之后将f(x)矩阵转置与g(x)矩阵相乘,并通过softmax,用公式表示为:

37、

38、对矩阵{sij},即图中的a1矩阵按行逐次进行softmax操作,之后得到的矩阵中的各行即对应为一种注意力机制,其实质是原始特征图中一个像素位置与其余像素位置的依赖关系,n行也就对应了起初的n个像素位置。矩阵{βi,j}即图6中的a2矩阵就是得到的注意力特征图,其第i行表示其他所有特征点对第i个特征点的贡献值,第j列表示第j个特征点对其他所有特征点的贡献值。

39、(2)计算自注意力特征图(self-attention maps)

40、a3矩阵的元素由h(xi),i=1,2,3,...,n组成,a2与a3矩阵经过系列的运算后得到了特征图h(x)的每个像素点加入n种注意力机制后的值;自注意力的实现体现在:运算后各个像素点与其余所有像素点都建立了一定关联;自注意力特征图其中:

41、

42、(3)计算叠加自注意力的最终输出特征图

43、最后将注意力层的输出乘以比例参数,然后加上原始特征图得到输出结果为:

44、yi=γoj+xi              (9)

45、其中γ是一个能够通过学习更新的参数,考虑到在网络起始训练时,希望采用不加入自注意力模块的方式先把局部信息学好,所以初始化γ为零。接下来网络在迭代的过程中开始慢慢学习使用自注意力模块去获取长距离依赖的特征。

46、关于f(x)和g(x)的输出通道数值的设定问题,我们采用的设定方式。出于减少参数量的目的,所以要尽量减少通道的数量,而实验表明中k=1,2,4,8对于结果影响并不大,那么最终选择的设定方式。

47、最终输出特征图的不同通道体现了远程像素依赖条件下的关注特征。

48、所述步骤4中,损失函数的生成模块形成光流损失、梯度损失、强度损失、生成器的对抗损失、鉴别器的对抗损失等分项损失。

49、为了使预测更接近真实值,使用图像强度、梯度和运动光流约束来保证预测效果。图像强度与梯度约束确保了两张图像外观的像素级相似性。强度约束重点在于保证两张图像对应位置像素点的足够接近,梯度约束保证了两张图像在纹理变化的细节上足够相似。运动光流损失函数保证预测出运动正确的帧。

50、强度损失函数最小化了像素空间中的第t帧的真实帧it和它的预测帧之间的l2距离,用表示。一张图像的梯度信息包含像素点上下及左右两个维度,将第t帧的真实帧it和它的预测帧之间的上下维度的l1距离和左右维度的l1距离相加,可以构成梯度损失函数,定义为最后需要加入运动光流损失函数,使用flownet进行运动光流信息的计算,f表示为光流网络,运动光流损失函数将预测的下一帧和真实帧it的光流值与真实两帧光流值的l1距离最小化,表示为lop。

51、除了以上约束外,还应该考虑对抗生成网络的损失函数。gan的生成器g与判别器d,g是一个加入注意力模块的改进u-net结构,d为马尔科夫判别器,目标函数使用最小二乘gan(least squares gans)形式。d的目的是真判真,假判假,用1表示真标签,0表示假标签,那么判别器训练目标是区分it+1为类1,为类0。d的均方误差损失函数如下:

52、

53、其中m,n定义为空间块索引值,即马尔科夫判别器采用的将一张图片分成不同空间块去进行判别,而m×n的值就是拆分后的总块数。lmse为mse函数,定义如下:

54、

55、y在{0,1}内取值,g的目的是生成帧,d将生成帧分类为类1。同样g的均方误差损失函数如下:

56、

57、目标函数

58、对于生成器g而言,考虑到的约束条件包括图像强度、梯度以及运动光流约束,另外加入对抗性训练约束,即生成能够以假乱真的图像,形成如公式(13)所示的生成器的对抗损失lg。对于判别器d而言,无需考虑生成时生成帧与预测帧的像素级差异,只需考虑能够做出正确的判别,形成如公式(14)所示的鉴别器的对抗损失ld。

59、

60、

61、鉴别器的对抗损失ld、生成器的对抗损失lg分别输出至帧预测判别模块和帧预测生成模块,供两个模块在训练期间使用。

62、所述步骤5中,帧预测判别模块和帧预测生成模块分别以最小化鉴别器的对抗损失ld、生成器的对抗损失lg为目标,依次轮流进行各自网络结构的反馈训练。

63、具体的训练参数选择之一为:数据输入模型前先将视频帧的像素值标准化到-1至1之间,并将每帧的形状统一调整为256×256。设置步长帧数t=4,预测帧数为1,即用前4帧图像生成后1帧预测图像。这样在准备训练数据时,就需要使用5个连续的视频帧组成一个切片,对所有的训练视频每个视频随机采样5个连续的视频帧,前4帧作为生成器的输入,后1帧作为真实帧图像。使用adam型随机梯度下降法对参数进行迭代更新,mini-batch大小为4。参数λint、λgd、λop和λadv起始设置为1.0、1.0、2.0和0.05。对于对抗生成网络的训练,保持训练过程稳定的技巧,主要有两点:(a)在对抗生成网络中使用谱归一化的方法,将更好地控制参数的更新变化情况,从而缓解了梯度爆炸,使得网络训练更加平稳。(b)训练带有注意力模块的gan使用交替训练方案,生成器训练一次后训练多次判别器。具体体现为生成器与判别器的学习速率不同,生成器在灰度数据集与彩色数据集上学习速率分别为0.0001和0.0002,判别器在两类数据集上学习速率分别为0.00001和0.00002。

64、所述步骤6中,性能指标的计算方法如公式(15)、(16)所示,可以通过每帧的得分s(t)判别该帧异常与否的情况,例如通过设置一个阈值将正常帧与异常帧进行分类。阈值的设置方法可以根据观察某个测试集中的表现,选取正常帧稳定范围之外的某个值作为阈值。

65、psnr同样也是一个效果较佳的图像质量评估指标,它的定义如公式(15)所示。

66、

67、其中表示图片最大像素值,有b是像素值二进制的位数。从式(15)可以看出i与的差异越小psnr值越高,即对于当前帧而言,越高的psnr值说明它更可能是正常事件。在得到每一帧的psnr值之后,为了提高数据的表现以及便于对数据范围的划分,将计算得到的psnr值进行归一化操作,通过公式(16)获取各帧t的最终得分:

68、

69、因此,可以通过每帧的得分s(t)判别该帧异常与否的情况,例如通过设置一个阈值将正常帧与异常帧进行分类。

70、本发明一种基于未来帧预测与注意力机制的视频异常检测网络结构与方法的优点在于:

71、(1)针对未来帧预测中的生成模型,基于图像分割流行的u-net网络,考虑到不同层之间的内在联系,提出了一种加入注意力模块使得能够更好融合不同层信息的u-net模型,生成了图像质量更佳的未来视频帧;

72、(2)本发明将自注意力机制引入到模型判别器中的目的是使判别器对于图像结构有更加高级的几何约束能力,能够更加关注于特定目标区域而忽视无关区域来提升判别正确率,从而在对抗训练下使生成器生成图像质量得到提升。

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