segment_image_mser
— Segment image using Maximally Stable Extremal Regions (MSER).
segment_image_mser(Image : MSERDark, MSERLight : Polarity, MinArea, MaxArea, Delta, GenParamName, GenParamValue : )
segment_image_mser
segments an image into regions of
homogenous gray values using the approach of Maximally Stable Extremal
Regions (MSER). The segmentation process determines if a region is
homogenous by observing the local region surrounding. Therefore, the
operator is particularly suited to robustly segment objects in front
of inhomogeneous background or in applications with changing
illumination.
Parameters
Polarity
The Polarity
determines the type of the regions that are extracted.
Value | Meaning |
---|---|
'dark' | Only MSERs that are darker than their surroundings are extracted |
'light' | Only MSERs that are lighter than their surroundings are extracted |
'both' (default) | Both types of MSERs are extracted |
MinArea
, MaxArea
The values MinArea
and MaxArea
restrict the size
of the returned MSERs.
Note that very small values of MinArea
, e.g., values
smaller than 5, can increase the runtime significantly, especially
for noisy images.
If MaxArea
is set to an empty tuple (default), the MSERs are
restricted to be true subsets of the connected components of the
input domain.
Delta
The value of Delta
influences the selectivity of the
algorithm. Larger values lead to fewer MSERs. Smaller values lead
to more MSERs.
Please read the description of the segmentation process below to help understand the effect of this parameter.
The following generic parameters can be used to fine-tune the
segmentation of MSERs. The generic parameters can be set with
GenParamName
and GenParamValue
.
The maximum variation of a component's area within the range of
Delta
thresholds. Larger values lead
to more MSERs. Smaller values lead to fewer MSERs.
Please read the description of the segmentation process below for a definition of 'variation' and to help understand the effect of this generic parameter.
Values: real values larger than or equal to 0.0
Suggested values: 0.1, 0.2, 0.5, 1.0, 2.0, 5.0
Default: 0.2
The minimum relative difference of the sizes of two overlapping MSERs. Smaller values lead to more overlapping MSERs. Larger values lead to fewer overlapping MSERs.
Please read the description of the segmentation process below for a definition of 'diversity' and to help understand the effect of this generic parameter.
Setting 'min_diversity' very close to 0.0 may increase the runtime.
Values: real values larger than or equal to 0.0
Suggested values: 0.1, 0.5, 0.8, 1.0, 2.0, 5.0
Default: 0.8
Controls if regions that touch the border of the input domain are returned ('true' ) or rejected ('false' ).
Values: 'false' , 'true'
Default: 'false' if a full domain is used, 'true' if the input domain is reduced.
The values 'min_gray' and 'max_gray' reduce the input
domain dynamically by applying a threshold
to the input image.
All pixels outside the specified gray value range are ignored in the
segmentation process. This may reduce the runtime considerably.
Please note, that if Image
has a full domain and the domain is
reduced by the settings of 'min_gray' or 'max_gray' ,
the default behavior of 'may_touch_border' may lead to more
result regions than without restricted gray value range.
Values: integer values larger than or equal to 0
Default: 'min_gray' : 0, 'max_gray' : 255 for byte images, 65535 for uint2 images
Segmentation Process
In a first step, the image is segmented with all threshold values t, from 0 to the maximal present gray value.
To illustrate this, the following example input image with twelve gray values (0...11) is used. On the right, the boundaries of the resulting threshold regions are shown.
|
|
The resulting threshold regions are split into their connected
components (4-connected neighborhood) and the area increase of the individual
components is monitored over the increasing thresholds. The area of each
individual component increases monotonically with each (increasing)
threshold. An MSER is a component whose area does not vary significantly
within the range of Delta
thresholds. To be
accepted as an MSER, the variation of the component's area within the
range of Delta
thresholds must be a
local minimum and it must be lower than 'max_variation' .
Furthermore, the diversity of overlapping MSERs must be greater than
'min_diversity' (see below).
The variation of a component's area is defined by
where
Decreasing the value of 'max_variation' will reduce the number of accepted regions.
In our example, each threshold region consists of only one component.
Therefore, the terms 'threshold region' and 'component' are used
synonymously hereinafter. The following table shows the area of the
threshold regions and their variations for Delta
set to 1 and
for Delta
set to 2.
Threshold value t | Threshold region | Area of the threshold region |
Variation of the area (for Delta = 1)
|
Variation of the area (for Delta = 2)
|
---|---|---|---|---|
0 |
|
320 | 0.28 | 0.53 |
1 | |
410 | 0.41 | 0.54 |
2 | |
490 | 0.27 | 0.49 |
3 | |
540 | 0.13 | 0.31 |
4 | |
560 | 0.07 | 0.25 |
5 | |
580 | 0.12 | 0.29 |
6 | |
630 | 0.21 | 0.38 |
7 | |
710 | 0.24 | 0.44 |
8 | |
800 | 0.23 | 0.41 |
9 | |
890 | 0.18 | 1.67 |
10 | |
960 | 1.36 | 1.46 |
11 | |
2200 | 0.56 | 0.60 |
The area of the threshold regions increases with the threshold value
t. If Delta
is set to 1, the local minima of the variation
are obtained for the threshold values t = 0, t = 4, t = 9, and t = 11.
Therefore, the threshold regions for t = 0, t = 4, t = 9, and t = 11
are MSER candidates. If Delta
is set to 2, the MSER
candidates correspond to the threshold regions for t = 0, t = 4, t =
8, t = 11.
Per default, the connected components of
the image domain will not be returned as MSER. This behavior can
be altered by explicitly setting MaxArea
to a value larger
than the area of the input domain and 'may_touch_border' to
'true' . In our example, the default behavior eliminates the
MSER candidates that correspond to the threshold regions for t = 11.
The following figure shows the resulting MSER candidates for
Delta
= 1 and for Delta
= 2 (with 'max_variation'
set to 1.0), overlaid over the input image.
MSER candidates for Delta = 1 | MSER candidates for Delta = 2 |
---|---|
|
|
|
|