KR102310757B1 - Method for generating human motion using sequential networks and apparatus thereof - Google Patents

Method for generating human motion using sequential networks and apparatus thereof Download PDF

Info

Publication number
KR102310757B1
KR102310757B1 KR1020200038149A KR20200038149A KR102310757B1 KR 102310757 B1 KR102310757 B1 KR 102310757B1 KR 1020200038149 A KR1020200038149 A KR 1020200038149A KR 20200038149 A KR20200038149 A KR 20200038149A KR 102310757 B1 KR102310757 B1 KR 102310757B1
Authority
KR
South Korea
Prior art keywords
motion
manifold
joint
generating
learning
Prior art date
Application number
KR1020200038149A
Other languages
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 한국과학기술원
Priority to KR1020200038149A priority Critical patent/KR102310757B1/en
Application granted granted Critical
Publication of KR102310757B1 publication Critical patent/KR102310757B1/en

Links

Images

Classifications

    • 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
    • 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

Abstract

Disclosed are a human motion generating method using sequential networks and an apparatus thereof, which can generate various human motions through a motion manifold. According to one embodiment of the present invention, the human motion generating method comprises: a step of constructing a motion manifold by using sequential networks; and a step of generating a target motion corresponding to motion input data by using the constructed motion manifold. The constructing step can construct the motion manifold by using sequential networks including one encoder and two decoders. The generating step can output joint rotation angle information for the target motion by one of the two decoders, output joint rotation speed information for the target motion by the other decoder, and generate the target motion based on the joint rotation angle information and the joint rotation speed information.

Description

순차적 네트워크를 이용한 사람 모션 생성 방법 및 그 장치 {METHOD FOR GENERATING HUMAN MOTION USING SEQUENTIAL NETWORKS AND APPARATUS THEREOF}Method and device for generating human motion using sequential network

본 발명은 사람 모션 생성 기술에 관한 것으로, 보다 구체적으로는 순차적 네트워크(sequential networks)를 이용하여 모션 매니폴드(motion manifold)를 구성하고, 모션 매니폴드를 통해 다양한 사람의 모션들을 생성할 수 있는 사람 모션 생성 방법 및 그 장치에 관한 것이다.The present invention relates to a human motion generation technology, and more specifically, a person capable of constructing a motion manifold using sequential networks and generating various human motions through the motion manifold. It relates to a method for generating motion and an apparatus therefor.

사람의 모션에 대한 잠재적인 공간 구축은 모션 인식(Recognition), 예측(Prediction), 보간(Interpolation), 합성(Synthesis)과 같이 어플리케이션의 범위가 넓기 때문에 중요한 문제이다. 이상적인 모션 공간은 공간에서의 무작위 샘플링이 그럴듯한 모션을 유도하고 광범위한 사람의 모션을 생성하기 위하여 축소되어야 한다. 또한 의미적으로 관련된 히든 벡터의 국소적인 선형 배치는 단순한 대수적 연산 등에 의해 모션 합성에 도움이 될 수 있다.The potential spatial construction of human motion is an important issue because the range of applications such as motion recognition, prediction, interpolation, and synthesis is wide. An ideal motion space should be reduced in order for random sampling in space to induce plausible motion and to generate a wide range of human motion. In addition, the local linear arrangement of semantically related hidden vectors can be helpful for motion synthesis by simple algebraic operations.

그러나 인체의 각 부위는 일반적인 모션을 행할 때 밀접한 관련이 있을 뿐만 아니라 관절(joint)은 뼈 길이와 움직임 범위를 만족시키도록 제한되기 때문에 축소된 모션 공간을 구성하고 그로부터 유효한 모션을 재생성 하는 것은 어려운 문제로 남아 있다. 관절 공간의 높은 차원성은 이 문제에 추가적인 어려움을 가중시킨다.However, since each part of the human body is closely related when performing general motion, and the joint is limited to satisfy the bone length and range of motion, it is difficult to construct a reduced motion space and regenerate effective motion from it. remains as The high dimensionality of the joint space adds additional difficulties to this problem.

종래 모션 매니폴드를 구성하는 몇 가지 방법을 개발했지만 이미지와 같은 다른 데이터에 대한 매니폴드 학습에 관한 연구와 비교하면 모션 데이터에 대한 연구가 부족하다. PCA와 같은 선형 방법은 오직 로컬 영역에서만 사람 모션을 모델링할 수 있다. 종래 일 실시예의 기술은 로컬 PCA를 적용하여 일정 범위의 사람 모션을 포함하는 모션 매니폴드를 생성하고, 엔드 이펙터(effector)의 위치와 같은 저차원 입력으로부터의 모션을 합성하기 위해 적용한다. 종래 다른 일 실시예의 기술은 고차원 운동 데이터를 위한 저차원 잠재 공간을 찾기 위해 Gaussian Process Latent Variable Model(GPLVM)을 사용한다. 종래 또 다른 일 실시예의 기술은 모션 데이터의 일시적 일관성을 다룰 수 있는 수정된 Restricted Boltzmann Machine을 제안한다. 종래 또 다른 일 실시예의 기술은 임의의 외부 장애에 반응하는 사람 모션을 만들 수 있는 모션 데이터의 새로운 표현인 모션 필드 방법을 제안한다. 최근에는 딥 러닝 기술이 발달하면서 딥 러닝 기술을 이용한 기술이 제안되었으며, 종래 일 실시예에 따른 기술은 컨볼루션 뉴럴 네트워크(CNN; Convolutional Neural Network) 기반 인코더를 이용하여 모션 매니폴드를 구성하였다. 종래 다른 일 실시예에 따른 기술은 사람 모션 데이터 모델링을 위하여 다양한 딥 러닝 프레임워크를 비교한다.Although several methods for constructing a motion manifold have been developed in the prior art, studies on motion data are lacking compared to studies on manifold learning for other data such as images. Linear methods such as PCA can only model human motion in the local domain. The conventional technique of one embodiment applies local PCA to generate a motion manifold including a range of human motion, and applies it to synthesize motion from a low-dimensional input such as the position of an end effector. In another conventional technique, a Gaussian Process Latent Variable Model (GPLVM) is used to find a low-dimensional latent space for high-dimensional motion data. Another conventional technique of an embodiment proposes a modified Restricted Boltzmann Machine capable of handling temporal consistency of motion data. Another conventional technique of one embodiment proposes a motion field method, which is a new representation of motion data that can create human motion in response to any external disturbance. Recently, with the development of deep learning technology, a technology using deep learning technology has been proposed, and the conventional technology according to an embodiment uses a convolutional neural network (CNN)-based encoder to configure a motion manifold. The conventional technique according to another embodiment compares various deep learning frameworks for human motion data modeling.

과거 모션이 주어지는 3D 인체의 관절 위치 시퀀스를 예측하기 위한 모션 시퀀스 학습에 관한 연구들이 있었으며, 종래 일 실시예의 기술은 과거 모션의 짧은 지속시간을 준 사람의 모션을 예측하는 새로운 시퀀스 대 시퀀스 인코더 디코더 모델을 제안하였지만, 제시된 결과는 풋 슬라이딩과 같은 신뢰할 수 없는 모션이 생성되고 예측된 모션의 초기 포즈가 입력 모션과 다소 불연속되는 경우가 있다는 몇 가지 한계가 있다. 종래 다른 일 실시예의 기술은 단기 예측에는 관절 회전 기반 손실을 사용하고, 장기 예측에는 관절 위치 기반 손실을 선택적으로 사용하는데, 관절 위치 기반 손실은 관절 위치를 계산하기 위한 전방 운동학을 포함한다. 그러나 기본 시퀀스 대 시퀀스 모델은 단기 모션만 예측할 수 있으며 중대한(non-trivial) 모션과 장기 모션을 예측하는 데 한계가 있다. 또한 예측 오류만 최소화하는 손실 함수는 소형 다목적 모션 매니폴드를 구성한다고 보장하지 않는다.There have been studies on motion sequence learning for predicting the joint position sequence of a 3D human body given a past motion, and the conventional technique of an embodiment is a new sequence-to-sequence encoder decoder model that predicts the motion of a person given a short duration of the past motion. However, the presented results have some limitations in that unreliable motion such as foot sliding is generated and the initial pose of the predicted motion is somewhat discontinuous with the input motion. The conventional technique of another embodiment uses joint rotation-based loss for short-term prediction and selectively uses joint position-based loss for long-term prediction, wherein the joint position-based loss includes anterior kinematics for calculating the joint position. However, the basic sequence-to-sequence model can only predict short-term motion and has limitations in predicting non-trivial and long-term motion. Also, a loss function that only minimizes the prediction error is not guaranteed to form a compact, versatile motion manifold.

사람의 모션을 인식하고 생성하기 위한 종래 일 실시예의 기술은 최상위 골격 관절 형상을 추출하고 학습된 표현을 사용하여 모션 시퀀스를 추론하는 계층적 동적 프레임워크를 제안하였으며, 종래 다른 일 실시예의 기술은 회귀적 뉴럴 네트워크(RNN; recursive neural network)을 사용하여 시간 모션 시퀀스를 모델링하고 작용 인식에 대한 계층 구조를 제안하였다. 모션 합성에 관하여, 종래 일 실시예의 기술은 새로운 등급의 Recurrent Temporal Restricted Boltzmann Machine(RTRBM)을 제안하였다. 구조화된 RTRBM은 모션 합성 품질을 개선하기 위한 의존 구조를 모델링하기 위해 명시적으로 그래프를 사용한다. 종래 다른 일 실시예의 기술은 비디오와 모션 캡처에서 사람의 신체 자세를 인식하고 예측하기 위해 표현 학습과 학습 시간 역학을 결합한 Encoder-Recurrent-Decoder(ERD)를 제안하였으며, 종래 또 다른 일 실시예의 기술은 고 레벨의 시공간 그래프의 파워를 조합하기 위한 구조적 RNN을 제안하였다.A conventional technology of one embodiment for recognizing and generating human motion proposes a hierarchical dynamic framework for extracting the highest skeletal joint shape and inferring a motion sequence using the learned representation, and the technique of another embodiment of the prior art is regression We model temporal motion sequences using a recursive neural network (RNN) and propose a hierarchical structure for action recognition. With respect to motion synthesis, the conventional technique of an embodiment proposes a new class of Recurrent Temporal Restricted Boltzmann Machine (RTRBM). Structured RTRBM explicitly uses graphs to model dependent structures to improve motion synthesis quality. Conventionally, the technology of another embodiment proposes an Encoder-Recurrent-Decoder (ERD) that combines expression learning and learning time dynamics to recognize and predict a human body posture in video and motion capture, and the technology of another conventional embodiment is We propose a structured RNN to combine the power of high-level spatiotemporal graphs.

