L’interface utilisateur rencontre l’intelligence artificielle : leçons tirées de la mise en œuvre d’outils de génération d’images dans le pipeline de Playkot

L’interface utilisateur rencontre l’intelligence artificielle : leçons tirées de la mise en œuvre d’outils de génération d’images dans le pipeline de Playkot

Tatiana Mironova

Tout a commencé par une question à l’échelle de l’entreprise : comment 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 profond 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. Aujourd’hui, presque toutes les équipes de Playkot expérimentent les réseaux neuronaux pour leurs tâches. Nous partageons nos expériences dans des chats sur le thème de l’IA sur Slack, et lorsque 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 pendant que nous travaillions sur Spring Valley..

Avantages et inconvénients de l'utilisation d'outils de génération d'images pour l'interface utilisateur - selon Playkot

Midjourney : je cherchais de l’or, j’ai trouvé du cuivre à la place

J’ai commencé à explorer activement les réseaux neuronaux au début de cette année. J’ai passé trois ou quatre jours à me familiariser avec les outils, à comprendre les technologies et les approches, à appréhender l’aspect technique des choses.

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

La principale pierre d’achoppement était que Midjourney ne pouvait pas correspondre au style que nous recherchions. En bref, il contient tout l’Internet, ce qui produit 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 lui trouver une forme, il s’en charge bien.

Par exemple, j’avais besoin de créer un ornement en camée. J’ai passé du 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 camées eux-mêmes étaient convenables : 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 creux aux zones sombres. J’ai rapidement découpé le camée de Midjourney dans Photoshop, je lui ai appliqué mon propre matériau et je n’ai pas eu à dessiner le portrait à la main. J’ai passé le même temps sur l’icône que celui que j’avais initialement prévu, mais l’image du camée s’est avérée intéressante et plus naturelle.

Voici un autre exemple : Je devais créer une branche avec des cristaux. Il faut un certain temps pour réfléchir à l’aspect de chacun d’entre eux. J’ai donné un exemple à Midjourney, qui a généré une pléthore de ces cristaux. Ensuite, 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.

Diffusion stable : une hypothèse qui s’est avérée vraie

J’ai ensuite commencé à expérimenter Stable Diffusion. Il permet de prendre un modèle déjà créé comme base, d’y ajouter vos images et de l’entraîner sur cet ensemble de données. À ce moment-là, notre projet avait accumulé de nombreuses icônes de qualité dans le style requis, qui pouvaient être utilisées pour les ensembles de données.

Stable Diffusion dispose de plusieurs méthodes d’apprentissage : Dreambooth extension, Hypernetwork, LoRA. L’idée était de tester chacune d’entre elles et de voir ce qui fonctionnerait. Nous avons d’emblée écarté LoRA parce qu’elle est mieux adaptée aux visages et aux portraits. En revanche, l’extension Dreambooth a bien fonctionné.

La formation d’un modèle est une entreprise risquée. Au début, vous pouvez avoir le sentiment trompeur que vous allez le former avec succès une fois et en récolter les fruits. Mais lorsque vous commencez à vous rendre compte du nombre de détails à prendre en compte… Si vous constatez que les résultats ne sont pas excellents, vous devez recommencer. Presque tous les modèles d’IA sont très gourmands en cartes vidéo, et si votre ordinateur dispose d’une mémoire vidéo limitée, le réentraînement prendra encore trois heures. Par conséquent, toute erreur mineure prolonge le processus, et il n’y a aucune garantie que le résultat sera suffisamment bon pour être utilisé.

Une fois que j’ai configuré le modèle pour l’entraînement, je suis allé me coucher. J’avais prévu de mettre une alarme, de me lever et de vérifier les résultats. Je me suis réveillé à 3 heures du matin, et le modèle a généré un bouquet de tulipes assez décent. Je me suis dit : « Oh, enfin un résultat ! ».

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

Lorsque j’ai réalisé que la diffusion stable avait du potentiel, il a fallu s’attaquer au problème de l’aspect technique du processus. La puissance de l’ordinateur est le principal obstacle, et tous les membres de notre équipe n’ont pas les mêmes chances à cet égard. Grâce à l’expérience de collègues d’autres entreprises, nous avons appris qu’une méthode viable consistait à allouer un ordinateur séparé comme serveur sur lequel toutes les générations seraient exécutées.

Dans le même temps, nous avons essayé diverses astuces proposées par d’autres passionnés d’IA : nous avons examiné un grand nombre de tutoriels, cherché d’autres modèles appropriés, mais nous avons finalement trouvé une autre solution – Scenario.gg, un service basé sur la diffusion stable et spécialisé dans les ressources de jeu.

