KR102229070B1 - 센서 방식 모션 캡쳐 시스템 기반 모션 캡쳐 장치 및 그 방법 - Google Patents

센서 방식 모션 캡쳐 시스템 기반 모션 캡쳐 장치 및 그 방법 Download PDF

Info

Publication number
KR102229070B1
KR102229070B1 KR1020190157006A KR20190157006A KR102229070B1 KR 102229070 B1 KR102229070 B1 KR 102229070B1 KR 1020190157006 A KR1020190157006 A KR 1020190157006A KR 20190157006 A KR20190157006 A KR 20190157006A KR 102229070 B1 KR102229070 B1 KR 102229070B1
Authority
KR
South Korea
Prior art keywords
motion
node
value
acceleration
ankle
Prior art date
Application number
KR1020190157006A
Other languages
English (en)
Other versions
KR20200069232A (ko
Inventor
박진하
김충일
김민경
정하형
Original Assignee
(주)코어센스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)코어센스 filed Critical (주)코어센스
Publication of KR20200069232A publication Critical patent/KR20200069232A/ko
Application granted granted Critical
Publication of KR102229070B1 publication Critical patent/KR102229070B1/ko

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/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/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/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
    • 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/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

본 발명의 실시예에 따른 모션 캡쳐 장치는 측정 대상자의 자세를 측정한 센싱 데이터에 기초하여 가속도 측정값에 대한 선형 가속도를 산출하는 산출부, 상기 선형 가속도에 기초하여 점프 신호가 발생하였는지 여부를 판단하는 판단부, 상기 점프 신호가 발생하였다고 판단되면, 상기 선형 가속도 및 상기 센싱 데이터에 기초하여 연속하는 제1 내지 제3 동작 구간에 따른 가상 캐릭터의 제1 모션을 구현하는 제1 구현부, 그리고 상기 점프 신호가 발생하지 않았다고 판단되면, 상기 센싱 데이터로부터 생성된 허리 노드의 위치 좌표와 복수의 발목 노드의 위치 좌표에 기초하여 상기 가상 캐릭터의 제2 모션을 구현하는 제2 구현부를 포함한다.

Description

