关注公众号,发现CV技术之美

本文分享 ICCV 2021 oral 论文『A Hybrid Video Anomaly Detection Framework via Memory-Augmented Flow Reconstruction and Flow-Guided Frame Prediction』,由华工&京东&中大联合设计重构+预测方法,双管齐下提升视频异常检测性能。

详细信息如下:

  • 论文链接:https://arxiv.org/abs/2108.06852

  • 项目链接:https://github.com/LiUzHiAn/hf2vad

      01      

动机

视频异常检测(Video Anomaly Detection,VAD)是一项具有开放特征且具有挑战性的任务,因为异常事件通常要比正常事件发生的少,但是在实际场景中,异常事件的类型是不可预知的。现有针对视频异常检测任务的方法大多以自动编码器为基干模型,这类方法往往使用同一场景中所有的正常事件训练自动编码器,在模型测试阶段,对于异常事件,模型会给出较大的重构误差,以该误差作为标准来判断当前输入是否包含异常事件。

本文方法也是遵循以上设定,在普通自动编码器的基础上进行改进,加入了一系列的记忆模块来对正常事件进行建模,同时整合帧预测任务和光流重建任务。本文的一个亮点是,以重构的光流作为条件,设计了一个条件变分自动编码器(Conditional Variational Autoencoder,CVAE),用来捕获视频帧与光流场之间的相关性,并以此相关性来影响帧预测的质量。当模型遇到异常事件时,光流重建带来的误差会进一步影响帧预测的效果,使异常事件更易于检测。

下图展示了本文方法在CUHK Avenue数据集上的检测效果,其中蓝色框线代表异常事件的ground truth,前两行分别为单独光流重建任务和帧预测任务的检测效果,最后一行为本文集成方法的效果。

      02      

方法

下图为本文整体的框架图,整体框架主要由两部分构成:多级记忆增强自动编码器和条件变分自动编码器,整个框架只使用正常数据进行训练,在测试阶段,根据重构得到的光流和预测得到的帧计算误差来判断异常情况。

模型首先输入一系列的光流序列,经过多级记忆增强自动编码器得到重构的光流序列,随后将相同时间的视频帧序列和上一步重构的一起输入到条件变分自动编码器进行未来帧的预测,当遇到异常事件时,首先重构得到的光流序列就会有较大的重构误差,并以此为条件进行下一步的帧预测,会进一步增大预测的误差,以此来提高检测性能。

2.1 多级记忆增强自动编码器

本文提出的多级记忆增强自动编码器是在ICCV2019提出的MemAE[1]和CVPR2020提出的MNAD[2]基础上进行改进,本文作者发现仅使用单个记忆模块难以建模和记忆所有的正常模式(normal patterns),但是如果暴力的增加的记忆模块的数量,会带来过度的信息过滤,使网络的性能退化以记住最具代表性的正常模式,而忽略了其他表象不明显的正常模式。

为了解决该问题,本文加入了多级跳连(Skip Connections)将编码信息直接传递给解码器,为不同层次的记忆模块提供信息来发现更多的正常模式,下图为上述三种记忆增强自动编码器的示意图。

对于上图中的每个记忆模块

,本质上就是一个存储矩阵,矩阵的每一行表示一种记忆模式,对于输入的编码向量,记忆模块的操作是通过在整个记忆矩阵中查询相似的记忆模式,并以加权求和的方式来得到记忆增强向量,进行随后的重构任务。

多级记忆增强自动编码器通过重构损失和交叉熵损失联合优化,其中重构损失如下:

本文同时仿照MemAE中对每个记忆模块施加匹配概率以计算交叉熵损失:

其中为记忆模块中存储的记忆模式的总数,为匹配概率,即为对编码特征进行记忆增强时的加权权重,整体优化目标由上述两项联合得到:

2.2 条件变分自动编码器