Les serveurs aux capacités techniques plus élevées ont résolu notre problème avec puissance, et il y avait aussi un bonus agréable : alors que Stable Diffusion peut faire buguer un utilisateur débutant, qui n’a pas plongé dans l’apprentissage automatique auparavant, l’interface de Scenario.gg est intuitivement compréhensible et déjà adaptée à nos demandes. Vous pouvez choisir d’entraîner le modèle pour le concept art, l’illustration ou la génération d’actifs.

Sur les serveurs externes, le processus a été plus rapide et nous avons enfin commencé à obtenir des résultats plus cohérents. La méthode image à image a été la plus efficace, car elle permet de télécharger l’image originale et d’obtenir le résultat dans le style sur lequel le modèle a été entraîné. Je vais vous parler de tâches spécifiques pour lesquelles cette méthode nous a aidés.

Curieusement, les icônes les plus difficiles à produire sont toutes les sortes d’objets organiques : plantes, fruits et légumes, nourriture, fleurs. Vous vous dites peut-être que ce ne sont que des fleurs et qu’il est donc si difficile de les dessiner. Mais la construction de formes organiques prend beaucoup de temps. Et c’est là que le modèle d’IA a excellé.

Pour l’une de mes tâches, je devais dessiner un bouquet de mariée. Auparavant, j’avais déjà collecté un ensemble de données à partir de nos icônes de fleurs :

À l’aide de la méthode img2img, j’ai fourni un bouquet de référence au modèle pour qu’il l’analyse, le traite et le fusionne avec notre style.

J’ai fixé le nombre maximal de générations à 16 à la fois. Pendant que je travaillais sur une autre tâche, le modèle a généré un grand nombre d’options pour moi. Certaines d’entre elles se sont avérées assez 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 constater, les rubans des bouquets s’avèrent assez uniques, mais c’est exactement ce qui peut être corrigé rapidement à la main. Ainsi, 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 gagné près de 50 % de temps sur cette tâche. Manuellement, j’aurais dessiné un tel bouquet pendant huit à dix heures, mais en utilisant des modèles d’apprentissage profond, vous pouvez générer des icônes en 30-40 minutes, sélectionner les meilleures, faire des corrections minimales, et terminer la tâche en quatre heures (sans compter une autre heure pour la compilation d’un ensemble de données).

Ou voici une couronne de fleurs, une tâche très urgente que j’ai réalisée en quatre heures – en générant différentes options tout en m’occupant d’une autre tâche.

Avertissement : cette méthode ne fonctionnera pas aussi bien pour tous les objets. Tout d’abord, l’énorme avantage est que nous avons rassemblé un bon ensemble de données à partir de nos propres icônes de fleurs – diverses, avec un bon rendu et de bonnes formes, et dans un style unifié. Deuxièmement, le modèle de base de la diffusion stable contient très probablement déjà un grand nombre de fleurs. En gros, nous avons combiné toutes les meilleures dans ce bouquet.

L’alimentation est une autre catégorie intéressante pour la diffusion stable. Supposons que nous devions créer une icône de hamburger : j’ai d’abord défini les paramètres à l’aide d’une invite, et les résultats ont été 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 requis :

J’ai sélectionné les résultats les plus réussis de la génération. Bien sûr, il est évident que les galettes sont très étranges et qu’il y a trop de graines de sésame. Et la demande des concepteurs du jeu était un hamburger végétarien : à Spring Valley, nous avons un tel concept que nous ne tuons pas d’animaux, nous ne pêchons pas vraiment de poissons et nous 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 gagné une heure et demie à deux heures de temps. C’est la version finale qui a été intégrée au jeu :

Un autre exemple réussi est celui d’un gâteau à l’orange. Voici l’ensemble de données que j’ai créé à partir 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é incorporé dans le jeu :

La combinaison de « Stable Diffusion + un service pratique avec des serveurs puissants + la méthode img2img » peut changer la donne pour les équipes chargées de l’interface utilisateur, à condition qu’elles fassent leurs devoirs : sélectionner soigneusement les ensembles de données et investir du temps dans la formation.

Supposons, par exemple, que l’on m’ait confié la tâche de créer une icône représentant un bouquet de bananes. Nous disposons déjà d’un ensemble de données décent : notre jeu comporte de nombreuses icônes de fruits. Avec la bonne référence, le modèle fournit une excellente esquisse préliminaire : bonne précision des couleurs, texture, irrégularité, même le sommet 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 est celui des droits d’auteur. Si une composition reconnaissable est utilisée comme référence, il est nécessaire de vérifier méticuleusement si la licence vous permet d’utiliser cette image, et de chercher des alternatives avec une licence Creative Commons.

