WO2009145071A1 - Motion database structure, motion data normalization method for the motion database structure, and searching device and method using the motion database structure - Google Patents

Motion database structure, motion data normalization method for the motion database structure, and searching device and method using the motion database structure Download PDF

Info

Publication number
WO2009145071A1
WO2009145071A1 PCT/JP2009/059037 JP2009059037W WO2009145071A1 WO 2009145071 A1 WO2009145071 A1 WO 2009145071A1 JP 2009059037 W JP2009059037 W JP 2009059037W WO 2009145071 A1 WO2009145071 A1 WO 2009145071A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
data
frame
state quantity
exercise
Prior art date
Application number
PCT/JP2009/059037
Other languages
French (fr)
Japanese (ja)
Inventor
仁彦 中村
克 山根
能迪 山口
Original Assignee
国立大学法人 東京大学
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 国立大学法人 東京大学 filed Critical 国立大学法人 東京大学
Priority to JP2010514439A priority Critical patent/JPWO2009145071A1/en
Publication of WO2009145071A1 publication Critical patent/WO2009145071A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation

Definitions

  • the present invention relates to an exercise database structure, an exercise data normalization method for the exercise database structure, and a search apparatus and method using the exercise database structure.
  • Non-Patent Documents 1 to 4 attempts have been made to construct an exercise database, but since it is a one- to two-layer database that depends on the joint structure and marker arrangement, the search speed is high. However, there is a limit that the motion that can be applied is limited to walking. L. Kovar, M. Gleicher, and F. Pighin.Motion graphs. In Proceedings of ACM SIGGRAPH 2002, pp. 473.482, 2002. O. Arikan and DA Forsyth: “Interactive Motion Generation from Examples," Proceedings of SIGGRAPH2002, pp. 483-490, 2002. J. Lee et al .: “Interactive control of avatars animated with human motion data," Proceedings of SIGGRAPH2002, pp. 491-500, 2002. W. Takano, K. Yamane, and Y. Nakamura: “Capture Database through Symbolization, Recognition and Generation of Motion Patterns," Proceedings of IEEE ICRA, pp. 3092-3097, 2007.
  • the present invention uses a database structure for accumulating and reusing a large amount of motion data obtained by motion capture data or manual operation of an animator, a method for normalizing motion data for the database structure, and a database structure.
  • the present invention proposes a method for constructing a large-scale motion database in a manner that does not depend on the marker position at the time of measurement / generation of motion data or the joint structure of the model.
  • the present invention proposes a method for searching for a motion / pause from a motion database using a motion / pause of one frame or more as a key.
  • the first technical means adopted by the present invention is: A database structure using a plurality of normalized motion data, The time interval of each frame of the plurality of normalized motion data is shared,
  • the database structure is a hierarchical database having a tree structure;
  • the top layer of the tree structure is one node that contains all frames of multiple normalized motion data,
  • Each frame of normalized motion data is included in any one node of each hierarchy of the tree structure, and each node has a frame having a state quantity closer to the lower layer from the upper layer.
  • transition probabilities between a plurality of nodes constituting each tier are stored.
  • One motion data is composed of a plurality of frames arranged in time series. Each frame corresponds to the posture of the skeleton model, and each frame is specified by a state quantity.
  • Normalized motion data is typically motion data obtained by normalizing motion data obtained by different skeletal models and methods, but a large amount of motion data (resulting in the same method) for the same skeleton model. It does not exclude the database structure consisting of (normalized).
  • the time interval ⁇ t of each frame affects the transition probability, so the time interval ⁇ t is shared. It will be understood by those skilled in the art that when there is motion data composed of time-series frames, the time interval of frames can be changed to an arbitrary interval by polynomial interpolation.
  • the motion data is converted into joint angle data by inverse kinematic calculation, and then subjected to polynomial interpolation to obtain motion data every ⁇ t.
  • the motion data may be interpolated at the marker locus stage.
  • “the time interval is made common” includes a case where the time interval is the same from the beginning in a plurality of exercise data constituting the exercise database.
  • the skeletal model is a character on the computer for reproducing the joint angle data or the marker position, and the posture of the skeleton model is specified by the position of the joint angle data or the marker set.
  • the marker set is a mark for measuring the movement of the subject, and is also a target value for causing the character to reproduce the movement.
  • the state quantity is a variable that uniquely represents the “state” of the robot, the system, or the like, and here represents the state of the skeleton model.
  • the state quantity is determined by the position and velocity of each marker in the marker set that can determine any pose of the skeleton model.
  • the speed of the root link may be included in the state quantity (particularly, when a marker is not arranged on the root link).
  • the joint angle of the skeleton model or a vector in which the joint angle and the joint speed are arranged may be used as the state quantity.
  • the root link is a link corresponding to a root of a tree structure that represents a joint model.
  • the root link is a trunk link, one of the links when the trunk is composed of a plurality of links, or a link of a part corresponding to the waist.
  • the tree structure is a binary tree structure.
  • the binary tree structure constituting the database structure of the present invention may be a full binary tree or a complete binary tree, but is not necessarily a full binary tree or a complete binary tree.
  • the tree structure of the database structure of the present invention may include a balanced tree (B-tree) or a multi-part tree in a part of the binary tree structure as a subject.
  • B-tree balanced tree
  • the “binary tree structure” in this specification includes a binary tree structure that includes a part of a branch other than the binary tree.
  • a binary tree structure is advantageous from the viewpoint of search speed
  • the tree structure of the database structure of the present invention is not limited to the binary tree structure, and may be a balanced tree (B-tree) or a multi-tree.
  • Each node of the binary tree includes frames having close state quantities regardless of the type of motion (each motion data) among the frames included in the motion data set.
  • Each node includes a frame having a closer state quantity in accordance with the hierarchy from the upper layer to the lower layer.
  • a node in the lowest layer of the tree structure includes a predetermined number or more of frame data. Generally, unless a minimum value of the number of frames included in the lowest layer node is set, the search speed is slowed down.
  • the data amount of the whole database will increase. It is understood by those skilled in the art that the minimum value of the number of frames included in the lowest layer node can be appropriately determined in consideration of the granularity of search, the upper limit of the total data amount, and the like. For example, in the case of 200 fps data and assuming a granularity that transitions to the next node every 0.2 seconds on average, the number of frames per node can be set to about 40. Alternatively, after determining the upper limit of the data amount of the entire database, the number of frames of the lowest layer node is determined so that the data amount of the entire database falls within the determined upper limit.
  • each node of the tree structure is characterized by a feature amount based on a state amount of a plurality of frames included in the node. Examples of the feature amount include average (including trim average and weighted average), median, and variance (covariance matrix). In one aspect, the feature amount of each node is stored as a table.
  • the representative value of the state quantities of a plurality of frames included in each node is used as the feature quantity of each node, and the feature quantity of each node is replaced with the state quantities of the plurality of frames included in each node or In addition, it is stored.
  • the exercise database structure stores transition probabilities between nodes in each hierarchy.
  • the other is a table of transition probabilities between nodes in each hierarchy for each motion data.
  • the state quantity of each frame of the normalized motion data is determined by the position and speed of each virtual marker of the virtual marker set that can determine an arbitrary posture of the skeleton model.
  • a motion database can be constructed in a manner that does not depend on the marker position at the time of measurement / generation of the motion data or the joint structure of the model.
  • the normalization method is not limited and the link position in the absolute coordinate system is based on the joint angle. This does not exclude data that has been normalized by such a method.
  • ⁇ Summary of motion database In the motion database to be used, all the frames included in a plurality of operations to be learned become samples and constitute one database.
  • the sampling time for the learning operation is constant and ⁇ t.
  • the database has a binary tree structure in which a maximum of two child nodes are connected to a certain node, and all samples are included in any node belonging to that layer in each layer.
  • a statistic (representative value) for calculating the likelihood that a certain state quantity is generated from the node is calculated.
  • the mean and covariance matrix of all samples (frame state quantities) is used, and the likelihood is calculated assuming a Gaussian distribution.
  • n) the likelihood that the state quantity s is generated from the node n is expressed as F (s
  • n) can be calculated as:
  • D is the dimension of the state quantity vector.
  • transition probabilities obtained by counting transitions without considering which operation the sample belongs to and transition probabilities obtained by counting only transitions within the same operation.
  • transition probability tables for each layer There is one set of transition probability tables for each layer. The latter transition probability table has one set for each layer and each action.
  • the second technical means adopted by the present invention is: A top node is formed from all frames of a plurality of normalized motion data to form a tree structure root, A first division step of performing node division until the number of frames included in the nodes of each hierarchy is equal to or less than a first threshold; A second division step of performing node division sequentially from the lowest layer node of the first division step until the number of frames included in the nodes of each hierarchy is equal to or less than the second threshold; With The first division step performs node division based on a one-dimensional index acquired from a state quantity of a frame included in each node; In the second dividing step, node division is performed by hierarchical clustering using a state quantity of a frame included in each node. An exercise database construction method using a plurality of normalized exercise data.
  • the first dividing step and the second dividing step divide each node into two lower nodes.
  • a binary tree structured database is constructed from the normalized data.
  • the first division step is node division based on principal component analysis.
  • the covariance matrix of the node is calculated, and the principal component analysis is performed on the covariance matrix.
  • the first principal component score for each frame is calculated, and the nodes are bisected in descending order of the first principal component score. Repeat until the number of frames in the node falls below the threshold.
  • the first division step is not limited to the one using principal component analysis.
  • the node may be divided using the height of the center of gravity as an index. Examples of how to obtain the coordinates of the center of gravity include a method of calculating the center of gravity in consideration of the mass of each link after simple or weighted average of marker positions or inverse kinematics calculation.
  • the Ward method is shown in the embodiment described later, but other hierarchical clustering methods such as the shortest distance method may be used.
  • the third technical means adopted by the present invention is: A method for normalizing exercise data,
  • the motion data consists of time series data of each joint angle of the skeletal model,
  • a virtual marker set composed of a plurality of virtual markers is arranged at a predetermined position of the skeleton model so that an arbitrary posture of the skeleton model can be determined, From the time series data of the joint angles, obtain the position and speed of the virtual marker set of each frame, the position and speed of the virtual marker set as the state quantity of the frame, Convert the state quantity of each frame to a coordinate system based on the root link of the skeleton model, Scale the state quantity of each converted frame, Normalized motion data by arranging the state quantities of each scaled frame in time series
  • the motion data normalization method may further include sharing the time interval of each frame.
  • a virtual marker set composed of virtual markers is prepared so that an arbitrary posture of an arbitrary skeleton model can be determined. For example, if it is a human skeleton model, even if it is a different skeleton model, it is considered that it has almost the same link structure, and by preparing a virtual marker set consisting of a sufficient number of virtual markers, any skeleton model Any posture can be determined.
  • the virtual marker set has a mounting position (which position on which link) is determined with respect to a basic basic skeleton model (which may be a virtual model or an actual model). By associating each link between the target skeleton model and the basic skeleton model, the virtual marker set is arranged in the target skeleton model.
  • the coordinate system based on the root link of the skeletal model is in an upright posture, and a single axis is added to the vector representing the direction considered as the “front” direction of the humanoid link mechanism in the coordinate system of the root link. And this axis is projected onto the horizontal plane to make a new axis.
  • one axis may be taken as a vector in the “rear” direction, the “left” direction, and the “right” direction.
  • the time-series data of the joint angle is obtained by inverse kinematic calculation from the time-series data of the marker positions arranged in the skeleton model.
  • the time series Q of the joint angle data is obtained by inverse kinematics using the measurement model Su and the measurement marker set Mu , and the Q, the measurement model Su and the virtual marker set Mv are used. get the time series P v 'virtual marker position by the forward kinematics, by scaling it, obtain a time series P v of the virtual marker position.
  • the time-series data of the joint angle is directly given to the skeleton model.
  • the fourth technical means adopted by the present invention is: An exercise data search device comprising the database structure according to any one of claims 1 to 6, an input unit, an output unit, and a processing unit,
  • the input unit is configured to input a normalized state quantity or state quantity sequence corresponding to motion data of one frame or more
  • the processing unit calculates the likelihood of generating the input state quantity or state quantity sequence using the representative value of each node based on the state quantities of a plurality of frames included in each node
  • the output unit is configured to output one or more nodes or one or more node transition sequences having a high likelihood as candidates,
  • An exercise data retrieval device As a representative value of each node based on the state quantities of a plurality of frames included in each node, an average, median, trim average, weighted average, or the like can be used.
  • the time interval between the frames of the input state quantity sequence does not necessarily need to coincide with the time interval of the frames constituting the database structure. It will also be understood by those skilled in the art that the time interval
  • the processing unit uses the inter-node transition probability to calculate one or more next nodes to which the calculated node can transition,
  • the output unit outputs one or more calculated next nodes as candidates.
  • the state quantity input from the input unit is determined by the position and speed of each virtual marker in the virtual marker set.
  • the processing unit calculates the likelihood using all or partial information of the state quantity input from the input unit. For example, the next posture with attention paid to a part of the body may be presented, or the likelihood considering only the marker to be noticed may be used.
  • the fifth technical means adopted by the present invention is: An exercise data search method using the database structure according to claim 1, Inputting a normalized state quantity or state quantity sequence corresponding to at least one frame of motion data; Calculating a likelihood of generating an input state quantity or state quantity sequence using a representative value of each node based on a state quantity of a plurality of frames included in each node; Outputting one or more nodes or one or more node transition sequences having a high likelihood as candidates, This is an exercise data search method.
  • the inter-node transition probability calculating one or more next nodes to which the calculated node can transition; One or more calculated next nodes are output as candidates.
  • the state quantity to be input is determined by the position and speed of each virtual marker in the virtual marker set.
  • the motion data of one frame or more is specified by the joint angle data of a certain joint model
  • the normalized state quantity input is Obtaining the position or position and speed of the virtual marker by forward kinematics calculation based on the joint angle data; Converting the position or position and velocity of the acquired virtual marker into a coordinate system based on the root link of the skeleton model; Scaling the position or position and velocity of the transformed virtual marker; Obtained by.
  • the one or more node candidates or the one or more node transition sequence candidates are: Based on the representative value of the state quantity included in the node candidate or node transition series candidate, obtain joint angle data by inverse kinematics calculation, Displayed by applying the acquired joint angle data to the joint model.
  • a state quantity specifying a certain posture of the joint model is input, and a node having a high likelihood of generating the input state quantity is searched.
  • a node that easily transitions from the searched node is searched and presented as a next frame node candidate.
  • the search for a node corresponding to the next frame of a certain posture is as follows. (1) The position of the virtual marker is obtained by forward kinematics calculation based on joint angle data in the posture (joint model is known). (2) The position of the virtual marker is converted into the coordinate system ⁇ O ′ ⁇ and scaled as input data. (3) One or more node candidates corresponding to the input data are obtained.
  • Node candidates are selected based on inter-node transition probabilities.
  • the scale is returned, and joint angle data is obtained by inverse kinematic calculation.
  • the joint angle data is applied to the joint model and displayed.
  • Multi-frame search that is, the likelihood that the motion to be searched is generated from a certain transition is the product of “the likelihood that the state of each frame is generated from a node” and “the transition probability between each node”. And search for the transition that maximizes it.
  • a search using the Dijkstra method will be described, but the search method applicable to the present invention is not limited to the Dijkstra method.
  • a search method other than the Dijkstra method a depth-first search, a breadth-first search, or A * search can be exemplified as long as it is a problem in which a heuristic function can be designed well.
  • the hardware configuration of the exercise database structure, the exercise data normalization method for the exercise database structure, and the search apparatus and method using the exercise database structure according to the present invention is composed of one or a plurality of computer devices.
  • the computer apparatus includes a storage means for storing data, an input means for inputting data, a processing means for performing calculation using the input data and the stored data, an output means for outputting a processing result, and an output processing result Display means for displaying.
  • the present invention can be provided as a computer program that executes a computer in order to normalize exercise data.
  • the present invention can be provided as a computer program that causes a computer to execute an exercise data search using an exercise database structure.
  • the motion database according to the present invention is characterized in that it is databased in a reusable form independent of the marker arrangement at the time of measurement / generation and the joint structure / size of the model. Moreover, the transition probability between each node of each layer of a tree structure is stored. As a result, motion capture data scattered on the network can be widely used, and the search function can recognize and predict motions, which can be applied to generation of animations and human motion recognition by robots.
  • FIG. 1 shows an outline of a database construction method.
  • the motion data is normalized.
  • the normalized data is registered in a binary tree structure database.
  • the transition probability between the nodes of each hierarchy of the binary tree structure is calculated using the frame information of the original motion data.
  • [A-1] Normalization of motion data In order to make the database independent of the data format, a virtual marker set Mv is defined, and the motion is expressed using the position / velocity of each marker included therein. Taking sufficiently large number N m of the markers included in the M v, movement of the most practical skeleton model is expressible.
  • One aspect of the virtual marker set is shown in FIG.
  • the skeleton model shown in FIG. 7 is a model with 155 degrees of freedom, and the virtual marker set is composed of 34 virtual markers. Although the number of virtual markers is not limited, it is considered that an arbitrary posture of the skeleton model can be expressed by arranging about 34 virtual markers in the skeleton model.
  • the model S u and marker set M u used at the time of measurement, and the arrangement of M v in S u are specified.
  • the time series data ⁇ of the joint angle ⁇ is obtained from the time series data P u of S u , M u and the marker position p u by inverse kinematic calculation.
  • the theta obtains the time-series data P v of the virtual marker position p v by the forward kinematics calculation from S u and virtual markers set M v.
  • a front direction of the character which is fixed in the root link S u x-axis using a coordinate system with the upward direction as the z-axis ⁇ R ⁇ . Further, the vertical upward direction of the absolute coordinate system is taken as the z axis.
  • the x-axis of the coordinate system ⁇ R ⁇ is projected onto the xy plane of the absolute coordinate system ⁇ O ⁇ , the starting point is the origin of the coordinate system ⁇ O ′ ⁇ , and the shadow is the x-axis.
  • the same direction as the z axis of the absolute coordinate system ⁇ O ⁇ is taken as the z axis of ⁇ O ′ ⁇ .
  • ⁇ O ′ ⁇ is determined.
  • the vertical foot with the center of gravity of the waist link (root link) down to the ground is the origin
  • the direction perpendicular to the ground is the z-axis
  • the direction of the human front projected onto the ground is the x-axis.
  • the method of taking each axis at the time of conversion is not limited.
  • the forward direction of the character may be the z axis and the upward direction may be the y axis.
  • is determined, for example, so that the height is one unit length.
  • the ratio between the model Su used by the user and a predetermined basic model may be ⁇ .
  • This state quantity x is arranged in time series, and normalized motion data Ma representing the operation a of the number of frames N f Define
  • the dimension 6N m of the state quantity is represented as D.
  • M [M 1 , M 2 ,..., M Na ].
  • all frames are stored in a hierarchical database having one binary tree structure regardless of the type of operation.
  • Each frame is included in any node in each hierarchy of the binary tree, and each node includes a frame having a close state quantity with a granularity corresponding to the hierarchy.
  • the feature quantity of each node is the average and variance of the state quantities of the frames included in that node.
  • Clustering is performed by the Ward method, which is one of the hierarchical clustering methods, after the value becomes c or less.
  • nodes B 1 and 1 including all frames of the motion marker data set M are created in the first layer. Thereafter, when the i-th node B l, i in the l-th layer includes n c or more samples (frame data) , the i- th node B l, i is divided into two child nodes by the following procedure. First, a principal component analysis of the covariance matrix ⁇ l, i of the state quantities included in B l, i is performed, and each state quantity included in B l, i is projected onto the principal axis of the first principal component to obtain the first principal component. Find the component score. In order to divide these into two nodes, an appropriate threshold value may be obtained.
  • the internode transition probability regardless of the type of operation is obtained.
  • all the frame data in one motion data M is distributed to each node of each layer.
  • information on which node each frame data belongs to is recorded. .
  • This information is used to determine the internode transition probability of each layer. That is, when information on which node each frame and the next frame belong to is recorded when distributing the frame to the nodes in each layer, the transition probability a ij between the nodes in the same layer is transferred to each node.
  • the number of transitions N ij from node i to node j is divided by the total number of transitions from node i to other nodes including itself. For example, in FIG. 5, 1 ⁇ 1 five times, 1 ⁇ 2 twice, if 1 ⁇ 3 three times, a 13 becomes 0.3. This transition information is used when a candidate for the next frame is presented at the time of retrieval.
  • transition probability of each layer node is expressed.
  • the basic method is the same as above, but it is expressed in the left-to-right type in order to express the time series.
  • the transition probability between the nodes is updated when the node is transitioned, and is set so that the sum of the probability of self-transition and transition to another node is 1.
  • Each layer holds a table of node transition probabilities for each operation (each motion data).
  • the state quantity x corresponding to the posture in a certain frame is generated from B l, i using the average ⁇ l, i of the frames in the node B l, i and the covariance matrix ⁇ l, i. Every time Is used.
  • the state quantity x the virtual marker position and velocity calculated from the posture are normalized by the same method as [A-1]. That is, in searching for a node corresponding to a certain posture, the position of the virtual marker is obtained by forward kinematics calculation based on joint angle data (joint model is known) in the posture. Next, the position of the virtual marker is converted into the coordinate system ⁇ O ′ ⁇ , and the state quantity obtained by scaling is used as input data.
  • [B-2] Corresponding Node Candidate A candidate for the lowest layer node corresponding to each frame of motion data composed of one or more frames input as a search key is obtained. At this time, by using the hierarchical structure of the database and following the high likelihood of the number 8 from the upper hierarchy, candidates can be obtained at high speed. As a method of deleting a node having a low likelihood when moving to a lower hierarchy, a method of cutting off at a certain threshold, a method of leaving a certain number, a method of cutting off when the likelihood greatly decreases, and the like can be considered.
  • one or more corresponding node candidates are obtained for each frame, and are arranged in descending order of likelihood.
  • [B-3] Optimal node transition sequence
  • the node transition having the highest likelihood is searched in consideration of the transition probability between nodes.
  • a node transition sequence that maximizes the likelihood of generating a given motion is obtained.
  • movement data M [x1x2... X K ] consisting of K frames as a key.
  • this is cost The Dijkstra method (Steven M. LaValle. Planning Algorithms. Cambridge University Press, New York, NY, 2006.) is applied.
  • interpolation A method in which a given key frame is interpolated in advance and a node is associated with each frame after interpolation.
  • No interpolation A method for obtaining a node transition sequence that passes a key frame at a given time. [Whether there is any change during operation] (1) If the node transition is limited to the same operation, the search is not allowed to change during the operation. (2) If all possible transitions are taken into account regardless of the type of motion, the search will allow a change in the middle of the motion. Since the above combinations are free, there are four ways to search.
  • the Dijkstra method is used as one embodiment of the search method of the present invention.
  • the Dijkstra method is one of the discrete optimization methods, counting the possible inputs after one step in order from the lowest cost candidate. It is guaranteed that an optimal input sequence can be obtained when the final step has the lowest cost.
  • the logarithm of the reciprocal of the generation likelihood is used as the cost.
  • the Dijkstra method that costs -logP is applied to P.
  • Subordinate search T (hat) m (n i , n j ) is a node transition sequence that can move from node n i to n j in m steps, but has the highest probability. Defined as probability. This is a transition series Probability of occurrence Is obtained by the Dijkstra method with a cost of -logP.
  • Presence / absence of interpolation When performing interpolation in advance, all frames after interpolation are regarded as key frames. Therefore, the low-order search is always one step and is very fast. However, since the number of steps of the upper search increases, the overall search time cannot be said simply.
  • Presence / absence of change in operation In the upper / lower search, if only transitions in the same operation as the transition of the previous step are considered when listing possible transitions, the search becomes within the same operation, and the binary tree If all possible transitions in a layer are considered, the search can be changed during the operation.
  • FIG. 8A shows an example illustrating possible transitions between lowermost nodes in a database.
  • the top represents all possible transitions and transition probabilities (T) without considering the type of motion, and the bottom represents the transitions in the three motion data used for database construction.
  • T transitions and transition probabilities
  • the transition probability and the arrow indicating the transition to oneself are omitted.
  • a search example based on the above transition diagram is shown below.
  • FIG. 8B is an example of input to the search system.
  • three key frames s 1 , s 2 , and s 3 are designated, and the time interval between the key frames corresponds to 2 frames and 3 frames of operation data included in the database, respectively.
  • n 4 and n 1 may correspond to s 2 , first, it is searched whether transition from n 1 to n 4 can be made in two steps. As a result, it can be seen that the following transitions are possible.
  • the current candidates are arranged in descending order of likelihood as follows. Since the Dijkstra method always considers the one with the lowest cost (the highest likelihood in this example), the next one that has transitioned from s 1 : n 1 to s 2 : n 1 is considered.
  • n 2 and n5 may correspond to s 3 .
  • searching for a method of transition from n 1 to n 2 in three steps the following result is obtained. Among these, the one with the maximum transition probability is adopted. The method of transition from n 1 to n 5 in three steps and its probability are similarly searched. The candidates obtained by these are added and arranged in descending order of likelihood, and similarly, the one with the highest likelihood is considered. Due to the nature of the Dijkstra method, the optimum transition sequence having the maximum likelihood is found when a candidate that has already reached s 3 is selected, and the search ends.
  • next pose candidate is presented by a search using them as a key, and you can easily generate a large number of key frames by selecting the most appropriate one from them.
  • the next pose candidate can be obtained by calculating the node that can transition from the last node in the transition sequence obtained by the search in the previous section and performing inverse kinematics calculation using the marker position obtained from the average value of each node. is there.
  • FIG. 9 shows an example in which the top eight candidates among the next pose candidates obtained from the search results are presented using a single frame as a key.
  • the character displayed in the center is the posture input, and the next pose candidates are arranged in descending order of likelihood from the left. It can be seen that appropriate search results are obtained for each input.
  • Table 1 shows the number of frames of input motion data, the time required for search and inverse kinematics calculation, and the number of candidates obtained.
  • step 1 initial registration of motion data in the motion database is performed (step 1). All frame and tree configurations for which initial registration has been completed and the average and covariance rows of each node are stored in the backup database (step 2).
  • step 2 the node average and covariance matrix are read from the backup database, and the motion database is reconfigured (step 3).
  • step 3 When additionally registering motion data, information on the frames belonging to each node is acquired from the backup database, and the average and covariance matrix of the node and the index of the frame held by the node are updated in consideration of the added data ( Step 4).
  • the motion database can be reconstructed by updating and registering the average and covariance matrix of each node and the frame held by the node again in the backup database, and repeating the following.
  • x n + 1 is added to the node with the maximum likelihood in each layer.
  • x n + 1 is added to the node with the maximum likelihood in each layer.
  • it is divided into two child nodes ((B) in FIG. 11).
  • a single child node is added to match the branch having the maximum depth ((C) in FIG. 11).
  • the present invention can be used not only in computer graphics but also in various fields such as sports science, rehabilitation, and medical fields.
  • IK indicates inverse kinematics calculation and FK indicates forward kinematics calculation.
  • the conversion of the position of the virtual marker set acquired by the forward kinematics calculation to the coordinate system based on the root link of the skeleton model is shown.
  • the scaling of the position of the virtual marker set obtained in FIG. 2 is shown.
  • An outline of the binary tree structure is shown. In the present invention, the depth of each node of the binary tree is called a layer, and the highest layer is the first layer. The number of nodes in the l-th layer is 2 l-1 .
  • Each frame data (state quantity x) of the set M of motion data is included in any one node of each layer of the binary tree.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Provided is a database structure for storing and reusing a large volume of motion data obtained from motion capture data and manual work by the animator. The database structure uses a plurality of sets of normalized motion data and is a hierarchical database having a tree structure.  The highest layer of the tree structure is a node including all frames of the plurality of sets of normalized motion data.  Each of the frames of the normalized motion data is included in any one of the nodes of each hierarchy of the tree structure, and each node includes a frame having a nearer state quantity as going from an upper layer to a lower layer.  The transition probabilities between a plurality of nodes constituting each hierarchy are stored on a per-hierarchy basis.