본 발명의 실시예들은, 순차적 네트워크(sequential networks)를 이용하여 모션 매니폴드(motion manifold)를 구성하고, 모션 매니폴드를 통해 다양한 사람의 모션들을 생성할 수 있는 사람 모션 생성 방법 및 그 장치를 제공한다.Embodiments of the present invention provide a human motion generation method and apparatus capable of constructing a motion manifold using sequential networks and generating various human motions through the motion manifold do.

본 발명의 일 실시예에 따른 사람 모션 생성 방법은 순차적 네트워크를 이용하여 모션 매니폴드를 구성하는 단계; 및 상기 구성된 모션 매니폴드를 이용하여 모션 입력 데이터에 대응하는 타겟 모션을 생성하는 단계를 포함한다.A method for generating human motion according to an embodiment of the present invention includes: configuring a motion manifold using a sequential network; and generating a target motion corresponding to the motion input data using the configured motion manifold.

상기 구성하는 단계는 한 개의 인코더와 두 개의 디코더들을 포함하는 순차적 네트워크를 이용하여 상기 모션 매니폴드를 구성할 수 있다.In the configuring, the motion manifold may be configured using a sequential network including one encoder and two decoders.

상기 생성하는 단계는 상기 두 개의 디코더들 중 어느 하나의 디코더에서 상기 타겟 모션에 대한 관절 회전 각도 정보를 출력하고, 다른 하나의 디코더에서 상기 타겟 모션에 대한 관절 회전 속도 정보를 출력하며, 상기 관절 회전 각도 정보와 상기 관절 회전 속도 정보에 기초하여 상기 타겟 모션을 생성할 수 있다.The generating may include outputting joint rotation angle information for the target motion from any one of the two decoders, and outputting joint rotation speed information for the target motion from the other decoder, and the joint rotation The target motion may be generated based on the angle information and the joint rotation speed information.

상기 구성하는 단계는 상기 모션 매니폴드의 분포가 미리 설정된 사전 분포에 일치되도록 상기 순차적 네트워크의 학습 모델을 학습시킴으로써, 상기 학습 모델 기반의 모션 매니폴드를 구성할 수 있다.The configuring may configure the learning model-based motion manifold by learning the learning model of the sequential network so that the distribution of the motion manifold matches a preset pre-distribution.

상기 구성하는 단계는 상기 순차적 네트워크의 학습 모델을 학습하는데 있어서, 전방 운동학(forward kinematics) 기법을 이용하여 관절의 위치를 계산하고, 상기 계산된 관절의 위치를 추가로 반영하여 상기 학습 모델을 학습시킴으로써, 상기 학습 모델 기반의 모션 매니폴드를 구성할 수 있다.In the configuring step, in learning the learning model of the sequential network, the joint position is calculated using a forward kinematics technique, and the calculated joint position is further reflected to learn the learning model. , it is possible to configure a motion manifold based on the learning model.

본 발명의 다른 일 실시예에 따른 사람 모션 생성 방법은 한 개의 인코더와 두 개의 디코더들을 포함하는 순차적 네트워크를 이용하여 모션 매니폴드를 구성하는 단계; 및 상기 구성된 모션 매니폴드를 이용하여 모션 입력 데이터에 대응하는 타겟 모션을 생성하는 단계를 포함한다.A method for generating human motion according to another embodiment of the present invention includes: configuring a motion manifold using a sequential network including one encoder and two decoders; and generating a target motion corresponding to the motion input data using the configured motion manifold.

상기 생성하는 단계는 상기 두 개의 디코더들 중 어느 하나의 디코더에서 상기 타겟 모션에 대한 관절 회전 각도 정보를 출력하고, 다른 하나의 디코더에서 상기 타겟 모션에 대한 관절 회전 속도 정보를 출력하며, 상기 관절 회전 각도 정보와 상기 관절 회전 속도 정보에 기초하여 상기 타겟 모션을 생성할 수 있다.The generating may include outputting joint rotation angle information for the target motion from any one of the two decoders, and outputting joint rotation speed information for the target motion from the other decoder, and the joint rotation The target motion may be generated based on the angle information and the joint rotation speed information.

본 발명의 일 실시예에 따른 사람 모션 생성 장치는 순차적 네트워크를 이용하여 모션 매니폴드를 구성하는 구성부; 및 상기 구성된 모션 매니폴드를 이용하여 모션 입력 데이터에 대응하는 타겟 모션을 생성하는 생성부를 포함한다.An apparatus for generating human motion according to an embodiment of the present invention includes: a configuration unit that configures a motion manifold using a sequential network; and a generator configured to generate a target motion corresponding to the motion input data by using the configured motion manifold.

상기 구성부는 한 개의 인코더와 두 개의 디코더들을 포함하는 순차적 네트워크를 이용하여 상기 모션 매니폴드를 구성할 수 있다.The configuration unit may configure the motion manifold using a sequential network including one encoder and two decoders.

상기 생성부는 상기 두 개의 디코더들 중 어느 하나의 디코더에서 상기 타겟 모션에 대한 관절 회전 각도 정보를 출력하고, 다른 하나의 디코더에서 상기 타겟 모션에 대한 관절 회전 속도 정보를 출력하며, 상기 관절 회전 각도 정보와 상기 관절 회전 속도 정보에 기초하여 상기 타겟 모션을 생성할 수 있다.The generator outputs joint rotation angle information for the target motion from one of the two decoders, and outputs joint rotation speed information for the target motion from the other decoder, and the joint rotation angle information and the target motion may be generated based on the joint rotation speed information.

상기 구성부는 상기 모션 매니폴드의 분포가 미리 설정된 사전 분포에 일치되도록 상기 순차적 네트워크의 학습 모델을 학습시킴으로써, 상기 학습 모델 기반의 모션 매니폴드를 구성할 수 있다.The configuration unit may configure the learning model-based motion manifold by learning the learning model of the sequential network so that the distribution of the motion manifold matches a preset distribution.

상기 구성부는 상기 순차적 네트워크의 학습 모델을 학습하는데 있어서, 전방 운동학(forward kinematics) 기법을 이용하여 관절의 위치를 계산하고, 상기 계산된 관절의 위치를 추가로 반영하여 상기 학습 모델을 학습시킴으로써, 상기 학습 모델 기반의 모션 매니폴드를 구성할 수 있다.In learning the learning model of the sequential network, the configuration unit calculates the position of the joint using a forward kinematics technique, and further reflects the calculated position of the joint to learn the learning model, It is possible to configure a motion manifold based on a learning model.

본 발명의 실시예들에 따르면, 순차적 네트워크를 이용하여 모션 매니폴드를 구성하고, 모션 매니폴드를 통해 다양한 사람의 모션들을 생성할 수 있다.According to embodiments of the present invention, a motion manifold may be configured using a sequential network, and various human motions may be generated through the motion manifold.

본 발명의 실시예들에 따르면, 순차적 딥 러닝 네트워크를 통해 제한적인 모션 데이터를 학습하여 모션 매니폴드를 구축하기 때문에 이러한 모션 매니폴드를 이용하여 데이터의 노이즈 제거와 보간(interpolation)을 통한 새로운 모션 재생성, 모션 인식 및 범주 분류 등 다양한 어플리케이션에 적용할 수 있다. 또한, 본 발명에서의 모션 매니폴드 또는 모션 축소 공간은 역동적이고 다양한 새로운 모션을 재생성 하기 때문에 컴퓨터 그래픽스 및 애니메이션 분야에 접목할 경우 상당한 비용 및 시간을 절감할 수 있다.According to embodiments of the present invention, since a motion manifold is built by learning limited motion data through a sequential deep learning network, using such a motion manifold, denoising data and regenerating new motion through interpolation It can be applied to various applications such as , motion recognition and category classification. In addition, since the motion manifold or motion reduction space in the present invention regenerates dynamic and various new motions, considerable cost and time can be saved when applied to computer graphics and animation fields.

이러한 본 발명은 증강현실(AR)/가상현실(VR) 공간에서 아바타의 모션 데이터를 생성하는데 도움을 줄 수 있으며, 더 나아가 AI 기반 캐릭터와 같이 자동 움직임을 생성하는 기술에도 사용될 수 있다.The present invention can help to generate motion data of an avatar in an augmented reality (AR)/virtual reality (VR) space, and can further be used in a technology for generating automatic movement, such as an AI-based character.

도 1은 본 발명의 일 실시예에 따른 사람 모션 생성 방법에 대한 동작 흐름도를 나타낸 것이다.
도 2는 모션 매니폴드를 구성하는 과정을 설명하기 위한 일 예시도를 나타낸 것이다.
도 3은 각각의 손실 함수를 설명하기 위한 일 예시도를 나타낸 것이다.
도 4와 도 5는 본 발명의 방법에 의해 생성된 타겟 모션에 대한 예시도들을 나타낸 것이다.
도 6은 본 발명의 일 실시예에 따른 사람 모션 생성 장치에 대한 개념적인 구성을 나타낸 것이다.
1 is a flowchart illustrating a method for generating a human motion according to an embodiment of the present invention.
2 is a diagram illustrating an example for explaining a process of configuring a motion manifold.
3 shows an exemplary diagram for explaining each loss function.
4 and 5 show exemplary views of the target motion generated by the method of the present invention.
6 illustrates a conceptual configuration of a human motion generating apparatus according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various different forms, and only these embodiments allow the disclosure of the present invention to be complete, and common knowledge in the art to which the present invention pertains It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며, 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for the purpose of describing the embodiments, and is not intended to limit the present invention. As used herein, the singular also includes the plural unless specifically stated otherwise in the phrase. As used herein, "comprises" and/or "comprising" refers to the presence of one or more other components, steps, operations and/or elements mentioned. or addition is not excluded.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used herein may be used with the meaning commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless specifically defined explicitly.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예들을 보다 상세하게 설명하고자 한다. 도면 상의 동일한 구성요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings. The same reference numerals are used for the same components in the drawings, and repeated descriptions of the same components are omitted.

본 발명의 실시예들은, 잠재 모션 매니폴드를 구성하고 모션 매니폴드에서 다양한 사람 모션을 생성하는 새로운 프레임워크를 제공하는 것을 그 요지로 한다.Embodiments of the present invention are directed to providing a novel framework for constructing latent motion manifolds and generating various human motions in motion manifolds.

