Keywords

1 Introduction

In fields from medical imaging to biology, realistic models of shape must allow randomness in shape evolutions. For example, in evolutionary biology, random gene changes through evolution can be hypothesised to cause random shape variation. Therefore, there is a need for stochastic models of shape. Moreover, recent years have seen the rise of diffusion models in deep learning [12, 15] relying on a progressive addition of noise onto sample data which could motivate the search for new ways to define diffusion processes in particular data spaces such as shape spaces. In this paper, we define a stochastic process for shape spaces that immerse a base shape in \(\mathbb R^d\), \(d=2,3\). The noise is related to the shape structure without reference to the ambient space in which the shape is embedded. Building on related models in the case of outer shape spaces, we construct a framework that is independent of the chosen shape representation and that gives numerically efficient ways of simulating stochastic shape evolutions.

1.1 Motivation and Contribution

We seek to define random paths (stochastic processes) in shape spaces starting from a source shape \(S_0\). The major difficulty here resides in shape spaces generally being non-Euclidean, infinite-dimensional manifolds. Recent work has perturbed the momentum of Hamilton’s equations [27, 28] or used stochastic perturbations defined in the ambient space [2, 3, 24]. Here, we wish to define the stochastic perturbations directly in the shape space without referring to the ambient space. This paper explores an idea to do so through an intrinsic description of compact surfaces as functions. Thus, it defines a framework independent of the discretisation of the shapes. However, a guiding principle for our work is that it should be computationally feasible to simulate from the constructed process. We demonstrate this with numerical simulations for which the code is accessible at https://github.com/tbesnier/bm-shapes. The method can efficiently integrate random shape trajectories. We highlight two distinct methods, one for shapes represented by functions and another for shapes represented explicitly by point clouds or meshes.

1.2 Related Work

This paper fits into a body of work on the analysis of shapes in shape spaces as follows. Shape spaces generally encompass definitions for shapes, paths between shapes, and lengths of such paths. There are multiple methods to define shape spaces [5]; we mention two of them here. The first approach, used in this paper, identifies shapes as maps from an underlying manifold into \(\mathbb {R}^d,\) with \(d=2,3\). Paths in the shape space are paths in the space of functions. In the second approach, shapes are considered as a subset of \(\mathbb {R}^d\). Variations of shapes arise from the action of the diffeomorphism group over \(\mathbb {R}^d\). This approach leads to the Large Deformation Diffeomorphic Metric Mapping (LDDMM) framework [7, 30]. The metric structures appearing in the first class are often referred to as inner metrics. The second approach correspondingly leads to outer metrics.

Inner Approach. Usually, the function space is taken to be the space of immersions or embeddings. Immersions are smooth maps for which the differential map is injective. An embedding is an injective immersion. Because embeddings are injective, it prevents the shape from self-intersecting. Different classes of metrics have been introduced in the literature to define distances between shapes represented as functions. One example is the square-root normal field (SRNF) [16] in which shapes are elements of \(L^2(\mathbb {S}^2, \mathbb {R}^3)\) and the \(L^2\) distance is used to define a (pseudo-)distance on the space of immersions. Due to their simplicity and ease of calculation, SRNF has led to several numerical frameworks [6, 20]. Other tools have been developed with stronger Sobolev metrics (also called elastic metrics) with additional theoretical properties [14]. One example is from Su et al. [26]: shapes are decomposed into a spherical harmonics basis, and a framework to find geodesics between the decomposed shapes is introduced. In this work, we will also use spherical decompositions of shapes.

Outer Approach. The LDDMM framework applies in a matching context from a source shape \(S_0\) to a target shape \(S_1\). An optimisation problem is solved to find the “best” diffeomorphism acting on \(S_0\) and its ambient space to match \(S_1\), resulting in geodesics in the shape space. A probabilistic framework can be built around this by considering the Hamiltonian formulation of the geodesic. That is, the geodesic equation is written in terms of a momentum and velocity equation, and these are perturbed. In [27], the momentum map is perturbed. This is executed in a finite setting where shapes are approximated by a finite number of points (called landmarks). Adding noise to the momentum equation can be interpreted as a random force acting on each landmark. In [28], the approach is extended to the case where the number of landmarks approaches infinity. This is similar to our approach, in that we too consider stochastic perturbations of maps in \(L^2\)-space. But, where [27, 28] perturb the momentum map of the geodesic equation, we perturb the shape directly by considering the shape as a function. More recent work [2] has perturbed both the momentum and the velocity maps.

2 Background

2.1 Shape Space

Shapes as Immersions and Embeddings. One way of modelling shapes is as functions from an underlying manifold M into \(\mathbb {R}^d\). The shape space is usually taken as either the space of immersions or embeddings [5]. The underlying manifold M can be chosen based on the dimension and the topological features of the shape to be modelled [14]. A common choice is \(M = \mathbb {S}^2\). Then, a shape s is modelled as an immersion (or an embedding) \(s:\mathbb {S}^2 \rightarrow \mathbb {R}^3\). In this way, the shape s deforms the sphere. In particular, s belongs to \(L^2(\mathbb {S}^2, \mathbb {R}^3)\), the Hilbert space of square-integrable functions.

Taking shapes as immersions (resp. embeddings) gives parameterised shapes; two shapes that have identical images in \(\mathbb {R}^d\) with different parameterisations are treated as different shapes. We can also consider unparameterised shapes by taking the shape space to be the set of immersions (resp. embeddings) quotiented by the space of diffeomorphisms \(\text {Diff}(M)\). Two shapes \(s, s'\) are equivalent up to a reparameterisation if there exists a diffeomorphism \(\phi \in \text {Diff}(M)\), such that \(s = s' \circ \phi \). This forms an equivalence class \(\text {Imm}(M, \mathbb {R}^d)/\text {Diff}(M)\) over the space of immersions (resp. embeddings). Therefore, the space of immersions (resp. embeddings) is called the preshape space. Paths in the preshape space can be projected to the shape space via the projection map. Equivalently, the stochastic model defined in this paper can be mapped to the shape space by applying the projection to the process.

Fig. 1.
figure 1

Visualisation of the three first orders of elementary functions in the spherical harmonic basis

Spherical Harmonic Decomposition of Shapes. Considering a shape as an element of \(L^2(\mathbb {S}^2, \mathbb {R}^3)\) enables an orthonormal expansion of the shape. We choose spherical harmonics for the orthonormal basis as it is a natural choice for functions over the sphere [9]; loosely speaking, it is the “spherical counterpart” of the Fourier decomposition.

Let \(L^2(\mathbb {S}^2)\) be the space of square-integrable functions \(f: \mathbb {S}^2 \rightarrow \mathbb {R}\), with \(\mathbb {S}^2\) parameterised by \(\omega = (\theta , \phi ) \in [0,2\pi ) \times [0,\pi )\). Then \(L^2(\mathbb {S}^2)\) forms a Hilbert space when equipped with the inner product

$$\begin{aligned} \langle f , g \rangle _{L^2(\mathbb {S}^2)} := \int _{\mathbb {S}^2}f(\omega )g(\omega )\textrm{d}\omega =\int _0^\pi \int _0^{2\pi }f(\theta , \phi )g(\theta , \phi )\sin (\phi )\textrm{d}\theta \textrm{d}\phi , \end{aligned}$$

for \(f, g \in L^2(\mathbb {S}^2).\)

Let \(\Delta _{\mathbb {S}^2}\) be the Laplace-Beltrami operator on the sphere. The spherical harmonics \(Y_l^m: \mathbb {S}^2 \rightarrow \mathbb {R}\) are defined as the eigenfunctions of \(\Delta _{\textbf{S}^2}\) with respective eigenvalues \(-l(l+1)\):

$$-\Delta _{\mathbb {S}^2} Y_l^m = l(l+1) Y_l^m.$$

The spherical harmonics (Fig. 1) form a complete orthonormal basis of \(L^2(\mathbb {S}^2)\): any function \(s \in L^2(\mathbb {S}^2)\) can be written as

$$\begin{aligned} s(\theta , \phi ) = \sum _{l=0}^{\infty } \sum _{|m|\le l}\langle s, Y_l^m \rangle _{L^2(\mathbb {S}^2)} Y_l^m(\theta , \phi ) = \sum _{l=0}^{\infty } \sum _{|m|\le l}\hat{s}_{l,m} Y_l^m(\theta , \phi ). \end{aligned}$$
(1)

