Maximally Stable Extremal Regions
   HOME

TheInfoList



OR:

In
computer vision Computer vision is an Interdisciplinarity, interdisciplinary scientific field that deals with how computers can gain high-level understanding from digital images or videos. From the perspective of engineering, it seeks to understand and automate t ...
, maximally stable extremal regions (MSER) are used as a method of
blob detection In computer vision, blob detection methods are aimed at detecting regions in a digital image that differ in properties, such as brightness or color, compared to surrounding regions. Informally, a blob is a region of an image in which some propert ...
in images. This technique was proposed by Matas et al.J. Matas, O. Chum, M. Urban, and T. Pajdla
"Robust wide baseline stereo from maximally stable extremal regions."
Proc. of British Machine Vision Conference, pages 384-396, 2002.
to find
correspondences Correspondence may refer to: *In general usage, non-concurrent, remote communication between people, including letters, email, newsgroups, Internet forums, blogs. Science *Correspondence principle (physics): quantum physics theories must agree w ...
between image elements from two images with different viewpoints. This method of extracting a comprehensive number of corresponding image elements contributes to the wide-baseline matching, and it has led to better stereo matching and
object recognition Object recognition – technology in the field of computer vision for finding and identifying objects in an image or video sequence. Humans recognize a multitude of objects in images with little effort, despite the fact that the image of the ...
algorithms.


Terms and definitions

