Brevet FR3059806A1 — publié le 20180608

La présente invention concerne un procédé d'obtention d'un programme de labellisation d'images, un programme d'ordinateur et un dispositif correspondants et un système de labellisation d'images. L'invention s'applique plus particulièrement à un procédé d'obtention d'un système de labellisation d'images, comportant : - l'obtention d'un premier module de labellisation d'images ayant été entraîné par apprentissage automatique sur un ordinateur à partir d'un premier corpus d'apprentissage comportant des premières images associées à des premiers labels, de sorte que, lorsque le premier module reçoit en entrée l'une des premières images, le premier module fournisse une sortie conforme au premier label associé à cette première image dans le premier corpus d'apprentissage, - l'obtention du système de labellisation d'images de manière à ce qu'il comporte : - un premier module amont conçu pour recevoir une image à labelliser et pour fournir des premières données descriptives de l'image à labelliser, le premier module amont étant obtenu à partir d'au moins une partie du premier module, - un module aval conçu pour fournir une labellisation de l'image à labelliser à partir des premières données descriptives. Par exemple, le premier article « From generic to specific deep representations for visual recognition » de H. Azizpour, A. Razavian, J. Sullivan, A. Maki et S. Carlsson, publié en 2015 dans Computer Vision and Pattern Recognition Workshops, (CVPR-W), décrit un procédé d'apprentissage par transfert (de l'anglais « transfer-learning »). Plus précisément, cet article propose d'entraîner le réseau neuronal convolutif AlexNet à partir d'un premier corpus d'apprentissage pour obtenir un premier module de labellisation d'images. Cet article propose en outre d'utiliser la sortie de la première couche neuronale complètement connectée, qui est la sixième couche du réseau, en tant que données descriptives d'une l'image. En effet, cette couche particulière représente, selon l'article, un bon compromis lorsque la tâche finale n'est pas connue. Les données descriptives sont alors fournies en entrée d'un module aval pour réaliser son apprentissage automatique afin que le système puisse labéliser des images sur la base de labels qui peuvent être différents de ceux du premier corpus d'apprentissage. 3059806 2 Dans un deuxième article « Factors of transferability for a generic convnet representation » de H. Azizpour, A. Razavian, J. Sullivan, A. Maki, and S. Carlsson., publié en 2015 dans IEEE Transaction on Pattern Analysis and Machine Intelligence (PAMI), pages 1790-1802, les auteurs étudient l'influence du nombre de labels du 5 premier corpus d'apprentissage sur les performances du système de labellisation d'images. Pour cela, ils enlèvent certaines classes et les images correspondantes (ou bien des images au hasard). Il peut ainsi être souhaité de prévoir un procédé d'obtention d'un programme de labellisation d'images qui permette d'améliorer les performances de labellisation 10 du système de labellisation d'images. Il est donc proposé un procédé d'obtention d'un système de labellisation d'image, comportant : - l'obtention d'un premier module de labellisation d'images ayant été entraîné par apprentissage automatique sur un ordinateur à partir d'un premier 15 corpus d'apprentissage comportant des premières images associées à des premiers labels, de sorte que, lorsque le premier module reçoit en entrée l'une des premières images, le premier module fournisse une sortie conforme au premier label associé à cette première image dans le premier corpus d'apprentissage, 20 - l'obtention du système de labellisation d'images de manière à ce qu'il comporte : - un premier module amont conçu pour recevoir une image à labelliser et pour fournir des premières données descriptives de l'image à labelliser, le premier module amont étant obtenu à partir d'au moins 25 une partie du premier module, - un module aval conçu pour fournir une labellisation de l'image à labelliser à partir des premières données descriptives. le procédé comportant en outre : - l'obtention d'un deuxième corpus d'apprentissage comportant les 30 premières images associées à des deuxièmes labels en remplaçant, dans le premier corpus d'apprentissage, chacun d'au moins une partie des premiers labels par un label de remplacement, au moins deux premiers labels étant remplacés par un même label de remplacement, les deuxièmes labels comportant les labels de remplacement et les éventuels premiers labels n'ayant pas été remplacés, 3059806 3 - l'apprentissage automatique sur un ordinateur d'un deuxième module de labellisation d'images à partir du deuxième corpus d'apprentissage, de sorte que, lorsque le deuxième module reçoit en entrée l'une des premières images, le deuxième module fournisse une sortie conforme au deuxième 5 label associé à cette première image dans le deuxième corpus d'apprentissage, dans lequel le système de labellisation d'images comporte en outre un deuxième module amont conçu pour recevoir l'image à labelliser et à fournir des deuxièmes données descriptives de l'image à labelliser, le deuxième module amont étant obtenu 10 à partir d'au moins une partie du deuxième module, et dans lequel le module aval est conçu pour fournir une labellisation de l'image à labelliser à partir des premières données descriptives et des deuxièmes données descriptives. Grâce à l'invention, les premières images sont labellisées dans le deuxième 15 corpus d'apprentissage à l'aide de deuxièmes labels plus génériques que les premiers labels, puisque des images qui étaient auparavant associées à des premiers labels différents sont, dans le deuxième corpus d'apprentissage, associées à un même deuxième label. Ainsi, les premières données descriptives fournissent une représentation plus générique de l'image à labelliser que les deuxièmes données 20 descriptives. De manière surprenante, c'est en combinant les premières données descriptives « spécifiques » et les deuxièmes données descriptives « génériques » en entrée du module aval qu'un système de labellisation d'images performant peut être obtenu. De manière optionnelle, chacun du premier module et du deuxième module 25 comporte des couches de traitement successives débutant par une première couche de traitement, le premier module amont comporte une ou plusieurs couches de traitement successives du premier module et le deuxième module amont comporte une ou plusieurs couches de traitement successives du deuxième module. De manière optionnelle également, la ou les couches de traitement du premier 30 module amont comportent la première couche de traitement du premier module et la ou les couches de traitement du deuxième module amont comportent la première couche de traitement du deuxième module. De manière optionnelle également, chacun du premier module et du deuxième module comporte un réseau neuronal convolutif comportant, en tant que couches de 3059806 4 traitement successives, des couches convolutives et des couches neuronales qui suivent les couches convolutives. De manière optionnelle également, le premier module amont comporte les couches convolutives et une partie seulement des couches neuronales du premier 5 module et le deuxième module amont comporte les couches convolutives et une partie seulement des couches neuronales du deuxième module. De manière optionnelle également, l'obtention du deuxième corpus d'apprentissage comporte, pour chacun d'au moins une partie des premiers labels, la détermination, dans un arbre prédéfini de labels incluant notamment les premiers 10 labels, d'un ancêtre commun à ce premier label et à au moins un autre premier label, l'ancêtre commun déterminé étant le label de remplacement de ce premier label. De manière optionnelle également, le procédé comporte en outre l'apprentissage automatique sur un ordinateur d'au moins une partie du module aval à partir d'un troisième corpus d'apprentissage comportant des troisièmes images 15 associées à des troisièmes labels, de sorte que, lorsque le premier module amont et le deuxième module amont reçoivent en entrée l'une des troisièmes images, le module aval fournisse une sortie conforme au troisième label associé à cette troisième image dans le troisième corpus d'apprentissage, le premier module amont et le deuxième module amont restant inchangés pendant l'apprentissage. 20 De manière optionnelle également, le module aval comporte, d'une part, un premier bloc conçu pour recevoir en entrée les premières données descriptives et les deuxièmes données descriptives et pour fournir en sortie des données descriptives globales et, d'autre part, un deuxième bloc conçu pour recevoir en entrée les données descriptives globales et pour fournir en sortie une labellisation, et le procédé 25 comporte en outre : - l'apprentissage automatique sur un ordinateur du premier bloc à partir d'un quatrième corpus d'apprentissage comportant les premières images associées à des paires de labels, la paire de labels associée à chaque première image comportant le premier label associé à la première image 30 dans le premier corpus d'apprentissage et le deuxième label associé à la première image dans le deuxième corpus d'apprentissage, de sorte que, lorsque le premier module amont et le deuxième module amont reçoivent en entrée l'une des premières images, le premier bloc fournisse une sortie conforme à la paire de labels associée à cette première image dans le 3059806 5 quatrième corpus d'apprentissage, le premier module amont et le deuxième module amont restant inchangés pendant l'apprentissage, - après l'apprentissage automatique du premier bloc, l'apprentissage automatique sur un ordinateur du deuxième bloc à partir du troisième 5 corpus d'apprentissage, de sorte que, lorsque le premier étage amont et le deuxième étage amont reçoivent en entrée l'une des troisièmes images, le module aval fournisse une sortie conforme au troisième label associé à cette troisième image dans le troisième corpus d'apprentissage, le premier module amont, le deuxième module amont et le premier bloc restant 10 inchangés pendant l'apprentissage. Il est également proposé un programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions pour l'exécution des étapes d'un procédé selon l'invention, lorsque ledit programme est 15 exécuté sur un ordinateur. Il est également proposé un dispositif d'obtention d'un système de labellisation d'images, conçu pour mettre en oeuvre un procédé selon l'invention. Il est également proposé un système de labellisation d'images obtenu par un procédé selon l'invention. 20 L'invention sera mieux comprise à l'aide de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés dans lesquels - - la figure 1 illustre les étapes successives d'un procédé d'obtention d'un système de labellisation d'images, selon un premier mode de réalisation de 25 l'invention, - les figures 2 à 6 représentent schématiquement les opérations réalisées lors d'étapes du procédé de la figure 1, - la figure 7 illustre les étapes successives d'un procédé d'obtention d'un système de labellisation d'images, selon un deuxième mode de réalisation 30 de l'invention, - les figures 8 et 9 représentent schématiquement les opérations réalisées lors d'étapes du procédé de la figure 7, - la figure 10 représente schématiquement un dispositif d'obtention d'un système de labellisation d'images. 3059806 6 Dans la description qui va suivre, la labellisation d'une image comporte l'association d'un score de cette image à chacun d'une pluralité de labels prédéterminés. En outre, dans la description qui va suivre, un module peut être aussi bien un 5 module matériel, c'est-à-dire un module micro programmé ou micro câblé dans des circuits intégrés dédiés sans intervention de programme d'ordinateur, qu'un module logiciel destiné à être exécuté par une unité de traitement d'un ordinateur. Alternativement, un module peut comporter certaines parties matérielles et d'autres logicielles. 10 En référence aux figures 1 à 7, un premier procédé 100 de conception d'un système S de labellisation d'images va à présent être décrit. Au cours d'une étape 102 (illustrée sur la figure 2), un premier module de labellisation d'images M1 est obtenu. Pour cela, le premier module M1 est entraîné par apprentissage automatique 15 sur un ordinateur à partir d'un premier corpus d'apprentissage CA1 comportant des premières images Il associées à des premiers labels L1. Lors de l'apprentissage, le premier module M1 est paramétré de manière à ce que, lorsqu'il reçoit en entrée l'une des premières images Il, il fournisse en sortie une labellisation conforme au premier label L1 associé à cette première image Il dans le 20 premier corpus d'apprentissage CA1. Dans l'exemple décrit, le premier module M1 comporte des couches de traitement successives débutant par une première couche de traitement. La première couche de traitement est destinée à recevoir l'image à labelliser. La sortie de chaque couche de traitement est fournie en entrée de la couche de traitement suivante, sauf 25 pour la dernière couche de traitement qui fournit une labellisation de l'image à labelliser. Chaque couche de traitement comporte des paramètres qui sont ajustés lors de l'apprentissage. En outre, dans l'exemple décrit, le premier module M1 est un réseau neuronal convolutif. Ainsi, les premières couches de traitement sont des couches convolutives 30 CT1 (cinq dans l'exemple décrit) et les couches suivantes sont des couches neuronales CT2 complètement connectées (trois dans l'exemple décrit). Le premier corpus d'apprentissage CA1 est par exemple la base d'images ILSVRC (ImageNet Large Scale Visual Recognition Challenge) qui est elle-même extraite de la base d'images ImageNet, labellisée conformément à la hiérarchie 35 VVord N et. 3059806 7 Les labels utilisés dans les bases d'images les plus courantes, dont par exemple I LSVRC, sont généralement très spécifiques. De ce fait, les images sont très cohérentes visuellement et facilitent probablement l'apprentissage automatique. Cependant, leur utilisation conduit à l'obtention d'un premier module M1 très 5 spécialisé, ce qui rend difficile sa réutilisation pour une labellisation sur la base d'autres labels. C'est pourquoi un deuxième module de labellisation d'images M2 plus générique est obtenu comme cela sera décrit par la suite, lors de la description des étapes 104 et 106. 10 Au cours d'une étape 103 optionnelle, le premier module M1 est à nouveau entraîné, mais partiellement cette fois, par apprentissage automatique sur un ordinateur à partir d'un troisième corpus d'apprentissage CA3 comportant des troisièmes images 13 associées à des troisièmes labels L3. L'apprentissage automatique est alors réalisé selon la méthode de « réglage fin » (« fine-tuning » en 15 anglais) en ajustant seulement une partie des paramètres du premier module M1. Par exemple, seuls les paramètres d'une ou plusieurs dernières couches neuronales CT2 sont ajustés. Par exemple, seuls les paramètres de la dernière couche neuronale sont ajustés. Les paramètres des autres couches restent à leurs valeurs issues du premier apprentissage automatique du premier module M1 à partir du premier corpus 20 d'apprentissage CA1. Au cours d'une étape 104, un deuxième corpus d'apprentissage CA2 est obtenu à partir du premier corpus d'apprentissage CA1. Le deuxième corpus d'apprentissage CA2 comporte les premières images Il associées à des deuxièmes labels L2. 25 L'obtention du deuxième corpus d'apprentissage CA2 comporte le remplacement, dans le premier corpus d'apprentissage CA1, de chacun d'au moins une partie des premiers labels L1 par un label de remplacement, au moins deux premiers labels L1 étant remplacés par un même label de remplacement. Les deuxièmes labels L2 comportent les labels de remplacement et les éventuels 30 premiers labels L1 n'ayant pas été remplacés. Ainsi, toutes les premières images Il qui étaient associées, dans le premier corpus d'apprentissage CA1, à un même premier label L1 ayant été remplacé sont associées, dans le deuxième corpus d'apprentissage CA2, au label de remplacement de ce premier label L1. En outre, comme au moins deux premiers labels L1 sont remplacés par un même label de 35 remplacement, le nombre de deuxièmes labels L2 est inférieur au nombre de 3059806 8 premiers labels L1. Ainsi, les labels de remplacement sont des labels ayant un sens plus générique que les premiers labels L1 qu'ils remplacent. Par exemple, un label de remplacement pour les premiers labels « labrador » et « berger allemand » pourrait être le label « chien » ou bien le label « animal ». Ainsi les deuxièmes labels L2 sont 5 plus génériques que les premiers labels L1. Par exemple, l'obtention du deuxième corpus d'apprentissage CA2 comporte, pour chacun d'au moins une partie des premiers labels L1, la détermination, dans un arbre prédéfini de labels incluant notamment les premiers labels L1, d'un ancêtre commun à ce premier label L1 et à au moins un autre premier label L1, l'ancêtre 10 commun déterminé formant le label de remplacement de ce premier label L1. Par exemple, le deuxième corpus d'apprentissage CA2 est obtenu à l'aide de l'algorithme suivant. + un premier ensemble K1 de labels est initialisé pour contenir les premiers labels L1 et un deuxième ensemble K2 est initialisé à l'ensemble vide, 15 + répéter : - pour chaque label ci du premier ensemble K1 : - pour chaque label cj du premier ensemble K1 différent du label ci : - déterminer le plus proche ancêtre commun (de l'anglais 20 « Lowest Common Ancestor ») dans l'arbre entre le label ci et le label cj, - proposer à un utilisateur de remplacer ci par le plus proche ancêtre commun. Si l'utilisateur accepte le remplacement, ajouter le plus proche ancêtre commun dans le deuxième 25 ensemble K2, l'associer aux premières images associées au label ci et sortir de la boucle sur les cj, - si le label ci n'a pas été remplacé, ajouter le label ci au deuxième ensemble K2 en gardant ses associations aux premières images, - réduire le deuxième ensemble K2 à des labels uniques en regroupant 30 si nécessaires les premières images l associées, - si le deuxième ensemble K2 est identique au premier ensemble K1, sortir de la boucle « répéter ». Sinon, initialiser le premier ensemble K1 avec les labels du deuxième ensemble K2 et initialiser le deuxième ensemble à l'ensemble vide. 3059806 9 Par exemple encore, le deuxième corpus d'apprentissage CA2 est obtenu de manière automatique à partir du premier corpus d'apprentissage CA1 et de l'arbre, sans intervention d'un utilisateur. Par exemple, dans l'algorithme précédent, l'étape d'acceptation ou non d'un remplacement par l'utilisateur est remplacée par une étape 5 au cours de laquelle le plus proche ancêtre commun est ajouté automatiquement au deuxième ensemble K2 sur la base d'un ou plusieurs critères prédéfinis. Par exemple, le ou les critères prédéfinis comportent le critère selon lequel le plus proche ancêtre commun appartient à une liste prédéterminée de labels de l'arbre et le label ci n'y appartient pas. 10 Par exemple encore, chacun d'au moins une partie des premiers labels L1 est remplacé par le plus proche ancêtre commun de ce premier label L1 et d'au moins un autre premier label L1, ce plus proche ancêtre commun étant situé au-dessus d'un niveau prédéterminé dans l'arbre, les niveaux de l'arbre étant croissants depuis les labels feuille jusqu'au label racine. Par exemple, pour obtenir ce résultat, le ou les 15 critères prédéfinis pour l'algorithme précédent comportent le critère selon lequel le plus proche ancêtre commun est au-dessus d'un niveau prédéfini dans l'arbre et le label ci est en-dessous de ce niveau prédéfini. Par exemple encore, pour chaque premier label L1, un utilisateur se voit proposer tous les ancêtres de ce premier label L1 dans l'arbre pour sélectionner le 20 label de remplacement de ce premier label L1. Ainsi, l'obtention du deuxième corpus d'apprentissage CA2 demande très peu de travail manuel et peut être automatisé tout ou en partie. En outre, aucune obtention de nouvelles images labellisées n'est nécessaire. Ainsi, le travail fastidieux de labellisation de nouvelles images est évité. 25 Au cours d'une étape 106 (illustrée sur la figure 3), le deuxième module de labellisation d'images M2 est obtenu. Pour cela, le deuxième module M2 est entraîné par apprentissage automatique sur un ordinateur à partir du deuxième corpus d'apprentissage CA2. Lors de l'apprentissage, le deuxième module M2 est paramétré de manière à 30 ce que, lorsqu'il reçoit en entrée l'une des premières images 11, il fournisse en sortie une labellisation conforme au deuxième label L2 associé à cette première image Il dans le deuxième corpus d'apprentissage CA2. De préférence, le deuxième module M2 est également un réseau neuronal convolutif. Ainsi, les premières couches de traitement CT1 sont des couches 3059806 10 convolutives (cinq dans l'exemple décrit) et les couches suivantes sont des couches neuronales CT2 complètement connectées (trois dans l'exemple décrit). De préférence encore, le deuxième module M2 est obtenu de manière indépendante de l'apprentissage du premier module M1 réalisé à l'étape 102. Dit 5 autrement, le premier module M1 obtenu à la suite de l'étape 102 n'est pas utilisé pour obtenir le deuxième module M2 Au cours d'une étape 107 optionnelle, le deuxième module M2 est à nouveau entraîné, mais partiellement cette fois, par apprentissage automatique sur un ordinateur à partir du troisième corpus d'apprentissage CA3. L'apprentissage 10 automatique est alors réalisé selon la méthode de « réglage fin » (« fine-tuning » en anglais) en ajustant seulement une partie des paramètres du deuxième module M2. Par exemple, seuls les paramètres d'une ou plusieurs dernières couches neuronales CT2 sont ajustés. Par exemple, seuls les paramètres de la dernière couche neuronale sont ajustés. Les paramètres des autres couches restent à leurs valeurs issues du 15 premier apprentissage automatique du deuxième module M2 à partir du deuxième corpus d'apprentissage CA2. Au cours d'une étape 108, le système S est obtenu, de manière à ce qu'il comporte trois modules MAm1, MAm2 et MAv. Ces trois modules comportent, d'une part, un premier module amont MAm1 et un deuxième module amont MAm2 conçus 20 pour recevoir chacun une même image à labelliser I et pour respectivement fournir des premières données descriptives DD1 et des deuxièmes données descriptives DD2 de l'image à labelliser I et, d'autre part, un module aval MAv conçu pour recevoir les premières données descriptives DD1 et les deuxièmes données descriptives DD2 et pour fournir une labellisation L de l'image à labelliser I. 25 Le système S est par exemple obtenu sous la forme d'un programme d'ordinateur comportant des instructions implémentant les fonctions des modules décrits ci-dessus, lorsque ledit programme d'ordinateur est exécuté sur un ordinateur. Ce programme d'ordinateur pourrait tout aussi bien être divisé selon toutes les combinaisons possibles en un ou plusieurs sous-programmes. Les fonctions 30 réalisées pourraient aussi être au moins en partie micro programmées ou micro câblées dans des circuits intégrés dédiés. Ainsi, en variante, le système S pourrait être un dispositif électronique composé uniquement de circuits numériques (sans programme d'ordinateur) pour la réalisation des mêmes fonctions. L'étape 108 d'obtention du système S comporte par exemple les étapes 110 à 35 114 suivantes. 3059806 11 Au cours d'une étape 110 (illustrée sur la figure 4), le premier module amont MAm1 est obtenu à partir d'au moins une partie du premier module M1. Par exemple, le premier module amont MAm1 comporte une ou plusieurs couches de traitement CT1, CT2 successives du premier module M1, incluant de 5 préférence la première couche de traitement. Dans l'exemple décrit, le premier module amont MAm1 comporte les couches convolutives CT1 et une partie seulement des couches neuronales CT2, par exemple toutes les couches neuronales CT2 sauf la dernière. En outre, dans l'exemple décrit, le premier module amont MAm1 comporte une 10 couche de normalisation N1 placée à la suite de la dernière couche importée du premier module M1. La couche de normalisation N1 est conçue pour normaliser la sortie de la dernière couche importée du premier module M1 selon une norme vectorielle prédéfinie, par exemple selon la norme euclidienne. Ainsi, dans l'exemple décrit, la sortie normalisée de la dernière couche importée du premier module M1 15 forme les premières données descriptives DD1. Au cours d'une étape 112 (illustrée sur la figure 5), le deuxième module amont MAm2 est obtenu à partir d'au moins une partie du deuxième module M2. Par exemple, le deuxième module amont MAm2 comporte une ou plusieurs couches de traitement CT1, CT2 successives du deuxième module M2, incluant de 20 préférence la première couche de traitement. Dans l'exemple décrit, le deuxième module amont MAm2 comporte les couches convolutives CT1 et une partie seulement des couches neuronales CT2, par exemple toutes les couches neuronales CT2 sauf la dernière. En outre, dans l'exemple décrit, le deuxième module amont MAm2 comporte 25 une couche de normalisation N2 placée à la suite de la dernière couche importée du deuxième module M2. La couche de normalisation N2 est conçue pour normaliser la sortie de la dernière couche importée du deuxième module M2 selon une norme vectorielle prédéfinie, par exemple selon la norme euclidienne. Ainsi, dans l'exemple décrit, la sortie normalisée de la dernière couche importée du deuxième module M2 30 forme les deuxièmes données descriptives DD2. Ainsi, les premières données descriptives DD1 sont complétées des deuxièmes données descriptives DD2 qui permettent de décrire l'image à un niveau plus générique que les premières données descriptives DD1 seules. Cela permet, comme cela sera décrit par la suite, une réutilisation efficace de l'apprentissage 3059806 12 automatique réalisé à partir du premier corpus d'apprentissage CA1 pour labelliser des images selon de nouveaux labels. Au cours d'une étape 114 (illustrée sur la figure 6), le module aval MAv est obtenu. 5 Dans l'exemple décrit, le module aval MAv est entraîné par apprentissage automatique sur un ordinateur à partir du troisième corpus d'apprentissage CA3. Lors de l'apprentissage, le module aval MAv est paramétré de manière à ce que, lorsque le premier module amont MAm1 et le deuxième module amont MAm2 reçoivent en entrée l'une des troisièmes images 13, le module aval MAv fournisse en 10 sortie une labellisation conforme au troisième label L3 associé à cette troisième image 13 dans le troisième corpus d'apprentissage CA3. Lors de l'apprentissage, le premier module amont MAm1 et le deuxième module amont MAm2 restent inchangés. Dans l'exemple décrit, le module aval MAv comporte un réseau neuronal, par exemple comportant trois couches de neurones. 15 Le nombre de troisièmes images 13 peut être largement inférieur au nombre de premières images Par exemple, le nombre de troisièmes images 13 peut être égal ou inférieur à 10% du nombre de premières images 11. En outre, les troisièmes images 13 peuvent représenter des choses complètement différentes des premières images 1 , et les troisièmes labels L3 peuvent être différents des premiers labels L1 et 20 des deuxièmes labels L2. Cependant, grâce à la présence des deuxièmes données descriptives DD2, il a été trouvé que le système de labellisation d'images S ainsi obtenu donnait de bons résultats pour labelliser des images selon les troisièmes labels L3, en tout cas des résultats souvent meilleurs qu'en utilisant les premières données descriptives DD1 seules. 25 En référence aux figures 7 à 9, un deuxième procédé 700 d'obtention d'un programme de labellisation d'images P va à présent être décrit. Le procédé 700 est identique au procédé 100 si ce n'est pour les différences qui vont à présent être décrites. Dans l'exemple décrit, le module aval MAv comporte, d'une part, un premier 30 bloc B1 conçu pour recevoir en entrée les premières données descriptives DD1 et les deuxièmes données descriptives DD2 et pour fournir en sortie des données descriptives globales DDG combinant dans l'exemple décrit les premières données descriptives DD1 et les deuxièmes données descriptives DD2 et, d'autre part, un deuxième bloc B2 conçu pour recevoir en entrée les données descriptives globales 3059806 13 DDG et pour fournir en sortie une labellisation à partir de ces données descriptives globales DDG. En outre, dans l'exemple décrit, l'étape 114 d'obtention du module aval MAv comporte les étapes 702 et 704 suivantes. 5 Au cours d'une étape 702 (illustrée sur la figure 8), le premier bloc B1 est entraîné par apprentissage automatique sur un ordinateur à partir d'un quatrième corpus d'apprentissage CA4 comportant les premières images Il associées à des paires de labels L1, L2. La paire de labels L1, L2 de chaque première image 11 comporte le premier label L1 associé à la première image Il dans le premier corpus 10 d'apprentissage CA1 et le deuxième label L2 associé à la première image Il dans le deuxième corpus d'apprentissage CA2. Lors de l'apprentissage, le premier bloc B1 est paramétré de manière à ce que, lorsque le premier module amont MAm1 et le deuxième module amont MAm2 reçoivent en entrée l'une des premières images 11, le premier bloc B1 fournisse en 15 sortie une double labellisation (correspondant dans l'exemple décrit aux données descriptives globales DDG) conforme à la paire de labels L1, L2 associée à cette première image Il dans le quatrième corpus d'apprentissage CA4. Lors de l'apprentissage, le premier module amont MAm1 et le deuxième module amont MAm2 restent inchangés. 20 Dans l'exemple décrit, le premier bloc B1 est un réseau neuronal, par exemple comportant trois couches de neurones. Au cours d'une étape 704 (illustrée sur la figure 9), le deuxième bloc B2 est entraîné par apprentissage automatique sur un ordinateur à partir du troisième corpus d'apprentissage CA3. 25 Lors de l'apprentissage, le deuxième bloc B2 est paramétré de manière à ce que, lorsque le premier module amont MAm1 et le deuxième module amont MAm2 reçoivent en entrée l'une des troisièmes images 13, le deuxième bloc B2 fournisse en sortie une labellisation conforme au troisième label L3 associé à cette troisième image 13 dans le troisième corpus d'apprentissage CA3. Lors de l'apprentissage, le premier 30 module amont MAm1, le deuxième module amont MAm2 et le premier bloc B1 restent inchangés. Dans l'exemple décrit, le deuxième bloc B2 est un réseau neuronal, par exemple comportant trois couches de neurones. En référence à la figure 10, un dispositif 1000 d'obtention d'un système de 35 labellisation d'images S va à présent être décrit. 3059806 14 Le dispositif 1000 comporte par exemple un ordinateur comportant une unité de traitement 1002 (comportant par exemple un ou plusieurs processeurs) et une mémoire 1004 (comportant par exemple une mémoire RAM) pour le stockage de fichiers de données et de programmes d'ordinateurs. La mémoire 1004 comporte en 5 particulier un programme 1006 comprenant des instructions pour la réalisation d'une partie ou de toutes les étapes d'un procédé d'obtention d'un système de labellisation d'images S tel que décrit précédemment, lorsque ledit programme 1006 est exécuté sur l'ordinateur par l'unité de traitement 1002. Le programme 1006 pourrait tout aussi bien être divisé selon toutes les 10 combinaisons possibles en un ou plusieurs sous-programmes. Les étapes réalisées pourraient aussi être au moins en partie micro programmées ou micro câblées dans des circuits intégrés dédiés. Ainsi, en variante, l'ordinateur mettant en oeuvre l'unité de traitement 1002 pourrait être remplacé par un dispositif électronique composé uniquement de circuits numériques (sans programme d'ordinateur) pour la réalisation 15 des mêmes étapes. Il apparaît clairement que les procédés décrits ci-dessus permettent d'obtenir un système de labellisation d'images utilisant au moins une partie d'un premier module de labellisation d'images entraîné à partir de labels « spécifiques », et au moins une partie d'un deuxième module de labellisation d'images entraîné à partir de 20 labels « génériques », ce qui permet d'obtenir une bonne performance de labellisation. On notera par ailleurs que l'invention n'est pas limitée aux modes de réalisation décrits précédemment. Il apparaîtra en effet à l'homme de l'art que diverses modifications peuvent être apportées aux modes de réalisation décrits ci- 25 dessus, à la lumière de l'enseignement qui vient de lui être divulgué. Dans les revendications qui suivent, les termes utilisés ne doivent pas être interprétés comme limitant les revendications aux modes de réalisation exposés dans la présente description, mais doivent être interprétés pour y inclure tous les équivalents que les revendications visent à couvrir du fait de leur formulation et dont la prévision est à la 30 portée de l'homme de l'art en appliquant ses connaissances générales à la mise en oeuvre de l'enseignement qui vient de lui être divulgué. REVENDICATIONS1. Procédé (100 ; 700) d'obtention d'un système (S) de labellisation d'images, comportant : - l'obtention d'un premier module (M1) de labellisation d'images ayant été entraîné par apprentissage automatique sur un ordinateur à partir d'un premier corpus d'apprentissage (CA1) comportant des premières images (I1) associées à des premiers labels (L1), de sorte que, lorsque le premier module (M1) reçoit en entrée l'une des premières images (I1), le premier module (M1) fournisse une sortie conforme au premier label (L1) associé à cette première image (I1) dans le premier corpus d'apprentissage (CA1), - l'obtention (116) du système (S) de labellisation d'images de manière à ce qu'il comporte : - un premier module amont (MAm1) conçu pour recevoir une image à labelliser (I) et pour fournir des premières données descriptives (DD1) de l'image à labelliser (I), le premier module amont (MAm1) étant obtenu à partir d'au moins une partie du premier module (M1), - un module aval (MAv) conçu pour fournir une labellisation (L) de l'image à labelliser (I) à partir des premières données descriptives (DD1), le procédé étant caractérisé en ce qu'il comporte en outre : - l'obtention (104) d'un deuxième corpus d'apprentissage (CA2) comportant les premières images (I1) associées à des deuxièmes labels (L2) en remplaçant, dans le premier corpus d'apprentissage (CA1), chacun d'au moins une partie des premiers labels (L1) par un label de remplacement, au moins deux premiers labels (L1) étant remplacés par un même label de remplacement, les deuxièmes labels (L2) comportant les labels de remplacement et les éventuels premiers labels (L1) n'ayant pas été remplacés, - l'apprentissage automatique sur un ordinateur d'un deuxième module de labellisation d'images (M2) à partir du deuxième corpus d'apprentissage (CA2), de sorte que, lorsque le deuxième module (M2) reçoit en entrée l'une des premières images (11), le deuxième 3059806 16 module (M2) fournisse une sortie conforme au deuxième label (L2) associé à cette première image (Ii) dans le deuxième corpus d'apprentissage (CA2), en ce que le système (S) de labellisation d'images comporte en outre un deuxième 5 module amont (MAm2) conçu pour recevoir l'image à labelliser (I) et pour fournir des deuxièmes données descriptives (DD2) de l'image à labelliser(I), le deuxième module amont (MAm2) étant obtenu à partir d'au moins une partie du deuxième module (M2), et en ce que le module aval (MAv) est conçu pour fournir une labellisation (L) de l'image à labelliser (I) à partir des premières données descriptives (DD1) et des 10 deuxièmes données descriptives (DD2). 2. Procédé (100 ; 700) selon la revendication 1, dans lequel chacun du premier module (M1) et du deuxième module (M2) comporte des couches de traitement (CT1, CT2) successives débutant par une première couche de traitement, dans lequel le premier module amont (MAm1) comporte une ou plusieurs couches de 15 traitement (CT1, CT2) successives du premier module (M1) et dans lequel le deuxième module amont (MAm2) comporte une ou plusieurs couches de traitement (CT1, CT2) successives du deuxième module (M2). 3. Procédé (100 ; 700) selon la revendication 2, dans lequel la ou les couches de traitement du premier module amont (MAm1) comportent la première 20 couche de traitement du premier module (M1) et dans lequel la ou les couches de traitement du deuxième module amont (MAm2) comportent la première couche de traitement du deuxième module (M2). 4. Procédé (100 ; 700) selon la revendication 2 ou 3, dans lequel chacun du premier module (M1) et du deuxième module (M2) comporte un réseau neuronal 25 convolutif comportant, en tant que couches de traitement successives, des couches convolutives (CT1) et des couches neuronales (CT2) qui suivent les couches convolutives (CT1). 5. Procédé (100) selon la revendication 4, dans lequel le premier module amont (MAm1) comporte les couches convolutives (CT1) et une partie seulement des 30 couches neuronales (CT2) du premier module (M1) et dans lequel le deuxième module amont (MAm2) comporte les couches convolutives (CT1) et une partie seulement des couches neuronales (CT2) du deuxième module (M2). 6. Procédé (100, 700) selon l'une quelconque des revendications 1 à 5, dans lequel l'obtention (104) du deuxième corpus d'apprentissage (CA2) comporte, 35 pour chacun d'au moins une partie des premiers labels (L1), la détermination, dans un 3059806 17 arbre prédéfini de labels incluant notamment les premiers labels (L1), d'un ancêtre commun à ce premier label (L1) et à au moins un autre premier label (L1), l'ancêtre commun déterminé étant le label de remplacement de ce premier label (L1). 7. Procédé (100 ; 700) selon l'une quelconque des revendications 1 à 6, 5 comportant en outre l'apprentissage automatique sur un ordinateur d'au moins une partie du module aval (MAv) à partir d'un troisième corpus d'apprentissage (CA3) comportant des troisièmes images (13) associées à des troisièmes labels (L3), de sorte que, lorsque le premier module amont (MAm1) et le deuxième module amont (MAm2) reçoivent en entrée l'une des troisièmes images (13), le module aval (MAv) fournisse 10 une sortie conforme au troisième label (L3) associé à cette troisième image (13) dans le troisième corpus d'apprentissage (CA3), le premier module amont (MAm1) et le deuxième module amont (MAm2) restant inchangés pendant l'apprentissage. 8. Procédé (700) selon la revendication 7, dans lequel le module aval (MAv) comporte, d'une part, un premier bloc (B1) conçu pour recevoir en entrée les 15 premières données descriptives (DDG) et les deuxièmes données descriptives (DD2) et pour fournir en sortie des données descriptives globales (DDG) et, d'autre part, un deuxième bloc (B2) conçu pour recevoir en entrée les données descriptives globales (DDG) et pour fournir en sortie une labellisation (L) et comportant en outre : l'apprentissage automatique sur un ordinateur du premier bloc (B1) à 20 partir d'un quatrième corpus d'apprentissage (CA4) comportant les premières images (11) associées à des paires de labels (L1, L2), la paire de labels (L1, L2) associée à chaque première image (11) comportant le premier label (L1) associé à la première image (11) dans le premier corpus d'apprentissage (CA1) et le deuxième label (L2) 25 associé à la première image (11) dans le deuxième corpus d'apprentissage (CA2), de sorte que, lorsque le premier module amont (MAm1) et le deuxième module amont (MAm2) reçoivent en entrée l'une des premières images (11), le premier bloc (B1) fournisse une sortie conforme à la paire de labels (L1, L2) associée à cette 30 première image (11) dans le quatrième corpus d'apprentissage (CA4), le premier module amont (MAm1) et le deuxième module amont (MAm2) restant inchangés pendant l'apprentissage, après l'apprentissage automatique du premier bloc (B1), l'apprentissage automatique sur un ordinateur du deuxième bloc (B2) 35 à partir du troisième corpus d'apprentissage (CA3), de sorte que, 3059806 18 lorsque le premier étage amont (MAm1) et le deuxième étage amont (MAm2) reçoivent en entrée l'une des troisièmes images (13), le module aval (MAv) fournisse une sortie conforme au troisième label (L3) associé à cette troisième image (13) dans le troisième corpus 5 d'apprentissage (CA3), le premier module amont (MAm1) , le deuxième module amont (MAm2) et le premier bloc (B1) restant inchangés pendant l'apprentissage. 9. Programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable 10 par un processeur, caractérisé en ce qu'il comprend des instructions pour l'exécution des étapes d'un procédé selon l'une quelconque des revendications 1 à 8, lorsque ledit programme est exécuté sur un ordinateur. 10. Dispositif (1000) d'obtention d'un système (S) de labellisation d'images, conçu pour mettre en oeuvre un procédé selon l'une quelconque des revendications 1 15 à 8. 11. Système (S) de labellisation d'images obtenu par un procédé selon l'une quelconque des revendications 1 à 8.