跳转至

Bounding-Box Trajectories Matter for Video Anomaly Detection

会议: ECCV2026
作者: Inpyo Song、Jangwon Lee(Sungkyunkwan University)
Paper: https://eccv.ecva.net/virtual/2026/poster/5841
PDF: https://media.eventhosts.cc/Conferences/ECCV2026/pdfs/13468.pdf
项目: TrajVAD
领域: 视频理解
关键词: 视频异常检测、多类别跟踪、边界框轨迹、归一化流、姿态可靠性门控

一句话总结

TrajVAD 把检测跟踪已产生的边界框轨迹提升为主要异常信号,用类别感知归一化流学习正常运动;纯轨迹版在 ShanghaiTech 达到 87.7 AP,加入可靠性门控姿态分支后达到 88.6 AUROC 和 90.9 AP,但姿态并非在所有数据集上都有收益。

研究背景与动机

视频异常检测通常只用正常视频训练,再判断测试事件是否偏离正常分布。RGB 重建或预测方法容易把光照、纹理和背景变化也当成异常;人体姿态方法则去掉大量外观干扰,直接学习关节运动,因此在跑步、打斗等以人为主的基准上很有效。然而,姿态估计依赖可见且足够清晰的人体,远景、遮挡会破坏关键点,车辆等非人体对象更没有可供该模型评分的骨架。

这里存在一个具体的信息利用问题:姿态管线在提取骨架之前,已经完成检测与跟踪,因而手里早就有物体中心、宽高、置信度及身份随时间的变化。既有方法往往只用这些边界框维护身份关联,或者只取人体中心轨迹。这样既丢掉了边界框尺度、形状和运动变化,也把能处理的对象范围锁定在人。本文并不是首次研究轨迹异常检测,而是在现代基准上系统检验完整的多类别边界框运动是否足以成为独立模态。

核心 idea:先用所有可检测类别共享的边界框运动统计建立正常性模型,再仅对姿态有效且可信的人体轨迹补充关节信息,让人体姿态成为条件性增强,而不是异常检测的必经入口。

方法详解

整体框架

系统输入视频,先用 YOLOX、OSNet 和 ByteTrack 产生多类别对象轨迹,再经平滑与短缺口插值,把每条轨迹切成固定长度的重叠窗口。每帧的 27 维运动特征拼接类别嵌入,交给轨迹归一化流计算正常数据下的似然,低似然对应高异常分数。TrajVAD-T 到此即可工作,不调用姿态估计。

TrajVAD-P 另外为人体窗口提取 AlphaPose 关键点,用轨迹潜变量作为姿态流的条件,并通过类别、有效性与关键点置信度组成的门控融合两路似然。两者共享表示和评分思路,但主实验的轨迹流深度不同,不能把两版差异完全视为只增加了姿态这一项。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    video["视频与多类别<br/>检测跟踪"] --> features["类别感知轨迹表示"]
    features --> trajectory["轨迹归一化流"]
    video -->|人体窗口| pose["AlphaPose 关键点<br/>及置信度"]
    trajectory -->|轨迹潜变量| fusion["可靠性门控姿态融合"]
    pose --> fusion
    trajectory -->|TrajVAD-T| score["窗口异常分数"]
    fusion -->|TrajVAD-P| score

关键设计

1. 类别感知轨迹表示:让边界框不只提供中心点位置

先把中心坐标和宽高按画面分辨率归一化到 \([0,1]\),再从时间序列中构建六组、共 27 维特征。状态组 6 维记录中心、宽高、面积与宽高比;时间动力学组 10 维记录速度分量及大小、加速度分量及大小、方向的正余弦、jerk 和曲率;几何动力学组 2 维记录框扩张率与宽高比变化。另有 2 维伪物理量,包含面积乘速度平方的动能代理和路径效率;6 维透视归一化特征,把速度、加速度分别除以框高、框宽和面积;最后 1 维是检测器置信度。这些量分别描述“在哪里”“怎样移动”“形状怎样变”以及“测量是否可信”,不需要知道物体内部有哪些关节。

这并非恢复真实三维速度或质量:面积乘速度平方只是图像空间代理,用框尺寸归一化也只是减轻远近差异。相同像素位移在远处小目标和近处大目标上含义不同,尺度相关特征因此有价值。所有特征用训练集统计量标准化;每帧再拼接一个 3 维可学习类别嵌入,覆盖 COCO 的 80 类,使同一个流能区分不同类别的正常运动。完整输入每帧为 \(27+3=30\) 维,而非为每个类别训练独立模型。缓存将逐项精确定义放在未提供的补充材料中,因此这里不补写 jerk、曲率或路径效率的离散计算细节。

