3d mesh model segmentation using marching planeonlinepresent.org/proceedings/vol120_2015/150.pdf ·...
TRANSCRIPT
3D Mesh Model Segmentation Using Marching Plane
Yiyu Hong1, Jongweon Kim
2,
1 Dept. of Copyright Protection, Sangmyung University, Seoul, Korea, [email protected]
2 Dept. of Contents and Copyright, Sangmyung University, Seoul, Korea, Corresponding
Author, [email protected]
Abstract. Decomposing 3D mesh into meaningful components is a challenging
research field in computer graphics. In this paper, we propose a segmentation
algorithm which focuses on cutting out individual prominent parts from original
mesh based on prominent feature point and marching plane. Our method first
extracts prominent feature points which reside on tips of each prominent part of
a given mesh. And then the mesh is intersected by a set of planes, namely,
marching plane which marches from a prominent feature point. Through the
marching process, we extract local cross sections and compute its area which
can represent the local volumes. Finally, we can simply cut out the prominent
part using marching plane, as the boundary of a prominent part usually lies on
the place where the local volume varies rapidly. Experimental result shows our
method invariant to the pose, robust to the noise and also competitive when
compare to relative works.
Keywords: Mesh segmentation, Marching plane, Feature point extraction,
1 Introduction
With the development of 3D modeling, 3D printing and 3D scanning technology, 3D models have been applied in many fields. Mesh segmentation is an important step in analyzing and understanding 3D models, and an efficient way to decompose a mesh into visually meaningful components brings a lot of convenience and benefits to various mesh processing applications.
Recently, a number of works [1-3] have been done in the field of mesh segmentation, which focus on extracting core part of a mesh. In this paper, instead of core extraction, we present a segmentation algorithm that cut out exterior individual parts from prominent feature points, which are on the extremes of a mesh, using a marching plane. As shown in Fig 1, we define a marching plane as the plane that cut the mesh by following a path. When it comes to a boundary region, there would be a rapid variation on the area of cross section which is cut by the marching plane. More details we will discuss in section 3.
2 Related Researches
Over the past few years, there were many algorithms have been proposed to process mesh segmentation. Referring to surveys in [7, 8], the segmentation
Advanced Science and Technology Letters Vol.120 (DCA 2015), pp.759-764
http://dx.doi.org/10.14257/astl.2015.120.150
ISSN: 2287-1233 ASTL Copyright © 2015 SERSC
approaches can be divided into mainly two types: surface-based and part-based. Surface-based approaches generally use geometric properties of surface such as curvature, geodesic distance and dihedral angles to decompose the mesh. Part-based segmentation usually rely on cognition science works [9, 10] to segment a mesh into meaningful parts. In [9] states that human vision is more likely to define boundary parts along minimum negative curvature. Additionally, human perception also determine the salience of parts by 3 factors: relative volume, boundary strength, and degree of protrusion [10]. Our approach belongs to part-based type, so it is worth briefly reviewing part-based segmentation approaches.
Fig. 1. The red point is one of the prominent feature points and the pink contour represents
the contour of cross section which is cut by the marching plane.
Lee [5] use minimum negative curvature to find first closed boundaries to cut the
mesh into parts. Their main contribution is enclosing open boundary around deep concavity using efficient shortest path algorithm. Nevertheless, the property of surface curvature is so local that cannot be a good reflection of the shape of object.
Shapira [6] created a volumetric function called the Shape Diameter Function (SDF). For each face of the mesh, the function calculates average length of a range of cone shaped rays, which are sent from centroid of the face, to the opposite side of the mesh. Based on SDF values of the faces, they fit k Gaussian functions to produce hierarchical segmentation.
Katz [1] use multidimensional scaling to convert original mesh vertices into pose-invariant representation and then extract core part of the mesh by using spherical mirroring. In the following research, [2, 3] characterize protrusion of extreme points of the mesh to process core approximation. Valette [4] separates protrusion parts from the main body of the mesh by using protrusion function, which measures the extent of closeness between a vertex and each protrusion part. Our mesh segmentation concept is a little similar to [4]. Both methods concentrate on partitioning exterior individual parts from main body. However, their work did not well use the theory of cognition, which result in the segmentation usually not fit human perception.
3 Our Segmentation Approach
Our goal is to segment a 3D mesh into meaningful parts. To this end, we present a methodology which consists of the following steps: 1. For a given 3D mesh, we first extract coarse feature points and then filter these
points to remain only one point which are reside on tips of each salient part.
Advanced Science and Technology Letters Vol.120 (DCA 2015)
760 Copyright © 2015 SERSC
2. For a prominent feature point, we find a geodesic path, namely, marching path, on the surface for marching plane to follow.
3. When marching plane follows the marching path, we intersect the mesh by the marching plane and then calculates area of the cross sections which represent local volume.
4. Then the partitioning boundary of the salient part of the mesh can be determined by where the area has a greater variation.
5. We repeat to perform step2-step4 until each of prominent feature points are visited. In our approach, all geodesic paths and distances are computed by the fast
marching method [11].
3.1 Feature points extraction and filtering
Inspired by [1], Multidimensional Scaling (MDS) and its convex hull are applied to simplified original mesh to extract coarse feature points. After using MDS transform to original model, intuitively, the salient components (like tail and legs) of the mesh are “straightened”. And then coarse feature points should reside on the convex hull of the MDS transformed mesh.
For cutting out each salient parts of the mesh, we filter these coarse feature points to remain only one prominent feature point on each salient part. And it can be done by measuring whether the sum of geodesic distance from coarse feature point to other vertices on the mesh is the local maxima within a radius of geodesic neighborhood [2].
The radius we here used is √ [12]. Finally, the filtered feature
points in MDS space are mapped back to original model.
3.2 Geodesic path selection for marching plane
In this section, we propose a method to find a marching path, which is on the mesh surface, for the marching plane. Firstly, we use fast marching method from a prominent feature point to find shortest path to other prominent feature points.
Then we select the most straight and stable geodesic path as the marching path. In
our approach, the straightness of a geodesic path is computed by measuring average
perpendicular distance of each vertex on the path to the straight line which is
constructed by connecting two end points of the path. Let d be the distance of a point
to a line in a Three-dimensional coordinate system, it can be calculated by following
equation:
| |
| |
Where denotes the vertex on the path, denotes a point on the line which
can be either of the two end points of the path and is directing vector of the line.
After selecting a marching path for a prominent point, the marching plane can move
from the prominent feature point through the path to its end (Fig 1).
Advanced Science and Technology Letters Vol.120 (DCA 2015)
Copyright © 2015 SERSC 761
3.3 Construction of marching plane
For each vertex on the marching path, we construct a marching plane. As a point and a
normal vector can determine a unique plane, we define marching plane as ( ),
where denotes vertex on a marching path and denotes normal vector of the
plane. Since area of the cross section needs to represent local volume, the marching
plane ( ) should intersect perpendicular to the local region of the mesh where
reside on. So we present a formula that using neighbors of on the marching path
to calculate as follows:
{
∑
∑
∑
∑
∑
∑
Where denotes the number of vertices on the marching path, and denotes the
number of neighbor vertices which are used to construct normal vector. The parameter
can be adjusted by .
3.4 Extraction of cross section
We extract cross section by connecting each crossing point which is computed using
intersect mesh by marching plane. Furthermore, it can be transferred to find a set of
intersecting edges on the mesh. Using following two properties, we can efficiently find
intersecting edges. First, when an edge intersect the plane, there must be the other
intersection on the other edge of the triangle face. Second, as in manifold mesh, each
edge is shared by two adjacent faces. So after finding first one intersecting edge, we
can trace its adjacent faces to find other intersecting edges until it arrives at the first
intersecting edge to form a closed contour.
After extracting these crossing points, we transfer the 3D coordinates of these points
into 2D as they are all in a same plane. Then we connect them one by one in traced
order. Finally, we can using Shoelace formula [13] to compute its area.
In the end, from a prominent feature point, we can get a set of values of area of cross
sections through the marching plane. As a boundary of a salient part usually lies on the
place where the local volume varies rapidly, we determine the boundary where the
derivative of the area is first above a threshold .
Advanced Science and Technology Letters Vol.120 (DCA 2015)
762 Copyright © 2015 SERSC
4 Experimental Result
The results of our approach shown below are obtained by using fixed parameters. If the
number of vertices ( ) on a marching path is more than 50, we select about 50
vertices in a certain interval distance and set t = 3. The boundary detection threshold,
= . Through experiment, we found that if the first area of the
cross section has a large value, the prominent feature points usually lie on a place that
is no salient part. So we do not operate prominent feature point which the first cross
section area exceed .
In Fig 2, we compare our segmentation results with [2-4], and their pictures are
taken from [2]. In Fig 3 (a) and (b) show our segmentation invariant to pose and robust
to noise respectively.
Fig. 2. Experimental result
Fig. 3. (a) Pose invariance (b) Segmentation under noise
Advanced Science and Technology Letters Vol.120 (DCA 2015)
Copyright © 2015 SERSC 763
5 Conclusion
In this paper, we proposed a segmentation algorithm using marching plane to cut exterior salient parts from 3D mesh. The proposed algorithm consists of several steps to extract prominent feature points, to find proper marching path, to extract cross section by intersecting marching plane with mesh along the marching path and to detect boundary by monitoring where a rapid variation has on the area of cross sections.
From the experimental results, we can see our algorithm could be invariant to pose, robust to noise and also competitive to the relative works with fixed parameters. In future we will focus on searching better marching path, on which we can extract multiple components to process hierarchical segmentation.
Acknowledgments. This research was supported by Institute for Information & communications Technology Promotion (IITP) funded by the Ministry of Science, ICT and Future Planning (No.R0126-15-1024)
References
1. Katz, S., Leifman, G., Tal, A.: Mesh segmentation using feature point and core extraction.
The Visual Computer, vol. 21, no. 8--10, pp. 649--658, (2005)
2. Agathos, A., Pratikakis, I., Perantonis, S., Sapidis, N.: Protrusion-oriented 3d mesh
segmentation. The Visual Computer, vol. 26, no. 1, pp. 63--81, (2010)
3. Lin, H.-Y. S., Liao, H.-Y., Lin, J.-C.: Visual salience-guided mesh decomposition.
Multimedia, IEEE Transactions on, vol. 9, no. 1, pp. 46--57, (2007)
4. Valette, S., Kompatsiaris, I., Strintzis, M.G.: A polygonal mesh partitioning algorithm
based on protrusion conquest for perceptual 3D shape description. Workshop towards
Semantic Virtual Environments SVE 2005, Villars, CH, March 16-18, (2005), pp. 68--76
5. Lee, Y., Lee, S., Shamir, A., Cohen-or, D., Seidel, H.P.: Mesh scissoring with minima rule
and part salience. Computer Aided Geometric Design, Vol. 22, (2005), pp. 444--465
6. Shapira, L., Shamir, A., Cohen-or, D.: Consistent mesh partitioning and skeletonisation
using the shape diameter function. The Visual Computer, Vol. 24, (2008), pp. 249--259
7. Shamir, A.: A survey on mesh segmentation techniques. Computer Graphics Forum, Vol.
27, (2008), pp. 1539--1556
8. Attene, M., Katz, S., Mortara, M., Patane, G., Spagnuolo, M., Tal, A.: Mesh Segmentation
- a Comparative Study. In: Proceedings of SMI, pp. 14--25, (2006)
9. Hoffman, D.D., Richards, W.: Parts of recognition. Cognition, Vol. 18, (1984), pp. 65--96.
10. Hoffman, D.D., Singh, M.: Salience of visual parts. Cognition, Vol. 63, (1997), pp. 29--78
11. Sethian, J., Kimmel, R.: Computing geodesic paths on manifolds. Proc. of Natl. Acad. Sci.
Vol. 95, no. 15, pp. 8431--8435, (1998)
12. Hilaga, M. Shinagawa, Y., Kohmura, T., Kunii, T.L.: Topology matching for fully
automatic similarity estimation of 3d shapes. In Proceedings of the 28th annual conference
on Computer graphics and interactive techniques, SIGGRAPH '01, (New York, NY, USA),
pp. 203--212, ACM, (2001)
13. Shoelace formula in Wikipedia. Available from:
http://en.wikipedia.org/wiki/Shoelace_formula.
Advanced Science and Technology Letters Vol.120 (DCA 2015)
764 Copyright © 2015 SERSC