Histogramudligning - Histogram equalization

Histogramkorrektion er en fremgangsmåde i billedbehandling af kontrast justering ved hjælp af billedet 's histogram .

Et histogram, der er nul bortset fra et centralt område, der indeholder stærke toppe, transformeres ved at strække det toppede område til at fylde hele x-aksen.
Histogrammer af et billede før og efter udligning.

Oversigt

Denne metode øger normalt den globale kontrast for mange billeder, især når billedet repræsenteres af et snævert interval af intensitetsværdier. Gennem denne justering kan intensiteterne fordeles bedre på histogrammet ved at udnytte hele intensiteten jævnt. Dette giver områder med lavere lokal kontrast mulighed for at opnå en højere kontrast. Histogramudligning opnår dette ved effektivt at sprede de højt befolkede intensitetsværdier ud, som bruges til at forringe billedkontrast.

Metoden er nyttig i billeder med baggrunde og forgrunde, der både er lyse eller begge mørke. Især kan metoden føre til bedre visninger af knoglestruktur i røntgenbilleder og til bedre detaljer i fotografier , der enten er over- eller undereksponerede. En vigtig fordel ved metoden er, at det er en ret ligetil teknik, der er adaptiv til inputbilledet og en invertibel operatør . Så i teorien, hvis histogrammet udligning funktionen er kendt, så den oprindelige histogram kan inddrives. Beregningen er ikke beregningsmæssigt intensiv. En ulempe ved metoden er, at den er vilkårlig. Det kan øge kontrasten i baggrunden støj , mens faldende det brugbare signal .

Ved videnskabelig billeddannelse, hvor rumlig korrelation er vigtigere end signalets intensitet (f.eks. Adskillelse af DNA -fragmenter med kvantiseret længde), hæmmer det lille signal / støjforhold normalt visuel detektion.

Histogramudligning giver ofte urealistiske effekter på fotografier; men det er meget nyttigt til videnskabelige billeder som termiske , satellit- eller røntgenbilleder , ofte den samme billedklasse, som man ville anvende falsk farve på . Histogramudligning kan også forårsage uønskede effekter (f.eks. Synlig billedgradient ), når den anvendes på billeder med lav farvedybde . Hvis det f.eks. Anvendes på 8-bit billede vist med 8-bit gråtonepalette, reduceres billedets farvedybde (antal unikke gråtoner) yderligere. Histogramudligning fungerer bedst, når den anvendes på billeder med meget større farvedybde end paletstørrelse , f.eks. Kontinuerlige data eller 16-bit gråtonebilleder.

Der er to måder at tænke på og implementere histogramudligning, enten som billedændring eller som paletændring . Operationen kan udtrykkes som P (M (I)), hvor I er det originale billede, M er histogramudligningskortlægningsoperation og P er en palet. Hvis vi definerer en ny palette som P '= P (M) og efterlader billede I uændret, implementeres histogramudligning som paletændring eller kortlægningsændring. På den anden side, hvis paletten P forbliver uændret, og billedet ændres til I '= M (I), opnås implementeringen ved billedændring. I de fleste tilfælde er paletskift bedre, da det bevarer de originale data.

Modifikationer af denne metode bruger flere histogrammer, kaldet subhistogrammer, for at understrege lokal kontrast, frem for generel global kontrast. Eksempler på sådanne metoder omfatter adaptiv histogramudligning , kontrastbegrænsende adaptiv histogramudligning eller CLAHE , multipeak histogramudligning (MPHE) og multifunktionel beta -optimeret bihistogramudligning (MBOBHE). Målet med disse metoder, især MBOBHE, er at forbedre kontrasten uden at producere lysstyrke middelforskydning og detaljetab-artefakter ved at ændre HE-algoritmen.

En signaltransform, der svarer til histogramudligning, synes også at ske i biologiske neurale netværk for at maksimere neuronens outputfyringshastighed som en funktion af inputstatistikken. Dette er blevet bevist især i fluen nethinden .

Histogramudligning er et specifikt tilfælde af den mere generelle klasse af histogram -omlægningsmetoder. Disse metoder søger at justere billedet for at gøre det lettere at analysere eller forbedre visuel kvalitet (f.eks. Retinex )

Tilbage projektion

Den tilbage fremskrivning (eller "projekt") af en histogramafbildes billede er re-anvendelse af den ændrede histogram til det oprindelige billede, fungerer som en look-up tabel for pixel lysstyrkeværdier.

For hver gruppe pixels, der tages fra den samme position fra alle input-enkeltkanalbilleder, sætter funktionen histogram-bin-værdien til destinationsbilledet, hvor binernes koordinater bestemmes af pixelværdierne i denne inputgruppe. Med hensyn til statistik karakteriserer værdien af ​​hver outputbilledpixel sandsynligheden for, at den tilsvarende inputpixelgruppe tilhører det objekt, hvis histogram bruges.

Implementering

Overvej et diskret gråtonebillede { x }, og lad n i være antallet af forekomster af gråt niveau i . Sandsynligheden for en forekomst af en pixel på niveau i i billedet er

er det samlede antal grå niveauer i billedet (typisk 256), n er det samlede antal pixels i billedet, og er faktisk billedets histogram for pixelværdi i, normaliseret til [0,1].

Lad os også definere den kumulative fordelingsfunktion, der svarer til i as

,

hvilket også er billedets akkumulerede normaliserede histogram.

Vi vil gerne oprette en transformation af formularen for at producere et nyt billede { } med et fladt histogram. Et sådant billede ville have en lineariseret kumulativ fordelingsfunktion (CDF) på tværs af værdiområdet, dvs.

til

for nogle konstante . Egenskaberne for CDF tillader os at udføre en sådan transformation (se omvendt fordelingsfunktion ); det er defineret som

hvor er i området . Bemærk at kortlægger niveauerne i området [0,1], da vi brugte et normaliseret histogram på { }. For at kortlægge værdierne tilbage til deres oprindelige område, skal følgende enkle transformation anvendes på resultatet:

.

En mere detaljeret afledning findes her .

er en reel værdi, mens den skal være et helt tal. En intuitiv og populær metode anvender den runde operation:

.

Imidlertid resulterer detaljeret analyse i en lidt anden formulering. Den kortlagte værdi skal være 0 for intervallet . Og for , for , ...., og endelig for . Derefter bør kvantiseringsformlen fra til være

.

(Bemærk: når det dog ikke sker, bare fordi det betyder, at der ikke er en pixel, der svarer til denne værdi.)

Af farvebilleder

Ovenstående beskriver histogramudligning på et gråtonebillede. Det kan dog også bruges på farvebilleder ved at anvende den samme metode separat til de røde, grønne og blå komponenter i billedets RGB -farveværdier. Imidlertid kan anvendelse af den samme metode på de røde, grønne og blå komponenter i et RGB -billede give dramatiske ændringer i billedets farvebalance, da farvekanalernes relative fordelinger ændres som følge af anvendelse af algoritmen. Men hvis billedet først konverteres til et andet farverum, Labfarverum eller især HSL/HSV -farverum , kan algoritmen anvendes på luminans- eller værdikanalen uden at resultere i ændringer i billedets nuance og mætning . Der er flere histogramudligningsmetoder i 3D -rum. Trahanias og Venetsanopoulos anvendte histogramudligning i 3D -farverum Det resulterer imidlertid i "hvidtning", hvor sandsynligheden for lyse pixels er højere end for mørke. Han et al. foreslået at bruge en ny cdf defineret af iso-luminansplanet, hvilket resulterer i ensartet grå distribution.

Eksempler

For at være i overensstemmelse med statistisk brug, bør "CDF" (dvs. kumulativ fordelingsfunktion) erstattes af "kumulativt histogram", især da artiklen linker til kumulativ fordelingsfunktion, der er afledt ved at dividere værdier i det kumulative histogram med den samlede mængde pixels. Den udlignede CDF er defineret i rang som .

Lille billede

Image
8 × 8-underbilledet vist i 8-bit gråtoner

Det viste 8-bit gråtonebillede har følgende værdier:

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


Histogrammet for dette billede er vist i følgende tabel. Pixelværdier, der har et nultal, er udelukket af korte årsager.

Værdi Tælle Værdi Tælle Værdi Tælle Værdi Tælle Værdi Tælle
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

Den kumulative fordelingsfunktion (cdf) er vist nedenfor. Igen er pixelværdier, der ikke bidrager til en stigning i cdf, udelukket af korthed.

v, Pixel Intensity cdf (v) h (v), udlignet v
52 1 0
55 4 12
58 6 20
59 9 32
60 10 36
61 14 53
62 15 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
(Bemærk, at versionen ikke er illustreret endnu.)

Denne cdf viser, at minimumsværdien i delbilledet er 52, og den maksimale værdi er 154. cdf på 64 for værdi 154 falder sammen med antallet af pixels i billedet. Cdf skal normaliseres til . Den generelle histogramudligningsformel er:

hvor cdf min er den mindste ikke-nul værdi for den kumulative fordelingsfunktion (i dette tilfælde 1), giver M × N billedets antal pixels (for eksemplet ovenfor 64, hvor M er bredde og N højden) og L er antallet af gråtoner, der bruges (i de fleste tilfælde, som dette, 256).


Bemærk, at for at skalere værdier i de originale data, der er over 0 til området 1 til L-1 inklusive, vil ovenstående ligning i stedet være:

hvor cdf (v)> 0. Skalering fra 1 til 255 bevarer ikke-nul-værdien af ​​minimumsværdien.


Udligningsformlen for eksemplet skaleringsdata fra 0 til 255, inklusive, er:

For eksempel er cdf på 78 46. (Værdien af ​​78 bruges i den nederste række i den 7. kolonne.) Den normaliserede værdi bliver

Når dette er gjort, tages værdierne for det udlignede billede direkte fra det normaliserede cdf for at give de udlignede værdier:

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

Bemærk, at minimumsværdien (52) nu er 0, og den maksimale værdi (154) er nu 255.

JPEG -eksempel subimage.svg JPEG -eksempel underbillede - equalized.svg
Original Udlignet
Plot til illustrering af histogramudligning.svg Histogramudligning.svg
Histogram for det originale billede Histogram for udlignet billede

Billede i fuld størrelse

Image
Før histogramudligning
Image
Tilsvarende histogram (rød) og kumulativt histogram (sort)
Image
Efter histogramudligning
Image
Tilsvarende histogram (rød) og kumulativt histogram (sort)

Se også

Noter

Referencer

eksterne links