KR20160009291A - 3차원 동작인식 정보입력 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 - Google Patents

3차원 동작인식 정보입력 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 Download PDF

Info

Publication number
KR20160009291A
KR20160009291A KR1020140089577A KR20140089577A KR20160009291A KR 20160009291 A KR20160009291 A KR 20160009291A KR 1020140089577 A KR1020140089577 A KR 1020140089577A KR 20140089577 A KR20140089577 A KR 20140089577A KR 20160009291 A KR20160009291 A KR 20160009291A
Authority
KR
South Korea
Prior art keywords
motion
unit
mode
sensor
virtual plane
Prior art date
Application number
KR1020140089577A
Other languages
English (en)
Other versions
KR101609553B1 (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 KR1020140089577A priority Critical patent/KR101609553B1/ko
Publication of KR20160009291A publication Critical patent/KR20160009291A/ko
Application granted granted Critical
Publication of KR101609553B1 publication Critical patent/KR101609553B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

본 발명은 3차원 동작인식 정보입력 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체에 관한 것으로서, 보다 상세하게는 사용자가 설정한 3차원 공간상의 가상 평면에 대한 손가락의 움직임을 인식하여 외부기기를 원격으로 제어가능한 3차원 동작인식 정보입력 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체를 제공한다.

Description

3차원 동작인식 정보입력 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 {APPARATUS AND METHOD FOR 3D MOTION RECOGNITION INFORMATION INPUT, AND RECORDING MEDIUM STORING PROGRAM FOR EXECUTING THE SAME}
본 발명은 3차원 동작인식 정보입력 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체에 관한 것으로서, 보다 상세하게는 사용자가 설정한 3차원 공간상의 가상 평면에 대한 손가락의 움직임을 인식하여 외부기기를 원격으로 제어가능한 3차원 동작인식 정보입력 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체에 관한 것이다.
가전 및 사무용 기기 또는 휴대용 스마트 기기의 종류가 다양해지고, 웨어러블 장치의 보급률이 증가하면서 각각의 기기를 제어하고 입력하기 위한 다양한 입력장치가 사용되고 있다.
기존의 PC 환경에서는 문자 입력을 위한 키보드와 GUI 환경을 지원하는 마우스가 일반적이다. 강의 또는 발표 환경에서는 PC를 원격제어하기 위해서 무선 마우스가 사용되거나 프레젠테이션 리모콘을 이용한다.
기존 TV에서는 하나의 버튼이 하나의 기능을 담당하는 버튼식 리모컨이 많이 사용되었다.
또한, 스마트기기 및 웨어러블 장치가 보편화 되면서 이러한 장치의 특성에 맞는 기존과 다른 입력 인터페이스가 사용되고 있다.
스마트 기기 또는 웨어러블 장치는 주로 휴대성이 강조되고 소형 디스플레이를 사용하기 때문에 터치 인터페이스가 일반적이다. 사용자는 신체를 이용하여 터치를 통해 기기를 제어할 수 있고 별도의 펜 형태의 장치를 사용하여 터치하는 기술 등이 있다.
스마트 TV의 경우 기존의 버튼식 리모컨 대신 스마트 TV의 다양한 기능을 지원하기 위해서 마우스 형 리모컨이 사용되고 있다. 마우스 형 리모컨은 가속도 센서를 내장하여 마우스 커서를 이동하는 기술을 이용하거나, 리모컨에 터치 패널을 장착하는 형태 등이 있다.
가속도 센서를 내장하고 있는 리모컨의 경우 사용자가 리모컨을 움직인 거리를 가속도 데이터를 통해 추출하여 마우스 커서를 이동하고 별도의 클릭 버튼을 두어 기기를 제어한다.
또한 리모컨에 터치 패널을 장착하는 방식의 경우 스마트폰, 타블렛 PC와 같이 직관적인 제어가 가능하지만 터치 패널을 위한 전력 소비가 커 배터리를 많이 소모하는 문제점이 있다.
이처럼 각각의 기기를 사용하기 위해서 다양한 입력장치가 필요한 문제점이 있으며, 다양한 입력장치를 별도로 관리하여야 하는 문제점이 있다.
한국등록특허 [10-0509913]에서는 다중 형식 입력 장치 및 방법이 개시되어 있다.
한국등록특허 [10-0509913](등록일자: 2005. 08. 17)
따라서, 본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 무선 네트워크 연결이 가능한 PC, 스마트 기기, 웨어러블 장치 등과 연결하여 3차원 공간상에서 동작 인식을 통해, 사용자의 자세와 이동에 상관없이 사용자가 설정한 축 정보를 이용하여, 마우스, 키보드 및 리모컨 등의 기능을 통합하여, 직관적인 기기 제어 및 입력이 가능한 착용형/휴대형 3차원 동작인식 정보입력 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체를 제공하는 것이다.
또한, 센서의 특성을 고려하고 센서 데이터 추출이 가능한 제스처를 설계하여 다양한 기기를 마우스 모드, 동작 모드, 필기 모드 및 블랭크 모드에서 제어할 수 있는 착용형/휴대형 3차원 동작인식 정보입력 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체를 제공하는 것이다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 장치는, 손 또는 손가락에 관성센서가 포함된 입력장치를 휴대하여 공간상에서의 움직임을 인식하는 3차원 동작인식 정보입력 장치에 있어서, 3축 가속도 센서와 3축 자이로 센서, 3축 지자기 센서가 포함된 IMU(Inertial Measurement Unit, 관성 측정 장치) 센서 모듈로 구성된 센서부(110), 외부기기와의 무선 네트워크 통신을 위한 무선통신부(120), 상기 센서부(110) 및 무선통신부(120)에 전원을 공급하는 전원부(130)를 포함하는 움직임입력부(100); 및 상기 무선통신부(120)로부터 무선 네트워크를 통해 전달받은 신호를 분석하고 외부기기를 제어하는 통합관리부(200);를 포함하며, 상기 통합관리부(200)는 상기 센서부(110)로부터 센싱된 정보를 근거로, 제스처 모드, 마우스 모드, 블랭크 모드, 필기 모드 중 선택되는 어느 하나의 모드를 판단하고, 해당 모드에서 규정된 제어명령을 외부기기로 전송하는 것을 특징으로 한다.
또한, 상기 통합관리부(200)는 외부기기와 연결 시 캘리브레이션에 의해 가상평면을 생성하고, 상기 움직임입력부(100)의 이동에 따라 상기 가상평면을 이동시키는 가상평면관리부(210); 상기 움직임입력부(100)로부터 움직임이 감지되면, 미리 설정된 민감도 정보 및 미리 설정된 동작 정보를 근거로 유효 움직임을 판단하는 동작인식부(220); 및 상기 동작인식부(220)에 의해 유효 움직임으로 판단되면, 유효 움직임에 해당되는 명령이 있는지 확인하고, 유효 움직임에 해당되는 명령이 있을 경우, 해당 명령에 따라 상기 외부기기를 제어하는 명령처리부(230);를 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 방법은, 센서부(110), 무선통신부(120) 및 전원부(130)를 포함하는 움직임입력부(100) 와 가상평면관리부(210), 동작인식부(220) 및 명령처리부(230)를 포함하는 통합관리부(200)를 포함하며, 손 또는 손가락에 움직임입력부(100)를 휴대하여 공간상에서의 움직임을 인식하는 3차원 동작인식 정보입력 방법에 있어서, 상기 통합관리부(200)에 의해, 외부기기와 연결 시 또는 미리 결정된 캘리명령이 입력되면, 민감도(움직임입력부(100)의 움직임과 외부기기에서의 움직임의 비율) 정보를 외부기기에 맞추어 조정하고, 가상평면을 생성하며, 가상 평면의 x, y, z축을 설정하는 캘리브레이션 단계(S10); 상기 통합관리부(200)에 의해, 상기 캘리브레이션 단계(S10)에서 설정된 민감도 정보를 근거로 유효 움직임을 판단하는 유효움직임판단 단계(S20); 상기 통합관리부(200)에 의해, 상기 유효움직임 판단 단계(S20)에서 유효 움직임으로 판단되면, 미리 결정된 모드선택명령에 해당되는 움직임인지 판단하는 모드선택명령판단 단계(S30); 및 상기 통합관리부(200)에 의해, 상기 모드선택명령판단 단계(S30)에서 모드선택명령에 해당되는 움직임으로 판단되면, 상기 미리 결정된 모드선택명령에 따라 제스처 모드, 마우스 모드, 블랭크 모드, 필기 모드 중 선택되는 어느 하나의 모드가 결정되고, 모드선택명령에 해당되는 움직임이 아니라고 판단되면, 미리 설정된 동작 정보와 비교하여 해당되는 명령에 따라 외부기기를 제어하는 명령수행 단계(S40);를 포함하는 것을 특징으로 한다.
또한, 상기 3차원 동작인식 정보입력 방법은 외부기기와 연동 시, 제스처 모드로 시작되는 것을 특징으로 한다.
또, 상기 모드선택명령판단 단계(S30)는 움직임입력부(100)의 중심을 기준으로 가상평면에 수직한 축을 중심으로 소정의 각도로 회전했다가 반대방향으로 일정각도 이상 되돌아오는 동작이 통합관리부(200)에 감지되면 이를 모드선택명령으로 인식하는 것을 특징으로 한다.
또한, 상기 명령수행 단계(S40)는 제스처 모드인 경우, 움직임입력부(100) 동작을 분석하여, 가상 평면 위에서의 동작, 가상 평면에 수직한 동작 및 이 두 가지를 조합한 동작이 감지되면, 미리 저장된 제스처명령에 해당되는 동작인지 확인하고, 확인된 제스처명령에 따라 외부기기를 제어하는 것을 특징으로 하되, 미리 저장된 제스처명령은 시작점에서 동작을 수행한 뒤 다시 시작점 방향으로 일정거리 이상 되돌아오는 형태의 동작인 것을 특징으로 한다.
또한, 상기 명령수행 단계(S40)는 마우스 모드인 경우, 움직임입력부(100) 동작을 분석하여, 가상 평면에 수직인 동작을 인식할 경우 클릭 또는 터치 이벤트를 발생시키고, 가상 평면 위에서의 동작을 인식할 경우 외부기기 화면에 표시된 마우스 커서의 움직임을 제어하는 것을 특징으로 한다.
또, 상기 명령수행 단계(S40)는 블랭크 모드인 경우, 모드선택명령만 수행하는 것을 특징으로 한다.
또한, 상기 명령수행 단계(S40)는 필기 모드인 경우, 3차원 공간에서의 타이핑 또는 필기를 인식하여 대응하는 글자 또는 필기가 입력되는 것을 특징으로 한다.
또, 상기 3차원 동작인식 정보입력 방법은 움직임입력부(100)의 이동에 따라 가상평면이 이동되는 것을 특징으로 한다.
아울러, 본 발명의 일 실시예에 따르면, 상기 3차원 동작인식 정보입력 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체가 제공되는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체에 의하면, 손 또는 손가락에 관성 측정 장치 센서 모듈이 포함된 움직임입력부를 이용하여, 3차원 공간상의 동작에 따라 제스처 모드, 마우스 모드, 블랭크 모드, 필기 모드 중 선택되는 어느 하나의 모드를 판단하고, 해당 모드에서 규정된 제어명령에 따라 외부기기를 제어함으로써, 여러 가지 입력장치를 구비하지 않아도 직관적인 입력이 가능한 효과가 있다.
더욱 상세하게는,
종래의 마우스, 키보드, 프리젠테이션 리모콘, 터치 패널 등의 입력장치를 대체하여 입력 기능을 수행하고, 3차원 공간상에서 사용자의 손에 부착된 또는 손으로 휴대한 센서의 움직임을 통해 스마트 기기 및 PC를 원격제어하고 정보 입력을 수행할 수 있는 효과가 있다.
또한, 3차원 공간 마우스를 구현함에 따라, 기존 2차원 공간에서 사용하는 마우스 등의 입력장치와는 달리 사용자는 3차원 공간상에서의 손의 움직임을 통해 직관적으로 스마트 기기 및 PC를 제어할 수 있고, 이러한 움직임 정보는 무선 네트워크를 통해 기기로 전달되어 기기의 원격제어 및 정보입력이 가능한 효과가 있다.
또, 프레젠테이션 발표 및 강의 환경 등에서 사용자의 손의 움직임에 따라 발생하는 센서 움직임 정보를 해석하여 슬라이드 넘기기 또는 슬라이드 종료와 같은 프리젠테이션 리모콘의 기능을 대체할 수 있는 효과가 있다.
또한, 스마트 기기에서 주 입력방식으로 사용되는 터치 기반 인터페이스 대신 무선 연결된 착용형/휴대형 정보 입력 시스템을 사용함으로써 스마트 기기의 터치 입력과 동일한 기능을 수행할 수 있고, 근거리 입력만 가능한 터치 입력과 달리 원거리에서 기기를 제어할 수 있는 효과가 있다.
또, 기존의 키보드 및 마우스와 더불어, 리모컨, 터치패드, 터치 스크린 등 각 기기마다 다른 사용자 인터페이스를 통합하여 사용할 수 있기 때문에 사용자의 학습 부담을 낮추어 기기 간 통합 인터페이스로 사용 가능한 효과가 있다.
또한, 사용자의 자세에 따라 가상평면이 자동으로 변경됨으로써, 사용자가 특정한 자세를 고수하지 않고 편안하게 외부기기를 제어할 수 있는 효과가 있다.
아울러, 컴퓨터, 스마트폰, 타블렛, 스마트 TV, 스마트 가전 등의 터치 인터페이스를 사용하는 시스템의 원격 입력 장치로서 적용 가능하고, 마우스 혹은 키보드를 대체할 수 있는 차세대 입력 장치로서 제품화가 가능하며, 블루투스를 탑재하고 있는 기기와 연동이 가능하기 때문에 블루투스 기능이 있는 기기의 동작인식을 활용한 포인팅 디바이스로 적용 가능함으로써, 웨어러블 장치에 대한 관심도가 높아지고 입력환경이 달라짐에 따라 입력의 불편함을 해소하기 위한 차세대 입력 장치로서 기존의 마우스, 키보드를 소형 센서 디바이스로 구현하여 기술 적용 가능한 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 장치의 개념도.
도 2는 도 1의 통합관리부를 더욱 상세하게 나타낸 개념도.
도 3은 본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 방법의 흐름도.
도 4는 사용자 자세의 변경을 명령으로 인식하지 않음을 설명하기 위한 도면.
도 5는 본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 방법의 제스처 모드의 동작 알고리즘에 대한 예시도.
도 6은 본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 방법의 제스처 판단 알고리즘에 대한 예시도.
도 7은 본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 방법의 모드에 따른 정보 입력 방법 알고리즘에 대한 예시도.
도 8은 본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 방법에서 명령의 종류를 보여주는 예시도.
이하, 도면을 참조하여 본 발명을 보다 상세하게 설명한다. 다음에 소개되는 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다. 따라서, 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 또한, 명세서 전반에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한, 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가지며, 하기의 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 장치의 개념도이고, 도 2는 도 1의 통합관리부를 더욱 상세하게 나타낸 개념도이며, 도 3은 본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 방법의 흐름도이고, 도 4는 사용자 자세의 변경을 명령으로 인식하지 않음을 설명하기 위한 도면이며, 도 5는 본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 방법의 제스처 모드의 동작 알고리즘에 대한 예시도이고, 도 6은 본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 방법의 제스처 판단 알고리즘에 대한 예시도이며, 도 7은 본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 방법의 모드에 따른 정보 입력 방법 알고리즘에 대한 예시도이고, 도 8은 본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 방법에서 명령의 종류를 보여주는 예시도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 장치는 손 또는 손가락에 관성센서가 포함된 입력장치를 휴대하여 공간상에서의 움직임을 인식하는 3차원 동작인식 정보입력 장치에 있어서, 움직임입력부(100) 및 통합관리부(200)를 포함하며, 상기 통합관리부(200)는 상기 센서부(110)로부터 센싱된 정보를 근거로, 제스처 모드, 마우스 모드, 블랭크 모드, 필기 모드 중 선택되는 어느 하나의 모드를 판단하고, 해당 모드에서 규정된 제어명령을 외부기기로 전송하는 것을 특징으로 한다.
움직임입력부(100)는 센서부(110), 무선통신부(120) 및 전원부(130)를 포함한다.
센서부(110)는 3축 가속도 센서와 3축 자이로 센서, 3축 지자기 센서가 포함된 IMU(Inertial Measurement Unit, 관성 측정 장치) 센서 모듈로 구성된다.
다음으로, 각각의 센서에 대해 더욱 상세하게 설명하도록 한다.
가속도 센서는 사용자의 손가락 움직임으로부터 발생한 가속도를 감지하고 무선 네트워크를 통해 통합관리부로 전달한다. 통합 관리부에서는 가속도 데이터를 적분하여 속도를 얻고 다시 이 값을 적분하여 센서가 움직인 거리 정보를 얻는다.
자이로 센서는 사용자의 손가락 움직임으로 인해 발생한 어떤 축을 중심으로 회전한 각속도를 감지하여 무선 네트워크를 통해 통합관리부로 전달한다. 통합 관리부에서는 각속도 데이터를 적분하여 센서의 3축에 대한 회전 각 정보를 얻는다.
지자기 센서는 지구의 자기장을 측정할 수 있다.
IMU(Inertial Measurement Unit, 관성 측정 장치) 센서 모듈은 가속도, 자이로 및 지자기 센서의 값을 이용하여 센서가 향하는 방향을 측정할 수 있다 즉, 방향 정보를 출력할 수 있고 이는 yaw, roll, pitch로 이루어져 있다. yaw는 중력방향에 평행한 축을 기준으로 나침반이 가리키는 방향으로부터 센서가 회전한 각도, pitch는 지면에 평행한 평면에 대하여 센서의 y축을 기준으로 회전한 각도, roll은 지면에 평행한 평면에 대하여 센서의 x축을 기준으로 회전한 각도를 의미한다.
무선통신부(120)는 외부기기와의 무선 네트워크 통신을 한다.
즉, 상기 무선통신부(120)는 무선통신을 이용하여, 상기 센서부(110)로부터 센싱된 정보를 외부기기로 전송한다.
여기서, 상기 외부기기는 컴퓨터, 태블릿, 노트북, 스마트기기 등 키보드, 마우스, 터치패널, 터치스크린 등을 입력수단으로 하는 기기들이 적용될 수 있다.
다시 말해, 본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 장치는 사용자의 손가락에 부착하거나 손에 휴대하여 스마트 기기를 원격 제어한다.
상기 센서부(110) 및 무선통신부(120)에 전원을 공급한다.
통합관리부(200)는 상기 무선통신부(120)로부터 무선 네트워크를 통해 전달받은 신호를 분석하고 외부기기를 제어한다. 이때, 통합관리부(200) 역시 무선통신이 가능한 무선통신모듈을 포함하는 것이 바람직하다.
즉, 통합 관리부는 무선 네트워크를 통해 전달받은 센서의 데이터를 통해 사용자의 손가락 움직임을 분석하고, 마우스 모드, 제스처 모드, 블랭크 모드, 필기 모드 중 해당하는 모드를 판단하여 각 모드에서 규정된 제어명령을 외부기기로 전달한다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 장치의 상기 통합관리부(200)는 가상평면관리부(210), 동작인식부(220) 및 명령처리부(230)를 포함할 수 있다.
가상평면관리부(210)는 외부기기와 연결 시 캘리브레이션에 의해 가상평면을 생성하고, 상기 움직임입력부(100)의 이동에 따라 상기 가상평면을 이동시킨다.
사용자가 필기하고 있는 가상평면과 축에 대한 정보는 가상평면관리부(210)에서 관리한다. 가상평면관리부(210)는 최근의 가속도 센서와 자이로 센서로부터 얻은 연속된 최근의 데이터를 저장하며, 이를 이용하여 주기적으로 가상 평면의 축 정보를 갱신한다. 이렇게 생성된 축 정보는 각 모드에서 센서의 움직임이 발생할 때 주기적으로 업데이트 되고, 처음 무선 네트워크로 스마트 기기와 연동되었을 때에 캘리브레이션을 통해 초기화 된다.
동작인식부(220)는 상기 움직임입력부(100)로부터 움직임이 감지되면, 미리 설정된 민감도 정보 및 미리 설정된 동작 정보를 근거로 유효 움직임을 판단한다.
즉, 움직임입력부(100)를 통해서 받은 정보를 동작인식부(220)로 전달하여 동작인식을 수행한다.
또한, 제스처 인식을 위한 축은 가상평면관리부(210)에 저장되어 있는 축을 기준으로 할 수 있다.
미리 설정된 동작 정보의 예를 들면, 미리 설정된 동작 정보는 어떤 시작점에서 동작을 수행한 뒤 다시 시작점으로 되돌아오는 형태의 동작으로 이루어질 수 있고, 시작점으로 되돌아왔을 때 하나의 동작을 마친 것으로 해석될 수 있다. 이는 명령 이외의 동작을 하는데 있어서 자연스러움을 주고, 명령을 하기 위한 동작을 걸러내기 위함이다.
또, 미리 설정된 동작 정보는 가상 평면 위에서의 동작 또는 가상 평면에 수직한 동작으로 이루어질 수 있으며, 이 두 가지를 조합한 동작으로 이루어지는 것도 가능하다.
또, 사용자의 손가락 또는 손의 움직임에 의해 발생한 센서의 움직임이 곡선 형태를 그릴 경우 가상 평면 상에서 시계 방향 또는 반시계 방향으로 움직였는지 해석하면 보다 다양한 모션을 제어명령으로 이용할 수 있다. xz 평면상에서 반시계 방향으로 센서의 움직임이 나타나는 경우는 x축의 (-) 방향으로 움직인 것으로 판단하고, xz 평면상의 시계방향으로 센서의 움직임이 나타나는 경우는 x축의 (+) 방향으로 움직인 것으로 판단할 수 있다. 또한 yz 평면상의 반시계 방향으로의 곡선형태의 센서의 움직임이 발생하는 경우 센서가 y축의 (+) 방향으로 이동한 것으로 판단하고, yz 평면상의 시계방향으로의 곡선 이동이 발생하는 경우 y축의 (-) 방향으로 이동한 것으로 판단할 수 있다.
하나의 제스처를 판단하기 위해서, 동작인식부(220)는 어느 한 방향으로의 유효가속도 이상의 움직임이 발생했을 때 방향을 저장할 수 있다. 이는 각 축의 (-), (+)방향을 포함한 6방향(전,후,좌,우,상,하)과 원을 나타내는 방향을 포함하여 7가지 타입으로 저장하는 것을 가능하게 한다.
예를 들어, 동작인식부(220)는 센서의 움직임의 방향이 40도 이상 변할 경우 서로 다른 획으로 보고 각 획에 대해 방향과 시작좌표를 저장할 수 있다. 즉, 현재 진행방향과 다른 축에 평행한 움직임이 감지될 경우 새로운 획으로 판단하는 것이 가능하다. 또한 획 수를 저장하여 획이 늘어날 때 1씩 더할 수 있다. 또한, 가상평면위에서 원 형태의 동작이 감지된 경우 스마트 기기의 홈 버튼을 누른 것과 같은 제어를 수행할 수 있고, 원 형태의 동작이 연달아 감지되면 확대 또는 축소로 해석할 수 있다. 시계방향의 경우 확대, 반시계 방향은 축소로 해석할 수 있다.
명령처리부(230)는 상기 동작인식부(220)에 의해 유효 움직임으로 판단되면, 유효 움직임에 해당되는 명령이 있는지 확인하고, 유효 움직임에 해당되는 명령이 있을 경우, 해당 명령에 따라 상기 외부기기를 제어한다.
즉, 본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 장치는 3차원 공간상의 동작 인식을 이용한 착용형/휴대형 정보 입력 시스템으로서, 무선 네트워크를 통해 통합관리부(200)가 움직임입력부(100)로부터 전달받은 신호를 분석하고, 분석된 결과에 따라 통합관리부(200)가 외부기기를 제어할 수 있다.
도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 방법은 센서부(110), 무선통신부(120) 및 전원부(130)를 포함하는 움직임입력부(100) 와 가상평면관리부(210), 동작인식부(220) 및 명령처리부(230)를 포함하는 통합관리부(200)를 포함하며, 손 또는 손가락에 움직임입력부(100)를 휴대하여 공간상에서의 움직임을 인식하는 3차원 동작인식 정보입력 방법에 있어서, 캘리브레이션 단계(S10), 유효움직임판단 단계(S20), 모드선택명령판단 단계(S30) 및 명령수행 단계(S40)를 포함 한다.
캘리브레이션 단계(S10)는 상기 통합관리부(200)에 의해, 외부기기와 연결 시 또는 미리 결정된 캘리명령이 입력되면, 민감도(움직임입력부(100)의 움직임과 외부기기에서의 움직임의 비율) 정보를 외부기기에 맞추어 조정하고, 가상평면을 생성하며, 가상 평면의 x, y, z축을 설정한다.
본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 장치는 외부기기와 연동 시 캘리브레이션(Calibration)을 수행한다. 캘리브레이션은 센서가 움직일 공간에 대하여 지면의 축에 대한 데이터를 이용해 가상평면의 x, y, z축을 설정하여 센서의 움직임을 추적한다. 이렇게 설정된 축은 사용자가 3차원 공간에 임의로 가정한 가상 필기 평면을 인식하는데 사용된다. 또한, 설정된 축에 대해서 센서의 움직임이 측정될 때, 유효한 움직임(동작, 제스처)인지 판단하기 위한 민감도 설정 단계를 거칠 수 있다. 이는, 사용자에 따라 하나의 제스처를 그리는 크기(scale)가 다르기 때문에. 센서의 움직임에 따라 제스처와 비제스처를 구분하기 위해서 민감도를 설정하는 것이 바람직하다. 이는 컴퓨터에서의 마우스 민감도 조절과 같은 역할을 한다. 예를 들어, 가상평면에 평행한 제스처의 경우 캘리브레이션에서 설정한 화면크기의 1/3이상의 움직임에 대해서만 제스처로 인식하게끔 민감도 설정을 할 수 있다.
캘리브레이션을 반드시 해줄 필요 없이 민감도를 기본 값으로 설정해놓고 사용하는 것 역시 가능하다.
사용자는 외부기기와 시스템 연동 초기에 'L'자 모양과 같은 움직임을 입력함으로써 캘리브레이션을 수행할 수 있다. 이때,'L'이 그려진 평면을 사용자의 가상 필기 평면(가상평면)으로 인식할 수 있다. 또한,'L'이 그려진 평면을 인식하기 위해서 least square method를 사용할 수 있다. 또, 가속도 데이터를 적분하여 얻은 3차원 공간 좌표를 이용하여 least square method를 사용하면 하나의 가상 필기 평면을 인식할 수 있다. 또한, 'L'자 모양의 시작 축을 x축으로 설정한다면, 인식된 가상 필기 평면 위의 벡터 중에서 x축에 수직인 벡터를 y축으로 설정할 수 있으며, 가상 필기 평면에 수직인 축을 z축으로 설정할 수 있다.
이때, 본 발명의 일 실시예에 따른 상기 3차원 동작인식 정보입력 방법은 외부기기와 연동 시, 제스처 모드로 시작되는 것을 특징으로 할 수 있다. 이는, 외부기기와 연결 시 어떤 모드로 시작될지 모르기 때문에 혼선을 줄이기 위함이고, 더욱이, 직관적인 동작으로 외부기기를 용이하게 컨트롤하기 위함이다. 위에서 외부기기와 연결 시 제스처 모드로 시작되는 것을 예로 들었으나, 본 발명이 이에 한정되는 것은 아니며, 마우스 모드, 블랭크 모드 또는 필기 모드로 시작되는 것 역시 가능하다.
유효움직임판단 단계(S20)는 상기 통합관리부(200)에 의해, 상기 캘리브레이션 단계(S10)에서 설정된 민감도 정보를 근거로 유효 움직임을 판단한다.
유효 움직임을 판단하는 것은 잡음을 걸러내기 위한 것으로, 사소한 움직임을 걸러내기 위한 것이다.
모드선택명령판단 단계(S30)는 상기 통합관리부(200)에 의해, 상기 유효움직임 판단 단계(S20)에서 유효 움직임으로 판단되면, 미리 결정된 모드선택명령에 해당되는 움직임인지 판단한다.
이때, 상기 모드선택명령판단 단계(S30)는 움직임입력부(100)의 중심을 기준으로 가상평면에 수직한 축을 중심으로 소정의 각도로 회전했다가 반대방향으로 일정각도 이상 되돌아오는 동작이 통합관리부(200)에 감지되면 이를 모드선택명령으로 인식하는 것을 특징으로 할 수 있다.
예를 들어, 센서의 중심을 기준으로 가상평면에 수직한 축을 중심으로 180도 회전했다가 다시 원래대로 되돌아오는 동작이 감지되면 동작 인식부는 모드 전환으로 인식할 수 있다. 이는 원을 그리는 형태와는 달리 센서의 가속도 값은 거의 변하지 않는 상태에서 pitch, roll, yaw의 값만 변하는 것으로 감지할 수 있다.
이는, 로터리스위치(rotary switch)를 작동시는 동작을 형상화 한 것으로, 직관적으로 모드선택과 연관성이 있기 때문이다. 위에서 모드선택명령의 일 예를 들었으나, 본 발명이 이에 한정되는 것은 아니며, 다른 동작을 모드선택명령으로 지정하여 사용하는 것 역시 가능하다.
즉, 본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 방법에서, 사용자는 마우스 모드, 필기 모드, 제스처 모드, 블랭크 모드 중 어느 하나의 모드로 모드를 전환하기 위해, 별도의 제스처를 통해 모드를 변경할 수 있다.
명령수행 단계(S40)는 상기 통합관리부(200)에 의해, 상기 모드선택명령판단 단계(S30)에서 모드선택명령에 해당되는 움직임으로 판단되면, 상기 미리 결정된 모드선택명령에 따라 제스처 모드, 마우스 모드, 블랭크 모드, 필기 모드 중 선택되는 어느 하나의 모드가 결정되고, 모드선택명령에 해당되는 움직임이 아니라고 판단되면, 미리 설정된 동작 정보와 비교하여 해당되는 명령에 따라 외부기기를 제어한다.
다음으로, 각각의 모드들에 대해 더욱 상세하게 설명하도록 한다.
상기 명령수행 단계(S40)는 제스처 모드인 경우, 움직임입력부(100) 동작을 분석하여, 가상 평면 위에서의 동작, 가상 평면에 수직한 동작 및 이 두 가지를 조합한 동작이 감지되면, 미리 저장된 제스처명령에 해당되는 동작인지 확인하고, 확인된 제스처명령에 따라 외부기기를 제어하는 것을 특징으로 하되, 미리 저장된 제스처명령은 시작점에서 동작을 수행한 뒤 다시 시작점 방향으로 일정거리 이상 되돌아오는 형태의 동작인 것을 특징으로 할 수 있다.
예를 들어, 어떤 축에 대해서 이동거리에 대해 다시 이동거리의 2/3 이상 되돌아오는 동작이 감지될 경우 유효한 제스처로 인식하도록 설정할 수 있다. x, y, z축 중 2개 이상의 축의 움직임 정보를 이용하는 제스처의 경우 진행한 모든 축에 대해서 되돌아오는 동작이 감지되어야만 제스처로 인식되도록 하는 것이 바람직하다. 만약 부분적인 축에 대해서만 되돌아오는 동작이 감지된 경우, 이 축에 대한 제스처로만 해석할 수 있다. 부분적인 축에 대해서만 되돌아오는 동작이 감지된 경우, 진행한 방향 직후 되돌아 와야만 유효한 제스처로 해석하는 것이 바람직하다.
제스처 모드는 화면 on/off, 음량 조절과 같은 기기의 상태를 제어하거나 스크롤, 슬라이드 넘기기, 확대/축소와 같은 기기의 화면 출력 범위를 제어하기 위해서 사용 가능한 모드로, 센서의 움직임 정보를 해석하여 미리 설정된 동작 정보정보와 비교하여 해당하는 제어 정보(제어명령)로 기기를 제어할 수 있다.
제스처 판단을 위한 가상평면은 지면에 평행하거나 수직하게 잡을 수 있다. 이전에 사용하던 가상평면에 대하여 제스처로 판단된 동작에 대해서는 가상평면을 업데이트 해주지 않는 것이 바람직하다. 그리고 제스처가 아닌 동작에 대해서는 동작이전의 센서의 자세와 동작이후의 센서의 자세를 비교해 가상평면을 변화시켜줄 수 있다. 이 때, 센서의 자세판단에 roll 값(손가락이 가리키는 축에 대한 회전각도)은 사용하지 않는 것이 바람직하다. 즉, 기존의 가상평면의 x축이 지면에 평행하다면 이를 계속 유지하는 것이 바람직하다.
예를 들어, 가상평면이 지면에 수직하고 사용자의 정면에 있을 때, 사용자가 왼쪽 방향으로 90도 돌았다고 가정해보면 센서의 움직임이 왕복성을 보이지 않기 때문에 제스처로서 인식하지 않는다. 이 상황을 도 4에 도시하였다. 가상평면의 x,y 축을 벡터로 표현함으로써 가상평면을 표현하고, 파란색 화살표는 이동경로를 나타낸다. 이 때, yaw가 90도만큼 바뀌었으므로 가상평면을 구성하는 벡터를 회전한 각도만큼 rotation시켜준다. 여기서 y축은 (0,0,1)을 유지하고 x축은 (1,0,0)에서 (0,1,0)으로 rotation 되었다. rotation식에 사용하는 행렬은 기존에 사용하던 rotation 행렬과 동일하다.
여기서, 동작 때마다 가상평면을 업데이트하지 않는 것이 사용자가 방향을 바꾸지 않은 채로 사용할 때가 자주 있기 때문에 바람직하며, 동작 때마다 가상평면을 업데이트하는 것은 비효율적이다. 그리고 가상평면의 변환에 roll값을 제외한 것은 좌우로 화면을 넘기는 제스처의 경우에는 손바닥이 사용자의 옆을 향한 채로 사용해도 불편함이 없기 때문에 항상 사용자의 손바닥이 바닥을 향하지 않을 수 있다. 이 경우 같은 가상평면에 축만 바뀔 수 있기 때문에 센서의 축으로만 가상평면을 만들지 않는 것이 바람직하다.
제스처 모드의 동작 알고리즘은 도 5에 도시된 바와 같은 예를 들 수 있다.
가상평면 생성 시 손가락 자세에 따라 좌우 방향을 결정할 수 있다. 예를 들어, z축과 중력가속도의 방향이 일치할 경우, +x축 방향을 사용자의 오른쪽으로 판단 할 수 있다.
오른손잡이의 경우, 제스처모드에서 좌우 화면 넘기기 제스처에 대한 손가락 자세 가상평면에 대하여 제스처 판단 알고리즘은 도 6에 도시된 바와 같다.
이는, 미세한 움직임을 제스처로 판단하지 않기 위해 움직인 거리를 외부기기의 화면에 매칭 시켰을 때의 화면 크기의 일정비율 이상 움직였을 때를 제스처로 인식할 수 있도록 한다. 그리고 가상평면에 대하여 어느 축 방향(ex) +x, -x...)으로 움직였는지 판단하고 그에 대하여 일정시간 이내에 반대 방향으로의 이동(예를 들어, +x축 방향으로 움직임을 시작한 경우, -x축으로의 이동이 발생)이 발생하면 이를 하나의 제스처로서 인식한다.
상기 명령수행 단계(S40)는 마우스 모드인 경우, 움직임입력부(100) 동작을 분석하여, 가상 평면에 수직인 동작을 인식할 경우 클릭 또는 터치 이벤트를 발생시키고, 가상 평면 위에서의 동작을 인식할 경우 외부기기 화면에 표시된 마우스 커서의 움직임을 제어하는 것을 특징으로 할 수 있다.
마우스 모드는 외부기기 화면에 표시된 마우스 커서의 움직임을 제어할 수 있고, 손가락 동작을 분석하여 사용자의 터치 동작을 인식했을 때 터치 이벤트를 발생시킬 수 있다.
예를 들어, 센서의 z축 방향의 움직임을 제거한 나머지 움직임에 대하여 주기적으로 구한 에러가 가장 작은 평면에 최근의 3축 움직임 데이터 일정량을 정사영 시키고, 이 값과 설정한 민감도를 비교하여 센서의 움직임에 비례하는 만큼 마우스를 이동을 제어할 수 있다.
또한, 센서의 움직임에 따라 주기적으로 가상 필기 평면(가상평면)에 대한 정보를 업데이트하고, 이 정보는 가상평면관리부(210)로 전달되어 가상평면관리부(210)가 관리할 수 있다.
마우스 모드는 센서(움직임입력부(100))가 z축 방향으로 가상평면에 들어가는 방향으로 진행한 후, 다시 가상평면에서 나오는 방향으로 진행하는 동작이 인식될 경우, 터치 이벤트가 발생했다고 해석할 수 있다. 더블클릭 또는 더블터치는 클릭/터치에 해당하는 동작이 연달아 두 번 수행되었을 때 더블클릭으로 해석할 수 있다. 가상 평면의 z축으로 들어가는 동작 수행 후 제자리로 왕복하지 않고 가상 평면위에서의 움직임이 있는 경우 드래그 동작으로 해석한 후, 다시 제자리로 복귀했을 때 터치가 해제되었다고 해석할 수 있다.
마우스 모드는 손가락이 가리키는 방향의 축(센서를 손가락 위에 올렸을 때, 센서의 y축의 방향과 일치)으로 왕복하는 이동(터치 동작 등) 및 왕복하지 않는 이동은 마우스의 이동에 해당되지 않기 때문에 이를 제외시켜주는 것이 바람직하다. 즉, 센서의 y축 가속도 데이터를 제외한 데이터에 주기적으로 least square method를 이용해 가상평면을 구하는 것이 바람직하다. 이 가상평면의 x축의 방향(사용자의 좌우)에 대한 판단은 센서의 축을 기준으로 할 수 있으며, 구한 가상평면에 데이터를 정사영시킴으로써 마우스의 이동을 표현하는 것이 가능하다.
마우스 커서의 이동은 IMU 센서에서 측정된 각도 변화량을 이용해 제어할 수 있다. 다시 말해, 사용자가 센서를 손 또는 손가락에 부착하여 상하, 좌우로 움직일 때 센서 각 축에 대한 각도의 변화량을 측정하고, 이 값과 설정한 민감도를 비교하여 센서의 움직임에 비례하는 만큼 마우스의 이동을 제어할 수 있다.
예를 들어, 센서의 y축이 사용자의 정면을 가리키고 있는 경우 사용자 기준의 좌우 움직임은 yaw, 상하 움직임은 roll 값의 변화로 감지할 수 있다. 기기와 센서가 연동을 시작할 때에 yaw, roll 값을 저장하여 이 값에 해당하는 방향을 사용자의 정면으로 인식하고, 이를 기준으로 이후 발생하는 각도의 변화를 누적하면 센서가 움직인 방향을 인식하여 마우스 커서를 제어할 수 있다.
각도 변화량이 동일하게 측정된 경우에도 센서의 이동거리는 다른 경우가 존재한다.
이를 반영하기 위해 측정된 각도의 변화량에 가속도를 적분해 얻은 이동거리를 곱합으로써 이동거리에 대한 가중치를 표현하고, 같은 각도의 움직임일 때에도 이동거리에 따라 마우스 커서의 움직임을 다르게 제어할 수 있다. 또한 각도변화 데이터의 부호가 바뀌는 지점을 방향전환지점으로 판단하여 이 지점에서의 가속도를 적분하여 얻는 속도 데이터를 0으로 만들어주고, 이를 이용하면 가속도 적분 값에 대한 누적 에러를 줄여 측정한 이동거리에 대한 오차를 줄일 수 있다.
상기 명령수행 단계(S40)는 블랭크 모드인 경우, 모드선택명령만 수행하는 것을 특징으로 할 수 있다.
블랭크 모드는 화면을 켜놓은 상태에서 제스처, 필기, 마우스 커서의 이동 등을 인식하지 않도록 하는 모드로, 모드 전환을 제외한 다른 움직임에 대한 움직임은 해석되지 않는다.
즉, 모드 전환에 필요한 모드선택명령에 해당되는 움직임(자이로 센서 값의 변화)이 감지 되었을 때 모드선택명령만 수행한다.
블랭크 모드는 모드변환 동작 후의 센서의 축에 맞춰 새로운 가상평면 생성할 수 있다. 모드변환 동작 후에 손바닥이 아래를 향하게 되는 것이 일반적이며, 이 때 손가락이 향하는 방향을 사용자의 정면으로 생각하고 가상평면을 생성하는 것이 바람직하다. 가상평면 생성의 원리는 아래와 같다.
정지 상태에서 움직임이 시작될 때, 손가락이 향하는 방향을 사용자의 정면으로 생각하고 가상평면을 생성할 수 있다. 생성할 가상평면의 축은 지면에 평행한 축과 수직한 축으로 만들어진다. 예를 들어, 새로운 가상평면을 만들 때, 가상평면의 y축은 중력가속도의 방향과 일치시켜준다. 그리고 가상평면의 좌우(+x, -x)방향은 센서의 축을 기준으로 손가락이 향하는 축(센서의 y축)과 중력가속도 방향과 일치하는 축을 제외한 축에 의해 결정될 수 있다. 예를 들어, 중력가속도의 방향과 센서의 z축이 일치한다면 센서의 x축이 가상평면의 좌우를 결정해준다.
상기 명령수행 단계(S40)는 필기 모드인 경우, 3차원 공간에서의 타이핑 또는 필기를 인식하여 대응하는 글자 또는 필기가 입력되는 것을 특징으로 할 수 있다.
필기모드는 외부기기 화면에서 키보드 또는 터치식 키보드 등을 통해 입력할 수 있는 입력창에 사용자가 마우스 커서를 이용하여 클릭하거나, 모드선택명령을 통해 필기모드로 전환될 수 있다.
필기모드는 사용자의 3차원 공간에서의 필기를 인식하여, 이에 대응하는 글자를 인식한다. 이는 필기인식부를 통해 이루어질 수 있다.
필기모드는 한글, 영문 소문자, 영문 대문자 및 '!', '?', '^', '.' 등의 특수문자 등을 입력할 수 있고, 공백과 줄 바꿈 등도 입력이 가능하다.
예를 들어, 필기 모드에서, 문자와 문자의 구분은 사용자가 한 문자를 필기한 후 일정 시간동안 정지해 있음으로써 인식하도록 할 수 있다. 즉, 한 문자를 필기한 후 일정 초 이상 가속도 데이터가 측정되지 않을 때 하나의 문자에 대한 입력이 끝난 것으로 해석할 수 있다.
필기 모드에서, 가상 평면 관리부는 한 문자마다 가상평면 정보를 업데이트 할 수 있다. 하나의 문자에 대한 입력이 완료되었을 때 least square method를 통해 가상평면을 인식할 수 있다. 이 가상평면의 x축의 방향(사용자의 좌우)에 대한 판단은 센서의 축을 기준으로 할 수 있으며, 그 가상평면에 정사영시킨 데이터에 대하여 문자를 판별할 수 있다.
필기 모드는 가상 평면위에 인식된 사용자의 필기 데이터를 정사영시켜 문자를 인식할 수 있다. 공백과 줄 바꿈은 제스처 모드에서 사용하는 동작과 동일하다.
필기 모드에서 사용자는 필기가 끝난 경우, 모드선택명령을 통해 입력창을 빠져나갈 수 있다.
다음으로, 각각의 센서에 이동을 추적하는 방법의 일 실시예에 대해 더욱 상세하게 설명하도록 한다.
yaw, roll, pitch가 모두 0인 위치에서 센서의 축을 지면에 대한 축으로 인식한다. 그리고 이는 센서의 움직임에 상관없이 변하지 않는 축이다.
가속도 센서에서 측정한 가속도 데이터는 중력 가속도를 포함하고 있는 값으로, 시스템은 노이즈 및 중력 가속도를 제거하는 신호 전처리 단계를 갖는다. 중력 가속도를 제거한 가속도 데이터를 얻는 식은 다음과 같다.
(센서 기준의) x축 가속도 = (중력 가속도를 포함한 센서 기준의) x축 가속도 - 중력 가속도 * sin(pitch)
(센서 기준의) y축 가속도 = (중력 가속도를 포함한 센서 기준의) y축 가속도 - 중력 가속도 * sin(roll)
(센서 기준의) z축 가속도 = (중력 가속도를 포함한 센서 기준의) z축 가속도 - 중력 가속도 * cos(pitch) * cos(roll)
센서 기준의 축으로 가속도를 측정해 센서의 이동을 추적하는 것은 센서가 움직임에 따라 축이 계속해서 바뀌기 때문에 센서의 움직임에 따라 바뀌지 않는 축이 필요하다. 따라서 yaw, roll, pitch가 모두 0인 위치에서 센서의 축을 사용한다. 이 축은 센서의 움직임에 상관없이 변하지 않는 축이다. 센서의 축을 yaw, roll, pitch가 0이 되도록 rotation시켜준다.
(지면에 대한) x축 가속도 = cos(-yaw)*cos(-pitch)*(센서 기준의) x축 가속도 + ( cos(-yaw)*sin(-pitch)*sin(-roll) - sin(-yaw)*cos(-roll) )*(센서 기준의) y축 가속도 + ( cos(-yaw)*sin(-pitch)*cos(-roll) + sin(-yaw)*sin(-roll) )*(센서 기준의) z축 가속도
(지면에 대한) y축 가속도 = sin(-yaw)*cos(-pitch)*(센서 기준의) x축 가속도 + ( sin(-yaw)*sin(-pitch)*sin(-roll) + cos(-yaw)*cos(-roll) )*(센서 기준의) y축 가속도 + ( sin(-yaw)*sin(-pitch)*cos(-roll) - cos(-yaw)*sin(-roll) )*(센서 기준의) z축 가속도
(지면에 대한) z축 가속도 = -sin(-pitch)*(센서 기준의) x축 가속도 + cos(-pitch)*sin(-roll) *(센서 기준의) y축 가속도 + cos(-pitch)*cos(-roll)*(센서 기준의) z축 가속도
가상평면에 대한 축은 지면에 대한 축을 기준으로 구한 데이터에 대하여 벡터 형식으로 표현한다.
[실시예]
본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 장치 및 방법은 움직임입력부(100)의 3차원 공간에서 사전에 규정된 동작(모드선택명령, 해당 모드에서 규정된 제어명령)으로 센서를 움직임으로써 외부기기를 제어할 수 있다. 모드선택명령 또는 해당 모드에서 규정된 제어명령은 설정된 가상 평면 위에서 센서의 움직임을 표현하는 2차원 동작과 이 평면에 수직한 동작으로 구분할 수 있다. 일반적으로 사용자는 마우스 또는 타블렛 PC로 입력하는 것과 같은 2차원에서의 움직임에 익숙하기 때문에 대부분의 제스처는 가상평면 위에서 수행할 수 있도록 하고 클릭과 같은 명령어는 수직한 방향의 움직임으로 정의함으로써 직관적으로 기기를 제어할 수 있도록 제스처를 명령어에 대응시킬 수 있다.
도 7은 모드에 따른 정보 입력 방법 알고리즘을 도시한 것이다.
모드선택명령 또는 해당 모드에서 규정된 제어명령을 인식하기 위해서는 먼저 센서의 움직임 데이터가 사용자가 제스처를 수행하여 발생한 것인지, 혹은 사용자의 이동이나 팔, 손의 움직임으로 생긴 비제스처 움직임인지를 판단해야 한다. 이는 명령처리부(230)에 포함된 유효움직임인식부(미도시)에서 기기 연동 초기에 설정한 민감도 정보를 통해 유효 움직임인지를 판단할 수 있다. 이를 위해, 유효움직임인식부(미도시)의 유효움직임으로 판단하는 가속도의 기준 값을 설정할 수 있다. 센서가 움직여 가속도 데이터가 발생했을 때 3축의 가속도의 절대값 중 유효움직임 기준 값보다 큰 가속도가 관측되었을 때 사용자가 모드선택명령 또는 해당 모드에서 규정된 제어명령을 취한 것으로 인식하고 제스처 인식을 수행한다.
유효움직임판단 단계(S20)에서 유효한 제스처로 인식 된 경우, 센서 가속도를 적분하여 추출한 센서 움직임 데이터가 규정된 제스처의 움직임 방향과 일치하는 목록이 있는지 확인한다. 사전에 정의된 제스처의 종류는 도 8과 같이 정의할 수 있다. 도 8의 화살표(실선)는 xy평면에서의 움직임을 나타내며, 두꺼운 화살표는 xy 평면에 수직 방향으로의 움직임을 나타내고, 원 안의 화살표는 센서의 중심을 축으로 회전하는 움직임(가속도 센서의 데이터는 0에 가깝고 자이로 센서의 값이 존재하는 경우)을 나타내며, 화살표 하나로 된 원은 xy 평면에서의 회전 움직임을 나타내고, 화살표 두 개로 된 원은 연속적 회전 움직임을 나타낸다. 이는, 제스처와 비제스처 사이의 구분이 쉽게 가능하고, 연속된 제스처를 입력할 때 발생하는 제스처 분리 문제를 해결하기 위해 제스처의 처음과 끝의 위치가 일치하는 동작을 정의하기 위함이다. 또한, 되돌아 올 때 발생하는 가속도 패턴은 단방향으로 진행할 때보다 검출하기 용이하기 때문에 비제스처 동작의 오경보(false alarm) 확률을 줄일 수 있다.
동작인식을 통해 모션(제스처)와 명령어를 대응시키는 것은 사용자에 따라서 다르게 지정할 수 있지만, 스마트 기기, 웨어러블 장치 또는 PC에서 사용하는 주요 명령어에 지정하여 사용할 수 있다. 주요 명령어는 좌(이전 슬라이드), 우(다음 슬라이드), 상(음량 업), 하(음량 다운), 클릭, 더블 클릭, 확대/축소, 홈 버튼, 이전 버튼, 메뉴 버튼, 화면 on/off 등이다.
클릭에 해당하는 동작의 경우 센서를 손가락에 부착하고 있는 상태에서 마우스를 클릭하는 동작과 유사한 z축으로의 움직임을 통해 구현할 수 있다. 더블클릭은 클릭 제스처를 연달아 수행함으로써 구현할 수 있다. 클릭과 반대되는 동작 즉, 사용자의 몸 쪽으로 먼저 진행하였다가 다시 앞쪽으로 센서를 움직이는 동작은 스마트 기기의 '이전' 버튼과 대응하여 사용할 수 있다. 이는 마우스 이동모드에서도 유효한 제스처이다. 또한 상하 스크롤 명령과 음량 up/down을 구분하기 위해 상대적으로 적게 사용되는 음량 up/down 기능은 z축 움직임을 추가하여 사용할 수 있다. 홈 버튼은 센서가 가상평면에 들어가는 방향으로 진행 후 원을 그렸을 때 인식되고, 확대 또는 축소는 가상평면 위에서 시계 방향 또는 반시계 방향으로 원을 그릴 때 인식하도록 설정할 수 있다.
본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 방법은 움직임입력부(100)의 이동에 따라 가상평면이 이동되는 것을 특징으로 할 수 있다.
즉, 사용자의 자세가 바뀌어 움직임입력부(100)의 중심 축이 바뀌면, 그에 따라 가상평면도 갱신 시킬 수 있다.
이상에서 본 발명의 일 실시예에 따른 3차원 동작인식 정보입력 방법에 대하여 설명하였지만, 상술한 3차원 동작인식 정보입력 방법은 이를 구현하기 위한 명령어들의 프로그램이 유형적으로 구현됨으로써, 컴퓨터를 통해 판독될 수 있는 기록매체에 포함되어 제공될 수도 있음을 당업자들이 쉽게 이해할 수 있을 것이다. 다시 말해, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어, 컴퓨터 판독 가능한 기록매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 상기 컴퓨터 판독 가능한 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리, USB 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 컴퓨터 판독 가능한 기록매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명은 상기한 실시예에 한정되지 아니하며, 적용범위가 다양함은 물론이고, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 다양한 변형 실시가 가능한 것은 물론이다.
100: 움직임입력부 110: 센서부
120: 무선통신부 130: 전원부
200: 통합관리부 210: 가상평면관리부
220: 동작인식부 230:명령처리부
S10: 캘리브레이션 단계
S20: 유효움직임판단 단계
S30: 모드선택명령판단 단계
S40: 명령수행 단계

