Vous êtes sur la page 1sur 30

Mastère SILAT

Extraction de l’information
à partir des données de télédétection

Raffaele GAETANO
27-28 Novembre 2017

Travaux Pratiques:

Analyse orientée objet d’images à très haute


résolution spatiale sous QGIS/OTB

UMR TETIS AgroParisTech-Irstea-CIRAD tél : (33) 04 67 54 87 54


Maison de la Télédétection en Languedoc-Roussillon fax : (33) 04 67 54 87 00
500, rue J.F. Breton
F-34093 MONTPELLIER CEDEX 5
Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Introduction et objectif général


L’approche orientée objet (AOO) est un paradigme récent pour l’analyse d’images de télédétection finalisée à
l’extraction d’informations dans des domaines d’applications très variés. Motivée par la croissante disponibilité
de données à très haute résolution spatiale (THRS), cette approche se base sur une segmentation préalable
d’une image en agglomérés de pixels, les objets, qui représentent les éléments de base de l’analyse. Elle
permet tout d’abord de faire face à plusieurs limites de l’approche pixélaire, liées à l’impossibilité de
différencier les classes particulièrement mélangées au niveau des valeurs spectrales et des indices
radiométriques. De plus, l’AOO permet l’extraction de caractéristiques beaucoup plus variés (de texture,
forme, etc.) et donc d’informations de plus en plus complexes, allant jusqu’à la possibilité d’une véritable
interprétation sémantique et structurée des données.
L’objectif de ce TP est de prendre en mains les outils d’AOO mis à disposition dans QGIS, une nouvelle
plateforme de SIG libre et gratuit actuellement en plein développement, et de son extension pour le traitement
avancé des données raster, le Orfeo Toolbox (OTB). Le TP se compose de trois parties :

 introduction aux techniques de segmentation disponibles dans OTB,


 classification à objet d’images basée sur l’expertise,
 classification automatique par approche à objet.

Objectifs techniques:
- Effectuer la segmentation d’une image multi-spectrale à THRS
- Extraire les caractéristiques spectrales, de texture et de forme des objets d’une image
- Construire des cartes d’occupation du sol par classification à objet

SOMMAIRE

Fiche n° 1 : Techniques de segmentation ...................................................................................................... 3


1.1 Segmentation Mean-Shift ................................................................................................................ 3
1.2 Segmentation Baatz-Schape ............................................................................................................ 7
Fiche n° 2 : Classification par règles d’expertise ....................................................................................... 12
2.1 Extraction de caractéristiques spectrales ....................................................................................... 12
2.2 Extraction de caractéristiques de forme ......................................................................................... 15
2.3 Extraction des caractéristiques de texture...................................................................................... 18
Fiche n. 3 : Classification basée sur exemples (semi-supervisée)............................................................... 20
3.1 Génération d’une vérité terrain par approche à objet .................................................................... 20
3.2 Classification pixélaire et régularisation à objet par majorité ....................................................... 23
3.3 Classification directe d’une couche vectorielle ............................................................................. 27

Extraction de l’info en télédétection : analyse orientée objet page 2 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Fiche n° 1 : Techniques de segmentation

Dans cette première partie, nous allons tester le fonctionnement de deux techniques de segmentation différentes. Nous
partirons d’une image à très haute résolution spatiale, caractérisée par la présence de détails à l’échelle fine, dans
l’objectif de produire une partition en objets permettant l’extraction d’informations significatives.
Dans QGIS, les algorithmes de segmentation sont disponibles dans la boîte à outils de traitement, et sont fournis par
la librairie logicielle OTB. Néanmoins, l’approche à objet sous OTB étant actuellement en pleine phase de
développement, les techniques actuellement disponibles sont relativement moins performantes que celles mises à
disposition dans des logiciels payants, tels que la suite eCognition Developer. Heureusement, la nature ouverte de
QGIS permet facilement l’intégration de nouveaux algorithmes de traitement, ce qui nous permettra de tester aussi
d’autres techniques que nous avons portées sous QGIS à partir de code source ouvert.
En particulier, nous allons essayer :
 la technique de segmentation Mean-Shift, implémentée dans la boîte à outils Orfeo ;
 la technique nommée segmentation Baatz-Shaepe basée sur le même algorithme de segmentation multi-
résolution disponible dans eCognition.

Remarque : les données et les démarches présentées dans ce TP font référence aux tutoriels disponibles sur le site du
logiciel Exelis ENVI à l’adresse http://www.exelisvis.com/Learn/Resources/Tutorials.aspx

1.1 Segmentation Mean-Shift


La segmentation Mean-Shift se base sur une analyse conjointe des caractéristiques spatiales et spectrales des pixels de
l’image. Chaque pixel est en effet caractérisé en même temps par sa réponse spectrale (les comptes numériques dans
les différentes bandes de l’image) et par sa position. Une analyse statistique de la distribution de ces données permet
d’obtenir le meilleur regroupement de pixels à la fois proches et homogènes. Deux paramètres principaux règlent le
fonctionnement de cette technique :
 le range radius, qui définit le rayon de recherche de voisins dans l’espace de la réponse spectrale (pixels
proches en « couleur »),
 le spatial radius, qui fait de même pour le voisinage dans l’espace (pixels proches par position).
Commençons donc notre démarche sous QGIS.

Démarche Manipulation sous QGIS

Démarrer le logiciel  Lancer le logiciel en cliquant sur l’icône QGIS.

Charger une couche raster  Copier sur votre espace personnel l’image :

Hobart_GeoEye_pansharp.dat
et son fichier d’entête Hobart_GeoEye_pansharp.hdr

 Chargez cette image (le fichier .dat) à partir du Menu Principal

Extraction de l’info en télédétection : analyse orientée objet page 3 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Démarche Manipulation sous QGIS

Ajuster l’affichage de l’image en RGB dans les propriétés de la couche raster :

QUESTION 1 a) Décrivez la scène capturée par l’image : quel est le milieu ? Quelles sont
ses caractéristiques (artificialisation, végetation, surfaces en eau, etc.) ?
b) Quelles informations peuvent être d’intêret ? Y a-t-il une échelle
d’observation unique à laquelle elle peuvent être extraites ?

Configuration de la Les objets générés par cette étape de segmentation seront ensuite caractérisés par
segmentation Mean-Shift un ensemble hétérogène de descripteurs (spectraux, de texture et de forme).
L’objectif est donc de trouver un compromis sur leur taille, qui doit être ni trop petite
(pour permettre la préservation des formes et le calcul d’indices texturaux) ni trop
grande (pour garder intacts les détails fins de l’image).
La technique Mean-Shift peut être lancée à partir de la boîte à outils de traitement :

La fenêtre suivante s’ouvre dans QGIS :

Extraction de l’info en télédétection : analyse orientée objet page 4 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Démarche Manipulation sous QGIS

Ne vous laissez pas impressionner par le nombre de réglages à effectuer. Pour la


plupart d’eux, les valeurs de défaut sont correctes dans notre cas. Seul quelques-uns
parmi eux nécessitent un choix :

Extraction de l’info en télédétection : analyse orientée objet page 5 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Démarche Manipulation sous QGIS

 Spatial et Range radius : contrôlent le mécanisme de recherche de voisins


 Mode convergence threshold et Maximum number of iterations : règlent
le compromis entre précision et vitesse de calcul
 Minimum region size : contrôle la taille minimale des objets (important)

La sortie de l’algorithme est une couche vectorielle (une géométrie par objet), ayant
un seul champ (index d’objet, « DN » dans l’exemple).
Laissez pour le moment sans changements les paramètres Spatial et Range radius,
et changez Maximum number of iterations à 10. Choisissez un fichier en sortie et
lancez le traitement. Ça peut être un peu long…

Evaluation de la Vous avez obtenu votre première segmentation. Pour permettre une évaluation
segmentation subjective de la qualité de la segmentation, il convient de changer le style de la
couche pour n’afficher que les contours des objets (remplissage transparent):

Vous pouvez désormais à la fois avoir une vue d’ensemble sur la segmentation et
zoomer pour en apprécier les détails.

QUESTION 2 a) Regardez les objets qui ont été produits. Ont-ils une taille
comparable ? Que se passe-t-il dans les zones avec plus de détails à
l’échelle fine ? et dans les zones homogènes ?
b) Quelle est la cohérence spectrale et texturale de chaque objet ? Les
caractéristiques de forme sont-elles bien préservées ?
c) Essayez de lancer l’algorithme en modifiant (légèrement) les 2
paramètres « radius », ainsi que le minimum region size. Trouvez-vous
une « meilleure » segmentation ?

Extraction de l’info en télédétection : analyse orientée objet page 6 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

1.2 Segmentation Baatz-Schape


Cette technique de segmentation multi-résolution est une technique ascendante de croissance par paire de régions
qui débute par un (ou plusieurs) objet(s) constitué(s) d’un seul pixel de l’image. Les plus petits objets sont ensuite
fusionnés de façon itérative dans de plus grands en fonction des critères d’homogénéité utilisant l’information des
bandes spectrales de l’image ainsi que la forme des objets courants. Le processus s’arrête lorsque l’homogénéité
des objets candidats à la fusion dépasse un seuil d’hétérogénéité maximale acceptée.
En particulier, cette version de l’algorithme nécessite le réglage de 3 paramètres (voir Fig. 1):

 Scale parameter (paramètre d’échelle) : il permet de fixer une limite « abstraite » (pas d’unité de mesure) qui
