Présentation générale de l'Orfeo ToolBox (12.2014)

54
Introduction Motivations et historique de l’Orfeo ToolBox Caract eristiques cl es Fonctionnalit es Quoi de neuf dans l’OTB 5.0 ? Conclusion et perspectives L’Orfeo ToolBox un logiciel libre pour la t el edetection Julien Michel (CNES) , Manuel Grizonnet (CNES)

Transcript of Présentation générale de l'Orfeo ToolBox (12.2014)

Page 1: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

L’Orfeo ToolBoxun logiciel libre pour la teledetection

Julien Michel (CNES), Manuel Grizonnet (CNES)

Page 2: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Sommaire

Introduction

Motivations et historique de l’Orfeo ToolBox

Caracteristiques cles

Fonctionnalites

Quoi de neuf dans l’OTB 5.0 ?

Conclusion et perspectives

Page 3: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Introduction

L’objectif de la presentation est de donnera l’audience :

I Un apercu de l’ensemble descomposantes du projet,

I Des bonnes pratiques pour aiguiller lesdebutants vers une utilisationoptimale,

I Des pointeurs pour aller plus loin.

Orfeo ToolBox is not a black box . . .Commencons donc l’ouverture de la boite !

Page 4: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Si vous ne retenez qu’une planche. . .

L’Orfeo ToolBox est :

I Une librairie de traitement d’images dediees a la teledetection,

I Un logiciel libre diffuse sous licence CeCILL-v2 (equivalent a la GPL),

I Financee et developpee par le CNES dans le cadre du programme preparatoire aPleiades Orfeo (et au dela),

I Ecrite en C++ sur la base d’ITK (librairie libre de traitement d’imagesmedicales),

I Interfacee avec de nombreux autres logiciels libres de traitement d’images et deteledetection, tels que Gdal, OSSIM ou OpenCV,

I Concue pour traiter de gros volumes de donnees de maniere transparente graceau traitement par morceaux et a la parallelisation.

www.orfeo-toolbox.org

Page 5: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Sommaire

Introduction

Motivations et historique de l’Orfeo ToolBox

Caracteristiques cles

Fonctionnalites

Quoi de neuf dans l’OTB 5.0 ?

Conclusion et perspectives

Page 6: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

La genese de l’Orfeo ToolBox (OTB)

Le programme CNES Orfeo (2006-2014)

I Constat : Le saut en resolution spatial de Pleiades par rapport a SPOT5 conduita de nouveaux usages

I Objectif : preparer, accompagner et promouvoir l’utilisation et l’exploitation desimages Pleiades (et CosmoSkymed)

I Une phase preparatoire de 2006 a 2012,

I Une phase de recette (Recette Thematique Utilisateurs) de 2012 a 2014.

L’OTB dans Orfeo

I Repondre au besoin des groupes thematiques Orfeo

I Capitaliser la R&D du CNES en extraction d’information

I Fournir des outils generiques aux utilisateurs Pleiades (pour faciliter l’utilisationdes images)

Page 7: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Pourquoi un logiciel libre ?

Diffusion maximaleL’OTB est un logiciel a destination de tous les utilisateurs de Pleiades. Sa diffusionlarge contribue au rayonnement de la mission.

Qualite et efficaciteLe domaine fonctionnel de l’OTB est vaste, son developpement necessite du temps etde l’expertise. L’ouverture des sources :

I Favorise l’appropriation et la validation par la communaute des utilisateurs,

I Favorise les contributions et les corrections de bugs par les utilisateurs,

I Favorise la dissemination sur de multiples plate-formes.

Demarche scientifiqueComme l’OTB capitalise une partie de la R&D du CNES en extraction d’information,l’ouverture des sources permet une demarche de recherche reproductible.

Page 8: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Un peu d’histoire . . .

2008 2010 2012 2014

1.0.0

Etapes cles

1.0.0 Architecture, compilation et documentation, quelques fonctions etapplications

Page 9: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Un peu d’histoire . . .

2008 2010 2012 2014

2.0.0

1.6.

01.

4.0

1.2.

0

1.0.0

Etapes cles

1.0.0 Architecture, compilation et documentation, quelques fonctions etapplications

2.0.0 Expansion fonctionnelle (apprentissage SVM, extraction deprimitives, pre-traitement, meilleure visualisation . . . )

