Blob Detection                                               Anne Kaspers                                          Biomedi...
the requirements mentioned above. The discussion                                                                   section...
an exact number of blobs and exact locations canbe used as result.                                        This method is e...
2.6 Sub-pixel precise blob detection                                                            1.   Compute the 2D Gaussi...
2.9 SummaryMethod         Blob              Blob/Noise                                     /Noise        Multi-    Automat...
3 Applications                                          diffused gradient flow is directed to, comparable                 ...
1.   The scale and the number of planes of the      applied on 2D video images and it tries to capture         convex hull...
3.4 SummaryApplication        Basic          Extension                                Image                   MethodNodule...
By plotting the sensitivity vs. 1 – the specificity, a                    same set of images. This is however not feasible...
For different kind of blob images, different                        based on the qualifications that are given bymethods w...
•   Sub-pixel precise blob detection is very         measurement could be a reason it is not so         accurate in detect...
[12] S. Lu, G. Tsechpenakis, D. N. Metaxas, M. L.Jensen, and J. Kruse. Blob Analysis of the Headand Hands: A Method for De...
Appendix                                                A1.4 Gaussian                                                     ...
The Hessian is defined as the determinant of theabove matrix.A1.6 MirroringCopying values inside the image to their mirror...
Upcoming SlideShare
Loading in...5

Literature study article


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Transcript of "Literature study article"

  1. 1. Blob Detection Anne Kaspers Biomedical Image Sciences Image Sciences Institute UMC UtrechtAbstractFor many high vision purposes, detecting low-levelobjects in an image is of great importance. Theseobjects, which can be 2D or 3D, are called blobs.Blobs appear in different ways depending on theirscale and can be detected using local operations ina multi-scale representation of the image. Thispaper describes several blob detection methodsand applications and tries to make a fair Fig. 1. A blob surrounded by 8 different directions taken fromcomparison without performing experiments. It www.wikipedia.orgshows that blobs can be defined and localized indifferent ways and that each method has its own A third definition of a blob is given by Damerval [4],strength and shortcomings. describing blobs as the largest modulus maxima of the continuous wavelet transform (CWT, see Appendix) along some maxima of interest. The CWT is able to construct a time-frequency1 Introduction representation, offering a good localization of frequencies and time (scale). The exact meaning ofAutomatic detection of blobs from image datasets modulus maxima and maxima of interest isis an important step in analysis of a large-scale of explained later in the section of the concerningscientific data. These blobs may represent method.organization of nuclei in a cultured colony, To this point only 2D blob definitions arehomogeneous regions in geophysical data, tumor mentioned. Yang and Parvin [17] give a definitionlocations in MRI or CT data, etc. This paper of a 3D blob as being elliptic features in scale-spacepresents several approaches for blob detection and portioned by a convex hull (boundary of theapplications. minimal convex set containing a set of voxelsBefore going into detail on blob detection, first belonging to a blob).some definitions of a blob are given. Lindeberg [10]defines a blob as being a region associated with at Blobs occur in many shapes and places. Forleast one local extremum, either a maximum or a instance, blobs can be found in an image ofminimum for resp. a bright or a dark blob. sunflowers, zebra fish neurons or in an image of aRegarding the image intensity function, the spatial hand. Below, a number of example images areextent of a blob is limited by a saddle point, a point shown.where the intensity stops decreasing and startsincreasing for bright blobs and vice versa for darkblobs. A blob is represented as a pair consisting ofone saddle point and one extremum point.Hinz [8] just describes a blob as a rectangle with ahomogeneous area, i.e. a constant contrast, whichbecomes a local extremum under sufficientamount of scaling.Rosenfeld et al. [13] defines a blob as a crossing oflines perpendicular to edge tangent directions,surrounded by 6 or more directions, like in thefollowing picture: Fig. 2. A Sunflower field (taken from [10])
  2. 2. the requirements mentioned above. The discussion section concludes the paper. 2 Methods 2.1 Prerequisites A majority of the blob detection methods are based on the scale-space representation. The main purpose of the scale-space representation is toFig. 3. A microscopic zebra fish image overlaid by green dots understand image structure at all levels ofcorresponding to blobs (taken from [9]) resolution simultaneously and link images at successive scales. Scale-space is derived by applying a smoothing kernel -like the Gaussian – (see Appendix)on the image with a scale parameter depending on the amount of smoothing of finer image structures. A blob with linked extrema over scale is called a scale-space blob. The difference in scale where a blob shows up and disappears is called the scale-space lifetime of a blob. The scale at which a maximum over scales is attained will be assumed to give information about how large a blob is.Fig. 4. A hand overlaid by a multiple of blobs and ridges (taken Blob detectors can be based on image gradientsfrom 15]) (contrast), eigenvalues or templates. Gradient magnitudes are used to detect blob outlines,Hand and finger blobs are defined in a different eigenvalues to specify the length, width andway than sunflower blobs. For different kinds of orientation of blobs and templates to match a blobblobs, different detection methods are needed. to a predefined shape. More details will follow inThese methods must fulfill a number of the method sections.requirements: - reliability / noise insensitiveness: a low- level vision method must be robust to 2.2 Template Matching noise, - accuracy: in vision metrology highly A fast and robust method for detecting blobs is accurate results are needed, template matching [16]. A template of a blob is - scalability: blobs of different sizes should moved over the search image and blobs are be detected, detected where the template matches a part of the - speed: it should be near to real-time image. The following steps are performed: processing, - few and semantically meaningful 1. Overlay the template on the initial image parameters: it should be easy to position (0,0). understand for adjustment, 2. Calculate the sum of squared differences - capability of extracting geometric and (SSD) or the sum of absolute differences radiometric attributes; this is needed for (SAD) for the overlaid area and store it in blob classification a correlation matrix. 3. Move on to the next image position andThe organization of the paper is as follows: In the repeat step 2 until the final image positionnext section, a number of distinctive blob is reached.detection methods will be presented and in thefollowing section applications of blob detection Bright spots in the correlation image correspond tomethods will be described. After that, the methods probable blob locations. By defining a threshold,and applications will be evaluated using (some of)
  3. 3. an exact number of blobs and exact locations canbe used as result. This method is extended to multi-scale byWhen the template covers pixels outside the Rosenfeld et al. [13]. He defines an intensityimage, those values could be calculated by pyramid as a set of fine to coarse resolutionmirroring or extrapolation (see Appendix). images. At each level, the spoke filter is applied toOtherwise, the template positions could be detect blobs. Alternatively, for each image in therestricted to positions with template coverage intensity pyramid, the edge elements can bewithin the image. calculated and summed for all images. For theSmall templates can be used to detect primitive summed gradient image, step 2 to 4 of the spokeblobs while large templates can detect specifically filter algorithm can be followed to detect blobs atshaped blobs. To get a more flexible blob multiple scales.detection, multiple templates could be designed. 2.5 Automatic scale selection2.3 Watershed Detection Most blob detection applications are based onThe watershed method [19] assumes an image to Lindeberg’s method for automatic scale selectionbe grey value mountains and simulates the process [11]. The principle for automatic scale selection is:of rain falling onto the mountains, running down in the absence of other evidence, assume that athe mountain range and accumulating in basins. scale level, at which some combination ofThis process is repeated until all basins are filled normalized derivatives assumes a local maximumand only the watersheds between different basins over scales, reflects the size of the correspondingremain. These watersheds correspond to bright blob. Scale levels are obtained by Gaussianblobs, whereas dark blobs can also be obtained by smoothing. The Gaussian function meets thetaking the gradient amplitude image. This flooding requirement that no details are generated whenprocess is performed on the gradient image, i.e. resolution decreases and it provides simplerthe basins should emerge along the edges. pictures at coarse scales [5].Normally, this algorithm will lead to an Lindeberg presents two combinations as basic bloboversegmentation of the image, especially for detectors to be used in Gaussian scale-space: thenoisy image material, e.g. medical CT data. Either Laplacian and the Monge-Ampère operator.the image must be pre-processed or the regions The Laplacian operator is defined as the trace ofmust be merged on the basis of a similarity the Hessian matrix, which is the square matrix ofcriterion afterwards. second-order partial derivatives of the image function (see Appendix). By multiplying the trace with a scale parameter, the Laplacian operator can2.4 Spoke Filter be used to detect scale-space maxima. The Monge-Ampère operator is defined as theAn early (single scale) blob detector which detects scale-normalized determinant of the Hessianblobs of various sizes is the spoke filter, also called matrix. The scale parameter is multiplied twice toAdaptive Spatial Erosion Filter, proposed by Minor obtain scale invariance.and Sklansky [18]. It is applied as follows: Lindeberg claims, that maxima over scales have a nice behavior under rescalings of the intensity 1. Apply edge filters to extract local edge pattern: if an image is rescaled with a constant elements of all (8) orientations. factor, than the scale at which the maximum is 2. Mark pixels as “interior”, which lie within assumed, will be multiplied with the same factor. a certain distance of an edge element on a This guarantees that image operations transform line perpendicular to the edge tangent with size variations. direction. In practice, blobs may be detected at coarse scales, 3. Mark spoke crossings as being interior and the localization properties may not be the pixels marked by edge elements of best. Therefore a coarse-to-fine approach is different orientations. needed to compute more accurate localization 4. Mark blobs as being crossings marked by estimates. 6, 7 or all 8 directions.By varying the distance, blobs of various sizes canbe detected.
  4. 4. 2.6 Sub-pixel precise blob detection 1. Compute the 2D Gaussian scale-space.Hinz [8] presents such an approach for accurate 2. Compute modulus maxima at every scale.localization, build upon Gaussian scale-space. The 3. Connect modulus maxima in adjacentblob is defined as a rectangle with constant scales that are close to each other andcontrast, which becomes a local extremum under have the same sign (plus or minus) tosufficient Gaussian smoothing. Because this obtain maxima lines.approach is applied to images containing equally 4. Remove maxima lines that consist ofaligned objects, like windows or cars, a rectangle is coefficients that increase on averageused as basic model of the blob. The basic idea of when scale decreases; they associate tothe algorithm is as follows: noise. 5. Remove maxima lines that do not cross at 1. Initialize the expected rectangle least 5 integer scales; they associate to orientations of the shorter and larger side. white noise. 2. Calculate the Hessian matrix, the 6. Compute the global maximum for each eigenvector and the direction of the maxima line and remove maxima lines rectangle’s shorter side using Gaussian which deviate at scales larger than the smoothing with an 1D kernel in the global maximum scale; they associate to expected orientation of the shorter side of blob structures outside the blob the rectangle. boundary. 3. 7. Join maxima lines that cross in scale- a. Compute the curvature space; the blob location is given by the maximum along the direction of cross point and its characteristic scale by the rectangle’s shorter side using the median of the global maximum scales the profile along the direction of of all joined maxima lines. the larger side. b. Analyze the gradients of the used profile to determine bias and 2.8 Confidence Measurement remove it. 4. Forssén and Granlund [6] present a rather complex a. Compute the curvature multi-scale method to extract blobs from an image. maximum along the direction of It is not based on linear Gaussian smoothing, as the the rectangle’s larger side using previous methods. The full algorithm is complex the profile along the direction of and can be summarized as follows: the shorter side. b. Analyze the gradients of the used 1. The image is first converted into channel profile to determine bias and images using a set of windowed cosine remove it. kernel functions. 5. Reconstruct the rectangle’s center point 2. For each of the images, a low-pass from both profiles. pyramid is generated 3. Because the filter sums up to 1, aIn addition, this method provides a way to threshold of 0.5 is used to obtain binaryconstruct the boundary of the blob and confidence values, resulting in a clusteringapproximate the boundary by an ellipse. For blob pyramid.classification, it can extract attributes like the 4. The image is pruned by deleting similarblob’s boundary length, area, geometric moments clusters that lie on top of each other.and the parameters of the fitted ellipse. 5. The pixels left in the pyramid are used as seeds for region growing resulting in a region image.2.7 Effective maxima line detection 6. For all regions, the raw moments of order 0 to 2 are computed to approximate blobsDamerval [4] presents a method where connected by ellipses.curves of modulus maxima at different scales -called maxima lines - are effectively selected, todivide blobs from noise. The selection of maxima This results in an image of ellipses with differentlines is performed by the following steps. sizes and orientations, overlapping each other.
  5. 5. 2.9 SummaryMethod Blob Blob/Noise /Noise Multi- Automatic Speed Accuracy Image Definition Threshold scaleTemplate An exact shape A threshold No Semi- Very Highmatching on a template on the SSD or automatic: fast SAD the template must be designed, but the matching Detection of specific case, step is taken from aken automaticWatershed A watershed An image No Yes Fast Highdetection between intensity different threshold basins Detected elements in a space image, t taken from aanda.orgSpoke filter A crossing of A minimum No, but Yes Fast High lines of 6 crossings can be perpendicular exten- to edges ded to multi- scale A spoke crossing, t taken from research.esd.ornl.govAutomatic A local A threshold Yes Mostly, only Quite Reasonablescale maximum of a on the scale scale- the number slowselection normalized space lifetime of blobs (multi- derivative over and operator must be set scale) scales response manually Levels in scale scale-space [10]Sub-pixel A small, A blob has to Yes Mostly, only Quite Very highprecise compact turn in a local the Slowblob image extremum detection primitive, under scale mustdetection defined as a sufficient be set rectangle with amount of manually constant smoothing Detected rectangle center point contrast and orientation [8]Effective Modulus A Maxima Yes Yes Quite Reasonablemaxima maxima line selection Slowline connected in step scale-spacedetection Wavelet maxima lines [4]Confidence A homo- The Yes Mostly, only Quite Reasonablemeasure- geneous confidence the Fastment region with a and a minimum clear boundary threshold on area size area size must be set manually Part of a clustering pyramid [4]Table 1. Summary of Blob Detection Methods
  6. 6. 3 Applications diffused gradient flow is directed to, comparable with the spoke filter (but much more complicated). Finally the flux image is reversed, because blobs correspond to local minima, and non-maximum3.1 Nodule detection suppression and a threshold is used to detect candidate blobs.A medical application for nodule detection ispresented in Multi-scale Nodule Detection in Chest Another 2D nuclei detection method for countingRadiographs by Schilham et al. [14], where cell nuclei in tissue sections is presented inpulmonary nodules are detected in thorax x-ray Automated Tool for the Detection of Cell Nuclei inimages using a Computer Aided Diagnosis (CAD) Digital Microscopic Images: Application to Retinalscheme. Images by Byun et al. [2]. It is based on scale-spaceThe multi-scale blob detection is performed on a blob detection, for it uses a Laplacian of Gaussianlung image, using the Laplacian and gamma- (LoG) filter. Its purpose is to count death cells innormalized derivatives. Detected blobs are the inner nuclear layer of retina images.represented using spatial and geometrical features The method mainly consists of two steps:which are used to train a classifier. 1. Blob detector design. The LoG filter is designed such that the diameter of the3.2 Lesion detection filter is proportional to the average diameter of nuclei in the image. AfterIn Detection and Characterization of Unsharp Blobs filtering the given retinal image, localby Curve Evolution by Gerig et al. [7], an maxima will correspond to blob centers.application, based on geometric heat flow (see 2. Searching for local maxima. The minimumAppendix) is represented for detecting lesions in distance between blob centers is used asMR images of Multiple Sclerosis patients. These the search radius for the local maxima.lesions are visible in MR images as unsharp blobbystructures. Analysis of level curves of the image This method consists of two parameters whichintensity function makes it possible to identify and have to be manually set: the cell size and thecharacterize these structures. In this way, lesions minimal distance between cells.are identified as collections of concentric, simpleclosed curves. A so-called onion-skin model isperformed, where segmentation is formulated as 3.2.2 3D Nuclei detectionsearch for concentric curves organized as layers ofthe onion-skin. The detected lesions are stored In CHEF: Convex Hull of Elliptic Features for 3D Blobusing two parameters: their center and their radial Detection by Yang and Parvin [17], an applicationintensity function. for detecting 3D nuclei is given, based on Gaussian smoothing. Blobs are classified as elliptic features in scale-space and then grouped into 3D connected3.2.1 2D Nuclei detection components, divided by their convex hulls. This method called CHEF (Convex Hull of EllipticAn application for 2D nuclei detection is presented Features) is applied to a database of multi-cellularin Detection of Blob Objects in Microscopic systems for detailed quantitative analysis.Zebrafish Images Based on Gradient Vector CHEF is applied as follows (see next page):Diffusion by Li et al. [9], where nuclei, cells andneurons need to be detected in microscopiczebrafish images.The method consists of three key steps: diffusionof gradient vector field with elastic deformablemodel, computing the flux image and finally post-procesing, using a threshold and non-maximumsuppression.In the first step, the direction of image gradientsprovides important information for blob detection.In the second step, the flux of the diffused gradientfield is computed, where blobs are detected aspoints where the divergence is negative and
  7. 7. 1. The scale and the number of planes of the applied on 2D video images and it tries to capture convex hull (N) are selected. the location and movements of head and hands to 2. The original image is convolved with the identify behavioral states. Gaussian kernel at the selected scale. The position, size and angle of head and hands are 3. The bright elliptic features are computed tracked using color analysis, eigenspace-based using a Hessian matrix to detect and shape segmentation and Kalman filters. Hand and classify each point in the image. A face regions are detected as blobs using a 3D Look- negative (positive) Hessian classifies a Up-Table (LUT) of skin color samples. Regions that bright (dark) elliptic feature. are incorrectly identified because their color 4. The bright elliptic features are matches to the skin color, are disregarded through decomposed into disjoint connected fine segmentation and comparing the subspaces of components. the face and hand candidates. 5. For each component, the convex hull is computed. Another application for body part detection is 6. Components are merged if they overlap. If given in Real-Time Markerless Human Body no merging appears, then stop; otherwise Tracking Using Colored Voxels and 3-D Blobs by go to step 4. Caillette and Howard [3]. The system first reconstructs a 3D voxel-based representation of aFor construction of the convex hull, the size of the person from images of multiple cameras, and thenknown objects of interest is the key parameter; it is matches a kinematic model in 3D space. Voxels aredetermined empirically. classified from pixel-samples taken inside the 2D projections onto the surface planes. To attain real- time performance, a measure of the distance to3.3 Human body part detection the background model is computed for each 2D sample. Voxels are then classified from statistics onAn application for body part detection is presented these distances across the available views, asin Blob Analysis of the Head and Hands: A Method discarded, subdivided or retained as belonging tofor Deception Detection by Lu et al. [12]. It is the foreground.
  8. 8. 3.4 SummaryApplication Basic Extension Image MethodNodule Laplacian of Pre-processing: contrastdetection Gaussian enhancement with a local normalization filter Post-processing: blob boundary extraction by multi-scale edge focusing Detected nodules, taken from detection Geometric Pre-processing: selecting samples heat flow and discretizing spatial and scale parameters. An MRI and the corresponding level curve image [7]2D Nuclei Laplacian of Method: construction of a flux imagedetection Gaussian Post-processing: reversing flux image, non-maximum suppression and a threshold step A zebrafish image and its flux image [9]3D Nuclei Laplacian of Pre-processing: selecting scale anddetection Gaussian number of planes of the convex hull Method: computing Hessian matrix and convex hulls Post-processing: splitting and merging of convex hulls One view of a 3D nuclei image and the result of segmentation [17]Human Body Skin color 2D [12]part detection sampling Method: eigenspace-based shape segmentation and Kalman filters 3D [3] Post-processing: splitting and merging of blobs A person and its fitted model [3]Table 2. Summary of Blob Detection Application true positive blob candidates by the sum of true positive and false negative blob candidates. A4 Evaluation sensitivity of 100% means that the detector recognizes all blobs that are actually there in the image. Specificity is measured by dividing the number of4.1 Sensitivity and specificity true negative blob candidates by the sum of true negative and false positive blob candidates. 100%The quality of Blob detectors are measured and specificity means that all detected blob candidatescompared using sensitivity and specificity. are in fact blobs.Sensitivity is measured by dividing the number of
  9. 9. By plotting the sensitivity vs. 1 – the specificity, a same set of images. This is however not feasibleROC curve is created, for which an optimal for two reasons.combination of sensitivity and specificity can be First, there are different blob definitions, aschosen. mentioned in the introduction. Therefore oneTo be able to measure the sensitivity and detector looks for other kind of blobs, for examplespecificity, a golden standard is needed. Only in the spots, while another detector looks for specificmulti-scale nodule detection method, a golden template blobs. Comparing these results wouldstandard was available. So the blob detectors need lead to be evaluated in another way. Second, performing experiments are not part of the literature study. Hence, comparison can only be done based on existing experiments and what4.2 Experiments the authors claim. For the 7 blob detector, the pros and cons, whichAnother way of comparing the quality of blob are claimed by the authors, in the following table:detectors is by performing all detectors on theMethod Pros ConsTemplate • Exact blob matching possible • Restricted blob definitionmatching • Very fast • Manual template design • Easy to implement • Single-scale • Translation, rotation and scaling only possible by designing extra templatesWatershed • Works good for blobs with • Very sensitive to noise, which leads todetection homogenous contrast and a clear edge oversegmented results • Near real-time performance • Single-scale • Automatic • No shape and size information available • Can extract bright and dark blobsSpoke filter • Works good for blobs of different sizes • Very dependent on blob boundary orientation; with clear consistently oriented edges works only for perfect boundaries with edge • Extension to multi-scale possible directions crossing in the middle of the blob • Extension works well for blobs with • Only perfect circular blobs are detected non-homogeneous background • Fast • Automatic • Single-scale is easy to implementAutomatic scale • Works well for blobs of all sizes • Works not well for blobs with unsharp boundariesselection • Invariant under scaling, translation and • No accurate extraction of the blob position and rotation size • Insensitive to noise because of • Rather slow because multiple scales are analyzed significance measurement and scale- • Only circular blobs are detected space lifetime threshold • Size measurement possible • AutomaticSub-pixel precise • Works well for circular and elliptic • Scale-space parameter needs to be manuallyblob detection blobs adjusted for detecting blobs of different sizes • Sub-pixel precise detection • Works not well on blobs with lots of different • Extraction of several useful blob sizes attributes possible • Difficult to implement • Blob classification possible • Slow when blobs with lots of sizes needs to be detectedEffective maxima • Works well for blobs of all sizes • Same as for automatic scale selectionline detection • Invariant under scaling, translation and rotation • Exact blob size computation possible • Robust to noiseConfidence • Works well for homogenous blobs of • Works not well for inhomogeneous blobsmeasurement all sizes • Not fully evaluated • Overlapping blobs and blobs within • Hard to implement blobs can also be detected • Detects a lot of small blobs within bigger blobs • Proven noise insensitiveness for salt and pepper noise, white rectangular noise and 1/f noiseTable 3. Pros and cons of Blob Detection Method
  10. 10. For different kind of blob images, different based on the qualifications that are given bymethods would be preferable. To get a proper their authors. In the next table, the ‘test’ imagesqualification (and comparison) of the methods, are given, together with their best and worstwithout doing actual experiments, the best blob detector. The images are all taken fromdetector for a set of different images is selected, Best Worst Automatic scale selection and effective maxima Watershed detection and spoke filter. line selection. They cannot cope with different blob They work well on circular blobs of different sizes. sizes. The watershed detector would have difficulties with the inhomogeneous center of the sunflowers. The spoke filter can only handle perfectly circular blobs, which is not the case in this real world example. Confidence measurement. It works well on Sub-pixel precise blob detection. The homogenous blobs of all sizes even if they stars differ a lot in size while the scale overlap. parameter cannot be infinitely changed. Sub-pixel precise blob detection. It works well on The spoke filter. A spoke crossing has to blobs that are equally sized and rectangular consist of at least 6 edge directions, while shaped, because in the method a scale parameter a rectangle only has 4 edges. is set and a rectangle serves as basic primitive. Template matching. The bricks are easily detected Automatic scale selection an effective using templates. Also confidence measurement maxima line selection. The can work reasonable after merging. inhomogeneous contrast would lead to detection of lots of blobs on the brick. Watershed detection. It works well for detection The spoke filter. It works badly on non- of homogeneous blobs of all shapes and sizes. circular shaped blobs. Template matching. All shapes are different and need a separate template.Table 4. Blob images and their most and less preferable detectorWith this knowledge, the following qualifications windows on a building are difficult tocan be made: detect because they are slightly different in scale and rotation. • In most cases, the spoke filter and • Watershed detection is more flexible, template matching are not preferable. because it can detect blobs of all sizes, They are both too restricted. The spoke but it is very sensitive to noise. Only filter is made to detect perfectly circular inhomogeneous blobs without noise blobs, which cannot be found in real (local maxima) are perfectly detected. world data. Template matching detects only specific blobs, while most images contain a variety of blob shapes. Even
  11. 11. • Sub-pixel precise blob detection is very measurement could be a reason it is not so accurate in detecting blobs and its sizes popular. and positions. It is robust to noise, since it smoothes the image using a Gaussian In future, experiments could be done on test function. However, it is not flexible in images, like the one in the table, to make a proper detecting blobs of all sizes, since it has a comparison between the methods. For now, this scale parameter which has to be changed paper could serve as guide to make a choice of the for each blob size. right blob detector for the right application. • Automatic scale selection and effective maxima line selection work both well for circular blobs of different sizes. They are robust, because noise is filtered out 6 References based on their short scale-space lifetime. Their bottleneck is the circularity [1] L. Bretzner and T. Lindeberg. Feature tracking restriction. with automatic selection of spatial scales. • Most flexible is confidence measurement. Computer Vision and Image Understanding, It works well on homogenous blobs of all 71(3):385–392, 1998. sizes even if they overlap. [2] J. Byun, M. R. Verardo, B. Sumengen, G. P. Lewis, B. S. Manjunath and S. K. Fisher. Automated tool for the detection of cell nuclei in5 Discussion digital microscopic images: application to retinal images. Mol Vis, 12:949–960, 2006. [3] F. Caillette and T. Howard. Real-timeIn this paper, a number of blob detection methods markerless human body tracking using coloredand applications described. The blob detection voxels and 3-D blobs. In Proc. ISMAR, 266–267,methods have been compared and qualified, 2004.without experiments. The blob detection [4] C. Damerval and S. Meignen. Blob detectionapplications mostly contain specific methods for with wavelet maxima lines. IEEE Signaltheir purpose. No qualification of those methods is Processing Letters, 14(1):39–42, 2007.made because only globally designed blob [5] L. M. J. Florack. Image Structure. Kluwerdetection methods are relevant in this paper. Academic, 1997. [6] P.-E. Forssén and G. Granlund. Robust multi-Strictly spoken, the Laplacian and Monge-Ampère scale extraction of blob features. In Proceedingsoperator, used in automatic scale selection and of the 13th Scandinavian Conference on Imageeffective maxima line selection, are the basic blob Analysis, LNCS 2749, 11–18, 2003.detectors. Automatic scale selection and effective [7] G. Gerig, G. Szekely, G. Israel and M. Berger.maxima line selection are algorithms that use Detection and characterization of unsharpthose operators. However, an algorithm that blobs by curve evolution. In Proc. of Informationdetects blobs is in definition a blob detector. Processing in Medical Imaging, 165-176, 1995. [8] S. Hinz, Fast and Subpixel Precise BlobBecause of lack of experiments, no hard Detection and Attribution. In:qualification of the blob detectors could be made Proceedings ICIP’05, Genua. pp. 457–460, terms of sensitivity and specificity. Using the [9] G. Li, T. Liu, J. Nie, L. Guo, J. Malicki, A. Mara,authors claim and the results of their experiments, S. A. Holley, W. Xia and S.T. Wong. Detection ofa comparison was performed. There is not a blob objects in microscopic Zebrafish imagesdetector that is best for all cases. Every case needs based on gradient vector diffusion. Cytometry A,a consideration of which detector would be most 71:835–845, 2007.suitable. The most flexible detector seems the [10] T. Lindeberg. Detecting salient blob-likeconfidence measurement; however it needs to be image structures and their scales with a scale-evaluated. space primal sketch: a method for focus-of- attention. International Journal of ComputerThe concept of automatic scale selection is widely Vision, 11(3):283-318, 1993.used in applications and as base for other blob [11] T. Lindeberg. Feature detection withdetectors. It has a great advantage that blobs of all automatic scale selection. International Journal ofsizes are detected at their own scale, which can be Computer Vision, 30(2):79-116, 1998.used to calculate their sizes. The difficult algorithmand the lack of evaluation of confidence
  12. 12. [12] S. Lu, G. Tsechpenakis, D. N. Metaxas, M. L.Jensen, and J. Kruse. Blob Analysis of the Headand Hands: A Method for Deception Detection,Hawaii International Conference on SystemScience (HICSS05), 2005.[13] A. Rosenfeld and C.-Y. Sher. Detecting imageprimitives using feature pyramids. Journal ofInformation Sciences, 107:127-147, 1998.[14] A. M. R. Schilham, B. van Ginneken, and M.Loog, Multi-scale Nodule Detectionin Chest Radiographs, Lecture Notes in ComputerScience, vol. LNCS 2878, pp. 602-609, 2003.[15] A. Shokoufandeh, S. Dickinson, C. Jonsson, L.Bretzner, and T. Lindeberg. On the Representationand Matching of Qualitative Shape at MultipleScales. In Proceedings, European Conference onComputer Vision, 2002.[16] M. Sonka, V. Hlavac, R. Boyle. ImageProcessing, Analysing, and Machine Vision.Thomson, 2008.[17] Q. Yang and B. Parvin. Chef: Convex hull ofelliptic features for 3D blob detection. InProceedings of the International Conference onPattern Recognition, 2002[18] L. G. Minor and J. Sklansky. Detection andsegmentation of blobs in infrared images.IEEE Tranactions on Systems Man andCyberneteics, SMC-11(3):194–201, March1981.[19] S. Beucher and C. Lantuéjoul. Use ofwatersheds in contour detection. In Internationalworkshop on image processing, real-time edgeand motion detection, 1979.
  13. 13. Appendix A1.4 Gaussian The Gaussian Smoothing Operator performs a heA1. Wordlist weighted average of surrounding pixels based on ounding the Gaussian distribution. It is used to removeA1.1 Continuous wavelet transform Gaussian noise and is a realistic model of defocused lens. The scale parameter (s (sigma) defines the amount of blurring. Large values forA continuous wavelet transform is used to divide a sform sigma will only give large blurring for larger kernelcontinuous-time function into wavelets. Unlike time sizes.Fourier transform, the continuous wavelet ,transform possesses the ability to construct a time-frequency representation of a signal that offers The operator generates a kernel of values that arevery good time and frequency localization. In then applied to groups of pixels in the image.mathematics, the continuous wavelet transform of These template values are defined by 2D Gaussiana continuous, square-integrable function x(t) at a integrable Equation:scale a > 0 and translational value isexpressed by the following integral (3) (1) Taken from en.wikipedia.orgwhere ψ(t) is a continuous function in both thetime domain and the frequency domain called themother wavelet and represents operation ofcomplex conjugate. The main purpose of the .mother wavelet is to provide a source function togenerate the daughter wavelets which are simplythe translated and scaled versions of the mother Fig. 5. The 2D Gaussian function, taken fromwavelet. To recover the original signal x(t), inverse en.wikipedia.orgcontinuous wavelet transform can be exploited. A1.5 Hessian matrixA1.2 Extrapolation The Hessian matrix is the square matrix of second- order partial derivatives of a function; that is, itTo estimate (a function that is known over a range o describes the local curvature of a function of manyof values of its independent variable) values nt variables.outside the known range. For example, when pixels Given the real-valued function valuedadd up with some number towards the border,values outside the border are estimated using thesame addition. if all second partial derivatives of f exist, then theA1.3 Flux Hessian matrix of f is the matrixThe flux is computed as: where x = (x1, x2, ..., xn) and Di is the differentiation , (2) operator with respect to the ith argument and the Hessian becomes:, where is a 8-neighbor of , and is theoutward normal at on the unit circle centered at .
  14. 14. The Hessian is defined as the determinant of theabove matrix.A1.6 MirroringCopying values inside the image to their mirroredposition outside the image. For example: 3, 2, 1towards the image border would be continuedwith 1, 2, 3.