





异常检测中的MEMORY机制
21120298 孙尹硕




异常检测任务
视频异常检测(Anomaly detection)任务即检测视频序列中的异常事件(例如人行道上的自行车)。尤其视
频序列中异常事件的检测问题,对于监控和故障检测系统尤为重要。
任务挑战来自以下原因:第一,异常事件由环境定义。即同一的活动可能是正常的,也可能是不正常的(例
如,在厨房或公园里持刀)。在这种情况下,手动注释异常事件是劳动密集型的。其次,收集异常数据集需要付
出大量努力,因为在现实生活中,异常事件很少发生。
因此,异常检测任务多为为无监督学习问题,力求在没有异常样本的情况下学习一个描述常态的模型。其中
异常数据在训练时不可用。通常采用重建或鉴别的方法来学习描述正常模式。




数据集
3


训练集:
仅包含正常情况的视频帧。
测试集:
同时包含正常情况与异常情况的视频帧,
并且对每个视频帧有相应的异常与否的标签。




模型假设
4
本文提出了一种考虑正常模
式多样性的视频序列异常检
测的无监督学习方法。
模型假设单个原型特征不足
以表示正常数据的各种模式。
即普通视频帧的特征空间中
存在多个原型(也就是模型
或特征的质心)。
实现方法:提出一个异常检
测的内存模块,其中内存中
的单个项目对应于正常模式
的原型特征。





框架概述
5
我们重建输入帧或预测未来的帧,用
于无监督异常检测。
我们的模型主要由三部分组成:编码器、
存储器模块和解码器。
编码器输入普通视频帧并提取查询特征。
然后,这些特征用于检索内存项中的原
型正常模式并更新内存。我们将查询特
征和即读取的内存项聚合起来提供给解
码器,以重构输入视频帧。





网络结构:Encoder-Decoder
6
网络在U-Net的基础上
进行了稍加修改。
删除了编码器中的最
后的批量归一化层和
ReLU层,因为ReLU切
断了负值,限制不同
的特征表示。
添加了一个L2规范化
层,以使特征具有通
用的比例。





网络结构:Memory-Read
7






网络结构:Memory-Read
8


Attention:
Sparse Subspace Clustering(SSC)







网络结构:Memory-Update
9






LOSS函数
10












Abnormality score
11



第一项为每个查询和
最近的Memory项目之间的
L2 距离。
第二项为输入视频帧
与其重建之间的 PSNR。



Experimentation






数据集
13
UCSD Ped2 数据集包含 16 个训练视频和 12 个测试视频,包含 12 个
不规则事件,包括骑自行车和驾驶车辆。
CUHK Avenue数据集由16个训练视频和21个测试视频组成,包含47个异常
事件,如跑步和扔东西。
上海科技数据集包含13个场景的330个训练视频和107个测试视频。 它是
现有异常检测基准中最大的数据集。






结果
14

比较指标:AUC(不同异常分数阈值
ROC曲线下的面积)。
粗体数字表示最佳性能,下划线数
字表示次佳。
后缀“-R”和“-P”分别表示重建和预测
任务。






结果定性展示
15
02

我们在图 中展示了我们的模
型在 UCSD Ped2 、CUHK Avenue
和 ShanghaiTech 上的未来帧预测
的定性结果。
。它显示了输入帧、预测错误和
覆盖在帧上的异常区域。 为了可
视化异常,我们计算类像素异常
分数。
然后我们标记异常分数大于
帧内平均值的区域




16

2
在未来帧预测的情况下,我们的模型
不需要计算光流。
使用了少量的项(10项,而MemAE为
2000项)。
1
内存项目的requires_grad=False,Memory的更新只
由update()方法确定。
3






Thanks !