détermine l’hétérogénéité maximale permise des objets produits par la segmentation. Les objets résultant d’un
même paramètre d’échelle seront plus petits pour des données hétérogènes et plus grands pour des données
homogènes. Pour la même image la modification de ce paramètre modifie la taille des objets produits par la
segmentation.
 Deux paramètres concourant à la définition du critère d’homogénéité auquel le paramètre d’échelle se refère:
o Shape (forme vs. « couleur ») : il est possible de choisir de donner plus ou moins d’importance à la
couleur ou à la forme de l’objet. Une valeur égale à 0 impliquera que les objets seront optimisés ex-
clusivement par leur homogénéité spectrale.
o Compactness (compacité vs. sinuosité) : il est possible de favoriser la création d’objets compacts,
sachant que, à parité de surface entre deux objets, celui avec le plus court périmètre est le plus com-
pact (dans l’idéal, un cercle est la forme plus compacte possible). Une valeur égale à 0 donnera lieu à
des objets de forme plus sinueuse.

Figure 1

Comme précisé auparavant, cette technique de segmentation, pourtant faisant actuellement l’état de l’art dans les appli-
cations d’analyse d’image orientée objet, n’est pas disponible dans la boîte à outils de traitement « de base » de QGIS.
Toutefois, elle est disponible dans l’Orfeo Toolbox en tant que « module à distance » et accessible par ligne de com-
mande ou via l’interface graphique dédiée.

Extraction de l’info en télédétection : analyse orientée objet page 7 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Démarche Manipulation sous QGIS

Localisation et lancement de l’outil  Positionnez-vous dans le dossier d’installation de l’OTB et cherchez le


de segmentation Baatz and fichier otbgui_GenericRegionMerging.bat. Ce fichier permet de
Schape démarrer l’interface graphique de l’application de segmentation.

Configuration de la segmentation Il est donc possible de lancer une segmentation par la technique de Baatz et
Baatz-Shaepe Shaepe disponible parmi les applications OTB. Double-cliquez sur le fichier
otbgui_GenericRegionMerging, la fenêtre suivante s’affiche :

Dans Input Image, choisir l’image à segmenter :


Hobart_GeoEye_pansharp.dat
Saisissez également un fichier de sortie en format raster dans Output Label
Image en indiquant le type int32 pour ce fichier.

Le paramètre d’échelle est ici défini par la variable Threshold for the criterion
(le critère sélectionné doit être Baatz & Schape comme dans la figure). Le
paramètre de forme est ici saisi en jouant sous la variable d’ « homogénéité
spectrale » (weight for spectral homogeneity - CW) qui définit le poids à
donner à la radiométrie contrairement à la syntaxe eCognition. Sa valeur doit
donc être inversée par rapport au paramètre de forme (1 – Shape). Le
paramètre de Compactness est par contre équivalent au poids
d’homogénéité spatiale (weight for spatial homogeneity – SW).

Extraction de l’info en télédétection : analyse orientée objet page 8 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Démarche Manipulation sous QGIS

Dans un premier temps, nous allons tester des réglages « extrêmes » pour cette
technique, afin de mieux saisir son comportement vis-à-vis des paramètres.
Essayons tout d’abord de lancer une segmentation à échelle fine prenant en
compte exclusivement les caractéristiques spectrales de l’image :

Threshold = 100 ; Spectral homogeneity = 0.9

Pour cette segmentation, on laissera le paramètre Compactness (spatial


homogeneity) à sa valeur par défaut, càd 0.5.

Ouvrez donc le fichier produit dans QGIS :

Comme annoncé précédemment, le fichier de sortie est un raster, qui doit donc
être vectorisé pour les étapes suivantes de l’analyse. Pour cela, chercher dans
la boîte à outils de traitement de QGIS l’outil « Vectorisation » de GDAL :

Extraction de l’info en télédétection : analyse orientée objet page 9 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Démarche Manipulation sous QGIS

La fenêtre suivante s’affiche :

Cette opération de vectorisation est à répéter à chaque segmentation réalisée


avec cette application pour ce TP.

Un détail de la segmentation que l’on obtient est le suivant (lancez les


traitements sur vos ordinateurs pour obtenir les segmentations de toute
l’emprise) :

À l’autre extrémité du paramétrage, il est possible de donner un poids maximal


aux critères de forme. Bien entendu, on ne peut pas donner une valeur égale à
0 au paramètre spectral homogeneity, car sans prise en compte de la diversité

Extraction de l’info en télédétection : analyse orientée objet page 10 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Démarche Manipulation sous QGIS

spectrale des pixels on obtiendrait forcément un objet unique pour toute l’image.
On choisira donc la valeur 0.1. Quant à la Compactness, nous allons essayer
également les 2 valeurs « extrèmes » 0.1 et 0.9.
Des détails sont affiché ensuite :

CW = 0.9 ; SW = 0.1 CW = 0.1 ; SW = 0.9

QUESTION 3 a) Observez les segmentations que vous avez effectué. Retrouvez-


vous les caractéristiques des objets comme expliqué au début de
cette fiche ?
b) Sachant qu’on travaillera tant sur des caractéristiques spectrales
et texturales que sur celles de forme, trouvez un réglage qui
permet de préserver (entre autre):
a. La forme allongée des objets composants des routes,
b. La forme compacte et la cohérence spectrale des
bâtiments,
c. La cohérence spectrale et texturale des objets de
végétation et des surfaces en eau.
Pour accélérer la démarche, vous pouvez également découper
une petite zone avant d’effectuer vos tests.

Extraction de l’info en télédétection : analyse orientée objet page 11 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Fiche n° 2 : Classification par règles d’expertise


Dans cette partie, nous allons utiliser un des « niveaux objets » produits dans l’étape de segmentation pour extraire
l’information routière de l’image Geoeye utilisé précédemment, représentant une partie de la ville de Hobart, en
Australie. Dans cette approche, l’idée est de definir un ensemble de règles, appliquables de façon sequentielle,
pour classifier une entité d’intérêt. Chaque règle est définie sur des attributs des objets, tels que la surface, la
longueur ou la texture, dont les valeurs seront à restreindre à une plage spécifique sur la base de connaissances
expertes. Par exemple, nous savons que les routes ont une forme éloignée, les immeubles plutôt rectangulaire, que les
arbres sont beaucoup plus texturés par rapport aux prairies…

2.1 Extraction de caractéristiques spectrales

Démarche Manipulation sous QGIS

Calcul de statistiques de zone Un premier élément d’expertise à utiliser concerne le fait que le goudron a une
réponse spectrale très faible dans la bande de proche-infrarouge. En
utilisant les propriétés de la couche raster, affichez donc l’image en niveaux de
gris en utilisant seulement la bande 4 :

En effet on constate que les routes (et les parkings !) sont effectivement très
« sombres » dans cette bande. En suivant l’approche à objet, nous souhaitons
dériver une valeur de cette bande pour caractériser chaque objet de notre
segmentation, de manière à pouvoir effectuer une première discrimination.
L’outil de statistiques de zone de QGIS nous vient en aide :

La fenêtre suivante s’affiche :

Extraction de l’info en télédétection : analyse orientée objet page 12 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Démarche Manipulation sous QGIS

Ici, nous pouvons choisir de rajouter à la couche vecteur de notre segmentation


une ou plusieurs colonnes, contenant des statistiques par objets calculées à
partir d’une bande de l’image source. En suivant les réglages de la figure ci-
dessus, on extrait la moyenne par objet des valeurs en Bande 4 (PIR), et on la
rajoute à la couche vectorielle dans une colonne commençant par « PIR_ ».

Seuillage de la couche vectorielle Une fois calculées les moyennes par objet en bande PIR, vous pouvez
appliquer la première règle, sous forme d’un seuillage sur la colonne PIR_mean
de votre segmentation :

Extraction de l’info en télédétection : analyse orientée objet page 13 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Démarche Manipulation sous QGIS

PIR_mean < thPIR

où thPIR est un seuil à définir.

…QUESTION 4a… a) À l’aide du Value Tool, explorez l’image (bande PIR) et essayer de
déterminer un seuil minimum qui permet de sélectionner TOUTES les
routes.

Seuillage de la couche vectorielle Une fois le seuil déterminé, vous pouvez sélectionner les objets vérifiant la
condition susmentionnée directement à partir de la table attributaire en cliquant
sur :

Une série d’objets seront sélectionnés (en jaune) :

Extraction de l’info en télédétection : analyse orientée objet page 14 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Démarche Manipulation sous QGIS

…QUESTION 4b b) L’exemple dans la figure est évidemment pas satisfaisant, car


beaucoup de segments n’ont pas été sélectionnés. Essayez la
sélection avec le seuil que vous avez trouvé.
c) Remarquez que les objets correspondant aux surfaces en eau ont
également été choisis. Essayez un seuillage de type :
PIR_mean < thPIR,max AND PIR_mean > thPIR,min
pour exclure ces segments.
d) Vous pouvez également essayer le plugin STATIST pour choisir
les seuils à partir d’histogrammes.

