Télédétection
TD Visualisation des images

Licence Creative Commons
Marc Lang


Liste des exercices

Objectifs d'apprentissage

À la fin de ce TD, tu seras en mesure :

Téléchargement des données

Tu peux télécharger les données nécessaires à ce TD 👉 ici. 👈 Attention ce lien expire le 18 octobre

: Téléchargement des données.

  1. Télécharge les données.

  2. Mets l'archive zip dans un endroit adapté sur ton ordinateur (l'endroit où sont installés tes programmes n'est par exemple pas adapté 😉) ;

  3. Extrait (aka "dézippe") l'archive (si tu n'as aucune idée de ce que ça veut dire, demande rapidement à Google ou à ecosia si tu aimes les arbres).

  4. Marque dans l'exercice comme terminé dans Moodle.

Découverte des images de télédétection

Dans cette partie tu vas découvrir tes premières images de télédétection. L'objectif est de repérer de manière "naïve" les différences entre les images qui te sont proposées. Pour t'aider, tu vas utiliser l'outil Identifier les entités que tu connais déjà. Il te sert à inspecter les attributs d'entités vecteurs, il sert également à inspecter les valeurs d'un pixel.

: qu'est-ce qu'une image de télédétection ?

  1. Ouvre le projet Qgis decouverte.qgz.
  2. Utilise l'outil Identifier les entités sur une des six images de ton choix : combien de valeurs contient un pixel ?
  1. Note les différences entre les images que tu observes avec tes propres mots (taille, forme, impression, et valeurs de pixels)
  2. De manière plus précise, quelle(s) différence(s) observes-tu entre :





  1. Marque dans l'exercice comme terminé dans Moodle.

Tu as pu voir à travers cet exercice qu'il y a une différence entre le contenu des pixels et ce que y est affiché par QGIS :

Prends donc garde à ce que tu vois ! Aie toujours le réflexe de regarder le contenu des pixels, soit avec l'outil identifier les entités, soit avec l'outil Value Tool que nous verrons plus tard.

Obtenir des informations sur les images

Avec GDAL

Avant même d'ouvrir des images de télédétection, il est possible d'obtenir des informations sur leurs propriétés à l'aide de l'application gdalinfo en ligne de commande :

gdalinfo fabas_octobre_2013.tif

Dans ce cas, les informations s'afficheront dans le terminal.

Tu peux bien entendu le faire depuis QGIS : Boîte à outils de traitements ► GDAL ► Divers raster ► Information raster. Dans ce cas, les informations s'afficheront dans l'onglet Journal de la fenêtre de traitement.

Avec OTB

Il est également possible d'obtenir les mêmes informations en utilisant l'application OTB ReadImageInfo :

RAPPEL : OTB en ligne de commande

Pour lancer une application otb en ligne de commande il faut tout d'abord activer l'OTB

Avec QGIS

Enfin, ces informations sont disponibles dans QGIS (via GDAL) sans passer par la boîte à outils de traitements. Pour les obtenir il faut Clique droit sur une couche ► propriétés ► onglet Information.

: Obtenir des informations sur une image.

Sur l'image de fabas_octobre_2013.tif, cherche les informations suivantes avec les trois méthodes proposées :

  1. Nombre de lignes, colonnes et bandes ;
  2. Taille des pixels ;
  3. Type des données de l'image ;
  4. Origine de l'image (coordonnées du pixel en haut à gauche de l'image) ;
  5. Projection.

  1. Marque dans l'exercice comme terminé dans Moodle.

Visualisation

Tu vas maintenant visualiser dans QGIS des images de télédétection. Les images que tu vas utiliser sont des images du satellite Pléiades, acquises le 12 octobre 2013 et le 10 décembre 2013. Les images sont fournies au format GeoTIFF.

Visualisation d'une bande en niveau de gris

