A Gauss-Markov-Potts Prior model for images in Bayesian Computed

Apr 21, 2008 - Bayesian inference approach ... Marginal MAP needs integration and optimization ... Separable approximation (Variational techniques).
561KB taille 0 téléchargements 205 vues
. A Gauss-Markov-Potts Prior model for images in Bayesian Computed Tomography Ali Mohammad-Djafari ` Groupe Problemes Inverses Laboratoire des Signaux et Syst`emes (UMR 8506 CNRS - SUPELEC - Univ Paris Sud 11) ´ Supelec, Plateau de Moulon, 91192 Gif-sur-Yvette, FRANCE. [email protected] http://djafari.free.fr http://www.lss.supelec.fr

KTH, Dept. of Mathematics, Stockhol, Sweden 21/04/2008

1 / 35

Content ◮

Computed Tomography (CT) as an Invers Problem example



Classical methods : analytical and algebraic method



Probabilistic methods



Bayesian inference approach



Gauss-Markov-Potts prior moedels for images



Bayesian computation



VB with Gauss-Markov-Potts prior moedels



Application in Computed Tomography



Conclusions



Questions and Discussion

2 / 35

CT as a linear inverse problem Fan beam X−ray Tomography −1

−0.5

0

0.5

1

Source positions

−1

g(si ) =

Z

−0.5

Detector positions

0

0.5

1

f (r) dli −→ Discretization −→ g = Hf + ǫ Li 3 / 35

Classical methods in CT g(si ) =

Z

f (r) dli −→ Discretization −→ g = Hf + ǫ

Li



H is a huge dimensional matrix of line integrals



Hf is the forward or projection operation



H t g is the backward or backprojection operation







(H t H)−1 H t g is the filtered backprojection minimizing the LS criterion Q(f ) = kg − Hf k2 Iterative methods :   fb(k +1) = fb(k ) + α(k ) H t g − H fb(k ) try to minimize the Least squares criterion Other criteria : ◮ ◮ ◮

P Robust criteria : Q(f ) = i φ(|gi − [Hf ]i k) Likelihood : L(f ) = p(g|f ) Regularization : J(f ) = kg − Hf k2 + λkDf k2 .

4 / 35

Bayesian estimation approach g = Hf + ǫ ◮

Observation model M + Hypothesis on the noise ǫ −→ p(g|f ; M) = pǫ(g − Hf )



A priori information



Bayes :

p(f |M) p(f |g; M) =

p(g|f ; M) p(f |M) p(g|M)

Link with regularisation : Maximum A Posteriori (MAP) : fb = arg max {p(f |g)} = arg max {p(g|f ) p(f )} f

f

= arg min {− ln p(g|f ) − ln p(f )} f

with

Q(g, Hf ) = − ln p(g|f )

and

λΦ(f ) = − ln p(f ) 5 / 35

Two main steps in the Bayesian approach ◮

Prior modeling ◮

◮ ◮



Separable : Gaussian, Generalized Gaussian, Gamma, mixture of Gaussians, mixture of Gammas, ... Markovian : Gauss-Markov, GGM, ... Separable or Markovian with hidden variables (contours, region labels)

Choice of the estimator and computational aspects ◮ ◮ ◮ ◮ ◮

MAP, Posterior mean, Marginal MAP MAP needs optimization algorithms Posterior mean needs integration methods Marginal MAP needs integration and optimization Approximations : ◮ ◮ ◮

Gaussian approximation (Laplace) Numerical exploration MCMC Variational Bayes (Separable approximation)

6 / 35

Full Bayesian approach g = Hf + ǫ ◮

Forward & errors model : −→ p(g|f , θ; M)



Prior models −→ p(f |θ; M) and p(θ|M)



Bayes : −→ p(f , θ|g; M) =



Joint MAP :

p(g|f,θ;M) p(f|θ;M) p(θ|M) p(g|M)

b = arg max {p(f , θ|g; M)} (fb, θ) (f,θ)

