Video Anomaly Detection by Solving Decoupled Spatio-Temporal Jigsaw Puzzles

中文标题:通过解决解耦时空拼图进行视频异常检测

类型:VAD

发布于:ECCV2022

论文地址:https://arxiv.org/abs/2207.10172

源码地址:https://github.com/gdwang08/Jigsaw-VAD

Abstract

视频异常检测(VAD)是计算机视觉中的一个重要课题。受近期自监督学习进展的推动,本文通过解决一个直观但具有挑战性的前置任务——时空拼图问题来处理 VAD,该任务被构建为一个多标签细粒度分类问题。我们的方法相较于现有工作具有多个优势:

1)时空拼图在空间和时间维度上解耦,分别负责捕捉极具判别性的外观和运动特征;

2)使用全排列来提供大量涵盖不同难度级别的拼图,使网络能够区分正常与异常事件之间的细微时空差异;

3)以端到端的方式处理前置任务,无需依赖任何预训练模型。

我们的方法在三个公共基准测试中优于最先进的同类方法。特别是在上海科技大学园区数据集上,结果远远优于基于重建和预测的方法。

1 Introduction

视频异常检测(VAD)是指检测偏离常见正常模式的意外事件的任务。近年来,随着从各种场景中捕获的视频数据呈指数级增长,它已成为计算机视觉和模式识别领域中一项极为重要的任务。由于现实世界中异常事件罕见且类别无界,缺乏用于训练的均衡正常与异常样本,使得典型的监督方法不适用,因此 VAD 通常以仅给出正常数据的单类学习方式进行[13,29,30]。

在这种情况下,一系列 VAD 方法[12, 16, 27, 29, 34, 40, 58, 61]被提出,其中基于重建和预测的方法是深度学习背景下的两种代表性范式。基于重建的方法[16, 40]构建诸如自动编码器和生成对抗网络(GAN)等模型来恢复输入帧,在测试时将重建误差高的样本识别为异常。考虑到时间连贯性,基于预测的方法根据运动连续性生成缺失帧,例如中间帧[61]或未来帧[29, 58]。预测帧与其相应真实值之间的差异表明了异常发生的概率。

上述两类方法都报告了有前景的性能;然而,正如[16, 39, 64]中所述,它们旨在生成高质量像素,并且即使网络仅被训练为与正常样本完美匹配,其固有泛化能力仍能使异常情况得到良好的重建或预测,特别是对于静态物体,例如行人区域中的一辆静止汽车。为了解决这个问题,一些后续研究试图通过纳入记忆模块[16, 43]、对光流建模[29]、重新设计特定架构[58]等来提高准确性。

最近,自监督学习为 VAD 开辟了另一条途径,显著提升了检测结果。与无监督生成解决方案不同,基于自监督学习的方法从无标签数据中探索用于学习表征的监督信号[13, 55],当前的研究主要在 pretext 任务的设计上存在差异。Wang 等人[55]提出了实例判别任务,将正常性的子类别构建为聚类,远离聚类中心的样本被判定为异常。Georgescu 等人[13]通过一个联合考虑多个 pretext 任务的模型取得了进展,这些任务包括判别时间箭头和运动规律性、中间帧重建以及知识蒸馏。然而,他们的 pretext 任务基本上被定义为二元分类问题,这使得它们在学习高度判别性特征以区分正常与异常事件之间的细微时空差异方面能力不足。此外,这些方法[13, 55]依赖于在大规模数据集(如 ImageNet[47]和 Kinetics - 400[23])上预训练的网络。

为规避上述缺点,本文提出一种简单而有效的视频异常检测(VAD)自监督学习方法,通过处理一个直观但具挑战性的前置任务——时空拼图。我们假设成功解决此类拼图需要网络通过学习强大的时空表征来理解视频帧极其精细的时空连贯性,这对 VAD 至关重要。为此,我们考虑所有可能的排列,而非启发式排列选择算法[41]产生的子集,以增加拼图难度,旨在为判别性特征提供细粒度的监督信号。基于异常事件通常涉及异常外观和异常运动这一观察,我们从空间和时间维度解耦时空拼图,分别负责建模外观和运动模式,相较于解决 3D 拼图[2]在技术上更利于优化。具体而言,我们首先从 n! 种可能排列中随机选择一种排列,其中 n 是序列中的元素数量。利用此排列,我们随后在帧内对块进行空间打乱以构建空间拼图,或对连续帧序列进行时间打乱以构建时间拼图。训练目标是从其空间或时间排列版本中恢复原始序列。与将拼图求解视为多类分类问题(其中每种排列对应一个类别,如图 1(b))的现有学习通用视觉表征方法[24, 26, 41]不同,我们将其构建为多标签学习问题(如图 1(c)),使该方法能够扩展到具有更多块的更高级拼图,且不会显著增加内存消耗。在推理期间,未打乱帧或图像预测的置信度用作异常检测的规律性得分。预计异常事件的置信度得分较低,因为它们在训练中未出现。

