OTB news : version 6.0 and User days : 7-9 June, Toulouse

OTB version 6_0 is out ! It includes many improvements (including an unsupervised machine learning framework), and adopts a new, more permissive licence : Apache v2.0

My colleagues in charge of the Orfeo Toolbox Development (OTB) are organizing the annual user

meeting in Toulouse town center : June 7-9 2017. Here is the program :

  • Day 1: Plenary session (general presentations from the OTB Team and the users)
  • Day 2: Technical session (tutorial, work groups)
  • Day 3: Hackfest (adopt an OTB developer, code a amazing feature, fix a bug)

If interested, please have a look to the the webpage and register.

Land cover maps quickly obtained using SPOT4 (Take5) data for the Sudmipy site

=>

At CESBIO, we are developing land cover map production techniques, for high resolution image time series, similar to those which will soon be provided by Venµs and Sentinel-2. As soon as the SPOT4 (Take5) data were available over our study area (Sudmipy site in South West France), we decided to assess our processing chains on those data sets. The first results were quickly presented during Take5 user's meeting which was held last October.

1. Experiments

In this post we describe the work carried out in order to produce these first land cover classifications with the SPOT4 (Take5) Sudmipy images (East and West areas) and we compare the results obtained over the common region to these two areas.

 

Prior to the work presented here, we organized a field data collection campaign which was synchronous to the satellite acquisitions. These data are needed to train the classifier training and validate the classification. The field work was conducted in 3 study areas (figure 1) which were visited 6 times between February and September 2013, and corresponded to a total of 2000 agricultural plots. This allowed to monitor the cultural cycle of Winter crops, Summer crops and their irrigation attribute, grasslands, forests and bulit-up areas. The final nomenclature consists in 16 land cover classes.

 

The goal was to assess the results of a classification using limited field data in terms of quantity but also in terms of spatial spread. We wanted also to check whether the East and West SPOT4 (Take5) tracks could be merged. To this end, we used the field data collected on the common area of the two tracks (in pink on the figure) and 5 level 2A images for each track acquired with a one day shift.

 

OUEST EST
2013-02-16
2013-02-21
2013-03-03
2013-04-17
2013-06-06
2013-02-17
2013-02-22
2013-03-04
2013-04-13
2013-06-07
2. Results

The first results of supervised SVM classification (using the ORFEO Toolbox) can be considered as very ipromising, since they allow to obtain more than 90% of correctly classified pixels for both the East and the West tracks and since the continuity between the two swaths is excellent. Some confusions can be observed between bare soils or mineral surfaces and Summer crops, but these errors should be reduced by using LANDSAT 8 images acquired during the Summer, when Summer crops will develop.

Merging of the land cover maps obtained on the East and West Sudmipy tracks (the cloudy areas were cropped out). The comparison against the ground truth (the black dots on the map to the South-West of Toulouse) results in a kappa coefficient of 0.89 for the West and 0.92 on the East.

 

West EAST

This zoom compares the results obtained on the common area of the two tracks (West to the left and East to the right). The two classifications were obtained independently, using the same method and the same training data, but with images acquired at different dates and with different viewing angles. The main errors are maize plots labeled as bare soil, which is not surprising, since this crop was just emerging when the last image was acquired. There are also confusions between wheat and barley, but even on the field, one has to be a specialist to tell them apart.


3. Feedback and retrospective

After performing these experiments, we were very satisfied with the operationnality of our tools. Given the data volume to be processed (about 10 GB of images) we could have expected very long computation times or a limitation in terms of memory limits of the software used (after all, we are just scientists in a lab!). You will not be surprised to know that our processing chains are based on Orfeo Toolbox. More precisely, the core of the chain uses the applications provided with OTB for supervised training and image classification. One just have to build a multi-channel image were each channel is a classification feature (reflectances, NDVI, etc.) and provide a vector data (a shapefile, for instance) containing the training (and validation) data. Then, a command line for the training (see the end of this post) and another one for the classification (idem) are enough.

Computation times are very interesting: several minutes for the training and several tens of minutes for the classification. One big advantage of OTB applications is that they automatically use all the available processors automatically (our server has 24 cores, but any off the shelf PC has between 4 and 12 cores nowadays!).

