MiniMax-H3 中间特征 vs MobileCLIP · 双任务验证

两个任务:v0hit 击球二分类(950 张 vtennis_lei_v0 人工标注)+ THETIS 动作四分类(1980 张,55 位受试者)· 按摄影师分组 5 折交叉验证(463 位摄影师,零泄漏)· 冻结特征 + 线性分类器
79.6%H3 · 嵌套CV(诚实)
77.6%MobileCLIP 基线
+2.0百分点
0.20McNemar p(不显著)
63.3%多数类基线

独立任务复现(THETIS 动作四分类)

71.5%H3 · block 33
56.3%MobileCLIP
+15.2百分点
9e-33McNemar p
33.3%多数类
在 THETIS 域内,增益大且确凿。 block 33 选自 v0hit,迁到 THETIS 一个参数没再调,仍然 +15.2 点、p=9e-33 (赢 479 输 178)。 这证明 H3 特征确实编码了动作信息。

⚠️ 但请连着下一节一起读:把这个 head 拿到真实目标域上,它塌到了随机水平。 本页早前把这一条称作「最强的证据」,那个说法已被下面的迁移实验推翻。
v0hit 上则是「有信号,但未单独证实」。 诚实的嵌套交叉验证(层只在内层折选择)给出 79.6% vs 基线 77.6%, +2.0 点,p=0.20 不显著。

本页早前版本报的是 +5.8 点 / p=1.6e-4,那个数字偏高:当时的 block 40 是在看过 b10/b25/b40 在同一批 CV 折上的表现之后选的,属于在评估数据上做选择。

反过来,嵌套那个数字也偏保守 —— 为了算得动,内层选层只用了 mean, 没纳入轨迹,而轨迹在最优层能再加 1–2 点。真实增益大概在 +2 到 +5 之间, 当前 950 条标注定不下来。

完整对比

特征维度CV 准确率Δ vs 基线 McNemar5 折明细
H3 b40 · mean+traj
第40层 · 池化+轨迹
483840.8337 ±0.023+0.0579p=1.6e-04 ✅0.847 0.795 0.826 0.863 0.837
H3 b40 · mean
第40层 · 仅池化
53760.8105 ±0.018+0.0347p=0.033 ✅0.826 0.779 0.810 0.832 0.805
MobileCLIP-S1
基线 · 512维
5120.7758 ±0.028—0.732 0.805 0.779 0.805 0.758
H3 b25 · mean
第25层
53760.7758 ±0.012+0.0000p=1.000.753 0.784 0.784 0.784 0.774
H3 b25 · mean+traj
第25层
483840.7611 ±0.020-0.0147p=0.380.753 0.779 0.774 0.774 0.726
H3 b10 · mean
第10层
53760.7242 ±0.033-0.0516p=2.7e-03 ✅0.737 0.663 0.721 0.742 0.758
H3 b10 · mean+traj
第10层
483840.7021 ±0.031-0.0737p=2.1e-05 ✅0.711 0.642 0.711 0.732 0.716

❌ 零样本跨域迁移:失败

THETIS 训练 head → vtennis_lei_v0 的 400 张人工标注上测试。 这 400 张同时被三个前沿 VLM 跑过分,是唯一能公平横比的地方。
方法准确率说明
Claude Opus 571.8%VLM · 零样本
GPT-5.564.0%VLM · 零样本
GPT-5.5 · 朴素prompt63.4%VLM · 零样本
Qwen3.6-27B (本地部署)55.8%VLM · 零样本
Qwen3-VL-235B (v2 历史标注)52.2%VLM · 零样本
MobileCLIP 迁移33.2%THETIS 训练的线性头
多数类基线32.5%全判 forehand
H3 b33 + CORAL29.5%无监督特征对齐
H3 b33 直接迁移27.0%THETIS 训练的线性头
H3 和 MobileCLIP 都塌到多数类附近,H3 更低。 CORAL 无监督对齐只捞回 2.5 点。

关键旁证是 MobileCLIP 同样塌(33.2% ≈ 多数类 32.5%)—— 所以这不是 H3 的缺陷,是域差异本身太大:THETIS 是室内篮球馆、固定机位、演示性挥拍、画面里没有球, 这些线索在户外比赛照上完全不存在,任何在 THETIS 上训的头都过不去。

结论:跨域零样本这条路走不通,动作分类必须有目标域标注。 更近的训练源应该是 vtennis_lei_v1 的 1356 个真实网球视频(户外、比赛、有球),而不是 THETIS。

层深曲线在两个任务上都是单峰,且峰值相邻

两条曲线来自完全不同的任务和数据域,却都是单峰,峰值落在 block 33 和 34(相邻)。这基本排除了「33 是 v0hit 上的偶然」—— 单峰层深结构是 MiniMax-H3 本身的性质,可以固定为默认配置。 (block 44 有 0.6% 图像 fp16 溢出,45–49 全部溢出,已排除在扫描外。)
v0hit CLIP 基线 0.776THETIS CLIP 基线 0.5630.550.600.650.700.750.800.85峰值 b33v0hit 击球二分类峰值 b34THETIS 动作四分类选定 block 3301020304043DiT block · mean 池化

两张关键图

层深是决定性变量
浅层显著劣于 CLIP,深层显著优于。b40 是我们采样的最深层,趋势仍在上升 —— 50 层全扫正在跑。
MobileCLIP 基线 0.7760.550.600.650.700.750.800.850.7240.7760.810mean0.7020.7610.834mean+trajblock 10block 25block 40
标注效率
相同准确率下 H3 需要的标注更少;这比单纯涨点更有落地价值。
0.650.700.750.800.85H3 b40 mean+trajMobileCLIP-S12550100200all每类训练样本数
运动轨迹只在深层有用。 b40 加上 traj8(预测未来 8 个 latent 帧的特征)涨 2.3 点, 但 b10 加上反而掉 2.2 点。说明「模型认为接下来会发生什么」这个信息只在深层被编码成可用形式 —— 这正是本项目最初的假设。

THETIS 混淆矩阵 · 正反手混淆几乎减半

行 = 人工真值,列 = 预测,格内为数量与该行占比(对角线即 per-class 召回)。
MobileCLIP-S1 · 总体 56.3%
正手反手发球其他
正手393
60%
203
31%
60
9%
4
1%
反手203
31%
401
61%
52
8%
4
1%
发球76
15%
90
18%
308
62%
21
4%
其他25
15%
33
20%
95
58%
12
7%
H3 · block 33 · 总体 71.5%
正手反手发球其他
正手501
76%
123
19%
25
4%
11
2%
反手110
17%
515
78%
24
4%
11
2%
发球28
6%
40
8%
364
74%
63
13%
其他15
9%
22
13%
93
56%
35
21%
增益不是均匀上浮,而是高度集中在正手↔反手这一对。 CLIP 把正反手互判错 406 次,H3 只有 233 次,减少 43%。 静态图上正手和反手的姿态很接近,要分清得知道「这个动作从哪来、往哪去」—— 这正是运动先验该起作用的地方,也说明涨的这 15 点不是随机波动。

其他 类两边都差(7% / 21%),它只有 smash 165 张, 语义上本就是为凑四分类硬拼的一类,结果需单独看待。

THETIS 各类样例(两个模型都判对)

正手
真值 正手CLIP 正手H3 正手forehand_flat
真值 正手CLIP 正手H3 正手forehand_flat
真值 正手CLIP 正手H3 正手forehand_openstands
真值 正手CLIP 正手H3 正手forehand_openstands
真值 正手CLIP 正手H3 正手forehand_slice
真值 正手CLIP 正手H3 正手forehand_slice
反手
真值 反手CLIP 反手H3 反手backhand_slice
真值 反手CLIP 反手H3 反手backhand_volley
真值 反手CLIP 反手H3 反手backhand_volley
真值 反手CLIP 反手H3 反手backhand2hands
真值 反手CLIP 反手H3 反手backhand2hands
真值 反手CLIP 反手H3 反手backhand2hands
发球
真值 发球CLIP 发球H3 发球flat_service
真值 发球CLIP 发球H3 发球flat_service
真值 发球CLIP 发球H3 发球kick_service
真值 发球CLIP 发球H3 发球kick_service
真值 发球CLIP 发球H3 发球kick_service
真值 发球CLIP 发球H3 发球slice_service
其他
真值 其他CLIP 其他H3 其他smash
真值 其他CLIP 其他H3 其他smash
真值 其他CLIP 其他H3 其他smash

THETIS · H3 救回的(共 479 张)

真值 反手CLIP 正手H3 反手backhand2hands
真值 反手CLIP 其他H3 反手backhand2hands
真值 反手CLIP 正手H3 反手backhand
真值 反手CLIP 正手H3 反手backhand
真值 反手CLIP 正手H3 反手backhand_slice
真值 反手CLIP 发球H3 反手backhand_volley
真值 正手CLIP 发球H3 正手forehand_flat
真值 正手CLIP 发球H3 正手forehand_openstands
真值 正手CLIP 发球H3 正手forehand_slice
真值 正手CLIP 发球H3 正手forehand_volley
真值 发球CLIP 反手H3 发球slice_service
真值 发球CLIP 反手H3 发球slice_service
真值 反手CLIP 正手H3 反手backhand
真值 正手CLIP 反手H3 正手forehand_flat
真值 正手CLIP 反手H3 正手forehand_flat
真值 正手CLIP 反手H3 正手forehand_openstands
真值 正手CLIP 反手H3 正手forehand_slice
真值 正手CLIP 反手H3 正手forehand_slice
真值 正手CLIP 反手H3 正手forehand_slice
真值 正手CLIP 反手H3 正手forehand_volley
真值 正手CLIP 反手H3 正手forehand_volley
真值 发球CLIP 反手H3 发球flat_service
真值 发球CLIP 正手H3 发球kick_service
真值 发球CLIP 反手H3 发球slice_service

THETIS · H3 拖累的(共 178 张)

真值 正手CLIP 正手H3 反手forehand_openstands
真值 发球CLIP 发球H3 正手kick_service
真值 其他CLIP 其他H3 发球smash
真值 其他CLIP 其他H3 发球smash
真值 反手CLIP 反手H3 发球backhand
真值 正手CLIP 正手H3 发球forehand_flat
真值 发球CLIP 发球H3 正手flat_service
真值 正手CLIP 正手H3 反手forehand_flat
真值 发球CLIP 发球H3 其他flat_service
真值 发球CLIP 发球H3 其他flat_service
真值 反手CLIP 反手H3 正手backhand
真值 发球CLIP 发球H3 其他flat_service

THETIS · 两个都判错的(共 387 张)

这批是当前特征的共同盲区,最值得看有没有共同模式。
真值 反手CLIP 正手H3 正手backhand2hands
真值 反手CLIP 正手H3 正手backhand
真值 反手CLIP 发球H3 发球backhand_slice
真值 发球CLIP 正手H3 反手flat_service
真值 其他CLIP 正手H3 正手smash
真值 其他CLIP 发球H3 发球smash
真值 其他CLIP 发球H3 发球smash
真值 正手CLIP 反手H3 反手forehand_volley
真值 发球CLIP 反手H3 反手flat_service
真值 发球CLIP 正手H3 其他kick_service
真值 发球CLIP 反手H3 其他slice_service
真值 其他CLIP 反手H3 发球smash

v0hit · H3 救回的样本(CLIP 判错 → H3 判对)