图 1:多类索引分类与多标签位置分类。(a) 拼图构建。我们基于从所有可能排列中随机选择的一种排列来置换原始序列。(b) 多类排列索引预测。传统方法[24, 26, 41]将一种排列视为 4!=24 类中的一类。(c) 多标签排列位置预测(我们的方法)。我们直接输出多个预测,表明每一帧在原始序列中的绝对位置。

与先前关于自监督 VAD 的工作[13, 55]相比,我们方法的优势有三点。

首先,我们通过仅解决单个 pretext 任务极大地简化了自监督学习框架,该任务被解耦为空间和时间拼图,分别对应于对正常外观和运动模式的建模。

其次,采用所有可能的排列来生成大规模、高度多样化的学习样本,使网络能够从 pretext 任务中捕捉到细微的时空异常。为确保计算效率,我们将拼图求解表述为多标签学习问题,能够适应数量变化的阶乘情况。

第三,我们的方法不依赖任何预训练网络,因为解决具有挑战性的 pretext 任务本身有助于学习丰富且具有判别性的时空表征。它在三个公共基准测试上取得了最先进的结果,特别是在上海科技大学校园数据集[35]上表现优异。

2 Related Work

视频异常检测。早期研究[1, 3, 9]主张为视频异常检测(VAD)手动设计外观和运动特征,而近期方法则利用深度神经网络强大的表征能力从视频事件中自动学习特征并取得更好性能。大多数 VAD 方法遵循逐像素生成的方式,基于重建和基于预测的方法是两条重要路线。基于重建的方法[11, 18, 34]学习恢复输入帧或片段,而基于预测的方法学习预测缺失帧,如未来帧预测[12, 29, 33]或中间帧补全[27, 61]。在[38, 60, 63]中也探索了将重建和预测相结合的混合解决方案。这些方法在训练期间旨在生成高质量像素,重建或预测误差大的样本被识别为异常。然而,这些网络通常对异常表现出很强的泛化能力(即使在训练中未见过),导致重建或预测质量尚可。使用记忆机制[16, 43]或多模态数据(如光流[30, 40]和 RGB 差异[6])在一定程度上抑制了泛化能力,但鉴于额外的计算和内存消耗,改进远非完美。

自监督学习。自监督学习(SSL)是一种仅从数据中寻找监督信号的通用学习框架。它大致可分为构建 pretext 任务和进行对比学习。 Pretext 任务:对于图像,pretext 任务通常包括解决拼图问题[41]、给图像上色[62]、预测相对块[10]或图像旋转[15]等。对于视频,一系列方法基于验证正确帧序[37]、排序帧序[26]或剪辑序[59]、预测播放速度[5]或时间箭头[45, 56]等额外利用视频特有的时间信息。在 pretext 任务中,拼图被广泛探索并被证明在学习视觉表征方面有效,但相关方法未能利用所有可能的排列,其数量随输入长度呈阶乘增长。Cruz 等人[48]通过直接预测打乱原始数据的排列矩阵来避免这种阶乘复杂性。 对比学习:这是另一种流行的自监督学习范式,其中每个实例都被视为一个类别。受自监督图像表征学习(如 SimCLR[8]和 MoCo[19])成功的推动,提出了许多对比学习的扩展[31, 42],以将基于图像的方法适配到视频领域。

