Kantendetektion

Methode der Bildverarbeitung

Die Kantendetektion oder Kantenextraktion ist Teil einer Segmentierung von Elementen in der Bildverarbeitung. Sie versucht, flächige Bereiche in einem digitalen Bild voneinander zu trennen, wenn sie sich entlang gerader oder gekrümmter Linien ausreichend in Farb- oder Grauwert, Helligkeit oder Textur unterscheiden. Spezielle Kantenoperatoren sollen die Übergänge zwischen diesen Bereichen erkennen und als Kanten markieren. Zugleich soll aber ein einzelner, homogener Bereich als solcher erkannt werden und von einem guten Kantendetektor nicht durch eine Kante in zwei Flächen geteilt werden.

Kantenfindung
Camera obscura.jpg
Originalbild
Camera obscura-Sobel-Kombination.jpg
Mithilfe eines Sobel-Operators erstelltes Kantenbild


Eine Hauptschwierigkeit der Kantendetektion, insbesondere bei dreidimensionalen Objekten, ist die Unterscheidung von Reflexionskanten, die auf Eigenschaften des Objektes beruhen, und Beleuchtungskanten, die auf Eigenschaften der Beleuchtung beruhen (z. B. Schatten, Lichtkegel).

Die Kantendetektion wird u. a. im Computer Vision, in der Photogrammetrie und der Kartografie eingesetzt, um z. B. aus Luftbildern genaue Objekt- oder Geländekanten zu detektieren.

FunktionsweiseBearbeiten

Ein Kantendetektor berechnet in der Regel den Farbwertgradienten an jedem einzelnen Pixel eines Bildes durch Untersuchung eines den Punkt umgebenden Bereiches. Dieser Vorgang erfolgt durch diskrete Faltung des Bildes mit einer Faltungsmatrix, dem Kantenoperator. Letzterer definiert dabei die Größe des zu untersuchenden Umfeldes und mit welcher Gewichtung dessen einzelne Pixel in die Berechnung eingehen. Der Kantenoperator ermittelt für das zentrale Pixel aus der Umgebung quasi einen mittleren Wert für den Gradienten. Führt man diese Operation für alle Pixel im Bild durch, so kann man aus der resultierenden Matrix der Gradienten ein neues Bild zusammensetzen, das Kantenbild genannt wird. Auf ihm heben sich die Kanten zwischen homogenen Bereichen ab, da an diesen Stellen ein vergleichsweise großer Gradient der Farbwerte vorliegt.

Wendet man den Kantenoperator auf das Ergebnisbild an, so kann man quasi die zweite Ableitung bilden, d. h. es werden die Änderungen des Helligkeits-Gradienten sichtbar. Die Kanten treten in der zweiten Ableitung meist am deutlichsten hervor. Feine Kanten können hierbei jedoch untergehen und bleiben unentdeckt.

Der größte Unterschied verschiedener Kantendetektoren besteht im Allgemeinen im verwendeten Kantenoperator.

Für eine korrekte Kantendetektion sind in der Regel vier Schritte notwendig:

  1. Glätten: Unterdrücke so viel Rauschen wie möglich, ohne die echten Kanten zu zerstören.
  2. Verbesserung: Wende einen Filter an, um die Qualität der Bildränder zu verbessern.
  3. Erkennung: Bestimme, welche Pixel als Rauschen verworfen werden sollen und welche beibehalten werden sollte. Normalerweise liefert die Schwellenwertbildung das Kriterium, das für die Erkennung verwendet wird.
  4. Lokalisierung: Bestimme die genaue Position einer Kante. Für einige Anwendungen kann es erforderlich sein, die Position einer Kante genauer als den Abstand zwischen den Pixeln zu bestimmen. Kantenverdünnung und Verknüpfung sind in der Regel in diesem Schritt erforderlich.[1]

BerechnungenBearbeiten

Kantendetektion mit AbleitungenBearbeiten

Ein digitales Bild ist eine zweidimensionale Funktion. Daher werden Operatoren, die Kanten beschreiben, mit partiellen Ableitungen ausgedrückt. Punkte, die an einer Kante liegen, können erkannt werden durch:

  • Erfassen lokaler Maxima oder Minima der ersten Ableitung
  • Erfassen der Nullstellen der zweiten Ableitung

Weil ein digitales Bild keine kontinuierliche Funktion ist, sondern eine diskrete Funktion von neben einander liegenden Pixeln, kann man die partiellen Ableitungen nicht direkt bilden. Stattdessen muss man, um die Ableitungen von Farbwerten zu berechnen, sie mit endlichen Differenzen annähern:

1. Ableitung

 

2. Ableitung

 

Das kann man auf zwei Dimensionen verallgemeinern:[1]

 
 

OperatorenBearbeiten

Die bekanntesten Kantenoperatoren (auch Kantenfilter) sind:

Menschliches AugeBearbeiten

Für den Menschen ist Kantendetektion eine wesentliche Voraussetzung zur visuellen Objekterkennung. Sein Sehapparat leistet diese Aufgabe hauptsächlich mit der lateralen Hemmung. Dadurch werden sogar feinste Linienstrukturen aus größerer Distanz erkennbar, etwa dünne Drähte oder ferne Wegverläufe. Allerdings sind auch optische Täuschungen möglich, etwa teilweise bei den sog. Marskanälen oder den Machschen Streifen.

EinzelnachweiseBearbeiten

  1. a b University of Nevada, Reno: Edge detection