
R. Hu, L. Fan, L. Liu / Co-Segmentation of 3D Shapes via Subspace Clustering
ometry of an individual shape may lack sufficient cues to iden-
tify all parts that would be perceived as meaningful to a human
observer.
Co-segmentation of 3D shapes. There have been various re-
cent works on consistently segmenting a set of 3D shapes from
the same class into semantic parts. Kraevoy et al. [KJS07] per-
form an initial segmentation of each model into parts and then
create a consistent segmentation by matching the parts and
finding their correspondences. Huang et al. [HKG11] present
a linear programming based approach for jointly segmenting a
heterogenous database of shapes, which significantly outper-
forms single-shape segmentation techniques. However, these
two methods provide only mutually consistent segmentation
but cannot guarantee the consistency of the final segmenta-
tions across the set.
Golovinskiy and Funkhouser [GF09] consider the consis-
tent segmentation as a graph clustering problem. By assum-
ing that there is a global rigid alignment between matching
shapes, their approach builds connection among the corre-
sponding parts using ICP, and thus can handle limited model
types only. To deal with non-homogeneous part scales, Xu et
al. [XLZ∗10] classify the shapes based on their styles and then
establish part correspondences in each style group. However,
the graph generation process is computationally expensive.
Kalogerakis et al. [KHS10] present a supervised learning
based technique that employs information from shapes in a
training set to segment a given shape, demonstrating signifi-
cant improvement over single-shape segmentation algorithms.
van Kaick et al. [vKTS∗11] further incorporate prior knowl-
edge learned from a set of pre-segmented and labeled shapes
for performing part correspondences. Consistent segmenta-
tion may be established based on individual labeling of the
shapes, however, a large number of manually segmented train-
ing shapes are needed in these learning based approaches,
while our approach is entirely unsupervised and does not re-
quire such training data.
Sidi et al. [SvKK∗11] propose an unsupervised approach
for co-segmenting a set of shapes with large variation. The
correspondences between dissimilar parts could be built via
linking through third-parties. However, this approach needs
initial segmentations for the shapes, which might result in un-
satisfactory results when the per-shape segmentation cannot
reflect the semantic parts well. On the other hand, our ap-
proach simultaneously generates the segmentations and their
correspondences from the over-segmented patches, which is
more flexible.
In an independent recent work, Meng et al. [MXLH12] also
present an unsupervised algorithm for co-segmenting a set of
similar 3D shapes by clustering the oversegmentated prim-
itive patches and empolying the multi-label optimization to
improve the results. Unlike our method, they adopt only two
shape descriptors to cluster the patches which might fail in
cases of dissimilar objects.
Subspace clustering. Part of our research is inspired by the
recent works of subspace clustering methods [Vid10].
Subspace clustering
aims to cluster the high-
dimensional datasets into
multiple low-dimensional
linear subspaces simul-
taneously (see the figure
on the right) and has
been widely used in com-
puter vision, image processing, and data regression, etc.
(see [PHL04,Vid10] and references therein). We treat the
co-segmentation of a set of shapes as a subspace clustering
problem within multiple feature spaces by introducing a
consistent multi-feature penalty in the optimization.
3. Overview
Our co-segmentation algorithm takes a set of meshes from an
object category as input and produces a consistent segmenta-
tion of these meshes as output. First, we independently com-
pute a set of primitive patches for each input mesh. Then, we
calculate a few feature vectors for each patch. Finally, we per-
form subspace clustering on all patches in multiple feature
spaces and obtain co-segmentations of these meshes.
Over-segmentation. Similar to the idea of superpixels in
image segmentation [SM00,RM03] which are used to bal-
ance segmentation quality and computational cost, we per-
form an over-segmentation on each shape by partitioning it
into primitive patches [HKG11]. We employ the normalized
cuts (NCuts) [GF08] to generate the primitive patches for each
shape. The number of patches per shape is set to be p=50
in our implementation. See Figure 1for two examples of the
over-segmentation results.
Feature descriptors. We rely on geometric features to cluster
the patches into parts among the set of shapes. Thus we prefer
to choose a set of feature descriptors that is as informative as
possible to distinguish patches of different parts.
We select H=5 feature descriptors in our algorithm. Four
descriptors, i.e., Gaussian curvature (GC) [GCO06], shape di-
ameter function (SDF) [SSS∗10], average geodesic distance
(AGD) [HSKK01], and shape contexts (SC) [BMP02], are se-
lected based on a study on feature selections in the learning
approach (see Figure 5 in [KHS10]). The fifth descriptor is
the conformal factor (CF) introduced in [BCG08]. All these
feature descriptors are defined and computed on mesh trian-
gles.
For each feature descriptor, we define a feature vector for
each patch by computing a histogram capturing the distribu-
tion of the feature measurement on the triangles of this patch
(see examples of AGD feature vectors shown in Figure 3). The
number of bins for the histogram is set to be d=100 in our
implementation. Note that the SC feature vector of the patch is
computed differently. We first compute and normalize the SC
c
2012 The Author(s)
c
2012 The Eurographics Association and Blackwell Publishing Ltd.
1705