«上一篇 下一篇»
  计算机工程  2022, Vol. 48 Issue (10): 169-175  DOI: 10.19678/j.issn.1000-3428.0063505
0

引用本文  

古平, 邱嘉涛, 罗长江, 等. 基于目标时空上下文融合的视频异常检测算法[J]. 计算机工程, 2022, 48(10), 169-175. DOI: 10.19678/j.issn.1000-3428.0063505.
GU Ping, QIU Jiatao, LUO Changjiang, et al. Video Anomaly Detection Algorithm Based on Object Spatio-Temporal Context Fusion[J]. Computer Engineering, 2022, 48(10), 169-175. DOI: 10.19678/j.issn.1000-3428.0063505.

基金项目

重庆市技术创新与应用发展专项重点项目(cstc2019jscx-gksbX0096)

作者简介

古平(1976—),男,副教授,主研方向为数据挖掘、机器学习;
邱嘉涛,硕士研究生;
罗长江,硕士研究生;
张志鹏,硕士研究生

文章历史

收稿日期:2021-12-13
修回日期:2022-02-13
基于目标时空上下文融合的视频异常检测算法
古平 , 邱嘉涛 , 罗长江 , 张志鹏     
重庆大学 计算机学院, 重庆 400044
摘要:视频异常检测旨在发现视频中的异常事件,异常事件的主体多为人、车等目标,每个目标都具有丰富的时空上下文信息,而现有检测方法大多只关注时间上下文,较少考虑代表检测目标和周围目标之间关系的空间上下文。提出一种融合目标时空上下文的视频异常检测算法。采用特征金字塔网络提取视频帧中的目标以减少背景干扰,同时计算相邻两帧的光流图,通过时空双流网络分别对目标的RGB帧和光流图进行编码,得到目标的外观特征和运动特征。在此基础上,利用视频帧中的多个目标构建空间上下文,对目标外观和运动特征重新编码,并通过时空双流网络重构上述特征,以重构误差作为异常分数对外观异常和运动异常进行联合检测。实验结果表明,该算法在UCSD-ped2和Avenue数据集上帧级AUC分别达到98.5%和86.3%,在UCSD-ped2数据集上使用时空双流网络相对于只用时间流和空间流网络分别提升5.1和0.3个百分点,采用空间上下文编码后进一步提升1个百分点,验证了融合方法的有效性。
关键词视频异常检测    双流网络    空间上下文    自编码器    MemAE模块    
Video Anomaly Detection Algorithm Based on Object Spatio-Temporal Context Fusion
GU Ping , QIU Jiatao , LUO Changjiang , ZHANG Zhipeng     
School of Computing Science, Chongqing University, Chongqing 400044, China
Abstract: The purpose of video anomaly detection is to identify abnormal events in videos.Abnormal events primarily involve people, vehicles, and other objects.Each object in video data contains abundant spatio-temporal context information.However, most existing detection methods only focus on the temporal context and disregard the spatial context, which represents the relationship between detection and surrounding objects in anomaly detection.Herein, a video anomaly detection algorithm fused with object spatio-temporal context is proposed.The object in the video frame is extracted through Feature Pyramid Network(FPN) to reduce the background interference.Meanwhile, the optical flow diagram of two adjacent frames is calculated, the RGB frame and optical flow diagram of the object are encoded through the two-stream network, and the appearance and motion characteristics of the object are obtained.Subsequently, multiple objects are used in the video frame to construct the spatial context, and the object appearance and motion features are recoded.Finally, the characteristics above are reconstructed through the two-stream network.The reconstruction error is used to represent the anomaly score, and the appearance and motion anomalies are jointly detected.Experimental results show that the proposed algorithm achieves 98.5% and 86.3% frame level AUCs on the UCSD-ped2 and Avenue datasets, respectively.On the UCSD-ped2 dataset, the frame level AUC of the spatio-temporal two-stream network improved by 5.1 and 0.3 percentage points, respectively, compared with the network using only time and spatial streams.After using spatial context coding, the frame level AUC is further improved by 1 percentage point, which verifies the effectiveness of the fusion method.
Key words: video anomaly detection    two-stream network    spatio context    AutoEncoder(AE)    MemAE module    

开放科学(资源服务)标志码(OSID):

0 概述

视频监控系统被广泛应用于公共场所,在维护社会治安稳定方面发挥重要作用。视频异常检测是指通过算法检测视频中不符合预期或常理的行为,旨在发现并定位可能威胁公共安全的异常行为[1]。视频异常检测主要存在两个难点[2]:一方面,异常事件有很强的场景依赖性,不同场景对异常行为的定义不同,部分场景下的正常事件在其他场景下会变成异常,如人在人行道行走时为正常,但随意穿过马路则为异常;另一方面,异常事件具有稀缺性、多样性、不可穷举性等特点。因此,视频异常检测大多采用半监督或无监督方法,利用只包含正常样本的训练集训练模型,然后对测试集进行检测。

