KR102035860B1 - 연속 제스처 인식 시스템 - Google Patents

연속 제스처 인식 시스템 Download PDF

Info

Publication number
KR102035860B1
KR102035860B1 KR1020180014542A KR20180014542A KR102035860B1 KR 102035860 B1 KR102035860 B1 KR 102035860B1 KR 1020180014542 A KR1020180014542 A KR 1020180014542A KR 20180014542 A KR20180014542 A KR 20180014542A KR 102035860 B1 KR102035860 B1 KR 102035860B1
Authority
KR
South Korea
Prior art keywords
gesture
data
cluster
signal
collected
Prior art date
Application number
KR1020180014542A
Other languages
English (en)
Other versions
KR20190094881A (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 KR1020180014542A priority Critical patent/KR102035860B1/ko
Publication of KR20190094881A publication Critical patent/KR20190094881A/ko
Application granted granted Critical
Publication of KR102035860B1 publication Critical patent/KR102035860B1/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
    • 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/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 연속 제스처 인식 시스템에 관한 것으로서, 본 발명의 연속 제스처 인식 방법은, 설정된 수집 장치에서 출력된 3축 가속도 신호 및 3축 자이로 신호를 기반으로, 설정된 복수의 기본 제스처를 수집하는 단계; 훈련 데이터를 수집하기 위해, 상기 수집된 복수의 기본 제스처 각각의 시작 구간과 종료 구간을 검출하여, 상기 복수의 기본 제스처의 활성화 구간을 각각 검출하는 단계; 설정된 수집 장치로부터 출력된 3축 가속도 신호 및 3축 자이로 신호를 기반으로, 입력 신호를 확인하는 단계; 확인된 입력 신호를 설정된 구간 사이로 정규화하는 단계; 군집 인덱스를 할당하기 위해, 제1알고리즘을 이용하여 정규화된 입력 신호를 가속도 신호 성분만이 포함된 제1군집 및 자이로 신호 성분만이 포함된 제2군집으로 각각 구별하여 분류하는 단계; 할당된 군집 인덱스를 기반으로, 제2알고리즘 및 제3알고리즘 중 적어도 하나의 알고리즘을 이용하여, 입력 제스처를 인식하는 단계를 포함한다.

Description

연속 제스처 인식 시스템{SYSTEM OF RECOGNIZING A CONTINUOUS GESTURE}
본 발명은 연속 제스처 인식 시스템에 관한 것으로서, 보다 상세하게는 수집 장치에서 발생된 가속도 신호 및 자이로 신호를 이용하여 사용자의 제스처를 정확히 인식할 수 있는 연속 제스처 인식 시스템에 관한 것이다.
제스처 인식 기술은 직관적이고 편리하게 명령을 전달할 수 있기 때문에 인간-컴퓨터 상호작용, 인간-기계 상호작용의 분야에서 장치 조작, 게임 등 많은 분야에서 연구가 진행되고 있다.
그러나, 종래의 제스처 인식 방식 중 데이터 글로브 기반의 제스처 인식 기술은 글로브 안에 휨 센서를 부착하고 손에 글로브를 착용한 후 손가락의 움직임에 따라 휘어지는 센서의 데이터를 출력하여 손의 움직임을 인식하기 때문에 착용감이 불편해 장시간 사용하기 어렵고, 사용자 손의 움직임이 제한되며, 입력한 신호의 보정이 어렵다는 문제점 등이 있었다. 또한, 컴퓨터 비전 기반의 제스처 인식 기술은 3차원 공간상의 움직임 정보를 얻기 힘든 문제점 등이 있었다.
따라서, 사용자 편의성이 강조되면서도 사용자의 제스처에 대한 정확한 인식을 할 수 있는 시스템의 개발이 시급한 실정이다.
[관련기술문헌]
1. 제스처에 의한 사용자 인터페이스 제공 시스템 및 방법과 이를 위한 제스처 신호 발생 장치 및 단말기(특허출원번호 제10-2009-0089614호)
본 발명이 해결하고자 하는 과제는 히스토그램 비교 및 군집화 인덱스 사이의 거리를 이용한 제스처 인식 알고리즘을 적용하여, 사용자의 제스처에 대한 정확한 인식이 가능하게 하는 연속 제스처 인식 시스템에 관한 것이다.
본 발명이 해결하고자 하는 다른 과제는 시간축의 반대 방향으로 제스처 인식 알고리즘을 다시 한번 적용하여, 사용자의 제스처 인식 결과를 향상시켜 주는 연속 제스처 인식 시스템에 관한 것이다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시 예에 따른 연속 제스처 인식 방법은, 설정된 수집 장치에서 출력된 3축 가속도 신호 및 3축 자이로 신호를 기반으로, 설정된 복수의 기본 제스처를 수집하는 단계; 훈련 데이터를 수집하기 위해, 수집된 복수의 기본 제스처 각각의 시작 구간과 종료 구간을 검출하여, 복수의 기본 제스처의 활성화 구간을 각각 검출하는 단계; 설정된 수집 장치로부터 출력된 3축 가속도 신호 및 3축 자이로 신호를 기반으로, 입력 신호를 확인하는 단계; 확인된 입력 신호를 설정된 구간 사이로 정규화하는 단계; 군집 인덱스를 할당하기 위해, 제1알고리즘을 이용하여 정규화된 입력 신호를 가속도 신호 성분만이 포함된 제1군집 및 자이로 신호 성분만이 포함된 제2군집으로 각각 구별하여 분류하는 단계; 할당된 군집 인덱스를 기반으로, 제2알고리즘 및 제3알고리즘 중 적어도 하나의 알고리즘을 이용하여, 입력 제스처를 인식하는 단계를 포함한다.
본 발명의 다른 특징에 따르면, 복수의 기본 제스처의 활성화 구간을 각각 검출하는 단계는, 3축 자이로 신호의 크기 변화에 따라 동적 윈도우를 변화시키면서 활성화 구간을 검출하는 단계를 포함하되, 시작 구간과 종료 구간을 검출할 때까지 반복한다.
본 발명의 또 다른 특징에 따르면, 제1알고리즘은, K 평균 알고리즘이다.
본 발명의 또 다른 특징에 따르면, 정규화된 입력 신호를 가속도 신호 성분만이 포함된 제1군집 및 자이로 신호 성분만이 포함된 제2군집으로 각각 구별하여 분류하는 단계는, 아래의 수학식에 따라 정의된다.
Figure 112018013065570-pat00001
여기서,
Figure 112018013065570-pat00002
은 군집 인덱스를 나타내고, n은
Figure 112018013065570-pat00003
사이의 값을 가지고,
Figure 112018013065570-pat00004
는 수집된 모든 제스처의 집합인
Figure 112018013065570-pat00005
에 수집된 샘플 데이터의 길이이고,
Figure 112018013065570-pat00006
은 제1군집 및 제2군집의 중심좌표이고,
Figure 112018013065570-pat00007
은 상기
Figure 112018013065570-pat00008
에 수집된 가속도 신호 및 자이로 신호의 집합이다.
본 발명의 또 다른 특징에 따르면, 제2알고리즘을 이용하여, 입력 제스처를 인식하는 단계는, 확인된 입력 신호의 데이터의 길이가 수집된 훈련 데이터 중 가속도 신호의 최대 샘플 데이터의 길이와 동일하게 될 경우, 시간 축인 인덱스 순서에 매칭되는 각각의 입력 신호의 데이터에 포함된 군집 분류 인덱스와 가속도 신호의 데이터에 포함된 군집 분류 인덱스를 상호 비교하여, 히스토그램의 유사도를 아래의 수학식에 따라 검출하는 단계; 히스토그램의 유사도를 아래의 수학식에 따라 수집된 모든 훈련 데이터에 대하여 검출하는 단계; 수집된 모든 훈련 데이터에 대하여 히스토그램의 유사도를 검출한 결과 가장 높은 값을 가지는 입력 제스처의 데이터 번호를 제1후보 제스처로 선정하는 단계; 확인된 입력 신호의 데이터의 길이가 수집된 훈련 데이터 중 자이로 신호의 최대 샘플 데이터의 길이와 동일하게 될 경우, 시간 축인 인덱스 순서에 매칭되는 각각의 입력 신호의 데이터에 포함된 군집 분류 인덱스와 자이로 신호의 데이터에 포함된 군집 분류 인덱스를 상호 비교하여, 히스토그램의 유사도를 아래의 수학식에 따라 검출하는 단계; 히스토그램의 유사도를 아래의 수학식에 따라 수집된 모든 훈련 데이터에 대하여 검출하는 단계; 수집된 모든 훈련 데이터에 대하여 히스토그램의 유사도를 검출한 결과 가장 높은 값을 가지는 입력 제스처의 데이터 번호를 제2후보 제스처로 선정하는 단계; 및 제1후보 제스처와 제2후보 제스처가 동일할 경우, 제1후보 제스처 또는 제2후보 제스처를 최종 제스처로 선택하는 단계를 포함한다.
Figure 112018013065570-pat00009
여기서, I는 훈련 데이터이고, M은 입력 데이터이고, j는 인덱스이다.
본 발명의 또 다른 특징에 따르면, 제1후보 제스처와 제2후보 제스처가 동일하지 않을 경우, 제1후보 제스처와 제2후보 제스처가 동일할 때까지 슬라이딩 윈도우 기법으로, 제1후보 제스처 및 제2후보 제스처의 선정을 반복하는 단계를 더 포함한다.
본 발명의 또 다른 특징에 따르면, 제3알고리즘을 이용하여, 입력 제스처를 인식하는 단계는, 확인된 입력 신호의 데이터의 길이가 수집된 훈련 데이터 중 가속도 신호의 최대 샘플 데이터의 길이와 동일하게 될 경우, 시간 축인 인덱스 순서에 매칭되는 각각의 입력 신호의 데이터에 포함된 군집 분류 인덱스와 가속도 신호의 데이터에 포함된 군집 분류 인덱스를 상호 비교하여, 입력 신호의 데이터에 포함된 군집 분류 인덱스와 가속도 신호의 데이터에 포함된 군집 분류 인덱스가 동일할 경우, 군집 인덱스 상호간의 거리를 0으로 계산하는 단계를 포함한다.
본 발명의 또 다른 특징에 따르면, 제3알고리즘을 이용하여, 입력 제스처를 인식하는 단계는, 확인된 입력 신호의 데이터의 길이가 수집된 훈련 데이터 중 가속도 신호의 최대 샘플 데이터의 길이와 동일하게 될 경우, 시간 축인 인덱스 순서에 매칭되는 각각의 입력 신호의 데이터에 포함된 군집 분류 인덱스와 가속도 신호의 데이터에 포함된 군집 분류 인덱스를 상호 비교하여, 입력 신호의 데이터에 포함된 군집 분류 인덱스와 가속도 신호의 데이터에 포함된 군집 분류 인덱스가 동일하지 않을 경우, 군집 인덱스 상호간의 거리를 아래의 수학식에 따라 계산하는 단계; 군집 인덱스 상호간의 거리를 아래의 수학식에 따라 수집된 모든 훈련 데이터에 대하여 계산하는 단계; 및 수집된 모든 훈련 데이터에 대하여 수집된 모든 훈련 데이터에 대하여 계산한 결과 입력 제스처 별로 가장 작은 거리 값을 가지는 입력 제스처의 데이터 번호를 각각 후보 제스처로 선정하는 단계를 포함한다.
Figure 112018013065570-pat00010
여기서,
Figure 112018013065570-pat00011
는 수집된 모든 제스처의 집합인
Figure 112018013065570-pat00012
에 수집된 샘플 데이터의 길이이고,
Figure 112018013065570-pat00013
은 제1군집 및 제2군집의 중심좌표이고,
Figure 112018013065570-pat00014
은 수집 장치에서 수집된 가속도 신호인
Figure 112018013065570-pat00015
와 자이로 신호인
Figure 112018013065570-pat00016
를 포함한 신호로
Figure 112018013065570-pat00017
와 같이 나타낼 수 있다.
본 발명의 또 다른 특징에 따르면, 선정된 각각의 후보 제스처를 아래의 수학식에 따라 정규화하는 단계; 및 정규화된 값을 기반으로, 후보 제스처 중 설정된 값 이상의 값을 가지는 후보 제스처를 최종 제스처로 선정하는 단계를 포함한다.
Figure 112018013065570-pat00018
여기서,
Figure 112018013065570-pat00019
은 후보 제스처의 각각의 평균을 나타낸 것이고,
Figure 112018013065570-pat00020
은 후보 제스처의 표준편차를 나타낸 것이고,
Figure 112018013065570-pat00021
은 후보 제스처들이 정규화되기 전의 값을 나타낸 것이고,
Figure 112018013065570-pat00022
은 후보 제스처들이 정규화된 후의 값을 나타낸 것이다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시 예에 따른 연속 제스처 인식 장치는, 각종 정보를 저장하는 저장부; 설정된 수집 장치와 데이터 통신을 수행하는 통신부; 설정된 수집 장치에서 출력된 3축 가속도 신호 및 3축 자이로 신호를 기반으로, 설정된 복수의 기본 제스처를 수집하는 수집부; 및 훈련 데이터를 수집하기 위해, 수집된 복수의 기본 제스처 각각의 시작 구간과 종료 구간을 검출하여, 복수의 기본 제스처의 활성화 구간을 각각 검출하고, 설정된 수집 장치로부터 출력된 3축 가속도 신호 및 3축 자이로 신호를 기반으로, 입력 신호를 확인하고, 확인된 입력 신호를 설정된 구간 사이로 정규화하고, 군집 인덱스를 할당하기 위해, 제1알고리즘을 이용하여 정규화된 입력 신호를 가속도 신호 성분만이 포함된 제1군집 및 자이로 신호 성분만이 포함된 제2군집으로 각각 구별하여 분류하고, 할당된 군집 인덱스를 기반으로, 제2알고리즘 및 제3알고리즘 중 적어도 하나의 알고리즘을 이용하여, 입력 제스처를 인식하는 제어부를 포함한다.
본 발명의 다른 특징에 따르면, 제어부는, 3축 자이로 신호의 크기 변화에 따라 동적 윈도우를 변화시키면서 활성화 구간을 검출하되, 시작 구간과 종료 구간을 검출할 때까지 반복하는 것을 포함한다.
본 발명의 또 다른 특징에 따르면, 제1알고리즘은, K-평균 알고리즘이다.
본 발명의 또 다른 특징에 따르면, 제어부는, 정규화된 입력 신호를 가속도 신호 성분만이 포함된 제1군집 및 자이로 신호 성분만이 포함된 제2군집으로 아래의 수학식에 따라 각각 구별하여 분류하는 것을 포함한다.
Figure 112018013065570-pat00023
여기서,
Figure 112018013065570-pat00024
은 군집 인덱스를 나타내고, n은
Figure 112018013065570-pat00025
사이의 값을 가지고,
Figure 112018013065570-pat00026
는 수집된 모든 제스처의 집합인
Figure 112018013065570-pat00027
에 수집된 샘플 데이터의 길이이고,
Figure 112018013065570-pat00028
은 제1군집 및 제2군집의 중심좌표이고,
Figure 112018013065570-pat00029
은 상기
Figure 112018013065570-pat00030
에 수집된 가속도 신호 및 자이로 신호의 집합이다.
본 발명의 또 다른 특징에 따르면, 제어부는, 확인된 입력 신호의 데이터의 길이가 수집된 훈련 데이터 중 가속도 신호의 최대 샘플 데이터의 길이와 동일하게 될 경우, 시간 축인 인덱스 순서에 매칭되는 각각의 입력 신호의 데이터에 포함된 군집 분류 인덱스와 가속도 신호의 데이터에 포함된 군집 분류 인덱스를 상호 비교하여, 히스토그램의 유사도를 아래의 수학식에 따라 검출하고, 히스토그램의 유사도를 아래의 수학식에 따라 수집된 모든 훈련 데이터에 대하여 검출하고, 수집된 모든 훈련 데이터에 대하여 히스토그램의 유사도를 검출한 결과 가장 높은 값을 가지는 입력 제스처의 데이터 번호를 제1후보 제스처로 선정하고, 확인된 입력 신호의 데이터의 길이가 수집된 훈련 데이터 중 자이로 신호의 최대 샘플 데이터의 길이와 동일하게 될 경우, 시간 축인 인덱스 순서에 매칭되는 각각의 입력 신호의 데이터에 포함된 군집 인덱스와 자이로 신호의 데이터에 포함된 군집 분류 인덱스를 상호 비교하여, 히스토그램의 유사도를 아래의 수학식에 따라 검출하고, 히스토그램의 유사도를 아래의 수학식에 따라 수집된 모든 훈련 데이터에 대하여 검출하고, 수집된 모든 훈련 데이터에 대하여 히스토그램의 유사도를 검출한 결과 가장 높은 값을 가지는 입력 제스처의 데이터 번호를 제2후보 제스처로 선정하고, 제1후보 제스처와 제2후보 제스처가 동일할 경우, 제1후보 제스처 또는 제2후보 제스처를 최종 제스처로 선택하는 것을 포함한다.
Figure 112018013065570-pat00031
여기서, I는 훈련 데이터이고, M은 입력 데이터이고, j는 인덱스이다.
본 발명의 또 다른 특징에 따르면, 제1후보 제스처와 제2후보 제스처가 동일하지 않을 경우, 제1후보 제스처와 제2후보 제스처가 동일할 때까지 슬라이딩 윈도우 기법으로, 제1후보 제스처 및 제2후보 제스처의 선정을 반복하는 단계를 더 포함한다.
본 발명의 또 다른 특징에 따르면, 제어부는, 확인된 입력 신호의 데이터의 길이가 수집된 훈련 데이터 중 가속도 신호의 최대 샘플 데이터의 길이와 동일하게 될 경우, 시간 축인 인덱스 순서에 매칭되는 각각의 입력 신호의 데이터에 포함된 군집 분류 인덱스와 가속도 신호의 데이터에 포함된 군집 분류 인덱스를 상호 비교하여, 입력 신호의 데이터에 포함된 군집 분류 인덱스와 가속도 신호의 데이터에 포함된 군집 분류 인덱스가 동일할 경우, 군집 인덱스 상호간의 거리를 0으로 계산하는 것을 포함한다.
본 발명의 또 다른 특징에 따르면, 제어부는, 확인된 입력 신호의 데이터의 길이가 수집된 훈련 데이터 중 가속도 신호의 최대 샘플 데이터의 길이와 동일하게 될 경우, 시간 축인 인덱스 순서에 매칭되는 각각의 입력 신호의 데이터에 포함된 군집 분류 인덱스와 가속도 신호의 데이터에 포함된 군집 분류 인덱스를 상호 비교하여, 입력 신호의 데이터에 포함된 군집 분류 인덱스와 가속도 신호의 데이터에 포함된 군집 분류 인덱스가 동일하지 않을 경우, 군집 인덱스 상호간의 거리를 아래의 수학식에 따라 계산하고, 군집 인덱스 상호간의 거리를 아래의 수학식에 따라 수집된 모든 훈련 데이터에 대하여 계산하고, 수집된 모든 훈련 데이터에 대하여 수집된 모든 훈련 데이터에 대하여 계산한 결과 입력 제스처 별로 가장 작은 거리 값을 가지는 입력 제스처의 데이터 번호를 각각 후보 제스처로 선정하는 것을 포함한다.
Figure 112018013065570-pat00032
여기서,
Figure 112018013065570-pat00033
는 수집된 모든 제스처의 집합인
Figure 112018013065570-pat00034
에 수집된 샘플 데이터의 길이이고,
Figure 112018013065570-pat00035
은 제1군집 및 제2군집의 중심좌표이고,
Figure 112018013065570-pat00036
은 수집 장치에서 수집된 가속도 신호인
Figure 112018013065570-pat00037
와 자이로 신호인
Figure 112018013065570-pat00038
를 포함한 신호로
Figure 112018013065570-pat00039
와 같이 나타낼 수 있다.
본 발명의 또 다른 특징에 따르면, 제어부는, 선정된 각각의 후보 제스처를 아래의 수학식에 따라 정규화하고, 정규화된 값을 기반으로, 후보 제스처 중 설정된 값 이상의 값을 가지는 후보 제스처를 최종 제스처로 선정하는 것을 포함한다.
Figure 112018013065570-pat00040
여기서,
Figure 112018013065570-pat00041
은 후보 제스처의 각각의 평균을 나타낸 것이고,
Figure 112018013065570-pat00042
은 후보 제스처의 표준편차를 나타낸 것이고,
Figure 112018013065570-pat00043
은 후보 제스처들이 정규화되기 전의 값을 나타낸 것이고,
Figure 112018013065570-pat00044
은 후보 제스처들이 정규화된 후의 값을 나타낸 것이다.
본 발명은 히스토그램 비교 및 군집화 인덱스 사이의 거리를 이용한 제스처 인식 알고리즘을 적용하여, 사용자의 제스처에 대한 정확한 인식이 가능하게 하는 연속 제스처 인식 시스템을 제공할 수 있다.
본 발명은 시간축의 반대 방향으로 제스처 인식 알고리즘을 다시 한번 적용하여, 사용자의 제스처 인식 결과를 향상시켜 주는 연속 제스처 인식 시스템을 제공할 수 있다.
발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 본 발명의 일 실시 예에 따른 수집 장치의 구성을 개략적으로 도시한 블록도이다.
도 2는 본 발명의 일 실시 예에 따른 연속 제스처 인식 장치의 구성을 개략적으로 도시한 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 가속도 및 자이로 신호 수집을 위해 구현한 소프트웨어의 GUI 화면을 나타낸 도면이다.
도 4는 본 발명의 일 실시 예에 따른 동적 윈도우 획득 방식을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시 예에 따른 동적 윈도우 획득 방식으로 활성화 구간을 검출한 예를 설명하기 위한 도면이다.
도 6a 및 도 6b는 본 발명의 일 실시 예에 따른 가속도 신호와 자이로 신호의 5 군집 분류 결과의 예를 나타내는 도면이다.
도 7은 본 발명의 일 실시 예에 따른 도수 분포표에 대한 히스토그램을 나타낸 도면이다.
도 8은 본 발명의 일 실시 예에 따른 히스토그램 비교의 예시를 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시 예에 따른 히스토그램 비교를 통한 제스처 인식 알고리즘을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시 예에 따른 군집 인덱스 거리 계산을 이용한 제스처 인식 알고리즘을 설명하기 위한 도면이다.
도 11은 본 발명의 또 다른 실시 예에 따른 반대 방향으로 제스처 인식 알고리즘을 적용한 예를 설명하기 위한 도면이다.
도 12는 본 발명의 일 실시 예에 따른 제스처 인식 소프트웨어의 GUI 화면을 나타낸 도면이다.
도 13은 본 발명의 일 실시 예에 따른 연속 제스처 인식 장치의 동작 순서를 도시한 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 펌웨어 (firmware), 소프트웨어 (software), 또는 하드웨어 (hardware) 로 구성된, 알고리즘 또는 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 알고리즘 또는 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 디지털 신호 처리 디바이스 (Digital Signal Processing Device) 의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 알고리즘 또는 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 여러 실시 예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시 예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시 예들을 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 따른 수집 장치의 구성을 개략적으로 도시한 블록도이다. 먼저, 본 발명의 일 실시 예에 따른 수집 장치(100)는 훈련 데이터(training data)를 수집하기 위해 3축 가속도 신호(three axis acceleration signal) 및 3축 자이로 신호(three axis gyro signal)를 출력하는 장치로써, 예를 들면, 각종 센서가 내장되어 있는 스마트 폰, 마이오 암밴드(Myo Armband)와 같은 웨어러블 제스처 인식 장치 및 손목 착용형 제스처 인식 장치 등일 수 있다.
구체적으로, 도 1에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 수집 장치(100)는 입력부(110), 출력부(120), 센서부(130), 통신부(140), 전원부(150) 및 제어부(160)를 포함한다.
입력부(110)는 사용자에게 입력 인터페이스를 제공한다.
출력부(120)는 3축 가속도 신호 및 3축 자이로 신호를 출력한다.
센서부(130)는 각종 센서가 내장될 수 있는데, 예를 들면, 가속도 센서, 자이로 센서, RGB 센서, 제스처 센서, 기압 센서, 근접 센서, 홀 센서, 온도 및 습도 센서, 지자기 센서 등이 내장될 수 있다.
통신부(140)는 컴퓨터, 서버 또는 휴대용 단말기 등과 통신을 가능하게 한다. 예를 들면, 통신부(140)는 출력부(120)에서 출력된 신호를 연속 제스처 인식 장치로 전송할 수 있다.
전원부(150)는 수집 장치(100)에 전원을 공급한다.
제어부(160)는 여러 가지 소프트웨어 프로그램을 실행하여 수집 장치(100)를 위한 여러 기능을 수행하며 또한 음성 통신 및 데이터 통신을 위한 처리 및 제어를 수행한다.
도 2는 본 발명의 일 실시 예에 따른 연속 제스처 인식 장치의 구성을 개략적으로 도시한 블록도이다. 먼저, 도 2에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 연속 제스처 인식 장치(200)는 통신부(210), 수집부(220), 저장부(230) 및 제어부(240)를 포함한다.
통신부(210)는 컴퓨터, 서버 또는 휴대용 단말기 등과 통신을 가능하게 한다. 예를 들면, 통신부(210)는 설정된 수집 장치와 데이터 통신을 수행한다.
수집부(220)는 설정된 수집 장치에서 출력된 3축 가속도 신호 및 3축 자이로 신호를 기반으로, 설정된 복수의 기본 제스처를 수집한다.
저장부(230) 제어부(240)의 제어에 따라 각종 정보를 저장한다.
제어부(240)는 여러 가지의 소프트웨어 프로그램을 실행하여 연속 제스처 인식 장치(200)를 위한 여러 기능을 수행하며 또한 음성 통신 및 데이터 통신을 위한 처리 및 제어를 수행한다.
구체적으로, 제어부(240)는 훈련 데이터를 수집하기 위해, 수집된 복수의 기본 제스처 각각의 시작 구간과 종료 구간을 검출하여, 복수의 기본 제스처의 활성화 구간을 각각 검출하고, 설정된 수집 장치로부터 출력된 3축 가속도 신호 및 3축 자이로 신호를 기반으로, 입력 신호를 확인하고, 확인된 입력 신호를 설정된 구간 사이로 정규화하고, 군집 인덱스를 할당하기 위해, 제1알고리즘을 이용하여 상기 정규화된 입력 신호를 가속도 신호 성분만이 포함된 제1군집 및 자이로 신호 성분만이 포함된 제2군집으로 각각 구별하여 분류하고, 할당된 군집 인덱스를 기반으로, 제2알고리즘 및 제3알고리즘 중 적어도 하나의 알고리즘을 이용하여, 입력 제스처를 인식한다.
또한, 제어부(240)는 3축 자이로 신호의 크기 변화에 따라 동적 윈도우를 변화시키면서 활성화 구간을 검출하되, 시작 구간과 종료 구간을 검출할 때까지 반복한다.
또한, 제어부(240)는 정규화된 입력 신호를 가속도 신호 성분만이 포함된 제1군집 및 자이로 신호 성분만이 포함된 제2군집으로 아래의 수학식에 따라 각각 구별하여 분류한다.
Figure 112018013065570-pat00045
여기서,
Figure 112018013065570-pat00046
은 군집 인덱스를 나타내고, n은
Figure 112018013065570-pat00047
사이의 값을 가지고,
Figure 112018013065570-pat00048
는 수집된 모든 제스처의 집합인
Figure 112018013065570-pat00049
에 수집된 샘플 데이터의 길이이고,
Figure 112018013065570-pat00050
은 제1군집 및 제2군집의 중심좌표이고,
Figure 112018013065570-pat00051
은 상기
Figure 112018013065570-pat00052
에 수집된 가속도 신호 및 자이로 신호의 집합이다.
또한, 제어부(240)는 확인된 입력 신호의 데이터의 길이가 수집된 훈련 데이터 중 가속도 신호의 최대 샘플 데이터의 길이와 동일하게 될 경우, 시간 축인 인덱스 순서에 매칭되는 각각의 입력 신호의 데이터에 포함된 군집 인덱스와 가속도 신호의 데이터에 포함된 군집 인덱스를 상호 비교하여, 히스토그램의 유사도를 아래의 수학식에 따라 검출하고, 히스토그램의 유사도를 아래의 수학식에 따라 수집된 모든 훈련 데이터에 대하여 검출하고, 수집된 모든 훈련 데이터에 대하여 히스토그램의 유사도를 검출한 결과 가장 높은 값을 가지는 입력 제스처의 데이터 번호를 제1후보 제스처로 선정하고, 확인된 입력 신호의 데이터의 길이가 수집된 훈련 데이터 중 자이로 신호의 최대 샘플 데이터의 길이와 동일하게 될 경우, 시간 축인 인덱스 순서에 매칭되는 각각의 입력 신호의 데이터에 포함된 군집 인덱스와 자이로 신호의 데이터에 포함된 군집 인덱스를 상호 비교하여, 히스토그램의 유사도를 아래의 수학식에 따라 검출하고, 히스토그램의 유사도를 아래의 수학식에 따라 수집된 모든 훈련 데이터에 대하여 검출하고, 수집된 모든 훈련 데이터에 대하여 히스토그램의 유사도를 검출한 결과 가장 높은 값을 가지는 입력 제스처의 데이터 번호를 제2후보 제스처로 선정하고, 제1후보 제스처와 제2후보 제스처가 동일할 경우, 제1후보 제스처 또는 제2후보 제스처를 최종 제스처로 선택한다.
Figure 112018013065570-pat00053
여기서, I는 훈련 데이터이고, M은 입력 데이터이고, j는 인덱스이다.
또한, 제어부(240)는 확인된 입력 신호의 데이터의 길이가 수집된 훈련 데이터 중 가속도 신호의 최대 샘플 데이터의 길이와 동일하게 될 경우, 시간 축인 인덱스 순서에 매칭되는 각각의 입력 신호의 데이터에 포함된 군집 인덱스와 가속도 신호의 데이터에 포함된 군집 인덱스를 상호 비교하여, 입력 신호의 데이터에 포함된 군집 인덱스와 가속도 신호의 데이터에 포함된 군집 인덱스가 동일할 경우, 군집 인덱스 상호간의 거리를 0으로 계산한다.
또한, 제어부(240)는 확인된 입력 신호의 데이터의 길이가 수집된 훈련 데이터 중 가속도 신호의 최대 샘플 데이터의 길이와 동일하게 될 경우, 시간 축인 인덱스 순서에 매칭되는 각각의 입력 신호의 데이터에 포함된 군집 인덱스와 가속도 신호의 데이터에 포함된 군집 인덱스를 상호 비교하여, 입력 신호의 데이터에 포함된 군집 인덱스와 가속도 신호의 데이터에 포함된 군집 인덱스가 동일하지 않을 경우, 군집 인덱스 상호간의 거리를 아래의 수학식에 따라 계산하고, 군집 인덱스 상호간의 거리를 아래의 수학식에 따라 수집된 모든 훈련 데이터에 대하여 계산하고, 수집된 모든 훈련 데이터에 대하여 수집된 모든 훈련 데이터에 대하여 계산한 결과 입력 제스처 별로 가장 작은 거리 값을 가지는 입력 제스처의 데이터 번호를 각각 후보 제스처로 선정한다.
Figure 112018013065570-pat00054
여기서,
Figure 112018013065570-pat00055
는 수집된 모든 제스처의 집합인
Figure 112018013065570-pat00056
에 수집된 샘플 데이터의 길이이고,
Figure 112018013065570-pat00057
은 제1군집 및 제2군집의 중심좌표이고,
Figure 112018013065570-pat00058
은 수집 장치에서 수집된 가속도 신호인
Figure 112018013065570-pat00059
와 자이로 신호인
Figure 112018013065570-pat00060
를 포함한 신호로
Figure 112018013065570-pat00061
와 같이 나타낼 수 있다.
또한, 제어부(240)는 선정된 각각의 후보 제스처를 아래의 수학식에 따라 정규화하고, 정규화된 값을 기반으로, 후보 제스처 중 설정된 값 이상의 값을 가지는 후보 제스처를 최종 제스처로 선정한다. 여기서,
Figure 112018013065570-pat00062
여기서,
Figure 112018013065570-pat00063
은 후보 제스처의 각각의 평균을 나타낸 것이고,
Figure 112018013065570-pat00064
은 후보 제스처의 표준편차를 나타낸 것이고,
Figure 112018013065570-pat00065
은 후보 제스처들이 정규화되기 전의 값을 나타낸 것이고,
Figure 112018013065570-pat00066
은 후보 제스처들이 정규화된 후의 값을 나타낸 것이다.
도 3은 본 발명의 일 실시 예에 따른 가속도 및 자이로 신호 수집을 위해 구현한 소프트웨어의 GUI 화면을 나타낸 도면이다. 먼저, 본 발명의 일 실시 예에서는 설정된 수집 장치를 이용하여 훈련 데이터를 수집하기 위해 기본 제스처를 정의하였다.
구체적으로, 본 발명의 일 실시 예에 따른 기본 제스처 14가지 목록은 아래의 표 1과 같다.
준비자세 팔의 움직임 제스처 번호 팔의 움직임 제스처 번호
Figure 112018013065570-pat00067
Figure 112018013065570-pat00068
1
Figure 112018013065570-pat00069
2
Figure 112018013065570-pat00070
3
Figure 112018013065570-pat00071
4
Figure 112018013065570-pat00072
5
Figure 112018013065570-pat00073
6
Figure 112018013065570-pat00074
7
Figure 112018013065570-pat00075
8
Figure 112018013065570-pat00076
9
Figure 112018013065570-pat00077
10
Figure 112018013065570-pat00078
11
Figure 112018013065570-pat00079
12
Figure 112018013065570-pat00080
13
Figure 112018013065570-pat00081
14
먼저, 사용자가 수집 장치를 소지하거나 착용한 후, 연속 제스처 인식 장치 앞에서 준비 자세를 취하게 되면, 훈련 데이터의 수집 절차가 시작된다. 이후, 사용자는 기본 제스처(1 내지 14)를 모두 수행한 뒤 동작의 마지막 지점에서 정지한 신호를 수집하기 위해 설정된 시간 동안 정지한다.
이때, 사용자는 기본 제스처(1 내지 14)를 수행하는 동작을 여러 번 반복하고, 준비 자세에서 움직임이 없는 상태의 자세도 이후에 있을 군집화를 위해 추가로 취한다.
도 3에 도시된 바와 같이, 본 발명의 일 실시 예에서는 훈련 데이터의 수집의 편의성과 효율성을 높이기 위해 연속 제스처 인식 장치에는 설정된 프로그래밍 언어로 제작된 소프트웨어를 설치하였다.
상술한 연속 제스처 인식 장치에 설치된 소프트웨어에는 수집해야 하는 제스처 목록이 표시되고, 동영상을 재생할 수 있으며, result 탭에는 수집한 신호와 활성화 구간을 검출한 결과를 디스플레이할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 동적 윈도우 획득 방식을 설명하기 위한 도면이다. 연속 제스처 인식 장치에서 훈련 데이터로 사용되는 각각의 제스처의 활성화 구간의 데이터이기 때문에 훈련 데이터 수집 과정에서 활성화 구간을 검출하는 것은 훈련 데이터의 수집 효율을 높일 수 있다.
이하, 본 발명의 일 실시 예에 따른 동적 윈도우(dynamic window) 획득 방식에 대해서 상세히 설명하겠다.
먼저, 설정된 수집 장치에서 출력되는 디지털화 된 가속도 신호를
Figure 112018013065570-pat00082
, 자이로 신호를
Figure 112018013065570-pat00083
라고 하면, 수집하는 신호는 아래의 수학식 1과 같다.
Figure 112018013065570-pat00084
또한, 자이로 신호의 크기(
Figure 112018013065570-pat00085
)는 아래의 수학식 2와 같다.
Figure 112018013065570-pat00086
여기서, 동적 윈도우 획득 방식이란 입력되는 가속도 신호의 크기(
Figure 112018013065570-pat00087
) 변화에 따라 동적 윈도우의 길이를 변화시키면서 활성화 구간을 검출하는 방식이다. 이때, 동적 윈도우 획득 방식은 제스처의 시작 전과 종료 후의 일정 길이의 휴지 구간이 있어야 적용 가능하다.
이하, 도 4를 참조하여, 본 발명의 일 실시 예에 따른 동적 윈도우 획득 방식을 상세히 설명하도록 하겠다. 여기서, 도 4의 각각의 그래프의 가로 축은 시간 축이고, 세로축은 자이로 신호의 크기이고, 동적 윈도우의 최대 길이를 5로 설정하였으며, 동적 윈도우가 포함할 수 있는 크기 범위는 동적 윈도우 기준 값의 ±0.2로 설정한 경우에 대하서 설명해 보겠다.
먼저, 도 4의 첫 번째 그래프를 살펴보면, 인덱스(index) 1은 최초 입력이 시작되는 지점이고, 인덱스 1에서 입력되는 값(value)은 0.5가 된다. 이때, 새로운 윈도우가 생성되어 0.5는 동적 윈도우의 기준 값이 되어, 동적 윈도우가 포함될 수 있는 값의 범위는 동적 윈도우 기준 값의 ±0.2인 [0.3, 0.7]이 되고, 동적 윈도우의 길이는 1이 된다.
도 4의 두 번째 그래프를 살펴보면, 인덱스 2에서 입력되는 값은 0.6이고, 0.6의 입력 값은 [0.3, 0.7] 사이로 동적 윈도우가 포함될 수 있는 값의 범위를 만족하며, 동적 윈도우의 길이는 2가 된다.
도 4의 세 번째 그래프를 살펴보면, 인덱스 3에서 입력되는 값은 0.6이고, 0.6의 입력 값은 [0.3, 0.7] 사이로 동적 윈도우가 포함될 수 있는 값의 범위를 만족하며, 동적 윈도우의 길이는 3이 된다.
도 4의 네 번째 그래프를 살펴보면, 인덱스 4에서 입력되는 값은 0.5이고, 0.5의 입력 값은 [0.3, 0.7] 사이로 동적 윈도우가 포함될 수 있는 값의 범위를 만족하며, 동적 윈도우의 길이는 4가 된다.
도 4의 다섯 번째 그래프를 살펴보면, 인덱스 5에서 입력되는 값은 0.7이고, 0.7의 입력 값은 [0.3, 0.7] 사이로 동적 윈도우가 포함될 수 있는 값의 범위를 만족하며, 동적 윈도우의 길이는 5가 된다.
도 4의 여섯 번째 그래프를 살펴보면, 인덱스 6에서 입력되는 값은 0.8이 되어, 0.8의 입력 값은 [0.3, 0.7] 사이를 벗어나는 값으로 동적 윈도우가 포함될 수 있는 값의 범위를 만족하지 않는 값이다. 따라서, 새로운 윈도우가 생성되어 0.8은 동적 윈도우의 새로운 기준 값이 되어, 동적 윈도우가 포함될 수 있는 값의 범위는 동적 윈도우 기준 값의 ±0.2인 [0.6, 1.0]이 되고, 동적 윈도우의 길이는 1이 된다.
도 4의 일곱 번째 그래프를 살펴보면, 인덱스 7에서 입력되는 값은 0.9이고, 0.9의 입력 값은 [0.6, 1.0] 사이로 동적 윈도우가 포함될 수 있는 값의 범위를 만족하며, 동적 윈도우의 길이는 2가 된다.
도 4의 여덟 번째 그래프를 살펴보면, 인덱스 8에서 입력되는 값은 0.7이고, 0.7의 입력 값은 [0.6, 1.0] 사이로 동적 윈도우가 포함될 수 있는 값의 범위를 만족하며, 동적 윈도우의 길이는 3이 된다.
상술한 과정은 제스처의 시작 지점과 종료 지점을 검출할 때까지 반복된다. 상술한 실시 예에서 동적 윈도우의 길이가 5 이상이고, 동적 윈도우가 포함할 수 있는 값의 범위 밖의 값이 입력된 여섯 번째 실시 예의 인덱스 6이 제스처의 시작 지점이 된다. 또한, 시작 지점을 검출한 후 동적 윈도우의 길이가 5가 되었을 대 그 동적 윈도우의 첫 번째 값의 인덱스를 종료 지점으로 검출한다.
도 5는 본 발명의 일 실시 예에 따른 동적 윈도우 획득 방식으로 활성화 구간을 검출한 예를 설명하기 위한 도면이다. 먼저, 도 5에 도시된 바와 같이, 본 발명의 일 실시 예에 따르면, 데이터 수집 과정에서 기본 제스처에 동적 윈도우 획득 방식을 적용하여 활성화 구간을 검출할 수 있다.
예를 들면, 도 5는 본 발명의 일 실시 예에 따른 기본 제스처 12번에 동적 윈도우 획득 방식을 적용하여 활성화 구간을 검출한 예를 나타낸다.
도 5에서 휴지 구간에서는 동적 윈도우의 길이가 계속 증가할 것이고, 움직임이 시작된 지점부터는 입력되는 값의 크기가 크게 변하므로 동적 윈도우가 새로 생성되는 과정을 반복할 것이고, 종료 지점에서는 윈도우의 길이가 증가될 것으로 예상할 수 있다.
도 6a 및 도 6b는 본 발명의 일 실시 예에 따른 가속도 신호와 자이로 신호의 5 군집 분류 결과의 예를 나타내는 도면이다. 먼저, 본 발명의 일 실시 예에 따른 수집된 모든 제스처의 집합은 아래의 <수학식 3>과 같이 나타낼 수 있다.
Figure 112018013065570-pat00088
이때, N은 기본 제스처의 개수를 나타낸 것이고, M은 수집 반복 횟수를 나타낸 것이다.
여기서, 수학식 3을 통하여 수집된 모든 제스처의 집합 G를 제스처 사전이라고 정의한다.
이때,
Figure 112018013065570-pat00089
에 수집된 샘플의 길이를
Figure 112018013065570-pat00090
라 하고,
Figure 112018013065570-pat00091
에 수집된 가속도 신호와 자이로 신호의 집합을
Figure 112018013065570-pat00092
라 정의할 때,
Figure 112018013065570-pat00093
는 아래의 수학식 4와 같이 나타낼 수 있다.
Figure 112018013065570-pat00094
따라서, 상술한 수학식 3 및 수학식 4를 종합해 보면, 수집된 신호의 전체 집합을
Figure 112018013065570-pat00095
로 나타낼 수 있다.
또한, 본 발명의 일 실시 예에서는 설정된 수집 장치에서 출력된 3축의 가속도 신호와 3축의 자이로 신호는 값의 동적 범위가 서로 다르기 때문에 각 축의 값을 [0, 1] 사이로 정규화하였다.
또한, 본 발명의 일 실시 예에서는 정규화된 신호의 전체 집합 X에서 가속도 신호와 자이로 신호를 구분하여 설정된 알고리즘을 사용하여, 각각 K개의 서로 다른 군집
Figure 112018013065570-pat00096
로 구분하고, 각 군집의 중심좌표를
Figure 112018013065570-pat00097
로 정의하였다.
여기서, 설정된 알고리즘이란 K-평균 알고리즘(K-means algorithm)으로 주어진 데이터를 K개의 군집으로 묶는 알고리즘으로 각 군집과의 거리 차이의 분산을 최소화하는 방식으로 동작하는 알고리즘이다.
이에 따라, 군집 인덱스(clustering index)를
Figure 112018013065570-pat00098
이라고 하면,
Figure 112018013065570-pat00099
를 결정하는 식은 아래의 <수학식 5>에 따라 정의된다.
Figure 112018013065570-pat00100
여기서,
Figure 112018013065570-pat00101
은 군집 인덱스를 나타내고, n은
Figure 112018013065570-pat00102
사이의 값을 가지고,
Figure 112018013065570-pat00103
는 수집된 모든 제스처의 집합인
Figure 112018013065570-pat00104
에 수집된 샘플 데이터의 길이이고,
Figure 112018013065570-pat00105
은 제1군집 및 제2군집의 중심좌표이고,
Figure 112018013065570-pat00106
은 상기
Figure 112018013065570-pat00107
에 수집된 가속도 신호 및 자이로 신호의 집합이다.
예를 들면, 도 6a에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 가속도 신호의 5 군집 분류 결과의 예를 나타낼 수 있고, 도 6b에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 자이로 신호의 5 군집 분류의 결과의 예를 나타낼 수 있다.
도 7은 본 발명의 일 실시 예에 따른 도수 분포표에 대한 히스토그램을 나타낸 도면이다. 먼저, 앞서 설명한 바와 같이,
Figure 112018013065570-pat00108
는 가속도 신호의 군집 인덱스 집합과 자이로 신호의 군집 인덱스 집합을 가진다.
이후, 연속 제스처 인식 장치는 각각의 군집 인덱스로 히스토그램을 구한다. 여기서, 히스토그램이란 도수 분포표를 기반으로, 가로 축에 변량을 취하고 세로 축에 통계량을 막대 모양 길이로 표시한 것이다. 이러한, 히스토그램을 통하여 사용자는 데이터의 분포를 직관적으로 파악할 수 있다.
예를 들면, 연속 제스처 인식 장치는 아래의 표 2에 도시된 것과 같이 수집한 제스처 11번의 군집 인덱스 집합의 도수 분포표를 기반으로, 도 7에 도시된 바와 같은 히스토그램을 구할 수 있다.
군집 인덱스 개수
0 0
1 31
2 9
3 28
4 14
도 8은 본 발명의 일 실시 예에 따른 히스토그램 비교의 예시를 설명하기 위한 도면이다. 이하, 히스토그램 비교를 통한 제스처 인식 방법을 간략히 설명하겠다.
먼저, 연속 제스처 인식 장치에서 입력 신호가 들어오는 것을 확인할 경우, 연속 제스처 인식 장치는 확인된 입력 신호를 정규화하고, 군집 분류를 하여 군집 인덱스를 할당한다.
연속 제스처 인식 장치에서의 제스처의 인식은 입력 신호를 최대 샘플 길이의 훈련 데이터만큼 입력 신호 열이 구성되었을 때 시작된다. 이후, 신호 열이 구성되면 연속 제스처 인식 장치는
Figure 112018013065570-pat00109
부터
Figure 112018013065570-pat00110
까지 차례로 히스토그램 비교를 한다. 히스토그램의 비교는 입력신호 열의 처음부터 각 훈련 데이터의 샘플 길이만큼의 데이터와 비교하며 가속도 신호의 히스토그램과 자이로 신호의 히스토그램 2 분류로 나누어 실시한다. 상술한 히스토그램 비교식은 아래의 수학식 6에 결정된다.
Figure 112018013065570-pat00111
여기서, I는 훈련 데이터이고, M은 입력 데이터이고, j는 인덱스이다.
연속 제스처 인식 장치에서는 상술한 과정을 모든 훈련 데이터의 가속도 히스토그램 및 자이로 히스토그램을 비교하여 유사도를 구한 뒤 각각 가장 높은 값을 가지는 제스처 번호를 선택한다. 여기서, 선택된 제스처를 최종 제스처의 전 제스처인 후보 제스처라고 정의한다.
만약, 연속 제스처 인식 장치에서 가속도 히스토그램과 자이로 히스토그램 비교를 통해 구해진 각각의 후보 제스처 결과가 같을 경우, 연속 제스처 인식 장치는 후보 제스처를 최종 제스처로 선택한다.
그러나, 연속 제스처 인식 장치에서 가속도 히스토그램과 자이로 히스토그램 비교를 통해 구해진 각각의 후보 제스처 결과가 다를 경우, 최종 제스처 선택을 잠시 보류한 후, 슬라이딩 윈도우 기법(sliding window technique)을 적용하여 매 샘플 제스처 인식 과정을 반복하게 된다.
이와 관련하여, 히스토그램 비교의 구체적인 예시는 도 9를 통하여 상세히 후술하도록 하겠다.
도 9는 본 발명의 일 실시 예에 따른 히스토그램 비교를 통한 제스처 인식 알고리즘을 설명하기 위한 도면이다. 먼저, 도 9에 도시된 바와 같이, 인덱스(index)는 시간 축이고, 각각의 테이블 안의 숫자는 군집 분류 인덱스를 나타낸 것이다. 또한, 본 실시 예에서는 제스처 사전에서 g31의 샘플의 개수가 가장 많다고 가정하고 설명하도록 하겠다.
먼저, 연속 제스처 인식 장치는 입력 신호의 데이터의 길이가 수집된 훈련 데이터 샘플의 최대 길이인 11개가 되면 제스처 인식을 시작한다.
이후, 연속 제스처 인식 장치는 g11의 인덱스 1 내지 8까지의 히스토그램과 입력 신호열 인덱스 1 내지 8까지 히스토그램을 상술한 수학식 6을 통하여 유사도를 구한다.
이후, 연속 제스처 인식 장치는 g31의 인덱스 1 내지 11까지의 히스토그램과 입력 신호열 인덱스 1 내지 11까지 히스토그램을 상술한 수학식 6을 통해 비교하여 유사도를 구한다. 연속 제스처 인식 장치는 이러한 과정을 모든 훈련 데이터에 대해 반복한다.
이후, 연속 제스처 인식 장치는 모든 훈련 데이터에 대해 비교가 끝났으면, 가속도 히스토그램과 자이로 히스토그램의 비교 값 중 각각에 대해 가장 큰 값을 가지는 제스처 번호를 구한다.
만약, 연속 제스처 인식 장치에서 구한 두 후보 제스처의 번호가 같으면, 해당 제스처를 선택하고, 다르면 제스처 선택을 보류한다.
이후, 연속 제스처 인식 장치는 슬라이딩 윈도우 기법을 적용하여 인덱스 2부터 위의 과정을 반복한다.
도 10은 본 발명의 일 실시 예에 따른 군집 인덱스 거리 계산을 이용한 제스처 인식 알고리즘을 설명하기 위한 도면이다.
먼저, 연속 제스처 인식 장치는 정규화된 신호의 집합 X에 포함되어 있는 모든 샘플을 K-평균 군집화 알고리즘을 사용하여 군집화한다.
이후, 연속 제스처 인식 장치에서 제스처를 인식하는 방식은 앞서 상술한 히스토그램과 유사하다. 구체적으로, 연속 제스처 인식 장치는 입력 신호가 들어오면 정규화를 하고, 상술한 수학식 5에 따라 군집 분류한다.
이후, 연속 제스처 인식 장치는 입력 신호를 최대 샘플 길이의 훈련 데이터만큼 신호 열을 구성하고, 각각의 제스처와 제스처 길이만큼의 입력 신호열의 군집 인덱스를 비교하여 거리를 계산하는데, 거리 계산식은 아래의 <수학식 7>과 같다.
Figure 112018013065570-pat00112
여기서,
Figure 112018013065570-pat00113
는 수집된 모든 제스처의 집합인
Figure 112018013065570-pat00114
에 수집된 샘플 데이터의 길이이고,
Figure 112018013065570-pat00115
은 제1군집 및 제2군집의 중심좌표이고,
Figure 112018013065570-pat00116
은 수집 장치에서 수집된 가속도 신호인
Figure 112018013065570-pat00117
와 자이로 신호인
Figure 112018013065570-pat00118
를 포함한 신호로
Figure 112018013065570-pat00119
와 같이 나타낼 수 있다.
만약, 연속 제스처 인식 장치에서 같은 인덱스의 군집 인덱스가 같으면 거리를 0으로 계산하고, 군집 인덱스가 다르면 훈련 데이터의 정규화된 신호와 입력 신호의 군집 인덱스 중심 좌표 사이의 거리 및 평균을 구한다.
상술한 수학식 7을 통하여 구한 거리(d)를 평균 오차라고 한다.
이후, 연속 제스처 인식 장치는 상술한 과정을 반복하여 모든 제스처들의 평균 오차를 구하고, 제스처 번호 별로 가장 작은 평균 오차를 가지는 제스처를 하나씩 선택한다. 이와 같이, 연속 제스처 인식 장치에서 각 제스처 별로 하나씩 선택한 제스처들을 후보 제스처라고 한다.
이하, 연속 제스처 인식 장치에서 선택된 후보 제스처 중에서 최종 제스처를 선택하는 방법을 설명하겠다.
먼저, 연속 제스처 인식 장치는 후보 제스처들의 평균 오차를 가지고 아래의 수학식 8을 통하여 정규화한다.
Figure 112018013065570-pat00120
여기서,
Figure 112018013065570-pat00121
은 후보 제스처의 각각의 평균을 나타낸 것이고,
Figure 112018013065570-pat00122
은 후보 제스처의 표준편차를 나타낸 것이고,
Figure 112018013065570-pat00123
은 후보 제스처들이 정규화되기 전의 값을 나타낸 것이고,
Figure 112018013065570-pat00124
은 후보 제스처들이 정규화된 후의 값을 나타낸 것이다.
상술한 바와 같이, 정규화된 값들은 평균과의 거리가 표준편차의 몇 배인지를 나타내는 값이고, 어떤 값이 얼마나 이상한 값인지 수치화하는 방법이다.
이러한 값들이 평균과 가깝게 분포되어 있으면 0에 가까운 수치를 가지고, 특정 값이 평균과의 차이가 크면 이상치를 가지게 된다.
이하, 본 발명의 일 실시 예에서는 설명의 편의상 -2.0 이상을 이상치로 설정하고 이상치보다 작은 값이 있을 경우에 최종 제스처로 선택했다. 만약, 이상치보다 작은 값이 없을 경우 최종 제스처 선택을 보류한 후, 슬라이딩 윈도우 기법을 이용하여 반복한다.
도 10에 도시된 바와 같이, 본 발명의 일 실시 예에서는 제스처 사전에서
Figure 112018013065570-pat00125
의 샘플의 개수가 가장 많다고 가정한 후, 군집 인덱스 거리 계산을 이용한 제스처 인식 과정을 상세히 설명하도록 하겠다.
최초, 연속 제스처 인식 장치에서는
Figure 112018013065570-pat00126
의 샘플의 개수가 11개이기 때문에 입력 신호가 11개가 되면 제스처 인식을 시작한다.
이후, 연속 제스처 인식 장치는
Figure 112018013065570-pat00127
의 1번 내지 11번 군집 인덱스와 입력 신호의 1번 내지 11번 군집 인덱스를 상호 비교한다. 이하에서는 구체적으로 살펴보겠다.
인덱스 1에서
Figure 112018013065570-pat00128
의 군집 인덱스는 1이고, 입력 신호의 군집 인덱스도 1이기 때문에 연속 제스처 인식 장치는 거리를 0으로 계산한다.
인덱스 2에서도
Figure 112018013065570-pat00129
의 군집 인덱스와 입력 신호의 군집 인덱스도 동일하므로, 연속 제스처 인식 장치는 거리를 0으로 계산한다.
인덱스 3에서
Figure 112018013065570-pat00130
의 군집 인덱스는 2이고, 입력 신호의 군집 인덱스는 3으로 서로 군집 인덱스가 다르기 때문에 연속 제스처 인식 장치는 군집 인덱스 2의 중심좌표와 입력 신호의 가속도, 자이로 신호의 거리를 계산한다.
이후, 연속 제스처 인식 장치는 상술한 과정을 인덱스 11까지 반복하여
Figure 112018013065570-pat00131
의 평균 오차를 구한다.
이후, 연속 제스처 인식 장치는 상술한 과정을 모든 훈련 데이터에 대하여 반복한다.
이후, 연속 제스처 인식 장치는 각 제스처 별로 가장 작은 오차를 갖는 제스처를 하나씩 선택한다.
이후, 연속 제스처 인식 장치는 후보 제스처의 평균 오차 값들을 상술한 <수학식 8>에 따라 정규화한다.
이후, 연속 제스처 인식 장치는 정규화된 값에서 -2.0 이상이고, 첫 번째 최솟값과 두 번째 최솟값의 차이가 -0.5 이하인 조건을 충족하는 경우 가장 작은 값을 가지는 후보 제스처를 최종 제스처로 선택한다. 여기서, 상술한 조건을 충족해야 하는 이유는 실험과정에서 슬라이딩 윈도우 기법으로 이동하며 평균 오차를 계산할 경우, 평균 오차가 작은 후보 제스처가 여러 개 나올 수 있는데 이와 같은 경우 최종 제스처의 선택을 보류하고 분명하게 최종 제스처를 선택하기 위함이다.
이후, 연속 제스처 인식 장치는 상술한 과정을 슬라이딩 윈도우 기법을 이용해서 반복한다.
도 11은 본 발명의 또 다른 실시 예에 따른 반대 방향으로 제스처 인식 알고리즘을 적용한 예를 설명하기 위한 도면이다. 먼저, 도 11을 설명하기 위한 또 다른 실시 예에서의 제스처 인식 알고리즘은 히스토그램 비교를 통한 제스처 인식 알고리즘과 군집화 인덱스 사이의 거리를 이용한 제스처 인식 알고리즘으로 상술한 바와 같이 동일한 알고리즘이다.
본 발명의 또 다른 실시 예에서는 연속 제스처 인식 장치에서 제스처의 인식률을 보다 높이기 위해 상술한 알고리즘에 대해 시작점을 새롭게 설정(시간축 방향으로 제스처가 인식된 지점)한 후, 시간축의 정 방향으로 제스처 인식 알고리즘을 설정된 샘플만큼 적용한 결과와 시간축의 반대 방향으로 제스처 인식 알고리즘을 설정된 샘플만큼 적용한 결과 중 가장 많이 인식된 번호를 최종 제스처로 선택한다.
이때, 시간축의 정 방향으로 제스처 인식 알고리즘을 설정된 샘플만큼 적용한 결과와 시간축의 반대 방향으로 제스처 인식 알고리즘을 설정된 샘플만큼 적용한 결과가 동일할 경우, 연속 제스처 인식 장치는 새롭게 설정된 시작점부터 반대 방향의 샘플 사이 구간을 인식된 제스처 구간으로 할당하고, 그 다음 샘플부터 동일하게 제스처 인식을 반복한다.
이하, 도 11을 참조하여, 본 발명의 또 다른 실시 예인 반대 방향으로 제스처 인식 알고리즘을 적용한 예를 상세히 설명하는데, 인덱스 1에서의 인식 결과는 g3이고, 선택된 최종 제스처는 g31이며, 시간축의 정 방향 및 반대 방향으로 5샘플의 훈련 데이터를 이용하는 경우에 대하여 설명해 보겠다.
먼저, 도 11에 도시된 바와 같이, 인덱스 1에서의 인식 결과는 g3이고, 선택된 최종 제스처는 g31이기 때문에, 연속 제스처 인식 장치는 g31의 샘플 길이만큼 더한 위치인 인덱스 11을 새롭게 시작점으로 설정한 후, 시간축의 정 방향으로 제스처 인식 알고리즘을 설정된 샘플만큼 적용한 결과와 시간축의 반대 방향으로 제스처 인식 알고리즘을 설정된 샘플만큼 적용한 결과 중 가장 많이 인식된 번호를 최종 제스처로 선택한다.
구체적으로, 연속 제스처 인식 장치는 새로운 시작점인 인덱스 11부터 시작하여 인덱스 10, 인덱스 9, 인덱스 8, 인덱스 7 순서로 5샘플 훈련 데이터를 이동하며 제스처 인식을 동일하게 진행한 후, 과반수 이상인 제스처를 선택한다.
본 실시 예에서는 시간축의 정 반향으로 실시한 인덱스 1의 제스처 인식 결과인 g3와 시간축의 반대 방향을 실시한 최종 제스처 인식 결과가 g3로 동일하므로, 연속 제스처 인식 장치는 인덱스 7부터 인덱스 11까지의 구간을 g3의 제스처 구간으로 할당한다.
표 3은 수집 장치가 스마트 폰일 경우 수집한 데이터의 제스처 인식 결과를 나타낸 테이블이고, 표 4는 수집 장치가 마이오 암밴드일 경우 수집한 데이터의 제스처 인식 결과를 나타낸 테이블이며, 표 5는 수집 장치가 손목 착용형 장치일 경우 수집한 데이터의 제스처 인식 결과를 나타낸 테이블이다.
휴지 구간의 길이 히스토그램 군집 인덱스
거리 계산
0배 96.26 97.5
0.25배 96.26 97.5
0.5배 97.67 98.21
0.75배 97.67 98.21
1배 97.67 98.21
1.5배 97.67 98.21
휴지 구간의 길이 히스토그램 군집 인덱스
거리 계산
0배 96.31 97.24
0.25배 96.31 97.24
0.5배 98.57 98.73
0.75배 98.57 98.73
1배 98.57 98.73
1.5배 98.57 98.73
휴지 구간의 길이 히스토그램 군집 인덱스
거리 계산
0배 95.83 96.35
0.25배 95.83 96.35
0.5배 97.31 97.92
0.75배 97.31 97.92
1배 97.31 97.92
1.5배 97.31 97.92
표 3 내지 표 5에 도시된 바와 같이, 본 발명의 또 다른 실시 예에 따른 시간축의 반대 방향으로 제스처 인식 알고리즘을 적용한 결과 히스토그램 및 군집 인덱스 거리 계산 알고리즘 모두에서 제스처 인식률이 상승했음을 확인할 수 있다.
도 12는 본 발명의 일 실시 예에 따른 제스처 인식 소프트웨어의 GUI 화면을 나타낸 도면이다. 먼저, 도 12에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 제스처 인식 소프트웨어는 연속 제스처 인식 장치에 설치될 수 있는 소프트웨어로, 사용자가 수집 장치를 착용하고 제스처를 취하면 인식 결과를 디스플레이한다.
도 13은 본 발명의 일 실시 예에 따른 연속 제스처 인식 장치의 동작 순서를 도시한 순서도이다. 먼저, 도 13에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 연속 제스처 인식 장치는 설정된 수집 장치에서 출력된 3축 가속도 신호 및 3축 자이로 신호를 기반으로, 설정된 복수의 기본 제스처를 수집한다(S1310).
이후, 연속 제스처 인식 장치는 훈련 데이터를 수집하기 위해, 수집된 복수의 기본 제스처 각각의 시작 구간과 종료 구간을 검출하여, 복수의 기본 제스처의 활성화 구간을 각각 검출한다(S1320).
이후, 연속 제스처 인식 장치는 설정된 수집 장치로부터 출력된 3축 가속도 신호 및 3축 자이로 신호를 기반으로, 입력 신호를 확인한다(S1330).
이후, 연속 제스처 인식 장치는 확인된 입력 신호를 설정된 구간 사이로 정규화한다(S1340).
이후, 연속 제스처 인식 장치는 군집 인덱스를 할당하기 위해, 제1알고리즘을 이용하여 정규화된 입력 신호를 가속도 신호 성분만이 포함된 제1군집 및 자이로 신호 성분만이 포함된 제2군집으로 각각 구별하여 분류한다(S1350).
이후, 할당된 군집 인덱스를 기반으로, 제2알고리즘 및 제3알고리즘 중 적어도 하나의 알고리즘을 이용하여, 입력 제스처를 인식한다(S1560).
본 명세서에서, 각 블록 또는 각 단계는 특정된 논리적 기능 (들) 을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
본 명세서에 개시된 실시 예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈 또는 그 2 개의 결합으로 직접 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되며, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로 (ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시 예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시 예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100 수집 장치
110 입력부
120 출력부
130 센서부
140 통신부
150 전원부
160 제어부
200 연속 제스처 인식 장치
210 통신부
220 수집부
230 저장부
240 제어부

Claims (11)

  1. 설정된 수집 장치에서 출력된 3축 가속도 신호(three axis acceleration signal) 및 3축 자이로 신호(three axis gyro signal)를 기반으로, 설정된 복수의 기본 제스처(gesture)를 수집하는 단계;
    훈련 데이터(training data)를 수집하기 위해, 상기 수집된 복수의 기본 제스처 각각의 시작 구간(start point)과 종료 구간(stop point)을 검출하여, 상기 복수의 기본 제스처의 활성화 구간을 각각 검출하는 단계;
    상기 설정된 수집 장치로부터 출력된 3축 가속도 신호 및 3축 자이로 신호를 기반으로, 입력 신호를 확인하는 단계;
    상기 확인된 입력 신호를 설정된 구간 사이로 정규화(normalization)하는 단계;
    군집 인덱스(clustering index)를 할당하기 위해, 제1알고리즘을 이용하여 상기 정규화된 입력 신호를 가속도 신호 성분만이 포함된 제1군집 및 자이로 신호 성분만이 포함된 제2군집으로 각각 구별하여 분류하는 단계;
    상기 할당된 군집 인덱스를 기반으로, 제2알고리즘 및 제3알고리즘 중 적어도 하나의 알고리즘을 이용하여, 입력 제스처를 인식하는 단계를 포함하고,
    상기 정규화된 입력 신호를 가속도 신호 성분만이 포함된 제1군집 및 자이로 신호 성분만이 포함된 제2군집으로 각각 구별하여 분류하는 단계는,
    아래의 수학식에 따라 정의되는 것을 포함하는, 연속 제스처 인식 방법.
    Figure 112019061692503-pat00168

    여기서,
    Figure 112019061692503-pat00169
    은 군집 인덱스를 나타내고, n은
    Figure 112019061692503-pat00170
    사이의 값을 가지고,
    Figure 112019061692503-pat00171
    는 수집된 모든 제스처의 집합인
    Figure 112019061692503-pat00172
    에 수집된 샘플 데이터의 길이이고,
    Figure 112019061692503-pat00173
    은 제1군집 및 제2군집의 중심좌표이고,
    Figure 112019061692503-pat00174
    은 상기
    Figure 112019061692503-pat00175
    에 수집된 가속도 신호 및 자이로 신호의 집합이다.
  2. 제1항에 있어서,
    상기 복수의 기본 제스처의 활성화 구간을 각각 검출하는 단계는,
    상기 3축 자이로 신호의 크기 변화에 따라 동적 윈도우(dynamic window)를 변화시키면서 상기 활성화 구간을 검출하는 단계를 포함하되,
    상기 시작 구간과 종료 구간을 검출할 때까지 반복하는, 연속 제스처 인식 방법.
  3. 제1항에 있어서,
    상기 제1알고리즘은,
    K 평균 알고리즘(K-means algorithm)인, 연속 제스처 인식 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 제2알고리즘을 이용하여, 입력 제스처를 인식하는 단계는,
    상기 확인된 입력 신호의 데이터의 길이가 상기 수집된 훈련 데이터 중 상기 가속도 신호의 최대 샘플 데이터의 길이와 동일하게 될 경우, 시간 축인 인덱스 순서에 매칭되는 각각의 입력 신호의 데이터에 포함된 군집 분류 인덱스와 가속도 신호의 데이터에 포함된 군집 분류 인덱스를 상호 비교하여, 히스토그램의 유사도를 아래의 수학식에 따라 검출하는 단계;
    상기 히스토그램의 유사도를 아래의 수학식에 따라 상기 수집된 모든 훈련 데이터에 대하여 검출하는 단계;
    상기 수집된 모든 훈련 데이터에 대하여 상기 히스토그램의 유사도를 검출한 결과 가장 높은 값을 가지는 입력 제스처의 데이터 번호를 제1후보 제스처로 선정하는 단계;
    상기 확인된 입력 신호의 데이터의 길이가 상기 수집된 훈련 데이터 중 상기 자이로 신호의 최대 샘플 데이터의 길이와 동일하게 될 경우, 시간 축인 인덱스 순서에 매칭되는 각각의 입력 신호의 데이터에 포함된 군집 분류 인덱스와 자이로 신호의 데이터에 포함된 군집 분류 인덱스를 상호 비교하여, 히스토그램의 유사도를 아래의 수학식에 따라 검출하는 단계;
    상기 히스토그램의 유사도를 아래의 수학식에 따라 상기 수집된 모든 훈련 데이터에 대하여 검출하는 단계;
    상기 수집된 모든 훈련 데이터에 대하여 상기 히스토그램의 유사도를 검출한 결과 가장 높은 값을 가지는 입력 제스처의 데이터 번호를 제2후보 제스처로 선정하는 단계; 및
    상기 제1후보 제스처와 상기 제2후보 제스처가 동일할 경우, 상기 제1후보 제스처 또는 상기 제2후보 제스처를 최종 제스처로 선택하는 단계를 포함하는, 연속 제스처 인식 방법.
    Figure 112018013065570-pat00140

    여기서, I는 상기 훈련 데이터이고, M은 입력 데이터이고, j는 상기 인덱스이다.
  6. 제5항에 있어서,
    상기 제1후보 제스처와 상기 제2후보 제스처가 동일하지 않을 경우, 상기 제1후보 제스처와 상기 제2후보 제스처가 동일할 때까지 슬라이딩 윈도우 기법(sliding window technique)으로, 상기 제1후보 제스처 및 상기 제2후보 제스처의 선정을 반복하는 단계를 더 포함하는, 연속 제스처 인식 방법.
  7. 제1항에 있어서,
    상기 제3알고리즘을 이용하여, 입력 제스처를 인식하는 단계는,
    상기 확인된 입력 신호의 데이터의 길이가 상기 수집된 훈련 데이터 중 상기 가속도 신호의 최대 샘플 데이터의 길이와 동일하게 될 경우, 시간 축인 인덱스 순서에 매칭되는 각각의 입력 신호의 데이터에 포함된 군집 분류 인덱스와 가속도 신호의 데이터에 포함된 군집 분류 인덱스를 상호 비교하여, 상기 입력 신호의 데이터에 포함된 군집 분류 인덱스와 상기 가속도 신호의 데이터에 포함된 군집 분류 인덱스가 동일할 경우, 군집 인덱스 상호간의 거리를 0으로 계산하는 단계를 포함하는, 연속 제스처 인식 방법.
  8. 제1항에 있어서,
    상기 제3알고리즘을 이용하여, 입력 제스처를 인식하는 단계는,
    상기 확인된 입력 신호의 데이터의 길이가 상기 수집된 훈련 데이터 중 상기 가속도 신호의 최대 샘플 데이터의 길이와 동일하게 될 경우, 시간 축인 인덱스 순서에 매칭되는 각각의 입력 신호의 데이터에 포함된 군집 분류 인덱스와 가속도 신호의 데이터에 포함된 군집 분류 인덱스를 상호 비교하여, 상기 입력 신호의 데이터에 포함된 군집 분류 인덱스와 상기 가속도 신호의 데이터에 포함된 군집 분류 인덱스가 동일하지 않을 경우, 군집 인덱스 상호간의 거리를 아래의 수학식에 따라 계산하는 단계;
    상기 군집 인덱스 상호간의 거리를 아래의 수학식에 따라 상기 수집된 모든 훈련 데이터에 대하여 계산하는 단계; 및
    상기 수집된 모든 훈련 데이터에 대하여 상기 수집된 모든 훈련 데이터에 대하여 계산한 결과 상기 입력 제스처 별로 가장 작은 거리 값을 가지는 입력 제스처의 데이터 번호를 각각 후보 제스처로 선정하는 단계를 포함하는, 연속 제스처 인식 방법.
    Figure 112018013065570-pat00141

    여기서,
    Figure 112018013065570-pat00142
    는 수집된 모든 제스처의 집합인
    Figure 112018013065570-pat00143
    에 수집된 샘플 데이터의 길이이고,
    Figure 112018013065570-pat00144
    은 제1군집 및 제2군집의 중심좌표이고,
    Figure 112018013065570-pat00145
    은 수집 장치에서 수집된 가속도 신호인
    Figure 112018013065570-pat00146
    와 자이로 신호인
    Figure 112018013065570-pat00147
    를 포함한 신호로
    Figure 112018013065570-pat00148
    와 같이 나타낼 수 있다.
  9. 제8항에 있어서,
    상기 선정된 각각의 후보 제스처를 아래의 수학식에 따라 정규화하는 단계; 및
    상기 정규화된 값을 기반으로, 상기 후보 제스처 중 설정된 값 이상의 값을 가지는 후보 제스처를 최종 제스처로 선정하는 단계를 포함하는, 연속 제스처 인식 방법.
    Figure 112018013065570-pat00149

    여기서,
    Figure 112018013065570-pat00150
    은 후보 제스처의 각각의 평균을 나타낸 것이고,
    Figure 112018013065570-pat00151
    은 후보 제스처의 표준편차를 나타낸 것이고,
    Figure 112018013065570-pat00152
    은 후보 제스처들이 정규화되기 전의 값을 나타낸 것이고,
    Figure 112018013065570-pat00153
    은 후보 제스처들이 정규화된 후의 값을 나타낸 것이다.
  10. 각종 정보를 저장하는 저장부;
    설정된 수집 장치와 데이터 통신을 수행하는 통신부;
    상기 설정된 수집 장치에서 출력된 3축 가속도 신호 및 3축 자이로 신호를 기반으로, 설정된 복수의 기본 제스처를 수집하는 수집부; 및
    훈련 데이터를 수집하기 위해, 상기 수집된 복수의 기본 제스처 각각의 시작 구간과 종료 구간을 검출하여, 상기 복수의 기본 제스처의 활성화 구간을 각각 검출하고, 상기 설정된 수집 장치로부터 출력된 3축 가속도 신호 및 3축 자이로 신호를 기반으로, 입력 신호를 확인하고, 상기 확인된 입력 신호를 설정된 구간 사이로 정규화하고, 군집 인덱스를 할당하기 위해, 제1알고리즘을 이용하여 상기 정규화된 입력 신호를 가속도 신호 성분만이 포함된 제1군집 및 자이로 신호 성분만이 포함된 제2군집으로 아래의 수학식에 따라 각각 구별하여 분류하고, 상기 할당된 군집 인덱스를 기반으로, 제2알고리즘 및 제3알고리즘 중 적어도 하나의 알고리즘을 이용하여, 입력 제스처를 인식하는 제어부를 포함하는, 연속 제스처 인식 장치.
    Figure 112019061692503-pat00176

    여기서,
    Figure 112019061692503-pat00177
    은 군집 인덱스를 나타내고, n은
    Figure 112019061692503-pat00178
    사이의 값을 가지고,
    Figure 112019061692503-pat00179
    는 수집된 모든 제스처의 집합인
    Figure 112019061692503-pat00180
    에 수집된 샘플 데이터의 길이이고,
    Figure 112019061692503-pat00181
    은 제1군집 및 제2군집의 중심좌표이고,
    Figure 112019061692503-pat00182
    은 상기
    Figure 112019061692503-pat00183
    에 수집된 가속도 신호 및 자이로 신호의 집합이다.
  11. 제10항에 있어서,
    상기 제어부는,
    상기 3축 자이로 신호의 크기 변화에 따라 동적 윈도우를 변화시키면서 상기 활성화 구간을 검출하되, 상기 시작 구간과 종료 구간을 검출할 때까지 반복하는 것을 포함하는, 연속 제스처 인식 장치.
KR1020180014542A 2018-02-06 2018-02-06 연속 제스처 인식 시스템 KR102035860B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180014542A KR102035860B1 (ko) 2018-02-06 2018-02-06 연속 제스처 인식 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180014542A KR102035860B1 (ko) 2018-02-06 2018-02-06 연속 제스처 인식 시스템

Publications (2)

Publication Number Publication Date
KR20190094881A KR20190094881A (ko) 2019-08-14
KR102035860B1 true KR102035860B1 (ko) 2019-10-23

Family

ID=67622364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180014542A KR102035860B1 (ko) 2018-02-06 2018-02-06 연속 제스처 인식 시스템

Country Status (1)

Country Link
KR (1) KR102035860B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210126354A (ko) * 2020-04-10 2021-10-20 한국항공대학교산학협력단 웨어러블 디바이스 기반 적응형 dtw을 이용한 손동작 인식기 및 인식 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102302790B1 (ko) * 2019-11-28 2021-09-16 한국전자기술연구원 전자 장치 및 그 제스처 감지 방법
CN111221420B (zh) * 2020-01-13 2021-07-30 深圳大学 一种基于智能手表的2d移动轨迹识别方法和***
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
JP2015207308A (ja) * 2010-03-29 2015-11-19 ソニー株式会社 データ処理装置および方法、並びに、データ処理システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102060723B1 (ko) * 2013-01-18 2019-12-31 삼성전자주식회사 사용자 행동 인식 장치, onmf 기반 기저 행렬 생성 방법 및 ossnmf 기반 기저 행렬 생성 방법
KR101485821B1 (ko) * 2013-06-27 2015-01-28 조경식 사용자 모션을 이용한 원격 컨트롤 모듈 및 방법
KR101872907B1 (ko) * 2016-01-12 2018-06-29 경희대학교 산학협력단 듀얼 스마트 밴드를 이용한 모션 분석 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015207308A (ja) * 2010-03-29 2015-11-19 ソニー株式会社 データ処理装置および方法、並びに、データ処理システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210126354A (ko) * 2020-04-10 2021-10-20 한국항공대학교산학협력단 웨어러블 디바이스 기반 적응형 dtw을 이용한 손동작 인식기 및 인식 방법
KR102316556B1 (ko) 2020-04-10 2021-10-22 한국항공대학교산학협력단 웨어러블 디바이스 기반 적응형 dtw을 이용한 손동작 인식기 및 인식 방법

Also Published As

Publication number Publication date
KR20190094881A (ko) 2019-08-14

Similar Documents

Publication Publication Date Title
KR102035860B1 (ko) 연속 제스처 인식 시스템
CN106537305B (zh) 对触摸事件进行分类的方法以及触敏设备
KR101682268B1 (ko) 다중 클래스 svm과 트리 분류를 이용한 제스처 인식 장치 및 방법
EP2708981B1 (en) Gesture recognition apparatus, control method thereof, display instrument, and computer readable medium
Bhuyan et al. Fingertip detection for hand pose recognition
JP2020155129A (ja) ジェスチャー認識方法、ジェスチャー認識装置、電子機器、及び記憶媒体
CN104050449A (zh) 一种人脸识别方法及装置
JP2014137818A (ja) 手の平開閉動作識別方法と装置、マン・マシン・インタラクション方法と設備
US9779292B2 (en) System and method for interactive sketch recognition based on geometric contraints
US20130295529A1 (en) Method and apparatus for recognizing sign language using electromyogram sensor and gyro sensor
CN107909042B (zh) 一种连续手势切分识别方法
KR101559502B1 (ko) 실시간 손 포즈 인식을 통한 비접촉식 입력 인터페이스 방법 및 기록 매체
CN112148128A (zh) 一种实时手势识别方法、装置及人机交互***
EP2919136A1 (en) Method and device for clustering
Cenedese et al. Home automation oriented gesture classification from inertial measurements
US10078373B2 (en) Method of temporal segmentation of an instrumented gesture, associated device and terminal
Hassan et al. User-dependent sign language recognition using motion detection
Tian et al. Automatic histogram-based initialization of k-means clustering in CT
US12000868B2 (en) Waveform segmentation device and waveform segmentation method
TWI224288B (en) Method for aligning gesture feature of image
US20230097355A1 (en) Three-dimensional gesture detection device and three-dimensional gesture detection method
Tsai et al. Reverse time ordered stroke context for air-writing recognition
TW202228016A (zh) 動作辨識裝置及動作辨識方法
US10712881B2 (en) Input device, object detection device, and method thereof
KR101112763B1 (ko) 근전도 센서 및 관성 센서를 이용한 마우스 인터페이스 방법 및 시스템

Legal Events

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