Die Schwellenwertverfahren sind eine Gruppe von Algorithmen zur Segmentierung digitaler Bilder. Segmentierung allgemein kann ein wichtiger Schritt zur Bildanalyse sein, beispielsweise um Objekte im Bild zu erkennen. Mit Hilfe von Schwellenwertverfahren kann man in einfachen Situationen entscheiden, welche Bildpunkte gesuchte Objekte darstellen und welche deren Umgebung angehören. Schwellenwertverfahren führen zu Binärbildern.
Einführung Motivation für die Verwendung von Binärbildern ist meist die Verfügbarkeit schneller Binärbild-Algorithmen, beispielsweise zur Blobanalyse; die Speicherplatzersparnis spielt in Bildverarbeitungsanwendungen heute eine geringere Rolle.
Wie bei allen Segmentierungsverfahren werden auch bei den Schwellenwertverfahren Bildpunkte – die so genannten Pixel – verschiedenen Gruppen – den so genannten Segmenten – zugeordnet. Das zu segmentierende Bild liegt dabei in Form von Zahlenwerten (ein oder mehrere Farbwerte pro Pixel) vor. Die Zugehörigkeit eines Pixels zu einem Segment wird durch den Vergleich des Grauwertes oder eines anderen eindimensionalen Merkmals mit einem Schwellenwert entschieden. Der Grauwert eines Pixels ist sein reiner Helligkeitswert, weitere Farbinformationen werden nicht berücksichtigt. Da diese Operation meistens für jedes Pixel unabhängig angewendet wird, ist das Schwellenwertverfahren ein so genanntes pixelorientiertes Segmentierungsverfahren.
Schwellenwertverfahren gehören zu den ältesten Methoden in der digitalen Bildverarbeitung. Das bekannte, im gleichnamigen Abschnitt beschriebene Verfahren von Otsu wurde im Jahr 1979 von Nobuyuki Otsu publiziert. Es gibt jedoch noch ältere Publikationen zu diesem Thema. Schwellenwertverfahren lassen sich aufgrund ihrer Einfachheit schnell implementieren und Segmentierungsergebnisse können mit geringem Aufwand berechnet werden. Die Qualität der Segmentierung ist im Allgemeinen jedoch schlechter als bei komplexeren Verfahren.
Einordnung Eine Bildsegmentierung ist im Prozess des Maschinellen Sehens üblicherweise der erste Schritt der Bildanalyse und erfolgt nach der Bildvorverarbeitung. Der typische Ablauf in einem Bildverarbeitungssystem stellt sich folgendermaßen dar:
Szene → Bildaufnahme → Bildvorverarbeitung → Segmentierung (beispielsweise Schwellenwertverfahren) → Merkmalsextraktion → Klassifizierung → Aussage
Szene Die Szene stellt dabei ein oder mehrere reale, beobachtete Objekte dar.
Bildaufnahme Mit geeigneten Sensoren wird ein Bild der Szene erzeugt, üblicherweise eine Fotografie oder eine Videoaufzeichnung. Im Prinzip kann aber jedes bildgebende Verfahren als Bildquelle dienen, so dass beispielsweise auch Radarabtastungen oder Röntgenaufnahmen in Frage kommen. Sollte das Bild nicht in digitaler Form vorliegen, so muss es zum Beispiel durch Scannen zuvor digitalisiert werden, um es im Rechner weiterverarbeiten zu können.
Bildvorverarbeitung Bei der Bildvorverarbeitung wird das Bild dahingehend verbessert, dass die folgenden Schritte effektiver durchgeführt werden können.
Eigenschaften, die dabei verbessert werden könnten, wären: Helligkeit, Kontrast und Schärfe der Kanten. Fehler könnten sein: Kratzer, die z. B. mittels Gauß-Filter entfernt werden könnten.
Welche Vorverarbeitungsoperationen günstig sind, hängt von den konkreten Verfahren in den folgenden Schritten ab. Schwellenwertverfahren sind im Allgemeinen anfällig für Helligkeitsänderungen im Bild, ein Helligkeitsausgleich kann daher von Vorteil sein.
Segmentierung Im Segmentierungsschritt werden die Pixel des Bildes zu Gruppen (Segmenten) zusammengefasst, wofür beispielsweise ein Schwellenwertverfahren zum Einsatz kommt.
Merkmalsextraktion Bei der darauf folgenden Merkmalsextraktion werden für jedes Segment bestimmte Eigenschaften – die so genannten Merkmale – bestimmt. Welche Merkmale das sind, hängt sehr stark vom Einzelfall ab. Als Beispiele seien die Fläche, die Exzentrizität der Form oder der mittlere Farbwert genannt.
Klassifizierung Mithilfe der Merkmale und einem vorher bestimmten Regelwerk oder einem bereits zuvor trainierten Klassifikator kann nun bei der Klassifikation jedes Segment in eine von mehreren Klassen eingeordnet werden.
Aussage Durch eine Interpretation dieses Ergebnisses kann abschließend eine Aussage getroffen werden, zum Beispiel in der Texterkennung „Bei dem abgebildeten Objekt handelt es sich um den Buchstaben ‚f‘ und keinen anderen“.
Eigenschaften Üblicherweise binarisieren die Schwellenwertverfahren ein Ausgangsbild, das heißt, es werden genau zwei Segmente gebildet – im wohl häufigsten Anwendungsfall für diese Verfahren idealerweise der Hintergrund und die gesuchten Objekte. Die Zuordnung zu den beiden Segmenten (0 und 1) erfolgt aufgrund eines Vergleiches des Grauwerts g des betrachteten Pixels mit dem zuvor festgelegten Schwellenwert t (englisch threshold bedeutet „Schwellenwert“). Das Ergebnisbild lässt sich also mit sehr geringem Rechenaufwand berechnen, da pro Pixel nur eine einfache Vergleichsoperation durchgeführt werden muss. Die zugehörige Berechnungsvorschrift der Abbildung lautet:
Die Schwellenwertverfahren sind so genannte vollständige Segmentierungsverfahren, das heißt jedes Pixel wird zwingend einem Segment zugeordnet. Ebenso sind sie überdeckungsfrei, es wird also kein Pixel mehreren Segmenten zugeordnet. Im Gegensatz zu vielen anderen Segmentierungsverfahren bilden die Schwellenwertverfahren keine zusammenhängenden Segmente. Es ist durchaus vorstellbar und oft auch gewollt, dass mehrere räumlich getrennte Objekte im Bild, die einen ähnlichen Helligkeitswert aufweisen, zu einem Segment zusammengefasst werden. In der Praxis kommt es auch regelmäßig zu Falschsegmentierungen einzelner Pixel inmitten von Objekten, was beispielsweise auf Bildrauschen im Ausgangsbild zurückzuführen ist. Die Größe der segmentierten Objekte kann je nach Wahl des Schwellenwertes stark schwanken.
Varianten Unabhängig von der Wahl des Schwellenwertes (wie im gleichnamigen Abschnitt weiter unten beschrieben) kann das grundlegende Prinzip der Schwellenwertverfahren auf verschiedene Arten angewendet werden.
Beim globalen Schwellenwertverfahren wird ein Schwellenwert global für das gesamte Bild gewählt. Die zugehörige Berechnungsvorschrift wurde bereits im Abschnitt Eigenschaften weiter oben angegeben. Das Verfahren ist am einfachsten zu berechnen, aber auch sehr anfällig für Helligkeitsveränderungen im Bild.
Schwellenwertverfahren mit globaler Schwelle werden deshalb in Industrieanwendungen nur bei kontrastreichen Bildern erfolgreich eingesetzt. Solche Bilder entstehen beispielsweise beim Abtasten von Schriftvorlagen oder bei Bildaufnahmen im Durchlicht.
Durch die Festlegung mehrerer Schwellenwerte lässt sich das globale Verfahren so variieren, dass die Segmentierung mehr als zwei Segmente liefert. Für n Segmente werden dabei (n-1) Schwellenwerte ti benötigt:
Beim lokalen Schwellenwertverfahren wird das Ausgangsbild in Regionen eingeteilt und der Schwellenwert für jede Region getrennt festgelegt. Das bedeutet, dass in jeder Bildregion Ri ein passender Schwellenwert ti gewählt werden kann, ohne dass dies die Qualität der Segmentierung in anderen Regionen beeinflusst. Die Berechnungsvorschrift für jedes Pixel (x,y) lautet:
Gegenüber dem globalen Schwellenwertverfahren steigt die Komplexität nur unwesentlich, das lokale Verfahren lässt sich daher ebenfalls mit geringem Rechenaufwand berechnen. Die Anfälligkeit gegenüber Helligkeitsveränderungen sinkt, allerdings kann es an den Grenzen der Regionen zu Versatz kommen. Abhängig von der Anzahl der Regionen kann der Aufwand schon zu hoch sein, durch einen Menschen für jede Region den passenden Schwellenwert zu wählen. Ein automatisches Verfahren zur Wahl des Schwellenwertes ist daher ratsam.
Als Weiterentwicklung des lokalen Verfahrens lässt sich das dynamische Schwellenwertverfahren ansehen, das für jedes Pixel eine Nachbarschaft N betrachtet und auf Basis dieser Nachbarschaft einen passenden Schwellenwert t(N) berechnet. Hierbei ist ein automatisches Verfahren zur Wahl des Schwellenwertes zwingend notwendig. Die entsprechende Berechnungsvorschrift für jedes Pixel (x,y) lautet:
Die dynamische Variante ist recht stabil gegenüber lokalen Helligkeitsänderungen. Der Rechenaufwand steigt hier aber erheblich, da für jeden Bildpunkt ein neuer Schwellenwert berechnet wird.
Beispiel
Das Beispielbild ist ein verrauschtes Graustufenbild mit unscharfen Kanten, wie auf der linken Seite zu sehen. Unscharfe Kanten bedeutet hier, dass die Kanten nicht klar sind, sondern einen Übergang vom weißen Hintergrund zum schwarzen Objekt durchlaufen und dabei die Pixel im Randbereich verschiedene Grautöne annehmen.
Bei der Wahl des zum Bild passenden Schwellenwertes hilft das zugehörige Histogramm (auf der rechten Seite). In einem Histogramm wird die Häufigkeit jedes einzelnen Grauwertes durch eine entsprechend hohe Linie angegeben. Als Legende ist daher an der horizontalen Koordinatenachse ein Balken mit den verschiedenen Grauwerten abgebildet, darüber ist dann jeweils durch die Höhe der Linie die relative Häufigkeit des Vorkommens des jeweiligen Grauwertes angegeben.
Im Histogramm sind deutlich zwei Maxima zu erkennen: Das dunkle Objekt (linkes Maximum) und der helle Hintergrund (rechtes Maximum). Auch jeder Grauwert zwischen den beiden Maxima kommt offensichtlich im Bild vor, was durch das Rauschen im Bild und die weichen Objektränder verursacht wird, wo die Pixel schrittweise die verschiedenen Graustufen von Weiß bis Schwarz annehmen.
Das Ausgangsbild wurde mit dem globalen Schwellenwertverfahren segmentiert, zur Demonstration des Verfahrens wurde das Ergebnisbild für vier verschiedene Schwellenwerte berechnet. In den resultierenden Binärbildern mit je zwei Segmentgruppen wurde jedes Pixel entsprechend seiner Zuordnung zum Objekt oder zum Hintergrund schwarz (0) oder weiß (1) eingefärbt. Genauer: Alle Pixel mit Grauwerten kleiner als der Schwellenwert wurden schwarz eingefärbt, alle Pixel mit Grauwerten größer oder gleich dem Schwellenwert dementsprechend weiß.
Bei seiner Segmentierung mit dem Schwellenwert 30 werden mehrere dem Objekt zugehörigen Pixel weiß eingefärbt, also zum Hintergrund segmentiert. Der Schwellenwert wurde also zu niedrig gewählt.
Mit den beiden Schwellenwerten 52 und 204 ergeben sich recht ordentliche Ergebnisse. Dies gilt auch für alle Schwellenwerte zwischen diesen beiden Werten. Der Unterschied ist darin erkennbar, dass das Objekt mit zunehmendem Schwellenwert leicht größer wird. Die Wahl des Schwellenwertes hat also nicht nur Einfluss auf die Qualität der Segmentierung an sich, sondern auch auf die Größen der segmentierten Flächen. Grund für das Wachstum der Fläche sind die Pixel im Randbereich, die die Grauwerte von weiß nach schwarz schrittweise abdecken.
Der Schwellenwert 230 segmentiert auch einige Hintergrundpixel als zum Objekt zugehörig. Das ist ein Anzeichen dafür, dass er zu groß gewählt wurde.
Wahl des Schwellenwertes Der springende Punkt bei allen Schwellenwertverfahren ist die Wahl eines geeigneten Schwellenwertes. Dieser kann durch einen menschlichen Bearbeiter sinnvoll gewählt werden. Da beim lokalen und dynamischen Schwellenwertverfahren aber eine größere Anzahl an Schwellenwerten benötigt wird, bietet es sich an, ein automatisches Verfahren zur Bestimmung der Schwellenwerte einzusetzen. Natürlich kann auch der Schwellenwert beim globalen Schwellenwertverfahren automatisch bestimmt werden. Es gibt eine große Anzahl an konkreten Verfahren zur Wahl eines geeigneten Schwellenwertes. (englisch; PDF; 3,0 MB)