Presentation of the Orfeo Toolbox
Upcoming SlideShare
Loading in...5
×
 

Presentation of the Orfeo Toolbox

on

  • 5,914 views

General presentation of the Orfeo Toolbox Library (OTB)

General presentation of the Orfeo Toolbox Library (OTB)

Statistics

Views

Total Views
5,914
Slideshare-icon Views on SlideShare
3,382
Embed Views
2,532

Actions

Likes
1
Downloads
118
Comments
0

5 Embeds 2,532

http://www.orfeo-toolbox.org 1924
http://orfeo-toolbox.org 578
http://translate.googleusercontent.com 28
http://www.slideshare.net 1
http://webcache.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Presentation of the Orfeo Toolbox Presentation of the Orfeo Toolbox Presentation Transcript

    • Presentation of the Orfeo Toolbox (OTB) orfeo-toolbox.org 1
    • Orfeo Toolbox (OTB) 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.org 2
    • Orfeo Toolbox (OTB) 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.org 3
    • Why Orfeo Toolbox ? 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 orfeo-toolbox.org 4
    • What is OTB ? (1/3) Multi-purpose library for image processing Orthorectification, cartographic projections Image fusion, pan-sharpening Radiometric correction Registration Filtering, segmentation, classification Feature extraction (texture, lines, vegetation indexes) Basic change detection Basic feature extraction Supervised learning Object counting Spatial reasoning Etc.... Many examples and binary applications for specific tasks (open source) Command line or GUI orfeo-toolbox.org 5
    • What is OTB ? (2/3) • C++ library based on existing developments OTB Applications External libs Users Utilities Library Developpers orfeo-toolbox.org 6
    • What is OTB ? (3/3) Main characteristics Extension of the ITK API formalism Open 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 orfeo-toolbox.org 7
    • Orfeo Toolbox (OTB) 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.org 8
    • Library and Functions Line detection on SAR images orfeo-toolbox.org 9
    • Library and Functions Perceptual alignment detection orfeo-toolbox.org 10
    • Library and Functions Change detection orfeo-toolbox.org 11
    • Library and Functions Denoising Original Blurring Edge preserving orfeo-toolbox.org 12
    • Library and Functions Circle extraction orfeo-toolbox.org 13
    • Library and Functions Watershed segmentation orfeo-toolbox.org 14
    • Library and Functions Object segmentation orfeo-toolbox.org 15
    • Library and Functions Supervised classification orfeo-toolbox.org 16
    • Orfeo Toolbox (OTB) 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.org 17
    • OTB applications otbImageViewerManager otbImageViewer orfeo-toolbox.org 18
    • Applications – Image viewer otbImageViewer orfeo-toolbox.org 19
    • Applications otbRoadExtractionApplication otbSupervisedClassificationApplication orfeo-toolbox.org 20
    • Applications – Segmentation otbSegmentationApplication orfeo-toolbox.org 21
    • otbSegmentationApplication (1/8) orfeo-toolbox.org 22
    • otbSegmentationApplication (2/8) orfeo-toolbox.org 23
    • otbSegmentationApplication (3/8) orfeo-toolbox.org 24
    • otbSegmentationApplication (4/8) orfeo-toolbox.org 25
    • otbSegmentationApplication (5/8) orfeo-toolbox.org 26
    • otbSegmentationApplication (6/8) orfeo-toolbox.org 27
    • otbSegmentationApplication (7/8) orfeo-toolbox.org 28
    • otbSegmentationApplication (8/8) orfeo-toolbox.org 29
    • Orfeo Toolbox (OTB) 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.org 30
    • What is Monteverdi ? Framework to interactively build a image processing pipeline Orfeo Toolbox components : Functions and filters Applications Global framework => Monteverdi orfeo-toolbox.org 31
    • Monteverdi Main menu File SAR Filtering Learning Geometry Visualization Help orfeo-toolbox.org 32
    • Monteverdi – Viewer Visualization Viewer orfeo-toolbox.org 33
    • Monteverdi 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. orfeo-toolbox.org 34
    • Monteverdi Menu Geometry > Orthorectification orfeo-toolbox.org 35
    • Monteverdi Menu Geometry > Homologous points extraction orfeo-toolbox.org 36
    • Monteverdi Menu Geometry > GCP to sensor model orfeo-toolbox.org 37
    • Monteverdi Filtering Feature Extraction Meanshift clustering Pan-sharpen an image Band math Change detection Threshold orfeo-toolbox.org 38
    • Monteverdi Filtering Feature Extraction (1/3) orfeo-toolbox.org 39
    • Monteverdi Filtering Feature Extraction (2/3) orfeo-toolbox.org 40
    • Monteverdi 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 orfeo-toolbox.org 41
    • Monteverdi Filtering Change Detection orfeo-toolbox.org 42
    • Monteverdi Menu Learning > SVM classification (1/2) orfeo-toolbox.org 43
    • Monteverdi Menu Learning > SVM classification (2/2) orfeo-toolbox.org 44
    • Orfeo Toolbox (OTB) 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.org 45
    • 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 orfeo-toolbox.org 46
    • OTB user guide (1/2) User Guide orfeo-toolbox.org 47
    • OTB user guide (2/2) orfeo-toolbox.org 48
    • Orfeo Toolbox (OTB) 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.org 49
    • #include "otbImage.h" #include "otbImageFileReader.h" #include "otbStreamingImageFileWriter.h" #include "itkGradientMagnitudeImageFilter.h" Hello world program int main( int argc, char * argv[ ] ) { typedef otb::Image<unsigned char, 2> ImageType; typedef otb::ImageFileReader<ImageType> ReaderType; Simple pipeline example ReaderType::Pointer reader = ReaderType::New(); typedef otb::StreamingImageFileWriter<ImageType> WriterType; WriterType::Pointer writer = WriterType::New(); File Reader reader->SetFileName(argv[1]); Gradient filter writer->SetFileName(argv[2]); typedef itk::GradientMagnitudeImageFilter <ImageType,ImageType> FilterType; File writer FilterType::Pointer filter = FilterType::New(); filter->SetInput(reader->GetOutput()); writer->SetInput(filter->GetOutput()); writer->Update(); return 0; } orfeo-toolbox.org 50
    • 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 orfeo-toolbox.org 51
    • 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 orfeo-toolbox.org 52
    • Development with OTB Library source code and applications source code are useful to build : Image processing chains Composite filters with existing filters / blocks Specific 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 orfeo-toolbox.org 53
    • Orfeo Toolbox (OTB) 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.org 54
    • OTB Licence and contributions (1/2) 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 orfeo-toolbox.org 55
    • OTB Licence and contributions (2/2) 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. orfeo-toolbox.org 56
    • Orfeo Toolbox (OTB) 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.org 57
    • Roadmap December 2008 Object counting (Pléiades, QB, Ikonos) Road network extraction (Pléiades, QB, Ikonos, SPOT5) Hydrographic network extraction (Pléiades, QB, Ikonos, SPOT5) February 2009 Urban area extraction (Pléaides, CSK, QB, Ikonos, TSX, SPOT5) Image to Data Base registration (Pléiades/QB to BDTopo) April 2009 Radiometric calibration (Pléiades, SPOT5, QB, CSK, ASAR, ERS, RadarSAT) Individual trees and tree stands extraction Planning can evolve depending on user requirements December 2009 Monteverdi orfeo-toolbox.org 58
    • Useful links 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 orfeo-toolbox.org 59
    • Orfeo Toolbox (OTB) Thank you for your attention http://www.orfeo-toolbox.org/ orfeo-toolbox.org 60