We are going to continue using these data, since we have other field data which are better spread over the area. This should allow us to obtain even better results. We will also use the Summer LANDSAT 8 images in order to avoid the above-mentioned errors on Summer crops.

4. Command line examples

We start by building a multi-channel image with the SPOT4 (Take5) data, not accounting for the cloud masks in this example :

otbcli_ConcatenateImages -il SPOT4_HRVIR_XS_20130217_N1_TUILE_CSudmipyE.TIF
SPOT4_HRVIR_XS_20130222_N1_TUILE_CSudmipyE.TIF
SPOT4_HRVIR_XS_20130304_N1_TUILE_CSudmipyE.TIF
SPOT4_HRVIR_XS_20130413_N1_TUILE_CSudmipyE.TIF
SPOT4_HRVIR_XS_20130607_N1_TUILE_CSudmipyE.TIF -out
otbConcatImg_Spot4_Take5_5dat2013.tif

We compute the statistics of the images in order to normalize the features :

otbcli_ComputeImagesStatistics -il otbConcatImg_Spot4_Take5_5dat2013.tif -out
EstimateImageStatistics_Take5_5dat2013.xml

We train a SVM with an RBF (Gaussian) kernel :

otbcli_TrainSVMImagesClassifier -io.il otbConcatImg_Spot4_Take5_5dat2013.tif
-io.vd DT2013_Take5_CNES_1002_Erod_Perm_Dissolve16cl.shp -sample.vfn "Class"
-io.imstat EstimateImageStatistics_Take5_5dat2013.xml -svm.opt 1 -svm.k rbf
-io.out svmModel_Take5Est_5dat2013_train6.svm

And Voilà !, we perform the classification:

otbcli_ImageSVMClassifier -in otbConcatImg_Spot4_Take5_5dat2013.tif -mask
EmpriseTake5_CnesAll.tif -imstat EstimateImageStatistics_Take5_5dat2013.xml
-svm svmModel_Take5Est_5dat2013_train_6.svm -out ClasSVMTake5_5dat_16cl_6.tif

L'ortho-rectification, comment ça marche ?

=>

L' "ortho-rectification" est une correction géométrique des images qui a pour but de les présenter comme si elles avaient été acquises depuis la verticale (en télédétection, on dit "au nadir"). En pratique, il s'agit de rendre l'image acquise par le satellite superposable à une carte.

Nous disposons de beaucoup d'informations pour réaliser cette opération :

  • on sait où il se trouve au moment de la prise de vue
  • on sait comment il est orienté
  • on sait comment l'instrument est orienté dans le satellite.

Sur les satellites récents (Pleiades), la précision de ces informations permet de positionner les pixels à mieux que 10 mètres près. Ce n'est pas le cas pour SPOT4, dont l'écart-type de la précision de localisation est de l'ordre de 400 mètres.

Image SPOT4 de niveau 1A en géométrie brute (en Angola) Image de Niveau 1C, ortho-rectifiée

 

Dans le cas de SPOT4, il faut donc "recaler les images", en utilisant des points d'appuis. Prendre un point d'appui consiste à lier un pixel de l'image à un point sur la carte. On peut créer des points d'appuis manuellement en identifiant, par exemple, un même croisement de routes sur la carte et sur l'image.

 

