中文标题:通过时空伪异常生成进行视频异常检测:一种统一的方法。
类型:VAD
发布于:CVPR2024(workshop)
源码地址:GitHub - rayush7/unified_PA(暂无)
Abstract
视频异常检测(VAD)是一项开放集识别任务,通常被表述为单类分类(OCC)问题,其中训练数据由包含正常实例的视频组成,而测试数据则包含正常和异常实例。近期的研究工作致力于仅利用正常数据创建伪异常(PAs),并对现实世界中的异常情况在物体异常性和运动速度方面做出强假设,以便在训练期间将关于异常的先验信息注入基于自动编码器(AE)的重建模型中。这项工作提出了一种新颖的方法来生成通用的时空 PAs,即通过使用预训练的潜在扩散模型对图像的掩码区域进行修复,并进一步使用 mixup 扰动光流以模拟数据中的时空扭曲。此外,我们提出了一个简单的统一框架,通过学习三种类型的异常指标,即重建质量、时间不规则性和语义不一致性,在 OCC 设定下检测现实世界中的异常情况。在四个 VAD 基准数据集(Ped2、Avenue、ShanghaiTech 和 UBnormal)上进行的大量实验表明,在 OCC 设定下,我们的方法与其他现有的最先进的 PAs 生成和基于重建的方法性能相当。我们的分析还检验了 PAs 在这些数据集之间的可转移性和泛化能力,通过 PAs 识别现实世界中的异常情况,提供了有价值的见解。我们的结果可在 github 上重现。
1. Introduction
视频异常检测[4, 5, 21 - 23, 30, 34, 43, 45, 58, 59, 72, 79, 92, 96]是指发现意外事件发生的任务,这些事件与众不同且偏离已知的正常模式。现实世界中异常情况的罕见性以及其多样性和复杂性的无界性(开放集识别[20])导致了视频异常检测(VAD)的训练数据集不平衡,使其成为一项极具挑战性的任务。因此,VAD 通常被当作单类分类(OCC)问题来处理,即仅有正常数据可用于训练模型[4, 5, 21, 23, 25, 45, 49, 50, 58, 102]。
通常采用利用自动编码器(AE)的基于重建的方法来处理单类分类(OCC)任务[4, 5, 23, 58]。其背后的直觉是,在训练期间,AE 会学习在其特征空间中对正常实例进行编码,前提是假设在测试阶段高重建误差将对应于异常,而低重建误差将表明行为正常。与此相反,[4, 23, 92]观察到在这种设置下进行训练时,AE 学会以高精度重建异常情况,从而在测试阶段导致低重建误差。因此,AE 区分正常和异常实例的能力大大降低([4]中的图 1a)。
[23, 58]引入了一种基于记忆的自动编码器(AE),通过在潜在空间的训练过程中记录典型的正常模式来限制 AE 的重建能力,从而缩小 AE 重建异常数据的能力。然而,此类方法对记忆大小高度敏感。较小的记忆容量可能会阻碍正常数据的重建,因为记忆正常模式可被理解为严重限制了 AE 的重建边界,导致在测试阶段甚至无法重建正常事件([4]中的图 1b)。
阿斯翠德等人[4]提出生成两种类型的伪异常(基于补丁和基于跳帧),从正常数据中合成模拟伪异常数据,并进一步为自动编码器(AE)引入一种新颖的训练目标,即使输入样本为异常,也强制其仅重建正常数据。基于补丁的伪异常是通过使用 SmoothMixS [37] 数据增强方法从入侵数据集(例如 CIFAR - 100)中插入特定大小和方向的补丁来生成的,而为了创建基于跳帧的伪异常,则以不规则步长对一系列帧进行采样,以在序列中创建异常运动。此训练过程背后的直觉是基于将 AE 的重建边界限制在正常数据边界附近,从而使正常数据和异常数据之间具有更明显的特征([4]中的图 1c)。阿斯翠德等人[4]提出的方法的一个显著局限性在于其严重依赖于一组预定义的假设和归纳偏差。这些假设涵盖各个方面,包括为补丁插入选择的特定入侵数据集、补丁的大小和方向,以及通过跳帧改变运动速度可将时间不规则性引入正常数据的想法。
基于这样的假设,无法保证由无限多种可能异常场景构成的测试异常会与伪异常样本相符。这就产生了从正常数据创建伪异常(PAs)的更通用解决方案的需求。由于视频异常检测(VAD)是一个开放集识别问题,且异常呈现出无穷无尽的可能性,每个伪异常合成器都带有强弱不同的归纳偏差,因此通过伪异常来模拟真实异常本身就极具挑战性。此外,还存在其他挑战,例如某些正常行为虽罕见但确实可能存在,因而在正常数据中未得到充分体现。这就引出了一个有趣的研究问题:“是否有可能通过向正常数据引入时空扭曲来合成生成通用的伪异常,以便有效地检测现实世界中的异常情况?重要的是,这样的伪异常能否在多个视频异常检测数据集之间迁移?”
我们的工作受[4]启发,通过解决其缺陷并提出一种更通用的伪异常生成器对其进行了扩展。我们专注于通过注入两种不同类型的异常指标来生成伪异常(PAs),第一种是通过预训练的潜在扩散模型(LDM)[66]进行图像修复所添加的扭曲,第二种是通过使用 mixup [99]扰动光流[91]来添加时间不规则性。此外,我们的方法还使用语义丰富的 ViFi - CLIP [64]特征来测量正常样本与伪异常之间的语义不一致性。这将重建质量、时间不规则性和语义不一致性的估计统一在一个框架下。我们针对此类伪异常在现实世界异常中的泛化性和可转移性开展了广泛研究。总体而言,我们的主要贡献如下:
- 我们为视频异常检测(VAD)提出了一种新颖且通用的时空伪异常生成器,包括使用 LDM 对帧中的掩码区域进行修复,并应用 mixup 增强来扭曲光流。
- 我们引入了一个统一的 VAD 框架,用于在单类分类(OCC)设置下测量和聚合三种不同的异常行为指标,即重建质量、时间不规则性和语义不一致性。
- 在 Ped2、Avenue、ShanghaiTech 和 UBnormal 数据集上进行的大量实验表明,我们的方法与其他现有的最先进方法(表 1、2)性能相当,这表明我们的方法是一种通用的视频异常检测器,并且我们的时空伪异常生成过程可在多个数据集之间迁移。
2. Related Work
2.1. Restricting Reconstruction Capacity of an AE
解决视频异常检测(VAD)的一种标准方法是采用单类分类(OCC)策略,通过训练自动编码器(AE)模型来重建输入数据[4, 23, 25, 49, 50, 58, 102]。在训练期间,仅使用正常输入来学习 AE,前提是假设测试期间异常的重建会产生更高的重建误差。然而,实践表明 AE 也能够重建异常数据[4, 23, 92]。[23, 58]通过在潜在空间中使用基于记忆的技术增强 AE 来缓解此问题,以限制 AE 的重建能力。然而,此类方法的性能直接受到记忆大小选择的影响,这可能过度约束 AE 的重建能力,导致在测试期间甚至正常事件的重建效果也很差。
为缓解此问题,[4, 5]利用基于数据启发且建立在强假设基础上的伪异常(PAs)来限制自动编码器(AE)的重建能力。基于补丁的伪异常是通过使用诸如 SmoothMixS [37] 之类的技术将来自入侵数据集(CIFAR - 100)的补丁插入正常数据中生成的。为了对特定运动异常事件进行建模,通过以不同步长跳过帧来诱导时间不规则性从而生成伪异常。训练配置仅针对正常数据设置为最小化 AE 的重建损失。伪异常可被解释为一种数据增强[6, 36],即不是创建更多相同分布的数据,而是创建属于近分布(即在正常分布与异常分布之间)的伪异常数据。[76, 100]采用对抗训练来生成增强输入,其作为模型的对抗样本也是有效的。
我们的方法属于限制自动编码器(AE)重建能力的范畴,在此范畴中我们遵循[4]中引入的训练设置,然而我们提出模拟通用的时空伪异常(PAs),而不对数据集特定的异常情况做大胆假设。
2.2. Generative Modeling
生成模型已被用于为半监督学习(Bad GAN [9]、Margin GAN [14])、异常检测(Fence GAN [55])、离群点检测(BDSG [11, 18])、医学异常检测 [81] 和新颖性检测 [54] 中的各种应用生成分布外(OOD)数据。然而,此类方法大多适用于低维数据,并不适合为视频异常检测(VAD)生成 OOD 数据。OGNet [92, 95] 和 G2D [59] 利用基于生成对抗网络(GAN)的生成器和判别器用于 VAD。在训练的第一阶段,使用生成器的预训练状态来创建伪异常(PAs)或不规则样本,而在第二阶段,使用判别器进行二元分类以区分正常样本和伪异常样本。
我们从生成通用时空伪异常(PAs)的角度设计模型,其中利用生成模型(预训练的潜在扩散模型)生成空间伪异常,同时利用 mixup 方法从光流中创建时间伪异常。
2.3. Other VAD Methods
非基于重建的方法:也已提出了几种非基于重建的方法,这些方法除了重建损失之外,还从各种不同的异常指标中得出异常分数。[43]中提出的工作利用视频异常检测(VAD)的未来帧预测任务,并将光流和梯度损失估计作为异常行为的补充线索。[21, 30]在异常事件总是以对象为中心的假设下,将对象检测作为预处理步骤。其他一些工作添加了光流分量[34, 40]以检测异常运动模式,并添加了二进制分类器[59, 92]来估计异常分数。
在我们的工作中,在训练阶段我们也使用分割掩码(对象检测)和光流来生成相应的空间和时间伪异常(PAs)。然而,在推理阶段,我们不进行任何对象检测,仅基于图像重建和光流来执行异常检测。
非单类分类(OCC)方法:视频异常检测(VAD)还有许多其他表述形式。[21]引入了一种自监督方法,其中针对 VAD 联合优化了诸如时间箭头、中间框预测、不规则运动判别和知识蒸馏等不同的 pretext 任务。[79]采用了一种自监督的单一 pretext 任务,即解决与建模正常外观和运动模式相对应的解耦时空拼图问题。一些工作还通过多示例学习[72, 83, 98, 105]将 VAD 问题作为弱监督问题来处理。无监督 VAD 方法涉及通过迭代过程中两个网络的协作来生成伪标签[42, 57, 93, 94, 96, 97]。[3]中引入了零样本 VAD,其中模型在源域上进行训练以检测目标域中的异常情况,而无需任何域适应。USTN - DSC [88]提出了一种基于关键帧的视频事件恢复框架用于 VAD,而 EVAL [68]展示了一种允许人类可解释的视频异常定位技术。
3. Method
3.1. Preliminaries
潜在扩散模型(LDMs):扩散概率模型(DMs)[28, 70, 71]是一类用于学习数据分布\(p_{data}(x)\)的概率生成模型。扩散概率模型通过基于去噪分数匹配目标[71]学习长度为\(T\)的固定马尔可夫链的反向过程,来迭代地对正态分布变量进行去噪,该目标由下式给出:
其中\(x \sim p_{data}\),扩散输入可由\(x_{\tau}=\alpha_{\tau} x+\sigma_{\tau} \epsilon\)(\(\epsilon \sim \mathcal{N}(0, I)\))构建,并输入到去噪器模型\(f_{\theta}\)中,\((\sigma_{\tau}, \alpha_{\tau})\)表示由扩散时间\(T\)参数化的噪声调度,\(p_{\tau}\)是\(T\)上的均匀分布,\(c\)表示条件信息,目标向量\(y\)要么是随机噪声\(\epsilon\),要么是\(v=\alpha_{\tau} \epsilon-\sigma_{\tau} x\)。前向扩散过程对应于向\(x\)逐渐添加高斯噪声,使得对数信噪比\(\lambda_{\tau}=\log(\alpha_{\tau}^{2} / \sigma_{\tau}^{2})\)单调递减。
提出潜在扩散模型(LDMs)[66]是为了提高标准扩散概率模型(DMs)的效率,其通过训练一个基于 VQGAN [19] 的模型,将输入图像(即\(x\sim p_{data}\))投影到一个空间维度更低、复杂度降低的潜在空间中,然后高精度地重建实际输入。具体而言,使用正则化自动编码器[66]来重建输入\(x\),重建结果为\(\hat{x}=f_{de}\circ f_{en}(x)^{1}\approx x\),其中\(f_{en}\)和\(f_{de}\)分别表示编码器和解码器。此外,使用基于补丁的判别器[32]添加对抗目标,以确保实现逼真的重建。然后,在潜在空间中通过将\(x\)替换为其潜在表示\(z = f_{en}(x)\)来训练扩散概率模型(如公式(1)所示)。这导致可学习参数的数量和内存的减少。
3.2. Generating Spatial-PAs
现实世界中的异常情况具有高度的情境特异性,没有通用定义。拉马钱德拉等人[63]将其宽松地定义为“出现异常外观和运动属性,或在异常位置或时间出现通常外观和运动属性”。此类情况的示例包括:拥挤区域中的遗弃物或个人的可疑行为。我们通过生成空间伪异常(PAs)来处理这种异常外观属性出现的概念。
由于潜在扩散模型(LDMs)在图像修复任务中达到了最先进的性能,因此可将其用作空间伪异常(PAs)生成器。特别地,我们假设一个现成的预训练 LDM 模型[66],无需在视频异常检测(VAD)数据集上进行任何微调,就能以足够的空间扭曲修复图像,从而可作为空间伪异常样本用于训练 VAD 模型。我们遵循 LAMA [74]中提出的掩码生成策略来生成随机形状和对象分割掩码\(m\)。我们在通道维度上拼接图像\(x\)、掩码图像\(x\odot m^{2}\)和掩码\(m\),并将此 7 通道输入提供给 UNet [67]。除非另有明确说明,我们将正常数据样本表示为\(x\)。空间伪异常\(P_{s}(x)\)由下式给出:
其中\(\mathcal{F}_{s}\)是使用潜在扩散且具有预训练模型参数\(\theta\)的修复模型。空间伪异常的一些示例见图 2。
图2. 使用分割掩码对空间和时间伪异常(PAs)的可视化展示。这种方法对随机掩码同样适用。
3.3. Generating Temporal-PAs
我们通过生成时间伪异常(PAs)来处理异常运动情况(比如人摔倒在地)这一概念。人们已经提出了各种各样的视频扩散模型[26, 29, 77],这些模型可被利用来引发视频中的时间不规则性。然而,由于计算资源有限,我们引入了一种简单但有效的生成时间伪异常的策略,即对正常视频的光流应用一种邻域风险最小化技术——mixup [99]。 更具体地说,给定一个正常视频\(v\)、它的帧\(x_{t}\)、其对应的分割掩码\(m_{t}\)以及另一连续帧\(x_{(t + 1)}\),我们使用TVL1算法[91]来计算光流\(\phi(x_{t}, x_{(t + 1)})\)。为简化起见,我们使用\(\phi\)作为\(\phi(x_{t}, x_{(t + 1)})\)的别名。让我们考虑光流\(\phi\)中与帧\(x_{t}\)中的掩码\(m_{t}\)相对应的一个矩形块\(p'\),其尺寸为\(\mu_{h}\)和\(\mu_{w}\)。为了扰动光流\(\phi\),我们在\(\phi\)中的随机位置选取另一个与\(p'\)尺寸相同的矩形块\(Pr'\),并应用mixup来生成\(\hat{P}\),它是\(P'\)和\(Pr'\)的凸组合,由下式给出:\(\hat{p}=\lambda p'+(1 - \lambda) p_{r}'\),其中\(\lambda\)是按照[99]中\(\alpha = 0.4\)的贝塔分布进行采样的。 我们将时间伪异常表示为\(P_{t}(x)\),其表达式为:
其中\(\mathcal{F}_{t}\)是时间伪异常生成器。时间伪异常的一些示例在图2中有所展示。需要重点注意的是,我们的伪异常生成方法并非明确需要分割掩码,它也可以使用随机掩码来生成伪异常。由于分割掩码带有语义信息,使用它们能够生成在语义方面更具信息量的伪异常,我们的实验也进一步验证了这一点。
3.4. Reconstruction Model
训练机制遵循与[4]中类似的策略,即无论输入(\(I\))是正常数据(\(x / \phi\))还是伪异常数据(\(P_{s}(x) / P_{t}(x)\)),网络都被强制仅重建正常输入,使用基于 3D - CNN(卷积神经网络)的自动编码器模型,该模型改编自[23]提出的卷积 - 反卷积网络(补充材料(supp.)中的表 6)。
我们训练了两个不同的自动编码器(AEs),目的是通过让它们接触空间和时间伪异常(PAs)来限制它们的重建能力。我们用\(A^{s}(A^{t})\)来表示空间(时间)自动编码器,其中\(A_{c}^{s}(A_{c}^{t})\)和\(A_{de}^{s}(A_{de}^{t})\)分别表示其编码器和解码器。\(A^{s}\)的重建输出由\(\hat{x}=A_{de}^{s} \circ A_{e}^{s}(x)\)给出,而\(A^{t}\)的重建输出通过\(\hat{\phi}=A_{de}^{t} \circ A_{e}^{t}(\phi)\)来计算。 为了训练\(A^{s}\)和\(A^{t}\),以概率\(p_{s}\)(或\(p_{t}\))将伪异常(\(P_{s}(x)\)或\(P_{t}(x)\))作为相应的输入,而以概率\((1 - p_{s})\)(或\((1 - p_{t})\))将正常数据作为输入。\(p_{s}\)(或\(p_{t}\))是一个超参数,用于控制伪异常与正常样本的比例。 总体而言,\(A^{s}\)和\(A^{t}\)的损失计算如下:
其中\(1 / \Pi\)是归一化因子,\(\Pi = T × C × H × W\),\(\|\cdot\|_{2}\)表示\(L_{2}\)范数,这里的\(T\)、\(C\)、\(H\)和\(W\)分别是输入序列\((\mathcal{I})\)中帧的数量、通道数量、高度以及宽度。
3.5. Estimating Semantic Inconsistency
虽然在现实世界的视频异常检测(VAD)中,衡量正常数据与异常数据之间的空间重建质量和时间不规则性至关重要,但学习并估计正常样本与异常样本(例如,拥挤场景中的异常物体)之间的语义不一致性(语义视觉模式和线索的错位程度)同样关键。 在实践中,为了在我们的方法中模拟这一思路,我们从ViFi - CLIP [64]模型(在Kinetics - 400 [35]数据集上预训练)中提取帧级的语义丰富的特征,并使用判别器\(D\)(补充材料中的表5)对正常数据样本\(x\)和空间伪异常\(P_{s}(x)\)进行二元分类,该判别器可被视为自动编码器(AEs)的一个辅助组件。直观来讲,伪异常(PAs)的潜在空间表示极有可能在语义上与正常场景不一致。
4. Experimental Setup
4.1. Implementation Details
a). 训练空间(\(A^{s}\))和时间(\(A^{t}\))自动编码器:我们严格遵循[4]中描述的训练过程来训练\(A^{s}\)和\(A^{t}\)。\(A^{s}\)和\(A^{t}\)的架构改编自[23],然而我们使用所有 3 个通道作为输入,而非依赖单通道图像。\(A^{s}\)和\(A^{t}\)分别在各自的数据集上从头开始训练,目标分别依据公式 4 和公式 5 定义,在 2 块 NVIDIA GeForce 2080 Ti GPU 上进行,有效批量大小\((B)\)为 24,在 GPU 间分配(各 12)。\(A^{s}\)和\(A^{t}\)的输入大小为\(1 (B×T×3×256×256)\),其中\(T = 16\)。空间和时间伪异常分别以概率\(p_{s}=0.4\)和\(p_{t}=0.5\)进行采样。\(A^{s}\)使用 Adam 优化器训练 25 个轮次,学习率为\(10^{-4}\)。训练期间,重建损失是在序列的所有 16 帧上计算的。\(A^{t}\)的训练遵循类似的程序,然而模型的输入是表示正常事件的光流,即\(\phi\) 。
b). 训练判别器(\(D\)) 在训练阶段,输入到\(D\)的数据批量大小为16,特征维度为512。该模型使用随机梯度下降(SGD)优化器进行训练,学习率为0.02,动量为0.9,权重衰减为\(10^{-3}\),训练轮次为20轮。正常样本和伪异常(PAs)样本的真实标签分别被标记为0和1。有关ViFi-CLIP [64]特征提取及其他详细信息,请参阅第8节(补充材料部分)。
完整的流程如图1所示。
图1. 我们方法的整体架构由时空伪异常(PAs)生成器组成。空间伪异常生成器(公式2):\(\mathcal{F}_{s}(stack(x,x\odot m, m) ; \theta)\),时间伪异常(公式3):\(\mathcal{F}_{t}(\phi(x_{t}, x_{(t + 1)}))\)。空间伪异常和时间伪异常分别以概率\(p_{s}\)和\(p_{t}\)进行采样。我们的视频异常检测(VAD)框架统一了对重建质量(公式4)、时间不规则性(公式5)以及语义不一致性的评估。
4.2. Inference
在推理阶段(补充材料中的图6),我们的目标是对给定数据集中测试视频的所有帧测量全部三种类型的异常指标,即重建质量、时间不规则性以及语义不一致性。因此,我们的异常分数应当从整体上综合这些方面,以便更深入地洞察视频中现实世界的异常情况。
为了衡量重建质量,我们参照了[12, 43, 58]近期的相关研究成果,这些成果利用在时刻\(t\)的测试输入帧与其通过空间自动编码器\(A^{s}\)重建得到的帧之间的归一化峰值信噪比\(P_{t}\)(PSNR)来计算异常分数\(\omega_{1}^{(t)}\)。在推理阶段,输入到\(A^{s}\)的数据采用滑动窗口的方式,其维度为\(1×16×3×256×256\),其中批量大小为\(1\),\(16\)表示帧的数量。在测试时,如同[4]中所述,仅考虑序列中的第\(9\)帧来计算异常分数。 为了衡量时间不规则性,我们采用了与针对帧类似的策略,但不是去测量峰值信噪比,而是计算在时刻\(t\)的输入测试光流\(\phi\)与其通过时间自动编码器\(A^{t}\)重建得到的光流之间的归一化\(L_{2}\)损失(用\(\omega_{2}^{(t)}\)表示)。 为了衡量语义不一致性,输入帧序列以滑动窗口的方式(窗口大小为\(16\))输入到判别器\(D\)中。我们根据时刻\(t\)的帧的ViFi - CLIP特征表示来计算该帧为异常的输出概率,并用\(\omega_{3}^{(t)}\)表示它。 所有这三个组成部分的异常分数总和由以下加权平均给出:
其中,\(\eta_1\)、\(\eta_2\)、\(\eta_3\)针对每个数据集进行调优。(更多详细信息请参阅补充材料中的第9节)
4.3. Results
图3. 定性评估:对“Avenue”(左侧)和“ShanghaiTech”(右侧)数据集中示例视频随时间变化的异常分数的可视化展示。
4.4. Ablation Studies
表3. 迁移性能:微平均曲线下面积(micro-AUC)分数。
图4. 示例视频的误差热图可视化展示。与LNTRA [4]中的其他伪异常(PAs)生成器方法进行对比。
表4. 当以\(p_{s}=0.4\)进行训练时,使用\(A^{s}\)的输出,随机掩码和分割掩码对微平均曲线下面积(micro-AUC)分数的影响。
5. Conclusions and Discussion
在本文中,我们提出了一种新颖且通用的时空伪异常(PAs)生成器,它对于视频异常检测(VAD)任务至关重要,且未引入强烈的归纳偏差。我们通过使用预训练的潜在扩散模型(LDM)修复帧中的掩码区域来对正常视频帧添加扰动,并通过应用类似 mixup 的增强方法扭曲光流(图 2)来实现这一点。我们还引入了一个统一的 VAD 框架,该框架在一次性学习(OCC)设置下学习三种类型的异常指标,即重建质量、时间不规则性和语义不一致性(图 1)。通过广泛评估,我们表明我们的框架在多个数据集上与具有预定义假设的其他最先进(SOTA)重建方法和伪异常生成器性能相当(表 1、2),这表明了我们的伪异常的有效性、泛化性和可转移性。
这项工作存在局限性。首先,由于可用计算资源有限,我们的模型并非以端到端的方式进行训练。通过学习一个策略网络来选择在重建质量差、时间不规则性和语义不一致性中哪个异常指标对检测现实世界异常的贡献更大,使此设置具有自适应性将是很有趣的研究方向。其次,通过潜在扩散模型或流形 mixup 为 VAD 生成潜在空间伪异常的概念仍有待研究。第三,在这项工作中使用微平均曲线下面积(micro AUC)分数进行评估,尽管该方法需要在其他指标(如基于区域、跟踪的检测标准)上进一步验证。这些局限性将在我们未来的工作中加以解决。