本文中,来自华南理工大学、MiroMind AI、新加坡国立大学以及琶洲实验室的研究者们提出一种新的生成模型 Diffusion Brush,首次将扩散模型用于文本行级的手写体生成,在英文、中文等多语言场景下实现了风格逼真、内容准确、排版自然的文本行生成。
研究背景
AI 会写字吗?在写字机器人衍生换代的今天,你或许并不觉得 AI 写字有多么困难。
那么,如果 AI 写的字和你写的字一模一样,你会作何感想?是迫不及待地生成一套属于自己的字体,还是担心签名信息不再可靠,抑或是可惜这项技术没能早点出现帮你写作业……
无论如何,这项笔迹模仿的技术的确已日臻成熟。现在,你只需要在纸上写下几个字,AI 就能准确学习并模仿你的笔迹写出任何字。使用 AI 模仿手写文本,不仅能真实再现书写者风格,轻松创造属于用户个人的字体库,也在字体设计、笔迹验证等诸多领域具有广阔的应用前景。今天要介绍的是 DiffBrush,这是一个全新的扩散模型,能够轻松生成逼真的手写体文本行
此前,相关研究团队已接连发表「SDT」(CVPR 2023) 和「One-DM」 (ECCV 2024) 两项与手写文本风格化生成相关的研究成果,机器之心均进行了相关报道。其中「One-DM」仅凭单张手写样本便能生成与样本风格相似度很高的任意文本。
然而,现有的手写文本生成工作普遍关注「字符级」生成,也即只生成一个单词或是汉字,如果要生成一整段文本行,则只能将若干个字符拼接合成在一起。这就像是你在不同纸上写字,把每个字分别裁剪下来,再组合成一行字。这种做法很容易导致字符不对齐,或上或下,或大或小,看起来歪歪扭扭,并不符合人类的书写习惯。
此外,生成字符再合成文本行的做法使得字符间距趋于一致,然而真实笔迹的字符间距往往是富于变化的,并且这些变化也可视为书写者风格的一部分。
现有的直接生成手写体文本行的方法较为有限,这些方法忽略了风格学习和内容学习间发生的互相干扰,且难以保证长文本生成中大量字符的内容准确度,其在风格保真度和内容准确性方面都存在不足。
经过多方考虑和实验求证,研究者们提出了新颖的基于扩散模型的手写体文本行生成方法 DiffBrush,能够生成风格逼真、内容准确、排版自然的手写体文本行。值得注意的是,这是扩散模型首次被应用于文本行生成任务。目前论文的代码和数据已经开源,欢迎大家关注!
论文标题:Beyond Isolated Words: Diffusion Brush for Handwritten Text-Line Generation论文地址:https://arxiv.org/abs/2508.03256代码开源:https://github.com/dailenson/DiffBrush
关键问题
围绕手写体文本行生成这一目标,研究者们分析了以下两个关键问题:
如何保证生成的文本行符合人类书写习惯,即垂直方向对齐且字符间距存在变化?如何使得生成的文本行既在字体风格上贴近书写者,又能有较高的整体内容可读性和局部内容准确性?
接下来看研究者如何解决上述问题。
技术方案
研究动机
研究者发现,现有的手写体文本行生成模型的内容学习和风格学习之间存在干扰。例如,最小化内容识别损失函数促使模型生成更容易被 OCR 识别的「标准」字形,然而这会影响其对真实风格的提取,也即模型为了生成的内容更准确,可能会使生成的风格不那么准确。
另一方面,研究者发现应用于文本行级的方法优先考虑全局准确性,但通常无法确保字符级别的准确性。
受启发于上述观察,研究者考虑将风格和内容解耦,在风格学习过程中动态破坏内容信息,使其专注于文本风格模式的提取;此外,研究者构建了一个多尺度判别器,从行级和字符级提供更细粒度的内容监督,以兼顾内容的全局和局部准确性。
方法框架
DiffBrush 的整体框架如下图所示,主要包括内容解耦的风格模块、风格 - 内容融合模块、条件扩散生成器和多尺度内容判别模块
首先,将手写样本送入 CNN-Transformer 风格编码器,通过列向掩码与行向掩码分别增强垂直方向和水平方向的风格学习,经 Proxy-NCA 对比学习后输出垂直增强特征与水平增强特征。
其次,内容编码器把目标文本渲染成 Unifont 图像并提取内容特征,并在风格 - 内容融合模块分别获取上述风格特征,进而得到条件向量。之后,条件向量引导条件扩散生成器执行去噪过程,合成整行手写图像。
最后,多尺度内容判别器在行级监督字符顺序和基线连贯性,在词级判别字符结构真伪,最终生成风格一致、基线齐整、词距自然的手写体文本行。
(a) 内容解耦的风格模块。为避免内容学习对风格学习造成干扰,DiffBrush 提出内容解耦的风格模块,让模型仅关注字符风格。一个较为直接的解耦方法是对图像进行掩码破坏,那么如何设置掩码比较好呢?
DiffBrush 采用「列掩码 + 行掩码」的内容解耦策略,分别从垂直方向和水平方向对字符内容进行掩蔽。在破坏字符内容的同时,列掩码保留了字高、倾斜度等信息,行掩码保留了字符宽度、间距等信息,从而有效保真风格。掩码后的特征经平均池化分别得到列向量与行向量,分别在 Proxy-NCA 损失函数的引导下聚集同一书写者的风格特征,同时推开不同书写者的风格特征。最终由训练得到垂直风格增强特征 S_ver 和水平风格增强特征 S_hor。值得注意的是,模型在内容掩蔽之前就已经提取了字符的完整风格特征。
(b) 多尺度内容判别模块。长文本生成容易在局部字符中出现错误,为兼顾全局字符顺序与局部字符结构的准确性,DiffBrush 构建了一个多尺度内容判别模块,包括行级判别模块 D_line 和词级判别模块 D_word
D_line 模块将生成的文本行图像与标准的内容引导图 I_line 沿通道维度进行连接,并将结果分割成 n 个片段,每个片段约一个字符宽度,随后使用 3D-CNN 在「段 - 高 - 宽」三维滑动,判断每一个分割片段是否正确,从而确保字符顺序与词间空白部分准确。 D_word 模块使用了预训练 CNN-LSTM 注意力模块获取单词位置,逐一分离出文本行中的单词。通过对生成图像和标准内容引导图 I_word 中对应的单词内容进行对比,来确保生成单词的内容准确性。由于 I_line 和 I_word 都是无风格字样,判别模块仅对不正确的内容进行惩罚,并不约束风格,因而能够在不削弱风格模仿的前提下,有效降低字符错误率。
(c) 风格 - 内容融合模块。在得到风格特征后,DiffBrush 并未直接将风格与内容分别注入扩散网络,而是先将风格和内容进行融合,再统一输入到 U-Net 中,这里采用了与 One-DM 类似的方法。
具体而言,内容编码器先将目标文本的 Unifont 渲染图编码为内容查询矩阵 Q,在 6 层 Transformer Decoder 组成的 Blender 中,前三层以 Q 为 Query,S_ver 为 Key/Value,进行垂直风格融合;上述输出作为新的 Query,S_hor 为 Key/Value,进行水平风格融合。最终得到的融合向量 C 引导后续扩散去噪过程。
实验评估
定量评估
DiffBrush 在英文、中文等数据集上都取得了超过现有方法的优越性能。值得注意的是,在同样使用一张参考样本的情况下,DiffBrush 在各项指标上相较于 One-DM 均有较大提升,且显著优于其他使用多张参考样本的方法。
定性评估
在英文文本行生成任务中,相比之前的各种方法, DiffBrush 生成的文本行在字符倾斜度、墨迹深浅、笔画宽度等方面更接近参考样本。对于同样使用了扩散方法的 DiffusionPen 和 One-DM,红圈部分显示了其生成结果的缺失字符或结构错误。
而在字符结构更复杂的中文文本行生成任务中,与 One-DM 方法相比, DiffBrush 生成的手写体文本行也表现出与参考样本最相似的样式,尤其在字符间距和墨水颜色方面。同时 DiffBrush 能生成更加准确的字符结构。
消融实验
核心模块对算法性能的影响
如下表所示,DiffBrush 的内容解耦的风格模块与多尺度内容判别模块存在协同效应。相较于无掩码和随机掩码,论文提出的「列掩码 + 行掩码」的方法更佳。尤其重要的是,多尺度内容判别模块在不影响 HWD 风格指标(甚至更好)的情况下,显著降低了字符错误率。
内容解耦风格学习的分析
实验结果显示,添加垂直风格增强 S_ver 或水平风格增强 S_hor 均可提高文本行生成的样式质量。其中,S_ver 增强了风格模仿能力,特别是在保持单词的垂直对齐方面;同时,S_hor 也改善了风格学习,如字符水平间距。这些发现支持了论文作者的动机,即不同方向的内容屏蔽策略有助于风格学习。
直接生成文本行和组装文本行的分析
论文应用 DiffusionPen 中的字符拼接策略,使其他字符级生成方法能够合成文本行。相比于这些拼接出的文本行,专注于文本行生成的 DiffBrush 展现出了较为显著的优越性。
总结与展望
当数字文档的效率与手写文本的温度交织,AI 也可承载温情。只需一行参考文字,便可生成风格高度相似且任意指定内容的文本行,这就是 DiffBrush。展望未来,DiffBrush 在个性化字体定制、历史笔迹复原、鲁棒文本行识别器训练等方面具有广阔应用前景。