异常检测 | Learning Normal Dynamics in Videos with Meta Prototype Network(包含原文、代码、相关数据集下载)

异常检测 | Learning Normal Dynamics in Videos with Meta Prototype Network(包含原文、代码、相关数据集下载)_第1张图片

论文原文及代码:Learning Normal Dynamics in Videos with Meta Prototype Network | Papers With Code


目录

问题设定

主要内容

亮点 

数据集

CUHK Avenue 数据集

UCSD数据集

代码复现

遇到的bug


问题设定

        基于自编码器的视频帧重建(或未来帧预测)方法成为视频异常检测的一个潮流算法。这些仅仅使用包含正常模式的数据训练的模型,在遇到没有见过的异常模式的数据时,往往会产生比较大的重构误差。 但是由于深度神经网络极强的泛化能力,深度模型对一些异常的视频帧也会重建(或预测)的较好,这就导致“过度泛化”问题。 


主要内容

        设计了一个动态原型学习的组件(DPU),来动态实时地建模和压缩视频中的正常模式为原型(prototype),以促进模型对正常视频帧的重建(或预测)和抑制对异常视频帧的重建(或预测)。

        并且,引入元学习理论,赋予动态原型学习组件场景模式自适应的能力,形成一个新的少镜头正常学习者,即元原型单元(MPU),不需要设计对应规则和阈值来更新原型,具有快速高效的自适应能力。


亮点 

1.In this work, we have introduced a prototype learning module to explicitly model the normal dynamics in video
sequences with an attention mechanism for unsupervised anomaly detection.
作者 引入了一个原型学习模块来显式地建模视频序列中的正常动态,并给出了一种用于无监督异常检测的注意机制。

2.The prototype module is fully differentiable and trained in an end-to-end manner.
原型模块是完全可分化的,并以端到端的方式进行训练。

3.Without extra memory consumption, our approach achieves SOTA performance on various anomaly detection benchmarks in the unsupervised setting. In addition, we improve the prototype module as a few-shot normalcy learner with the meta-learning technology.
在没有额外内存消耗的情况下,作者的方法在无监督环境下实现了各种异常检测基准的Sota。

4.In addition, we improve the prototype module as a few-shot normalcy learner with the meta-learning technology.
此外,作者还利用元学习技术对原型模块进行了改进,使其成为 few-shot normalcy learner(多场景学习器)

参考笔记:异常检测阅读笔记《Learning Normal Dynamics in Videos with Meta Prototype Network》,元学习,内存网络_研途可达的博客-CSDN博客


异常检测 | Learning Normal Dynamics in Videos with Meta Prototype Network(包含原文、代码、相关数据集下载)_第2张图片

 异常检测 | Learning Normal Dynamics in Videos with Meta Prototype Network(包含原文、代码、相关数据集下载)_第3张图片


数据集

CUHK Avenue 数据集

CUHM Avenue数据集
下载地址:http://www.cse.cuhk.edu.hk/leojia/projects/detectabnormal/dataset.html

百度云链接:https://pan.baidu.com/s/1roZOvL8ftjgCawP7CdnUqg 提取码:ye8a

        Avenue数据集包含16个训练和21个测试video clips。这些视频是在 CUHK 校园大道拍摄的,总共有30652帧(15328帧训练,15324帧测试)。这个数据集来自paper"Abnormal Event Detection at 150 FPS in Matlab, Cewu Lu, Jianping Shi, Jiaya Jia, International Conference on Computer Vision, (ICCV), 2013"

CUHK Avenue数据集 异常检测数据集

UCSD数据集

UCSD Ped1 & Ped2 数据集
下载地址:http://www.svcl.ucsd.edu/projects/anomaly

百度云链接:https://pan.baidu.com/s/1cbQJtNFQhX73AxiQZwy01w 提取码:263i

备注:

1. ped1数据集像素级标注不完整,以下链接
补全了像素级标注:https://hci.iwr.uni-heidelberg.de/content/video-parsing-abnormality-detection

2. ped1数据集存在标注错误,以下链接修正了标注错误:https://github.com/SeaOtter/vad_gan

3. 链接
提供了矩形框级别的标注:https://www.merl.com/demos/video-anomaly-detection
————————————————

下载地址原博主链接:https://blog.csdn.net/Strive_For_Future/article/details/114854674

        是通过固定摄像头俯瞰人行道拍摄的,它有两个子文件夹,分别是UCSDped1和UCSDped2,每个文件夹下都有剪辑好的视频片段,每个视频片段大约在200帧左右。所有的训练样本都是正常样本,每一个测试片段都会包含某些异常帧,测试集中的异常帧的帧数区间在.m文件中有相应的标注。 UCSDped1是行人远离和走进相机的场景的剪辑片段,训练集有34个视频片段,测试集有36个视频片段。 UCSDped2是行人行走路径平行于相机场景的视频剪辑片段,训练集有16个视频片段,测试集有12个视频片段。

异常检测 | Learning Normal Dynamics in Videos with Meta Prototype Network(包含原文、代码、相关数据集下载)_第4张图片

ShanghaiTech数据集

        包含330个训练视频和107个测试视频,共计13个场景。

UCF-Crime数据集

        包含从大量真实世界的监控摄像机中收集的普通和犯罪视频,每个视频来自不同的场景。作者使用来自这个数据集的950个普通视频进行元训练,然后在跨数据集测试中对模型进行测试, 


异常检测 | Learning Normal Dynamics in Videos with Meta Prototype Network(包含原文、代码、相关数据集下载)_第5张图片

异常检测 | Learning Normal Dynamics in Videos with Meta Prototype Network(包含原文、代码、相关数据集下载)_第6张图片

 异常检测 | Learning Normal Dynamics in Videos with Meta Prototype Network(包含原文、代码、相关数据集下载)_第7张图片

 异常检测 | Learning Normal Dynamics in Videos with Meta Prototype Network(包含原文、代码、相关数据集下载)_第8张图片


代码复现

异常检测 | Learning Normal Dynamics in Videos with Meta Prototype Network(包含原文、代码、相关数据集下载)_第9张图片

该训练所需数据集格式的数据集下载可参考:ano_pred_cvpr2018/Data at master · StevenLiuWen/ano_pred_cvpr2018 · GitHub

终端输入: 

sh ped2.sh

即可下载

遇到的bug

这个bug:RuntimeErron: Expected a ‘cpu‘ device type for generator but found ‘cuda‘

异常检测 | Learning Normal Dynamics in Videos with Meta Prototype Network(包含原文、代码、相关数据集下载)_第10张图片

 解决方法:数据运算结构都放到cuda里或者都cpu,例如

CUDA_VISIBLE_DEVICES=0 python Train.py

 DPU复现成功,大概一小时左右训练好了。

你可能感兴趣的:(异常检测,计算机视觉,视觉检测,深度学习,python)