Talk:Blob detection

Requested extensions
This article does not provide a formal/informal/intuitive definition of what a "blob" really is. Right now, a blob can be anything which is detected by any of the corresponding methods. This is of course correct from a practical points of view, but somewhat unsatisfactory from a conceptual/theoretical point of view. I assume that the inventors of these methods had some idea from the outset about what they wanted to detect before they went ahead and constructed a specific detector. This mean that there should be an introductory section about what a blob is.

There should also be a section on the applications of blobs. Otherwise there is no reason for using blob detectors.

If this article is extended in the proposed way, with blob detection as only one aspect, it appears relevant to rename it to "Blob (computer vision)".

--KYN 22:06, 17 September 2006 (UTC)

The critique is not fully appropriate
Contrary to the suggestion, I do NOT think that it would be a good idea to rename this article to "Blob (computer vision)". The terminology "blob detection" is well established in the field of computer vision, and the article gives an overview of the main approaches to blob detection as they are used today. The terminology "blob detection" is also in close analogy with the terminology "edge detection", for which there is also a good article.


 * Yes, "blob detection" is clearly well established. Also, it the present state I have no problem with the current title.  However, I was hoping to be able to tweak this article in the direction of giving a general overview of blobs in general rather than blob detection in particular.  I my view, the blob concept is as interesting as a long list of methods for detecting them.  --KYN 20:03, 18 September 2006 (UTC)


 * I do not agree with the previously presented argument in the talk page on corner detection that argues that the article Feature (Computer vision) should serve as a model for the articles on corner detection and blob detection. From my viewpoint the article on Feature (Computer vision) is too abstract and not useful at all to unfamiliar readers. Even for familiar readers (to whom I count myself) have substantial problems to appreciate the value of that article. Tpl 15:29, 19 September 2006 (UTC)


 * I have never argued that Feature (Computer vision) should serve as a model for the articles on corner detection and blob detection. I just pointed out that it exists and also that, as you have also noticed, it needs additional work.  It was previously in a category for computer vision stubs, but later somehow removed, and is currently out there in the void.  If you don't like it, change it.  --KYN 20:03, 18 September 2006 (UTC)


 * Now, the article on Feature (Computer vision) has been rewritten by Serviscope Minor. I think that it is much better now. Tpl 15:29, 19 September 2006 (UTC)

I do also find it wrong to say that this article on blob detection provides no formal/informal/intuitive definition of what a "blob" really is. The article says that a blob is a point or a region that is either brighter or darker than the background and that there are two main classes of blob detectors, differential blob detectors and extremum-based blob detectors: For the class of differential blob detectors, three operational blob detectors are described in detail: (i) scale-space extrema of the normalized Laplacian operator, (ii) scale-space extrema of the determinant of the Hessian, and (iii) scale-space extrema of difference of Gaussians. For each of these notions of blob, a precise and fully operational differential geometric definition is given, which directly leads to efficient and robust algorithms for blob detection. Concerning the extremum-based methods, I agree that a more detailed description would be valuable in the article concerning the notions of grey-level blobs and maximally stable extremum regions.


 * The definition "a point or a region that is either brighter or darker than the background" is perhaps relevant but does not capture the idea fully. There are several ways blobs can be used:
 * A small region which is either brighter or darker than the background. In the typical case, a Laplacian based operator can find the center of this region.  We get a point as a result.  The point describes the location of the blob.  I would call this an interest point, but it is based on a blob feature in the image.
 * A small region defined by any image features which we want to characterize by more than its location, typically by adding information about area or a second order moment matrix. For example, in some cases we cannot make precise measurements of the location of a point and instead describe its location in terms of a blob.  Also, if the blob is slightly larger than small, it may be more relevant to detect it by first finding its edge (typically looking like a circle) and then detect the circle from its characteristic orientation pattern.  This approach is suitable to detecting cells in microscopy images.  As a result, we get a blob (a small set of point) located on each cell.  Each blob can then be further process to verify/falsify the hypothesis about a cell.
 * I have also noticed that Per-Erik Forssén exploits the idea of blobs in his thesis. Here, blobs are defined as a representation of general segments condensed into parameters that describe their first and second order moments.  Also, the corresponding segments are defined by means of general features (although color is the main feature) which are consistent over scale.
 * Having written this does not mean that I have a more general definition myself, I was merely hoping that such a definition can be accomplished. --KYN 20:03, 18 September 2006 (UTC)


 * With blob detection (or corner detection) with automatic scale selection, each blob (or corner) feature gets an attibute of scale, which in turn implies a region. In this respect, blob features (and corner features) with complementary scale attributes satisfy both requirements of interest points and regions of interest. I agree that blob descriptors can also be obtained in other ways, such as edge detection (for particularly simple images where almost connected and closed edges can be expected) or different types of segmentation approaches. The resulting methods would however not be referred to or included within the traditional notion of blob detection. Tpl 15:29, 19 September 2006 (UTC)

Such a description, however, requires the use of figures, which I have not been able to find a satisfactory solution for in terms of open copyright-free pictures. If anyone would have the ability to produce these figures, I would be willing to complement on the text concerning the technical definitions. Nevertheless, references are given to the original sources where grey-level blobs and MSER are defined and described in detail, including applications.


 * What types of figures do you need? --KYN 20:03, 18 September 2006 (UTC)


 * I would need open and copyright-free pictures that show the necessary illustrations needed to describe the notions of grey-level blobs, grey-level blob trees, scale-space blobs and maximally stable regions. There are illustrative figures in the papers by the original authors on these notions. Tpl 15:29, 19 September 2006 (UTC)

Concerning the application of blob descriptors, I agree that such a description would be valuable for unfamiliar readers. The usefulness of these blob descriptors has nevertheless been strongly demonstrated in previous work on image matching, object recognition, tracking and texture analysis. I will complement the article with a text that is more explicit on this. Tpl 12:11, 18 September 2006 (UTC)


 * Ok, thanks --KYN 20:03, 18 September 2006 (UTC)

Differences and similarities between interest points, corners and blobs
Now there is a draft article on interest point detection that makes an attempt to define what should be meant by an interest point and how this notion relates to corners and blobs.

No haar wavelets in SURF blob detection
The article mentions that SURF uses Haar wavelets to compute the Hessian's determinant. I believe that this is incorrect. Haar wavelets are used within SURF at a later stage, when building a descriptor. The SURF blob detection algorithm instead uses {-1,0,1}-discretized approximations of Gaussian derivatives to build the Hessian.

Accessibility
I think this article shows a lot of good technical work, mostly done by one editor: Tpl. Thank you for your hard work, Tpl! However, I would like to raise the issue of accessibility. According to Make technical articles accessible: and
 * technical articles on wikipedia "should be accessible to the widest possible audience"
 * "Every reasonable attempt should be made to ensure that material is presented in the most widely accessible manner possible."

Those guidelines suggest several ways to make technical articles more accessible. The ways which I think apply to this article at present include:
 * Add a concrete example
 * How might one apply the blob detection formulae in a real-world situation?
 * Explain formulae
 * Most of the formulae lack explanations
 * Add a picture
 * The only picture in the article is quite small, and not specifically about blob detection.
 * Use language similar to what you would use in a conversation
 * Use analogies

However, in no way do I wish to "dumb-down" this article in the interest of accessibility. I think a balance can be struck which improves this article's accessibility without reducing its utility to advanced readers.

Some ideas off the top of my head for improving the article:
 * Add a longer introductory section (or is a separate Introduction to blob detection warranted?) containing examples
 * Add pictures (perhaps animations?) and explanations, especially for the formulae
 * Loosen up the language -- right now I think it reads too much like a technical reference

With this in mind, I believe the technical template is currently warranted. Hopefully that will attract the right editor for making this article more accessible. Thanks! --fjarlq (talk) 04:21, 19 June 2008 (UTC)

Does scale work as advertised for small blobs?
I've implemented the laplacian of gaussian method described on this page and it seems to detect things very nicely, but not at the expected t values. Here is a clickable example (takes a few seconds to run):

http://bubba.net.images.alaska.edu/~bkerin/gmcon_safe/gmcon.cgi?operations=type:load,load_name:blobtest,type:run_model

For single-pixel blobs, the normalized laplacian is most negative at the smallest scale, which makes sense I guess. For 3x3 blobs, t = 1.4 gives the most negative result, and for 8x8 blobs t = 10 gives the most negative result. Does the agorithm respond differently for small blobs or is there something wrong with my implementation? Bkerin2 (talk) 19:20, 6 May 2009 (UTC)

The behaviour of the scale selection method at fine scales may depend on how you model the fine scale blobs and on how you implement the normalized derivatives. There is a general treatment about this in appendix A.4 of (Lindeberg: Feature detection with automatic scale selection; Int J Comp Vision, 30:2, pp. 77--116, 1998) see the reference list of the main page of this article for an on-line reference. There is also a more detailed treatment about this topic with regard to pyramid implementation in (Lindeberg and Bretzner: Real-time scale selection in hybrid multi-scale representations; Proc. Scale-Space’03, Springer Lecture Notes in Computer Science, volume 2695, pages 148–163) please see the article on scale-space implementation for an on-line reference. Tpl (talk) 08:18, 7 May 2009 (UTC)

Picture broken
Can anyone fix this? The picture doesn't show the red dots.

Template_talk:FeatureDetectionCompVisNavbox

Unapiedra (talk) 08:50, 13 June 2009 (UTC)

Could please give details about your computer environment and your web browser?

When I look at the navigation box (from the article on blob detection using Firefox on a Mac) it does indeed show the red dots in the lower image. Tpl (talk) 11:12, 13 June 2009 (UTC)

Scale versus Diffusion time
I think that 'scale' and 'diffusion time' are mixed up in this article. In the first equation 't' is the scale parameter (the standard deviation for a normal distribution). But i think for the rest of the equations 't' refers to something like the diffusion time (and it seems to follow the original Tony Lindenberg definition) leading to the 'strange' diffusion equation with the constant 1/2 in front).

This could account for the remark where someone explains that he does find extrema but not at the correct scale. Original authors: am i wrong? —Preceding unsigned comment added by 213.10.57.74 (talk) 19:36, 4 October 2010 (UTC)

With the definition of the scale parameter 't' used in this article and with the constant 1/2 in front, the scale parameter $$\sigma$$ in terms of dimension length is given by $$\sigma = \sqrt{t}$$ and corresponds to the standard deviation of the Gaussian convolution kernels that can be equivalently used for computing the scale-space representation. In this respect, it is a very natural parametrization, however, by paying the rather small price of using a conductivity constant equal to 1/2 in the diffusion formulation. Tpl (talk) 15:40, 5 October 2010 (UTC)

Yes that is what i thought, but then the Gaussian function is wrongly defined. There t is used where $$\sigma$$ should have been used. —Preceding unsigned comment added by 213.10.57.74 (talk) 23:53, 5 October 2010 (UTC)

Yes, this is correct. Someone has apparently changed the expression for the Gaussian so that it was no longer correct. I wasn't aware of that when I wrote the previous comment. This is indeed a problem in Wikipedia that errors are sometimes introduced by people who may not know the subject sufficiently well. Now, I have corrected the equation. Please, give an alarm again if you spot other errors. Tpl (talk) 11:49, 6 October 2010 (UTC)

Now the normalization factor in front of $$g$$ is $$1/(2 \pi t)$$ not $$1/(2 \pi t^2)$$: think to homogeneity when integrating on $$dx dy$$ to give a dimentionless 1, otherwise the remaining is consistent --152.77.24.38 (talk) 17:45, 19 October 2010 (UTC)

External links modified
Hello fellow Wikipedians,

I have just modified 1 one external link on Blob detection. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
 * Added archive https://web.archive.org/web/20110721190213/http://brainvisa.info/pdf/mangin-AImed03.pdf to http://brainvisa.info/pdf/mangin-AImed03.pdf

When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at ).

Cheers.— InternetArchiveBot  (Report bug) 06:34, 4 November 2016 (UTC)

Radius - standard deviation relation. Is it correct?
It says $r = \sqrt{2}t$, and inferring from the formulas $ t := \sigma^2$. I have looked in multiple source codes and people use $\sigma = r/\sqrt{2}$, not $\sigma^2 = r/\sqrt{2}$ , and this seems to give me better results. Can't find a source on correct $\sigma$ or $ t $  relationship to $r$. CyreJ (talk) 11:44, 27 January 2023 (UTC)
 * dimensions $t\sim r^2$ make more sense for a unitless exponent. Changed on main page.  CyreJ (talk) 11:56, 27 January 2023 (UTC)