异常事件检测综述 1 数据集 2 主流异常事件检测算法 1 主流异常事件检测算法

1 数据集

异常事件检测根据场景不同,学术界开源了多种数据集,如下表所示。

表3-1异常事件检测数据集

该领域应用最广泛,常作为benchmark的数据集为UCSD Pedestrian,Avenue,ShanghaiTec数据集,下文进行详述。

1.1 UCSD Pedestrian 数据集

UCSD行人数据集是视频异常事件检测研究中使用最广泛的主流数据集之一,它分为UCSD Ped1和UCSD Ped22个数据集,是从加州大学圣地亚哥分校2个不同地点的人行道视频监控中收集而来。数据集中,走路的行人被视为正常事件,而在人行道中出现的其他移动物体则被视为异常事件,例如在人行道上骑自行车、滑滑板、推手推车、驾驶汽车等。行人在非人行道区域(例如草坪)行走也被视作异常事件。此外,这2个数据集包含大量视频前景物体相互遮挡的拥挤场景,尤其是行人的遮挡,增加了检测异常事件的难度。测试集均提供了像素级别的标注,即在每个视频帧上标注出了异常像素。数据集示例见下图。

图3-2 UCSD Ped1和UCSD Ped2正常/异常示例

1.2 Avenue数据集

Avenue数据集采集自香港中文大学校内一个走廊的监控摄像机。在此视频数据集中,行人在走廊上按正常方向行走是正常事件,而在走廊上扔书包、洒纸片、奔跑、推自行车等各种类型的行为被当成异常事件。为了接近现实世界中的实际情况,Avenue数据集的测试视频中会发生一些轻微的相机抖动。数据集示例见下图。

图3-3 Avenue数据集正常/异常示例

1.3 ShanghaiTec数据集

ShanghaiTec数据集的数据量大于UCSD Ped和Avenue数据集,与其他数据集只包含一个固定的摄像头采集视频不同,ShanghaiTec数据集一共包含了13个有不同光照条件和摄像头角度的场景,这使其成为现有benchmark中最具挑战性的数据集之一。数据集示例见下图。

图3-4 ShangTec数据集正常/异常示例

2 主流异常事件检测算法

基于深度学习的主流异常事件检测算法采用半监督学习思想,即仅对正常样本进行学习,测试时实现对于正常样本与异常样本的区分。具体可分为基于重建与基于预测两大流派。

常见异常事件检测方法训练/测试流程见下图。在训练阶段,需要制作数据集完成模型的训练。数据集的制作需对摄像头传输的视频流进行解码,形成视频格式的文件。进而将视频逐帧抽帧保存为图像文件。对图像进行标注,一般仅需要区分视频帧属于正常或异常即可,无需进行更细粒度的异常类别区分,亦无需进行目标检测或语义分割形式的标注。模型的训练只使用数据集中正常的视频帧图像对模型进行训练,使模型具备对正常图像的重建能力,或者具备对正常视频帧的预测能力。训练过程中可通过数据集验证模型性能,方法为使用模型对数据集中未参与训练的正常图像及异常图像进行推理,得到分类性能。在测试阶段,对实际场景下摄像头传输的视频流进行解码,根据一定的规则进行抽帧,将抽帧后的图像送入异常检测模型以判断该帧图像是否包含异常事件。

图4-1 常见异常事件检测方法训练/测试流程

基于重建方法主要通过自动编码器(Autoencoder,AE)将正常图像映射到隐空间,映射为低维向量,再将其重建为图像。该类方法均假设模型仅能获得对于正常样本的重建能力,而不具备对于异常样本的重建能力,根据正常样本与异常样本的重建效果差异实现二者区分。由于该过程本质上是对图像的压缩与重建,为了获得良好的重建效果,模型将致力于提取图像更本质的表征,有助于更好的学习图像特点。基于预测方法认为AE的泛化能力过强,并且存在恒等映射现象,导致其对异常图像也具有较好的重建能力。改为通过学习正常视频的部分帧率,预测其后续帧率图像的方法解决上述缺点。该类方法假设模型只能实现对正常视频片段的预测,而不具备预测异常事件视频帧率的能力,通过预测帧与实际帧的差异判别正常与异常样本。 下文中4.1-4.3为基于重建的异常检测方法,4.4-4.5为基于重建的异常检测方法。

1 主流异常事件检测算法

基于深度学习的主流异常事件检测算法采用半监督学习思想,即仅对正常样本进行学习,测试时实现对于正常样本与异常样本的区分。具体可分为基于重建与基于预测两大流派。

常见异常事件检测方法训练/测试流程见下图。在训练阶段,需要制作数据集完成模型的训练。数据集的制作需对摄像头传输的视频流进行解码,形成视频格式的文件。进而将视频逐帧抽帧保存为图像文件。对图像进行标注,一般仅需要区分视频帧属于正常或异常即可,无需进行更细粒度的异常类别区分,亦无需进行目标检测或语义分割形式的标注。模型的训练只使用数据集中正常的视频帧图像对模型进行训练,使模型具备对正常图像的重建能力,或者具备对正常视频帧的预测能力。训练过程中可通过数据集验证模型性能,方法为使用模型对数据集中未参与训练的正常图像及异常图像进行推理,得到分类性能。在测试阶段,对实际场景下摄像头传输的视频流进行解码,根据一定的规则进行抽帧,将抽帧后的图像送入异常检测模型以判断该帧图像是否包含异常事件。

