Intelligence Artificielle
BrushNet : Inpainting d'images Plug and Play avec diffusion Ă double branche

L'inpainting d'images est l'un des problèmes classiques de la vision par ordinateur, et il vise à restaurer des régions masquées dans une image avec un contenu plausible et naturel. Les travaux existants utilisant des techniques traditionnelles d'inpainting d'images telles que les réseaux contradictoires génératifs ou GANS, et les encodeurs automatiques variationnels ou VAE nécessitent souvent des fonctionnalités auxiliaires conçues à la main, mais en même temps, ne fournissent pas de résultats satisfaisants. Au cours des dernières années, les méthodes basées sur la diffusion ont gagné en popularité au sein de la communauté de la vision par ordinateur en raison de leurs remarquables capacités de génération d'images de haute qualité, de leur diversité de sortie et de leur contrôle fin. Les premières tentatives d'utilisation de modèles de diffusion pour l'inpainting d'images guidées par texte ont modifié la stratégie de débruitage standard en échantillonnant les régions masquées à partir d'un modèle de diffusion pré-entraîné et les zones non masquées de l'image donnée. Bien que ces méthodes aient abouti à des performances satisfaisantes dans des tâches simples d’inpainting d’images, elles ont rencontré des difficultés avec les formes de masques complexes, les invites de texte et le contenu des images, ce qui a entraîné un manque général de cohérence. Le manque de cohérence observé dans ces méthodes peut être dû principalement à leur connaissance perceptuelle limitée des limites du masque et du contexte de la région d'image non masquée.
Malgré les progrès, la recherche et le développement de ces modèles au cours des dernières années, l’inpainting d’images reste un obstacle majeur pour les développeurs de vision par ordinateur. Les adaptations actuelles des modèles de diffusion pour les tâches d'inpainting d'images impliquent de modifier la stratégie d'échantillonnage, ou le développement de modèles de diffusion spécifiques à l'inpainting souffrent souvent d'une qualité d'image réduite et d'une sémantique incohérente. Pour relever ces défis et ouvrir la voie aux modèles d'image inpainting, dans cet article, nous parlerons de BrushNet, un nouveau framework plug and play à double branche qui intègre des fonctionnalités d'image masquée au niveau des pixels dans toute diffusion pré-entraînée. modèle, garantissant ainsi la cohérence et de meilleurs résultats sur les tâches d'inpainting d'images. Le framework BrushNet introduit un nouveau paradigme dans lequel le framework divise les caractéristiques de l'image et le bruit latent en branches distinctes. La division des caractéristiques de l'image et des latents bruyantes diminue considérablement la charge d'apprentissage du modèle et facilite une incorporation nuancée des informations essentielles de l'image masquée de manière hiérarchique. En plus du framework BrushNet, nous parlerons également de BrushBench et BrushData qui facilitent respectivement l'évaluation des performances basée sur la segmentation et la formation à l'inpainting d'images.
Cet article vise à couvrir le framework BrushNet en profondeur et nous explorons le mécanisme, la méthodologie, l'architecture du framework ainsi que sa comparaison avec les frameworks de pointe. Alors, commençons.
BrushNet : Inpainting d'images avec diffusion Ă double branche
L'inpainting d'images, une méthode qui tente de restaurer les régions de mission d'une image tout en conservant la cohérence globale, est un problème de longue date dans le domaine de la vision par ordinateur et trouble les développeurs et les chercheurs depuis quelques années maintenant. L'inpainting d'images trouve ses applications dans une grande variété de tâches de vision par ordinateur, notamment l'édition d'images et les essais virtuels. Récemment, des modèles de diffusion comme Diffusion stable, et Stable Diffusion 1.5 ont démontré une capacité remarquable à générer des images de haute qualité et offrent aux utilisateurs la flexibilité nécessaire pour contrôler les contrôles sémantiques et structurels. Le potentiel remarquable des modèles de diffusion est ce qui a incité les chercheurs à recourir à des modèles de diffusion pour des tâches d’inpainting d’images de haute qualité qui s’alignent sur les invites de saisie du texte.
Les méthodes employées par les cadres d'inpainting guidés par texte traditionnels basés sur la diffusion peuvent être divisées en deux catégories, Modification de la stratégie d'échantillonnage ou Modèles d'inpainting dédiés. La méthode de modification de la stratégie d'échantillonnage modifie le processus de débruitage standard en échantillonnant les régions masquées à partir d'un modèle de diffusion pré-entraîné et en copiant-collant les régions non masquées de l'image donnée à chaque étape de débruitage. Bien que des approches de modification de la stratégie d'échantillonnage puissent être mises en œuvre dans des modèles de diffusion arbitraires, elles aboutissent souvent à des résultats d'inpainting incohérents car elles ont une connaissance perceptuelle limitée des limites du masque et du contexte de la région d'image non masquée. D'autre part, les modèles d'inpainting dédiés affinent un modèle d'inpainting d'image conçu spécifiquement en élargissant les dimensions du canal d'entrée du modèle de diffusion de base pour incorporer une image et des masques corrompus. Bien que les modèles d'inpainting dédiés permettent au modèle de diffusion de générer des résultats plus satisfaisants avec des modèles spécialisés sensibles à la forme et au contenu, il peut s'agir ou non de la meilleure conception architecturale pour les modèles d'inpainting d'images.
Comme le montre l’image suivante, les modèles d’inpainting dédiés fusionnent très tôt l’image masquée latente, la latente bruyante, le texte et le masque. La conception architecturale de ces modèles d'inpainting dédiés influence facilement les caractéristiques de l'image masquée et empêche les couches suivantes de l'architecture UNet d'obtenir des caractéristiques d'image masquées pures en raison de l'influence du texte. De plus, gérer la génération et la condition dans une seule branche impose une charge supplémentaire à l'architecture UNet, et comme ces approches nécessitent également un réglage fin de différentes variantes du squelette de diffusion, ces approches sont souvent exhaustives dans le temps et avec une transférabilité limitée.
Il peut sembler que l'ajout d'une branche supplémentaire dédiée à l'extraction des caractéristiques des images masquées pourrait être une solution adéquate aux problèmes mentionnés ci-dessus. Cependant, les frameworks existants aboutissent souvent à l'extraction et à l'insertion d'informations inadéquates lorsqu'ils sont appliqués directement à l'inpainting. En conséquence, les frameworks existants comme ControlNet donnent des résultats insatisfaisants par rapport aux modèles d'inpainting dédiés. Pour résoudre ce problème de la manière la plus efficace possible, le framework BrushNet introduit une branche supplémentaire au réseau de diffusion d'origine et crée ainsi une architecture plus adaptée aux tâches d'inpainting d'images. La conception et l'architecture du framework BrushNet peuvent être résumées en trois points.
- Au lieu d'initialiser les couches de convolution de manière aléatoire, le framework BrushNet implémente un encodeur VAE pour traiter l'image masquée. En conséquence, le framework BrushNet est capable d'extraire plus efficacement les fonctionnalités de l'image pour les adapter à la distribution UNet.
- Le framework BrishNet intègre progressivement l'intégralité des fonctionnalités UNet couche par couche dans l'architecture UNet pré-entraînée, une approche hiérarchique qui permet un contrôle dense par pixel.
- Le framework BrushNet supprime l'attention croisée du texte du composant UNet pour garantir que les informations pures sur l'image sont prises en compte dans la branche supplémentaire. De plus, le modèle BrushNet propose également de mettre en œuvre une stratégie de fusion floue pour obtenir une meilleure cohérence ainsi qu'une plus grande plage de contrôlabilité dans les régions non masquées de l'image.
BrushNet : Méthode et Architecture
La figure suivante nous donne un bref aperçu du framework BrushNet.
Comme on peut le constater, le cadre utilise une stratégie à double branche pour l'insertion de guidage d'image masquée et utilise des opérations de fusion avec un masque flou pour assurer une meilleure préservation des régions non masquées. Il convient de noter que le framework BrushNet est capable d'ajuster l'échelle ajoutée pour obtenir un contrôle flexible. Pour une entrée d'image masquée donnée et le masque, le modèle BrushNet génère une image peinte. Le modèle sous-échantillonne d'abord le masque pour s'adapter à la taille de l'espace latent, et l'image masquée est transmise en entrée à l'encodeur VAE pour aligner la distribution de l'espace latent. Le modèle concatène ensuite l'image masquée latente, l'image latente bruyante et le masque sous-échantillonné, et l'utilise comme entrée. Les fonctionnalités extraites du modèle sont ensuite ajoutées à la couche UNet pré-entraînée après un bloc de convolution zéro. Après débruitage, le modèle mélange l'image masquée et l'image générée avec un masque flou.
Guide d’image masquée
Le framework BrushNet insère la fonctionnalité d'image masquée dans le réseau de diffusion pré-entraîné à l'aide d'une branche supplémentaire, qui sépare explicitement l'extraction de fonctionnalités d'images masquées du processus de génération d'images. L'entrée est formée en concaténant l'image masquée latente, la latente bruyante et le masque sous-échantillonné. Pour être plus spécifique, la latente bruyante fournit des informations pour la génération d'images au cours du processus de génération actuel et aide le cadre à améliorer la cohérence sémantique de la fonctionnalité d'image masquée. Le framework BrushNet extrait ensuite l'image masquée latente de l'image masquée à l'aide d'un AutoEncoder variationnel. De plus, le cadre utilise une interpolation cubique pour sous-échantillonner le masque afin de garantir que la taille du masque s'aligne sur l'image masquée latente et sur la latente bruyante. Pour traiter les caractéristiques de l'image masquée, le framework BrushNet implémente un clone du modèle de diffusion pré-entraîné et exclut les couches d'attention croisée du modèle de diffusion. La raison en est que les poids pré-entraînés du modèle de diffusion servent d'a priori puissant pour extraire les caractéristiques de l'image masquée, et l'exclusion des couches d'attention croisée garantit que le modèle ne prend en compte que les informations d'image pures dans la branche supplémentaire. Le framework BrushNet insère les fonctionnalités dans le modèle de diffusion gelé couche par couche, permettant ainsi un contrôle hiérarchique dense par pixel, et utilise également des couches à convolution nulle pour établir une connexion entre le modèle BrushNet entraînable et le modèle verrouillé, garantissant que le bruit nocif a été supprimé. aucune influence sur les états cachés dans la copie entraînable pendant les étapes de formation initiales.
Opération de mélange
Comme mentionné précédemment, effectuer l'opération de fusion dans l'espace latent redimensionne les masques, ce qui entraîne souvent plusieurs inexactitudes, et le framework BrushNet rencontre un problème similaire lorsqu'il redimensionne le masque pour qu'il corresponde à la taille de l'espace latent. En outre, il convient de noter que les opérations de codage et de décodage dans les autoencodeurs variationnels ont des opérations limitées en soi et peuvent ne pas garantir une reconstruction complète de l'image. Pour garantir que le cadre reconstruit une image totalement cohérente de la région non masquée, les travaux existants ont mis en œuvre différentes techniques, telles que la copie des régions non masquées à partir de l'image originale. Bien que cette approche fonctionne, elle entraîne souvent un manque de cohérence sémantique dans la génération des résultats finaux. D’un autre côté, d’autres méthodes, comme l’adoption d’opérations de mélange latent, rencontrent des difficultés pour préserver les informations souhaitées dans les régions non masquées.
ContrĂ´le flexible
La conception architecturale du framework BrushNet en fait un choix approprié pour les intégrations plug and play inhérentes à divers modèles de diffusion pré-entraînés, et permet une échelle de préservation flexible. Étant donné que le framework BrishNet ne modifie pas les poids du modèle de diffusion pré-entraîné, les développeurs ont la possibilité de l'intégrer en tant que composant plug and play avec un modèle de diffusion affiné, permettant une adoption et une expérimentation faciles avec des modèles pré-entraînés. De plus, les développeurs ont également la possibilité de contrôler l'échelle de préservation des régions non masquées en incorporant les fonctionnalités du modèle BrushNet dans le modèle de diffusion figé avec le poids w donné qui détermine l'influence du framework BrushNet sur l'échelle de préservation, offrant aux développeurs la possibilité d'ajuster les niveaux de conservation souhaités. Enfin, le framework BrushNet permet aux utilisateurs d'ajuster l'échelle de flou et de décider d'implémenter ou non l'opération de flou, personnalisant ainsi facilement l'échelle de préservation des régions non masquées, laissant place à des ajustements flexibles et à un contrôle précis du processus d'inpainting de l'image. .
BrushNet : Mise en œuvre et résultats
Pour analyser ses résultats, le framework BrushNet propose BrushBench, un basé sur la segmentation Ensemble de données d'inpainting d'images avec plus de 600 images, chaque image étant accompagnée d'un masque annoté par l'homme et d'une annotation de légende. Les images de l'ensemble de données de référence sont réparties uniformément entre les images naturelles et artificielles, et garantissent également une répartition uniforme entre les différentes catégories, permettant une évaluation équitable entre les différentes catégories. Pour améliorer encore plus l'analyse des tâches d'inpainting, le framework BrushNet catégorise l'ensemble de données en deux parties distinctes sur la base des méthodes utilisées : basée sur la segmentation et les masques de pinceau.
Comparaison quantitative
Le tableau suivant compare le framework BrushNet aux modèles d'inpainting d'images basés sur la diffusion existants sur l'ensemble de données BrushBench avec la diffusion stable comme modèle de base.
Comme on peut l'observer, le framework BrushNet démontre une efficacité remarquable en termes de préservation des régions masquées, d'alignement du texte et de qualité d'image. De plus, des modèles comme Stable Diffusion Inpainting, Peintre HD, PowerPaint et d'autres démontrent de solides performances sur les tâches d'inpainting d'images à l'intérieur, bien qu'ils ne parviennent pas à reproduire leurs performances sur les tâches d'inpainting à l'extérieur, notamment en termes d'alignement du texte et de qualité d'image. Dans l’ensemble, le framework BrushNet fournit les meilleurs résultats.
De plus, le tableau suivant compare le framework BrushNet aux modèles d'inpainting d'images basés sur la diffusion existants sur l'ensemble de données EditBench, et les performances sont comparables à celles observées sur l'ensemble de données BrushBench. Les résultats indiquent que le framework BrushNet offre de solides performances sur un large éventail de tâches d'inpainting d'images avec différents types de masques.
Comparaison qualitative
La figure suivante compare qualitativement le cadre BrushNet aux méthodes d'inpainting d'images existantes, avec des résultats couvrant l'intelligence artificielle et les images naturelles dans différentes tâches d'inpainting, notamment l'inpainting de masque aléatoire, le masque de segmentation à l'intérieur de l'inpainting et le masque de segmentation à l'extérieur de l'inpainting.
Comme on peut l'observer, le cadre BrushNet donne des résultats remarquables dans la cohérence de la région non masquée et des régions cohérentes, et réalise avec succès la prise de conscience des informations de fond grâce à la mise en œuvre de l'approche de découplage à double branche. De plus, la branche intacte du modèle de diffusion pré-entraîné offre également l'avantage de mieux couvrir différents domaines de données comme l'anime et la peinture, ce qui entraîne de meilleures performances dans différents scénarios.
Réflexions finales
Dans cet article, nous avons parlé de BrushNet, un nouveau cadre d'ingénierie plug and play à double branche qui intègre des fonctionnalités d'image masquée au niveau des pixels dans n'importe quel modèle de diffusion pré-entraîné, garantissant ainsi la cohérence et de meilleurs résultats sur les tâches d'inpainting d'image. Le framework BrushNet introduit un nouveau paradigme dans lequel le framework divise les caractéristiques de l'image et le bruit latent en branches distinctes. La division des caractéristiques de l'image et des latents bruyantes diminue considérablement la charge d'apprentissage du modèle et facilite une incorporation nuancée des informations essentielles de l'image masquée de manière hiérarchique. En plus du framework BrushNet, nous parlerons également de BrushBench et BrushData qui facilitent respectivement l'évaluation des performances basée sur la segmentation et la formation à l'inpainting d'images.