REMEMBERING HISTORY WITH CONVOLUTIONAL LSTM FOR ANOMALY DETECTION——利用卷积LSTM记忆历史进行异常检测

本文主要是介绍REMEMBERING HISTORY WITH CONVOLUTIONAL LSTM FOR ANOMALY DETECTION——利用卷积LSTM记忆历史进行异常检测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

上海科技大学的文章,上海科技大学有个组一直在做这方面的工作,好文章挺多的还有数据集。

ABSTRACT

本文解决了视频中的异常检测问题,由于异常是无界的,所以异常检测是一项极具挑战性的任务。我们通过利用卷积神经网络(CNN或ConvNet)对每一帧进行外观编码,并利用卷积长期记忆(ConvLSTM)来记忆与运动信息相对应的所有过去的帧来完成这项任务。然后将ConvNet和ConvLSTM与自动编码器相结合,即ConvLSTM-AE,学习普通时刻的外观和运动规律。与基于三维卷积自动编码器的异常检测相比,我们的主要贡献在于提出了一种ConvLSTMAE框架,该框架能够更好地对正常事件的外观变化和运动变化进行编码。为了评估我们的方法,我们首先在一个人工合成的移动MNIST数据集上进行了实验,实验结果表明,我们的方法可以很容易地识别出外观和运动的变化。在真实异常数据集上的大量实验进一步验证了该异常检测方法的有效性。

Index Terms :异常检测,卷积神经网络,长期短期记忆

 

  • 这篇文章的目的:检测视频异常事件。
  • 贡献:
  1. 我们开发了一个ConvLSTM-AE框架来编码外观和外观(运动)的变化,用于异常检测
  2. 在一个合成的运动MNIST数据集上的实验表明,我们提出的ConvLSTM-AE能够很容易地检测到由运动或外观引起的异常。在真实数据集上的实验进一步验证了该异常检测框架的有效性
  • 背景:以前方法不好,通常关注的是外形,他可以关注运动状态,保留空间信息。
  • 结果:比以前方法好
  • 方法 :将CNN和ConvLSTM集成在一个自动编码器框架内,以保证ConvLSTM能够记忆过去的信息。我们使用一个反卷积网络(DeconvNet)来重建过去的帧,并识别是否有异常发生,我们也用一个不同的DeconvNet来重建当前的帧。因此,重构误差是外观或运动变化的指示器。——重建误差
  • 感觉存在的问题:没有核心创新,拼接两个方法作为一个新的识别方法。粗略一看没有很大的启发。

Introduction

异常检测是计算机视觉中的一项重要任务,在视频监控、视频摘要、场景理解等领域有着广泛的应用。然而,由于这是一个不适定问题,这一任务仍然具有极大的挑战性,即异常事件的场景是无界的,因为收集所有异常事件对应的数据是极其困难或不可行的。相比之下,在视频中获取普通时刻要容易得多。因此,一种常见的异常检测设置是,在训练集中只有普通的时刻可用。1异常检测可以被描述为以下两个子问题:i)如何对外观和运动进行特征化;ii)如何对外观或运动的变化进行建模。在相当长的一段时间内,手工制作的功能[1][2]被用来表征视频中的外观和运动,然后稀疏表示方法[3][4][5]可以用来测量外观或运动的变化。然而,这种稀疏表示策略对于训练和测试都是非常耗时的。最近,在图像分类[6]和活动识别[7][8]中,深度神经网络显示了其相对于手工制作的特征的优势。最近,Hasan等人[9]提出使用基于3D卷积神经网络(ConvNet或CNN)的自动编码器框架,同时学习外观和运动之间的规律性,用于异常检测。然而,现有的许多活动识别工作表明,3D卷积对于运动特征[10][11]还不够好。

根据CNN的图像表示[6]的成功和长期短期记忆(LSTM)建模顺序数据的变化[7],在本文中,我们建议使用事先对每一帧进行编码和使用卷积LSTM (ConvLSTM) [12], LSTM的变种,保留了空间信息,记住外表的变化对应于运动信息。然后我们将CNN和ConvLSTM集成在一个自动编码器框架内,以保证ConvLSTM能够记忆过去的信息。我们使用一个反卷积网络(DeconvNet)来重建过去的帧,并识别是否有异常发生,我们也用一个不同的DeconvNet来重建当前的帧。因此,重构误差是外观或运动变化的指示器。我们将我们的框架称为基于ConvLSTM的自动编码器(简称ConvLSTM- ae)。在合成的Moving-MNIST数据集上的实验(图2和表1)表明,与[9]相比,我们的模型可以很容易地识别出外观和运动的变化,因此我们的框架更适合异常检测。

