On the Feasible Regions Delimiting Natural Human Postures in a Novel Skeletal Representation

The de facto standard for storing human motion data on a computer involves a representation based on Euler angles. This representation, while effective, has several short-comings. Triplets of Euler angles are not unique, and the same posture may be expressed using different combinations of angles. Furthermore, many possible Euler angle triplets correspond to unnatural positions for human joints. This means that, in general, a large part of the representational space remains unused. In this paper, we further investigate a recently proposed representation inspired by molecular representations. It uses only two (instead of three) degrees of freedom per joint: a vector and a torsion angle. Using the two key ingredients of this new representation, we present a complete analysis of the Graphics Lab Motion Capture Database. The data found in this analysis provide us with some powerful insights about natural and unnatural human postures in human motions. These insights can potentially lead to possible constraints on human motions which may be used to more effectively solve open problems in the computer graphics community, most notably the problem of (human) motion adaptation.


I. INTRODUCTION
S EVERAL open problems in computer graphics deal with human motions [2], [3], [9], in which these motions may come from motion capture recordings. In human motions, we have a skeletal character which changes its postures over time. The anatomy of the character in these motions can defined as a graph G = (V, E), in which the vertex set V represents the joints and the edge set E represents the bones of the human skeleton. In this work, and generally in the context of human motions, these graphs G are regarded as trees, in which every joint v * V has a unique parent joint, assigned by a function p : v * V \ {v 0 } ³ p(v). Note that because G is a tree, we have that the number of bones |E| = |V | 2 1.
In order to complete the representation of our characters, we need the function which assigns a three-dimensional offset from to every joint of the character to its unique parent joint. The real value ||χ(v)|| corresponds to the length of the bone {u, v} * E, where the symbol || · || represents the Euclidean norm. This means that this function χ together with the anatomy G lets us define the morphology of the skeleton (G, χ) [8]. In graph theory, the pair (G, χ) is generally referred to as "skeletal structure". Furthermore, if we add a fictive root joint v 0 to the tree G and fix it at position (0, 0, 0), we can use the offsets between This T-pose is the commonly used initial posture of the human motions, particularly in BVH files [6]. These labels we use for the joints originate from files composing the motion database we use in our analysis. Joints with |χ| = 0 are shown next to their parent joint, marked in italic. a joint v and its parent defined by χ to find a realization of the initial posture x 0 of the skeleton. If we let p be the function that pairs the parent to each vertex v * V , we can define the realization of the initial posture as follows:  1 shows a commonly used default position for the skeletal motions considered in this paper. The motion itself is then defined by the changing positions of the n joints in V over time, where the time is generally defined as a sequence of m frames t * T , with T = {1, 2, . . . , m}. A possible simple choice for representing the motion of the character would be to use Cartesian coordinates to assign a three-dimensional position to each joint changing over time: The standard way of describing human motions utilizes an Euler angle representation ρ. At every frame t, we assign a triplet of Euler angles θ (pitch), φ (roll) and η (yaw) to every bone of the skeletal structure representing our character. Together with the known offset between p(v) and v, we can define a transformation matrix M t (v) that takes into consideration both the translation data from χ(v) and the given Euler angles. The formula capable to converting the Euler angles in absolute positions for the joints is: where P (v) is set of vertices u that form the unique path from v 0 to v over the tree structure of the graph. For a more detailed discussion of the transformations involved in the Euler representations (with a particular focus on the standard BVH file format), the reader is referred to [6].
In this work, we consider the vector-torsion angle representation proposed in [4] to represent our human skeletons, and present an in-depth statistical analysis, over a large database, aiming at identifying the feasible regions in the vector-torsion angle space for all joints forming a human character. This is a continuation of the work previously proposed in [4], in which we had only presented some preliminary results for this analysis. To the best of our knowledge, this is the first time an analysis of this kind on the full skeleton has been performed in the relation to human motions and motion capture in general.
The rest of the paper is organized as follows. In Section II, we recall the main definitions regarding our vector-torsion angle representation of the human skeleton. In Section III, we present our analysis on a very-well known motion capture database where the new vector-torsion angle representation is employed. This complete analysis allows us to identify constraints for each of the joints of the skeleton. As finally discussed in Section IV, the results of the presented analysis are likely to have a positive impact on computer graphics applications such as motion adaptation.

