融合混合注意力的自编码器视频异常检测

2024-02-22 07:45杨晓文谢剑斌欧阳楠楠忽欣谕王晋涛
计算机工程与设计 2024年2期
关键词:编码器注意力卷积

郑 重,杨晓文,谢剑斌,欧阳楠楠,忽欣谕,王晋涛

(1.中北大学 计算机科学与技术学院,山西 太原 030051;2.中北大学 机器视觉与虚拟现实山西省重点实验室,山西 太原 030051;3.山西省视觉信息处理及智能机器人工程研究中心,山西 太原 030051;4.湖南中科助英智能科技研究院,湖南 长沙 410076)

0 引 言

随着计算机视觉技术的不断发展,深度学习在视频异常检测领域取得了巨大的成功[1]。U-net网络被广泛应用在视频异常检测中,Tang等[2]通过构建生成器实现将预测与重构相结合,生成器由两个连续的U-net组成,第一个U-net预测过渡时刻的帧,第二个U-net利用该帧预测未来时刻的帧,通过强度值与梯度值最小化重构误差。Mem-AE[3]提出了一种存储记忆模块,并在U-net网络中嵌入存储记忆模块存储正常数据的潜在特征,降低了模型的“泛化”能力。Hao等[4]提出了一种外观运动一致性网络,利用外观和运动信息的先验知识在特征空间中捕获其对应关系。基于重构或预测方法的视频异常检测,U-net网络的跳连接能使重构或预测图像获得较高的分辨率,但也会导致异常行为区域被清晰的重构或预测。

为提高模型对样本正常行为特征的提取能力,同时抑制异常行为的生成,本文提出了一种融合混合注意力的自编码器视频异常检测网络,包含编码器、解码器、混合注意力模块(channel spatial cross fusion attention module,CSCFAM)、存储记忆模块(Memory)4个部分。在编码器和解码器之间的跳连接上逐层融合本文提出的CSCFAM模块,训练时对正常样本以高权重聚焦重要信息,测试时异常行为特征的提取不符合此权重,因此一定程度上抑制了异常行为的生成。同时,在瓶颈结构处引入Memory模块记录正常样本不同模式的深层语义特征,进而使异常样本产生更高的预测误差。

1 相关工作

1.1 基于深度学习的视频异常检测

基于深度学习的视频异常检测方法主要分为基于重构和基于预测的方法[5]。基于重构的方法核心思想是异常样本比正常样本产生更大的重构误差。胡海洋等[6]提出了一种融合自编码器和one-class支持向量机的异常事件检测模型,结合了传统模型与深度学习模型,使视频异常事件检测结果更加准确。Deepak等[7]等提出了一种残差时空自动编码器模型,通过对正常样本的时空表示进行无监督学习,并利用残差块缓解梯度消失问题。Dong等[8]提出了一种基于双鉴别器生成对抗性网络结构的半监督算法,该算法利用帧鉴别器和运动鉴别器以生成更真实的帧。Luo等[9]提出了一种时间相干稀疏编码TSC网络,使用时间相干保持两个相似帧之间的相似性,减少优化字典和稀疏系数交替更新的计算成本。目前基于重构的方法由于模型的“泛化”能力太强,异常行为也可能被很好重构,因此并不能保证正常样本的重构误差小于异常样本的重构误差。

基于未来帧预测的视频异常检测方法通过给定几个连续帧以训练模型预测下一个未来帧。Lu等[10]受半监督生成模型的启发,提出了一种基于未来帧预测结构的序列生成模型,将ConvLSTM与VAE相结合预测未来帧,从而提升了异常检测精度。Yang等[11]提出了多尺度结构相似性(multi-scale structural similarity,MS_SSIM)损失缓解前景背景不平衡问题,使网络在训练过程中更关注前景的边界。为增强传统生成对抗网络的时空利用率和检测效果,刘成明等[12]在生成对抗网络中融入门控自注意力机制抑制与异常检测任务不相关背景区域的特征表达。目前基于未来帧预测的方法大多未考虑正常样本的多样性,并且无法有效的抑制异常行为的生成。

1.2 注意力机制

注意力机制[13]可以为特征图中不同目标分配不同的权重,有用信息分配高权重,噪音、冗余等无用信息分配低权重,并且可不断调整权重,具有较高的可扩展性和鲁棒性。为直接建模权重向量和输入之间的对应关系,Wang等[14]提出了通道注意力机制(efficient channel attention,ECA),该机制只考虑每个信道与其k近邻之间的直接交互,从而控制模型的复杂性。Woo等[15]提出了卷积块注意力模块(convolutional block attention module,CBAM),该模块将通道注意力和空间注意力串联,通道注意力特征图和空间注意力特征图解耦以提高计算效率,并通过引入全局池化获得空间全局信息。Liu等[16]提出了一种全局注意力机制(global attention mechanism,GAM),通过减少信息的损失和提高全局特征的交互,提高了深度神经网络的性能。Li等[17]提出了一种基于注意力机制的未来帧预测的视频异常检测框架,在自编码器中引入注意力机制实现了更高异常检测精度。