基于重建方法主要通过自动编码器(Autoencoder,AE)将正常图像映射到隐空间,映射为低维向量,再将其重建为图像。该类方法均假设模型仅能获得对于正常样本的重建能力,而不具备对于异常样本的重建能力,根据正常样本与异常样本的重建效果差异实现二者区分。由于该过程本质上是对图像的压缩与重建,为了获得良好的重建效果,模型将致力于提取图像更本质的表征,有助于更好的学习图像特点。基于预测方法认为AE的泛化能力过强,并且存在恒等映射现象,导致其对异常图像也具有较好的重建能力。改为通过学习正常视频的部分帧率,预测其后续帧率图像的方法解决上述缺点。该类方法假设模型只能实现对正常视频片段的预测,而不具备预测异常事件视频帧率的能力,通过预测帧与实际帧的差异判别正常与异常样本。 下文中4.1-4.3为基于重建的异常检测方法,4.4-4.5为基于重建的异常检测方法。

1.1 Learning Temporal Regularity in Video Sequences

本方法发表在CVPR2016,是使用AE重建视频以实现异常事件检测的先驱。该方法实现了2种深度自编码器,基于手动特征的自编码器利用传统特征算子将提取的视频特征作为AE的输入,深度卷积自编码器直接以整个原始视频帧作为输入。论文发现直接将原始视频帧作为输入的深度卷积自编码器能够获得优良的异常检测性能。启发了后续的重建类方法。模型结构见下图所示。


基于手动特征的自编码器以视频帧的梯度方向直方图(HOG)和光流方向直方图(HOF)作为AE的输入,输出为重建后的HOG和HOF,比较重建前后的特征差异作为判别异常的标准。编码器网络结构为四层全连接网络,神经元数量分别为204、2000、100、500,输出为30维的向量,解码器以此向量作为输入,模型结构与编码器对称。基于手动特征的自编码器模型结构见下图所示。

卷积深度自编码器以原始视频帧作为输入,经过编码与解码后,直接输出重建后的图像。根据重建前后图像的像素级差异作为判别异常的标准。编码器由三层卷积和两层池化组成,以10帧2272271的图像作为模型输入,第一层卷积核设置为1111,输出featuremap为5125555,第一层池化层步长为22,输出featuremap为5122727,第二层卷积核设置为55,输出featuremap为2562727,第二层池化步长为22,输出featuremap为2561313,第三层卷积核设置为33,输出12813*13。解码器结构与编码器对称,采用反卷积代替卷积操作。经过本文的实验验证,以及后续深度学习在自编码器领域的发展,均表明以图像作为输入输出进行自动特征学习的自编码器性能优于传统基于手动特征提取的自编码器。卷积自编码器成为后续异常事件检测方法中的主流模型。基于卷积深度自编码器模型结构见下图所示。

1.1 MemAE

MemAE为2019年发表在ICCV的论文,是重建类方法中第一篇引入记忆模块(Memory module)的方法。传统重建类方法的一个明显问题是AE的泛化能力过强,对于部分异常样本依然具备较强的重建能力,导致模型对于正常与异常样本的区分能力下降。MemAE方法基于记忆定位机制,将样本在隐空间的表征向量由正常样本表征向量进行表示。人为的将正常/异常样本在隐空间的表征替换为正常样本的表征,故重建效果更接近于正常样本,导致异常样本重建误差较大,以此实现区分。方法示意图如下。



图 MemAE方法示意图
MemAE的模型结构由AE与Memory module组成。对于Mnist数据集,编码器由三层卷积组成,卷积核设置为Conv2(3, 2, 32)- Conv2(3, 2, 16)-Conv2(3, 3, 8),解码器由三层反卷积组成,卷积核设置为Dconv2(3, 3, 16)-Dconv2(3, 2, 32)-Dconv2(3, 2, 1)。对于Cifar10数据集,编码器由四层卷积组成,卷积核分别为Conv2(3, 2, 64)-Conv2(3, 2, 128)-Conv2(3, 2, 128)-Conv2(3, 2, 256) ,解码器由四层反卷积组成,卷积核分别为 Dconv2(3, 2, 128)-Dconv2(3, 2, 128)-Dconv2(3, 2, 64)-Dconv2(3, 2, 3模型结构如下图所示。



图 MemAE模型结构
其中,经过编码器(Encoder),输入图像x转换为空间向量z,在Memory module中,首先通过Memory Addressing将z转换为权重w,转换公式见式1.

其中d函数为cosin相似度,m为记忆(Memory,M)中的正常样本向量。
考虑到直接计算得到的w较为冗余,借用ReLU形式得到更稀疏的权重 。计算公式见式2.



最终,使用权重 与M相乘获得新的隐空间向量 。可以理解为输入图像的最终隐空间表征向量是由原有的数个正常样本的隐空间向量加权而来,故其经过解码器(Decoder)重建后更像正常样本,导致异常样本的重建误差较大。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章