II. THE VECTOR-TORSION ANGLE REPRESENTATION
We briefly summarize in this section the main ideas behind the vector-torsion angle representation initially proposed in [4]. Recall that the graph G is a tree representing the anatomy of the human character, and that, together with the offset function χ, it defines a skeletal structure (G, χ) describing the full morphology of the character. By following the natural vertex order given by the structure of G, we can define two angles, a vector angle and a torsion angle ω v , for every vertex v * V which has at least three ancestors.
Definition 1 Given a skeletal structure (G, χ) and one realization x, the vector angle ζ v for the joint v in this realization is the smallest angle (in the range [0, 180 ç ]) formed by the line passing through x((p ç p)(v)) and x(p(v)), and the line passing through x(p(v)) and x(v). Definition 2 Given a skeletal structure (G, χ) and one realization x, the torsion angle ω v for the joint v in this realization is the clockwise angle (in the range [0, 360 ç ]) formed by the plane defined by x((p ç p ç p)(v)), x((p ç p)(v)) and x(p(v)), and the plane defined by x((p ç p)(v)), x(p(v)) and x(v).
When a realization x preserves the morphology of the character, we can use this pair of angles combined with the bone lengths (defined by χ) to find the Cartesian coordinates of any joint v that has at least three ancestors. We point out that the idea of using these two angles, while novel in relation to motions, stems from work in the field of Molecular Biology. There, the angles are in fact used in the context of proteins and other molecules in order to differentiate between molecular conformations [1], [10]. The value that the vectortorsion representations has to offer to represent motions can be summarized in the following four advantages: (i) the combination of a vector angle with a torsion angle cannot lead to any representation singularities, (ii) there exists a bijective correspondence between the value of the angles and the positions in space for the joints, (iii) it exhibits only two degrees of freedom for recovering the same joints positions of the skeletal representations, as the triplets of Euler angles are capable to do with three degrees of freedom, and (iv) it allows us to empirically constrain the feasible (and mostly continuous!) regions in the vector-torsion angle space where only natural postures for the human skeleton can be found.
For more details about the vector-torsion representation, the reader is referred to our original publication [4].