Description

運動データベース構造、および当該運動データベース構造のための運動データ正規化方法、並びに当該運動データベース構造を用いた検索装置及び方法Exercise database structure, exercise data normalization method for the exercise database structure, and search apparatus and method using the exercise database structure
 本発明は、運動データベース構造、および当該運動データベース構造のための運動データ正規化方法、並びに当該運動データベース構造を用いた検索装置及び方法に関するものである。 The present invention relates to an exercise database structure, an exercise data normalization method for the exercise database structure, and a search apparatus and method using the exercise database structure.
 医療・スポーツ・エンターテイメントなどの分野でヒト骨格モデルの運動データを扱う事例が増えてきている。モーションキャプチャには設備費や人件費等多大なコストを要する上に、マーカ配置や骨格モデルが異なるとデータの再利用が難しいという問題がある。 In the fields of medical, sports and entertainment, cases of handling human skeleton model motion data are increasing. Motion capture requires a large amount of equipment costs and labor costs, and there is a problem that it is difficult to reuse data if the marker arrangement and the skeleton model are different.
 実際、CG・ゲーム分野では、これまでに計測した大量の運動データを分類・蓄積する手段がなく、再利用が事実上不可能であった。 Actually, in the CG / game field, there was no means for classifying and accumulating a large amount of exercise data measured so far, and it was virtually impossible to reuse.
 これまでにも、非特許文献1乃至4に示すように、運動データベースを構築しようとする試みはなされているが、関節構造やマーカ配置に依存する、1~2階層のデータベースであるため検索速度が遅い、適用できる動作が歩行などに限られるといった限界があった。
L. Kovar, M. Gleicher, and F. Pighin. Motion graphs. In Proceedings of ACM SIGGRAPH 2002, pp. 473.482, 2002. O. Arikan and D.A. Forsyth: "Interactive Motion Generation from Examples," Proceedings of SIGGRAPH2002, pp. 483-490, 2002. J. Lee et al.: "Interactive control of avatars animated with human motion data," Proceedings of SIGGRAPH2002, pp. 491-500, 2002. W. Takano, K. Yamane, and Y. Nakamura: "Capture Database through Symbolization, Recognition and Generation of Motion Patterns," Proceedings of IEEE ICRA, pp. 3092-3097, 2007.
Up to now, as shown in Non-Patent Documents 1 to 4, attempts have been made to construct an exercise database, but since it is a one- to two-layer database that depends on the joint structure and marker arrangement, the search speed is high. However, there is a limit that the motion that can be applied is limited to walking.
L. Kovar, M. Gleicher, and F. Pighin.Motion graphs. In Proceedings of ACM SIGGRAPH 2002, pp. 473.482, 2002. O. Arikan and DA Forsyth: "Interactive Motion Generation from Examples," Proceedings of SIGGRAPH2002, pp. 483-490, 2002. J. Lee et al .: "Interactive control of avatars animated with human motion data," Proceedings of SIGGRAPH2002, pp. 491-500, 2002. W. Takano, K. Yamane, and Y. Nakamura: "Capture Database through Symbolization, Recognition and Generation of Motion Patterns," Proceedings of IEEE ICRA, pp. 3092-3097, 2007.
 本発明は、モーションキャプチャデータやアニメータの手作業等により得られた大量の運動データを蓄積し、再利用するためのデータベース構造、データベース構造のための運動データの正規化方法、およびデータベース構造を用いた運動データの検索手法を提案するものである。
 本発明は、運動データを計測・生成時のマーカ位置やモデルの関節構造に依存しない形で大規模なモーションデータベースを構築する手法を提案するものである。
 本発明は、1フレーム以上の動作・ポーズを鍵として、モーションデータベースから動作・ポーズを検索する手法を提案するものである。
