AVISO: Libertamos o repositório de geração de poucas fotos unificadas (Clovaai/Fewshot-Fonte-Geração). Se você estiver interessado em usar nossa implementação, visite o repositório unificado.
A implementação de Pytorch de várias cabeças é melhor que uma: geração de fontes com poucas fotos com múltiplos especialistas localizados . | papel
Song Park 1 , Sanghyuk Chun 2, 3 , Junbum Cha 3 , Bado Lee 3 , Hyunjung Shim 1
1 Escola de Tecnologia Integrada, Universidade Yonsei
2 NAVER AI LAB
3 Naver Clova
Algum método de geração de fontes (FFG) precisa satisfazer dois objetivos: as imagens geradas devem preservar a estrutura global subjacente do caractere alvo e apresentar o diverso estilo de referência local. Os métodos FFG existentes visam separar o conteúdo e o estilo, extraindo um estilo de representação universal ou extraindo múltiplas representações de estilo componentes. No entanto, métodos anteriores não conseguem capturar diversos estilos locais ou não podem ser generalizados para um personagem com componentes invisíveis, por exemplo, sistemas de linguagem invisíveis. Para mitigar os problemas, propomos um novo método FFG, denominado vários especialistas localizados, poucas fotos de geração de fontes (MX-FONT). MX extrata os recursos de vários estilos que não estão explicitamente condicionados aos rótulos dos componentes, mas automaticamente por vários especialistas para representar diferentes conceitos locais, por exemplo, sub-glifo do lado esquerdo. Devido aos múltiplos especialistas, o MX-FONT pode capturar diversos conceitos locais e mostrar a generalização para idiomas invisíveis. Durante o treinamento, utilizamos os rótulos dos componentes como supervisão fraca para orientar cada especialista a ser especializado em diferentes conceitos locais. Formulamos o componente atribuindo problemas a cada especialista como o problema de correspondência de gráficos e o resolvemos pelo algoritmo húngaro. Também empregamos a perda de independência e a perda adversária no estilo de conteúdo para impor o desembaraço do estilo de conteúdo. Em nossos experimentos, o MX-font supera os métodos anteriores de FFG de última geração na geração chinesa e na geração de geração chinesa, por exemplo, chinesa a coreana.
Você pode encontrar projetos mais relacionados na geração de fontes de poucos tiros nos links a seguir:
Python> 3.6
Usando o CONDA é recomendado: https://docs.anaconda.com/anaconda/install/linux/
pytorch> = 1.5
Para instalar: https://pytorch.org/get-started/locally/
SCONF, Numpy, Scipy, Scikit-Image, TQDM, JSONLIB, FONTTOOLS
conda install numpy scipy scikit-image tqdm jsonlib-python3 fonttools
Observe que fornecemos apenas os arquivos de fonte de exemplo; Não os arquivos de fonte usados para o treinamento o peso fornecido (gerador.th) . Os arquivos de fonte de exemplo são baixados daqui.
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
Este projeto é distribuído pela licença do MIT, exceto Modules.py, que é adotado em 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.
Este projeto é baseado em Clovaai/DMFont e 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)},
}