Histogramprosessering
Lars Vidar Magnusson
January 22, 2018
Delkapittel 3.3 Histogram Processing
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Histogram i Bildeanalyse
Et histogram av et digitalt bilde med intensitet i intervallet [0, L)er en diskret funksjon
h(rk) = nk ,
hvor rk er det kte intensiteten og nk er antall elementer medintensitet k.
Det er vanlig a normalisere et histogram ved a dele pa antall elementertotalt.
p(rk) = nk/MN
Løst sagt sa er p(rk) et estimat pa sansynligheten for rk inntreffer i etbilde.
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Eksempler
Et eksempel pa et graaskalabilde med tilhørende histogram.
0
500
1000
1500
2000
2500
3000
3500
4000
0 50 100 150 200 250
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Eksempler
Et eksempel pa et graaskalabilde med lav kontrast.
0
1000
2000
3000
4000
5000
6000
7000
0 50 100 150 200 250
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Eksempler
Et eksempel pa et mørkt graaskalabilde.
0
1000
2000
3000
4000
5000
0 50 100 150 200 250
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Eksempler
Et eksempel pa et lyst graaskalabilde.
0
1000
2000
3000
4000
5000
0 50 100 150 200 250
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Bruksomrader
Histogram av digitale bilder er svært anvendelige.
Forbedring (enhancement)
Statistikk
Kompresjon
Segmentering
...
Histogram er enkle a finne, og prosessen er svært godt egnet forimplementasjon i hardware.
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Utjevning av Histogram
Vi har allerede sett eksempler pa at det ofte er gunstig om etbildets histogram er noenlunde jevnt fordelt utover rekkevidden.
Dette er mulig a tilnærme ved bruk av histogram equalization(histogramutjevning).
sk = T (rk) = (L− 1)k∑
j=0
pr (rj)
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Tilbake til Eksemplene
Dette er det samme eksempelet som ble gitt tidligere.
0
500
1000
1500
2000
2500
3000
3500
4000
0 1 2 3 4 5 6
×104
Utjevningen gjør liten nytte pa et bilde med høy kontrast.
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Tilbake til Eksemplene
Dette er det eksempelet med lav kontrast.
0
1000
2000
3000
4000
5000
6000
7000
0 1 2 3 4 5 6
×104
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Tilbake til Eksemplene
Dette er det eksempelet med lav intensitet.
0
1000
2000
3000
4000
5000
0 1 2 3 4 5 6
×104
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Tilbake til Eksemplene
Dette er det eksempelet med høy intensitet.
0
1000
2000
3000
4000
5000
0 1 2 3 4 5 6
×104
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Eksempel pa Utjevning
La oss se pa et eksempel fra boka. Vi har L = 8, M = 64 ogN = 64.
rk nk pr (r)
0 790 0.19
1 1023 0.25
2 850 0.21
3 656 0.16
4 329 0.08
5 245 0.06
6 122 0.03
7 81 0.02
0 2 4 60
0.2
0.4
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Eksempel pa Utjevning
Hvis vi bruker transformasjonsfunksjonen pa de gitte data far vifølgende.
rk nk pr (r)
s0 1.33 1
s1 3.08 3
s2 4.55 5
s3 5.67 6
s4 6.23 6
s5 6.65 7
s6 6.86 7
s7 7.00 7
0 2 4 60
0.2
0.4
Som vi kan se sa blir ikke histogrammet helt jevnt, men mye jevnere ennorginalt.
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Teorien Bak Histogramutjevning
Histogramutjevning er bygget pa teori om tilfeldige variable (randomvariables) og sannsynlighetstetthet (probability density function).
Vi har s = T (r)
Vi antar at pr (r) og ps(s) er sannsynlighetstetthet til henholdsvis r og s
Vi ma finne en transformasjonsfunksjon T (r) som oppfyller følgende krav.
ma være monotonisk stigende i intervallet 0 ≤ r ≤ L− 1
0 ≤ T (r) ≤ L− 1 for 0 ≤ r ≤ L− 1
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Teorien Bak Histogramutjevning
Et grunnleggende resultat i sannsynlighetsteori er at hvis vi vet pr (r) ogT (r), og hvis T (r) er sammenhengende (continuous) og deriverbar, sakan vi finne ps(s).
ps(s) = pr (r)
∣∣∣∣dr
ds
∣∣∣∣Distribusjonen til s er altsa avhengig av distribusjonen til r ogtransformasjonen T (r)
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Teorien Bak Histogramutjevning
Cumulative distribution function (CDF) kan defineres som følger.
s = T (r) = (L− 1)
∫ r
0
pr (w)dw
Denne funksjonen er summerer altsa p(r).
siden p(r) alltid er positiv vil den være monotonisk stigende
nar r = L− 1 vil integralet evalueres til 1 i.e. s vil ligge i intervallet0 ≤ s ≤ L− 1
Denne funksjonen oppfyller derfor kravene gitt tidligere.
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Teorien Bak Histogramutjevning
Vi vet at den deriverte av et bestemt integral i henhold til dens øvregrense er integranden evaluert pa grensen (Leibniz).
Derfor kan vi na uttrykke følgende.
ds
dr=
dT (r)
dr
= (L− 1)d
dr
[∫ r
0
pr (w)dw
]= (L− 1)pr (r)
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Teorien Bak Histogramutjevning
Resultatet fra forrige side kan vi sette i ligningen gitt i begynnelsen.
ps(s) = pr (r)
∣∣∣∣dr
ds
∣∣∣∣= pr (r)
∣∣∣∣ 1
(L− 1)pr (r)
∣∣∣∣=
1
L− 1
Dette er lov siden pr (r) alltid er positiv, og det gjelder for 0 ≤ s ≤ L− 1.
Dette viser at hvis en tilfeldig variabel r transformeres med
s = (L− 1)
∫ r
0
pr (r)dw ,
sa vil s fa en helt uniform distribusjon.
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Utjevning av Histogram
Na som vi har sett teorien bak, kan vi returner til den diskreteverden.
sk = T (rk) = (L− 1)k∑
j=0
pr (rj)
=L− 1
MN
k∑j=0
nj
Hvor k = {0, 1, 2, . . . , L− 1}.
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Spesifisert Histogram
Vi har sett pa hvordan vi kan jevne ut et histogram. Na skal vi sepa hvordan dette kan utvides videre, slik at man kan spesifisere ethistogram.
Dette kalles histogram matching eller histogram specification.
Gjøres ved a introdusere en ny tilfeldig variabel z med tilhørende pz(z)som spesifiserer hvordan vi vil ha distribusjonen.
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Teorien Bak Spesifiserte Histogram
Teorien bygger pa det vi allerede har diskutert.
s = T (r) = (L− 1)
∫ r
0pr (w)dw
Dette jevner ut histogrammet, men vi introduserer ogsa følgende nyeforhold.
G (z) = (L− 1)
∫ r
0
pr (t)dt = s
Vi har da følgende.
z = G−1[T (r)] = G−1(s)
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Steg-for-Steg Oppskrift for Kontinuerlige Verdier
Ved a følge følgende oppskrift kan man tilpasse ensannsynlighetstetthet.
1 Finn pr (r) og deretter s og ps(s)
2 Bruk den spesifiserte sannsynlighetstettheten til a finne G (z)
3 Finn G−1(s)
4 Bruk G−1(s) til a konvertere fra s til z
I teorien er dette en noksa enkel oppskrift, men i praksis er det vanskeliga finne fornuftig for bl.a. G (z).
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Spesifisert Histogram
Det er enklere a gjennomføre prosessen med diskrete verdier. Vibegynner med det kjente.
sk = T (rk) = (L− 1)k∑
j=0
pr (rj)
=L− 1
MN
k∑j=0
nj
Og vi har følgende diskrete transformasjon
G (zq) = (L− 1)
q∑i=0
pz(zi ),
slik at G (zq) = sk og zq = G−1(sk).
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Spesifisert Histogram
Siden vi jobber med diskrete verdier trenger vi ikke finne G−1, vibare regner ut alle verdiene i en tabell og inverterer den.
1 Finn de utjevnede verdiene sk2 Regn ut alle verdiene for G og lagre dem in en tabell.
3 Finn mappingene mellom sk og zq ved hjelp av tabellen
4 Utjevn bildet og bruk verdiene til a sette inn de spesifiesrte verdiene
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Lokal Histogramprosessering
Forrige forelesning diskuterte vi histogramprosessering pa et globaltniva.
Det kan ogsa være nyttig a benytte teknikken pa lokale vinduer.
Histogrammet regnes ut for et vindu i stedet for hele bildet.
Intensiteten til senterpunktet regnes ut fra det lokale histogrammet.
Vinduet blir flyttet til hvert punkt i bildet.
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Lokal Histogramutjevning
Vi skal se pa lokal histogramutjevning (equalization).
Samme prinsipp som for global histogramutjevning, men vi regner uthistogramet for et n × n vindu.
Den nye verdien for det gjeldende koordinatet regnes ut som før, menmed det lokale histogrammet.
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Lokal Histogramutjevning - Eksempel
Under ser dere et bilde som ser ut som et sett med svartekvadrater pa en gra bakgrunn.
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Lokal Histogramutjevning - Eksempel
Her er det samme bildet etter histogramutjevning.
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Lokal Histogramutjevning - Eksempel
Her er det samme bildet etter lokal histogramutjevning.
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Histogramstatistikk
Husk at for et (normalisert) histogram p(ri ) for diskreteintensiteter [0, L− 1] angir en tilnærming til sansynlighetsfordeling.
Vi kan derfor benytte oss av statistikk. Det statistiske nte momentet til rer definert som følgende.
µn(r) =L−1∑i=0
(ri −m)np(ri )
Hvor m er mean (gjennomsnitts) intensitet.
m =L−1∑i=0
rip(ri )
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Histogramstatistikk - Mean og Varianse
Spesielt nyttig er det andre momentet.
µ2(r) =L−1∑i=0
(ri −m)2p(ri )
Dette er variansen δ2 til intensiteten, hvor standard avviket er δ.
Mean og variansen til intensiteten kan ogsa regnes ut direkte fra bildet.
m =1
MN
M−1∑x=0
N−1∑y=0
f (x , y)
σ2 =1
MN
M−1∑x=0
N−1∑y=0
[f (x , y) −m]2
Dette refereres ofte til som sample mean og sample variance.
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018
Histogramstatistikk - Eksempel
Her ser vi igjen bildet med skjulte symboler
g(x , y) =
{Cf (x , y) if k0mG ≤ mSxy ≤ k1mG AND k2σG ≤ σSxy ≤ k3σG
f (x , y) otherwise
Lars Vidar Magnusson Bildebehandling og Mønstergjenkjenning 2018