The present invention uses a database structure for accumulating and reusing a large amount of motion data obtained by motion capture data or manual operation of an animator, a method for normalizing motion data for the database structure, and a database structure. We propose a search method for the existing exercise data.
The present invention proposes a method for constructing a large-scale motion database in a manner that does not depend on the marker position at the time of measurement / generation of motion data or the joint structure of the model.
The present invention proposes a method for searching for a motion / pause from a motion database using a motion / pause of one frame or more as a key.
 本発明が採用した第1の技術手段は、
 複数の正規化運動データを用いたデータベース構造であって、
 前記複数の正規化運動データの各フレームの時間間隔は共通化されており、
 前記データベース構造は、木構造を備えた階層型データベースであり、
 木構造の最上位層は、複数の正規化運動データの全てのフレームが含まれている1つのノードであり、
 正規化運動データの各フレームは、木構造の各階層のいずれかの1つのノードに含まれていると共に、各ノードには、上位層から下位層に行くにしたがってより近い状態量を備えたフレームが含まれており、
 各階層毎に、各階層を構成する複数のノード間の遷移確率が格納されている、
 運動データベース構造、である。
The first technical means adopted by the present invention is:
A database structure using a plurality of normalized motion data,
The time interval of each frame of the plurality of normalized motion data is shared,
The database structure is a hierarchical database having a tree structure;
The top layer of the tree structure is one node that contains all frames of multiple normalized motion data,
Each frame of normalized motion data is included in any one node of each hierarchy of the tree structure, and each node has a frame having a state quantity closer to the lower layer from the upper layer. Is included,
For each tier, transition probabilities between a plurality of nodes constituting each tier are stored.
An exercise database structure.
 1つの運動データは、時系列に並べた複数のフレームから構成される。各フレームは、骨格モデルの姿勢に対応しており、各フレームは状態量によって特定されている。
 正規化運動データは、典型的には、異なる骨格モデルや異なる手法によって得られた運動データを正規化してなる運動データであるが、同じ骨格モデルについて同じ手法で取得した大量の運動データ(結果として正規化されている)からなるデータベース構造を排除するものではない。
 正規化運動データから運動データベースを構築するにあたり、各フレームの時間間隔Δtは遷移確率に影響を与えるため、時間間隔Δtを共通化する。時系列のフレームからなる運動データがあった時に、多項式補間によって、フレームの時間間隔を任意の間隔に変更できることは当業者に理解される。一つの態様では、運動データを逆運動学計算で関節角データに変換した後で多項式補間し、Δtおきの運動データを取得する。運動データの補間のタイミングとしては、マーカ軌跡の段階で補間するものでもよい。また、本明細書において、「時間間隔が共通化されており」には、運動データベースを構成する複数の運動データにおいて、初めから時間間隔が同じである場合も含む。
 骨格モデルは、関節角データあるいはマーカ位置を再現するためのコンピュータ上のキャラクタであり、骨格モデルの姿勢は、関節角データやマーカセットの位置によって特定される。
 マーカセットとは、被験者の動きを計測するための印であり、キャラクタに動きを再現させるための目標値でもある。
 状態量とは、ロボットやシステム等の「状態」を一意に表す変数であり、ここでは骨格モデルの状態を表す。1つの態様では、状態量は、骨格モデルの任意の姿勢を決定し得るマーカセットの各マーカの位置および速度によって決定される。また、状態量に、ルートリンクの速度を含めてもよい(特に、ルートリンクにマーカが配置されていない場合)。あるいは、骨格モデルの関節角、または関節角と関節速度を並べたベクトルを状態量としてもよい。
 ルートリンクは、関節モデルを表現する木構造のルート(根)に相当するリンクである。典型的な態様例では、ルートリンクは体幹リンク、体幹が複数のリンクからなる場合はその中の1つ、あるいは腰に対応する部位のリンクである。
One motion data is composed of a plurality of frames arranged in time series. Each frame corresponds to the posture of the skeleton model, and each frame is specified by a state quantity.
Normalized motion data is typically motion data obtained by normalizing motion data obtained by different skeletal models and methods, but a large amount of motion data (resulting in the same method) for the same skeleton model. It does not exclude the database structure consisting of (normalized).
In constructing a motion database from normalized motion data, the time interval Δt of each frame affects the transition probability, so the time interval Δt is shared. It will be understood by those skilled in the art that when there is motion data composed of time-series frames, the time interval of frames can be changed to an arbitrary interval by polynomial interpolation. In one embodiment, the motion data is converted into joint angle data by inverse kinematic calculation, and then subjected to polynomial interpolation to obtain motion data every Δt. The motion data may be interpolated at the marker locus stage. Further, in the present specification, “the time interval is made common” includes a case where the time interval is the same from the beginning in a plurality of exercise data constituting the exercise database.
The skeletal model is a character on the computer for reproducing the joint angle data or the marker position, and the posture of the skeleton model is specified by the position of the joint angle data or the marker set.
The marker set is a mark for measuring the movement of the subject, and is also a target value for causing the character to reproduce the movement.
The state quantity is a variable that uniquely represents the “state” of the robot, the system, or the like, and here represents the state of the skeleton model. In one aspect, the state quantity is determined by the position and velocity of each marker in the marker set that can determine any pose of the skeleton model. Further, the speed of the root link may be included in the state quantity (particularly, when a marker is not arranged on the root link). Alternatively, the joint angle of the skeleton model or a vector in which the joint angle and the joint speed are arranged may be used as the state quantity.
The root link is a link corresponding to a root of a tree structure that represents a joint model. In a typical embodiment, the root link is a trunk link, one of the links when the trunk is composed of a plurality of links, or a link of a part corresponding to the waist.
 1つの態様では、前記木構造は、二分木構造である。本発明のデータベース構造を構成する二分木構造は、全二分木、完全二分木でもよいが、必ずしも全二分木、完全二分木である必要はない。本発明のデータベース構造の木構造は、主体としての二分木構造の一部に、平衡木(B木)や多分木が含まれていてもよい。例えば、二分木に偏りが生じないように平衡木(B木)を用いる場合があり得る。本明細書における「二分木構造」には、一部に二分木以外の枝を備えた二分木構造も含まれる。
 また、検索速度の観点からは二分木構造が有利ではあるが、本発明のデータベース構造の木構造は、二分木構造に限定されるものではなく、平衡木(B木)、多分木でもよい。
 二分木の各ノードには運動データの集合に含まれるフレームのうち動作の種類(各運動データ)に関係なく状態量の近いものが含まれる。各ノードには、上位層から下位層に行くにしたがって階層に応じてより状態量の近いフレームが含まれている。
 1つの態様では、木構造の最下位層のノードには、所定数以上のフレームデータが含まれている。一般に、最下位層のノードに含まれるフレーム数の最小値を設定しておかないと、検索速度が遅くなってしまう。また、データベース全体のデータ量が増加してしまう。
 最下位層のノードに含まれるフレーム数の最小値は、検索の粒度や全体のデータ量の上限等を考慮して、適宜に決定できることが当業者に理解される。例えば、200fpsのデータで、平均0.2秒ごとに次ノードへ遷移するような粒度を想定する場合では、1ノードあたりのフレーム数を40程度に設定することができる。あるいは、データベース全体のデータ量の上限を決めた上で、データベース全体のデータ量が決定した上限に収まるように、最下位層ノードのフレーム数を決定する。最下位層ノードのフレーム数を増やすことによって、総ノード数を減らしてデータベース全体のデータ量を削減することができる。特に、各ノードの特徴量(平均、分散等)のみを保存することでデータ圧縮を行う場合には、総ノード数を削減することは有利である。
 木構造の各ノードは、当該ノードに含まれる複数のフレームの状態量に基づく特徴量によって特徴付けられる。特徴量としては、平均(トリム平均、重み付け平均を含む)、メディアン、分散(共分散行列)が例示される。一つの態様では、各ノードの特徴量は、テーブルとして格納されている。
 1つの態様では、各ノードに含まれる複数のフレームの状態量の代表値を各ノードの特徴量とし、各ノードの特徴量が、各ノードに含まれる複数のフレームの状態量に代えて或は加えて、格納されている。
In one aspect, the tree structure is a binary tree structure. The binary tree structure constituting the database structure of the present invention may be a full binary tree or a complete binary tree, but is not necessarily a full binary tree or a complete binary tree. The tree structure of the database structure of the present invention may include a balanced tree (B-tree) or a multi-part tree in a part of the binary tree structure as a subject. For example, a balanced tree (B-tree) may be used so that the binary tree is not biased. The “binary tree structure” in this specification includes a binary tree structure that includes a part of a branch other than the binary tree.
In addition, although a binary tree structure is advantageous from the viewpoint of search speed, the tree structure of the database structure of the present invention is not limited to the binary tree structure, and may be a balanced tree (B-tree) or a multi-tree.
Each node of the binary tree includes frames having close state quantities regardless of the type of motion (each motion data) among the frames included in the motion data set. Each node includes a frame having a closer state quantity in accordance with the hierarchy from the upper layer to the lower layer.
In one aspect, a node in the lowest layer of the tree structure includes a predetermined number or more of frame data. Generally, unless a minimum value of the number of frames included in the lowest layer node is set, the search speed is slowed down. Moreover, the data amount of the whole database will increase.
It is understood by those skilled in the art that the minimum value of the number of frames included in the lowest layer node can be appropriately determined in consideration of the granularity of search, the upper limit of the total data amount, and the like. For example, in the case of 200 fps data and assuming a granularity that transitions to the next node every 0.2 seconds on average, the number of frames per node can be set to about 40. Alternatively, after determining the upper limit of the data amount of the entire database, the number of frames of the lowest layer node is determined so that the data amount of the entire database falls within the determined upper limit. By increasing the number of frames of the lowest layer node, the total number of nodes can be reduced and the data amount of the entire database can be reduced. In particular, when data compression is performed by storing only the feature values (average, variance, etc.) of each node, it is advantageous to reduce the total number of nodes.
Each node of the tree structure is characterized by a feature amount based on a state amount of a plurality of frames included in the node. Examples of the feature amount include average (including trim average and weighted average), median, and variance (covariance matrix). In one aspect, the feature amount of each node is stored as a table.
In one aspect, the representative value of the state quantities of a plurality of frames included in each node is used as the feature quantity of each node, and the feature quantity of each node is replaced with the state quantities of the plurality of frames included in each node or In addition, it is stored.
 本発明に係る運動データベース構造には、各階層におけるノード間遷移確率が格納されている。本発明では、2つのノード間遷移確率のテーブルがある。一つは、運動データの区別を問わない各階層におけるノード間遷移確率のテーブルである。もう一つは、各運動データについて、各階層におけるノード間遷移確率のテーブルである。 The exercise database structure according to the present invention stores transition probabilities between nodes in each hierarchy. In the present invention, there is a table of transition probabilities between two nodes. One is a table of transition probabilities between nodes in each hierarchy regardless of the distinction of exercise data. The other is a table of transition probabilities between nodes in each hierarchy for each motion data.
 一つの態様では、正規化運動データの各フレームの状態量は、骨格モデルの任意の姿勢を決定し得る仮想マーカセットの各仮想マーカの位置および速度によって決定される。仮想マーカセットを採用することで、運動データを計測・生成時のマーカ位置やモデルの関節構造に依存しない形でモーションデータベースを構築することができる。しかしながら、本発明の運動データベース構造は、正規化された運動データがあれば、正規化の手法は限定されるものではなく、関節角を基準にする、絶対座標系でのリンク位置を基準にする、などの手法で正規化されたデータを排除するものではない。 In one aspect, the state quantity of each frame of the normalized motion data is determined by the position and speed of each virtual marker of the virtual marker set that can determine an arbitrary posture of the skeleton model. By adopting a virtual marker set, a motion database can be constructed in a manner that does not depend on the marker position at the time of measurement / generation of the motion data or the joint structure of the model. However, if the motion database structure of the present invention has normalized motion data, the normalization method is not limited and the link position in the absolute coordinate system is based on the joint angle. This does not exclude data that has been normalized by such a method.
 本発明に係るモーションデータベースについて小括する。使用するモーションデータベースでは、学習させる複数の動作に含まれる全フレームがサンプルとなり、一つのデータベースを構成する。学習させる動作のサンプリング時間は一定でΔtとする。データベースはあるノードに最大2個の子ノードが接続される2分木構造であり、各層において全サンプルがその層に属するいずれかのノードに含まれる。 <Summary of motion database according to the present invention> In the motion database to be used, all the frames included in a plurality of operations to be learned become samples and constitute one database. The sampling time for the learning operation is constant and Δt. The database has a binary tree structure in which a maximum of two child nodes are connected to a certain node, and all samples are included in any node belonging to that layer in each layer.
 各ノードでは、そのノードからある状態量が生成される尤度を計算するための統計量(代表値)が計算されている。最も単純な実施形態では、全サンプル(フレームの状態量)の平均および共分散行列を用い、ガウス分布を仮定して尤度を計算する。より正確な尤度を計算するためには、混合ガウス分布等を用いることが考えられる。以下では、ノードnから状態量sが生成される尤度をF(s|n)と表す。平均μ、共分散行列Σのガウス分布の場合、F(s|n)は次式のように計算できる。
Figure JPOXMLDOC01-appb-M000001
ここでDは状態量ベクトルの次元である。
In each node, a statistic (representative value) for calculating the likelihood that a certain state quantity is generated from the node is calculated. In the simplest embodiment, the mean and covariance matrix of all samples (frame state quantities) is used, and the likelihood is calculated assuming a Gaussian distribution. In order to calculate a more accurate likelihood, it is conceivable to use a mixed Gaussian distribution or the like. Hereinafter, the likelihood that the state quantity s is generated from the node n is expressed as F (s | n). For a Gaussian distribution with mean μ and covariance matrix Σ, F (s | n) can be calculated as:
Figure JPOXMLDOC01-appb-M000001
Here, D is the dimension of the state quantity vector.
 さらに、学習された動作において見られたノード間の遷移とそれぞれの遷移確率を求めておく。サンプルがどの動作に属するかを考慮せずに遷移を数え上げて求められた遷移確率と、同じ動作内での遷移のみを数え上げて求められた遷移確率がある。前者の遷移確率のテーブルは各層に対して1組ある。後者の遷移確率のテーブルは、各層・各動作に対して1組ある。 Furthermore, the transition between nodes observed in the learned operation and the respective transition probabilities are obtained. There are transition probabilities obtained by counting transitions without considering which operation the sample belongs to, and transition probabilities obtained by counting only transitions within the same operation. There is one set of transition probability tables for each layer. The latter transition probability table has one set for each layer and each action.
 本発明が採用した第2の技術手段は、
 複数の正規化運動データの全てのフレームから最上位のノードを形成して木構造のルートとし、
 各階層のノードに含まれるフレーム数が第1閾値以下となるまでノード分割を行う第1分割ステップと、
 各階層のノードに含まれるフレーム数が第2閾値以下となるまで、第1分割ステップの最下層のノードから順次ノード分割を行う第2分割ステップと、
 を備え、
 前記第1分割ステップは、各ノードに含まれるフレームの状態量から取得した1次元の指標に基づいてノード分割を行い、
 前記第2分割ステップは、各ノードに含まれるフレームの状態量を用いた階層的クラスタリングによりノード分割を行う、
 複数の正規化運動データを用いた運動データベース構築方法、である。
The second technical means adopted by the present invention is:
A top node is formed from all frames of a plurality of normalized motion data to form a tree structure root,
A first division step of performing node division until the number of frames included in the nodes of each hierarchy is equal to or less than a first threshold;
A second division step of performing node division sequentially from the lowest layer node of the first division step until the number of frames included in the nodes of each hierarchy is equal to or less than the second threshold;
With
The first division step performs node division based on a one-dimensional index acquired from a state quantity of a frame included in each node;
In the second dividing step, node division is performed by hierarchical clustering using a state quantity of a frame included in each node.
An exercise database construction method using a plurality of normalized exercise data.
 一つの態様では、前記第1分割ステップ及び第2分割ステップは、各ノードを下位の2つのノードに分割するものである。これによって正規化されたデータから二分木構造のデータベースが構築される。 In one aspect, the first dividing step and the second dividing step divide each node into two lower nodes. As a result, a binary tree structured database is constructed from the normalized data.
 一つの態様では、前記第1分割ステップは、主成分分析に基づくノード分割である。ノードの共分散行列を算出し、共分散行列について主成分分析を行う。各フレームの第1主成分得点を計算し、第1主成分得点の降順にノードを二分する。ノード内のフレーム数が閾値以下になるまで繰り返す。第1分割ステップは、主成分分析を用いるものに限定されず、例えば、重心の高さを指標としてノードを分割するものでもよい。重心の座標の求め方としては、マーカ位置の単純または重み付き平均、あるいは逆運動学計算の後、各リンクの質量を考慮して重心を計算する方法が例示される。第1分割ステップで用いられる1次元の指標としては、第1主成分得点や重心の高さの他に、重心の他の座標値、ルートリンクの高さ等を採用し得ることは当業者に理解される。 In one aspect, the first division step is node division based on principal component analysis. The covariance matrix of the node is calculated, and the principal component analysis is performed on the covariance matrix. The first principal component score for each frame is calculated, and the nodes are bisected in descending order of the first principal component score. Repeat until the number of frames in the node falls below the threshold. The first division step is not limited to the one using principal component analysis. For example, the node may be divided using the height of the center of gravity as an index. Examples of how to obtain the coordinates of the center of gravity include a method of calculating the center of gravity in consideration of the mass of each link after simple or weighted average of marker positions or inverse kinematics calculation. As a one-dimensional index used in the first division step, in addition to the first principal component score and the height of the center of gravity, other coordinate values of the center of gravity, the height of the root link, and the like can be adopted by those skilled in the art. Understood.
 第2分割ステップとしては、後述の実施態様ではWard法を示すが、最短距離法等の他の階層的クラスタリング手法でもよい。 As the second division step, the Ward method is shown in the embodiment described later, but other hierarchical clustering methods such as the shortest distance method may be used.
 フレームをノードに分配する際に、各フレームと次フレームがどのノードに所属しているかの情報を格納し、同層の各ノード間の遷移確率を求める。 When distributing a frame to nodes, information about which node each frame and the next frame belong to is stored, and the transition probability between each node in the same layer is obtained.
 本発明が採用した第3の技術手段は、
 運動データを正規化する方法であって、
 運動データは、骨格モデルの各関節角の時系列データからなり、
 複数の仮想マーカからなる仮想マーカセットを、骨格モデルの任意の姿勢を決定可能なように骨格モデルの所定位置に配置し、
 前記関節角の時系列データから、各フレームの仮想マーカセットの位置および速度を取得して、仮想マーカセットの位置及び速度をフレームの状態量とし、
 各フレームの状態量を、骨格モデルのルートリンクを基準とする座標系に変換し、
 変換された各フレームの状態量をスケーリングし、
 スケーリングされた各フレームの状態量を時系列に並べて正規化した運動データとする、
 運動データの正規化方法、である。
 運動データの正規化方法は、さらに、各フレームの時間間隔を共通化することを含んでもよい。
The third technical means adopted by the present invention is:
A method for normalizing exercise data,
The motion data consists of time series data of each joint angle of the skeletal model,
A virtual marker set composed of a plurality of virtual markers is arranged at a predetermined position of the skeleton model so that an arbitrary posture of the skeleton model can be determined,
From the time series data of the joint angles, obtain the position and speed of the virtual marker set of each frame, the position and speed of the virtual marker set as the state quantity of the frame,
Convert the state quantity of each frame to a coordinate system based on the root link of the skeleton model,
Scale the state quantity of each converted frame,
Normalized motion data by arranging the state quantities of each scaled frame in time series
This is a method for normalizing exercise data.
The motion data normalization method may further include sharing the time interval of each frame.
 仮想マーカからなる仮想マーカセットは、任意の骨格モデルの任意の姿勢を決定可能なように用意される。例えば、人骨格モデルであれば、異なる骨格モデルであっても、概ね同じリンク構造を備えていると考えられ、十分な数の仮想マーカからなる仮想マーカセットを用意することで、任意の骨格モデルの任意の姿勢が決定可能である。仮想マーカセットは、1つの態様では、基本となる基本骨格モデル(仮想モデルでも、実在するモデルでも良い)に対して、装着位置(どのリンクのどの位置)が決定されている。対象となる骨格モデルと基本骨格モデルとの各リンクを対応させることで、仮想マーカセットを対象となる骨格モデルに配置する。 A virtual marker set composed of virtual markers is prepared so that an arbitrary posture of an arbitrary skeleton model can be determined. For example, if it is a human skeleton model, even if it is a different skeleton model, it is considered that it has almost the same link structure, and by preparing a virtual marker set consisting of a sufficient number of virtual markers, any skeleton model Any posture can be determined. In one aspect, the virtual marker set has a mounting position (which position on which link) is determined with respect to a basic basic skeleton model (which may be a virtual model or an actual model). By associating each link between the target skeleton model and the basic skeleton model, the virtual marker set is arranged in the target skeleton model.
 骨格モデルのルートリンクを基準とする座標系は、一つの態様では、直立姿勢で、人型リンク機構の「前」方向とみなされる方向をルートリンクの座標系で表したベクトルに一つの軸を取り、この軸を水平面に投影して新しい軸とする。異なる人型リンク機構間の対応が取れれば必ずしも「前」である必要はなく「後」方向や「左」方向、「右」方向のベクトルに一つの軸を取ってもよい。 In one aspect, the coordinate system based on the root link of the skeletal model is in an upright posture, and a single axis is added to the vector representing the direction considered as the “front” direction of the humanoid link mechanism in the coordinate system of the root link. And this axis is projected onto the horizontal plane to make a new axis. As long as correspondence between different humanoid link mechanisms can be obtained, it is not always necessary to be “front”, and one axis may be taken as a vector in the “rear” direction, the “left” direction, and the “right” direction.
 一つの態様では、前記関節角の時系列データは、骨格モデルに配置したマーカ位置の時系列データから逆運動学計算によって取得されたものである。
 一つの態様では、計測用モデルSuと計測用マーカセットMuを用いて逆運動学により関節角データの時系列Qを求め、Qと計測用モデルSuと仮想マーカセットMvを用いて順運動学により仮想マーカ位置の時系列Pv'を取得し、これをスケーリングすることで、仮想マーカ位置の時系列Pvを得る。
 一つの態様では、前記関節角の時系列データは、骨格モデルに対して直接付与されている。
In one aspect, the time-series data of the joint angle is obtained by inverse kinematic calculation from the time-series data of the marker positions arranged in the skeleton model.
In one embodiment, the time series Q of the joint angle data is obtained by inverse kinematics using the measurement model Su and the measurement marker set Mu , and the Q, the measurement model Su and the virtual marker set Mv are used. get the time series P v 'virtual marker position by the forward kinematics, by scaling it, obtain a time series P v of the virtual marker position.
In one aspect, the time-series data of the joint angle is directly given to the skeleton model.
 本発明が採用した第4の技術手段は、
 請求項1乃至6いずれかに記載のデータベース構造と、入力部と、出力部と、処理部と、を備えた運動データ検索装置であって、
 入力部は、1フレーム以上の運動データに対応する正規化された状態量あるいは状態量列を入力するように構成され、
 処理部は、各ノードに含まれた複数のフレームの状態量に基づく各ノードの代表値を用いて、入力された状態量あるいは状態量列を生成する尤度を算出し、
 出力部は、尤度が大きい1つ以上のノードあるいは1つ以上のノード遷移系列を候補として出力するように構成されている、
 運動データ検索装置、である。
 各ノードに含まれた複数のフレームの状態量に基づく各ノードの代表値としては、平均、メディアン、トリム平均、重み付け平均等を用いることができる。
 入力される状態量列のフレームの時間間隔は、必ずしもデータベース構造を構成するフレームの時間間隔と一致していなくてもよい。また、入力される状態量列のフレームの時間間隔を補間によって変更し得ることも当業者に理解される。
The fourth technical means adopted by the present invention is:
An exercise data search device comprising the database structure according to any one of claims 1 to 6, an input unit, an output unit, and a processing unit,
The input unit is configured to input a normalized state quantity or state quantity sequence corresponding to motion data of one frame or more,
The processing unit calculates the likelihood of generating the input state quantity or state quantity sequence using the representative value of each node based on the state quantities of a plurality of frames included in each node,
The output unit is configured to output one or more nodes or one or more node transition sequences having a high likelihood as candidates,
An exercise data retrieval device;
As a representative value of each node based on the state quantities of a plurality of frames included in each node, an average, median, trim average, weighted average, or the like can be used.
The time interval between the frames of the input state quantity sequence does not necessarily need to coincide with the time interval of the frames constituting the database structure. It will also be understood by those skilled in the art that the time interval between frames of the input state quantity sequence can be changed by interpolation.
 一つの態様では、
 前記処理部は、ノード間遷移確率を用いて、前記算出されたノードが遷移し得る1つ以上の次ノードを算出し、
 出力部は、算出された1つ以上の次ノードを候補として出力する。
 一つの態様では、
 入力部から入力される状態量は、仮想マーカセットの各仮想マーカの位置および速度によって決定される。
 処理部は、入力部から入力された状態量の全部あるいは部分情報を用いて尤度を算出する。例えば、体の一部分に着目しての次の姿勢の提示を行っても良く、あるいは、注目したいマーカだけを考えた尤度を用いてもよい。
In one embodiment,
The processing unit uses the inter-node transition probability to calculate one or more next nodes to which the calculated node can transition,
The output unit outputs one or more calculated next nodes as candidates.
In one embodiment,
The state quantity input from the input unit is determined by the position and speed of each virtual marker in the virtual marker set.
The processing unit calculates the likelihood using all or partial information of the state quantity input from the input unit. For example, the next posture with attention paid to a part of the body may be presented, or the likelihood considering only the marker to be noticed may be used.
 本発明が採用した第5の技術手段は、
 請求項1乃至6いずれかに記載のデータベース構造を用いた運動データ検索方法であって、
 1フレーム以上の運動データに対応する正規化された状態量あるいは状態量列を入力するステップと、
 各ノードに含まれた複数のフレームの状態量に基づく各ノードの代表値を用いて、入力された状態量あるいは状態量列を生成する尤度を算出するステップと、
 尤度が大きい1つ以上のノードあるいは1つ以上のノード遷移系列を候補として出力するステップと、を備えている、
 運動データ検索方法、である。
The fifth technical means adopted by the present invention is:
An exercise data search method using the database structure according to claim 1,
Inputting a normalized state quantity or state quantity sequence corresponding to at least one frame of motion data;
Calculating a likelihood of generating an input state quantity or state quantity sequence using a representative value of each node based on a state quantity of a plurality of frames included in each node;
Outputting one or more nodes or one or more node transition sequences having a high likelihood as candidates,
This is an exercise data search method.
 一つの態様では、
 さらに、ノード間遷移確率を用いて、前記算出されたノードが遷移し得る1つ以上の次ノードを算出するステップと、
 算出された1つ以上の次ノードを候補として出力する。
In one embodiment,
Furthermore, using the inter-node transition probability, calculating one or more next nodes to which the calculated node can transition;
One or more calculated next nodes are output as candidates.
 一つの態様では、
 入力される状態量は、仮想マーカセットの各仮想マーカの位置および速度によって決定される。
 一つの態様では、1フレーム以上の運動データは、ある関節モデルの関節角データによって特定されており、
 入力される前記正規化された状態量は、
 前記関節角データに基づいて、順運動学計算により仮想マーカの位置あるいは位置及び速度を取得するステップと、
 取得された仮想マーカの位置あるいは位置及び速度を骨格モデルのルートリンクを基準とする座標系に変換するステップと、
 変換された仮想マーカの位置あるいは位置及び速度をスケーリングするステップと、
 によって取得される。
 前記1つ以上のノード候補あるいは1つ以上のノード遷移系列候補は、
 前記ノード候補あるいはノード遷移系列候補に含まれる状態量の代表値に基づいて、逆運動学計算により関節角データを取得し、
 取得した関節角データを上記関節モデルに適用することで表示される。
In one embodiment,
The state quantity to be input is determined by the position and speed of each virtual marker in the virtual marker set.
In one aspect, the motion data of one frame or more is specified by the joint angle data of a certain joint model,
The normalized state quantity input is
Obtaining the position or position and speed of the virtual marker by forward kinematics calculation based on the joint angle data;
Converting the position or position and velocity of the acquired virtual marker into a coordinate system based on the root link of the skeleton model;
Scaling the position or position and velocity of the transformed virtual marker;
Obtained by.
The one or more node candidates or the one or more node transition sequence candidates are:
Based on the representative value of the state quantity included in the node candidate or node transition series candidate, obtain joint angle data by inverse kinematics calculation,
Displayed by applying the acquired joint angle data to the joint model.
 単一フレーム検索は、関節モデルのある姿勢を特定する状態量が入力され、入力された状態量を生成する尤度の高いノードが検索される。典型的には、検索されたノードから遷移し易いノードを検索し、次フレームノード候補として提示する。
 一つの態様では、ある姿勢の次フレームに対応するノードの検索は、以下のようなステップとなる。
(1)姿勢における関節角データ(関節モデルが既知である)に基づいて、順運動学計算により仮想マーカの位置を求める。
(2)仮想マーカの位置を、座標系{O´}に変換し、かつスケーリングしたものを入力データとする。
(3)入力データに対応する1つ以上のノード候補を得る。
(4)ノード間遷移確率に基づいてノード候補が選択される。
(5)ノード候補に含まれる仮想マーカ位置情報の代表値(例えば平均値)に基づいて、スケールを戻し、逆運動学計算により関節角データを求める。
(5)関節角データを、上記関節モデルに適用して、表示する。
 複数フレームの検索、すなわち、検索しようとしている運動が、ある遷移から生成される尤度は、「各フレームの状態がノードから生成される尤度」と「各ノード間の遷移確率」の積になり、それが最大になる遷移を探索する。後述する実施形態ではDijkstra法を用いた検索を説明するが、本発明に適用し得る探索法はDijkstra法に限定されるものではない。Dijkstra法以外の探索法として、深さ優先探索、幅優先探索、あるいはうまくヒューリスティック関数を設計できる問題であればA*探索、を例示することができる。
In the single frame search, a state quantity specifying a certain posture of the joint model is input, and a node having a high likelihood of generating the input state quantity is searched. Typically, a node that easily transitions from the searched node is searched and presented as a next frame node candidate.
In one aspect, the search for a node corresponding to the next frame of a certain posture is as follows.
(1) The position of the virtual marker is obtained by forward kinematics calculation based on joint angle data in the posture (joint model is known).
(2) The position of the virtual marker is converted into the coordinate system {O ′} and scaled as input data.
(3) One or more node candidates corresponding to the input data are obtained.
(4) Node candidates are selected based on inter-node transition probabilities.
(5) Based on the representative value (for example, average value) of the virtual marker position information included in the node candidate, the scale is returned, and joint angle data is obtained by inverse kinematic calculation.
(5) The joint angle data is applied to the joint model and displayed.
Multi-frame search, that is, the likelihood that the motion to be searched is generated from a certain transition is the product of “the likelihood that the state of each frame is generated from a node” and “the transition probability between each node”. And search for the transition that maximizes it. In the embodiment described later, a search using the Dijkstra method will be described, but the search method applicable to the present invention is not limited to the Dijkstra method. As a search method other than the Dijkstra method, a depth-first search, a breadth-first search, or A * search can be exemplified as long as it is a problem in which a heuristic function can be designed well.
 本発明に係る運動データベース構造、および当該運動データベース構造のための運動データ正規化方法、並びに当該運動データベース構造を用いた検索装置及び方法のハードウエア構成は、一つ又は複数のコンピュータ装置から構成される。コンピュータ装置は、データを格納する記憶手段、データが入力される入力手段、入力されたデータおよび記憶されたデータを用いて計算を行う処理手段、処理結果を出力する出力手段、出力された処理結果を表示する表示手段と、を備えている。
 本発明は、運動データの正規化を行うためにコンピュータを実行させるコンピュータプログラムとして提供することができる。本発明は、運動データベース構造を用いて運動データの検索を行うためにコンピュータを実行させるコンピュータプログラムとして提供することができる。
