KR102172362B1 - Motion capture apparatus using movement of human centre of gravity and method thereof - Google Patents

Motion capture apparatus using movement of human centre of gravity and method thereof Download PDF

Info

Publication number
KR102172362B1
KR102172362B1 KR1020190140864A KR20190140864A KR102172362B1 KR 102172362 B1 KR102172362 B1 KR 102172362B1 KR 1020190140864 A KR1020190140864 A KR 1020190140864A KR 20190140864 A KR20190140864 A KR 20190140864A KR 102172362 B1 KR102172362 B1 KR 102172362B1
Authority
KR
South Korea
Prior art keywords
motion
gravity
center
human body
jump
Prior art date
Application number
KR1020190140864A
Other languages
Korean (ko)
Other versions
KR20200069218A (en
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 PCT/KR2019/016197 priority Critical patent/WO2020116836A1/en
Publication of KR20200069218A publication Critical patent/KR20200069218A/en
Application granted granted Critical
Publication of KR102172362B1 publication Critical patent/KR102172362B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors

Abstract

본 발명의 실시예에 따른 모션 캡쳐 장치는 측정 대상자의 신체 각 부위에 부착된 모션 측정 센서에 의해 측정된 모션 측정 데이터를 수신하는 수신부, 상기 모션 측정 데이터에 기초하여 상기 측정 대상자에 대한 인체 모션을 프레임 별로 구성하고, 상기 각 프레임별로 상기 인체 모션의 무게 중심을 산출하는 무게 중심 산출부, 상기 모션 측정 데이터에 포함된 가속도 신호의 크기에 기초하여 점프 모션이 발생하였는지 여부를 판단하는 점프 판단부, 그리고 상기 점프 모션이 발생한 것으로 판단되면, 상기 무게 중심에 기초하여 상기 인체 모션의 점프 경로를 결정하고, 상기 결정된 점프 경로를 이용하여 가상 캐릭터의 모션을 구현하는 모션 구현부를 포함한다. A motion capture device according to an embodiment of the present invention includes a receiving unit for receiving motion measurement data measured by a motion measurement sensor attached to each body part of a measurement subject, and a human body motion for the measurement subject based on the motion measurement data. A center of gravity calculation unit configured for each frame and calculating the center of gravity of the human body motion for each frame, a jump determining unit determining whether a jump motion has occurred based on the magnitude of an acceleration signal included in the motion measurement data, And, when it is determined that the jump motion has occurred, a motion implementation unit that determines a jump path of the human body motion based on the center of gravity, and implements a motion of a virtual character using the determined jump path.

Description

인체 무게 중심의 이동을 이용한 모션 캡쳐 장치 및 그 방법{MOTION CAPTURE APPARATUS USING MOVEMENT OF HUMAN CENTRE OF GRAVITY AND METHOD THEREOF}Motion capture device and method using movement of the center of gravity of the human body {MOTION CAPTURE APPARATUS USING MOVEMENT OF HUMAN CENTER OF GRAVITY AND METHOD THEREOF}

실시 예는 모션 캡쳐 장치 및 그 방법에 관한 것이다.The embodiment relates to a motion capture device and a method thereof.

모션 캡쳐(Motion Cature)란 신체에 센서를 부착시키거나, 적외선 카메라 등을 이용하는 방법으로 인체의 움직임을 파악하여 디지털 형태로 기록하는 작업을 말한다. 이러한 모션 캡쳐를 통해 얻어지는 모션 캡쳐 데이터는 디지털 콘텐츠로서, 애니메이션이나 영화 게임, 동작분석, 재활 등 다양하게 활용된다.Motion Cature refers to the work of grasping the movement of the human body by attaching a sensor to the body or using an infrared camera and recording it in digital form. Motion capture data obtained through such motion capture is digital content and is used in various ways such as animation, movie game, motion analysis, and rehabilitation.

모션 캡쳐 시스템은 데이터를 추출하는 방식에 따라 광학식, 기계식, 센서식으로 구분될 수 있다. 광학식은 대상의 움직임을 측정하기 위해 소정의 부위에 마커를 부착한 후 다수의 카메라를 통해 촬영함으로써 위치 데이터를 추출하는 방식이다. 고속으로 촬영이 가능하고 대상의 움직임에 제약이 적다는 장점이 있으나, 장비가 매우 고가이고 마커가 가려지는 경우 데이터가 손실되는 단점이 있다. 기계식은 인체의 각 관절부위의 움직임을 기계장치 부착을 통해 캡처하는 방식으로, 제공되는 데이터는 실시간으로 추출된 관절별 회전데이터로서 매우 정확한 데이터를 제공 받을 수 있다. 그러나, 고중량의 기계 장치를 부착함에 따라 대상이 자연스러운 움직임에 제약을 받게 되고 이로 인해 동작데이터의 추출에도 한계가 있다. 센서식은 대상의 각 관절 부위에 자기장을 발생하는 센서를 부착하고 대상의 움직임에 따른 자기장의 변화를 측정하여 위치데이터를 추출하는 방식이다. 케이블로 인한 대상의 동작 제한 등의 문제점을 가지고 있으나, 최근 MEMS(Microelectromechanical systems) 기술과 무선 통신 기술이 발전함에 따라 이러한 문제점들이 해결되고 있다. Motion capture systems can be classified into optical, mechanical, and sensor types depending on how data is extracted. The optical method is a method of extracting position data by attaching a marker to a predetermined area to measure the motion of an object and then photographing it through a plurality of cameras. It has the advantage that it is possible to shoot at high speed and has few restrictions on the movement of the target, but there is a disadvantage that data is lost when the equipment is very expensive and the marker is covered. The mechanical type is a method of capturing the movement of each joint part of the human body through attachment of a mechanical device, and the provided data is rotation data for each joint extracted in real time, and very accurate data can be provided. However, as a heavy mechanical device is attached, the object is restricted in natural motion, and thus, there is a limit to extracting motion data. The sensor type is a method of extracting position data by attaching a sensor that generates a magnetic field to each joint of an object and measuring the change of the magnetic field according to the movement of the object. Although there are problems such as limitation of operation of the object due to cables, these problems have been solved with the recent development of microelectromechanical systems (MEMS) technology and wireless communication technology.

센서식 모션 캡쳐 시스템의 경우 위치 이동 연산에 이용되는 가속도 신호를 측정하기 위하여 가속도 센서를 필수적으로 포함한다. 가속도 신호를 적분하여 대상의 이동 거리 및 이동 속도 등을 산출하게 되는데, 가속도 센서에서 측정되는 바이어스로 인해 적분 시 오차가 누적되며, 이는 측정 오차로 이어지게 된다. In the case of a sensor-type motion capture system, an acceleration sensor is essentially included in order to measure an acceleration signal used for position movement calculation. The acceleration signal is integrated to calculate the moving distance and moving speed of the object, and errors are accumulated during integration due to the bias measured by the acceleration sensor, which leads to measurement errors.

따라서, 이러한 가속도 센서에서 측정되는 바이어스로 인해 발생하는 적분 시 오차를 줄일 수 있는 방안이 요구된다. Therefore, there is a need for a method to reduce an error during integration caused by a bias measured by such an acceleration sensor.

실시 예는 인체 무게 중심의 이동을 이용한 모션 캡쳐 장치 및 그 방법을 제공한다.The embodiment provides a motion capture device and method using movement of the center of gravity of a human body.

실시 예에서 해결하고자 하는 과제는 이에 한정되는 것은 아니며, 아래에서 설명하는 과제의 해결수단이나 실시 형태로부터 파악될 수 있는 목적이나 효과도 포함된다고 할 것이다.The problems to be solved in the embodiments are not limited thereto, and the objectives and effects that can be grasped from the solutions or embodiments of the problems described below are also included.

본 발명의 실시예에 따른 모션 캡쳐 장치는 측정 대상자의 신체 각 부위에 부착된 모션 측정 센서에 의해 측정된 모션 측정 데이터를 수신하는 수신부, 상기 모션 측정 데이터에 기초하여 상기 측정 대상자에 대한 인체 모션을 프레임 별로 구성하고, 상기 각 프레임별로 상기 인체 모션의 무게 중심을 산출하는 무게 중심 산출부, 상기 모션 측정 데이터에 포함된 가속도 신호의 크기에 기초하여 점프 모션이 발생하였는지 여부를 판단하는 점프 판단부, 그리고 상기 점프 모션이 발생한 것으로 판단되면, 상기 무게 중심에 기초하여 상기 인체 모션의 점프 경로를 결정하고, 상기 결정된 점프 경로를 이용하여 가상 캐릭터의 모션을 구현하는 모션 구현부를 포함한다. A motion capture device according to an embodiment of the present invention includes a receiving unit for receiving motion measurement data measured by a motion measurement sensor attached to each body part of a measurement subject, and a human body motion for the measurement subject based on the motion measurement data. A center of gravity calculation unit configured for each frame and calculating the center of gravity of the human body motion for each frame, a jump determining unit determining whether a jump motion has occurred based on the magnitude of an acceleration signal included in the motion measurement data, And, when it is determined that the jump motion has occurred, a motion implementation unit that determines a jump path of the human body motion based on the center of gravity, and implements a motion of a virtual character using the determined jump path.

상기 무게 중심 산출부는, 상기 인체 모션을 기 설정된 분절 영역 별로 구분하고, 상기 분절 영역 별로 무게 중심의 좌표를 산출하고, 상기 분절 영역 별로 산출된 무게 중심의 좌표에 기초하여 상기 인체 모션의 무게 중심의 좌표를 산출할 수 있다. The center of gravity calculation unit divides the motion of the human body by preset segmental area, calculates coordinates of the center of gravity for each segmental area, and calculates the center of gravity of the human body motion based on the coordinates of the center of gravity calculated for each segmental area. You can calculate the coordinates.

상기 무게 중심 산출부는,상기 분절 영역 별로 양 끝단의 좌표 정보를 산출하고, 상기 분절 영역 별로 설정된 제1 파라미터와 상기 좌표 정보를 이용하여 상기 분절 영역 별 무게 중심의 좌표를 산출하며, 상기 분절 영역 별 무게 중심의 좌표와 각 분절 영역별로 설정된 제2 파라미터를 이용하여 상기 인체 모션의 무게 중심의 좌표를 산출할 수 있다. The center of gravity calculation unit calculates coordinate information of both ends for each segment area, calculates coordinates of the center of gravity for each segment area using a first parameter set for each segment area and the coordinate information, The coordinates of the center of gravity of the human body motion may be calculated using the coordinates of the center of gravity and the second parameter set for each segment area.

상기 점프 판단부는, 상기 모션 측정 데이터에 포함된 상기 가속도 신호 중 중력 방향의 가속도 값이 기 설정된 임계치 이상인지 여부를 판단하고, 상기 중력 방향의 가속도 값이 기 설정된 임계치 이상이면, 상기 중력 방향의 가속도 값이 양의 값에서 음의 값으로 변하는 시점을 검출하며, 상기 중력 방향의 가속도 값이 양의 값에서 음의 값으로 변하는 시점에 상기 점프 모션이 발생한 것으로 판단할 수 있다. The jump determination unit determines whether an acceleration value in the direction of gravity among the acceleration signals included in the motion measurement data is equal to or greater than a preset threshold value, and if the acceleration value in the direction of gravity is greater than or equal to a preset threshold value, the acceleration in the direction of gravity A point in time when a value changes from a positive value to a negative value may be detected, and it may be determined that the jump motion has occurred when the acceleration value in the gravitational direction changes from a positive value to a negative value.

상기 모션 구현부는, 상기 인체 모션의 허리 위치와 상기 무게 중심 사이의 차이값을 산출하고, 상기 인체 모션의 둔부 위치를 상기 차이값만큼 이동시켜 상기 인체 모션을 보정하고, 상기 무게 중심의 이동 방향에 따라 상기 인체 모션의 이동 궤적을 산출하며, 상기 점프 모션이 발생한 시점부터 상기 가속도 신호를 적분하여 상기 인체 모션의 이동속도 및 이동 거리를 산출하고, 상기 인체 모션의 이동 궤적, 이동속도 및 이동 거리를 상기 보정된 인체 모션에 적용하여 상기 가상 캐릭터의 모션을 구현할 수 있다. The motion implementation unit calculates a difference value between the waist position of the body motion and the center of gravity, corrects the body motion by moving the hip position of the body motion by the difference value, and adjusts the movement direction of the center of gravity. Accordingly, the movement trajectory of the human body motion is calculated, the acceleration signal is integrated from the point where the jump motion occurs to calculate the movement speed and the movement distance of the human body motion, and the movement trajectory, the movement speed, and the movement distance of the human body motion are calculated. The motion of the virtual character may be implemented by applying to the corrected human body motion.

본 발명의 실시예에 따른 모션 캡쳐 방법은 측정 대상자의 신체 각 부위에 부착된 모션 측정 센서에 의해 측정된 모션 측정 데이터를 수신하는 단계, 상기 모션 측정 데이터에 기초하여 상기 측정 대상자에 대한 인체 모션을 프레임 별로 구성하고, 상기 각 프레임별로 상기 인체 모션의 무게 중심을 산출하는 단계, 상기 모션 측정 데이터에 포함된 가속도 신호의 크기에 기초하여 점프 모션이 발생하였는지 여부를 판단하는 단계, 그리고 상기 점프 모션이 발생한 것으로 판단되면, 상기 무게 중심에 기초하여 상기 인체 모션의 점프 경로를 결정하고, 상기 결정된 점프 경로를 이용하여 가상 캐릭터의 모션을 구현하는 단계를 포함한다. A motion capture method according to an embodiment of the present invention includes receiving motion measurement data measured by a motion measurement sensor attached to each part of a body of a measurement subject, and determining a human body motion for the measurement subject based on the motion measurement data. Comprising for each frame, calculating the center of gravity of the human body motion for each frame, determining whether a jump motion has occurred based on the magnitude of the acceleration signal included in the motion measurement data, and the jump motion If it is determined that it has occurred, determining a jump path of the human body motion based on the center of gravity, and implementing a motion of a virtual character using the determined jump path.

상기 인체 모션의 무게 중심을 산출하는 단계는, 상기 인체 모션을 기 설정된 분절 영역 별로 구분하는 단계, 상기 분절 영역 별로 무게 중심의 좌표를 산출하는 단계, 그리고 상기 분절 영역 별로 산출된 무게 중심의 좌표에 기초하여 상기 인체 모션의 무게 중심의 좌표를 산출하는 단계를 포함할 수 있다. The calculating of the center of gravity of the motion of the human body may include dividing the motion of the human body into preset segment regions, calculating coordinates of the center of gravity for each segment region, and the coordinates of the center of gravity calculated for each segment region. It may include calculating the coordinates of the center of gravity of the motion of the human body.

상기 분절 영역 별로 무게 중심의 좌표를 산출하는 단계는, 상기 분절 영역 별로 양 끝단의 좌표 정보를 산출하는 단계, 그리고 상기 분절 영역 별로 설정된 제1 파라미터와 상기 좌표 정보를 이용하여 상기 분절 영역 별 무게 중심의 좌표를 산출하는 단계를 포함하고, 상기 인체 모션의 무게 중심의 좌표를 산출하는 단계는, 상기 분절 영역 별 무게 중심의 좌표와 각 분절 영역별로 설정된 제2 파라미터를 이용하여 상기 인체 모션의 무게 중심의 좌표를 산출하는 단계를 포함할 수 있다. The calculating of the coordinates of the center of gravity for each segment area may include calculating coordinate information of both ends for each segment area, and the center of gravity for each segment area using a first parameter set for each segment area and the coordinate information. Comprising the step of calculating the coordinates of, and calculating the coordinates of the center of gravity of the motion of the human body, the center of gravity of the motion of the human body using the coordinates of the center of gravity for each segment area and a second parameter set for each segment area It may include the step of calculating the coordinates of.

상기 점프 모션이 발생하였는지 여부를 판단하는 단계는, 상기 모션 측정 데이터에 포함된 상기 가속도 신호 중 중력 방향의 가속도 값이 기 설정된 임계치 이상인지 여부를 판단하는 단계, 상기 중력 방향의 가속도 값이 기 설정된 임계치 이상이면, 상기 중력 방향의 가속도 값이 양의 값에서 음의 값으로 변하는 시점을 검출하는 단계, 그리고 상기 중력 방향의 가속도 값이 양의 값에서 음의 값으로 변하는 시점에 상기 점프 모션이 발생한 것으로 판단하는 단계를 포함할 수 있다. The step of determining whether the jump motion has occurred may include determining whether an acceleration value in the direction of gravity among the acceleration signals included in the motion measurement data is equal to or greater than a preset threshold value, wherein the acceleration value in the direction of gravity is preset. If it is more than a threshold, detecting a point in time when the acceleration value in the direction of gravity changes from a positive value to a negative value, and the jump motion occurs at a point in time when the acceleration value in the direction of gravity changes from a positive value to a negative value. It may include determining that it is.

상기 가상 캐릭터의 모션을 구현하는 단계는, 상기 인체 모션의 허리 위치와 상기 무게 중심 사이의 차이값을 산출하는 단계, 상기 인체 모션의 둔부 위치를 상기 차이값만큼 이동시켜 상기 인체 모션을 보정하는 단계, 상기 무게 중심의 이동 방향에 따라 상기 인체 모션의 이동 궤적을 산출하는 단계, 상기 점프 모션이 발생한 시점부터 상기 가속도 신호를 적분하여 상기 인체 모션의 이동속도 및 이동 거리를 산출하는 단계, 그리고 상기 인체 모션의 이동 궤적, 이동속도 및 이동 거리를 상기 보정된 인체 모션에 적용하여 상기 가상 캐릭터의 모션을 구현하는 단계를 포함할 수 있다. The implementing of the motion of the virtual character may include calculating a difference value between the waist position of the human body motion and the center of gravity, and correcting the human body motion by moving the hip position of the human body motion by the difference value. , Calculating a movement trajectory of the human body motion according to the movement direction of the center of gravity, calculating a moving speed and a movement distance of the human body motion by integrating the acceleration signal from the point when the jump motion occurs, and the human body It may include the step of implementing the motion of the virtual character by applying the movement trajectory, the movement speed and the movement distance of the motion to the corrected human body motion.

실시 예에 따르면, 가속도 센서에서 측정되는 바이어스로 인한 적분시 오차를 최소화하여 높은 동작 구현 정확도를 제공할 수 있다. According to an embodiment, an error in integration due to a bias measured by an acceleration sensor can be minimized, thereby providing high accuracy in operation implementation.

본 발명의 다양하면서도 유익한 장점과 효과는 상술한 내용에 한정되지 않으며, 본 발명의 구체적인 실시형태를 설명하는 과정에서 보다 쉽게 이해될 수 있을 것이다.Various and beneficial advantages and effects of the present invention are not limited to the above-described contents, and may be more easily understood in the course of describing specific embodiments of the present invention.

도 1은 본 발명의 실시예에 따른 모션 캡쳐 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 서브 모듈의 배치를 설명하기 위한 도면이다.
도 3은 본 발명의 실시예에 따른 모션 캡쳐 장치의 구성도이다.
도 4는 본 발명의 실시예에 따른 인체 모션 구현을 설명하기 위한 도면이다.
도 5는 본 발명의 실시예에 따른 무게 중심을 설명하기 위한 도면이다.
도 6은 본 발명의 실시예에 따른 분절 별 제1 파라미터를 설명하기 위한 도면이다.
도 7은 본 발명의 실시예에 따른 분절 별 무게 중심의 좌표를 산출하는 과정을 설명하기 위한 도면이다.
도 8은 본 발명의 실시예에 따른 인체 모션의 무게 중심을 산출하는 과정을 설명하기 위한 도면이다.
도 9는 본 발명의 실시예에 따른 점프 판단 과정을 설명하기 위한 도면이다.
도 10 및 도 11은 본 발명의 실시예에 따른 모션 구현 과정을 설명하기 위한 도면이다.
도 12는 본 발명의 실시예에 따른 모션 캡쳐 방법의 순서도이다.
도 13은 도 12의 S1230 단계를 상세하게 나타낸 순서도이다.
도 14는 도 12의 S1230 단계를 상세하게 나타낸 순서도이다.
도 15는 도 12의 S1250 단계를 상세하게 나타낸 순서도이다.
1 is a diagram illustrating a motion capture system according to an embodiment of the present invention.
2 is a view for explaining the arrangement of sub-modules according to an embodiment of the present invention.
3 is a block diagram of a motion capture device according to an embodiment of the present invention.
4 is a diagram for describing a human body motion implementation according to an embodiment of the present invention.
5 is a view for explaining a center of gravity according to an embodiment of the present invention.
6 is a diagram illustrating a first parameter for each segment according to an exemplary embodiment of the present invention.
7 is a diagram illustrating a process of calculating coordinates of a center of gravity for each segment according to an exemplary embodiment of the present invention.
8 is a diagram illustrating a process of calculating a center of gravity of a human body motion according to an embodiment of the present invention.
9 is a view for explaining a jump determination process according to an embodiment of the present invention.
10 and 11 are diagrams for explaining a motion implementation process according to an embodiment of the present invention.
12 is a flowchart of a motion capture method according to an embodiment of the present invention.
13 is a detailed flowchart illustrating step S1230 of FIG. 12.
14 is a detailed flowchart illustrating step S1230 of FIG. 12.
15 is a flow chart showing in detail step S1250 of FIG. 12.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. The present invention is intended to illustrate and describe specific embodiments in the drawings, as various changes may be made and various embodiments may be provided. However, this is not intended to limit the present invention to a specific embodiment, it is to be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present invention.

제2, 제1 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms including ordinal numbers, such as second and first, may be used to describe various elements, but the elements are not limited by the terms. These terms are used only for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, a second component may be referred to as a first component, and similarly, a first component may be referred to as a second component. The term and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. Should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present application, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof, does not preclude in advance.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in this application. Does not.

이하, 첨부된 도면을 참조하여 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings, but the same reference numerals are assigned to the same or corresponding components regardless of the reference numerals, and redundant descriptions thereof will be omitted.

도 1은 본 발명의 실시예에 따른 모션 캡쳐 시스템을 설명하기 위한 도면이다. 1 is a diagram illustrating a motion capture system according to an embodiment of the present invention.

도 1을 참조하면, 모션 캡쳐 시스템은 모션 센서 모듈(100) 및 모션 캡쳐 장치(300)를 포함할 수 있다. Referring to FIG. 1, the motion capture system may include a motion sensor module 100 and a motion capture device 300.

모션 센서 모듈(100)은 측정 대상자의 움직임을 측정하여 모션 측정 데이터를 수집하기 위한 모듈을 의미할 수 있다. 측정 대상자가 다수인 경우, 모션 센서 모듈(100)은 복수일 수 있다. 모션 센서 모듈(100)은 복수의 서브 모듈(110)과 하나의 메인 모듈(120)을 포함할 수 있다. The motion sensor module 100 may refer to a module for collecting motion measurement data by measuring a motion of a measurement subject. When there are multiple measurement targets, the motion sensor module 100 may be multiple. The motion sensor module 100 may include a plurality of sub-modules 110 and one main module 120.

우선, 복수의 서브 모듈(110)은 측정 대상자의 신체 각 부위에 부착되어 측정 대상자의 움직임을 측정하는 모션 측정 센서를 의미할 수 있다. 복수의 서브 모듈(110)은 머리, 팔, 허리, 다리 등 신체 각 부위에 부착될 수 있다. First, the plurality of sub-modules 110 may mean a motion measurement sensor that is attached to each part of the body of the measurement subject and measures the movement of the measurement subject. The plurality of sub-modules 110 may be attached to each body part, such as a head, an arm, a waist, and a leg.

각각의 서브 모듈(110)은 다양한 센서를 구비할 수 있다. 일 실시예에 따르면, 서브 모듈(110)은 3축의 자이로 센서, 3축 가속도 센서, 3축 지자기 센서 중 적어도 하나를 포함할 수 있다. 그리고, 서브 모듈(110)은 각 센서로부터 수신된 신호를 처리하기 위한 신호 처리부와 센서 동작을 위한 전원부, 메인 모듈(120)과 통신하기 위한 통신부를 더 포함할 수 있다. Each sub-module 110 may include various sensors. According to an embodiment, the sub-module 110 may include at least one of a 3-axis gyro sensor, a 3-axis acceleration sensor, and a 3-axis geomagnetic sensor. In addition, the sub-module 110 may further include a signal processing unit for processing a signal received from each sensor, a power unit for sensor operation, and a communication unit for communicating with the main module 120.

다음으로, 메인 모듈(120)은 각 센서로부터 모션 측정 데이터를 수집한다. 모션 측정 데이터는 서브 모듈(110)에 포함된 센서에 따른 신호 정보를 포함할 수 있다. 예를 들어, 서브 모듈(110)이 3축 가속도 센서를 포함하는 경우, 모션 측정 데이터는 3축의 가속도 신호에 대한 정보를 포함할 수 있다. 복수의 서브 모듈(110)로부터 모션 측정 데이터를 수집하기 위하여, 메인 모듈(120)은 복수의 서브 모듈(110)과 1:N 통신이 가능하도록 설계될 수 있다. 메인 모듈(120)은 서브 모듈(110)과 유선으로 통신 연결될 수 있다. Next, the main module 120 collects motion measurement data from each sensor. The motion measurement data may include signal information according to a sensor included in the submodule 110. For example, when the sub-module 110 includes a 3-axis acceleration sensor, motion measurement data may include information on 3-axis acceleration signals. In order to collect motion measurement data from the plurality of sub-modules 110, the main module 120 may be designed to enable 1:N communication with the plurality of sub-modules 110. The main module 120 may be connected to the sub-module 110 by wire.

메인 모듈(120)은 수집된 데이터를 주기적으로 통신 모듈(200)을 통해 모션 캡쳐 장치(300)로 전송한다. 예를 들어, 메인 모듈(120)은 10ms 단위로 수집된 데이터를 모션 캡쳐 장치(300)로 전송할 수 있다. 여기서, 통신 모듈(200)은 WiFi AP(WiFi Acess Point)을 의미할 수 있다. The main module 120 periodically transmits the collected data to the motion capture device 300 through the communication module 200. For example, the main module 120 may transmit data collected in units of 10 ms to the motion capture device 300. Here, the communication module 200 may mean a WiFi Access Point (AP).

모션 캡쳐 장치(300)는 통신 모듈(200)을 통해 수신된 모션 측정 데이터를 이용하여 가상 캐릭터의 움직임을 구현한다. 모션 캡쳐 장치(300)는 데이터를 저장하고 처리하기 위한 프로세서, 램 및 저장 장치 등을 포함할 수 있다. 예를 들어, 모션 캡쳐 장치(300)는 PC(personal computer)나 서버 등으로 구현될 수 있다. 모션 캡쳐 장치(300)에 대해서는 아래에서 도면을 통해 상세하게 살펴보도록 한다. The motion capture device 300 implements the motion of a virtual character using motion measurement data received through the communication module 200. The motion capture device 300 may include a processor, RAM, and a storage device for storing and processing data. For example, the motion capture device 300 may be implemented as a personal computer (PC) or a server. The motion capture device 300 will be described in detail through the drawings below.

도 2는 본 발명의 실시예에 따른 서브 모듈의 배치를 설명하기 위한 도면이다. 2 is a view for explaining the arrangement of sub-modules according to an embodiment of the present invention.

본 발명의 실시예에 따르면, 복수의 서브 모듈(110) 각각은 기 설정된 분절(segment)별로 센서가 배치될 수 있다. 분절은 인체를 커다란 부위별로 구분한 부위를 의미할 수 있다. 예를 들어, 도 2에 도시된 것처럼, 분절은 머리, 몸통, 둔부, 목, 대퇴, 하퇴, 발, 상완, 하완, 손(0 내지 14)으로 구성될 수 있다. 이 경우, 서브 모듈(110)은 적어도 15개로 구성될 수 있으며, 각 분절에 적어도 하나의 서브 모듈(110)이 배치될 수 있다. According to an embodiment of the present invention, a sensor may be disposed in each of the plurality of sub-modules 110 for each preset segment. Segment can mean a part that divides the human body into large parts. For example, as shown in Figure 2, the segment may be composed of a head, a torso, a hip, a neck, a thigh, a lower leg, a foot, an upper arm, a lower arm, and a hand (0 to 14). In this case, the sub-module 110 may be composed of at least 15, and at least one sub-module 110 may be disposed in each segment.

도 3은 본 발명의 실시예에 따른 모션 캡쳐 장치의 구성도이다. 3 is a block diagram of a motion capture device according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 실시예에 따른 모션 캡쳐 장치(300)는 수신부(310), 무게 중심 산출부(320), 점프 판단부(330) 및 모션 구현부(340)를 포함할 수 있다. 3, the motion capture device 300 according to the embodiment of the present invention may include a receiving unit 310, a center of gravity calculation unit 320, a jump determination unit 330, and a motion implementation unit 340. have.

수신부(310)는 측정 대상자의 신체 각 부위에 부착된 모션 측정 센서에 의해 측정된 모션 측정 데이터를 수신한다. The receiver 310 receives motion measurement data measured by a motion measurement sensor attached to each part of the body of the person to be measured.

무게 중심 산출부(320)는 모션 측정 데이터에 기초하여 측정 대상자에 대한 인체 모션을 프레임 별로 구성하고, 각 프레임별로 인체 모션의 무게 중심을 산출한다. Based on the motion measurement data, the center of gravity calculation unit 320 configures the motion of the human body for each frame, and calculates the center of gravity of the motion of the body for each frame.

인체 모션의 무게 중심을 산출하기 위하여, 무게 중심 산출부(320)는 인체 모션을 기 설정된 분절 영역 별로 구분하고, 분절 영역 별로 무게 중심의 좌표를 산출한다. 그리고 무게 중심 산출부(320)는 분절 영역 별로 산출된 무게 중심의 좌표에 기초하여 인체 모션의 무게 중심의 좌표를 산출한다. 구체적으로, 무게 중심 산출부(320)는 분절 영역 별로 양 끝단의 좌표 정보를 산출하고, 분절 영역 별로 설정된 제1 파라미터와 좌표 정보를 이용하여 분절 영역 별로 무게 중심의 좌표를 산출한다. 그리고, 무게 중심 산출부(320)는 분절 영역 별 무게 중심의 좌표와 각 분절 영역별로 설정된 제2 파라미터를 이용하여 인체 모션의 무게 중심의 좌표를 산출한다. In order to calculate the center of gravity of the motion of the human body, the center of gravity calculation unit 320 divides the motion of the human body into each preset segmental area and calculates coordinates of the center of gravity for each segmental area. In addition, the center of gravity calculation unit 320 calculates the coordinates of the center of gravity of the human body motion based on the coordinates of the center of gravity calculated for each segment area. Specifically, the center of gravity calculation unit 320 calculates coordinate information of both ends for each segment area, and calculates the coordinates of the center of gravity for each segment area using the first parameter and coordinate information set for each segment area. In addition, the center of gravity calculation unit 320 calculates the coordinates of the center of gravity of the motion of the human body using the coordinates of the center of gravity for each segment area and the second parameter set for each segment area.

점프 판단부(330)는 모션 측정 데이터에 포함된 가속도 신호의 크기에 기초하여 점프 모션이 발생하였는지 여부를 판단한다. The jump determination unit 330 determines whether a jump motion has occurred based on the magnitude of the acceleration signal included in the motion measurement data.

구체적으로, 점프 판단부(330)는 모션 측정 데이터에 포함된 가속도 신호 중 중력 방향의 가속도 값이 기 설정된 임계치 이상인지 여부를 판단한다. 점프 판단부(330)는 중력 방향의 가속도 값이 기 설정된 임계치 이상이면, 중력 방향의 가속도 값이 양의 값에서 음의 값으로 변하는 시점을 검출하며, 중력 방향의 가속도 값이 양의 값에서 음의 값으로 변하는 시점에 점프 모션이 발생한 것으로 판단한다. Specifically, the jump determination unit 330 determines whether the acceleration value in the direction of gravity among acceleration signals included in the motion measurement data is equal to or greater than a preset threshold. If the acceleration value in the direction of gravity is more than a preset threshold value, the jump determination unit 330 detects a point in time when the acceleration value in the gravitational direction changes from a positive value to a negative value, and the acceleration value in the gravitational direction is negative from a positive value. It is judged that the jump motion has occurred at the point of change to the value of.

모션 구현부(340)는 점프 모션이 발생한 것으로 판단되면, 무게 중심에 기초하여 인체 모션의 점프 경로를 결정하고, 결정된 점프 경로를 이용하여 가상 캐릭터의 모션, 예를 들어 점프 모션을 구현한다. When it is determined that the jump motion has occurred, the motion implementation unit 340 determines a jump path of the human body motion based on the center of gravity, and implements a motion of the virtual character, for example, a jump motion using the determined jump path.

구체적으로, 모션 구현부(340)는 인체 모션의 허리 위치와 무게 중심 사이의 차이값을 산출하고, 인체 모션의 둔부 위치를 산출된 차이값만큼 이동시켜 인체 모션을 보정한다. 그리고, 모션 구현부(340)는 무게 중심의 이동 방향에 따라 인체 모션의 이동 궤적을 산출하며, 점프 모션이 발생한 시점부터 가속도 신호를 적분하여 상기 인체 모션의 이동 속도 및 이동 거리를 산출한다. 모션 구현부(340)는 인체 모션의 이동 궤적, 이동 속도 및 이동 거리에 기초하여 가상 캐릭터의 점프 모션을 구현한다. 모션 구현부(340)는 인체 모션의 이동 궤적, 이동속도 및 이동 거리를 보정된 인체 모션에 적용하여 가상 캐릭터의 모션을 구현한다. Specifically, the motion implementation unit 340 calculates a difference value between the waist position and the center of gravity of the human body motion, and corrects the human body motion by moving the hip position of the human body motion by the calculated difference value. In addition, the motion implementation unit 340 calculates the movement trajectory of the human body motion according to the movement direction of the center of gravity, and calculates the movement speed and the movement distance of the human body motion by integrating the acceleration signal from the point when the jump motion occurs. The motion implementation unit 340 implements a jump motion of a virtual character based on a movement trajectory, a movement speed, and a movement distance of the human body motion. The motion implementation unit 340 implements the motion of the virtual character by applying the movement trajectory, the movement speed, and the movement distance of the human body motion to the corrected human body motion.

도 4는 본 발명의 실시예에 따른 인체 모션 구현을 설명하기 위한 도면이다. 4 is a diagram for describing a human body motion implementation according to an embodiment of the present invention.

무게 중심 산출부(320)는 모션 측정 데이터에 기초하여 측정 대상자에 대한 인체 모션을 프레임 별로 구성할 수 있다. 무게 중심 산출부(320)는 서브 모듈(110)의 자세 정보, 즉 각 서브 모듈(110)의 모션 측정 데이터를 가상의 인체 골격 프레임의 각 부위에 적용하여 인체 모션을 구성할 수 있다. 상세하게는, 무게 중심 산출부(320)는 모션 측정 데이터에 포함된 쿼터니언 값을 회전 행렬로 변환하여 관절의 위치를 계산한 후, 관절의 위치값(좌표값)을 가상의 인체 골격 프레임의 관절부에 적용하여 도 4에 도시된 것과 같은 인체 모션을 구성할 수 있다. The center of gravity calculation unit 320 may configure a human body motion for a measurement target for each frame based on the motion measurement data. The center of gravity calculation unit 320 may configure a human body motion by applying the posture information of the sub-module 110, that is, motion measurement data of each sub-module 110 to each part of the virtual human skeleton frame. In detail, the center of gravity calculation unit 320 converts the quaternion value included in the motion measurement data into a rotation matrix to calculate the position of the joint, and then converts the position value (coordinate value) of the joint into the joint part of the virtual human skeleton frame. By applying to, the human body motion as shown in FIG. 4 can be configured.

도 5는 본 발명의 실시예에 따른 무게 중심을 설명하기 위한 도면이다. 5 is a view for explaining a center of gravity according to an embodiment of the present invention.

무게 중심 산출부(320)는 각 프레임별로 인체 모션의 무게 중심을 산출한다. The center of gravity calculation unit 320 calculates the center of gravity of the motion of the human body for each frame.

무게 중심(Centre of gravity)은 인체의 질량 중심을 의미할 수 있다. 인체의 무게 중심은 신체의 중심에 존재하나, 고정적이진 않다. 도 5에 도시된 것처럼, 사람의 움직임이나 자세에 따라서 무게 중심은 항상 변할 수 있다. The center of gravity may mean the center of mass of the human body. The center of gravity of the human body exists at the center of the body, but it is not fixed. As shown in FIG. 5, the center of gravity may always change according to a person's movement or posture.

이러한 무게 중심은 인체의 각 부위에 분포된 질량의 평균 위치로 산출될 수 있다. 따라서, 인체 모션을 기 설정된 분절 영역 별로 구분하고, 분절 영역 별로 무게 중심을 산출할 수 있다. This center of gravity may be calculated as the average position of masses distributed in each part of the human body. Accordingly, it is possible to divide the motion of the human body for each preset segmental region, and calculate the center of gravity for each segmental region.

도 6은 본 발명의 실시예에 따른 분절 별 제1 파라미터를 설명하기 위한 도면이다. 6 is a diagram illustrating a first parameter for each segment according to an exemplary embodiment of the present invention.

본 발명의 실시예에 따르면, 무게 중심 산출부(320)는 분절 영역 별 무게 중심의 좌표를 산출하는데 있어 분절 별로 설정된 제1 파라미터를 이용할 수 있다. According to an embodiment of the present invention, the center of gravity calculation unit 320 may use the first parameter set for each segment in calculating the coordinates of the center of gravity for each segment area.

분절 별로 설정된 제1 파라미터는 각 분절의 원위에서 근위까지의 거리를 1로 가정 하였을 때, 근위에서 질량 중심까지의 거리를 의미할 수 있다. 여기서, 제1 파라미터는 사람의 신장 및 몸무게에 따라 다르게 설정될 수 있으며, 개인별로 최적화될 수 있다. The first parameter set for each segment may mean a distance from the proximal to the center of mass, assuming that the distance from the distal to the proximal of each segment is 1. Here, the first parameter may be set differently according to the height and weight of a person, and may be optimized for each individual.

도 6 및 아래의 표 1은 제1 파라미터의 예시를 나타낸다. 6 and Table 1 below show examples of the first parameter.

분절segment 제1 파라미터(%)1st parameter (%) 머리head 40.2440.24 몸통body 55.1455.14 몸통 상부Upper torso 70.0170.01 몸통 하부Lower body 38.8538.85 상완Upper arm 57.7257.72 전완forearm 45.7445.74 hand 79.0079.00 대퇴골femur 40.9540.95 정강이shin 44.5944.59

표 1 및 도 6은 제1 파라미터의 일례로서, 제1 파라미터는 상기에서 예시로 제시한 분절 이외에 다른 분절 영역을 더 포함할 수 있다. Tables 1 and 6 are examples of the first parameter, and the first parameter may further include a segment region other than the segment presented as an example above.

도 7은 본 발명의 실시예에 따른 분절 별 무게 중심의 좌표를 산출하는 과정을 설명하기 위한 도면이다. 7 is a diagram illustrating a process of calculating coordinates of a center of gravity for each segment according to an exemplary embodiment of the present invention.

본 발명의 실시예에 따르면, 무게 중심 산출부(320)는 분절 영역 별로 양 끝단의 좌표 정보를 산출한다. 분절 영역별 양 끝단의 좌표 정보는 모션 측정 데이터를 통해 산출될 수 있다. 여기서, 양 끝단이란 분절의 원위 말단과 근위 말단을 의미할 수 있다. 양 끝단의 좌표정보는 원위 말단과 근위 말단의 중심 좌표를 의미할 수 있다. 그러면, 무게 중심 산출부(320)는 분절 별로 설정된 제1 파라미터와 좌표 정보를 이용하여 분절 영역 별 무게 중심의 좌표를 산출한다.According to an embodiment of the present invention, the center of gravity calculation unit 320 calculates coordinate information of both ends for each segment area. Coordinate information of both ends of each segment area may be calculated through motion measurement data. Here, both ends may mean the distal end and the proximal end of the segment. The coordinate information of both ends may mean center coordinates of the distal end and the proximal end. Then, the center of gravity calculation unit 320 calculates the coordinates of the center of gravity for each segment area using the first parameter and coordinate information set for each segment.

도 7을 참조하면, 분절의 무게 중심은 원위 말단의 중심과 근위 말단의 중심을 이은 가상의 선분 상에 위치할 수 있다. 여기서, 상기에서 설명한 제1 파라미터를 고려하면, 근위 말단(Proximal end)의 x축 좌표값(XP)과 분절의 무게 중심의 x축 좌표값(XCM)의 차이값과 원위 말단(Distal end)의 x축 좌표값(XD)과 분절의 무게 중심의 x축 좌표값(XCM)의 차이값의 비율은 [제1 파라미터(%cm):1-제1 파리미터(1-%cm)]가 된다. 그리고, 근위 말단(Proximal end)의 y축 좌표값(YP)과 분절의 무게 중심의 y축 좌표값(YCM)의 차이값과 원위 말단(Distal end)의 y축 좌표값(YD)과 분절의 무게 중심의 y축 좌표값(YCM)의 차이값의 비율은 [제1 파라미터(%cm):1-제1 파리미터(1-%cm)]이 된다.Referring to FIG. 7, the center of gravity of the segment may be located on a virtual line segment connecting the center of the distal end and the center of the proximal end. Here, considering the first parameter described above, the difference between the x-axis coordinate value (X P ) of the proximal end and the x-axis coordinate value (X CM ) of the segment's center of gravity and the distal end The ratio of the difference between the x-axis coordinate value (X D ) of) and the x-axis coordinate value (X CM ) of the segment's center of gravity is [1st parameter (%cm): 1- 1st parameter (1-%cm) ]. And, the difference between the y-axis coordinate value (Y P ) of the proximal end and the y-axis coordinate value (Y CM ) of the segment's center of gravity and the y-axis coordinate value (Y D ) of the distal end The ratio of the difference between the y-axis coordinate value (Y CM ) of the center of gravity of the segment and the segment is [first parameter (%cm):1-first parameter (1-%cm)].

이러한 기하학적 구조를 고려하면, 분절의 무게 중심은 아래의 수학식 1을 통해 산출될 수 있다. Considering this geometry, the center of gravity of the segment can be calculated through Equation 1 below.

Figure 112019113812156-pat00001
Figure 112019113812156-pat00001

여기서, (Xsc,Ysc)는 분절의 무게 중심의 좌표를 의미하고, Q1은 제1 파라미터를 의미하고, XD는 원위 말단의 X축 좌표값을 의미하고, XP는 근위 말단의 X축 좌표값을 의미하고, YD는 원위 말단의 Y축 좌표값을 의미하고, YP는 근위 말단의 Y축 좌표값을 의미한다. Here, (X sc ,Y sc ) means the coordinate of the center of gravity of the segment, Q 1 means the first parameter, X D means the X-axis coordinate value of the distal end, and X P means the coordinate value of the proximal end. It means the X-axis coordinate value, Y D means the Y-axis coordinate value of the distal end, and Y P means the Y-axis coordinate value of the proximal end.

상기의 수학식 1은 2차원 좌표를 기준으로 분절의 무게 중심의 좌표를 나타내고 있으나, 아래의 수학식 3과 같이 3차원 좌표로 확장 가능하다. Equation 1 above represents the coordinates of the center of gravity of the segment based on the 2D coordinates, but can be extended to 3D coordinates as shown in Equation 3 below.

Figure 112019113812156-pat00002
Figure 112019113812156-pat00002

여기서, (X,Y,Z)는 분절의 무게 중심의 3차원 좌표를 의미하고, Q1은 제1 파라미터를 의미하고, XD는 원위 말단의 X축 좌표값을 의미하고, XP는 근위 말단의 X축 좌표값을 의미하고, YD는 원위 말단의 Y축 좌표값을 의미하고, YP는 근위 말단의 Y축 좌표값을 의미하고, ZD는 원위 말단의 Z축 좌표값을 의미하고, ZP는 근위 말단의 Z축 좌표값을 의미한다. Here, (X,Y,Z) means the three-dimensional coordinates of the segment's center of gravity, Q 1 means the first parameter, X D means the X-axis coordinate value of the distal end, and X P means the proximal X-axis coordinate of the distal end, Y D refers to the Y-axis coordinate value of the distal end, Y P refers to the Y-axis coordinate value of the proximal end, and Z D refers to the Z-axis coordinate value of the distal end. And Z P means the Z-axis coordinate value of the proximal end.

도 8은 본 발명의 실시예에 따른 인체 모션의 무게 중심을 산출하는 과정을 설명하기 위한 도면이다. 8 is a diagram illustrating a process of calculating a center of gravity of a human body motion according to an embodiment of the present invention.

본 발명의 실시예에 따른 무게 중심 산출부(320)는 분절 영역 별 무게 중심의 좌표와 각 분절 영역별로 설정된 제2 파라미터를 이용하여 인체 모션의 무게 중심의 좌표를 산출한다. The center of gravity calculation unit 320 according to an embodiment of the present invention calculates the coordinates of the center of gravity of the human body motion by using the coordinates of the center of gravity for each segment area and the second parameter set for each segment area.

인체 모션의 무게 중심의 좌표는 제2 파라미터(Q2)를 이용한 아래의 수학식 3을 통해 산출될 수 있다. The coordinates of the center of gravity of the human body motion may be calculated through Equation 3 below using the second parameter Q 2 .

Figure 112019113812156-pat00003
Figure 112019113812156-pat00003

즉, 인체 모션의 무게 중심은 각 분절의 무게 중심 좌표에 각 분절의 제2 파라미터를 곱한 값을 합산한 값에 각 분절의 제2 파라미터를 합산한 값을 나눈 값으로 산출될 수 있다. That is, the center of gravity of the human body motion may be calculated as a value obtained by summing a value obtained by multiplying the coordinates of the center of gravity of each segment by the second parameter of each segment and a value obtained by adding the second parameter of each segment.

수학식 3을 3차원 좌표계로 확장하면, 아래의 수학식 4와 같이 나타낼 수 있다. When Equation 3 is extended to a 3D coordinate system, it can be expressed as Equation 4 below.

Figure 112019113812156-pat00004
Figure 112019113812156-pat00004

여기서, 제2 파라미터는 신체의 전체 질량에서 분절의 질량이 차지하는 비율을 의미한다. 이를 수학식으로 표현하면 아래의 수학식 5와 같이 나타낼 수 있다. Here, the second parameter means the ratio of the mass of the segment to the total mass of the body. This can be expressed as Equation 5 below.

Figure 112019113812156-pat00005
Figure 112019113812156-pat00005

여기서, Q2는 제2 파라미터를 의미하고, MASSsegment는 분절의 질량을 의미하고, MASStotal은 신체의 전체 질량을 의미한다. 제2 파라미터는 각 분절별로 기 설정된 값이나, 대상자의 몸무게 등을 고려하여 상이하게 설정될 수 있다. Here, Q 2 means the second parameter, MASS segment means the mass of the segment, and MASS total means the total mass of the body. The second parameter may be set differently in consideration of a preset value for each segment or the subject's weight.

상기에서 설명한 것처럼 인체 모션의 무게 중심을 산출하면, 도 8에 도시된 것처럼 인체 모션의 형태에 따른 무게 중심을 산출할 수 있다. When the center of gravity of the human body motion is calculated as described above, the center of gravity according to the shape of the human body motion can be calculated as shown in FIG. 8.

도 9는 본 발명의 실시예에 따른 점프 판단 과정을 설명하기 위한 도면이다. 9 is a view for explaining a jump determination process according to an embodiment of the present invention.

점프 판단부(330)는 가속도 신호를 이용한 판단 과정을 통해 점프 모션이 발생하였는지 여부를 판단할 수 있다. 이때, 가속도 신호는 z축 방향의 신호 값을 이용할 수 있다. The jump determination unit 330 may determine whether a jump motion has occurred through a determination process using an acceleration signal. In this case, the acceleration signal may use a signal value in the z-axis direction.

우선, 점프 판단부(330)는 모션 측정 데이터에 포함된 가속도 신호 중 중력 방향의 가속도 값이 기 설정된 임계치 이상인지 여부를 판단한다. 예를 들어, 도 8에서는 A 지점에서 임계치(0으로 설정)를 초과하는 상황이 발생하였으므로, 해당 조건을 만족한다. 그리고 점프 판단부(330)는 중력 방향의 가속도 값이 기 설정 된 임계치 이상이면, 중력 방향의 가속도 값이 양의 값에서 음의 값으로 변하는 여부를 판단한다. 예를 들어, A 지점이 검출되었으므로, 점프 판단부(330)는 가속도 값이 양의 값에서 음의 값으로 변하는 B시점을 판단한다. First, the jump determination unit 330 determines whether the acceleration value in the direction of gravity among acceleration signals included in the motion measurement data is equal to or greater than a preset threshold. For example, in FIG. 8, since a situation in which the threshold value (set to 0) is exceeded at point A occurs, the corresponding condition is satisfied. In addition, if the acceleration value in the gravitational direction is greater than or equal to a preset threshold, the jump determination unit 330 determines whether the acceleration value in the gravitational direction changes from a positive value to a negative value. For example, since point A is detected, the jump determination unit 330 determines point B at which the acceleration value changes from a positive value to a negative value.

그러면, 점프 판단부(330)는 중력 방향의 가속도 값이 양의 값에서 음의 값으로 변하는 시점에 점프 모션이 발생한 것으로 판단한다. 즉, A시점이 아닌 B 시점에서 점프 모션이 발생한 것으로 판단한다. 점프의 경우, 신체를 공중으로 띄우기 위해 도약 단계가 요구된다. 즉, 도약 단계는 몸을 공중에 띄우기 위한 사전 단계로서 점프 동작을 구성하는 단계이지만, 실질적으로 몸이 공중에 떠 있는 상태는 아니다. 본 발명의 실시예에서는 신체가 공중에 뜬 시점, 즉, 발가락이 바닥면으로부터 떨어진 시점에서 점프 모션이 발생하였다고 판단한다. 이와 같이, 도약 단계와 공중 자세 단계를 구분함으로써 공중 자세에서의 이동량 등을 정확히 산출할 수 있다. Then, the jump determination unit 330 determines that a jump motion has occurred at a point in time when the acceleration value in the direction of gravity changes from a positive value to a negative value. That is, it is determined that the jump motion has occurred at the point B rather than the point A. In the case of a jump, a jump step is required to lift the body into the air. That is, the leap step is a step of configuring a jump motion as a preliminary step for floating the body in the air, but the body is not actually in a state of floating in the air. In the embodiment of the present invention, it is determined that a jump motion has occurred when the body floats in the air, that is, when the toe is separated from the floor surface. In this way, by dividing the leap phase and the aerial attitude phase, the amount of movement in the aerial attitude can be accurately calculated.

도 10 및 도 11은 본 발명의 실시예에 따른 모션 구현 과정을 설명하기 위한 도면이다. 10 and 11 are diagrams for explaining a motion implementation process according to an embodiment of the present invention.

모션 구현부(340)는 인체 모션의 위치를 보정하고, 무게 중심에 기초하여 산출된 이동 궤적, 그리고 가속도 신호에 기초하여 산출된 이동속도 및 이동 거리를 이용하여 가상 캐릭터의 모션을 구현한다. The motion implementation unit 340 corrects the position of the motion of the human body, and implements the motion of the virtual character using the movement trajectory calculated based on the center of gravity, and the movement speed and movement distance calculated based on the acceleration signal.

우선, 모션 구현부(340)는 인체 모션의 허리 위치(waist position)와 무게 중심(CM) 사이의 차이값을 산출한다. 예를 들어, 모션 구현부(340)는 무게 중심의 좌표값에서 인체 모션의 허리 위치의 좌표값을 뺀 값을 통해 인체 모션의 허리 위치와 무게 중심 사이의 차이값을 산출할 수 있다. 도 10에서는 인체 모션의 허리 위치와 무게 중심 사이의 차이값은 x축에서 dx, y축에서 dy만큼 발생한다.First, the motion implementation unit 340 calculates a difference value between the waist position and the center of gravity (CM) of the motion of the human body. For example, the motion implementation unit 340 may calculate a difference value between the waist position of the human body motion and the center of gravity through a value obtained by subtracting the coordinate value of the waist position of the body motion from the coordinate value of the center of gravity. In FIG. 10, the difference between the waist position and the center of gravity of the motion of the human body occurs as much as d x in the x- axis and d y in the y-axis.

그러면, 모션 구현부(340)는 인체 모션의 둔부 위치(Hip position)를 차이값(dx,dy)만큼 이동시켜 인체 모션의 위치를 보정한다. 예를 들어, 모션 구현부(340)는 인체 모션의 둔부 위치의 좌표값에 상기에서 계산된 차이값을 합산함으로써 인체 모션 위치를 보정할 수 있다. Then, the motion implementation unit 340 corrects the position of the human body motion by moving the hip position of the human body motion by the difference value (d x , d y ). For example, the motion implementation unit 340 may correct the motion position of the human body by adding the calculated difference value to the coordinate value of the hip position of the human body motion.

다음으로, 모션 구현부(340)는 무게 중심의 이동 방향에 따라 인체 모션의 이동 궤적을 산출한다. 앞서 살펴본 것처럼, 무게 중심은 각 프레임별로 산출되므로, 각 프레임의 무게 중심의 좌표값을 연결함으로써 인체 모션의 이동 궤적이 산출될 수 있다. Next, the motion implementation unit 340 calculates a movement trajectory of the human body motion according to the movement direction of the center of gravity. As described above, since the center of gravity is calculated for each frame, the movement trajectory of the human body motion can be calculated by connecting the coordinate values of the center of gravity of each frame.

다음으로 모션 구현부(340)는 점프 모션이 발생한 시점부터 가속도 신호를 적분하여 인체 모션의 이동속도 및 이동 거리를 산출한다. 가속도 신호의 적분은 점프 모션이 발생한 시점, 즉, 중력 방향의 가속도 값이 양의 값에서 음의 값으로 변하는 시점에서부터 시작된다. 만약, 가속도 신호는 적분 과정에서 드리프트 오차가 발생하게 되는데 적분 기간이 길수록 드리프트 오차가 커지게 된다. 하지만, 본 발명에서와 같이 점프 모션이 발생한 시점부터 가속도 신호를 적분하게 되면, 드리프트 오차를 최소화할 수 있어 점프 모션에서의 이동속도 및 이동 거리의 산출 정확도를 향상시킬 수 있다. 가속도 신호의 적분은 착지 단계까지 수행될 수 있으며, 이는 중력 방향의 가속도 신호가 음의 값에서 양의 값으로 변하는 시점일 수 있다. Next, the motion implementation unit 340 calculates the moving speed and the moving distance of the human body motion by integrating the acceleration signal from the point at which the jump motion occurs. The integration of the acceleration signal starts from the point at which the jump motion occurs, that is, the point at which the acceleration value in the direction of gravity changes from a positive value to a negative value. If, in the acceleration signal, a drift error occurs during the integration process, the drift error increases as the integration period increases. However, by integrating the acceleration signal from the point at which the jump motion occurs, as in the present invention, it is possible to minimize the drift error, thereby improving the accuracy of calculating the moving speed and the moving distance in the jump motion. The integration of the acceleration signal may be performed up to the landing step, and this may be a time point at which the acceleration signal in the direction of gravity changes from a negative value to a positive value.

그러면, 모션 구현부(340)는 도 11에 도시된 것처럼 인체 모션의 이동 궤적, 이동속도 및 이동거리를 보정된 인체 모션에 적용하여 가상 캐릭터의 점프 모션을 구현할 수 있다. Then, the motion implementation unit 340 may implement the jump motion of the virtual character by applying the movement trajectory, the movement speed, and the movement distance of the human body motion to the corrected human body motion, as shown in FIG. 11.

도 12는 본 발명의 실시예에 따른 모션 캡쳐 방법의 순서도이다. 12 is a flowchart of a motion capture method according to an embodiment of the present invention.

도 12를 참조하면, 우선, 수신부(310)는 측정 대상자의 신체 각 부위에 부착된 모션 측정 센서에 의해 측정된 모션 측정 데이터를 수신한다(S1210).Referring to FIG. 12, first, the receiving unit 310 receives motion measurement data measured by a motion measurement sensor attached to each part of the body of a measurement subject (S1210).

그러면, 무게 중심 산출부(320)는 모션 측정 데이터에 기초하여 측정 대상자에 대한 인체 모션을 프레임 별로 구성한다(S1220).Then, the center of gravity calculation unit 320 configures the motion of the human body for each frame based on the motion measurement data (S1220).

그리고, 무게 중심 산출부(320)는 각 프레임별로 인체 모션의 무게 중심을 산출한다(S1230). 이를 위해, 무게 중심 산출부(320)는 인체 모션을 기 설정된 분절 영역 별로 구분하고, 분절 영역 별로 무게 중심을 산출하고, 분절 영역 별로 산출된 무게 중심에 기초하여 인체 모션의 무게 중심을 산출할 수 있다. Then, the center of gravity calculation unit 320 calculates the center of gravity of the motion of the human body for each frame (S1230). To this end, the center of gravity calculation unit 320 divides the motion of the human body into preset segment regions, calculates the center of gravity for each segment region, and calculates the center of gravity of the human body motion based on the calculated center of gravity for each segment region. have.

다음으로, 점프 판단부(330)는 모션 측정 데이터에 포함된 가속도 신호의 크기에 기초하여 점프 모션이 발생하였는지 여부를 판단한다(S1240).Next, the jump determination unit 330 determines whether a jump motion has occurred based on the magnitude of the acceleration signal included in the motion measurement data (S1240).

점프 모션이 발생한 것으로 판단되면, 모션 구현부(340)는 무게 중심에 기초하여 인체 모션의 점프 경로를 결정하고, 결정된 점프 경로를 이용하여 가상 캐릭터의 모션을 구현한다(S1250).If it is determined that the jump motion has occurred, the motion implementation unit 340 determines a jump path of the human body motion based on the center of gravity, and implements the motion of the virtual character using the determined jump path (S1250).

도 13은 도 12의 S1230 단계를 상세하게 나타낸 순서도이다. 13 is a detailed flowchart illustrating step S1230 of FIG. 12.

도 13을 참조하면, 우선, 무게 중심 산출부(320)는 분절 영역 별로 양 끝단의 좌표 정보를 산출한다(S1231).Referring to FIG. 13, first, the center of gravity calculation unit 320 calculates coordinate information of both ends for each segmented area (S1231).

그리고, 무게 중심 산출부(320)는 분절 영역 별로 설정된 제1 파라미터와 좌표 정보를 이용하여 분절 영역 별 무게 중심의 좌표를 산출한다(S1232).Further, the center of gravity calculation unit 320 calculates the coordinates of the center of gravity for each segment area by using the first parameter and coordinate information set for each segment area (S1232).

그러면, 무게 중심 산출부(320)는 분절 영역 별 무게 중심의 좌표와 각 분절 영역별로 설정된 제2 파라미터를 이용하여 인체 모션의 무게 중심의 좌표를 산출한다(S1233).Then, the center of gravity calculation unit 320 calculates the coordinates of the center of gravity of the motion of the human body using the coordinates of the center of gravity for each segment area and the second parameter set for each segment area (S1233).

도 14는 도 12의 S1230 단계를 상세하게 나타낸 순서도이다. 14 is a detailed flowchart illustrating step S1230 of FIG. 12.

도 14를 참조하면, 점프 판단부(330)는 모션 측정 데이터에 포함된 가속도 신호 중 중력 방향의 가속도 값이 기 설정된 임계치 이상인지 여부를 판단한다(S1241). 중력 방향의 가속도 값이 기 설정된 임계치 미만인 경우, 점프 판단부(330)는 기 설정된 임계치 이상의 중력 방향의 가속도 값이 검출될 때까지 해당 과정을 반복할 수 있다. Referring to FIG. 14, the jump determination unit 330 determines whether an acceleration value in the direction of gravity among acceleration signals included in the motion measurement data is equal to or greater than a preset threshold (S1241). When the acceleration value in the gravitational direction is less than a preset threshold value, the jump determination unit 330 may repeat the process until an acceleration value in the gravitational direction equal to or greater than the preset threshold is detected.

중력 방향의 가속도 값이 기 설정된 임계치 이상이면, 점프 판단부(330)는 중력 방향의 가속도 값이 양의 값에서 음의 값으로 변하는 시점을 검출한다(S1242). 점프 판단부(330)는 중력 방향의 가속도 값이 양의 값에서 음의 값으로 변하는 시점이 검출될 때까지 반복하여 해당 조건을 판단할 수 있다. If the acceleration value in the gravitational direction is equal to or greater than a preset threshold value, the jump determination unit 330 detects a point in time when the acceleration value in the gravitational direction changes from a positive value to a negative value (S1242). The jump determination unit 330 may repeatedly determine the corresponding condition until a time point at which the acceleration value in the direction of gravity changes from a positive value to a negative value is detected.

점프 판단부(330)는 중력 방향의 가속도 값이 양의 값에서 음의 값으로 변하는 시점에 점프 모션이 발생한 것으로 판단한다(S1243).The jump determination unit 330 determines that a jump motion has occurred when the acceleration value in the direction of gravity changes from a positive value to a negative value (S1243).

도 15는 도 12의 S1250 단계를 상세하게 나타낸 순서도이다. 15 is a flow chart showing in detail step S1250 of FIG. 12.

도 15를 참조하면, 모션 구현부(340)는 인체 모션의 허리 위치와 무게 중심 사이의 차이값을 산출한다(S1251).Referring to FIG. 15, the motion implementation unit 340 calculates a difference value between the waist position and the center of gravity of the motion of the human body (S1251).

그러면, 모션 구현부(340)는 인체 모션의 둔부 위치를 차이값만큼 이동시켜 인체 모션을 보정한다(S1252). Then, the motion implementation unit 340 corrects the human body motion by moving the hip position of the human body motion by a difference value (S1252).

다음으로, 모션 구현부(340)는 무게 중심의 이동 방향에 따라 인체 모션의 이동 궤적을 산출한다(S1253). S1253 단계는 S1251 단계 및 S1252 단계의 수행 여부와 무관하게 진행될 수 있다. 즉, S1253 단계는 S1251 단계 및 S1252 단계와 동시에 진행될 수도 있고, 우선 진행될 수도 있다. Next, the motion implementation unit 340 calculates a movement trajectory of the human body motion according to the movement direction of the center of gravity (S1253). Step S1253 may be performed regardless of whether steps S1251 and S1252 are performed. That is, step S1253 may proceed simultaneously with steps S1251 and S1252, or may proceed first.

그리고, 모션 구현부(340)는 점프 모션이 발생한 시점부터 가속도 신호를 적분하여 인체 모션의 이동 속도 및 이동 거리를 산출한다(S1254). S1254 단계는 S1251 단계, S1252 단계 및 S1253 단계의 수행 여부와 무관하게 진행될 수 있다. 즉, S1254 단계는 S1251 단계, S1252 단계 및 S1253 단계와 동시에 진행될 수도 있고, 우선 진행될 수도 있다.Further, the motion implementation unit 340 calculates the moving speed and the moving distance of the human body motion by integrating the acceleration signal from the point when the jump motion occurs (S1254). Step S1254 may be performed regardless of whether steps S1251, S1252, and S1253 are performed. That is, step S1254 may proceed simultaneously with steps S1251, S1252, and S1253, or may proceed first.

모션 구현부(340)는 인체 모션의 이동 궤적, 이동속도 및 이동거리를 보정된 인체 모션에 적용하여 가상 캐릭터의 모션을 구현한다(S1255).The motion implementation unit 340 implements the motion of the virtual character by applying the movement trajectory, the movement speed, and the movement distance of the human body motion to the corrected human body motion (S1255).

본 발명의 실시예는 모션 캡쳐 방법을 실행시키기 위한 프로그램을 저장하는 기록매체로 구현될 수 있다. An embodiment of the present invention may be implemented as a recording medium storing a program for executing a motion capture method.

본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field-programmable gate array) 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.The term'~ unit' used in this embodiment refers to software or hardware components such as field-programmable gate array (FPGA) or ASIC, and'~ unit' performs certain roles. However,'~ part' is not limited to software or hardware. The'~ unit' may be configured to be in an addressable storage medium, or may be configured to reproduce one or more processors. Thus, as an example,'~ unit' refers to components such as software components, object-oriented software components, class components and task components, processes, functions, properties, and procedures. , Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, database, data structures, tables, arrays, and variables. The components and functions provided in the'~ units' may be combined into a smaller number of elements and'~ units', or may be further divided into additional elements and'~ units'. In addition, components and'~ units' may be implemented to play one or more CPUs in a device or a security multimedia card.

이상에서 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다. The embodiments have been described above, but these are only examples and do not limit the present invention, and those of ordinary skill in the field to which the present invention belongs are not illustrated above within the scope not departing from the essential characteristics of the present embodiment It will be seen that various modifications and applications are possible. For example, each component specifically shown in the embodiment can be modified and implemented. And differences related to these modifications and applications should be construed as being included in the scope of the present invention defined in the appended claims.

100 : 모션 센서 모듈
110 : 서브 모듈
120 : 메인 모듈
200 : 통신 모듈
300 : 모션 캡쳐 장치
310 : 수신부
320 : 무게 중심 산출부
330 : 점프 판단부
340 : 모션 구현부
100: motion sensor module
110: sub module
120: main module
200: communication module
300: motion capture device
310: receiver
320: center of gravity calculation unit
330: jump determination unit
340: motion implementation unit

Claims (10)

측정 대상자의 신체 각 부위에 부착된 모션 측정 센서에 의해 측정된 모션 측정 데이터를 수신하는 수신부,
상기 모션 측정 데이터에 기초하여 상기 측정 대상자에 대한 인체 모션을 프레임 별로 구성하고, 상기 각 프레임별로 상기 인체 모션의 무게 중심을 산출하는 무게 중심 산출부,
상기 모션 측정 데이터에 포함된 가속도 신호의 크기에 기초하여 점프 모션이 발생하였는지 여부를 판단하는 점프 판단부,
상기 점프 모션이 발생한 것으로 판단되면, 상기 무게 중심에 기초하여 상기 인체 모션의 점프 경로를 결정하고, 상기 결정된 점프 경로를 이용하여 가상 캐릭터의 모션을 구현하는 모션 구현부를 포함하며,
상기 모션 구현부는,
상기 인체 모션의 허리 위치와 상기 무게 중심 사이의 차이값을 산출하고,
상기 인체 모션의 둔부 위치를 상기 차이값만큼 이동시켜 상기 인체 모션을 보정하고,
상기 무게 중심의 이동 방향에 따라 상기 인체 모션의 이동 궤적을 산출하며,
상기 점프 모션이 발생한 시점부터 상기 가속도 신호를 적분하여 상기 인체 모션의 이동속도 및 이동 거리를 산출하고,
상기 인체 모션의 이동 궤적, 이동속도 및 이동 거리를 상기 보정된 인체 모션에 적용하여 상기 가상 캐릭터의 모션을 구현하는 모션 캡쳐 장치.
A receiver that receives motion measurement data measured by a motion measurement sensor attached to each body part of the person to be measured,
A center of gravity calculator configured to configure a human body motion for the object to be measured for each frame based on the motion measurement data and calculate a center of gravity of the body motion for each frame,
A jump determination unit that determines whether a jump motion has occurred based on the magnitude of the acceleration signal included in the motion measurement data,
When it is determined that the jump motion has occurred, a motion implementation unit determining a jump path of the human body motion based on the center of gravity, and implementing a motion of a virtual character using the determined jump path,
The motion implementation unit,
Calculating a difference value between the waist position of the human body motion and the center of gravity,
Correcting the human body motion by moving the buttocks position of the human body motion by the difference value,
Calculating a movement trajectory of the human body motion according to the movement direction of the center of gravity,
Integrating the acceleration signal from the point when the jump motion occurs to calculate the moving speed and the moving distance of the human body motion,
A motion capture device that implements the motion of the virtual character by applying the movement trajectory, movement speed, and movement distance of the human body motion to the corrected human body motion.
제1항에 있어서,
상기 무게 중심 산출부는,
상기 인체 모션을 기 설정된 분절 영역 별로 구분하고,
상기 분절 영역 별로 무게 중심의 좌표를 산출하고,
상기 분절 영역 별로 산출된 무게 중심의 좌표에 기초하여 상기 인체 모션의 무게 중심의 좌표를 산출하는 모션 캡쳐 장치.
The method of claim 1,
The center of gravity calculation unit,
The human body motion is divided into preset segmental regions,
Calculate the coordinates of the center of gravity for each segmented area,
A motion capture device that calculates the coordinates of the center of gravity of the human body motion based on the coordinates of the center of gravity calculated for each segment area.
제2항에 있어서,
상기 무게 중심 산출부는,
상기 분절 영역 별로 양 끝단의 좌표 정보를 산출하고,
상기 분절 영역 별로 설정된 제1 파라미터와 상기 좌표 정보를 이용하여 상기 분절 영역 별 무게 중심의 좌표를 산출하며,
상기 분절 영역 별 무게 중심의 좌표와 각 분절 영역별로 설정된 제2 파라미터를 이용하여 상기 인체 모션의 무게 중심의 좌표를 산출하는 모션 캡쳐 장치.
The method of claim 2,
The center of gravity calculation unit,
Calculate coordinate information of both ends for each segmented area,
The coordinates of the center of gravity for each segment area are calculated using the first parameter set for each segment area and the coordinate information,
A motion capture device that calculates the coordinates of the center of gravity of the human body motion using the coordinates of the center of gravity for each segmental area and a second parameter set for each segmental area.
제1항에 있어서,
상기 점프 판단부는,
상기 모션 측정 데이터에 포함된 상기 가속도 신호 중 중력 방향의 가속도 값이 기 설정된 임계치 이상인지 여부를 판단하고,
상기 중력 방향의 가속도 값이 기 설정된 임계치 이상이면, 상기 중력 방향의 가속도 값이 양의 값에서 음의 값으로 변하는 시점을 검출하며,
상기 중력 방향의 가속도 값이 양의 값에서 음의 값으로 변하는 시점에 상기 점프 모션이 발생한 것으로 판단하는 모션 캡쳐 장치.
The method of claim 1,
The jump determination unit,
It is determined whether the acceleration value in the direction of gravity among the acceleration signals included in the motion measurement data is equal to or greater than a preset threshold,
When the acceleration value in the gravitational direction is greater than or equal to a preset threshold, a time point at which the acceleration value in the gravitational direction changes from a positive value to a negative value is detected,
A motion capture device that determines that the jump motion has occurred when the acceleration value in the direction of gravity changes from a positive value to a negative value.
삭제delete 모션 캡쳐 장치를 이용한 모션 캡쳐 방법에 있어서,
측정 대상자의 신체 각 부위에 부착된 모션 측정 센서에 의해 측정된 모션 측정 데이터를 수신하는 단계,
상기 모션 측정 데이터에 기초하여 상기 측정 대상자에 대한 인체 모션을 프레임 별로 구성하고, 상기 각 프레임별로 상기 인체 모션의 무게 중심을 산출하는 단계,
상기 모션 측정 데이터에 포함된 가속도 신호의 크기에 기초하여 점프 모션이 발생하였는지 여부를 판단하는 단계,
상기 점프 모션이 발생한 것으로 판단되면, 상기 무게 중심에 기초하여 상기 인체 모션의 점프 경로를 결정하고, 상기 결정된 점프 경로를 이용하여 가상 캐릭터의 모션을 구현하는 단계를 포함하며,
상기 가상 캐릭터의 모션을 구현하는 단계는,
상기 인체 모션의 허리 위치와 상기 무게 중심 사이의 차이값을 산출하는 단계,
상기 인체 모션의 둔부 위치를 상기 차이값만큼 이동시켜 상기 인체 모션을 보정하는 단계,
상기 무게 중심의 이동 방향에 따라 상기 인체 모션의 이동 궤적을 산출하는 단계,
상기 점프 모션이 발생한 시점부터 상기 가속도 신호를 적분하여 상기 인체 모션의 이동속도 및 이동 거리를 산출하는 단계, 그리고
상기 인체 모션의 이동 궤적, 이동속도 및 이동 거리를 상기 보정된 인체 모션에 적용하여 상기 가상 캐릭터의 모션을 구현하는 단계를 포함하는 모션 캡쳐 방법.
In the motion capture method using a motion capture device,
Receiving motion measurement data measured by a motion measurement sensor attached to each body part of the measurement subject,
Configuring a human body motion for the object to be measured for each frame based on the motion measurement data, and calculating a center of gravity of the human body motion for each frame,
Determining whether a jump motion has occurred based on the magnitude of the acceleration signal included in the motion measurement data,
If it is determined that the jump motion has occurred, determining a jump path of the human body motion based on the center of gravity, and implementing a motion of a virtual character using the determined jump path,
Implementing the motion of the virtual character,
Calculating a difference value between the waist position of the human body motion and the center of gravity,
Correcting the human body motion by moving the buttocks position of the human body motion by the difference value,
Calculating a movement trajectory of the human body motion according to the movement direction of the center of gravity,
Integrating the acceleration signal from the point at which the jump motion occurs to calculate a moving speed and a moving distance of the human body motion, and
And implementing the motion of the virtual character by applying the movement trajectory, the movement speed, and the movement distance of the human body motion to the corrected human body motion.
제6항에 있어서,
상기 인체 모션의 무게 중심을 산출하는 단계는,
상기 인체 모션을 기 설정된 분절 영역 별로 구분하는 단계,
상기 분절 영역 별로 무게 중심의 좌표를 산출하는 단계, 그리고
상기 분절 영역 별로 산출된 무게 중심의 좌표에 기초하여 상기 인체 모션의 무게 중심의 좌표를 산출하는 단계를 포함하는 모션 캡쳐 방법.
The method of claim 6,
The step of calculating the center of gravity of the human body motion,
Dividing the human body motion into preset segmental regions,
Calculating coordinates of the center of gravity for each segmented area, and
And calculating the coordinates of the center of gravity of the human body motion based on the coordinates of the center of gravity calculated for each segmented area.
제7항에 있어서,
상기 분절 영역 별로 무게 중심의 좌표를 산출하는 단계는,
상기 분절 영역 별로 양 끝단의 좌표 정보를 산출하는 단계, 그리고
상기 분절 영역 별로 설정된 제1 파라미터와 상기 좌표 정보를 이용하여 상기 분절 영역 별 무게 중심의 좌표를 산출하는 단계를 포함하고,
상기 인체 모션의 무게 중심의 좌표를 산출하는 단계는,
상기 분절 영역 별 무게 중심의 좌표와 각 분절 영역별로 설정된 제2 파라미터를 이용하여 상기 인체 모션의 무게 중심의 좌표를 산출하는 단계를 포함하는 모션 캡쳐 방법.
The method of claim 7,
The step of calculating the coordinates of the center of gravity for each segment area,
Calculating coordinate information of both ends for each segment region, and
Comprising the step of calculating the coordinates of the center of gravity for each segment area using the first parameter set for each segment area and the coordinate information,
The step of calculating the coordinates of the center of gravity of the motion of the human body,
And calculating the coordinates of the center of gravity of the motion of the human body by using the coordinates of the center of gravity for each segmental area and a second parameter set for each segmental area.
제6항에 있어서,
상기 점프 모션이 발생하였는지 여부를 판단하는 단계는,
상기 모션 측정 데이터에 포함된 상기 가속도 신호 중 중력 방향의 가속도 값이 기 설정된 임계치 이상인지 여부를 판단하는 단계,
상기 중력 방향의 가속도 값이 기 설정된 임계치 이상이면, 상기 중력 방향의 가속도 값이 양의 값에서 음의 값으로 변하는 시점을 검출하는 단계, 그리고
상기 중력 방향의 가속도 값이 양의 값에서 음의 값으로 변하는 시점에 상기 점프 모션이 발생한 것으로 판단하는 단계를 포함하는 모션 캡쳐 방법.

The method of claim 6,
The step of determining whether the jump motion has occurred,
Determining whether an acceleration value in the direction of gravity among the acceleration signals included in the motion measurement data is equal to or greater than a preset threshold,
If the acceleration value in the gravitational direction is greater than or equal to a preset threshold, detecting a time point at which the acceleration value in the gravitational direction changes from a positive value to a negative value, and
And determining that the jump motion has occurred when the acceleration value in the direction of gravity changes from a positive value to a negative value.

삭제delete
KR1020190140864A 2018-12-06 2019-11-06 Motion capture apparatus using movement of human centre of gravity and method thereof KR102172362B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2019/016197 WO2020116836A1 (en) 2018-12-06 2019-11-22 Motion capture device using movement of center of gravity of human body and method therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180156369 2018-12-06
KR20180156369 2018-12-06

Publications (2)

Publication Number Publication Date
KR20200069218A KR20200069218A (en) 2020-06-16
KR102172362B1 true KR102172362B1 (en) 2020-10-30

Family

ID=71141432

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190140864A KR102172362B1 (en) 2018-12-06 2019-11-06 Motion capture apparatus using movement of human centre of gravity and method thereof

Country Status (1)

Country Link
KR (1) KR102172362B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102485677B1 (en) * 2021-02-24 2023-01-11 한국표준과학연구원 Body Balance and body activity measurement System

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6057859A (en) 1997-03-31 2000-05-02 Katrix, Inc. Limb coordination system for interactive computer animation of articulated characters with blended motion data

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020095315A (en) * 2001-06-14 2002-12-26 (주)한국아이엔디 Apparatus for Sensoring Fighting Motion
KR100915606B1 (en) * 2007-12-10 2009-09-07 한국과학기술연구원 Method for building a human body model for human motion analysis
KR101527792B1 (en) * 2013-08-29 2015-06-12 한양대학교 산학협력단 Method and apparatus for modeling interactive character
KR20150075909A (en) * 2013-12-26 2015-07-06 한국전자통신연구원 Method and apparatus for editing 3D character motion
KR101950359B1 (en) * 2016-11-30 2019-02-20 (주)코어센스 Method for position estimation of hybird motion capture system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6057859A (en) 1997-03-31 2000-05-02 Katrix, Inc. Limb coordination system for interactive computer animation of articulated characters with blended motion data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
분절법, 무게중심(Center of Gravity):네이버 블로그(2014.04.10.) 1부.*

Also Published As

Publication number Publication date
KR20200069218A (en) 2020-06-16

Similar Documents

Publication Publication Date Title
US10679360B2 (en) Mixed motion capture system and method
US20100194879A1 (en) Object motion capturing system and method
KR101214227B1 (en) method of motion tracking.
US7630555B2 (en) Position and orientation measuring method and apparatus
JP6852673B2 (en) Sensor device, sensor system and information processing device
CN109284006B (en) Human motion capturing device and method
WO2023221524A1 (en) Human movement intelligent measurement and digital training system
Zheng et al. Pedalvatar: An IMU-based real-time body motion capture system using foot rooted kinematic model
CN110609621B (en) Gesture calibration method and human motion capture system based on microsensor
KR20120059824A (en) A method and system for acquiring real-time motion information using a complex sensor
KR102172362B1 (en) Motion capture apparatus using movement of human centre of gravity and method thereof
TWI476733B (en) Three-dimensional space motion reconstruction method and apparatus constructed thereby
US20180216959A1 (en) A Combined Motion Capture System
Ahmadi et al. A framework for comprehensive analysis of a swing in sports using low-cost inertial sensors
JP2009186244A (en) Tilt angle estimation system, relative angle estimation system, and angular velocity estimation system
CN111012358B (en) Human ankle joint motion trajectory measurement method and wearable device
KR102229071B1 (en) Apparatus for implementing motion using piezoelectric sensor and method thereof
KR102229070B1 (en) Motion capture apparatus based sensor type motion capture system and method thereof
WO2020116836A1 (en) Motion capture device using movement of center of gravity of human body and method therefor
JP2002007030A (en) Movement detecting device and operation input device
Ogata et al. A robust position and posture measurement system using visual markers and an inertia measurement unit
JP5424224B2 (en) Relative angle estimation system
JP6205387B2 (en) Method and apparatus for acquiring position information of virtual marker, and operation measurement method
CN113576459A (en) Analysis device, analysis method, storage medium storing program, and calibration method
JP2018004610A (en) System for measuring spatial coordinate and posture of object by using mems motion sensor in combination with geometric position measuring device

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant