Was sind die gängigsten Algorithmen für das adaptive Thresholding?


38

Das adaptive Schwellenwertverhalten wurde bereits in einigen Fragen erörtert:

Adaptives Thresholding zur Lebersegmentierung mit Matlab

Was sind die besten Algorithmen für das Dokument-Image-Thresholding in diesem Beispiel?

Natürlich gibt es viele Algorithmen für das adaptive Thresholding. Ich möchte wissen, welche Sie am effektivsten und nützlichsten gefunden haben.

Welche adaptiven Algorithmen haben Sie am häufigsten verwendet und für welche Anwendung? Wie kommst du dazu, diesen Algorithmus zu wählen?

Antworten:


24

Ich glaube nicht, dass meine Antwort vollständig sein wird, aber ich werde anbieten, was ich weiß, und da dies eine von der Community bearbeitete Website ist, hoffe ich, dass jemand bald eine kostenlose Antwort geben wird :)

Adaptive Schwellenwertmethoden verwenden nicht im gesamten Bild den gleichen Schwellenwert .

Für einige einfachere Verwendungen reicht es jedoch manchmal aus, einen Schwellenwert mit einer Methode auszuwählen, die intelligenter ist als die einfachste iterative Methode . Otsus Methode ist eine beliebte Schwellenwertmethode, bei der davon ausgegangen wird, dass das Bild zwei Klassen von Pixeln enthält - Vordergrund und Hintergrund und ein bimodales Histogramm aufweist . Anschließend wird versucht, ihre kombinierte Streuung (klasseninterne Varianz) zu minimieren.

Die einfachsten Algorithmen, die als wirklich adaptive Schwellenwertmethoden angesehen werden können, sind diejenigen, die das Bild in ein Gitter von Zellen aufteilen und dann auf jede Zelle eine einfache Schwellenwertmethode (z. B. iterative oder Otsu-Methode) anwenden, die sie als separates Bild behandelt (und voraussetzt) ein bimodales Histogramm). Wenn ein Teilbild nicht gut mit einer Schwelle versehen werden kann, kann die Schwelle von einer der benachbarten Zellen verwendet werden.

Ein alternativer Ansatz zum Finden der lokalen Schwelle besteht darin , die Intensitätswerte der lokalen Nachbarschaft jedes Pixels statistisch zu untersuchen . Der Schwellenwert ist für jedes Pixel unterschiedlich und wird aus der lokalen Umgebung berechnet (ein Median, ein Durchschnitt und andere Auswahlmöglichkeiten sind möglich). Es gibt eine Implementierung dieser Art von Methoden, die in der OpenCV-Bibliothek in der cv::adaptiveThresholdingFunktion enthalten sind.

Ich fand eine andere ähnliche Methode namens Bradley Local Thresholding . Außerdem wird die Nachbarschaft jedes Pixels untersucht, wobei die Helligkeit auf Schwarz gesetzt wird, wenn die Pixelhelligkeit um t Prozent unter der durchschnittlichen Helligkeit der umgebenden Pixel liegt. Das entsprechende Papier finden Sie hier .

Diese Stackoverflow-Antwort erwähnt eine lokale (adaptive) Schwellenwertmethode namens Niblack , von der ich bisher noch nichts gehört habe.

Schließlich gibt es noch eine Methode, die ich in einem meiner früheren kleineren Projekte verwendet habe: Image Thresholding by Variational Minimax Optimization . Es ist eine iterative Methode, die auf der Optimierung einer Energiefunktion basiert, die eine nichtlineare Kombination zweier Komponenten ist. Eine Komponente zielt darauf ab, die Schwelle basierend auf der Position der stärksten Intensitätsänderungen im Bild zu berechnen. Die andere Komponente zielt darauf ab, die Schwelle an den (Objekt-) Grenzbereichen zu glätten. Es hat sich auf Bildern von analogen Instrumenten als ziemlich gut erwiesen (verschiedene Schattierungen und Reflexionen von Glas / Kunststoff vorhanden), erforderte jedoch eine sorgfältige Auswahl der Anzahl der Iterationen.

Späte Bearbeitung : Inspiriert durch den Kommentar zu dieser Antwort . Ich kenne noch eine Möglichkeit, um ungleichmäßige Lichtverhältnisse zu umgehen. Ich werde hier über helle Objekte auf dunklem Hintergrund schreiben, aber die gleiche Argumentation kann angewendet werden, wenn die Situation umgekehrt ist. Schwellenwert Die weiße Top-Hat-Transformation des Bildes mit einem konstanten Schwellenwert anstelle des Originalbildes . Ein weißer Zylinder eines Bildes ist nichts anderes als ein Unterschied zwischen dem Bild und seiner Öffnung . Lassen Sie mich als weitere Erklärung ein Zitat von P. Soille anbieten: Morphologische Bildanalyse :γ ( f )fγ(f)

Durch Öffnen des Originalbildes mit einem großen Quadrat SE werden alle relevanten Bildstrukturen entfernt, die Beleuchtungsfunktion bleibt jedoch erhalten. Der weiße Zylinder des Originalbildes oder die Subtraktion der Beleuchtungsfunktion vom Originalbild gibt ein Bild mit einer homogenen Beleuchtung aus.


14

Hier finden Sie eine Abhandlung mit einem Vergleich verschiedener Schwellenwertmethoden:

  • M. Sezgin, B. Sankur - Umfrage über Bildschwellwerttechniken und quantitative Leistungsbewertung, Journal of Electronic Imaging, 2004 - pdf

Hier ist ein weiteres Dokument, in dem die Binärisierungsmethoden bewertet werden:

  • P. Stathis, E. Kavallieratou und N. Papamarkos - Eine Bewertungstechnik für Binarisierungsalgorithmen, Journal of Universal Computer Science, 2008, - pdf

Die adaptive Binärisierungsmethode, die ich in meinem letzten Projekt verwendet habe, verwendet integrale Bilder zur schnellen Berechnung der Schwellenwertfunktion, die von der Sauvola-Methode verwendet wird. Die Sauvola-Methode ist beschrieben in:

  • J. Sauvola und M. Pietikainen, Adaptive Document Image Binarization, Pattern Recognition 33, 2000. - pdf

Die Modifikation, bei der integrierte Bilder verwendet werden, um eine 20-fache Geschwindigkeit zu erzielen (gemäß dem Papier), wird in diesem Papier beschrieben:

  • F. Shafait, D. Keysers und TM Breuel, Effiziente Implementierung lokaler adaptiver Schwellenwerttechniken unter Verwendung integraler Bilder, Dokumentenerkennung und -abruf XV, 2008 - pdf

Dies sind nur die Papiere, die ich bei der Auswahl der Binarisierungsmethode für mein Projekt verwendet habe (um Text in Bildern zu finden). Ich bin kein Experte, daher kann ich nicht sagen, welche Methode für welche Anwendung die beste ist.


6

Diese Frage wurde aus verschiedenen Perspektiven sehr gut beantwortet, und ich möchte nur meine Erfahrungen zusammenfassen und einige Probleme im Zusammenhang mit der adaptiven Binärisierung hervorheben.

Die adaptive Binarisierung kann in drei Kategorien unterteilt werden:

1) Globale Methode: Bei dieser Methode wird zunächst der Hintergrund des Bildes geschätzt; Danach wird mit Hilfe der Hintergrundinformationen ein normalisiertes Bild erzeugt. Dann wird das globale Binärisierungsverfahren angewendet.

2) Patch-basierte Methode: Wie der Name schon sagt, führt die Patch-basierte Methode die Binarisierung Patch für Patch durch. Bei jedem Patch wird eine Binarisierung mit einer globalen Binarisierungsmethode geschätzt. Danach wird eine Nachbearbeitung durchgeführt, um sicherzustellen, dass die Binärisierungsschwelle in benachbarten Patches einen reibungslosen Übergang aufweist.

3) Moving-Window-Methode: Bei dieser Methode erfolgt die Binarisierung pixelweise. Ein sich bewegendes Fenster wird eingerichtet, um die Pixelstatistik innerhalb des Fensters zu berechnen, und basierend auf der Statistik wird der Schwellenwert für das zentrale Pixel innerhalb des Fensters berechnet.

Es ist sehr schwer zu sagen, welche Methode die beste ist, da sie von der Anwendung abhängt. Vergessen Sie nicht, die folgenden Fragen zu berücksichtigen, wenn Sie an eine adaptive Binärisierung denken:

1) Parametereinstellung: Verfügt die Methode über eine automatische Parametereinstellung? Wie können wir die Parameter sehr gut einstellen, damit es in den meisten Fällen funktioniert?

2) Was ist das Kriterium, um eine gute adaptive Binarisierung zu rechtfertigen? In vielen Fällen ist der Unterschied zwischen verschiedenen Digitalisierungsmethoden sehr gering. Der kleine Unterschied kann jedoch letztendlich zu einem großen Unterschied führen.

3) Kann die Binarisierung in bestimmten Situationen funktionieren? Angenommen, das Ziel der adaptiven Binarisierung ist das Extrahieren von Objekten auf schwarzem Hintergrund. Kann sich die Binarisierung automatisch an diese Situation anpassen? Oder umgekehrt.

4) Adaptive Methoden tendieren dazu, sich nur auf die lokalen Konfigurationen zu konzentrieren, daher wird das binäre Ergebnis nicht optimiert. Beispielsweise erzeugt die berühmte Sauvola-Methode ein hohles Objekt, wenn das zu optimierende Objekt viel größer als das sich bewegende Fenster ist. Kann Ihre adaptive Methode diese Einschränkung aufheben?

5) Vorverarbeitung. Zu einer guten Binarisierung gehört auch ein Insider der Bildverarbeitung. Wenn das Bild zu unscharf ist, kann es die Parameter des Algorithmus automatisch anpassen oder eine Vorverarbeitung aufrufen, um eine schlechte Binarisierung zu vermeiden.

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.