异常事件的主体往往是视频中的行人、车辆等目标,现有的异常检测方法大多将视频帧分割成若干区间处理或是直接将视频帧输入模型,不能很好地关注发生异常的对象,易受背景干扰。在检测时,现有算法大多只考虑了时间上下文提取,忽视了空间上下文信息,而对于连续视频数据中的目标,时空上下文信息对异常检测有很大意义。时间上下文信息代表了目标的运动状态,空间上下文信息代表了检测目标和周围目标的关系。例如,在测试集视频帧中,若同时出现了行人和汽车,而在训练集中未出现过这种情况,则认为出现了异常目标。

为充分利用目标的时空上下文信息,准确检测异常目标,本文提出一种融合目标时空上下文的视频异常检测算法。通过特征图金字塔网络(Feature Pyramid Network,FPN)对目标进行提取以避免背景干扰,针对同一视频帧中的多个目标构建空间上下文,并将目标外观和运动特征重新编码。利用时空双流网络分别重构目标的外观和运动特征,两个子网络采用相同的结构,均包含自编码器和上下文编码记忆模块,并将重构误差作为异常分数。在此基础上,利用异常检测模块融合两个子网络的输出,得到最终的异常检测结果。

1 相关研究

现有的视频异常检测算法可分为传统机器学习方法和深度学习方法两类。传统机器学习方法一般包括特征提取和异常判别两步,提取的手工特征有光流直方图[3]、纹理[4]、3D梯度[5]等,常用的判别方法有聚类判别[6]、重构判别[7]、生成概率判别[8]等。然而,基于手工特征的方法往往不能准确描述复杂的目标和行为,导致视频异常识别效果不理想。

近十年来,基于深度学习的视频异常检测研究取得了较大进展。对于时空信息的提取,目前主要有双流网络、3D卷积和长短期记忆(Long Short-Term Memory,LSTM)网络等方法。SIMONYAN等[9]构建了时空双流网络,对视频图像和光流分别训练两个CNN模型,最终对判别结果进行合并。FAN等[10]将双流网络用于视频异常识别,利用RGB帧和动态流分别表示外观异常和动作异常,利用高斯混合模型进行异常判别。3D卷积也是一种常用方法,目前已有C3D、I3D、S3D等多种3D卷积模型[11]。NOGAS等[12]利用3D卷积自编码器(AutoEncoder,AE)计算视频时空块的重构误差进行异常判别,该网络结构简单,具有较高的效率,但识别结果还不够理想。此外,LSTM网络和循环神经网络(Recurrent Neural Network,RNN)也被用于对连续的视频帧进行建模,如CHONG等[13]先采用LSTM提取视频特征,再利用自编码器对特征重构从而判别异常,但该网络结构比较复杂,训练花费大。

目前常用的基于深度学习的视频异常检测网络有VAE、MemAE、GAN等。WANG等[14]提出了一种串联VAE的结构,通过第1个VAE网络过滤明显正常的样本,再通过第2个VAE网络进行异常检测。SABOKROU等[15]将CAE和GAN结合,利用GAN的判别器提升CAE的重构能力。然而,由于自编码器有较强的泛化能力,因此异常样本也可能获得较低的重构误差。为了增大异常样本的重构误差,研究者将MemAE用于视频异常检测。GONG等[16]在AE中加入Memory模块,降低了模型的泛化能力,使异常样本有更大的重构误差。PARK等[17]在MemAE的基础上添加特征分离损失,学习得到正常视频帧的多个模式,同时使用U-Net代替编码器实现了重构和预测。然而,此类方法大多将视频帧分割成若干区间处理或是直接将视频帧输入模型,不能很好地关注发生异常的对象,易受背景干扰。IONESCU等[18]将视频异常检测视为分类问题,通过目标检测分离视频帧中的目标,然后利用K-means算法和SVM对目标分类,当目标不属于任何一类时,即作为异常对象被检出。但该方法将提取的目标视为单独的个体,忽略了目标与空间周围目标的关系,难以发现上下文相关的异常。

2 融合目标时空上下文的视频异常检测

本文提出一种基于目标时空上下文融合的视频异常检测算法,如图 1所示,整体检测网络由目标检测模块、时间信息网络、空间信息网络和异常检测模块组成,时空两个子网络结构相同,均由编码器、上下文编码记忆模块和解码器组成。对于视频数据集,先对各视频帧进行目标检测,得到所有目标的矩形边界框,再计算光流,在视频帧和光流图的对应位置提取目标,分别输入2个子网络,通过空间信息网络提取外观特征,通过时间信息网络提取运动特征。在对目标进行编码、提取上下文和重构后,计算重构误差作为异常分数,利用异常检测模块融合两个子网络的输出,给出异常评价结果。

