nouvelles

Spider-Man danse de façon enchanteresse et la nouvelle génération de ControlNet est là ! Lancé par l'équipe Jiajiaya, plug and play

2024-08-17

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

  • Crécy vient du temple Aofei
    Qubits | Compte public QbitAI

Avec moins de 10 % des paramètres de formation, une génération contrôlable comme ControlNet peut être réalisée !

De plus, les modèles courants de la famille Stable Diffusion tels que SDXL et SD1.5 peuvent être adaptés et restent plug-and-play.



En même temps, il peut être utilisé avec SVD pour contrôler la génération vidéo, et les détails des mouvements peuvent être contrôlés avec précision jusqu'aux doigts.



Derrière ces images et vidéos se cache l'outil open source de guidage de génération d'images/vidéos lancé par l'équipe chinoise Jiajiaya de Hong Kong——ContrôleNeXt

Il ressort de son nom que l'équipe R&D l'a positionné comme le ControlNet de nouvelle génération.

Par exemple, l'ouvrage classique ResNeXt (une extension de ResNet) des grands dieux He Kaiming et Xie Saining a également utilisé cette méthode pour le nommer.

Certains internautes estiment que ce nom est bien mérité et qu'il s'agit bien du produit de nouvelle génération, élevant ControlNet à un niveau supérieur.



D'autres ont carrément déclaré que ControlNeXt changeait la donne, ce qui améliore considérablement l'efficacité de la génération contrôlable. Ils ont hâte de voir les œuvres créées par les personnes qui l'utilisent.



Spiderman danse la danse de la beauté

ControlNeXt prend en charge plusieurs modèles de la série SD et est plug-and-play.

Il s'agit notamment des modèles de génération d'images SD1.5, SDXL, SD3 (prenant en charge la super résolution) et du modèle de génération vidéo SVD.

Sans plus tarder, regardons simplement les résultats.

On peut voir qu'en ajoutant le guidage Edge (Canny) dans SDXL, la fille bidimensionnelle dessinée et les lignes de contrôle s'adaptent presque parfaitement.



Même si les contours de contrôle sont nombreux et fragmentés, le modèle peut néanmoins dessiner des images qui répondent aux exigences.



Et il peut être intégré de manière transparente à d’autres poids LoRA sans formation supplémentaire.

Par exemple, dans SD1.5, vous pouvez utiliser des conditions de contrôle de posture (Pose) avec différentes LoRA pour former des personnages avec des styles différents ou même dans plusieurs dimensions, mais avec les mêmes mouvements.



De plus, ControlNeXt prend également en charge les modes de contrôle de masque et de profondeur.



SD3 prend également en charge la Super Résolution, qui peut générer des images ultra haute définition.



En génération vidéo, ControlNeXt peut contrôler les mouvements des personnages.

Par exemple, Spider-Man peut également danser la danse de la beauté sur TikTok, et même les mouvements des doigts sont imités avec assez de précision.



Cela fait même pousser les mains d'une chaise et exécuter la même danse. Même si c'est un peu abstrait, la reproduction de l'action est plutôt bonne.



Et par rapport au ControlNet d'origine, ControlNeXt nécessite moins de paramètres de formation et converge plus rapidement.

Par exemple, dans SD1.5 et SDXL, ControlNet nécessite respectivement 361 millions et 1,251 milliard de paramètres apprenables, mais ControlNeXt n'en nécessite respectivement que 30 millions et 108 millions.Moins de 10 % de ControlNet



Au cours du processus de formation, ControlNeXt est proche de la convergence en 400 étapes environ, mais ControlNet nécessite dix fois, voire des dizaines de fois, le nombre d'étapes.



La vitesse de génération est également plus rapide que ControlNet. En moyenne, ControlNet apporte un retard de 41,9 % au modèle de base, mais ControlNeXt n'en apporte que 10,4 %.



Alors, comment ControlNeXt est-il implémenté et quelles améliorations ont été apportées à ControlNet ?

Module de contrôle de condition plus léger

Tout d’abord, utilisez une image pour comprendre l’ensemble du flux de travail de ControlNeXt.



La clé de l’allègement est ControlNeXtSupprime l'énorme branche de contrôle dans ControlNet et introduit à la place un module de convolution léger composé d'un petit nombre de blocs ResNet

Ce module est chargé d'extraire les représentations de caractéristiques des conditions de contrôle (telles que les masques de segmentation sémantique, les priorités de points clés, etc.).

La quantité de paramètres d'entraînement est généralement inférieure à 10 % du modèle pré-entraîné dans ControlNet, mais il peut toujours bien apprendre les informations de contrôle conditionnel d'entrée. Cette conception réduit considérablement la surcharge de calcul et l'utilisation de la mémoire.

Plus précisément, il échantillonne à intervalles égaux différentes couches de réseau d'un modèle pré-entraîné pour former un sous-ensemble de paramètres utilisés pour l'entraînement, tandis que les paramètres restants sont gelés.



De plus, lors de la conception de l'architecture de ControlNeXt, l'équipe de recherche a également maintenu la cohérence de la structure du modèle avec l'architecture d'origine, réalisant ainsi le plug-and-play.

Qu’il s’agisse de ControlNet ou de ControlNeXt, l’injection d’informations de contrôle conditionnelles est un maillon important.

Au cours de ce processus, l'équipe de recherche de ControlNeXt a mené des recherches approfondies sur deux questions clés : la sélection du lieu d'injection et la conception de la méthode d'injection.

L'équipe de recherche a observé que dans la plupart des tâches de génération contrôlables, la forme d'information conditionnelle guidant la génération est relativement simple et fortement corrélée aux caractéristiques du processus de débruitage.

Alors l'équipe pense,Il n'est pas nécessaire d'injecter des informations de contrôle dans chaque couche du réseau de débruitage, j'ai donc choisiAgréger les fonctionnalités conditionnelles et les fonctionnalités de débruitage uniquement dans la couche intermédiaire du réseau

La méthode d'agrégation est également aussi simple que possible - à l'usagenormalisation croiséeAprès avoir aligné les distributions des deux ensembles de fonctionnalités, ajoutez-les directement.

Cela garantit non seulement que le signal de commande affecte le processus de débruitage, mais évite également l'introduction de paramètres d'apprentissage supplémentaires et l'instabilité due à des opérations complexes telles que le mécanisme d'attention.

La normalisation croisée est une autre technologie de base de ControlNeXt, remplaçant les stratégies d'initialisation progressive précédemment couramment utilisées telles que la convolution zéro.

Les méthodes traditionnelles atténuent le problème de l'effondrement en libérant progressivement l'influence des nouveaux modules, mais cela se traduit souvent par une convergence lente.

La normalisation croisée utilise directement la moyenne μ et la variance σ des caractéristiques de débruitage du réseau fédérateur pour normaliser les caractéristiques produites par le module de contrôle, de sorte que la distribution des données des deux soit aussi alignée que possible.



(Remarque : ϵ est une petite constante ajoutée pour la stabilité numérique et γ est un paramètre de mise à l'échelle.)

Les fonctionnalités de contrôle normalisées ajustent ensuite l'amplitude et la ligne de base via les paramètres d'échelle et de décalage, puis les ajoutent aux fonctionnalités de débruitage, ce qui non seulement évite la sensibilité de l'initialisation des paramètres, mais permet également aux conditions de contrôle de prendre effet dès les premiers stades de formation et accélère le processus de convergence.

De plus, ControlNeXt utilise également le module de contrôle pour apprendre le mappage des informations de condition avec les caractéristiques de l'espace latent, ce qui le rend plus abstrait et sémantique, et plus propice à la généralisation à des conditions de contrôle invisibles.

Page d'accueil du projet :
https://pbihao.github.io/projects/controlnext/index.html
Adresse papier :
https://arxiv.org/abs/2408.06070
GitHub :
https://github.com/dvlab-research/ControlNeXt