Claims (11)

  1. 손 또는 손가락에 관성센서가 포함된 입력장치를 휴대하여 공간상에서의 움직임을 인식하는 3차원 동작인식 정보입력 장치에 있어서,
    3축 가속도 센서와 3축 자이로 센서, 3축 지자기 센서가 포함된 IMU(Inertial Measurement Unit, 관성 측정 장치) 센서 모듈로 구성된 센서부(110), 외부기기와의 무선 네트워크 통신을 위한 무선통신부(120), 상기 센서부(110) 및 무선통신부(120)에 전원을 공급하는 전원부(130)를 포함하는 움직임입력부(100); 및
    상기 무선통신부(120)로부터 무선 네트워크를 통해 전달받은 신호를 분석하고 외부기기를 제어하는 통합관리부(200);
    를 포함하며,
    상기 통합관리부(200)는 상기 센서부(110)로부터 센싱된 정보를 근거로, 제스처 모드, 마우스 모드, 블랭크 모드, 필기 모드 중 선택되는 어느 하나의 모드를 판단하고, 해당 모드에서 규정된 제어명령을 외부기기로 전송하는 것을 특징으로 하는 3차원 동작인식 정보입력 장치.
  2. 제1항에 있어서,
    상기 통합관리부(200)는
    외부기기와 연결 시 캘리브레이션에 의해 가상평면을 생성하고, 상기 움직임입력부(100)의 이동에 따라 상기 가상평면을 이동시키는 가상평면관리부(210);
    상기 움직임입력부(100)로부터 움직임이 감지되면, 미리 설정된 민감도 정보 및 미리 설정된 동작 정보를 근거로 유효 움직임을 판단하는 동작인식부(220); 및
    상기 동작인식부(220)에 의해 유효 움직임으로 판단되면, 유효 움직임에 해당되는 명령이 있는지 확인하고, 유효 움직임에 해당되는 명령이 있을 경우, 해당 명령에 따라 상기 외부기기를 제어하는 명령처리부(230);
    를 포함하는 3차원 동작인식 정보입력 장치.
  3. 센서부(110), 무선통신부(120) 및 전원부(130)를 포함하는 움직임입력부(100) 와 가상평면관리부(210), 동작인식부(220) 및 명령처리부(230)를 포함하는 통합관리부(200)를 포함하며, 손 또는 손가락에 움직임입력부(100)를 휴대하여 공간상에서의 움직임을 인식하는 3차원 동작인식 정보입력 방법에 있어서,
    상기 통합관리부(200)에 의해, 외부기기와 연결 시 또는 미리 결정된 캘리명령이 입력되면, 민감도(움직임입력부(100)의 움직임과 외부기기에서의 움직임의 비율) 정보를 외부기기에 맞추어 조정하고, 가상평면을 생성하며, 가상 평면의 x, y, z축을 설정하는 캘리브레이션 단계(S10);

    상기 통합관리부(200)에 의해, 상기 캘리브레이션 단계(S10)에서 설정된 민감도 정보를 근거로 유효 움직임을 판단하는 유효움직임판단 단계(S20); 및
    상기 통합관리부(200)에 의해, 상기 유효움직임 판단 단계(S20)에서 유효 움직임으로 판단되면, 미리 결정된 모드선택명령에 해당되는 움직임인지 판단하는 모드선택명령판단 단계(S30); 및
    상기 통합관리부(200)에 의해, 상기 모드선택명령판단 단계(S30)에서 모드선택명령에 해당되는 움직임으로 판단되면, 상기 미리 결정된 모드선택명령에 따라 제스처 모드, 마우스 모드, 블랭크 모드, 필기 모드 중 선택되는 어느 하나의 모드가 결정되고, 모드선택명령에 해당되는 움직임이 아니라고 판단되면, 미리 설정된 동작 정보와 비교하여 해당되는 명령에 따라 외부기기를 제어하는 명령수행 단계(S40);
    를 포함하는 3차원 동작인식 정보입력 방법.
  4. 제3항에 있어서,
    상기 3차원 동작인식 정보입력 방법은
    외부기기와 연동 시, 제스처 모드로 시작되는 것을 특징으로 하는 3차원 동작인식 정보입력 방법.
  5. 제3항에 있어서,
    상기 모드선택명령판단 단계(S30)는
    움직임입력부(100)의 중심을 기준으로 가상평면에 수직한 축을 중심으로 소정의 각도로 회전했다가 반대방향으로 일정각도 이상 되돌아오는 동작이 통합관리부(200)에 감지되면 이를 모드선택명령으로 인식하는 것을 특징으로 하는 3차원 동작인식 정보입력 방법.
  6. 제3항에 있어서,
    상기 명령수행 단계(S40)는
    제스처 모드인 경우,
    움직임입력부(100) 동작을 분석하여, 가상 평면 위에서의 동작, 가상 평면에 수직한 동작 및 이 두 가지를 조합한 동작이 감지되면, 미리 저장된 제스처명령에 해당되는 동작인지 확인하고, 확인된 제스처명령에 따라 외부기기를 제어하는 것을 특징으로 하되, 미리 저장된 제스처명령은 시작점에서 동작을 수행한 뒤 다시 시작점 방향으로 일정거리 이상 되돌아오는 형태의 동작인 것을 특징으로 하는 3차원 동작인식 정보입력 방법.
  7. 제3항에 있어서,
    상기 명령수행 단계(S40)는
    마우스 모드인 경우,
    움직임입력부(100) 동작을 분석하여, 가상 평면에 수직인 동작을 인식할 경우 클릭 또는 터치 이벤트를 발생시키고, 가상 평면 위에서의 동작을 인식할 경우 외부기기 화면에 표시된 마우스 커서의 움직임을 제어하는 것을 특징으로 하는 3차원 동작인식 정보입력 방법.
  8. 제3항에 있어서,
    상기 명령수행 단계(S40)는
    블랭크 모드인 경우,
    모드선택명령만 수행하는 것을 특징으로 하는 3차원 동작인식 정보입력 방법.
  9. 제3항에 있어서,
    상기 명령수행 단계(S40)는
    필기 모드인 경우,
    3차원 공간에서의 타이핑 또는 필기를 인식하여 대응하는 글자 또는 필기가 입력되는 것을 특징으로 하는 3차원 동작인식 정보입력 방법.
  10. 제3항에 있어서,
    상기 3차원 동작인식 정보입력 방법은
    움직임입력부(100)의 이동에 따라 가상평면이 이동되는 것을 특징으로 하는 3차원 동작인식 정보입력 방법.
  11. 제 3항 내지 제 10항 중 선택되는 어느 한 항에 기재된 3차원 동작인식 정보입력 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체.