Download:
图 1 基于目标时空上下文融合的异常检测网络 Fig. 1 Video anomaly detection network based on target spatio-temporal context fusion
2.1 目标检测

本文通过FPN[19]进行目标检测,FPN同时融合了底层的细节信息和高层的语义信息,能够准确检测小目标,同时兼顾精度和速度。对于视频数据集X,首先分帧得到连续的视频帧X1X2,…,XN,依次输入FPN,得到视频中所有目标的矩形边界框,再计算相邻两帧的光流图,如式(1)所示:

$ {\boldsymbol{Y}}_{}^{t}=f\left({\boldsymbol{X}}^{t-1}, {\boldsymbol{X}}^{t}\right) $ (1)

其中:光流图$ {\boldsymbol{Y}}_{}^{t} $由视频帧$ {\boldsymbol{X}}^{t-1} $$ {\boldsymbol{X}}^{t} $计算得到。然后,分别在RGB帧$ {\boldsymbol{X}}^{t} $和光流图$ {\boldsymbol{Y}}_{}^{t} $上对应位置裁剪得到视频帧内的所有目标,对于每一帧$ {\boldsymbol{X}}^{t} $,经过目标检测后得到目标RGB帧$ {\boldsymbol{x}}_{1}^{t} $$ {\boldsymbol{x}}_{2}^{t} $,…,$ {\boldsymbol{x}}_{n}^{t} $和目标光流图$ {\boldsymbol{y}}_{1}^{t} $$ {\boldsymbol{y}}_{2}^{t} $,…,$ {\boldsymbol{y}}_{n}^{t} $,缩放到大小为64×64的矩阵,以帧为单位,将上述目标分别输入空间和时间信息网络。

2.2 空间信息网络

空间信息网络的作用是提取目标对象的外观特征,经过空间上下文编码后再进行解码重构,以此判断视频帧在空间域是否存在异常目标。

2.2.1 空间自编码器