视频异常检测中的自监督学习。虽然这些自监督方法在通用表征学习中被证明非常有效,使众多下游识别和检测任务受益[8, 19, 31, 42],但利用自监督学习进行视频异常检测的研究却很少。基于自监督学习的视频异常检测方法通过进行对比学习或解决 pretext 任务来捕获时空表征,这与基于逐像素重建或预测的方法不同。Wang 等人[55]通过具有聚类注意力机制的对比学习框架学习时空表征。然而,这需要大量训练样本和定制的数据增强策略。Georgescu 等人[13]在三个自监督代理任务和知识蒸馏的基础上联合训练一个 3D 卷积神经网络用于视频异常检测。这些代理任务易于解决,阻碍了网络学习用于视频异常检测的高度判别性表征。

在这项工作中,我们设计了一个更具挑战性的 pretext 任务,即解决时空拼图问题。尽管通过打乱空间布局[41]、时间顺序[26]或两者结合[24],将解决拼图作为 pretext 任务用于自监督学习已被研究,但它们大多将其表述为多类分类任务,其中每种排列对应一个类别。从 pretext 任务中学习到的表征在一系列下游任务(如图像检索和动作识别)中被证明非常有效;然而,其在视频异常检测中的潜力仍未被探索。一个直接的解决方案是直接应用这些方法[26, 41]来为视频异常检测学习正常事件的表征。然而,这种简单的适配并非最优,因为它们只专注于对外观或运动进行建模,而在视频异常事件中异常外观和异常运动相互交织。Kim 等人[24]设法解决了时空立方拼图,然而,多类表述限制了其应用于更高级的拼图(实际上他们仅利用了四块拼图),导致性能欠佳,如表 2 所示。尽管 Ahsan 等人[2]考虑直接解决 3D 时空拼图,但我们通过实验发现,由于解决 3D 拼图的极端难度,其性能不如预期。例如,一个用 3×3 网格压缩 7 帧的立方体导致 7!×(3×3)!=1,828,915,200 种可能的排列。因此,我们将 3D 时空拼图分解为空间和时间拼图,分别对应学习外观和运动模式。

3 Method

3.1 Overview

图 2:方法概述。我们设计了一个包含时间和空间拼图的 pretext 任务,用于自监督学习时空表征。基于以对象为中心的时空立方体,我们通过执行时间和空间打乱来创建拼图。该网络由一个共享的 3D 卷积骨干网络以及随后的两个不相交的头组成,分别用于预测用于在时间上打乱帧和在空间上打乱块的排列。矩阵的每一列表示排列中一个条目的预测。

图 2 展示了所提方法的流程,为便于说明,以四帧序列为例。该方法包含三个步骤:以对象为中心的立方体提取、拼图构建和拼图求解。我们首先使用现成的目标检测器[46]提取帧中的所有对象,并沿时间维度堆叠这些对象以构建以对象为中心的立方体。对于每个立方体,我们进一步应用空间或时间打乱来构建相应的空间或时间拼图。最后,作为拼图求解器的卷积神经网络尝试从其空间或时间排列版本中恢复原始序列。所提方法等同于解决一个多标签分类问题,并以端到端的方式进行训练。

值得注意的是,我们不使用任何光流或预训练模型(目标检测器除外)。空间和时间排列仅在训练中应用,从而允许通过单次前向传播进行快速推理。

3.2 Fine-grained Decoupled Jigsaw Puzzles

在自监督学习中,准备既无歧义又不简单的自标注数据至关重要[41]。基于[26, 41]中网络能从更难的前置任务中学到更丰富时空表征这一观察,我们引入全排列来构建精细的拼图,旨在捕捉细微的时空差异。

我们首先逐帧应用在 MS-COCO[28]上预训练的 YOLOv3 检测器[46]提取大量感兴趣的对象,在此我们仅保留定位信息并丢弃分类标签。对于在帧\(i\)中检测到的每个对象,我们通过简单地堆叠从其时间相邻帧\(\{i - t,\cdots, i - 1, i, i + 1,\cdots i + t\}\)使用相同边界框和位置裁剪出的块来构建以对象为中心的时空立方体。我们将所有提取的块重新缩放到固定大小,例如\(64×64\)。基于提取的以对象为中心的时空立方体,我们通过构建空间或时间拼图来准备训练样本。

