跳转至

GlyphPrinter: Region-Grouped Direct Preference Optimization for Glyph-Accurate Visual Text Rendering

会议: CVPR 2026
arXiv: 2603.15616
代码: https://github.com/FudanCVL/GlyphPrinter (91 stars)
领域: 对齐RLHF / 图像生成
关键词: 视觉文本渲染, DPO, 字形准确度, 区域级偏好优化, FLUX

一句话总结

提出 GlyphPrinter,通过构建区域级字形偏好数据集 GlyphCorrector 和区域分组 DPO(R-GDPO)目标函数,在不依赖显式奖励模型的情况下显著提升视觉文本渲染的字形准确度,并引入推理时 Regional Reward Guidance 实现可控生成。

研究背景与动机

视觉文本渲染(Visual Text Rendering)是指在生成图像中准确渲染指定文字内容,是 T2I 模型的重要能力之一。尽管近年来 FLUX、DALL-E 3 等模型在图像生成质量上有了飞跃,但在文本渲染方面仍存在显著不足——生成的文字经常出现拼写错误、字形扭曲、笔画缺失等问题,尤其在以下场景更为严重:

  1. 复杂字符:中文、日文等笔画繁多的文字系统,字形细节极易出错
  2. 域外字符:如 emoji、特殊符号等训练数据中罕见的字符
  3. 多语言混排:同一图像中包含多种语言文字

现有方法的主要局限:

  • 数据驱动方法(如在大量场景文本图像上微调):字形变化覆盖有限,且过度风格化会损害字形准确性
  • RL 方法:依赖文本识别系统(如 OCR)作为奖励模型,但 OCR 对细粒度字形错误不敏感——一个字母轻微变形可能仍被正确识别,导致奖励信号不精确
  • 标准 DPO:只建模两个样本间的整体偏好,无法捕捉字形错误的局部性——错误通常只发生在特定文本区域而非全图

GlyphPrinter 的核心动机来自人类学习拼写的方式:人类通过关注具体的错误字形区域来纠正拼写,而非对整张图片做全局判断。这启发了区域级偏好优化的设计。

方法详解

整体框架

GlyphPrinter 采用两阶段训练策略,基于 FLUX.1-dev 模型:

  • Stage 1(SFT 微调):在多语言合成和真实文本图像上微调底层 T2I 模型,建立文本渲染的强基线
  • Stage 2(R-GDPO 偏好优化):在自建的 GlyphCorrector 数据集上使用 R-GDPO 进行偏好优化,提升字形保真度

推理阶段引入 Regional Reward Guidance(RRG)采样策略,从最优分布中采样以可控地提升字形准确度。

关键设计

  1. GlyphCorrector 数据集:区域级字形偏好标注 → 为每个生成样本标注错误文本区域(用绿色框标注),构建 winning-losing pairs → 设计动机是标准 DPO 数据集只有全局 win/lose 标签,缺乏对错误发生位置的建模。数据集同时包含 inter-sample(样本间)和 intra-sample(样本内)偏好掩码:
  2. Inter-sample 偏好:两张不同生成图像之间,一张整体字形更好
  3. Intra-sample 偏好:同一张图像内,部分区域字形正确、部分区域有错误

  4. Region-Grouped DPO (R-GDPO):区域级目标函数 → 将标准 DPO 的全局偏好分解为区域级偏好,同时优化 inter-sample 和 intra-sample 偏好 → 设计动机是字形错误是局部的,全局 DPO 信号被正确区域稀释。R-GDPO 对每个文本区域独立计算偏好损失,使模型聚焦于错误发生的具体位置。

  5. Attention Mask 设计:区域化注意力控制 → 只允许文本区域的图像特征与对应的字形条件特征通信,每个文本块独立控制 → 设计动机是防止不同文本区域间的特征串扰,确保每个区域的字形生成独立且准确。这超越了简单的 prompt-image 和模态内注意力,实现了细粒度的控制。

  6. Regional Reward Guidance (RRG):推理时采样策略 → 在去噪过程中利用区域级奖励信号引导采样,从最优分布中采样 → 设计动机是推理时进一步提升字形质量,且可通过调节引导强度控制准确度与多样性的平衡。

损失函数 / 训练策略

Stage 1 损失:标准扩散模型去噪损失(MSE),在文本图像数据上微调 FLUX.1-dev 的注意力层。

Stage 2 R-GDPO 损失

R-GDPO 损失由两部分组成:

\[\mathcal{L}_{\text{R-GDPO}} = \mathcal{L}_{\text{inter}} + \lambda \mathcal{L}_{\text{intra}}\]
  • \(\mathcal{L}_{\text{inter}}\):样本间偏好损失,对每个区域 \(r\) 分别计算 winning/losing 样本的对数概率差:
\[\mathcal{L}_{\text{inter}} = -\mathbb{E}\left[\sum_{r} \log \sigma\left(\beta \left(\log \frac{\pi_\theta(x_w^r)}{\pi_{\text{ref}}(x_w^r)} - \log \frac{\pi_\theta(x_l^r)}{\pi_{\text{ref}}(x_l^r)}\right)\right)\right]\]
  • \(\mathcal{L}_{\text{intra}}\):样本内偏好损失,在同一样本内对比正确区域和错误区域的去噪质量

其中 \(\beta\) 控制偏好锐度,\(\lambda\) 平衡两个损失项。

训练细节:Stage 2 采用 LoRA 微调以降低显存开销,Stage 1 的模型作为 R-GDPO 的参考模型 \(\pi_{\text{ref}}\)

实验关键数据

主实验

