$30 off During Our Annual Pro Sale. View Details »

Projet Orfeo Toolbox

Blue Hats
January 21, 2022

Projet Orfeo Toolbox

Support de la présentation de Yannick Tanguy lors du séminaire #FLOSS_ESR du 21 janvier 2022 organisé par le Comité pour la science ouverte et le pôle logiciels libres.

Voir https://communs.numerique.gouv.fr/rencontres/.

Le support est publié sous licence Creative Commons by-sa.

Blue Hats

January 21, 2022
Tweet

More Decks by Blue Hats

Other Decks in Research

Transcript

  1. Yannick TANGUY (CNES) – yannick.tanguy@cnes.fr FLOSS ESR – 2022-01-21 Orfeo

    ToolBox
  2. ~ 90 applications indépendantes (avec appel via IHM, ligne de

    commande, interface Python) Monteverdi (visualisation d’images) Dizaines de Remote Modules (applications externes) développés dans la communauté OTB (GapFilling, Framework Deep Learning, etc.) Support de nombreux senseurs optiques et radar Pré-traitements (calibration, ortho- rectification) Extraction d’information Segmentation Classification Détection de changement [….] Bibliothèque de traitement d'images pour la télédétection Logiciel libre (Apache 2.0) Basé sur ITK, GDAL, etc. OTB - Orfeo ToolBox 2
  3. Si vous ne retenez qu’une planche… L'Orfeo ToolBox est :

    • Une bibliothèque de traitement d'images pour la télédétection • Un logiciel libre diffusé sous licence Apache v2.0 • Financée et développée par le CNES (principalement) • Communauté OSGeo depuis 2017 • Ecrite en C++ sur la base d'ITK (imagerie médicale) • Construite sur les épaules de géants (ITK, GDAL, OSSIM, OpenCV. . . ) • Conçue pour traiter de gros volumes de donnees de manière transparente grâce au traitement par morceaux et à la parallélisation. orfeo-toolbox.org 3
  4. Genèse du projet 2006 – programme Orfeo : accompagnement des

    (futurs) utilisateurs Pléiades (lancés en 2011/2012) - Orfeo ToolBox : bibliothèque C++ - Permettre le traitement d’images satellites (volume, spécificités, ..) - Capitaliser des algorithmes à l’état de l’art (ex : segmentation) 4
  5. Montée en puissance 2010-2020 : - Enrichissement de la bibliothèque,

    applications, visualiseur d’images - Portage sur de nombreuses plateformes, « pont » avec des outils & environnements SIG - Nombreuses extensions, usage opérationnel (chaînes) - Communauté OSGeo, Passage à la licence Apache 2.0 - Animation de la communauté (forums, formations, colloques) - Gouvernance via un PSC multi-parties 5
  6. Success stories Chaînes de traitement basées sur l’OTB (MAJA, LIS,

    S1Tiling, DiapOTB, IOTA2, etc.) : - Traitement massif des images SENTINEL (programme Européen Copernicus) optique et radar - Extraction d’information (ex : classification d’occupation des sols) Valorisation de travaux de recherche - Algorithmes de référence - ~ 20 articles scientifiques citent l’OTB 6
  7. Success stories Communauté utilisateurs - Plusieurs centaines d’utilisateurs sur Gitlab

    / forum / listes de diffusion - Une dizaine de contributeurs + équipe dédiée (SSII) - Colloques FOSS4G (OSGeo) - User Days Formation / éducation - Modules de formation (de ½ journée à 3 jours) - > 20 sessions (France, Europe, Chili, Mexique…), environ 20 personnes par session 7
  8. Maturité Open-Source - Relativement avancé au sein du CNES -

    Gitlab indépendant, contributions externes, - Communauté utilisateurs, User days, - Coûteux en RH (?) - Complexité pour faire contribuer (€ et/ou RH) les utilisateurs (CNES ou partenaires) 8
  9. Situation actuelle : logiciel et plateforme pour les contributeurs -

    Moyens techniques (intégration continue, etc.) très ambitieux - Gitlab + intégration continue - 3 types d’OS (Linux, Windows, MacOS) - Plateformes & modes d’usages très variés - Interfaces graphiques / interfaçage dans QGIS (plugin) - Interfaces Python - Différents modes d’installation - Nouveaux usages (Docker, Conda, etc.) 9
  10. Situation actuelle : dette technique - Niche technique / complexité

    technos - Code C++ - Veille techno sur les dépendances OTB - Intégration Python - Dette technique / difficultés à faire évoluer le cœur du produit - Centaines de tickets (issues, bugs) sous Gitlab + sollicitations sur le forum - Les contributions concernent surtout des ajouts / extensions  ticket d’entrée élevé pour devenir contributeur 10
  11. Situation actuelle : vers un changement de paradigme dans la

    communauté développeurs - Changement de paradigme (« gros logiciel monolithique » vs « briques Python légères ») - Comment / doit-on s’adapter à ce changement de paradigme ? - Interfaces Python existantes - Lourdeur de l’installation / du déploiement 11
  12. Scénarios Vers un OTB « light / long term release

    » - Limiter les plateformes cibles et les interfaces - « Core OTB » + extensions - Plus orienté Python Continuer à : - Soutenir les développements opérationnels - Valoriser dans un contexte de formation 12