SPT Segmentation Parameters Tuner. User Guide

Similar documents
A free software tool for automatic tuning of segmentation parameters

HIGH RESOLUTION REMOTE SENSING IMAGE SEGMENTATION BASED ON GRAPH THEORY AND FRACTAL NET EVOLUTION APPROACH

Triangular Mesh Segmentation Based On Surface Normal

CS 664 Segmentation. Daniel Huttenlocher

Object-Based Classification & ecognition. Zutao Ouyang 11/17/2015

INF 4300 Classification III Anne Solberg The agenda today:

SATELLITE IMAGE REGISTRATION THROUGH STRUCTURAL MATCHING 1

ASSESSMENT OF REMOTE SENSING IMAGE SEGMENTATION QUALITY

CSSE463: Image Recognition Day 21

Model-based segmentation and recognition from range data

Gene Clustering & Classification

CS 664 Slides #11 Image Segmentation. Prof. Dan Huttenlocher Fall 2003

Using the Kolmogorov-Smirnov Test for Image Segmentation

Fuzzy Entropy based feature selection for classification of hyperspectral data

Figure 1: Workflow of object-based classification

An Evolutionary Algorithm for Minimizing Multimodal Functions

Colour Segmentation-based Computation of Dense Optical Flow with Application to Video Object Segmentation

CHAPTER 6 MODIFIED FUZZY TECHNIQUES BASED IMAGE SEGMENTATION

BerkeleyImageSeg User s Guide

A penalty based filters method in direct search optimization

STUDYING THE FEASIBILITY AND IMPORTANCE OF GRAPH-BASED IMAGE SEGMENTATION TECHNIQUES

Classification. Vladimir Curic. Centre for Image Analysis Swedish University of Agricultural Sciences Uppsala University

Active contour: a parallel genetic algorithm approach

Classification. Vladimir Curic. Centre for Image Analysis Swedish University of Agricultural Sciences Uppsala University

A penalty based filters method in direct search optimization

A Generalized Method to Solve Text-Based CAPTCHAs

Object detection using Region Proposals (RCNN) Ernest Cheung COMP Presentation

Artificial Intelligence. Programming Styles

Unsupervised Learning and Clustering

Chapter 14 Global Search Algorithms

CSE 473/573 Computer Vision and Image Processing (CVIP) Ifeoma Nwogu. Lectures 21 & 22 Segmentation and clustering

Information Retrieval and Organisation

Clustering CS 550: Machine Learning

TEXT DETECTION AND RECOGNITION IN CAMERA BASED IMAGES

CHAPTER 6 HYBRID AI BASED IMAGE CLASSIFICATION TECHNIQUES

Ensemble Combination for Solving the Parameter Selection Problem in Image Segmentation

Idea. Found boundaries between regions (edges) Didn t return the actual region

Unidimensional Search for solving continuous high-dimensional optimization problems

Unsupervised Learning and Clustering

Segmentation Computer Vision Spring 2018, Lecture 27

NEW CERN PROTON SYNCHROTRON BEAM OPTIMIZATION TOOL

Clustering will not be satisfactory if:

Image Segmentation for Image Object Extraction

Simplicial Global Optimization

Graph-theoretic Issues in Remote Sensing and Landscape Ecology

Color Image Segmentation Using a Spatial K-Means Clustering Algorithm

Kapitel 4: Clustering

Including the Size of Regions in Image Segmentation by Region Based Graph

Final Project Report: Learning optimal parameters of Graph-Based Image Segmentation

Distributed Optimization of Feature Mining Using Evolutionary Techniques

Nelder-Mead Enhanced Extreme Learning Machine

COMP 465: Data Mining Still More on Clustering

Grouping and Segmentation

CHAPTER 6 QUANTITATIVE PERFORMANCE ANALYSIS OF THE PROPOSED COLOR TEXTURE SEGMENTATION ALGORITHMS

AUTONOMOUS IMAGE EXTRACTION AND SEGMENTATION OF IMAGE USING UAV S

A Memetic Heuristic for the Co-clustering Problem

OBJECT-ORIENTED HIERARCHICAL IMAGE VECTORIZATION

Traditional clustering fails if:

QUANTUM BASED PSO TECHNIQUE FOR IMAGE SEGMENTATION

Numerical Experiments with a Population Shrinking Strategy within a Electromagnetism-like Algorithm

Accelerating Mean Shift Segmentation Algorithm on Hybrid CPU/GPU Platforms

Spectral Classification

A NEW ALGORITHM FOR AUTOMATIC ROAD NETWORK EXTRACTION IN MULTISPECTRAL SATELLITE IMAGES