Page 10: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Un peu d’histoire . . .

2008 2010 2012 2014

3.0.0

2.8

2.6.

02.

4.0

2.2.

0

2.0.0

1.6.

01.

4.0

1.2.

0

1.0.0

Etapes cles

1.0.0 Architecture, compilation et documentation, quelques fonctions etapplications

2.0.0 Expansion fonctionnelle (apprentissage SVM, extraction deprimitives, pre-traitement, meilleure visualisation . . . )

3.0.0 Suite de l’expansion fonctionnelle (support des donnees vecteurs,champs de Markov caches, points cles, cartes de Kohonen . . . ) et denouvelles applications de demonstration, avec interface graphique

Page 11: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Un peu d’histoire . . .

2008 2010 2012 2014

3.2.

0

3.0.0

2.8

2.6.

02.

4.0

2.2.

0

2.0.0

1.6.

01.

4.0

1.2.

0

1.0.0

Etapes cles

1.0.0 Architecture, compilation et documentation, quelques fonctions etapplications

2.0.0 Expansion fonctionnelle (apprentissage SVM, extraction deprimitives, pre-traitement, meilleure visualisation . . . )

3.0.0 Suite de l’expansion fonctionnelle (support des donnees vecteurs,champs de Markov caches, points cles, cartes de Kohonen . . . ) et denouvelles applications de demonstration, avec interface graphique

3.2.0 Premiere version de Monteverdi, et de nouvelles fonctions,

Page 12: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Un peu d’histoire . . .

2008 2010 2012 2014

3.12

.0

3.10

.0

3.8.

03.

6.0

3.4.

03.

2.0

3.0.0

2.8

2.6.

02.

4.0

2.2.

0

2.0.0

1.6.

01.

4.0

1.2.

0

1.0.0

Etapes cles

1.0.0 Architecture, compilation et documentation, quelques fonctions etapplications

2.0.0 Expansion fonctionnelle (apprentissage SVM, extraction deprimitives, pre-traitement, meilleure visualisation . . . )

3.0.0 Suite de l’expansion fonctionnelle (support des donnees vecteurs,champs de Markov caches, points cles, cartes de Kohonen . . . ) et denouvelles applications de demonstration, avec interface graphique

3.2.0 Premiere version de Monteverdi, et de nouvelles fonctions,

3.12.0 Nouveau mecanisme pour les applications, et support complet del’imagerie Pleiades, nouvelles fonctions,

Page 13: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Un peu d’histoire . . .

2008 2010 2012 2014

3.16

.0

3.14

.0

3.12

.0

3.10

.0

3.8.

03.

6.0

3.4.

03.

2.0

3.0.0

2.8

2.6.

02.

4.0

2.2.

0

2.0.0

1.6.

01.

4.0

1.2.

0

1.0.0

Etapes cles

1.0.0 Architecture, compilation et documentation, quelques fonctions etapplications

2.0.0 Expansion fonctionnelle (apprentissage SVM, extraction deprimitives, pre-traitement, meilleure visualisation . . . )

3.0.0 Suite de l’expansion fonctionnelle (support des donnees vecteurs,champs de Markov caches, points cles, cartes de Kohonen . . . ) et denouvelles applications de demonstration, avec interface graphique

3.2.0 Premiere version de Monteverdi, et de nouvelles fonctions,

3.12.0 Nouveau mecanisme pour les applications, et support complet del’imagerie Pleiades, nouvelles fonctions,

3.16.0 Premiere version de Monteverdi2, et nouvelles fonctions,

Page 14: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Un peu d’histoire . . .

2008 2010 2012 2014

4.2.

0

4.0.0

3.20

.0

3.18

.0

3.16

.0

3.14

.0

3.12

.0

3.10

.0

3.8.

03.

6.0

3.4.

03.

2.0

3.0.0

2.8

2.6.

02.

4.0

2.2.

0

2.0.0

1.6.

01.

4.0

1.2.

0

1.0.0

Etapes cles

1.0.0 Architecture, compilation et documentation, quelques fonctions etapplications

2.0.0 Expansion fonctionnelle (apprentissage SVM, extraction deprimitives, pre-traitement, meilleure visualisation . . . )

3.0.0 Suite de l’expansion fonctionnelle (support des donnees vecteurs,champs de Markov caches, points cles, cartes de Kohonen . . . ) et denouvelles applications de demonstration, avec interface graphique

3.2.0 Premiere version de Monteverdi, et de nouvelles fonctions,

3.12.0 Nouveau mecanisme pour les applications, et support complet del’imagerie Pleiades, nouvelles fonctions,

3.16.0 Premiere version de Monteverdi2, et nouvelles fonctions,

4.0.0 Compatibilite avec ITK 4.0, et nouvelles fonctions.

Page 15: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Un peu d’histoire . . .

2008 2010 2012 2014

4.2.

0

4.0.0

3.20

.0

3.18

.0

3.16

.0

3.14

.0

3.12

.0

3.10

.0

3.8.

03.

6.0

3.4.

03.

2.0

3.0.0

2.8

2.6.

02.

4.0

2.2.

0

2.0.0

1.6.

01.

4.0

1.2.

0

1.0.0

Lines of code

Page 16: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Un peu d’histoire . . .

2008 2010 2012 2014

4.2.

0

4.0.0

3.20

.0

3.18

.0

3.16

.0

3.14

.0

3.12

.0

3.10

.0

3.8.

03.

6.0

3.4.

03.

2.0

3.0.0

2.8

2.6.

02.

4.0

2.2.

0

2.0.0

1.6.

01.

4.0

1.2.

0

1.0.0

Commits per month

Page 17: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Un peu d’histoire . . .

2008 2010 2012 2014

4.2.

0

4.0.0

3.20

.0

3.18

.0

3.16

.0

3.14

.0

3.12

.0

3.10

.0

3.8.

03.

6.0

3.4.

03.

2.0

3.0.0

2.8

2.6.

02.

4.0

2.2.

0

2.0.0

1.6.

01.

4.0

1.2.

0

1.0.0

Sourceforge downloads

Page 18: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Sommaire

Introduction

Motivations et historique de l’Orfeo ToolBox

Caracteristiques cles

Fonctionnalites

Quoi de neuf dans l’OTB 5.0 ?

Conclusion et perspectives

Page 19: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Construite sur des logiciels libres tiers performants

Motivations

I A chaque fois que c’est possible, l’Orfeo ToolBox s’appuie sur des logiciels librestiers

I Cette position d’integrateur permet d’accroıtre rapidement le nombre defonctions tout en assurant leurs validite

I Elle permet egalement de creer de nouvelles fonctionnalites par hybridation

Les logiciels tiers principaux

I ITK dependance principale, fournit la modelisation du pipeline de traitement

I GDAL gere toutes les acces aux donnees images et vecteurs,

I OSSIM contient toute la modelisation geometrique des prises de vues,

I OpenCV et LibSVM pour les fonctionnalites de classification supervisee,

I MuParser et MuParserX l’analyse dynamique d’expressions mathematiques ...

Page 20: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Compatible (et disponible) pour un maximum de plateformes

Objectif multi-plateforme

I Compiler avec les versions recentesde :

I gcc,I clang,I visual studio. . .

I Des paquets binaires sont disponiblesen fonction de la plateforme :

I Depot ubuntugis pour Ubuntu,I Integration a OSGeo4W et paquets

independants pour windows,I Paquets MacPort et image dmg pour

Mac OSX. . .

Systeme d’exploitation des telechargements sur Sourceforge (ne tientpas compte des autres depot)

Page 21: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Flexibilite, passage a l’echelle : Pipeline, Streaming et multithreading

Le modele de Pipeline

Streaming

source : http ://www.aosabook.org/en/itk.html

Page 22: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Flexibilite, passage a l’echelle : en coulisse ...

source : http ://www.aosabook.org/en/itk.html

Page 23: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Proche de l’etat de l’art

I Veille technologique de l’equipe de developpement

I Implementations d’algorithmes recents d’apres publication. Ex. : profilsmorphologiques, segmentation MeanShift, textures de Haralick, points d’interetSURF . . .

I Implementations de references contribuees par les auteurs de certains travaux ensupport a leur publication. Ex. : Large Scale MeanShift, fusion bayesienne,detection d’objets . . .

I Veille pour beneficier des avancees des logiciels tiers. Ex. : algorithmes demachine learning d’OpenCV,

