13.07.2013 Views

ESRIN – Symposium Sentinel II Orfeo ToolBox Demonstration

ESRIN – Symposium Sentinel II Orfeo ToolBox Demonstration

ESRIN – Symposium Sentinel II Orfeo ToolBox Demonstration

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!