KR20140083848A - 센서 데이터를 활용한 제스처 인식 방법 및 장치 - Google Patents

센서 데이터를 활용한 제스처 인식 방법 및 장치 Download PDF

Info

Publication number
KR20140083848A
KR20140083848A KR1020130047214A KR20130047214A KR20140083848A KR 20140083848 A KR20140083848 A KR 20140083848A KR 1020130047214 A KR1020130047214 A KR 1020130047214A KR 20130047214 A KR20130047214 A KR 20130047214A KR 20140083848 A KR20140083848 A KR 20140083848A
Authority
KR
South Korea
Prior art keywords
sensor
orientation
gesture
sensor data
rotational displacement
Prior art date
Application number
KR1020130047214A
Other languages
English (en)
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 전남대학교산학협력단
Publication of KR20140083848A publication Critical patent/KR20140083848A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72454User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/12Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion

Landscapes

  • Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 스마트폰과 같은 제한된 환경을 갖는 사용자 장치에서의 센서 정보를 활용한 모션 제스처 인식 방법 및 장치에 관한 것으로서, 특히, 스마트폰에 내장된 가속도, 자계, 자이로 센서를 이용하여 사용자가 움직이면서 발생되는 모션 데이터를 활용하여 관측 정보를 생성하고, HMM(Hidden Markov Model)을 이용하여 제스처를 학습하고 인식하는 방법을 제공하며, 내장된 다양한 센서를 개별적으로 혹은 상호 보완하여 다양한 입력 신호를 생성할 수 있으며, 직각좌표계에서 구좌표계로의 좌표변환을 수행하는 양자화 기법을 통하여 기본 모션에 더욱 민감한 결과를 보이며, 또한 사용자의 모션 데이터를 이용하여 학습 및 인식 과정이 이루어질 경우, 보다 직관적이고 사용자마다 개별적인 제스처를 등록하여 활용할 수 있게 된다.

Description

