HyperAIHyperAI

Command Palette

Search for a command to run...

超越孤立词汇:用于手写文本行生成的扩散笔刷

Gang Dai Yifan Zhang Yutao Qin Qiangya Guo Shuangping Huang Shuicheng Yan

摘要

现有的手写文本生成方法主要关注孤立单词的生成。然而,真实场景中的手写文本不仅需要关注单个单词,还需兼顾单词之间的空间关系,例如垂直对齐方式和水平间距。因此,生成完整文本行(text line)成为一种更具前景且更为全面的任务。然而,该任务面临诸多严峻挑战,包括对复杂风格模式(涵盖词内和词间关系)的精准建模,以及在大量字符中保持内容准确性。为应对这些挑战,我们提出了 DiffBrush,一种基于扩散模型(diffusion-based)的新型手写文本行生成模型。与现有方法不同,DiffBrush 通过两项关键策略在风格模仿和内容准确性方面表现出色:(1)内容解耦风格学习(content-decoupled style learning),通过采用列向和行向掩码(columnand row-wise masking),将风格与内容分离,从而更好地捕捉词内和词间的风格模式;(2)多尺度内容学习(multi-scale content learning),利用行判别器和词判别器,确保文本内容在全局上的一致性和局部上的准确性。大量实验表明,DiffBrush 能够生成高质量文本行,尤其在风格再现和内容保留方面表现优异。代码已开源,访问地址为:https://github.com/dailenson/DiffBrush

一句话总结

DiffBrush 是一种基于扩散的手写文本行生成模型,通过按列和按行掩码将风格与内容解耦,并采用行级和词级判别器进行多尺度内容学习,在风格复现和内容保留方面超越了以往孤立的单词级方法。

核心贡献

  • 内容解耦的风格学习策略通过按列和按行掩码将风格与内容分离,使模型能够从风格参考中捕获词内和词间的手写模式。
  • 多尺度内容学习采用行级和词级判别器监督文本内容,在保持风格模仿的同时,强化全局连贯性和局部字符准确性。
  • 在三个广泛使用的手写数据集上的实验表明,DiffBrush 能够生成高质量文本行,且具有出色的风格复现和内容保留能力。

引言

生成逼真的手写文本已取得显著进展,但以往大多数工作仅限于生成孤立的单词,忽视了定义自然手写的词间关系,例如垂直对齐和水平间距。这种狭隘的关注点无法满足需要完整文本行的应用,在这类应用中,同时建模词内和词间风格模式以及在多字符序列中保持内容准确性,构成了重大挑战。作者提出了 DiffBrush,一种基于扩散的模型,通过内容解耦的风格学习和多尺度内容学习来应对这些难题。内容解耦的风格学习利用按列和按行掩码将风格与内容分离,以更好地捕获全面的风格模式;多尺度内容学习则采用行级和词级判别器,以强化全局连贯性和局部文本保真度。

方法

作者提出 DiffBrush,一种新颖的条件扩散生成方法,旨在合成具有更高内容准确性和风格保真度的手写文本行。如下图所示,该架构包含三个主要组件:内容解耦风格模块、条件扩散生成器和多尺度内容判别器。

内容解耦风格模块旨在从示例书写者中捕获文本行风格,同时消除内容干扰。作者观察到,朴素的随机掩码会同时破坏内容和关键风格特征(如词间距和垂直对齐)。为解决这一问题,他们引入了按列和按行掩码策略,如下图所示,这些策略选择性地破坏内容,同时保留关键风格模式。

具体而言,风格样本由 CNN-Transformer 风格编码器处理,以获得初始风格特征。然后,两个专门的风格增强头分别提取细粒度的垂直和水平风格特征。如下图所示,对于垂直风格增强,序列特征被重塑为空间特征并进行按列掩码。这样可以在保持垂直对齐的同时移除水平内容信息。通过 Proxy-NCA 损失来强制同一书写者内的风格一致性,同时区分不同书写者。类似地,对于水平风格增强,执行按行掩码以保留词和字符间距,同时破坏垂直内容。整体内容解耦风格损失是垂直和水平增强损失之和。

提取的风格特征与来自内容编码器的内容特征融合,形成条件向量,指导条件扩散生成器在去噪过程中合成逼真的手写文本行图像。然而,仅使用扩散损失训练生成器不足以保证内容可读性。为解决这一问题,作者引入了多尺度内容学习策略,在全局和局部两个层面提供细粒度的内容监督。

在全局层面,行内容判别器评估整体字符顺序。如下图所示,生成的文本行图像和内容引导被拼接并切分成片段。基于 3D CNN 的判别器处理这些片段以融入全局上下文信息,并判断输出是真实还是伪造,为整体字符顺序提供反馈。

