1 Introduction

Recent developments in acquisition technology make it possible to obtain highly detailed objects that may have a non-trivial topology, that is, objects can be multiply connected and may contain tunnels and/or holes. At all stages of the object acquisition preprocessing, the object’s surface is often corrupted by noise that may be of geometrical or topological nature. The geometric noise is often introduced by measuring errors and limited sampling resolution, while the topological noise is due to inaccuracies in the scanning and merging process. In this paper, we focus on geometric noise reduction and we identify the object to its surface.

In recent years, various approaches have been proposed to tackle the problem of object smoothing while preserving crucial characteristics like edges and corners. The most commonly smoothing approaches can be classified into two main categories, depending on whether the smoothing process is based on the discretization of the heat equation or performed along the normal vector at each point. Both categories are tightly connected since they attempt to solve directly or indirectly a heat diffusion equation usually expressed in PDE form. In what follows, we review some examples of smoothing methods in both categories.

The key step in the PDE-based smoothing methods is the PDE discretization step usually performed by the finite element FE, finite volume FV, or finite difference FD methods. Such discretization procedure replaces the PDE by a linear system of algebraic equations. An implicit or semi-implicit time discretization is generally adopted to achieve a stable numerical scheme. In this setting, Clarenz et al. [1] discretize the heat diffusion equation by an FE method and estimate the diffusion tensor by fitting the local surface quadratically. The consequence is that the diffusion is enhanced in the principle directions of curvature. Bajaj and Xu [2] consider the triangular mesh data together with function values on the vertices as a discretized version of a two-dimensional Riemannian manifold embedded in Euclidean space with higher dimension. The authors combine a nodal finite element method with a loop subdivision scheme to discretize two PDE diffusion problems to smooth separately the object geometry and the function values represented on it.

In the particular case, when the diffusion tensor is a scalar and locally constant function, the PDE that expresses the heat diffusion principle is reduced to the mean curvature evolution equation along the normal vector. In the same vein, the mean curvature flow smoothing method proposed by Meyer et al. [3] adjusts the vertex position along the surface normal with speed proportional to the mean curvature flow. The important features are preserved by a weighting parameter that depends on the principal curvature values. Hildebrant and Polthier [4] propose a prescribed mean curvature flow method by preconditioning the anisotropic mean curvature vector, while the diffusion tensor is estimated by normal cycle approach. Ohtake et al. [5] combine the properties of Laplacian smoothing and the mean curvature while reducing possible oversmoothing. Under the assumption that the object parametrization is independent of the time scale parameter, each vertex position is moved in the direction defined by the Laplacian flows with speed equal to a function of the mean curvature at the vertex. Recent work of Yoshizawa et al. [6] extended the non-local image filter to meshes by computing a local radial basis function approximation to define the similarity measure. Zhang and Ben Hamza [7] discretize heat diffusion PDE by an adaptive FD scheme and adjust vertices position using an explicit time scheme; this method was recently combined with Gaussian kernel to process surface while reducing the oversmoothing effect [8].

Our central goal in this paper is to come up with intuitively better smoothing method that gives a physical as well as topological interpretation of the smoothing process. The physical side of the proposed smoothing method shows evidence of various scalar and vector physical quantities underlying the physical process from which these smoothing methods are derived. On the other hand, the topological aspect of the proposed smoothing allows us to capture some topological information of the object such as the number of connected components, the number of tunnels and the number of voids. Such topological information may be used as decision criteria to enable other post-processing steps such as topological noise removal.

As we have pointed out earlier, the smoothing process is formulated directly from the global heat diffusion principle (balance equation) instead of the local PDE formulation. The equation of the global heat diffusion principle is decomposed into basic laws, specifically into conservative and constitutive laws. The numerical scheme that allows us to resolve the heat diffusion on a mesh is derived by discretizing the conservative and constitutive laws independently using computational algebraic topological tools. This discretization framework allows us to reduce the noise, and at the same time, to deduce some topological invariants such as the number of connected components, the number of independent tunnels and the number of cavities contained in the object. A graphical illustration of the discretization strategy on which the proposed smoothing method is based is depicted in Fig. 1.

Fig. 1
figure 1

Graphical illustration of the CAT discretizatization method

2 The global approach

The global approach, derived from work in physics, is a method for solving physical field problems. This approach can be broken down into two strategies: (1) using the global principle and (2) decomposing this global principle into basic laws. For more details, the reader is invited to refer to [9, 10].

2.1 The global principle of heat diffusion on manifolds

Assume that the object on which the heat diffusion takes place can be represented by a Riemannian manifold \(\mathbf {M}\). Physically, heat transfer is the process of thermal energy transport within neighboring media by molecular interaction (diffusion), resulting in a spatial variation in temperature [11]. This variation is governed by the principle of conservation of energy which, when applied to a control volume, states that the thermal energy variation from time instant \(t_1\) to time instant \(t_2\) is equal to the heat flow entering or leaving the boundary of the control volume during the time interval \(I=[t_1,t_2]\), that is

$$\begin{aligned}&\int _{\Omega \times \{t_2\}} \varepsilon (x,t_2)\,\mathrm{d} \mu -\int _{\Omega \times \{t_1\}}\varepsilon (x,t_1)\,\mathrm{d} \mu \nonumber \\&\quad = -\int _{ \partial \Omega \times I} \mathbf {n}(x,t)\cdot q(x,t)\,\mathrm{d} \nu \mathrm{d}t, \end{aligned}$$
(1)

where \(\Omega \) is a compact open subset of \(\mathbf {M}\), \( \nu \) is a local surface area, \(\mathbf {n}(x,t)\) is the outward normal vector on \(\partial \Omega \), \(\varepsilon (x,t)\) is the heat content density that measures the internal energy stored within a material per unit volume and \(q(x,t)\) is the heat diffusion flow. The dot means the inner product of the vector fields induced by the metric tensor, and the Cartesian product \(\times \) denotes the addition of the time and space dimensions. That is, \(\Omega \times I\) denotes the compact open subset \(\Omega \) during the time interval \(I\), while \( \Omega \times \{t\}\) denotes the same compact subset at a particular time instant. Considering that the three space-time domains \( \Omega \times \{t_1\}\), \( \Omega \times \{t_2\}\) and \(\partial \Omega \times I\) form a spatiotemporal boundary of the space-time domains \( \Omega \times I\), we see that (1) relates physical quantity on a spatiotemporal domains with other physical quantity on the boundary of these domain. Moreover, the derivative terms in the global heat transfer law (1) are avoided, which allows for an exact algebraic formulation of the heat transfer problem regardless of space and time discretization.

2.2 Decomposition into elementary laws

In the proposed approach, the global heat transfer law (1) is decomposed into basic laws to fully understand the resulting discretization scheme. This allows us to separate the conservative laws, which are always discrete and valid for any material, from the constitutive laws which are continuous and cannot be exactly discretized. Once that decomposition is done, it is easy to target only the constitutive laws for the approximations which are necessary in the discretization process.