I Souvent : pour une meme brique fonctionnelle, plusieurs algorithmes decomplexites differentes disponibles sous une meme interface.

Page 24: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Un mot concernant le developpement du logiciel

I Gestion de code source decentralisee : Mercurial (changement pour Git envisage)

I C++ et suite CMake (ctest, cdash)

I Developpement guide par les tests (TDD)

I Gestion Agile

I Integration continue et packaging automatise

Tout les jours, environ 3000 tests sont compiles et rejoues sur 16 configurationsdifferentes !

Page 25: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Comment utiliser l’OTB ?

Ecrire son propre codeFlexible, acces a l’API complete, demande une connaissance en C++

Utiliser les applicationsFonctions de haut niveau (par ex. segmentation), appelable en ligne de commande, viaune interface graphique, ou depuis python. Peut etre etendue (creation d’applications)

Utiliser Monteverdi2Visualisation, gestion persistante des donnees, Acces a l’ensemble des applications

Page 26: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Les applications : codees une fois, utilisables partout

I 80 applications sont livrees avecl’OTB

I 1 application = 1 librairie dynamique(plugin)

I Les applications sont auto-descriptiveset auto-documentees,

I Les applications peuvent etre etenduesen dehors de l’OTB

I Plusieurs interfaces sont disponiblespour utiliser les plugins :

I Ligne de commande,I Interface QT auto-generee,I Python

I Les applications sont concues pourune integration facilitee dans dessystemes externes

Page 27: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Applications : appel depuis la ligne de commande$ otbcli_OrthoRectification

ERROR: Waiting for at least one parameter...

This is the OrthoRectification application, version 4.1.0

This application allows to ortho-rectify optical images from supported sensors.

Complete documentation: http://www.orfeo-toolbox.org/Applications/OrthoRectification.html

Parameters:

-progress <boolean> Report progress

MISSING -io.in <string> Input Image (mandatory)

MISSING -io.out <string> [pixel] Output Image [pixel=uint8/uint16/int16/uint32/int32/float/double] (default value is float) (mandatory)

-map <string> Output Cartographic Map Projection [utm/lambert2/lambert93/wgs/epsg] (mandatory, default value is utm)

-map.utm.zone <int32> Zone number (mandatory, default value is 31)

-map.utm.northhem <boolean> Northern Hemisphere (optional, off by default)

-map.epsg.code <int32> EPSG Code (mandatory, default value is 4326)

-outputs.mode <string> Parameters estimation modes [auto/autosize/autospacing/outputroi/orthofit] (mandatory, default value is auto)

MISSING -outputs.ulx <float> Upper Left X (mandatory)

MISSING -outputs.uly <float> Upper Left Y (mandatory)

MISSING -outputs.sizex <int32> Size X (mandatory)

MISSING -outputs.sizey <int32> Size Y (mandatory)

MISSING -outputs.spacingx <float> Pixel Size X (mandatory)

MISSING -outputs.spacingy <float> Pixel Size Y (mandatory)

-outputs.lrx <float> Lower right X (optional, off by default)

-outputs.lry <float> Lower right Y (optional, off by default)

-outputs.ortho <string> Model ortho-image (optional, off by default)

-outputs.isotropic <boolean> Force isotropic spacing by default (optional, on by default)

-outputs.default <float> Default pixel value (optional, on by default, default value is 0)

-elev.dem <string> DEM directory (optional, off by default)

-elev.geoid <string> Geoid File (optional, off by default)

-elev.default <float> Default elevation (mandatory, default value is 0)

-interpolator <string> Interpolation [bco/nn/linear] (mandatory, default value is bco)

Page 28: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Applications : appel depuis l’interface QT auto-generee (parametres)

Page 29: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Applications : appel depuis l’interface QT auto-generee (documentation)

Page 30: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Applications : appel depuis l’interface python

#!/usr/bin/python

# Import the otb applications package

import otbApplication

# The following line creates an instance of the OrthoRectification application

OrthoRectification = otbApplication.Registry.CreateApplication("OrthoRectification")

# The following lines set all the application parameters:

OrthoRectification.SetParameterString("io.in", "QB_TOULOUSE_MUL_Extract_500_500.tif")

OrthoRectification.SetParameterString("io.out", "QB_Toulouse_ortho.tif")

# The following line execute the application

OrthoRectification.ExecuteAndWriteOutput ()

