CodeCap-Bench:可执行代码作为视频描述的评测基准 CodeCap-Bench: Can Code Serve as a Good Video Caption?
提出'代码即视频描述'范式并构建323视频基准,代码保留视频信息优于自然语言,动态时序仍最弱
前置知识
视频描述(Video Captioning)
将视频内容压缩为紧凑描述的任务,传统上用自然语言刻画对象、属性、动作与事件,目标是尽可能保留视频中的视觉信息,供检索、问答、视频生成等下游任务使用。常见评测如 DREAM-1K、VDC、CaReBench 都围绕文本描述展开。
本文质疑自然语言作为视频描述载体的表达能力,整篇论文围绕'换成可执行代码当描述会不会更好'这一问题展开。
多模态大模型(MLLM)
能同时处理图像/视频与文本输入输出的大型模型,如 GPT-6-astra、GPT-6-sol、Gemini-3.8-flash、Qwen3.8-max、Opus-5、DeepSeek-v4.1-flash 等。它们通过视觉编码器将帧信息映射到语言空间,可执行看视频写代码、对比渲染截图等复杂任务。
CodeCap-Bench 评测的对象就是这 7 个 MLLM,理解它们的能力边界与生成设置是解读所有实验结论的前提。
Agentic 工作流
让模型在环境中自主使用工具完成任务的范式:模型可调用工具抽取参考帧、编写代码、用浏览器渲染截图、对比后迭代修改,而非单次生成。论文使用的代理框架有 Pi Agent、Codex、Claude Code 三种;对照设置是仅凭 2 fps 抽帧单次生成的 non-agentic 模式。
agentic 与否、用哪个代理框架是本文的核心实验变量之一,直接决定成功率与保真度的对比结论。
V-JEPA 2
自监督视频表征模型,通过在潜空间预测被遮挡的时空特征来学习通用视频表示,无需像素级重建。本文用其 ViT-Gigantic-384 版本分别提取参考视频与渲染视频的特征,计算余弦相似度 $\cos(f(V), f(\hat{V}))$ 度量整体视觉相似性。
它是三级评测体系第一级'视觉相似度'的底层模型,理解它的作用才能明白相似度指标到底在度量什么。
SAM 与对象级时空 IoU
SAM(Segment Anything)是可提示的分割模型,给定边界框、正负点等提示即可分割指定对象;IoU(交并比)$|A \cap B| / |A \cup B|$ 衡量两个框的重叠程度。本文由 GPT-6-sol 在渲染视频中定位对象可见区间并生成提示,再交 SAM 3.1 分割,与参考框在共享时间轴上计算 IoU。
对象级时空 IoU 是第二级评测指标,量化模型对物体空间位置与出现时刻的还原精度,对象缺失直接记零分。
LLM-as-Judge(模型当评委)
用大模型代替人工给生成结果打分的评测方式:向评判模型提供参考片段、评分标准和待评对象,让其输出结构化分数(本文为 0–5 整数)。由于评委本身是模型,必须验证其与人工评分的一致性,常用 Pearson 相关系数 $r$ 度量,$r$ 越接近 1 越可信。
本文最核心的'细粒度信息保留'分数由 GPT-6-sol 担任评委按焦点逐条打分,作者用 50 个视频上 r=0.942 的人工一致性验证了这套打分的可信度。
HTML/CSS/JS 确定性渲染协议
浏览器将代码渲染为页面的机制。本文要求模型交付单文件 index.html 并暴露 window.videoCompare 的 seek(seconds) 接口,可在任意时刻暂停并精确渲染对应画面;评测时按 1/24 秒间隔调用 seek 截屏,合成 24 fps 的渲染视频,从而获得时间轴可精确对齐的确定性结果。
这套协议是'代码→视频→可评测'的工程基础,任务提示、渲染限时(900 秒)与失败分析(缺 seek 接口是失败原因之一)都围绕它展开。
研究动机
自然语言视频描述在表达细粒度空间结构与时间动态时先天不足:要精确说清一个界面的座位网格布局、一段动画的滚动区间与缓动曲线、多个对象间的联动时序,需要堆叠大量位置、时间与关系从句,描述冗长且充满歧义。例如一个机票选座界面,自然语言只能说'seat map 向下滚动',却说不清从 15.05 s 到 15.90 s 滚动 383 个单位、缓动为 $3q^2-2q^3$ 这样的精确参数。与此同时,现有评测工作各有局限:DREAM-1K、VDC、CaReBench 等只评自然语言描述;Design2Code、ChartMimic、Image2Struct 只覆盖静态图像或网页截图;Animation2Code 只评 CodePen 上平均 5.1 秒的 web 动画,BVB 只重建室内 Blender 场景。没有一个跨多类结构化 2D 视频、系统评测'代码视频描述'能力的专用基准,当前 MLLM 在空间布局、运动轨迹、状态变化上的代码化能力完全未知。
本文的目标是本文想回答两个问题。其一,可执行代码是否能比自然语言更好地保留视频信息?作者通过下游问答与视频重建两类对照实验验证代码描述的实际价值:在 100 个带 QA 标注的视频上比较两种描述支持的答题准确率,在 CodeCap-Bench 上比较代码渲染与'自然语言+文生视频'的重建保真度。其二,当前 MLLM 生成忠实代码描述的能力到底如何?为此作者构建 CodeCap-Bench:323 个覆盖桌面与应用界面、2D 游戏、视觉设计与媒体动画、数据与科学可视化、图标与抽象动效五大类的结构化 2D 视频,配以细粒度焦点标注(静态外观与动态过程,平均每视频 8.63 个)与对象级时空标注(可见区间与逐帧边界框,平均每视频 16.8 个对象),建立三级评测框架,进而系统评测 7 个 MLLM 在 agentic/non-agentic、不同思考力度与成本设置下的表现。
与已有工作不同的是,本文的独特切入点是把'描述的正确性'变成可执行验证的问题:代码描述渲染成视频后可与参考视频逐帧对齐比较,让评测从文本重叠类指标转向渲染像素的客观证据。与既有工作的差别体现在四个方面:一是表示形式上,首次系统提出 Code as Video Caption 范式,用图形基元、布局规则与时间函数补足自然语言;二是覆盖面上,相比 Animation2Code 只有平均 5.1 秒的 CodePen 动画、BVB 只做室内场景,CodeCap-Bench 横跨五类内容、平均时长 19 秒、覆盖更长时序;三是评测深度上,三级指标从全局相似度(V-JEPA 2 特征余弦)、对象级时空对齐(SAM 3.1 分割 IoU)到细粒度信息保留(GPT 评委按焦点 0–5 打分)逐层递进,并以人工相关性 r=0.942 验证可信度;四是对照实验设计,让同一批模型同时产出两种描述,在问答与重建任务上公平比较代码与自然语言的信息保留能力,而非只做单侧评测。
核心方法
论文做了两件事:验证范式 + 构建基准。直觉上,代码描述像'可执行的视觉规格说明书':网格规则与共享绘图函数紧凑编码重复元素的空间结构;时间函数让任意中间时刻的画面都可计算,如滚动量 $383 \cdot q(t)$、$q$ 为 smoothstep $q^2(3-2q)$;条件逻辑决定哪个对象在何时改变状态,执行代码即得视觉状态。技术路线上,给定参考视频 $V=\{I_t\}_{t \in [0,T]}$,MLLM 生成单文件 HTML/CSS/JS 代码描述 $C$,渲染引擎 $R$ 执行得到视频 $\hat{V}=R(C)$,要求时间轴全程对齐且不得复用参考帧或外部素材;随后从三个层级比较 $\hat{V}$ 与 $V$:V-JEPA 2 特征余弦相似度看全局、SAM 3.1 分割逐帧 IoU 看对象时空对齐、GPT 评委按焦点标注 0–5 打分看细粒度保留,另报告渲染成功率。基准数据来自 Bilibili、YouTube、Behance、Vimeo,经几何、外观复杂度、运动结构三重过滤后人工标注并复核。
核心创新是把视频描述从'文字近似'升级为'可执行规范',与自然语言描述的本质区别有三点。第一,代码以规则表达空间结构:选座界面中 let x=[177,203,255,281][k], y=395+r*41 一行就编码了四列布局与 41 单位行距,重复元素零冗余;第二,时间演化可计算:'地图向下滚动'变为带起止时刻与位移的函数,任意中间时刻的位置精确可知,消除歧义;第三,视觉规格可执行验证:条件逻辑指明哪个座位在哪个时间区间变色,渲染即得画面,可直接与参考视频逐帧对比。这使得评测不再依赖文本 n-gram 重叠或另一个模型的纯主观判断,而是建立在渲染像素的客观证据上。作者先用问答与重建任务证明该范式的信息保留优势,再针对'模型能否写出忠实代码'这一现实瓶颈构建专用基准并系统测评七大模型。
方法步骤详情
全流程分四步。第一步,数据构建:从四个平台收集候选视频,按场景几何(剔除复杂 3D 视角)、外观复杂度(剔除纹理主导)、运动结构(剔除稠密像素动态)过滤出结构化 2D 视频;标注两类信息——焦点标注(静态焦点记外观/布局/空间关系,动态焦点记状态变化/运动过程/节奏/协调,附描述与时间区间)与对象级时空标注(可见区间加逐帧框,由框与正/负点提示引导分割模型生成),全部经人工复核。第二步,评测协议:V-JEPA 2.1 ViT-G-384 提特征算余弦相似度;GPT-6-sol 在渲染视频中定位对象可见区间并生成框与点提示,交 SAM 3.1 分割取逐帧框与参考框算 IoU,对象缺失记零分;GPT-6-sol 依焦点描述对渲染视频按 0–5 打分。第三步,生成设置:agentic 模式下模型经 Pi Agent、Codex 或 Claude Code 自主抽帧、写 index.html、用 seek() 接口渲染截图并迭代修正,代码生成限时 3600 秒、渲染限时 900 秒、按 24 fps 截屏合成;non-agentic 模式输入 2 fps 均匀抽帧单次生成。第四步,统计与失败分析:记录成功率、成本、token 消耗、耗时与工具调用构成。
技术新颖性
技术新颖性体现在四个层面。基准设计上,这是首个跨五类结构化 2D 视频、面向'代码视频描述'的系统评测,把 Vision2Code 系列从静态图(Design2Code、ChartMimic)与单一动画域(Animation2Code)扩展到含丰富时序的一般结构化视频。指标体系上,三级评测从感知级(V-JEPA 2 余弦)、几何级(SAM 3.1 逐帧 IoU)到语义级(焦点 0–5 保留分)逐层递进,且每级都有防作弊设计——纯代码约束禁止视频贴图、Base64 内嵌、逐像素绘制等规避手段,对象缺失记零分防止'让物体消失'式作弊。可信度上,双评委(GPT-6-sol 与 Gemini-3.1-pro)交叉验证排序一致,50 个视频人工对比得到 Pearson r=0.942。分析维度上,除分数外还系统解剖了思考力度的边际收益、成本-质量-耗时的解耦关系、工具调用构成与失败原因分布,这些元信息对 agentic 评测方法论本身也有贡献。
实验结果
主要发现:其一,GPT-6-astra 全面领先,Codex 下总体保留分 73.24、时空 IoU 75.37、相似度 0.9735、成功率 99.4%,比次优 Opus-5(58.84)高 14.40 分;GPT-6-sol+Codex 成功率 100% 但保留分仅 51.34,能出片不等于保真。其二,动态普遍比静态难:GPT-6-astra 静态 80.72 对动态 68.61,GPT-6-sol 更达 64.04 对 43.92,无一例外。其三,agentic 提升成功率但不必然提升保真:Qwen3.8-max 成功率 82.0%→93.2%、保留分 44.67→48.83,而 GPT-6-sol 与 GPT-5.6-sol 用代理反而低于非代理设置。其四,类别差异明显:四模型在'数据与科学可视化'上 IoU 最高,界面与科学可视化类保留分优于设计动画与图标动效。其五,代码优于自然语言:问答胜出 2.83–10.38 个百分点(Opus-5 达 83.02%,逼近原始视频 83.96%),重建 AS 提升 0.20–0.23、KSS 提升 0.18–0.22。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 代码视频描述(CodeCap-Bench 主榜单,medium 思考力度) | 细粒度视觉信息保留 Overall | 73.24(GPT-6-astra + Codex;时空 IoU 75.37、视觉相似度 0.9735、成功率 99.4%) | 次优 Opus-5 + Pi Agent:58.84 | +14.40 分 |
| 视频问答信息保留(100 个视频,来自 DVBench/VideoMathQA/GUI-World) | QA 准确率(Gemini-3.8-flash 作答) | 83.02%(Opus-5 代码渲染视频) | Opus-5 自然语言描述 72.64%;原始视频上限 83.96% | +10.38 个百分点,逼近原始视频水平 |
| 视频重建-外观保真 | Appearance Similarity(DreamSim 特征) | 0.9148(Opus-5 代码渲染) | 自然语言描述 + Seedance-2.5 文生视频:0.6932 | +0.2216 |
| 视频重建-运动保真 | Motion Pattern Similarity(CoTracker3 点位移) | 0.5572(Opus-5 代码渲染) | 自然语言 + Seedance-2.5:0.5150 | +0.0422 |
| 视频重建-结构保真 | Keyframe Structural Similarity(SSIM) | 0.8165(Opus-5 代码渲染) | 自然语言 + Seedance-2.5:0.5958 | +0.2207 |
局限与改进
作者承认的局限:基准只覆盖可编程表达的结构化 2D 内容,复杂 3D 视角、纹理细节与稠密像素动态被明确排除,结论不能外推到真实拍摄视频;即便在适合代码化的领域,所有模型对复杂时间动态的捕捉仍明显弱于静态外观。我自己的观察有四点:其一,评测链条深度依赖专有模型——V-JEPA 2 相似度、GPT-6-sol 定位加打分、SAM 3.1 分割,任何一环的模型偏见都会传导到最终分数;打分环节有双评委与人工验证缓解,但定位与分割环节未见人工抽检。其二,代码与自然语言的重建对比中,NL 一侧依赖 Seedance-2.5 文生视频模型,其自身生成质量构成混淆变量,严格说比较的是'代码渲染 vs 文生视频管线'而非纯表示能力。其三,323 个视频、平均 19 秒的规模对'复杂时序'结论的支撑有限,五个类别内的多样性未详细报告。其四,成功率指标把生成超时、缺 seek 接口、渲染报错等工程问题混在一起,虽然附录 B 拆解了原因,但主表中的成功率仍不宜直接解读为能力差异。
独立分析的弱点
独立分析出的弱点及改进方向:第一,动态焦点打分粒度不足,单一 0–5 分无法区分'顺序对但节奏错'与'整段缺失'等不同失败形态,建议按状态转移、时序协调、节奏控制分别设子分。第二,纯代码约束虽防作弊,但也排除了'代码+资产'混合表示这一现实可行的中间形态(真实网页同样引用图片资源),可增设 code+assets 赛道量化纯度与保真的权衡。第三,agentic 设置下三个代理框架(Pi Agent、Codex、Claude Code)的工具粒度不同,模型间对比可能混杂框架效应,应做模型×框架的交叉消融并报告方差。第四,'动态保留差'的根因未定位——是感知端看不懂运动,还是代码端不会表达运动?可加入轨迹提取工具或时间函数库做对照实验分离两种瓶颈。第五,非代理设置固定 2 fps 抽帧,对快速运动采样不足,帧率选择本身可能影响结论。第六,问答对比仅 100 个视频且只由 Gemini-3.8-flash 单一模型作答,评判者单一,应扩展题库并让多个模型交叉作答以排除答案侧偏差。
未来方向
作者指出的方向是把代码描述与程序化生成连接起来,让代码成为视频理解与可控视频生成之间的桥梁。基于本文成果可延伸的方向:一是把渲染保真度作为强化学习奖励来训练视频描述模型,seek() 接口提供了天然时间对齐的奖励信号;二是构建'代码→视频'生成数据集反哺视频生成模型,实现精确可控的时间动态生成;三是攻克动态建模短板,例如引入显式时间函数库、运动轨迹估计工具或时序规划模块;四是把范围扩展到 3D 场景与真实拍摄视频的半程序化表示(代码+神经纹理混合);五是研究代码与自然语言混合描述策略——自然语言管高层语义、代码管时空结构,取长补短;六是降低成本:GPT-6-sol 从 medium 到 xhigh 成本涨约 4.5 倍($0.315→$1.409)换来约 15.8 分提升,值得研究更便宜的测试时扩展路径;七是把基准延伸到图表转代码、UI 转代码等下游应用的能力评测,形成产业闭环。
复现评估
复现条件中等偏上。数据方面:项目页 https://codecap-bench.github.io/ 公开,附录 C 完整给出 agentic/non-agentic 生成提示词与 0–5 评分标准提示词,数据构建管线描述详尽,但 323 个视频的焦点与对象标注依赖人工复核,重建标注成本不低。工程方面:附录 A 明确了运行配置——Pi Agent 1.1.0、Codex CLI 0.155.1、Claude Code 2.1.296,代码生成限时 3600 秒(Qwen3.8-max xhigh 为 7200 秒)、渲染限时 900 秒、按 seek() 接口 1/24 秒间隔截屏合成 24 fps 视频,隔离容器预装 ffmpeg、Python、Node、Chromium 与 Playwright,可照搬搭建。算力与成本方面:无需训练,但推理开销可观——每视频生成费约 $0.315–$1.409,GPT 系每视频约 4.5–12.5 分钟,开源模型达 42–50 分钟,另需评委模型打分开销;评测还依赖 GPT-6-sol、SAM 3.1 等专有 API。总体上,用开源模型加自建小规模数据复现核心流程可行,完整复现七模型对比则需要可观的 API 预算。
论文图表
以机票选座界面为例并排对比自然语言描述与代码描述:代码侧用一行数组与循环编码座位网格(x=[177,203,255,281][k],y=395+r*41),用时间函数编码 15.05–15.90 s 的滚动(scroll=383*q(t),q 为 3q²−2q³ smoothstep),用条件逻辑编码 25.85–31.80 s 的悬停变深绿与选中变粉加对勾;右侧标注代码描述三大优势:规则化空间结构、可计算时间演化、可执行视觉规格。
这是全文的'论文名片',一图讲清代码描述相对自然语言的三大优势与具体代码形态,理解了这张图就理解了整个范式的动机。
(a) GPT-6-sol 与 Gemini-3.1-pro 两个评委对相同输出的打分对比:绝对分数有差(如 GPT-6-sol 模型 Overall 47.53 对 44.39)但对两个被评模型的排序一致;(b) 在 50 个视频(每类 10 个)、4 个模型输出上,人工评分与 GPT-6-sol 评委评分的 Pearson 相关系数达 r=0.942。
这是整个评测框架可信度的基石——核心指标由 MLLM 打分,必须先证明与人工判断高度一致,主表结果才值得采信。
七模型失败率饼图组:全部 323×7 个任务共失败 67 例(2.96%);生成超时、HTML 不完整或缺失、渲染超时合计占失败原因的 83.6%;Qwen3.8-max(失败率 6.81%,HTML 交付问题占其失败 45.5%)与 DeepSeek-v4.1-flash(失败率 8.36%,生成超时占 55.6%)合计贡献 73.1% 的失败;GPT 系全部低于 1% 且失败均发生在渲染阶段。
失败模式分析解释了成功率指标背后的工程瓶颈,也佐证开源模型大幅落后的结论部分来自工程可靠性差距而非纯粹的理解能力。