项目| ArXiv | 纸| Huggingface-演示 | Colab-演示
2024.02使用自定义手写样本测试模型:
Huggingface 演示现已推出并正在运行
自定义手写内容的 Colab 演示
IAM/CVL 数据集的 Colab 演示
Ankan Kumar Bhunia、Salman Khan、Hisham Cholakkal、Rao Muhammad Anwer、Fahad Shahbaz Khan 和 Mubarak Shah
摘要:我们提出了一种新颖的基于 Transformer 的风格手写文本图像生成方法 HWT,该方法致力于学习风格内容纠缠以及全局和局部书写风格模式。所提出的 HWT 通过自注意力机制捕获样式示例中的长程和短程关系,从而对全局和局部样式模式进行编码。此外,所提出的基于 Transformer 的 HWT 包括编码器-解码器注意力,它通过收集每个查询字符的风格表示来实现风格-内容纠缠。据我们所知,我们是第一个引入基于变压器的生成网络来生成样式手写文本的人。我们提出的 HWT 生成逼真风格的手写文本图像,并且显着优于通过广泛的定性、定量和基于人类的评估所证明的最先进技术。所提出的 HWT 可以在几次设置中处理任意长度的文本和任何所需的书写风格。此外,我们的 HWT 很好地推广到了具有挑战性的场景,在训练过程中单词和写作风格都看不见,生成逼真的手写文本图像。
Python 3.7
PyTorch >=1.4
请参阅INSTALL.md
以安装所需的库。您可以更改文件mytext.txt
中的内容,以在训练时可视化生成的笔迹。
从 https://drive.google.com/file/d/16g9zgysQnWk7-353_tMig92KsZsrcM6k/view?usp=sharing 下载数据集文件和模型并解压缩到files
夹内。简而言之,在 bash 终端中运行以下几行。
git clone https://github.com/ankanbhunia/Handwriting-Transformerscd 手写-Transformers pip install --upgrade --no-cache-dir gdown gdown --id 16g9zgysQnWk7-353_tMig92KsZsrcM6k && 解压缩文件.zip && rm 文件.zip
开始训练模型:运行
python train.py
如果您想使用wandb
请安装它并更改train.py
文件中的 auth_key (ln:4)。
您可以在params.py
文件中更改不同的参数。
您可以在 IAM 和 CVL 之外的任何自定义数据集中训练模型。该过程涉及创建dataset_name.pickle
文件并将其放置在files
夹中。 dataset_name.pickle
的结构是一个简单的 python 字典。
{'train': [{writer_1:[{'img': <PIL.IMAGE>, 'label':<str_label>},...]}, {writer_2:[{'img': <PIL.IMAGE> , '标签':<str_label>},...]},...], 'test': [{writer_3:[{'img': <PIL.IMAGE>, 'label':<str_label>},...]}, {writer_4:[{'img': <PIL.IMAGE>, '标签':<str_label>},...]},...], }
docker run -it -p 7860:7860 --platform=linux/amd64 registry.hf.space/ankankbhunia-hwt:latest python app.py
请检查存储库中的results
文件夹以查看更多定性分析。另外,请查看 Colab 演示,尝试使用您自己的自定义文本和写作风格
使用所提出的 HWT 的重建结果与 GANwriting 和 Davis 等人的比较。我们使用与样式示例中相同的文本来生成手写图像。
如果您使用该代码进行研究,请引用我们的论文:
@InProceedings{Bhunia_2021_ICCV, author = {Bhunia, Ankan Kumar and Khan, Salman and Cholakkal, Hisham and Anwer, Rao Muhammad and Khan, Fahad Shahbaz and Shah, Mubarak}, title = {Handwriting Transformers}, booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)}, month = {October}, year = {2021}, pages = {1086-1094} }