2. 轨迹归一化流:用可计算的密度衡量运动是否正常

仅把手工特征输入普通分类器仍需要异常标签,本文改用正常数据上的密度学习。ActNorm 先通过首个训练批次初始化逐通道仿射参数,后续交替仿射耦合层将通道分成两半,一半保持不变,另一半根据前一半预测的缩放和平移做可逆变换。预测子网沿时间维使用带递增膨胀率的因果一维卷积,把窗口内的变化联系起来;层间交换被变换的通道,避免部分特征始终不参与交互。可逆结构的意义是能够同时计算潜变量的高斯密度和变换的体积修正,而不是把潜空间距离误当成完整似然。

用 \(\ell_{\mathrm{traj}}\) 表示未归一化对数似然,输入维数中的 \(D=27\) 是轨迹特征数、\(E=3\) 是类别嵌入维数,正文描述可明确整理为:

\[ \ell_{\mathrm{traj}}=\log p(z_{\mathrm{traj}})+\log\left|\det J_{\mathrm{traj}}\right|, \qquad \mathcal L_{\mathrm{traj}}=-\frac{\ell_{\mathrm{traj}}}{T(D+E)}. \]

其中高斯先验为 \(p(z_{\mathrm{traj}})=\mathcal N(z_{\mathrm{traj}};\mu_0\mathbf 1,I)\),固定偏移 \(\mu_0=3\);雅可比项累加 ActNorm 与所有耦合层的贡献。训练最小化按窗口元素数归一化的负对数似然,测试直接用同一个量评分,因此异常是相对已学习正常轨迹的低概率,而不是预先指定的动作类别。缓存中的式 (2)、(3) 抽取不完整,本文不猜测具体耦合更新次序或数值稳定常数;上式对应式 (4)、(5) 的正文定义。

3. 可靠性门控姿态融合:让关节补充运动,但不强迫所有对象都提供骨架

边界框能看到整体平移和尺度变化,却不能可靠区分同一路径上不同的肢体配置。TrajVAD-P 因而给人体增加一个独立姿态流,输入每个窗口对齐的 17 个关节坐标及其置信度。坐标进入带独立 ActNorm 和耦合层的姿态分支,轨迹潜变量被送入每个姿态耦合层的缩放和平移子网,令姿态正常性依赖当前整体运动;关键点置信度用于控制这一路证据的权重,而非无条件相信骨架估计。姿态条件化与可靠性门控解决的是两件事:前者解释整体运动下的身体配置,后者抑制坏测量。

门控 \(g=g_{\mathrm{cls}}g_{\mathrm{valid}}\bar q\) 中,前两项分别表示是否为人体、是否存在有效姿态,\(\bar q\in[0,1]\) 为平均关键点置信度。非人体或无效姿态令 \(g=0\);可信程度越低,姿态贡献越弱。最终将两路未归一化对数似然按有效维数融合,式 (8) 为:

\[ \mathcal L_{\mathrm{total}} =-\frac{\ell_{\mathrm{traj}}+\lambda g\,\ell_{\mathrm{pose}}} {T\left(D_{\mathrm{traj}}+gD_{\mathrm{pose}}\right)}. \]

这里 \(D_{\mathrm{traj}}\) 是包含类别嵌入的轨迹输入维数,\(D_{\mathrm{pose}}\) 是姿态特征维数,\(\lambda\) 是姿态权重。分母随门控改变,是为了在姿态启用与禁用之间维持可比的分数量级;当 \(g=0\) 时,公式退化为纯轨迹评分。这是评分公式上的退化,不意味着使用不同流深度训练出的 T、P 两套模型必然逐样本同分。正文没有给出 \(\lambda\) 数值或姿态有效性的判定阈值,不能补造。门控也不保证姿态一定提升性能,MSAD 的对比恰好说明额外的人体线索可能无益。

一个完整示例

考虑论文定性实验中的车辆进入步行区:检测器先产生车辆类别和连续边界框,跟踪器形成稳定对象身份。在 ShanghaiTech 配置下,一个 16 帧窗口转换为每帧 27 维运动特征加 3 维类别嵌入;轨迹流检验该车辆的运动和尺度变化是否符合训练时的正常分布。由于车辆不是人体,姿态门控为零,两个变体都通过轨迹路径提供异常证据,而仅依赖人体骨架的方法没有车辆分数。这里不编造该窗口的坐标或具体似然值。

若窗口换成腿部被遮挡的人,边界框轨迹仍可能可用,而姿态置信度降低会削弱关节分支。若只是短时漏检,预处理先尝试插值;若检测断裂过长,则拆开轨迹而不是跨越长遮挡段强行计算速度。这解释了为什么输入表示与缺失值处理必须一起理解,不能把漏检鲁棒性全部归因于归一化流。

