banner
Centre d'Information
Nos produits offrent une expérience transparente, pratique et sûre.

L'interface utilisateur rencontre l'IA : leçons tirées de la mise en œuvre de l'image

Aug 26, 2023

L'artiste 2D de Playkot, Tatiana Mironova, a détaillé comment le studio a implémenté des outils de génération d'images dans son pipeline pour créer des éléments d'interface utilisateur pour Spring Valley. Voici ce que l'équipe a appris au cours de ce processus et quels sont les avantages et les inconvénients évidents de la formation de vos propres modèles.

Tatiana Mironova

Tout a commencé par une question à l'échelle de l'entreprise : comment pouvons-nous passer moins de temps sur les tâches courantes sans compromettre la qualité ?

Beaucoup d'entre nous avaient déjà exploré des modèles d'apprentissage en profondeur et des outils genAI par pur enthousiasme, mais comprendre si nous pouvions intégrer l'IA dans nos processus nécessitait une approche plus systématique. Désormais, presque toutes les équipes de Playkot expérimentent des réseaux de neurones pour leurs tâches. Nous partageons des expériences dans des chats sur le thème de l'IA sur Slack, et quand quelqu'un a une mini-percée, nous adoptons ses solutions.

Parlons donc de ce que nous avons essayé dans notre équipe d'interface utilisateur tout en travaillant sur Spring Valley.

J'ai commencé à explorer activement les réseaux de neurones au début de cette année. J'ai passé trois à quatre jours à me familiariser avec les outils : comprendre les technologies et les approches, comprendre le côté technique des choses.

J'ai d'abord essayé Midjourney car cela semblait l'option la plus accessible - nous avions déjà un compte d'entreprise pour les expériences. Assez rapidement, je me suis rendu compte que cela ne nous ferait pas gagner du temps sur la création des icônes : dans la quatrième version que je testais, la qualité de l'image laissait beaucoup à désirer. Dans la cinquième version fraîche, la qualité s'est considérablement améliorée, mais pour nos tâches, les résultats nécessitaient encore des révisions substantielles.

La plus grande pierre d'achoppement était que Midjourney ne pouvait pas correspondre à notre style requis. En un mot, tout Internet y est téléchargé, il produit donc des résultats très imprévisibles et vous ne pouvez pas l'entraîner pour qu'il corresponde à votre style.

Néanmoins, il s'est avéré que Midjourney est un outil auxiliaire décent pour les concepts ou pour générer des éléments individuels. Si vous avez besoin de communiquer une idée ou de trouver une forme pour cela, il gère bien cela.

Par exemple, j'avais besoin de créer un ornement de camée. J'ai passé un peu de temps sur la génération et j'ai réalisé qu'aucun des résultats ne me convenait - il serait plus facile de tout construire en 3D. Mais les portraits de camée eux-mêmes avaient l'air décents : ils ne se démarquaient pas du style, n'avaient pas deux nez ou des bouches tordues, alors pourquoi ne pas les utiliser ?

Dans les programmes 3D, il existe un outil appelé carte de déplacement : il ajoute de la hauteur aux zones claires d'un objet et des retraits aux zones sombres. J'ai rapidement découpé le camée de Midjourney dans Photoshop, y ai appliqué mon propre matériel et je n'ai pas eu à dessiner le portrait à la main. J'ai passé le même temps sur l'icône que prévu initialement, mais l'image du camée s'est avérée intéressante, plus naturelle.

