Changes between Version 4 and Version 5 of GSoC/2016/Additional_segmentation_algorithms/mean_shift


Ignore:
Timestamp:
Sep 8, 2016, 12:16:13 PM (8 years ago)
Author:
hao2309
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GSoC/2016/Additional_segmentation_algorithms/mean_shift

    v4 v5  
    8282GRASS GIS has the i.segment which provides the possibility to segment an image into objects. This is a basic step in object-based image analysis (OBIA). Currently, the module only provides one segmentation algorithm: region-growing. The code of i.segment was structured in a way that allows addition of other algorithms. It would be more useful and comprehensive to add mean-shift to the i.segment module.
    8383
    84 Mean shift segmentation is a local homogenization technique that is very useful for damping shading or tonality differences in localized objects. For the algorithm implementation of this case, basically the algorithm replaces each pixel with the mean of the pixels in a range-r neighborhood and whose value is within a distance d. The Mean Shift usually has 3 important parameters: 1) A distance function for measuring distances between pixels. Usually the Euclidean distance, but any other well-defined distance function could be used. The Manhattan Distance is another useful choice sometimes. 2) A radius (spatial bandwidth). All pixels within this radius (measured according the above distance) will be accounted for the calculation. 3) A value difference (range bandwidth). From all pixels inside radius r, we will take only those whose values are within this difference for calculating the mean.
     84Mean shift segmentation is a local homogenization technique that is very useful for damping shading or tonality differences in localized objects. For the algorithm implementation of this case, basically the algorithm replaces each pixel with the mean of the pixels in a range-r neighborhood and whose value is within a distance d. The Mean Shift usually has 3 important parameters: 1) A distance function for measuring distances between pixels. Usually the Euclidean distance, but any other well-defined distance function could be used. The Manhattan Distance is another useful choice sometimes. 2) A radius (spatial bandwidth). All pixels within this radius (measured according the above distance) will be accounted for the calculation. 3) A value difference (range bandwidth). From all pixels inside radius r, we will take only those whose values are within this difference for calculating the mean [1].
     85
     86= COMPARISON =
     87
     88== Seeded Region Growing ==
     89The seeded region growing (SRG) algorithm is one of the simplest region-based segmentation methods. It performs a segmentation of an image with examine the neighboring pixels of a set of points, known as seed points, and determine whether the pixels could be classified to the cluster of seed point or not [2].
     90'''Pros:'''
     91* The image could be split progressively according to user demanded resolution because
     92the number of splitting level is determined by user.
     93* User could split the image using the criteria to be decided, such as mean or variance of segment pixel value. In addition, the merging criteria could be different to the splitting criteria
     94'''Cons:'''
     95* The blocky segment problem could be reduced by splitting in higher level, but the trade off is that the computation time will arise.
     96
     97== Mean shift ==
     98Numerous nonparametric clustering methods can be separated into two parts:hierarchical clustering and density estimation. Hierarchical clustering composes either aggregation or division based on some proximate measure. The concept of the density estimation-based nonparametric clustering method is that the feature space can be considered as the experiential probability density function (p.d.f.) of the represented parameter. The mean shift algorithm can be classified as density estimation. It adequately analyzes feature space to cluster them and can provide reliable solutions for many vision tasks. The basics of mean shift are discussed as below.
     99'''Pros:'''
     100* An extremely versatile tool for feature space analysis.
     101* Suitable for arbitrary feature spaces.
     102'''Cons:'''
     103* The kernel bandwidth is the only factor can control the output.
     104* The computation time is quite long.
     105
     106== Other segmentation methods ==
     107=== Watershed ===
     108The main goal of watershed segmentation algorithm is to find the “watershed
     109lines” in an image in order to separate the distinct regions. To imagine the pixel values of an image is a 3D topographic chart, where x and y denote the coordinate of plane, and z denotes the pixel value. The algorithm starts to pour water in the topographic chart from the lowest basin to the highest peak.
     110'''Pros:'''
     111* The boundaries of each region are continuous.
     112'''Cons:'''
     113The segmentation result has over-segmentation problem.
     114The algorithm is time-consuming.
     115
     116=== Fast scanning algorithm ===
     117 The concept of fast scanning algorithm is to scan from the upper-left corner to lower-right corner of the whole image and determine if we can merge the pixel into an existed clustering. The merged criterion is based on our assigned threshold. If the difference between the pixel value and the average pixel value of the adjacent cluster is smaller than the threshold, then this pixel can be merged into the cluster.
     118'''Pros:'''
     119* The pixels of each cluster are connected and have similar pixel value, i.e. it has good shape connectivity.
     120* The computation time is faster than both region growing algorithm and region splitting and merging algorithm.
     121* The segmentation results exactly match the shape of real objects, i.e. it has good shape matching.
     122
     123=== Hierarchical clustering ===
     124The concept of hierarchical clustering is to construct a dendrogram representing the nested grouping of patterns (for image, known as pixels) and the similarity levels at which groupings change.The hierarchical clustering can be divided into two kinds of algorithm: the hierarchical agglomerative algorithm and the hierarchical divisive algorithm.
     125'''Pros:'''
     126* The process and relationships of hierarchical clustering can just be realized by checking the dendrogram.
     127* The result of hierarchical clustering presents high correlation with the characteristics of original database.
     128* We only need to compute the distances between each pattern, instead of calculating the centroid of clusters.
     129'''Cons:''
     130* For the reason that hierarchical clustering involves in detailed level, the fatal problem is the computation time
    85131
    86132
     133
     134=== K-mean clustering ===
     135'''Pros:'''
     136* K-means algorithm is easy to implement.
     137* Its time complexity is O(n), where n is the number of patterns. It is faster than the hierarchical clustering.
     138Disadvantages:
     139* The result is sensitive to the selection of the initial random centroids.
     140* We cannot show the clustering details as hierarchical clustering does.
     141
     142'''Cons:'''
     143
     144[1]
     145[2]Adams, Rolf, and Leanne Bischof. "Seeded region growing." IEEE Transactions on pattern analysis and machine intelligence 16.6 (1994): 641-647