(

R fb = f p(f , θ|g; M) df dθ R b = θ p(f , θ|g; M) df dθ θ



Posterior means :



Evidence of the model : ZZ p(g|M) = p(g|f , θ; M)p(f |θ; M)p(θ|M) df dθ 7 / 35

Bayesian Computation ◮



Direct computation and use of p(f , θ|g; M) is too complex Approximations : ◮ ◮ ◮



Gauss-Laplace (Gaussian approximation) Exploration (Sampling) using MCMC methods Separable approximation (Variational techniques)

Main idea : Approximate p(f , θ|g; M) by q(f , θ) = q1 (f ) q2 (θ) ◮

Choice of approximation criterion :

KL(q : p) = ◮

Z

q ln

p = q

Z Z

q1 (f ) q2 (θ) ln

q1 (f ) q2 (θ) df dθ p(f , θ|g; M)

Choice of appropriate families of probability laws for q1 (f ) and q2 (θ) : Conjugate Exponential families 8 / 35

Approximation : Choice of criterion

ZZ p(g, f , θ|M) ln p(g|M) = ln q(f , θ) df dθ q(f , θ) ZZ p(g, f , θ|M) df dθ. ≥ q(f , θ) ln q(f , θ) ZZ p(g, f , θ|M) df dθ F(q) = q(f , θ) ln q(f , θ) ZZ p(f , θ|g; M) KL(q : p) = − q(f , θ) ln df dθ q(f , θ) ln p(g|M) = F(q) + KL(q : p)

9 / 35

Approximation : Separable Approximation ln p(g|M) = F(q) + KL(q : p) q(f , θ) = q1 (f ) q2 (θ) b1 , q b2 ) = arg min {KL(q1 q2 : p)} = arg max {F(q1 q2 )} (q (q1 ,q2 )

(q1 ,q2 )

KL(q1 q2 : p) is convex in q1 for a given q2 and vise versa :    b1 = arg minq1 KL(q1 q b2 : p) = arg maxq1 F(q1 q b2 ) q   b1 q2 ) b1 q2 : p) = arg maxq2 F(q b2 = arg minq2 KL(q q  n o  q b1 (f ) ∝ exp hln p(g, f , θ; M)iqb (θ) 2 o n  q b2 (θ) ∝ exp hln p(g, f , θ; M)iqb (f) 1

10 / 35

Separable Approximation : Choice of appropriate families for q1 and q2 Degenerate case 1 : −→ Joint MAP  n o ( e M) fe= arg maxf p(f , θ|g; e e b q1 (f |f ) = δ(f − f ) n o e = δ(θ − θ) e −→θ b2 (θ|θ) e = arg maxθ p(fe, θ|g; M) q



Degenerate case 2 : −→ Expectation-Maximisation   e M)iq (f|θ) b1 (f ) e q ∝ p(f |θ, g) Q(θ, θ)= hln p(f , θ|g; 1o n −→ e e e e b q2 (θ|θ) = δ(θ − θ) θ = arg maxθ Q(θ, θ) ◮

Appropriate choice for inverse problems   e g; M) b1 (f ) ∝ p(f |θ, Accounting for uncertainties q −→ b in fb and vise versa. b q2 (θ) ∝ p(θ|f , g; M) of θ ◮

11 / 35

Which images I am looking for ? 50 100 150 200 250 300 350 400 450 50

100

150

200

250

300

20

40

60

80

100

120 20

40

60

80

100

120

12 / 35

Which image I am looking for ?

Gauss-Markov

Generalized GM

Piecewize Gaussian

Mixture of GM 13 / 35

Gauss-Markov-Potts prior models for images

f (r)

z(r)

c(r) = 1 − δ(z(r) − z(r ′ ))

p(f (r)|z(r) = k , mk , vk ) = N (mk , vk ) X p(f (r)) = P(z(r) = k ) N (mk , vk ) Mixture of Gaussians

k Q Separable iid hidden variables : p(z) = r p(z(r)) ◮ Markovian hidden variables : p(z) Potts-Markov :    X  p(z(r)|z(r ′ ), r ′ ∈ V(r)) ∝ exp γ δ(z(r) − z(r ′ ))  ′    r ∈V(r)  X X  p(z) ∝ exp γ δ(z(r) − z(r ′ ))   ′



r∈R r ∈V(r)

14 / 35

Four different cases To each pixel of the image is associated 2 variables f (r) and z(r) ◮

f |z Gaussian iid, z iid : Mixture of Gaussians



f |z Gauss-Markov, z iid : Mixture of Gauss-Markov



f |z Gaussian iid, z Potts-Markov : Mixture of Independent Gaussians (MIG with Hidden Potts)



f |z Markov, z Potts-Markov : Mixture of Gauss-Markov (MGM with hidden Potts)

f (r)

z(r) 15 / 35

f |z Gaussian iid,

Case 1 :

z iid

Independent Mixture of Independent Gaussiens (IMIG) : p(f (r)|z(r) = k) = N (mk , vk ), ∀r ∈ R P P p(f (r)) = Kk=1 αk N (mk , vk ), with k αk = 1.

p(z) = Noting

Q

r p(z(r)

= k) =

Q

r αk

=

Q

k

αnk k

mz (r) = mk , vz (r) = vk , αz (r) = αk , ∀r ∈ Rk we have : p(f |z) =

Y

N (mz (r), vz (r))

r∈R

p(z) =

Y r

αz (r) =

Y k

P

αk

r∈R

δ(z(r)−k )

=

Y

αnk k

k

16 / 35

Case 2 :

f |z Gauss-Markov,

z iid

Independent Mixture of Gauss-Markov (IMGM) : p(f (r)|z(r), z(r ′ ), f (r ′ ), r ′ ∈ V(r)) = N (µz (r), vz (r)), ∀r ∈ R 1 P ∗ ′ µz (r) = |V(r)| r′ ∈V(r) µz (r ) µ∗z (r ′ ) = δ(z(r ′ ) − z(r)) f (r ′ ) + (1 − δ(z(r ′ ) − z(r)) mz (r ′ ) = (1 − c(r ′ )) f (r ′ ) + c(r ′ ) mz (r ′ )

Q Q p(f |z) ∝ r N (µz (r), vz (r)) ∝ k αk N (mk 1, Σk ) Q Q p(z) = r vz (r) = k αnk k

with 1k = 1, ∀r ∈ Rk and Σk a covariance matrix (nk × nk ).

17 / 35

Case 3 : f |z Gauss iid, z Potts Gauss iid as in Case 1 : Y Y Y N (mk , vk ) p(f |z) = N (mz (r), vz (r)) = r∈R

k r∈Rk

Potts-Markov p(z(r)|z(r ′ ), r ′ ∈ V(r)) ∝ exp

  

γ

X

r′ ∈V(r)

  δ(z(r) − z(r ′ )) 

   X X  ′ p(z) ∝ exp γ δ(z(r) − z(r ))   ′ r∈R r ∈V(r)

18 / 35

Case 4 : f |z Gauss-Markov, z Potts Gauss-Markov as in Case 2 : p(f (r)|z(r), z(r ′ ), f (r ′ ), r ′ ∈ V(r)) = N (µz (r), vz (r)), ∀r ∈ R

µz (r) µ∗z (r ′ )

1 P ∗ ′ = |V(r)| r′ ∈V(r) µz (r ) ′ = δ(z(r ) − z(r)) f (r ′ ) + (1 − δ(z(r ′ ) − z(r)) mz (r ′ )

p(f |z) ∝

Q

r N (µz (r), vz (r))



Q

k

αk N (mk 1, Σk )

Potts-Markov as in Case 3 :    X X  p(z) ∝ exp γ δ(z(r) − z(r ′ ))   ′ r∈R r ∈V(r)

19 / 35

Summary of the two proposed models

f |z Gaussian iid z Potts-Markov

f |z Markov z Potts-Markov

(MIG with Hidden Potts)

(MGM with hidden Potts)

20 / 35

Bayesian Computation p(f , z, θ|g) ∝ p(g|f , z, vǫ ) p(f |z, m, v) p(z|γ, α) p(θ) θ = {vǫ , (αk , mk , vk ), k = 1, ·, K }

p(θ) Conjugate priors



Direct computation and use of p(f , z, θ|g; M) is too complex



Possible approximations : ◮ ◮ ◮



Gauss-Laplace (Gaussian approximation) Exploration (Sampling) using MCMC methods Separable approximation (Variational techniques)

Main idea in Variational Bayesian methods : Approximate p(f , z, θ|g; M) by q(f , z, θ) = q1 (f ) q2 (z) q3 (θ) ◮ ◮

Choice of approximation criterion : KL(q : p) Choice of appropriate families of probability laws for q1 (f ), q2 (z) and q3 (θ) 21 / 35

MCMC based algorithm p(f , z, θ|g) ∝ p(g|f , z, θ) p(f |z, θ) p(z) p(θ) General scheme :







b g) −→ zb ∼ p(z|fb, θ, b g) −→ θ b ∼ (θ|fb, zb, g) fb ∼ p(f |b z , θ, b g) ∝ p(g|f , θ) p(f |b b Estimate f using p(f |b z , θ, z , θ) Needs optimisation of a quadratic criterion. b g) ∝ p(g|fb, zb, θ) b p(z) Estimate z using p(z|fb, θ, Needs sampling of a Potts Markov field.

Estimate θ using p(θ|fb, zb, g) ∝ p(g|fb, σǫ2 I) p(fb|b z , (mk , vk )) p(θ) Conjugate priors −→ analytical expressions.

22 / 35

Variational Bayes for Separable Approximation ◮

Objective : Approximate p(f , z, θ|g; M) by q(f , z, θ) = q1 (f ) q2 (z) q3 (θ)



Criterion : KL(q : p) =

X ZZ

q(f , z, θ) ln

z



p(f , z, θ|g; M) df dθ q(f , z, θ)

Algorithme : Iterate : b1 , q b2 , q b3 ) = arg (q

min

(q1 ,q2 ,q3 )

{KL(q1 q2 q3 : p)}

 o n  b q (f ) ∝ exp hln p(g, f , θ; M)i  1 b b q2 (z)q3 (θ)   o n b q2 (z) ∝ exp hln p(g, f , θ; M)iqb1 (f)bq3 (θ)  n o    q b3 (θ) ∝ exp hln p(g, f , θ; M)iqb (f)bq (z) 1 2

23 / 35

Bayesian computation with Gauss-Markov-Potts prior models p(f , z, θ|g) ∝ p(g|f , θ) p(f |z, θ) p(z) p(θ) Approximations : ◮ f |z Gaussian iid,

z iid :

q(f , z, θ|g) = q 1 (f |z) q2 (z) q3 (θ) X X X = q1 (f (r)|z(r)) q2 (z(r)|z(r ′ )) q3 (θl ) r



f |z Gaussian iid,

r

l

z Markov :

q(f , z, θ|g) = X q1 (f |z) q2w (zw ) q2b (zb ) q3 (θ) = q1 (f (r)|z(r)) r X X q2b (z(r)|z(r ′ )) q2w (z(r)|z(r ′ )) r∈R XW

r∈RB

q3 (θl )

l

24 / 35

Bayesian computation with Gauss-Markov-Potts prior models In all cases : Q

q(θe |α˜e , β˜e ) ˜ k , v˜k ) q(mk |m ˜k ) ˜k , b q(v −1 |a

N (˜ µz (r), v˜z (r)) ˜ ′ ′ = r p(z(r)|z (r ), r ∈ V(r)) ˜ (r) ∝ c˜ d˜1 d˜2 (r) e = G(α˜e , β˜e ) ˜ k , v˜k ), ∀k = N (m ˜k ), ∀k ˜k , b = G(a

q(α)

∝ D(˜ α1 , · · · , α ˜K )

q(f |z) p(z) =

Q

ˆk rα ′ p(z(r)|z˜ (r ))

k

=

Qr

The expressions of right hand sides depends on the case and are given in the paper.

25 / 35

Bayesian computation with Gauss-Markov-Potts prior models p(f , z, θ|g) =

p(g|f , θ) p(f |z, θ) p(z) p(g|θ)

Approximations : ◮

f |z iid, z iid : q(f , z, θ|g) = q1 (f |z) q2 (z) q3 (θ).



f |z iid, z Markov : q(f , z, θ|g) = q1 (f |z) q2w (zw ) q2b (zb ) q3 (θ).



f |z Markov, z iid : q(f , z, θ|g) = q1w (fw |z) q1b (fb |z) q2 (z) q3 (θ).



f |z Markov, z iid : q(f , z, θ|g) = q1w (fw |z) q1b (fb |z) q2w (zw ) q2b (zb ) q3 (θ)

26 / 35

Application of CT in NDT Reconstruction from only 2 projections

27 / 35

Application in CT

20

40

60

80

100

120 20

g|f f |z g = Hf + ǫ iid Gaussian g|f ∼ N (Hf , vǫ I) or Gaussian Gauss-Markov

z iid or Potts

40

60

80

100

120

c c(r) ∈ {0, 1} 1 − δ(z(r) − z(r ′ )) binary

28 / 35

Proposed algorithm p(f , z, θ|g) ∝ p(g|f , z, θ) p(f |z, θ) p(θ) General scheme : b g) −→ zb ∼ p(z|fb, θ, b g) −→ θ b ∼ (θ|fb, zb, g) fb ∼ p(f |b z , θ, ◮



b g) ∝ p(g|f , θ) p(f |b b Estimate f using p(f |b z , θ, z , θ) Needs optimisation of a quadratic criterion. b g) ∝ p(g|fb, zb, θ) b p(z) Estimate z using p(z|fb, θ, Needs sampling of a Potts Markov field.



Estimate θ using z , (mk , vk )) p(θ) p(θ|fb, zb, g) ∝ p(g|fb, σǫ2 I) p(fb|b Conjugate priors −→ analytical expressions.

29 / 35

Results

Original

Backprojection

Gauss-Markov+pos

Filtered BP

GM+Line process

LS

GM+Label process

20

20

20

40

40

40

60

60

60

80

80

80

100

100

100

120

120 20

40

60

80

100

120

c

120 20

40

60

80

100

120

z

20

40

60

80

100

120

c

30 / 35

Application in Microwave imaging g(ω) = g(u, v) =

Z

Z

f (r) exp {−j(ω.r)} dr + ǫ(ω)

f (x, y) exp {−j(ux + vy)} dx dy + ǫ(u, v) g = Hf + ǫ

20

20

20

20

40

40

40

40

60

60

60

60

80

80

80

80

100

100

100

100

120

120 20

40

60

80

f (x, y)

100

120

120 20

40

60

80

g(u, v)

100

120

120 20

40

60

80

fb IFT

100

120

20

40

60

80

100

120

fb Proposed method 31 / 35

Conclusions ◮

Bayesian Inference for inverse problems



Approximations (Laplace, MCMC, Variational)



Gauss-Markov-Potts are useful prior models for images incorporating regions and contours



Separable approximations for Joint posterior with Gauss-Markov-Potts priors



Application in different CT (X ray, US, Microwaves, PET, SPECT)

Perspectives : ◮

Efficient implementation in 2D and 3D cases



Evaluation of performances and comparison with MCMC methods



Application to other linear and non linear inverse problems : (PET, SPECT or ultrasound and microwave imaging) 32 / 35

Some references ◮

´ ` O. Feron, B. Duchene and A. Mohammad-Djafari, Microwave imaging of inhomogeneous objects made of a finite number of dielectric and conductive materials from experimental data, Inverse Problems, 21(6) :95-115, Dec 2005.



M. Ichir and A. Mohammad-Djafari, Hidden markov models for blind source separation, IEEE Trans. on Signal Processing, 15(7) :1887-1899, Jul 2006.



F. Humblot and A. Mohammad-Djafari, Super-Resolution using Hidden Markov Model and Bayesian Detection Estimation Framework, EURASIP Journal on Applied Signal Processing, Special number on Super-Resolution Imaging : Analysis, Algorithms, and Applications :ID 36971, 16 pages, 2006.



´ O. Feron and A. Mohammad-Djafari, Image fusion and joint segmentation using an MCMC algorithm, Journal of Electronic Imaging, 14(2) :paper no. 023014, Apr 2005.



H. Snoussi and A. Mohammad-Djafari, Fast joint separation and segmentation of mixed images, Journal

33 / 35

Questions and Discussions



Thanks for your attentions



...



...



Questions ?



Discussions ?



...



...

34 / 35

CT from two projections = Joint distribution froms its marginals Z g1 (x) =

g2 (y) =

Z

f (x, y) dy

f (x, y) dx

Given the marginals g1 (x) and g2 (y) find the joint distribution f (x, y) Infinite number of solutions f (x, y) = g1 (x) g2 (y) Ω(G1 (x), G2 (y)) Ω(u, v) is a Copula : Ω(u, 0) = 0, Ω(u, 1) = 1, Ω(0, u) = 0, Ω(1, u) = 1 2 (x, y) ∈ [0, 1] , G1 (x) and G2 (y) are CDFs of g1 (x) and g2 (y) Example : Ω(u, v) = uv Any link between geometrical structure of f and Copula functions ? 35 / 35