标题:MGFN:用于弱监督视频异常检测的幅度对比浏览-聚焦网络
原文链接:MGFN : Magnitude-Contrastive Glance-and-Focus Network for Weakly-Supervised Video Anomaly Detection
源码链接:https://github.com/carolchenyx/MGFN.
发表:AAAI-2023
目录
Abstract
在监控视频中进行弱监督的异常检测是一项具有挑战性的任务。超越现有工作中在长视频中定位异常能力不足的问题,我们提出了一种新颖的浏览-聚焦网络,以有效地整合时空信息来实现精确的异常检测。此外,我们通过实证发现,现有的使用特征幅度来表示异常程度的方法通常忽略了场景变化的影响,因此由于不同场景间特征幅度的一致性问题而导致性能不佳。为了解决这个问题,我们提出了特征放大机制和幅度对比损失,以增强特征幅度对异常检测的区分性。在两个大规模基准数据集UCF-Crime和XD-Violence上的实验结果表明,我们的方法优于最先进的方法。
Introduction
监控视频中的异常检测是一个重要的研究课题(Chalapathy和Chawla 2019; Guansong等 2021)。诸如事故、斗殴、纵火和抢劫等异常事件可能会造成社会危害,甚至威胁到人类的生命安全(Gopalakrishnan 2012)。
不幸的是,在长视频中识别和定位异常是非常具有挑战性的(Antić和Ommer 2011;Hasan等 2016;Kratz和Nishino 2009;Zhao, Li和Xing 2011)。首先,“异常”是相对于“正常”定义的一个相对术语。因此,如图1所示,在没有必要的“正常”知识的情况下,仅基于单帧或少数邻近帧来预测异常是不合理的。此外,“异常”包括上述各种事件,因此构建一个能够统一表示所有不同事件的模型是很有挑战性的。除此之外,准备帧级标注既繁琐又耗时。因此,在视频级别的弱监督下进行网络训练更为可行。
图1:长期时间上下文信息在基于监控视频的异常检测中发挥着重要作用。在坐标系𝑡中似乎什么都没有发生,但考虑到其他坐标系,可以很容易地得出相反的结论。
为了缓解上述挑战,现有方法大致可以分为两类。一类通过构建时空架构来学习检测异常(Feng, Hong, 和 Zheng 2021; Zhu 和 Newsam 2019; Tian 等 2021; Wu 等 2020; Wu 和 Liu 2021)。虽然这类模型在短视频上表现良好,但它们通常难以处理异常帧只占一小部分的长视频,因为缺乏全局上下文意识以及对异常帧的具体关注。
第二类方法通过设计损失函数来区分异常与正常(Tian 等 2021; Zaheer 等 2020年6月; Feng, Hong, 和 Zheng 2021; Zaheer 等 2020)。例如,最近的工作(Tian 等 2021)提出了一种鲁棒的时间特征幅度(RTFM)损失,以推动异常特征幅度变大而正常特征幅度朝相反方向变化。在同一视频序列或类似场景内,异常特征确实可能比正常特征获得更大的幅度。然而,我们实证发现除了异常之外,特征幅度还取决于视频的其他属性,比如物体移动、场景中物体和人的数量等。如图2(a)所示,含有大量物体运动的正常视频(下方)其特征幅度甚至大于异常视频(上方)。
图2:(a)考虑RTFM损失(Tian et al. 2021),由于场景属性的不同,正常特征震级可能大于异常特征震级。(b)我们的MC损失可以产生与异常更一致的特征震级。©基于100个随机样本,我们的MC loss实现了正常和异常特征更好的可分性。
因此,简单地使用RTFM损失(Tian 等 2021)鼓励异常特征更大而正常特征更小是不合理的,因为这个目标不符合跨视频固有的幅度分布特性,从而损害了网络训练。我们进一步发现,即使在相同的视频序列中,如图2(b)所示,一些正常特征(红色边界框外的绿色点)在(Tian 等 2021)中学得的幅度与异常特征(红色边界框内的绿色点)相似甚至更大。另外,不满意的特征可分性(图2©)表明RTFM(Tian 等 2021)不能有效地分离正常和异常特征。
为了解决上述问题,我们提出了用于异常检测的幅度对比浏览-聚焦网络(MGFN)。受到人类视觉系统从全局到局部信息整合机制的启发,MGFN首先浏览整个视频序列以捕捉长期上下文信息,然后针对每个特定部分进行异常检测。不同于现有的简单融合时空特征的方法,我们的策略帮助网络首先获得场景概览,然后基于全局知识作为先验检测适应于场景的异常。据我们所知,这是首次探索浏览-聚焦机制用于视频异常检测的工作。
此外,我们提出了一种简单却有效的特征放大机制(FAM),以增强特征幅度对于异常检测的区分性。更重要的是,与仅仅将正常和异常特征推向相反方向而不考虑不同场景属性的RTFM损失(Tian 等 2021)不同,我们提出了一种幅度对比(MC)损失来学习适应于场景的跨视频幅度分布。它鼓励同类视频之间的特征幅度相似性和正常与异常视频之间特征幅度的可分性。我们的MC损失提高了特征幅度与异常之间的一致性(图2(b)),从而有利于正常与异常特征的可分性(图2©)。
总结来说,我们的贡献包括:
• 据我们所知,我们首次提出了一种幅度对比浏览-聚焦网络(MGFN),模仿人类视觉系统的从全局到局部的信息整合机制,即先浏览视频再聚焦于局部部分进行视频异常检测。
• 我们设计了特征放大机制(FAM)来增强特征学习,并提出了一种幅度对比损失以鼓励正常与异常特征之间的可分性。
• 我们提出的MGFN在两个大规模数据集UCF-crime(Sultani, Chen, 和 Shah 2018)和XD-violence(Wu 等 2020)上分别达到了86.98%(AUC)和80.11%(AP),显著优于当前最先进水平。代码可在 https://github.com/carolchenyx/MGFN.git 获取。
Related Work
Video Anomaly Detection (Tasks)
由于监控视频中的训练数据量巨大,为每一帧视频进行标注是非常耗费人力和时间的。因此,研究人员倾向于关注单类(one-class)学习设置(Zaheer等 2022),在没有任何标注的情况下学习异常检测,以及只有视频级别标注可用的弱监督设置。
在单类学习中,Luo等人设计了一个ConvLSTM网络来学习正常片段(Luo, Liu, 和 Gao 2017)。Zhao等人、Ionescu等人和Chang等人采用了自编码器(AE)网络来重构正常帧的特征(Zhao等 2017; Ionescu等 2018; Chang等 2022)。其他工作利用记忆机制来记忆正常模式(Gong等 2019; Park, Noh, 和 Ham 2020; Liu等 2021; R.等 2021),并使用元学习(Lu等 2020)来增强模型对未见过的正常场景的泛化能力。
在弱监督学习中,早期的工作(Sultani, Chen, 和 Shah 2018)使用多实例学习来定位视频中的异常片段。最近,Zhong等人采用图卷积网络来学习异常事件(Zhong等 2019)。然而,这种模型的泛化能力远不能令人满意。为了解决这个问题,Ramachandra等人构建了Siamese网络来学习正常的特征模拟。随后,Wan等人和Zaheer等人提出了基于聚类的框架来区分异常事件(Wan等 2020; Zaheer等 2020)。许多近期的研究提出了一些网络架构来学习时空特征集合(Wu等 2021; Feng, Hong, 和 Zheng 2021; Tian等 2021; Wu和Liu 2021; Li, Liu, 和 Jiao 2022; Zhang, Qing, 和 Miao 2019)。在这项工作中,我们专注于弱监督的异常检测,因为它在标注负担和检测性能之间取得了良好的平衡。
Vision Transformer (Approaches)
变换器最初被应用于自然语言处理(NLP)领域,例如机器翻译(Vaswani等 2017)和平文压缩(Brown等 2020)。它们在NLP相关任务上取得了显著改进,并已被证明具有强大的特征表示能力(Han等 2020)。
受到NLP成就的启发,变换器架构最近被用于计算机视觉任务,包括图像分类(Dosovitskiy等 2020)、图像处理(Chen等 2021)、目标检测(Carion等 2020)、语义分割(Strudel等 2021)、动作分类(Girdhar等 2019)以及视频处理(Bertasius, Wang, 和 Torresani 2021)。
与图像相比,视频数据增加了一个时间维度。最近,许多研究者探索了基于变换器的架构来学习视频处理任务中的空间和时间依赖性。Fayyaz等人和Chi等人使用变换器来提高视频识别性能(Fayyaz和Gall 2020; Chi, Wei, 和 Hu 2020)。Yin等人构建了一个时空变换器来捕捉视频目标检测的空间和时间信息(Yin等 2020)。对于未经剪辑的视频,Seong等人提出了一个多任务变换器网络以减少特征冗余,并学习不同维度之间的关系(Seong, Hyun, 和 Kim 2019)。受到变换器能力的启发,在本文中,我们提出了基于变换器的模块来全局浏览整个视频,然后将注意力转向每个视频部分,模仿人类从全局到局部的视觉系统来进行异常检测。
Our Approach
图3:我们的MGFN网络架构概述.该框架接受V个视频作为输入。经过 (a) 特征提取器后,(b) 特征放大机制 (FAM) 计算特征幅度,并将其显式地作为残差合并。随后,© 浏览块 (GB) 和 (d) 聚焦块 (FB) 分别提取全局上下文信息并增强局部特征。(e) 幅度对比 (MC) 损失通过缩小同类特征幅度距离和利用前k个正常与异常特征幅度来扩大类别间差异,从而鼓励正常与异常特征之间的可分性。
Overview
我们的框架架构如图3所示。首先,特征提取器接收带有视频级别标注的未经剪辑的视频 V V V 作为输入(见图3(a)),其中 V i ∈ R N i × H × W × 3 V_i \in \mathbb{R}^{N_i \times H \times W \times 3} Vi∈RNi×H×W×3, N i N_i Ni, H H H, W W W分别表示 V i V_i Vi 的帧数、高度和宽度。然后我们将每个视频序列均匀分割成 T T T 个片段,并将来自特征提取器的特征图记作 F = { f i , t ∣ i ∈ [ 1 , B ] , t ∈ [ 1 , T ] } ∈ R B × T × P × C F = \{ f_{i,t} | i \in [1, B], t \in [1, T] \} \in \mathbb{R}^{B \times T \times P \times C} F={fi,t∣i∈[1,B],t∈[1,T]}∈RB×T×P×C,其中 P P P 是每个视频片段中的裁剪数量(Sultani, Chen, 和 Shah 2018),而 C C C是特征维度。 f i , t ∈ R P × C f_{i,t} \in \mathbb{R}^{P \times C} fi,t∈RP×C 表示 V i V_i Vi 中第 t t t 个视频片段的特征。
以特征图 F F F 为输入,特征放大机制 (FAM)(图3(b))显式计算特征范数 M M M 来增强 F F F。随后,浏览块 (GB) 和聚焦块 (FB)(图3(c,d))分别基于视频片段级别的变换器 (VCT) 和自注意力卷积 (SAC) 整合全局和局部特征。与简单地最大化异常特征 f a f_a fa的幅度并最小化正常特征 f n f_n fn的幅度(如 Tian 等 2021 所做)不同,我们设计了一种幅度对比 (MC) 损失(图3(e))来最大化正常特征幅度与异常特征幅度之间的可分性。接下来,我们将详细说明MGFN的每个组件以及网络训练中的损失函数。
Feature Amplification Mechanism (FAM)
如图3(b)所示,FAM首先通过公式(1)显式计算
f
i
,
t
f_{i,t}
fi,t 的特征范数
M
i
,
t
M_{i,t}
Mi,t:
其中 c 表示特征维度索引。
之后,FAM通过添加一维卷积调节的特征范数
Conv1D
(
M
i
,
t
)
\text{Conv1D}(M_{i,t})
Conv1D(Mi,t) 到
f
i
,
t
f_{i,t}
fi,t 作为残差来导出增强特征
F
FAM
=
{
f
i
,
t
FAM
}
F_{\text{FAM}} = \{ f_{i,t}^{\text{FAM}} \}
FFAM={fi,tFAM},如公式(2)所示:
其中 α \alpha α 是一个超参数,用于控制范数项的影响,而Conv1D是一个单层的一维卷积网络,用于调节每个维度的特征范数。
在不影响特征图维度的情况下,FAM通过显式地将统一的异常表示——特征范数纳入网络中,从而放大了特征图,这有利于后面讨论的幅度对比损失。
Glance Block
浏览块的架构如图4(a)所示。为了减少计算负担,我们首先使用卷积将
F
FAM
F_{\text{FAM}}
FFAM 的特征图维度从
C
C
C 减少到
C
/
32
C/32
C/32。经过快捷卷积 (SCC) 后输出特征图
F
scc GB
∈
R
B
×
T
×
P
×
C
/
32
F_{\text{scc GB}} \in \mathbb{R}^{B \times T \times P \times C/32}
Fscc GB∈RB×T×P×C/32 ,我们构建了一个视频片段级别的变换器 (VCT) 来学习片段间的全局关联。具体来说,我们建立了一个注意图
A
∈
R
1
×
T
×
T
×
P
A \in \mathbb{R}^{1 \times T \times T \times P}
A∈R1×T×T×P 来明确关联不同的时间片段。
其中
t
1
,
t
2
∈
[
1
,
T
]
t1, t2 \in [1, T]
t1,t2∈[1,T],
Q
Q
Q,
K
K
K 是变换器的一维“查询”和“键”卷积。
接下来,我们使用softmax归一化生成
a
∈
R
1
×
T
×
T
×
P
a \in \mathbb{R}^{1 \times T \times T \times P}
a∈R1×T×T×P,其中
a
i
,
t
1
,
:
a_{i,t1,:}
ai,t1,: 表示其他片段与片段
t
1
t1
t1 的关联程度。
VCT的输出
F
att GB
∈
R
1
×
T
×
P
×
C
/
32
F_{\text{att GB}} \in \mathbb{R}^{1 \times T \times P \times C/32}
Fatt GB∈R1×T×P×C/32 是长视频中所有包含正常和异常(如果存在)片段的加权平均值:
其中 V V V是变换器的一维“值”卷积。
因此,浏览块为网络提供了关于“正常情况是什么样的”的知识,以便更好地检测异常事件。此外,它还有助于网络更好地利用长期的时间上下文。
浏览块还包含一个额外的前馈网络 (FFN),包括两个全连接层和一个GeLU非线性函数,以进一步提高模型的表示能力。输出的特征图 F GB F_{\text{GB}} FGB被传递给后续的聚焦块 (Focus Block)。
Focus Block
如图4(b)所示,聚焦块 (FB) 由一个快捷卷积 (SCC)、一个自注意力卷积 (SAC) 和一个前馈网络 (FFN) 组成。以 F GB F_{\text{GB}} FGB 作为输入,我们首先通过卷积将通道数增加到 C / 16 C/16 C/16。然后,SSC生成特征图 F scc FB F_{\text{scc FB}} Fscc FB。
受到自注意力机制的启发,我们提出了一种自注意力卷积 (SAC) 来增强每个视频片段中的特征学习。具体来说,我们利用
F
scc FB
F_{\text{scc FB}}
Fscc FB 既作为特征图也作为卷积核,并将其表述为一个核大小为5的卷积,如公式(6)和(7)所示。
其中
类似于自注意力机制,我们的自注意力卷积允许每个通道访问邻近通道来学习通道间的相关性,而无需任何可学习权重。
经过两层FFN后,FB输出特征图 F FB F_{\text{FB}} FFB。
Loss Functions
在这一节中,我们将介绍我们的损失函数。由于异常检测是一个二分类问题,一种自然的选择是使用sigmoid交叉熵损失函数,就像现有工作(Wan等 2020; Zhong等 2019; Wu等 2020; Tian等 2021)那样: L s c e = − y log ( s i , j ) − ( 1 − y ) log ( 1 − s i , j ) L_{sce} = -y \log(s_{i,j}) - (1-y) \log(1-s_{i,j}) Lsce=−ylog(si,j)−(1−y)log(1−si,j),其中 y y y是视频级别的真实标签 ( y = 1 ( y=1 (y=1表示异常), s i , j s_{i,j} si,j 是片段 j j j 的预测异常概率。
**幅度对比损失 (Magnitude Contrastive Loss)**z
为了更好地促进特征的可分性,我们提出了幅度对比 (MC) 损失,如公式(8)所示。
注意,在训练批次 B中,我们采样了 B / 2 B/2 B/2 个正常视频和 B / 2 B/2 B/2个异常视频。 p , q p, q p,q是正常片段的索引,而 u , v u, v u,v 是异常片段的索引。 M a M_a Ma表示异常片段的前 k 个特征幅度,而 M n M_n Mn 则表示正常片段的前 k 个特征幅度。 D ( ⋅ , ⋅ ) D(\cdot, \cdot) D(⋅,⋅)是一个距离度量,将在下文描述。 l l l是一个指示函数,当 l = 1 l=1 l=1 时,表示一对正常和异常片段 p , u p, u p,u被采样。在这种情况下, L m c L_{mc} Lmc增加了它们之间的特征幅度距离。当 l = 0 l=0 l=0 时,表示两个被采样的片段 p , q p, q p,q 或 u , v u, v u,v 都是正常的或都是异常的,在这种情况下, L m c L_{mc} Lmc 将它们归为一组。
与简单地增大异常片段的特征幅度并减小正常片段的特征幅度(如 Tian 等 2021 所做)不同,我们的 MC 损失学习了一个场景适应性的跨视频特征幅度分布。具体来说,MC 损失不会强制不同场景中的所有异常特征都大于正常特征,而是鼓励模型用适当的分布将它们分开。例如,我们允许具有大量运动的正常视频拥有比异常视频更大的特征幅度。结合网络学到的其他特征,比如场景和运动相关的特征,模型仍然可以正确预测异常。此外,我们进一步发现,在同一视频和相似场景中,异常特征幅度通常大于正常特征幅度(见图2©),这与RTFM损失(Tian等 2021)的目标一致。
D
(
M
p
n
,
M
q
n
)
D(M_p^n, M_q^n)
D(Mpn,Mqn)定义如下式(9),
D
(
M
u
a
,
M
v
a
)
D(M_u^a, M_v^a)
D(Mua,Mva)的定义类似。
这里, 1 1 1 是一个 top-k 均值函数,其中 1 ( ∥ f p , t FB ∥ 2 ) 1(\|f_{p,t}^{\text{FB}}\|^2) 1(∥fp,tFB∥2)是 f p , { 1 , . . . , T } FB f_{p,\{1,...,T\}}^{\text{FB}} fp,{1,...,T}FB 中前 k 大的特征幅度之一。 D ( ⋅ , ⋅ ) D(\cdot, \cdot) D(⋅,⋅) 根据每段视频的 T 个片段中前 k 大特征幅度片段计算特征距离。选择前 k 个片段而不是整个视频序列有利于在视频级别弱监督下的模型训练。由于缺少片段级别的异常真值,top-k 选择帮助 L m c L_{mc} Lmc 关注于最有可能是异常的片段以及正常视频中最难的情况。同时,我们也从 top-k 正常和 top-k 异常片段中选择最大距离对,并使用 L m c L_{mc} Lmc 鼓励它们的相似性。
类似地,正常特征
p
p
p 和异常特征
u
u
u之间的距离
D
(
M
p
,
M
u
)
D(M_p, M_u)
D(Mp,Mu)定义为公式(10)。
Overall Loss Functions
遵循 Sultani 等人(Sultani, Chen, 和 Shah 2018)的做法,我们采用了时间平滑损失 L t s = ∑ j = 1 T s i , j a L_{ts} = \sum_{j=1}^T s_{i,j}^a Lts=∑j=1Tsi,ja 和稀疏损失 L s p = ∑ j = 1 T ( s i , j a − s i , j + 1 a ) 2 L_{sp} = \sum_{j=1}^T (s_{i,j}^a - s_{i,j+1}^a)^2 Lsp=∑j=1T(si,ja−si,j+1a)2,其中 s a s^a sa表示异常片段的预测分数。这些损失函数作为正则化项来平滑相邻视频片段的预测分数。因此,模型训练中的总损失为: L = L s c e + λ 1 L t s + λ 2 L s p + λ 3 L m c L = L_{sce} + \lambda_1 L_{ts} + \lambda_2 L_{sp} + \lambda_3 L_{mc} L=Lsce+λ1Lts+λ2Lsp+λ3Lmc,其中 λ 1 , λ 2 , λ 3 \lambda_1, \lambda_2, \lambda_3 λ1,λ2,λ3 是平衡各项损失的权重。
Experiment
Conclusion
本文介绍了一种新颖的框架MGFN,该框架包含了一个浏览-聚焦模块和幅度对比损失,用于异常检测。模仿人类从全局到局部的视觉系统,所提出的MGFN包含了一个浏览与聚焦机制,能够有效地整合全局上下文信息和局部特征。此外,还提出了一种特征放大机制(FAM),以增强模型对特征幅度的感知能力。为了学习场景适应性的跨视频特征幅度分布,引入了幅度对比损失,旨在促进正常与异常特征幅度之间的可分性。在两个大规模数据集UCF-Crime和XD-Violence上的实验结果表明,该方法显著优于现有的最先进工作。