Learning Memory-guided Normality for Anomaly Detection阅读笔记

Abstract

我们解决异常检测的问题,即检测视频序列中的异常事件。

传统上,异常检测方法,通过重建输入的视频帧来学习正常情况的模型,训练时没有异常样本,测试时使用重建误差来量化异常的程度。

这些方法的主要缺点就是没有考虑正常样本的多样性,CNNs的能力太强,对于输入是异常的视频帧样本,也能重建的像异常视频帧,从而导致重建误差较小,无法区分异常数据。为了解决这个问题,提出一种无监督的异常检测方法,该方法明确考虑了正常模式的多样性,同时降低了CNNs网络的表达能力。

为此,我们建议使用具有新更新方案的存储器模块,其中存储器中的项目记录正常数据的原型模式。我们还提出了新的特征紧凑性和分离损失来训练记忆,提高了记忆项目和从正常数据中深入学习的特征的辨别能力。

1 Introduction

过去十几年,视频异常序列中的异常事件检测引起极大关注,对于监视和故障系统尤其重要。

存在挑战:

  • 异常的种类很多,很难界定哪些类就是所谓的异常数据。
  • 异常数据标记困难,很少发生,数据量少

所以异常检测通常认为是一种无监督学习的问题,旨在学习一个没有异常样本的描述正态性的模型。(只学正常数据的分布)

正常方法,测试时,假设异常样本不能够被很好的重建,因为模型在训练阶段没有见过异常数据。

方案1: 使用基于CNN的自编码器[1, 17]

**缺点:**CNN提取能力太强,同时异常帧的CNN特征可能通过组合正常帧的特征进行重建[22, 8]。这种情况,异常帧有较低重建误差,分辨不出来。

[1]Y oshua Bengio, Pascal Lamblin, Dan Popovici, and Hugo Larochelle. Greedy layer-wise training of deep networks. In NIPS, 2007. 1, 2

[17] Diederik P Kingma and Max Welling. Auto-encoding variational bayes. arXiv preprint arXiv:1312.6114, 2013. 1, 2

[22]Wen Liu, Weixin Luo, Dongze Lian, and Shenghua Gao. Future frame prediction for anomaly detection–a new baseline. In CVPR, 2018. 1, 2, 3, 4, 6, 7

[8] Dong Gong, Lingqiao Liu, Vuong Le, Budhaditya Saha,
Moussa Reda Mansour, Svetha V enkatesh, and Anton
van den Hengel. Memorizing normality to detect anomaly: Memory-augmented deep autoencoder for unsupervised anomaly detection. In ICCV, 2019. 1, 3, 6, 7, 8

方案2: 针对CNN提取能力太强,[22]提出视频预测架构;最小化了预测的未来帧与其基本事实之间的差异

以上两种方案[1, 17, 22]的缺点: 不能直接检测异常[35],智能通过其他间接方式:如重建输入帧或者预测未来帧。针对这一个缺点,Deep SVDD[35]利用一类分类目标将正常数据映射到一个超球面。具体来说,它最小化了超球体的体积,使得正常样本被紧密地映射到球体的中心。但这并没有考虑正常样本的各种模式。

[35] Deep one-classification. In ICML, 2018. 2

本文考虑了正常数据的多样性。我们假设单个原型特征不足以代表正常数据的各种模式。在正常视频帧的特征空间中存在多个原型(即,特征的模式或质心)(图1)。

为实现这个想法,提出memory module。并且使用memory的输出特征来表示视频帧,减少了CNN的提取能力。

为了减少CNN特征的类内变化,我们提出了一种特征紧凑性损失,将正常视频帧的特征映射到memory中最近的项目,并鼓励它们靠近。

我们提出了一个特征分离损失,增大类间距离

我们还引入了一种更新策略,以防止memory在测试时记录异常样本的特征。为此,我们提出了一种加权规则分数,用于测量一个视频帧内存在多少异常,这样,只有当该帧被确定为正常帧时,项目才会被更新。