2 方 法

2.1 总体框架

本文提出了一种融合混合注意力的自编码器视频异常检测算法,如图1所示,整个网络由4个部分组成:编码器、解码器、混合注意力模块(CSCFAM)、存储记忆模块(Memory)。在编码器和解码器的跳连接上融合本文提出的CSCFAM模块,并在瓶颈结构处引入Memory机制。编码器中,每层特征先进行两次卷积(Conv、BN、Relu)使特征图的通道数量翻倍,然后通过CSCFAM模块获得混合注意力特征,再使用最大池化下采样将其尺寸大小减半。为了保证空间信息的结构和完整,编码器的最后一层不使用BN和Relu,Memory模块读取从编码器提取的查询项特征并更新其存储项特征,再将查询项特征和存储项特征拼接传递至解码器中。解码器中使用反卷积进行特征图尺寸大小翻倍和通道减半,并与混合注意力特征拼接。本文是基于视频帧预测的方法,将连续的4帧作为输入以获取第5帧的预测,根据预测帧与真实帧的差异判断真实帧是否异常。

2.2 跳连接融合混合注意力模块

为充分学习正常样本的局部和全局信息,并抑制测试时异常行为的生成,本文提出了混合注意力模块(CSCFAM),并将其融合至跳连接层。CSCFAM体系结构如图2所示,包含通道注意力(channel attention,CA)、空间注意力(spatial attention,SA)、交叉融合模块(cross fusion block,CFB)3个部分。先分别提取输入特征图Fin的通道注意力特征Fch和空间注意力特征Fsp, 再将Fch和Fsp交叉融合传递到解码中。

图2 混合注意力CSCFAM模块

(1)通道注意力。通道注意力用于分配每个特征通道的重要性,如图2中通道注意力模块所示,将原始输入特征图Fin通过全局平均池化获得聚合特征,再用动态卷积核大小为k的1维卷积提取其特征,并使用Sigmoid函数得到各个通道分配的权重,最后将权重与原始输入特征图对应通道的元素相乘,以此实现通道注意力。动态卷积核大小为k的定义如式(1)

(1)

式中:k表示卷积核大小,C表示通道数,|·|odd表示k只能取奇数,γ和b用于改变通道数C和卷积核大小和之间的比例。

(2)空间注意力。空间注意力用于提取图像中感兴趣的区域,忽略无关紧要的区域。如图2中空间注意力模块所示,为关注空间信息,使用3个不同尺度的卷积层进行多尺度空间信息融合。首先通过卷积核为1×1的卷积缩减通道数量,减小计算量;然后先后经过卷积核3×3和5×5的卷积操作;再使用1×1的卷积增加通道数量,保持与原始输入通道数量的一致,并经过Sigmoid输出空间注意力特征图;最后将注意力特征图与原始输入特征图对应元素相乘,得到最终的输出特征图。

(3)交叉融合模块。交叉融合模块用于将通道注意力特征和空间注意力特征融合形成交叉注意力特征。交叉融合模块运算如式(2)~式(4)所示

(2)

(3)

(4)

图3 矢量化特征运算VO

本文实验结果表明,跳连接融合CSCFAM模块增强了模型的性能,显著提高了对视频异常事件检测的准确率。在第3节消融实验中,进行了CSCFAM中通道注意力、空间注意力、交叉融合3个模块不同组合的性能比较。

2.3 存储记忆模块

为降低自编码器的模型的“泛化”能力,本文在自编码器的瓶颈结构处引入存储记忆模块[18]来记录正常行为的潜在特征。如图4所示,首先将编码器输出的特征图C×H×W分成K个查询项 (q1,q2,…,qK), 其中K=H×W, 每个查询项的大小为C×1×1, 共有M个C×1×1大小的存储项,存储项用于记录正常数据的潜在特征。存储记忆模块主要由读取模块和更新模块组成,其工作原理是:读操作首先计算每个查询项与所有存储项的余弦相似度,再将其归一化后作为查询项与存储项对应的读取权重,通过权重的加权平均值读取存储项。

图4 存储记忆模块

更新操作则与之相反,计算每个存储项与所有查询项的余弦相似度并归一化后作为相应的更新权重,进而更新存储项的特征,通过读操作和更新操作实现存储记忆功能。

