KR100478721B1 - 동작 혼합에 기반한 가상 캐릭터의 온라인 보행 동작생성방법 - Google Patents

동작 혼합에 기반한 가상 캐릭터의 온라인 보행 동작생성방법 Download PDF

Info

Publication number
KR100478721B1
KR100478721B1 KR10-2002-0041321A KR20020041321A KR100478721B1 KR 100478721 B1 KR100478721 B1 KR 100478721B1 KR 20020041321 A KR20020041321 A KR 20020041321A KR 100478721 B1 KR100478721 B1 KR 100478721B1
Authority
KR
South Korea
Prior art keywords
motion
time
walking
direction information
online
Prior art date
Application number
KR10-2002-0041321A
Other languages
English (en)
Other versions
KR20040008029A (ko
Inventor
신성용
박상일
신현준
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR10-2002-0041321A priority Critical patent/KR100478721B1/ko
Publication of KR20040008029A publication Critical patent/KR20040008029A/ko
Application granted granted Critical
Publication of KR100478721B1 publication Critical patent/KR100478721B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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

Landscapes

  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 동작 혼합에 기반한 가상 캐릭터의 온라인 보행 동작 생성방법에 관한 것이다. 컴퓨터 애니메이션에서 가상 캐릭터의 자연스러운 동작은 일반적으로 숙련된 애니메이터의 수작업을 통해서 얻어지거나, 동작 포착 장비를 이용하여 생성된다. 이는 많은 시간과 노력을 요구며, 또한 게임과 같이 동작의 특성이 온라인으로 결정되어야 하는 응용분야에는 적합하지 않다. 따라서 가상 캐릭터의 애니메이션을 보다 적은 비용으로 효과적으로 제작, 활용하기 위한 연구가 필요하다.
본 발명에서는 사용자로부터 보행동작의 궤적, 속도, 스타일등의 성질을 온라인으로 입력받아 이로부터 가상캐릭터의 사실적인 보행동작을 실시간에 생성하는 방법을 제안한다. 특히, 1) 다양한 속도를 가지는 동작데이터간의 합성을 위해 시간증분에 기반한 시간변형방법을 제안하고; 2) 다중의 방향정보로부터 효과적인 가중치 합을 구하는 방법을 제안하며; 3) 동작의 사실감을 높이기 위해 예제동작들로부터 발자국 정보를 추출하여 이를 바탕으로 동작 재적용 기법을 수행하는 방법을 제안한다. 따라서, 본 발명은 게임 및 실시간 애니메이션 제작에 적용될 수 있으며, 또한 동작 시작품 제작에 활용될 수 있다.

Description

