\section{Introduction}

After receiving paper reviews, authors may optionally submit a rebuttal to address the reviewers' comments, which will be limited to a {\bf one page} PDF file.  Please follow the steps and style guidelines outlined below for submitting your author response.

Note that the author rebuttal is optional and, following similar guidelines to previous CVPR conferences, it is meant to provide you with an opportunity to rebut factual errors or to supply additional information requested by the reviewers. It is NOT intended to add new contributions (theorems, algorithms, experiments) that were not included in the original submission. You may optionally add a figure, graph or proof to your rebuttal to better illustrate your answer to the reviewers' comments.

Per a passed 2018 PAMI-TC motion, reviewers should not request additional experiments for the rebuttal, or penalize authors for lack of additional experiments. This includes any experiments that involve running code, e.g., to create tables or figures with new results.  \textbf{Authors should not include new experimental results in the rebuttal}, and reviewers should discount any such results when making their final recommendation. Authors may include figures with illustrations or comparison tables of results reported in the submission/supplemental material or in other papers. 

The rebuttal must adhere to the same blind-submission as the original submission and must comply with this rebuttal-formatted template.


\subsection{Response length}
Author responses must be no longer than 1 page in length including any references and figures.  Overlength responses will simply not be reviewed.  This includes responses where the margins and formatting are deemed to have been significantly altered from those laid down by this style guide.  Note that this \LaTeX\ guide already sets figure captions and references in a smaller font.

\section{Formatting your Response}

{\bf Make sure to update the paper title and paper ID in the appropriate place in the tex file.}

All text must be in a two-column format. The total allowable width of the text
area is $6\frac78$ inches (17.5 cm) wide by $8\frac78$ inches (22.54 cm) high.
Columns are to be $3\frac14$ inches (8.25 cm) wide, with a $\frac{5}{16}$ inch
(0.8 cm) space between them. The top margin should begin
1.0 inch (2.54 cm) from the top edge of the page.  The bottom margin should be
1-1/8 inches (2.86 cm) from the bottom edge of the page for $8.5 \times
11$-inch paper; for A4 paper, approximately 1-5/8 inches (4.13 cm) from the
bottom edge of the page.

Please number all of your sections and any displayed equations.  It is important
for readers to be able to refer to any particular equation.

Wherever Times is specified, Times Roman may also be used.  Main text should be
in 10-point Times, single-spaced. Section headings should be in 10 or 12 point
Times.  All paragraphs should be indented 1 pica (approx. 1/6 inch or 0.422
cm).  Figure and table captions should be 9-point Roman type as in
Figure~\ref{fig:onecol}.


List and number all bibliographical references in 9-point Times, single-spaced,
at the end of your response. When referenced in the text, enclose the citation
number in square brackets, for example~\cite{Authors14}.  Where appropriate,
include the name(s) of editors of referenced books.

\begin{figure}[t]
\begin{center}
\fbox{\rule{0pt}{1in} \rule{0.9\linewidth}{0pt}}
  
\end{center}
   \caption{Example of caption.  It is set in Roman so that mathematics
   (always set in Roman: $B \sin A = A \sin B$) may be included without an
   ugly clash.}
\label{fig:long}
\label{fig:onecol}
\end{figure}


\subsection{Illustrations, graphs, and photographs}

All graphics should be centered.  Please ensure that any point you wish to make is resolvable in a printed copy of the response.  Resize fonts in figures to match the font in the body text, and choose line widths which render effectively in print.  Many readers (and reviewers), even of an electronic copy, will choose to print your response in order to read it.  You cannot insist that they do otherwise, and therefore must not assume that they can zoom in to see tiny details on a graphic.

When placing figures in \LaTeX, it's almost always best to use \verb+\includegraphics+, and to specify the  figure width as a multiple of the line width as in the example below
{\small\begin{verbatim}
   \usepackage[dvips]{graphicx} ...
   \includegraphics[width=0.8\linewidth]
                   {myfile.eps}
\end{verbatim}
}