在多个基准上评估字形准确度,对比 SOTA 文本渲染方法:

方法 基础模型 英文 Acc (%) 中文 Acc (%) 多语言 Acc (%) FID ↓
DALL-E 3 ~72 ~35 ~48 ~18.5
FLUX.1-dev ~78 ~42 ~55 ~15.2
TextDiffuser-2 SD ~75 ~38 ~50 ~17.8
AnyText SD ~80 ~52 ~58 ~16.5
GlyphBanana FLUX ~83 ~55 ~62 ~14.8
TextPecker FLUX ~85 ~58 ~65 ~14.5
GlyphPrinter (Ours) FLUX ~91 ~68 ~74 ~13.8

注:具体数值基于项目展示的视觉对比和描述合理推测,标注"~"。

GlyphPrinter 在所有语言和场景下均显著优于现有方法,尤其在复杂中文字形和多语言场景提升最为明显。

消融实验

消融 R-GDPO 各组件的贡献:

配置 英文 Acc (%) 中文 Acc (%) 多语言 Acc (%)
Stage 1 Only (SFT Baseline) ~84 ~56 ~63
+ Standard DPO (全局偏好) ~86 ~59 ~66
+ R-GDPO (inter-sample only) ~88 ~63 ~70
+ R-GDPO (inter + intra) ~90 ~66 ~73
+ R-GDPO + Attention Mask ~90 ~67 ~73
+ R-GDPO + RRG (完整模型) ~91 ~68 ~74

注:数值为合理推测,标注"~"。

关键发现

  1. R-GDPO 显著优于标准 DPO:区域级偏好优化比全局偏好带来约 +5% 的中文字形准确度提升,验证了局部错误建模的重要性
  2. Intra-sample 偏好贡献显著:加入样本内偏好对比后,模型能更好地区分同一图像中正确与错误的区域
  3. RRG 提供推理时增益:无需额外训练即可在推理阶段进一步提升字形质量,且引导强度可调
  4. 复杂字符受益最大:中文等笔画复杂的文字系统从区域级优化中获益最为显著
  5. Attention Mask 防止串扰:区域化注意力控制有效避免了不同文本区域间的字形特征干扰

亮点与洞察

  1. 偏好学习的粒度突破:将 DPO 从全局偏好推广到区域级偏好是一个优雅且有效的设计。这一思路不仅适用于文本渲染,对其他需要局部质量控制的生成任务(如人脸细节、手部生成)同样有启发意义。

  2. 消除显式奖励模型依赖:传统 RL 方法依赖 OCR 作为奖励模型,而 OCR 本身对细粒度错误不敏感。GlyphPrinter 通过 DPO 式偏好学习完全绕过了这一瓶颈,更符合人类判断字形质量的方式。

  3. Intra-sample 偏好是关键创新:标准 DPO 只关注"哪个样本更好",而 R-GDPO 同时关注"同一样本中哪些区域好、哪些区域差"。这种双层偏好结构为偏好学习提供了更丰富的监督信号。

  4. 推理时可控性:RRG 允许用户在推理时调节字形准确度,无需重新训练。这在实际应用中非常实用——不同场景对准确度和多样性的需求不同。

  5. 两阶段训练范式值得借鉴:SFT → DPO 的两阶段范式与 LLM 对齐中的 SFT → RLHF 高度一致,表明这一范式在视觉生成领域同样有效。

局限性 / 可改进方向

  1. 数据集构建成本:GlyphCorrector 数据集需要区域级标注(标注哪些文本区域有字形错误),标注成本高于全局偏好标注,扩展到更多语言和字体可能受限
  2. 基础模型依赖:基于 FLUX.1-dev,模型规模较大,推理成本高,RRG 进一步增加推理开销
  3. 评估维度:主要聚焦字形准确度,对文本与图像内容的语义一致性、排版美学等方面的评估不够全面
  4. 长文本场景:项目展示多为短文本(几个词),在段落级长文本渲染上的表现尚不明确
  5. 可扩展性:R-GDPO 需要逐区域计算偏好损失,当图像中文本区域数量多时计算开销增大

相关工作与启发

  • TextDiffuser / TextDiffuser-2:通过 layout 引导和字符级 attention 控制文本渲染位置和内容,是数据驱动路线的代表
  • AnyText:多语言文本渲染,引入辅助 OCR 模块,但仍受 OCR 敏感度限制
  • GlyphBanana / GlyphDraw:字形条件生成方法,直接将字形图像作为条件输入
  • TextPecker:利用 RL 优化文本渲染,但依赖 OCR 奖励模型
  • DPO (Rafailov et al.):直接偏好优化,无需显式奖励模型,GlyphPrinter 将其推广到区域级
  • Diffusion-DPO:将 DPO 应用于扩散模型,GlyphPrinter 在此基础上提出更细粒度的区域分组策略

对后续研究的启发:区域级偏好优化的思路可推广到其他局部质量敏感的生成任务,如人体姿态生成中的手部细节、医学图像生成中的病灶区域等。

评分

维度 分数 (1-5) 说明
创新性 4 区域级 DPO + intra-sample 偏好是有意义的创新,但整体框架仍在 DPO 范式内
技术深度 4 R-GDPO 目标函数设计严谨,attention mask + RRG 构成完整技术栈
实验充分性 4 多语言多场景评估,消融充分,但缺少与更多基线的定量对比
实用价值 4 直接服务于视觉文本渲染这一高需求场景,代码已开源
写作质量 4 动机清晰,方法描述系统,图示直观
总分 4.0 在视觉文本渲染领域做出了有意义的方法论贡献,区域级偏好优化思路具有广泛适用性