Monday 20 April 2015

remote sensing - How to classify different surfaces having almost similar Reflectance responses?


I am using ENVI 5.3 to classify a Region of Interest clipped from Landsat 8 OLI. I have already performed calibration of my DNs by transforming it into Radiance and derived Reflectance image using FLAASH atmospheric correction module provided in ENVI. Afterward, I have re-scaled the output (Reflectance Values) to 1-0 scale prior to extract landcover classes from the scene.


Apparently, their is minute difference of Reflectance between builtup/impervious surfaces and exposed bedrocks. Using, Maximum Liklihood Classification doesn't seems to be working for the reason. It places both materials in a single class.


Manually editing the derived landcover classes like 'recoding' from vectors or masking such pixels prior to classification and afterward combine masked pixels to desired class is hectic task when we are dealing with large areas having similar spectral issues.


Kindly have a look on the below scene and spectral profiles of the both materials and suggest me how could I deal with these pixels having almost similar reflectance responses. What is the optimal way to classify such scene? Spectral Profiles




Answer



The spectral signature that you show on your post are definitely different, therefore you should look at other issues. I would first check that my training samples are correct and adapted to the classifier before concluding that there is no spectral separability. With maximum likelyhood, verify that you distribution of value is close to the normal distribution, because this is what ML assumes. Also make sure that you have enough samples if you work with all bands, because ML will use a matrix inversion and you need a well defined matrix for a precise estimate. As a rule of thumb, use around 60 pixels with 4-5 bands and double for additional bands. There are tools in ENVI to explore your ROI, this would be the first check. Samples of urban areas are usually the most difficult because urban areas are heterogeneous and therefore the spectral signature varies a lot, so check it first. If you can't get a "nice" unimodal distribution, use two types of training samples to characterize urban OR use another algorithm that can handle bimodal ROI (e.g. SVM)


Other indices can also be included. If I trust the spectral signature of your post, you can see that the normalised difference between band 1 and 3 would have different signs. A simple threshold on this SI value would therefore help you discriminate the two classes, but I suspect that you have a larger variability in each LC class and that this solution will not work on all your image. I would however test it because it is very fast.


Based on what I said about heterogeneity, you could also try texture indices. For instance, standard deviation in a 3X3 neighbourhood could add some information if spectral values are not enough to discriminate your classes. I expect to have higher STD in the urban area than on bare soil.


No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...