여기서, 본 발명은 사람 모션의 시간적 특성을 수용하기 위해, 시퀀스 대 시퀀스 모델에 기초할 수 있는데, 시퀀스 대 시퀀스 모델은 모션 측에 관한 기존 연구(MARTINEZ J., BLACK M. J., ROMERO J.: On human motion prediction using recurrent neural networks. In 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2017), IEEE, pp. 4674-4683., PAVLLO D., GRANGIER D., AULI M.: Quaternet: A quaternion-based recurrent model for human motion. arXiv preprint arXiv:1805.06485 (2018).)에서 효과적이라는 것을 알 수 있다.Here, the present invention can be based on a sequence-versus-sequence model to accommodate the temporal characteristics of human motion. The sequence-versus-sequence model is based on existing studies on the motion side (MARTINEZ J., BLACK MJ, ROMERO J.: On human In 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2017), IEEE, pp. 4674-4683., PAVLLO D., GRANGIER D., AULI M.: Quaternet: A quaternion- based recurrent model for human motion. arXiv preprint arXiv:1805.06485 (2018).)

이러한 본 발명은 잠재 모션 매니폴드와 모션 생성 방법을 달성하기 위해 몇 가지 새로운 기술적 기여를 한다.This invention makes several new technical contributions to achieve a latent motion manifold and a motion generation method.

첫째, 본 발명의 모델은 1개의 인코더와 2개의 디코더의 조합으로 특징 지어진다. 모션 매니폴드 벡터를 사용할 경우, 한 디코더는 관절 회전을 생성하는 법을 학습하고 다른 디코더는 관절 회전 속도를 출력하는 법을 학습한다. 관절 회전 디코더는 장기(long term) 모션을 더 잘 재구성할 수 있는 장점이 있다. 이에 비해 관절 속도 디코더는 모션의 연속성을 향상시키는 장점이 있다. 본 발명의 두 디코더 모델은 서로 보완함으로써, 단일 디코더 모델보다 더 높은 재구성 정확도를 보여준다.First, the model of the present invention is characterized as a combination of one encoder and two decoders. When using motion manifold vectors, one decoder learns to generate joint rotation and the other learns to output joint rotation velocity. The joint rotation decoder has the advantage of being able to better reconstruct long term motion. On the other hand, the joint velocity decoder has the advantage of improving the continuity of motion. By complementing each other, the two decoder models of the present invention show higher reconstruction accuracy than a single decoder model.

둘째, 관절 각도 또는 관절 위치 중 하나만 다루는 기존의 연구와는 달리, 본 발명의 관절 각도 기반 기법은 전방 운동학(FK) 층을 추가함으로써, 뼈 길이 제약조건을 만족시키고 관절 각도의 한계 표현을 단순화하는 이점을 얻는다. 본 발명은 트레이닝 중 전방 운동학 층에 의해 계산된 관절 위치를 추가로 고려함으로써, 관절 각도 오류보다 시각적으로 더 잘 보이는 관절 위치 오류를 감소시킨다.Second, unlike previous studies that dealt only with joint angle or joint position, the joint angle-based technique of the present invention adds an anterior kinematic (FK) layer to satisfy the bone length constraint and simplify the limit expression of joint angle. get an advantage The present invention further takes into account the joint position calculated by the anterior kinematics layer during training, thereby reducing joint position errors that are visually better than joint angle errors.

마지막으로, 본 발명은 각각 다른 측면에서 모션 매니폴드의 품질을 향상시키는 데 기여하는 몇 가지 손실 함수를 포함한다. 재구성 손실(Reconstruction loss)은 재구성된 모션과 입력 모션 사이의 차이를 감소시켜 매니폴드가 트레이닝 모션 데이터 집합에서 관찰된 모션 내용과 세부사항을 합성할 수 있게 한다. 정규화 손실(Regularizer loss)은 모션 매니폴드의 분포 품질을 향상시켜 매니폴드에서 무작위 샘플링 및 보간 작업을 가능하게 한다. 또한, 적대적 손실(Adversarial loss)은 모션 매니폴드에서 생성된 모션의 자연스러움을 증가시킨다.Finally, the present invention includes several loss functions that each contribute to improving the quality of the motion manifold in different aspects. The reconstruction loss reduces the difference between the reconstructed motion and the input motion, allowing the manifold to synthesize the motion content and details observed in the training motion data set. The regularizer loss improves the distribution quality of the motion manifold, enabling random sampling and interpolation operations in the manifold. Also, the adversarial loss increases the naturalness of the motion generated in the motion manifold.

본 발명은 이러한 기술적 기여에 근거하여, 무작위 모션 생성, 모션 보간, 모션 노이즈 제거(denoising) 및 모션 유추(motion analogy)와 같은 다양한 어플리케이션에 적용할 수 있다.Based on this technical contribution, the present invention can be applied to various applications such as random motion generation, motion interpolation, motion denoising, and motion analogy.

이러한 본 발명에 대해 도 1 내지 도 6을 참조하여 상세히 설명한다.The present invention will be described in detail with reference to FIGS. 1 to 6 .

도 1은 본 발명의 일 실시예에 따른 사람 모션 생성 방법에 대한 동작 흐름도를 나타낸 것이다.1 is a flowchart illustrating a method for generating a human motion according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 사람 모션 생성 방법은 순차적 네트워크를 이용하여 모션 매니폴드를 구성하는 단계(S110)와 모션 매니폴드를 이용하여 모션 입력 데이터에 대응하는 타겟 모션을 생성하는 단계(S120)를 포함한다.Referring to FIG. 1 , in the method for generating human motion according to an embodiment of the present invention, a step of configuring a motion manifold using a sequential network ( S110 ) and a target motion corresponding to motion input data using the motion manifold are generated. and generating (S120).

단계 S110은 한 개의 인코더와 두 개의 디코더들을 포함하는 순차적 네트워크를 이용하여 모션 매니폴드를 구성할 수 있으며, 모션 매니폴드의 분포가 미리 설정된 사전 분포에 일치되도록 순차적 네트워크의 학습 모델을 학습시킴으로써, 학습 모델 기반의 모션 매니폴드를 구성할 수 있다.In step S110, a motion manifold may be configured using a sequential network including one encoder and two decoders, and by training a learning model of the sequential network so that the distribution of the motion manifold matches a preset pre-distribution, learning A model-based motion manifold can be configured.

이 때, 단계 S110은 순차적 네트워크의 학습 모델을 학습하는데 있어서, 전방 운동학(forward kinematics) 기법을 이용하여 관절의 위치를 계산하고, 계산된 관절의 위치를 추가로 반영하여 학습 모델을 학습시킴으로써, 학습 모델 기반의 모션 매니폴드를 구성할 수도 있다. 물론, 순차적 네트워크의 학습 모델은 미리 설정된 적어도 하나 이상의 손실 함수에 기초하여 미리 설정된 트레이닝 데이터를 통해 학습될 수 있다.At this time, in step S110, in learning the learning model of the sequential network, the joint position is calculated using a forward kinematics technique, and the calculated joint position is additionally reflected to learn the learning model. Model-based motion manifolds can also be configured. Of course, the learning model of the sequential network may be learned through preset training data based on at least one or more preset loss functions.

단계 S120은 모션 매니폴드를 구성하는 두 개의 디코더들 중 어느 하나의 디코더에서 타겟 모션에 대한 관절 회전 각도 정보를 출력하고, 다른 하나의 디코더에서 타겟 모션에 대한 관절 회전 속도 정보를 출력함으로써, 관절 회전 각도 정보와 관절 회전 속도 정보에 기초하여 모션 입력 데이터에 대응한은 타겟 모션을 생성할 수 있다.In step S120, by outputting joint rotation angle information for the target motion from any one of the two decoders constituting the motion manifold, and outputting joint rotation speed information for the target motion from the other decoder, joint rotation A target motion corresponding to the motion input data may be generated based on the angle information and the joint rotation speed information.

이러한 본 발명의 방법에 대해 도 2와 도 5를 이용하여 상세히 설명한다. The method of the present invention will be described in detail with reference to FIGS. 2 and 5 .

본 발명에 대하여, 표기법을 정의하고 네트워크 구조와 트레이닝을 위한 손실 함수에 대한 설계를 순차적으로 설명한다.For the present invention, we define the notation and sequentially describe the design of the network structure and loss function for training.

표현 및 표기법Expressions and Notations

본 발명은

Figure 112020032892112-pat00001
로 설정된 사람 모션과 Q에 해당하는 무작위 변수를 나타낸다. [t, t+βt-1]의 시간 영역에서 모션은
Figure 112020032892112-pat00002
로 나타낼 수 있다. 여기서, qt는 시간 t에서의 포즈를 의미할 수 있다. 포즈는 지수좌표로 쓰여진 관절 각도 집합 즉,
Figure 112020032892112-pat00003
와 같이 나타낼 수 있다. 여기서,
Figure 112020032892112-pat00004
는 지수좌표의 세 구성요소를 의미하고, njoint는 관절의 수를 의미할 수 있다. 그러므로, 사람 모션의 차원은
Figure 112020032892112-pat00005
이다. 마지막으로, pt는 qt에 해당하는 시간 t의 관절 위치로 대표되는 포즈이고,
Figure 112020032892112-pat00006
이다. 여기서, P는 모션 집합
Figure 112020032892112-pat00007
의 무작위 변수를 의미할 수 있다.the present invention
Figure 112020032892112-pat00001
Indicates the human motion set to , and a random variable corresponding to Q. In the time domain of [t, t+βt-1], the motion is
Figure 112020032892112-pat00002
can be expressed as Here, q t may mean a pose at time t. A pose is a set of joint angles written in exponential coordinates, i.e.,
Figure 112020032892112-pat00003
can be expressed as here,
Figure 112020032892112-pat00004
denotes three components of exponential coordinates, and n joint can denote the number of joints. Therefore, the dimension of human motion is
Figure 112020032892112-pat00005
am. Finally, p t is the pose represented by the joint position at time t corresponding to q t ,
Figure 112020032892112-pat00006
am. where P is the motion set
Figure 112020032892112-pat00007
may mean a random variable of

순차적 네트워크를 이용한 using a sequential network 모션motion 매니폴드manifold

본 발명은 실측 자료 모션 공간 분포와 잠재 모션 매니폴드에서 추출한 재구성된 모션 공간 분포 사이의 차이를 최소화하기 위해 순차적 네트워크의 네트워크를 사용하여 엔드 투 엔드 방식으로 모션 매니폴드를 구성한다. 이를 위해 본 발명은 Gated Recurrent Unit(GRU)이 포함된 RNN으로 구성된 순차적 모델을 이용할 수 있다. 본 발명의 모델은 기계 번역에 자주 사용되는 연속적인 구조를 가질 수 있으며, 이러한 연속적인 구조는 기존 연구(MARTINEZ J., BLACK M. J., ROMERO J.: On human motion prediction using recurrent neural networks. In 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2017), IEEE, pp. 4674-4683.)에 상세히 설명되어 있다. 이 RNN 구조는 모션의 시간적 일관성을 유지하는 데 효과적이다.The present invention constructs a motion manifold in an end-to-end manner using a network of sequential networks in order to minimize the difference between the actual data motion spatial distribution and the reconstructed motion spatial distribution extracted from the latent motion manifold. For this, the present invention may use a sequential model composed of an RNN including a Gated Recurrent Unit (GRU). The model of the present invention may have a continuous structure frequently used for machine translation, and this continuous structure has been studied in previous studies (MARTINEZ J., BLACK MJ, ROMERO J.: On human motion prediction using recurrent neural networks. In 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2017), IEEE, pp. 4674-4683.). This RNN structure is effective in maintaining the temporal consistency of motion.

