From 14d4942580e4774fe21bb060b56be72c905c4d23 Mon Sep 17 00:00:00 2001
From: Julien Michel <julien.michel@cnes.fr>
Date: Fri, 11 Mar 2016 11:59:00 +0100
Subject: [PATCH] DOC: Segmentation workshop (work in progress)

---
 .../WorkshopGuide/segmentation.org            | 89 ++++++++++++++++++-
 1 file changed, 85 insertions(+), 4 deletions(-)

diff --git a/Courses/2016/bordeaux.inra.fr/WorkshopGuide/segmentation.org b/Courses/2016/bordeaux.inra.fr/WorkshopGuide/segmentation.org
index b4dbac14..ea47b8fd 100644
--- a/Courses/2016/bordeaux.inra.fr/WorkshopGuide/segmentation.org
+++ b/Courses/2016/bordeaux.inra.fr/WorkshopGuide/segmentation.org
@@ -3,19 +3,100 @@
 ** Segmentation et export vers un SIG                               :guide:
 *** Description                                                        :desc:
 **** Résumé
+     
+     Cet exercice permet de se familariser avec la segmentation large
+     échelle en utilisant les algorithmes MeanShift et GRM. On y
+     parcourt les différentes étapes jusqu'à l'export des polygones
+     segmentés dans un SIG.
 
 **** Pré-requis
-
+     
+     - Logiciels installés (Monteverdi et Orfeo ToolBox)
+     - Données issues du TP de pré-traitements pour l'imagerie THR optique
+     - Connaisance du mécanisme des applications de l'Orfeo ToolBox
+       (voir exercice correspondant)
 
 **** Objectifs
 
+     - Connaître les étapes pour réaliser une segmentation
+     - Savoir optimiser les paramètres de la segmentation
+     - Savoir exporter la segmentation vers un logiciel SIG
+
 *** Étapes                                                            :steps:
 
-Dire un mot de GRM.
+**** Lissage de l'image par l'algorithme MeanShift
+
+     L'algorithme du MeanShift réalise un lissage de l'image tout en
+     préservant ses contours. Il rend ainsi l'images plus homogène
+     tout en conservant des frontière franche entre les zones. Il
+     facilite ainsi la segmentation de l'image par des méthodes
+     simples, comme l'extraction des composantes
+     connexes. L'algorithme moyenne itérativement les pixels dans un
+     certain voisinnage spatial et spectral.
+
+     Réaliser un lissage de l'image /myimage.tif/ en utilisant
+     l'application *MeanShiftSmoothing*.
+
+     Notes:
+     - L'option /modesearch/ permet d'accélérer le calcul au détriment
+       de la stabilité, et sera donc désactivée,
+     - Le rayon spatial (/spatialr/) et spectral (/ranger/) sont les
+       paramètres déterminants pour l'algorithme. Le premier s'exprime
+       en nombre de pixel, tandis que le second comme une distance
+       entre signatures spectrales des pixels.
+     - La sortie /foutpos/ code les position moyenne des pixels après
+       lissage, et sera utilisée dans la suite du TP.
+     - Le paramètre de nom de fichier étendu /box/ peut être utilisé
+       pour trouver la valeur de /ranger/ et /spatialr/ optimale sans
+       traiter toute l'image.
+
+**** Segmentation
+
+     Cette étape va produire une segmentation initiale à partir des
+     images écrites précédement (sorties /fout/ et /foutpos/). Les
+     pixels adjacents dont les valeurs dans l'image /fout/ sont
+     distantes de moins de /ranger/ et dont les positions estimées
+     dans l'image /foutpos/ sont distantes de moins de /spatialr/
+     seront groupés au sein de la même composante connexe.
+
+     Le calcul est fait par tuile, dont on peut fixer la taille au
+     moyen des paramètres /tilesizex/ et /tilesizey/.
+
+     Enfin, le paramètre /minsize/ permet d'éliminer toutes les
+     régions dont la taille produite est trop petite (seuil exprimé en
+     nombre de pixels).
+
+     Utilisez l'application *LSMSSegmentation* pour réaliser cette
+     étape. A noter:
+     - Utilisez un /minsize/ de 0 dans cette première étape,
+     - L'image de sortie sera une image étiquettée, dans laquelle
+       chaque pixel porte un label entier unique correspondant au
+       segment auquel il appartient. Il est recommandé d'encoder cette
+       sortie en /uint32/ afin de disposer de suffisament de labels
+       uniques.
+     - Les valeurs pour les paramètres /ranger/ et /spatialr/ doivent
+       être inférieures aux valeurs utilisées pour le lissage (étape
+       précédente).
+      
+    
+     Utilisez la méthode /optimal/ de l'application *ColorMapping*
+     afin de créer une carte contrastée des régions segmentées, qui
+     sera plus facile à analyser.
+
+**** Traitement des petites région
 
-**** LS segmentation
+     Une fois la segmentation intiale réalisée, il reste en général
+     beaucoup de régions de petite taille, qui ne correspondent à
+     aucun objet d'intérêt. L'application *LSMSSegmentation* permet de
+     les filtrer (paramètre /minsize/), mais il est également possible
+     de réaliser un post-traitement pour fusionner itérativement les
+     régions de taille trop faible avec les régions adjacentes dont la
+     radiométrie est la plus proche. C'est l'objet de l'application
+     *LSMSSmallRegionsMerging*.
 
-**** Traitement des petites régions
+     Utilisez cette application pour retraiter la segmentation
+     initiale, en fusionnant toutes les régions dont la taille est
+     inférieure à 10 pixels.
 
 **** Vectorization
 
-- 
GitLab