【精度论文】2016-CVPR-Learning temporal regularity in video sequences

Learning temporal regularity in video sequences

论文地址链接[0]

Abstract

  由于视频中有意义活动(指异常)具有模糊的定义以及视频中场景混乱,因此作者通过学习规则运动模式(称为regularity)的生成模型来解决这个问题。
作者主要构建了两个模型①首先,利用传统手工制作的时空局部特征,在其上学习全连接自编码器。 ② 构建了一个完整的卷积前馈自编码器来学习局部特征和分类器,作为一个端到端的学习框架。
  作者从多个数据集训练捕获regularity。通过实验证明了作者的方法取得了竞争性的性能。

Conlusion

与abstract内容类似

Introduction

学习有意义或显着时刻的时间视觉特征(异常)非常具有挑战性,因为这些时刻定义不明确,即视觉上无界。学习普通时刻的时间视觉特征相对容易,因为它们通常表现出时间规则的动态,例如周期性的人群运动。因此,仅使用仅包含正常时刻的数据集,即用于训练的正常帧来学习常规时间模式。作者使用多个不同的数据集来训练模型,然后在多个视频数据集上对其进行测试。
以前仅使用正常样本视频进行训练的方法涉及稀疏编码和词袋的组合,但词袋没有保留词的时空结构,需要关于词数的先验信息和稀疏编码用于训练和测试优化的计算成本很高,尤其是对于视频等大数据。
作者提出了一种基于自动编码器的方法。它的目标函数比稀疏编码的计算效率更高,并且在动态编码的同时保留了时空信息。它通过仅包含正常样本的训练集来训练自编码器,以获得较小的重构误差。自编码器对于正常样本会产生小的重构误差,而对于异常样本会产生大的重构误差。
  作者基于两种类型特征学习两个自编码器,一个是之前SOTA方法使用的手工特征,但是这种特征不是为该任务专门设定的所以可能是次优的,所以作者设定了端到端的模型。作者在Avenue、Subway、ped1和ped2数据集上进行了训练。作者通过从视频中合成最规则的帧,描绘涉及不规则运动的对象,从单个帧中预测过去和未来的规则运动展示了他们的方法在各种应用中发现视频的时间规则的外观变化模式。
作者的贡献总结如下:①表明自动编码器可以有效地学习持久视频中的动态规律并用于区分视频中的异常。 ②使用全卷积自编码器学习低级运动特征 ③将该模型应用于各种应用,包括学习时间规律、检测与不规则运动相关的对象、过去和未来的帧预测以及异常事件检测。
  PS:主要亮点在于使用卷积自编码器端到端训练模型,在此之前应该无人尝试过,自编码器最初是用来提取特征的,15年BMVC那篇就是仅使用它提取特征,但这个朴素的想法16年才有人尝试或许是因为视频异常检测当时过于小众。此外本文的实验很丰富。

Method

基于手工特征

  首先从视频帧中提取手工制作的外观和运动特征。然后,使用提取的特征作为输入到一个全连接神经网络的自动编码器,以学习视频中的时间规律性。手工特征包括HOG、HOF,涉及到了时间和空间的特征,因手工特征目前基本已不再使用,具体细节可见论文。输入最后为204维,编码器结构如下图:

较小的中间层用于学习紧凑的语义和减少噪声信息,输入和重构的均为HOG和HOF所以值的范围为0到1因此使用tanh或者sigmoid激活函数,Relu对于连接很多神经元的话值加起来可能会变得非常大,因为是全连接的网络。此外针对大的接受野,使用了稀疏权重初始化技术,在初始化步骤中,每个神经元连接到前一层随机选择的k个单位,其权值由一个零偏置高斯单位得到。因此,每个神经元的输入总数是一个常数,这就避免了大的输入问题。
训练目标函数如下:

【精度论文】2016-CVPR-Learning temporal regularity in video sequences表示输入的特征,通过自编码器【精度论文】2016-CVPR-Learning temporal regularity in video sequences产生重构计算均方误差,N为batch大小。

端到端学习

模型结构

