L’intelligence du code au service de la création graphique

Delphine Massenhove

beauté
/bo·té/
Caractéristique provenant de manifestions telle que l’aspect visuel, la forme, le mouvement ou le son, qui au travers d’une expérience sensorielle ou intellectuelle procure une sensation de plaisir ou un sentiment de satisfaction.

Que se passe-t-il lorsque vous entraînez une machine à créer du beau ? Vous passez à un niveau supérieur de la creation graphique générée par du code.

Chez JetBrains, nous y avons recours afin de créer des graphismes originaux pour tous nos écrans, bannières et illustrations graphiques. Chacun de nos produit a un design unique et rend le bureau de son utilisateur plus agréable et esthétique.

JetBrains Artwork Generator v4

Nouveautés

La nouvelle version de notre Artwork Generator utilise un réseau neuronal pour produire des créations graphiques animées et statiques.

Les image produites par notre générateur d’images sont essentiellement des paysages créés par la fonction de cartographie du réseau neuronal par anticipation. Bien que nous ayons apporté quelques modifications en interne pour les améliorer, ces images résultent principalement des données transmise aux réseaux.

L’outil clé pour générer facilement des images agréables à l’œil est le mode Mixer. Il utilise les images que vous avez aimées pour produire de nouvelles images visuellement similaires. L’implémentation d’un algorithme génétique permet de combiner les paramètres des images sélectionnées pour qu’elles puissent évoluer et donner quelque chose de totalement nouveau. En exploitant les informations sur les images que les utilisateurs ont choisies nous pouvons entraîner un modèle de classification binaire à déduire quel ensemble de paramètres permet de créer une image qui sera considérée comme belle.

L’utilisation des réseaux neuronaux est donc double : elle sert au processus de génération d’images lui-même et à la recherche des conditions initiales optimales du processus afin de produire des résultats attrayants.

Vous avez ainsi la possibilité de créer un fond d’écran pour votre bureau qui soit véritablement unique et corresponde à vos goût . Visitez la page Art pour Desktop sur notre site web ou rendez-vous directement sur code2art.jetbrains.com. Pour en savoir plus sur le fonctionnement du Réseau Neuronal, consultez le notebook Datalore.

Découvrez le Graphisme pour Desktop

Voici quelques exemples de ce que vous pouvez faire avec le générateur.

Ēage

Kubrik
Kubrik

Venus
Venus

Fonctionnement de l’interface utilisateur graphique

Le front-end sert d’interface utilisateur en mode Mixer et de régulateur pour ajuster les résultats du réseau neuronal en mode Solo. Le même code front-end étant utilisé depuis la première version du générateur, il a pu être considérablement amélioré à chaque nouvelle version. Cette fois, c’est la fonctionnalité de couches qui été peaufinée pour les faire apparaître comme des composants configurables séparés permettant de générer des images statiques ou mobiles indépendantes. De plus, la logique de l’interface utilisateur graphique est maintenant indépendante de toute représentation visuelle et enfichable, de sorte qu’à l’avenir il devrait être possible de la connecter à tout fournisseur visuel de curseurs de défilement, entrées et boutons.

Comment utiliser les nouvelles capacités de l’outil

Après avoir choisi un produit dans la liste déroulante, par exemple IntelliJ IDEA ou MPS, il suffit de cliquer sur le bouton Prescribed et vous obtenez un écran de présentation animée de ce produit.

Interagir avec le mode Mixer

Sur l’écran initial, vous pouvez voir neuf images différentes, chacune générée pour vous individuellement par le réseau neuronal. Nous avons appelé ce mode Mixer car vous pouvez mélanger des idées au hasard, sélectionner celle·s que vous préférez et produire ainsi des créations graphiques qui vous correspondent vraiment.

Venus

Si aucune des images suggérées ne vous plaît, appuyez sur Regenerate pour obtenir neuf nouvelles images différentes des précédentes. Mais avant d’appuyer sur Regenerate, rappelez-vous que vous pouvez toujours affiner les images qui ont déjà été générés pour vous. Nous approfondirons ce point plus tard. Si vous aimez certaines des images existantes, cliquez sur les images concernées une par une puis appuyez sur le bouton Cross-breed. Les images sélectionnées seront conservées et de nouvelles images seront générées à partir de celles que vous avez sélectionnées. Répétez cette opération autant de fois que vous le souhaitez jusqu’à ce que vous trouviez l’image parfaite.

