Home | About | Journals | Submit | Contact Us | Français |

**|**Int J Biomed Imaging**|**v.2010; 2010**|**PMC2946602

Formats

Article sections

- Abstract
- 1. Introduction
- 2. EPDiff for Surface Evolution
- 3. Generative Model for Surface Observation
- 4. Algorithms for Surface Template Estimation
- 5. Result and Discussion
- 6. Conclusion
- References

Authors

Related links

Int J Biomed Imaging. 2010; 2010: 974957.

Published online 2010 September 20. doi: 10.1155/2010/974957

PMCID: PMC2946602

*Jun Ma: Email: ude.uhj.sic@amnuj

Academic Editor: M. Jiang

Received 2009 November 6; Revised 2010 June 21; Accepted 2010 June 27.

Copyright © 2010 Jun Ma et al.

This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

This article has been cited by other articles in PMC.

3D surfaces are important geometric models for many objects of interest in image analysis and Computational Anatomy. In this paper, we describe a Bayesian inference scheme for estimating a template surface from a set of observed surface data. In order to achieve this, we use the geodesic shooting approach to construct a statistical model for the generation and the observations of random surfaces. We develop a mode approximation EM algorithm to infer the maximum a posteriori estimation of initial momentum *μ*, which determines the template surface. Experimental results of caudate, thalamus, and hippocampus data are presented.

3D surfaces are important geometric models for many objects of interest in image analysis and Computational Anatomy. For example, they are often used to represent the shape of 3D objects, the surface of human faces, and the boundaries of brain structures or of other human organs. Most data analysis methods in this domain are template-centered, and a proper estimation of a template plays an important role to obtain high quality results. This paper is devoted to the description of statistically supported template estimation method which is adapted to surface data sets.

Our approach will be to build a generative statistical shape model in which the template is a parameter. We will then estimate it using maximum likelihood. This model relies on the very natural setting for which an observed surface is a noisy version of a random deformation of the template. This is the most generic and most basic approach of the deformable template paradigm, even if we add a small refinement by including a prior distribution on the template, based on what we will call a *hypertemplate*. Even with this global scheme which is fairly simple, we will see that implementing it in the context of surfaces will constitute a significant theoretical and numerical challenge.

At the exception of the recent work of [1], this approach significantly differs from what has been mostly proposed in the literature, in which most of the methods compute templates as averages over specific common parametrizations of the surfaces (using, for example, the sphere as a parameter space [2]). Parametric representations, however, are limited by the fact that, because they are defined a priori and independently for each object, they cannot be assumed to suitably align important features in a given data set of surfaces (i.e., give similar coordinates to similar features in the surfaces). This usually results in oversmoothed template surfaces (which is the equivalent of getting blurry template images in the case of image averaging). In [1], a similar diffeomorphic transformation model is used, but, as we will see, our Bayesian construction will provide a well-specified template whereas [1] needs to rely to topologically unconstrained approximations to end up with a manageable template.

In addition to the references above, there have been several publications addressing the issue of shape averaging over a dataset, although most of them work with 3D volume data or landmark points set. In several cases, the average is based on metric properties of the space of shapes [3–7], and the template is computed as an intrinsic average, minimizing the sum of square distances to each element of the set (Fréchet mean). Such methods have been implemented in the context of diffeomorphic deformation models (which are also models of interest in the present paper) for landmark matching [8], for 3D average digital atlas construction [9], and to quantify variability in heart geometry [10]. Other definitions of the average, adapted to situations in which the data is corrupted by noise, have been proposed [11–13], based on variational approaches (but not relying on a generative statistical model).

Our approach to build a generative statistical shape model is reminiscent of the construction developed in [14] for linear models of deformations, and in [15] for large diffeomorphic deformations in 3D volume image averaging. Adapting these ideas to surfaces will however require new algorithms and numerical developments.

In order to present our model, we need to first provide some background materials and notation, describing in particular the geodesic shooting equations that we will use to generate deformed surfaces. We will then introduce a random statistical model describing the generation and the observations of random surfaces. We then develop a Mode Approximation EM algorithm for surface averaging, to estimate the template from observations. In the optimization part, we derive and implement a new variational scheme, which is also applicable to surface matching, providing an alternative approach to the one originally proposed in [16, 17]. Finally, we present and discuss experimental results on caudate, thalamus, and hippocampus data.

We will base our random shape model on the so-called EPDiff equation, which describes the evolution of deformable structures (like images, surfaces, or landmarks) under the action of groups of diffeomorphisms. It is a geodesic equation for a Riemannian metric on diffeomorphisms, and describes a momentum conservation law in the associated Hamiltonian system. The reader interested by the theory behind this equation can refer to [18–20], but most of this background will not be needed for the present paper, in which we will only use the specific form of the equations for surface evolution. The term EPDiff comes from its determination as an Euler-Poincaré equation in the group of diffeomorphisms, as introduced in [21]. One of its main interests here is that it provides a numerically stable, easily described, Hamiltonian evolution over diffeomorphisms, which will constitute an ideal support for our shape models.

The EPDiff equations describe the combined time evolution of a diffeomorphism, denoted *ϕ*(*t*, ·) and of what can be interpreted as a momentum, denoted *p*(*t*, ·). The initial conditions are always *ϕ*(0, *x*) = *x* for *ϕ*, and some initial value, *p*_{0}, for *p*. This *initial momentum* will be a key component of the statistical model that will be built later on.

Let us start with the simplest form of the equation, which assumes that *p*_{0} is a vector-valued function over ^{d}, that is, *p*_{0} : ^{d} → ^{d}. It involves a smoothing kernel, *K*, defined on ^{3} × ^{3}, a typical choice being

$$\begin{array}{c}K(x,y)=\text{cst}\hspace{0.17em}\mathrm{exp}\hspace{0.17em}\left(-\frac{{||x-y||}^{2}}{2{\tau}^{2}}\right).\end{array}$$

(1)

Letting _{1}*K* denote the gradient of *K* with respect to its first variable, the corresponding EPDiff equation is

$$\begin{array}{c}\frac{d\varphi}{dt}\left(t,x\right)={{\displaystyle \int}}_{{\mathbb{R}}^{3}}K\left(\varphi \left(t,x\right),\varphi \left(t,y\right)\right)p\left(t,y\right)dy,\\ \frac{dp}{dt}(t,x)=-{{\displaystyle \int}}_{{\mathbb{R}}^{3}}{\nabla}_{1}K(\varphi (t,x),\varphi (t,y))(p(t,x)\xb7p(t,y))dy.\end{array}$$

(2)

Here, the notation *a* · *b* refers to the usual dot product between vectors in ^{3}. If *K* is smooth enough, this system has solutions for arbitrary large *t*, and the mapping *x* *ϕ*(*t*, *x*) is a diffeomorphism at all times.

The interesting fact about these equations is that they can have singular variants that are described in a similar way and have the same existence properties. The simplest way to relate the variants to the previous equation is to replace the Lebesgue's measure in the integrals by another, possibly singular, measure. For example, taking a surface *S*_{0} in ^{3}, we can use the volume form on *S*_{0} as a reference measure and obtain the equations (in which *p*_{0} and *p*(*t*, ·) need only to be defined on *S*_{0})

$$\begin{array}{cc}\hfill \frac{d\varphi}{dt}(t,x)& ={{\displaystyle \int}}_{{S}_{0}}K\left(\varphi \left(t,x\right),\varphi \left(t,y\right)\right)p\left(t,y\right)d{\omega}_{{S}_{0}}\left(y\right),\hfill \\ \hfill \frac{dp}{dt}\left(t,x\right)& =-{{\displaystyle \int}}_{{S}_{0}}{\nabla}_{1}K\left(\varphi \left(t,x\right),\varphi \left(t,y\right)\right)\hfill \\ \hfill & \hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\times \left(p\left(t,y\right)\xb7p\left(t,y\right)\right)d{\omega}_{{S}_{0}}\left(y\right),\hfill \end{array}$$

(3)

where *d**ω*_{S0} is the volume form on *S*_{0}. Note that the first equation is defined for *x* ^{3}, but it suffices to use it for *x* *S*_{0} to obtain an equation for the evolving surface

$$\begin{array}{c}{S}_{t}=\varphi (t,{S}_{0})=\{y=\varphi (t,x),x\in {S}_{0}\}.\end{array}$$

(4)

We can write a discrete form of the equations by replacing *d**y* by a sum of Dirac measures (at points *x*_{1},…, *x*_{L} in ^{3}), which gives, letting *a*_{l}(*t*) = *p*(*t*, *x*_{l}),

$$\begin{array}{c}\frac{d\varphi}{dt}\left(t,x\right)={\displaystyle \sum}_{l=1}^{L}K\left(\varphi \left(t,x\right),\varphi \left(t,{x}_{l}\right)\right){a}_{l},\\ \frac{d{a}_{k}}{dt}=-{\displaystyle \sum}_{l=1}^{L}({a}_{l}\xb7{a}_{k}){\nabla}_{1}K(\varphi (t,{x}_{k}),\varphi (t,{x}_{l})).\end{array}$$