贡献:

  • 假设正常视频帧在特征空间中存在多个中心,提出memory module,来记录正常样本的一个分布
  • 我们提出特征紧凑性和分离性损失来训练记忆,确保记忆项目的多样性和辨别能力。提出memory的一个方案。
  • 取得目前最好的结果。同时进行了大量的消融实验。

2 Related work

Anomaly detection.

一些工作简单的将异常检测公式化为无监督学习问题,通过重建或者鉴别的方法来描述正常数据的分布正态性的模型。通过简单的表示学习方法,例如稀疏字典学习或者生成模型。但是这些方法通常无法捕捉图像和视频等高维数据的复杂分布。

过去十年,CNN在异常检测方面取得了显著进步。

许多异常检测方法利用重构模型[9,26,5,33],利用来自例如卷积AE (Conv-AE) [9],3D Conv-AE [50],递归神经网络(RNN) [29,26,25]和生成对抗网络(GAN) [33]的特征表示。但是CNN特征提取能力太强了,所以异常数据通常也能被重构出来。

所以提出了假设,视频中的异常帧不可预测。预测视频序列中的未来帧,然后和异常输入坐差值,计算异常。但是代价是需要光流信息。

Deep SVDD[35]利用一类分类目标将正常数据映射到一个超球面。而使用一类分类目标迫使异常样本落在球体之外。

总之,就是给CNN特征提取网络加约束,抑制特征提取能力。

我们用内存中的项目组合来重建或预测视频帧,而不是直接使用来自编码器的CNN特征,同时考虑正常数据的各种模式。

Memory networks.

LSTM可以捕获顺序数据中的长期依赖关系。但是记忆能力有限。

所以引入Memory网络,可以读写全局memory,能够比经典方法更好的执行记忆任务

3 Approach

我们重建输入帧或预测未来的帧用于无监督的异常检测。预测和重建相同的网络架构和损失函数。

三部分构成:

编码器、memory module,和解码器。

编码器提取出来的特征被用来输入memory中检索正常模式并且更新memory。我们将聚集道德查询特征和memory items反馈到解码器,用于重构输入视频帧。我们使用重构、特征紧致性和特征分离损失来训练我们的模型。

我们计算输入帧与其重建之间的差异,以及查询特征与内存中最近项目之间的距离,以量化视频帧中异常的程度。

3.1 Network architecture

3.1.1 Encoder and decoder

利用广泛用于重建和未来帧预测任务的U-Net架构[34],

我们删除了编码器中的最后一批归一化层[12]和ReLU层[18],因为ReLU截断了负值,限制了不同的特征表示。相反,我们添加了一个L2归一化层,使特征具有共同的比例。在U-Net架构中跳过连接可能无法从视频帧中提取有用的特征,尤其是对于重建任务,并且我们的模型可能会学习复制重建的输入。

因此,我们删除了重建任务的跳过连接,同时保留它们以预测未来的帧。

[34] Olaf Ronneberger, Philipp Fischer, and Thomas Brox. U-Net: Convolutional networks for biomedical image segmentation. In MICCAI, 2015. 4

[12] Sergey Ioffe and Christian Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In ICML, 2015. 4

[18]Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton. ImageNet classification with deep convolutional neural networks. In NIPS, 2012. 4

编码器输入ItI_tIt​特征,输出H×W×CH\times W\times CH×W×C的查询图qtq_tqt​,使用qKq_KqK​,K∈RC,(k=1,...K),K=H×WK \in R^C ,(k = 1,... K), K=H\times WK∈RC,(k=1,...K),K=H×W。查询映射qt中大小为1×1×C1 \times 1 \times C1×1×C的单个查询。

3.1.2 Memory

(待续……)