도 2는 모션 매니폴드를 구성하기 위한 순차적 네트워크에 대한 일 실시예 구조를 나타낸 것이다.2 shows the structure of one embodiment of a sequential network for configuring a motion manifold.

도 2에 도시된 바와 같이, 본 발명의 모델은 1개의 인코더와 2개의 디코더가 정규화기(regularizer)와 결합된다. 인코더는 소스 모션을 입력으로 받아 잠재된 모션 공간에 매핑한다. 정규화기는 인코딩된 모션 분포를 미리 설정된 일부 사전 분포와 근사하도록 정규화시킬 수 있다. 두 개의 디코더는 각각 잠재 모션 공간을 관절 각도와 관절 속도에 매핑하도록 설계될 수 있다.As shown in Fig. 2, in the model of the present invention, one encoder and two decoders are combined with a regularizer. The encoder takes the source motion as input and maps it into the latent motion space. The normalizer may normalize the encoded motion distribution to approximate some preset prior distribution. The two decoders can each be designed to map the latent motion space to joint angles and joint velocities.

인코더encoder

인코더는 도 2에 도시된 바와 같이, 복수의 GRU(Gated Recurrent Unit)와 하나의 선형 층을 포함한다. 모션의 βt 포즈

Figure 112020032892112-pat00008
는 순차적으로 GRU에 입력되고, GRU는 현재 프레임을 암호화하며, 이전 프레임에 의해 히든(hidden) 표현으로 조건화된다. 구체적으로는 i번째 프레임의 포즈 qi는 아래 <수학식 1>과 같이 인코딩될 수 있다.As shown in FIG. 2 , the encoder includes a plurality of Gated Recurrent Units (GRUs) and one linear layer. βt pose in motion
Figure 112020032892112-pat00008
are sequentially input to the GRU, the GRU encrypts the current frame, and is conditioned with a hidden representation by the previous frame. Specifically, the pose q i of the i-th frame may be encoded as shown in Equation 1 below.

[수학식 1][Equation 1]

Figure 112020032892112-pat00009
Figure 112020032892112-pat00009

여기서, hi는 프레임 I에서의 히든 상태를 의미하고,

Figure 112020032892112-pat00010
는 GRU의 히든 차원이 dh인 트레이닝 파라미터를 의미할 수 있다.Here, h i means a hidden state in frame I,
Figure 112020032892112-pat00010
may mean a training parameter in which the hidden dimension of the GRU is d h.

입력 모션의 마지막 포즈를 읽은 후, 파라미터

Figure 112020032892112-pat00011
의 선형 층은 ht+βt-1을 받고 압축하여 dm 차원 코드
Figure 112020032892112-pat00012
를 생성한다. 여기서,
Figure 112020032892112-pat00013
는 모션 매니폴드를 의미할 수 있다. 이 때, 상기 압축은 입력 데이터를 디노이징(denoising)하는 것의 이점을 가져올 수 있다. 이러한 과정을 통해 인코더 매핑 Enc:
Figure 112020032892112-pat00014
가 완료될 수 있다.After reading the last pose of the input motion,
Figure 112020032892112-pat00011
The linear layer of d receives and compresses ht+βt-1 to d m dimensional code.
Figure 112020032892112-pat00012
create here,
Figure 112020032892112-pat00013
may mean a motion manifold. In this case, the compression may bring the advantage of denoising the input data. Through this process, encoder mapping Enc:
Figure 112020032892112-pat00014
can be completed.

WassersteinWasserstein regularizerregularizer 를 이용한 잠재 potential using 모션motion 매니폴드manifold

본 발명은 모션 매니폴드의 분포

Figure 112020032892112-pat00015
와 어울리는 미리 설정된 사전 분포 PZ에 일치시키기 위해 미리 설정된 정규화기 예를 들어, Wasserstein regularizer를 사용할 수 있다. 이 때, Wasserstein regularizer는 기존 연구(TOLSTIKHIN I., BOUSQUET O., GELLY S., SCHOELKOPFB.: Wasserstein auto-encoders. arXiv preprint arXiv:1711.01558 (2017).)에 자세히 기재되어 있으며, 본 발명의 기술 분야에 종사하는 당업자에게 있어서 자명하기에 그 상세한 설명은 생략한다. VAE와 달리, Wasserstein regularizer로 트레이닝된 순차적 네트워크는 비 랜덤 인코더가 입력을 잠재 코드에 결정적으로 매핑할 수 있도록 한다. 따라서, 모션 매니폴드에서 무작위 샘플링되거나 보간된 지점들이 그럴듯한 모션에 대응되도록 할 수 있다. The present invention relates to the distribution of motion manifolds.
Figure 112020032892112-pat00015
We can use a preset regularizer, for example, the Wasserstein regularizer, to match to a preset prior distribution P Z that matches with . At this time, the Wasserstein regularizer has been described in detail in previous studies (TOLSTIKHIN I., BOUSQUET O., GELLY S., SCHOELKOPFB.: Wasserstein auto-encoders. arXiv preprint arXiv:1711.01558 (2017).), and the technical field of the present invention Since it is obvious to those skilled in the art, a detailed description thereof will be omitted. Unlike VAE, sequential networks trained with Wasserstein regularizers allow non-random encoders to deterministically map inputs to latent codes. Thus, randomly sampled or interpolated points in the motion manifold can be made to correspond to plausible motion.

관절 회전과 관절 속도에 대한 디코더(Decoder with joint rotation and joint velocity)Decoder with joint rotation and joint velocity

본 발명에서 디코더 모델은 도 2에 도시된 바와 같이 두 가지 종류로 구성된다. 하나의 디코더는 관절 회전을 학습하고 다른 하나의 디코더는 관절 회전 속도를 학습한다. 두 디코더는 두 디코더의 연결 구조가 다른 반면, GRU를 기반으로 한다. 관절 회전 디코더와 달리 관절 회전 속도 디코더는 입력과 출력 사이에 잔여 연결(residual connection)을 추가하여 관절 회전을 생성한다. 그런 다음 각 디코더는 역 시간 순서대로 재구성된 관절 각도 시퀀스를 생성한다. 이 때, 디코더는 역전파와 동시에 트레이닝될 수 있다.In the present invention, the decoder model is composed of two types as shown in FIG. 2 . One decoder learns the joint rotation and the other decoder learns the joint rotation speed. The two decoders are based on the GRU, while the two decoders have different connection structures. Unlike the joint rotation decoder, the joint rotation speed decoder generates joint rotation by adding a residual connection between the input and output. Then, each decoder generates a reconstructed joint angle sequence in reverse temporal order. At this time, the decoder may be trained simultaneously with backpropagation.

본 발명에서는 두 개의 디코더를 결합함으로써 개별 디코더 모델의 한계를 줄일 수 있다. 관절 회전 디코더는 관절 각도 자체를 학습하기 때문에 장기 모션을 재구성할 때 강점을 가진다. 반대로 프레임 사이에 포즈 불연속이 발생할 수 있다. 관절 회전 속도 디코더는 보통 작고 학습하기 쉬운 연속 회전들 사이의 차이를 출력하기 때문에 연속적인 사람 모션을 재구성할 수 있는 장점이 있다. 그러나 모션이 길어질수록 오류가 더 많이 누적되기 때문에 트레이닝 속도는 장기 시퀀스에서 불안정한 경향이 있다. 본 발명의 두 디코더는 서로 상반되는 장단점을 가지고 있기 때문에 결합하면 시너지 효과로 서로 보완된다.In the present invention, the limitations of individual decoder models can be reduced by combining two decoders. Since the joint rotation decoder learns the joint angle itself, it has strength when reconstructing long-term motion. Conversely, pause discontinuity may occur between frames. Joint rotation speed decoders have the advantage of reconstructing continuous human motion because they usually output the difference between consecutive rotations that are small and easy to learn. However, the training rate tends to be unstable in long sequences because the longer the motion the more errors accumulate. Since the two decoders of the present invention have opposite advantages and disadvantages, they complement each other with a synergistic effect when combined.

관절 회전 또는 관절 위치만 사용되는 모션 예측, 인식 및 매니폴드에 대한 이전 연구와 달리, 본 발명의 모델에서는 모션 재구성 손실 항목(term)인 LR의 관절 회전과 위치를 모두 고려한다. 관절 각도 손실은 일관성이 없는 뼈 길이나 사람의 모션 범위로부터의 편차와 같은 오류를 방지하는 장점이 있으며, 따라서 관절 각도 손실로 학습하면 그럴듯한 모션을 생성할 수 있다. 그러나 회전 예측은 각 관절에 동일한 가중치를 부여하여 관절에 대한 오류를 평균화하는 손실과 쌍을 이룰 수 있다. 재구성된 모션에 대한 다른 관절의 다양한 영향에 대한 무지(ignorance)는 중요한 관절에 큰 오류를 발생시키고 생성된 포즈의 품질을 떨어뜨릴 수 있다.Unlike the previous study of the motion prediction, the recognition and the manifold is used only rotating joints or articulated position, the model of the present invention contemplates both the joint rotations and position of the R L motion reconstruction lost item (term). Joint angle loss has the advantage of preventing errors such as inconsistent bone lengths or deviations from the human range of motion, so learning from joint angle loss can produce plausible motion. However, rotation prediction can be paired with a loss of averaging the error over the joint by giving each joint the same weight. Ignorance of the various effects of different joints on the reconstructed motion can lead to large errors in critical joints and degrade the quality of the generated poses.

관절 위치 손실은 3D 포인트에 대한 평균 위치 오류를 최소화하며, 이는 포즈 사이의 지각적 차이를 더 잘 반영한다. 모션 재구성 손실 LR에서 관절 회전과 위치를 모두 결합하기 위해, 관절 회전으로부터 관절 위치를 계산하는 전방 운동학(FK; forward kinematics) 층을 추가할 수 있다. 이를 통해 타겟 모션과 재구성 모션의 관절 위치 사이의 손실을 계산할 수 있다. 전방 운동학 모듈은 관절 회전과 관련하여 출력이 다르기 때문에 네트워크 트레이닝에 유효하다.The joint position loss minimizes the average position error for 3D points, which better reflects the perceptual differences between poses. In order to combine both joint rotation and position in the motion reconstruction loss L R , we can add a forward kinematics (FK) layer that calculates the joint position from the joint rotation. Through this, the loss between the joint position of the target motion and the reconstruction motion can be calculated. The anterior kinematics module is effective for network training because the output is different in relation to joint rotation.

