1
MODULE 4 : SEGMENTATION D’IMAGES ET CLASSIFICATION PAR
OBJET
RAPPEL : La segmentation d’images vise la définition des entités spatiales (objets) sur les images.
Les données par objet dans les différentes bandes spectrales sont utilisées pour extraire des
attributs (le plus souvent les moyennes des bandes spectrales). Ces attributs sont introduits dans
un classificateur standard et l’ensemble de pixels par objet sont attribués à une classe quelconque
(classification objet par objet au lieu de pixel par pixel).
GEOMATICA : Le progiciel n’offre qu’un seul algorithme de segmentation d’images développé
pour la segmentation d’images bruitées comme celles provenant des radars : SARSEG. Ici nous
l’appliquerons avec une image multispectrale de haute résolution provenant du satellite
WordView2. De cette image nous avons extrait une sous-image avec un nombre de lignes limité
à 1024. La raison est que l’algorithme dans le cas des images avec un nombre de lignes plus élevé
présente des défauts.
Voici les bandes de WV2 en nanomètres. La bande panchromatique nest pas utilisée ici.
1. PRÉPARATION DU CANAL À SEGMENTER
La segmentation d’images s’opère habituellement à un seul canal. C’est le cas de SARSEG. Nous
aurions pu choisir une parmi les 8 bandes de WV2 et appliquer l’algorithme. Cependant, puisque
nous possédons une image multispectrale nous allons créer un canal qui reflète mieux le contenu
de l’ensemble des bandes spectrales via l’analyse en composantes principales (ACP). Avant de
passer à l’ACP nous allons normaliser le contenu des bandes spectrales en les transformant en
réflectances apparentes.
1.1 Conversion en réflectances apparentes
La conversion en réflectances apparentes se fait en deux étapes : 1) Conversion des valeurs
numériques en luminances au capteur et 2) conversion des luminances à des réflectances
apparentes.
2
La conversion en luminances se fait comme suit dans le cas de WV2 :
𝐿[𝑏𝑎𝑛𝑑𝑒; 𝑖, 𝑗]= 𝐾[𝑏𝑎𝑛𝑑𝑒]×𝑉𝑁[𝑏𝑎𝑛𝑑𝑒; 𝑖, 𝑗]
∆𝜆[𝑏𝑎𝑛𝑑𝑒]
𝐿[𝑏𝑎𝑛𝑑𝑒; 𝑖, 𝑗] est la luminance au capteur (en W m-2 sr-1 m -1) dans une bande quelconque et
au pixel à la position [i,j], 𝐾[𝑏𝑎𝑛𝑑𝑒] est le coefficient d’étalonnage pour la bande examinée (en
W m-2 sr-1 m -1 VN-1), 𝑉𝑁[𝑏𝑎𝑛𝑑𝑒; 𝑖, 𝑗] est la valeur numérique du pixel à la position [i,j] dans la
bande examinée, et ∆𝜆[𝑏𝑎𝑛𝑑𝑒] est la largeur effective de la bande examinée (en micromètres).
Les 𝐾[𝑏𝑎𝑛𝑑𝑒] varient d’une acquisition d’image à l’autre tandis que ∆𝜆[𝑏𝑎𝑛𝑑𝑒] demeurent
constantes. Tous deux sont rapportés dans le fichier des métadonnées qui accompagne l’image.
La conversion des luminances apparentes en réflectances apparentes se fait comme suit :
𝜌[𝑏𝑎𝑛𝑑𝑒; 𝑖, 𝑗]=𝜋 × 𝐿[𝑏𝑎𝑛𝑑𝑒; 𝑖, 𝑗]× 𝑑2
𝐸0[𝑏𝑎𝑛𝑑𝑒]sin(𝑎)
𝜌[𝑏𝑎𝑛𝑑𝑒; 𝑖, 𝑗] est la réflectance apparente (adimensionnelle) dans la bande examinée et au
pixel à la position [i,j], 𝑑 est la distance Terre-Soleil (en unités astronomiques) pour la date
d’acquisition, 𝐸0[𝑏𝑎𝑛𝑑𝑒] est l’éclairement solaire exo-atmosphérique pour une distance
moyenne Terre-Soleil (en W m-2m -1) pour la bande examinée, et coefficient d’étalonnage pour
la bande examinée (en W m-2 sr-1 m -1 VN-1), et 𝑎 est l’angle d’élévation solaire. La distance Terre-
Soleil est calculée en fonction de la date d’acquisition convertie en jour de l’année. Dans notre
cas le jour de l’année était de 184 (troisième jour de juillet de l’année 2010). L’éclairement solaire
par bande est calculé en fonction de la sensibilité spectrale de chaque bande et des tables
d’éclairement solaire spectral disponibles par des observatoires astronomiques. Finalement
l’angle d’élévation solaire (en degrés) est souvent indiqué dans le fichier des métadonnées.
Application avec GEOMATICA
1) Ajouter 8 canaux de 32R à votre image pour recevoir les valeurs de réflectance.
2) Ouvrir la petite fenêtre de EASI-Modeling, copier-coller le contenu du fichier Conversion_
VN_en réflectances.txt disponible dans votre répertoire et exécuter.
QUESTION
Le script combine les deux équations présentées ci-dessus. Analyser ce script et répondre aux
questions suivantes :
a) Remplir le tableau suivant
Bande
Coefficient d’étalonnage
absolu
Largeur de bande
effective
Éclairement solaire
1
2
3
4
5
6
7
8
b) Quelle était la distance Terre-Soleil et quel est l’angle d’élévation solaire?
1.2 Application de l’ACP et choix du canal pour la segmentation
* Revoir les notes TRANSFORMATION IMAGES MULTISPECTRALES.pdf. ainsi que les notes
(MODULE 1) sur les notions mathématiques.
3
Algorithm Librarian algorithme PCA
Files Input : les 8 canaux avec les réflectances (pas de masque)
Output : Fichier XXXX.pix nom de votre choix
Input Params 1 À des fins de visualisation nous allons créer les 8 composantes principales
(nombre de composantes principales = nombre de canaux input); les valeurs correspondant aux
boutons jaunes défaut; les CP seront du type 32R; le type de rapport LONG; et le mode du
rapport LOG ou si vous voulez un fichier *.txt.
Question
A) Dans le rapport : vous avez une première partie avec les statistiques des canaux de
réflectance. Quelle est la corrélation entre les canaux des réflectances 1 et 3?
B) Dans LOG : vous avez une deuxième partie avec les valeurs propres (Eigenvalues) et les
vecteurs propres (Eigenvectors) de la matrice de variance-covariance.
B1. Supposons que vous avez deux canaux avec le diffusiogramme suivant :
4
Tracez approximativement les deux composantes principales (axes) centrés au point
des moyennes qui auraient être calculées par l’analyse de la matrice de variance-
covariance de ces deux canaux. Que représentent les valeurs propres et les vecteurs
propres?
B2 : Pour calculer les valeurs des composantes principales, PCI centre par défaut les axes
au point des moyennes et emploie les vecteurs propres selon la formule suivante :
𝑪𝑷𝒏= 𝒆𝒏𝟏 ×(𝒙𝟏− 𝒙
̅𝟏)+ 𝒆𝒏𝟐 ×(𝒙𝟐− 𝒙
̅𝟐)⋯ 𝒆𝒏𝒏 ×(𝒙𝒏− 𝒙
̅𝒏)
où 𝒆, 𝒙, 𝒙
̅ sont respectivement le vecteur propre correspondant à une des composantes
principales, les valeurs input dans les différentes bandes ainsi que les moyennes des
bandes. Un pixel avait comme réflectances apparentes dans les 8 bandes : 0.18, 0.17,
0.15, 0.14, 0.14, 0.13, 0.14, et 0.11. Le pixel correspondant dans la première composante
avait comme valeur -0.26. Vérifier ce résultat à partir de votre rapport.
C) Dans le rapport on note à côté des valeurs propres « %Variance ». Que signifient ces
chiffres?
D) Afficher vos composantes principales. À partir de la troisième composante qu’est-ce qui
ressort tout particulièrement?
La première composante principale sera retenue comme le canal à segmenter. Puisque
l’algorithme fonctionne mieux en 16 bits nous allons :
1) Ajouter un canal de 16U à votre image avec les composantes principales; et
2) Appliquer la transformation :
%9=(%1+1) x 10000
**On ajoute 1 à la première composante principale pour préserver les valeurs
négatives.
5
2. APPLICATION DE L’ALGORITHME SARSEG
Bref aperçu : lalgorithme SARSEG recherche des arêtes fermées qui peuvent représenter les
contours des objets individuels. En premier lieu, on applique un filtre de détection darête de
Sobel (3x3) afin identifier des pixels de départ pour la recherche des contours. Centrés sur ces
pixels des filtres de taille variable sont appliqués pour établir des chaînes des pixels qui
constituent le contour dun objet.
Files input : la première composante principale dans le canal en 16U
On coche seulement les viewers. En tout cas, SARSEG crée un fichier temporaire où sont
inclus les résultats de segmentation comme il le sera expliqué plus loin.
Input Params - Maximum number of iterrations : défaut
Edge detection threshold et Sobel Filter edge detection filter: les valeurs
proposées 4.6 et 2.
Le reste : défaut
Un fichier temporaire est créé contenant : 1) un canal avec des objets identifiés numérotés 2) le
canal utilisé pour la segmentation et 3) un canal avec la moyenne des valeurs par objet. Afficher
le canal « region IDs » en pseudocouleurs en transparence sur la première composante principale
pour mieux voir avec un zoom les objets (régions) reconnus. Nous pouvons constater que la
définition des objets correspond assez bien aux régions que lon peut reconnaître visuellement.
1 / 11 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!