作者使用全卷积自编码器进行学习,输入为视频剪辑,网络不包含全连接层,因为会丢失空间信息。

数据增强

  模型参数多需要大量数据进行训练,所以作者尝试了数据增强。主要方法是用各种跳跃的步长拼接帧来构造T帧大小的的输入长方体。作者从视频序列中采样三种类型的长方体stride-1、stride-2、stride-3。对1,2,3,4,5 stride-1采样为1,2,3,4,5. stride-2采样为1,3,5。作者还用预先计算的光流进行了实验。给定两帧之间光流的梯度和大小,通过线性组合梯度和大小来计算一个灰度帧。它将输入长方体的时间维度从T增加到2T。通道1… T包含灰度视频帧,而通道T + 1,…, 2T包含灰度光流信息。作者的实验表明,上述操作对效果影响不显著。

卷积反卷积

池化和上池化

Pooling采用max pooling,upper pooling采用max pooling[0]

目标函数


和上面使用手动特征的方法类似,只是输入输出变成了图片

异常分数

训练模型后,计算视频帧中每个空间位置【精度论文】2016-CVPR-Learning temporal regularity in video sequences处像素的重构误差:

experiment

  实验AdaGrad优化器,同时使用多个数据集训练模型,下图展示了使用不同数据集训练的损失曲线。对于基于轨迹特征的学习率从0.001开始,batch为1024,weight decay为0.0005.对于全卷积自编码器。batch为32,初始学习率为0.01.当损失停止下降将会减少学习率。使用Xavier初始化模型参数。本文使用的数据集包括Avenue、UCSD pedestrian、Subway。

使用不同数据集训练

作者探索了具体目标数据集的使用,所有数据集的使用,以及使用测试目标以外的数据集进行训练,如下图所示。比较前两个结果表明,添加其他数据集并没有降低效果。通过比较最后一个和前两个,发现该模型没有过度拟合给定的数据集并泛化到看不见的视频。作者认为,所提出的网络结构在过拟合和欠拟合之间取得了很好的平衡。

可视化时间规律性

   学习模型根据像素精度测量外观规律。我们通过卷积自动编码器和轨迹改进自动编码器收集具有最高规则性分数的像素,从测试视频中合成最规则的帧。下图的第一列显示了不规则运动的示例图像。第二列显示合成的常规帧。合成图像的每个像素对应于沿时间维度具有最小重建成本的像素。最右边的列显示了相应的规律性得分。蓝色代表高分,红色代表低分。

预测正常的过去帧和未来帧

  使用除中心帧外空白的clip,我们可以预测给定中心帧附近的规律视频clip的过去和未来的帧。给定一幅图像,构造一个时间立方体作为网络的输入,方法是用零值填充其他帧。然后输出产生预测。

异常事件检测

实验结果:

可视化卷积核结果

  作者在下图中可视化了模型在Avenue数据集上学习的一些过滤器响应。第一行显示输入数据的一个通道和conv1层的两个滤波器响应。这两个过滤器对不规则物体——框架顶部的袋子的反应完全相反。第一个过滤器提供非常低的响应(蓝色),而第二个过滤器提供非常高的响应(红色)。第一个过滤器可以被描述为检测规律性的过滤器,而第二个过滤器检测。不规则性。所有其他过滤器显示类似。第二行分别显示了conv2层和conv3层滤波器的响应。早期的层(conv1)捕获细粒度的规则运动模式,而较深的层(conv3)捕获更高级别的信息。

最终帧级别 AUC:
  ped1(81%)
  ped2(90%)
  Avenue(70.2%)

Discussion:
1.通过输入连续多帧然后利用二维卷积学习时空特征,是否能学习到时间特征?时序特征非常重要,多帧堆到一起通过卷积核卷积后多帧相加得到最后卷积结果,应该可以学到一定的时序特征。此外时序特征到底是什么?
2.本文的异常分数计算,如何确定一帧的异常分数文中没有详细介绍,目前该文章代码也没有找到。

以上我明白了,希望能和大家交流~

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2022年5月7日
下一篇 2022年5月7日

相关推荐