Publicité
Les réseaux de neurones peuvent faire beaucoup de choses. Ils peuvent interpréter des images, comprendre nos voix 6 fonctionnalités Google Now qui changeront votre façon de rechercher Vous utilisez peut-être déjà Google Now sur votre appareil Android, mais en tirez-vous tout ce que vous pouvez? Connaître ces petites fonctionnalités peut faire une grande différence. Lire la suite , et traduire des conversations Fonctionnement du traducteur Star Trek de SkypeLa nouvelle fonctionnalité de traduction de Skype offre quelque chose de rêvé depuis Star Trek - un moyen sans effort de communiquer dans toutes les langues. Lire la suite . Mais saviez-vous qu'ils peuvent aussi peindre?
Un récent document de recherche (intitulé «Un algorithme neuronal de style artistique») A lancé une vague de discussions en ligne avec des exemples visuels frappants. Essentiellement, le papier discute une technique pour former un réseau neuronal profond Microsoft vs Google - Qui mène la course à l'intelligence artificielle? Les chercheurs en intelligence artificielle font des progrès tangibles et les gens recommencent à parler sérieusement de l'IA. Les deux titans à la tête de la course à l'intelligence artificielle sont Google et Microsoft. Lire la suite pour séparer le style artistique de la structure de l'image et combiner le style d'une image avec la structure d'une autre. Le résultat de tout cela est que vous pouvez former un immense réseau de neurones pour transformer les photographies en «neurones peintures »qui semblent avoir été peintes par des artistes célèbres -« contrefaçons numériques », parler.
Voici quelques exemples de l'article. La première image est l'original. Les images ultérieures sont les résultats générés, avec la peinture à partir de laquelle le style a été échantillonné montré en miniature.

