mixture models – soft tissue filter
TRANSCRIPT
1
lMixture models – Soft Tissue Filter
I. FrosioAIS Lab
http:\\homes.dsi.unimi.it\∼frosio\1/45A.A. 2009-2010
http:\\homes.dsi.unimi.it\∼frosio\
Overview
• Mixture models: introduzione;• Segmentazione di radiografiaSegmentazione di radiografia
cefalometrica;• Derivazione di EM per il caso di un
mixture model a componentigaussiane;
http:\\homes.dsi.unimi.it\∼frosio\2/45A.A. 2009-2010
• Ottimizzazione vincolata(moltiplicatori di Lagrange);
• Soft Tissue Filter.
2
Mixture models: introduzione
• La funzione di verosimiglianzapermette di stimare i parametripermette di stimare i parametriincogniti di una distribuzione (es.media e varianza di una gaussiana);
• Nei casi reali, la densità di probabilitàpuò essere complessa a piacere;
http:\\homes.dsi.unimi.it\∼frosio\3/45A.A. 2009-2010
• In particolare, si può considerare unacombinazione lineare (mixture) divariabili casuali mixture models
Mixture models: introduzione
• In un mixture model, la d.d.p. complessiva èla combinazione lineare di M d.d.p. di base.
∑=M
jPjpp )()|()( xx θ
ddp complessivaProbabilità che il dato x provenga
dalla J-esima
Probabilità del dato x nella J-esima distribuzione
http:\\homes.dsi.unimi.it\∼frosio\4/45A.A. 2009-2010
∑ ∫
∑
=
=
=<=<==M
j
j
jpjPjP
jjpp
1
1
1)|(;1)(0;1)(
)()|()(
xθ
θ dalla J esima distribuzione
3
Mixture models: introduzione (incognite)
∑=M
jPjpp )()|()( xx θ∑=j 1
Dati
La d.d.p. complessiva, p(x), viene misurata.
La forma delle d.d.p. di base, pq(x|j), viene scelta a priori (es.gaussiana).
http:\\homes.dsi.unimi.it\∼frosio\5/45A.A. 2009-2010
Incognite
I parametri θ di ogni d.d.p. di base, pθ(x|j), devono essere stimati.
Le probabilità per ogni d.d.p. di base, P(j), devono essere stimate.
Mixture models: introduzione
• Per la stima del vettore dei parametri θviene utilizzato…
ll• … L’approccio alla massima verosimiglianza.• Mixture model:• p(x) = Σj=1..M pθ(x | j) ·P(j)• Likelihood function:• L = L (θ) = p(x1 | θ) · p(x2 | θ) ·… p(xD | θ);
http:\\homes.dsi.unimi.it\∼frosio\6/45A.A. 2009-2010
• Negative log likelihood function:• E = E (θ) = -log(L) = -Σi=1..D log [p(xi | θ)] =
=− Σi=1..D log [Σj=1..M pθ(xi | j)P(j)]
4
Mixture models: esempi• In un supermercato vi sono due tipi di clienti: single e coppie.
La percentuale di single è pari al 33%. La spesa per un singleè descritta da una variabile casuale distribuita come unagaussiana, media 70 euro, varianza 30 euro; per una coppia, lamedia è pari a 100 euro, la varianza 40 euro -> mixture modelper descrivere la spesa media (istogramma bimodale);
• Si supponga che esistano altre categorie (famiglie,frequentatore occasionale, ...) -> è sufficiente estendere ilmodello per includere le nuove categorie...
http:\\homes.dsi.unimi.it\∼frosio\7/45A.A. 2009-2010
p g
• Si supponga che la spesa per le famiglie sia benrappresentata da una variabile casuale con distribuzione chiquadro, media xxx, etc...E’ un problema? -> NO! Possiamoincludere anche questo caso nel mixture model...
Mixture models: introduzione (riassunto)
• Mixture models: una combinazione linearedi densità di probabilità utilizzata perdescrivere la densità di probabilità deglielementi di un vettore di dati misurato.
• Le incognite sono i parametri di ogni ddpdel mixture e la probabilità di ogni singolacomponente del mixture.
http:\\homes.dsi.unimi.it\∼frosio\8/45A.A. 2009-2010
• I parametri vengono calcolatimassimizzando la funzione diverosimiglianza.
5
Mixture models: segmentazione radiografia cefalometrica
I(x,y) immagine NRow x NCol, 8 bit (256 livelli di grigio g);Hist(·) istogramma, 256 componenti;Hist(g) # pixel t.c. I(x,y)=g;Hi ( ) / (NR * NC l) ( )Hist(g) / (NRow * NCol) = p(g).
Hist(g) =
ddp
I(x,y)
http:\\homes.dsi.unimi.it\∼frosio\9/45A.A. 2009-2010
= #pixel
g
Solo 4 livelli di grigio
Mixture models: segmentazione radiografia cefalometrica
Bac
kgro
und
Bac
kgro
und
p(g)
Soft
tiss
ue
Soft tissue
Bone tissue
Bone tissueIstogramma tipico immagine
radiografica cefalometrica
http:\\homes.dsi.unimi.it\∼frosio\10/45A.A. 2009-2010
Background
g
Soft tissue
Bone tissue
Measured histogram
6
Mixture models: segmentazione radiografia cefalometrica
p(g)
Measured histogram
Background
g
Soft tissue
Bone tissue
g
http:\\homes.dsi.unimi.it\∼frosio\11/45A.A. 2009-2010
Livelli di grigio diversiidentificano tessutidiversi (sogliasegmentazione).
Mixture models: segmentazione radiografia cefalometrica
p(g)
Measured histogram
g
Soft tissue
Bone tissue
g
Pixel classificati erroneamente
http:\\homes.dsi.unimi.it\∼frosio\12/45A.A. 2009-2010
7
Mixture models: segmentazione radiografia cefalometrica
• L’istogramma di una radiografiacefalometrica è composto da trecomponenti principali;componenti principali;
• Il problema di segmentazione dell’immaginesi presta ad essere trattato con unapproccio tipo mixture model;
• Ogni componente del mixture model saràresponsabile rispettivamente dellagenerazione dei dati relativi a background,
http:\\homes.dsi.unimi.it\∼frosio\13/45A.A. 2009-2010
generazione dei dati relativi a background,soft tissue e bone tissue;
• Massimizzazione della verosimiglianza: EM(massimizzazione di lower bound).
Mixture models: segmentazione radiografia cefalometrica
• Funzione da minimizzare (incognita θ):
( ) ( ) ( )∏ ∑N N
nn lll
• Per ogni iterazione, i parametri vengonoaggiornati (old new, indice θ omesso):
( ) ( ) ( )∏ ∑= =
−=−=−=n n
nn xpxpLE1 1
lnlnln ϑϑ
( )⎤⎡
http:\\homes.dsi.unimi.it\∼frosio\14/45A.A. 2009-2010
( ) ( ) ( )( )∑∑∑
===⎥⎦
⎤⎢⎣
⎡−=⎥
⎦
⎤⎢⎣
⎡−−−=−
N
nnold
nnewN
n
noldN
n
nnewoldnew
xpxpxpxpEE
111lnlnln
8
Mixture models: segmentazione radiografia cefalometrica
( ) ( ) ( )( )∑∑∑
===⎥⎦
⎤⎢⎣
⎡−=⎥
⎦
⎤⎢⎣
⎡−−−=−
N
nnold
nnewN
n
noldN
n
nnewoldnew
xpxpxpxpEE
111lnlnln
( ) ( ) ( )∑=
⋅=M
j
jxpjPxp1
|
Ricordando che:
Si ottiene:
1
http:\\homes.dsi.unimi.it\∼frosio\15/45A.A. 2009-2010
( ) ( )( )
( )( )∑ ∑
= =⎥⎦
⎤⎢⎣
⎡⋅−=−
N
n
M
jnold
nold
nold
nnewnewoldnew
xjPxjP
xpjxpjPEE
1 1 |||ln
Si ottiene:
Mixture models: segmentazione radiografia cefalometrica
• La disuguaglianza di Jensen dice che:122 =∑
M
ctdati λλ 1..1
=∑=j
jj ctdati λλ
( )
( )∑∑
∑∑==
≤⎟⎞
⎜⎛
⇒≥⎟⎟⎠
⎞⎜⎜⎝
⎛
MM
M
jjj
M
jjj
KK
KK
22
1
2
1
2
ll
lnln
λλ
λλ
http:\\homes.dsi.unimi.it\∼frosio\16/45A.A. 2009-2010
( )∑∑==
−≤⎟⎟⎠
⎜⎜⎝
−⇒j
jjj
jj KK1
2
1
2 lnln λλ
9
Mixture models: segmentazione radiografia cefalometrica
11
2 =∑=
M
jjλ ( ) nxjP
M
j
nold ∀=∑=
,1|1
Jensen Mixture model
http:\\homes.dsi.unimi.it\∼frosio\17/45A.A. 2009-2010
E’ possibile applicare la disuguaglianza di Jensen ai mixture model, ove i Pold(j | xn) giocano il ruolo dei λj
2.
Mixture models: segmentazione radiografia cefalometrica
• Applicando Jensen:
( )∑∑==
−≤⎟⎟⎠
⎞⎜⎜⎝
⎛−
M
jjj
M
jjj KK
1
2
1
2 lnln λλ
http:\\homes.dsi.unimi.it\∼frosio\18/45A.A. 2009-2010
( ) ( )( )
( )( )∑ ∑
= =⎥⎦
⎤⎢⎣
⎡⋅−=−
N
n
M
jnold
nold
nold
nnewnewoldnew
xjPxjP
xpjxpjPEE
1 1 |||ln
10
Mixture models: segmentazione radiografia cefalometrica
( ) ( ) ( )∑ ∑ ⎥⎤
⎢⎡N M noldnnewnew
oldnew xjPjxpjPEE ||l ( ) ( )( )
( )( )∑ ∑
= =⎥⎦
⎢⎣
⋅−=−n j
noldnoldoldnew
xjPj
xpjpjEE
1 1 |||ln
( ) ( )⎤⎡M nnewnew jjP |
http:\\homes.dsi.unimi.it\∼frosio\19/45A.A. 2009-2010
( ) ( ) ( )( ) ( )∑
=⎥⎦
⎤⎢⎣
⎡⋅⋅
⋅−≤M
jnoldnold
nnewnewnold
xjPxpjxpjPxjP
1 ||ln|
Mixture models: segmentazione radiografia cefalometrica
( ) ( ) ( )( ) ( )∑∑
⎭⎬⎫
⎩⎨⎧
−≤−N M
noldnold
nnewnewnoldoldnew
PjxpjPxjPEE
||ln|( ) ( ) ( )∑∑
= = ⎭⎬
⎩⎨
⋅n jnoldnold xjPxp
j1 1 |
|
QEE oldnew +≤ Minimizzando Q si minimizza E!
ld ld
http:\\homes.dsi.unimi.it\∼frosio\20/45A.A. 2009-2010
Pold(xn), Pold(j | xn) costanti…
… dunque Q = Q (θnew)!
11
Mixture models: segmentazione radiografia cefalometrica
Eliminando i termini costanti (old) nella somma (! trasf. Logaritmica!), è sufficiente minimizzare ad ogni iterazione:
( ) ( ) ( ){ }∑∑= =
−=N
n
M
j
nnewnewnold jxpjPxjPQ1 1
|ln|~
MTenendo inoltre conto del fatto che:
Siamo tornati alla funzione
http:\\homes.dsi.unimi.it\∼frosio\21/45A.A. 2009-2010
( ) nxjPM
j
nnew ∀=∑=
,1|1
Siamo tornati alla funzione expectation!!!
L’ottimizzazione è però, in questo caso,
VINCOLATA...
Mixture models: segmentazione radiografia cefalometrica
( ) ⎟⎟⎞
⎜⎜⎛
−+= ∑M
new jPQf 1~ ψ
Si minimizza allora (metodo dei moltiplicatori di Lagrange):
( ) ⎟⎟⎠
⎜⎜⎝
+= ∑=j
jPQf1
1ψ
⎪⎪⎪⎪⎧
=∂
=∂
∂
0
0μ
f
fnewj
Cioè:
Da questo sistema possono essere
Vincolo
http:\\homes.dsi.unimi.it\∼frosio\22/45A.A. 2009-2010⎪⎪⎪⎪⎪
⎩
⎪⎪⎨
=∂∂
=∂
∂
=∂
(vincolo)0
0)(
0
ψ
σ
fjP
fnew
newj
ricavate le equazioni perl’aggiornamento dei parametri delmixture model ad ogni iterazione.
12
Ottimizzazione vincolata (moltiplicatori di Lagrange)
• Vogliamo trovare (x,y) t.c. f(x,y) èminimia nell’insieme g(x,y) = c.minimia nell insieme g(x,y) c.
• f(x,y) -> funzione da ottimizzare.• g(x,y) – c = 0 -> vincolo.
• Nel caso dell’ottimizzazione non
http:\\homes.dsi.unimi.it\∼frosio\23/45A.A. 2009-2010
Nel caso dell ottimizzazione nonvincolata -> (df/dx = 0) & (df/dy = 0).
Ottimizzazione vincolata (moltiplicatori di Lagrange)
• Nel caso di ottimizzazionevincolata la g(x,y) – c =0identifica una linea curva
f(x,y)f
nello spazio (x,y).• Il vettore [dg/dx dg/dy]
identifica la normale ag(x,y)=c.
• Il punto massimo/minimot.x. g(x,y) = c deve esseret.c. [dg/dx dg/dy] è
g(x,y)=c[dg/dx dg/dy]
http:\\homes.dsi.unimi.it\∼frosio\24/45A.A. 2009-2010
[ g g y]parallelo al gradiente di f[quindi, muovendosi lungog(x,y)=c, si osservalocalmente una variazionenulla di f]. [df/dx df/dy]
13
Ottimizzazione vincolata (moltiplicatori di Lagrange)
• Coma facciamo ad imporre che [dg/dxdg/dy] sia parallelo a [df/dx df/dy]?
• Imponiamo che grad(f) possa essereottenuto semplicemente scalando grad(g)per un fattore λ (incognito – moltiplicatoredi Lagrange), ovvero:grad(f) + λ·grad(g) = 0 (1)
http:\\homes.dsi.unimi.it\∼frosio\25/45A.A. 2009-2010
• L’equazione (1) si ottiene minimizzando(ottimizzazione non vincolata) la funzionef+λ·(g-c) (detta funzione Lagrangiana).
Ottimizzazione vincolata (moltiplicatori di Lagrange)
• (x*,y*, λ*) = argmaxx,y,λ f(x,y)+λ·(g(x,y)-c) =>
df(x*,y*)/dx+λ·dg(x,y)/dx = 0df(x*,y*)/dy+λ·dg(x,y)/dy = 0
Derivando rispetto a x,y ottieniamo il parallelismo tra i
due gradienti
http:\\homes.dsi.unimi.it\∼frosio\26/45A.A. 2009-2010
g(x,y)-c = 0 Derivando rispetto a λ ottieniamo il vincolo
14
Mixture models: segmentazione radiografia cefalometrica
• Aggiornamento P(j):( ) ( )∑
Nnoldnew jPjP |1
• Nel caso di ddp gaussiane:
( ) ( )∑=
=n
noldnew xjPN
jP1
|
( )∑N
nnold xxjP | ( )( )∑ −N
jnnold xxjP 2| μ
http:\\homes.dsi.unimi.it\∼frosio\27/45A.A. 2009-2010
( )
( )∑
∑
=
== N
n
nold
nnewj
xjP
j
1
1
|
|μ ( )
( )( )
( )∑
∑
=
== N
n
nold
nj
newj
xjP
j
1
12
|
| μσ
Mixture models: segmentazione radiografia cefalometrica
http:\\homes.dsi.unimi.it\∼frosio\28/45A.A. 2009-2010
15
Risultato (bone tissue)
• Clusterizzazione immagine in 3 zone(background, soft tissue, bone(background, soft tissue, bonetissue).
http:\\homes.dsi.unimi.it\∼frosio\29/45A.A. 2009-2010
Bibliografia• Cristopher M. Bishop, Pattern Recognition and Machine
Learning, Capitolo 2.3.9 (mixture di gaussiane), Capitolo 9.1,9.2, 9.3 (K-means, mixture models, EM).
• I. Frosio, G. Ferrigno, N. A. Borghese, “Enhancing DigitalCephalic Radiography with Mixture Model and Local GammaCorrection,” IEEE Transaction on Medical Imaging, Vol. 25,No. 1, Jan. 2006, pp. 113-121 (mixture models e radiografiacefalometrica).
• Poul Erik Frandsen, Kristian Jonasson, Hans Bruun Nielsen,Ole Tingleff, Unconstrained Optimization, disponibile in
l ( f )
http:\\homes.dsi.unimi.it\∼frosio\30/45A.A. 2009-2010
g p prete, algoritmi di minimizzazione (approfondimento).
• Cristopher M. Bishop, Pattern Recognition and MachineLearning, Capitolo 9.4, EM come minimizzazione di un lowerbound (approfondimento).
16
Exposure problems
• From film to phosphor film to CCD• Underexposed radiographies: bone cannot be
http:\\homes.dsi.unimi.it\∼frosio\31/45A.A. 2009-2010
Underexposed radiographies: bone cannot bedistinguished from soft tissue
• Overexposed radiographies: soft tissue tends to mixwith background
Typical HW solution
Low intensity X-ray field
High intensity X-ray field
http:\\homes.dsi.unimi.it\∼frosio\32/45A.A. 2009-2010
Cu Filter
17
SW solution: gamma correction
Gray level correctionformula; γ = 3
g’
formula;Used for global exposurecorrection;For 8 bit image, gray levelg is corrected to g’ as:
g’ = 255 · [(g / 255) 1/γ]
γ
γ = 1
γ = 0.33
g
http:\\homes.dsi.unimi.it\∼frosio\33/45A.A. 2009-2010
γ > 1 Stretching of the low levels, compression of the high levels.γ < 1 Compression of the low levels, stretching of the high levels.
Global γ correction
• Nowadays clinicalpractice: global γ
γ = 3
http:\\homes.dsi.unimi.it\∼frosio\34/45A.A. 2009-2010
practice global γcorrection
• γ = 0.25 (underexposed),soft tissue darkens!
• γ = 3 (overexposed),bone tissue mixes withsoft tissue!
18
Typical histogram
• Three characteristic gray zones: background (1), softtissue (2) bone tissue (3)
http:\\homes.dsi.unimi.it\∼frosio\35/45A.A. 2009-2010
tissue (2), bone tissue (3)• 5% boundary eliminated (white margins, logo)• Gray level zero eliminated (saturated pixels)
Mixture model• A powerful technique to estimate
complex probability densitiesdistributions by using a restrictednumber of parameters
• Linear combination of M probabilitydensities:
http:\\homes.dsi.unimi.it\∼frosio\36/45A.A. 2009-2010
( ) ( ) ( )∑=
⋅=M
jMM jxpjPxp
1|
19
Two Gaussian, one Lognormal
• Mixture of three components (M = 3)Two Gaussians: background soft tissue (symmetric
http:\\homes.dsi.unimi.it\∼frosio\37/45A.A. 2009-2010
• Two Gaussians: background, soft tissue (symmetricpeaks)
• One Inverted Lognormal: bone tissue (asymmetricpeak)
Parameters estimation• Parameters: P(j), μj, σj, j=1…3• Negative log likelihood
{ }N Ng g
• E is minimized through the EMalgorithm
{ }∑ ∑= =
−=−=−=N
n
N
n
nnMM jPjxpxpLE
1 1)()|(ln)(lnln
http:\\homes.dsi.unimi.it\∼frosio\38/45A.A. 2009-2010
g
20
Updating equations• Mixing parameters ( ) ( ) ( )gHgjP
NjP
GLN
g
oldnew ⋅= ∑−
=
1
0|1
• Gaussians( ) ( )
( ) ( )∑
∑−
=
−
=
⋅
⋅⋅= 1
0
1
0
|
|
GL
GL
N
g
old
N
g
old
newj
gHgjP
gHggjPμ ( )
( ) ( ) ( )
( ) ( )∑
∑−
=
−
=
⋅
⋅−⋅= 1
0
1
0
2
2
|
|
GL
GL
N
g
old
N
g
newj
old
newj
gHgjP
gHggjP μσ
http:\\homes.dsi.unimi.it\∼frosio\39/45A.A. 2009-2010
• Lognormal( ) ( ) ( )
( ) ( )∑
∑−
=
−
=
⋅
⋅−⋅= 1
0
1
0
|
ln|
GL
GL
N
g
old
N
gGL
old
newj
gHgjP
gHgNgjPμ ( )
( ) ( )[ ] ( )
( ) ( )∑
∑−
=
−
=
⋅
⋅−−⋅= 1
0
1
0
2
2
|
ln|
GL
GL
N
g
old
N
g
newjGL
old
newj
gHgjP
gHgNgjP μσ
Clustering
• Thresholds Th(j,j+1) minimize
( ) ( ) ( ) ( )∫∫−+ 1)1( NjjTh
http:\\homes.dsi.unimi.it\∼frosio\40/45A.A. 2009-2010
• Three classes: Background, soft tissue, bone tissue
( ) ( ) ( ) ( )∫∫−
+
+⋅++⋅+
1
)1,(
)1,(
0|1|1 GLN
jjTh
jjThdxjxpjPdxjxpjP
21
Local γ Correction
• γ = 1 backgroundγ 0 25 bone tissue
http:\\homes.dsi.unimi.it\∼frosio\41/45A.A. 2009-2010
• γ = 0.25 bone tissue• γ = 1.5 soft tissue• Artifacts, patient profile not clearly visible!
γ smoothing: low pass filtering
• Low pass filtering of γ …
Filter (5x5):
1/25 1/25 1/25 1/25 1/25
http:\\homes.dsi.unimi.it\∼frosio\42/45A.A. 2009-2010
1/25 …
…
… 1/25
22
γ smoothing
• γ map has to be smoothedDown sampling moving average 3x3 filtering up
http:\\homes.dsi.unimi.it\∼frosio\43/45A.A. 2009-2010
• Down sampling, moving average 3x3 filtering, upsampling using bilinear interpolation (or efficientmoving average filter in space domain)
• Two classes: Background & soft tissue, bone tissue
Results
Original Gamma correction
http:\\homes.dsi.unimi.it\∼frosio\44/45A.A. 2009-2010
Unsharp masking Soft tissue filter
23
Summary Soft Tissue Filter• Mixture model for clustering;• Gamma correction;• Low pass filtering of gamma map.
http:\\homes.dsi.unimi.it\∼frosio\45/45A.A. 2009-2010