文摘
视频监控数据的快速增长,有越来越大数据自动异常检测需求的大规模视频数据。使用重建错误检测方法基于深autoencoders已经被广泛讨论。然而,有时autoencoder重建异常,可能导致丢失的检测。为了解决这个问题,本文使用一个内存模块增强autoencoder,称为memory-augmented autoencoder(内存AE)方法。给定的输入,记忆AE首先从编码器获得代码,然后使用它作为一个查询来检索最相关的记忆重建项目。在训练阶段,记忆的内容更新和鼓励代表原型元素的正常数据。在测试阶段,学习记忆的元素是固定的,从几个选择记忆获得和重建正常数据的记录。因此,重建会接近正常样本。因此,异常错误的重建将加强对异常检测。实验结果在两个公共视频异常检测数据集,即。, Avenue dataset and ShanghaiTech dataset, prove the effectiveness of the proposed method.
1。介绍
作为一个高级计算机视觉任务,视频异常检测是指自动检测异常事件在一个给定的视频序列,可有效区分异常和正常活动和异常类别的视频。在过去的几年中,研究人员已经进行了许多研究相关的异常检测(1- - - - - -9]。与正常的事件相比,很少发生的事件或发生概率较低通常认为是不正常的。然而,在实践中,很难建立一个有效的异常检测模型由于未知的事件类型和异常定义不清晰。大多数现有异常检测方法的设计是基于假设任何模式不同于正常学习模式被认为是异常。基于这样的假设,相同的活动在不同的场景中可能表现为正常或异常事件。例如,一个战斗场景,两人战斗在街上可能被视为异常,虽然两人是拳击时是正常的。此外,还有大量的冗余的视觉信息在高维视频数据,增加活动的困难表示的视频序列。
根据前面的工作,异常检测方法一般可以分为两种类型。一些异常检测方法是通过重建设计错误,它专注于视频序列建模正常模式(3- - - - - -5,7,8,10,11]。这些方法学习的正常模式的特征表示模型训练阶段和使用异常和正常样本之间的差异来确定最后的异常分数测试数据在测试阶段,比如重建错误或特定阈值(7- - - - - -14]。虽然reconstruction-based异常检测方法擅长重建正常模式的视频序列,这些方法的关键问题是,他们严重依赖于训练数据。另一种方法作为异常检测分类问题(15,16]。这些方法,一个视频序列的异常分数预计通过使用一个训练分类器来提取光流的特性,比如直方图(霍夫)或动态纹理(DT)。这些方法的性能高度依赖于训练样本。为了获得满意的性能,提取有效和歧视这样的异常检测方法的特性是至关重要的(17- - - - - -20.]。然而,这两种类型的方法通常在一个相对简单的模型之间的相互关系事件(7,10,21- - - - - -23]。例如,只有被认为是线性关系,这对复杂是不够的,在许多实际情况下高度非线性关系。
近年来,基于深度学习方法应用到视频领域的检测,取得了很大的进步24- - - - - -26]。例如,autoencoders (AE)使用重建错误检测异常,和一系列的方法在此基础上提高。此外,生成对抗网络(GAN)和长期短期记忆(LSTM)也被应用于解决异常检测问题。然而,AE可能具有很强的泛化能力,导致重建异常事件的能力。在[14),研究人员指出,由于没有异常的训练样本,重建异常样本应该是不可预测的,这可能会导致更大的重建错误异常样本。如果一些异常现象有一个共同的作文模式与正常训练数据或解码器“太强”,无法解码有些异常代码,然后AE可以重建异常。
为了克服AE的缺点,本文使用一个内存模块提高深AE和发展memory-augmented AE(内存AE)方法。当一个新的测试样本输入,记忆AE不会直接编码输入到译码器,但把它作为一个查询来检索相关内容在内存模块。然后,内容聚合和传递到解码器。这个过程是实现了寻址的关注。此外,本文利用可微收缩运营商诱导的稀疏内存寻址的重量,可以鼓励记忆方法在特征空间查询的内容。在训练阶段,编码器和译码器更新内存模块同时获得较低的平均重建误差。在测试阶段,学习记忆的内容是固定的,和少量的正常记忆项目将用于重建。如果这些被选中的社区输入代码,重建误差将会非常明显。几个公共基准数据集的实验表明,检测性能的内存AE已经达到了艺术的状态。
2。算法的原理
图1显示内存AE的总体网络结构,分为三个子结构:编码器输入并生成查询)(用于编码,译码器(用于重建),和内存模块(内存和相关处理操作)。如图1,考虑到事件进行测试,第一编码器获得其编码值。通过使用编码值作为查询,内存模块检索最相关的内容在内存模块通过一种引起寻址运算符,然后将其传递到重建的解码器。在培训期间,编码器和译码器优化参数重建误差降到最低,同时,更新内存模块记录的原型元素编码正常数据。给定一个测试样本,该模型只使用有限的正常模式记录在内存模块进行重建。通过这种方式,重建往往是接近正常样本。因此,重建正常样本的误差很小,和异常误差很大。
2.1。编码器和解码器
编码器和解码器是AE的两部分。前者将输入数据映射到特征空间,获取它的编码值,而后者可以编码值为输入数据。AE由编码器和一个解码器 ,可以表示为哪一个 在哪里和的输入是AE和重建的输入,分别编码的结果吗 ,和和表示的参数编码器和译码器,可以通过最小化之间的重建误差和 :
通过重建正常样本的误差(19,20.)确定是否异常,AE已成功用于解决异常检测的任务。然而,重建异常样本应该是不可预测的,这可能导致更大的重建错误异常样本。为了解决这个问题,一个内存模块介绍了AE的部分2。2和内存AE提出。
2.2。内存模块
该方法包含一个内存模块记录原型编码模式和一个访问内存的寻址操作模块。
2.2.1。以表示
注意模块被设计为一个矩阵 包含实时的向量。为简单起见,假设的尺寸是 ;然后,让 。给定一个行向量 , ,在哪里是一个整数从1到吗 。每一个代表记忆项;给定一组的查询 ,的记忆网络获得并用软地址向量 如下: 在哪里是一个行向量,所有项目的总和是1,代表什么 ,项目的 。权向量可以通过计算。如方程所示(4重量),地址需要关闭内存模块。混合参数被定义为 ,最大容量的内存模块。尽管它是 ,不容易找到最好的为不同的数据集;幸运的是,内存AE的设置并不敏感N。足够的,大可以应用到每个数据集。
2.2.2。注意内存寻址
AE在内存中,内存模块的目的是详细记录原正常模式培训阶段。内存模块定义为内容可寻址内存, ,计算及其解决方案 ,注意体重,基于查询和记忆项之间的相似度。如图1,每个重量可以通过将softmax计算操作 : 在哪里代表了相似性度量。本文定义了它作为一个余弦相似性:
就像方程(4)- (6),内存模块检索记忆最相似项目获得表示 。由于内存大小的限制和稀疏的寻址技术,只有少量的内存物品可以一次解决。因此,内存模块的有效行为可以解释如下。在训练阶段,译码器在内存中AE仅限于使用很少的可寻址内存重建项目,需要有效利用内存产品。因此,在重建过程中,内存模块需要被迫记录输入正常模式中最具代表性的原型模式。在测试阶段,考虑到训练有素的记忆,只能检索记忆的正常模式的重建。因此,正常样本可以更好的重建。相反,异常输入的编码值可以被检索到正常模式,导致大量重建误差异常样本。
2.3。培训
给定一个数据集包含样本 ,让表示重建的样本在训练样本;最小重构执行如下:
的规范是用来测量重建误差;代表每个样本的内存寻址的重量 。为了进一步促进的稀疏 ,培训期间稀疏正则化最小。考虑到所有的是负的, ,形成一个优化的问题如下:
通过结合方程(的损失函数7)和方程(8),内存AE的目标函数如下: 在哪里是hyperparameter培训过程。在实践中,设置为0.0002。在培训过程中,记忆是通过反向传播和梯度下降法更新。在反向传播,只有记忆项的梯度和非零解决重量可以非零。
2.4。测试
模型训练后,重建误差的像素位置 的框架可以由以下公式计算: 在哪里代表整个模型。进行像素级的重建误差架,整个帧图像的重建误差可以通过求和 。然后,框架的异常分数可以计算如下:
最后,可以设置一个阈值来确定是否异常 。
3所示。实验
在本节中,验证了该方法的有效性和与其他现有方法相比。目前,两个公共数据集用于实验,即。,大道数据集和ShanghaiTech数据集。框架水准仪的曲线下面积(AUC)和曾经被用作定量评价指标。
3.1。准备
大道的数据集使用固定相机分辨率为640×360像素来捕获和记录街道活动的香港城市大学。数据集包括16培训视频包含正常的人类行为和21个测试视频包含异常事件和人类行为。它共有30652帧,所有测试视频目标级注释,也就是说,一个矩形区域是用来标记异常在空间的位置。正常行为是人在人行道上行走,而不正常事件是人们乱扔垃圾/丢弃物品,徘徊,对着镜头行走,走在草地上,和丢弃对象。
ShanghaiTech数据集是一个非常具有挑战性的集合为异常事件检测。不像其他的数据集,它包含13个不同的场景不同的照明条件和相机角度,包括330培训视频和107个测试视频。测试集包含一个130异常事件进行像素级注释。整个数据集共有316154帧,在训练集包括274515帧,42883帧的测试集,17090帧的异常框架。每个视频帧的分辨率是480×856。
模型测试平台与NVIDIA GTX1080TI硬件平台和8 GB的视频内存,和软件环境是PyTorch和Python 3.6。为了测量视频异常检测方法的有效性提出本文框架水准仪的AUC接受者操作特征曲线(ROC)作为评价指标。框架水准仪评价指标,如果至少有一个帧的像素标记为异常,帧被认为是异常。框架水准仪AUC是通过比较计算框架水准仪的框架水准仪检测结果与真实的标签。
3.2。实验装置
所有视频帧调整到227×227,然后转换为灰度图像。模型的输入为227×227×5,即连续5帧作为模型的输入。每次卷积层后,有一批归一化层和ReLU激发层。译码器包括4反褶积层。注意模块将让每个内存段记录功能特性的像素地图上,对应于一个次区域的视频片段。因此,内存模块是一个1000×64矩阵。亚当优化器是整个模型参数的优化选择。最初的学习速率为0.0001,和迭代的数量是1000。动量参数是 ,和批处理大小是128。
3.3。实验结果
为了证明该方法的有效性在视频异常检测,本文比较了它与现有12个不同的方法。其中,MPPCA(混合概率主成分分析)+科幻(社会力量)17和联合化疗(动态纹理的混合)18)方法是基于手动功能;Conv-AE [8),3 d Conv [19],堆叠RNN [20.]和ConvLSTM-AE [21],MemNormality [10],ClusterAE [22根据autoencoders)是所有方法;AbnormalGAN [7和Pred +侦察23)是基于生成对抗网络的方法。
表1显示了框架水准仪视频异常检测各种方法的结果。它可以观察到,在这两个数据集的结果,该方法基于AE通常比基于手工的方法更好的特性,和更高的框架水准仪auc。这是因为手工制作的特性通常是提取基于其他任务,因此可能是次优的。AE-based方法,ConvLSTM-AE比Conv-AE因为前者能更好的捕获时间信息。此外,它也可以指出,基于氮化镓的方法执行比大多数基线的方法。最后,记忆AE方法提出了框架水准仪AUC在大街上数据集达到85.7%,前0.6%表现最好的Pred +侦察(23)方法;而本文提出的方法实现了75.3%框架水准仪AUC ShanghaiTech数据集,2%领先于其他方法在框架水准仪AUC,效果非常明显。这主要是因为该方法基于记忆的AE使用内存碎片,可以重建异常好,引入一些随机误差。此外,与大道数据集相比,取得了更高的框架水准仪AUC ShanghaiTech数据集。这主要是因为ShanghaiTech数据集包含多个场景和异常事件并没有出现在其他数据集,这是更复杂的。为了验证检测结果ShanghaiTech数据集上的一个场景,一个场景视频片段用于训练和测试。83段(25%)用于训练和34段(32%)用于测试框架水准仪AUC达到86.3%,这已经达到了一个水平类似于大道数据集。总之,该内存AE方法可以灵活应用于不同类型的数据。只有通过重建误差,该方法可以获得更好的结果最少的特定知识。
为了评估预定义的存储器模块的性能检测异常视频事件,下一步是改变大小的内存模块和在大街上执行的实验数据集,并给出框架水准仪AUC值表2。它可以发现,给定一个足够大的内存模块大小,内存强劲AE方法能产生最好的结果。当内存模块的大小大于1000年,对检测结果的影响很小,但更大的内存模块大小的使用将导致大量的计算,因此,内存模块大小选为1000。
数据2(一个)和2 (b)分别显示大道的一些检测结果数据集和ShanghaiTech数据集。绿色框是正常的帧的帧从常规的视频剪辑,和红色框中的帧异常帧从异常的视频剪辑。一些异常事件如掉纸屑,在人行道上骑自行车,殴打,等等,可以检测到。
(一)
(b)
4所示。结论
提出了一种内存AE提高大数据的性能异常检测在视频。给定的输入,提出了内存AE方法首先使用一个编码器获得编码表示,然后使用代码作为一个查询来检索最相关的模式重建的内存模块。由于内存模块训练记录典型的正常模式,提出内存AE可以重建正常样本和放大的重建误差异常,加强重建误差的作用是异常检测标准。两个数据集的实验证明了该方法的通用性和有效性。在未来,我们将研究使用解决权重进行异常检测。考虑到该存储器模块是普遍的和无关的结构编码器和译码器,它将被集成到一个更复杂的基本模型和用于实验更具挑战性的数据集。
数据可用性
本文中使用的数据集可以获得相应的作者。
的利益冲突
作者宣称没有利益冲突有关的出版。