中文标题:自蒸馏掩蔽自动编码器是有效的视频异常检测器
文章信息:
发表于:CVPR 2024
原文链接:https://arxiv.org/abs/2306.12041
源代码:https://github.com/ristea/aed-mae
Abstract
我们提出了一种基于轻量级掩码自动编码器(AE)应用于视频帧级别的高效异常事件检测模型。我们提出的模型的新颖之处有三点。
首先,我们引入了一种基于运动梯度加权tokens的方法,从而将重点从静态背景场景转移到前景对象上。
其次,我们将教师解码器和学生解码器集成到我们的架构中,利用两个解码器输出之间的差异来改善异常检测。
第三,我们生成了合成的异常事件来增加训练视频,并要求掩码AE模型联合重构原始帧(无异常)和相应的像素级异常图。
我们的设计导致了一个高效而有效的模型,通过对四个基准进行了大量实验验证:Avenue、ShanghaiTech、UBnormal和UCSD Ped2。实证结果表明,我们的模型在速度和准确性之间取得了出色的平衡,获得了竞争性的AUC分数,同时处理1655帧每秒。因此,我们的模型比竞争方法快8到70倍。我们还进行了消融研究来证明我们的设计。
1. Introduction
近年来,关于视频中异常事件检测的研究引起了极大的关注[1, 10, 17, 18, 26–28, 36, 38, 43, 44, 49, 52, 57, 58, 61, 62, 65, 69, 76, 78, 80, 83, 87, 90, 95, 97–100],这是因为在视频监控中异常事件的重要性不言而喻。尽管越来越多的人对视频异常检测感兴趣,但视频异常检测仍然是一个复杂的任务,其复杂性在于异常情况是依赖于上下文的,而且并不经常发生。这使得很难以完全监督的方式收集到一组代表性的异常事件,用于训练最先进的深度学习模型。为了展示异常事件的罕见性和对上下文的依赖性,我们引用了恐怖分子对行人进行的车辆冲撞袭击。一旦车辆驶入人行道,就成为了异常事件。因此,车辆驶入的地点(街道还是人行道)决定了行为的正常或异常标签,即标签取决于上下文。此外,迄今为止注册的车辆冲撞袭击不到200起,证实了此类事件的稀缺性(甚至更少的事件被录像捕捉到了)。
由于在完全监督的设置下训练异常检测器是不可能的,大多数处理异常事件检测的研究采取了一种不同的路径,提出了各种异常值检测方法的变体[3, 13, 14, 17, 21, 22, 29, 37, 41, 43, 45, 47, 51, 53, 55, 56, 61–68, 71, 80, 90, 92, 102– 105]。这些方法将异常事件检测视为一种异常值检测任务,在推断过程中,将训练在正常事件上的正常模型应用于正常和异常事件,将偏离学习模型的事件标记为异常。与基于异常值检测的主流路径不同,我们提出了一种方法,在训练视频场景中通过随机叠加来自合成UBnormal数据集[1]的时间动作片段,在我们的真实数据集上生成合成异常。因此,我们在训练时引入了合成异常,使我们的模型能够以开放式监督的方式学习。此外,我们强制模型重构原始训练帧(无异常),以限制其重构异常的能力,从而在异常发生时产生更高的错误。
视频异常检测的大量研究集中在利用自动编码器(AEs)来解决这一任务上[5, 22, 27–29, 36, 49, 81, 85],依赖于这些模型在分布外数据上的差劲重构能力。由于训练仅针对正常示例进行,当异常发生时,预计AEs将表现出较高的重构误差。然而,一些研究人员观察到AEs具有过于广泛的泛化能力[5, 36],能够以非常高的精度重构异常。因此,为了更好地利用AEs的重构误差进行异常检测,研究人员探索了一些替代方案,从使用虚拟[36]或伪异常[5, 27]到集成记忆模块[28, 49, 61]。考虑到相同的目的,我们提出在异常检测中采用掩码自动编码器[30],引入新的方式来调节其泛化能力。事实上,我们不仅仅采用了标准的掩码AE框架,还提出了三个新的改变,以增强我们模型的异常检测性能。首先,我们建议基于运动梯度的大小加权tokens,提高具有较高运动的tokens在重构损失中的重要性。这使得我们的模型专注于重构具有高运动的tokens,并避免重构背景场景,对于监控摄像头来说,背景场景通常是静态的。其次,我们附加一个分类头,以区分潜在编码空间中的正常和伪异常实例。第三,我们将教师解码器和学生解码器集成到我们的掩码AE架构中,其中学生解码器学会从已经优化的教师中提取知识。为了减少处理时间,我们为教师和学生模型使用共享编码器,导致一种称为自我蒸馏的过程[101]。在自我蒸馏过程中,共享编码器被冻结。我们利用教师和学生解码器输出之间的差异以及教师的重构误差来提高异常检测性能。我们将所有这些组件整合到一个细致设计中的整个框架如图1所示。
图1. 基于自我蒸馏的异常事件检测的掩码自动编码器。在训练时,一些视频帧使用合成异常进行增强。教师解码器学习重构原始帧(无异常)并预测异常地图。学生解码器学习复现教师的输出。运动梯度在tokens级别进行聚合,并用作重构损失的权重。红色虚线代表仅在训练期间执行的步骤。
目前最先进的深度异常检测器[10, 26, 27, 84]通常依赖于昂贵的对象检测方法来提高精度,将处理带宽限制在每个GPU处理一条视频流,大约为20-30 FPS。然而,对于实际的视频监控,例如监控整个城市,拥有数百或数千个摄像头,以对象为中心的视频异常检测器的处理成本过高,考虑到它们的功耗和一个GPU可能约2000美元的成本。为此,我们将注意力转向开发一个轻量级模型(6个Transformer块,300万参数),能够以每秒25帧的速度处理大约66条视频流,显着降低了处理成本。与在对象[10, 18, 26, 27, 36, 84, 95]或时空立方体[15, 21, 35, 37, 41, 48, 51, 53, 55, 60, 71, 75, 103]级别执行异常检测的竞争模型不同,我们提出了一个以整个视频帧作为输入的模型,这是更高效的(见图2)。
图2. 我们的自我蒸馏掩码AE与几种最先进的方法[26–28, 47, 49, 60, 61, 69, 84](具有开源代码)在Avenue数据集上的性能与速度权衡。所有方法的运行时间均在配备一台Nvidia GeForce GTX 3090 GPU,具有24 GB VRAM的计算机上测量。最佳观看色彩。
我们对四个基准数据集进行了全面的实验:Avenue [51]、ShanghaiTech [53]、UBnormal [1] 和 UCSD Ped2 [55]。实证结果表明,我们的方法比竞争方法[26–28, 47, 49, 60, 61, 69, 84] 快8到70倍,同时达到可比较的准确性水平。除了主要结果外,我们进行了消融研究,显示我们的新颖设计选择得到了实证证据的支持。
总之,我们的贡献有三个方面:
- 我们提出了一种轻量级的掩码自动编码器用于视频异常检测,它学习重构具有更高运动幅度的tokens。
- 我们引入了一种自我蒸馏训练流程,利用教师和学生解码器之间的差异来为我们高效的模型(由于共享编码器)获得显著的准确度提升。
- 为了进一步提升我们模型的性能,我们引入了一种基于将合成异常叠加到正常训练视频上的数据增强方法,这使得掩码自动编码器模型能够以开放式监督进行学习。
2. Related Work
视频中的异常检测通常被制定为一种单类学习问题,在训练时只有正常数据可用。在测试时,会同时出现正常和异常示例[59, 65]。异常检测方法有几种类别,包括字典学习方法[13, 14, 21, 51, 68, 89]、概率模型[2, 3, 25, 31, 41, 55, 56, 73, 91]、变化检测框架[15, 35, 48, 58]、基于距离的模型[36, 37, 62, 63, 67, 71, 72, 75, 76, 79, 81]和基于重构的方法[23, 28, 29, 46, 47, 53, 57, 61, 66, 69, 80]。考虑到基于重构的方法通常在异常检测中达到最先进的性能[27, 69],在过去几年中有大量的工作采用了基于重构的范式。因此,我们在本研究中采用了这种范式。
就异常检测的级别而言,方法可以分为时空立方体级别的方法[37, 47, 48, 51, 55, 56, 66, 67, 71, 75, 76, 96, 103]、帧级别的方法[47, 66, 67]和对象级别的方法[10, 18, 19, 26, 27, 36, 49, 84, 95]。
Frame-level and cube-level methods.在深度学习时代之前,初步的异常事件检测模型通常依赖于获取短视频序列并将其划分为时空立方体[15, 21, 41, 51, 55, 75, 103]。然后,这些立方体被视为独立的示例,作为输入传递给机器学习模型。这种主流做法在深度学习时期继续存在[29, 35, 37, 43, 44, 53, 60, 62, 63, 71, 76, 100],当时深度网络被用于提取特征[35, 37, 48, 53]或从这些时空立方体中学习[28, 29, 43, 44, 53, 60, 62–64, 71, 89, 100]。
同时,一些研究考虑将整个视频帧作为输入[47, 66, 67]。例如,Liu等人提出了一种有效的算法,该算法学习重构短视频序列的下一帧[47]。Ravanbakhsh等人提出了一种更复杂的方法,他们使用光流重构来预测输入图像中的异常区域[67]。在另一项研究中,Ravanbakhsh等人通过生成对抗网络提出了在帧级别上检测异常的方法[66]。
帧级别和立方体级别的方法具有一个共同的特点,即它们相对较高的处理速度,这是由于相对较快的预处理步骤,与以对象为中心的方法相反。然而,从时间上看,帧级别的方法具有更强的优势,因为立方体级别的方法需要将每个立方体视为独立的示例进行处理。事实上,处理一小批帧比处理几个小批次的时空立方体更为高效。然而,立方体级别的方法通常优于帧级别的方法。因此,我们提出了一个掩码自动编码器,它将整个帧作为输入,但学习视频补丁之间的交互,从而融合了两种方法的优势。
为了提升帧级别或立方体级别方法的性能,研究人员探索了包括记忆模块[28, 61]或掩码卷积块[69]等各种组件的引入。尽管将额外的模块集成到框架中会带来准确性的提升,但该过程通常伴随着效率上的缺陷。相比之下,我们的目标是在性能和速度之间实现卓越的平衡,更加注重效率。因此,我们设计了一个基于卷积视觉变换器(CvT)块[88]的轻量级掩码自动编码器,并提出了几项升级,使其时间开销最小化。例如,我们利用知识蒸馏来利用教师和学生模型之间的差异。然而,为了将处理时间保持到最低限度,我们采用了自我蒸馏[101],并为教师和学生网络使用共享编码器。
Object-level methods.
为了减少其他方法经常出现的误报检测数量,一些最近的研究[10, 26, 27, 36, 49, 84, 95]提出了寻找异常对象而不是异常帧或立方体。以对象为中心的方法利用来自对象检测器的先验信息,使异常检测器只关注对象。这种框架显著提高了准确性,目前达到了最先进的性能[10, 84]。然而,一个相当大的缺点是整个框架的推理速度直接受制于对象检测器的速度,而对象检测器的速度通常远低于异常检测网络的速度[26, 36]。因此,处理时间受到了显著限制。相比之下,我们在帧级别进行异常检测,获得了比以对象为中心模型[10, 26, 27, 36, 49, 84, 95]快32到70倍的推理速度。
Masked auto-encoders in anomaly detection.He等人[30]提出了掩码自动编码器作为一种预训练方法,以获得用于下游任务的强大骨干。自那时起,该方法已被应用于各个领域,例如视频处理[24]或多模态学习[7],取得了显著的结果。我们在补充材料中详细阐述了与看似相关的掩码自动编码器之间的联系[11, 94]。掩码框架还被用于医学[34]和工业[39]图像的异常检测。据我们所知,我们是首次提出基于掩码变换器的自动编码器用于视频异常检测。此外,我们不仅仅是应用标准的掩码自动编码器,还提出了几种修改,以实现更高水平的性能:强调具有更高运动的tokens,使用合成异常增强训练视频,并采用自我蒸馏。
Knowledge distillation in anomaly detection.知识蒸馏[6, 32]最初设计用于将一个或多个大型模型(教师)压缩成较轻的神经网络(学生)。最近在异常检测中被采用[8, 12, 16, 26, 74, 86],知识蒸馏被认为是有用的,因为可以利用教师和学生网络之间的表示差异,而在异常情况下这种差异更大。例如,Bergmann等人[8]在正常数据上训练了一个学生网络的集合,以重现在ImageNet[70]上预训练的深度特征提取器的输出。作者使用教师标签与学生标签的平均值之间的差异来检测异常像素。Salehi等人[74]采用了更彻底的蒸馏过程,称为暗示学习,在这个过程中,ImageNet上预训练的教师的多级特征被蒸馏到一个克隆中。
大多数基于知识蒸馏的研究应用该框架于图像异常检测[8, 12, 16, 74]。除了少数例外[26, 86],知识蒸馏在视频异常检测中仍然很少被探索。Wang等人[86]采用了教师-学生训练范式以自监督的方式从未标记的视频样本中学习。Georgescu等人[26]将知识蒸馏作为一项代理任务集成到了视频异常检测的多任务学习框架中。
据我们所知,与前述研究不同,我们是第一个在异常检测中引入自我蒸馏变体的研究。自我蒸馏[101]将多个分类头附加到不同深度,以提升神经分类器的分类性能。相反地,我们将自我蒸馏集成到了一个掩码自动编码器中,利用了两个深度不同的解码器。由于共享编码器,我们能够利用教师和学生之间的重构差异,同时带来最小的计算开销。
3. Method
Overview.我们引入了一种轻量级的基于Transformer的师生模式的掩码自动编码器,它采用了两阶段的训练流程。在第一阶段,我们通过一个基于运动梯度的新型加权机制的重构损失优化师生模式的掩码自动编码器。在第二阶段,我们优化了一个学生模式的掩码自动编码器的最后(也是唯一的)解码器块,该解码器块与其师生模式共享大部分骨干(保持冻结),以保持效率。接下来,我们描述了如何创建带有合成异常的训练视频,并训练掩码自动编码器共同预测异常地图并忽略(不重构)训练帧中的异常。最后,我们引入了一个分类头来区分带有合成异常和不带合成异常的帧,进一步提升了我们方法的性能,计算开销极小。
Architecture.我们的掩码自动编码器遵循了[30]中提出的架构原则。因此,整个架构由视觉变换器块组成。与He等人[30]不同,我们将ViT[20]块替换为CvT块[88],以提高效率。我们的处理从将输入图像分割成非重叠的tokens开始,并删除一定数量的tokens。编码器通过卷积投影层将剩余的tokens嵌入,然后通过变换器块进行处理。解码器在完整的tokens集上运行,被删除的tokens被替换为掩码tokens。其架构对称于编码器的架构。出于效率考虑,我们只使用三个块作为编码器和三个块作为解码器。每个块都配备了四个注意力头。为了实现进一步的速度提升,我们将CvT块内部的所有稠密层替换为点卷积。到目前为止,我们考虑描述的架构作为教师网络。学生解码器从主解码器的第一个变换器块中分支出来,只添加了一个额外的变换器块(如图1所示)。
Motion gradient weighting.掩码自动编码器(Masked AEs)[30]最初应用于自然图像。在这种情况下,重建随机掩码tokens是一个可行的解决方案,因为图像具有较高的前景和背景变化。然而,异常事件检测数据集[2, 51, 53, 55]包含来自固定摄像机的视频,其背景静态不变[65]。通过掩码自动编码器学习重建静态背景既微不足道又无用。因此,在视频异常检测中,简单地训练掩码自动编码器来重建随机掩码tokens是不够优化的。为此,我们建议在计算重建损失时考虑运动梯度的大小。
设 x t ∈ R h × w × c \pmb{x}_t ∈ R^{h×w×c} xt∈Rh×w×c为索引为t的视频帧。设n为每个帧 x t \pmb{x}_t xt中大小为 d × d × c d×d×c d×d×c的非重叠视觉tokens(patch)的数量,其中 c c c是输入通道的数量, d d d是一个直接决定 n n n的超参数。设 { p i ( t ) } i = 1 n ∈ R d × d × c \{\pmb{p}^{(t)}_i\}^n_{i=1} \in \mathbb{R}^{d×d×c} {pi(t)}i=1n∈Rd×d×c表示帧 x t x_t xt中的tokens集合, { p ^ i ( t ) } i = 1 n ∈ R d × d × c \{\pmb{\hat{p}}^{(t)}_i\}^n_{i=1} \in \mathbb{R}^{d×d×c} {p^i(t)}i=1n∈Rd×d×c表示相应的重建tokens集合。
在Ionescu等人的研究[36]中,我们通过计算连续帧之间的绝对差异来估计帧
x
t
\pmb{x}_t
xt的运动梯度图
g
t
\pmb{g}_t
gt,这些帧之前经过3×3中值滤波器的过滤。接下来,我们将梯度幅度图
g
t
\pmb{g}_t
gt分成非重叠的块,获得梯度块集合
{
r
i
(
t
)
}
i
=
1
n
∈
R
d
×
d
×
c
\{\pmb{r}^{(t)}_i\}^n_{i=1} \in \mathbb{R}^{d×d×c}
{ri(t)}i=1n∈Rd×d×c。在每个梯度块内,我们计算每个通道的最大梯度幅度。然后,我们计算最大梯度幅度的通道均值,如下所示:
最后,我们按如下方式计算重构损失的tokens权重:
将得到的权重
w
i
(
t
)
w^{(t)}_i
wi(t)引入传统的令牌级重构损失,导致一个目标,推动掩码AE集中于重建具有高运动幅度的补丁。形式上,我们的加权均方误差损失如下所示:
其中,
θ
T
θ_T
θT是我们教师掩码自动编码器的权重。尽管我们的重构损失侧重于具有高运动的tokens,但掩码tokens仍然是随机选择的。
Self-distillation.知识蒸馏已经在异常检测中显示出其实用性[8, 12, 16, 26, 74]。直觉上,由于教师和学生模型都是在正常数据上训练的,它们对正常测试样本的重建应该非常相似。然而,在异常样本上它们的行为不一定相似。因此,教师-学生输出差距(差异)的大小可以作为量化给定样本异常程度的手段。不幸的是,这种方法意味着在推断过程中同时使用教师和学生模型,实际上将我们的处理速度减半。为了减轻在推断过程中使用另一个模型的额外负担,我们提出使用共享编码器和两个解码器(教师和学生)的一种新型自我蒸馏变体。更确切地说,学生模型在第一个教师解码器的变换器块之后从原始架构中分支出来,基本上只添加了一个变换器块。
我们的训练过程分为两个阶段。在第一阶段中,教师模型使用公式(3)中定义的损失进行训练。在第二阶段中,我们冻结共享骨干的权重,并仅通过自我蒸馏训练学生解码器。自我蒸馏损失类似于公式(3)中定义的损失。主要区别在于,学生模型学习重构由教师模型产生的补丁,而不是从真实图像中重构补丁。设
{
p
~
i
(
t
)
}
i
=
1
n
∈
R
d
×
d
×
c
\{\pmb{\tilde{p}}^{(t)}_i\}^n_{i=1} \in \mathbb{R}^{d×d×c}
{p~i(t)}i=1n∈Rd×d×c表示学生重构的补丁。然后,自我蒸馏损失可以表示如下:
其中,
x
^
t
\pmb{\hat{x}}_t
x^t是教师重建的帧,
θ
S
θ_S
θS是学生解码器的权重。请注意,在自我蒸馏过程中我们保留了运动梯度权重
w
i
(
t
)
w^{(t)}_i
wi(t)。
Synthetic anomalies.正如其他研究所观察到的[5, 36],自动编码器(AEs)往往对超出分布范围的数据泛化能力过强。这种行为在异常检测中是不期望的,因为基于AE的方法依赖于对异常示例具有高重建误差,并且对正常示例具有低重建误差。为此,我们建议使用异常事件增强训练视频。由于无法从现实世界中收集到异常的训练示例,我们采用添加合成(虚拟)异常的方法。我们利用最近介绍的UBnormal数据集[1]及其精确的像素级注释,从中裁剪出异常事件,并将它们混合到我们的训练视频中,同时确保所添加的事件具有时间上的一致性。生成的示例,其中一些如图3所示,用于用额外的数据增强训练集。
合成示例在三个方面帮助了我们的模型。首先,在重建损失中,我们将原始的训练帧(没有叠加异常的版本)视为基准,从本质上迫使我们的模型忽略异常。在公式(3)中,我们使用正常版本的帧
x
t
\pmb{x}_t
xt中的tokens
{
p
i
(
t
)
}
i
=
1
n
\{\pmb{p}^{(t)}_i\}^n_{i=1}
{pi(t)}i=1n作为补丁。其次,我们将异常图作为目标图像的附加通道。在异常图中,我们将正常像素设置为0,异常像素设置为1。这一变化意味着,在公式(3)和(4)中,所有的补丁都将有一个额外的通道。第三,我们使用地面实况异常图来增强公式(2)中定义的权重。添加的合成异常不一定会产生具有高幅度的运动梯度。因此,可能会导致公式(3)和(4)中对应于异常区域的补丁具有较低的权重。如果我们希望模型检测异常,这是不可取的。为此,在计算权重之前,我们建议将异常图和梯度加在一起,如公式(2)中所示。在公式(1)中,我们用
{
r
i
(
t
)
+
a
i
(
t
)
}
i
=
1
n
\{\pmb{r}^{(t)}_i+\pmb{a}^{(t)}_i\}^n_{i=1}
{ri(t)+ai(t)}i=1n替换
{
r
i
(
t
)
}
i
=
1
n
\{\pmb{r}^{(t)}_i\}^n_{i=1}
{ri(t)}i=1n,其中
{
a
i
(
t
)
}
i
=
1
n
\{\pmb{a}^{(t)}_i\}^n_{i=1}
{ai(t)}i=1n是从异常图中提取的补丁集合。
Classification head.我们进一步利用合成异常来训练应用于共享编码器的最终[CLS]tokens的分类头部。该头部被训练以区分具有和没有合成异常的帧。该头部使用二元交叉熵进行训练:
其中,
y
t
∈
0
,
1
y_t ∈ {0, 1}
yt∈0,1表示如果帧包含异常则为1,否则为0,
y
^
t
\hat{y}_t
y^t是预测值,
θ
E
θ_E
θE表示共享编码器的权重集合。
Inference.在推断过程中,我们将每个帧
x
t
\pmb{x}_t
xt分别通过教师模型和学生模型,以获取重建帧
x
^
t
\pmb{\hat{x}}_t
x^t和
x
~
t
\pmb{\tilde{x}}_t
x~t。然后,我们计算输出的像素级异常图如下:
其中,
α
α
α、
β
β
β和
γ
γ
γ是控制各个异常评分组成部分重要性的超参数。遵循[15, 35],我们应用时空3D滤波器来平滑异常体积。为了获得帧级别的异常评分,我们保留每个输出图
o
t
\pmb{o}_t
ot中的最大值,随后对这些值应用另一个时间高斯滤波器来平滑数值。
4. Experiments
4.1. Experimental Setup
Data sets.我们在四个视频异常检测数据集上验证了我们方法的性能:Avenue [51],ShanghaiTech [53],UBnormal [1]和UCSD Ped2 [55]。ShanghaiTech是最大的数据集,包含约270K帧用于训练和约50K帧用于测试。UBnormal是第二大的数据集,包含约116K训练帧和93K测试帧。Avenue是一个流行的基准数据集,包含15K帧用于训练和另外15K帧用于测试。UCSD Ped2总共包含4.5K帧,其中2.5K用于训练。UBnormal是一个使用开放集评估的基准数据集,其中训练和测试异常属于不相交的类别集。对于其他三个数据集,训练视频仅包含正常事件,而测试视频包括正常和异常情况。为了增强正常训练视频,我们从UBnormal数据集[1]中抽样异常事件。UBnormal是一个合成(虚拟)数据集,其中包含由视频游戏角色模拟的异常,这减轻了从现实世界收集异常的负担。从Avenue、ShanghaiTech或UCSD Ped2抽样帧进行增强的概率为0.25。
Evaluation.我们评估所有模型,遵循最近相关的研究[1, 27, 69],考虑到微观和宏观AUC指标。ROC曲线下的面积(AUC)表示了模型预测的异常分数与真实帧级注释之间的重叠,在多个阈值下。在给定阈值下,如果预测的异常分数高于阈值,则将帧标记为异常。对于微观AUC,所有视频的测试帧在计算所有帧的AUC之前被连接起来。对于宏观AUC,首先计算每个测试视频的AUC,然后将得到的AUC分数平均以获得一个单一值。
Hyperparameters.编码器模块由三个CvT块组成,每个块的投影大小为256,具有四个注意力头。教师解码器包含三个CvT块,而学生解码器仅包含一个块。所有解码器块都有四个注意力头和128的投影维度。由于数据集具有不同的输入分辨率,并且对象的大小各不相同,我们根据每个数据集调整补丁大小。因此,我们在Avenue上将补丁大小设置为16×16,在ShanghaiTech和UBnormal上为8×8,在UCSD Ped2上为4×4。无论数据集如何,教师网络训练100个时期,而学生网络训练40个时期。我们使用Adam[42]对网络进行优化,使用学习率为 1 0 − 4 10^{-4} 10−4和100个样本的小批量。对于所有数据集,Eq.(6)中的超参数设置为 α α α = 0.4, β β β = 0.3和 γ γ γ = 0.3。
4.2. Results
文章来源:https://www.toymoban.com/news/detail-844080.html
5. Conclusion
在这项工作中,我们提出了一种轻量级的掩码自编码器(3M参数,0.8 GFLOPs),用于视频异常检测,它学习重构具有高运动梯度的tokens。我们的框架基于自蒸馏,利用教师和学生解码器之间的差异进行异常检测。此外,我们通过引入一种基于重叠合成异常的数据增强技术来提升模型的性能。我们的高效框架达到了前所未有的1655 FPS的速度,在性能上与最先进的以对象为中心的方法之间只有微小的差距。文章来源地址https://www.toymoban.com/news/detail-844080.html
到了这里,关于【视频异常检测】Self-Distilled Masked Auto-Encoders are Efficient Video Anomaly Detectors论文阅读的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!