Case-Based Reasoning. CS 188: Artificial Intelligence Fall Nearest-Neighbor Classification. Parametric / Non-parametric.

CS 188: Artificial Intelligence Fall 2008

Lab 9. Julia Janicki. Introduction

A Miniature-Based Image Retrieval System

Lecture 11: E-M and MeanShift. CAP 5415 Fall 2007

Color Image Segmentation

8/3/2017. Contour Assessment for Quality Assurance and Data Mining. Objective. Outline. Tom Purdie, PhD, MCCPM

Fast oriented bounding box optimization on the rotation group SO(3, R)

CS 534: Computer Vision Segmentation and Perceptual Grouping

Using a genetic algorithm for editing k-nearest neighbor classifiers

DIGITAL IMAGE ANALYSIS. Image Classification: Object-based Classification

Factorization with Missing and Noisy Data

Machine Learning. Unsupervised Learning. Manfred Huber

Visible and Long-Wave Infrared Image Fusion Schemes for Situational. Awareness

Statistical Region Merging Algorithm for Segmenting Very High Resolution Images

A Technique for Optimal Selection of Segmentation Scale Parameters for Object-oriented Classification of Urban Scenes

Deep Tracking: Biologically Inspired Tracking with Deep Convolutional Networks

EE368 Project Report CD Cover Recognition Using Modified SIFT Algorithm

Research on time optimal trajectory planning of 7-DOF manipulator based on genetic algorithm

A Graph Theoretic Approach to Image Database Retrieval

Evaluation Measures. Sebastian Pölsterl. April 28, Computer Aided Medical Procedures Technische Universität München

Introduction to unconstrained optimization - derivative-free methods

A Genetic Algorithm-Based Approach for Energy- Efficient Clustering of Wireless Sensor Networks

Segmentation of Noisy Binary Images Containing Circular and Elliptical Objects using Genetic Algorithms

AN IMPROVED K-MEANS CLUSTERING ALGORITHM FOR IMAGE SEGMENTATION

Supporting Information. High-Throughput, Algorithmic Determination of Nanoparticle Structure From Electron Microscopy Images

Normalized Texture Motifs and Their Application to Statistical Object Modeling

Image Segmentation. Shengnan Wang

IMAGE DATA HANDLING IN SPATIAL DATABASES

Toward Part-based Document Image Decoding

CHAPTER 4: CLUSTER ANALYSIS

CAP 6412 Advanced Computer Vision

ORGANIZATION AND REPRESENTATION OF OBJECTS IN MULTI-SOURCE REMOTE SENSING IMAGE CLASSIFICATION

Data Clustering. Danushka Bollegala

Recognition of Changes in SAR Images Based on Gauss-Log Ratio and MRFFCM

Geometric-Edge Random Graph Model for Image Representation

MULTI-TEMPORAL SAR CHANGE DETECTION AND MONITORING

Transcription:

SPT 3.1.0 Segmentation Parameters Tuner User Guide

Development Team Pedro M. Achanccaray Diaz Victor A. Ayma Quirita Patrick N. Happ Raul Queiroz Feitosa Any contributions or eventual inquiries should be sent to: pmad9589@ele.puc-rio.br

Content 1. Introduction... 5 2. System Components... 6 2.1. Overview... 6 2.2. Segmentation Procedures... 7 2.2.1. Multiresolution Region Growing segmentation... 8 2.2.2. Mean Shift segmentation... 8 2.2.3. SPRING segmentation... 8 2.2.4. Graph-based segmentation... 9 2.2.5. Multiseg segmentation... 9 2.3. Fitness Functions... 10 2.3.1. Hoover index (H)... 10 2.3.2. Area-Fit-Index (AFI)... 10 2.3.3. Shape Index (SI)... 11 2.3.4. Rand Index (RI)... 11 2.3.5. Precision and Recall (F)... 12 2.3.6. Segmentation Covering (C)... 12 2.3.7. Reference Bounded Segments Booster (RBSB)... 13 2.4. Optimization Algorithms... 13 2.4.1. Differential Evolution (DE)... 13 2.4.2. Generalized Pattern Search (GPS)... 14 2.4.3. Mesh Adaptive Direct Search (MADS)... 16 2.4.4. Nelder-Mead (NM)... 16 3. User Requirements... 17 4. Installation... 17 5. Graphical User Interface (GUI)... 19 5.1. Reference Tool... 19 5.2. Optimization Tool... 22 5.2.1. Optimization Algorithms... 23 5.2.2. Segmentation Algorithms... 23 5.2.3. Fitness Function... 24 5.3. Segmentation Tool... 24 5.4. Assessment Tool... 25 5.5. Output Files... 26 6. Acknowledgments... 28