The spherical harmonics have an explicit formula for every \(l \in \mathbb {N}, |m|\le l\) as

$$\begin{aligned} Y_l^m(\theta , \phi ) = \sqrt{\frac{2l + 1}{4\pi } \frac{(l - m)!}{(l + m)!}} P_l^m(\cos (\theta ))e^{im\phi } \end{aligned}$$
(2)

with \(P_l^m\) being the associated Legendre polynomials:

$$\begin{aligned} P_l^m(x) = (-1)^m2^l(1-x^2)^{m/2} \sum _{k=m}^l\frac{k!}{(k - m)!}x^{k - m}\left( {\begin{array}{c}l\\ k\end{array}}\right) \left( {\begin{array}{c}{(l+k - 1)}/{2}\\ l\end{array}}\right) . \end{aligned}$$
(3)

The space \(L^2(\mathbb {S}^2, \mathbb {R}^3)\) is defined as triplets of functions in \(L^2(\mathbb {S}^2)\). That is

$$L^2(\mathbb {S}^2, \mathbb {R}^3) := \{f=(f_1, f_2, f_3) \mid f_1, f_2, f_3 \in L^2(\mathbb {S}^2)\}.$$

The spherical harmonic decomposition can therefore be extended from functions in \(L^2(\mathbb {S}^2, \mathbb {R})\) to functions \(f=(f_1, f_2, f_3)\) in \(L^2(\mathbb {S}^2, \mathbb {R}^3)\) by taking the spherical harmonic decompositions of \(f_1, f_2\) and \(f_3\).

Here we have only detailed the spherical harmonics basis. However, any orthonormal basis \(\{e_i\}_{i=0}^\infty \) of \(L^2(\mathbb {S}^2)\) could be used. Another potential choice could be spherical wavelets [1, 21]. Then, each shape S can be represented as the weighted sum of basis elements \(S = \sum _{i=0}^\infty \alpha _i e_i\) for some coefficients \(\alpha _i \in \mathbb {R}\), and orthonormal basis \(\{e_i\}_{i=0}^\infty \) of \(L^2(\mathbb {S}^2)\).

Sobolev Spaces. Our aim is to use stochastic processes in the Hilbert space \(L^2(\mathbb {S}^2, \mathbb {R}^3)\) to define stochastic evolutions of shapes. The advantage of working in the \(L^2\) space is that there is an explicit basis. However, functions in \(L^2(\mathbb {S}^2, \mathbb {R}^3)\) need not even be continuous, leading to highly irregular surfaces (see Fig. 2 for an example). To circumvent this, we will work in the Sobolev space \(H^\nu (\mathbb {S}^2, \mathbb {R}^3)\), a subspace of \(L^2(\mathbb {S}^2, \mathbb {R}^3)\).

The Sobolev space \(H^{\nu }(\mathbb {S}^2)\) of order \(\nu \in \mathbb {N}_{\ge 0}\) is defined by

$$\begin{aligned} H^\nu (\mathbb {S}^2) := \left\{ f \in L^2(\mathbb {S}^2) \; \left| \; \sum _{l\in \mathbb {N}}\sum _{|m|\le l} (l+1)^{2\nu }|\hat{f}_{l,m}|^2 < \infty \right\} \right. , \end{aligned}$$
(4)

where \(\hat{f}_{l, m} = \langle f, Y_l^m \rangle _{L^2(\mathbb {S}^2)}\) [13]. This is a Hilbert space when endowed with the inner product

$$\langle f, g \rangle _{H^{\nu }(\mathbb {S}^2)}:= \langle f, g \rangle _{L^2(\mathbb {S}^2)} + \langle (-\Delta _{\mathbb {S}^2})^{\nu /2}f, (-\Delta _{\mathbb {S}^2})^{\nu /2}g \rangle _{L^2(\mathbb {S}^2)},$$

where \(\Delta _{\mathbb {S}^2}\) is the Laplace-Beltrami operator on the sphere, and the fractional power of the Laplace-Beltrami operator is defined in terms of spherical harmonics as

$$(-\Delta _{\mathbb {S}^2})^{\nu /2}f = \sum _{l\in \mathbb {N}}\sum _{|m|\le l}(l(l+1))^{\nu /2} \hat{f}_{l,m} Y_l^m.$$