我们的工作总结如下:i)我们开发了一个ConvLSTM-AE框架来编码外观和外观(运动)的变化,用于异常检测;ii)在一个合成的运动MNIST数据集上的实验表明,我们提出的ConvLSTM-AE能够很容易地检测到由运动或外观引起的异常。在真实数据集上的实验进一步验证了该异常检测框架的有效性。

图1:我们的ConvLSTM-AE框架的展开架构。卷积模块表示卷积层。Deconv模块表示去卷积层。ConvLSTM模块表示卷积LSTM层。图中同一行的所有层都是相同的。对于除第一帧之外的每一帧的每个DeconvNet,左侧重建前一帧,右侧重建当前帧,而与第一帧对应的DeconvNet仅重建第一帧。

Fig. 4: The change of training reconstruction error of
ConvLSTM-AE on different datasets.

CONCLUSION

在这篇文章中,我们提出了一个基于自动编码器框架的卷积LSTM用于异常检测。通过使用CNN编码每一帧,每一帧的内容可以被很好的表示并且用于ConvLSTM可以将运动信息也很好的表示出来。同时,ConvLSTM保留了空间信息,这能够帮助当前和先前的帧进行重建,在合成的MNIST数据及上的实验表示该模型能够对外观和运动的变化有较强的鲁棒性。在全部的真实数据集上的实验进一步表示了我们的模型很好的性能以及具有很好的效率。

这篇关于REMEMBERING HISTORY WITH CONVOLUTIONAL LSTM FOR ANOMALY DETECTION——利用卷积LSTM记忆历史进行异常检测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1141555

相关文章

C#自动化实现检测并删除PDF文件中的空白页面

《C#自动化实现检测并删除PDF文件中的空白页面》PDF文档在日常工作和生活中扮演着重要的角色,本文将深入探讨如何使用C#编程语言,结合强大的PDF处理库,自动化地检测并删除PDF文件中的空白页面,感... 目录理解PDF空白页的定义与挑战引入Spire.PDF for .NET库核心实现:检测并删除空白页

Python异常处理之避免try-except滥用的3个核心原则

《Python异常处理之避免try-except滥用的3个核心原则》在Python开发中,异常处理是保证程序健壮性的关键机制,本文结合真实案例与Python核心机制,提炼出避免异常滥用的三大原则,有需... 目录一、精准打击:只捕获可预见的异常类型1.1 通用异常捕获的陷阱1.2 精准捕获的实践方案1.3

Python进行word模板内容替换的实现示例

《Python进行word模板内容替换的实现示例》本文介绍了使用Python自动化处理Word模板文档的常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录技术背景与需求场景核心工具库介绍1.获取你的word模板内容2.正常文本内容的替换3.表格内容的

Git进行版本控制的实战指南

《Git进行版本控制的实战指南》Git是一种分布式版本控制系统,广泛应用于软件开发中,它可以记录和管理项目的历史修改,并支持多人协作开发,通过Git,开发者可以轻松地跟踪代码变更、合并分支、回退版本等... 目录一、Git核心概念解析二、环境搭建与配置1. 安装Git(Windows示例)2. 基础配置(必

Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧

《Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧》本文将通过实际代码示例,深入讲解Python函数的基本用法、返回值特性、全局变量修改以及异常处理技巧,感兴趣的朋友跟随小编一起看看... 目录一、python函数定义与调用1.1 基本函数定义1.2 函数调用二、函数返回值详解2.1 有返

React 记忆缓存的三种方法实现

《React记忆缓存的三种方法实现》本文主要介绍了React记忆缓存的三种方法实现,包含React.memo、useMemo、useCallback,用于避免不必要的组件重渲染和计算,感兴趣的可以... 目录1. React.memo2. useMemo3. useCallback使用场景与注意事项在 Re

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

C#文件复制异常:"未能找到文件"的解决方案与预防措施

《C#文件复制异常:未能找到文件的解决方案与预防措施》在C#开发中,文件操作是基础中的基础,但有时最基础的File.Copy()方法也会抛出令人困惑的异常,当targetFilePath设置为D:2... 目录一个看似简单的文件操作问题问题重现与错误分析错误代码示例错误信息根本原因分析全面解决方案1. 确保