Les cerises ci-dessus, par exemple, correspondent bien à notre esthétique, et les modifications nécessaires seraient minimes. Mais il est facile de voir qu’elles ont été créées à partir d’une photo de stock – presque une correspondance directe. Que doit faire l’artiste dans ce cas ? Collage, modification, examen des éléments qui peuvent être supprimés, transformation pour obtenir un résultat différent. Cela prend également plus de temps.

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 neuronaux, en particulier sur la plateforme Midjourney, entièrement ouverte aux utilisateurs, ne sont pas soumises au droit d’auteur. D’un point de vue juridique, je peux donc aller sur Midjourney, imprimer n’importe quelle génération sur des T-shirts à vendre ou l’intégrer dans un jeu. Et si quelqu’un reconnaît l’endroit où cette illustration a été générée, la trouve grâce à des mots-clés et utilise la même illustration dans son jeu, qui aura raison ? Il est difficile de prévoir l’évolution des événements dans ce domaine, et cela représente encore un autre risque potentiel.

Ce qui ne fonctionne pas si bien

Plus on s’éloigne des formes organiques, plus les résultats sont mauvais. La diffusion stable peine à construire correctement des formes et des lignes droites, et je n’ai pas encore obtenu de résultats satisfaisants pour tous les objets nécessitant une formation précise.

Chacun d’entre nous a vu une bouteille des milliers de fois, et l’œil humain détecte immédiatement toute distorsion. En particulier 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 coché en violet les éléments que je pourrais potentiellement utiliser dans mon travail. Cependant, il ne s’agit que de trois images sur l’ensemble des générations. Il y a de fortes chances que vous perdiez votre temps et que vous n’obteniez rien, car vous devrez encore corriger le résultat à l’aide de formes dans Photoshop. Il serait plus facile de dessiner cette bouteille avec ces mêmes formes ou de la modéliser en 3D selon un pipeline connu.

Les modèles d’apprentissage profond excellent dans la répétition. Ils utilisent de manière répétée les éléments que vous leur donnez, 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 ce qu’il voit exactement 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 d’entre elles. La personne qui forme le modèle peut se plonger dans ce fichier texte et vérifier la description.

Parfois, l’IA commet des erreurs ou ne comprend pas ce qu’elle voit. Par exemple, un texte peut se lire comme suit : « 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 passer cela, chaque fois que vous lui demanderez une bouteille verte, il vous proposera des bouteilles transparentes, quoi qu’il arrive. Vous pourriez vérifier manuellement chaque description, mais que faire si vous avez des centaines d’images de ce type ? Le coût du réglage fin est élevé.

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

Construire des ensembles de données d’icônes : maîtriser l’art de la facilité

Voici les leçons que nous avons tirées de l’expérimentation des modèles génératifs :

  • Ne lui donnez pas d’images semi-transparentes, sinon il remplira ces zones avec d’horribles artefacts, et il n’y aura toujours pas d’arrière-plan semi-transparent dans les générations ;
  • Entraînez le modèle sur des objets avec un fond blanc neutre – il y a plus de chances que vous n’ayez pas à découper laborieusement des objets dans Photoshop et que vous vous demandiez s’il n’aurait pas été plus rapide de tout dessiner manuellement avec des formes vectorielles ;
  • Trouvez un équilibre entre un ensemble de données trop petit et un ensemble de données trop grand. D’après mon expérience, tout ce qui a été entraîné sur des ensembles minimaux de 7-8 images n’a pas donné de bons résultats. Les résultats se dégradent également de façon notable avec des ensembles de données diversifiés et de grande taille ;
  • Lors de la génération d’icônes, il est préférable de diviser les ensembles de données par entités. C’est-à-dire, des ensembles de données distincts pour les bouteilles, un autre pour les fruits et un autre pour les clés ;
  • Lors de l’entraînement du réseau neuronal, vérifiez si possible les descriptions textuelles pour vous assurer qu’elles identifient correctement ce qui est représenté dans votre ensemble de données.

En résumé, 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 outil supplémentaire. En plus des icônes organiques, que nous maîtrisons déjà assez bien, 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. Il est beaucoup plus rapide de les générer dans le style requis et de les assembler.

Nous n’avons pas encore étendu ces approches à l’ensemble de l’équipe, et elles ne sont donc pas encore 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 pense 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 ? » Pour le même temps, nous pourrons créer des choses plus complexes. C’est un avantage considérable.


Vous avez une histoire à raconter ? Contactez-nous à l’adresse suivante [email protected]

À propos de l'auteur :

Joe Pezzo
Joe Pezzo

0 0 votes
Évaluation de l'article
S’abonner
Notification pour
guest
0 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x