cian smoothing. They used connectivity surgery to
preserve the original topology and an iterative pro-
cess as an energy minimization problem with con-
traction and attraction terms. Though special atten-
tion must be paid to the contraction parameters, the
method fails in the case of very coarse models. Wa-
tertight meshes are required due to the mesh connec-
tivity constraint from the Laplacian smoothing. Cao
et al. (Cao et al., 2010) extended their work to point
cloud datasets. To do so, a local one-ring connec-
tivity of point neighborhood must be done for the
Laplacian operation, which significantly increases the
processing time. An alternative approach proposed
by Tagliasacchi et al. (Tagliasacchi et al., 2009) uses
recursive planar cuts and local rotational symmetric
axis (ROSA) to extract the curve-skeleton from in-
complete point clouds. However, their approach re-
quires special attention within object joints and it is
not generalizable to all shapes. Similarly, Sam et
al. (Sam et al., 2012) use the cutting plane idea but
only two anchors points must be computed. They
guarantee centeredness by relocating skeletal nodes
using ellipse fitting. However, although the result-
ing curve-skeletons from this work preserve most of
the required properties cited by Cornea et al. (Cornea
et al., 2007), they are impractical when real-time is
required. We herein overcome this limitation by com-
puting the skeletal candidates in the 2-D space.
3 PROPOSED APPROACH
In the following we introduce our approach to extract
the curve-skeleton from upright human-scanned point
clouds. Our major contribution, in which we address
the real-time constraint, is based on the extraction of
the skeletal candidates in the 2-D space. We have
been inspired by image processing techniques used
in silhouette-based human pose estimation (Li et al.,
2009). The final 3-D curve-skeleton results from back
projecting these 2-D skeletal candidates to their right
location in the 3-D space.
Let us consider a scanned point cloud P repre-
sented in a three-dimensional Euclidean space E
3
≡
{p(x,y, z)|1 ≤ x ≤ X,1 ≤ y ≤ Y,1 ≤ z ≤ Z}, and de-
scribing a set of 3-D points p
i
representing the under-
lying external surface of an upright human body. The
first step concerns the voxelization of the given point
cloud to account for the point redundancy resulting
from registering multi-view depth data. To that end,
we have considered the surface voxelization approach
presented in (Garcia and Ottersten, 2014). The result-
ing point cloud P
0
presents both a uniform point den-
sity and a significantly reduction of the points to be
further processed. Our goal is to build a 2-D image
representing the front view of the 3-D body in order
to extract its curve-skeleton using 2-D image process-
ing techniques. To do so, we define a cutting-plane π
being parallel to x and y-axis of E
3
and intersecting
P
0
at
¯
p, the mean point or centroid of the point set P
0
,
i.e.,
¯
p =
1
k
·
∑
k
i=1
p
i
. From our experimental results,
π crossing
¯
p provides good body orientations in the
case of upright body postures, e.g., walking, running
or working. Alternative body configurations are dis-
cussed in Section 4.1. We determine the body orienta-
tion by fitting a 2-D ellipse onto the set of 3-D points
lying on π, i.e., ∀p
i
|p
i
(z) =
¯
p(z). We note that in prac-
tice and due to point density variations, 3-D points
are not necessarily lying on π. Therefore, we con-
sider those 3-D points in P
0
with p
i
(z) ∈ [
¯
p(z) ± λ],
and λ being related to the point density of P
0
, as
depicted in Fig. 1a. We note that λ has to be cho-
sen large enough to ensure a good description of the
body contour. In turn, the higher the point density
the smaller the λ value should be. Fig. 1b illus-
trates the resulting 2-D ellipse using the Fitzgibbon
et al. (Fitzgibbon and Fisher, 1995) approach, imple-
mented in OpenCV (Bradski and Kaehler, 2008). r
and s are unitary vectors along the major and minor el-
lipse axes, respectively. c is the ellipse centroid. Once
the body orientation is known, we build the 2-D image
I representing the front view of the human body. To
do so, we can project P
0
to the 2-D plane π
0
defined
by the ellipse major axis r and with normal vector
s. Image dimensions are given by the projections of
the minimum p
min
= (x
min
,y
min
,z
min
) and maximum
p
max
= (x
max
,y
max
,z
max
) 3-D point coordinates from
P
0
. An alternative solution is to translate P
0
from
the coordinate frame C
1
= (r, s, r × s), and origin
at p
max
, depicted in Fig. 2a, to the coordinate frame
C
2
= (−r,−(r × s), −s), and origin at (0,0,0), de-
(a) (b)
Figure 1: (a) Selected 3-D points (in green color) for el-
lipse fitting. (b) Fitted ellipse using OpenCV (Bradski and
Kaehler, 2008).
Real-timeCurve-skeletonExtractionofHuman-scannedPointClouds-ApplicationinUprightHumanPoseEstimation
55