2.4 网络训练的约束函数

2.4.1 强度约束

(5)

式中:|·|2表示欧几里得距离,用于计算强度损失。

2.4.2 多尺度梯度幅度相似性约束

为抑制仅使用强度损失Lint导致预测帧的模糊性,使用多尺度梯度幅度相似性损失(multi-scale gradient magnitude similarity,MSGMS)[19],MSGMS损失是基于梯度强度相似性损失(gradient magnitude similarity,GMS)改进的多尺度梯度幅度相似性损失,能获得更清晰的预测帧。首先计算真实帧的梯度强度,如式(6)所示

(6)

式中:hx和hy是沿x和y维度3×3的滤波器,*表示卷积操作。真实帧与预测帧之间的梯度相似度,如式(7)所示

(7)

(8)

2.4.3 存储记忆模块的特征紧凑性约束和特征分离性约束

(1)特征紧凑损失使查询项和存储项的特征距离更小,所有查询都在存储项中紧密映射,因此能更好查询各种正常模式的潜在特征。如式(9)所示

(9)

(10)

(2)特征分离损失存使类似的查询项分配给同一存储项,以减少存储项的数量和内存大小,且避免存储器失去记录各种正常模式的能力。如式(11)所示

(11)

式中:α表示裕度,n的定义如式(12)所示

(12)

2.5 目标函数

在训练阶段,网络学习目的是使得预测帧与真实帧的差异最小,为达到更好的训练效果,因此本文结合了强度损失、多尺度梯度损失以及存储记忆模块的特征紧凑和特征分离损失,目标函数如式(13)所示

(13)

式中:L为综合损失,Lint为强度损失,Lg为多尺度梯度损失,Lcompact为存储器特征紧凑损失,Lseparate为存储器特征分离损失;λint,λg,λc,λs代表各部分的权重参数。

2.6 异常检测分数

由于存储记忆模块录了正常数据的原型模式,假设从正常视频帧获得的查询项与存储项类似,计算每个查询项与最近的存储项之间的L2距离,如式(14)所示

(14)

(15)

式中:N为每帧像素个数,当PNSR越小,表明预测帧异常的概率越大。

(16)

(17)

最终使用式(16)和式(17)两个度量的和作为最终异常分数,如式(18)所示

(18)

式中:λ为平衡两者的权重参数。

3 实验分析

3.1 实验数据集

为验证本文提出的融合混合注意力的视频异常检测算法的可行性,实验中使用两个公开数据集UCSD Ped2、CUHK Avenue进行训练和测试。

UCSD Ped2数据集[20]包含16个训练视频和12个测试视频,训练视频共2550帧全部为正常样本,测试视频共2010帧正常样本和异常样本,其中异常样本包含骑自行车、驾驶车辆和滑板等异常类型。

CUHK Avenue数据集[21]包含16个训练视频和21个测试视频,训练视频共15 328帧全部为正常样本,测试视频15 324帧正常样本和异常样本,其中异常样本包含跑步、投掷物体、游荡等异常行为。

3.2 参数设置与评价指标

本文所有实验均在单张NVIDIA GeForce RTX 2080 Ti显卡上完成,输入视频帧统一调整为256×256大小,且每帧都标准化为[-1,1]的范围,采用Adam优化器,初始学习率设置为0.0002,并使用余弦退火方法对其进行衰减,batch size设置为4。对式(13)中各部分损失对应的权重λint,λg,λc,λs分别设置为1、0.2、0.1、0.1;对式(18)中的参数λ设置为0.6。UCSD Ped2、CUHK Avenue数据集上都训练60个epoch,都用连续4帧预测第5帧,Memory模块中的存储项个数全部设置为10。

根据式(18)计算的异常分数,参照文献[2,7,17]的评价方法,使用ROC曲线下的面积(area under curve,AUC)作为评价指标,AUC越大说明异常检测效果越好。

3.3 与现有方法的比较

将本文算法与现有视频异常检测算法进行对比,表1中列出了不同方法在UCSD Ped2、CUHK Avenue数据集上得到的帧级AUC结果。本文方法在UCSD Ped2数据集上AUC达到97.3%,在CUHK Avenue数据集上达到87.0%。

表1 本文方法与其它方法在不同数据集的

如表1所示,在两个数据集中本文算法帧级AUC指标均最高。与第二名的STCEN[4]相比,在UCSD Ped2和CUHK Avenue数据集上帧级AUC均提高了0.4%。本文在编码器和解码器的跳连接上添加通道空间混合注意力CSCFAM模块,能更好提取特征图的全局和局部信息,因只有正常数据参与训练,所以对于测试集中的异常行为特征CSCFAM混合注意力机制往往是不能很好提取,避免了编码器特征直接拼接到解码器中导致异常行为也能很好的生成。瓶颈处的存储器机制记录正常数据的原型模式,在测试中可以对异常行为特征进行约束,降低了模型的泛化能力,也提高了准确率。

