CN102122391B - Automatic partitioning method for motion capture data - Google Patents

Automatic partitioning method for motion capture data Download PDF

Info

Publication number
CN102122391B
CN102122391B CN2011100783366A CN201110078336A CN102122391B CN 102122391 B CN102122391 B CN 102122391B CN 2011100783366 A CN2011100783366 A CN 2011100783366A CN 201110078336 A CN201110078336 A CN 201110078336A CN 102122391 B CN102122391 B CN 102122391B
Authority
CN
China
Prior art keywords
mrow
msub
msup
mfrac
motion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2011100783366A
Other languages
Chinese (zh)
Other versions
CN102122391A (en
Inventor
魏迎梅
吴玲达
瞿师
杨冰
杨征
宋汉辰
冯晓萌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN2011100783366A priority Critical patent/CN102122391B/en
Publication of CN102122391A publication Critical patent/CN102122391A/en
Application granted granted Critical
Publication of CN102122391B publication Critical patent/CN102122391B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

The invention discloses an automatic partitioning method for motion capture data, which aims at describing high-dimensional motion with low-dimensional motion characteristics and realizes the automatic partitioning of motion capture data by exploring the change of motion characteristics. In a technical scheme, the automatic partitioning method comprises the following steps of: firstly, describing the motion capture data to be partitioned; then, carrying out mean removal preprocessing on the motion capture data to be partitioned, and training a Gaussian process hidden variable model by using preprocessed motion capture data as a sample to realize the dimension reduction of the motion capture data; and constructing and calculating a motion characteristic function by using the dimension reduction result, and exploring motion capture data partitioning points by using the change of geometrical characteristics of a motion characteristic function to realize the automatic partitioning of the motion capture data. In the invention, the positions and the quantity of the partitioning points of motion segments are automatically explored by using the change of the geometrical characteristics of the motion characteristic function without designating the quantity of the motion segments by a user in advance, the automation degree is higher, the motion characteristic function is sensitive to all motion joints of a motion object, and the automatic partitioning method has better universality.

Description

Automatic segmentation method for motion capture data
Technical Field
The invention relates to a method for segmenting motion capture data in the field of computer animation, in particular to a method for automatically segmenting motion capture data based on statistical learning.
Background
In recent years, with the development and popularization of motion capture devices, a new motion generation method, i.e., a motion capture method, has emerged. The method and the device for generating the motion of the virtual character by utilizing the motion capture data have the advantages of easiness in implementation, high motion fidelity and the like. The method is widely applied to the fields of movie and television, advertisement, animation production, teaching and the like. When a motion capture method is applied to generate new motion, motion segmentation is often used, a long sequence of motion capture data is segmented into a series of motion segments with different semantic features, and some motion segments are reordered and motion-spliced to generate new motion meeting requirements. Due to the complexity and diversity of the motion, the motion capture data has the characteristics of multiple types, large data volume and the like, and the manual retrieval and segmentation of the motion capture data are complex work, which increases more burden for the complex animation creation. In order to make better use of motion capture data, automatic segmentation of motion capture data is increasingly gaining attention and is becoming a research hotspot.
The motion capture data is segmented, that is, segmentation points between different motion segments in a motion sequence are found. Some scholars think that different motion segments can show different geometric characteristics, motion segmentation is realized by analyzing the geometric characteristics of motion, and a frame with changed motion geometric characteristics is a segmentation point. In the document "human motion capture data segmentation method based on geometric features", Yangzong et al uses the bending angles of 8 different parts of a human body as the geometric features of human motion, thereby constructing a feature function, and realizing the motion segmentation by analyzing the geometric features of the feature function. In the literature, "three-dimensional human motion feature visualization and interactive motion segmentation", jun et al propose an interactive motion segmentation method based on motion features, which utilizes the included angle of four limbs of the human body relative to a root node to construct a motion feature function, and uses the jump point of the feature function as a segmentation point of the motion. The method has the advantages that the motion characteristics are directly extracted from the joint angle, the characteristic function structure is simple, and the calculation efficiency is high; but they only make a simple trade-off for the joints of the human body, considering only a few of the fixed joints, the characteristic functions are only sensitive to these fixed joints and therefore only adapt to the segmentation of certain specific movements, whereas for the movements performed by those reduced joints, the segmentation is not. If the motion characteristics of all joints are considered, the high dimensionality of the human motion capture data inevitably causes high complexity of the characteristic function, and the calculation efficiency is seriously influenced. Instead of extracting motion features directly from the perspective of joints, other scholars have developed corresponding studies on motion capture data segmentation from a statistical perspective. The method takes vectors formed by all joint degrees of freedom of a human body as a whole for research, starts from the angle of motion capture data variance, and realizes motion segmentation based on different motion segments with different variance distribution, namely, principal components; or starting from the probability distribution of the motion capture data, and performing motion segmentation based on different motion segments and obeying different distributions. Of these, Jemej et al work is representative. Jemej et al propose three motion capture data segmentation methods in the document "Segmenting motion capture data into segments of different behavioral characteristics" (Segmenting motion capture data inter-segments). The human motion capture data segmenters are constructed to obtain segmentation points among different motion segments when the intrinsic dimensions of a subspace model of the motion capture data are changed. In addition, a motion data segmentation method based on Probabilistic Principal Component Analysis (PPCA) has been proposed by introducing a concept of probability distribution into an algorithm. These two algorithms work well for segmenting motion capture data, but they are less computationally efficient. Moreover, Jemej et al also think that different types of motion data form independent clusters, and each cluster follows different Gaussian distributions, and based on this assumption, a motion data segmentation algorithm based on a Gaussian Mixture Model (GMM) is proposed, but when the motion capture data segmentation is performed by using this algorithm, a user is required to specify the number of motion segments to be segmented, which is inconvenient to use because the number of motion segments included in a motion sequence is unknown before segmentation.
Disclosure of Invention
The invention aims to provide an automatic segmentation method of motion capture data, which describes high-dimensional motion by using low-dimensional motion characteristics and realizes automatic segmentation of the motion capture data by detecting the change of the motion characteristics.
The technical scheme of the invention is as follows:
in a first step, motion capture data to be segmented is described by:
1.1, analyzing the motion capture data to be segmented, determining the sequence of the joints constituting the motion and the degree of freedom of each joint, and forming a characteristic vector y by the degree of freedom variables of all the joints, wherein y is a D-dimensional column vector, D is equal to the sum of the degrees of freedom of the recorded character joints, and D is a positive integer.
And 1.2, reading each frame of the motion capture data in sequence, and assigning values to each element of the characteristic vector in sequence according to the determined joint sequence. The feature vector of the ith frame is marked as y'iAnd i is a positive integer.
1.3, for motion capture data to be segmented containing N frames, the matrix Y' may be used.1,y′2,…,y′N]TIt is shown that N is a positive integer.
Secondly, carrying out mean value removing pretreatment, wherein the method comprises the following steps:
2.1, calculating a mean vector of motion capture data to be segmented, wherein a calculation formula is as follows:
<math> <mrow> <mover> <mi>y</mi> <mo>&OverBar;</mo> </mover> <mo>=</mo> <mfrac> <mn>1</mn> <mi>N</mi> </mfrac> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <msub> <msup> <mi>y</mi> <mo>&prime;</mo> </msup> <mi>i</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </math>
2.2, subtracting the mean vector from each row of the matrix Y' to obtain the motion capture data Y after mean value removal preprocessing:
<math> <mrow> <mi>Y</mi> <mo>=</mo> <msup> <mrow> <mo>[</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <msub> <mi>y</mi> <mi>N</mi> </msub> <mo>]</mo> </mrow> <mi>T</mi> </msup> <mo>=</mo> <msup> <mrow> <mo>[</mo> <msub> <msup> <mi>y</mi> <mo>&prime;</mo> </msup> <mn>1</mn> </msub> <mo>-</mo> <mover> <mi>y</mi> <mo>&OverBar;</mo> </mover> <mo>,</mo> <msub> <msup> <mi>y</mi> <mo>&prime;</mo> </msup> <mn>2</mn> </msub> <mo>-</mo> <mover> <mi>y</mi> <mo>&OverBar;</mo> </mover> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <msub> <msup> <mi>y</mi> <mo>&prime;</mo> </msup> <mi>N</mi> </msub> <mo>-</mo> <mover> <mi>y</mi> <mo>&OverBar;</mo> </mover> <mo>]</mo> </mrow> <mi>T</mi> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow> </math>
thirdly, training a Gaussian process hidden variable model by taking the preprocessed motion capture data Y as a sample to realize the dimensionality reduction of the motion capture data:
and 3.1, determining the dimension d of the hidden space after dimension reduction. Motion capture data is observed by a Gaussian process hidden variable model from a high-dimensional observation space yDMapping to a low dimensional hidden space xdThe dimension of the hidden space is 2-3 dimensions, and is determined by adopting the following method: when D is less than 60, D is 2; when D is more than or equal to 60, D is 3. Where D represents the dimension of y and D represents the dimension of x.
And 3.2, determining a kernel function. The kernel function is the core of the Gaussian process hidden variable model, and the invention adopts the following kernel functions:
<math> <mrow> <mi>k</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mi>&alpha;exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <mi>&gamma;</mi> <mn>2</mn> </mfrac> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>+</mo> <mi>&eta;exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>&CenterDot;</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> </mrow> <mrow> <mo>|</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>|</mo> </mrow> </mfrac> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&delta;</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msup> <mi>&beta;</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow> </math>
wherein x isiIs given asiCorresponding hidden variables, alpha and eta are scale factors and represent the correlation degree of two points in hidden space, gamma represents Gaussian distribution variance, beta represents noise, and deltai,jTaking the value of 1 or 0 when x isi,xjIs delta at the same pointi,j1, otherwise δi,j=0。
3.3, training the Gaussian process hidden variable model in an iteration mode until convergence or the maximum number of iterations is reached, in order to improve the iteration efficiency, each iteration is carried out by using a subset of motion data, and the subset currently used for iteration is called as an active set. The method comprises the following specific steps:
3.3.1, initializing model parameters. It is proposed that α is 1, β is 1, γ is 1, η is 1, M is 200, T is 100, and C is 0.01, where M is the active set size, T is the maximum number of iterations, and C is the convergence threshold.
3.3.2 initialize hidden variables by Principal Component Analysis (PCA) (principal Component analyzers) method. Calculating the principal components of the motion capture data, the number of the principal components being equal to the dimension of the hidden space, the hidden variable xiIs taken as motion capture data yiThe result of the initialization, projected on the principal component, is saved as a matrix X with the number of rows equal to the number of frames N of the motion capture data and the number of columns equal to the dimension d of the hidden space.
3.3.3, selecting a new active set by using an information Vector machine algorithm IVM (information Vector machine), wherein the specific algorithm refers to a quick sparse Gaussian process method in New Lawrence et al: information Vector machines "(Fast SparsegGaussian Process Methods: The information Vector Machine).
And 3.3.4, estimating parameters alpha, beta, gamma and eta by using a maximum likelihood method. Iteration is carried out by using the current values of alpha, beta, gamma and eta as initial values and using a proportional Conjugate gradient algorithm SCG (scaled Conjugate gradients), and the maximum likelihood estimation of the parameters of alpha, beta, gamma and eta is obtained by minimizing an objective function (4) (namely, the negative log value of the posterior probability of the hidden variable).
Figure BDA0000052789750000041
Wherein,
Figure BDA0000052789750000042
in order to be the active set,is composed of
Figure BDA0000052789750000044
K is a kernel function matrix whose elements are calculated by equation (3), K (i, j) ═ K (x)i,xj)。
The proportional conjugate gradient algorithm is shown in Martin F.
Figure BDA0000052789750000045
In the document "application of proportional Conjugate Gradient Algorithm in Fast Supervised Learning" (a Scaled Conjugate Gradient Algorithm for Fast Supervised Learning), when iterating with the proportional Conjugate Gradient method, the partial derivatives to be used are respectively calculated by the following formula:
Figure BDA0000052789750000051
<math> <mrow> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>k</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&PartialD;</mo> <mi>&alpha;</mi> </mrow> </mfrac> <mo>=</mo> <mi>exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <mi>&gamma;</mi> <mn>2</mn> </mfrac> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow> </math>
<math> <mrow> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>k</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&PartialD;</mo> <mi>&beta;</mi> </mrow> </mfrac> <mo>=</mo> <msub> <mi>&delta;</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow> </math>
<math> <mrow> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>k</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&PartialD;</mo> <mi>&gamma;</mi> </mrow> </mfrac> <mo>=</mo> <mo>-</mo> <mfrac> <mi>&alpha;</mi> <mn>2</mn> </mfrac> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mi>exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <mi>&gamma;</mi> <mn>2</mn> </mfrac> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>8</mn> <mo>)</mo> </mrow> </mrow> </math>
<math> <mrow> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>k</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&PartialD;</mo> <mi>&eta;</mi> </mrow> </mfrac> <mo>=</mo> <mi>exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>&CenterDot;</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> </mrow> <mrow> <mo>|</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>|</mo> </mrow> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>9</mn> <mo>)</mo> </mrow> </mrow> </math>
3.3.5, selecting a new active set by using an Information Vector Machine (IVM) algorithm in the same way as 3.3.3.
3.3.6 minimizing the negative logarithm L of the joint probability density of hidden and observed variables by the proportional conjugate gradient algorithm SCG for each hidden space mapping point not in the active setIK(x,y)And calculating the new hidden variable value of the point.
<math> <mrow> <msub> <mi>L</mi> <mrow> <mi>IK</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>=</mo> <mfrac> <msup> <mrow> <mo>|</mo> <mo>|</mo> <mi>y</mi> <mo>-</mo> <mi>g</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> </mrow> <mn>2</mn> </msup> <mrow> <mn>2</mn> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>+</mo> <mfrac> <mi>D</mi> <mn>2</mn> </mfrac> <mi>ln</mi> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>+</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msup> <mrow> <mo>|</mo> <mo>|</mo> <mi>x</mi> <mo>|</mo> <mo>|</mo> </mrow> <mn>2</mn> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>10</mn> <mo>)</mo> </mrow> </mrow> </math>
Wherein,
Figure BDA0000052789750000057
σ2(x)=k(x,x)-k(x)TK-1k(x) (12)
wherein k (x) is an M-dimensional column vector, and the ith element is k (x)i,x),
Figure BDA0000052789750000058
Is an active set, and x is a hidden variable. When the proportional conjugate gradient method is used for iteration, the partial derivatives required to be used are respectively calculated by the following formula:
<math> <mrow> <mfrac> <msub> <mrow> <mo>&PartialD;</mo> <mi>L</mi> </mrow> <mi>IK</mi> </msub> <mrow> <mo>&PartialD;</mo> <mi>x</mi> </mrow> </mfrac> <mo>=</mo> <mo>-</mo> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>g</mi> <msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mi>T</mi> </msup> </mrow> <mrow> <mo>&PartialD;</mo> <mi>x</mi> </mrow> </mfrac> <mrow> <mo>(</mo> <mi>y</mi> <mo>-</mo> <mi>g</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>/</mo> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>+</mo> <mfrac> <mrow> <msup> <mrow> <mo>&PartialD;</mo> <mi>&sigma;</mi> </mrow> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&PartialD;</mo> <mi>x</mi> </mrow> </mfrac> <mo>[</mo> <mi>D</mi> <mo>-</mo> <mfrac> <msup> <mrow> <mo>|</mo> <mo>|</mo> <mi>y</mi> <mo>-</mo> <mi>f</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> </mrow> <mn>2</mn> </msup> <mrow> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>]</mo> <mo>/</mo> <mrow> <mo>(</mo> <mn>2</mn> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>+</mo> <mi>x</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>13</mn> <mo>)</mo> </mrow> </mrow> </math>
Figure BDA0000052789750000061
<math> <mrow> <mfrac> <mrow> <msup> <mrow> <mo>&PartialD;</mo> <mi>&sigma;</mi> </mrow> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&PartialD;</mo> <mi>x</mi> </mrow> </mfrac> <mo>=</mo> <mo>-</mo> <mn>2</mn> <mi>k</mi> <msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mi>T</mi> </msup> <msup> <mi>K</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>k</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&PartialD;</mo> <mi>x</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>15</mn> <mo>)</mo> </mrow> </mrow> </math>
<math> <mrow> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>k</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&PartialD;</mo> <mi>x</mi> </mrow> </mfrac> <mo>=</mo> <mo>-</mo> <mi>&alpha;&gamma;</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>-</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> <mi>exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <mi>&gamma;</mi> <mn>2</mn> </mfrac> <msup> <mrow> <mo>|</mo> <mo>|</mo> <mi>x</mi> <mo>-</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>|</mo> <mo>|</mo> </mrow> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mo>-</mo> <mi>&eta;exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <mrow> <mi>x</mi> <mo>&CenterDot;</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> </mrow> <mrow> <mo>|</mo> <mi>x</mi> <mo>|</mo> <mo>|</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>|</mo> </mrow> </mfrac> <mo>)</mo> </mrow> <mfrac> <mrow> <msup> <mrow> <mo>|</mo> <mi>x</mi> <mo>|</mo> </mrow> <mn>2</mn> </msup> <mo>|</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>|</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>-</mo> <mo>|</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>|</mo> <mrow> <mo>(</mo> <mi>x</mi> <mo>&CenterDot;</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> <mi>x</mi> </mrow> <mrow> <msup> <mrow> <mo>|</mo> <mi>x</mi> <mo>|</mo> </mrow> <mn>3</mn> </msup> <msup> <mrow> <mo>|</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>|</mo> </mrow> <mn>2</mn> </msup> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>16</mn> <mo>)</mo> </mrow> </mrow> </math>
3.3.7, if max { | | Δ α |, | | Δ β |, | | Δ γ |, | | Δ η | } is less than C, it represents convergence, terminating the iteration; otherwise, go to 3.3.8.
3.3.8, if the maximum iteration time T is reached, terminating the iteration; otherwise, go to 3.3.3.
Fourthly, constructing and calculating a motion characteristic function by using the dimension reduction result, wherein the method comprises the following steps:
4.1, calculating the coordinate of the hidden space reference point, wherein the minimum value of each dimension of all hidden variables is used as the coordinate value of the dimension of the hidden space reference point, and the calculation formula is as follows:
<math> <mrow> <msub> <mover> <mi>x</mi> <mo>~</mo> </mover> <mi>j</mi> </msub> <mo>=</mo> <munder> <mi>min</mi> <mrow> <mn>1</mn> <mo>&le;</mo> <mi>i</mi> <mo>&le;</mo> <mi>N</mi> </mrow> </munder> <msub> <mi>X</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>17</mn> <mo>)</mo> </mrow> </mrow> </math>
wherein,
Figure BDA0000052789750000065
representing the j-th coordinate of the hidden space reference point, X ═ X1,x2,…,xN]T
4.2, constructing a motion characteristic function as follows:
f ( x ) = | | x - x ~ | | - - - ( 18 )
4.3, calculating a motion characteristic function value corresponding to each frame of motion capture data, and converting the motion capture data into a series of scalar values:
Motion(N)=[f(x1),f(x2),…,f(xN)] (19)
fifthly, detecting the segmentation points of the motion capture data by using the change of the geometric characteristics of the motion characteristic function to realize the automatic segmentation of the motion capture data, wherein the method comprises the following steps:
5.1, traversing the motion characteristic function value sequence motion (N) obtained in the fourth step, and obtaining a local maximum value sequence and a local minimum value sequence, wherein the method comprises the following steps: if f (x)i)>f(xi+1) And f (x)i)>f(xi-1) Then f (x)i) Is a local maximum; if f (x)i)<f(xi+1) And f (x)i)<f(xi-1) Then f (x)i) Is a local minimum. The calculation result is stored as a one-dimensional array:
<math> <mrow> <mi>Extremum</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <mo>[</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <msub> <mi>i</mi> <mn>1</mn> </msub> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <msub> <mi>i</mi> <mn>2</mn> </msub> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <msub> <mi>i</mi> <mi>n</mi> </msub> </msub> <mo>)</mo> </mrow> <mo>]</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>20</mn> <mo>)</mo> </mrow> </mrow> </math>
wherein i1,i2,…,inE {1, 2, …, N }, and i1<i2<…<in. Local maxima and local minima occur alternately, i.e. if
Figure BDA0000052789750000072
Is a local maximum, then
Figure BDA0000052789750000073
Is a local minimum value, if
Figure BDA0000052789750000074
Is a local minimum, then
Figure BDA0000052789750000075
Is a local maximum.
And 5.2, detecting the segmentation point of the motion capture data. For each of Extremum (n)
Figure BDA0000052789750000076
If it is not
Figure BDA0000052789750000077
OrThenFor possible segmentation points of the motion capture data, λ is a scaling factor, typically 0.2 < λ < 0.6, suggesting λ 0.45.
And 5.3, removing redundant segmentation points. If two or more continuous points in the sequence extreme (n) are judged as the segmentation points, the motion segment is the transition motion between the motion segments, any one of the points is only required to be reserved as the segmentation points, and the rest points are discarded.
The motion capture data segmentation method can achieve the following technical effects:
1. compared with the method which is provided by Yangtze east and Shaojun and the like and directly extracts the motion characteristics from a plurality of fixed motion joint rotation angles to carry out motion data segmentation, the method maps high-dimensional motion capture data to a low-dimensional hidden space through a Gaussian process hidden variable model, and then constructs a motion characteristic function by utilizing hidden variables.
2. Compared with the method for motion segmentation from the aspect of statistical learning proposed by Jemej et al, especially compared with the method based on a Gaussian mixture model, in the fifth step of the method, the positions and the number of the segmentation points of the motion segments are automatically detected by using the change of the geometric features of the motion feature function, the number of the motion segments does not need to be specified in advance by a user, and the automation degree is higher.
Drawings
FIG. 1 is a flow chart of the method for automatically segmenting motion capture data according to the present invention.
Fig. 2 is a flow chart describing the motion capture data to be segmented in the first step of the present invention.
FIG. 3 is a flow chart of the second step of the present invention, the pre-averaging process.
FIG. 4 is a flow chart of the third step of training a Gaussian process hidden variable model to perform motion capture data dimension reduction according to the present invention.
FIG. 5 is a flow chart of the fourth step of constructing and calculating the motion characteristic function according to the present invention.
FIG. 6 is a flow chart of the fifth step of automatically detecting the segmentation points of the motion capture data according to the present invention.
FIG. 7 is an example of the present invention for performing automatic segmentation of motion capture data from the mocap human motion capture database of the university of Camegie Mellon, USA.
FIG. 8 is a comparison of the performance of the method of the present invention with other methods.
Detailed Description
FIG. 1 is a flow chart of the method for automatically segmenting motion capture data according to the present invention, which comprises the following specific steps:
a first step of describing motion capture data to be segmented;
secondly, performing mean value removing pretreatment on the motion capture data;
thirdly, training a Gaussian process hidden variable model to realize the dimension reduction of motion capture data;
fourthly, constructing and calculating a motion characteristic function;
and fifthly, detecting the motion capture data segmentation points by using the change of the geometric characteristics of the motion characteristic function, realizing automatic segmentation of the motion capture data, and obtaining segmented motion segments.
FIG. 2 is a flow chart of the first step of establishing and computing feature vectors according to the present invention. The method comprises the following specific steps:
2.1, determining the dimension of the characteristic vector and the physical significance of each dimension;
2.2, calculating a feature vector corresponding to each frame of the motion capture data;
and 2.3, representing the motion capture data by a matrix composed of the characteristic vector sequences.
FIG. 3 is a flow chart of a second step of the present invention for a pre-averaging process of motion capture data. The method comprises the following specific steps:
3.1, calculating a mean vector of motion capture data to be segmented;
and 3.2, subtracting the mean vector from each row of the motion capture data matrix to obtain the motion capture data subjected to mean value removal preprocessing.
FIG. 4 is a flow chart of the third step of training a Gaussian process hidden variable model to perform motion capture data dimension reduction according to the present invention. The method comprises the following specific steps:
4.1, determining the dimension of the hidden space after dimension reduction;
4.2, initializing model parameters, α ═ 1, β ═ 1, γ ═ 1, η ═ 1, M ═ 200, T ═ 100, and C ═ 0.01;
4.3 initializing the hidden variable matrix X ═ X by principal component analysis1,x2,…,xN]T
4.4, selecting a new active set by using an information vector machine algorithm;
4.5, updating parameters alpha, beta, gamma and eta by a maximum likelihood method;
4.6, selecting a new active set by using an information vector machine algorithm;
and 4.7, updating the hidden variable value x of each point in the inactive set.
4.8, judging whether convergence occurs or not, and if the convergence occurs, stopping iteration; otherwise, judging whether the iteration frequency reaches a preset value T, if so, stopping the iteration, otherwise, turning to 4.4.
FIG. 5 is a flow chart of the fourth step of constructing and calculating the motion characteristic function according to the present invention. The method comprises the following specific steps:
5.1, calculating the coordinate of a hidden space reference point, wherein the coordinate consists of the minimum value of corresponding dimensions in all hidden variables;
5.2, constructing a motion characteristic function;
and 5.3, calculating a motion characteristic function value corresponding to each frame of motion capture data, and converting the motion capture data into a series of discrete values to obtain a motion characteristic function value sequence corresponding to each frame of motion capture data.
FIG. 6 is a flowchart illustrating a fifth step of automatically detecting motion capture data segmentation points to implement motion segmentation according to the present invention. The method comprises the following specific steps:
6.1, traversing the motion characteristic function value sequence obtained in the fourth step, and obtaining a local maximum value sequence and a local minimum value sequence;
6.2, detecting the division points of the motion segments;
and 6.3, removing redundant segmentation points of the motion segment to obtain final segmentation points of the motion segment, thereby realizing the segmentation of the motion capture data.
Fig. 7 shows an example of automatic segmentation of motion capture data according to the present invention, wherein the motion capture data to be segmented consists of two motion segments, namely kicking and boxing, for a total of 980 frames.
Fig. 7a, motion capture data to be segmented, consisting of two motion segments, kicking and punching, for a total of 980 frames.
Fig. 7b, automatic detection of motion split points. Of the 980 motion feature function value sequences, there are 9 local maxima and 8 local minima. And detecting 2 motion segmentation points which are respectively positioned in 643 frames and 660 frames, randomly selecting one motion segmentation point as the motion segmentation point, and dividing the motion capture data to be segmented into two motion segments of kicking and boxing.
FIG. 8 is a comparison of the performance of the present invention with other methods. The performance index comprises precision ratio and recall ratio of the segmentation points, the result of manual segmentation is used as an evaluation standard, the precision ratio is the proportion of correct segmentation points in the segmentation points automatically detected by the method, and the recall ratio is the proportion of correct segmentation points in the segmentation points automatically detected by the method. Compared with a method for directly extracting motion characteristics from a plurality of fixed joints, the characteristic function constructed by the method is sensitive to all joints, so that the method has higher recall ratio but lower precision ratio; compared with the method based on the Gaussian mixture model, precision ratio and recall ratio are higher, and the method does not need a user to specify the number of motion segments in advance, which is another obvious advantage.