共 131 张,展示前 24 张。 二分类下两边的预测是确定的:这里 CLIP 判成了真值的反面, H3 判对。
真值 非击球CLIP 击球H3 非击球CLIP弱分类: backhand
真值 非击球CLIP 击球H3 非击球CLIP弱分类: backhand
真值 击球CLIP 非击球H3 击球CLIP弱分类: backhand
真值 非击球CLIP 击球H3 非击球CLIP弱分类: backhand
真值 非击球CLIP 击球H3 非击球CLIP弱分类: backhand
真值 非击球CLIP 击球H3 非击球CLIP弱分类: backhand
真值 击球CLIP 非击球H3 击球CLIP弱分类: backhand
真值 非击球CLIP 击球H3 非击球CLIP弱分类: backhand
真值 非击球CLIP 击球H3 非击球CLIP弱分类: backhand
真值 击球CLIP 非击球H3 击球CLIP弱分类: backhand
真值 非击球CLIP 击球H3 非击球CLIP弱分类: backhand
真值 击球CLIP 非击球H3 击球CLIP弱分类: backhand
真值 击球CLIP 非击球H3 击球CLIP弱分类: backhand
真值 击球CLIP 非击球H3 击球CLIP弱分类: backhand
真值 击球CLIP 非击球H3 击球CLIP弱分类: backhand
真值 击球CLIP 非击球H3 击球CLIP弱分类: backhand
真值 击球CLIP 非击球H3 击球CLIP弱分类: backhand
真值 击球CLIP 非击球H3 击球CLIP弱分类: backhand
真值 非击球CLIP 击球H3 非击球CLIP弱分类: forehand
真值 非击球CLIP 击球H3 非击球CLIP弱分类: forehand
真值 非击球CLIP 击球H3 非击球CLIP弱分类: forehand
真值 非击球CLIP 击球H3 非击球CLIP弱分类: forehand
真值 非击球CLIP 击球H3 非击球CLIP弱分类: forehand
真值 击球CLIP 非击球H3 击球CLIP弱分类: forehand

v0hit · H3 拖累的样本(CLIP 判对 → H3 判错)

共 76 张,展示前 12 张。 方向相反:CLIP 判对,H3 判成了反面。
真值 击球CLIP 击球H3 非击球CLIP弱分类: backhand
真值 非击球CLIP 非击球H3 击球CLIP弱分类: backhand
真值 击球CLIP 击球H3 非击球CLIP弱分类: backhand
真值 击球CLIP 击球H3 非击球CLIP弱分类: backhand
真值 击球CLIP 击球H3 非击球CLIP弱分类: backhand
真值 非击球CLIP 非击球H3 击球CLIP弱分类: backhand
真值 非击球CLIP 非击球H3 击球CLIP弱分类: backhand
真值 击球CLIP 击球H3 非击球CLIP弱分类: backhand
真值 非击球CLIP 非击球H3 击球CLIP弱分类: backhand
真值 非击球CLIP 非击球H3 击球CLIP弱分类: backhand
真值 击球CLIP 击球H3 非击球CLIP弱分类: forehand
真值 击球CLIP 击球H3 非击球CLIP弱分类: forehand
图注怎么读。 真值 是人工标注(探针的唯一监督信号); CLIP / H3 是两个模型的预测 —— 二分类且画廊按对错筛选,所以预测是确定的; CLIP弱分类 是 vtennis_lei_v0 建库时的目录分桶(CLIP argmax), 与人工 stroke4 标注一致率仅 30.8%,仅供浏览参考,未进入任何实验。
三个已知局限。 ① 这 950 条来自三轮「模型/VLM 提议 → 人工复核」,偏向难例,不是 10 万张的均匀抽样; ② 摄影师泄漏已归零,但同一赛事仍有重叠(不同摄影师拍同一站),无法消除; ③ 结论目前只在击球二分类上成立,动作四分类(THETIS)还没验。

成本

H3 单图特征提取22.3 s双卡拆分 + 砍掉 VAE 解码;单卡 auto-offload 是 185s
950 张 × 3 worker2.0 h6×A100-80G
MobileCLIP 基线<1 min512 维
每图特征体积1.2 MB3 层 × (mean 5376 + traj 37×5376),fp16