Это внедрение Tensorflow корейского синтеза шрифта скелета: условные глубокие состязательные сети .
бумага
В нашем исследовании мы изучаем проблему синтеза шрифтов с использованием сквозной условной глубокой состязательной сети с небольшой выборкой корейских символов (Hangul). Hangul состоит из 11 172 символов и состоит из написания в нескольких шаблонах размещения. Традиционно, дизайн шрифта потребовал тяжелого загруженного человеческого труда, который легко занял один год, чтобы закончить один набор стилей. Даже с помощью программируемых подходов это все еще занимает много времени и не может избежать ограничений вокруг свободы изменений параметров. Многие испытания были предприняты в областях глубоких нейронных сети, чтобы генерировать символы без какого -либо вмешательства человека. Наше исследование фокусируется на сквозной модели глубокого обучения, генератору шрифтов, управляемого скелетом (SKFONT): при получении 114 образцов система автоматически генерирует остальные символы в том же стиле шрифта. Skfont включает в себя три шага: во -первых, он генерирует полные целевые символы шрифта, наблюдая 114 целевых символов. Затем он извлекает скелеты (структуры) синтезированных символов, полученных с первого шага. Этот процесс побуждает систему поддерживать основную структуру символов на протяжении всего процессов поколения. Наконец, он переносит стиль целевого шрифта на эти изученные структуры. Наше исследование разрешает давно назревшие недостатки, такие как размытие, разрыв и отсутствие доставки деликатных форм и стилей, используя «Условную» условную глубокую состязательную сеть. Качественные и количественные сравнения с современными методами демонстрируют превосходство предлагаемого метода Skfont.




conda create --name tutorial-TF python=3.6.8
conda activate tutorial-TF or activate tutorial-TF
conda install -c anaconda tensorflow-gpu=1.13.1
conda env update --file tools.yml
Наша модель состоит из трех моделей, а именно F2F-F2S-S2F. Для каждой модели мы должны подготовить спарный набор данных. т.е. источник для целевого набора данных для шрифтов, целевой шрифт для коррекции набора данных скелета и целевого скелета для соответствующего набора данных шрифта. Чтобы сделать это место, любой корейский шрифт в каталоге SRC_FONT и N Количество целевых шрифтов в каталоге TRG_FONT. Затем запустите приведенные ниже команды для предварительной обработки данных.
Создать изображения шрифтов источника
python ./tools/src-font-image-generator.py
Создать целевые изображения шрифтов
python ./tools/trg-font-image-generator.py
Создать скелетные изображения целевого шрифта
python ./tools/trg-skeleton-image-generator.py
Объедините источник, цель и целевые скелеты
python ./tools/combine_images.py --input_dir src-image-data/images --b_dir trg-image-data/images --c_dir skel-image-data/images --operation combine
Преобразовать изображения в tfrecords
python ./tools/images-to-tfrecords.py
python main.py --mode train --output_dir trained_model --max_epochs 25
Чтобы выучить невидимый стиль шрифта, вы можете точно настроить уже предварительно обученную модель с помощью команды ниже. Если вы хотите создать уже изученные стили шрифта, просто пропустите команду ниже.
python main.py --mode train --output_dir finetuned_model --max_epochs 500 --checkpoint trained_model/
Сгенерируйте изображения, как и раньше, но на этот раз используйте другой модуль для создания тестирования TFRECORDS с помощью указанной команды.
python ./tools/test-images-to-tfrecords.py
python main.py --mode test --output_dir testing_results --checkpoint finetuned_model
Этот код вдохновится проектом Pix2Pix TensorFlow.
Особая благодарность за следующие работы по обмену их кодом и набором данных.
Пожалуйста, цитируйте нашу работу, если вам это нравится.
KO, DH, Hassan, AU, Suk, J. et al. Skfont: корейский генератор шрифтов, управляемый скелетом с условными глубокими состязательными сетями. Иджар (2021). https://doi.org/10.1007/S10032-021-00374-4
Код и другие модули помощи разрешены только для личного и академического использования.