This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

\ConferencePaper\biberVersion\BibtexOrBiblatex\electronicVersion\PrintedOrElectronic
\teaser[Uncaptioned image]

A gallery of 3D shape skeletonization results by Coverage Axis from surface mesh input.

Coverage Axis: Inner Point Selection for 3D Shape Skeletonization

Zhiyang Dou1\orcid0000-0003-0186-8269, Cheng Lin2\orcid0000-0002-3335-6623, Rui Xu3\orcid0000-0001-8273-1808, Lei Yang1\orcid0000-0002-3284-4019, Shiqing Xin3\orcid0000-0001-8452-8723, Taku Komura1\orcid0000-0002-2729-5860, Wenping Wang4\orcid0000-0002-2284-3952
1 The University of Hong Kong 2Digital Content Technology Center, CROS, Tencent Games 3Shandong University 4Texas A&M University
Abstract

In this paper, we present a simple yet effective formulation called Coverage Axis for 3D shape skeletonization. Inspired by the set cover problem, our key idea is to cover all the surface points using as few inside medial balls as possible. This formulation inherently induces a compact and expressive approximation of the Medial Axis Transform (MAT) of a given shape. Different from previous methods that rely on local approximation error, our method allows a global consideration of the overall shape structure, leading to an efficient high-level abstraction and superior robustness to noise. Another appealing aspect of our method is its capability to handle more generalized input such as point clouds and poor-quality meshes. Extensive comparisons and evaluations demonstrate the remarkable effectiveness of our method for generating compact and expressive skeletal representation to approximate the MAT.

{CCSXML}

<ccs2012> <concept> <concept_id>10010147.10010371.10010396.10010402</concept_id> <concept_desc>Computing methodologies Shape analysis</concept_desc> <concept_significance>500</concept_significance> </concept> </ccs2012> \ccsdesc[500]Computing methodologies Shape analysis

\printccsdesc
volume: 41issue: 2

1 Introduction

With the capability of effectively capturing the underlying structures of 3D shapes, skeletal representations have been an important tool in various applications of shape analysis and geometric processing, such as 3D reconstruction [WHG*15, THP*19, ACK01], volume approximation [SKS11, SCYW13], shape segmentation [LLL*20], shape abstraction  [DXX*20], pose estimation [SFC*11, YRL*21] and animation [BP07, YYG18], etc.

Curve skeletons, consisting of only 1D curves, have been extensively researched [ATC*08, MWO03, TAOZ12, XZKS19] due to their simplicity and intuitiveness. Curve skeletons are usually empirically understood, while Dey and Sun [DS06] give a mathematical definition based on Medial Geodesic Function. Generally, the curve representation only applies to tubular components instead of arbitrary shapes, which thus cannot be considered as a generalized tool for shape analysis.

Another prominent example of skeletal representations is called the Medial Axis Transform (MAT) [Blu*67]. The MAT is defined by a union of the maximally inscribed balls inside the shape with the associated radius functions. Different from the curve skeleton, the MAT has a consistent definition for arbitrary shapes. In addition to curves, the MAT consists of both curve-like and surface-like structures thus leading to significantly better representational ability. That being said, the MAT is difficult to use which mainly manifests in two aspects. First, the MAT is notoriously sensitive to boundary noise, i.e., small perturbations on the boundary surface will result in dramatic changes on the medial axis. Second, the computation of the MAT usually relies on stringent requirements of the input geometry, such as the watertightness and manifoldness of the surface.

In this paper, we propose Coverage Axis, a novel and simple formulation to generate skeletal representations for 3D shapes. Our goal is to give a compact approximation of the MAT, while this approximation should inherit good geometric and topological properties of the MAT but overcome its aforementioned drawbacks.

We observe a medial sphere can be considered as an abstraction of local geometry, while the union of all the local geometries forms the entire shape. With this insight, our key idea is to formulate a Set Cover Problem, of which goal is to identify the smallest sub-collection of whose union equals the universe. Specifically, we aim to find the minimum number of dilated inner balls that cover sub-regions on the surface (i.e., sub-collection) to approximate the whole shape (i.e., universe).

This formulation inherently induces a compact and expressive representation that approximates the MAT. First, the coverage constraint enforces consistency with the shape structure. Second, selecting the fewest possible candidates for shape approximation not only gives a simplified representation, but also favors the interior points that dominate larger area, which corresponds to the definition of MAT, i.e., maximally inscribed spheres.

Compared to the existing methods that mainly focus on MAT simplification [ACK01, LWS*15, GMPW09, FLM03, DZ02, SFM07, MGP10], our method has several appealing aspects. First, its formulation is simple yet effective, which does not require any complex geometric processing nor a computationally-costly pipeline to derive skeletal points. Compared to metrics like QEM [GH97] and Spherical QEM [TGB13] which are used to construct the medial axes by only considering the local geometry, our set coverage formulation jointly leverages all the surface points and inner points for computing MAT approximation, which results in considering the global shape structure, and thus leads to a better abstraction of the overall shape as well as a shape-aware point distribution. More importantly, we can handle the input of poor-quality meshes or point clouds since our method is based on the coverage of point sets, while other algorithms usually rely on watertight surfaces with decent quality. Finally, our method takes as input a set of overfilled inner point candidates and selects the most expressive ones as the skeletal points; thus it does not necessarily need to compute a rigorously defined MAT, but can work with randomly generated points inside the input.

We demonstrate the effectiveness and robustness of our method on a variety of 3D shapes. The extensive evaluation results reveal that our novel and simple formulation for inner point selection effectively captures the global structure and the fundamental geometry of input shapes, thus providing informative skeletal representations to approximate the structure of the MAT.

2 Related Work

Curve skeletonization

Curve skeletonization has been extensively researched in computer vision and computer graphics. Traditional methods rely on hand-crafted rules to utilize geometric information for curved skeleton computation [AM96, MWO03, SLSK07, ATC*08, NBPF11, TAOZ12, XZKS19, CZC*20]. Specifically, Ma et al. [MWO03] applies using radial basis functions (RBFs) for skeleton extraction. Sharf et al. [SLSK07] adopt a deformable model evolution that captures the object’s volumetric shape and then generates the approximation for the curve skeleton. Au et al. [ATC*08] compute the skeleton via mesh extraction. Livesu et al. [LGS12] reconstruct the curve skeletons of 3D shapes using the visual hull.Mean Curvature Skeleton [TAOZ12] formulates the skeletonization problem via mean curvature flow, which drives the curvature flow towards the extreme so as to collapse the input mesh. The mesh collapse also induces an intermediate result called meso-skeleton that consists of both surface-like and curve-like structures. Recently, Cheng et al. [CZC*20] propose a method for skeletonization using the dual of shape segmentation.

At the same time, learning-based methods [XZKS19] have been proposed for predicting curve skeletons. Although curve skeletons are able to represent tubular shapes, it has issues representing arbitrary shapes, e.g., shapes with flat components.

Medial axis transform

As a more general skeletal representation, medial axis transform (MAT) [Blu*67] is able to encode arbitrary shapes with curve-like and mesh-like structures. The maximal balls defined in the volume together with their locii complete the representation of the shape.

The most commonly used technique for extracting MAT is to initialize the medial surface using the Voronoi diagrams. Then a simplified medial surface is achieved by applying optimization on spikes pruning or mesh tessellations based on various rules. Following this way, there are many existing approaches. Angle-based filtering methods  [ACK01, FLM03, DZ02, SFM07] reach a simplification based on the angle formed by the point of MA and its two closest points on the boundary. These methods usually produce a simplified result with local features well preserved; however, they suffer from preserving the original topology of the objects. λ\lambda-medial axis methods  [CL05, CCT11] are another series of methods to simplify the computation of MAT, which adopt cumradius of the closest points of a medial point as a pruning criterion. The main drawback of these methods is poor feature preserving ability at different scales [ABE09].

Compared with the aforementioned methods, Scale Axis Transform (SAT) [MGP10] prunes spikes more effectively. Unstable medial axis points are identified if the corresponding medial balls are covered by the neighboring medial balls during the multiplicative growing. However, SAT typically has a significant computational cost and tends to destroy the topology by introducing new topological structures at large scales. To overcome these issues, progressive medial axis filtration (PMAF) [FTB13] proposes to perform successive edge collapse based on sphere absorption to preserve the topology as well as improve time efficiency. Our idea also uses a dilated medial balls; we pay special attention to the relationship between inner balls and surface samples. Different from SAT that favors a dense representation with a large number of vertices on the medial axis, our method is able to yield a compact skeletal representation without destroying the shape structure.

Meanwhile, other strategies have been proposed to achieve simplified MAT, e.g., Delta Medial Axis (DMA) [MLM16], Bending Potential Ratio (BPR) pruning  [SBH*11], Erosion Thickness (ET) measure [YSC*16], voxelization based λ\lambda-pruning [YLJ18]. The simplified MAT, without doubt, cannot reconstruct the original shape exactly, and thus Sun et al. [SCYW13] propose to control the approximation error by computing the Hausdorff distance. Rebain et al. [RLS*21] introduce medial fields derived from the MAT to represent the original shape using learning techniques.

To achieve high accurate approximation of the original shape, Li et al. [LWS*15] propose Q-MAT that adopts quadratic error metric (QEM) [GH97] for MAT simplification. As an edge collapse method, Q-MAT is fast and produces a piecewise linear approximation of the MAT. Q-MAT collapses edges based solely on local information, which sometimes leads to unreasonable spatial distribution of vertices. Also, Q-MAT is limited to 2-manifold surface scope. Additionally, Q-MAT heavily relies on a good MAT initialization; when the initial MA is low quality, Q-MAT can not produce correct results by edge collapse. Instead, we tackle this problem from a global view, which can preserve representative inner points with relatively even spatial distribution. As our method is based on the coverage of point sets, we can handle inputs of poor-quality meshes or point clouds. Furthermore, our method, as we will demonstrate, has good adaptability to low-quality candidate points. We refer readers to [TDS*16] for a detailed survey covering various forms of skeletons.

Point cloud skeletonization

Nowadays, skeletonization of point cloud is drawing people’s attention due to the easy availability of point cloud data [And09, CTO*10, LGS12, HWC*13, RAV*19, WHG*15, YYW*20]. In particular, L1-medial skeleton [HWC*13] contracts point clouds based on locally optimal projections (LOP) [LCLT07]. LSMAT [RAV*19] takes a densely sampled oriented point set as input and computes an MAT approximation on the basis of Signed Distance Function (SDF). Wu et al. [WHG*15] associates the surface points to the inner point residing on the meso-skeleton [TAOZ12]. However, represented by unstructured points, their skeletonization lacks topological constraints. Additionally, the reconstruction results of [WHG*15] are still with large error.

With the success of deep neural networks, learning-based methods have been proposed for predicting skeletons of point clouds  [YYW*20, LLL*21]. P2MAT-NET [YYW*20] transforms sparse point cloud to an output set of spheres to approximate the medial balls. Point2Skeleton (P2S) [LLL*21] learns skeletal representations from generalized point clouds in an unsupervised manner. Learning-based methods do not guarantee accurate computation of geometric features. Furthermore, they often suffer from generalization ability due to the dependency on the training data.

3 Preliminaries

3.1 Medial Surface

[Uncaptioned image]

Given a closed, oriented and bounded two-manifold surface 𝒮\mathcal{S} in 3\mathbb{R}^{3}, medial axis is defined as the locus of the center of maximally inscribed spheres that are tangent to 𝒮\mathcal{S} at two or more points. The medial axis \mathcal{M} of 𝒮\mathcal{S}, together with its radius function \mathcal{R}, forms the medial axis transform (MAT), denoted by a pair (,)\big{(}\mathcal{M},\mathcal{R}\big{)}.

3.2 Voronoi Diagram & Power Diagram

\begin{overpic}[width=372.91345pt]{Figs/fig_VD_PD2.jpg} \put(7.0,-4.0){(a) Voronoi diagram} \put(56.0,-4.0){(b) Power diagram} \end{overpic}
Figure 1: 2D Voronoi diagram and Power diagram (solid lines) and their dual graphs: Delaunay triangulation and Regular triangulation (dashed lines). The weight of each seed in the Power diagram is visualized by a disk.

Voronoi diagram is a partition of the domain Ωd\Omega\subset\mathbb{R}^{d} into regions, close to a set of points called generators {𝐱iΩ}i=1n\{\mathbf{x}_{i}\in\Omega\}_{i=1}^{n}. Each region, also called cell, is defined as

Ωivor:{𝐱Ω|𝐱𝐱i𝐱𝐱j,ji}.\Omega_{i}^{\text{vor}}:~{}\{\mathbf{x}\in\Omega\;\big{|}\;\|\mathbf{x}-\mathbf{x}_{i}\|\leq\|\mathbf{x}-\mathbf{x}_{j}\|,j\neq i\}.

A well-known MAT initialization technique is to use the Voronoi diagram inside a model generated by sampled points on the surface.

Power diagrams [Aur87] can be viewed as an extension of Voronoi diagrams, where each generator 𝐱i\mathbf{x}_{i} is equipped with a weight wiw_{i} to control its influence. By defining the power distance dpow(x,xi)d^{\text{pow}}(x,x_{i}) between xx and the weighted generator xix_{i} to be 𝐱𝐱i2wi\|\mathbf{x}-\mathbf{x}_{i}\|^{2}-w_{i}, the cell associated with 𝐱i\mathbf{x}_{i} is defined by

Ωipow:{𝐱Ω|dpow(x,xi)dpow(x,xj),ji}.\Omega_{i}^{\text{pow}}:~{}\{\mathbf{x}\in\Omega\;\big{|}\;d^{\text{pow}}(x,x_{i})\leq d^{\text{pow}}(x,x_{j}),j\neq i\}.

A generator with a larger weight is more dominant, and when all the weights are equal, the Power diagram is reduced to a Voronoi diagram. In [ACK01], the approximate MAT structure is built based on regular triangulation, the dual of Power diagram, with the weights as squared radius of inside and outside poles (a subset of Voronoi vertices). Examples of a Voronoi diagram and a Power diagram are shown in Figure 1 respectively.

\begin{overpic}[width=433.62pt]{Figs/fig_pipeline_1.jpg} \put(5.5,5.0){(a)} \put(21.0,5.0){(b)} \put(38.0,5.0){(c)} \put(56.5,5.0){(d)} \put(73.5,5.0){(e)} \put(90.0,5.0){(f)} \end{overpic}
Figure 2: Pipeline of inner point selection. (a) Input 3D model. (b) Inner point candidates. (c) Dilated inner balls. (d) Selected dilated balls based on surface point coverage. (e) Selected inner balls with original radius. (f) Selected inner points.

4 Method

Our goal is to generate a compact skeletal representation of a given 3D shape that approximates its MAT, for capturing the fundamental structure of the shape.

Our method consists of three main steps. We first generate a set of inner points as the candidate skeletal points. Then, we introduce a novel formulation called coverage axis, which is based on the set cover problem, to find a minimal sub-collection of candidates to recover the input shape. Finally, we analyze the connectivity of the selected points to form a connected structure with edges and triangles.

4.1 Inner Points Generation

Our method starts with the generation of candidate points located inside a given 3D shape. The input to our system can be either surface meshes or point clouds with normals.

For a mesh input, following a common initialization technique, we compute the Voronoi diagram of a set of points sampled on the mesh and extract the inner points, which become the candidate points of the skeleton. The inside Voronoi diagram becomes the initial coverage axis structure.

For a point cloud input (with normals), similar to a mesh input, we first compute the Voronoi diagram w.r.t. surface samples. Then, we extract the inner points as follows. We first compute its Delaunay triangulation which is the dual of the Voronoi diagram w.r.t. the input point cloud. Consider a Voronoi vertex pp and the vertices of its dual tetrahedron p0,p1,p2p^{\prime}_{0},p^{\prime}_{1},p^{\prime}_{2} and p3p^{\prime}_{3}. The candidate pp is considered as an inner point only if we have ppin(pi)>0\overrightarrow{pp^{\prime}_{i}}\cdot\overrightarrow{n}(p^{\prime}_{i})>0, i=0,1,2,3\forall i=0,1,2,3. Here n(pi)\overrightarrow{n}(p^{\prime}_{i}) is the input normal of pip^{\prime}_{i} and \cdot is dot product. See more details in Appendix A. Note other inside-outside query methods such as [BDS*18] are also applicable.

The Voronoi-based point generation is based on principled geometric transform which can generate candidates with good quality. Nevertheless, note our method does not rely on strictly defined MAT for initialization. We can also randomly sample a set of points inside the shape and use them as skeleton candidates (see Sec. 6.1 for a detailed discussion). This property significantly enhances the flexibility of our method for handling various inputs in different applications.

Refer to caption
Figure 3: Shape approximation results of Coverage Axis. First row: the input shapes. Second row: the output skeletal representations for MAT approximation. Third row: the reconstructed shapes by the skeletal representations. Fourth row: color coding of the reconstruction error between each point in the reconstruction and the input shape, defined relative to the diagonal length of the bounding box.

4.2 Point Selection Based on Set Coverage

Given a set of elements (called universe) and its subsets whose union equals the universe, the set cover problem (SCP) is to identify the minimum sub-collection of these subsets whose union equals the universe. Inspired by this formulation, we now introduce our Coverage Axis. In the last step, we obtain a set of inner point candidates P={pi}P=\{p_{i}\}. We estimate the radii of these points R={ri}R=\{r_{i}\} as their closest distances to the boundary surface, resulting in candidate balls. Now we slightly dilate all the balls by adding a small value to their radii, i.e., ri=ri+δrr_{i}^{\prime}=r_{i}+\delta_{r}, leading to a set of dilated balls B={(pi,ri)}B=\{(p_{i},r_{i}^{\prime})\}. The dilation makes our algorithm robust to insignificant details and noise, for which we give detailed discussions later in Sec. 6.2.

Our goal is to find the minimum number of dilated balls that cover all the sampled points S={sj}S=\{s_{j}\} on the surface. For this purpose, we introduce a coverage matrix 𝐃{0,1}m×n\mathbf{D}\in\{0,1\}^{m\times n}, where mm and nn are total numbers of sampled surface points and candidate skeletal points, respectively. Each element dji{0,1}d_{ji}\in\{0,1\} of 𝐃\mathbf{D} indicates if a surface point sjs_{j} is covered by the dilated ball (pi,ri)(p_{i},r_{i}^{\prime}):

