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

相关文章

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

使用Python进行文件读写操作的基本方法

《使用Python进行文件读写操作的基本方法》今天的内容来介绍Python中进行文件读写操作的方法,这在学习Python时是必不可少的技术点,希望可以帮助到正在学习python的小伙伴,以下是Pyth... 目录一、文件读取:二、文件写入:三、文件追加:四、文件读写的二进制模式:五、使用 json 模块读写

使用zabbix进行监控网络设备流量

《使用zabbix进行监控网络设备流量》这篇文章主要为大家详细介绍了如何使用zabbix进行监控网络设备流量,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装zabbix配置ENSP环境配置zabbix实行监控交换机测试一台liunx服务器,这里使用的为Ubuntu22.04(

在Pandas中进行数据重命名的方法示例

《在Pandas中进行数据重命名的方法示例》Pandas作为Python中最流行的数据处理库,提供了强大的数据操作功能,其中数据重命名是常见且基础的操作之一,本文将通过简洁明了的讲解和丰富的代码示例,... 目录一、引言二、Pandas rename方法简介三、列名重命名3.1 使用字典进行列名重命名3.编

python安装完成后可以进行的后续步骤和注意事项小结

《python安装完成后可以进行的后续步骤和注意事项小结》本文详细介绍了安装Python3后的后续步骤,包括验证安装、配置环境、安装包、创建和运行脚本,以及使用虚拟环境,还强调了注意事项,如系统更新、... 目录验证安装配置环境(可选)安装python包创建和运行Python脚本虚拟环境(可选)注意事项安装

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

SpringBoot使用minio进行文件管理的流程步骤

《SpringBoot使用minio进行文件管理的流程步骤》MinIO是一个高性能的对象存储系统,兼容AmazonS3API,该软件设计用于处理非结构化数据,如图片、视频、日志文件以及备份数据等,本文... 目录一、拉取minio镜像二、创建配置文件和上传文件的目录三、启动容器四、浏览器登录 minio五、

Python中异常类型ValueError使用方法与场景

《Python中异常类型ValueError使用方法与场景》:本文主要介绍Python中的ValueError异常类型,它在处理不合适的值时抛出,并提供如何有效使用ValueError的建议,文中... 目录前言什么是 ValueError?什么时候会用到 ValueError?场景 1: 转换数据类型场景