Advanced
Automatic Pose similarity Computation of Motion Capture Data Through Topological Analysis
Automatic Pose similarity Computation of Motion Capture Data Through Topological Analysis
Journal of the Korea Institute of Information and Communication Engineering. 2015. May, 19(5): 1199-1206
Copyright © 2015, The Korean Institute of Information and Commucation Engineering
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/li-censes/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
  • Received : February 15, 2015
  • Accepted : March 13, 2015
  • Published : May 31, 2015
Download
PDF
e-PUB
PubReader
PPT
Export by style
Share
Article
Author
Metrics
Cited by
TagCloud
About the Authors
만규 성
mksung@kmu.ac.kr

Abstract
본 논문은 위상분석 기법을 이용하여, 스켈레톤의 크기, 조인트의 개수, 조인트 이름이 다른 모션들에 대한 유사도를 자동으로 계산하는 알고리즘을 제안한다. 제안하는 알고리즘은 스켈레톤의 계층구조와 기본포즈를 분석하여 k 개의 조인트 그룹으로 자동 분류하며, 분류된 조인트 그룹은 조인트의 전역 위치를 이용한 포인트 클라우드로 변환된다. 이 때, 비교 대상이 되는 각 그룹의 포인트 클라우드 내 포인트의 위치는 스켈레톤의 크기를 고려하여 자동으로 조정되며, 포인트 개수 또한 자동으로 일치하게 된다. 비교 대상이 되는 두 포인트 클라우드들은 유사도 계산을 위해 거리 값을 최소로 하는 최적의 2D변환 행렬을 구하게 되며, 이 행렬을 적용 후 나타나는 포인트 간의 거리의 합을 최종 유사도 값으로 결정한다. 실험을 통해, 제안하는 알고리즘은 스켈레톤의 크기, 조인트의 개수, 조인트 이름에 상관없이 유사도 값을 계산해 줌을 알 수 있었다.
Keywords
Ⅰ. 서 론
모션캡처 데이터는 자연스러운 3차원 캐릭터의 애니메이션을 생성하기 위해 가장 많이 쓰이는 방법 중 하나이다. 이 방법은 광학적 마커(Optical Marker)가 부착된 사용자의 3차원 움직임을 여러 대의 카메라를 통해 추적 한 후, 이 마커의 3차원 위치를 파악하여 파일 형태로 저장하며, 이 데이터를 3차원 캐릭터에 적용해 캐릭터의 애니메이션을 생성한다. 컴퓨터 그래픽스 연구자들은 다양한 고수준 데이터 구조와 시그널 처리 기법을 이용하여 애플리케이션에 맞게끔 모션 데이터를 변형하여 상용하고 있다 [1 , 2] .
영화나 게임을 위해 캡처되는 모션들은 적게는 수천 프레임, 많게는 수만 프레임에 달하며, 이처럼 방대한 모션 데이터에서 필요한 데이터를 빠르게 검색하는 작업은 모션 캡처 이용에서 가장 중요한 과정 중 하나이다. 하지만 특정 포즈를 검색하는 문제는 해결하기 쉬운 문제가 아니다. 가장큰 문제는 캡처되는 모션 캡처 장비, 마커의 세팅, 혹은 후처리 작업자에 따라, 설정되는 데이터의 형태가 아주 다양하다는 데 있다. 예를 들면, 같은 장비를 사용한다고 하더라도, 마커의 위치와 개수에 따라 생성되는 스켈레톤(Skeleton)의 조인트 계층구조(Hierarchy)는 달라지며. 조인트 이름 또한 사용자에 따라 임의로 정해진다( 그림 1 ). 그림 2 는 두 개의 모션 캡처 스켈레톤을 비교한 것으로, A 스켈레톤은 25개의 조인트 개수를 가지며, B 스켈레톤은 30개의 조인트를 가진다. 이와 같은 다른 구조를 가진 스켈레톤의 모션데이타 검색에서 심각한 문제를 일으킨다. 즉, 특정 포즈를 모션캡처 데이터에서 검색할 때, 찾고자 하는 포즈와 검색의 대상이 되는 모션 데이터와 정확히 일치하는 계층구조를 갖지 않는다면, 일일이 조인트를 비교하여 입력 포즈의 특정 조인트가 대상이 되는 모션 데이터의 어느 조인트에 해당하는지 수작업을 통해 알려야 한다. 이와 같은 수작업은 아주 많은 시간과 노력이 필요로 하며, 전체 모션캡처 처리 파이프라인을 느리게 하는 가장 큰 원인 중 하나이다.
PPT Slide
Lager Image
모션캡처데이터의 계층구조 Fig. 1 Joint Hierarchy of Motion capture Skeleton
PPT Slide
Lager Image
상이한 계층구조에 따른 스켈레톤의 차이 Fig. 2 Skeleton difference due to different hierarchy
이를 해결하기 위한 모션 데이터 검색 알고리즘은 다음 조건을 만족하여야 한다.
  • 입력포즈와 검색 대상이 되는 모션데이터는 특정 계층구조에 의존하지 말아야 한다. 즉, 입력포즈와 모션 데이터는 서로 다른 계층구조를 가질 수 있어도 포즈가 같다면 같은 포즈로 인식하여야 한다. 또한, 같은 계층 구조를 가진다고 해도 조인트 이름이 다른 경우에도 검색할 수 있어야 한다.
  • 검색 알고리즘은 캐릭터의 2D 변환에 무관해야 한다. 두 개의 비슷한 포즈 중 한 포즈를 업 벡터(Y축)을 기준으로 2D 회전 했을 때도 같은 포즈로 인식하여야 한다
  • 검색알고리즘은 모션 크기변환에 무관하여야 한다. 즉, 캐릭터의 크기가 상이 하더라도 검색이 가능하여야 한다.
  • 포즈의 상이한 정도를 하나의 유사도 값(metric)으로 표시될 수 있어야 한다.
