What's new about OTB? Rotating Header Image

OTB 3.18 Release Candidate 1 ready for testing!

The OTB 3.18 release candidate 1 has been tagged, and is available for testing!

Some of the major changes in this release are:

  • Bridge to OpenCV classifiers: the architecture of the machine learning framework has been redesigned. It provides a simple and generic interface to create bridges with existing machine learning algorithms implementation. This new framework has been used to include  OpenCV machine learning algorithms. So in addition to LibSVM,  you can now use 8 other algorithms  for your images classification tasks, such as bayesian, k-nearest neighbors, random forests, artificial neural network… All these classifiers can be reached directly from the TrainImagesClassifier and ImageClassifier applications (read this note to learn about migrating to these new applications).
  • Dempster-Shafer based fusion of classifications: A new method based on Dempster-Shafer theory has been developed to fuse multiple classification maps. This method will take advantage of the per-class strengh and weaknesses of each input classification (estimated from confusion matrices) to produce a robust output map combining the best of each input. It is available as an alternative choice to majority voting fusion in the FusionOfClassifications application.
  • Improvement of the StereoFramework application: a whole set of filters has been developed to enhance this application, including line-of-sight interesction, left-right / right-left coherency checking and fusion of several 3D clouds into one raster DSM. The application now allows to input several views of the same scene and build a single raster DSM from them combining the information from all pairs, which is most useful for tri-stereoscopic Pleiades data for instance.
  • Access to Gdal overviews and writing of output image subsets throughout the library using the box and resol parameters of the extended filenames.

There are a lot more new things coming with this release! For more information, please read the complete release note available here.

Source code can be downloaded here.

You can also obtain the source code using Mercurial:

hg clone http://hg.orfeo-toolbox.org/OTB
cd OTB
hg update -r 3.18-rc1

Feel free to test the release candidate and share your experiences on the mailing list. And if you run into a bug, please file it into our issues tracker.

You can also help to identify other issues by submitting an Experimental build to the dashboard with:

ctest -D Experimental

For more details please see:

http://wiki.orfeo-toolbox.org/index.php/Set_up_a_nightly

OTB Dev Team

OTB at ESA Land Training Course 2013 in Athens!

OTB will be attending ESA Land Training Course 2013! We have a practical session on Wednesday the 3rd of July in the morning, about using the latest OTB features to exploit Earth Observation satellite data. Moreover we also have a general presentation about OTB on Tuesday the 2nd at 16:30. You can find some information about how to apply to this training course here.

If you are attending ESA Land Training Course 2013 yourself, we will be delighted to meet you there!

See you in Athens,

Mickaël and Julien

OTB 3.16 is out!

We are very happy to announce the release of OTB 3.16, codename “v(n+1) = sqrt((v(n)-3)*100)” !

This new release includes no less than 13 new ready-to-use applications, ranging from geometry refinement to push&play stereo framework, through classification maps regularization and fusion. There are also a great deal of major improvements in the core library (as listed in the release note). Detailed informations about these major changes can also be found in this post.

Thanks again to all the contributors for the great work and to all the users for their feedbacks.

As usual, sources (OTB, Monteverdi, OTB-Wrapping) and binary packages (Monteverdi for Mac OS X and Windows) can be downloaded here. For Linux users, new version will be soon available for update through your favorite package manager software (note that the the OTB-Wrapping project is only supported on Linux system with GCC version < 4.7 and do not compile successfully with clang, thus cannot be used on recent MacOSX version).

We welcome your feedback and request, and encourage you to join the community and mailing list.

Let’s move now to OTBv4!

OTB 3.16 is most probably the last OTB major release based on ITKv3. The next major version will be compatible with the new ITKv4 and will bring lots of new exciting functionalities to the library. You can already find information about this process here. As this new version will bring major changes on most part of the library we need more than ever your feedback, request and contribution to the project.

We will come back soon with news regarding this “Révolution tranquille”.

OTB Dev Team

OTB 3.16.0-rc1 ready for testing!

We are very happy to announce that the OTB 3.16.0 Release Candidate, codename “v(n+1) = sqrt((v(n)-3)*100)” is ready for testing ! Sources (OTB, Monteverdi) and binary packages (Monteverdi for Mac OS X and Windows) can be downloaded here. This new release includes no less than 13 new ready-to-use applications, ranging from geometry refinement to push&play stereo framework, through classification maps regularization and fusion. There are also a great deal of major improvements in the core library (as listed in the release note). Here are some of the major changes.

Same code, extended use

OTB 3.16 provides support for both reading and writing extended filenames. Extended filenames provide a way to influence how your data are read and written by Orfeo ToolBox. You can use them to specify an external geom file for sensor modeling, tell Gdal that you want to write a TILED GeoTiff, read a different subdataset or resolution (for multi-resolution data), or manage ortho-ready product by skipping either geographic or sensor-model information. For instance :

otbcli_OrthoRectification -io.in "input.JP2?&geom=someGeomFile.geom&resol=2" -io.out "output.tif?&writegeom=false&gdal:co:TILED=yes&streaming:type=tiled&streaming:sizemode=height&streaming:sizevalue=512"

Tells OTB to:

  • Attach the sensor modelling and metadata from someGeomFile.geom to the input.JP2 image,
  • Read the 2nd level of resolution of the input.JP2 Jpeg2000 file,
  • Not write the geom file associated with the output image,
  • Tell Gdal to write the output as a TILED Tiff,
  • Write the output by doing tiled streaming, specifying tile size to 512.

