相邻帧query差值修正谓词,切换帧R@10涨了4.8点

RTAformer: Relation-Transition-Aware Transformer for Video Scene Graph Generation

Jaeyeon Heo, Geuntaek Lim, Yukyung Choi

cs.CV

2026-10-14

RTAformer把物体持续和关系变化拆成两条时间流,用相邻帧关系query的校准差值去更新谓词。Action Genome上,同骨干对照里切换帧SGDET R@10比OED高4.8个点,非切换帧只高1.7个点。

这篇在解决什么

视频场景图生成(VidSGG)在每一帧输出物体,以及〈主体,谓词,客体〉。人可以一直在,杯子也在,「看着」却会在下一帧变成「没在看」。

把多帧揉进同一个时间上下文,预测会更稳,也会更赖着上一帧。这个失败叫关系语义惯性(relational semantic inertia)。配对没换,谓词变了,模型仍输出旧标签。图 1 里,基线 OED 在真值已从 looking at 变成 not looking at 之后,还在预测 looking at。用冻结的自监督视觉骨干 DINOv2 ViT-B/14 重做 OED,在每对主客体只留最高分谓词的 With Constraint 下,场景图检测 R@10 为非切换帧 45.9、切换帧 34.3,差 11.6 个点。

方法

RTAformer 做一阶段集合预测,推理不接跟踪器。冻结 DINOv2 ViT 和 Transformer 编码器提供帧特征。100 个三元组 query 各对应一对候选主客体。

每帧先走 Instance-Pair Decoder,让 query 读出这一对的空间上下文,再走 Relation Context Decoder,用这对表示去读关系。关系取决于是谁、框在哪,所以顺序不能反。两级解码器各 6 层。

时间上分成两条流,即 Disentangled Temporal Aggregation(DTA,解耦时间聚合)。身份跨帧还在,谓词说变就变。混在一条流里,「人还在」的证据容易把关系变化抹平。每条流 3 层时间解码器,参考 query 按分数保留,比例逐层 0.8、0.5、0.3。实例流按物体分类置信度聚合。

关系流进入时间解码之前,Transition-Aware Delta Injection(TADI,把帧间差值注入关系 query)先写入变化。同一下标上,当前帧关系 query 减去上一帧得到 Δ。Δ 拆成均方根幅度 rq 和按 rq 归一的方向。两层 MLP 根据 log(1+rq) 给一个缩放门,再乘前后帧物体置信度的几何平均,看不清的一侧少改。全局强度 γ 把残差加回当前关系 query。参考关系 query 的分数里另有一项位移显著度。

下标能相减,是假设它前后帧仍指同一对物体。DETR 解码没有这个保证。Spatio-Semantic Instance Alignment(SSIA)只在训练时用对称 InfoNCE(把正样本对拉近的对比损失)拉近同下标实例对 query:上一帧需有同类物体且 IoU 大于 0.3。温度 0.1,权重 0.1。推理没有这条损失。

日程沿用 OED 的两段。第一段冻住骨干,训练空间解析和 SSIA。第二段再冻住空间模块,只训 DTA 和时间头。推理一次完成空间解析、DTA 和分类,不做时间后处理。

结果

基准是 Action Genome:9848 段视频,234253 个标注帧,35 类物体(不含 person),25 类谓词,分 attention、spatial、contacting。SGDET 里框、类别、谓词都要预测。With Constraint 每对只留最高分谓词,No Constraint 可多谓词。mR@K 按类别平均召回。

同骨干的一阶段对照是 UNO,同样冻结 DINOv2。With Constraint R@10:ViT-S/14 从 36.7 到 37.7,ViT-B/14 从 38.2 到 42.2,ViT-L/14 从 39.3 到 44.6。No Constraint R@10 的增益是 2.5、4.9、6.4。ViT-L/14 的 R@10/20/50,With Constraint 为 44.6/52.9/60.2,No Constraint 为 47.2/57.8/65.9,高于表 1 里其余已报告数字。mR 同样最高:With Constraint 30.5/38.3/44.2,No Constraint 37.2/53.5/64.4。ARN(ResNet-50)的 With Constraint mR@10 是 23.2,DIFFVSGG 是 24.7。UNO 没报 mR。

