AccueilContact

Paints-Undo

Publié dans Intelligence Artificielle
12 juillet 2024
6 min read
Paints-Undo

Paints-Undo

PaintsUndo: Un Modèle de Base des Comportements de Dessin dans les Peintures Numériques

Paints-Undo est un projet visant à fournir des modèles de base des comportements de dessin humain dans l’espoir que les futurs modèles d’IA puissent mieux s’aligner sur les besoins réels des artistes humains.

Le nom “Paints-Undo” est inspiré par la similitude selon laquelle les sorties du modèle ressemblent à l’appui répété sur le bouton “annuler” (généralement Ctrl+Z) dans un logiciel de peinture numérique.

Paints-Undo présente une famille de modèles qui prennent une image en entrée et produisent ensuite la séquence de dessin de cette image. Le modèle affiche toutes sortes de comportements humains, y compris mais sans s’y limiter, l’esquisse, l’encrage, la coloration, l’ombrage, la transformation, le retournement gauche-droite, l’ajustement de courbe de couleur, le changement de visibilité des calques, voire le changement d’idée globale pendant le processus de dessin.

Cette page ne contient aucun exemple. Tous les exemples se trouvent sur la page Git ci-dessous.

Ce dépôt GitHub est la seule page officielle de PaintsUndo. Nous n’avons pas d’autres sites Web.

Veuillez noter que de nombreux faux sites Web de PaintsUndo sont récemment apparus sur Google et les réseaux sociaux.

Pour Commencer

Vous pouvez déployer PaintsUndo localement via :

(Si vous ne savez pas comment utiliser ces commandes, vous pouvez coller ces commandes dans ChatGPT et demander à ChatGPT d’expliquer et de donner des instructions plus détaillées.)

L’inférence est testée avec 24 Go de VRAM sur Nvidia 4090 et 3090TI. Cela peut également fonctionner avec 16 Go de VRAM, mais ne fonctionne pas avec 8 Go. Mon estimation est qu’avec une optimisation extrême (y compris le délestage des poids et l’attention tranchée), l’exigence minimale théorique en VRAM est d’environ 10 à 12,5 Go.

Vous pouvez vous attendre à traiter une image en environ 5 à 10 minutes, en fonction de vos paramètres. En règle générale, vous obtiendrez une vidéo de 25 secondes à 4 FPS, avec une résolution de 320x512, 512x320, 384x448 ou 448x384.

En raison du temps de traitement, qui est généralement beaucoup plus long que la plupart des tâches/quota dans HuggingFace Space, je ne recommande pas vivement de déployer cela dans HuggingFace Space, pour éviter de surcharger inutilement les serveurs HF.

Si vous ne disposez pas des dispositifs de calcul requis et que vous souhaitez néanmoins une solution en ligne, une option consiste à attendre que nous publiions un notebook Colab (mais je ne suis pas sûr que le niveau gratuit de Colab fonctionnera).

Notes sur le Modèle

Nous publions actuellement deux modèles et . Appelons-les modèle à trame unique et modèle à trame multiple.

Le modèle à trame unique prend une image et un en entrée, et produit une seule image en sortie. En supposant qu’une œuvre d’art puisse toujours être créée avec 1000 opérations humaines (par exemple, un coup de pinceau est une opération), et que le est un nombre entier de 0 à 999. Le nombre 0 est l’œuvre finale terminée, et le nombre 999 est le premier coup de pinceau dessiné sur le canevas blanc pur. Vous pouvez comprendre ce modèle comme un modèle “annuler” (ou appelé modèle Ctrl+Z). Vous entrez l’image finale, et indiquez combien de fois vous voulez “Ctrl+Z”, et le modèle vous donnera une capture d’écran “simulée” après ces “Ctrl+Z”. Si votre est de 100, cela signifie que vous voulez simuler “Ctrl+Z” 100 fois sur cette image pour obtenir l’apparence après le 100e “Ctrl+Z”.

Le modèle à trame multiple prend deux images en entrée et produit 16 trames intermédiaires entre les deux images d’entrée. Le résultat est beaucoup plus cohérent que le modèle à trame unique, mais aussi beaucoup plus lent, moins “créatif” et limité à 16 trames.

Dans ce dépôt, la méthode par défaut est de les utiliser ensemble. Nous inférerons d’abord le modèle à trame unique environ 5 à 7 fois pour obtenir 5 à 7 “images clés”, puis nous utiliserons le modèle à trame multiple pour “interpoler” ces images clés pour générer effectivement une vidéo relativement longue.

En théorie, ce système peut être utilisé de nombreuses manières et même donner une vidéo infiniment longue, mais en pratique, les résultats sont bons lorsque le nombre final de trames est d’environ 100 à 500.

Architecture du Modèle (paints_undo_single_frame)

Le modèle est une architecture modifiée de SD1.5 entraînée sur un planificateur de bêtas différents, un saut de clip et la condition mentionnée ci-dessus. Plus précisément, le modèle est entraîné avec les bêtas de :

Pour comparaison, le SD1.5 original est entraîné avec les bêtas de :

Vous pouvez remarquer la différence dans les bêtas de fin et le carré supprimé. Le choix de ce planificateur est basé sur notre étude utilisateur interne.

La dernière couche de l’encodeur de texte CLIP ViT-L/14 est définitivement supprimée. Il est maintenant mathématiquement cohérent de toujours définir le saut de CLIP sur 2 (si vous utilisez des diffuseurs).

La condition est ajoutée aux plongements de couche d’une manière similaire aux plongements supplémentaires de SDXL.

