ControlNet : contrôler les modèles Diffusion

Qu'est-ce que ControlNet ?

ControlNet est une structure de réseau neuronal qui permet de contrôler les modèles de diffusion en ajoutant des conditions supplémentaires. L'outil se compose d'une copie "verrouillée" et d'une copie "entraînable" des poids des blocs du réseau neuronal. La copie entraînable apprend les conditions souhaitées, tandis que la copie verrouillée préserve le modèle d'origine. Cela permet de ne pas altérer les modèles de diffusion prêts à la production lors de l'entraînement avec un petit ensemble de données d'images.

Fonctionnalités de ControlNet

ControlNet est compatible avec les dispositifs à petite échelle ou personnels, et il est convivial pour fusionner, remplacer ou décaler les modèles, les poids, les blocs et les couches. Il utilise une "convolution zéro" de 1x1 avec un poids et un biais initialisés à zéro. Avant l'entraînement, toutes les convolutions zéro produisent des zéros, évitant ainsi toute distorsion causée par ControlNet.

Applications et modèles pré-entraînés

ControlNet offre plusieurs applications et modèles pré-entraînés prêts à l'emploi, tels que Canny Edge, M-LSD Lines, HED Boundary, User Scribbles, Human Pose, Semantic Segmentation, Depth et Normal Map. Tous ces modèles et détecteurs peuvent être téléchargés depuis la page Hugging Face dédiée à ControlNet.

Interface interactive et mode "Guess"

ControlNet propose une interface interactive basée sur Gradio, bien que celle-ci puisse être difficile à personnaliser. De plus, l'outil offre un mode "Guess" (ou mode sans prompt), qui permet à l'encodeur ControlNet de reconnaître le contenu de la carte de contrôle, même sans prompt.

Entraînement avec vos propres données

Entraîner un ControlNet est aussi facile, voire plus facile, que d'entraîner un simple modèle Pix2Pix. Des scripts Python sont fournis pour traiter les images et entraîner le modèle avec vos propres données.

Ressources connexes

ControlNet a été développé grâce à la collaboration de plusieurs projets et chercheurs. Parmi les projets connexes figurent Composer, T2I-Adapter, ControlLoRA et d'autres travaux récents dans le domaine de la génération d'images conditionnelle.

En somme, ControlNet est un outil polyvalent et puissant qui permet de contrôler et d'ajouter des conditions aux modèles de diffusion texte-image.