Learning Memory-guided Normality for Anomaly Detection阅读笔记相关推荐

  1. 论文阅读 (86):Normality Guided Multiple Instance Learning for Weakly Supervised Video Anomaly Detection

    文章目录 1 引入 1.1 题目 1.2 摘要 1.3 引用 2 方法 2.1 背景和动机 2.2 正态导向微调模块 2.2.1 正态更新 2.2.2 异常预测微调 2.3 学习目标 2.3.1 正态 ...

  2. [论文阅读笔记]Learning Memory-guided Normality for Anomaly Detection

    论文发表年限:CVPR,2020 作者:Hyunjong Park.Jongyoun Noh.Bumsub Ham 论文下载地址:Learning Memory-guided Normality fo ...

  3. Learning Memory-guided Normality for Anomaly Detection 代码解析

    Learning Memory-guided Normality for Anomaly Detection 代码解析 目录 : 整体结构 训练(train)部分分析 评估(evaluate)部分分析 ...

  4. Learning Memory-guided Normality for Anomaly Detection 论文解析——模型介绍

    Learning Memory-guided Normality for Anomaly Detection论文模型介绍 本文为对 Learning Memory-guided Normality f ...

  5. Learning Memory-guided Normality for Anomaly Detection论文解析

    近日拜读了本篇论文,有以下理解: 1.问题研究背景 检测视频序列中的异常事件(如人行道上的车辆)的问题对监控和故障检测系统尤为重要.由于一些原因,它是极具挑战性的.首先,异常事件是根据不同的情况而确定 ...

  6. [异常检测] Learning Memory-guided Normality for Anomaly Detection

    Learning Memory-guided Normality for Anomaly Detection 单位:Yonsei University 会议:CVPR 2020 论文地址:Learni ...

  7. Learning Memory-guided Normality for Anomaly Detection创新点介绍

    Learning Memory-guided Normality for Anomaly Detection创新点介绍   最近,我阅读了Learning Memory-guided Normalit ...

  8. 视频异常检测——Learning Memory-guided Normality for Anomaly Detection

    Learning Memory-guided Normality for Anomaly Detection 文章 资源 问题描述 思想 贡献 做法 存在的问题 思考 文章 2020.CVPR.Lea ...

  9. Learning Memory-guided Normality for Anomaly Detection

    论文链接:Learning Memory-guided Normality for Anomaly Detection 开源代码:https://github.com/cvlab-yonsei/MNA ...

最新文章

  1. python中的数列[a::b]操作
  2. ArrayList遍历
  3. Hadoop IO 文件压缩 序列化
  4. LOJ#2542 随机游走
  5. 探秘音视频网络优化与全球化部署最佳实践
  6. linux shell 脚本攻略学习11--mkdir和touch命令详解
  7. asp.net中ADO.NET连接SQL数据库代码和连接Access数据库代码
  8. qn模块java脚本_Qn271 对于网络编程 反射 IO 线程的一些一本入门程序 多多联系会加快 速度 WinSock-NDIS 269万源代码下载- www.pudn.com...
  9. 最详细的YOLO论文笔记
  10. 快速上手,定制第一个WES8镜像
  11. 我学Delphi心得及笔记----用户自定义数据类型(第三讲)
  12. vue style.css,vue * !!vue-style-loader!css-loader?
  13. 20行代码简单python爬虫,爬虫实例
  14. Verilog语法入门
  15. OSX 安装配置Maven
  16. KIS专业版12.0迁移K3WISE14.3后自定义核算项目权限问题
  17. TP-LINK三层网管交换机通过console接口完成复位操作
  18. 计算机专业职业战队,「团长分享」计算机系Meiko?画家小姜?如果选手没打职业……...
  19. 那些年,大厂在用的技术(前端)
  20. 苹果授权登录Sign In With Apple亲测通过版[100%成功]

热门文章

  1. 内部链接十二条网页黄金规则
  2. 易观梁新刚——高级规划与排程
  3. python进阶学什么意思_为什么要学习python进阶的知识
  4. Dataflow模型
  5. 姐何避免螺母点焊机点焊的时候发黑?
  6. 数据类型 boolean(布尔型 )
  7. Python replace用法
  8. 干货应用迁移|搜狗输入法在龙芯平台上的适配与应用
  9. Unity2017 Assetbundle 打包、加载
  10. Redis 到底是单线程还是多线程?