. 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