Abstract
The skeletons extracted from 3D point clouds depict the general distributions of the mesh surfaces, which are affected by the local geometrical relations embedded in the neighboring points. However, the local mesh geometry is still not effectively utilized by the popular contraction based skeleton extraction method LOP and its variants. Therefore, this paper improves LOP from two aspects based on the local geometrical distributions. One is the bilateral filter based weighting scheme which additionally takes curvature similarities between neighboring points to better distribute the samples and the other is the eigenvalue based adaptive radius scheme which makes the contraction area varied according to the local shape. These two updates combine together so that an effective contraction of samples during optimization can be obtained. The experiments demonstrate that the improved LOP can obtain more efficient skeleton extractions than existing methods.
Supported by the Natural Science Foundation of Anhui Province (2108085MF210, 1908085MF187).
Access provided by Autonomous University of Puebla. Download conference paper PDF
Similar content being viewed by others
Keywords
1 Introduction
Skeleton extraction has been studied for a long time and can be applied to various areas [4, 8, 11, 13, 21, 24, 26, 37, 43], such as computer graphics, computer vision and image processing. We are interested in the contraction based methods [7, 17, 22, 35, 36, 39, 44] which gradually shrink the clouds to obtain the skeleton.
In particular, we are interested in the Locally Optimal Projection (LOP) [25] based methods [17, 23, 32] among the contraction oriented ideas. LOP was originally for computing the geometry surfaces of raw scans, which projects each point to its nearby local center according to a support radius. It was recruited by Hang et al. [17] to compute \(L_1\)-medial skeletons of 3D point clouds. However, this method is not stable because it does not consider the local geometrical structure when doing the contraction. In addition, its contraction can be very inefficient without discriminating the surface variations of the local shapes.
Existing improvements [23, 32] either rely on an additional local medial surface for effective contraction [23] or take a mixture model for fast computation [32]. However, their performances are still limited. The local distribution of points reflects the shape of the object and thus plays an important role in the skeleton estimation during the contraction process However, it is not explicitly considered in these methods.
Therefore, this paper takes the local geometrical distribution as the starting point and revises LOP from two aspects for better skeleton estimation. One is a bilateral filter [3, 38] based idea adopted in the contraction process so that the geometrical similarity in curvature is additionally considered for better shape consensus. The other is an eigenvalue based radius estimation so that adaptive radii reflecting the variations of the local surface can be used for effcient contraction of different object parts. These two combine together so that an improved LOP algorithm incorporating local geometrical distributions are proposed.
2 Related Work
Skeleton extraction has been studied for a long time [11, 37]. One popular type of methods for curve extraction is the contraction based method [1] which, however, cannot ensure a central skeleton because of the varying contraction speeds [7, 36, 39]. Therefore, some studies [17, 22] focus on generating the centered curves, which is interesting to us. Especially Huang et al. [17] adopted locally optimal projection (LOP) [25] for extracting the skeletons from raw scanned data. They adopted L1-medians locally for 1D based \(L_1\)-medial skeletons, which is also used by [35, 44] through iteratively contracting sample points while gradually increasing their neighborhood sizes.
There are also variants of LOP [16, 23, 32]. Huang et al. [16] extended LOP to cope with non-uniform distributions by a weighted locally optimal projection operator, which was later improved by Preiner et al. [32] with a Gaussian mixture model for fast computation. Wang [23] extended LOP for 3D curve skeletons by two ideas, constraining the LOP operator applied on the medial surface and adaptively computing variable support radii, and fulfilled fast computation and accurate localization without interference.
There have been other non-contraction based methods, such as image based [27], medial surface based [10, 40], graph based [2, 9, 28] and geodesic distance based methods [18, 19, 41]. Qin et al. [33] took the mass transport view and estimated the skeleton with the minimization of Wasserstein distance between mass distributions of point clouds and curve skeletons. Jiang et al. [20] even combined the contraction and graph based ideas together and proposed a graph contraction method, including a contraction term in graph geodesic distances and a topology-preserving term by the local principal direction. Similar compound way is taken by Fu et al. [14]. However our focus here is on the contraction based methods, especially on LOP and its variants.
Deep learning based methods [12, 15, 29,30,31, 42] become popular nowadays. For example, Panichev et al. [31] took an U-Net based approach for direct skeleton extraction; Luo et al. [29] included an encoder-decoder network to fulfill hierarchical skeleton extraction. Deep learning techniques are attractive, however, they generally require skillful training with large data for high performance.
Some studies also extend skeleton extraction to structure or outline estimation from point sets [8, 34], whose foci are on fitting outer structure lines but not the skeletons.
3 The Improved LOP
This section introduces the proposed LOP method, where the general idea of LOP and its two proposed local geometry based improvements are presented in succession.
3.1 Overview
Generally, LOP is to find the set I representing the \(L_1\)-medial skeleton point set \(X=\{\boldsymbol{x}_{i_{i\in {I}}}\}\) of an unorganized and unoriented set J of points \(P=\{\boldsymbol{p}_{j_{j\in J}}\}\subset \mathbb {R}^3\).
where G(X) keeps the geometry of J in I and R(X) lets points in I evenly distributed.
where
is a fast-decreasing smooth weighting function with the compact support radius h defining the size of the influence radius [25].
where: \(\lambda _{i} \) represents the balancing term; and \(\eta (r)\) is another decreasing function penalizing \(\boldsymbol{x}_{i}\) too close to each other, which is generally set to be \(1/3r^3\), or \(-r\) for slow decreasing of large contraction radii.
Accordingly, I is generated as follows. First the input cloud is down sampled to obtain the sampling points evenly. These sampled points are the future source points of the estimated skeleton. Then the displacement of each sampling point \(\boldsymbol{x}_i\) is estimated recursively till convergence, which is based on the eigen decomposition with the neighboring points. Here, weighted principal components analysis (PCA) is used to compute the eigenvalues in decreasing order \(\lambda _i^m(m\in {\{0,1,2\}})\) and their corresponding eigenvectors \(\boldsymbol{v}_i^m\) from the covariance matrix \(C_i\),
These values will guide the update of \(\boldsymbol{x}_i\) according to Eq. 1 [17, 25].
As can be seen, the contraction process relies heavily on the distances of points between I and J. However, it only considers the spatial distances, which can mislead the process to wrong positions without considering the local geometrical relationships. In addition, the decay weight relies on a fixed radius for contraction which also omits the differences of local shapes of the cloud object, i.e., a wide and flat shape can have a big radius for robust contraction and vice versa. Apparently, local geometrical distributions should be considered when doing the contraction. Therefore, two geometry based improvements are proposed to update the optimization process for more robust contraction, which will be discussed in details in the following.
3.2 Bilateral Filter Based Weighting
The weighting function (Eq. 3) computes the weights by the spatial distance only, which may overlooks the importance of the geometrical similarities. Therefore, local geometrical similarities should also be considered in weighting the contributions. Therefore, the bilateral filter [38] based weighting scheme which takes these two properties together is proposed.
Traditional, the bilateral filter aims at replacing the intensity of the central pixel, \(\boldsymbol{u}_c\), at c with a weighted average of the intensities of the neighboring pixels \(\{\boldsymbol{u}_{c_1}, \boldsymbol{u}_{c_2}, \ldots , \boldsymbol{u}_{c_N}\}\), \(\hat{\boldsymbol{u}}_c\). These weights are estimated by both Euclidean distances and radiometric differences between the central pixel and its neighbors.
Here, \(W_c\) is a normalization term, and \(f_g\) and \(f_r\) are the spatial and range weighting kernels for the Euclidean and radiometric distances respectively.
For the skeleton estimation of 3D clouds, the Euclidean distance for the spatial difference measurement is kept. But the radiometric difference can be substituted with geometrical similarity, where curve distance of two points is adopted. Consequently, a bilateral filter based on the spatial and geometrical distances can be superimposed to the neighboring points by the following equation:
where standard Gaussian filters represent \(\omega _s(x)\) and \(\omega _g(t)\) respectively, i.e., \(\omega _s(x)=e^{-x^2/2\sigma _s^2}\) and \(\omega _g(t)=e^{-t^2/2\sigma _g^2}\) with \(\sigma _s\) and \(\sigma _g\) being the variances. Here \(\hat{s}\) and \(\hat{g}\) targets at spatial and geometrical distances and measure the Euclidean distances and the curvature distances between \(x_i\) and \(p_j\) respectively:
and
where \(\delta (\cdot )\) computes the curvatures. Note that in Eq. 7, to effectively capture the local geometrical variance, the weights are superimposed on the sample points according to their distanaces projected to the tangent plane, i.e.,
To constraint the contraction process, \(\sigma _s\) is chosen according to the standard deviation among neighboring points and \(\sigma _g\) is defined to be the radius of the neighboring set, i.e., \(\sigma _g=\Vert \boldsymbol{x}_i- \boldsymbol{m}_i\Vert \) with \(\boldsymbol{m}_i\) being the fartherest point in the neighbors of \(\boldsymbol{x}_i\). Consequently, the following updated version for the contraction (Eq. 2) is obtained based on Eq. 7,
Figure 1 shows the effects before (Fig. 1b) and after (Fig. 1c) applying the bilateral filter based weights. There are more stray samples shown in the traditional LOP than the proposed method. This experiment shows that the additionally bilateral filter based weighting scheme makes the samples distributed more conformal and consistent with the object shape than the original LOP.
3.3 Adaptive Radius
The contraction radius is also very important because it decides the contraction scale and affects the areas to be contracted. Intuitively, the wide and flat area can have a bigger contraction scale while the narrow area should be with a smaller one. Figure 2a demonstrates this observation, where the belly should have a bigger radius than the arm for an efficient contraction. However the traditional one is fixed and thus cannot cope with the contraction efficiently and may lead to wrong estimation. Therefore, an adaptive radius is expected, where the local geometrical property can be taken as the clue to the solution.
However, it is difficult to directly capture the relationship between the local geometry and radius. Luckily, the covariance matrix points a way out. A covariance matrix of a point cloud captures the distribution or spread of the cloud, e.g., the direction of the largest variance represents the largest dimension of the data. In addition, these directions can be computed as the eignevectors by decomposing the covariance matrix of the cloud through PCA (Fig. 3). Accordingly, the eigenvalues can be adopted to measure the extensions of clouds in all directions and, therefore, taken as a measurement of the local shape variation.
To capture the local shape variation, the eigenvalues of the covariance matrix of the local neighbors (Eq. 5) which reflects the local geometrical distributions are adopted to define a gradually increasing contraction radius. First, the directionality degree [17] defining the shape spreading feature of \(\boldsymbol{x}_i\), \(d_i\), is adopted
It can be seen that the shape turns narrow as \(d_i\) approaches 1. Clearly, it is expected that the radius used in the narrow part to be also small for an effective contraction. Therefore, the following adaptive radius \(h(i)^{(t)}\) for t-th iteration of \(\boldsymbol{x}_i\) can be obtained.
where \(h(i)^{(0)}=0\). Accordingly, the contraction radius h in Eq. 3 is replaced with Eq. 13 during the iterations.
The contraction happens first in narrow parts such as arms and legs with small radii and then gradually find the correct position with big radii for the wide parts, such as torso. Figure 2 gives the example of the adaptive radii during the contraction process. It can be seen that the narrow parts are contracted significantly first with smaller radii (Fig. 2b) and then gradually the wide parts are contracted apparently with bigger radii (Fig. 2c). These varying radii can help obtain a geometrically consistent skeleton.
The geometrically updated contraction weights and radii are incorporated into the traditional LOP algorithm and then an improved method is resulted. For more details on how to iteratively implement the algorithm, please check [17, 25].
4 Experimental Results
Experiments are undertaken with two human and animal mesh datasets: TOSCA [6] and FAUST [5]. Two related improvements of LOP are considered for performance comparison: the \(L_1\) medial skeleton based method [17] (L1) and the KNN based method [44] (KNN).
Figure 4 shows the results of our method on four clouds consisting of different object shapes. They show that our method can contract the sample points successfully to be the central skeleton points.
Figure 5 shows the experimental results on TOSCA. Here performance comparisons with L1 and CNN are taken. There are apparent unconnected and uncontracted samples for L1 and KNN, with L1 being generally worse. Ours, on the other hand, obtains the best performances among all methods, even though there are a few unconnected joints between some skeleton parts.
Figure 6 shows the performance comparisons on FAUST. The same observations about the three methods can be found, where ours still achieves the best performaces among all methods.
Statistical evaluation of the proposed method are also undertaken. Generally all skeleton points should be close to the neutral axis of the skeleton for a compact skeleton generation. However, the true neutral axis may not be easy to localize for each mesh. Here the max distance among all skeleton points to the center axis of the skeleton bounding box is taken as the metric. The smaller the distance, the better accuracy is. Figure 7 visualizes the max distances of different methods for 14 meshes from the two sets. Our method almost always the best one for all meshes among all methods, which further demonstrates the merits of our method.
5 Conclusions
This paper proposed an improved LOP algorithm for skeleton extraction. Building on closely capturing the local geometrical variations, we update the traditional LOP algorithm from two aspects: One is a bilateral filter based weighting scheme where additional local geometrical similarities are used to make the contraction consensus to the mesh surface; and the other is an eigenvalue based varying radius scheme where the local geometrical distributions are used produce efficient contraction radii according to the shapes of different object parts. Experimental results demonstrate the merits of the proposed method.
The estimated skeleton in the contraction oriented methods may be difficult to converge to a skeleton keypoint connecting different skeleton segments, as the experiments have shown. The density of the clouds is often different in different part, which can lead to different contraction speed and, therefore, the common joint is sometimes difficult to get. In addition, more samples will improve the accuracy of skeleton estimation experimentally, however, this also incurs high computation load. Those two shortcomings will be the focus of our future work for more robust skeleton extraction.
References
Au, O.K.C., Tai, C.L., Chu, H.K., Cohen-Or, D., Lee, T.Y.: Skeleton extraction by mesh contraction. ACM Trans. Graph. 27(3), 1–10 (2008)
Bærentzen, A., Rotenberg, E.: Skeletonization via local separators. ACM Trans. Graph. 40(5), 1–18 (2021)
Banterle, F., Corsini, M., Cignoni, P., Scopigno, R.: A low-memory, straightforward and fast bilateral filter through subsampling in spatial domain. Comput. Graph. Forum 31, 19–32 (2012)
Batchuluun, G., Kang, J.K., Nguyen, D.T., Pham, T.D., Arsalan, M., Park, K.R.: Action recognition from thermal videos using joint and skeleton information. IEEE Access 9, 11716–11733 (2021)
Bogo, F., Romero, J., Loper, M., Black, M.J.: FAUST: dataset and evaluation for 3D mesh registration. In: IEEE Conference on Computer Vision and Pattern Recognition, pp. 3794–3801 (2014)
Bronstein, A.M., Bronstein, M.M., Kimmel, R.: Numerical Geometry of Non-rigid Shapes. Springer, New York (2008). https://doi.org/10.1007/978-0-387-73301-2
Cao, J., Tagliasacchi, A., Olson, M., Zhang, H., Su, Z.: Point cloud skeletons via Laplacian based contraction. In: Shape Modeling International Conference, pp. 187–197. IEEE (2010)
Chen, R., et al.: Multiscale feature line extraction from raw point clouds based on local surface variation and anisotropic contraction. IEEE Trans. Autom. Sci. Eng. 19(2), 1003–2022 (2021)
Cheng, J., et al.: Skeletonization via dual of shape segmentation. Comput. Aided Geomet. Design 80, 101856 (2020)
Chu, Y., Wang, W., Li, L.: Robustly extracting concise 3D curve skeletons by enhancing the capture of prominent features. IEEE Trans. Visual. Comput. Graph, pp. 1–1 (2022)
Cornea, N.D., Silver, D., Min, P.: Curve-skeleton properties, applications, and algorithms. IEEE Trans. Visual Comput. Graph. 13(3), 530 (2007)
Dey, S.: Subpixel dense refinement network for skeletonization. In: IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops, pp. 258–259 (2020)
Fang, X., Zhou, Q., Shen, J., Jacquemin, C., Shao, L.: Text image deblurring using kernel sparsity prior. IEEE Trans. Cybernet. 50(3), 997–1008 (2018)
Fu, L., Liu, J., Zhou, J., Zhang, M., Lin, Y.: Tree skeletonization for raw point cloud exploiting cylindrical shape prior. IEEE Access 8, 27327–27341 (2020)
Ghanem, M.A., Anani, A.A.: Binary image skeletonization using 2-stage U-Net. arXiv preprint arXiv:2112.11824 (2021)
Huang, H., Li, D., Zhang, H., Ascher, U., Cohen-Or, D.: Consolidation of unorganized point clouds for surface reconstruction. ACM Trans. Graph. 28(5), 1–7 (2009)
Huang, H., Wu, S., Cohen-Or, D., Gong, M., Zhang, H., Li, G., Chen, B.: L1-medial skeleton of point cloud. ACM Trans. Graph. 32(4), 1–8 (2013)
Jalba, A.C., Kustra, J., Telea, A.C.: Surface and curve skeletonization of large 3D models on the GPU. IEEE Trans. Pattern Anal. Mach. Intell. 35(6), 1495–1508 (2012)
Jalba, A.C., Sobiecki, A., Telea, A.C.: An unified multiscale framework for planar, surface, and curve skeletonization. IEEE Trans. Pattern Anal. Mach. Intell. 38(1), 30–45 (2015)
Jiang, A., Liu, J., Zhou, J., Zhang, M.: Skeleton extraction from point clouds of trees with complex branches via graph contraction. Vis. Comput. 37(8), 2235–2251 (2020). https://doi.org/10.1007/s00371-020-01983-6
Ko, D.H., Hassan, A.U., Suk, J., Choi, J.: SKFont: Skeleton-driven Korean font generator with conditional deep adversarial networks. Int. J. Doc. Anal. Recogn. 24(4), 325–337 (2021)
Li, L., Wang, W.: Contracting medial surfaces isotropically for fast extraction of centred curve skeletons. In: Computer Graphics Forum, vol. 36, pp. 529–539 (2017)
Li, L., Wang, W.: Improved use of LOP for curve skeleton extraction. In: Computer Graphics Forum, vol. 37, pp. 313–323 (2018)
Lin, C., Li, C., Liu, Y., Chen, N., Choi, Y.K., Wang, W.: Point2Skeleton: learning skeletal representations from point clouds. In: IEEE/CVF Conference on Computer Vision and Pattern Recognition, pp. 4277–4286 (2021)
Lipman, Y., Cohen-Or, D., Levin, D., Tal-Ezer, H.: Parameterization-free projection for geometry reconstruction. ACM Trans. Graph. 26(3), 22-es (2007)
Liu, Y., Guo, J., Benes, B., Deussen, O., Zhang, X., Huang, H.: TreePartNet: neural decomposition of point clouds for 3D tree reconstruction. ACM Trans. Graph. 40(6) (2021)
Livesu, M., Guggeri, F., Scateni, R.: Reconstructing the curve-skeletons of 3D shapes using the visual hull. IEEE Trans. Visual Comput. Graph. 18(11), 1891–1901 (2012)
Lu, L., Lévy, B., Wang, W.: Centroidal Voronoi tessellation of line segments and graphs. Comput. Graph. Forum 31, 775–784 (2012)
Luo, S., et al.: Laser curve extraction of wheelset based on deep learning skeleton extraction network. Sensors 22(3), 859 (2022)
Nathan, S., Kansal, P.: SkeletonNetV2: a dense channel attention blocks for skeleton extraction. In: IEEE/CVF International Conference on Computer Vision, pp. 2142–2149 (2021)
Panichev, O., Voloshyna, A.: U-Net based convolutional neural network for skeleton extraction. In: IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops, pp. 1186–1189 (2019)
Preiner, R., Mattausch, O., Arikan, M., Pajarola, R., Wimmer, M.: Continuous projection for fast L1 reconstruction. ACM Trans. Graph. 33(4), 1–13 (2014)
Qin, H., Han, J., Li, N., Huang, H., Chen, B.: Mass-driven topology-aware curve skeleton extraction from incomplete point clouds. IEEE Trans. Visual Comput. Graph. 26(9), 2805–2817 (2019)
Ritter, M., Schiffner, D., Harders, M.: Robust reconstruction of curved line structures in noisy point clouds. Visual Inform. 5(3), 1–14 (2021)
Song, C., Pang, Z., Jing, X., Xiao, C.: Distance field guided \(l_1\)-median skeleton extraction. Vis. Comput. 34(2), 243–255 (2018)
Tagliasacchi, A., Alhashim, I., Olson, M., Zhang, H.: Mean curvature skeletons. Comput. Graphics Forum 31, 1735–1744 (2012)
Tagliasacchi, A., Delame, T., Spagnuolo, M., Amenta, N., Telea, A.: 3D skeletons: a state-of-the-art report. Compu. Graph. Forum 35, 573–597 (2016)
Tomasi, C., Manduchi, R.: Bilateral filtering for gray and color images. In: International Conference on Computer Vision, pp. 839–846 (1998)
Wang, Y.S., Lee, T.Y.: Curve-skeleton extraction using iterative least squares optimization. IEEE Trans. Visual Comput. Graphics 14(4), 926–936 (2008)
Yan, Y., Letscher, D., Ju, T.: Voxel cores: efficient, robust, and provably good approximation of 3D medial axes. ACM Trans. Graphics 37(4), 1–13 (2018)
Yan, Y., Sykes, K., Chambers, E., Letscher, D., Ju, T.: Erosion thickness on medial axes of 3D shapes. ACM Trans. Graph. 35(4), 1–12 (2016)
Yang, L., Oyen, D., Wohlberg, B.: A novel algorithm for skeleton extraction from images using topological graph analysis. In: IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops, pp. 1162–1166 (2019)
Zhang, L., Hu, F., Chu, Z., Bentley, E., Kumar, S.: 3D transformative routing for UAV swarming networks: a skeleton-guided, GPS-free approach. IEEE Trans. Veh. Technol. 70(4), 3685–3701 (2021)
Zhou, J., Liu, J., Zhang, M.: Curve skeleton extraction via k-nearest-neighbors based contraction. Int. J. Appl. Math. Comput. Sci. 30(1), 123–132 (2020)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Fang, X., Hu, L., Ye, F., Wang, L. (2022). Locally Geometry-Aware Improvements of LOP for Efficient Skeleton Extraction. In: Yu, S., et al. Pattern Recognition and Computer Vision. PRCV 2022. Lecture Notes in Computer Science, vol 13536. Springer, Cham. https://doi.org/10.1007/978-3-031-18913-5_1
Download citation
DOI: https://doi.org/10.1007/978-3-031-18913-5_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-18912-8
Online ISBN: 978-3-031-18913-5
eBook Packages: Computer ScienceComputer Science (R0)