Claims (3)

1. A method for automatic segmentation of motion capture data, comprising the steps of:
in a first step, motion capture data to be segmented is described by:
1.1, analyzing motion capture data to be segmented, determining the sequence of joints forming the motion and the degree of freedom of each joint, and forming a characteristic vector y by the degree of freedom variables of all the joints, wherein y is a D-dimensional column vector, D is equal to the sum of the degrees of freedom of the recorded role joints, and D is a positive integer;
1.2, reading each of the motion capture data in turnThe frames are sequentially assigned to each element of the feature vector according to the determined joint sequence, and the feature vector of the ith frame is marked as y'iI is a positive integer;
1.3, for the motion capture data to be segmented containing N frames, using a matrix Y ═ Y'1,y′2,…,y′N]TN is a positive integer;
secondly, carrying out mean value removing pretreatment, wherein the method comprises the following steps:
2.1, calculating a mean vector of motion capture data to be segmented, wherein a calculation formula is as follows:
<math> <mrow> <mover> <mi>y</mi> <mo>&OverBar;</mo> </mover> <mo>=</mo> <mfrac> <mn>1</mn> <mi>N</mi> </mfrac> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <msub> <msup> <mi>y</mi> <mo>&prime;</mo> </msup> <mi>i</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </math>
2.2, subtracting the mean vector from each row of the matrix Y' to obtain the motion capture data Y after mean value removal preprocessing:
<math> <mrow> <mi>Y</mi> <mo>=</mo> <msup> <mrow> <mo>[</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mi>y</mi> <mi>N</mi> </msub> <mo>]</mo> </mrow> <mi>T</mi> </msup> <mo>=</mo> <msup> <mrow> <mo>[</mo> <msub> <msup> <mi>y</mi> <mo>&prime;</mo> </msup> <mn>1</mn> </msub> <mo>-</mo> <mover> <mi>y</mi> <mo>&OverBar;</mo> </mover> <mo>,</mo> <msub> <msup> <mi>y</mi> <mo>&prime;</mo> </msup> <mn>2</mn> </msub> <mo>-</mo> <mover> <mi>y</mi> <mo>&OverBar;</mo> </mover> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <msup> <mi>y</mi> <mo>&prime;</mo> </msup> <mi>N</mi> </msub> <mo>-</mo> <mover> <mi>y</mi> <mo>&OverBar;</mo> </mover> <mo>]</mo> </mrow> <mi>T</mi> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow> </math>
thirdly, training a Gaussian process hidden variable model by taking the preprocessed motion capture data Y as a sample to realize the dimensionality reduction of the motion capture data:
3.1, determining the dimension d of the hidden space after dimension reduction, and observing the motion capture data from the high-dimensional observation space y by the Gaussian process hidden variable modelDMapping to a low dimensional hidden space xdThe dimension d of the hidden space, namely the dimension x, is 2-3 dimensions;
3.2, determining the kernel function as:
<math> <mrow> <mi>k</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mi>&alpha;exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <mi>&gamma;</mi> <mn>2</mn> </mfrac> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>+</mo> <mi>&eta;exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>&CenterDot;</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> </mrow> <mrow> <mo>|</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>|</mo> </mrow> </mfrac> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&delta;</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msup> <mi>&beta;</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow> </math>
wherein x isiIs given asiCorresponding hidden variables, alpha and eta are scale factors and represent the correlation degree of two points in hidden space, gamma represents Gaussian distribution variance, beta represents noise, and deltai,jTaking the value of 1 or 0 when x isi,xjIs delta at the same pointi,j1, otherwise δi,j=0;
3.3, training a Gaussian process hidden variable model in an iteration mode until convergence or the maximum number of iterations is reached, wherein each iteration is carried out by using a subset of motion data, the current subset used for iteration is called an active set, and the specific steps are as follows:
3.3.1, initializing model parameters, α ═ 1, β ═ 1, γ ═ 1, η ═ 1, M ═ 200, T ═ 100, and C ═ 0.01, where M is the active set size, T is the maximum iteration number, and C is the convergence threshold;
3.3.2, initializing hidden variables by using a principal component analysis method: calculating the principal components of the motion capture data, the number of the principal components being equal to the dimension of the hidden space, the hidden variable xiIs taken as motion capture data yiProjection on the principal component, and storing the initialized result as a matrix X, wherein the row number of the X is equal to the frame number N of the motion capture data, and the column number is equal to the dimension d of the hidden space;
3.3.3, selecting a new active set by using an information vector machine algorithm;
3.3.4, estimating parameters alpha, beta, gamma and eta by a maximum likelihood method, using the current values of alpha, beta, gamma and eta as initial values, iterating by a proportional conjugate gradient algorithm, and obtaining the maximum likelihood estimation of the parameters alpha, beta, gamma and eta by minimizing an objective function, namely a formula (8),
wherein, the first and second guide rollers are arranged in a row,
Figure FDA0000152928240000022
in order to be the active set,is composed of
Figure FDA0000152928240000024
K is a kernel function matrix whose elements are calculated by equation (3), K (i, j) ═ K (x)i,xj);
When the proportional conjugate gradient method is used for iteration, the partial derivatives required to be used are respectively calculated by the following formula:
<math> <mrow> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>k</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&PartialD;</mo> <mi>&alpha;</mi> </mrow> </mfrac> <mo>=</mo> <mi>exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <mi>&gamma;</mi> <mn>2</mn> </mfrac> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>10</mn> <mo>)</mo> </mrow> </mrow> </math>
<math> <mrow> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>k</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&PartialD;</mo> <mi>&beta;</mi> </mrow> </mfrac> <mo>=</mo> <msub> <mi>&delta;</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>11</mn> <mo>)</mo> </mrow> </mrow> </math>
<math> <mrow> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>k</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&PartialD;</mo> <mi>&gamma;</mi> </mrow> </mfrac> <mo>=</mo> <mo>-</mo> <mfrac> <mi>&alpha;</mi> <mn>2</mn> </mfrac> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mi>exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <mi>&gamma;</mi> <mn>2</mn> </mfrac> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>12</mn> <mo>)</mo> </mrow> </mrow> </math>
<math> <mrow> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>k</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&PartialD;</mo> <mi>&eta;</mi> </mrow> </mfrac> <mo>=</mo> <mi>exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>&CenterDot;</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> </mrow> <mrow> <mo>|</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>|</mo> </mrow> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>13</mn> <mo>)</mo> </mrow> </mrow> </math>
3.3.5, selecting a new active set by using an information vector machine algorithm;
3.3.6 minimizing the negative logarithm of the joint probability density of hidden and observed variables by proportional conjugate gradient algorithm for each hidden space mapping point not in the active setIK(x,y)Calculating new hidden variable value of the point;
<math> <mrow> <msub> <mi>L</mi> <mrow> <mi>IK</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>=</mo> <mfrac> <msup> <mrow> <mo>|</mo> <mo>|</mo> <mi>y</mi> <mo>-</mo> <mi>g</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> </mrow> <mn>2</mn> </msup> <mrow> <mn>2</mn> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>+</mo> <mfrac> <mi>D</mi> <mn>2</mn> </mfrac> <mi>ln</mi> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>+</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msup> <mrow> <mo>|</mo> <mo>|</mo> <mi>x</mi> <mo>|</mo> <mo>|</mo> </mrow> <mn>2</mn> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>14</mn> <mo>)</mo> </mrow> </mrow> </math>
wherein,
Figure FDA00001529282400000211
σ2(x)=k(x,x)-k(x)TK-1k(x) (16)
wherein k (x) is an M-dimensional column vector, and the ith element is k (x)i,x),Is an active set, x is a hidden variable; when the proportional conjugate gradient method is used for iteration, the partial derivatives required to be used are respectively calculated by the following formula:
<math> <mrow> <mfrac> <msub> <mrow> <mo>&PartialD;</mo> <mi>L</mi> </mrow> <mi>IK</mi> </msub> <mrow> <mo>&PartialD;</mo> <mi>x</mi> </mrow> </mfrac> <mo>=</mo> <mo>-</mo> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>g</mi> <msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mi>T</mi> </msup> </mrow> <mrow> <mo>&PartialD;</mo> <mi>x</mi> </mrow> </mfrac> <mrow> <mo>(</mo> <mi>y</mi> <mo>-</mo> <mi>g</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>/</mo> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>+</mo> <mfrac> <mrow> <mo>&PartialD;</mo> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&PartialD;</mo> <mi>x</mi> </mrow> </mfrac> <mo>[</mo> <mi>D</mi> <mo>-</mo> <mfrac> <msup> <mrow> <mo>|</mo> <mo>|</mo> <mi>y</mi> <mo>-</mo> <mi>f</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> </mrow> <mn>2</mn> </msup> <mrow> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>]</mo> <mo>/</mo> <mrow> <mo>(</mo> <mn>2</mn> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>+</mo> <mi>x</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>17</mn> <mo>)</mo> </mrow> </mrow> </math>
<math> <mrow> <mfrac> <mrow> <mo>&PartialD;</mo> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&PartialD;</mo> <mi>x</mi> </mrow> </mfrac> <mo>=</mo> <mo>-</mo> <mn>2</mn> <mi>k</mi> <msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mi>T</mi> </msup> <msup> <mi>K</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>k</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&PartialD;</mo> <mi>x</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>19</mn> <mo>)</mo> </mrow> </mrow> </math>
<math> <mrow> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>k</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&PartialD;</mo> <mi>x</mi> </mrow> </mfrac> <mo>=</mo> <mo>-</mo> <mi>&alpha;&gamma;</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>-</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> <mi>exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <mi>&gamma;</mi> <mn>2</mn> </mfrac> <msup> <mrow> <mo>|</mo> <mo>|</mo> <mi>x</mi> <mo>-</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>|</mo> <mo>|</mo> </mrow> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mo>-</mo> <mi>&eta;exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <mrow> <mi>x</mi> <mo>&CenterDot;</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> </mrow> <mrow> <mo>|</mo> <mi>x</mi> <mo>|</mo> <mo>|</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>|</mo> </mrow> </mfrac> <mo>)</mo> </mrow> <mfrac> <mrow> <msup> <mrow> <mo>|</mo> <mi>x</mi> <mo>|</mo> </mrow> <mn>2</mn> </msup> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>|</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>-</mo> <mo>|</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>|</mo> <mrow> <mo>(</mo> <mi>x</mi> <mo>&CenterDot;</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> <mi>x</mi> </mrow> <mrow> <msup> <mrow> <mo>|</mo> <mi>x</mi> <mo>|</mo> </mrow> <mn>3</mn> </msup> <msup> <mrow> <mo>|</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>|</mo> </mrow> <mn>2</mn> </msup> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>20</mn> <mo>)</mo> </mrow> </mrow> </math>
3.3.7, if max { | | Δ α |, | | Δ β |, | | Δ γ |, | | Δ η | } is less than C, terminating the iteration; otherwise, go to 3.3.8;
3.3.8, if the maximum iteration time T is reached, terminating the iteration; otherwise, go to 3.3.3;
fourthly, constructing and calculating a motion characteristic function by using the dimension reduction result, wherein the method comprises the following steps:
4.1, calculating the coordinate of the hidden space reference point, wherein the minimum value of each dimension of all hidden variables is used as the coordinate value of the dimension of the hidden space reference point, and the calculation formula is as follows:
<math> <mrow> <msub> <mover> <mi>x</mi> <mo>~</mo> </mover> <mi>j</mi> </msub> <mo>=</mo> <munder> <mi>min</mi> <mrow> <mn>1</mn> <mo>&le;</mo> <mi>i</mi> <mo>&le;</mo> <mi>N</mi> </mrow> </munder> <msub> <mi>X</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>21</mn> <mo>)</mo> </mrow> </mrow> </math>
wherein,
Figure FDA0000152928240000037
representing the j-th coordinate of the hidden space reference point, X ═ X1,x2,…,xN]T
4.2, constructing a motion characteristic function as follows:
f ( x ) = | | x - x ~ | | - - - ( 22 )
4.3, calculating a motion characteristic function value corresponding to each frame of motion capture data, and converting the motion capture data into a series of scalar values:
Motion(N)=[f(x1),f(x2),…,f(xN)] (23)
fifthly, detecting the segmentation points of the motion capture data by using the change of the geometric characteristics of the motion characteristic function to realize the automatic segmentation of the motion capture data, wherein the method comprises the following steps:
5.1, traversing the motion characteristic function value sequence motion (N) obtained in the fourth step, and obtaining a local maximum value sequence and a local minimum value sequence, wherein the method comprises the following steps: if f (x)i)>f(xi+1) And f (x)i)>f(xi-1) Then f (x)i) Is a local maximum; if f (x)i)<f(xi+1) And f (x)i)<f(xi-1) Then f (x)i) For local minimum, calculating the resultSaving as a one-dimensional array:
Extremum ( n ) = [ f ( x i 1 ) , f ( x i 2 ) , . . . , f ( x i n ) ] - - - ( 24 )
wherein i1,i2,…,inE {1, 2, …, N }, and i1<i2<…<inLocal maxima and local minima occur alternately, i.e. ifIs a local maximum, then
Figure FDA0000152928240000042
Is a local minimum value, if
Figure FDA0000152928240000043
Is a local minimum, then
Figure FDA0000152928240000044
Is a local maximum;
5.2, detection and transportationDynamic capture data partitioning points for each of Extrum (n)
Figure FDA0000152928240000045
If it is not <math> <mrow> <mo>|</mo> <mo>|</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <msub> <mi>i</mi> <mi>j</mi> </msub> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <msub> <mi>u</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </msub> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> <mo>&lt;</mo> <mi>&lambda;</mi> <mo>|</mo> <mo>|</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <msub> <mi>i</mi> <mi>j</mi> </msub> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <msub> <mi>i</mi> <mrow> <mi>j</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> </msub> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> </mrow> </math> Or <math> <mrow> <mrow> <mo>|</mo> <mo>|</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <msub> <mi>i</mi> <mi>j</mi> </msub> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <msub> <mi>i</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </msub> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> <mo>></mo> <mfrac> <mn>1</mn> <mi>&lambda;</mi> </mfrac> <mo>|</mo> <mo>|</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <msub> <mi>i</mi> <mi>j</mi> </msub> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <msub> <mi>i</mi> <mi>j</mi> </msub> </msub> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> </mrow> <mo>,</mo> </mrow> </math> Then
Figure FDA0000152928240000048
Lambda is a scale factor, 0.2 < lambda < 0.6, for possible segmentation points of the motion capture data.
And 5.3, removing redundant segmentation points, wherein if two or more continuous points are judged as segmentation points in the sequence Extremem (n), the segment motion is the transition motion between motion segments, any one of the points is only required to be reserved as the segmentation point, and the rest points are discarded.
2. A method of automatic segmentation of motion capture data as claimed in claim 1, characterized in that the dimension d of x is determined by: when D is less than 60, D is 2; when D is more than or equal to 60, D is 3.
3. A method of automatic segmentation of motion capture data as claimed in claim 1 wherein λ is 0.45.
CN2011100783366A 2010-12-13 2011-03-30 Automatic partitioning method for motion capture data Expired - Fee Related CN102122391B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011100783366A CN102122391B (en) 2010-12-13 2011-03-30 Automatic partitioning method for motion capture data

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201010583999.9 2010-12-13
CN201010583999 2010-12-13
CN2011100783366A CN102122391B (en) 2010-12-13 2011-03-30 Automatic partitioning method for motion capture data

