KR102332113B1 - Visuomotor 시스템을 이용한 모델 예측 제어에 기반한 풀바디 모델링 방법 및 장치 - Google Patents

Visuomotor 시스템을 이용한 모델 예측 제어에 기반한 풀바디 모델링 방법 및 장치 Download PDF

Info

Publication number
KR102332113B1
KR102332113B1 KR1020200039280A KR20200039280A KR102332113B1 KR 102332113 B1 KR102332113 B1 KR 102332113B1 KR 1020200039280 A KR1020200039280 A KR 1020200039280A KR 20200039280 A KR20200039280 A KR 20200039280A KR 102332113 B1 KR102332113 B1 KR 102332113B1
Authority
KR
South Korea
Prior art keywords
character
state
body modeling
full body
observation
Prior art date
Application number
KR1020200039280A
Other languages
English (en)
Other versions
KR20210121878A (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 KR1020200039280A priority Critical patent/KR102332113B1/ko
Priority to US16/940,530 priority patent/US11282254B2/en
Publication of KR20210121878A publication Critical patent/KR20210121878A/ko
Application granted granted Critical
Publication of KR102332113B1 publication Critical patent/KR102332113B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30004Biomedical image processing
    • G06T2207/30041Eye; Retina; Ophthalmic

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Processing Or Creating Images (AREA)
  • Eye Examination Apparatus (AREA)

Abstract

시각적 인식과 풀바디(full-body) 모션 제어를 통합한 visuomotor 시스템을 이용한 새로운 모델 예측 제어(model predictive control; MPC)에 기반한 풀바디 모델링 방법 및 장치에 관한 것이다. 일실시예에 따른 풀바디 모델링 방법은 캐릭터의 시점에 기초하여 객체의 상태에 관한 부분 관측 값을 결정하고, 부분 관측 값에 기초하여 POMDP에 기반하여 객체의 상태를 추정하며, 추정된 객체의 상태에 따라 캐릭터의 상태를 제어하여 캐릭터의 모션을 시각화하는 단계를 포함한다.

Description

Visuomotor 시스템을 이용한 모델 예측 제어에 기반한 풀바디 모델링 방법 및 장치{METHOD OF FULL-BODY MODELING BASED ON MODEL PREDICTIVE CONTROL WITH A VISUOMOTOR SYSTEM}
아래 실시예들은 시각적 인식과 모션 제어를 통합한 visuomotor 시스템을 이용한 모델 예측 제어(model predictive control; MPC)에 관한 것이다.
물리 기반 시뮬레이션은 캐릭터 애니메이션에서 널리 사용되고 있다. 이 접근 방식은 캐릭터 동작의 물리적 현실성을 향상시키고 환경 변화에 대한 설득력 있는 반응을 촉진한다. 이 주제에 대한 최근의 연구는 온라인 방식으로 캐릭터와 외부 객체 간의 물리적으로 유효한 상호 작용을 다루었다. 이러한 연구의 대부분은 캐릭터가 정확한 궤도 등 객체와 상호 작용하는 데 필요한 모든 정보에 액세스할 수 있다고 가정한다. 이것은 종종 인간이 실제 현실에서 취하지 않을 비현실적인 행동으로 이어진다. 예를 들어, 캐릭터가 뒤에서 날아오는 보이지 않는 공을 피하는 등의 비현실적인 모션이 생성될 수 있다. 따라서 물리 기반 시뮬레이션을 시각적 인식과 결합하는 새로운 모션 합성 프레임 워크가 요구된다.
일반적으로, Visuomotor 조정(coordination)은 시각적 주의를 조정하기 위해 머리와 눈의 움직임과 같은 필수 보조 동작을 수반한다. 예를 들어, 관찰자는 장애물을 향하여 머리와 눈을 움직임으로써, 걷는 동안 주변 장애물과 충돌을 피하기 위해 주의를 기울인다. 이러한 인간의 행동을 반영하기 위한 시각적 인식 모델링을 수반한 풀바디 캐릭터에 대한 물리 기반 모션 합성 기술이 요구되고 있으며, 이를 위해, 눈을 통해 수집되는 불확실성을 가진 정보에 기초하여 인간의 동작이 수행되는 것과 같이, 불확실성 하에 있는 추정된 환경 상태들에서 유발되는 캐릭터의 동작을 제어하는 기술에 대한 연구가 필요하다.
전술한 배경기술은 발명자가 본원의 개시 내용을 도출하는 과정에서 보유하거나 습득한 것으로서, 반드시 본 출원 전에 일반 공중에 공개된 공지기술이라고 할 수는 없다.
실시예들은 캐릭터의 시각적 인식과 모션 제어를 통합한 visuomotor 시스템을 통해 환경에 대한 부분 관측 정보를 기반으로 외부 객체와 자연스럽게 상호 작용할 수 있는 캐릭터의 풀바디 모션을 합성하는 기술을 제공할 수 있다.
또한, 캐릭터의 시각적 인식에 따른 부분 관측 값에 기초하여 추정된 불확실성이 있는 환경 상태에서, 환경 내 객체들과 상호작용하는 캐릭터의 모션을 제어하는 기술을 제공할 수 있다.
일 측에 따른 풀바디 모델링 방법은 캐릭터의 눈 포즈에 기초하여 상기 캐릭터의 시점을 결정하는 단계; 상기 캐릭터의 시점에 기초하여, 적어도 하나의 객체에 관한 상기 캐릭터의 관측 값 및 관측 노이즈를 결정하는 단계; 상기 관측 값 및 상기 관측 노이즈에 기초하여 상기 객체의 상태를 추정하는 단계; 추정된 상기 객체의 상태, 상기 캐릭터의 상태 및 상기 캐릭터에 관한 참조 모션에 기초하여 상기 캐릭터의 제어 정책을 생성하는 단계; 및 추정된 상기 객체의 상태 및 상기 제어 정책에 기초하여 상기 캐릭터의 상태를 업데이트하는 단계를 포함한다. 상기 캐릭터의 상태는 상기 캐릭터에 포함된 적어도 하나의 관절의 상태 및 상기 캐릭터의 눈 포즈를 포함할 수 있다.
상기 객체의 상태를 추정하는 단계는 부분 관측 마코프 의사결정 과정(partially observable markov decision process; POMDP)에 기반하여 객체의 상태를 추정하는 단계를 포함할 수 있다.
상기 객체의 상태를 추정하는 단계는 상기 적어도 하나의 객체에 관한 관측 값 및 상기 관측 노이즈에 기초하여 상기 객체의 가능한 상태들에 대한 확률 분포에 따른 상기 객체의 신뢰 상태를 정의하는 단계; 및 칼만 필터에 기초하여 상기 객체의 신뢰 상태를 업데이트하는 단계를 포함할 수 있다.
상기 객체의 신뢰 상태를 업데이트하는 단계는 상기 칼만 필터에 따른 전이 행렬에 기초하여 객체의 다음 신뢰 상태를 예측하는 단계; 및 상기 객체에 관한 관측 값 및 상기 칼만 필터에 따른 칼만 이득 행렬에 기초하여, 상기 예측된 객체의 다음 신뢰 상태를 보정하는 단계를 포함할 수 있다.
상기 눈 포즈는 시선 방향을 나타내는 방위각, 고도, 및 초점 거리의 파라미터들 중 적어도 하나를 포함할 수 있다.
상기 방위각, 상기 고도 및 상기 초점 거리의 파라미터들 중 적어도 하나는 미리 정해진 범위로 파라미터 값이 제한될 수 있다.
상기 제어 정책을 생성하는 단계는 제1 시간 스텝에 대응하는 객체의 상태 및 캐릭터의 상태에서 미리 정해진 비용을 고려하여 제1 시간 스텝의 다음 시간 스텝인 제2 시간 스텝에 대응하는 객체의 상태 및 캐릭터의 상태를 결정하는 단계; 상기 제2 시간 스텝에 대응하는 캐릭터의 상태에 기초하여, 상기 제1 시간 스텝에 대응하는 캐릭터 제어 벡터를 획득하는 단계; 및 미리 정해진 개수의 시간 스텝 각각에 대하여, 상기 캐릭터 제어 벡터를 생성하는 단계를 포함할 수 있다.
상기 미리 정해진 비용은 상기 참조 모션 및 상기 캐릭터에 포함된 적어도 하나의 관절들의 상태에 따른 비용; 상기 캐릭터 제어 벡터에 따른 비용; 상기 적어도 하나의 객체의 신뢰 상태에 따른 비용; 상기 캐릭터의 눈 포즈에 따른 비용; 및 상기 캐릭터가 수행하는 작업의 종류에 따른 비용 중 적어도 하나를 포함할 수 있다.
상기 제어 정책은 상기 캐릭터에 포함된 적어도 하나의 관절의 상태 및 상기 캐릭터의 눈 포즈를 결정하는 캐릭터 제어 벡터를 포함할 수 있다.
상기 캐릭터의 시점을 결정하는 단계는 상기 캐릭터의 머리 관절의 위치, 상기 캐릭터의 두 눈 사이의 중간 점의 위치, 초점 거리 및 상기 머리 관절과 상기 두 눈 사이의 중간 점의 회전 정도에 기초하여 상기 캐릭터의 시점을 결정하는 단계를 포함할 수 있다.
상기 캐릭터의 시점에 기초하여, 적어도 하나의 객체에 관한 상기 캐릭터의 관측 값 및 관측 노이즈를 결정하는 단계는 상기 캐릭터의 시점과 상기 객체의 위치에 따른 관측 노이즈를 결정하는 단계; 및 상기 객체의 위치 및 상기 관측 노이즈에 기초하여 상기 객체에 관한 상기 캐릭터의 관측 값을 결정하는 단계를 포함할 수 있다.
상기 풀바디 모델링 방법은 상기 캐릭터의 상태를 시각화하여 풀바디 캐릭터를 모델링하는 단계를 더 포함할 수 있다.
상기 관절의 상태는 상기 관절의 위치 및 상기 관절의 속도를 포함할 수 있다.
일 측에 따른 풀바디 모델링 장치는 캐릭터의 눈 포즈에 기초하여 상기 캐릭터의 시점을 결정하고, 상기 캐릭터의 시점에 기초하여, 적어도 하나의 객체에 관한 상기 캐릭터의 관측 값 및 관측 노이즈를 결정하고, 상기 관측 값 및 상기 관측 노이즈에 기초하여 상기 객체의 상태를 추정하고, 추정된 상기 객체의 상태, 상기 캐릭터의 상태 및 상기 캐릭터에 관한 참조 모션에 기초하여 상기 캐릭터의 제어 정책을 생성하고, 추정된 상기 객체의 상태 및 상기 제어 정책에 기초하여 상기 캐릭터의 상태를 업데이트하는 적어도 하나의 프로세서; 및 상기 캐릭터의 상태, 상기 캐릭터에 관한 참조 모션 및 상기 객체의 상태를 저장하는 메모리를 포함한다. 상기 캐릭터의 상태는 상기 캐릭터에 포함된 적어도 하나의 관절의 상태 및 상기 캐릭터의 눈 포즈를 포함할 수 있다.
도 1은 일실시예에 따른 시스템의 개요를 도시한 도면.
도 2는 일실시예에 다른 눈 프레임의 구성을 도시한 도면.
도 3a내지 도3d는 일실시예에 따른 캐릭터가 수행하는 작업의 종류를 설명하기 위한 도면들.
도 4는 일실시예에 따른 풀바디(full-body) 모델링 방법을 설명하기 위한 도면.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.
이하에서,
Figure 112020033700133-pat00001
는 ^X로,
Figure 112020033700133-pat00002
-X로,
Figure 112020033700133-pat00003
·X로 표시될 수 있다.
일실시예는 시각적 인식과 풀바디(full-body) 모션 제어를 통합한 visuomotor 시스템을 이용한 새로운 모델 예측 제어(model predictive control; MPC) 기반 프레임 워크를 제시한다. 일실시예에 따른 visuomotor 시스템을 통해 환경에 대한 부분 정보를 기반으로 외부 객체와 자연스럽게 상호 작용할 수 있는 캐릭터의 풀바디 모션을 합성할 수 있다. 통합된 Visuomotor 시스템의 제어 문제는 불확실성이 있는 추정된 환경 상태에서 캐릭터의 특정 행동이 발생하기 때문에 부분 관측 마코프 의사 결정 과정(Partially observable Markov decision process; POMDP)으로 이어진다. 풀바디는 전신을 의미하는 것으로, 이하에서 캐릭터는 풀바디 캐릭터를 의미할 수 있다.
일실시예는 비전 시스템과 풀바디 역학 간의 세밀한 조정을 위해서 물리적으로 적합한 풀바디 모션을 합성하고, 눈/머리 움직임을 유도하는 비전 시스템을 통해 환경을 관측한다.
일실시예는 visuomotor 시스템을 효과적으로 제어하기 위해 POMDP에 기반하며, 불확실한 객체를 추적할 때 사람의 행동을 모방하는 칼만 필터(Kalman Filter)를 사용하여 POMDP를 완전히 관측 가능한 belief MDP로 모델링하고 신뢰(belief) 업데이트를 결정론적으로 만들어 visuomotor 시스템의 궤적 최적화를 수행한다.
또한, 초점 거리 조정, 빠른 안구 운동인 사카데스(saccades) 및 원활 안구 운동인 추시(smooth pursuit)를 활용하여 사람의 눈의 특성을 보다 충실하게 반영하는 비전 시스템을 이용한다.
시스템 개요
도 1은 일실시예에 따른 시스템의 개요를 도시한다.
도 1을 참조할 때, 일실시예에 따른 시스템은 비전 시스템(vision system)(110), 궤적 옵티마이저(trajectory optimizer) (120) 및 visuomotor 시스템(130)으로 구성된다.
Visuomotor시스템으로부터 눈 포즈를 포함한 풀바디 캐릭터의 상태가 주어지면, 비전 시스템은 캐릭터의 시점을 결정하고, 외부 객체들의 노이즈 감지 상태들(the noisy perceived states)을 추적하는 칼만 필터를 사용하여 POMDP의 신뢰 역학을 근사함으로써, 인지된 객체의 상태를 추정한다. 각 객체의 추정된 상태는 위치와 속도와 불확실성을 포함하며, 궤적 옵티마이저는 각 객체의 추정된 상태를 이용하여 참조 모션에 의해 지시되는(guided) 풀바디 모션, 눈과 머리 움직임 및 초점 거리를 조정하는 로컬 최적 제어 정책을 생성한다.
풀바디 캐릭터의 제어 정책을 찾기 위해 DDP(differential dynamic programming)를 채택할 수 있다. 온라인 상호작용 동작을 지원하기 위해 일실시예에 따른 시스템은 캐릭터 제어 정책을 짧은 시간의 윈도우를 시간 축을 따라 이동하면서 반복적으로 업데이트한다.
일실시예에 따른 visuomotor 시스템은 제어 정책과 함께 외부 힘이 주어진 경우 풀바디 캐릭터 상태를 업데이트 하기 위해 순동역학(forward dynamics) 시뮬레이션을 수행한다.
객체의 상태 및 캐릭터의 상태는 시간 스텝에 대응하여 결정되는 것으로, 예를 들어, 객체의 현재 상태 또는 캐릭터의 현재 상태가 제1 시간 스텝에 대응되는 경우, 객체의 다음 상태 또는 캐릭터의 다음 상태는 제1 시간 스텝의 다음 시간 스텝인 제2 시간 스텝에 대응된다.
비전 시스템
눈 모델(eye model)
도 2를 참조할 때, 구면 좌표계를 사용하여 눈 프레임을 정의할 수 있다. 이 프레임에서는 세 가지 파라미터를 사용하여 눈 포즈 e = [θ, ψ, ζ]T를 정의한다. 여기서 θ와 ψ는 각각 시선 방향을 나타내는 방위각(azimuthal angle)과 고도(polar angle)이며, ζ는 초점 거리이다.
각각의 파라미터는 의학 연구에서 따른 정상적인 안구 운동 범위로 설정될 수 있다. 예를 들어, 외전(abduction)과 내전(adduction)의 경우 -44.2°≤ θ ≤ 44.2°, 내려본각과 올려본각(angle of depression and elevation)의 경우 -47.1° ≤ ψ ≤ 27.7°, 초점 거리의 경우 0.0 ≤ ζ ≤ 17.0 (mm)이다. 참고로, 사람이 무한 거리에 있는 점을 바라볼 때의 초점 거리는 17.0mm이다.
또한 안구 운동을 인간의 눈의 중요한 특성들인 사실적인 시선 동작들, 빠른 안구 운동인 사카데스(saccades) 및 원활 안구 운동인 추시(smooth pursuit)를 생성하기 위해 눈의 움직임에 제한을 둘 수 있다. 일실시예에 따른 시스템은 자연스러운 시선의 움직임을 위해 움직임 속도에 제한을 둘 수 있다. 예를 들어, 안구 움직임의 방위각 및 고도에 대한 사카데스의 최대 속도를 800°/s로, 추시의 최대 속도를 100°/s로 설정할 수 있다. 또한, 사카데스는 200ms 간격으로 반복되며, 재충전을 위해 200ms 동안 일시 정지될 수 있다. 추시는 사카데스를 위한 재충전 시간 동안에도 동시에 발생할 수 있다. 눈의 움직임 제한은 ∥·eθ,ψ∥≤ B 와 같이 일실시예에 따른 비전 시스템에 적용될 수 있다.
여기서 ·eθ,ψ는 방위각과 고도 변화에 대한 안구의 속도이고 B는 크기의 상한이다.
시점(point of sight)
시점 pps는 풀바디 캐릭터의 관절 위치 q와 눈 포즈 e의 함수이기 때문에 pps는 풀바디 역학을 비전 시스템과 통합하는 데 중요한 역할을 한다. pps(q, e) = phead(q) + Whead(q)peye + d(e)^z(q, e) 와 같이 정의된다.
여기서 phead 및 Whead는 각각 머리의 위치 및 머리의 회전 행렬이다. peye는 머리 프레임에 대한 두 눈 사이의 중간 점이며, d(e)=ζ/(1ζ/17.0)은 peye와 시점 사이의 거리이다. ^z는 시선 방향을 가리키는 단위 벡터, 즉 행렬 Weye(e)Whead(q)에서 추출된 z 축이다. Weye는 머리 프레임에 대한 peye의 회전 행렬이다.
객체 상태 추정
객체에 대한 부분 관측(partial observation)을 통해 객체의 상태를 추정하는 방법에 대해 설명한다. 실제 시선 동작을 생성하기 위해 전체의 실제 객체 상태를 사용하는 대신 불확실성 하에서 객체 상태를 추정하여 인간의 비전 시스템을 모방한다.
캐릭터가 실제 객체 상태를 알지 못한다는 가정하에 일실시예에 따른 시스템은 객체의 실제 상태를 관측한다. 인간 시각 센서를 추상화하는 관측 모델을 구성하기 위해, 인간이 움직이는 객체의 위치 정보를 인식하여 그 속도를 순간적으로 추정할 수 있다고 가정한다. 또한, 일반적으로 인식된 객체의 위치 정보는 정확하지 않으며, 특히 객체가 시선으로부터 멀어질 때 정확하지 않다고 가정한다. 이러한 가정 하에서 일실시예에 따른 비전 시스템의 관측 모델을 수학식 1과 같이 정의한다.
Figure 112020033700133-pat00004
Nobj를 비전 시스템에 의해 인식되는 환경 내 객체의 수라고 한다. 일실시예에 따른 관측 모델은 관측 노이즈 ρ를 고려하여, j = 0, 1,…, Nobj-1에 대한 객체의 위치 pj와 속도 vj로 구성된 실제 객체의 상태 xj = [pj T vj T]T에서 객체의 상태에 대한 부분 관측 zj을 생성한다. H는 객체의 상태를 노이즈 없는 부분 관측(noise-free partial observation), 즉 객체의 위치에 매핑하는 변환 행렬이다. 관측 노이즈 ρ는 공분산(covariance) Rj를 갖는 다변량 가우스 분포(multivariate Gaussian distribution)를 갖는다. η는 황반(fovea)의 크기에 대한 상수이다. 공분산 행렬 Rj는 대각 행렬이며, 여기서 대각 요소의 값은 시점 pps와 객체의 위치 pj 사이의 유클리드 거리에 의해 결정된다. 특히 캐릭터의 시선이 객체에서 멀어 질수록 관측된 객체의 오차가 증가한다.
뇌가 객체의 역학에 대한 사전 지식을 가지고 있다고 가정하여, 객체 상태의 진화를 다루는 프로세스 모델을 수학식 2와 같이 공식화한다.
Figure 112020033700133-pat00005
x'j는 객체 j의 다음 상태이고, F는 상태 전이 행렬, y는 제어 벡터(control vector), h는 두 개의 연속적인 관측 사이의 시간 차이며, a는 중력 가속도이다. δ는 공분산 Q = αI 인 프로세스 노이즈이며, 여기서 α는 음이 아닌 상수이다. Q는 프로세스 모델에서 두뇌의 불확실성을 나타낸다. α값이 크면 시선이 객체로부터 멀어 질수록 추정된 객체의 상태에 대한 불확실성이 빠르게 커지는 경향이 있다. 이것은 추정된 객체의 상태에 대한 불확실성이 충분히 커질 때마다 캐릭터의 시선이 다시 객체로 이동하게 한다. 이 상수 값을 조절하여 캐릭터가 객체를 보는 시간, 또는 복수의 객체들이 있을 때 한 객체에서 다른 객체로 시선을 전환하는 시기 등 일실시예에 따른 비전 시스템의 능력을 조정할 수 있다.
일실시예에 따른 비전 시스템은 실제 객체의 상태에 대한 부분 관측에 의존하여 객체의 상태를 추정한다. 따라서 이 모델에 대한 최적의 제어 문제는 객체의 상태가 부분적으로 알려진 POMDP로 이어진다. 하나의 신뢰 상태에서 다른 신뢰 상태로의 전이 함수(신뢰 업데이트)와 객체의 상태들에 대한 확률 분포(신뢰 상태)를 도입함으로써 POMDP를 belief MDP로 변환한다. 결과적인 belief MDP는 표준 MDP의 변형으로, 객체의 상태 대신 신뢰 상태를 고려한다. 칼만 필터를 사용하여 환경 내 외부 객체에 대한 부분 관측에 기초하여 가우시안 업데이트로 신뢰 업데이트를 추정한다.
가우시안 분포, 즉 b(xj) = N(μj, Σj)로 외부 객체의 상태들에 대한 신뢰 상태 b를 정의한다. 여기서 평균 μj 및 공분산 Σj는 각각 추정된 상태와 추정의 불확실성으로 간주될 수 있다. 현재의 신뢰 상태 b와 현재의 관측 zj가 주어지면, 비전 시스템은 수학식 1과 수학식 2에서 주어진 칼만 필터에 기초하여 신뢰 업데이트 n(b, zj)을 통해 다음 신뢰 상태 b'(xj)를 추정한다. 즉, b'(xj) = n(b, zj) = N (μ'j, Σ'j)이다. 여기서, μ'j 및 Σ'j는 다음 시간 스텝에서 새로운 평균 및 공분산으로, 각각 수학식 3 및 수학식 4와 같이 정의될 수 있다.
Figure 112020033700133-pat00006
Figure 112020033700133-pat00007
여기서, Kj = (FΣjFT + Q)HT(H(FΣjFT + Q)HT + Rj)-1은 객체 j에 대한 칼만 이득(Kalman gain)이며, 현재 관측이 다음 신뢰 상태에 얼마나 영향을 미치는지를 결정한다. 신뢰 상태 b는 이하에서 설명하는 궤적 최적화에 사용된다. 이하에서,
Figure 112020033700133-pat00008
는 3D 벡터 σj = [σp j σv j σpv j]T로 표현될 수 있다.
수학식 1 및 2에 기초하여, 일실시예에 따른 시스템은 칼만 필터의 예측 및 보정 단계를 통해 신뢰 업데이트를 수행한다. 객체 j에 대한 현재 신뢰 상태 b (xj) = N(μj, Σj)가 주어지면, 예측 단계는 1차 신뢰 추정(a priori belief estimate) -b(xj) = N(-μj, -Σj)을 생성한다. 여기서, -μj -Σj는 다음과 같이 정의된다.
Figure 112020033700133-pat00009
현재 시간 스텝에서의 관측 zj와 우선 신뢰 추정을 결합하여, 보정 단계는 2차 신뢰 추정(a posteriori belief estimate), 즉 신뢰 업데이트 b'(xj) = N(μ'j, Σ'j)로 이어진다. 여기서 μ'j 및 Σ'j는 다음과 같이 정의된다.
Figure 112020033700133-pat00010
여기서, mj와 Kj는 각각 객체의 관측 잔차(observation residual)와 칼만 이득을 나타내며, 다음과 같이 도출된다.
Figure 112020033700133-pat00011
여기서, Sj-는 잔차 공분산으로 다음과 같이 도출된다.
Figure 112020033700133-pat00012
그러므로, μ'j 및 Σ'j는 다음과 같다.
Figure 112020033700133-pat00013
VISUOMOTOR 시스템
추정된 객체의 상태 및 캐릭터 제어 벡터를 사용하여 캐릭터 상태의 진화를 제어하는 visuomotor 시스템의 전체 역학을 제시한다. 다음과 같은 공지기술에 따른 안정적인 관절체 동역학(articulated-body dynamics)을 채택할 수 있다.
Figure 112020033700133-pat00014
여기서 M은 총 질량 행렬, ·q와 ·q'는 각각 현재 및 다음 스텝에서의 관절 속도이며, h는 적분 스텝 크기, τ는 작동된 관절 토크, Φ는 중력, 코리올리 힘, 외력이 있다면 외력으로 인한 바이어스 힘이다. B = kdI는 상수 kd를 갖는 감쇠 게인 행렬(damping gain matrix)이고, J는 접촉 임펄스 ^f가 작용하는 접촉점에서의 기구학적 야코비 행렬이다. M0은 일반 질량 행렬이고, Ma = ρaI는 계수 ρa의 전기자(armature) 관성(inertia) 행렬이다.
xfb = [qT ·qT]T 및 ufb = τ를 각각 풀바디 캐릭터의 상태 및 풀바디 캐릭터 제어 벡터라고 한다. 여기서 q는 풀바디 관절의 위치이다. 특히 팔꿈치와 무릎 관절을 위한 힌지 관절(hinge joint)과 다른 관절을 위한 볼 관절(ball joint)로 구성되는 풀바디 모델 xfb는 안구 파라미터를 제외한 40 자유도를 가지며 ufb는 34 자유도를 갖는다. 반-암시적 오일러 적분을 사용하여 캐릭터의 풀바디 시스템 역학을 다음과 같이 도출할 수 있다.
Figure 112020033700133-pat00015
여기서, 접촉 임펄스 ^f는 공지기술에 따른 smoothed contact dynamics에 기초하여 계산할 수 있다.
풀바디 동역학과 신뢰 업데이트를 조합하여, visuomotor 시스템을 위한 시스템 동역학을 획득할 수 있다.
Figure 112020033700133-pat00016
여기서 x = [xfb T eT μT σT]T 및 u = [ufb T ·eT]T는 각각 상태 및 제어 벡터이다. ·e는 눈 포즈 e의 시간에 따른 미분계수이다. 시스템 역학 방정식의 다른 기호에 대해서는 수학식 3 및 4를 참조한다. 시스템 역학의 처음 두 행은 풀바디 캐릭터의 상태 및 눈 포즈의 업데이트를 담당하고, 마지막 두 행은 현재의 신뢰 상태의 업데이트를 담당하며, 이는 부분 관측 zj에 기초하여 외부 객체에 대한 시각적 인식 프로세스를 모델링한다. 일실시예에 따른 프레임워크에서, 현재의 신뢰 상태의 평균 μj를 인식된 객체 상태의 추정으로 사용한다.
궤적 최적화(trajectory optimization)
짧은 시간의 윈도우를 사용하여 일실시예에 따른 visuomotor 시스템에 대한 로컬 최적 제어 정책을 찾기 위한 DDP를 채택한다.
그러나 DDP는 주로 비선형 시스템 역학을 갖춘 결정론적 시스템에 사용된다. 따라서, visuomotor 시스템 역학을 더 단순화하여 노이즈 관측 zj로 인해 확률적인 평균 μj에 대한 업데이트 함수를 처리한다. 결정론적 평균 업데이트 ^μ'j를 얻기 위해 수학식 3이 zj에서 선형이라는 사실을 이용하여 μ'j를 다음과 같이 근사한다.
Figure 112020033700133-pat00017
근사치 ^μ'j는 다음과 같은 관측치 zj에 대한 주변의 신뢰 업데이트 n (b(xj), zj)를 통해 동등하게 얻어진다.
Figure 112020033700133-pat00018
이 근사값은 궤적 최적화에만 적용된다. 최적의 정책을 가진 visuomotor 시스템의 실제 시뮬레이션에서 추정된 상태는 수학식 3을 사용하여 업데이트될 수 있다. 수학식 4에서 관측된 바와 같이, Σ'j는 관측치 zj와 무관하므로 수학식 4에 따라 업데이트된다.
μ'j의 근사값은 다음과 같은 DDP에 대한 결정론적 역학 시스템을 만든다.
Figure 112020033700133-pat00019
따라서, 풀바디 상태 벡터 xfb는 또한 ^x = [xfb T eTT σT]T로 확장되며, 여기서 ^μ'는 모든 ^μ'j를 병렬로 두어 획득한 행렬이다. 상태 추정 업데이트는 μ (3 번째 행)에 대해 가장 유사한 관측치를 택함으로써 결정론적 버전으로 감소하지만, 객체 상태 추정에 대한 불확실성 σ(4 번째 행)은 변하지 않은 상태로 유지된다. 결과적인 시스템 역학은 미래의 풀바디 모션, 안구의 움직임 및 외부 객체들의 신뢰 상태를 예측하는 데 사용되는 visuomotor 시스템 내부의 뇌 모델로 간주된다.
현재 상태 x 및 참조 골격 궤적 -X = {-xi fb | i = 0, 1,…, N-1}이 주어졌을 때, 크기 N의 개별 윈도우에서 제어 정책에 대한 다음의 유한-수평 최적 제어 문제(finite-horizon optimal control problem) (u0, u1,…, uN-2)를 해결한다.
Figure 112020033700133-pat00020
여기서 c(^xi, ui) 및 cf(xN-1)은 각각 i 번째 시간 스텝 및 마지막 시간 스텝에서의 비용 함수이다. 각 시간 스텝의 비용 함수는 다음과 같이 공식화된다.
Figure 112020033700133-pat00021
여기서 wi는 비용 항 ci의 가중치이고, i ∈ {trk, eng, uct, bnd, tsk}이다. 이하에서 각 비용 항들에 대해 설명한다.
추적 비용(cost for tracking)
ctrk는 참조 골격 모션 및 상체 방향을 추적하는 비용으로, 다음과 같이 정의할 수 있다.
Figure 112020033700133-pat00022
여기서 oi ub는 루트에서 머리까지의 변위 벡터(displacement vector)이며, -oi ub는 대응하는 참조 벡터이다. 첫 번째 항은 참조 골격 모션을 추적하기 위한 항이고, 두 번째 항은 몸통 업-벡터(up-vector)를 참조 모션의 업-벡터와 가능한 가깝게 유지하기 위한 항이다.
에너지 소비 비용(cost for energy consumption)
ceng은 캐릭터가 지나치게 강력한 행동을 생성하는 것을 방지하기 위한 비용으로, 다음과 같이 정의할 수 있다.
Figure 112020033700133-pat00023
이 항은 마지막 스텝 cf(^xN-1)의 비용 함수에는 포함되지 않는다.
불확실성 비용(cost for uncertainty)
추정된 객체 상태의 불확실성을 줄이기 위해, 다음과 같이 인식된 각 객체의 신뢰도 상태에 대한 공분산의 크기의 합에 불이익을 줄 수 있다.
Figure 112020033700133-pat00024
이 항은 객체의 상태를 추적하고 머리와 눈의 움직임을 포함한 보조 행동을 생성하는 데 중요한 역할을 한다. 구체적으로, 이 항은 수학식 1에 정의된 각각의 관측 공분산 행렬 Rj의 대각 요소의 제곱합을 최적화하여, 시점 pps와 객체들의 각 위치 pj 사이의 유클리드 거리 rj를 최소화한다. 따라서, pps는 환경 내 단일 객체만 존재하는 경우 객체의 이동 여부에 관계없이 rj를 최소화하기 위해 pj쪽으로 이동하는 경향이 있다. 이 경우, 캐릭터에 의한 객체 상태에 대한 관측치는 객체를 계속 봄에 따라 실제 상태로 수렴하도록 보장된다.
환경에 단일 객체가 있다고 가정하면, 캐릭터는 계속 단일 객체를 바라 보게 된다. 수학식 1에 따르면, 시점이 객체 j에 접근함에 따라, rj는 0이 되는 경향이 있기 때문에 Rj는 0 행렬이 된다. 따라서 아래와 같이 칼만 이득 Kj의 극한을 도출할 수 있다.
Figure 112020033700133-pat00025
위의 결과를 사용하여 다음과 같이 수학식 3에서 μj의 극한을 도출할 수 있다.
Figure 112020033700133-pat00026
rj → 0에 따라 추정된 상태는 속도 측면이 아닌 위치 측면에서 실제 상태에 접근한다. 이것은 rj → 0인 경우 실제 객체 위치를 완벽하게 관측한다는 것을 의미한다.
수학식 4의 Σ'j도 다음 식으로 줄어든다.
Figure 112020033700133-pat00027
속도 공분산 행렬(마지막 행렬의 오른쪽 아래 하위 행렬)을 제외하고 모든 하위 행렬은 rj → 0에 따라 0이 되는 경향이 있다. 속도 공분산 행렬의 표준 또한 아래와 같이 양의 상수 α에 대한
Figure 112020033700133-pat00028
에 의해, rj → 0일 때 최소값을 갖는다.
Figure 112020033700133-pat00029
위의 식의 세 번째 단계에서는 객체의 속도가 객체의 위치와 선형 관계를 가지기 때문에, Cauchy-Schwarz 불평등에서 σp jσv j = σpv j라는 사실을 이용한다. α가 0 값을 갖는 완벽한 프로세스 모델에서
Figure 112020033700133-pat00030
는 0으로 이동한다. 따라서 캐릭터가 객체를 계속 바라볼 때, 일실시예에 따른 비전 시스템은 관측된 객체의 상태를 최소한의 불확실성으로 실제 객체의 위치와 일치시키는 경향이 있다.
설명을 간략하게 하기 위해 단일 객체 사례를 예로 들었지만, 이 항 자체는 필요한 경우 시점을 객체에서 객체로 이동시키며 복수의 객체를 동시에 처리할 수 있다.
눈 모델에 대한 제약
안구 위치와 초점 거리 ζ를 나타내는 구면 좌표 θ와 ψ는 상술한 바와 같이 각각의 상한과 하한을 갖는다. 이와 유사하게, 방위각 및 고도 움직임에 대한 안구 속도는 대응하는 상한을 갖는다.
아래와 같이 soft 제약 조건으로 이러한 상한 및 하한들을 강화한다.
Figure 112020033700133-pat00031
여기서 xhi와 xlo는 각각 안구 좌표의 상한과 하한이며,
Figure 112020033700133-pat00032
는 max(x, 0)의 스무딩된 버전(smoothed version)이며, x > 0 인 경우 x를 반환하고, 그렇지 않으면 0을 반환한다. 계수 γ는 x = 0 주위에서 함수가 얼마나 부드러워져야 하는지(softened)를 조정하는 데 사용된다.
작업 비용(cost for task)
ctsk는 작업에 따른 비용 항으로, 작업의 종류에 따라 다르게 정의될 수 있다.
도 3a 내지 도 3d는 일실시예에 따른 작업의 종류를 예시한 도면들이다. 도 3a는 공을 잡는 작업, 도 3b는 디딤돌을 걷는 작업, 도 3c는 밀침 후 균형 잡는 작업, 도 3d는 장애물을 피하는 작업을 나타낸다.
예를 들어, 공을 잡는 작업의 경우, 작업에 따른 비용 항은
Figure 112020033700133-pat00033
로 정의될 수 있다. 여기서, phand - pball은 각각 현재의 캐릭터 상태 및 추정된 공 상태에 기초하여 추정된 공을 잡는 손 관절의 위치 및 공의 도착 위치이다. plat ball과 plat sp는 각각 pball의 측면 구성 요소와 지지대 다각형의 중심으로 근사한 두 발의 중간 지점이다. 첫 번째 항은 공의 예상 도착 위치로 손을 움직이는 것과 관련된 항이고, 두 번째 항은 공의 도착 위치가 캐릭터의 측면에서 멀면 발을 측면 방향으로 움직이는 것과 관련된 항이다.
예를 들어, 디딤돌을 걷는 작업의 경우, 작업에 따른 비용 항은
Figure 112020033700133-pat00034
로 정의될 수 있다. 여기서, pfoot은 디딤돌과 접촉하는 발의 위치이고, pcs는 발과 가장 가까운 돌의 위치이며, Wfoot은 발의 회전 행렬이고 -Wfoot은 Wfoot에 대응하는 참조 행렬이다. ctsk는 접촉 프레임에만 적용된다.
예를 들어, 밀침 후 균형 잡는 작업의 경우, 작업에 따른 비용 항은 사용하지 않는다.
예를 들어, 장애물을 피하는 작업의 경우, 작업에 따른 비용 항은
Figure 112020033700133-pat00035
로 정의될 수 있다. 여기서, proot는 캐릭터의 루트 위치이고, ^pj는 j번째 객체의 신뢰 상태의 ^μj의 처음 세 개의 구성 요소인 j번째 객체의 추정 위치이며, sj는 j번째 객체의 반경이다.
상술한 비용 항들로 구성된 객체 함수를 최소화하기 위해 일실시예에 따른 시스템은 풀바디 모션뿐만 아니라 시간에 따라 달라지는 시선 동작을 처리하는 최적의 제어 정책을 생성한다. 특히, ctsk 비용 항은 풀바디 캐릭터가 의도한 작업을 수행하도록 유도하고, cuct비용 항은 각 객체 상태의 시간에 따라 달라지는 불확실성에 의해 유발되는 보조 행동을 유도한다. 따라서 일실시예에 따른 시스템은 의도한 작업을 수행하기 위해 시선 동작 및 풀바디 모션을 합성한다. 결과적으로, 일실시예에 따른 시스템에 의해 합성된 풀바디 모션은 오직 작업에 관한 비용 항에 의해 명시적으로 지시되는 모션과 다르다.
도 4는 일실시예에 따른 풀바디(full-body) 모델링 방법을 설명하기 위한 도면이다.
도 4를 참조할 때, 일실시예에 따른 풀바디 모델링 방법은 캐릭터의 눈 포즈에 기초하여 캐릭터의 시점을 결정하는 단계(410), 캐릭터의 시점에 기초하여, 적어도 하나의 객체에 관한 캐릭터의 관측 값 및 관측 노이즈를 결정하는 단계(420), 관측 값 및 관측 노이즈에 기초하여 객체의 상태를 추정하는 단계(430), 추정된 객체의 상태, 캐릭터의 상태 및 캐릭터에 관한 참조 모션에 기초하여 캐릭터의 제어 정책을 생성하는 단계(440), 및 추정된 객체의 상태 및 제어 정책에 기초하여 캐릭터의 상태를 업데이트하는 단계(450)를 포함한다.
일실시예에 따른 캐릭터는 적어도 하나의 관절을 포함할 수 있으며, 캐릭터의 상태는 캐릭터에 포함된 적어도 하나의 관절의 상태 및 캐릭터의 눈 포즈를 포함할 수 있다.
일실시예에 따른 단계(410)에서 캐릭터의 눈 포즈는 상술한 눈 모델에 따른 눈 포즈 e = [θ, ψ, ζ]T에 대응될 수 있다. 즉, 일실시예에 따른 캐릭터의 눈 포즈는 시선 방향을 나타내는 방위각, 고도, 및 초점 거리의 파라미터들을 포함할 수 있으며, 각각의 파라미터는 미리 정해진 범위로 해당 파라미터 값이 제한될 수 있다. 예를 들어, 상술한 바와 같이 의학 연구에서 따른 정상적인 안구 운동 범위로 각 파라미터 값이 제한될 수 있으며, 방위각 θ 의 경우 -44.2°≤ θ ≤ 44.2°, 고도 ψ의 경우 -47.1° ≤ ψ ≤ 27.7°, 초점 거리 ζ 의 경우 0.0 ≤ ζ ≤ 17.0 (mm)의 범위로 파라미터 값이 제한될 수 있다.
일실시예에 따른 단계(410)는 상술한 바와 같이 캐릭터의 관절의 위치 q와 눈 포즈 e의 함수 pps(q, e) = phead(q) + Whead(q)peye + d(e)^z(q, e)에 따라 시점 pps을 결정하는 단계에 대응될 수 있다. 즉, 캐릭터의 머리 관절의 위치 phead(q), 캐릭터의 두 눈 사이의 중간 점의 위치 peye, 초점 거리 ζ 및 머리 관절의 회전 정도 Whead(q) 및 두 눈 사이의 중간 점의 회전 정도 Whead(q)에 기초하여 상기 캐릭터의 시점을 결정하는 단계를 포함할 수 있다.
일실시예에 따른 단계(420)에서 적어도 하나의 객체에 관한 캐릭터의 관측 값은 상술한 부분 관측(partial observation)에 대응될 수 있다. 즉, 객체에 관한 관측 값은 환경에 존재하는 Nobj(Nobj는 1이상의 정수)개의 객체의 상태에 대한 관측 값으로, 상술한 객체 j에 관한 부분 관측 zj (j = 0, 1,…, Nobj-1)에 대응될 수 있다. 객체의 상태는 객체의 위치 pj와 속도 vj를 포함하는 xj = [pj T vj T]T에 대응될 수 있다. 관측 노이즈는 상술한 관측 노이즈 ρ에 대응되는 것으로, 캐릭터의 시점과 객체의 위치 사이의 거리에 따라 결정된다.
일실시예에 따른 관측 값 및 관측 노이즈를 결정하는 단계(420)는 캐릭터의 시점과 객체의 위치에 따른 관측 노이즈를 결정하는 단계 및 객체의 위치 및 관측 노이즈에 기초하여 객체에 관한 캐릭터의 관측 값을 결정하는 단계를 포함할 수 있다. 즉, 상술한 수학식 1에 따라 객체j에 관한 캐릭터의 관측 값 zj 및 관측 노이즈 ρ를 결정하는 단계를 포함할 수 있다.
일실시예에 따른 단계(430)는 상술한 비전 시스템에서 객체의 상태를 추정하는 동작에 대응되는 것으로 부분 관측 마코프 의사결정 과정(partially observable markov decision process; POMDP)에 기반하여 객체의 상태를 추정하는 단계를 포함할 수 있다. 일실시예에 따른 객체의 상태를 추정하는 단계(430)는 적어도 하나의 객체에 관한 부분 관측 및 관측 노이즈에 기초하여 객체의 가능한 상태들에 대한 확률 분포에 따른 객체의 신뢰 상태를 정의하는 단계 및 칼만 필터에 기초하여 객체의 신뢰 상태를 업데이트하는 단계를 포함할 수 있다. 즉, 일실시예에 따를 때, 상술한 바와 같이 부분적으로 알려진 객체의 상태들에 대한 확률 분포를 도입함으로써 POMDP를 belief MDP로 변환할 수 있다. 일실시예에 따른 단계(430)는 상술한 바와 같이 객체의 확률 분포에 따른 신뢰 상태 b를 정의하고, belief MDP 및 칼만 필터에 기반한 신뢰 업데이트를 통해 다음 신뢰 상태 b'를 추정하는 단계를 포함할 수 있다. 일실시예에 따를 때, 칼만 필터에 기초하여 객체의 신뢰 상태를 업데이트하는 단계는 칼만 필터에 따른 전이 행렬 F에 기초하여 객체 j의 다음 신뢰 상태를 예측하는 단계 및 객체에 관한 부분 관측 및 칼만 필터에 따른 칼만 이득 행렬 Kj에 기초하여, 예측된 객체의 다음 신뢰 상태를 보정하는 단계를 포함할 수 있다. 일실시예에 따른 예측된 객체의 다음 신뢰 상태는 상술한 1차 신뢰 추정 -b(xj) = N(-μj, -Σj)에 대응될 수 있고, 예측된 객체의 다음 신뢰 상태를 보정하는 단계는 2차 신뢰 추정, 즉 신뢰 업데이트 b'(xj) = N(μ'j, Σ'j)를 생성하는 단계에 대응될 수 있다.
일실시예에 따른 단계(440)에서 캐릭터의 상태는 캐릭터에 포함된 적어도 하나의 관절의 상태 및 캐릭터의 눈 포즈를 포함할 수 있고, 캐릭터의 관절의 상태는 관절의 위치 및 관절의 속도를 포함할 수 있다. 일실시예에 따른 제어 정책은 캐릭터의 상태를 제어하는 캐릭터 제어 벡터를 포함할 수 있으며, 캐릭터 제어 벡터는 상술한 u = [ufb T eT]T에 대응될 수 있다.
일실시예에 따른 단계(440)는 상술한 궤적 최적화 동작에 대응될 수 있다. 즉, DDP에 따라 특정 크기의 윈도우에 대한 로컬 최적 제어 정책을 생성하는 단계에 해당할 수 있다. 일시시예에 따를 때, 특정 크기의 윈도우에 대한 제어 정책을 생성하는 단계는 비용을 고려하여, 특정 크기 윈도우에 포함된 각 시간 스텝에 대응하는 객체의 상태 및 캐릭터의 상태를 결정하고, 다음 시간 스텝에 대응하는 캐릭터의 상태에 기초하여, 캐릭터 제어 벡터를 획득하는 단계에 해당할 수 있다. 다시 말해, 제1 시간 스텝에 대응하는 객체의 상태 및 캐릭터의 상태에서 미리 정해진 비용을 고려하여 제1 시간 스텝의 다음 시간 스텝인 제2 시간 스텝에 대응하는 객체의 상태 및 캐릭터의 상태를 결정하는 단계, 제2 시간 스텝에 대응하는 캐릭터의 상태에 기초하여, 제1 시간 스텝에 대응하는 캐릭터 제어 벡터를 획득하는 단계 및 미리 정해진 개수의 시간 스텝 각각에 대하여, 캐릭터 제어 벡터를 생성하는 단계를 포함할 수 있다.
여기서, 미리 정해진 비용은 상술한 추적 비용에 대응되는 참조 모션 및 상기 캐릭터에 포함된 적어도 하나의 관절들의 상태에 따른 비용, 상술한 에너지 소비 비용에 대응되는 캐릭터 제어 벡터에 따른 비용, 상술한 불확실성 비용에 대응되는 적어도 하나의 객체의 신뢰 상태에 따른 비용, 상술한 눈 모델에 대한 제약에 따른 비용에 대응되는 캐릭터의 눈 포즈에 따른 비용 및 상술한 작업 비용에 대응되는 캐릭터가 수행하는 작업의 종류에 따른 비용 등을 포함할 수 있다.
일실시예에 따른 단계(450)는 제어 정책에 포함된 캐릭터 제어 벡터에 따라 캐릭터의 상태를 제어하는 단계에 해당할 수 있다. 즉, 현재 시간 스텝의 캐릭터의 상태를 캐릭터 제어 벡터에 따라 다음 시간 스텝의 캐릭터의 상태로 변환하는 단계에 해당할 수 있다. 캐릭터 제어 벡터는 상술한 u = [ufb T ·eT]T에 대응될 수 있다. 일실시예에 따른 단계(450)는 상술한 바와 같이 현재 시간 스텝에 대응하는 캐릭터에 포함된 적어도 하나의 관절의 상태 xfb -를 풀바디 캐릭터 제어 벡터 ufb에 따라 다음 시간 스텝에 대응하는 캐릭터에 포함된 적어도 하나의 관절의 상태 x'fb = l(xfb, ufb)로 변환하는 단계를 포함할 수 있다. 또한, 현재 시간 스텝에 대응하는 캐릭터의 눈 포즈 e를 e+h·e에 따라 다음 시간 스텝에 대응하는 눈 포즈로 변환하는 단계를 포함할 수 있다.
일실시예에 따른 풀바디 모델링 방법은 캐릭터 제어 벡터에 따라 변화하는 캐릭터의 상태를 시각화하여 풀바디 캐릭터를 모델링하는 단계를 더 포함할 수 있다. 캐릭터의 상태를 시각화하여 풀바디 캐릭터를 모델링하는 단계는 상술한 visuomotor 시스템에서 외력 등을 고려하여 관절체 동역학에 따라 캐릭터의 움직임을 생성하는 동작을 포함할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (20)

  1. 캐릭터의 눈 포즈에 기초하여 상기 캐릭터의 시점을 결정하는 단계;
    상기 캐릭터의 시점에 기초하여, 적어도 하나의 객체에 관한 상기 캐릭터의 관측 값 및 관측 노이즈를 결정하는 단계;
    상기 관측 값 및 상기 관측 노이즈에 기초하여 상기 객체의 상태를 추정하는 단계;
    추정된 상기 객체의 상태, 상기 캐릭터의 상태 및 상기 캐릭터에 관하여 획득된 참조 모션에 기초하여 상기 캐릭터의 제어 정책을 생성하는 단계; 및
    추정된 상기 객체의 상태 및 상기 제어 정책에 기초하여 상기 캐릭터의 상태를 업데이트하는 단계
    를 포함하고,
    상기 캐릭터의 상태는
    상기 캐릭터에 포함된 적어도 하나의 관절의 상태 및 상기 캐릭터의 눈 포즈를 포함하는
    풀바디 모델링 방법.
  2. 제1항에 있어서,
    상기 객체의 상태를 추정하는 단계는
    부분 관측 마코프 의사결정 과정(partially observable markov decision process; POMDP)에 기반하여 객체의 상태를 추정하는 단계
    를 포함하는
    풀바디 모델링 방법.
  3. 제1항에 있어서,
    상기 객체의 상태를 추정하는 단계는
    상기 적어도 하나의 객체에 관한 관측 값 및 상기 관측 노이즈에 기초하여 상기 객체의 가능한 상태들에 대한 확률 분포에 따른 상기 객체의 신뢰 상태를 정의하는 단계; 및
    칼만 필터에 기초하여 상기 객체의 신뢰 상태를 업데이트하는 단계
    를 포함하는
    풀바디 모델링 방법.
  4. 제3항에 있어서,
    상기 객체의 신뢰 상태를 업데이트하는 단계는
    상기 칼만 필터에 따른 전이 행렬에 기초하여 객체의 다음 신뢰 상태를 예측하는 단계; 및
    상기 객체에 관한 관측 값 및 상기 칼만 필터에 따른 칼만 이득 행렬에 기초하여, 상기 예측된 객체의 다음 신뢰 상태를 보정하는 단계
    를 포함하는
    풀바디 모델링 방법.
  5. 제1항에 있어서,
    상기 눈 포즈는
    시선 방향을 나타내는 방위각, 고도, 및 초점 거리의 파라미터들 중 적어도 하나를 포함하는
    풀바디 모델링 방법.
  6. 제5항에 있어서,
    상기 방위각, 상기 고도 및 상기 초점 거리의 파라미터들 중 적어도 하나는 미리 정해진 범위로 파라미터 값이 제한되는
    풀바디 모델링 방법.
  7. 제1항에 있어서,
    상기 제어 정책을 생성하는 단계는
    제1 시간 스텝에 대응하는 객체의 상태 및 캐릭터의 상태에서 미리 정해진 비용을 고려하여 제1 시간 스텝의 다음 시간 스텝인 제2 시간 스텝에 대응하는 객체의 상태 및 캐릭터의 상태를 결정하는 단계;
    상기 제2 시간 스텝에 대응하는 캐릭터의 상태에 기초하여, 상기 제1 시간 스텝에 대응하는 캐릭터 제어 벡터를 획득하는 단계; 및
    미리 정해진 개수의 시간 스텝 각각에 대하여, 상기 캐릭터 제어 벡터를 생성하는 단계
    를 포함하는
    풀바디 모델링 방법.
  8. 제7항에 있어서,
    상기 미리 정해진 비용은
    상기 참조 모션 및 상기 캐릭터에 포함된 적어도 하나의 관절들의 상태에 따른 비용;
    상기 캐릭터 제어 벡터에 따른 비용;
    상기 적어도 하나의 객체의 신뢰 상태에 따른 비용;
    상기 캐릭터의 눈 포즈에 따른 비용; 및
    상기 캐릭터가 수행하는 작업의 종류에 따른 비용
    중 적어도 하나를 포함하는
    풀바디 모델링 방법.
  9. 제1항에 있어서,
    상기 제어 정책은
    상기 캐릭터에 포함된 적어도 하나의 관절의 상태 및 상기 캐릭터의 눈 포즈를 결정하는 캐릭터 제어 벡터를 포함하는
    풀바디 모델링 방법.
  10. 제1항에 있어서,
    상기 캐릭터의 시점을 결정하는 단계는
    상기 캐릭터의 머리 관절의 위치, 상기 캐릭터의 두 눈 사이의 중간 점의 위치, 초점 거리 및 상기 머리 관절과 상기 두 눈 사이의 중간 점의 회전 정도에 기초하여 상기 캐릭터의 시점을 결정하는 단계
    를 포함하는
    풀바디 모델링 방법.
  11. 제1항에 있어서,
    상기 캐릭터의 시점에 기초하여, 적어도 하나의 객체에 관한 상기 캐릭터의 관측 값 및 관측 노이즈를 결정하는 단계는
    상기 캐릭터의 시점과 상기 객체의 위치에 따른 관측 노이즈를 결정하는 단계; 및
    상기 객체의 위치 및 상기 관측 노이즈에 기초하여 상기 객체에 관한 상기 캐릭터의 관측 값을 결정하는 단계
    를 포함하는
    풀바디 모델링 방법.
  12. 제1항에 있어서,
    상기 캐릭터의 상태를 시각화하여 풀바디 캐릭터를 모델링하는 단계
    를 더 포함하는
    풀바디 모델링 방법.
  13. 제1항에 있어서,
    상기 관절의 상태는
    상기 관절의 위치 및 상기 관절의 속도를 포함하는
    풀바디 모델링 방법.
  14. 하드웨어와 결합되어 제1항 내지 제13항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
  15. 캐릭터의 눈 포즈에 기초하여 상기 캐릭터의 시점을 결정하고, 상기 캐릭터의 시점에 기초하여, 적어도 하나의 객체에 관한 상기 캐릭터의 관측 값 및 관측 노이즈를 결정하고, 상기 관측 값 및 상기 관측 노이즈에 기초하여 상기 객체의 상태를 추정하고, 추정된 상기 객체의 상태, 상기 캐릭터의 상태 및 상기 캐릭터에 관하여 획득된 참조 모션에 기초하여 상기 캐릭터의 제어 정책을 생성하고, 추정된 상기 객체의 상태 및 상기 제어 정책에 기초하여 상기 캐릭터의 상태를 업데이트하는 적어도 하나의 프로세서; 및
    상기 캐릭터의 상태, 상기 캐릭터에 관한 참조 모션 및 상기 객체의 상태를 저장하는 메모리
    를 포함하고,
    상기 캐릭터의 상태는
    상기 캐릭터에 포함된 적어도 하나의 관절의 상태 및 상기 캐릭터의 눈 포즈를 포함하는
    풀바디 모델링 장치.
  16. 제15항에 있어서,
    상기 프로세서는
    상기 객체의 상태를 추정함에 있어서,
    부분 관측 마코프 의사결정 과정(partially observable markov decision process; POMDP)에 기반하여 객체의 상태를 추정하는
    풀바디 모델링 장치.
  17. 제15항에 있어서,
    상기 프로세서는
    상기 객체의 상태를 추정함에 있어서,
    상기 적어도 하나의 객체에 관한 관측 값 및 상기 관측 노이즈에 기초하여 상기 객체의 가능한 상태들에 대한 확률 분포에 따른 상기 객체의 신뢰 상태를 정의하고, 칼만 필터에 따른 전이 행렬에 기초하여 객체의 다음 신뢰 상태를 예측하며, 상기 객체에 관한 관측 값 및 상기 칼만 필터에 따른 칼만 이득 행렬에 기초하여, 상기 예측된 객체의 다음 신뢰 상태를 보정하는
    풀바디 모델링 장치.
  18. 제15항에 있어서,
    상기 눈 포즈는
    시선 방향을 나타내는 방위각, 고도, 및 초점 거리의 파라미터들 중 적어도 하나를 포함하고,
    상기 적어도 하나의 파라미터는 미리 정해진 범위로 파라미터 값이 제한되는
    풀바디 모델링 장치.
  19. 제15항에 있어서,
    상기 프로세서는
    상기 제어 정책을 생성함에 있어서,
    제1 시간 스텝에 대응하는 객체의 상태 및 캐릭터의 상태에서 미리 정해진 비용을 고려하여 제1 시간 스텝의 다음 시간 스텝인 제2 시간 스텝에 대응하는 객체의 상태 및 캐릭터의 상태를 결정하고, 상기 제2 시간 스텝에 대응하는 캐릭터의 상태에 기초하여, 상기 제1 시간 스텝에 대응하는 캐릭터 제어 벡터를 획득하며, 미리 정해진 개수의 시간 스텝 각각에 대하여, 상기 캐릭터 제어 벡터를 생성하는
    풀바디 모델링 장치.
  20. 제15항에 있어서,
    상기 프로세서는
    상기 캐릭터의 상태를 시각화하여 풀바디 캐릭터를 모델링하는
    풀바디 모델링 장치.
KR1020200039280A 2020-03-31 2020-03-31 Visuomotor 시스템을 이용한 모델 예측 제어에 기반한 풀바디 모델링 방법 및 장치 KR102332113B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200039280A KR102332113B1 (ko) 2020-03-31 2020-03-31 Visuomotor 시스템을 이용한 모델 예측 제어에 기반한 풀바디 모델링 방법 및 장치
US16/940,530 US11282254B2 (en) 2020-03-31 2020-07-28 Full-body modeling method and apparatus based on model predictive control with visuomotor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200039280A KR102332113B1 (ko) 2020-03-31 2020-03-31 Visuomotor 시스템을 이용한 모델 예측 제어에 기반한 풀바디 모델링 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210121878A KR20210121878A (ko) 2021-10-08
KR102332113B1 true KR102332113B1 (ko) 2021-11-30

Family

ID=77856402

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200039280A KR102332113B1 (ko) 2020-03-31 2020-03-31 Visuomotor 시스템을 이용한 모델 예측 제어에 기반한 풀바디 모델링 방법 및 장치

Country Status (2)

Country Link
US (1) US11282254B2 (ko)
KR (1) KR102332113B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014081863A (ja) 2012-10-18 2014-05-08 Sony Corp 情報処理装置、情報処理方法、及び、プログラム
JP6617830B2 (ja) 2016-04-28 2019-12-11 富士通株式会社 骨格推定装置、骨格推定方法および骨格推定プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101639195B1 (ko) * 2010-10-22 2016-07-13 삼성전자주식회사 동작 합성을 위한 데이터 처리 장치 및 방법
KR101309519B1 (ko) * 2012-02-21 2013-09-24 중앙대학교 산학협력단 객체 추적 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014081863A (ja) 2012-10-18 2014-05-08 Sony Corp 情報処理装置、情報処理方法、及び、プログラム
JP6617830B2 (ja) 2016-04-28 2019-12-11 富士通株式会社 骨格推定装置、骨格推定方法および骨格推定プログラム

Also Published As

Publication number Publication date
KR20210121878A (ko) 2021-10-08
US20210304476A1 (en) 2021-09-30
US11282254B2 (en) 2022-03-22

Similar Documents

Publication Publication Date Title
US11897133B2 (en) Deep reinforcement learning for robotic manipulation
JP7061238B2 (ja) 異種のターゲットアニメーションデータを使用してキャラクタをトレーニングする強化学習
US9427868B1 (en) Method for developing and controlling a robot to have movements matching an animation character
US20110128292A1 (en) Dynamics-based motion generation apparatus and method
CN112602090A (zh) 用于插值不同输入的方法和系统
CN112437950A (zh) 用于对虚拟头像制作动画的骨架系统
Argall et al. Tactile guidance for policy refinement and reuse
JP6321905B2 (ja) 関節システムの制御方法、記憶媒体、制御システム
CN112753007A (zh) 虚拟角色的姿势空间变形的姿势空间维度减小
US11104001B2 (en) Motion transfer of highly dimensional movements to lower dimensional robot movements
US9764469B1 (en) Generating robotic trajectories with motion harmonics
Ott et al. Kinesthetic teaching of humanoid motion based on whole-body compliance control with interaction-aware balancing
KR101912918B1 (ko) 학습 로봇, 그리고 이를 이용한 작업 솜씨 학습 방법
Matschek et al. Learning references with Gaussian processes in model predictive control applied to robot assisted surgery
CN112847336A (zh) 动作学习方法、装置、存储介质及电子设备
KR102332113B1 (ko) Visuomotor 시스템을 이용한 모델 예측 제어에 기반한 풀바디 모델링 방법 및 장치
WO2022140540A1 (en) Simulated control for 3-dimensional human poses in virtual reality environments
Alvarado et al. Generating Upper‐Body Motion for Real‐Time Characters Making their Way through Dynamic Environments
Boulic et al. Evaluation of on-line analytic and numeric inverse kinematics approaches driven by partial vision input
Kavafoglu et al. Style-based biped walking control
Aloui et al. A new approach for motion capture using magnetic field: models, algorithms and first results
KR102093476B1 (ko) 자동 타임 워핑에 기반한 온라인 궤적 최적화 시스템 및 방법
KR100316630B1 (ko) 인터넷을 이용한 원격 이동 로봇의 인터넷 직접 제어 시스템 및그 방법
Knott et al. Stable and transparent bimanual six-degree-of-freedom haptic rendering using trust region optimization
Salisbury et al. Optimal race car motion cueing

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right