74

Formation à l'Orfeo ToolBox: Introduction des Travaux Pratiquesgeoteca.u-paris.fr/wp-content/uploads/2017/07/OTB... · 2017-07-17 · bi-polarisation (HH et HV) sur le sud du lac

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • 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