KR101700377B1 - 아바타 생성을 위한 처리 장치 및 방법 - Google Patents

아바타 생성을 위한 처리 장치 및 방법 Download PDF

Info

Publication number
KR101700377B1
KR101700377B1 KR1020100109294A KR20100109294A KR101700377B1 KR 101700377 B1 KR101700377 B1 KR 101700377B1 KR 1020100109294 A KR1020100109294 A KR 1020100109294A KR 20100109294 A KR20100109294 A KR 20100109294A KR 101700377 B1 KR101700377 B1 KR 101700377B1
Authority
KR
South Korea
Prior art keywords
skeleton
avatar
function
reference pose
target user
Prior art date
Application number
KR1020100109294A
Other languages
English (en)
Other versions
KR20120041086A (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 US13/276,767 priority Critical patent/US9001129B2/en
Publication of KR20120041086A publication Critical patent/KR20120041086A/ko
Application granted granted Critical
Publication of KR101700377B1 publication Critical patent/KR101700377B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Hardware Design (AREA)

Abstract

타겟 사용자의 기준 포즈에 대한 아바타의 관절들 각각에 대한 포워드 키네마틱스 함수와 타겟 사용자에 부착된 센서들 각각의 위치 간의 차이를 나타내는 차이 함수 및 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치를 기초로 스켈리톤 프라이어 함수의 합을 최소화하여 아바타의 관절들 각각의 스켈리톤 사이즈(skeleton size) 및 센서들 각각에 대응하는 로컬 코디네이트(local coordinate)를 계산할 수 있는 아바타 생성을 위한 처리 장치가 제공된다.

Description

아바타 생성을 위한 처리 장치 및 방법{PROCESSING APPARATUS AND METHOD FOR CREATING AVATAR}
아래의 실시예들은 아바타 생성을 위한 처리 장치 및 방법에 관한 것이다.
최근 비디오 게임, 가상 세계(virtual world), 영화, 컴퓨터 그래픽(computer graphic; CG) 등 실제 공간에서의 타겟 오브젝트(target object)에 대한 동작을 센싱하고, 이를 3차원 공간에서 구현하는 기술이 있다.
타겟 오브젝트(예를 들어, 사람)에 대한 동작을 3차원 공간에 구현하는 기술에 있어서, 사람의 동작을 센싱하기 위해 다양한 센서들이 사용될 수 있고, 사람의 몸에 부착된 센서들의 수가 많을수록 사람의 동작을 더 정확하게 구현할 수 있다.
하지만, 센서들의 수가 많아지면 사람들의 동작이 원활하지 못하며, 센서의 탈, 부착에 어려움을 느끼게 된다. 뿐만 아니라, 센서들을 부착한 사람들마다 서로 체형이 다르고, 센서를 부착하는 위치나 방향 또한 다를 수 있어 측정된 결과 또한 차이가 발생할 수 있다. 그러므로, 사람의 몸에 부착하는 센서의 수를 최소화하면서도 사용자의 체형 및 센서의 부착 위치 등에 따른 변화(variation)을 고려하여 정확한 포즈(pose)를 생성할 수 있는 방법이 요구된다.
본 발명의 일 실시예에 따른 아바타 생성을 위한 처리 장치는 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치가 저장된 스켈리톤 데이터베이스; 타겟 사용자의 기준 포즈에 대한 아바타의 관절들 각각에 대한 포워드 키네마틱스 함수와 상기 타겟 사용자에 부착된 센서들 각각의 위치 간의 차이를 나타내는 차이 함수를 결정하고, 상기 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치를 기초로 스켈리톤 프라이어 함수를 결정하는 함수 결정부; 및 상기 차이 함수 및 상기 스켈리톤 프라이어 함수를 이용하여 상기 아바타의 관절들 각각의 스켈리톤 사이즈(skeleton size) 및 상기 센서들 각각에 대응하는 로컬 코디네이트(local coordinate)를 계산하는 계산부를 포함한다.
상기 스켈리톤 프라이어 함수는 상기 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치로부터 산출한 평균(mean), 고유 벡터(eigen vector) 및 고유 값(eigen value)를 포함할 수 있다.
상기 계산부는 상기 차이 함수와 상기 스켈리톤 프라이어 함수의 합이 최소가 되도록 하는 상기 아바타의 관절들 각각의 스켈리톤 사이즈(skeleton size) 및 상기 센서들 각각에 대응하는 로컬 코디네이트(local coordinate)를 계산할 수 있다.
상기 기준 포즈(reference pose)를 정의하고, 상기 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치를 포함하는 정보를 상기 스켈리톤 데이터베이스에 저장하는 전처리부를 더 포함할 수 있다.
상기 타겟 사용자에 부착된 센서들로부터 상기 센서들 각각의 위치에 대한 정보를 수신하는 인터페이스부를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 아바타 생성을 위한 처리 방법은 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치가 저장된 스켈리톤 데이터베이스를 유지하는 단계; 타겟 사용자의 기준 포즈에 대한 아바타의 관절들 각각에 대한 포워드 키네마틱스 함수와 상기 타겟 사용자에 부착된 센서들 각각의 위치 간의 차이를 나타내는 차이 함수를 결정하는 단계; 상기 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치를 기초로 스켈리톤 프라이어 함수를 결정하는 단계; 및 상기 차이 함수 및 상기 스켈리톤 프라이어 함수를 이용하여 상기 아바타의 관절들 각각의 스켈리톤 사이즈(skeleton size) 및 상기 센서들 각각에 대응하는 로컬 코디네이트(local coordinate)를 계산하는 단계를 포함한다.
상기 스켈리톤 프라이어 함수는 상기 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치로부터 산출한 평균(mean), 고유 벡터(eigen vector) 및 고유 값(eigen value)를 포함할 수 있다.
상기 아바타의 관절들 각각의 스켈리톤 사이즈(skeleton size) 및 상기 센서들 각각에 대응하는 로컬 코디네이트(local coordinate)를 계산하는 단계는 상기 차이 함수와 상기 스켈리톤 프라이어 함수의 합이 최소가 되도록 상기 아바타의 관절들 각각의 스켈리톤 사이즈(skeleton size) 및 상기 센서들 각각에 대응하는 로컬 코디네이트(local coordinate)를 계산하는 단계일 수 있다.
상기 기준 포즈(reference pose)를 정의하는 단계; 및 상기 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치를 포함하는 정보를 상기 스켈리톤 데이터베이스에 저장하는 단계를 더 포함할 수 있다.
상기 타겟 사용자에 부착된 센서들로부터 상기 센서들 각각의 위치에 대한 정보를 수신하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따르면, 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치를 기초로 한 스켈리톤 프라이어 함수를 이용함으로써 타겟 사용자의 체형과 센서의 부착 위치에 따른 변화(variation)을 고려한 정확한 아바타 동작을 생성할 수 있다.
본 발명의 일 실시예에 따르면, 스켈리톤 사이즈에 대한 평균(mean), 고유 벡터(eigen vector) 및 고유 값(eigen value)를 포함하는 스켈리톤 프라이어(skeleton prior)를 이용함으로써 사용자 별 스켈리톤 사이즈의 모호성(ambiguity)을 해결할 수 있다.
도 1은 본 발명의 일 실시예에 따른 아바타 생성을 위한 처리 장치를 나타낸 블록도이다.
도 2는 본 발명의 일 실시예에 따른 기준 포즈(reference pose)에 따라 형성되는 아바타 및 센서들을 부착한 타겟 사용자가 기준 포즈를 취한 것을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 아바타 생성을 위한 처리 방법을 나타낸 플로우 차트이다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 일실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 아바타 생성을 위한 처리 장치를 나타낸 블록도이다.
도 1을 참조하면, 아바타 생성을 위한 처리 장치는 스켈리톤 데이터베이스(110), 함수 결정부(120) 및 계산부(130)를 포함한다. 또한, 아바타 생성을 위한 처리 장치는 센서들(50), 전처리부(140) 및 인터페이스부(150)를 포함할 수 있다.
센서들(50)은 아바타를 생성하고자 하는 대상이 되는 타겟 사용자의 몸에 부착되어 타겟 사용자의 포즈(pose)를 센싱 한다. 여기서, 센서들(50)로는 모션 센서(motion sensor) 및 이와 유사한 기능을 수행하는 센서들이 이용될 수 있다.
너무 많은 수의 센서들(50)을 타겟 사용자에게 부착할 경우, 활동이나 센서들의 탈, 부착이 어려우므로 본 발명의 일 실시예에서는 도 2(b)에서와 같이 5개의 센서를 타겟 사용자의 몸에 부착할 수 있다. 타겟 사용자의 몸에 부착되는 센서의 위치 및 기준 포즈에 따라 형성되는 아바타의 형태에 대하여는 도 2를 참조하여 후술한다.
스켈리톤 데이터베이스(110)는 복수의 사용자들의 기준 포즈(reference pose)에 대한 스켈리톤 사이즈(skeleton size)의 통계치를 포함하는 정보를 저장한다. 스켈리톤 데이터베이스(110)에 저장된 스켈리톤 사이즈의 통계치는 기준 포즈가 바뀜에 따라 주기적으로 또는 비주기적으로 갱신(update)될 수 있다.
여기서, 기준 포즈로는 양 손을 옆으로 뻗은 'T자' 형태의 포즈, 양 손을 앞으로 뻗은 'ㄱ'자 형태의 포즈, 복싱하는 포즈, 걷는 포즈, 뛰는 포즈 등을 일 예로 들 수 있으며, 이 밖에도 다양한 형태의 포즈들을 기준 포즈로 정의할 수 있다.
함수 결정부(120)는 타겟 사용자의 기준 포즈에 대한 아바타의 관절들 각각에 대한 포워드 키네마틱스(forward kinematics) 함수와 타겟 사용자에 부착된 센서들 각각의 위치 간의 차이를 나타내는 차이 함수를 결정한다. 또한, 함수 결정부(120)는 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치를 기초로 스켈리톤 프라이어(skeleton prior) 함수를 결정한다.
함수 결정부(120)에서 결정하는 각각의 함수에 대하여는 아래의 [수학식 1]을 통해 상세히 설명한다.
여기서, 포워드 키네마틱스(forward kinematics)는 3차원 객체의 동작을 생성하는 힘과 관계없이 3차원 객체의 위치와 속도 및 가속도 등을 이용하여 동작을 표현하는 키네마틱스 애니메이션 방법 중의 하나이다.
또한, 포워드 키네마틱스(forward kinematics)는 3차원 객체의 각 부위의 위치를 모든 관절들의 각도(joint angle)에 의해 결정하는 방법으로써, 모든 관절들의 각도를 먼저 설정하여 동작과 모델(예를 들어, 아바타)의 최종 위치를 결정할 수 있다. 포워드 키네마틱스(forward kinematics)를 이용하는 경우, 여러 번의 시행 착오(trial and error)를 통해 3차원 객체의 각 부위에 대한 최적의 위치를 찾을 수 있다.
따라서, 본 발명의 일 실시예에 따른 타겟 사용자의 기준 포즈에 대한 아바타의 관절들 각각에 대한 포워드 키네마틱스(forward kinematics) 함수는 3차원 공간에서 기준 포즈에 대한 아바타의 관절들 각각의 위치를 나타낼 수 있다.
계산부(130)는 차이 함수 및 스켈리톤 프라이어 함수를 이용하여 아바타의 관절들 각각의 스켈리톤 사이즈(skeleton size) 및 센서들(50) 각각에 대응하는 로컬 코디네이트(local coordinate)를 계산한다.
또한, 계산부(130)는 차이 함수와 스켈리톤 프라이어 함수의 합이 최소가 되도록 아바타의 관절들 각각의 스켈리톤 사이즈(skeleton size) 및 센서들(50) 각각에 대응하는 로컬 코디네이트(local coordinate)를 계산할 수 있다.
본 발명의 일 실시예에 따라 계산부(130)에 의해 계산되는 값은 아래의 [수학식 1]과 같이 나타낼 수 있다.
[수학식 1]
Figure 112010072106742-pat00001
여기서, 차이 함수(
Figure 112010072106742-pat00002
)는 상술한 타겟 사용자의 기준 포즈에 대한 아바타의 관절들 각각에 대한 포워드 키네마틱스(forward kinematics) 함수(
Figure 112010072106742-pat00003
)와 타겟 사용자에 부착된 센서들(50) 각각의 위치(
Figure 112010072106742-pat00004
) 간의 차이를 나타낸다.
포워드 키네마틱스(forward kinematics) 함수에서
Figure 112010072106742-pat00005
는 타겟 사용자의 기준 포즈에 대한 스켈리톤 사이즈(skeleton size)를 나타내고,
Figure 112010072106742-pat00006
는 센서의 로컬 코디네이트(sensor local coordinate)를 나타낸다.
Figure 112010072106742-pat00007
는 타겟 사용자의 기준 포즈에 대한 관절의 각도(joint angle)을 나타낸다.
스켈리톤 프라이어(skeleton prior) 함수(
Figure 112010072106742-pat00008
)는 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치를 기초로 한 것이다.
스켈리톤 프라이어 함수는 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치로부터 산출한 평균(mean)(
Figure 112010072106742-pat00009
), 고유 벡터(eigen vector)(
Figure 112010072106742-pat00010
) 및 고유 값(eigen value)(
Figure 112010072106742-pat00011
)을 포함할 수 있다. B는 고유 벡터(
Figure 112010072106742-pat00012
)를 중요도의 순서에 따라 정렬했을 때, 주요 고유 벡터의 수를 나타낸다.
스켈리톤 프라이어 함수는 미리에 계산되어 데이터베이스 등에 저장될 수 있으며, 사용자 별 스켈리톤 사이즈의 모호성(Ambiguity)를 해결하는데 이용될 수 있다.
스켈리톤 프라이어(skeleton prior) 함수는 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치로부터 평균(mean)(
Figure 112010072106742-pat00013
), 고유 벡터(eigen vector)(
Figure 112010072106742-pat00014
) 및 고유 값(eigen value)(
Figure 112010072106742-pat00015
)을 산출하기 위하여, 예를 들어, 주성분 분석(Principal Component Analysis; PCA)을 이용할 수 있다.
주성분 분석(Principal Component Analysis; PCA)은 통계학에서 데이터 집합을 분석하는 기법의 하나로서, 데이터를 한 개의 축으로 사상시켰을 때 그 분산이 가장 커지는 축이 첫 번째 좌표축으로 오고, 두 번째로 커지는 축이 두 번째 좌표축으로,... 와 같이 차례로 놓이도록 새로운 좌표계로 데이터를 선형 변환한다.
주성분 분석은 가장 큰 분산을 갖는 부분 공간(subspace)을 보존하는 최적의 선형 변환이다. 다른 선형 변환과 달리 주성분 분석은 정해진 기저 벡터를 갖지 않으며, 기저 벡터는 데이터의 특성에 따라 달라질 수 있다. 주성분 분석(PCA)은 이와 같이 각각의 축에 데이터의 가장 중요한 성분을 위치시킴으로써 여러 가지 응용이 가능하다.
[수학식 1]을 통해 볼 수 있듯이, 계산부(130)는 에너지 최소화(Energy Minimization)에 의해 차이 함수와 스켈리톤 프라이어 함수의 합이 최소가 되도록 하는 아바타의 관절들 각각의 스켈리톤 사이즈(skeleton size)(
Figure 112010072106742-pat00016
) 및 센서들 각각에 대응하는 로컬 코디네이트(local coordinate)(
Figure 112010072106742-pat00017
)를 계산할 수 있다.
전처리부(140)는 기준 포즈(reference pose)를 정의하고, 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치를 포함하는 정보를 스켈리톤 데이터베이스(110)에 저장할 수 있다.
인터페이스부(150)는 타겟 사용자에 부착된 센서들(50)로부터 센서들 각각의 위치에 대한 정보를 수신할 수 있다.
도 2는 본 발명의 일 실시예에 따른 기준 포즈(reference pose)에 따라 형성되는 아바타 및 센서들을 부착한 타겟 사용자가 기준 포즈를 취한 것을 나타낸 도면이다.
도 2(a)는 기준 포즈(reference pose)에 따라 3차원 공간에 형성되는 아바타를 나타내고, 도 2(b)는 센서들을 부착한 채 기준 포즈를 취하고 있는 타겟 사용자를 나타낸다.
도 2(a)에서 기준 포즈에 따라 3차원 공간에 형성되는 아바타는 포워드 키네마틱스 함수에 따라 기준 포즈에 따른 각 관절들 간의 각도(joint angle)에 의해 결정된 위치를 가질 수 있다.
상술한 바와 같이, 타겟 사용자에 대한 아바타를 생성하는데 이용되는 센서들의 개수를 최소화하기 위하여 본 발명의 일 실시예에서는 도 2(b)와 같이 타겟 사용자의 이마, 양 손목, 흉부의 5 군데에 각각 센서들을 부착할 수 있다. 각 센서들의 위치 및 개수는 필요에 따라 조절될 수 있다.
도 3은 본 발명의 일 실시예에 따른 아바타 생성을 위한 처리 방법을 나타낸 플로우 차트이다.
도 3을 참조하면, 아바타 생성을 위한 처리 장치는 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치가 저장된 스켈리톤 데이터베이스를 유지한다(310).
이 때, 스켈리톤 데이터베이스에 저장되는 정보는 미리 정의된 기준 포즈(reference pose)에 따라 동작을 취한 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치를 포함하는 정보일 수 있다.
310에 앞서 아바타 생성을 위한 처리 장치는 기준 포즈(reference pose)를 정의하고, 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치를 포함하는 정보를 스켈리톤 데이터베이스에 저장할 수 있다.
아바타 생성을 위한 처리 장치는 타겟 사용자에 부착된 센서들로부터 센서들 각각의 위치에 대한 정보를 수신할 수 있다(320).
아바타 생성을 위한 처리 장치는 타겟 사용자의 기준 포즈에 대한 아바타의 관절들 각각에 대한 포워드 키네마틱 함수(
Figure 112010072106742-pat00018
)와 타겟 사용자에 부착된 센서들 각각의 위치(
Figure 112010072106742-pat00019
) 간의 차이를 나타내는 차이 함수(
Figure 112010072106742-pat00020
)를 결정한다(330).
아바타 생성을 위한 처리 장치는 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치를 기초로 스켈리톤 프라이어 함수(
Figure 112010072106742-pat00021
)를 결정한다(340).
여기서, 스켈리톤 프라이어 함수는 스켈리톤 사이즈의 통계치에 대하여 주성분 분석(PCA)를 적용하여 산출한 평균(mean), 고유 벡터(eigen vector) 및 고유 값(eigen value)를 포함할 수 있다.
아바타 생성을 위한 처리 장치는 차이 함수 및 스켈리톤 프라이어 함수를 이용하여 아바타의 관절들 각각의 스켈리톤 사이즈(skeleton size) 및 센서들 각각에 대응하는 로컬 코디네이트(local coordinate)를 계산한다(350).
350에서 아바타 생성을 위한 처리 장치는 차이 함수와 상기 스켈리톤 프라이어 함수의 합이 최소가 되도록 아바타의 관절들 각각의 스켈리톤 사이즈(skeleton size) 및 센서들 각각에 대응하는 로컬 코디네이트(local coordinate)를 계산할 수 있다.
상술한 각 함수들에 대하여는 도 1에서의 해당 부분에 대한 설명을 참조하도록 한다.
상술한 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
50: 센서들
110: 스켈리톤 데이터베이스
120: 함수 결정부
130: 계산부
140: 전처리부
150: 인터페이스부

Claims (11)

  1. 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치가 저장된 스켈리톤 데이터베이스;
    타겟 사용자의 기준 포즈에 대한 아바타의 관절들 각각에 대한 포워드 키네마틱스 함수와 상기 타겟 사용자에 부착된 센서들 각각의 위치 간의 차이를 나타내는 차이 함수를 결정하고, 상기 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치를 기초로 스켈리톤 프라이어 함수를 결정하는 함수 결정부; 및
    상기 차이 함수 및 상기 스켈리톤 프라이어 함수를 이용하여 상기 아바타의 관절들 각각의 스켈리톤 사이즈(skeleton size) 및 상기 센서들 각각에 대응하는 로컬 코디네이트(local coordinate)를 계산하는 계산부
    를 포함하고,
    상기 계산부는
    아래의 [수학식]을 이용하여 상기 관절들 각각의 스켈리톤 사이즈 및 상기 로컬 코디네이트를 계산하는 아바타 생성을 위한 처리 장치.
    [수학식]
    Figure 112016096897763-pat00025


    (상기 차이 함수(
    Figure 112016096897763-pat00026
    )는
    상기 타겟 사용자의 기준 포즈에 대한 아바타의 관절들에 대한 상기 포워드 키네마틱스 함수(
    Figure 112016096897763-pat00027
    )와 상기 타겟 사용자에 부착된 센서들의 위치들(
    Figure 112016096897763-pat00028
    ) 간의 차이를 나타내고, 상기 s 는 타겟 사용자의 기준 포즈에 대한 스켈리톤 사이즈(skeleton size)를 나타내고, z 는 센서의 로컬 코디네이트(sensor local coordinate)를 나타낸다.
    Figure 112016096897763-pat00029
    는 타겟 사용자의 기준 포즈에 대한 관절의 각도(joint angle)을 나타내며,
    상기 스켈리톤 프라이어 함수 (
    Figure 112016096897763-pat00030
    )는
    상기 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치로부터 산출한 평균(mean)(
    Figure 112016096897763-pat00031
    ), 고유 벡터(eigen vector)(
    Figure 112016096897763-pat00032
    ) 및 고유 값(eigen value)(
    Figure 112016096897763-pat00033
    )을 포함하며, B는 고유 벡터(
    Figure 112016096897763-pat00034
    )를 중요도의 순서에 따라 정렬했을 때, 주요 고유 벡터의 수를 나타냄.)
  2. 삭제
  3. 제1항에 있어서,
    상기 계산부는
    상기 차이 함수와 상기 스켈리톤 프라이어 함수의 합이 최소가 되도록 하는 상기 아바타의 관절들 각각의 스켈리톤 사이즈(skeleton size) 및 상기 센서들 각각에 대응하는 로컬 코디네이트(local coordinate)를 계산하는 아바타 생성을 위한 처리 장치.
  4. 제1항에 있어서,
    상기 기준 포즈(reference pose)를 정의하고, 상기 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치를 포함하는 정보를 상기 스켈리톤 데이터베이스에 저장하는 전처리부
    를 더 포함하는 아바타 생성을 위한 처리 장치.
  5. 제1항에 있어서,
    상기 타겟 사용자에 부착된 센서들로부터 상기 센서들 각각의 위치에 대한 정보를 수신하는 인터페이스부
    를 더 포함하는 아바타 생성을 위한 처리 장치.
  6. 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치가 저장된 스켈리톤 데이터베이스를 유지하는 단계;
    타겟 사용자의 기준 포즈에 대한 아바타의 관절들 각각에 대한 포워드 키네마틱스 함수와 상기 타겟 사용자에 부착된 센서들 각각의 위치 간의 차이를 나타내는 차이 함수를 결정하는 단계;
    상기 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치를 기초로 스켈리톤 프라이어 함수를 결정하는 단계; 및
    상기 차이 함수 및 상기 스켈리톤 프라이어 함수를 이용하여 상기 아바타의 관절들 각각의 스켈리톤 사이즈(skeleton size) 및 상기 센서들 각각에 대응하는 로컬 코디네이트(local coordinate)를 계산하는 단계
    를 포함하고,
    상기 계산하는 단계는
    아래의 [수학식]을 이용하여 상기 관절들 각각의 스켈리톤 사이즈 및 상기 로컬 코디네이트를 계산하는 아바타 생성을 위한 처리 방법.
    [수학식]
    Figure 112016096897763-pat00035

    (상기 차이 함수(
    Figure 112016096897763-pat00036
    )는
    상기 타겟 사용자의 기준 포즈에 대한 아바타의 관절들에 대한 상기 포워드 키네마틱스 함수(
    Figure 112016096897763-pat00037
    )와 상기 타겟 사용자에 부착된 센서들의 위치들(
    Figure 112016096897763-pat00038
    ) 간의 차이를 나타내고, 상기 s 는 타겟 사용자의 기준 포즈에 대한 스켈리톤 사이즈(skeleton size)를 나타내고, z 는 센서의 로컬 코디네이트(sensor local coordinate)를 나타낸다.
    Figure 112016096897763-pat00039
    는 타겟 사용자의 기준 포즈에 대한 관절의 각도(joint angle)을 나타내며,
    상기 스켈리톤 프라이어 함수 (
    Figure 112016096897763-pat00040
    )는
    상기 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치로부터 산출한 평균(mean)(
    Figure 112016096897763-pat00041
    ), 고유 벡터(eigen vector)(
    Figure 112016096897763-pat00042
    ) 및 고유 값(eigen value)(
    Figure 112016096897763-pat00043
    )을 포함하며, B는 고유 벡터(
    Figure 112016096897763-pat00044
    )를 중요도의 순서에 따라 정렬했을 때, 주요 고유 벡터의 수를 나타냄.)
  7. 삭제
  8. 제6항에 있어서,
    상기 아바타의 관절들 각각의 스켈리톤 사이즈(skeleton size) 및 상기 센서들 각각에 대응하는 로컬 코디네이트(local coordinate)를 계산하는 단계는
    상기 차이 함수와 상기 스켈리톤 프라이어 함수의 합이 최소가 되도록 상기 아바타의 관절들 각각의 스켈리톤 사이즈(skeleton size) 및 상기 센서들 각각에 대응하는 로컬 코디네이트(local coordinate)를 계산하는 단계인 아바타 생성을 위한 처리 방법.
  9. 제6항에 있어서,
    상기 기준 포즈(reference pose)를 정의하는 단계; 및
    상기 복수의 사용자들의 기준 포즈에 대한 스켈리톤 사이즈의 통계치를 포함하는 정보를 상기 스켈리톤 데이터베이스에 저장하는 단계
    를 더 포함하는 아바타 생성을 위한 처리 방법.
  10. 제6항에 있어서,
    상기 타겟 사용자에 부착된 센서들로부터 상기 센서들 각각의 위치에 대한 정보를 수신하는 단계
    를 더 포함하는 아바타 생성을 위한 처리 방법.
  11. 제6항, 제8항 내지 제10항 중 어느 한 항의 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
KR1020100109294A 2010-10-20 2010-11-04 아바타 생성을 위한 처리 장치 및 방법 KR101700377B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/276,767 US9001129B2 (en) 2010-10-20 2011-10-19 Processing apparatus and method for creating avatar

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US39488410P 2010-10-20 2010-10-20
US61/394,884 2010-10-20

Publications (2)

Publication Number Publication Date
KR20120041086A KR20120041086A (ko) 2012-04-30
KR101700377B1 true KR101700377B1 (ko) 2017-01-26

Family

ID=46140790

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100109294A KR101700377B1 (ko) 2010-10-20 2010-11-04 아바타 생성을 위한 처리 장치 및 방법

Country Status (2)

Country Link
US (1) US9001129B2 (ko)
KR (1) KR101700377B1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10234941B2 (en) * 2012-10-04 2019-03-19 Microsoft Technology Licensing, Llc Wearable sensor for tracking articulated body-parts
US9990373B2 (en) 2013-02-06 2018-06-05 John A. Fortkort Creation and geospatial placement of avatars based on real-world interactions
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
GB2548154A (en) 2016-03-11 2017-09-13 Sony Computer Entertainment Europe Ltd Virtual reality
US11269480B2 (en) * 2016-08-23 2022-03-08 Reavire, Inc. Controlling objects using virtual rays
US11050758B2 (en) 2016-08-23 2021-06-29 Reavire, Inc. Controlling access to a computer network using measured device location
US10444320B2 (en) 2016-10-06 2019-10-15 Reavire, Inc. Locating devices based on antenna coordinates
US10176655B2 (en) 2016-10-26 2019-01-08 Reavire, Inc. Controlling lockable devices using electronic key
EP3407168A1 (en) * 2017-05-25 2018-11-28 Thomson Licensing Determining full-body pose for a virtual reality environment
US11054638B2 (en) 2018-06-13 2021-07-06 Reavire, Inc. Tracking pointing direction of device

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2868281B1 (fr) 2004-03-30 2023-06-23 Commissariat Energie Atomique Procede de determination des mouvements d'une personne.
EP1779344A4 (en) 2004-07-29 2009-08-19 Motiva Llc SYSTEM FOR MEASURING HUMAN MOVEMENT
CZ303752B6 (cs) 2006-01-04 2013-04-24 CVUT v Praze - fakulta strojní Zpusob a zarízení pro merení a/nebo kalibraci polohy telesa v prostoru
KR100841925B1 (ko) * 2006-09-27 2008-06-30 한국전자통신연구원 디지털 캐릭터 동작생성 시스템 및 방법
US8494227B2 (en) 2007-04-17 2013-07-23 Francine J. Prokoski System and method for using three dimensional infrared imaging to identify individuals
JP4882948B2 (ja) 2007-10-04 2012-02-22 ソニー株式会社 画像処理装置および方法、並びにプログラム
JP5005570B2 (ja) 2008-02-04 2012-08-22 株式会社リコー 画像処理装置およびプログラム
JP2010137009A (ja) 2008-12-15 2010-06-24 Nintendo Co Ltd キャリブレーションプログラム及び座標検出装置
KR101221451B1 (ko) * 2008-12-22 2013-01-11 한국전자통신연구원 다시점 영상기반 동적 개체의 디지털 클론 생성 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Jinciang Chai, et al., ‘Constraint-based Motion Optimization Using A Statistical Dynamic Model’ ACM Trans. on Graphics, SIGGRAPH 2007, (2007.7.12)*
Jinciang Chai, et al., ‘Performance Animation from Low-dimensional Control Signals’. ACM Trans. on Graphics, SIGGRAPH 2005, (2005.5.12)*

Also Published As

Publication number Publication date
US20120127164A1 (en) 2012-05-24
KR20120041086A (ko) 2012-04-30
US9001129B2 (en) 2015-04-07

Similar Documents

Publication Publication Date Title
KR101700377B1 (ko) 아바타 생성을 위한 처리 장치 및 방법
Liu et al. Realtime human motion control with a small number of inertial sensors
JP4149213B2 (ja) 指示位置検出装置及び自律ロボット
Riley et al. Methods for motion generation and interaction with a humanoid robot: Case studies of dancing and catching
EP3474235A1 (en) Information processing device, information processing method and storage medium
US8428306B2 (en) Information processor and information processing method for performing process adapted to user motion
JP6996557B2 (ja) 対象物認識方法、装置、システム、プログラム
JP2022505423A (ja) 電磁追跡のための周囲電磁歪み補正
JP2016099982A (ja) 行動認識装置、行動学習装置、方法、及びプログラム
KR20150130483A (ko) 평면의 자연스러운 특성 타겟들의 인시츄 생성
KR101925879B1 (ko) 깊이 영상을 이용하는 동작 추정 방법 및 장치
WO2007102537A1 (ja) 姿勢推定装置および方法
Bergou et al. 3D reconstruction of bat flight kinematics from sparse multiple views
JP2014085933A (ja) 3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム
CN108550181B (zh) 移动设备上在线跟踪与稠密重建方法、系统及设备
KR20210146264A (ko) 골프 스윙에 관한 정보를 추정하기 위한 방법, 디바이스 및 비일시성의 컴퓨터 판독 가능한 기록 매체
KR101815995B1 (ko) 표정 제어점을 이용한 아바타 제어 장치 및 방법
KR102604424B1 (ko) 표준 얼굴 모델 기반 얼굴 특징점 추정 영상 처리장치 및 표준 얼굴 모델 기반 얼굴 특징점 추정 영상 처리를 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 물리적 기록매체
Usabiaga et al. Global hand pose estimation by multiple camera ellipse tracking
Azhar et al. Significant body point labeling and tracking
WO2018207292A1 (ja) 対象物認識方法、装置、システム、プログラム
KR101547208B1 (ko) 손목 궤적을 이용한 전신 동작 생성 장치 및 방법
KR101699930B1 (ko) 아바타 동작 생성 방법 및 장치
KR101639195B1 (ko) 동작 합성을 위한 데이터 처리 장치 및 방법
KR102413988B1 (ko) 골프 스윙에 관한 정보를 추정하기 위한 방법, 디바이스 및 비일시성의 컴퓨터 판독 가능한 기록 매체

Legal Events

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

Payment date: 20191216

Year of fee payment: 4