空间自编码器包含编码器和解码器两个部分。编码器将输入的RGB帧编码为特征向量,输入为单个目标的RGB帧$ {\boldsymbol{x}}_{i}^{t} $,输出为目标的外观特征$ {\boldsymbol{z}}_{t}^{i} $,编码器包含4个卷积层和3个最大池化层,使用ReLU激活函数,其输出的特征输入上下文编码记忆模块进行重新编码。解码器将重新编码后的特征重构,用于计算异常分数,解码器的输入为经过重新编码的特征$ {{\widehat{\boldsymbol{z}}}_{\boldsymbol{i}}^{\boldsymbol{t}}}^{\mathrm{'}} $,输出为重构后的目标$ {\widehat{x}}_{\boldsymbol{i}}^{\boldsymbol{t}} $。解码器包含4个卷积层和3个上采样层,使用最近邻插值法进行上采样。上述过程可表示为:

$ {\boldsymbol{z}}_{\boldsymbol{i}}^{\boldsymbol{t}}=E\left({\boldsymbol{x}}_{\boldsymbol{i}}^{\boldsymbol{t}};{\theta }_{\mathrm{e}}\right) $ (2)
$ {\widehat{\boldsymbol{x}}}_{\boldsymbol{i}}^{\boldsymbol{t}}=D\left({{\widehat{\boldsymbol{z}}}_{\boldsymbol{i}}^{\boldsymbol{t}}}^{\mathrm{'}};{\theta }_{\mathrm{d}}\right) $ (3)

其中:$ {\theta }_{\mathrm{e}} $$ {\theta }_{\mathrm{d}} $表示编码器和解码器的参数;E表示编码器;D表示解码器。

2.2.2 上下文编码记忆模块

通过目标提取,可使检测网络只关注可能发生异常的目标,免受背景图像的干扰,但同时也去除了目标的空间上下文信息,即同一帧中多个目标之间的关系,如操场上车辆与行人的共现关系。为此,本文在自编码器中嵌入上下文编码记忆模块MemAE,利用空间上下文关系对目标特征进行编码并辅助目标重构,从而增大异常目标的重构误差。上下文编码记忆模块输入为编码后的目标外观特征$ {\boldsymbol{z}}_{i}^{t} $,每次输入一帧中所有目标的特征$ {\boldsymbol{z}}_{1}^{t} $$ {\boldsymbol{z}}_{2}^{t} $,…,$ {\boldsymbol{z}}_{n}^{t} $,用于计算该帧的空间上下文,并对这n个目标的特征重新编码。首先将输入的特征图展开后得到C维的特征向量。由于出现在同一帧的不同目标之间存在关联,每帧视频可以得到n个目标,因此将它们叠加后得到一个大小为C的特征向量,作为这一视频帧的空间上下文信息,如式(4)所示:

$ {\boldsymbol{z}}_{}^{t}=\frac{1}{n}{\sum\limits_{i=1}^{n}}z_{\boldsymbol{i}}^{\boldsymbol{t}} $ (4)

其中:$ {\boldsymbol{z}}_{}^{t} $表示视频帧的空间上下文信息;$ {\boldsymbol{z}}_{\boldsymbol{i}}^{\boldsymbol{t}} $表示目标$ {\boldsymbol{x}}_{\boldsymbol{i}}^{\boldsymbol{t}} $的特征;n为一帧中的目标数,若一帧中的目标不足n个,则通过随机重复将目标添加至n个。

视频异常检测采用无监督训练方式,训练集数据全部为正常样本,其中每一帧的空间上下文信息即代表一种正常的模式,所以,来自于训练集的正常模式是对测试集进行异常检测的关键。由于自编码器具有较强的泛化能力,使得部分异常上下文信息也能较好地用于重构,因此本文在上下文编码后添加一个内存记忆模块MemAE[16],用于学习能最强表征所有正常上下文信息的有限个原型特征并保存在内存项中,该模块结构如图 2所示。内存块M是一个大小为N×C的矩阵,M$ {\mathbb{R}}^{N\times C} $,存储了N个内存项,每个内存项为mj,维度为C,在训练过程中更新和读取内存项,在测试过程中仅读取内存项。

Download:
图 2 MemAE模块 Fig. 2 MemAE module

内存记忆模块的输入为代表空间上下文信息的特征向量zt,输出$ {\widehat{\boldsymbol{z}}}_{}^{t} $由权重向量和内存项相乘得到。对于特征zt的读取操作,先进行寻址,分别计算zt和每一个内存项mj的余弦相似度,再使用Softmax函数计算得到权重向量wt,如式(5)所示,其中d(.,.)代表余弦相似度,如式(6)所示:

$ {\boldsymbol{w}}_{\boldsymbol{j}}^{\boldsymbol{t}}=\frac{\mathrm{e}\mathrm{x}\mathrm{p}\left(d\left({\boldsymbol{z}}^{t}, {\boldsymbol{m}}_{j}\right)\right)}{\sum\limits_{k=1}^{N}\mathrm{e}\mathrm{x}\mathrm{p}\left(d\left({\boldsymbol{z}}^{t}, {\boldsymbol{m}}_{k}\right)\right)} $ (5)
$ d\left({\boldsymbol{z}}^{t}, {\boldsymbol{m}}_{j}\right)=\frac{{\boldsymbol{z}}^{t}{\boldsymbol{m}}_{j}^{\mathrm{T}}}{‖{\boldsymbol{z}}^{t}‖‖{\boldsymbol{m}}_{j}‖} $ (6)

异常上下文信息也可能由一些正常特征组合得到,为了限制异常上下文信息的重构,本文对权重向量wt的每一项$ {w}_{\boldsymbol{j}}^{\boldsymbol{t}} $进行硬收缩,确保其稀疏性,如式(7)所示:

$ {\widehat{w}}_{j}^{t}=h\left({w}_{j}^{t};\lambda \right)=\left\{\begin{array}{l}{w}_{i}^{t}, {w}_{i}^{t} > \lambda \\ 0, \mathrm{其}\mathrm{他}\end{array}\right. $ (7)

其中:$ \lambda $为稀疏阈值,权重低于阈值时变为0,通过硬压缩促使模型使用更少的内存项来重构输入特征;$ {\widehat{w}}_{j}^{t} $是内存项mj的权重,对于特征zt,其与内存项mj的相似度越高,权重越大。读取操作可表示为:

$ {\widehat{\boldsymbol{z}}}^{t}={\widehat{\boldsymbol{w}}}^{t}\boldsymbol{M}=\sum\limits_{j=1}^{N}{\widehat{w}}_{j}^{t}{\boldsymbol{m}}_{j} $ (8)

其中:$ \widehat{\boldsymbol{w}} $为特征zt对应的权重矩阵;M为内存项。

对于式(3)中计算得到的上下文信息zt,通过读取内存得到$ {\widehat{\boldsymbol{z}}}^{t} $,再与每个目标的特征$ {\boldsymbol{z}}_{i}^{t} $拼接,得到2$ \times $C维的特征向量$ {{\widehat{\boldsymbol{z}}}_{i}^{t}}^{\mathrm{'}} $

$ {{\widehat{\boldsymbol{z}}}_{i}^{t}}^{\mathrm{'}}={\boldsymbol{z}}_{i}^{t} \oplus {\widehat{\boldsymbol{z}}}^{{}_{t}} $ (9)

由此,$ {{\widehat{\boldsymbol{z}}}_{i}^{t}}^{\mathrm{'}} $既包含了该目标本身的特征,又融入了空间上下文信息。将其作为解码器的输入,进行下一步重构。

2.2.3 损失函数

本文将时间信息网络和空间信息网络分开训练,空间信息网络的损失函数由外观特征损失和熵损失两部分组成。首先最小化每个目标的重构误差作为外观特征损失,采用均方差损失函数,如式(10)所示:

$ {L}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}^{\mathrm{a}}\left({\boldsymbol{x}}_{\boldsymbol{i}}^{\boldsymbol{t}}\right)=‖{\boldsymbol{x}}_{\boldsymbol{i}}^{\boldsymbol{t}}-{\widehat{\boldsymbol{x}}}_{\boldsymbol{i}}^{\boldsymbol{t}}‖ $ (10)

在内存记忆模块中,为了使编码得到的空间上下文特征zt与内存中最相似的一项相似度尽可能高,本文添加了熵损失函数,如式(11)所示:

$ {L}_{\mathrm{e}\mathrm{n}\mathrm{t}}^{\mathrm{a}}\left({\boldsymbol{x}}_{{}_{}}^{t}\right)=\sum\limits_{j=1}^{N}-{\widehat{\boldsymbol{w}}}_{\boldsymbol{j}}^{\boldsymbol{t}}\mathrm{l}\mathrm{n}\left({\widehat{\boldsymbol{w}}}_{\boldsymbol{j}}^{\boldsymbol{t}}\right) $ (11)

其中:$ {\widehat{\boldsymbol{w}}}_{\boldsymbol{j}}^{\boldsymbol{t}} $为式(7)中的内存寻址权重。平衡这两个损失函数,得到总损失函数,如式(12)所示:

$ {L}^{\mathrm{a}}={\lambda }_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}{L}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}^{\mathrm{a}}+{\lambda }_{\mathrm{e}\mathrm{n}\mathrm{t}}{L}_{\mathrm{e}\mathrm{n}\mathrm{t}}^{\mathrm{a}} $ (12)

其中:$ {\lambda }_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}} $$ {\lambda }_{\mathrm{e}\mathrm{n}\mathrm{t}} $分别代表重构损失和熵损失的权重。

2.3 时间信息网络

本文用光流代表目标的运动信息。光流具有表观特征不变性,不仅能够代表目标的运动特征,同时消除了颜色和光线强弱对异常检测的干扰,很好地弥补了RGB帧的不足[20]。时间信息网络的输入为每一帧目标光流图$ {\boldsymbol{y}}_{1}^{t} $$ {\boldsymbol{y}}_{2}^{t} $,…,$ {\boldsymbol{y}}_{n}^{t} $,输出为它们的重构图$ {{\boldsymbol{y}}_{1}^{t}}^{\mathrm{'}} $$ {{\boldsymbol{y}}_{2}^{t}}^{\mathrm{'}} $,…,$ {{\boldsymbol{y}}_{n}^{t}}^{\mathrm{'}} $。时间信息网络结构与空间信息网络相同,损失函数由光流特征损失和熵损失组成,如式(13)所示:

$ {L}^{\mathrm{m}}={\lambda }_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}{L}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}^{\mathrm{m}}+{\lambda }_{\mathrm{e}\mathrm{n}\mathrm{t}}{L}_{\mathrm{e}\mathrm{n}\mathrm{t}}^{\mathrm{m}} $ (13)
2.4 异常检测

对数据集X,首先分帧得到连续的视频帧X1X2,…,XN,对每一帧Xt进行目标提取和光流计算,得到多个目标RGB帧$ {\boldsymbol{x}}_{1}^{t} $$ {\boldsymbol{x}}_{2}^{t} $,…,$ {\boldsymbol{x}}_{n}^{t} $和光流图$ {\boldsymbol{y}}_{1}^{t} $$ {\boldsymbol{y}}_{2}^{t} $,…,$ {\boldsymbol{y}}_{n}^{t} $,分别输入时间和空间信息网络,根据式(10)得到RGB帧和光流的重构误差并正则化:

$ {\widehat{L}}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}^{\mathrm{a}}\left({\boldsymbol{x}}_{\boldsymbol{i}}^{\boldsymbol{t}}\right)=\frac{{L}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}^{\mathrm{a}}\left({\boldsymbol{x}}_{\boldsymbol{i}}^{\boldsymbol{t}}\right)-\mathrm{m}\mathrm{i}\mathrm{n}\left({L}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}^{\mathrm{a}}\left({\boldsymbol{x}}_{\boldsymbol{i}}^{\boldsymbol{t}}\right)\right)}{\mathrm{m}\mathrm{a}\mathrm{x}\left({L}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}^{\mathrm{a}}\left({\boldsymbol{x}}_{i}^{t}\right)\right)} $ (14)
$ {\widehat{L}}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}^{\mathrm{m}}\left({\boldsymbol{y}}_{\boldsymbol{i}}^{\boldsymbol{t}}\right)=\frac{{L}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}^{\mathrm{m}}\left({\boldsymbol{y}}_{\boldsymbol{i}}^{\boldsymbol{t}}\right)-\mathrm{m}\mathrm{i}\mathrm{n}\left({L}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}^{\mathrm{m}}\left({\boldsymbol{y}}_{\boldsymbol{i}}^{\boldsymbol{t}}\right)\right)}{\mathrm{m}\mathrm{a}\mathrm{x}\left({L}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}^{\mathrm{m}}\left({\boldsymbol{y}}_{i}^{t}\right)\right)} $ (15)

