Presentation of the Orfeo Toolbox

6,321 views
6,119 views

Published on

General presentation of the Orfeo Toolbox Library (OTB)

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,321
On SlideShare
0
From Embeds
0
Number of Embeds
2,941
Actions
Shares
0
Downloads
140
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Presentation of the Orfeo Toolbox

  1. 1. Presentation of the Orfeo Toolbox (OTB) orfeo-toolbox.org 1
  2. 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 2
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. What is OTB ? (2/3) • C++ library based on existing developments OTB Applications External libs Users Utilities Library Developpers orfeo-toolbox.org 6
  7. 7. 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
  8. 8. 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
  9. 9. Library and Functions Line detection on SAR images orfeo-toolbox.org 9
  10. 10. Library and Functions Perceptual alignment detection orfeo-toolbox.org 10
  11. 11. Library and Functions Change detection orfeo-toolbox.org 11
  12. 12. Library and Functions Denoising Original Blurring Edge preserving orfeo-toolbox.org 12
  13. 13. Library and Functions Circle extraction orfeo-toolbox.org 13
  14. 14. Library and Functions Watershed segmentation orfeo-toolbox.org 14
  15. 15. Library and Functions Object segmentation orfeo-toolbox.org 15
  16. 16. Library and Functions Supervised classification orfeo-toolbox.org 16
  17. 17. 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
  18. 18. OTB applications otbImageViewerManager otbImageViewer orfeo-toolbox.org 18
  19. 19. Applications – Image viewer otbImageViewer orfeo-toolbox.org 19
  20. 20. Applications otbRoadExtractionApplication otbSupervisedClassificationApplication orfeo-toolbox.org 20
  21. 21. Applications – Segmentation otbSegmentationApplication orfeo-toolbox.org 21
  22. 22. otbSegmentationApplication (1/8) orfeo-toolbox.org 22
  23. 23. otbSegmentationApplication (2/8) orfeo-toolbox.org 23
  24. 24. otbSegmentationApplication (3/8) orfeo-toolbox.org 24
  25. 25. otbSegmentationApplication (4/8) orfeo-toolbox.org 25
  26. 26. otbSegmentationApplication (5/8) orfeo-toolbox.org 26
  27. 27. otbSegmentationApplication (6/8) orfeo-toolbox.org 27
  28. 28. otbSegmentationApplication (7/8) orfeo-toolbox.org 28
  29. 29. otbSegmentationApplication (8/8) orfeo-toolbox.org 29
  30. 30. 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
  31. 31. 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
  32. 32. Monteverdi Main menu File SAR Filtering Learning Geometry Visualization Help orfeo-toolbox.org 32
  33. 33. Monteverdi – Viewer Visualization Viewer orfeo-toolbox.org 33
  34. 34. 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
  35. 35. Monteverdi Menu Geometry > Orthorectification orfeo-toolbox.org 35
  36. 36. Monteverdi Menu Geometry > Homologous points extraction orfeo-toolbox.org 36
  37. 37. Monteverdi Menu Geometry > GCP to sensor model orfeo-toolbox.org 37
  38. 38. Monteverdi Filtering Feature Extraction Meanshift clustering Pan-sharpen an image Band math Change detection Threshold orfeo-toolbox.org 38
  39. 39. Monteverdi Filtering Feature Extraction (1/3) orfeo-toolbox.org 39
  40. 40. Monteverdi Filtering Feature Extraction (2/3) orfeo-toolbox.org 40
  41. 41. 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
  42. 42. Monteverdi Filtering Change Detection orfeo-toolbox.org 42
  43. 43. Monteverdi Menu Learning > SVM classification (1/2) orfeo-toolbox.org 43
  44. 44. Monteverdi Menu Learning > SVM classification (2/2) orfeo-toolbox.org 44
  45. 45. 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
  46. 46. 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
  47. 47. OTB user guide (1/2) User Guide orfeo-toolbox.org 47
  48. 48. OTB user guide (2/2) orfeo-toolbox.org 48
  49. 49. 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
  50. 50. #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
  51. 51. 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
  52. 52. 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
  53. 53. 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
  54. 54. 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
  55. 55. 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
  56. 56. 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
  57. 57. 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
  58. 58. 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
  59. 59. 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
  60. 60. Orfeo Toolbox (OTB) Thank you for your attention http://www.orfeo-toolbox.org/ orfeo-toolbox.org 60

×