损失函数 / 训练策略

训练仅使用正常数据,优化上述负对数似然。YOLOX 负责检测,OSNet 提供重识别信息,ByteTrack 支持多类别跟踪;跟踪坐标先经 Kalman 滤波,至多连续缺失 10 帧时使用线性插值,更长缺口拆分轨迹。序列不足一个窗口则丢弃,窗口长度在 UBnormal、ShanghaiTech、MSAD 上分别为 \(T=12,16,24\)。这既控制局部运动尺度,也意味着非常短暂的轨迹不一定进入评分模型。

主实验中 TrajVAD-T 的轨迹流使用 \(K=6\) 个耦合层,TrajVAD-P 使用 \(K=18\)。正文提到姿态分支有独立层数 \(K_p\),但缓存没有给出其明确数值;优化器、学习率、训练轮数与测速硬件也未在可读正文中完整提供,不据经验填充。虽然耦合子网使用因果卷积,预处理插值及滑窗形成仍可能引入等待,因此不能仅凭“因果”就声称整个系统无延迟在线运行。

实验关键数据

主实验

所有结果为百分数。作者把测试视频的帧级分数串接后计算 micro-averaged AUROC 与 AP,不是先算每段视频指标再平均。ShanghaiTech 含 330 个正常训练视频、107 个测试视频与 13 个固定摄像机;UBnormal 是含 29 个场景的合成基准,训练、验证、测试视频数为 268、64、211;MSAD 含 720 个视频、55 类异常。HR 表示 Human-Related 子集,不等于输入中只有人,MSAD-HR 的 7 个类别中仍有交通事故等包含车辆的事件。

数据集 方法 AUROC AP
ShanghaiTech STG-NF 85.9 77.6
ShanghaiTech SeeKer 85.5 80.0
ShanghaiTech TrajVAD-T 84.9 87.7
ShanghaiTech TrajVAD-P 88.6 90.9
UBnormal STG-NF 71.8 62.7
UBnormal SeeKer 77.9 80.3
UBnormal TrajVAD-T 68.0 63.2
UBnormal TrajVAD-P 73.8 68.3
MSAD-HR STG-NF 55.7 56.5
MSAD-HR SeeKer 61.1 60.1
MSAD-HR TrajVAD-T 69.7 60.4
MSAD-HR TrajVAD-P 68.5 58.5
MSAD STG-NF 53.8 37.5
MSAD TrajVAD-T 57.2 42.7
MSAD TrajVAD-P 55.5 41.5

数据来自原文表 2、3、4 的选取行。ShanghaiTech 上,T 相比 STG-NF 的 AUROC 低 1.0 点,但 AP 高 10.1 点,因此“更好”必须说明指标;P 在该表比较方法中两项均领先。UBnormal 上 P 相比 T 提升 5.8 AUROC 点,仍比 SeeKer 低 4.1 点。MSAD-HR 上 T 比 SeeKer 高 8.6 AUROC 点,但 AP 只高 0.3 点,不能把 AUROC 的大幅领先泛化为所有指标都大幅领先。

消融实验

以下为原文表 6 的 ShanghaiTech 完整集列。维度只统计边界框特征,不含 3 维类别嵌入;括号内为相对完整特征的 AUROC 百分点变化。

移除特征组 剩余维度 TrajVAD-T AUROC TrajVAD-P AUROC
不移除 27 84.9 88.6
状态 21 84.6 (-0.3) 87.5 (-1.1)
时间动力学 17 83.9 (-1.0) 88.2 (-0.4)
几何动力学 25 84.0 (-0.9) 88.0 (-0.6)
伪物理量 25 84.1 (-0.8) 88.0 (-0.6)
透视归一化 21 83.4 (-1.5) 88.6 (+0.0)
检测置信度 26 82.5 (-2.4) 85.9 (-2.7)

单个置信度标量的消融损失超过任一其他特征组,说明模型并非只利用纯几何运动,也依赖检测器内部对遮挡、截断和外观的反应。透视归一化对 T 很重要,对 P 则无额外收益;作者将后者归因于姿态分支的骨盆归一化已提供身体相对尺度。这里的消融在 ShanghaiTech 上完成,不能把 -2.4 点当成 UBnormal 上直接测出的置信度消融结果。

关键发现

原文表 5 把端到端耗时拆开。检测跟踪与姿态按帧计,推理按窗口计;作者在 stride-1 滑窗协议下合计为每个新窗口的开销,不能把不同单位直接推广到任意批处理设置。