其中:$ {\widehat{L}}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}^{\mathrm{a}}\left({\boldsymbol{x}}_{\boldsymbol{i}}^{\boldsymbol{t}}\right) $$ {\widehat{L}}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}^{\mathrm{m}}\left({\boldsymbol{y}}_{\boldsymbol{i}}^{\boldsymbol{t}}\right) $表示每个目标正则化后的RGB帧和光流重构误差;$ \mathrm{m}\mathrm{a}\mathrm{x}\left({L}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}^{\mathrm{a}}\left({\boldsymbol{x}}_{\boldsymbol{i}}^{\boldsymbol{t}}\right)\right) $$ \mathrm{m}\mathrm{a}\mathrm{x}\left({L}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}^{\mathrm{m}}\left({\boldsymbol{y}}_{\boldsymbol{i}}^{\boldsymbol{t}}\right)\right) $表示在整个数据集的目标中RGB帧重构误差和光流重构误差的最大值。

然后,计算每个目标的联合重构误差$ {\widehat{L}}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}^{}\left({\boldsymbol{x}}_{\boldsymbol{i}}^{\boldsymbol{t}}, {\boldsymbol{y}}_{\boldsymbol{i}}^{\boldsymbol{t}}\right) $,RGB帧重构误差表示目标的外观异常,光流重构误差表示目标的运动异常,笔者认为当外观和运动状态之一出现异常时这个目标就是异常的,因此,对每一个目标的外观异常和运动异常取最大值,作为该目标的异常分数:

$ {\stackrel{⌢}{L}}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}^{}\left({\boldsymbol{x}}_{\boldsymbol{i}}^{\boldsymbol{t}}, {\boldsymbol{x}}_{\boldsymbol{i}}^{\boldsymbol{t}}\right)=\mathrm{m}\mathrm{a}\mathrm{x}\left({\widehat{L}}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}^{\mathrm{a}}\left({\boldsymbol{x}}_{\boldsymbol{i}}^{\boldsymbol{t}}\right), {\widehat{L}}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}^{\mathrm{m}}\left({\boldsymbol{y}}_{\boldsymbol{i}}^{\boldsymbol{t}}\right)\right) $ (16)

联合重构误差$ {\widehat{L}}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}^{}\left({\boldsymbol{x}}_{\boldsymbol{i}}^{\boldsymbol{t}}, {\boldsymbol{y}}_{\boldsymbol{i}}^{\boldsymbol{t}}\right) $取RGB帧重构误差和光流重构误差的最大值,在得到每一个目标的异常分数后,对视频帧内所有目标的异常分数取最大值,作为样本$ {\boldsymbol{X}}^{t} $的异常分数$ S\left({\boldsymbol{X}}^{t}\right) $,即一帧中出现了异常目标就判断为异常帧:

$ S\left({\boldsymbol{X}}^{t}\right)=\mathrm{m}\mathrm{a}\mathrm{x}\left({\widehat{L}}_{\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}}^{}\left({\boldsymbol{x}}_{i}^{t}, {\boldsymbol{y}}_{i}^{t}\right)\right), \forall i\in \left\{\mathrm{1, 2}, \cdots , n\right\} $ (17)

最后,将相邻10帧视频异常分数取均值,进行分数平滑处理。

3 实验 3.1 数据集

本文实验使用USCD和Avenue数据集。UCSD[21]行人数据集包含ped1和ped2两个子集,本文使用ped2子集,其中训练集包含16个视频,共2 550帧,测试集包含11个视频,共2 010帧,每帧大小为240×360像素,异常行为包括自行车、汽车、滑板。Avenue[22]数据集的训练集包含16个视频,共15 328帧,其中测试集包含21个视频,共15 324帧,每帧大小为360×640像素,异常事件包括跑步、错误行走方向、骑自行车等。

3.2 参数设置与评价指标

本文采用在coco数据上预训练的ResNet50fpn目标检测网络提取目标,对于训练集和测试集,检测阈值分别设置为0.5和0.4,以降低网络的泛化能力,扩大重构损失,目标个数n分别设置为18和24个,利用TVL1算法提取光流,将所有视频帧转化为灰度图片,截取的目标调整为64×64像素。自编码器采用Adam优化器优化,对于空间信息网络和时间信息网络分别设置0.001和0.000 1的学习率,批尺寸为64,超参数λrecon=1.0,λent=0.000 2。本文采用受试者操作特征曲线(Receiver Operating Characteristic,ROC)的曲线下面积(Area Under Curve,AUC)作为评价指标,AUC越高代表异常检测效果越好。

