Maison > Périphériques technologiques > IA > Omnigen: une approche unifiée de la génération d'images

Omnigen: une approche unifiée de la génération d'images

Joseph Gordon-Levitt
Libérer: 2025-03-18 11:32:22
original
322 Les gens l'ont consulté

Les modèles de fondations génératifs ont révolutionné le traitement du langage naturel (PNL), avec des modèles de langage large (LLMS) excellant sur diverses tâches. Cependant, le domaine de la génération visuelle n'a toujours pas un modèle unifié capable de gérer plusieurs tâches dans un seul cadre. Des modèles existants comme la diffusion stable, Dall-E et Imagen excellent dans des domaines spécifiques mais s'appuient sur des extensions spécifiques à la tâche telles que ControlNet ou InstructPix2Pix, qui limitent leur polyvalence et leur évolutivité.

Omnigen comble cet écart en introduisant un cadre unifié pour la génération d'images. Contrairement aux modèles de diffusion traditionnels, Omnigen dispose d'une architecture concise comprenant uniquement un autoencodeur variationnel (VAE) et un modèle de transformateur, éliminant la nécessité de composants externes spécifiques à la tâche. Cette conception permet à Omnigen de gérer les entrées de texte et d'image entrelacées arbitrairement, permettant une large gamme de tâches telles que la génération de texte à l'image, l'édition d'images et la génération contrôlable dans un seul modèle.

Omnigen excelle non seulement dans les références pour la génération de texte à l'image, mais démontre également un apprentissage de transfert robuste, des capacités émergentes et un raisonnement à travers des tâches et des domaines invisibles.

Objectifs d'apprentissage

  • Saisissez les principes d'architecture et de conception d'Omnigen, y compris son intégration d'un autoencoder variationnel (VAE) et un modèle de transformateur pour la génération d'images unifiés.
  • Découvrez comment Omnigen traite les entrées de texte et d'image entrelacées pour gérer diverses tâches, telles que la génération de texte à l'image, l'édition d'images et la personnalisation axée sur le sujet.
  • Analyser l'optimisation rectifiée par Omnigen et la formation de résolution progressive pour comprendre son impact sur les performances et l'efficacité génératrices.
  • Découvrez les applications du monde réel d'Omnigen, y compris l'art génératif, l'augmentation des données et la conception interactive, tout en reconnaissant ses contraintes dans la gestion des détails complexes et des types d'images invisibles.

Table des matières

  • Objectifs d'apprentissage
  • Omnigen Model Architecture and Training Methodology
  • Comprendre le mécanisme d'attention
  • Comprendre le processus d'inférence
  • Stratégie de formation efficace
  • Advanner la génération d'images unifiées
  • Utilisation d'Omnigen
  • Limites d'Omnigen
  • Applications et orientations futures
  • Conclusion
  • Questions fréquemment posées

Omnigen Model Architecture and Training Methodology

Dans cette section, nous examinerons le cadre Omnigen, en nous concentrant sur ses principes de conception de modèle, son architecture et ses stratégies de formation innovantes.

Principes de conception du modèle

Les modèles de diffusion actuels sont souvent confrontés à des limites, restreignant leur convivialité à des tâches spécifiques, telles que la génération de texte à l'image. L'extension de leurs fonctionnalités implique généralement d'intégrer des réseaux spécifiques à des tâches supplémentaires, qui sont lourds et manquent de réutilisabilité entre diverses tâches. Omnigen relève ces défis en adhérant à deux principes de conception de base:

  • Universalité: la capacité d'accepter diverses formes d'images et de texte pour plusieurs tâches.
  • Concision: éviter les conceptions trop complexes ou la nécessité de nombreux composants supplémentaires.

Architecture de réseau

Omnigen adopte une architecture innovante qui intègre un autoencodeur variationnel (VAE) et un modèle de transformateur grand prélevé:

  • VAE: extrait les caractéristiques visuelles latentes continues des images d'entrée. Omnigen utilise le SDXL VAE, qui reste congelé pendant la formation.
  • Modèle de transformateur: initialisé avec PHI-3 pour tirer parti de ses capacités robustes de traitement du texte, il génère des images basées sur des entrées multimodales.

