基于预测未来帧的异常事件检测

基于预测未来帧的异常事件检测Future Frame Prediction for Anomaly Detection – A New Baseline

摘要

视频异常事件检测的目标是识别出那些不服从期望行为的。在本文中,作者提出了一个基于预测未来帧(future frame prediction)的架构,此外,为了更好地预测未来的帧,除了通常使用的空间约束(spatial constrains),i.e. intensity constrain和gradient constrain,作者还加上了时序约束(temporal constrain),i.e.光流场约束(optical flow constrain)。作者分别在几个公开数据集和一个toy数据集上进行了实验,代码开源在github上:https://github.com/StevenLiuWen/ano_pred_cvpr2018

1. 介绍

视频异常事件检测的目标是识别出那些不遵从从期望行为的。这个任务十分困难因为异常事件通常是一个无界的概念,我们也无法列举出所有的异常事件类别,所以基于classification的策略是不合适的。并且,我们的数据集通常也大多都是一些正常的事件,异常事件在一个视频中也是少量的帧,人工对每帧去进行标注也是不现实的。

目前有许多这方面的研究,在正常的训练数据上进行特征重建是一个常用的策略。基于特征的使用选取,现有的方法可以大致分为两类:

  1. 基于hand-crafted特征选取的:这种方法将视频用一些手工选取的特征进行代表,然后学习出一个正常事件的字典,从而那些异常事件在这个空间上会存在较大的reconstruction errors。
  2. 基于DL方法的:采用auto-encoder的结果对正常事件的pattern进行自学习,然后同样,异常事件也在最后会存在较大的reconstruction loss.但是深度神经网络的泛化能力很强,因而,就算有异常事件发生,重建loss不一定会很大。

最近,生成对抗网络(GAN)的迅速发展也对视频预测任务产生了促进。综上,作者提出了基于预测未来帧的视频异常事件检测架构,具体来说,给定一些训练video clips,模型会学习生成一个predictor,它能根据现有的视频帧预测下一正常的帧,在测试阶段,输入一些帧,模型根据已经学习到的内容同样预测下一帧,如果和预测输出的帧满足,则判定为normal的,否则判定为abnormal的。总的来说,该文章的贡献如下:

  1. 首次提出了这种基于future frame的架构
  2. 引入了基于光流场的约束(optical flow constrain)
  3. 在公开数据集和一个toy数据集上实验验证了该方法的有效性。

2. Related Work

2.1 基于手工特征选取的方法

基于手工特征选取的方法大都遵从以下三个模块:

  1. 提取特征:例如low-level的轨迹特征(trajectory features)、HOG【7】、HOF【8】等。
  2. 建立模型对regular patterns进行学习:Zhang等人【41】利用马尔科夫随机场,Mahadevan等人【25】利用高斯混合模型
  3. 识别异常事件。

2.2 基于深度学习的方法

Xu等人【40】利用multi-layer的自动编码器完成特征学习,【14】中利用3D-Conv-AE对正常帧进行建模,【5】和【23】中利用ConvLSTM-AE对appearance和motion信息的patterns进行了建模。

2.3 视频帧预测

【27】中提出了一个基于对抗学习的multi-scale network来生成视频的未来帧,这也是本文参考的一个重要文章。

3. 基于预测未来帧的异常事件检测

总体的思想是,对正常的帧的模式进行学习,然后再基于已有的帧对未来帧进行一个预测,记为prediction,如果prediction和ground truth相差很大,就视为异常事件。举例来说,如果有一个视频,开始一部分都是人群在正常过马路,模型能实时地对下一帧进行预测,如果突然有一辆卡车出现,而模型预测的帧任然是人群过马路,这样产生出入较大,就视为异常事件。之前的大多工作也只考虑到了上述的appearance信息(一辆卡车突然冲入人群),但是作者任务motion信息同样重要(例如一个扒手经过一个人),所以提出了optical flow constant。总体的框架如下图所示:

在这里插入图片描述

3.1 未来帧预测

Generator部分采用的是类似U-Net的结构,如下所示:
在这里插入图片描述

We sequentially stack all these frames and use them to predict a future frame I t + 1 {I}_{t+1} It+1

至于具体是怎么操作这些前序帧的,还待看代码进一步了解。

3.2 各种约束

数学公式描述,给定一些连续帧 I 1 , I 2 , … , I t I_{1}, I_{2}, \ldots, I_{t} I1,I2,,It,预测出的帧记为 I ^ t + 1 \hat{I}_{t+1} I^t+1,ground truth帧为 I t + 1 {I}_{t+1} It+1,我们最小化两种之间的intensity distance和gradient distance,也就是之前提到的appearance constrians,分别按下式计算:
L i n t ( I ^ , I ) = ∥ I ^ − I ∥ 2 2 L_{i n t}(\hat{I}, I)=\|\hat{I}-I\|_{2}^{2} \\ Lint(I^,I)=I^I22

L g d ( I ^ , I ) = ∑ i , j ∥ I ^ i , j − I ^ i − 1 , j ∣ − ∣ I i , j − I i − 1 , j ∣ ∥ 1 + ∥ I ^ i , j − I ^ i , j − 1 ∣ − ∣ I i , j − I i , j − 1 ∣ ∥ 1 \begin{aligned} L_{g d}(\hat{I}, I)=& \sum_{i, j}\left\|\hat{I}_{i, j}-\hat{I}_{i-1, j}|-| I_{i, j}-I_{i-1, j} |\right\|_{1} \\ &+\left\|\hat{I}_{i, j}-\hat{I}_{i, j-1}|-| I_{i, j}-I_{i, j-1} |\right\|_{1} \end{aligned} Lgd(I^,I)=i,jI^i,jI^i1,jIi,jIi1,j

  • 0
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值