Section 1 Introduction

This section provides a brief overview of concepts and information regarding the package architecture and functionalities.

1.1 Audience and objectives

SegOptim intended audience are users with at least some GIS and Remote Sensing background that want to perform an object-based approach to the analysis and classification of high or very-high spatial resolution Earth Observation (EO) imagery. For this purpose you will need a minimum amount of knowledge regarding the concepts behind operating, (pre-)processing and analyzing EO data especially the object-based approach to it. However, having said this, the package aims to make things easier.

In its essence SegOptim is a package for non-experts that have an interest in exploiting EO data for devising land cover classification maps for a specific task, research, management or conservation goal. The package also provides tools and algorithms capable of mapping a single specific class (e.g. forest, grassland) or species (depending of course in the characteristics of input EO data).

Since R is at the core of everything, you will also need some familiarity with the R language and environment with the advantage that this gives you more flexibility and knowledge behind each processing step.
Among other objectives, the package aims to stimulate the use of open-source solutions to image segmentation and to compare different algorithms.

1.2 Object-based Image Analysis (OBIA)

Object-based Image Analysis (OBIA) is a technique (or a set of techniques) used to analyze digital images that was developed relatively recently in comparison to ‘classic’ pixel-based image approaches (Burnett and Blaschke 2003). While pixel-based image analysis depends on spectral (or other) information from each pixel, OBIA is based on information based on sets of pixels termed ‘objects’. Put very simply, an object is a set of pixels with similar or relatively homogeneous spectral (or other) characteristics that are spatially connected. Objects exhibit different shapes, sizes, scales and temporal properties.

1.3 SegOptim architecture

SegOptim combines image segmentation and supervised classification into a single workflow making it easier to run both steps in sequence. However, external (3rd party) software (e.g., GRASS GIS) is used to perform the segmentation stage. This is required because currently R has no ‘native’ packages for conducting image segmentation on Earth Observation images. SegOptim uses two ways to interface with external software:

  1. Command-line interface (CLI) - for Orfeo ToolBox, GRASS GIS, SAGA GIS and TerraLib; or,

  2. Python API - for RSGISLib and ArcGIS

The design of the package is detailed on the figure below:

Package architecture

Figure 1.1: Package architecture

While external software is used for image segmentation, R is responsible for the remaining processing and analysis tasks. R is especially well tailored for running the classification stage since it has a large number of available algorithms for this end (e.g., from packages such as randomForest, e1071). Also, R has good functionalities to handle raster images which comes from packages such as raster or rgdal.

1.4 Functionalities

Currently the package offers several functionalities, namely:

  • Run different image segmentation algorithms;

  • Populate image segments with aggregate statistics with user-defined functions;

  • Perform object-based supervised classification with several methods;

  • Evaluate classification performance for single- or multi-class problems;

  • Optimize image segmentation parameters using Genetic Algorithms (GA) and other methods;

  • Compare different algorithms based on optimized solutions;

  • Perform unsupervised classification with several methods and compare the results using internal clustering criteria.

1.5 Available algorithms

1.5.1 Image segmentation algorithms

SegOptim allows comparing multiple algorithms both for image segmentation, supervised and unsupervised classification. One of the major objectives of this package is the ability of comparing and optimizing these different methods. Currently, the following methods are available for image segmentation:

  • ArcGIS Mean-shift (link);

  • GRASS GIS Region Growing (link);

  • Orfeo ToolBox (OTB) Large-scale Mean-shift (link);

  • RSGISLib Shepherd’s k-means (link);

  • SAGA GIS Seeded Region Growing (link).

  • TerraLib 5 Baatz-Schape Multi-resolution segmentation and Mean Region Growing (link)

1.5.2 Image segmentation software compatible with SegOptim

Check out the list of software versions that are compatible with SegOptim for each operating system:
[Updated: 04/12/2018]

Software Version Windows-10 Linux MacOS
ArcGIS 10.3.1 OK Not available Not available
GRASS GIS 7.2.0 OK OK -
GRASS GIS 7.4.2 Issue 1 - -
Orfeo Toolbox (OTB) 5.8.0 OK - -
Orfeo Toolbox (OTB) 5.10.1 OK OK OK
Orfeo Toolbox (OTB) 6.6.0 OK - -
RSGISLib (Anaconda 4.3 / Python 3.5) <3.5 OK - -
SAGA GIS 2.3.1 - OK -
SAGA GIS 4.0.1 OK - -
SAGA GIS 7.0.0 OK - -
TerraLib / TISA build 5.2.1 OK - -

Note: software marked with (-) where not yet tested

Issues

[1] Despite we are able to successfully run the segmentation test, the results between GRASS GIS versions 7.2 and 7.4 strongly differ (last update: 2018/12/05).

1.5.3 Supervised classification algorithms

As for supervised classification, the following methods are available through R:

  • Flexible Discriminant Analysis (FDA) (link);

  • Generalized Boosted Model (GBM) (link);

  • K-nearest neighbor classifier (KNN) (link);

  • Random Forest (RF) (link);

  • Support Vector Machines (SVM) (link).

1.5.4 Unsupervised classification algorithms

Regarding unsupervised classification, SegOptim supports the following algorithms:

  • CLARA (Clustering LARge Applications) (link)

  • Hard competitive learning algorithm (link)

  • K-means (link)

  • Neural gas algorithm (link)

The support for (internal) clustering criteria used for comparing each unsupervised solution is given by the clusterCrit package (link).

1.6 Limitations

Currently, SegOptim has several limitations that derive from design decisions that were made during development stages and, to be completely honest, the fact that we are not software developers… (sorry for that ;-). Among other, these limitations are:

  • Memory restrictions (especially for large images);

  • Computational complexity and workload (especially for applying optimization);

  • No pre-processing for satellite data;

  • Only allows single-stage classification;

  • It does not allow to explore hierarchical or spatial relations among or between objects;

  • No post-classification processing;

  • Although tests have been successfully accomplished in several operating systems, Windows is for now the most supported one.

We are planning to add new features and to address some of these limitations in future releases however this is the status quo! ;-)

References

Burnett, C, and Thomas Blaschke. 2003. “A Multi-Scale Segmentation/Object Relationship Modelling Methodology for Landscape Analysis.” Ecological Modelling 168 (3): 233–49. https://doi.org/https://doi.org/10.1016/S0304-3800(03)00139-X.