Learning to Tell Apart: Weakly Supervised Video Anomaly Detection via Disentangled Semantic Alignment¶
会议: AAAI 2026
arXiv: 2511.10334
代码: https://github.com/lessiYin/DSANet
领域: 多模态VLM
关键词: 弱监督视频异常检测, 语义解耦, 正常模式建模, 对比对齐, CLIP
一句话总结¶
本文提出DSANet,通过自引导正常模式建模(SG-NM,粗粒度)和解耦对比语义对齐(DCSA,细粒度)从两个层面增强弱监督视频异常检测中正常与异常特征的可区分性,在XD-Violence上AP达86.95%(+1.14%),在UCF-Crime细粒度mAP达13.01%(+3.39%),均为SOTA。
研究背景与动机¶
领域现状¶
弱监督视频异常检测(WS-VAD)旨在仅使用视频级标签(正常/异常,无帧级标注)来定位视频中的异常片段。主流方法基于多示例学习(MIL)框架:先用预训练backbone(I3D或CLIP)提取特征,再通过二分类器产生帧级异常分数。近期方法(VadCLIP, PEMIL, ITC等)结合CLIP的视觉-语言预训练能力,通过文本提示识别异常类别。
现有痛点¶
现有WS-VAD方法虽然取得了不错的检测性能,但仍存在两个根本性缺陷:
粗粒度层面:正常模式理解不完整 - MIL的判别性本质导致模型专注于发现最显著的异常片段 - 忽略了视频中丰富多样的正常模式的显式建模 - 无法构建鲁棒的正常表示→正常与异常边界模糊→误报率高 - 例如,一个复杂但正常的场景(如拥挤的超市)可能被误判为异常
细粒度层面:类别混淆严重 - 不同异常类别可能外观相似(如"抢劫"和"偷窃"都涉及物品被拿走) - 异常与正常上下文之间的背景模式可能相似 - 在缺乏帧级监督的情况下,模型常将共出现的背景模式与真实异常混淆 - 不同异常类别的特征在嵌入空间中纠缠,影响类别可分性
核心idea¶
从两个层面"学会区分": - 粗粒度:通过生成式的正常模式重建来补充MIL判别学习的盲区 - 细粒度:通过解耦事件/背景特征并分别与对应语义对齐来消除类别混淆
方法详解¶
整体框架¶
DSANet包含三个协同分支: 1. 异常检测分支:基于MIL框架产生帧级二分类异常分数(基础) 2. 自引导正常模式建模分支(SG-NM):挖掘视频特有的正常模式并引导特征重建(粗粒度增强) 3. 异常分类分支:将视频特征与文本类别嵌入对齐进行细粒度分类,融入DCSA机制(细粒度增强)
关键设计¶
1. 自引导正常模式建模(SG-NM)¶
核心思路:即使在异常视频中,局部区域仍具有固有的正常性(如异常事件发生时的正常背景),SG-NM直接从输入视频中动态挖掘正常原型,无需外部记忆库。
具体步骤: - 正常帧选择:使用检测分支的异常分数 \(S_{det}\) 选择分数最低的M帧(M=80%视频长度),构成候选正常特征集 \(F_n \in \mathbb{R}^{M \times D}\) - 动态正常模式(DNP)提取:K=16个可学习query通过单层cross-attention从 \(F_n\) 中提取K个蒸馏的正常原型 \(P \in \mathbb{R}^{K \times D}\) - 正常集中损失:确保DNP纯粹代表正常特征
- 特征重建:8层cross-attention解码器用DNP作为key/value重建视频特征。关键设计:第一层解码器去除残差连接,确保重建完全依赖正常模式(防止异常泄漏)
- 一致性损失:将重建异常分数 \(S_{rec}\) 与检测分数 \(S_{det}\) 对齐
设计动机:MIL只学"什么是异常"(判别式),SG-NM补充学"什么是正常"(生成式)。两者互为补充:MIL提供异常分数帮助SG-NM选择正常帧,SG-NM的重建错误又校准MIL的检测边界。
2. 解耦对比语义对齐(DCSA)¶
核心思路:将视频特征显式解耦为事件成分和背景成分,分别与对应的文本语义对齐。
视觉特征解耦:利用检测分支的异常分数做软解耦(不是硬切割)
其中 \(w_{event} = \text{Softmax}(S_{det})\),\(w_{bkg} = 1 - w_{event}\)
文本特征准备:CLIP文本编码器生成C个类别的文本嵌入 \(T_{text} = \{t_0, t_1, ..., t_{C-1}\}\),其中 \(t_0\) 代表"normal"类
分离损失:推动normal嵌入远离所有异常类嵌入
双重对比对齐损失 \(\mathcal{L}_{dcsa} = \mathcal{L}_{event} + \mathcal{L}_{bkg}\): - 事件对齐:\(F_{event}\) 对齐真实类别 \(t_c\)(异常视频→对应异常类,正常视频→normal类) - 背景对齐:\(F_{bkg}\) 始终对齐normal类 \(t_0\)(无论视频是否异常,背景都应偏向正常)
设计动机:这种解耦避免了异常相关特征与背景模式的纠缠。背景始终对齐normal起到正则化作用,防止模型将共出现的背景模式误认为异常。
3. 轻量文本适配器¶
在CLIP文本编码器的前L层Transformer blocks中插入轻量适配器:
保持CLIP通用知识的同时实现领域适配(比prompt学习更有效)。
损失函数 / 训练策略¶
训练细节: - 视觉特征:冻结CLIP (ViT-B/16) 提取 - 优化器:AdamW,batch 64/96 - 训练10 epochs,单卡4090 - SG-NM分支仅训练时使用,推理时不增加计算开销
推理策略:层次信念调制(Hierarchical Belief Modulation)——用 \(S_{det}\) 作为时间先验,\(S_{align}\) 分配类别概率,通过温度比 \(\beta\) 校准。
实验关键数据¶
主实验¶
粗粒度检测:
| 方法 | XD-Violence AP(%) | UCF-Crime AUC(%) |
|---|---|---|
| VadCLIP (CLIP) | 84.51 | 88.02 |
| ITC (CLIP) | 85.45 | 89.04 |
| ReFLIP (CLIP) | 85.81 | 88.57 |
| DSANet | 86.95 | 89.44 |
细粒度检测(mAP@IoU,XD-Violence):
| 方法 | @0.1 | @0.2 | @0.3 | @0.4 | @0.5 | AVG |
|---|---|---|---|---|---|---|
| VadCLIP | 37.03 | 30.84 | 23.38 | 17.90 | 14.31 | 24.70 |
| ReFLIP | 39.24 | 33.45 | 27.71 | 20.86 | 17.22 | 27.36 |
| DSANet | 40.93 | 34.63 | 28.21 | 22.70 | 17.89 | 28.87 |
细粒度检测(UCF-Crime):
| 方法 | @0.1 | AVG |
|---|---|---|
| ReFLIP | 14.23 | 9.62 |
| DSANet | 21.39 | 13.01 |
UCF-Crime上细粒度提升尤为显著(AVG +3.39%),证明DCSA在困难场景下的类别区分能力。
消融实验¶
| 配置 | AP(%) | AVG(%) | 说明 |
|---|---|---|---|
| Baseline (VadCLIP) | 84.51 | 24.70 | — |
| + Adapter | 85.00 | 28.15 | 文本适配有效 |
| + Adapter + SG-NM | 85.94 | 28.39 | 正常建模改善检测 |
| + Adapter + DCSA | 85.67 | 28.25 | 语义解耦改善分类 |
| + All (DSANet) | 86.95 | 28.87 | 组件协同 |
文本编码器调整方式对比:
| 方式 | AP(%) | AVG(%) |
|---|---|---|
| 冻结 | 81.57 | 27.60 |
| 手动prompt | 81.05 | 28.05 |
| 可学习prompt (CoOp) | 82.88 | 28.26 |
| Adapter (本文) | 86.95 | 28.87 |
关键发现¶
- DNP的质量验证:正常帧到DNP的最小余弦距离分布(均值0.35)与异常帧距离分布(均值0.69)有明显差异,证明DNP确实形成了紧凑的正常表示
- DCSA的效果验证:背景原型对齐normal类的准确率达99.63%(VadCLIP仅87.63%),混淆矩阵的对角线主导性明显更强
- t-SNE可视化:DSANet的特征空间中不同异常类别的类间边界更清晰、类内聚集更紧密
- 时序可视化中DSANet的预测与ground truth更吻合,VadCLIP倾向于只捕获最显著片段导致时间边界不准
亮点与洞察¶
- 互补的双重学习范式:MIL判别式学"什么是异常" + SG-NM生成式学"什么是正常"——这个互补思路很有启发性,可以推广到其他检测任务
- 解耦对齐的设计:事件→对应类别、背景→永远normal,这种asymmetric alignment约束非常巧妙,比简单的对齐损失多了结构化先验
- SG-NM的自包含设计:无需外部记忆库,直接从当前视频中动态挖掘正常模式,scalable且data-efficient
- 重建解码器第一层去残差连接的设计细节虽小但关键——防止异常信息通过残差连接泄漏到重建结果中
- 在单卡4090上即可训练,计算预算友好
局限与展望¶
- SG-NM仅在训练时使用,推理时不使用重建分支——是否可以在推理时也利用重建误差作为辅助判断?
- 候选正常帧选择依赖检测分支的初始异常分数——early training阶段分数不准可能影响DNP质量
- 文本类别标签的质量影响DCSA效果——如何自动生成更好的类别描述?
- 仅验证了CLIP ViT-B/16,是否在更大模型(ViT-L)上也有效?
- 异常类别数量固定为训练集中的类别,开放世界场景下的泛化有待验证
相关工作与启发¶
- VadCLIP作为baseline的地位——DSANet在其基础上增加了正常建模和语义解耦两个维度
- 从CLIP的视觉-语言对齐到任务特定的语义解耦,展示了预训练模型适配下游任务的一种路径
- 事件/背景解耦与视频理解中的前景/背景分离有概念上的联系,可能在其他视频理解任务中也有用
评分¶
- 新颖性: ⭐⭐⭐⭐
- 实验充分度: ⭐⭐⭐⭐⭐
- 写作质量: ⭐⭐⭐⭐
- 价值: ⭐⭐⭐⭐