2.2 Extraction de caractéristiques de forme


Si vous avez bien réalisé l’étape précédente, vous devrez avoir déjà une bonne sélection des segments routiers.
Toutefois, avec un simple seuillage il n’est pas possible d’éviter que d’autres objets soient inclus, surtout des bâtiments.
Un avantage de l’approche à objet est la possibilité d’effectuer une discrimination à partir de la forme des segments,
grâce à un ensemble de descripteurs appropriés, dont certains sont décrits dans le tableau suivant.

Surface (A) La surface totale du polygone, moins les trous


Longueur La longueur combiné de tous les périmètres du
ploygone (extérieurs + trous)
Périmètre (P) La longueur du périmètre extérieur
Compacité
√4𝐴⁄𝜋
𝑃
Elongation 𝑃/𝐴
Longueur Maximale La plus grande distance entre deux points du
(LM) périmètre extérieur
Rondeur 4𝐴/(𝜇 ∙ 𝐿𝑀2 )
Convexité Rapport entre les périmètres de l’enveloppe
convexe de l’objet et de l’objet même
Solidité Rapport entre les surfaces de l’objet et de son
enveloppe convexe
Shape index 𝑃/(2√𝜋𝐴)

Démarche Manipulation sous QGIS

Calcul de descripteurs de forme Dans QGIS, le calcul des descripteurs de forme les plus simples (surface,
longueur, périmètre) est possible facilement à partir de la table attributaire. La
calculatrice de champ permet également de construire des colonnes
supplémentaires contenant les valeurs de ces descripteurs.

Extraction de l’info en télédétection : analyse orientée objet page 15 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Démarche Manipulation sous QGIS

Dans le cas montré en figure, en cliquant sur OK une nouvelle colonne, intitulé
« Area », sera rajouté à la table, contenant la mesure de la surface de chaque
objet. Le calcul de formules encluant plusiers descripteurs est également
possible : vous pouvez par exemple calculer l’élongation en écrivant

$perimeter / $area

Il est également possible d’utiliser des règles combinant plusieurs déscripteurs à


l’aide d’opérateurs logiques (AND et OR). Dans la colonne fonctions de la
calculatice de champs vous pouvez explorer l’ensemble des fonctions mises à
disposition directement via QGIS.

QUESTION 5 a) Calculez l’élongation avec la formule susmentionnée et essayez


de trouver un seuil qui isole correctement les objets de forme
allongée. Y arrivez-vous ?
b) Combinez les conditions sur la moyenne proche-infrarouge et sur
l’élongation à l’aide de l’opérateur AND et évaluez le résultat de
l’extraction de routes. Reste-t-il quelque chose à enlever ?

Descripteurs de forme SAGA L’élongation est une mesure facile à calculer, mais peu précise sur des objets
de petite taille car pour ces derniers, même quand ils sont compacts, le rapport
entre le périmètre et la surface se réduit.
Dans QGIS, d’autres fonctions sont disponibles pour le calcul des
caractéristiques de forme. Une fonction plutôt pratique est disponible dans la
boite à outils de traitement, fournie par SAGA :

Extraction de l’info en télédétection : analyse orientée objet page 16 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Démarche Manipulation sous QGIS

Ce traitement va extraire directement une série de descripteurs de


forme (surface, périmètre, élongation, longueur maximale et descripteurs
dérivés, shape index) dans un nouveau shapefile qui contiendra également la
table attributaire de départ :

QUESTION 6 a) Essayer de trouver une règle de seuillage sur la longueur


maximale (Max_Distance dans le tableau produit par SAGA) pour
sélectionner les segments allongés, seule et en combinaison
(AND) avec celles basées sur l’élongation et la moyenne PIR.

Extraction de l’info en télédétection : analyse orientée objet page 17 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

2.3 Extraction des caractéristiques de texture


Dans QGIS, il est également possible d’extraire des indices texturaux grâce à la boite à outils OTB. Contrairement
aux indices de forme, les indices texturaux se calculent sur la couche raster, typiquement bande par bande, et sont
« projetés » sur les objets en utilisant, comme pour les caractéristiques spectrales, des statistiques de zone.

Les indices texturaux disponibles sous OTB sont ceux de Haralick. Pour les plus curieux, ils se basent sur les matrices
de cooccurrence en niveaux de gris, c’est-à-dire des matrices ayant comme élément g(i,j) le nombre de « couples » de
pixels voisins ayant respectivement valeur i et j. A partir de cette matrice, il est possible de calculer une série
d’indices pixélaires, montrés dans le tableau suivant.

