OmniSVG : à partir de textes et d'images, générer des graphiques vectoriels SVG projet open source

Introduction générale

OmniSVG est un projet open source axé sur la génération de graphiques vectoriels de haute qualité (SVG) à l'aide d'un modèle multimodal. Il utilise des modèles visuels-linguistiques pré-entraînés pour soutenir la génération de SVG à partir de descriptions textuelles ou d'entrées d'images, couvrant un large éventail de scénarios allant de simples icônes à des personnages d'anime complexes. Le projet fournit l'ensemble de données MMSVG, y compris les sous-ensembles d'icônes et d'illustrations, le sous-ensemble de caractères devant être ajouté à l'avenir.OmniSVG est développé par l'Université Fudan et l'équipe StepFun, avec le code et la documentation hébergés sur GitHub.Le projet est à un stade précoce, et le code et les modèles de base n'ont pas encore été entièrement publiés ; cependant, l'ensemble de données et le protocole d'évaluation, MMSVG-Bench, ont été fournis et peuvent être explorés par les chercheurs et les développeurs. les chercheurs et les développeurs.

OmniSVG:从文本和图像生成SVG矢量图形的开源项目

 

Liste des fonctions

  • Permet de générer des SVG à partir de descriptions textuelles pour produire des graphiques vectoriels éditables.
  • Prise en charge des images SVG pour convertir les images matricielles en format vectoriel.
  • Générer la cohérence des rôles pour maintenir l'uniformité stylistique en fonction de la référence.
  • Contient l'ensemble de données MMSVG et fournit des ressources pour les icônes et les illustrations.
  • Fournit le protocole MMSVG-Bench pour évaluer la qualité de la génération SVG.
  • Prise en charge d'une sortie SVG complexe pour des illustrations et des dessins de personnages très détaillés.
  • Le code de base sera ouvert à l'avenir, ce qui permettra aux utilisateurs de modifier et d'optimiser le modèle.

 

Utiliser l'aide

Préparation du projet

OmniSVG ne fournit pas actuellement de fichiers de déploiement complets, et le code de base et les modèles pré-entraînés n'ont pas encore été publiés. Les étapes préparatoires suivantes, basées sur la documentation disponible, sont fournies pour permettre aux utilisateurs d'accéder aux données et de comprendre le projet :

  1. Cloner le dépôt de code
    Ouvrez un terminal et exécutez la commande suivante pour obtenir le dépôt OmniSVG :

    git clone https://github.com/OmniSVG/OmniSVG.git
    

    Accédez au catalogue de projets :

    cd OmniSVG
    

    Le référentiel actuel contient les fichiers suivants :

    • assets/Le site Web de la Commission européenne : stocke des images de démonstration et des GIF pour montrer les résultats générés.
    • data/Les données et les métadonnées sont des exemples de données ou de métadonnées à des fins spécifiques. README.md.
    • LICENSELe projet est soumis à une licence open source (voir la documentation pour les conditions spécifiques).
    • README.md: Fournit une brève description du projet, des liens vers des ensembles de données et des plans d'avenir.
  2. Vérification de l'environnement Python
    OmniSVG repose sur Python 3.8+ et des bibliothèques d'apprentissage automatique (par exemple PyTorch, Transformers). Bien qu'il ne soit pas encore disponible requirements.txtIl est recommandé d'installer les bibliothèques de base suivantes pour les versions ultérieures du code :

    pip install torch transformers pillow numpy
    

    Si le code est publié à l'avenir, des bibliothèques supplémentaires peuvent être nécessaires ; reportez-vous alors à la documentation officielle.

  3. Télécharger l'ensemble de données MMSVG
    L'ensemble de données MMSVG est la ressource principale actuelle du projet et contient deux sous-ensembles hébergés à Hugging Face :

    • Icône MMSVG :https://huggingface.co/OmniSVG/MMSVG-Icon
    • MMSVG-Illustration :https://huggingface.co/OmniSVG/MMSVG-Illustration
      Procédure d'exploitation :
    • Cliquez sur le lien ci-dessus pour télécharger l'ensemble des données.
    • Décompressez le fichier, il est recommandé de le stocker dans le dossier OmniSVG/datasets/ Répertoire (peut être créé manuellement).
    • L'ensemble de données contient environ 2 millions de données SVG couvrant des icônes et des illustrations, adaptées à la formation ou à l'analyse.
  4. Voir les ressources de démonstration
    assets/ contient des GIF de démonstration (par ex. omnisvg-teaser.gif), qui montre le processus de conversion du texte en SVG et la génération de personnages d'anime. Les utilisateurs peuvent le visualiser de la manière suivante :

    • spectacle (un billet) assets/ chargez le GIF avec votre navigateur ou votre visionneuse d'images.
    • Reportez-vous aux exemples d'entrée et de sortie dans le GIF pour connaître les capacités du modèle (par exemple, générer des personnages d'anime avec des trajectoires complexes).
  5. Suivre les mises à jour officielles
    Le code et les modèles actuels n'étant pas publiés, il est recommandé de suivre les canaux ci-dessous pour les mises à jour :

    • Dépôts GitHub :https://github.com/OmniSVG/OmniSVG
    • Site officiel du projet :https://omnisvg.github.io
    • Page "Hugging Face" :https://huggingface.co/OmniSVG
      Il est officiellement prévu de publier un sous-ensemble de MMSVG-Character et le code complet, qui devrait inclure les scripts de déploiement et les poids des modèles.