본 논문은 위의 조건을 만족하기 위해 위상분석(Topological Analysis)기법을 이용하여 입력 포즈와 비슷한 포즈를 모션데이터에서 자동으로 검출하는 방법을 제안한다. 본 연구에서 제안하는 위상 분석은 스켈레톤 조인트 구조의 이름에 상관없이 구조 자체에 대한 위상 분석을 통해 어떤 조인트가 다리에 해당하고, 어떤 조인트가 팔에 해당하는지 혹은 척추에 해당하는지에 대해 파악 하며, 이에 따라 전체 조인트를 몇 개의 의미가 있는 조인트 그룹으로 나눈다. 조인트 그룹별로 나뉜 입력 포즈와 검색 대상의 모션 데이터베이스는 조인트의 전역위치를 이용한 포인트 클라우드(Point cloud)로 다시 표현되며, 두 개의 포인트 클라우드는 가중치 값에 따라 차이가 비교되며 이 차이 값의 합은 하나의 거리 값(metric)으로 표시된다. 이때 나타나는 거리 값 계산은 포즈의 2D 변환과 크기변환에 무관하며 실제로 두 포즈가 얼마나 다른지를 나타내는 지표가 된다. 실험결과, 본 논문에서 제안하는 알고리즘은 계층구조에 상관없이 비슷한 입력 포즈와 비슷한 포즈를 거리 순서대로 찾아 줌을 알 수 있었다.
Ⅱ. 관련 연구 동향
모션캡처데이터는 모션캡처 상용서비스 업체에 따라 다양한 포맷으로 제공되고 있다. 표 1 은 이와 같은 모션캡처 포맷 형태의 확장자와 서비스 업체의 목록을 나타낸 것이다. 모든 포맷은 스켈레톤의 정의 부분과 실제 시간 축에 대한 조인트 데이터 부분으로 나뉘며, 포맷에 따라 조인트의 3차원 위치 및 3차원 오리엔테이션 값이 들어 있다.
모션캡처 파일 포맷Table. 1 Motion capture file format
PPT Slide
Lager Image
모션캡처 파일 포맷 Table. 1 Motion capture file format
본 연구의 목적으로 하는 모션캡처데이터의 포즈 비교 문제를 해결하기 위해 Kovar등은 논문 [1] 을 통해 포인트 클라우드를 이용한 유사도 계산방식을 제안하였다. 하지만 이 방법은 모든 비교 대상 스켈레톤들이 모두 같은 조인트 이름의 계층구조로 되어 있다고 가정하며, 조인트의 정의 순서 또한 정확히 일치하여야 한다. 이와는 다르게 조인트 오리엔테이션 자체의 값을 이용한 거리 측정방법이 제안되었다 [2] . 이 방법은 조인트 오리엔테이션을 이용하기 때문에 크기 변환에 무관한 장점이 있으나, 모든 조인트들이 같은 수의 조인트 개수를 가져야 한다는 단점이 있다. Müllers는 인간형의 모션데이터를 몸 여러 부분끼리의 기하학적인 관계에 대한 추상화를 통한 모션 템플릿을 기법을 제안하였으며, 이 템플릿 위에 입력모션의 기하학적인 관계에 대한 매칭을 통해 관련 없는 모션들을 삭제함으로써 논리적으로 관련 있는 모션을 검색 하였다 [3] . 이 방법은 모션의 시 공간적인 특징을 하나의 템플릿으로 저장할 수 있다는 장점이 있지만, 복잡한 모션에 대한 정확한 기하학적 연관관계를 표현하기 쉽지 않은 단점이 있다. Deng et al은 모션을 몸의 부분에 따라 세그먼트 한 후에 확률적 PCA(Principle Component Analysis) 방법에 의해 그룹핑 한 후, 이를 여러 개의 패턴인덱스(pattern index)로 표현하는 방법을 제안하였다 [4] . 이후, 입력모션 또한 패턴 인덱스로 표현하여, 이 두 개의 패턴 인덱스 간의 매칭을 통해 유사도를 계산하였다. 이 방법은 비슷한 모션을 쉽게 검색할 수 있으나, 모션을 몸의 부분 부분으로 나누는 세그먼트 작업을 수작업으로 수행하여야 한다는 단점이 있다.
Ⅲ. 알고리즘
모션캡처 데이터는 시간 축 상으로 n 개의 프레임으로 이루어져 있다. 각 프레임은 m 개의 조인트로 이루어진 스켈레톤의 하나의 포즈를 나타낸다. 프레임 i 에서 포즈 F 는 수학적으로 수식 (1)과 같은 벡터로 표현된다.
PPT Slide
Lager Image
where
PPT Slide
Lager Image
PPT Slide
Lager Image
i 프레임에서의 루트 조인트의 3차원 위치를 나타내고,
PPT Slide
Lager Image
는 루트조인트의 오리엔테이션,
PPT Slide
Lager Image
j 번째 조인트의 오리엔테이션을 의미한다. 스켈레톤의 계층 구조에서 가장 상위에 위치하는 루트 조인트는 전체적인 스켈레톤의 위치 및 방향을 의미하므로, 포즈검색 시루트조인트에 대한 Y축을 기준으로 하는 2D 변환은 무시되어야 한다.
즉, 포즈 F 에서의 루트 조인트에 대한 위치변환 및 회전변환은 같은 포즈로 인식되어야 한다. 예를 들면 그림 3 에서 3개의 포즈는 2D 위치변경 및 Y축으로의 로테이션을 나타낸 것으로 같은 포즈로 인식되어야 한다. 포즈 벡터에서 루트를 제외한 나머지 조인트들은 위치 정보 없이 오직 3차원 오리엔테이션 데이터만을 가지며, 이 오리엔테이션 데이터들은 계층구조 상에서 자신의 부모 조인트 좌표계에 곱해져 새로운 로컬 좌표계를 생성한다. 이 좌표계 조인트에 지정된 옵셋벡터를 곱하면 조인트의 위치를 계산할 수 있다.
PPT Slide
Lager Image
2D변환에 따른 동알한 포즈 Fig. 3 Same poses through 2D transform
- 3.1. 알고리즘 개요
본 논문이 제안하는 위상분석을 통한 포즈 검색방법은 그림 4 와 같은 순서를 따른다. 첫째, 입력된 모션캡처 데이터의 한 포즈와 검색 대상에 되는 모션 데이터베이스의 모든 모션 프레임에 대해 위상 분석을 통해 조인들을 k 개의 그룹으로 분류한다. 두 번째, 루트 조인트의 전역 위치의 차이를 이용하여 입력 스켈레톤과 검색 대상 프레임의 스켈레톤의 크기 비율을 계산한다. 세 번째, 이비율 값과 두 스켈레톤의 조인트 전역 위치를 곱한 3차원 포인트 클라우드를 각 조인트 그룹별로 구한다.
PPT Slide
Lager Image
알고리즘 개요 Fig. 4 Algorithm overview
이때, 각 조인트 그룹에 포함되는 포인트 수를 일치시킨다. 네 번째, 조인트 그룹별로 할당된 가중치를 이용하여 조인트 그룹별로 유사도를 계산하여, 이를 합산한 최종 유사도 값을 계산한다.
- 3.2. 조인트 계층 위상 분석
검색 포즈와 모션 데이터베이스에 들어 있는 모션들의 조인트의 개수, 조인트 이름, 스켈레톤의 크기는 모두 다를 수 있으므로, 이와 같은 차이와 무관하게 같은 포즈라면 높은 유사도를 나타내도록 해야 한다. 본 연구에서는 이와 같은 요구조건을 만족하게 하기 위해 스켈레톤에 대한 위상정보(Topology)를 자동으로 분석 후, 이 위상정보에 따라 포즈의 유사도 계산한다. 위상 분석의 목적은, 조인트들의 계층 구조를 분석하여 이들을 의미 있는 그룹들로 구분하는 것이다. 예를 들면, 사람 모션의 경우의 경우, 조인트들을 6개의 그룹 <오른 쪽 다리>, <왼쪽 다리>, <오른쪽 팔>, <왼쪽 팔>, <척추>, <머리>등으로 자동 구분한다. 그림 5 는 그룹화 된 조인트 계층구조를 나타낸다. 이를 위해, 수식(1)에서 나타낸 벡터의 모든 조인트 오리엔테이션 인 qj , 0 ≤ j m 를 모두 초기화한 “기본 포즈”를 이용한다. 첫 단계로, 기본 포즈를 대상으로 모든 조인트 중 허브(Hub)조인트를 찾는다( 그림5 ). 허브 조인트는 조인트 중에 자식조인트(Child Joints)의 개수가 3개 이상인 조인트를 의미한다. 그림 5 에서 허브 조인트는 두 개 이다. 다음에, 이 허브 조인트들의 자식 조인트들을 파악한다. 허브 조인트의 자식 조인트들은 모두 다른 그룹의 최상의 조인트들이 되며. 허브조인트의 자식조인트 개수가 전체 그룹의 개수가 된다. 예를 들면, 그림5 에서 허브조인트 B의 세 개의 자식 조인트들은 각각 서로 다른 세 개 그룹의 최상위 조인트가 된다. 각 그룹의 최상위 조인트가 파악된 후, 모든 조인트에 대해 어떤 조인트가 이 최상위 조인트의 직계후손인지 파악한다. 만일 직계 후손 조인트라면 이 최상위 조인트와 같은 그룹으로 설정한다. 이에 대한 pseudo code는 아래에 나타나 있다. 이 코드에서 isAncestor(joint a)는 계층구조에서 조인트 a가 해당 조인트의 조상 조인트 인지를 확인하는 함수이다. 분류 알고리즘에서 어떤 그룹에도 포함되지 않는 허브조인트와 허브조인트의 부모 조인트들은 <척추> 그룹으로 할당한다.
PPT Slide
Lager Image
조인트 계층구조에 대한 그룹핑 Fig. 5 Grouping on the Joint Hierarchy
다음 분류 알고리즘을 통해 k 개의 그룹으로 나눈 조인트 그룹들이 스켈레톤의 어느 부분에 해당하는지를 파악한다. 이를 위해 가장 먼저 다리 그룹을 판별하고, 다음에 머리 그룹, 팔 그룹, 척추그룹의 순서로 판별을 시도한다.
- 3.2.1. 다리 그룹 판별
가장 먼저 양다리에 해당하는 <왼쪽 다리>,<오른쪽 다리> 그룹에 대한 판별은 조인트 중에 가장 바닥의 위치와 가까이에 있는 조인트가 포함된 두 개의 그룹을 찾는다. 이 두 개의 그룹을 Grl , Gll 이라고 하고, 각 그룹에 속해 있는 조인트의 개수를 nll , nrl 라고, 기본 포즈에서의 조인트 i 의 전역위치를 pi 라고 하면, 두 그룹에 속해있는 기본 포즈의 모든 조인트의 평균 전역 위치
PPT Slide
Lager Image
을 계산할 수 있다.
PPT Slide
Lager Image
을 수식으로 나타내면 수식 (2)와 같다.
PPT Slide
Lager Image
수식 (2)와 같은 방식으로
PPT Slide
Lager Image
도 계산된다. 계산된
PPT Slide
Lager Image
을 이용하여, 이 두 포인트와 루트 조인트의 전역 위치
PPT Slide
Lager Image
을 잇는 두 벡터
PPT Slide
Lager Image
계산 할 수 있으며, 이 두 벡터와 업벡터 U = (0,1,0)와의 외적,
PPT Slide
Lager Image
을 구한 후, 이 외적 벡터의 z 의부호를 살펴, 0보다 작으면 <왼쪽 다리> 0보다 크다면<오른쪽 다리>로 판별된다.
- 3.2.2. 머리 그룹 판별
머리 조인트 그룹은 다리 그룹으로 판별된 그룹을 제외한 그룹을 대상으로 수식 (2)와 같은 방법을 이용하여 평균 조인트의 위치를 계산한 후, 이 위치 중에 Y축으로 가장 높은 그룹을 머리 그룹 Gh 로 선택한다. 이는 대부분의 경우 머리 조인트는 항상 가장 위에 위치하기 때문이다.
- 3.2.3. 팔 그룹 판별
팔 조인트 그룹은, 다리와 팔, 머리 그룹으로 판별된 그룹을 제외한 그룹들을 대상으로 수식 (2)와 비슷한 방법을 이용하여 판별한다. 먼저 그룹들의 기본포즈에서 의 평균 조인트 위치인
PPT Slide
Lager Image
을 계산하고, 이 평균 조인트 위치들의 중간 위치
PPT Slide
Lager Image
를 계산한다. 이 중간 위치와 각 평균 조인트 위치
PPT Slide
Lager Image
를 뺀 두 벡터
PPT Slide
Lager Image
와 머리 그룹의 평균 위치를 이용한 벡터
PPT Slide
Lager Image
를 구한 후, 이 두 벡터 간의 외적 벡터
PPT Slide
Lager Image
를 계산하여 이 외적 벡터의 z 의부호를 살펴, 0보다 작으면 <왼쪽 팔> 0보다 크다면<오른쪽 팔>로 판별된다.
- 3.2.4. 척추 그룹 판별
위의 판별 단계를 통해 판별되지 않는 나머지 그룹은 척추 그룹으로 판별 한다
- 3.3. 조인트 크기 조정
포즈에 대한 검색은 스켈레톤의 크기에 무관해야 하므로, 본 연구는 비교 대상이 되는 두 스켈레톤의 크기를 비교하여 이에 대한 비율을 구한 후 이를 유사도 계산에 이용한다. 먼저 두 스켈레톤의 크기 비율 r 은 모션 캡처 데이터가 주로 사람의 모션을 캡처하는 것이고, 사람의 스켈레톤의 크기는 키에 비례한다고 가정하여 기본 포즈에서 바닥으로부터 루트 조인트의 전역 위치까지의 거리비율 값을 이용한다. 스켈레톤 A와 스켈레톤 B에 대해 크기 비율 r 을 수식으로 표시하면 수식 (3)과 같다. 이 수식에서 p 0 는 스켈레톤 A의 기본 포즈에서의 루트 조인트의 전역위치,
PPT Slide
Lager Image
는 스켈레톤 B의 기본 포즈에서의 루트 조인트의 전역위치를 의미한다.
PPT Slide
Lager Image
- 3.4. 포인트 클라우드 표현
두 포즈를 비교하기 위해서 조인트 오리엔테이션만을 이용하면, 3차원 오리엔테이션의 비선형 특성으로 인하여 포즈의 차이를 정확히 파악하기 어렵다 [5] . 본 연구는 Kovar et al이 제안한 포인트 클라우드 방식을 변형하여 두 포즈를 비교한다. 이 방식은 조인트의 전역 위치에 가상의 3차원 마커가 있다고 가정하고, 이 가상의 마커의 3차원 위치들로 이루어진 포인트 클라우드를 구축하여 이들 간의 거리 차이를 이용해 포즈의 유사도를 계산한다. Kovar가 제안한 방법은 위상분석이 없이, 모든 포즈를 하나의 포인트 클라우드로 표현한 반면, 본 논문에서는 위상분석을 통해 얻는 6개의 조인트 그룹별로 포인트 클라우드를 구축한 후, 포인트 클라우드 간의 유사도를 각각 계산한다.
예들 들면, 오른쪽 다리 그룹에 대한 포인트 클라우드
PPT Slide
Lager Image
와 같이 표현되며, 여기에서 pj 는 오른쪽 다리 그룹에 포함되는 j 번째 조인트의 전역 위치를 의미하며 mrl 은 오른쪽 다리 그룹의 포인트 조인트 개수이다. 비교 대상인 두 오른쪽 다리 포인트 클라우드인
PPT Slide
Lager Image
은 스켈레톤의 크기 차이가 있을 수 있으므로, 조인트 크기 조정 비율 r 을 포인트 클라우드에 곱하여 크기 차이를 보상한다. 즉, 루트 조인트의 포인트 위치를 p 0 이라 하고 j 번째 포인트의 위치를 pi 라고 한다면, 크기 조절 비율 r 을 이용한 새로운 포인트 위치는 pi = ( pi - p 0 )* r 와 같이 계산된다.
비교 대상이 되는 두 스켈레톤은 전체 조인트 개수가 다를 수 있으므로, 이에 따라 분류된 조인트 그룹 내부의 포인트 개수에도 차이가 있을 수 있다. 예를 들면,
PPT Slide
Lager Image
의 포인트 개수가 각각
PPT Slide
Lager Image
로 차이가 난다면
PPT Slide
Lager Image
중에 작은 수를 기준으로 두 포인트 클라우드의 포인트 수의 차를 계산한 후, 그 차이만큼 개수가 많은 포인트 클라우드에서 포인트를 삭제한다. 포인트 삭제 시, 가장 나중에 삽입된 포인트부터 삭제하며, 이는 조인트 계층구조 상, 나중에 삽입된 포인트가 종말조인트(end-effector)에 가까우므로, 중요도가 낮기 때문이다.
- 3.5. 유사도 계산
두 포인트 클라우드인 Ci Ck 간의 유사도는 두 포인트 클라우드 간의 유클리디안 거리를 최소로 하는 2D 강체 변환행렬을 찾은 후, 이 강체변환을 적용한 각 포인트간의 3차원 거리의 합으로 계산된다. 포인트 클라우드간의 거리를 최소로 하는 최적의 강체변환 행렬을 구하기 위해서는 로테이션 각도 θ 과 2D 이동 거리인 ( x 0 , z 0 )을 찾아야 한다. Kovar는 이에 대한 closed form 해를 제안하고 있다. 비교 대상의 두 포인트 클라우드의 내의 두 포인트를 각각
PPT Slide
Lager Image
라고 가정하고, 포인트 클라우드의 2D 평균 위치를
PPT Slide
Lager Image
가중치를 wi 라고 한다면, 로테이션 각도 θ 는 수식 (4), 2D 이동 거리인 ( x 0 , z 0 )은 수식 (5),(6)와 같이 계산된다 [1] .
PPT Slide
Lager Image
PPT Slide
Lager Image
PPT Slide
Lager Image
k 그룹 간 유사도 sk 는 포인트 클라우드 간에 θ 와 ( xo , z 0 )로 이루어진 2D 변환 행렬 T 을 찾은 후, 이를 적용한 포인트 클라우드 간의 거리 합으로 계산된다. 최종 유사도 s 는 6개의 그룹에 대한 유사도의 총합으로 계산된다.
PPT Slide
Lager Image
PPT Slide
Lager Image
위 계산에서 정해지지 않은 부분은 가중치 값인 wi 이다. 포즈의 유사도를 수치적으로 나타내기 위한 가중치는 기본적으로 포인트 클라우드 내 모든 포인트에 같은 값을 적용할 수 있으나, 움직임이 많은 조깅, 걷기, 뛰기와 같은 운동모션(Locomotion)일 경우에는 다리 조인트가 팔 조인트보다 중요하므로. 다리 포인트 클라우드에 좀 더 가중치를 두어 검색을 할 수 있다.
Ⅳ. 실험결과
두 논문에서 제안한 알고리즘에 대한 테스트를 위하여 BVH(BioVision Hierarchy) 포맷의 모션캡처 데이터를 대상으로 실험을 수행하였다. 본 실험에서 사용된 두 개의 모션캡처 데이터는 스켈레톤의 크기/조인트 개수/조인트 이름이 모두 다른 데이터를 대상으로 하였다. 그림6 은 실험 대상이 되는 두 개의 걷는 모션 캡처 데이터 Walk1.bvh와 Walk2.bvh의 스켈레톤과 루트 조인트의 궤적을 나타낸다. 그림7 은 Walk1.bvh내 임의로 지정한 프레임에 대해 가장 비슷한 포즈를 walk2.bvh에서 검색한 것이다. 표 2 은 검색된 프레임 번호와 유사도를 나타낸다. 그림 8 은 martial art모션와 dancing모션에 대해 실험을 수행한 것이다. 이 실험을 통해 가장 비슷한 유사도를 가진 두 포즈를 한 화면에 나타냈다. 걷는 모션과 마찬가지로 두 모션은 다른 크기와 조인트 개수를 가진다.
PPT Slide
Lager Image
실험을 위한 두 입력 모션 Fig. 6 Two input motion for experiments
PPT Slide
Lager Image
유사도 계산을 통한 가장 비슷한 포즈 검색 Fig. 7 The most similar poses found out through the proposed algorithm
유사도 실험 결과Table. 2 Result of similarity computation
PPT Slide
Lager Image
유사도 실험 결과 Table. 2 Result of similarity computation
PPT Slide
Lager Image
martial art모션(유사도 0.72)과 dancing모션에 대한 실험(유사도 0.6) Fig. 8 Experiments on the martial art and dancing motions
실험 결과 반복적인 포즈가 많은 walking모션의 경우 비슷한 유사도를 가진 포즈가 많음을 알 수 있었고, 모션 자체의 단순함에 따라 높은 유사도를 가짐을 알수 있었으며, martial art나 dancing모션을 경우 상대적으로 복잡한 모션을 가지므로, 상대적으로 가장 높은 유사도를 가진 포즈도 walking모션보다는 유사도가 낮음을 알 수 있었다.
Ⅴ. 결 론
본 논문에서는 크기, 계층구조, 조인트 이름이 다른 모션데이터 간 특정 포즈에 대한 유사도를 자동으로 검색하는 알고리즘을 제안하였다. 본 알고리즘의 핵심은 스켈레톤을 이루는 조인트 계층구조에 대한 위상분석을 통해 조인트를 그룹화하는 데 있다. 위상분석을 통해 그룹으로 묶인 조인트들은 다시 각각 포인트 클라우드로 표현되며, 이 포인트 클라우드들은 스켈레톤의 크기 비율을 이용해 재조정되며, 내부의 포인트 개수 또한 일치된다. 그룹 당 생성된 포인트 클라우드들은 유사도 계산 수식에 의해 유사도가 계산되며, 이 유사도의 합을 통해 최종 유사도를 구하였다. 본 논문에서 사용되는 방법은 모션 그래프 및 다양한 모션 블렌딩 기법의 기반이 되는 핵심 기법으로 활용될 수 있으며, 많은 모션이 필요한 영화, 게임 제작에 응용될 수 있을 것으로 기대한다. 앞으로 향후 연구를 통해 제안한 알고리즘을 기반으로 비슷한 포즈를 GPU를 통하여 빠르게 검색하는 방법에 대한 연구를 수행할 예정이며, 하나의 특정 프레임 뿐 아니라 모션의 시멘틱한 의미가 충분히 드러나기 위하여 속도 및 가속도 정보를 이용하여 유사도의 정확도를 높힐 예정이다.
BIO
성만규(Mankyu Sung)
1993년 2월 충남대학교 전산학과 학사
2005년 12월 (미) 위스콘신대학 컴퓨터사이언스 석사
2005년 12월 (미) 위스콘신대학 컴퓨터사이언스 박사
2006년 2월 ~ 2012년 2월 한국전자통신연구원(ETRI) 선임연구원
2012년 3월 ~현재 계명대학교 게임모바일콘텐츠학과 조교수
※관심분야 : 컴퓨터 그래픽스, 컴퓨터 애니메이션, 컴퓨터 게임, HCI
References
Kovar L. , Gleicher M. , Pighin F. 2002 “Motion Graphs,” ACM Transactions on Graphics (SIGGRAPH 2002) 21 (3) 473 - 482
Lee J. , Chai J. , Reitsma P. , Hodgins J. , Pollard N. 2002 “Interactive Control of Avatars Animated with Human Motion Data,” ACM Transactions on Graphics (SIGGRAPH 2002) 21 (3) 491 - 500
Muller M. , Rodder T. “Motion Template for Automatic Classification and Retrieval of Motion capture data ,” In Proceeding of ACM SIGGRAPH/Eurographics Symposium on Computer Animation 2006 137 - 146
Deng Z. , Gu Q. , Li Q. “Perceptually consistent examplebased human motion retrieval. In Proc. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2009 191 - 198
Kovar L. , Gleicher M. 2004 “Automated Extraction and Parameterization of Motions in Large Data Sets”, ACM Transactions on Graphics (SIGGRAPH 2004) 23 (3) 559 - 568    DOI : 10.1145/1015706.1015760