Histogramm-Entzerrung - Histogram equalization

Histogrammausgleich ist ein Verfahren in der Bildverarbeitung von Kontrasteinstellung unter Verwendung des Bildes ‚s Histogramm .

Ein Histogramm, das abgesehen von einem zentralen Bereich mit starken Peaks null ist, wird transformiert, indem der Bereich mit Peaks gedehnt wird, um die gesamte x-Achse auszufüllen.
Histogramme eines Bildes vor und nach der Entzerrung.

Überblick

Dieses Verfahren erhöht normalerweise den globalen Kontrast vieler Bilder, insbesondere wenn das Bild durch einen engen Bereich von Intensitätswerten dargestellt wird. Durch diese Anpassung können die Intensitäten besser auf dem Histogramm verteilt werden, wobei der gesamte Intensitätsbereich gleichmäßig ausgenutzt wird. Dadurch können Bereiche mit geringerem lokalen Kontrast einen höheren Kontrast erhalten. Die Histogramm-Entzerrung erreicht dies durch effektives Verteilen der stark besetzten Intensitätswerte, die verwendet werden, um den Bildkontrast zu verschlechtern.

Die Methode ist bei Bildern mit Hintergrund und Vordergrund nützlich, die beide hell oder beide dunkel sind. Insbesondere kann das Verfahren zu besseren Ansichten der Knochenstruktur in Röntgenbildern und zu besseren Details in Fotografien führen , die entweder über- oder unterbelichtet sind. Ein Hauptvorteil des Verfahrens besteht darin, dass es sich um eine ziemlich unkomplizierte Technik handelt, die sich an das Eingabebild und einen invertierbaren Operator anpasst . Also in der Theorie, wenn die Histogrammausgleich Funktion bekannt ist, dann wird das ursprüngliche Histogramm kann wiederhergestellt werden. Die Berechnung ist nicht rechenintensiv. Ein Nachteil des Verfahrens besteht darin, dass es unterschiedslos ist. Es kann den Kontrast der Hintergrund erhöhen Lärm , während die nutzbare abnehm Signal .

Bei der wissenschaftlichen Bildgebung, bei der die räumliche Korrelation wichtiger ist als die Signalintensität (z. B. beim Trennen von DNA- Fragmenten quantisierter Länge), behindert das kleine Signal-Rausch-Verhältnis normalerweise die visuelle Erkennung.

Die Histogramm-Entzerrung erzeugt in Fotografien oft unrealistische Effekte; Es ist jedoch sehr nützlich für wissenschaftliche Bilder wie Wärme- , Satelliten- oder Röntgenbilder , oft dieselbe Klasse von Bildern, auf die man Falschfarben anwenden würde . Auch die Histogramm-Entzerrung kann unerwünschte Effekte (wie sichtbare Bildverläufe ) erzeugen, wenn sie auf Bilder mit geringer Farbtiefe angewendet wird . Wenn es beispielsweise auf ein 8-Bit-Bild angewendet wird, das mit einer 8-Bit-Graustufenpalette angezeigt wird, wird die Farbtiefe (Anzahl der eindeutigen Graustufen) des Bilds weiter reduziert . Die Histogramm-Entzerrung funktioniert am besten, wenn sie auf Bilder mit einer viel höheren Farbtiefe als der Palettengröße angewendet wird , wie beispielsweise kontinuierliche Daten oder 16-Bit-Graustufenbilder.

Es gibt zwei Möglichkeiten, über die Histogramm-Entzerrung nachzudenken und sie zu implementieren, entweder als Bildwechsel oder als Palettenwechsel . Die Operation kann als P(M(I)) ausgedrückt werden, wobei I das Originalbild ist, M die Histogramm-Entzerrungsabbildungsoperation ist und P eine Palette ist. Wenn wir eine neue Palette als P'=P(M) definieren und das Bild I unverändert lassen, wird die Histogrammentzerrung als Palettenwechsel oder Mapping-Änderung implementiert . Wenn andererseits die Palette P unverändert bleibt und das Bild auf I' = M(I) modifiziert wird, wird die Implementierung durch eine Bildänderung erreicht. In den meisten Fällen ist eine Palettenänderung besser, da die Originaldaten erhalten bleiben.

Modifikationen dieses Verfahrens verwenden mehrere Histogramme, Subhistogramme genannt, um den lokalen Kontrast zu betonen, anstatt den globalen Gesamtkontrast. Beispiele solcher Verfahren umfassen adaptive Histogramm-Entzerrung , kontrastbegrenzende adaptive Histogramm-Entzerrung oder CLAHE , Multipeak-Histogramm-Entzerrung (MPHE) und betaoptimierte Mehrzweck-Bihistogramm-Entzerrung (MBOBHE). Das Ziel dieser Verfahren, insbesondere von MBOBHE, ist es, den Kontrast zu verbessern, ohne Helligkeits-Mean-Shift- und Detailverlust-Artefakte zu erzeugen, indem der HE-Algorithmus modifiziert wird.

