【论文精读】2017-ICME-Remembering history with convolutional LSTM for anomaly detection
Remembering history with convolutional LSTM for anomaly detection
Abstract
作者通过CNN提取外观特征并结合ConvLSTM模型来捕捉运动信息,在此基础上构建了一个自编码器框架以学习正常样本的外观变化与运动模式特征。相较于基于三维卷积自动编码器的方法(此处指三维卷积),作者的主要贡献在于提出了一种基于ConvLSTM的自编码器框架,在分别实现正常事件的外观变化与运动变化建模方面展现出显著优势。
通过实验验证了该方法的有效性。
Conclusion
通过采用卷积神经网络(CNN)对每帧图像进行编码处理后,在有效提取每帧细节的基础上,并结合循环时序神经网络(ConvLSTM)来建模运动信息。此外,在保留空间位置关系的前提下,该架构能够较好地重建当前帧与历史帧之间的过渡关系。在构建性的Moving-MNIST数据集上开展实验研究后发现:基于残差学习框架设计的ConvLSTM自监督学习模型(ConvLSTM-AE)对于外观变化及运动模式转换均展现出良好的鲁棒性特征;而通过对真实场景下的多个标准测试数据集进行系统评估后,则进一步验证了所提出的深度自监督学习框架相较于传统卷积自监督学习方法具有显著性能优势
ps:关于运动信息提取的研究中取得了一定进展。在模型结构上相较于[16年论文]而言采用了新的设计。
Introduction
异常检测问题可划分为两大类:其一是对物体外观及其动态行为特征的表征;其二是对物体外观或动态行为特征变化规律的建模。现有研究表明,在描述动态行为特征方面,三维卷积网络表现不足(此处应与Hasan等人的工作相对比)。作者的工作总结如下:首先构建了一个名为ConvLSTM-AE的新框架;其次该框架能够有效编码物体外观及其动态行为特征;再次通过合成移动MNIST数据集上的实验结果表明,在识别由运动或外观变化导致的异常时表现突出;最后通过真实世界数据集的测试验证了所提出异常检测框架的有效性。
Related work
涉及Hasan的文章中有关于视频各片段出现异常的情况。在进行帧级的异常估计时,具体而言,在每个视频片段内需逐一分析其各帧状态,并针对每一段图像分别计算其各个像素点的空间特征参数,再结合时间信息建立动态模型进而完成状态转移概率矩阵等运算工作,从而实现对每个像素点的状态变化趋势做出评估和推断,最终得到每个像素点出现故障的可能性大小值。(文中提及了未在原有研究中使用的具体的评分标准)
Method
模型结构

结构如上图首先基于CNN对每一帧的输入内容进行编码处理;随后将这些编码特征输入到一个ConvLSTM模型中;该模型通过其自身的特性能够记住所有历史帧的信息;随后利用该模型输出结果来生成当前帧和上一[frame]的重建版本;通过这一过程实现对前一iframe图像的有效还原;这种还原过程有助于验证模型是否能够有效保留历史信息;然而在异常事件发生时由于外观特征或运动模式的变化显著增强使得基于历史信息的重建效果变得较差;此时重建图像与实际当前iframe之间的差异会显著增大;因此可以通过计算重构误差值的变化趋势来判断系统是否处于异常状态;同时我们的目标函数(Reconstruction-based Loss)正是用于评估生成图像与真实图像之间的相似度程度

当时间步t=1时,在重构当前帧的过程中仅处理单个时间步的图像数据。
首先,在网络架构设计中依次叠加三个卷积层(分别为7×7、5×5和3×3核尺寸),它们分别配置了通道数为128、256和512个特征图。所有卷积操作均采用stride值设定为2的操作方式。
随后将该网络结构经MaxPool操作后得到的特征向量作为输入传递给ConvLSTM-AE模块进行处理。
值得注意的是,在该模型中ConvLSTM-AE模块的输出特征图的空间尺寸与输入保持一致。
此外,在解码模块的设计过程中我们采取了反转网络架构的方式即从下往上各对应层的通道数目依次变为256、128和单通道,并维持相同的核尺寸设定 stride值同样设置为2。
为了保证网络在各个层级之间的信息传递完整性在所有卷积与反卷积操作中均采用了zero padding策略以维持各层间的特征数量一致性。
当模型经过训练后,在理论层面该方法可应用于对测试视频中每一帧的异常检测。然而,在实际应用中该方法基于包含T个连续帧的数据片段进行学习。即使在实际应用中(即测试阶段),系统仍会保留前一时间窗口内的信息,并可能与潜在的异常事件相关联。因此以提高检测精度为目标 作者将每个时间窗口限定为连续T'个相邻的时间片并在此范围内执行预测行为

归一化分数:

这里s(t)被用来预示着异常事件的发生时间点。对于常规时刻而言,在s(t)中会体现出较高的数值特征;而在出现异常事件时,则会显示出较低的数值特征。
实验
基于hasan团队的数据增强策略,在本研究中采用了学习率0.01、Adam优化算法以及Xavier权重初始化方法,并采用ReLU激活函数;研究中的输入图像尺寸设置为225×225像素。
将输入序列长度设定为10,在此设定下随着T'值增大能够显著提升模型的记忆能力;具体而言,在处理变化剧烈的情景时建议选择较小的T'以实现更高的识别精度;其中针对特定场景如行人道、道路等位置参数T'被固定设置为10;而对于地铁入口与出口位置则根据测试视频的实际长度动态调节T'值以确保最佳性能表现
值得注意的是,在上述实验设计中当T'被设定为测试视频的实际长度时该参数能够自适应地反映视频序列的整体特征信息;这不仅减少了计算开销还确保了模型对复杂背景环境的良好适应能力
Moving-MNIST Dataset测试
为了系统性地评估该方法在不同场景下的表现特征,在一个合成的Moving-MNIST数据集上进行实验研究。

作者对于运动convAE的提升程度已经较高,并未见显著进步;而在外观方面,作者的方法取得了显著的进步。
异常数据集测试

该模型基于代码实现的结果显示,在与原论文相比存在显著差异。
结果表明:
- 对于 pedestrian1 数据集( ped1 ),AUC 达到了 75.5%。
- 对于 pedestrian2 数据集( ped2 ),AUC 达到了 88.1%。
- 在 Avenue 数据集( Avenue )上表现同样出色,AUC 达到了 77.0%。
Discussion
- 本文的核心目的是通过LSTM网络来提取运动相关的特征,并对其他时序模型进行了尝试。
- 其主要功能在于对历史数据进行分析,并在此基础上构建序列关系。其学习能力体现在能够捕捉并提取出物体的运动特征。那么,在正常事件与异常事件之间的鉴别标准是什么?作者指出,在测试过程中需要确保模型不会过度依赖于过去的异常帧数据。
- 探讨如何同时实现特征提取与不同类别(如正常与异常)的有效区分是一个关键问题。
- 本文借鉴了动作识别领域的研究方法[1](Long Term Recurrent Convolutional Networks for Visual Recognition and Description),但在具体实现中仅对LSTM输出层增加了解码模块。
