Marr–Hildreth algorithm

The Marr - Hildreth operator or Laplacian of Gaussian (LOG) is a special form of a discrete Laplace filter and is, for example, in the image processing for the detection of edges used. The filter kernel is created by the application of the Laplacian to a Gaussian function. Since its shape resembles that of a Mexican sombreros, he is also known as Mexican Hat or known Sombrerofilter. The LoG is an isotropic measure of the second derivative of an image. That's why it detects places of great change. In a picture, are straight edges of objects, where the intensity changes rapidly. Thus, it is a filter that can be used for edge detection.

The term Marr - Hildreth operator goes back to David Marr and Ellen Catherine Hildreth.

Generation of the kernel

Starting point for the generation of the filter kernel is the Gaussian function in 2D:

.

Applying the Laplace operator to the Gaussian function to one, the continuous representation of the LoG:

.

.

To use this function in the image processing, the continuous LoG is approximated discretely. The approximation should be done for kernel odd edge length, the origin of the kernel is located at the centers - ie when. A great example pixel kernel, ie, a discrete approximation of the continuous LoG with a standard deviation of might look like this:

The kernel is initially standardized to 1 and then multiplied by 255 ( the highest color value of an 8- bit grayscale image). The shape of the LoG is clearly visible in the matrix entries. Now it can be applied by means of convolution on an image to illustrate the edges:

Here denotes the convolution operation, the input image and the image with the verdeutlichten edges. The LoG is basically no edges, but areas with rapid changes (refer to the first graph in the article about the Laplacian filter ). Because the second derivative is obtained on a side of the actual edge of a negative, and on the other hand, a positive value. The edge is at the zero crossing between these values.

Alternative Applications

Instead of a single convolution with a LoG convolution kernel you can also first apply the Laplacian filter to the input image and the result then fold with the Gaussian function (ie blur ), or vice versa. In this case, care must be taken that the intermediate result is stored correctly (32 bit floating point), so there will be no unwanted overflow or rounding problems.

One can obtain an approximation of the Log filter, by a difference of 2 Gaußkernen with different variances. This method is called Difference of Gaussian.

A disadvantage of the LoG is that the convolution masks for high values ​​of are very large (40 pixels at ) and calculated correspondingly slower. Furthermore, the chance of detecting false edges from local fluctuations is higher than with newer methods (eg Canny ) and the filter can have problems with rounded edges.

Image factory

LoG, that is, is the Laplace operator applied to a Gaussian function in Figure 2D.

Sum of the amount of all negative and positive values ​​. The actual edges in the image appear as black lines between the light appearing negative and positive values ​​.

Sum as a negative image for better visibility of the result

239921
de