ESRIN – Symposium Sentinel II Orfeo ToolBox Demonstration
ESRIN – Symposium Sentinel II Orfeo ToolBox Demonstration
ESRIN – Symposium Sentinel II Orfeo ToolBox Demonstration
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>ESRIN</strong> - <strong>Symposium</strong> <strong>Sentinel</strong> <strong>II</strong><br />
<strong>Orfeo</strong> <strong>ToolBox</strong> <strong>Demonstration</strong><br />
26/04/2012<br />
Mickaël Savinaud<br />
Otmane Lahlou<br />
<strong>Orfeo</strong> Toolbox is not a black box<br />
http://www.orfeo-toolbox.org
OTB description<br />
What is it?<br />
Image processing algorithms<br />
Licence<br />
Maintenance<br />
Integration in others software<br />
OTB in operational context<br />
Outline<br />
Monteverdi: the OTB front-end application<br />
How use the new OTB applications framework<br />
Conclusion<br />
PLAY TIME<br />
PLAY TIME
What is OTB?<br />
<strong>Orfeo</strong> <strong>ToolBox</strong> - Context<br />
An Generic Image Processing Toolbox<br />
All Open source under CECILL license<br />
C++<br />
Bindings to Python, Java, IDL<br />
GUI (Monteverdi)<br />
Application framework (encapsulate processing chain)<br />
Multi-platform<br />
OTB designed and funded by the CNES in the frame of the<br />
ORFEO Accompaniment Program<br />
It has been mainly developed by CS starting 2006
<strong>Orfeo</strong> <strong>ToolBox</strong> - Context<br />
ORFEO: Optical and Radar Federated Earth Observation:<br />
Dual Earth observation satellite system:<br />
Optic : CNES, France (Pléiades HR),<br />
Radar : ASI, Italy (Cosmo-Skymed)<br />
ORFEO Accompaniment Program:<br />
Goals : make easier the development of new algorithms, their validation and capitalisation, fill the gap<br />
between researchers and ORFEO users.<br />
Thematic part:<br />
• User’s needs (extracted information),<br />
• Product definition,<br />
• Validation.<br />
Methodologic part : Coordination of research activities in Image Processing -> OTB<br />
<strong>Orfeo</strong> <strong>ToolBox</strong> (OTB):<br />
Designed to prepare, support and promote the use of remote sensing images<br />
Open source software for image processing labs, users and the industry :<br />
http://www.orfeo-toolbox.org
<strong>Orfeo</strong> <strong>ToolBox</strong> ecosystem<br />
Base classes<br />
Basic image processing filters<br />
Registration framework<br />
Segmentation<br />
Main I/O provider<br />
Raster<br />
Vector<br />
Database<br />
Sensor modeling<br />
Cartographic projection<br />
LibSVM<br />
FLTK<br />
OpenJPEG<br />
6S
And soon...<br />
<strong>Orfeo</strong> <strong>ToolBox</strong> ecosystem<br />
OpenCV<br />
OpenCL<br />
Qgis, SAGA
<strong>Orfeo</strong> <strong>ToolBox</strong><br />
• Functionnalities available for developers<br />
800+ pages Software Guide + Cookbook<br />
Doxygen documentation of all classes<br />
• A front end application : monteverdi<br />
• Some thematic chain are available for users in 3 applications framework<br />
OTB-Applications: built with the OTB classes to address a thematic problem.<br />
OTB Wrappers: share OTB functionalities with external projects.
Goal of OTB: support large files processing<br />
• Streaming: Process big images by chunks<br />
• Control over memory<br />
• Seamless and Flexible integration for image processing<br />
• Threading: process chunks overs available processors<br />
• It is free: all complexity is hidden<br />
• Default mode<br />
• Support of processing on Pleiades/Quickbird/WorldView2<br />
data for example
CeCILL licence : what is it ?<br />
<strong>Orfeo</strong> <strong>ToolBox</strong> <strong>–</strong> a free software<br />
Licence created by CEA, CNES and INRIA, recognized by FSF<br />
Similar and compatible with GNU GPL<br />
Software with static or dynamic link to OTB must have a CeCILL licence (or GNU GPL)<br />
No specific duty to the original authors<br />
No need to make your sources public if you don't distribute the software publicly<br />
Licence related duty applies if the OTB-based application is diffused outside<br />
your organization. You have to:<br />
Copyright respect : indicate which part is modified, indicate licence is CeCILL<br />
Keep available the source code for users (who received the piece of software), and only for<br />
users
OTB: Maintainability<br />
Test driven development best practices<br />
CMake, CTest, CDash<br />
Continuous integration <strong>–</strong> Nightly testing: 2500 tests!!
11 CS Communication & Systèmes <strong>–</strong>Space Catalogue<br />
OTB operational context<br />
Venus mission<br />
ESA <strong>–</strong> Kheo<br />
CNES - Platforme Aval Pleiades
12<br />
CS Communication & Systèmes <strong>–</strong>Space Catalogue<br />
OTB for Venµs L2/L3 products<br />
Context : Vegetation and Environment monitoring on a<br />
New Micro-Satellite<br />
The Venµs mission is aimed at demonstrating scientific capabilities for<br />
environment monitoring within GMES programme (Global Monitoring<br />
Environment and Security)<br />
Description<br />
VENµS is a French-Israeli joint project (CNES & ISA).<br />
12 band multispectral instrument with 5m resolution<br />
Acquires images over 100 selected scientific sites with a high revisit frequency<br />
(2 days)<br />
Provides users with multi-temporal series and cloud-free synthetic products for<br />
environment and climate change monitoring<br />
Activities<br />
Design and development of L2 and L3 processing chains<br />
Use of OTB library and contribution to its development (open source library)<br />
Challenges<br />
1 st operational processing chain based on OTB
13<br />
CS Communication & Systèmes <strong>–</strong>Space Catalogue<br />
Assets of OTB for Venµs chains (1/3):<br />
Algorithms<br />
Image processing algorithms available<br />
Algorithms used and adapted :<br />
• OTB filters: statistics, basics filters, resampling, interpolators, reading and writing<br />
TIF/JPG/HDF images data and XML data, DTM reading, …<br />
• OTB framework: correlation, interpolation, composite filters, IO factories, …<br />
New algorithms developed:<br />
• Aerosol LUT and algorithms of extraction<br />
• Clouds detection,<br />
• Atmospheric correction,<br />
• Shadow detection,<br />
• Estimation of effect environment<br />
Generic implementation of multi spectral camera capability<br />
Factories mechanism available in OTB (C++) are implemented to manage (read/write) products from<br />
several spectral cameras : Formosat, Venµs, Landsat, <strong>Sentinel</strong>-2 and others future spectral<br />
cameras as Landsat 8, …
14<br />
Open source and multi-platform solution<br />
CS Communication & Systèmes <strong>–</strong>Space Catalogue<br />
Conclusion and<br />
Benefits of using OTB<br />
Re-use of many image processing algorithms and IO data functionalities<br />
Streaming and multithreading mechanisms to process huge data volume in reduced<br />
time<br />
Maintain algorithms and make easier to improve the Venµs chain, with new<br />
algorithms (with future OTB release), etc.<br />
Possibility to adapt the C++ Venµs chain in Python or Java languages easier with<br />
the binding capabilities by the scientific users no experts in computer science<br />
Validation and improvement by the users community:<br />
Operational users in CNES<br />
Scientifics users involved in the Venµs project<br />
Interesting for <strong>Sentinel</strong>-2 => MACCS <strong>–</strong> Mutli-mission Atmospheric and Cloud Correction Software<br />
Success of the Venµs chains => MACCS
15<br />
CS Communication & Systèmes <strong>–</strong>Space Catalogue<br />
KEO: Knowledge Earth Observation<br />
Integration of OTB in KEO : a modular/scalable Component-based Processing Environment<br />
create, chain and execute, under the control of a workflow engine, modules for the extraction of<br />
information form EO products. http://keo-karisma.esrin.esa.int/keo-home/KEO.html<br />
Use of Python binding to list the OTB available module and launch processing via OTB command<br />
line applications.
16<br />
Plateforme Aval Pleiades: OTB and Web Services<br />
Use OTB to extract information from Pleiades product used by ORFEO community<br />
Generate data for product database (orthorectification*, radiometric calibration, …)<br />
Online processing based on WPS and OTB functionalities.<br />
CS Communication & Systèmes <strong>–</strong>Space Catalogue<br />
* For France IGN provides orthorectified product
Monteverdi : OTB front-end application
Monteverdi<br />
Export OTB functionalities<br />
Modular<br />
OTB-Monteverdi : bringing<br />
OTB power to the end users
Geometry<br />
Orthorectification<br />
OTB-Monteverdi : <strong>Orfeo</strong> Composer<br />
Reproject image : reprojection of ortho-images<br />
Superimpose two images<br />
Homologous points extraction : manual selection of homologous points, then re-sampling of the image on the fixed one.<br />
GCP to Sensor Model : manual set of longitude / latitude of geographical points, then re-sample of the image. GCP can<br />
also be registered via OpenStreetMap<br />
Filtering<br />
Feature Extraction<br />
Meanshift clustering<br />
Pan-sharpen an image<br />
Band math<br />
Change detection<br />
Threshold<br />
Ohers…<br />
And ?<br />
On-going: Compression ad-hoc version<br />
• Image quality parameters, histogram egalisation, visual comparison…<br />
• Integrate execution<br />
Modular: adding new processing modules or executable is possible<br />
PLAY TIME
New OTB applications framework:
Integration into other software<br />
Application « modules » framework<br />
Bundle simple or more complex pipelines to access OTB functionnalities<br />
Integrated documentation<br />
Reuse in several contexts :<br />
Command line<br />
Python/Java<br />
PLAY TIME
22<br />
Reuse in several contexts :<br />
CS Communication & Systèmes <strong>–</strong>Space Catalogue<br />
Automatically<br />
Integration into other software<br />
generated GUI<br />
PLAY TIME
23<br />
CS Communication & Systèmes <strong>–</strong>Space Catalogue<br />
QGIS integration<br />
QGIS : an open-source GIS which grow<br />
OTB as plugin in QGIS:<br />
based on QGIS plug-in framework and SEXTANTE project<br />
PLAY TIME
OTB in figures & Links
OTB Downloading<br />
Open source image processing tools are useful and used by large<br />
community<br />
OTB downloads:
OTB news…<br />
1 major and 3 or 4 minor releases each year,<br />
An users list :<br />
otb@c-s.fr<br />
otb-users@googlegroups.com,<br />
A blog : http://blog.orfeo-toolbox.org/,<br />
Videos and presentations:<br />
http://blog.orfeo-toolbox.org/news/monteverdi-screenscasts<br />
A wiki : http://wiki.orfeo-toolbox.org,<br />
A bug tracker : http://bugs.orfeo-toolbox.org,<br />
Online documentation : Doxygen and SoftwareGuide.<br />
OTB Training: http://www.orfeo-toolbox.c-s.fr/<br />
4 levels of courses:<br />
• 1: Applications demonstration and using (1 <strong>–</strong> 3 days)<br />
…<br />
• 4: Experimented OTB developers (3 days)<br />
www.orfeo-toolbox.org
27<br />
CS Communication & Systèmes <strong>–</strong>Space Catalogue<br />
CONCLUSION<br />
OTB has strong assets to be used as a development framework for image<br />
processing of big data volumes<br />
2500 tests, development rules, open source, documentation, bindings (java, python)…<br />
Flexible<br />
Completeness : many algorithms available<br />
Performance<br />
Maintainability<br />
OTB a robust development framework<br />
Compatible with several contexts and use-cases<br />
OTB-Monteverdi a modular visualization and execution tool<br />
Bring to end-users the best of the library and the possibility to visualize large scope of earth<br />
observation products<br />
Merge thematic issues and image processing solutions<br />
Offer a tool to simplify the prototype validation<br />
Share state of art of image processing solution in an open-source tools<br />
NEXT: address more and more issues in operational context