Page 31: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Monteverdi2 : visualisation

Page 32: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Monteverdi2 : traitement

Page 33: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Sommaire

Introduction

Motivations et historique de l’Orfeo ToolBox

Caracteristiques cles

Fonctionnalites

Quoi de neuf dans l’OTB 5.0 ?

Conclusion et perspectives

Page 34: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Les grandes familles de fonctionnalites dans l’OTB (forcement incompletes)

Pre-traitements

I Calibration radiometrique, ortho-rectification, reprojection (raster et vecteur),pan-sharpening, stereo-rectification,

I Capteurs supportes : Pleiades, SPOT6, SPOT5, capteurs DigitalGlobe

I Modelisation geometrique fournie par OSSIM, support de MNT SRTM ouGeoTIFF

Manipulation d’images et de vecteurs

I Formats supportes par Gdal (raster et vecteur), conversion raster/vecteur

I Extraction de ROI, de bandes spectrales, concatenation ou separation des bandesspectrales,

I calcul mathematiques entre bandes, color mapping, optimisation du contraste

I Filtrage lineaire, morphologie mathematique,

Page 35: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Les grandes familles de fonctionnalites dans l’OTB (forcement incomplete)

Detection d’elements saillants et calcul de primitives

I Detection de contours, points d’interet SIFT et SURF, lignes, angles droits

I Indices radiometriques, indices de textures (Haralick, SFS, PanTex)

I Descripteurs statistiques locaux (moments de Flusser, HOG)

I Matching de points d’interets

Detection de changement

I Algorithme classique avec metrique de comparaison d’image,

I Algorithme MAD (Multivariate Alteration Detector)

Reduction de la dimension, traitement hyperspectraux

I Reduction de la dimension : PCA, NAPCA, ICA, MAF . . .

I Estimation de la dimension et extraction des pixels purs : algorithme VCA

Page 36: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Les grandes familles de fonctionnalites dans l’OTB (forcement incomplete)

Segmentation

I Algorithmes de segmentation Connected Components, MeanShift, Ligne departage des eaux

I Methodologie pour une application large echelle,

I Representation vectorielles et raster des resultats, avec capacites d’analyse objet

Classification

I Supervision et classification d’images avec 9 algorithmes au choix (dont SVM etRandom Forest)

I Fusion et regularisation de cartes de classification

I Clustering de type K-Means ou carte de Kogonen

I Classification objets (segments issus d’une segmentation)

Page 37: Présentation générale de l'Orfeo ToolBox (12.2014)
Page 38: Présentation générale de l'Orfeo ToolBox (12.2014)
Page 39: Présentation générale de l'Orfeo ToolBox (12.2014)
Page 40: Présentation générale de l'Orfeo ToolBox (12.2014)
Page 41: Présentation générale de l'Orfeo ToolBox (12.2014)
Page 42: Présentation générale de l'Orfeo ToolBox (12.2014)
Page 43: Présentation générale de l'Orfeo ToolBox (12.2014)
Page 44: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Sommaire

Introduction

Motivations et historique de l’Orfeo ToolBox

Caracteristiques cles

Fonctionnalites

Quoi de neuf dans l’OTB 5.0 ?

Conclusion et perspectives

Page 45: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Modularite (inspiree de l’organisation du code ITK 4.x)

Qu’est ce qui change ?

I Une meilleure organisation du code, en modules coherents :I OTB 4.4.0 : 1672 fichiers dans 26 repertoiresI OTB 5.0 : 1627 fichiers dans 124 modules repartis en 16 groupes

I Les modules sont complets : tests, code source, applications sont regroupes

I Chaque module peut etre active ou non, avec gestion des dependances

Quels sont les avantages ?

I Les logiciels tiers sont importes dans des modules desactivables comme les autres

I Beaucoup de magie CMake (moins de code cmake, plus de choses automatisees)

I La documentation doxygen reflete l’organisation en groupes/modules

I Les contributions sont facilitees, notamment avec le mecanisme de remote module

Page 46: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Superbuild

Avant OTB 4.4.0

I Certaines dependances (mais pas toutes) peuvent etre compilee en interne

I Leur code source est integre a celui de l’Orfeo ToolBox (pas une bonne pratiqueen general)

Dans OTB 5.0, on Superbuild !