在局部层面,词内容判别器确保字符级准确性。如下图所示,采用 CNN-LSTM 架构的注意力模块获取生成文本行中的词位置。字符级注意力图被拼接成词级注意力图,以提取被关注的词。每个被关注的词及其对应的内容引导被送入词判别器进行真伪判别,为生成器提供词级内容反馈。

DiffBrush 的整体训练目标结合了扩散损失、内容解耦风格损失和多尺度内容损失:

LG=Ldiff+Lstyle+λLcontent,\mathcal{L}_{\mathcal{G}} = \mathcal{L}_{diff} + \mathcal{L}_{style} + \lambda \mathcal{L}_{content},LG=Ldiff+Lstyle+λLcontent,

其中 λ\lambdaλ 作为权衡因子,训练时经验性地设置为 0.05。

实验

实验在 IAM、CVL 和 CASIA-HWDB 数据集上评估 DiffBrush,与最先进的手写文本行和单词级生成方法进行比较,使用风格相似性、内容可读性和视觉质量指标,并辅以用户研究。结果表明,DiffBrush 实现了更优的风格模仿和更准确的字符内容,生成的文本行几乎与真实手写无法区分。消融研究验证了带垂直和水平掩码的内容解耦风格模块以及多尺度行、词判别器共同提升了风格保真度和可读性,同时进一步分析展示了该方法对复杂背景、中文脚本的鲁棒泛化能力、直接行生成的优势以及平滑的风格插值。

作者对风格模块组件进行了消融研究,比较了单一风格编码器与带有垂直或水平增强头的变体。结果表明,单独引入任一增强头均比基线改善了风格模仿和内容可读性。整合了两个增强头的完整风格模块在所有评估指标上均取得最佳性能,证明了其在复制参考书写风格的同时保持内容准确的有效性。单一风格编码器基线在风格和内容指标上表现最差,逊于增强变体。单独引入垂直或水平增强头可改善风格模仿和内容可读性。结合两个增强头的完整风格模块在风格复现和内容准确性方面实现了最佳整体性能。

作者将他们直接生成的文本行方法 DiffBrush 与使用 One-DM 并经过后处理的拼接文本行方法进行了比较。结果显示,DiffBrush 在所有评估指标(包括风格模仿、内容可读性和视觉质量)上显著优于拼接基线。DiffBrush 获得了更低的笔迹距离分数,表明与拼接文本行方法相比,风格模仿更优。所提方法产生了显著更低的字符和词错误率,表明内容可读性更好。DiffBrush 获得了低得多的 Fréchet Inception Distance,反映了生成图像具有更高的视觉质量。

作者通过在 IAM 测试集上评估不同值,分析了掩码比率对模型性能的影响。结果表明,掩码比率为 0.5 时在所有评估指标(包括风格相似性和内容可读性)上均取得最佳性能。比率设置过低或过高都会导致风格模仿和内容准确性下降。掩码比率为 0.5 时实现了最低的笔迹距离,表明与其他测试比率相比风格模仿更优。同一比率也带来了最低的字符和词错误率,表明内容可读性最佳。当掩码比率显著增加或完全移除时,性能下降,凸显了掩码策略的重要性。

作者将提出的 DiffBrush 方法与采用拼接策略创建文本行的最先进单词级生成方法进行了比较。结果表明,直接生成文本行的 DiffBrush 在风格模仿、内容可读性和整体视觉质量方面均优于拼接孤立单词的方法。DiffBrush 获得了最低的笔迹距离分数,表明其最准确地模仿了参考手写风格。该方法显著降低了字符和词错误率,证明了其在保持内容可读性方面优于基于拼接的基线。DiffBrush 获得了最佳的 Fréchet Inception Distance,反映了在比较的生成策略中具有最高的视觉质量。

作者在中文手写文本行生成上评估了其方法,并与最先进的基线进行了比较。结果表明,该方法在风格模仿和内容保真度方面实现了卓越的性能,有效处理了复杂的中文字符结构。与基线相比,所提方法生成的中文文本行具有更准确的字符结构和更好的字符间距。定量评估显示,该方法在风格模仿、内容准确性和视觉质量指标上均优于基线。视觉比较表明,基线偶尔会产生不正确的字符结构,而所提方法保持了结构完整性。

实验通过对风格模块的消融验证了 DiffBrush 的设计,表明整合垂直和水平增强头可实现最佳的风格模仿和内容可读性。与拼接文本行基线和单词级方法的比较证实,直接文本行生成始终能实现更优的手写风格复现、更低的错误率以及更高的视觉质量。掩码比率 0.5 被证明是平衡风格和内容的最佳选择,而在中文文本行上的评估表明该方法能够处理复杂的字符结构,并保持准确的间距和结构完整性。


用 AI 构建 AI

从创意到上线——通过免费 AI 协同编码、开箱即用的环境和最优惠的 GPU 价格,加速您的 AI 开发。

AI 协同编码
开箱即用的 GPU
最优定价

HyperAI Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供