La première étape que tu vas faire pour prendre en main les images que tu as à disposition est de visualiser les bandes une par une en niveau de gris. L'objectif est de déterminer à quel domaine spectrale correspond chaque bande de l'image. Vous pouvez pour cela pour procéder de plusieurs manières :

  1. En regardant l'aspect général de l'image pour une bande donnée :
    • en l'afffichant en niveau de gris : Clique droit sur l'image ► Propriétés ► Symbologie ► Rendu des bandes raster ► Bande Grise Unique
    • en améliorant éventuellement le contraste (nous reviendrons plus en détails sur cet aspect un peu plus tard dans la séance) ;
Amélioration du contraste
  1. En utilisant l'outil Value Tool (un plugin à installer - installer un plugin) qui est un outil similaire à Indentifier les identités mais qui permet de relever l'information spectrale contenue dans les pixels de manière plus aisée et sous forme de graphique :
Utilisation du mode Graph de Value Tool.

: Image en niveau de gris et interpretation

  1. Ouvre un nouveau projet Qgis ;
  2. Ouvre l'image fabas_octobre_2013.tif dans Qgis ;
  3. Affiche une bande en niveau de gris ;
  4. Améliore son contraste :
Exemple d'affichage contrasté de la bande Rouge
  1. Regarde quelques valeurs de pixels à l'aide de l'outil ValueTool
  2. Avec de tes nouvelles connaissances et les outils proposées, trouve à quel domaine spectral correspond chacune des bandes de l'image de manière à remplir le tableau suivant :
Numéro de bande Domaine spectrale (bleu, rouge, etc ?)
1 ?
2 ?
3 ?
4 ?
Correspondances à trouver entre les numéros de bande et les domaines spectraux.





  1. Marque dans l'exercice comme terminé dans Moodle.

Composition colorée

Maintenant que tu es plus à l'aise avec les images du TD, tu vas afficher plusieurs compositions colorées à l'aide de l'affichage Couleur à bandes multiples : Clique droit sur l'image ► Propriétés ► Symbologie ► Rendu des bandes raster ► Couleur à bandes multiples. Il s'agit ensuite d'attribuer à chaque canal (Bande rouge, Bande verte ou Bande bleue) les bandes de l'image de ton choix.

Pour rappel une composition en vraies couleurs correspond à l'association entre les canaux et les domaines spectraux suivants :

Canal Domaine spectrale
Rouge Rouge
Vert Vert
Bleu Bleu
Composition colorée vraies couleurs.

Pour obtenir un affichage "naturel" :

Affichage en composition colorée vraies couleurs.

Pour rappel une composition en IRC fausses couleurs correspond à l'association entre les canaux et les domaines spectraux suivants :

Canal Domaine spectrale
Rouge Infra-Rouge
Vert Rouge
Bleu Vert
Composition colorée IRC fausse couleurs.

Pour obtenir un affichage où la végétation est mise en avant (en rouge) :

Affichage en composition colorée IRC fausses couleurs.

: Composition colorée

Dans l'exercice précédent tu as identifié les domaines spectraux des bandes des images Pléiades. Tu vas donc faire des compositions colorées en connaissance de cause.

Sur l'image fabas_octobre_2013.tif :

  1. Effectue une composition colorée vraies couleurs (RVB) ;
  2. Effectue une composition colorée fausses couleurs (IRC) ;
  3. Ouvre maintenant l'image fabas_decembre_2013.tif et effectue une composition colorée fausses couleurs (IRC) ;
  4. Comparez les deux images à l'aide de l'outil MapSwipeTool (Plugin à installer - installer un plugin) : Quelles différences observes-tu ?
Exemple d'utilisation de Map Swipe Tool.
  1. Marque dans l'exercice comme terminé dans Moodle.

Améliorer le contraste de l'image

Dans la partie Visualisation d'une bande en niveau de gris, tu as vu de manière très rapide comment améliorer le contraste d'une image. Revenons un peu plus en détails sur cette notion.

Pour rappel, une image est caractérisée (entre autres) par le type de ses données et donc une plage de valeurs possibles (voir tableau ci-dessous).

