Apprentissage en profondeur pour déterminer le style et le genre des peintures

Bonjour, Habr!


Aujourd'hui, je veux parler de la deuxième partie du projet de service pour l'identification et la classification des œuvres d'art. Permettez-moi de vous rappeler que nous avons résolu deux tâches principales:


  1. rechercher une image dans la base de données à partir d'une photo prise par un téléphone mobile;
  2. détermination du style et du genre d'une image qui n'est pas dans la base de données.

Aujourd'hui, nous considérerons l'utilisation d'un réseau neuronal convolutif pour classer les images par style et genre.



Aider Dasha à comprendre l'art contemporain?


Déterminer le style des peintures


Sur les près de 250 000 tableaux de la base de données Arthive, moins de 20% se voient attribuer un genre, un style ou une technique, souvent les classes affichées dans la base de données ne correspondent pas aux vraies valeurs, de nombreuses classes contenant trop peu d'images. Il semble qu'il existe même des classes contenant des unités d'images. Apparemment, certains auteurs jugent nécessaire de créer un nom pour leur propre style.

Au total, environ 75 styles ont été attribués dans la base de données, cependant, pour notre travail, le client a sélectionné 27 styles obligatoires (auxquels un autre a été ajouté par la suite), que le système doit reconnaître.

Pour eux, la répartition du remplissage s'est avérée très inégale.


Le styleqtéLe styleqté
Réalisme19594Primitivisme1234
Impressionnisme15864Art déco1092
Romantisme8963Renaissance nordique921
Baroque7726Cubisme902
Moderne4882Académisme707
Surréalisme4793Gothique608
Renaissance4709Modernisme539
Expressionnisme4329Réalisme socialiste481
Symbolisme4321Pop art475
Post-impressionnisme3951Pointillisme275
Art abstrait3664Fauvisme217
Ukiyo-e3136Vanguard174
Classicisme1730Hyperréalisme13
Rococo1600Fantaisie8
Total96908

Tous les styles
Le styleqtéLe styleqtéLe styleqté
Réalisme19594Pop art475Décorisme66
Impressionnisme15864Biedermeier471Minimalisme66
Romantisme8963Réalisme fantastique386Sentimentalisme66
Baroque7726Expressionnisme abstrait358Cloisonisme60
Moderne4882Nabis339Peinture métaphysique56
Surréalisme4793Pointillisme275Machiaioli52
Renaissance4709Suprématisme273Orphisme51
Expressionnisme4329Préraphaélites252Dada50
Symbolisme4321Réalisme magique248Néo-impressionnisme49
Post-impressionnisme3951Début de la Renaissance232Luminisme41
Art abstrait3664Néo-expressionnisme230Proto-renaissance39
L'âge d'or de la Hollande3292Fauvisme217Plantanisme37
Ukiyo-e3136Postmodernisme192Tenebrizm35
Classicisme1730Vanguard174Impressionnisme abstrait34
Rococo1600Art contemporain149Conceptualisme29
Primitivisme1234Précision138Japonisme24
Art déco1092Cubofuturisme108Postmoderne24
Renaissance nordique921Constructivisme104Luchisme24
Cubisme902Tonalisme103Byzantin20
Académisme707Orphisme94Réalisme romantique19
Gothique608Régionalisme93Hyperréalisme13
Néoclassicisme601Réalisme analytique89Verism11
Maniérisme544Naturalisme73Néo-primitivisme10
Modernisme539Néo-modernisme70Fantaisie8
Réalisme socialiste481Futurisme67Métaréalisme7
Total106284


Nous sommes confrontés à la tâche de classer les images, mais nous ne pouvons sélectionner aucune fonctionnalité simple manuellement. Par conséquent, nous utiliserons l'apprentissage automatique approfondi, dans lequel de telles fonctionnalités complexes sont automatiquement identifiées dans le processus d'apprentissage.



Transfert d'apprentissage


Considérez le réseau v3 de création.



Architecture générale avec sorties intermédiaires

Dans son architecture (et dans tout autre réseau profond), deux composants principaux peuvent être distingués conditionnellement - Feature Extractor et Predictor.

L’extracteur d’entités mappe l’image couleur en entrée dans un espace d’entités multidimensionnel (carte d’entités multicanaux). La carte d'entités stocke des informations spatiales - c'est-à-dire qu'il s'agit d'un tenseur tridimensionnel avec des dimensions pour la largeur, la hauteur et le nombre de canaux d'entités; le regroupement final n'a pas encore été appliqué ici, ce qui éliminera complètement les informations sur la position relative des entités dans l'image d'origine. Le réseau Inception v3 Feature Extractor reçoit 299 images d'entrée  fois299  fois3, et à la sortie forme une carte de signes de taille 17  fois17  fois2048. La taille d'entrée peut être modifiée, ce qui entraînera des changements dans la taille de la carte d'entités et peut être utile pour réduire les coûts de calcul lorsque vous travaillez avec le réseau.