KR1020140089577A 2014-07-16 2014-07-16 3차원 동작인식 정보입력 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 KR101609553B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140089577A KR101609553B1 (ko) 2014-07-16 2014-07-16 3차원 동작인식 정보입력 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140089577A KR101609553B1 (ko) 2014-07-16 2014-07-16 3차원 동작인식 정보입력 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체

Publications (2)

Publication Number Publication Date
KR20160009291A true KR20160009291A (ko) 2016-01-26
KR101609553B1 KR101609553B1 (ko) 2016-04-06

Family

ID=55307306

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140089577A KR101609553B1 (ko) 2014-07-16 2014-07-16 3차원 동작인식 정보입력 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체

Country Status (1)

Country Link
KR (1) KR101609553B1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101887314B1 (ko) * 2017-12-14 2018-08-09 세종대학교산학협력단 무인 항공기의 원격 제어 장치 및 방법과, 무인 항공기에 부착되는 움직임 제어 장치
US10372230B2 (en) 2016-10-31 2019-08-06 Center For Integrated Smart Sensors Foundation User interface device using transmission and reception of ultrasonic signals
US10545495B2 (en) 2017-12-14 2020-01-28 Industry Academy Cooperation Foundation Of Sejong University Remote control device and method for UAV and motion control device attached to UAV
KR20200011045A (ko) * 2020-01-21 2020-01-31 주식회사 에스지엠 사용자의 동작을 보여주는 워킹머신 시스템
WO2020075898A1 (ko) * 2018-10-08 2020-04-16 네오에스티(주) 골프 스윙 연습 장치, 방법 및 기록매체
WO2020091530A1 (ko) * 2018-11-02 2020-05-07 삼성전자 주식회사 디스플레이의 동작 모드에 기반하여 터치 데이터의 보상을 결정하는 방법 및 장치
US11314814B2 (en) 2018-05-21 2022-04-26 Samsung Electronics Co., Ltd. Method for sharing content based on account group and electronic device for performing same

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180005644A (ko) * 2017-12-27 2018-01-16 주식회사 인투씨앤씨 자이로 센서와 가속 센서가 부착된 스마트 폰을 이용한 데스크탑 pc의 전자칠판 프로그램의 제어
KR102122647B1 (ko) * 2018-07-09 2020-06-12 서울과학기술대학교 산학협력단 제스쳐 인식 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100509913B1 (ko) 2003-06-02 2005-08-25 광주과학기술원 다중 형식 입력 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100509913B1 (ko) 2003-06-02 2005-08-25 광주과학기술원 다중 형식 입력 장치 및 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10372230B2 (en) 2016-10-31 2019-08-06 Center For Integrated Smart Sensors Foundation User interface device using transmission and reception of ultrasonic signals
KR101887314B1 (ko) * 2017-12-14 2018-08-09 세종대학교산학협력단 무인 항공기의 원격 제어 장치 및 방법과, 무인 항공기에 부착되는 움직임 제어 장치
US10545495B2 (en) 2017-12-14 2020-01-28 Industry Academy Cooperation Foundation Of Sejong University Remote control device and method for UAV and motion control device attached to UAV
US11314814B2 (en) 2018-05-21 2022-04-26 Samsung Electronics Co., Ltd. Method for sharing content based on account group and electronic device for performing same
WO2020075898A1 (ko) * 2018-10-08 2020-04-16 네오에스티(주) 골프 스윙 연습 장치, 방법 및 기록매체
WO2020091530A1 (ko) * 2018-11-02 2020-05-07 삼성전자 주식회사 디스플레이의 동작 모드에 기반하여 터치 데이터의 보상을 결정하는 방법 및 장치
US11747880B2 (en) 2018-11-02 2023-09-05 Samsung Electronics Co., Ltd. Method and device for determining compensation for touch data on basis of operating mode of display
KR20200011045A (ko) * 2020-01-21 2020-01-31 주식회사 에스지엠 사용자의 동작을 보여주는 워킹머신 시스템

