Feature detection |
---|
Output of a typical corner detection algorithm
|
Edge detection |
Canny · Canny-Deriche · Differential · Sobel · Prewitt · Roberts Cross |
Interest point detection |
Corner detection |
Harris operator · Shi and Tomasi · Level curve curvature · SUSAN · FAST |
Blob detection |
Laplacian of Gaussian (LoG) · Difference of Gaussians (DoG) · Determinant of Hessian (DoH) · Maximally stable extremal regions · PCBR |
Ridge detection |
Hough transform |
Structure tensor |
Affine invariant feature detection |
Affine shape adaptation · Harris affine · Hessian affine |
Feature description |
SIFT · SURF · GLOH · HOG · LESH |
Scale-space |
Scale-space axioms · Implementation details · Pyramids |
In computer vision, maximally stable extremal regions (MSER) are used as a method of blob detection in images. This technique was proposed by Matas et al.[1] to find correspondences 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 algorithms.
Contents |
Image is a mapping . Extremal regions are well defined on images if:
Region is a contiguous subset of . (For each there is a sequence and .
(Outer) Region Boundary , which means the boundary of is the set of pixels adjacent to at least one pixel of but not belonging to .
Extremal Region is a region such that either for all (maximum intensity region) or for all (minimum intensity region).
Maximally Stable Extremal Region Let be a sequence of nested extremal regions (). Extremal region is maximally stable if and only if has a local minimum at . (Here denotes cardinality.) is a parameter of the method.
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'. If we are shown a sequence of thresholded images with frame corresponding to threshold t, we would see first a white image, then 'black' spots corresponding to local intensity minima will appear then grow larger. 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.[2] The component tree indeed provide an easy way for implementing MSER.[3]
Extremal regions in this context have two important properties, that the set is closed under...
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.
In Mikolajczyk et al.,[6] six region detectors are studied (Harris-affine, Hessian-affine, MSER, edge-based regions, intensity extrema, and salient regions). A summary of MSER performance in comparison to the other five follows.
MSER consistently resulted in the highest score through many tests, proving it to be a reliable region detector.[6]
The original algorithm of Matas et al.[1] is in the number of pixels, which is almost linear. It proceeds by first sorting the pixels by intensity. This would take 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 algorithm. This would take 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.[1][6]
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.[2] Thus this structure offers an easy way for implementing MSER.[3]
More recently, Nister and Stewenius have proposed a truly (if the weight are small integers) worst-case method in,[5] which is also much faster in practice. This algorithm is similar to the one of Ph. Salembier et al. [7].
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 on region regions from the other image with the corresponding i-th measurement nearest to are found and a vote is cast suggesting correspondence of A and each of . Votes are summed over all measurements, and using probability analysis, we pick out the 'good measurements' as the 'corrupt measurements' will likely spread their votes randomly. By applying RANSAC to the centers of gravity of the regions, we can compute a rough epipolar geometry. 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 eipolar geometry is estimated by the eight-point algorithm.
This algorithm can be tested here (Epipolar or homography geometry constrained matches): [WBS Image Matcher [1]