센서 데이터를 활용한 제스처 인식 방법 및 장치{Gesture Recognition Method and Apparatus Using Sensor Data}
본 발명은 스마트폰과 같은 제한된 환경을 갖는 사용자 장치에서의 센서 정보를 활용한 모션 제스처 인식 방법 및 장치에 관한 것으로서, 특히, 사용자 장치에 내장된 가속도, 자계, 자이로 센서를 이용하여 사용자가 움직이면서 발생되는 모션 데이터를 활용하여 관측 정보를 생성하고, HMM(Hidden Markov Model)을 이용하여 제스처를 학습하고 인식하는 방법 및 장치에 관한 것이다.
스마트폰의 성능이 발달하고, 보급이 증가하면서 기존 기기들의 다양한 기능들이 스마트폰 하나에 집적되고 있다. 스마트폰에 집적되는 이러한 다양한 기능(Application)의 증가에 따라서, 이를 효율적으로 다루기 위한 입력 수단의 필요성이 대두되었는데, 최근에는 사용자의 움직임을 반영하기 위한 스마트폰 센서 정보기반 제스처 인식 연구가 활발히 진행 중이다.
스마트폰이 단순히 통화하는 기능에서 벗어나 다양한 기능을 담게 되면서, 스마트폰에 내장되는 센서 역시 다양하게 적용되었다. 초기에는 움직임을 감지하기 위한 가속도 센서, 방위를 알아내기 위한 용도의 자계 센서 정도를 내장하였지만 최근에는 이것들 외에도 자이로 센서, 조도 센서, 근접 센서 등 다양한 센서들이 추가되었다. 이러한 센서 중에서 가속도 센서, 자이로 센서는 스마트폰이 이동 또는 회전하면서 발생하는 데이터가 변화량에 따라 수치화된 형태로 나타나기 때문에 이를 활용한 다양한 연구가 진행되고 있다.
센서 데이터를 활용한 제스처 인식을 위해서는 가변적인 시계열 데이터 처리가 가능하여야 한다. 사용자가 동작을 취하는 과정에서 얻어지는 센서 데이터의 길이는 샘플링 시간이나 동작의 크기 등에 따라 가변적일 수 있으며, 시간적인 흐름에 따라 진행되기 때문에 이전 데이터와 이후 데이터와 밀접한 관련을 가지기 특성 때문이다. 이러한 두 가지 조건은 음성 인식에서의 조건과 유사하며, 일반적으로 음성인식에서 많이 적용되는 HMM(Hidden Markov Model)과 DTW(Dynamic Time Warping)이 센서 데이터를 이용한 제스처 인식에서도 유사하게 쓰일 수 있음을 알 수 있다.
한국공개특허 제10-2012-0111592, 2011년 04월 01일 공개 (명칭: 모바일 단말기의 사용자 행동패턴을 이용하여 개인화 서비스를 제공하는 방법 및 이를 위한 모바일 단말기)
본 발명은 스마트폰과 같은 제한된 환경을 갖는 사용자 장치에서의 센서 정보를 활용한 모션 제스처 인식 방법 및 장치에 관한 것으로서, 특히, 사용자 장치에 내장된 가속도, 자계, 자이로 센서를 이용하여 사용자가 움직이면서 발생되는 모션 데이터를 활용하여 관측 정보를 생성하고, HMM(Hidden Markov Model)을 이용하여 제스처를 학습하고 인식하는 방법 및 장치를 제공하고자 한다.
특히 본 발명은 센서가 내장된 사용자 장치가 가지는 기본축(X, Y, Z 축)에 대하여 더욱 민감한 인식이 가능한 센서 데이터를 활용한 제스처 인식 방법 및 장치를 제공하고자 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 센서 데이터를 활용한 제스처 인식 장치는, 사용자 장치의 움직임에 따른 제스처를 감지하여 센서 데이터를 생성하는 센서부; 및 상기 센서 데이터로부터 오리엔테이션 및 회전 변위를 산출하고, 산출된 오리엔테이션 및 회전 변위로 상기 사용자 장치의 최종 오리엔테이션을 구하며, 상기 최종 오리엔테이션의 양자화를 통해 직각 좌표계에서 구좌표계로의 변환을 수행하여 관측 벡터를 생성하고, 각 부류의 HMM(Hidden Markov Model)에 대해서 생성된 관측 벡터의 발생확률이 최대인 부류를 찾아 상기 제스처를 인식하는 제어부;를 포함한다.
상기 제어부는 관측 벡터가
Figure pat00001
이며,
Figure pat00002
가 부류
Figure pat00003
의 HMM일 때, 수학식
Figure pat00004
에 따라 관측 벡터의 발생확률이 최대인 부류를 찾는 것을 특징으로 한다.
상기 제어부는 HMM에 따라, A는 상태 전이 확률, B는 관측확률, 그리고, π는 초기 상태 확률 벡터이며, 매개변수 값이
Figure pat00005
일 때, 상기 학습은 수학식
Figure pat00006
에 따라 상기 관측 벡터(
Figure pat00007
)의 확률을 최대로 하는 매개변수 값 Θ를 추정하여, 상기 제스처를 학습하는 것을 특징으로 한다.
상기 센서부는 자계 센서, 가속도 센서 및 자이로 센서를 포함하는 것을 특징으로 하며, 상기 제어부는 상기 자계 센서 및 가속도 센서로부터 얻어진 센서 데이터로부터 상기 오리엔테이션을 산출하고, 상기 자이로 센서로부터 얻어진 센서 데이터로부터 상기 회전 변위를 산출하는 것을 특징으로 한다.
상기 제어부는 상기 오리엔테이션에 저역 필터를 적용하고 상기 회전 변위에 고역 필터를 적용하는 보정을 수행하며, 보정된 오리엔테이션 및 회전 변위를 통해 상기 사용자 장치의 최종 오리엔테이션을 구하는 것을 특징으로 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 센서 데이터를 활용한 제스처 인식 방법은, 사용자 장치의 움직임에 따른 제스처를 감지하여 센서 데이터를 생성하는 단계; 상기 센서 데이터로부터 오리엔테이션 및 회전 변위를 산출하는 단계; 산출된 오리엔테이션 및 회전 변위로 상기 사용자 장치의 최종 오리엔테이션을 구하는 단계; 상기 최종 오리엔테이션에 대하여 직각좌표계에서 구좌표계로의 좌표변환을 진행하는 양자화를 수행하여 관측 벡터를 생성하는 단계; 및 각 부류의 HMM(Hidden Markov Model)에 대해서 생성된 관측 벡터의 발생확률이 최대인 부류를 찾아 상기 제스처를 인식하는 단계;를 포함한다.
상기 제스처를 인식하는 단계는 관측 벡터가
Figure pat00008
이며,
Figure pat00009
가 부류
Figure pat00010
의 HMM일 때, 수학식
Figure pat00011
에 따라 관측 벡터의 발생 확률이 최대인 부류를 찾는 것을 특징으로 한다.
상기 관측 벡터를 생성하는 단계 후, HMM에 따라, A는 상태 전이 확률, B는 관측확률, 그리고, π는 초기 상태 확률 벡터이고, 매개변수 값이
Figure pat00012
일 때, 상기 학습은 수학식
Figure pat00013
에 따라 상기 관측 벡터(
Figure pat00014
)의 확률을 최대로 하는 매개변수 값 Θ를 추정하여, 상기 제스처를 학습하는 단계;를 더 포함한다.
상기 센서 데이터는 상기 사용자 장치의 자계 센서, 가속도 센서 및 자이로 센서를 통해 얻어지며, 상기 산출하는 단계는 상기 자계 센서 및 가속도 센서로부터 얻어진 센서 데이터로부터 상기 오리엔테이션을 산출하고, 상기 자이로 센서로부터 얻어진 센서 데이터로부터 상기 회전 변위를 산출하는 것을 특징으로 한다.
상기 최종 오리엔테이션을 구하는 단계는, 상기 오리엔테이션에 저역 필터를 적용하고 상기 회전 변위에 고역 필터를 적용하는 보정을 수행하며, 보정된 오리엔테이션 및 회전 변위를 통해 상기 사용자 장치의 최종 오리엔테이션을 구하는 것을 특징으로 한다.
본 발명은 다양한 센서 정보를 활용하여 센서 모듈의 움직임을 파악하고, 기본 축 회전에 민감한 모션 인식을 통하여 단순 모션 동작 인식 및 기본 모션의 조합을 통하여 보다 복잡한 모션 인식이 가능하도록 할 수 있다. 또한 모션 동작의 학습 및 인식이 가능함으로써 사용자마다 개별적인 제스처를 등록하여 사용가능하다는 장점을 가지고 있다.
도 1은 자계 센서, 가속도 센서, 자이로 센서에 적용된 좌표계를 나타내는 도면이다.
도 2a는 외력이 없는 상태의 가속도 센서 측정값을 나타내는 도면이다.
도 2b는 가속도 센서의 특성을 나타낸 도면이다.
도 3은 자이로 센서의 제어축을 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 사용자 장치의 구성을 설명하기 위한 블록도이다.
도 5는 8 스테이트 2차 마코프 좌우 모델의 HMM을 나타내는 도면이다.
도 6은 본 발명의 실시예에 따른 제스처 학습 및 인식 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시예에 따른 센서 데이터 보정 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 실시예에 따른 회전 변위 획득 과정을 나타낸 순서도이다.
도 9는 본 발명의 실시예에 따른 양자화 단계에 적용되는 구 좌표계를 나타낸 도면이다.
도 10은 본 발명의 실시예에 따른 양자화 과정을 나타낸 도면이다.
도 11은 본 발명의 실시예에 따른 Baum-Welch 학습 과정을 설명하는 도면이다.
도 12는 본 발명의 실시예에 따른 다수의 관측 정보를 활용한 HMM 모델 생성 과정을 나타낸 도면이다.
도 13은 본 발명의 실시예에 따른 성능 실험을 이용하여 정의된 제스처의 예시도이다.
하기의 설명에서는 본 발명의 실시예를 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 바람직한 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
본 발명에서 입력된 데이터를 바탕으로 제스처를 학습 및 인식을 하기 위하여 사용된 방법은 HMM이다. HMM은 순차 데이터의 패턴을 인식하고, 원하는 정보를 추론하는 모델로써, 관측 데이터를 얻기 위한 양자화 단계, 학습 단계, 인식 단계로 구성되어 있다. HMM이 이루어지기 위해서는 스칼라이면서 이산적인 값을 가진 관측 데이터의 생성이 먼저 이루어져야 하는데, 이러한 관측 데이터는 연속적으로 입력되는 센서 정보의 양자화 과정을 통하여 생성한다. 학습 단계는 Baum-Welch 알고리즘을 통하여 이루어지며, 관측 데이터를 바탕으로 기대 값을 구하는 E 단계와 최대화된 우도 값을 찾는 M 단계로 이루어진다. 인식 단계는 전방 알고리즘을 통하여 이루어지며, 전방 계산에 의하여 관측데이터에 대한 최적의 제스처 모델을 선택하게 된다.
센서 정보를 활용한 인식 기술은 보다 직관적이고 간편하게 기기를 사용하기위한 HCI(Human-Computer Interaction) 형태로 발전하였다. 특히, 최근에는 Nintendo社의 Wii와 Microsoft社의 Kinect와 같은 기기들의 보급이 확산되고, 연구 주제로까지 사용되면서 센서 정보를 활용한 모션 기반 제스처 인식 기술은 친숙하게 여겨질 만큼 생활 속 가까이 다가왔다. 센서를 이용한 제스처 기술들은 센서의 종류, 인식을 위한 알고리즘 등에 따라서 다양하게 분류가 가능하겠지만 본 발명에서는 단일 센서 기반 제스처 인식 방법과, 다중 센서를 이용한 제스처 인식 방법의 두 가지 형태로 분류하여 설명한다.
단일 센서를 이용한 제스처 인식
센서는 빛, 가속도, 각속도, 영상 등과 같이 주변의 상황 혹은 스스로의 변화를 감지하는 감지기를 말한다. 이러한 센서는 인간이 다섯 가지의 감각을 이용하여 외부의 상황을 파악하는 것과 유사하게 다양한 기능의 센서들이 쓰임새에 따라서 여러 분야에 사용된다. 이렇듯 다양한 센서의 종류 중에서도 카메라, 자계 센서, 가속도 센서, 자이로 센서, 조도 센서, 근접 센서 등은 스마트폰과 같은 모바일기기에 자주 사용되는 센서들이다.
스마트폰과 같은 모바일기기에 터치나 버튼을 제외한 다른 방법으로 입력을 전하는 방법은 많지 않다. 이러한 방법에는 크게 음성에 의한 입력 방법, 카메라 이미지에 의한 입력 방법, 그리고 움직임 변화에 의한 입력 방법이 있다.
음성에 의한 인식은 마이크나 전화 등을 통하여 입력된 음성 신호를 인식하는 방법을 말하며, 최근에 스마트폰에는 음성 인식과 함께 음성을 생성하는 speech-to-text processing과 함께 서비스 되고 있다. 음성 인식은 1952년 Davis가 음성 인식 연구를 발표한 이래 DTW, HMM 등 많은 알고리즘이 적용되었으며, 현재도 활발히 연구가 진행되는 분야이다. 현재는 꾸준한 연구의 결과로 상용 서비스를 적용하여 편의를 이끌어내는 단계에 이르렀으며, 지능형 시스템과 결합하여 새로운 서비스의 형태로 진화하기도 하였다.
카메라를 통한 사용자의 제스처 인식은 가장 많은 정보를 얻을 수 있다는 장점과 주변 사물의 정보를 함께 사용할 수 있다는 장점으로 인하여 비단 제스처 인식뿐만 아니라 물체 인식이나 위치 인식 등 여러 분야에서 가장 활발하게 연구되고 분야 중 하나이다. 적용 범위가 크고, 연구가 활발하게 이루어지고 있지만 많은 양의 연산과 환경 변화에 민감한 요인 등으로 제약이 많은 분야이기도 하다. 카메라를 통한 제스처 인식 및 적용 분야로는 핸드 제스처 및 수화인식, 3D 마우스 및 포인팅 등 다양한 분야가 있다.
움직임의 변화를 이용한 제스처 인식 방법은 물체를 이동 또는 회전하면서 발생되는 센서의 변화량을 이용한 제스처 인식 방법이다. 이 때, 사용자의 움직임을 측정하는데 사용하기 위한 센서는 실시간으로 사용자의 움직임에 따른 데이터를 얻을 수 있는 센서이어야만 하며, 가속도 센서, 자이로 센서 등이 이에 해당한다. 이 중, 가속도 센서는 사용자의 움직임 방향과 세기를 알아낼 수 있으며, 자이로 센서는 모바일기기의 회전 변화를 감지할 수 있다. 가속도 센서를 사용한 제스처 인식 연구와 자이로 센서를 이용한 제스처 인식 연구는 가속도 센서 및 자이로가 센서가 사용자가 취하는 동작을 구분하고 제스처를 학습 및 인식하기에 적합하다는 것을 보여준다.
다중 센서를 이용한 제스처 인식
센서들은 각기 고유한 특징을 가지고 있으며, 쓰고자 하는 환경이나 목적에 맞추어 다양하게 활용되어지는데, 복합적인 상황 데이터를 얻거나 정밀한 측정 정보를 얻고자 하는 경우 하나의 센서만을 사용해서는 이러한 요구 사항을 충족하기 어렵다. 손의 정확한 3차원 정보를 얻고 싶다거나, 물체의 정확한 회전 및 이동 변화를 얻고자 하는 경우가 바로 그것이다. 이러한 경우, 동일한 센서를 여러 개 사용하거나 서로 다른 종류의 센서를 조합하여, 특정치를 보정하거나 정밀한 데이터를 얻는 방법이 사용된다.
일반적으로 많이 쓰이는 방법은 두 대 혹은 여러 대의 카메라를 사용하는 방법이다. 두 대 혹은 여러 대의 카메라를 사용하는 방법은 카메라로부터 얻어진 이미지 사이의 기하학적인 관계를 이용하여 3차원 정보를 얻는 방법으로써 비교적 정확한 방법이지만 많은 연산 과정으로 인하여 알고리즘의 최적화와 컴퓨터의 연산 능력에 따라서 실시간 처리가 결정된다.
여러 센서의 측정값을 이용하여 신뢰도를 높이는 방법 또한 많이 쓰이는 방법이다. 가속도 센서와 자이로 센서의 측정값을 서로 보정하여 오리엔테이션을 구하는 방법이나 이러한 센서들을 담은 관성 센서 모듈과 카메라를 이용한 방법 등 여러 센서의 결합을 통한 연구가 활발히 진행 중이다.
내장 센서
다양한 입력 방법의 요구와 더불어 센서의 초소형 제작 기법이 발달하고 첨단 센서들의 소형화가 진행되면서 기기에 더욱 많은 센서들이 집적된 것이다. 이러한 스마트폰 내장 센서에는 카메라 센서, 음향 센서, 근접 센서, 조도 센서, 중력 센서, GPS 센서, 가속도 센서, 지자기 센서, 자이로스코프 센서 등이 있으며, 이외에도 다양한 센서들이 존재한다. 본 발명에서는 사용자가 움직이면서 발생하는 모션 데이터를 얻기에 적합한 자계 센서, 가속도 센서, 자이로센서에 대하여 소개한다.
도 1은 자계 센서, 가속도 센서, 자이로 센서에 적용된 좌표계를 나타내는 도면이다. 여기서, x축은 화면을 기준으로 화면이 작은 가로 부분, y축은 화면이 긴 세로 부분, z축은 화면의 윗부분이 된다. 다만 각 센서별로 다른 점은 자계 센서는 각 축으로 유입되는 자계의 세기를 측정하고, 가속도 센서는 각 축을 기준으로 힘의 세기를 측정하며, 자이로 센서는 각 축에 대한 회전 속도를 측정한다는 점이다.
자계 센서는 지자계를 이용하여 절대적인 방향을 측정하기 위해 사용되며, 네비게이션이 내장된 지도에서 정확한 방향을 알려주기 위해 많이 사용된다. 또한 다축 센서를 통하여 물체가 현재 향하고 있는 방향과 형태를 알아내는데 사용되기도 한다. 하지만 자계 센서는 측정 단위가 micro-Tesla(uT)일 정도로 미세하여 환경 요인에 민감하다는 단점을 가지고 있다. 따라서 정확한 측정값을 얻기 위하여 잦은 보정이 요구된다.
가속도 센서는 속도의 변화량을 측정하는 센서이다. 그리고 속도는 다시 이동 거리의 변화를 나타내므로, 이 관계를 이용하면 단위 시간당 이동 거리를 계산할 수 있다. 하지만 가속도 센서는 온전히 이동에 대한 값만을 측정하는 것은 아니다. 지구에서는 기본적으로 중력이 작용하기 때문에 이 중력에 의한 가속도를 고려하여 이동을 감안하여야 한다. 중력은 지구의 중심을 향해 9.8
Figure pat00015
의 속도로 작용하는 힘을 말하며, 평평하게 놓인 수직방향 성분을 나타내는 가속도 센서는 9.8
Figure pat00016
을 나타나게 된다. 도 2a는 외력이 가해지지 않은 상태에서의 가속도 센서 측정값을 나타내는 도면이다.
이러한 중력 가속도는 외력이 가해지지 않았을 경우 가속도의 크기가 9.8
Figure pat00017
으로 항상 같은 크기를 나타내고, 센서의 기울어진 상태에 따라서 각기 다른 값을 나타내기 때문에 모바일 기기의 기울어진 상태를 측정하기 위해 쓰이기도 한다.
가속도 센서는 기본적으로 용수철을 연결시킨 물체와 같은 특성을 가진다. 예를 들어, 이 물체의 우측에서 힘을 가하면 물체는 좌측으로 이동하였다가 우측으로 이동하였다가를 반복하면서 원래의 자리로 돌아간다. 물체에 가해지는 힘이 관성의 영향을 받는 것이다. 앞서 언급한 바와 같이 가속도 센서는 중력 가속도 값과 외력에 의한 값이 더해져서 측정되며, 따라서 자유 낙하 시 중력 가속도는 0
Figure pat00018
이 된다. 도 2b는 이러한 가속도 센서의 특성을 나타낸 것이다(1g는 9.8
Figure pat00019
).
자이로 센서는 단위 시간당 평균 각가속도를 나타내는 센서를 말한다. 이때, 자이로 센서는 제어축에 따라서 각기 다른 값을 나타낸다. 보통 직교하는 3축을 제어축으로 사용하며, 이것은 비행기와 같은 이동 물체 등이 자세 보정을 하는데 많이 쓰인다. 자이로 센서는 제어를 위한 회전축을 각각 요(Yaw), 피치(Pitch), 롤(Roll)이라고 부르며 그에 대한 것은 도 3에 도시된 바와 같다.
사용자가 스마트폰을 들고 모션을 취하면서 발생한 의미 있는 데이터로는 스마트폰 각 축에서 측정되는 힘의 변화, 오리엔테이션의 변화, 그리고 회전 변위 등이 있다. 여기서는 오리엔테이션과 회전 변위를 이용하는데, 오리엔테이션이란 물체가 바라보는 방위를 나타내며, 회전 변위는 물체가 단위 시간에 회전한 변화량을 나타낸다. 보통 스마트폰에는 자계, 가속도, 자이로 모두 3축 센서로 이루어져 있기 때문에 3축의 값을 사용한다.
오리엔테이션은 쉽게 자계 센서의 값이나 나침반 센서를 통하여 얻을 수 있지만 자계 센서와 가속도 센서의 값을 이용하여 보다 정밀한 오리엔테이션을 구할 수 있고, 이것이 많이 사용된다. 여기에서는 안드로이드 플랫폼에서 지원하는 센서매니저를 사용하여 오리엔테이션을 구한다.
회전 변위는 자이로 센서로부터 구할 수 있다. 자이로 센서는 단위 시간에 발생한 회전 변화인 각속도를 측정하며, 이것으로부터 회전 변위를 얻을 수 있다. 이 때, 회전 변위를 얻는 과정에서 계산의 편의와 보간, 회전변환 시 발생하는 짐벌락(gimbal lock) 등을 피하기 위하여 사원수(Quaternion)가 사용된다.
사원수는 3 개의 벡터(3개의 허수 i, j, k, 3개의 실수 x, y, z)와 1개의 스칼라로 이루어진 복소수의 확장된 개념이다. 이 때, 사원수는 아래 수학식 1과 같이 표현할 수 있으며, 수학식 2와 같이 벡터의 길이가 1이 되어야 한다. 수학식 3은 단위 사원수를 나타낸 것이다. 이 때, u는 회전축을 의미하며, θ는 회전량을 의미한다.
Figure pat00020
Figure pat00021
Figure pat00022
사원수는 회전 행렬로의 전환이 가능하다. 수학식 4는 회전 행렬과 사원수를 나타낸 것이며, 수학식 5는 회전 행렬을 사원수로 변환하는 것을 나타내고, 수학식 6은 사원수를 회전 행렬로 변환하는 방법을 나타낸다.
Figure pat00023
Figure pat00024
Figure pat00025
모바일 및 스마트폰 플랫폼은 다양하게 존재하며, 예를 들어, 안드로이드 플랫폼을 사용하여 센서 데이터를 취득할 수 있다. 안드로이드 플랫폼은 휴대 전화를 비롯한 휴대용 장치를 위한 운영 체제와 미들웨어, 사용자 인터페이스 그리고 표준 응용 프로그램을 포함하고 있는 모바일 운영 체제이다. 안드로이드는 리눅스 커널 위에서 동작하며, 다양한 C/C++ 라이브러리를 포함하고 있다. 이러한 다양한 라이브러리 중에서 센서를 다루기 쉽게 지원하는 부분이 센서매니저이다. 안드로이드 센서매니저는 자이로, 가속도, 자계, 선가속도, 방위, 기압 센서 등의 값을 얻을 수 있도록 해주며, 사원수 연산 등을 지원한다. 센서매니저는 이외에도 각 센서 사용의 시작과 중지, high, medium, low의 3단계로 이루어진 정확도 조절, 디바이스의 오리엔테이션 측정 등을 수행할 수 있다.
도 4는 본 발명의 실시예에 따른 사용자 장치의 구성을 설명하기 위한 블록도이다.
도 4를 참조하면, 본 발명의 실시예에 따른 사용자 장치(100)는 무선통신부(110), 입력부(120), 표시부(130), 저장부(140), 센서부(150) 및 제어부(160)를 포함한다.
무선통신부(110)는 사용자 장치(100)의 무선 통신을 위한 해당 데이터의 송수신 기능을 수행한다. 무선통신부(110)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF수신기 등으로 구성될 수 있다. 또한, 무선통신부(110)는 무선 채널을 통해 데이터를 수신하여 제어부(160)로 출력하고, 제어부(160)로부터 출력된 데이터를 무선 채널을 통해 전송할 수 있다.
입력부(120)는 사용자 장치(100)를 제어하기 위한 사용자의 키 조작을 입력받고 입력 신호를 생성하여 제어부(160)에 전달한다. 입력부(120)는 숫자 키, 방향키를 포함하는 키패드로 구성될 수 있으며, 사용자 장치(100)의 일면에 소정의 기능키로 형성될 수 있다. 일 실시예에 따라 표시부(130)가 터치스크린으로 형성되어, 터치스크린만으로 모든 조작이 가능한 휴대 단말기의 경우에는 입력부(120)가 생략될 수도 있다.
표시부(130)는 액정표시장치(LCD, Liquid Crystal Display), 유기 발광 다이오드(OLED, Organic Light Emitting Diodes), 능동형 유기 발광 다이오드(AMOLED, Active Matrix Organic Light Emitting Diodes) 등으로 형성될 수 있으며, 사용자 장치(100)의 메뉴, 입력된 데이터, 기능 설정 정보 및 기타 다양한 정보를 사용자에게 시각적으로 제공한다. 표시부(130)는 사용자 장치(100)의 부팅 화면, 대기 화면, 메뉴 화면, 통화 화면, 기타 어플리케이션 화면을 출력하는 기능을 수행한다. 특히, 표시부(130)가 터치스크린으로 이루어진 경우, 표시부(130)는 입력부(120) 기능의 일부 또는 전부를 수행할 수 있다.
저장부(140)는 사용자 장치(100)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행하며, 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 사용자 장치(100)의 전반적인 동작을 제어하는 프로그램 및 사용자 장치(100)를 부팅시키는 운영체제(OS, Operating System), 멀티미디어 컨텐츠 재생 등에 필요한 응용 프로그램, 사용자 장치(100)의 기타 옵션 기능, 예컨대, 카메라 기능, 소리 재생 기능, 이미지 또는 동영상 재생 기능에 필요한 응용 프로그램 등을 저장할 수 있다. 데이터 영역은 사용자 장치(100)의 사용에 따라 발생하는 데이터가 저장되는 영역으로서, 이미지, 동영상, 오디오 데이터 등을 저장할 수 있다.
센서부(150)는 적어도 하나의 센서를 포함하며, 각 센서를 통해 센서 데이터를 생성한다. 예컨대, 센서부(150)는 가속도 센서, 자계 센서 및 자이로 센서를 포함한다. 자계 센서와 가속도 센서가 감지한 센터 데이터는 사용자가 사용자 장치(100)를 움직이면, 발생되는 오리엔테이션(orientation)의 변화를 측정하는데 사용되고, 자이로 센서가 감지한 센서 데이터는 사용자 장치(100)가 회전되면서 발생하는 회전 변위를 얻는데 사용된다.
상기 제어부(160)는 휴대 단말기(100)의 전반적인 동작 및 휴대 단말기(100)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 이러한 상기 제어부(160)는 중앙 처리 장치(Central Processing Unit : CPU), 어플리케이션 프로세서(Application Processor) 등이 될 수 있다. 특히, 본 발명에 따른 제어부(160)는 센서부(150)로부터 센서 데이터를 획득하여, 획득된 센서 데이터로부터 오리엔테이션 및 회전 변위를 산출한다. 그런 다음, 제어부(160)는 산출된 오리엔테이션 및 회전 변위로 사용자 장치(100)의 최종 오리엔테이션을 도출한다. 이어서, 제어부(160)는 도출된 최종 오리엔테이션을 양자화 하여 관측 벡터를 생성한다. 생성된 관측 벡터는 HMM(Hidden Markov Model)을 이용한 제스처의 인식에 사용된다. 즉, 제어부(160)는 각 부류의 HMM(Hidden Markov Model)에 대해서 생성된 관측 벡터의 발생확률이 최대인 부류를 찾아 상기 제스처를 인식한다. 또한, 제어부(160)는 관측 벡터의 발생확률이 최대인 부류를 찾아 해당 제스처를 학습한다.
본 발명의 실시예에 따른 사용자 장치는 스마트폰을 예로 하여 설명하나, 이에 한정되는 것은 아니며, 전술한 센서부(150) 및 센서부(150)에 연결되어 센서 데이터를 처리할 수 있는 제어부(160)와 같은 구성을 가지는 어떠한 기기라도 본 발명의 사용자 장치가 될 수 있다.
제스처 학습 및 인식
본 발명에서는 모션 제스처의 학습 및 인식을 위하여 HMM(Hidden Markov Model)을 사용한다. HMM은 특징 사이에 시간 관계가 존재하는 음성이나 필기, 센서 데이터 등의 시계열 데이터 분류에 사용되는 방법으로, 데이터에 내재되어 있는 시간성을 적절히 표현하고, 그것으로부터 정보를 추출할 수 있는 모델이다. 본 발명에서는 도 5와 같이 8 스테이트, 2차 마코프, 좌우 모델을 사용한다. 8 스테이트는 8가지의 상태를 가지는 것을 의미하고, 2차 마코프는 현재의 관측 정보는 이전 두 개의 관측 정보에 영향을 받는다는 것을 의미하며, 좌우 모델은 관측이 왼쪽에서 오른쪽 방향으로 시간 순으로 진행한다는 의미이다.
HMM을 이용한 제스처 학습 및 인식 과정은 공통적으로 벡터 양자화를 통한 관측 데이터 생성 과정을 수행하며, 이후 학습 및 인식 프로세스에 따라서 각각 수행된다.
도 6은 본 발명의 실시예에 따른 제스처 학습 및 인식 방법을 설명하기 위한 흐름도이다.
도 6을 참조하면, 제어부(160)는 S610 단계에서 사용자 장치(100)의 움직임에 따라 센서부(150)를 통해 감지되는 센서 데이터를 획득한다. 센서부(150)는 가속도 센서, 자계 센서 및 자이로 센서를 포함한다. 여기서, 자계 센서와 가속도 센서가 감지한 센터 데이터는 사용자가 사용자 장치(100)를 움직이면, 발생되는 오리엔테이션(방향)의 변화를 측정하는데 사용되고, 자이로 센서가 감지한 센서 데이터는 사용자 장치(100)가 회전되면서 발생하는 회전 변위를 얻는데 사용된다.
센서 데이터를 획득한 후, 제어부(160) S620 단계에서 전처리 과정을 수행한다. 전처리 과정은 획득한 센서 데이터를 통해 오리엔테이션 계산하고, 초기 오리엔테이션을 저장하며, 회전 변위를 계산하는 과정을 포함하며, 그리고, 센서 데이터를 보정하는 과정을 더 포함한다. 그리고 이러한 센서 데이터 보정에 따라 사용자 장치(100)의 최종 오리엔테이션을 도출한다. 제스처 인식에 있어서 사용자 장치(100)의 오리엔테이션 또는 회전 변위만을 이용하는 경우, 제스처 인식을 위한 분별력은 있지만 센서 자체가 가지고 있는 노이즈나 에러, 잦은 보정의 필요성의 이유로 다른 센서와의 보정을 통하여 신뢰성을 높여야 한다.
이어서, 제어부(160)는 S630 단계에서 오리엔테이션 및 회전 변위를 이용하여, 직각좌표계에서 구좌표계로 변환하기 위한 벡터 양자화를 통한 관측 벡터를 생성한다. 즉, 지각좌표계에 기반한 오리엔테이션을 구좌표계로 좌표변환함으로써 관측 벡터를 생성한다. HMM를 이용한 제스처 학습 및 인식을 위해서는 관측 데이터(관측 벡터)를 생성하여야 하며, 관측 데이터는 이산적인 스칼라 값이어야 한다. 하지만 센서의 경우 연속적인 실수 데이터가 출력되므로, 실수 데이터를 양자화 하는 양자화 과정을 통하여 관측 데이터(관측 벡터)를 생성하여야 한다.
관측 벡터가 생성된 후, 학습 모드인지 혹은 인식 모드인지 여부에 따라, 사용자 장치(100)의 제스처를 움직임을 학습하거나, 혹은 인식할 수 있다. 이를 위하여, 제어부(160)는 S640 단계에서 학습 모드인지 혹은 인식 모드인지 여부를 판단한다.
상기 판단 결과, 학습 모드인 경우, 제어부(160)는 S650 단계에서 제스처를 학습한다. 이러한 학습 방법은 아래에서 더 상세하게 설명하기로 한다.
반대로, 상기 판단 결과, 인식 모드인 경우, 제어부(160)는 S660 단계에서 제스처를 인식한다. 이러한 인식 방법은 아래에서 더 상세하게 설명하기로 한다.
다음으로, 제어부(160)는 S670 단계에서 인식 결과를 출력한다.
앞서 설명된 바와 같이, 벡터 양자화 과정은 센서 데이터의 취득, 오리엔테이션 및 회전 변위 계산, 그리고 센서 보정 이후에 이루어진다.
도 7은 본 발명의 실시예에 따른 센서 데이터 보정 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, 사용자 장치(100)에 제스처가 발생하면, 제어부(160)는 S710 단계에서 센서부(150)를 통해 센서 데이터를 획득한다. 그런 다음, 제어부(160)는 S720 단계 및 S730 단계에서 획득한 센서 데이터를 이용하여 오리엔테이션 및 회전 변위를 산출한다. 이때, 자계 센서 및 가속도 센서를 통해 얻어진 센서 데이터를 이용하여 오리엔테이션을 구하고, 자이로 센서를 통해 얻어진 센서 데이터를 이용하여 회전 변위를 구한다. 일예로, 가속도 센서를 이용하여 오리엔테이션을 구할 때, 안드로이드 플랫폼에 제공하는 기능을 이용할 수 있다. 자이로 센서는 사원수를 통하여 회전 변위를 구하는데 쓰이게 된다. 이러한 회전 변위를 산출하는 방법에 대해서는 아래에서 도 8을 참조하여 더 상세하게 설명하기로 한다.
그런 다음, 제어부(160)는 S740 단계에서 오리엔테이션을 보정하고, S750 단계에서 회전 변위를 보정한다. 이러한 보정은 오리엔테이션 값에 저역 필터를 적용하고, 회전 변위의 값에 고역 필터를 적용한 방법을 사용한다. 이때, 회전 변위는 누적하여 사용한다. 이어서, 제어부(160)는 보정된 S760 단계에서 오리엔테이션 값 및 회전 변위의 값을 이용하여 사용자 장치(100)의 최종 오리엔테이션을 구한다. 다음으로, 제어부(160)는 최종 오리엔테이션에 대한 양자화를 수행한다.
자이로 센서로부터 회전 변위를 얻고 양자화 처리를 하기 위해서는 Pitch, Roll, Yaw에 해당하는 값을 먼저 구해야 한다. 자이로 센서의 경우, 출력이 각속도로 표현되어지기 때문에 실제 회전되어진 양을 계산하여야 한다. 도 8은 사원수를 이용하여 각 축에 대한 회전 변위를 계산하는 방법을 설명하기 위한 흐름도이다.
도 8을 참조하면, 제어부(160)는 S810 단계에서 각속도 값 Yaw(y), Pitch(p), Roll(r) 값(radians/second)을 입력 받는다. 그런 다음, 제어부(160)는 S820 단계에서 입력 받은 각속도 값을 정규화 한다. 이러한 정규화 과정은 도 8의 S820 단계에서 보인 수학식과 같다. 그런 다음, 제어부(160)는 S830 단계에서 미소 사원수(
Figure pat00026
)를 산출한다. 이어서, 제어부(160)는 S840 단계에서 미소 사원수(
Figure pat00027
)를 이용하여 회전 행렬(R)로 변환한다. 마지막으로, 제어부(160)는 S850 단계에서 회전 변위(r)를 업데이트한다. 즉, 이전 회전 변위(r)에 구해진 회전 행렬(R)을 적용한다.
벡터 양자화는 양자화 과정을 위하여 양자화를 수행하기 전, 각 양자화 단계를 규정하여야 한다. 여기서는 벡터 양자화를 위하여 도 9와 같이 구 좌표계 상의 각 방위를 기준으로 18개의 양자화 단계로 양자화를 진행한다.
구좌표계로는 y축의 회전 값인 Roll 값을 적용할 수 없는데, 여기서는 Roll 값을 적용하고, Pitch, Roll, Yaw의 기본축 회전에 더욱 높은 정확성을 가지도록 다음의 수학식 7을 이용해서 오리엔테이션의 값을 다시 구면좌표계 형식으로 표현한다. 여기서 Pitch, Roll, Yaw의 각 값은 직각 좌표계의 x, y, z 축의 값에 해당한다. 다음의 수학식 7은 직각좌표계를 구면좌표계로 변환하는 식을 나타낸다.
Figure pat00028
양자화 과정은 도 10a 및 도 10b에 보인 바와 같이 센서 데이터 보정을 통하여 얻은 사용자 장치(100)의 오리엔테이션과 16방향의 양자화 단계 중 가장 가까운 양자화 단계를 선택하는 것이다.
도 10을 참조하면, 제어부(160)는 S1010 단계에서 사용자 장치(100)의 오리엔테이션을 산출한다. 이러한 S1010 단계는 앞서 설명한 S760 단계에 해당한다. 오리엔테이션이 산출되면, 제어부(160)는 S1020 단계에서 오리엔테이션과 각 양자화 단계의 거리를 산출한다. 그런 다음, 제어부(160)는 S1030 단계에서 가장 가까운 거리에 있는 양자화 단계를 선택한다. 예컨대, 제어부(160)는 도 10b에 보인 바와 같이, 도면 부호 "가"가 오리엔테이션이라고 했을 때, 오리엔테이션(가)로부터 각각의 양자화 단계(나, 다, 등)와의 거리를 산출하고, 가장 가까운 거리에 있는 양자화 단계인 "다"를 선택할 수 있다.
제스처 인식
HMM을 이용한 제스처의 인식은 각 부류의 HMM에 대해서 관측 벡터
Figure pat00029
의 발생확률이 최대인 부류를 찾는 방법을 말한다. 이것을 식으로 표현하면 수학식 8과 같다. 이 식에서
Figure pat00030
는 부류
Figure pat00031
의 HMM이다.
Figure pat00032
관측 벡터
Figure pat00033
의 발생확률이 최대인 값을 찾기 위해서는 먼저 주어진 모델
Figure pat00034
하에서 관측 벡터
Figure pat00035
의 발생 확률
Figure pat00036
을 계산하여야 한다. 관측 벡터
Figure pat00037
를 관측한 상태 열을
Figure pat00038
라고 한다면
Figure pat00039
Figure pat00040
에서 발생했을 확률
Figure pat00041
는 다음의 수학식 9와 같다. 여기서
Figure pat00042
Figure pat00043
가 상태
Figure pat00044
에서 관측 되었다고 가정하는 것을 의미한다. 수학식 9는
Figure pat00045
의 확률로 상태
Figure pat00046
으로 들어간 뒤,
Figure pat00047
에서
Figure pat00048
의 확률로
Figure pat00049
를 관측하고, 전이 확률
Figure pat00050
의 상태로
Figure pat00051
에서
Figure pat00052
이동되며, 이와 같은 과정이
Figure pat00053
의 관측이 마쳐질 때까지 반복되는 과정을 의미한다.
Figure pat00054
관측벡터
Figure pat00055
는 모든 상태에서 동일하게 나타날 수 있으므로, 가능한 모든 후보 상태 열을 나열 한 후 그들 각각에 대해
Figure pat00056
연산을 통하여 확률을 계산한 뒤, 그들을 모두 더하여 답을 찾아야 한다. 즉, 관측
Figure pat00057
는 모든 상태에서 발생할 수 있으므로
Figure pat00058
Figure pat00059
중에 하나가 되므로 여기서 가능한 모든 상태 열은
Figure pat00060
개가 된다. 다음의 수학식 10은 이와 같은 과정을 나타낸 것이다.
Figure pat00061
하지만 이렇게 계산하는 경우 T가 작으면 상관없지만 T가 커질수록 후보 상태열의 개수가
Figure pat00062
로 정해지고, 각 후보 상태열마다 2T-1 번의 곱셈을 해야 한다는 문제가 발생한다. 따라서 이러한 문제를 해결하기 위하여 수학식 11 및 수학식 12와 같이
Figure pat00063
를 구하고, 수학식 13과 같이 모두 더하여 관측 벡터의 발생 확률을 구하는 전방 알고리즘(forward algorithm)을 사용한다.
Figure pat00064
Figure pat00065
Figure pat00066
제스처 학습
HMM은 수학식 14와 같이 총 3개의 매개변수를 가지고 있다. 이 3가지의 매개변수의 값 Θ의 값이 정해지면 HMM이 만들어지는 셈이다. HMM을 이용한 제스처 학습은 훈련 집합으로부터 관측벡터
Figure pat00067
의 확률을 최대로 하는 Θ를 추정하는 과정이다. 수학식 14에서 A는 상태 전이 확률, B는 관측 확률, π는 초기 상태 확률 벡터를 말하며, 수학식 15는 제스처 학습을 표현한 것이다.
Figure pat00068
Figure pat00069
본 발명에 따르면 모든 Θ 중에서
Figure pat00070
의 발생 확률을 최대로 하는 제스처 학습의 방법으로 Baum-Welch 알고리즘을 이용한다. Baum-Welch 알고리즘은 EM 알고리즘을 통하여 학습이 이루어지며, 기대 값을 구하는 E 단계에서는 은닉 변수를 추정하고, 우도를 최대화하는 M 단계에서는 Θ를 개선하는 과정을 거친다. 이 때, 은닉 변수는
Figure pat00071
에서 직접 Θ를 구할 수 없기 때문에, 중간에 '숨어서' 매개 역할을 하는 변수를 사용하게 되며,
Figure pat00072
Figure pat00073
가 그것이다. 도 11은 Baum-Welch 알고리즘을 통한 HMM 학습 과정을 나타내는 도면이다.
수학식 16 및 수학식 17은
Figure pat00074
Figure pat00075
를 나타낸 것이다. 개선되는 변수 중 상태
Figure pat00076
에서
Figure pat00077
로 이전할 확률인
Figure pat00078
Figure pat00079
에서 이전할 기대 값 중에서
Figure pat00080
에서
Figure pat00081
로 이전할 기댓값의 비율을 의미하며 다음의 수학식 18과 같다. 또한
Figure pat00082
에서
Figure pat00083
를 관측할 확률인
Figure pat00084
Figure pat00085
에 있을 기댓값 중
Figure pat00086
에서
Figure pat00087
를 관측할 기댓값의 비율을 말하며 수학식 19와 같다. 마지막으로 t가 1일 때
Figure pat00088
에 도달할 확률
Figure pat00089
는 t가 1일 때에
Figure pat00090
에 있을 확률을 의미하며 다음의 수학식 20과 같다.
Figure pat00091
Figure pat00092
Figure pat00093
Figure pat00094
Figure pat00095
한편, 좌우 모델 방식의 HMM은 여러 개의 관측 정보를 활용하여 학습 시키는 것이 인식에 유리하다. 따라서 도 12와 같이 여러 개의 관측 모델을 사용하여 HMM 모델을 학습시키고, HMM의 매개변수들의 평균값을 취하여 사용하였다.
본 발명에 대한 성능을 실험하기 위하여, 제스처를 저장하고 확인할 수 있는 형태의 어플리케이션을 제작하고 4명의 사람이 10회씩 반복하여 제스처를 저장하고 학습하였다. 제스처는 회전축을 기본으로 한 6개의 모션 제스처와 기타 3개의 모션 제스처를 합쳐 총 9가지의 모션 제스처를 정의하였다. 각 제스처의 형태는 도 13과 같이 틸트(Tilt) 변화에 해당하는 G1, G2, Yaw 변화에 해당하는 G2, G3, Roll 변화에 해당하는 G4, G5, 시계방향, 반시계 방향에 해당하는 G7, G8, 지그재그 형태의 G9가 있다.
이에 대한 실험 결과는 다음의 표 1과 같으며, 대부분의 제스처들이 90% 이상의 인식률을 가지고 있음을 확인할 수 있다. 특히, 기본 축 회전(G1~G6) 인식에 대하여 95% 이상의 인식률을 볼 수 있으며, 다른 모션에 대하여도 90% 정도의 인식률을 보임을 알 수 있다.
제스처 회전변위 인식률
G1 90%
G2 92.5%
G3 95%
G4 95%
G5 100%
G6 100%
G7 90%
G8 90%
G9 87.5%
이상에서 설명한 바와 같이, 본 발명에서는 스마트폰에 있는 자계 센서, 가속도 센서, 자이로 센서로부터 스마트폰의 모션 데이터를 획득하고 제스처를 학습 및 인식하였다. 이들 센서 중에서 자계 센서와 가속도 센서는 스마트폰의 오리엔테이션을 구하는데 이용되었으며, 자이로 센서는 회전 변위를 구하는데 이용되었다. 이러한 정보는 보정을 통하여 최종적인 스마트폰의 오리엔테이션을 계산하고 양자화를 거쳐 HMM을 위한 관측 데이터(관측 벡터)를 만드는데 쓰이게 된다. 또한 HMM의 매개 변수들을 계산하는 학습 과정과 전방 알고리즘을 통한 인식 과정을 통하여 최적의 제스처를 선정하도록 하였다.
HMM을 위해서는 적절한 양자화 과정이 선행되어야 하는데, 여기서는 각 축을 기준으로 하는 기본 회전에 더욱 민감한 모션 제스처 인식을 목표로, 회전 변위의 값을 구좌표계로 변환하여 사용하였다. 실험결과로부터 이러한 단순 제스처 인식에 대하여 높은 인식률을 보인다는 것을 확인할 수 있었다.
이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
100: 사용자 장치 110: 무선통신부
120: 입력부 130: 표시부
140: 저장부 150: 센서부
160: 제어부

Claims (10)

  1. 센서 데이터를 활용한 제스처 인식 장치에 있어서,
    사용자 장치의 움직임에 따른 제스처를 감지하여 센서 데이터를 생성하는 센서부;
    상기 센서 데이터로부터 오리엔테이션 및 회전 변위를 산출하고, 산출된 오리엔테이션 및 회전 변위로 상기 사용자 장치의 최종 오리엔테이션을 구하며, 상기 최종 오리엔테이션에 대한 양자화를 통해, 직각좌표계에서 구좌표계로의 좌표 변환을 수행하여 관측 벡터를 생성하고, 각 부류의 HMM(Hidden Markov Model)에 대해서 생성된 관측 벡터의 발생확률이 최대인 부류를 찾아 상기 제스처를 인식하는 제어부;를 포함하는 것을 특징으로 하는 센서 데이터를 활용한 제스처 인식 장치.
  2. 제1항에 있어서,
    상기 제어부는
    관측 벡터가
    Figure pat00096
    이며,
    Figure pat00097
    가 부류
    Figure pat00098
    의 HMM일 때,
    수학식
    Figure pat00099
    에 따라 관측 벡터의 발생확률이 최대인 부류를 찾는 것을 특징으로 하는 센서 데이터를 활용한 제스처 인식 장치.
  3. 제1항에 있어서,
    상기 제어부는
    HMM에 따라, A는 상태 전이 확률, B는 관측확률, 그리고, π는 초기 상태 확률 벡터이며, 매개변수 값이
    Figure pat00100
    일 때,
    수학식
    Figure pat00101
    에 따라 상기 관측 벡터(
    Figure pat00102
    )의 확률을 최대로 하는 매개변수 값 Θ를 추정하여, 상기 제스처를 학습하는 것을 특징으로 하는 센서 데이터를 활용한 제스처 인식 장치.
  4. 제1항에 있어서,
    상기 센서부는 자계 센서, 가속도 센서 및 자이로 센서를 포함하는 것을 특징으로 하며,
    상기 제어부는 상기 자계 센서 및 가속도 센서로부터 얻어진 센서 데이터로부터 상기 오리엔테이션을 산출하고, 상기 자이로 센서로부터 얻어진 센서 데이터로부터 상기 회전 변위를 산출하는 것을 특징으로 하는 센서 데이터를 활용한 제스처 인식 장치.
  5. 제4항에 있어서,
    상기 제어부는 상기 오리엔테이션에 저역 필터를 적용하고 상기 회전 변위에 고역 필터를 적용하는 보정을 수행하며, 보정된 오리엔테이션 및 회전 변위를 통해 상기 사용자 장치의 최종 오리엔테이션을 구하는 것을 특징으로 하는 센서 데이터를 활용한 제스처 인식 장치.
  6. 센서 데이터를 활용한 제스처 인식 방법에 있어서,
    사용자 장치의 움직임에 따른 제스처를 감지하여 센서 데이터를 생성하는 단계;
    상기 센서 데이터로부터 오리엔테이션 및 회전 변위를 산출하는 단계;
    산출된 오리엔테이션 및 회전 변위로 상기 사용자 장치의 최종 오리엔테이션을 구하는 단계;
    상기 최종 오리엔테이션의 양자화를 통해, 직각좌표계에서 구좌표계로의 양자화 변환하여 관측 벡터를 생성하는 단계; 및
    각 부류의 HMM(Hidden Markov Model)에 대해서 생성된 관측 벡터의 발생확률이 최대인 부류를 찾아 상기 제스처를 인식하는 단계;
    를 포함하는 것을 특징으로 하는 센서 데이터를 활용한 제스처 인식 방법.
  7. 제6항에 있어서,
    상기 제스처를 인식하는 단계는
    관측 벡터가
    Figure pat00103
    이며,
    Figure pat00104
    가 부류
    Figure pat00105
    의 HMM일 때, 수학식
    Figure pat00106
    에 따라 관측 벡터의 발생 확률이 최대인 부류를 찾는 것을 특징으로 하는 센서 데이터를 활용한 제스처 인식 장치.
  8. 제6항에 있어서,
    상기 관측 벡터를 생성하는 단계 후,
    HMM에 따라 A는 상태 전이 확률, B는 관측확률, 그리고, π는 초기 상태 확률 벡터이며, 매개변수 값이
    Figure pat00107
    일 때, 수학식
    Figure pat00108
    에 따라 상기 관측 벡터(
    Figure pat00109
    )의 확률을 최대로 하는 매개변수 값 Θ를 추정하여, 상기 제스처를 학습하는 단계;를 더 포함하는 것을 특징으로 하는 센서 데이터를 활용한 제스처 인식 방법.
  9. 제6항에 있어서,
    상기 센서 데이터는 상기 사용자 장치의 자계 센서, 가속도 센서 및 자이로 센서를 통해 얻어지며,
    상기 산출하는 단계는
    상기 자계 센서 및 가속도 센서로부터 얻어진 센서 데이터로부터 상기 오리엔테이션을 산출하고,
    상기 자이로 센서로부터 얻어진 센서 데이터로부터 상기 회전 변위를 산출하는 것을 특징으로 하는 센서 데이터를 활용한 제스처 인식 방법.
  10. 제9항에 있어서,
    상기 최종 오리엔테이션을 구하는 단계는
    상기 오리엔테이션에 저역 필터를 적용하고 상기 회전 변위에 고역 필터를 적용하는 보정을 수행하며, 보정된 오리엔테이션 및 회전 변위를 통해 상기 사용자 장치의 최종 오리엔테이션을 구하는 것을 특징으로 하는 센서 데이터를 활용한 제스처 인식 방법.



