AnyText : génère et édite du texte multilingue dans l'image, avec la possibilité de générer plusieurs lignes de chinois dans l'image.
Introduction générale
AnyText est un outil révolutionnaire de génération et d'édition de textes visuels multilingues, développé sur la base du modèle de diffusion. Il génère des textes multilingues naturels et de haute qualité dans des images et offre des capacités d'édition de texte flexibles. Développé par une équipe de chercheurs et récompensé par les honneurs Spotlight lors de l'ICLR 2024, la force principale d'AnyText réside dans son architecture unique à deux modules : le module de potentiel auxiliaire encode le glyphe du texte, la position et les informations de l'image masquée, tandis que le module d'incorporation de texte traite les données du trait à l'aide d'un modèle de reconnaissance optique des caractères. Le projet fournit également l'ensemble de données AnyWord-3M, le premier ensemble de données d'images textuelles multilingues contenant 3 millions de paires avec des annotations OCR, qui constitue une référence d'évaluation importante pour le domaine de la génération de texte visuel.

Expérience : https://modelscope.cn/studios/damo/studio_anytext/summary
Autre adresse : https://huggingface.co/spaces/modelscope/AnyText
Liste des fonctions
- Génération de texte multilingue : prise en charge de la génération de texte multilingue dans les images
- Éditeur de texte : vous pouvez éditer et modifier le contenu textuel des images existantes.
- Contrôle du style : possibilité de modifier le style du texte généré via le modèle de base ou le modèle LoRA
- Accélération de l'inférence FP16 : prend en charge l'inférence rapide, fonctionne sur les GPU avec 8 Go ou plus de mémoire vidéo.
- Traduction en chinois et en anglais : modèle intégré de traduction en chinois et en anglais, prise en charge de la saisie directe de mots chinois.
- Polices personnalisées : permet aux utilisateurs d'utiliser leurs propres fichiers de polices.
- Traitement par lots : permet de générer et d'éditer des textes d'images par lots.
- Fusion de modèles : prise en charge de la fusion des poids des modèles communautaires et des modèles LoRA
Utiliser l'aide
1. installation environnementale
- Assurez-vous d'abord que Git est installé sur votre système :
conda install -c anaconda git
- Cloner le code du projet :
git clone https://github.com/tyxsspa/AnyText.git
cd AnyText
- Préparez le fichier de police (Arial Unicode MS est recommandé) :
mv your/path/to/arialuni.ttf ./font/Arial_Unicode.ttf
- Créer et activer l'environnement :
conda env create -f environment.yaml
conda activate anytext
2. les méthodes d'utilisation
2.1 Démarrage rapide
La façon la plus simple de le vérifier est d'exécuter la commande suivante :
python inference.py
2.2 Lancer une présentation interactive
L'interface de démonstration est recommandée pour les GPU mieux configurés (8 Go ou plus de mémoire vidéo) :
export CUDA_VISIBLE_DEVICES=0 && python demo.py
2.3 Configuration avancée
- Utiliser la précision FP32 et désactiver le traducteur :
export CUDA_VISIBLE_DEVICES=0 && python demo.py --use_fp32 --no_translator
- Utiliser des polices de caractères personnalisées :
export CUDA_VISIBLE_DEVICES=0 && python demo.py --font_path your/path/to/font/file.ttf
- Charger des points de contrôle spécifiques :
export CUDA_VISIBLE_DEVICES=0 && python demo.py --model_path your/path/to/your/own/anytext.ckpt
3. les ajustements stylistiques
Dans l'interface de démonstration, le style du texte généré peut être ajusté de deux manières :
- Modifier le modèle de base : indiquer le chemin du modèle de base local dans [Chemin du modèle de base].
- Charger le modèle LoRA : entrer le chemin du modèle LoRA et le rapport de poids dans [Chemin et rapport LoRA], par exemple :
/path/of/lora1.pth 0.3 /path/of/lora2.safetensors 0.6
4. l'optimisation des performances
- L'inférence FP16 par défaut est utilisée, avec les modèles de traduction chinois et anglais chargés (ce qui occupe environ 4 Go de mémoire vidéo).
- Si le FP16 est utilisé et qu'aucun modèle de traduction n'est utilisé, une seule image de 512x512 ne nécessite qu'environ 7,5 Go de mémoire vidéo.
- Lors de la première exécution, les fichiers du modèle sont téléchargés dans le répertoire
~/.cache/modelscope/hub
répertoire (sur le disque dur de l'ordinateur) - Pour ce faire, il suffit de définir la variable d'environnement
MODELSCOPE_CACHE
Modifier le répertoire de téléchargement
5) Précautions
- S'assurer que la bonne version du paquet de dépendances est installée
- L'utilisation de polices personnalisées peut affecter la génération
- La première exécution du modèle nécessite le téléchargement des fichiers pertinents
- Recommandé pour fonctionner avec un GPU disposant de 8 Go de mémoire vidéo et plus.
AnyText génère des images instructions d'opération
exemple de fonctionnement
AnyText a deux modes de fonctionnement : la génération de texte et l'édition de texte, chaque mode fournit une multitude d'exemples, choisissez-en un et cliquez sur [Exécuter !
Veuillez noter qu'avant d'exécuter l'exemple, assurez-vous que la zone de localisation dessinée à la main est vide afin d'éviter d'affecter les résultats de l'exemple. En outre, différents exemples utilisent différents paramètres (tels que la résolution, le nombre de graines, etc.), si vous souhaitez générer le vôtre, veuillez prêter attention aux changements de paramètres, ou actualisez la page pour revenir aux paramètres par défaut.
Génération de texte
Dans l'invite à saisir la description du mot-guide (en chinois et en anglais), il faut générer chaque ligne de texte entre guillemets, puis dessiner séquentiellement à la main pour spécifier l'emplacement de chaque ligne de texte afin de générer des images. Le dessin de la position du texte est très important pour la qualité de l'image, veuillez ne pas dessiner trop au hasard ou trop petit, le nombre de positions doit être le même que le nombre de lignes de texte, la taille de chaque position doit correspondre à la longueur ou à la largeur de la ligne de texte correspondante, dans la mesure du possible. Si vous ne pouvez pas dessiner à la main (Dessin manuel), vous pouvez essayer de faire glisser le rectangle de la boîte (Rectification manuelle) ou de générer des caractères aléatoires (Auto-rand).
Lors de la génération de plusieurs lignes, chaque position est triée selon certaines règles pour correspondre à la ligne de texte, et l'option Position de tri est utilisée pour déterminer si la priorité de tri est de haut en bas ou de gauche à droite. Vous pouvez activer l'option Afficher le débogage dans les paramètres pour observer la position du texte et les glyphes dans l'image de résultat. L'option Réviser la position peut également être cochée, ce qui utilisera le rectangle extérieur du texte rendu comme position corrigée, bien qu'il ait parfois été constaté que le texte généré de cette manière était légèrement moins créatif.
rédacteur en chef
Veuillez télécharger une image à modifier en tant qu'image de référence (Ref), puis, après avoir ajusté la taille du trait, peindre la position à modifier sur l'image de référence, et saisir les mots de l'invite de description et le contenu du texte à modifier dans l'invite pour générer l'image.
L'image de référence peut avoir n'importe quelle résolution, mais le traitement interne limite la longueur à 768, et la largeur et la hauteur sont ramenées à un multiple entier de 64.
© déclaration de droits d'auteur
L'article est protégé par le droit d'auteur et ne doit pas être reproduit sans autorisation.
Articles connexes
Pas de commentaires...