dji={1,ifpisj2ri,j=1,,m,i=1,,n0,ifpisj2>ri,j=1,,m,i=1,,n.d_{ji}=\left\{\begin{aligned} 1,&\ \text{if}\ \left\|p_{i}-s_{j}\right\|_{2}\leq r_{i}^{\prime},j=1,...,m,\ i=1,...,n\\ 0,&\ \text{if}\ \left\|p_{i}-s_{j}\right\|_{2}>r_{i}^{\prime},j=1,...,m,\ i=1,...,n.\\ \end{aligned}\right. (1)

Let 𝐯{0,1}n×1\mathbf{v}\in\{0,1\}^{n\times 1} be a decision vector, where the ii-th element vi{0,1}v_{i}\in\{0,1\} indicates if a candidate skeletal point pip_{i} is selected. Now we can derive the formulation of our 0-1 integral optimization problem:

min𝐯2s.t.𝐃𝐯𝟙,\begin{split}&\min\left\|\mathbf{v}\right\|_{2}\\ &s.t.\ \begin{array}[]{c}\mathbf{Dv}\geq\mathds{1},\\ \end{array}\end{split} (2)

where 𝟙\mathds{1} is a vector of ones and \geq is applied element-wise to the vector entries. Here we minimize the norm of the decision vector 𝐯\mathbf{v} under a certain constraint. The constraint enforces each sampled point to be covered by the selected skeletal balls, which ensures consistency between the selected skeleton and the input shape. With this simple formulation, our method allows a global consideration of the overall shape structure and effectively selects the most predominant inner candidates, giving an expressive and compact skeletal representation to faithfully capture the fundamental geometry and topology. We solve Eq. 2 using Mixed-integer linear programming (MILP) solver in Matlab (MathWorks 2021). The pipeline of inner point selection is demonstrated in Figure 2. We further discuss a series of properties of our method, e.g., centrality, robustness to noise, etc., in Sec. 6.

It is notable that the constraint in Eq. 2 does not always lead to a solution. For example, if there are points not covered by any dilated balls (assume the dilation is tiny), no solution can be found. Nevertheless, this barely happens and the fixed parameters always lead to a solution for the extensive experiments as we will show later. This is owing to the proper initialization for generating inside candidates: Voronoi Diagram or densely sampled points. Voronoi Diagram produces balls maximally inscribed to the surface, thus already giving tight-fitting candidates. The randomly generated inner points are considerably dense, of which a subset approximates the vertices of the Voronoi Diagram, and the excessive balls provide abundant candidates for solving SCP.

4.3 Connection Establishment

Once the skeletal points are determined, in this step, we analyze their connectivity to form a structured mesh. Generally, if the input is a surface mesh, the topological connections of the skeletal points are easier to be derived from the surface. However, this is difficult when the input is a point cloud that only consists of unorganized points.

Considering our method flexibly allows different input types (i.e., surface mesh and point cloud) with different candidate generation strategies (i.e., Voronoi-based and random sampling), we propose to use different ways to build the connections of skeletal points. More details can be found in Appendix B.

[Uncaptioned image]

Mesh with candidates from Voronoi diagram

This configuration usually gives the best skeletonization quality since not only the boundary surface is structured, but the inner points are derived from principled geometric transform, thus also having a good structure. Accordingly, we can obtain selected points embedded on the Voronoi diagram (the part locating inside the model). Note that such a Voronoi diagram provides a correct topological connection w.r.t. the input 3D model. We then can simplify this structure using off-the-shelf method with selected points. In this paper, we follow the edge collapse strategy of Q-MAT [LWS*15]. But the key difference is that the result selected by set coverage serves as a series of anchors; these points, like nails, are guiding the direction of further simplification so as to ensure a more reasonable distribution w.r.t. original geometry. In particular, for an edge to be collapsed, if one endpoint is not the selected point but another is, we merge the point to the selected point; if two endpoints are both selected points, we preserve this edge and skip to the next edge; if both two endpoints are not selected, we merge them to the optimal contraction target same as [LWS*15]. Meanwhile, topology preservation [DEGN98] and mesh inversion avoidance algorithm  [GH97] are applied during the collapse.

More generalized configurations

This case takes the input of either mesh or point cloud, while the candidate skeletal points can be generated by Voronoi diagrams or random sampling. Different from the first case, where both inner and outside structures are well defined, it is challenging to derive precise topological connections of the skeletal points. We seek for an approximation of the MAT connection similar to [ACK01] as follows.
Suppose P+P^{+} is the set of all selected points by set coverage. Let SS denotes the set of the surface. We then compute the Power diagram PD on the set of {B(pi,ri),piP+}{B(sj,δr),sjS}\{B^{\prime}(p_{i},r_{i}^{\prime}),p_{i}\in P^{+}\}\cup\{B(s_{j},\delta_{r}),s_{j}\in S\} and establish the connection by extracting edges among the selected inner points on the dual of PD, regular triangulation RT. In order to suppress over-connection, we up-sample on the input point cloud following [HWG*13], leading to 3000030000 surface samples. These points are treated as surface points in RT during connection establishment. Note that rr^{\prime} can be adjusted accordingly during the computation of RT to achieve flexible control over the connection.

5 Experimental Results

In this section, we conduct qualitative and quantitative evaluations of the proposed method to comprehensively demonstrate its effectiveness. We implement and experiment on a computer with a 4.00 GHz Intel(R) Core(TM) i7-6700K CPU and 16 GB memory. The size of all the models are normalized to the [0,1][0,1] range.

All the experimental results are generated using a consistent parameter setting, i.e., for all kinds of input, we always set δr=0.02\delta_{r}=0.02. For a mesh input, we sample |C|=4000|C|=4000 points from the surfaces. The resulting set is denoted by CC and is used to compute the Voronoi diagram, whose vertices inside the input mesh serve as candidate inner points set, denoted by PP. Then we sample |S|=1500|S|=1500 surface points as the set SS to be covered in the SCP. Here |S||S| is set to be less than |C||C| to reduce the computational cost (see Sec. 6.5 for a detailed evaluation). The input point clouds all have 20002000 points, and thus we have |S|=|C|=2000|S|=|C|=2000. Detailed analyses on these parameters δr,S,C\delta_{r},S,C and PP are given in Sec. 6.4.

As for evaluation metrics, besides one-sided Hausdorff distance (HD) from the input surface to the surface reconstructed by the skeleton that is employed by Q-MAT [LWS*15], we adopt two-sided Hausdorff distance since the former is not informative to fully reveal the consistency between two surfaces. We use ϵ\overrightarrow{\epsilon} to denote the HD from surface to reconstruction, ϵ\overleftarrow{\epsilon} to denote the HD from reconstruction to surface, and ϵ\overleftrightarrow{\epsilon} to represent two-sided HD.

We show a set of qualitative results on various 3D shapes in Figure Coverage Axis: Inner Point Selection for 3D Shape Skeletonization. The shape approximation results are shown in Figure 3. The reconstruction results are obtained by interpolating the medial balls based on the skeleton connectivity similar to [LWS*15]. Please refer to the Appendix for more implementation details.

5.1 Coverage Axis from Mesh Input

We conduct comparisons with representative MAT simplification methods including Q-MAT [LWS*15] and SAT [MGP10]. The errors are scaled by the length of the diagonal of the input model bounding box.

Comparison with Q-MAT [LWS*15]

For a fair comparison, the number of vertices in the medial axis are set the same for both methods. The quantitative results are reported in Table 1. It can be seen that our method is comparable with or better than Q-MAT in terms of reconstruction error. Additionally, we conduct comparisons with Q-MAT on the robustness against the input noise, whose results are given in Sec. 6.2.

From the experiments, it is revealed that the problem with Q-MAT is that it may yield an uneven distribution of inner points in parts where the geometry is similar (Figure 4 (a) first and second row). This is because the edge collapse strategy of Q-MAT is solely based on local approximation errors, which lacks the global constraints of the whole geometry. This problem is even worse once a highly simplified representation is needed.

Table 1: Quantitative comparison on shape approximation error between Q-MAT and Coverage Axis.
Model |V||V| Q-MAT Coverage Axis
ϵ\overrightarrow{\epsilon} ϵ\overleftarrow{\epsilon} ϵ\overleftrightarrow{\epsilon} ϵ\overrightarrow{\epsilon} ϵ\overleftarrow{\epsilon} ϵ\overleftrightarrow{\epsilon}
Ant-1 4646 2.011%2.011\% 2.236%2.236\% 2.236% 2.894%2.894\% 2.601%2.601\% 2.894%2.894\%
Armodillo 9595 4.178%4.178\% 2.125%2.125\% 4.178%4.178\% 2.947%2.947\% 2.793%2.793\% 2.947%
Bird 5454 0.954%0.954\% 1.539%1.539\% 1.539% 1.682%1.682\% 1.816%1.816\% 1.816%1.816\%
Bunny 106106 2.127%2.127\% 2.596%2.596\% 2.596%2.596\% 2.526%2.526\% 2.496%2.496\% 2.526%
Chair-1 7979 1.413%1.413\% 1.534%1.534\% 1.534% 2.246%2.246\% 1.976%1.976\% 2.246%2.246\%
Crab 5858 1.422%1.422\% 1.794%1.794\% 1.794%1.794\% 1.458%1.458\% 1.759%1.759\% 1.759%
Cup 132132 1.213%1.213\% 2.481%2.481\% 2.481% 2.599%2.599\% 2.636%2.636\% 2.636%2.636\%
Desk 151151 1.068%1.068\% 1.930%1.930\% 1.930% 2.273%2.273\% 2.164%2.164\% 2.273%2.273\%
Dog 4949 2.582%2.582\% 3.266%3.266\% 3.266%3.266\% 2.077%2.077\% 1.850%1.850\% 2.077%
Fertility 7979 3.016%3.016\% 4.259%4.259\% 4.259%4.259\% 2.703%2.703\% 2.377%2.377\% 2.703%
Fish 5353 2.336%2.336\% 1.764%1.764\% 2.336%2.336\% 2.325%2.325\% 2.281%2.281\% 2.325%
Hand-1 4242 1.594%1.594\% 1.780%1.780\% 1.780%1.780\% 1.334%1.334\% 1.750%1.750\% 1.750%
Hand-2 6060 1.203%1.203\% 1.747%1.747\% 1.747%1.747\% 1.715%1.715\% 1.716%1.716\% 1.716%
Human-1 4545 3.231%3.231\% 1.929%1.929\% 3.231%3.231\% 2.729%2.729\% 2.644%2.644\% 2.729%
Human-2 4646 1.614%1.614\% 1.572%1.572\% 1.614%1.614\% 1.498%1.498\% 1.526%1.526\% 1.526%
Human-3 6161 2.265%2.265\% 1.561%1.561\% 2.265%2.265\% 1.788%1.788\% 1.707%1.707\% 1.788%
Kitten 4545 2.490%2.490\% 2.309%2.309\% 2.490% 2.875%2.875\% 2.893%2.893\% 2.893%2.893\%
Octopus-1 4949 1.811%1.811\% 1.845%1.845\% 1.845%1.845\% 1.825%1.825\% 1.836%1.836\% 1.836%
Octopus-2 6868 2.356%2.356\% 1.765%1.765\% 2.356%2.356\% 2.256%2.256\% 2.316%2.316\% 2.316%
Pig 5656 2.503%2.503\% 2.420%2.420\% 2.503%2.503\% 2.107%2.107\% 2.183%2.183\% 2.183%
Plane 5353 1.108%1.108\% 1.184%1.184\% 1.184% 1.430%1.430\% 1.424%1.424\% 1.430%1.430\%
Snake 3939 1.183%1.183\% 1.639%1.639\% 1.639%1.639\% 1.335%1.335\% 1.623%1.623\% 1.623%
Spectacle 4545 2.191%2.191\% 1.061%1.061\% 2.191%2.191\% 2.133%2.133\% 1.542%1.542\% 2.133%
Bear 3232 2.348%2.348\% 2.619%2.619\% 2.619% 3.185%3.185\% 3.229%3.229\% 3.229%3.229\%
Vase 106106 2.906%2.906\% 2.453%2.453\% 2.906% 3.183%3.183\% 2.954%2.954\% 3.183%3.183\%
Average - 2.045%2.045\% 2.056%2.056\% 2.341%2.341\% 2.205%2.205\% 2.164%2.164\% 2.264%
  • 1

    |V||V| The number of skeletal points.

  • 2

    ϵ\overrightarrow{\epsilon} One-sided HD from surface to reconstruction.

  • 3

    ϵ\overleftarrow{\epsilon} One-sided HD from reconstruction to surface.

  • 4

    ϵ\overleftrightarrow{\epsilon} Two-sided HD between original surface and reconstruction.

Refer to caption
Refer to caption

(a) Q-MAT (b) Coverage Axis

Figure 4: Comparison between Q-MAT and Coverage Axis on the quality of the generated medial surfaces. Note that the number of vertices is same.
\begin{overpic}[width=433.62pt]{Figs/fig_qmat_failure2.jpg} \put(9.0,-5.0){(a) Input Mesh} \put(44.0,-5.0){(b) Q-MAT} \put(72.0,-5.0){(c) Coverage Axis} \end{overpic}
Figure 5: Comparison with Q-MAT for poor-quality mesh that can fail the construction of Voronoi Diagram.

In contrast, our method effectively leverages the global geometric and topological features of the input shape for skeleton generation. The point selection step jointly considers the overall input points and candidates, while the selected expressive points are used as fixed anchors to preserve the global topology. Hence, the skeletal representations generated by our method are equipped with shape-aware point distributions as well as connectivity.

It is worth noting that Q-MAT heavily relies on the quality of the input mesh and the initial Voronoi diagram to compute the medial axis skeleton. In contrast, our method does not have this restriction. Figure 5 shows a group of examples where Q-MAT yields incorrect structures due to the failure of initialization caused by the poor mesh quality, where our algorithm successfully gives the proper skeletal representation.

Comparison with SAT [MGP10]

One of the main setbacks of this method is that SAT favors a dense representation with a large number of vertices, thus incapable of generating a simple and compact skeleton for shape abstraction. In this comparison with SAT, we test different values of its scaling factor, i.e., α=1.1\alpha=1.1, 1.51.5 and 2.02.0. The qualitative and quantitative comparison results are shown in Figure 7. On the one hand, despite high accuracy yielded by SAT using smaller α\alpha, its representation has a large number of vertices (Figure 7 (a-c)). This redundant representation is not amenable for various applications that require skeleton to be simple and expressive, e.g., shape matching and retrieval [SSGD03], skeletal animation [MLT88], animated mesh approximation [YYG18, TGBE16], etc. On the other hand, using a larger α\alpha for a higher abstraction level destroys the shape structure and causes large approximation errors. Our method, on the contrary, provides trade-offs across fidelity, efficiency and compression abilities.

Both Q-MAT and SAT can only excel at handling watertight surface meshes. As aforementioned, the surface mesh input allows robust computation of the Voronoi diagram, which offers good structural information from both inside and outside. Instead, generating skeletal representations for point clouds is more challenging and beyond the capacity of these methods. Our method is able to take unstructured point sets as input and generate skeletal representations of which connected structures are recovered. We will evaluate this property of our method in the following section.

\begin{overpic}[width=424.94574pt]{Figs/fig_pc.jpg} \put(-1.0,42.0){\rotatebox{90.0}{Point2Skeleton}} \put(-1.0,26.0){\rotatebox{90.0}{DPC}} \put(-1.0,3.0){\rotatebox{90.0}{Coverage Axis}} \end{overpic}
Figure 6: Comparison with existing shape skeletonization methods for point clouds.

5.2 Coverage Axis from Point Cloud Input

For point cloud input, we compare with two closely relevant methods: Deep Point Consolidation (DPC) [WHG*15] and Point2Skeleton [LLL*21], given that these two methods can also predict MAT-based skeletons directly from point clouds. Note Point2Skeleton is a deep learning-based method that requires training from a large amount of data.

α=1.1\alpha=1.1

[Uncaptioned image]

|V|=91k|V|=91\text{k}

ϵ=2.021%\epsilon=2.021\%

[Uncaptioned image]

|V|=64k|V|=64\text{k}

ϵ=1.688%\epsilon=1.688\%

[Uncaptioned image]

|V|=110k|V|=110\text{k}

ϵ=1.883%\epsilon=1.883\%

[Uncaptioned image]

|V|=55k|V|=55\text{k}

ϵ=1.743%\epsilon=1.743\%

[Uncaptioned image]

|V|=61k|V|=61\text{k}

ϵ=1.336%\epsilon=1.336\%

α=1.5\alpha=1.5

[Uncaptioned image]

|V|=38k|V|=38\text{k}

ϵ=6.858%\epsilon=6.858\%

[Uncaptioned image]

|V|=47k|V|=47\text{k}

ϵ=3.556%\epsilon=3.556\%

[Uncaptioned image]

|V|=56k|V|=56\text{k}

ϵ=2.735%\epsilon=2.735\%

[Uncaptioned image]

|V|=26k|V|=26\text{k}

ϵ=2.507%\epsilon=2.507\%

[Uncaptioned image]

|V|=37k|V|=37\text{k}

ϵ=2.953%\epsilon=2.953\%

α=2.0\alpha=2.0

[Uncaptioned image]

|V|=16k|V|=16\text{k}

ϵ=8.581%\epsilon=8.581\%

[Uncaptioned image]

|V|=58k|V|=58\text{k}

ϵ=4.455%\epsilon=4.455\%

[Uncaptioned image]

|V|=28k|V|=28\text{k}

ϵ=6.690%\epsilon=6.690\%

[Uncaptioned image]

|V|=11k|V|=11\text{k}

ϵ=4.662%\epsilon=4.662\%

[Uncaptioned image]

|V|=26k|V|=26\text{k}

ϵ=4.290%\epsilon=4.290\%

offset=0.020.02

Refer to caption

|V|=106|V|=106

ϵ=3.183%\epsilon=3.183\%

Refer to caption

|V|=42|V|=42

ϵ=1.750%\epsilon=1.750\%

Refer to caption

|V|=79|V|=79

ϵ=2.703%\epsilon=2.703\%

Refer to caption

|V|=49|V|=49

ϵ=2.077%\epsilon=2.077\%

Refer to caption

|V|=58|V|=58

ϵ=1.759%\epsilon=1.759\%

Figure 7: Qualitative comparison with SAT. (a-c) SAT with mesh input. (d) Coverage Axis with mesh input. Note that Coverage Axis (ours) achieves trade-offs across fidelity, efficiency and compression abilities compared with SAT.

(a) (b) (c) (d)

Comparison with Deep Point Consolidation [WHG*15]

As shown in Figure 6 and Table 2, this method can only produce unstructured inner points without connections. Although the skeletons generated by DPC have denser points, the reconstruction results still exhibit large errors. Even worse, the reconstructed topologies by deep point consolidation are usually inconsistent with the original input. In contrast, our reconstruction results reach better approximation accuracy with respect to the original geometry using fewer skeletal points.

Comparison with Point2Skeleton [LLL*21]

More recently, using deep neural networks to predict skeletal representations from point clouds is beginning to be studied. Point2Skeleton [LLL*21] is a representative approach that directly learns skeletal representations from point clouds based on the MAT in an unsupervised manner. We use their pre-trained network on a large quantity of data for comparison.

Table 2: Quantitative comparison on shape approximation errors among Point2Skeleton (P2S), Deep Point Consolidation (DPC) and Coverage Axis.
Model P2S DPC Coverage Axis
|V||V| ϵ\overleftrightarrow{\epsilon} |V||V| ϵ\overleftrightarrow{\epsilon} |V||V| ϵ\overleftrightarrow{\epsilon}
Ant-2 100100 16.412%16.412\% 11941194 8.863%8.863\% 5858 2.350%
Bottle 100100 2.955%2.955\% 11941194 2.752% 1414 2.956%2.956\%
Chair-2 100100 6.552%6.552\% 11941194 4.807%4.807\% 8989 2.890%
Dog 100100 6.047%6.047\% 11941194 5.237%5.237\% 4949 2.174%
Dolphin 100100 5.925%5.925\% 11941194 7.916%7.916\% 4949 1.971%
Fertility 100100 8.162%8.162\% 11941194 4.226%4.226\% 7979 3.428%
Guitar 100100 2.052%2.052\% 11941194 3.231%3.231\% 6060 2.032%
Hand-1 100100 9.672%9.672\% 11941194 4.110%4.110\% 4444 3.441%
Human-2 100100 6.517%6.517\% 11941194 4.758%4.758\% 4444 1.667%
Kitten 100100 8.724%8.724\% 11941194 5.332%5.332\% 5050 3.450%
Snake 100100 15.021%15.021\% 11941194 1.736%1.736\% 4040 1.309%
Average - 8.003%8.003\% - 4.815%4.815\% - 2.515%
  • 1

    |V||V| The number of skeleton points.

  • 2

    ϵ\overleftrightarrow{\epsilon} Two-sided HD between original surface and reconstruction.

Figure 6 as well as Table 2 show the comparison results. Note that Guitar and Chair-2 are from ShapeNet [CFG*15] dataset which is used for training Point2Skeleton. First, an obvious problem with Point2Skeleton is their limited generalization abilities; despite being trained on numerous data, it still generates unsatisfactory results for unseen shapes. Furthermore, it performs poorly on models with higher topology complexity, e.g., input with more than genus one. Also, the neural network shows incapability for capturing the properties of geometric transforms, such as the centrality of skeletal points. Conversely, our approach is robust to various shapes and can produce high-quality skeletal representations that have accurate geometries and faithful structures.

6 Discussions

In this section, in order to provide more insights and have better understandings of the proposed algorithm, we further give an in-depth analysis of some interesting properties of the Coverage Axis.

6.1 Centrality and Random Initialization

A good skeleton requires each skeletal point to be located at the center of its corresponding local geometry. Our method is able to effectively select the local centers for generating the skeletal representation. This property also enables our algorithm to handle randomly generated inner points instead of relying on computing the strictly defined Voronoi diagram as an input. In this section, we elaborate on this centrality property of our point selection strategy.

Refer to caption
Figure 8: Skeletal point selection results from randomly sampled inner candidates. The blue points are candidate points generated by randomly sampling, while the orange points are selected points by our algorithm.

We first generate the point candidates by randomly sampling inside the shape and then applying our point selection algorithm introduced in Sec 4.2. The number of randomly generated inner points is 1000010000, and the offset is set to 0.020.02. A selection of results from these randomly generated points are shown in Figure 8. Thanks to the idea of optimal set coverage, it can be observed that the selected points are located at the centers of local geometry, even if the initial points are derived by random sampling. An evaluation of the influence of different randomly generated candidate inner point numbers |P||P| for centrality is given in Figure 9. We find different numbers of candidate inner points do not show a large influence on the centrality.

In the following, we give an analysis of the rationale of the centrality property of our algorithm. Recall in Eq. 2, the constraint of the optimization is that the union of dilated balls needs to cover the sampled surface points. As explained in Sec. 6.4, the dilated radius should not deviate too much from the original radius, which means rrr^{\prime}\approx r. Consider a local shape shown in Figure 10. The coverage goal of one candidate point PaP_{a} is defined by its farthest distance to the local geometry, e.g., dad_{a}, given that all the surface samples are covered only if the farthest sample is covered. According to the definition of inner balls, the coverage ability is determined by its radius rar_{a} (note that we have rarar_{a}^{\prime}\approx r_{a}), which is actually the distance to the nearest surface samples of the local geometry.

\begin{overpic}[width=433.62pt]{Figs/fig_ablation_center.jpg} \put(5.0,-4.0){$|P|=5000$} \put(28.0,-4.0){$|P|=10000$} \put(53.0,-4.0){$|P|=20000$} \put(79.0,-4.0){$|P|=30000$} \end{overpic}
Figure 9: Effect of different numbers of randomly generated inner points on the centrality of the selected points. The blue points are randomly generated inner points while red points are selected skeletal points.
Refer to caption
Figure 10: Illustration of the coverage of local geometry using medial balls. The orange points are surface samples. Balls centered at PaP_{a} and PbP_{b} are two candidate inner balls. The dilated balls are plotted using dashed circle.

The goal of finding the minimum number of dilated balls to cover all surface samples can be viewed as selecting those points with the most powerful coverage ability (cover all the target samples). That to say, its radius rar_{a} should be as equal as possible to the distance to farthest point dad_{a} so that we have radar_{a}^{\prime}\geq d_{a} which satisfies the coverage constraint. Those balls whose radii are close to the distance to the farthest point that needs to be covered will be preferred during optimization. Note that radar_{a}\approx d_{a} is consistent with the definition of the medial axis, which is intrinsically a set of centers of maximally inscribed spheres. In this case, the inner point PbP_{b} is preferred for the local geometry coverage since dbrb<darad_{b}-r_{b}<d_{a}-r_{a}. Note that we always have dbrbd_{b}\geq r_{b}. Finally, as shown in Figure 10, PbP_{b} is a better approximation than PaP_{a} of skeleton point and will be selected by our strategy.

6.2 Robustness to Noise

\begin{overpic}[width=433.62pt]{Figs/fig_noise.jpg} \put(4.0,-3.0){(a) Input model} \put(20.0,-3.0){(b) Q-MAT, $|V|=87$} \put(37.5,-3.0){(c) Coverage Axis, $|V|=87$} \put(60.0,-3.0){(d) Q-MAT, $|V|=61$} \put(77.5,-3.0){(e) Coverage Axis, $|V|=61$} \put(24.0,-5.5){$\overleftrightarrow{\epsilon}=2.03\%$} \put(43.5,-5.5){$\overleftrightarrow{\epsilon}=1.21\%$ } \put(64.0,-5.5){$\overleftrightarrow{\epsilon}=2.08\%$ } \put(83.0,-5.5){$\overleftrightarrow{\epsilon}=1.25\%$ } \put(44.1,-7.5){$\delta_{r}=0.015$ } \put(83.6,-7.5){$\delta_{r}=0.02$} \end{overpic}
Figure 11: Comparison with Q-MAT on the robustness to surface noise. (a) Input model. (b)(c) and (d)(e) correspond to comparisons at different simplification levels.

We evaluate the robustness of our method to surface noise. We compare with Q-MAT [LWS*15], which has the state-of-the-art performance in terms of approximation accuracy and goodness of structure (i.e., compactness and shape awareness). The number of vertices of the skeletal points are set the same for both methods. As shown in Figure 11, given noisy input, our method can still preserve the main features and achieve relatively high-precision shape approximation with a compact representation. The robustness mainly owes to the ball dilation strategy as well as the formulation based on global coverage. The dilated balls cover the insignificant details cause by local perturbations, while the overall coverage formulation gives a high-level optimization rather than focusing on local details. In contrast, Q-MAT [LWS*15], which uses step-by-step edge collapse based on local errors, cannot capture the fine details when the input surface has great noise.

6.3 Dilation Strategy

Refer to caption

(a) (b)

Figure 12: Effect on different ball dilation strategies: (a) offset, (b) scaling.

As aforementioned, the relationship between inner points and surface is built by the coverage, which is achieved by dilating the medial radius. There are two typical ways for inner ball dilation. One is by adding a specified value δr\delta_{r} to the radius of each ball. The other is to scale the ball by multiplying the radius by a factor σr\sigma_{r}. We now discuss the effect of these two dilation strategies. To facilitate the discussion, we refer to the first way as offset and the second as scaling.

We take the model Octopus and Ant-3 as examples. Let rr and rr^{\prime} denote the original medial radius and dilated medial radius respectively. For the offset manner, we set r=r+δrr^{\prime}=r+\delta_{r} where δr=0.02\delta_{r}=0.02, while for the scaling manner, we set r=r×σrr^{\prime}=r\times\sigma_{r} with σr=1.5\sigma_{r}=1.5.

As shown in Figure 12, the offset manner tends to generate selected points that are distributed more evenly, while the scaling manner can distinguish parts that have different radii, which leads to relatively large gap around the joints of different parts (as shown in the box region). The reason behind this is, adding a constant value is independent of the original radius, but the scaling makes the larger ball dilate more and control more area, which results in part differentiation.

6.4 Parameter Analysis

Dilation Factor

The dilation factor δr\delta_{r} is an important parameter that controls the simplicity of the output skeleton. In the following, we discuss the effect of different values of the parameter δr\delta_{r}. We use the Femur model as an example for demonstration, whose results are shown in Figure 13.

Obviously, a larger radius enables a ball to cover more surface points, which allows the algorithm to use fewer inner balls to cover the whole geometry. Therefore, a larger δr\delta_{r} will lead to a higher simplified skeletal representation that captures less geometric details. Actually, the premise that we use surface information for simplification is that the envelope formed by dilated balls should not deviate significantly from the geometry of the input shape. On the one hand, we recommend not setting an excessively large δr\delta_{r}, as this leads to the over-dilated balls of which union are inconsistent with the original shape structure. On the other hand, δr\delta_{r} being too small is also discouraged because it runs counter to the simplicity and compactness, which are related requirements for a skeletal representation. In this paper, we always set δr=0.02\delta_{r}=0.02 for our experiments.

Refer to caption

(a) |V|=47|V|=47 (b) |V|=24|V|=24 (c) |V|=13|V|=13 (d) |V|=7|V|=7
δr=0.01\delta_{r}=0.01 δr=0.02\delta_{r}=0.02 δr=0.05\delta_{r}=0.05 δr=0.1\delta_{r}=0.1

Figure 13: Simplification results using different dilation offsets. The first row and second row are simplification results and selected dilated coverage balls, respectively. We use |V||V| to denote the number of vertices in the result and δr\delta_{r} is the offset added to the original radius.

Surface points and inner points.

To investigate the influence of the number of surface points |S||S| and candidate inner points |P||P| (note it is determined by |C||C|, i.e., the number of samples to compute Voronoi diagram) on the algorithm performance, we conduct comprehensive experiments. We find that these two parameters do not show a significant influence on the selected point number |V||V| and the quality of the resulting medial mesh. See more details in Appendix C. However, it has more effect on the time efficiency, for which a detailed analysis is given in Sec. 6.5.

6.5 Time Efficiency

We further discuss the time efficiency of our point selection strategy. The statistics is summarized in Table 3. We use Mixed-integer linear programming (MILP) solver in MATLAB (MathWorks 2021) on the platform explained in Sec 5.

As aforementioned, the experiments are conducted with mesh input using 15001500 surface point samples, candidate inner points generated by 40004000 surface samples. The dilation offset is set to 0.020.02. It can be viewed from Table 3 that the point selection only takes a few seconds for most shapes. For some cases, the complexity of the searching space of the Set Coverage problem may increase, which leads to one to two minutes of running time. The average running time for all the samples is 16.416.4 s.

Table 3: Evaluation of the running time (s) of inner point selection.
Model |P||P| |V||V| Time (s) Model |P||P| |V||V| Time (s)
Ant-1 1349013490 4646 2.82.8 Hand-1 1547515475 4242 6.76.7
Armadillo 1234812348 9595 5.45.4 Hand-2 1366513665 6060 48.848.8
Kitten 1371813718 4545 36.236.2 Human-1 1302313023 4545 0.90.9
Bunny 1483714837 106106 10.110.1 Horse 1313513135 6767 9.39.3
Crab 1397113971 5858 3.33.3 Octopus-1 1343213432 4949 0.30.3
Camel 1280712807 7979 4.94.9 Octopus-2 1331513315 6868 0.40.4
Dog 1262312623 4949 13.113.1 Pig 1323813238 5656 12.112.1
Dolphin 1399813998 4343 55.455.4 Pliers 1309713097 3131 0.90.9
Duck 1729217292 2525 42.342.3 Snake 1416014160 3939 0.20.2
Elephant 1250312503 8787 7.87.8 Spider 1301213012 6262 15.515.5
Eight 1639316393 2828 16.116.1 Spectacle 1123511235 4545 19.219.2
Fish 1327913279 5353 42.142.1 Bear 1346613466 3232 23.723.7
Fertility 1348613486 7979 34.534.5 Vase 1317413174 106106 35.235.2
Femur 1401814018 2424 2.12.1 Venus 1436214362 3636 9.79.7
Average 16.416.4
Table 4: Running time (with resulting vertex number in brackets) comparison (in seconds) with different methods using mesh and point cloud inputs.
Model Mesh Input Point Cloud Input
Q-MAT SAT Ours DPC P2S Ours
Ant-1 3.1(46)3.1~{}(46) 38.2(20k)38.2~{}(20\text{k}) 5.1(46)5.1~{}(46) 6.1(1094)6.1~{}(1094) 3.2(100)3.2~{}(100) 6.3(46)6.3~{}(46)
Bunny 24.6(106)24.6~{}(106) 63.7(13k)63.7~{}(13\text{k}) 14.9(106)14.9~{}(106) 7.2(1094)7.2~{}(1094) 3.3(100)3.3~{}(100) 18.4(106)18.4~{}(106)
Horse 35.1(67)35.1~{}(67) 52.8(12k)52.8~{}(12\text{k}) 11.5(67)11.5~{}(67) 8.2(1094)8.2~{}(1094) 3.4(100)3.4~{}(100) 12.4(67)12.4~{}(67)
Pig 20.5(56)20.5~{}(56) 67.1(13k)67.1~{}(13\text{k}) 14.3(56)14.3~{}(56) 6.6(1094)6.6~{}(1094) 3.2(100)3.2~{}(100) 14.1(56)14.1~{}(56)
Venus 12.7(36)12.7~{}(36) 57.5(8k)57.5~{}(8\text{k}) 13.7(36)13.7~{}(36) 7.1(1094)7.1~{}(1094) 3.2(100)3.2~{}(100) 15.1(36)15.1~{}(36)

Table 3 also reveals the difference in running time for various shapes, where the difference is because the complexity of the solution space in SCP varies for different geometries. Generally, solving for the coverage of plate-like geometries is more complex than tube-like ones, since the plate-like models have more eligible candidates that satisfy the coverage constraints, which leads to a larger search space during optimization. Since many shapes consist of both tube-like and plate-like structures, there is a variation in running times. We further report running time comparison in Table 4.

SCP is a known NP-Hard problem [Har82] and its running time complexity is O(|P|22|S|)O(|P|^{2}2^{|S|}) where |P||P| and |S||S| are the number of candidate inner points and surface points, respectively. To investigate the influence of |S||S| and |P||P| on running time efficiency and the resulting number of selected skeletal points |V||V|, we conduct additional experiments of which results are summarized in Table 1 and Table 2 respectively. We adopt the Octopus-1 model for evaluation. We fix |C|=4000|C|=4000 in Table 1 and |S|=1500|S|=1500 in Table 2. From the results, both |S||S| and |P||P| do not show a significant influence on the selected vertex number. However, |S||S| has a larger impact on the running time, while |P||P| shows less effect, which is consistent with the aforementioned analysis of time complexity.

Table 5: Effect of different numbers of surface samples |S||S| on selected point number and running time efficiency.
|S||S| |V||V| Time (s)
500500 4747 0.250.25
15001500 4949 0.290.29
25002500 4949 0.340.34
35003500 4949 0.730.73
45004500 4949 0.980.98
55005500 4949 1.331.33
65006500 4949 2.442.44
75007500 4949 3.243.24
85008500 4949 4.224.22
Table 6: Effect of different numbers of inner point candidates |P||P| on selected point number and running time efficiency. CC denotes surface samples used for generating candidate inner points.
|C||C| |P||P| |V||V| Time (s)
10001000 29642964 4848 0.080.08
20002000 68946894 4949 0.180.18
30003000 1077610776 4949 0.280.28
40004000 1343213432 4949 0.310.31
50005000 1674916749 4949 0.490.49
60006000 2230122301 4949 0.820.82
70007000 2616126161 4949 1.231.23
80008000 2985929859 4949 1.431.43
90009000 3365133651 4949 1.651.65
Table 7: Additional evaluations on time efficiency. We show the running time (s) of point selection from randomly generated candidates using different ball dilation strategies.
Model Ant-2 FEMUR Hand-2 Fertility
Offset 0.0150.015 0.020.02 0.0250.025 0.030.03 0.0150.015 0.020.02 0.0250.025 0.030.03 0.0150.015 0.020.02 0.0250.025 0.030.03 0.0150.015 0.020.02 0.0250.025 0.030.03
Selected points 9898 5959 4848 3434 3939 2626 2121 1717 8686 6363 5757 3838 153153 8282 6262 4949
Time (s) 3.23.2 2.12.1 8.18.1 7.57.5 3.33.3 2.22.2 1.21.2 0.30.3 19.519.5 15.815.8 10.210.2 9.89.8 21.021.0 17.417.4 9.39.3 10.710.7
Scaling 1.51.5 1.751.75 22 2.252.25 1.51.5 1.751.75 22 2.252.25 1.51.5 1.751.75 22 2.252.25 1.51.5 1.751.75 22 2.252.25
Selected points 9898 7777 6262 4949 3030 1717 1212 1010 6565 3131 2222 1818 8080 6464 4040 3131
Time (s) 3.13.1 1.41.4 0.90.9 0.40.4 0.40.4 0.80.8 1.71.7 0.30.3 0.70.7 3.33.3 3.23.2 2.52.5 0.70.7 0.50.5 0.70.7 1.61.6

To evaluate the time efficiency for different algorithm settings, we conduct an additional experiment where the initial candidate points are generated by random sampling. Here, we randomly sample 1000010000 points inside a shape and test the time efficiency using two different dilation strategies and different dilation factors. The results are given in Table  7. It can be observed the running time is stable in different configurations.

7 Additional Features of Coverage Axis

In this section, we analyze some of the other interesting features of our method, including the ability to handle large models and the flexibility of user-specified point control.

7.1 Divide and Conquer Strategy for Large Models

Since the set coverage problem is NP-hard, the action space grows exponentially with respect to the number of surface points. Fortunately, an interesting feature of the proposed method is the flexibility in handling large complex models. The overall insights lie in the combination of divide and conquer strategy and our set coverage formulation. In this case, we take a mesh model with Voronoi initialization for explanation.

The first step is decomposing a mesh into smaller and meaningful sub-meshes with some existing methods, e.g., [YL21, HHF*19]. Then we have surface samples divided into several subsets S1,S2,,SnS_{1},S_{2},...,S_{n} where nn is the number of surface components. According to the correspondence between the vertices on the inside Voronoi diagram and the surface samples, we partition the inside Voronoi diagram into P1,P2,,PnP_{1},P_{2},...,P_{n} accordingly. For each component ii, with surface samples SiS_{i} and inner point candidates PiP_{i}, we solve the SCP and obtain the selection result Pi+P^{+}_{i} embedded on the sub-Voronoi diagram. This process reduces the size of the problem and speeds up our algorithm by divide and conquer.

Finally, we merge each Voronoi diagram as well as the selected points. Then, we have all the selected points embedded on the original inside Voronoi diagram so that the model’s simplification can be achieved by removing redundant components as we described in Sec. 4.3. We demonstrate the results in Figure 14 (a-b). Note that the complex model is with 3000030000 surface samples which are further used for generating candidate inner points.

\begin{overpic}[width=346.89731pt]{Figs/fig_additional1.jpg} \put(22.0,-5.0){(a)} \put(74.0,-5.0){(b)} \end{overpic}
Figure 14: Coverage Axis with divide and conquer strategy. The model is divided into 2929 parts for solving the set coverage problem separately on each part. The average running time of inner point selection of each component is 1.041.04 s. However, it takes more than 1515 min to solve for the entire model.

7.2 User-specified Point Control

Our method allows users to specify the ignorable surface parts that can be neglected. To indicate the ignorable surface points, the constraint in Eq 2 are reformulated as 𝐃𝐯𝐁\mathbf{Dv}\geq\mathbf{B}, where the corresponding values for the ignorable surface points in 𝐁\mathbf{B} are set to 0 and the others to 11. In this way, the optimization tends to remove the skeletal points in the specified parts to favor parsimony. Users can also directly indicate if a skeletal point should be preserved or removed, for which we just simply set the corresponding values in 𝐯\mathbf{v} to 0 or 1 after the point selection.

8 Limitations

Refer to caption

(a) (b)

Figure 15: Examples of failure case. (a) The over-dilated inner balls destroy the original shape topology. (b) Incorrect candidate initialization of thin flat model taken point clouds as the input. The red points are candidate points and the blue points are the input, where some candidates are located outside the shape.

In this section, we discuss the limitations of our method. First, the number of selected points is related to the dilation parameter δr\delta_{r} which leads to a difficulty in explicit control of the number of vertices of a skeleton. In particular, when inner balls are excessively dilated, the topology of the input surface tends to be destroyed by the coverage. See Figure 15 (a). Another limitation lies in the difficulty in preserving approximation accuracy when computing extremely decimated representations (lower vertices number in the skeleton). As shown in Figure 16, Q-MAT [LWS*15] shows a better control of the reconstruction error ϵ\overleftrightarrow{\epsilon} than ours, as the number of target skeletal points |V||V| decreases. This is because Coverage Axis relies on much larger dilation factors for computing highly decimated results, which brings difficulty in preserving the local geometry. Detailed statistics can be found in Appendix D.

\begin{overpic}[width=420.61192pt]{Figs/fig_decimated.jpg} \end{overpic}
Figure 16: The change of the approximation error (two-sided HD ϵ\overleftrightarrow{\epsilon}) w.r.t. the simplification level. Compared with Q-MAT, our method exhibits larger errors for highly decimated medial surfaces. We adopt the FEMUR model for evaluation.

Our method usually suffers from a relatively high computational cost when given a large number of surface points to be covered. To alleviate this, we demonstrate a potential approach in designing a divide and conquer strategy based on geometric clues to achieve acceleration. In addition, for the point cloud input, especially the thin flat models, it remains an open problem to clearly distinguish between inner and outside volume. Therefore, for this kind of input, it is extremely challenging to generate legitimate candidate points that are located inside the shape, which can result in failure cases during point selection (Figure 15 (b)).

9 Conclusion

In this paper, we propose a novel, simple, yet effective formulation named Coverage Axis for 3D shape skeletonization of both meshes and point clouds. Inspired by the set cover problem (SCP), our goal is to cover all the surface points using as few inside medial balls as possible. Compared with previous methods, our approach shows a set of appealing properties including its simple formulation, high-level abstraction, robustness to noise, flexibility to handle various cases, and so on. Comprehensive experiments verify the aforementioned claims. In the future, we believe Coverage Axis, as a tool for encoding shapes, has a large potential value in various applications including shape abstraction, shape segmentation, simulation as well as animation, etc. Another point worth noting is the combination of Coverage Axis and learning techniques to improve the work of shape analysis and processing, such as 3D object detection, shape classification, automatic blending and so on.

References

  • [ABE09] Dominique Attali, Jean-Daniel Boissonnat and Herbert Edelsbrunner “Stability and computation of medial axes-a state-of-the-art report” In Mathematical foundations of scientific visualization, computer graphics, and massive data exploration Springer, 2009, pp. 109–125
  • [ACK01] Nina Amenta, Sunghee Choi and Ravi Krishna Kolluri “The power crust” In Proceedings of the sixth ACM symposium on Solid modeling and applications, 2001, pp. 249–266
  • [AM96] Dominique Attali and Annick Montanvert “Modeling noise for a better simplification of skeletons” In Proceedings of 3rd IEEE International Conference on Image Processing 3, 1996, pp. 13–16 IEEE
  • [And09] Daniel Cohen-Or Andrea Tagliasacchi “Curve skeleton extraction from incomplete point cloud” In ACM Transactions on Graphics (Proc. SIGGRAPH) 28.3, 2009, pp. 71:1–71:9
  • [ATC*08] Oscar Kin-Chung Au et al. “Skeleton extraction by mesh contraction” In ACM transactions on graphics (TOG) 27.3 ACM New York, NY, USA, 2008, pp. 1–10
  • [Aur87] Franz Aurenhammer “Power diagrams: properties, algorithms and applications” In SIAM Journal on Computing 16.1 SIAM, 1987, pp. 78–96
  • [BDS*18] Gavin Barill et al. “Fast Winding Numbers for Soups and Clouds” In ACM Transactions on Graphics, 2018
  • [Blu*67] Harry Blum “A transformation for extracting new descriptors of shape” MIT press Cambridge, MA, 1967
  • [BP07] Ilya Baran and Jovan Popović “Automatic rigging and animation of 3d characters” In ACM Transactions on graphics (TOG) 26.3 ACM New York, NY, USA, 2007, pp. 72–es
  • [CCT11] John Chaussard, Michel Couprie and Hugues Talbot “Robust skeletonization using the discrete λ\lambda-medial axis” In Pattern Recognition Letters 32.9 Elsevier, 2011, pp. 1384–1394
  • [CFG*15] Angel X Chang et al. “Shapenet: An information-rich 3d model repository” In arXiv preprint arXiv:1512.03012, 2015
  • [CL05] Frédéric Chazal and André Lieutier “The “λ\lambda-medial axis”” In Graphical Models 67.4 Elsevier, 2005, pp. 304–331
  • [CTO*10] Junjie Cao et al. “Point cloud skeletons via laplacian based contraction” In 2010 Shape Modeling International Conference, 2010, pp. 187–197 IEEE
  • [CZC*20] Jingliang Cheng et al. “Skeletonization via dual of shape segmentation” In Computer Aided Geometric Design 80 Elsevier, 2020, pp. 101856
  • [DEGN98] Tamal K Dey, Herbert Edelsbrunner, Sumanta Guha and Dmitry V Nekhayev “Topology preserving edge contraction” In Publ. Inst. Math.(Beograd)(NS, 1998 Citeseer
  • [DRS10] Jesús De Loera, Jörg Rambau and Francisco Santos “Triangulations: Structures for algorithms and applications” Springer Science & Business Media, 2010
  • [DS06] Tamal K Dey and Jian Sun “Defining and computing curve-skeletons with medial geodesic function” In Symposium on geometry processing 6, 2006, pp. 143–152
  • [DXX*20] Zhiyang Dou et al. “Top-down shape abstraction based on greedy pole selection” In IEEE Transactions on Visualization and Computer Graphics IEEE, 2020
  • [DZ02] Tamal K Dey and Wulue Zhao “Approximate medial axis as a Voronoi subcomplex” In Proceedings of the seventh ACM symposium on Solid modeling and applications, 2002, pp. 356–366
  • [FLM03] Mark Foskey, Ming C Lin and Dinesh Manocha “Efficient computation of a simplified medial axis” In J. Comput. Inf. Sci. Eng. 3.4, 2003, pp. 274–284
  • [FTB13] Noura Faraj, Jean-Marc Thiery and Tamy Boubekeur “Progressive medial axis filtration” In SIGGRAPH Asia 2013 Technical Briefs, 2013, pp. 1–4
  • [GH97] Michael Garland and Paul S Heckbert “Surface simplification using quadric error metrics” In Proceedings of the 24th annual conference on Computer graphics and interactive techniques, 1997, pp. 209–216
  • [GMPW09] Joachim Giesen, Balint Miklos, Mark Pauly and Camille Wormser “The scale axis transform” In Proceedings of the twenty-fifth annual symposium on Computational geometry, 2009, pp. 106–115
  • [Har82] Juris Hartmanis “Computers and intractability: a guide to the theory of np-completeness (michael r. garey and david s. johnson)” In Siam Review 24.1 Society for IndustrialApplied Mathematics, 1982, pp. 90
  • [HHF*19] Rana Hanocka et al. “MeshCNN: A network with an edge” In ACM Transactions on Graphics (TOG) 38.4 ACM New York, NY, USA, 2019, pp. 1–12
  • [HWC*13] Hui Huang et al. “L1-medial skeleton of point cloud.” In ACM Trans. Graph. 32.4, 2013, pp. 65–1
  • [HWG*13] Hui Huang et al. “Edge-aware point set resampling” In ACM transactions on graphics (TOG) 32.1 ACM New York, NY, USA, 2013, pp. 1–12
  • [LCLT07] Yaron Lipman, Daniel Cohen-Or, David Levin and Hillel Tal-Ezer “Parameterization-free projection for geometry reconstruction” In ACM Transactions on Graphics (TOG) 26.3 ACM New York, NY, USA, 2007, pp. 22–es
  • [LGS12] Marco Livesu, Fabio Guggeri and Riccardo Scateni “Reconstructing the curve-skeletons of 3d shapes using the visual hull” In IEEE transactions on visualization and computer graphics 18.11 IEEE, 2012, pp. 1891–1901
  • [LLL*20] Cheng Lin et al. “SEG-MAT: 3D shape segmentation using medial axis transform” In IEEE Transactions on Visualization and Computer Graphics IEEE, 2020
  • [LLL*21] Cheng Lin et al. “Point2Skeleton: Learning skeletal representations from point clouds” In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2021, pp. 4277–4286
  • [LWS*15] Pan Li et al. “Q-MAT: Computing medial axis transform by quadratic error minimization” In ACM Transactions on Graphics (TOG) 35.1 ACM New York, NY, USA, 2015, pp. 1–16
  • [MGP10] Balint Miklos, Joachim Giesen and Mark Pauly “Discrete scale axis representations for 3D geometry” In ACM SIGGRAPH 2010 papers, 2010, pp. 1–10
  • [MLM16] Romain Marie, Ouiddad Labbani-Igbida and El Mustapha Mouaddib “The delta medial axis: a fast and robust algorithm for filtered skeleton extraction” In Pattern Recognition 56 Elsevier, 2016, pp. 26–39
  • [MLT88] Nadia Magnenat-Thalmann, Richard Laperrire and Daniel Thalmann “Joint-dependent local deformations for hand animation and object grasping” In In Proceedings on Graphics interface’88, 1988 Citeseer
  • [MWO03] Wan-Chun Ma, Fu-Che Wu and Ming Ouhyoung “Skeleton extraction of 3D objects with radial basis functions” In 2003 Shape Modeling International., 2003, pp. 207–215 IEEE
  • [NBPF11] Mattia Natali, Silvia Biasotti, Giuseppe Patanè and Bianca Falcidieno “Graph-based representations of point clouds” In Graphical Models 73.5 Elsevier, 2011, pp. 151–164
  • [RAV*19] Daniel Rebain et al. “LSMAT Least squares medial axis transform” In Computer Graphics Forum 38.6, 2019, pp. 5–18 Wiley Online Library
  • [RLS*21] Daniel Rebain et al. “Deep medial fields” In arXiv preprint arXiv:2106.03804, 2021
  • [SBH*11] Wei Shen et al. “Skeleton growing and pruning with bending potential ratio” In Pattern Recognition 44.2 Elsevier, 2011, pp. 196–209
  • [SCYW13] Feng Sun, Yi-King Choi, Yizhou Yu and Wenping Wang “Medial meshes for volume approximation” In arXiv preprint arXiv:1308.3917, 2013
  • [SFC*11] Jamie Shotton et al. “Real-time human pose recognition in parts from single depth images” In CVPR 2011, 2011, pp. 1297–1304 Ieee
  • [SFM07] Avneesh Sud, Mark Foskey and Dinesh Manocha “Homotopy-preserving medial axis simplification” In International Journal of Computational Geometry & Applications 17.05 World Scientific, 2007, pp. 423–451
  • [SKS11] Svetlana Stolpner, Paul Kry and Kaleem Siddiqi “Medial spheres for shape approximation” In IEEE transactions on pattern analysis and machine intelligence 34.6 IEEE, 2011, pp. 1234–1240
  • [SLSK07] Andrei Sharf, Thomas Lewiner, Ariel Shamir and Leif Kobbelt “On-the-fly Curve-skeleton Computation for 3D Shapes” In Computer Graphics Forum 26.3, 2007, pp. 323–328 Wiley Online Library
  • [SSGD03] Hari Sundar, Deborah Silver, Nikhil Gagvani and Sven Dickinson “Skeleton based shape matching and retrieval” In 2003 Shape Modeling International., 2003, pp. 130–139 IEEE
  • [TAOZ12] Andrea Tagliasacchi, Ibraheem Alhashim, Matt Olson and Hao Zhang “Mean curvature skeletons” In Computer Graphics Forum 31.5, 2012, pp. 1735–1744 Wiley Online Library
  • [TDS*16] Andrea Tagliasacchi et al. “3d skeletons: A state-of-the-art report” In Computer Graphics Forum 35.2, 2016, pp. 573–597 Wiley Online Library
  • [TGB13] Jean-Marc Thiery, Émilie Guy and Tamy Boubekeur “Sphere-meshes: Shape approximation using spherical quadric error metrics” In ACM Transactions on Graphics (TOG) 32.6 ACM New York, NY, USA, 2013, pp. 1–12
  • [TGBE16] Jean-Marc Thiery, Émilie Guy, Tamy Boubekeur and Elmar Eisemann “Animated mesh approximation with sphere-meshes” In ACM Transactions on Graphics (TOG) 35.3 ACM New York, NY, USA, 2016, pp. 1–13
  • [THP*19] Jiapeng Tang et al. “A skeleton-bridged deep learning approach for generating meshes of complex topologies from single rgb images” In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2019, pp. 4541–4550
  • [WHG*15] Shihao Wu et al. “Deep points consolidation” In ACM Transactions on Graphics (ToG) 34.6 ACM New York, NY, USA, 2015, pp. 1–13
  • [XZKS19] Zhan Xu, Yang Zhou, Evangelos Kalogerakis and Karan Singh “Predicting animation skeletons for 3d articulated models via volumetric nets” In 2019 International Conference on 3D Vision (3DV), 2019, pp. 298–307 IEEE
  • [YL21] Ilker O. Yaz and Sébastien Loriot “Triangulated Surface Mesh Segmentation” In CGAL User and Reference Manual CGAL Editorial Board, 2021 URL: https://doc.cgal.org/5.3/Manual/packages.html#PkgSurfaceMeshSegmentation
  • [YLJ18] Yajie Yan, David Letscher and Tao Ju “Voxel Cores: Efficient, robust, and provably good approximation of 3d medial axes” In ACM Transactions on Graphics (TOG) 37.4 ACM New York, NY, USA, 2018, pp. 1–13
  • [YRL*21] Yiding Yang et al. “Learning dynamics via graph neural networks for human pose estimation and tracking” In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2021, pp. 8074–8084
  • [YSC*16] Yajie Yan et al. “Erosion thickness on medial axes of 3D shapes” In ACM Transactions on Graphics (TOG) 35.4 ACM New York, NY, USA, 2016, pp. 1–12
  • [YYG18] Baorong Yang, Junfeng Yao and Xiaohu Guo “DMAT: Deformable medial axis transform for animated mesh approximation” In Computer Graphics Forum 37.7, 2018, pp. 301–311 Wiley Online Library
  • [YYW*20] Baorong Yang et al. “P2MAT-Net: Learning medial axis transform from sparse point clouds” In Computer Aided Geometric Design 80 Elsevier, 2020, pp. 101874
\missing

cgal:tf-ssd-21b

Appendix A Inner Points Labeling for Point Cloud with Normals.

\begin{overpic}[width=433.62pt]{Figs/fig_appendix_inner.jpg} \put(19.0,-3.0){(a)} \put(74.0,-3.0){(b)} \end{overpic}
Figure 1: Inner points labeling for an oriented point cloud in 2D. bb is labelled as an inner candidate since the dot products of bon(o)\overrightarrow{bo^{\prime}}\cdot\overrightarrow{n}(o^{\prime}), bqn(q)\overrightarrow{bq^{\prime}}\cdot\overrightarrow{n}(q^{\prime}) and brn(r)\overrightarrow{br^{\prime}}\cdot\overrightarrow{n}(r^{\prime}) are all positive, while aa is labeled as an outside point because apn(p),aqn(q)\overrightarrow{ap^{\prime}}\cdot\overrightarrow{n}(p^{\prime}),\overrightarrow{aq^{\prime}}\cdot\overrightarrow{n}(q^{\prime}) and arn(r)\overrightarrow{ar^{\prime}}\cdot\overrightarrow{n}(r^{\prime}) are negative. The Voronoi diagram and its dual graph Delaunay triangulation are denoted by blue lines and dashed lines respectively. Surface samples are in blue.

Our point selection strategy does not rely on mesh connection; it is able to handle more generalized inputs such as polygon soups, point clouds as long as candidate inner points can be identified inside the volume. Given a point cloud input, in this paper, we generate and label candidate inner points by utilizing normal vectors of the point cloud. Recall that we first compute its Delaunay triangulation which is the dual of the Voronoi diagram w.r.t. the input point cloud. Consider a Voronoi vertex pp and the vertices of its dual tetrahedron p0,p1,p2p^{\prime}_{0},p^{\prime}_{1},p^{\prime}_{2} and p3p^{\prime}_{3}. The candidate pp is considered as an inner point only if we have ppin(pi)>0\overrightarrow{pp^{\prime}_{i}}\cdot\overrightarrow{n}(p^{\prime}_{i})>0, i=0,1,2,3\forall i=0,1,2,3. Here n(pi)\overrightarrow{n}(p^{\prime}_{i}) is the input normal of pip^{\prime}_{i} and \cdot is dot product. A detailed 2D example is given in Figure 1.

After the initial labeling, we further apply filtering by clustering to those labeled inner points. For each inner point, we count the number of its neighbors within 0.020.02 among the top 100100 nearest neighbors by K-neighbor searching [cgal:tf-ssd-21b]. If the result is less than 2020, the point is considered an outlier and is discarded. A result of the UFO model as an example is shown in Figure 2. Some labeling results are given in Figure 3.

Refer to caption

(a) (b)

Figure 2: Inner points labeling with filtering by clustering. (a) and (b) indicate the results after applying filtering by clustering (red points) and before applying filtering by clustering (purple points). The input point cloud is in blue. We provide both normal view (first row) and side view (second row).
Refer to caption
Figure 3: Inner point candidates generated from point clouds with normals.

[Uncaptioned image]

Besides, we also conduct an experiment taking inside poles [ACK01] (the inside Voronoi vertex with the furthest distance to the seed of the cell) instead of all Voronoi vertices enclosed by the surface as candidates. We find there is no significant difference in point selection results.

Appendix B Details of Connection Establishment.

B.1 Mesh Input

Recall that for a mesh input, we take the whole subset of Voronoi structure inside the model generated by 40004000 surface samples (|C|=4000|C|=4000) as the original inner point candidates PP. After selecting inner points based on set coverage, we build up the connection structure. For the Voronoi initialization style, all selected points are embedded on the Voronoi diagram. We further remove all redundant points and edges to achieve the simplification by edge collapse using quadric error metric (QEM)  [FTB13] same as [LWS*15].

After that, we adopt LOP [DRS10] algorithm to adjust the mesh tessellations as long as the increase of the local approximation error caused by the flipping operation is less than 5%5\%. The local approximation error is measured by the Hausdorff distance from the covered surface to candidate local reconstructed surfaces (the envelope of two candidate triangulation.), a.k.a., one-sided Hausdorff distance. Note that we first unstitch each face patch based on non-manifold edges before performing LOP.

B.2 Point Cloud Input

In order to suppress over-connection, we up-sample on the point cloud with normals following [HWG*13], leading to 3000030000 surface samples. These points are treated as surface points in RT during connection establishment. The effect of point cloud up-sampling is demonstrated in Figure 4.

Refer to caption
Figure 4: Over-connection suppression by up-sampling. The over-connected structures (red edges) are suppressed after up-sampling. We visualize the original surface for illustration purposes.

Appendix C Parameter Analysis on Surface points and Candidate Inner Points.

We conduct comprehensive experiments on the number of surface points |S||S| and candidate inner points |P||P| (note it is determined by |C||C|, which is the number of samples to compute the Voronoi diagram) for the algorithm performance. Detailed results including approximation error are summarized in Table 1 and Table 2, respectively. In Table 1, we fix |C|=4000|C|=4000 and in Table 2, we always set |S|=1500|S|=1500. Same as the main paper, we use |V||V| to denote the number of skeletal points, ϵ\overrightarrow{\epsilon} to denote the HD from surface to reconstruction, ϵ\overleftarrow{\epsilon} to denote the HD from reconstruction to surface, and ϵ\overleftrightarrow{\epsilon} to represent two-sided HD. We find both |S||S| and |P||P| do not show a large influence on the selected point number as well as the approximation error. However, as we mentioned in the main paper, the two factors, especially the number of surface samples |S||S|, have more effect on the time efficiency.

Table 1: Effect of different surface point numbers |S||S| on selected points and time efficiency.
|S||S| |V||V| Time (s) ϵ\overrightarrow{\epsilon} ϵ\overleftarrow{\epsilon} ϵ\overleftrightarrow{\epsilon}
500500 4747 0.250.25 2.062%2.062\% 1.981%1.981\% 2.062%2.062\%
15001500 4949 0.290.29 1.843%1.843\% 1.884%1.884\% 1.884%1.884\%
25002500 4949 0.340.34 1.761%1.761\% 1.799%1.799\% 1.799%1.799\%
35003500 4949 0.730.73 2.031%2.031\% 1.937%1.937\% 2.031%2.031\%
45004500 4949 0.980.98 1.750%1.750\% 1.762%1.762\% 1.762%1.762\%
55005500 4949 1.331.33 1.883%1.883\% 1.862%1.862\% 1.883%1.883\%
65006500 4949 2.442.44 1.701%1.701\% 1.747%1.747\% 1.747%1.747\%
75007500 4949 3.243.24 1.810%1.810\% 1.894%1.894\% 1.894%1.894\%
85008500 4949 4.224.22 1.624%1.624\% 1.670%1.670\% 1.670%1.670\%
Table 2: Effect of different numbers of inner point candidates |P||P| on selected points and time efficiency. CC denotes surface samples used for generating candidate inner points.
|C||C| |P||P| |V||V| Time (s) ϵ\overrightarrow{\epsilon} ϵ\overleftarrow{\epsilon} ϵ\overleftrightarrow{\epsilon}
10001000 29642964 4848 0.080.08 1.982%1.982\% 2.196%2.196\% 2.196%2.196\%
20002000 68946894 4949 0.180.18 1.843%1.843\% 1.811%1.811\% 1.843%1.843\%
30003000 1077610776 4949 0.280.28 1.905%1.905\% 1.952%1.952\% 1.952%1.952\%
40004000 1343213432 4949 0.310.31 1.855%1.855\% 1.894%1.894\% 1.894%1.894\%
50005000 1674916749 4949 0.490.49 1.674%1.674\% 1.744%1.744\% 1.744%1.744\%
60006000 2230122301 4949 0.820.82 1.675%1.675\% 1.735%1.735\% 1.735%1.735\%
70007000 2616126161 4949 1.231.23 1.765%1.765\% 1.807%1.807\% 1.807%1.807\%
80008000 2985929859 4949 1.431.43 1.754%1.754\% 1.916%1.916\% 1.916%1.916\%
90009000 3365133651 4949 1.651.65 1.936%1.936\% 1.948%1.948\% 1.948%1.948\%

Appendix D Comparison with Q-MAT for Highly Decimated MAT Computation.

Table 3: Evaluations on approximation accuracy for highly decimated medial surfaces between Q-MAT and Coverage Axis. We adopt the FEMUR model for evaluation.
Offset δr\delta_{r} |V||V| Q-MAT Coverage Axis
ϵ\overrightarrow{\epsilon} ϵ\overleftarrow{\epsilon} ϵ\overleftrightarrow{\epsilon} ϵ\overrightarrow{\epsilon} ϵ\overleftarrow{\epsilon} ϵ\overleftrightarrow{\epsilon}
0.010.01 4747 1.015%1.015\% 1.114%1.114\% 1.114%1.114\% 0.947%0.947\% 1.104%1.104\% 1.104%\mathbf{1.104\%}
0.020.02 2424 1.545%1.545\% 1.281%1.281\% 1.545%\mathbf{1.545\%} 1.535%1.535\% 1.593%1.593\% 1.593%1.593\%
0.050.05 1313 1.779%1.779\% 1.783%{1.783\%} 1.783%\mathbf{1.783\%} 2.576%2.576\% 2.534%2.534\% 2.576%2.576\%
0.10.1 77 2.679%2.679\% 2.480%2.480\% 2.679%\mathbf{2.679\%} 6.086%6.086\% 4.218%4.218\% 6.086%6.086\%
0.20.2 33 7.565%7.565\% 4.099%4.099\% 7.565%\mathbf{7.565\%} 12.434%12.434\% 4.271%4.271\% 12.434%12.434\%
0.50.5 22 29.855%29.855\% 5.743%5.743\% 29.855%\mathbf{29.855\%} 32.993%32.993\% 2.919%2.919\% 32.993%32.993\%

The quantitative comparison of surface reconstruction by highly decimated medial surfaces between Q-MAT and Coverage Axis is shown in Table 3.