CAST:建模视觉状态转换的一致视频检索方法 CAST: Modeling Visual State Transitions for Consistent Video Retrieval
形式化CVR任务并提出CAST:以状态残差Δ实现上下文感知检索
前置知识
Dual-Encoder 视觉-语言模型
用两个独立的encoder分别把图像/视频和文本投影到同一嵌入空间,再用余弦相似度匹配。代表工作如CLIP将视频帧和文本token各自编码为$d$维向量,全局匹配。
CAST以CLIP/InternVideo2/VideoPrism等frozen dual-encoder为backbone,并在其embedding space内操作,不理解这种base模型就无法理解CAST的plug-and-play性质和零样本基线为何仍需大幅改进。
InfoNCE 对比损失
给定anchor $a$、正样本$p^+$和$N-1$个负样本,$\mathcal{L}_{NCE} = -\log \frac{\exp(\text{sim}(a,p^+)/\tau)}{\sum_j \exp(\text{sim}(a,p_j)/\tau)}$,通过softmax over negatives实现判别式学习。
CAST的$L_{batch}$是标准in-batch InfoNCE,$L_{state}$和$L_{ident}$是partitioned InfoNCE(分母只含特定类型负样本),理解这一区别对看懂type-aware objective至关重要。
残差连接(Residual Connection)
ResNet提出$y = x + F(x)$,使网络只需学习residual $F(x)$。He et al. 2016证明这能缓解梯度消失并让训练更深网络成为可能。
CAST的核心公式$\hat{v}_t = \phi(v_{t-1} + \Delta)$本质是embedding space内的残差学习:$\Delta$分支负责procedural变化,$v_{t-1}$通过skip connection自动保留identity信息,这是其inductive bias的根本来源。
Cross-Attention
Transformer中$\text{Attention}(Q, K, V) = \text{softmax}(QK^T/\sqrt{d})V$,其中Q来自一个模态/位置,K/V来自另一组(如历史序列),实现跨序列信息聚合。
CAST的Path 2以文本embedding $f_t(q_t)$为query、视觉历史$H_t$为key/value做multi-head cross-attention,让模型选择性关注relevant历史步骤而非smoothing全部。
Adapter Tuning(参数高效迁移)
冻结预训练backbone参数,只在中间插入少量可训练模块(如Houlsby adapter、LoRA、IA³),下游任务训练只需更新这些小模块即可。
CAST正是这一范式的实例——它训练一个小型MLP+Attention模块即可适配多种frozen backbone(CLIP、InternVideo2、VideoPrism、GME等),无需重新索引gallery,部署成本低。
程序性视频与状态一致性
Programmatic activities(烹饪、维修、装配)具有严格时序依赖:步骤不可任意调换,状态不可逆(鸡蛋不能从已碎回到未碎),这与开放域视频的scene-level retrieval有本质差异。
YouCook2/COIN/CrossTask都是程序性数据集,CAST设计的State Negatives正是为了检测模型是否能区分causally plausible vs implausible的continuation,没有这个先验就无法理解CVR基准的诊断价值。
研究动机
标准Text-to-Video Retrieval(如CLIP类dual-encoder方法)对每个query独立编码并计算相似度,忽略视频序列的时序上下文。在程序性视频场景(如烹饪教程的"洗→切→炒"流程)中,这种context-agnostic推理范式会引发两类失败模式:第一是State Error——检索到时序上违反因果约束的片段,例如query为"切番茄"却返回"已切好的番茄被装盘",因为鸡蛋无法从已碎状态回到未碎;第二是Identity Error——检索到身份不一致的片段,例如不同厨师或不同色调的木板。作者在YouCook2/COIN/CrossTask三个程序性数据集上测得zero-shot CLIP-B/32仅取得25.03%/14.10%/16.83%的top-1准确率,说明这些失败并非表征能力弱,而是缺乏对状态演化的归纳偏置。现有benchmark如MSR-VTT/MSVD/DiDeMo采用全局检索协议,gallery中绝大部分clip在语义上差异显著,模型依靠粗粒度视觉线索(如场景、物体)就能取胜,根本无法诊断一致性错误。
本文的目标是本文提出三个层次的具体目标:(1)形式化Consistent Video Retrieval (CVR)任务,将检索从context-agnostic匹配 $v^* = \arg\max_v \text{sim}(f_t(q), f_v(v))$ 重写为上下文感知推理 $v_t^* = \arg\max_v P(v \mid H_t, q_t)$,其中 $H_t = \{v_{t-L}, \ldots, v_{t-1}\}$ 是最近的历史片段序列;(2)构建CVR诊断基准,在YouCook2/COIN/CrossTask上采用1-vs-9多选排名协议,构造State Negatives(同视频不同时步保留identity但违反causality)、Identity Negatives(不同视频语义相似但身份错配)、Easy Negatives三类hard negatives,迫使模型超越关键词匹配;(3)提出CAST (Context-Aware State Transition)轻量adapter,通过残差建模 $\hat{v}_t = \phi(v_{t-1} + \Delta(v_{t-1}, q_t, H_t))$ 显式预测状态过渡,并设计type-aware contrastive objective与ensemble inference。
与已有工作不同的是,已有方法的两条主要路线都不足以解决一致性问题:(1)Dual-encoder类方法(CLIP、VideoCoCa、InternVideo2、VideoPrism)只能独立编码每个clip,缺少对历史 $H_t$ 和状态演化 $\Delta$ 的显式建模;(2)时序Transformer类方法(VideoBERT、HERO、UniVL、VIOLET)虽引入跨模态attention但仍优化全局video-text对齐,并未把检索anchor从query文本换到预测的下一状态。本文独特的切入角度是:把程序性动作理解为latent visual state transitions而非静态语义标签,将检索anchor从"query文本embedding"换成"extrapolated future state embedding" $\hat{v}_t$,并在embedding space内预测instance-conditioned向量残差 $\Delta$ 而非做scalar re-weighting。同时把adapter做成plug-and-play的query-side模块,gallery无需重新索引,可在frozen backbone native embedding space内直接工作,兼顾了一致性建模与部署效率。
核心方法
CAST的整体直觉是"程序性动作主要改变状态相关视觉因素,而场景/身份/背景相对稳定",因此可以用加性残差 $\Delta$ 刻画过渡,$v_{t-1}$ 通过残差连接自动保留identity线索而无需显式正交约束。具体技术路线:把CAST实现为frozen backbone之上的轻量adapter,输入是anchor状态 $v_{t-1}$、文本embedding $f_t(q_t)$、历史序列 $H_t$,输出是预测的下一状态embedding $\hat{v}_t$。预测过程分解为两条互补路径——Path 1(Instruction-Conditioned)将拼接向量 $[f_t(q_t); v_{t-1}] \in \mathbb{R}^{2d}$ 送入MLP得到 $\Delta_{cond}$,用于把指令ground到当前视觉状态;Path 2(Temporal Context Attention)以 $f_t(q_t)$ 为query、$H_t$ 为key/value做multi-head cross-attention再经MLP投影得到 $\Delta_{ctx}$,用于消解长程歧义(例如区分"早期搅拌"vs"晚期搅拌")。两条路径相加 $\Delta = \Delta_{cond} + \Delta_{ctx}$,再经过L2归一化 $\phi$ 得到最终预测 $\hat{v}_t$。训练采用type-aware contrastive objective,由全局 $L_{batch}$(in-batch InfoNCE)、细粒度 $L_{state}$(分母仅含state negatives)、$L_{ident}$(分母仅含identity negatives)三部分组成,组合损失 $L = L_{batch} + \lambda_s L_{state} + \lambda_i L_{ident}$,其中 $\lambda_s = 5.0 > \lambda_i = 1.0$ 反映"state discrimination是主要挑战"的先验。推理时ensemble三个分数——$A$(query文本-vs-candidate视觉)、$B$($v_{t-1}$ vs candidate)、$C$($\hat{v}_t$ vs candidate),按 $S(q,c) = A + w_v B + w_p C$ 综合排序,$w_v, w_p$ 在held-out validation上选定后保持固定。
核心创新点与已有方法存在表征层面的本质区别。已有方法(包括Late Fusion Heuristic/Learned和Early Fusion Feature Concat)都把query与history中各片段的相似度作为scalar重新加权,等价于在已有打分信号空间内做线性调优,本质上仍依赖context-agnostic similarity;而CAST在embedding space内预测instance-conditioned向量残差 $\Delta \in \mathbb{R}^d$,相当于把检索anchor从静态query文本 $f_t(q_t)$ 换成extrapolated future state $v_{t-1} + \Delta$。这一设计带来两点关键收益:(1)残差形式天然引入inductive bias——procedural相关变化由 $\Delta$ 分支学习,identity/background由 $v_{t-1}$ 通过skip connection自动保留,无需显式正交约束;(2)残差建模与content-motion decomposition(Villegas et al. 2017)有几何直觉上的对应——persistent content vs transient motion。第二个关键创新是把状态视作embedding几何的emergent property而非预定义离散标签,避免了state discovery方法对discrete vocabulary粒度的依赖。第三个创新是plug-and-play query-side design——adapter只在query侧计算,gallery维持frozen embedding不变,无需重新索引百万级视频,在工程层面兼顾了可扩展性与一致性建模。
方法步骤详情
完整流程分训练和推理两阶段。训练阶段:(1)用frozen backbone(如CLIP ViT-B/32)抽取文本embedding $f_t(q_t)$ 和3帧均匀采样mean-pooled视频embedding $v_c$;(2)构造滑动窗口样本,对每个step $t$ 取最长 $L=5$ 的preceding clips作为 $H_t$;(3)mining batch negatives,含同batch其他sample的 $v^+$ 作为in-batch positives以及每个sample额外的state/identity negatives;(4)两条路径并行计算,Path 1将 $[f_t(q_t); v_{t-1}] \in \mathbb{R}^{2d}$ 送入两层MLP得到 $\Delta_{cond}$;Path 2以 $f_t(q_t) \in \mathbb{R}^d$ 为Q、$H_t \in \mathbb{R}^{L \times d}$ 为K/V做multi-head attention,attention output经MLP投影为 $\Delta_{ctx}$;(5)加和 $\Delta = \Delta_{cond} + \Delta_{ctx}$,预测 $\hat{v}_t = \phi(v_{t-1} + \Delta)$,其中 $\phi$ 为L2归一化;(6)计算三类loss,$L_{batch}$(公式6标准InfoNCE over batch)、$L_{state}$(公式7分母仅含state negatives)、$L_{ident}$(公式8分母仅含identity negatives),按 $L = L_{batch} + 5.0 L_{state} + 1.0 L_{ident}$ 组合;(7)AdamW优化,lr=1e-4、weight decay=1e-3、batch size=512,YouCook2/COIN/CrossTask分别训练30/20/50 epochs。推理阶段:(1)Gallery一次性预索引frozen video embeddings $v_c$;(2)对每个新query在线计算 $\hat{v}_t$;(3)计算三个score $A=\text{sim}(t_q, v_c)$、$B=\text{sim}(v_{t-1}, v_c)$、$C=\text{sim}(\hat{v}_t, v_c)$;(4)Ensemble $S = A + w_v B + w_p C$,$w_v, w_p$ 在validation split上搜索后固定;(5)在candidate pool $C = \{v_{gt}\} \cup N_{state} \cup N_{identity} \cup N_{easy}$(共10 candidates)内按 $S$ 排序输出top-1。
技术新颖性
技术新颖性体现在四个层面。(1)任务层面——首次formalize Consistent Video Retrieval (CVR),区别于标准text-to-video retrieval的 $P(v \mid q)$,新任务定义为 $P(v \mid H_t, q_t)$,并配套构建带三类hard negatives的诊断基准,根本性弥补了MSR-VTT/MSVD/DiDeMo-style benchmark无法捕捉一致性错误的缺陷;(2)建模层面——首次将procedural step显式建模为latent state transition $\Delta$,与视频理解领域已有的discrete state discovery(Isola et al. 2015、Souček et al. 2022)相比,连续embedding空间内的残差预测避免了vocabulary粒度瓶颈,且对fine-grained yet incoherent states(如"pre-slicing"vs"post-slicing")具备更强区分能力;(3)架构层面——双路径设计 $\Delta = \Delta_{cond} + \Delta_{ctx}$ 巧妙将"即时状态变化"和"长程上下文消歧"解耦,cross-attention over history让模型可学习式地关注相关步骤而非smoothing all history;(4)训练目标层面——type-aware contrastive loss将state negatives和identity negatives放在独立的denominator,避免identity negatives因semantic overlap高而在标准InfoNCE中dominate梯度;$\lambda_s = 5.0 > \lambda_i = 1.0$ 显式编码了"state discrimination优先于identity preservation"的prior,因为后者已被residual connection通过 $v_{t-1}$ 自动保证。
实验结果
核心发现分五个维度。(1)CLIP-B/32 backbone (Table 2):CAST在YouCook2取得44.77% Acc / Mean Rank 2.15,相对Zero-Shot 25.03% (MnR 3.60) 提升19.74个百分点,相对Late Fusion (Learned) 36.60%提升8.17pp,相对Early Fusion 35.99%提升8.78pp;CrossTask上CAST 47.39% (MnR 2.14) 大幅领先最强baseline Early Fusion 35.29% (MnR 2.36) 12.10pp;COIN上CAST 40.47%略低于Late Fusion Learned 44.66%,作者解释为COIN相邻step视觉相似度高使learned scalar fusion能exploit visual inertia,但在CrossTask/YouCook2(procedural变化更显著)上该baseline退化严重,CrossTask仅25.52%。Diagnostic metrics (跨数据集平均) State Acc从baseline的45.52%/40.06%/31.14%统一提升到53.81%,Ident Acc从28.90%/76.06%/83.59%提升到74.67%。(2)跨backbone通用性 (Table 3):在SOTA视频foundation model InternVideo2-1B上CAST把YouCook2从36.75%→71.68% (+34.93pp),CrossTask从20.61%→64.36% (+43.75pp);VideoPrism-B在YouCook2从47.45%→75.59% (+28.14pp);在multimodal embedding model GME-Qwen2-VL-2B上YouCook2从29.62%→54.39% (+24.77pp),Qwen3-VL-Embedding从33.45%→56.64% (+23.19pp),且所有backbone下CAST的State Acc提升至65-77%、Ident Acc提升至69-78%。(3)诊断拆解 (Table 4, 5):YouCook2 ablation显示Residual Modeling相比Direct Prediction将Early Fusion从35.99%提升到38.95%,State Acc从38.92%→43.51%;加入Dual-Path + Cross-Attention进一步提升到44.77%。Inference signal decomposition表明CAST prediction score $C$单独就达42.60% Acc / 50.81% State / 75.99% Ident;Semantic Ensemble $(A+C)$ 取得最高45.46% Acc但Identity仅70.38%;Full Ensemble $(A+B+C)$ 以0.69pp Acc换取+8.10pp Ident Acc,成为default。(4)上下文长度消融 (Figure 6):$L=0$到$L=1$带来sharpest gain (YouCook2 Acc从25%跳到~45%),$L \geq 1$后趋于饱和,说明immediate predecessor $v_{t-1}$ 已是primary causal anchor。(5)视频生成应用 (Table 6, Figure 5):对300个YouCook2 prompts用Veo生成 $K=4$ 候选,人工评估non-overlap 158 prompts上CAST选中率55.1% vs Standard Text Match 38.6% (overall preference),physical plausibility 50.6% vs 39.9%、temporal logic 52.5% vs 38.6%。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| Consistent Video Retrieval (YouCook2, CLIP-B/32) | Accuracy@1 (Recall@1 in 1-vs-9) | 44.77% | Zero-Shot CLIP: 25.03% | +19.74pp (相对最强Late Fusion Learned 36.60% 也提升+8.17pp) |
| Consistent Video Retrieval (COIN, CLIP-B/32) | Accuracy@1 | 40.47% | Zero-Shot CLIP: 14.10% | +26.37pp (略低于Late Fusion Learned 44.66%,因视觉惯性shortcut) |
| Consistent Video Retrieval (CrossTask, CLIP-B/32) | Accuracy@1 | 47.39% | Zero-Shot CLIP: 16.83% | +30.56pp (领先最强baseline Early Fusion 35.29%达+12.10pp) |
| Consistent Video Retrieval (YouCook2, InternVideo2-1B) | Accuracy@1 | 71.68% | Zero-Shot InternVideo2: 36.75% | +34.93pp (几乎翻倍) |
| Consistent Video Retrieval (YouCook2, VideoPrism-B) | Accuracy@1 | 75.59% | Zero-Shot VideoPrism: 47.45% | +28.14pp (绝对最高) |
| Consistent Video Retrieval (YouCook2, GME-Qwen2-VL-2B) | Accuracy@1 | 54.39% | Zero-Shot GME: 29.62% | +24.77pp (验证multimodal embedding上也plug-and-play) |
| Consistent Video Retrieval (YouCook2, Qwen3-VL-Embedding-2B) | Accuracy@1 | 56.64% | Zero-Shot Qwen3-VL: 33.45% | +23.19pp (SOTA multimodal embedding同样受益) |
| Video Generation Reranking (Veo, YouCook2) | Human Overall Preference (300 prompts, non-overlap 158) | 55.1% | Standard Text Match: 38.6% | +16.5pp (验证 $\hat{v}_t$ 可作为black-box generation reranking signal) |
局限与改进
作者在§5 Limitations中明确承认三点:(1)上下文窗口固定 $L=5$,无法捕捉更长的远距离依赖(如几步骤前引入的对象或状态变化);(2)作为轻量adapter,CAST本质受限于frozen backbone的表征质量,当base encoder无法区分细微纹理或object-configuration差异时CAST同样受限;(3)残差 $\Delta$ 无显式几何约束,虽有效但未强制latent space分离时序进展与persistent identity。从我的独立观察补充:(4)CVR benchmark仅在程序性数据集(YouCook2/COIN/CrossTask)验证,开放域长视频(如电影片段)是否适用未验证;(5)推理时ensemble权重 $w_v, w_p$ 需在每个数据集和每个backbone上单独validation调优,缺乏统一规则;(6)计算 $\hat{v}_t$ 需online forward无法batch-friendly,延迟敏感场景吞吐受限;(7)COIN上CAST略输Late Fusion Learned 4.19pp说明visual inertia在某些数据集仍是难以打破的shortcut;(8)Human study只用3名评估者、158 non-overlap prompts,统计显著性有限;(9)Backbone-specific feature extraction差异(CLIP用3帧mean-pooling vs VideoPrism/InternVideo2的时序token)未深入讨论是否影响adapter上限。
独立分析的弱点
独立分析的弱点(按严重性排序):(1)Ensemble权重 $w_v, w_p$ 需per-dataset per-backbone grid search,缺乏可解释的选择规则,部署到新数据集时调参成本高——改进方向是学一个meta-network预测权重或通过ablation证明存在稳健的default ratio;(2)双路径加法 $\Delta = \Delta_{cond} + \Delta_{ctx}$ 是手工选择,可能不最优——可学习门控 $g \odot \Delta_{cond} + (1-g) \odot \Delta_{ctx}$,$g$ 由 $f_t(q_t), v_{t-1}, H_t$ 共同决定,让模型自适应平衡两条路径的贡献;(3)Loss权值 $\lambda_s=5.0, \lambda_i=1.0$ 是固定超参,对小数据集或domain shift可能over-weight state discrimination——可改为uncertainty-based自动加权(Kendall et al. multi-task learning),或对state negatives数量做课程式调度;(4)Type-aware contrastive独立优化state/identity loss但忽略了state negatives与identity negatives间的orthogonality假设未必成立——可加入互斥约束或shared negative pool进行对比;(5)Hard negative mining仅3+3+3+1规模,未评估scaling到20+20+1时是否仍保持优势,更大的候选池更接近真实检索场景;(6)Path 2 cross-attention在 $L=5$ 已显式,扩到 $L=20$ 时计算开销线性增加但收益饱和——可改为sparse attention、perceiver-style latent attention或learned retrieval over history;(7)Inference时 $\hat{v}_t$ 需online forward,无法预计算,对大规模gallery + low-latency场景是瓶颈——可蒸馏成轻量predictor或预计算多个 $\hat{v}_t$ for top-K histories;(8)Adapter参数选择(hidden dim、head数、layer数)未给出sensitivity分析,新数据集部署时缺乏先验。
未来方向
作者在§5和Conclusion中提出的方向:(1)分层记忆hierarchical memory捕获更长程依赖,例如short-term buffer (L=5) + long-term summary module,将每k步压缩为abstract state token;(2)更结构化的正则化分离state transition与identity cues,例如正交约束 $\Delta \perp v_{t-1}$、auxiliary head预测discrete state token、或contrastive loss显式拉远future state与anchor state。基于成果可延伸的方向:(3)扩展到open-domain视频(电影、vlog),构造非程序性的State Negatives (scene change、identity shift) 和Identity Negatives,验证generalization边界;(4)与video generation联合训练,让generator的output本身就optimize for $\hat{v}_t$ compatibility而非仅靠post-hoc reranking,形成end-to-end可优化系统;(5)应用到具体下游如instructional video QA、装配指导、自动教学反馈等领域;(6)探索更高效的adapter架构(如LoRA、IA³)替代MLP-based dual-path以降低参数和延迟;(7)把CVR benchmark推广到multi-modal retrieval (text + audio + visual) 评估音频线索能否帮助消歧state;(8)研究CVR与video moment retrieval、temporal grounding的结合,把"找下一片段"扩展为"找任意时刻的片段"。
复现评估
复现评估整体良好但有缺口。(1)数据集——YouCook2 (官方train/val split, 414 videos, 3179 step-clips, 2765 queries)、COIN (官方train/test, 2134 videos, 6241 clips, 4107 queries)、CrossTask (video-disjoint 80/20 with seed 42, 509 videos, 2731 clips, 2222 queries) 均为公开数据集,详细mining规则见Appendix B / Table 9;(2)训练超参明确——AdamW (lr=1e-4, wd=1e-3)、batch=512、epochs=30/20/50 (YouCook2/COIN/CrossTask)、loss weights $\lambda_s=5.0, \lambda_i=1.0$、context window $L=5$、温度 $\tau$ 标准设定、3帧uniform sampling + mean-pooling;(3)Backbone checkpoints——Appendix A列出InternVideo2-1B、VideoPrism-B、GME-Qwen2-VL-2B、Qwen3-VL-Embedding-2B的具体HuggingFace/官方repo,CLIP用OpenAI ViT-B/32;(4)未在正文/footnote发现公开code repo链接,hard negative mining、ensemble coefficient search、type-aware loss需自行实现,难度中等;(5)算力——单backbone 30/20/50 epochs of batch=512 on video任务,单卡A100级别可在数小时内完成,跨5个backbone总成本约几十到几百A100-hours;(6)Human study部分涉及Veo API调用成本不可忽视。综合评估:超参和数据集细节充分,第三方可基于公开backbone checkpoints和标准数据集实现核心算法,但缺code release需自行实现benchmark construction和training pipeline,复现门槛中等。
论文图表
左侧展示context clip(人在准备食材)和query"slice the tomatoes";中间示意latent shift $\Delta_{q,v}$ 在embedding空间中的方向;右侧对比text-only retrieval的失败案例(State Error返回已切好的番茄被装盘、Identity Error返回不同的人在另一块木板上切菜、Semantic Error返回语义相似但无关片段)和CAST的正确结果(同一厨师、同环境的下一步)。
这是论文motivation的核心视觉证据,一张图同时展示了"什么是state error""什么是identity error"以及CAST通过建模 $\Delta$ 如何规避这两类失败,帮助读者快速建立问题直觉。