空间拼图。遵循[41],对于每一帧,我们首先将其分解为\(n×n\)个等大小的块,然后随机打乱这些块。我们使立方体中的所有帧共享相同的排列,同时保持它们的时间顺序。与[41]中分别将每个块输入网络不同,我们直接将空间打乱后的帧作为输入,其大小与原始帧相同,即在我们的设置中为\(64×64\)。

时间拼图。为构建时间拼图,我们对\(\ell\)帧的序列进行打乱,但不打乱其空间内容。詹尼等人[22]指出,对于强大的视频表征学习而言,最有效的前置任务是那些通过观察尽可能多的帧就能解决的任务。例如,仅通过比较前两帧就能轻易检测出运动不规则性[13],与之不同的是,要解决我们的时间拼图问题则需要观察全部帧数,这对于学习更具判别性的运动模式表征至关重要。需要注意的是,我们不会对仅包含静态内容的帧序列进行时间上的打乱,因为仅通过观察视觉线索是无法推断出其时间顺序的。

3.3 Multi-label Supervision

我们的拼图求解任务本质上是一个排列预测问题。回想一下,为了让学习判别性表征的任务更具挑战性,我们采用全排列来生成细粒度的拼图。与典型方法[24, 26, 41]不同,这些方法将拼图求解表述为多类分类问题(其中每种排列就是一个类别),我们将拼图求解构建为一个多标签分类问题,并尝试直接预测每一帧的绝对位置或每一块的位置。对于经过时间打乱的序列中的每一帧,我们预测其在原始序列中的正确位置;而对于经过空间打乱的帧中的每一块,我们预测其在原始分割网格中的正确位置。该策略将复杂度从\(O(l!)\)降低到\(O(l^{2})\),因此它可以轻松扩展到更长序列的输入帧或更精细的网格分割情况,且内存消耗可忽略不计。

我们采用混合训练策略,其中一个训练小批量数据由两个不相交的集合组成:\(Q_s\)和\(Q_t\),它们分别表示空间拼图集合和时间拼图集合。因此,一个小批量数据总共包含\(\vert Q_t\vert + \vert Q_s\vert\)个样本。值得注意的是,这两个求解器(头)仅负责各自对应的拼图类型,也就是说,我们不会依靠时间求解器来处理空间拼图以避免产生歧义,反之亦然。算法1提供了关于在小批量数据中构建拼图的更多细节。

我们使用交叉熵(CE)损失来优化网络。对于一个拼图\(p\),其损失按照公式(1)进行计算。

