视频异常检测新基准

简介: 视频异常检测新基准

-  论文题目:UBnormal: New Benchmark for Supervised Open-Set Video Anomaly                                Detection- 论文链接:https://arxiv.org/pdf/2111.08644.pdf-  代码链接:https://github.com/lilygeorgescu/UBnormal

3b2ce1abead72c817d18a56ab2f4e9e6.png

综述


  检测视频中的异常事件通常被定义为二分类任务,其中训练视频仅包含正常事件,而测试视频包含正常和异常事件。在这种情况下,异常检测是一个开放集问题。然而,一些研究将异常检测等同于动作识别。这是一个封闭的场景,无法测试系统检测新异常类型的能力。

       为此,我们提出了UBnormal,一种新的有监督的开放集基准,由多个虚拟场景组成,用于视频异常检测。与现有数据集不同,我们在训练时引入了像素级注释的异常事件,这是第一次使用完全监督学习方法进行异常事件检测。为了保留典型的开集公式,我们确保在视频的训练和测试集合中包含不相交的异常类型集。据我们所知,UBnormal是第一个视频异常检测基准,允许在一类开集模型和监督闭集模型之间进行公平的面对面比较;此外,我们还提供了实证证据,表明UBnormal可以在两个重要数据集(Avenue和ShanghaiTech)上提高最先进的异常检测框架的性能。


异常检测算法研究现状


在近几年的文献及研究中,对于异常检测的方法任务无非通过两种形式:

一是将异常检测视为二分类任务(或离群值检测任务),在这种情况下,模型框架在训练时只训练正常事件的数据集,而测试数据则包含正常事件和异常事件。模型方法从测试数据中学习到一个正态分布模型,在测试时遇到“不熟悉”的数据时会将其标记为异常;

二是将异常检测视为弱监督的动作识别任务,其中训练视频包含正常和异常事件,但异常视频标注是在video-level(视频级别)提供的,不是帧级别。此方法对应于一个封闭集评估场景,其中训练和测试异常属于相同的动作类别,无法测试系统检测未发现异常类型的能力。

为了解决这些问题,我们提出了一种新的范式——将视频异常检测作为一个有监督的开集分类问题进行框架化。在此方法中,正常和异常事件在训练时都可用,但在测试推理阶段发生的异常属于一组不同的异常类型(类别),即训练时是一种异常类别,测试时又是另一种类别。将异常检测视为一个有监督的开集问题的主要优点是:(i)由于训练时异常的可用性,可以使用完全有监督的模型,(ii)能够在测试和训练时使用不同的异常动作类别情况下评估模型在“遇到”其它异常行为的性能;(iii)实现了一类开集方法和弱监督闭集方法之间的公平比较。对于一类问题的公式,监督开集公式的一个问题在于难以从现实世界中收集异常数据。

为了缓解这个问题,我们提出了UBnormal数据集,这是一个新的基准测试,它包含用于视频异常检测的多个虚拟场景。我们的场景是在Cinema4D中使用虚拟动画角色和放置在现实世界背景中的对象生成的,如下图所示。

e428e68387272c32adcc473b9c20da32.png

本文作者对于异常检测任务的贡献有三个:

  • 我们将视频异常检测作为一项有监督的开放集任务,引入了UBnormal,一个包含29个虚拟场景的新数据集,其中包含236902个视频帧;
  • 我们表明,对异常事件加入训练集有助于各种最先进的异常事件检测模型性能提升;
  • 我们进行了一项以数据为中心的研究,表明UBnormal数据可以为两个自然场景数据集(Avenue和Shanghai Tech)的最新技术方法带来性能提升。

UBnormal Benchmark数据集


UBnormal基准是使用Cinema4D软件生成的,它允许我们使用2D背景图像和3D动画创建场景。我们总共选择了29幅自然图像,代表街道场景、火车站、办公室等。在选定的背景图像中,我们确保消除应该属于前景的人、车或其他对象。从每个自然图像中,我们创建一个虚拟3D场景,每个场景平均生成19个视频。对于每个场景,我们生成正常和异常视频。在整个UBnormal数据集中,正常视频与异常视频的比例接近1:1。

在数据集中,我们包含了多达20多种异常,其中测试集、验证集及训练集中的异常类别都是不相同的。为了增加数据集的多样性,我们包括多个对象类别,例如人、汽车、滑板、自行车和摩托车;场景包括但不限于雾场景、夜间场景、火灾场景等等,如下图所示。

28e8e30826cdd6879d53b65eda8e6d39.png

基准数据集测试方法


二分类开集模型

我们采用了论文A Background-Agnostic Framework with Adversarial Training for Abnor-mal Event Detection in Video.中介绍的最先进的框架。这是一种object-level方法,它将异常检测视为二分类任务。该框架由三个自动编码器和三个分类器组成。为了提高异常检测方法的性能,Georgescu等人为自动编码器提出了一种对抗性学习方法。为了克服训练期间缺乏异常样本的问题,他们创建了一组与场景无关的伪异常。伪异常样本在对抗训练过程中用作对抗样本,在二进制分类器的训练中用作异常样本。

监督闭集模型