Also Published As

Publication number Publication date
KR101609553B1 (ko) 2016-04-06

Similar Documents

Publication Publication Date Title
KR101609553B1 (ko) 3차원 동작인식 정보입력 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체
US11243617B2 (en) Multi-function stylus with sensor controller
EP2972669B1 (en) Depth-based user interface gesture control
US8570273B1 (en) Input device configured to control a computing device
US9007299B2 (en) Motion control used as controlling device
US9946345B2 (en) Portable terminal and method for providing haptic effect to input unit
US10503373B2 (en) Visual feedback for highlight-driven gesture user interfaces
US10042438B2 (en) Systems and methods for text entry
EP2538309A2 (en) Remote control with motion sensitive devices
US20120208639A1 (en) Remote control with motion sensitive devices
US8810511B2 (en) Handheld electronic device with motion-controlled cursor
KR20140060818A (ko) 원격 제어 장치, 디스플레이 장치 및 그 제어 방법
CN102934060A (zh) 虚拟触摸接口
EP2752831B1 (en) Input device, display device and method of controlling thereof
CN205050078U (zh) 一种可穿戴设备
EP2538308A2 (en) Motion-based control of a controllled device
US20170199586A1 (en) Gesture control method for interacting with a mobile or wearable device utilizing novel approach to formatting and interpreting orientation data
Reitmayr et al. iorb-unifying command and 3d input for mobile augmented reality
KR101602167B1 (ko) 손목 움직임 기반 가상현실 메뉴 제어 시스템 및 방법
KR101231105B1 (ko) 휴대기기의 ui를 위한 모션 센서 제어 시스템 및 그 방법
KR101759829B1 (ko) 센서를 이용하는 인터페이싱 방법, 웨어러블 디바이스 및 사용자 단말
EP2677401B1 (en) Image data generation using a handheld electronic device
KR101219292B1 (ko) 표시부를 구비한 핸드 헬드 기기 및 상기 표시부에 표시되는 객체를 탐색하는 방법
KR20200065732A (ko) 사용자 정의 기반 모양 패턴 인식 인터페이스 제공 장치 및 방법
CN112987923A (zh) 用于设备交互的方法、装置、设备和存储介质

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
FPAY Annual fee payment

Payment date: 20190211

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200128

Year of fee payment: 5