机器之心编辑部
来自华南理工大学、新加坡国立大学、喷鼻香港理工大学以及琶洲实验室的研究者们联合提出一种有趣的手写笔墨天生方法,仅需供应少量的参考样本即可临摹用户的书写风格,进而天生符合该风格的任意笔墨。
字迹模拟 AI 的研究背景
俗话说,见字如面,字如其人。比较呆板的打印字体,手写体更能表示书写者的个人特点。相信很多人都曾设想过,拥有一套属于自己的手写字体,用在社交软件中,更好的展示自己的个人风格。
然而,不同于英笔墨母,汉字数量是极其弘大的,想要创造一套自己的专属字体代价十分高昂。例如,最新发布的国标GB18030-2022中笔墨符集包含8万多个汉字。有宣布称,某视频网站博主花了18个小时写完了7000多个汉字,中间耗费了足足13支笔,手都写麻了!
上述问题引发了论文作者的思考,能否设计一个笔墨自动天生模型,帮助办理专属字体创造代价高的问题呢?为理解决这一问题,研究者设想提出一个会字迹模拟的 AI,仅需用户供应少量的手写样本(大约 10 几张),就能提取字迹中蕴含的书写风格(例如字符的大小、倾斜程度、横宽比、笔画的是非和曲率等),并且临摹该风格去合成更多的笔墨,从而为用户高效合成一套完全的手写字体。
进一步地,论文作者从运用代价和用户体验两个角度出发,对该模型的输入和输出模态做了如下思考:1. 考虑到序列模态的在线字体 (online handwritings) 比图像模态的离线笔墨 (offline handwritings) 包含更丰富的信息(轨迹点的详细位置和书写顺序,如下图所示),将模型的输出模态设置为在线笔墨会有更广泛的运用前景,例如可以运用到机器人写字和书法教诲上。2. 在日常生活中,比较通过平板和触摸笔等采集设备获取在线笔墨,人们利用手机拍照获取离线笔墨更加方便。因此,将天生模型的输入模态设为离线笔墨,用户利用起来会更加方便!
总结起来,本文的研究目标是提出一个风格化的在线手写笔墨天生模型 (stylized online handwriting generation method)。该模型既能临摹用户供应的离线笔墨中所蕴含的书写风格,又能根据用户须要在线天生内容可控的手写字迹。
论文地址:https://arxiv.org/abs/2303.14736
代码开源:https://github.com/dailenson/SDT
紧张寻衅
为了实现上述目标,研究者们剖析了两个关键问题:1. 由于用户只能供应少量的字符样本,能否仅从这些少量的参考样本中学习用户独特的书写风格呢?换句话说,根据少量的参考样本临摹用户的书写风格是否可行?2. 本文的研究目标不仅须要知足天生的笔墨风格可控,还须要内容也可控。因此,在学习到用户的书写风格后,如何将该风格与笔墨内容高效的结合,从而天生知足用户期望的手写字迹?接下来让我们看看这篇 CVPR 2023 提出的 SDT(style disentangled Transformer)方法是若何办理这两个问题的吧。
办理方案
研究动机 研究者创造,个人字迹中常日存在两种书写风格:1. 相同书写者的字迹存在着一种整体上的风格共性,各个字符呈现出相似的倾斜程度和宽高比,且不同书写者的风格共性各不相同。由于这种特性可以用于区分出不同的书写者,研究者们称其为书写者风格。2. 除了整体上的风格共性,来自同一书写者的不同字符间存在着细节上的风格不一致。例如,对付 “黑” 和 “杰” 两个字符,二者在字符构造上具有相同的四点水部首,但该部首在不同的字符中存在微弱的书写差异,表示在笔画书写的是非、位置和曲率上。研究者们将这种字形上的细微的风格模式称为字形风格。受启示于上述不雅观察,SDT 旨在从个人字迹中解耦出书写者和字形风格,期望提升对用户字迹的风格模拟能力。
在学习到风格信息后,不同于以往的手写笔墨天生方法大略的将风格和内容特色进行大略的拼接,SDT 将内容特色作为查询向量,自适应的捕获风格信息,从而实现风格和内容的高效领悟,天生符合用户预期的手写字迹。
方法框架SDT 的整体框架如下图所示,包含双分支风格编码器、内容编码器和 transformer 解码器三部分。首先,本文提出两个互补的比拟学习目标来勾引风格编码器的书写者分支和字形分支分别学习对应的风格提取。然后,SDT 利用 transformer 的把稳力机制 (multi-head attention) 对风格特色和内容编码器提取到的内容特色进行动态领悟,渐进式的合成在线手写笔墨。
(a) 书写者风格比拟学习 SDT 提出面向书写者风格提取的有监督比拟学习目标(WriterNCE),将属于相同书写者的字符样本聚拢在一起,推远属于不同书写者的手写样本,显示地勾引书写者分支关注个人字迹中的风格共性。
(b) 字形风格比拟学习 为了学习更加细节的字形风格,SDT 提出无监督的比拟学习目标 (GlyphNCE),用于最大化相同字符不同视角间的互信息,鼓励字形分支专注学习字符中的细节模式。详细如下图所示,首先对同一张手写字符做两次独立的采样,获取一对含有笔画细节信息的正样本和,然后从其他字符中采样得到负样本。每次采样时,随机选择少量样本块作为包含原始样本细节的新视角。样本块的采样服从均匀分布,避免字符的某些区域被过度采样。为了更好的勾引字形分支,采样过程直接浸染于字形分支输出的特色序列上。
(c) 风格和内容信息的领悟策略 获取了两种风格特色后,如何将其与内容编码器学习到的内容编码进行高效领悟呢?为理解决这一问题,在任意的解码时候 t,SDT 将内容特色视作初始点,然后结合 q 和 t 时候之前输出的轨迹点形成新的内容高下文。接着,内容高下文被视为 query 向量,风格信息作为 key & value 向量。在交叉把稳力机制的领悟下,内容高下文与两种风格信息依次完成动态聚合。
实验
定量评价SDT 在中文、日文、印度文和英文数据集上都取得了最精良的性能,尤其是在风格分数指标上,比较之前的 SOTA 方法,SDT 取得了较大打破。
定性评价在中文天生方面,比较以前的方法,SDT 天生的手写字符既能避免字符的崩坏又能很好的临摹用户的书写风格。得益于字形风格学习,SDT 在字符的笔画细节天生方面也能做的很好。
在其他措辞上 SDT 也表现良好。尤其在印度文天生方面,现有主流方法很随意马虎天生崩溃的字符,而我们的 SDT 依旧能够坚持字符内容的精确性。
不同模块对算法性能的影响 如下表所示,本文提出的各个模块具有协同浸染,有效提升了对用户字迹的临摹性能。详细来说,书写者风格的加入提升了 SDT 对字符整体风格的模拟,例如字符的倾斜程度和长宽比等,而字形风格的加入改进了天生字符的笔画细节。比较已有方法大略的领悟策略,在各项指标上 SDT 的自适应动态领悟策略全面增强了字符的天生性能。
两种风格的可视化剖析 对两种风格特色进行傅里叶变换得到如下的频谱图,从图中不雅观察到,书写者风格包含更多的低频身分,而字形风格紧张关注高频身分。事实上,低频身分包含目标的整体轮廓,高频身分则更加关注物体的细节。这一创造进一步验证和解释理解耦书写风格的有效性。
展望
大家可以通过字迹 AI 创造自己的专属字体,在社交平台上更好的表达自我!