我们采用Sultani等人在论文Real-World Anomaly Detection in Surveillance Videos.中提出的监督闭集模型。在这个框架中,正常和异常视频都表示为bags,视频片段是多实例学习中的实例。他们使用预处理C3D模型提取的特征表示每个视频。使用视频特征表示法,他们训练了一个前馈神经网络,使得来自异常bags的实例的最大得分高于来自正常bags的实例最大得分。它们还将稀疏性和平滑性约束合并到损失函数中,以进一步提高框架的性能。

动作识别框架

我们基准的第三个基线是动作识别模型。我们选择了Bertasius等人提出的最先进的模型Timesformer。其体系结构通过从帧序列中学习时空特征,将标准transformer体系结构调整为视频域。TimeSformer使用分散注意力,即分别学习空间和时间注意力图。我们训练TimeSformer模型来区分正常和异常行为。该模型预测了一系列帧异常的概率。

自监督多任务模型

我们使用Georgescu等人在论文Anomaly Detection in Video via Self-Supervised and Multi-Task Learning.中提出的的最先进的多任务学习框架来证明UBnormal可以用于提高两个重要异常检测数据集的性能。

实验结果


fecc96c7d73d4a5634e128860e0a57b4.png


73f24530a4ba969aa8acbb9b83520b0d.png

在上图中,我们可以观察到,基于该数据集提出的不同最先进方法可以准确定位和检测异常。

结论


在这项工作中,我们引入了UBnormal,一种新的视频异常检测基准。据我们所知,这是监督开集异常检测的第一个也是唯一一个基准。UBnormal的唯一限制可能是它由虚拟角色和模拟动作组成。然而,我们展示了几个证明UBnormal重要性的重要优点:

(i)它可以对开集模型和闭集模型进行公平和直接的比较;

(ii)它可以缓解现实数据集中缺乏训练异常的情况,与当前最先进的模型相比有了显著的改进。

存在问题


  • 卡通虚拟人物跟现实人物还是有区别的,容易出现问题或者检测不准确
  • 其模拟场景与自然场景属于不同的数据分布。因此,在现实场景中,完全监督模型的行为可能不清楚。

数据集展示


8a9886cb84aec03a0c04f2ae6eb6a1ba.png

数据集中的卡通人物

103aa74392c2385a3fe65ce62881b4a7.png

数据集中的异常种类

相关文章
关于如何选择正确的U-boot版本
关于如何选择正确的U-boot版本
369 0
|
API Docker Windows
2024 Ollama 一站式解决在Windows系统安装、使用、定制服务与实战案例
这篇文章是一份关于Ollama工具的一站式使用指南,涵盖了在Windows系统上安装、使用和定制服务,以及实战案例。
2024 Ollama 一站式解决在Windows系统安装、使用、定制服务与实战案例
|
10月前
|
人工智能 算法 搜索推荐
清华校友用AI破解162个高数定理,智能体LeanAgent攻克困扰陶哲轩难题!
清华校友开发的LeanAgent智能体在数学推理领域取得重大突破,成功证明了162个未被人类证明的高等数学定理,涵盖抽象代数、代数拓扑等领域。LeanAgent采用“持续学习”框架,通过课程学习、动态数据库和渐进式训练,显著提升了数学定理证明的能力,为数学研究和教育提供了新的思路和方法。
333 3
|
11月前
|
存储 分布式计算 算法
大数据-105 Spark GraphX 基本概述 与 架构基础 概念详解 核心数据结构
大数据-105 Spark GraphX 基本概述 与 架构基础 概念详解 核心数据结构
218 0
|
编解码 监控 算法
视频监控 智能交通 数据集(目标检测、跟踪)
总结一下视频监控的数据集,用于目标检测、跟踪,持续跟新中..........
2111 0
|
消息中间件 存储 canal
3分钟白话RocketMQ系列—— 如何发送消息
3分钟白话RocketMQ系列—— 如何发送消息
524 0
|
机器学习/深度学习 数据可视化 前端开发
使用Stream实现Web应用,使用YOLOv8模型对图像进行目标检测为例。
使用Stream实现Web应用,使用YOLOv8模型对图像进行目标检测为例。
321 1
|
JavaScript Java 测试技术
基于SpringBoot+Vue的社区志愿者信息管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的社区志愿者信息管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
239 1
|
机器学习/深度学习 Serverless Python
`sklearn.metrics`是scikit-learn库中用于评估机器学习模型性能的模块。它提供了多种评估指标,如准确率、精确率、召回率、F1分数、混淆矩阵等。这些指标可以帮助我们了解模型的性能,以便进行模型选择和调优。
`sklearn.metrics`是scikit-learn库中用于评估机器学习模型性能的模块。它提供了多种评估指标,如准确率、精确率、召回率、F1分数、混淆矩阵等。这些指标可以帮助我们了解模型的性能,以便进行模型选择和调优。
|
SQL 存储 分布式计算
Flink 流批一体在 Shopee 的大规模实践
Shopee 研发专家李明昆在 Flink Forward Asia 2022 流批一体专场的分享。
10441 0
Flink 流批一体在 Shopee 的大规模实践