동작 혼합에 기반한 가상 캐릭터의 온라인 보행 동작 생성방법{On-line locomotion generation based on motion blending}
본 발명은 동작 혼합에 기반한 가상 캐릭터의 온라인 보행 동작 생성방법에 관한 것이다. 보다 상세하게는 게임 및 방송의 가상 캐릭터 애니메이션에 적용 될 수 있도록 사용자가 요구하는 정량적 및 정성적 특성을 지니는 보행 동작을 온라인 및 실시간으로 생성하는 기법에 관한 것이다.
인간의 보행 동작을 자동으로 생성하는 연구는 그동안 활발히 수행되어 왔다. 기존의 연구는 일반적으로 순서적(procedural) 방법, 동역학 시뮬레이션 기반 방법 및 동작 포착 데이터 기반 방법의 세가지로 분류될 수 있다.
순서적 방법은 주로 운동학적 방법에 기반하고 있다. Bruderlin 및 Calvert는 지지가 되는 다리를 거꾸로된 시계추로서 시뮬레이션하여 보행 동작을 생성하였다. Boulic과 Thalmann은 역운동학 방법을 사용하여 발이 땅을 뚫고 지나가는 등의 잘못된 상황을 방지하였다. 최근에는 이러한 순서적 방법에 기반한 보행 동작 생성 기법이 상업적인 애니메이션 패키지에 포함되기 시작하였으며, 그 예로써 Boston Dynamics 의 BDI Guy, Credo Interactive의 Life Forms Studio, 3D Studio Max의 Character Studio, Motion Factor의 Motivate 등이 있다. 이러한 순서적 방법들은 빠르게 보행 동작을 생성할 수 있으나, 동작의 사실감이 떨어지는 단점이 있다.
동역학 시뮬레이션 방법에 기반한 방법들은 물리적으로 적합한 동작을 만드는 것에 초점을 두고 있다. Raibert와 Hodgins는 물리적으로 사실적인 간단한 이족 로봇의 보행 동작을 생성하는 제어기를 제안하였다. 그 후 Hodgins 등은 이러한 연구를 더욱 확장하여 복잡한 인간 모형에 이를 적용하였다. Ko와 Badler는 역학적 보행 생성 방법에 운동학적 균형 제어기를 적용하였다. Lazlo 등은 제한 반복 제어기를 제안하여 균형 잡힌 걷는 동작을 생성하는 방법을 제안하였다.
이러한 동역학 시뮬레이션 기반 방법은 일반적으로 그 계산 시간이 오래 걸려 실시간, 온라인 분야에 적합하지 않으며, 또한 주어진 캐릭터의 신체 비율이나 질량 분포가 다를 경우 이전의 모델의 제어 계수들을 적용할 수 없기 때문에 적합한 계수를 새로 결정해야 하는 어려움이 있다.
동작 포착 데이터 기반 방법은 예제 동작간의 혼합을 통해 원하는 동작을 생성하는 방법이다. Unuma 등은 동작정보의 보간에 푸리에(fourier) 해석을 적용하였다. Bruderlin과 Williams는 동작 정보를 일종의 신호로 간주하여 일반적인 신호 처리 기법을 적용하는 방법을 제안하였다. Guo와 Roverge 및 Willey와 Hahn은 매개 변수 공간상에서 비교적 규칙적으로 예제 동작이 위치해 있을 때 이를 보간하는 방법을 제안하였다. Rose 등 및 Sloan 등은 매게 변수 공간에 비규칙적으로 예제 동작이 위치해 있을 경우 이를 혼합하는 방법을 제안하였다. Sun과 Metaxas 등은 순서적 방법 및 동작 포착 데이터 기반 방법을 같이 사용하는 방법을 제안하였다.
이러한 기존의 동작 포착 데이터 기반 방법은 정성적 특성을 만족하는 동작의 생성에 주안점을 두었기 때문에 정확한 값을 요구하는 보행 속도 및 회전과 같은 정량적 특성을 표현하는 데는 어려움이 있었다.
따라서, 본 발명은 상기한 문제점을 해결하기 위한 것으로서 본 발명의 목적은 사용자로부터 보행동작의 궤적, 속도, 스타일등의 성질을 온라인으로 입력받아 이로부터 가상캐릭터의 사실적인 보행동작을 실시간에 생성하는 방법을 제공하는 데 있다.
본 발명의 다른 목적은 다양한 속도를 가지는 동작데이터간의 합성을 위해 시간증분에 기반한 시간변형방법과, 다중의 방향정보로부터 효과적인 가중치 합을 구하는 방법 및 동작의 사실감을 높이기 위해 예제 동작들로부터 발자국 정보를 추출하여 이를 바탕으로 동작 재적용 기법을 수행하는 방법을 제공하는 데 있다.
상기한 본 발명의 목적을 달성하기 위한 기술적 사상으로써 본 발명은
인간형 가상 캐릭터의 보행 동작을 실시간으로 생성하는 온라인 보행동작 생성방법에 있어서, 사용자가 원하는 특징을 갖는 입력 예제 보행 동작들을 매개 변수화하는 단계와; 동작 혼합에 사용되는 상기 각 예제 보행 동작의 가중치를 계산하는 단계와; 키타임에 기반한 시간 변형을 통해 길이가 서로 다른 보행 동작들을 일정한 길이의 일반시간으로 변환시켜 주는 단계와; 상기 시간 변형된 보행 동작의 각 프레임에서의 자세들을 혼합하는 단계와; 상기 혼합된 동작을 목표 캐릭터에 적합하도록 재적용하여 최종 동작을 생성하는 단계를 포함하는 것을 특징으로 하는 온라인 보행 동작 생성방법을 제시한다.
이하, 본 발명의 실시예에 대한 구성 및 그 작용을 첨부한 도면을 참조하면서 상세히 설명하기로 한다.
도 1은 본 발명에 따른 온라인 보행 동작 생성 과정을 설명하기 위한 전체 개념도로서 본 발명에서 제안하는 보행 동작 생성 방법은 Rose 등 및 Sloan 등이 제안한 동작 혼합 기법에 기반하고 있으며, 전처리인 예제 동작의 매개 변수화 과정과 동작 혼합 과정의 두 부분으로 나누어 진다.
먼저, 전처리 과정으로서 입력 예제 동작들을 매개 변수화를 통해 매개 변수 공간에 위치 시킨다. Rose 등은 이러한 목적을 위해 "동사 및 형용사(verb and adverb)" 개념을 제안하였다. 그들은 비슷한 구조를 갖는 동작들을 같은 동사로 분류했으며, 같은 동사로 분류된 동작들을 각각의 특징에 따라 형용사 공간상의 한 점으로 표현하였다.
그러나 이들의 매개 변수화 방법으로는 서로 다른 스타일의 보행동작들을 같은 동사로서 취급하지 못하였다. 이렇게 서로 다른 동사에 속한 동작들은 동사 그래프를 이용하여 부드럽게 전이 시켜 주는 방법을 이용하였다. 이러한 기존의 매개 변수화에 바탕을 두고, 본 연구에서는 보행 동작을 표현하는 세 가지의 매개 변수, 속도, 회전각, 스타일을 정의하고, 기존에는 다른 동사로서 취급되던 동작들을 보다 넓은 동사의 개념으로써 하나로 묶어 처리한다. 속도 및 회전각과 같은 매개 변수는 정량적인 매개 변수로써 측정을 통해 그 값을 자동으로 부여하며, 스타일은 정성적인 매개 변수로서 사용자가 동작을 보고 판단하여 그 값을 입력한다.
사용자가 원하는 특징을 갖는 동작을 매개 변수 공간상의 한 점으로 표현하여 입력하면, 입력 점과 예제 동작들과의 매개 변수 공간상에서의 위치관계를 고려하여 동작 혼합을 통해 최종 동작을 생성한다. 이러한 동작 혼합의 과정을 살펴보면, 먼저 동작 혼합에 사용되는 각 예제 동작의 가중치를 계산하고, 시간 변형을 통해 길이가 서로 다른 동작들을 맞추어 주고, 각 프레임에서의 자세를 혼합한 후, 마지막으로 동작 재적용을 통해 최종 동작을 생성한다.
첫 번째 과정인 각 예제 동작의 가중치를 계산하기 위해 Sloan 등이 제안한 카디널베이시스 보간(cardinal basis interpolation) 기법을 사용하였다. 다음으로, 동작의 시간을 맞추어 주는 시간 변형을 위해 Rose 등이 제안한 키타임 기반 시간 변형 기법을 적용하였다. 키타임은 동작의 중요한 순간들을 나타내는 것으로, 예를 들면 보행 동작에서 발이 땅에 닿는 순간 및 땅에서 떨어지는 순간 등이다. 시간 변형은 이러한 키타임을 기반으로 예제 동작의 내용상 동일한 순간들을 고려해 각기 다른 시간길이를 갖는 동작들을 일정한 길이의 일반시간으로 변환시켜 준다.
그러나 Rose 등이 제안한 기존의 방법으로는 시간의 차이가 많이 나고, 가중치 값이 시간에 따라 동적으로 변할 경우에 혼합된 동작의 시간이 거꾸로 가는 문제가 발생될 수 있다.
본 발명에서는 이러한 문제를 해결하기 위해 시간 증분에 기반한 시간 변형 방법을 제안하여, 혼합된 동작의 시간이 항상 미래로 흐르는 것을 보장한다. 세 번째 과정으로 시간 변형된 동작의 각 프레임에서의 자세들을 혼합한다. 이때 자세의 관절각 방향정보를 표현하기 위해 특이점 문제가 없는 단위 사원수를 사용한다. 그러나, 방향 정보 공간의 비선형성으로 인해 선형적인 가중치 합 방법을 적용할 수 없다. 따라서, 본 발명에서는 특이점을 가지지 않으며, 좌표계 불변의 성질을 가지는 방향정보 혼합 기법을 제안한다.
마지막으로, 혼합된 동작을 목표 캐릭터에 맞도록 재적용 한다. 동작 포착 시의 연기자와 가상 캐릭터의 신체 비율 및 환경이 서로 다르므로, 혼합된 동작을 가상 캐릭터에 바로 적용시키면 발이 미끄러지거나, 땅에 침투하는 등의 문제점을 유발하게 된다. 이러한 문제점을 해결하기 위해, 혼합된 발자국의 위치를 계산하고 이를 바탕으로 Shin 등이 제안한 중요도 기반 온라인 동작 재적용 기법을 적용한다.
이어서, 본 발명의 전반적인 동작 과정에 대하여 1) 보행 동작 매개 변수화, 2) 동작 합성, 3) 가중치 계산, 4) 증분 기반 시간 변형, 5) 자세 혼합, 6) 동작 재적용, 7) 실험 결과 순서에 의해 설명하기로 한다.
1) 보행 동작 매개 변수화
다양한 보행 동작을 효율적으로 제어하기 위해 보행동작을 기술하는 세 가지 매개 변수를 정의한다. 세 가지 매개 변수는 속도, 회전각, 스타일로서 이외 기존 에 사용한 다른 다양한 매개 변수를 추가하는 것도 가능하다. 본 발명에서 고려하고 있는 예제 보행 동작은 걷기, 조깅, 뛰기의 세 가지 스타일의 보행 동작으로 각각 스타일 매개 변수 값으로 0, 1, 2의 값을 부여하였다. 속도와 회전각 매개 변수는 정량적인 의미를 갖는 매개 변수로서 각 예제 동작의 해석을 통해 값을 부여하게 된다.
보행 동작 해석을 위해 각 예제 보행 동작은 그 길이가 충분히 짧은 것으로 제한하여 보행 동작의 속도 및 회전각 값이 각 보행 동작의 전체 과정에서 일정하다고 가정한다. 만약 예제 동작의 길이가 길다면, 전처리 과정으로 그 동작을 짧게 쪼개 주어야 한다. 보행동작의 속도 및 선회 값이 일정하다는 가정으로부터, 보행 동작은 원형의 궤적을 그리게 됨을 유추할 수 있으며, 따라서 예제 보행 동작의 최상위 관절의 궤적 를 바닥에 투영시켜 궤적 를 얻고, 이를 원호 로 근사 한다. 이 때 직선 보행 운동은 반지름이 무한대인 원호로 근사되게 된다.
도 2에 도시된 바와 같이, 원호 는 중심 시작점 및 중심각 로 표현되며, 원호 를 얻기 위해 궤적 와의 거리를 최소화하는 최소 좌승 맞춤 방법을 이용한다. 즉,
여기서, 는 i번째 프레임에서의 최상위 관절의 위치를 바닥에 투영시킨 위치이며, 를 중심으로 만큼 회전시킨 상의 점이며, Nf는 총 프레임 수이다. l과 T를 각각 원호 의 길이 및 동작 지속시간이라고 하면, 예제 동작의 속도는 l/T, 선회값은 가 된다.
2) 동작 합성
각 프레임에서 원하는 동작을 성질을 표현하는 매개변수를 입력으로 받아, 각 예제 동작의 가중치 합을 통해 원하는 동작을 생성하게 된다. 먼저 주어진 매개변수에 따른 각 예제동작의 가중치를 구하고, 다음으로 동작의 길이가 서로 다른 예제 동작들을 합성하기 위해 시간 변형으로 동작들의 길이를 맞춘 후, 주어진 시간에서의 각 예제 동작들의 자세를 합성하여 목표 캐릭터의 자세를 생성하고, 마지막으로 동작 재적용을 통해 주어진 캐릭터와 환경에 따라 자세를 변형시켜 최종 동작을 얻는다.
3) 가중치 계산
본 발명에서는 Sloan 등이 제안한 다차원 상에서의 데이터 보간법을 활용하여 주어진 매개 변수에 따른 각 예제 동작들의 가중치를 구하였다. Sloan 등은 Rose 등이 제안한 래디얼 베이시스(radial basis) 함수에 기반하여, 이를 카디널(cardinal) 형식으로 재정의하여 더욱 효율적인 보간법을 제안하였다. 즉, 매 프레임마다 모든 자유도 값에 대해 보간을 수행하였던 Rose 등의 방법에 비해, 이 방법은 각 예제들의 매개 변수에 대한 가중치 보간 함수를 구하고, 이를 이용해 런타임시 각 예제동작에 대한 가중치 값을 계산하여 이에 따라 동작 혼합을 수행하게 된다.
매개변수 벡터 가 주어 졌을 때, i번째 예제 동작의 가중치 는 다음과 같이 정의된다.
여기서 와 a_il은 선형 베이시스 함수와 그 계수이고, 와 rij는 래디얼 베이시스 함수와 그 계수이다. Np와 Ne는 각각 매개변수의 수와 예제동작의 수이다. 동작을 정확히 보간하기 위해 i번째 동작은 그 자신의 매개변수 값 에서는 가중치 값이 1이 되어야 하며, 다른 예제동작의 매개변수 값 에서는 0이 되어야 한다. 즉 이며, 일 경우 이다.
수학식 2에서 선형 함수를 우선 고려하여 선형 베이시스 함수의 계수를 구하면,
선형 베이시스 함수 의 l번째 요소 값으로 정의되며, 이다. 선형 함수의 계수 ail은 각 예제 동작의 매개 변수 pk 및 각 매개 변수에서 예제 동작의 가중치 값 을 이용하여 최소 좌승법을 사용하여 구할 수 있다.
래디얼 베이시스 함수를 통해 선형 베이시스로 근사한 함수와 각 예제 매개 변수에서의 가중치 값과의 오차를 보정한다. 이때 오차값 로 정의된다. 래디얼 베이시스 함수 는 매개 변수 공간에서 점와 j번째 예제 동작의 매개변수 값 간의 유클리디안 거리를 이용하여 다음과 같이 정의된다.
여기서 은 3차 B-스플라인 함수이며, alpha는 감쇄 계수이다. 래디얼 베이시스 rij는 다음의 선형 시스템을 통해 구할 수 있다.
,
이 때 은 래디얼 베이시스 함수의 계수로 이루어지는 행렬이며, 은 각각 같은 크기의 래디얼 베이시스 함수와 오차값으로 로 정의 된다.
4) 증분 기반 시간 변형
속도가 각기 다른 여러 예제 동작들을 혼합하기 위해, Rose 등이 제안한 키타임에 기반한 시간 변형 방법을 적용하였다. 키타임은 동작의 중요한 순간들을 나타내는 것으로, 예를 들면 보행 동작에서의 발의 땅에 닿는 순간 및 떨어지는 순간 등이다. 본 발명에서는 모든 예제 보행 동작들은 내용 상 같은 종류의 키타임으로 구성되어 있으며, 같은 수의 보폭으로 이루어 진다고 가정한다. 키타임에서의 실제 시간을 로 표기 하며, 이때 Nk는 키타임의 총 개수이다.
시간 변형은 각 예제 동작의 실제 시간 를 모든 예제 동작에 공통적으로 적용될 수 있는 일반 시간 로 상사하는 것으로, 키타임에 기반한 부분 선형 상사 함수(piecewise linear mapping function)는 다음과 같이 정의된다.
m은 T>Km을 만족하는 가장 큰 정수이다. 그림 3은 5개의 키타임을 가지는 시간 변형의 예를 보여준다.
모든 예제동작들이 일반시간으로 시간 변형되면, 역으로 주어진 일반 시간에서 각 예제동작들의 실제 시간을 구할 수 있다. Sloan 등은 각 예제동작들의 실제 시간에 대해 가중치 합을 구하여 이를 목적 동작의 시간으로 사용 하였으며. 이를 식으로 나타내면 다음과 같다.
wi와 Ti(t)는 i번째 예제 동작의 가중치 값 및 일반 시간 t에서의 실제 시간이다. 이러한 접근 방법은 가중치의 값이 변하지 않을 경우에만 적용 가능하다. 하지만 일반적으로 각 예제 동작의 가중치 값은 매개 변수의 값에 따라 매우 동적으로 변하게 된다. 또한 각 예제 동작들의 동작 길이의 차이도 많이 난다. 이럴 경우, 혼합된 동작의 실제 시간이 거꾸로 가게 되는 경우가 발생할 수 있다. 도 4(a)에서 도시된 바와 같이 일반시간 에서 혼합된 동작의 실제 시간이 거꾸로 가게 된다.
이러한 가중치의 값이 시간에 따라 변하며, 예제 동작 간의 속도 차가 많이 나는 경우에도 잘 적용 될 수 있는 시간 변형 방법을 위해 증분 기반 시간 변형을 제안한다. 본 방법의 기본 발상은 실제 시간 값을 가중치 합하는 것이 아니라, 일반 시간에 대한 각 예제 동작들의 실제 시간의 증분을 가중치 합하여 이를 혼합된 동작의 이전 실제 시간에 더해주는 것으로, 이렇게 함으로써 가중치 값이 음수가 아닌 경우 시간이 증가하게 되는 것을 보장할 수 있다. 역시간 변형 함수는 다음과 같이 정의할 수 있다.
위 수학식 8을 통해 일반시간의 증분 가 주어졌을 때 실제 시간의 증분 를 다음과 같이 구할 수 있다.
이 때 는 일반 시간 t에서의 역시간 변형 함수의 미분값이다.
도 4(b)는 이러한 증분 기반 시간 변형 방법의 예를 보여 준다. 두 예제 동작 의 시간 t'에서의 역시간 변형 함수의 기울기를 각각 라고 하고, 일반 시간 t'에서의 혼합된 동작의 실제 시간을 T'라고 하면, 일반 시간 에서의 실제 시간은 다음과 같이 구해 진다.
5) 자세 혼합
주어진 일반시간에 대응하는 모든 예제 동작들의 자세들을 혼합하여 목표 캐릭터의 동작을 만든다. 이 때 다관절체의 자세는 최상위관절의 위치정보와 방향정보, 하위 관절들의 방향정보로 기술된다. 최상위 관절의 위치 정보의 혼합은 일반적인 가중치 합을 통해 구할 수 있다. 그러나, 방향정보의 경우 방향 정보 공간의 비선형성으로 인하여 가중치 합을 그대로 적용할 수 없다. 따라서, 본 발명에서는 방향정보의 혼합을 수행하기 위한 새로운 기법을 제안한다. 이 기법은 Lee와 Shin 등이 제안한 방향정보 필터링 기법에 기반하고 있다.
방향정보 혼합의 핵심 개념은 단위 사원수로 표현된 방향 정보를 그에 대응하는 삼차원 벡터 공간으로 변환하여 벡터 공간에서 가중치 합을 구한 후, 다시 원래의 단위 사원수 공간으로 환원하는 것이다. 이 과정에서 단위 사원수 공간과 삼차원 벡터 공간간의 변환은 대수(logarithm) 및 지수(exponential) 연산을 통해 수행된다. 대수 연산을 통해 단위 사원수 는 임의의 기준 단위 사원수 와의 변위를 나타내는 3차원 변위 벡터 로 표현 될 수 있다.
또한 역으로 원래의 방향정보는 지수 연산을 통하여 다음과 같이 복원될 수 있다.
기하학적으로 대수 및 지수 연산은 단위 사원수 공간과 기준 단위 사원수 에서 정의되는 접공간 간의 변환을 의미한다. 대수 연산은 에서는 정의되지 않으며, 대수 연산과 지 연산은 적은 변위 내에 대해서만 자연스럽고, 비특이 매개 변수화(non-singular parameterization)가 가능하다고 알려져 있다. 따라서 방향 정보를 변위 벡터로 변환하기 전에 기준 방향 정보를 주어진 모든 방향 정보에 최대한 가깝게 정하는 것이 중요하다.
기준 방향 정보를 정하기 위해 먼저 2개의 단위 사원수 간의 거리의 측정 방법을 설정하여야 한다. Buss와 Fillmore는 사이각 을 거리 측정 방법으로 사용하였다. 그러나 그들의 방법은 일반적인 공간에서 평균을 구하는 것에 중점을 두었기 때문에 단위 사원수를 방향 정보를 표시 할 경우 안티포달(anti-podal)위치에 있는 두 개의 단위 사원수가 동일한 방향 정보를 나타내는 특징을 고려하지 못하였다. 즉 두 단위사원수 는 같은 방향 정보를 의미하나, Buss와 Fillmore가 사용한 거리 측정 방법인 를 사용하면 pi가 나오게 된다. 따라서 본 발명에서는 이러한 문제점을 해결하기 위해 단위 사원수로 표현된 방향 정보들에 대한 새로운 거리 측정 방법을 제안한다.
먼저 안티 포달 동일 특징을 고려하면, 두 단위 사원수 의 거리는 다음과 같이 표현 될 수 있다.
따라서, 주어진 모든 방향 정보들의 거리에 가장 가까운 기준 방향은 다음과 같은 거리의 제곱 합을 최소화 하는 단위 사원수로 구해진다.
그러나, 이러한 거리 측정 방법은 그림 5(a)에서 보이는 것과 같이 에서 미분이 가능하지 않아 이를 최소로 하는 해를 구하기가 어렵다. 이에 다음과 같이 삼각함수에 기반한 새로운 거리 측정 방법을 제안한다.
이 방법은 두 단위 사원수 간의 각도 차이를 근사하며, 전 치역에 대해 미분 가능하다.
기준 단위 사원수 는 새로운 거리 측정 방법을 기반하여 거리 좌승 에너지를 최소화 하는 값으로 다음과 같이 구할 수 있다.
여기서 이다. 이고, 이므로,
단위 사원수의 크기가 1인 성질을 만족하면서 E를 최소화 하는 를 구하기 위해 다음과 같은 라그랑지 승수(lagrange multiplier) 방법을 사용한다.
여기서 이고, lambda는 라그랑지 승수이다. 원 에너지 식을 위의 라그랑지 승수 식에 대입하면,
이 때 벡터 이며, 행렬, 그리고 lambda는 실수이다. 따라서, 이러한 형식의 해를 구하는 문제는 일반적인 고유값(eigen value) 문제로 다룰 수 있다. 행렬의 경우 그 해가 4개 까지 나올 수 있으며, 각각의 해를 원 에너지 식에 대입하여 E를 최소화 하는 것을 선택함으로써 해를 구할 수 있다.
도 6은 단위 사원수 혼합 기법을 도시하고 있다. 구해진 기준 단위 사원수 를 이용하여(그림 6(a)), 모든 예제 방향 정보 를 각각 대응되는 3차원 변위 벡터롤 대수 연산을 이용하여 변환 시킨다(그림 6(b)). 각 변위 벡터의 가중치 합을 통해 혼합된 변위 벡터 를 구하고(그림 6(c)), 마지막으로 지수 연산을 통해 혼합된 변위 벡터 를 원래의 단위 사원수 값으로 변환시켜 최종적인 혼합된 방향정보 를 구한다(그림 6(d))
이제 주어진 궤적을 가상 캐릭터가 잘 따라가도록 최상위 관절의 위치 정보와 방향정보를 조정한다. 먼저 최상위 관절의 위치 정보를 조정한다. 를 각각 시간 t에서의 사용자가 준 곡선 궤적상의 위치 및 접선 벡터라고 하면 목표 최상위 관절의 위치 정보 의 평면상에 투영시킨 위치가 와 같아지도록 조절한다. 즉,
는 혼합하여 얻은 최상위 관절의 위치정보 를 평면상에 투영시킨 값이다. 이제 혼합된 최상위 관절의 방향정보를 조절하여 궤적의 방향과 맞추어준다. 이 과정은 목표 최상위 관절의 방향 정보 의 진행 방향 를 궤적의 법선 방향 와 같게 조절함으로써 이루어지며, 의 사이각을 라고 하고, 평면의 단위 법선 벡터를 이라고 할 때 다음과 같은 식으로 구할 수 있다.
여기서, 는 방향 정보 혼합을 통해 얻은 최상위 관절의 방향 정보이다.
6) 동작 재적용
가상 캐릭터가 실제 동작을 연기한 연기자와 신체 크기 및 비율에서 차이가 날 경우, 관절 각을 유지하면서 동시에 손발 끝의 위치를 연기자의 것과 일치시키는 것은 불가능하며, 동작을 가상캐릭터에 바로 적용할 경우 발이 땅에서 미끄러지거나 땅을 뚫고 지나가는 등의 문제점들이 나타나게 된다. 따라서 주어진 원래 동작의 특징을 훼손시키지 않으면서, 사실성 있는 동작을 얻는 방법이 필요하며, 또한 그 과정이 온라인 및 실시간으로 이루어 져야 한다. 이러한 목적으로 우리는 Shin 등이 제안한 중요도 기반 온라인 동작 제적용 방법을 적용하였다.
이 방법을 적용하기 위해 입력 정보로 목표 발자국 위치를 입력으로 받는다. 목표 발자국 위치는 예제 동작들의 발자국의 위치를 혼합하여 얻을 수 있으며, 이때 발자국의 위치는 최상위 관절을 기준으로 로컬 좌표계를 이용해 표현한다. i번째 예제 동작의 경우 시간 t에서 로컬 좌표계로 표현된 발자국의 위치
이다. 여기서 는 시간 t에서 글로벌 좌표계에서 표현된 발자국의 위치이며, 는 최상위 관절의 위치와 방향이다. 목표 발자국의 위치 는 모든 예제 동작위 발자국의 가중치 합을 통해 얻어지며, 다음의 식과 같다.
목표 발자국의 위치는 주어진 시간에서의 가중치에 따라 계속 변하게 된다. 따라서, 발이 땅에 닿고 있는 순간은 발이 땅에서 고정되도록 제한하여야 한다. 발이 땅에 닿고 있는 순간의 길이는 시간 변형에서 사용하였던 키타임을 통해 쉽게 구해 질 수 있다. 발이 땅에 닿는 순간 및 땅에 닿고 있는 순간은 발의 위치를 보존하고, 발이 땅에서 떨어 졌을 때는 발의 관절각을 보존하는 방법을 통해 동작의 특징을 보존할 수 있다.
7) 실험 결과
실험을 위해 10개의 걷는 동작, 5개의 조깅 동작 및 5개의 뛰는 동작 등 총 20개의 보행 동작을 예제동작으로써 사용하였다. 각 예제 동작은 그 속도 및 선회 값에서 서로 다른 특징을 가지며, 앞서 설명한 동작의 매개변수화 방법을 통해 속도와 선회 값을 구하였다. 각 예제 동작은 그 구조적인 면에서 모두 비슷한 특징을 가진다. 즉, 모두 오른발부터 보행을 시작하며, 또한 두 걸음걸이로 구성되어 있다. 각 동작의 키타임은 발이 땅에 닿는 순간 및 떨어지는 순간으로 사전에 손으로 체크하였다. 실험에 사용한 캐릭터의 모형은 43개의 자유도를 가지며, 6개는 최상위 관절의 위치 및 방향, 9개는 몸통의 관절, 28개는 팔다리 관절에 사용되었다.
첫 번째 실험은 주어진 곡선 괘적을 특정 스타일 및 속도로 따라가는 보행동작을 생성하는 것이다. 도 8(a)부터 8(c)는 주어진 같은 곡선 괘적을 따라가는 생성된 동작을 보여준다. 주어진 괘적을 따라가도록 하기 위해 주어진 곡선의 접선 벡터를 사용하여 선회 매개 변수를 조절하였다.
두 번째 실험은 본 발명에서 제안한 방법의 온라인, 실시간 성질을 보여준다. 마우스 포인터의 위치를 온라인 입력으로 받아 가상 캐릭터가 마우스의 위치를 쫓아가도록 만들었다. 매 프레임마다 마우스 위치를 바탕으로 속도 및 선회 매개 변수의 값을 계산하였으며, 스타일 값은 속도 값에 따라 자동으로 변경되도록 설정을 하였다. 도 9에 도시된 바와 같이 마우스를 빨리 움직이면 가상 캐릭터가 뛰게 되며, 천천히 움직이면 걷게 된다.
마지막 실험은 평평하지 않은 바닥 위에서 보행동작을 생성하는 예제를 보여준다. 바닥은 NURBS를 이용하여 모델링 되었으며, 고저는 랜덤 하게 결정되었다. 혼합된 동작을 평평하지 않은 바닥에 맞도록 박자국의 높이 값을 조절하여 땅 위에 있도록 제한하였다(도 10 참조). 따라서 생성된 동작은 발이 미끄러지거나 바닥을 뚫고 가는 등의 문제점을 보이지 않는다.
도 7은 제안한 방법의 전체적인 성능을 보여주며, 렌더링 시간은 고려되지 않았다. 실험은 Pentium III 800 MHz의 중앙 처리 장치를 가지는 IBM 호환 PC 상에서 이루어 졌다. 도면에서 보여 주듯이 실험에 사용한 예제 동작의 개수에 전체 성능이 비례 함을 볼 수 있다. 20개의 예제 동작을 사용할 경우 프레임당 계산 시간은 1.2 밀리초가 걸리는 것을 알 수 있으며 이는 초당 약 800 프레임 정도를 계산할 수 있는 성능이다.
이상에서와 같이, 본 발명에 의한 온라인 보행 동작 생성방법에 따르면 인간형의 가상 캐릭터의 보행 동작을 실시간에 생성하는 새로운 방법으로, 보행 궤적 및 속도, 스타일의 조건이 시간에 따라 동적으로 변할 때 이를 만족하는 보행동작을 실시간에 생성할 수 있다.
이러한 보행 동작 생성 방법은 사용자의 입력을 실시간으로 받아 사실적인 동작을 생성하여야 하는 게임 등의 분야에 효과적으로 활용될 수 있다. 즉, 본 발명은 게임 및 실시간 애니메이션 제작에 적용될 수 있으며, 동작 시작품 제작에 활용될 수 있다.
도 1은 본 발명에 따른 온라인 보행 동작 생성 과정을 설명하기 위한 전체 개념도이다.
도 2는 예제 보행 동작의 최상위 관절의 궤적을 원호로 근사하여 나타낸 개략도이다.
도 3은 예제 동작들의 실제 시간과 일반 시간의 부분 선형 상사를 나타낸 그래프이다.
도 4a 및 도 4b는 Rose 등의 시간 변형과 증가 기반 시간 변형의 예를 나타낸 그래프이다.
도 5a 및 도 5b는 단위 사원수로 표현된 방향 정보들에 대한 거리 측정의 예를 나타낸 그래프이다.
도 6a 내지 도 6d는 단위 사원수의 혼합 기법를 나타낸 개략도이다.
도 7은 예제 동작의 수에 따른 수행성능의 실험 예를 나타낸 그래프이다.
도 8a 내지 도 8c는 주어진 같은 곡선 궤적을 따라가는 보행동작 생성의 예를 나타낸 도면이다.
도 9는 마우스 위치를 따라가는 보행동작 생성의 예를 나타낸 도면이다.
도 10은 평평하지 않은 환경에서의 보행동작 생성의 예를 나타낸 도면이다.