Publications (2)

Publication Number Publication Date
CN102122391A CN102122391A (en) 2011-07-13
CN102122391B true CN102122391B (en) 2012-07-04

Family

ID=44250942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100783366A Expired - Fee Related CN102122391B (en) 2010-12-13 2011-03-30 Automatic partitioning method for motion capture data

Country Status (1)

Country Link
CN (1) CN102122391B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289664B (en) * 2011-07-29 2013-05-08 北京航空航天大学 Method for learning non-linear face movement manifold based on statistical shape theory
CN103116901B (en) * 2013-01-28 2016-03-30 大连大学 Based on the human motion interpolation computing method of motion feature
CN107169423B (en) * 2017-04-24 2020-08-04 南京邮电大学 Method for identifying motion type of video character
CN108197364B (en) * 2017-12-25 2021-10-29 浙江工业大学 Multi-role human body motion synthesis method based on motion fragment splicing
CN108656119A (en) * 2018-07-15 2018-10-16 宓建 A kind of control method of humanoid robot
CN112958840B (en) * 2021-02-10 2022-06-14 西南电子技术研究所(中国电子科技集团公司第十研究所) Automatic segmentation method for cutting force signal in precision part machining

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477619A (en) * 2008-12-26 2009-07-08 北京航空航天大学 Movement data gesture classification process based on DTW curve

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477619A (en) * 2008-12-26 2009-07-08 北京航空航天大学 Movement data gesture classification process based on DTW curve

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
QU Shi等.Pose Synthesis of Virtual Character Based on Statistical Learning.《Computer Network and Multimedia Technology, 2009. CNMT 2009. International Symposium on IEEE》.2009, *
杨跃东等.基于几何特征的人体运动捕获数据分割方法.《***仿真学报》.2007,第19卷(第10期), *
赵旭等.高斯混合模型导引下的三维人体运动跟踪.《第十三届全国图象图形学学术会议》.2006, *