\[ L_{p}=\left\{\begin{array}{ll} \frac{1}{l} \sum_{i=1}^{l} \text{CE}(t_{i}, \hat{t_{i}}), & p \in Q_{t} \\ \frac{1}{n^{2}} \sum_{j=1}^{n^{2}} \text{CE}(s_{j}, \hat{s_{j}}), & p \in Q_{s} \end{array}\right. \](1)

其中,\(t_{i}\)和\(\hat{t_{i}}\)分别是一帧在原始序列中的真实位置和预测位置,而\(s_{j}\)和\(\hat{s_{j}}\)分别是一个块在原始分割网格中的真实位置和预测位置。 

3.4 VAD Inference

遵循训练中目标检测的相同流程,对于帧\(i\)中的每个目标,我们通过从其时间相邻帧\(\{i - t,\cdots, i - 1, i, i + 1,\cdots i + t\}\)中裁剪边界框来构建相应的以目标为中心的立方体。在推理阶段,我们复用内置的拼图求解器来获取规律性得分。我们将未经空间或时间打乱的以目标为中心的立方体输入,会分别得到两个矩阵\(M_{s}\)和\(M_{t}\),它们分别对应空间和时间排列预测。

直观地讲,正常事件的矩阵对角线上的元素要比异常事件的相应元素大,因为网络仅针对恢复原始的正常序列进行训练。因此,我们只需将一个序列的最小预测得分作为其规律性得分,如公式(3)所示。

\(\left\{\begin{array}{l}r_{s}=\min(\text{diag}(M_{s})) \\ r_{t}=\min(\text{diag}(M_{t}))\end{array}\right.\)

其中\(\text{diag}()\)用于提取矩阵对角线元素,\(M_{s}\)和\(M_{t}\)分别由空间或时间拼图求解器预测得到,\(r_{s}\)和\(r_{t}\)分别表示目标层级的规律性得分。我们选择矩阵对角线上的最小得分作为最终的目标层级规律性得分,因为按照训练中细粒度的多标签监督要求,只要有一帧或一块被错误预测,该样本就很可能是异常的。 类似地,我们只需选择帧中目标层级规律性得分的最小值,就能得到帧层级的规律性得分\(R_{s}(R_{t})\)。与文献[13]类似,我们还应用一个3D均值滤波器来创建一个平滑的异常得分图。遵循文献[29, 58, 60],我们对每个视频中所有帧的不规则性得分进行归一化处理:

\(\left\{\begin{array}{l}R_{s}=\frac{R_{s}-\min(R_{s})}{\max(R_{s})-\min(R_{s})} \\ R_{t}=\frac{R_{t}-\min(R_{t})}{\max(R_{t})-\min(R_{t})}\end{array}\right.\) 

最终的帧层级规律性得分\(R\)(公式(4))是\(R_{s}\)和\(R_{t}\)的加权平均值,随后再应用一个时间上的一维高斯滤波器。

\(R = w * R_{s} + (1 - w) * R_{t}\)。

4 Experiments

5 Ablation Study

表2:以接收者操作特征曲线下面积(%)为指标,在时空异常检测(STC)数据集和“Avenue”数据集上不同排列数量的结果。T和S分别代表构建时间拼图和空间拼图时的排列数量。在此处,\(l = 7\)且\(n^{2} = 9\)。

排列数量。我们通过使用基于汉明距离的选择算法[41]选择全排列的子集来限制用于构建拼图的排列数量。我们首先构建一个基准方法,它遵循解决拼图问题的典型方案,即将一种排列视为一个类别。在推理阶段,规律性得分就是时空立方体未在空间或时间上被打乱排列的概率。从表2可以看出,对于空间和时间拼图,基准方法和我们的方法在使用大量排列时都能取得更好的结果,因为网络需要捕捉更具判别性的表征,以察觉拼图之间的细微差异。而且,在排列数量相同的情况下,我们的方法始终优于基准方法。一个可能的原因是,基准方法试图通过不同的排列来区分拼图,而我们旨在以更细致的方式预测排列中每一帧/每一块的正确位置。此外,对于包含更多块的更复杂拼图,基准模型会因内存限制而失效。相比之下,得益于多标签分类的构建方式,我们的方法能够以对内存友好的方式处理具有全排列的更细粒度拼图,从而取得最佳(A9)效果。

表3:以接收者操作特征曲线下面积(%)为指标,在时空异常检测(STC)数据集和“Avenue”数据集上不同帧数/块数的结果。\(l\)和\(n^{2}\)分别表示以对象为中心的立方体中的帧数以及帧中的块数。

表4:以接收者操作特征曲线下面积(%)为指标,在时空异常检测(STC)数据集上不同视频异常检测(VAD)前置任务的结果。

拼图求解之外的其他前置任务。我们考虑空间维度(例如,旋转预测[25]以及平移预测[20])和时间维度(例如,时间流向预测[56]以及时间顺序验证[37])设计了其他可供选择的前置任务。我们的方法在表4中取得了最佳性能。这证明了合理设计能够实现细粒度区分的前置任务对于视频异常检测(VAD)来说是至关重要的。与其他前置任务相比,我们设计的任务更具挑战性,它要求模型能够感知帧内的每一个块以及视频片段内的每一帧。

表5:不同拼图的结果。T和S分别是“时间(维度)”和“空间(维度)”的缩写。

表6:以接收者操作特征曲线下面积(%)为指标在“复古卡车”(RetroTrucks)数据集上的结果。

6 Conclusion

在这项工作中,我们提出了一个简单却有效的用于视频异常检测(VAD)的自监督学习框架,该框架通过解决一项具有挑战性的前置任务,即时空拼图问题来实现,为便于优化,我们将其分解为空间拼图和时间拼图两部分。我们强调,具有挑战性的前置任务是学习具有判别性的时空表征的关键所在。为此,我们进行全排列以生成大量难度各异的空间和时间拼图,这使得网络能够区分正常事件与异常事件之间细微的时空差异。我们将前置任务重新表述为一个多标签细粒度分类问题,并以高效且端到端的方式加以解决。实验表明,我们的方法在三个常用基准测试中达到了最先进的水平。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值