1 文字渲染之痛:当AI画不好“字”时,我们该怎么办?
图1:GlyphAnchor在文字密集场景下的生成效果,字体清晰、排版准确、风格统一。
很多人可能都有过这样的体验:想让AI画一张带中文标语的海报,或者生成一张布满小字的通知截图,结果出来的图,乍一看挺美,仔细一瞧,上面的字全在“胡说八道”。
要么是笔画多了几横,要么是好好的汉字凭空多出一个偏旁,更离谱的是,一句完整的话被拆得七零八落,字和字之间还会“串门”。这种在生成图像里准确“写字”的能力,学术上叫视觉文本渲染,一直是文生图、图生图模型最难啃的硬骨头之一。
为什么难?因为文字这东西和普通图像内容完全不同。画一只猫,哪怕耳朵歪一点、毛色深一点,大家都能看出来是猫;但写一个“龍”字,少一横它就是错别字。尤其当目标文本变长、排版变密,甚至出现不常用的生僻字时,模型的注意力根本顾不过来,字体结构稍一模糊,就直接“摆烂”给你编一个不存在的字。
最近,复旦大学与小红书的研究团队提出了一种名为GlyphAnchor的新方法,专门解决这个痛点。思路很有意思:既然光靠提示词让模型“脑补”字形不靠谱,那就直接把每个目标文字的“标准字形小抄”喂给模型,并告诉它这些小抄分别应该贴到画面的哪个位置。给模型开卷考,文字准确率自然就上去了。
一、问题的根源:模型为什么总是写错字 要想理解GlyphAnchor做了什么,得先搞清楚现有模型在文字渲染上到底栽在哪里。 目前主流的扩散Transformer模型,比如Qwen-Image、Z-Image等,处理文字的方式和人类不一样。它们不是像打字机那样一个字一个字地拼出文本,而是把整个提示词编码成抽象的特征向量,再结合视觉噪声,在去噪过程中一步步“猜”出画面内容。对于普通物体,这种“猜”足够用了;但对于文字这种需要精确到每一笔的结构,光靠提示词里的语义信息远远不够。 打个比方,你让一个只听过“龙”字读音、却从没见过字形的人去写这个字,他大概率会画出一个四不像。现有模型面临的就是这种窘境。之前也有研究尝试把渲染好的字形图片直接拼到输入里,希望能给模型一点提示,但往往效果不甚理想:要么把字形图处理成一张和最终画面一样大的“大字报”塞进去,导致信息冗余、风格被带偏;要么只给零散的字形小图,却不告诉模型该往哪里放,最终模型依然抓瞎。 图2清晰展示了这几种设计思路的差异。默认仅靠提示词驱动(a),文字基本是乱码;把整页字形渲染图作为参考输入(b),虽然文字能对上,但画面风格却变得呆板,背景细节也丢失严重;只给字形补丁不给位置(d),文字依然错漏百出。GlyphAnchor的方案(e)则在字形补丁之外,额外标注了每个文本块在画布上的目标位置框,让模型既知道“写什么”,也清楚“写在哪”。
图2:多种字形条件注入设计的对比。(a)仅提示词;(b)全画布字形参考;(c)渲染字形补丁训练;(d)字形补丁无位置锚定;(e)字形补丁加位置锚定;(f)不同文本量下字形补丁的token开销比例。
二、方法概述:位置锚定的字形先验 GlyphAnchor的完整流程设计得相当巧妙。它并不要求推翻现有的扩散Transformer模型,而是在原有模型的基础上,额外增加一条轻量级的输入通路。 具体来说,对于提示词中需要渲染的每一段目标文本,系统会先用一个字形渲染器把这段文字画成一张紧凑的小图片,这张图可以是黑底白字的,也可以是带透明通道的。然后,通过视觉编码器把这张小图编码成视觉token。这些token并不会被随意地拼接在序列末尾,而是会被放置到一个虚拟的字形平面上,并且每一个token的位置ID都会根据其对应的文本布局框,重新映射到目标图像的潜在空间坐标上。 这套机制的核心在于利用了模型原生的旋转位置编码。因为位置ID与最终生成图像的坐标网格精确对齐,模型在处理这些字形token时,就能自然地建立起“这个字形应该出现画面中哪个区域”的空间对应关系。同时,由于整个过程只是改变了token的位置ID,并不改动注意力矩阵的计算方式,FlashAttention等高效注意力算子依然可以正常使用,推理效率没有打折扣。 这么设计有哪些好处?首先,字形补丁的视觉token数量非常少。一篇包含上千个汉字的海报,字形补丁所占用的token数也只有全画布字形参考图的三成左右,算力开销增长有限。其次,由于是即插即用的输入条件,GlyphAnchor可以很方便地适配到不同的扩散Transformer模型上,不需要为每个模型重新设计复杂的控制模块。
图3:GlyphAnchor方法总览。提示词、可选源图和渲染后的字形补丁图被编码成token,一起送入扩散Transformer主干;字形token被放到额外的条件帧中,其坐标锚定到目标文本布局位置。
三、核心原理推导:训练策略中的门道 GlyphAnchor虽然设计简洁,但训练过程并非一帆风顺。研究团队发现了一个很容易被忽视的训练与推理不一致问题:在训练阶段,模型其实是可以看到最终的正确答案的。 如果把目标图像中某个文字区域完整地裁剪下来作为字形条件,那模型相当于在做“抄写”练习,学到的只是把输入补丁复制粘贴到输出位置,而不是真正理解文字与场景风格的关系。一旦到了推理阶段,系统没法提前拿到真实图像里的文字块,只能用渲染出来的规整字形图,模型马上就不会玩了。但如果训练时就直接用渲染的字形图,模型又学得不够扎实,因为模拟输入和真实生成目标之间总存在差距。 为此,团队提出了一种分阶段的微调方案。在训练初期,更多的让模型看真实图像的文字裁剪块,快速建立文字样式与场景融合的映射关系;随着训练推进,逐渐增加渲染字形图的比例,让模型逐步适应推理阶段的实际输入分布。同时,团队还对渲染的字形图做了大量的数据增强,比如随机换行、缩放、旋转、平移和随机丢弃,防止模型单纯地死记硬背字形图的像素外观,真正学到文字的结构化特征。 在分阶段微调之后,模型在简单场景下已经能写对字了,但在长文本和生僻字的情况下还是会出现整体崩溃的风险。研究团队又引入了基于强化学习的后训练环节,设计了一套专门针对文字生成的多维度奖励函数。除了常规的OCR编辑距离打分之外,团队还巧妙地设计了文本布局一致性奖励,不仅关注文字识别是否正确,还要用OCR把生成图和参考图中的字符实例都检测出来,并比较每一对匹配字符的中心位置偏移和大小差异。只有当文字整体识别得分超过一定门槛时,布局约束项才会被激活,避免模型为了追求OCR得分而输出超出边界的大字体。 同时,为了让生成的文字在艺术风格上不突兀,方法还引入了两个由多模态大模型评判的奖励项:风格一致性奖励,衡量生成文字的字形风格与排版和原图是否匹配;视觉融合奖励,评估文字与其周边背景、材质和光影是否自然过渡。
图1(前页):GlyphAnchor面对复杂中英文混排的海报、菜单、文章页面等场景,均生成了排版得当、文字清晰的画面。
四、数据准备及实验设计 为了让模型真正适应“文字密集”的真实世界场景,研究团队还专门构建了一个用于评测和训练的文字信息型图像基准——InfoTextBench。这个基准包含133个样本,每个样本都配有中英文两版提示词。样本内容全部来源于真实世界收集的文字信息图像,包括海报、通知、产品说明、杂志页面等,每张图平均包含19.3个目标文本块,单张图片的目标文本平均总长度达到204个词,而且往往中英混排,还会夹杂各种符号。 针对这个基准,作者设计了一套专门的评估方案。文字准确度方面,用OCR工具识别生成结果,计算归一化编辑距离、词语级召回率、精确率、F1值以及短语命中率。整体视觉质量方面,则让多模态大模型从美学和提示词遵循度两个维度打分,取平均作为综合分。 GlyphAnchor在两个编辑模型(FireRed-Image-Edit-1.1、Qwen-Image-Edit-2511)以及一个文生图模型(Z-Image)上进行了验证。硬件方面使用24块H800-80GB GPU,分阶段微调和后训练各占两天。
五、实验结果:长文本和生僻字的双重突破 先看通用长文本基准上的表现。在LongTextBench数据集的英文任务上,原本FireRed-Image-Edit-1.1的单词准确率只有0.895,接上GlyphAnchor后,准确率直接跃升到0.990,涨了9.5个百分点;中文任务同样涨了8.2个百分点。Qwen-Image-Edit-2511在英文任务上更是从0.900大幅提升到0.983,而本身就较强的Z-Image也还能保持稳定增益。 表1:LongTextBench、OneIGBench-text与CVTG-2K基准上的量化对比。相比基础模型,GlyphAnchor在各项指标上均带来稳定提升。 生僻字的渲染是更大的亮点。在ChineseWord基准测试中,FireRed背书的GlyphAnchor模型在总准确率上从0.565提升到了0.801,提升了23.6个百分点。特别是二级字库(不常用汉字)和三级字库(生僻字)上的提升幅度非常夸张,分别上涨了37.2和34.9个百分点。这意味着当提示词里出现一个模型训练时很少见到的字形时,GlyphAnchor提供的字形“小抄”发挥了决定性作用。 表2:ChineseWord生僻字基准上的对比结果。GlyphAnchor在一级常用字、二级与三级生僻字上均大幅提升准确率。 在团队新建的InfoTextBench上,GlyphAnchor面对文字密集场景依然从容。原本编辑模型在这个基准上的词语级F1分数普遍在0.5上下挣扎,而接上GlyphAnchor后,Qwen-Image-Edit-2511的词语级F1从0.479跃升到0.871,短语命中率从0.167跳到0.737,综合视觉质量分也涨了2.1分。文生图模型Z-Image的词语级F1同样从0.872上升到0.950。
六、相关论文与开源生态分析 如果从更广阔的视角来看GlyphAnchor,不难发现视觉文本渲染是当前图像生成领域一个极具活力与挑战性的研究方向。在GlyphAnchor之前,做字形条件控制最有名的要数GlyphDraw、GlyphControl以及被集成进Seedream 2.0和GLM-Image的Glyph-ByT5-v2系列。其中Glyph-ByT5-v2路线是训练一个专门的字形感知文本编码器,把文本token映射为蕴含字形信息的特征,进而引导扩散模型。GlyphAnchor则采用了完全不同的视角,它不让编码器感知字形,而是像开卷考试一样,把整个字形图作为额外的参考图块交给模型,绕开了训练专用文本编码器所需要的巨大算力和数据成本。 对比近期不需要额外训练、仅在推理时干预的FreeText和GlyphBanana,GlyphAnchor属于“带条件微调”的路线,它通过在每个骨干模型上进行分阶段微调,让模型对字形补丁的响应更稳定。从消融实验来看,不管是在LongTextBench还是InfoTextBench上,GlyphAnchor相对原始模型和中间变体的提升都是全面的,特别是词组命中率从0.399到0.711的巨大跨步,说明位置锚定让模型在整句整段文本的排版稳定性上有了质变。 图5从可视化的角度展示了位置锚定的效果差异。第一行的参考图中,每个文本块都有特定的排版位置。第二行是没有位置锚定的字形补丁微调,可以看到模型虽然大概理解了要渲染哪些字,但多处出现了字形残缺、字块挤在一起或者大段丢字的问题。第三行是加上位置锚定的效果,不仅文字内容几乎全部还原,连每个文本块的相对位置关系都与原图保持高度一致。
图5:位置锚定的消融对比。上方为参考图,中间为有字形补丁但没有位置锚定的输出,下方为GlyphAnchor输出。加入了锚定之后,文本内容的完整性和排版位置都大幅改善。
图6:分阶段微调的消融对比。左侧为参考图;GT Crop SFT直接把真实文本裁块作为训练条件,出现明显的白底粘贴伪影;Rendered Glyph SFT虽然规避了伪影但风格保真度不足;Staged SFT同时兼顾了文字准确率与画面风格。
七、龙哥点评 整体看完GlyphAnchor这套工作,龙哥的感受是:方法精简,思路清晰,实验也做得相当扎实。它没有去设计复杂的模型结构,而是从“字形先验怎么给才最有效”这一根本问题出发,一步步论证了紧凑字形补丁加位置锚定的组合方案。分阶段微调的设计也体现出研究团队对训练与推理分布差异的深入认知。 稍微有点遗憾的是,目前公开的论文中并没有提供在线Demo,对于只想快速体验效果的同学来说门槛有点高。此外,论文的评测基准和对比模型主要集中于中英文,对于其他语言文字以及艺术字体的渲染效果还未充分展示。后续如果能把这套锚定机制融合到更多的商用级图像基础模型里,文字生成这块短板有望被进一步补齐。 未来,如果字形锚定能按照文本语义进一步做子字级别的切分,在保持全局排版的前提下让模型逐字渲染,那么AI在排版密集的学术论文、复杂的数学公式甚至艺术字设计上,都有机会达到以假乱真的程度。但就目前而言,GlyphAnchor已经把“让AI准确写字”这门技术往前推进了一大步。
从字形锚定到海报生成,想让AI替你写好每一行字?和龙哥一起读论文、跑代码,把AI的“笔误”彻底纠正过来!
欢迎加入龙哥读论文粉丝群,扫描下方二维码或者添加龙哥助手微信号加群:kangjinlonghelper。一定要备注:研究方向+地点+学校/公司+昵称(如 图像处理+上海+清华+龙哥),根据格式备注,可更快被通过且邀请进群。
『龙哥读论文』微信群目前包含:图像处理、大模型及智能体、自动驾驶及机器人、AI医疗及AI金融5个群
欢迎加入龙哥读论文粉丝群,扫描下方二维码或者添加龙哥助手微信号加群:kangjinlonghelper。一定要备注:研究方向+地点+学校/公司+昵称(如 图像处理+上海+清华+龙哥),根据格式备注,可更快被通过且邀请进群。
『龙哥读论文』微信群目前包含:图像处理、大模型及智能体、自动驾驶及机器人、AI医疗及AI金融5个群
2 GlyphAnchor核心机制:位置锚定的字形先验如何工作?
*表格超出部分左右可以滑动
Table 1: Quantitative comparison on LongTextBench, OneIGBench-text, and CVTG-2K.
3 分阶段训练策略:如何让模型既学得会又用得好?
4 实验结果:从长文本到稀有字符的全面突破
5 局限与展望:GlyphAnchor还有哪些提升空间?
龙迷三问
龙哥点评
论文创新性分数:★★★★☆
通过将紧凑的字形补丁图像锚定到目标图像的布局位置,为扩散Transformer骨干提供显式的字符形状和空间位置先验,以提升长文本、复杂文本和稀有字符的渲染准确性。实验合理度:★★★★☆
NED(归一化编辑距离)、词级召回率、词级精确率、词级F1、短语命中率、CLIP分数、WAC、整体视觉质量(MLLM评分)学术研究价值:★★★★☆
通过将紧凑的字形补丁图像锚定到目标图像的布局位置,为扩散Transformer骨干提供显式的字符形状和空间位置先验,以提升长文本、复杂文本和稀有字符的渲染准确性;更关键的是问题定义是否可复用到同类任务。稳定性:★★★☆☆
现有材料未提供充分的极端条件、重复运行或扰动测试,稳定性暂按中性评价。适应性以及泛化能力:★★★☆☆
现有材料未完整展示跨数据集、跨场景或分布外实验,泛化能力仍需进一步验证。硬件需求及成本:★★★☆☆
论文未明确报告FLOPs,但提到训练在24块H800-80GB GPU上进行,每阶段(SFT和NFT)各需2天。复现难度:★★★☆☆
现有材料未确认完整代码、配置、数据处理脚本和权重是否齐备,复现难度暂按中性评价。产品化成熟度:★★★☆☆
论文验证以研究实验为主,真实部署中的时延、成本、维护和异常场景仍需补充验证。可能的问题:;5) 构建了InfoTextBench基准。缺点:1) 需要额外的布局输入,依赖MLLM布局规划器的准确性;
*本文仅代表个人理解及观点,不构成任何论文审核或者项目落地推荐意见,具体以相关组织评审结果为准。欢迎就论文内容交流探讨,理性发言哦~ 想了解更多原文细节的小伙伴,可以点击"阅读原文",查看更多原论文细节哦!