III. MOTION ANALYSIS
In this section we present an analysis of the Graphics Lab Motion Capture Database 1 , a large database of human motions resulting from recordings using motion capture. The database contains 2436 motion files which sum to a total of more than four million frames. In the following, we will refer to human joints with labels such as Hips, RightShoulder, LeftLeg and others, which we take from the data file forming the motion database.
Using the vector-torsion representation briefly presented in Section II, we conducted a statistical analysis of the vector angles ζ t v and torsion angles ω t v of every applicable joint v at every frame t of these four million frames. Using the resulting data from this experiment, we generated a heat-map scatterplot for each joint v.
Even though it is not possible to define the vector and torsion angles for the joints having fewer than three ancestors, we also performed the analysis on these joints. In fact, there is no need in our analysis to build up human postures, but only to look at the available postures of the database. Therefore, for those joints missing a sufficient number of ancestors, we have simply defined a different set of "reference joints" in the graph G, that we subsequently use for defining the vector and torsion angles. Table I shows the complete set of joints for which we performed our analysis, together with the list of Other joints are however excluded from our analysis. These are all the joints which share the same global position with some other joints, because their offset to the parent has zero length. Although this may sound like a contradiction, these joints actually have the purpose of modifying the orientation (the corresponding Euler angles are non-zero) of the entire set of subsequent bones on the current skeleton branch. Therefore, joints with |χ v | = 0 are omitted, and they are not counted as ancestors of other joints either.
We present several scatter-plots obtained in the analysis described above, starting at the head of the skeleton, working our way down to the feet. The following figures show a total of 18 plots for different joints of our human skeleton, with the vector angles on the x-axis and the torsion angles on the y-axis. In these plots, points tending to the warmer colors correspond to pairs of angles that were found more frequently. Fig. 2 collects the first set of 12 scatter-plots. The name of joints related to the presented plots are given in the plot itself. The first joint we considered, the Head joint, is only able to perform limited movements in the space defined by the vector and torsion angle, as expected. Roughly speaking, only one third of this space is actually feasible for this joint. Moreover, the warmer part of the scatter-plot indicates that the most common posture for this joint is when the two angles are close to 180 ç , which is compatible with an erected posture for the upper body part.
While the Neck joint exhibits a pattern very similar to the one of the Head joint, we notice that the two joints involved in the modeling of the human spine (Spine and Spine1 joints) admit an even smaller feasible space. This is particularly true for the Spine1 joint (see Fig. 1 to identify the exact location of the joint), where a large part of the scatter-plot remained "immaculate white", which is, the combinations of vector and torsion angles in those white areas are completely infeasible for a human spine.
The LeftArm and RightArm joints exhibit a quite constrained pattern as well, which is similar to those found for some of the previous joints but shifted in the center of the vector angle axis (the x-axis). This corresponds to saying that the angle formed by the spine and the one of these two joints is in most of the cases close to 90 ç . Notice in fact that these two joints share the same global Cartesian positions with the LeftShoulder and RightShoulder joints. We can also remark that the two scatter-plots are symmetric w.r.t. the axis parallel to the x-axis and passing through the torsion angle value 180 ç .
The expected flexibility for the human arms is reflected in the two corresponding scatter-plots, the ones related to the LeftForeArm and RightForeArm joints. This is in fact the first pair of joints that we comment for which the "colored areas" are able to cover more than 50% of the two-dimensional space. Yet, there are still particular combinations of vector and torsion angles that correspond to unnatural postures.
Similarly, the scatter-plots related to the LeftHand and RightHand joints show a quite large range of movement possibilities. This was expected as well. Moreover, the little populated blue areas in these two scatter-plots seem to suggest the extremely high flexibility of the human hand: even if sometimes very uncommon (a few frames of the database may contain them), there exist very special (and still natural) postures that the human hand can take. Therefore, if we take into consideration in full these low-populated areas, we can state that the scatter-plots related to the human hands are the ones that almost cover the entire two-dimensional space.
When stepping down over the joints forming the human legs, we can observe similar patterns. For the LeftUpLeg and the RightUpLeg joints, we can notice that the patterns are similar to those observed for the two upper arm bones. The same applies for the LeftLeg and RightLeg joints (see Fig. 3, even if they seem to admit little larger movement possibilities w.r.t. the corresponding arm joints). The human feet (LeftFoot and RightFoot joints) also exhibit quite large movement possibilities, similarly to what we have observed for the hand joints, but the low-populated areas in the scatter-plots for the feet are much more sparse. This may be consequence of the fact that the human feet lost, during evolution, part of their movement possibilities, but the similarity to the hands seems to be still visible in our figures.
Finally, the scatter-plots of the LeftToeBase and RightToe-Base joints show that they are the only joints that can actually span the entire two-dimensional space, but the region is mostly not continuous and most of the vector-torsion combinations are actually placed around the center of the plot, where ζ v = 90 ç and ω v = 180 ç .
To sum up, our analysis shows that there exist large differences in flexibility between different joints, and the feasible regions tend to vary a lot on the basis of the nature of each joint. In general, the vector angle seems to be the most restrictive factor. In fact, for joints like the Head, Neck and Spine joints, we see that the feasible vector angle regions are around the 180 ç mark and do not vary much. The plots for these joints are quite similar, and this makes sense when we look at their respective ancestor joints in the skeleton (see Fig. 1) Joints on the right and left side of the human body appear to have very comparable regions, except for the fact that the values of the torsion angles are generally inverted. This is a result from the fact that we use a clockwise rotation to compute the torsion angles between the two planes defined by the quadruplets of joints. This gives rise to the symmetry property mentioned above.

IV. CONCLUSIONS
We have further expanded on the recently proposed vectortorsion angle representation for human motions. Furthermore, we presented an extensive analysis using this representation, in order to find the feasible regions which delimit natural human postures during human motions.
Constraints that can be derived from this analysis are likely to play a very important rule in works on motion adaptation [2], [3]. They may allow us to avoid defining many unnatural human positions in an attempt to create motions satisfying some new constraints, related for example to a change of morphology for the character. When using our vector-torsion representation, the constraints on the values of the vector and torsion angles can directly be imposed; those related to joints with too few ancestors may instead be used for verification. Applying such constraints for motion adaptation, in the context of dynamical distance geometry [7], [8], [9], is one of the main directions for future work.