Tuesday, October 7, 2008

Classifications

It’s been a while since I’ve talked about image classification, but ultimately, it’s the main issue that must be tackled in the scope of this project. The entire Landsat archive is soon to be available online for free. In the mean time, I’ve done a couple of test on some data I already have at hand.

I’ve chosen a subset of a circa 2000 Landsat 7 tile. I chose this tile because it has little cloud cover and it displays a few land use classes (water, forest, converted land [fields, small cultivated parcels, buildings,…].)

Landsat subset in natural colors
with a mask over clouded areas

Pseudo color composite of the same subset

At first glance, we can discern water, forest, vast fields and heterogeneous areas with small cultivated parcels, buildings and patches of trees.

I did two unsupervised classifications where I asked the classifier to classify my image in 15 classes and to only consider areas of more than 25 contiguous pixels.

Maximum likelihood classification
performed by GRASS

Unsupervised classification by Feature Analyst

My intuition is that the unsupervised classification of Feature Analyst is far less cluttered that the one performed by GASS’ maximum likelihood classifier. Also, it seems that Feature Analyst managed to put more pixels in the prominent classes where as GRASS created numerous classes for any single prominent class as identified by Feature Analyst.

Now for the supervised classifications. I used the same training map for all my supervised classifications. I created three classes for my classification: one is water, an other forest and the last one is converted land (fields, small parcels, buildings…)

Training map for supervised classification

I did three types of classification with GRASS. I did a maximum likelihood classification based on the signatures of my training sites. I did a second maximum likelihood classification, but with signatures generated with a clustering algorithm that uses my training sites as input. Finally, I did a contextual image classification that uses sequential maximum a posteriori (SMAP) estimation.

Maximum likelihood classification

Maximum likelihood classification
with clustering algorithm

SMAP classification

All three classifications gave similar results, but ultimately the SMAP classification seems to give me the best results.

I also used Feature Analyst, with the same training map, to do a supervised classification.

Feature Analyst supervised classification

The results are uncluttered and impressive. I can only assume that by tweaking the classification options of Feature Analyst and by adding a few classes, I can further improve the results.

This said, I wondered if I could slightly refine the smap classification by doing a little aggregation of astray pixels. Here's what I get:

Refined SMAP classification

In the end, both the SMAP classification and the Feature Analyst classification are somewhat comparable. This leaves me guessing... what is the approach to adopt? I guess further testing is in order.