Type Type en python Plage de valeurs Taille d’une image 1000 x1000 pix
Entier (non) signé de 8 bits uInt8 - int8 0 à 255 ou -127 à 127 ~ 1 Mo
Entier (non) signé de 8 bits uInt16 – int16 0 à 65535 ou - 32778 à 32778 ~ 2 Mo
Entier (non) signé de 8 bits uInt32 – int32 0 à 4294967295 ou -2147483647 à 2147483647 ~ 4 Mo
Nombre à virgule flottante de 32 bits float32 1.5 x 1045^{-45} à 3.4 x 1038^{38} précision de 7 chiffres ~ 4 Mo
Nombre à virgule flottante de 64 bits float64 1.5 x 10345^{-345} à 3.4 x 10308^{308} précision de 15 ou 16 chiffres ~ 8 Mo
Principaux type de données des images.

Les images Pléiades que tu utilises sont codées en UInt16 - nombre entier non signé de seize bits, ce qui veut dire que les valeurs de l'image sont comprises entre 0 à 65535. On pourrait donc imaginer configurer l'affichage d'une bande dans QGIS en réglant le minimum des valeurs à afficher à 0 et le maximum à 65535 (voir Figure ci-dessous).

Aucune amélioration du contraste.

Or, en pratique, la valeur maximale d'une bande correspond rarement à la valeur maximale autorisée par le type des données de l'image. On peut voir par exemple sur l'histogramme de la bande IR ci-dessus que la valeur maximale de la bande IR est largement inférieure à 65535 : l'histogramme de la bande est donc complétement aplati et le rendu visuel est noir. Il faut donc configurer l'affichage de chaque bande en fonction de sa dynamique !

Regardons ce qu'il se passe si on configure manuellement cette fois ci les valeurs maximales avec une valeur plus faible, qu'on imagine plus proche de la dynamique des bandes. Prenons par exemple une valeur maximale de 255 :

Configuration manuelle du contraste.

Il est cette fois-ci possible de visualiser l'image mais notre configuration manuelle n'est pas tout à fait satisfaisante. La plage de valeurs utilisée par QGIS (0-255) est beaucoup plus restreinte que la plage de valeur de la bande IR (à peu près 0 - 1750 d'après l'histogramme de la figure ci-dessus): l'image apparait trop lumineuse.

On pourrait finir par trouver une configuration satisfaisante par tatonnement mais QGIS nous permet directement d'adapter l'affichage à la dynamique des bandes grâce à l'option Paramètres de valeurs Min/Max ► Min/Max :

Amélioration du contraste selon le minimum et maximum de chaque bande.

On obtient cette fois un affichage correspondant à la dynamique de l'image, automatiquement.

Il est toutefois possible d'améliorer le contraste de l'image en réduisant la plage de valeurs utilisée par QGIS. Il est d'usage d'utiliser comme minimum et maximum non plus les minimum et maximum mais le 2 ième et le 98ième quantile grâce à l'option Paramètres de valeurs Min/Max ► Cumulatif décompte de coupe:

Amélioration du contraste selon le 2ième et 98ième quantile de chaque bande.

Pour plus de détails sur l'amélioration du contraste vous pouvez consulter la Documentation de QQIS à ce propos.

: Comprendre la configuration du contraste d'une image.

Teste, sur une zone de ton choix, les différentes configurations d'affichage proposées ci-dessous :

  1. Configuration manuelle :
    1. Plage de valeurs de 0 à 65535 :
    2. Plage de valeurs de 0 à 255 ;
  2. Configuration automatique :
    1. Selon Min / Max ;
    2. Selon le 2 ième et le 98 ième quantile ;
  3. Essaie aussi de comprendre l'impacte du paramètre "Statistique de l'emprise".
  4. Marque dans l'exercice comme terminé dans Moodle.

NoData

Que sont les valeurs NoData ?

Il est possible que certaines zones d'une image ne contiennent pas d'information et ce pour plusieurs raisons :

Toute l'image ne correspond pas forcément à de la donnée : la zone d'acquisition n'a pas la même emprise que l'image (à gauche) ou une partie de l'image a été masquée (à droite)

