Friday, February 13, 2009

The Wiki Power

Last week I could experiment the power of cooperative work on the Internet.

In the frame of the development of the ORFEO Toolbox (OTB), I was doing some bibliographic research. I wanted to find as many radiometric indices as possible that I could compute using optical multispectral remote sensing data. My problem was mainly focussed on Pleiades-like data, but I thought that it would be interesting to widen the search. After all, these indices are going to be coded in OTB, which has a rather heterogeneous user base.

Unfortunately, I have no easy access to application oriented remote sensing journals, so I was facing a tedious work.

I started with the most well known indices as NDVI and I wrote some descriptions for them in the OTB Wiki. As I was on the wiki, I thought I could ask some other people to complete the documentation, so I sent an e-mail to several mailing lists where I knew that people knew about radiometry issues.

To be honest, at the beginning I thought that it would be useless. I had a good surprise, when the next morning I saw that somebody had created a new account on the wiki and was formatting and enriching (adding some descriptions and bibliographic references) to the list of indices I had started. The day after that 2 other people joined the effort and added new indices and useful information.

The list is accessible here. At the moment of this writing, the list seems to be stable and contains 14 vegetation indices, 8 water indices, 3 soil indices and 2 built-up indices. Most of them where immediately coded in OTB.

This is a real win-win approach: you give us the formulas, we give you the code.

Friday, January 16, 2009

Similarity measures and image registration

Last week (Jan. 8th) there was a very interesting meeting in Paris organized together by GdR ISIS and CNES Technical Competence Centers about Vector Fields Estimation and Analysis in Image Processing.

Unfortunately, because of heavy snow in the Toulouse area, I was not able to attend to the meeting for which I had prepared a talk on similarity measures-based image registration. Florence Tupin, organizer of the meeting has kindly put together a web site which contains the program of the meeting together with the slides.

Even though the site is in French, some slides are in English. Mine are here.

There are 3 main parts in my talk. The first one gives a general presentation of the image series co-registration problems. The second part is about similarity measures and the implementation of registration algorithms. The third part presents software for image registration.

Among others, there is a very short presentation of a fine registration application that we are shipping with OTB. More details about this application are available here.

Wednesday, December 10, 2008

Multi-sensor change detection

Last week, on Dec. 2nd, Tarek Habib made the defense of his PhD dissertation. The research subject was the detection of abrupt changes on multi-sensor remote sensing images. This work is a result of a cooperation between CNES, Thales Alenia Space and GIPSA Lab and was funded by the two first parties.

The PhD jury was composed by:
and myself.

The work presented by Tarek uses a supervised classification as a tool for aided image interpretation. The starting point is a framework which was developped in ORFEO Toolbox, where the 2 images on which changes are to be detected are used to compute different features
  • change indicators, as for instance differences, ratios, correlations, etc.
  • mono-date features as statistics, textures, etc.
In this way, a feature vector can be built for each pixel position and used for supervised classification. The algorithm used for the classification is the Support Vector Machine. Using a graphical user interface, an operator can select samples of the two classes of interest: change and no change.

Since the fetaures computed in the first step can be very rich, these 2 classes can directly correspond to something like damage and no damage in the case of risk applications. This is so, because the operator an select only the changes of interest.

As said above, this is a very simple and pragmatic approach which works. It is generic: there is no specificity about the type of data or the type of event. However, it has a main drawback which is the computation time. Indeed, for the approach to be generic, many features have to be computed. Also, the SVM classification time is proportional to the complexity of the separating surface.

The work of Tarek consisted in proposing approaches to speed up the whole system. He has proposed and assessed new approaches for feature selection, kernel optimization, and classification surface simplification which allow to speed things up, but loosing some accuracy in the classification.

One interesting thing in this approach is that the user can tune the parameters which have a direct effect on the time vs. accuracy trade-off.

Tuesday, November 25, 2008

Buzzwords

In my last post I wrote about Pragmatic Remote Sensing. Today I would like to introduce another concept: Buzz Remote Sensing.

OK, this is just a joke but anyway, I guess one could consider using the following approach: use google to make choices about algorithms.

You may be aware of Google Trends which allows you to compare search words in terms queries at Google. For instance, you can compare the trends of "SVM" (in blue) and "maximum likelihood" (in red). Here they are:


So, there is no doubt about what to choose for a classification. Let's see about clustering. "Mean Shift" (blue) and "K-means" are plotted below:

So if you want to be ahead of time, use the Mean Shift so your papers get easily published.

And we could go on. Imagine you have to build a processing chain for cartographic data base updating using satellite images. The main steps would be:
  1. Image to data base registration (mutual information? feature-based?)
  2. Image segmentation (watershed? morphological profiles? mean shift?)
  3. Feature extraction (geometric invariants? haralik textures? wavelet coefficients?)
  4. Object recognition on images (spatial reasoning?, template matching?)
  5. Supervised classification (neural networks? kernel methods?)
  6. Change detection (image differencing? MAD?)
  7. Saving the vector layers (shapefile? KML?)
Who wants to implement the most fashionable processing chain out there?

Thursday, November 6, 2008

Pragmatic Remote Sensing

As I pointed out in a previous post, in the computer science field, may attempts have been done in the recent years to improve software quality by being rational in the process.

Being rational here is just being pragmatic in order to use techniques that work for you, your team and your project.

When I see many remote sensing scientists present their results and their research objectives, I wonder if the pragmatic way could help improve the results and the benefits for the final users.

Of course, fundamental research has to be conducted in the signal and image processing fields. New theoretical approaches are needed to overcome many challenges in remote sensing image processing. That being said, I often see people trying to develop very complex (and complicated) theories and techniques in order to solve problems which may find a solution using state of the art computer vision algorithms.

In the recent years, the increase of geometric resolution of sensors has made available images which are more similar to data used in robotics or industrial vision than to classical satellite imagery.

The problems we need to solve for this kind of data may benefit from solutions developed in other image processing application fields. For instance, counting objects with simple shapes (rectangular buildings, vehicles, isolated trees) is a problem which has been solved in industrial vision or in biological image processing (counting cells, for instance).

Another point that we should bare in mind is that today's computer power allows to perform in real time operations which took minutes not long ago. This opens up the field of semi-automatic and interactive approaches for image processing. You can see one example of implementation of an object segmentation application using the ORFEO Toolbox here.

The idea here is to use the operator in the processing steps where the task is too hard for the computer. You will agree with the fact that this is a good complement to the approach of using the computer for tedious tasks for the operator.

As a conclusion, I would say that pragmatic remote sensing should be applied as the first step when trying to solve a real problem for an end user. Only if a straight-forward solution (using state of the art computer vision algorithms, choosing the good balance between manual and automatic approaches) can not be found, a more complex approach should be investigated.

Of course, pragmatic remote sensing won't add a line to your publications list, but may solve a real problem.

Monday, November 3, 2008

Pragmatic programmers

This is a blog on remote sensing image processing, not a blog on programming or computers. However, if you want to do efficient remote sensing image processing, you are often led to do some programming yourself.

Programming is a thing that I like very much. High quality, bug free, efficient programs is something I like to use. Since I am using many of my own programs, I try to use good approaches for this.

Of course, ORFEO Toolbox is my library of choice. It relies on many interesting concepts as object orientation, generic programming, streaming, multi-threading, etc. These concepts invite the programmer to write good code, but they may not be enough. Many tips and techniques have to be applied in order to be happy with your code at the end of the day.

I have found 2 interesting bibliographic references from the Pragmatic Programmer which are worth reading:

1. Practices of an Agile Developer
2. Ship it!: A Practical Guide to Successful Software Projects

These 2 books are very easy (and fun!) to read and give many hints on how to proceed to produce good code.

Wednesday, August 27, 2008

New sensors, new missions, new challenges in VHRRS

Very high spatial resolution earth observation systems are becoming available in both the active and the passive sensor fields: Quickbird, Worldview, TerraSAR-X, Cosmo Skymed, Pleiades, etc.

Although spatial resolution is catching the attention of many end users, there are other dimensions where resolution is increasing and allowing the access of new kinds of information. These dimensions are the spectral one and the temporal one.

The spectral dimension is usually limited to the visible plus the near infrared, but more and more systems are extending these capabilities to a superspectral (<20 bands) and hyperspectral sampling. One can also make the analogy between the increase of spectral bands in optical systems and SAR systems with increased polarimetric capabilities.

In the temporal dimension, thanks to constellations or to specific orbital configurations, revisit times of 1 day or even less are going to be available. Therefore, the monitoring of quickly evolving phenomena will be possible.

These new sensors have been developed in order to fulfill user requirements in terms of applications. However, new applications and uses will be imagined by remote sensing scientists as it has been the case in the past (the use of ERS-1 for SAR interferometry, the water color products derived from SPOT-Vegetation, etc.).

Beyond the use of a given sensor or system for applications for which it has not be designed, the great amount of newly available data with high resolution in different dimensions (spatial, spectral, temporal) allows us to imagine new synergies between different types of data.

Finally, the availability of spatial and geographical information is steadily increasing. From professional and commercial data bases to free (Google Earth, Virtual Earth, SRTM) an even open ones (Open Street Map, Geo Names), many sources of high quality data are available to users for fusion and synergy with remote sensed data.

On Monday 8th September I will be givin a talk about this subject in the International Summer School on Very High Remote Sensing in Grenoble, France.

The talk will give a detailed overview of Very High Resolution Remote Sensing in its 3 dimensions (spatial, temporal, spectral). New sensors and upcoming missions and systems will be presented. The new challenges in terms of image processing, data synergies, potential applications and end-users expectations will be analyzed.