Predictor est un réseau qui génère une sortie basée sur une carte d'entités générée par Feature Extractor. En règle générale, pour la tâche de classification, Predictor est une couche de neurones entièrement connectée, dont le nombre de sorties coïncide avec le nombre de classes du problème.

L'apprentissage par transfert classique suppose que nous prenions un réseau formé, que nous en séparions l'extracteur de fonctionnalités et le complétions par un nouveau prédicteur avec le nombre de classes dont nous avons besoin. Le réseau résultant est entraîné à faible vitesse avec des poids partiellement ou complètement figés de couches d'extracteur d'entités.


Nous appliquons l'apprentissage par transfert pour classer les styles. Prenez le réseau Inception-v3 formé sur un ensemble de données imagenet et remplacez-y la couche de sortie des neurones, qui classe les images d'entrée dans le nombre de styles sélectionnés. Nous avons formé le réseau sur des images de styles différents, gelant la formation de toutes les couches sauf la dernière.


Pour l'analyse des données, nous avons affiché la distribution de l'ensemble de validation par classe.



Chaque ligne correspond à une classe de l'ensemble de validation. La luminosité des carrés de la ligne est proportionnelle au nombre d'images qui entrent dans la classe correspondant à la colonne.

Pour une meilleure clarté, nous excluons la diagonale principale et re-normalisons les valeurs de chaque ligne.



De plus, nous essaierons de mapper la distribution des styles à l'espace bidimensionnel en utilisant TSNE.


On peut voir que de nombreuses erreurs sont observées, par exemple, dans la classification des peintures dans le style du fauvisme - une partie significative d'entre elles se réfère à l'expressionnisme par le réseau. La Renaissance du Nord et le gothique sont souvent appelés réveil. De nombreuses images du style rococo et du classicisme se rapportent au réalisme. Le modernisme et la modernité tombent généralement dans de nombreux styles.


Après avoir jeté un script simple qui a analysé la base de données de formation dans des dossiers conformément au style défini par le réseau, nous avons effectué une analyse rapide des erreurs. Il s'est avéré que le balisage de la base de données soulève au moins des questions.