Cependant, chaque pixel d'une image contient obligatoirement une valeur, il est alors d'usage d'attribuer la même valeur à ces pixels "non informatifs". On leur atribue généralement la valeur maximale possible (pax ex. 65535 pour une image en entier 16 bit non signée) ou une valeur particulière (par ex. 0 ou -9999).

Ces valeurs particulières ne doivent pas être prises en compte pour les différents traitements réalisés sur les images puisqu'elle ne correspondent pas à des valeurs de réflectance (ou luminance). Pour cela, il est possible de renseigner dans les métadonnées de l'image quelle est cette valeur de NoData.

Tu peux consulter la valeur de NoData d'une image à l'aide de l'application Information Raster de GDAL (gdalinfo en ligne de commande) ou ReadImageInfos de l'OTB (cf partie Obtenir des informations sur les images).

: Trouver la valeur de Nodata dans les métadonnées.

  • Ouvre l'image fabas_octobre_2013_V2.tif ;
  • Ne te préoccupe pas de l'affichage pour le moment ;
  • Regarde la valeur de NoData à l'aide de l'application Information Raster --> si une valeur de NoData est présente dans les métadonnées elle sera indiquée par le tag NoData Value=, dans l'onglet Journal, après avoir exécuté Information Raster sur fabas_octobre_2013_V2.tif. Sinon, le tag ne sera pas présent.
  • Y-a-t-il une valeur de NoData renseignée dans les métadonnées de l'image fabas_octobre_2013_V2.tif ?

  • Marque dans l'exercice comme terminé dans Moodle.

Gestion du NoData de manière simple et non-définitive

Tu as vu dans la partie précédente qu'il n'y a pas de valeur de NoData renseignée dans les métadonnées de l'image fabas_octobre_2013_V2.tif. Pour autant, cette image contient bien des zones sans données de réflectance, sauras-tu les repérer ?

: Trouver la valeur de Nodata quand elle n'est pas dans les métadonnées.

Constate dans un premier temps qu'il existe des zones sans donnée dans les images du TD :

  • Ouvre l'image fabas_octobre_2013_V2.tif ;

  • Que peux tu dire de l'affichage de l'image ?

  • Compare les valeurs cette image avec fabas_octobre_2013.tif: les valeurs sont-elles les même ?

  • Alors à ton avis pourquoi l'affichage n'est pas correcte ? Regarde les valeurs configurées dans le style de la couche pour te faire une idée.

  • Essaie de changer manuellement pour obtenir un affichage qui te convient.

  • Mieux : tu as configuré l'affichage de fabas_octobre_2013.tif lors de la partie Améliorer le contraste de l'image , tu peux automatiquement appliquer le style de l'image fabas_octobre_2013.tif à l'image fabas_octobre_2013_V2.tif :

    1. Dans le panneaux des couches
    2. Clique droit ► Styles ► Copier le style sur fabas_octobre_2013.tif
    3. Clique droit ► Styles ► Coller le style sur fabas_octobre_2013_V2.tif
  • Marque dans l'exercice comme terminé dans Moodle.