如图5所示,方框内表示异常行为,图5(a)、图5(b)

图5 UCSD-ped2数据集和CUHK Avenue

分别展示了本文算法在UCSD Ped2和CUHK Avenu测试数据集上部分连续帧上的真实标签和异常分数,标签为0表示正常样本,为1表示异常样本。由图5(a)可知,对于UCSD Ped2数据集正样本的异常分数大多数小于0.15,异常样本的异常分数大多数大于0.15;由图5(b)可知,对于CUHK Avenue数据集正样本的异常分数大多数小于0.1,异常样本的异常分数大多数大于0.1。图中连续异常帧的异常分数波动较大,主要是因为骑自行车、驾驶车辆、跑步等异常行为存在被正常行为如正常行走的人遮挡。

3.4 定性结果

图6展示了本文算法在UCSD Ped2(图6(a)、图6(b)) 和CUHK Avenue(图6(c)、图6(d))测试数据集上预测帧和真实帧之间误差图的可视化结果。由图6(b)和图6(d)可知,本文算法对于正常行为区域的误差比异常行为区域的误差要小,能很好定位自行车、奔跑中的人等异常行为区域。

3.5 消融实验

(1)有效性比较。为验证存储记忆模块和混合注意力模块的作用,以UCSD Ped2数据集为例,在本文网络中逐一增加存储器记忆模块和CSCFAM模块来验证其有效性。如表2所示,Memory模块使帧级AUC提升了0.7个百分点,CSCFAM模块使帧AUC提升1.8个百分点,验证了在编码器和解码器的瓶颈结构处融合Memory模块、跳跃连接处融合CSCFAM模块能够有效提升视频异常检测的效果。

表2 在UCSD Ped2数据集上有/无Memory和

图7展示了跳连接层有无CSCFAM模块的预测误差图,图8展示了有无Memory和CSCFAM模块的ROC曲线。由图7可知:对于正常帧而言,有无CSCAFM模块对预测误差图的结果影响不大,预测误差图中的误差都较小;但对于异常帧而言,有CSCAFM模块使得预测误差图中的异常行为区域更加明显,验证了跳连接层融合CSCFAM模块能够一定程度上抑制异常行为的生成,具有更好的检测效果。

图7 有/无CSCFAM模块的预测误差图结果对比

图8 有/无Memory和CSCFAM模块的ROC曲线

(2)CSCFAM中通道注意力(CA)、空间注意力(SA)和交叉融合(CFB)3个模块不同组合方式结果比较。如表3所示,serial表示串联,paralle表示并联。由表3可知,CA模块和SA模块并联并将其注意力特征直接相加融合的帧级AUC为96.5%,而并联后使用CFB模块交叉融合的帧级AUC达到97.3%,提高了0.8%。

表3 在UCSD Ped2数据集上CSCFAM中各模块不同组合方式的消融实验

(3)不同损失函数结果比较。如表4所示,为验证不同损失函数的影响,在L2损失的基础上以UCSD Ped2数据集为例,通过逐步消融不同的损失函数验证了存储记忆模块的特征紧凑性损失Lcompact、 特征分离性损失Lseparate和多尺度梯度损失Lg对模型性能的影响。实验结果表明,本文的模型加入多个约束条件使得帧级AUC更高。

表4 在UCSD Ped2数据集不同损失函数的消融实验

4 结束语

为提高视频异常检测算法的性能,本文提出了一种融合混合注意力的自编码器视频异常检测算法。通过在编码器和解码器的跳连接层上融合混合注意力模块(CSCFAM)来增强模型对正常行为的征提取能力,并一定程度上抑制异常行为的生成。同时,在自编码器的瓶颈处引入存储记忆模块(Memory)来记录正常样本的潜在特征,降低了模型的“泛化”能力。在UCSD Ped2和CUHK Avenue公共数据集上进行了大量的实验,验证了本文算法的有效性,与近年其它视频异常检测算法相比性能有所提升。下一步,将探索视频连续帧之间的关系以及如何高效提取视频连续帧的时空特征,进一步提高性能。

猜你喜欢
编码器注意力卷积
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
基于FPGA的同步机轴角编码器
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
基于PRBS检测的8B/IOB编码器设计
A Beautiful Way Of Looking At Things
JESD204B接口协议中的8B10B编码器设计
多总线式光电编码器的设计与应用