《Video Abnormal Event Detection by Learning to Complete Visual Cloze Tests》论文笔记


1. 摘要

  尽管深度神经网络(DNNs)在视频异常检测(VAD)方面取得了很大的进展,但现有的解决方案通常存在两个问题:

  (1) 视频中事件的定位不能既准确又全面

  (2) 对语义和时间上下文的研究不足

  为了解决这些问题,我们采用了教育中普遍存在的cloze test,并提出一种名为"visual cloze completion(VCC)"的方法来进行异常检测。具体来说,VCC首先定位每个video,并将其壮壮到一个时空立方体(STC)中。为了实现精确、综合的定位,外观和运动被作用互补的线索来标记与每个事件相关的物体区域。对于每个标记区域,其归一化序列补丁是由当前帧和相邻帧提取出的,并将其堆叠到一个STC中。将STC中的每个补丁和补丁序列分别与视觉上的"word"和"sequence"进行比较,我们故意删除某个单词(patch),以产生一个VCT。然后,我们通过训练DNNs来完成VCT,通过视频语义来推断被擦除的补丁及其光流。同时,VCC充分利用时间上下文,在时间上下文中交替删除每个补丁,并创建多个VCT。此外,我们提出了本地级、事件级、模型级和决策级的解决方案来增强VCC,这可以进一步探索VCC的潜力,并产生显著的性能以提高受益。大量的实验证明VCC在异常检测中性能较好。

2. 介绍

  异常行为检测(VAD)旨在自动检测出监控视频中的异常事件。对市政管理,交通监控,应激反应等各种安全关键场景有着巨大的潜在价值,是学术界和工业界的热门课题。一般情况下,VAD是指检测到偏离正常生活iguana的可疑视频事件,经过多次尝试,VAD仍然是一个具有挑战性的任务。其主要归因于异常事件的三大特征:

  • 稀缺:由于异常事件相比正常事件发生的概率低得多,通常很难收集到足够的异常事件数据
  • 含糊不清:异常事件是指所有与正常观察结果不同的时间,因此无法列举所有潜在的异常事件进行训练
  • 不可预测性:预测即将发生的异常事件的确切形式是不切实际的。

  由于上述特点,对异常事件的直接建模是不切实际的。因此VAD通常遵循单分类的设置:

  • 在训练阶段,异常事件被认为是严格未知的,而只收集正常数据。(通常是高可访问性的)。这些正常数据大致用一个公共标签进行标注,即正常事件中的子类不被区分,所有它们都被标记为正/正常。然后用粗略标记的正态数据建立一个正态性模型。
  • 在推理阶段,不符合该正态性模型的视频事件将被视为异常事件。由于异常和正常子类都没有标签,VAD通常被认为是一种标签很少学习的半监督任务,而强大的监督学习并不能直接适用于VAD。相反,它通常通过一些无监督或自我监督的方法来解决。

  在文献中,VAD解决方案可以分为经典的VAD方法和最近基于DNN的VAD方法。经典的VAD依赖于手工制作的描述符从视频事件中提取轨迹或纹理等低级特征,然后将特征输入VAD的经典异常检测模型

