Suivez nous sur

Comment la diffusion stable pourrait-elle se développer en tant que produit de consommation grand public ?

Intelligence Artificielle

Comment la diffusion stable pourrait-elle se développer en tant que produit de consommation grand public ?

mm

ironie du sort, Diffusion stablen, le nouveau cadre de synthèse d'images IA qui a pris le monde d'assaut, n'est ni stable ni vraiment « diffusé » – du moins, pas encore.

L'ensemble des capacités du système est réparti sur un assortiment varié d'offres en constante mutation provenant d'une poignée de développeurs échangeant frénétiquement les dernières informations et théories dans divers colloques sur Discord - et la grande majorité des procédures d'installation des packages qu'ils créent ou modifient sont très loin d'être « plug and play ».

Au contraire, ils ont tendance à nécessiter une ligne de commande ou Axé sur les MTD installation via GIT, Conda, Python, Miniconda et d'autres cadres de développement de pointe - des progiciels si rares parmi le grand public que leur installation est fréquemment signalé par les fournisseurs d'antivirus et d'anti-malware comme preuve d'un système hôte compromis.

Seule une petite sélection d'étapes dans le gant que l'installation standard de diffusion stable nécessite actuellement. De nombreuses distributions nécessitent également des versions spécifiques de Python, qui peuvent entrer en conflit avec les versions existantes installées sur la machine de l'utilisateur - bien que cela puisse être évité avec des installations basées sur Docker et, dans une certaine mesure, grâce à l'utilisation d'environnements Conda.

Seule une petite sélection des étapes requises par l'installation standard de Stable Diffusion est actuellement disponible. De nombreuses distributions nécessitent également des versions spécifiques de Python, susceptibles d'entrer en conflit avec les versions existantes installées sur la machine de l'utilisateur. Cependant, cela peut être évité grâce aux installations basées sur Docker et, dans une certaine mesure, grâce aux environnements Conda.

Les fils de discussion des communautés SFW et NSFW Stable Diffusion sont inondés de trucs et astuces liés au piratage des scripts Python et des installations standard, afin d'améliorer les fonctionnalités ou de résoudre les erreurs de dépendance fréquentes, ainsi que toute une série d'autres problèmes.

Cela laisse le consommateur moyen, intéressé par créer des images étonnantes à partir d'invites de texte, à peu près à la merci du nombre croissant d'interfaces Web d'API monétisées, dont la plupart offrent un nombre minimal de générations d'images gratuites avant d'exiger l'achat de jetons.

De plus, presque toutes ces offres basées sur le Web refusent de produire du contenu NSFW (dont une grande partie peut se rapporter à des sujets non pornographiques d'intérêt général, tels que la « guerre »), ce qui distingue Stable Diffusion des services expurgés de DALL-E 2 d'OpenAI.

« Photoshop pour une diffusion stable »

Émerveillé par les images fabuleuses, osées ou d'un autre monde qui peuplent quotidiennement le hashtag #stablediffusion de Twitter, ce que le monde entier attend sans doute, c'est « Photoshop pour une diffusion stable » – une application installable multiplateforme qui intègre les fonctionnalités les meilleures et les plus puissantes de l'architecture de Stability.ai, ainsi que les diverses innovations ingénieuses de la communauté émergente de développement SD, sans aucune fenêtre CLI flottante, routines d'installation et de mise à jour obscures et en constante évolution, ou fonctionnalités manquantes.

Ce que nous avons actuellement, dans la plupart des installations les plus performantes, est une page Web diversement élégante chevauchée par une fenêtre de ligne de commande désincarnée, et dont l'URL est un port localhost :

Semblable aux applications de synthèse pilotées par CLI telles que FaceSwap et le DeepFaceLab centré sur BAT, l'installation «prépack» de Stable Diffusion montre ses racines de ligne de commande, avec l'interface accessible via un port localhost (voir en haut de l'image ci-dessus) qui communique avec la fonctionnalité de diffusion stable basée sur CLI.

Similaire aux applications de synthèse pilotées par CLI telles que FaceSwap et DeepFaceLab centré sur BAT, l'installation « prépack » de Stable Diffusion montre ses racines de ligne de commande, avec l'interface accessible via un port localhost (voir en haut de l'image ci-dessus) qui communique avec la fonctionnalité Stable Diffusion basée sur CLI.

Sans aucun doute, une application plus simplifiée est à venir. Il existe déjà plusieurs applications intégrales basées sur Patreon qui peuvent être téléchargées, telles que GRisque et NMKD (voir image ci-dessous) - mais aucune qui, pour l'instant, n'intègre la gamme complète de fonctionnalités que certaines des implémentations les plus avancées et les moins accessibles de Stable Diffusion peuvent offrir.

Premiers packages de Stable Diffusion basés sur Patreon, légèrement « app-isés ». NMKD est le premier à intégrer la sortie CLI directement dans l'interface graphique.

Premiers packages de Stable Diffusion, basés sur Patreon, légèrement « app-isés ». NMKD est le premier à intégrer la sortie CLI directement dans l'interface graphique.

Jetons un œil à ce à quoi pourrait ressembler une mise en œuvre plus soignée et plus intégrale de cette étonnante merveille open source – et aux défis auxquels elle pourrait être confrontée.

Considérations juridiques pour une application commerciale de diffusion stable entièrement financée

Le facteur NSFW

Le code source de Stable Diffusion a été publié sous une licence extrêmement permissive qui n'interdit pas les réimplémentations commerciales et les travaux dérivés qui s'appuient largement sur le code source.

Outre le nombre susmentionné et croissant de versions Stable Diffusion basées sur Patreon, ainsi que le grand nombre de plugins d'application en cours de développement pour Figma, Krita, Photoshop, GIMP et Mixeur (entre autres), il n'y a pas pratique raison pour laquelle une maison de développement de logiciels bien financée ne pourrait pas développer une application Stable Diffusion beaucoup plus sophistiquée et performante. Du point de vue du marché, il y a tout lieu de croire que plusieurs de ces initiatives sont déjà bien engagées.

Ici, de tels efforts sont immédiatement confrontés au dilemme de savoir si, comme la majorité des API Web pour Stable Diffusion, l'application autorisera ou non le filtre NSFW natif de Stable Diffusion (un fragment de code), à désactiver.

« Enterrer » le commutateur NSFW

Bien que la licence open source de Stability.ai pour Stable Diffusion inclue une liste largement interprétable d'applications pour lesquelles elle peut mais être utilisé (y compris sans doute contenu pornographique et deepfakes), la seule façon pour un fournisseur d'interdire efficacement une telle utilisation serait de compiler le filtre NSFW dans un exécutable opaque au lieu d'un paramètre dans un fichier Python, ou bien d'appliquer une comparaison de somme de contrôle sur le fichier Python ou la DLL contenant la directive NSFW, afin que les rendus ne puissent pas se produire si les utilisateurs modifient ce paramètre.

Cela laisserait la candidature putative « neutralisée » de la même manière que DALL-E 2 est actuellement, ce qui diminuerait son attrait commercial. De plus, inévitablement, des versions décompilées et « modifiées » de ces composants (soit des éléments d'exécution Python originaux, soit des fichiers DLL compilés, comme ceux utilisés actuellement dans la gamme Topaz d'outils d'amélioration d'image IA) émergeraient probablement dans la communauté des torrents et des hackers pour lever ces restrictions, simplement en remplaçant les éléments obstruants et en annulant toute exigence de somme de contrôle.

En fin de compte, le fournisseur peut choisir de simplement répéter l'avertissement de Stability.ai contre les abus qui caractérisent la première exécution de nombreuses distributions Stable Diffusion actuelles.

Cependant, les petits développeurs open source qui utilisent actuellement des avertissements occasionnels de cette manière ont peu à perdre par rapport à une société de logiciels qui a investi beaucoup de temps et d'argent pour rendre Stable Diffusion complet et accessible - ce qui invite à une réflexion plus approfondie.

Responsabilité Deepfake

Comme nous l'avons récemment noté, la base de données LAION-aesthetics, qui fait partie des 4.2 milliards d'images sur lesquelles les modèles actuels de Stable Diffusion ont été formés, contient un grand nombre d'images de célébrités, permettant aux utilisateurs de créer efficacement des deepfakes, y compris du porno de célébrités deepfake.

D'après notre récent article, quatre étapes de Jennifer Connelly sur quatre décennies de sa carrière, déduites de Stable Diffusion.

D'après notre récent article, quatre étapes de Jennifer Connelly sur quatre décennies de sa carrière, déduites de Stable Diffusion.

Il s’agit d’une question distincte et plus controversée que la génération de pornographie « abstraite » (généralement) légale, qui ne représente pas de « vraies » personnes (bien que de telles images soient déduites de plusieurs photos réelles dans le matériel de formation).

Étant donné qu'un nombre croissant d'États et de pays américains développent ou ont institué des lois contre la pornographie deepfake, la capacité de Stable Diffusion à créer du porno de célébrités pourrait signifier qu'une application commerciale qui n'est pas entièrement censurée (c'est-à-dire qui peut créer du matériel pornographique) pourrait encore avoir besoin d'une certaine capacité à filtrer les visages de célébrités perçus.

Une méthode consisterait à fournir une liste noire intégrée de termes qui ne seraient pas acceptés dans une invite utilisateur, concernant les noms de célébrités et les personnages fictifs auxquels ils pourraient être associés. Il serait sans doute nécessaire d'implémenter de tels paramètres dans d'autres langues que l'anglais, car les données d'origine contiennent d'autres langues. Une autre approche pourrait consister à intégrer des systèmes de reconnaissance de célébrités tels que ceux développés par Clarifai.

Il peut être nécessaire pour les producteurs de logiciels d'incorporer de telles méthodes, peut-être initialement désactivées, ce qui peut aider à empêcher une application autonome à part entière de Stable Diffusion de générer des visages de célébrités, en attendant une nouvelle législation qui pourrait rendre cette fonctionnalité illégale.

Encore une fois, cependant, une telle fonctionnalité pourrait inévitablement être décompilée et inversée par les parties intéressées ; cependant, le producteur de logiciels pourrait, dans cette éventualité, prétendre qu'il s'agit effectivement de vandalisme non autorisé - tant que ce type d'ingénierie inverse n'est pas rendu excessivement facile.

Fonctionnalités pouvant être incluses

La fonctionnalité de base de toute distribution de Stable Diffusion serait attendue de toute application commerciale bien financée. Celles-ci incluent la possibilité d'utiliser des invites de texte pour générer des images pertinentes (texte à image); la possibilité d'utiliser des croquis ou d'autres images comme lignes directrices pour les nouvelles images générées (image à image); les moyens d'ajuster le degré d'imagination que le système est censé avoir ; un moyen de faire un compromis entre le temps de rendu et la qualité ; et d'autres « bases », telles que l'archivage automatique facultatif des images/invites et la mise à l'échelle facultative de routine via RéelESRGAN, et au moins une « correction faciale » de base avec GFPGAN or CodeFormer.

C'est une installation assez basique. Examinons quelques-unes des fonctionnalités plus avancées actuellement en cours de développement ou d'extension, qui pourraient être intégrées à une application Stable Diffusion « traditionnelle » complète.

Gel stochastique

Même si vous réutiliser une graine à partir d'un précédent rendu réussi, il est terriblement difficile d'obtenir une diffusion stable pour répéter avec précision une transformation si n'importe quelle partie de l'invite ou de l'image source (ou les deux) est modifiée pour un rendu ultérieur.

C'est un problème si vous voulez utiliser EbSynth pour imposer les transformations de Stable Diffusion à une vidéo réelle de manière temporellement cohérente – bien que la technique puisse être très efficace pour des prises de vue simples en tête-épaules :

Un mouvement limité peut faire d'EbSynth un moyen efficace pour transformer les transformations de diffusion stable en vidéo réaliste. Source : https://streamable.com/u0pgzd

Un mouvement limité peut faire d'EbSynth un moyen efficace pour transformer les transformations de diffusion stable en vidéo réaliste. Source : https://streamable.com/u0pgzd

EbSynth fonctionne en extrapolant une petite sélection d'images clés « modifiées » dans une vidéo qui a été rendue dans une série de fichiers image (et qui peuvent ensuite être réassemblées dans une vidéo).

Dans cet exemple du site EbSynth, une petite poignée d'images d'une vidéo ont été peintes de manière artistique. EbSynth utilise ces images comme guides de style pour modifier de la même manière l'intégralité de la vidéo afin qu'elle corresponde au style peint. Source : https://www.youtube.com/embed/eghGQtQhY38

Dans cet exemple du site EbSynth, une petite poignée d'images d'une vidéo ont été peintes de manière artistique. EbSynth utilise ces images comme guides de style pour modifier de la même manière l'intégralité de la vidéo afin qu'elle corresponde au style peint. Source : https://www.youtube.com/embed/eghGQtQhY38

Dans l'exemple ci-dessous, qui ne présente presque aucun mouvement de la part de la (vraie) instructrice de yoga blonde à gauche, Stable Diffusion a toujours du mal à maintenir un visage cohérent, car les trois images transformées en « images clés » ne sont pas complètement identiques, même si elles partagent toutes la même graine numérique.

Ici, même avec la même invite et la même graine dans les trois transformations, et très peu de changements entre les images source, les muscles du corps varient en taille et en forme, mais plus important encore, le visage est incohérent, ce qui entrave la cohérence temporelle dans un rendu EbSynth potentiel.

Ici, même avec la même invite et la même graine dans les trois transformations, et très peu de changements entre les images source, les muscles du corps varient en taille et en forme, mais plus important encore, le visage est incohérent, ce qui entrave la cohérence temporelle dans un rendu EbSynth potentiel.

Bien que la vidéo SD/EbSynth ci-dessous soit très inventive, où les doigts de l'utilisateur ont été transformés (respectivement) en une paire de jambes en pantalon et en un canard, l'incohérence du pantalon illustre le problème que rencontre Stable Diffusion pour maintenir la cohérence entre différentes images clés, même lorsque les images sources sont similaires les unes aux autres et que la graine est cohérente.

Les doigts d'un homme deviennent un homme qui marche et un canard, via Stable Diffusion et EbSynth. Source : https://old.reddit.com/r/StableDiffusion/comments/x92itm/proof_of_concept_using_img2img_ebsynth_to_animate/

Les doigts d'un homme deviennent un homme qui marche et un canard, via Stable Diffusion et EbSynth. Source : https://old.reddit.com/r/StableDiffusion/comments/x92itm/proof_of_concept_using_img2img_ebsynth_to_animate/

L'utilisateur qui a créé cette vidéo commenté que la transformation du canard, sans doute la plus efficace des deux, bien que moins frappante et originale, ne nécessitait qu'une seule image-clé transformée, alors qu'il était nécessaire de rendre 50 images de Diffusion Stable pour créer le pantalon de marche, qui présente des images plus temporelles. incohérence. L'utilisateur a également noté qu'il avait fallu cinq tentatives pour obtenir une cohérence pour chacune des 50 images clés.

Par conséquent, il serait très avantageux pour une application de diffusion stable vraiment complète de fournir des fonctionnalités qui préservent au maximum les caractéristiques des images clés.

Une possibilité serait que l'application permette à l'utilisateur de « geler » l'encodage stochastique pour la transformation sur chaque image, ce qui ne peut actuellement être réalisé qu'en modifiant manuellement le code source. Comme le montre l'exemple ci-dessous, cela améliore la cohérence temporelle, mais ne résout certainement pas le problème :

Un utilisateur de Reddit a transformé des images de sa webcam en différentes personnes célèbres non seulement en conservant la graine (ce que toute implémentation de Stable Diffusion peut faire), mais en s'assurant que le paramètre stochastic_encode() était identique dans chaque transformation. Cela a été accompli en modifiant le code, mais pourrait facilement devenir un commutateur accessible à l'utilisateur. Il est clair cependant qu'elle ne résout pas tous les problèmes temporels. Source : https://old.reddit.com/r/StableDiffusion/comments/wyeoqq/turning_img2img_into_vid2vid/

Un utilisateur de Reddit a transformé des images de sa webcam en différentes personnes célèbres non seulement en conservant la graine (ce que toute implémentation de Stable Diffusion peut faire), mais en s'assurant que le paramètre stochastic_encode() était identique dans chaque transformation. Cela a été accompli en modifiant le code, mais pourrait facilement devenir un commutateur accessible à l'utilisateur. Il est clair cependant qu'elle ne résout pas tous les problèmes temporels. Source : https://old.reddit.com/r/StableDiffusion/comments/wyeoqq/turning_img2img_into_vid2vid/

Inversion textuelle basée sur le cloud

Une meilleure solution pour obtenir des caractères et des objets temporellement cohérents est de les « cuire » dans un Inversion textuelle – un fichier de 5 Ko qui peut être formé en quelques heures sur la base de seulement cinq images annotées, qui peuvent ensuite être obtenues par un '*' rapide, permettant, par exemple, une apparition persistante de nouveaux personnages à inclure dans un récit.

Les images associées à des balises appropriées peuvent être converties en entités discrètes via l'inversion textuelle et invoquées sans ambiguïté, et dans le contexte et le style corrects, par des mots symboliques spéciaux. Source : https://huggingface.co/docs/diffusers/training/text_inversion

Les images associées à des balises appropriées peuvent être converties en entités discrètes via l'inversion textuelle et invoquées sans ambiguïté, et dans le contexte et le style corrects, par des mots symboliques spéciaux. Source : https://huggingface.co/docs/diffusers/training/text_inversion

Les inversions textuelles sont des fichiers complémentaires au modèle très volumineux et entièrement formé utilisé par Stable Diffusion, et sont efficacement « intégrées » dans le processus d'élicitation/d'incitation, afin qu'elles puissent participez dans des scènes dérivées de modèles et bénéficiez de l'énorme base de données de connaissances du modèle sur les objets, les styles, les environnements et les interactions.

Cependant, bien qu'une inversion textuelle ne prenne pas longtemps à s'entraîner, elle nécessite une grande quantité de VRAM ; selon diverses procédures pas à pas actuelles, quelque part entre 12, 20 et même 40 Go.

Étant donné qu'il est peu probable que la plupart des utilisateurs occasionnels disposent de ce type de poids GPU, des services cloud émergent déjà pour gérer l'opération, y compris une version Hugging Face. Bien qu'il y ait Implémentations de Google Colab qui peuvent créer des inversions textuelles pour Stable Diffusion, la VRAM requise et les exigences de temps peuvent les rendre difficiles pour les utilisateurs de Colab en version gratuite.

Pour une application Stable Diffusion (installée) potentiellement complète et bien investie, transférer cette lourde tâche aux serveurs cloud de l'entreprise semble une stratégie de monétisation évidente (en supposant qu'une application Stable Diffusion à faible coût ou gratuite soit imprégnée de telles fonctionnalités non libres, ce qui semble probable dans de nombreuses applications possibles qui émergeront de cette technologie dans les 6 à 9 prochains mois).

De plus, le processus complexe d'annotation et de mise en forme des images et textes soumis gagnerait à être automatisé dans un environnement intégré. Le potentiel « facteur addictif » de création d'éléments uniques permettant d'explorer et d'interagir avec les vastes univers de Stable Diffusion pourrait sembler compulsif, tant pour les passionnés que pour les plus jeunes.

Pondération rapide polyvalente

Il existe de nombreuses implémentations actuelles qui permettent à l'utilisateur d'accorder une plus grande importance à une section d'une longue invite de texte, mais l'instrumentation varie beaucoup entre celles-ci et est souvent maladroite ou peu intuitive.

La très populaire fourche Stable Diffusion par AUTOMATIC1111, par exemple, peut diminuer ou augmenter la valeur d'un mot d'invite en le mettant entre crochets simples ou multiples (pour désaccentuer) ou entre crochets pour accentuer davantage.

Les crochets et/ou les parenthèses peuvent transformer votre petit déjeuner dans cette version des poids rapides de Stable Diffusion, mais c'est un cauchemar de cholestérol de toute façon.

Les crochets et/ou les parenthèses peuvent transformer votre petit-déjeuner dans cette version des poids de l'invite de diffusion stable, mais c'est un cauchemar de cholestérol dans tous les cas.

D'autres itérations de Stable Diffusion utilisent des points d'exclamation pour mettre l'accent, tandis que les plus polyvalentes permettent aux utilisateurs d'attribuer des poids à chaque mot dans l'invite via l'interface graphique.

Le système doit également permettre pondérations d'invite négatives - pas seulement pour fans d'horreur, mais parce qu'il peut y avoir des mystères moins alarmants et plus édifiants dans l'espace latent de Stable Diffusion que ce que notre utilisation limitée du langage peut évoquer.

Repeinture

Peu de temps après le sensationnel open-source de Stable Diffusion, OpenAI a tenté - en grande partie en vain - de reprendre une partie de son tonnerre DALL-E 2 en annonce « outpainting », qui permet à un utilisateur d'étendre une image au-delà de ses limites avec une logique sémantique et une cohérence visuelle.

Naturellement, cela a été depuis mis en œuvre sous diverses formes pour la Diffusion Stable, ainsi que à Krita, et devrait certainement être inclus dans une version complète de style Photoshop de Stable Diffusion.

L'augmentation basée sur les tuiles peut étendre un rendu 512x512 standard presque à l'infini, tant que les invites, l'image existante et la logique sémantique le permettent. Source : https://github.com/lkwq007/stablediffusion-infinity

L'augmentation basée sur les tuiles peut étendre un rendu 512 × 512 standard presque à l'infini, tant que les invites, l'image existante et la logique sémantique le permettent. Source : https://github.com/lkwq007/stablediffusion-infinity

Étant donné que Stable Diffusion est formé sur des images de 512 x 512 px (et pour diverses autres raisons), il coupe fréquemment la tête (ou d'autres parties essentielles du corps) des sujets humains, même lorsque l'invite indiquait clairement « accentuation de la tête », etc.

Exemples typiques de « décapitation » par diffusion stable ; mais la surpeinture pourrait remettre George dans l'image.

Exemples typiques de « décapitation » par diffusion stable ; mais une surpeinture pourrait remettre George dans le tableau.

Toute implémentation d'outpainting du type illustré dans l'image animée ci-dessus (qui est basée exclusivement sur les bibliothèques Unix, mais devrait pouvoir être répliquée sur Windows) doit également être conçue comme un remède en un clic/invite pour cela.

Actuellement, un certain nombre d'utilisateurs étendent la toile des représentations « décapitées » vers le haut, remplissent grossièrement la zone de la tête et utilisent img2img pour compléter le rendu bâclé.

Masquage efficace qui comprend le contexte

Masquage Cela peut être très aléatoire dans Stable Diffusion, selon le fork ou la version concernée. Souvent, lorsqu'il est possible de dessiner un masque cohérent, la zone spécifiée finit par être recouverte d'un contenu qui ne prend pas en compte le contexte global de l'image.

À une occasion, j'ai masqué les cornées d'une image de visage et fourni l'invite « yeux bleus » comme un masque peint – pour finalement découvrir que j'avais l'impression de regarder à travers deux yeux humains découpés l'image lointaine d'un loup à l'aspect surnaturel. J'ai eu de la chance que ce ne soit pas Frank Sinatra.

L'édition sémantique est également possible en identifier le bruit qui a construit l'image en premier lieu, ce qui permet à l'utilisateur d'aborder des éléments structurels spécifiques dans un rendu sans interférer avec le reste de l'image :

Modification d'un élément d'une image sans masquage traditionnel et sans modification du contenu adjacent, en identifiant le bruit à l'origine de l'image et en adressant les parties de celle-ci qui ont contribué à la zone cible. Source : https://old.reddit.com/r/StableDiffusion/comments/xboy90/a_better_way_of_doing_img2img_by_finding_the/

Modification d'un élément d'une image sans masquage traditionnel et sans modification du contenu adjacent, en identifiant le bruit à l'origine de l'image et en adressant les parties de celle-ci qui ont contribué à la zone cible. Source : https://old.reddit.com/r/StableDiffusion/comments/xboy90/a_better_way_of_doing_img2img_by_finding_the/

Cette méthode est basée sur la Échantillonneur K-Diffusion.

Filtres sémantiques pour gaffes physiologiques

Comme nous l'avons mentionné précédemment, Stable Diffusion peut fréquemment ajouter ou soustraire des membres, en grande partie en raison de problèmes de données et de lacunes dans les annotations qui accompagnent les images qui l'ont entraîné.

Tout comme cet enfant errant qui a tiré la langue sur la photo du groupe scolaire, les atrocités biologiques de Stable Diffusion ne sont pas toujours immédiatement évidentes, et vous avez peut-être instagrammé votre dernier chef-d'œuvre d'IA avant de remarquer les mains supplémentaires ou les membres fondus.

Tout comme cet enfant errant qui a tiré la langue sur la photo de groupe de l'école, les atrocités biologiques de Stable Diffusion ne sont pas toujours immédiatement évidentes, et vous avez peut-être posté sur Instagram votre dernier chef-d'œuvre d'IA avant de remarquer les mains supplémentaires ou les membres fondus.

Il est si difficile de corriger ces types d'erreurs qu'il serait utile qu'une application de diffusion stable pleine grandeur contienne une sorte de système de reconnaissance anatomique utilisant une segmentation sémantique pour calculer si l'image entrante présente de graves déficiences anatomiques (comme dans l'image ci-dessus ), et le supprime au profit d'un nouveau rendu avant de le présenter à l'utilisateur.

Bien sûr, vous voudrez peut-être rendre la déesse Kali ou le docteur Octopus, ou même sauver une partie non affectée d'une image affectée par un membre, donc cette fonctionnalité devrait être une bascule facultative.

Si les utilisateurs pouvaient tolérer l'aspect télémétrique, de tels ratés pourraient même être transmis de manière anonyme dans un effort collectif d'apprentissage fédérateur qui pourrait aider les futurs modèles à améliorer leur compréhension de la logique anatomique.

Amélioration automatique du visage basée sur LAION

Comme je l'ai noté dans mon look précédent Parmi les trois choses que Stable Diffusion pourrait aborder à l'avenir, il ne faut pas laisser à une seule version de GFPGAN le soin de tenter « d'améliorer » les visages rendus dans les rendus de première instance.

Les « améliorations » de GFPGAN sont terriblement génériques, portent souvent atteinte à l’identité de l’individu représenté et opèrent uniquement sur un visage qui a généralement été mal rendu, car il n’a pas reçu plus de temps de traitement ou d’attention que toute autre partie de l’image.

Par conséquent, un programme professionnel de diffusion stable devrait être capable de reconnaître un visage (avec une bibliothèque standard et relativement légère comme YOLO), d'exploiter toute la puissance GPU disponible pour le restituer, et soit d'intégrer le visage amélioré au rendu complet d'origine, soit de l'enregistrer séparément pour une recomposition manuelle. Actuellement, cette opération est relativement simple.

Dans les cas où Stable Diffusion a été formé sur un nombre adéquat d'images d'une célébrité, il est possible de concentrer toute la capacité du GPU sur un rendu ultérieur uniquement du visage de l'image rendue, ce qui est généralement une amélioration notable - et, contrairement à GFPGAN , s'appuie sur les informations des données formées par LAION, plutôt que de simplement ajuster les pixels rendus.

Dans les cas où Stable Diffusion a été formé sur un nombre adéquat d'images d'une célébrité, il est possible de concentrer toute la capacité du GPU sur un rendu ultérieur uniquement du visage de l'image rendue, ce qui constitue généralement une amélioration notable - et, contrairement à GFPGAN, s'appuie sur les informations des données formées par LAION, plutôt que de simplement ajuster les pixels rendus.

Recherches LAION dans l'application

Depuis que les utilisateurs ont commencé à réaliser que la recherche de concepts, de personnes et de thèmes dans la base de données de LAION pouvait s'avérer utile pour une meilleure utilisation de Stable Diffusion, plusieurs explorateurs LAION en ligne ont été créés, notamment haveibeentrained.com.

La fonction de recherche sur haveibeentrained.com permet aux utilisateurs d'explorer les images qui alimentent Stable Diffusion et de découvrir si des objets, des personnes ou des idées qu'ils aimeraient obtenir du système sont susceptibles d'y avoir été entraînés. De tels systèmes sont également utiles pour découvrir des entités adjacentes, telles que la façon dont les célébrités sont regroupées, ou la « prochaine idée » qui découle de l'actuelle. Source : https://haveibeentrained.com/?search_text=bowl%20of%20fruit

La fonction de recherche de haveibeentrained.com permet aux utilisateurs d'explorer les images qui alimentent la diffusion stable et de découvrir si les objets, les personnes ou les idées qu'ils souhaitent extraire du système sont susceptibles d'y avoir été entraînés. Ces systèmes sont également utiles pour découvrir des entités adjacentes, comme la façon dont les célébrités sont regroupées ou l'idée suivante qui en découle. Source : https://haveibeentrained.com/?search_text=bowl%20of%20fruit

Bien que ces bases de données Web révèlent souvent certaines des balises qui accompagnent les images, le processus de généralisation qui a lieu pendant la formation du modèle signifie qu'il est peu probable qu'une image particulière puisse être invoquée en utilisant sa balise comme invite.

De plus, la suppression de « mots vides » et la pratique de la radicalisation et de la lemmatisation dans le traitement du langage naturel signifie que de nombreuses phrases exposées ont été divisées ou omises avant d'être entraînées à la diffusion stable.

Néanmoins, la manière dont les groupements esthétiques se lient dans ces interfaces peut en apprendre beaucoup à l'utilisateur final sur la logique (ou, sans doute, sur la « personnalité ») de la diffusion stable et s'avérer utile pour une meilleure production d'images.

Conclusion

Il existe de nombreuses autres fonctionnalités que j'aimerais voir dans une implémentation native complète de Stable Diffusion sur le bureau, comme l'analyse d'image native basée sur CLIP, qui inverse le processus standard de Stable Diffusion et permet à l'utilisateur de générer des phrases et des mots que le système associerait naturellement à l'image source ou au rendu.

De plus, une véritable mise à l'échelle basée sur les tuiles serait un ajout bienvenu, car ESRGAN est un instrument presque aussi brutal que GFPGAN. Heureusement, les plans d'intégration de la txt2imghd L'implémentation de GOBIG en fait rapidement une réalité dans toutes les distributions, et cela semble un choix évident pour une itération de bureau.

Certaines autres demandes populaires des communautés Discord m'intéressent moins, telles que les dictionnaires rapides intégrés et les listes applicables d'artistes et de styles, bien qu'un bloc-notes intégré à l'application ou un lexique personnalisable de phrases semble un ajout logique.

De même, les limites actuelles de l'animation centrée sur l'humain dans Stable Diffusion, bien que lancées par CogVideo et divers autres projets, restent incroyablement naissantes et à la merci de la recherche en amont sur les a priori temporels liés au mouvement humain authentique.

Pour l'instant, la vidéo Stable Diffusion est strictement psychédélique, bien qu'il puisse avoir un avenir beaucoup plus prometteur dans le domaine des marionnettes deepfake, via EbSynth et d'autres initiatives de texte en vidéo relativement naissantes (et il convient de noter l'absence de personnes synthétisées ou « modifiées » dans Runway). dernière vidéo promotionnelle).

Une autre fonctionnalité intéressante serait le transfert transparent vers Photoshop, intégré depuis longtemps à l'éditeur de textures de Cinema4D, entre autres implémentations similaires. Grâce à cela, il est possible de transférer facilement des images entre les applications et d'utiliser chaque application pour effectuer les transformations qu'elle maîtrise parfaitement.

Enfin, et peut-être le plus important, un programme de diffusion stable de bureau complet devrait être capable non seulement de basculer facilement entre les points de contrôle (c'est-à-dire les versions du modèle sous-jacent qui alimente le système), mais devrait également être capable de mettre à jour les inversions textuelles personnalisées qui ont fonctionné. avec les versions officielles précédentes du modèle, mais peut autrement être rompu par les versions ultérieures du modèle (comme l'ont indiqué les développeurs du Discord officiel, cela pourrait être le cas).

Ironiquement, l'organisation la mieux placée pour créer une matrice d'outils aussi puissante et intégrée pour la diffusion stable, Adobe, s'est alliée si fortement à la Initiative d'authenticité du contenu que cela pourrait sembler être un faux pas rétrograde en matière de relations publiques pour l'entreprise – à moins que cela ne freine les pouvoirs génératifs de Stable Diffusion aussi profondément qu'OpenAI l'a fait avec DALL-E 2, et ne le positionne plutôt comme une évolution naturelle de ses avoirs considérables en photographie de stock.

 

Première publication le 15 septembre 2022.

Rédacteur en apprentissage automatique, spécialiste du domaine de la synthèse d'images humaines. Ancien responsable du contenu de recherche chez Metaphysic.ai.
Site personnel : martinanderson.ai
Contact [email protected]
Twitter : @manders_ai