The hardware configuration of the exercise database structure, the exercise data normalization method for the exercise database structure, and the search apparatus and method using the exercise database structure according to the present invention is composed of one or a plurality of computer devices. The The computer apparatus includes a storage means for storing data, an input means for inputting data, a processing means for performing calculation using the input data and the stored data, an output means for outputting a processing result, and an output processing result Display means for displaying.
The present invention can be provided as a computer program that executes a computer in order to normalize exercise data. The present invention can be provided as a computer program that causes a computer to execute an exercise data search using an exercise database structure.
 本発明に係る運動データベースは、計測・生成時のマーカ配置やモデルの関節構造・大きさに依存しない再利用可能な形でデータベース化されていることを特徴とする。また、木構造の各層の各ノード間の遷移確率が格納されている。これによりネットワーク上に散在しているモーションキャプチャデータを広く利用できるようになるほか、検索機能により動作の認識や予測が可能になり、アニメーションの生成やロボットによる人間の運動認識等に応用できる。 The motion database according to the present invention is characterized in that it is databased in a reusable form independent of the marker arrangement at the time of measurement / generation and the joint structure / size of the model. Moreover, the transition probability between each node of each layer of a tree structure is stored. As a result, motion capture data scattered on the network can be widely used, and the search function can recognize and predict motions, which can be applied to generation of animations and human motion recognition by robots.
 データベース検索方法に関しては1つのフレームに対してなるべく高速に複数の候補を提示する必要があるため、検索の高速性と実装の可能性を考慮して探索時間がO(log N)となる二分木を採用した。したがって、ポーズや動作をキーとして類似した動作をO(log N)で高速に検索できる。 As for the database search method, it is necessary to present multiple candidates as fast as possible for one frame, so a binary tree with a search time of O (log N) in consideration of the high-speed search and the possibility of implementation. It was adopted. Therefore, similar operations can be searched at high speed with O (log N) using pauses and operations as keys.
[A]モーションデータベースの構築
 図1に、データベースの構築方法の概略を示す。先ず、様々なマーカ配置やモデルの運動データを一つのデータベースに蓄積するため、モーションデータの正規化を行う。さらに、様々な精度での検索を高速に行うため、正規化されたデータを二分木構造のデータベースに登録する。また、元のモーションデータのフレーム情報を用いて、二分木構造の各階層のノード間の遷移確率を計算する。
[A] Construction of Motion Database FIG. 1 shows an outline of a database construction method. First, in order to store various marker arrangements and model motion data in one database, the motion data is normalized. Furthermore, in order to perform a search with various accuracy at high speed, the normalized data is registered in a binary tree structure database. Moreover, the transition probability between the nodes of each hierarchy of the binary tree structure is calculated using the frame information of the original motion data.
[A-1]モーションデータの正規化
 データの形式によらないデータベースとするため、仮想的なマーカセットMを定義し、これに含まれる各マーカの位置・速度を用いて運動を表現する。Mに含まれるマーカの個数Nを十分大きく取れば、ほとんどの実用的な骨格モデルの運動が表現可能となる。仮想マーカセットの1つの態様を、図7に示す。図7に示す骨格モデルは155自由度のモデルであり、仮想マーカセットは34個の仮想マーカから構成されている。仮想マーカの個数は限定されないが、34個程度の仮想マーカを骨格モデルに配置することで、骨格モデルの任意の姿勢を表現できると考えられる。
[A-1] Normalization of motion data In order to make the database independent of the data format, a virtual marker set Mv is defined, and the motion is expressed using the position / velocity of each marker included therein. Taking sufficiently large number N m of the markers included in the M v, movement of the most practical skeleton model is expressible. One aspect of the virtual marker set is shown in FIG. The skeleton model shown in FIG. 7 is a model with 155 degrees of freedom, and the virtual marker set is composed of 34 virtual markers. Although the number of virtual markers is not limited, it is considered that an arbitrary posture of the skeleton model can be expressed by arranging about 34 virtual markers in the skeleton model.
 汎用的な大規模モーションデータベースを構築するにあたって、オリジナルデータから登録用のデータに正規化をする必要がある。オリジナルデータは様々なツールによって作成されることが考えられる。モーションキャプチャではユーザが計測用モデルSと計測用マーカセットMを用いて時系列の計測用マーカ位置のデータPを得るため、本発明のモーションデータベースに登録するためには計測用マーカセットMとモデルS、およびそのモデルにおける仮想マーカセットMが必要である。 When constructing a general-purpose large-scale motion database, it is necessary to normalize from original data to registration data. The original data can be created by various tools. To obtain the data P u of the measurement marker position of the time series user using the measurement marker set M u and the measurement model S u in motion capture, measurement marker set to register the motion database of the present invention We need M u and model S u and a virtual marker set M v in that model.
 したがって、モーションキャプチャデータに対しては、まず計測時に用いたモデルSとマーカセットM、およびSにおけるMの配置を指定する。S、Mおよびマーカ位置pの時系列データPから逆運動学計算により関節角θの時系列データΘを得る。このΘ、Sおよび仮想マーカセットMから順運動学計算により仮想マーカ位置pの時系列データPを求める。 Therefore, for the motion capture data, first, the model S u and marker set M u used at the time of measurement, and the arrangement of M v in S u are specified. The time series data Θ of the joint angle θ is obtained from the time series data P u of S u , M u and the marker position p u by inverse kinematic calculation. The theta, obtains the time-series data P v of the virtual marker position p v by the forward kinematics calculation from S u and virtual markers set M v.
 手付けアニメーションの場合は、アニメータが直接キャラクタを操作しているため、生成モデルの関節角の時系列データΘが直接得られる。したがって、本発明のモーションデータベースに登録するには生成モデルSとそのモデルにおける仮想マーカセットMが必要である。すなわち、アニメータの手作業により生成された動作の場合は、SとΘが直接与えられるので、SにおけるMの配置を与えればPが求められる。 In the case of manual animation, since the animator directly operates the character, the time series data Θ of the joint angle of the generation model can be obtained directly. Therefore, to register the motion database of the present invention requires the virtual markers set M v in the model and generate a model S u. That is, in the case of an operation generated manually by an animator, S u and Θ are directly given, and therefore P v is obtained by giving the arrangement of M v in S u .
 次にこの仮想マーカセットの位置pをデータベースに登録する状態量xに変換する。以下では、Sのルートリンクに固定されたキャラクタの前方向をx軸、上方向をz軸とする座標系{R}を用いる。また、絶対座標系の鉛直上向きをz軸とする。各フレームにおいて、座標系{R}のx軸を絶対座標系{O}のxy平面に射影し、その始点を座標系{O´}の原点、影をそのx軸とする。また、絶対座標系{O}のz軸と同方向を{O´}のz軸とする。最後にy軸を右手系に準拠して選ぶと{O´}が決まる。言い換えると、腰リンク(ルートリンク)の重心を地面に下ろした垂線の足を原点とし、地面に垂直の方向をz軸とし、人間の前方向を地面に射影した方向をx軸とする。このローカル座標系により、人間の立ち位置、回転の向きによって区別せずに、姿勢のみによってフレームデータを分類できる。変換時の各軸、すなわち、x軸、y軸、z軸、の取り方は限定されなない。例えば、座標系{R}において、キャラクタの前方向をz軸、上方向をy軸としてもよい。 Then converted into a state amount x for registering the position p v of the virtual markers set in the database. Hereinafter, a front direction of the character which is fixed in the root link S u x-axis, using a coordinate system with the upward direction as the z-axis {R}. Further, the vertical upward direction of the absolute coordinate system is taken as the z axis. In each frame, the x-axis of the coordinate system {R} is projected onto the xy plane of the absolute coordinate system {O}, the starting point is the origin of the coordinate system {O ′}, and the shadow is the x-axis. Further, the same direction as the z axis of the absolute coordinate system {O} is taken as the z axis of {O ′}. Finally, if the y-axis is selected according to the right-handed system, {O ′} is determined. In other words, the vertical foot with the center of gravity of the waist link (root link) down to the ground is the origin, the direction perpendicular to the ground is the z-axis, and the direction of the human front projected onto the ground is the x-axis. With this local coordinate system, it is possible to classify the frame data based only on the posture without distinguishing between the human standing position and the rotation direction. The method of taking each axis at the time of conversion, that is, the x-axis, the y-axis, and the z-axis is not limited. For example, in the coordinate system {R}, the forward direction of the character may be the z axis and the upward direction may be the y axis.
 この{O´}から見た仮想マーカXの位置
