FR 3089332 A1 20200605 FR 1872045 A 20181129 Description Titre de l'invention : Dispositif et procédé de super-résolution [0001] L'invention concerne le domaine de la production d'images à haute résolution et porte sur un dispositif et un procédé de conversion d'images basse résolution en images haute résolution. Autrement dit, l'invention concerne le problème de la super-résolution qui consiste à augmenter la résolution d'une image. L'invention concerne également le domaine des réseaux de neurones artificiels et l'optimisation de tels réseaux de neurones via des méthodes d'apprentissage dans le but de résoudre le problème de la super-résolution. [0002] Dans le domaine général du traitement d'images, le problème de la super-résolution concerne la reconstruction de détails dans une image acquise à une résolution donnée basse afin de générer une version de cette image à une résolution plus élevée. [0003] Une approche possible pour résoudre le problème (le la super-résolution consiste à utiliser l'intelligence artificielle et. plus précisément les réseaux de neurones artificiels ou les méthodes d'apprentissage de tels réseaux. [0004] L'article scientifique "Generative Adversarial Networks, I. Goodfellow et al. Advances in Neural Information Processing Systems 27, 2014" décrit le principe de réseaux de neurones artificiels dits antagonistes génératifs ou « Generative Adversarial Networks » en anglais. Ce type de réseau comporte deux sous-réseaux. Un premier sous-réseau, dit générateur, a pour fonction de générer un échantillon (par exemple une image) à partir d'une donnée de référence. Un second sous-réseau, dit discriminateur, a pour fonction de discriminer un échantillon comme étant une donnée de référence ou un échantillon généré par le premier sous-réseau. Les deux sous-réseaux sont optimisés par apprentissage non-supervisé. Appliqué au domaine de la super-résolution, ils permettent de générer des images à haute résolution à partir d'images basse résolution. Cependant, un inconvénient de ces réseaux est que le critère d'optimisation utilisé est une comparaison directe entre une image de référence et une image reconstruite. Ce type de critère n'est pas suffisamment précis pour apprendre à reconstruire des images de n'importe quel type. En effet, le critère d'optimisation est basé sur une distance du type norme L2 (ou erreur quadratique) entre les pixels respectifs de l'image de référence et de l'image reconstruite. Ce type de critère constitue une comparaison dans le domaine des images. Il n'est pas satisfaisant car il induit des effets de flou sur les images reconstruites. Cela est notamment démontré dans les articles « Photo-realistic single image super-resolution using a generative adversarial network, C. Ledig et arXiv preprint » et « A modified psnr metric hased on hvs for quality assessment of color images, P.Gupta et al, Communication and industrial application (ICCIA) [0005] L'article scientifique" Photo-realistic single image super-resolution using a gc- 2 nerative adversarial network, C. Ledig et al, computer vision and pattern recognition, 2017 " propose une amélioration du principe décrit dans l'article précédent. Le sous-réseau discriminatcur est optimisé par apprentissage pour classifier un ensemble d'images de référence issues d'un set d'images donné, en fonction de leur contenu. Un autre réseau de neurones est utilisé pour apprendre des caractéristiques relatives aux images haute résolution. L'apprentissage de ces caractéristiques est effectué sur un ensemble limité d'images de références issues d'une hase de données d'images appelée imageNet. Ces caractéristiques sont ensuite utilisées pour calculer le critère d'erreur du sous-réseau générateur, toujours en utilisant un calcul d'erreur utilisant la norme L2. Autrement dit, l'erreur entre l'image générée par le sous-réseau générateur et l'image d'origine est calculée dans le domaine des caractéristiques extraites par apprentissage sur la hase de données ImageNet et non plus directement dans le domaine des images. [0006] L'invention propose d'améliorer encore la technique décrite dans l'article précité par une optimisation différente du sous-réseau discriminateur et un fonctionnement conjoint du sous-réseau discriminatcur et du sous-réseau générateur. L'apprentissage des deux sous-réseaux est effectué en parallèle, les caractéristiques des images haute résolution sont extraites en cours d'apprentissage du sous-réseau discriminateur et sont utilisées pour améliorer l'apprentissage du sous-réseau générateur. De par une optimisation conjointe des deux sous-réseaux, l'invention permet d'améliorer la précision de reconstruction des images haute résolution générées et ainsi d'apporter une solution au problème général de la super-résolution. Par ailleurs, un avantage de l'invention est qu'elle permet de construire des caractéristiques d'images haute résolution qui sont adaptées au domaine cible des images traitées. Contrairement à la méthode précitée qui exploite des caractéristiques apprises, au préalable, sur un domaine de référence limité qui n'est pas adapté à des images de natures différentes. [0007] L'invention concerne un dispositif de super-résolution pour la conversion d'une image à une première résolution basse en une image à une seconde résolution haute comprenant un premier réseau de neurones artificiels configuré pour générer, selon une règle d'apprentissage prédéterminée, un vecteur, évolutif, de caractéristiques représentatives d'images à la seconde résolution haute et un second réseau de neurones artificiels configuré pour convertir une image à la première résolution basse en une image générée à la seconde résolution haute, le second réseau étant entrainé lors d'une phase d'apprentissage, pendant laquelle il reçoit au moins une image de référence à la première résolution basse, de manière à minimiser une erreur entre les projections respectives, dans un espace défini par ledit vecteur de caractéristiques, de l'image de référence à la seconde résolution haute et de l'image générée par le second réseau à la seconde résolution haute à partir de l'image de référence à la première résolution basse, l'apprentissage du premier réseau de neurones artificiels et l'apprentissage du 3 second réseau de neurones artificiels étant exécutés en parallèle, ledit vecteur de caractéristiques étant mis à jour au cours de l'apprentissage du premier réseau de neurones artificiels pour être utilisé au cours de l'apprentissage du second réseau de neurones artificiels. [0008] Selon un aspect particulier de l'invention, le vecteur de caractéristiques repré- sentatives des images à la seconde résolution haute est le vecteur des poids synaptiques d'une couche du premier réseau de neurones artificiels. [0009] Selon un aspect particulier de l'invention, lesdites projections sont extraites des sorties des neurones de la couche du premier réseau correspondant au vecteur de caractéristiques. [0010] Selon un aspect particulier de l'invention, ladite couche est la première couche du premier réseau de neurones artificiels. [0011] Selon un aspect particulier de l'invention, la phase d'apprentissage du premier réseau est réalisée pour un ensemhle d'images produites en entrée du premier réseau et prises parmi un premier ensemble d'images de référence à la seconde résolution haute et/ou un second ensemhle d'images générées par le second réseau à la seconde résolution haute durant la phase d'apprentissage du second réseau. [0012] Selon un aspect particulier de l'invention, le premier réseau est un réseau classifieur configuré pour classifier des images selon leur appartenance audit premier ensemhle d'images ou audit second ensemble d'images. [0013] Selon un aspect particulier de l'invention, le premier réseau est un réseau auto- encodeur configuré pour reconstruire une image d'entrée. [0014] Selon un aspect particulier de l'invention, le premier réseau comprend un premier sous-réseau codeur, un deuxième sous-réseau décodeur dont la couche d'entrée est connectée à la couche de sortie du premier sous-réseau codeur et un troisième sous-réseau classifieur dont la couche d'entrée est connectée à la couche de sortie du premier sous-réseau codeur, le premier sous-réseau codeur et le deuxième sous-réseau décodeur formant un réseau auto-encodeur configuré pour reconstruire l'image d'entrée, le premier sous-réseau codeur et le troisième sous-réseau classifieur formant un réseau classifieur configuré pour classifier des images selon leur appartenance audit premier ensemble d'images ou audit second ensemble d'images. [0015] Selon un aspect particulier de l'invention, le dispositif selon l'invention est configuré pour exécuter plusieurs itérations des apprentissages successifs du premier réseau et du second réseau. [0016] Selon un aspect particulier de l'invention, l'ensemble d'images produites en entrée du premier réseau est le premier ensemble d'images de référence. [0017] L'invention a aussi pour objet un procédé d'apprentissage d'un réseau de neurones artificiels pour convertir une image à une première résolution basse en une image à une seconde résolution haute comprenant les étapes exécutées simultanément de - Entraincr un premier réseau de neurones artificiels selon une règle d'apprentissage prédéterminée de manière à générer un vecteur évolutif de caractéristiques représentatives d'images à la seconde résolution haute, - Entraincr un second réseau de neurones artificiels à convertir au moins une image de référence à la première résolution basse en au moins une image générée à la seconde résolution haute, de manière à minimiser une erreur entre les projections respectives, dans un espace défini par ledit vecteur de caractéristiques, de de référence à la seconde résolution haute et de l'image générée par le second réseau à la seconde résolution haute à partir de l'image de référence à la première résolution basse, - Mettre à jour ledit vecteur de caractéristiques au cours de l'apprentissage du premier réseau de neurones artificiels pour être utilisé au cours de l'apprentissage du second réseau de neurones artificiels. [0018] Selon une variante de réalisation, le procédé d'apprentissage selon l'invention comprend une étape d'extraire les valeurs des poids synaptiques d'une couche du premier réseau de neurones artificiels pour générer le vecteur de caractéristiques représentatives des images à la seconde résolution haute. [0019] Selon une variante de réalisation, le procédé d'apprentissage selon l'invention comprend une étape de calcul desdites projections respectives par extraction des valeurs de sortie des neurones de la couche du premier réseau correspondant au vecteur de caractéristiques. [0020] Selon une variante de réalisation, l'entrainement du premier réseau est réalisé pour un ensemble d'images produites en entrée du premier réseau et prises parmi un premier ensemble d'images de référence à la seconde résolution haute et/ou un second ensemble d'images générées par le second réseau à la seconde résolution haute durant la phase d'apprentissage du second réseau. [0021] Selon une variante de réalisation, le premier réseau est entrainé pour classifier des images selon leur appartenance audit premier ensemble d'images ou audit second ensemble d'images et/ou pour reconstruire une image d'entrée. [0022] Selon une variante de réalisation, le procédé d'apprentissage selon l'invention comprend plusieurs itérations des étapes successives d'entrainement du premier réseau et d'entrainement du second réseau. [0023] L'invention porte aussi sur un procédé de super-résolution comprenant la conversion d'au moins une image à une première résolution basse en une image générée à une seconde résolution haute au moyen d'un réseau de neurones artificiels entrainé par le procédé d'apprentissage selon l'invention. [0024] L'invention porte aussi sur 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 de code pour l'exécution des étapes d'un procédé selon l'invention, lorsque ledit programme est exécuté sur un ordinateur. [0025] L'invention porte aussi sur un réseau de neurones artificiels configuré pour convertir une image à une première résolution basse en une image générée à une seconde résolution haute, ledit réseau étant entrainé par le procédé d'apprentissage selon l' invention. [0026] Les dessins annexés illustrent l'invention : [0027] [fig.1] La figure 1 schématise un exemple de réseau de neurones artificiels, [0028] [fig.2] La figure 2 schématise un exemple de dispositif de conversion d'images selon l' invention, [0029] [fig.3] La figure 3 schématise un exemple de dispositif de conversion d'images selon une première variante de réalisation de l'invention, [0030] [fig.4] La figure 4 schématise un exemple de dispositif de conversion d'images selon une deuxième variante de réalisation de l'invention, [0031] [fig.5] La figure 5 schématise un exemple de dispositif de conversion d'images selon une troisième variante de réalisation de l'invention, [0032] [fig.6] La figure 6 schématise, sur un organigramme, les étapes de mise en oeuvre d'un procédé de conversion d'images selon l'une quelconque des variantes de réalisation de l'invention, [0033] La figure 1 représente un schéma général d'un réseau de neurones artificiels, par exemple un réseau de neurones convolutionnel. Un réseau de neurones est classiquement composé de plusieurs couches C'C,C,,,,C. de neurones interconnectés. Le réseau comporte au moins une couche d'entrée C. et une couche de sortie C. et au moins une couche intermédiaire Les neurones Ni, de la couche d'entrée C. reçoivent chacun en entrée une donnée d'entrée. Les données d'entrée peuvent être de natures différentes selon l'application visée. Dans le contexte de l'invention, les données d'entrée sont des pixels d'une image. Un réseau de neurones a pour fonction générale d'apprendre à résoudre un problème donné qui peut être notamment un problème de classification mais pas uniquement. Un réseau de neurones est, par exemple, utilisé dans le domaine de la classification d'image ou de la reconnaissance d'image ou plus généralement la reconnaissance de caractéristiques qui peuvent être 6 visuelles, audio ou les deux à la fois. Chaque neurone d'une couche est connecté, par son entrée et/ou sa sortie, à tous les neurones de la couche précédente ou suivante. Plus généralement un neurone peut n'être connecté qu'à une partie des neurones d'une autre couche, notamment dans le cas d'un réseau convolutionnel. Les connexions entre deux neurones Ni, No de deux couches successives se font à travers des synapses artificielles SI,S2,S3 qui peuvent être réalisées, notamment, par des mémoires numériques ou par des dispositifs memristifs. Les coefficients des synapses peuvent être optimisés grâce à un mécanisme d'apprentissage du réseau de neurones. Le mécanisme d'apprentissage a pour objectif l'entrainement du réseau de neurones à résoudre un problème défini. Cc mécanisme comporte deux phases distinctes, une première phase de propagation de données de la couche d'entrée vers la couche de sortie et une seconde phase de rétro-propagation d'erreurs de la couche de sortie vers la couche d'entrée avec, pour chaque couche, une mise à jour des poids des synapses. Les erreurs calculées par les neurones de sortie à l'issue de la phase de propagation de données sont liées au problème à résoudre. Il s'agit, de manière générale, de déterminer une erreur entre la valeur d'un neurone de sortie et une valeur attendue ou une valeur cible en fonction du problème à résoudre. [0034] Lors de la première phase de propagation de données, des données d'apprentissage, par exemple des images ou séquences d'images de référence, sont fournies en entrée des neurones de la couche d'entrée et propagées dans le réseau. Chaque neurone met en oeuvre, pendant cette première phase, une fonction d'intégration des données reçues qui consiste, dans le cas d'un réseau convolutionnel, à calculer une somme des données reçues pondérées par les coefficients des synapses. Autrement dit, chaque neurone réalise une opération de convolution sur une taille de filtre de convolution correspondant à la taille de la sous-matrice de neurones de la couche précédente auxquels il est connecté. Chaque neurone propage ensuite le résultat de la convolution vers les neurones de la couche suivante. Selon les modèles de neurones choisis, la fonction d'intégration qu'il réalise peut varier. [0035] Les neurones Ni, de la couche de sortie C, exécutent un traitement supplémentaire en ce qu'ils calculent une erreur entre la valeur de sortie du neurone et une valeur attendue ou une valeur cible qui correspond à l'état final du neurone de la couche de sortie que l'on souhaite obtenir en relation avec les données d'entrée d'apprentissage et le problème à résoudre par le réseau. Par exemple, si le réseau doit résoudre un problème de classification, l'état final attendu d'un neurone correspond à la classe qu'il est censé identifier dans les données d'entrée. [0036] Lors de la seconde phase de rétro-propagation d'erreurs, les neurones de la couche de sortie C, transmettent les erreurs calculées aux neurones de la couche précédente C1,_1 qui calculent une erreur locale à partir de l'erreur rétro-propagée de la couche 7 précédente et transmettent à leur tour cette erreur locale à la couche précédente CI. En parallèle, chaque neurone calcule, à partir de l'erreur locale, une valeur de mise à jour des poids des synapses auxquelles il est connecté et met à jour les synapses. Le processus se poursuit pour chaque couche de neurones jusqu'à l'avant dernière couche qui est chargée de mettre à jour les poids des synapses qui la relient à la couche d'entrée Ce. [0037] L'invention se hase sur une utilisation particulière de différents types de réseaux de neurones artificiels pour résoudre un problème de conversion d'une image basse résolution en une image haute résolution. Les principes généraux introduits ci-dessus servent à introduire les notions de hase utilisées pour mettre en oeuvre l'invention. [0038] La figure 2 schématise un exemple de dispositif 200 de conversion d'images basse résolution en images haute résolution selon l'invention. Précisément, il s'agit de convertir des images d'entrée reçues à une première résolution basse, en images de sortie générées à une seconde résolution haute, plus élevée que la première résolution. [0039] Le dispositif 200 comprend deux réseaux de neurones artificiels R1,R2, préfé- rablement des réseaux de neurones convolutionnels. Le second réseau R2 a pour fonction la conversion d'images basse résolution en images haute résolution. Pour déterminer cette fonction de conversion, qui correspond à la fonction de transfert finale du réseau R0, celui-ci apprend la fonction de conversion durant une phase d'entrainement ou d'apprentissage. Lors de cette phase d'apprentissage, plusieurs images de référence IBR,F,F basse résolution sont fournies en entrée du réseau. Le mécanisme d'apprentissage est exécuté pour chaque image reçue en entrée du réseau. Typiquement, la couche d'entrée C2, comporte autant de neurones que de pixels d'une image d'entrée basse résolution. Autrement dit, la dimension de la couche d'entrée est égale à la dimension de l'image à la première résolution basse. Les images de référence IBRRE, basse résolution peuvent être obtenues à partir des mêmes images de référence haute résolution via une opération de compression qui permet de réduire la résolution de l'image. Alternativement, les images de référence peuvent être disponibles directement dans la première résolution basse et dans la seconde résolution haute. [0040] Comme explicité précédemment, le mécanisme d'apprentissage comprend une première phase de propagation des données de la couche d'entrée vers la couche de sortie puis une seconde phase de rétro-propagation d'erreurs calculées par la couche de sortie vers la couche d'entrée. [0041] Le second réseau de neurones R2 comprend une couche de sortie C2, qui comporte un nombre de neurones de sortie égal au nombre de pixels d'une image de sortie à la seconde résolution haute. Ainsi, le nombre de neurones de sortie est typiquement plus élevé que le nombre de neurones d'entrée. Le réseau R, comprend également une ou 8 plusieurs couche(s) intermédiaire(s) C. Typiquement, les couches intermédiaires comportent un nombre de neurones qui croit progressivement entre le nombre de neurones de la couche d'entrée et le nombre de neurones de la couche de sortie. Avantageusement, le réseau R2 est un réseau convolutionnel. Chaque neurone d'une couche intermédiaire et de la couche de sortie réalise une opération de convolution de dimension égale à la taille du noyau de convolution qui correspond au nombre de connexions en entrée d'un neurone. Typiquement, la dimension du noyau de convolution correspond à des blocs de pixels dans l'image, par exemple des blocs carrés de dimension nxn ou des blocs rectangulaires de dimension nxm. Globalement, le réseau R2 réalise des opérations successives de convolution et de suréchantillonnagc afin d'augmenter progressivement la résolution de l'image depuis la première résolution basse d'entrée jusqu'à la seconde résolution haute de sortie. [0042] La fonction de transfert du réseau R2 est déterminée par les valeurs des poids des synapses, ou coefficients synaptiques (non représentés sur la figure 2). Un coefficient synaptique est associé à chaque connexion entre deux neurones de deux couches successives. [0043] Pour réaliser l'apprentissage du réseau R2 de manière à ce que sa fonction de transfert soit une fonction de conversion d'images basse résolution en images haute résolution, à l'issue de la phase de propagation de données vers la couche de sortie Ces, les neurones de sortie déterminent une erreur E=11(1)(PIRREF)-(1)(praGEN)Ilentre l'image haute résolution PRGEN générée en sortie du réseau (qui correspond aux valeurs des neurones de sortie) et l'image haute résolution de référence I' IRREF qui est l'image attendue. Un objectif de l'apprentissage est que les images générées PRGEN approchent au mieux les images d'origine I'IRREF. Pour cela, le critère d'erreur E choisi est une erreur entre les projections respectives des images PR GEN et IIIRREF dans un espace de caractéristiques des images haute résolution. Autrement dit, la fonction cl) est un vecteur de caractéristiques qui définit un espace de projection. Il s'agit ici de caractéristiques générales qui permettent de définir les images haute résolution de façon générale, c'est-à-dire, quels sont les éléments qui caractérisent une image haute résolution par rapport à une image basse résolution. A titre d'exemple, une caractéristique des images basse résolution est le Clou. De la même manière, il est possible de déterminer certaines caractéristiques intrinsèques aux images haute résolution, autrement dit qui caractérisent la haute résolution Ainsi, l'invention propose d'entrainer le réseau R, en déterminant l'en-eur d'apprentissage dans le domaine de ces caractéristiques et non directement dans le domaine des images. L'erreur E est, par exemple, une norme L2, une erreur quadratique moyenne ou toute autre distance mathématique appropriée permettant de calculer une erreur entre deux vecteurs de données. 9 [0044] Le vecteur des caractéristiques e est déterminé au cours de l'apprentissage du premier réseau de neurones artificiels 121. Le premier réseau R, a pour fonction de produire un vecteur de caractéristiques pertinentes des images haute résolution en général. Il peut prendre plusieurs formes comme cela sera explicité par la suite pour les variantes de réalisation des figures 3,4 et 5. De manière générale, le problème à résoudre par le premier réseau R, consiste à déterminer des caractéristiques générales des images haute résolution. Au cours de l'apprentissage du réseau R' le vecteur des caractéristiques 0 est extrait des poids synaptiques d'une couche du réseau. Avantageusement, il s'agit de la première couche du réseau, autrement dit des derniers poids synaptiques mis à jours lors de la phase de rétro-propagation d'erreurs. Mais il peut aussi s'agir d'une couche intermédiaire. [0045] Lors de son apprentissage, le premier réseau R, peut recevoir, selon les modes de réa- lisation qui seront explicités plus bas, soit uniquement des images de référence haute résolution IHRREF, soit uniquement des images haute résolution PlecE, générées par le second réseau R2, soit les deux à la fois. Plus précisément, l'apprentissage du premier réseau R, se déroule de la façon suivante. Pour chaque image reçue en entrée, qui est soit une image de référence soit une image générée par le second réseau, le premier réseau R, exécute un apprentissage comprenant une phase de propagation des données extraites de l'image vers la couche de sortie C'' un calcul d'erreurs par les neurones de la couche de sortie, selon l'objectif visé par le premier réseau, et une phase de rétro-propagation des erreurs vers les couches antérieures jusqu'à la couche d'entrée C'e avec mise à jour des poids synaptiques de chaque couche, à partir des erreurs rétro-propagées. A l'issue d'une passe d'apprentissage pour une image reçue en entrée, une mise à jour du vecteur des caractéristiques 0 est disponible. Cette mise à jour est transmise au second réseau R,, à une fréquence prédéterminée, pour améliorer son apprentissage. De la même façon, les images générées par le second réseau R2 après la mise à jour du vecteur 0 sont introduites dans le groupe d'images produit en entrée du premier réseau R, pour alimenter l'apprentissage du premier réseau. Autrement dit les apprentissages des deux réseaux R,,R, sont réalisés conjointement et de façon itérative, le premier réseau transmettant au second réseau un vecteur 0 qui évolue au cours de l'apprentissage du premier réseau pour améliorer l'apprentissage du second réseau. [0046] Le calcul des projections respectives des images IHRGEN et PRREF dans l'espace défini par le vecteur 0 peut être déterminé en produisant l'image respective en entrée du premier réseau R, puis en extrayant les valeurs des sorties des neurones de la couche associée au vecteur 0. Par exemple, si le vecteur 0 est lu sur les synapses de la première couche, les projections des images sont lues sur les neurones de la seconde couche qui sont connectés à ces synapses. [0047] Une caractéristique importante de l'invention est, ainsi, que l'apprentissage du second réseau est réalisé à partir d'un vecteur e de caractéristiques relatives aux images haute résolution qui est produit par le premier réseau au cours de son apprentissage. Autrement dit le vecteur e évolue au cours du temps et au cours de l'apprentissage du second réseau de manière à améliorer progressivement l'apprentissage du second réseau. [0048] Les figures 3,4 et 5 schématisent trois modes de réalisation différents de l'invention pour lesquels le premier réseau RI est différent dans chaque mode de réalisation tandis que le second réseau R, est identique et commun aux trois modes de réalisation. [0049] La figure 3 schématise un premier mode de réalisation du dispositif 300 selon l'invention dans lequel le premier réseau R1 est un réseau classificur, le second réseau R2 étant identique à celui de la figure 2. [0050] Le premier réseau RI a pour fonction de classifier les images reçues en entrée en deux classes correspondant respectivement aux images de référence originales IHR,'', et aux images IHRGEN générées par le second réseau R2. Autrement dit, le premier réseau R est entrainé pour différencier ces deux types d'images. Ainsi, dans ce premier mode de réalisation, le premier réseau R, reçoit à la fois des images de référence originales I I IRREF et des imagesP'RrEU générées par le second réseau R2 qui sont produites alternativement en entrée de la couche d'entrée Ci,. La couche de sortie C. du premier réseau R, comporte deux neurones de sortie N0, N, qui correspondent respectivement à la classe des images de référence originales 1"R, et à la classe des images piRGEN générées par le second réseau 12'. Pour chaque image traitée par le mécanisme d'apprentissage, les neurones de sortie calculent une erreur entre le résultat obtenu et le résultat attendu. Par exemple, la valeur d'un neurone de sortie est comprise entre 0 et 1, une valeur égale à 1 signifiant que l'image d'entrée appartient à la classe représentée par le neurone de sortie et une valeur égale à 0 signifiant que l'image d'entrée n'appartient pas à la classe représentée par le neurone de sortie. Une erreur peut ainsi être calculée pour chaque image et chaque neurone de sortie entre la valeur attendue, connaissant la nature de l'image reçue et la valeur réelle du neurone de sortie. En utilisant cette règle d'apprentissage, les poids synaptiques sont mis à jour au fur et à mesure de l'apprentissage. L'entrainement du premier réseau RI à la discrimination entre les deux types d'images, image d'origine ou image générée par le second réseau, permet d'élaborer, sur les poids synaptiques d'une couche du premier réseau RI, un vecteur e de caractéristiques pertinentes pour représenter les images de haute résolution en général. Ce vecteur e est utilisé pour l'apprentissage du second réseau R2 de la façon décrite précédemment. [0051] La figure 4 schématise un deuxième mode de réalisation du dispositif 400 selon l'invention dans lequel le premier réseau R1 est un réseau auto-encodeur, le second réseau R2 étant identique à celui de la figure 2. 11 [0052] Un réseau auto-encodeur, tel que le premier réseau RI décrit à la figure 4 est un type particulier de réseau de neurones artificiels qui a pour fonction de reconstruire en sortie une image reçue en entrée, en compressant d'abord l'image d'entrée puis en reconstruisant l'image compressée. Un tel réseau auto-encodeur est composé d'un premier sous-réseau codeur et un d'un second sous-réseau décodeur. Le premier sous-réseau codeur comprend une couche d'entrée qui comporte un nombre de neurones égal au nombre de pixels de l'image d'entrée et une couche de sortie qui comporte un nombre inférieur de neurones de sorte à obtenir une image de sortie compressée par rapport à l'image d'entrée. Les couches intermédiaires du sous-réseau codeur comprennent des nombres de neurones décroissants progressivement entre la couche d'entrée et la couche de sortie. Le sous-réseau décodeur est connecté en série du sous-réseau codeur. Sa couche d'entrée Clk correspond à la couche de sortie du sous-réseau codeur et ses couches intermédiaires comprennent des nombres de neurones croissants progressivement entre la couche d'entrée et la couche de sortie qui est de taille identique à celle de la couche d'entrée du sous-réseau codeur. [0053] Lors de l'apprentissage du réseau auto-encodeur R,, l'erreur calculée par les neurones de sortie est une erreur entre la valeur du neurone et la valeur du pixel attendu qui est la valeur correspondante du pixel de l'image d'entrée. Ainsi, le réseau auto-encodeur RI est entrainé à apprendre à reconstruire l'image d'entrée après qu'elle ait été compressée. La compression de l'image d'entrée via les premières couches intermédiaires du sous-réseau codeur permet de générer, sur les poids synaptiques correspondants, des caractéristiques pertinentes communes aux images de haute résolution. Ainsi, le vecteur (1) est extrait d'une des couches du sous-réseau codeur, de préférence la première couche, pour être utilisé pour améliorer l'apprentissage du second réseau R2 de la même façon que pour le dispositif décrit à la figure 2. [0054] Dans ce deuxième mode de réalisation de l'invention, le réseau auto-encodeur RI peut recevoir en entrée soit uniquement des images de référence haute résolution PRREF, soit uniquement des images haute résolution PRGEN générées par le second réseau R2, soit les deux à la fois. [0055] La figure 5 schématise un troisième mode de réalisation du dispositif 400 selon l'invention dans lequel le premier réseau R, est un réseau conjoint apte à réaliser simultanément une fonction d'auto-encodage et une fonction de classification, le second réseau Rn étant identique à celui de la figure 2. [0056] Dans ce troisième mode de réalisation, le premier réseau R1 est un réseau conjoint qui est entrainé pour réaliser les deux fonctions respectives du réseau classifieur RI de la figure 3 et du réseau auto-encodeur R1 de la figure 4. Ainsi, le premier réseau R1 comprend un premier sous-réseau codeur Ri,cod et un deuxième sous-réseau décodeur R 1,decod qui forment ensemble un réseau auto-encodeur similaire à celui de la figure 4. Le 12 premier réseau R, comprend également un troisième sous-réseau classificur qui forme, avec le premier sous-réseau codeur 121,20d, un réseau classificur similaire à celui de la figure 3. Sur le schéma de la figure 5, la couche intermédiaire C',1( correspond à une couche de sortie du premier sous-réseau codeur R,,,,, à une couche d'entrée du deuxième sous-réseau décodeur Rtd'od et à une couche intermédiaire du réseau classificur formé du premier sous-réseau et du troisième sous-réseau Rcula. [0057] L'apprentissage du réseau conjoint R, est réalisé de la façon suivante. Lors de la phase de propagation des données, lorsque les données arrivent à la couche intermédiaire C'ik, elles sont propagées simultanément vers les couches du second sous-réseau et vers les couches du troisième sous-réseau. A l'issue de la phase de propagation de données, les couches de sortie Ci' Cg, respectives du deuxième et du troisième sous-réseau déterminent les mêmes types d'erreurs que les couches de sortie respectives du premier réseau R, de la figure 3 et du premier réseau R, de la figure 4. Les erreurs sont ensuite rétro-propagées vers les couches du deuxième et du troisième sous-réseau dans le sens inverse. Lorsque les erreurs sont rétro-propagées à la couche intermédiaire C' 'k, les erreurs respectives provenant du deuxième et du troisième sous-réseau sont sommées puis la rétro-propagation se poursuit jusqu'à la première couche du premier sous-réseau R Loo& Par souci de clarté, on n'a pas représenté les connexions entre les neurones des différentes couches sur la figure 5. Il convient de préciser que les neurones de la couche intermédiaire C' II, sont connectés à la fois aux neurones de la première couche du deuxième sous-réseau et aux neurones de la première couche du troisième sous-réseau. Le reste du fonctionnement du dispositif 500 selon l'invention est identique à ce qui a été décrit pour les figures 2,3 et 4. En particulier, le vecteur d) est extrait d'une des couches du sous-réseau codeur, de préférence la première couche, pour être utilisé pour améliorer l'apprentissage du second réseau R2 de la même façon que pour le dispositif décrit à la figure 2. [0058] Les schémas des figures 2,3,4 et 5 représentent le dispositif selon l'invention lors de sa phase d'apprentissage. Lorsque l'apprentissage est terminé et que la fonction de transfert du second réseau R2 est figée, le second réseau de neurones R2 peut être utilisé pour convertir des images à basse résolution en images à haute résolution. Dans cette seconde phase opérationnelle, le dispositif de conversion d'images selon l'invention peut ne comprendre que le second réseau R2, puisque le premier réseau RI ne sert qu'à la phase d'apprentissage. [0059] La figure 6 schématise les étapes principales de mise en oeuvre d'un procédé d'apprentissage du second réseau de neurones artificiels R2 pour convertir une image basse résolution en une image haute résolution. [0060] Le procédé d'apprentissage comprend principalement une étape 600 d'entrainement ou d'apprentissage du premier réseau R, au cours de laquelle est mis à jour 602 un 13 vecteur e de caractéristiques représentatives des images haute résolution et une étape 601 d'entrainement ou d'apprentissage du second réseau R, à partir du vecteur e. L'étape 601 d'entrainement du second réseau permet de générer des images haute résolution qui servent en tant que données d'apprentissage du premier réseau. Ainsi, les étapes 600 et 601 sont exécutées en parallèle, le vecteur D étant évolutif et généré au cours de l'apprentissage du premier réseau et étant mis à jour pour être utilisé au cours de l'apprentissage du second réseau. Ainsi, plusieurs itérations des étapes 600,602 et 601 sont effectuées selon le nombre d'images de référence produites en entrée du premier et du second réseau pour réaliser leur apprentissage. [0061] De façon générale, l'invention peut être mise en oeuvre à l'aide de composants matériels et/ou logiciels. Les éléments logiciels peuvent être disponibles en tant que produit programme d'ordinateur sur un support lisible par ordinateur, support qui peut être électronique, magnétique, optique ou électromagnétique. Les éléments matériels peuvent être disponibles tous ou en partie, notamment en tant que circuits intégrés dédiés (ASIC) et/ou circuits intégrés configurablcs (FPGA) et/ou en tant que circuits neuronaux selon l'invention ou en tant que processeur de signal numérique DSP et/ou en tant que processeur graphique CPU, et/ou en tant que microcontrôleur et/ou en tant que processeur général par exemple. [0062] Les images produites en entrée du dispositif selon l'invention peuvent être acquises par un capteur d'images, une caméra, un appareil photographique, un imageur satellite ou tout autre dispositif de capture d'images. 14 REVENDICATIONS[Revendication I] Dispositif de super-résolution pour la conversion d'une image à une première résolution basse en une image à unc seconde résolution haute comprenant un premier réseau (R1) de neurones artificiels configuré pour générer, selon une règle d'apprentissage prédéterminée, un vecteur ((h), évolutif, de caractéristiques représentatives d'images à la seconde résolution haute et un second réseau (R,) de neurones artificiels configuré pour convertir unc image à la première résolution basse en une image générée à la seconde résolution haute, le second réseau (R2) étant entrainé lors d'une phase d'apprentissage, pendant laquelle il reçoit au moins une image de référence (IHR,..) à la première résolution basse, de manière à minimiser une erreur entre les projections respectives, dans un espace défini par ledit vecteur (1)) de caractéristiques, de l'image de référence (PR,11,) à la seconde résolution haute et de l'image générée (IHRGEN) par le second réseau à la seconde résolution haute à partir de l'image de référence (IHR,,,) à la première résolution basse, l'apprentissage du premier réseau (RI) de neurones artificiels et l'apprentissage du second réseau (R2) de neurones artificiels étant exécutés en parallèle, ledit vecteur (I)) de caractéristiques étant mis à jour au cours de l'apprentissage du premier réseau (R1) de neurones artificiels pour être utilisé au cours de l'apprentissage du second réseau (R 2) de neurones artificiels. [Revendication 2] Dispositif de super-résolution selon la revendication 1 dans lequel le vecteur (c)) de caractéristiques représentatives des images à la seconde résolution haute est le vecteur des poids synaptiques d'une couche du premier réseau (R1) de neurones artificiels. [Revendication 3] Dispositif de super-résolution selon la revendication 2 dans lequel lesdites projections sont extraites des sorties des neurones de la couche du premier réseau (R1) correspondant au vecteur (cI)) de caractéristiques. [Revendication 4] Dispositif de super-résolution selon l'une des revendications 2 ou 3 dans lequel ladite couche est la première couche du premier réseau (R1) de neurones artificiels. [Revendication 5] Dispositif de super-résolution selon l'une des revendications pré- cédentes dans lequel la phase d'apprentissage du premier réseau (R1) est réalisée pour un ensemble d'images produites en entrée du premier réseau (R1) et prises parmi un premier ensemble d'images de référence (JuRREF) à à la seconde résolution haute et/ou un second ensemble 15 [Revendication 6] [Revendication 7] [Revendication 8] [Revendication 9] [Revendication 10] [Revendication 11] d'images générées (IHRG,) par le second réseau (R2) à la seconde résolution haute durant la phase d'apprentissage du second réseau (R2). Dispositif de super-résolution selon la revendication 5 dans lequel le premier réseau (R1) est un réseau classificur configuré pour classifier des images selon leur appartenance audit premier ensemble d'images ou audit second ensemble d'images. Dispositif de super-résolution selon la revendication 5 dans lequel le premier réseau (R1) est un réseau auto-encodeur configuré pour reconstruire une image d'entrée. Dispositif de super-résolution selon la revendication 5 dans lequel le premier réseau (R1) comprend un premier sous-réseau codeur, un deuxième sous-réseau décodeur dont la couche d'entrée est connectée à la couche de sortie du premier sous-réseau codeur et un troisième sous-réseau classificur dont la couche d'entrée est connectée à la couche de sortie du premier sous-réseau codeur, le premier sous-réseau codeur et le deuxième sous-réseau décodeur formant un réseau auto-encodeur configuré pour reconstruire l'image d'entrée, le premier sous-réseau codeur et le troisième sous-réseau classificur formant un réseau classificur configuré pour classifier des images selon leur appartenance audit premier ensemble d'images ou audit second ensemble d'images. Dispositif de super-résolution selon l'une des revendications 5 à 8 dans lequel le dispositif est configuré pour exécuter plusieurs itérations des apprentissages successifs du premier réseau (R1) et du second réseau (R2 ). Dispositif de super-résolution selon la revendication 7 dans lequel l'ensemble d'images produites en entrée du premier réseau (R1) est le premier ensemble d'images de référence (I"R,). Procédé d'apprentissage d'un réseau de neurones artificiels pour convertir une image à une première résolution basse en une image à une seconde résolution haute comprenant les étapes exécutées simultanément de : Entrainer (600) un premier réseau (R1) de neurones artificiels selon une règle d'apprentissage prédéterminée de manière à générer un vecteur (c1) évolutif de caractéristiques représentatives d'images à la seconde résolution haute, Entrainer (601) un second réseau (12') de neurones artificiels à convertir au moins une image de référence (IBRREF) à la 16 première résolution basse en au moins une image générée (l" GEN) à la seconde résolution haute, de manière à minimiser une erreur entre les projections respectives, dans un espace défini par ledit vecteur ((D) de caractéristiques, de l'image de référence à la seconde résolution haute et de l'image générée (I"GEN) par le second réseau à la seconde résolution haute à partir de l'image de référence (1",,,,) à la première résolution basse, Mettre à jour (602) ledit vecteur (cD) de caractéristiques au cours de l'apprentissage du premier réseau (R,) de neurones artificiels pour être utilisé au cours de l'apprentissage du second réseau (R,) de neurones artificiels. [Revendication 12] Procédé d'apprentissage selon la revendication 11 comprenant une étape d'extraire les valeurs des poids synaptiques d'une couche du premier réseau (R1) de neurones artificiels pour générer le vecteur ((D) de caractéristiques représentatives des images à la seconde résolution haute. [Revendication 13] Procédé d'apprentissage selon la revendication 12 comprenant une étape de calcul desdites projections respectives par extraction des valeurs de sortie des neurones de la couche du premier réseau correspondant au vecteur (()) de caractéristiques. [Revendication 14] Procédé d'apprentissage selon l'une des revendications 11 à 13 dans lequel l'entrainement du premier réseau (R1) est réalisé pour un ensemble d'images produites en entrée du premier réseau (R1) et prises parmi un premier ensemble d'images de référence (IIIRREE) à la seconde résolution haute et/ou un second ensemble d'images générées (IHRGEN) par le second réseau (2') à la seconde résolution haute durant la phase d'apprentissage du second réseau. [Revendication 15] Procédé d'apprentissage selon la revendication 14 dans lequel le premier réseau (R1) est entrainé pour classifier des images selon leur appartenance audit premier ensemble d'images ou audit second ensemble d'images et/ou pour reconstruire une image d'entrée. [Revendication 16] Procédé d'apprentissage selon l'une des revendications 14 ou 15 comprenant plusieurs itérations des étapes successives d'entrainement du premier réseau et d'entrainement du second réseau. [Revendication 17] Procédé de super-résolution comprenant la conversion d'au moins une image à une première résolution basse en une image générée à une 17 [Revendication 18] seconde résolution haute au moyen d'un réseau de neurones artificiels (R2) entrainé par le procédé d'apprentissage selon l'une quelconque des revendications 11 à 16. [Revendication 19] Programme d'ordinateur téléchargcable 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 de code pour l'exécution des étapes d'un procédé selon l'une quelconque des revendications 11 à 17, lorsque ledit programme est exécuté sur un ordinateur. Réseau (Rn) de neurones artificiels configure pour convertir une image à une première résolution basse en une image générée à une seconde résolution haute, ledit réseau (R2) étant entrainé par le procédé d'apprentissage selon l'une quelconque des revendications 11 à 16