Blob Detection is a computer vision method that is aimed at detecting regions in a specific digital image that differ in properties. A blob is a region of an image in which some properties are constant or approximately constant; all the points in a blob can be considered in some sense to be similar to each other. There are several motivations for studying and developing blob detectors. One main reason is to provide complementary information about regions, which is not obtained from edge detectors or corner detectors. In early work in the area, blob detection was used to obtain regions of interest for further processing. These regions could signal the presence of objects or parts of objects in the image domain with application to object recognition and/or object tracking. In other domains, such as histogram analysis, blob descriptors can also be used for peak detection with application to segmentation. Another common use of blob descriptors is as main primitives for texture analysis and texture recognition. In more recent work, blob descriptors have found increasingly popular use as interest points for wide baseline stereo matching and to signal the presence of informative image features for appearance-based object recognition based on local image statistics. There is also the related notion of ridge detection to signal the presence of elongated objects.
For many high vision purposes, detecting low-level objects in an image is of great importance. These objects, which can be 2D or 3D, are called blobs. Blobs appear in different ways depending on their scale and can be detected using local operations in a multi-scale representation of the image. This article describes several blob detection methods and applications and tries to make a fair comparison without performing experiments. It shows that blobs can be defined and localized in different ways and that each method has its own strength and shortcomings.
Automatic detection of blobs from image datasets is an important step in the analysis of large-scale scientific data. These blobs may represent organization of nuclei in a cultured colony, homogeneous regions in geophysical data, tumor locations in MRI or CT data, etc. This paper presents several approaches for blob detection and applications. Before going into detail on blob detection, first some definitions of a blob are given. Lindeberg defines a blob as being a region associated with at least one local extremum, either a maximum or a minimum for resp. a bright or a dark blob. Regarding the image intensity function, the spatial extent of a blob is limited by a saddle point, a point where the intensity stops decreasing and starts increasing for bright blobs and vice versa for dark blobs. A blob is represented as a pair consisting of one saddle point and one extremum point. Hinz just describes a blob as a rectangle with a homogeneous area, i.e. a constant contrast, which becomes a local extremum under a sufficient amount of scaling. Rosenfeld et al defines a blob as a crossing of lines perpendicular to edge tangent directions, surrounded by 6 or more directions. A third definition of a blob is given by Damerval, describing blobs as the largest modulus maxima of the continuous wavelet transform (CWT) along some maxima of interest. The CWT is able to construct a time-frequency representation, offering a good localization of frequencies and time (scale). The exact meaning of modulus maxima and maxima of interest is explained later in the section of the concerning method. To this point only 2D blob definitions are mentioned. Yang and Parvin give a definition of a 3D blob as being elliptic features in scale-space portioned by a convex hull.
Advantages of Blob Detection
Advantage – Blob detection gives an exciting opportunity for those developers who are developing and enhancing programming frameworks. A lot of programming frameworks have adapted the use of blob detection in their library and because of this capability, developers have an easier time in the development stage. One example for this is OpenCv. OpenCV has adapted blob detection in its library mainly because OpenCV is a framework that focuses on the development of computer visions.
Developer’s advantage - From a developer's perspective, one of the main goals is to create a complete solution that will enable them enhance an application or create a new application. Because of the discovery of blob detection, a lot of open source frameworks that are used for developing computer visions and artificial intelligence have used the theory of blob detection. The discovery of blob detection was very useful for developers especially in the development side, and has eased development in many cases. This discovery is radically disrupting the market by empowering every developer that is developing computer vision applications to be efficient in its development.
Support – Blob detection theory has a wide range of documentations that are found on the internet. It also includes blog archives, and developer’s contribution.
Blob detection applications mostly contain specific methods for their purpose. No qualification of those methods is made because only globally designed blob detection methods are relevant in this paper. Strictly speaking, the Laplacian and Monge-Ampere operator, used in automatic scale selection and effective maxima line selection, are the basic blob detectors. Automatic scale selection and effective maxima line selection are algorithms that use those operators. However, an algorithm that detects blobs is in definition a blob detector.
Because of lack of experiments, no hard qualification of the blob detectors could be made in terms of sensitivity and specificity. Using the author's claim and the results of their experiments, a comparison was performed. There is not a detector that is best for all cases. Every case needs consideration of which detector would be most suitable. The most flexible detector seems the confidence measurement; however it needs to be evaluated. The concept of automatic scale selection is widely used in applications and as base for other blob detectors. It has a great advantage that blobs of all sizes are detected at their own scale, which can be used to calculate their sizes.