Nicolas Brodu     
          
            S U P E R R E S
Nicolas
Brodu
S U P E R R E S

Delta de l'Eyre, se jettant dans le bassin d'Archachon. Première image: données d'origine (Sentinel-2 bande 1, violet 443 nm, 60m/pixel). Seconde image: super-résolution à 10m/pixel, inférant les détails des autres bandes tout en préservant la réflectance.

Première image: données d'origine (Sentinel-2 bande 9, infrarouge 945 nm, 60m/pixel). Seconde image: super-résolution à 10m/pixel, obtenue avec le même algorithme.

De quoi s'agit-t'il ? (avec contexte et sans trop de termes techniques)

Il s'agit d'une méthode pour améliorer des images satellites. Ces images sont fournies avec une résolution (i.e. taille de pixel au sol) qui dépend de nombreux compromis techniques. Imaginez prendre une photo de nuit. Deux possibilités s'offrent à vous : attendre qu'assez de lumière arrive (temps d'exposition plus long), ou laisser le capteur prendre l'image avec trop peu de lumière (valeur ISO élevée). Le premier choix rend flou les objets en mouvement, le second choix génère du bruit et une image de mauvaise qualité. Les satellites se déplacent sur leur orbite : il leur est difficile d'attendre très longtemps. Et des images de qualité médiocre ne sont tout simplement pas acceptables. Certains fabriquants de satellites recourent à une autre astuce : Ils prennent la lumière en provenance de toutes les couleurs en même temps, afin de produire une image en noir et blanc. En n'ayant pas à filtrer chaque couleur séparément, plus de lumière atteind donc le capteur. Évidemment, cette option n'est pas envisageable quand le but est, par exemple, de surveiller l'évolution de la végétation verte par rapport à un sol marron. Dans ce cas, des couleurs précisent sont nécessaires. Malheureusement, plus on filtre spécifiquement une couleur, et moins de lumière atteind le capteur. Dans ce cas, un autre choix assez courant est de réduire la résolution de l'image. Si, à la place de pixels de taille 10m×10m, on en prend des 20m×20m, alors on capture 4 fois plus de lumière. C'est un choix qui diminue la précision des détails mais, au moins, on peut avoir confiance dans des mesures qui ne sont pas corrompues par un bruit de capteur. Ainsi, il est assez courant de trouver des images satellites où la taille des pixels dépend de la couleur mesurée (e.g. rouge, vert, bleu, infrarouge..). C'est le cas pour les images des satellites Sentinel-2, qui présentent les deux cas : des pixels plus fins avec des couleurs moins précises, et des pixels plus grossiers avec des couleurs plus précises.
La méthode qui est présentée dans l'article indique comment récupérer les détails des pixels de plus haute résolution, afin de les propager sur toutes les couleurs. On obtient ainsi des images où des couleurs précises (i.e. "bandes spectrales") sont disponibles à la plus haute résolution de pixels.

Résumé

Cette méthode de super-résolution cible des images multispectrales et multirésolution, telles que celles en provenance des satellites Sentinel-2 (mais pas seulement). En partant des bandes de plus haute résolution, l'information qui dépend de la bande spectrale (réflectance) est séparée de l'information commune à toutes les bandes (géométrie des éléments de la scène). Ce modèle est ensuite appliqué pour démixer les bandes de plus faible résolution, préservant leur réflectance tout en propageant l'information commune afin de préserver les détails.

La version soumise (preprint) de l'article est disponible ici ainsi que sur ArXiv.org. Tout commentaire constructif (positif ou négatif) est bienvenu !

Logiciel, avec application à Sentinel-2

Vous pouvez télécharger la dernière version.

Cet algorithme de super-resolution est écrit et utilisable directement en C++ et il est aussi interfacé sous forme d'un module Python. Un script Python pour traiter les images Sentinel-2 est d'ailleurs fourni. Le code est développpé et n'est maintenu que pour Linux (Debian testing/unstable). Je n'ai ni l'envie ni le temps de supporter d'autres systèmes d'exploitations mais, si vous écrivez un portage pour votre système favori, n'hésitez pas à me l'indiquer. Je pourrais alors inclure un lien vers votre portage ici, ou l'inclure dans une future version (avec remerciements adéquats).

Cet algorithme de super-resolution est un logiciel Libre, selon la LGPL v2.1 ou plus récent ou, à votre convenance, selon la licence CeCILL-C. Le code source est maintenu dans mon dépôt de sources, à consulter pour des mises à jour éventuelles.

Style:
      R E C H E R C H E 
S
U
P
E
R
R
E
S
S
U
P
E
R
R
E
S