Les chercheurs originaux n'ont malheureusement pas publié leur code. Cependant, certains programmeurs intrépides ont répliqué leurs résultats au cours des derniers jours, et leur code est disponible, open source sur Internet. Tout ce dont vous avez besoin pour l'exécuter est une machine Linux et un peu de patience.
Aujourd'hui, je vais vous expliquer comment procéder et vous montrer certains de mes propres résultats. Vous pouvez penser à cela comme une suite lâche à notre Tutoriel DeepDream Créez vos propres rêves de fièvre artificielle avec le "DeepDream" de GoogleAvez-vous vu les images trippantes sortir de DeepDream? voulez vous faire le votre? Cherchez pas plus loin! Lire la suite . C'est un peu compliqué, mais n'importe qui avec une machine Linux peut suivre - aucune expérience de codage n'est requise.
J'ai transformé une peinture à la lumière Picasso en une peinture de style Picasso avec #DeepStyle! pic.twitter.com/cjkEoIhVcF
- James Blaha (@jamesblaha) 5 septembre 2015
Configuration du logiciel
Tout d'abord, si vous n'êtes pas pressé ou si vous n'avez pas de machine Linux, vous pouvez toujours jouer avec DeepStyle en utilisant le DeepForger Twitter bot (envoyez-lui une image et un style, et il finira par répondre avec les résultats que vous souhaitez). Si vous souhaitez traiter plus d'images rapidement (et avec plus de contrôle sur les résultats), lisez la suite pour le didacticiel.
Tout d'abord, assurez-vous d'avoir une copie à jour de Ubuntu (14.04 est ce que j'ai utilisé). Vous devriez avoir au moins quelques concerts supplémentaires d'espace sur le disque dur. Pour plus d'informations, consultez notre tutoriel sur Ubuntu à double démarrage aux côtés de Windows Fatigué de Windows 8? Comment double démarrage Windows et UbuntuSi vous découvrez que Windows 8 n'est pas tout à fait votre tasse de thé et que vous n'avez aucun chemin possible pour rétrograder, ce peut être une bonne idée de faire un double démarrage avec Linux pour avoir une alternative ... Lire la suite . Vous aurez également besoin de privilèges root, alors assurez-vous de le faire avant de continuer.
Outils basiques
Tout de suite, c'est un projet open-source, donc nous allons vouloir avoir Git installée. Git est le norme d'or pour le logiciel de contrôle de version Qu'est-ce que Git et pourquoi vous devriez utiliser le contrôle de version si vous êtes développeurEn tant que développeurs Web, la plupart du temps, nous avons tendance à travailler sur des sites de développement locaux, puis à tout télécharger lorsque nous avons terminé. C'est bien quand c'est juste toi et que les changements sont petits, ... Lire la suite . Presque tous les projets open source à connaître sont hébergés sur Github.
Pour télécharger et installer Git, ouvrez simplement un terminal et tapez "sudo apt-get install git
»Et accepter les demandes de l'installateur.
Ensuite: nous allons configurer des outils de base nécessaire pour faire fonctionner le logiciel.
Tout d'abord, installez Lua. Il s'agit de la langue dans laquelle l'outil est écrit. C'est assez simple. Tapez simplement "sudo apt-get install lua5.2
»Et suivez le processus d'installation.
Deuxièmement, nous allons obtenir Luarocks. C'est l'outil qui facilite l'installation d'autres outils (vous n'aimez pas Linux?). Pour celui-ci, tapez "sudo apt-get install luarocks
»Et suivez les étapes d'installation.
Troisièmement, nous allons installer Luajit. Il s'agit d'un compilateur juste à temps pour Lua qui rendra nos vies un peu plus simples. Tapez simplement "sudo apt-get install luajit
.”
Jusqu'ici tout va bien.
Je suis un bot qui crée des contrefaçons à partir de vos photos dans le style de peintres célèbres. Cliquez pour les instructions ci-dessous! pic.twitter.com/3MpThDNwRE
- The Deep Forger (@DeepForger) 5 septembre 2015
Cadres
Ensuite, nous allons installer Torche, un cadre de calcul scientifique et d'apprentissage automatique qui constitue l'épine dorsale de l'application. Malheureusement, celui-ci ne peut pas être installé à l'aide d'apt-get (le gestionnaire de paquets Ubuntu standard).
Heureusement, ils ont un programme d'installation en ligne qui utilise un peu de magie en ligne de commande. Retournez à votre terminal et entrez "curl -s https://raw.githubusercontent.com/torch/ezinstall/master/install-all | frapper
“.
Lorsque vous avez terminé, saisissez "luajit -ltorch
“. Cela fera apparaître l'interface de la torche et vérifiera que tout a été installé correctement.
Sortez de cela.
Nous allons maintenant installer loadcaffe - un package spécifique au réseau de neurones. Installez sa seule dépendance en tapant "sudo apt-get install libprotobuf-dev protobuf-compiler
“. Ensuite, vous pouvez installer le package lui-même à l'aide de "sudo luarocks installe loadcaffe "
.
@Johnicholas Votre panne de contrefaçon, avec style par l'école de Rembrandt van Rijn. #Art numérique#StyleNetpic.twitter.com/pf0sZxWkaT
- The Deep Forger (@DeepForger) 7 septembre 2015
Double vérification des dépendances
Enfin, nous allons mettre à jour de manière préventive certaines choses juste pour nous assurer que tout se passe bien.
Tapez "image d'installation de sudo luarocks
"Pour vous assurer que votre package d'images est à jour. Ensuite, saisissez "luarocks install nn
"Qui fera de même pour votre package" nn ".
Installation de Deep Style
Bien! À ce stade, nous sommes prêts à installer le logiciel lui-même. Pour des raisons de propreté, créez un nouveau dossier dans votre répertoire personnel (‘mkdir DeepStyle’). Saisissez-le ensuite à l'aide de "cd Deepstyle
“. Tapez maintenant "sudo git clone https://github.com/jcjohnson/neural-style.git".
Ensuite, nous devons télécharger le modèle. Faire une tasse de café ou quelque chose, cela prendra un certain temps. Revenez au terminal et tapez "modèles sudo sh / download_models.sh
“. Cela va démarrer un long processus de téléchargement élaboré. S'il échoue en raison d'erreurs d'autorisation, essayez de vous accorder des autorisations de lecture-écriture sur les dossiers appropriés, en utilisant chmod.
@ 44thats44oars commandé cette #ProceduralArt#NeuralArt. pic.twitter.com/tbMH7gsvc8
- The Deep Forger (@DeepForger) 6 septembre 2015
Utilisation de Deep Style
D'accord, nous sommes prêts à partir. L'utilisation du logiciel est assez simple.
Assurez-vous que vous êtes dans le Répertoire DeepStyle / style neuronal dans le terminal. Maintenant, vous allez avoir besoin d'images pour travailler. Téléchargez-les sur Internet (ou autre), puis copiez-les dans le Dossier DeepStyle / style neuronal en utilisant le navigateur de fichiers.
Vous pouvez maintenant utiliser la ligne de commande pour traiter des images individuelles. Le format est assez simple:
th neural_style.lua -style_image YOURPAINTINGHERE.jpg - content_image YOURPHOTOHERE.jpg -gpu -1
(De toute évidence, vous devrez remplacer les morceaux dans TOUS LES MAJUSCULES par les noms de vos fichiers).
Cela démarrera le réseau neuronal. Il durera environ une heure et crachera de nouvelles images partiellement convergentes toutes les quelques minutes jusqu'à la fin. le -gpu -1
flag l'empêche d'essayer d'accéder à votre GPU.
Après plusieurs heures d'essais (et de briques du système d'exploitation plusieurs fois), je n'ai pas réussi à faire fonctionner Ubuntu et CUDA avec mon GPU (un NVIDIA GTX 970). Si vous avez plus de chance avec cela, vous voudrez installer CUDA et cudann.torch (voir le github repo pour plus d'informations). Sinon, ça va - ça marchera toujours avec votre CPU; ce sera juste un peu plus lent.
Si vous rencontrez des problèmes pour que tout cela fonctionne, demandez-moi simplement dans les commentaires, et je ferai de mon mieux pour vous aider.
Résultats
Voici quelques images que j'ai générées au cours des deux derniers jours. Les résultats sont mitigés, mais beaucoup d'entre eux sont assez impressionnants.