Contrairement aux modèles de diffusion conventionnels qui reposent sur des encodeurs distincts (par exemple, des codateurs de clip ou d'image) pour les conditions d'entrée de prétraitement, Omnigen code intrinsèquement toutes les informations conditionnelles, simplifiant considérablement le pipeline. Il modélise également conjointement le texte et les images dans un seul cadre, améliorant l'interaction entre les modalités.

Omnigen: une approche unifiée de la génération d'images

Format d'entrée et intégration

Omnigen accepte les invites multimodales de forme libre, le texte entrelacé et les images:

  • Texte: Tokenisé à l'aide du tokenizer PHI-3.
  • Images: traitées à travers un VAE et transformée en une séquence de jetons visuels en utilisant une simple couche linéaire. Des intérêts positionnels sont appliqués à ces jetons pour une meilleure représentation.
  • Intégration de texte d'image: chaque séquence d'image est encapsulée avec des jetons spéciaux («Omnigen: une approche unifiée de la génération d'images» et «») et combinés avec des jetons de texte dans la séquence.

Comprendre le mécanisme d'attention

Le mécanisme d'attention change la donne dans l'IA, permettant aux modèles de se concentrer sur les données les plus pertinentes tout en traitement des tâches complexes. De l'alimentation des transformateurs à la révolution de la PNL et de la vision par ordinateur, ce concept a redéfini l'efficacité et la précision des systèmes d'apprentissage automatique.

Omnigen modifie le mécanisme d'attention causal standard pour améliorer la modélisation de l'image:

  • Applique une attention causale dans tous les éléments de séquence.
  • Utilise l'attention bidirectionnelle dans des séquences d'images individuelles, permettant aux correctifs d'une image d'interagir tout en garantissant que les images ne s'occupent que de séquences antérieures (texte ou images antérieures).

Comprendre le processus d'inférence

Le processus d'inférence est où les modèles d'IA appliquent des modèles appris à de nouvelles données, transformant la formation en prédictions exploitables. C'est la dernière étape que les ponts modélisent la formation avec des applications réelles, stimulant les idées et l'automatisation dans les industries.

Omnigen utilise une méthode de correspondance de flux pour l'inférence:

  • Le bruit gaussien est échantillonné et raffiné de manière itérative pour prédire la vitesse cible.
  • La représentation latente est décodée en une image en utilisant la VAE.
  • Avec une valeur par défaut de 50 étapes d'inférence, Omnigen exploite un mécanisme KV-Cache pour accélérer le processus en stockant les états de valeur clé sur le GPU, réduisant les calculs redondants.

Stratégie de formation efficace

Omnigen utilise l'approche du flux rectifié pour l'optimisation, qui diffère des méthodes DDPM traditionnelles. Il interpole linéairement entre le bruit et les données, formant le modèle pour régresser directement les vitesses cibles basées sur des données nuises, des informations sur l'horodatage et de la condition.

L'objectif de formation minimise une perte d'erreur carrée moyenne pondérée, mettant l'accent sur les régions où les changements se produisent dans les tâches d'édition d'image pour empêcher le modèle de sur-ajustement aux zones inchangées.

Pipeline

Omnigen s'entraîne progressivement à l'augmentation des résolutions d'images, équilibrant l'efficacité des données avec la qualité esthétique.

  • Optimiseur
    • ADAMW avec β = (0,9,0,999).
  • Matériel
    • Toutes les expériences sont menées sur 104 GPU A800.
  • Étapes

Les détails de la formation, y compris la résolution, les étapes, la taille du lot et le taux d'apprentissage, sont décrits ci-dessous:

Scène Résolution d'image Étapes de formation (k) Taille de lot Taux d'apprentissage
1 256 × 256 500 1040 1E-4
2 512 × 512 300 520 1E-4
3 1024 × 1024 100 208 4E-5
4 2240 × 2240 30 104 2E-5
5 Multiple 80 104 2E-5

Grâce à son architecture innovante et à sa méthodologie de formation efficace, Omnigen établit une nouvelle référence dans les modèles de diffusion, permettant une génération d'images polyvalente et de haute qualité pour un large éventail d'applications.

Advanner la génération d'images unifiées

Pour permettre un traitement multi-tâches robuste dans la génération d'images, la construction d'une base à grande échelle et diversifiée était essentielle. Omnigen y parvient en redéfinissant la façon dont les modèles abordent la polyvalence et l'adaptabilité entre diverses tâches.

Les principales innovations comprennent :

  • Génération de texte à l'image:
    • Tire parti des ensembles de données approfondis pour capturer un large éventail de relations de texte d'image.
    • Améliore la qualité de sortie par des annotations synthétiques et des collections d'images à haute résolution.

Omnigen: une approche unifiée de la génération d'images

  • Capacités multimodales:
    • Permet des combinaisons d'entrée flexibles de texte et d'images pour les tâches comme l'édition, les essais virtuels et le transfert de style.
    • Intègre des conditions visuelles avancées pour un contrôle spatial précis pendant la génération.

Omnigen: une approche unifiée de la génération d'images

  • Personnalisation axée sur le sujet:
    • Présentation des ensembles de données et techniques ciblés pour générer des images centrées sur des objets ou des entités spécifiques.
    • Utilise de nouvelles méthodes de filtrage et d'annotation pour améliorer la pertinence et la qualité.

Omnigen: une approche unifiée de la génération d'images

  • Intégration des tâches de vision:
    • Combine des tâches de vision par ordinateur traditionnelles comme la segmentation, la cartographie de la profondeur et l'insuffisance avec la génération d'images.
    • Facilite le transfert de connaissances pour améliorer les performances génératives dans de nouveaux scénarios.

Omnigen: une approche unifiée de la génération d'images

  • Apprentissage à quelques coups:
    • Renforce l'apprentissage dans le contexte à travers des approches de formation axées sur l'exemple.
    • Améliore l'adaptabilité du modèle tout en maintenant l'efficacité.

Omnigen: une approche unifiée de la génération d'images

Grâce à ces progrès, Omnigen établit une référence pour obtenir des capacités de génération d'images unifiées et intelligentes, de combler les écarts entre diverses tâches et ouvrir la voie à des applications révolutionnaires.

Utilisation d'Omnigen

Omnigen est facile à démarrer, que vous travailliez dans un environnement local ou que vous utilisiez Google Colab. Suivez les instructions ci-dessous pour installer et utiliser Omnigen pour générer des images à partir de texte ou d'entrées multimodales.

Installation et configuration

Pour installer Omnigen, commencez par cloner le référentiel GitHub et installer le package:

Clone le référentiel Omnigen:

 git clone https://github.com/vectorspacelab/omnigen.git
CD Omnigen
pip install -e 
pip install omnigen
Copier après la connexion

Facultatif: si vous préférez éviter les conflits, créez un environnement dédié:

 # Créer un environnement Python 3.10.13 Conda (vous pouvez également utiliser VirtualEnv)
conda crée -n omnigen python = 3,10.13
conda activer omnigen

# Installez Pytorch avec la version CUDA appropriée (par exemple, CU118)
PIP Installer Torch == 2.3.1 Cu118 TorchVision --extra-index-url https://download.pytorch.org/whl/cu118
! Pip install omnigen
# Clone et installer omnigen
git clone https://github.com/vectorspacelab/omnigen.git
CD Omnigen
pip install -e.
Copier après la connexion

Une fois Omnigen installé, vous pouvez commencer à générer des images. Vous trouverez ci-dessous des exemples d'utilisation du pipeline Omnigen.

Texte à la génération d'images

Omnigen vous permet de générer des images à partir d'invites de texte. Voici un exemple simple pour générer une image d'un homme à boire du thé:

 à partir d'Omnigen Import Omnigenpipeline

tuyau = omnigenpipeline.from_pretrain ("Shitao / omnigen-v1")

# Générer une image à partir de texte
images = tuyau (
    invite = '' 'Photo réaliste. Une jeune femme est assise sur un canapé, 
    Tenir un livre et faire face à la caméra. Elle porte délicate 
    Boucles d'oreilles en argent ornées de minuscules diamants étincelants 
    qui attrape la lumière, avec ses longs cheveux châtaignes en cascade 
    sur ses épaules. Ses yeux sont concentrés et doux, encadrés 
    par des cils longs et sombres. Elle est vêtue d'un pull à la crème confortable, 
    Ce qui complète son sourire chaleureux et accueillant. Derrière elle, là 
    est une table avec une tasse d'eau dans une tasse bleue élégante et minimaliste. 
    L'arrière-plan est un réglage intérieur serein avec une lumière naturelle douce
     filtrant à travers une fenêtre, orné d'art et de fleurs de bon goût, 
     Créer une ambiance confortable et paisible. 4K, HD '' ', 
    hauteur = 1024, 
    largeur = 1024, 
    Guidance_scale = 2,5,
    graine = 0,
)
images [0] .save ("example_t2i.png") # Enregistrer l'image générée
images [0] .show ()
Copier après la connexion

Omnigen: une approche unifiée de la génération d'images

Multi-modal à la génération d'images

Vous pouvez également utiliser Omnigen pour la génération multimodale, où le texte et les images sont combinés. Voici un exemple où une image est incluse dans le cadre de l'entrée:

 # Générez une image avec du texte et une image fournie
images = tuyau (
    prompt = "<img  src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174226875770560.jpg" class="lazy" alt="Omnigen: une approche unifiée de la génération d'images" >  <img  src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174226875770560.jpg" class="lazy" alt="Omnigen: une approche unifiée de la génération d'images" > \ n Retirez les boucles d'oreilles de la femme. Remplacez la tasse par un verre transparent rempli de cola glacé étincelant.
. ",
    input_images = ["./ imgs / demo_cases / edit.png
"],
    hauteur = 1024, 
    largeur = 1024,
    Guidance_scale = 2,5, 
    img_guidance_scale = 1.6,
    graine = 0
)
images [0] .save ("example_ti2i.png") # Enregistrer l'image générée
Copier après la connexion

Omnigen: une approche unifiée de la génération d'images

Capacités de vision par ordinateur

L'exemple suivant démontre les capacités avancées de vision informatique (CV) d'Omnigen, en particulier sa capacité à détecter et à rendre le squelette humain à partir d'une entrée d'image. Cette tâche combine des instructions textuelles avec une image pour produire des résultats précis de détection du squelette.

 à partir de l'image d'importation PIL

# Définir l'invite pour la détection du squelette
inside = "détecter le squelette de l'homme dans cette image: <img  src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174226875978150.jpg" class="lazy" alt="Omnigen: une approche unifiée de la génération d'images" >  <img  src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174226875978150.jpg" class="lazy" alt="Omnigen: une approche unifiée de la génération d'images" >"
input_images = ["./imgs/demo_cases/edit.png"]

# Générez l'image de sortie avec la détection du squelette
images = tuyau (
    invite = invite, 
    input_images = input_images, 
    hauteur = 1024, 
    largeur = 1024,
    Guidance_scale = 2, 
    img_guidance_scale = 1.6,
    graine = 333
)

# Enregistrer et afficher la sortie
images [0] .save ("./ imgs / démo_cases / squelettique.png")

# Afficher l'image d'entrée
Imprimer ("Image d'entrée:")
Pour IMG dans Input_images:
    Image.open (img) .show ()

# Afficher l'image de sortie
Imprimer ("Sortie:")
images [0] .show ()
Copier après la connexion

Omnigen: une approche unifiée de la génération d'images

Génération axée sur le sujet avec Omnigen

Cet exemple démontre la capacité du sujet d'Omnigen à identifier les individus décrits dans une invite à partir de plusieurs images d'entrée et à générer une image de groupe de ces sujets. Le processus est de bout en bout, ne nécessitant aucune reconnaissance ou segmentation externe, présentant la flexibilité d'Omnigen dans la gestion des scénarios multi-source complexes.

 à partir de l'image d'importation PIL

# Définir l'invite pour la génération axée sur le sujet
invite = (
    "Un professeur et un garçon lisent ensemble un livre."
    "Le professeur est l'homme du milieu dans <mg>  ."
    "Le garçon est le garçon tenant un livre dans <mg>  ."
)
input_images = ["./imgs/demo_cases/ai_pioneers.jpg", "./imgs/demo_cases/same_pose.png"]

# Générez l'image de sortie avec des sujets décrits
images = tuyau (
    invite = invite, 
    input_images = input_images, 
    hauteur = 1024, 
    largeur = 1024,
    Guidance_scale = 2,5, 
    img_guidance_scale = 1.6,
    séparé_cfg_infer = true,
    graine = 0
)

# Enregistrer et afficher l'image générée
images [0] .save ("./ imgs / demo_casas / entity.png")

# Afficher les images d'entrée
Imprimer ("Images d'entrée:")
Pour IMG dans Input_images:
    Image.open (img) .show ()

# Afficher l'image de sortie
Imprimer ("Sortie:")
images [0] .show ()
</mg></mg>
Copier après la connexion

Capacité axée sur le sujet: notre modèle peut identifier le sujet décrit dans des images multi-personnes et générer des images de groupe d'individus à partir de plusieurs sources. Ce processus de bout en bout ne nécessite aucune reconnaissance ou segmentation supplémentaire, mettant en évidence la flexibilité et la polyvalence d'Omnigen.

Omnigen: une approche unifiée de la génération d'images

Limites d'Omnigen

  • Rendu du texte: gère efficacement les segments de texte courts mais lutte contre la génération de sorties précises pour des textes plus longs.
  • Contraintes de formation: limité à un maximum de trois images d'entrée pendant la formation en raison de contraintes de ressources, ce qui entrave la capacité du modèle à gérer de longues séquences d'images.
  • Précision détaillée: les images générées peuvent inclure des inexactitudes, en particulier dans les détails petits ou complexes.
  • Types d'images invisibles: Impossible de traiter les types d'images sur lesquels il n'a pas été formé, tels que ceux utilisés pour l'estimation normale de surface.

Applications et orientations futures

La polyvalence d'Omnigen ouvre de nombreuses applications dans différents domaines:

  • Art génératif: les artistes peuvent utiliser Omnigen pour créer des œuvres à partir d'invites textuelles ou de croquis approximatifs.
  • Augmentation des données: les chercheurs peuvent générer divers ensembles de données pour la formation de modèles de vision informatique.
  • Outils de conception interactifs: les concepteurs peuvent tirer parti d'Omnigen dans des outils qui permettent l'édition et la génération d'images en temps réel en fonction de la saisie des utilisateurs.

Alors que Omnigen continue d'évoluer, les itérations futures pourraient étendre davantage ses capacités, incorporant potentiellement des mécanismes de raisonnement plus avancés et améliorer ses performances sur des tâches complexes.

Conclusion

Omnigen est un modèle de génération d'images révolutionnaire qui combine des entrées de texte et d'image dans un cadre unifié, surmontant les limites des modèles existants comme la diffusion stable et Dall-E. En intégrant un autoencoder variationnel (VAE) et un modèle de transformateur, il simplifie les flux de travail tout en activant des tâches polyvalentes telles que la génération de texte à l'image et l'édition d'images. Avec des capacités telles que la génération multimodale, la personnalisation axée sur les sujets et l'apprentissage à quelques coups, Omnigen ouvre de nouvelles possibilités dans des domaines tels que l'art génératif et l'augmentation des données. Malgré certaines limites, telles que des défis avec de longues entrées de texte et des détails fins, Omnigen est défini pour façonner l'avenir de la création de contenu visuel, offrant un outil puissant et flexible pour diverses applications.

Principaux à retenir

  • Omnigen combine un autoencoder variationnel (VAE) et un modèle de transformateur pour rationaliser les tâches de génération d'images, éliminant le besoin d'extensions spécifiques à la tâche comme ControlNet ou InstructPix2Pix.
  • Le modèle intègre efficacement les entrées de texte et d'image, permettant des tâches polyvalentes telles que la génération de texte à l'image, l'édition d'images et la création d'images de groupe axée sur le sujet sans reconnaissance ou segmentation externe.
  • Grâce à des stratégies de formation innovantes telles que l'optimisation du flux rectifié et la mise à l'échelle de la résolution progressive, Omnigen atteint des performances et une adaptabilité robustes entre les tâches tout en maintenant l'efficacité.
  • Alors que Omnigen excelle dans l'art génératif, l'augmentation des données et les outils de conception interactifs, il est confronté à des défis dans le rendu des détails complexes et le traitement des types d'images non formés, laissant place à de futures progrès.

Questions fréquemment posées

Q1. Qu'est-ce que Omnigen?

A. Omnigen est un modèle de génération d'images unifié conçu pour gérer une variété de tâches, y compris la génération de texte à l'image, l'édition d'images et la génération multimodale (combinant du texte et des images). Contrairement aux modèles traditionnels, Omnigen ne s'appuie pas sur des extensions spécifiques à la tâche, offrant une solution plus polyvalente et évolutive.

Q2. Qu'est-ce qui rend Omnigen différent des autres modèles de génération d'images?

A. Omnigen se démarque en raison de son architecture simple, qui combine un autoencodeur variationnel (VAE) et un modèle de transformateur. Cela lui permet de traiter à la fois des entrées de texte et d'image dans un cadre unifié, permettant une large gamme de tâches sans nécessiter de composants ou de modifications supplémentaires.

Q3. Quelles sont les exigences du système pour exécuter Omnigen?

A. Pour exécuter Omnigen efficacement, un système avec un GPU compatible Cuda est recommandé. Le modèle a été formé sur les GPU A800, et le processus d'inférence bénéficie de l'accélération du GPU à l'aide de mécanismes de cache de valeur clé.

Les médias présentés dans cet article ne sont pas détenus par l'analytique vidhya et sont utilisés à la discrétion de l'auteur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal