Est-il possible de former un réseau neuronal pour dessiner l'image dans un certain style? (Il prend donc une image et la redessine dans un style pour lequel elle a été formée.)
Existe-t-il une technologie approuvée pour ce genre de chose? Je connais l'algorithme DeepArt. Il est bon de remplir l'image principale avec un certain motif (par exemple, une image vangoghify), mais je cherche quelque chose de différent - par exemple, faire une bande dessinée dans un certain style à partir du portrait d'entrée.
Réponses:
Il existe un article pertinent: LA Gatus, AS Ecker, M Bethge, 2015, A Neural Algorithm of Artistic Style . Citant l'abstrait,
Voici la figure 2 de cet article:
Il y a aussi une très populaire implémentation open source basé sur la torche ici qui est très facile à utiliser. Voir le lien pour plus d'exemples.
Gardez à l'esprit que les calculs sont lourds et donc le traitement d'images uniques est la portée de ce travail.
Edit: après avoir vérifié votre projet DeepArt mentionné, il semble qu'il utilise les mêmes techniques. Je ne sais pas pourquoi ce n'est pas ce que vous voulez, car le concept de transfert de style est aussi général que possible.
la source
C'est un problème assez difficile à résoudre. Vous pouvez voir ici quelques exemples sur la façon dont un style de bande dessinée, par exemple de Simpson a été appliqué à une image.
Une image de dessin animé n'a généralement pas la structure qui donne cet effet artistique . La façon la plus simple d'essayer de l'appliquer d'une manière ou d'une autre serait d'avoir un suivi de visage, puis d'essayer d'aligner deux visages, par exemple un visage de dessin animé et un visage humain, puis de l'appliquer. Cela pourrait vous mener quelque part, mais cela pourrait aussi sembler bizarre. Vous pouvez ensuite annoter des points de repère dans les images pour vous aider davantage et effectuer un enregistrement non rigide avant cela. C'est encore un peu une solution de shitmix, mais le plus proche que je puisse penser qui pourrait fonctionner pour les visages.
Éditer:
Le commentaire de @TannerSwett ajoute quelque chose à cela, il est possible d'aller sur certaines pages Web d'artistes et d'essayer de trouver leurs illustrations et d'apprendre "leur" style. Je ne pense toujours pas que cela satisfera ou fournira suffisamment de données, mais ce serait une chose intéressante à tester. Il n'y a pas de solution généralement disponible en ce moment, mais je pense que certaines personnes y travaillent, et nous verrons bientôt de meilleurs résultats.
Je pense que la voie à suivre n'est peut-être pas l'approche du réseau neuronal artistique. Il est peut-être préférable d'avoir un réseau capable de classer les objets dans une image, puis d'apprendre les correspondances entre les objets et leurs homologues de dessins animés, puis de mélanger les résultats de manière significative.
la source
Cela ne devrait pas être trop compliqué à faire. Vous n'avez pas lu l'article mentionné, voici ma recette:
Fondamentalement, cela vous permet de paramétrer le `` style '' dans votre cas, par exemple, disons à quel point le coup de pinceau doit être large ou flou. Des trucs qui dépendent du style particulier que vous essayez d'émuler.
Dans l'exemple ci-dessus, différentes faces «morphées» ou «imaginées» sont fonction des paramètres de l'espace latent. Dans l'image ci-dessous, c'est ce que vous obtenez en changeant des choses au niveau du «code».
Voici l'idée de base: image originale à gauche, version stylisée de la même image à droite:
Maintenant, en théorie, si vous entraîniez un tel modèle sur une image normale et une image stylisée comme cible et ajoutiez des circonvolutions, vous devriez pouvoir apprendre les filtres du noyau qui correspondent au type de "coups de pinceau" que l'artiste utilise. .
Bien sûr, cela signifie que vous devez avoir quelques exemples d'images dans les versions originales et stylisées. Un tel ensemble de données serait bien à faire un don à la communauté - si vous finissez par le faire, je serais très heureux de voir ce genre de travail.
Bonne chance!
L'article wiki sur les encodeurs automatiques serait un bon point de départ: https://en.wikipedia.org/wiki/Autoencoder
la source