## 6 Application II: Fast Filtering of Time-Vertex Signals
### Dynamic Mesh Denoising  
Finally, we replicate a dynamic mesh denoising example presented in [50] (Sec. VI.B). The original time-varying sequence of 3D meshes of a walking dog features meshes from \(T=59\) time instances, each with \(N=2502\) points in 3D space (x-y-z coordinates). This sequence is denoted by the \(2502\times 59\times 3\) matrix \(\mathbf{X}\). The original 3D mesh from time \(t=5\) is shown in Figure 11a. The dynamic mesh sequence is corrupted by adding Gaussian noise (mean 0, standard deviation equal to \(\frac{0.2||\mathbf{X}||_{F}}{\sqrt{2502.59\cdot 3}}\)) to each mesh point coordinate. We denote the noisy 3D mesh sequence, one element of which is shown in Figure 11b, by \(\mathbf{Y}\). A single graph is created by subtracting the mean \(x\), \(y\), and \(z\) coordinates of each noisy mesh from that mesh, averaging the centered noisy mesh coordinates across all 59 time instances, and then building a 5-nearest neighbor graph on the average centered noisy mesh coordinates. The resulting graph and its spectral density function are shown in Figure 11e-f. The dynamic mesh sequence is denoised by solving the Tikhonov regularization problem [50] (Equation (30))  
\[\mathbf{X}_{\text{denoised}}=\operatorname*{argmin}_{\mathbf{Z}}||\mathbf{Z }-\mathbf{Y}||_{F}^{2}+\tau_{1}\text{tr}(\mathbf{Z}^{\top}\mathbf{L}_{G} \mathbf{Z})+\tau_{2}\text{tr}(\mathbf{Z}\mathbf{L}_{R}\mathbf{Z}^{\top}). \tag{14}\]  
The optimization problem (14) has a closed-form solution  
\[\mathbf{X}_{\text{denoised}}(:,:,i)=h_{\text{tik}}(\mathbf{L}_{G},\mathbf{L} _{R})\mathbf{Y}(:,:,i),\;i=1,2,3; \tag{15}\]i.e., the joint time-vertex filtering operation defined in (11) is applied to each of the noisy x, y, and z coordinates, using the same joint non-separable lowpass filter \(h_{\text{tik}}\), which is defined in the joint spectral domain as (50) (Equation (31))  
\[h_{\text{tik}}(\lambda_{G},\lambda_{R})=\frac{1}{1+\tau_{1}\lambda_{G}+\tau_{2} \lambda_{R}}. \tag{16}\]  
We perform a grid search to find the values of the parameters \(\tau_{1}\) and \(\tau_{2}\) that minimize the relative error \(\frac{||\mathbf{X}\text{denoised}-\mathbf{X}||_{F}}{||\mathbf{X}||_{F}}\) averaged over multiple realizations of the noise. In Figure 11g, we show the resulting filter \(h_{\text{tik}}(\lambda_{G},\lambda_{R})\) with \(\tau_{1}=7.20\) and \(\tau_{2}=0.45\) on the joint spectrum of the graph shown in Figure 11e. The dashed black line in Figure 11h shows the relative error between the denoised sequence computed exactly in (15) and the original dynamic 3D mesh sequence, averaged over 20 realizations of the additive Gaussian noise. The other three curves in the same image show the average relative error when the computation in (15) is approximated by the fast Fourier Chebyshev method of (50), the Chebyshev2D method of (64), and the spectrum-adapted approximate time-vertex filtering (fast Fourier weighted least squares) of Algorithm 3, for different values of the polynomial degree \(K\). All three approximations converge to the exact solution and corresponding error, but at low degrees (\(K\leq 10\)), the spectrum-adapted fast Fourier weighted least squares yields a better approximation. Figure 11c-d display examples of the denoised mesh at a single time (\(t=5\)) resulting from two of these approximations, with \(K=6\). The difference between the two is subtle, but can be seen, e.g., by scanning the top of the dog, where the mesh points form a slightly smoother surface. Figure 11: Denoising of a time-varying sequence of 3D meshes of a walking dog. Top row: one element each of the dynamic sequences of (**a**) original, (**b**) noisy, and (**c**,**d**) denoised (using two different approximation methods) meshes.