Split and merge segmentation

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Split and merge segmentation is an image processing technique used to segment an image. The image is successively split into quadrants based on a homogeneity criterion and similar regions are merged to create the segmented result. The technique incorporates a quadtree data structure, meaning that there is a parent-child node relationship. The total region is a parent, and each of the four splits is a child.

Algorithm

[edit | edit source]
  • Define the criterion to be used for homogeneity
  • Split the image into equal size regions
  • Calculate homogeneity for each region
  • If the region is homogeneous, then merge it with neighbors
  • The process is repeated until all regions pass the homogeneity test[1]

Homogeneity

[edit | edit source]

After each split, a test is necessary to determine whether each new region needs further splitting. The criterion for the test is the homogeneity of the region. There are several ways to define homogeneity, some examples are:

  • Uniformity- the region is homogeneous if its gray scale levels are constant or within a given threshold.
  • Local mean vs global mean - if the mean of a region is greater than the mean of the global image, then the region is homogeneous
  • Variance - the gray level variance is defined as

σ2=(1/(N1))(r,c)ϵR[I(r,c)I¯]2

where r and c are row and column, N is the number of pixels in the region and I¯=(1/N)(r,c)ϵRegionI(r,c)

An example incorporation would be that the variance of a region be less than a specified value in order to be considered homogeneous.

Data structure

[edit | edit source]

The splitting results in a partitioned image as shown below to 3 levels.

File:Partition.jpg

Each level of partitioning can be represented in a tree-like structure.

File:Tree structure.png

Example

[edit | edit source]

The following example shows the segmentation of a gray scale image using matlab.[2][3] The homogeneity criterion is thresholding, max(region)-min(region) < 10 for a region to be homogeneous.

File:Original grayscale.png

The blocks created during splitting are shown in the following picture:

File:Smblocks seg.jpg

And the segmented image is below.

File:Segmented project box.png

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).