KR20160124493A - 리그 공간으로의 캐릭터 모션 리타겟팅 방법 및 장치 - Google Patents
리그 공간으로의 캐릭터 모션 리타겟팅 방법 및 장치 Download PDFInfo
- Publication number
- KR20160124493A KR20160124493A KR1020150055169A KR20150055169A KR20160124493A KR 20160124493 A KR20160124493 A KR 20160124493A KR 1020150055169 A KR1020150055169 A KR 1020150055169A KR 20150055169 A KR20150055169 A KR 20150055169A KR 20160124493 A KR20160124493 A KR 20160124493A
- Authority
- KR
- South Korea
- Prior art keywords
- joint
- parameter
- space
- rigging
- value
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 발명은 본 발명에서는 원본 모션을 실제 프로덕션에서 사용하는 수준의 복잡하고 다양한 캐릭터 리그에 리타겟팅함으로써, 애니메이터가 모션을 수정하거나 재사용하는 데 기존의 친숙한 리그파라미터를 그대로 활용할 수 있도록 하는 리그 공간으로의 캐릭터 모션 리타겟팅 방법 및 장치에 관한 것으로,
상기 리그 공간으로의 캐릭터 모션 리타겟팅 방법은 다수의 관절 위치 측정값들로 이루어진 원본 모션을 대상 캐릭터의 관절값 공간에 리타겟팅하여 관절값 공간 파라미터를 획득하는 단계; 비선형 최적화 함수를 통해 상기 관절값 공간 파라미터로부터 리깅 공간 파라미터를 산출하는 단계; 및 상기 리깅 공간 파라미터부터 상기 관절값 공간 파라미터를 역산출한 후 상기 관절값 공간 파라미터와 비교하는 동작을 수행하면서, 상기 역산출된 관절값 공간 파라미터와 상기 관절값 공간 파라미터간의 오차가 최소가 되는 리깅 공간 파라미터를 선별함으로써, 상기 리깅 공간 파라미터를 최적화하는 단계를 포함할 수 있다.
상기 리그 공간으로의 캐릭터 모션 리타겟팅 방법은 다수의 관절 위치 측정값들로 이루어진 원본 모션을 대상 캐릭터의 관절값 공간에 리타겟팅하여 관절값 공간 파라미터를 획득하는 단계; 비선형 최적화 함수를 통해 상기 관절값 공간 파라미터로부터 리깅 공간 파라미터를 산출하는 단계; 및 상기 리깅 공간 파라미터부터 상기 관절값 공간 파라미터를 역산출한 후 상기 관절값 공간 파라미터와 비교하는 동작을 수행하면서, 상기 역산출된 관절값 공간 파라미터와 상기 관절값 공간 파라미터간의 오차가 최소가 되는 리깅 공간 파라미터를 선별함으로써, 상기 리깅 공간 파라미터를 최적화하는 단계를 포함할 수 있다.
Description
본 발명은 3D 컴퓨터 애니메이션의 캐릭터 모션 리타겟팅 방법에 관한 것으로, 대상 캐릭터가 기존 애니메이션 파이프라인에서 사용되는 수준의 복잡한 리깅을 가졌더라도, 해당 리깅의 리깅 공간(Rig-space)에 모션을 리타겟팅 할 수 있는 안정적이고 새로운 리그 공간으로의 캐릭터 모션 리타겟팅 방법 및 장치에 관한 것이다.
전통적인 3D 컴퓨터 애니메이션의 캐릭터 모션은 애니메이터의 키프레이밍 기법으로 제작되었으며, 키프레이밍 기법은 지금까지도 영화 및 애니메이션 산업에서 가장 대표적으로 캐릭터 애니메이션을 제작하는 방식 중 하나이다. 이러한 키프레이밍 애니메이션을 제작하기 위해서 애니메이터는 대부분 정교하게 제작된 캐릭터 리그(Character Rig)로 작업을 하게 된다.
캐릭터 리그란 일반적으로 애니메이션 제작을 위하여 캐릭터의 관절 움직임(Joint Motion) 및 자연스러운 몸체 변형(Body Deformation)을 애니메이터가 보다 편리하게 조작 할 수 있도록 하기 위하여 만들어진 직관적이고 친숙한 컨트롤러들을 말한다. 애니메이터는 이러한 컨트롤러들을 통하여 캐릭터의 관절 및 디포머들의 파라미터들을 조절함으로써, 새로운 키프레이밍 애니메이션을 제작하거나 이미 만들어진 애니메이션을 수정하는데 유용하게 활용한다.
키프레이밍 방식은 애니메이터의 역량에 크게 의존하며 시간과 비용이 많이 드는 단점이 있기에, 좀 더 쉽고 빠르게 사실적인 모션을 얻을 수 있는 모션 캡쳐 및 리타겟팅 기술이 각광받게 되었다.
일반적인 의미에서 모션 리타겟팅은 모션 캡쳐된 원본 모션을 서로 다른 대상 캐릭터에 오차값을 최소화하며 옮겨 주는 과정을 의미하며, 신체 모션 리타겟팅의 경우 원본 관절과 대상 관절의 관절값 오차를 최소화시키는 방식으로 이루어진다.
모션 캡쳐 및 리타겟팅 기술은 그 동안의 여러 발명 및 기술 개발에 힘입어 이제 전통적인 키프레이밍 기법과 함께 실제 게임, 영화 및 애니메이션 프로덕션에서 매우 중요하게 사용되고 있다.
실제 프로덕션에서 모션 캡쳐된 데이터를 사용할 때 캡쳐된 그대로의 모션을 사용하는 경우는 매우 드물며, 대부분의 경우 애니메이터가 사용 목적에 따라 모션을 편집하는 과정을 거치게 된다.
이 과정에서 애니메이터는 캐릭터의 발이 땅에서 미끄러지지 않게 한다던가 캐릭터의 신체부위가 스스로 파고들지 않게 하는 등 사소한 오류를 수정하는 것부터, 모션의 타이밍을 변화시키거나 더욱 과장된 표현을 추가하는 등 보다 디테일하고 광범위한 편집 작업을 수행하게 된다. 이러한 모션을 보다 쉽고 직관적으로 편집하기 위하여 다양한 편집 기법들이 제안되거나, 또는 물리적 법칙에 기반하여 모션을 자동으로 수정하거나 생성해 주는 발명들이 이루어졌으나, 실제 프로덕션 파이프라인에 적용되기에는 기존의 캐릭터 리그와 키프레이밍 방식에 친숙한 애니메이터가 사용하기에는 적합하지 않다. 또한 기존의 방식대로 대상 캐릭터의 관절에 리타겟팅 된 신체 모션을 수정하기 위해서는 캐릭터의 관절값을 애니메이터가 직접 수정해야 하므로, 다루기가 불편하고 직관적이지 않아 매우 비효율적이다. 이 때문에, 애니메이터들은 리타겟팅된 모션을 편집하는 과정에서 그들이 키프레이밍 애니메이션을 작업하던 친숙한 방식인 캐릭터 리그로 편집을 수행하기를 선호한다.
이러한 애니메이터들의 요구사항을 해결하기 위하여, "Autodesk Maya2013 HumanIK" 등 최신 상용 CG 소프트웨어에서는 최근 신체 모션 리타겟팅을 캐릭터 리그에 수행하는 기능을 제공하고 있다. 그러나 이들 상용 프로그램의 경우 일일이 각 관절 및 그 관절과 연관된 캐릭터 리깅 공간 파라미터 사이의 상관관계를 지정해 주어야 하고, 또한 그 방식이 매우 단순한 위치 구속(Point Constraint), 회전 구속(Orient Constraint) 등에 한정되어 있어 다양하고 복잡한 실제 프로덕션 단계의 캐릭터 리그에 적용하기에는 한계가 있다.
이에 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명에서는 원본 모션을 실제 프로덕션에서 사용하는 수준의 복잡하고 다양한 캐릭터 리그에 리타겟팅함으로써, 애니메이터가 모션을 수정하거나 재사용하는 데 기존의 친숙한 리그파라미터를 그대로 활용할 수 있도록 하는 리그 공간으로의 캐릭터 모션 리타겟팅 방법 및 장치를 제공하고자 한다.
또한, 원본 모션과의 오류값을 최소화하는 대상 캐릭터의 캐릭터 리깅 공간 파라미터를 찾아내는 비선형 최적화 기법을 제안함으로써, 원본 모션을 최대한 보존하면서 효율적인 리타겟팅을 수행할 수 있도록 하는 리그 공간으로의 캐릭터 모션 리타겟팅 방법 및 장치를 제공하고자 한다.
또한, 신체 각 부위별로 적절한 그룹화를 시킨 다음 개별적으로 최적화를 수행할 수 있도록 함으로써, 리타겟팅 동작의 정확도와 효율성이 극대화될 수 있도록 하는 리그 공간으로의 캐릭터 모션 리타겟팅 방법 및 장치를 제공하고자 한다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 수단으로서, 본 발명의 일 실시 형태에 따르면, 다수의 관절 위치 측정값들로 이루어진 원본 모션을 대상 캐릭터의 관절값 공간에 리타겟팅하여 관절값 공간 파라미터를 획득하는 단계; 비선형 최적화 함수를 통해 상기 관절값 공간 파라미터로부터 리깅 공간 파라미터를 산출하는 단계; 및 상기 리깅 공간 파라미터부터 상기 관절값 공간 파라미터를 역산출한 후 상기 관절값 공간 파라미터와 비교하는 동작을 수행하면서, 상기 역산출된 관절값 공간 파라미터와 상기 관절값 공간 파라미터간의 오차가 최소가 되는 리깅 공간 파라미터를 선별함으로써, 상기 리깅 공간 파라미터를 최적화하는 단계를 포함하는 리그 공간으로의 캐릭터 모션 리타겟팅 방법을 제공한다.
상기 리깅 공간 파라미터를 산출하는 단계는 ""의 수학식에 따라 상기 관절값 공간 파라미터를 상기 리깅 공간 파라미터로 환산하며, 상기 c는 리깅 공간 파라미터, 상기 Rn는 n 차원의 리깅 공간 파라미터 c, 상기 J는 관절값 공간 파라미터, 상기 Jt 는 n 차원의 리깅 공간 파라미터 c 에 의해 역산출된 관절값 공간 파라미터인 것을 특징으로 한다.
상기 리깅 공간 파라미터를 최적화하는 단계는 상기 대상 캐릭터의 다수의 관절을 신체 부위별로 그룹화하여, 그룹 단위로 상기 리깅 공간 파라미터의 최적화 동작을 수행하는 것을 특징으로 한다.
상기 리깅 공간 파라미터를 최적화하는 단계는 하나의 관절값에 관여하는 리깅 공간 파라미터가 다수개인 경우, 리깅 공간 파라미터 각각이 관여하고 있는 관절의 개수를 추가 확인한 후, 관여하고 있는 관절 개수가 많은 리깅 공간 파라미터부터 순차적으로 최적화시키는 것으로 것을 특징으로 한다.
상기 리깅 공간 파라미터를 최적화하는 단계는 " "의 수학식에 따라 상기 역산출된 관절값 공간 파라미터와 상기 관절값 공간 파라미터간의 오차를 산출하며, 상기 j는 관절값 공간 파라미터에 속한 개별 관절값이고, 상기 jt 는 리깅 공간 파라미터에 의해 역산출된 관절값 공간 파라미터에 속한 개별 관절값인 것을 특징으로 한다.
상기 리깅 공간 파라미터를 최적화하는 단계는 기 설정된 골격 구조 정보에 따라 상기 다수의 관절 각각에 부여되는 가중치를 달리한 후, 상기 리깅 공간 파라미터를 최적화시키는 것을 특징으로 한다.
상기 리깅 공간 파라미터를 최적화하는 단계는 ", "의 수학식에 따라 상기 역산출된 관절값 공간 파라미터와 상기 관절값 공간 파라미터간의 오차를 산출하며, 상기 j는 관절값 공간 파라미터에 속한 개별 관절값, 상기 jt 는 리깅 공간 파라미터에 의해 역산출된 관절값 공간 파라미터에 속한 개별 관절값, 상기 h(j)는 관절값 j에 대한 계층함수이고, 상기 wj는 관절값 j에 대한 가중치인 것을 특징으로 한다.
상기 리깅 공간 파라미터를 최적화하는 단계는 ""의 수학식에 따라 상기 역산출된 관절값 공간 파라미터와 상기 관절값 공간 파라미터간의 오차를 산출하는 단계; ""의 수학식에 따라 사용자 정의 제약값을 산출하는 단계; ""의 수학식에 따라 시간 제약값을 산출하는 단계; 및 ""의 수학식에 따라 상기 관절값 공간 파라미터를 상기 리깅 공간 파라미터로 역산출한 후, 상기 역산출된 관절값 공간 파라미터를 기반으로 상기 리깅 공간 파라미터를 최적화하는 단계를 포함하며, 상기 J는 관절값 공간 파라미터, 상기 j는 상기 관절값 공간 파라미터 J에 속한 개별 관절값이고, 상기 jt 는 리깅 공간 파라미터에 의해 역산출된 관절값 공간 파라미터에 속한 개별 관절값이고, 상기 c는 리깅 공간 파라미터, 상기 Cuser는 사용자 정의 제약으로 주어진 리깅 공간 파라미터의 집합, 상기 ti(J)는 i 번째 프레임의 관절값 공간 파라미터 J 의 값, 상기 Rn는 n 차원의 리깅 공간 파라미터 c, 상기 α, β, γ는 사용자 정의 계수인 것을 특징으로 한다.
상기 리깅 공간 파라미터를 최적화하는 단계는 ", "의 수학식에 따라 상기 역산출된 관절값 공간 파라미터와 상기 관절값 공간 파라미터간의 오차를 산출하는 단계; ""의 수학식에 따라 사용자 정의 제약값을 산출하는 단계; ""의 수학식에 따라 시간 제약값을 산출하는 단계; 및 ""의 수학식에 따라 상기 관절값 공간 파라미터를 상기 리깅 공간 파라미터로 역산출한 후, 상기 역산출된 관절값 공간 파라미터를 기반으로 상기 리깅 공간 파라미터를 최적화하는 단계를 포함하며, 상기 J는 관절값 공간 파라미터, 상기 j는 상기 관절값 공간 파라미터 J에 속한 개별 관절값이고, 상기 jt 는 리깅 공간 파라미터에 의해 역산출된 관절값 공간 파라미터에 속한 개별 관절값이고, 상기 h(j)는 관절값 j에 대한 계층함수이고, 상기 wj는 관절값 j에 대한 가중치, 상기 c는 리깅 공간 파라미터, 상기 Cuser는 사용자 정의 제약으로 주어진 리깅 공간 파라미터의 집합, 상기 ti(J)는 i 번째 프레임의 관절값 공간 파라미터 J 의 값, 상기 Rn는 n 차원의 리깅 공간 파라미터 c, 상기 α, β, γ는 사용자 정의 계수인 것을 특징으로 한다.
상기 과제를 해결하기 위한 수단으로서, 본 발명의 다른 실시 형태에 따르면, 다수의 관절 위치 측정값들로 이루어진 원본 모션을 대상 캐릭터의 관절값 공간에 리타겟팅하여 관절값 공간 파라미터를 획득하는 원본 모션 리타겟팅부; 비선형 최적화 함수를 통해 상기 관절값 공간 파라미터로부터 리깅 공간 파라미터를 산출하는 리깅 공간 파라미터 산출부; 및 상기 리깅 공간 파라미터부터 상기 관절값 공간 파라미터를 역산출한 후 상기 관절값 공간 파라미터와 비교하는 동작을 수행하면서, 상기 역산출된 관절값 공간 파라미터와 상기 관절값 공간 파라미터간의 오차가 최소가 되는 리깅 공간 파라미터를 선별함으로써, 상기 리깅 공간 파라미터를 최적화하는 리깅 공간 파라미터 최적화부를 포함하는 리그 공간으로의 캐릭터 모션 리타겟팅 장치를 제공한다.
본 발명에서는 다양하고 복잡한 방식으로 리깅된 서로 다른 캐릭터의 리깅 공간과 캐릭터 관절값 공간(Joint Parameter Space)간의 상관관계를 분석하고, 원본 모션을 최대한 보존하면서 효율적으로 리타겟팅을 수행할 수 있는 비선형적 최적화 기법을 제안한다. 이로 인하여 애니메이터는 모션 캡쳐 등으로 얻어진 원본 모션을 수정할 때, 기존의 키프레이밍 작업과 동일한 리깅 파라미터를 사용할 수 있게 되어 직관적이면서도 빠르고 쉽게 모션을 수정할 수 있게 된다.
또한, 애니메이터가 선호하는 작업 방식을 관찰한 후, 해당 과정을 최적화 과정에 반영함으로써 애니메이터가 수정하기에 매우 용이한 형태의 리타겟팅 결과물을 만들어낼 수 있도록 한다.
도1는 본 발명의 일 실시예에 따른 리그 공간으로의 캐릭터 모션 리타겟팅 방법을 설명하기 위한 도면이다.
도2는 본 발명의 일 실시예에 따른 리그 공간으로의 캐릭터 모션 리타겟팅 방법의 동작 원리를 설명하기 위한 도면이다.
도3은 본 발명의 일 실시예에 따른 리그 공간으로의 캐릭터 모션 리타겟팅 방법에 따른 관전 그룹화의 일예를 설명하기 위한 도면이다.
도4는 리깅 공간 파라미터 사용 개수에 따라 상이해지는 관절 공간 파라미터 산출 결과를 도시한 도면이다.
도5은 본 발명의 일 실시예에 따른 리깅 공간 파라미터 각각에 대한 우선순위를 부여 원리를 설명하기 위한 도면이다.
도6은 본 발명의 일 실시예에 따른 관절 계층 구조에 따른 리그 파라미터 최적화 방법을 설명하기 위한 도면이다.
도7은 본 발명의 일 실시예에 따른 애니메이터의 수작업을 지원하기 위한 사용자 정의 제약값과 시간축 제약에 따른 리그 파라미터 최적화 방법을 설명하기 위한 도면이다.
도8은 본 발명의 일 실시예에 따른 리그 공간으로의 캐릭터 모션 리타겟팅 방법의 효과를 설명하기 위한 도면이다.
도9는 본 발명의 일 실시예에 따른 리그 공간으로의 캐릭터 모션 리타겟팅 장치를 설명하기 위한 도면이다.
도2는 본 발명의 일 실시예에 따른 리그 공간으로의 캐릭터 모션 리타겟팅 방법의 동작 원리를 설명하기 위한 도면이다.
도3은 본 발명의 일 실시예에 따른 리그 공간으로의 캐릭터 모션 리타겟팅 방법에 따른 관전 그룹화의 일예를 설명하기 위한 도면이다.
도4는 리깅 공간 파라미터 사용 개수에 따라 상이해지는 관절 공간 파라미터 산출 결과를 도시한 도면이다.
도5은 본 발명의 일 실시예에 따른 리깅 공간 파라미터 각각에 대한 우선순위를 부여 원리를 설명하기 위한 도면이다.
도6은 본 발명의 일 실시예에 따른 관절 계층 구조에 따른 리그 파라미터 최적화 방법을 설명하기 위한 도면이다.
도7은 본 발명의 일 실시예에 따른 애니메이터의 수작업을 지원하기 위한 사용자 정의 제약값과 시간축 제약에 따른 리그 파라미터 최적화 방법을 설명하기 위한 도면이다.
도8은 본 발명의 일 실시예에 따른 리그 공간으로의 캐릭터 모션 리타겟팅 방법의 효과를 설명하기 위한 도면이다.
도9는 본 발명의 일 실시예에 따른 리그 공간으로의 캐릭터 모션 리타겟팅 장치를 설명하기 위한 도면이다.
본 발명의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도1는 본 발명의 일 실시예에 따른 리그 공간으로의 캐릭터 모션 리타겟팅 방법을 설명하기 위한 도면이다.
도1을 참고하면, 본 발명의 캐릭터 모션 리타겟팅 방법은 크게 다수의 관절 위치 측정값들로 이루어진 원본 모션을 대상 캐릭터의 관절값 공간에 리타겟팅하여 관절값 공간 파라미터를 획득하는 단계(S10), 비선형 최적화 함수를 통해 상기 관절값 공간 파라미터로부터 리깅 공간 파라미터를 산출하는 단계(S20), 및 상기 리깅 공간 파라미터부터 상기 관절값 공간 파라미터를 역산출한 후 상기 관절값 공간 파라미터와 비교하는 동작을 수행하면서, 상기 역산출된 관절값 공간 파라미터와 상기 관절값 공간 파라미터간의 오차가 최소가 되는 리깅 공간 파라미터를 선별함으로써, 상기 리깅 공간 파라미터를 최적화하는 단계(S30) 등을 포함할 수 있다.
이와 같이, 본 발명에서는 모션 캡쳐된 원본 모션이 입력되면, 도2에서와 같이 원본 모션을 대상 캐릭터의 리그 공간에 리타겟팅하기 이전에, 원본 모션을 대상 캐릭터의 관절값 공간에 리타겟팅한 후, 이 대상 캐릭터의 관절값을 만족시키는 대상 캐릭터의 리깅 공간값을 비선형 최적화를 통해 획득하도록 한다. 그 결과, 본 발명은 애니메이터가 캐릭터의 관절 구조가 아닌 기존에 키프레이밍 애니메이션 작업을 하던 캐릭터 리그를 그대로 사용하여 모션 캡쳐 애니메이션을 수정할 수 있도록 해준다.
먼저, 관절값 공간 파라미터를 획득하는 단계(S10)에 대해 보다 상세히 설명하면 다음과 같다.
본 발명에서는 원본 모션 리타겟팅을 오프라인 방식에 따라 수행하도록 하는 데, 이는 본 발명의 적용 분야가 실시간 어플리케이션이 아닌 오프라인에서 수행되는 모션 편집에 있으므로, 매 시간마다가 아닌 모션 데이터 단위로 최적화 연산을 수행함으로써 보다 정확한 모션 리타겟팅을 가능하게 하기 위함이다.
이에 수학식1에서와 같이 원본 모션을 Msource, 대상 캐릭터 모션을 Mtarget 이라고 가정한 후, 단위시간 t 에 대한 목적함수 r 의 오차값을 최소화시키는 방식으로, 원본 모션을 대상 캐릭터의 관절값 공간에 리타겟팅하여 대상 캐릭터의 관절값들을 획득하도록 한다.
다음으로, 리깅 공간 파라미터를 산출하는 단계(S20)에 대해 보다 설명하면 다음과 같다.
캐릭터 모션은 매 시각 변화하는 캐릭터 각 관절의 회전값 및 위치값으로 기술될 수 있다. 즉, N 개의 관절을 가진 캐릭터의 경우, 하나의 관절에 대한 회전값 및 위치값을 j 라는 벡터로 표현한다고 가정한다면, 캐릭터 모션은 N ㅧ j 개의 관절값으로 표현되며, N개의 벡터 j로 이루어진 공간은 캐릭터의 관절값 공간(Joint Parameter Space)으로 정의될 수 있다.
일반적인 모션 리타겟팅은 원본 캐릭터의 관절값 공간에서 대상 캐릭터의 관절값 공간으로 이루어지나, 본 발명에서는 최종적으로 모션 리타겟팅을 관절값이 아닌 대상 캐릭터의 리그가 가지고 있는 다양한 파라미터에 옮겨지도록 한다. 캐릭터 리그 공간 파라미터란 애니메이터가 직접 다루게 되는 값들을 의미하며, 본 발명에서는 이 값들의 집합을 리깅 공간 파라미터(Rig-space Parameter)로 정의하도록 한다.
캐릭터 리그에서 리깅 공간 파라미터를 c, 그 결과로 만들어지는 관절값 공간 파라미터를 J 라고 한다면, 캐릭터 리그는 이하의 수학식2에 따른 함수 형태로 표현될 수 있으며, 반대로 수학식2의 역함수를 활용하면, 대상 캐릭터의 관절값 공간 파라미터로부터 대상 캐릭터 리깅 공간 파라미터를 찾아낼 수 있음을 알 수 있다.
이에 본 발명의 단계 S2에서는, 수학식 3에서와 같이 수학식2의 역함수 g(x)를 이용하여 대상 캐릭터의 관절값 공간 파라미터로부터 대상 캐릭터 리깅 공간 파라미터를 유추하도록 한다.
그러나 함수 g(x)를 다양하고 복잡한 프로덕션 레벨의 캐릭터 리그에서 모두 명시적으로 표현하는 것은 상당히 어려운 일이다. 하나의 캐릭터 리그에서도, 리깅 공간 파라미터 c 와 관절값 공간 파라미터 J 는 매우 다양한 방식으로 연결되어 있다. 예를 들어, 단순한 위치 구속이나 회전 구속을 이용한 방식에서부터, 역기구학(Inverse Kinematics)을 이용한 방식, 또는 아예 캐릭터 리그를 제작한 제작자가 임의로 지정한 방식까지 무척이나 다양한 방식을 포함할 수 있다.
따라서 리깅 공간에 대한 리타겟팅을 수행할 목적으로 함수 g(x)를 명시적으로 표현하는 것은, 수백 개에 가까운 모든 리깅 공간 파라미터와 관절값 공간 파라미터 사이의 상관관계를 알고, 각각의 역함수를 식으로 나타내서 종합해야 하므로 매우 까다롭다. 더군다나 각각의 캐릭터 리그가 서로 다르므로, 모든 캐릭터에 대해서 이러한 별도의 함수 g(x)를 만들어 주어야 하므로 매우 비효율적이다.
이에 본 발명에서는 캐릭터 리그 방식에 상관없이 관절값 공간 파라미터로부터 리깅 공간 파라미터를 산출할 수 있도록, 이 문제를 데이터 최적화 문제로 정의하였으며, 그 결과 관절값 공간 파라미터로부터 리깅 공간 파라미터를 산출하도록 하는 비선형 최적화 함수는 이하의 수학식4와 같이 간략히 표현될 수 있다.
이때, c는 리깅 공간 파라미터, Rn는 n 차원의 리깅 공간 파라미터 c, J는 관절값 공간 파라미터, Jt 는 n 차원의 리깅 공간 파라미터 c 에 의해 역산출된 관절값 공간 파라미터이다. 즉, 비선형 최적화 함수 g(J)는 관절값 공간 파라미터 J를 최대한 만족시키는 리깅 공간 파라미터 c를 최적화하는 함수이다.
다만, 비선형 최적화 함수 g(J) 대로 모든 관절 공간 파라미터와 리깅 공간 파라미터를 한꺼번에 최적화하는 것은 비효율적이다. 이는 특정한 리깅 공간 파라미터는 특정한 관절에 아무런 영향을 미치지 않는 경우도 있기 때문이다. 이런 경우, 해당하는 관절에 관련된 리깅 공간 파라미터만을 최적화 연산에 포함시키는 것이 효율적이다. 또한, 캐릭터의 모든 관절 공간 파라미터와 리깅 공간 파라미터를 한꺼번에 최적화할 경우, 캐릭터 리깅 방식이 복잡할수록 각 파라미터들의 비선형성이 커져서 최적화 알고리즘이 수렴하기가 어렵게 된다.
이에 본 발명에서는 리깅 공간 파라미터를 최적화하는 단계(S30)을 추가적으로 수행하며, 단계 S30은 다시 대상 캐릭터의 신체 각 부분을 적절히 분할하여 그룹화하는 단계(S31)와, 리깅 공간 파라미터를 위한 최적화 단계(S32) 등으로 세분화되어 수행될 수 있다.
단계 S31의 그룹화 단계는 복잡한 리깅의 비선형성을 줄이기 위함으로써, 본 발명에서는 대상 캐릭터의 신체 각 부분을 적절히 분할하여 그룹화한 후, 그룹 단위로 최적화 동작이 각각 수행되도록 함으로써 효율적으로 수렴하는 최적화 연산을 수행할 수 있도록 한다.
관절 그룹화의 기본적인 가정은 모든 리깅 공간 파라미터가 모든 관절에 관여하지는 않는다는 것이다. 발목 관절을 움직이는 리깅 공간 파라미터는 손목 관절에는 아무런 영향을 미치지 않을 가능성이 높다. 따라서 특정 관절 공간 파라미터에 관여하는 리깅 공간 파라미터들만 따로 최적화하는 것이 효율적이다. 이를 위하여, 최적화 연산을 수행하기에 앞서 집합 함수 G를 이하의 수학식 5와 같이 정의하도록 한다.
즉, 집합 함수 G는 특정 관절값 j 의 변화에 관여하는 모든 리깅 공간 파라미터 c 의 집합을 의미한다.
이와 같이, 각 관절별로 최적화되어야 할 리깅 공간 파라미터가 정의되었으며, 어떠한 순서 및 방법으로 최적화를 수행해야 할 것인지 추가적으로 결정하도록 한다. 앞서 설명한 대로 모든 관절을 한꺼번에 최적화하는 것은 리깅 공간 파라미터의 개수가 많고, 캐릭터 리깅 방식이 복잡할수록 수렴하지 않을 가능성이 높기 때문이다. 반면에, 모든 관절을 각각 따로 최적화하는 것 또한 비효율적인데, 이는 캐릭터 관절은 일반적으로 계층 구조를 가지고 있기 때문에 상위 관절에서 약간의 오차가 발생한다면 말단 관절에서는 그 오차가 누적되어 차이가 매우 크게 발생되기 때문이다.
따라서 본 발명에서는 일정한 기준으로 관절들을 그룹화시킨 다음 최적화를 수행함으로써, 해당 그룹안에서 최대한 정확한 최적화 연산이 가능하게 하고 동시에 계산의 효율성이 향상되도록 한다. 예를 들어, 도3와 같이, 2족 보행 캐릭터의 경우 관절 그룹을 머리 그룹, 왼팔 그룹, 오른팔 그룹, 왼다리 그룹, 오른다리 그룹, 그리고 몸통그룹과 같이 크게 6개의 그룹을 정의할 수 있다. 기본적으로 관절의 분절(Branch)을 기준으로 신체의 팔, 다리를 따로 최적화하고, 손과 발의 경우 상대적으로 복잡한 리깅을 설치하는 경우가 많으므로 따로 최적화를 수행하도록 한다. 이러한 기준은 반복된 실험과 결과물 측정에 의한 경험적인 성격이 강하나, 일반적인 2족 보행 캐릭터의 리깅 과정을 고려하고, 각 신체 부위의 관절들이 구동하는 동작원리를 고려하였을 때 최적화 알고리즘이 좀 더 쉽게 수렴할 수 있도록 하는 합리적인 분류라고 할 수 있다.
단계 S31의 그룹화 단계가 완료되면, 단계 S32의 리깅 공간 파라미터를 위한 최적화 단계가 그룹 단위로 수행될 수 있는 데, 본 발명에서는 리깅 공간 파라미터를 위한 최적화 단계를 애니메이터 작업 방식에 따른 리그 파라미터 최적화 방법, 관절 계층 구조에 따른 리그 파라미터 최적화 방법, 사용자 정의 제약값과 시간축 제약에 따른 리그 파라미터 최적화 방법 등 중 적어도 하나를 통해 상기의 최적화 단계가 수행될 수 있도록 한다.
먼저, 첫 번째 리그 파라미터 최적화 방법인, 애니메이터 작업 방식에 따른 리그 파라미터 최적화 방법에 대해 살펴보기로 한다.
단계 S31을 통해 관절 그룹화를 수행한다고 해도 또 다른 문제는, 하나의 관절 파라미터 J를 만들어 내는 두 개 이상의 리깅 공간 파라미터 c가 존재할 수 있다는 점이다.
도4는 리깅 공간 파라미터 사용 개수에 따라 상이해지는 관절 공간 파라미터 산출 결과를 도시한 도면으로, 도4의 (a)와 (b) 모두 동일한 관절 파라미터를 가지고 있으나, (a)에서와 같이 Grab 이라는 유저가 임의로 지정한 하나의 리깅 공간 파라미터를 사용하거나, (b)는 각 손가락에 있는 FK(Forward Kinematics) 파라미터들을 사용하여 관절 파라미터가 산출될 수 있다.
5년 이상의 경력을 가진 숙련된 전문 애니메이터의 작업 과정을 관찰한 결과, 애니메이터들은 좀 더 큰 자세를 만드는 리깅 파라미터들을 우선적으로 활용하고, 그 이후에 좀 더 작고 디테일한 자세를 만드는 리깅 공간 파라미터들을 활용하는 순차적인 방식으로 작업한다는 사실을 알게 되었다. 예를 들어, 도4와 같은 자세를 제작할 때, Grab 이라는 하나의 파라미터를 사용하는 왼쪽의 방식을 다수의 FK 파라미터를 사용하는 오른쪽의 방식보다 선호하였다. 이러한 순서는 가능한 적은 숫자의 컨트롤러를 사용하게 함으로써, 모션을 제작하고 편집하는 과정에 있어서도 훨씬 효율적이다. 캐릭터의 전신포즈를 만들 경우에도, 애니메이터들은 먼저 캐릭터의 전체적인 위치나 자세 등을 가장 최고 상위 관절을 통해서 대략적으로 만든 다음, 이후에 팔이나 다리의 자세, 그 이후에 손가락 등 신체 말단 부위의 구체적인 자세를 만드는 방식으로 주로 작업하였다.
이에 본 발명에서는 애니메이터의 작업 방식에 근거하여, 하나의 관절 파라미터에 관여하는 두 개 이상의 리깅 공간 파라미터가 존재할 때, 관절 공간을 상대적으로 크게 변화시키는 리깅 공간 파라미터를 우선적으로 최적화 하도록 한다.
수학식 5 의 함수 G를 통하여 특정한 관절 j에 관여하는 리깅 공간 파라미터의 집합 {c1, c2,…, cn}를 얻을 수 있다. 여기에서 좀 더 가중치가 높은 c 를 먼저 최적화하기 위하여, 도5에 도시된 바와 같이 각각의 c가 관여하고 있는 관절의 갯수를 측정하고, 이를 기반으로 리깅 공간 파라미터 각각에 대한 우선순위를 부여한다. 그리고 우선순위가 높은 순, 즉 가장 많은 관절을 움직이고 있는 리깅 공간 파라미터 c 부터 우선적으로 최적화하도록 함으로써, 애니메이터가 작업하는 방식에 가깝게 최적화가 이루어 질 수 있도록 한다.
리깅 공간 파라미터의 최적화 함수는 기본적으로 수학식 4와 같이 리타겟팅 된 결과물인 관절값 J과, 리깅 공간 파라미터로 만들어진 관절값 Jt 사이의 오차를 비교한다. 이때, 관절값은 N개의 관절이 있을 때 N개의 4x4 변환행렬(Transformation Matrix)로 표현함으로써, 관절의 이동값과 회전값을 모두 비교할 수 있도록 하였다. 이 관절값 오차를 계산하기 위하여 이하의 수학식6을 활용할 수 있다.
이때, j는 관절값 공간 파라미터에 속한 개별 관절값을 의미하고, 상기 jt 는 리깅 공간 파라미터에 의해 역산출된 관절값 공간 파라미터에 속한 개별 관절값을 의미하며, 이들의 합으로 하나의 포즈를 결정하는 관절 공간값 오차 Ejoint를 결정할 수 있다.
다음으로, 두 번째 리그 파라미터 최적화 방법인, 관절 계층 구조에 따른 리그 파라미터 최적화 방법에 대해 살펴보기로 한다.
수학식 6을 통해 관절의 오차 값을 비교할 때 각 관절을 동일하게 비교해서 오차를 측정할 경우, 도6과 같이 의도치 않은 오차가 발생하는 문제가 발생할 수 있다.
도6은 손의 모션을 리깅 공간 파라미터에 리타겟팅한 결과인데, 도6의 (a)는 모든 관절에 대해서 동일한 가중치를 주었을 때 의도치 않은 방식으로 오차를 최소화해서 최적화 연산을 수행하여서 나타난 현상이다. 그러므로 관절간 오차를 계산할 때 골격 구조에 있어서 보다 상위에 있는 관절에 더 높은 가중치를 주어서, 상위에 있는 관절부터 더욱 정확한 값을 찾아내도록 최적화를 수행하는 것이 도6의 (b)와 같이 훨씬 향상된 결과를 가져올 수 있었다.
이를 위하여 수학식 6 을 수학식7에서와 같이 수정하고, 이를 기반으로 기 설정된 골격 구조 정보에 따라 상기 다수의 관절 각각에 부여되는 가중치를 달리한 후, 상기 리깅 공간 파라미터를 최적화시키도록 한다.
이때, 함수 h(j)는 관절j의 계층 함수이다. 최상위 관절의 경우 1의 값을 가지며, 하위 관절들로 내려갈수록 값이 1씩 증가하게 된다. 관절 j 에 대한 가중치 wj 는 이 함수 h를 분모로 가지는 분수함수로써, 결과적으로 상위 계층의 관절일수록 높은 가중치를 가지게 된다.
이런 방식으로 애니메이터의 일반적인 작업 성향에 따라 자동적으로 리깅 공간에 대한 리타겟팅을 수행하지만, 특정 애니메이터의 독특한 성향이나 일부 캐릭터의 특수한 경우에 따라서 애니메이터가 임의로 리그 공간에 대한 리타겟팅을 지정해 줄 수도 있다.
즉, 본 발명에서는 세 번째 리그 파라미터 최적화 방법인, 애니메이터의 수작업을 지원하기 위한 사용자 정의 제약값과 시간축 제약에 따른 리그 파라미터 최적화 방법을 추가로 제안하도록 한다.
앞서 설명된 도4의 경우, 일반적으로는 좀 더 적은 숫자의 리깅 공간 파라미터를 사용하여 작업을 하는 것이 선호되나, 애니메이터가 FK 컨트롤러만을 가지고 작업을 하는 것을 원한다면 이 요구에 맞게 최적화 연산이 진행되어야 할 것이다. 이를 위한 사용자 정의 제약값은 다음의 수학식8과 같은 식으로 계산될 수 있다.
이때, Cuser는 사용자 정의 제약으로 주어진 리그 파리미터들의 집합을 의미하며, 만약 특정 리그파라미터 c 가 사용자 정의 제약으로 주어진 리그 파리미터들 중의 하나라면 1을, 그렇지 않으면 0을 결과값으로 내놓는다.
최적화 과정을 매 애니메이션 프레임마다 수행하므로, 바로 직전 프레임과 크게 다른 방식으로 리깅 공간 파라미터를 최적화시키면 전체적인 동작이 부자연스럽거나, 편집할 때에 까다로운 상황이 발생할 수 있다.
도7의 애니메이션 그래프는 이러한 사례를 보여주고 있는데, 도7과 같이 관절의 회전값을 담당하는 리그 파라미터의 경우 동일한 관절값을 만들어내는 여러 개의 리그 파라미터가 존재할 수 있어서 이러한 상황이 발생하였다.
따라서 본 발명에서는 최적화 연산을 수행할 때 바로 직전 프레임의 리깅 공간 파라미터와 너무 동떨어진 값이 나오지 않도록, 시간축 제약 사항을 추가함으로써 모션 그래프가 순간적으로 튀는 현상을 해소하였다. 이 시간축 제약 사항을 목적함수에 Etime 이라는 항으로 표현하면 이하의 수학식9과 같이 표현될 수 있다.
이때, ti(J)는 i 번째 프레임의 관절 파라미터 J 의 값을 의미한다. 수학식9에서와 같이 첫 번째 프레임에서는 0으로 계산되며 이후로 기존 프레임과의 관절 파라미터 차이를 최소화하는 방식으로 최적화한다. 최종적으로 각 항의 오차값을 더해서 전체 프레임에서 합산함으로써, 앞서 설명된 최적화 함수인 수학식3은 이하의 수학식 10으로 수정될 수 있다.
이때, Ejoint는 수학식 6 또는 7에 따라 계산될 수 있으며, 각 항의 오차값은 모션 전체에서 최대, 최소값을 구함으로써 0 에서 1 사이로 정규화되었다. 각 항의 계수인 α, β, γ는 사용자에 의해 정의될 수 있는 사용자 정의 계수이며, 각각 1.0, 10.0, 1.0인 것이 가장 바람직하다.
도8은 본 발명의 일 실시예에 따른 리그 공간으로의 캐릭터 모션 리타겟팅 방법의 효과를 설명하기 위한 도면이다.
숙련된 애니메이터에게 리타겟팅된 신체모션을 주고 ,일정한 목표를 부여하여 애니메이션을 수정하는 데 기존의 리타겟팅 방식대로 관절값에 데이터가 있을 때 이것을 직접적으로 수정하는 방식과, 본 발명에 따른 애니메이터에게 친숙한 리깅 공간의 파라미터를 사용하는 방식을 테스트하였다.
표1 는 기존 방식과 본 발명에 따른 작업 능률 비교 평가표로, 이를 참고하면 작업 시간은 애니메이터의 숙련도에 따라서 달라지겠지만, 리깅 공간에 리타겟팅한 이후 리그를 이용해서 수정하는 방식이 2배에서 크게는 10배 이상의 편집 시간을 줄여줄 수 있음을 확인하였다. 이때, 대상 캐릭터는 도8에 도시된 바와 같이 실제 애니메이션 제작에 사용하는 수준의 캐릭터로, 112개의 관절을, 183개의 리그 파라미터를 가진다.
관절 J | 리그 p | 프레임 | 종래 | 본 발명 |
112 | 183 | 120 | 135min | 13min |
이는 모션의 성격에 따라서 다른데, 도8에서와 같이 캐릭터가 신체의 특정 부위를 고정하는 모션의 경우, 예를 들어 손을 특정 부분에 고정하고 다른 신체부위를 움직이는 등의 동작을 만들어낼 때, 이러한 동작 생성을 위해 관절 파라미터를 직접 수정하는 것은 대단히 어려우나, 본 발명의 역기구학 방식의 리깅 파라미터를 이용한다면 훨씬 쉽게 같은 동작을 만들어낼 수 있음을 알 수 있다.
도9는 본 발명의 일 실시예에 따른 리그 공간으로의 캐릭터 모션 리타겟팅 장치를 설명하기 위한 도면이다.
도9를 참고하면, 본 발명의 캐릭터 모션 리타겟팅 장치(10)는 다수의 관절 위치 측정값들로 이루어진 원본 모션을 대상 캐릭터의 관절값 공간에 리타겟팅하여 관절값 공간 파라미터를 획득하는 원본 모션 리타겟팅부(11), 비선형 최적화 함수를 통해 상기 관절값 공간 파라미터로부터 리깅 공간 파라미터를 산출하는 리깅 공간 파라미터 산출부(12), 및 상기 리깅 공간 파라미터부터 상기 관절값 공간 파라미터를 역산출한 후 상기 관절값 공간 파라미터와 비교하는 동작을 수행하면서, 상기 역산출된 관절값 공간 파라미터와 상기 관절값 공간 파라미터간의 오차가 최소가 되는 리깅 공간 파라미터를 선별함으로써, 상기 리깅 공간 파라미터를 최적화하는 리깅 공간 파라미터 최적화부(13) 등을 포함하여 구성될 수 있다.
이와 같은 캐릭터 모션 리타겟팅 장치(10)는 외부 장치와의 데이터 통신을 지원하는 통신부(20)와, 키보드, 터치 스크린, 마우스, 모니터 등과 같은 각종 데이터 입출력 장치를 구비하는 사용자 인터페이스(30)를 추가로 구비하여, 하나의 독립적인 하드웨어 장치로 구현될 수 있을 것이다.
또한, 필요한 경우, 캐릭터 모션 리타겟팅 장치(10)를 컴퓨터 또는 서버에 내장되는 임베디드 장치로 구현하며, 캐릭터 모션 리타겟팅 장치(10)가 컴퓨터 또는 서버에 설치된 운영 체제 또는 프로그램과 연동되는 방식으로 운영될 수도 있음은 물론 당연할 것이다.
이상에서 전술한 바와 같은 이를 구현하기 위한 프로그램 명령어로서 구현될 수 있으며, 이러한 프로그램 명령어를 기록한 컴퓨터로 읽힐 수 있는 기록매체는, 일 예로, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 미디어 저장장치 등이 있다.
또한 전술한 바와 같은 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는 네트워크로 커넥션된 컴퓨터 장치에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 이 경우, 다수의 분산된 컴퓨터 중 어느 하나 이상의 컴퓨터는 상기에 제시된 기능들 중 일부를 실행하고, 그 결과를 다른 분산된 컴퓨터들 중 하나 이상에 그 실행 결과를 전송할 수 있으며, 그 결과를 전송받은 컴퓨터 역시 상기에 제시된 기능들 중 일부를 실행하여, 그 결과를 역시 다른 분산된 컴퓨터들에 제공할 수 있다.
본 발명의 각 실시예에 따른 리그 공간으로의 캐릭터 모션 리타겟팅 방법 및 장치를 구동시키기 위한 프로그램인 애플리케이션을 기록한 기록매체를 읽을 수 있는 컴퓨터는, 일반적인 데스크 탑이나 노트북 등의 일반 PC뿐 만 아니라, 스마트 폰, 태블릿 PC, PDA(Personal Digital Assistants) 및 이동통신 단말 등의 모바일 단말을 포함할 수 있으며, 이뿐만 아니라, 컴퓨팅(Computing) 가능한 모든 기기로 해석되어야 할 것이다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
Claims (11)
- 다수의 관절 위치 측정값들로 이루어진 원본 모션을 대상 캐릭터의 관절값 공간에 리타겟팅하여 관절값 공간 파라미터를 획득하는 단계;
비선형 최적화 함수를 통해 상기 관절값 공간 파라미터로부터 리깅 공간 파라미터를 산출하는 단계; 및
상기 리깅 공간 파라미터부터 상기 관절값 공간 파라미터를 역산출한 후 상기 관절값 공간 파라미터와 비교하는 동작을 수행하면서, 상기 역산출된 관절값 공간 파라미터와 상기 관절값 공간 파라미터간의 오차가 최소가 되는 리깅 공간 파라미터를 선별함으로써, 상기 리깅 공간 파라미터를 최적화하는 단계를 포함하는 리그 공간으로의 캐릭터 모션 리타겟팅 방법. - 제1항에 있어서, 상기 리깅 공간 파라미터를 최적화하는 단계는
상기 대상 캐릭터의 다수의 관절을 신체 부위별로 그룹화하여, 그룹 단위로 상기 리깅 공간 파라미터의 최적화 동작을 수행하는 것을 특징으로 하는 리그 공간으로의 캐릭터 모션 리타겟팅 방법. - 제1항에 있어서, 상기 리깅 공간 파라미터를 최적화하는 단계는
하나의 관절값에 관여하는 리깅 공간 파라미터가 다수개인 경우, 리깅 공간 파라미터 각각이 관여하고 있는 관절의 개수를 추가 확인한 후, 관여하고 있는 관절 개수가 많은 리깅 공간 파라미터부터 순차적으로 최적화시키는 것으로 것을 특징으로 하는 리그 공간으로의 캐릭터 모션 리타겟팅 방법. - 제1항에 있어서, 상기 리깅 공간 파라미터를 최적화하는 단계는
기 설정된 골격 구조 정보에 따라 상기 다수의 관절 각각에 부여되는 가중치를 달리한 후, 상기 리깅 공간 파라미터를 최적화시키는 것을 특징으로 하는 리그 공간으로의 캐릭터 모션 리타겟팅 방법. - 제1항에 있어서, 상기 리깅 공간 파라미터를 최적화하는 단계는
""의 수학식에 따라 상기 역산출된 관절값 공간 파라미터와 상기 관절값 공간 파라미터간의 오차를 산출하는 단계;
""의 수학식에 따라 사용자 정의 제약값을 산출하는 단계;
""의 수학식에 따라 시간 제약값을 산출하는 단계; 및
""의 수학식에 따라 상기 관절값 공간 파라미터를 상기 리깅 공간 파라미터로 역산출한 후, 상기 역산출된 관절값 공간 파라미터를 기반으로 상기 리깅 공간 파라미터를 최적화하는 단계를 포함하며,
상기 J는 관절값 공간 파라미터, 상기 j는 상기 관절값 공간 파라미터 J에 속한 개별 관절값이고, 상기 jt 는 리깅 공간 파라미터에 의해 역산출된 관절값 공간 파라미터에 속한 개별 관절값이고, 상기 c는 리깅 공간 파라미터, 상기 Cuser는 사용자 정의 제약으로 주어진 리깅 공간 파라미터의 집합, 상기 ti(J)는 i 번째 프레임의 관절값 공간 파라미터 J 의 값, 상기 Rn는 n 차원의 리깅 공간 파라미터 c, 상기 α, β, γ는 사용자 정의 계수인 것을 특징으로 하는 리그 공간으로의 캐릭터 모션 리타겟팅 방법. - 제1항에 있어서, 상기 리깅 공간 파라미터를 최적화하는 단계는
", "의 수학식에 따라 상기 역산출된 관절값 공간 파라미터와 상기 관절값 공간 파라미터간의 오차를 산출하는 단계;
""의 수학식에 따라 사용자 정의 제약값을 산출하는 단계;
""의 수학식에 따라 시간 제약값을 산출하는 단계; 및
""의 수학식에 따라 상기 관절값 공간 파라미터를 상기 리깅 공간 파라미터로 역산출한 후, 상기 역산출된 관절값 공간 파라미터를 기반으로 상기 리깅 공간 파라미터를 최적화하는 단계를 포함하며,
상기 J는 관절값 공간 파라미터, 상기 j는 상기 관절값 공간 파라미터 J에 속한 개별 관절값이고, 상기 jt 는 리깅 공간 파라미터에 의해 역산출된 관절값 공간 파라미터에 속한 개별 관절값이고, 상기 h(j)는 관절값 j에 대한 계층함수이고, 상기 wj는 관절값 j에 대한 가중치, 상기 c는 리깅 공간 파라미터, 상기 Cuser는 사용자 정의 제약으로 주어진 리깅 공간 파라미터의 집합, 상기 ti(J)는 i 번째 프레임의 관절값 공간 파라미터 J 의 값, 상기 Rn는 n 차원의 리깅 공간 파라미터 c, 상기 α, β, γ는 사용자 정의 계수인 것을 특징으로 하는 리그 공간으로의 캐릭터 모션 리타겟팅 방법. - 제1항 내지 제9항 중 어느 한 항에 기재된 리그 공간으로의 캐릭터 모션 리타겟팅 방법을 실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 다수의 관절 위치 측정값들로 이루어진 원본 모션을 대상 캐릭터의 관절값 공간에 리타겟팅하여 관절값 공간 파라미터를 획득하는 원본 모션 리타겟팅부;
비선형 최적화 함수를 통해 상기 관절값 공간 파라미터로부터 리깅 공간 파라미터를 산출하는 리깅 공간 파라미터 산출부; 및
상기 리깅 공간 파라미터부터 상기 관절값 공간 파라미터를 역산출한 후 상기 관절값 공간 파라미터와 비교하는 동작을 수행하면서, 상기 역산출된 관절값 공간 파라미터와 상기 관절값 공간 파라미터간의 오차가 최소가 되는 리깅 공간 파라미터를 선별함으로써, 상기 리깅 공간 파라미터를 최적화하는 리깅 공간 파라미터 최적화부를 포함하는 리그 공간으로의 캐릭터 모션 리타겟팅 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150055169A KR101686028B1 (ko) | 2015-04-20 | 2015-04-20 | 리그 공간으로의 캐릭터 모션 리타겟팅 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150055169A KR101686028B1 (ko) | 2015-04-20 | 2015-04-20 | 리그 공간으로의 캐릭터 모션 리타겟팅 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160124493A true KR20160124493A (ko) | 2016-10-28 |
KR101686028B1 KR101686028B1 (ko) | 2016-12-13 |
Family
ID=57244633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150055169A KR101686028B1 (ko) | 2015-04-20 | 2015-04-20 | 리그 공간으로의 캐릭터 모션 리타겟팅 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101686028B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190024340A (ko) * | 2017-08-31 | 2019-03-08 | 한국과학기술원 | 캐릭터 애니메이션용 모션 리타겟팅 방법 및 장치 |
KR20200021702A (ko) * | 2018-08-21 | 2020-03-02 | 주식회사 엔씨소프트 | 모션 리타겟팅 장치 및 모션 리타겟팅 방법 |
KR20230080570A (ko) * | 2021-11-30 | 2023-06-07 | 주식회사 프락시스스튜디오 디오리지널 | 3d 캐릭터의 애니메이션 동작 소스를 전달하는 방법 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200056764A (ko) | 2018-11-15 | 2020-05-25 | 주식회사 스튜디오매크로그래프 | 3d얼굴 모델의 얼굴 애니메이션을 생성하기 위한 조인트 자동 셋업 방법과 컴퓨터 프로그램 |
KR102449987B1 (ko) | 2021-11-22 | 2022-10-04 | 스튜디오이온 주식회사 | 3d 얼굴 모델의 얼굴 애니메이션을 생성하기 위한 조인트 자동 셋업 방법과 그 컴퓨터 프로그램 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110117908A (ko) * | 2010-04-22 | 2011-10-28 | 한국과학기술원 | 리깅 복제를 통한 캐릭터 리깅 자동화 방법 및 장치 |
-
2015
- 2015-04-20 KR KR1020150055169A patent/KR101686028B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110117908A (ko) * | 2010-04-22 | 2011-10-28 | 한국과학기술원 | 리깅 복제를 통한 캐릭터 리깅 자동화 방법 및 장치 |
Non-Patent Citations (1)
Title |
---|
Martin Poirier ET AL., Rig Retargeting for 3D Animation, GI'09 PROCEEDINGS OF GRAPHICS INTERFACE 2009, 2009.05.25., 103-110P * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190024340A (ko) * | 2017-08-31 | 2019-03-08 | 한국과학기술원 | 캐릭터 애니메이션용 모션 리타겟팅 방법 및 장치 |
KR20200021702A (ko) * | 2018-08-21 | 2020-03-02 | 주식회사 엔씨소프트 | 모션 리타겟팅 장치 및 모션 리타겟팅 방법 |
KR20230080570A (ko) * | 2021-11-30 | 2023-06-07 | 주식회사 프락시스스튜디오 디오리지널 | 3d 캐릭터의 애니메이션 동작 소스를 전달하는 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR101686028B1 (ko) | 2016-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101686028B1 (ko) | 리그 공간으로의 캐릭터 모션 리타겟팅 방법 및 장치 | |
US10783690B2 (en) | Image regularization and retargeting system | |
KR101998059B1 (ko) | 캐릭터 애니메이션용 모션 리타겟팅 방법 및 장치 | |
EP3381017B1 (en) | Face reconstruction from a learned embedding | |
Ye et al. | Synthesis of detailed hand manipulations using contact sampling | |
CN112819971B (zh) | 虚拟形象的生成方法、装置、设备和介质 | |
US8736616B2 (en) | Combining multi-sensory inputs for digital animation | |
US8379029B2 (en) | Looping motion space registration for real-time character animation | |
JP5686538B2 (ja) | 組立シーケンス生成システム、プログラム及び方法 | |
KR101261737B1 (ko) | 얼굴 애니메이션 리타게팅 방법 및 이를 위한 기록 매체 | |
KR20140142679A (ko) | 2차원 뷰들로 3차원 모델링된 오브젝트의 설계 | |
KR101793017B1 (ko) | 컴퓨터 스크린 상에 객체를 디스플레이하는 방법, 장치 및 프로그램 | |
KR20180097949A (ko) | 순차적 다중 합성곱 신경망을 이용한 영상 내 관절 자세 예측 방법 | |
KR20150075909A (ko) | 3차원 캐릭터 동작 편집방법 및 그 장치 | |
CN106484511A (zh) | 一种谱姿态迁移方法 | |
WO2024169276A9 (zh) | 轨迹信息处理方法、装置、计算机设备和可读存储介质 | |
CN115908664B (zh) | 人机交互的动画生成方法、装置、计算机设备、存储介质 | |
US10656722B2 (en) | Sensor system for collecting gestural data in two-dimensional animation | |
JP7251003B2 (ja) | 細かいしわを有する顔メッシュ変形 | |
US10032304B1 (en) | Automatic creation of temporary rigid relationships between moving parts in motion simulation | |
JP6092698B2 (ja) | 動きデータセグメント決定装置、動きデータセグメント決定方法およびコンピュータプログラム | |
Yonemoto | A sketch-based skeletal figure animation tool for novice users | |
Yang et al. | Active contour projection for multimedia applications | |
CN117876551A (zh) | 二维动画的重定向方法、系统、装置、以及电子设备 | |
Lu et al. | A New Method of Interactive Marker-Driven Free form Mesh Deformation |
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: 20191126 Year of fee payment: 4 |