Примечание: мы выпускаем единый репозиторий генерации шрифтов с несколькими выстрелами (Clovaai/MareShot-Font Generation). Если вы заинтересованы в использовании нашей реализации, посетите Unified Repository.
Реализация Pytorch нескольких голов лучше, чем одна: генерация шрифтов с несколькими выстрелами с несколькими локализованными экспертами . | бумага
Парк песни 1 , Sanghyuk Chun 2, 3 , Junbum Cha 3 , Bado Lee 3 , Hyunjung Shim 1
1 Школа интегрированных технологий, Университет Йонсей
2 Naver AI Lab
3 Naver Clova
Метод генерации шрифтов с несколькими выстрелами (FFG) должен удовлетворить две цели: сгенерированные изображения должны сохранить основную глобальную структуру целевого символа и представлять разнообразный локальный стиль ссылки. Существующие методы FFG направлены на то, чтобы распутать содержание и стиль, либо путем извлечения универсального стиля представления, либо извлечения нескольких представлений в стиле компонентов. Тем не менее, предыдущие методы либо не смогли захватить разнообразные локальные стили, либо не могут быть обобщены до персонажа с невидимыми компонентами, например, невидимыми языковыми системами. Чтобы смягчить проблемы, мы предлагаем новый метод FFG, названный несколько локализованных экспертов с несколькими выстрелами сети генерации шрифтов (MX-Font). MX-Font извлекает несколько функций стиля, которые не явно обусловлены на метках компонентов, а автоматически несколькими экспертами, чтобы представлять различные локальные концепции, например, левша суб-глиф. Из-за нескольких экспертов MX-Font может захватывать различные локальные концепции и демонстрировать обобщение на невидимых языках. Во время обучения мы используем метки компонентов в качестве слабого надзора для того, чтобы каждый эксперт был специализирован для различных местных концепций. Мы сформулируем проблему назначения компонента каждому эксперту в качестве проблемы сопоставления графиков и решаем ее венгерским алгоритмом. Мы также используем убытки независимости и потери состязания в стиле контента, чтобы навязывать распутание в стиле контента. В наших экспериментах MX-Font превосходит предыдущие современные методы FFG в китайском поколении и кросс-лингальном, например, китайский к корейскому, поколение.
Вы можете найти больше связанных проектов по генерации шрифтов с несколькими выстрелами по следующим ссылкам:
Python> 3.6
Рекомендуется использовать Conda: https://docs.anaconda.com/anaconda/install/linux/
Pytorch> = 1,5
Для установки: https://pytorch.org/get-started/locally/
Sconf, Numpy, Scipy, Scikit-Image, TQDM, Jsonlib, Fonttools
conda install numpy scipy scikit-image tqdm jsonlib-python3 fonttools
Обратите внимание, что мы приведем только пример файлов шрифтов; Не файлы шрифтов, используемые для обучения предоставленного веса (Generator.pth) . Пример файлов шрифтов загружается отсюда.
get_chars_from_ttf.py # Generating the available characters file
python get_chars_from_ttf.py --root_dir path/to/ttf/dir
- use_ddp: whether to use DataDistributedParallel, for multi-GPUs.
- port: the port for the DataDistributedParallel training.
- work_dir: the directory to save checkpoints, validation images, and the log.
- decomposition: path to the "decomposition rule" file.
- primals: path to the "primals" file.
- dset: (leave blank)
- train: (leave blank)
- data_dir : path to .ttf files for the training
- val: (leave blank)
- data_dir : path to .ttf files for the validation
- source_font : path to .ttf file used as the source font during the validation
python train.py cfgs/train.yaml
* data_dir
|-- font1
|-- char1.png
|-- char2.png
|-- char3.png
|-- font2
|-- char1.png
|-- char2.png
.
.
.
- dset: (leave blank)
- test: (leave blank)
- data_dir: path to reference images
- source_font: path to .ttf file used as the source font during the generation
- gen_chars_file: path to file of the characters to generate. Leave blank if you want to generate all the available characters in the source font.
python eval.py
cfgs/eval.yaml
--weight generator.pth
--result_dir path/to/save/images
Этот проект распространяется по лицензии MIT, за исключением MODULES.PY, который принят по адресу https://github.com/nvlabs/funit.
MX-Font
Copyright (c) 2021-present NAVER Corp.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Этот проект основан на Clovaai/Dmfont и Clovaai/Lffont.
@inproceedings{park2021mxfont,
title={Multiple Heads are Better than One: Few-shot Font Generation with Multiple Localized Experts},
author={Park, Song and Chun, Sanghyuk and Cha, Junbum and Lee, Bado and Shim, Hyunjung},
year={2021},
booktitle={International Conference on Computer Vision (ICCV)},
}