+ All Categories
Home > Technology > Presentation of the Orfeo Toolbox

Presentation of the Orfeo Toolbox

Date post: 27-Jan-2015
Category:
Upload: otb
View: 126 times
Download: 6 times
Share this document with a friend
Description:
General presentation of the Orfeo Toolbox Library (OTB)
Popular Tags:
60
1 orfeo-toolbox.org Presentation of the Orfeo Toolbox (OTB) Presentation of the Orfeo Toolbox (OTB)
Transcript
Page 1: Presentation of the Orfeo Toolbox

1

orfeo-toolbox.org

Presentation of the Orfeo Toolbox (OTB)Presentation of the Orfeo Toolbox (OTB)

Page 2: Presentation of the Orfeo Toolbox

2

orfeo-toolbox.org

Contents of the presentation

Introduction

Library and functions

Presentation of applications

Presentation of Monteverdi

Documentation

Development with OTB

OTB License and contributions

Roadmap

Orfeo Toolbox (OTB)Orfeo Toolbox (OTB)

Page 3: Presentation of the Orfeo Toolbox

3

orfeo-toolbox.org

Contents of the presentation

Introduction

Library and functions

Presentation of applications

Presentation of Monteverdi

Documentation

Development with OTB

OTB License and contributions

Roadmap

Orfeo Toolbox (OTB)Orfeo Toolbox (OTB)

Page 4: Presentation of the Orfeo Toolbox

4

orfeo-toolbox.org

Framework : ORFEO Accompaniment Program

Goals : make easier the development of new algorithms, their validation and capitalisation, fill the gap between researchers and ORFEO users

CNES is responsible for design and specification

Open source software for Image Processing labs, users and the industry

OTB= Image processing library with focus on feature extraction

Development of OTB functionalities driven by thematic ORFEO user’s need

Why Orfeo Toolbox ?Why Orfeo Toolbox ?

Page 5: Presentation of the Orfeo Toolbox

5

orfeo-toolbox.org

What is OTB ? (1/3)What is OTB ? (1/3)

Multi-purpose library for image processing Orthorectification, cartographic projectionsImage fusion, pan-sharpeningRadiometric correctionRegistrationFiltering, segmentation, classificationFeature extraction (texture, lines, vegetation indexes)Basic change detectionBasic feature extractionSupervised learningObject countingSpatial reasoningEtc....

Many examples and binary applications for specific tasks (open source) Command line or GUI

Page 6: Presentation of the Orfeo Toolbox

6

orfeo-toolbox.org

What is OTB ? (2/3)

• C++ library based on existing developments

OTB

Library

Applications

Developpers

Utilities

UsersExternal libs

Page 7: Presentation of the Orfeo Toolbox

7

orfeo-toolbox.org

What is OTB ? (3/3)What is OTB ? (3/3)

Main characteristicsExtension of the ITK API formalismOpen Source (CeCILL licence)Multi-platforms (Linux, UNIX, MS-Windows, MAC OS)Open source libraries : ITK (segm., registr.), GDAL, OSSIM (carto, ortho), VTK, FLTK (GUI), LibSVM (supervised learning & classif.)C++ language ➢Type genericity (int, float, double, complex) - use of templates➢“Typedef” knowledge required...

Always the same formalism to plugin elementary image processing blocks Synchronized pipeline (processing on demand)Streaming and multi-threading process

Page 8: Presentation of the Orfeo Toolbox

8

orfeo-toolbox.org

Contents of the presentation

Introduction

Library and functions

Presentation of applications

Presentation of Monteverdi

Documentation

Development with OTB

OTB License and contributions

Roadmap

Orfeo Toolbox (OTB)Orfeo Toolbox (OTB)

Page 9: Presentation of the Orfeo Toolbox

9

orfeo-toolbox.org

Line detection on SAR images

Library and Functions Library and Functions

Page 10: Presentation of the Orfeo Toolbox

10

orfeo-toolbox.org

Perceptual alignment detection

Library and Functions Library and Functions

Page 11: Presentation of the Orfeo Toolbox

11

orfeo-toolbox.org

Change detection

Library and Functions Library and Functions

Page 12: Presentation of the Orfeo Toolbox