On peut aussi heureusement le faire automatiquement en utilisant une technique appelée "corrélation automatique" que je ne décrirai pas ici. Pour cela, on utilise une image de référence bien localisée et un bon modèle numérique de terrain (une carte du relief). La méthode que nous utilisons est la suivante :

  1. A partir de l'image de référence et des informations fournies par le satellite (les "données auxiliaires"), on simule l'image observée par SPOT4,
  2. on utilise la corrélation automatique (il existe d'autres méthodes) pour observer les décalages entre l'image simulée et l'image réelle.
  3. On en déduit une correction des données auxiliaires pour supprimer les décalages
  4. On peut donc trouver pour chaque point de la carte son correspondant dans l'image
  5. Il ne reste plus qu'à créer la carte par interpolation.

 

Dans nos chaînes, toutes ces opérations sont réalisées à partir d'un logiciel du CNES appelé SIGMA. Ce logiciel n'est pas distribué, mais des fonctions équivalentes existent dans l'OTB (Cf ci-dessous)

 

Pour l'expérience Take5, sur les sites situés en France, nous utilisons une image de référence réalisée par le projet GEOSUD (composante du PTSC), sur la France entière, obtenue à partir de données des satellites RapidEye. Le travail géométrique de correction de ces données RapidEye a été réalisé par l'IGN, les performances de localisation sont très bonnes.

 

Hors de France, nous ne disposons pas d'une telle référence, et nous avons décidé d'utiliser des données issues des satellites LANDSAT, dont la qualité de positionnement est honorable quoique d'un niveau inférieur à celui de GEOSUD (de l'ordre de 30 mètres), mais qui sont disponibles sur le monde entier. Mais nous ne pouvons pas nous permettre de rechercher, pays par pays les meilleures cartographies disponibles.

 

Cette opération demande une dizaine de minutes par image sur nos machines.

 

Pour en savoir plus :

  • Baillarin, S., P. Gigord, et O. Hagolle. 2008. « Automatic Registration of Optical Images, a Stake for Future Missions: Application to Ortho-Rectification, Time Series and Mosaic Products ». In Geoscience and Remote Sensing Symposium, 2008, 2:II‑1112‑II‑1115. doi:10.1109/IGARSS.2008.4779194.

The orthorectification : how it works

=>

The "orthorectification" is a geometrical correction of images that aims at presenting them as if they had been captured from the vertical (in the remote sensing community, we say from "Nadir"), In practice, it transforms the satellite picture in an image that can be regiistered on a map.

 

To do that, the raw (L1A) product provides us with a lot of information

  • we know where the satelllte was when the picture was taken
  • we know how it the satellite is oriented
  • we know how the instrument is oriented in the satellite.

 

On recent satellites (Pleiades), the accuracy of this information allows positioning pixels to better than 10 meters. This is not the case for SPOT4, for which the standard deviation of the positioning accuracy is around 400 meters.

SPOT4 Level 1A image with a raw geometry (in Angola) SPOT4 Level 1C orthorectified image

 

In the case of SPOT4, we must "register" the images, using ground control points (GCP).  To take a GCP is to link a pixel of the image to a point on the map. You can create a GCP manually by identifying, for example, the same crossroads on the map and the image. Fortunately, you can also do this automatically using a technique called "automatic image matching", that I will not describe here.

 

For this, we use a reference image accurately located,  and a good digital terrain model (a relief map). The method we use is as follows:

  • From the reference image and the information provided by the satellite (the "ancillary data"), we simulate the image that should have been observed by SPOT4 if these ancillary data were accurate
  • We use automatic image matching to measure shifts between the simulated image and the actual image.
  • We deduce how the auxiliary data need to be corrected to remove these offsets
  • We are the able to find the location of all the points in the map within the L1A satellite image
  • Finally, the map is created by interpolation

 

All these operations are carried out using a software developed by CNES, called SIGMA. SIGMA is not distributed outside CNES, but many other frameworks exist among which the OTB, which is also a CNES tool.

 

For the SPOT4(Take5) sites located in France, we use a reference image made by the GEOSUD project  (a component of the French National Land Data Center), covering the whole of France and obtained from RapidEye satellite data. The orthorectification of RapidEye data was conducted by IGN, and its localization performance is very good.

 

Outside France, we do not have such a reference, and we decided to use data from LANDSAT satellites : the quality of positioning of LANDSAT data honorable, though at a lower level than GEOSUD (about 30 meters), but it has the main advantage of being available worldwide.

 

The orthorectification of a SPOT4(Take5) image takes 10 minutes on our computers (using only one core).

 

In more details :

  • Baillarin, S., P. Gigord, et O. Hagolle. 2008. « Automatic Registration of Optical Images, a Stake for Future Missions: Application to Ortho-Rectification, Time Series and Mosaic Products ». In Geoscience and Remote Sensing Symposium, 2008, 2:II‑1112‑II‑1115. doi:10.1109/IGARSS.2008.4779194.