By the embedding theorem, functions in \(H^\nu (\mathbb {S}^2)\) are continuous for any \(\nu \ge 2\). Essentially, functions in Sobolev spaces have fast-decaying spherical harmonic coefficients. In other words, their spectral information concentrates around low frequencies. Moreover, this gives us a method for mapping functions from \(L^2(\mathbb {S}^2)\) into \(H^\nu (\mathbb {S}^2)\): If

$$f= \sum _{l, m} \hat{f}_{l, m} Y_l^m\in L^2(\mathbb {S}^2)$$

then

$$g = \sum _{l, m} (l+1)^{-\nu }\hat{f}_{l, m} Y_l^m \in H^\nu (\mathbb {S}^2).$$

2.2 Stochastic Processes in Hilbert Spaces

Throughout the rest of this paper, we assume our stochastic processes are defined over some probability space \((\Omega , \mathcal {F}, \mathbb {P}).\)

Wiener Processes in Hilbert Spaces. To define stochastic processes, we apply the theory of stochastic processes in infinite dimensional Hilbert spaces [10]. For this, we discuss briefly how to define a Q-Wiener process \((W_t^Q)_{t \in [0, T]}\), with ending time \(T>0\), in a Hilbert space.

Let \(\mathcal {H}\) be a Hilbert space and Q a non-negative, trace-class operator on \(\mathcal {H}\). Then, there exists some orthonormal basis \(\{e_i\}_{i=0}^\infty \) of \(\mathcal {H}\), and values \(\lambda _i \in \mathbb {R}\) such that

$$\begin{aligned} Qe_i = \lambda _i e_i, \; \text {for all } i \in \mathbb {N}. \end{aligned}$$
(5)

Define a Q-Wiener process as an \(\mathcal {H}\)-valued stochastic process

$$W^Q_t := \sum _{i=0}^\infty \sqrt{\lambda _i}B^i_te_i,$$

where \(t\in [0, T]\) and \(\{B^i_t\}_{i = 0}^\infty \) are independent, real-valued Brownian motions on the probability space \((\Omega , \mathcal {F}, \mathbb {P})\). The series Eq. (5) has the expected properties of a Wiener process: it converges in \(L^2(\Omega , \mathcal {F}, \mathbb {P}; C([0, T], \mathcal {H}))\) where \(C([0, T], \mathcal {H})\) is equipped with the supremum norm, it has a continuous modification, and it has independent increments, with Gaussian laws [10].

Real-Valued Itô Processes. We want to compute stochastic processes over the coefficients of the spectral decompositions of shapes. To this end, we define an Itô process and state its convergence properties (see [23] for details). A (one dimensional) Itô process \((X_t)_{t \in [0, T]}\) is defined as the solution of a stochastic differential equation (SDE) of the form

$$\begin{aligned} \textrm{d}X_t = b(t, X_t) \textrm{d}t + \sigma (t, X_t)\textrm{d}B_t, \; X_0 \in L^2(\mathbb {P}) \end{aligned}$$
(6)

where \(B_t\) is Brownian motion on \(\mathbb {R}\) with respect to a filtration \((\mathcal {F}_t)_{t\in [0, T]}\) and \(b: [0, T] \times \mathbb {R}\rightarrow \mathbb {R}\) and \(\sigma : [0, T] \times \mathbb {R}\rightarrow \mathbb {R}\) satisfy the Lipschitz continuity condition:

$$|b(t, x) - b(t, y)|^2 + |\sigma (t, x) - \sigma (t, y)|^2 \le L_T|x-y|^2,$$

where \(x, y \in \mathbb {R}, t \in [0, T]\) and \(L_T< \infty \). We call b and \(\sigma \) the drift and diffusion terms, respectively. The solution to Eq. (6) is unique for \(\mathcal {F}_0\)-measurable initial conditions \(x_0 \in L^2(\mathbb {P})\) and satisfies

$$\begin{aligned} \mathbb {E}\left[ \sup _{t\in [0, T]} \Vert x_t\Vert ^2 \right] \le \kappa _T \cdot \mathbb {E}\left[ (1 + |x_0|)^2\right] . \end{aligned}$$
(7)

The choice of b and \(\sigma \) affects the behaviour of the Itô processes.

3 Inner Approach: Spectral Diffusion

Our aim is to introduce an inner shape space approach to stochastics in shape spaces. In order to develop stochastic evolutions of shapes, we represent shapes via a spherical harmonic decomposition. We can consider the stochastic evolution of shapes by adding a Q-Wiener process (or any diffusion process) directly to the decomposition and then constraining the process to \(H^\nu (\mathbb {S}^2, \mathbb {R}^3), \; \nu \ge 2\).

Given a shape \(u_0 \in L^2(\mathbb {S}^2, \mathbb {R}^3)\) and an operator Q on \(L^2(\mathbb {S}^2, \mathbb {R}^3)\), we define a Q-Wiener process in the spectral domain of a shape, \(u_t^Q\) as

$$\begin{aligned} u^Q_t = u_0 + W_t^Q = \underbrace{\sum _{l=0}^\infty \sum _{|m|<l} \langle u_0, Y_l^m \rangle Y_l^m}_\text {source shape} + \underbrace{\sum _{l=0}^\infty \sum _{|m|<l}B_t^{l, m} Q^{1/2} (Y_l^m)}_\text {{ Q}-Wiener process} \end{aligned}$$
(8)

where \(\{B^{l, m}_t\}_{l,m}\) are independent real-valued Brownian motions.

In Eq. (8), Q controls the diffusion to guarantee the convergence of the process in H. If we choose Q to be a non-negative trace-class operator, the process converges in \(L^2(\mathbb {S}^2, \mathbb {R}^3)\). For any basis \(\{e_i\}_{i\in \mathbb {N}}\) of \(L^2\) and any sequence of positive real numbers \(\{\lambda _i\}_{i\in \mathbb {N}}\) satisfying \(\sum _{i\in \mathbb {N}} \lambda _i < \infty \), the operator

$$Q(\cdot ) = \sum _{i\in \mathbb {N}} \lambda _i \langle \cdot , e_i\rangle e_i$$

is non-negative and of trace class. Therefore, we use a spherical harmonics basis weighted with a positive decaying sequence \(\{\lambda _i\}_{i\in \mathbb {N}},\) where \(\sum _i \lambda _i < \infty ,\) defining the Q-Wiener process

$$W_t^Q = \sum _{l\in \mathbb {N}}\sum _{|m|\le l}\sqrt{\lambda _l} B^{l, m}_t Y_l^m.$$

The rate of decay of the coefficients \(\{\lambda _i\}_i\) controls the regularity of the space in which the process converges. If

$$\sum _{l\in \mathbb {N}}\sum _{|m|\le l} \lambda _l (l+1)^{2\nu } < \infty $$