The complete documentation of extended filenames options can be found in this page of the wiki. The most important thing to understand about this extended filenames is that their support is not limited to the applications. Any OTB code compiled against OTB 3.16 and using either ImageFileReader or ImageFileWriter supports them. It means that your home-made code will seamlessly support them as soon as you rebuild it with OTB 3.16!

Geometric accuracy is better, but you can improve it

There has been a great refactoring of bridge classes to OSSIM for elevation data management, sensor modeling and RPC model estimation. Almost nothing has changed from the end-user perspective, but this work behind the scene led to an improvement of sensor modeling accuracy. It can be worth replaying your ortho-rectifications, you might be surprised! But even with this improved accuracy, sensor models have their inner imprecision, so that if you have several images over the same area, you will not get a perfect ground registration. That is where the new HomologousPointsExtraction and RefineSensorModel applications come to your help.

HomologousPointsExtraction application allows you to find corresponding points between two images using the state-of-the-art SIFT or SURF method. The geobins mode of this application allows you to search for matching points spread all over the image very quickly (but not exhaustively). You can also filter the matched points with respect to the theoretical precision of the co-localization function. With the 2wgs84 option, you can match two sensor geometry images or a sensor geometry image with an ortho-rectified refererence. In all cases, you get a list of ground control points spread all over your image …

… Which you can directly send to the RefineSensorModel application. This application will make use of OSSIM capabilities to align the sensor model from a geom file with the set of ground control points, and produce an updated geom file. It also outputs global statistics, a per ground control points statistics file and a vector file containing residues that you can display in a GIS software. Now, you can use the output geom file (using extended filenames!) to get a better relative accuracy for tasks such as registration prior to change detection, or stereo processing for instance.

Extract features, (classify), regularize, fuse, assess

Almost all features (all those compatible with large file processing through streaming) from the Features Extraction Monteverdi module are now available through the applications :

  • Radiometric indices in RadiometricIndices application,
  • Textures in HaralickTextureExtraction and SFSTextureExtraction applications,
  • Local bands statistics in LocalStatisticExtraction application,
  • Edge extraction in EdgeExtraction application,
  • Binary and grayscale morphological operation in BinaryMorphologicalOperation and GrayscaleMorphologicalOperation applications.

Classification maps can be regularized by a majority voting algorithm with the ClassificationMapRegularization application, and several classification maps obtained with different combination of features, training sets and classification algorithm can now be fused (also by majority voting) using the FusionOfClassifications application.

And if you want to assess your classification performances at the end of the day, you can use the ComputeConfusionMatrix application, which allows for generic computation (independent of the classification algorithm) of the confusion matrix, with either raster or vector ground truth.

One-click DEM generation

 Extracting Digital Elevation Model (DEM) from stereo VHR pair is a complex tasks, with several methods and steps within these methods. These steps often require manual parameters tuning. Starting OTB 3.14, we provided tools to implement one of the classical method for DEM generation:

  1. Resampling in epipolar geometry,
  2. Horizontal sub-pixel block-matching,
  3. Cleaning and further processing of the resulting disparity map,
  4. Conversion of disparities to elevation and ground projection.

These steps can be achieved by combining several applications, as described in this recipe of the CookBook. But doing so requires a great deal of specific knowledge for parameter estimation and tuning, and is quite an heavy process. Therefore, we decided to package all these steps into one simple application with as few parameters as possible : the StereoFramework application.

This application will process two raw sensor geometry images composing a stereo pair, a digital elevation model and a few understandable parameters (like the resolution of the output DEM, or the minimum and maximum offset you expect with respect to the input DEM), and will output a ready to use, fully processed DEM.

If you want to have full control on all the steps, this application is probably not for you, but if you are looking for one-click DEM generation which does not require any particular knowledge on how to compute a DEM, this is what you are looking for! Of course, you can expect better results if you first use the HomologousPointsExtraction and RefineSensorModel applications to enhance the models accuracy first.

Do not hesitate to try this version of OTB on your projects and report any issues to the list or the bug tracker.

Happy testing!

Coming next in January : OTB 3.16

The next release of the ORFEO ToolBox will happen in late january. We will take advantage of this few weeks to polish this new version which will contain a lot of new exciting functionalities!

Major changes in this release will be:

  • A new set of Feature extraction applications (morphological operations, edge extraction, Haralick textures, SFS textures, local statistics extraction and radiometric indices),
  • A new set of applications for multi-images residual registration. It allows to compute key points matching (SIFT, SURF) between 2 images and estimate residual transformation to sensor mode geometry so as to perform accurate image/image registration
  • The support of extended image filenames in reading and writing operations. This will allow to access gdal driver options, manage Ortho- ready (or GIS-ready) products, use external sensor metadata, access sub-datasets or resolutions …

Other nice features are :

  • An application to generate a RPC sensor model geom file from GCPs,
  • An application to fuse multiple classification results by majority voting,
  • The LMVM pan-sharpening method (kindly contributed by Angelos Tzotsos),
  • A segmentation algorithm based on multiscale morphological structures classification, available in the Segmentation application.

Please also note that sensor modelling has been completely refactored (backward-compatible), as well as elevation source management (old interface still there, but deprecated). You can expect better accuracy for all your sensor-model and elevation based operations !

A first release candidate will be out mid-January to test all this awesome new features.

Happy end of the world!

Manuel