Goal
The goal of this lab exercise was to develop an introductory understanding in using eCognition software to conduct an object based classification. As object based classification systems are relatively new in the remote sensing world, gaining this experience sets us apart from many others who may not have experience in this type of work yet. To train us in this new form of classification, this lab was designed to teach three different and important parts of the object based classification model. The first part of this lab was devoted to the segmentation of an image into homogeneous spatial and spectral clusters, known as objects. the second portion of this lab exercise was the selecting of samples from the objects created in section 1 to train the classifiers that we would be using. The third and final portion of this lab then was devoted to the execution of the object based classification schemes, Random Forest and Support Vector Machines, followed by the refinement of the classified images to mitigate any errors that occurred from the classification.
Methods
Part 1 - Create a New Project
The first step in conducting an object based classification is to launch eCognition, as Erdas Imagine does not have the functionality to conduct object based classification like eCognition does. When bringing in the desired image to eCognition, we made sure to check the "Use Geocoding" checkbox to make sure that all the georeference information that is included in this image was not lost. To make sure that pixels that should not be analyzed are not analyzed, we made sure to click on 'No Data' in the 'Create Project' dialog box. This opens the 'Assign No Data Values' dialog box which is where the 'Use Single Value for All Layers (Union)' checkbox was checked. Once this was done, the project was created by selecting 'OK' and the ‘Edit Image Layer Mixing' tool in the main toolbar was used to assign the band combination of this image to be a 432 false color image.
Part 2 - Segmentation and Sample Collection
The second step in this lab was to create the objects that will be used to conduct the object based classification of the image. To do this, the first step was to open the 'Process Tree' by clicking on 'Process>Process Tree' on the main toolbar. This opens the 'Process Tree' dialog where we then right-clicked inside of and clicked on 'Append New' to open the 'Edit Process' dialog. In this dialog, we changed the name to Lab7_object_classification and clicked on 'Execute'. This created the <0.001s Lab7_object_classification inside the 'Process Tree'. Inside this process we inserted a child process and changed the algorithm to 'Multiresolution Segmentation,' typed 'Level 1' in the 'Level Name' box, and set the 'Shape' criteria to 0.3 and the 'Compactness' criteria to 0.5. We then clicked on 'Execute' to create the image objects and viewed the image objects overlaid on the original image by selecting the various view or hide image objects buttons from the main toolbar. Once this was completed, we launched the 'Class Hierarchy' dialog from the main toolbar under the 'Classification' tab. In this dialog, we entered in all of the desired classes and added a unique color to represent each one. Once the desired classes were created, we then collected samples for each of the classes by selecting the 'Classification>Samples>Select Samples' from the main toolbar. By selecting which class we wanted to select sample for, we worked through the image selecting a desired number of samples for each class by simply double clicking on the object that was fully within the desired sample. These steps were repeated to collect the desired number of samples for each of the created classes.
Part 3 - Implement Object Classification
Once all of the samples were collected, the next step was to conduct a Random Forest classification. To do this, a new variable was created through the 'Create Scene Variable' window. This variable was named 'RF Classifier' and set to be a string type variable. Once this was done, a new parent process was added to the 'Process Tree' window and this process was named 'RF Classification.' Inside this process, another process was created named 'Train RF Classifier.' Finally, inside the 'Train RF Classifier' process another process was inserted whose variables were set to those that highlighted by the red boxes in Figure 1.
Figure 1. - Train RF Parameters
Once this was done, the desired features were added to the 'Features' tab in the process and various object features were added. These features included the mean object features as well as GLCM Dissimilarity (all dir) and also
GLCM Mean (all dir) from the Texture- Texture after Haralick tab. Once this was done, this process was executed to train the RF classifier based off of the desired parameters from the image objects created earlier in the lab.
Once the RF Classifier was trained, the next step was to apply the RF Classifier to create the classified image. To do this, a process called Apply RF Classifier was added to the Process Tree and then a process was created as a child to that process to actually perform the classification. In this final process, the parameters were set to those shown by the red boxes in Figure 2. this process was then executed to perform the object based classification.
Figure 2. - Apply RF Parameters
If the resulting image had much error, we then fixed these errors either by editing the Class Filter within the Apply Classification process or by manually editing the objects from the tools in the View>Manual Editing toolbar. Finally, the image was exported as a raster file with Classification being selected for the Content type and after we made sure to select all the desired classes to be included in the image. The image was then used to create a final map shown in the results section below.
Part 4 - Support Vector Machines
Part 4 of this lab exercise was devoted to conducting another object based classification as the same image as before but instead of the Random Forest scheme being used, the Support Vector Machines, or SVM, was used. The same processes as in the previous classification were created in the same way, with only slightly different parameters being used in the 'Train' process, as shown in Figure 3, and slightly different parameters for the 'Apply' process, as shown in Figure 4. Once these parameters were set, the processes were executed and the resulting classified image was used to create a map as shown below in the results section.
Figure 3. - Train SVM Parameters
Figure 4. - Apply SVM Classifier Parameters
Part 5: Object-based classification of UAS imagery
The final portion of this lab was devoted to conducting an object based classification of a provided high resolution UAS image. For this portion of the lab, I chose to again use the SVM classification scheme as I had better results with it compared to the RF classification scheme. The only parameters that I changed for this SVM classification was the Scale Parameter for creating the objects to classify. As this was a very high resolution image that encompassed a small area, a larger scale parameter of 35 was used to create objects that were not too large but not too small.
Results
Sources
Landsat satellite image is from Earth Resources Observation and
Science Center, United States Geological Survey.
UAS image is from UWEC Geography & Anthropology UAS Center.