Aussi, puisque le seul but de ce modèle est de traiter des images existantes, le modèle est strictement aligné avec le tagger WD14 sans aucune autre augmentation. Vous devez toujours utiliser le tagger WD14 (celui de ce dépôt) pour traiter l’image d’entrée et obtenir la requête. Sinon, les résultats peuvent être défectueux. Les requêtes rédigées par des humains ne sont pas testées.

Architecture du Modèle (paints_undo_multi_frame)

Ce modèle est entraîné en reprenant la famille , mais l’original Crafter’s n’est pas utilisé et tous les codes d’entraînement/inférence sont entièrement implémentés à partir de zéro. (D’ailleurs, maintenant les codes sont basés sur des Diffusers modernes.) Bien que les poids initiaux soient repris de VideoCrafter, la topologie du réseau neuronal est largement modifiée, et le comportement du réseau est maintenant largement différent de l’original Crafter après une formation intensive.

L’architecture globale est similaire à Crafter avec 5 composants, 3D-UNet, VAE, CLIP, CLIP-Vision, Image Projection.

VAE : Le VAE est exactement le même VAE temporel d’anime extrait de . Merci beaucoup à ToonCrafter pour avoir fourni l’excellent VAE temporel d’anime pour les Crafters.

3D-UNet : Le 3D-UNet est modifié à partir du avec des révisions des modules d’attention. Mis à part quelques changements mineurs dans les codes, le changement majeur est que maintenant les UNet sont formés et prennent en charge les fenêtres temporelles dans les couches d’auto-attention spatiale. Vous pouvez modifier les codes dans et pour activer trois types de fenêtres d’attention :

  1. “prv” mode : Chaque auto-attention spatiale de chaque trame prend également en compte les contextes spatiaux complets de sa trame précédente. La première trame ne prend en compte que sa propre trame.
  2. “first” : Chaque auto-attention spatiale de chaque trame prend également en compte les contextes spatiaux complets de la première trame de la séquence entière. La première trame ne prend en compte que sa propre trame.
  3. “roll” : Chaque auto-attention spatiale de chaque trame prend également en compte les contextes spatiaux complets de ses trames précédente et suivante, en fonction de l’ordre de .

Notez que cela est désactivé par défaut en inférence pour économiser la mémoire GPU.

CLIP : Le CLIP de SD2.1.

CLIP-Vision : Notre implémentation de Clip Vision (ViT/H) qui prend en charge les rapports d’aspect arbitraires en interpolant l’encodage positionnel. Après avoir expérimenté avec l’interpolation linéaire, le plus proche voisin et l’encodage positionnel rotatif (RoPE), notre choix final est le plus proche voisin. Notez que cela est différent des méthodes Crafter qui redimensionnent ou recadrent les images en 224x224.

Image Projection : Notre implémentation d’un petit transformateur qui prend deux trames en entrée et produit 16 plongements d’image pour chaque trame. Notez que cela est différent des méthodes Crafter qui n’utilisent qu’une seule image.

Tutoriel

Après avoir accédé à l’interface Gradio :

Étape 0 : Téléchargez une image ou cliquez simplement sur une image d’exemple en bas de la page.

Étape 1 : Dans l’interface intitulée “étape 1”, cliquez sur générer des requêtes pour obtenir la requête globale.

Étape 2 : Dans l’interface intitulée “étape 2”, cliquez sur “Générer des images clés”. Vous pouvez modifier les graines ou d’autres paramètres sur la gauche.

Étape 3 : Dans l’interface intitulée “étape 3”, cliquez sur “Générer la vidéo”. Vous pouvez modifier les graines ou d’autres paramètres sur la gauche.

Citer

Applications

Cas d’utilisation typiques de PaintsUndo :

  1. Utilisez PaintsUndo comme modèle de base pour analyser le comportement humain afin de construire des outils d’IA qui s’alignent sur le comportement humain et les demandes humaines, pour une collaboration transparente entre l’IA et les humains dans un flux de travail parfaitement contrôlé.

  2. Combinez PaintsUndo avec des générateurs d’images guidés par des croquis pour obtenir “PaintsRedo”, afin de progresser ou de reculer arbitrairement dans l’une de vos œuvres d’art terminées/inachevées pour renforcer le pouvoir de créativité humaine. *

  3. Utilisez PaintsUndo pour visualiser différentes procédures possibles de vos propres œuvres d’art pour des inspirations artistiques.

  4. Utilisez les sorties de PaintsUndo comme une sorte d’effets vidéo/cinématographiques After Effects pour atteindre des objectifs créatifs spécifiques.

et bien plus encore …

  • c’est déjà possible - si vous utilisez PaintsUndo pour Annuler 500 étapes, et que vous voulez Refaire 100 étapes avec différentes possibilités, vous pouvez utiliser ControlNet pour terminer cela (de sorte que cela devienne l’étape 0) et ensuite annuler 400 étapes. Une solution plus intégrée est encore en cours d’expérimentation.

Avertissement

Ce projet vise à développer des modèles de base des comportements de dessin humain, facilitant ainsi aux futurs systèmes d’IA de mieux répondre aux besoins réels des artistes humains. Les utilisateurs sont libres de créer du contenu en utilisant cet outil, mais ils sont tenus de se conformer aux lois locales et de l’utiliser de manière responsable. Les utilisateurs ne doivent pas utiliser l’outil pour générer de fausses informations ou inciter à la confrontation. Les développeurs ne supposent aucune responsabilité en cas de mauvaise utilisation potentielle par les utilisateurs.

Source de l’article


Share

Article précédent
Partagez cette page!

Articles similaires

4D Contrastive Superflows
12 juillet 2024
1 min
© 2024, All Rights Reserved.

Liens Rapides

Partenariats et opportunités publicitairesContactez nous

Réseaux Sociaux