WO2015008937A1 - Method and apparatus for generating motion data - Google Patents

Method and apparatus for generating motion data Download PDF

Info

Publication number
WO2015008937A1
WO2015008937A1 PCT/KR2014/005198 KR2014005198W WO2015008937A1 WO 2015008937 A1 WO2015008937 A1 WO 2015008937A1 KR 2014005198 W KR2014005198 W KR 2014005198W WO 2015008937 A1 WO2015008937 A1 WO 2015008937A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion data
cluster
motion
generating
data
Prior art date
Application number
PCT/KR2014/005198
Other languages
French (fr)
Korean (ko)
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 서울대학교산학협력단
Publication of WO2015008937A1 publication Critical patent/WO2015008937A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • G06V30/248Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
    • G06V30/2504Coarse or fine approaches, e.g. resolution of ambiguities or multiscale approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Definitions

  • the present invention relates to a method and apparatus for generating motion data. More particularly, the present invention relates to a machine learning method for recognizing human poses of humans using a machine-learned body parts recognition algorithm. The present invention relates to a method and apparatus for generating motion data capable of generating motion data according to a purpose.
  • Kinect is a system based on a probabilistic module. When a classifier that has learned a lot of data in advance receives an arbitrary depth image, Kinect calculates the probability of each pixel and estimates a body part.
  • FIG. 1 schematically illustrates the Kinect's body recognition process.
  • Kinect retrieves motion data from a motion database in which a posture image of a body is stored, obtains a depth learning image for machine learning (step S20), and uses the depth image to machine an algorithm for body part recognition. To learn (step S30). Then, when Kinect is actually used by the user, for example, when Kinect receives the user's depth image (test depth image) in real time through a depth camera, the body part recognition algorithm learned through steps S20 and S30 is performed. This will predict the body's three-dimensional pose in this depth image.
  • Existing posture recognition technology used in Kinect has the advantage of high posture recognition accuracy for general posture in which a person stands up, but it is difficult to apply motion data to a completely new screen when applying to various categories of human posture recognition.
  • the motion data used for machine learning should be uniformly secured according to the classification of human posture.
  • a motion data generation method and apparatus for analyzing a given motion data to remove a duplicate posture and regenerate a short posture based on existing data may be provided according to a distribution desired by a user.
  • the motion data can be adjusted to have any size, density, and operation range, it is possible to provide a motion data generation method and apparatus capable of flexibly manipulating a large amount of motion data.
  • a method of generating motion data comprising: obtaining first motion data from a motion database (DB) in which motion data is stored; Clustering the first motion data according to a body category of the body; And resampling the first motion data for each cluster according to a distribution ratio of the amount of motion data set for each clustered cluster.
  • DB motion database
  • the body recognition method for predicting the three-dimensional posture of the body from the depth image of the body obtaining a learning depth image from the motion data generated by the motion data generation method ; And machine learning a body part recognition algorithm by using the learning depth image.
  • an apparatus for generating motion data by a motion data generating application comprising a processor and a memory, wherein the application is loaded into the memory and executed by the control of the processor.
  • the application is configured to obtain first motion data from a motion database (DB) in which motion data is stored; Clustering the first motion data according to a posture category of a body; And a function of resampling the first motion data for each cluster according to the distribution ratio of the amount of motion data set for each clustered cluster.
  • DB motion database
  • a computer-readable recording medium having a program recorded thereon for executing the motion data generating method or the body recognition method on a computer can be provided.
  • the posture recognition performance may be improved by analyzing the given motion data and removing the overlapping postures and regenerating the postures based on the existing data according to the distribution desired by the user.
  • the motion data can be adjusted to have any size, density, and operating range, there is an advantage in that a large amount of motion data can be flexibly manipulated.
  • FIG. 1 is a flowchart schematically illustrating a human posture recognition process by a conventional Kinect device
  • FIG. 2 is a flowchart schematically illustrating a posture recognition process of a person including a method of generating and / or deleting motion data according to an embodiment of the present invention
  • FIG. 3 is an exemplary flowchart for performing a resampling method according to an embodiment of the present invention
  • FIG. 4 is a view for explaining a method of projecting motion data into a low dimensional space
  • FIG. 5 is a diagram for explaining a step of projecting motion data into a two-dimensional space, according to an exemplary embodiment
  • FIG. 6 is a diagram for explaining a step of generating motion data in each cell of the two-dimensional space of FIG. 5;
  • FIG. 7 is a view for explaining a step in which motion data is projected in a two-dimensional space according to a first alternative embodiment
  • FIG. 8 is a diagram for explaining a step of generating motion data in each cell of the two-dimensional space of FIG. 7;
  • FIG. 9 is a diagram for explaining a step in which motion data is projected in a two-dimensional space according to a second alternative embodiment
  • FIG. 10 is a diagram for explaining a step of generating motion data in each cell of the two-dimensional space of FIG. 9; FIG.
  • 11A and 11B are diagrams for explaining the steps of generating motion data in 75% and 50% of the cells in the two-dimensional space of FIG. 10, respectively;
  • FIG. 14 is a block diagram illustrating an example system configuration for generating motion data, according to one embodiment.
  • a component is referred to herein as being on another component, it means that it may be formed directly on the other component or a third component may be interposed therebetween.
  • FIG. 2 is a flowchart schematically illustrating a posture recognition process of a person including a method of generating and / or deleting motion data according to an exemplary embodiment of the present invention.
  • one of the main technical features of the present invention includes a step S10 of obtaining motion data from a motion database DB and then resampling the motion data.
  • motion data are obtained from a motion database DB in which motion data is stored. That is, it collects motion data to be used for machine learning of body part recognition algorithm.
  • motion data refers to motion data in which a posture of a human body is photographed.
  • the inventive concept is not necessarily limited to the posture of a person, and according to an alternative embodiment the term "motion data” can be extended to mean motion data of any object (eg animal or robot, etc.) capable of movement. Of course.
  • a database that stores motion data in advance may be provided from the beginning, collect motion data published on the Internet, or generate motion data using a motion capture system.
  • the motion data is collected from the motion database (DB), but it is virtually impossible to obtain all the data necessary for machine learning in this process.
  • the collected motion data is unevenly distributed according to the posture classification of the body.
  • the preferred embodiment of the present invention shown includes the step S10 of resampling motion data.
  • “resampling” may include generating new motion data or removing some of the existing motion data from previously obtained motion data. For example, if the data of category A has a large number of data and the data of category B is insufficient as a result of analyzing the acquired motion data, the resampling step is performed to remove some data from the category A data and lack the data in category B. By generating a new, it is possible to uniformly match the ratio of the data of the A category and B category.
  • a step of first classifying (clustering) the previously acquired motion data according to the pose category of the body may be preceded, and then the amount of motion data set for each cluster (the pose category of each body).
  • the motion data may be resampled according to the distribution ratio of.
  • the distribution ratio of the amount of motion data allocated to the posture category of each body has the same value for all clusters, thereby obtaining uniform posture data over the entire category.
  • the distribution ratio of the data amount per category may be set differently for each category. For example, when the body part recognition algorithm according to the present invention is applied to a posture recognition application of a specific posture (such as yoga or stretching), including more motion data in the category of the specific posture can improve posture recognition accuracy. have. Therefore, it will be appreciated that by setting different distribution ratios for categories according to specific application fields, a posture recognition application specific to the application field can be created.
  • steps S20 and S30 are executed to pre-learn the body part recognition algorithm. That is, as described with reference to FIG. 1, a learning depth image is obtained from the motion data obtained by resampling (step S20), and the body part recognition algorithm is machine-learned using the learning depth image (step S20). Step S30). Then, when the machine-learned body part recognition algorithm is mounted and used in a device such as Kinect, for example, when a human depth image is received in real time from a depth camera, the body part recognition algorithm learned in this depth image is used. It is applied to predict the three-dimensional posture of the body (step S40).
  • step S110 is an exemplary flowchart for performing a resampling method according to an embodiment of the present invention.
  • the motion data is clustered in step S110. That is, the collected motion data are clustered (classified) by the body posture category, thereby grouping motion data of similar body postures by cluster.
  • the "motion data" at this time may be data that mathematically defines a posture of a person. For example, when a human posture is modeled with 20 joints and three axes of x, y, and z for each joint, the posture of the human can be expressed with a value of 60 dimensions.
  • the clustering of motion data of "similar body postures" may mean, for example, classifying motions of a predetermined number or less of joints in different motions or continuities of motions into one cluster.
  • each motion data initially forms a single cluster, and then pairs of clusters gradually merge to form a hierarchy of clusters. Pairs of clusters are sorted by max-distance (the longest of the distances between members of two clusters), and two clusters with the smallest maximum-distance are analyzed first for possible merging do. If their minimum-distance (the shortest of the distances between cluster members) is less than the predetermined threshold and their intrinsic dimension does not increase beyond the maximum threshold, their merging is made.
  • the motion data is projected into the low dimensional space of the body posture in step S120 for each cluster.
  • the "low dimensional space” means a smaller number of dimensional spaces than the dimensional space (for example, 60 dimensional space) representing a human posture, and may be, for example, two or three dimensional spaces. That is, in the projection step S120, the transformation is performed to the coordinate space where dimensional reduction can be applied to the motion data expressed in the high dimensional space. As a result, by selecting only the dimensions necessary to represent the data, it is possible to more easily represent and resample the motion data in a low dimensional space.
  • a principal component analysis may be used. This method transforms data defined in a multidimensional coordinate system into a new coordinate system of two or more mutually orthogonal vectors called principal components. For example, when transforming into a two-dimensional coordinate system, the largest variance of the data is zero. The principal component coordinates are respectively selected such that they lie in one principal component coordinate and the second largest variance is in the second principal component coordinate example.
  • PCA principal component analysis
  • LDA Linear Discrimination Analysis
  • CCA Canonical Correlation Analysis
  • the present invention is not limited to any particular method.
  • FIG. 4 illustrates a case of projecting motion data belonging to any one cluster into a two-dimensional space as an example.
  • the horizontal axis represents, for example, the coordinate axis of the first principal component
  • the vertical axis represents the coordinate axis of the second principal component
  • each point is motion data. That is, motion data defined in high dimensions is projected on a two-dimensional plane.
  • This projection step S120 is performed for each cluster, and it will be appreciated that the principal component coordinates selected as a result of the projection step S120 may be the same for all clusters but may differ from cluster to cluster.
  • FIG. 4 illustrates the conversion of the high-dimensional space into the two-dimensional space through the projection step S120, the alternative embodiment may convert the motion data into, for example, the three-dimensional or four-dimensional space.
  • a step S130 of stratifying a low dimensional space into a grid of cells is performed for each cluster.
  • cell represents a square whose length is r, and in general, when extended to n-dimensional space, it means a hypercube whose length is r. do.
  • r 0 denotes an average distance between the nearest data among the motion data distributed in the transformed low-dimensional (two-dimensional embodiment in FIG. 4) space
  • k is a coefficient.
  • the size of the cell i.e. the length r of one side, is related to the density of motion data finally produced by resampling. If the length r is small, more dense motion data may be generated. An embodiment of changing the length r will be described later with reference to FIGS. 7 and 8.
  • a set of grids of n-dimensional cells adjacent to the data centered on arbitrary motion data will be defined as "neighborhood cells" (Nd).
  • Nd neighbor cell
  • the neighbor cell Nd of any motion data i.e., any one point shown in FIG. 4
  • motion data is generated only for cells neighboring existing acquired motion data (ie, motion data projected in a low dimension), that is, neighboring cells Nd.
  • the size of the neighbor cell Nd is related to the diversity of the range and attitude of the motion data finally produced by resampling.
  • the neighbor cell Nd for any motion data may be defined as cells surrounding the motion data within two cells, that is, a 5x5 grid, in which case the motion data generated by resampling as compared to the 3x3 grid embodiment.
  • the spatial range of the sensor becomes wider, the number of motion data generated increases and the variety of body postures increases.
  • FIG. 5 illustrates a case in which the motion data is projected in the two-dimensional space when the neighbor cell Nd is set to a 3x3 grid size.
  • duplicate or similar motion data may be deleted in each cell. That is, when a plurality of motion data exist in one cell, the remaining motion data except for a predetermined number of the plurality of motion data is deleted. Preferably, only one motion data of the plurality of motion data is left for each cell, and the rest are deleted.
  • the criteria for selecting motion data not to be deleted in each cell is not particularly limited. Since motion data belonging to one cell are almost the same or very similar to each other, for example, in one embodiment, only one data may be randomly selected within each cell and the remaining data may be deleted.
  • step S150 some of the existing motion data is deleted and new motion data is generated according to the fill ratio.
  • the input ratio f is defined by the following equation.
  • the input ratio f has a value greater than 0 and less than or equal to 1, and when the input ratio f is 1, it means that the motion data is filled one by one in all cells. When the input ratio f is 0.5, half of all cells are input. This means that only one cell is filled with motion data.
  • the generation of the new motion data in this step is performed on the neighboring cell Nd of the cell including the previously acquired motion data (ie, the motion data projected in the lower dimension). That is, since the existing motion data (indicated by the dots) existing cells already contain the motion data one by one, there is no need to generate new motion data, and in step S150, the neighboring cell Nd of the cell in which the point exists is present. For each cell, one motion data is generated in each cell.
  • FIG. 6 illustrates an example in which motion data is filled in one cell when the input ratio f is 1 in the two-dimensional space of FIG. 5.
  • points represent existing acquired motion data (that is, motion data projected in a low dimension), and in the state of FIG. 5, only one for each cell is left and the rest is deleted (S140).
  • S140 motion data projected in a low dimension
  • only one for each cell is left and the rest is deleted (S140).
  • the "x" is new motion data generated in the neighbor cell Nd by step S150.
  • each cell contains one dot or x mark, and each cell has one motion data.
  • FIG. 5 shows the distribution of motion data of the conventional method without resampling according to the present invention
  • FIG. 6 shows resampling that deletes motion data overlapping one space and generates new motion data in an empty space. It shows the state after the execution, and it can be seen that a uniform and various motion data distribution is made as a whole.
  • FIG. 7 is a diagram showing a state after motion data is projected in a two-dimensional space and stratified into a grid of cells in accordance with a first alternative embodiment (S120 and S130). Comparing FIG. 7 with FIG. 5, it can be seen that the distribution of motion data itself is the same, but the length r of one side of the cell is different. That is, the alternative embodiment of FIG. 7 is an embodiment in which the size of the cell is increased by increasing the length r compared to FIG. 5.
  • FIG. 8 illustrates a state in which motion data is uniformly distributed in each cell of the two-dimensional space of FIG. 7 by the generation and deletion steps S140 and S150 of the motion data.
  • a dot means existing acquired motion data (ie, motion data projected in a low dimension).
  • step S140 By performing step S140 in the state of FIG. 7, only one motion data is left in one cell. It became.
  • the "x" is new motion data generated in the neighbor cell Nd by step S150.
  • the execution of steps S140 and S150 results in motion data one for every cell.
  • FIG. 6 it can be seen that since the cell size is larger than that of FIG. 6, the distribution density of motion data is smaller than that of FIG. 6.
  • Fig. 9 is a view after steps S120 and S130 are executed in which motion data is projected in a two-dimensional space and stratified into a grid of cells according to a second alternative embodiment. Comparing FIG. 9 with FIG. 5, it can be seen that the motion data itself has the same distribution, but the length r of one side of the cell is cut in half compared to FIG. 5 and the size of the neighboring cell Nd is set to a 5 ⁇ 5 grid.
  • FIG. 10 shows how the motion data generation and deletion steps S140 and S150 are executed in each cell of the two-dimensional space of FIG.
  • the input ratio f is one.
  • the cells where the existing motion data is overlapped only one data is left and the rest is deleted, and one motion data is generated in a cell in which no motion data exists.
  • one motion data exists in every cell.
  • the distribution density of the motion data is larger than that in FIG. 6.
  • FIG. 11A and 11B are diagrams for explaining the steps of generating motion data in 75% and 50% of the cells in the two-dimensional space of FIG. 9, respectively.
  • FIG. 11A illustrates a case in which the input data f is set to 0.75 and resampled the motion data, in which motion data exists only in three quarters of the cells.
  • 11B shows that the input ratio f is set to 0.5 and resampled the motion data so that only one half of the cells have motion data.
  • step S160 of deleting overlapping motion data from the entire motion data may be further added.
  • the steps S120 to S150 described above are the steps performed individually for each cluster.
  • motion data belonging to this cluster is projected to a low dimensional space for each cluster, and duplicate data is deleted, and data is generated in empty cells to obtain motion data uniformly distributed for each cluster.
  • step S160 if there is overlapping motion data among the entire motion data, it is deleted.
  • the human posture is classified into three types as shown in FIG. This classification is for the analysis of experimental results and may not be the same as the classification that clusters the categories of human posture to perform resampling.
  • Type I includes sit and squat positions. Specifically, this type includes a posture lower than the height of the knee when the height of the pelvis from the ground is standing up, or a posture in which body parts except the foot are in contact with the ground.
  • Type II includes an acrobatic stand. Specifically, this type is a position in which the upper body is inclined at least 45 degrees with respect to the vertical axis, or the knee or foot is higher than the pelvis height, or any part of the upper body is in contact with the lower body part (for example, the hand is placed on the knee). Posture). In general, standing posture is easiest to recognize posture, but this type corresponds to standing posture and difficult posture.
  • Type III includes an Upright Stand. This type includes all postures except Type I and Type II and includes, for example, a standing posture with the feet on the ground and no contact between the upper body and the lower body. Type III is easiest to distinguish relative to Type I and Type II.
  • the data includes seven training data sets (ie, a set for each of Type I, Type II, and Type III; a set of any two combinations of the three types) and all three types for the experiment.
  • Machine learning algorithm using body part recognition algorithm All data sets were uniformly resampled to have approximately the same data size (approximately 10,000 frames per set), and then input a test depth image into the trained body part algorithm as shown in FIG. 2 to predict each part of the body. It was.
  • the values without the parentheses in the results of FIG. 13 are true positive predictions of body posture, and represent the ratio of the number of joints determined to true and the number of total joints. It is determined to be true if the predicted joint is exactly within or within 10 cm of the actual joint position.
  • Fig. 13 the value in parentheses is a false positive, indicating the case where the predicted joint position is 10 cm or more away from the actual position.
  • the bottom row of Figure 13 shows the results of experiments using the existing Kinect device for comparison with the present invention.
  • any combination of data sets for the three types i.e., "Type I & Type II” set, "Type I & Type III” set, and “Type II & Type III” set)
  • the combination of Type I and Type II learning data shows good performance when testing the postures belonging to Type I or Type II, but the performance is somewhat lower for the postures of Type III.
  • the overall performance of the combination of types is better than that of using only a single type data set.
  • using only the Type I data set shows better performance than other combinations. In other words, if it is intended to predict only a certain posture, it means that the machine learning using only the data of the specific posture can yield better results.
  • FIG. 14 is a block diagram illustrating an example system configuration for generating motion data, according to one embodiment.
  • the motion data generating apparatus 10 may communicate with the motion database 20 to obtain motion data therefrom.
  • the motion data generating apparatus 10 may be connected to the motion capture system and receive motion data therefrom, or may receive motion data from any terminal device or server through a network such as the Internet. .
  • the motion data generating apparatus 10 may be any terminal device or server capable of performing the resampling algorithm described with reference to FIGS. 2 and 3, and as illustrated, the processor 110 and the storage unit ( 120, and a memory 130.
  • the resampling algorithm may be stored in the storage 120 and loaded and executed in the memory 130 under the control of the processor 110.
  • a body part recognition algorithm that performs machine learning using learning data may also be included in the motion data generating apparatus 10 of FIG. 13.
  • a uniform and large amount of motion data can be generated from a non-uniform or small amount of motion database, thereby ensuring a uniform and large amount of motion database. You can improve the predictive performance of your body posture while saving time and effort.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)

Abstract

A method for generating motion data is disclosed. The method for generating motion data according to one embodiment of the present invention comprises the steps of: acquiring first motion data from a motion database (DB) in which motion data is stored; clustering the first motion data according to a category of body postures; and resampling the first motion data for each cluster, according to a distribution rate of the amount of the clustered motion data set for each cluster.

Description

모션 데이터 생성 방법 및 장치Method and apparatus for generating motion data
본 발명은 모션 데이터 생성 방법 및 장치에 관한 것으로, 보다 상세하게는, 기계 학습된 신체 부위(body parts) 인식 알고리즘을 이용하여 사람의 3차원 자세(human poses)를 인식하는데 있어서, 기계학습에 사용되는 모션 데이터를 목적에 맞게 생성할 수 있는 모션 데이터 생성 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for generating motion data. More particularly, the present invention relates to a machine learning method for recognizing human poses of humans using a machine-learned body parts recognition algorithm. The present invention relates to a method and apparatus for generating motion data capable of generating motion data according to a purpose.
최근 입체(3D) 영화, 3D 게임, 3D TV 등의 대중화로 인해 입체 컨텐츠에 대한 관심이 중가되고 있다. 특히 마이크로소프트사의 키넥트(Kinect)는 영상 컨텐츠와 사용자의 상호작용 기술을 게임에 적용하면서 인기를 끌고 있다. 키넥트는 확률적 모듈에 기반한 시스템으로 다량의 데이터를 미리 학습한 분류기가 임의의 깊이 영상(depth image)을 입력 받으면 각 화소(pixel)의 확률을 계산하여 신체 부위를 추정한다. Recently, due to the popularization of 3D movies, 3D games, and 3D TVs, interest in stereoscopic contents is increasing. Microsoft's Kinect, in particular, is gaining popularity as it applies video content and user interaction technology to games. Kinect is a system based on a probabilistic module. When a classifier that has learned a lot of data in advance receives an arbitrary depth image, Kinect calculates the probability of each pixel and estimates a body part.
이와 관련하여 도1은 키넥트의 신체 인식 과정을 도식적으로 나타내고 있다. 도1을 참조하면, 키넥트는 신체의 자세 이미지가 저장된 모션 데이터베이스로부터 모션 데이터들을 불러와서 이로부터 기계학습용 깊이 영상을 획득하고(단계 S20), 이 깊이 영상을 이용하여 신체부위 인식을 위한 알고리즘을 기계학습 시킨다(단계 S30). 그 후 사용자에 의한 키넥트의 실제 사용시, 예컨대 깊이 카메라 등을 통해 키넥트가 실시간으로 사용자의 깊이 영상(테스트 깊이 영상)을 입력 받으면, 단계(S20, S30)를 통해 학습된 신체부위 인식 알고리즘을 실행하여 이 깊이 영상에서의 신체의 3차원 자세를 예측하게 된다. In this regard, Figure 1 schematically illustrates the Kinect's body recognition process. Referring to FIG. 1, Kinect retrieves motion data from a motion database in which a posture image of a body is stored, obtains a depth learning image for machine learning (step S20), and uses the depth image to machine an algorithm for body part recognition. To learn (step S30). Then, when Kinect is actually used by the user, for example, when Kinect receives the user's depth image (test depth image) in real time through a depth camera, the body part recognition algorithm learned through steps S20 and S30 is performed. This will predict the body's three-dimensional pose in this depth image.
키넥트에 사용되는 기존 자세 인식 기술은 사람이 일어서 있는 일반적인 자세에 대해서는 자세 인식의 정확성이 높은 이점이 있지만, 다양한 분류의 사람 자세 인식에 적용하는 데에는 모션 데이터를 완전히 새로 선별해야 하는 어려움이 따른다. 특히 인식하기 쉬운 분류의 자세와 인식하기 어려운 분류의 자세를 동시에 잘 인식하기 위해서는 기계학습에 사용하는 모션 데이터를 사람 자세의 분류에 따라 균일하게 확보해야 한다. Existing posture recognition technology used in Kinect has the advantage of high posture recognition accuracy for general posture in which a person stands up, but it is difficult to apply motion data to a completely new screen when applying to various categories of human posture recognition. In particular, in order to recognize the postures of easy-to-recognition classification and the postures of difficult-to-recognition classification at the same time, the motion data used for machine learning should be uniformly secured according to the classification of human posture.
그러나 일반적으로 신체부위 인식 알고리즘의 기계 학습을 위해 수십만 내지 백만 장의 깊이 영상이 사용되므로 다루어야 할 모션 데이터의 개수가 많다. 더욱이 신체의 자세는 수학적으로 수십 차원(예컨대 60차원)으로 정의되므로 각각의 데이터들이 고차원 데이터이다. 많은 수의 고차원 데이터를 다루면서 각 차원별로 균일하게 데이터를 분포시키는 것은 사람이 직접 하기에는 어려움이 많고, 그러므로 사람 자세의 분류에 따라 통계적으로 잘 분포된 모션 데이터를 획득하는 방법에 대한 필요성이 제기되고 있다. However, in general, hundreds of thousands to one million depth images are used for machine learning of body part recognition algorithms, so the number of motion data to be dealt with is large. Moreover, the posture of the body is mathematically defined in tens of dimensions (for example, 60 dimensions), so each of the data is high-dimensional data. Distributing data uniformly in each dimension while dealing with a large number of high-dimensional data is difficult for the human to do directly, thus raising the need for a method of obtaining statistically well-distributed motion data according to the classification of the human posture. have.
본 발명의 일 실시예에 따르면, 주어진 모션 데이터를 분석하여 사용자가 원하는 분포에 맞게, 중복되는 자세는 제거하고 부족한 자세는 기존 데이터를 기반으로 재생성하는 모션 데이터 생성 방법 및 장치를 제공할 수 있다. According to an embodiment of the present invention, a motion data generation method and apparatus for analyzing a given motion data to remove a duplicate posture and regenerate a short posture based on existing data may be provided according to a distribution desired by a user.
본 발명의 일 실시예에 따르면, 모션 데이터가 임의의 크기, 밀도, 및 동작 범위를 가지도록 조절할 수 있으므로 다량의 모션 데이터를 유연하게 조작할 수 있는 모션 데이터 생성 방법 및 장치를 제공할 수 있다. According to one embodiment of the present invention, since the motion data can be adjusted to have any size, density, and operation range, it is possible to provide a motion data generation method and apparatus capable of flexibly manipulating a large amount of motion data.
본 발명의 일 실시예에 따르면 모션 데이터 생성 방법에 있어서, 모션 데이터가 저장된 모션 데이터베이스(DB)로부터 제1 모션 데이터들을 획득하는 단계; 제1 모션 데이터들을 신체의 자세 카테고리에 따라 클러스터링하는 단계; 및 상기 클러스터링된 각 클러스터별로 설정된 모션 데이터량의 분배율에 따라, 각 클러스터별로 상기 제1 모션 데이터들을 리샘플링하는 단계;를 포함하는 것을 특징으로 하는 모션 데이터 생성 방법을 제공할 수 있다. According to an embodiment of the present invention, a method of generating motion data, the method comprising: obtaining first motion data from a motion database (DB) in which motion data is stored; Clustering the first motion data according to a body category of the body; And resampling the first motion data for each cluster according to a distribution ratio of the amount of motion data set for each clustered cluster.
또한 본 발명의 일 실시예에 따르면, 신체의 깊이 영상으로부터 신체의 3차원 자세를 예측하는 신체인식 방법에 있어서, 상기의 모션 데이터 생성 방법에 의해 생성된 모션 데이터들로부터 학습용 깊이 영상을 획득하는 단계; 및 상기 학습용 깊이 영상을 이용하여 신체부위 인식 알고리즘을 기계 학습하는 단계;를 포함하는 것을 특징으로 하는 신체인식 방법을 제공할 수 있다. Further, according to an embodiment of the present invention, in the body recognition method for predicting the three-dimensional posture of the body from the depth image of the body, obtaining a learning depth image from the motion data generated by the motion data generation method ; And machine learning a body part recognition algorithm by using the learning depth image.
또한 본 발명의 일 실시예에 따르면, 모션 데이터 생성 어플리케이션에 의해 모션 데이터를 생성하는 장치에 있어서, 상기 장치는 프로세서 및 메모리를 포함하고, 상기 어플리케이션이 상기 프로세서의 제어에 의해 상기 메모리에 로딩되어 실행될 때, 상기 어플리케이션이, 모션 데이터가 저장된 모션 데이터베이스(DB)로부터 제1 모션 데이터들을 획득하는 기능; 상기 제1 모션 데이터들을 신체의 자세 카테고리에 따라 클러스터링하는 기능; 및 상기 클러스터링된 각 클러스터별로 설정된 모션 데이터량의 분배율에 따라, 각 클러스터별로 상기 제1 모션 데이터들을 리샘플링하는 기능;을 수행할 수 있는 것을 특징으로 하는 모션 데이터 생성 장치를 제공할 수 있다. According to an embodiment of the present invention, there is also provided an apparatus for generating motion data by a motion data generating application, the apparatus comprising a processor and a memory, wherein the application is loaded into the memory and executed by the control of the processor. When the application is configured to obtain first motion data from a motion database (DB) in which motion data is stored; Clustering the first motion data according to a posture category of a body; And a function of resampling the first motion data for each cluster according to the distribution ratio of the amount of motion data set for each clustered cluster.
또한 본 발명의 일 실시예에 따르면 상기 모션 데이터 생성 방법 또는 신체인식 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다. According to an embodiment of the present invention, a computer-readable recording medium having a program recorded thereon for executing the motion data generating method or the body recognition method on a computer can be provided.
본 발명의 일 실시예에 따르면, 주어진 모션 데이터를 분석하여 사용자가 원하는 분포에 맞게, 중복되는 자세는 제거하고 부족한 자세는 기존 데이터를 기반으로 재생성하여 사용함으로써 자세 인식 성능을 향상시킬 수 있다. According to an embodiment of the present invention, the posture recognition performance may be improved by analyzing the given motion data and removing the overlapping postures and regenerating the postures based on the existing data according to the distribution desired by the user.
또한 본 발명의 일 실시예에 따르면, 균일하지 않거나 적은 양의 모션 데이터베이스로부터 균일하고 다량의 모션 데이터를 자동으로 생성할 수 있기 때문에, 균일하고 다량의 모션 데이터베이스를 확보하기 위한 시간과 노력을 절감할 수 있다. In addition, according to an embodiment of the present invention, since it is possible to automatically generate a uniform and large amount of motion data from a non-uniform or small amount of motion database, it is possible to save time and effort for securing a uniform and large amount of motion database. Can be.
또한 본 발명의 일 실시예에 따르면, 모션 데이터가 임의의 크기, 밀도, 및 동작 범위를 가지도록 조절할 수 있으므로 다량의 모션 데이터를 유연하게 조작할 수 있는 이점이 있다. In addition, according to an embodiment of the present invention, since the motion data can be adjusted to have any size, density, and operating range, there is an advantage in that a large amount of motion data can be flexibly manipulated.
도1은 종래의 키넥트(Kinect) 장치에 의한 사람의 자세 인식 과정을 도식적으로 나타내는 흐름도,1 is a flowchart schematically illustrating a human posture recognition process by a conventional Kinect device;
도2는 본 발명의 일 실시예에 따른 모션 데이터 생성 및/또는 삭제 방법을 포함하는 사람의 자세 인식 과정을 도식적으로 나타내는 흐름도,2 is a flowchart schematically illustrating a posture recognition process of a person including a method of generating and / or deleting motion data according to an embodiment of the present invention;
도3은 본 발명의 일 실시예에 따른 리샘플링 방법을 수행하는 예시적인 흐름도,3 is an exemplary flowchart for performing a resampling method according to an embodiment of the present invention;
도4는 모션 데이터를 저차원 공간으로 투영하는 방법을 설명하기 위한 도면,4 is a view for explaining a method of projecting motion data into a low dimensional space;
도5는 일 실시예에 따라 모션 데이터가 2차원 공간에 투영되는 단계를 설명하기 위한 도면, 5 is a diagram for explaining a step of projecting motion data into a two-dimensional space, according to an exemplary embodiment;
도6은 도5의 2차원 공간의 각 셀에 모션 데이터가 생성되는 단계를 설명하기 위한 도면, FIG. 6 is a diagram for explaining a step of generating motion data in each cell of the two-dimensional space of FIG. 5; FIG.
도7은 제1 대안적인 실시예에 따라 모션 데이터가 2차원 공간에 투영되는 단계를 설명하기 위한 도면,7 is a view for explaining a step in which motion data is projected in a two-dimensional space according to a first alternative embodiment;
도8은 도7의 2차원 공간의 각 셀에 모션 데이터가 생성되는 단계를 설명하기 위한 도면,FIG. 8 is a diagram for explaining a step of generating motion data in each cell of the two-dimensional space of FIG. 7; FIG.
도9는 제2 대안적인 실시예에 따라 모션 데이터가 2차원 공간에 투영되는 단계를 설명하기 위한 도면,9 is a diagram for explaining a step in which motion data is projected in a two-dimensional space according to a second alternative embodiment;
도10은 도9의 2차원 공간의 각 셀에 모션 데이터가 생성되는 단계를 설명하기 위한 도면,FIG. 10 is a diagram for explaining a step of generating motion data in each cell of the two-dimensional space of FIG. 9; FIG.
도11a 및 도11b는 도10의 2차원 공간의 전체 셀의 75% 및 50%의 셀에 모션 데이터가 생성되는 단계를 각각 설명하기 위한 도면,11A and 11B are diagrams for explaining the steps of generating motion data in 75% and 50% of the cells in the two-dimensional space of FIG. 10, respectively;
도12는 일 실시예에서 따라 분류된 사람의 자세 유형을 설명하기 위한 도면,12 is a diagram for explaining posture types of persons classified according to one embodiment;
도13은 본 발명의 일 실시예에 따른 효과를 설명하기 위한 도표, 그리고,13 is a diagram for explaining the effect according to an embodiment of the present invention, and
도14는 일 실시예에 따라 모션 데이터를 생성하는 예시적인 시스템 구성을 나타내는 블록도이다. 14 is a block diagram illustrating an example system configuration for generating motion data, according to one embodiment.
이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다.Objects, other objects, features and advantages of the present invention will be readily understood through the following preferred embodiments associated with the accompanying drawings. However, the present invention is not limited to the embodiments described herein and may be embodied in other forms. Rather, the embodiments introduced herein are provided so that the disclosure may be made thorough and complete, and to fully convey the spirit of the present invention to those skilled in the art.
본 명세서에서 어떤 구성요소가 다른 구성요소 상에 있다고 언급되는 경우에 그것은 다른 구성요소 상에 직접 형성될 수 있거나 또는 그들 사이에 제 3의 구성요소가 개재될 수도 있다는 것을 의미한다. Where a component is referred to herein as being on another component, it means that it may be formed directly on the other component or a third component may be interposed therebetween.
본 명세서에서 제1, 제2 등의 용어가 구성요소들을 기술하기 위해서 사용된 경우, 이들 구성요소들이 이 같은 용어들에 의해서 한정되어서는 안 된다. 이들 용어들은 단지 어느 구성요소를 다른 구성요소와 구별시키기 위해서 사용되었을 뿐이다. 여기에 설명되고 예시되는 실시예들은 그것의 상보적인 실시예들도 포함한다.Where the terms first, second, etc. are used herein to describe the components, these components should not be limited by these terms. These terms are only used to distinguish one component from another. The embodiments described and illustrated herein also include complementary embodiments thereof.
본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다(comprise)' 및/또는 '포함하는(comprising)'은 언급된 구성요소는 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase. As used herein, the words 'comprise' and / or 'comprising' do not exclude the presence or addition of one or more other components.
이하에서 도면을 참조하여 본 발명을 상세히 설명하도록 한다. 아래의 특정 실시예들을 기술하는데 있어서 여러 가지의 특정적인 내용들은 발명을 더 구체적으로 설명하고 이해를 돕기 위해 작성되었다. 하지만 본 발명을 이해할 수 있을 정도로 이 분야의 지식을 갖고 있는 독자는 이러한 여러 가지의 특정적인 내용들이 없어도 사용될 수 있다는 것을 인지할 수 있다. 어떤 경우에는 발명을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명을 설명하는 데 있어 혼돈이 오는 것을 막기 위해 기술하지 않음을 미리 언급해 둔다. Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. In describing the specific embodiments below, various specific details are set forth in order to explain and understand the invention in more detail. However, those skilled in the art can understand that the present invention can be used without these various specific details. In some cases, it is mentioned in advance that parts of the invention which are commonly known in the description and which are not related to the invention are not described in order to prevent confusion in describing the invention.
도2는 본 발명의 일 실시예에 따른 모션 데이터 생성 및/또는 삭제 방법을 포함하는 사람의 자세 인식 과정을 도식적으로 나타내는 흐름도이다. 2 is a flowchart schematically illustrating a posture recognition process of a person including a method of generating and / or deleting motion data according to an exemplary embodiment of the present invention.
도2를 참조하면, 본 발명은 모션 데이터베이스(DB)에서 모션 데이터를 획득한 후 이 모션 데이터를 리샘플링(resampling)하는 단계(S10)를 포함하는 것이 주요 기술적 특징 중 하나이다. Referring to FIG. 2, one of the main technical features of the present invention includes a step S10 of obtaining motion data from a motion database DB and then resampling the motion data.
구체적으로 설명하면, 우선 단계(S10) 이전에, 모션 데이터가 저장된 모션 데이터베이스(DB)로부터 모션 데이터들을 획득한다. 즉 신체부위 인식 알고리즘의 기계학습에 사용할 모션 데이터들을 수집한다. 이하 본 명세서에서 언급하는 "모션 데이터"는 일 실시예로서 사람의 신체의 자세가 촬영된 모션 데이터를 의미하는 것으로 사용한다. 그러나 본 발명적 개념은 반드시 사람의 자세에 한정될 필요가 없으므로, 대안적인 실시형태에 따라 "모션 데이터"가 움직임이 가능한 임의의 대상물(예컨대 동물이나 로봇 등)의 모션 데이터를 의미하는 것으로 확장가능함은 물론이다. Specifically, first, before step S10, motion data are obtained from a motion database DB in which motion data is stored. That is, it collects motion data to be used for machine learning of body part recognition algorithm. As used herein, the term "motion data" used herein refers to motion data in which a posture of a human body is photographed. However, the inventive concept is not necessarily limited to the posture of a person, and according to an alternative embodiment the term "motion data" can be extended to mean motion data of any object (eg animal or robot, etc.) capable of movement. Of course.
모션 데이터를 수집하는 방법에는 여러 가지가 있으며 본 발명은 어느 특정 방법에 제한되지 않는다. 예를 들어 모션 데이터들이 미리 저장된 데이터베이스가 애초부터 마련되어 있을 수도 있고, 인터넷에 공개된 모션 데이터를 수집할 수도 있고 모션 캡처 시스템을 사용하여 모션 데이터를 만들 수도 있다. There are many ways to collect motion data and the present invention is not limited to any particular method. For example, a database that stores motion data in advance may be provided from the beginning, collect motion data published on the Internet, or generate motion data using a motion capture system.
이와 같이 모션 데이터베이스(DB)로부터 모션 데이터들을 수집하지만 이 과정에서 기계 학습에 필요한 모든 데이터를 전부 얻기는 사실상 불가능하다. 일반적으로 수집되는 모션 데이터는 신체의 자세 분류에 따라 불균일하게 분포되어 있기 때문이다. 기계학습 데이터로 사용하여 실제의 사람의 자세를 정확하게 인식하도록 하기 위해서는, 부족한 자세 분류에 대해서는 데이터의 양을 늘리고 과도하게 확보한 자세 분류에 대해서는 데이터의 양을 줄여서 전체적인 분포를 맞출 필요성이 있다. 따라서 도시된 본 발명의 바람직한 실시예는 모션 데이터를 리샘플링하는 단계(S10)를 포함한다. As such, the motion data is collected from the motion database (DB), but it is virtually impossible to obtain all the data necessary for machine learning in this process. In general, the collected motion data is unevenly distributed according to the posture classification of the body. In order to accurately recognize the actual human posture by using the machine learning data, it is necessary to increase the amount of data for insufficient posture classification and to reduce the amount of data for excessively secured posture classification to fit the overall distribution. Therefore, the preferred embodiment of the present invention shown includes the step S10 of resampling motion data.
일 실시예에서 "리샘플링"은 기존에 확보된 모션 데이터들로부터 새로운 모션 데이터를 생성하거나 기존의 모션 데이터 중 일부를 제거하는 단계를 포함할 수 있다. 예컨대, 기존에 확보된 모션 데이터들을 분석한 결과 A 카테고리의 데이터는 데이터 숫자가 많고 B 카테고리의 데이터는 부족하다고 하면, 리샘플링 단계를 수행함으로써 A 카테고리의 데이터에서 일부 데이터를 제거하고 B 카테고리에서 부족한 데이터를 새로 생성하여, 이에 따라 A 카테고리와 B 카테고리의 데이터의 비율을 균일하게 맞출 수 있다. In one embodiment, “resampling” may include generating new motion data or removing some of the existing motion data from previously obtained motion data. For example, if the data of category A has a large number of data and the data of category B is insufficient as a result of analyzing the acquired motion data, the resampling step is performed to remove some data from the category A data and lack the data in category B. By generating a new, it is possible to uniformly match the ratio of the data of the A category and B category.
또한 이와 같은 리샘플링을 위해, 우선 기존에 확보된 모션 데이터들을 신체의 자세 카테고리에 따라 분류(클러스터링)하는 단계가 선행될 수 있고, 그 후 각 클러스터(각각의 신체의 자세 카테고리)별로 설정된 모션 데이터량의 분배율에 따라 모션 데이터를 리샘플링할 수 있다. In addition, for such resampling, a step of first classifying (clustering) the previously acquired motion data according to the pose category of the body may be preceded, and then the amount of motion data set for each cluster (the pose category of each body). The motion data may be resampled according to the distribution ratio of.
한편, 일 실시예에서, 각 신체의 자세 카테고리에 할당된 모션 데이터량의 분배율은 모든 클러스터에 대해 동일한 값을 가지며, 이에 따라 전체 카테고리에 걸쳐 균일한 자세 데이터를 얻을 수 있다. 그러나 대안적 실시예에서, 카테고리별 데이터량의 분배율을 카테고리마다 다르게 설정할 수 있다. 예를 들어 본 발명에 따른 신체부위 인식 알고리즘이 특정 자세(예컨대 요가나 스트레칭)의 자세 인식 어플리케이션에 적용되는 경우 이 특정 자세의 카테고리에 더 많은 모션 데이터를 포함시키는 것이 자세 인식 정확도를 정확도를 높일 수 있다. 따라서 구체적 응용 분야에 따라 카테고리에 대한 분배율을 각기 다르게 설정함으로써 해당 응용 분야에 특화된 자세 인식 어플리케이션을 만들 수 있음을 이해할 것이다. On the other hand, in one embodiment, the distribution ratio of the amount of motion data allocated to the posture category of each body has the same value for all clusters, thereby obtaining uniform posture data over the entire category. However, in alternative embodiments, the distribution ratio of the data amount per category may be set differently for each category. For example, when the body part recognition algorithm according to the present invention is applied to a posture recognition application of a specific posture (such as yoga or stretching), including more motion data in the category of the specific posture can improve posture recognition accuracy. have. Therefore, it will be appreciated that by setting different distribution ratios for categories according to specific application fields, a posture recognition application specific to the application field can be created.
다시 도2를 참조하면, 단계(S10)에서 모션 데이터를 리샘플링한 이후, 단계(S20 및 S30)를 실행하여 신체부위 인식 알고리즘을 선행학습 시킨다. 즉 도1을 참조하여 설명한 바와 같이, 리샘플링에 의해 확보된 모션 데이터들로부터 학습용 깊이 영상(depth image)을 획득하고(단계 S20), 이 학습용 깊이 영상을 이용하여 신체부위 인식 알고리즘을 기계 학습한다(단계 S30). 그 후 이러한 기계학습된 신체부위 인식 알고리즘이 예컨대 키넥트(Kinect)와 같은 장치에 장착되고 사용될 때, 깊이 카메라로부터 실시간으로 사람의 깊이 영상을 수신하면, 이 깊이 영상에 학습된 신체부위 인식 알고리즘을 적용하여 신체의 3차원 자세를 예측하게 된다(단계 S40). Referring back to FIG. 2, after resampling the motion data in step S10, steps S20 and S30 are executed to pre-learn the body part recognition algorithm. That is, as described with reference to FIG. 1, a learning depth image is obtained from the motion data obtained by resampling (step S20), and the body part recognition algorithm is machine-learned using the learning depth image (step S20). Step S30). Then, when the machine-learned body part recognition algorithm is mounted and used in a device such as Kinect, for example, when a human depth image is received in real time from a depth camera, the body part recognition algorithm learned in this depth image is used. It is applied to predict the three-dimensional posture of the body (step S40).
이하에서 도3 내지 도6을 참조하여 리샘플링의 예시적인 방법을 상세히 설명하기로 한다. Hereinafter, an exemplary method of resampling will be described in detail with reference to FIGS. 3 to 6.
도3은 본 발명의 일 실시예에 따른 리샘플링 방법을 수행하는 예시적인 흐름도이다. 도3을 참조하면, 모션 데이터베이스(DB) 등을 통해 모션 데이터를 수집한 후, 단계(S110)에서 모션 데이터를 클러스터링한다. 즉 수집된 모션 데이터들을 신체의 자세 카테고리별로 클러스터링(분류)하고 이에 의해 유사한 신체 자세의 모션 데이터들끼리 클러스터별로 그룹화한다. 3 is an exemplary flowchart for performing a resampling method according to an embodiment of the present invention. Referring to FIG. 3, after collecting motion data through a motion database DB, the motion data is clustered in step S110. That is, the collected motion data are clustered (classified) by the body posture category, thereby grouping motion data of similar body postures by cluster.
일 실시예에서 이 때의 "모션 데이터"는 사람의 자세를 수학적으로 정의하는 데이터일 수 있다. 예를 들어 사람의 자세를 20개의 관절 및 각 관절마다 x, y, z의 3개 축으로 모델링하는 경우 60 차원의 값으로 사람의 자세를 표현할 수 있다. 그리고 "유사한 신체 자세"의 모션 데이터들끼리 클러스터링하는 것은, 예컨대 소정 개수 이하의 관절의 움직임이 서로 다른 동작 또는 움직임의 연속성에 있는 동작 등을 하나의 클러스터로 분류하는 것을 의미할 수 있다. In one embodiment, the "motion data" at this time may be data that mathematically defines a posture of a person. For example, when a human posture is modeled with 20 joints and three axes of x, y, and z for each joint, the posture of the human can be expressed with a value of 60 dimensions. The clustering of motion data of "similar body postures" may mean, for example, classifying motions of a predetermined number or less of joints in different motions or continuities of motions into one cluster.
데이터를 클러스터링하는 다수의 방법이 공지되어 있으며, 본 발명의 일 실시예는 응집 계층 클러스터링(agglomerative hierarchical clustering) 알고리즘을 사용할 수 있다. 이 알고리즘에 따르면 각 모션 데이터는 최초에 단일 클러스터를 형성하고 그 후 클러스터의 쌍(pair)들이 점차 병합하면서 클러스터의 계층(hierarchy of clusters)을 만들게 된다. 클러스터의 쌍들은 최대-거리(max-distance: 두 개의 클러스터의 구성원 간의 거리들 중 가장 긴 거리)에 의해 정렬하고, 가장 작은 값의 최대-거리를 갖는 두 개의 클러스터들이 병합 가능성을 위해 우선적으로 분석된다. 만일 이들의 최소-거리(클러스터 구성원 간의 거리들 중 가장 짧은 거리)가 기설정된 임계값 보다 작고 이들의 고유 차원(intrinsic dimension)이 최대 임계값을 초과하여 증가하지 않는 경우, 이들의 병합이 이루어진다. Many methods for clustering data are known, and one embodiment of the present invention may employ an agglomerative hierarchical clustering algorithm. According to this algorithm, each motion data initially forms a single cluster, and then pairs of clusters gradually merge to form a hierarchy of clusters. Pairs of clusters are sorted by max-distance (the longest of the distances between members of two clusters), and two clusters with the smallest maximum-distance are analyzed first for possible merging do. If their minimum-distance (the shortest of the distances between cluster members) is less than the predetermined threshold and their intrinsic dimension does not increase beyond the maximum threshold, their merging is made.
이와 같이 단계(S110)에서 임의의 클러스터링 방법을 통해 모션 데이터들을 클러스터링한 후, 단계(S120)에서 각 클러스터에 대해 모션 데이터들을 신체 자세의 저차원 공간으로 투영(project)한다. 여기서 "저차원 공간"은 사람의 자세를 표현하는 차원 공간(예컨대 60차원 공간) 보다 작은 수의 차원 공간을 의미하며 예컨대 2차원 또는 3차원이 될 수 있다. 즉 이 투영 단계(S120)에서는 고차원 공간에서 표현되는 모션 데이터에 차원감소를 적용할 수 있는 좌표공간으로의 변환을 수행한다. 이에 의해, 해당 데이터를 표현하는데 필요한 차원만을 선택하여, 저차원 공간에서 모션 데이터를 보다 쉽게 표현하고 리샘플링할 수 있다. As such, after clustering the motion data through an arbitrary clustering method in step S110, the motion data is projected into the low dimensional space of the body posture in step S120 for each cluster. Herein, the "low dimensional space" means a smaller number of dimensional spaces than the dimensional space (for example, 60 dimensional space) representing a human posture, and may be, for example, two or three dimensional spaces. That is, in the projection step S120, the transformation is performed to the coordinate space where dimensional reduction can be applied to the motion data expressed in the high dimensional space. As a result, by selecting only the dimensions necessary to represent the data, it is possible to more easily represent and resample the motion data in a low dimensional space.
고차원 공간을 저차원 공간으로 투영하여 데이터를 표현하는 차원의 수를 줄이는 방법도 공지되어 있다. 본 발명의 일 실시예에서는 주성분 분석법(PCA: Principle Component Analysis)을 사용할 수 있다. 이 분석법은 다차원의 좌표계에서 정의되는 데이터들을 주성분(principle component)이라 불리는 둘 이상의 서로 직교하는 벡터들의 새로운 좌표계로 변환하는 것으로, 예컨대 2차원 좌표계로 변환하는 경우 데이터들의 가장 큰 분산(variance)이 제1 주성분 좌표에 놓이고 두번째로 큰 분산이 제2 주성분 좌표예 놓이도록 주성분 좌표를 각각 선택하게 된다. It is also known to reduce the number of dimensions representing data by projecting the high dimensional space into the low dimensional space. In an embodiment of the present invention, a principal component analysis (PCA) may be used. This method transforms data defined in a multidimensional coordinate system into a new coordinate system of two or more mutually orthogonal vectors called principal components. For example, when transforming into a two-dimensional coordinate system, the largest variance of the data is zero. The principal component coordinates are respectively selected such that they lie in one principal component coordinate and the second largest variance is in the second principal component coordinate example.
대안적 실시예로, 주성분 분석법(PCA) 외의 다른 방법이 사용하여 고차원 공간에서 차원의 수를 줄일 수 있다. 예를 들어, 선형판별 분석(LDA: Linear Discrimination Analysis), 정준상관분석(CCA: Canonical Correlation Analysis) 등을 사용할 수 있으며 본 발명은 어느 특정 방법에 제한되지 않는다. Alternatively, methods other than principal component analysis (PCA) can be used to reduce the number of dimensions in high dimensional space. For example, Linear Discrimination Analysis (LDA), Canonical Correlation Analysis (CCA), or the like may be used, and the present invention is not limited to any particular method.
이와 관련하여 도4는 임의의 하나의 클러스터에 속하는 모션 데이터들을 2차원 공간으로 투영하는 경우를 예로서 설명하고 있다. 4 illustrates a case of projecting motion data belonging to any one cluster into a two-dimensional space as an example.
도4에서 가로축은 예컨대 제1 주성분의 좌표축이고 세로축은 제2 주성분의 좌표축을 의미하고 각각의 점은 모션 데이터이다. 즉 고차원으로 정의되는 모션 데이터가 2차원 평면상에 투영된 것이다. In Fig. 4, the horizontal axis represents, for example, the coordinate axis of the first principal component, and the vertical axis represents the coordinate axis of the second principal component, and each point is motion data. That is, motion data defined in high dimensions is projected on a two-dimensional plane.
이러한 투영 단계(S120)는 각각의 클러스터별로 수행되며, 투영 단계(S120)의 결과로서 선택되는 주성분 좌표들은 모든 클러스터에 대해 동일할 수도 있지만 클러스터마다 서로 상이할 수도 있음을 이해할 것이다. 또한 도4는 투영 단계(S120)를 통해 고차원 공간을 2차원 공간으로 변환하는 것을 예시하였지만 대안적인 실시예에서는 예컨대 3차원 또는 4차원 공간으로 모션 데이터를 변환할 수도 있다. This projection step S120 is performed for each cluster, and it will be appreciated that the principal component coordinates selected as a result of the projection step S120 may be the same for all clusters but may differ from cluster to cluster. In addition, although FIG. 4 illustrates the conversion of the high-dimensional space into the two-dimensional space through the projection step S120, the alternative embodiment may convert the motion data into, for example, the three-dimensional or four-dimensional space.
다시 도3을 참조하면, 투영 단계(S120) 후에 각 클러스터에 대해 저차원 공간을 셀의 격자로 층화(stratification)하는 단계(S130)가 수행된다. Referring back to FIG. 3, after the projection step S120, a step S130 of stratifying a low dimensional space into a grid of cells is performed for each cluster.
도4를 참조하면, 도시된 실시예에서 "셀(cell)"은 한 변의 길이가 r인 정사각형을 나타내고, 일반적으로 n차원 공간으로 확장하면, 한 변의 길이가 r인 하이퍼큐브(hypercube)를 의미한다. 한 변의 길이(r)는 임의의 값이 될 수 있으며, 일 실시예에서 r = k·r0 로 정의할 수도 있다. Referring to FIG. 4, in the illustrated embodiment, "cell" represents a square whose length is r, and in general, when extended to n-dimensional space, it means a hypercube whose length is r. do. The length r of one side may be any value and may be defined as r = k · r 0 in one embodiment.
여기서 r0는 변환된 저차원(도4의 실시예에서는 2차원) 공간에 분포된 모션 데이터들 중 가장 가까운 데이터들간의 평균 거리를 의미하고 k는 계수이다. 셀의 크기, 즉 한 변의 길이(r)는 리샘플링에 의해 최종적으로 만들어지는 모션 데이터들의 밀집도(density)에 관련된다. 길이(r)가 작으면 더 밀집된 모션 데이터들을 생성할 수 있다. 길이(r)를 변경하는 실시예에 대해서는 도7 및 도8을 참조하여 후술하기로 한다. Here, r 0 denotes an average distance between the nearest data among the motion data distributed in the transformed low-dimensional (two-dimensional embodiment in FIG. 4) space, and k is a coefficient. The size of the cell, i.e. the length r of one side, is related to the density of motion data finally produced by resampling. If the length r is small, more dense motion data may be generated. An embodiment of changing the length r will be described later with reference to FIGS. 7 and 8.
한편 도4에 표시한 바와 같이 임의의 모션 데이터를 중심으로 이 데이터에 인접한 n차원의 셀의 격자들의 집합을 "이웃 셀"(neighborhood cells)(Nd)이라 정의하기로 한다. 예컨대 도4와 같은 2차원 공간에서, 임의의 모션 데이터(즉 도4에 표시된 임의의 하나의 점)의 이웃 셀(Nd)은 이 모션 데이터를 둘러싸는 3x3 격자이다. 만일 모션 데이터가 3차원 공간에 표시되는 경우라면, 임의의 모션 데이터에 대한 이웃 셀(Nd)은 이 모션 데이터를 둘러싸는 3x3x3 (=33) 격자가 됨을 이해할 것이다. 이와 같이 이웃 셀을 정의하는 이유는, 변환된 저차원 공간(도4의 경우 2차원 공간)의 무한한 수의 모든 셀에서 모션 데이터를 생성하는 것이 적절하지 않기 때문에, 저차원 공간에서 모션 데이터를 생성할 공간적 범위를 설정하기 위한 것이다. 본 발명의 일 실시예에서는 기존의 획득된 모션 데이터(즉, 저차원으로 투영된 모션 데이터)에 이웃하는 셀들, 즉 이웃 셀(Nd)에 대해서까지만 모션 데이터를 생성하기로 한다. On the other hand, as shown in Fig. 4, a set of grids of n-dimensional cells adjacent to the data centered on arbitrary motion data will be defined as "neighborhood cells" (Nd). For example, in a two-dimensional space such as FIG. 4, the neighbor cell Nd of any motion data (i.e., any one point shown in FIG. 4) is a 3x3 grid surrounding this motion data. If the motion data is displayed in three-dimensional space, it will be appreciated that the neighbor cell Nd for any motion data is a 3x3x3 (= 3 3 ) lattice surrounding this motion data. The reason for defining neighboring cells in this way is that it is not appropriate to generate motion data in an infinite number of all cells in the transformed low-dimensional space (two-dimensional space in FIG. 4), so that motion data is generated in the low-dimensional space. This is to set the spatial extent to do. In an embodiment of the present invention, motion data is generated only for cells neighboring existing acquired motion data (ie, motion data projected in a low dimension), that is, neighboring cells Nd.
그러므로 이웃 셀(Nd)의 크기는 리샘플링에 의해 최종적으로 만들어지는 모션 데이터들의 범위와 자세의 다양성에 관련된다. 예컨대 임의의 모션 데이터에 대한 이웃 셀(Nd)을 이 모션 데이터를 두 셀 이내에서 둘러싸는 셀들, 즉 5x5 격자로 정의할 수도 있으며, 이 경우 3x3 격자인 실시예에 비해 리샘플링에 의해 생성되는 모션 데이터의 공간 범위가 더 넓어지기 때문에 생성되는 모션 데이터의 개수도 증가하고 신체의 자세의 다양성도 증가하게 된다. 이웃 셀(Nd)의 크기를 변경하는 실시예에 대해서는 도9 및 도10을 참조하여 후술하기로 한다. Therefore, the size of the neighbor cell Nd is related to the diversity of the range and attitude of the motion data finally produced by resampling. For example, the neighbor cell Nd for any motion data may be defined as cells surrounding the motion data within two cells, that is, a 5x5 grid, in which case the motion data generated by resampling as compared to the 3x3 grid embodiment. As the spatial range of the sensor becomes wider, the number of motion data generated increases and the variety of body postures increases. An embodiment of changing the size of the neighbor cell Nd will be described later with reference to FIGS. 9 and 10.
이상과 같이 단계(S130)에서 셀의 크기 및 이웃 셀(Nd)의 크기에 따라 층화를 수행하면 도5와 같이 된다. 도5는 이웃 셀(Nd)을 3x3 격자 크기로 설정한 경우 모션 데이터가 2차원 공간에 투영된 모습을 예시하고 있다. As described above, when layering is performed according to the size of the cell and the size of the neighboring cell Nd in step S130, the result is as shown in FIG. 5. 5 illustrates a case in which the motion data is projected in the two-dimensional space when the neighbor cell Nd is set to a 3x3 grid size.
다시 도3을 참조하면, 층화 단계(S130) 후에, 단계(S140,S150)에서 각 클러스터별로 기존의 모션 데이터 중 일부를 삭제하거나 기존의 모션 데이터에 기초하여 새로운 모션 데이터를 생성한다. Referring back to FIG. 3, after the stratification step S130, some of the existing motion data is deleted for each cluster in steps S140 and S150 or new motion data is generated based on the existing motion data.
구체적으로, 단계(S140)에서 각 셀 내에 중복되거나 유사한 모션 데이터를 삭제할 수 있다. 즉 하나의 셀 내에 복수개의 모션 데이터들이 존재하는 경우, 이 복수개의 모션 데이터들 중 소정 개수를 제외한 나머지 모션 데이터를 삭제한다. 바람직하게는, 각 셀마다 복수개의 모션 데이터들 중 하나의 모션 데이터만 남기고 나머지는 모두 삭제한다. 각 셀 내에서 삭제하지 않을 모션 데이터를 선택하는 기준은 특별히 한정되지 않는다. 하나의 셀 내에 속한 모션 데이터들은 신체의 자세가 거의 동일하거나 매우 유사하기 때문에, 예컨대 일 실시예에서 각 셀 내에서 랜덤하게 하나만 선택하여 남기고 나머지 데이터를 삭제할 수도 있다. In detail, in operation S140, duplicate or similar motion data may be deleted in each cell. That is, when a plurality of motion data exist in one cell, the remaining motion data except for a predetermined number of the plurality of motion data is deleted. Preferably, only one motion data of the plurality of motion data is left for each cell, and the rest are deleted. The criteria for selecting motion data not to be deleted in each cell is not particularly limited. Since motion data belonging to one cell are almost the same or very similar to each other, for example, in one embodiment, only one data may be randomly selected within each cell and the remaining data may be deleted.
그 후 단계(S150)에서, 입력 비율(fill ratio)에 따라 기존 모션 데이터 중 일부를 삭제하고 새로운 모션 데이터를 생성한다. 여기서 입력 비율(f)은 다음 식으로 정의된다.Thereafter, in step S150, some of the existing motion data is deleted and new motion data is generated according to the fill ratio. Here, the input ratio f is defined by the following equation.
f = (실제로 모션 데이터를 갖는 셀의 수) / (모션 데이터를 가질 수 있는 전체 셀의 수)f = (the number of cells that actually have motion data) / (the total number of cells that can have motion data)
입력 비율(f)은 0보다 크고 1 이하인 값을 가지며, 입력 비율(f)이 1인 경우 전체 셀에 하나씩 모션 데이터가 채워지는 것을 의미하고, 입력 비율(f)이 0.5이면 전체 셀 중 절반의 셀에만 하나씩 모션 데이터가 채워지는 것을 의미한다. The input ratio f has a value greater than 0 and less than or equal to 1, and when the input ratio f is 1, it means that the motion data is filled one by one in all cells. When the input ratio f is 0.5, half of all cells are input. This means that only one cell is filled with motion data.
그리고 이 단계에서의 새로운 모션 데이터의 생성은 기존에 획득된 모션 데이터(즉 저차원으로 투영된 모션 데이터)를 포함하는 셀의 이웃 셀(Nd)에 대해 수행된다. 즉 (점으로 표시한) 기존의 모션 데이터가 존재하는 셀은 이미 모션 데이터를 하나씩 포함하고 있으므로 새로운 모션 데이터를 생성할 필요가 없고, 단계(S150)에서는 이 점이 있는 셀의 이웃 셀(Nd)에 대해 모든 셀마다 셀 내에 하나씩 모션 데이터를 생성한다. The generation of the new motion data in this step is performed on the neighboring cell Nd of the cell including the previously acquired motion data (ie, the motion data projected in the lower dimension). That is, since the existing motion data (indicated by the dots) existing cells already contain the motion data one by one, there is no need to generate new motion data, and in step S150, the neighboring cell Nd of the cell in which the point exists is present. For each cell, one motion data is generated in each cell.
이상과 같이 단계(S140 및 S150)에서 모션 데이터의 삭제 및 생성을 수행하면 도6과 같이 나타낼 수 있다. 도6은 도5의 2차원 공간에서 입력 비율(f)이 1인 경우 각 셀에 모션 데이터가 하나씩 채워진 모습을 예시하고 있다. 도6에서 점은 기존의 획득된 모션 데이터(즉, 저차원으로 투영된 모션 데이터)를 의미하며, 도5의 상태에서 각 셀마다 하나씩만 남기고 나머지를 삭제하는 단계(S140)를 수행함으로써, 도6에서와 같이 점은 하나의 셀에 하나씩만 남겨지게 되었다. 그리고 도6에서 "x" 표시는 단계(S150)에 의해 이웃 셀(Nd)에 생성된 새로운 모션 데이터이다. 이에 따라 결과적으로 모든 셀의 각각이 점 또는 x 표시를 하나씩 포함하게 되며, 모든 셀의 각각이 모션 데이터를 하나씩 갖게 된다. 이와 같이 본 발명의 리샘플링 방법을 실행함으로써, 기존에 획득된 모션 데이터(즉 점들)만 사용하던 종래 방법에 비해 훨씬 다양하고 균일한 분포의 모션 데이터들을 확보할 수 있다. 즉 도5가 본 발명에 따른 리샘플링을 하지 않은 종래 방식의 모션 데이터의 분포를 나타내는 것인 반면, 도6은 한 공간에 중복되는 모션 데이터를 삭제하고 비어있는 공간에는 새로운 모션 데이터를 생성하는 리샘플링을 수행한 후의 모습을 나타내며, 전체적으로 균일하고 다양한 모션 데이터 분포가 만들어졌음을 알 수 있다. As described above, when the deletion and generation of the motion data are performed in steps S140 and S150, it may be represented as shown in FIG. FIG. 6 illustrates an example in which motion data is filled in one cell when the input ratio f is 1 in the two-dimensional space of FIG. 5. In FIG. 6, points represent existing acquired motion data (that is, motion data projected in a low dimension), and in the state of FIG. 5, only one for each cell is left and the rest is deleted (S140). As in 6, only one point is left in a cell. In FIG. 6, the "x" is new motion data generated in the neighbor cell Nd by step S150. As a result, each cell contains one dot or x mark, and each cell has one motion data. As described above, by executing the resampling method of the present invention, it is possible to obtain motion data having a much more diverse and uniform distribution than the conventional method using only the previously acquired motion data (that is, points). That is, while FIG. 5 shows the distribution of motion data of the conventional method without resampling according to the present invention, FIG. 6 shows resampling that deletes motion data overlapping one space and generates new motion data in an empty space. It shows the state after the execution, and it can be seen that a uniform and various motion data distribution is made as a whole.
이하에서 도7 내지 도11을 참조하여 리샘플링 단계의 대안적인 실시예에 대해 설명하기로 한다. Hereinafter, an alternative embodiment of the resampling step will be described with reference to FIGS. 7 to 11.
도7은 제1 대안적인 실시예에 따라 모션 데이터가 2차원 공간에 투영되고 셀의 격자로 층화된 단계(S120 및 S130)가 실행된 후의 모습을 나타내는 도면이다. 도7을 도5와 비교하면, 모션 데이터 자체의 분포는 동일하지만 셀의 한 변의 길이(r)가 다름을 알 수 있다. 즉 도7의 대안적 실시예는 도5에 비해 길이(r)를 증가시켜 셀의 크기를 크게 한 경우의 실시예이다. FIG. 7 is a diagram showing a state after motion data is projected in a two-dimensional space and stratified into a grid of cells in accordance with a first alternative embodiment (S120 and S130). Comparing FIG. 7 with FIG. 5, it can be seen that the distribution of motion data itself is the same, but the length r of one side of the cell is different. That is, the alternative embodiment of FIG. 7 is an embodiment in which the size of the cell is increased by increasing the length r compared to FIG. 5.
도8은 모션 데이터의 생성 및 삭제 단계(S140 및 S150)에 의해 도7의 2차원 공간의 각 셀에 모션 데이터가 균일하게 분포된 모습을 나타낸다. 도8에서 점은 기존의 획득된 모션 데이터(즉, 저차원으로 투영된 모션 데이터)를 의미하는데, 도7의 상태에서 단계(S140)를 수행함으로써, 모션 데이터가 하나의 셀에 하나씩만 남겨지게 되었다. 도8에서 "x" 표시는 단계(S150)에 의해 이웃 셀(Nd)에 생성된 새로운 모션 데이터이다. 이와 같이 단계(S140 및 S150)의 실행에 의해 모든 셀에 대해 하나씩 모션 데이터가 존재하게 되었다. 그리고 도8을 도6과 비교하면, 도6에 비해 셀의 크기가 커졌으므로 모션 데이터의 분포 밀도가 도6에 비해 작아졌음을 알 수 있다. FIG. 8 illustrates a state in which motion data is uniformly distributed in each cell of the two-dimensional space of FIG. 7 by the generation and deletion steps S140 and S150 of the motion data. In FIG. 8, a dot means existing acquired motion data (ie, motion data projected in a low dimension). By performing step S140 in the state of FIG. 7, only one motion data is left in one cell. It became. In FIG. 8, the "x" is new motion data generated in the neighbor cell Nd by step S150. In this manner, the execution of steps S140 and S150 results in motion data one for every cell. In comparison with FIG. 6, it can be seen that since the cell size is larger than that of FIG. 6, the distribution density of motion data is smaller than that of FIG. 6.
도9는 제2 대안적인 실시예에 따라 모션 데이터가 2차원 공간에 투영되고 셀의 격자로 층화되는 단계(S120 및 S130)가 실행된 후의 모습이다. 도9를 도5와 비교하면, 모션 데이터 자체의 분포는 동일하지만 셀의 한 변의 길이(r)가 도5에 비해 절반으로 줄었고 이웃 셀(Nd)의 크기가 5x5 격자로 설정되었음을 알 수 있다. Fig. 9 is a view after steps S120 and S130 are executed in which motion data is projected in a two-dimensional space and stratified into a grid of cells according to a second alternative embodiment. Comparing FIG. 9 with FIG. 5, it can be seen that the motion data itself has the same distribution, but the length r of one side of the cell is cut in half compared to FIG. 5 and the size of the neighboring cell Nd is set to a 5 × 5 grid.
도10은 도9의 2차원 공간의 각 셀에 모션 데이터의 생성 및 삭제 단계(S140 및 S150)가 실행된 후의 모습을 나타낸다. 이 실시예에서 입력 비율(f)은 1이라고 가정한다. 기존 모션 데이터가 중복되어 있는 셀에서는 하나의 데이터만 남기고 나머지는 삭제되었고 모션 데이터가 존재하지 않았던 셀에는 모션 데이터가 하나씩 생성되어, 결과적으로 모든 셀마다 하나씩의 모션 데이터가 존재하게 되었다. 그리고 도10을 도6과 비교하면, 도6에 비해 셀의 크기가 작아졌으므로 모션 데이터의 분포 밀도가 도6에 비해 커졌음을 알 수 있다. FIG. 10 shows how the motion data generation and deletion steps S140 and S150 are executed in each cell of the two-dimensional space of FIG. In this embodiment, it is assumed that the input ratio f is one. In the cells where the existing motion data is overlapped, only one data is left and the rest is deleted, and one motion data is generated in a cell in which no motion data exists. As a result, one motion data exists in every cell. In comparison with FIG. 6, it can be seen that since the cell size is smaller than that in FIG. 6, the distribution density of the motion data is larger than that in FIG. 6.
도11a 및 도11b는 도9의 2차원 공간의 전체 셀의 75% 및 50%의 셀에 모션 데이터가 생성되는 단계를 각각 설명하기 위한 도면이다. 도11a는 입력 비율(f)을 0.75로 설정하고 모션 데이터를 리샘플링한 경우로서, 전체 셀 중에서 3/4의 셀에만 모션 데이터가 하나씩 존재하게 된다. 도11b는 입력 비율(f)을 0.5로 설정하고 모션 데이터를 리샘플링하였고 전체 셀 중에서 절반의 셀에만 모션 데이터가 하나씩 존재하게 되었다. 11A and 11B are diagrams for explaining the steps of generating motion data in 75% and 50% of the cells in the two-dimensional space of FIG. 9, respectively. FIG. 11A illustrates a case in which the input data f is set to 0.75 and resampled the motion data, in which motion data exists only in three quarters of the cells. 11B shows that the input ratio f is set to 0.5 and resampled the motion data so that only one half of the cells have motion data.
이제 다시 도3을 참조하면, 전체 모션 데이터에서 중복되는 모션 데이터를 삭제하는 단계(S160)를 더 추가할 수 있다. 지금까지 상술한 단계(S120 내지 S150)는 각 클러스터마다 개별적으로 수행되는 단계이다. 즉 각 클러스터마다 이 클러스터에 속하는 모션 데이터를 저차원 공간으로 투영한 뒤 중복되는 데이터를 삭제하고 비어있는 셀에는 데이터를 생성함으로써 각 클러스터마다 균일하게 분포하는 모션 데이터들을 얻을 수 있다. 그러나 모션 데이터들이 클러스터 내에서는 중복되지 않고 균일하게 분포하지만 다른 클러스터 내의 모션 데이터와 중복될 가능성이 존재한다. 따라서 단계(S160)에서, 전체 모션 데이터들 중에서 중복되는 모션 데이터가 있으면 이를 삭제한다. Referring now to FIG. 3 again, step S160 of deleting overlapping motion data from the entire motion data may be further added. The steps S120 to S150 described above are the steps performed individually for each cluster. In other words, motion data belonging to this cluster is projected to a low dimensional space for each cluster, and duplicate data is deleted, and data is generated in empty cells to obtain motion data uniformly distributed for each cluster. However, although motion data are uniformly distributed without overlapping in a cluster, there is a possibility of overlapping with motion data in another cluster. Therefore, in step S160, if there is overlapping motion data among the entire motion data, it is deleted.
이제 본 발명의 일 실시예에 따른 효과를 도12 및 도13을 참조하여 설명한다. 우선 본 발명의 실험결과를 분석하기 위해 사람의 자세를 도12에서와 같이 3가지 타입으로 분류하였다. 이 분류는 실험 결과의 분석을 위한 것이고, 리샘플링을 수행하기 위해 사람 자세의 카테고리를 클러스터링하는 분류와 동일하지 않을 수 있다. Now, effects according to one embodiment of the present invention will be described with reference to FIGS. 12 and 13. First, in order to analyze the experimental results of the present invention, the human posture is classified into three types as shown in FIG. This classification is for the analysis of experimental results and may not be the same as the classification that clusters the categories of human posture to perform resampling.
도12를 참조하면, 타입I은 앉아있거나 쪼그리고 앉은 자세(Sit and Squat)를 포함한다. 구체적으로, 이 타입은 지면으로부터의 골반의 높이가 똑바로 서 있을 때의 무릎의 높이보다 낮은 자세, 또는 발을 제외한 신체 부위가 지면과 접촉하고 있는 자세를 포함한다. Referring to FIG. 12, Type I includes sit and squat positions. Specifically, this type includes a posture lower than the height of the knee when the height of the pelvis from the ground is standing up, or a posture in which body parts except the foot are in contact with the ground.
타입II는 곡예하듯 서있는 자세(Acrobatic Stand)를 포함한다. 구체적으로, 이 타입은 상체가 수직축에 대해 45도 이상 기울어져 있는 자세, 또는 무릎이나 발이 골반 높이보다 높은 자세, 또는 상체의 임의의 부분이 하체 부분과 접촉하는 자세(예컨대 손을 무릎에 대고 있는 자세)를 포함한다. 일반적으로 똑바로 서 있는 자세가 자세 인식에 가장 쉽지만 이 타입은 서 있는 자세이면서도 판별이 어려운 자세에 해당한다. Type II includes an acrobatic stand. Specifically, this type is a position in which the upper body is inclined at least 45 degrees with respect to the vertical axis, or the knee or foot is higher than the pelvis height, or any part of the upper body is in contact with the lower body part (for example, the hand is placed on the knee). Posture). In general, standing posture is easiest to recognize posture, but this type corresponds to standing posture and difficult posture.
타입III는 똑바로 서있는 자세(Upright Stand)를 포함한다. 이 타입은 타입I 및 타입II를 제외한 모든 자세를 포함하며 예를 들어 발을 지면에 대고 똑바로 서 있으면서 상체와 하체 사이에 아무런 접촉이 없는 자세를 포함한다. 타입III는 타입I과 타입II에 비해 상대적으로 판별하기가 가장 쉽다. Type III includes an Upright Stand. This type includes all postures except Type I and Type II and includes, for example, a standing posture with the feet on the ground and no contact between the upper body and the lower body. Type III is easiest to distinguish relative to Type I and Type II.
도13은 본 발명의 일 실시예에 따른 효과를 설명하기 위한 도표이다. 표의 좌측열에 명시하였듯이, 실험을 위해 7가지의 학습용 데이터 세트(즉 타입I, 타입II, 타입III의 각각에 대한 세트; 세가지 타입 중 임의의 두 개의 조합인 세트; 및 세가지 타입 모두를 포함하는 데이터 세트)를 각각 사용하여 신체부위 인식 알고리즘을 기계학습을 하였다. 모든 데이터 세트들은 거의 동일한 데이터 크기(각 세트당 대략 10,000 프레임)를 갖도록 균일하게 리샘플링을 하였고, 그 후 도2에 도시한 것처럼 테스트 깊이 영상을 학습된 신체부위 알고리즘에 입력하여 신체의 각 부위를 예측하도록 하였다. 13 is a diagram for explaining an effect according to an embodiment of the present invention. As indicated in the left column of the table, the data includes seven training data sets (ie, a set for each of Type I, Type II, and Type III; a set of any two combinations of the three types) and all three types for the experiment. Machine learning algorithm using body part recognition algorithm. All data sets were uniformly resampled to have approximately the same data size (approximately 10,000 frames per set), and then input a test depth image into the trained body part algorithm as shown in FIG. 2 to predict each part of the body. It was.
도13의 결과값들에서 괄호가 없는 값은 신체 자세를 정확히 예측한 비율(true positive)로서, 참(true)으로 판정된 관절의 수와 전체 관절의 수의 비(ratio)를 나타낸다. 예측된 관절이 실제 관절 위치와 정확히 일치하거나 이로부터 10cm 이내에 있을 경우 참(true)이라고 판정한다. The values without the parentheses in the results of FIG. 13 are true positive predictions of body posture, and represent the ratio of the number of joints determined to true and the number of total joints. It is determined to be true if the predicted joint is exactly within or within 10 cm of the actual joint position.
도13에서 괄호안의 값은 긍정 오류(false positive)로서, 예측된 관절 위치가 실제 위치로부터 10cm 이상 떨어진 경우를 나타낸다. 그리고 도13의 가장 아래 행은 본 발명과의 비교를 위해 기존의 키넥트 장치를 사용한 실험 결과를 나타낸다. In Fig. 13, the value in parentheses is a false positive, indicating the case where the predicted joint position is 10 cm or more away from the actual position. And the bottom row of Figure 13 shows the results of experiments using the existing Kinect device for comparison with the present invention.
도13의 표에서 알 수 있듯이 3가지 타입에 대한 임의의 조합의 데이터 세트(즉, "Type I & Type II" 세트, "Type I & Type III" 세트, 및 "Type II & Type III" 세트))에 대해 실험결과는 일관성을 보여주고 있다. 예를 들어, 타입I과 타입II 학습용 데이터의 조합은 타입I이나 타입II에 속하는 자세를 테스트할 때 좋은 성능을 보여주고 있으나 타입III의 속하는 자세에 대해서는 다소 낮은 성능을 나타내었다. 그리고 타입을 조합한 경우의 전반적인 성능이 단일 타입 데이터 세트만 이용한 경우에 비해 더 좋은 결과는 나타내고 있다. 그러나 타입I에 속하는 자세를 테스트할 때에는 타입I의 데이터 세트만 사용하는 경우가 다른 조합의 경우에 비해 더 좋은 성능을 나타내고 있다. 즉 어느 특정 자세만 예측하기 위한 용도라면 그 특정 자세에 대한 데이터만 사용하여 기계학습을 시키는 경우가 더 좋은 결과를 나타낼 수 있음을 의미한다. As can be seen from the table of Figure 13, any combination of data sets for the three types (i.e., "Type I & Type II" set, "Type I & Type III" set, and "Type II & Type III" set) ) Shows consistent results. For example, the combination of Type I and Type II learning data shows good performance when testing the postures belonging to Type I or Type II, but the performance is somewhat lower for the postures of Type III. The overall performance of the combination of types is better than that of using only a single type data set. However, when testing a posture belonging to Type I, using only the Type I data set shows better performance than other combinations. In other words, if it is intended to predict only a certain posture, it means that the machine learning using only the data of the specific posture can yield better results.
또한 본 발명과 키넥트를 비교하면, 전반적인 성능에서 본 발명이 키넥트와 필적할만한 결과를 나타내고 있다. 특히 본 발명은 하체 인식에서 더 좋은 결과를 보여줌을 알 수 있다. In addition, comparing the present invention with Kinect shows that the present invention is comparable with Kinect in overall performance. In particular, it can be seen that the present invention shows better results in lower body recognition.
도14는 일 실시예에 따라 모션 데이터를 생성하는 예시적인 시스템 구성을 나타내는 블록도이다. 14 is a block diagram illustrating an example system configuration for generating motion data, according to one embodiment.
도14를 참조하면 일 실시예에 따른 모션 데이터 생성 장치(10)는 모션 데이터 베이스(20)와 통신하여 이로부터 모션 데이터를 획득할 수 있다. 도시되지 않았지만 모션 데이터 생성 장치(10)가 모션 캡쳐 시스템과 연결되어 이로부터 모션 데이터를 수신할 수도 있고 인터넷과 같은 네트워크를 통해 임의의 단말장치나 서버 등으로부터 모션 데이터를 수신할 수 있음은 물론이다. Referring to FIG. 14, the motion data generating apparatus 10 according to an embodiment may communicate with the motion database 20 to obtain motion data therefrom. Although not shown, the motion data generating apparatus 10 may be connected to the motion capture system and receive motion data therefrom, or may receive motion data from any terminal device or server through a network such as the Internet. .
도시된 실시예에서 모션 데이터 생성 장치(10)는 도2 및 도3을 참조하여 설명한 리샘플링 알고리즘을 수행할 수 있는 임의의 단말 장치나 서버일 수 있고, 도시한 것처럼 프로세서(110), 저장부(120), 및 메모리(130)를 포함할 수 있다. 이 구성에서 리샘플링 알고리즘은 저장부(120)에 저장되어 있다가 프로세서(110)의 제어 하에 메모리(130)에 로딩되어 실행될 수 있다. 또한 도13에 도시하지 않았지만 학습용 데이터를 이용하여 기계학습을 하는 신체부위 인식 알고리즘도 도13의 모션 데이터 생성 장치(10)에 포함될 수 있다. In the illustrated embodiment, the motion data generating apparatus 10 may be any terminal device or server capable of performing the resampling algorithm described with reference to FIGS. 2 and 3, and as illustrated, the processor 110 and the storage unit ( 120, and a memory 130. In this configuration, the resampling algorithm may be stored in the storage 120 and loaded and executed in the memory 130 under the control of the processor 110. Although not shown in FIG. 13, a body part recognition algorithm that performs machine learning using learning data may also be included in the motion data generating apparatus 10 of FIG. 13.
이상과 같이 본 발명의 일 실시예에 따른 모션 데이터 생성 방법을 적용하게 되면, 균일하지 않거나 적은 양의 모션 데이터베이스로부터 균일하고 다량의 모션 데이터를 생성할 수 있기 때문에, 균일하고 다량의 모션 데이터베이스를 확보하기 위한 시간과 노력을 절감하면서도 신체 자세의 예측 성능을 향상시킬 수 있다. As described above, if the motion data generation method according to an embodiment of the present invention is applied, a uniform and large amount of motion data can be generated from a non-uniform or small amount of motion database, thereby ensuring a uniform and large amount of motion database. You can improve the predictive performance of your body posture while saving time and effort.
상기와 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되지 않는다. 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 상술한 기재로부터 다양한 수정 및 변형이 가능함을 이해할 것이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.As described above, although the present invention has been described by way of limited embodiments and drawings, the present invention is not limited to the above embodiments. Those skilled in the art will understand that various modifications and variations are possible from the above description. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the claims below but also by the equivalents of the claims.

Claims (14)

  1. 모션 데이터 생성 방법에 있어서, In the motion data generation method,
    모션 데이터가 저장된 모션 데이터베이스(DB)로부터 제1 모션 데이터들을 획득하는 단계;Obtaining first motion data from a motion database (DB) in which the motion data is stored;
    제1 모션 데이터들을 신체의 자세 카테고리에 따라 클러스터링하는 단계; 및 Clustering the first motion data according to a body category of the body; And
    상기 클러스터링된 각 클러스터별로 설정된 모션 데이터량의 분배율에 따라, 각 클러스터별로 상기 제1 모션 데이터들을 리샘플링(resampling)하는 단계;를 포함하는 것을 특징으로 하는 모션 데이터 생성 방법.And resampling the first motion data for each cluster according to a distribution ratio of the amount of motion data set for each clustered cluster.
  2. 제 1 항에 있어서, The method of claim 1,
    상기 제1 모션 데이터들을 리샘플링하는 단계는, 상기 제1 모션 데이터들로부터 제2 모션 데이터들을 생성하는 단계를 포함하는 것을 특징으로 하는 모션 데이터 생성 방법. And resampling the first motion data comprises generating second motion data from the first motion data.
  3. 제 1 항에 있어서, The method of claim 1,
    상기 모션 데이터량의 분배율은 모든 클러스터에 대해 동일한 값을 갖는 것을 특징으로 하는 모션 데이터 생성 방법. The distribution ratio of the amount of motion data has the same value for all clusters.
  4. 제 1 항에 있어서, The method of claim 1,
    각 클러스터별로 상기 제1 모션 데이터들을 리샘플링하는 단계는, Resampling the first motion data for each cluster may include:
    상기 제1 모션 데이터들을 신체 자세의 저차원 공간으로 투영하는 단계;Projecting the first motion data into a low dimensional space of a body posture;
    상기 저차원 공간을 셀의 격자로 층화(stratification)하는 단계; 및Stratifying the low dimensional space into a grid of cells; And
    상기 제1 모션 데이터들 중 일부를 삭제하거나 제1 모션 데이터들에 기초하여 제2 모션 데이터들을 생성하는 단계;를 포함하는 것을 특징으로 하는 모션 데이터 생성 방법. Deleting some of the first motion data or generating second motion data based on the first motion data.
  5. 제 4 항에 있어서, The method of claim 4, wherein
    상기 셀은 각 차원마다 동일한 모서리의 길이(r)를 갖는 하이퍼큐브인 것을 특징으로 하는 모션 데이터 생성 방법. And wherein the cell is a hypercube having the same length of edge r in each dimension.
  6. 제 4 항에 있어서, The method of claim 4, wherein
    상기 제1 모션 데이터들 중 일부를 삭제하거나 제2 모션 데이터들을 생성하는 단계는,Deleting some of the first motion data or generating second motion data,
    하나의 셀 내에 복수개의 제1 모션 데이터들이 존재하는 경우, 이 복수개의 제1 모션 데이터들 중 소정 개수를 제외한 나머지 제1 모션 데이터를 삭제하는 단계; 및 Deleting a plurality of first motion data except for a predetermined number of the plurality of first motion data when there is a plurality of first motion data in one cell; And
    기설정된 입력 비율(f: fill ratio)에 따라, 제1 모션 데이터들 중 일부를 삭제하거나 제2 모션 데이터들을 생성하는 단계;를 포함하고,And deleting some of the first motion data or generating second motion data according to a preset fill ratio (f).
    상기 입력 비율(f)은 다음 식으로 정의되고,The input ratio f is defined by the following equation,
    f = (모션 데이터를 포함하는 셀의 수) / (저차원 공간 내의 전체 셀의 수)f = (number of cells containing motion data) / (number of total cells in low dimensional space)
    입력 비율(f)은 0보다 크고 1 이하인 값을 갖는 것을 특징으로 하는 모션 데이터 생성 방법. And the input ratio f has a value greater than zero and less than or equal to one.
  7. 제 4 항에 있어서, The method of claim 4, wherein
    각 클러스터별로 상기 제1 모션 데이터들을 리샘플링하는 단계 이후에, After resampling the first motion data for each cluster,
    전체 클러스터의 제1 모션 데이터들 및 제2 모션 데이터들 중에서 중복되는 모션 데이터를 삭제하는 단계;를 더 포함하는 것을 특징으로 하는 모션 데이터 생성 방법. And deleting the overlapping motion data among the first motion data and the second motion data of the entire cluster.
  8. 신체의 깊이 영상으로부터 신체의 3차원 자세를 예측하는 신체인식 방법에 있어서,In the body recognition method for predicting the three-dimensional posture of the body from the depth image of the body,
    제1항 내지 제7항 중 어느 한 항에 기재된 모션 데이터 생성 방법에 의해 생성된 모션 데이터들로부터 학습용 깊이 영상을 획득하는 단계; 및 Obtaining a learning depth image from the motion data generated by the motion data generating method according to any one of claims 1 to 7; And
    상기 학습용 깊이 영상을 이용하여 신체부위 인식 알고리즘을 기계 학습하는 단계;를 포함하는 것을 특징으로 하는 신체인식 방법. Machine learning a body part recognition algorithm using the learning depth image; body recognition method comprising a.
  9. 모션 데이터 생성 어플리케이션에 의해 모션 데이터를 생성하는 장치에 있어서, An apparatus for generating motion data by a motion data generation application,
    상기 장치는 프로세서 및 메모리를 포함하고,The apparatus includes a processor and a memory,
    상기 어플리케이션이 상기 프로세서의 제어에 의해 상기 메모리에 로딩되어 실행될 때, 상기 어플리케이션이, When the application is loaded into the memory and executed by the control of the processor, the application,
    모션 데이터가 저장된 모션 데이터베이스(DB)로부터 제1 모션 데이터들을 획득하는 기능; Obtaining first motion data from a motion database (DB) in which the motion data is stored;
    상기 제1 모션 데이터들을 신체의 자세 카테고리에 따라 클러스터링하는 기능; 및 Clustering the first motion data according to a posture category of a body; And
    상기 클러스터링된 각 클러스터별로 설정된 모션 데이터량의 분배율에 따라, 각 클러스터별로 상기 제1 모션 데이터들을 리샘플링(resampling)하는 기능;을 수행할 수 있는 것을 특징으로 하는 모션 데이터 생성 장치. And resampling the first motion data for each cluster according to a distribution ratio of the amount of motion data set for each clustered cluster.
  10. 제 9 항에 있어서, 각 클러스터별로 상기 제1 모션 데이터들을 리샘플링하는 기능은, The method of claim 9, wherein the function of resampling the first motion data for each cluster comprises:
    상기 제1 모션 데이터들을 신체 자세의 저차원 공간으로 투영하는 기능;Projecting the first motion data into a low dimensional space of a body posture;
    상기 저차원 공간을 셀의 격자로 층화(stratification)하는 기능; 및 Stratification of the low dimensional space into a grid of cells; And
    상기 제1 모션 데이터들 중 일부를 삭제하거나 제1 모션 데이터들에 기초하여 제2 모션 데이터들을 생성하는 기능;을 포함하는 것을 특징으로 하는 모션 데이터 생성 장치. And deleting a portion of the first motion data or generating second motion data based on the first motion data.
  11. 제 10 항에 있어서, The method of claim 10,
    상기 제1 모션 데이터들 중 일부를 삭제하거나 제2 모션 데이터들을 생성하는 기능은, Deleting some of the first motion data or generating second motion data,
    하나의 셀 내에 복수개의 제1 모션 데이터들이 존재하는 경우, 이 복수개의 제1 모션 데이터들 중 소정 개수를 제외한 나머지 제1 모션 데이터를 삭제하는 기능; 및 Deleting a plurality of first motion data except for a predetermined number of the plurality of first motion data when there are a plurality of first motion data in one cell; And
    기설정된 입력 비율(f: fill ratio)에 따라, 제1 모션 데이터들 중 일부를 삭제하거나 제2 모션 데이터들을 생성하는 기능;을 포함하는 것을 특징으로 하는 모션 데이터 생성 장치.And deleting some of the first motion data or generating second motion data according to a preset fill ratio (f: fill ratio).
  12. 제 9 항에 있어서, The method of claim 9,
    상기 어플리케이션이, 각 클러스터별로 상기 제1 모션 데이터들을 리샘플링하는 기능을 수행한 이후에, 전체 클러스터의 제1 모션 데이터들 및 제2 모션 데이터들 중에서 중복되는 모션 데이터를 기능을 수행할 수 있는 것을 특징으로 하는 모션 데이터 생성 장치. After the application performs the function of resampling the first motion data for each cluster, the application may perform the overlapped motion data among the first motion data and the second motion data of the entire cluster. Motion data generation device.
  13. 제 1 항 내지 제 7 항 중 어느 한 항에 기재된 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for executing the method according to any one of claims 1 to 7.
  14. 제 8 항에 기재된 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for executing the method of claim 8 on a computer.
PCT/KR2014/005198 2013-07-15 2014-06-13 Method and apparatus for generating motion data WO2015008937A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2013-0082810 2013-07-15
KR20130082810A KR101482419B1 (en) 2013-07-15 2013-07-15 Method and apparatus for generating motion data

Publications (1)

Publication Number Publication Date
WO2015008937A1 true WO2015008937A1 (en) 2015-01-22

Family

ID=52346353

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/005198 WO2015008937A1 (en) 2013-07-15 2014-06-13 Method and apparatus for generating motion data

Country Status (2)

Country Link
KR (1) KR101482419B1 (en)
WO (1) WO2015008937A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105006007A (en) * 2015-07-23 2015-10-28 北京理工大学 Data-driven action reconstruction method
CN113143256A (en) * 2021-01-28 2021-07-23 上海电气集团股份有限公司 Gait feature extraction method, lower limb assessment method, lower limb control method, device and medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102446923B1 (en) * 2020-11-24 2022-09-22 연세대학교 산학협력단 Apparatus and method for reducing human pose dataset using DBSCAN

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10171854A (en) * 1996-12-09 1998-06-26 Nec Corp Method for correcting operation and device therefor
KR100513090B1 (en) * 2003-12-12 2005-09-08 한국전자통신연구원 Apparatus and method for motion data processing
KR20100138615A (en) * 2009-06-25 2010-12-31 주식회사 스페이스일루젼 Searching method of motion-data and the search and creation system of motion-library
US20120056800A1 (en) * 2010-09-07 2012-03-08 Microsoft Corporation System for fast, probabilistic skeletal tracking
JP2013101526A (en) * 2011-11-09 2013-05-23 Sony Corp Information processing apparatus, display control method, and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10171854A (en) * 1996-12-09 1998-06-26 Nec Corp Method for correcting operation and device therefor
KR100513090B1 (en) * 2003-12-12 2005-09-08 한국전자통신연구원 Apparatus and method for motion data processing
KR20100138615A (en) * 2009-06-25 2010-12-31 주식회사 스페이스일루젼 Searching method of motion-data and the search and creation system of motion-library
US20120056800A1 (en) * 2010-09-07 2012-03-08 Microsoft Corporation System for fast, probabilistic skeletal tracking
JP2013101526A (en) * 2011-11-09 2013-05-23 Sony Corp Information processing apparatus, display control method, and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105006007A (en) * 2015-07-23 2015-10-28 北京理工大学 Data-driven action reconstruction method
CN105006007B (en) * 2015-07-23 2018-06-29 北京理工大学 A kind of action method for reconstructing of data-driven
CN113143256A (en) * 2021-01-28 2021-07-23 上海电气集团股份有限公司 Gait feature extraction method, lower limb assessment method, lower limb control method, device and medium
CN113143256B (en) * 2021-01-28 2023-09-26 上海电气集团股份有限公司 Gait feature extraction method, lower limb evaluation and control method, device and medium

Also Published As

Publication number Publication date
KR101482419B1 (en) 2015-01-16

Similar Documents

Publication Publication Date Title
CN104573706B (en) A kind of subject image recognition methods and its system
US11928800B2 (en) Image coordinate system transformation method and apparatus, device, and storage medium
CN102985933B (en) Distinguish real and flat surfaces
CN111652974B (en) Method, device, equipment and storage medium for constructing three-dimensional face model
US20160217326A1 (en) Fall detection device, fall detection method, fall detection camera and computer program
CN108304757A (en) Personal identification method and device
CN102317977A (en) Method and system for gesture recognition
WO2021218671A1 (en) Target tracking method and device, and storage medium and computer program
CN107545252A (en) Face identification method and device in video based on multi-pose Face model
WO2015008937A1 (en) Method and apparatus for generating motion data
CN110472460A (en) Face image processing process and device
WO2015182904A1 (en) Area of interest studying apparatus and method for detecting object of interest
WO2013025011A1 (en) Method and system for body tracking for recognizing gestures in a space
CN109313806A (en) Image processing apparatus, image processing system, image processing method and program
CN111325204A (en) Target detection method, target detection device, electronic equipment and storage medium
Boulay et al. Human posture recognition in video sequence
CN113111767A (en) Fall detection method based on deep learning 3D posture assessment
JPH11175534A (en) Method and device for retrieving image and retrieval service utilizing the same
WO2019216474A1 (en) Bin modeling method for bin picking, and apparatus therefor
CN109740527B (en) Image processing method in video frame
CN104978583B (en) The recognition methods of figure action and device
CN111523387A (en) Method and device for detecting hand key points and computer device
JP2009145061A (en) Position measuring equipment
CN115442519B (en) Video processing method, apparatus and computer readable storage medium
JP2019153309A (en) Image processing device, bin picking system, image processing method, and image processing program

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: 14825744

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14825744

Country of ref document: EP

Kind code of ref document: A1