(5)

Similarly to (3), the first equation is valid for all *x* ^{3}, but it suffices to solve it for *x* = *x*_{l}, *l* = 1,…, *L* to obtain the evolution of the point set

$$\begin{array}{c}{x}_{l}\left(t\right)=\varphi (t,{x}_{l}).\end{array}$$

(6)

Also, (5) can be seen as a discretization of (3) in which *x*_{1},…, *x*_{L} are the vertices of a triangulation of *S*_{0}, and *a*_{l}(*t*) = *p*(*t*, *x*_{l})*δ**σ*_{S0}(*x*_{l}), where *δ**σ*_{S0}(*x*_{l}) is the area of a surface element around *x*_{l}.

The evolution of point sets is the most important from a practical point of view, since it is an ODE that can be easily implemented. Assuming a radial kernel *K*(*x*, *y*) = *γ*(||*x*−*y*||^{2}) like in (1), and denoting *γ*_{kl} = *γ*(||*x*_{k}−*x*_{l}||^{2}), and *γ*_{kl}′ = *γ*′(||*x*_{k}−*x*_{l}||^{2}), (5) can be rewritten as

$$\begin{array}{c}\frac{\text{d}{x}_{k}}{\text{d}t}={\displaystyle \sum}_{l=1}^{L}{\gamma}_{kl}{a}_{l},\hspace{1em}\hspace{1em}\frac{\text{d}{a}_{k}}{\text{d}t}=-2{\displaystyle \sum}_{l=1}^{L}{\gamma}_{kl}^{\prime}\left({a}_{l}\xb7{a}_{k}\right)\left({x}_{k}-{x}_{l}\right).\end{array}$$

(7)

Once the initial position of the vertices, *x*(0) = (*x*_{1}(0),…, *x*_{L}(0)), and the initial momentum, *a*(0) = (*a*_{1}(0),…, *a*_{L}(0)), are provided, the evolution of the point set is uniquely determined.

If a triangulated template surface *T* with vertices *x*^{(T)} is given, and we solve, until time *t* = 1, (5) initialized with *x*(0) = *x*^{(T)} and a random initial momentum *a*(0) = *α*, the displaced vertices provide a random perturbation of the initial surface that will be denoted by *T*_{α}. This is stated in the following definition.

Let *T* be a triangulated surface with vertices *x*^{(T)} = (*x*_{1}^{(T)},…, *x*_{L}^{(T)}). Let *α* (^{3})^{L} be a collection of *L* vectors in ^{3}. Let (*x*(*t*), *a*(*t*)) be the solution of (5) with initial condition *x*(0) = *x*^{(T)} and *a*(0) = *α*. One defines *T*_{α} to be the triangulated surface with vertices *x*^{(Tα)} = *x*(1) and the same topology as *T*.

By letting *α* be random, we build *T*_{α} as a random deformation of *T*. This will form the “ideal”, unobserved, surface, of which only a noisy version is observable (the noise process will be described in the next section).

Following [15], we will use a Bayesian formulation in which *T* is itself represented as a random deformation *T*_{0,μ} : = (*T*_{0})_{μ}, where *T*_{0} is a fixed surface that we will call the hypertemplate, and *μ* is a prior initial momentum shooting from *T*_{0} to *T* (same notation as in Definition 1). One of the main interests of using a hypertemplate is to fix the topology of *T* so that it belongs, by construction, to the same class of objects as *T*_{0}.

So, if *N* surfaces are observed, we need to model the probability distribution of the prior momentum, *μ* (starting at *T*_{0}), which specifies *T* = *T*_{0,μ} and of *N* deformation momenta *α*^{(1)},…, *α*^{(N)} which specify the surfaces *T*_{α(1)},…, *T*_{α(N)}. We now provide a statistical model for the joint probability distribution of *μ*, *α*^{(1)},…, *α*^{(N)}.

We first introduce some notation. Letting *K* be the kernel introduced in the previous section to define the geodesic shooting equations, we let Γ_{T} be the 3*L* by 3*L* matrix formed with the 3 by 3 blocks *K*(*x*_{k}^{(T)}, *x*_{l}^{(T)})*I**d*_{3}. We define, for a triangulated surface *T* with *L* vertices *x*^{(T)}, and *α* ^{3L},

$$\begin{array}{c}{||\alpha ||}_{T}^{2}={\alpha}^{\ast}{\mathrm{\Gamma}}_{T}\alpha ={\displaystyle \sum}_{k,l=1}^{L}K({x}_{k}^{\left(T\right)},{x}_{l}^{\left(T\right)})({\alpha}_{k}\xb7{\alpha}_{l}).\end{array}$$

(8)

We define the joint distribution of *μ*, *α*^{(1)},…, *α*^{(N)} on ^{3L} × (^{3L})^{N} by

$$\begin{array}{c}p\left(\mu ,{\alpha}^{\left(1\right)},\dots ,{\alpha}^{\left(N\right)}\right)=\frac{1}{Z}\mathrm{exp}\hspace{0.17em}\left(-\frac{1}{2}\lambda {||\mu ||}_{{T}_{0}}^{2}-\frac{1}{2}{\displaystyle \sum}_{n=1}^{N}{||{\alpha}^{\left(n\right)}||}_{{T}_{0,\mu}}^{2}\right),\end{array}$$

(9)

where *λ* is a fixed parameter regulating the weight on the hypertemplate.