Also Published As

Publication number Publication date
CN102122391A (en) 2011-07-13

Similar Documents

Publication Publication Date Title
CN107229757B (en) Video retrieval method based on deep learning and Hash coding
EP3836070A1 (en) Face pose estimation/three-dimensional face reconstruction method and apparatus, and electronic device
CN108229347B (en) Method and apparatus for deep replacement of quasi-Gibbs structure sampling for human recognition
CN102122391B (en) Automatic partitioning method for motion capture data
Xin et al. Arch: Adaptive recurrent-convolutional hybrid networks for long-term action recognition
CN113627482B (en) Cross-modal image generation method and device based on audio-touch signal fusion
CN108334574A (en) A kind of cross-module state search method decomposed based on Harmonious Matrix
CN102024036B (en) Three-dimensional object retrieval method and device based on hypergraphs
CN110069656A (en) A method of threedimensional model is retrieved based on the two-dimension picture for generating confrontation network
Cheng et al. An advanced hybrid deep adversarial autoencoder for parameterized nonlinear fluid flow modelling
Liu et al. Optimization-based key frame extraction for motion capture animation
CN114218292B (en) Multi-element time sequence similarity retrieval method
CN104077742B (en) Human face sketch synthetic method and system based on Gabor characteristic
CN105787428A (en) Method for lip feature-based identity authentication based on sparse coding
CN112232134A (en) Human body posture estimation method based on hourglass network and attention mechanism
CN114998647B (en) Breast cancer full-size pathological image classification method based on attention multi-instance learning
CN110111365B (en) Training method and device based on deep learning and target tracking method and device
CN114693923A (en) Three-dimensional point cloud semantic segmentation method based on context and attention
Afzal et al. Discriminative feature abstraction by deep L2 hypersphere embedding for 3D mesh CNNs
Wu et al. Efficient motion data indexing and retrieval with local similarity measure of motion strings
Su et al. 3d-assisted image feature synthesis for novel views of an object
CN103279581A (en) Method for performing video retrieval by compact video theme descriptors
CN110543845B (en) Face cascade regression model training method and reconstruction method for three-dimensional face
CN105741323A (en) Monocular video-based human skeleton tracking method
CN114241470A (en) Natural scene character detection method based on attention mechanism

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120704

CF01 Termination of patent right due to non-payment of annual fee