Eine der Histogrammentzerrung äquivalente Signaltransformation scheint auch in biologischen neuronalen Netzen zu erfolgen, um die Ausgangsfeuerungsrate des Neurons als Funktion der Eingangsstatistik zu maximieren. Dies wurde insbesondere in der bewährten Fliegennetzhaut .

Die Histogramm-Entzerrung ist ein spezieller Fall der allgemeineren Klasse von Histogramm-Neuabbildungsverfahren. Diese Methoden zielen darauf ab, das Bild anzupassen, um die Analyse zu erleichtern oder die visuelle Qualität zu verbessern (z. B. Retinex ).

Rückprojektion

Die Rückprojektion (oder "Projektion") eines Histogrammbildes ist die erneute Anwendung des modifizierten Histogramms auf das Originalbild, die als Nachschlagetabelle für Pixelhelligkeitswerte dient.

Für jede Gruppe von Pixeln, die aus allen eingegebenen Einzelkanalbildern aus derselben Position entnommen wurden, setzt die Funktion den Histogramm-Bin-Wert in das Zielbild, wobei die Koordinaten der Bin durch die Werte der Pixel in dieser Eingabegruppe bestimmt werden. Statistisch charakterisiert der Wert jedes Ausgabebildpixels die Wahrscheinlichkeit, dass die entsprechende Eingabepixelgruppe zu dem Objekt gehört, dessen Histogramm verwendet wird.

Implementierung

Betrachten Sie ein diskretes Graustufenbild { x } und seien Sie n i die Anzahl des Auftretens der Graustufe i . Die Wahrscheinlichkeit des Auftretens eines Pixels der Stufe i im Bild ist

die Gesamtzahl der Graustufen im Bild (typischerweise 256) ist, n die Gesamtzahl der Pixel im Bild ist und tatsächlich das Histogramm des Bildes für den Pixelwert i ist, normalisiert auf [0,1].

Definieren wir auch die kumulative Verteilungsfunktion entsprechend i als

,

Dies ist auch das akkumulierte normalisierte Histogramm des Bildes.

Wir möchten eine Transformation des Formulars erstellen, um ein neues Bild { } mit einem flachen Histogramm zu erzeugen . Ein solches Bild hätte eine linearisierte Summenverteilungsfunktion (CDF) über den Wertebereich, also

zum

für einige Konstanten . Die Eigenschaften der CDF ermöglichen es uns, eine solche Transformation durchzuführen (siehe Inverse Verteilungsfunktion ); es ist definiert als

wo liegt im bereich . Beachten Sie, dass die Pegel dem Bereich [0,1] zugeordnet werden, da wir ein normalisiertes Histogramm von { } verwendet haben. Um die Werte wieder in ihren ursprünglichen Bereich abzubilden, muss die folgende einfache Transformation auf das Ergebnis angewendet werden:

.

Eine genauere Herleitung erfolgt hier .

ist ein reeller Wert, während er eine ganze Zahl sein muss. Eine intuitive und beliebte Methode ist die Rundoperation:

.

Eine detaillierte Analyse führt jedoch zu einer etwas anderen Formulierung. Der zugeordnete Wert sollte 0 für den Bereich von sein . Und für , für , .... und schließlich für . Dann sollte die Quantisierungsformel von bis lauten

.

(Hinweis: Wenn , geschieht dies jedoch nicht nur, weil es bedeutet, dass diesem Wert kein Pixel entspricht.)

Von Farbbildern

Das Obige beschreibt die Histogramm-Entzerrung auf einem Graustufenbild. Es kann jedoch auch auf Farbbilder verwendet werden, indem das gleiche Verfahren separat auf die Rot-, Grün- und Blaukomponenten der RGB- Farbwerte des Bildes angewendet wird. Das Anwenden derselben Methode auf die Rot-, Grün- und Blaukomponenten eines RGB-Bildes kann jedoch zu dramatischen Änderungen der Farbbalance des Bildes führen, da sich die relativen Verteilungen der Farbkanäle als Ergebnis der Anwendung des Algorithmus ändern. Wenn das Bild jedoch zuerst in einen anderen Farbraum, insbesondere Lab-Farbraum oder HSL/HSV-Farbraum konvertiert wird, kann der Algorithmus auf den Luminanz- oder Wertkanal angewendet werden, ohne dass sich der Farbton und die Sättigung des Bildes ändern . Es gibt mehrere Histogramm-Entzerrungsmethoden im 3D-Raum. Trahanias und Venetsanopoulos wendeten die Histogramm-Entzerrung im 3D-Farbraum an. Dies führt jedoch zu einer "Aufhellung", bei der die Wahrscheinlichkeit von hellen Pixeln höher ist als die von dunklen. Hanet al. vorgeschlagen, einen neuen cdf zu verwenden, der durch die Isoluminanzebene definiert wird, was zu einer gleichmäßigen Grauverteilung führt.

Beispiele

Aus Gründen der Übereinstimmung mit der statistischen Verwendung sollte "CDF" (dh kumulative Verteilungsfunktion) durch "kumulatives Histogramm" ersetzt werden, insbesondere da der Artikel auf die kumulative Verteilungsfunktion verweist, die abgeleitet wird, indem die Werte im kumulativen Histogramm durch die Gesamtanzahl der Pixel geteilt werden. Die entzerrte CDF ist in Bezug auf den Rang als definiert .

Kleines Bild

Das 8×8-Unterbild wird in 8-Bit-Graustufen angezeigt

Das gezeigte 8-Bit-Graustufenbild hat die folgenden Werte:

52 55 61 59 79 61 76 61
62 59 55 104 94 85 59 71
63 65 66 113 144 104 63 72
64 70 70 126 154 109 71 69
67 73 68 106 122 88 68 68
68 79 60 70 77 66 58 75
69 85 64 58 55 61 65 83
70 87 69 68 65 73 78 90


Das Histogramm für dieses Bild ist in der folgenden Tabelle dargestellt. Pixelwerte mit einer Zählung von Null werden der Kürze halber ausgeschlossen.

Wert Zählen Wert Zählen Wert Zählen Wert Zählen Wert Zählen
52 1 64 2 72 1 85 2 113 1
55 3 65 3 73 2 87 1 122 1
58 2 66 2 75 1 88 1 126 1
59 3 67 1 76 1 90 1 144 1
60 1 68 5 77 1 94 1 154 1
61 4 69 3 78 1 104 2
62 1 70 4 79 2 106 1
63 2 71 2 83 1 109 1

Die kumulative Verteilungsfunktion (cdf) ist unten dargestellt. Auch hier werden Pixelwerte, die nicht zu einer Erhöhung des cdf beitragen, der Kürze halber ausgeschlossen.

v, Pixelintensität cdf(v) h(v), entzerrt v
52 1 0
55 4 12
58 6 20
59 9 32
60 10 36
61 14 53
62 fünfzehn 57
63 17 65
64 19 73
65 22 85
66 24 93
67 25 97
68 30 117
69 33 130
70 37 146
71 39 154
72 40 158
73 42 166
75 43 170
76 44 174
77 45 178
78 46 182
79 48 190
83 49 194
85 51 202
87 52 206
88 53 210
90 54 215
94 55 219
104 57 227
106 58 231
109 59 235
113 60 239
122 61 243
126 62 247
144 63 251
154 64 255
(Bitte beachten Sie, dass die Version noch nicht abgebildet ist.)

Dieser cdf zeigt, dass der minimale Wert im Unterbild 52 und der maximale Wert 154 beträgt. Der cdf von 64 für den Wert 154 stimmt mit der Anzahl der Pixel im Bild überein. Die CDF muss auf . Die allgemeine Histogramm-Entzerrungsformel lautet:

wobei cdf min der minimale Wert ungleich Null der kumulativen Verteilungsfunktion ist (in diesem Fall 1), M × N die Pixelanzahl des Bildes angibt (für das obige Beispiel 64, wobei M die Breite und N die Höhe ist) und L ist die Anzahl der verwendeten Graustufen (in den meisten Fällen, wie in diesem, 256).


Beachten Sie, dass die obige Gleichung stattdessen lauten würde, um Werte in den Originaldaten, die über 0 liegen, auf den Bereich 1 bis einschließlich L-1 zu skalieren:

wobei cdf(v) > 0. Die Skalierung von 1 bis 255 behält die Nicht-Null des Minimalwertes bei.


Die Entzerrungsformel für die Beispielskalierungsdaten von 0 bis 255 (einschließlich) lautet:

Zum Beispiel ist der cdf von 78 46. (Der Wert von 78 wird in der unteren Zeile der 7. Spalte verwendet.) Der normalisierte Wert wird

Sobald dies erledigt ist, werden die Werte des entzerrten Bildes direkt aus dem normalisierten cdf entnommen, um die entzerrten Werte zu erhalten:

0 12 53 32 190 53 174 53
57 32 12 227 219 202 32 154
65 85 93 239 251 227 65 158
73 146 146 247 255 235 154 130
97 166 117 231 243 210 117 117
117 190 36 146 178 93 20 170
130 202 73 20 12 53 85 194
146 206 130 117 85 166 182 215

Beachten Sie, dass der Minimalwert (52) jetzt 0 und der Maximalwert (154) jetzt 255 beträgt.

JPEG-Beispiel subimage.svg JPEG-Beispiel-Unterbild - equalized.svg
Original Ausgeglichen
Plot zur Veranschaulichung des Histogramms equalization.svg Histogramm equalization.svg
Histogramm des Originalbildes Histogramm des entzerrten Bildes

Bild in voller Größe

Vor der Histogramm-Entzerrung
Entsprechendes Histogramm (rot) und kumulatives Histogramm (schwarz)
Nach dem Histogrammausgleich
Entsprechendes Histogramm (rot) und kumulatives Histogramm (schwarz)

Siehe auch

Anmerkungen

Verweise

Externe Links