方法 检测跟踪 ms/帧 姿态 ms/帧 推理 ms/窗口 总计 ms/窗口
STG-NF 105.8 31.0 8.8 145.6
MoCoDAD 105.8 31.0 2857.0 2993.8
TrajVAD-T 104.4 不使用 2.8 107.2
TrajVAD-P 104.4 31.0 8.6 144.0

T 的主要节省来自取消姿态估计,而非让检测器免费运行;其 107.2 ms 总开销仍不能支持未经限定的高帧率实时宣称。P 的总耗时只是略低于 STG-NF,不能把纯轨迹版的效率收益全归到融合版。

表 7 随机删除每条轨迹 10% 的检测后,T 的 AUROC 从 84.9 降到 82.4,损失 2.5 点;STG-NF 从 85.9 降到 80.7,损失 5.2 点;TSGAD 从 80.6 降到 76.1,损失 4.5 点。这支持对短检测缺口的鲁棒性,但不是对持续遮挡或身份切换的全面验证。图 4 在 \(K=2\) 到 \(22\) 间扫描,T 在 ShanghaiTech 上处于 83.8 至 84.9 AUROC,最优 \(K=6\);P 最优 \(K=18\),缓存曲线未清晰给出所有点,故不重建完整数值序列。

亮点与洞察

  • 低成本表示不等于弱表示。 检测框已经包含尺度、形状和跨帧运动,把它只当作裁剪工具会浪费信息。本文的价值在于把这组通常作为中间产物的数据变成可独立检验的模态。
  • 异常覆盖与异常建模同样重要。 人体模型没有车辆输入时,再强的骨架建模也无从给出证据。MSAD-HR 的增益提示,选择能覆盖异常主体的表示,有时比改进单一主体上的网络更重要。
  • 可靠性应进入分数融合。 门控不仅给姿态乘权重,还同步调整有效维数,避免模态有无改变分数标度。可迁移的是这种缺失模态处理思路,而不是假定增加模态总会提高指标。

局限与展望

  • 作者明确指出检测质量依赖。 UBnormal 的合成画面产生类别跳变及低且嘈杂的置信度;漏检、身份不稳定和置信度失准都会进入轨迹特征。未来可检验检测置信度校准和轨迹不确定性建模,而不能把随机漏检实验当成全部上游问题已解决。
  • 作者明确指出类别与事件覆盖不足。 COCO 的 80 类虽比人体骨架广,但火灾、爆炸或词表外对象可能没有有效轨迹。T 从 MSAD-HR 的 69.7 降到完整 MSAD 的 57.2 AUROC,相差 12.5 点,反映更难的事件覆盖;这不是同分布受控消融,不能把全部差距单因果归于类别词表。
  • 笔记分析:融合贡献还需更细控制。 T 与 P 的流深度不同,主结果无法单独分离增加参数、轨迹条件化、门控和姿态信息的贡献。可读正文没有独立的无门控、无条件化对照,也未给出多随机种子置信区间。
  • 笔记分析:几何轨迹缺少语义与完整复现信息。 相同运动可能对应正常搬运或盗窃,固定摄像机场景之外的相机运动也会污染图像轨迹。缓存没有完整窗口到帧的分数聚合规则、补充材料特征定义和全部训练超参数,不能据本笔记声称可精确复现实验;开放词表检测与全局语义证据值得进一步验证。

相关工作与启发

  • vs STG-NF / SeeKer:它们以人体姿态为主要异常证据,TrajVAD 把多类别边界框作为底座。ShanghaiTech 与 MSAD 的结果显示该选择有益,但 UBnormal 上 SeeKer 更强,说明上游检测域差异仍能改变方法排序。
  • vs TSGAD / TrajREC:既有方法已利用人体轨迹或时序重建,因此本文不能被概括为首次使用轨迹。关键区别是把多类别完整边界框动力学、尺度与检测置信度整合为独立密度建模输入。
  • vs RGB / 光流方法:轨迹去掉大量背景外观,且异常分数可以关联到对象;代价是无法自然覆盖无可跟踪前景的事件。合理的延伸是验证对象轨迹与全局事件证据的互补性,而非用轨迹替代所有视觉信息。

评分

  • 新颖性: 4/5。轨迹检测与归一化流本身并不新,但多类别完整框动力学和可选姿态的组合定位明确。
  • 实验充分度: 4/5。覆盖三个基准、特征消融、漏检、深度与速度分析;缺少部分融合机制的独立控制及统计波动报告。
  • 写作质量: 4/5。两变体的适用范围与负结果交代清楚;缓存公式有抽取缺损,若干实现细节需补充材料核对。
  • 价值: 4/5。对已经运行检测跟踪的系统很有参考意义,但实际收益取决于目标覆盖、检测质量和异常的语义需求。