The constitutive laws are established experimentally and depend greatly on the internal constitution of the materials under consideration. In (1), there are two physical quantities \(\varepsilon (x,t)\) and \(q(x,t)\), and the behaviors of these quantities are ruled by two constitutive laws. The heat content density \(\varepsilon (x,t)\) is proportional to the temperature scalar \(T(x,t)\) through the heat capacity per unit volume \( \rho _c(x,t)\) as \( \varepsilon (x,t) = \rho _c(x,t) \,T(x,t)\). The heat diffusion flux \(q(x,t)\) is the heat transfer rate per unit area in the direction perpendicular to the direction of transfer, and it is proportional to the temperature gradient \(g(x,t)=\nabla _{\mathbf {M}}\, T(x,t)\) as \( q(x,t)=- \kappa (x)\, g(x,t), \) where \(\kappa (x)\) is the conductivity tensor. This constitutive law is called Fourier’s law. The minus sign is a consequence of the second law of thermodynamics, which requires that spontaneous heat diffusion be directed from higher to lower temperatures, or down the temperature gradient. Since \(g(x,t)\) is a gradient of the temperature scalar field, its global counterpart is obtained using the line integral theorem on a curve \(C\) from \(x_i\) to \(x_j\) at time instant \(\{t\}\):

$$\begin{aligned} \underbrace{ \int _{C\times \{t\}}g(x,t) \mathrm{d}C}_{\mathcal {G}(C\times t)}=\underbrace{T( x_j,t)}_{\mathcal {T}(x_j\times t)} -\underbrace{T( x_i,t)}_{\mathcal {T}(x_i\times t)}. \end{aligned}$$
(2)

The global law exactly relates the thermal tension \(\mathcal {G}(C\times t)\) on a curve with temperatures on the curve boundary points. To summarize, evolutive heat transfer can be broken down into two conservative laws (1) and (2), and two additional constitutive laws:

$$\begin{aligned}&\varepsilon (x,t) = \rho _c(x,t)\, T(x,t),\end{aligned}$$
(3)
$$\begin{aligned}&\mathrm{and }\quad \! q(x,t)=- \kappa (x)\, g(x,t). \end{aligned}$$
(4)

where \(g(x, t)= \nabla _{M} T (x, t)\).

3 The space and time discretization

For an arbitrary object represented by a Riemannian manifold \(\mathbf {M}\), it is usually impossible to find an exact solution of the heat transfer problem. Also, taking into account the physical constraints of data acquisition and storage, it is nearly impossible to make continuous measurements either in space or in time. Space and time must be discretized into many elements for each of which there is only one available measurement. For our purposes, let us review this discretization on a 2-manifold \(\mathbf {M}_2\) embedded in \(\mathbb {R}^3\). Before we introduce the discretization scheme, we need to explain the notions of orientation and classification of the physical quantity.

3.1 The notion of orientation and classification of physical quantity

A local region (local surface, local curve, point) on the 2-dimensional manifold \(\mathbf {M}_2\) can be endowed only with one of the two possible types of orientation [12, 13]: an internal orientation or an external orientation. The internal orientation corresponds to the intrinsic orientation of the local region and is specified by means of an arrow that lies on this region as shown in Fig. 2a, whereas the external orientation is induced from the internal orientation and specified by means of an arrow that crosses the boundaries of the local region as shown in Fig. 2b. In heat transfer, as well as in other physical phenomena, the physical quantity has different behavior with regard to geometrical objects. For example, we say that the thermal tension is internally oriented because it is a measure of difference in temperature between two points as shown in Fig. 2c. Consequently, the temperature is also internally oriented. On the contrary, heat content and heat diffusion flow involve crossing the boundary of a local region, so they are associated with an external orientation as shown in Fig. 2d. According to the external and internal orientations, the physical quantities implied in heat transfer can be classified into two principal categories [10]:

  1. 1.

    Configuration quantities (which describe the configuration of the field) are the physical quantities endowed with internal orientation.

  2. 2.

    Source quantities (which describe the sources of the field)  are the physical quantities endowed with external orientation.

Configuration and source quantities are called global quantities. The global quantities involved in heat transfer are presented in Table 1. To distinguish one of the two possible orientations (internal and external), a tilde is used to specify the external orientation with respect to the internal orientation.

Fig. 2
figure 2

The internal and external orientations

Table 1 The global quantities classified into configuration and source quantities

3.2 Discrete representation of space and time

To solve the heat transfer problem numerically, the two-dimensional spatial domain \(\mathbf {M}_2\) in which the heat transfer takes place is discretized primarily by an oriented 2-complex \(K_2\), whose elements are the 0-simplex (vertex) \(\mathrm {v}\), the 1-simplex (edge) \(L\) and the 2-simplex (triangle) \(S\). This 2-complex can be formed by meshing a sample of vertices obtained from the 2-manifold \(\mathbf {M}_2\).

As mentioned above, the global quantities implied in the heat diffusion problem can be endowed with internal or external orientations. To represent the global quantities on their corresponding geometrical elements, the discretization of the space must provide geometrical elements with both internal and external orientations. Hence, two distinct complexes \(K_2\) and \(\tilde{K}_2\) discretizing the spatial domain are needed to represent the configuration and source quantities, one with internal orientation and the other with external orientation. In general, each simplex of the 2-simplicial complex \(K_2\) is naturally endowed with the internal orientation that corresponds to the natural orientation of the simplices [13]; the configuration quantities \(\mathcal {T}\) and \(\mathcal {G}\) can thus be represented, respectively, on the primal 0-simplex \(\mathrm {v}\) and on the primal 1-simplex \(L\) of 2-complex \(K_2\) at time instant \(t\). Now, to represent the source quantities endowed with external orientation, we need to associate with each simplex (vertex, edge, triangle, respectively) and its dual cell (dual face, dual edge, and dual vertex, respectively). The relationship of duality means a matching relation between the primal 0-simplex \(\mathrm {v}\) and the dual 2-cell \(\tilde{S}\), the primal 1-simplex \(L\) and the dual 1-cell \(\tilde{L} \), and the primal 2-simplex \(S\) and the dual 0-cell \(\tilde{\mathrm {v}}\), as shown in Fig. 3. The notion of duality is well known in many computational fields; for example, the barycentric duality is used by Bettini and Trevisan [14] in magnetostatic analysis. In computational modeling, circumcentric dual cells are used by Desbrun et al. [15] to discretize differential forms. In the simulation of fluid flows, circumcentric dual cells also appear in the work of Elcott et al. [16]. In this paper, we consider the barycentric duality. The dual 2-complex \(\tilde{K}_2\) is obtained by connecting the barycenters of the primal simplices and of their sides as shown in Fig. 4a. The source quantities can be represented on the dual elements of the dual 2-complex \(\tilde{K}_2\); that is, the global heat content \(\mathcal {E}\) is represented on the dual 2-cell \(\tilde{S}\) and a time instant \(t\) and the global heat diffusion \(\mathcal {Q}\) is represented on the dual 1-cell \(\tilde{L}\) and a time interval \(I\).