There is a technical difficulty here, which is that one must make sure that this probability can be normalized (*Z* exists), which requires that the exponential is integrable. That this is true is not straightforward, and we have not been able to find a proof that works with any choice of the kernel *K*. One way to deal with this is to introduce a constant *A*_{μ} (which can be chosen arbitrarily large so that it does not interfere with the algorithms that will follow), and add to the model the constraint that ||*μ*||_{T0} is smaller than *A*_{μ}. Under such an assumption, one obtains (after integrating out the *α*'s)

$$\begin{array}{c}Z={\left(2\pi \right)}^{3NL/2}{{\displaystyle \int}}_{{||\mu ||}_{{T}_{0}}\le {A}_{\mu}}\mathrm{exp}\hspace{0.17em}\left(-\frac{1}{2}{||\mu ||}_{{T}_{0}}^{2}-\frac{N}{2}\mathrm{log}\hspace{0.17em}\hspace{0.17em}\mathrm{det}\hspace{0.17em}\hspace{0.17em}{\mathrm{\Gamma}}_{{T}_{0,\mu}}\right)d\mu .\end{array}$$

(10)

This is finite, since, for any given *μ*, the transformation *x*^{(T0)} → *x*^{(T0,μ)} is the restriction of a diffeomorphism to the vertices of *T*_{0} (as seen from (5)). This implies that Γ_{T0,μ} is nonsingular, and its determinant is bounded away from 0 when *μ* is restricted to a compact space.

In fact, the choice *A*_{μ} = *∞* can be proved to be acceptable for a large class of kernels. Those are kernels for which the smallest eigenvalue of Γ_{T} decreases at a speed which is at most polynomial in the minimal distance, *h*_{T}, between the vertices. A list of kernels satisfying this property can be found in [22]. For such kernels, we find that (*L* being fixed) log det Γ_{T} = *O*(log*h*_{T}). Just sketching the argument here, one can prove, using elementary properties of dynamical systems, that *h*_{T} = *O*(exp(−*C*||*μ*||_{T0,μ}) for some constant *C*, so that the log determinant in (9) is linear in ||*μ*||_{T0,μ} and *Z* is well defined, even with *A*_{T0,μ} = *∞*. For very smooth kernels, including the Gaussian, bounds on the smallest eigenvalue of Γ_{T} are much worse (with a decay which is exponential in (−1/*h*_{T}^{2})), and the previous argument does not work. Since the bounds in [22] hold uniformly with respect to the number of points, a polynomial bound may still be valid for a fixed *L*, although we were unable to discover it.

Notice that, conditionally to the template, the momenta *α* are independent and follow a Gaussian distribution with inverse covariance matrix given by Γ_{T}. An example of simulated random deformations obtained using such a model is provided in Figure 1.

The second part of our generative model is to describe the observation process, which takes an ideal surface *T*_{α} generated according to the model above, and returns the noisy observable.

Modeling such a noise process is a tricky issue. Obvious choices (like adding noise to the vertices of *T*_{α}) do not work because one cannot assume that the observed surfaces are discretized consistently with the template. In this paper, we will work around this issue by assimilating the observation of a surface that of a singular Gaussian process.

For this, we consider that surfaces in ^{3} are not observable directly, but only via their action on test functions, that we will call *sensors*. We define a sensor to be a smooth vector field *w* over ^{3} (typically with small support). Given an oriented surface *S*, define

$$\begin{array}{c}(S,w)={{\displaystyle \int}}_{S}w\left(s\right)\xb7{N}_{S}\left(s\right)d{\omega}_{S}\left(s\right),\end{array}$$

(11)

where *N*_{S} is the normal to *S*. The real number, (*S*, *w*) is the measurement of *S* through the sensor *w*.

Now, modeling noisy surfaces will result in assuming that, given any *w*, the measurement (*S*, *w*) is a random variable. We will assume that it is Gaussian, and more generally, that, given *m* sensors, *w*_{1},…, *w*_{m}, the random vector ((*S*, *w*_{j}), *j* = 1,…, *m*) is Gaussian.

*S*, via its action on sensors, is therefore modeled as a Gaussian random field. Given an ideal surface *T*_{α}, we will assume that its mean is given by

$$\begin{array}{c}E\left((S,w)\right)=({T}_{\alpha},w)\end{array}$$

(12)

and the process is thereafter uniquely characterized by its covariance operator

$$\begin{array}{c}G(w,\tilde{w})=\mathrm{cov}\hspace{0.17em}((S,w),(S,\tilde{w})).\end{array}$$

(13)

We will assume that this covariance is associated to a symmetric operator *L*_{obs} so that

$$\begin{array}{c}G(w,\tilde{w})={\sigma}^{2}{{\displaystyle \int}}_{{\mathbb{R}}^{d}}\left({L}_{\text{obs}}w\left(x\right)\xb7\tilde{w}\left(\tilde{x}\right)\right)dx\hspace{0.17em}d\tilde{x}.\end{array}$$

(14)

(The apparently redundant parameter *σ*^{2}, which could have been included in *L*_{obs}, appears here because it can be easily estimated by the algorithm, with the operator *L*_{obs} remaining constant.)

To finalize our model, it remains to describe how *S* is discretized, that is, to make explicit a finite family of sensors through which *S* is measured. Let (*z*_{j}, *j* *J*) form a regular grid of points in *Ω*. Let *γ*_{s} be a radial basis function (a Gaussian, e.g.,) and define, for *j* *J* and *d* = 1,2, 3

$$\begin{array}{c}{w}_{j,d}={\gamma}_{s}\left(x-{z}_{j}\right){e}_{d}\end{array}$$

(15)

where *e*_{d} is the *d*th vector of the standard basis of ^{3} (this therefore specifies 3|*J*| sensors). The resulting observed variables are

$$\begin{array}{c}{y}_{j,d}=\left(S,{w}_{j,d}\right)={{\displaystyle \int}}_{S}{\gamma}_{s}\left(s-{z}_{j}\right){N}_{S}^{\left(d\right)}\left(s\right)d{\omega}_{S}\left(s\right),\end{array}$$

(16)

where *N*_{S}^{(d)} = *N*_{S} · *e*_{d} is the *d*th coordinate of *N*_{S}. These variables are, by assumption, jointly Gaussian, with means *m*_{j,d} = (*T*_{α}, *w*_{j,d}) and covariance matrix

$$\begin{array}{cc}\hfill {g}_{i,d,{i}^{\prime},{d}^{\prime}}& =G({w}_{i,d},{w}_{{i}^{\prime},{d}^{\prime}})\hfill \\ \hfill & ={\sigma}^{2}{\delta}_{d,{d}^{\prime}}{{\displaystyle \int}}_{{\mathbb{R}}^{d}}{L}_{\text{obs}}{\gamma}_{s}\left(x-{z}_{i}\right){\gamma}_{s}\left(\tilde{x}-{z}_{{i}^{\prime}}\right)dx\hspace{0.17em}d\tilde{x}.\hfill \end{array}$$

(17)

Assuming that *L*_{obs} is translation invariant, the resulting expression is a function of *z*_{i} − *z*_{i′} that we will denote

$$\begin{array}{c}{g}_{i,d,{i}^{\prime},{d}^{\prime}}={\sigma}^{2}{\delta}_{d{d}^{\prime}}{\gamma}_{\text{obs}}({z}_{i}-{z}_{{i}^{\prime}}).\end{array}$$

(18)

Let *R*_{obs} = (*r*_{ij}^{(obs)}) be the inverse matrix of the one with coefficients (*γ*_{obs}(*z*_{j} − *z*_{j}′), *j*, *j*′ *J*). The log likelihood of the process will include error terms taking the form

$$\begin{array}{c}{\mathcal{E}}_{\text{obs}}=\frac{1}{{\sigma}^{2}}{\displaystyle \sum}_{j,{j}^{\prime}\in J}\hspace{0.17em}{\displaystyle \sum}_{d=1}^{3}{r}_{j,{j}^{\prime}}^{\left(\text{obs}\right)}({y}_{j,d}-({T}_{\alpha},{w}_{j,d}))({y}_{{j}^{\prime},d}-({T}_{\alpha},{w}_{{j}^{\prime},d})).\end{array}$$

(19)

Replacing *y*_{j,d} by its expression in (16), we have

$$\begin{array}{cc}\hfill {\sigma}^{2}{\mathcal{E}}_{\text{obs}}& ={\displaystyle \sum}_{j,{j}^{\prime}\in J}\hspace{0.17em}\u200d{\displaystyle \sum}_{d=1}^{3}{r}_{j,{j}^{\prime}}^{\left(\text{obs}\right)}{{\displaystyle \int}}_{S}{\gamma}_{s}(x-{z}_{j}){N}_{S}^{\left(d\right)}\left(x\right)d{\omega}_{S}\left(x\right)\hfill \\ \hfill & \hspace{1em}\times {{\displaystyle \int}}_{S}{\gamma}_{s}(x-{z}_{{j}^{\prime}}){N}_{S}^{\left(d\right)}\left(x\right)d{\omega}_{S}\left(x\right)\hfill \\ \hfill & \hspace{1em}-2{\displaystyle \sum}_{j,{j}^{\prime}\in J}{r}_{j,{j}^{\prime}}^{\left(\text{obs}\right)}{\displaystyle \sum}_{d=1}^{3}{{\displaystyle \int}}_{S}{\gamma}_{s}(x-{z}_{j}){N}_{S}^{\left(d\right)}\left(x\right)d{\omega}_{S}\left(x\right)\hfill \\ \hfill & \hspace{1em}\times {{\displaystyle \int}}_{{T}_{\alpha}}{\gamma}_{s}(x-{z}_{{j}^{\prime}}){N}_{{T}_{\alpha}}^{\left(d\right)}\left(x\right)d{\omega}_{{T}_{\alpha}}\left(x\right)\hfill \\ \hfill & \hspace{1em}\times {\displaystyle \sum}_{j,{j}^{\prime}\in J}{r}_{j{j}^{\prime}}^{\left(\text{obs}\right)}{\displaystyle \sum}_{d=1}^{3}{{\displaystyle \int}}_{{T}_{\alpha}}{\gamma}_{s}(x-{z}_{j}){N}_{{T}_{\alpha}}^{\left(d\right)}\left(x\right)d{\omega}_{{T}_{\alpha}}\left(x\right)\hfill \\ \hfill & \hspace{1em}\times {{\displaystyle \int}}_{{T}_{\alpha}}{\gamma}_{s}\left(x-{z}_{{j}^{\prime}}\right){N}_{{T}_{\alpha}}^{\left(d\right)}\left(x\right)d{\omega}_{{T}_{\alpha}}\left(x\right).\hfill \end{array}$$

(20)

Let us analyze the first term. We have

$$\begin{array}{cc}\hfill & {\displaystyle \sum}_{j,{j}^{\prime}\in J}{r}_{j,{j}^{\prime}}^{\left(\text{obs}\right)}{\displaystyle \sum}_{d=1}^{3}{{\displaystyle \int}}_{S}{\gamma}_{s}(x-{z}_{j}){N}_{S}^{\left(d\right)}\left(x\right)d{\omega}_{S}\left(x\right)\hfill \\ \hfill & \hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\times {{\displaystyle \int}}_{S}{\gamma}_{s}(x-{z}_{{j}^{\prime}}){N}_{S}^{\left(d\right)}\left(x\right)d{\omega}_{S}\left(x\right)\hfill \\ \hfill & \hspace{1em}\hspace{1em}={\displaystyle \sum}_{j,{j}^{\prime}\in J}{r}_{j,{j}^{\prime}}^{\left(\text{obs}\right)}{\displaystyle \sum}_{d=1}^{3}{{\displaystyle \int}}_{S\times S}{\gamma}_{s}(x-{z}_{j}){N}_{S}^{\left(d\right)}\left(x\right){\gamma}_{s}\hfill \\ \hfill & \hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\times (y-{z}_{{j}^{\prime}}){N}_{S}^{\left(d\right)}\left(y\right)d{\omega}_{S}\left(x\right)d{\omega}_{S}\left(y\right)\hfill \\ \hfill & \hspace{1em}\hspace{1em}={{\displaystyle \int}}_{S\times S}\hspace{0.17em}{\displaystyle \sum}_{j,{j}^{\prime}\in J}{r}_{j,{j}^{\prime}}^{\left(\text{obs}\right)}{\gamma}_{s}(x-{z}_{j}){\gamma}_{s}(y-{z}_{{j}^{\prime}})\hfill \\ \hfill & \hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\times ({N}_{S}\left(x\right)\xb7{N}_{S}\left(y\right))d{\omega}_{S}\left(x\right)d{\omega}_{S}\left(y\right)\hfill \\ \hfill & \hspace{1em}\hspace{1em}={{\displaystyle \int}}_{S\times S}{K}_{\text{obs}}(x,y)({N}_{S}\left(x\right)\xb7{N}_{S}\left(y\right))d{\omega}_{S}\left(x\right)d{\omega}_{S}\left(y\right),\hfill \end{array}$$

(21)

with the notation

$$\begin{array}{c}{K}_{\text{obs}}(x,y)={\displaystyle \sum}_{j,{j}^{\prime}\in J}{r}_{j,{j}^{\prime}}^{\left(\text{obs}\right)}{\gamma}_{s}(x-{z}_{j}){\gamma}_{\text{s}}(y-{z}_{{j}^{\prime}}).\end{array}$$

(22)

Treating the other terms similarly, we can rewrite the error term in the form

$$\begin{array}{cc}\hfill {\mathcal{E}}_{\text{obs}}& =\frac{1}{{\sigma}^{2}}{{\displaystyle \int}}_{S\times S}{K}_{\text{obs}}(x,y)({N}_{S}\left(x\right)\xb7{N}_{S}\left(y\right))d{\omega}_{S}\left(x\right)d{\omega}_{S}\left(y\right)\hfill \\ \hfill & \hspace{1em}-\frac{2}{{\sigma}^{2}}{{\displaystyle \int}}_{S\times {T}_{\alpha}}{K}_{\text{obs}}(x,y)\hfill \\ \hfill & \hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\times ({N}_{S}\left(x\right)\xb7{N}_{{T}_{\alpha}}\left(y\right))d{\omega}_{S}\left(x\right)d{\omega}_{{T}_{\alpha}}\left(y\right)\hfill \\ \hfill & \hspace{1em}+\frac{1}{{\sigma}^{2}}{{\displaystyle \int}}_{{T}_{\alpha}\times {T}_{\alpha}}{K}_{\text{obs}}(x,y)\hfill \\ \hfill & \hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\times \left({N}_{{T}_{\alpha}}\left(x\right)\xb7{N}_{{T}_{\alpha}}\left(y\right)\right)d{\omega}_{{T}_{\alpha}}\left(x\right)d{\omega}_{{T}_{\alpha}}\left(y\right)\hfill \end{array}$$

(23)

and we will abbreviate this (introducing a notation for the right-hand side) as _{obs} = (1/*σ*^{2})||*S*−*T*_{α}||_{obs}^{2}. Thus, we can write

$$\begin{array}{c}p(y\hspace{0.17em}\mid \hspace{0.17em}{T}_{\alpha},\sigma )=\text{cst}\hspace{0.17em}\mathrm{exp}\hspace{0.17em}(-\frac{1}{2{\sigma}^{2}}{||S-{T}_{\alpha}||}_{\text{obs}}^{2}).\end{array}$$

(24)

We have the following important proposition.

Assume that *γ*_{s} is taken equal to the Green function of *L*_{obs}. Then, when the grid *J* becomes finer and *K*_{obs} is given by (22), one has

$$\begin{array}{c}{K}_{\text{obs}}(x,y)\to {\gamma}_{obs}(x-y).\end{array}$$

(25)

See the appendix for a proof of this proposition (which requires some background on the theory of Hilbert spaces with a reproducing kernel) and possible extensions. For practical purposes, we will use *γ*_{obs} instead of *K*_{obs} in ||·||_{obs}, therefore assuming that the sensors are chosen according to the proposition. It is interesting to notice that the resulting norm in this case is precisely the norm that has been introduced in [16] to compare surfaces, when they are considered as elements of a reproducing kernel Hilbert space of *currents*. We refer to [16] for details on the mathematical construction.

In the rest of the paper, we develop a parametric procedure to estimate the template *T* from the observation of i.i.d. surfaces *S*^{(1)}, *S*^{(2)},…, *S*^{(N)} generated as described above. This includes in particular *N* hidden deformation momenta *α*^{(1)}, *α*^{(2)},…, *α*^{(N)}, such that the complete distribution of observed and unobserved variables is

$$\begin{array}{cc}\hfill & p(\mu ,{\alpha}^{\left(1\right)},{S}^{\left(1\right)},\dots ,{\alpha}^{\left(N\right)},{S}^{\left(N\right)})\hfill \\ \hfill & =\text{cst}\hspace{0.17em}\mathrm{exp}\hspace{0.17em}\left(-\frac{\lambda}{2}{||\mu ||}_{{T}_{0}}^{2}-\frac{1}{2}{\displaystyle \sum}_{n=1}^{N}\left({||{\alpha}^{\left(n\right)}||}_{T}^{2}+\frac{1}{{\sigma}^{2}}{||{S}^{\left(n\right)}-{T}_{{\alpha}^{\left(n\right)}}||}_{\text{obs}}^{2}\right)\right),\hfill \end{array}$$

(26)

where we have written for short *T* = *T*_{0,μ}.

We now discuss the estimation of the parameter *μ*, and of the associated template *T*_{0,μ}, which is the main purpose of this paper. This will be implemented with a mode approximation of the EM algorithm, as described in the next section.

Let Θ = (*α*^{(1)}, *α*^{(2)},…, *α*^{(N)}) be the hidden part of the process, representing the collection of initial momenta, and let **S** = (*S*^{(1)}, *S*^{(2)},…, *S*^{(N)}) be the collection of observed surfaces. The complete distribution for the process, including the prior is given by (26).

The EM algorithm is an iterative method that updates a current estimation of *μ* using the following two *E*- and *M*-steps.

*E*-step: determine the conditional expectation $\tilde{\mu}\mapsto {E}_{\mu}\{\mathrm{log}\hspace{0.17em}\pi (\tilde{\mu},\Theta ,\mathbf{S})\mid \mathbf{S})\}$.

*M*-step: maximize this expression with respect to $\tilde{\mu}$ and replace the current estimation of *μ* by the obtained maximizer.

The conditional expectation can be expanded as

$$\begin{array}{cc}\hfill & {E}_{\mu}\left\{\mathrm{log}\hspace{0.17em}\pi \left(\tilde{\mu},\mathrm{\Theta},\mathbf{S}\right)\hspace{0.17em}\mid \hspace{0.17em}\mathbf{S})\right\}\hfill \\ \hfill & \hspace{1em}=-\frac{\lambda}{2}{||\tilde{\mu}||}_{{T}_{0}}^{2}-\frac{1}{2}{\displaystyle \sum}_{n=1}^{N}{E}_{\mu}\left({||{\alpha}^{\left(n\right)}||}_{T}^{2}+\frac{1}{{\sigma}^{2}}{||{S}^{\left(n\right)}-{T}_{{\alpha}^{\left(n\right)}}||}_{\text{obs}}^{2}\hspace{0.17em}\mid \hspace{0.17em}{S}^{\left(n\right)}\right).\hspace{0.17em}\hfill \end{array}$$

(27)

Considering the highly nonlinear relation between *α*^{(n)} and the deformed surface *T*_{α(n)}, an explicit computation in (27) is impossible. We will therefore rely on the classic mode approximation in the EM which replaces the conditional distribution by a Dirac measure taken at the conditional mode, yielding

$$\begin{array}{cc}\hfill & {E}_{\mu}\left\{\mathrm{log}\hspace{0.17em}\pi \left(\tilde{\mu},\mathrm{\Theta},\mathbf{S}\right)\hspace{0.17em}\mid \hspace{0.17em}\mathbf{S})\right\}\hfill \\ \hfill & \hspace{1em}\hspace{1em}\approx \frac{\lambda}{2}{||\tilde{\mu}||}_{{T}_{0}}^{2}+\frac{1}{2}{\displaystyle \sum}_{n=1}^{N}{||{\widehat{\alpha}}^{\left(n\right)}||}_{T}^{2}+\frac{1}{{\sigma}^{2}}{||{S}^{\left(n\right)}-{T}_{{\widehat{\alpha}}^{\left(n\right)}}||}_{\text{obs}}^{2}\},\hfill \end{array}$$

(28)

where

$$\begin{array}{c}{\widehat{\alpha}}^{\left(n\right)}=\underset{\alpha}{\mathrm{arg}\hspace{0.17em}\mathrm{min}\hspace{0.17em}}\left\{{||\alpha ||}_{T}^{2}+\frac{1}{{\sigma}^{2}}{||{S}^{\left(n\right)}-{T}_{\alpha}||}_{\text{obs}}^{2}\right\}.\end{array}$$

(29)

This results in a maximum a posteriori procedure that maximizes alternatively in *μ* and in the *α*^{(n)}'s. Like in [15], we will refer to it as a mode approximation to the EM (MAEM) rather than a MAP algorithm, in order to strengthen the fact that it is an approximation of the maximum a posteriori procedure relying on the likelihood of the observed data only. As illustrated in [14], the MAEM can be biased (leading to inexact estimation of the template, even with a very large number of samples), especially when the noise is important, but it is obviously more feasible than the exact EM. Notice that the MAEM method is a special form of EM algorithm, and as such optimizes a lower bound of the log likelihood of the observed data.

We summarize the two steps of the *i*th iteration of the MAEM in our case. Suppose *μ* and the *α*^{(n)}'s are the current variables to be updated. Then the next iteration is as follows.

MAE step: with *μ* (and therefore *T*) fixed, find, for *n* = 1,…, *N*, ${\widehat{\alpha}}^{(n)}$ to minimize

$$\begin{array}{c}{||\alpha ||}_{T}^{2}+\frac{1}{{\sigma}^{2}}{||{S}^{\left(n\right)}-{T}_{\alpha}||}_{\text{obs}}^{2}\end{array}$$

(30)

and replace *α*^{(n)} by ${\widehat{\alpha}}^{(n)}$.

*M* step: with *α*^{(n)} fixed, update *μ* with the minimizer of

$$\begin{array}{c}\lambda {||\tilde{\mu}||}_{{T}_{0}}^{2}+{\displaystyle \sum}_{n=1}^{N}\left({||{\alpha}^{\left(n\right)}||}_{{T}_{0,\tilde{\mu}}}^{2}+\frac{1}{{\sigma}^{2}}{||{S}^{\left(n\right)}-{\left({T}_{0\tilde{\mu}}\right)}_{{\alpha}^{\left(n\right)}}||}_{\text{obs}}^{2}\right).\end{array}$$

(31)

We now discuss how each of these steps can be implemented.

Our goal in this section is to optimize (30). We work with fixed *n* and drop it from the notation to simplify the expressions. The objective function is

$$\begin{array}{c}E\left(\alpha \right)={||\alpha ||}_{T}^{2}+\frac{1}{{\sigma}^{2}}{||S-{T}_{\alpha}||}_{\text{obs}}^{2}.\end{array}$$

(32)

This problem is equivalent to the surface matching algorithm considered in [16], with a slightly different formulation since [16] optimize an energy with respect to a time-dependent momentum instead of just the initial momentum (i.e., they solved simultaneously the geodesic estimation and the matching problems). These two formulations are equivalent when using continuous time (they produce the same minima), but they yield different results when discretized. In our setting, formulating the problem as in (32) is natural, and focuses on the modeled random variable, *α*.

We need to compute the variation of *E* with respect to *α*. This computation will be useful for the *M*-step also. We first discuss the discretization of the error term, which follows [16]. Let *S* be a triangulated surfaces, with vertices *x*^{(S)} = (*x*_{1}^{(S)},…, *x*_{L}^{(S)}) and faces *F*^{(S)} = (*f*_{1}^{(S)},…, *f*_{M}^{(S)}). Each face is represented by an ordered triple of vertices: *f* = (*x*_{1}^{f}, *x*_{2}^{f}, *x*_{3}^{f}), and we define the face centers and area-weighted normals by

$$\begin{array}{c}{c}_{f}=\frac{1}{3}\left({x}_{1}^{f}+{x}_{2}^{f}+{x}_{3}^{f}\right),\\ {N}_{f}=\frac{1}{2}({x}_{2}^{f}-{x}_{1}^{f})\times ({x}_{3}^{f}-{x}_{1}^{f}).\end{array}$$

(33)

Then a discrete approximation of ||*S*−*S*′||_{obs}^{2} is

$$\begin{array}{cc}\hfill U\left({x}^{{S}^{\prime}}\right)& ={\displaystyle \sum}_{f,{f}^{\prime}\in {F}^{\left(S\right)}}{\gamma}_{\text{obs}}({c}_{f}-{c}_{{f}^{\prime}})({N}_{f}\xb7{N}_{{f}^{\prime}})\hfill \\ \hfill & \hspace{1em}+{\displaystyle \sum}_{f,{f}^{\prime}\in {F}^{\left({S}^{\prime}\right)}}{\gamma}_{\text{obs}}({c}_{f}-{c}_{{f}^{\prime}})({N}_{f}\xb7{N}_{{f}^{\prime}})\hfill \\ \hfill & \hspace{1em}-2{\displaystyle \sum}_{f\in {F}^{\left(S\right)},{f}^{\prime}\in {F}^{\left({S}^{\prime}\right)}}{\gamma}_{\text{obs}}\left({c}_{f}-{c}_{{f}^{\prime}}\right)\left({N}_{f}\xb7{N}_{{f}^{\prime}}\right),\hfill \end{array}$$

(34)

where *S* is considered as fixed and *U* is therefore considered as a function of the vertices, *x*^{(S′)}, of *S*′.

With this notation, we can write

$$\begin{array}{c}E\left(\alpha \right)={||\alpha ||}_{T}^{2}+\frac{1}{{\sigma}^{2}}U\left({x}^{\left({T}_{\alpha}\right)}\right).\end{array}$$

(35)

We want to compute the gradient of *E* and for this, apply the chain rule to the transformations *α* → *T*_{α} → *U*(*x*^{(Tα)}), yielding

$$\begin{array}{c}{\partial}_{\alpha}U={\left(\frac{d{x}^{\left({T}_{\alpha}\right)}}{d\alpha}\right)}^{\ast}{\partial}_{x}U,\end{array}$$

(36)

where *A** is the transpose matrix of *A*.

The gradient of *U* with respect to *x*^{(S′)} has been computed in [16], and is given as follows. We denote by *F*_{l}^{(S)} the set of faces (triangles) that contain a vertex *x*_{l} in a triangulated surface *S*. For *f* *F*_{l}^{(S)}, we let *e*_{l}(*f*) denote the edge opposed to *x*_{l} in *f*, positively oriented in *f*. With *S*′ = *T*_{α}, we have

$$\begin{array}{cc}\hfill & \frac{\partial U}{\partial {x}_{l}^{\left({S}^{\prime}\right)}}\left({x}^{\left({S}^{\prime}\right)}\right)\hfill \\ \hfill & \hspace{1em}={\displaystyle \sum}_{f\in {F}_{l}^{\left({S}^{\prime}\right)}}\hspace{0.17em}{\displaystyle \sum}_{g\in {F}^{\left(S\right)}\cup {F}^{\left({S}^{\prime}\right)}}{a}_{g}(\frac{2}{3}\nabla {\gamma}_{\text{obs}}\left({c}_{f}-{c}_{g}\right)\left({N}_{f}\xb7{N}_{g}\right)\hfill \\ \hfill & \hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}\hspace{1em}+{\gamma}_{\text{obs}}\left({c}_{f}-{c}_{g}\right){e}_{l}\left(f\right)\times {N}_{g}),\hfill \end{array}$$

(37)

where *a*_{g} = 1 if *g* *F*^{(S′)} and *a*(*g*) = −1 if *g* *F*^{(S)}.

Now let us derive the variation of *x*^{(Tα)} with respect to the initial momentum, *α*. We know that *x*^{(Tα)} = *x*(1), where *x* and *a* evolve according to the system (7)

$$\begin{array}{c}\frac{\text{d}{x}_{k}}{\text{d}t}={\displaystyle \sum}_{l=1}^{L}{\gamma}_{kl}{a}_{l},\hspace{1em}\hspace{1em}\frac{\text{d}{a}_{k}}{\text{d}t}=-2{\displaystyle \sum}_{l=1}^{L}{\gamma}_{kl}^{\prime}({a}_{l}\xb7{a}_{k})({x}_{k}-{x}_{l})\end{array}$$

(38)

with *x*(0) = *x*^{(T)} and *a*(0) = *α* (and *γ*_{kl}, *γ*_{kl}′ are short for *γ*(||*x*_{k}−*x*_{l}||^{2}) and *γ*′(||*x*_{k}−*x*_{l}||^{2})). Now an infinitesimal variation *α* → *α* + *δ**α* in the initial condition induces infinitesimal variations *a* + *δ**a* and *x* + *δ**x* over time, and the pair (*δ**x*, *δ**a*) obeys the following differential system, that can be obtained from a formal differentiation of (7):

$$\begin{array}{cc}\hfill \frac{\text{d}\delta {x}_{k}\left(t\right)}{\text{d}t}& ={\displaystyle \sum}_{l=1}^{L}{\gamma}_{kl}\delta {a}_{l}+2{\displaystyle \sum}_{l=1}^{L}{\gamma}_{kl}^{\prime}{a}_{l}({x}_{k}-{x}_{l})\xb7(\delta {x}_{k}-\delta {x}_{l}),\hfill \end{array}$$

(39)

$$\begin{array}{cc}\hfill \frac{\text{d}\delta {a}_{k}\left(t\right)}{\text{d}t}& =-2{\displaystyle \sum}_{l=1}^{L}{\gamma}_{kl}^{\prime}({a}_{l}\xb7\delta {a}_{k}+\delta {a}_{l}\xb7{a}_{k})({x}_{k}-{x}_{l})\hfill \\ \hfill & \hspace{1em}-2{\displaystyle \sum}_{l=1}^{L}{\gamma}_{kl}^{\prime}({a}_{l}\xb7{a}_{k})(\delta {x}_{k}-\delta {x}_{l})\hfill \\ \hfill & \hspace{1em}-4{\displaystyle \sum}_{l=1}^{L}{\gamma}_{kl}^{\mathrm{\prime \prime}}({a}_{l}\xb7{a}_{k})({x}_{k}-{x}_{l})(({x}_{k}-{x}_{l})\xb7(\delta {x}_{k}-\delta {x}_{l}))\hfill \end{array}$$

(40)

with *γ*_{kl}′′ = *γ*′′(||*x*_{k}−*x*_{l}||^{2}).

One can rewrite it in the matrix form:

$$\begin{array}{c}\frac{\text{d}}{\text{d}t}\left(\begin{array}{c}\delta x\\ \delta \alpha \end{array}\right)=J\left(t\right)\left(\begin{array}{c}\delta x\\ \delta \alpha \end{array}\right),\end{array}$$

(41)

where $J(t)=\left(\begin{array}{cc}{J}_{xx}& {J}_{xa}\\ {J}_{ax}& {J}_{aa}\end{array}\right)$ with

$$\begin{array}{cc}\hfill {J}_{xx}(k,l)& =\left(2{\displaystyle \sum}_{q=1}^{L}{\gamma}_{kq}^{\prime}{a}_{q}{\left({x}_{l}-{x}_{q}\right)}^{\ast}\right){\delta}_{kl}-2{\gamma}_{kl}^{\prime}{a}_{l}{\left({x}_{k}-{x}_{l}\right)}^{\ast}\hfill \\ \hfill {J}_{xa}\left(k,l\right)& ={\gamma}_{kl}I{d}_{{\mathbb{R}}^{3}}.\hfill \\ \hfill {J}_{ax}(k,l)& =-(2{\displaystyle \sum}_{q=1}^{L}\left({a}_{q}\xb7{a}_{l}\right)\hfill \\ \hfill & \hspace{1em}\hspace{1em}\times \left({\gamma}_{kq}^{\prime}I{d}_{{\mathbb{R}}^{3}}+2{\gamma}_{kq}^{\mathrm{\prime \prime}}\left({x}_{l}-{x}_{q}\right){\left({x}_{l}-{x}_{q}\right)}^{\ast}\right){\delta}_{kl})\hfill \\ \hfill & \hspace{1em}+2\left({a}_{l}\xb7{a}_{k}\right)\left({\gamma}_{kl}^{\prime}I{d}_{{\mathbb{R}}^{3}}+2{\gamma}_{kl}^{\mathrm{\prime \prime}}\left({x}_{k}-{x}_{l}\right){\left({x}_{k}-{x}_{l}\right)}^{\ast}\right).\hfill \\ \hfill {J}_{aa}\left(k,l\right)& =-\left(2\left({\displaystyle \sum}_{q=1}^{L}{\gamma}_{kq}^{\prime}\left({x}_{l}-{x}_{q}\right){a}_{q}^{\ast}\right)\right){\delta}_{kl}-2{\gamma}_{kl}^{\prime}\left({x}_{k}-{x}_{l}\right){a}_{k}^{\ast}.\hfill \end{array}$$

(42)

Solving this system with initial condition *δ**x*(0) = 0 and *δ**a*(0) = *δ**α* provides what we have denoted

$$\begin{array}{c}\left(\frac{d{x}^{\left({T}_{\alpha}\right)}}{\text{d}\alpha}\right)\delta \alpha .\end{array}$$

(43)

One does not need to compute all the coefficients of the matrix *d**x*^{(Tα)}/*d**α* using this equation in order to apply the transpose in (36). This is fortunate because this would constitute a computationally demanding effort given that this matrix is 3*L* by 3*L* with *L* large. The right hand side of (36) can be in fact computed directly using a single dynamical system, given by

$$\begin{array}{c}\frac{\text{d}}{\text{d}t}\left(\begin{array}{c}{\eta}_{x}\\ {\eta}_{\alpha}\end{array}\right)=-J{\left(t\right)}^{\ast}\left(\begin{array}{c}{\eta}_{x}\\ {\eta}_{\alpha}\end{array}\right),\end{array}$$

(44)

where *J*(*t*) is defined in (39). If (44) is solved from time *t* = 1 to time *t* = 0 with *η*_{x}(1) = _{x}*U* and *η*_{α}(1) = 0, then

$$\begin{array}{c}{\partial}_{\alpha}U={\eta}_{\alpha}\left(0\right).\end{array}$$

(45)

This is a simple consequence of the theory of linear differential systems (a proof is provided in the Appendix for completeness). Note that the matrix *J*(*t*) depends on the solution of (7) computed with initial conditions *x*(0) = *x*^{(T)} and *a*(0) = *α*. To emphasize this dependency, we will denote it *J*(*t*) = *J*^{(T,α)}(*t*) in the following.

Given this, we see that a variation *α* → *α* + *δ**α* induces a first-order variation *δ**E* of the energy given by

$$\begin{array}{c}\delta E=2{\langle \delta \alpha \hspace{0.17em},\hspace{0.17em}\alpha \rangle}_{T}+\frac{1}{{\sigma}^{2}}\delta \alpha \xb7{\eta}_{\alpha}\left(0\right),\end{array}$$

(46)

where the *T*-dot product is *δ**α* , *α*_{T} = *δ**α* · (Γ_{T}*α*) and Γ_{T} is the matrix formed with 3 by 3 blocs *γ*_{kl}*I**d*_{3}.

We choose to operate the gradient descent with respect to this dot product and therefore choose a variation proportional to *δ**α* = −(2*α* + Γ_{T}^{−1}*η*_{α}(0)). So, the algorithm to compute an optimal *α* is the following.

This algorithm has to be applied *N* times (for all *α*_{k}, *k* = 1,…, *N*) in the MAE step.

The matrix Γ_{T} being typically very badly conditioned, we numerically compute Γ_{T}^{−1}*η*_{α} after adding a small positive number to the diagonal of Γ_{T}. The inversion itself is computed using conjugate gradient.

There are many similarities between the *M*-step and the *E*-step variational problems, so that we will be able to only sketch the detail of the computation here. We need to minimize

$$\begin{array}{c}\tilde{E}\left(\mu \right)={||\mu ||}_{{T}_{0}}^{2}+\frac{1}{\lambda}{\displaystyle \sum}_{n=1}^{N}{\tilde{U}}^{\left(n\right)}\left({x}^{\left({T}_{0,\mu}\right)}\right)\end{array}$$

(47)

with

$$\begin{array}{c}{\tilde{U}}^{\left(n\right)}\left({x}^{\left(T\right)}\right)={||{\alpha}^{\left(n\right)}||}_{T}^{2}+\frac{1}{{\sigma}^{2}}{||S-{T}_{{\alpha}^{\left(n\right)}}||}_{\text{obs}}^{2}.\end{array}$$

(48)

Let us consider the variation of each term in the sum (fixing *n*, that we temporarily drop from the notation). Since

$$\begin{array}{c}{||\alpha ||}_{T}^{2}={\displaystyle \sum}_{k,l=1}^{L}\gamma \left({||{x}_{k}^{\left(T\right)}-{x}_{l}^{\left(T\right)}||}^{2}\right)({\alpha}_{k}\xb7{\alpha}_{l}),\end{array}$$

(49)

we can write

$$\begin{array}{c}\frac{\partial {||\alpha ||}_{T}^{2}}{\partial {x}_{k}^{\left(T\right)}}=2{\displaystyle \sum}_{l=1}^{L}{\gamma}^{\prime}\left({||{x}_{k}^{\left(T\right)}-{x}_{l}^{\left(T\right)}||}^{2}\right)({\alpha}_{k}\xb7{\alpha}_{l})({x}_{k}^{\left(T\right)}-{x}_{l}^{\left(T\right)}).\end{array}$$

(50)

The function *U* being defined as before, we see that the derivative of the second term is given by applying the chain rule again, this time in the form

$$\begin{array}{c}{\left(\frac{d{x}^{\left({T}_{\alpha}\right)}}{d{x}^{\left(T\right)}}\right)}^{\ast}{\partial}_{{x}^{\left({T}_{\alpha}\right)}}U.\end{array}$$

(51)

Like in the previous section, the transpose of the differential applied to the gradient of *U* can be computed by solving a dynamical system backward in time. In fact, it is the same system as with the variation in *α*, namely,

$$\begin{array}{c}\frac{\text{d}}{\text{d}t}\left(\begin{array}{c}{\eta}_{x}\\ {\eta}_{\alpha}\end{array}\right)=-{J}^{(T,\alpha )}{\left(t\right)}^{\ast}\left(\begin{array}{c}{\eta}_{x}\\ {\eta}_{\alpha}\end{array}\right)\end{array}$$

(52)

still initialized with *η*_{x}(1) = _{x(Tα)}*U* and *η*_{α}(1) = 0, but the relevant result now is *η*_{x}(0). The gradient of $\tilde{U}$ is then

$$\begin{array}{c}{\partial}_{{x}^{\left(T\right)}}U={\partial}_{{x}^{\left(T\right)}}{||\alpha ||}_{T}^{2}+\frac{1}{{\sigma}^{2}}{\eta}_{x}\left(0\right).\end{array}$$

(53)

Once this is computed, the next step is to compute (reintroducing *n* in the notation)

$$\begin{array}{c}{\left(\frac{d{x}^{\left({T}_{0\mu}\right)}}{d\mu}\right)}^{\ast}\left({\displaystyle \sum}_{n=1}^{N}{\partial}_{{x}^{\left(T\right)}}{U}^{\left(n\right)}\right).\end{array}$$

(54)

This follows a similar procedure, using (44), with *T*_{0} instead of *T* and *μ* instead of *α*. This requires solving

$$\begin{array}{c}\frac{\text{d}}{\text{d}t}\left(\begin{array}{c}{\eta}_{x}\\ {\eta}_{\mu}\end{array}\right)=-{J}^{({T}_{0},\mu )}{\left(t\right)}^{\ast}\left(\begin{array}{c}{\eta}_{x}\\ {\eta}_{\mu}\end{array}\right),\end{array}$$

(55)

initialized with ${\eta}_{x}(1)={\partial}_{{x}^{(T)}}\tilde{U}$ and *η*_{μ}(1) = 0. The variation of $\tilde{E}$ associated to an infinitesimal variation of *μ* is then

$$\begin{array}{cc}\hfill \delta E& ={\langle \delta \mu ,\hspace{0.17em}2\mu \rangle}_{{T}_{0}}+\frac{1}{\lambda}\left(\delta \mu \xb7{\eta}_{\mu}\left(0\right)\right)\hfill \\ \hfill & =\langle \delta \mu ,\hspace{0.17em}2\mu +\frac{1}{\lambda}{\mathrm{\Gamma}}_{{T}_{0}}^{-1}{\eta}_{\mu}\left(0\right)\rangle .\hfill \end{array}$$

(56)

We summarize the M step in the following algorithm.

- (1)For
*n*= 1,…,*N*:- (1.1) Compute
_{x(Tα(n))}*U*using (37). - (1.2) Solve system (44) backward in time with initial condition
*η*_{x}^{(n)}(1) =_{x(Tα(n))}*U*and*η*_{α}^{(n)}(1) = 0. - (1.3) Compute
using (50).$$\begin{array}{c}{\partial}_{{x}^{\left(T\right)}}{\tilde{U}}^{\left(n\right)}={\partial}_{{x}^{\left(T\right)}}{||{\alpha}^{\left(n\right)}||}_{T}^{2}+\frac{1}{{\sigma}^{2}}{\eta}_{x}^{\left(n\right)}\left(0\right)\end{array}$$(57)

- (1.1) Compute
- (2)Solve system (55) backward in time withand$$\begin{array}{c}{\eta}_{x}\left(1\right)={\displaystyle \sum}_{n=1}^{N}{\partial}_{{x}^{\left(T\right)}}{\tilde{U}}^{\left(n\right)}\end{array}$$(58)
*η*_{μ}(1) = 0. - (3)Replace
*μ*by*μ*−*ϵ*(*μ*+ Γ_{T0}^{−1}*η*_{μ}(0)/*λ*),*ϵ*being optimized with a line search.

We finally summarize the surface template estimation algorithm:

Having the hypertemplate *T*_{0} and observed surfaces *S*^{(1)},…, *S*^{(N)}, the goal is to estimate the template *T*. Let *T*, *μ*, *α*^{(1)},…, *α*^{(N)} denote the current estimation with initial guess *T* = *T*_{0}, *μ* = 0, *α*^{(n)} = 0. Then, in the next iteration, update with the following steps:

- Solve (7) initialized with the hypertemplate
*T*_{0}and the newly obtained*μ*to update the estimated template,*T*.

We applied the algorithm to surface data of human brain's caudate, thalamus, and hippocampus. All data are courtesy of Center for Imaging Science at Johns Hopkins University. Each surface has around 5–10 thousand triangle cells. We randomly chose one as the hypertemplate and the others as observed surfaces. In these experiments, we set *λ* = 1.0 and *σ*^{2} = 1.0.

Figures Figures2 and2 and and3 are3 are the template estimation result for caudate and thalamus, respectively.

Estimating the surface template from 9 caudate data. (a)–(i) observed surfaces. (j) is the hypertemplate. (k) is the result.

Estimating the surface template from 9 thalamus data. (a)–(i) observed surfaces. (j) is the hypertemplate. (k) is the result.

We also applied the algorithm to 101 hippocampus surface data in the BIRN Project (Biomedical Informatics Research Network). In Figure 4, Panels (a)–(h) are 8 examples of the 101 observations. Panel (i) is the hypertemplate and Panel (j) is the estimated template.

Estimating the surface template from 101 data. (a)–(h) are 8 examples out of 101 observed surfaces. (i) is the hypertemplate. (j) is the result.

The result is visually satisfying in the sense that the estimated template is found to agree with a qualitative representation of the population. For example, in the caudate experiment, the estimated template has an obviously narrower upper tip than the hypertemplate. This captures the population characteristic since most observed data have narrower upper tips. Notice that the obtained template does not look smoother than the rest of the population, as would typically yield template estimation methods that average over fixed parametrizations.

Figure 5 shows how the energy in (31) changes with the iteration in the caudate experiment. This confirms the effectiveness and convergence of the algorithm. One can see the energy drops quickly in the first twenty iterations, then gradually slows down. After the 35th iteration, the energy changes little and the estimated template remains stable.

In our model, the hypertemplate can be provided by an atlas obtained from other studies, although we here simply choose one of the surfaces in the population. Actually, as Figure 6 shows, different choices for the hypertemplate yield very similar results.

In this paper, we have presented a Bayesian approach for surface template estimation. We have built, for this purpose, a generative statistical model for surfaces: the construction first applies a random initial momentum to the template surface, then assumes an observation process using test functions and noise. The template is assumed to be generated as a random deformation of a *hypertemplate*, completing the Bayesian model. We used a mode approximation EM scheme to estimate the surface template, and introduced for this purpose a novel surface matching algorithm optimizing with respect to the initial momentum. The procedure has been tested with caudate, thalamus, and hippocampus surface data, showing its effectiveness and convergence, and also experimentally proved to be robust to variations in the choice of the hypertemplate.

This paper is partially supported by R01-MH056584, R01-EB000975, R01-MH60883, P50-MH071616, P01-AG003991, P01-AG0262761, P41-RR015241, R24-RR021382, and NSF DMS-0456253.

Let us assume that *L*_{obs}*γ*_{s} = *δ*_{0}, that is, *γ*_{s} is the Green Kernel of the operator *L*_{obs}. This assumption implies, in particular, that *γ*_{s} = *γ*_{obs}. Given a smooth function *f*, denote

$$\begin{array}{c}{f}_{J}\left(x\right)={\displaystyle \sum}_{j,{j}^{\prime}\in J}{r}_{j,{j}^{\prime}}^{\left(\text{obs}\right)}{\gamma}_{\text{obs}}(x-{z}_{j})f\left({z}_{{j}^{\prime}}\right).\end{array}$$

(A.1)

Define the vector space

$$\begin{array}{c}{V}_{J}=\left\{g\in V:g\left(x\right)={\displaystyle \sum}_{j\in J}{\gamma}_{\text{obs}}(x-{z}_{j}){\rho}_{j},\hspace{0.17em}{\rho}_{j}\in \mathbb{R},\hspace{0.17em}j\in J\right\}.\end{array}$$

(A.2)

Introduce the RKHS *V* with scalar product given by

$$\begin{array}{c}{\langle w\hspace{0.17em},\hspace{0.17em}{w}^{\prime}\rangle}_{V}={{\displaystyle \int}}_{{\mathbb{R}}^{d}}\left({L}_{\text{obs}}w\right){w}^{\prime}dx.\end{array}$$

(A.3)

Then *f*_{J} can be identified to the orthogonal projection of *f* on *V*_{j}, because *r*^{(obs)} is the inverse of the Gram matrix (matrix of dot products) of (*γ*_{obs}(·−*z*_{j}), *j* *J*), which are the generators of *V*_{J}, and

$$\begin{array}{c}f\left({z}_{j}\right)={\langle f\hspace{0.17em},\hspace{0.17em}{\gamma}_{\text{obs}}\left(\xb7,{z}_{j}\right)\rangle}_{V}\end{array}$$

(A.4)

by assumption.

Now, let *J*_{m} be a sequence of progressively finer grids with resolution *ϵ*_{m} tending to 0 when *m* tends to infinity. We prove that ||*f*_{Jm}−*f*||_{V} → 0, for which it suffices to prove that *V*_{Jm} is dense in *V*. This is equivalent to the fact that no nonzero *g* in *V* can be orthogonal to all the *V*_{Jm}'s. But *g* orthogonal to *V*_{Jm} is only possible when, for all *j* *J*_{m},

$$\begin{array}{c}g\left({z}_{j}\right)={\langle g,\hspace{0.17em}{\gamma}_{w}\left(\xb7-{z}_{j}\right)\rangle}_{V}=0.\end{array}$$

(A.5)

Since the *z*_{j}′*s* form an arbitrarily fine grid in *V* and functions in *V* are continuous, this implies *g* = 0.

So, *f*_{J} → *f* in *V*, which implies, for example, pointwise convergence as soon as *V* is embedded in the set of continuous functions (that is, if *γ*_{obs} is continuous). This directly implies Proposition 1 in the case *γ*_{s} = *γ*_{obs}, by taking *f*(*x*) = *γ*_{obs}(*x* − *y*) for a given *y*.

Extensions of this result is when *γ*_{s} is obtained by applying some linear operator, say *A*, to *γ*_{obs}. One then has

$$\begin{array}{c}{K}_{\text{obs}}(\xb7,\tilde{x})=A\left({\displaystyle \sum}_{j,{j}^{\prime}\in J}{r}_{j,{j}^{\prime}}^{\left(w\right)}{\gamma}_{\text{obs}}\left(\xb7-{z}_{j}\right){\gamma}_{s}\left(\tilde{x}-{z}_{{j}^{\prime}}\right)\right)\end{array}$$

(A.6)

and passing to the limit in the sum (for which one needs *γ*_{s} *V* and *A* continuous on *V*), one gets ${K}_{\text{obs}}(x,\tilde{x})\to {A}^{2}{\gamma}_{\text{obs}}$.

We here justify the procedure described in Section 4, and prove the following fact: consider the solution, *z*(*t*) ^{p}, of the ordinary differential equation

$$\begin{array}{c}{\partial}_{t}z=J\left(t\right)z,\end{array}$$

(B.1)

where *J* is a time-dependent operator (a *p* by *p* matrix). Then, for any *u* ^{p}, we have

$$\begin{array}{c}u\xb7z\left(1\right)=\eta \left(0\right)\xb7z\left(0\right),\end{array}$$

(B.2)

where *η* is the solution of the differential equation

$$\begin{array}{c}{\partial}_{s}\eta =-J{\left(s\right)}^{\ast}\eta \end{array}$$

(B.3)

with *η*(1) = *u*.

Let us prove this result. First remark that since *z* is the solution of a linear equation, it depends linearly on the initial condition, *z*(0). More precisely, let *M*(*s*, *t*) be the *p* by *p* matrix such that

$$\begin{array}{c}{\partial}_{t}M(s,t)=J\left(t\right)M(s,t)\end{array}$$

(B.4)

and *M*(*s*, *s*) = *I**d*_{p}. Then *z*(*t*) = *M*(0, *t*)*z*(0), and, obviously, *η*(0) = *M*(0,1)**u*. Using the identity *M*(*t*, *s*)*M*(*s*, *t*) = *I**d*_{p}, we obtain

$$\begin{array}{cc}\hfill 0& =M(t,s)\left({\partial}_{s}M(s,t)\right)+\left({\partial}_{s}M(t,s)\right)M(s,t)\hfill \\ \hfill & =\left({\partial}_{s}M(s,t)\right)M(t,s)+J\left(s\right)\hfill \end{array}$$

(B.5)

so that _{s}*M*(*s*, *t*) = −*M*(*s*, *t*)*J*(*s*). Computing the transposed equation yields and taking *t* = 1

$$\begin{array}{c}{\partial}_{s}M{\left(s,1\right)}^{\ast}=-J{\left(s\right)}^{\ast}M{\left(s,1\right)}^{\ast}.\end{array}$$

(B.6)

Thus, if *η*(*s*) = *M*(*s*,1)**u*, we have *η*(1) = *u* and _{s}*η* = −*J*(*s*)**η* as announced.

1. Durrleman S, Pennec X, Trouvé A, Ayache N. A forward modelto build unbiased atlases from curves and surfaces. In: Proceedings of the International Workshop on the Mathematical Foundations of Computational Anatomy (MFCA ’08); September 2008; New York, NY, USA.

2. Shen L, Farid H, McPeek MA. Modeling three-dimensional morphological structures using spherical harmonics. *Evolution*. 2008;63(4):1003–1016. [PMC free article] [PubMed]

3. Guimond A, Meunier J, Thirion J-P. Average brain models: a convergence study. *Computer Vision and Image Understanding*. 2000;77(2):192–210.

4. Mio W, Srivastava A, Joshi S. On shape of plane elastic curves. *International Journal of Computer Vision*. 2007;73(3):307–324.

5. Fletcher PT, Joshi S, Lu C, Pizer SM. Principal geodesic analysis for the study of nonlinear statistics of shape. *IEEE Transactions on Medical Imaging*. 2004;23(8):995–1005. [PubMed]

6. Le H, Kume A. The Fréchet mean shape and the shape of the means. *Advances in Applied Probability*. 2000;32(1):101–113.

7. Pennec X. Intrinsic statistics on riemannian manifolds: basic tools for geometric measurements. *Journal of Mathematical Imaging and Vision*. 2006;25(1):127–154.

8. Vaillant M, Miller MI, Younes L, Trouvé A. Statistics on diffeomorphisms via tangent space representations. *NeuroImage*. 2004;23(1):S161–S169. [PubMed]

9. Beg MF, Khan A. Computation of average atlas using lddmmand geodesic shooting. In: Proceedings of the IEEE International Symposium on Biomedical Imaging; April 2006; Arlington, Va, USA.

10. Helm PA, Younes L, Beg MF, et al. Evidence of structural remodeling in the dyssynchronous failing heart. *Circulation Research*. 2006;98(1):125–132. [PubMed]

11. Joshi S, Davis B, Jomier M, Gerig G. Unbiased diffeomorphic atlas construction for computational anatomy. *NeuroImage*. 2004;23(supplement 1):S151–S160. [PubMed]

12. Avants B, Gee J. Symmetric geodesic shape averaging and shape interpolation. In: Proceedings of the Computer Vision and Mathematical Methods in Medical and Biomedical Image Analysis, Workshops CVAMIA and MMBIA, vol. 3117; 2004; pp. 99–110.

13. Avants B, Gee JC. Geodesic estimation for large deformation anatomical shape averaging and interpolation. *NeuroImage*. 2004;23(supplement 1):S139–S150. [PubMed]

14. Allassonnière S, Amit Y, Trouvé A. Towards a coherent statistical framework for dense deformable template estimation. *Journal of the Royal Statistical Society. Series B*. 2007;69(1):3–29.

15. Ma J, Miller MI, Trouvé A, Younes L. Bayesian template estimation in computational anatomy. *NeuroImage*. 2008;42(1):252–261. [PMC free article] [PubMed]

16. Vaillant M, Glaunès J. Surface matching via currents. In: Proceedings of the 19th International Conference on Information Processing in Medical Imaging (IPMI ’05), vol. 3565; July 2005; Glenwood Springs, Colo, USA.

17. Beg MF, Miller MI, Trouvé A, Younes L. Computing large deformation metric mappings via geodesic flows of diffeomorphisms. *International Journal of Computer Vision*. 2005;61(2):139–157.

18. Arnol’d VI, Arnold VI, Vogtmann K, Weinstein A. *Mathematical Methods of Classical Mechanics*. Berlin, Germany: Springer; 1989.

19. Marsden JE, Ratiu TS. *Introduction to Mechanics and Symmetry*. Berlin, Germany: Springer; 1999.

20. Younes L. *Shapes and Diffeomorphisms*. Berlin, Germany: Springer; 2010.

21. Holm DD, Marsden JE, Ratiu TS. The Euler-Poincaré equations and semidirect products with applications to continuum theories. *Advances in Mathematics*. 1998;137(1):1–81.

22. Schaback R. Error estimates and condition numbers for radial basis function interpolation. *Advances in Computational Mathematics*. 1995;3(1):251–264.

Articles from International Journal of Biomedical Imaging are provided here courtesy of **Hindawi Publishing Corporation**

PubMed Central Canada is a service of the Canadian Institutes of Health Research (CIHR) working in partnership with the National Research Council's national science library in cooperation with the National Center for Biotechnology Information at the U.S. National Library of Medicine(NCBI/NLM). It includes content provided to the PubMed Central International archive by participating publishers. |