3.3 实验结果与分析 3.3.1 FPN检测阈值的影响

FPN的检测阈值决定了能提取多少目标,阈值过低可能会导致漏检,阈值过高可能会将背景误判为目标。因此,本文在UCSD-ped2数据集上通过实验分析FPN不同阈值对异常检测效果(AUC)的影响,实验结果见表 1,从中可以看出,对训练集和测试集的检测阈值分别设置为0.5和0.4取得了最好的效果;对于训练集,设置较高的检测阈值可以得到更少的目标,降低网络的泛化能力,增大重构误差;对于测试集,设置较低的检测阈值会漏掉部分异常目标,影响检测效果。

下载CSV 表 1 FPN检测阈值对异常检测效果的影响 Table 1 Inference of FPN detection threshold on anomaly detection effect
3.3.2 与其他算法的对比

将本文算法与现有视频异常检测算法在帧级AUC上进行对比,实验结果见表 2,从中可以看出,本文算法在UCSD-ped2数据集上取得了最好的结果,与同样采用目标检测的算法FPN-AE-SVM[18]相比提高了1.5个百分点,与采用内存记忆模块的算法Mem-AE[16]和P w/MemAE[17]相比也有较大提升,因为UCSD-ped2数据集中每帧有较多目标,异常事件为少数自行车和汽车、滑板,融合空间上下文信息能很好地学习正常模式,检出异常目标。同时,本文算法在Avenue数据集上也取得了较好的结果。

下载CSV 表 2 不同视频异常检测算法性能对比 Table 2 Performance comparison of different video abnormal detection algorithms  

图 3展示了在UCSD-ped2测试集视频片段上的本文算法得到的异常分数和真实标签,其中95帧之前为正常人行道视频(左图),之后为异常视频(右图),异常事件是人行道上的自行车,从中可以看出,当异常目标出现后,异常分数有明显的提升,算法准确定位了异常目标。

Download:
图 3 UCSD-ped2数据集上的异常分数 Fig. 3 Abnormal scores in UCSD-ped2 dataset
3.4 消融实验

为验证双流网络和上下文编码记忆模块的作用,在UCSD-ped2数据集上设计对比实验,实验结果如表 3所示,从中可以看出:基于光流特征的时间信息网络效果优于空间信息网络;时空双流网络充分利用了视频中的时间和空间信息,相比于只用空间流和只用时间流网络分别提升了5.1和0.3个百分点;在添加上下文编码记忆模块后,3种网络的帧级AUC都得到了进一步提升,双流网络的AUC上升了1个百分点,证明了上下文编码记忆模块能够有效提升视频异常检测效果。

下载CSV 表 3 消融实验结果 Table 3 Ablation experimental results  
4 结束语

本文提出一种基于目标时空上下文融合的视频异常检测算法,通过FPN提取目标以减少背景干扰,利用视频帧中的多个目标构建空间上下文,并对目标外观和运动特征重新编码,充分利用目标的时空上下文信息。在USCD-ped2和Avenue数据集上的实验结果验证了所提算法的有效性。由于目标提取过程中会产生一定的漏检,造成异常目标误判,因此后续将会选择性能更优的目标检测算法,同时针对目标之间的联系进一步优化空间上下文的构建方法。