Fig. 3
figure 3

Internally oriented primal simplices and externally orientated dual cells (restricted to the triangle): the primal simplices are vertices 3 (a), edges (b) and triangles (c); their barycentric duals are dual faces (d), dual edges (e) and dual vertices (f)

Fig. 4
figure 4

The space and time discretization

The time discretization is performed with a constant time step. To simplify the notation, we suppose that we have \(N\) equal time intervals \(I_{k+\frac{1}{2}}=[t_k,t_{k+1}]\) of length \(\Delta _t\) going from time instant \(t_k\) to time instant \(t_{k+1}\), \(k\in \{0,\ldots ,N\}\), as shown in Fig.  4b.

3.3 Algebraic topology representation of spatial domain and global quantities

In many applications in physics and computer vision [1619], it is indispensable to represent formally a generic domain of the complex; to this end, an entity that assembles simplices (resp. cells) with default orientations and the same dimensions is required. In algebraic topology [20], a \(p-chain \) is a formal sum of oriented \(p\)-simplices (resp. \(p\)-cells). The standard notation of a \(p\)-chain is \(c_p=\sum _{i}\mu _i \sigma ^i_p\), where \(\sigma ^i_p\) are the \(p\)-simplices (resp. p-cells) and the \(\mu _i\in \{-1,0,1\}\) are the coefficients. For a given p-chain \(c_p\), its boundary \(\delta c_p\) is a \((p-1)\)-chain. The boundary map \(\delta _p c_p: C_p\longrightarrow C_{p-1}\) constitutes the relation between chains of consecutive dimension. In discrete setting, the algebraic representation of the boundary operator \(\delta _p\) is the incidence matrix noted \(D_{p,p-1}\). The set of p-chains noted by \(C_p\) is called chains group, while its dual space noted \(C^p\) is called cochain space. An element \(c^p\) of the cochain space \(C^p\) is called p-cochain. Intuitively, a p-cochain \(c^p\) represents the quantities associated with a p-chain \(c_p\). Depending on the dimension of the p-chains, these quantity may be scalar, vectorial or tensorial. In this sense, the integral of a physical quantity on a chain can be understood as a cochain [9]. Practically, the cochain is represented by an array of degrees of freedom (DoF), such that the quantities associated with the \(i\)th \(p\)-simplex (resp. \(p\)-cells) of the p-chain \( c_p\) are stored in the \(i\)th cell of (DoF). Thus, a vector of global quantities is a cochain represented in vectorial form in the cochain space.

4 Discretization of the heat transfer laws

In the following, each of the continuous conservative and constitutive laws will be applied to the corresponding geometrical elements of the above-defined simplicial and cell complexes; by so doing, the discrete conservative and constitutive laws will be derived. The discretized laws are then gathered to build a linear system that allows us to resolve the heat transfer problem.

4.1 Conservative laws discretization

Discretization of the conservative laws consists of expressing the first conservative law (1) on the dual 2-complex \( \tilde{K}_2\), and expressing the second conservative law (2) on the primal 2-complex \(K_2\). In linear algebraic terms, the exact discretization of the first conservative law (1) is written:

$$\begin{aligned} \mathcal {E}_{k+1}=\mathcal {E}_{k}-\tilde{D}_{2,1} \mathcal {Q}_{{k+\frac{1}{2}}}, \end{aligned}$$
(5)

where \(\mathcal {E}_{k}\) is the heat content global quantities vector, \(\mathcal {Q}_{{k+\frac{1}{2}}}\) is the heat diffusion global quantities vector, \(\tilde{D}_{2,1}\) is the incidence matrix between the dual \(2\)-cells and the 1-cells elements of \(\tilde{K}_2\). Along with this equation, we can also express the discretization of the second conservative law (2) as

$$\begin{aligned} \mathcal {G}_{k} = D_{1,0} \mathcal {T}_{k}, \end{aligned}$$
(6)

where \( \mathcal {G}_{k}\) is the thermal tension global quantities vector, \(\mathcal {T}_{k}\) is the temperature global quantities vector of dimension, and \(D_{1,0}\) is the incidence matrix between the primal 1-simplices and the 0-simplices elements of \(K_2\).

4.2 Constitutive laws discretization

Equations (5) and (6) provide an exact discretization of (1) and (2) on \(\tilde{K}_2\) and \(K_2\), respectively. To complete the discretization scheme, we need to discretize the continuous constitutive laws (3) and (4). In this paper, we apply the reconstruction-projection discretization strategy [9, 21]. We can summarize this strategy as follows: Assume that we want to discretize the constitutive law:

$$\begin{aligned} B(x,t)=f_\eta (A(x,t)), \end{aligned}$$
(7)

that links the local quantity \(A(x,t)\) represented on the elements of the primal 2-complex \(K_2\) to the local quantity \(B(x,t)\) represented on the elements of the dual 2-complex \(\tilde{K}_2\), where \(\eta \) is the material parameter. In the discrete setting, the local quantities \(A(x,t)\) and \(B(x,t)\) appearing in the constitutive law (7) have to be replaced, respectively, by the two vectors of global quantities \(\mathcal {A}\) and \(\mathcal {B}\); that is,

$$\begin{aligned} \mathcal {B}=F_{\hat{\eta }}(\mathcal {A}), \end{aligned}$$
(8)

where \(F_{\hat{\eta }}\) is the discrete constitutive link that we have to determine and \(\hat{\eta }\) is the estimate of the material parameter \(\eta \). In general, the local quantities \(A(x,t)\) and \(B(x,t)\) are not available, and instead we assume that only the vector of global quantities \(\mathcal {A}\) is available. Consequently, in the first step of the discretization process, we use the vector \(\mathcal {A}\) to reconstruct an interpolation \(\hat{A}(x,t)\) of the local quantity \(A(x,t)\). In the second step, we compute an estimate \(\hat{B}(x,t)\) of the local quantity \(B(x,t)\) from the constitutive law (7) as

$$\begin{aligned} \hat{B}(x,t)= f_{\hat{\eta }}(\hat{A}(x,t)). \end{aligned}$$

Finally, the vector of global quantities \(\mathcal {B}\) can be deduced by integrating the estimate \(\hat{B}\) of the local quantity \(B\) on the elements of the dual 2-complex \(\tilde{K}_2\), which allows us to establish the discrete constitutive link (8). A graphical illustration of the discretization of the constitutive law (7) by means of the reconstruction-projection strategy is shown in Fig. 5. In what follows, we begin by discretizing the constitutive laws (3) and (4) locally on each 2-simplex, and then we assemble globally each local discrete constitutive laws.