Figure JPOXMLDOC01-appb-M000002
と速度
Figure JPOXMLDOC01-appb-M000003
を求め、全マーカについて並べると状態量x´
Figure JPOXMLDOC01-appb-M000004
が得られる。
The position of the virtual marker X as seen from this {O '}
Figure JPOXMLDOC01-appb-M000002
And speed
Figure JPOXMLDOC01-appb-M000003
And arranging for all markers, state quantity x '
Figure JPOXMLDOC01-appb-M000004
Is obtained.
 最後に、モデルSの大きさによる差をなくすためにスケーリングを行う。モデルSを正規化するための係数αを用いて、データベースに登録する状態量x
Figure JPOXMLDOC01-appb-M000005
が得られる。αは例えば身長が1単位長さになるように決定する。あるいは、ユーザの用いたモデルSと所定の基本モデルとの比をαとしてもよい。
Finally, scaling to eliminate differences due to the size of the model S u. The state quantity x registered in the database using the coefficient α for normalizing the model Su
Figure JPOXMLDOC01-appb-M000005
Is obtained. α is determined, for example, so that the height is one unit length. Alternatively, the ratio between the model Su used by the user and a predetermined basic model may be α.
 この状態量xを時系列に並べて、フレーム数Nの動作aを表す正規化されたモーションデータMa
Figure JPOXMLDOC01-appb-M000006
を定義する。ここで、状態量の次元6NをDと表す。
This state quantity x is arranged in time series, and normalized motion data Ma representing the operation a of the number of frames N f
Figure JPOXMLDOC01-appb-M000006
Define Here, the dimension 6N m of the state quantity is represented as D.
[A-2]データベースの構築
 1つ以上のモーションデータM=[M,M,...,MNa]の全フレームを用いてモーションデータベースを構築する。動作間の遷移を可能とし、様々な精度での検索を高速に行うため、動作の種類によらず全てのフレームを1つの二分木構造を持つ階層型のデータベースに格納する。各フレームは二分木の各階層のいずれかのノードに含まれ、各ノードは階層に応じた粒度で状態量の近いフレームを含む。各ノードの特徴量は、そのノードに含まれるフレームの状態量の平均及び分散である。
[A-2] Database construction A motion database is constructed using all frames of one or more motion data M = [M 1 , M 2 ,..., M Na ]. In order to enable transition between operations and to perform searches with various accuracies at high speed, all frames are stored in a hierarchical database having one binary tree structure regardless of the type of operation. Each frame is included in any node in each hierarchy of the binary tree, and each node includes a frame having a close state quantity with a granularity corresponding to the hierarchy. The feature quantity of each node is the average and variance of the state quantities of the frames included in that node.
 階層的クラスタリングには様々な手法が提案されているが、一般に全サンプル間の距離情報が必要となる。本発明はこのような距離情報を用いたクラスタリングを排除するものではないが、本発明のように多数(数千~数万以上)のサンプルを含むデータのクラスタリングは、メモリ量・計算量の観点から好適であるとは言えない。一方、人間の運動は連続的であるため、十分に多くの動作を含む場合、フレームデータの集合は明確なクラスタ構造を持たないとも考えられる。 Various methods have been proposed for hierarchical clustering, but generally distance information between all samples is required. Although the present invention does not exclude such clustering using distance information, clustering of data including a large number of samples (thousands to tens of thousands or more) as in the present invention is based on the viewpoint of memory amount and calculation amount. Therefore, it cannot be said that it is preferable. On the other hand, since human motion is continuous, it is considered that a set of frame data does not have a clear cluster structure when it includes a sufficiently large number of motions.
 以上から、二分木の上位階層ノードを直下の階層のノードに分割する際には、多数のフレームを含むため主成分分析に基づく単純な分割手法を適用し、ノード内のフレーム数が一定値n以下になってから階層的クラスタリング手法の一つであるWard法によりクラスタリングを行う。 From the above, when the upper hierarchy node of the binary tree is divided into nodes in the immediately lower hierarchy, since a large number of frames are included, a simple division method based on principal component analysis is applied, and the number of frames in the node is a constant value n. Clustering is performed by the Ward method, which is one of the hierarchical clustering methods, after the value becomes c or less.
[A-2-1]上位階層ノードの分割法
 初めに第1層にモーションマーカデータの集合Mの全てのフレームを含むノードB1,1を作成する。以後、第l層の第iノードBl,iにn以上のサンプル(フレームデータ)が含まれているとき、以下の手順で2個の子ノードに分割する。まず、Bl,iに含まれる状態量の共分散行列Σl,iの主成分分析を行い、第1主成分の主軸にBl,iに含まれる各状態量を射影して第1主成分得点を求める。これらを2つのノードに分割するには、適当な閾値を求めればよい。ここでは、検索における誤識別率を最小化することを目的としてKittlerらの自動閾値選定法(J.Kittler and J.Illingworth. Minimum error thresholding Pattern Recognition, Vol. 19, No. 1, pp. 41.47, 1986.)を用いる。また、第1主成分得点の降順にノード内のフレームを半数ずつ2つの子ノードに分けてもよい。
[A-2-1] Upper Layer Node Division Method First, nodes B 1 and 1 including all frames of the motion marker data set M are created in the first layer. Thereafter, when the i-th node B l, i in the l-th layer includes n c or more samples (frame data) , the i- th node B l, i is divided into two child nodes by the following procedure. First, a principal component analysis of the covariance matrix Σ l, i of the state quantities included in B l, i is performed, and each state quantity included in B l, i is projected onto the principal axis of the first principal component to obtain the first principal component. Find the component score. In order to divide these into two nodes, an appropriate threshold value may be obtained. Here, the automatic threshold selection method of Kittler et al. (J. Kittler and J. Illingworth. Minimum error thresholding Pattern Recognition, Vol. 19, No. 1, pp. 41.47, 1986.). Alternatively, half of the frames in the node may be divided into two child nodes in descending order of the first principal component score.
[A-2-2]Ward法によるクラスタリング
 あるノードのサンプル数がn以下になったら、1個のサンプルを含むn個のノード群を初期状態として、Ward法を用いてクラスタリングを行う。クラスタリング終了後、サンプル数がある閾値以下のノードを削除する。
When [A-2-2] number of samples clustering a node by Ward method becomes less n c, a n c pieces of node group comprising one sample in the initial state, performs clustering using the Ward method. After clustering is completed, nodes whose number of samples is equal to or less than a certain threshold are deleted.
[A-3]ノード間遷移確率
 まず動作の種類によらないノード間遷移確率を求める。上述のとおり、1つのモーションデータM内のすべてのフレームデータが各層の各ノードに分配されるが、ノードに分配する際に各フレームデータがどのノードに所属しているかの情報を記録しておく。この情報を用いて各層のノード間遷移確率を決定する。すなわち、各層においてフレームをノードに分配する際に各フレームとその次フレームがどのノードに所属しているかの情報を記録しておくと、同層の各ノード間の遷移確率aijは各ノードへのノードiからノードjへの遷移数Nijをノードiから自分を含む他ノードへの総遷移数で割ることにより求められる。
Figure JPOXMLDOC01-appb-M000007
例えば、図5において、1→1が5回、1→2が2回、1→3が3回であれば、a13は0.3となる。この遷移情報は検索時に次フレームの候補を提示する際に用いられる。
[A-3] Internode Transition Probability First, the internode transition probability regardless of the type of operation is obtained. As described above, all the frame data in one motion data M is distributed to each node of each layer. When distributing to each node, information on which node each frame data belongs to is recorded. . This information is used to determine the internode transition probability of each layer. That is, when information on which node each frame and the next frame belong to is recorded when distributing the frame to the nodes in each layer, the transition probability a ij between the nodes in the same layer is transferred to each node. The number of transitions N ij from node i to node j is divided by the total number of transitions from node i to other nodes including itself.
Figure JPOXMLDOC01-appb-M000007
For example, in FIG. 5, 1 → 1 five times, 1 → 2 twice, if 1 → 3 three times, a 13 becomes 0.3. This transition information is used when a candidate for the next frame is presented at the time of retrieval.
 また、各動作における各層のノードの遷移確率も求める。モーションデーM全体についての各層の各ノード間の遷移情報を上述の通り求めるが、この情報には各モーションデータMiの独立した情報は消えてしまっている。しかし、データベースの使用目的によっては動作毎における遷移情報が必要になり得る。そこで、図6に示すように、各モーションデータMiのノードの遷移確率を表現する。基本的な方法は、は上記と同様であるが、時系列であることを表現するためにleft-to-right型で表現する。各ノード間の遷移確率はノードを遷移した時点で更新し、自己遷移と他ノードへの遷移の確率の和が1になるように設定する。各層において各動作(各モーションデータ)のノード遷移確率のテーブルを保持する。 Also find the transition probability of each layer node in each operation. The transition information between the nodes of each layer for the entire motion data M is obtained as described above, but the independent information of each motion data Mi has disappeared in this information. However, transition information for each operation may be required depending on the purpose of use of the database. Therefore, as shown in FIG. 6, the transition probability of the node of each motion data Mi is expressed. The basic method is the same as above, but it is expressed in the left-to-right type in order to express the time series. The transition probability between the nodes is updated when the node is transitioned, and is set so that the sum of the probability of self-transition and transition to another node is 1. Each layer holds a table of node transition probabilities for each operation (each motion data).
[B]モーションデータベースを用いた検索
[B-1]概要
 複数のモーションデータから構築されたデータベースを用いて、与えられた1フレーム以上の運動データに最も良く対応する、すなわち与えられた運動データを生成する尤度が最大となるノード遷移系列を求める。この結果を用いて与えられた運動がデータベース中のどの動作に対応するかを認識することができる。また、最後のノードから次に遷移できるノードとその遷移確率がわかるので、次の動作を予測することができる。
[B] Retrieval using motion database [B-1] Outline Using a database constructed from a plurality of motion data, the best correspondence to given motion data of one frame or more, that is, given motion data A node transition sequence that maximizes the likelihood to be generated is obtained. Using this result, it is possible to recognize which motion in the database corresponds to the given motion. In addition, since the node that can make the next transition from the last node and its transition probability are known, the next operation can be predicted.
 検索においては、ノードBl,i内のフレームの平均μl,i、共分散行列Σl,iを用いて、あるフレームにおける姿勢に対応する状態量xがBl,iから生成される尤度
Figure JPOXMLDOC01-appb-M000008
を用いる。状態量xとしては、姿勢から計算される仮想マーカ位置および速度を[A-1]と同じ方法で正規化したものを用いる。すなわち、ある姿勢に対応するノードの検索において、姿勢における関節角データ(関節モデルが既知である)に基づいて、順運動学計算により仮想マーカの位置を求める。次いで、仮想マーカの位置を、座標系{O´}に変換し、かつスケーリングして得られた状態量を入力データとする。ただし、速度情報が得られない場合や一部の仮想マーカしか考慮しない場合には、Partial Observation(D.H. Lee and Y. Nakamura. Mimesis from partial observations. In Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 1911.1916, 2005.)と同様に、考慮しない成分については平均値をそのまま用いる。
In the search, the state quantity x corresponding to the posture in a certain frame is generated from B l, i using the average μ l, i of the frames in the node B l, i and the covariance matrix Σ l, i. Every time
Figure JPOXMLDOC01-appb-M000008
Is used. As the state quantity x, the virtual marker position and velocity calculated from the posture are normalized by the same method as [A-1]. That is, in searching for a node corresponding to a certain posture, the position of the virtual marker is obtained by forward kinematics calculation based on joint angle data (joint model is known) in the posture. Next, the position of the virtual marker is converted into the coordinate system {O ′}, and the state quantity obtained by scaling is used as input data. However, if speed information is not available or only some virtual markers are considered, Partial Observation (DH Lee and Y. Nakamura. Mimesis from partial observations. In Proceedings of IEEE / RSJ International Conference on Intelligent Robots and Systems , pp. 1911.1916, 2005.) For the components not considered, the average value is used as it is.
[B-2]対応ノード候補
 検索のキーとして入力された1フレーム以上からなる運動データの各フレームについて、対応する最下層ノードの候補を求める。このとき、データベースの階層構造を利用して上位階層から数8の尤度が高いものを辿っていくことで高速に候補を求めることができる。下位階層に移る際に尤度の低いノードを削除する方法として、一定の閾値で打ち切る方法、一定個数を残す方法、尤度が大きく低下するところで打ち切る方法などが考えられる。
[B-2] Corresponding Node Candidate A candidate for the lowest layer node corresponding to each frame of motion data composed of one or more frames input as a search key is obtained. At this time, by using the hierarchical structure of the database and following the high likelihood of the number 8 from the upper hierarchy, candidates can be obtained at high speed. As a method of deleting a node having a low likelihood when moving to a lower hierarchy, a method of cutting off at a certain threshold, a method of leaving a certain number, a method of cutting off when the likelihood greatly decreases, and the like can be considered.
 以上の方法により、各フレームに対して1個以上の対応ノード候補を求め、それらを尤度の降順に並べておく。 By the above method, one or more corresponding node candidates are obtained for each frame, and are arranged in descending order of likelihood.
[B-3]最適ノード遷移系列
 複数のフレームが与えられている場合は、ノード間の遷移確率も考慮して最も尤度の高いノード遷移を探索する。ノード間遷移確率と対応ノード候補を用いて、与えられた運動を生成する尤度が最大となるノード遷移系列を求める。Kフレームからなる運動データM=[x1x2・・・x]をキーとして検索を行うことを考える。ノード遷移系列B=[B1,B2,・・・,B]が運動データMを生成する尤度は次式で計算される。
Figure JPOXMLDOC01-appb-M000009
ここでak,k+1はノードBからBk+1への遷移確率であり、aK,K+1=1とする。
[B-3] Optimal node transition sequence When a plurality of frames are given, the node transition having the highest likelihood is searched in consideration of the transition probability between nodes. Using the internode transition probability and the corresponding node candidate, a node transition sequence that maximizes the likelihood of generating a given motion is obtained. Consider a search using movement data M = [x1x2... X K ] consisting of K frames as a key. The likelihood that the node transition sequence B = [B1, B2,..., B K ] generates motion data M is calculated by the following equation.
Figure JPOXMLDOC01-appb-M000009
Here, a k, k + 1 is a transition probability from the node B k to B k + 1 , and it is assumed that a K, K + 1 = 1.
 1つの実施態様では、これをコスト
Figure JPOXMLDOC01-appb-M000010
を最小化する探索問題とみなし、Dijkstra法(Steven M. LaValle. Planning Algorithms. Cambridge University Press, New York, NY, 2006.)を適用する。
In one embodiment, this is cost
Figure JPOXMLDOC01-appb-M000010
The Dijkstra method (Steven M. LaValle. Planning Algorithms. Cambridge University Press, New York, NY, 2006.) is applied.
[B-4]モーションデータベースを用いた探索の詳細説明
 探索対象として、N個のキーフレームにおける状態量s1,s2,...,sNと、各キーフレームの時刻t1,t2,...,tNが与えられているものとする。探索の目的は、これらのキーフレームを最もよく表す、すなわち生成尤度が最大となるノード遷移系列を見つけることである。探索の方法として、以下のようなオプションがある。
[B-4] Detailed Explanation of Search Using Motion Database As search targets, state quantities s1, s2,..., SN in N key frames and times t1, t2,. Let tN be given. The purpose of the search is to find a node transition sequence that best represents these key frames, ie, has the maximum generation likelihood. As a search method, there are the following options.
[補間の有無]
(1)補間あり:与えられたキーフレームをあらかじめ補間し、補間後の各フレームにノードを対応させる方法。
(2)補間なし:キーフレームが与えられた時刻にそのキーフレームを通過するようなノード遷移系列を求める方法。
[動作の途中変更の有無]
(1)ノード遷移を同一の動作に限れば、動作の途中変更を許さない探索となる。
(2)動作の種類によらずすべての可能な遷移を考慮すれば、動作の途中変更を許す検索となる。
 以上の組み合わせは自由であるので、4通りの検索があることになる。
[Presence of interpolation]
(1) With interpolation: A method in which a given key frame is interpolated in advance and a node is associated with each frame after interpolation.
(2) No interpolation: A method for obtaining a node transition sequence that passes a key frame at a given time.
[Whether there is any change during operation]
(1) If the node transition is limited to the same operation, the search is not allowed to change during the operation.
(2) If all possible transitions are taken into account regardless of the type of motion, the search will allow a change in the middle of the motion.
Since the above combinations are free, there are four ways to search.
 本発明の探索法の1つの実施態様としてDijkstra(ダイキストラ)法を用いる。Dijkstra法は離散最適化法の一つで、コスト最小の候補から順に1ステップ後に可能な入力を数え上げて行く方法である。最終ステップがコスト最小となると最適な入力系列が求まることが保証されている。本手法では、入力としては可能な遷移のうちどれを選択するか、コストとしては生成尤度の逆数の対数を用いる。 The Dijkstra method is used as one embodiment of the search method of the present invention. The Dijkstra method is one of the discrete optimization methods, counting the possible inputs after one step in order from the lowest cost candidate. It is guaranteed that an optimal input sequence can be obtained when the final step has the lowest cost. In this method, which of the possible transitions is selected as an input, the logarithm of the reciprocal of the generation likelihood is used as the cost.
[B-4-1]準備
 キーフレームに対応する状態量si(i=1,2,...,N)に対し、データベース最下層のノードのうち対応する可能性のあるものの集合Ciを求める。これは一般に最上位層から尤度の高いノードをたどっていくことで高速に求められる。このとき、各層では生成尤度がある閾値より高いもののみを次の層で考慮することにしてもよいし、尤度の降順に並べて大きく変化するところで切ってもよい。
 以下では、ノードniからnjへ遷移する確率をT(ni,nj)と表す。自分に遷移する確率、すなわちni=njである場合も含む。
[B-4-1] Preparation The set C i of the possible nodes corresponding to the state quantity s i (i = 1, 2,..., N) corresponding to the key frame among the nodes at the bottom of the database. Ask for. This is generally obtained at high speed by following a node with a high likelihood from the highest layer. At this time, in each layer, only those having a generation likelihood higher than a certain threshold value may be considered in the next layer, or may be cut off at a large change in order of decreasing likelihood.
Hereinafter, the probability of transition from node n i to n j is represented as T (n i , n j ). This includes the probability of transition to self, that is, n i = n j .
[B-4-2]上位の探索
 Ci(i =1,2,...,N)に含まれるノードを順にたどっていく最適な経路を探索する。
 ノード遷移系列{n1 →n2 →... →nN}(ni∈Ci)に対する生成尤度Pは次式で計算される。
Figure JPOXMLDOC01-appb-M000011
ここでT(ハット)(ni,nj)はノードniからnjへmステップで遷移する確率を表し、次節で述べる下位の探索により求める。またMiはキーフレームsiとsi+1の間の時間間隔が学習させた動作データの何フレーム分に相当するかを表し、Mi=(ti+1-ti)/Δtで求められる。このPに対し、-logPをコストするDijkstra法を適用する。
[B-4-2] Upper Search Searches for an optimum route that sequentially follows the nodes included in C i (i = 1, 2,..., N).
The generation likelihood P for the node transition sequence {n 1 → n 2 → ... → n N } (n i ∈C i ) is calculated by the following equation.
Figure JPOXMLDOC01-appb-M000011
Here, T (hat) m (n i , n j ) represents the probability of transition from node n i to n j in m steps, and is obtained by a lower search described in the next section. M i represents the number of frames of the motion data learned by the time interval between the key frames s i and s i + 1 , and M i = (t i + 1 −t i ) / Δt Desired. The Dijkstra method that costs -logP is applied to P.
[B-4-3]下位の探索
 T(ハット)(ni,nj)は、mステップでノードniからnjへ移動できる可能なノード遷移系列のうち、確率が最大となるものの確率と定義される。これは、遷移系列
Figure JPOXMLDOC01-appb-M000012
が発生する確率
Figure JPOXMLDOC01-appb-M000013
に対して-logPをコストとするDijkstra法により得られる。
[B-4-3] Subordinate search T (hat) m (n i , n j ) is a node transition sequence that can move from node n i to n j in m steps, but has the highest probability. Defined as probability. This is a transition series
Figure JPOXMLDOC01-appb-M000012
Probability of occurrence
Figure JPOXMLDOC01-appb-M000013
Is obtained by the Dijkstra method with a cost of -logP.
[B-4-4]各オプションへの対応
 補間の有無:あらかじめ補間を行う場合は、補間後の全フレームをキーフレームとみなす。したがって下位の探索は常に1ステップとなるので非常に高速である。しかし、上位の探索のステップ数が増加するので、全体の探索時間の長短は一概には言えない。
 動作の途中変更の有無:上位・下位の探索において、可能な遷移をリストアップする際に前のステップの遷移と同じ動作における遷移のみを考慮すれば、同一動作内での探索となり、二分木のある層において可能な遷移をすべて考慮すれば動作の途中変更を許す探索となる。
[B-4-4] Correspondence to each option Presence / absence of interpolation: When performing interpolation in advance, all frames after interpolation are regarded as key frames. Therefore, the low-order search is always one step and is very fast. However, since the number of steps of the upper search increases, the overall search time cannot be said simply.
Presence / absence of change in operation: In the upper / lower search, if only transitions in the same operation as the transition of the previous step are considered when listing possible transitions, the search becomes within the same operation, and the binary tree If all possible transitions in a layer are considered, the search can be changed during the operation.
[B-5]例
 図8Aにデータベースにおける最下層ノード間で可能な遷移を図示した例を示す。上が動作の種類を考慮せずすべての可能な遷移と各遷移確率(T)を表したもの、下がデータベース構築に使われた3つの動作データにおける遷移を表したものである。動作内の遷移図では遷移確率および自分への遷移を表す矢印を省略した。以下では上の遷移図に基づく検索例を示す。
[B-5] Example FIG. 8A shows an example illustrating possible transitions between lowermost nodes in a database. The top represents all possible transitions and transition probabilities (T) without considering the type of motion, and the bottom represents the transitions in the three motion data used for database construction. In the transition diagram in the action, the transition probability and the arrow indicating the transition to oneself are omitted. A search example based on the above transition diagram is shown below.
 図8Bは検索システムへの入力の例である。ここでは3つのキーフレームs1,s2,s3が指定され、キーフレーム間の時間間隔はデータベースに含まれる動作データのそれぞれ2フレーム、3フレーム分に相当するものとする。 FIG. 8B is an example of input to the search system. Here, three key frames s 1 , s 2 , and s 3 are designated, and the time interval between the key frames corresponds to 2 frames and 3 frames of operation data included in the database, respectively.
 まず各キーフレームが対応する可能性のあるノードをリストアップする。その結果を尤度の高い順に並べたものが図8B下部のようになったとする。すなわち、C1={n1,n3}等である。ノードの横の数字は尤度を表す(確率ではないので1より大きくなることがある)。 First, nodes that each key frame may correspond to are listed. Assume that the results are arranged in descending order of likelihood as shown in the lower part of FIG. 8B. That is, C1 = {n 1 , n 3 } and the like. The number next to the node represents the likelihood (it may be greater than 1 because it is not a probability).
 キーフレームs1に対応する可能性のノードはn1,n3の2つあり、それぞれの尤度はP=3.0,0.1でありn1の方が尤度が高いので、コストは低くなる。そこでまずn1がs1に対応する場合を考える。 There are two nodes n 1 and n 3 that can correspond to the key frame s 1 , and the likelihood is P = 3.0, 0.1, and the likelihood of n 1 is higher, so the cost is lower. First, consider the case where n 1 corresponds to s 1 .
 s2に対応する可能性があるのはn4とn1であるので、まずn1からn4へ2ステップで遷移することができるかどうかを探索する。その結果、以下の遷移が可能であることがわかる。
Figure JPOXMLDOC01-appb-M000014
遷移確率はそれぞれ0.2×0.1=0.02, 0.05×0.3=0.015 となる。これら両方を保持してもよいし、最適な遷移のみを残してもよい。ここでは簡単のため最適な遷移である前者のみを残すこととする。これとノードn4からキーフレームs2が生成される尤度を合わせた尤度は2.0×0.02=0.04 である。一方、n1 からn1へ2ステップで遷移する経路は以下の2種類である。
Figure JPOXMLDOC01-appb-M000015
遷移確率はそれぞれ0.7×0.7=0.49、0.2×0.3=0.06なので前者が最適な遷移となり、キーフレーム生成尤度を合わせた尤度は0.5×0.49=0.245 となる。以上からs1にn1が対応するとき、s2への遷移としては尤度の高い順にn1 → n1(P =0.245), n1 → n4(P =0.02)の2通りがあることになる。
Since n 4 and n 1 may correspond to s 2 , first, it is searched whether transition from n 1 to n 4 can be made in two steps. As a result, it can be seen that the following transitions are possible.
Figure JPOXMLDOC01-appb-M000014
The transition probabilities are 0.2 × 0.1 = 0.02 and 0.05 × 0.3 = 0.015, respectively. Both of these may be retained, or only the optimal transition may be left. Here, for the sake of simplicity, only the former, which is the optimum transition, is left. The likelihood of combining this with the likelihood that the key frame s 2 is generated from the node n 4 is 2.0 × 0.02 = 0.04. Meanwhile, the path of transition in two steps from the n 1 to n 1 are the following two types.
Figure JPOXMLDOC01-appb-M000015
Since the transition probabilities are 0.7 × 0.7 = 0.49 and 0.2 × 0.3 = 0.06, respectively, the former is the optimal transition, and the combined likelihood of the key frame generation likelihood is 0.5 × 0.49 = 0.245. From the above, when n 1 corresponds to s 1, there are two transitions to s 2: n 1 → n 1 (P = 0.245) and n 1 → n 4 (P = 0.02) in descending order of likelihood. It will be.
 s1 の生成尤度も考慮し,現時点での候補を尤度の降順に並べると以下のようになる。
Figure JPOXMLDOC01-appb-M000016
Dijkstra 法では常にコストの最も低い(この例では尤度が最も高い)ものから考慮するので、次にs1:n1→s2:n1と遷移してきたものを考える。
Taking the generation likelihood of s 1 into consideration, the current candidates are arranged in descending order of likelihood as follows.
Figure JPOXMLDOC01-appb-M000016
Since the Dijkstra method always considers the one with the lowest cost (the highest likelihood in this example), the next one that has transitioned from s 1 : n 1 to s 2 : n 1 is considered.
s3 に対応する可能性があるのはn2,n5である。まずn1 からn2 へ3 ステップで遷移する方法を探索すると、以下のような結果が得られる。
Figure JPOXMLDOC01-appb-M000017
このうち遷移確率が最大のものを採用する。n1 からn5 へ3 ステップで遷移する方法とその確率も同様に探索する。これらによって得られた候補を加えて尤度の降順に並べ、同様に尤度が最大のものから考えていく。Dijkstra法の性質により、すでにs3 まで到達した候補が選ばれた時点で尤度最大となる最適な遷移系列が見つかったことになるので、探索は終了する。
n 2 and n5 may correspond to s 3 . First, when searching for a method of transition from n 1 to n 2 in three steps, the following result is obtained.
Figure JPOXMLDOC01-appb-M000017
Among these, the one with the maximum transition probability is adopted. The method of transition from n 1 to n 5 in three steps and its probability are similarly searched. The candidates obtained by these are added and arranged in descending order of likelihood, and similarly, the one with the highest likelihood is considered. Due to the nature of the Dijkstra method, the optimum transition sequence having the maximum likelihood is found when a candidate that has already reached s 3 is selected, and the search ends.
[C]キーフレーム生成支援ツールへの応用
[C-1]背景
 提案したデータベースの応用例として、キャラクタアニメーションにおけるキーフレーム生成支援ツールとしての実装を示す。一般にキャラクタアニメーションにおけるキーフレームは逆運動学計算などを用いてアニメータによる手作業で生成されることが多いが、熟練したアニメータでも時間を要する作業である。
[C] Application to Key Frame Generation Support Tool [C-1] Background As an application example of the proposed database, implementation as a key frame generation support tool in character animation is shown. In general, key frames in character animation are often generated manually by animators using inverse kinematics calculation or the like, but even a skilled animator takes time.
 そこで、少数のポーズを作成すれば、それをキーとした検索により次ポーズ候補が提示され、それらの中から最も適切なものを選択していくことで容易に多数のキーフレームを生成できるアプリケーションを実装した。次ポーズ候補は、前節の検索により得られた遷移系列における最後のノードから遷移可能なノードを求め、各ノードの平均値から得られたマーカ位置を用いて逆運動学計算を行うことで可能である。 Therefore, if you create a small number of poses, the next pose candidate is presented by a search using them as a key, and you can easily generate a large number of key frames by selecting the most appropriate one from them. Implemented. The next pose candidate can be obtained by calculating the node that can transition from the last node in the transition sequence obtained by the search in the previous section and performing inverse kinematics calculation using the marker position obtained from the average value of each node. is there.
[C-2]データベース構築
 200fpsで取得した「走る、歩く、跳ぶなど」10種類のモーションキャプチャデータを用いた。各フレームにおいて逆運動学計算を行った後、アニメーションにおいて通常用いられる30fpsや24fpsへの変換を容易にするために120fpsでリサンプリングした結果、フレーム数の合計は3480となった。また、マーカ数N=34の仮想マーカセット(図7参照)を用いた。Ward法によるクラスタリングを行う最大サンプル数をNc=200、各ノードの最小サンプル数を24としたとき、ファイルの読み込み、逆運動学、順運動学、データベース構築に要した時間の合計は1190秒であった。なお、全階層で単純なノード分割を行った場合は260秒となる。
[C-2] Database construction Ten types of motion capture data “running, walking, jumping, etc.” acquired at 200 fps were used. After performing inverse kinematics calculation in each frame, the total number of frames was 3480 as a result of resampling at 120 fps to facilitate conversion to 30 fps or 24 fps, which is normally used in animation. Further, a virtual marker set (see FIG. 7) with the number of markers N m = 34 was used. When the maximum number of samples for clustering by the Ward method is Nc = 200 and the minimum number of samples at each node is 24, the total time required for file reading, inverse kinematics, forward kinematics, and database construction is 1190 seconds there were. If simple node division is performed in all layers, the time is 260 seconds.
[C-3]結果
 単一フレームをキーとして、検索した結果から得られた次ポーズ候補のうち上位8個を提示した例を図9に示す。中央に表示されたキャラクタが入力した姿勢であり、その下に次ポーズ候補が左から尤度の降順に並んでいる。入力によりそれぞれ妥当な検索結果が得られていることがわかる。また、入力した運動データのフレーム数と検索及び逆運動学計算に要した時間および得られた候補数を表1に示す。
Figure JPOXMLDOC01-appb-T000018
なお、逆運動学計算には、「山根克, 中村仁彦. ヒューマンフィギュアの全身運動生成のための協応構造化インターフェイス. 日本ロボット学会誌, Vol. 20, No. 3, pp. 335.343, 2002.」の方法を使い、収束計算を10回繰り返した。候補1個につき34×3=102個の拘束条件を考慮しなければならない逆運動学計算に比べ、検索に要する時間は短い。
[C-3] Results FIG. 9 shows an example in which the top eight candidates among the next pose candidates obtained from the search results are presented using a single frame as a key. The character displayed in the center is the posture input, and the next pose candidates are arranged in descending order of likelihood from the left. It can be seen that appropriate search results are obtained for each input. Table 1 shows the number of frames of input motion data, the time required for search and inverse kinematics calculation, and the number of candidates obtained.
Figure JPOXMLDOC01-appb-T000018
For inverse kinematics calculations, see “Katsu Yamane, Yoshihiko Nakamura. Cooperative structured interface for generating human figure whole body motion. Journal of the Robotics Society of Japan, Vol. 20, No. 3, pp. 335.343, 2002. The convergence calculation was repeated 10 times using the method of "." Compared with the inverse kinematic calculation in which 34 × 3 = 102 constraints must be taken into consideration for each candidate, the time required for the search is short.
[D]運動データの追加登録
 モーションデータ初期登録の方法を述べたが、データベースをより汎用にするためにはモーションデータのデータベースの追加機能が必要である。運動データの追加登録の1つの態様について説明する。ここで述べる態様では、バックアップデータを用いてノードを再構成する。バックアップデータベースとは、モーションデータベースの構築に用いたモーションデータの全てのフレーム、ならびに構築されたモーションデータベースの各情報を記録する場所である。
[D] Additional registration of motion data Although the method of initial registration of motion data has been described, in order to make the database more versatile, an additional function of the motion data database is required. One mode of additional registration of exercise data will be described. In the aspect described here, the node is reconfigured using the backup data. The backup database is a place where all the frames of the motion data used for the construction of the motion database and each information of the constructed motion database are recorded.
 図10に示すように、まずモーションデータのモーションデータベースへの初期登録を行う(ステップ1)。
 初期登録が完了したすべてフレームとツリーの構成及び各ノードの平均と共分散行をバックアップデータベースに保存する(ステップ2)。
 次にモーションデータベースを用いるときにはバックアップデータベースからノードの平均と共分散行列を読み込み、モーションデータベースの再構成を行う(ステップ3)。
 モーションデータを追加登録する際は各ノードに所属するフレームの情報をバックアップデータベースから取得し、追加されたデータを加味してノードの平均と共分散行列ならびにノードが保持するフレームのインデックスを更新する(ステップ4)。
 更新が完了したら再びバックアップデータベースに各ノードの平均と共分散行列ならびにノードが保持するフレームを更新登録し、以下からを繰り返すことで、モーションデータベースを再構成できる。
As shown in FIG. 10, first, initial registration of motion data in the motion database is performed (step 1).
All frame and tree configurations for which initial registration has been completed and the average and covariance rows of each node are stored in the backup database (step 2).
Next, when using the motion database, the node average and covariance matrix are read from the backup database, and the motion database is reconfigured (step 3).
When additionally registering motion data, information on the frames belonging to each node is acquired from the backup database, and the average and covariance matrix of the node and the index of the frame held by the node are updated in consideration of the added data ( Step 4).
When the update is completed, the motion database can be reconstructed by updating and registering the average and covariance matrix of each node and the frame held by the node again in the backup database, and repeating the following.
 ノードの更新方法の1つの態様について説明する。あるノードにおいて追加登録前のノードBl,i内のフレーム数がn,平均がμl,i、共分散行列がΣl,iとする。このノードにあるフレームxn+1が入ってきた時、平均と共分散行列は以下の通りである。
Figure JPOXMLDOC01-appb-M000019
これにより逐次的にノードの平均と共分散行列を更新していく。ここで追加したあるフレームに割り振られるかは、数8に示す式で計算される尤度によって決定される(図11の(A))。
One aspect of the node update method will be described. Assume that the number of frames in node B l, i before additional registration in a certain node is n, the average is μ l, i , and the covariance matrix is Σ l, i . When frame x n + 1 at this node comes in, the mean and covariance matrix are:
Figure JPOXMLDOC01-appb-M000019
As a result, the node average and the covariance matrix are sequentially updated. Whether it is assigned to a certain frame added here is determined by the likelihood calculated by the equation shown in Equation 8 ((A) in FIG. 11).
 最上位ノードから子ノードの中でxn+1と各層において尤度最大のノードに追加していく。また新規登録の時と同様にノード内のフレーム数が閾値を超えた場合は2つの子ノードに分割する(図11の(B))。これにより枝によって深さが異なるツリーとなる場合は深さ最大の枝に合うよう単一の子ノードを追加していく(図11の(C))。 From the highest node to the child node, x n + 1 is added to the node with the maximum likelihood in each layer. Similarly to the case of new registration, when the number of frames in the node exceeds the threshold, it is divided into two child nodes ((B) in FIG. 11). Thus, when the tree has a different depth depending on the branch, a single child node is added to match the branch having the maximum depth ((C) in FIG. 11).
 本発明は、コンピュータグラフィックスのみならず、スポーツ科学、リハビリテーション、医療分野等の様々な分野においても利用可能である。 The present invention can be used not only in computer graphics but also in various fields such as sports science, rehabilitation, and medical fields.
モーションデータをモーションデータベースに登録するまでの概要を示す。図中、IKは逆運動学計算、FKは順運動学計算を示す。An overview of how to register motion data in the motion database is shown below. In the figure, IK indicates inverse kinematics calculation and FK indicates forward kinematics calculation. 順運動学計算により取得した仮想マーカセットの位置の、骨格モデルのルートリンクを基準とする座標系への変換を示す。The conversion of the position of the virtual marker set acquired by the forward kinematics calculation to the coordinate system based on the root link of the skeleton model is shown. 図2で得られた仮想マーカセットの位置のスケーリングを示す。The scaling of the position of the virtual marker set obtained in FIG. 2 is shown. 二分木構造の概要を示す。二分木の各ノードの深さを本発明では層と呼び、最上位層が第1層とする。第l層におけるノード数は2l-1である。モーションデータの集合Mの各フレームデータ(状態量×)は、二分木の各層のいずれか一つのノードに含まれる。An outline of the binary tree structure is shown. In the present invention, the depth of each node of the binary tree is called a layer, and the highest layer is the first layer. The number of nodes in the l-th layer is 2 l-1 . Each frame data (state quantity x) of the set M of motion data is included in any one node of each layer of the binary tree. 各階層(第l層)を構成する複数のノード間の遷移確率の算出を説明する図である。It is a figure explaining calculation of the transition probability between the some nodes which comprise each hierarchy (1st layer). 各運動データ毎における、各階層を構成する複数のノード間の遷移確率の算出を説明する図である。It is a figure explaining calculation of transition probability between a plurality of nodes which constitute each hierarchy for every exercise data. 仮想マーカセットを示す図である。It is a figure which shows a virtual marker set. 最下層ノードの遷移図を示す。The transition diagram of the lowest layer node is shown. 検索への入力例を示す。An example of input to search is shown. 実験結果を表示する。Display experimental results. モーションデータの追加登録の全体の流れを示す。The overall flow of additional registration of motion data is shown. 二分木構造におけるモーションデータの追加登録を示す。The additional registration of motion data in a binary tree structure is shown.

Claims (24)

  1.  複数の正規化運動データを用いたデータベース構造であって、
     前記複数の正規化運動データの各フレームの時間間隔は共通化されており、
     前記データベース構造は、木構造を備えた階層型データベースであり、
     木構造の最上位層は、複数の正規化運動データの全てのフレームが含まれている1つのノードであり、
     正規化運動データの各フレームは、木構造の各階層のいずれかの1つのノードに含まれていると共に、各ノードには、上位層から下位層に行くにしたがってより近い状態量を備えたフレームが含まれており、
     各階層毎に、各階層を構成する複数のノード間の遷移確率が格納されている、
     運動データベース構造。
    A database structure using a plurality of normalized motion data,
    The time interval of each frame of the plurality of normalized motion data is shared,
    The database structure is a hierarchical database having a tree structure;
    The top layer of the tree structure is one node that contains all frames of multiple normalized motion data,
    Each frame of normalized motion data is included in any one node of each hierarchy of the tree structure, and each node has a frame having a state quantity closer to the lower layer from the upper layer. Is included,
    For each tier, transition probabilities between a plurality of nodes constituting each tier are stored.
    Exercise database structure.
  2.  前記木構造は、二分木構造である、請求項1に記載の運動データベース構造。 The exercise database structure according to claim 1, wherein the tree structure is a binary tree structure.
  3.  各運動データ毎に、各階層を構成する複数のノード間の遷移確率が格納されている、請求項1、2いずれかに記載の運動データベース構造。 The exercise database structure according to claim 1, wherein transition probabilities between a plurality of nodes constituting each hierarchy are stored for each exercise data.
  4.  正規化運動データの各フレームの状態量は、骨格モデルの任意の姿勢を決定し得る仮想マーカセットの各仮想マーカの位置および速度によって決定される、請求項1乃至3いずれかに記載の運動データベース構造。 The motion database according to any one of claims 1 to 3, wherein a state quantity of each frame of the normalized motion data is determined by a position and a velocity of each virtual marker of a virtual marker set capable of determining an arbitrary posture of the skeleton model. Construction.
  5.  木構造の最下位層のノードには、所定数以上のフレームが含まれている、請求項1乃至4いずれかに記載の運動データベース構造。 The exercise database structure according to any one of claims 1 to 4, wherein a node of the lowest layer of the tree structure includes a predetermined number of frames or more.
  6.  各ノードに含まれる複数のフレームの状態量の代表値を各ノードの特徴量とし、各ノードの特徴量が、各ノードに含まれる複数のフレームの状態量に代えて或は加えて、格納されている、請求項1乃至5いずれかに記載の運動データベース構造。 The representative value of the state quantity of each frame included in each node is used as the feature quantity of each node, and the feature quantity of each node is stored in place of or in addition to the state quantity of the plurality of frames included in each node. The exercise database structure according to any one of claims 1 to 5.
  7.  複数の正規化運動データの全てのフレームから最上位のノードを形成して木構造のルートとし、
     各階層のノードに含まれるフレーム数が第1閾値以下となるまでノード分割を行う第1分割ステップと、
     各階層のノードに含まれるフレーム数が第2閾値以下となるまで、第1分割ステップの最下層のノードから順次ノード分割を行う第2分割ステップと、
     を備え、
     前記第1分割ステップは、各ノードに含まれるフレームの状態量から取得した1次元の指標に基づいてノード分割を行い、
     前記第2分割ステップは、各ノードに含まれるフレームの状態量を用いた階層的クラスタリングによりノード分割を行う、
     複数の正規化運動データを用いた運動データベース構築方法。
    A top node is formed from all frames of a plurality of normalized motion data to form a tree structure root,
    A first division step of performing node division until the number of frames included in the nodes of each hierarchy is equal to or less than a first threshold;
    A second division step of performing node division sequentially from the lowest layer node of the first division step until the number of frames included in the nodes of each hierarchy is equal to or less than the second threshold;
    With
    The first division step performs node division based on a one-dimensional index acquired from a state quantity of a frame included in each node;
    In the second dividing step, node division is performed by hierarchical clustering using a state quantity of a frame included in each node.
    Exercise database construction method using multiple normalized exercise data.
  8.  前記第1分割ステップ及び第2分割ステップは、各ノードを下位の2つのノードに分割するものである、請求項7に記載の運動データベース構築方法。 The exercise database construction method according to claim 7, wherein the first division step and the second division step divide each node into two lower nodes.
  9.  正規化運動データの各フレームの状態量は、骨格モデルの任意の姿勢を決定し得る仮想マーカセットの各仮想マーカの位置および速度によって決定される、請求項7,8いずれかに記載の運動データベース構造。 9. The motion database according to claim 7, wherein a state quantity of each frame of the normalized motion data is determined by a position and a speed of each virtual marker of a virtual marker set capable of determining an arbitrary posture of the skeleton model. Construction.
  10.  前記第1分割ステップは、主成分分析に基づくノード分割であり、前記指標は第1主成分得点である、請求項7乃至9いずれかに記載の運動データベース構築方法。 10. The exercise database construction method according to claim 7, wherein the first division step is node division based on principal component analysis, and the index is a first principal component score.
  11.  前記第1分割ステップにおける前記指標は重心の高さである、請求項7乃至9いずれかに記載の運動データベース構築方法。 10. The exercise database construction method according to claim 7, wherein the index in the first division step is a height of a center of gravity.
  12.  1つの上位ノードに含まれる複数のフレームを複数の下位ノードに分配する際に、各運動データを構成する各フレームと次フレームがどのノードに所属しているかの情報を格納し、同階層の各ノード間の遷移確率を求めることを含む、請求項7乃至11いずれかに記載の運動データベース構築方法。 When distributing a plurality of frames included in one upper node to a plurality of lower nodes, information on which node each frame constituting each motion data and the next frame belongs to is stored. The method for constructing an exercise database according to any one of claims 7 to 11, further comprising obtaining a transition probability between nodes.
  13.  運動データを正規化する方法であって、
     運動データは、骨格モデルの各関節角の時系列データからなり、
     複数の仮想マーカからなる仮想マーカセットを、骨格モデルの任意の姿勢を決定可能なように骨格モデルの所定位置に配置し、
     前記関節角の時系列データから、各フレームの仮想マーカセットの位置および速度を取得して、仮想マーカセットの位置及び速度をフレームの状態量とし、
     各フレームの状態量を、骨格モデルのルートリンクを基準とする座標系に変換し、
     変換された各フレームの状態量をスケーリングし、
     スケーリングされた各フレームの状態量を時系列に並べて正規化した運動データとする、
     運動データの正規化方法。
    A method for normalizing exercise data,
    The motion data consists of time series data of each joint angle of the skeletal model,
    A virtual marker set composed of a plurality of virtual markers is arranged at a predetermined position of the skeleton model so that an arbitrary posture of the skeleton model can be determined,
    From the time series data of the joint angles, obtain the position and speed of the virtual marker set of each frame, the position and speed of the virtual marker set as the state quantity of the frame,
    Convert the state quantity of each frame to a coordinate system based on the root link of the skeleton model,
    Scale the state quantity of each converted frame,
    Normalized motion data by arranging the state quantities of each scaled frame in time series
    Normalization method for exercise data.
  14.  各フレームの時間間隔を共通化することを含む、請求項13に記載の運動データの正規化方法。 The method for normalizing motion data according to claim 13, comprising sharing the time interval of each frame.
  15.  前記関節角の時系列データは、ある骨格モデルに配置したマーカ位置の時系列データから逆運動学計算によって取得されたものである、請求項13、14いずれかに記載の運動データの正規化方法。 15. The method for normalizing motion data according to claim 13, wherein the time-series data of the joint angles is obtained by inverse kinematic calculation from time-series data of marker positions arranged in a certain skeleton model. .
  16.  前記関節角の時系列データは、骨格モデルに対して直接付与されている、請求項13、14いずれかに記載の運動データの正規化方法。 15. The method for normalizing motion data according to claim 13, wherein the time series data of the joint angles is directly given to the skeleton model.
  17.  請求項1乃至6いずれかに記載のデータベース構造と、入力部と、出力部と、処理部と、を備えた運動データ検索装置であって、
     入力部は、1フレーム以上の運動データに対応する正規化された状態量あるいは状態量列を入力するように構成され、
     処理部は、各ノードに含まれた複数のフレームの状態量に基づく各ノードの代表値を用いて、入力された状態量あるいは状態量列を生成する尤度を算出し、
     出力部は、尤度が大きい1つ以上のノードあるいは1つ以上のノード遷移系列を候補として出力するように構成されている、
     運動データ検索装置。
    An exercise data search device comprising the database structure according to any one of claims 1 to 6, an input unit, an output unit, and a processing unit,
    The input unit is configured to input a normalized state quantity or state quantity sequence corresponding to motion data of one frame or more,
    The processing unit calculates the likelihood of generating the input state quantity or state quantity sequence using the representative value of each node based on the state quantities of a plurality of frames included in each node,
    The output unit is configured to output one or more nodes or one or more node transition sequences having a high likelihood as candidates,
    Exercise data retrieval device.
  18.  前記処理部は、ノード間遷移確率を用いて、前記算出されたノードが遷移し得る1つ以上の次ノードを算出し、
     出力部は、算出された1つ以上の次ノードを候補として出力する、
     請求項17に記載の運動データ検索装置。
    The processing unit uses the inter-node transition probability to calculate one or more next nodes to which the calculated node can transition,
    The output unit outputs one or more calculated next nodes as candidates,
    The exercise data search device according to claim 17.
  19.  入力部から入力される状態量は、仮想マーカセットの各仮想マーカの位置および速度によって決定される、請求項17、18いずれかに記載の運動データ検索装置。 The state data input from the input unit is determined by the position and speed of each virtual marker of the virtual marker set, the motion data search device according to any one of claims 17 and 18.
  20.  請求項1乃至6いずれかに記載のデータベース構造を用いた運動データ検索方法であって、
     1フレーム以上の運動データに対応する正規化された状態量あるいは状態量列を入力するステップと、
     各ノードに含まれた複数のフレームの状態量に基づく各ノードの代表値を用いて、入力された状態量あるいは状態量列を生成する尤度を算出するステップと、
     尤度が大きい1つ以上のノードあるいは1つ以上のノード遷移系列を候補として出力するステップと、を備えている、
     運動データ検索方法。
    An exercise data search method using the database structure according to claim 1,
    Inputting a normalized state quantity or state quantity sequence corresponding to at least one frame of motion data;
    Calculating a likelihood of generating an input state quantity or state quantity sequence using a representative value of each node based on a state quantity of a plurality of frames included in each node;
    Outputting one or more nodes or one or more node transition sequences having a high likelihood as candidates,
    Exercise data search method.
  21.  さらに、ノード間遷移確率を用いて、前記算出されたノードが遷移し得る1つ以上の次ノードを算出するステップと、
     算出された1つ以上の次ノードを候補として出力する、
     請求項20に記載の運動データ検索方法。
    Furthermore, using the inter-node transition probability, calculating one or more next nodes to which the calculated node can transition;
    Output one or more calculated next nodes as candidates,
    The exercise data search method according to claim 20.
  22.  入力される状態量は、仮想マーカセットの各仮想マーカの位置および速度によって決定される、請求項20、21いずれかに記載の運動データ検索方法。 22. The motion data search method according to claim 20, wherein the input state quantity is determined by the position and speed of each virtual marker in the virtual marker set.
  23.  1フレーム以上の運動データは、ある関節モデルの関節角データによって特定されており、
     入力される前記正規化された状態量は、
     前記関節角データに基づいて、順運動学計算により仮想マーカの位置あるいは位置及び速度を取得するステップと、
     取得された仮想マーカの位置あるいは位置及び速度を骨格モデルのルートリンクを基準とする座標系に変換するステップと、
     変換された仮想マーカの位置あるいは位置及び速度をスケーリングするステップと、
     によって取得される、
     請求項22に記載の運動データ検索方法。
    The motion data of one frame or more is specified by the joint angle data of a certain joint model,
    The normalized state quantity input is
    Obtaining the position or position and speed of the virtual marker by forward kinematics calculation based on the joint angle data;
    Converting the position or position and velocity of the acquired virtual marker into a coordinate system based on the root link of the skeleton model;
    Scaling the position or position and velocity of the transformed virtual marker;
    Obtained by the
    The exercise data search method according to claim 22.
  24.  前記1つ以上のノード候補あるいは1つ以上のノード遷移系列候補は、
     前記ノード候補あるいはノード遷移系列候補に含まれる状態量の代表値に基づいて、逆運動学計算により関節角データを取得し、
     取得した関節角データを上記関節モデルに適用することで表示される、
     請求項23に記載の運動データ検索方法。
    The one or more node candidates or the one or more node transition sequence candidates are:
    Based on the representative value of the state quantity included in the node candidate or node transition series candidate, obtain joint angle data by inverse kinematics calculation,
    Displayed by applying the acquired joint angle data to the joint model.
    The exercise data search method according to claim 23.
PCT/JP2009/059037 2008-05-28 2009-05-15 Motion database structure, motion data normalization method for the motion database structure, and searching device and method using the motion database structure WO2009145071A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010514439A JPWO2009145071A1 (en) 2008-05-28 2009-05-15 Exercise database structure, exercise data normalization method for the exercise database structure, and search apparatus and method using the exercise database structure

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008139020 2008-05-28
JP2008-139020 2008-05-28

Publications (1)

Publication Number Publication Date
WO2009145071A1 true WO2009145071A1 (en) 2009-12-03

Family

ID=41376952

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/059037 WO2009145071A1 (en) 2008-05-28 2009-05-15 Motion database structure, motion data normalization method for the motion database structure, and searching device and method using the motion database structure

Country Status (2)

Country Link
JP (1) JPWO2009145071A1 (en)
WO (1) WO2009145071A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012093920A (en) * 2010-10-27 2012-05-17 Square Enix Co Ltd Robust operation selection for controlling physically two-foot walking character
WO2024057423A1 (en) * 2022-09-13 2024-03-21 富士通株式会社 Conversion method, conversion program, and conversion device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112634415B (en) * 2020-12-11 2023-11-10 北方信息控制研究院集团有限公司 Human body skeleton model-based personnel action real-time simulation method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022792A (en) * 1999-05-28 2001-01-26 Fuji Xerox Co Ltd Method for selecting candidate frame for key frame selection
JP2006243975A (en) * 2005-03-01 2006-09-14 Advanced Telecommunication Research Institute International Motion capture data correction device, multi-modal corpus preparation system, image composition device and computer program
WO2007138885A1 (en) * 2006-05-26 2007-12-06 The University Of Tokyo Structure and design method for database of motion data, and database system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022792A (en) * 1999-05-28 2001-01-26 Fuji Xerox Co Ltd Method for selecting candidate frame for key frame selection
JP2006243975A (en) * 2005-03-01 2006-09-14 Advanced Telecommunication Research Institute International Motion capture data correction device, multi-modal corpus preparation system, image composition device and computer program
WO2007138885A1 (en) * 2006-05-26 2007-12-06 The University Of Tokyo Structure and design method for database of motion data, and database system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012093920A (en) * 2010-10-27 2012-05-17 Square Enix Co Ltd Robust operation selection for controlling physically two-foot walking character
WO2024057423A1 (en) * 2022-09-13 2024-03-21 富士通株式会社 Conversion method, conversion program, and conversion device

Also Published As

Publication number Publication date
JPWO2009145071A1 (en) 2011-10-06

Similar Documents

Publication Publication Date Title
Frishman et al. Online dynamic graph drawing
CN110501017A (en) A kind of Mobile Robotics Navigation based on ORB_SLAM2 ground drawing generating method
Yamane et al. Human motion database with a binary tree and node transition graphs
Ikemoto et al. Enriching a motion collection by transplanting limbs
CN104732203B (en) A kind of Emotion identification and tracking based on video information
CN102508867B (en) Human-motion diagram searching method
CN109086683A (en) A kind of manpower posture homing method and system based on cloud semantically enhancement
CN111223168B (en) Target object control method, device, storage medium and computer equipment
Huang et al. Human motion synthesis from 3d video
Han et al. Reconstructing interactive 3d scenes by panoptic mapping and cad model alignments
Kirsanov et al. Discoman: Dataset of indoor scenes for odometry, mapping and navigation
Zhou et al. Generative tweening: Long-term inbetweening of 3d human motions
Toma et al. Pathbench: A benchmarking platform for classical and learned path planning algorithms
CN106204647B (en) Based on multiple features and organize sparse visual target tracking method
WO2009145071A1 (en) Motion database structure, motion data normalization method for the motion database structure, and searching device and method using the motion database structure
Anderson et al. Stochastic sampling simulation for pedestrian trajectory prediction
CN104318601B (en) Human body movement simulating method under a kind of fluid environment
Mousas et al. Efficient hand-over motion reconstruction
Dhore et al. Human Pose Estimation And Classification: A Review
Kang et al. Multi-contact locomotion using a contact graph with feasibility predictors
CN109993818B (en) Method, device, equipment and medium for synthesizing motion of three-dimensional human body model
CN107507218A (en) Part motility Forecasting Methodology based on static frames
Jang et al. Enriching a motion database by analogous combination of partial human motions
CN116248920A (en) Virtual character live broadcast processing method, device and system
Mahmudi et al. Analyzing locomotion synthesis with feature-based motion graphs

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09754579

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010514439

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09754579

Country of ref document: EP

Kind code of ref document: A1