跳转至

CoCo: Code as CoT for Text-to-Image Preview and Rare Concept Generation

日期: 2026-03-09
arXiv: 2603.08652
代码: GitHub
领域: 图像生成
关键词: Text-to-Image, Chain-of-Thought, 代码推理, 统一多模态模型, 结构化生成

一句话总结

提出 CoCo 框架,将可执行代码作为 Chain-of-Thought 中间表示,先生成代码渲染结构化草图,再精细化编辑生成最终高质量图像,在结构化 T2I 生成任务上大幅超越现有方法。

研究背景与动机

  1. 现状:统一多模态模型(UMM)在文本到图像生成中取得显著进展,Chain-of-Thought 推理已被引入 T2I 任务以提升复杂场景生成质量
  2. 痛点:现有 CoT-based T2I 方法主要依赖抽象的自然语言规划,缺乏精确描述复杂空间布局、结构化视觉元素和密集文本内容的能力。例如输入 "2D plot of y=x²" 这样的提示词时,模型常生成错误结构或不可读文字
  3. 矛盾:自然语言 CoT 天然具备模糊性和不确定性,而结构化图像生成需要精确的空间坐标、元素关系和文本放置,两者之间存在根本性的表达力鸿沟
  4. 切入角度:代码天然具备精确性、可执行性和确定性,可以显式编码空间布局、结构约束和文本位置。执行后的代码会产生可观察、可验证的中间结果
  5. 核心idea:将推理过程表示为可执行代码(Code-as-CoT),先生成代码在沙盒中渲染确定性草图图像,再基于草图进行精细编辑得到最终高保真图像

方法详解

整体框架

CoCo 包含三个阶段的流水线: 1. 代码生成 (Code Generation):给定文本提示,模型生成可执行代码,显式编码目标图像的结构语义 2. 草图渲染 (Draft Image Rendering):在沙盒环境中执行代码,生成确定性的草图图像 3. 草图引导精修 (Draft-Guided Refinement):基于草图进行精细化图像编辑,保留结构同时提升视觉保真度

关键设计

模块 1:代码生成阶段

  • 做什么:利用 UMM 的语言推理能力,根据用户 prompt 生成可执行代码
  • 核心思路:代码聚焦于描述场景的核心语义结构(空间布局、对象关系、文本渲染、画布配置),将视觉细节留给后续精修
  • 设计动机:代码本质上是一种精确且可验证的推理形式,能够将抽象规划转化为可观察的视觉脚手架

模块 2:沙盒执行渲染

  • 做什么:在受限的沙盒环境中执行生成的代码,渲染出draft图像
  • 核心思路:沙盒确保安全稳定的执行,生成的草图捕获代码指定的核心语义布局
  • 设计动机:将程序化推理实例化为具象的视觉表示,使模型可以检查渲染结果并进行有针对性的改进

模块 3:草图引导精修

  • 做什么:草图图像通过 ViT 编码器和 VAE 编码器编码后送回 UMM 进行精修
  • 核心思路:ViT 提取高层语义特征用于全局推理,VAE 保留底层视觉细节用于精确编辑,两者协同实现"保结构、提质量"
  • 设计动机:程序化渲染的草图视觉外观简单,需要在保持语义对齐的同时增强视觉真实感

损失函数 / 训练策略

基于 Bagel 进行有监督微调,损失函数由两部分组成:

  • 代码损失:token 级交叉熵 \(\mathcal{L}_{\text{code}} = -\frac{1}{|v|}\sum_{i=1}^{|v|}\log(v_i)\)
  • 图像损失:VAE token 上的 MSE(Rectified Flow 目标)\(\mathcal{L}_{\text{final}} = \mathbb{E}_{t,x_0,x_1}[\|m(t,x_t)-(x_1-x_0)\|^2]\)

训练细节:冻结 ViT、VAE 编码器及其连接器;全参数微调 16K 步;学习率 2×10⁻⁵,warmup 2K 步;使用 EMA 权重评估;8 × H800 GPU

CoCo-10K 数据集

构建了包含 10K+ 结构化监督实例的训练数据集,涵盖三种原子纠正能力: - 编辑数据集:基于 StructVisuals 的图表编辑对(保持结构感知) - 合成数据集:使用 Gemini-3-Pro 生成代码 + Nano Banana 精修,覆盖科学图表和密集文本场景 - 数据组织为 Text-Code 对和 Text-Draft-Final 三元组两种格式