Claims (7)

  1. 인간형 가상 캐릭터의 걷기, 조깅, 뛰기에 대한 보행 동작을 실시간으로 생성하는 온라인 보행동작 생성방법에 있어서,
    사용자가 원하는 특징을 갖는 입력 예제 보행 동작들을 궤적, 속도, 스타일 의 정의를 위한 매개 변수화하는 단계와;
    동작 혼합에 사용되는 상기 각 예제 보행 동작의 가중치를 데이터 보간방식으로 계산하는 단계와;
    키타임에 기반한 시간 변형을 통해 길이가 서로 다른 보행 동작들을 일정한 길이의 일반시간으로 변환시켜 주는 단계와;
    상기 시간 변형된 보행 동작의 각 프레임에서의 자세들을 혼합하는 단계와;
    상기 혼합된 동작을 목표 캐릭터에 적합하도록 재적용하여 최종 동작을 생성하는 단계를 포함하는 것을 특징으로 하는 온라인 보행 동작 생성방법.
  2. 삭제
  3. 삭제
  4. 청구항 1에 있어서, 상기 시간 변형은 일반 시간에 대한 각 예제 동작들의 실제 시간의 증분을 가중치 합하여 이를 혼합된 동작의 이전 실제시간에 더해주는 증분 시간 변형 기법이 적용되는 것을 특징으로 하는 온라인 보행 동작 생성방법.
  5. 청구항 1에 있어서, 상기 자세 혼합은 단위 사원수로 표현된 방향 정보를 그에 대응하는 삼차원 벡터 공간으로 변환하여 벡터 공간에서 가중치 합을 구한 후, 다시 원래의 단위 사원수 공간으로 환원하는 방향정보 혼합 기법을 사용하는 것을 특징으로 하는 온라인 보행 동작 생성방법.
  6. 청구항 5에 있어서, 상기 단위 사원수는 자세의 관절각 방향 정보를 표현하기 위해 특이한 문제점이 없는 단위 사원수를 이용하는 것을 특징으로 하는 온라인 보행 동작 생성방법.
  7. 청구항 1에 있어서, 상기 동작 재적용은 중요도 기반의 온라인 동작 재적용 기법을 사용하는 것을 특징으로 하는 온라인 보행 동작 생성방법.
