Esta es la implementación de TensorFlow del SKFONT: síntesis de fuentes coreanas impulsadas por esqueletos con redes adversas profundas condicionales .
papel
En nuestra investigación, estudiamos el problema de la síntesis de fuentes utilizando una red de adversaria condicional de extremo a extremo con una pequeña muestra de caracteres coreanos (Hangul). Hangul consta de 11,172 caracteres y se compone escribiendo en patrones de colocación múltiple. Tradicionalmente, el diseño de fuentes ha requerido el trabajo humano de carga pesada, que se toma fácilmente un año para terminar un conjunto de estilo. Incluso con la ayuda de enfoques programables, todavía lleva mucho tiempo y no puede escapar de las limitaciones en torno a la libertad de cambiar los parámetros. Se han intentado muchos ensayos en áreas de redes neuronales profundas para generar caracteres sin ninguna intervención humana. Nuestra investigación se centra en un modelo de aprendizaje profundo de extremo a extremo, el generador de fuentes impulsado por el esqueleto (SKFONT): cuando se les da 114 muestras, el sistema genera automáticamente el resto de los caracteres en el mismo estilo de fuente dado. Skfont implica tres pasos: primero, genera caracteres de fuentes objetivo completos al observar 114 caracteres objetivo. Luego, extrae los esqueletos (estructuras) de los caracteres sintetizados obtenidos del primer paso. Este proceso impulsa el sistema para sostener la estructura principal de los caracteres en todos los procesos de generación. Finalmente, transfiere el estilo de la fuente objetivo a estas estructuras aprendidas. Nuestro estudio resuelve déficits de larga dámia, como el ruido, la ruptura y la falta de suministro de formas y estilos delicados mediante el uso de la red de adversaria profunda condicional 'impulsada por esqueleto'. Las comparaciones cualitativas y cuantitativas con los métodos de vanguardia demuestran la superioridad del método SKFONT propuesto.




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
Nuestro modelo consta de tres submodelos, a saber, F2F-F2S-S2F. Para cada modelo tenemos que preparar un conjunto de datos emparejado. es decir, un conjunto de datos emparejado con fuente de fuentes, una fuente de destino para correponer el conjunto de datos del esqueleto y un esqueleto de destino para el conjunto de datos de fuente correspondiente. Para hacer este lugar, cualquier fuente coreana en el directorio SRC_FONT y el número N de fuentes de destino en el directorio TRG_FONT. Luego ejecute los comandos a continuación para el preprocesamiento de datos.
Generar imágenes de fuentes de origen
python ./tools/src-font-image-generator.py
Generar imágenes de fuentes objetivo
python ./tools/trg-font-image-generator.py
Generar imágenes de esqueleto de fuentes objetivo
python ./tools/trg-skeleton-image-generator.py
Combinar esqueletos de origen, objetivo y objetivo
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
Convertir imágenes en tfrecords
python ./tools/images-to-tfrecords.py
python main.py --mode train --output_dir trained_model --max_epochs 25
Para aprender un estilo de fuente invisible, puede ajustar un modelo ya prevenido con el siguiente comando. Si desea generar los estilos de fuentes ya aprendidos, simplemente omita el siguiente comando.
python main.py --mode train --output_dir finetuned_model --max_epochs 500 --checkpoint trained_model/
Genere imágenes al igual que antes, pero esta vez use un módulo diferente para crear pruebas TFRecords con el comando mencionado a continuación.
python ./tools/test-images-to-tfrecords.py
python main.py --mode test --output_dir testing_results --checkpoint finetuned_model
Este código está inspirado en el proyecto PIX2PIX TensorFlow.
Un agradecimiento especial a los siguientes trabajos por compartir su código y conjunto de datos.
Por favor cita nuestro trabajo si te gusta.
KO, DH, Hassan, Au, Suk, J. et al. SKFONT: Generador de fuentes coreanos impulsado por esqueleto con redes adversas profundas condicionales. IJDAR (2021). https://doi.org/10.1007/s10032-021-00374-4
El código y otros módulos de ayuda solo están permitidos para el uso personal y académico.