1. 서 론
사람의 보행 모션은 영화, 게임 등에 빠지지 않고 등장하는 필수요소이나, 이를 사실적으로 표현하는 것은 매우 어려운 과제이다. 이는 우리가 오랫동안 사람의 보행 모션을 보아왔기에 작은 오점도 쉽게 찾아낼 수 있기 때문이다.
따라서 자연스러운 보행 모션을 표현하기 위한 다양한 연구가 이루어졌다. 가장 대표적인 것은 모션 캡처 데이터를 이용하는 것이다. 모션 캡처 데이터는 사실적인 보행 모션을 생성해주지만, 기본적으로 측정된 정보를 재생한다는 측면에서 다음과 같은 문제점들을 가진다.
1. 보행 루트를 다양화하기 위해서는 다양한 모션 캡처 데이터가 필요하다.
2. 계단 등 다양한 불규칙 지형 상에서의 보행 모션을 생성하기 어렵다.
첫 번째 문제는 모션 캡처 데이터를 보간하는 방식으로 완화 가능하다. 모션 그래프(motion graph)로 대표되는 모션 캡처 데이터 보간 기법은 다양한 모션 캡처 데이터들 간의 전이 가능 지점(transition point)을 계산한다[1]. 여기서 전이 가능 지점은 하나의 모션 데이터와 다른 모션 데이터를 선형 보간시, 자연스러운 결과 모션이 생성될 수 있는 지점을 의미한다. 하지만 이 기법은 전이 가능 지점에서만 모션 변경이 가능하고, 사용자가 실시간에 캐릭터의 보행 방향을 컨트롤하는 인터랙티브한 환경에 적용하기 어렵다는 한계를 가진다.
두 번째 문제는 역진자 모델(inverted pendulum model, IPM)을 사용하여 완화 가능하다. 역진자 모델 기반 보행 모션 생성 기법은 디딤발(stance foot), 나아가는 발(swing foot), 몸의 질량중심(center of mass)을 역진자로 근사한 후, 이를 시뮬레이션 하는 방식을 통해 다양한 지형 상에서 움직이는 캐릭터의 디딤발의 위치 및 질량중심의 이동 궤적을 계산한다. 그러나 이와 같이 계산된 데이터들을 기반으로 캐릭터 전신의 모션을 생성하기 위해서는 상체 움직임, 나아가는 발의 궤적 등을 추가로 고려해야 한다.
본 논문의 제안 기법은 모션 캡처 데이터 보간과 역진자 모델을 함께 이용한다. 덧붙여 두 기법이 가지는 단점들을 보완하기 위해 다음과 같은 방식을 취한다.
1. Gaussian process dynamical model (GPDM)을 적용하여 저차원 모션 데이터를 생성하고, 이를 보간하는 방식을 통해 적은 수의 예제만으로 사용자의 실시간 입력에 빠르게 반응하는 보행 모션을 생성한다.
2. 역진자 모델의 시뮬레이션 결과를 저차원 데이터 보간에 활용하여, 다양한 지형에 대해 자연스러운 전신 보행 모션을 생성한다.
본 논문의 핵심 내용은 저차원 모션 캡처 데이터 보간과 역진자 모델을 함께 이용하는 보행 모션 제어기를 개발한 것이다. 본 보행 모션 제어기는 적은 예제만으로 사용자의 입력에 실시간에 반응하며, 다양한 지형에 대한 자연스러운 보행 모션을 생성하기 때문에, 게임, 가상 훈련 등 다양한 실시간 응용분야에 활용될 것으로 기대된다.
본 논문의 구성은 다음과 같다. 2장은 관련 연구에 대해 설명하고, 3장은 제안 기술의 개요를 소개한다. 4장에서는 본 논문의 핵심 내용인 역진자 모델-저차원 공간 연계에 대해 설명한다. 5장에서는 본 제안 기법의 결과물에 대해 기술한다. 마지막으로 6장에서는 본 기법에 대한 분석 결과 요약 및 향후 연구방향에 대해 기술한다.
2. 관련 연구
본 장은 보행 모션 제어기와 관련된 다양한 연구들을 모션 캡처 데이터 보간 기법, 역진자 모델 기반 기법으로 구분하여 설명한다.
2.1 모션 캡처 데이터 보간 기법
일련의 시퀀스 형태로 기록되는 모션 캡처 데이터의 활용도를 높이기 위해 다양한 연구가 진행되었다. 대표적인 예로, 모션 그래프는 저장된 모션 캡처 데이터를 분석하여 그래프 자료구조를 구축하고 그래프 순회를 통해 새로운 시퀀스를 생성할 수 있게 한다[1]. 이를 이용하면 실시간에 사용자 입력에 부합하는 움직임을 생성할 수 있으나, 이산적인(discrete) 모션 그래프의 특성상 미리 정해진 전이 지점(transition point)에서만 다른 모션 캡처 데이터로의 전이가 일어나기 때문에 사용자 입력에 대해 빠르게 반응하지 못하는 단점이 있다. 이를 해결하고자 시퀀스 단위가 아닌 프레임 단위로 연속적인 공간에서 Markov decision process(MDP)를 통한 reinforcement learning을 이용하여 인접 데이터를 보간 하는 모션 필드도 연구되었다[2].
모션 필드는 연속적인 프레임을 보간하여 빠르게 사용자의 입력에 부합하는 움직임을 생성하지만, 모션 캡처 데이터가 40차원이 넘는 다차원 데이터이기 때문에 인접 데이터를 찾고, MDP의 최적정책(optimal policy)을 구하는데 어려움이 있다. 이러한 문제를 해결하기 위해 Gaussian process latent variable model (GPLVM)을 통한 저차원화(dimension reduction)를 수행한 후 이를 보간하여 움직임을 생성하는 연구도 진행되었다[3].
2.2 역진자 모델 기반 기법
역진자 모델 기반 기법들은 모션 캡처 데이터 없이 다양한 지형 상의 보행 모션을 생성한다. 역진자 모델은 여러 방식으로 사용되어 연구가 진행되어 왔다.
모션 캡처 데이터를 추적(tracking)하는 proportional derivative(PD)-제어기 관련 연구에서는 안정적인 추적을 위해 역진자 모델을 사용하여 모션 캡처 데이터를 보정하였다[4]. 덧붙여 다양한 지형을 걷기 위해 역진자 모델을 통해 대략적인 움직임을 계산하고 이를 토대로 최적화 문제를 푸는 물리 시뮬레이션 기반 기법도 연구된 바 있다[5]. 또한 카트형 역진자 모델을 사용하여 하나의 뛰는 모션 캡처 데이터를 역진자 모델에 매핑하여 이를 변형시켜 움직임을 생성하는 연구도 진행되었다[6]. 마지막으로 역진자 모델의 간략함으로 생기는 단점들을 해결하고자 여러 가지 추가사항을 고려하여 움직임을 생성한 후 역기구학(inverse kinematics, IK)을 통해 캐릭터 애니메이션을 생성하는 연구도 진행되었다[7].
본 논문에서는 간단한 역진자 모델을 차용하여 물리 시뮬레이션이 아닌 데이터 기반으로 애니메이션을 생성한다.
3. 개 요
본 논문은 사용자의 입력 방향을 따라 이동하는 모션을 생성해주는 실시간 보행 모션 제어기를 제안한다. 이 제어기는 모션 캡처 데이터와 역진자 모델을 이용하여 데이터 기반 기법의 사실적인 움직임 생성과 역진자 모델의 지형을 고려한 움직임 생성이라는 두 기법의 장점을 모두 취하도록 고안되었다.
Fig. 1은 본 기법의 개요를 보여준다. 우선 Fig. 1-(a)의 흰 화살표와 같이 사용자로부터 보행 방향을 입력받는다. 캐릭터가 취하고 있는 모션과 보행 방향 정보는 Fig. 1-(b)와 같은 역진자 모델에 입력으로 사용된다.
Fig. 1.Overview of locomotion controller proposal. (a) Our locomotion controller takes desired directions as user input. (b) We use the inverted pendulum model (IPM) to calculate desired COM trajectory following user input, and the figure is visualized in 2D. (c) Using this information, GPDM interpolates the character motions. (d) After the interpolation, we render the final output motion sequence.
역진자 모델은 입력 정보들과 지형을 고려하여 캐릭터를 해당 방향으로 움직이기 위한 캐릭터의 질량중심의 궤적과 디딤발의 위치를 생성한다. 본 기법이 사용한 역진자 모델에 대한 설명은 3.1 절에 기술된다.
본 기법은 저차원 모션 공간 상에서의 보간을 통해 적은 예제 데이터만으로 즉각적이며 자연스러운 보간 결과를 생성해 낸다. 본 논문에 사용된 캐릭터는 Fig. 2에 도시된 바와 같이 루트의 전역 좌표(global position)를 포함하여 총 31-자유도(degrees of freedom, DOF)를 가진다. 따라서 모션 캡처 데이터는 매 프레임당 31개의 요소를 가지는데, 본 논문은 이를 다차원 데이터라고 부른다. 이와 같은 다차원 데이터에 GPDM과 같은 저차원화 알고리즘을 적용하면 걷기 동작의 매 프레임들을 4개의 DOF를 가지는 데이터로 표현하는 것이 가능해진다. 본 논문은 이와 같은 데이터를 저차원 데이터라고 부른다. Fig. 1-(c)의 하단 그림은 본 기법에 활용된 걷기 모션들을 저차원 데이터로 변환한 후 3개 차원만을 뽑아 도시한 결과로, 각각의 저차원 공간상의 좌표는 Fig. 1-(c)의 상단과 같이 하나의 다차원 모션 데이터로 변환가능하다. 본 기법이 사용한 GPDM에 대한 자세한 내용은 3.2 절에 기술된다. 최종적으로 본 기법은 Fig. 1-(d)와 같은 캐릭터 애니메이션을 생성한다.
Fig. 2.The skeleton used in our framework. Number in bracket means DOF. Left and right joints are symmetrical.
3.1 역진자 모델
Fig. 3은 진자가 뒤집혀있는 형태인 역진자 모델을 도시한 것이다. Fig. 3-(a)의 원형 물체는 진자의 추, 진자와 바닥면 사이의 직선은 추와 고정점을 잇는 줄을 의미한다. Fig. 3-(a)의 빨간 실선으로 구성된 진자와 같이 추가 고정점과 수직으로 놓인 진자는 움직임에 변화가 없다. 이 진자의 추가 조금이라도 기울어진다면, 중력에 의해 Fig. 3-(a)의 초록색 점선 화살표와 같은 움직임을 가지게 된다. 이 진자 모델을 그대로 두면 추는 바닥에 닿게 된다. 하지만 Fig. 3-(b)의 파란선과 같은 새로운 고정점을 가지게 되는 경우, 바닥에 닿는 대신 Fig. 3-(b)의 초록색 실선 화살표처럼 움직일 것이다.
Fig. 3.IPM dynamics. (a) IPM falls down due to the initial velocity and gravity. (b) IPM calculates the desired foot step distance.
이와 같은 역진자 모델은 사람의 보행 모션 표현에 자주 활용된다. 우선 진자의 추는 사람의 질량중심을, 고정점과 추 사이의 줄은 사람의 다리를 표현하게 된다. 덧붙여 위에 설명한 Fig. 3-(a)의 붉은 실선은 현재의 디딤발, 그리고 추가 바닥에 닿지 않게 하기 위한 새로운 고정점(Fig. 3-(b)의 파란색 직선이 지면과 닿은 부분)은 다음의 디딤발이 된다. 진자가 넘어지지 않도록 디딤발을 계속 갱신하는 방법으로 보행 모션을 근사할 수 있다. 역진자 모델에 대한 자세한 정보는 [7]에서 확인 가능하다.
3.2 모션 캡처 데이터 저차원화
본 논문은 모션 캡처 데이터 저차원화를 위해 GPDM을 사용한다. 용이한 설명을 위해 GPLVM을 먼저 설명하면, GPLVM은 다차원 변수 집합 Y에 대해 저차원 은닉 변수(low-dimensional latent variable) 집합 X, 그리고 두 집합 사이의 관계를 표현하는 매핑(mapping) 함수 y = f(x)를 추출하는 비선형 저차원화 기법이다.
GPLVM은 다차원 데이터 Y가 주어졌을 때의 확률을 최대화하는 저차원 데이터 X와 Gaussian process(GP) 커널을 구성하는 하이퍼 파라미터 그리고 Y의 각 요소들에 대한 가중치 정보를 표현하는 행렬 W를 계산하는 문제를 풀어야 한다. 이 문제는 식 (1)과 같은 음의 로그 가능도(negative log likelihood) LGPLVM 을 최소화하는 형태로 풀 수 있으며 이 과정을 학습 과정이라 부른다. 덧붙여 매핑 함수 y = f(x)는 GP 커널을 통해 모델링 된다. 이에 대한 자세한 내용은 lawrence(2004)의 논문에 기술되어 있다[9].
GPDM은 GPLVM이 고려하지 않은 다차원 데이터 Y의 각 요소들이 가지는 시간적 연속성을 고려하여 저차원화를 수행한다. 따라서 다차원 데이터 Y와 저차원 데이터 X간의 매핑 함수 y = f(x)외에 저차원 데이터들 간의 시간적 연속성을 표현하는 함수 xt+1 = g(xt)를 생성하게 된다. 이 함수는 저차원 데이터들 간의 매핑을 위한 새로운 GP 커널을 필요로 하는데, 본 논문에서는 이를 저차원 GP 커널이라고 정의한다.
결국 GPDM은 GPLVM의 확률 최대화 문제에 저차원 GP 커널을 위한 하이퍼 파라미터 를 추가한 확률 최대화 문제를 푸는 학습과정을 거친다. 이 문제는 식 (2)와 같은 음의 로그 가능도를 최소화하는 형태로 풀 수 있다. 학습과정 종료 시, 하이퍼 파라미터 저차원 데이터 X와 가중치 데이터 W가 산출되며, 이 값들은 매핑 함수 f와 g를 구성하게 된다. 이에 대한 자세한 내용은 Wang, Fleet, Hertzmann(2008)의 논문에 기술되어 있다[10].
본 기법은 GPDM 학습을 위해 직진 하는 모션 두개, 왼쪽으로 트는 모션, 오른쪽으로 트는 모션, 총 네개의 모션 캡처 데이터를 다차원 데이터 Y로 사용한다. GPDM 학습이 끝나면 각 요소가 4개의 데이터를 가지는 4 DOF의 저차원 데이터 x = {x1, x2, ⋯, xn}와 저차원 데이터와 다차원 데이터 사이의 매핑 함수 f와 저차원 데이터 간의 매핑 함수 g가 구해진다. 여기서 n은 모션 캡처 데이터의 전체 프레임 개수를 의미한다.
4. 역진자 모델-저차원 공간 연계
본 논문에서 제안하는 시스템은 역진자 모델과 GPDM을 함께 이용한다. 이 장에서는 역진자 모델을 통해 계산되는 질량중심의 궤적과 발걸음 좌표를 저차원 공간의 데이터 보간에 활용하는 방법에 대해 기술한다.
4.1 임의의 보행 모션 생성
사람의 보행은 양 발 중 하나는 디딤발, 다른 하나는 나아가는 발로 사용하는 걸음(step)들로 이루어진다. Fig. 4-(a)∼(c)는 좌측 발(붉은 선)이 디딤발, 우측 발(파란 선)이 나아가는 발로 사용된 한 걸음을 보여준다. 다음 걸음은 Fig. 4-(c)∼(e)에서와 같이 각 발의 역할을 교대로 하여 수행된다. 사람의 연속적인 보행은 이와 같은 과정을 반복하여 얻어지는 결과이다.
Fig. 4.Human’s locomotion consists of left and right foot swing sequence. The red line indicates the left foot, and blue line indicates the right foot. (a~b) Left foot is the stance foot. (c) Stance foot is being switched to right foot. (d~e) Right foot becomes the stance foot.
하나의 걸음 Y(*)는 일련의 모션 데이터들 로 구성된다. 여기서 k는 한 걸음이 종료되는 프레임을 의미한다. 랜덤한 방향을 따라가는 보행 모션을 위한 하나의 걸음 생성은 GPDM의 저차원 데이터간의 매핑 함수를 이용하여 다음과 같이 계산된다.
1. 이전 걸음(previous step)의 마지막 프레임 동작 로부터 저차원 데이터 x를 구한다. 이 x는 한걸음의 시작 저차원 데이터 으로 사용된다.
2. GPDM의 저차원 데이터 간 매핑 함수 g를 적용하여 현재 로부터 를 계산한다. 이와 같은 과정을 통해 저차원으로 표현된 하나의 걸음 를 생성한다. 본 기법에서 사용한 모션 캡처 데이터는 하나의 걸음이 최대 25개의 프레임으로 구성되므로, c의 값으로 25를 사용하였다.
3. 저차원 데이터와 다차원 데이터 사이의 매핑함수 f를 이용하여 X(*)로부터 Y(*)를 계산한다.
4. 한 걸음에 대한 다차원 데이터 Y(*)를 분석하여 디딤발이 변경되는 프레임을 계산한다. 본 기법은 연속적인 세 프레임 동안 지속적인 디딤발의 높이 증가가 이루어지는 경우, 세 번째 프레임을 디딤발의 변경 시점이라 판단하고, 이를 한 걸음의 마지막 프레임 k로 정의한다.
이와 같은 과정의 반복은 연속적인 임의의 보행 모션을 생성한다.
4.2 사용자 입력 방향을 따라 움직이는 보행 모션 생성
이 절에서는 역진자 모델 시뮬레이션 방법과 역진자 모델의 데이터를 저차원 모션 보간에 적용하는 방법이 기술된다.
역진자 모델 시뮬레이션: 본 기법은 사용자 입력 방향을 따라가는 보행 모션을 생성할 수 있도록 역진자 모델을 시뮬레이션한다. 우선 실시간에 사용자 입력(이동 방향)이 현재 역진자 모델의 이동 방향과 다른 경우, 역진자 모델의 이동 방향을 사용자 입력 방향으로 수정한다. 이 수정 과정은 사람의 보행과 유사하게, 역진자 모델이 중력 방향과 수직상태가 되었을 때에 이루어진다. 만약 실시간 사용자 입력방향과 현재 역진자 모델의 이동 방향이 일치하는 경우 부가적인 수정을 가하지 않는다.
역진자 모델 기반 캐릭터 루트의 방위값 계산: 자연스럽게 방향 전환하는 보행 모션 생성을 위해서는 캐릭터 루트(root)의 방위를 고려하여야 한다. 하지만 기본적인 역진자 모델은 질량중심의 방위(orientation)를 고려하지 않는다. 따라서 본 기법은 캐릭터의 보행 정보와 사용자 입력 방향을 고려하여 방위를 생성한다.
캐릭터의 보행은 대부분 루트의 방위를 따라 생성된다는 점에 착안하면, 캐릭터의 루트가 가져야하는 이상적인 방위는 사용자 입력 방향과 같음을 알 수 있다. 따라서 사용자 입력 방향을 따라 걷는 캐릭터는 입력 방향과 현재 루트의 방위의 차이만큼 루트를 회전시켜야 한다. 이 회전은 역진자 모델의 이동 방향 수정 시점을 중심으로 점진적으로 적용된다.
본 기법은 자연스러운 회전 적용을 위해 역진자 모델의 이동 방향 수정 시점의 세 프레임 전부터 루트에 회전을 적용시키기 시작한다. 그리고 매 프레임당 적용되는 회전은 디딤발을 축으로 하며, 회전량은 현재 캐릭터 루트의 방위와 사용자 입력 방위 차이의 6분의 1로 설정하여, 점진적인 회전이 발생하도록 모델링하였다. 덧붙여 너무 급격한 회전으로 인한 부자연스러운 보행 모션 생성을 방지하기 위해, 한 걸음에 발생할 수 있는 루트의 최대 회전 각도를 45도로 제한하였다. 결과적으로 이와 같은 과정은 역진자 모델에서 고려되지 않은 캐릭터 루트의 방위 값을 생성하게 된다.
역진자 모델-저차원 공간 연계: 상기의 과정을 통해 우리는 사용자가 원하는 방향으로 이동하는 캐릭터 루트의 이동 궤적과 방위를 계산하였다. 이러한 정보는 매핑 함수 f를 이용하여 X(*)에 대한 Y(*)를 계산하는 과정에 활용되어, 사용자가 원하는 방향으로 이동하는 보행 모션을 저차원 공간으로부터 추출할 수 있게 한다.
X(*)에 매핑 함수 f를 이용하여 Y(*)를 계산하는 것은 학습된 GPDM을 기반으로 각각의 저차원 데이터 에 대해 가 가장 큰 다차원 데이터 를 계산하는 것이다.
제약 조건(constraint)을 반영한 다차원 모션 생성을 위해서는 제약 조건들을 제약 인자 θ로 모델링 해야 한다. 다음으로 가 가장 큰 다차원 데이터 를 계산하면 제약 조건을 만족하는 다차원 모션 데이터를 생성할 수 있다. 제약 인자 θ의 자세한 모델링 방법은 [3]에 기술되어 있다.
본 기법에서 사용한 제약 인자는 총 세 가지이다. 첫 번째 인자는 역진자 모델의 질량중심 궤적으로 캐릭터의 루트 좌표를 제어하는 제약 조건이 된다. 두 번째는 캐릭터 루트의 방위 정보이다. 세 번째 인자는 디딤발의 위치 정보로 루트의 회전 및 위치의 제약만을 충족 시키는 경우에 발생할 수 있는 디딤발의 이탈 현상을 방지하는 역할을 한다.
4.3 지형을 고려한 움직임 생성
이 절에서는 다양한 지형 상에서 움직이는 보행 모션 생성을 위한 역진자 모델 시뮬레이션 방법과 역진자 모델의 데이터를 저차원 모션 보간에 적용하는 방법이 기술된다.
역진자 모델 시뮬레이션: 역진자 모델은 Fig. 5-(a)와 같이 계단을 오르는 경우 다리 길이가 짧아진다. 짧아진 다리 길이는 역진자 모델이 중력 방향과 수직상태가 될 때 원래의 다리 길이가 되도록 서서히 복원된다. 본 기법에서는 변화된 다리 길이를 저장하고 이를 중력 방향과 수직상태가 될 때까지의 프레임으로 나눠 균일하게 다리 길이를 복원하였다.
Fig. 5.IPM dynamics with the stairs. (a) IPM climbs the stairs. (b) IPM comes down the stairs.
반면, 계단을 내려가는 경우 일반적인 역진자 모델을 사용하여 시뮬레이션 하면 다리 길이가 길어진다. 실제 사람의 발 끝과 골반 사이의 거리를 다리 길이라고 했을 때, 무릎을 굽혀 다리 길이를 짧게 할 순 있어도 특정 길이 이상 늘릴 순 없기 때문에 이를 캐릭터 모션에 적용할 수 없다. 따라서 본 기법에서는 이와 같은 경우에 Fig. 5-(b)와 같이 역진자 모델이 중력 방향과 수직상태를 지나는 시점부터 다리 길이를 줄이는 방법을 취한다. 짧아진 다리 길이는 디딤발이 교대되는 순간 길어지면서 원래의 다리 길이로 돌아오게 된다. 이러한 움직임은 실제 사람이 계단을 내려갈 때 현재 디딤발을 굽히면서 내려가는 움직임과 유사하다.
역진자 모델-저차원 공간 연계: 제약 조건을 이용하여 변형된 다차원 모션 데이터를 생성하는 방법은 4.2절과 동일하다. 지형의 높낮이를 고려하여 생성된 역진자 모델의 질량중심 궤적은 같은 방식으로 적용된다. 추가로 나아가는 발이 높낮이가 다른 지형에 도달할 때의 높이를 나아가는 발의 제약 조건으로 사용한다. 지형을 올라 갈 때는 나아가는 발이 특정 높이 밑으로 내려가지 않도록 제약하고, 내려갈 때는 특정 높이까지 내려가도록 제약하여 움직임을 생성한다.
5. 결과 및 평가
본 기법은 역진자 모델과 저차원 모션 보간을 이용하여 자연스러운 움직임을 생성한다. 이 장에서는 제안 기법을 적용한 결과물 및 연산 시간에 대해 기술한다. 연산시간 측정은 intel i7-3770 CPU, 8GB 램, NVIDIA GeForce GTX 970 GPU를 장착한 PC 환경에서 수행되었다.
사용자의 입력방향을 따라 걷는 보행 모션 생성: Fig. 6은 본 기법의 결과물을 보여준다. 사용자가 입력한 방향은 흰색 화살표로 가시화되었다. 이를 통해 본 기법이 생성한 보행 모션이 실제 사람이 방향을 바꾸어 걸을 때와 유사하게, 다리가 수직인 상태에서 몸을 최대한 틀어 해당 방향으로 움직이는 것을 확인할 수 있다.
Fig. 6.Character walks according to the user input direction. (a) Character walks straightforward. (b) When desired direction changed, character turns pivoting toe’s location like IPM. (c) After turning, character walks straightforward.
계단을 고려한 보행 모션 생성: Fig. 7은 계단과 같이 높낮이가 있는 지형에 대한 보행 모션 생성 결과를 보여준다. 이를 통해 본 기법이 계단을 오르내리는 경우 모두에 대해 자연스러운 보행 모션을 생성하는 것을 알 수 있다.
Fig. 7.Character walks up the stairs. (a) Character climbs the stairs. (b) Character comes down the stairs.
오프라인 연산 시간 및 온라인 연산 속도: 제안 기법의 연산은 크게 오프라인과 온라인으로 구분된다. 오프라인 프로세스인 GPDM 학습에는 약 5분의 시간이 소요되었다. 이때 반복횟수는 2000번으로 설정되었다. 기존의 데이터 기반 기법[3]은 사용자 입력에 부합하는 움직임을 생성하기 위해 MDP를 이용한 강화학습(reinforcement learning)이 필요하며, 이를 계산하는데 약 13분 30초의 시간이 소요되었다. 본 논문에서 제안한 기법은 모션 데이터의 저차원화만을 필요로 하기 때문에 오프라인 프로세스에 소요되는 시간을 줄일 수 있다. 온라인 프로세스, 즉 역진자 모델의 시뮬레이션 및 저차원 모션 보간을 통한 모션 생성 및 가시화는 약 36 FPS로 수행되었다.
6. 논 의
본 논문의 제안방식은 역진자 모델과 저차원 모션 보간 기법을 통합하여 높낮이가 존재하는 지형상에서 사용자의 입력 방향을 따라 이동하는 자연스러운 보행 모션을 생성한다. 덧붙여 기존의 저차원 데이터 보간 기법[3]에 비해 적은 전처리 시간만을 필요로 한다는 장점도 가지고 있다. 기존의 기법들 과의 차이점은 Table 1에 설명되어있다.
Table 1.The comparison for proposed controller and conventional controller
하지만 본 기법은 몇 가지 한계를 가지고 있다. 첫 번째 한계는 역진자 모델의 근본적인 단점에 기인한다. 역진자 모델은 인간의 걸음을 매우 간단한 형태로 표현하여 적은 연산량 만으로 보행 모션을 근사할 수 있다. 하지만 달리기와 같이 두 다리가 모두 공중에 떠있는 상태는 본 논문에서 사용한 기본적인 역진자 모델로는 표현하기 어렵다. 따라서 향후에는 카트형 역진자 모델 등을 사용하는 형태로 한계를 극복할 것이다[6,7].
두 번째 한계는 학습에 사용된 모션 캡처 데이터와 차이가 많이 나는 프레임이 지속적으로 생성되는 경우, 저차원 공간 내 매핑 함수에 의해 품질이 낮은 모션이 생성될 수 있다는 점이다. 이와 같은 문제는 생성된 캐릭터의 저차원 데이터를 학습 데이터에 가까워지도록 보정하는 방식을 통해 해결될 수 있을 것으로 보인다[11].
향후 본 기법의 발전 방향은 물리 시뮬레이션을 적극 활용하여 외력에 의한 캐릭터 자세의 변화 등을 추가로 고려하는 것이다. 또 다른 방향은 경로 계획 기법을 적용하여 다양한 장애물이 있는 지형에 대한 경로를 계산하여 애니메이션을 생성하는 것이다[12]. 또 하나의 흥미로운 연구 방향은 계층화된 GPLVM (Hierarchical GPLVM)을 이용하여 상, 하체를 분리하여 저차원화를 수행하고, 이를 활용하여 애니메이션을 생성하는 것이다[13].
References
- L. Kovar, M. Gleicher, and F. Pighin, "Motion Graphs," ACM Transactions on Graphics, Vol. 21, No. 3, pp.473-482, 2002. https://doi.org/10.1145/566654.566605
- Y. Lee, K. Wampler, G. Bernstein, J. Popović and Z. Popović, "Motion Fields for Interactive Character Locomotion," ACM Transactions on Graphics, Vol. 29, No. 6, pp. 138, 2010. https://doi.org/10.1145/1882261.1866160
- S. Levine, J.M. Wang, A. Haraux, Z. Popović, and V. Koltun, "Continuous Character Control with Low-Dimensional Embeddings," ACM Transactions on Graphics, Vol. 31, No. 4, pp. 28, 2012. https://doi.org/10.1145/2185520.2185524
- Y.Y. Tsai, W.C. Lin, K.B. Cheng, J. Lee, and T.Y. Lee, "Real-Time Physics-Based 3D Biped Character Animation Using an Inverted Pendulum Model," IEEE Transactions on Visualization and Computer Graphics, Vol. 16, No. 2, pp. 325-337, 2010. https://doi.org/10.1109/TVCG.2009.76
- I. Mordatch, M. De Lasa, and A. Hertzmann, "Robust Physics-Based Locomotion Using Low-Dimensional Planning," ACM Transactions on Graphics, Vol. 29, No. 4, pp. 71, 2010. https://doi.org/10.1145/1778765.1778808
- T. Kwon, and J. Hodgins, "Control Systems for Human Running Using an Inverted Pendulum Model and a Reference Motion Capture Sequence," Proceedings of the 2010 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, Eurographics Association, pp. 129-138, 2010.
- B. Kenwright, R. Davison, and G. Morgan, "Dynamic Balancing and Walking for Real-Time 3D Characters," Proceeding of Motion in Games, Springer Berlin Heidelberg, pp. 63-73, 2011.
- S. Kajita, F. Kanehiro, K. Kaneko, K. Yokoi, and H. Hirukawa, "The 3D Linear Inverted Pendulum Mode: A Simple Modeling for a Biped Walking Pattern Generation," Proceeding of Intelligent Robots and Systems, International Conference on IEEE/RSJ , pp. 239-246, 2001.
- N.D. Lawrence, "Gaussian Process Latent Variable Models for Visualisation of High Dimensional Data," Journal fo Advances in Neural Information Processing Systems, Vol. 16, No. 3, pp. 329-336, 2004.
- J.M. Wang, D.J. Fleet, and A. Hertzmann. "Gaussian Process Dynamical Models for Human Motion," IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 30, No. 2, pp. 283-298, 2008. https://doi.org/10.1109/TPAMI.2007.1167
- K. Grochow, S.L. Martin, A. Hertzmann, and Z. Popović, "Style-Based Inverse Kinematics," ACM Transactions on Graphics, Vol. 23, No. 3, pp. 522-531, 2004. https://doi.org/10.1145/1015706.1015755
- K. Yu, "Automatic Generation of Character-Specific Roadmaps for Path Planning in Computer Games," Journal of Korea Multimedia Society, Vol. 11, No. 5, pp. 692-702, 2008.
- N.D. Lawrence and A.J. Moore, "Hierarchical Gaussian Process Latent Variable Models," Proceedings of the 24th International Conference on Machine Learning, pp. 481-488, 2007.