Cliquez ici pour une résolution complète.
Celui-ci est de mon ami Zack en randonnée à Yellowstone. Le style provient d'une peinture abstraite, créée par Theresa Paden. J'étais curieux de voir comment le système ferait en utilisant une image sans aucune structure. Les résultats sont assez nets et vous pouvez certainement voir les similitudes avec l'image de style.

Cliquez ici pour une résolution complète.
Celui-ci est une gracieuseté de l'un de mes artistes préférés, Charles Demuth (voir: Encens d'une nouvelle église, et Figure 5 en or). Fait intéressant, Demuth est l'une des principales inspirations visuelles de l'art de Team Fortress 2 Team Fortress 2: le jeu Steam gratuit que vous devez jouerTeam Fortress 2 est-il juste un jeu rapide pour tester les graphismes et les performances, ou est-ce un jeu qui mérite d'être joué à plusieurs reprises? Lire la suite , comme vous pouvez le voir sur l'image de style.
Je lui ai donné une image de Jersey City que j'ai trouvée sur Wikimedia. Les résultats sont… assez bons. Il n'a pas repris l'angularité du style de Demuth, mais il a certainement repris l'aspect doux et texturé et la palette de couleurs.

Cliquez ici pour une résolution complète.
Celui-ci est une tentative de générer un O’Keeffe synthétique, en utilisant une image assez banale de quelques fleurs que j'ai trouvées. Les résultats sont franchement spectaculaires. Esthétiquement, c'est l'un de mes résultats préférés. La richesse des couleurs et des formes d’O’Keeffe transparaît clairement. Les bords en couches des pétales de fleurs deviennent les bords des feuilles en arrière-plan. Les fleurs elles-mêmes se dissolvent en couleurs, devenant presque abstraites.
Ce serait une bonne peinture si un humain le faisait. Je suis très tenté de passer quelques jours à rendre une version à plus haute résolution de celle-ci et à la cadrer.

Cliquez ici pour une résolution complète.
Voici mon amie Shannon dans son costume d'Halloween, à travers un imprimé Picasso. Fait intéressant, l'appareil a choisi de peindre la partie inférieure de son visage en blanc (similaire à la disposition des couleurs de la pièce Picasso). Je ne sais pas si c'était une coïncidence ou non, mais les résultats sont frappants. Il semble également avoir correctement identifié les cheveux de Shannon sur le côté gauche et les avoir redessinés en utilisant la couleur et le dessin des cheveux dans l'image de style. Idem pour son chapeau.
C'est l'une des pièces où les limites de la technique commencent à devenir claires. Si Picasso peignait réellement Shannon, il aurait jeté la structure de son visage et biaisé les traits pour obtenir l'effet qu'il voulait. Ce système ne comprend pas ces types de concepts de haut niveau et est capable d'imiter uniquement les aspects superficiels du style, comme les lignes sombres et angulaires et la palette de couleurs.