{\small
\bibliographystyle{ieee_fullname}

\section{Introduction}
\label{sec:intro}

\begin{figure}[tbp]
    \centering
    \includegraphics[width=\linewidth]{abstract.pdf}
    \caption{Our method acquires shape priors from a single mesh by unsupervised deep learning. The shape priors can be acquired by the weight sharing architecture of the graph convolutional networks and can be used for mesh restoration tasks such as denoising and completion.}
    \label{fig:abstract}
\end{figure}

Restoring the incompleteness of digital shape data given by 3D scanners is a common problem in computational geometry processing. Noise and deficient regions are among the most typical incompleteness by digital scanners. To address these issues, many approaches for the restoration problems have been proposed~\cite{liepa2003filling,sharf2004coherent,kraevoy2005template,wei2018denoising,li2020dnfnet} that often require prior knowledge to constrain the restored mesh because such problems are often ill-posed. Traditionally, the prior knowledge has been designed based on human heuristics. For completion as an example, the output mesh is often constrained to have local smoothness~\cite{liepa2003filling} and self-similarity~\cite{sharf2004coherent,harary2014context}. Additional examples or templates are often used as prior knowledge to fill the holes~\cite{kraevoy2005template,quinsat2015filling}.

Recent advances in deep learning techniques have delivered shape processing using learning-based prior knowledge typically acquired from large-scale datasets. These approaches have been proposed for various shape representations such as voxels~\cite{varley2017robotic,dai20173depn}, point clouds~\cite{rakotosaona2020pointcleannet,guerrero2018pcpcnet,yuan2018pcn,chen2020unpaired}, and meshes~\cite{dai2019scan2mesh,li2020dnfnet}. However, the current shape datasets used in deep learning include only limited shapes, which causes inappropriate restoration for the shapes not included in the datasets. Unsupervised learning is one of the good solutions to resolve this dependency. Recently, several unsupervised approaches have been proposed, e.g., for semantic segmentation~\cite{chen2019baenet,deng2020cvxnet,chen2020bspnet} and surface reconstruction from dense point clouds~\cite{williams2019dgp,hanocka2020point}. However, unsupervised learning for general-purpose shape restoration remains unchallenged, particularly for meshes.

This paper addresses the reconstruction problems on meshes via unsupervised learning of self-similarity in the input shape. To this end, we extend a previous unsupervised learning method for restoring 2D images~\cite{ulyanov2018deep}, which is known as Deep Image Prior (DIP). Specifically, we re-define the problem for triangular meshes using graph convolutional networks (GCNs)~\cite{kipf2016gcn,defferrard2016chebnet,monti2017geometric}. Analogous to DIP, our method has an appealing aspect of acquiring prior knowledge of the self-similarity only from a single input mesh without being pretrained with any large-scale datasets. Furthermore, both the input and output of our method are a mesh; therefore, our method does not use any intermediate shape representations such as an implicit field.

Most importantly, we found that the straightforward application of the idea of DIP was not the best choice for triangular meshes. Alternatively, we come across an idea to train the neural network to estimate the difference between the input shape and the one abstracted by smoothing. This new pipeline significantly improves the performance of reconstruction tasks, and interestingly, it can achieve comparable or even higher performance than that of the state-of-the-art approaches using deep neural networks and a large-scale training dataset.

\section{Related Work}
\label{sec:related-work}

\subsection{Deep Image Prior and its variants for shapes}

Recently, the nature of neural networks to quickly reconstruct structural information has been found advantageous to restore incompleteness of data only using a single input. DIP~\cite{ulyanov2018deep} is the representative study that has successfully performed restoration tasks such as denoising, super-resolution, and inpainting only using a single corrupted image. It shows that the weight sharing of the convolutional neural network (CNN) is apt to model the repeated and correlated structures. For denoising by DIP, the CNN is trained quickly to reproduce natural images, whereas slowly for noisy ones. For inpainting, the CNN learns the self-similarity from the known image parts and fills the missing regions using the knowledge of self-similarity.

Inspired by DIP, Williams~\etal~\cite{williams2019dgp} proposed Deep Geometric Prior (DGP), a surface reconstruction method from a point cloud, in which several multilayer perceptrons (MLPs) are trained individually to reconstruct different local surface patches. Unfortunately, such individual training without weight sharing cannot capture global self-similarity. Similar to DGP, Hanocka~\etal~\cite{hanocka2020point} proposed Point2Mesh, which reconstructs an entire surface from an input point cloud. Unlike DGP, Point2Mesh uses MeshCNN~\cite{hanocka2019meshcnn} with weight-sharing convolution kernels, which enables to capture the global self-similarity. On the other hand, Point2Mesh reconstructs the surface in a coarse-to-fine fashion. It initially trains a MeshCNN to reproduce the abstracted shape with a specific resolution. To reproduce the more refined shape, it trains another MeshCNN individually. As a result, their method may fail to capture geometric features characterized by different shape resolutions. Thus, the previous methods fail to capture global self-similarity over the entire surface and resolution.

On the other hand, our approach uses a single GCN to capture the self-similarity globally over surface and resolution. Unlike the above methods for surface reconstruction from point clouds, a triangular mesh is used as both the input and output of our method. Therefore, it can be used generally for various geometry processing tasks on meshes. This paper shows the applicability of our method to denoising and completion.

\subsection{Learning-based shape restoration}

Shape restoration is a traditional problem of geometry processing, which involves surface reconstruction~\cite{hoppe1992surface,carr2001reconstruction,ohtake2003multilevel,kazhdan2006poisson,kazhdan2013screened}, denoising~\cite{ohtake2002mesh, Giraudot2013noiseadaptive, wei2018denoising, arvanitis2018fpdenoise}, and shape completion~\cite{liepa2003filling,sharf2004coherent,kraevoy2005template,harary2014context}. Although there are a large number of previous studies for restoration, here, we introduce recent deep learning techniques for different shape representations such as voxels, point clouds, and meshes.

The pioneering technique of 3D shape processing using deep learning is for voxelized shapes~\cite{wu20153d} using volumetric CNNs. Equally, early studies for shape restoration often used voxels as an intermediate representation. For example, incomplete 3D scans are restored by mapping them to a 3D voxel grid and passing them to the volumetric CNNs to obtain the completed shapes~\cite{dai20173depn,varley2017robotic,wu2018learning}. Further, the popular generative adversarial network~\cite{goodfellow2014gan,radford2015unsupervised} is applied to restore voxelized shapes~\cite{wang2017shape,Hermoza2018aogan}. On the other hand, Dai~\etal~\cite{dai2019scan2mesh} converted the input voxels to an undirected graph. Then, a GCN is used on this graph structure to choose the vertices and edges for the output mesh. Unfortunately, these methods for voxelized shapes often suffer from limited output resolution due to their much memory consumption, although there are several memory-efficient network architectures for hierarchical voxel representations~\cite{wang2018aocnn,tatarchenko2017octree}.

Point clouds are another shape representation that has been intensely studied in the area of deep learning. After the groundbreaking neural network architecture of PointNet~\cite{qi2017pointnet,qi2017pointnetpp} was introduced, it has been applied to various restoration tasks such as upsampling~\cite{yu2018pu,Yifan_2019_CVPR}, denoising~\cite{rakotosaona2020pointcleannet}, and completion~\cite{chen2020unpaired,Wen2020skipattention}. A common problem of these studies is that they require reconstructing surfaces from output point clouds to constrain the output surface geometries. A popular workaround is to convert the point cloud to an implicit field defined by a deep neural network~\cite{park2019deepsdf,mescheder2019occupancy,chen2019learning}, which enables to regress the output shapes with the ground truth of the implicit representations. However, such the ground truth data is often hard to obtain, e.g., when the inside and outside of the object are unknown due to the presence of missing parts.

Different from the above two, the mesh representation requires only a relatively small number of vertices and polygons to represent even large and detailed shapes. For its efficiency, the mesh is the standard representation for graphics applications, including rendering and modeling. However, the deep learning techniques for the mesh representation have still been developing, and only a few approaches have been proposed for restoring it. For example, Wang~\etal~\cite{wang2019twostepsdenoise} train two neural networks respectively for filtering noise and recovering details. Another example is DNF-Net~\cite{li2020dnfnet} that corrects noisy surface normals using a deep neural network and recovers a denoised mesh using the surface normals. For completion, Wang~\etal~\cite{wang2020deep} applied the adaptive octree CNN~\cite{wang2018aocnn} (AO-CNN) to restore deficient meshes. However, these approaches use shape datasets to train the neural networks and can be used only for a specific purpose, such as mesh denoising and completion.

Unlike these data-driven approaches, our method is unsupervised. Furthermore, both the input and output of our method are a mesh; hence, it does not depend on any intermediate shape representations.

\section{Deep Mesh Prior}
\label{sec:deep-mesh-prior}

As the restoration problems for 2D images can be defined for pixel values, the restoration problem on meshes, i.e., denoising and completion in this paper, are defined for a function defined over the 2-manifold that may have boundaries. When we apply the DIP's framework directly to a mesh, the function should represent the vertex positions after restoration. However, as we describe in this section, this approach poorly acquires the structural patterns on the mesh because of the different properties of pixel values on the 2D image and vertex positions of the mesh.

\subsection{Problem of DIP for meshes}

DIP restores an input image by mapping another image of random values to the restored image using a CNN. Let an image $I(\bm{x})$ be a function of pixel position $\bm{x}$ and $\sigma(\bm{x})$ be another function giving random values. Then, the output image is represented by $F(\sigma(\bm{x}); \theta)$ where $F$ is a non-linear mapping defined by the CNN with a set of parameters $\theta$. DIP trains the network to solve the following optimization problem:
\begin{align}
    & \theta^{*} = \argmin_\theta \sum_{\bm{x} \in \mathcal{I}} E(\bm{x}), \label{eq:dip-optimization} \\
    & E(\bm{x}) = \| I(\bm{x}) - F(\sigma(\bm{x}); \theta) \|^2, \label{eq:dip-error-norm}
\end{align}
where $\mathcal{I}$ is a set of pixels over the entire image. DIP uses the mean squared error for pixel-wise error function $E$, whereas we can alter it arbitrarily depending on the application.

The restoration problem for a triangular mesh outputs the final vertex positions. Let us define a function $F_\mathcal{M}$ over a 2-manifold $\mathcal{M}$ corresponding to a mesh surface. Here, the 2-manifold $\mathcal{M}$ can be naturally mapped to three-dimensional Euclidean space $\mathbb{R}^3$ by an embedding $\varphi: \mathcal{M} \rightarrow \mathbb{R}^3$. Then, the error in \cref{eq:dip-optimization} can be defined equally for $\varphi$:
\begin{equation}
    E(\bm{x}) = \| \varphi(\bm{x}) - F_\mathcal{M}(\sigma(\bm{x}); \theta) \|^2,
    \label{eq:dmp-simple-optimization}
\end{equation}
where we define $F_\mathcal{M}$ using a GCN on the mesh rather than the CNN for an image.

\begin{figure}[tbp]
    \centering
    \includegraphics[width=\linewidth]{pos-dis.pdf}
    \caption{A mesh with repeating hemispherical structures colorized by (a) vertex positions and (b) vertex displacement from a smoothed mesh. The colors correspond to those represented by the orthogonal axes at the right. By subtracting the smoothed mesh from the original one, the repeating structures are extracted as the colors indicate.}
    \label{fig:pos-dis}
\end{figure}

\begin{figure*}[tbp]
    \centering
    \includegraphics[width=\linewidth]{deep_mesh_prior.pdf}
    \caption{The overview of Deep Mesh Prior for mesh completion. We initially fill the holes of an input deficient mesh so that the mesh has the same topology as an expected output mesh. Then, the Laplacian smoothing is applied to the mesh. The noise function defined over the mesh is mapped to the vertex displacement by a GCN. The displacement is finally added to the smoothed mesh to obtain the output. The GCN is trained to minimize the error between the input and the output meshes.}
    \label{fig:deep_mesh_prior}
\end{figure*}

According to the paper of DIP~\cite{ulyanov2018deep}, its good restoration performance is reasoned by the nature of neural networks more easily learning structural patterns than random ones. However, as we illustrated in \cref{fig:pos-dis}, the vertex positions in $\mathbb{R}^3$ exhibit only a weak structural pattern. Although the color in \cref{fig:pos-dis}(a) changes gradually over the mesh surface, its pattern does not correspond to the geometric structural patterns such as a repetition of hemispherical domes. 


\subsection{Deep priors for vertex displacements}

Assuming that the pixel values defined over a 2D image form a height field, DIP is the process of recovering the height field defined on a flat plane. On the other hand, imagine the earth, which we know is a sphere, a kind of 2-manifold. The terrain on the earth can also be regarded as a height field defined on the sphere. The similarity of these observations suggests that the framework of DIP can work better when applied only to the height component rather than the positions in the 3-dimensional space. We know that the height field for the earth is defined on the sphere, but in general, it is unclear on what geometry the height field is defined. Instead, the height field is defined on an abstracted shape that is given by smoothing the original geometry. Then, we estimate the displacements of the vertices from the smoothed shape in the framework of DIP.

Let $S_\mathcal{M}$ be a filtering operation, then we can write the smoothed vertex positions as $(S_\mathcal{M} \circ \varphi)(\bm{x})$. Figure~\ref{fig:pos-dis}(b) illustrates the displacements between the input positions and smoothed positions. As we can see in this figure, the structural pattern, i.e., the repetition of hemispherical domes, can be well extracted as purple colors by this subtraction.

Now, we train a GCN on the mesh to map random values $\sigma(\bm{x})$ to the vertex displacements that will be added to the smoothed mesh to obtain the output. The reconstruction error in \cref{eq:dmp-simple-optimization} is redefined for the displacement as follows:
\begin{equation}
    E(\bm{x}) = \| (\varphi(\bm{x}) - (S_\mathcal{M} \! \circ \! \varphi)(\bm{x})) - F_\mathcal{M}(\sigma(\bm{x}); \theta) \|.
    \label{eq:dmp-optimization}
\end{equation}
Note that our current implementation uses the non-squared Euclidean norm rather than the squared one in \cref{eq:dip-error-norm}. In addition, we minimize the loss function along with the Laplacian loss for mesh vertices:
\begin{equation}
E_\mathrm{lap}(\bm{x}) = \left\| |\mathcal{N}(\bm{x})| \varphi(\bm{x}) -  \sum_{\bm{y} \in \mathcal{N}(\bm{x})} \varphi(\bm{y}) \right\|,
\end{equation}
where $\mathcal{N}(\bm{x})$ is a set of neighboring vertices on the mesh. Finally, the GCN is trained to solve:
\begin{equation}
    \theta^{*} = \argmin_{\theta} \sum_{\bm{x} \in \mathcal{M}} \left( E(\bm{x}) + \lambda E_\mathrm{lap}(\bm{x}) \right),
    \label{eq:dmp-loss-function}
\end{equation}
where $\lambda$ is a parameter to balance the reconstruction error and the Laplacian loss, to which we set different values in different applications.

\begin{figure*}[tbp]
    \centering
    \includegraphics[width=\linewidth]{denoising.pdf}
    \caption{Denoising for three noisy meshes, i.e., ``Carter,'' ``Sharp sphere,'' and ``Grayloc.'' The performance of our method is compared with the state-of-the-art method for denoising (DNF-Net~\cite{li2020dnfnet}) using a large-scale dataset. Despite the independency of the large-scale dataset, our method performs comparably with or even better than the state-of-the-art method.}
    \label{fig:denoising}
\end{figure*}

We refer to this framework as Deep Mesh Prior (DMP) in honor of Deep Image Prior. Figure~\ref{fig:deep_mesh_prior} illustrates the overview of the whole processing pipeline of DMP. This overview depicts an example for mesh completion while our method can also be applied to denoising. To restore the input mesh, we first apply a set of preprocessing and smoothing. Since DMP ensures the same graph structure between the input and output meshes, we need to fill the holes to make the input mesh having the same topology as an expected output mesh. After filling the holes, the vertex positions are smoothed by $S_\mathcal{M}$. Then the noise function $\sigma(\bm{x})$ defined on the mesh manifold is mapped by the GCN to the displacement at each surface position. Finally, we obtain the output mesh by adding the displacements to the vertex positions of the smoothed mesh.

\section{Experiments}
\label{sec:experiments}

We implemented our method using PyTorch~\cite{pytorch} and PyTorch Geometric~\cite{pytorchgeometric}, which is tested on the computer with an NVIDIA GeForce TITAN X (12 GB graphics memory). For smoothing the input mesh, we used the standard Laplacian smoothing without the cotangent weight~\cite{nealen2006laplacian}, which smooths the input mesh such that only the abstract shape remains. The GCN used in this experiment consists of a series of graph-convolutional layers followed by a couple of fully connected layers. For denoising, we tested three different graph convolutional layers, i.e., spectral graph convolution~\cite{kipf2016gcn} (\texttt{GCNConv}), Chebyshev network~\cite{defferrard2016chebnet} (\texttt{ChebConv}), and mixture model network~\cite{monti2017geometric} (\texttt{GMMConv}), while tested only \texttt{GCNConv} for mesh completion. The hyperparameters for each graph convolutional layers are the same as the default values specified by PyTorch Geometric. The network parameters are optimized using Adam~\cite{Kingma2014adam}. We set the learning rate to 0.01 for denoising and 0.001 for mesh completion, while $(\beta_1, \beta_2) = (0.9, 0.999)$ for both of them. For the balancing constant $\lambda$, we used 0.2 for denoising and 0.03 for completion.

\subsection{Mesh denoising}


\begin{figure}[tbp]
    \centering
    \includegraphics[width=\linewidth]{ablation_dragon.pdf}
    \caption{Top images show the results of denoising for the ``Dragon'' model at different training steps. The changes in the MADs for DMP with and without the Laplacian loss are compared in the bottom chart. The Laplacian loss delays the MAD increasing after the local minimum, which allow us to obtain better results easily.}
    \label{fig:ablation_denoise}
\end{figure}

First, we tested the performance of our framework for denoising using three meshes, i.e., Carter, Sharp sphere, and Grayloc. Figure~\ref{fig:denoising} shows these input meshes, corresponding output, and ground truth meshes. In this figure, the performances of the state-of-the-art method, i.e., DNF-Net~\cite{li2020dnfnet}, and our method with different GCNs are qualitatively compared by the appearances of output meshes. They are also compared quantitatively using the mean angular difference (MAD) of face normals against the ground truth shapes. Note that we extracted the best MAD score among those given during 4,000 training steps. As shown in this figure, our method successfully reduces noise, and more surprisingly, its performance is comparable with DNF-Net that uses a large-scale training dataset. On the other hand, these comparisons also imply that our framework works poorly to sharp edges, which can be observed in the results of Sharp sphere. This problem is because our method only focuses on the difference of vertex positions and does not care about the direction of faces. Although a surface shape can be adequately reproduced by regressing the vertex positions when it is smooth, we may need to regress face normals and dihedral angles to reproduce the sharp edges. Even so, our framework is sufficiently valuable, considering that it is free from training with large-scale shape datasets.

Comparing the difference of GCNs used in our framework, their performances did not change significantly for Carter and Grayloc, which are comparatively smooth. In contrast, for Sharp sphere, the performance of \texttt{GMMConv} is better than those of the other two. \texttt{GMMConv} is based on anisotropic Gaussian Mixture Models on the mesh surface, while both \texttt{GCNConv} and \texttt{ChebConv} depend only on the graph structure of the mesh rather than the shape of the mesh. This difference implies \texttt{GMMConv} can be more sensitive to anisotropic geometric features such as the sharp edges of the Sharp sphere model.

When we train the GCN by more training steps than necessary, the network parameters are overfitted to reconstruct noise equally in DIP. Therefore, it is important to know the best step to terminate the training. We found that the best timing for it can be prolonged by using the Laplacian loss in \cref{eq:dmp-loss-function}. Figure~\ref{fig:ablation_denoise} shows the difference of changes in MAD with and without the Laplacian loss. As shown in the bottom chart, the curve without the Laplacian loss has a sharp local minimum, which means that terminating the training at the bottom of the hollow is difficult. In contrast, the curve with the Laplacian loss exhibits a broad and smooth local minimum. As the denoising results in the top also show it, the Laplacian loss allows us to get better results almost independently of the terminating training step.

\subsection{Mesh completion}

Mesh completion using our framework begins with filling the holes by a standard approach~\cite{liepa2003filling} to ensure that the input mesh to the GCN has the same topology with an expected output mesh. After that, we apply Laplacian smoothing to the mesh and pass it to the GCN equally as in denoising. Unlike denoising, we observed that the quality of mesh completion increases when the number of training steps increases. Therefore, for mesh completion, the GCN is trained by at least 8,000 steps until the update of the predicted displacements is sufficiently small. The error $E(\bm{x})$ in \cref{eq:dmp-optimization} is calculated only for the vertices included in the original deficient mesh because the goal positions for inserted vertices to fill the holes are unknown. Even in this way, GCN's weight sharing across the entire mesh works to move the hole-filled regions by learning the self-similarity in an unsupervised manner.

\begin{figure}[tbp]
    \centering
    \includegraphics[width=\linewidth]{comp_bumpy.pdf}
    \caption{Mesh completion for the ``Bumpy sphere'' model. Although the bumps at regions marked by green and blue rectangles are not reproduced by the initial hole filling~\cite{liepa2003filling} and Point2Mesh~\cite{hanocka2020point}, our method successfully restores the bumps while the entire shape is not the same as the ground truth.}
    \label{fig:completion}
\end{figure}

\begin{figure}[tbp]
    \centering
    \includegraphics[width=\linewidth]{comp_dragon_bimba.pdf}
    \caption{Completion for the ``Dragon'' model. As shown in this figure, the structural shapes on the Dragon's head are enhanced by our method, whereas they are ambiguous only by the initial hole filling.}
    \label{fig:completion_dragon_bimba}
\end{figure}

Figure~\ref{fig:completion} shows the results of mesh completion for a bumpy sphere with two holes. As shown in this figure, the hole regions are flat or noisy after the initial hole filling~\cite{liepa2003filling}. In contrast, the shapes of these regions are enhanced by adding the displacements predicted by the GCN. Then, the bumpy structure of the model is reproduced to be natural. Although the bumpy structure recovered by our method is different from the original mesh at the region highlighted by a green rectangle, the shape itself looks sufficiently natural in terms that two bumps are recovered to follow the repeating bumps at the regions around the hole.

We next compared our method with Point2Mesh~\cite{hanocka2020point}, which is the state-of-the-art surface reconstruction method by learning self-similarity. Since the input for Point2Mesh is a point cloud, we densely sampled 14,534 points on the input deficient mesh as we showed in \cref{fig:completion}. Unfortunately, although Point2Mesh can reconstruct a part of the surface geometry from the dense point cloud, the hole regions with no points remain flat. Furthermore, we found that Point2Mesh requires much more graphics memory than our method because it uses MeshCNN~\cite{hanocka2019meshcnn} to learn the self-similarity that consumes much more memory than standard GCNs. Consequently, the resolution of the output mesh is lower than that of our method when the same amount of graphics memory is available. 

Finally, we tested our method with a more complicated ``Dragon'' model. The result is shown in \cref{fig:completion_dragon_bimba}. As can be seen, the characteristic geometries, such as bumps on the Dragon's head, are ambiguous in the shapes just after the initial hole filling. In contrast, our method enhances these characteristic geometries so that the overall shape of the completed region suits the entire shape of Dragon.

\begin{figure*}[tbp]
    \centering
    \includegraphics[width=\linewidth]{learning_curves.pdf}
    \caption{Loss convergence for the reconstruction task using: a clean mesh, that with weak noise, and that with strong noise. We work on the reconstruction task in two ways: (a) directly predicting the vertex positions and (b) predicting the vertex displacements from the smoothed mesh.}
    \label{fig:learning_curves}
\end{figure*}

\begin{table}[tbp]
    \centering
    \begin{tabu} to \linewidth {X[1,l]X[1,c]X[1,c]X[1.2,c]}
        \toprule
        & {Input} & {Pos.} & {Disp. (DMP)} \\
        \cmidrule(r){1-1} \cmidrule{2-4}
        Carter       & 12.88 & 7.85 & \textbf{5.19} \\
        Sharp sph. & 24.81 & 8.25 & \textbf{8.20} \\
        Grayloc      & 34.99 & 9.25 & \textbf{7.84} \\
        \bottomrule
    \end{tabu}
    \caption{Comparison of the MADs for denoising results between the frameworks estimating vertex positions (Pos.) and vertex displacements (Disp.). The latter one for the displacements is equivalent to DMP.}
    \label{tab:pos-dis}
\end{table}

\subsection{Relationship to original DIP}

In DIP for 2D images, the quick fit of the neural network to structured signals is essential to enable its learning framework. Therefore, we checked whether this nature could be observed in our framework for triangular meshes. In this experiment, we prepared three meshes as inputs: a clean mesh and the same one with weak or strong noise. These three types of input mesh are shown at the left of \cref{fig:learning_curves}. As shown in this figure, the original bumpy shape of the input mesh can hardly be observed in the mesh with strong noise, whereas we can see it in that with weak noise. Analogous to DIP, we expect that the neural network can be trained more quickly to reconstruct clean and slightly noisy meshes while slowly to a strongly noisy mesh. In addition, we compare two different approaches (a) to output vertex positions and (b) to output the vertex displacement. The former corresponds to the direct application of DIP to meshes, whereas the latter corresponds to our proposed method. In this experiment, we train the network only using the reconstruction error $E(\bm{x})$ to exclude the influence of the Laplacian loss.

The charts in \cref{fig:learning_curves} show the differences in error convergence. In both approaches (a) and (b), we observed that the convergence rates for strongly noisy meshes (green curve) were significantly slower than those for clean and slightly noisy meshes (blue and orange curves, respectively). This result implies that the network parameters are fitted more quickly to represent structured features as we expected, making it possible to restore meshes using the framework of DIP. Comparing two approaches (a) and (b), we found that the error values of (b) were smaller than those of (a), particularly at the later stage of training.

The above difference of the error values can be observed in the results of denoising. Two strategies of predicting (a) vertex positions and (b) vertex displacements are compared in the MAD for three example meshes shown in \cref{fig:denoising}. The MAD scores are shown in \cref{tab:pos-dis}. The difference in the MAD scores between the two strategies implies the difficulty of predicting vertex positions as structured signals by the GCN. Thus, our method of predicting the vertex displacements is better suited to the shape restoration tasks.

\begin{figure}[tbp]
    \centering
    \includegraphics[width=\linewidth]{preprocessing.pdf}
    \caption{Different mesh appearances obtained by three mesh smoothing operations compared in \cref{tab:smooth_spherical}.}
    \label{fig:preprocessing}
\end{figure}

\begin{table}[tbp]
    \centering
    \begin{tabu} to \linewidth {X[1,l]X[1,c]X[1,c]X[1,c]}
        \toprule
        & {Unprocessed} & {Smoothed} & {Spherical}\\
        \cmidrule(r){1-1} \cmidrule{2-4}
       
        Sharp sph. & 24.80 & \textbf{8.20} & 8.59\\
       
        Dragon & 43.26 & \textbf{16.07} & 16.07\\
        Bimba & 37.09 & \textbf{5.17} & 6.91\\
        \bottomrule
    \end{tabu}
    \caption{Comparison of the MADs for denoising results obtained by different initial mesh smoothing operations.}
    \label{tab:smooth_spherical}
\end{table}

\subsection{Effect of smoothing}

In our method, the smoothing operation to the input mesh plays an important role in extracting the vertex displacements. To understand the effect of smoothing, we compared the Laplacian smoothing, which we used in the above experiment, with two other options, i.e., not processing the input and mapping to the spherical surface~\cite{gotsman2003fundamental}. Figure~\ref{fig:preprocessing} shows the meshes obtained by these three operations. In this experiment, we used ``Dragon,'' and ``Bimba'' models instead of ``Carter'' and ``Grayloc'' in \cref{fig:denoising} because the latter two are not homeomorphic to a sphere.

Table~\ref{tab:smooth_spherical} shows the comparison using the MAD given by the different smoothing operations. As shown in this table, when the input mesh is not smoothed, the input and output for the GCN are the same. Then, the GCN is immediately trained to output zero displacements. Therefore, the MAD score for the non-smoothed mesh is approximately the same as that for the noisy input mesh. On the other hand, when the input mesh is initially mapped to a spherical surface, we can obtain the MAD score close to that given by the Laplacian smoothing. However, the significant difference of the sphere and output shape delays the convergence of training. For example, for Bimba model, the best MAD score by 4,000 training steps is 6.91 as in \cref{tab:smooth_spherical} while it improves to 5.82 by 10,000 training steps. According to these observations, the smoothness of the input for the GCN is an important factor for our method, whereas over-smoothing causes slow convergence and results in a worse performance. Thus, the Laplacian smoothing is the most practical choice for the initial mesh smoothing.

\section{Conclusion}
\label{sec:conclusion}

This paper presents an unsupervised learning method for mesh restoration problems, which leverages the prior knowledge given by the GCN. We refer to the proposed method as DMP, which directly predicts a reconstruction mesh from only a single input mesh, including noise and deficient regions. Since DMP is based on the framework of DIP, it does not require pretraining and any large-scale shape dataset. Also, since DMP performs the entire process on a mesh, it does not require any intermediate shape representations to get the final output mesh. The experimental results shown in this paper demonstrate that the performance of DMP is comparable with or even higher than the state-of-the-art learning-based method using a large-scale dataset. Since our framework is sufficiently general to other shape representations, we would like to investigate the applicability of DMP to such representations for future work.

\section*{Acknowledgment}

This work is financially supported by the JSPS Grand-in-Aid for Young Researchers (JP18K18075).




{\small
\bibliographystyle{ieee_fullname}