the sum converges in \(L^2(\Omega ; C([0, 1], H^\nu (\mathbb {S}^2, \mathbb {R}^3)),\) where \(C([0, 1], H^\nu (\mathbb {S}^2, \mathbb {R}^3))\) is equipped with the supremum norm.

The process in Eq. (8) can be generalised by exchanging the independent Brownian motions \(\{B^{l, m}_t\}_{l, m}\) with other, more general independent stochastic processes \(\{x_t^{l, m}\}_{l, m}\), for example, Itô processes. In this way, we have stochastic processes on the coefficients of the shape. Letting \(x^{l, m}_0 = 0\) means that Eq. (7) is bounded. When this is satisfied, the process

$$\begin{aligned} X_t^Q := \sum _{l\in \mathbb {N}}\sum _{|m|\le l}\sqrt{\lambda _l} x^{l, m}_t Y_l^m \end{aligned}$$
(9)

also converges in \(L^2(\Omega , \mathcal {F}, \mathbb {P}; C([0, 1], H^\nu (\mathbb {S}^2, \mathbb {R}^3))\) [10].

4 Numerical Experiments for Spectral Diffusions

We here aim to illustrate the constructed stochastic process. We address two situations. The first assumes shapes are provided via a function in its spherical harmonic decomposition, and the second assumes shapes are represented by meshes (with vertex coordinates and face connectivity information). In the first situation, all that remains is to simulate the real-valued stochastic process \(x^{l, m}_t\) from Eq. (9). For the numerical integration, we use an Euler–Maruyama scheme [18] such that the stochastic process \(u_t\) defined by

$$\begin{aligned} \textrm{d}u_t = b(t, u_t)\textrm{d}t + \sigma (t, u_t)\textrm{d}W_t \end{aligned}$$
(10)

is approximated by

$$\begin{aligned} u_{t_{k+1}} \approx u_{t_k} + b(t_k, u_{t_k})\Delta t_k + \sigma (t_k, u_{t_k})\Delta W_{t_k} \end{aligned}$$
(11)

with \(\Delta t_k = t_{k+1} - t_k\) and \(\Delta W_{t_k} = W_{t_{k+1}} - W_{t_k} \sim \mathcal {N}(0, \sqrt{t_{k+1} - t_k})\).

4.1 Effects of Truncation and Covariance Operators

We start by illustrating the effects of different covariance operators within our framework. To this end, we use the sphere \(\mathbb {S}^2\), which we view as the image of

$$\begin{aligned} s: {\left\{ \begin{array}{ll}[0, \pi ) \times [0, 2\pi ) &{} \rightarrow \mathbb {R}^3\\ (\theta , \phi ) &{} \mapsto (\sin {\theta }\cos {\phi }, \sin {\theta }\sin {\phi }, \cos {\theta }), \end{array}\right. } \end{aligned}$$

and then decompose s with respect to the spherical harmonics basis

$$s= \left( \sum _{\begin{array}{c} l\in \mathbb {N}\\ |m| \le l \end{array}} s^1_{l, m} Y_l^m, \; \sum _{\begin{array}{c} l\in \mathbb {N}\\ |m| \le l \end{array}} s^2_{l, m} Y_l^m,\; \sum _{\begin{array}{c} l\in \mathbb {N}\\ |m| \le l \end{array}} s^3_{l, m}Y_l^m \right) .$$

The results in Fig. 2 show some processes \(u(t) = (u^1(t), u^2(t), u^3(t))\) defined by

$$u^i(t) = s + \sum _{l=0}^N\sum _{|m|\le l} \lambda _l B_t^{l, m}Y_l^m\; \in L^2(\mathbb {S}^2, \mathbb {R}) , \quad i\in \{1,2,3\}$$

where \(N\in \mathbb {N}\), \(\{B_t^{l, m}\}_{l,m}\) are independent real-valued Brownian motions and \(\{\lambda _l\}_{l \le N}\) are chosen to define various operators. We also note the role the truncation value \(N\in \mathbb {N}\) plays. The spectral information of the series is concentrated around lower frequencies. Taking lower values for N results in notably smoother shapes but also gives less detail to the surface of the shapes. We encourage the reader to also look at the .gif files of the simulations in the GitHub repository https://github.com/tbesnier/bm-shapes.

Fig. 2.
figure 2

Each row presents some frames of a Q-Wiener process starting from the unit (discretised) sphere. 1st row: \(\lambda _l=1\) up to \(N=25\) (no decay), 2nd row: \(\lambda _l = \frac{1}{l + 1}\), 3rd row: \(\lambda _l = \frac{1}{(l+1))^2}\) and 4th row: \(\lambda _l = 1\) up to \(N=225\) (no decay). We highlight the loss of regularity in the last row when high spectral orders are not weighted down.

4.2 Simulations on Radial Projections of Meshes

3D shape data can be explicitly represented as meshes rather than as maps. Some work [19, 22] has been done on converting from mesh representations to spherical harmonic representations. In this section, we use an easier method using radial projection (see Fig. 3 for a visualisation) before computing a diffusion process from the sphere as described before. Finally, we take the inverse radial projection mapping of the deformed sphere. We used this setting because of its simplicity regarding computations, but other types of spherical parameterisation of meshes [4, 29] can be used. When using radial projections, the topology of the shape is no longer a problem since shapes of any genus can be projected onto the sphere. However, using the radial projection in this way means points with similar angular coordinates are highly correlated. For example, on the torus, it means that the outer and inner rings behave similarly (see Fig. 4).

Fig. 3.
figure 3

Numerical framework of our method on mesh data. First, we project on the sphere (with a radial projection, for instance), then, we compute the diffusion on the sphere and transfer the diffusion back to the mesh.

Fig. 4.
figure 4

Simulation of a Q-Wiener process with \(Q = \textrm{Id}_{49}\). We show in this example how the spatial correlation prevents the sides of the torus from intersecting each other.

In Fig. 5 we illustrate our framework with radial projections for assorted meshes.

Fig. 5.
figure 5

Q-Wiener processes applied on different meshes. Here, \(Q = (1 - \Delta _{\mathbb {S}^2})^{-1}\) and we take the first 25 coefficients.

4.3 Other Types of Processes

We can define and simulate any diffusion processes, as in Eq. (9), instead of using Brownian motion. For instance, the Ornstein-Uhlenbeck process is defined by an SDE with the drift and diffusion terms given by \(b(t,x):= x\) and \(\sigma (t,x) := C\) respectively, where C is a real constant. We observe in Fig. 6 how the mesh inflates into a sphere which is expected for this type of process.

In case a different time covariance structure is needed, we can also simulate fractional Q-Wiener processes, which are generalisations of the Wiener process with a covariance function \(C_h(s,t) = \frac{1}{2}(|t|^h + |s|^h - |t - s|^{2h})\) with Hurst index \(h \in (0,1)\). The covariance function of Brownian motion corresponds to \(h = 0.5\). A whole theory is derived from this process, and we invite the interested reader to read [17] for more details. If \(h<0.5\) or \(h>0.5\), the process has negatively or positively correlated increments. We show resulting paths in Fig. 7 with different Hurst indices.

Fig. 6.
figure 6

Simulation of an Ornstein-Uhlenbeck diffusion, solution to an SDE with a drift term \(b(t,x) = x\) and diffusion term \(\sigma (t,x) = 0.1\). We highlight that, as expected, the process converges towards the sphere.

Fig. 7.
figure 7

Simulation of a fractional Wiener process from the sphere with different Hurst indices: 1st row \(h = 0.3\), 2nd row \(h = 0.7\), 3rd row \(h = 0.95\). The processes are simulated with the method described in [8]. As H increases, the mesh is less subject to strong variations over short time intervals.

5 Limitations and Future Work

5.1 Precision of the Numerical Reconstruction

Decomposing a mesh with spherical harmonics is one of many choices for a basis of \(L^2(\mathbb {S}^2, \mathbb {R}^3)\). Wavelets could be better suited if the signal has sharp, irregular details or discontinuities (as demonstrated in Fig. 8) [25]. But, the relation between Sobolev spaces and spherical wavelets is not as straightforward as for spherical harmonics.

5.2 Limitations Regarding the Control of the Process

If we only have mesh data, the diffusion process is computed on the sphere and then mapped back to the mesh. It has the advantage of keeping spatial coherence as described before, but the spectral diffusion process has an isotropic spatial variance because of the symmetry properties of spherical harmonics. It becomes challenging to localise larger variance on some regions of the mesh, which could be desirable as one can assume changes in the variability of some areas with morphological data.

Finally, we point out that the sequence of weighting coefficients \(\{\lambda _l\}_{l\in \mathbb {N}}\) is fixed and comes from the Laplace-Beltrami operator on the sphere \(\mathbb {S}^2\). Rigorously, to apply the Bessel potential, we should recompute the eigenvalues of the Laplacian at each time step to stay in the shape space. We chose to avoid this extra step as it is a computationally costly operation, but it can be added in further developments.

Fig. 8.
figure 8

Reconstruction of a (projected) spherical signal. The original signal (on the left) is hardly reconstructed with spherical harmonics up to order 5. On the right, also with a resolution of 5, the wavelet (symlet 8 in [11]) reconstruction shows near-perfect results.

6 Conclusion

In this paper, we proposed a function-based approach to compute stochastic processes (Itô diffusions) between discretised surfaces (effectively meshes) in \(\mathbb {R}^3\). We can compute stochastics independently of the underlying parameterisation by modelling the mesh through its spherical harmonic decomposition. In addition, restraining the process to a Sobolev space ensures spatial regularity at all times. Our framework enables us to use various stochastic processes and visualise their behaviour in the mesh space with publicly available code. Testing the behaviour of our framework on more complex 3D structures with different stochastic processes and applying it to geometry processing tasks is future work.