SDT 项目介绍
简介
SDT项目全称为“手写生成的笔者和字体风格解耦”,致力于通过风格解耦的Transformer(SDT)模型生成具有条件内容和风格的在线手写字体。现有的基于RNN的方法通常着重于捕捉个人的整体书写风格,忽略了同一人所书写的不同字符之间细微的风格差异。SDT通过从单个手写样本中解构笔者风格和字符风格来提高模仿性能。此外,项目还拓展了SDT,引入了离线到离线的框架,以提升离线中文手写字体生成的质量。
新闻动态
- [2024/07/01] 最新的手写文本生成方法One-DM被ECCV 2024接收。
- [2024/01/07] 添加了合成用户定制风格手写字体的教程和代码。
- [2023/12/15] 该项目被一位拥有270万粉丝的视频博主报道,并获得了近百万次观看。
- [2023/10/10] 作者受邀在中国图像图形学会进行演讲。
- [2023/06/14] 项目被“机器之心”报道。
- [2023/04/12] 项目数据集、预训练模型以及训练和测试代码的首次发布。
- [2023/02/28] SDT被CVPR 2023接收。
手写生成结果
- 在线中文手写生成:包括生动的在线手写效果展示。
- 不同文字应用:SDT不仅限于中文,还可以应用于其他语言的书写风格。
- 离线中文手写生成扩展:在离线环境下增强中文书写生成质量。
系统需求
要运行SDT环境,需要Python 3.8版本,并使用Conda来创建和管理环境。用户必须安装项目所需的所有依赖关系。
文件夹结构
项目目录结构组织良好,分为训练、测试、模型评估等多个部分,每个部分都有相应的文件和说明。
SDT/
├── train.py - 启动训练的主脚本
├── test.py - 通过训练好的模型生成字符
├── evaluate.py - 评估生成的样本
└── 其他文件和文件夹用于数据加载、模型存储、配置管理等
数据集
SDT项目提供了中文、日文和英文数据集供用户下载并使用于手写字体生成的实验和研究。
预训练模型
项目提供了预训练内容编码器模型,用户可以下载并直接在模型库中使用,从而避免重新训练模型。
实验训练与测试
用户可以利用SDT训练脚本在不同语言的数据集上进行训练,同时也可以通过测试脚本生成和评估不同语言的手写字体,支持定性和定量分析。
实际应用
项目中开发者已提出将生成结果转换为TTF格式,并利用软件进行段落、行和字符间距的灵活调整,并展示了相关软件界面及打印结果。
引用
如果该项目对您的研究有帮助或您使用了相关代码库,请引用以下文献:
@inproceedings{dai2023disentangling,
title={Disentangling Writer and Character Styles for Handwriting Generation},
author={Dai, Gang and Zhang, Yifan and Wang, Qingfeng and Du, Qing and Yu, Zhuliang and Liu, Zhuoman and Huang, Shuangping},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition,
pages={5977--5986},
year={2023}}
SDT项目为用户提供了一套强大的工具,能够生成高度真实的手写字体,并且在字体风格和字符风格上都体现了极高的灵活性和定制化。