Démarche Manipulation sous QGIS

Calcul des indices texturaux de La fonction pour le calcul des indices texturaux de Haralick est disponible
Haralick dans la boite à outils de traitement (Feature Extraction  Haralick Texture
Extraction). La fenetre suivante s’affiche :

Extraction de l’info en télédétection : analyse orientée objet page 18 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Démarche Manipulation sous QGIS

Les reglages sont plutôt simples :

 Selected channel : la bande sur laquelle les indices seront calculés ;


 X/Y Radius : la taille de fenetre pour le calul des caractéristiques ;
 X/Y Offset : la position du voisin par rapport au pixel courant ;
 Image min/max : valeur minimum et maximum dans la bande ;
 Histogram number of bin : certains indices sont regroupés par plages
de valeurs pour permettre une meilleure discrimination. Ce paramètre,
indique le nombre de plages ;
 Texture set selection : simple correspond à l’ensemble de
descripteurs dans le tableau en haut (1 par bande de l’image de sortie),
mais ils en existent d’autres (voir documentation OTB).

Lors qu’on calcule les indices avec les paramètres par défaut en utilisant la
bande proche-infrarouge, nous retrouvons une image multibande où chaque
bande correspond à un indice différent. Il convient donc de les afficher un à la
fois. Le contraste (bande 5) est montré dans la figure suivante :

Comme vous pouvez le constater, le contraste est beaucoup moins important au


niveau des routes qu’au niveau des immeubles. Il s’agit donc peut-etre d’un
indice discriminant pour notre problème.

QUESTION 7 a) Analysez les autres bandes de la sortie : que pouvez-vous dire


des autres indices vis-à-vis du problème en question ?
b) Dans votre segmentation, calculez la moyenne du contraste par
objet et essayez de construire une nouvelle règle d’expertise
utilisant cette valeur et à combiner avec les précédentes.
c) Produisez enfin une couche vectorielle définitive contenant (au
mieux) les routes extraites de l’image.

Extraction de l’info en télédétection : analyse orientée objet page 19 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Fiche n. 3 : Classification basée sur exemples (semi-supervisée)


Dans cette partie, nous allons découvrir la démarche pour effectuer la classification à objets semi-supervisée d’une
image à partir d’une segmentation et de l’extraction de caractéristiques tels que nous l’avons fait dans la partie
précédente. En effet, lorsqu’on est intéressés à avoir une couverture totale de l’occupation du sol, qui inclut plusieurs
classes différentes qui ont des caractéristiques différentes, la démarche par expertise peut se révéler particulièrement
longue. Il convient dans ce cas choisir une série de caractéristiques qui peuvent discriminer l’ensemble des objets,
explorer l’image pour labéliser des objets de vérité terrain, et classifier l’image objet par objet en utilisant des
techniques de classification supervisée.

3.1 Génération d’une vérité terrain par approche à objet

Démarche Manipulation sous QGIS

Opérations préliminaires Nous allons donc effectuer la classification de l’image qb_colorado.dat que
vous pouvez récupérer également de notre espace commun. En particulier, il
est demandé de trouver l’occupation du sol par rapport à 4 classes d’intérêt :
bâtiments, routes, végétation et sol nu. Le point de départ de ce procédé est
évidemment la segmentation, que vous êtes invités à réaliser vous-mêmes
avec la méthode que vous considérez plus appropriée.

Il s’agit donc maintenant de choisir quelles seront les caractéristiques qui


permettront de discriminer les objets vis-à-vis des classes à trouver. Vous etes
invités à réflechir à ce choix par vous-mêmes, tout en prenant en compte, entre
autre, les considérations faites en amont dans ce TP :

 les objet routes ont une « couleur » uniforme et une forme allongée,
 les objets batiments ont une petite taille et une forme compacte,
 la végétation présente une texture particulièrement variable,

Par la suite, la classification sera réalisé en utilisant simplement les 4 bandes


spectrales de l’image d’origine.

Création de la vérité terrain Il s’agit pour cela de reconnaitre des objets en tant qu’échantillons des
différentes classes de l’image et les étiqueter. Pour cela, affichez tout d’abord
l’image ainsi que la segmentation (bordures + remplissage transparent).
Ensuite, à l’aide de l’outil de sélection sélectionnez un objet que vous
reconnaissez comme appartenant à l’une des classes, comme pour l’immeuble
de la figure suivante :

Extraction de l’info en télédétection : analyse orientée objet page 20 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Démarche Manipulation sous QGIS

Affichez donc la table attributaire, et cliquez sur pour déplacer la géométrie


