文章目录
1 引入
1.1 题目
1.2 摘要
弱监督视频异常检测 (wVAD) 的目的是基于视频级特征判断正常事件中的异常。已有工作通常使用基于排序损失的多示例学习。然而这些方法依赖于MIL分类器的预测,这是有噪声的,其将影响目标实例的选择,进而降低模型性能。为了克服这个问题,我们提出了正态导向多示例学习 (NG-MIL),其将来自无噪声正常视频的多种正常模式编码,用于构建基于相似性的分类器。通过集成两个分类器的预测,NG-MIL可以微调异常得分,降低训练不稳定性。此外,引入了正态聚类和正态引导的三元组损失约束包内实例,以提高NG-MIL 的效果并增加分类器的可辨别性。
1.3 引用
@inproceedings{
Park:2023:26652674,
author = {
Seongheon Park and Hanjae Kim and Minsu Kim and Dahye Kim and Kwanghoon Sohn},
title = {
Normality guided multiple instance learning for weeakly supervised video anomaly detection},
booktitle = {
{
WACV}},
pages = {
2665--2674},
year = {
2023}
}
2 方法
2.1 背景和动机
多示例排序框架广泛用于弱监督视频异常检测,原因是它可以仅使用视频级标签来判断异常片段。给定一个视频 B = { v t } t = 1 T B = \{v_t\}_{t=1}^T B={
vt}t=1T,其中 T T T是不交叠片段的数量。每个实例 f t ∈ R D f_t\in\mathbb{R}^D ft∈RD通过特征提取器 E ( ⋅ ) E(\cdot) E(⋅)计算,例如 f t = E ( v t ) ∈ R D f_t=E(v_t)\in\mathbb{R}^D ft=E(vt)∈RD。然后,异常视频被定义为正包 B a = { f t a } t = 1 T B^a=\{f_t^a\}_{t=1}^T Ba={
fta}t=1T,正常视频则定义为 B n = { f t n } t = 1 T B^n=\{f_t^n\}_{t=1}^T Bn={
ftn}t=1T。他们的优化目标通常为—通过排序损失最大化正包和负包中top- k k k个实例的异常得分:
L r a n k = [ 1 − 1 k ∑ i = 1 k c ( f i a ) + 1 k ∑ j = 1 k c ( f j n ) ] + , (1) \tag{1} L_{rank}=\left[ 1 - \frac{1}{k} \sum_{i=1}^k c(f_i^a) + \frac{1}{k} \sum_{j=1}^k c (f_j^n) \right]_+, Lrank=[1−k1i=1∑kc(fia)+k1j=1∑kc(fjn)]+,(1)其中 [ ⋅ ] + [\cdot]_+ [⋅]+是hinge函数, c ( f i a ) c(f_i^a) c(fia)和 c ( f j n ) c(f_j^n) c(fjn)分布表示降序排列的第 i i i和第 j j j个异常得分。最小化排序损失可以提升异常实例的判断能力。然而,它依然只是使用在视频级标签下训练的异常分类器来选择top- k k k实例。这将使得异常视频中正常实例的异常分数高置信度,进而在学习过程中累积误差。
本文提出正态导向多示例学习 (NG-MIL),其使用正常视频中不同正常模式编码的正态原型 (Normality prototypes) 来微调异常预测。通过将正态原型与实例之间的相似性作为附加分类分数,初始的噪声预测得以微调。接下来将在3.2介绍正态导向微调模块,3.3介绍学习目标,图2则展示了NG-MIL的总体框架。
2.2 正态导向微调模块
正态导向微调模块 (NGRM) 使用正态原型 P = { p m } m = 1 M P=\{ p_m \}_{m=1}^M P={ pm}m=1M来微调异常得分,其中每个正态通过一个原型 p m ∈ R D / 4 p_m \in \mathbb{R}^{D/4} pm∈RD/4表示。这包含了两个主要部分,正态更新和异常预测微调。
2.2.1 正态更新
该阶段的目的是捕捉正常视频正态形式的全局特征。为了更新 p m p_m pm,首先将 f t n f_t^n ftn投影到 f ^ t n \hat{f}_t^n f^tn,以保证与 p m p_m pm的维度一致性。然后计算 f ^ t n \hat{f}_t^n f^tn与 P P P中所有正态原型的余弦相似性:
s t , m n = f ^ t n p m ⊤ ∥ f ^ t n ∥ ∥ p m ∥ , m ∈ { 1 , … , M } . (2) \tag{2} s_{t,m}^n=\frac{\hat{f}_t^np_m^\top}{\| \hat{f}_t^n\| \| p_m \|}, \quad m\in\{1,\dots,M\}. st,mn=∥f^tn∥∥pm∥f^tnpm⊤,m∈{
1,…,M}.(2)这将获得一个大小为 T × M T\times M T×M的二维相似性图。每个投影实例都将用于更新其最近的正态原型。令 U m U_m Um表示投影实例索引的集合,其用于更新第 m m m个正态原型。投影实例特征均能够被分配到一个正态原型。正态原型的更新如下:
p m ← ( 1 − λ ) p m + λ 1 ∣ U m ∣ ∑ t ∈ U m f ^ t n , (3) \tag{3} p_m\leftarrow(1-\lambda)p_m+\lambda\frac{1}{|U_m|}\sum_{t\in U_m}\hat{f}_t^n, pm←(1−λ)pm+λ∣Um∣1t∈Um∑f^tn,(3)其中 λ \lambda λ表示用于指数加权移动平均的动量。注意正态原型只有在被分配了投影实例特征时才会更新。
2.2.2 异常预测微调
已有方法利用得分最高的实例来区分异常片段,本文将其扩展为,使用正态原型来微调不可信的异常得分:
- 计算实例与正态原型的余弦相似度;
- 沿 M M M个正态原型方向使用softmax函数,并将其作为相似性得分的注意力权重:
g ( f i , P ) = ∑ m = 1 M e x p ( s i , m / τ ) ∑ m = 1 M e x p ( s i , m / τ ) s i , m (4) \tag{4} g(f_i,P)=\sum_{m=1}^M\frac{exp(s_{i,m}/\tau)}{\sum_{m=1}^Mexp(s_{i,m}/\tau)}s_{i,m} g(fi,P)=m=1∑M∑m=1Mexp(si,m/τ)exp(si,m/τ)si,m(4)其中 τ \tau τ是温度超4参数。进一步,ReLU用于确保 g g g的结果非负。注意正常和异常视频均应用这一规则,只是为了简便而省略了 a a a和 n n n。 - 异常得分 a ( f i , P ) a(f_i,P) a(fi,P)定义为:
a ( f i , P ) = 1 − g ( f i , P ) . (5) \tag{5} a(f_i,P)=1-g(f_i,P). a(fi,P)=1−g(fi,P).(5) - 通过集成两个分类器的预测得分,获取微调后的分数:
r ( f i ) = 1 2 ( c ( f i ) + a ( f i , P ) ) . (6) \tag{6} r(f_i)=\frac{1}{2}(c(f_i)+a(f_i,P)). r(fi)=21(c(fi)+a(fi,P)).(6)
2.3 学习目标
我们利用三个损失来优化我们的算法:正态导向MIL排序损失 L N G − M I L L_{NG-MIL} LNG−MIL、用于NGRM的两个辅助损失,即分别正则化负包和正包内实例特征的 L c l s t L_{clst} Lclst和 L t r i L_{tri} Ltri。
2.3.1 正态导向MIL排序损失
NG-MIL排序损失如下:
t a g 7 L N G − M I L = [ 1 − 1 k ∑ i = 1 k r ( f i a ) + 1 k ∑ j = 1 k r ( f j n ) ] + , tag{7} L_{NG-MIL}=\left[ 1 - \frac{1}{k} \sum_{i=1}^k r(f_i^a) + \frac{1}{k} \sum_{j=1}^k r(f_j^n) \right]_+, tag7LNG−MIL=[1−k1i=1∑kr(fia)+k1j=1∑kr(fjn)]+,其中 i i i和 j j j表示得分 r r r的索引,其按照降序排列。与公式1中的MIL排序损失相比,NG-MIL损失允许选择一些高置信度的目标实例,这可以缓解弱标签下的训练不稳定。
2.3.2 正态聚类损失
正态聚类损失促使负包中的每个实例与其最近邻原型之间的聚类:
L c l s t = 1 T ∑ i = 1 T min p m ∈ P ∥ p m − f ^ i n ∥ 2 2 . (8) \tag{8} L_{clst}=\frac{1}{T}\sum_{i=1}^T \min_{p_m \in P} \| p_m - \hat{f}_i^n \|_2^2. Lclst=T1i=1∑Tpm∈Pmin∥pm−f^in∥22.(8)该损失可以减少正态原型之间的类间方差,有助于增强NGRM中基于相似性的异常分类的可辨别性。
2.3.3 正态导向三元损失
为了从MIL分类器和基于相似性的分类器中到处准确的分类结果,我们希望异常实例特征与正负包中的正常实例特征相距甚远。然而,公式7仅仅将top- k k k个实例作为优化项,忽略了正包中的正常实例。由于异常视频中的大部分片段包含正常事件,这阻碍了分类器对正常实例周围的异常实例的检测。
对此,引入了正态导向三元损失,其通过一个大的间隔来惩罚正常和异常实例之间的差异:
- 采样伪异常集合 Ω a = { f ^ 1 a , … , f ^ k a } \Omega_a=\{ \hat{f}_1^a,\dots, \hat{f}_k^a \} Ωa={ f^1a,…,f^ka}和伪正常集合 Ω n = { f ^ T − k + 1 a , … , f ^ T a } \Omega_n = \{ \hat{f}_{T - k + 1}^a, \dots, \hat{f}_T^a \} Ωn={ f^T−k+1a,…,f^Ta},其分别包含了依据公式6微调且降序后得分的来自正包的top- k k k和bottom- k k k个实例样本;
- 计算三元损失:
L t r i = 1 k ∑ i = 1 k [ ∥ f ^ T − i + 1 a − p j ∥ 2 2 − min f ^ a ∈ Ω a ∥ f ^ a − p j ∥ 2 2 + γ ] + , (9) \tag{9} L_{tri}=\frac{1}{k}\sum_{i=1}^k\left[ \left\| \hat{f}_{T-i+1}^a - p_j \right\|_2^2 - \min_{\hat{f}^a\in \Omega_a} \left\| \hat{f}^a - p_j \right\|_2^2 + \gamma \right]_+, Ltri=k1i=1∑k[ f^T−i+1a−pj 22−f^a∈Ωamin f^a−pj 22+γ]+,(9)其中 γ \gamma γ是一个预设间隔, j j j是伪正常集中每个样本最近原型的距离:
j = arg min m ∈ M ∥ f ^ T − i + 1 a − p m ∥ 2 2 . (10) \tag{10} j = \argmin_{m \in M} \left\| \hat{f}_{T-i+1}^a -p_m \right\|^2_2. j=m∈Margmin f^T−i+1a−pm 22.(10)
该损失可以通过惩罚三元组 ( P , Ω n , Ω a ) (P,\Omega_n,\Omega_a) (P,Ωn,Ωa)来增强正包中正态原型的类内紧凑性和类间可分离性,这将显著增强NGRM微调的质量。
2.3.4 总损失
总损失定义为 L N G − M I L L_{NG-MIL} LNG−MIL、 L c l s t L_{clst} Lclst,以及 L t r i L_{tri} Ltri的和。此外添加了时间平滑度 L t s = ∑ i = 1 T − 1 ( r ( f i ) − r ( f i + 1 ) ) 2 L_{ts} = \sum_{i=1}^{T-1}(r(f_i) - r(f_{i+1}))^2 Lts=∑i=1T−1(r(fi)−r(fi+1))2和稀疏约束 L s = ∑ i = 1 T r ( f i ) L_s=\sum_{i=1}^T r(f_i) Ls=∑i=1Tr(fi)。最终的损失为:
L t o t a l = L N G − M I L + λ t L c l s t + λ c L t r i + λ r ( L t s + L s ) . (11) \tag{11} L_{total}=L_{NG-MIL}+\lambda_tL_{clst}+\lambda_cL_{tri}+\lambda_r(L_{ts} + L_s). Ltotal=LNG−MIL+λtLclst+λcLtri+λr(Lts+Ls).(11)