在学术界和工业界是一个很有吸引力的课题。相比之下,基于DNN的VAD受到了DNN在大型视觉任务[27]中的成功的启发。它不仅避免了复杂的特性工程,而且实现了优于经典VAD的性能。尽管基于DNN的VAD已经取得了显著的成功,并在最近的研究中发挥了主导作用,它仍然面临着两个突出的问题:

  • 虽然VAD的目标是检测异常视频事件,但现有的基于DNN的VAD方法实际上无法实现视频事件的精确和全面定位。早期VAD工作的标准做法是通过具有一定过滤规则[51,66]的多尺度滑动窗口提取视频事件,不能正确定位前景对象,产生明显不精确的定位。由于dnn可以处理高分辨率的原始视频,许多最近的方法,如[32,42,68],只是通过每帧学习而忽略了事件本地化。然而,这种方法被发现容易遇到几个问题,例如由于前景深度和前景-背景不平衡[30,79]而引起的尺度变化。很少有人工作,[19,21]也注意到这样的问题,并利用在通用图像数据集上预先训练的对象检测器。它提高了精度,但又引发了另一个致命的“封闭世界”问题:预先训练好的探测器无法识别新的前景物体,从而导致了非全面的定位。更重要的是,由于VAD的性质,许多异常事件的主题本质上是新颖的。因此,对视频事件的不理想定位往往会降低后期的学习过程。
  • 由于视频事件本质上是一个高阶的时间概念,现有的基于DNN的VAD方法通常不能充分利用该活动的视频语义和时间上下文,如下图,基于DNN的VAD遵循两种学习范式(重建或框架预测),但两者都有自己的问题。
    • 基于重建的方法重建正常事件,并将重建的不好的事件视为异常事件。然而简单的重建将导致DNN只记忆low-level的特征,而不是记忆重要的语义,而DNNs的大容量往往使得异常事件都能重建。
    • 相比之下,基于帧预测的方法旨在从之前的帧中预测一个正常视频帧,而预测效果较差的帧被认为异常帧。预测可以通过简单地记忆低水平的细节来避免减少训练损失。然而,它通常只通过单帧的预测对每个视频帧进行评分,而具有异常事件有价值线索的时间背景则不参与预测过程。因此,这两种学习范式都不是基于DNN的VAD的一个足以让人满意的解决方案。

  与最近许多专注于搜索更好的DNN架构以进行重建或框架预测的努力不同,我们受到了语言研究中流行的凝块测试的启发,并提出了一种新的范例,称为视觉凝块完成(VCC)。如图1所示,VCC的核心思想是训练DNNs以完成一些列视觉阻塞测试(visual cloze test-VCTs),其主要包含两个步骤:

  • 提取视频事件以构建VCTs,为了精确而全面地提取视频事件,我们利用外观和运动作为互补的信息定位与每个视频事件相关联的前景对象区域。从每个定位的区域中,从当前帧和时间上相邻的帧中提取一个归一化的补丁序列,然后堆叠成一个时空立方体(STC)来封装视频事件。将STC中的每一个"patch"与一个"word"进行比较,我们可以将STC的整个补丁序列看成是一个描述视频事件的"sequence",通过这种方法,可以通过删除sequence(STC)中的某个"word"来构造一个VTC。
  • 学习完成VCTs。具体来说,DNNs通过推断被擦除的patch来回答VCT,这需要DNNs处理视频语义(如高阶部分)而不仅仅是低级的细节。同时,VCC还配备了VCT类型集成和模态集成两种集成策略:
    • VCT类型集成使VCC能充分利用视频事件的时间上下文。它通过交替删除STC中的每个补丁来创建多种类型的VCT以完成。通过这种方式,必须考虑视频事件的时间上下文中的每个补丁,然后将使用由一个视频事件构建的所有可能的VCT来计算异常分数。
    • 模态集成需要DNN来推断被擦除的patch和光流,其包含了丰富的运动语义。如外观-运动相对应。通过这种方法,所提出的VCC参数能够有效地处理上述两个问题,以获得更好的VAD性能。

  本文提出了【71】的初步版本,与其相比,我们主要从以下几个方面扩展了原创工作:

  • 定位水平上,我们利用估计的光流,而不是【71】使用的时间梯度,作为定位异常视频事件的运动线索。光流使定位结果对噪声具有鲁棒性,从而减少人为和被误解的视频事件。
  • 视频事件层面上,我们设计了一种空间局部化的策略,旨在缓解前景深度引起的尺度变化问题。它将视频分为几个不重叠的空间区域。从每个区块中提取的视频事件分别进行建模,这使得DNN可以处理具有可比规模的视频事件。
  • 模型层面上,我们设计了一个名为时空UNet(ST-UNet)的新的DNN体系来执行VCC。与【71】中使用的标准UNet相比,ST-UNet合成了一个循环网络结构,在STC中积累时间上下文信息,并生成高水平的特征图,这有助于所提出的VCC范式学习更丰富的视频语义。
  • 决策层面上,我们进一步设计了一个混合分数指标和分数整改策略,证明了这是一种简单但高效的绩效提高策略。
  • 实证评价层面上,我们在各种基准数据集上进行了更广泛的实验,以证明VCC的有效性,并提供了更深入的讨论和分析。综上所述我们的主要贡献如下:
    • 我们首先明确阐述精确和全面的视频事件定位的必要性,并且我们提出利用外观和运动作为视频事件提取的互补信息,克服了"closed-world"的问题,为VAD奠定了坚实的基础
    • 我们首次提出通过构建和完成VCTs来进行异常检测,这为重建或框架预测范式提供了一个很有前途的替代方案。
    • 我们提出将VCT分别装备VCT类型集成和模态集成策,以充分利用视频事件中的时间上下文和运动信息
    • 我们进一步提出了本地化级、事件级、模型级和决策级的解决方案来进一步增强VCC,这使得我们能够充分利用VCC的潜力,以获得明显的性能增益。

 3. Basic VCC

  在本节中,我们经介绍所提出的VAD范式的基本框架:Visual cloze completion(VCC)。基本VCC由两个基本部分组成:视频事件提取和视觉凝块(visual cloze completion)。每个部分的动机和细节将被介绍:

3.1 视频事件提取

3.1.1 Overview

   视频事件的适当表示是良好的VAD性能的基础。为此,我们只是简单地建设一个视频事件应该包括一个对象(即前景对象)及其在一个时间间隔内的活动。因此,一个自然地解决方案是使用V表示的时空立方体来包围一个视频事件。为了建立一个STC,视频框上的空间区域被标记为感兴趣区域(ROI),其应该使用一个边界框标记。使用该ROI的位置b,一个带有D块patches的补丁序列(p1,p2,...,pd)是从当前帧和其相邻(D-1)帧提取出来进行该对象描述的。由于DNNs通常需要固定大小的输入,我们将这些补丁的大小调整为(hxw),并将其堆叠为新的(hxwxd)patches:(p1', p2',...,pd'),在本文中,D通常被设置为一个小值5或10来表示一个小区间,这便于我们假设视频事件的主题在时间间隔内安全地停留在ROI中。

3.1.2 Motivation

  为了提取高质量的STC来表示视频事件,关键是定位前景对象的ROI,从而使得提取相应的视频事件成为可能。本文认为,该定位应该既精确又全面。更具体来说,精确地定位期望一个前景对象的整个区域被一个紧凑的便捷框所覆盖,而边界框包含最小的无关背景。综合定位要求所有前景对象的提取都不被遗漏。然而,现有的VAD方法很难同时精确和全面的定位,我们在图2中直观的说明了这一点:经典的滑动窗口策略通常会将一个前景对象分割成几个窗口(如图a),(b)展示出只基于运动特征的定位,其不能区分不同的物体,并会提取过多的不相关的背景;(c)展示出只基于外观特征的定位,其往往会忽略新的或者模糊的物体;(d) 展示出提出的基于外观+运动特征能同时实现精确和全面的定位。

   为此,我们重定义一个视频事件被定义一个前景对象及其活动。因此,在提取ROI时,需要同时考虑来自物体中的外观特征和其活动中的运动特征外观特征可以使用通用目标检测器,其能有效地利用外观线索进行定位。通过对微软COCO[29]等大规模真实数据集的通用知识,预先训练好的探测器能够以高度精确的方式提取大多数日常物体(如人类和车辆)。然而,由于致命的“封闭世界”问题,只有外观线索的RoI提取是不全面的。为此,运动线索为定位省略的前景对象提供了有价值的遗漏信息,使我们能够克服“封闭世界”问题,完成更全面的RoI提取。更重要的是,基于运动特征的ROI提取不应该是一个孤立的过程--当使用运动特征时,应该对已经被外观特征定位的ROI进行过滤,这样可以减少冗余计算,并鼓励更精确地定位省略的前景对象。受这些想法的启发,我们提出了一种新的基于外观和特征的ROI提取模型如图3所示。视频事件提取模型:

(1) 基于外观特征的ROI提取(绿色)用预先训练好的目标检测器提取,并基于高效阈值进行过滤。

(2) 基于运动特征的ROI提取(红色):

  • 首先将运动特征图按大小二值化为二进制映射
  • 然后从二进制映射中减去基于外观的ROI中突出显示的像素
  • 最后运用轮廓检测、阈值分析和二值映射,得到基于运动的ROI。

(3) 时空立方体(STC)提取(黄色):对于每个ROI,提取当前帧和(D-1)之前帧的补丁,然后调整D补丁的大小并堆叠到一个STC中,该STC包含一个视频事件。

 3.1.3 基于外观特征的ROI提取

  给定一个原始视频帧Ia和预先训练对象探测器模型M,基于外观的ROI提取的目标是通过前景对象的外观特征获得一个ROI集合Ba,Ba?R4,每个条目bap∈Ba指的是一个边界框。注意边框由其左上角和右下角的顶点坐标表示,这是一个四维向量。如图3中的绿色模块所示,我们首先将Ia输入模型M,通过选择那些置信度高于阈值t的输出边界框,获得初步的ROI集合Ba

相关