KR1020130047214A 2012-12-26 2013-04-29 센서 데이터를 활용한 제스처 인식 방법 및 장치 KR20140083848A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120153463 2012-12-26
KR20120153463 2012-12-26

Publications (1)

Publication Number Publication Date
KR20140083848A true KR20140083848A (ko) 2014-07-04

Family

ID=51734196

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130047214A KR20140083848A (ko) 2012-12-26 2013-04-29 센서 데이터를 활용한 제스처 인식 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20140083848A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115079818A (zh) * 2022-05-07 2022-09-20 北京聚力维度科技有限公司 一种手部捕捉方法和系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115079818A (zh) * 2022-05-07 2022-09-20 北京聚力维度科技有限公司 一种手部捕捉方法和系统

Similar Documents

Publication Publication Date Title
US10353484B2 (en) Performing an action associated with a motion based input
CN108596976B (zh) 相机姿态追踪过程的重定位方法、装置、设备及存储介质
US9726498B2 (en) Combining monitoring sensor measurements and system signals to determine device context
EP2699983B1 (en) Methods and apparatuses for facilitating gesture recognition
US8775128B2 (en) Selecting feature types to extract based on pre-classification of sensor measurements
US8957909B2 (en) System and method for compensating for drift in a display of a user interface state
US9407706B2 (en) Methods, devices, and apparatuses for activity classification using temporal scaling of time-referenced features
US20170003747A1 (en) Touchless user interface navigation using gestures
US10275038B2 (en) Method and apparatus for performing motion recognition using motion sensor fusion, and associated computer program product
WO2013148588A1 (en) Managing power consumption of a device with a gyroscope
US9983693B2 (en) Spatial motion-based user interactivity
US20230259222A1 (en) Electronic device for controlling operation of electronic pen device, operation method in electronic device, and non-transitory storage medium
US10551195B2 (en) Portable device with improved sensor position change detection
US11714493B2 (en) Electromagnetically tracked three-dimensional air mouse
KR20140083848A (ko) 센서 데이터를 활용한 제스처 인식 방법 및 장치
CN113432620B (zh) 误差估计方法、装置、车载终端及存储介质
US11647358B2 (en) Method for obtaining location information of a user using movement information of an electronic device or feature information
EP2808752B1 (en) Performing an action associated with a motion based input
EP3889637A1 (en) Method and device for gesture detection, mobile terminal and storage medium
CN118355357A (zh) 用于与电子设备相关联的远程控制和注解的设备和方法
CN118192786A (zh) 多模态交互方法、装置、电子设备和存储介质
WO2024182277A1 (en) Image-based delocalization recovery
Zhao Gibbon: A Wearable Device for Pointing Gesture Recognition.
CN110686667A (zh) 方向指示方法、双屏终端及计算机可读存储介质
JP2016211946A (ja) 回転状態算出装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application