Cliquez ici pour une résolution complète.
Assez simple: une photo de la Tour Eiffel et celle de Van Gogh autre Nuit étoilée. Il fait un bon travail de rendu du nuage dans un style Van Gogh-ey, malgré l'absence de nuages dans l'image d'origine. Il fait également un bon travail de traduction de la scène du jour au soir.
Je ne savais pas pourquoi il a décidé de faire de la pointe de la tour Eiffel une colonne de feu. Cela a l'air cool, mais ce n'est pas vraiment justifiable à partir des données d'entrée. Puis j'ai réalisé que l'image de style comportait treize longues bandes jaunes verticales, sous la forme de reflets dans l'eau. C'est un cluster assez massif, avec si peu de données de formation. Le pauvre a probablement appris que tout bord vertical à contraste élevé doit être l'une de ces réflexions. Vous pouvez voir plus de rayures verticales étrangères dans les nuages.
Cliquez ici pour une résolution complète.
Même peinture de Van Gogh, mais cette fois, je lui ai donné de vraies étoiles à peindre. Dans ce cas, la partie piliers de la nébuleuse Eagle. J'aime les résultats - même si, une fois de plus, vous pouvez voir son obsession des rayures jaunes. Chaque partie verticale du pilier devient une ligne jaune brillante et bancale. Il est également clairement bouleversé par le vert, qui ne figurait pas dans les données d'entraînement, et fait de son mieux pour s'en débarrasser au profit du bleu et du noir.
La technologie
Certains résultats en sont extrêmement convaincants, bien que la technique présente des limites claires. Certaines images ont une composition moche, et le système a du mal avec des artistes plus abstraits comme Picasso - qui aimaient notoirement déformer son sujet, en dispersant ses caractéristiques. L'algorithme reprend ses lignes angulaires et ses couleurs conflictuelles, mais il est toujours esclave des valeurs de pixels de l'image. Il n'a pas la compréhension dont vous auriez besoin pour vous éloigner trop du matériel source.
Ce qui m'excite dans tout cela, c'est que je ne pense pas que ces limitations soient fondamentales.
L'approche utilisée ici - former un réseau sur une image et l'utiliser pour en construire une autre - est fondamentalement une sorte de hack. Cela donne au réseau très peu de données avec lesquelles travailler. Une version plus avancée de cette application utiliserait un réseau contenant des informations sur de nombreux peintures, et peut-être même de vraies images, pour lui donner beaucoup de contexte sur l'image qu'il essaie de "peindre."
Une profonde compréhension du style ne peut exister que dans un contexte plus large. Vous ne pouvez pas le dériver d'une seule image. Concevoir une architecture qui donne au système un accès à des données plus larges pourrait lui permettre d'en tirer un Compréhension «humaine» de l'image et comment les artistes représentent différents éléments du réel monde. Un tel réseau pourrait être en mesure de produire des images plus abstraites et de meilleure composition. De tels algorithmes cesseraient d'être un jouet cool (comme celui-ci) et deviendraient un moyen de produire de l'art réel et original.
Ce qui est une pensée très particulière, à certains égards.
Créer vos propres images
Si vous obtenez un résultat décevant, vous pouvez jouer un peu avec les options pour essayer d'obtenir des résultats plus convaincants. La liste complète est sur le Github. Les plus importants sont
- -content_weight -value Combien pondérer le terme de reconstruction de contenu. La valeur par défaut est 5e0.
- -style_weight -value: Combien de poids donner à l'image de style. La valeur par défaut est 1e2.
- -style_scale - valeur: La taille des correctifs d'image que le système doit analyser (la plus grande devient plus abstraite). La valeur par défaut est 1.0.
Une fois que vous aurez tout travaillé à votre satisfaction, veuillez publier vos images les plus intéressantes dans les commentaires. Je suis vraiment intéressé de voir ce que vous proposez.
Crédits image: peintre du cerveau humain via Shutterstock
Écrivain et journaliste basé dans le sud-ouest, André est assuré de rester fonctionnel jusqu'à 50 degrés Celsius et est étanche jusqu'à une profondeur de douze pieds.