12

orfeo-toolbox.org

Original Blurring Edge preserving

Denoising

Library and Functions Library and Functions

Page 13: Presentation of the Orfeo Toolbox

13

orfeo-toolbox.org

Circle extraction

Library and Functions Library and Functions

Page 14: Presentation of the Orfeo Toolbox

14

orfeo-toolbox.org

Watershed segmentation

Library and Functions Library and Functions

Page 15: Presentation of the Orfeo Toolbox

15

orfeo-toolbox.org

Object segmentation

Library and Functions Library and Functions

Page 16: Presentation of the Orfeo Toolbox

16

orfeo-toolbox.org

Supervised classification

Library and Functions Library and Functions

Page 17: Presentation of the Orfeo Toolbox

17

orfeo-toolbox.org

Contents of the presentation

Introduction

Library and functions

Presentation of applications

Presentation of Monteverdi

Documentation

Development with OTB

OTB License and contributions

Roadmap

Orfeo Toolbox (OTB)Orfeo Toolbox (OTB)

Page 18: Presentation of the Orfeo Toolbox

18

orfeo-toolbox.org

OTB applications OTB applications

otbImageViewer

otbImageViewerManager

Page 19: Presentation of the Orfeo Toolbox

19

orfeo-toolbox.org

Applications – Image viewer

otbImageViewer

Page 20: Presentation of the Orfeo Toolbox

20

orfeo-toolbox.org

Applications Applications

otbRoadExtractionApplication

otbSupervisedClassificationApplication

Page 21: Presentation of the Orfeo Toolbox

21

orfeo-toolbox.org

Applications – SegmentationApplications – Segmentation

otbSegmentationApplication

Page 22: Presentation of the Orfeo Toolbox

22

orfeo-toolbox.org

otbSegmentationApplication (1/8)

Page 23: Presentation of the Orfeo Toolbox

23

orfeo-toolbox.org

otbSegmentationApplication (2/8)

Page 24: Presentation of the Orfeo Toolbox

24

orfeo-toolbox.org

otbSegmentationApplication (3/8)

Page 25: Presentation of the Orfeo Toolbox

25

orfeo-toolbox.org

otbSegmentationApplication (4/8)

Page 26: Presentation of the Orfeo Toolbox

26

orfeo-toolbox.org

otbSegmentationApplication (5/8)

Page 27: Presentation of the Orfeo Toolbox

27

orfeo-toolbox.org

otbSegmentationApplication (6/8)

Page 28: Presentation of the Orfeo Toolbox

28

orfeo-toolbox.org

otbSegmentationApplication (7/8)

Page 29: Presentation of the Orfeo Toolbox

29

orfeo-toolbox.org

otbSegmentationApplication (8/8)

Page 30: Presentation of the Orfeo Toolbox

30

orfeo-toolbox.org

Contents of the presentation

Introduction

Library and functions

Presentation of applications

Presentation of Monteverdi

Documentation

Development with OTB

OTB License and contributions

Roadmap

Orfeo Toolbox (OTB)Orfeo Toolbox (OTB)

Page 31: Presentation of the Orfeo Toolbox

31

orfeo-toolbox.org

What is Monteverdi ?What is Monteverdi ?

Framework to interactively build a image processing pipeline

Orfeo Toolbox components :

Functions and filters

Applications

Global framework

=> Monteverdi

Page 32: Presentation of the Orfeo Toolbox

32

orfeo-toolbox.org

Main menu

File

SAR

Filtering

Learning

Geometry

Visualization

Help

MonteverdiMonteverdi

Page 33: Presentation of the Orfeo Toolbox

33

orfeo-toolbox.org

Visualization

Viewer

Monteverdi – ViewerMonteverdi – Viewer

Page 34: Presentation of the Orfeo Toolbox

34

orfeo-toolbox.org

Geometry

Orthorectification

Reproject image : reprojection of ortho-images

Superimpose two images

Homologous points extraction : manual selection of homologous points,

then re-sampling of the image on the fixed one.

GCP to Sensor Model : manual set of longitude / latitude of

geographical points, then re-sample of the image.

MonteverdiMonteverdi

Page 35: Presentation of the Orfeo Toolbox

35

orfeo-toolbox.org

Menu Geometry > Orthorectification

MonteverdiMonteverdi

Page 36: Presentation of the Orfeo Toolbox

36

orfeo-toolbox.org

Menu Geometry > Homologous points extraction

MonteverdiMonteverdi

Page 37: Presentation of the Orfeo Toolbox

37

orfeo-toolbox.org

Menu Geometry > GCP to sensor model

MonteverdiMonteverdi

Page 38: Presentation of the Orfeo Toolbox

38

orfeo-toolbox.org

Filtering

Feature Extraction

Meanshift clustering

Pan-sharpen an image

Band math

Change detection

Threshold

MonteverdiMonteverdi

Page 39: Presentation of the Orfeo Toolbox

39

orfeo-toolbox.org

Filtering

Feature Extraction (1/3)

MonteverdiMonteverdi

Page 40: Presentation of the Orfeo Toolbox

40

orfeo-toolbox.org

Filtering

Feature Extraction (2/3)

MonteverdiMonteverdi

Page 41: Presentation of the Orfeo Toolbox

41

orfeo-toolbox.org

Filtering

Feature Extraction (3/3)

➢More than 65 features ! Mean, variance, Gradient, spectral angle

Textures (energy, entropy, contrast, etc)Morphological filters

Radiometric indexes• Vegetation (NDVI, ARVI, etc), Soil, Built up, Water

Edge density

Mean shift

Original data (=> no need to concatenate channels after filtering)Etc

➢Use before SVM classification for example

MonteverdiMonteverdi

Page 42: Presentation of the Orfeo Toolbox

42

orfeo-toolbox.org

MonteverdiMonteverdi

Filtering

Change

Detection

Page 43: Presentation of the Orfeo Toolbox

43

orfeo-toolbox.org

Menu Learning > SVM classification (1/2)

MonteverdiMonteverdi

Page 44: Presentation of the Orfeo Toolbox

44

orfeo-toolbox.org

Menu Learning > SVM classification (2/2)

MonteverdiMonteverdi

Page 45: Presentation of the Orfeo Toolbox

45

orfeo-toolbox.org

Contents of the presentation

Introduction

Library and functions

Presentation of applications

Presentation of Monteverdi

Documentation

Development with OTB

OTB License and contributions

Roadmap

Orfeo Toolbox (OTB)Orfeo Toolbox (OTB)

Page 46: Presentation of the Orfeo Toolbox

46

orfeo-toolbox.org

Documentation

OTB user guide

Examples of class use

Example of input and output images

Doxygen documentation

Class interface, hierarchies, methods, etc

OTB utilities and applications source code (open source)

Amount of examples to build you own application

Page 47: Presentation of the Orfeo Toolbox

47

orfeo-toolbox.org

User Guide

OTB user guide (1/2)

Page 48: Presentation of the Orfeo Toolbox

48

orfeo-toolbox.org

OTB user guide (2/2)

Page 49: Presentation of the Orfeo Toolbox

49

orfeo-toolbox.org

Contents of the presentation

Introduction

Library and functions

Presentation of applications

Presentation of Monteverdi

Documentation

Development with OTB

OTB License and contributions

Roadmap

Orfeo Toolbox (OTB)Orfeo Toolbox (OTB)

Page 50: Presentation of the Orfeo Toolbox

50

orfeo-toolbox.org

Hello world program Hello world program

#include "otbImage.h"

#include "otbImageFileReader.h"

#include "otbStreamingImageFileWriter.h"

#include "itkGradientMagnitudeImageFilter.h"

int main( int argc, char * argv[ ] )

{

typedef otb::Image<unsigned char, 2> ImageType;

typedef otb::ImageFileReader<ImageType> ReaderType;

ReaderType::Pointer reader = ReaderType::New();

typedef otb::StreamingImageFileWriter<ImageType> WriterType;

WriterType::Pointer writer = WriterType::New();

reader->SetFileName(argv[1]);

writer->SetFileName(argv[2]);

typedef itk::GradientMagnitudeImageFilter <ImageType,ImageType> FilterType;

FilterType::Pointer filter = FilterType::New();

filter->SetInput(reader->GetOutput());

writer->SetInput(filter->GetOutput());

writer->Update();

return 0;

}