De nombreuses images dans le style du modernisme (qui, bien qu'il ait été marqué par le client comme obligatoire, mais en général ce n'est pas un style, plutôt une tendance dans l'art dans son ensemble) ont en fait été reproduites dans d'autres styles, en particulier dans le modernisme (mais c'est déjà un style).


Dans le style du réalisme socialiste, des images abstraites étaient présentes, par exemple, les œuvres de Lissitzky. Très probablement, ils y sont arrivés grâce au travail de Lissitzky sur l'affiche soviétique, qui a une relation très indirecte avec le réalisme socialiste.


À bien des égards, ce sont vraiment des erreurs, mais parfois la raison en est la possibilité de débattre de la mise en évidence de certains styles, en particulier modernes. Il convient de considérer que la base de données est remplie de divers utilisateurs, et parmi eux, parfois, il n'y a pas de consensus.

Des erreurs dans les données entraînent des erreurs correspondantes dans la classification des images par le réseau. Au cours du nettoyage de la base, par nous et par le critique d'art expert du client, le balisage de l'échantillon de formation a été considérablement amélioré.


Cependant, la majeure partie des erreurs de classification par le réseau (au total) se réfère à des styles plus ou moins bien établis, tels que le rococo, le classicisme, le réalisme. L'attribution d'œuvres à ces styles, en règle générale, se fait sur la base d'une époque ou de la paternité et, semble-t-il, ne provoque pas de doutes ni de disputes. Pourquoi le réseau est-il incapable de distinguer leur style? La raison principale réside dans l'utilisation d'un réseau pré-formé pour extraire les traits.


Le fait est que ce réseau a été formé pour classer les objets, déterminer exactement ce qui est représenté, tout en rejetant les informations qui ne sont pas essentielles pour la tâche sur la façon dont il est représenté. Par exemple, du point de vue du réseau, dans toutes les images au début de l'article, en général, une personne est représentée.


Pour résoudre ce problème, nous avons créé un réseau avec des sorties intermédiaires - on pense que les signes deviennent plus difficiles à mesure qu'ils se déplacent le long du réseau, et les informations non essentielles disparaissent progressivement. Essayons d'extraire des couches intermédiaires ce qui n'était pas essentiel pour la classification de imagenet.



Architecture générale avec sorties intermédiaires

Il y a un autre problème - graphiques, impressions, croquis. Dans imagenet, sur lequel le réseau de démarrage a été pré-formé, il n'y a tout simplement rien de tel, respectivement, et les fonctionnalités mises en évidence par le réseau ne conviennent pas pour classer de telles images.







Réalisme, impressionnisme.

Camille Carot, Hagar et l'ange

Baroque
Rembrandt Harmenszoon Van Rijn, Agar et l'ange


D'autre part, les peintures dans le style d' Ukiyo-e , une sorte de gravure qui s'est répandue au Japon depuis le XVIIe siècle, sont joliment accrochées dans un nuage séparé. Bien qu'au départ ils ne figuraient pas sur notre liste obligatoire, nous les y avons ajoutés.



Champs de riz d'Asakusa et festival de Torinomachi


Après avoir travaillé avec les données, une meilleure répartition entre les classes a été obtenue.


Nous traitons des genres


Sur le nombre total de genres, 13 ont été sélectionnés (mis en évidence en gras)


Genreqté
Scène allégorique2500
Portrait2308
Le paysage2213
Fantaisie2191
Scène littéraire2096
Paysage de la ville2048
Nu1981
Nature morte1932
Scène de genre1736
Animalisme1587
Scène religieuse1417
Scène mythologique1368
Marina1210
L'architecture958
L'intérieur635
Scène historique534
Scène de bataille201
Zakli180
Veduta124
Paysage urbain16
Total27235

Fondamentalement, la réduction du nombre de genres a été obtenue en réduisant les genres de scènes diverses - "religieuses", "mythologiques", "allégoriques", "littéraires" et en les combinant sous le nom général de "scène de genre". Nous sommes arrivés à la conclusion que la séparation de ces genres ne peut guère être effectuée avec une précision suffisante sans une analyse culturelle significative.

Par exemple, pour une scène allégorique, par définition, il est supposé qu'il y a un sens caché dans l'image, l'utilisation de significations figuratives dans les objets représentés. Il y a aussi une difficulté avec la «scène religieuse»: il est très probable qu'un réseau formé pour animer une telle classe les appellera également des images caricaturales (par exemple, parodiant la Cène de Da Vinci), et cela peut offenser quelqu'un .


Le balisage des données par genre semble initialement bon, sauf pour plusieurs genres pour lesquels il y a peu d'images dans la base de données. En recherchant sur Internet, nous avons pu augmenter légèrement le nombre d'images dans les genres (principalement la scène de bataille, les hérons et les vedutas).
Après avoir combiné des genres difficiles en une «scène de genre» commune, nous avons immédiatement essayé de former le réseau «au front» en utilisant la création de réseaux d'apprentissage par transfert.


Genres, Résultat 1


On voit que les points correspondant à des images de genres différents sont mélangés. Pour ces images, le réseau donne des valeurs élevées des probabilités d'appartenir à plusieurs genres à la fois, et le genre avec la plus forte probabilité est déterminé presque par accident. La raison en est apparemment que les genres, contrairement aux styles, ont une hiérarchie plus prononcée. Nous avons essayé de comprendre ces connexions, nous avons obtenu une telle carte des genres:



Hiérarchie des genres


Les genres de hiérarchie subsidiaire et parentale ont souvent des caractéristiques communes du point de vue du réseau (et de notre point de vue aussi). Par exemple, la scène de bataille sur terre dans son ensemble a les mêmes caractéristiques que le paysage habituel - l'image d'une grande zone ouverte ou d'une ville, et la scène de bataille sur la mer ressemble plus au genre de la marina. Par conséquent, nous avons divisé le genre de la scène de bataille en deux - sur terre et en mer. Autre exemple: les portraits, une scène de genre et des images de nu du point de vue d'un réseau pré-formé ont tous un signe commun - la présence de personnes.


Dans la base de données, les images de contenu similaire se réfèrent souvent à l'enfant ou au genre parent, selon l'endroit où cela a été déterminé par l'expert qui a apporté les images à la base de données. À cet égard, un nettoyage et une re-partitionnement à grande échelle de la base ont été effectués en tenant compte de la hiérarchie possible des genres, ce qui a demandé beaucoup d'efforts (nous avons réussi à l'automatiser, mais pas beaucoup).


Afin de transférer la hiérarchie des genres sur le réseau, nous avons abandonné la soumission unique et défini l'unité pour les images non seulement dans un genre, mais aussi dans son parent, le cas échéant, et avons également remplacé la fonction cible du processus d'apprentissage et la fonction d'activation de la couche de sortie . Ainsi, la tâche est devenue la classification multi-étiquettes (l'image d'entrée peut appartenir à plusieurs classes).



Il nous semble qu'un autre genre manque ici: l'abstraction. À proprement parler, ce n'est pas tout à fait un genre. Au moins, les experts ont insisté sur le fait qu'il n'y avait pas un tel genre. Afin d'empêcher le réseau de donner des réponses aléatoires aux images abstraites, une autre a été ajoutée à la répartition générale des genres sous le nom «n'a pas pu être déterminée», y compris les images abstraites et controversées.


Au lieu d'une conclusion


En général, il a été possible d'obtenir une précision satisfaisante dans la classification des styles et des genres d'images, mais il y a beaucoup à améliorer.


Malheureusement, la classification des styles et des techniques n'a pas été finalisée - le support n'a pas été implémenté dans le service.

Source: https://habr.com/ru/post/fr422357/


All Articles