本文提出的条件变分自动编码器基于这样的观察:对于连续的两个视频帧,由于时间跨度小,所以两帧的图像内容基本没有差异。基于变分推断理论,可以假设这两帧基于相同的隐变量(hidden variables),根据变分生成模型可以将相同时刻的光流作为条件,对下一帧进行生成,表达式为

如上图右侧所示,本文提出的条件变分自动编码器包含了两个编码器和一个解码器。其中对光流输入编码得到基于先验分布的光流特征,首先对光流输入 和视频帧输入进行拼接,随后编码得到基于后验分布的混合特征,再拼接隐变量作为噪声,输入到解码器生成下一帧的预测,这样就完成了整个流程。作者假设以上分布的参数都遵循高斯分布,可以由最小化KL散度进行编码器的优化:

此外为了防止生成的视频帧出现模糊的情况,本文仿照之前的方法加入了梯度损失来保证生成图像的锐度:

整体优化模板由以上两项联合得到:

      03      

实验效果

本文在三个具有代表性的视频异常数据集上进行了实验,分别是UCSD Ped2,CUHK Avenue和ShanghaiTech,其中Ped2和Avenue的场景固定,且数据量较小。ShanghaiTech数据集包含了13个监控场景,视频长度较长,是目前视频异常检测领域中极具挑战性的数据集。

模型评价指标使用AUROC,指标越高代表模型的异常检测性能越好。需要注意的一点是,在训练和测试阶段,输入模型的并不是视频帧的整个画面,作者首先使用预训练好的目标检测模型对视频数据进行前景RoI提取,对于每个RoI构成时空连续事件块(spatial-temporal cube,STC),随后进行光流场的重构和帧预测,这样做可以有效过滤视频背景噪声带来的误差。

本文方法分别与现有基于重构的方法,基于预测的方法和二者混合的方法进行对比,达到SOTA效果:

为了进一步展示本文方法可以增大传统重构和预测方法检测误差的能力,作者进行了差分图的可视化实验,如下图所示:

其中(a)为测试集中异常事件的ground-truth,(b)为本文方法的帧预测结果,(c)为本文预测结果与ground-truth的差分图,(d)和(e)为其他两种方法与ground-truth的差分图,同时也给出了差分图的平方和误差作为差异指标,可以看出,本文方法对于异常事件产生的预测误差明显高于其他方法,这有效提高了模型的异常检测效果。

      04      

总结

本文探索了将重建任务和预测任务结合起来的可能性。实验表明,所提出的方法优于单独使用重构和预测任务的方法。此外,本文的集成策略也经过精心设计,通过先对光流场进行重构,再将视频帧和光流作为输入来预测未来的帧,可以增大异常事件的预测误差。

参考文献

[1] Dong Gong, Lingqiao Liu, Vuong Le, Budhaditya Saha, Moussa Reda Mansour, Svetha Venkatesh, and Anton van den Hengel. Memorizing normality to detect anomaly: Memory-augmented deep autoencoder for unsupervised anomaly detection. In Proceedings of the IEEE International Conference on Computer Vision, pages 1705–1714, 2019.

[2] HyunjongPark, JongyounNoh, and BumsubHam. Learning memory-guided normality for anomaly detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 14372–14381, 2020.

END

加入「视频技术」交流群

