返回评测
代码生成 代码-视觉转代码 未饱和 模态 · 截图 任务 · 代码生成

Design2Code

484 个真实网页截图到 HTML/CSS 代码的生成任务,用视觉相似度与元素匹配双重指标评估「像不像」

斯坦福大学等 ·

考察能力

视觉转代码 HTML/CSS 生成 布局理解 视觉相似度优化

构建信息

数据规模
484 个网页截图-代码对
构建方式
从真实网站采集截图与对应 HTML/CSS,人工筛选确保可离线渲染;配套提出自动评估指标集
评测方式
渲染后截图与参考图比对(块级元素匹配 + 视觉相似度 + CLIP 相似度)
核心指标
Element Match / IoU / CLIP Similarity

为什么重要

「给一张设计稿,把前端代码写出来」是产品与开发之间最昂贵的手工环节之一,也是多模态模型最被期待的落地场景。Design2Code 是第一个把这件事做成可自动评分的基准——它的贡献不只在数据集,更在那套评估指标。

难点在于「像不像」怎么量化。研究者给了三层指标:块级元素匹配(文本块、背景色、位置是否对得上)、布局 IoU(渲染结果与目标图的区域重合度)、CLIP 相似度(整体视觉语义)。同时做了人类偏好对照,验证这套自动指标与人类判断的一致性。

对数据侧的意义:这类「截图 → 代码」配对数据的获取成本不高(网页天然就有 HTML),但质量筛选是关键——大量网页依赖外部资源、JS 动态渲染,直接爬来不可离线渲染。Design2Code 的构建流程本身就是一份可复用的数据清洗规范。

构建方式

  1. 从真实网站采集截图与对应 HTML/CSS 源码
  2. 人工筛选与清洗:确保页面可离线渲染(去掉外部依赖、内联样式与资源)
  3. 把 HTML 中的文本、颜色、布局结构抽取出来作为结构化参考
  4. 评测时把模型生成的代码渲染成截图,再与参考截图比对
  5. 三层指标:块级元素匹配(文本 / 位置 / 颜色)、布局 IoU、CLIP 视觉相似度
  6. 附带人类评估,验证自动指标的可靠性

任务示例

输入:一张网页截图(含标题栏、三栏卡片区、底部页脚)

输出:

<div class="container">
  <header class="hero"><h1>...</h1></header>
  <section class="cards">
    <div class="card">...</div>
    <div class="card">...</div>
    <div class="card">...</div>
  </section>
  <footer>...</footer>
</div>

评分时把这段 HTML 渲染出来,与参考截图逐块比对:标题文字对不对、卡片是不是三栏、配色是否一致、整体布局是否重合。

最新进展

  • 论文提出的多指标评估框架被广泛沿用,成为视觉转代码方向的默认评测口径
  • 后续工作发现:给模型先做一次「视觉描述/规划」再写代码,比直接生成效果好,说明这个任务需要中间的表示层
  • WebSight 等工作用大规模合成数据(截图-代码对)显著提升了这类任务的表现,印证了「数据规模」在这条路上的有效性

关键发现

  • 「像不像」可以自动量化:三层指标与人类判断相关性较高,不必每次都做人工评测
  • 中间表示有帮助:先描述布局再生成代码,优于端到端直出
  • 合成数据有效:网页截图-代码对可以低成本大规模合成,是少数「数据不是瓶颈」的多模态任务
  • 文本与配色是主要失分点:布局容易学,但精确的文字内容与色值还原仍会出错
视觉转代码 前端 HTML 多模态代码生成 UI