O-VAD:基于以对象为中心的跟踪与推理的工业视频异常检测 O-VAD: Industrial Video Anomaly Detection through Object-Centric Tracking and Reasoning
无需训练的智能体框架,通过追踪物体状态演化检测工业视频异常
前置知识
视频异常检测(VAD)
从视频流中识别偏离正常模式的事件。传统方法主要分两类:重构型(把异常样本重建为对应的正常样本,用重建误差打分)和嵌入型(建模正常样本的特征分布,衡量偏离程度)。两者通常采用『一类一模型』范式,需要为每个对象类别准备大量正常样本训练,且只输出二分类分数,无法解释为什么判异常。
O-VAD 要解决的核心问题就是传统 VAD 在工业动态产线上的不可用:每来一个新对象类别或新工序就要重训一个模型,且没有语义解释。理解这一痛点才能看懂为什么作者要彻底放弃训练范式。
视觉语言模型(VLM)
能同时处理图像/视频和文本的多模态大模型,如 GPT-5、Qwen3-VL-32B。它兼具视觉感知和语言推理能力,可在零样本下『看图说话』并给出开放式文本判断。本文用 VLM 来发现物体、识别状态变化、做链式推理,依赖其内化的常识与物理知识而非外部注入的领域知识。
O-VAD 是一个完全 training-free 的 agentic 框架,VLM 是其中的『大脑』。理解 VLM 的零样本语义理解能力,才能明白为什么可以绕过『一类一模型』训练直接做开放式异常检测。
SAM / SAM2 / SAM3 分割模型
Segment Anything 系列分割模型。SAM 接受点/框等几何提示做二值分割;SAM2 是视频原生版本,带记忆注意力机制做时序传播,每帧输出 3 个候选掩码;SAM3(Segment Anything with Concepts)支持概念级分割,能直接根据文本描述生成像素掩码。本文 Stage 1 用 SAM3 做『文本→掩码』,Stage 2 用 CropFormer 做逐帧类别无关分割、用 SAM2 做时序 tubelet 传播。
这三个模型各司其职是 O-VAD 流水线的关键:没有 SAM3 就无法把 VLM 文本输出变成掩码;没有 SAM2 的多掩码输出,状态变化时的歧义分割就处理不了。论文的模块化设计正是基于它们各自的能力边界。
链式思维(Chain-of-Thought, CoT)
一种引导大模型显式分步推理的提示技术,让模型在给出最终答案前先输出中间推理过程。O-VAD 设计了一个 6 步级联 CoT:观察(Observation)→预期(Expectation)→比较(Comparison)→归因(Causation)→分类(Classification)→严重度(Severity),模拟人类质检员诊断故障的认知过程。
消融实验显示,把 6 步结构化 CoT 换成通用的『think step by step』会让所有类别的 AUC 下降 0.038~0.091。这说明结构化推理本身是性能来源之一,不是可有可无的装饰。
Tubelet 与时空分割(Spatiotemporal Partition)
Tubelet 是同一个实体在多帧上的掩码序列,相当于一条贯穿视频的『时空管道』。构建时空分割就是把每一帧的每个像素区域都关联到一个被追踪的实体。O-VAD 基于 TubeletGraph 框架,用 CropFormer 做逐帧密集分割、SAM2 做时序传播,新出现的区域(如物体破裂掉出的碎片)面积超过 τcoverage=0.25 未被覆盖就开新 tubelet。
这是 O-VAD 把分析单元从『整帧』下沉到『单个物体』的基础结构。状态轨迹 $\mathcal{S}_k=\{(m_k^{(t)},\phi_k^{(t)})\}_{t=1}^{T}$ 就是建立在 tubelet 上的,没有它就无法做以对象为中心的推理。
研究动机
工业视频异常检测(IVAD)要识别制造过程中的异常对象和事件,但现有方法在工业场景下普遍失效。传统 VAD(重构型如 MNAD.p、嵌入型如 S3R)采用『一类一模型』范式,每个对象类别都要大量正常样本重训一个模型,对新类别、新工序、动态产线几乎不可用,且只输出二分类分数(1 vs 0),完全没有语义解释,操作员无法做根因分析。基于 VLM 的方法虽能零样本理解异常,但在工业场景性能骤降:要么依赖复杂的提示工程注入外部知识/正常样本做测试时推理,要么把整帧压成整体特征描述,丢失了对象级细节。在 Phys-AD 上,直接用 GPT-5 提示的视频级 AUROC 只有 0.503,Qwen3-VL-32B 只有 0.513,几乎接近随机。一个典型例子:牙膏管先受压变形、最后才出现细微渗漏,传统方法只给 0/1,GPT-5 直接提示则因缺乏证据回答『未检测到异常』,完全漏检。
本文的目标是本文要打造一个无需训练、无需领域知识、无需预定义异常类型表的 IVAD 框架,能像人类质检员一样:先锁定视频里所有相关物体,再逐个追踪每个物体在时间上的物理状态演化(形变、材料释放、表面变化等),最后基于这些以对象为中心的时空证据做开放式异常推理,输出包含异常类型、严重度、受影响对象、时间定位(异常帧范围)和因果解释的结构化报告。框架要在 Phys-AD、LiquidAD、IPAD 三个工业数据集上同时达到视频级和帧级 SOTA,并在判别精度之外提供可解释、可操作的报告。
与已有工作不同的是,作者的核心洞察是:VLM 在工业场景失效的瓶颈不在语言推理能力,而在『证据构造』——基线 VLM 拿到的是 caption 级输入,只能判断『行为是否符合预期』,没有细粒度的对象级状态轨迹来锚定判断。于是 O-VAD 把分析单元从『整帧』下沉到『单个对象』,用 ground→track→reason 的 agentic 流水线显式构造每个对象的状态轨迹,再用 VLM 内化的常识和物理知识做认知级推理,而非外部注入领域知识。这与之前『往 prompt 里塞正常样本/知识』或『整帧 caption 后打分』的方法有本质区别,也解释了为何 O-VAD 能避免基线 VLM 普遍出现的『默认判正常』的假阴性崩塌。
核心方法
整体直觉是模仿人类质检员:人不会看完整个视频就下结论,而是盯住每个工件,看它在切割/压装/旋转过程中状态怎么演变,哪些变化偏离了预期,再据此判断故障。O-VAD 把这个认知过程拆成三阶段 agentic 流水线。Stage 1 自动发现并分割所有任务相关物体;Stage 2 把每个物体在时间上追踪成一条状态轨迹,并在关键时间转折点用 VLM 标注开放式状态变化事件;Stage 3 把累积的对象元数据、状态变化事件、视频 caption 和采样帧喂给 VLM,跑一个 6 步级联链式思维,区分『正常工序动作』和『失败结果』,再用置信度分级的视觉验证压制假阳性,最终输出结构化异常报告。整条流水线完全 training-free,不依赖任何领域知识、标签或预定义异常类型表。形式化上,对象级异常推理为 $\hat{y}_{t,k}=\phi_{\text{VLM}}(p_{\text{CoT}}\oplus\mathcal{S}_k\oplus c)$,帧级和视频级分数分别通过对对象、对帧做 max-pooling 得到。
最核心的创新是『把分析单元从整帧下沉到单个对象』,并围绕这一点构造显式的对象状态轨迹 $\mathcal{S}_k=\{(m_k^{(t)},\phi_k^{(t)})\}_{t=1}^{T}$,其中 $m_k^{(t)}$ 是物体 $k$ 在第 $t$ 帧的掩码,$\phi_k^{(t)}$ 是 VLM 生成的自然语言状态描述。这与以往『caption 整段视频再打分』的方法有本质区别:以前 VLM 拿到的是『行为是否符合预期』的高层判断,没有证据锚点;现在每个异常判定都必须引用具体的对象 ID、帧范围和状态变化事件。第二个关键设计是开放式标注:状态变化类型(如压缩形变、材料释放、旋转阻力)和异常类型都不限定在固定词表里,全由 VLM 自由生成,从而能泛化到训练时没见过的工业过程和新型故障。这套设计让 O-VAD 能做『跨对象诊断推理』——比如把螺丝刀杆弯曲(obj_id 3)和螺丝头滑丝(obj_id 2)关联起来推断为扭矩控制失效——这是帧级方法做不到的。
方法步骤详情
Stage 1 对象接地:均匀采样多帧,GPT-5 出结构化对象清单(名字/描述/空间线索)并跨帧去重,SAM3 在参考帧做概念级分割得初始掩码,检测阈值故意很松(τconf,1=0.1)最大化发现召回。Stage 2 状态追踪:CropFormer 逐帧密集分割 + SAM2 时序传播构建 tubelet,区域未被覆盖面积超 τcoverage=0.25 即开新 tubelet;用空间邻近度($>\tau_{prox}=0.3$,比对 SAM2 三候选掩码)和语义一致性(mask-pooled CLIP 余弦 $>0.7$)两个先验恢复物体破裂/释放材料后丢失的轨迹;对相邻采样帧用 VLM 做开放式状态变化检测,事件记为 $e=(t_{start},t_{end},type,cause,desc,sev,k)$。Stage 3 状态感知推理:把对象元数据、状态变化、caption、关键帧喂 VLM 跑 6 步 CoT(观察→预期→比较→归因→分类→严重度)出候选异常,再置信度分级验证:$c_{orig}>\tau_{hi}=0.8$ 跳过、$<\tau_{lo}=0.2$ 丢弃、中间区段视觉重核,按乘性门控 $c_{final}=c_{orig}\cdot c_{ver}$(真)或 $\cdot(1-c_{ver})$(假)重算,仅 $c_{final}\geq\tau_{conf}=0.3$ 保留。
技术新颖性
技术新颖性体现在三点。第一,首次把『对象状态演化』作为 IVAD 的核心分析单元,并设计了完整的 ground→track→reason agentic 流水线来显式构造它,而以往 VLM-based 方法停留在帧级/视频级 caption。第二,在 Stage 2 扩展 TubeletGraph 时新增了两个组件——开放式状态变化标注(VLM 自由生成变化类型和原因)和对象间交互分析,使轨迹不只是几何追踪而是带语义的『状态轨迹』。第三,Stage 3 的置信度分级视觉验证(公式 10 的乘性门控)是一种巧妙的延迟成本控制:高置信度直接放过、低置信度直接丢弃、只对中间灰区做昂贵的二次视觉核验,既压假阳性又不显著增加延迟。模块化设计(SAM3/CropFormer/SAM2 各司其职)也使流水线可以随更好模型出现而局部升级。
实验结果
O-VAD 不用任何训练数据/领域知识/预定义类型表即达 video- 和 frame- 级 SOTA。Phys-AD 视频级 AUROC 0.584,超 Qwen3-VL-32B(0.513)、GPT-5(0.503)、URF(0.426)、VERA(0.456),甚至超训练基线 MNAD.p(0.495)和 S3R(0.555);22 类 16 类最优或次优,Gear 0.879、Sticky Roller 0.811、Lock 0.780、Screw 0.704;type 级 BERTScore 0.803、LLM-judge 0.595 均训练免最佳。LiquidAD(8 并行移液器)视频级 AUROC 0.692、帧级 Recall 0.614、F1 0.507 训练免最强;零样本 VLM 在此近乎召回为零。IPAD(参考式协议)视频级 AUROC 0.565、帧级 0.518,12/16 场景视频级第一。Case 上塑料瓶泄漏 GPT-5 漏报、O-VAD 追踪形变→材料释放判高严重度;铰链螺丝三缺陷共存 GPT-5 判正常、O-VAD 全捕获归因扭矩控制。人工评估(5 专家/10 视频)检测均分 4.42 vs Qwen3 2.89 vs URF 1.14,二分类 Q1 4.98/5,82% 排第一。核心结论:瓶颈不在语言推理而在对象级证据构造。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| Phys-AD 视频级异常检测 | AUROC | 0.584 | S3R (trained) 0.555 / Qwen3-VL-32B 0.513 / GPT-5 0.503 / URF 0.426 / VERA 0.456 / MNAD.p 0.495 | 训练免方法中最高,且超过所有训练基线;比次佳训练免方法 Qwen3 +0.071 |
| Phys-AD 异常类型语义对齐 | BERTScore | 0.803(训练免最佳) | Qwen3-VL-32B 0.798 / GPT-5 0.878 | 训练免方法中最优,14/22 类别最佳 BERT 分;LLM-judge 0.595 > GPT-5 0.580 > Qwen3 0.372 |
| Phys-AD 多步交互类别 | AUROC (Gear) | 0.879 | Qwen3 0.644 / S3R 0.358 / GPT-5 0.397 | +0.235 vs 次佳,状态追踪价值最显著的类别 |
| LiquidAD 视频级异常检测 | AUROC | 0.692 | S3R 0.651 / VERA 0.534 / Qwen3 0.489 | 训练免最佳;帧级 Recall 0.614、F1 0.507 最强 |
| IPAD 视频级异常检测(参考式协议) | AUROC | 0.565 | GPT-5 0.519 / VERA 0.519 / Qwen3 0.498 | 训练免最高,12/16 场景视频级第一;帧级 AUROC 0.518 |
| 人工评估二分类正确性 | Likert Q1 (1–5) | 4.98 | Qwen3 2.70 / URF 1.24 | 近满分;82% 评估对把 O-VAD 排第一 |
局限与改进
作者承认三点局限。第一,多阶段 agentic 流水线延迟远高于单次前向的 VAD 模型,且随每个视频被追踪对象数线性增长,实时产线部署受限。第二,O-VAD 依赖 VLM 内化的常识而非领域专家先验,对『由不可见物理属性或精确规格定义的异常』性能下降——例如伺服电机转角受限(角度规格不在视觉证据里)、夹子未被按压(缺少对预期驱动结果的知识)。第三,静态或感知歧义缺陷(如卡住的按钮、退磁的磁铁)产生视觉上看似合理的行为,是感知驱动推理的根本边界。我自己补充几点观察:一是论文未给出端到端延迟的具体数字(每视频多少秒/分钟),只说『随对象数线性增长』,这对工业部署是关键缺失指标;二是 O-VAD 在 Phys-AD 上 Acc(0.592)和 F1(0.621)并未全面超越基线,说明在置信度阈值固定时仍存在一定的假阳/假阴权衡;三是所有实验用 GPT-5 和 GPT-4o 作为 VLM/judge,对闭源 API 的强依赖带来成本与可复现性隐患。
独立分析的弱点
第一是延迟与可扩展性:论文未给完整推理时间,但 agentic 多次 VLM 调用(每对象识别、每对帧状态变化检测、6 步 CoT、逐异常验证)成本随对象数和帧数累积,对 LiquidAD 这种 8 对象场景尤其昂贵;改进方向是批量合并 VLM 调用、用更小开源 VLM 替换 GPT-5、状态变化检测改事件触发式采样。第二是细粒度时空精度不足:Caster Wheel(0.301)、Zipper(0.388)、Button(0.393)、Slide(0.414)等类别异常是微小快速状态转变,默认 10 帧采样会漏;改进方向是自适应时间采样和多尺度空间推理。第三是规格依赖:伺服转角、夹子未按压需外部规格或功能知识,纯视觉覆盖不了;改进方向是注入少样本规格示例。第四是假阳性偏高:靠激进检测+后置验证压制假阳,但 Phys-AD F1(0.621)低于 MNAD.p(0.755);可引入对象级正常参考轨迹对比。
未来方向
作者明确提出的方向:少样本 in-context learning 注入规格示例,以桥接『不可见物理属性』的鸿沟;集成轻量领域先验和工序规格参考,处理静态/感知歧义缺陷。基于本成果可延伸的方向:一是自适应多粒度 captioning——消融显示去掉 video caption 在某些局部异常类别(如 screw)反而提升 F1(0.700→0.733),说明应按异常的时空尺度自适应选择 caption 粒度;二是把状态轨迹用到更多下游任务(故障预测、工序优化、根因图谱构建);三是用开源 VLM 替换 GPT-5 做完全可复现的开源版本,并把置信度分级验证拓展为多轮自纠错;四是扩展到 3D/多视角工业视频,当前 tubelet 是 2D 的,对遮挡敏感;五是结合时序动作分割把『正常工序步骤』显式建模,进一步降低对 VLM 常识的依赖。
复现评估
复现难度中等偏高。有利因素:论文给完整 Algorithm 1、全部 7 个阈值表(Table 5)、三数据集详细描述(Phys-AD 6434 视频/22 类/60FPS、LiquidAD 2251 视频/30FPS、IPAD 约 2000 片段/16 设备/25FPS)、Stage 1–3 完整 prompt(附录 A.5)和模型选择理由(Table 7),三数据集均公开。不利因素:核心 VLM 是闭源 GPT-5(Stage 1/3)和 GPT-4o(judge),API 成本和可复现性是隐患;未报端到端延迟、调用次数和总成本;实验用单卡 NVIDIA H200(141GB),但主要算力消耗在分割/跟踪模型而非训练;分割跟踪基于已有 TubeletGraph 加了两个新组件,代码未明确开源声明(项目页 https://o-vad.github.io/)。懂 VLM agent + 视频分割的团队可在数周内复现主体,但完整复现需要可观 API 预算。
论文图表
用牙膏管案例对比四类方法:传统基于特征嵌入/重构的 VAD 只输出 1 vs 0 二分类;带训练的 VLM 给出预定义标签;无训练的 GPT-5 直接提示回答『未检测到异常』并附 thinking/answer;O-VAD(无训练)输出含异常对象、类型(material_anomaly/unintended_extrusion_or_leakage)、帧范围(170–179)、状态轨迹和因果分析的开放式报告。图中把牙膏管的 pressing→deformation→leakage 三段状态演变画成时间轴。
这张图是理解整篇论文动机的关键:它直观展示了『为什么对象状态演化对工业异常检测至关重要』,以及 O-VAD 与四类已有方法在输出形式上的本质差异(二分类 vs 开放式可解释报告)。
两类失败案例。上方伺服电机转角受限:电机转到小角度平滑返回,Qwen3-VL-32B 和 O-VAD 都判正常,因为运动视觉上完全符合正常伺服,而异常由不可见的定量角度规格定义。下方磁铁退磁:退磁磁铁在操作中脱落,Qwen3 归因为夹持机构失效,O-VAD 检测到过夹形变和夹持不稳、判为压碎掉落而非失磁——磁铁外观像普通红色塑料块,磁性属性无法从视觉推断。
这两类失败案例揭示了感知驱动推理的根本边界:当异常由不可见物理属性(磁力、角度规格)定义时,纯视觉的状态追踪和常识推理都无法覆盖,直接对应论文 Limitations 部分的核心论断。
另两类失败案例。上方按钮卡住:O-VAD 追踪到金属按压工具在多个帧间隔反复形变,判为工具/夹具因过力损坏,但实际异常是按钮未驱动——按钮卡住和正常硬按钮产生相似的工具压缩视觉特征,O-VAD 捕获了正确症状(工具形变)却错误归因。下方夹子未被按压:按压工具下降再回缩而夹子保持静止,O-VAD 未检测到夹子的状态变化、判无异常,但真值是夹子本应被按压却没按,需要对预期驱动结果的知识。
这两类失败分别代表感知歧义(症状对但归因错)和规格依赖(预期结果不可视觉推断),与 Fig. 6 一起完整呈现了 O-VAD 失败模式的分类,是理解方法适用边界的关键。