Tu as peut être remarqué que l'amélioration automatique de contraste se basant sur le minimum et le maximum de l'image (voir la section Améliorer le contraste de l'image) ne fonctionnait pas avec la couche fabas_octobre_2013_V2.tif. Par défaut, QGIS ne sait pas si l'image que tu affiches contient des zones sans donnée : il prend en compte toutes les valeurs de l'image pour régler l'affichage. Dans cet exemple, les zones sans donnée ont une valeur (qu'il vous faudra trouver dans l'exercice suivant) qui pertube l'affichage dans QGIS.

Il faut donc renseigner une valeur de NoData, c'est à dire indiquer quelle valeur il ne faut pas prendre en compte pour l'affichage, car elle n'est pas une vraie valeur. Pour ce faire, il est possible de le faire de manière non permanente.

: Gérer de manière temporaire l'affichage d'une valeur de Nodata.

  1. Trouve quelle est la valeur de NoData (avec Value Tool sur les zones que tu suspecte comme étant "sans données").
  1. À quoi correspond la valeur de NoData que tu as touvée ?
  1. Renseigne une valeur de NoData : Clique droit sur la couche ► Propriétés ► Transparence ► Aucune Valeur de données
Ajouter une valeur de transparence.
  1. Règle automatiquement le contraste de l'image en te basant sur les quantiles 2 et 98 ème de l'image (Cf Améliorer le contraste de l'image).

  2. Marque dans l'exercice comme terminé dans Moodle.

Tu as ici configuré QGIS pour ne pas prendre en compte les zones sans donnée dans l'affichage de l'image. Il faut bien comprendre que cette opération est temporaire et ne concerne que l'affichage de l'image, pas les métadonnées de l'image.

: Gérer de manière temporaire l'affichage d'une valeur de Nodata (suite).

Pour s'en convaincre :

  1. Regarde la valeur de NoData à l'aide de l'application Information Raster ou ReadImageInfos ;
  2. Y-a-t-il une valeur de NoData renseignée dans les métadonnées de l'image fabas_octobre_2013_V2.tif ?

  1. Supprime l'image fabas_octobre_2013_V2.tif de QGIS puis recharge là.
  2. Que constates-tu ?

  1. Marque dans l'exercice comme terminé dans Moodle.

Gestion du NoData de manière définitive

Il est posssible de renseigner dans les méta-données la valeur de NoData de l'image. QGIS reconnaîtra ainsi directement ces valeurs et ne les considerera pas ni pour les traitements raster futurs, ni pour la configuration de l'affichage.

Tu vas pour cela utiliser l'outil Convertir de Gdal.

: Inscrire une valeur de Nodata dans les métadonnées d'une image.

  • Renseigne la valeur de NoData avec l'outils Convertir et nomme le fichier en sortie fabas_octobre_2013_V2_nodata_ok.tif:

  • Ouvre l'image produite et constate dans les méta-données la nouvelle valeur de NoData (à l'aide de Information Raster)

  • Marque dans l'exercice comme terminé dans Moodle.

NOTE sur l'outil convertir.

L'outil Convertir permet de faire d'autres modifications que l'ajout d'une valeur de nodata, d'où l'existence de champs inutiles dans l'exercice précédent. Pour plus d'informations n'hésite pas à te référer à la documentation de QGIS où même celle de GDAL.

Un peu de pratique

: Mise en pratique sur une image que tu ne connais pas !

  1. Ouvre l'image : janvier_all_bands_10m.tif
  2. Relève ses propriétés :
    • Dimensions : nombre de lignes et de colonnes ;
    • Résolution spatiale ;
    • Système de projection ;
    • Type des données de l'image ;
    • Valeur de nodata ;
    • Nombre de bandes ;
  3. Indique la valeur de Nodata dans les métadonnées si nécessaire ;
  4. Change le type des données de l'image vers des entiers signés de 16 bits avec l'outil Convertir. Constate la différence de taille sur l'espace disque des deux images.
  5. Pourquoi n'aurait-ce pas été judicieux de convertir le type des données en entiers non signés de 16 bits ? Aurait-ce changé la taille des images ?

L'image est issue d'une acquistion du Satellite S2. Les bandes 2, 3, 4, 5, 6, 7, 8 et 8a ont été concaténées dans une seule image, pour une résolution spatiale de 10m.

  1. En t'aidant des informations disponibles sur cette page web, réalisez une composition colorée :
    a. Vraies couleurs et configure le contraste sur le min/max de chaque bande ;
    b. Inra-rouge couleurs et configure le contraste sur les percentiles 2 et 98 de chaque bande.

  2. Si tu as bien lu la page web, tu as du comprendre que certaines bandes avaient à l'origine une résolution spatiale de 20m, repère visuellement cette différence de résolution sptiale.

  3. Marque dans l'exercice comme terminé dans Moodle.