De plus, le réseau neuronal apprend de vos choix et se familiarise avec la notion de beauté sur la base des données collectives qu’il recueille. Le mode Mixer comprend un réseau de neurones qui a déjà été entraîné sur les choix des utilisateurs de JetBrains. Vous pouvez les comparer avec les vôtres ou désactiver le réseau pré-entraîné en passant de « Trained by » à « Wild ».

Mode Solo

Double-cliquez sur n’importe quelle image en mode Mixer pour accéder au mode Solo, où vous aurez le contrôle sur tous les aspects de l’image concernée. Le dossier Neuro sur la droite comprend différents curseurs de défilement et cases à cocher. N’hésitez pas à tester et à expérimenter.

Vous pouvez double-cliquer sur l’image à tout moment pour revenir au mode Mixer.

Enregistrement

Lorsque vous êtes prêt à partager la combinaison d’images parfaite ou si vous souhaitez revenir à votre travail plus tard, il vous suffit d’appuyer sur le bouton Get URL. Cela génère une URL unique dans la barre d’adresse de votre navigateur, que vous pouvez utiliser pour partager votre création actuelle ou pour y revenir plus tard.

Animation de l’image Solo

Appuyez sur le bouton Animate dans le mode Solo et attendez quelques instants. Notez que l’attente peut parfois être un peu plus longue. Si c’est le cas, vous serez placé dans une file d’attente et pourrez voir quelle est votre position dans la file. Vous pouvez alors fermer l’onglet et revenir plus tard. Assurez-vous simplement d’enregistrer, puis appuyez à nouveau sur Animate pour vérifier le statut. Au final, vous obtiendrez une vidéo animée de votre image. C’est une boucle infinie comme le ruban de Möbius. Appuyez sur le bouton Back to static pour revenir à la version statique de votre image.
Vous pouvez générer une URL pour la scène animée et la partager.

Exporter la vidéo

Si vous souhaitez télécharger un fichier .mp4, c’est possible ! Le processus est vraiment très compliqué, mais cela en vaut la peine. Blague à part, en fait il vous suffit pour cela de cliquer sur le bouton Export Video !

Comme pour l’animation, il y a une file d’attente et une barre de progression, mais vous pouvez générer une URL pour enregistrer la scène pendant le processus de rendu et l’utiliser pour revenir plus tard (vous pouvez fermer l’onglet du navigateur en toute sécurité pendant votre attente).

Vous pensez avoir de la chance ?

Alors appuyez sur le bouton I feel lucky. Le caractère aléatoire non artificiel et non intelligent suggérera une combinaison de paramètres inattendus au hasard. Même des réglages aléatoires peuvent donner un résultat esthétique. Pas toujours, mais souvent

Détails techniques

Techniquement, le côté serveur est divisé en plusieurs parties :

  • Le moteur de génération d’images basé sur un réseau neuronal* conçu avec TensorFlow.
  • Le moteur de rendu vidéo qui produit des vidéos à partir des images.
  • Le stockage de la scène.
  • La file d’attente des tâches permettant de répartir les tâches exigeantes en termes de processeur et de GPU entre les composants du serveur.
  • Le mode Mixer : l’outil permettant de faire évoluer les images générées via des algorithmes génétiques.
    • Il existe également un autre réseau neuronal basé sur le mode Mixer et notre moteur de génération d’images qui agrège les préférences des utilisateurs afin de déduire quelles images ont le plus de chance d’être considérées comme belles.

*Le réseau neuronal lui-même a été créé dans Datalore by JetBrains : un notebook en ligne pour data scientists. Vous pouvez voir ici les détails de l’architecture du réseau. Vous pouvez créer votre version du notebook et expérimenter les paramètres du modèle par vous-même.

Amusez-vous avec le générateur et pensez à partager les résultats que vous obtenez sur les réseaux sociaux avec le hastag #code2art et le tag @JetBrains. Nous avons hâte de découvrir vos créations !

JetBrains
The Drive to Develop

Auteur de l’article original en anglais : Olga Andreevskikh