Marr-Hildreth-Operator

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Helligkeitsänderung einer Kante
Verlauf der 2. Ableitung an der Kante

Der Marr-Hildreth-Operator oder Laplacian of Gaussian (LoG) ist eine spezielle Form eines diskreten Laplace-Filters und kommt zum Beispiel in der Bildverarbeitung bei der Detektion von Kanten zum Einsatz. Der Filterkernel wird durch die Anwendung des Laplace-Operators auf eine Gauß-Funktion erstellt. Da seine Form der eines mexikanischen Sombreros ähnelt, ist er auch als Mexican Hat oder Sombrerofilter bekannt. Der LoG ist ein isotropes Maß der zweiten Ableitung an ein Bild. Deswegen detektiert er Orte großer Veränderung. In einem Bild sind das gerade Kanten von Objekten, an denen sich die Intensität schnell ändert. Es handelt sich also um einen Filter, der zur Kantendetektion genutzt werden kann.

Die Bezeichnung Marr-Hildreth-Operator geht zurück auf David Marr und Ellen Catherine Hildreth.[1]

Erzeugung des Kernels[Bearbeiten]

Ausgangspunkt für die Erzeugung des Filterkernels ist die Gauß-Funktion in 2D:

 f(x, y) = \frac{1}{2 \pi \sigma^2}e^{-\frac{x^2 + y^2}{2 \sigma^2}} .

Wendet man den Laplace-Operator auf die Gauß-Funktion an, erhält man die kontinuierliche Repräsentation des LoG[2]:

 g(x, y) = \Delta \; f(x, y) = \frac{\partial^2 f(x, y)}{\partial x^2} + \frac{\partial^2 f(x, y)}{\partial y^2} .
 g(x, y) = -\frac{1}{\pi \sigma^4} e^{-\frac{x^2 + y^2}{2 \sigma^2}} \left(1-\frac{x^2 + y^2}{2 \sigma^2}\right) .

Um diese Funktion in der Bildverarbeitung zu nutzen, wird der kontinuierliche LoG diskret approximiert. Die Approximation sollte für Kernel ungerader Kantenlänge k = 3, 5, 7, \dots durchgeführt werden, wobei der Ursprung des Kernels jeweils in der Mitte liegt – also bei (x, y) = (2, 2), (3, 3), (4, 4), \dots. Ein (x, y) = (7, 7) Pixel großer Beispielkernel, also eine diskrete Approximation des kontinuierlichen LoG mit einer Standardabweichung von \sigma = 1{,}6, könnte so aussehen:


g(x, y) = \begin{pmatrix}
             1 &   3 &   4 &   4 &   4 &   3 &   1 \\
             3 &   4 &   3 &   0 &   3 &   4 &   3 \\
             4 &   3 &  -9 & -17 &  -9 &   3 &   4 \\
             4 &   0 & -17 & -30 & -17 &   0 &   4 \\
             4 &   3 &  -9 & -17 &  -9 &   3 &   4 \\
             3 &   4 &   3 &   0 &   3 &   4 &   3 \\
             1 &   3 &   4 &   4 &   4 &   3 &   1 \\
          \end{pmatrix}

Der Kernel wurde zunächst auf 1 normiert und dann mit 255 (höchster Farbwert eines 8-Bit-Grauwertbildes) multipliziert. Die Form des LoG ist in den Matrixeinträgen deutlich erkennbar. Jetzt kann er mittels Faltung auf ein Bild angewendet werden, um die Kanten zu verdeutlichen:


I^* = g \ast I

Hierbei bezeichnet \ast die Faltungsoperation, I das Eingangsbild und I^* das Bild mit den verdeutlichten Kanten. Der LoG findet im Grunde genommen keine Kanten, sondern Gebiete mit rapiden Änderungen (siehe hierzu die erste Graphik im Artikel über den Laplace-Filter). Aufgrund der zweiten Ableitung erhält man auf einer Seite der eigentlichen Kante einen negativen und auf der anderen Seite einen positiven Wert. Die Kante liegt am Nulldurchgang zwischen diesen Werten.

Alternative Anwendungen[Bearbeiten]

An Stelle einer einzigen Faltungsoperation mit einem LoG-Faltungskern kann man auch zuerst den Laplacefilter auf das Eingangsbild anwenden und das Resultat anschließend mit der Gauß-Funktion falten (also weichzeichnen), oder umgekehrt. In diesem Falle muss dafür Sorge getragen werden, dass das Zwischenergebnis korrekt abgespeichert wird (32 bit floating point), damit es nicht zu unerwünschten Overflow oder Rundungsproblemen kommt.

Man kann eine Approximation des LoG-Filters durch eine Differenz von 2 Gaußkernen mit verschiedenen Varianzen erhalten. Diese Methode wird Difference of Gaussian genannt.

Als Nachteil des LoG gilt, dass die Faltungsmasken für hohe Werte von \sigma sehr groß werden (40 Pixel bei \sigma=4) und entsprechend langsamer rechnen. Weiterhin ist die Chance der Detektion falscher Kanten aus lokalen Schwankungen höher als bei neueren Verfahren (z. B. Canny) und der Filter kann Probleme mit runden Kanten haben.

Bildwerk[Bearbeiten]

Literatur[Bearbeiten]

  • B. Jähne: Digitale Bildverarbeitung. Springer, 2002
  • R. Haralick und L. Shapiro: Computer and Robot Vision. Band 1. Addison-Wesley Publishing Company, 1992
  • D. Marr: Vision. Freeman, 1982

Weblink[Bearbeiten]

Referenzen[Bearbeiten]

  1. David Marr, Ellen Catherine Hildreth: Theory of Edge Detection. In Proceedings of the Royal Society of London. B 207, 1980, S. 187-217.
  2. http://homepages.inf.ed.ac.uk/rbf/HIPR2/log.htm