ICCV 2021 oral 重构+预测,双管齐下提升视频异常检测性能相关推荐

  1. ICCV 2021 Oral | CoaT: Co-Scale Conv-Attentional Image Transformers

    ICCV 2021 Oral | CoaT: Co-Scale Conv-Attentional Image Transformers 论文:https://arxiv.org/abs/2104.06 ...

  2. CVPR 2021 | 又好又快的视频异常检测,引入元学习的动态原型学习组件

    Learning Normal Dynamics in Videos with Meta Prototype Network 作者:Hui lv, Chen Chen, Zhen Cui, Chuny ...

  3. 《监控视频异常检测: 综述》王志国, 章毓晋笔记

    害,最近做了挺多机器学习的东西,但是那些不是弯路,我估计之后还是要学习机器学习的相关内容. 今天是周四(2020年11月12日),但是由于网络老师有事,所以没有上网络课,于是就用这个空闲的时间看了一篇 ...

  4. 【弱监督视频异常检测】2019-BMVC-用于改进视频异常检测的运动感知功能

    2019-BMVC-Motion-Aware Feature for Improved Video Anomaly Detection 用于改进视频异常检测的运动感知功能 摘要 1. 引言 2. 相关 ...

  5. Weakly Superised video anomaly detection弱监督视频异常检测

    关于弱监督的一些论文记录.(以便自己学习总结) 目录 Consistency-based Self-supervised Learning for Temporal Anomaly Localizat ...

  6. 【视频异常检测-论文阅读】Anomaly Detection in Video via Self-Supervised and Multi-Task Learning

    来源: Georgescu, Mariana-Iuliana, et al. "Anomaly Detection in Video via Self-Supervised and Mult ...

  7. 视频异常检测技术研究进展

    摘要 视频异常检测是指对偏离正常行为事件的检测识别,在监控视频中有着广泛的应用.对基于深度学习的视频异常检测算法进行了深入的调查研究和全面的梳理与总结.首先,对视频异常检测相关内容以及异常检测面临的挑 ...

  8. 视频异常检测 综述(一)

    视频异常检测 综述(一) 文章目录 视频异常检测 综述(一) 一.视频异常检测(Video anomaly detection)的定义 二.单场景&多场景 三.视频异常类型 1.Appeara ...

  9. 监控视频异常检测数据集整理

    目前监控视频异常检测领域中主要的数据集有:UMN数据集,UCSD数据集,CUHK Avenue数据集,ShanghaiTech数据集,Subway 数据集,UFC Crime数据集,Street Sc ...

最新文章

  1. MPB:中南大学刘学端、马丽媛组-基于16S测序和RT-qPCR的硫化矿物表面微生物群落组成分析...
  2. 如何用python制作动态二维码,提升表白成功率?
  3. JSP中文乱码问题终极解决方案(转)
  4. 使用Windows PowerShell管理虚拟交换机
  5. sed在替换的时候,使用变量中的值?如何在sed实现变量的替换?获取到变量中的值?...
  6. JS系统库:预定义对象(内建对象)
  7. IOS 开发中 Whose view is not in the window hierarchy 错误的解决办法
  8. 计算机组装技术的心得与体会,计算机技术心得体会
  9. linux 网络协议栈参数设置,linux 调整tcp/ip协议栈内核参数支持高负载的web
  10. 可视化动画:数据结构和算法
  11. chanlist.php,Nginx+FastCgi+Php 的工作机制
  12. JavaEE学习13--Jquery
  13. python语言程序设计实践教程实验八答案_Python语言程序设计.doc
  14. Java 程序设计基础(第四版)下
  15. 解读BOLT引擎例子——HelloBolt2
  16. yocto的hello world
  17. Essay写作具体内容怎么了解?
  18. ipadpro尺寸的html,iPad Pro屏幕尺寸是多少?iPad Pro分辨率是多少?
  19. atom tasklist could not be spawned的解决办法
  20. Ubuntu20.04 搭建repo + gitlab的代码管理系统

热门文章

  1. java网络爬虫连接超时解决[实战程序]
  2. Scrapy网络爬虫框架实战[以腾讯新闻网为例]
  3. ffmpeg环境变量设置和安装后不能加载共享库的错误解决
  4. freertos 创建互斥量_FreeRTOS的信号量和互斥量
  5. MyBatis框架 多表联合查询实现
  6. No migrations to apply.(django不能创建数据库中的表的问题)makemigrations/migrate
  7. 2853: 小A的游戏昵称(郑轻oj)
  8. python变量后面加星号_计算与变量(一)跟杜老师一起,趣学Python编程
  9. php delegate,jQuery中delegate()方法的用法详解
  10. 前端实习生笔试_前端实习生面试题——HTML