图片端复用三臂同一批 val 预测(9,370 张)· 视频端 16 段片段、每 15 帧取 1、 共 4,702 帧,三臂同一次解码逐帧打分,所以对比是帧级严格对齐的。
取 A 与 B 排名分歧最大、且 VLM 标签明确(≥0.62 或 ≤0.12)的样本。中间段标签最噪,排除掉。
这些分歧样本全部是 VLM 判低分的静态非动作图——地上拉伸、绑护具、擦球、人像特写。 A 给 0.37–0.57(排到 9,370 张里的第 1600–3200 名),B 给 0.02–0.07(第 7500–8900 名)。B 明显是对的。
这直接坐实了机制假说:A 的 backbone 被训成「找击球手关节」,于是只要画面里有穿 cricket 队服的人就发火,不管有没有在做动作; B 保留了足够的场景理解知道这些是静态的。也解释了「非动作」类上 A ρ=0.062 而 B 0.219 的塌陷。
三臂各自的 top-6。打分头「信排序不信绝对值」,所以这里看的是选出来的是不是真高光。
这是聚合数字无法回答的问题——留出集里没有确认的非 cricket 视频,测不了误报率。所以只能看帧。
C 比 A 多放行 523 帧、反向只有 44 帧, 高度不对称,与总体 +13.6 点一致。但把这些帧调出来看——观众席、天空树梢(追球镜头)、球场建筑, 没有一帧有球员在做可打分的动作。它们确实是 cricket 转播画面(有记分板),但没有姿态可评。
类别分布佐证:增益的 81% 集中在「击球(广播)」——正是充满非动作填充镜头的品类;而手机直拍的「击球(手机)」增益为 0(本来就已 97–100%)。
因此 valid_frac 不是一个干净的召回指标:它把「处在 cricket 转播里」和「画面里有 cricket 动作」
混为一谈。门控的既定用途是「让打分只在有 cricket 时才有效」,那么放行一个没有姿态可打分的天空镜头,
更接近泄漏而不是召回。
| 类别 | C 多放行 | A 多放行 | 该类总帧 | 净增占比 | |
|---|---|---|---|---|---|
| 短视频集锦1 | 32 | 0 | 141 | 22.7% | |
| 短视频集锦2 | 34 | 1 | 182 | 18.1% | |
| 击球(广播) | 423 | 43 | 3505 | 10.8% | |
| 街头 | 5 | 0 | 97 | 5.2% | |
| 投球 | 8 | 0 | 166 | 4.8% | |
| datateam | 21 | 0 | 505 | 4.2% | |
| 击球(手机) | 0 | 0 | 106 | 0.0% | |
| 合计 | 523 | 44 | 4702 | 10.2% |
图片域结论不变,而且被强化:打分头 B > A 不只是统计显著, 分歧样本的人工核验也一边倒——A 在静态非动作图上系统性给高分。
视频域结论需要下修:C 的 +13.6 点大部分不是找回了漏掉的 cricket 动作, 而是放行了广播里的填充镜头。之前基于这个数字倾向 C 的判断不成立。
于是 v2.2 更可能选 B:打分头显著更好且人工可验证,视频门控与现役基本持平(64.5% vs 64.0%)。 C 的门控优势在剔除填充镜头后还剩多少,需要一个「有 cricket 动作」的逐帧标注才能量化——这是本实验没能回答的部分。
数据 results/ablation_v22/web/qual/data.json ·
生成 ablation_v22_qualitative.py → build_ablation_v22_qual_page.py
注:桶按时序平滑后的 valid(部署时的实际决策,~1.25s 中值滤波 + 迟滞 0.6/0.4)划分,
卡片上同时给出单帧原始 gate 与 valid,两者可能不一致——那是时序平滑的正常表现,不是错误。
点击任意图片可放大(← → 翻页 · Esc 关闭)。放大用的是另存的 1280px 副本,不会把缩略图硬拉大。