7. References... 28

1. Introduction Segmentation is a key step in object-based image analysis; it is responsible for generating the fundamental building blocks for further analysis. In the context of a specific image interpretation problem, the quality of segmentation can be best expressed by its basic goal: the delineation of meaningful objects, which will be subjected to further processing in subsequent steps of the interpretation process. In order to produce the desired outcome, considering particular object classes and the different spectral and spatial characteristics of the available digital images, most segmentation algorithms must be tuned. It means that proper segmentation parameters values must be found for each particular kind of problem. Generally, however, the relation between those and the corresponding segmentation outcome is not obvious, and the definition of suitable values is usually done manually, through a time consuming trial-and error process. Segmentation Parameters Tuner (SPT) is a free tool developed for research purposes with no commercial intention at the Computer Vision Lab (LVC) of the Electrical Engineering Department at the Catholic University of Rio de Janeiro (PUC-Rio) (http://www.lvc.ele.puc-rio.br/wp/). SPT implements a particular approach to the tuning of segmentation parameter values, in which a pre-defined optimization algorithm searches the parameter space for (nearly) optimum values. Optimality is established by an objective function that measures the level of agreement between the segmentation outcome and a set of reference samples. Operation of SPT usually consists of a few simple steps. First, the user selects an image, which will be subjected to segmentation, and a reference file is loaded (raster image or an ESRI Shapefile with the reference polygons for certain class), which contains a set of reference segment samples. Then, a segmentation procedure is chosen, as well as the objective function that will drive the selected optimization algorithm. Finally, when the RUN button is pressed, the optimization step begins. At the end of this process, SPT delivers a set of parameter values for the selected segmentation procedure, as well as a raster image and an ESRI Shapefile with the segmentation outcome. Additionally, SPT can be used to simply run the segmentation procedures coded into the software, with parameters arbitrarily defined by the user or previously found through an optimization process. Furthermore, SPT could be used to assess a segmentation outcome given a certain reference (raster image or an ESRI Shapefile) using one of the seven metrics implemented.

Currently SPT is in its third version, SPT 3.1.0 [1] [2]. There are five segmentation procedures available, seven objective functions to be minimized by four different optimization algorithms. A brief description of the prototype components will be given in the subsequent sections. After that, the elements of SPT s GUI will be presented. 2. System Components Let s see the components of SPT 3.1.0 as well as the methodology followed to find the optimal parameters values of each segmentation procedure. 2.1. Overview The methodology followed by SPT 3.1.0 to find the optimal parameters of a segmentation algorithm is illustrated in Figure 1, let s see each step in detail: Parameter Initialization: It is an initial set of parameters where the search for optimal values will begin by the optimization algorithm. Input Image: the image to be segmented. Segmentation: This phase segments the image using one of the five segmentation algorithms available. Reference Segments: The reference segments are given by the user using a raster image or an ESRI Shapefile. They represent the ideal segmentation outcome. Fitness Function: It contrasts the segmentation outcome against the reference segments. There are seven different fitness functions available in SPT 3.1.0. Optimization: This phase provides new set of parameters values that are used by the segmentation procedure. There are four different optimization approaches available in SPT 3.1.0.

Then, based on these processes, SPT 3.1.0 calculates the optimal set of parameters values for the selected segmentation procedure. Firstly, the input image is segmented with a set of initialization parameters values. Later, the fitness function, which measures the dissimilarity between the segmentation outcome and its references, is calculated. If this is its minimum value, then, the optimal set of parameters values have been found. However, if it is not its minimum value, the optimization phase provides a new set of parameters to test. This process is repeated iteratively until a convergence criterion is reached (e.g. maximum number of iterations, minimum error, etc.). Figure 1 Methodology followed by SPT 3.1.0. 2.2. Segmentation Procedures There are five Segmentation procedures considered in the implementation of SPT 3.1.0 for the optimization phase. One more segmentation algorithm is available only for the segmentation phase (when a segmentation algorithm is executed using the parameters given by the user). A brief description of each one will be given. For further information, review the corresponding references of each segmentation algorithm.

2.2.1. Multiresolution Region Growing segmentation Proposed by Happ [3], this segmentation procedure is based on the region growing algorithm proposed by Baatz & Schäpe [4]. The algorithm is a stepwise local optimization procedure that minimizes the average heterogeneity of the image objects. The main difference between this algorithm and the proposed by Baatz & Schäpe is in the shape features used to calculate the heterogeneity criterion. Instead of using Smoothness, Happ uses Solidity as shape feature. This algorithm has three main parameters: the color weight, the compactness weight and a scale parameter. This last one parameter controls indirectly the size of the final segments. The input images for this segmentation algorithm are BMP and Hyperspectral images in HDR format. 2.2.2. Mean Shift segmentation Proposed by Comaniciu & Meer [5], Mean-Shift algorithm is a clustering-based approach focused on finding local extrema in the density distribution of a data set. Firstly, a search window is defined (with certain probability density distribution), then, its center is shifted to the current center of mass of the data inside the window. It is repeated until the search window stops moving. The search window s probability density distribution is defined by a multivariate Gaussian that considers two kinds of features: Spatial (location) and Intensity. Then, there are two radiuses that have to be defined: the spatial radius and a spectral radius. The final minimum area of each segment is a parameter to be tuned too. The input images for this segmentation algorithm are Optical and Hyperspectral images in HDR format. The hyperspectral version of this algorithm was adapted from the EDISON s Mean Shift implementation [6]. 2.2.3. SPRING segmentation The SPRING segmentation procedure is the region growing segmentation algorithm coded into the SPRING software developed by INPE (the Brazilian National Space Research Institute). A detailed description of this segmentation procedure can be found in [7]. The procedure has two main parameters: the minimum Euclidean distance between the mean of spectral values of each segment and the minimum area to be considered as a segment, defined in number of pixels. Also, the maximum number of iterations is a parameter to be

tuned. The input images for this segmentation algorithm are Optical and Hyperspectral images in HDR format. 2.2.4. Graph-based segmentation Proposed by Felzenszwalb & Huttenlocher [8], this approach models the image as an undirected graph where each pixel is represented by a vertex. Each edge of this graph has an associated weight which measures the dissimilarity between two pixels. Firstly, each pixel is considered a segment. Then, each segment is merged with its neighboord only if the external variation between them is small with regard to their respective internal variations. How much greater could be one with respect to the other is defined by a constant K that controls indirectly the size of the final segments. A Gausian smoothing is applied at the beginning of the segmentation, where its standard deviation is an input parameter too. The minimum area for the final segments is a parameter to be tuned too. The input images for this segmentation algorithm are Optical (no more than three bands) and Hyperspectral images in HDR format. The hyperspectral version of this algorithm was done form the original source code provided by the author. 2.2.5. Multiseg segmentation It is an extension of the algorithm proposed by Sousa Jr. [9]. It processes multiband intensity images (optical and SAR) over an image pyramid (compression levels). A region growing approach is applied in each compression level. Then, a border adjustment/refinement is performed in each decompression (transition from a compression level to a lower one). A re-segmentation is done for heterogeneous regions. It was implemented in C++ using TerraLib libraries. The main parameters are the following: N Simil 0 Conf% ENL Min. Area : Number of compression levels. : Similarity threshold (db) for decision on region growing/merging. : Confidence level (%) for homogeneity/hypothesis tests. : Equivalent number of looks of the original image. : Minimum area size (pixels) of final regions.

2.3. Fitness Functions A fitness function indicates how good the segmentation outcome is. Currently, SPT 3.1.0 has seven different fitness functions to evaluate the segmentation result. They will be described in the following sections. 2.3.1. Hoover index (H) Proposed by Hoover et al. [10], it compares a segmentation outcome S with its ground truth GT. This index consideres five types of segments classifications: correct detection, over-segmentation, under-segmentation, missed and noise. Only correct detections are considered for the fitness function. A correct detection occurs when the number of pixels in the intersection betweem two segments is greater than a T percent of the pixels in each one of that segments. Let s be O i, O j and O ij the number of pixels in the segments C i, C j and its intersection C i C j. Then, it is considered a correct detection when: O ij T O i O ij O j (1) Finally, the fitness function is defined as follows: H = 1 CD N GT (2) where CD is the number of correct detections and N GT represents the number of segments in the GT image. 2.3.2. Area-Fit-Index (AFI) Proposed by Lucieer [11], is defined as follows: N GT AFI = 1 N GT A k A l.i.k k=1 A k (3) where A k is the area, in pixels, of a reference segment C k in the GT image and A l.i.k is the area, in pixels, of the segment, in the segmentation

outcome S, with the largest intersection with the reference segment C k. N GT is the number of segments in the GT image. 2.3.3. Shape Index (SI) This index addresses the polygon form. It is defined as the ratio between the area and the perimeter of a segment C k. SI k = ρ k 4 A k (4) where ρ k is the perimeter of the reference segment C k and A k is its area. Then, the final index is defined as follows [12]: N GT SI = 1 N GT ( ρ j j=1 4 A j ρ i 4 A i ) (5) where N GT is the number of segments in the GT image, ρ i and ρ j are the perimeters of the segments C i and C j, and A i and A j are their respective areas. 2.3.4. Rand Index (RI) Proposed by Rand [13], is a clustering evaluation measure. Let I = {p 1,, p N } be the set of pixels of the original image and consider the set of all pairs of pixels P = {(p i, p j ) I I i < j}. Moreover, C i, a segment in the segmentation S, and C j, a segment in the GT image, are considered as partitions of the image I. Then, P is divided into four different sets depending on where a pair (p i, p j ) of pixels falls: P 11 : in the same segment both in C i and C j. P 10 : in the same segment in C i but different in C j. P 01 : in the same segment in C j but different in C i. P 00 : in different segments both C i and C j. Finally, the Rand Index is defined as follows according to [14]: RI = 1 P oo + P 11 P (6)

2.3.5. Precision and Recall (F) Given a segment from the segmentation outcome S (red segment in Figure 2) and a segment from its ground truth GT (green segment in Figure 2), then, there are four different regions easily differentiated: True positives (tp) : pixels that belong to both S and GT. False positives (fp) : pixels that belong to S but not to GT. False negatives (fn) : pixels that belong to GT but not to S. True negatives (tn) : pixels that do not belong to S or GT. The last one is not delineated in Figure 2. Figure 2 Precision and Recall definition. Based on the aforementioned definitions, Precision (P) and Recall (R) are defined by the eq. (7) [14]: P = tp tp + fp R = tp tp + fn (7) Actually, the F measure, which captures the trade-off between P and R as their weighted harmonic mean, was used. F = 1 2PR P + R (8) 2.3.6. Segmentation Covering (C) The overlap between two segments, C i in a segmentation S and C j in its GT, is defined as [14]: O(C i, C j ) = C i C j C i C j (9)

Then, the covering of a GT by a segmentation S is defined as follows: C(S GT) = 1 1 max O(C C N t. i, C t ) GT C i S C t GT (10) where N GT is the total number of pixels in the original image. Noticed that covering only considers the segments with the maximum overlapping between them. 2.3.7. Reference Bounded Segments Booster (RBSB) Proposed by Feitosa et al. [15], the RBSB metric corresponds to the ratio between the non-intersection area and the reference s area. Based on the definitions from Figure 2, RBSB is defined as follows: N GT RBSB = 1 fn t + fp t N GT fn t + tp t t=1 (11) where t represents a segment from GT and N GT is the number of segments in the GT image. 2.4. Optimization Algorithms The optimization algorithms were implemented to interact with the segmentation algorithms and could be applied in the image processing filed, through the determination of the optimal set of parameters that could define the performance of a segmentation algorithm given a certain fitness function. In the next sub-sections a briefly description of the optimization algorithms implemented is presented, for a detailed explanation the corresponding references can be consulted. 2.4.1. Differential Evolution (DE) DE is an algorithm used to minimize nonlinear and non-differentiable functions in a continuous space of search; and is in scope of the

evolutionary strategies algorithms that consist of an evolutionary process that attempts to minimize a given objective function [16]. The process, as illustrated in Figure 3, works in an iterative way through different generations of a group of individuals specified by their corresponding genes, in which an individual represents a potential solution and their genes represent the variables or parameters of the optimization problem, besides, the set of individuals form a population which evolves over the course of generations. Figure 3. Diagram Flow of the Differential Evolution Algorithm. At each generation, the fitness of each individual is evaluated in order to determine how good the individual in question is to solve the optimization problem. In every new generation, the less suited individuals are discarded and the better ones generate new individuals through genetic operators of mutation and crossover, and thus their characteristics are passed on to the next generation. At the end of the process, the best individual is selected as the approximate solution of the optimization problem. 2.4.2. Generalized Pattern Search (GPS) The GPS algorithm is defined as an iterative one, used to solve optimization problems without restrictions and without the need for information of the function derivatives [17]. The general structure of the GPS algorithm can be described as the diagram flow shown in the Figure 4.

The algorithm start with the definition of an initial point from which the search step is executed whenever is activated, with the objective to find a better start point than the current one to be used in the pool step. Once the search step is concluded the pool step is performed, in which a mesh of trial points is created around the actual solution with certain directions, also called as patterns (as illustrated in the Figure 6), and the objective function is evaluated in every trial point in the mesh; if one of this points gives a lower value than that in the actual solution, the method takes this point as the next actual solution and the mesh size is incremented, otherwise, the actual solution is preserved and the mesh size is reduced; this process is performed until the optimal solution is find or the maximum number of iterations is reached [18]. Figure 4. GPS algorithm diagram flow [19].

Figure 5. Mesh of trial points around the current solution x k [18]. 2.4.3. Mesh Adaptive Direct Search (MADS) As an update of GPS the MADS algorithm was proposed, developed to solve nonlinear optimization problems; it has a similar structure than the GPS algorithm with the main difference sited in the poll step, in which the definition of the search directions is more robust and not restricted to a finite number of directions, giving the algorithm a bigger set of trial points from where to choose and asses [20] and thus achieving a faster convergence time. 2.4.4. Nelder-Mead (NM) The NM algorithm was proposed to minimize the value of an n dimensional function through the comparison of the objective function values at the (n+1) vertices in a general simplex, followed of a substitution process of the vertex with the highest value by another one with a lowest value within the current simplex assessed [21]. The algorithm starts ordering the values of the objective function at the simplex vertex in ascendant order, then, four processes are performed: reflection, expansion, contraction and reduction, as shown in Figure 6. The points: P l, P h and P s are the ones with the lowest, highest and second highest objective function values respectively; the points P r and P e are the reflection and expansion points, lastly, P m and P c represent the middle points in their respective segments. The reflection process performs an isometric reflection of the point P h in the direction of the centroid of the other vertices, resulting in the point P r, and if this point has a lower value than those evaluated in P s, then an expansion process is performed in the same direction. If the value at the point P e is lower than that in P r, then this vertex is taken as

the new one in the next simplex; finally if none of the previous conditions occurs, then the contraction and reduction process are performed. Once the new vertex is defined and the new simplex is formed, all the processes above described are iteratively performed until the optimal solution is founded. Figure 6. NM algorithm Process: (a) Reflection, (b) Expansion, (c) Contraction, (d) Reduction [22]. 3. User Requirements SPT 3.1.0 has been tested on Windows 7 / 8 (64 bits). 4. Installation SPT 3.1.0 can be downloaded from the LVC s web page: http://www.lvc.ele.puc-rio.br/wp/?p=1403 This package contains all necessary files to run appropriately SPT 3.1.0. After download it, extract the files in a new folder:

Figure 7. Extraction of SPT 3.0. After the extraction, the folder should contain the following files: Just double click on SPT.exe to launch the program.

5. Graphical User Interface (GUI) The GUI is organized in four different tabs; each tab has a specific purpose and represents an internal tool of SPT. These tools are the following: Reference Tool. Optimization Tool. Segmentation Tool. Assessment Tool. The following sections describe the functionality of the visual controls on the SPT s tools. 5.1. Reference Tool In this tab (see Figure 8 and Figure 9), the user can Load an image (Optical or Hyperspectral) and compose an RGB. The purpose of it is to help the user to Create/Edit/Load/Save references in ESRI Shapefile format. When a reference is loaded, it could be as a raster image (labeled image) or an ESRI Shapefile. Once all reference segments have been created, it is possible to select which will be saved and which not. It is useful to produce different shapefiles with reference segments belonging to different classes. This window has the following functionalities: Open a browser to look for an image to be processed; the user can open only one input image per optimization procedure to be assessed. This image could be Optical or Hyperspectral. Opens a browser to load the references segments. It could be a raster image (labeled image) or an ESRI Shapefile. Save the current reference. Delete all the references loaded/created. Zoom in (by left click or area selection) or out (by right click).

Pan the image. Creates a new reference; when pressed, the user must click on the image to insert the vertices of the new segment. If a wrong point was created, it is easily deleted by a right click. Edit the vertices belonging to a segment on the reference image; when pressed, the user can drag the vertices to modify the segment. Deletes segments from the reference image; when pressed, the user must click over a segment to be deleted from the reference image. Selection of bands to compose an RGB image which is a visual help to create the reference segments. Compose an RGB image with the three bands selected by the user. List with all available segments Created/Loaded by the user. The user can select only a few or all of them to be saved in an ESRI Shapefile. The checkbox next to Segments show/hide the number that represents each polygon. Select all segments available in the list. Deselect all segments available in the list.

Figure 8. Reference Tool and Initial Tab of SPT 3.0. Figure 9. Reference Tool, each reference segment has an associated index which is used to select or not the segment and save it in a shapefile.

5.2. Optimization Tool Through the Optimization Tool, the user can define the parameters of the optimization algorithm an of the segmentation procedure, as well as choose the fitness function to be used in the tuning process; once done all these previous steps the execution can be initiated. The users are encouraged to adopt the default values for these parameters, which are expected to work fine for most applications; nerveless, SPT allows setting up these parameters to achieve a faster convergence or a better solution. Figure 10 presents a view of this tab with the image to be segmented. On this tab, the user can select the optimization algorithm, the segmentation procedure to be tuned and the fitness function to be used in the tuning process. They can also define the name of the output file and the number of experiments to be performed. Noticed that as the initialization of each optimization algorithm is done randomly, each experiment will lead to different results. Figure 10. Optimization Tool.

5.2.1. Optimization Algorithms In this section the user can select between the four optimization algorithms implemented, as shown in Figure 11. Once a determined algorithm is selected, their corresponding parameters are loaded, which can be modified or can remain with their initial values; thus, for: DE algorithm, the user can modify the number of dimensions, depending on the number of parameters to be tuned in the segmentation algorithm; the number of population and generations to be used in the optimization procedure; and the minimum error between the reference and the original image that must be reached. GPS and MADS algorithms, the user can modify the number of dimensions and iterations, the minimum mesh size and error allowed, and the search option to be used. NM algorithm, the user can modify the number of dimensions, iterations and the minimum error to be reached. 5.2.2. Segmentation Algorithms Figure 11. Optimization algorithms selection. In this section the user can select between the five segmentation algorithms implemented, as shown in Figure 12. With the selection of each algorithm, the minimum and maximum searching limits for the parameters to be optimized are loaded, this limits can be modified by the user or can still remain with the pre-defined values. Figure 12. Segmentation algorithms selection.

5.2.3. Fitness Function The fitness function (see Figure 13) can be selected from the seven options described in the previous sections, all of them can be used with any of the optimization or segmentation algorithms, the suitability of a determined a metric will depend on the type of image and on the kind of the application, not every metric will be good for all the applications, neither one application could be solved with all the metrics. 5.3. Segmentation Tool Figure 13. Fitness function selection. This tool (see Figure 14) allows the user to execute one of the segmentation algorithms available in SPT 3.0. The user must provide the parameters of the segmentation algorithm. For more information of each parameter, please see the references of each segmentation algorithm. Additionally, the user can assess the segmentation outcome obtained by loading a reference (raster image or ESRI Shapefile) and selecting an evaluation metric.

Figure 14. Segmentation Tool. 5.4. Assessment Tool This tool was created to directly assess a segmentation outcome. The user has to load the original image (just for visualization purposes), the segmentation outcome and a reference (both could be a raster image or an ESRI Shapefile). Then, a metric is selected and its value is calculated.

Figure 15. Assessment Tool. 5.5. Output Files SPT 3.0 generates the following output files for the parameter tuning process in the folder (SPT_PATH)/Results/ according to the Output File name given by the user:: Figure 16. Output files generated by SPT 3.0.

where each file represents: OutputFile.tif OutpufVector.dbf OutputVector.shp OutputVector.shx report.txt Segmentation outcome corresponding to the optimal parameters found by SPT 3.0 according to the selected configuration. ESRI Shapefile containing the segmentation outcome. Text file with information related to the executed experiment. The text file generated by SPT 3.0 has the following information: Figure 17. Report generated by SPT 3.0 containing information about the executed experiment.

6. Acknowledgments We would like to acknowledge the support provided by CNPq (Conselho Nacional de Desenvolvimento e Pesquisa), CAPES (Coordenação de Aperfeiçoamento de Pessoal de Nível Superior), FAPERJ (Fundação Carlos Chagas Filho de Amparo à Pesquisa do Estado do Rio de Janeiro) and FP7 (Seventh Framework Programme) in the scope of the TOLOMEO project (Tools for Open Multi-risk assessment using Earth Observation data). Also, it is important to mention the cooperation of our colleagues from the Hyperspectral Computing Laboratory (HYPERCOMP) at University of Extremadura for the iterative and parallel implementations of the region growing and SPRING segmentation algorithms, as well as INPE (Instituto Nacional de Pesquisas Espaciais) and BRADAR for the implementation of Multiseg segmentation algorithm. 7. References [1] P. Achanccaray, V. A. Ayma, L. Jimenez, S. Garcia, P. Happ, R. Q. Feitosa and A. Plaza, "A free software tool for Automatic Tuning of Segmentation Parameters," South-Eastern European Journal of Earth Observation and Geomatics, vol. 3, pp. 707-712, 2014. [2] P. Achanccaray, V. A. Ayma, L. Jimenez, S. Garcia, P. Happ, R. Q. Feitosa and A. Plaza, "SPT 3.0: A free software for automatic segmentation parameters tuning," in Simposio Brasileiro de Sensoriamenteo Remoto - XVII SBSR, João Pessoa, PB, 2015. [3] P. Happ, R. Feitosa, C. Bentes and R. Farias, "A Region-Growing Segmentation Algorithm for GPUs," IEEE Geoscience and Remote Sensing Letters, vol. 10, no. 6, pp. 1612-1616, November 2013. [4] M. Baatz and A. Schäpe, "Multiresolution Segmentation - an optimization approach for high quality multi-scale image segmentation," Strobl/Blaschke/Griesebner, pp. 12-23, 2000. [5] D. Comaniciu and P. Meer, "Mean Shift: A robust approach toward feature space analysis," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 24, pp. 603-619, 2002. [6] C. M. Christoudias and B. &. M. P. Georgescu, "Synergism in low level vision," in Proc. 16th International Conference on Pattern Recognition, 2002. [7] L. S. Bin, L. M. G. Fonseca, G. J. Erthal and F. M. Ii, "Satellite imagery segmentation: a region growing approach," pp. 677-680, 1996. [8] P. F. Felzenszwalb and D. P. Huttenlocher, "Efficient graph-based image segmentation," vol. 59, no. 2, pp. 167-181, 2004. [9] M. A. S. Jr., "Segmentação multi-níveis e multi-modelos para imagens de radar e ópticas," Tese (Doutorado em Computação Aplicada), p. 131, 2007.

[10] A. Hoover, G. Jean-Baptiste, X. Jiang, P. J. Flynn, H. Bunke, D. Goldgof, K. Bowyer, D. W. Eggert, A. Fitzgibbon and R. B. Fisher, "An Experimental Comparison of Range Image Segmentation Algorithms," vol. 18, no. 7, pp. 673-689, 1996. [11] A. Lucieer, "Uncertainties in Segmentation and their Visualisation," PhD Thesis Utrecht University, p. 174, 2004. [12] M. Neubert and G. Meinel, "Evaluation of Segmentation programs for high resolution remote sensing applications," Proc. Joint ISPRS/EARSeL Workshop "High Resolution Mapping from Space 2003", p. 8, 2003. [13] W. Rand, "Objective criteria for the evaluation of clustering methods," Journal of the American Statistical Association, vol. 336, pp. 846-850, 1971. [14] J. Pont-Tuset and F. Marques, "Measures and Meta-Measures for the Supervised Evaluation of Image Segmentation," IEEE Conference on Computer Vision and Pattern Recognition- CVPR, pp. 2131-2138, 23-28 June 2013. [15] R. Q. Feitosa, G. A. O. P. Costa, T. B. Cazes and B. Feijo, "A genetic approach for the automatic adaptation of segmentation parameters," 1st International Conference on Object Based Image Analysis, May 2006. [16] R. Storn and K. Proce, "Differential Evolution - A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces," Journal of Global Optimization, vol. 11, pp. 341-359., 1997. [17] V. Torczon, "On the Convergence of Pattern Search Algorithms," SIAM J. Optim., vol. 7, no. 1, pp. 1-25., 1997. [18] M. Abramsom, C. Audet and J. Dennis, "Generalized Pattern Search Algorithms: Unconstrained and Constrained Cases.," in IMA Workshop Optimization in Simulation Based Models, 2003. [19] MathWorks, Global Optimization Toolbox User s Guide, Natick, Massachusetts: The Math Works. Inc., 2012. [20] C. Audet and J. Dennis, "Mesh Adaptive Direct Search Algorithms for Constrained Optimization," SIAM J. Optimization, vol. 17, no. 1, pp. 188-217, 2006. [21] J. Nelder and R. Mead, "A Ssimplex Method for Function Minimization," The Computer Journal, vol. 7, no. 4, pp. 308-313, 1965. [22] J. Mathews and K. Fink, Numerical Methods Using Matlab, 4th ed. ed., United States: Prentice Hall, 2004. [23] G. R. Bradski and A. Kaehler, Learning OpenCV - Computer Vision with the OpenCV Library: software that sees, O'Reilly, 2008, pp. 1-555. [24] "Hyperspectral Computing Laboratory," University of Extremadura, 2014. [Online]. Available: http://www.unex.es/investigacion/grupos/hypercomp.