实验关键数据

主实验:StructT2IBench 结构化生成精度 (%)

模型 Chart Graph Math Puzzle Science Table Overall
GPT-Image 37.09 57.00 63.25 59.42 60.94 83.31 49.58
Qwen-Image 32.23 48.05 46.98 48.90 53.51 73.65 41.03
Bagel 4.66 3.61 4.02 4.46 8.60 5.74 4.69
Bagel-Think 4.81 15.33 13.89 15.22 19.05 8.97 9.03
CoCo 79.44 62.58 69.12 49.10 58.81 79.15 73.52

文本渲染能力对比

方法 OneIG-Bench (En/Zh/Overall) LongText-Bench (En/Zh/Overall)
BAGEL 0.244/0.365/0.305 0.373/0.310/0.342
GPT-4o 0.857/0.650/0.754 0.956/0.619/0.788
CoCo 0.895/0.811/0.853 0.755/0.753/0.754

消融实验:训练混合比例

方法 r_c 比例 English Chinese
Bagel 0.373 0.310
CoCo 0.20 0.724 0.667
CoCo 0.10 0.733 0.671
CoCo 0.05 0.755 0.753

关键发现

  • CoCo 在 StructT2IBench 上整体精度 73.52%,比最强 baseline GPT-Image (49.58%) 高出 +23.94%,比直接生成提升 +68.83%
  • 在 OneIG-Bench 上 CoCo 整体得分 0.853,超越 GPT-4o 的 0.754,提升 +54.8%(相对 Bagel)
  • 在 LongText-Bench 上取得 0.754 整体得分,提升 +41.23%(相对直接生成)
  • 降低 Text-Code 监督比例(r_c 从 0.20→0.05)反而提升性能,说明少量代码监督即可激活代码推理能力
  • CoCo 的代码可执行率远高于 Bagel,验证了专门训练的必要性

亮点与洞察

  1. 代码作为推理范式的创新性:首次将可执行代码作为 T2I 任务的 CoT 表示,将推理从"模糊描述"升级为"精确编程",这一思路具有广泛的启示意义
  2. 两阶段生成策略的实用性:先代码渲染草图、再精修的流程将困难的端到端生成分解为两个更简单的子问题
  3. 数据工程的精心设计:CoCo-10K 数据集的构建对齐了两阶段生成范式,为模型同时学习代码生成和草图精修提供了高质量监督
  4. 中文文本渲染的突破:在中文文本渲染上(0.811)大幅超越所有 baseline,展示了代码驱动方法在多语言场景中的优势

局限性 / 可改进方向

  1. 依赖沙盒环境执行代码,代码的执行成功率和渲染质量直接影响最终结果
  2. 目前主要在结构化/文本密集型场景验证,对于自然场景(人物、风景等)的效果未充分探索
  3. CoCo-10K 数据集规模相对有限(10K),扩大数据规模和多样性可望进一步提升效果
  4. 推理链条较长(生成代码→执行→渲染→精修),推理速度和效率是实际部署的挑战
  5. 基于 Bagel 构建,迁移到其他 UMM 架构的泛化性有待验证

相关工作与启发

  • Bagel:CoCo 的基座模型,展示了 UMM 在"thinking before generating"方面的潜力
  • Image-Gen-CoT:使用奖励模型评估早期解码步骤,CoCo 通过代码推理提供更精确的引导
  • IRG (Interleaving Reasoning Generation):采用多轮"文本-图像-文本-图像"工作流进行后验修正,CoCo 改为先验代码规划
  • 启发:可执行中间表示(代码)作为 CoT 的范式可推广到其他需要精确控制的生成任务

评分

  • ⭐⭐⭐⭐⭐ 新颖性:代码作为视觉推理的 CoT 是全新的范式,idea 非常清晰有力
  • ⭐⭐⭐⭐ 实验充分度:三个 benchmark 全面验证,消融实验到位,但缺乏自然场景评估
  • ⭐⭐⭐⭐ 写作质量:结构清晰,图表丰富,动机阐述有说服力
  • ⭐⭐⭐⭐⭐ 价值:对结构化 T2I 生成有重大推动,代码驱动推理的思路有广泛启发意义