sélectionnée en haut du tableau :

Afin de pouvoir indiquer une classe d’appartenance pour chaque objet, créez
une nouvelle colonne de type entier, nommée Class, qui contiendra un
identifiant de classe (1 – bâtiments, 2 – routes, 3 – végétation, 4 – sol nu).
Pour cela, cliquez sur pour rentrer en mode édition, puis sur :

Sur la ligne sélectionnée, vous pouvez désormais remplacer le NULL par un 1


(l’étiquette de la classe « bâtiments ») pour définir ce premier échantillon.
Répétez l’opération jusqu’à avoir un ensemble d’échantillons assez large
(une dizaine par classe dans une segmentation de 5000 objets peut être
suffisante) et en faisant attention à sélectionner, pour chaque classe, des
objets qui en couvrent au maximum la variété par rapport aux caractéristiques
choisies.

Extraction de l’info en télédétection : analyse orientée objet page 21 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Démarche Manipulation sous QGIS

Afin de pouvoir utiliser la vérité terrain pour classifier l’image, vous devez tout
d’abord extraire les lignes labélisées dans une nouvelle couche. Pour cela,
sélectionnez toutes les lignes de la table attributaire avec une valeur non nulle
dans la colonne Class (touche puis insérer l’expression Class > 0 et cliquez
sur ). Revenez sur la table attributaire et vérifiez que les lignes sont
correctement sélectionnées. Vous pouvez désormais sauvegarder la couche
vectorielle dans un nouveau shapefile, en faisant attention à cocher la case
N’enregistrer que les entités sélectionnées :

Un exemple de vérité terrain finale est montré dans la figure suivante :

Extraction de l’info en télédétection : analyse orientée objet page 22 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

3.2 Classification pixélaire et régularisation à objet par majorité

Démarche Manipulation sous QGIS

Classification pixélaire et Pour cette démarche, l’approche à objet est utile car elle permet :
projection à majorité sur la couche
objet  de construire la vérité terrain sur base objets (comme l’on a vu)
 d’améliorer une classification pixélaire en effectuant une analyse a
posteriori avec la couche objet

Tout d’abord, avec la vérité terrain en format vectorielle il est possible


d’effectuer l’apprentissage. Dans notre cas, l’image étant déjà composée des 4
bandes spectrales que l’on veut utiliser pour la classification, on peut
directement lancer la fonction d’apprentissage depuis la boîte à outils Orfeo. On
utilisera pour cela la méthode Random Forest :

Saisissez donc l’image à classer et la vérité terrain :

Extraction de l’info en télédétection : analyse orientée objet page 23 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Démarche Manipulation sous QGIS

Ainsi que le fichier modèle en sortie :

Puis lancez la classification avec la fonction Image Classification :

Le résultat de la classification pixélaire s’affiche :

Extraction de l’info en télédétection : analyse orientée objet page 24 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Démarche Manipulation sous QGIS

Il est temps d’exploiter la couche objet pour améliorer cette classification. L’idée
est de mesurer, pour chaque objet, quelle est l’étiquette la plus présente à
partir de la classification pixélaire. Pour cela, on utilise encore une fois les
statistiques de zone :

En sélectionnant la statistique Majorité, une nouvelle colonne sera rajouté à la


couche de segmentation comportant l’étiquette présente en majorité dans la
classification pixélaire à l’intérieur de chaque objet. Il ne nous reste qu’à afficher
la classification finale (en manipulant le style de la couche de segmentation) :

Extraction de l’info en télédétection : analyse orientée objet page 25 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Démarche Manipulation sous QGIS

QUESTION 8 a) Répétez l’exercice en utilisant les caractéristiques que vous


considérés plus appropriées pour cette classification et en
construisant votre propre vérité terrain.

ATTENTION : lors que vous utilisez d’autres caractéristiques


(texture, forme, etc.) la démarche en QGIS se complique :
1. Calculez les attributs sur base objets (statistiques de
zone, extraction d’indices de forme, etc.) ;
2. Rastérisez chaque colonne que vous souhaitez utiliser
pour la classification ;
3. Fusionnez les rasters produits pour obtenir une seule
image multi-bande à classifier
4. Effectuez la démarche comme montré ci-dessus.

b) Pensez à rastériser le résultat de la classification, puis évaluez-la


à l’aide de la vérité terrain fournie (qb_colorado_examplebased_
training.shp) en calculant la matrice de confusion.

c) Comparez la classification Random Forest pixélaire avec celle


obtenue en utilisant l’approche à objets.

Extraction de l’info en télédétection : analyse orientée objet page 26 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

3.3 Classification directe d’une couche vectorielle