Simple pipeline example

File Reader

Gradient filter

File writer

Page 51: Presentation of the Orfeo Toolbox

51

orfeo-toolbox.org

From the hello world example to an OTB application From the hello world example to an OTB application

Advantages

Same code whatever the input image (many formats, huge images)

Binaries can run on several processors

Difficulties

Steep learning curve but real benefit on the long term

Page 52: Presentation of the Orfeo Toolbox

52

orfeo-toolbox.org

Python / Java / IDL bindings

Context

Not all users like C++ programming

Higher level languages are more appealing

Many users have legacy code in other languages

Need of rapid prototyping with an interactive command line

=> Python / Java / IDL bindings

Page 53: Presentation of the Orfeo Toolbox

53

orfeo-toolbox.org

Development with OTB Development with OTB

Library source code and applications source code are useful to build :

Image processing chainsComposite filters with existing filters / blocksSpecific filters

And if I don't want / don't know how to develop with C++ ? Use of OTB Python, Java, IDL bindings

And if I don't want to develop ?Use of OTB utilities and applications

Page 54: Presentation of the Orfeo Toolbox

54

orfeo-toolbox.org

Contents of the presentation

Introduction

Library and functions

Presentation of applications

Presentation of Monteverdi

Documentation

Development with OTB

OTB License and contributions

Roadmap

Orfeo Toolbox (OTB)Orfeo Toolbox (OTB)

Page 55: Presentation of the Orfeo Toolbox

55

orfeo-toolbox.org

OTB distributed under the CeCILL Licence

http://www.cecill.info/licences/Licence_CeCILL_V2-en.html

Free software as free speech, not free beer

If I wanted to distribute an application using OTB what license would I need to use?

The CeCILL licence

OTB Licence and contributions (1/2)OTB Licence and contributions (1/2)

Page 56: Presentation of the Orfeo Toolbox

56

orfeo-toolbox.org

If I write an application using OTB am I forced to distribute that application?

No. The license gives you the option to distribute your

application if you want to. You do not have to exercise this

option in the license.

I am a commercial user. Is there any restriction on the use of OTB?

OTB can be used internally ("in-house") without restriction, but

only redistributed in other software that is under the CeCILL

licence.

OTB Licence and contributions (2/2)OTB Licence and contributions (2/2)

Page 57: Presentation of the Orfeo Toolbox

57

orfeo-toolbox.org

Contents of the presentation

Introduction

Library and functions

Presentation of applications

Presentation of Monteverdi

Documentation

Development with OTB

OTB License and contributions

Roadmap

Orfeo Toolbox (OTB)Orfeo Toolbox (OTB)

Page 58: Presentation of the Orfeo Toolbox

58

orfeo-toolbox.org

December 2008Object counting (Pléiades, QB, Ikonos)Road network extraction (Pléiades, QB, Ikonos, SPOT5)Hydrographic network extraction (Pléiades, QB, Ikonos, SPOT5)

February 2009Urban area extraction (Pléaides, CSK, QB, Ikonos, TSX, SPOT5)Image to Data Base registration (Pléiades/QB to BDTopo)

April 2009Radiometric calibration (Pléiades, SPOT5, QB, CSK, ASAR, ERS, RadarSAT)Individual trees and tree stands extractionPlanning can evolve depending on user requirements

December 2009

Monteverdi

RoadmapRoadmap

Page 59: Presentation of the Orfeo Toolbox

59

orfeo-toolbox.org

Web sites

OTB main page http://orfeo-toolbox.org/

OTB download http://sourceforge.net/projects/orfeo-toolbox/

Beta version download http://hg.orfeo-toolbox.org/

Wiki (contributors doc.) http://wiki.orfeo-toolbox.org

Bugs reporting http://bugs.orfeo-toolbox.org

Blog http://blog.orfeo-toolbox.org

Useful linksUseful links

Page 60: Presentation of the Orfeo Toolbox

60

orfeo-toolbox.org

Thank you for your attention

http://www.orfeo-toolbox.org/

Orfeo Toolbox (OTB)Orfeo Toolbox (OTB)


Recommended