KR101916675B1 - 사용자 인터랙션을 위한 제스처 인식 방법 및 시스템 - Google Patents

사용자 인터랙션을 위한 제스처 인식 방법 및 시스템 Download PDF

Info

Publication number
KR101916675B1
KR101916675B1 KR1020170010105A KR20170010105A KR101916675B1 KR 101916675 B1 KR101916675 B1 KR 101916675B1 KR 1020170010105 A KR1020170010105 A KR 1020170010105A KR 20170010105 A KR20170010105 A KR 20170010105A KR 101916675 B1 KR101916675 B1 KR 101916675B1
Authority
KR
South Korea
Prior art keywords
data
gesture
gesture recognition
dimensional image
server
Prior art date
Application number
KR1020170010105A
Other languages
English (en)
Other versions
KR20180086548A (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 KR1020170010105A priority Critical patent/KR101916675B1/ko
Publication of KR20180086548A publication Critical patent/KR20180086548A/ko
Application granted granted Critical
Publication of KR101916675B1 publication Critical patent/KR101916675B1/ko

Links

Images

Classifications

    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • G06K9/00335
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition

Abstract

본 발명은 사용자 인터랙션을 위한 제스처 인식 방법에 관한 것으로서, 보다 구체적으로는 클라이언트가, (1) 3차원 센서로부터 제스처 데이터를 획득하는 단계; (2) 보간을 통해 상기 획득한 제스처 데이터에서 손실된 데이터를 보완하는 단계; (3) 상기 단계 (2)에서 보간된 제스처 데이터를 평면에 투영하여 2차원 이미지 데이터를 획득하는 단계; (4) 실시간으로 애플리케이션 실행 중, 상기 단계 (3)에서 획득한 2차원 이미지 데이터를 서버에 전송하여 제스처 인식 모델에 입력하는 단계; 및 (5) 상기 서버로부터 상기 제스처 인식 모델에 의해 도출된 결과를 전달받아, 상기 실행 중인 애플리케이션에 적용하여 실행하는 단계를 포함하는 것을 그 구성상의 특징으로 한다.
본 발명은 사용자 인터랙션을 위한 제스처 인식 시스템에 관한 것으로서, 보다 구체적으로는 제스처 인식에 의해 사용자 인터랙션이 수행되는 애플리케이션을 실행하는 클라이언트; 및 딥 러닝 알고리즘에 의한 제스처 인식 모델의 연산을 수행하는 서버를 포함하며, 상기 클라이언트는, 3차원 센서로부터 제스처 데이터를 획득하는 데이터 획득 모듈; 보간을 통해 상기 획득한 제스처 데이터에서 손실된 데이터를 보완하는 데이터 보간 모듈; 상기 데이터 보간 모듈에서 보간된 제스처 데이터를 평면에 투영하여 2차원 이미지 데이터를 획득하는 데이터 변환 모듈; 실시간으로 애플리케이션 실행 중, 상기 데이터 변환 모듈에서 획득한 2차원 이미지 데이터를 서버에 전송하여 상기 제스처 인식 모델에 입력하는 데이터 전송 모듈; 및 상기 서버로부터 상기 제스처 인식 모델에 의해 도출된 결과를 전달받아, 상기 실행 중인 애플리케이션에 적용하여 실행하는 결과 적용 모듈을 포함하는 것을 그 구성상의 특징으로 한다.
본 발명에서 제안하고 있는 사용자 인터랙션을 위한 제스처 인식 방법 및 시스템에 따르면, 딥 러닝 알고리즘인 제스처 인식 모델을 활용해서 제스처의 인식률을 효과적으로 높이되, 네트워크 통신을 통해 딥 러닝이 연산하는 부분을 서버에서 전담하여 처리함으로써, 가상현실과 같이 GPU를 실시간으로 사용하는 애플리케이션이 제스처 인식 결과를 서버로부터 수신하여 적용할 수 있으므로, 다양한 플랫폼에 효과적으로 적용할 수 있다.

Description

사용자 인터랙션을 위한 제스처 인식 방법 및 시스템{GESTURE RECOGNITION METHOD AND SYSTEM FOR USER INTERACTION}
본 발명은 제스처 인식 방법 및 시스템에 관한 것으로서, 보다 구체적으로는 사용자 인터랙션을 위한 제스처 인식 방법 및 시스템에 관한 것이다.
제스처 인식은 다양한 플랫폼에서 활용되어 왔으며, 가상현실에서 필요성이 대두되고 있다. 가상현실의 경우 기존의 입력 장치가 불편하고 직관성이 떨어짐에 따라, 제스처 인식에 대한 필요성을 가진다. 전통적인 제스처 인식 방법으로는 사람이 미리 정의한 특징 기술자로서 제스처를 인식하게 된다. 이러한 방식은 적은 데이터를 가지고 효율적으로 데이터를 분류할 수 있다. 하지만 데이터 간의 특징이 미세할수록, 인식률이 낮아지는 경향이 있다.
최근, 구글은 인공 신경망을 기반으로 한 알고리즘, 딥 러닝(Deep learning)을 통해서 비약적으로 AI 기술을 발전 시켰다. 특히, 2016년 3월 9일에 알파고 대 이세돌 간의 바둑 경기에서 4승 1패로 정상급의 바둑 프로기사에게 큰 승리를 거두었다. 딥 러닝 알고리즘은 비전 기술이나 이미지 인식 분야에 큰 영향을 끼치고 있으며, 대표적으로 딥 러닝 기술 중 하나인 CNN(Convolutional Neural Network)이 있다. 기존 기계학습의 훈련방식인 지도학습을 통해서 많은 양의 훈련 데이터를 학습하고, 입력된 데이터에 최적화 된 모델을 생성하게 된다. 생성 된 모델은 사람이 정의한 특징 기술자보다 데이터를 효과적으로 구분 할 수 있다. 하지만 딥 러닝 모델을 구축하는데 높은 연산량을 요구함으로서, 학습 시간이 느린 단점이 있다. 이러한 문제점을 극복하기 위해서, GPU를 통해 병렬처리 연산을 수행하면, 알고리즘의 학습 시간을 크게 줄이면서 모델을 빠르게 구축 할 수 있다.
GPU를 이용하면 연산 속도를 크게 높일 수 있다는 장점이 있지만, GPU를 사용하는 애플리케이션에서 치명적인 단점이 될 수 있다. 특히, 애플리케이션에서 단순히 기능적인 알고리즘만 수행하는 것이 아니라 별도의 프로세스를 동시에 처리할 경우, 큰 연산량을 요구한다. 이러한 단점은 높은 하드웨어 성능을 요구하는 가상현실, 게임, 실시간 애플리케이션 등에서 제스처 인식률을 높일 수 있는 딥 러닝 알고리즘 활용 하는 것을 어렵게 만드는 주요한 원인이 된다.
한편, 본 발명과 관련된 선행기술로서, 공개특허 제10-2015-0065336호(발명의 명칭: 전자 장치의 제스처 인식 방법, 장치 및 컴퓨터 판독 가능한 기록 매체, 공개일자: 2015년 06월 15일), 등록특허 제10-1386248호(발명의 명칭: 공간 제스처 인식 장치 및 방법, 공고일자: 2014년 04월 17일) 등이 개시된 바 있다.
본 발명은 기존에 제안된 방법들의 상기와 같은 문제점들을 해결하기 위해 제안된 것으로서, 딥 러닝 알고리즘인 제스처 인식 모델을 활용해서 제스처의 인식률을 효과적으로 높이되, 네트워크 통신을 통해 딥 러닝이 연산하는 부분을 서버에서 전담하여 처리함으로써, 가상현실과 같이 GPU를 실시간으로 사용하는 애플리케이션이 제스처 인식 결과를 서버로부터 수신하여 적용할 수 있으므로, 다양한 플랫폼에 효과적으로 적용이 가능한, 사용자 인터랙션을 위한 제스처 인식 방법 및 시스템을 제공하는 것을 그 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 사용자 인터랙션을 위한 제스처 인식 방법은,
제스처 인식 방법으로서, 클라이언트가,
(1) 3차원 센서로부터 제스처 데이터를 획득하는 단계;
(2) 보간을 통해 상기 획득한 제스처 데이터에서 손실된 데이터를 보완하는 단계;
(3) 상기 단계 (2)에서 보간된 제스처 데이터를 평면에 투영하여 2차원 이미지 데이터를 획득하는 단계;
(4) 실시간으로 애플리케이션 실행 중, 상기 단계 (3)에서 획득한 2차원 이미지 데이터를 서버에 전송하여 제스처 인식 모델에 입력하는 단계; 및
(5) 상기 서버로부터 상기 제스처 인식 모델에 의해 도출된 결과를 전달받아, 상기 실행 중인 애플리케이션에 적용하여 실행하는 단계를 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 제스처 인식 모델은,
콘볼루션 신경망(Convolution Neural Network; CNN) 기반으로 제스처 인식을 학습한 CNN 모델일 수 있다.
바람직하게는, 상기 단계 (1)에서는,
모바일, 퍼스널 컴퓨터 및 가상현실(Virtual Reality; VR)을 포함하는 군에서 선택된 적어도 하나 이상의 환경의 상기 3차원 센서에 적용하기 위하여, 3개의 동작 상태를 정의하여 상기 제스처 데이터를 획득할 수 있다.
바람직하게는, 상기 단계 (2)에서는,
하기 수학식 1에 의해 보간을 수행할 수 있다.
[수학식 1]
Figure 112017007472686-pat00001
(단, t는 보간 범위, v(p)는 이전 업데이트에 입력한 제스처 데이터 벡터, v(c)는 현재 업데이트에 입력한 제스처 데이터 벡터임)
더욱 바람직하게는, 상기 단계 (2)에서는,
보간 범위(t)의 간격을 0.01 이상 0.1 이하로 설정하여, 상기 수학식 1에 의한 보간을 수행할 수 있다.
바람직하게는, 상기 단계 (3)에서는,
상기 단계 (2)에서 보간된 제스처 데이터를 정사각 형태의 2차원 이미지 데이터로 변환하기 위하여, 2차원 이미지의 한 변의 최대 거리(Max Distance)를 하기 수학식 2에 의해 계산할 수 있다.
[수학식 2]
Figure 112017007472686-pat00002
(단, abs는 절대값 함수, Dx는 x값을 통해서 산출된 거리, Dy는 y값을 통해서 산출된 거리, tl(x)는 입력받은 위치 중에서 좌측 상단 위치 x값, tl(y)는 입력받은 위치 중에서 좌측 상단 위치 y값, br(x)는 입력받은 위치 중에서 우측 하단 위치 x값, br(y)는 입력받은 위치 중에서 우측 하단 위치 y값임)
더욱 바람직하게는, 상기 단계 (3)에서는,
상기 단계 (2)에서 보간된 제스처 데이터를 2차원 이미지 데이터로 변환하기 위하여, 상기 계산된 2차원 이미지의 한 변의 최대 거리(Max Distance)를 미리 설정된 이미지의 한 변의 실제 크기(Grid Size)로 나누어, 픽셀 한 개의 한 변의 크기(Cell Size)를 산출할 수 있다.
더더욱 바람직하게는, 상기 단계 (3)에서는,
상기 산출된 픽셀 한 개의 한 변의 크기(Cell Size)를 이용해 상기 2차원 이미지에서의 픽셀 위치를 계산할 수 있다.
바람직하게는, 상기 단계 (3)에서는,
상기 단계 (2)에서 보간된 제스처 데이터를 평면에 투영하여 생성된 이미지를 N×N 크기로 변환할 수 있다.
바람직하게는, 상기 단계 (4)에서는,
상기 단계 (3)에서 획득한 2차원 이미지 데이터를 이진화하여 TCP/IP 네트워크 프로토콜을 통해 상기 서버에 전송할 수 있다.
바람직하게는, 상기 단계 (5)에서는,
상기 제스처 인식 모델에서 인식된 결과를 전달받아 상기 실행 중인 애플리케이션에 결과 값을 적용하기 위해서, 상기 서버와의 쓰레드 동기화를 크리티컬 섹션(Critical section)을 통해 제어할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 사용자 인터랙션을 위한 제스처 인식 시스템은,
제스처 인식 시스템으로서,
제스처 인식에 의해 사용자 인터랙션이 수행되는 애플리케이션을 실행하는 클라이언트; 및
딥 러닝 알고리즘에 의한 제스처 인식 모델의 연산을 수행하는 서버를 포함하며,
상기 클라이언트는,
3차원 센서로부터 제스처 데이터를 획득하는 데이터 획득 모듈;
보간을 통해 상기 획득한 제스처 데이터에서 손실된 데이터를 보완하는 데이터 보간 모듈;
상기 데이터 보간 모듈에서 보간된 제스처 데이터를 평면에 투영하여 2차원 이미지 데이터를 획득하는 데이터 변환 모듈;
실시간으로 애플리케이션 실행 중, 상기 데이터 변환 모듈에서 획득한 2차원 이미지 데이터를 서버에 전송하여 상기 제스처 인식 모델에 입력하는 데이터 전송 모듈; 및
상기 서버로부터 상기 제스처 인식 모델에 의해 도출된 결과를 전달받아, 상기 실행 중인 애플리케이션에 적용하여 실행하는 결과 적용 모듈을 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 제스처 인식 모델은,
콘볼루션 신경망(Convolution Neural Network; CNN) 기반으로 제스처 인식을 학습한 CNN 모델일 수 있다.
바람직하게는,
제스처 인식의 학습을 위해 구성한 트레이닝 셋(Training Set) 및 검증을 위해 구성한 테스트 셋(Test Set)의 데이터를 이용하여 상기 제스처 인식 모델을 도출하는 학습 서버를 더 포함할 수 있다.
더욱 바람직하게는, 상기 학습 서버는,
3차원 센서로부터 획득한 제스처 데이터를 처리하여 2차원 이미지 데이터를 수집하는 데이터 전처리 모듈; 및
상기 수집한 2차원 이미지 데이터로 상기 트레이닝 셋 및 테스트 셋을 구성하고, 구성된 상기 트레이닝 셋 및 테스트 셋을 이용하여 상기 제스처 인식 모델을 도출하는 트레이닝 모듈을 포함할 수 있다.
바람직하게는, 상기 데이터 보간 모듈은,
하기 수학식 1에 의해 보간을 수행할 수 있다.
[수학식 1]
Figure 112017007472686-pat00003
(단, t는 보간 범위, v(p)는 이전 업데이트에 입력한 제스처 데이터 벡터, v(c)는 현재 업데이트에 입력한 제스처 데이터 벡터임)
바람직하게는, 상기 데이터 변환 모듈은,
상기 데이터 보간 모듈에서 보간된 제스처 데이터를 정사각 형태의 2차원 이미지 데이터로 변환하기 위하여, 2차원 이미지의 한 변의 최대 거리(Max Distance)를 하기 수학식 2에 의해 계산할 수 있다.
[수학식 2]
Figure 112017007472686-pat00004
(단, abs는 절대값 함수, Dx는 x값을 통해서 산출된 거리, Dy는 y값을 통해서 산출된 거리, tl(x)는 입력받은 위치 중에서 좌측 상단 위치 x값, tl(y)는 입력받은 위치 중에서 좌측 상단 위치 y값, br(x)는 입력받은 위치 중에서 우측 하단 위치 x값, br(y)는 입력받은 위치 중에서 우측 하단 위치 y값임)
바람직하게는, 상기 데이터 변환 모듈은,
상기 데이터 보간 모듈에서 보간된 제스처 데이터를 2차원 이미지 데이터로 변환하기 위하여, 상기 계산된 2차원 이미지의 한 변의 최대 거리(Max Distance)를 미리 설정된 이미지의 한 변의 실제 크기(Grid Size)로 나누어, 픽셀 한 개의 한 변의 크기(Cell Size)를 산출하고,
상기 산출된 픽셀 한 개의 한 변의 크기(Cell Size)를 이용해 상기 2차원 이미지에서의 픽셀 위치를 계산할 수 있다.
바람직하게는, 상기 데이터 전송 모듈은,
상기 데이터 변환 모듈에서 획득한 2차원 이미지 데이터를 이진화하여 TCP/IP 네트워크 프로토콜을 통해 상기 서버에 전송할 수 있다.
바람직하게는, 상기 결과 적용 모듈은,
상기 제스처 인식 모델에서 인식된 결과를 전달받아 상기 실행 중인 애플리케이션에 결과 값을 적용하기 위해서, 상기 서버와의 쓰레드 동기화를 크리티컬 섹션(Critical section)을 통해 제어할 수 있다.
본 발명에서 제안하고 있는 사용자 인터랙션을 위한 제스처 인식 방법 및 시스템에 따르면, 딥 러닝 알고리즘인 제스처 인식 모델을 활용해서 제스처의 인식률을 효과적으로 높이되, 네트워크 통신을 통해 딥 러닝이 연산하는 부분을 서버에서 전담하여 처리함으로써, 가상현실과 같이 GPU를 실시간으로 사용하는 애플리케이션이 제스처 인식 결과를 서버로부터 수신하여 적용할 수 있으므로, 다양한 플랫폼에 효과적으로 적용할 수 있다.
도 1은 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 시스템의 구성을 도시한 도면.
도 2는 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 시스템에서, 클라이언트의 세부적인 구성을 도시한 도면.
도 3은 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 시스템에서, 학습 서버의 세부적인 구성을 도시한 도면.
도 4는 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 시스템에서, 학습 서버에 의해 생성된 CNN 모델의 구조를 도시한 도면.
도 5는 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 방법의 흐름을 도시한 도면.
도 6은 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 방법에서, 클라이언트와 서버에서 처리되는 각 단계의 프로세스 처리를 도시한 도면.
도 7은 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 방법의 단계 S200에서, 제스처 데이터를 보간하는 과정을 예를 들어 도시한 도면.
도 8은 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 방법의 단계 S300에서, 보간된 제스처 데이터를 2차원 이미지 데이터로 변환하는 과정을 예를 들어 도시한 도면.
도 9는 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 방법의 단계 S400에서, 클라이언트 측의 패킷 디자인을 예를 들어 도시한 도면.
도 10은 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 방법의 단계 S500에서, 서버 측의 패킷 디자인을 예를 들어 도시한 도면.
이하, 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일한 부호를 사용한다.
덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 ‘연결’ 되어 있다고 할 때, 이는 ‘직접적으로 연결’ 되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 ‘간접적으로 연결’ 되어 있는 경우도 포함한다. 또한, 어떤 구성요소를 ‘포함’ 한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.
도 1은 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 시스템의 구성을 도시한 도면이다. 도 1에 도시된 바와 같이, 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 시스템은, 클라이언트(100) 및 서버(200)를 포함하여 구성될 수 있으며, 학습 서버(300)를 더 포함하여 구성될 수 있다.
즉, 본 발명은, 딥 러닝 알고리즘인 제스처 인식 모델을 활용해서 제스처의 인식률을 효과적으로 높이되, 네트워크 통신을 통해 딥 러닝이 연산하는 부분을 서버(200)에서 전담하여 처리함으로써, 가상현실과 같이 GPU를 실시간으로 사용하는 애플리케이션이 제스처 인식 결과를 서버(200)로부터 수신하여 적용할 수 있으므로, 다양한 플랫폼에 효과적으로 적용할 수 있다.
이하에서는, 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 시스템을 구성하는 각 구성요소에 대하여 상세히 설명하도록 한다.
클라이언트(100)는, 제스처 인식에 의해 사용자 인터랙션이 수행되는 애플리케이션을 실행할 수 있다. 클라이언트(100)는, 모바일, 퍼스널 컴퓨터, 가상현실(Virtual Reality; VR) 기기, 증강현실(Augmented Reality; AR) 기기 등 다양할 수 있다. 이와 같은 다양한 환경에서 3차원 센서를 이용해 제스처 데이터를 획득하며, 전처리 과정을 통해 획득한 제스처 데이터를 2차원 이미지 데이터로 변환하여 서버(200)에 전달하고, 서버(200)로부터 제스처 인식 결과를 수신하여 애플리케이션에 적용할 수 있다.
도 2는 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 시스템에서, 클라이언트(100)의 세부적인 구성을 도시한 도면이다. 도 2에 도시된 바와 같이, 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 시스템의 클라이언트(100)는, 3차원 센서로부터 제스처 데이터를 획득하는 데이터 획득 모듈(110), 보간을 통해 획득한 제스처 데이터에서 손실된 데이터를 보완하는 데이터 보간 모듈(120), 데이터 보간 모듈(120)에서 보간된 제스처 데이터를 평면에 투영하여 2차원 이미지 데이터를 획득하는 데이터 변환 모듈(130), 실시간으로 애플리케이션 실행 중, 데이터 변환 모듈(130)에서 획득한 2차원 이미지 데이터를 서버(200)에 전송하여 제스처 인식 모델에 입력하는 데이터 전송 모듈(140) 및 서버(200)로부터 제스처 인식 모델에 의해 도출된 결과를 전달받아, 실행 중인 애플리케이션에 적용하여 실행하는 결과 적용 모듈(150)을 포함하여 구성될 수 있다. 클라이언트(100)를 구성하는 각 구성요소에 대해서는 추후 도 5 내지 도 10을 참조하여 상세히 설명하도록 한다.
서버(200)는, 딥 러닝 알고리즘에 의한 제스처 인식 모델의 연산을 수행할 수 있다. 즉, 서버(200)는, 제스처 인식 모델을 포함하고, 클라이언트(100)로부터 제스처 데이터를 전달받아 제스처 인식 모델을 이용한 인식 결과를 클라이언트(100)에 전달할 수 있다. 이때, 제스처 인식 모델은, 콘볼루션 신경망(Convolution Neural Network; CNN) 기반으로 제스처 인식을 학습한 CNN 모델일 수 있다.
학습 서버(300)는, 제스처 인식의 학습을 위해 구성한 트레이닝 셋(Training Set) 및 검증을 위해 구성한 테스트 셋(Test Set)의 데이터를 이용하여 제스처 인식 모델을 도출할 수 있다. 즉, 제스처 인식을 위해 딥 러닝 알고리즘을 사용하기 위해서는, 학습을 통해 제스처 인식 모델을 도출하는 과정이 필요하며, 이와 같은 과정을 학습 서버(300)에서 처리할 수 있다.
보다 구체적으로는, 학습 서버(300)가, 콘볼루션 신경망(Convolution Neural Network; CNN) 기반으로 제스처 인식을 학습한 CNN 모델을 도출함으로써, 제스처 인식에 최적화 딥 러닝 연산이 가능하도록 할 수 있다. 학습 서버(300)는, 도출된 제스처 인식 모델을 서버(200)에 제공함으로써, 제스처의 인식률을 효과적으로 높일 수 있다.
도 3은 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 시스템에서, 학습 서버(300)의 세부적인 구성을 도시한 도면이다. 도 3에 도시된 바와 같이, 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 시스템의 학습 서버(300)는, 데이터 전처리 모듈(310) 및 트레이닝 모듈(320)을 포함하여 구성될 수 있다.
데이터 전처리 모듈(310)은, 3차원 센서로부터 획득한 제스처 데이터를 처리하여 2차원 이미지 데이터를 수집할 수 있다. 데이터 전처리 모듈(310)의 구체적인 데이터 처리 과정은, 추후 상세히 설명할 클라이언트(100)의 데이터 획득 모듈(110), 데이터 보간 모듈(120) 및 데이터 변환 모듈(130)에서 각각 처리되는 단계 S100, 단계 S200 및 단계 S300과 동일하므로, 여기에서는 상세한 설명을 생략하도록 한다.
트레이닝 모듈(320)은, 수집한 2차원 이미지 데이터로 트레이닝 셋 및 테스트 셋을 구성하고, 구성된 트레이닝 셋(Training Set) 및 테스트 셋(Test Set)을 이용하여 제스처 인식 모델을 도출할 수 있다.
먼저, 트레이닝 모듈(320)은, 데이터 전처리 모듈(310)에서 생성된 2차원 이미지 데이터를 정리하고 수집할 수 있다. 제스처 인식 모델(CNN 모델)을 생성하기 위해서 많은 양의 데이터를 수집할 수 있다. 데이터의 구성은 모델을 학습시키기 위한 트레이닝 셋과 검증하기 위한 테스트 셋으로 할 수 있다.
다음으로, 트레이닝 모듈(320)은, 제스처 인식 모델(CNN 모델)을 지도 학습에 따라 학습시키며, 입력 된 데이터를 명시하기 위해서 라벨링(Labeling) 작업을 수행할 수 있다. N개의 제스처를 인식하기 때문에, 데이터를 0-N개까지의 라벨(Label)을 명시할 수 있다. 테스트 셋에 속하는 데이터를 선정하기 위해서 랜덤으로 데이터의 라벨을 명시할 수 있다.
그 다음, 트레이닝 모듈(320)은, 적절한 학습 방법을 통해 제스처 인식 모델(CNN 모델)을 생성할 수 있다. 트레이닝 셋에 속하는 데이터를 순차적으로 모델에서 학습하는 것은 과적합(Overfitting)을 발생시키는 원인이 될 수 있다. 과적합(Overfitting)은 훈련 데이터만을 과도하게 학습한 상태인데, 이러한 과적합(Overfitting)을 피하기 위해서 모델이 데이터를 학습할 때 마다 매번 무작위로 섞는 것을 셔플(Shuffle)이라 명명하고 수행할 수 있다. 또한, GPU로 학습하는 제스처 인식 모델의 특성 상, 한 번에 학습할 수 있는 데이터 수를 배치 크기(Batch Size)라 명명하고, 배치 크기를 트레이닝 셋의 크기에 따라 적절하게 설정할 수 있다. 또한, 학습할 때, 학습할 데이터를 학습하는 비율 값을 학습율(Learning Rate)이라 명명하고, 이 학습율(Learning Rate)을 모델의 학습 상태에 따라 효율적인 값을 설정할 수 있다. 설정한 값들을 토대로 트레이닝과 테스트를 반복하여, 제스처 인식에 최적화된 모델을 생성할 수 있다.
마지막으로, 트레이닝 모듈(320)은, 전술한 바와 같이 학습한 제스처 인식 모델(CNN 모델)을 완성할 수 있다. 여기에서, 모델 자체의 파라미터(Parameter)를 설정 하는 것을 필요로 한다.
도 4는 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 시스템에서, 학습 서버(300)에 의해 생성된 CNN 모델의 구조를 도시한 도면이다. 도 4에 도시된 바와 같이, 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 시스템의 트레이닝 모듈(320)은, 모델 자체의 파라미터(Parameter)를 설정할 수 있으며, 이를 토대로 트레이닝과 테스트를 반복한 후 제스처 인식 모델(CNN Model)을 도출할 수 있다.
도 5는 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 방법의 흐름을 도시한 도면이다. 도 5에 도시된 바와 같이, 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 방법은, 3차원 센서로부터 제스처 데이터를 획득하는 단계(S100), 보간을 통해 제스처 데이터에서 손실된 데이터를 보완하는 단계(S200), 보간된 제스처 데이터를 평면에 투영하여 2차원 이미지 데이터를 획득하는 단계(S300), 2차원 이미지 데이터를 서버(200)에 전송하여 제스처 인식 모델에 입력하는 단계(S400) 및 서버(200)로부터 제스처 인식 모델에 의해 도출된 결과를 전달받아 애플리케이션에 적용하여 실행하는 단계(S500)를 포함하여 구현될 수 있다.
도 6은 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 방법에서, 클라이언트(100)와 서버(200)에서 처리되는 각 단계의 프로세스 처리를 도시한 도면이다. 이하에서는, 도 5 및 도 6을 참조하여, 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 방법의 각 단계에 대하여 상세히 설명하도록 한다.
단계 S100에서는, 클라이언트(100)의 데이터 획득 모듈(110)이, 3차원 센서로부터 제스처 데이터를 획득할 수 있다. 단계 S100에서는, 모바일, 퍼스널 컴퓨터 및 가상현실(Virtual Reality; VR)을 포함하는 군에서 선택된 적어도 하나 이상의 환경의 3차원 센서를 통해서 제스처 데이터를 획득할 수 있으며, 서로 다른 플랫폼에서 출력되는 데이터들에 적용하기 위하여, 3개의 동작 상태를 정의하여 제스처 데이터를 획득할 수 있다. 구체적으로는, 첫 번째는 입력을 시작하는 상태, 두 번째는 입력이 계속 진행 중인 상태, 세 번째는 입력이 끝난 상태로 하여 3개의 동작 상태를 정의하고, 데이터를 제어하고 획득할 수 있다.
단계 S200에서는, 클라이언트(100)의 데이터 보간 모듈(120)이, 보간을 통해 획득한 제스처 데이터에서 손실된 데이터를 보완 및 제어할 수 있다. 사용자가 데이터를 입력하는 시간이, 실시간으로 처리되는 애플리케이션에서 매 업데이트마다 데이터를 처리하는 시간보다 짧을 경우, 데이터를 이미지로 변환할 때 일부 픽셀이 누락되는 현상이 발생할 수 있다. 이를 보완하기 위해서 데이터를 이미지로 생성하기 전에, 단계 S200에서는, 하기 수학식 1에 의해 보간(interpolation)을 수행할 수 있다.
Figure 112017007472686-pat00005
단, t는 보간 범위, v(p)는 이전 업데이트에 입력한 제스처 데이터 벡터, v(c)는 현재 업데이트에 입력한 제스처 데이터 벡터이다.
이때, 단계 S200에서는, 보간 범위(t)의 간격을 0.01 이상 0.1 이하로 설정하여, 수학식 1에 의한 보간을 수행할 수 있다. 즉, 매 업데이트마다 보간 함수를 수행하고, 함수의 반복 간격을 0.01에서 0.1 사이로 정하여, t값이 0인 경우 이전 업데이트에 입력한 벡터, t값이 1인 경우 현재 업데이트에 입력한 벡터로 하여, 보간 범위를 0에서 1까지로 설정, 매 업데이트마다 반복 수행할 수 있다.
도 7은 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 방법의 단계 S200에서, 제스처 데이터를 보간하는 과정을 예를 들어 도시한 도면이다. 도 7에 도시된 바와 같이, 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 방법의 단계 S200에서는, 선형 보간(Linear Interpolation)을 통해 손실된 데이터를 보완 및 제어할 수 있다.
단계 S300에서는, 클라이언트(100)의 데이터 변환 모듈(130)이, 단계 S200에서 보간된 제스처 데이터를 평면에 투영하여 2차원 이미지 데이터를 획득할 수 있다. 즉, 단계 S200에서 보간 된 데이터를 이미지 데이터로 변환하기 위해서, 임의의 축에 투영할 수 있다.
도 8은 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 방법의 단계 S300에서, 보간된 제스처 데이터를 2차원 이미지 데이터로 변환하는 과정을 예를 들어 도시한 도면이다. 이하에서는, 도 8을 참조하여 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 방법의 단계 S300에서, 2차원 이미지 데이터를 생성하는 과정을 구체적으로 설명하도록 한다.
단계 S300에서는, 단계 S200에서 보간된 제스처 데이터를 정사각 형태의 2차원 이미지 데이터로 변환하기 위하여, 2차원 이미지의 한 변의 최대 거리(Max Distance)를 하기 수학식 2에 의해 계산할 수 있다.
Figure 112017007472686-pat00006
단, abs는 절대값 함수, Dx는 x값을 통해서 산출된 거리, Dy는 y값을 통해서 산출된 거리, tl(x)는 입력받은 위치 중에서 좌측 상단 위치 x값, tl(y)는 입력받은 위치 중에서 좌측 상단 위치 y값, br(x)는 입력받은 위치 중에서 우측 하단 위치 x값, br(y)는 입력받은 위치 중에서 우측 하단 위치 y값이다.
즉, 입력되는 제스처 데이터는 3차원 벡터로 구성되어 있으며, XY 축의 평면에 투영하기 위해서, 입력받은 위치 중 좌측 상단 위치의 x값 tl(x)을, 입력받은 위치 중 좌측 상단 위치의 y값 tl(y)을, 입력받은 위치 중 우측 하단 위치를 x값 br(x)을, 입력받은 위치 중 우측 하단 위치의 y값 br(y)을 활용할 수 있다. 지정된 위치 값을 통해서 Max Distance의 후보 값 Dx와 Dy를 도출할 수 있으며, 수학식 2에 따라 Max Distance가 결정될 수 있다.
단계 S300에서는, 단계 S200에서 보간된 제스처 데이터를 2차원 이미지 데이터로 변환하기 위하여, 계산된 2차원 이미지의 한 변의 최대 거리(Max Distance)를 미리 설정된 이미지의 한 변의 실제 크기(Grid Size)로 나누어, 픽셀 한 개의 한 변의 크기(Cell Size)를 산출할 수 있다.
즉, 단계 S300에서는, 결정된 Max Distance를 통해서 픽셀의 한 개의 너비를 계산하기 위해서 다음 수학식 3을 수행할 수 있다.
Figure 112017007472686-pat00007
수학식 3에서 요구하는 Grid Size는 이미지의 한 변의 실제 크기(너비 또는 높이)가 되기 때문에 사용자가 미리 설정할 수 있다.
그 다음, 단계 S300에서는, 산출된 픽셀 한 개의 한 변의 크기(Cell Size)를 이용해 2차원 이미지에서의 픽셀 위치를 계산할 수 있다. 즉, 픽셀 한 개의 한 변의 크기(너비 또는 높이)를 통해서 3차원 벡터를 2차원의 이미지 픽셀 위치가 계산될 수 있다. 픽셀 위치 계산은 다음 수학식 4를 통해서 수행할 수 있다.
Figure 112017007472686-pat00008
단, X는 픽셀의 위치 x값, Y는 픽셀의 위치 y값, pk(x)는 입력받은 위치 x값, pk(y)는 입력받은 위치 y값이다.
픽셀의 위치 값이 결정 된 후, 이미지를 표현하기 위해서 RGB(N,N,N) 픽셀 값을 입력할 수 있다.
단계 S300에서는, 단계 S200에서 보간된 제스처 데이터를 평면에 투영하여 생성된 이미지를 N×N 크기로 변환할 수 있다.
단계 S400에서는, 클라이언트(100)의 데이터 전송 모듈(140)이, 실시간으로 애플리케이션 실행 중, 단계 S300에서 획득한 2차원 이미지 데이터를 서버(200)에 전송하여 제스처 인식 모델에 입력할 수 있다. 이때, 단계 S400에서는, 단계 S300에서 획득한 2차원 이미지 데이터를 이진화하여 TCP/IP 네트워크 프로토콜을 통해 서버(200)에 전송할 수 있다.
즉, 단계 S400은 클라이언트(100)에서 실시간으로 애플리케이션이 진행 중, 단계 S300에서 획득한 2차원 이미지 데이터를 이진화할 수 있다. 클라이언트(100) 측에서 서버(200)로 데이터를 전송할 때에는, 안정성을 보장하기 위해서, TCP/IP를 통신규약(Protocol)으로 설정할 수 있다.
도 9는 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 방법의 단계 S400에서, 클라이언트(100) 측의 패킷 디자인을 예를 들어 도시한 도면이다. 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 방법의 단계 S400에서는, 클라이언트(100)와 서버(200)에서 원활한 통신을 위해서 패킷을 디자인 하는 것을 필요로 하는데, 도 9에 도시된 바와 같이, 서버(200) 측에서 전송된 패킷을 클라이언트(100) 측에서 처리하는 것을 슈도 코드(Pseudo code)로서 확인할 수 있다.
단계 S500에서는, 클라이언트(100)의 결과 적용 모듈(150)이, 서버(200)로부터 제스처 인식 모델에 의해 도출된 결과를 전달받아, 실행 중인 애플리케이션에 적용하여 실행할 수 있다. 이때, 단계 S500에서는, 서버(200) 측에서 클라이언트(100)로 데이터를 전송할 때, 안정성을 보장하기 위해서, TCP/IP를 통신규약(Protocol)으로 설정할 수 있다.
또한, 단계 S500에서는, 제스처 인식 모델에서 인식된 결과를 전달받아 실행 중인 애플리케이션에 결과 값을 적용하기 위해서, 서버(200)와의 쓰레드 동기화를 크리티컬 섹션(Critical section)을 통해 제어할 수 있다.
도 10은 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 방법의 단계 S500에서, 서버(200) 측의 패킷 디자인을 예를 들어 도시한 도면이다. 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 방법의 단계 S500에서는, 클라이언트(100)와 서버(200)에서 원활한 통신을 위해서 패킷을 디자인 하는 것을 필요로 하는데, 도 10에 도시된 바와 같이, 클라이언트(100) 측에서 전송된 패킷을 서버(200) 측 에서 처리하는 것을 슈도 코드(Pseudo code)로서 확인할 수 있다.
도 9 및 도 10에 도시된 바와 같이, 본 발명의 일실시예에 따른 사용자 인터랙션을 위한 제스처 인식 방법 및 시스템에서는, 실시간으로 애플리케이션을 수행하는 동시에, CNN을 이용하여 제스처를 입력함으로서, 자연스럽게 제스처를 인식할 수 있는 장점이 있으므로, 이를 이용하여 다양한 애플리케이션에 적용 가능할 수 있다.
이상 설명한 본 발명은 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에 의하여 다양한 변형이나 응용이 가능하며, 본 발명에 따른 기술적 사상의 범위는 아래의 특허청구범위에 의하여 정해져야 할 것이다.
100: 클라이언트
110: 데이터 획득 모듈
120: 데이터 보간 모듈
130: 데이터 변환 모듈
140: 데이터 전송 모듈
150: 결과 적용 모듈
200: 서버
300: 학습 서버
310: 데이터 전처리 모듈
320: 트레이닝 모듈
S100: 3차원 센서로부터 제스처 데이터를 획득하는 단계
S200: 보간을 통해 제스처 데이터에서 손실된 데이터를 보완하는 단계
S300: 보간된 제스처 데이터를 평면에 투영하여 2차원 이미지 데이터를 획득하는 단계
S400: 2차원 이미지 데이터를 서버에 전송하여 제스처 인식 모델에 입력하는 단계
S500: 서버로부터 제스처 인식 모델에 의해 도출된 결과를 전달받아 애플리케이션에 적용하여 실행하는 단계

Claims (20)

  1. 제스처 인식 방법으로서, 클라이언트(100)가,
    (1) 3차원 센서로부터 제스처 데이터를 획득하는 단계;
    (2) 보간을 통해 상기 획득한 제스처 데이터에서 손실된 데이터를 보완하는 단계;
    (3) 상기 단계 (2)에서 보간된 제스처 데이터를 평면에 투영하여 2차원 이미지 데이터를 획득하는 단계;
    (4) 실시간으로 애플리케이션 실행 중, 상기 단계 (3)에서 획득한 2차원 이미지 데이터를 서버(200)에 전송하여 제스처 인식 모델에 입력하는 단계; 및
    (5) 상기 서버(200)로부터 상기 제스처 인식 모델에 의해 도출된 결과를 전달받아, 상기 실행 중인 애플리케이션에 적용하여 실행하는 단계를 포함하되,
    상기 제스처 인식 모델은,
    콘볼루션 신경망(Convolution Neural Network; CNN) 기반으로 제스처 인식을 학습한 CNN 모델인 것을 특징으로 하는, 사용자 인터랙션을 위한 제스처 인식 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 단계 (1)에서는,
    모바일, 퍼스널 컴퓨터 및 가상현실(Virtual Reality; VR)을 포함하는 군에서 선택된 적어도 하나 이상의 환경의 상기 3차원 센서에 적용하기 위하여, 3개의 동작 상태를 정의하여 상기 제스처 데이터를 획득하는 것을 특징으로 하는, 사용자 인터랙션을 위한 제스처 인식 방법.
  4. 제1항에 있어서, 상기 단계 (2)에서는,
    하기 수학식 1에 의해 보간을 수행하는 것을 특징으로 하는, 사용자 인터랙션을 위한 제스처 인식 방법.
    [수학식 1]
    Figure 112017007472686-pat00009

    (단, t는 보간 범위, v(p)는 이전 업데이트에 입력한 제스처 데이터 벡터, v(c)는 현재 업데이트에 입력한 제스처 데이터 벡터임)
  5. 제4항에 있어서, 상기 단계 (2)에서는,
    보간 범위(t)의 간격을 0.01 이상 0.1 이하로 설정하여, 상기 수학식 1에 의한 보간을 수행하는 것을 특징으로 하는, 사용자 인터랙션을 위한 제스처 인식 방법.
  6. 제1항에 있어서, 상기 단계 (3)에서는,
    상기 단계 (2)에서 보간된 제스처 데이터를 정사각 형태의 2차원 이미지 데이터로 변환하기 위하여, 2차원 이미지의 한 변의 최대 거리(Max Distance)를 하기 수학식 2에 의해 계산하는 것을 특징으로 하는, 사용자 인터랙션을 위한 제스처 인식 방법.
    [수학식 2]
    Figure 112017007472686-pat00010

    (단, abs는 절대값 함수, Dx는 x값을 통해서 산출된 거리, Dy는 y값을 통해서 산출된 거리, tl(x)는 입력받은 위치 중에서 좌측 상단 위치 x값, tl(y)는 입력받은 위치 중에서 좌측 상단 위치 y값, br(x)는 입력받은 위치 중에서 우측 하단 위치 x값, br(y)는 입력받은 위치 중에서 우측 하단 위치 y값임)
  7. 제6항에 있어서, 상기 단계 (3)에서는,
    상기 단계 (2)에서 보간된 제스처 데이터를 2차원 이미지 데이터로 변환하기 위하여, 상기 계산된 2차원 이미지의 한 변의 최대 거리(Max Distance)를 미리 설정된 이미지의 한 변의 실제 크기(Grid Size)로 나누어, 픽셀 한 개의 한 변의 크기(Cell Size)를 산출하는 것을 특징으로 하는, 사용자 인터랙션을 위한 제스처 인식 방법.
  8. 제7항에 있어서, 상기 단계 (3)에서는,
    상기 산출된 픽셀 한 개의 한 변의 크기(Cell Size)를 이용해 상기 2차원 이미지에서의 픽셀 위치를 계산하는 것을 특징으로 하는, 사용자 인터랙션을 위한 제스처 인식 방법.
  9. 제1항에 있어서, 상기 단계 (3)에서는,
    상기 단계 (2)에서 보간된 제스처 데이터를 평면에 투영하여 생성된 이미지를 N×N 크기로 변환하는 것을 특징으로 하는, 사용자 인터랙션을 위한 제스처 인식 방법.
  10. 제1항에 있어서, 상기 단계 (4)에서는,
    상기 단계 (3)에서 획득한 2차원 이미지 데이터를 이진화하여 TCP/IP 네트워크 프로토콜을 통해 상기 서버(200)에 전송하는 것을 특징으로 하는, 사용자 인터랙션을 위한 제스처 인식 방법.
  11. 제1항에 있어서, 상기 단계 (5)에서는,
    상기 제스처 인식 모델에서 인식된 결과를 전달받아 상기 실행 중인 애플리케이션에 결과 값을 적용하기 위해서, 상기 서버(200)와의 쓰레드 동기화를 크리티컬 섹션(Critical section)을 통해 제어하는 것을 특징으로 하는, 사용자 인터랙션을 위한 제스처 인식 방법.
  12. 제스처 인식 시스템으로서,
    제스처 인식에 의해 사용자 인터랙션이 수행되는 애플리케이션을 실행하는 클라이언트(100); 및
    딥 러닝 알고리즘에 의한 제스처 인식 모델의 연산을 수행하는 서버(200)를 포함하며,
    상기 클라이언트(100)는,
    3차원 센서로부터 제스처 데이터를 획득하는 데이터 획득 모듈(110);
    보간을 통해 상기 획득한 제스처 데이터에서 손실된 데이터를 보완하는 데이터 보간 모듈(120);
    상기 데이터 보간 모듈(120)에서 보간된 제스처 데이터를 평면에 투영하여 2차원 이미지 데이터를 획득하는 데이터 변환 모듈(130);
    실시간으로 애플리케이션 실행 중, 상기 데이터 변환 모듈(130)에서 획득한 2차원 이미지 데이터를 서버(200)에 전송하여 상기 제스처 인식 모델에 입력하는 데이터 전송 모듈(140); 및
    상기 서버(200)로부터 상기 제스처 인식 모델에 의해 도출된 결과를 전달받아, 상기 실행 중인 애플리케이션에 적용하여 실행하는 결과 적용 모듈(150)을 포함하되,
    상기 제스처 인식 모델은,
    콘볼루션 신경망(Convolution Neural Network; CNN) 기반으로 제스처 인식을 학습한 CNN 모델인 것을 특징으로 하는, 사용자 인터랙션을 위한 제스처 인식 시스템.
  13. 삭제
  14. 제12항에 있어서,
    제스처 인식의 학습을 위해 구성한 트레이닝 셋(Training Set) 및 검증을 위해 구성한 테스트 셋(Test Set)의 데이터를 이용하여 상기 제스처 인식 모델을 도출하는 학습 서버(300)를 더 포함하는 것을 특징으로 하는, 사용자 인터랙션을 위한 제스처 인식 시스템.
  15. 제14항에 있어서, 상기 학습 서버(300)는,
    3차원 센서로부터 획득한 제스처 데이터를 처리하여 2차원 이미지 데이터를 수집하는 데이터 전처리 모듈(310); 및
    상기 수집한 2차원 이미지 데이터로 상기 트레이닝 셋 및 테스트 셋을 구성하고, 구성된 상기 트레이닝 셋 및 테스트 셋을 이용하여 상기 제스처 인식 모델을 도출하는 트레이닝 모듈(320)을 포함하는 것을 특징으로 하는, 사용자 인터랙션을 위한 제스처 인식 시스템.
  16. 제12항에 있어서, 상기 데이터 보간 모듈(120)은,
    하기 수학식 1에 의해 보간을 수행하는 것을 특징으로 하는, 사용자 인터랙션을 위한 제스처 인식 시스템.
    [수학식 1]
    Figure 112017007472686-pat00011

    (단, t는 보간 범위, v(p)는 이전 업데이트에 입력한 제스처 데이터 벡터, v(c)는 현재 업데이트에 입력한 제스처 데이터 벡터임)
  17. 제12항에 있어서, 상기 데이터 변환 모듈(130)은,
    상기 데이터 보간 모듈(120)에서 보간된 제스처 데이터를 정사각 형태의 2차원 이미지 데이터로 변환하기 위하여, 2차원 이미지의 한 변의 최대 거리(Max Distance)를 하기 수학식 2에 의해 계산하는 것을 특징으로 하는, 사용자 인터랙션을 위한 제스처 인식 시스템.
    [수학식 2]
    Figure 112017007472686-pat00012

    (단, abs는 절대값 함수, Dx는 x값을 통해서 산출된 거리, Dy는 y값을 통해서 산출된 거리, tl(x)는 입력받은 위치 중에서 좌측 상단 위치 x값, tl(y)는 입력받은 위치 중에서 좌측 상단 위치 y값, br(x)는 입력받은 위치 중에서 우측 하단 위치 x값, br(y)는 입력받은 위치 중에서 우측 하단 위치 y값임)
  18. 제12항에 있어서, 상기 데이터 변환 모듈(130)은,
    상기 데이터 보간 모듈(120)에서 보간된 제스처 데이터를 2차원 이미지 데이터로 변환하기 위하여, 계산된 2차원 이미지의 한 변의 최대 거리(Max Distance)를 미리 설정된 이미지의 한 변의 실제 크기(Grid Size)로 나누어, 픽셀 한 개의 한 변의 크기(Cell Size)를 산출하고,
    상기 산출된 픽셀 한 개의 한 변의 크기(Cell Size)를 이용해 상기 2차원 이미지에서의 픽셀 위치를 계산하는 것을 특징으로 하는, 사용자 인터랙션을 위한 제스처 인식 시스템.
  19. 제12항에 있어서, 상기 데이터 전송 모듈(140)은,
    상기 데이터 변환 모듈(130)에서 획득한 2차원 이미지 데이터를 이진화하여 TCP/IP 네트워크 프로토콜을 통해 상기 서버(200)에 전송하는 것을 특징으로 하는, 사용자 인터랙션을 위한 제스처 인식 시스템.
  20. 제12항에 있어서, 상기 결과 적용 모듈(150)은,
    상기 제스처 인식 모델에서 인식된 결과를 전달받아 상기 실행 중인 애플리케이션에 결과 값을 적용하기 위해서, 상기 서버(200)와의 쓰레드 동기화를 크리티컬 섹션(Critical section)을 통해 제어하는 것을 특징으로 하는, 사용자 인터랙션을 위한 제스처 인식 시스템.
KR1020170010105A 2017-01-22 2017-01-22 사용자 인터랙션을 위한 제스처 인식 방법 및 시스템 KR101916675B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170010105A KR101916675B1 (ko) 2017-01-22 2017-01-22 사용자 인터랙션을 위한 제스처 인식 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170010105A KR101916675B1 (ko) 2017-01-22 2017-01-22 사용자 인터랙션을 위한 제스처 인식 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20180086548A KR20180086548A (ko) 2018-08-01
KR101916675B1 true KR101916675B1 (ko) 2018-11-08

Family

ID=63227890

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170010105A KR101916675B1 (ko) 2017-01-22 2017-01-22 사용자 인터랙션을 위한 제스처 인식 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101916675B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102122300B1 (ko) * 2018-12-17 2020-06-15 주식회사 버넥트 3차원 제스처 인식 시스템과 방법 및 이를 위한 컴퓨터 프로그램
KR102254331B1 (ko) * 2019-07-04 2021-05-20 한양대학교 산학협력단 공중 제스쳐 인식 장치 및 방법
KR102225613B1 (ko) * 2019-08-30 2021-03-08 연세대학교 산학협력단 사람 재식별 장치 및 방법
CN113191421A (zh) * 2021-04-25 2021-07-30 东北大学 一种基于Faster-RCNN的手势识别系统及方法
CN116226691B (zh) * 2023-05-08 2023-07-14 深圳市魔样科技有限公司 用于手势姿态感知的智能戒指数据处理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011081431A (ja) * 2009-10-02 2011-04-21 Sony Corp 行動パターン解析システム、携帯端末、行動パターン解析方法、及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011081431A (ja) * 2009-10-02 2011-04-21 Sony Corp 行動パターン解析システム、携帯端末、行動パターン解析方法、及びプログラム

Also Published As

Publication number Publication date
KR20180086548A (ko) 2018-08-01

Similar Documents

Publication Publication Date Title
KR101916675B1 (ko) 사용자 인터랙션을 위한 제스처 인식 방법 및 시스템
Molchanov et al. Online detection and classification of dynamic hand gestures with recurrent 3d convolutional neural network
EP4145353A1 (en) Neural network construction method and apparatus
CN110728209B (zh) 一种姿态识别方法、装置、电子设备及存储介质
WO2020108362A1 (zh) 人体姿态检测方法、装置、设备及存储介质
CN109483573A (zh) 机器学习装置、机器人系统以及机器学习方法
CN109685037B (zh) 一种实时动作识别方法、装置及电子设备
EP3811337A1 (en) System for predicting articulated object feature location
Wu et al. Pixel-attentive policy gradient for multi-fingered grasping in cluttered scenes
CN112464861A (zh) 用于智能人机交互的行为早期识别方法、系统及存储介质
US11850747B2 (en) Action imitation method and robot and computer readable medium using the same
Gupta et al. Online detection and classification of dynamic hand gestures with recurrent 3d convolutional neural networks
CN105868797A (zh) 网络参数训练方法、景物类型识别方法及装置
CN112036260B (zh) 一种自然环境下多尺度子块聚合的表情识别方法及系统
CN110532883A (zh) 应用离线跟踪算法对在线跟踪算法进行改进
CN111768438B (zh) 一种图像处理方法、装置、设备以及计算机可读存储介质
WO2020014294A1 (en) Learning to segment via cut-and-paste
CN111696196A (zh) 一种三维人脸模型重建方法及装置
WO2015108737A1 (en) Contour-based classification of objects
CN109920018A (zh) 基于神经网络的黑白照片色彩恢复方法、装置及存储介质
CN115063768A (zh) 三维目标检测方法、编码器及解码器
CN112966574A (zh) 人体三维关键点预测方法、装置及电子设备
JP2023131117A (ja) 結合感知モデルのトレーニング、結合感知方法、装置、機器および媒体
Huu et al. Proposing recognition algorithms for hand gestures based on machine learning model
CN112199994B (zh) 一种实时检测rgb视频中的3d手与未知物体交互的方法和装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right