Angle d’Anderson
UniTune : La technique d’édition d’images neuronales alternative de Google

Les recherches de Google semblent attaquer l’édition d’images basée sur du texte de plusieurs côtés, et, probablement, attendent de voir ce qui « prend ». À la suite de la sortie de ce week-end 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 texte, appelée UniTune.
Sur la base des exemples donnés dans le nouvel article du projet, UniTune a atteint un degré extraordinaire de dissociation de la pose sémantique et de l’idée du contenu réel de l’image:

UniTune maîtrise la composition sémantique. 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. Bien que les distributions populaires telles que AUTOMATIC1111 puissent créer des masques pour des éditions locales et restreintes, le processus est tortueux 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 le long de cette ligne de pensée.
Une autre possibilité pour verrouiller les opérations d’édition d’images neuronales désordonnées et emmêlées est d’utiliser le module d’entraînement préalable Contraste de langage-image d’OpenAI (CLIP) 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 d’image-à-texte est prêt à renvoyer un rendu interprété à l’utilisateur. Dans ce contexte, CLIP devrait agir comme un sentinelle et un module de contrôle de la qualité, rejetant les rendus malformés ou autrement inappropriés. C’est sur le point d’être institué (lien Discord) sur le portail API-driven de DreamStudio de Stability.ai.
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 « d’affiner » un modèle de diffusion existant – dans ce cas, le modèle 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 est 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 simple 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 profiter des ressources immenses du modèle en modifiant son classificateur de texte, aboutissant à un fichier minuscule (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 » encapsulé que DreamBooth, avec des changements formés invoqués 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 formé avec soin.
‘Pour effectuer l’opération d’édition, nous échantillonnons les modèles affinés avec l’invite “[rare_tokens] edit_prompt” (par exemple “beikkpic deux chiens dans un restaurant” ou “beikkpic un minion”).’
Le processus
Bien que cela soit déroutant de voir deux articles presque identiques, en termes de fonctionnalité finale, provenir de Google la même semaine, il y a, malgré un grand nombre de similitudes entre les deux initiatives, au moins une différence claire entre UniTune et Imagic – le dernier utilise des invites de langage naturel « non compressé » pour guider les opérations d’édition d’images, alors que UniTune forme des jetons uniques de style DreamBooth.
Par conséquent, si vous éditez avec Imagic et que vous souhaitez effectuer une transformation de cette nature…

À partir de l’article UniTune – UniTune se positionne contre le cadre de modification neuronale rival de Google, SDEdit. Les résultats de UniTune sont sur la droite, tandis que le masque estimé est visible dans la deuxième image à partir de la gauche.
.. dans Imagic, vous saisiriez ‘la troisième personne, assise à l’arrière-plan, en tant que monstre poilu mignon’.
La commande équivalente UniTune serait ‘Homme à l’arrière en tant que [x]’, où x est le mot étrange et unique lié au concept de personnage de monstre poilu formé.
Alors que plusieurs images sont alimentées dans DreamBooth ou Textual Inversion dans le but de créer une abstraction de type deepfake qui peut être commandée dans de nombreuses poses, UniTune et Imagic alimentent une seule image dans le système – l’image originale et immaculée.
Ceci est similaire à la façon dont de nombreux outils d’édition basés sur GAN des dernières années ont fonctionné – en convertissant une image d’entrée en codes latents dans l’espace latent de GAN et en les envoyant ensuite à d’autres parties de l’espace latent pour modification (c’est-à-dire en entrant une image d’une personne jeune aux cheveux noirs et en la projetant à travers des codes latents associés à « vieux » ou « blond », etc.).
Cependant, les résultats, dans un modèle de diffusion, et par cette méthode, sont assez étonnamment précis par comparaison, et beaucoup moins ambigus:
Le processus d’affinement
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.
Pendant le processus UniTune, le système est affiné, c’est-à-dire que UniTune force le modèle à reprendre l’entraînement, avec la plupart de ses couches dégelées (voir ci-dessous). Dans la plupart des cas, l’affinement réduira les valeurs de perte générales d’un modèle à haute performance difficile à obtenir en faveur de l’injection ou du raffinement 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 coquille jetable et éliminée à la fin du processus, ayant servi un seul objectif. Ce type de tonnage de données est en train de devenir une crise de stockage quotidienne pour les fans de DreamBooth, dont les propres modèles, même élagués, ne sont pas moins de 2 Go par sujet.
Comme pour Imagic, le réglage principal dans UniTune se produit aux deux couches les plus basses des trois couches d’Imagen (base 64px, 64px>256px et 256px>1024px). Contrairement à Imagic, les chercheurs voient une certaine valeur potentielle dans l’optimisation du réglage é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 l’entraînement, avec plusieurs paires d’images/texte dupliquées alimentées dans le système pendant 128 itérations à une taille de lot de 4, et avec Adafactor en tant que fonction de perte, fonctionnant à un taux d’apprentissage de 0,0001. Bien que le codeur T5 soit gelé pendant cette phase d’affinement, il est également gelé pendant l’entraînement principal 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 l’entraînement d’origine d’Imagen.
Échantillonnage
Il existe de nombreuses méthodes d’échantillonnage possibles pour lesquelles les modifications apportées peuvent être élicitées à partir du modèle affiné, 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 source 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épart 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 pensent qu’il pourrait s’agir d’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 plutôt que le modèle non conditionné. Cela guide le modèle vers la différence entre les deux invites.’
Cependant, la guidance de prompt, selon les auteurs, n’était nécessaire queoccasionnellement dans les cas où la 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 « naive ».

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 interprétatif et d’essentialisation robuste des données d’entrée source:
‘Pour effectuer l’opération d’édition, nous échantillonnons les modèles affinés avec l’invite “[rare_tokens] edit_prompt” (par exemple “beikkpic deux chiens dans un restaurant” ou “beikkpic un minion”).’

Dans l’image du haut 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 d’images.
Latence
Bien que la première itération de tout nouveau système soit lente, et bien que cela soit possible que soit l’implication de la communauté, soit l’engagement de l’entreprise (ce n’est généralement pas les deux) optimisera et accélérera éventuellement 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 l’API (bien que le 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 répond pas vraiment à la notion d’« interactif », mais ils notent également que le modèle reste disponible pour d’autres éditions une fois initialement réglé, 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.