Image I is a mapping I : D \subset \mathbb^2 \to S. Extremal regions are well defined on images if: # S is totally ordered (total, antisymmetric and transitive binary relations \le exist). # An adjacency relation A \subset D \times D is defined. We will denote that two points are adjacent as pAq. Region Q is a contiguous (aka connected) subset of D. (For each p,q \in Q there is a sequence p, a_1, a_2, .., a_n, q such as pAa_1, a_1Aa_2, \dots, a_Aa_, a_nAq.) Note that under this definition the region can contain "holes" (for example, a ring-shaped region is connected, but its internal circle is not the part of Q). (Outer) region boundary \partial Q = \, which means the boundary \partial Q of Q is the set of pixels adjacent to at least one pixel of Q but not belonging to Q. Again, in case of regions with "holes", the region boundary is not obliged to be connected subset of D (a ring has inner bound and outer bound which do not intersect). Extremal region Q \subset D is a region such that either for all p \in Q, q \in \partial Q : I(p) > I(q) (maximum intensity region) or for all p \in Q, q \in \partial Q : I(p) < I(q) (minimum intensity region). As far as S is totally ordered, we can reformulate these conditions as \min(I(p)) > \max(I(q)) for maximum intensity region and \max(I(p)) < \min(I(q)) for minimum intensity region, respectively. In this form we can use a notion of a threshold intensity value which separates the region and its boundary. Maximally stable extremal region Let Q_i an extremal region such as all points on it have an intensity smaller than i \in S. Note Q_i \subset Q_ for all positive \Delta \in S. Extremal region Q_ is maximally stable if and only if , Q_ \setminus Q_ , / , Q_i, has a local minimum at i*. (Here , \cdot , denotes cardinality). \Delta \in S is here a parameter of the method. The equation checks for regions that remain stable over a certain number of thresholds. If a region Q_ is not significantly larger than a region Q_, region Q_i is taken as a maximally stable region. The concept more simply can be explained by thresholding. All the pixels below a given threshold are 'black' and all those above or equal are 'white'. Given a source image, if a sequence of thresholded result images I_t is generated where each image t corresponds to an increasing threshold t, first a white image would be seen, then 'black' spots corresponding to local intensity minima will appear then grow larger. A maximally stable extremal region is found when size of one of these black areas is the same (or near the same) than in previous image. These 'black' spots will eventually merge, until the whole image is black. The set of all connected components in the sequence is the set of all extremal regions. In that sense, the concept of MSER is linked to the one of component tree of the image.L. Najman and M. Couprie
"Building the component tree in quasi-linear time"
; IEEE Transactions on Image Processing, Volume 15, Numbers 11, 2006, pp 3531-3539
The component tree indeed provide an easy way for implementing MSER.Donoser, M. and Bischof, H
Efficient Maximally Stable Extremal Region (MSER) Tracking
CVPR The Conference on Computer Vision and Pattern Recognition (CVPR) is an annual conference on computer vision and pattern recognition, which is regarded as one of the most important conferences in its field. According to Google Scholar Metrics (2022 ...
, 2006.


Extremal regions

''Extremal regions'' in this context have two important properties, that the set is closed under... # continuous transformation of image coordinates. This means it is affine invariant and it doesn't matter if the image is warped or skewed. # monotonic transformation of image intensities. The approach is of course sensitive to natural lighting effects as change of day light or moving shadows.


Advantages of MSER

Because the regions are defined exclusively by the intensity function in the region and the outer border, this leads to many key characteristics of the regions which make them useful. Over a large range of thresholds, the local binarization is stable in certain regions, and have the properties listed below. * ''Invariance to
affine transformation In Euclidean geometry, an affine transformation or affinity (from the Latin, ''affinis'', "connected with") is a geometric transformation that preserves lines and parallelism, but not necessarily Euclidean distances and angles. More generall ...
of image intensities'' * ''Covariance to adjacency preserving'' (continuous) ''transformation'' T : D \to D ''on the image domain'' * ''Stability'': only regions whose support is nearly the same over a range of thresholds is selected. * ''Multi-scale detection'' without any smoothing involved, both fine and large structure is detected.
Note, however, that detection of MSERs in a scale pyramid improves repeatability, and number of correspondences across scale changes.Forssen, P-E. and Lowe, D.G
"Shape Descriptors for Maximally Stable Extremal Regions"
ICCV, 2007.
* The set of all extremal regions can be ''enumerated'' in worst-case O(n), where n is the number of pixels in the image.Nister, D. and Stewenius, H.
"Linear Time Maximally Stable Extremal Regions"
ECCV, 2008.


Comparison to other region detectors

In Mikolajczyk et al.,K. Mikolajczyk, T. Tuytelaars, C. Schmid, A. Zisserman, T. Kadir and L. Van Gool
"A Comparison of Affine Region Detectors"
International Journal of Computer Vision, Volume 65, Numbers 1-2 / November, 2005, pp 43-72
six region detectors are studied (
Harris-affine In the fields of computer vision and image analysis, the Harris affine region detector belongs to the category of feature detection. Feature detection is a preprocessing step of several algorithms that rely on identifying characteristic points or ...
,
Hessian-affine The Hessian affine region detector is a feature detector used in the fields of computer vision and image analysis. Like other feature detectors, the Hessian affine detector is typically used as a preprocessing step to algorithms that rely on ide ...
, MSER, edge-based regions, intensity extrema, and salient regions). A summary of MSER performance in comparison to the other five follows. * Region density – in comparison to the others MSER offers the most variety detecting about 2600 regions for a textured blur scene and 230 for a light changed scene, and variety is generally considered to be good. Also MSER had a repeatability of 92% for this test. * Region size – MSER tended to detect many small regions, versus large regions which are more likely to be occluded or to not cover a planar part of the scene. Though large regions may be slightly easier to match. * Viewpoint change – MSER outperforms the five other region detectors in both the original images and those with repeated texture motifs. * Scale change – Following Hessian-affine detector, MSER comes in second under a scale change and in-plane rotation. * Blur – MSER proved to be the most sensitive to this type of change in image, the only area in which this type of detection is lacking.
Note however that this evaluation did not make use of multi-resolution detection, which has been shown to improve repeatability under blur. * Light change – MSER showed the highest repeatability score for this type of scene, with all the other having good robustness as well. MSER consistently resulted in the highest score through many tests, proving it to be a reliable region detector.


Implementation

The original algorithm of Matas et al. is O(n\,\log(\log(n))) in the number n\, of pixels. It proceeds by first sorting the pixels by intensity. This would take O(n)\, time, using BINSORT. After sorting, pixels are marked in the image, and the list of growing and merging connected components and their areas is maintained using the
union-find In computer science, a disjoint-set data structure, also called a union–find data structure or merge–find set, is a data structure that stores a collection of disjoint (non-overlapping) sets. Equivalently, it stores a partition of a se ...
algorithm. This would take O(n\,\log(\log(n))) time. In practice these steps are very fast. During this process, the area of each connected component as a function of intensity is stored producing a data structure. A merge of two components is viewed as termination of existence of the smaller component and an insertion of all pixels of the smaller component into the larger one. In the extremal regions, the 'maximally stable' ones are those corresponding to thresholds where the relative area change as a function of relative change of threshold is at a local minimum, i.e. the MSER are the parts of the image where local binarization is stable over a large range of thresholds. The component tree is the set of all connected components of the thresholds of the image, ordered by inclusion. Efficient (quasi-linear whatever the range of the weights) algorithms for computing it do exist. Thus this structure offers an easy way for implementing MSER. More recently, Nister and Stewenius have proposed a truly (if the weight are small integers) worst-case O(n)\, method in, which is also much faster in practice. This algorithm is similar to the one of Ph. Salembier et al.


Robust wide-baseline algorithm

The purpose of this algorithm is to match MSERs to establish correspondence points between images. First MSER regions are computed on the intensity image (MSER+) and on the inverted image (MSER-). Measurement regions are selected at multiple scales: the size of the actual region, 1.5x, 2x, and 3x scaled convex hull of the region. Matching is accomplished in a robust manner, so it is better to increase the distinctiveness of large regions without being severely affected by clutter or non-planarity of the region's pre-image. A measurement taken from an almost planar patch of the scene with stable invariant description are called a 'good measurement'. Unstable ones or those on non-planar surfaces or discontinuities are called 'corrupted measurements'. The robust similarity is computed: For each M_A^i on region A, k regions B_1,\dots, B_k from the other image with the corresponding i-th measurement M_^i ,\dots, M_^i nearest to M_A^i are found and a vote is cast suggesting correspondence of A and each of B_1, \dots , B_k. Votes are summed over all measurements, and using probability analysis, 'good measurements' can be picked out as the 'corrupt measurements' will likely spread their votes randomly. By applying
RANSAC Random sample consensus (RANSAC) is an iterative method to estimate parameters of a mathematical model from a set of observed data that contains outliers, when outliers are to be accorded no influence on the values of the estimates. Therefore, it a ...
to the centers of gravity of the regions, a rough
epipolar geometry Epipolar geometry is the geometry of stereo vision. When two cameras view a 3D scene from two distinct positions, there are a number of geometric relations between the 3D points and their projections onto the 2D images that lead to constraints ...
can be computed. An affine transformation between pairs of potentially corresponding regions is computed, and correspondences define it up to a rotation, which is then determined by epipolar lines. The regions are then filtered, and the ones with correlation of their transformed images above a threshold are chosen. RANSAC is applied again with a more narrow threshold, and the final epipolar geometry is estimated by the
eight-point algorithm The eight-point algorithm is an algorithm used in computer vision to estimate the essential matrix or the fundamental matrix related to a stereo camera pair from a set of corresponding image points. It was introduced by Christopher Longuet-Higgi ...
. This algorithm can be tested here (Epipolar or homography geometry constrained matches)
WBS Image Matcher


Use in text detection

The MSER algorithm has been used in text detection by Chen by combining MSER with Canny edges. Canny edges are used to help cope with the weakness of MSER to blur. MSER is first applied to the image in question to determine the character regions. To enhance the MSER regions any pixels outside the boundaries formed by Canny edges are removed. The separation of the later provided by the edges greatly increase the usability of MSER in the extraction of blurred text. An alternative use of MSER in text detection is the work by Shi using a graph model. This method again applies MSER to the image to generate preliminary regions. These are then used to construct a graph model based on the position distance and color distance between each MSER, which is treated as a node. Next the nodes are separated into foreground and background using cost functions. One cost function is to relate the distance from the node to the foreground and background. The other penalizes nodes for being significantly different from its neighbor. When these are minimized the graph is then
cut Cut may refer to: Common uses * The act of cutting, the separation of an object into two through acutely-directed force ** A type of wound ** Cut (archaeology), a hole dug in the past ** Cut (clothing), the style or shape of a garment ** Cut (ea ...
to separate the text nodes from the non-text nodes. To enable text detection in a general scene, Neumann uses the MSER algorithm in a variety of projections. In addition to the greyscale intensity projection, he uses the red, blue, and green color channels to detect text regions that are color distinct but not necessarily distinct in greyscale intensity. This method allows for detection of more text than solely using the MSER+ and MSER- functions discussed above.


Extensions and adaptations

* The MSER algorithm has been adapted to colour images, by replacing thresholding of the intensity function with
agglomerative clustering In data mining and statistics, hierarchical clustering (also called hierarchical cluster analysis or HCA) is a method of cluster analysis that seeks to build a hierarchy of clusters. Strategies for hierarchical clustering generally fall into t ...
, based on colour gradients.Forssen, P-E
Maximally Stable Colour Regions for Recognition and Matching
, CVPR, 2007.
* The MSER algorithm can be used to detect regions based on color as opposed to intensity. This is done by Chavez by creating an intensity function for red, green, and blue in the
HSV color space HSL (for hue, saturation, lightness) and HSV (for hue, saturation, value; also known as HSB, for hue, saturation, brightness) are alternative representations of the RGB color model, RGB color model, designed in the 1970s by computer graphics res ...
. The MSER algorithm is then run five times; over the three color pseudo-intensities and then over the grey scale intensities using the standard MSER+ and MSER- functions. * The MSER algorithm can be used to track colour objects, by performing MSER detection on the
Mahalanobis distance The Mahalanobis distance is a measure of the distance between a point ''P'' and a distribution ''D'', introduced by P. C. Mahalanobis in 1936. Mahalanobis's definition was prompted by the problem of identifying the similarities of skulls based ...
to a colour distribution. * By detecting MSERs in multiple resolutions, robustness to blur, and scale change can be improved.


Other applications


Shape Descriptors for Maximally Stable Extremal Regions

Efficient Maximally Stable Extremal Region (MSER) Tracking

N-tree Disjoint-Set Forests for Maximally Stable Extremal Regions

Video Google and Object Level Grouping for Video Shots

Real-Time Extraction of Maximally Stable Extremal Regions on an FPGA

Maximally Stable Colour Regions for Recognition and Matching
*


See also

*
Blob detection In computer vision, blob detection methods are aimed at detecting regions in a digital image that differ in properties, such as brightness or color, compared to surrounding regions. Informally, a blob is a region of an image in which some propert ...
*
Feature detection (computer vision) In computer vision and image processing, a feature is a piece of information about the content of an image; typically about whether a certain region of the image has certain properties. Features may be specific structures in the image such as poi ...


External links


VLFeat
an open source computer vision library in C (with a
MEX MEX or Mex may refer to: Places * Mexico, a country in the southern portion of North America ** State of Mexico ** Mexico City ** Mexico City International Airport, IATA airport code MEX * Mex, Valais, Switzerland * Mex, Vaud, Switzerland * Mexbor ...
interface to
MATLAB MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementa ...
), including an implementation of MSER
OpenCV
an open source computer vision library in C/
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significa ...
, including an implementation of Linear Time MSER
Detector Repeatabilty Study
Kristian Mikolajczyk Binaries (Win/Linux to compute MSER/HarrisAffine... . Binary used in his repeatability study.

Charles Dubout, C++ implementation of MSER as a blob detector


References

{{DEFAULTSORT:Maximally Stable Extremal Regions Feature detection (computer vision)