kontrast? gråtonehistogrammer...– hvis flere q gir sam me match, velg den minste. • kombiner...

13
Repetisjonsforelesning før midtveiseksamen INF2310 våren 2016 Oppsummering av forelesning 4 og 5, gråtonetransformasjoner og histogramtransformasjoner. Ole Marius Hoel Rindal Hvordan endre kontrasten i et bilde? 09.02.2016 INF2310 2 Hva er kontrast? Det er flere mulige definisjoner av dette begrepet. De fleste er variasjoner over temaet differanse/gjennomsnitt som kan anvendes på mange fysiske egenskaper Her holder vi oss til luminositet. Weberkontrast (”Weber fraction”) Michelsonkontrast (”Visibility”) RMSkontrast 3 INF2310 09.02.2016 1 0 1 0 2 ) , ( 1 N x M y I y x I MN ) ( ) ( min min I I I I Max Max b b I I I ) ( Gråtonehistogrammer Gitt et gråtonebilde med nm piksler og G gråtoner Et histogram, h(i), er slik at: h(i) = antall piksler i bildet med pikselverdi i Dannes ved å gå igjennom alle pikslene og telle gråtoner Vi har naturligvis at 1 0 ) ( G i m n i h 4 INF2310 09.02.2016

Upload: others

Post on 05-Feb-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: kontrast? Gråtonehistogrammer...– Hvis flere q gir sam me match, velg den minste. • Kombiner så de de t o transformene T og G 1 til en n y mapping. – Alternativt f ørst histogramutjevn

Repetisjonsforelesning før midtveiseksamen INF2310 

våren 2016  

Oppsummering av forelesning 4 og 5, gråtonetransformasjoner og histogramtransformasjoner. Ole Marius Hoel Rindal 

Hvordan endre kontrasten i et bilde? 

09.02.2016 INF2310 2

Hva er kontrast? 

• Det er flere mulige definisjoner av dette begrepet. 

• De fleste er variasjoner over temaet – differanse/gjennomsnitt 

– som kan anvendes på mange fysiske egenskaper 

– Her holder vi oss til luminositet. 

• Weber­kontrast (”Weber fraction”)  

• Michelson­kontrast (”Visibility”) 

 

• RMS­kontrast 

 3 INF2310 09.02.2016

1

0

1

0

2),(

1 N

x

M

y

IyxIMN

)()(

min

min

IIII

Max

Max

b

b

III )(

Gråtonehistogrammer 

• Gitt et gråtonebilde med nm piksler og G gråtoner  

• Et histogram, h(i), er slik at: h(i) = antall piksler i bildet              med pikselverdi i 

 • Dannes ved å gå igjennom alle pikslene og telle gråtoner  

• Vi har naturligvis at   

1

0

)(G

i

mnih

4 INF2310 09.02.2016

Page 2: kontrast? Gråtonehistogrammer...– Hvis flere q gir sam me match, velg den minste. • Kombiner så de de t o transformene T og G 1 til en n y mapping. – Alternativt f ørst histogramutjevn

Eksempel ­ histogram 

    Bilde:                                 Histogram: 

1 3 2 1

5 4 5 3

4 1 1 2

2 3 2 1 1 2 3 4 5

Pikselverdi #

pik

sler

i

h(i)

5 INF2310 09.02.2016

Eksempler 

6 INF2310 09.02.2016

Normalisert histogram 

• Vi har at  

• Det normaliserte histogrammet er:    

• p(i) kan ses på som en sannsynlighetsfordeling for pikselverdiene i – ”Uavhengig” av antall piksler i bildet 

 

• Man kan si en del om bildet ut fra denne sannsynlighets­tetthetsfunksjonen  

1

0

)(G

i

mnih

1

0

1)(,)(

)(G

i

ipmnih

ip

7 INF2310 09.02.2016

Kumulativt histogram 

• Hvor mange piksler har gråtone mindre enn eller lik gråtone j? 

 

 

 

• Normalisert kumulativt histogram: 

 

 (Sannsynligheten for at en tilfeldig piksel har gråtone mindre eller lik j) 

j

i

ihjc0

)()(

mn

jc

)(

8 INF2310 09.02.2016

Page 3: kontrast? Gråtonehistogrammer...– Hvis flere q gir sam me match, velg den minste. • Kombiner så de de t o transformene T og G 1 til en n y mapping. – Alternativt f ørst histogramutjevn

Eksempel, kumulativt histogram 

Histogram og kumulativt histogram i samme figur

9 INF2310 09.02.2016

Lineær avbilding 

• Lineær strekking  

 

 

 

• a regulerer kontrasten, og b ”lysheten” 

• a>1: mer kontrast 

• a<1: mindre kontrast 

• b : flytter alle gråtoner b  nivåer 

• ”Negativer”:  a=-1 , b = maxverdi for bildetype 

  

byxfayxg ),(),(

biaiT ][

10 INF2310 09.02.2016

Endre ”lysheten” (brightness) 

• Legge til en konstant b  til alle pikselverdiene  

 

 – Hvis b > 0 , alle pikselverdiene øker, og bildet blir lysere 

– Hvis b < 0 , bildet blir mørkere 

– Histogrammet flyttes opp eller ned med b 

– Middelverdien endres! 

byxfyxg ),(,

f

h(f)

g

h(g

)

11 INF2310 09.02.2016

Endre kontrasten 

• Multiplisere hver pikselverdi med en faktor a: 

 

 

– Hvis a > 1,      kontrasten øker 

– Hvis a < 1,      kontrasten minker

 

• Eks: Bruke hele  intensitetsskalaen 

• Q: Hva skjer med middelverdien? 

 

),(, yxfayxg

f

h(f)

g

h(g

)

12 INF2310 09.02.2016

Page 4: kontrast? Gråtonehistogrammer...– Hvis flere q gir sam me match, velg den minste. • Kombiner så de de t o transformene T og G 1 til en n y mapping. – Alternativt f ørst histogramutjevn

Alternativ illustrasjon 

 

• Endre ”brightness”:  

 

 

 

• Endre kontrast: 

 

13 INF2310 09.02.2016

byxfyxg ),(,

f

),(, yxfayxg

f

g

g

Fra gråtonenivå [f1,f2] til [g1,g2] 

• Endre intervallet [f1, f2] til å bli [g1,g2]  

• En lineær mapping fra f  til g :  

 

 

 

– Rett linje med stigningstall  

    a=(g2-g1)/(f2-f1) 

 

 

g g2 g1

f1 f2 f

12

12

ffgg

a 112

121 ),(, fyxf

ffgg

gyxg

14 INF2310 09.02.2016

Klipping etter transform 

 

• Om g(x,y) får verdier utenfor det støttede intervallet, foretas som oftest klipping av verdiene 

 

• F.eks vil et unsigned byte bilde g bli tvunget til å ha intensiteter innenfor intervallet [0, 255] 

min g

max g

15 INF2310 09.02.2016

Standardisering av bilder 

• Hensikt: – Sørge for at alle bildene i en serie er statistisk like (1. orden) 

• Metode: – Justere middelverdien og variansen til gråtoneverdiene i bildet 

ved hjelp av en lineær gråtonetransform • Hvorfor? Vi vil fjerne effekten av 

– Døgnvariasjon i belysning – Aldringseffekter i lamper og detektorer – Akkumulering av støv på linser etc. 

• Hvor: – Produkt­inspeksjon i industri – Mikroskopering av celler – ... 

Neste uke: Kan også standardisere bildene med histogramspesifikasjon, men vil da ikke beholde ”formen” på histogrammet

16 INF2310 09.02.2016

Page 5: kontrast? Gråtonehistogrammer...– Hvis flere q gir sam me match, velg den minste. • Kombiner så de de t o transformene T og G 1 til en n y mapping. – Alternativt f ørst histogramutjevn

Middelverdien av gråtonene 

• Middelverdien av pikselverdiene i et bilde med nхm piksler og G gråtoner kan finnes  – enten fra bildet  

– eller fra bildets histogram, evt fra normalisert histogram 

 

1

0

1

0

1

0

1

0

)()(1

)1()1(...)1(1)0(01

),(1

G

i

G

i

n

x

m

y

ipiihimn

GhGhhmn

yxfmn

1

0

1)( ,)(

)(:G

i

ipnmih

ipder

(Normalisert histogram)

Hvorfor en fordel med det siste alternativet?

17 INF2310 09.02.2016

Varians av gråtonene 

• Variansen av pikselverdiene i et bilde med nxm piksler og G gråtoner kan også finnes fra bildets histogram 

21

0

1

0

2

21

0

21

0

1

0

1

0

22

)()(

][)(

][)(1

]),([1

G

i

G

i

G

i

G

i

n

x

m

y

ipiipi

iip

iihmn

yxfmn

18 INF2310 09.02.2016

Justering av μ og σ2 

• Gitt inn­bilde med middelverdi μ og varians σ2 • Anta en lineær gråtone­transform T[i]=ai+b • Ny middelverdi μT og varians σT

2 er da gitt ved   

• Dvs.  a=σT/σ , b= μT ­ aμ  

• Vi kan altså  – velge nye μT og σT

2,  – beregne a og b, – anvende T[i]=ai + b på inn­bildet – og få et ut­bilde med riktig μT og σT

2   

baipiTG

iT

1

0

)(][

2221

0

1

0

22

21

0

1

0

222

21

0

1

0

22

)()(

)()(2

)(][)(][

aipiipia

ipbaiipbaibia

ipiTipiT

G

i

G

i

G

i

G

i

G

i

G

iT

19 INF2310 09.02.2016

Ikke­lineær transform 

• Logaritmisk skalering – Eks: Desibel og radarbilder, Fourier­transform 

• Eksponentiell skalering 

• Gamma­skalering 

• Stykkevis­lineær skalering 

 

• Hva gjøres med kontrasten i de mørke og lyse delene av bildet etter slike skaleringer ? – Tegn skisse av funksjonene og se på  Δf mot  Δg 

20 INF2310 09.02.2016

Page 6: kontrast? Gråtonehistogrammer...– Hvis flere q gir sam me match, velg den minste. • Kombiner så de de t o transformene T og G 1 til en n y mapping. – Alternativt f ørst histogramutjevn

Logaritmiske  transformasjoner 

• Hvilken av transformasjonene  til høyre er brukt her? 

 

(Fig 3.3 i DIP)

21 INF2310 09.02.2016

”Power­law” (gamma)­transformasjoner 

• Mange bildeproduserende apparater har et input/output­forhold som kan beskrives som:   

   

  der s er ut­intensiteten ved en input  i  

– γ <1: den mørke delen av skalaen strekkes ut 

– γ =1: identitets­transform 

– γ >1: den lyse delen av skalaen strekkes ut 

  

• Generell kontrast­manipulasjon – Brukervennlig med kun én variabel  

(Fig 3.6 i DIP)

cis

22 INF2310 09.02.2016

Gamma­styrt bildeforbedring 

23 INF2310 09.02.2016

γ = 1  γ = 0.6 

γ = 0.4  γ = 0.3 

γ = 1  γ = 3 

γ = 4  γ = 5 

(Fig 3.9 i DIP) (Fig 3.8 i DIP)

INF2310 – Digital bildebehandling 

Forelesning 5 Histogram­transformasjoner 

 Ole Marius Hoel Rindal 

([email protected]

Etter orginale foiler av Fritz Albregtsen. 

 

16.02.2016 INF2310

Page 7: kontrast? Gråtonehistogrammer...– Hvis flere q gir sam me match, velg den minste. • Kombiner så de de t o transformene T og G 1 til en n y mapping. – Alternativt f ørst histogramutjevn

Histogramutjevning (histogram equalization) 

• Maksimal kontrast:  Alle pikselverdier like sannsynlige – Histogrammet er uniformt (flatt) 

• Ønsker en transformasjon av bildet slik at det transformerte bildet har uniformt histogram – Dvs. at bildet har like mange piksler for hver gråtone 

• Tilnærmer ved å flytte på histogramsøyler 

• Trenger en oversikt over  hvor hver søyle skal flyttes: T[i] 

16.02.2016 INF2310

Algoritme for histogramutjevning 

• For et nm bilde med L gråtoner: – Lag array p, cn og T av lengde L med initialverdi 0 

• Finn bildets normaliserte histogram – Gå igjennom bildet piksel for piksel.  – Hvis piksel har intensitet i, la p[i]=p[i]+1 – Deretter skalér, p[i] = p[i]/(n*m),    i=0,1,…,L­1 

• Lag det normaliserte kumulative histogrammet cn – cn[0] = p[0], cn[i] = cn [i­1]+p[i],    i=1,2,....,L­1 

• Sett inn verdier i transform­array T T[i] = Round( (L­1)*cn [i] ),   i=0,1,......,L­1  

• Gå igjennom bildet piksel for piksel,     Hvis inn­bildet har intensitet i, 

   sett intensitet i ut­bildet til  s=T[i]   

16.02.2016 INF2310

Eksempel – histogramutjevning­3 

• Finn bildets normaliserte histogram

• Lag det normaliserte kumulative histogrammet cn 

• Sett inn verdier i transform­array T – T[i] = Round( (L­1)*cn [i] ) 

  for   i=0,1,......,L­1 

 

 

INF2310 16.02.2016

Eksempel 1 ­ histogramutjevning 

16.02.2016 INF2310

Page 8: kontrast? Gråtonehistogrammer...– Hvis flere q gir sam me match, velg den minste. • Kombiner så de de t o transformene T og G 1 til en n y mapping. – Alternativt f ørst histogramutjevn

Histogramutjevning 

• Histogramutjevning kan flytte histogramsøyler 

• Kan også slå sammen søyler 

• Men kan ikke splitte søyler 

 

• Gir bare tilnærmet flatt histogram i utbildet 

• Utbildets kumulative histogram stiger lineært 

 

 16.02.2016 INF2310

Histogramtilpasning 

• Histogramutjevning gir tilnærmet flatt histogram 

• Kan hende at vi ønsker å spesifisere annen form på resultathistogrammet: 

1. Gjør histogramutjevning på innbildet, finn s=T(i) 

2. Spesifiser ønsket nytt histogram pz(i) 

3. Finn den transformen G som histogramutjevner g(z), og finn inverstransformen G­1 

4. Inverstransformer det histogramutjevnede bildet fra punkt 1  

  ved z=G­1(s) 

 

16.02.2016 INF2310

Algoritme ­ histogramspesifikasjon 

• Finn normalisert histogram, pr(i), for inputbildet, f(r). 

• Lag det normaliserte kumulative histogrammet cn(i). 

• Sett s(i)=Round( (L­1)*cn[i] ), i=0,1,......,L­1, Transformasjon T. 

• Gitt ønsket histogram, pz(i), for bildet g(z). 

• Beregn kumulativt spesifisert histogram, skalér,  avrund til nærmeste heltall i [0,L­1], og lagre G(q). 

• For i=0,1,…,L­1, finn q slik at G(q) er nærmest mulig s(i), og lagre alle disse matchene i en array G­1(i). 

– Hvis flere q gir samme match, velg den minste. 

• Kombiner så de de to transformene T og G­1 til en ny mapping. – Alternativt først histogramutjevn innbildet med transformasjonen T, for så å 

transformere det histogramutjevnede bildet med transformasjonen G­1 

16.02.2016 INF2310

Tilpasning til Gauss­fordeling 

 

INF2310 16.02.2016

Page 9: kontrast? Gråtonehistogrammer...– Hvis flere q gir sam me match, velg den minste. • Kombiner så de de t o transformene T og G 1 til en n y mapping. – Alternativt f ørst histogramutjevn

Tilpasning til Gauss­fordeling 

 

INF2310 16.02.2016

”Histogram matching” 

• Histogramtilpasning hvor det ene bildets histogram benyttes som ønsket form  

 

 

16.02.2016 INF2310

Histogramutjevning av RGB­bilder 

• Histogramutjevning på hver komponent (r,g,b) uavhengig av hverandre – Kan føre til endring i fargetonene  i bildet  

• Alternativt benytte HSI: – Transformér bildet fra RGB til HSI – Gjør histogramutjevning  på I­komponenten 

– Transformer HSIny tilbake til RGB 

hvit

gul grønn

blå magenta

svart

S

I

H

16.02.2016 INF2310

Eks: Histogramutjevning RGB vs HSI 

INF2310 16.02.2016

Om vi gjør histogramutjevning på RGB kanalene endrer vi

fargetonene

For HSI er det kun I verdien som representerer gråtonen og denne

kan «trygt» utjevnes.

Page 10: kontrast? Gråtonehistogrammer...– Hvis flere q gir sam me match, velg den minste. • Kombiner så de de t o transformene T og G 1 til en n y mapping. – Alternativt f ørst histogramutjevn

Eks: Histogramutjevning RGB vs HSI 

INF2310 16.02.2016

Originalbilde Histogramutjevning på RGB

Histogramutjevning i intensitet i HSI

HSI: Hue = ren farge, saturation = fargemetning, intensity = gråtone.

Lokal gråtonetransform (GTT) 

• Vil standardisere den lokale kontrasten 

– Samme kontrast over hele bildet 

 

• Transformasjonene vi har sett på kan også beregnes ut fra piksel­verdiene i en lokal omegn (kvadratisk vindu) omkring punktet (x,y) 

– Kun pikselverdien g(x,y) bestemmes av transformen  basert på dette vinduets piksler 

– Altså egen transform for hvert piksel i bildet (lokal adaptivitet). 

 

 

 

16.02.2016 INF2310

 

• Utfør lokal GTT som gir «samme kontrast» over hele bildet 

• Vi skal se på to metoder 

– 1 : Lokal histogramspesifikasjon/utjevning 

• Også kjent som adaptiv histogramutjevning – AHE (Adaptive histogram equalization) 

• En mye brukt variant: CLAHE (contrast limited adaptive histogram equalization)  

– 2 : Lineær standardisering av σ til σ0 • Beregn μ(x,y) og σ(x,y) i et vindu sentrert om (x,y) 

• Transformer f(x,y) til g(x,y) med en lineær transform  som gir nytt standardavvik σ0 innenfor vinduet 

 

Lokal gråtonetransform (GTT) 

),(

),(),(),(),( 01 yx

yxyxfyxyxg

Vi kom fram til disse uttrykkene forrige uke! 16.02.2016 INF2310

Lokal histogramspesifikasjon/utjevning 

• Også kjent som adaptiv histogramutjevning 

– AHE (Adaptive histogram equalization) 

• Beregn kumulativt histogram i et vindu sentrert om (x,y) 

• Endre senterpikselen ved den resulterende transformen 

• Størrelsen på vinduet er en viktig parameter. 

• Piksler langs kanten må behandles spesielt. 

• Hver piksel får altså sin egen transform, dette er en svært regnekrevende fremgangsmåte. Vi kan utnytte at vinduene er overlappende i utregningen. 

 

INF2310 16.02.2016

Page 11: kontrast? Gråtonehistogrammer...– Hvis flere q gir sam me match, velg den minste. • Kombiner så de de t o transformene T og G 1 til en n y mapping. – Alternativt f ørst histogramutjevn

Global HistEq vs Lokal HistEq 

(Fra DIP, Gonzales & Woods)

16.02.2016 INF2310

Kontrastbegrenset lokal histogramspesifikasjon/utjevning 

 • En mye brukt variant: CLAHE (contrast limited adaptive histogram equalization) 

• Her «begrenser vi kontrasten» ved å klippe histogrammet før vi regner ut det kumulative histogrammet. 

• Dette gir en transformasjon med lavere stigningstall, som gir mindre kontrast.  

INF2310 16.02.2016

Lokal histogramspesifikasjon/utjevning 

  

INF2310 16.02.2016

Hele bildet ble noe mer «varierende», men detaljer i

bildet som for eksempel felgen og hjulet ble mer tydelig.

– Lineær standardisering av σ til σ0 

• Beregn μ(x,y) og σ(x,y) i et vindu sentrert om (x,y) 

• Transformer f(x,y) til g(x,y) med en lineær transform  som gir nytt standardavvik σ0 innenfor vinduet 

 

 

INF2310 16.02.2016

Lineær standardisering av σ til σ0

),(

),(),(),(),( 01 yx

yxyxfyxyxg

TTT

TT

T

iiiT

aba

1][

1,

Vi kom frem til dette forrige uke:

Page 12: kontrast? Gråtonehistogrammer...– Hvis flere q gir sam me match, velg den minste. • Kombiner så de de t o transformene T og G 1 til en n y mapping. – Alternativt f ørst histogramutjevn

Lineær standardisering til σ0 og μ0 • Ønsker vi lokal GTT som også gir en ny middelverdi μ0 ,  

  så bruker vi transformen 

 

 

• Men dette vil gi et ”flatt” bilde 

• Parameteren β kan styre hvor kraftig vi endrer μ:   β = 0 => uforandret middelverdi over hele bildet 

  β = 1 => lik middelverdi over hele bildet 

 

),(),(),(),( 0

02 yxyxyxfyxg

),(),(),(),(1),( 0

03 yxyxyxfyxyxg

16.02.2016 INF2310

Lineær standardisering til σ0 og μ0 

• Hva er karakteristisk for homogene områder i et bilde? 

 

• Her får vi problemer, fordi vi har σ i nevneren: 

 

 

• Innfører parameteren δ: 

 

 

 

 

• Lokal pikselverdi­mapping gir økt regnearbeid. 

0),( yx

),(

),(),(...),( 03 yx

yxyxfyxg

0

0

04

),(),(),(

),(1),(

yxyxyxf

yxyxg

16.02.2016 INF2310

Lokal GTT – Eksempel I 

Original Global histogram- utjevning

Lokal endring av middelverdi og kontrast

16.02.2016 INF2310

Sentrale temaer i dag 

 •  Histogramtransformasjoner 

– Histogramutjevning – Histogramtilpasning 

• Standardisering av histogram for billedserier – Fjerne effekten av variasjoner i avbildningsforhold  

      (døgnvariasjon, lampe, støv etc) – Ikke lurt med histogramtilpasning hvis histogram­formen  

           inneholder informasjon som senere skal benyttes – Alternativ til standardisering av bilder med lineær transform 

•  Litt om histogramtransformasjoner i fargebilder •  Lokal gråtone­transformasjon 

– 1. metode: • Lokal histogramutjevning/tilpasning • Kontrastbegrenset lokal histogramutjevning/tilpasning 

– 2. metode • Samme kontrast (og middelverdi) over hele bildet • Beregn og benytt transformene på lokalt vindu rundt hver piksel 

– Dette er regnekrevende. 

 

16.02.2016 INF2310

Page 13: kontrast? Gråtonehistogrammer...– Hvis flere q gir sam me match, velg den minste. • Kombiner så de de t o transformene T og G 1 til en n y mapping. – Alternativt f ørst histogramutjevn

Andre ressurser 

• Inf2310.olemarius.net