Démarche Manipulation sous QGIS

Préparation du jeu de données Dans cette dernière partie, nous allons réaliser une classification à objet au sens
propre, c’est-à-dire à partir d’une couche de segmentation au format
vectoriel où chaque objet est caractérisé par des attributs (statistiques de zone,
indices de forme, etc.) pouvant être utilisés pour leur discrimination. Pour cela,
l’OTB met depuis récemment à disposition des applications que nous allons
utiliser par la suite.

Malheureusement, ces applications n’ont pas encore été correctement


« portées » dans l’interface de QGIS, il sera donc nécessaire de les lancer à
l’extérieur du programme.

Avant de commencer, préparez la couche de segmentation et la vérité terrain en


rajoutant des variables attributaires, par exemple la moyenne des valeurs des
pixels dans chaque objet et dans chaque bande. Attention : les noms de tous
les champs des couches vectorielles doit être en minuscule, et sans
caractères spéciaux (ex. b1mean, b2mean, etc.).

Apprentissage à partir d’une Les applications de l’OTB sont mises à disposition des utilisateurs avec une
couche vectorielle interface graphique propre, indépendante de QGIS. Pour les retrouver, il est
nécessaire de se rendre dans le dossier où l’OTB est installé, que vous pouvez
facilement retrouver à partir des options de la boite à outils de traitement :

Une fois dans ce dossier (via l’expolorer de Windows), double-cliquez sur le


fichier otbgui_ComputeOGRLayersFeaturesStatistics.bat, et la fenêtre
suivante s’affichera :

Extraction de l’info en télédétection : analyse orientée objet page 27 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Démarche Manipulation sous QGIS

Cette application effectue le calcul des statistiques (moyenne et écart type) pour
tous les objets de la segmentation et pour chaque attribut d’intérêt pour la
classification (b1mean à b4mean dans notre cas). Ce pas, qu’on aurait du
faire également lors de la classification pixélaire (voir 3.2), permet une meilleur
calibration de l’apprentissage. Lancez en cliquant sur « Executer », une fois
terminé, le fichier .xml contenant les statistiques sera produit et vous pouvez
fermer la fenêtre.

Ensuite, lancez l’application otbgui_TrainVectorClassifier. Dans l’interface qui


s’ouvre, vous reconnaitrez surement des paramètres proches de l’application
TrainImagesClassifier utilisée pour l’apprentissage par pixel. La différence
principale est que cette appli travaille sur des couches vectorielles, et sur des
attributs pouvant être renseignés par l’utilisateur :

Extraction de l’info en télédétection : analyse orientée objet page 28 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Démarche Manipulation sous QGIS

Le paramétrage de cette application est plutôt simple, il est juste nécessaire de


renseigner la vérité terrain, les statistiques calculées précédemment, le fichier
modèle en sortie, les attributs d’intérêt et le champ contenant les étiquettes de
classe. Dans la version courante de l’OTB, seul le modèle LibSVM peut être
utilisé pour la classification. Choisissez l’option Gaussian radial basis
function dans SVM Kernel Type et laissez les autres paramètres par défaut,
puis executez. L’apprentissage est terminé, et en allant sur l’onglet « Logs »
vous avez accès aux informations sur la qualité estimé de l’apprentissage, via la
matrice de confusion et ses indices :

Extraction de l’info en télédétection : analyse orientée objet page 29 / 30


Mastère SILAT AgroParisTech/ENGREF - UMR TETIS

Démarche Manipulation sous QGIS

Classification de la couche de Il ne reste qu’à appliquer le modèle de classificateur produit par l’apprentissage
segmentation à l’ensemble des objets de la scène, pour cela démarrez la fonction
otbgui_OGRLayerClassifier :

Encore une fois, comme pour le cas d’une classification pixélaire, il est
demandé de renseigner la couche vectorielle à classer, ses statistiques (les
mêmes que pour l’apprentissage), le modèle SVM produit au pas précédent, les
attributs d’intérêt (toujours les mêmes) et le nom du champ avec le résultat de
la classification (qui sera généré directement dans le shapefile d’entrée).

QUESTION 9 a) Ouvrez donc la couche de segmentation dans QGIS, et affichez-là


avec les codes-couleurs corrects. Qu’en dites-vous ?
b) Effectuez l’évaluation de cette classification et comparez-la à
celles obtenues précédemment. Est-elle meilleure ?
c) Où est-il le problème majeur dans cette classification ? Essayez
d’extraire d’autres variables (texturales, de forme, etc.) qui
puissent améliorer cette classification.

Extraction de l’info en télédétection : analyse orientée objet page 30 / 30

Vous aimerez peut-être aussi