Il s'agit de l'implémentation TensorFlow de la synthèse de police coréenne SKFont: Skeleton avec des réseaux adversaires profonds conditionnels .
papier
Dans nos recherches, nous étudions le problème de la synthèse des polices en utilisant un réseau adversaire profond conditionnel de bout en bout avec un petit échantillon de caractères coréens (hangul). Hangul comprend 11 172 caractères et est composé en écrivant dans plusieurs modèles de placement. Traditionnellement, la conception des polices a nécessité un travail humain à charge lourde, prenant facilement un an pour terminer un ensemble de style. Même à l'aide d'approches programmables, cela prend toujours beaucoup de temps et ne peut pas échapper aux limites autour de la liberté de changer les paramètres. De nombreux essais ont été tentés dans des zones de réseau neuronal profondes pour générer des caractères sans aucune intervention humaine. Nos recherches se concentrent sur un modèle d'apprentissage en profondeur de bout en bout, le générateur de polices axé sur le squelette (SKFONT): lorsqu'on leur a donné 114 échantillons, le système génère automatiquement le reste des caractères dans le même style de police donné. Skfont implique trois étapes: premièrement, il génère des caractères de police cibles complets en observant 114 caractères cibles. Ensuite, il extrait les squelettes (structures) des caractères synthétisés obtenus à partir de la première étape. Ce processus entraîne le système pour maintenir la structure principale des caractères tout au long des processus de génération. Enfin, il transfère le style de la police cible sur ces structures apprises. Notre étude résout les déficits en retard depuis longtemps tels que le flou, la rupture et le manque de livraison de formes et de styles délicats en utilisant le réseau adversaire profond conditionnel «axé sur le squelette». Des comparaisons qualitatives et quantitatives avec les méthodes de pointe démontrent la supériorité de la méthode SKFont proposée.




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
Notre modèle se compose de trois sous-modèles à savoir F2F-F2S-S2F. Pour chaque modèle, nous devons préparer un ensemble de données apparié. c'est-à-dire une source pour cibler de données appariées, une police cible à l'ensemble de données squelette correspondant et un squelette cible à l'ensemble de données de police correspondant. Pour ce faire, placez toute police coréenne dans le répertoire SRC_FONT et N Nombre de polices cibles dans le répertoire TRG_FONT. Exécutez ensuite les commandes ci-dessous pour le prétraitement des données.
Générer des images de police source
python ./tools/src-font-image-generator.py
Générer des images de police cible
python ./tools/trg-font-image-generator.py
Générer des images squelettes de police cible
python ./tools/trg-skeleton-image-generator.py
Combiner les squelettes source, cible et cible
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 des images en tfrecords
python ./tools/images-to-tfrecords.py
python main.py --mode train --output_dir trained_model --max_epochs 25
Pour apprendre un style de police invisible, vous pouvez affiner un modèle déjà pré-formé avec la commande ci-dessous. Si vous souhaitez générer les styles de police déjà appris, sautez simplement la commande ci-dessous.
python main.py --mode train --output_dir finetuned_model --max_epochs 500 --checkpoint trained_model/
Générez des images comme avant, mais cette fois, utilisez un module différent pour créer des tests tfrecords avec la commande mentionnée ci-dessous.
python ./tools/test-images-to-tfrecords.py
python main.py --mode test --output_dir testing_results --checkpoint finetuned_model
Ce code est inspiré du projet PIX2PIX TensorFlow.
Un merci spécial aux œuvres suivantes pour partager leur code et leur ensemble de données.
Veuillez citer notre travail si vous l'aimez.
KO, DH, Hassan, Au, Suk, J. et al. SKFONT: Générateur de polices coréen axé sur le squelette avec des réseaux adversaires profonds conditionnels. Ijdar (2021). https://doi.org/10.1007/S10032-021-00374-4
Le code et les autres modules d'aide ne sont autorisés que pour l'utilisation personnelle et académique.