Et voici un autre exemple : j'avais besoin de faire une branche avec des cristaux. Il faut un certain temps pour réfléchir à l'apparence de chacun d'eux. J'ai donné un exemple à Midjourney, et cela a généré une pléthore de ces cristaux. Après cela, j'ai choisi la génération qui me convenait le mieux, j'ai ajouté la graine requise (c'est-à-dire la variable de cette génération) à l'invite et j'ai rapidement obtenu suffisamment de matériel graphique, que j'ai finalement utilisé dans l'icône.

Ensuite, j'ai commencé à expérimenter la diffusion stable. Il vous permet de prendre un modèle déjà créé comme base, d'ajouter vos images et de l'entraîner sur cet ensemble de données. À ce moment-là, notre projet avait accumulé de nombreuses bonnes icônes dans le style nécessaire, qui pourraient être utilisées pour les ensembles de données.

Stable Diffusion dispose de plusieurs méthodes de formation : extension Dreambooth, Hypernetwork, LoRA. L'idée était de tester chacun d'eux et de voir ce qui fonctionnerait. Nous avons immédiatement rejeté LoRA car il convient mieux aux visages et aux portraits. Cependant, l'extension Dreambooth a bien fonctionné.

La formation d'un modèle est une entreprise risquée. Au début, vous pourriez avoir l'impression trompeuse que vous l'entraînerez avec succès une fois et que vous en récolterez les bénéfices. Mais quand on commence à se rendre compte du nombre de détails à prendre en compte… Si on voit que les résultats ne sont pas au top, il faut recommencer. Presque tous les modèles d'IA sont très exigeants sur les cartes vidéo, et si votre ordinateur dispose d'une mémoire vidéo limitée, le recyclage prendra encore trois heures. Par conséquent, toute erreur mineure prolonge le processus et rien ne garantit que le résultat sera suffisamment bon pour être utilisé.

Une fois, j'ai défini le modèle pour l'entraînement et je me suis endormi. Mon plan était de régler une alarme, de me lever et de vérifier les résultats. Je me suis réveillé à 3h du matin et cela a généré un bouquet de tulipes assez décent. J'étais comme, "Oh, enfin une sorte de résultat!"

Ces trois images de tulipes ont prouvé que le jeu en valait la chandelle :

Lorsque j'ai réalisé que Stable Diffusion avait du potentiel, le problème avec l'aspect technique du processus devait être résolu. La puissance informatique est le principal obstacle, et tous les membres de notre équipe n'ont pas les mêmes chances à cet égard. De l'expérience de collègues d'autres entreprises, nous avons appris qu'une méthode viable consistait à allouer un ordinateur séparé en tant que serveur sur lequel toutes les générations fonctionneraient.

Dans le même temps, nous avons essayé divers hacks de la vie d'autres passionnés d'IA : passé en revue un grand nombre de didacticiels, recherché d'autres modèles appropriés, mais avons finalement trouvé une autre solution : Scenario.gg, un service basé sur Stable Diffusion spécialisé dans les actifs de jeu.

Les serveurs avec des capacités techniques plus élevées ont résolu notre problème de puissance, et il y avait aussi un joli bonus : alors que Stable Diffusion peut faire en sorte qu'un utilisateur débutant, qui n'a jamais plongé dans l'apprentissage automatique, s'écarquille les yeux, l'interface de Scenario.gg est intuitivement compréhensible et déjà adaptée à nos demandes. Vous pouvez choisir si vous souhaitez former le modèle pour l'art conceptuel, l'illustration ou la génération d'actifs.

Sur les serveurs externes, le processus est allé plus vite et nous avons finalement commencé à obtenir des résultats plus cohérents. La méthode d'image à image a fonctionné le mieux, où vous téléchargez l'image originale et obtenez le résultat dans le style sur lequel le modèle a été formé. Je vais vous parler des tâches spécifiques où cette méthode nous a aidés.

Curieusement, les icônes les plus difficiles à produire sont toutes sortes de matières organiques : plantes, fruits et légumes, aliments, fleurs. Vous pensez peut-être que ce ne sont que des fleurs, sont-elles si difficiles à dessiner ? Mais construire des formes organiques prend beaucoup de temps. Et c'est là que le modèle d'IA excellait.

Pour l'une de mes tâches, j'avais besoin de dessiner un bouquet de mariée. Avant cela, j'avais déjà collecté un ensemble de données à partir de nos icônes de fleurs :

En utilisant la méthode img2img, j'ai alimenté un bouquet de référence au modèle pour qu'il analyse, traite et fusionne avec notre style.

J'ai fixé le nombre maximum de générations à 16 à la fois. Pendant que je travaillais sur une autre tâche, cela a généré un grand nombre d'options pour moi. Certaines d'entre elles se sont avérées plutôt bonnes : satisfaisantes en termes de forme et de masse, de couleur et de rendu. Voici les meilleurs résultats que j'ai sélectionnés :

Comme vous pouvez le voir, les rubans sur les bouquets s'avèrent assez uniques, mais c'est exactement ce qui peut être rapidement corrigé à la main. En conséquence, après les révisions, voici à quoi ressemblait le bouquet lorsque nous l'avons ajouté au jeu :

L'objectif a été atteint, et j'ai économisé près de 50% du temps sur cette tâche. Manuellement, j'aurais dessiné un tel bouquet pendant huit à 10 heures, mais en utilisant des modèles d'apprentissage en profondeur, vous pouvez générer des icônes en 30 à 40 minutes, sélectionner les meilleures, apporter des corrections minimales et terminer la tâche en quatre heures (sans compter une autre heure pour compiler un ensemble de données).

Ou voici une couronne de fleurs, une tâche très urgente que j'ai accomplie en quatre heures - générant différentes options tout en traitant une autre tâche.

Avis de non-responsabilité : cela ne fonctionnera pas très bien pour tous les objets. Premièrement, un énorme avantage est que nous avons rassemblé un bon ensemble de données à partir de nos propres icônes avec des fleurs - diverses, avec un bon rendu et des formes, et dans un style unifié. Et deuxièmement, le modèle de base de Stable Diffusion contient très probablement déjà un grand nombre de fleurs. En gros, nous avons combiné tout le meilleur dans ce bouquet.

La nourriture est une autre grande catégorie pour la diffusion stable. Disons que nous devons créer une icône de hamburger : j'ai d'abord défini les paramètres avec une invite, et les résultats étaient aussi étranges que possible - regardez les assiettes avec du maïs dans la capture d'écran.

Mais la méthode img2img a bien fonctionné : j'ai trouvé une photo appropriée, je l'ai traitée rapidement et Stable Diffusion a combiné la référence avec le style nécessaire :

J'ai sélectionné les résultats les plus réussis de la génération. Bien sûr, il est clair que les galettes ici sont très étranges et qu'il y a trop de graines de sésame. Et la demande des concepteurs du jeu était pour un burger végétarien : à Spring Valley, nous avons un tel concept que nous ne tuons pas d'animaux, n'attrapons pas vraiment de poisson et ne mangeons pas de viande.

J'ai corrigé tout cela et rendu l'icône moins "bruyante" manuellement, mais j'ai tout de même économisé environ une heure et demie à deux heures de temps. C'était la version finale qui est entrée dans le jeu:

Un autre exemple réussi est un gâteau à l'orange. Voici le jeu de données que j'ai créé sur la base de nos icônes de pâtisserie :

Voici les résultats que j'ai reçus du modèle:

Et voici à quoi ressemble le gâteau après quelques corrections — il a déjà été intégré au jeu :

La combinaison de "Diffusion stable + un service pratique avec des serveurs puissants + la méthode img2img" peut changer la donne pour les équipes d'interface utilisateur, à condition qu'elles fassent leurs devoirs : organisez soigneusement les ensembles de données et investissez du temps dans la formation.

Disons, par exemple, que j'ai été chargé de créer une icône avec un régime de bananes. Nous avons déjà un ensemble de données décent — il y a beaucoup d'icônes de fruits dans notre jeu. Compte tenu de la bonne référence, le modèle fournit un excellent croquis préliminaire : bonne fidélité des couleurs, texture, irrégularité, même le dessus de la banane est vert. Bien sûr, il y a des ajustements à faire, mais ils ne prendront pas trop de temps.

Le seul problème ici est le droit d'auteur. Si une composition de stock reconnaissable est utilisée comme référence, il est nécessaire de vérifier minutieusement si la licence vous permet d'utiliser cette image et de rechercher des alternatives avec une licence Creative Commons.

Ces cerises ci-dessus, par exemple, s'intègrent bien dans notre esthétique, et les modifications nécessaires ici seraient minimes. Mais il est facile de voir qu'ils sont fabriqués à partir d'une photo d'archives - presque une correspondance directe. Que doit faire un artiste dans ce cas ? Collez, modifiez, considérez quels éléments peuvent être supprimés, transformez cela pour obtenir un résultat différent. Cela prend également du temps supplémentaire.

L'aspect juridique de la question est, en principe, un domaine vaste et sous-exploré. Par exemple, toutes les œuvres générées par des réseaux de neurones, en particulier sur la plate-forme entièrement ouverte au public Midjourney, ne sont pas soumises au droit d'auteur. En termes juridiques, je peux maintenant aller à Midjourney, imprimer n'importe quelle génération sur des T-shirts à vendre ou les mettre dans un jeu. Et si quelqu'un reconnaît où cela a été généré, le trouve grâce à des mots-clés et utilise la même illustration dans son jeu, qui aurait raison ? Il est difficile de prédire l'évolution des événements dans ce domaine, et cela représente encore un autre risque potentiel.

Plus nous nous éloignons des formes organiques, plus les résultats tendent à être mauvais. Stable Diffusion a du mal à construire correctement des formes et des lignes droites, je n'ai donc pas encore obtenu de résultats décents pour tous les éléments nécessitant une formation précise.

Chacun de nous a vu une bouteille des milliers de fois et l'œil humain détecte immédiatement toute distorsion. Particulièrement dans une icône, où un seul objet est confiné dans un carré - si la bouteille semble tordue, tout le monde le remarquera.

Dans la capture d'écran ci-dessous, j'ai marqué de coches violettes les éléments que je pourrais potentiellement utiliser dans mon travail. Cependant, ce ne sont que trois images sur l'ensemble des générations. Les chances augmentent que vous perdiez votre temps et que vous vous retrouviez sans rien, car vous devrez toujours corriger le résultat avec des formes dans Photoshop. Il serait plus simple de dessiner cette bouteille avec ces mêmes formes ou de la modéliser en 3D selon un pipeline familier.

Les modèles d'apprentissage en profondeur excellent dans la répétition. Ils utilisent à plusieurs reprises les éléments avec lesquels vous les avez nourris, et s'ils rencontrent une fois une bouteille d'une forme particulière, ils continueront à générer cette forme et ne produiront rien de fondamentalement nouveau.

Un autre défi consiste à expliquer au modèle exactement ce qu'il voit et comment il fonctionne. Il existe différentes méthodes de formation, mais la plus pratique consiste à analyser les images téléchargées et à créer une description textuelle pour chacune. La personne qui forme le modèle peut se plonger dans ce fichier texte et vérifier la description.

Parfois, l'IA fait des erreurs ou ne comprend pas ce qu'elle voit. Par exemple, un texte pourrait lire : "Une bouteille verte avec un bouchon en bois et du liquide à l'intérieur", alors que la bouteille est en fait transparente. Si vous laissez cette diapositive glisser, chaque fois que vous lui demandez une bouteille verte, elle continuera à en servir des transparentes, quoi qu'il arrive. Vous pouvez vérifier manuellement chaque description, mais que se passe-t-il si vous avez des centaines d'images de ce type ? Le coût de la mise au point est élevé.

Je vais montrer un autre exemple de génération infructueuse sur un grand ensemble de données : ici, vous pouvez remarquer que parfois le résultat correspond à l'esthétique, mais vous ne pouvez pas comprendre ce qui est représenté. Même si je peux reconnaître d'où l'IA a obtenu des éléments individuels.

Voici les leçons que nous avons apprises au cours du processus d'expérimentation des modèles génératifs :

Pour résumer, nous sommes encore loin du point où les modèles génératifs peuvent faire notre travail à notre place, mais nous pouvons les utiliser comme un autre outil. En plus des icônes organiques, pour lesquelles nous sommes déjà assez bons, nous pouvons générer des matériaux auxiliaires, des motifs, des affiches, des arrière-plans et des parties d'arrière-plans - tous ces rochers, arbres et fleurs prennent généralement beaucoup de temps, c'est un travail méticuleux. Les générer dans le style requis et les coller est beaucoup plus rapide.

Nous n'avons pas encore étendu ces approches à l'ensemble de l'équipe, elles ne sont donc pas intégrées à 100 % dans nos processus. Nous pensons qu'il est trop tôt pour s'attaquer à ce problème tant que nous n'avons pas exploré toutes les possibilités. Mais je crois que les modèles d'IA permettront aux artistes de créer, dans un certain sens, des choses plus complexes.

Lorsque je planifie une tâche, j'estime ce que je peux accomplir dans le délai imparti. C'est comme le mème avec deux cow-boys, où l'un est le manager et l'autre le designer. « Combien de temps allez-vous consacrer à cette tâche ? » vs "Combien de temps dois-je consacrer à cette tâche ?" Pendant le même laps de temps, nous pourrons créer des choses plus complexes. Et c'est un énorme avantage.

Vous avez une histoire que vous aimeriez partager? Contactez-nous au[courriel protégé]

[courriel protégé]