参考文献
[1]
黄凯奇, 陈晓棠, 康运锋, 等. 智能视频监控技术综述[J]. 计算机学报, 2015, 38(6): 1093-1118.
HUANG K Q, CHEN X T, KANG Y F, et al. Intelligent visual surveillance: a review[J]. Chinese Journal of Computers, 2015, 38(6): 1093-1118. (in Chinese)
[2]
王志国, 章毓晋. 监控视频异常检测: 综述[J]. 清华大学学报(自然科学版), 2020, 60(6): 518-529.
WANG Z G, ZHANG Y J. Anomaly detection in surveillance videos: a survey[J]. Journal of Tsinghua University(Science and Technology), 2020, 60(6): 518-529. (in Chinese)
[3]
ADAM A, RIVLIN E, SHIMSHONI I, et al. Robust real-time unusual event detection using multiple fixed-location monitors[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008, 30(3): 555-560. DOI:10.1109/TPAMI.2007.70825
[4]
LI W X, MAHADEVAN V, VASCONCELOS N. Anomaly detection and localization in crowded scenes[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2014, 36(1): 18-32. DOI:10.1109/TPAMI.2013.111
[5]
LI T, CHANG H, WANG M, et al. Crowded scene analysis: a survey[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2015, 25(3): 367-386. DOI:10.1109/TCSVT.2014.2358029
[6]
LEE D G, SUK H I, PARK S K, et al. Motion influence map for unusual human activity detection and localization in crowded scenes[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2015, 25(10): 1612-1623. DOI:10.1109/TCSVT.2015.2395752
[7]
XIONG L, CHEN X, SCHNEIDER J. Direct robust matrix factorizatoin for anomaly detection[C]//Proceedings of the 11th International Conference on Data Mining. Washington D. C., USA: IEEE Press, 2011: 844-853.
[8]
李娟, 张冰怡, 冯志勇, 等. 基于隐马尔可夫模型的视频异常场景检测[J]. 计算机工程与科学, 2017, 39(7): 1300-1308.
LI J, ZHANG B Y, FENG Z Y, et al. Anomaly detection based on hidden Markov model in videos[J]. Computer Engineering & Science, 2017, 39(7): 1300-1308. (in Chinese) DOI:10.3969/j.issn.1007-130X.2017.07.015
[9]
SIMONYAN K, ZISSERMAN A. Two-stream convolutional networks for action recognition in videos[EB/OL]. [2021-11-10]. https://arxiv.org/abs/1406.2199.
[10]
FAN Y X, WEN G J, LI D R, et al. Video anomaly detection and localization via Gaussian mixture fully convolutional variational autoencoder[J]. Computer Vision and Image Understanding, 2020, 195: 1-10.
[11]
王瑞鹏. 基于3D卷积的人体行为识别技术研究[D]. 沈阳: 沈阳理工大学, 2021.
WANG R P. Research on human action recognition technology based on 3D convolution[D]. Shenyang: Shenyang Ligong University, 2021. (in Chinese)
[12]
NOGAS J, KHAN S S, MIHAILIDIS A. DeepFall: non-invasive fall detection with deep spatio-temporal convolutional autoencoders[J]. Journal of Healthcare Informatics Research, 2020, 4(1): 50-70. DOI:10.1007/s41666-019-00061-4
[13]
CHONG Y S, TAY Y H. Abnormal event detection in videos using spatiotemporal autoencoder[M]//CONG F Y, LEUNG A, WEI Q L. Advances in neural networks-ISNN 2017. Berlin, Germany: Springer, 2017: 189-196.
[14]
WANG T, QIAO M N, LIN Z W, et al. Generative neural networks for anomaly detection in crowded scenes[J]. IEEE Transactions on Information Forensics and Security, 2019, 14(5): 1390-1399. DOI:10.1109/TIFS.2018.2878538
[15]
SABOKROU M, KHALOOEI M, FATHY M, et al. Adversarially learned one-class classifier for novelty detection[C]//Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2018: 3379-3388.
[16]
GONG D, LIU L Q, LE V, et al. Memorizing normality to detect anomaly: memory-augmented deep autoencoder for unsupervised anomaly detection[C]//Proceedings of IEEE/CVF International Conference on Computer Vision. Washington D. C., USA: IEEE Press, 2019: 1705-1714.
[17]
PARK H, NOH J, HAM B. Learning memory-guided normality for anomaly detection[C]//Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2020: 14360-14369.
[18]
IONESCU R T, KHAN F S, GEORGESCU M I, et al. Object-centric auto-encoders and dummy anomalies for abnormal event detection in video[C]//Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2019: 7834-7843.
[19]
LIN T Y, DOLLÁR P, GIRSHICK R, et al. Feature pyramid networks for object detection[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2017: 936-944.
[20]
SEVILLA-LARA L, LIAO Y Y, GUNEY F, et al. On the integration of optical flow and action recognition[EB/OL]. [2021-11-10]. https://arxiv.org/abs/1712.08416.
[21]
CHAN A B, LIANG Z S J, VASCONCELOS N. Privacy preserving crowd monitoring: counting people without people models or tracking[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press: 2008: 1-7.
[22]
LU C W, SHI J P, JIA J Y. Abnormal event detection at 150 FPS in MATLAB[C]//Proceedings of IEEE International Conference on Computer Vision. Washington D. C., USA: IEEE Press, 2014: 2720-2727.
[23]
HASAN M, CHOI J, NEUMANN J, et al. Learning temporal regularity in video sequences[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2016: 733-742.
[24]
LUO W X, LIU W, GAO S H. Remembering history with convolutional LSTM for anomaly detection[C]//Proceedings of IEEE International Conference on Multimedia and Expo. Washington D. C., USA: IEEE Press, 2017: 439-444.
[25]
NGUYEN T N, MEUNIER J. Anomaly detection in video sequence with appearance-motion correspondence[C]//Proceedings of IEEE/CVF International Conference on Computer Vision. Washington D. C., USA: IEEE Press, 2019: 1273-1283.