I Il n’y a plus de logiciels tiers dans l’OTB

I Il existe un projet separe appele Superbuild, qui telecharge, configure, compile etinstalle chaque dependance dans sa bonne version

I On peut ainsi compiler une OTB complete avec tres peu de pre-requis (cmake,gcc, zlib, curl), et totalement automatiquement

I Il existe egalement un mode offline pour compiler l’OTB en avion (ou toute autresituation sans acces internet)

Page 47: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Project Steering Committee

I Le PSC est un systeme de gouvernance ouverte

I Il s’agit d’une entite de coordination plus qu’un organisme de decision

I Animation de la communaute, et grandes orientations du projet

I Tout le monde peut en devenir membre (nouveau membre = vote)

I Les decisions et les debats sont publics (sur la liste de diffusion pour lesdeveloppeurs)

I Les status sont publics 1

1. http://wiki.orfeo-toolbox.org/index.php/Project_Steering_Committee

Page 48: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Sommaire

Introduction

Motivations et historique de l’Orfeo ToolBox

Caracteristiques cles

Fonctionnalites

Quoi de neuf dans l’OTB 5.0 ?

Conclusion et perspectives

Page 49: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Combien d’utilisateurs ?

Difficile a dire . . .

I 577 membres sur la liste utilisateurs

I Entre 100 et 150 messages par mois

I 89 membres sur la liste developpeurs

I 118 comptes sur le systeme de gestiondes bugs

I 52 contributeurs a la documentation

I 864 telechargements for OTB 4.0.0

Page 50: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Les reussites de l’OTBI l’OTB a ete utile a (certains) des utilisateurs

ORFEO/RTU

I L’OTB a traite avec succes plus de 619 imagesPleiades pour le site web RTU,

I L’OTB fournit beaucoup de fonctions utilespour la teledetection dans un unique outil

I L’OTB est (a ete) l’unique logiciel open-sourcecompatible avec les images Pleiades (grace aOpenJPEG)

I L’OTB egale ou depasse les outils de l’etat del’art (libre et commercial) pour certainesfonctions :

I La calculatrice de bandes,I La segmentation de scene completes,I La classification a l’echelle d’une scene complete

avec un grand choix d’algorithmes,I Les ponts entre la teledetection et le systemes

d’information geographique. . .

I Au dela d’ORFEO, l’OTB est deja utiliseedans plusieurs projets et logiciels

Carte thematique a partir d’une segmentation parl’OTB, B. Mougenot - IRD

Page 51: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Projets et logiciels utilisant l’OTB

I Le logiciel Gnorasi (National TechnicalUniversity of Athens)

I Le projet Vahine (traitement d’imageshyperspectrales pour l’astrophysique),IPAG

I Projet SEAS (IRD)

I L’OTB est utilisee dans certainscomposant des segments sols S2 etVenus (CNES et ESA)

I Le programme de recherche TCM(ETS Quebec)

I Le projet de recherche FP7 Tolomeo(CESBIO)

I Les applications OTB applicationssont disponibles dans le module detraitement de QGis

Le logiciel Gnorasi

Page 52: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Un systeme complexe : chaos et effets de bord

Effets des parametres d’encodage tif et du streaming sur les performances d’une chaıne de traitement

Page 53: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Demander du support / proposer son aide

Ressources generalesSite web www.orfeo-toolbox.org

Wiki wiki.orfeo-toolbox.org

Blog blog.orfeo-toolbox.org

Documentation et aideDoxygen http ://www.orfeo-toolbox.org/doxygen/

Guides Software Guide (pour les utilisateurs C++) et CookBook (pour tous)

Liste utilisateurs [email protected]

Liste developpeurs [email protected]

Suivi rapprocheQue se passe-t-il ? scrum.orfeo-toolbox.org

Quelle est la meteo du projet ? dash.orfeo-toolbox.org

Un coup d’oeil au code ? hg.orfeo-toolbox.org

Vous avez trouve un bug ? bugs.orfeo-toolbox.org

Page 54: Présentation générale de l'Orfeo ToolBox (12.2014)

IntroductionMotivations et historique de l’Orfeo ToolBox

Caracteristiques clesFonctionnalites

Quoi de neuf dans l’OTB 5.0 ?Conclusion et perspectives

Merci pour votre attention. Des questions ?