Utilisation de l'ensemble des données

Le jeu de données MMSVG est la principale ressource actuellement disponible et les paragraphes suivants expliquent comment l'utiliser :

1. le sous-ensemble MMSVG-Icon

  • utiliserComprend des icônes SVG minimalistes pour la conception d'interfaces utilisateur, le développement web et la formation de modèles.
  • procédure: :
    • Après avoir téléchargé le jeu de données, décompressez-le dans datasets/MMSVG-Icon/.
    • Utilisez des scripts Python pour naviguer dans les données, par exemple :
      import os
      for file in os.listdir("datasets/MMSVG-Icon"):
      if file.endswith(".svg"):
      print(file)
      
    • Ouvrez le fichier SVG (à l'aide d'un navigateur ou d'Inkscape) et visualisez le style de l'icône.
  • appareilLes modèles peuvent être utilisés pour l'analyse des structures d'icônes, l'extraction de données sur les chemins ou le pré-entraînement pour la génération de modèles.

2. sous-ensemble MMSVG-Illustration

  • utiliserLe site contient des illustrations complexes qui conviennent à la conception artistique et aux études multimodales.
  • procédure: :
    • Extraire vers datasets/MMSVG-Illustration/.
    • Utilisez un script similaire pour parcourir le fichier d'illustration et examiner le contenu SVG.
    • Les illustrations peuvent être importées dans un logiciel de conception (par exemple Adobe Illustrator) pour être modifiées.
  • spécificitésLes illustrations contiennent des chemins et des couleurs multiples, démontrant la capacité du modèle à générer des formes complexes.

3. évaluation de MMSVG-Bench

  • utiliserMMSVG-Bench : MMSVG-Bench est un protocole standardisé permettant d'évaluer la qualité de la génération de SVG.
  • état actuelLe script d'évaluation n'a pas encore été publié, dans l'attente de la mise à jour du code.
  • préliminaireLes données de la base de données peuvent être utilisées à des fins d'évaluation : Familiarisez-vous avec la structure de la base de données et notez les caractéristiques des icônes et des illustrations (par exemple, le nombre de chemins, la répartition des couleurs) en vue d'évaluations ultérieures.
  • Fonction prévueMMSVG-Bench : Selon la description officielle, MMSVG-Bench fournira des mesures (par exemple, la précision du chemin, la cohérence du style) pour aider les utilisateurs à tester les modèles.

Aperçu de la fonction

Bien que le code de base n'ait pas été publié, la documentation officielle et les démonstrations fournissent des descriptions détaillées des fonctionnalités suivantes, que les utilisateurs peuvent découvrir à l'avance :

1. génération de texte SVG

  • FonctionnalitéL'utilisateur saisit une description textuelle (par exemple, "un pentagramme rouge") et le modèle génère un fichier SVG.
  • démonstrations: :assets/omnisvg-teaser.gif Démontrer le processus de création de texte pour les icônes.
  • Fonctionnement prévuLes utilisateurs pourront exécuter des scripts, saisir des mots d'invite et produire des graphiques vectoriels.
  • spécificitésLes résultats sont modulables et sans perte pour la conception de sites web et d'imprimés.

2. image vers SVG

  • FonctionnalitéSVG : Convertit les images PNG ou JPG en SVG modifiables.
  • démonstrationsPage officielle montrant des exemples d'images matricielles converties en tracés vectoriels.
  • utiliserSupport pour la conversion d'images complexes, préservant les contours et les couleurs, adapté à l'optimisation des icônes de l'interface utilisateur.
  • Processus prévuLe logiciel de conversion permet de télécharger l'image, d'exécuter le script de conversion et d'obtenir la sortie SVG.

3. la génération de la cohérence des rôles

  • FonctionnalitéLes tâches suivantes peuvent être effectuées : - Générer de nouveaux graphiques de personnages dans un style cohérent en se basant sur des SVG ou des images de référence.
  • démonstrations: :assets/OmniSVG-demo-gen-proc-anime-1080.gif Démontrer la génération de personnages d'anime.
  • tranchantLa génération d'images est très détaillée et permet de conserver les caractéristiques des personnages (couleurs, silhouettes, etc.).
  • appareilLes caractéristiques de ce produit sont les suivantes : il est adapté à la conception de jeux et permet de créer des personnages à actions multiples.

mise en garde

  • État d'avancement du projetPour l'instant, seuls des ensembles de données et des ressources de démonstration sont disponibles, et la fonctionnalité de base doit attendre la publication du code.
  • Recommandations concernant le matérielLes modèles d'exécution à venir pourraient nécessiter un GPU (par exemple, une carte graphique NVIDIA) pour accélérer la génération.
  • référence de la documentation: :README.md et le site officiel (https://omnisvg.github.io) pour fournir des informations actualisées.
  • Participation de la communautéLes développeurs peuvent obtenir de l'aide en posant des questions ou en faisant part de leurs commentaires par l'intermédiaire de GitHub Issues.

 

scénario d'application

  1. Analyse des ensembles de données d'icônes
    Les concepteurs utilisent le sous-ensemble MMSVG-Icon pour étudier la structure des chemins des icônes minimalistes afin de s'inspirer de la conception de l'interface utilisateur.
  2. Développement des ressources d'illustration
    Les artistes consultent le sous-ensemble MMSVG-Illustration pour extraire des illustrations complexes optimisées pour la publicité ou la publication.
  3. Études de modélisation
    Les chercheurs ont utilisé l'ensemble de données MMSVG pour développer de nouveaux modèles de génération de SVG et explorer des techniques multimodales.
  4. ressources éducatives
    Les enseignants expliquent les principes de la génération de graphiques vectoriels en montrant des GIF pour aider les étudiants à comprendre l'utilisation de l'IA dans la conception.

 

QA

  1. OmniSVG fonctionne-t-il actuellement ?
    Actuellement, seuls l'ensemble de données et les ressources de démonstration sont disponibles, le code de base et les modèles n'ont pas encore été publiés, nous devons attendre la mise à jour officielle.
  2. Comment l'ensemble de données MMSVG est-il utilisé ?
    Téléchargez un sous-ensemble d'icônes ou d'illustrations, décompressez-les et visualisez-les à l'aide d'un script Python ou d'un logiciel de conception, adapté à la formation ou à la conception.
  3. Expérience en programmation requise ?
    Aucune programmation n'est nécessaire pour parcourir l'ensemble des données ; des connaissances de base en Python peuvent être nécessaires pour exécuter le modèle à l'avenir, et la documentation fournira des conseils.
  4. Les données sont-elles gratuites ?
    Oui, MMSVG-Icon et MMSVG-Illustration sont gratuits et ouverts à Hugging Face.
  5. Comment générer des personnages d'anime ?
    En attendant la publication du code de génération de la conformité des rôles, la démo GIF montre le résultat attendu.
© déclaration de droits d'auteur
AiPPT

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...