마지막으로, 본 발명의 방법은 모션을 입력 시퀀스의 역순으로 재구성한다. 타겟 시퀀스를 역전시키는 것은 디코더의 첫 번째 출력 프레임이 인코더의 마지막 프레임 입력과 일치하기만 하면 된다는 점에서 학습에 유리하며, 이를 통해 인코더에서 디코더로 히든 공간 벡터의 연속적인 전환이 가능하다.Finally, the method of the present invention reconstructs the motion in the reverse order of the input sequence. Reversing the target sequence is advantageous for learning in that the first output frame of the decoder only needs to match the last frame input of the encoder, which allows for continuous conversion of hidden space vectors from encoder to decoder.

관절 회전 디코더: 관절 회전 디코더의 상세한 일 실시예의 구성은 도 2에 도시된 Decr과 같다. 관절 회전 디코더는 먼저 모션 매니폴드 z ∈ Z의 요소를 파라미터

Figure 112020032892112-pat00016
의 선형 층을 가진 dh 차원의 히든 공간 벡터로 변환한다. 그런 다음 미래의 프레임을 나타내는 히든 공간 벡터에 의해 조건화되며, GRU와 선형 층은 다음 포즈
Figure 112020032892112-pat00017
이 주어지면 i번째 프레임에서 재구성된 포즈
Figure 112020032892112-pat00018
를 출력한다. 이를 수학식으로 나타내면 아래 <수학식 2>와 <수학식 3>으로 나타낼 수 있다.Joint rotation decoder : The configuration of a detailed embodiment of the joint rotation decoder is the same as Dec r shown in FIG. 2 . The joint rotation decoder first parameterizes the elements of the motion manifold z ∈ Z.
Figure 112020032892112-pat00016
Convert it to a hidden space vector of dimension d h with a linear layer of . Then it is conditioned by the hidden space vector representing the future frame, the GRU and the linear layer are the next poses
Figure 112020032892112-pat00017
Given this, the pose reconstructed from the i-th frame
Figure 112020032892112-pat00018
to output This can be expressed as <Equation 2> and <Equation 3> below.

[수학식 2][Equation 2]

Figure 112020032892112-pat00019
Figure 112020032892112-pat00019

[수학식 3][Equation 3]

Figure 112020032892112-pat00020
Figure 112020032892112-pat00020

여기서,

Figure 112020032892112-pat00021
는 GRU의 학습 파라미터를 의미하고
Figure 112020032892112-pat00022
는 선형 층의 파라미터를 의미할 수 있다. here,
Figure 112020032892112-pat00021
is the learning parameter of the GRU,
Figure 112020032892112-pat00022
may mean a parameter of a linear layer.

상술한 바와 같이 관절 회전 디코더는 역전된 입력 모션을 타겟 모션으로 사용하므로 재구성은

Figure 112020032892112-pat00023
의 순서로 수행된다. 인코더와 달리 디코더는 이전 프레임의 재구성된 결과를 입력으로 사용하고, 이는 장기 재구성을 위한 파라미터 튜닝이 없는 노이즈 스케줄링과 동일하며, 과적합(overfitting) 방지에 도움이 된다. 디코더는 모션 매니폴드 벡터의 메모리를 유지하기 위해 z의 추가 입력을 수신한다. 따라서, 디코더에 대한 입력은
Figure 112020032892112-pat00024
이다. GRU에 대한 초기 입력
Figure 112020032892112-pat00025
는 이전 프레임의 재구성 결과가 없기 때문에 0으로 설정된다. 재구성된 관절 회전은 타겟 모션에 대하여 각도 손실을 계산하는 데 사용되며, 아래 <수학식 4>에 나타낸 바와 같이 전방 운동학 층을 통과하는 위치
Figure 112020032892112-pat00026
를 계산하는 데도 사용된다.As described above, since the joint rotation decoder uses the inverted input motion as the target motion, the reconstruction is
Figure 112020032892112-pat00023
are performed in the order of Unlike the encoder, the decoder uses the reconstructed result of the previous frame as input, which is equivalent to noise scheduling without parameter tuning for long-term reconstruction, which helps to prevent overfitting. The decoder receives an additional input of z to maintain a memory of the motion manifold vectors. Thus, the input to the decoder is
Figure 112020032892112-pat00024
am. Initial input to GRU
Figure 112020032892112-pat00025
is set to 0 because there is no reconstruction result of the previous frame. The reconstructed joint rotation is used to calculate the angular loss with respect to the target motion, and the position passing through the anterior kinematics layer as shown in Equation 4 below.
Figure 112020032892112-pat00026
It is also used to calculate

[수학식 4][Equation 4]

Figure 112020032892112-pat00027
Figure 112020032892112-pat00027

마지막 포즈

Figure 112020032892112-pat00028
가 생성된 후에 관절 디코더 매핑 Decr:
Figure 112020032892112-pat00029
이 완료된다.last pose
Figure 112020032892112-pat00028
Mapping the joint decoder after Dec r is created:
Figure 112020032892112-pat00029
This is done.

관절 속도 디코더: 관절 속도 디코더의 상세한 일 실시예의 구성은 도 2에 도시된 Decv과 같으며, 관절 속도 디코더는 관절 회전 디코더와 구조가 유사하다. 주요 차이점은

Figure 112020032892112-pat00030
를 생성하기 위한 잔여 연결이 있다는 것이다. 이를 수학식으로 나타내면 아래 <수학식 5> 내지 <수학식 7>로 나타낼 수 있다.Joint velocity decoder: The configuration of a detailed embodiment of the joint velocity decoder is the same as Dec v shown in FIG. 2 , and the joint velocity decoder has a structure similar to that of the joint rotation decoder. The main difference is
Figure 112020032892112-pat00030
that there are residual connections to create . If this is expressed as an equation, it can be expressed as <Equation 5> to <Equation 7> below.

[수학식 5][Equation 5]

Figure 112020032892112-pat00031
Figure 112020032892112-pat00031

[수학식 6][Equation 6]

Figure 112020032892112-pat00032
Figure 112020032892112-pat00032

[수학식 7][Equation 7]

Figure 112020032892112-pat00033
Figure 112020032892112-pat00033

여기서,

Figure 112020032892112-pat00034
Figure 112020032892112-pat00035
는 GRU의 학습 파라미터와 선형 층의 파라미터를 의미할 수 있다.here,
Figure 112020032892112-pat00034
and
Figure 112020032892112-pat00035
may mean a learning parameter of the GRU and a parameter of a linear layer.

잔여 네트워크는 현재 프레임 포즈

Figure 112020032892112-pat00036
와 이전 프레임 포즈
Figure 112020032892112-pat00037
사이의 차이를 학습한다. 따라서, 모델은 각도 차이나 속도를 예측하고 이를 시간에 따라 통합한다. 마지막 포즈가 생성되면 관절 속도 디코더 매핑 Decv:
Figure 112020032892112-pat00038
가 완료된다.Residual network poses the current frame
Figure 112020032892112-pat00036
with the previous frame pose
Figure 112020032892112-pat00037
learn the difference between Thus, the model predicts angular differences or velocities and integrates them over time. When the last pose is created, the joint velocity decoder mapping Dec v :
Figure 112020032892112-pat00038
is completed

모션motion 매니폴드manifold 트레이닝 training

본 발명은 각각 다른 관점에서 모션 매니폴드에서 발생하는 모션의 품질을 향상시키는 데 기여하는 다수의 손실 함수를 모델링한다. 재구성 손실을 줄이기 위해 본 발명은 두 가지 유형의 손실 함수 즉, 인코더와 디코더를 거쳐 모션을 재구성한 모션 재구성 손실 LR 및 디코더와 인코더를 거쳐 잠재 벡터를 재구성할 수 있도록 도와주는 매니폴드 재구성 손실 LM을 사용할 수 있다. 또한, 본 발명은 PZ와 인코더가 유도하는 분포 EZ 사이의 불일치를 처벌하는 Wasserstein 손실 LW와, 모션 매니폴드로부터 더 자연스러운 모션을 얻기 위한 적대적 손실 LG를 포함한다. 도 3은 본 발명의 손실 함수에 대한 개요를 보여주기 위한 일 예시도를 나타낸 것으로, 각 손실 항목은 검은색 화살표로 표시된 네트워크 파이프라인에서 처리된 데이터에서 평가될 수 있으며, 빨간색 화살표는 개별 손실 항목에 사용된 데이터를 나타낸다.The present invention models a number of loss functions, each contributing to improving the quality of motion occurring in a motion manifold from different perspectives. In order to reduce the reconstruction loss, the present invention provides two types of loss functions, namely, a motion reconstruction loss L R that reconstructs motion through an encoder and a decoder, and a manifold reconstruction loss L that helps reconstruct a latent vector through a decoder and an encoder. M can be used. The present invention also includes a Wasserstein loss L W that punishes the discrepancy between P Z and the distribution E Z induced by the encoder, and an adversarial loss L G to obtain a more natural motion from the motion manifold. Figure 3 shows an exemplary diagram to show an overview of the loss function of the present invention, where each loss item can be evaluated on data processed in the network pipeline indicated by the black arrow, and the red arrow is the individual loss item data used for

모션 재구성 손실: 모션 재구성 손실이 모션과 재구성된 모션의 차이를 처벌하며, 재구성된 모션은 모션을 인코딩한 다음 디코딩하여 획득된다. 구체적으로는 본 발명은 관절 회전 각도 q와 관절 위치 p의 불일치를 측정하며, 모션 재구성 손실은 아래 <수학식 8>과 같이 나타낼 수 있다. Motion reconstruction loss : Motion reconstruction loss punishes the difference between motion and reconstructed motion, and the reconstructed motion is obtained by encoding and then decoding the motion. Specifically, the present invention measures the mismatch between the joint rotation angle q and the joint position p, and the motion reconstruction loss can be expressed as in Equation 8 below.

[수학식 8][Equation 8]

Figure 112020032892112-pat00039
Figure 112020032892112-pat00039

여기서,

Figure 112020032892112-pat00040
는 유클리드 놈(Euclidean norm)을 의미하고, wp는 위치 오류의 가중치를 의미할 수 있다. 예를 들어, 위치 오류의 가중치는 5일 수 있다.here,
Figure 112020032892112-pat00040
may mean a Euclidean norm, and w p may mean a weight of a position error. For example, the weight of the position error may be 5.

매니폴드 재구성 손실: 잠재 분포에서 샘플링된 잠재 코드는 디코딩 및 인코딩 후 재구성해야 한다. 매니폴드 재구성 손실은 모션과 매니폴드 공간 사이의 상호간의 매핑을 권장한다. 이를 위해 기존 연구(LEE H.-Y., TSENG H.-Y., HUANG J.-B., SINGH M., YANG M.-H.: Diverse image-to-image translation via disentangled representations. In Proceedings of the European Conference on Computer Vision(ECCV) (2018), pp. 35-51.)와 유사한 L1손실을 적용할 수 있다. 인코딩된 모션 시퀀스에서 모션 매니폴드 벡터 Z를 뽑아

Figure 112020032892112-pat00041
Figure 112020032892112-pat00042
로 재구성한다. 여기서,
Figure 112020032892112-pat00043
일 수 있다. 매니폴드 재구성 손실은 아래 <수학식 9>와 같이 나타낼 수 있다.Manifold reconstruction loss : Latent codes sampled from a latent distribution must be reconstructed after decoding and encoding. The manifold reconstruction loss encourages a reciprocal mapping between motion and manifold space. For this purpose, existing studies (LEE H.-Y., TSENG H.-Y., HUANG J.-B., SINGH M., YANG M.-H.: Diverse image-to-image translation via disentangled representations. In Proceedings L1 loss similar to that of the European Conference on Computer Vision (ECCV) (2018), pp. 35-51.) can be applied. Pulling a motion manifold vector Z from the encoded motion sequence
Figure 112020032892112-pat00041
and
Figure 112020032892112-pat00042
reconstruct with here,
Figure 112020032892112-pat00043
can be The manifold reconstruction loss can be expressed as in Equation 9 below.

[수학식 9][Equation 9]

Figure 112020032892112-pat00044
Figure 112020032892112-pat00044

Wasserstein 정규화 손실: 본 발명이 효율적으로 분포를 샘플링할 수 있도록 매니폴드 공간을 원하는 특정한 분포를 만들기 위해, 원하는 이전 분포 예컨대, 미리 설정된 사전 분포 PZ로부터 잠재 매니폴드 분포 EZ의 편차를 처벌하는 또는 해결하는 Wasserstein 정규화기(regularizer)를 사용할 수 있다. 이 때, 정규화 손실은 아래 <수학식 10>과 같이 나타낼 수 있다.Wasserstein Normalization Loss: To create a specific distribution desired in the manifold space so that the present invention can efficiently sample the distribution, to punish the deviation of the latent manifold distribution E Z from the desired prior distribution, e.g., a preset prior distribution P Z , or You can use the Wasserstein regularizer to solve it. In this case, the normalization loss can be expressed as in Equation 10 below.

[수학식 10][Equation 10]

Figure 112020032892112-pat00045
Figure 112020032892112-pat00045

여기서,

Figure 112020032892112-pat00046
는 유효성 검사를 통해
Figure 112020032892112-pat00047
가 결정되는 다변수 정규 분포로 모델링될 수 있다.here,
Figure 112020032892112-pat00046
through validation
Figure 112020032892112-pat00047
It can be modeled as a multivariate normal distribution in which is determined.

본 발명은 최대 평균 불일치 MMDk를 사용하여

Figure 112020032892112-pat00048
에서의 역 다중 2차 방정식 커널
Figure 112020032892112-pat00049
로 두 분포 사이의 차이를 측정할 수 있다. 본 발명은
Figure 112020032892112-pat00050
과 모션 매니폴드 공간 Zdim = 64의 차원을 설정할 수 있다.The present invention uses the maximum mean discrepancy MMD k
Figure 112020032892112-pat00048
Inverse Multiple Quadratic Equation Kernel in
Figure 112020032892112-pat00049
can measure the difference between the two distributions. the present invention
Figure 112020032892112-pat00050
and the dimension of motion manifold space Z dim = 64 can be set.

적대적 손실: 마지막으로, 본 발명은 생성된 모션의 분포와 실제 모션 데이터 분포를 일치시키기 위하여, 최소 제곱 생성 적대적 네트워크(LSGAN; least squares generative adversarial network)를 사용할 수 있다. 즉, 본 발명은 최소 제곱 생성 적대적 네트워크를 이용하여 모델에 의해 생성된 모션과 실제 모션을 구분할 수 없도록 할 수 있다. 구별기(discriminator) 손실은 아래 <수학식 11>과 같이 나타낼 수 있으며, 적대적 손실은 아래 <수학식 12>와 같이 나타낼 수 있다.Adversarial loss: Finally, the present invention may use a least squares generative adversarial network (LSGAN) to match the distribution of the generated motion with the distribution of the actual motion data. That is, the present invention can make it impossible to distinguish between the motion generated by the model and the actual motion by using the least squares generation adversarial network. The discriminator loss can be expressed as Equation 11 below, and the hostile loss can be expressed as Equation 12 below.

[수학식 11][Equation 11]

Figure 112020032892112-pat00051
Figure 112020032892112-pat00051

[수학식 12][Equation 12]

Figure 112020032892112-pat00052
Figure 112020032892112-pat00052

여기서, 구별기 D는 재구성된 모션과 실제 모션을 구별할 수 있으며, 이러한 구별기는 본 발명의 디코더가 현실적인 모션을 생성하도록 돕는데 사용될 수 있다.Here, the discriminator D can distinguish the reconstructed motion from the real motion, and this discriminator can be used to help the decoder of the present invention generate realistic motion.

총 손실: 본 발명은 공동으로 인코더, 관절 회전 디코더, 관절 속도 디코더 및 구별기를 트레이닝시켜 재구성 손실, Wasserstein 정규화 손실 및 적대적 손실의 가중치 합계인 전체 목적 함수를 최적화한다. 매니폴드 네트워크의 전체 목적 함수는 아래 <수학식 13>과 같이 나타낼 수 있으며, 구별기 손실은 아래 <수학식 14>와 같이 나타낼 수 있다.Total Loss: The present invention jointly trains an encoder, joint rotation decoder, joint velocity decoder and discriminator to optimize the overall objective function, which is the weighted sum of reconstruction loss, Wasserstein regularization loss and adversarial loss. The overall objective function of the manifold network can be expressed as Equation 13 below, and the discriminator loss can be expressed as Equation 14 below.

[수학식 13][Equation 13]

Figure 112020032892112-pat00053
Figure 112020032892112-pat00053

[수학식 14][Equation 14]

Figure 112020032892112-pat00054
Figure 112020032892112-pat00054

여기서, 가중치 파라미터

Figure 112020032892112-pat00055
M,
Figure 112020032892112-pat00056
W,
Figure 112020032892112-pat00057
G는 유효성 검사를 통해 결정될 수 있으며, 예를 들어, 0.0001, 0.1, 0.001로 결정될 수 있다.Here, the weight parameter
Figure 112020032892112-pat00055
M ,
Figure 112020032892112-pat00056
W ,
Figure 112020032892112-pat00057
G may be determined through validation, for example, may be determined as 0.0001, 0.1, 0.001.

데이터 전처리Data preprocessing

본 발명의 방법은 미리 설정된 데이터 집합 예를 들어, H3.6M 데이터 집합으로 시험할 수 있으며, 데이터 집합의 모든 모션은 동일한 골격 구조를 가지고 있다. 모든 포즈는 루트의 위치와 방향, 그리고 기하급수 좌표로 표현된 관절 회전과 함께 전송된다. 트레이닝을 위해 150프레임의 모션 클립이 입력 모션 시퀀스에서 무작위로 선택되며 모션 매니폴드를 학습하는 데 사용된다. 더 나은 성능을 위해 횡단면의 루트 위치가 제거되고 다른 데이터가 정규화될 수 있다. The method of the present invention can be tested with a preset data set, for example, the H3.6M data set, and all motions of the data set have the same skeletal structure. All poses are transmitted along with the position and orientation of the root and joint rotation expressed in exponential coordinates. For training, 150 frames of motion clips are randomly selected from the input motion sequence and used to train the motion manifold. For better performance, the root position of the cross section can be removed and other data can be normalized.

H3.6M: 데이터 집합 H3.6M은 7명이 피실험자에 의해 수행되는 걷기, 흡연, 토론, 사진 찍기, 전화하기 등과 같은 15가지 활동을 포함한다. 본 발명은 중복 관절을 제거하여 원본 데이터의 32개의 관절을 17개의 관절로 줄이고, 모든 데이터를 25Hz의 프레임률을 가지도록 구성할 수 있다. 따라서, 본 발명의 모델에 적용되는 150프레임 모션은 6초이다. 여기서, 어느 한 피실험자의 활동은 시험 데이터로 사용될 수 있고, 나머지 피실험자의 활동은 트레이닝 데이터로 사용될 수 있다.H3.6M: Data set H3.6M includes 15 activities, such as walking, smoking, discussing, taking pictures, making phone calls, etc. performed by 7 subjects. In the present invention, by removing duplicate joints, 32 joints of the original data are reduced to 17 joints, and all data can be configured to have a frame rate of 25 Hz. Therefore, 150 frames of motion applied to the model of the present invention is 6 seconds. Here, the activity of any one subject may be used as test data, and the activity of the other subjects may be used as training data.

상술한 과정을 통해 본 발명에서 모션 매니폴드가 구성되면, 모션 매니폴드에 모션 입력 데이터가 입력되고, 입력된 모션 입력 데이터에 대응하는 타겟 모션이 생성된다.When the motion manifold is configured in the present invention through the above-described process, motion input data is input to the motion manifold, and a target motion corresponding to the input motion input data is generated.

일 예로, 도 4에 도시된 바와 같이 모션 매니폴드의 입력으로 두 가지의 모션 입력 데이터인 포즈 잡고 걸어가는 모션 입력 데이터와 걸어가는 모션 입력 데이터가 입력되면, 모션 매니폴드는 두 모션 입력 데이터의 차이에 해당하는 포즈잡고 서 있는 모션을 타겟 모션으로 생성하여 제공할 수 있다. 또한, 모션 매니폴드의 입력으로 두 가지의 모션 입력 데이터인 앉아 있는 모션 입력 데이터와 포즈잡고 서 있는 모션 입력 데이터가 입력되면, 모션 매니폴드는 두 모션 입력 데이터를 결합하여 포즈잡고 앉아 있는 모션을 타겟 모션으로 생성하여 제공할 수 있다.For example, as shown in FIG. 4 , when two types of motion input data, motion input data for holding and walking and motion input data for walking, are input as inputs of the motion manifold, the motion manifold determines the difference between the two motion input data. It is possible to generate and provide a motion of standing and holding a pose corresponding to , as a target motion. In addition, when two types of motion input data, sitting motion input data and standing motion input data, are input as input to the motion manifold, the motion manifold combines the two motion input data to target the sitting motion while holding a pose. It can be created and provided with motion.

다른 일 예로, 도 5에 도시된 바와 같이 모션 매니폴드의 입력으로 두 가지의 모션 입력 데이터인 앉아서 담배피는 모션 입력 데이터와 앉아 있는 모션 입력 데이터가 입력되면, 모션 매니폴드는 두 모션 입력 데이터의 차이에 해당하는 서서 담배피는 모션을 타겟 모션으로 생성하여 제공할 수 있다. 또한, 모션 매니폴드의 입력으로 두 가지의 모션 입력 데이터인 걸어가는 모션 입력 데이터와 서서 담배피는 모션 입력 데이터가 입력되면, 모션 매니폴드는 두 모션 입력 데이터를 결합하여 걸어가면서 담배피는 모션을 타겟 모션으로 생성하여 제공할 수 있다.As another example, as shown in FIG. 5 , when two types of motion input data, that is, sitting and smoking motion input data and sitting motion input data, are input as input to the motion manifold, the motion manifold determines the difference between the two motion input data. It is possible to generate and provide a motion corresponding to a standing cigarette as a target motion. In addition, when two types of motion input data, walking motion input data and standing smoking motion input data, are input as input to the motion manifold, the motion manifold combines the two motion input data to target the motion of smoking while walking. can be created and provided.

나아가, 본 발명의 모션 매니폴드는 노이즈가 포함된 모션 입력 데이터가 입력되면, 모션 입력 데이터에 포함된 노이즈를 제거한 모션을 타겟 모션을 생성하여 제공할 수도 있으며, 모션 입력 데이터가 수신되지 않고, 랜덤 모션을 생성하는 입력 정보가 수신되는 경우 랜덤하게 타겟 모션을 생성하여 제공할 수도 있다.Furthermore, the motion manifold of the present invention may generate and provide a target motion by removing noise included in the motion input data when motion input data including noise is input, and the motion input data is not received and random When input information for generating motion is received, a target motion may be randomly generated and provided.

더 나아가, 본 발명은 방법은 도 2에서 설명한 GRU와 선형 층을 포함하는 뉴럴 네트워크로 한정하지 않으며, 인코더와 각각의 디코더를 구성하는 뉴럴 네트워크는 본 발명의 방법을 수행할 수 있는 모든 종류의 뉴럴 네트워크 구조를 사용할 수 있다.Furthermore, the method of the present invention is not limited to the neural network including the GRU and the linear layer described in FIG. 2, and the neural network constituting the encoder and each decoder can perform all types of neural networks capable of performing the method of the present invention. A network structure can be used.

이와 같이, 본 발명의 실시예들에 따른 방법은 순차적 네트워크를 이용하여 모션 매니폴드를 구성하고, 모션 매니폴드를 통해 다양한 사람의 모션들을 생성할 수 있다.As such, the method according to embodiments of the present invention may configure a motion manifold using a sequential network, and may generate motions of various people through the motion manifold.

또한, 본 발명의 실시예들에 따른 방법은 순차적 딥 러닝 네트워크를 통해 제한적인 모션 데이터를 학습하여 모션 매니폴드를 구축하기 때문에 이러한 모션 매니폴드를 이용하여 데이터의 노이즈 제거와 보간(interpolation)을 통한 새로운 모션 재생성, 모션 인식 및 범주 분류 등 다양한 어플리케이션에 적용할 수 있다. 또한, 본 발명에서의 모션 매니폴드 또는 모션 축소 공간은 역동적이고 다양한 새로운 모션을 재생성 하기 때문에 컴퓨터 그래픽스 및 애니메이션 분야에 접목할 경우 상당한 비용 및 시간을 절감할 수 있다.In addition, since the method according to the embodiments of the present invention builds a motion manifold by learning limited motion data through a sequential deep learning network, noise removal and interpolation of data using such a motion manifold It can be applied to various applications such as new motion regeneration, motion recognition and categorization. In addition, since the motion manifold or motion reduction space in the present invention regenerates dynamic and various new motions, considerable cost and time can be saved when applied to computer graphics and animation fields.

또한, 본 발명에서 모션 매니폴드인 사람 동작 축소공간을 구축하는 기법은 컴퓨터 그래픽스나 애니메이션 분야에 필수적이다. 전문적인 애니메이터도 새로운 캐릭터의 모션을 만들어내기 까지는 상당한 시간과 비용이 필요하게 된다. 또한 모션 캡처를 이용한 모션 데이터 생성도 공간적 어려움과 장비의 어려움을 갖는다. 이에 반해 머신 러닝을 기반으로 한 데이터 중심의 모션 합성 및 재생성 접근법은 시간과 비용을 비약적으로 절감시킨다. 본 발명은 딥 러닝을 기반으로 한정된 모션 데이터를 통해 새로운 모션 데이터들을 생성해 낼 수 있다.In addition, in the present invention, a technique for constructing a human motion reduction space, which is a motion manifold, is essential in the field of computer graphics or animation. Even a professional animator needs considerable time and money to create a new character's motion. Also, motion data generation using motion capture has spatial difficulties and equipment difficulties. In contrast, data-driven motion synthesis and regeneration approaches based on machine learning dramatically reduce time and cost. The present invention can generate new motion data through limited motion data based on deep learning.

사람의 모션을 인식하고 범주를 분류하는 것은 컴퓨터 비전이나 자율주행 기법에 필수인 부분이다. 그로 인해 사람의 행동을 분석하거나 다음 행동을 예측할 수 있다. 본 발명은 인식된 사람의 모션을 축소된 모션 공간 안에 투영시킨 후, 거의 실시간으로 범주 분류를 가능케 한다. 또한 축소된 공간 안에서 사람의 모션을 좀 더 수월하게 분석할 수 있게 한다.Recognizing and categorizing human motion is an essential part of computer vision or autonomous driving techniques. This makes it possible to analyze a person's behavior or predict the next one. The present invention enables categorization in near real time after the motion of a recognized person is projected into a reduced motion space. It also makes it easier to analyze human motion in a reduced space.

사람의 모션 데이터는 기본적으로 관절 간의 공간적 정보와 시간에 따라 움직이는 공간적 정보를 모두 포함하기 때문에 상당한 크기를 차지하게 된다. 모션의 시간이 증가하면 그에 따른 데이터 용량은 비약적으로 증가하게 된다. 본 발명은 모션 데이터의 차원을 축소하기 때문에 유의미한 압축 기법으로도 사용될 수 있다.Since human motion data basically includes both spatial information between joints and spatial information that moves according to time, it occupies a significant size. As the motion time increases, the corresponding data capacity increases dramatically. Since the present invention reduces the dimension of motion data, it can also be used as a meaningful compression technique.

즉, 본 발명은 딥 러닝을 기반으로 한정된 모션 데이터를 통해 모션 축소 공간(모션 매니폴드)을 구축하고 이를 이용하여 새로운 모션 데이터들을 생성해 내는 기술로서, 모션 데이터 축소, 모션 인식, 모션 예측, 모션 합성 및 모션 범주 분류 등 컴퓨터 그래픽스 및 애니메이션 그리고 비전 분야에 주요한 핵심 기술 중 하나로 사용할 수 있다. That is, the present invention is a technology for constructing a motion reduction space (motion manifold) through limited motion data based on deep learning and using it to generate new motion data. Motion data reduction, motion recognition, motion prediction, motion It can be used as one of the key core technologies in computer graphics and animation and vision fields such as compositing and motion categorization.

도 6은 본 발명의 일 실시예에 따른 사람 모션 생성 장치에 대한 개념적인 구성을 나타낸 것으로, 상기 도 1 내지 도 5의 방법을 수행하는 장치에 대한 개념적인 블록도를 나타낸 것이다.6 is a conceptual block diagram of an apparatus for performing the method of FIGS. 1 to 5 showing a conceptual configuration of a human motion generating apparatus according to an embodiment of the present invention.

도 6을 참조하면, 본 발명의 실시예에 따른 사람 모션 생성 장치(600)는 구성부(610)와 생성부(620)를 포함한다.Referring to FIG. 6 , an apparatus 600 for generating a human motion according to an embodiment of the present invention includes a configuration unit 610 and a generation unit 620 .

구성부(610)는 순차적 네트워크를 이용하여 모션 매니폴드를 구성한다.The configuration unit 610 configures a motion manifold using a sequential network.

여기서, 구성부(610)는 한 개의 인코더와 두 개의 디코더들을 포함하는 순차적 네트워크를 이용하여 모션 매니폴드를 구성할 수 있으며, 모션 매니폴드의 분포가 미리 설정된 사전 분포에 일치되도록 순차적 네트워크의 학습 모델을 학습시킴으로써, 학습 모델 기반의 모션 매니폴드를 구성할 수 있다.Here, the configuration unit 610 may configure the motion manifold using a sequential network including one encoder and two decoders, and a learning model of the sequential network so that the distribution of the motion manifold matches the preset distribution. By learning , it is possible to construct a motion manifold based on a learning model.

나아가, 구성부(610)는 순차적 네트워크의 학습 모델을 학습하는데 있어서, 전방 운동학(forward kinematics) 기법을 이용하여 관절의 위치를 계산하고, 계산된 관절의 위치를 추가로 반영하여 학습 모델을 학습시킴으로써, 학습 모델 기반의 모션 매니폴드를 구성할 수도 있다. 물론, 순차적 네트워크의 학습 모델은 미리 설정된 적어도 하나 이상의 손실 함수에 기초하여 미리 설정된 트레이닝 데이터를 통해 학습될 수 있다.Furthermore, in learning the learning model of the sequential network, the configuration unit 610 calculates the joint position using a forward kinematics technique, and further reflects the calculated joint position to learn the learning model. , it is also possible to configure a motion manifold based on a learning model. Of course, the learning model of the sequential network may be learned through preset training data based on at least one or more preset loss functions.

생성부(620)는 모션 매니폴드를 이용하여 모션 입력 데이터에 대응하는 타겟 모션을 생성한다.The generator 620 generates a target motion corresponding to the motion input data by using the motion manifold.

이 때, 생성부(620)는 모션 매니폴드를 구성하는 두 개의 디코더들 중 어느 하나의 디코더에서 타겟 모션에 대한 관절 회전 각도 정보를 출력하고, 다른 하나의 디코더에서 타겟 모션에 대한 관절 회전 속도 정보를 출력함으로써, 관절 회전 각도 정보와 관절 회전 속도 정보에 기초하여 모션 입력 데이터에 대응한은 타겟 모션을 생성할 수 있다.At this time, the generator 620 outputs joint rotation angle information for the target motion from any one of the two decoders constituting the motion manifold, and joint rotation speed information for the target motion from the other decoder. By outputting , a target motion corresponding to the motion input data may be generated based on the joint rotation angle information and the joint rotation speed information.

비록, 도 6의 장치에서 그 설명이 생략되었더라도, 도 6을 구성하는 각 구성 수단은 도 1 내지 도 5에서 설명한 모든 내용을 포함할 수 있으며, 이는 이 기술 분야에 종사하는 당업자에게 있어서 자명하다.Although the description of the device of FIG. 6 is omitted, each component constituting FIG. 6 may include all the contents described with reference to FIGS. 1 to 5 , which will be apparent to those skilled in the art.

이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템, 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The system or apparatus described above may be implemented as a hardware component, a software component, and/or a combination of the hardware component and the software component. For example, the systems, devices, and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA). ), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

실시예들에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiments may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and carry out program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited embodiments and drawings, various modifications and variations are possible from the above description by those skilled in the art. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (12)

순차적 네트워크를 이용하여 모션 매니폴드를 구성하는 단계; 및
상기 구성된 모션 매니폴드를 이용하여 모션 입력 데이터에 대응하는 타겟 모션을 생성하는 단계
를 포함하고,
상기 구성하는 단계는
한 개의 인코더와 두 개의 디코더들을 포함하는 순차적 네트워크를 이용하여 상기 모션 매니폴드를 구성하고,
상기 생성하는 단계는
상기 두 개의 디코더들 중 어느 하나의 디코더에서 상기 타겟 모션에 대한 관절 회전 각도 정보를 출력하고, 다른 하나의 디코더에서 상기 타겟 모션에 대한 관절 회전 속도 정보를 출력하며, 상기 관절 회전 각도 정보와 상기 관절 회전 속도 정보에 기초하여 상기 타겟 모션을 생성하는 것을 특징으로 하는 사람 모션 생성 방법.
constructing a motion manifold using a sequential network; and
generating a target motion corresponding to motion input data using the configured motion manifold
including,
The configuring step is
Construct the motion manifold using a sequential network including one encoder and two decoders,
The generating step is
One decoder of the two decoders outputs joint rotation angle information for the target motion, and the other decoder outputs joint rotation speed information for the target motion, the joint rotation angle information and the joint Human motion generating method, characterized in that for generating the target motion based on the rotation speed information.
삭제delete 삭제delete 제1항에 있어서,
상기 구성하는 단계는
상기 모션 매니폴드의 분포가 미리 설정된 사전 분포에 일치되도록 상기 순차적 네트워크의 학습 모델을 학습시킴으로써, 상기 학습 모델 기반의 모션 매니폴드를 구성하는 것을 특징으로 하는 사람 모션 생성 방법.
According to claim 1,
The configuring step is
A method for generating human motion, characterized in that by learning a learning model of the sequential network so that the distribution of the motion manifold matches a preset distribution, a motion manifold based on the learning model is configured.
제1항에 있어서,
상기 구성하는 단계는
상기 순차적 네트워크의 학습 모델을 학습하는데 있어서, 전방 운동학(forward kinematics) 기법을 이용하여 관절의 위치를 계산하고, 상기 계산된 관절의 위치를 추가로 반영하여 상기 학습 모델을 학습시킴으로써, 상기 학습 모델 기반의 모션 매니폴드를 구성하는 것을 특징으로 하는 사람 모션 생성 방법.
According to claim 1,
The configuring step is
In learning the learning model of the sequential network, by calculating the position of the joint using a forward kinematics technique, and learning the learning model by additionally reflecting the calculated position of the joint, the learning model is based A method for generating human motion, comprising configuring a motion manifold of
삭제delete 삭제delete 순차적 네트워크를 이용하여 모션 매니폴드를 구성하는 구성부; 및
상기 구성된 모션 매니폴드를 이용하여 모션 입력 데이터에 대응하는 타겟 모션을 생성하는 생성부
를 포함하고,
상기 구성부는
한 개의 인코더와 두 개의 디코더들을 포함하는 순차적 네트워크를 이용하여 상기 모션 매니폴드를 구성하고,
상기 생성부는
상기 두 개의 디코더들 중 어느 하나의 디코더에서 상기 타겟 모션에 대한 관절 회전 각도 정보를 출력하고, 다른 하나의 디코더에서 상기 타겟 모션에 대한 관절 회전 속도 정보를 출력하며, 상기 관절 회전 각도 정보와 상기 관절 회전 속도 정보에 기초하여 상기 타겟 모션을 생성하는 것을 특징으로 하는 사람 모션 생성 장치.
a configuration unit for configuring a motion manifold using a sequential network; and
A generator for generating a target motion corresponding to the motion input data using the configured motion manifold
including,
the component part
Construct the motion manifold using a sequential network including one encoder and two decoders,
the generating unit
One decoder of the two decoders outputs joint rotation angle information for the target motion, and the other decoder outputs joint rotation speed information for the target motion, the joint rotation angle information and the joint Human motion generating apparatus, characterized in that for generating the target motion based on the rotation speed information.
삭제delete 삭제delete 제8항에 있어서,
상기 구성부는
상기 모션 매니폴드의 분포가 미리 설정된 사전 분포에 일치되도록 상기 순차적 네트워크의 학습 모델을 학습시킴으로써, 상기 학습 모델 기반의 모션 매니폴드를 구성하는 것을 특징으로 하는 사람 모션 생성 장치.
9. The method of claim 8,
the component part
The human motion generating apparatus, characterized in that by learning the learning model of the sequential network so that the distribution of the motion manifold matches a preset distribution, a motion manifold based on the learning model is configured.
제8항에 있어서,
상기 구성부는
상기 순차적 네트워크의 학습 모델을 학습하는데 있어서, 전방 운동학(forward kinematics) 기법을 이용하여 관절의 위치를 계산하고, 상기 계산된 관절의 위치를 추가로 반영하여 상기 학습 모델을 학습시킴으로써, 상기 학습 모델 기반의 모션 매니폴드를 구성하는 것을 특징으로 하는 사람 모션 생성 장치.
9. The method of claim 8,
the component part
In learning the learning model of the sequential network, by calculating the position of the joint using a forward kinematics technique, and learning the learning model by additionally reflecting the calculated position of the joint, the learning model is based Human motion generating device, characterized in that constituting the motion manifold of.
KR1020200038149A 2020-03-30 2020-03-30 Method for generating human motion using sequential networks and apparatus thereof KR102310757B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200038149A KR102310757B1 (en) 2020-03-30 2020-03-30 Method for generating human motion using sequential networks and apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200038149A KR102310757B1 (en) 2020-03-30 2020-03-30 Method for generating human motion using sequential networks and apparatus thereof

Publications (1)

Publication Number Publication Date
KR102310757B1 true KR102310757B1 (en) 2021-10-08

Family

ID=78115963

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200038149A KR102310757B1 (en) 2020-03-30 2020-03-30 Method for generating human motion using sequential networks and apparatus thereof

Country Status (1)

Country Link
KR (1) KR102310757B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102621261B1 (en) * 2022-12-12 2024-01-05 한국전자기술연구원 Human motion generation method and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030007841A (en) * 2001-04-03 2003-01-23 소니 가부시끼 가이샤 Legged mobile robot and its motion teaching method, and storage medium
US20180096259A1 (en) * 2016-09-30 2018-04-05 Disney Enterprises, Inc. Deep-learning motion priors for full-body performance capture in real-time
KR20190061538A (en) * 2017-11-28 2019-06-05 영남대학교 산학협력단 Method and apparatus of recognizing motion pattern base on combination of multi-model
KR20190138441A (en) * 2018-06-05 2019-12-13 한국전력공사 Apparatus and method for detecting ptical diagnostic image

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030007841A (en) * 2001-04-03 2003-01-23 소니 가부시끼 가이샤 Legged mobile robot and its motion teaching method, and storage medium
US20180096259A1 (en) * 2016-09-30 2018-04-05 Disney Enterprises, Inc. Deep-learning motion priors for full-body performance capture in real-time
KR20190061538A (en) * 2017-11-28 2019-06-05 영남대학교 산학협력단 Method and apparatus of recognizing motion pattern base on combination of multi-model
KR20190138441A (en) * 2018-06-05 2019-12-13 한국전력공사 Apparatus and method for detecting ptical diagnostic image

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
He Wang 등, Spatio-temporal Manifold Learning for Human Motion via Long-horizon Modeling, arXiv:1908.07214v1.(2019.08.20.)* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102621261B1 (en) * 2022-12-12 2024-01-05 한국전자기술연구원 Human motion generation method and system

Similar Documents

Publication Publication Date Title
Luo et al. 3d human motion estimation via motion compression and refinement
Petrovich et al. TEMOS: Generating diverse human motions from textual descriptions
Holden et al. Learning motion manifolds with convolutional autoencoders
Mourot et al. A survey on deep learning for skeleton‐based human animation
Taylor et al. Modeling human motion using binary latent variables
Taylor et al. Two Distributed-State Models For Generating High-Dimensional Time Series.
Taylor et al. Factored conditional restricted Boltzmann machines for modeling motion style
Li et al. Ganimator: Neural motion synthesis from a single sequence
Po et al. State of the art on diffusion models for visual computing
US10964084B2 (en) Generating realistic animations for digital animation characters utilizing a generative adversarial network and a hip motion prediction network
Aristidou et al. Self‐similarity analysis for motion capture cleaning
Ghorbani et al. Probabilistic character motion synthesis using a hierarchical deep latent variable model
He et al. Nemf: Neural motion fields for kinematic animation
Shen et al. The imaginative generative adversarial network: Automatic data augmentation for dynamic skeleton-based hand gesture and human action recognition
Du et al. Stylistic locomotion modeling and synthesis using variational generative models
CN114339409A (en) Video processing method, video processing device, computer equipment and storage medium
CN114330736A (en) Latent variable generative model with noise contrast prior
Yin et al. Graph-based normalizing flow for human motion generation and reconstruction
US20230154089A1 (en) Synthesizing sequences of 3d geometries for movement-based performance
KR102310757B1 (en) Method for generating human motion using sequential networks and apparatus thereof
Jourabloo et al. Robust egocentric photo-realistic facial expression transfer for virtual reality
Lu et al. The DeepMotion entry to the GENEA Challenge 2022
Jang et al. Constructing human motion manifold with sequential networks
Chopin et al. 3d skeleton-based human motion prediction with manifold-aware gan
Chandran et al. Shape Transformers: Topology‐Independent 3D Shape Models Using Transformers

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant