Wikipedia defines an atlas as a collection of maps. Atlases were created to represent geographically distributed information on the Earth surface: physical geography, political geography, and any socioeconomics information for which the geographic distribution makes sense.
Atlases are also used in anatomy. They describe how the animals' organs are located into the bodies. The term atlas here is used by analogy to the geographical ones.
Anatomy atlases are often used in medical image processing, since they allow to introduce prior knowledge about the object of study in a convenient way. This way, spatial ontologies can be built to guide segmentation or classification algorithms. The relationships between different objects in the body are known and described in the atlas.
In the same way as anatomy (and as a consequence medical image processing) borrowed the term atlas from geographic information, remote sensing scientists have tried to get inspiration from medical imagery in the how prior information can be used for remote sensing scene analysis and interpretation.
In this context, atlases or ontologies have been developed in order to represent how the objects present in a remote sensing image are distributed and what are their mutual relationships.
Not surprisingly, there has not been a major break-trhough in remote sensing image analysis using this kind of technique.
In my opinion, this is due to the fact that the object of the study can contain much more variability in remote sensing than in medical imaging. For example, the spatial relationships between different parts of the brain are much less subject to variability than, for instance, the relationships between the buildings which make up an airport.
However, nearly any human operator, even not very much trained, can recognize an airport in a remote sensing image. Why?
Well, I guess that in anatomy, the spatial relationships are some kind of optimal solution to a problem which is posed in terms of functional relationship and species evolution. This is closely linked to morphogenesis.
The organization of geographic entities linked to anthropic activities is also the result of a solution of a problem posed in terms of functional relationship: the buildings of an airport must comply with a certain number of functional needs (access to planes, security regulations, etc.), but they are only a solution, not the optimal one. After all, these are solutions proposed by men, not by nature after several millions of years of evolution!
Monday, April 27, 2009
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.
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.
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:
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
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.
The PhD jury was composed by:
- Laure Blanc-Féraud (INRIA-CNRS, president)
- Lorenzo Bruzzone (Univ. Trento, reviewer)
- Cédric Richard (Univ. Troyes, reviewer)
- Marc Spigai (Thales Alenia Space)
- Grégoire Mercier (Télécom Bretagne, supervisor)
- Jocelyn Chanussot (GIPSA Lab, supervisor)
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.
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:
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:
- Image to data base registration (mutual information? feature-based?)
- Image segmentation (watershed? morphological profiles? mean shift?)
- Feature extraction (geometric invariants? haralik textures? wavelet coefficients?)
- Object recognition on images (spatial reasoning?, template matching?)
- Supervised classification (neural networks? kernel methods?)
- Change detection (image differencing? MAD?)
- Saving the vector layers (shapefile? KML?)
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.
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.
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.
Subscribe to:
Posts (Atom)