Formation à l'Orfeo ToolBox: Introduction des Travaux...
Transcript of Formation à l'Orfeo ToolBox: Introduction des Travaux...
-
Formation à l'Orfeo ToolBox: Introduction desTravaux Pratiques
OTB team
2017
Slides formation OTB 2017 1 / 74
-
Introduction
Objectifs de la formation
ObjectifsPrésenter l'OTB et mettre en oeuvre les outils disponibles dans les OTBapplications pour l'exploitation, la manipulation des images de télédection
Capacités acquises en �n de formationMise en ÷uvre de chaine de traitements d'images en utilisant les applicationsOTB, incluant entre autre :
Ï Extraction de primitivesÏ CalibrationÏ Classi�cationÏ SegmentationÏ Traitements basiques radar
Slides formation OTB 2017 2 / 74
-
Introduction
Contenu du kit de formation
Paquet de données
Ï Contient les données nécessaires à chaque TP, dans des sous-répertoireséparés
Ï Le sous-répertoire nécessaire est indiqué au début de l'énoncé du TPÏ Téléchargeable ici :www.orfeo-toolbox.org/packages/WorkshopData/WorkshopData.zip
Enoncés
Ï Guide de TPÏ Planches (cette présentation)Ï Guide d'installationÏ Questionnaire d'évaluationÏ Solutions (distribuées à la �n)
Slides formation OTB 2017 3 / 74
-
Introduction
Contenu du kit de formation
Documentation des logiciels
Software Guide Guide de l'API C++ (contient également des descriptionsalgorithmiques)www.orfeo-toolbox.org/SoftwareGuide/index.html
CookBook Guide pour les nons dévelopeurs (contient l'API complète desapplications)www.orfeo-toolbox.org/CookBook/
QGIS User Guide Manuel d'utilisation de QGISdocs.qgis.org/2.14/en/docs/user_manual
Slides formation OTB 2017 4 / 74
-
Introduction
Origine des données
Sentinel-2 plusieurs dates concaténées, dénuagés (gap-�lling) avec desdonnées terrains de référence au format ESRI Shape�le (pour le TPclassi�cation),
Pléiades image PHR Bundle PRIMARY Niveau 1A issue de la RTU sur lesite OSR MiPy, acquise en novembre 2013 (©CNES (2013),distribution Airbus DS/ Spot Image),
Sentinel-1 Produit SLC (complexe) SM (strip Map, les plus résolues),bi-polarisation (HH et HV) sur le sud du lac Constance(Allemagne).
Slides formation OTB 2017 5 / 74
-
Introduction
Accès aux données
Sentinel-2 produit de niveau 2A disponible sur le site THEIA(https://www.theia-land.fr/)
Pléiades accès privilégié UIA (institutionnels français) :http://professionnels.ign.fr/images-pleiades
Sentinel-1 Données gratuites disponible sur ESAHub(https://scihub.copernicus.eu/) ou sur le site CNESPEPS(https://peps.cnes.fr)
Slides formation OTB 2017 6 / 74
https://www.theia-land.fr/http://professionnels.ign.fr/images-pleiadeshttps://scihub.copernicus.eu/https://peps.cnes.fr
-
TP1 : Généralités Utiliser Monteverdi et QGIS
Sommaire
1 Introduction
2 TP1 : Généralités
Utiliser Monteverdi et QGISLe mécanisme des applications Orfeo ToolBoxLes mécanismes internes de l'Orfeo ToolBox
3 TP2 : Imagerie THR optique, des pré-traitements au SIG
4 TP3 : Classi�cation supervisée pour les séries multi-t
5 TP4 : Traitements SAR pour l'imagerie Sentinel 1
6 TP5 : Développer avec l'OTB
Slides formation OTB 2017 7 / 74
-
TP1 : Généralités Utiliser Monteverdi et QGIS
Objectifs et Données
Objectifs
Ï Savoir visualiser une image et régler son rendu dans Monteverdi,Ï Savoir visualiser une pile de données dans Monteverdi,Ï Savoir visualiser une image et régler son rendu dans QGIS,Ï Savoir visualiser une données vecteur dans QGIS,Ï Savoir visualiser une pile de données dans QGIS,Ï Échanger des trucs et astuces.
DonnéesLes données utilisées se trouvent dans les répertoires suivant :
Ï Data/preprocessing (extrait Pléiades)Ï Data/classification/images/ (séries temporelle Sentinel-2)Ï Data/classification/references/ (�chier vecteur shp)
Slides formation OTB 2017 8 / 74
-
TP1 : Généralités Utiliser Monteverdi et QGIS
Déroulement
1 Visualiser une image dans Monteverdi
2 Visualiser une pile d'images dans Monteverdi
3 Visualiser une image dans QGIS
4 Visualiser une données vecteur dans QGIS
Slides formation OTB 2017 9 / 74
-
TP1 : Généralités Utiliser Monteverdi et QGIS
Introduction
Ï Plusieurs logiciels qui partagent des fonctionnalités communesÏ Mais des philosophies parfois di�érentes (Monteverdi orienté et centré"Image", QGIS plateforme SIG)
Ï Plusieurs façon de faire la même opération dans ces logiciels
Slides formation OTB 2017 10 / 74
-
TP1 : Généralités Utiliser Monteverdi et QGIS
Monteverdi
Ï A l'origine c'est un outil simple de démonstration du potentiel de la librairieOTB
Ï Devenu un outil intégré de visualisation qui embarque toutes lesOTB-Applications
Ï Interface graphique qui utilise la bibliothèque QtÏ Le moteur de rendu utilise la librairie Ice (OpenGL+OTB)Ï E�ets tirant partie des capacités des cartes graphiques actuelles (shader) poure�ectuer des rendus à la volée (contraste local, transparence, gradient. . . )
Slides formation OTB 2017 11 / 74
-
TP1 : Généralités Utiliser Monteverdi et QGIS
Monteverdi
Slides formation OTB 2017 12 / 74
-
TP1 : Généralités Utiliser Monteverdi et QGIS
Monteverdi
Ï Fenêtre principale découpée en plusieurs parties :Ï Main menu (ouvrir image, fermer, préférences. . . )Ï Top toolbar (raccourcis)Ï Image displaying (vue principale)Ï Right side dock (composition colorée, quicklook. . . )Ï Stack layer (pile d'images)Ï Voir A brief tour of Monteverdi
Slides formation OTB 2017 13 / 74
https://www.orfeo-toolbox.org/CookBook/CookBookch2.html##x19-180002
-
TP1 : Généralités Utiliser Monteverdi et QGIS
Quantum GIS
Ï Système d'information géographique (SIG) : système d'information capabled'organiser et de présenter des données alphanumériques spatialementréférencées
Ï Les principales fonctionnalités d'un SIG sont les suivantes :Ï A�chage ou production de cartesÏ Acquisition des donnéesÏ Analyse des données pour créer une nouvelle informationÏ Abstraction ou représentation des éléments choisisÏ Archivage
Ï Beaucoup de supports de formation, tutoriels disponibles (par exemple enfrançais : Intro ENTE Aix - ENS - Licence ouverte)
Slides formation OTB 2017 14 / 74
-
TP1 : Généralités Utiliser Monteverdi et QGIS
Quantum GIS processing (a partirde la version 2.0)
Ï Plateforme de traitements permettant d'intéragir avec GRASS, SAGA-GIS, Ret l'OTB !
Ï Historique : intégration dans QGIS du projet sextante (développée par VictorOlaya)
Ï Accès à toutes les applications OTB (certaines sont repackagées avec uneinterface simpli�ée)
Ï Voir QGIS processing documentation
Slides formation OTB 2017 15 / 74
https://docs.qgis.org/2.6/en/docs/user_manual/processing/index.html
-
TP1 : Généralités Utiliser Monteverdi et QGIS
Quantum GIS
Slides formation OTB 2017 16 / 74
-
TP1 : Généralités Utiliser Monteverdi et QGIS
Principe
Ï Découverte du jeu de données et des logicielsÏ Monteverdi :
Ï Savoir visualiser une image et régler son renduÏ Savoir visualiser une pile de donnéesÏ Explorer les "E�ets" disponibles
Ï QGIS :Ï Savoir visualiser une image et régler son renduÏ Savoir visualiser une donnée vecteurÏ Savoir visualiser une pile de données
Ï Travail 15 minutes en binôme et en aveugleÏ Tour de table (30 à 45 minutes), chaque binôme passe devant les autres etpropose une astuce ou pose une question
Slides formation OTB 2017 17 / 74
-
TP1 : Généralités Le mécanisme des applications Orfeo ToolBox
Sommaire
1 Introduction
2 TP1 : Généralités
Utiliser Monteverdi et QGISLe mécanisme des applications Orfeo ToolBoxLes mécanismes internes de l'Orfeo ToolBox
3 TP2 : Imagerie THR optique, des pré-traitements au SIG
4 TP3 : Classi�cation supervisée pour les séries multi-t
5 TP4 : Traitements SAR pour l'imagerie Sentinel 1
6 TP5 : Développer avec l'OTB
Slides formation OTB 2017 18 / 74
-
TP1 : Généralités Le mécanisme des applications Orfeo ToolBox
Objectifs et données
Objectifs
Ï Savoir rechercher une application dans la liste des applications disponiblesÏ Savoir paramétrer une applicationÏ Savoir trouver la documentation d'une applicationÏ Savoir utiliser plusieurs applications classiques
DonnéesLes données se trouvent dans le répertoire Data/stegano/.
Slides formation OTB 2017 19 / 74
-
TP1 : Généralités Le mécanisme des applications Orfeo ToolBox
Déroulement
Le TP consiste à décoder successivement 6 messages encodés par stéganographiedans les images, en utilisant les applications OTB.
Slides formation OTB 2017 20 / 74
-
TP1 : Généralités Le mécanisme des applications Orfeo ToolBox
Rapide intro aux OTB-Applications
Ï Orfeo ToolBox est une bibliothèque o�rant des fonctionnalités detélédétection
Ï Souvent nécessaire de combiner plusieurs fonctions (�ltres) OTB dans unechaîne de traitements
Ï Besoin d'interface de plus haut niveau (paramètres, les données d'entrée etde sortie, les logs. . . )
Ï Chaque application correspond à une fonctionnalité de "haut niveau"(segmentation, orthorecti�cation, segmentation, calculatrice sur lesbandes. . . )
Ï Correspond à une classe C++ (otb : :Application) → librairieÏ Mécanisme de pluginÏ Possibilité de développer et distribuer ces applications maison
Slides formation OTB 2017 21 / 74
-
TP1 : Généralités Le mécanisme des applications Orfeo ToolBox
Rapide intro aux OTB-Applications
Ï En ligne de commande → otbcli_Orthorecti�cationÏ Dans une interface graphique → otbgui_Orthorecti�cationÏ En Python :
import otbApplication
orth=otb.Registry.CreateApplication("OrthoRectification")
Ï Intégrées dans QGIS → Menu processingÏ Intégrées dans Monteverdi
Slides formation OTB 2017 22 / 74
-
TP1 : Généralités Le mécanisme des applications Orfeo ToolBox
GUI
Slides formation OTB 2017 23 / 74
-
TP1 : Généralités Le mécanisme des applications Orfeo ToolBox
Paramétrage
Ï A�cher l'aide de l'application d'OrthoRecti�cation (bon exemple)Ï Notion de groupe de paramètresÏ Notion de paramètre obligatoireÏ Dépendance entre paramètres (dynamique)Ï Valeur par défautÏ Type des images en sortie (par défaut �ottant)
Slides formation OTB 2017 24 / 74
-
TP1 : Généralités Le mécanisme des applications Orfeo ToolBox
Autre Exemple : BandMath
Ï Calculatrice rasterÏ Utilise la librairie MuParserÏ Prend en entrée une liste d'images (paramètre -il)Ï Codage des expressions mathématiques :
Ï imXbY :Ï X : numéro de l'image dans la liste (de 1 à N)Ï Y : numéro de la bande dans l'image X (de 1 à N)
Ï Liste des opérateurs mathématiques disponibles
Ï Exemples :Ï -exp "(im1b4 - im1b1) / (im1b4 - im1b1))"Ï -exp "acos((123*im1b1+265*im1b2+652*im1b3)/ (sqrt(123*123+265*265+652*652)*sqrt(im1b1*im1b1+im1b2*im1b2+im1b3*im1b3)))"
Ï -exp "im1b1>0.5 ?255 :0"
Slides formation OTB 2017 25 / 74
http://muparser.beltoforion.de/mup_features.html
-
TP1 : Généralités Le mécanisme des applications Orfeo ToolBox
Liens utiles
Ï Introduction aux OTB applicationsÏ Documentation de référence des applicationsÏ Exemples utilisation des OTB applicationsÏ QGIS processingÏ Aide d'une application : otbcli_XXX -help
Slides formation OTB 2017 26 / 74
https://www.orfeo-toolbox.org/CookBook/CookBookse1.html##x7-60001.1https://www.orfeo-toolbox.org//Applications/https://www.orfeo-toolbox.org/CookBook/CookBookch3.html##x38-370003http://docs.qgis.org/2.8/en/docs/user_manual/processing/index.html
-
TP1 : Généralités Les mécanismes internes de l'Orfeo ToolBox
Sommaire
1 Introduction
2 TP1 : Généralités
Utiliser Monteverdi et QGISLe mécanisme des applications Orfeo ToolBoxLes mécanismes internes de l'Orfeo ToolBox
3 TP2 : Imagerie THR optique, des pré-traitements au SIG
4 TP3 : Classi�cation supervisée pour les séries multi-t
5 TP4 : Traitements SAR pour l'imagerie Sentinel 1
6 TP5 : Développer avec l'OTB
Slides formation OTB 2017 27 / 74
-
TP1 : Généralités Les mécanismes internes de l'Orfeo ToolBox
Objectifs et données
Objectifs
Ï Comprendre les mécanismes transparents de l'Orfeo ToolBoxÏ Savoir in�uencer la manière dont l'Orfeo ToolBox exécute un traitementÏ Savoir où trouver des informations complémentaires
DonnéesLes données se trouvent dans le répertoire Data/internals/.
Slides formation OTB 2017 28 / 74
-
TP1 : Généralités Les mécanismes internes de l'Orfeo ToolBox
Déroulement
Le déroulement du TP est le suivant :
1 Encodage des images
2 Fichiers geom
3 Noms de �chiers étendus
4 Streaming
5 Multi-threading
Slides formation OTB 2017 29 / 74
-
TP1 : Généralités Les mécanismes internes de l'Orfeo ToolBox
Encodage des images
type plage de valeurs nombre de bitsuint8 [0,255] 8 bitsint16 [-32 767, +32 767 ] 16 bitsuint16 [0, 65 535] 16 bitsint32 [-2 147 483 647, -2 147 483 647] 32 bitsuint32 [0, 4 294 967 294] 32 bits�oat [ -3.402823 Ö 1038,3.402823 Ö 1038 ] 32 bitsdouble [ -10308, 10308 ] 64 bits
Slides formation OTB 2017 30 / 74
-
TP1 : Généralités Les mécanismes internes de l'Orfeo ToolBox
Fichiers geom
[...]
samp_num_coeff_15: -8.69402623737171e-06
samp_num_coeff_16: -2.52010136133467e-09
samp_num_coeff_17: -5.70277370040739e-07
samp_num_coeff_18: -2.67844954240191e-07
samp_num_coeff_19: -7.80920276666093e-09
samp_off: 19999
samp_scale: 19999.5
sensor: PHR 1A
[...]
support_data.image_date: 2012-11-15T11:05:04.4Z
support_data.image_id: 602631101-001
support_data.image_size: 38187 38890
support_data.instrument: PHR
support_data.instrument_index: 1A
support_data.line_period: 0.0735
[...]
Slides formation OTB 2017 31 / 74
-
TP1 : Généralités Les mécanismes internes de l'Orfeo ToolBox
Noms de �chiers étendus
Syntaxe comprise par tout code OTB lisant ou écrivant des images
"myImage.tif?&geom=mygeom.geom"
"myImage.tif?&gdal:co:TILED=yes&streaming:type=none"
Slides formation OTB 2017 32 / 74
-
TP1 : Généralités Les mécanismes internes de l'Orfeo ToolBox
Streaming et multi-threading (1/2)
Slides formation OTB 2017 33 / 74
-
TP1 : Généralités Les mécanismes internes de l'Orfeo ToolBox
Streaming et multi-threading (2/2)
Slides formation OTB 2017 34 / 74
-
TP2 : Imagerie THR optique, des pré-traitements au SIG Pré-traitements de l'imagerie THR optique
Sommaire
1 Introduction
2 TP1 : Généralités
3 TP2 : Imagerie THR optique, des pré-traitements au SIG
Pré-traitements de l'imagerie THR optiqueSegmentation et export vers un SIG
4 TP3 : Classi�cation supervisée pour les séries multi-t
5 TP4 : Traitements SAR pour l'imagerie Sentinel 1
6 TP5 : Développer avec l'OTB
Slides formation OTB 2017 35 / 74
-
TP2 : Imagerie THR optique, des pré-traitements au SIG Pré-traitements de l'imagerie THR optique
Objectifs et Données
Objectifs
Ï Savoir réaliser une calibration optiqueÏ Savoir réaliser une fusion (pan-sharpening)Ï Savoir réaliser une ortho-recti�cation
DonnéesLes données se trouvent dans le répertoire Data/preprocessing/. Lessous-répertoires SRTM et Geoid sont également utilisés.
Slides formation OTB 2017 36 / 74
-
TP2 : Imagerie THR optique, des pré-traitements au SIG Pré-traitements de l'imagerie THR optique
Déroulement
Le déroulement du TP est le suivant :
1 Corrections atmosphériques
2 Fusion P+XS
3 Ortho-recti�cation
Slides formation OTB 2017 37 / 74
-
TP2 : Imagerie THR optique, des pré-traitements au SIG Pré-traitements de l'imagerie THR optique
Calibration radiométriqueCorrection atmosphérique
(source image http://www.hkcoastalwaterquality.tk/Methodology.html)
Comptes numériques (DN)Sortie du capteur (pas de grandeur physique, dépend du capteur)
LuminanceQuantité de lumière en entrée de l'instrument (W.m-2.sr-1)
Ré�ectance Top Of Atmosphere (TOA)La ré�ectance traduit la capacité d'un corps à ré�échir l'énergie incidente.Coe�cient de ré�exion de la lumière du soleil en haut de l'atmosphère(pourcentage qu'on exprime entre 0 et 1, sans unité)
Ré�ectance Top Of Canopy (TOC)Coe�cient de ré�exion au sommet de la canopée (= TOA - e�ets atmosphériques)
Slides formation OTB 2017 38 / 74
http://www.hkcoastalwaterquality.tk/Methodology.html
-
TP2 : Imagerie THR optique, des pré-traitements au SIG Pré-traitements de l'imagerie THR optique
Fusion (pan-sharpening)
Pourquoi le pansharpening ?
Ï La plupart des capteurs THR sont constitués de deux voies :Ï Une voie panchromatique (une bande spectrale large) très résolue spatialementÏ Une voie multi-spectrale (plusieurs bandes spectrales plus étroites) moinsrésolue spatialement (habituellement 4 fois moins)
Ï Pansharpening = image de synthèse avec la résolution du panchro et lacouleur du multi-spectral
Principe :
1 Superposition �ne des voies P et XS
2 Application d'un algorithme de fusion
Slides formation OTB 2017 39 / 74
-
TP2 : Imagerie THR optique, des pré-traitements au SIG Pré-traitements de l'imagerie THR optique
Orthorecti�cation
Input series
SensorModel
DEM
Geo-referenced Series
HomologousPoints
Bundle-blockAdjustement
FineRegis-tration
Registered Series
MapProjec-tion
Cartographic Series
Slides formation OTB 2017 40 / 74
-
TP2 : Imagerie THR optique, des pré-traitements au SIG Segmentation et export vers un SIG
Sommaire
1 Introduction
2 TP1 : Généralités
3 TP2 : Imagerie THR optique, des pré-traitements au SIG
Pré-traitements de l'imagerie THR optiqueSegmentation et export vers un SIG
4 TP3 : Classi�cation supervisée pour les séries multi-t
5 TP4 : Traitements SAR pour l'imagerie Sentinel 1
6 TP5 : Développer avec l'OTB
Slides formation OTB 2017 41 / 74
-
TP2 : Imagerie THR optique, des pré-traitements au SIG Segmentation et export vers un SIG
Objectifs et Données
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
DonnéesLes données pour cet exercice se trouvent dans le répertoire Data/segmentation.
Slides formation OTB 2017 42 / 74
-
TP2 : Imagerie THR optique, des pré-traitements au SIG Segmentation et export vers un SIG
Déroulement
Le déroulement du TP est le suivant :
1 Lissage de l'image par l'algorithme MeanShift
2 Segmentation
3 Traitement des petites régions
4 Vectorisation
5 Filtrage des polygones dans QGIS
Slides formation OTB 2017 43 / 74
-
TP2 : Imagerie THR optique, des pré-traitements au SIG Segmentation et export vers un SIG
Algorithme MeanShift (1/4)
Recherche dans la fenêtre des pixels proches spectralement
Slides formation OTB 2017 44 / 74
-
TP2 : Imagerie THR optique, des pré-traitements au SIG Segmentation et export vers un SIG
Algorithme MeanShift (2/4)
Moyennes spatiale et spectrale des pixels localisés dans la fenêtre
Slides formation OTB 2017 45 / 74
-
TP2 : Imagerie THR optique, des pré-traitements au SIG Segmentation et export vers un SIG
Algorithme MeanShift (3/4)
Déplacement du pixel vers le barycentre et a�ectation de la moyenne spectrale
Slides formation OTB 2017 46 / 74
-
TP2 : Imagerie THR optique, des pré-traitements au SIG Segmentation et export vers un SIG
Algorithme MeanShift (4/4)
Retour à l'étape 1 jusqu'à convergence
Slides formation OTB 2017 47 / 74
-
TP3 : Classi�cation supervisée pour les séries multi-t Classi�cation supervisée pour les séries multi-temporelles
Sommaire
1 Introduction
2 TP1 : Généralités
3 TP2 : Imagerie THR optique, des pré-traitements au SIG
4 TP3 : Classi�cation supervisée pour les séries multi-t
Classi�cation supervisée pour les séries multi-temporelles
5 TP4 : Traitements SAR pour l'imagerie Sentinel 1
6 TP5 : Développer avec l'OTB
Slides formation OTB 2017 48 / 74
-
TP3 : Classi�cation supervisée pour les séries multi-t Classi�cation supervisée pour les séries multi-temporelles
Objectifs et Données
ObjectifsLes objectifs sont les suivants :
Ï Savoir réaliser une classi�cation superviséeÏ Savoir mesurer les performances de la classi�cationÏ Connaître les post-traitements applicables à une classi�cation
DonnéesLes données sont disponibles dans le répertoire Data/classification, avec lessous-répertoires suivants :
Ï images contient la série multi-temporelle Sentinel2,Ï references contient la donnée d'apprentissage et de validation au formatshp,
Ï support contient di�érents �chiers utiles au TP (�chiers de style Qgisnotamment)
Slides formation OTB 2017 49 / 74
-
TP3 : Classi�cation supervisée pour les séries multi-t Classi�cation supervisée pour les séries multi-temporelles
Déroulement
Les étapes de l'exercice sont les suivantes :
1 Introduction aux données
2 Réaliser un apprentissage mono-date
3 Identi�er la date la plus performante
4 Réaliser la classi�cation et produire une carte en couleur
5 Évaluer la performance globale
6 Régulariser et mesurer le gain de performance
7 Réaliser une classi�cation multi-date et mesurer le gain de performance
Slides formation OTB 2017 50 / 74
-
TP3 : Classi�cation supervisée pour les séries multi-t Classi�cation supervisée pour les séries multi-temporelles
Présentation des données Sentinel-2
Résolution spatiale : 20 mètres (originale : 10 mètres) Tuile : T31TCJ (extrait)
2016-06-072016-07-072016-08-062016-09-052016-10-05
Slides formation OTB 2017 51 / 74
-
TP3 : Classi�cation supervisée pour les séries multi-t Classi�cation supervisée pour les séries multi-temporelles
Présentation des données Sentinel-2
Résolution spatiale : 20 mètres (originale : 10 mètres) Tuile : T31TCJ (extrait)
# Band name S2 band id Wavelength Initial resolution0 Blue B2 490 nm 10 m1 Green B3 560 nm 10 m2 Red B4 665 nm 10 m3 NIR - Narrow 1 B5 705 nm 20 m4 NIR - Narrow 2 B6 740 nm 20 m5 NIR - Narrow 3 B7 783 nm 20 m6 NIR - Wide B8 842 nm 10 m7 NIR - Narrow 4 B8A 865 nm 20 m8 SWIR 1 B11 1610 nm 20 m9 SWIR 2 B12 2190 nm 20 m
Slides formation OTB 2017 52 / 74
-
TP3 : Classi�cation supervisée pour les séries multi-t Classi�cation supervisée pour les séries multi-temporelles
Présentation des données deréférence
Code Nom #polygones training #polygones testing10 Cultures annuelles 3129 307831 Forêt feuilles caduques 176 29232 Forêt feuilles persistantes 23 2934 Pelouses 2 236 Lande ligneuse 63 3841 Bâti dense 30 3342 Bâti di�us 326 23943 Zones industrielles 154 21244 Routes 162 11451 Eau 243 332211 Prairie 320 311221 Verger 227 254222 Vigne 129 97
Slides formation OTB 2017 53 / 74
-
TP3 : Classi�cation supervisée pour les séries multi-t Classi�cation supervisée pour les séries multi-temporelles
Classi�cation supervisée
Slides formation OTB 2017 54 / 74
-
TP3 : Classi�cation supervisée pour les séries multi-t Classi�cation supervisée pour les séries multi-temporelles
Algorithme Random Forests (RF)
Ensemble d'arbres de décision aléatoires
Apprentissage
1 Séparer le jeu d'apprentissage en k ensembles Sk aléatoires
2 Pour chaque Sk choisir aléatoirement Fk primitives
3 Construire un arbre de décision récursivement, pour chaque noeud :1 Choisir f ∈Fk et le seuil tk qui sépare l'ensemble restant en 2 parties les plus
pures2 Arrêter quand l'ensemble restant devient trop petit
DécisionVote majoritaire de tous les arbres aléatoires
Slides formation OTB 2017 55 / 74
-
TP3 : Classi�cation supervisée pour les séries multi-t Classi�cation supervisée pour les séries multi-temporelles
Matrice de confusion
Préd. 1 Préd. 2 Préd. 3Réf. 1 Vrais pos. 1Réf. 2 Vrais pos. 2Réf. 3 Vrais pos. 3
Ï precision= VPi∑pred .iÏ rappel = VPiT ∑ref .iÏ Accuracy =
∑VPi
Total
Ï Kappa= Accuracy−chance1−chance
Slides formation OTB 2017 56 / 74
-
TP4 : Traitements SAR pour l'imagerie Sentinel 1 Introduction au traitements des images RSO
Sommaire
1 Introduction
2 TP1 : Généralités
3 TP2 : Imagerie THR optique, des pré-traitements au SIG
4 TP3 : Classi�cation supervisée pour les séries multi-t
5 TP4 : Traitements SAR pour l'imagerie Sentinel 1
Introduction au traitements des images RSO
6 TP5 : Développer avec l'OTB
Slides formation OTB 2017 57 / 74
-
TP4 : Traitements SAR pour l'imagerie Sentinel 1 Introduction au traitements des images RSO
Objectifs et Données
Objectifs
Ï Savoir manipuler des imagesÏ Savoir réaliser une calibration radiométriqueÏ Savoir réaliser une orthorecti�cationÏ Savoir utiliser le �ltrage du speckleÏ Savoir réaliser une analyse polarimétrique simpleÏ Savoir réaliser une extraction de primitives simple
DonnéesLes données pour cet exercice se trouvent dans le répertoire Data/sar.
Slides formation OTB 2017 58 / 74
-
TP4 : Traitements SAR pour l'imagerie Sentinel 1 Introduction au traitements des images RSO
Déroulement
1 Introduction à l'imagerie RSO
2 Calibration radiométrique
3 Calibration géométrique
4 Filtrage du speckle
5 Polarimétrie
6 Extraction d'information
Slides formation OTB 2017 59 / 74
-
TP4 : Traitements SAR pour l'imagerie Sentinel 1 Introduction au traitements des images RSO
Di�érence Optique/SAR
(source CNES : IMAGERIE SPATIALE Des principes d'acquisition au traitementdes images optiques pour l'observation de la Terre)
Slides formation OTB 2017 60 / 74
-
TP4 : Traitements SAR pour l'imagerie Sentinel 1 Introduction au traitements des images RSO
Introduction SAR
Ï RSO : Radar à Synthèse d'Ouverture (SAR en anglais)Ï Impulsions hyperfréquences et enregistrement des échosÏ Quasi-transparence de l'atmosphèreÏ Acquisition de jour comme de nuitÏ Cours en ligne ENSG
Slides formation OTB 2017 61 / 74
http://cours-fad-public.ensg.eu/course/view.php?id=94
-
TP4 : Traitements SAR pour l'imagerie Sentinel 1 Introduction au traitements des images RSO
Principe de fonctionnement
Ï 1 antenne réalise des impulsions micro-ondes dans le plan perpendiculaire à latrajectoire du porteur
Ï Écho recueilli par la même antenneÏ Di�useurs sont localisés en fonction de leur éloignement (distance)Ï Répétition des échos réalise la deuxième dimension (azimuth)Ï Signal reçu par le radar est caractérisé par son amplitude et sa phase
Slides formation OTB 2017 62 / 74
-
TP4 : Traitements SAR pour l'imagerie Sentinel 1 Introduction au traitements des images RSO
Calibration radiométrique
Ï Comportement de la rétro-di�usion dépend des caractéristiques de la surfaceÏ Notamment de sa rugosité, de l'humidité des sols, mais aussi de la géométrie(dipôle, coin ré�ecteur)
Ï Comme pour l'optique, la calibration permet de transformer des comptesnumériques (CN) en grandeur physique
Ï Permet d'inter-comparer des images radars provenant de capteurs di�érentsou de capteurs identiques dans le cas multi-temporel
Slides formation OTB 2017 63 / 74
-
TP4 : Traitements SAR pour l'imagerie Sentinel 1 Introduction au traitements des images RSO
Correction géométrique
Ï Spatialiser l'imageÏ Associer une coordonnée géographique au pixelÏ Le radar mesure la distance des objets obliquementÏ Résolutions
Ï azimuthResolution= H∗λL∗cos(θ)
Ï rangeResolution= c∗prf2∗sin(θ)
Ï Il existe distorsions géométriques dues au relief (foreshortening et layover)
Slides formation OTB 2017 64 / 74
-
TP4 : Traitements SAR pour l'imagerie Sentinel 1 Introduction au traitements des images RSO
Speckle
Ï Images RSO fortement a�ectées par le chatoiement (speckle)Ï Bruit très fortÏ E�et multiplicatif !Ï Plusieurs méthodes pour réduire ce bruitÏ Atténuer ce bruit en conservant le maximum de détailsÏ Filtrage permet d'améliorer énormément la qualité des images et leurinterprétation
Slides formation OTB 2017 65 / 74
-
TP4 : Traitements SAR pour l'imagerie Sentinel 1 Introduction au traitements des images RSO
Pour aller plus loin
Il existe d'autres logiciels open source pour le traitement et l'analyse des donnéesradar.
Ï S1 ToolBox (SNAP)Ï Polarimétrie : ESA PolSARPro
Slides formation OTB 2017 66 / 74
-
TP5 : Développer avec l'OTB Tutoriel pour futur développeur OTB
Sommaire
1 Introduction
2 TP1 : Généralités
3 TP2 : Imagerie THR optique, des pré-traitements au SIG
4 TP3 : Classi�cation supervisée pour les séries multi-t
5 TP4 : Traitements SAR pour l'imagerie Sentinel 1
6 TP5 : Développer avec l'OTB
Tutoriel pour futur développeur OTB
Slides formation OTB 2017 67 / 74
-
TP5 : Développer avec l'OTB Tutoriel pour futur développeur OTB
Objectifs et données
Objectifs
Ï Savoir compiler un programme en C++ utilisant OTB et CMakeÏ Savoir créer une chaîne de traitement avec l'API C++ de l'OTB :
Ï Lecture de l'image à partir d'un �chier en entréeÏ Traitement de l'image (calcul de gradient)Ï Écriture de l'image de gradient dans un �chier en sortie
Ï Savoir coder son propre traitement (par pixel) dans un �ltre OTBÏ Savoir créer une application OTB qui embarque sa chaîne de traitementÏ Savoir packager son application dans un module externe OTB
DonnéesLes sources des exercices se trouvent dans le répertoire Data/otb_developers/.
Slides formation OTB 2017 68 / 74
-
TP5 : Développer avec l'OTB Tutoriel pour futur développeur OTB
Déroulement
Ï 5 exercices successifs avec sources séparées (cmake et c++)Ï Chaque exercice compile, mais le code est à trou, à compléterÏ Les parties du code à compléter sont localisés par le commentaire //TODO:dans les �chiers sources.
Slides formation OTB 2017 69 / 74
-
TP5 : Développer avec l'OTB Tutoriel pour futur développeur OTB
Exercice 1 : Hello World
Les bases
Ï C++ Generic ProgrammingÏ STL Standard Template LibraryÏ Abstraction des types et des conteneursÏ std::vector< T > : std::vector< int > , std::vector< double >Ï Image OTB : otb::Image< PixelType , Dimension >
SmartPointer
Ï Mécanisme interne ITK pour gestion de la mémoire (tas)Ï Reference countingÏ Déclaration : FilterType::Pointer filter = FilterType::New();Ï PAS BESOIN DE FAIRE : filter->Delete() ou delete filter
Slides formation OTB 2017 70 / 74
-
TP5 : Développer avec l'OTB Tutoriel pour futur développeur OTB
Exercice 2 : Pipeline OTB
Ï Idée : enchainer des �ltres en utilisant l'API OTBÏ On utilise toujours les memes méthodes (génériques)Ï Déclaration : opérateur New()Ï Chaînage des �ltres : filter2->SetInput(filter1->GetOutput())Ï Déclenchement du pipeline : méthode Update()
Slides formation OTB 2017 71 / 74
-
TP5 : Développer avec l'OTB Tutoriel pour futur développeur OTB
Exercice 3 : Écrire un �ltre OTB
Type de �ltre
Ï Hiérarchie de classes (ITK) : Object -> DataObject -> ImageBase -> ImageÏ Filtres : Object -> ProcessObject -> ImageSource -> ImageToImageFilterÏ ImageToImageFilter -> InPlaceImageFilter -> UnaryFunctorImageFilter
Foncteur
Ï Toute classe surchargeant operator() est quali�ée de classe foncteurÏ Dans le monde OTB/ITKÏ Opération appliquée pixel par pixelÏ Implémenter un foncteur qui divise par 2 tous les pixelsÏ (le �ltre qui intègre le foncteur est déjà implémenter)
Slides formation OTB 2017 72 / 74
-
TP5 : Développer avec l'OTB Tutoriel pour futur développeur OTB
Exercice 4 : Écrire une applicationOTB
Objectifs
Ï Package chaîne de traitement en ligne de commande via une API standard(gestion des paramètres, documentation. . . )
Ï Interface GUI, Python. . .Ï Possibilité d'intégration dans MonteverdiÏ Possibilité de chaîner son application avec des apps existantes
Par où commencer ?
Ï Partir d'une application existanteÏ Hérite de la classe ApplicationÏ Implémenter les méthodes :Ï Filtres membres de l'application
Slides formation OTB 2017 73 / 74
-
TP5 : Développer avec l'OTB Tutoriel pour futur développeur OTB
Exercice 5 : Écrire un moduleexterne OTB
Objectifs
Ï Partager ces fonctionnalitésÏ Tester le code sur le dashboard OTB (TDD)Ï Contribuer du code à l'OTB
Par où commencer ?
Ï OTB module template :https://github.com/orfeotoolbox/otbExternalModuleTemplate
Ï CMake magic
Slides formation OTB 2017 74 / 74
https://github.com/orfeotoolbox/otbExternalModuleTemplate
IntroductionTP1: GénéralitésUtiliser Monteverdi et QGISLe mécanisme des applications Orfeo ToolBoxLes mécanismes internes de l'Orfeo ToolBox
TP2: Imagerie THR optique, des pré-traitements au SIGPré-traitements de l'imagerie THR optiqueSegmentation et export vers un SIG
TP3: Classification supervisée pour les séries multi-tClassification supervisée pour les séries multi-temporelles
TP4: Traitements SAR pour l'imagerie Sentinel 1Introduction au traitements des images RSO
TP5: Développer avec l'OTBTutoriel pour futur développeur OTB