Intelligence artificielle
UniTune : La technique d’édition d’images neuronale alternative de Google

Il semble que Google Research attaque l’édition d’images basée sur du texte de plusieurs fronts, et, probablement, attend de voir ce qui « prend ». À la suite de la sortie de cette semaine de son article Imagic, le géant de la recherche a proposé une méthode latente de diffusion supplémentaire pour effectuer des éditions basées sur l’IA sur des images via des commandes textuelles, cette fois appelée UniTune.
Selon les exemples donnés dans l’article du projet nouveau, UniTune a atteint un degré extraordinaire de disentanglement de la pose sémantique et de l’idée du contenu réel de l’image :

Le contrôle de la composition sémantique de UniTune est exceptionnel. Notez comment, dans la rangée supérieure des images, les visages des deux personnes n’ont pas été déformés par la transformation extraordinaire du reste de l’image source (à droite). Source : https://arxiv.org/pdf/2210.09477.pdf
Comme les fans de Stable Diffusion l’ont appris, appliquer des éditions à des sections partielles d’une image sans altérer défavorablement le reste de l’image peut être une opération délicate, parfois impossible. Même si des distributions populaires telles que AUTOMATIC1111 peuvent créer des masques pour des éditions locales et restreintes, le processus est fastidieux et souvent imprévisible.
La réponse évidente, du moins pour un praticien de la vision par ordinateur, est d’interposer une couche de segmentation sémantique capable de reconnaître et d’isoler des objets dans une image sans intervention de l’utilisateur, et, en effet, il y a eu plusieurs nouvelles initiatives récemment dans cette ligne de pensée.
Une autre possibilité pour verrouiller les opérations d’édition d’images neuronales désordonnées est d’utiliser le module Contrastive Language-Image Pre-training (CLIP) influent d’OpenAI, qui est au cœur des modèles de diffusion latente tels que DALL-E 2 et Stable Diffusion, pour agir comme un filtre au point où un modèle texte-à-image est prêt à renvoyer un rendu interprété à l’utilisateur. Dans ce contexte, CLIP devrait agir comme un gardien et un module de contrôle de la qualité, rejetant les rendus malformés ou inadaptés. C’est sur le point d’être institué (lien Discord) sur le portail API-driven de Stability.ai’s DreamStudio.
Cependant, puisque CLIP est à la fois le coupable et la solution dans un tel scénario (car il a également informé la façon dont l’image a été évoluée), et puisque les exigences matérielles peuvent dépasser ce qui est susceptible d’être disponible localement pour un utilisateur final, cette approche peut ne pas être idéale.
Langage compressé
UniTune propose plutôt de « mettre à jour » un modèle de diffusion existant – dans ce cas, Imagen de Google, bien que les chercheurs déclarent que la méthode est compatible avec d’autres architectures de diffusion latente – de sorte qu’un jeton unique soit injecté dans celui-ci qui peut être invoqué en incluant le jeton dans une invite de texte.
À première vue, cela ressemble à DreamBooth de Google, actuellement une obsession parmi les fans et les développeurs de Stable Diffusion, qui peut injecter de nouveaux personnages ou objets dans un point de contrôle existant, souvent en moins d’une heure, sur la base d’un petit nombre d’images sources ; ou comme Textual Inversion, qui crée des fichiers « sidecar » pour un point de contrôle, qui sont ensuite traités comme s’ils avaient été formés à l’origine dans le modèle, et peuvent tirer parti des ressources vastes du modèle en modifiant son classificateur de texte, aboutissant à un petit fichier (par rapport aux points de contrôle élagués minimum de 2 Go de DreamBooth).
En fait, les chercheurs affirment que UniTune a rejeté ces deux approches. Ils ont constaté que Textual Inversion omettait trop de détails importants, tandis que DreamBooth ‘a performé moins bien et a pris plus de temps’ que la solution qu’ils ont finalement adoptée.
Néanmoins, UniTune utilise la même approche de « metaprompt » sémantique encapsulée que DreamBooth, avec des modifications formées invoquées par des mots uniques choisis par le formateur, qui ne seront pas en conflit avec les termes qui existent actuellement dans un modèle public de version laborieusement formé.
‘Pour effectuer l’opération d’édition, nous échantillonnons les modèles mis à jour avec l’invite “[rare_tokens] edit_prompt” (par exemple “beikkpic deux chiens dans un restaurant” ou “beikkpic un minion”).’
Le processus
La méthode UniTune consiste essentiellement à envoyer l’image originale à travers un modèle de diffusion avec un ensemble d’instructions sur la façon dont elle devrait être modifiée, en utilisant les vastes référentiels de données disponibles formées dans le modèle. En effet, vous pouvez le faire maintenant avec la fonctionnalité img2img de Stable Diffusion – mais pas sans déformer ou modifier d’une manière ou d’une autre les parties de l’image que vous préféreriez conserver.
Au cours du processus UniTune, le système est mis à jour, c’est-à-dire que UniTune force le modèle à reprendre la formation, avec la plupart de ses couches dégelées (voir ci-dessous). Dans la plupart des cas, la mise à jour entraînera une baisse des valeurs de perte générales d’un modèle à haute performance gagné à la dure, en faveur de l’injection ou de l’affinement d’un autre aspect qui est souhaité pour être créé ou amélioré.
Cependant, avec UniTune, il semble que la copie du modèle qui est agie, bien qu’elle puisse peser plusieurs gigaoctets ou plus, sera traitée comme une coque jetable, et jetée à la fin du processus, ayant servi un seul but. Ce type de tonnage de données dérisoire devient une crise de stockage quotidienne pour les fans de DreamBooth, dont les propres modèles, même lorsqu’ils sont élagués, ne sont pas moins de 2 Go par sujet.
Comme pour Imagic, la mise à jour principale dans UniTune se produit aux deux couches les plus basses des trois couches dans Imagen (base 64px, 64px>256px et 256px>1024px). Contrairement à Imagic, les chercheurs voient une certaine valeur potentielle dans l’optimisation de la mise à jour également pour cette dernière et plus grande couche de super-résolution (bien qu’ils n’aient pas encore tenté).
Pour la couche la plus basse de 64px, le modèle est biaisé vers l’image de base pendant la formation, avec plusieurs paires dupliquées d’image/texte alimentées dans le système pendant 128 itérations à une taille de lot de 4, et avec Adafactor comme fonction de perte, fonctionnant à un taux d’apprentissage de 0,0001. Bien que le codeur T5 seul soit gelé pendant cette mise à jour, il est également gelé pendant la formation principale d’Imagen
L’opération ci-dessus est ensuite répétée pour la couche 64>256px, en utilisant la même procédure d’augmentation de bruit employée dans la formation originale d’Imagen.
Échantillonnage
Il existe de nombreuses méthodes d’échantillonnage possibles par lesquelles les modifications apportées peuvent être élicitées à partir du modèle mis à jour, y compris la guidance de classificateur libre (CFG), un élément clé de Stable Diffusion. CFG définit essentiellement la mesure dans laquelle le modèle est libre de « suivre son imagination » et d’explorer les possibilités de rendu – ou, à des paramètres plus bas, la mesure dans laquelle il devrait adhérer aux données sources d’entrée et apporter moins de changements importants ou dramatiques.

Comme Textual Inversion (un peu moins avec DreamBooth), UniTune est susceptible d’appliquer des styles graphiques distincts aux images originales, ainsi que des éditions plus photoréalistes.
Les chercheurs ont également expérimenté la technique de « début tardif » de SDEdit, où le système est encouragé à préserver les détails d’origine en étant seulement partiellement « bruit » dès le départ, mais plutôt en maintenant ses caractéristiques essentielles. Bien que les chercheurs n’aient utilisé cela que pour la couche la plus basse (64px), ils croient qu’il pourrait être une technique d’échantillonnage utile à l’avenir.
Les chercheurs ont également exploité prompt-to-prompt comme une technique textuelle supplémentaire pour conditionner le modèle :
‘Dans le paramètre “prompt to prompt”, nous avons constaté qu’une technique que nous appelons Prompt Guidance est particulièrement utile pour régler la fidélité et l’expressivité.
‘Prompt Guidance est similaire à la guidance de classificateur libre, à l’exception que la référence est une invite différente au lieu du modèle non conditionné. Cela guide le modèle vers la différence entre les deux invites.’
Cependant, la guidance d’invite, selon les auteurs, n’était nécessaire queoccasionnellement dans les cas où CFG n’a pas obtenu le résultat souhaité.
Une autre approche d’échantillonnage novatrice rencontrée lors du développement de UniTune était l’interpolation, où les zones de l’image sont suffisamment distinctes que les images originales et modifiées sont très similaires en composition, permettant une interpolation plus « naïve ».

L’interpolation peut rendre les processus plus laborieux de UniTune redondants dans les cas où les zones à transformer sont discrètes et bien délimitées.
Les auteurs suggèrent que l’interpolation pourrait potentiellement fonctionner si bien, pour un grand nombre d’images sources cibles, qu’elle pourrait être utilisée comme paramètre par défaut, et observent également qu’elle a le pouvoir d’effectuer des transformations extraordinaires dans les cas où des occlusions complexes ne nécessitent pas d’être négociées par des méthodes plus intensives.
UniTune peut effectuer des éditions locales avec ou sans masques d’édition, mais peut également décider unilatéralement où positionner les éditions, avec une combinaison inhabituelle de pouvoir d’interprétation et d’essentialisation robuste des données d’entrée sources :

Dans l’image la plus haute de la deuxième colonne, UniTune, chargé d’insérer un « train rouge à l’arrière-plan » l’a placé dans une position appropriée et authentique. Notez, dans les autres exemples, comment l’intégrité sémantique de l’image source est maintenue même au milieu de changements extraordinaires dans le contenu des pixels et les styles de base des images.
Latence
Bien que la première itération de tout nouveau système soit lente, et bien qu’il soit possible que soit l’implication de la communauté, soit l’engagement corporatif (ce n’est généralement pas les deux) optimisera et accélérera à terme une routine gourmande en ressources, UniTune et Imagic effectuent certaines manœuvres d’apprentissage automatique majeures pour créer ces éditions incroyables, et il est discutable dans quelle mesure un tel processus gourmand en ressources pourrait jamais être réduit à une utilisation domestique, plutôt qu’à un accès basé sur une API (bien que ce dernier puisse être plus souhaitable pour Google).
Actuellement, le trajet aller-retour de l’entrée au résultat est d’environ 3 minutes sur un GPU T4, avec environ 30 secondes supplémentaires pour l’inférence (comme pour toute routine d’inférence). Les auteurs conviennent que c’est une latence élevée, et qu’elle ne qualifie pas vraiment d’« interactive », mais ils notent également que le modèle reste disponible pour d’autres éditions une fois initialement mis à jour, jusqu’à ce que l’utilisateur ait terminé le processus, ce qui réduit le temps par édition.
Publié pour la première fois le 21 octobre 2022.















