[go: up one dir, main page]

KR101586007B1 - 데이터 처리 장치 및 방법 - Google Patents

데이터 처리 장치 및 방법 Download PDF

Info

Publication number
KR101586007B1
KR101586007B1 KR1020090057289A KR20090057289A KR101586007B1 KR 101586007 B1 KR101586007 B1 KR 101586007B1 KR 1020090057289 A KR1020090057289 A KR 1020090057289A KR 20090057289 A KR20090057289 A KR 20090057289A KR 101586007 B1 KR101586007 B1 KR 101586007B1
Authority
KR
South Korea
Prior art keywords
points
physical information
data
learning data
natural number
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020090057289A
Other languages
English (en)
Other versions
KR20100138658A (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 KR1020090057289A priority Critical patent/KR101586007B1/ko
Priority to US12/662,777 priority patent/US9047676B2/en
Publication of KR20100138658A publication Critical patent/KR20100138658A/ko
Application granted granted Critical
Publication of KR101586007B1 publication Critical patent/KR101586007B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • 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
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • 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/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

데이터 처리 장치가 제공된다. 상기 데이터 처리 장치는 모션 센싱에 의해 획득되는 복수 개의 학습 데이터를 저장하는 저장부, 상기 복수 개의 학습 데이터에 회귀 분석을 수행하여 제1 변환 행렬을 계산하는 제1 계산부, 및 제1 입력 데이터에 상기 제1 변환 행렬을 적용하여, 제1 출력 데이터를 계산하는 제2 계산부를 포함할 수 있다.
Figure R1020090057289
동작 센싱, 동작 추정, 정준상관분석, Motion sensing, CCA, Regression Analysis

Description

데이터 처리 장치 및 방법{DATA PROCESSING APPARATUS AND METHOD}
본 발명의 일부 실시예들은 모션 센싱에 의해 축적된 학습 데이터를 분석하는 데이터 처리 장치 및 방법에 관한 것이다. 보다 특정하게는, 모션 센싱이 있는 경우, 상기 학습 데이터의 분석을 통해 아바타(Avatar) 등 3D 모델의 동작을 추정하고 생성하는 데이터 처리 장치 및 방법에 연관된다.
최근 비디오 게임, 가상 세계(virtual world), 영화 컴퓨터 그래픽(computer graphic, CG) 등 실제 공간에서의 타깃 오브젝트(이를 테면, 사람(human body))의 동작을 센싱하고, 이를 3-Dimensional(3D) 공간 내에서 구현하는 기술에 관한 관심이 증가하고 있다.
동작 추정 또는 동작 캡쳐 등 다양한 명칭으로 불릴 수 있는 이러한 기술에 있어서, 동작의 센싱으로부터 동작 캡쳐 결과 도출까지 이르는 계산 시간이 길다는 점은 단점으로 작용한다.
사람의 동작을 센싱하고 이를 캡쳐하는 경우에, 사람의 몸에 부착된 센서의 수가 많을수록 결과 값은 정밀할 것으로 예상되나, 이는 센싱을 위한 과정이 번거롭고 많은 제약을 받음을 의미한다. 즉, 많은 센서를 부착한 인체의 움직임이 제한되고, 센서를 부착하거나 제거하기가 번거로운 등의 어려움이 있다.
따라서, 비교적 작은 수의 센서만을 부착하여, 움직임을 센싱하고 이를 통해 동작 캡쳐를 수행 할 수 있는 방법이 제안될 필요가 있다.
본 발명의 일부 실시예는, 동작 캡쳐에 있어서, 비교적 작은 수의 포인트의 움직임만을 센싱함으로써, 전체의 동작을 계산하는 데이터 처리 장치 및 방법을 제공하기 위한 것이다.
또한 본 발명의 일부 실시예는, 모션 캡쳐를 위한 계산 모델을 보다 효율적이고 정확하게 확립하기 위한 것이다.
본 발명의 일 실시예에 따르면, 모션 센싱에 의해 획득되는 복수 개의 학습 데이터를 저장하는 저장부, 상기 복수 개의 학습 데이터에 회귀 분석(Regression Analysis)을 수행하여 제1 변환 행렬을 계산하는 제1 계산부, 및 제1 입력 데이터에 상기 제1 변환 행렬을 적용하여, 제1 출력 데이터를 계산하는 제2 계산부를 포함하는 데이터 처리 장치가 제공된다.
여기서, 상기 복수 개의 학습 데이터의 각각은 모션 센싱의 한 프레임에서 감지되는 n 개(n은 자연수)의 포인트의 물리적 정보와, 상기 n 개의 포인트 중 n1 개(n1은 자연수)의 특징 포인트(feature point)의 물리적 정보를 포함할 수 있다.
이 경우, 상기 제1 입력 데이터는 n1 개의 특징 포인트에 관한 물리적 정 보를 포함하며, 상기 제1 출력 데이터는 n 개의 포인트에 관한 물리적 정보를 포함한다.
한편, 상기 n1 개의 특징 포인트에 관한 물리적 정보는, 상기 n1 개의 포인트의 좌표 값, 각도, 각속도, 및 각가속도 중 적어도 하나를 포함할 수 있다. 그리고, 상기 n1 개의 포인트의 좌표 값은 모션 센서 및 깊이 카메라 중 적어도 하나를 이용하여 획득될 수 있다.
한편, 상기 회귀 분석은, KCCA(Kernel Canonical Correlation Analysis)에 기초한 비선형 분석이다. 그러나, 본 발명의 다른 일부 실시예에 따르면, 상기 회귀 분석은, CCA(Canonical Correlation Analysis)에 기초한 선형 분석이다.
본 발명의 다른 일 실시예에 따르면, 모션 센싱에 의해 획득되는 복수 개의 학습 데이터를 k 개(단, k는 자연수)의 그룹으로 나누는 처리부, 상기 k 개의 그룹의 각각을 저장하는 k 개의 클러스터를 포함하는 저장부, 회귀분석을 이용하여 상기 k 개의 클러스터의 각각에 대응하는 k 개의 변환 행렬을 계산하는 제1 계산부, 및 제1 입력 데이터가 입력되는 경우, 상기 k 개의 변환 행렬 중 선택되는 l 개(단, l은 자연수이며, l≤k)의 변환 행렬을 이용하여 제1 출력 데이터를 계산하는 제2 계산부를 포함하는 데이터 처리 장치가 제공된다.
이 경우, 상기 제2 계산부는, 상기 선택된 l 개의 변환 행렬을 상기 제1 입력 데이터에 적용한 결과 값들에, 상기 제1 입력 데이터와 상기 l 개의 변환 행렬 각각의 상관도에 비례한 가중치를 적용하고, 상기 가중치가 적용된 상기 결과 값들의 선형 합으로서 상기 제1 출력 데이터를 계산할 수 있다.
그리고, 상기 복수 개의 학습 데이터의 각각은 모션 센싱의 한 프레임에서 감지되는 n 개(n은 자연수)의 포인트의 물리적 정보와, 상기 n 개의 포인트 중 n1 개(n1은 자연수)의 특징 포인트(feature point)의 물리적 정보를 포함할 수 있다.
이 경우, 상기 제1 입력 데이터는 n1 개의 특징 포인트에 관한 물리적 정보를 포함하며, 상기 제1 출력 데이터는 n 개의 포인트에 관한 물리적 정보를 포함할 수 있다.
본 발명의 또 다른 일 실시예에 따르면, 복수 개의 학습 데이터를 입력 받는 단계, 상기 복수 개의 학습 데이터에 회귀 분석을 수행하여 제1 변환 행렬을 계산하는 단계, 및 제1 입력 데이터가 입력되는 경우, 상기 제1 입력 데이터에 상기 제1 변환 행렬을 적용하여, 제1 출력 데이터를 계산하는 단계를 포함하는 데이터 처리 방법이 제공된다.
한편, 상기 복수 개의 학습 데이터의 각각은 모션 센싱의 한 프레임에서 감지되는 n 개(n은 자연수)의 포인트의 물리적 정보와, 상기 n 개의 포인트 중 n1 개(n1은 자연수)의 특징 포인트(feature point)의 물리적 정보를 포함할 수 있다.
이 경우, 상기 제1 입력 데이터는 n1 개의 특징 포인트에 관한 물리적 정보를 포함하며, 상기 제1 출력 데이터는 n 개의 포인트에 관한 물리적 정보를 포함한다.
한편, 상기 회귀 분석은, KCCA(Kernel Canonical Correlation Analysis)에 기초한 비선형 분석일 수 있다. 그러나, 다른 실시예에 따르면, 상기 회귀 분석은, CCA(Canonical Correlation Analysis)에 기초한 선형 분석일 수도 있다.
본 발명의 또 다른 일 실시예에 따르면, 모션 센싱에 의해 획득되는 복수 개의 학습 데이터를 k 개(단, k는 자연수)의 그룹으로 나누어 저장하는 단계, 회귀분석을 이용하여 상기 k 개의 클러스터의 각각에 대응하는 k 개의 변환 행렬을 계산하는 단계, 및 제1 입력 데이터가 입력되는 경우, 상기 k 개의 변환 행렬 중 선택되는 l 개(단, l은 자연수이며, l≤k)의 변환 행렬을 이용하여 제1 출력 데이터를 계산하는 단계를 포함하는 데이터 처리 방법이 제공된다.
본 발명의 일부 실시예에 따르면, 동작 캡쳐에 있어서, 비교적 작은 수의 포인트의 움직임만을 센싱함으로써, 전체의 동작을 계산할 수 있으므로, 구현이 용이하다.
또한 본 발명의 일부 실시예에 따르면, 모션 캡쳐를 위한 계산 모델이 보다 효율적이고 정확하게 확립된다.
이하에서, 본 발명의 일부 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 데이터 처리 장치(100)를 도시한다.
본 발명의 일 실시예에 따르면, 데이터 처리 장치(100)는 I/O 인터페이스(110), 처리부(120), 저장부(130), 제1 계산부(140) 및 제2 계산부(150)을 포함한다.
모션 센싱에 의해 획득되는 복수 개의 학습 데이터가 I/O 인터페이스(110)를 통해 데이터 처리 장치(100)에 입력된다. 그리고, 상기 복수 개의 학습 데이터는 저장부(130)에 저장된다.
한편, 상기 I/O(Input Output) 인터페이스는, 외부 기기와의 사이에서 데이터를 주고 받는 수단이며, 이를테면, USB(Universal Serial Bus), SATA(Serial-ATA), PATA(Parallel-ATA), LAN, PCI 슬롯, PCI Express 슬롯, IEEE-1394, HDMI, 등의 유선 타입(또는 접촉식)을 위한 것일 수도 있고, 또는 무선 랜(이를 테면 IEEE 802.11), 블루투스(Bluetooth), CDMA, WCDMA 등의 무선 타입(또는 비접촉식)을 위한 것일 수도 있다.
따라서 본 발명의 I/O 인터페이스(101)는 일부 실시예에 국한되지 않으며, 데이터 처리 장치(100)가 외부의 모션 센서 세트(101) 및/또는 깊이 카메라(102)로부터 모션 센싱 정보를 획득하고, 처리된 데이터를 외부 시스템(103)에 제공하기 위한 어떠한 방식의 데이터 송수신을 위한 것일 수 있다.
본 발명의 일부 실시예에서는, 모션 센싱을 통해, 일부 특징 포인트(feature points)에 대한 물리적 정보(이를테면, 좌표 값, 각도(방향), 각속도, 각가속도 등)을 획득하여, 상기 일부 특징 포인트를 포함한 전체 포인트들에 대한 물리적 정보를 계산함으로써 객체(object)의 동작을 추정한다.
상기 계산을 위해 이용되는 변환 함수(경우에 따라서는 변환 행렬일 수 있으며, 이하에서는 "변환 행렬"이라고 함)를 구하는 과정에 있어서, 본 발명의 일부 실시예는 회귀적 분석(regression analysis)을 사용한다.
회귀분석의 상세한 내용은 도 3 내지 도 4 등을 참조하여 보다 상세히 후술한다.
제1 계산부(140)는, 상기 저장부(130)에 저장된 복수 개의 학습 데이터에 회귀 분석을 수행하여 제1 변환 행렬을 계산한다.
여기서, 상기 복수 개의 학습 데이터의 각각은 모션 센싱의 한 프레임에서 감지되는 n 개(n은 자연수)의 포인트의 물리적 정보와, 상기 n 개의 포인트 중 n1 개(n1은 자연수)의 특징 포인트(feature point)의 물리적 정보를 포함할 수 있다.
상기 특징 포인트는, 객체(이를 테면, 사람)의 동작을 추정하기 위해 이용되는 공간 좌표상의 복수 개의 포인트 중, 일부 포인트이다.
한편, 상기 회귀 분석은, KCCA(Kernel Canonical Correlation Analysis)에 기초한 비선형 분석이다. 그러나, 본 발명의 다른 일부 실시예에 따르면, 상기 회귀 분석은, CCA(Canonical Correlation Analysis)에 기초한 선형 분석이다.
제1 계산부(140)가 상기 제1 변환 행렬을 계산하는 보다 상세한 과정은, 도 3 내지 도 5를 참조하여 보다 상세히 후술한다.
상기 I/O 인터페이스(110)를 통해 제1 입력 데이터가 입력된다.
제1 입력 데이터는 동작 추정을 위해 물리적 정보가 주어져야 할 n 개의 전체 포인트 중, 모션 센서 세트(101) 및/또는 깊이 카메라(102)에 의해 측정된 일부인, n1 개의 특징 포인트에 관한 물리적 정보를 포함한다.
상기 n1 개의 특징 포인트에 관한 물리적 정보가 제1 입력 데이터로서 데이터 처리 장치(100)에 입력되는 경우, 제2 계산부(150)는 상기 제1 계산부(140)에 의해 계산된 제1 변환 행렬을 상기 제1 입력 데이터에 적용하여 제1 출력 데이터를 계산한다.
이 경우, 상기 제1 출력 데이터는 동작 추정에 이용되는 전체 n 개의 포인트에 관한 물리적 정보를 포함하게 된다.
한편, 상기 n1 개의 특징 포인트에 관한 물리적 정보는, 상기 n1 개의 포인트의 좌표 값, 각도, 각속도, 및 각가속도 중 적어도 하나를 포함할 수 있다. 그리고, 상술한 바와 같이 상기 n1 개의 포인트의 좌표 값은 모션 센서 세트(101) 및/또는 깊이 카메라(102)에 의해 획득될 수 있다.
도 2는 종래의 Inverse Kinematics 방법을 설명하기 위한 개념도이다.
종래에는 동작의 추정을 위해 Inverse Kinematics 방법이 사용되기도 하였다. 이를 간단히 설명하기 위해, 2차원 공간에서 복수 개의 포인트들(210, 220, 221, 및 222)의 움직임을 추정하는 과정을 설명한다.
루트(root) 포인트(210), 리프(leaf) 포인트(220) 및 그 사이의 포인트(221, 222) 중 이웃하는 두 포인트 간의 위치는 서로 연관되어 있다.
이를 테면, 포인트(210)과 포인트(221)의 위치는, 서로 거리는 일정하고 상대적 위치(각도)만 바뀔 뿐이다. 포인트(221)과 포인트(222), 또는 포인트(222)와 포인트(220) 역시 마찬가지이다.
따라서, 2차원 공간만을 가정할 때, 루트 포인트(210)의 위치와, 상기 포인트들 중 이웃하는 포인트 간의 거리가 미리 알려져 있다면, 포인트(221), 포인트(222) 및 포인트(220)의 위치는 세 개의 각도만이 주어지면 알 수 있다.
한편, 포인트(220)의 위치가 주어졌을 때, 포인트(221) 및 포인트(222)를 구할 수도 있다. 보다 상세한 내용이 도 3을 참조하여 후술된다.
도 3은 도 2의 Inverse Kinematics 방법에 의한 동작 추정을 도시한다.
루트 포인트(310)과 포인트(321) 사이의 거리는 l1, 포인트(321)와 포인트(322) 사이의 거리는 l2, 포인트(322)와 포인트(320) 사이의 거리는(320)으로 고정된다.
이 경우, l1, l2, 및 l3는 상수(constant)이고, 루트 포인트(310)을 원점으로 가정하면, 포인트(320)의 좌표 (x, y)는 아래 수학식과 같다.
[수학식 1]
Figure 112009038763460-pat00001
Figure 112009038763460-pat00002
여기서 추가적인 정보(이를 테면, x>0, y>0, θ1>0, θ2<0, θ3>0 )가 존재한다면, (x, y)가 주어지는 경우, θ1, θ2, 및 θ3의 위치를 유일해로서 구할 수 있고, 따라서 포인트(321)과 포인트(322)의 위치도 특정할 수 있다.
즉, 루트 포인트(310)에 대한 포인트(320)의 상대적 좌표만 알아도 나머지 포인트(321 및 322)의 위치를 계산할 수 있다. 이러한 과정을 Inverse Kinematics라 한다. 상기 예에서, Inverse Kinematics 방법에 의해 (루트 포인트(310)을 제외한) 한 개의 포인트(320)의 물리적 정보(상대적 좌표(x, y))를 이용하여, 포인 트(321) 포인트(322)의 물리적 정보(좌표)를 구할 수 있었다.
그런데, 2차원에서의 단순한 분석의 경우, 이러한 Inverse Kinematics 방법이 적용될 수 있으나, 차원(dimension)이 높아지고 입력되는 데이터의 양이 많아질수록 이러한 Inverse Kinematics 방법은 한계에 봉착한다.
따라서, 본 발명의 일 실시예에 따르면, 선형(linear) 데이터에 관한 CCA(Canonical Correlation Analysis)에 기초한 회귀 분석(Regression Analysis), 또는 비선형(non-linear) 데이터에 관한 KCCA(Kernel Canonical Correlation Analysis)에 기초한 회귀 분석에 의해, 학습 데이터(training data)를 이용하여 작은 수의 포인트의 물리적 정보로부터 많은 수의 포인트의 물리적 정보를 추정하는 변환 행렬을 구한다. 보다 상세한 내용은 도 4 이하에서 후술한다.
도 4는 본 발명의 일 실시예에 따라 처리되는 모션 센싱에 의해 입력되는 한 개의 프레임의 데이터에 포함되는 복수 개의 포인트를 도시한다.
본 발명의 일 실시예에 따르면, 한 개의 프레임(frame)에서, 사람의 주요 관절에 위치한 15개 포인트에서의 물리적 정보가 센싱되어 입력된다. 다만, 본 발명은 이에 한정되지 않으며, 상기 프레임 당 포인트의 수는 실시예에 따라 얼마든지 변형될 수 있다.
본 실시예에서 한 개의 프레임에 포함되는 포인트들은 루트 포인트(400)에 연관된다.
포인트(411), 포인트(441) 및 포인트(451)은 각각 루트 포인트(400)에 연관된다. 또한, 포인트(410), 포인트(421) 및 포인트(431)은 포인트(411)에 연관되 고, 포인트(442)는 포인트(441)에, 그리고 포인트(452)는 포인트(451)에 각각 연관된다.
나아가, 포인트(420)은 포인트(422)에, 포인트(430)은 포인트(432)에, 포인트(440)은 포인트(442)에, 그리고 포인트(450)은 포인트(452)에 각각 연관된다.
상기 연관된 포인트들 간의 관계는, 루트 포인트(400)를 상위 노드(parent node)로 하는 계층 관계(hierarchical relationship)로 생각할 수 있다. 이 경우, 상기 복수 개의 포인트 중, 일부의 포인트(410, 420, 430, 440, 및 450)는 특징점 포인트(feature point)로 지정될 수 있다.
상기 특징점 포인트들과 전체 포인트들 사이의 물리적 정보의 상관 관계가 학습되면, 나중에 상기 특징점 포인트들의 물리적 정보만 센싱되어 입력되는 경우에, 전체 포인트들의 물리적 정보를 계산할 수 있다.
본 발명의 일부 실시예들에 따르면, 상기 상관 관계 학습을 통해, 특징점 포인트들의 물리적 정보와 전체 포인트 들의 물리적 정보 사이의 변환 행렬을 생성한다.
한편, 상기 각 포인트의 물리적 정보는, 위치, 속도, 가속도, 방향(각도), 각속도, 각가속도 등을 포함할 수 있다.
실시예에 따라서는, 상기 물리적 정보들 중 일부만을 포함하는 것이 가능하며, 상기 물리적 정보는 상위 포인트에 대한 방향(각도), 각속도, 및 각가속도만을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 각 포인트 간의 관계가 학습된다. 도 1의 데이터 처리 장치(100)에, 도 4에서 도시된 한 개의 프레임 데이터가 입력되는 경우, 처리부(120)는 상기 한 개의 프레임 데이터(이하에서는 단순히 "데이터"라고 함)를 저장부(130)에 저장한다.
이러한 프레임 데이터가 복수 개 입력되는 경우, 처리부(120)는 입력되는 복수 개의 프레임 데이터를 저장부(130)에 저장한다.
상기한 바와 같이, 상기 변환 행렬은 한 프레임의 동작 캡쳐를 위해 요구되는 전체 포인트 중, 일부의 특징 포인트만 입력될 때, 이를 이용하여 전체 포인트를 추정할 수 있도록 하는 연산자(operator) 또는 함수(function)이다.
이하에서는 회귀 분석, 특히 CCA 또는 KCCA에 기초한 회귀 분석을 이용하여, 상기 각 클러스터에 해당하는 상기 k 개의 변환 행렬 중 어느 하나를 구하는 과정을 수학식들을 참조하여 서술한다.
(1) CCA에 기초한 회귀 분석(CCA Based Regression)
CCA(Canonical Correlation Analysis)는 입력 값과 출력 값의 쌍으로 이루어진 학습 데이터 간의 상관 관계를 최대로 하는 기계학습 알고리즘 중 하나이다. 이를 위해 입력 값과 출력 값의 차원을 줄여, 변환된 입력과 출력 사이의 상관 관계(correlation)를 최대로 한다.
CCA를 사용하는 이유는, CCA를 통해 차원이 줄어든 입력과 출력의 상관관계가 최대가 되었기 때문에 CCA를 통해 차원이 줄어든 입력 과 출력의 관계에 대해 회귀 분석을 했을 때, 원래의 입력과 출력 관계에 대한 회귀분석 보다 overfitting를 피할 수 있기 때문이다.
본 발명의 일 실시예에 따르면, 상기 학습 데이터의 입력 값(일부 특징 포인트 정보)과 출력 값(전체 포인트 정보)이 비선형 관계에 있기 때문에, CCA에 Kernel Trick을 적용하여 비선형 공간에서 문제로 재구성할 수 있다.
(2) 커널 방법(Kernel Method)
3D모션 센싱에 의해 입력되는 입력 데이터(일부 특징 포인트 정보)와 모션 캡쳐 데이터(전체 포인트 정보)간의 관계에 대한 행렬식을 저장하는 학습단계에 있어서, 이 두 데이터가 비선형의 관계를 갖고 있는 실시예에서는 선형 관계를 학습하는 CCA방법의 적용은 제한된다. 따라서 비선형 관계를 학습하는 KCCA(Kernel CCA)를 이용한다.
다음은 입력 데이터
Figure 112009038763460-pat00003
를 입력 데이터 보다 더 높은 차원인 feature space로 변환하는 매핑(mapping)을 나타내는 식이다.
[수학식 2]
Figure 112009038763460-pat00004
CCA와 Kernel CCA의 차이점은, CCA는 학습 데이터 원래의 차원에서 문제를 생각하고 Kernel CCA는 더 높은 차원인 feature space에서 문제를 생각한다는 것이다.
입력 데이터를 더 높은 차원으로 변환시켜주는 것을 피하기 위해 원래 문제를 두 벡터 내적의 곱으로 문제를 만든다. 이때, 커널 함수를 사용한다.
커널 함수
Figure 112009038763460-pat00005
는 feature space에 존재하는 두 벡터의 내적,
Figure 112009038763460-pat00006
이다. 예를 들면 입력데이터
Figure 112009038763460-pat00007
가 주어져 있을 때, 입력 데이터를 2차 monomial 형태로 변환하면
Figure 112009038763460-pat00008
이 된다. 이때 커널 함수는 다음과 같이 나타낼 수 있다.
[수학식 3]
Figure 112009038763460-pat00009
(3) KCCA(Kernel CCA)
Figure 112009038763460-pat00010
개의 입력 데이터 쌍을
Figure 112009038763460-pat00011
라 하고, 여기서
Figure 112009038763460-pat00012
,
Figure 112009038763460-pat00013
이며,
Figure 112009038763460-pat00014
는 i 번째 학습의 입력 값,
Figure 112009038763460-pat00015
는 i 번째 학습의 출력 값이다. 학습의 입력, 출력 값을 다음과 같은 행렬의 형태로 나타내자.
[수학식 4]
Figure 112009038763460-pat00016
Figure 112009038763460-pat00017
선형 관계를 학습하는 CCA에서는 두 데이터의 상관관계(correlation)
Figure 112009038763460-pat00018
를 최대로 하는 식은 다음과 같이 나타낼 수 있다.
[수학식 5]
Figure 112009038763460-pat00019
상기 수학식 5에서,
Figure 112009038763460-pat00020
,
Figure 112009038763460-pat00021
이고,
Figure 112009038763460-pat00022
이다.
그런데 차원을 높인 Kernel CCA에서는 상호 상관 정도를 나타내는
Figure 112009038763460-pat00023
,
Figure 112009038763460-pat00024
,
Figure 112009038763460-pat00025
를 다음과 같이 나타낼 수 있다.
[수학식 6]
Figure 112009038763460-pat00026
Figure 112009038763460-pat00027
Figure 112009038763460-pat00028
또한
Figure 112009038763460-pat00029
,
Figure 112009038763460-pat00030
가 비선형 변환이 된 더 높은 차원에서 기저(basis) 쌍인
Figure 112009038763460-pat00031
,
Figure 112009038763460-pat00032
는,
Figure 112009038763460-pat00033
Figure 112009038763460-pat00034
가 이루는 공간에 존재하기 때문에,
Figure 112009038763460-pat00035
,
Figure 112009038763460-pat00036
로 나타낼 수 있다.
이 경우, Kernel CCA에서 두 데이터의 상관관계
Figure 112009038763460-pat00037
를 최대로 하는 식은 다음과 같이 나타낼 수 있다.
[수학식 7]
Figure 112009038763460-pat00038
여기서,
Figure 112009038763460-pat00039
이고,
Figure 112009038763460-pat00040
이다.
이 경우, i 번째
Figure 112009038763460-pat00041
은, SVD(singular value decomposition)를 통해서 다음과 같이 구할 수가 있다.
[수학식 8]
Figure 112009038763460-pat00042
[수학식 9]
Figure 112009038763460-pat00043
Figure 112009038763460-pat00044
여기서
Figure 112009038763460-pat00045
,
Figure 112009038763460-pat00046
는 각각
Figure 112009038763460-pat00047
번째의
Figure 112009038763460-pat00048
,
Figure 112009038763460-pat00049
열 벡터(column vector)이다. 위와 같은 방법으로
Figure 112009038763460-pat00050
,
Figure 112009038763460-pat00051
의 쌍을 여러 개 얻을 수가 있는데, 최대
Figure 112009038763460-pat00052
개를 얻을 수 있다.
여기서 입력데이터의 차원을 줄이기 위해서 입력데이터 차원보다 작은
Figure 112009038763460-pat00053
개의
Figure 112009038763460-pat00054
,
Figure 112009038763460-pat00055
를 추출한다. 추출한
Figure 112009038763460-pat00056
,
Figure 112009038763460-pat00057
들을 행렬 형태로 나타내면 아래와 같다.
[수학식 10]
Figure 112009038763460-pat00058
Figure 112009038763460-pat00059
그리고, 입력 값
Figure 112009038763460-pat00060
를 basis
Figure 112009038763460-pat00061
에 사영(projection) 한다.
[수학식 11]
Figure 112009038763460-pat00062
따라서 차원이 축소된 입력데이터
Figure 112009038763460-pat00063
는 다음과 같이 계산된다.
[수학식 12]
Figure 112009038763460-pat00064
이 경운,
Figure 112009038763460-pat00065
는 커널 함수들로 이루어진 벡터로 이 벡터의
Figure 112009038763460-pat00066
번째 원소는
Figure 112009038763460-pat00067
이다.
(4) Regression
본 발명의 실시예에 따름 Regression은 크게 3가지 단계를 포함할 수 있다.
먼저,
Figure 112009038763460-pat00068
개의 입력 쌍
Figure 112009038763460-pat00069
가 있을 때, Kernel CCA 방법으로
Figure 112009038763460-pat00070
개의 기저들을 얻어낸다.
그리고,
Figure 112009038763460-pat00071
,
Figure 112009038763460-pat00072
에서
Figure 112009038763460-pat00073
,
Figure 112009038763460-pat00074
로 mapping 하는 행렬
Figure 112009038763460-pat00075
를 상기 최소자승법을 통해서 구하게 된다.
[수학식 13]
Figure 112009038763460-pat00076
여기까지가 축소된 차원에서의 변환행렬을 구한 것이라면, 다음은 축소된 차원에서 출력 값으로 변환하는 행렬
Figure 112009038763460-pat00077
를 구한다. 이 경우는 전 단계와 마찬가지로 최소자승법으로 구한다.
[수학식 14]
Figure 112009038763460-pat00078
이렇게 구해진
Figure 112009038763460-pat00079
,
Figure 112009038763460-pat00080
,
Figure 112009038763460-pat00081
는 연속적인 선형 mapping이므로, 하나의 연산자
Figure 112009038763460-pat00082
로 만들 수 있다.
따라서 새로운 입력 값
Figure 112009038763460-pat00083
가 있다면 원하는 출력 값
Figure 112009038763460-pat00084
는 아래 수학식에 의해 계산될 수 있다.
[수학식 15]
Figure 112009038763460-pat00085
여기서 구해지는
Figure 112009038763460-pat00086
연산자가 상기한 변환 행렬이다.
본 발명의 일 실시예에 따르면, 도 1의 제1 계산부(140)는 상기한 방법에 의하여 저장부(130) 내에 저장된 복수 개의 학습 데이터를 이용하여 변환 행렬을 계산한다.
본 발명의 다른 일부 실시예에 따르면, 상기 복수 개의 학습 데이터는, 유형에 따라 복수 개의 그룹으로 나누어져 관리될 수도 있다.
학습 데이터들을 이용하여 일부 특징 포인트들과 전체 포인트 사이의 상관 관계인 변환 행렬을 계산하는데, 학습 데이터들 사이에 상관도가 높을수록 상기 변환 행렬에 따른 계산 결과가 정확할 수 있기 때문이다.
이를 테면, 복수 개의 학습 데이터들이, 객체인 사람의 운동 중에 모션 센싱을 하여 획득된 것이라면, 제1 운동 중에 획득되는 학습 데이터들은 제1 그룹으로, 다른 제2 운동 중에 획득되는 학습 데이터들은 제2 그룹으로 분류되어 관리된 다.
그리고, 제1 계산부(140)가 제1 그룹의 학습 데이터들을 이용하여 제1 변환 행렬을 계산하고, 제2 그룹의 학습 데이터들을 이용하여 제2 변환 행렬을 계산한다. 그리고, 처리부(120)가 상기 입력되는 제1 입력 데이터가 상기 제1 운동에 가까운지, 그렇지 않으면 제2 운동에 가까운지 판단하여, 상기 제1 변환 행렬 또는 제2 변환 행렬 중 적용될 변환 행렬을 선택하고, 선택된 변환 행렬을 이용하여 제2 계산부(150)가 제1 출력 데이터를 계산할 수 있다.
또한, 상기 제1 입력 데이터가 상기 제1 운동과 상기 제2 운동에 가까운 정도에 따라 가중치를 주어, 상기 제1 변환 행렬을 이용하여 계산한 값과 상기 제2 변환 행렬을 이용하여 계산한 값의 선형 합을 구해, 이를 제1 결과 데이터로 출력할 수도 있다.
이렇게 학습 데이터가 복수 개의 그룹(클러스터)로 나누어져 관리되는 실시예가 하기 도 5를 참조하여 보다 상세히 후술된다.
도 5는 본 발명의 일 실시예에 따라, 복수 개의 클러스터에 할당되는 입력 데이터를 설명하기 위한 개념도이다.
모션 센싱에 의해 입력되는 학습 데이터(510 내지 560)은 사람의 여러 가지 동작을 센싱한 것이다.
학습 데이터(510)과 학습 데이터(520)은 서로 유사한 제1 행동(이를 테면, 권투 경기) 중에 획득된 것이다. 그리고, 학습 데이터(530)과 학습 데이터(540)는 서로 유사한 제2 행동(이를 테면, 스노우 보딩) 중에 획득된 것이다. 또한, 학습 데이터(550)과 학습 데이터(560)는 서로 유사한 제3 행동(이를 테면, 수영) 중에 획득된 것이다.
상기한 바와 같이, 본 발명의 일부 실시예에서는, 학습 데이터(510) 내지 학습 데이터(560) 등의 전체 학습 데이터를 통하여 하나의 변환 행렬을 구하지 않고, 이를 복수 개의 클러스터로 나누어 각각의 변환행렬을 계산한다.
이를 테면, 학습 데이터(510)과 학습 데이터(520) 등 상기 제1 행동으로 추정되는 학습 데이터들을 제1 클러스터로, 학습 데이터(530)과 학습 데이터(540) 등 상기 제2 행동으로 추정되는 학습 데이터들을 제2 클러스터로, 또한 학습 데이터(550)과 학습 데이터(560) 등 상기 제3 행동으로 추정되는 학습 데이터들을 제3 클러스터로 할당하는 것이다.
본 발명의 일 실시예에 따르면, 상기 입력된 복수 개의 학습 데이터들 상호간을 비교하여 유사한 것끼리 클러스터링을 수행하고, 각 클러스터 마다의 변환 행렬을 계산한다.
본 실시예에서, 도 5의 학습 데이터(510) 및 학습 데이터(520)은 제1 클러스터에, 학습 데이터(530) 및 학습 데이터(540)은 제2 클러스터에, 그리고 학습 데이터(550) 및 학습 데이터(560)은 k 번째 클러스터에 할당된다.
그리고 제1 계산부(140)가 상기 제1 클러스터와 상기 제2 클러스터 등 k 개의 클러스터에 대해 각각의 변환 행렬을 구한다.
도 6은 본 발명의 일 실시예에 따라, 모션 센싱에 의해 복수 개의 포인트의 물리적 정보를 포함하는 데이터를 획득하는 과정을 도시한다.
이상에서 k 개의 클러스터링과 변환 행렬이 모두 구해지는 경우, 도 6과 같은 예시적 구성에서 일부 특징적 포인트에 대한 센싱을 수행할 수 있다.
센서(601)는, 사람(602)의 특징적 포인트(610 내지 650)의 물리적 정보를 분석한다. 이를테면, 방향, 각속도, 각가속도 등이다.
그러면, 도 1의 처리부(120)는 상기 5 개의 포인트(610 내지 650) 정보를 포함하는 데이터를 위해, 상기 k 개의 클러스터 중 유사도가 높은 어느 하나의 클러스터의 변환 행렬을 선택한다(물론, 본 발명의 다른 실시예에서 복수 개의 학습 데이터가 하나로 관리되고, 따라서 하나의 변환 행렬만 계산된 경우는, 상기 선택은 요구되지 않음, 이하 같음).
그리고, 제2 계산부(150)는, 상기 데이터에 상기 선택된 변환 행렬을 적용하여, 전체 포인트(이를 테면 15개)의 동작을 추정한 값을 계산한다.
이를 테면, 상기 5 개의 포인트(610 내지 650) 정보를 포함하는 데이터가 입력되는 경우, 도 4의 전체 포인트 정보가 계산될 수 있다.
본 발명의 일부 실시예에서는, 상기 k 개의 클러스터 중 유사도가 가장 높은 하나의 클러스터를 선택하여, 상기 클러스터에 대한 변환 행렬만 적용한다.
그러나, 본 발명은 이에 한정되지 않으며, 상기 k 개의 클러스터 중 두 개 이상의 클러스터를 선택하고, 선택된 각 클러스터의 변환 행렬을 상기 데이터에 적용한 후, 유사도에 따른 가중치를 곱해 선형 합을 구함으로써, 전체 포인트 정보를 계산할 수도 있다.
도 7은, 상기 일부 실시예에서, 학습 데이터가 k 개의 클러스터로 나누어져 관리되는 경우(따라서, 제1 계산부(140)가 k 개의 변환 행렬을 계산하는 경우)의 도 1의 저장부(130)의 구조를 나타낸다.
본 실시예에서 저장부(130)은 내부에 물리적으로 및/또는 논리적으로 분할된 복수 개의 클러스터(710 내지 730)를 포함한다.
그리고, 상기 복수 개의 클러스터(710 내지 730)는 각각 복수 개의 학습 데이터를 저장할 수 있다.
도 8은 본 발명의 일 실시예에 따른 데이터 처리 방법을 도시한다.
단계(S810)에서 복수 개의 학습 데이터가 입력된다.
상기 학습 데이터들이 포함하는 물리적 정보의 형태는 도1을 참조하여 전술한 바와 같다.
그리고 단계(S820)에서, 도 1의 제1 계산부(140)가 회귀분석 기법(이를테면, 상기 KCCA 등)을 이용하여 제1 변환 행렬을 계산한다.
상기 계산 과정은 도 3 내지 도5를 참조하여 상술한 바와 같다.
본 발명의 일부 실시예에서는 상기 학습 데이터에 대한 그룹핑 없이 전체 학습 데이터에 대해 하나의 변환 행렬을 계산한다.
그러나 본 발명은 이에 한정되지 않으며, 상기 입력된 학습 데이터를 복수 개의 클러스터로 그룹핑 하고, 각 클러스터 마다 회귀 분석(이를 테면, 상기 KCCA 등)을 이용하여 변환 행렬을 계산할 수도 있음은, 상기한 바와 같다.
단계(S830)에서, 일부 특징 포인트에 대한 물리적 정보를 포함하는 제1 입력 데이터가 수신된다. 상기 제1 입력 데이터는 도 1에 도시된 외부 모션 센서 세 트(101) 및/또는 깊이 카메라(102)에 의해 획득되어 제공된 것일 수 있다.
그러면, 단계(S840)에서 제2 계산부(150)이 상기 계산된 제1 변환 행렬을 상기 제1 입력 데이터에 적용하여, 상기 특징 포인트를 포함한 전체 포인트의 물리적 정보를 계산한 제1 결과 데이터를 계산하고, 이는 동작 추정에 활용될 수 있다.
물론, 상기 본 발명의 일부 실시예에서, 학습 데이터가 복수 개의 클러스터로 나누어 관리되는 경우에는, 처리부(120)의 선택에 따라, 복수 개의 클러스터에 대한 복수 개의 변환 행렬 중, 하나 또는 그 이상의 변환 행렬이 선택되고, 선택된 변환 행렬이 제2 계산부(150)에 의해 활용된다.
이 경우, 두 개 이상의 변환 행렬이 선택된다면, 상기 제1 입력 데이터와 각 클러스터의 학습 데이터 간 유사도에 의한 가중치가 곱해져서, 선형합을 제1 결과 데이터로 제공할 수도 있다.
도 9는 본 발명의 일 실시예에 따라, 학습 데이터가 복수 개의 클러스터로 나누어 관리되는 경우에 제2 계산부(150)가 제1 결과 데이터를 계산하는 과정을 도시한다.
단계(S910)에서 제1 입력 데이터가 수신된다.
이 경우, 도 1의 제2 계산부(150)는 병렬적으로 (또는 직렬적으로), 상기 제1 입력 데이터에 복수 개의 변환 행렬을 적용한다.
이를 테면, 처리부(120)가 k의 변환 행렬을 선택한 경우에, 제2 계산부(150)는 상기 제1 입력 데이터에 제1 변환 행렬을 적용한다(S920). 그러면, 제1 중간 값이 계산된다.
그리고, 상기 제2 계산부(150)는 상기 제1 입력 데이터에 제2 변환 행렬을 적용하여 제2 중간 값을 계산하고(S930), 나아가 제1 입력 데이터에 k 번째의 변환 행렬까지 적용하여 k 번째의 중간 값을 계산한다(S940).
그리고, 상기 계산된 k 개의 중간 값들에 대해, 각 클러스터의 학습 데이터들과 상기 제1 입력 데이터 사이의 유사도에 따라, 선형적으로(또는 비선형적으로) 가중치를 부여한다. 상기 부여되는 가중치의 합은 1일 수 있다.
그리고, 단계(S950)에서 상기 가중치가 곱해진 k 개의 중간 값들의 합이 계산되며, 이것이 제1 결과 데이터로서 제공된다.
상기 제1 결과 데이터는 일부 특징 포인트를 포함한 전체 포인트들의 물리적 정보를 포함하며, 이는 동작 추정을 위해 활용된다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 일 실시예에 따른 데이터 처리 장치를 도시한다.
도 2는 종래의 Inverse Kinematics 방법을 설명하기 위한 개념도이다.
도 3은 도 2의 Inverse Kinematics 방법에 의한 동작 추정을 도시한다.
도 4는 본 발명의 일 실시예에 따라 처리되는 모션 센싱에 의한 입력 데이터에 포함되는 복수 개의 포인트의 물리적 정보를 도시한다.
도 5는 본 발명의 일 실시예에 따라, 복수 개의 클러스터에 할당되는 입력 데이터를 설명하기 위한 개념도이다.
도 6은 본 발명의 일 실시예에 따라, 모션 센싱에 의해 복수 개의 포인트의 물리적 정보를 포함하는 데이터를 획득하는 과정을 도시한다.
도 7은 본 발명의 일 실시예에 따른 데이터 처리 장치의 저장부를 도시한다.
도 8은 본 발명의 일 실시예에 따른 데이터 처리 방법을 도시한다.
도 9은 본 발명의 일 실시예에 따른 데이터 처리 방법을 도시한다.

Claims (19)

  1. 모션 센싱에 의해 획득되는 복수 개의 학습 데이터를 저장하는 저장부;
    상기 복수 개의 학습 데이터에 회귀 분석(Regression Analysis)을 수행하여 제1 변환 행렬을 계산하는 제1 계산부; 및
    제1 입력 데이터에 상기 제1 변환 행렬을 적용하여, 제1 출력 데이터를 계산하는 제2 계산부
    를 포함하고,
    상기 복수 개의 학습 데이터의 각각은 모션 센싱의 한 프레임에서 감지되는 n 개(n은 자연수)의 포인트의 물리적 정보와, 상기 n 개의 포인트 중 n1 개(n1은 자연수)의 특징 포인트(feature point)의 물리적 정보를 포함하고,
    상기 제1 입력 데이터는 n1 개의 특징 포인트에 관한 물리적 정보를 포함하며, 상기 제1 출력 데이터는 n 개의 포인트에 관한 물리적 정보를 포함하고,
    상기 n1 개의 특징 포인트에 관한 물리적 정보는, 상기 n1 개의 포인트의 좌표 값, 각도, 각속도, 및 각가속도 중 적어도 하나를 포함하는 데이터 처리 장치.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 n1 개의 포인트의 좌표 값은 모션 센서 및 깊이 카메라 중 적어도 하나를 이용하여 획득되는, 데이터 처리 장치.
  5. 제1항에 있어서,
    상기 회귀 분석은, KCCA(Kernel Canonical Correlation Analysis)에 기초한 비선형 분석인, 데이터 처리 장치.
  6. 제1항에 있어서,
    상기 회귀 분석은, CCA(Canonical Correlation Analysis)에 기초한 선형 분석인, 데이터 처리 장치.
  7. 모션 센싱에 의해 획득되는 복수 개의 학습 데이터를 k 개(단, k는 자연수)의 그룹으로 나누는 처리부;
    상기 k 개의 그룹의 각각을 저장하는 k 개의 클러스터를 포함하는 저장부;
    회귀분석을 이용하여 상기 k 개의 클러스터의 각각에 대응하는 k 개의 변환 행렬을 계산하는 제1 계산부; 및
    제1 입력 데이터가 입력되는 경우, 상기 k 개의 변환 행렬 중 선택되는 l 개(단, l은 자연수이며, l≤k)의 변환 행렬을 이용하여 제1 출력 데이터를 계산하는 제2 계산부
    를 포함하고,
    상기 복수 개의 학습 데이터의 각각은 모션 센싱의 한 프레임에서 감지되는 n 개(n은 자연수)의 포인트의 물리적 정보와, 상기 n 개의 포인트 중 n1 개(n1은 자연수)의 특징 포인트(feature point)의 물리적 정보를 포함하고,
    상기 제1 입력 데이터는 n1 개의 특징 포인트에 관한 물리적 정보를 포함하며, 상기 제1 출력 데이터는 n 개의 포인트에 관한 물리적 정보를 포함하고,
    상기 n1 개의 특징 포인트에 관한 물리적 정보는, 상기 n1 개의 포인트의 좌표 값, 각도, 각속도, 및 각가속도 중 적어도 하나를 포함하는
    데이터 처리 장치.
  8. 제7항에 있어서,
    상기 제2 계산부는, 상기 선택된 l 개의 변환 행렬을 상기 제1 입력 데이터에 적용한 결과 값들에, 상기 제1 입력 데이터와 상기 l 개의 변환 행렬 각각의 상관도에 비례한 가중치를 적용하고, 상기 가중치가 적용된 상기 결과 값들의 선형 합으로서 상기 제1 출력 데이터를 계산하는, 데이터 처리 장치.
  9. 삭제
  10. 제7항에 있어서,
    상기 회귀 분석은, KCCA(Kernel Canonical Correlation Analysis)에 기초한 비선형 분석인, 데이터 처리 장치.
  11. 제7항에 있어서,
    상기 회귀 분석은, CCA(Canonical Correlation Analysis)에 기초한 선형 분석인, 데이터 처리 장치.
  12. 복수 개의 학습 데이터를 입력 받는 단계;
    상기 복수 개의 학습 데이터에 회귀 분석을 수행하여 제1 변환 행렬을 계산하는 단계; 및
    제1 입력 데이터가 입력되는 경우, 상기 제1 입력 데이터에 상기 제1 변환 행렬을 적용하여, 제1 출력 데이터를 계산하는 단계
    를 포함하고,
    상기 복수 개의 학습 데이터의 각각은 모션 센싱의 한 프레임에서 감지되는 n 개(n은 자연수)의 포인트의 물리적 정보와, 상기 n 개의 포인트 중 n1 개(n1은 자연수)의 특징 포인트(feature point)의 물리적 정보를 포함하고,
    상기 제1 입력 데이터는 n1 개의 특징 포인트에 관한 물리적 정보를 포함하며, 상기 제1 출력 데이터는 n 개의 포인트에 관한 물리적 정보를 포함하고,
    상기 n1 개의 특징 포인트에 관한 물리적 정보는, 상기 n1 개의 포인트의 좌표 값, 각도, 각속도, 및 각가속도 중 적어도 하나를 포함하는
    데이터 처리 방법.
  13. 삭제
  14. 삭제
  15. 제12항에 있어서,
    상기 n1 개의 포인트의 좌표 값은 모션 센서 및 깊이 카메라 중 적어도 하나를 이용하여 획득되는, 데이터 처리 방법.
  16. 제12항에 있어서,
    상기 회귀 분석은, KCCA(Kernel Canonical Correlation Analysis)에 기초한 비선형 분석인, 데이터 처리 방법.
  17. 제12항에 있어서,
    상기 회귀 분석은, CCA(Canonical Correlation Analysis)에 기초한 선형 분석인, 데이터 처리 방법.
  18. 모션 센싱에 의해 획득되는 복수 개의 학습 데이터를 k 개(단, k는 자연수)의 그룹으로 나누어 저장하는 단계;
    회귀분석을 이용하여 상기 k 개의 클러스터의 각각에 대응하는 k 개의 변환 행렬을 계산하는 단계; 및
    제1 입력 데이터가 입력되는 경우, 상기 k 개의 변환 행렬 중 선택되는 l 개(단, l은 자연수이며, l≤k)의 변환 행렬을 이용하여 제1 출력 데이터를 계산하는 단계
    를 포함하고,
    상기 복수 개의 학습 데이터의 각각은 모션 센싱의 한 프레임에서 감지되는 n 개(n은 자연수)의 포인트의 물리적 정보와, 상기 n 개의 포인트 중 n1 개(n1은 자연수)의 특징 포인트(feature point)의 물리적 정보를 포함하고,
    상기 제1 입력 데이터는 n1 개의 특징 포인트에 관한 물리적 정보를 포함하며, 상기 제1 출력 데이터는 n 개의 포인트에 관한 물리적 정보를 포함하고,
    상기 n1 개의 특징 포인트에 관한 물리적 정보는, 상기 n1 개의 포인트의 좌표 값, 각도, 각속도, 및 각가속도 중 적어도 하나를 포함하는
    데이터 처리 방법.
  19. 제12항 및 제15항 내지 제18항 중 어느 한 항에 있어서,
    상기 데이터 처리 방법을 수행하기 위한 명령어를 수록한 컴퓨터 판독 가능 기록 매체.
KR1020090057289A 2009-06-25 2009-06-25 데이터 처리 장치 및 방법 Expired - Fee Related KR101586007B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090057289A KR101586007B1 (ko) 2009-06-25 2009-06-25 데이터 처리 장치 및 방법
US12/662,777 US9047676B2 (en) 2009-06-25 2010-05-03 Data processing apparatus generating motion of 3D model and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090057289A KR101586007B1 (ko) 2009-06-25 2009-06-25 데이터 처리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20100138658A KR20100138658A (ko) 2010-12-31
KR101586007B1 true KR101586007B1 (ko) 2016-01-21

Family

ID=43381814

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090057289A Expired - Fee Related KR101586007B1 (ko) 2009-06-25 2009-06-25 데이터 처리 장치 및 방법

Country Status (2)

Country Link
US (1) US9047676B2 (ko)
KR (1) KR101586007B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184549B (zh) * 2011-04-29 2012-10-10 闫文闻 一种运动参数确定方法、装置和运动辅助设备
KR20170053692A (ko) * 2014-09-12 2017-05-16 지이 인텔리전트 플랫폼스 인코포레이티드 커널 회귀 모델의 앙상블을 위한 장치 및 방법
KR101995126B1 (ko) * 2017-10-16 2019-07-01 한국과학기술원 동적 인간 모델에 대한 회귀 분석 기반 랜드마크 검출 방법 및 그 장치
CN110874818B (zh) * 2018-08-31 2023-06-23 阿里巴巴集团控股有限公司 图像处理和虚拟空间构建方法、装置、系统和存储介质
CN109660999A (zh) * 2018-12-05 2019-04-19 广州数锐智能科技有限公司 一种基于cca模型的网络性能优化方法、装置及存储介质
US11107242B2 (en) * 2019-01-11 2021-08-31 Microsoft Technology Licensing, Llc Detecting pose using floating keypoint(s)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO305312B1 (no) * 1997-04-14 1999-05-10 Elkem Materials FremgangsmÕte og anordning for elektrisk kalsinering av karbonholdig materiale
KR100421740B1 (ko) 2000-11-14 2004-03-10 삼성전자주식회사 객체 활동 모델링 방법
KR100434372B1 (ko) * 2001-06-14 2004-06-04 엘지전자 주식회사 스칼라 연산을 이용한 고속 클러스터링 방법
KR100513090B1 (ko) 2003-12-12 2005-09-08 한국전자통신연구원 모션 데이터 프로세싱 방법
JP4148281B2 (ja) 2006-06-19 2008-09-10 ソニー株式会社 モーションキャプチャ装置及びモーションキャプチャ方法、並びにモーションキャプチャプログラム
KR100856824B1 (ko) * 2007-07-23 2008-09-05 재단법인서울대학교산학협력재단 캐릭터 시뮬레이션 방법 및 시스템
US7961952B2 (en) * 2007-09-27 2011-06-14 Mitsubishi Electric Research Laboratories, Inc. Method and system for detecting and tracking objects in images

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Feng, Wei-Wen, Byung-Uck Kim, and Yizhou Yu. "Real-time data driven deformation using kernel canonical correlation analysis." ACM Transactions on Graphics (TOG) 27.3 (2008): 91.
Kim, Jongmin, Yeongho Seol, and Jehee Lee. "Human motion reconstruction from sparse 3D motion sensors using kernel CCA?based regression." Computer Animation and Virtual Worlds 24.6 (2013): 565-576.

Also Published As

Publication number Publication date
US9047676B2 (en) 2015-06-02
US20100332427A1 (en) 2010-12-30
KR20100138658A (ko) 2010-12-31

Similar Documents

Publication Publication Date Title
CN109670474B (zh) 一种基于视频的人体姿态估计方法、装置及设备
JP7005669B2 (ja) 畳み込み画像変換推定を実行するための方法およびシステム
KR101616926B1 (ko) 영상 처리 장치 및 방법
KR101926563B1 (ko) 카메라 추적을 위한 방법 및 장치
JP5555207B2 (ja) 3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム
KR101586007B1 (ko) 데이터 처리 장치 및 방법
Fourie et al. Harmony filter: a robust visual tracking system using the improved harmony search algorithm
Ding et al. STFC: Spatio-temporal feature chain for skeleton-based human action recognition
EP3326156B1 (en) Consistent tessellation via topology-aware surface tracking
JP6328351B2 (ja) 3dシーンを3dモデルとして再構成する方法
EP2132680A1 (en) Efficient and accurate 3d object tracking
WO2007102537A1 (ja) 姿勢推定装置および方法
KR102001636B1 (ko) 이미지 센서와 대상 객체 사이의 상대적인 각도를 이용하는 깊이 영상 처리 장치 및 방법
US11741615B2 (en) Map segmentation method and device, motion estimation method, and device terminal
JP6387831B2 (ja) 特徴点位置検出装置、特徴点位置検出方法および特徴点位置検出プログラム
KR101925879B1 (ko) 깊이 영상을 이용하는 동작 추정 방법 및 장치
CN109035303B (zh) Slam系统相机跟踪方法及装置、计算机可读存储介质
KR20120082126A (ko) 깊이 영상의 특징 추출 방법 및 장치
JP2014085933A (ja) 3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム
CN110487274A (zh) 用于弱纹理场景的slam方法、系统、导航车及存储介质
KR20120041086A (ko) 아바타 생성을 위한 처리 장치 및 방법
JP2017053795A (ja) 情報処理装置、位置姿勢計測方法、及び位置姿勢計測プログラム
EP3185212B1 (en) Dynamic particle filter parameterization
JP2019016164A (ja) 学習データ生成装置、推定装置、推定方法及びコンピュータプログラム
KR101844278B1 (ko) 관절식 객체의 자세를 추정하기 위한 파라미터 학습 방법 및 관절식 객체의 자세 추정 방법

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20090625

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20140605

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20090625

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20150721

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20151016

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20160111

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20160112

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20181218

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20181218

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20191216

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20191216

Start annual number: 5

End annual number: 5

PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20211022