F12 21.04.09 INF 2310 1 INF 2310 – Digital bildebehandling SEGMENTERING VED TERSKLING Global histogram-basert terskling Variabel og multivariabel terskling GW: 10.3 (litt grundigere enn i boka) F12 21.04.09 INF 2310 2 Om pensum fra kap. 10 • Kapittel 10 i boka introduserer et stort og viktig tema, terskling, men dekker det noe overfladisk. • I INF2310 foreleser vi bare om segmentering ved – Kant-deteksjon (GW kap 10 – 10.2.7) – forelesning nr 7. – Terskling (GW kap 10.3) – dagens forelesning (nr 12), men tar dette noe grundigere enn boka. • Lenking av kanter (10.2.7), Hough-transform (10.2.7), region-basert segmentering (10.4), ”watershed” (10.5) og bevegelses-segmentering (10.6) tar vi i INF4300. F12 21.04.09 INF 2310 3 Hva er segmentering? • Segmentering er en prosess som deler opp bildet i meningsfulle regioner. • Segmentering er ett av de viktigste elementene i et komplett bildeanalyse- system. • I segmentering får vi fram regioner og objekter som senere skal beskrives og gjenkjennes. • I det enkleste tilfellet har vi bare to typer regioner: – Forgrunn – Bakgrunn Eksempel: finne symboler for OCR F12 21.04.09 INF 2310 4 Segmenterings-problemer • Problemet blir banalt hvis vi bare har en objekt-region, og denne er homogen. • Men vi har som regel flere objekter i bildet. • Objektene er sjelden helt like, selv om de er av samme type. • Ofte har vi flere typer/klasser av objekter samtidig. • Belysningen kan variere over bildet. • Refleksjon, farge etc. kan variere over objekter i bildet. Hva og hvor er objektet i dette bildet?
14
Embed
Om pensum fra kap. 10 · Om pensum fra kap. 10 • Kapittel 10 i boka introduserer et stort og viktig tema, terskling, men dekker det noe overfladisk. • I INF2310 foreleser vi bare
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
F12 21.04.09 INF 2310 1
INF 2310 – Digital bildebehandling
SEGMENTERING VED TERSKLING
Global histogram-basert tersklingVariabel og multivariabel terskling
GW: 10.3 (litt grundigere enn i boka)
F12 21.04.09 INF 2310 2
Om pensum fra kap. 10
• Kapittel 10 i boka introduserer et stort og viktig tema, terskling, men dekker det noe overfladisk.
• I INF2310 foreleser vi bare om segmentering ved – Kant-deteksjon (GW kap 10 – 10.2.7) – forelesning nr 7.– Terskling (GW kap 10.3) – dagens forelesning (nr 12),
men tar dette noe grundigere enn boka.• Lenking av kanter (10.2.7), Hough-transform (10.2.7),
region-basert segmentering (10.4), ”watershed” (10.5) og bevegelses-segmentering (10.6) tar vi i INF4300.
F12 21.04.09 INF 2310 3
Hva er segmentering?
• Segmentering er en prosess som deler opp bildet i meningsfulle regioner.
• Segmentering er ett av de viktigste elementene i et komplett bildeanalyse-system.
• I segmentering får vi fram regioner og objekter som senere skal beskrives og gjenkjennes.
• I det enkleste tilfellet har vi bare to typer regioner:– Forgrunn– Bakgrunn Eksempel:
finne symboler for OCR
F12 21.04.09 INF 2310 4
Segmenterings-problemer• Problemet blir banalt hvis vi bare har en objekt-region,
og denne er homogen.• Men vi har som regel
flere objekter i bildet.• Objektene er sjelden helt like,
selv om de er av samme type.• Ofte har vi flere typer/klasser
av objekter samtidig.• Belysningen kan variere
over bildet.• Refleksjon, farge etc. kan
variere over objekter i bildet. Hva og hvor er objektet i dette bildet?
F12 21.04.09 INF 2310 5
Hva er god segmentering?
Vi stiller fire krav til god segmentering:1. Segmenterte regioner bør være uniforme og homogene
mht. gråtone, tekstur eller andre egenskaper.2. Nabo-regioner av forskjellig klasse bør være signifikant
forskjellig mht. de samme egenskapene.3. Regioner bør være enkle, uten for mange hull.4. Region-grensene bør være enkle
(uten mange ”frynser”) og må være riktig plassert.
F12 21.04.09 INF 2310 6
To segmenterings-kategorier
• Vi skiller mellom to kategorier av metoder, basert påhhv. likhet og diskontinuitet mellom pikslene i bildet.
1. Ved terskling og region-basert segmentering får vi fram de pikslene som ligner hverandre.
Dette gir alle pikslene i objektet.2. Ved kant-basert segmentering finner vi
basis-elementer i omrisset til objektene:• Kant-punkter, linje-punkter, hjørne-punkter..• I neste steg:
• Tynner brede kanter• Lenker punktene sammen
F12 21.04.09 INF 2310 7
Terskling
• Hvis vi har grunn til å anta at objektene f.eks. er lysere enn bakgrunnen, kan vi sette en terskel T og lage oss et binært ut-bilde g(x,y) ved mappingen:
• Da har vi fått et ut-bilde g(x,y) med bare to mulige verdier.
• Med riktig valg av T vil nå alle piksler medg(x,y)=1 være objekt-piksler.
⎩⎨⎧
>≤
=TyxfTyxf
yxg),( hvis 1),( hvis 0
),(
f
g
F12 21.04.09 INF 2310 8
Flernivå terskling
• Har vi flere klasser av objekter med forskjellig intensitet, så kan vi utvide dette til M gråtone-intervaller ved hjelp av M-1 terskler.
• Terskling er et spesialtilfelle av klassifikasjon.• Jfr. histogram-utjevning med noen få gråtoner.
⎪⎪⎩
⎪⎪⎨
⎧
−≤≤−
≤≤≤≤
=
− 1),(hvis1...
),(hvis1),(0hvis0
),(
1
21
1
GyxftM
tyxfttyxf
yxg
M
F12 21.04.09 INF 2310 9
Kategorier av tersklings-metoderInteraktive og automatiske:• I interaktiv terskling vises bildet fram, og brukeren
prøver seg gjerne fram til han/hun finner den subjektivt beste terskelen.
• I automatisk terskling trengs ingen bruker-interaksjon, og heller ingen subjektiv vurdering.
• Mange bruker begrepet ”automatisk” for å implisere at brukeren ikke trenger å spesifisere parametere til tersklings-rutinen.
• I denne forstand finnes det egentlig ingen automatiske metoder for valg av ”optimal” terskel. Det er alltid innebygde parametre i algoritmene.
• ”Optimal” er ofte et misbrukt ord.
F12 21.04.09 INF 2310 10
Basis - terskling• Anta at et bilde har to
intensitets-områder: forgrunn og bakgrunn.
• Histogrammet vil da vise to topper, gjerne med et ”dal-søkk” mellom.
• Avhengig av hvor mye forgrunn vi har i forhold til bakgrunn, kan det hende vi ikke ser to topper.
• Hvor skal vi legge terskelen?
F12 21.04.09 INF 2310 11
Eksempel – bimodalitet i lokale vinduer
Unimodal
Bimodal, skjevt forhold
Bimodal, ca 1:1
F12 21.04.09 INF 2310 12
To Gauss-fordelinger• To Gauss-fordelinger med
samme standardavvik, σ.• D = µ2-µ1
• Like a priori sannsynligheter.• D avgjør om vi ser to topper.
• Ulike a priori sannsynlighet.• D avgjør om vi ser to topper.
• Veldig ulike sannsynligheter.• Selv ved stor verdi for D
ser vi ikke to topper.
0
0,032
0 8 16 24 32 40 48 560
0,032
0 8 16 24 32 40 48 56
D=µ2-µ1=2σ D=µ2-µ1=3σ
0
0,05
0 8 16 24 32 40 48 560
0,05
0 8 16 24 32 40 48 56
0
0,04
0 8 16 24 32 40 48 560
0,04
0 8 16 24 32 40 48 56
F12 21.04.09 INF 2310 13
Fordelinger, standardavvik og varians • En Gauss-fordeling (normalfordeling) er gitt ved
• middelverdien µ• variansen σ2:
• Varians: σ2,
• Standardavvik: σ
2
2
2
)(
21)( σ
µ
πσ
−−
=x
ezp
F12 21.04.09 INF 2310 14
Betydningen av σ• Hvis pikselverdiene til et objekt i et bilde er normalfordelt
med middelverdi µ og standardavvik σ så vil 68% av pikselverdiene ligge i intervallet <µ- σ, µ+ σ>.
• 95% av pikselverdiene ligger i intervallet <µ- 2σ, µ+ 2σ>.• 99% av pikselverdiene ligger i intervallet <µ- 3σ, µ+ 3σ>.
Andel av fordelingen innenfor intervallet
F12 21.04.09 INF 2310 15
Histogram, normalisert, skalert• Et eksempel:• To Gauss-fordelinger
• Skalerer med a priori sannsynligheter, f.eks. P1 =0.2, P2 = 1-P1 = 0.8
• Dette kan forskyve både– minimum i bildets histogram– skjæringspunktet mellom fordelingene
0
0,04
0 8 16 24 32 40 48 56
0
0,15
0 8 16 24 32 40 48 56
F12 21.04.09 INF 2310 16
Klassifikasjons-feil ved terskling
- Bakgrunn - Forgrunn
Terskel t
Forgrunn som feilklassifiseressom bakgrunn med terskelen t Bakgrunn som feilklassifiseres
som forgrunn med terskelen t
F12 21.04.09 INF 2310 17
Klassifikasjonsfeil ved terskling• Anta at histogrammet er en sum av to fordelinger b(z) og f(z),
b og f er normaliserte bakgrunns- og forgrunns-histogrammer.• La F og B være a priori sannsynlighet for bakgrunn og
forgrunn (B+F=1)• Det normaliserte histogrammet til bildet kan da skrives
• Sannsynlighetene for å feilklassifisere et piksel, gitt en terskelverdi t,finner vi fra de normaliserte fordelingene:
)()()( zfFzbBzp ⋅+⋅=
∫
∫∞
∞−
=
=
tF
t
B
dzzbtE
dzzftE
)()(
)()(
F12 21.04.09 INF 2310 18
Den totale feilen• Vi har funnet andelen feilklassifikasjon i hver fordeling.• Den totale feilen finner vi ved å multiplisere med
a priori sannsynlighetene for forgrunn og bakgrunn:
• Legges terskelen veldig høyt eller veldig lavt, blir feilen stor.
• Det er rimelig å anta at feilen har et minimum for en bestemt verdi t =T.
∫ ∫∞−
∞
+=
⋅+⋅=t
t
FB
dzzbBdzzfF
tEBtEFtE
)()(
)()()(
F12 21.04.09 INF 2310 19
Finn den T som minimerer feilen
• Deriverer E(t) mhp. t vha. Leibnitz regel (se neste foil) for derivasjon av integraler.
• Setter den deriverte lik 0 og får:
• Merk at dette er en generell løsning som gir minst feil.
• Det er ingen restriksjoner mht. fordelingene b og f !!
∫ ∫∞−
∞+=
t
tdzzbBdzzfFtE )()()(
)()(0)( TbBTfFdt
tdE ⋅=⋅⇒=
VIKTIG !!!
F12 21.04.09 INF 2310 20
Leibnitz’ regel• Hvordan deriverer vi integralet
• Der integrasjonsgrensene er avhengig av derivasjonsparameteren? Leibnitz’ regel sier:
• I vårt tilfelle har vi to integraler:
• For det første integralet finner vi at:a(λ) =-∞ (derivert = 0), b(λ) = t (derivert = 1), f(x;λ)=f(z) (uavhengig av t)
• For det andre integralet har vi:a(λ) = t (derivert = 1), b(λ) = ∞ (derivert = 0), f(x;λ)=b(z) (uavhengig av t)
• Dermed har vi til sammen:
∫=)(
)();()(
λ
λλλ
b
adxxfI
∫ ∫∞−
∞+=
t
tdzzbBdzzfFtE )()()(
)()(0)( TbBTfFdt
tdE ⋅=⋅⇒=
( ) ( ) ∫ ∂∂+−=
)(
)(
);();()();()()( λ
λ λλλλ
λλλλ
λλ
λλ b
adxxfaf
ddabf
ddb
ddI
F12 21.04.09 INF 2310 21
Terskling av to Gauss-fordelinger
• Anta at bakgrunns- og forgrunns-intensitetenefølger hver sin Gauss-fordeling, b(z) og f(z),slik at det normaliserte histogrammet kan skrives som
• F og B er a priori sannsynligheter for for- og bakgrunn• µB og µF er middelverdiene for bakgrunn og forgrunn. • σB
2 og σF2 er variansen for bakgrunn og forgrunn.
2
2
2
2
2)(
2)(
22)( F
F
B
B x
F
x
B
eFeBzp σµ
σµ
πσπσ
−−−−
+=
F12 21.04.09 INF 2310 22
Optimal løsning – to Gauss-fordelinger
• Vi vet at optimal løsning ligger der hvor
• Vi setter inn for b(z) og f(z):
• Vi kan stryke √2π og ta logaritmen:
• Dette gir en annengrads-ligning i T:
• Vi kan altså få to løsninger for T.
)()( TbBTfF ⋅=⋅2
2
2
2
2)(
2)(
22B
B
F
F T
B
T
F
eBeF σµ
σµ
πσπσ
−−−−
=
( ) ( )⎟⎟⎠
⎞⎜⎜⎝
⎛−−=⎟⎟
⎠
⎞⎜⎜⎝
⎛−−
BB
B
FF
F BTFTσσ
µσσ
µ ln2
ln2 2
2
2
2
( ) ( ) 0ln22 22222222222 =⎟⎟⎠
⎞⎜⎜⎝
⎛+−+−+−
B
FFBBFFBBFFBFB F
BTTσσσσµσµσσµσµσσ
F12 21.04.09 INF 2310 23
To terskler – når kan det skje?• Hvis standardavvikene i de to Gauss-fordelingene er forskjellige
– og skjæringspunktene mellom fordelingene (skalert med a priori sannsynlighet) ligger innenfor gråtoneskalaen i bildet
• En terskelverdi for hvert skjæringspunkt.
• Det er bare mellomde to tersklene at flertallet av pikslene er bakgrunnspiksler!
0
0,032
0 8 16 24 32 40 48 56
F12 21.04.09 INF 2310 24
Hvor ligger optimal terskel?• Vi har en annengradsligning i T:
• Hvis standard-avvikene i de to fordelingene er like (σB= σF= σ > 0) får vi en enklere ligning:
• Hvis a priori sannsynlighetene F og B er omtrent like har vi en veldig enkel løsning:
( ) ( ) 0ln22 22222222222 =⎟⎟⎠
⎞⎜⎜⎝
⎛+−+−+−
B
FFBBFFBBFFBFB F
BTTσσσσµσµσσµσµσσ
⎟⎠⎞
⎜⎝⎛
−++=
=⎟⎠⎞
⎜⎝⎛+−+−−
BFT
FBT
FB
FB
FBFBFB
ln)(2
)(
0ln2))(()(2
2
2
µµσµµ
σµµµµµµ
c
2)( FBT µµ +=
F12 21.04.09 INF 2310 25
Hvis vi nå bare antar at P1=P2
• Et lite eksempel:• For = µ1 = 20 og µ2= 44,
med σ1 = σ2 = 8, så vil T = (µ1+µ2)/2= 32 være en OK terskel, selv om P1 =0.6 ≠ P2.
• For P1 =0.9 ≠ P2vil feilen bli ganske stor.
0
0,032
0 8 16 24 32 40 48 56
0
0,05
0 8 16 24 32 40 48 56
F12 21.04.09 INF 2310 26
Eksempel: To cosinus-fordelinger• Anta mørke objekter på lys bakgrunn, og fordelinger gitt ved:
• Med z0=1, a=1 for objektene, og z0=3, a=2 for bakgunnen:
• Hvis 1/3 av alle pikslene er objekt-pikslerblir de skalerte fordelingene slik:
• La oss finne – terskelverdien, T, som gir minst mulig total feil– andelen feilklassifiserte objektpiksler,
Eo(T), ved denne terskelverdien.
( )
⎪⎩
⎪⎨⎧ +≤≤−⎥⎦
⎤⎢⎣⎡ −
=ellers
azzazforzzazp
0
)()(2
cos4)( 00
0 ππ
0
1
0 1 2 3 4 5
0
0,25
0,5
0 1 2 3 4 5
F12 21.04.09 INF 2310 27
To cosinus-fordelinger – del II• Vi skal finne den terskelen T som gir minst mulig feil, dvs:
• Andelen feilklassifiserte objektpiksler finner ved å integrere forgrunnsfordelingen (substituerer y=z-1)
( ) ( )
( ) ( ) ( ) ( ) ( )⎪⎩
⎪⎨⎧−
=⇒−±=−
⇒⎥⎦⎤
⎢⎣⎡ −=⎥⎦
⎤⎢⎣⎡ −
⇓
⎥⎦⎤
⎢⎣⎡ −
⎟⎠⎞
⎜⎝⎛ −=⎥⎦
⎤⎢⎣⎡ −
⇓
=
35
1
43
21
43cos
21cos
43cos
8311
21cos
431
)()(
umuligTTTTT
TT
TpPTpP bboo
ππππ
ππππ
( )
075.0231
21
3sin
2sin
21
2
2sin
4
2cos
421cos
41
32
1
32
2
35
≈⎟⎟⎠
⎞⎜⎜⎝
⎛−=⎟
⎠⎞
⎜⎝⎛ −=
⎟⎠⎞
⎜⎝⎛
=
⎥⎦⎤
⎢⎣⎡=⎥⎦
⎤⎢⎣⎡ −= ∫∫
πππ
ππ
ππππ
y
dyydzzE
F12 21.04.09 INF 2310 28
Terskling, to Poisson-fordelinger
• Poisson-fordelingen er gitt ved:
• Skjæringspunktet mellom to skalerte fordelinger er gitt ved:
• Og terskel-verdien som gir minst mulig feil blir da:
• For (µ1,P1)=(32,0.4), (µ2,P2) =(40,0.6) finner vi at T≈34.
( )
( ) ( )
( )
( )
⎟⎟⎠
⎞⎜⎜⎝
⎛
⎟⎟⎠
⎞⎜⎜⎝
⎛+−
=
⎟⎟⎠
⎞⎜⎜⎝
⎛+−=⎟⎟
⎠
⎞⎜⎜⎝
⎛
⎟⎟⎠
⎞⎜⎜⎝
⎛=⎟⎟
⎠
⎞⎜⎜⎝
⎛
=
==
−
−−
−
1
2
2
112
2
212
1
2
2
1
1
2
11
22
ln
ln
lnln
!!
2,1,!
)|(
12
12
µµ
µµ
µµµµ
µµ
µµ
µω
µµ
µµ
µ
PP
T
PPT
ePP
TeP
TeP
ix
exp
T
TT
xi
ii
0
0,05
0 8 16 24 32 40 48 56
F12 21.04.09 INF 2310 29
En enkel tersklings-algoritme• Start med terskel-verdi t = middelverdien til alle pikslene i bildet.
– Finn middelverdien (µ1(t)) av alle piksler som er mørkere enn terskelen– Finn middelverdien (µ2(t)) av alle piksler som er lysere enn terskelen.
• La ny terskel-verdi være
• Gjenta de to punktene ovenfor til terskelen ikke flytter seg mer.• Dette kalles Ridler og Calvard’s metode • Dette gjøres i algoritmen på side 742 i GW.
– Hvilke betingelser må være oppfylt for at metoden skal virke?– Når vil denne metoden svikte?
( ))()(21
21 ttt µµ +=
F12 21.04.09 INF 2310 30
Samme algoritme: bruk histogrammet!
• Når vi skal terskle et ukjent bilde, kjenner vi ikke µB eller µF (og heller ikke σB og σF )
• Vi kan iterativt estimere µB og µF fra bildets histogramgitt den terskelen tk vi bruker:
• Merk at estimatene µ1(tk) og µ2(tk) finnes fra trunkerte fordelinger (trunkert ved terskelen tk)
[ ]⎥⎥
⎦
⎤
⎢⎢
⎣
⎡+=+=∑∑
∑∑
−
+=
−
+=
=
=+ 1
1
1
1
0
0211
)(
)(
)(
)(21)()(
21
G
ti
G
tit
i
t
ikkk
k
k
k
k
ip
iip
ip
iipttt µµ
F12 21.04.09 INF 2310 31
Bruk histogrammet mer effektivt!
• Oppgave 10.26: Reformulér algoritmen i 10.2.3 slik at vi bruker normalisert histogram istedenfor pikselverdier:– Det har vi allerede gjort!
• Ny oppgave: Bruk kumulativt histogram og kumulativ middelverdi:
• Husk at P1(i) er det kumulative normaliserte histogrammet:
⎥⎦
⎤⎢⎣
⎡−−+=
⎥⎥
⎦
⎤
⎢⎢
⎣
⎡+=∑∑
∑∑
−
+=
−
+=
=
=+ )(1
)()()(
21
)(
)(
)(
)(21
111
1
1
1
0
01
k
k
k
kG
ti
G
tit
i
t
ik tP
ttPt
ip
iip
ip
iipt
k
k
k
k µµµ
)1()1(),()1()(
)()1()(
1
11
−−=+−=
+−=
GPGiipii
ipiPiPµµµµ
F12 21.04.09 INF 2310 32
Otsu’s metode - motivasjon• Anta at vi har et gråtonebilde med G gråtoner,
med normalisert histogram p(i).• Anta at bildet inneholder to populasjoner av piksler,
slik at pikslene innenfor hver populasjon er noenlunde like, mens populasjonene er forskjellige.
• Målsetting:Vi vil finne en terskel T slik at hver av de to klassene
som oppstår ved tersklingen blir mest mulig homogen, mens de to klassene bli mest mulig forskjellige.
– Klassene er homogene: variansen i hver av de to klassene er minst mulig.
– Separasjonen mellom klassene er stor: avstanden mellom middelverdiene er størst mulig.
F12 21.04.09 INF 2310 33
Otsu’s metode – enkle begreper• A posteriori sannsynlighet for de to klassene er:
• Middelverdien for gråtoner i de to klassene er:
• Variansen innenfor de to klassene er:
∑∑−
+==
−===1
112
01 )(1)()( ,)()(
G
ti
t
itPiptPiptP
∑∑∑ ∑
∑∑
∑∑∑
−
=
−
=
−
= =−
+=
−
+=
==
=
≡−−=
−==
≡==
1
0
1
0
12
1
0 01
1
1
12
010
01
)(
)(,
)(1)(
)()()(
)(
)()(
)()(,)()(
)(
)()(
G
i
G
i
G
i
t
iG
ti
G
ti
t
it
i
t
i
ip
iiptPt
tPiipiip
ip
iipt
iipttPt
ip
iipt
µµµµ
µµµ
[ ] [ ]
[ ] [ ] )()()(1
1)(
)()()(
)()()(
1)(
)()()(
22
12
1
12
222
21
11
02
121
iptitPtP
iptit
iptitPtP
iptit
G
ti
t
i
µµ
σ
µµ
σ
−−
=−
=
−=−
=
∑
∑
−
+=
=
F12 21.04.09 INF 2310 34
Otsu’s metode – litt grundigDen totale variansen i intensitetsfordelingen
kan selvsagt deles i to ved
I hver summasjon kan vi addere og subtrahere klassens a posteriori middelverdi
( ) ( ) )()( 21
1
2
0
2 ipiipiG
ti
t
iTot ∑∑
−
+==
−+−= µµσ
( ) ( )ipiG
iTot
21
0
2 ∑−
=
−= µσ
[ ] [ ]
[ ] [ ] [ ][ ]
[ ] [ ] [ ][ ] )()()(2)()()()(
)()()(2)()()()(
)()()()()()(
2
1
12
21
12
21
12
10
1
2
01
2
01
21
122
2
011
2
ipttiiptipti
ipttiiptipti
ipttiiptti
G
ti
G
ti
G
ti
t
i
t
i
t
i
G
ti
t
iTot
µµµµµµ
µµµµµµ
µµµµµµσ
−−+−+−+
−−+−+−=
−+−+−+−=
∑∑∑
∑∑∑
∑∑
−
+=
−
+=
−
+=
===
−
+==
F12 21.04.09 INF 2310 35
Otsu’s metode – litt grundig IIFørste ledd i hver av de to siste linjene på forrige foil kan uttrykkes ved
definisjonene av σ12(t) og σ2
2(t).Andre ledd kan uttrykkes ved P1(t) og P2(t), siden µ, µ1(t) og µ2(t) er
uavhengige av summasjonsvariabelen i. Altså får vi
De to summene bakerst faller bort, fordi
Totalvariansen i bildet er summen av σW(t) og σB(t) !
• Siden σTot2 er konstant: finn t som maksimerer σB
2(t).• Uttrykket for σB
2(t) kan skrives som (se nederst t.h., forrige foil):
• Otsu’s metode: Søk etter maksimalverdien av σB2(t)
for alle verdier av t der 0 < P1(t)< 1.
( ) ( )
[ ] [ ]
[ ] ( ) [ ]
[ ] 1)(0,)()())(1)(()()(
))(1)(()()()()(1)()(
)(1)()(
)()()(
))(1()(1)()(
)()(
))(1()()()()(
2
2
11
21
11
2111
21
1
21
1
21
1
2
11
2
1
12
212
12
≤≤=−
−=
−+−+−−=
−+−−+−=
−⎥⎦
⎤⎢⎣
⎡−
−−+⎥
⎦
⎤⎢⎣
⎡−=
−−+−=
ttttPtPtPt
tPtPtPttPtPtPt
tPtPt
tPtPt
tPtPttP
tPt
tPttPtt
Tot
B
B
ησ
σηµµ
µµµµ
µµµµµµ
µµµµµ
µµµµσ
F12 21.04.09 INF 2310 37
Otsu’s metode; oppsummering• Gitt et NxM pikslers bilde med G gråtoner.• Finn bildets histogram, h(k), k= 0,1,2,..,G-1.• Finn bildets normaliserte histogram:
• Beregn kumulativt normalisert histogram:
• Beregn kumulativ middelverdi, µ(k):
• Beregn global middelverdi, µ:
• Beregn variansen mellom klassene, σB2(k):
• Finn terskelen der σB2(k) har sitt maksimum.
• Beregn separabilitetsmålet, η(t):
1...,,2,1,0,)()(0
−=≡∑=
Gkiipkk
iµ
[ ]))(1)(()()()(
11
212
tPtPtPttB −
−= µµσ
1)(0,)()( 2
2
≤≤= tttTot
B ησ
ση
1...,,2,1,0,)()( −== GkMN
khkp
1...,,2,1,0,)()(0
1 −==∑=
GkipkPk
i
∑−
=
≡1
0
)(G
iiipµ
F12 21.04.09 INF 2310 38
Terskling i Matlab• I Matlab kan vi implementere iterativ terskling ved:
>> T=0.5*(double(min(f(:))) + double(max(f(:))));>> done = false;>> while ~done
g = f >= T;Tnext = 0.5*(mean(f(g)) + mean(f(~g)));done = abs(T – Tnext) < 0.5;T = Tnext;
end
• Funksjonskallet T=graythresh(f) finner Otsu-terskelen, dvs. den terskelverdien T som maksimerer σB
2 for bildet f.
F12 21.04.09 INF 2310 39
Effekten av a priori sannsynlighet• Total tersklingsfeil mot log10(P1/P2)
for fire verdier av µ2-µ1 = Dσ:
D = 1 D = 2 D = 3 D = 4
• Feilen øker raskt vedlog10(P1/P2) ≈ 1
• => Otsu’s metode bør bare brukes når 0.1<P1/P2<10.
• Det samme gjelder for Ridler & Calvard.• Det finnes gode alternativer !
F12 21.04.09 INF 2310 40
”Minimum feil” terskling
• Kittler og Illingworth (1985) beregner et kriterium for alle mulige terskelverdier:
• For hver t-verdi estimeres alle fem parametrene. • Beregn J(t) for alle t og finn minimum, eller finn løsning iterativt.• Kriterie-funksjonen har lokale minima ved endene av gråtoneskalaen.• En uheldig start-verdi i et iterativt søk kan gi meningsløs terskelverdi. • Bruk Otsu’s terskelverdi som start-verdi i et iterativt søk.
• Otsu’s terskel (venstre) gir signifikant feilterskling.• Kittler og Illingworth’s terskel (høyre) er OK.
Kriteriefunksjoner: σB2(t) og J(t)
0
0,05
0 8 16 24 32 40 48 56
0
0,05
0 8 16 24 32 40 48 56
F12 21.04.09 INF 2310 42
Effekten av støy i bildet• Gitt to-nivå gråtonebilde
– G=256.– A priori sannsynligheter ≈ 0.5.
• Støy=> Mister bimodalitet.
• Global terskling => Mange feilklassifiserte piksler.
• Støyfjerning + terskling:+ Bimodalt histogram
=> bedre terskling– Blurring av bildet
=> feil langs objekt-kanten.
F12 21.04.09 INF 2310 43
Bruk av kant-informasjon• Hvordan kan vi unngå problemene som følger av at objekt
og bakgrunn har ulik a priori sannsynlighet?– Bruk bare piksler som ligger på eller nær overgangen mellom
objekt og bakgrunn.– Forholdet mellom a priori sannsynligheter blir da ≈ 1.
• Hvordan gjør vi det?– Bruk en gradient-estimator, og terskle resultatet.– Bruk en Laplace-operator (nullgjennomgang), og utvid resultatet.
• Dette er egentlig en sirkelslutning:– For å forbedre tersklingen av objektet trenger vi objektets omriss.– For å avgrense omrisset trenger vi en terskling.
F12 21.04.09 INF 2310 44
Eksempel I• Gitt et bilde f(x,y) der objekt-arealet er relativt lite.• Beregn et kantbilde
– Enten gradient-magnitude eller absoluttverdi av Laplace.• Terskle kantbildet med en høy terskel.
-> ”maske-bilde” GT(x,y)• Finn histogram av
f(x,y) • GT(x,y)• Finn optimal terskel
med f.eks. Otsu.• Anvend på f(x,y).• Nær perfekt
resultat.
F12 21.04.09 INF 2310 45
Eksempel II• Vi ønsker å finne de lyse strukturene i f(x,y).• Vanskelig histogram:
– Otsu ->”feil” terskelverdi
• Beregn abs(Laplace)• Terskle (høy percentil)
-> ”maske-bilde” GT(x,y)
• Finn histogram av f(x,y) • GT(x,y).
• Finn optimal terskel med f.eks. Otsu.
• Anvend på f(x,y).
F12 21.04.09 INF 2310 46
Variabel belysning• I tillegg til støy kan vi ha ujevn belysning.• Feilfri global terskling er da ikke mulig uten bruk av
– Støyfjerning i bildet– Bruk av kant-informasjon– Dette virker ikke alltid.
• Fjern lave frekvenser i bildet.• Variabel terskling.
– Oppdeling av bildet– Lokalt adaptiv terskling
• Et helt annerledes alternativ:– Dividér bildet med bilde av homogen flate med samme belysning.
F12 21.04.09 INF 2310 47
Generalisering til fler-nivå• Ridler & Calvard’s metode kan generaliseres til M terskler:
• Nytt sett terskelverdier beregnes til alle terskler er stabile– dvs til alle differansene |tn,k – tn,k-1|, 1≤n≤M, er mindre enn ∆T.
• Prosedyren konvergerer vanligvis raskt.
2)1,1(),(
2),1(),0(
,,,11,
,2,1,11,1
−++=
++=
−+
+
Gtttt
tttt
kMkMkMkM
kkkk
µµ
µµ
M
F12 21.04.09 INF 2310 48
Flernivå Otsu-terskling• Vi kan skrive variansen mellom klassene σB
2(t) som
• Deriverer og setter δσB2(t)/δt =0. Dette gir en løsning ved
• Dette kan skrives som µ1(T) + µ2(T) = 2T • Vi ser altså en sammenheng mellom Ridler & Calvard og Otsu.• Det samme gjelder for flernivå terskling (se forrige foil).
[ ] [ ] 201
1
21
1
0
2
02
)(
)(
)(
)(µσ −+=
∑∑
∑∑
−
+=
−
+=
=
=G
ti
G
tit
i
t
iB
ip
iip
ip
iip
Tip
iip
ip
iipG
Ti
G
TiT
i
T
i 2)(
)(
)(
)(1
1
1
1
0
0 =+∑∑
∑∑
−
+=
−
+=
=
=
F12 21.04.09 INF 2310 49
Global, variabel eller adaptiv?
• Global terskling : – Samme verdi for T over hele bildet.
• Variabel terskling: – Verdien av T varierer over bildet.
• Lokalt adaptiv terskling: – T beregnes fra bildets lokale egenskaper (µ, σ, ...)
F12 21.04.09 INF 2310 50
Adaptiv terskling ved interpolasjon
• Globale terskler gir ofte dårlig resultat.• Globale metoder kan benyttes lokalt.• Dette virker ikke der vinduet bare inneholder en klasse !• Oppskrift:
– NIVÅ I: Del opp bildet i del-bilder.• For del-bilder med bi-modalt histogram:
– Finn lokal terskelverdi Tc(i,j) og tilordne den til senterpikselet (i,j) i del-bildet.
• For del-bilder med uni-modalt histogram: – Finn lokal terskelverdi ved interpolasjon.
– NIVÅ II: Piksel-for-piksel interpolasjon:• Gå gjennom alle piksel-posisjoner
– bestem adaptiv terskelverdi T(x,y) ved interpolasjon mellom de lokale terskelverdiene Tc(i,j).
• Terskle så hvert piksel (x,y) i bildet i terskelverdiene T(x,y).
F12 21.04.09 INF 2310 51
Adaptiv terskling• Lokale endringer i bakgrunn
og kontrast kan håndteres.– kan skyldes ujevn belysning/bakgrunn.
• Man kan bruke – Overlappende vinduer– ikke-overlappende vinduer
• Størrelsen på vinduene kan være avgjørende ...
F12 21.04.09 INF 2310 52
En enkel adaptiv metode ...• En metode som benytter det dere lærte
i forelesningen om gråtonetransformer:• Beregn middelverdi og standardavvik
innenfor et glidende (w x w) vindu over hele bildet. • Nieblack’s metode: Sett den lokale terskelverdien til
• La ut-bildet være gitt ved
• Ex.: for w = 31, k = - 0.8 :
),(),(),( jikjijit σµ +=
⎩⎨⎧
>≤
=),(),( hvis 1),(),( hvis 0
),(jitjifjitjif
jig
F12 21.04.09 INF 2310 53
Samforekomst-matriser• Vi har sett 2-D histogrammer fra to kanaler i fargebilder.• Samforekomst-matriser er også 2-D histogrammer.
• De viser hvor mange forekomster vi har av at – et piksel har gråtone i samtidig som– en nabo i avstand d og retning θ har gråtone j.
• Vi kan skrive dette som h(i,j|d,θ).– For (d,θ) = (1,0) betrakter vi første nabo i x-retning– For (d,θ) = (1,π/2) betrakter vi første nabo i y-retning
• Vi kan legge sammen slike matriser fra flere retninger:0.5*[h(i,j|d=1,θ=0) + h(i,j|d=1,θ=π/2)]gir en samforekomst-matrise i begge retninger (x og y).
F12 21.04.09 INF 2310 54
GLCM-terskling• Anta at vi har en samforekomst-matrise c(i,j|d,θ).• Finn den terskelverdi i bildet som gir færrest mulig antall
overganger fra 0 til 1 eller 1 til 0 horisontalt og vertikalt i bildet etter terskling.
• Antall overganger fra 0 til 1
• Antall overganger fra 1 til 0
• Minst kompleksitet: Finn den T som minimerer Obf + Ofb
∑ ∑−
+= =
=1
1 0
),|,(G
Ti
T
jbf djicO θ
i
∑ ∑=
−
+=
=T
i
G
Tjfb djicO
0
1
1
),|,( θ
0G-1
j
bb bf
fb ff
T
T
G-1
F12 21.04.09 INF 2310 55
Hva med ”Dalmatineren” ...
Ved å bruke en segmentering basert på
flere skalaer kan vi (nesten) håndtere
”Dalmatiner-bildet”
Ved å inkludere tekstur-informasjon kan vi også håndtere
et godt kamuflert ekorn.
F12 21.04.09 INF 2310 56
Oppsummering terskling• Gitt to vilkårlig fordelinger f(z) og b(z) vil den
terskelverdien som minimerer feilen alltid ligge i skjæringspunktet der
• Ridler og Calvard’s metode er en enkel algoritme.– Hvilke betingelser må være oppfylt for at den skal virke?
• Otsu’s metode maksimerer separasjon mellom to normalfordelte klasser.
• Nieblack’s metode gir lokalt adaptiv terskel basert på middelverdi og standardavvik i løpende vindu.
• Samforekomst-matriser kan også brukes til terskling.