센서 방식 모션 캡쳐 시스템 기반 모션 캡쳐 장치 및 그 방법{MOTION CAPTURE APPARATUS BASED SENSOR TYPE MOTION CAPTURE SYSTEM AND METHOD THEREOF}
실시 예는 모션 캡쳐 장치 및 그 방법에 관한 것이다.
모션 캡쳐(Motion Cature)란 신체에 센서를 부착시키거나, 적외선 카메라 등을 이용하는 방법으로 인체의 움직임을 파악하여 디지털 형태로 기록하는 작업을 말한다. 이러한 모션 캡쳐를 통해 얻어지는 모션 캡쳐 데이터는 디지털 콘텐츠로서, 애니메이션이나 영화 게임, 동작분석, 재활 등 다양하게 활용된다.
모션 캡쳐 시스템은 데이터를 추출하는 방식에 따라 광학식, 기계식, 센서식으로 구분될 수 있다. 광학식은 대상의 움직임을 측정하기 위해 소정의 부위에 마커를 부착한 후 다수의 카메라를 통해 촬영함으로써 위치 데이터를 추출하는 방식이다. 고속으로 촬영이 가능하고 대상의 움직임에 제약이 적다는 장점이 있으나, 장비가 매우 고가이고 마커가 가려지는 경우 데이터가 손실되는 단점이 있다. 기계식은 인체의 각 관절부위의 움직임을 기계장치 부착을 통해 캡처하는 방식으로, 제공되는 데이터는 실시간으로 추출된 관절별 회전데이터로서 매우 정확한 데이터를 제공 받을 수 있다. 그러나, 고중량의 기계 장치를 부착함에 따라 대상이 자연스러운 움직임에 제약을 받게 되고 이로 인해 동작데이터의 추출에도 한계가 있다. 센서식은 대상의 각 관절 부위에 자기장을 발생하는 센서를 부착하고 대상의 움직임에 따른 자기장의 변화를 측정하여 위치데이터를 추출하는 방식이다. 케이블로 인한 대상의 동작 제한 등의 문제점을 가지고 있으나, 최근 MEMS(Microelectromechanical systems) 기술과 무선 통신 기술이 발전함에 따라 이러한 문제점들이 해결되고 있다.
센서식 모션 캡쳐 시스템의 경우 위치 이동 연산에 이용되는 가속도 신호를 측정하기 위하여 가속도 센서를 필수적으로 포함한다. 가속도 신호를 적분하여 대상의 이동 거리 및 이동 속도 등을 산출하게 되는데, 가속도 센서에서 측정되는 바이어스로 인해 적분 시 오차가 누적되며, 이는 측정 오차로 이어지게 된다. 이와 같은 문제점으로 인하여, 센서식 모션 캡쳐 시스템의 경우, 점프나 보행과 같이 위치 이동이 발생하는 동작을 구현하는데 어려움이 발생한다.
따라서, 이러한 가속도 센서에서 측정되는 바이어스로 인해 발생하는 적분 시 오차를 줄일 수 있는 방안이 요구된다.
본 발명의 실시예는 센서 방식 모션 캡쳐 시스템에서 사용자의 절대 위치를 추정하여 캐릭터의 이동을 구현하기 위한 모션 캡쳐 장치 및 그 방법에 관한 것이다.
실시 예에서 해결하고자 하는 과제는 이에 한정되는 것은 아니며, 아래에서 설명하는 과제의 해결수단이나 실시 형태로부터 파악될 수 있는 목적이나 효과도 포함된다고 할 것이다.
본 발명의 실시예에 따른 모션 캡쳐 장치는 측정 대상자의 자세를 측정한 센싱 데이터에 기초하여 가속도 측정값에 대한 선형 가속도를 산출하는 산출부, 상기 선형 가속도에 기초하여 점프 신호가 발생하였는지 여부를 판단하는 판단부, 상기 점프 신호가 발생하였다고 판단되면, 상기 선형 가속도 및 상기 센싱 데이터에 기초하여 연속하는 제1 내지 제3 동작 구간에 따른 가상 캐릭터의 제1 모션을 구현하는 제1 구현부, 그리고 상기 점프 신호가 발생하지 않았다고 판단되면, 상기 센싱 데이터로부터 생성된 허리 노드의 위치 좌표와 복수의 발목 노드의 위치 좌표에 기초하여 상기 가상 캐릭터의 제2 모션을 구현하는 제2 구현부를 포함한다.
상기 산출부는, 가속도 센서의 자세 정보에 기초하여 상기 가속도 센서에 대한 3축의 중력 가속도를 산출하고, 3축의 가속도 측정값에서 상기 3축의 중력 가속도를 제거하여 3축의 선형 가속도를 산출할 수 있다.
상기 판단부는, 상기 3축의 선형 가속도 중 중력 방향에 대응하는 축에 대한 제1 선형 가속도와 기 설정된 임계값을 비교하고, 상기 제1 선형 가속도가 상기 임계값보다 크면 상기 점프 신호가 발생하였다고 판단하고, 상기 제1 선형 가속도가 상기 임계값보다 작거나 같으면 상기 점프 신호가 발생하지 않았다고 판단할 수 있다.
상기 제1 동작 구간은, 상기 제1 선형 가속도가 양의 방향으로 증가하는 제1 시점부터 상기 제1 선형 가속도가 양의 값에서 음의 값으로 변하는 제2 시점까지이고, 상기 제2 동작 구간은, 상기 제2 시점부터 상기 제1 선형 가속도가 음의 값에서 양의 값으로 변하는 제3 시점까지이고, 상기 제3 동작 구간은, 상기 제3 시점부터 상기 제1 선형 가속도의 변화가 소정의 임계값 이하가 되는 제4 시점까지일 수 있다.
상기 제1 구현부는, 상기 센싱 데이터에 포함된 회전 측정값에 기초하여 상기 제1 동작 구간에 따른 제1 점프 모션을 구현하고, 상기 회전 측정값에 기초하여 상기 제2 동작 구간에 따른 제2 점프 모션을 구현하되, 상기 선형 가속도의 적분값에 기초하여 상기 제2 점프 모션의 점프량을 구현하고, 상기 회전 측정값에 기초하여 상기 제3 동작 구간에 따른 제3 점프 모션을 구현할 수 있다.
상기 제2 구현부는, 상기 복수의 발목 노드에 대한 위치 좌표 중 높이축의 좌표값과 기 설정된 제1 기준값 사이의 차이가 가장 적은 제1 발목 노드를 선택하고, 상기 허리 노드의 위치 좌표와 상기 제1 발목 노드의 위치 좌표를 이용하여 상기 허리 노드와 상기 제1 발목 노드 사이의 방향 벡터를 산출하고, 제1 프레임과 연속하는 제2 프레임 사이의 방향 벡터의 차이값에 기초하여 산출된 상기 허리 노드의 변위량을 상기 가상 캐릭터의 이동량으로 설정하여 상기 제2 모션을 구현할 수 있다.
상기 복수의 발목 노드와 연결되는 복수의 발 오브젝트는, 발의 앞꿈치에 대응하는 제1 서브 오브젝트, 뒷꿈치에 대응하는 제2 서브 오브젝트 및 상기 제1 서브 오브젝트와 상기 제2 서브 오브젝트를 연결하는 발 노드를 각각 포함하고, 상기 제2 구현부는, 상기 복수의 발목 노드 중 제2 발목 노드에 대응하는 발 노드의 높이축 좌표값이 기 설정된 제2 기준값보다 크면, 상기 제2 발목 노드의 제1 서브 오브젝트와 제2 서브 오브젝트가 동일한 자세를 유지하도록 상기 제2 발목 노드에 대응하는 발노드의 회전 좌표를 설정하고, 상기 제2 발목 노드에 대응하는 발노드의 높이축 좌표값이 기 설정된 제2 기준값보다 작거나 같으면, 상기 제2 발목 노드의 제1 서브 오브젝트가 기 설정된 기준면과 수평을 유지하도록 상기 제2 발목 노드에 대응하는 발 노드의 회전 좌표를 설정할 수 있다.
본 발명의 실시예에 따른 모션 캡쳐 방법은 측정 대상자의 자세를 측정한 센싱 데이터에 기초하여 가속도 측정값에 대한 선형 가속도를 산출하는 단계, 상기 선형 가속도에 기초하여 점프 신호가 발생하였는지 여부를 판단하는 단계, 상기 점프 신호가 발생하였다고 판단되면, 상기 선형 가속도 및 상기 센싱 데이터에 기초하여 연속하는 제1 내지 제3 동작 구간에 따른 가상 캐릭터의 제1 모션을 구현하는 단계, 그리고 상기 점프 신호가 발생하지 않았다고 판단되면, 상기 센싱 데이터로부터 생성된 허리 노드의 위치 좌표와 복수의 발목 노드의 위치 좌표에 기초하여 상기 가상 캐릭터의 제2 모션을 구현하는 단계를 포함한다.
상기 가속도 측정값에 대한 선형 가속도를 산출하는 단계는, 가속도 센서의 자세 정보에 기초하여 상기 가속도 센서에 대한 3축의 중력 가속도를 산출하는 단계, 그리고 3축의 가속도 측정값에서 상기 3축의 중력 가속도를 제거하여 3축의 선형 가속도를 산출하는 단계를 포함할 수 있다.
상기 점프 신호가 발생하였는지 여부를 판단하는 단계는, 상기 3축의 선형 가속도 중 중력 방향에 대응하는 축에 대한 제1 선형 가속도와 기 설정된 임계값을 비교하는 단계, 그리고 상기 제1 선형 가속도가 상기 임계값보다 크면 상기 점프 신호가 발생하였다고 판단하고, 상기 제1 선형 가속도가 상기 임계값보다 작거나 같으면 상기 점프 신호가 발생하지 않았다고 판단하는 단계를 포함할 수 있다.
상기 제1 동작 구간은, 상기 제1 선형 가속도가 양의 방향으로 증가하는 제1 시점부터 상기 제1 선형 가속도가 양의 값에서 음의 값으로 변하는 제2 시점까지이고, 상기 제2 동작 구간은, 상기 제2 시점부터 상기 제1 선형 가속도가 음의 값에서 양의 값으로 변하는 제3 시점까지이고, 상기 제3 동작 구간은, 상기 제3 시점부터 상기 제1 선형 가속도의 변화가 소정의 임계값 이하가 되는 제4 시점까지일 수 있다.
상기 제1 내지 제3 동작 구간에 따른 모션을 구현하는 단계는, 상기 센싱 데이터에 포함된 회전 측정값에 기초하여 상기 제1 동작 구간에 따른 제1 점프 모션을 구현하는 단계, 상기 회전 측정값에 기초하여 상기 제2 동작 구간에 따른 제2 점프 모션을 구현하되, 상기 선형 가속도의 적분값에 기초하여 상기 제2 점프 모션의 점프량을 구현하는 단계, 그리고 상기 회전 측정값에 기초하여 상기 제3 동작 구간에 따른 제3 점프 모션을 구현하는 단계를 포함할 수 있다.
상기 가상 캐릭터의 제2 모션을 구현하는 단계는, 상기 복수의 발목 노드에 대한 위치 좌표 중 높이축의 좌표값과 기 설정된 제1 기준값 사이의 차이가 가장 적은 제1 발목 노드를 선택하는 단계, 상기 허리 노드의 위치 좌표와 상기 제1 발목 노드의 위치 좌표를 이용하여 상기 허리 노드와 상기 제1 발목 노드 사이의 방향 벡터를 산출하는 단계, 그리고 제1 프레임과 연속하는 제2 프레임 사이의 방향 벡터의 차이값에 기초하여 산출된 상기 허리 노드의 변위량을 상기 가상 캐릭터의 이동량으로 설정하여 상기 제2 모션을 구현하는 단계를 포함할 수 있다.
상기 복수의 발목 노드와 연결되는 복수의 발 오브젝트는, 발의 앞꿈치에 대응하는 제1 서브 오브젝트, 뒷꿈치에 대응하는 제2 서브 오브젝트 및 상기 제1 서브 오브젝트와 상기 제2 서브 오브젝트를 연결하는 발 노드를 각각 포함하고, 상기 가상 캐릭터의 제2 모션을 구현하는 단계는, 상기 복수의 발목 노드 중 제2 발목 노드에 대응하는 발 노드의 높이축 좌표값이 기 설정된 제2 기준값보다 크면, 상기 제2 발목 노드의 제1 서브 오브젝트와 제2 서브 오브젝트가 동일한 자세를 유지하도록 상기 제2 발목 노드에 대응하는 발노드의 회전 좌표를 설정하는 단계, 그리고 상기 제2 발목 노드에 대응하는 발노드의 높이축 좌표값이 기 설정된 제2 기준값보다 작거나 같으면, 상기 제2 발목 노드의 제1 서브 오브젝트가 기 설정된 기준면과 수평을 유지하도록 상기 제2 발목 노드에 대응하는 발 노드의 회전 좌표를 설정하는 단계를 포함할 수 있다.
실시 예에 따르면, 가속도 신호의 이중 적분시 발생하는 오차 누적을 최소화함으로써 가상 캐릭터의 위치를 정확히 구현할 수 있다.
가상 캐릭터의 보행 모션 구현시 발이 지면 오브젝트를 뚫고 들어가는 현상을 방지함으로써 자연스러운 모션을 구현할 수 있다.
본 발명의 다양하면서도 유익한 장점과 효과는 상술한 내용에 한정되지 않으며, 본 발명의 구체적인 실시형태를 설명하는 과정에서 보다 쉽게 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 모션 캡쳐 시스템을 나타낸 구성도이다.
도 2는 본 발명의 실시예에 따른 서브 모듈의 배치를 설명하기 위한 도면이다.
도 3은 본 발명의 실시예에 따른 모션 캡쳐 장치의 구성도이다.
도 4는 본 발명의 실시예에 따른 모션 캡쳐 방법의 순서도이다.
도 5는 도 4의 S410 및 S420 단계를 상세하게 나타낸 순서도이다.
도 6은 도 4의 S430 단계를 상세하게 나타낸 순서도이다.
도 7은 도 4의 S440 단계를 상세하게 나타낸 순서도이다.
도 8은 가속도 센서를 역진자 시스템(도립진자 시스템, Inverted Pendulum system)에 따라 나타낸 도면이다.
도 9는 가속도 센서의 자세에 따른 중력 가속도를 설명하기 위한 도면이다.
도 10은 1축 방향의 선형 가속도를 나타낸 도면이다.
도 11은 본 발명의 실시예에 따른 점프 신호 발생 여부의 판단 과정을 설명하기 위한 도면이다.
도 12 및 도 13은 본 발명의 실시예에 따른 제1 모션을 구현하는 과정을 설명하기 위한 도면이다.
도 14는 본 발명의 실시예에 따른 제2 모션 구현시 이동량을 산출하는 과정을 설명하기 위한 도면이다.
도 15는 제2 구현부에 의해 구현된 제2 모션의 시뮬레이션 결과를 나타낸 도면이다.
도 16은 본 발명의 실시예에 따른 발 오브젝트를 설명하기 위한 도면이다.
도 17은 본 발명의 실시예에 따른 제2 모션 구현시 발 모션의 구현 과정을 설명하기 위한 도면이다.
도 18은 본 발명의 실시예에 따른 발 모션의 구현 결과를 나타낸 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제2, 제1 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 실시예에 따른 모션 캡쳐 시스템을 나타낸 구성도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 모션 캡쳐 시스템은 모션 센서 모듈(100) 및 모션 캡쳐 장치(200)를 포함할 수 있다.
모션 센서 모듈(100)은 측정 대상자의 신체에 부착되어 측정 대상자의 자세를 측정한다. 모션 센서 모듈(100)은 측정을 통해 생성된 센싱 데이터를 통신망을 통해 모션 캡쳐 장치(200)로 전송한다. 모션 센서 모듈(100)은 복수의 서브 모듈(110)과 하나의 메인 모듈(120)로 구성될 수 있다.
서브 모듈(110)은 측정 대상자의 신체 각 부위에 부착되어 측정 대상자의 자세를 측정한다. 복수의 서브 모듈(110) 각각은 신체의 각 분절(예를 들어, 머리, 상완, 하완 등)에 부착되어 각 분절의 자세 정보를 측정할 수 있다. 서브 모듈(110)은 서로 다른 자세 정보를 측정하는 적어도 하나의 센서를 포함할 수 있다. 서브 모듈(110)은 3축의 자이로 센서, 3축 가속도 센서, 3축 지자기 센서 중 적어도 하나를 포함할 수 있다.
메인 모듈(120)은 서브 모듈(110)로부터 센싱 데이터를 수집한 후 이를 모션 캡쳐 장치(200)로 전송한다. 일 실시예에 따르면, 메인 모듈(120)은 1:N 통신이 가능하고 양방향 송수신이 가능한 유선통신을 통해 서브 모듈(110)과 연결될 수 있다. 메인 모듈(120)은 배터리를 통해 전력을 공급받을 수 있으며, 배터리의 전력을 각 서브 모듈(110)로 전달할 수도 있다.
모션 캡쳐 장치(200)는 모션 센서 모듈(100)로부터 수신된 센싱 데이터를 처리하여 모션 데이터를 생성하고, 모션 데이터를 통해 3차원 캐릭터를 구현한다. 모션 캡쳐 장치(200)는 데이터를 저장하고 처리하기 위한 프로세서, 램 및 저장 장치 등을 포함할 수 있다. 예를 들어, 모션 캡쳐 장치(200)는 PC(personal computer)나 서버 등으로 구현될 수 있다.
도 2는 본 발명의 실시예에 따른 서브 모듈의 배치를 설명하기 위한 도면이다.
본 발명의 실시예에 따르면, 복수의 서브 모듈(110)은 기 설정된 분절(segment) 각각에 배치될 수 있다. 여기서, 분절은 인체를 커다란 부위별로 구분한 부위를 의미할 수 있다. 예를 들어, 도 2에 도시된 것처럼, 분절은 머리, 몸통, 둔부, 목, 대퇴, 하퇴, 발, 상완, 하완, 손(0 내지 14)으로 구성될 수 있다. 이 경우, 서브 모듈(110)은 적어도 15개로 구성될 수 있으며, 각 분절에 적어도 하나의 서브 모듈(110)이 배치될 수 있다.
복수의 서브 모듈(110)은 지자기 센서를 포함할 수 있다. 이에 따라, 복수의 서브 모듈(110)은 3축의 회전값을 포함하는 센싱 데이터를 생성할 수 있다. 복수의 서브 모듈(110) 중 둔부(0)에 부착된 서브 모듈(110)은 3축 가속도 센서를 더 포함할 수 있다. 따라서, 둔부(0)에 부착된 서브 모듈(110)은 3축의 가속도 측정값을 더 포함하는 센싱 데이터를 생성할 수 있다.
도 3은 본 발명의 실시예에 따른 모션 캡쳐 장치의 구성도이다.
도 3을 참조하면, 본 발명의 실시예에 따른 모션 캡쳐 장치(200)는 산출부(210), 판단부(220), 제1 구현부(230) 및 제2 구현부(240)를 포함한다.
우선, 산출부(210)는 측정 대상자의 자세를 측정한 센싱 데이터에 기초하여 가속도 측정값에 대한 선형 가속도를 산출한다.
구체적으로, 산출부(210)는 가속도 센서의 자세 정보에 기초하여 가속도 센서에 대한 3축의 중력 가속도를 산출할 수 있다. 그리고, 산출부(210)는 3축의 가속도 측정값에서 3축의 중력 가속도를 제거하여 3축의 선형 가속도를 산출할 수 있다.
판단부(220)는 선형 가속도에 기초하여 점프 신호가 발생하였는지 여부를 판단한다.
구체적으로, 판단부(220)는 3축의 선형 가속도 중 중력 방향에 대응하는 축에 대한 제1 선형 가속도와 기 설정된 임계값을 비교할 수 있다. 판단부(220)는 제1 선형 가속도가 임계값보다 크면 점프 신호가 발생하였다고 판단하고, 제1 선형 가속도가 상기 임계값보다 작거나 같으면 점프 신호가 발생하지 않았다고 판단할 수 있다.
제1 구현부(230)는 점프 신호가 발생하였다고 판단되면, 선형 가속도 및 센싱 데이터에 기초하여 연속하는 제1 내지 제3 동작 구간에 따른 가상 캐릭터의 제1 모션을 구현한다.
여기서, 제1 동작 구간은 제1 선형 가속도가 양의 방향으로 증가하는 제1 시점부터 제1 선형 가속도가 양의 값에서 음의 값으로 변하는 제2 시점까지를 의미할 수 있다. 제2 동작 구간은 제2 시점부터 제1 선형 가속도가 음의 값에서 양의 값으로 변하는 제3 시점까지를 의미할 수 있다. 제3 동작 구간은 제3 시점부터 제1 선형 가속도의 변화가 소정의 임계값 이하가 되는 제4 시점까지를 의미할 수 있다.
구체적으로, 제1 구현부(230)는 센싱 데이터에 포함된 회전 측정값에 기초하여 제1 동작 구간에 따른 제1 점프 모션을 구현할 수 있다. 제1 구현부(230)는 회전 측정값에 기초하여 제2 동작 구간에 따른 제2 점프 모션을 구현하되, 선형 가속도의 적분값에 기초하여 제2 점프 모션의 점프량을 구현할 수 있다. 제1 구현부(230)는 회전 측정값에 기초하여 제3 동작 구간에 따른 제3 점프 모션을 구현할 수 있다.
제2 구현부(240)는 점프 신호가 발생하지 않았다고 판단되면, 센싱 데이터로부터 생성된 허리 노드의 위치 좌표와 복수의 발목 노드의 위치 좌표에 기초하여 가상 캐릭터의 제2 모션을 구현한다.
구체적으로, 제2 구현부(240)는 복수의 발목 노드에 대한 위치 좌표 중 높이축의 좌표값과 기 설정된 제1 기준값 사이의 차이가 가장 적은 제1 발목 노드를 선택할 수 있다. 제2 구현부(240)는 허리 노드의 위치 좌표와 제1 발목 노드의 위치 좌표를 이용하여 허리 노드와 제1 발목 노드 사이의 방향 벡터를 산출할 수 있다. 제2 구현부(240)는 제1 프레임과 연속하는 제2 프레임 사이의 방향 벡터의 차이값에 기초하여 산출된 허리 노드의 변위량을 가상 캐릭터의 이동량으로 설정하여 제2 모션을 구현할 수 있다.
한편, 복수의 발목 노드와 연결되는 복수의 발 오브젝트는, 발의 앞꿈치에 대응하는 제1 서브 오브젝트, 뒷꿈치에 대응하는 제2 서브 오프젝트 및 제1 서브 오브젝트와 제2 서브 오브젝트를 연결하는 발 노드를 각각 포함할 수 있다.
이를 통해, 제2 구현부(240)는 복수의 발목 노드 중 제2 발목 노드에 대응하는 발 노드의 높이축 좌표값이 기 설정된 제2 기준값보다 크면, 제2 발목 노드의 제1 서브 오브젝트와 제2 서브 오브젝트가 동일한 자세를 유지하도록 제2 발목 노드에 대응하는 발노드의 회전 좌표를 설정할 수 있다. 반면, 제2 구현부(240)는 제2 발목 노드에 대응하는 발노드의 높이축 좌표값이 기 설정된 제2 기준값보다 작거나 같으면, 제2 발목 노드의 제1 서브 오브젝트가 기 설정된 기준면과 수평을 유지하도록 제2 발목 노드에 대응하는 발 노드의 회전 좌표를 설정할 수 있다.
도 4는 본 발명의 실시예에 따른 모션 캡쳐 방법의 순서도이다.
도 4를 참조하면, 우선, 산출부(210)는 측정 대상자의 자세를 측정한 센싱 데이터에 기초하여 가속도 측정값에 대한 선형 가속도를 산출한다(S410).
그러면, 판단부(220)는 선형 가속도에 기초하여 점프 신호가 발생하였는지 여부를 판단한다(S420).
점프 신호가 발생하였다고 판단되면, 제1 구현부(230)는 선형 가속도 및 상기 센싱 데이터에 기초하여 연속하는 제1 내지 제3 동작 구간에 따른 가상 캐릭터의 제1 모션을 구현한다(S430).
반면, 점프 신호가 발생하지 않았다고 판단되면, 제2 구현부(240)는 센싱 데이터로부터 생성된 허리 노드의 위치 좌표와 복수의 발목 노드의 위치 좌표에 기초하여 가상 캐릭터의 제2 모션을 구현한다(S440).
도 5는 도 4의 S410 및 S420 단계를 상세하게 나타낸 순서도이다.
도 5를 참조하면, S410 단계는 S411 단계와 S412 단계를 포함할 수 있다.
우선, 산출부(210)는 가속도 센서의 자세 정보에 기초하여 가속도 센서에 대한 3축의 중력 가속도를 산출할 수 있다(S411).
그리고, 산출부(210)는 3축의 가속도 측정값에서 3축의 중력 가속도를 제거하여 3축의 선형 가속도를 산출할 수 있다(S412).
도 5를 참조하면, S420 단계는 S421 내지 S423 단계를 포함할 수 있다.
S412 단계 후, 판단부(220)는 3축의 선형 가속도 중 중력 방향에 대응하는 축에 대한 제1 선형 가속도와 기 설정된 임계값을 비교할 수 있다(S421).
판단부(220)는 제1 선형 가속도가 임계값보다 크면 점프 신호가 발생하였다고 판단할 수 있다(S422). 반면, 판단부(220)는 제1 선형 가속도가 임계값보다 작거나 같으면 점프 신호가 발생하지 않았다고 판단할 수 있다(S423).
도 6은 도 4의 S430 단계를 상세하게 나타낸 순서도이다.
도 6을 참조하면, S430 단계는 S431 내지 S433 단계를 포함할 수 있다.
우선, 제1 구현부(230)는 센싱 데이터에 포함된 회전 측정값에 기초하여 제1 동작 구간에 따른 제1 점프 모션을 구현할 수 있다(S431). 제1 동작 구간은 제1 선형 가속도가 양의 방향으로 증가하는 제1 시점부터 제1 선형 가속도가 양의 값에서 음의 값으로 변하는 제2 시점까지일 수 있다.
다음으로, 제1 구현부(230)는 회전 측정값에 기초하여 제2 동작 구간에 따른 제2 점프 모션을 구현하되, 선형 가속도의 적분값에 기초하여 제2 점프 모션의 점프량을 구현할 수 있다(S432). 제2 동작 구간은 제2 시점부터 제1 선형 가속도가 음의 값에서 양의 값으로 변하는 제3 시점까지일 수 있다.
다음으로, 제1 구현부(230)는 회전 측정값에 기초하여 제3 동작 구간에 따른 제3 점프 모션을 구현할 수 있다(S433). 상기 제3 동작 구간은 제3 시점부터 제1 선형 가속도의 변화가 소정의 임계값 이하가 되는 제4 시점까지일 수 있다.
도 7은 도 4의 S440 단계를 상세하게 나타낸 순서도이다.
도 7을 참조하면, S440 단계는 S441 내지 S446 단계를 포함할 수 있다.
우선, 제2 구현부(240)는 복수의 발목 노드에 대한 위치 좌표 중 높이축의 좌표값과 기 설정된 제1 기준값 사이의 차이가 가장 적은 제1 발목 노드를 선택할 수 있다(S441).
다음으로, 제2 구현부(240)는 허리 노드의 위치 좌표와 제1 발목 노드의 위치 좌표를 이용하여 허리 노드와 상기 제1 발목 노드 사이의 방향 벡터를 산출할 수 있다(S442).
그러면, 제2 구현부(240)는 제1 프레임과 연속하는 제2 프레임 사이의 방향 벡터의 차이값에 기초하여 가상 캐릭터의 이동량을 산출할 수 있다. 가상 캐릭터의 이동량은 산출된 허리 노드의 변위량을 통해 설정될 수 있다.
복수의 발목 노드와 연결되는 복수의 발 오브젝트는 발의 앞꿈치에 대응하는 제1 서브 오브젝트, 뒷꿈치에 대응하는 제2 서브 오프젝트 및 제1 서브 오브젝트와 상기 제2 서브 오브젝트를 연결하는 발 노드를 각각 포함할 수 있다.
제2 구현부(240)는 복수의 발목 노드 중 제2 발목 노드에 대응하는 발 노드의 높이축 좌표값이 기 설정된 제2 기준값을 비교할 수 있다(S444).
비교 결과 크면, 제2 구현부(240)는 제2 발목 노드의 제1 서브 오브젝트와 제2 서브 오브젝트가 동일한 자세를 유지하도록 제2 발목 노드에 대응하는 발노드의 회전 좌표를 설정할 수 있다(S445).
비교 결과 작거나 같으면, 제2 구현부(240)는 제2 발목 노드의 제1 서브 오브젝트가 기 설정된 기준면과 수평을 유지하도록 제2 발목 노드에 대응하는 발 노드의 회전 좌표를 설정할 수 있다.
도 8 내지 도 10은 본 발명의 실시예에 따른 선형 가속도 산출 과정을 설명하기 위한 도면이다.
본 발명의 실시예에 따른 판단부(220)는 가속도 측정값에 대한 선형 가속도 값을 산출한다.
가속도 센서는 움직임에 따른 3축 방향의 가속도뿐만 아니라 지구의 중심으로 향하는 중력 가속도를 포함하여 가속도 측정값을 출력한다. 따라서, 움직임에 따른 3축 방향의 가속도 값이 정확히 산출되기 위해서는 가속도 측정값으로부터 중력 가속도 성분이 제거되어야 한다. 이를 위하여, 판단부(220)는 가속도 센서의 자세 정보에 기초하여 중력 가속도를 계산하고 계산된 중력 가속도를 가속도 측정값에서 제거함으로써 3축 방향의 선형 가속도를 산출할 수 있다.
도 8은 가속도 센서를 역진자 시스템(도립진자 시스템, Inverted Pendulum system)에 따라 나타낸 도면이다.
도 8을 참조하면, 역진자 시스템에서 가속도 센서가 X-Z 평면상에서 운동할 경우, 가속도 센서는 접선 가속도(a1)와 법선 가속도(a2)를 가질 수 있다. 그러나, 가속도 측정값은 중력(g)에 따른 성분이 더해지므로, 제1 중력 가속도(g1)와 제2 중력 가속도(g2)를 더 포함하게 된다. 따라서, 가속도 센서의 가속도(v)는 아래의 수학식 1과 같이 나타낼 수 있다.
Figure 112019123581868-pat00001
여기서,
Figure 112019123581868-pat00002
는 접선 가속도(a1)를 의미하고,
Figure 112019123581868-pat00003
은 법선 가속도(a2)를 의미하고, gsinθ 및 gcosθ는 제1 중력 가속도(g1) 및 제2 중력 가속도(g2)를 의미한다.
따라서, 가속도 센서의 측정값(fb)은 아래의 수학식 2와 같이 나타낼 수 있다.
Figure 112019123581868-pat00004
여기서,
Figure 112019123581868-pat00005
는 가속도 센서의 가속도를 의미하고, wb*vb는 가속도 센서의 각 가속도를 의미하고, cb ng0는 가속도 센서에 가해지는 중력 가속도의 합을 의미한다.
도 9는 가속도 센서의 자세에 따른 중력 가속도를 설명하기 위한 도면이다.
도 9는 가속도 센서의 자세에 따른 y축과 z축에서의 중력 가속도를 나타낸다.
도 9를 참조하면, 판단부(220)는 가속도 센서가 지구 수평면과 이루는 각도를 이용하여 중력 가속도(fx, fy, fz)를 역산할 수 있다. 중력 가속도는 아래의 수학식 3을 통해 산출될 수 있다.
Figure 112019123581868-pat00006
여기서, 여기서, θ는 지구 수평면과 가속도 센서의 y축 면이 이루는 각도를 의미하고, φ는 지구 수평면과 가속도 센서의 x축 면이 이루는 각도를 의미한다.
도 10은 1축 방향의 선형 가속도를 나타낸 도면이다.
도 10은 z축 방향에서의 가속도 측정값 및 이에 대응하는 선형 가속도를 나타낸다. 도 10에 도시된 것처럼, 산출부(210)는 가속도 측정값에서 중력 가속도 성분을 제거하여 선형 가속도를 산출할 수 있다. 선형 가속도는 중력 가속도 성분이 미포함된 값이므로, 가속도 측정값과 출력의 형태는 유사하나 크기가 적게 나타날 수 있다. 산출부(210)는 가속도 측정값의 3축 각각에 대해서 중력 가속도 성분을 제거하여 3축에 대한 선형 가속도를 산출할 수 있다.
도 11은 본 발명의 실시예에 따른 점프 신호 발생 여부의 판단 과정을 설명하기 위한 도면이다.
도 11은 측정 대상자가 연속으로 점프를 진행한 상황에서 z축의 선형 가속도를 도시한다. 도 11에 도시된 것처럼, 측정 대상자가 점프를 수행하지 않은 경우 선형 가속도가 기준값(0)에서 큰 변화가 없으나, 점프시 z축 방향에서 선형 가속도의 값이 크게 변함을 알 수 있다.
도 11에서, 판단부(220)는 z축에 대한 선형 가속도와 기 설정된 임계값(0.5g)을 비교하고, 선형 가속도가 임계값을 초과하는 경우 점프 신호가 발생하였다고 판단한다. z축의 선형 가속도는 측정 대상자의 점프 동작 이외에도 다소간의 크기 변화가 발생할 수 있으므로, 임계값은 이러한 변수를 고려하여 당업자에 의해 설정될 수 있다.
도 12 및 도 13은 본 발명의 실시예에 따른 제1 모션을 구현하는 과정을 설명하기 위한 도면이다.
본 발명의 실시예에 따른 제1 모션은 점프 모션을 의미할 수 있다.
제1 모션 중 제1 동작 구간은 점프의 시작부터 이지(toe-off)하는 시점까지의 구간을 의미할 수 있다. 도 12를 참조하면, 제1 동작 구간은 점프 시작시 측정 대상자가 무릎을 굽혔을 때의 시점인 점프의 시작 시점(A)부터 발이 지면으로부터 떨어지는 시점(B)까지의 구간 정의할 수 있다. 도 13을 참조하면, 선형 가속도가 양의 방향으로 증가하는 시점(A)부터 선형 가속도가 양의 값에서 음의 값으로 변하는 시점(B)까지의 구간 정의할 수 있다. 제1 구현부(230)는 제1 동작 구간에 대한 모션 구현시, 센싱 데이터에 포함된 회전 측정값에 기초하여 제1 동작 구간에 따른 제1 점프 모션을 구현할 수 있다. 즉, 제1 동작 구간에 대한 모션 구현시, 선형 가속도 정보는 이용되지 않을 수 있다.
제2 모션 중 제2 동작 구간은 이지(toe-off)하는 시점부터 착지 직전 시점까지의 구간을 의미할 수 있다. 도 12를 참조하면, 제2 동작 구간은 이지하는 시점(B)에서 측정 대상자가 최고점에 도달하는 시점(C)을 지나 발이 지면에 닿는 시점(D)까지의 구간으로 정의할 수 있다. 도 13을 참조하면, 선형 가속도가 양의 값에서 음의 값으로 변하는 시점(B)에서 선형 가속도가 음의 값에서 양의 값으로 변하는 시점까지의 구간으로 정의할 수 있다. 제1 구현부(230)는 제2 동작 구간에 대한 모션 구현시, 회전 측정값 및 선형 가속도의 적분값에 기초하여 제2 점프 모션을 구현한다. 이때, 제1 구현부(230)는 선형 가속도의 적분을 통해 점프량을 산출하고, 적분값을 통해 제2 점프 모션에서의 점프 이동량을 구현하게 된다.
제3 모션 중 제3 동작 구간은 착지 구간을 의미할 수 있다. 도 12를 참조하면, 제3 동작 구간은 발이 지면에 닿는 시점(D)부터 측정 대상자의 착지 동작이 완료되는 시점까지의 구간으로 정의할 수 있다. 도 13을 참조하면, 선형 가속도가 음의 값에서 양의 값으로 변하는 시점(D)부터 소정의 시점(예를 들어, 선형 가속도의 변화가 소정의 임계값 이하가 되는 시점)까지의 구간으로 정의할 수 있다. 제1 구현부(230)는 제3 동작 구간에 대한 모션 구현시, 센싱 데이터에 포함된 회전 측정값에 기초하여 제3 동작 구간에 따른 제3 점프 모션을 구현할 수 있다. 즉, 제3 동작 구간에 대한 모션 구현시, 선형 가속도 정보는 이용되지 않을 수 있다.
이와 같이, 본 발명의 실시예에 따른 제1 구현부(230)는 측정 대상자의 공중 체류 구간에 대해서만 가속도 정보를 적분하여 점프 모션을 구현함으로써, 가속도 신호의 이중 적분시 발생하는 오차 누적을 최소화하여 정확한 점프 모션을 구현할 수 있다.
도 14는 본 발명의 실시예에 따른 제2 모션 구현시 이동량을 산출하는 과정을 설명하기 위한 도면이다.
도 14에서는 골격 구조를 도시하고 있다. 골격 구조는 허리 노드(a), 제1 무릎 노드(b), 제1 발목 노드(c), 제2 무릎노드(d), 제2 발목 노드(e)를 포함한다. 그리고, 골격 구조는 허리 노드(a)와 제1 무릎 노드(b) 사이의 제1 오브젝트, 제1 무릎 노드(b)와 제1 발목 노드(c) 사이의 제2 오브젝트, 제1 발목 노드(c)에 연결된 제3 오브젝트를 포함한다. 그리고, 골격 구조는 허리 노드(a)와 제2 무릎 노드(d) 사이의 제4 오브젝트, 제2 무릎 노드(d)와 제2 발목 노드(e) 사이의 제5 오브젝트, 제2 발목 노드(e)에 연결된 제6 오브젝트를 포함한다.
우선, 제2 구현부(240)는 제1 발목 노드(c)와 제2 발목 노드(e)의 높이축 좌표값과 기준값(Ref) 사이의 차이값을 산출한다. 그리고, 제2 구현부(240)는 제1 발목 노드(c)와 기준값(Ref)의 제1 차이값(d1)과 제2 발목 노드(e)와 기준값(Ref)의 제2 차이값(d2)을 비교한다. 제1 차이값(d1)과 제2 차이값(d2) 중 제1 차이값이 더 작으므로, 제2 구현부(240)는 제1 차이값(d1)에 대응하는 제1 발목 노드(c)를 선택할 수 있다.
그리고, 제2 구현부(240)는 허리 노드(a)의 위치 좌표와 선택된 제1 발목 노드(c)의 위치 좌표를 통해 허리 노드(a)와 제1 발목 노드 사이의 방향 벡터(Vector)를 산출한다.
이와 같은 과정은 프레임마다 수행될 수 있고, 제2 구현부(240)는 연속하는 프레임 사이의 방향 벡터의 차이값을 산출한다. 방향 벡터의 차이값은 허리 노드(a)를 기준으로 하는 제1 발목 노드(c)의 변위량을 의미한다. 이는, 제1 발목 노드(c)를 기준으로 하는 허리 노드(a)의 변위량을 의미할 수 있다. 즉, 제2 구현부(240)는 방향 벡터의 차이값을 통해 허리 노드(a)의 변위량을 산출할 수 있다.
제2 구현부(240)는 허리 노드(a)의 변위량을 가상 캐릭터의 이동량으로 설정함으로써 제2 모션을 구현한다.
도 15는 제2 구현부에 의해 구현된 제2 모션의 시뮬레이션 결과를 나타낸 도면이다.
도 15를 참조하면, 제2 구현부(240)에 의해 구현된 제2 모션에서 가상 캐릭터의 이동이 지면에 가까운 발(도면에서 박스가 표시된 발)을 기준으로 보행하는 모습이 나타남을 알 수 있다.
도 16은 본 발명의 실시예에 따른 발 오브젝트를 설명하기 위한 도면이다.
본 발명의 실시예에 따르면, 발 오브젝트는 발의 앞꿈치에 대응하는 제1 서브 오브젝트, 뒷꿈치에 대응하는 제2 서브 오프젝트 및 제1 서브 오브젝트와 상기 제2 서브 오브젝트를 연결하는 발 노드를 포함한다.
도 16을 참조하면, 제1 서브 오브젝트는 발목 노드와 발 노드 사이에 배치되고, 제2 서브 오브젝트는 발 노드와 연결되도록 배치된다. 이와 같이, 본 발명의 실시예에 따른 발 오브젝트는 하나의 오브젝트가 아닌 2개의 서브 오브젝트로 구분하여 구현함으로써 자연스러운 모션을 구현할 수 있다.
도 17은 본 발명의 실시예에 따른 제2 모션 구현시 발 모션의 구현 과정을 설명하기 위한 도면이다.
도 17은 제2 구현부(240)는 제2 발목 노드에 대응하는 발 오브젝트의 구현 과정을 나타낸다. 도 14를 참조하면, 제2 발목 노드는 2개의 발목 노드 중 기준값과의 차이값이 더 큰 발목 노드를 의미한다.
제2 구현부(240)는 제2 발목 노드에 대응하는 발 노드의 높이축 좌표값이 기 설정된 제2 기준값을 비교한다. 여기서, 제2 기준값은 앞서 도 14를 참조하여 설명한 기준값과 다른 값을 의미할 수 있다.
Case1의 경우처럼, 제2 발목 노드에 대응하는 발노드(h)의 높이축 좌표값이 제2 기준값(Ref2)보다 보다 크면, 제2 구현부(240)는 제2 발목 노드의 제1 서브 오브젝트와 제2 서브 오브젝트가 동일한 자세를 유지하도록 제2 발목 노드에 대응하는 발노드의 회전 좌표를 설정한다. 즉
Case2의 경우처럼, 제2 발목 노드에 대응하는 발노드(h)의 높이축 좌표값이 제2 기준값(Ref2)보다 작거나 같으면, 제2 구현부(240)는 제2 발목 노드의 제1 서브 오브젝트가 기 설정된 기준면(Ref1)과 수평을 유지하도록 제2 발목 노드에 대응하는 발 노드의 회전 좌표를 설정한다.
도 18은 본 발명의 실시예에 따른 발 모션의 구현 결과를 나타낸 도면이다.
도 18의 (a)는 본 발명의 실시예에 따른 발 모션의 구현 단계를 적용하지 않은 경우, 가상 캐릭터의 구현예를 도시하고 있다. 도 18의 (a)에 도시된 것처럼, 본 발명의 실시예에 따른 발 모션의 구현 단계가 적용되지 않은 경우, 발 앞꿈치가 지면을 뚫고 들어가게 되는 부자연스러운 모션이 구현됨을 알 수 있다.
하지만, 도 18의 (b)에 도시된 것처럼, 본 발명의 실시예에 따른 제2 구현부(240)에 의해 발 모션을 구현할 경우, 발 앞꿈치가 지면을 뚫고 나가는 현상이 발생하지 않으므로 자연스러운 모션이 구현됨을 알 수 있다.
본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field-programmable gate array) 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
이상에서 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
100 : 모션 센서 모듈
110 : 서브 모듈
120 : 메인 모듈
200 : 모션 캡쳐 장치
210 : 산출부
220 : 판단부
230 : 제1 구현부
240 : 제2 구현부

Claims (14)

  1. 측정 대상자의 자세를 측정한 센싱 데이터에 기초하여 가속도 측정값에 대한 선형 가속도를 산출하는 산출부,
    상기 선형 가속도에 기초하여 점프 신호가 발생하였는지 여부를 판단하는 판단부,
    상기 점프 신호가 발생하였다고 판단되면, 상기 선형 가속도 및 상기 센싱 데이터에 기초하여 연속하는 제1 내지 제3 동작 구간에 따른 가상 캐릭터의 제1 모션을 구현하는 제1 구현부, 그리고
    상기 점프 신호가 발생하지 않았다고 판단되면, 상기 센싱 데이터로부터 생성된 허리 노드의 위치 좌표와 복수의 발목 노드의 위치 좌표에 기초하여 상기 가상 캐릭터의 제2 모션을 구현하는 제2 구현부를 포함하며,
    상기 산출부는,
    가속도 센서의 자세 정보에 기초하여 상기 가속도 센서에 대한 3축의 중력 가속도를 산출하고, 3축의 가속도 측정값에서 상기 3축의 중력 가속도를 제거하여 3축의 선형 가속도를 산출하며,
    상기 제1 동작 구간은, 상기 3축의 선형 가속도 중 중력 방향에 대응하는 축에 대한 제1 선형 가속도가 양의 방향으로 증가하는 제1 시점부터 상기 제1 선형 가속도가 양의 값에서 음의 값으로 변하는 제2 시점까지이고,
    상기 제2 동작 구간은, 상기 제2 시점부터 상기 제1 선형 가속도가 음의 값에서 양의 값으로 변하는 제3 시점까지이고,
    상기 제3 동작 구간은, 상기 제3 시점부터 상기 제1 선형 가속도의 변화가 소정의 임계값 이하가 되는 제4 시점까지인 모션 캡쳐 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 판단부는,
    상기 제1 선형 가속도와 기 설정된 임계값을 비교하고,
    상기 제1 선형 가속도가 상기 임계값보다 크면 상기 점프 신호가 발생하였다고 판단하고, 상기 제1 선형 가속도가 상기 임계값보다 작거나 같으면 상기 점프 신호가 발생하지 않았다고 판단하는 모션 캡쳐 장치.
  4. 삭제
  5. 제1항에 있어서,
    상기 제1 구현부는,
    상기 센싱 데이터에 포함된 회전 측정값에 기초하여 상기 제1 동작 구간에 따른 제1 점프 모션을 구현하고,
    상기 회전 측정값에 기초하여 상기 제2 동작 구간에 따른 제2 점프 모션을 구현하되, 상기 선형 가속도의 적분값에 기초하여 상기 제2 점프 모션의 점프량을 구현하고,
    상기 회전 측정값에 기초하여 상기 제3 동작 구간에 따른 제3 점프 모션을 구현하는 모션 캡쳐 장치.
  6. 제1항에 있어서,
    상기 제2 구현부는,
    상기 복수의 발목 노드에 대한 위치 좌표 중 높이축의 좌표값과 기 설정된 제1 기준값 사이의 차이가 가장 적은 제1 발목 노드를 선택하고,
    상기 허리 노드의 위치 좌표와 상기 제1 발목 노드의 위치 좌표를 이용하여 상기 허리 노드와 상기 제1 발목 노드 사이의 방향 벡터를 산출하고,
    제1 프레임과 연속하는 제2 프레임 사이의 방향 벡터의 차이값에 기초하여 산출된 상기 허리 노드의 변위량을 상기 가상 캐릭터의 이동량으로 설정하여 상기 제2 모션을 구현하는 모션 캡쳐 장치.
  7. 제6항에 있어서,
    상기 복수의 발목 노드와 연결되는 복수의 발 오브젝트는,
    발의 앞꿈치에 대응하는 제1 서브 오브젝트, 뒷꿈치에 대응하는 제2 서브 오브젝트 및 상기 제1 서브 오브젝트와 상기 제2 서브 오브젝트를 연결하는 발 노드를 각각 포함하고,
    상기 제2 구현부는,
    상기 복수의 발목 노드 중 제2 발목 노드에 대응하는 발 노드의 높이축 좌표값이 기 설정된 제2 기준값보다 크면, 상기 제2 발목 노드의 제1 서브 오브젝트와 제2 서브 오브젝트가 동일한 자세를 유지하도록 상기 제2 발목 노드에 대응하는 발노드의 회전 좌표를 설정하고,
    상기 제2 발목 노드에 대응하는 발노드의 높이축 좌표값이 기 설정된 제2 기준값보다 작거나 같으면, 상기 제2 발목 노드의 제1 서브 오브젝트가 기 설정된 기준면과 수평을 유지하도록 상기 제2 발목 노드에 대응하는 발 노드의 회전 좌표를 설정하는 모션 캡쳐 장치.
  8. 모션 캡쳐 장치를 이용한 모션 캡쳐 방법에 있어서,
    상기 모션 캡쳐 장치가 측정 대상자의 자세를 측정한 센싱 데이터에 기초하여 가속도 측정값에 대한 선형 가속도를 산출하는 단계,
    상기 모션 캡쳐 장치가 상기 선형 가속도에 기초하여 점프 신호가 발생하였는지 여부를 판단하는 단계,
    상기 모션 캡쳐 장치가 상기 점프 신호가 발생하였다고 판단되면, 상기 선형 가속도 및 상기 센싱 데이터에 기초하여 연속하는 제1 내지 제3 동작 구간에 따른 가상 캐릭터의 제1 모션을 구현하는 단계, 그리고
    상기 모션 캡쳐 장치가 상기 점프 신호가 발생하지 않았다고 판단되면, 상기 센싱 데이터로부터 생성된 허리 노드의 위치 좌표와 복수의 발목 노드의 위치 좌표에 기초하여 상기 가상 캐릭터의 제2 모션을 구현하는 단계를 포함하며,
    상기 가속도 측정값에 대한 선형 가속도를 산출하는 단계는,
    가속도 센서의 자세 정보에 기초하여 상기 가속도 센서에 대한 3축의 중력 가속도를 산출하는 단계, 그리고
    3축의 가속도 측정값에서 상기 3축의 중력 가속도를 제거하여 3축의 선형 가속도를 산출하는 단계를 포함하고,
    상기 제1 동작 구간은, 상기 3축의 선형 가속도 중 중력 방향에 대응하는 축에 대한 제1 선형 가속도가 양의 방향으로 증가하는 제1 시점부터 상기 제1 선형 가속도가 양의 값에서 음의 값으로 변하는 제2 시점까지이고,
    상기 제2 동작 구간은, 상기 제2 시점부터 상기 제1 선형 가속도가 음의 값에서 양의 값으로 변하는 제3 시점까지이고,
    상기 제3 동작 구간은, 상기 제3 시점부터 상기 제1 선형 가속도의 변화가 소정의 임계값 이하가 되는 제4 시점까지인 모션 캡쳐 방법.
  9. 삭제
  10. 제8항에 있어서,
    상기 점프 신호가 발생하였는지 여부를 판단하는 단계는,
    상기 제1 선형 가속도와 기 설정된 임계값을 비교하는 단계, 그리고
    상기 제1 선형 가속도가 상기 임계값보다 크면 상기 점프 신호가 발생하였다고 판단하고, 상기 제1 선형 가속도가 상기 임계값보다 작거나 같으면 상기 점프 신호가 발생하지 않았다고 판단하는 단계를 포함하는 모션 캡쳐 방법.
  11. 삭제
  12. 제8항에 있어서,
    상기 제1 내지 제3 동작 구간에 따른 모션을 구현하는 단계는,
    상기 센싱 데이터에 포함된 회전 측정값에 기초하여 상기 제1 동작 구간에 따른 제1 점프 모션을 구현하는 단계,
    상기 회전 측정값에 기초하여 상기 제2 동작 구간에 따른 제2 점프 모션을 구현하되, 상기 선형 가속도의 적분값에 기초하여 상기 제2 점프 모션의 점프량을 구현하는 단계, 그리고
    상기 회전 측정값에 기초하여 상기 제3 동작 구간에 따른 제3 점프 모션을 구현하는 단계를 포함하는 모션 캡쳐 방법.
  13. 제8항에 있어서,
    상기 가상 캐릭터의 제2 모션을 구현하는 단계는,
    상기 복수의 발목 노드에 대한 위치 좌표 중 높이축의 좌표값과 기 설정된 제1 기준값 사이의 차이가 가장 적은 제1 발목 노드를 선택하는 단계,
    상기 허리 노드의 위치 좌표와 상기 제1 발목 노드의 위치 좌표를 이용하여 상기 허리 노드와 상기 제1 발목 노드 사이의 방향 벡터를 산출하는 단계, 그리고
    제1 프레임과 연속하는 제2 프레임 사이의 방향 벡터의 차이값에 기초하여 산출된 상기 허리 노드의 변위량을 상기 가상 캐릭터의 이동량으로 설정하여 상기 제2 모션을 구현하는 단계를 포함하는 모션 캡쳐 방법.
  14. 제13항에 있어서,
    상기 복수의 발목 노드와 연결되는 복수의 발 오브젝트는,
    발의 앞꿈치에 대응하는 제1 서브 오브젝트, 뒷꿈치에 대응하는 제2 서브 오브젝트 및 상기 제1 서브 오브젝트와 상기 제2 서브 오브젝트를 연결하는 발 노드를 각각 포함하고,
    상기 가상 캐릭터의 제2 모션을 구현하는 단계는,
    상기 복수의 발목 노드 중 제2 발목 노드에 대응하는 발 노드의 높이축 좌표값이 기 설정된 제2 기준값보다 크면, 상기 제2 발목 노드의 제1 서브 오브젝트와 제2 서브 오브젝트가 동일한 자세를 유지하도록 상기 제2 발목 노드에 대응하는 발노드의 회전 좌표를 설정하는 단계, 그리고
    상기 제2 발목 노드에 대응하는 발노드의 높이축 좌표값이 기 설정된 제2 기준값보다 작거나 같으면, 상기 제2 발목 노드의 제1 서브 오브젝트가 기 설정된 기준면과 수평을 유지하도록 상기 제2 발목 노드에 대응하는 발 노드의 회전 좌표를 설정하는 단계를 포함하는 모션 캡쳐 방법.
KR1020190157006A 2018-12-06 2019-11-29 센서 방식 모션 캡쳐 시스템 기반 모션 캡쳐 장치 및 그 방법 KR102229070B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180156371 2018-12-06
KR1020180156371 2018-12-06

Publications (2)

Publication Number Publication Date
KR20200069232A KR20200069232A (ko) 2020-06-16
KR102229070B1 true KR102229070B1 (ko) 2021-03-18

Family

ID=71141801

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190157006A KR102229070B1 (ko) 2018-12-06 2019-11-29 센서 방식 모션 캡쳐 시스템 기반 모션 캡쳐 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR102229070B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102648471B1 (ko) * 2021-05-26 2024-03-18 주식회사 아이팝 가상 소방훈련을 위한 하이브리드 모션 캡쳐 위치 전환 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020095315A (ko) * 2001-06-14 2002-12-26 (주)한국아이엔디 격투동작센싱장치
KR101926149B1 (ko) * 2016-11-07 2018-12-06 한양대학교 산학협력단 체감형 모바일 게임 시스템

Also Published As

Publication number Publication date
KR20200069232A (ko) 2020-06-16

Similar Documents

Publication Publication Date Title
US11402402B2 (en) Systems and methods for human body motion capture
US10679360B2 (en) Mixed motion capture system and method
KR101751760B1 (ko) 하지 관절 각도를 이용한 보행 인자 추정 방법
Zihajehzadeh et al. A novel biomechanical model-aided IMU/UWB fusion for magnetometer-free lower body motion capture
CN109284006B (zh) 一种人体运动捕获装置和方法
Ahmadi et al. 3D human gait reconstruction and monitoring using body-worn inertial sensors and kinematic modeling
US20100194879A1 (en) Object motion capturing system and method
CN111353355B (zh) 动作追踪系统及方法
JP2013500812A (ja) 運動学的連結の慣性計測
Zheng et al. Pedalvatar: An IMU-based real-time body motion capture system using foot rooted kinematic model
KR20200091709A (ko) 전자 장치 및 그 제어 방법
CN110609621B (zh) 姿态标定方法及基于微传感器的人体运动捕获系统
KR102229070B1 (ko) 센서 방식 모션 캡쳐 시스템 기반 모션 캡쳐 장치 및 그 방법
Abbate et al. Development of a MEMS based wearable motion capture system
Yuan et al. Human velocity tracking and localization using 3 IMU sensors
KR102172362B1 (ko) 인체 무게 중심의 이동을 이용한 모션 캡쳐 장치 및 그 방법
Groh et al. IMU-based pose determination of scuba divers' bodies and shanks
CN116206358A (zh) 一种基于vio系统的下肢外骨骼运动模式预测方法及系统
JP6599473B2 (ja) 歩行計測装置、歩行計測方法及びプログラム
CN109003300A (zh) 一种基于人体质心位移计算算法的虚拟现实系统
KR102229071B1 (ko) 압전 센서를 이용한 모션 구현 장치 및 그 방법
Schiefer et al. 3D human motion capturing based only on acceleration and angular rate measurement for low extremities
CN114723807A (zh) 质心轨迹确定方法、装置、足式机器人、设备及介质
WO2020070856A1 (ja) 座標値統合装置、座標値統合システム、座標値統合方法、及び座標値統合プログラム
Meng et al. Displacement estimation for different gait patterns in micro-sensor motion capture

Legal Events

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