Features & Descriptors

blob detection

Where corner detectors find points pinned down by two crossing edges, blob detectors find compact regions that are roughly uniform inside and differ from their surroundings, like a dark spot on a light background or a bright dot in shadow. Think of the dots on a ladybird, the cells in a microscope slide, or the blobby texture of a sponge. A blob has a centre and a characteristic size, so blob detection naturally returns not just a position but a scale, which makes blobs excellent scale-aware keypoints.

The workhorse operator is the Laplacian of Gaussian (LoG). The Laplacian, the sum of the second derivatives, responds strongly to local intensity peaks and valleys, and pre-smoothing with a Gaussian of standard deviation sigma tunes which size of blob it responds to. A blob of a given radius produces the strongest LoG response when the Gaussian's scale is matched to that radius, specifically when the radius is about the square root of two times sigma. So if you compute the LoG response at many scales and look for points that are extreme in both space and scale at once, each extremum gives you a blob's location and its size simultaneously. To make responses comparable across scales, the Laplacian must be scale-normalized by multiplying by sigma squared, an insight due to Lindeberg; without this normalization the response naturally shrinks at coarse scales and blob size cannot be selected.

Computing a true LoG at many scales is costly, so it is usually approximated by the Difference of Gaussians (DoG): subtract two Gaussian-blurred copies of the image at nearby scales. The difference behaves almost identically to a scale-normalized LoG but costs only two blurs and a subtraction per scale, which is exactly why SIFT builds its keypoint detector on DoG over a scale-space pyramid. A second classic approach uses the determinant of the Hessian matrix (the matrix of second derivatives), which is also blob-selective and underlies SURF's fast box-filter detector.

Blob detectors are the foundation of scale-invariant local features and are heavily used beyond keypoints: counting cells or colonies in biomedical images, detecting stars or galaxies in astronomy, and finding text or symbols in documents. A related region detector, Maximally Stable Extremal Regions (MSER), finds blob-like regions as connected components that remain stable across a range of intensity thresholds, and is popular for text detection. The practical pitfall is choosing the range of scales: blobs much smaller or much larger than your scale samples will be missed, so the scale range and sampling density are the parameters that matter most.

To count fluorescent cells, build a scale-space of DoG responses, then pick local extrema in (x, y, sigma). Each extremum gives a cell centre at (x, y) and an estimated radius of about sqrt(2)·sigma, so detection and size estimation happen in one pass.