Brevet FR3126526A1 — publié le 20230303

Procédé de super-résolution d'images Un aspect de l’invention concerne un procédé d’obtention d’une séquence d’images super-résolues à partir d’une séquence d’images supra-résolues à super-résoudre, ledit procédé comportant les étapes suivantes : Entraînement supervisé d’un réseau de neurones artificiels sur une base de données pour le rendre capable de fournir une image super-résolue à partir d'une sous-séquence d'images supra-résolues, ladite base de données comportant une pluralité de séquences d’images supra-résolues chacune associées à une séquence d’images super-résolues, ledit réseau de neurones comprenant une première partie, une deuxième partie récurrente et une troisième partie comprenant chacune un ensemble de couches de convolution correspondant chacune à une matrice circulante, l'étape d’entraînement supervisé comprenant, pour chaque séquence d'images supra-résolues de la base de données, une sous-étape de mise à jour de paramètres du réseau de neurones artificiels en minimisant une fonction de coût correspondant à l’erreur entre une séquence d’images super-résolues fournies par le réseau de neurones artificiels à partir de la séquence d’images supra-résolues, et la séquence d’images super-résolues associée à la séquence d'images supra-résolues dans la base de données, la minimisation étant réalisée en appliquant une contrainte sur la valeur de la norme spectrale de chaque matrice circulante correspondant à une couche de convolution de la deuxième partie; Utilisation sur la séquence d'images supra-résolues à super-résoudre, du réseau de neurones artificiels entraîné pour obtenir une séquence d’images super-résolues. Procédé de super-résolution d'images DOMAINE TECHNIQUE DE L’INVENTION Le domaine technique de l’invention est celui de la super-résolution d’images et plus particulièrement celui de la super-résolution d’images pour des applications avec acquisition d’images quasi-statiques, telles que la surveillance vidéo. La présente invention concerne un procédé d’obtention d’une séquence d’images super-résolues à partir d’une séquence d’images supra-résolues. ARRIERE-PLAN TECHNOLOGIQUE DE L’INVENTION Dans des applications courantes nécessitant l’acquisition d’images telles que la surveillance vidéo, les images acquises n'offrent pas toujours une résolution suffisante pour être exploitées. Pour remédier à ce problème, des méthodes dites de super-résolution d’images ont été développées. Ces méthodes permettent de générer une image haute résolution à partir de plusieurs images basse résolution. Il existe plusieurs types de méthodes de super-résolution d’images nécessitant l'utilisation de réseaux de neurones artificiels, notamment les méthodes à fenêtre glissante et les méthodes récurrentes. Les méthodes à fenêtre glissante utilisent des réseaux de neurones artificiels prenant en entrée une fenêtre de 5 à 7 images basse résolution d’une longue séquence d’images basse résolution, la fenêtre glissant à chaque itération le long de la séquence d’images basse résolution et générant en sortie une image centrale hautement résolue. Les méthodes récurrentes utilisent des réseaux de neurones artificiels récurrents prenant en entrée une sous-séquence de 1 à 3 images basse résolution d’une séquence d’images basse résolution et des données récurrentes issues du traitement par le réseau de neurones artificiels récurrents, de la sous-séquence précédent la sous-séquence d’entrée dans la séquence d’images, afin de générer une image super-résolue. Les méthodes récurrentes sont avantageuses et privilégiées par rapport aux méthodes à fenêtre glissante pour les applications réelles car d’une part, elles nécessitent moins d'images en entrée et présentent donc un coût de calcul réduit, et d’autre part, elles accumulent des informations sur les images précédemment traitées sur un horizon temporel plus long que les méthodes à fenêtre glissante, ce qui permet d'obtenir des images super-résolues de meilleure qualité. Enfin, les méthodes récurrentes permettent de générer des images qui sont temporellement cohérentes entre elles car elles ne sont pas générées indépendamment les unes des autres, ce qui permet d’éviter la présence d'artefacts de scintillement dans les images super-résolues générées. Les méthodes récurrentes présentent toutefois un inconvénient majeur lorsque la séquence d’images basse résolution est quasi-statique. En effet, quand des parties de la scène ne sont pas ou peu en mouvement, des informations sur ces parties s'accumulent, ce qui produit des artefacts de haute résolution qui sont amplifiés au fur et à mesure des traitements, causant des problèmes de stabilité au réseau de neurones artificiels récurrents. Il existe des méthodes ayant pour but d'augmenter la stabilité d'un réseau de neurones artificiels récurrents pour une application de débruitage vidéo. Par exemple, l'algorithme SRNL pour « Spectral Rank Normalization of Layer » en anglais, permet d'imposer à une couche de neurones artificiels de convolution la contrainte plus ou moins stricte de Lipschitz. L’algorithme SRNL fixe la norme spectrale d'une matrice circulante correspondant à la couche de convolution, à une valeur souhaitée α et minimise le rang de cette matrice en se basant sur un autre paramètre β. Lorsque la norme spectrale α est inférieure ou égale à 1 pour chacune des couches de convolution, la contrainte de Lipschitz est dite stricte et garantit une stricte stabilité du réseau de neurones artificiels récurrents. Au contraire, le cas où la norme spectrale α est supérieure à 1 dans lequel la contrainte de Lipschitz est dite relaxée, ne garantit pas cette stabilité, mais l’ajout de la minimisation du rang se basant sur une valeur de β, compris de préférence entre 0 et 1, et préférentiellement proche de zéro permet en pratique d’assurer la stabilité. L'algorithme SRNL permet donc en pratique d'obtenir la stabilité d’un réseau de neurones artificiels récurrents utilisé pour du débruitage vidéo en appliquant la contrainte de Lipschitz relaxée à chaque couche de neurones artificiels de convolution. Cependant, bien que les méthodes de débruitage et de super-résolution utilisent toutes deux des réseaux de neurones artificiels récurrents, les applications restent différentes. Par exemple, les méthodes de débruitage génèrent des artefacts multi-couleurs et du type « masques noirs » non observés en super-résolution et ne prennent pas en compte la génération d'artefacts liés au mouvement de la caméra acquérant les images. Ainsi, la contrainte de Lipschitz relaxée semble suffisante pour promouvoir la stabilité pour les méthodes de débruitage mais est insuffisante pour assurer la stabilité des méthodes de super-résolution qui produisent des artefacts divergents quand la scène dans la séquence d’images basse résolution est quasi-statique. Enfin, lorsqu'une contrainte de Lipschitz stricte est imposée, la performance des méthodes de super-résolution est dégradée par rapport à celles des méthodes de débruitage. Il existe donc un besoin de générer des images super-résolues sans artefacts, à partir d’une séquence d’images basse résolution, en particulier quand la scène dans la séquence d’images basse résolution est quasi-statique, et ceci sans augmenter le coût de calcul par rapport aux méthodes de l’art antérieur. L'invention apporte une solution aux problèmes évoqués précédemment. Un aspect de l'invention concerne un procédé automatique d’obtention d’une séquence d’images super-résolues à partir d’une séquence d’images supra-résolues à super-résoudre, chaque séquence d’images supra-résolues étant ordonnée temporellement et découpée en une pluralité de sous-séquences d’images supra-résolues comprenant chacune une pluralité d’images supra-résolues successives, ledit procédé comportant les étapes suivantes : Entraînement supervisé d’un réseau de neurones artificiels pour obtenir un réseau de neurones artificiels entraîné capable de fournir une image super-résolue à partir d'une sous-séquence d'images supra-résolues reçue, le réseau de neurones artificiels étant entraîné sur une base de données pour déterminer un ensemble de paramètres du réseau de neurones artificiels, la base de données comportant une pluralité de séquences d’images supra-résolues chacune associée à une séquence d’images super-résolues correspondante, ledit réseau de neurones artificiels comprenant : une première partie comprenant un ensemble de couches de neurones artificiels de convolution ; une deuxième partie comprenant un ensemble de couches de neurones artificiels de convolution, présentant une sortie fournissant des données de récurrence, et étant connectée à une sortie de la première partie et à une sortie récurrente fournissant, pour une sous-séquence d’images supra-résolues donnée d’une séquence d’images supra-résolues reçue par le réseau de neurones artificiels, les données de récurrence fournies par le réseau de neurones artificiels pour la sous-séquence d’images supra-résolues précédant la sous-séquence d’images supra-résolues donnée dans la séquence d’images supra-résolues ; une troisième partie comprenant un ensemble de couches de neurones artificiels de convolution, connectée à la sortie de la deuxième partie ; chaque couche de neurones artificiels de convolution correspondant à une matrice circulante comprenant un sous-ensemble de paramètres de l’ensemble de paramètres, liés à ladite couche de neurones artificiels de convolution, l'étape d’entraînement supervisé comprenant, pour chaque séquence d'images supra-résolues de la base de données, une sous-étape de mise à jour de l’ensemble de paramètres comprenant : la réception par le réseau de neurones artificiels, de chaque sous-séquence d’images supra-résolues de la séquence d’images supra-résolues par ordre croissant, pour obtenir une séquence d’images super-résolues comprenant chaque image super-résolue fournie par le réseau de neurones artificiels à partir d’une sous-séquence d’images supra-résolues reçue ; la minimisation d'une fonction de coût correspondant à l’erreur entre la séquence d’images super-résolues obtenue pour la séquence d’images supra-résolues et la séquence d’images super-résolues associée à la séquence d'images supra-résolues dans la base de données, la minimisation étant réalisée en appliquant une contrainte sur la valeur de la norme spectrale de chaque matrice circulante correspondant à une couche de neurones artificiels de convolution de la deuxième partie; Utilisation sur chaque sous-séquence d'images supra-résolues de la séquence d'images supra-résolues à super-résoudre dans l’ordre croissant, du réseau de neurones artificiels entraîné pour obtenir une séquence d’images super-résolues comprenant chaque image super-résolue fournie par le réseau de neurones artificiels entraîné à partir d’une sous-séquence d’images supra-résolues de la séquence d'images supra-résolues à super-résoudre. L'invention permet avantageusement d'obtenir un réseau de neurones artificiels récurrents capable de faire de la super-résolution d’images et ne présentant pas de problème de stabilité. Pour cela, le réseau de neurones artificiels présente une première partie et une troisième partie réalisant respectivement des opérations de convolution et la majeure partie des opérations de déconvolution nécessaires à l’obtention d’images super-résolues, et une deuxième partie récurrente et centrale, permettant d'incorporer des informations sur les images précédemment traitées par le réseau de neurones artificiels et ainsi assurer une cohérence temporelle. Le réseau de neurones artificiels est alors entraîné pour que la contrainte de Lipschitz stricte s’applique à chaque couche de convolution de la deuxième partie du réseau de neurones artificiels et non pas à toutes les couches de convolution du réseau de neurones artificiels comme dans l’art antérieur, ce qui permet d’obtenir des images super-résolues dépourvues d’artefacts. Outre les caractéristiques qui viennent d’être évoquées dans le paragraphe précédent, le procédé selon l’invention peut présenter une ou plusieurs caractéristiques complémentaires parmi les suivantes, considérées individuellement ou selon toutes les combinaisons techniquement possibles : La norme spectrale de chaque matrice circulante correspondant à une couche de neurones artificiels de convolution de la deuxième partie est contrainte à une valeur inférieure ou égale à 1. La minimisation de la fonction de coût est réalisée en appliquant en outre une contrainte sur la valeur du rang de chaque matrice circulante correspondant à une couche de neurones artificiels de convolution de la deuxième partie. Chaque couche de neurones artificiels de convolution comporte un ensemble de neurones artificiels chacun connectés à au moins un neurone artificiel d’une couche de neurones artificiels précédente via une synapse affectée d’un poids synaptique, le sous-ensemble de paramètres lié à une couche de neurones artificiels de convolution comportant chaque poids synaptique affecté à une synapse connectant un neurone artificiel de la couche de neurones artificiels de convolution. La troisième partie du réseau de neurones artificiels est en outre connectée à la sortie récurrente. La connexion de la troisième partie à la sortie récurrente permet d'augmenter la cohérence temporelle entre les images super-résolues fournies par le réseau de neurones artificiels. La troisième partie du réseau de neurones artificiels comprend en outre une couche de neurones artificiels de réarrangement par mélange de pixels. La couche de réarrangement de pixels permet de régler la taille de l’image super-résolue fournie par le réseau de neurones artificiels. Chaque couche de neurones artificiels de convolution, excepté une dernière couche de convolution du réseau de neurones artificiels, est immédiatement suivie d’une couche de neurones artificiels de rectification par unités linéaires. Les couches de neurones artificiels de rectification par unités linéaires permettent de filtrer les données en sortie de chaque couche de neurones artificiels de convolution pour que le réseau de neurones artificiels représente efficacement les données linéairement indépendantes. L'invention a également pour objet un produit-programme d’ordinateur comprenant des instructions qui, quand le programme est exécuté sur un ordinateur, conduisent celui-ci à mettre en œuvre les étapes du procédé selon l’invention. L'invention a également pour objet un support d'enregistrement lisible par ordinateur comprenant des instructions qui, lorsqu'elles sont exécutées par un ordinateur, conduisent celui-ci à mettre en œuvre les étapes du procédé selon l’invention. BREVE DESCRIPTION DES FIGURES Les figures sont présentées à titre indicatif et nullement limitatif de l’invention. La est un schéma synoptique illustrant l’enchaînement des étapes d’un procédé selon l’invention ; La montre une représentation schématique de l'architecture d'un réseau de neurones artificiels utilisé dans le procédé selon l’invention. Procédé (100) automatique d’obtention d’une séquence d’images super-résolues à partir d’une séquence d’images supra-résolues à super-résoudre, chaque séquence d’images supra-résolues étant ordonnée temporellement et découpée en une pluralité de sous-séquences d’images supra-résolues (X t-1 , X t , X t+1 ) comprenant chacune une pluralité d’images supra-résolues successives, ledit procédé (100) comportant les étapes suivantes : Entraînement (101) supervisé d’un réseau de neurones artificiels (200) pour obtenir un réseau de neurones artificiels (200) entraîné capable de fournir une image super-résolue (Y t ) à partir d'une sous-séquence d'images supra-résolues (X t-1 , X t , X t+1 ) reçue, le réseau de neurones artificiels (200) étant entraîné sur une base de données pour déterminer un ensemble de paramètres du réseau de neurones artificiels (200), la base de données comportant une pluralité de séquences d’images supra-résolues chacune associée à une séquence d’images super-résolues correspondante, ledit réseau de neurones artificiels (200) comprenant : une première partie (201) comprenant un ensemble de couches de neurones artificiels de convolution (204) ; une deuxième partie (202) comprenant un ensemble de couches de neurones artificiels de convolution (204), présentant une sortie (H t ) fournissant des données de récurrence, et étant connectée à une sortie de la première partie (201) et à une sortie récurrente (H t -1 ) fournissant, pour une sous-séquence d’images supra-résolues (X t-1 , X t , X t+1 ) donnée d’une séquence d’images supra-résolues, reçue par le réseau de neurones artificiels (200), les données de récurrence fournies par le réseau de neurones artificiels (200) pour la sous-séquence d’images supra-résolues précédant la sous-séquence d’images supra-résolues (X t-1 , X t , X t+1 ) donnée dans la séquence d’images supra-résolues ; une troisième partie (203) comprenant un ensemble de couches de neurones artificiels de convolution (204), connectée à la sortie (H t ) de la deuxième partie (202) ; chaque couche de neurones artificiels de convolution (204) correspondant à une matrice circulante comprenant un sous-ensemble de paramètres de l’ensemble de paramètres liés à ladite couche de neurones artificiels de convolution (204), l'étape (101) d’entraînement supervisé comprenant pour chaque séquence d'images supra-résolues de la base de données, une sous-étape (1011) de mise à jour de l’ensemble de paramètres comprenant : la réception par le réseau de neurones artificiels (200), de chaque sous-séquence d’images supra-résolues (X t-1 , X t , X t+1 ) de la séquence d’images supra-résolues par ordre croissant, pour obtenir une séquence d’images super-résolues comprenant chaque image super-résolue (Y t ) fournie par le réseau de neurones artificiels (200) à partir d’une sous-séquence d’images supra-résolues (X t-1 , X t , X t+1 ) reçue ; la minimisation d'une fonction de coût correspondant à l’erreur entre la séquence d’images super-résolues obtenue pour la séquence d’images supra-résolues, et la séquence d’images super-résolues associée à la séquence d'images supra-résolues dans la base de données, la minimisation étant réalisée en appliquant une contrainte sur la valeur de la norme spectrale de chaque matrice circulante correspondant à une couche de neurones artificiels de convolution de la deuxième partie (202) ; Utilisation (102) sur chaque sous-séquence d'images supra-résolues de la séquence d'images supra-résolues à super-résoudre dans l’ordre croissant, du réseau de neurones artificiels (200) entraîné pour obtenir une séquence d’images super-résolues comprenant chaque image super-résolue (Y t ) fournie par le réseau de neurones artificiels (200) entraîné à partir d’une sous-séquence d’images supra-résolues (X t-1 , X t , X t+1 ) de la séquence d'images supra-résolues à super-résoudre. Procédé (100) selon la revendication 1, dans lequel la norme spectrale de chaque matrice circulante correspondant à une couche de neurones artificiels de convolution (204) de la deuxième partie (202) est contrainte à une valeur inférieure ou égale à 1. Procédé (100) selon l’une quelconque des revendications précédentes, dans lequel la minimisation de la fonction de coût est réalisée en appliquant en outre une contrainte sur la valeur du rang de chaque matrice circulante correspondant à une couche de neurones artificiels de convolution (204) de la deuxième partie (202). Procédé (100) selon l'une quelconque des revendications précédentes, dans lequel chaque couche de neurones artificiels de convolution (204) comporte un ensemble de neurones artificiels chacun connectés à au moins un neurone artificiel d’une couche de neurones artificiels précédente via une synapse affectée d’un poids synaptique, le sous-ensemble de paramètres lié à une couche de neurones artificiels de convolution (204) comportant chaque poids synaptique affecté à une synapse connectant un neurone artificiel de la couche de neurones artificiels de convolution (204). Procédé (100) selon l'une quelconque des revendications précédentes, dans lequel la troisième partie (203) du réseau de neurones artificiels (200) est en outre connectée à la sortie récurrente (H t -1 ). Procédé (100) selon l'une quelconque des revendications précédentes, dans lequel la troisième partie (203) du réseau de neurones artificiels (200) comprend en outre une couche de neurones artificiels de réarrangement par mélange de pixels (207). Procédé (100) selon l'une quelconque des revendications précédentes, dans lequel chaque couche de neurones artificiels de convolution (204), excepté une dernière couche de convolution du réseau de neurones artificiels (200), est immédiatement suivie d’une couche de neurones artificiels de rectification par unités linéaires (205). Produit-programme d’ordinateur comprenant des instructions qui, quand le programme est exécuté sur un ordinateur, conduisent celui-ci à mettre en œuvre les étapes du procédé (100) selon l’une quelconque des revendications 1 à 7. Support d'enregistrement lisible par ordinateur comprenant des instructions qui, lorsqu'elles sont exécutées par un ordinateur, conduisent celui-ci à mettre en œuvre les étapes du procédé (100) selon l’une quelconque des revendications 1 à 7.