方法指标结果对照
RTAformer ViT-L/14WC / NC R@1044.6 / 47.2UNO 39.3 / 40.8
同骨干,切换帧WC R@1039.1OED重实现 34.3
同骨干,非切换帧WC R@1047.6OED重实现 45.9
rq 作切换分数AUROC0.621cq 0.442

ViT-B/14 消融,With Constraint R@10/20/50:纯空间解析 39.7/47.5/53.7,只加 SSIA 40.8/48.1/53.9,只加 DTA 41.2/49.4/56.8,两者合用 42.2/50.1/57.6。DTA 已开启时,SSIA 再加 1.0 个 R@10。

注入方式:在空间解析加 SSIA 上,时间聚合而不注入,R@10 从 40.8 到 41.3;只注入方向 41.7;注入原始 Δ 41.9;完整 TADI 42.2。门控有贡献,每步不到 1 个点。

切换帧按持久配对定义。IoU 大于 0.3、类别相同的相邻配对共 105356 对,其中 35523 对(33.7%)至少有一族谓词换成互不重叠的集合。帧数是切换 25883、非切换 21474。同骨干 OED 的 With Constraint R@10 为 34.3 对 45.9,RTAformer 为 39.1 对 47.6,增益 4.8 对 1.7。No Constraint 增益 4.1 对 1.9。参数 123.8M,对照 126.8M。正文只说 GFLOPs 与速度相当,没给帧率。

官方配置的 OED、TEMPURA 骨干不同。该设置下切换帧 R@10 仍高于两者,相对 OED 为 +8.0(With Constraint)和 +8.6(No Constraint)。不要和同骨干的 4.8 混加。

rq 越大,切换越密。十等份里切换率从 20.9% 升到 55.4%,全体持久配对是 33.7%。均值 0.396 对 0.289。直接拿 rq 当分数,AUROC 0.621;三族为 0.633、0.636、0.632。cq 在切换上更低(0.517 对 0.591),AUROC 0.442。幅度携带切换信息,置信度门用来压低模糊 query 的改写。

为什么重要

全测试集 R@K 分不清「物体还在所以沿用旧谓词也算对」和「关系切换跟上了」。切开之后,同骨干增益是切换帧 4.8、非切换帧 1.7。给导航或视频问答用场景图时,该看切换子集。

设计上能单独拿走的是校准后的关系 query 差值,实体流继续负责身份。推理不加分支,也不用 TR2 那种文本信号去监督帧间差。对 UNO,ViT-S 的 With Constraint R@10 只高 1.0,ViT-L 才高 5.3,小骨干上就是小改动。

局限与存疑

论文写明两件事。同下标 query 在定性结果里常常仍对应同一对物体,DETR 解码却不保证跨帧对齐,Δ 会掺进槽位漂移。评测停在 Action Genome 的 SGDET,没有第二个数据集,也没有其他协议。

表 1 里多阶段方法多是 ResNet-101,原文 OED、ARN 是 ResNet-50。和 DINOv2 并排时,同骨干只有 UNO 与文中重实现的 OED。UNO 缺 mR,类平均领先少了最近的参照。全量 With Constraint R@10 上,纯空间解析是 39.7,同骨干 OED 是 38.7,时间模块的全量优势并不大。

完整测试集上,TADI 相对「只聚合、不注入」的 R@10 是 41.3 到 42.2。切换帧的 4.8 没有按组件再拆。rq 的区分度停在 AUROC 0.621。两阶段把骨干和空间模块依次冻住,时间头不能与空间特征联合更新。切换还要求谓词集合完全不相交,部分重叠不算,33.7% 绑在这条规则上。

术语

原文与代码

相关论文

全部论文解读