KR10-2002-0041321A 2002-07-15 2002-07-15 동작 혼합에 기반한 가상 캐릭터의 온라인 보행 동작생성방법 KR100478721B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0041321A KR100478721B1 (ko) 2002-07-15 2002-07-15 동작 혼합에 기반한 가상 캐릭터의 온라인 보행 동작생성방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0041321A KR100478721B1 (ko) 2002-07-15 2002-07-15 동작 혼합에 기반한 가상 캐릭터의 온라인 보행 동작생성방법

Publications (2)

Publication Number Publication Date
KR20040008029A KR20040008029A (ko) 2004-01-28
KR100478721B1 true KR100478721B1 (ko) 2005-03-24

Family

ID=37317292

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0041321A KR100478721B1 (ko) 2002-07-15 2002-07-15 동작 혼합에 기반한 가상 캐릭터의 온라인 보행 동작생성방법

Country Status (1)

Country Link
KR (1) KR100478721B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103853044A (zh) * 2012-12-04 2014-06-11 中山大学深圳研究院 一种基于径向基函数的交互式群组控制方法
CN113608496B (zh) * 2021-07-28 2024-03-22 天津大学 空间路径g2转接光顺方法、设备及计算机可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000027234A (ko) * 1998-10-27 2000-05-15 이계철 아바타 동작 편집 시스템에서의 아바타 동작 편집 방법
KR20000026404A (ko) * 1998-10-20 2000-05-15 신동윤 가상현실 캐릭터의 실시간 제어시스템
JP2001067490A (ja) * 1999-08-25 2001-03-16 Namco Ltd 画像生成システム及び情報記憶媒体
KR20010095900A (ko) * 2000-04-12 2001-11-07 박명수 3차원 모션캡쳐 분석시스템 및 그 방법
KR20020015234A (ko) * 2000-08-21 2002-02-27 윤덕용 가상 캐릭터의 실시간 동작변환방법
US6359621B1 (en) * 1997-08-27 2002-03-19 Fujitsu Limited Data converting device for encoding and editing time series data and method thereof
KR20020095774A (ko) * 2001-06-15 2002-12-28 한국과학기술원 동작 포착 데이터를 이용한 이동 동작 계획에 대한 확률적접근 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6359621B1 (en) * 1997-08-27 2002-03-19 Fujitsu Limited Data converting device for encoding and editing time series data and method thereof
KR20000026404A (ko) * 1998-10-20 2000-05-15 신동윤 가상현실 캐릭터의 실시간 제어시스템
KR20000027234A (ko) * 1998-10-27 2000-05-15 이계철 아바타 동작 편집 시스템에서의 아바타 동작 편집 방법
JP2001067490A (ja) * 1999-08-25 2001-03-16 Namco Ltd 画像生成システム及び情報記憶媒体
KR20010095900A (ko) * 2000-04-12 2001-11-07 박명수 3차원 모션캡쳐 분석시스템 및 그 방법
KR20020015234A (ko) * 2000-08-21 2002-02-27 윤덕용 가상 캐릭터의 실시간 동작변환방법
KR20020095774A (ko) * 2001-06-15 2002-12-28 한국과학기술원 동작 포착 데이터를 이용한 이동 동작 계획에 대한 확률적접근 방법

Also Published As

Publication number Publication date
KR20040008029A (ko) 2004-01-28

Similar Documents

Publication Publication Date Title
Zhao et al. Robust realtime physics-based motion control for human grasping
Sueda et al. Musculotendon simulation for hand animation
Kennaway Synthetic animation of deaf signing gestures
Tsai et al. Real-time physics-based 3d biped character animation using an inverted pendulum model
Yamane et al. Natural motion animation through constraining and deconstraining at will
Felis et al. Synthesis of full-body 3-d human gait using optimal control methods
Yasumuro et al. Three-dimensional modeling of the human hand with motion constraints
Shapiro et al. A dynamic controller toolkit
Han et al. Vr-handnet: A visually and physically plausible hand manipulation system in virtual reality
Kim et al. Adaptation of human motion capture data to humanoid robots for motion imitation using optimization
KR100478721B1 (ko) 동작 혼합에 기반한 가상 캐릭터의 온라인 보행 동작생성방법
Multon et al. Interactive animation of virtual humans based on motion capture data
Wang et al. A Generative Human-Robot Motion Retargeting Approach Using a Single RGBD Sensor.
US20120223953A1 (en) Kinematic Engine for Adaptive Locomotive Control in Computer Simulations
Guo et al. Locomotion skills for insects with sample‐based controller
Ismail et al. An overview on dynamic 3d character motion techniques in virtual environments
Xia et al. Recent advances on virtual human synthesis
Huang Motion control for human animation
Han et al. A framework for virtual hand haptic interaction
Tsai et al. Two-phase optimized inverse kinematics for motion replication of real human models
Memişoğlu Human motion control using inverse kinematics
Usta Comparison of quaternion and euler angle methods for joint angle animation of human figure models
Lake et al. Dynamic motion control of an articulated figure using quaternion curves
Kim et al. Realtime control for motion creation of 3d avatars
Pai et al. Eulerian solids for soft tissue and more

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080229

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee