23
1 l Mixture models – Soft Tissue Filter I. Frosio AIS Lab http:\\homes.dsi.unimi.it\frosio\ 1/45 A.A. 2009-2010 AIS Lab. [email protected] http:\\homes.dsi.unimi.it\frosio\ Overview • Mixture models: introduzione; Segmentazione di radiografia Segmentazione di radiografia cefalometrica; • Derivazione di EM per il caso di un mixture model a componenti gaussiane; http:\\homes.dsi.unimi.it\frosio\ 2/45 A.A. 2009-2010 • Ottimizzazione vincolata (moltiplicatori di Lagrange); • Soft Tissue Filter.

Mixture models – Soft Tissue Filter

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mixture models – Soft Tissue Filter

1

lMixture models – Soft Tissue Filter

I. FrosioAIS Lab

http:\\homes.dsi.unimi.it\∼frosio\1/45A.A. 2009-2010

AIS [email protected]

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.

Page 2: Mixture models – 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)(

)()|()(

θ dalla J esima distribuzione

Page 3: Mixture models – Soft Tissue Filter

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)]

Page 4: Mixture models – Soft Tissue Filter

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.

Page 5: Mixture models – Soft Tissue Filter

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

Page 6: Mixture models – Soft Tissue Filter

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

Page 7: Mixture models – Soft Tissue Filter

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

Page 8: Mixture models – Soft Tissue Filter

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 λλ

Page 9: Mixture models – Soft Tissue Filter

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

Page 10: Mixture models – Soft Tissue Filter

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)!

Page 11: Mixture models – Soft Tissue Filter

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

⎪⎪⎪⎪⎧

=∂

=∂

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.

Page 12: Mixture models – Soft Tissue Filter

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]

Page 13: Mixture models – Soft Tissue Filter

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

Page 14: Mixture models – Soft Tissue Filter

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

Page 15: Mixture models – Soft Tissue Filter

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).

Page 16: Mixture models – Soft Tissue Filter

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

Page 17: Mixture models – Soft Tissue 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!

Page 18: Mixture models – Soft Tissue Filter

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|

Page 19: Mixture models – Soft Tissue Filter

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

Page 20: Mixture models – Soft Tissue Filter

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

Page 21: Mixture models – Soft Tissue Filter

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

Page 22: Mixture models – Soft Tissue Filter

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

Page 23: Mixture models – 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