Welche Faktoren sollten bei der Auswahl eines Kantenerkennungsalgorithmus berücksichtigt werden?


33

Ich habe einige Kantenerkennungsalgorithmen kennengelernt, darunter Algorithmen wie Sobel-, Laplace- und Canny-Methoden. Es scheint mir, dass der beliebteste Kantendetektor ein Canny-Kantendetektor ist, aber gibt es Fälle, in denen dies nicht der optimale Algorithmus ist? Wie kann ich entscheiden, welchen Algorithmus ich verwenden möchte? Vielen Dank!


7
Was entdeckst du?
Endolith

Antworten:


29

Es gibt viele Kantenerkennungsmöglichkeiten, aber die drei Beispiele, die Sie erwähnen, fallen zufällig in drei verschiedene Kategorien.

Sobel

Dies entspricht in etwa einer Ableitung erster Ordnung. Gibt Extrema an den Gradientenpositionen, 0, an denen kein Gradient vorhanden ist. In 1D ist es =[-101]

  • glatte Flanke => lokales Minimum oder Maximum, je nach Signalanstieg oder -abstieg.
  • 1-Pixel-Linie => 0 an der Linie selbst mit lokalen Extrema (mit unterschiedlichem Vorzeichen) direkt daneben. In 1D ist es =[1-21]

Es gibt andere Alternativen zu Sobel, die +/- die gleichen Eigenschaften haben. Auf der Roberts Cross- Seite auf Wikipedia finden Sie einen Vergleich einiger davon.

Laplace

Dies entspricht in etwa einer Ableitung zweiter Ordnung. Gibt 0 an den Farbverlaufspositionen und 0, wenn kein Farbverlauf vorhanden ist. Es gibt Extrema, bei denen ein (längerer) Gradient startet oder stoppt.

  • glatte Kante => 0 entlang der Kante, lokale Extrema am Anfang / Ende der Kante.
  • 1-Pixel-Linie => ein "doppeltes" Extremum an der Linie mit "normalen" Extrema mit einem anderen Vorzeichen direkt daneben

Die Wirkung dieser 2 auf verschiedene Arten von Kanten kann am besten visuell betrachtet werden:

Vergleich von Laplace vs Sobel

Canny

Dies ist kein einfacher Operator, sondern ein mehrstufiger Ansatz, bei dem Sobel als einer der Schritte verwendet wird. Während Sobel und Laplace Ihnen ein Graustufen- / Gleitkommaergebnis liefern, das Sie selbst bestimmen müssen, hat der Canny-Algorithmus eine intelligente Schwellenwertbestimmung als einen seiner Schritte, sodass Sie nur ein binäres Ja / Nein-Ergebnis erhalten. An einer glatten Kante befindet sich wahrscheinlich nur eine Linie in der Mitte des Verlaufs.


18

Während Sobel und Laplacian einfach Filter sind, geht Canny in zweierlei Hinsicht noch weiter.

Erstens wird eine nicht maximale Unterdrückung durchgeführt, die das von allen möglichen Objekten und Farbverläufen in einem Bild erzeugte Rauschen beseitigt. Zweitens enthält es tatsächlich einen Schritt, mit dem Sie zwischen verschiedenen Kantenrichtungen unterscheiden und fehlende Punkte einer Linie ausfüllen können.

Mit anderen Worten, der Canny-Kantendetektor gehört zu einer völlig anderen Klasse als Sobel und Laplace. Es ist viel intelligenter, da es eine ganze Reihe von Nachbearbeitungen beinhaltet, während Sobel und Laplacian einfach Hochpassfilterausgänge sind, denen eine lineare binäre Schwellwertbildung folgt.


Gibt es diesbezüglich eine 1-D-Version von canny? Wäre es einfach eine einfache Anwendung der 2-D-Version?
Spacey

9

Die beiden wichtigsten Entscheidungen beim Erkennen von Kanten sind für mich normalerweise:

  1. Kann ich stattdessen die Objekte segmentieren und dann einen morphologischen Operator verwenden, um die Kante des binären (segmentierten) Bildes zu finden? Bei verrauschten Daten ist dies in der Regel robuster.

  2. Welchen kantenerhaltenden Glättungsfilter sollte ich verwenden, um das Bildrauschen zu reduzieren? Kantenfilter basieren auf der Differenzierung, die durch verrauschte Daten beeinträchtigt wird. Die einfachste Wahl ist das Medianfilter, aber anisotrope Diffusions- oder nichtlokale Mittelwertfilter bieten eine bessere Leistung, wenn mehr Parameter eingestellt werden müssen.

Für die Kantenerkennung selbst kann ich mir aus gutem Grund nicht vorstellen, Canny nicht zu verwenden.


7

SUSAN-Ansatz

Ein weiterer Ansatz zur Erkennung von Kanten und Ecken ist der SUSAN-Ansatz .

Bei diesem Ansatz wird anstelle von abgeleiteten Approximationen ein integraler Approximationsansatz verwendet. Dies hat den Vorteil, dass nicht nur Kanten, sondern auch "zweidimensionale Merkmale" (dh Ecken) erkannt werden können.

Ein weiterer Vorteil eines integralen Approximationsansatzes besteht darin, dass Rauschen die Ergebnisse tendenziell weniger beeinflusst.


6

Canny liefert ein binäres Bild und ist abhängig von extern vorgegebenen Schwellenwerten (die abhängig vom Bild / der Anwendung sind).
Filter auf Faltungsbasis ergeben ein "Kantenintensitäts" -Bild. Dies ist nützlich, wenn das Kantengewicht oder die Kantenfestigkeit wichtig sind (z. B. bei gewichteten Hough-Transformationen).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.