Fig. 5
figure 5

Graphical illustration of the reconstruction–projection discretization strategy

With reference to Fig. 6b, an oriented primal simplex \(S_p\) is considered with primal 0-simplices \(\mathrm {v}_0\), \(\mathrm {v}_1\) and \(\mathrm {v}_2\) and primal 1-simplices \(L_0\), \(L_1\), and \(L_2\). Inside the 2-simplex \(S_p\), three dual 2-cell \(\tilde{S}_{0}\), \(\tilde{S}_1\) and \(\tilde{S}_2\) and three dual 1-cell \(\tilde{L}_0\), \(\tilde{L}_1\) and \(\tilde{L}_2\) can be defined. We denote by \(\tilde{\mathbf {n}}_{i}\) the unit normal vector to the 1-cells \(\tilde{L}_{i}\), and by \(\mathbf {n}_{i}\) the unit normal vector to the 1-simplex \(L_i\).

Fig. 6
figure 6

Graphical illustration of the key notations used in the text

4.2.1 Discretization of the heat content constitutive law

The aim of this subsection is to discretize the constitutive law (3) on the 2-simplex \(S_p\). Discretization of this constitutive law consists of determining a finite-dimensional linear operator, i.e., a matrix linking the heat content global quantity \(\mathcal {E}_{k,p}=[\mathcal {E}(\tilde{S}_{i}\times t_{k})]_{i=0,1,2}^\mathrm{T}\) to the temperature global quantity \(\mathcal {T}_{k,p}=[\mathcal {T}(\mathrm {v}_j\times t_{k})]_{j=0,1,2}^\mathrm{T} \). The first step of the reconstruction–projection procedure consists of reconstructing the temperature value \(T(\mathrm {v},t)\) from the temperature global quantity vector \(\mathcal {T}_{k,p}\). Assume that the temperature varies linearly throughout the 2-simplex \(S_p\). Therefore, the temperature at any coordinate position \(x,\, y\) of a point \(x\) within the 2-simplex \(S_p\) can be represented as

$$\begin{aligned} T(x,t_k)=a +b x +c y. \end{aligned}$$
(9)

Since \( \mathcal {T}(\mathrm {v}_j\times t)=T(\mathrm {v}_j, t)\), we have

$$\begin{aligned} \mathcal {T}(\mathrm {v}_j\times t_k)&= a +b x_j +c y_j,\quad \mathrm{for }\ j=0,1,2. \end{aligned}$$
(10)

where \((x_j,y_j)\) are the coordinates of the vertex \(\mathrm {v}_j\). Solving (10) for  \(a,\,b\) and \(c\), we can rewrite the reconstructed temperature \(T(x,t_k)\) in (9) as

$$\begin{aligned} \hat{T}(x,t_k)=\sum _{j=0}^{2} \alpha _j(x) \mathcal {T}(\mathrm {v}_j\times t_k), \end{aligned}$$
(11)

where \(\alpha _j(x)\) are the barycentric coordinates of a point \(x=(x,y)\in S_p\). From the constitutive law (3) and the reconstructed temperature \(\hat{T}(\mathrm {v},t_k)\) (11), we can deduce the approximated heat content density \(\hat{\varepsilon }(x,t_{k}) \) as

$$\begin{aligned} \hat{\varepsilon }(x,t_{k})= \rho _c(x,t_k) \hat{T}(x,t_k). \end{aligned}$$

We can now express the global heat content density \(\mathcal {E}(\tilde{S}_i\times t_{k}) \) for \(i\in \{ 0,1,2\}\) in terms of the approximated heat content density \(\hat{\varepsilon }(x,t_{k})\) as

$$\begin{aligned} \mathcal {E}(\tilde{S}_i\times t_{k})=\int _{\tilde{S}_i}\hat{\varepsilon }(x,t_{k}) \mathrm{d}s =\int _{\tilde{S}_i}\rho _c(x,t_k) \hat{T}(x,t_k) \mathrm{d}s. \end{aligned}$$
(12)

The heat capacity per unit volume \( \rho _c(x,t_k)\) is unknown throughout of the dual 2-cell \(\tilde{S}_i\), so we have to approximate its value. Using the inverse parameter estimation method, Huang and Yan [22] propose to estimate the heat capacity per unit volume of an homogeneous material as

$$\begin{aligned} \rho _c(x,t)\approx C_0 \,{+}\, C_1 T(x,t)\,{+}\, C_2 T^2(x,t)+ \exp \left( \frac{T(x,t)}{C_3}\right) , \end{aligned}$$

where the constants \(C_0\), \(C_1\), \(C_2\) and \(C_3\) are taken as \(1\), \(0.04\), \(0.0001\) and \(45\), respectively. Now, let us suppose that the value of the heat capacity per unit volume \(\hat{\rho _c}= \rho _c(\mathrm {v}_i,t_k)\) at the space-time point \((\mathrm {v}_i,t_k)\) is the mean value of the function \(\rho _c(x,t_k)\) over the dual 2-cell \(\tilde{S}_i\). Then, by combining (11) and (12), we get

$$\begin{aligned} \mathcal {E}(\tilde{S}_i\times t_{k})=\hat{ \rho _c} \sum _{j=0}^{2} \mathcal {T}(\mathrm {v}_j \times t_k) \int _{\tilde{S}_i}\alpha _j(x) \mathrm{d}s. \end{aligned}$$
(13)

The integral of the barycentric coordinates \(\alpha _j \) for \(j\in \{0,1,2\}\) on the dual 2-cell \(\tilde{S}_i\) can be evaluated exactly using the following relation [23]:

$$\begin{aligned} \int _{\tilde{S}_i}\alpha _j(x) \mathrm{d}s = \left\{ \begin{array}{l@{\quad }l} \frac{11}{54}|S_p |, &{} \hbox {if } i=j,\\ \frac{7}{108}|S_p |, &{} \hbox {if } i\ne j. \end{array}\right. \end{aligned}$$

where \(|S_p |\) is the area of \(S_p\). Finally, by expressing (13) for \(i\in \{0,1,2\}\), we get the discrete heat content–temperature constitutive law as

$$\begin{aligned} \mathcal {E}_{k,p}= \mathbf {R}_{p} \mathcal {T}_{k,p}, \end{aligned}$$
(14)

where the local matrix \(\mathbf {R}_{p}\) is defined by

$$\begin{aligned} \mathbf {R}_{p}= \hat{\rho _c}\frac{|S_p |}{3} \left[ \begin{array}{l@{\quad }l@{\quad }l} \frac{11}{18} &{} \frac{7}{36} &{} \frac{7}{36} \\ \frac{7}{36} &{} \frac{11}{18} &{} \frac{7}{36} \\ \frac{7}{36} &{} \frac{7}{36} &{} \frac{11}{18} \end{array}\right] . \end{aligned}$$
(15)

4.2.2 Discretization of Fourier constitutive law

To discretize the constitutive law (4), we have to determine a matrix linking the heat diffusion flux global quantity vector \(\mathcal {Q}_{k+\frac{1}{2},p}=[ \mathcal {Q}(\tilde{L}_i\times I_{k+\frac{1}{2}})]_{i=0,1,2}^\mathrm{T}\) to the thermal tension global quantity vector \(\mathcal {G}_{k+1,p}=[\mathcal {G}(L_i\times t_{k+1 })]_{i=0,1}^\mathrm{T} \). As previously, we apply the reconstruction–projection discretization strategy. Since the temperature field is assumed to be linear inside the 2-simplex \(S_p\), then the temperature gradient \(g(x,t)\) is constant along the 1-simplices \(L_0\), \(L_1\) and \(L_2\). Using the definition of the global thermal tension quantities given in Table 1, we can evaluate the global thermal tension quantities \( \mathcal {G}(L_0\times t_{k+1 })\) and \(\mathcal {G}(L_1\times t_{k+1 })\) as

$$\begin{aligned} \mathcal {G}(L_0\times t_{k+1}) = \int _{ L_0}g(x,t_{k+1}) \cdot \mathrm{d}l = L_0\cdot g(x,t_{k+1}), \end{aligned}$$
(16)
$$\begin{aligned} \mathcal {G}(L_1\times t_{k+1}) = \int _{ L_1}g(x,t_{k+1}) \cdot \mathrm{d}l = L_1\cdot g(x,t_{k+1}). \end{aligned}$$
(17)

The reconstructed temperature gradient \(\hat{g}(x,t_{k+1})\) can then be evaluated in terms of the above global quantities as

$$\begin{aligned} \hat{g}(x,t_{k+1})=-\frac{1}{2 {\mid } S_p{\mid }}\left[ \begin{array}{l@{\quad }l} L_{1\,{y}} &{} -L_{0\,{y}} \\ -L_{1\,{x}} &{} L_{0\,{x}} \end{array}\right] \mathcal {G}_{k+1,p}, \end{aligned}$$
(18)

where \((L_{0\,x}, L_{0\,y})\) and \((L_{1\,x}, L_{1\,y})\) are, respectively, the coordinates of the 1-simplices \(L_0\) and \(L_1\) in the \((x,y)\) basis as shown in Fig. 6c. From the reconstructed temperature gradient \(\hat{g}(x,t)\) and the constitutive law (4), we can deduce the approximated heat diffusion flow as

$$\begin{aligned} \hat{q}(x,t)=-\hat{\kappa }\hat{g}(x,t), \end{aligned}$$
(19)

At each time step, the estimated conductivity tensor \(\hat{\kappa }(x)\), called diffusion tensor in the computer vision literature [1, 24], is a function of the curvature tensor. In this work, we assume that the diffusion tensor evaluated at each vertex separately is locally constant inside the dual 2-cell surrounding the vertex. Now, the global heat diffusion flux \(\mathcal {Q}(\tilde{L}_i\times I_{k+\frac{1}{2}})\) that flows through the dual 1-cell \(\tilde{L}_i\) for \(i\in \{0,1,2\}\) can then be evaluated as:

$$\begin{aligned} \mathcal {Q}(\tilde{L}_i\times I_{k+\frac{1}{2}})&= -\int _{ \tilde{L}_i\times I_{k+\frac{1}{2}} } \tilde{\mathbf {n}}\cdot \hat{\kappa }\hat{g}(x,t) \mathrm{d}l\, \mathrm{d}t\nonumber \\&= -\Delta _t|\tilde{L}_i|\tilde{\mathbf {n}}_i\cdot \hat{\kappa } \hat{g} (x,t_{k+1}), \end{aligned}$$
(20)

where \(\tilde{\mathbf {n}}_i\) is the unit normal vector to the dual 1-cell \(\tilde{L}_i\) with length \(|\tilde{L}_i|\). Finally, by combining (18) and (20), we get the discrete Fourier law as:

$$\begin{aligned} \small {\mathcal {Q}_{k+\frac{1}{2},p}= \frac{\Delta _t}{2{\mid } S_p{\mid }} \left[ \begin{array}{l} |\tilde{L}_0|\tilde{\mathbf {n}}_0\cdot \hat{\kappa } \\ |\tilde{L}_1|\tilde{\mathbf {n}}_1\cdot \hat{\kappa } \\ |\tilde{L}_2|\tilde{\mathbf {n}}_2\cdot \hat{\kappa } \end{array}\right] \left[ \begin{array}{l@{\quad }l} L_{1\,y} &{} -L_{0\,y} \\ -L_{1\,x} &{} L_{0\,x} \end{array}\right] \mathcal {G}_{k+1,p}.} \end{aligned}$$
(21)

Note that the discrete conservative law (6) evaluated at time instant \(t_{k+1}\) allows to express \(\mathcal {Q}_{k+\frac{1}{2},p}\) as function of the temperature global quantities vector \(\mathcal {T}_{k+1,p}\). More precisely, writing the components of \(\mathcal {G}_{k+1,p}\) in terms of the temperature global quantities \(\mathcal {T}(\mathrm {v}_0\times t_{ k+1})\), \(\mathcal {T}(\mathrm {v}_1\times t_{ k+1})\) and \(\mathcal {T}(\mathrm {v}_2\times t_{ k+1})\) as

$$\begin{aligned} \mathcal {G}(L_0\times t_{k+1 })=\mathcal {T}(\mathrm {v}_1\times t_{ k+1})- \mathcal {T}(\mathrm {v}_2\times t_{ k+1}), \end{aligned}$$
(22)
$$\begin{aligned} \mathcal {G}(L_1\times t_{k+1 }) = \mathcal {T}(\mathrm {v}_1\times t_{ k+1})- \mathcal {T}(\mathrm {v}_0\times t_{ k+1}), \end{aligned}$$
(23)

by replacing (22) and (23) in (21), using the definition of the normal vector \(\mathbf {n}_j=\frac{1}{|L_{j}| }[-L_{jy},L_{jx}]\) for \(j\in \{0,1,2\}\), we get an expression of \( \mathcal {Q}_{k+\frac{1}{2},p}\) in terms of \(\mathcal {T}_{k+1,p}\) as:

$$\begin{aligned} \mathcal {Q}_{k+\frac{1}{2},p}= \Delta _t\mathbf { H}_p \mathcal {T}_{k+1,p}, \end{aligned}$$
(24)

where the local matrix \( \mathbf {H}_p\) is given by:

$$\begin{aligned} \mathbf {H}_p(i,j)=\frac{1 }{2\,{\mid } S_p{\mid }} |L_{j}||\tilde{L}_i|\tilde{\mathbf {n}}_i\cdot \hat{\kappa } \mathbf {n}_j \quad \mathrm{for }\quad i,j\in \{0,1,2\}. \end{aligned}$$
(25)

4.3 The linear system for heat transfer

To formulate the linear system that allows us to solve the heat transfer problem, we construct the global matrices \(\bar{\mathbf {R}} \) and \(\bar{\mathbf {H}}\) that assemble element-by-element the contributions of the local matrices \(\mathbf {R}_{p}\) and \(\mathbf {H}_{p}\) using an assembly matrix [19]. The global constitutive laws can then be formulated as

$$\begin{aligned} \mathcal {E}_{k}=\bar{\mathbf {R}} \mathcal {T}_{k},\quad \mathrm{and }\quad \mathcal {Q}_{k+\frac{1}{2}}= \Delta _t \bar{\mathbf {H}}\mathcal {T}_{k+1}. \end{aligned}$$
(26)

The algebraic system that allows to solve heat transfer problem is derived by substituting in (5) the global constitutive laws (26), obtaining

$$\begin{aligned}{}[ \bar{ \mathbf {R}}+ \Delta _t\tilde{D}_{2,1}\bar{\mathbf {H}}] \mathcal {T}_{k+1}= \bar{\mathbf {R}} \mathcal {T}_{k}, \end{aligned}$$
(27)

where \(\mathcal {T}_{k}\) and \(\mathcal {T}_{k+1}\) are the temperature global quantities vectors. As \(\mathcal {T}(\mathrm {v}\times t_i)=T(\mathrm {v},t_i)\), then the temperature global quantities vectors \(\mathcal {T}_{k}\) and \(\mathcal {T}_{k+1}\) represent, respectively, the temperature vectors at time instants \(t_k\) and \(t_{k+1}\).

5 Anisotropic smoothing

Let us consider a vertex \(\mathrm {v}\) on noisy object embedded in \(\mathbb {R}^3\). We can view the vertex \(\mathrm {v}\) as a temperature vector of three components taken at equal time steps; noise is thus seen as abrupt temperature variation. The natural tendency of heat is to flow from the hotter point to the colder until the thermal equilibrium is reached, and this behavior is similar to what is needed in denoising. When applying the heat diffusion process to smooth a noisy object, a natural choice of the thermal conductivity tensor \(\hat{\kappa }\) in the discrete Fourier constitutive law (21) is the curvature tensor (in combination with an appropriate transfer function). The curvature tensor controls the diffusion of the vertex coordinates along different directions, which allow the preservation and enhancement the features like edges and corners [1, 24].

Assume that \(V_{k}\) is an approximate solution of the diffusion problem at time \(t_k=k \triangle _{t}\), where \(\Delta _{t}\) is the diffusion time, and let \(Z_\mathrm {v}\) denote a local mesh around the vertex \(\mathrm {v}\) as shown in Fig. 6a. Using the analogy between the coordinate of the vertex and the temperature vector, we can approximate the solution \(V_{k+1}\) at the next time step \(t_{k+1}=(k+1) \Delta _t\) as the solution of the linear system

$$\begin{aligned}{}[ \bar{\mathbf {R}}(Z_{\mathrm {v}})+ \Delta _t\tilde{D}_{2,1}(Z_{\mathrm {v}})\bar{\mathbf {H}}(Z_{\mathrm {v}}) ]V_{k+1}=\bar{\mathbf {R}}(Z_{\mathrm {v}}) V_k, \end{aligned}$$
(28)

where \(\bar{\mathbf {R}}(Z_{\mathrm {v}})\) and \(\bar{\mathbf {H}}(Z_{\mathrm {v}})\) are the global matrices (26) expressed on the local mesh \(Z_{\mathrm {v}}\), and \(\tilde{D}_{2,1}(Z_{\mathrm {v}})\) is the restriction the dual incidence matrix between the dual 2-cells and dual 1-cells in the local mesh \(Z_{\mathrm {v}}\). The diffusion tensor \(\hat{\kappa }\) that appears in discrete constitutive law (25) is identified at each vertex \(\mathrm {v}_i\) to

$$\begin{aligned} \hat{\kappa }(\mathrm {v}^{k}_i)= [e_0\quad e_1] \left[ \begin{array}{l@{\quad }l} g(k_0) &{} 0 \\ 0 &{} g(k_1) \end{array}\right] \left[ \begin{array}{l} e_0 \\ e_1 \end{array}\right] \end{aligned}$$
(29)

where \( k_\bullet \) and \(e_\bullet \) are, respectively, the eigenvalues and eigenvectors of the shape operator matrix, and \(g\) is a conductance function given by

$$\begin{aligned} g(s)=\left\{ \begin{array}{l@{\quad }l} 1 &{}\text{ if }\ {\mid } s {\mid }\le \lambda , \\ \frac{1}{1+ (\frac{s}{\lambda })^2} &{} \text{ otherwise, } \end{array}\right. \end{aligned}$$

where \(\lambda \) is a threshold parameter, such that the vertices on the edges are characterized by \( k_0 > \lambda \) or \( k_1 > \lambda \), and the vertices on corners are characterized by \( k_0 > \lambda \) and \( k_1 > \lambda \). The eigenvalues and eigenvectors of the shape operator matrix are estimated using the approach proposed by Rusinkiewicz [25]. The resulting system of equations, which arises at each time step of the anisotropic diffusion, is solved by a preconditioned conjugate gradient method. The smoothing method is summarized in the Algorithm  1.

figure c

6 Deduction of topological invariants

Object representation is a central problems in computer vision. In discrete setting, simplicial elements are commonly used to represent the object, and its connectivity models the topology. Topological invariants, like homology groups, Betti numbers and Euler characteristic, are properties representing the object; such properties that are invariants under continuous deformation are essential in many standard and recent applications in computer vision, such as Cosmic Web topology [18] and global parametrization based on Ricci flow theory [17]. For instance, to establish a global parametrization for a given object, topological invariants like homology basis and Betti numbers are first computed to build a conformal map between the object and the corresponding canonical domain. Then, the Gaussian curvature is smoothed by heat diffusion process until the convergence to a space with constant Gaussian curvature is reached; although that the computation of the topological invariants and the simulation of the heat diffusion process are performed simultaneously, their computation is realized separately. In this section, we show that thanks to the algebraic topological discretization framework, it is possible to deduce directly some topological invariants like Betti numbers. In heuristic terms, the Betti numbers count topological features and can be considered as the number of \(p\)-dimensional holes. When talking about the \(2\)-manifold \(\mathbf {M}_2\) embedded in 3-dimensional space, the zeroth Betti number, \(\beta _0\), counts the connected components, the first Betti number, \(\beta _1\), counts the tunnels, and the second Betti number,\(\beta _2\), counts the enclosed voids, and all other Betti numbers are zero [20]. In the particular case where \(\mathbf {M}_2\) is a closed and oriented manifold, the three Betti numbers \(\beta _0\), \(\beta _1\) and \(\beta _2\) can be easily computed, since in this case we have

$$\begin{aligned} \beta _0=\beta _2 \end{aligned}$$
(30)

and \(\beta _1=2 \beta _0 -\chi \), where \(\chi \) is the Euler characteristic of \(\mathbf {M}_2\) [20]. The zeroth Betti number \(\beta _0\) can be computed by standard combinatorial algorithms [26], while the Euler characteristic \(\chi \) is defined as the alternating sum of the number of \(0-\), \(1-\), and \(2\)-simplices in the \(2\)-simplicial complex \(K_2\). However, the relation (30) does not always hold, especially in the case of the non-oriented objects and some real scanned objects.

In what follows, we show that in general case, the Betti numbers can be determined directly from the rank of the incidence matrix \(D_{1,0}\) between the primal 1-simplices and the 0-simplices elements and the rank of the incidence matrix \(D_{2,1}\) between the primal 2-simplices and the 2-simplices elements. Let \(p_1\) be the rank of the matrix \(D_{1,0}\) and \(p_2\) be the rank of the matrix \(D_{1,2}\). Then, it can be shown [20] that the \(0\)-Betti number is given by \(\beta _0 = n_0-p_1\), the \(1\)-Betti number is given by \(\beta _1 = n_1- p_1- p_2\) and the \(2\)-Betti number is given by \(\beta _2=n_2-p_2\), where \(n_0\), \(n_1\) and \(n_2\) are, respectively, the number of 0-simplices, 1-simplices, and 2-simplices in the 2-simplicial complex \(K_2\). In our formulation of the heat transfer problem, the first incidence matrix \(D_{1,0}\) links the thermal tension global quantity vector \(\mathcal {G}_{k+1}\) to the temperature global quantity vector \(\mathcal {T}_{k+1}\) in the conservative law (6). The second incidence matrix \(D_{2,1}\) can be recovered from the first incidence matrix \(D_{1,0}\) by a branches-and-nodes decomposition [27]. Practically, for simplicial complex with higher number of simplices, computing the rank of these two matrices \(D_{1,0}\) and \(D_{2,1}\) is very expensive. Recently, a linear time algorithm based on a reduction of the chain complex has been proposed [28, 29]. The concept of reducing, also called collapsing, provides a reduced chain complex that is topologically equivalent to the initial chain complex. In fact, all topological invariants can be computed from the reduced chain complex. In our application, we have adapted the collapsing algorithm to deal directly with the incidence matrices. When acting on the incidence matrices, the collapsing procedure eliminates simultaneously one row and one column at each reduction operation, which allows to reduce iteratively the incidence matrices size. An example of calculation of the topological invariants of a given scanned Kitten object is shown in Fig. 7b; the model is naturally corrupted by random noise. The results after \(6\) iterations of the smoothing iterations by the algorithm 1 are depicted in Fig. 7b. For this object, the zero Betti number \(\beta _0= 1\), the first Betti number \(\beta _1= 2\) and the second Betti number \(\beta _2= 1\), which mean that this object has one connected components, one tunnel loop, one handel loop and one enclosed cavity.

Fig. 7
figure 7

Smoothing results for Kitten object: a the original scanned object corrupted with natural noise. b The smoothed object with the tunnel and handel loops

7 Experimental results

In this section, we present comparative results of the proposed smoothing method CAT with the anisotropic geometric diffusion method AGD [1], the prescribed mean curvature flow method PMCF [4] and the non-local mean method NLM [6]. To test the robustness of the smoothing methods to reduce the noise, we generate a zero-mean Gaussian noise where the standard deviation \(\sigma \) is proportional to the average mesh edge length \(\bar{e}\), that is \(\sigma =\alpha \, \bar{e}\). The noise is then added to each vertex component along the normal and tangential directions. We use two objects in our comparison: the fandisk and the Venus head objects. For these objects, Table 2 presents the parameter settings and run time for our method and the comparative smoothing methods. To be objective in our comparisons results with the other smoothing approaches, we used the public implementations of the smoothing approaches [4, 6], also we tried to choose parameter settings producing the best results. In what follows, we present a qualitative and quantitative comparison of the five smoothing methods.

Table 2 Parameter setting and timing results

7.1 Qualitative evaluation

Figure 8 presents the smoothing results for the synthetic fandisk object characterized by curved sharp edges and a vanishing ridge; to this object, we added a zero-mean Gaussian noise with a standard deviation \(\sigma =0.1\, \bar{e}\). The PMCF and the NIM smoothing methods reduce the noise in the non-characteristic regions but fail to smooth adequately some edges and corners; this is probably due to the fact that the smoothing process is performed only along the normal vector at each vertex, which allows to reduce the noise along the normal vector, while the edges and corners are not adequately smoothed. The AGD method was able to reduce a noise but also damaged some corners and edges; this is essentially due to the estimation of the curvature tensor that determines the object features by fitting quadratically a local surface, since the quadratic local surface interpolation does not ensure a good representation of the object features. In addition, the higher order derivatives of the quadratic local surface represent a factor of noise enhancing. For the proposed method CAT, it can be clearly seen that due to its anisotropic directional smoothing of the object features, it is able to faithfully preserve crucial curved sharp edges and corners. Figure 9 shows smoothing results for Venus head object, which is a real scanned object. To which, we added a zero-mean Gaussian noise, where the standard deviation was also set to \(\sigma =0.1 \bar{e}\) . It can be seen that the CAT method effectively removes noise while preserving critical features with a good time performances. In Fig. 10, we depict an enlarged view of the fandisk and Venus head objects to show the better performance of the proposed method. In particular, the sharp features of the fandisk object and the mouth and the engraves on Venus head are very well preserved by our method.

Fig. 8
figure 8

Comparison of the smoothing methods on the fandisk object

Fig. 9
figure 9

Comparison of the methods on the Venus head object

Fig. 10
figure 10

Enlarged view of the fandisk and Venus head objects after smoothing iterations by the CAT method. ac depict original objects, while bd illustrate smoothing results by the CAT method

7.2 Quantitative evaluation

Let \(\Omega \) be a reference 3D object (assumed to be sufficiently dense) and let \(\Omega _k\) be the object obtained from a reference object \(\Omega \) by adding noise and applying iterations of a smoothing process. To quantify the better performance of the proposed approach in comparison with the AGD, NLM and PMCF smoothing methods, we compute the vertex-position error metric [30] between the reference object \(\Omega \) and the smoothed object \(\Omega _k\) at iterations \(k=1\cdots 20\). The mean value of vertex-positions error metric over all iterations for the fandisk and the Venus heat objects are depicted in Fig. 11 for all comparative smoothing methods. The graphic in Fig. 11 clearly shows that the proposed method gives the best results indicating the consistency with the subjective comparison.

Fig. 11
figure 11

The mean vertices error measure achieved by the smoothing methods

We have also applied our smoothing technique to filter a large real-world scanned object which is naturally corrupted with noise. Fig. 7b shows the smoothing result for Kitten object, and in Fig. 12b, f we report the smoothing results of the Gargoyle object and the metal plate object scanned by Konica Minolta Vivid 910 scanner [31]. An enlarged view of the smoothed Gargoyle and metal plate objects is depicted in Fig. 12d, h to show the better performance of the proposed method to reduce the natural noise arising from the real world. Note that in Fig. 12d, the thin features are well preserved while the noise is reduced and the details are accurately preserved. With reference to the Fig. 12h, despite the fact that the natural noise that corrupts the metal plate object reported is not a Gaussian noise, we observe that the noise is adequately reduced by the proposed smoothing method. In terms of the smoothed objects quality, we visualize in Fig. 13 the triangulation of the smoothed Gargoyle and metal plate objects, we note that the proposed method reduces the noise without introducing additional distortions.

Fig. 12
figure 12

Smoothing the complex Gargoyle and metal plate objects. a, e The noisy scanned objects. b, f The smoothing results by the proposed method with \(\Delta _t=0.05\), \(\lambda =0.85 \) and \(4\) iterations

Fig. 13
figure 13

Triangulation of two portions of Gargoyle and metal plate objects after smoothing process. a Triangulation of the Gargoyle portion object. b Triangulation of the metal plate object

In \(3D\) model acquisition pipeline [32], several portions must be scanned to achieve total coverage of the object. The portions are then merged to build the complete object. In the Fig. 14, we process scanned portions of different objects by our smoothing method. The coloration by the mean curvature enhances the smoothing defects and roughness of the smoothed objects that cannot be recognized by human eyes [1, 6, 25]. The mean curvature map indicates high quality of the smoothed portions. The smoothing results of merged objects are also reported in Fig. 15; the noise is effectively reduced and the geometric features are accurately preserved. In all the experiments, we observe that the proposed technique is able to reduce adequately artificial and natural noise while preserving important geometric structure of the objects in a very efficient way. This better performance is in fact consistent with a large number of objects used for experimentations.

Fig. 14
figure 14

Smoothing noisy scanned portions of the objects. Left an input noisy scanned portions. Center the smoothing results by the proposed method with \(\Delta _t=0.05\), \(\lambda =0.85 \) and \(N=5\) iterations. Right Smoothed portions colored by mean curvature; the curvature map helps us to identify defects

Fig. 15
figure 15

Smoothing noisy merged objects. Left an input noisy scanned objects. Center the smoothing results by the proposed method with \(\Delta _t=0.05\), \(\lambda =0.85 \) and \(N=6\) iterations. Right smoothed objects colored by mean curvature; the curvature map helps us to identify objects defects

7.3 Parameters selection

Smoothing objects with the proposed method depends on to the selection of the diffusion time step \(\Delta _t\), the threshold parameter \(\lambda \) and the number of the smoothing iteration \(N\), in what follows, we briefly discuss the choice of such parameters. The time step parameter \(\Delta _t\) affects the duration of the smoothing process. Greater the time step used, the more important is the smoothing effect and, hence, the oversmoothing problem will arise. On the other hand, smaller time step values can cause a substantial increase in running time. Thus, it is desirable to adapt the time steps size to noisy object. Experimentally, we note that time step size in the range \([0.01,0.06] \) is adequate for objects with sharp and fine features such as fandisk object, while time step in the range \([0.08,0.2] \) produces a good smoothing results for objects with no pronounced characteristics. The threshold parameter \(\lambda \) controls the rate of the diffusion and serves as a soft threshold between the features that are attributed to the noise artifacts and those attributed to the edges and corners. For a large values of \(\lambda \), edges and corners will be considered as noise artifact and then destroyed during the smoothing iterations, while for the smaller values of \(\lambda \), the artificial features introduced by the noise will be preserved. For a fixed number of iterations and time step, we have performed many experiments to find a good threshold parameter values resulting in the best visual impression of the smoothed objects. It turns out that the best smoothing results are obtained by setting the threshold to \(\lambda =0.85\) for objects with fine and sharp features and \(\lambda =1.25\) for objects with no pronounced features. Since the proposed smoothing method is based on iterative process, it is sensitive to the selection of the number of the smoothing iteration \(N\). As the total diffusion time is a multiple of the time step i.e, \(t_{N}=N \Delta t\), selecting \(N\) boils down to choosing the optimal time to stop the iterations and prevent an over smoothed result. By fixing the values of the time step and the threshold parameters, we have chosen the number of iterations which result in the minimum mean vertices error measure value over all values of smoothing iterations \(N=1\cdots 20\). Our experiments show that smoothing iterations between \(N =4\) and \(N =6\) achieve small mean vertices error measure values and produce the best visual impression.

8 Discussion and conclusion

The mesh smoothing method described in this work is funded on the global heat diffusion approach. The fundamental ingredient of the global approach is the association of the global variables to the oriented geometrical elements and the decomposition of heat diffusion principle to the constitutive and conservative laws. In discrete setting, the conservative laws are exactly expressed as topological equations, showing evidence of topological information that has been directly deduced while smoothing objects. Such topological information is hidden when one formulate the heat diffusion by local method using infinitesimals differential operators. Moreover, the topological equations are discrete by nature, that is, it requires any approximation, which allows to minimize the approximations made during the whole discretization process, as opposed to local methods that discretize the differential operators, which represent a factor of noise enhancing. On the other hand, constitutive laws require approximations, because they incorporate metric information and material parameters of the object. Thus, the only source of error in the global method stems from the discretization of the constitutive laws. This step is the cornerstone to construct numerical scheme that allows to resolve the heat diffusion on meshes. In contrast to the rigidity of the local method, the flexibility that offers the discretization of the constitutive laws by fixing and estimating material parameters, allowing changing the application to a great number of problems in computer vision.

In terms of smoothing performances, our method is stable, robust, feature preserving, and can be easily extended to process objects with arbitrary dimension. We demonstrated that how this approach provides an elegant way to process noisy objects while providing some topological invariants such as Betti numbers. The proposed approach has been validated on different objects corrupted with artificial noise as well as real noise introduced by acquisition instruments. The results obtained confirm the effectiveness of this approach to reduce noise by qualitatively and quantitatively comparing it with several state-of-the-art smoothing methods. Last but not least, the proposed approach is a step forward in achieving close integration of geometrical and topological representations and physics-based simulations to process object. As far as future work is concerned, we plan to apply the proposed method to other problems in computer graphics, such as objects parametrization and fluid simulation problems.