Using ArcGIS to analyse images

5098
8
Jump to solution
04-09-2015 04:15 AM
RobertOjwang
New Contributor II

Hi,

Am doing my thesis and my topic concerns using digitalglobe images to identify roofs and compute their areas. I want to use this information to try and estimate the amount of rainfall that can be harvested from rooftops in Mombasa City, Kenya. I am trying to digitize the roofs manually in arcmap but the process is tidious and time consuming. I also tried the image classification tool but the results were not that impressive. How best can I extract roof areas from the raster data (images). I am working with three roof materials: Concrete, tiles and iron/steel. Any idea?

Robert

Tags (1)
0 Kudos
1 Solution

Accepted Solutions
GabrielUpchurch1
Occasional Contributor III

Hi Robert,

I assume you are working with four band imagery (red, green, blue, and NIR)?  In the case of four band imagery, multispectral classification is probably not going to do a good job of distinguishing various types of roof tops from other man-made features and even barren areas.  The challenge is that you are not able to obtain unique enough spectral signatures for roof tops that will allow the software to differentiate these features from other features that would also have similar spectral signatures.  To my knowledge, federal agencies in the United States that undertake major image classification projects still use manual image classification techniques because it remains the most reliable and consistent approach.

In your case, if you can incorporate elevation data into your classification approach, it may improve differentiation between roof tops and other features.  There are many directions you could go with this and it will take some research to identify the best approach based on your needs and the data you can obtain.  For example, buildings may already be classified in any lidar data that you obtain.  You could then extract the buildings from the lidar data based on the class code and use this in some way to get at the total surface area of roof tops.  If you obtain lidar data that is not classified, you could create elevation surfaces from first return points (DSM) and last return points (DEM) and compare these two surfaces in some way to identify elevated features.  You could then incorporate this information into your classification approach since it would allow you to differentiate elevated features from the ground.  Another approach would be to incorporate a DSM as a band in multispectral classification.  The incorporation of feature height would result in a signature for buildings that is different from other features with similar reflectance, like roads and parking lots, since they would have different heights.

Of course, these are overly simplistic descriptions of processes that tend to be technically advanced and require a good foundation in remote sensing and raster analysis.  I am confident the list of ideas could be extended from the examples provided above but keep in mind that any semi or fully automated classification approach is going to require considerable front-end work and testing and probably a lot of post-processing as well to get at a refined product suitable for your area calculations.  Not to mention all the research you will need to do to develop an understanding of the various automated classification/feature extraction approaches in development today.  If you are only going to be doing this once, it may be best to just do it manually.  I realize that is probably not what you want to hear but it might actually save you time and effort in the long run while still ensuring your results are accurate.  Besides, researching and devising a strategy for automated extraction of roof tops is probably a thesis all by itself.  Good luck!

View solution in original post

8 Replies
TimWitt2
MVP Alum

Robert,

do you have access to any lidar data?

Tim

0 Kudos
RobertOjwang
New Contributor II

Hi Tim,

I have images from digitalglobe which are quite good.

0 Kudos
ChrisDonohue__GISP
MVP Alum

If you have aerial imagery, another possibility would be to use ArcScan.  It's not foolproof, but can help tremendously in some situations.  I'd suggest trying a small part of your survey area and see if it will be workable.  Note that you will likely have to spend some time experimenting with the settings quite a bit before finding the combinations that produce the best results.

Chris Donohue, GISP

RobertOjwang
New Contributor II

Hi Chris,

Is ArcScan free?

0 Kudos
ChrisDonohue__GISP
MVP Alum

ArcScan is free for recent software versions:

Starting with the release of ArcGIS 10.1, ArcScan for ArcGIS is included in all license levels of ArcGIS for Desktop software at no additional cost.

Source:  ArcScan for ArcGIS | Overview

Chris Donohue, GISP

0 Kudos
NeilAyres
MVP Alum

Sucking "data" out of a "picture" can be very complex.

Have a very close look at your roof tops vs other stuff in your images. Pull some pieces out and look at the histograms. Definitely not easy. Then even if you get some roof classification going, it is unlikely to be all of the roof because of clutter like chimneys, shadows, gutters etc. That bunch of pixels still has to be polygonised into something squarish.

You may look at the various classification tools in spatial analyst (ISO cluster etc).

And some of the more specialist image processing packages (ENVI, Erdas), might have more automated workflows.

Good luck.

GabrielUpchurch1
Occasional Contributor III

Hi Robert,

I assume you are working with four band imagery (red, green, blue, and NIR)?  In the case of four band imagery, multispectral classification is probably not going to do a good job of distinguishing various types of roof tops from other man-made features and even barren areas.  The challenge is that you are not able to obtain unique enough spectral signatures for roof tops that will allow the software to differentiate these features from other features that would also have similar spectral signatures.  To my knowledge, federal agencies in the United States that undertake major image classification projects still use manual image classification techniques because it remains the most reliable and consistent approach.

In your case, if you can incorporate elevation data into your classification approach, it may improve differentiation between roof tops and other features.  There are many directions you could go with this and it will take some research to identify the best approach based on your needs and the data you can obtain.  For example, buildings may already be classified in any lidar data that you obtain.  You could then extract the buildings from the lidar data based on the class code and use this in some way to get at the total surface area of roof tops.  If you obtain lidar data that is not classified, you could create elevation surfaces from first return points (DSM) and last return points (DEM) and compare these two surfaces in some way to identify elevated features.  You could then incorporate this information into your classification approach since it would allow you to differentiate elevated features from the ground.  Another approach would be to incorporate a DSM as a band in multispectral classification.  The incorporation of feature height would result in a signature for buildings that is different from other features with similar reflectance, like roads and parking lots, since they would have different heights.

Of course, these are overly simplistic descriptions of processes that tend to be technically advanced and require a good foundation in remote sensing and raster analysis.  I am confident the list of ideas could be extended from the examples provided above but keep in mind that any semi or fully automated classification approach is going to require considerable front-end work and testing and probably a lot of post-processing as well to get at a refined product suitable for your area calculations.  Not to mention all the research you will need to do to develop an understanding of the various automated classification/feature extraction approaches in development today.  If you are only going to be doing this once, it may be best to just do it manually.  I realize that is probably not what you want to hear but it might actually save you time and effort in the long run while still ensuring your results are accurate.  Besides, researching and devising a strategy for automated extraction of roof tops is probably a thesis all by itself.  Good luck!

RobertOjwang
New Contributor II

Dear Gabriel,

Thanks so much for your detailed response. Am actually a civil engineer with very little or just basic knowledge in remote sensing and image analysis. Am actually continuing to do it manually and thankfully my professor has given me an assistant to help in the digitization. However it is really taxing to do it manually. I tried the semi-automatic classification in arcgis and as you reckon above, its difficult to create good enough spectral signatures to allow the software to differentiate some of the features hence the result is not impressive. I will continue the manual way but just in case you get other good approach kindly let me know.